From ba06f91049924d0d0595f4530af82fb38bab20d9 Mon Sep 17 00:00:00 2001 From: "tony.ren" Date: Wed, 23 Oct 2024 11:23:52 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=A0=E9=99=A4=E5=AF=86=E9=92=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 4 - .vscode/settings.json | 6 - CONTRIBUTING.md | 1 + LICENSE.txt | 19 - README | 2 +- README.md | 385 +++++++++-- alpha/__init__.py | 11 - alpha/asset.py | 49 -- alpha/bbo.py | 53 -- alpha/config.py | 82 --- alpha/const.py | 29 - alpha/contractelements.py | 79 --- alpha/depth.py | 56 -- alpha/detail.py | 67 -- alpha/error.py | 24 - alpha/heartbeat.py | 84 --- alpha/kline.py | 78 --- alpha/market.py | 83 --- alpha/markettrade.py | 63 -- alpha/order.py | 105 --- alpha/orderbook.py | 61 -- .../restapi/rest_account_coin_future.py | 429 ------------ .../restapi/rest_account_sync.py | 97 --- .../restapi/rest_market_coin_future.py | 251 ------- .../restapi/rest_market_sync.py | 50 -- .../restapi/rest_reference_coin_future.py | 383 ---------- .../restapi/rest_reference_sync.py | 90 --- .../restapi/rest_strategy_coin_future.py | 482 ------------- .../restapi/rest_strategy_sync.py | 76 -- .../restapi/rest_trade_coin_future.py | 490 ------------- .../restapi/rest_trade_sync.py | 68 -- .../restapi/rest_transfer_coin_future.py | 143 ---- .../restapi/rest_transfer_sync.py | 20 - .../websocket/huobi_future_market.py | 428 ------------ .../websocket/huobi_future_trade.py | 598 ---------------- .../websocket/ws_account_coin_future.py | 13 - .../websocket/ws_index_coin_future.py | 12 - .../websocket/ws_market_coin_future.py | 12 - .../websocket/ws_system_coin_future.py | 9 - .../restapi/rest_account_coin_swap.py | 415 ----------- .../restapi/rest_account_sync.py | 93 --- .../restapi/rest_market_coin_swap.py | 261 ------- .../restapi/rest_market_sync.py | 54 -- .../restapi/rest_reference_coin_swap.py | 399 ----------- .../restapi/rest_reference_sync.py | 98 --- .../restapi/rest_strategy_coin_swap.py | 393 ----------- .../restapi/rest_strategy_sync.py | 80 --- .../restapi/rest_trade_coin_swap.py | 455 ------------ .../restapi/rest_trade_sync.py | 68 -- .../restapi/rest_transfer_coin_swap.py | 130 ---- .../restapi/rest_transfer_sync.py | 16 - .../huobi_coin_swap/websocket/__init__.py | 0 .../websocket/huobi_swap_market.py | 427 ------------ .../websocket/huobi_swap_trade.py | 600 ---------------- .../websocket/ws_account_coin_swap.py | 13 - .../websocket/ws_index_coin_swap.py | 12 - .../websocket/ws_market_coin_swap.py | 12 - .../websocket/ws_system_coin_swap.py | 10 - alpha/platforms/huobi_option/__init__.py | 0 .../huobi_option/huobi_option_api.py | 624 ----------------- .../huobi_option/huobi_option_market.py | 241 ------- .../huobi_option/huobi_option_trade.py | 614 ----------------- alpha/platforms/huobi_usdt_swap/__init__.py | 0 .../huobi_usdt_swap/restapi/__init__.py | 0 .../restapi/rest_account_sync.py | 98 --- .../restapi/rest_account_usdt_swap.py | 451 ------------ .../restapi/rest_cross_account_sync.py | 56 -- .../restapi/rest_cross_account_usdt_swap.py | 302 -------- .../restapi/rest_cross_reference_sync.py | 18 - .../restapi/rest_cross_reference_usdt_swap.py | 146 ---- .../restapi/rest_cross_strategy_sync.py | 76 -- .../restapi/rest_cross_strategy_usdt_swap.py | 463 ------------- .../restapi/rest_cross_trade_sync.py | 77 --- .../restapi/rest_cross_trade_usdt_swap.py | 557 --------------- .../restapi/rest_cross_transfer_sync.py | 17 - .../restapi/rest_cross_transfer_usdt_swap.py | 121 ---- .../restapi/rest_market_sync.py | 58 -- .../restapi/rest_market_usdt_swap.py | 294 -------- .../restapi/rest_reference_sync.py | 102 --- .../restapi/rest_reference_usdt_swap.py | 439 ------------ .../restapi/rest_strategy_sync.py | 76 -- .../restapi/rest_strategy_usdt_swap.py | 387 ----------- .../restapi/rest_trade_sync.py | 76 -- .../restapi/rest_trade_usdt_swap.py | 496 ------------- .../restapi/rest_transfer_sync.py | 16 - .../restapi/rest_transfer_usdt_swap.py | 132 ---- .../restapi/rest_unified_account_sync.py | 41 -- .../restapi/rest_unified_account_usdt_swap.py | 201 ------ .../huobi_usdt_swap/websocket/__init__.py | 0 .../websocket/huobi_usdt_swap_cross_trade.py | 599 ---------------- .../websocket/huobi_usdt_swap_market.py | 426 ------------ .../websocket/huobi_usdt_swap_trade.py | 598 ---------------- .../websocket/ws_account_usdt_swap.py | 13 - .../websocket/ws_index_usdt_swap.py | 12 - .../websocket/ws_market_usdt_swap.py | 12 - .../websocket/ws_system_usdt_swap.py | 9 - alpha/platforms/logger.py | 23 - alpha/position.py | 69 -- alpha/quant.py | 102 --- alpha/tasks.py | 80 --- alpha/trade.py | 191 ----- alpha/utils/__init__.py | 0 alpha/utils/decorator.py | 128 ---- alpha/utils/dingding.py | 67 -- alpha/utils/http_utils.py | 43 -- alpha/utils/logger.py | 123 ---- alpha/utils/mongo.py | 339 --------- alpha/utils/request.py | 122 ---- alpha/utils/tools.py | 167 ----- alpha/utils/websocket.py | 147 ---- alpha/utils/ws_utils.py | 156 ----- docs/config/README.md | 160 ----- docs/framework.png | Bin 37942 -> 0 bytes examples/README.md | 22 - examples/huobi_future/config.json | 38 - examples/huobi_future/config.json-e | 38 - examples/huobi_future/main.py | 33 - examples/huobi_future/run.sh | 1 - examples/huobi_future/strategy.py | 207 ------ examples/huobi_option_mm/README.md | 52 -- examples/huobi_option_mm/config.json | 65 -- examples/huobi_option_mm/main.py | 33 - examples/huobi_option_mm/run.sh | 1 - examples/huobi_option_mm/strategy.py | 428 ------------ examples/huobi_swap/config.json | 38 - examples/huobi_swap/config.json-e | 38 - examples/huobi_swap/main.py | 33 - examples/huobi_swap/run.sh | 1 - examples/huobi_swap/strategy.py | 200 ------ examples/huobi_usdt_swap/config.json | 38 - examples/huobi_usdt_swap/main.py | 33 - examples/huobi_usdt_swap/run.sh | 1 - examples/huobi_usdt_swap/strategy.py | 204 ------ examples/huobi_usdt_swap_cross/config.json | 38 - examples/huobi_usdt_swap_cross/main.py | 33 - examples/huobi_usdt_swap_cross/run.sh | 1 - examples/huobi_usdt_swap_cross/strategy.py | 201 ------ .../config.json | 96 --- .../main.py | 33 - .../run.sh | 1 - .../strategy.py | 230 ------ examples/kline_to_mongo/config.json | 34 - examples/kline_to_mongo/main.py | 33 - examples/kline_to_mongo/run.sh | 1 - examples/kline_to_mongo/strategy.py | 115 --- log/debug.log | 188 +++++ log/debug/debug.2024-01-16_14.log | 1 + log/debug/debug.2024-01-18_11.log | 77 +++ log/debug/debug.2024-01-18_12.log | 212 ++++++ log/debug/debug.2024-01-18_13.log | 124 ++++ log/debug/debug.2024-01-19_16.log | 28 + log/debug/debug.2024-01-20_14.log | 23 + log/debug/debug.2024-01-20_15.log | 15 + log/debug/debug.2024-01-22_23.log | 51 ++ log/debug/debug.2024-01-23_10.log | 3 + log/debug/debug.2024-01-23_11.log | 23 + log/debug/debug.2024-01-23_12.log | 6 + log/debug/debug.2024-01-23_13.log | 10 + log/debug/debug.2024-01-23_14.log | 43 ++ log/debug/debug.2024-01-23_15.log | 67 ++ log/debug/debug.2024-10-21_17.log | 4 + log/debug/debug.2024-10-21_18.log | 1 + log/debug/debug.2024-10-22_10.log | 33 + log/debug/debug.2024-10-22_14.log | 2 + log/debug/debug.2024-10-22_15.log | 602 ++++++++++++++++ log/error.log | 124 ++++ .../error/error.2024-01-16_11.log | 0 log/error/error.2024-01-18_12.log | 36 + log/error/error.2024-01-18_13.log | 12 + .../error/error.2024-10-21_17.log | 0 log/info.log | 302 ++++++++ .../info/info.2024-01-16_11.log | 0 log/info/info.2024-01-18_11.log | 68 ++ log/info/info.2024-01-18_12.log | 198 ++++++ log/info/info.2024-01-18_13.log | 94 +++ .../info/info.2024-10-21_17.log | 0 pom.xml | 105 +++ requirements.txt | 17 - setup.py | 27 - .../HuobiCoinMarginedSwapAPIOptions.java | 104 +++ .../constants/HuobiFutureAPIConstants.java | 99 +++ .../HuobiLinearSwapAPIConstants.java | 109 +++ .../HuobiLinearSwapCrossAPIConstants.java | 60 ++ .../com/huobi/api/enums/DirectionEnum.java | 18 + .../java/com/huobi/api/enums/OffsetEnum.java | 18 + .../huobi/api/enums/OrderPriceTypeEnum.java | 22 + .../com/huobi/api/enums/OrderStatusEnum.java | 21 + .../com/huobi/api/enums/OrderTypeEnum.java | 20 + .../huobi/api/enums/TimePeriodTypeEnum.java | 19 + .../com/huobi/api/enums/TradeTypeEnum.java | 22 + .../com/huobi/api/exception/ApiException.java | 25 + .../api/exception/HttpRequestException.java | 23 + .../ContractFinancialRecordExactRequest.java | 18 + ...ContractFinancialRecordExactV3Request.java | 17 + .../ContractFinancialRecordRequest.java | 16 + .../ContractFinancialRecordV3Request.java | 17 + ...ontractMasterSubTransferRecordRequest.java | 17 + .../ContractMasterSubTransferRequest.java | 18 + .../ContractSettlementRecordsRequest.java | 16 + .../ContractSubAccountInfoListRequest.java | 14 + .../account/ContractSubAuthListRequest.java | 16 + .../ContractUserSettlementRecordsRequest.java | 16 + .../ContractLiquidationOrdersV3Request.java | 17 + .../trade/ContractBatchorderRequest.java | 23 + .../trade/ContractCancelAfterRequest.java | 13 + .../trade/ContractCancelRequest.java | 22 + .../trade/ContractCancelallRequest.java | 25 + .../trade/ContractHisordersExactRequest.java | 22 + .../ContractHisordersExactV3Request.java | 21 + .../trade/ContractHisordersRequest.java | 24 + .../trade/ContractHisordersV3Request.java | 22 + .../ContractMatchResultsExactV3Request.java | 18 + .../trade/ContractMatchResultsV3Request.java | 17 + .../ContractMatchresultsExactRequest.java | 19 + .../trade/ContractMatchresultsRequest.java | 20 + .../trade/ContractOpenordersRequest.java | 16 + .../trade/ContractOrderDetailRequest.java | 20 + .../trade/ContractOrderInfoRequest.java | 21 + .../trade/ContractOrderRequest.java | 46 ++ .../ContractRelationTpslOrderRequest.java | 11 + .../trade/ContractTpslCancelRequest.java | 11 + .../trade/ContractTpslCancelallRequest.java | 13 + .../trade/ContractTpslHisordersRequset.java | 16 + .../trade/ContractTpslOpenordersRequest.java | 15 + .../trade/ContractTpslOrderRequest.java | 25 + .../trade/ContractTrackCancelRequest.java | 13 + .../trade/ContractTrackCancelallRequest.java | 17 + .../trade/ContractTrackHisordersRequest.java | 20 + .../trade/ContractTrackOpenordersRequest.java | 16 + .../trade/ContractTrackOrderRequest.java | 24 + .../trade/ContractTriggerCancelRequest.java | 13 + .../ContractTriggerCancelallRequest.java | 16 + .../ContractTriggerHisordersRequest.java | 19 + .../ContractTriggerOpenordersRequest.java | 16 + .../trade/ContractTriggerOrderRequest.java | 26 + .../trade/LightningClosePositionRequest.java | 21 + .../transfer/AccountTransferRequest.java | 18 + .../account/LinearSwapBasisRequest.java | 15 + .../SwapFinancialRecordExactRequest.java | 18 + .../SwapFinancialRecordExactV3Request.java | 17 + .../account/SwapFinancialRecordRequest.java | 16 + .../account/SwapFinancialRecordV3Request.java | 17 + .../account/SwapLiquidationOrdersRequest.java | 16 + .../SwapMarketHistoryKlineRequest.java | 16 + .../SwapMasterSubTransferRecordRequest.java | 16 + .../account/SwapMasterSubTransferRequest.java | 20 + .../SwapUserSettlementRecordsRequest.java | 16 + .../market/SwapSettlementRecordsRequest.java | 18 + .../trade/SwapBatchorderRequest.java | 20 + .../trade/SwapCancelAfterRequest.java | 13 + .../coin_swap/trade/SwapCancelRequest.java | 22 + .../coin_swap/trade/SwapCancelallRequest.java | 21 + .../trade/SwapHisordersExectRequest.java | 21 + .../coin_swap/trade/SwapHisordersRequest.java | 22 + .../SwapLightningClosePositionRequest.java | 19 + .../trade/SwapMatchresultsExactRequest.java | 19 + .../trade/SwapMatchresultsRequest.java | 19 + .../trade/SwapOpenordersRequest.java | 20 + .../trade/SwapOrderDetailRequest.java | 28 + .../coin_swap/trade/SwapOrderInfoRequest.java | 21 + .../coin_swap/trade/SwapOrderRequest.java | 45 ++ .../trade/SwapRelationTpslOrderRequest.java | 11 + .../trade/SwapTpslCancelRequest.java | 11 + .../trade/SwapTpslCancelallRequest.java | 11 + .../trade/SwapTpslHisordersRequset.java | 15 + .../trade/SwapTpslOpenordersRequest.java | 14 + .../coin_swap/trade/SwapTpslOrderRequest.java | 20 + .../trade/SwapTrackCancelRequest.java | 13 + .../trade/SwapTrackCancelallRequest.java | 14 + .../trade/SwapTrackHisordersRequest.java | 19 + .../trade/SwapTrackOpenordersRequest.java | 15 + .../trade/SwapTrackOrderRequest.java | 21 + .../trade/SwapTriggerCancelRequest.java | 17 + .../trade/SwapTriggerCancelallRequest.java | 18 + .../trade/SwapTriggerHisordersRequest.java | 23 + .../trade/SwapTriggerOpenordersRequest.java | 20 + .../trade/SwapTriggerOrderRequest.java | 29 + .../transfer/UsdtSwapTransferRequest.java | 21 + .../FixPositionMarginChangeRecordRequest.java | 17 + .../FixPositionMarginChangeRequest.java | 21 + .../usdt/account/LinearSwapBasisRequest.java | 15 + .../SwapCrossLeverPositionLimitRequest.java | 17 + ...SwapCrossUserSettlementRecordsRequest.java | 16 + .../SwapFinancialRecordExactRequest.java | 20 + .../SwapFinancialRecordExactV3Request.java | 18 + .../account/SwapFinancialRecordRequest.java | 17 + .../account/SwapFinancialRecordV3Request.java | 19 + .../account/SwapLiquidationOrdersRequest.java | 17 + .../SwapLiquidationOrdersV3Request.java | 18 + .../SwapMarketHistoryKlineRequest.java | 16 + .../SwapMasterSubTransferRecordRequest.java | 16 + .../account/SwapMasterSubTransferRequest.java | 21 + .../usdt/account/SwapSubAuthListRequest.java | 16 + .../SwapUserSettlementRecordsRequest.java | 16 + .../usdt/trade/LinearCancelAfterRequest.java | 14 + .../usdt/trade/SwapBatchorderRequest.java | 20 + .../request/usdt/trade/SwapCancelRequest.java | 22 + .../usdt/trade/SwapCancelallRequest.java | 21 + .../trade/SwapCrossBatchorderRequest.java | 20 + .../usdt/trade/SwapCrossCancelRequest.java | 24 + .../usdt/trade/SwapCrossCancelallRequest.java | 17 + .../SwapCrossHisordersExactV3Request.java | 21 + .../usdt/trade/SwapCrossHisordersRequest.java | 23 + .../trade/SwapCrossHisordersV3Request.java | 20 + ...wapCrossLightningClosePositionRequest.java | 21 + .../SwapCrossMatchResultsExactV3Request.java | 18 + .../trade/SwapCrossMatchResultsV3Request.java | 18 + .../trade/SwapCrossMatchresultsRequest.java | 20 + .../trade/SwapCrossOpenordersRequest.java | 22 + .../trade/SwapCrossOrderDetailRequest.java | 18 + .../usdt/trade/SwapCrossOrderInfoRequest.java | 16 + .../usdt/trade/SwapCrossOrderRequest.java | 48 ++ .../trade/SwapCrossTriggerCancelRequest.java | 19 + .../SwapCrossTriggerCancelallRequest.java | 20 + .../SwapCrossTriggerHisordersRequest.java | 20 + .../SwapCrossTriggerOpenordersRequest.java | 22 + .../trade/SwapCrossTriggerOrderRequest.java | 32 + .../usdt/trade/SwapHisordersExactRequest.java | 23 + .../trade/SwapHisordersExactV3Request.java | 22 + .../usdt/trade/SwapHisordersRequest.java | 22 + .../usdt/trade/SwapHisordersV3Request.java | 20 + .../SwapLightningClosePositionRequest.java | 18 + .../trade/SwapMatchResultsExactV3Request.java | 17 + .../usdt/trade/SwapMatchResultsV3Request.java | 18 + .../trade/SwapMatchresultsExactRequest.java | 20 + .../usdt/trade/SwapMatchresultsRequest.java | 19 + .../usdt/trade/SwapOpenordersRequest.java | 20 + .../usdt/trade/SwapOrderDetailRequest.java | 28 + .../usdt/trade/SwapOrderInfoRequest.java | 21 + .../request/usdt/trade/SwapOrderRequest.java | 46 ++ .../usdt/trade/SwapPositionSideRequest.java | 12 + .../trade/SwapRelationTpslOrderRequest.java | 12 + .../usdt/trade/SwapTpslCancelRequest.java | 13 + .../usdt/trade/SwapTpslCancelallRequest.java | 13 + .../usdt/trade/SwapTpslHisordersRequset.java | 16 + .../usdt/trade/SwapTpslOpenordersRequest.java | 16 + .../usdt/trade/SwapTpslOrderRequest.java | 22 + .../usdt/trade/SwapTrackCancelRequest.java | 15 + .../usdt/trade/SwapTrackCancelallRequest.java | 16 + .../usdt/trade/SwapTrackHisordersRequest.java | 19 + .../trade/SwapTrackOpenordersRequest.java | 17 + .../usdt/trade/SwapTrackOrderRequest.java | 24 + .../usdt/trade/SwapTriggerCancelRequest.java | 17 + .../trade/SwapTriggerCancelallRequest.java | 18 + .../trade/SwapTriggerHisordersRequest.java | 23 + .../trade/SwapTriggerOpenordersRequest.java | 20 + .../usdt/trade/SwapTriggerOrderRequest.java | 30 + .../transfer/UsdtSwapTransferRequest.java | 22 + .../account/ContractAccountInfoResponse.java | 68 ++ .../ContractAccountPositionInfoResponse.java | 86 +++ .../ContractApiTradingStatusResponse.java | 69 ++ .../ContractAvailableLevelRateResponse.java | 26 + .../ContractBalanceValuationResponse.java | 26 + .../account/ContractFeeResponse.java | 49 ++ .../ContractFinancialRecordExactResponse.java | 43 ++ ...ontractFinancialRecordExactV3Response.java | 33 + .../ContractFinancialRecordResponse.java | 61 ++ .../ContractFinancialRecordV3Response.java | 33 + ...ntractMasterSubTransferRecordResponse.java | 48 ++ .../ContractMasterSubTransferResponse.java | 23 + .../account/ContractOrderLimitResponse.java | 65 ++ .../account/ContractPositionInfoResponse.java | 80 +++ .../ContractPositionLimitResponse.java | 51 ++ .../ContractSubAccountInfoListResponse.java | 55 ++ .../ContractSubAccountInfoResponse.java | 70 ++ .../ContractSubAccountListResponse.java | 58 ++ .../account/ContractSubAuthListResponse.java | 49 ++ .../account/ContractSubAuthResponse.java | 37 + .../ContractSubPositionInfoResponse.java | 77 +++ .../ContractTransferLimitResponse.java | 57 ++ ...ContractUserSettlementRecordsResponse.java | 80 +++ .../market/ContractAdjustfactorResponse.java | 72 ++ .../market/ContractApiStateResponse.java | 49 ++ .../market/ContractContractInfoResponse.java | 61 ++ .../market/ContractDeliveryPriceResponse.java | 35 + .../ContractEliteAccountRatioResponse.java | 55 ++ .../ContractElitePositionRatioResponse.java | 52 ++ ...tractEstimatedSettlementPriceResponse.java | 40 ++ .../ContractHisOpenInterestResponse.java | 53 ++ .../market/ContractIndexResponse.java | 42 ++ .../market/ContractInsuranceFundResponse.java | 50 ++ .../market/ContractLadderMarginResponse.java | 49 ++ .../ContractLiquidationOrdersResponse.java | 66 ++ .../ContractLiquidationOrdersV3Response.java | 36 + .../market/ContractOpenInterestResponse.java | 52 ++ .../market/ContractPriceLimitResponse.java | 47 ++ .../market/ContractQueryElementsResponse.java | 137 ++++ .../market/ContractRiskInfoResponse.java | 40 ++ .../ContractSettlementRecordsResponse.java | 56 ++ .../market/MarkPriceKlineResponse.java | 36 + .../market/MarketBatchMergedResponse.java | 35 + .../market/MarketBboResponse.java | 28 + .../market/MarketDepthResponse.java | 47 ++ .../market/MarketDetailMergedResponse.java | 55 ++ .../market/MarketHistoryBasisResponse.java | 32 + .../market/MarketHistoryIndexResponse.java | 32 + .../market/MarketHistoryKlineResponse.java | 49 ++ .../market/MarketHistoryTradeResponse.java | 58 ++ .../market/MarketTradeResponse.java | 57 ++ .../trade/ContractBatchorderResponse.java | 65 ++ .../trade/ContractCancelAfterResponse.java | 27 + .../trade/ContractCancelResponse.java | 49 ++ .../trade/ContractCancelallResponse.java | 48 ++ .../trade/ContractHisordersExactResponse.java | 79 +++ .../ContractHisordersExactV3Response.java | 71 ++ .../trade/ContractHisordersResponse.java | 108 +++ .../trade/ContractHisordersV3Response.java | 71 ++ .../ContractMatchResultsExactV3Response.java | 59 ++ .../trade/ContractMatchResultsV3Response.java | 58 ++ .../ContractMatchresultsExactResponse.java | 71 ++ .../trade/ContractMatchresultsResponse.java | 91 +++ .../trade/ContractOpenordersResponse.java | 113 +++ .../trade/ContractOrderDetailResponse.java | 124 ++++ .../trade/ContractOrderInfoResponse.java | 95 +++ .../trade/ContractOrderResponse.java | 44 ++ .../ContractRelationTpslOrderResponse.java | 105 +++ .../ContractSwitchLeverRateResponse.java | 30 + .../trade/ContractTpslCancelResponse.java | 39 ++ .../trade/ContractTpslCancelallResponse.java | 39 ++ .../trade/ContractTpslHisordersResponse.java | 81 +++ .../trade/ContractTpslOpenordersResponse.java | 69 ++ .../trade/ContractTpslOrderResponse.java | 51 ++ .../trade/ContractTrackCancelResponse.java | 38 + .../trade/ContractTrackCancelallResponse.java | 38 + .../trade/ContractTrackHisordersResponse.java | 84 +++ .../ContractTrackOpenordersResponse.java | 66 ++ .../trade/ContractTrackOrderResponse.java | 28 + .../trade/ContractTriggerCancelResponse.java | 38 + .../ContractTriggerCancelallResponse.java | 38 + .../ContractTriggerHisordersResponse.java | 82 +++ .../ContractTriggerOpenordersResponse.java | 67 ++ .../trade/ContractTriggerOrderResponse.java | 26 + .../trade/LightningClosePositionResponse.java | 36 + .../transfer/AccountTransferResponse.java | 15 + .../transfer/FuturesTransferResponse.java | 25 + .../account/SwapAccountInfoResponse.java | 77 +++ .../SwapAccountPositionInfoResponse.java | 126 ++++ .../account/SwapApiTradingStatusResponse.java | 106 +++ .../SwapAvailableLevelRateResponse.java | 28 + .../account/SwapBalanceValuationResponse.java | 26 + .../coin_swap/account/SwapFeeResponse.java | 51 ++ .../SwapFinancialRecordExactResponse.java | 42 ++ .../SwapFinancialRecordExactV3Response.java | 30 + .../account/SwapFinancialRecordResponse.java | 71 ++ .../SwapFinancialRecordV3Response.java | 31 + .../SwapMasterSubTransferRecordResponse.java | 83 +++ .../SwapMasterSubTransferResponse.java | 38 + .../account/SwapOrderLimitResponse.java | 54 ++ .../account/SwapPositionInfoResponse.java | 75 ++ .../account/SwapPositionLimitResponse.java | 43 ++ .../SwapSubAccountInfoListResponse.java | 58 ++ .../account/SwapSubAccountInfoResponse.java | 79 +++ .../account/SwapSubAccountListResponse.java | 64 ++ .../account/SwapSubAuthResponse.java | 37 + .../account/SwapSubPositionInfoResponse.java | 63 ++ .../account/SwapTransferInnerResponse.java | 20 + .../account/SwapTransferLimitResponse.java | 60 ++ .../SwapUserSettlementRecordsResponse.java | 81 +++ .../coin_swap/market/BatchMergedResponse.java | 37 + .../coin_swap/market/HeartBeatResponse.java | 33 + .../market/LinearSwapBasisResponse.java | 42 ++ .../LinearSwapEstimatedRateKlineResponse.java | 46 ++ .../LinearSwapPremiumIndexKlineResponse.java | 45 ++ .../coin_swap/market/MarketBboResponse.java | 30 + .../coin_swap/market/SummaryResponse.java | 150 ++++ .../market/SwapAdjustfactorResponse.java | 68 ++ .../market/SwapApiStateResponse.java | 69 ++ .../market/SwapBatchFundingRateResponse.java | 36 + .../market/SwapContractInfoResponse.java | 55 ++ .../market/SwapEliteAccountRatioResponse.java | 53 ++ .../SwapElitePositionRatioResponse.java | 47 ++ .../SwapEstimatedSettlementPriceResponse.java | 30 + .../market/SwapFundingRateResponse.java | 48 ++ .../market/SwapHisOpenInterestResponse.java | 50 ++ .../SwapHistoricalFundingRateResponse.java | 66 ++ .../coin_swap/market/SwapIndexResponse.java | 44 ++ .../market/SwapInsuranceFundResponse.java | 57 ++ .../market/SwapLadderMarginResponse.java | 52 ++ .../market/SwapLiquidationOrdersResponse.java | 63 ++ .../market/SwapMarkPriceKlineResponse.java | 34 + .../market/SwapMarketDepthResponse.java | 47 ++ .../SwapMarketDetailMergedResponse.java | 61 ++ .../SwapMarketHistoryKlineResponse.java | 50 ++ .../SwapMarketHistoryTradeResponse.java | 56 ++ .../market/SwapMarketTradeResponse.java | 58 ++ .../market/SwapOpenInterestResponse.java | 47 ++ .../market/SwapPriceLimitResponse.java | 43 ++ .../market/SwapRiskInfoResponse.java | 37 + .../coin_swap/market/TimestampReponse.java | 13 + .../trade/SwapBatchorderResponse.java | 70 ++ .../trade/SwapCancelAfterResponse.java | 27 + .../coin_swap/trade/SwapCancelResponse.java | 53 ++ .../trade/SwapCancelallResponse.java | 49 ++ .../trade/SwapHisordersExactResponse.java | 78 +++ .../trade/SwapHisordersResponse.java | 116 ++++ .../SwapLightningClosePositionResponse.java | 36 + .../trade/SwapMatchresultsExactResponse.java | 69 ++ .../trade/SwapMatchresultsResponse.java | 98 +++ .../trade/SwapOpenordersResponse.java | 122 ++++ .../trade/SwapOrderDetailResponse.java | 117 ++++ .../trade/SwapOrderInfoResponse.java | 104 +++ .../coin_swap/trade/SwapOrderResponse.java | 38 + .../trade/SwapRelationTpslOrderResponse.java | 107 +++ .../trade/SwapSwitchLeverRateResponse.java | 32 + .../trade/SwapTpslCancelResponse.java | 39 ++ .../trade/SwapTpslCancelallResponse.java | 39 ++ .../trade/SwapTpslHisordersResponse.java | 83 +++ .../trade/SwapTpslOpenordersResponse.java | 71 ++ .../trade/SwapTpslOrderResponse.java | 52 ++ .../trade/SwapTrackCancelResponse.java | 38 + .../trade/SwapTrackCancelallResponse.java | 38 + .../trade/SwapTrackHisordersResponse.java | 84 +++ .../trade/SwapTrackOpenordersResponse.java | 64 ++ .../trade/SwapTrackOrderResponse.java | 28 + .../trade/SwapTriggerCancelResponse.java | 47 ++ .../trade/SwapTriggerCancelallResponse.java | 53 ++ .../trade/SwapTriggerHisordersResponse.java | 119 ++++ .../trade/SwapTriggerOpenordersResponse.java | 97 +++ .../trade/SwapTriggerOrderResponse.java | 38 + .../transfer/UsdtSwapTransferResponse.java | 23 + ...FixPositionMarginChangeRecordResponse.java | 33 + .../FixPositionMarginChangeResponse.java | 38 + .../account/LinearSwapFeeSwitchResponse.java | 24 + ...LinearSwapOverviewAccountInfoResponse.java | 30 + .../usdt/account/SwapAccountInfoResponse.java | 83 +++ .../SwapAccountPositionInfoResponse.java | 149 ++++ .../account/SwapApiTradingStatusResponse.java | 106 +++ .../SwapAvailableLevelRateResponse.java | 28 + .../account/SwapBalanceValuationResponse.java | 26 + .../account/SwapCrossAccountInfoResponse.java | 94 +++ .../SwapCrossAccountPositionInfoResponse.java | 136 ++++ .../SwapCrossAvailableLevelRateResponse.java | 33 + .../SwapCrossPositionInfoResponse.java | 61 ++ .../SwapCrossPositionLimitResponse.java | 47 ++ .../SwapCrossSubAccountInfoResponse.java | 89 +++ .../SwapCrossSubAccountListResponse.java | 45 ++ .../SwapCrossSubPositionInfoResponse.java | 65 ++ .../SwapCrossTransferLimitResponse.java | 44 ++ ...wapCrossUserSettlementRecordsResponse.java | 103 +++ .../usdt/account/SwapFeeResponse.java | 59 ++ .../SwapFinancialRecordExactResponse.java | 50 ++ .../SwapFinancialRecordExactV3Response.java | 38 + .../account/SwapFinancialRecordResponse.java | 72 ++ .../SwapFinancialRecordV3Response.java | 36 + .../SwapLeverPositionLimitResponse.java | 49 ++ .../SwapLiquidationOrdersV3Response.java | 42 ++ .../SwapMasterSubTransferRecordResponse.java | 83 +++ .../SwapMasterSubTransferResponse.java | 38 + .../usdt/account/SwapOrderLimitResponse.java | 64 ++ .../account/SwapPositionInfoResponse.java | 85 +++ .../account/SwapPositionLimitResponse.java | 57 ++ .../SwapSubAccountInfoListResponse.java | 66 ++ .../account/SwapSubAccountInfoResponse.java | 88 +++ .../account/SwapSubAccountListResponse.java | 72 ++ .../usdt/account/SwapSubAuthListResponse.java | 50 ++ .../usdt/account/SwapSubAuthResponse.java | 38 + .../account/SwapSubPositionInfoResponse.java | 66 ++ .../SwapSwitchAccountTypeResponse.java | 26 + .../account/SwapSwitchLeverRateResponse.java | 32 + .../account/SwapTransferInnerResponse.java | 24 + .../account/SwapTransferLimitResponse.java | 68 ++ .../SwapUnifiedAccountTypeResponse.java | 25 + .../SwapUserSettlementRecordsResponse.java | 87 +++ .../account/UnifiedAccountInfoResponse.java | 97 +++ .../usdt/market/BatchMergedResponse.java | 46 ++ .../usdt/market/BatchMergedV2Response.java | 45 ++ .../usdt/market/LinearSwapBasisResponse.java | 42 ++ .../LinearSwapEstimatedRateKlineResponse.java | 49 ++ .../LinearSwapMarkPriceKlineResponse.java | 34 + .../LinearSwapPremiumIndexKlineResponse.java | 48 ++ .../usdt/market/MarketBboResponse.java | 34 + .../usdt/market/SwapAdjustfactorResponse.java | 73 ++ .../usdt/market/SwapApiStateResponse.java | 76 ++ .../market/SwapBatchFundingRateResponse.java | 38 + .../usdt/market/SwapContractInfoResponse.java | 68 ++ .../market/SwapCrossAdjustfactorResponse.java | 61 ++ .../market/SwapCrossTradeStateResponse.java | 41 ++ .../SwapCrossTransferStateResponse.java | 47 ++ .../market/SwapEliteAccountRatioResponse.java | 58 ++ .../SwapElitePositionRatioResponse.java | 56 ++ .../SwapEstimatedSettlementPriceResponse.java | 37 + .../usdt/market/SwapFundingRateResponse.java | 50 ++ .../market/SwapHisOpenInterestResponse.java | 58 ++ .../SwapHistoricalFundingRateResponse.java | 64 ++ .../usdt/market/SwapIndexResponse.java | 45 ++ .../market/SwapInsuranceFundResponse.java | 64 ++ .../usdt/market/SwapLadderMarginResponse.java | 63 ++ .../market/SwapLiquidationOrdersResponse.java | 70 ++ .../usdt/market/SwapMarketDepthResponse.java | 47 ++ .../SwapMarketDetailMergedResponse.java | 64 ++ .../SwapMarketHistoryKlineResponse.java | 53 ++ .../SwapMarketHistoryTradeResponse.java | 59 ++ .../usdt/market/SwapMarketTradeResponse.java | 62 ++ .../usdt/market/SwapOpenInterestResponse.java | 55 ++ .../usdt/market/SwapPriceLimitResponse.java | 49 ++ .../market/SwapQueryElementsResponse.java | 159 +++++ .../usdt/market/SwapRiskInfoResponse.java | 45 ++ .../market/SwapSettlementRecordsResponse.java | 54 ++ .../usdt/trade/LinearCancelAfterResponse.java | 28 + .../usdt/trade/SwapBatchorderResponse.java | 70 ++ .../usdt/trade/SwapCancelResponse.java | 53 ++ .../usdt/trade/SwapCancelallResponse.java | 49 ++ .../trade/SwapCrossBatchorderResponse.java | 50 ++ .../usdt/trade/SwapCrossCancelResponse.java | 37 + .../trade/SwapCrossCancelallResponse.java | 36 + .../SwapCrossHisordersExactV3Response.java | 82 +++ .../trade/SwapCrossHisordersResponse.java | 93 +++ .../trade/SwapCrossHisordersV3Response.java | 82 +++ ...apCrossLightningClosePositionResponse.java | 27 + .../SwapCrossMatchResultsExactV3Response.java | 69 ++ .../SwapCrossMatchResultsV3Response.java | 69 ++ .../trade/SwapCrossMatchresultsResponse.java | 80 +++ .../trade/SwapCrossOpenordersResponse.java | 96 +++ .../trade/SwapCrossOrderDetailResponse.java | 120 ++++ .../trade/SwapCrossOrderInfoResponse.java | 88 +++ .../usdt/trade/SwapCrossOrderResponse.java | 28 + .../trade/SwapCrossPositionSideResponse.java | 26 + .../SwapCrossSwitchLeverRateResponse.java | 37 + .../trade/SwapCrossTriggerCancelResponse.java | 39 ++ .../SwapCrossTriggerCancelallResponse.java | 42 ++ .../SwapCrossTriggerHisordersResponse.java | 96 +++ .../SwapCrossTriggerOpenordersResponse.java | 81 +++ .../trade/SwapCrossTriggerOrderResponse.java | 28 + .../trade/SwapHisordersExactResponse.java | 88 +++ .../trade/SwapHisordersExactV3Response.java | 74 ++ .../usdt/trade/SwapHisordersResponse.java | 125 ++++ .../usdt/trade/SwapHisordersV3Response.java | 78 +++ .../SwapLightningClosePositionResponse.java | 36 + .../SwapMatchResultsExactV3Response.java | 66 ++ .../trade/SwapMatchResultsV3Response.java | 69 ++ .../trade/SwapMatchresultsExactResponse.java | 81 +++ .../usdt/trade/SwapMatchresultsResponse.java | 107 +++ .../usdt/trade/SwapOpenordersResponse.java | 132 ++++ .../usdt/trade/SwapOrderDetailResponse.java | 126 ++++ .../usdt/trade/SwapOrderInfoResponse.java | 118 ++++ .../usdt/trade/SwapOrderResponse.java | 38 + .../usdt/trade/SwapPositionSideResponse.java | 25 + .../trade/SwapRelationTpslOrderResponse.java | 114 +++ .../trade/SwapSwitchLeverRateResponse.java | 32 + .../trade/SwapSwitchPositionModeResponse.java | 27 + .../usdt/trade/SwapTpslCancelResponse.java | 39 ++ .../usdt/trade/SwapTpslCancelallResponse.java | 39 ++ .../usdt/trade/SwapTpslHisordersResponse.java | 90 +++ .../trade/SwapTpslOpenordersResponse.java | 78 +++ .../usdt/trade/SwapTpslOrderResponse.java | 52 ++ .../usdt/trade/SwapTrackCancelResponse.java | 38 + .../trade/SwapTrackCancelallResponse.java | 38 + .../trade/SwapTrackHisordersResponse.java | 96 +++ .../trade/SwapTrackOpenordersResponse.java | 73 ++ .../usdt/trade/SwapTrackOrderResponse.java | 28 + .../usdt/trade/SwapTriggerCancelResponse.java | 47 ++ .../trade/SwapTriggerCancelallResponse.java | 53 ++ .../trade/SwapTriggerHisordersResponse.java | 128 ++++ .../trade/SwapTriggerOpenordersResponse.java | 106 +++ .../usdt/trade/SwapTriggerOrderResponse.java | 38 + .../transfer/UsdtSwapTransferResponse.java | 23 + .../account/AccountAPIService.java | 50 ++ .../account/AccountAPIServiceImpl.java | 522 ++++++++++++++ .../coin_futures/market/MarketAPIService.java | 30 + .../market/MarketAPIServiceImpl.java | 256 +++++++ .../reference/ReferenceAPIService.java | 42 ++ .../reference/ReferenceAPIServiceImpl.java | 426 ++++++++++++ .../strategy/StrategyAPIService.java | 38 + .../strategy/StrategyAPIServiceImpl.java | 500 ++++++++++++++ .../coin_futures/trade/TradeAPIService.java | 34 + .../trade/TradeAPIServiceImpl.java | 564 +++++++++++++++ .../transfer/TransferApiService.java | 14 + .../transfer/TransferApiServiceImpl.java | 81 +++ .../coin_swap/account/AccountAPIService.java | 51 ++ .../account/AccountAPIServiceImpl.java | 536 ++++++++++++++ .../coin_swap/market/MarketAPIService.java | 37 + .../market/MarketAPIServiceImpl.java | 257 +++++++ .../reference/ReferenceAPIService.java | 54 ++ .../reference/ReferenceAPIServiceImpl.java | 484 +++++++++++++ .../strategy/StrategyAPIService.java | 38 + .../strategy/StrategyAPIServiceImpl.java | 442 ++++++++++++ .../coin_swap/trade/TradeAPIService.java | 43 ++ .../coin_swap/trade/TradeAPIServiceImpl.java | 529 ++++++++++++++ .../transfer/TransferApiService.java | 9 + .../transfer/TransferApiServiceImpl.java | 46 ++ .../usdt/account/AccountAPIService.java | 55 ++ .../usdt/account/AccountAPIServiceImpl.java | 577 ++++++++++++++++ .../usdt/account/CrossAccountAPIService.java | 31 + .../account/CrossAccountAPIServiceImpl.java | 312 +++++++++ .../service/usdt/market/MarketAPIService.java | 32 + .../usdt/market/MarketAPIServiceImpl.java | 299 ++++++++ .../reference/CrossReferenceAPIService.java | 12 + .../CrossReferenceAPIServiceImpl.java | 85 +++ .../usdt/reference/ReferenceAPIService.java | 45 ++ .../reference/ReferenceAPIServiceImpl.java | 459 ++++++++++++ .../strategy/CrossStrategyAPIService.java | 38 + .../strategy/CrossStrategyAPIServiceImpl.java | 567 +++++++++++++++ .../usdt/strategy/StrategyAPIService.java | 38 + .../usdt/strategy/StrategyAPIServiceImpl.java | 452 ++++++++++++ .../usdt/trade/CrossTradeAPIService.java | 40 ++ .../usdt/trade/CrossTradeAPIServiceImpl.java | 652 ++++++++++++++++++ .../service/usdt/trade/TradeAPIService.java | 39 ++ .../usdt/trade/TradeAPIServiceImpl.java | 575 +++++++++++++++ .../transfer/CrossTransferAPIService.java | 7 + .../transfer/CrossTransferAPIServiceImpl.java | 45 ++ .../usdt/transfer/TransferAPIService.java | 10 + .../usdt/transfer/TransferAPIServiceImpl.java | 50 ++ .../UnifiedAccountAPIService.java | 21 + .../UnifiedAccountAPIServiceImpl.java | 190 +++++ .../java/com/huobi/api/util/ApiSignature.java | 106 +++ .../huobi/api/util/ApiSignatureEd25519.java | 129 ++++ .../com/huobi/api/util/HbdmHttpClient.java | 129 ++++ .../com/huobi/wss/SubscriptionListener.java | 18 + .../constants/HuobiFutureWSSConstants.java | 41 ++ .../wss/constants/HuobiSwapsWSSConstants.java | 56 ++ .../wss/constants/HuobiUsdtWSSConstants.java | 58 ++ .../wss/event/AccountCrossSubResponse.java | 103 +++ .../huobi/wss/event/AccountsSubResponse.java | 88 +++ .../wss/event/ContractElementSubResponse.java | 110 +++ .../event/LiquidationOrdersSubResponse.java | 40 ++ .../MarketBasisPriceTypeReqResponse.java | 31 + .../MarketBasisPriceTypeSubResponse.java | 26 + .../huobi/wss/event/MarketBboSubResponse.java | 28 + .../wss/event/MarketDepthDiffSubResponse.java | 28 + .../wss/event/MarketDepthSubResponse.java | 45 ++ .../wss/event/MarketDetailSubResponse.java | 50 ++ .../event/MarketEstimatedRateReqResponse.java | 33 + .../event/MarketEstimatedRateSubResponse.java | 30 + .../wss/event/MarketIndexReqResponse.java | 31 + .../wss/event/MarketIndexSubResponse.java | 28 + .../wss/event/MarketKLineReqResponse.java | 56 ++ .../wss/event/MarketKLineSubResponse.java | 51 ++ .../wss/event/MarketMarkPriceReqResponse.java | 33 + .../wss/event/MarketMarkPriceSubResponse.java | 30 + .../event/MarketPremiumIndexReqResponse.java | 30 + .../event/MarketPremiumIndexSubResponse.java | 27 + .../event/MarketTradeDetailReqResponse.java | 44 ++ .../event/MarketTradeDetailSubResponse.java | 57 ++ .../event/MatchOrdersCrossSubResponse.java | 74 ++ .../huobi/wss/event/MatchOrdersResponse.java | 68 ++ .../wss/event/MatchOrdersSubResponse.java | 71 ++ .../huobi/wss/event/OrdersSubResponse.java | 143 ++++ .../huobi/wss/event/PositionsSubResponse.java | 87 +++ .../PublicContractInfoFutureSubResponse.java | 43 ++ .../wss/event/PublicContractInfoResponse.java | 46 ++ .../wss/event/PublicFundingRateResponse.java | 38 + .../wss/event/PublicHeartbeatSubResponse.java | 25 + .../huobi/wss/event/PublicSubResponse.java | 38 + .../event/SwapContractElementSubResponse.java | 49 ++ .../SymbolContractElementSubResponse.java | 78 +++ .../event/TriggerOrderCrossSubResponse.java | 78 +++ .../wss/event/TriggerOrderSubResponse.java | 73 ++ .../com/huobi/wss/handle/WssMarketHandle.java | 163 +++++ .../huobi/wss/handle/WssMarketReqHandle.java | 137 ++++ .../wss/handle/WssNotificationHandle.java | 213 ++++++ .../com/huobi/wss/request/WssRequest.java | 15 + .../java/com/huobi/wss/util/ApiSignature.java | 141 ++++ .../huobi/wss/util/ApiSignatureEd25519.java | 131 ++++ src/main/java/com/huobi/wss/util/ZipUtil.java | 36 + src/main/resources/logback.xml | 71 ++ .../future/api/AccountAPIEd25119Test.java | 198 ++++++ .../future/api/AccountAPIHmac256Test.java | 198 ++++++ .../java/com/huobi/future/api/BaseTest.java | 11 + .../com/huobi/future/api/MarketAPITest.java | 83 +++ .../huobi/future/api/ReferenceAPITest.java | 146 ++++ .../com/huobi/future/api/StrategyAPITest.java | 238 +++++++ .../com/huobi/future/api/TradeAPITest.java | 193 ++++++ .../com/huobi/future/api/TransferAPITest.java | 46 ++ .../WssCenterNotificationSubEd25519Test.java | 37 + .../WssCenterNotificationSubHmac256Test.java | 37 + .../com/huobi/future/wss/WssIndexReqTest.java | 97 +++ .../com/huobi/future/wss/WssIndexSubTest.java | 60 ++ .../huobi/future/wss/WssMarketReqTest.java | 92 +++ .../huobi/future/wss/WssMarketSubTest.java | 156 +++++ .../future/wss/WssNotificationSubTest.java | 118 ++++ .../com/huobi/swap/api/AccountAPITest.java | 191 +++++ .../java/com/huobi/swap/api/BaseTest.java | 11 + .../com/huobi/swap/api/MarketAPITest.java | 106 +++ .../com/huobi/swap/api/ReferenceAPITest.java | 170 +++++ .../com/huobi/swap/api/StrategyAPITest.java | 216 ++++++ .../java/com/huobi/swap/api/TradeAPITest.java | 207 ++++++ .../com/huobi/swap/api/TransferAPITest.java | 43 ++ .../wss/WssCenterNotificationSubTest.java | 33 + .../com/huobi/swap/wss/WssIndexReqTest.java | 146 ++++ .../com/huobi/swap/wss/WssIndexSubTest.java | 84 +++ .../com/huobi/swap/wss/WssMarketReqTest.java | 97 +++ .../com/huobi/swap/wss/WssMarketSubTest.java | 146 ++++ .../swap/wss/WssNotificationSubTest.java | 126 ++++ .../com/huobi/usdt/api/AccountAPITest.java | 192 ++++++ .../java/com/huobi/usdt/api/BaseTest.java | 11 + .../huobi/usdt/api/CrossAccountAPITest.java | 104 +++ .../huobi/usdt/api/CrossReferenceAPITest.java | 28 + .../huobi/usdt/api/CrossSrategyAPITest.java | 216 ++++++ .../com/huobi/usdt/api/CrossTradeAPITest.java | 214 ++++++ .../huobi/usdt/api/CrossTransferAPITest.java | 19 + .../com/huobi/usdt/api/MarketAPITest.java | 106 +++ .../com/huobi/usdt/api/ReferenceAPITest.java | 258 +++++++ .../com/huobi/usdt/api/SrategyAPITest.java | 217 ++++++ .../java/com/huobi/usdt/api/TradeAPITest.java | 210 ++++++ .../com/huobi/usdt/api/TransferAPITest.java | 47 ++ .../huobi/usdt/api/UnifiedAccountAPITest.java | 59 ++ .../wss/WssCenterNotificationSubTest.java | 33 + .../com/huobi/usdt/wss/WssIndexReqTest.java | 143 ++++ .../com/huobi/usdt/wss/WssIndexSubTest.java | 83 +++ .../com/huobi/usdt/wss/WssMarketReqTest.java | 95 +++ .../com/huobi/usdt/wss/WssMarketSubTest.java | 149 ++++ .../usdt/wss/WssNotificationSubTest.java | 191 +++++ .../HuobiCoinMarginedSwapAPIOptions.class | Bin 0 -> 6941 bytes .../constants/HuobiFutureAPIConstants.class | Bin 0 -> 6579 bytes .../HuobiLinearSwapAPIConstants.class | Bin 0 -> 8259 bytes .../HuobiLinearSwapCrossAPIConstants.class | Bin 0 -> 4810 bytes .../com/huobi/api/enums/DirectionEnum.class | Bin 0 -> 1329 bytes .../com/huobi/api/enums/OffsetEnum.class | Bin 0 -> 1312 bytes .../huobi/api/enums/OrderPriceTypeEnum.class | Bin 0 -> 1661 bytes .../com/huobi/api/enums/OrderStatusEnum.class | Bin 0 -> 1593 bytes .../com/huobi/api/enums/OrderTypeEnum.class | Bin 0 -> 1461 bytes .../huobi/api/enums/TimePeriodTypeEnum.class | Bin 0 -> 1505 bytes .../com/huobi/api/enums/TradeTypeEnum.class | Bin 0 -> 1799 bytes .../huobi/api/exception/ApiException.class | Bin 0 -> 1042 bytes .../api/exception/HttpRequestException.class | Bin 0 -> 1066 bytes .../ContractFinancialRecordExactRequest.class | Bin 0 -> 5051 bytes ...ontractFinancialRecordExactV3Request.class | Bin 0 -> 4528 bytes .../ContractFinancialRecordRequest.class | Bin 0 -> 4041 bytes .../ContractFinancialRecordV3Request.class | Bin 0 -> 4483 bytes ...ntractMasterSubTransferRecordRequest.class | Bin 0 -> 4169 bytes .../ContractMasterSubTransferRequest.class | Bin 0 -> 4113 bytes .../ContractSettlementRecordsRequest.class | Bin 0 -> 4130 bytes .../ContractSubAccountInfoListRequest.class | Bin 0 -> 3117 bytes .../account/ContractSubAuthListRequest.class | Bin 0 -> 3966 bytes ...ContractUserSettlementRecordsRequest.class | Bin 0 -> 4166 bytes .../ContractLiquidationOrdersV3Request.class | Bin 0 -> 4604 bytes .../trade/ContractBatchorderRequest.class | Bin 0 -> 2360 bytes .../trade/ContractCancelAfterRequest.class | Bin 0 -> 2508 bytes .../trade/ContractCancelRequest.class | Bin 0 -> 2891 bytes .../trade/ContractCancelallRequest.class | Bin 0 -> 3903 bytes .../trade/ContractHisordersExactRequest.class | Bin 0 -> 7102 bytes .../ContractHisordersExactV3Request.class | Bin 0 -> 6563 bytes .../trade/ContractHisordersRequest.class | Bin 0 -> 6511 bytes .../trade/ContractHisordersV3Request.class | Bin 0 -> 7025 bytes .../ContractMatchResultsExactV3Request.class | Bin 0 -> 5097 bytes .../trade/ContractMatchResultsV3Request.class | Bin 0 -> 4555 bytes .../ContractMatchresultsExactRequest.class | Bin 0 -> 5583 bytes .../trade/ContractMatchresultsRequest.class | Bin 0 -> 4561 bytes .../trade/ContractOpenordersRequest.class | Bin 0 -> 3995 bytes .../trade/ContractOrderDetailRequest.class | Bin 0 -> 4567 bytes .../trade/ContractOrderInfoRequest.class | Bin 0 -> 2918 bytes .../trade/ContractOrderRequest.class | Bin 0 -> 10447 bytes .../ContractRelationTpslOrderRequest.class | Bin 0 -> 2601 bytes .../trade/ContractTpslCancelRequest.class | Bin 0 -> 2420 bytes .../trade/ContractTpslCancelallRequest.class | Bin 0 -> 3468 bytes .../trade/ContractTpslHisordersRequset.class | Bin 0 -> 5090 bytes .../trade/ContractTpslOpenordersRequest.class | Bin 0 -> 4080 bytes .../trade/ContractTpslOrderRequest.class | Bin 0 -> 7345 bytes .../trade/ContractTrackCancelRequest.class | Bin 0 -> 2429 bytes .../trade/ContractTrackCancelallRequest.class | Bin 0 -> 3948 bytes .../trade/ContractTrackHisordersRequest.class | Bin 0 -> 5610 bytes .../ContractTrackOpenordersRequest.class | Bin 0 -> 4082 bytes .../trade/ContractTrackOrderRequest.class | Bin 0 -> 6733 bytes .../trade/ContractTriggerCancelRequest.class | Bin 0 -> 2447 bytes .../ContractTriggerCancelallRequest.class | Bin 0 -> 3966 bytes .../ContractTriggerHisordersRequest.class | Bin 0 -> 5569 bytes .../ContractTriggerOpenordersRequest.class | Bin 0 -> 4107 bytes .../trade/ContractTriggerOrderRequest.class | Bin 0 -> 7602 bytes .../trade/LightningClosePositionRequest.class | Bin 0 -> 5203 bytes .../transfer/AccountTransferRequest.class | Bin 0 -> 3955 bytes .../account/LinearSwapBasisRequest.class | Bin 0 -> 3519 bytes .../SwapFinancialRecordExactRequest.class | Bin 0 -> 5045 bytes .../SwapFinancialRecordExactV3Request.class | Bin 0 -> 4494 bytes .../account/SwapFinancialRecordRequest.class | Bin 0 -> 4035 bytes .../SwapFinancialRecordV3Request.class | Bin 0 -> 4449 bytes .../SwapLiquidationOrdersRequest.class | Bin 0 -> 4089 bytes .../SwapMarketHistoryKlineRequest.class | Bin 0 -> 3957 bytes .../SwapMasterSubTransferRecordRequest.class | Bin 0 -> 4163 bytes .../SwapMasterSubTransferRequest.class | Bin 0 -> 4107 bytes .../SwapUserSettlementRecordsRequest.class | Bin 0 -> 4160 bytes .../market/SwapSettlementRecordsRequest.class | Bin 0 -> 4120 bytes .../trade/SwapBatchorderRequest.class | Bin 0 -> 2291 bytes .../trade/SwapCancelAfterRequest.class | Bin 0 -> 2460 bytes .../coin_swap/trade/SwapCancelRequest.class | Bin 0 -> 2885 bytes .../trade/SwapCancelallRequest.class | Bin 0 -> 2877 bytes .../trade/SwapHisordersExectRequest.class | Bin 0 -> 6547 bytes .../trade/SwapHisordersRequest.class | Bin 0 -> 5446 bytes .../SwapLightningClosePositionRequest.class | Bin 0 -> 4225 bytes .../trade/SwapMatchresultsExactRequest.class | Bin 0 -> 5046 bytes .../trade/SwapMatchresultsRequest.class | Bin 0 -> 4036 bytes .../trade/SwapOpenordersRequest.class | Bin 0 -> 3989 bytes .../trade/SwapOrderDetailRequest.class | Bin 0 -> 4561 bytes .../trade/SwapOrderInfoRequest.class | Bin 0 -> 2912 bytes .../coin_swap/trade/SwapOrderRequest.class | Bin 0 -> 9289 bytes .../trade/SwapRelationTpslOrderRequest.class | Bin 0 -> 2595 bytes .../trade/SwapTpslCancelRequest.class | Bin 0 -> 2414 bytes .../trade/SwapTpslCancelallRequest.class | Bin 0 -> 2455 bytes .../trade/SwapTpslHisordersRequset.class | Bin 0 -> 4559 bytes .../trade/SwapTpslOpenordersRequest.class | Bin 0 -> 3554 bytes .../trade/SwapTpslOrderRequest.class | Bin 0 -> 6251 bytes .../trade/SwapTrackCancelRequest.class | Bin 0 -> 2423 bytes .../trade/SwapTrackCancelallRequest.class | Bin 0 -> 2922 bytes .../trade/SwapTrackHisordersRequest.class | Bin 0 -> 5073 bytes .../trade/SwapTrackOpenordersRequest.class | Bin 0 -> 3563 bytes .../trade/SwapTrackOrderRequest.class | Bin 0 -> 5647 bytes .../trade/SwapTriggerCancelRequest.class | Bin 0 -> 2441 bytes .../trade/SwapTriggerCancelallRequest.class | Bin 0 -> 2940 bytes .../trade/SwapTriggerHisordersRequest.class | Bin 0 -> 5032 bytes .../trade/SwapTriggerOpenordersRequest.class | Bin 0 -> 3581 bytes .../trade/SwapTriggerOrderRequest.class | Bin 0 -> 6504 bytes .../transfer/UsdtSwapTransferRequest.class | Bin 0 -> 3432 bytes ...FixPositionMarginChangeRecordRequest.class | Bin 0 -> 4536 bytes .../FixPositionMarginChangeRequest.class | Bin 0 -> 4771 bytes .../usdt/account/LinearSwapBasisRequest.class | Bin 0 -> 3499 bytes .../SwapCrossLeverPositionLimitRequest.class | Bin 0 -> 4660 bytes ...wapCrossUserSettlementRecordsRequest.class | Bin 0 -> 4192 bytes .../SwapFinancialRecordExactRequest.class | Bin 0 -> 5563 bytes .../SwapFinancialRecordExactV3Request.class | Bin 0 -> 4964 bytes .../account/SwapFinancialRecordRequest.class | Bin 0 -> 4541 bytes .../SwapFinancialRecordV3Request.class | Bin 0 -> 4919 bytes .../SwapLiquidationOrdersRequest.class | Bin 0 -> 4532 bytes .../SwapLiquidationOrdersV3Request.class | Bin 0 -> 5023 bytes .../SwapMarketHistoryKlineRequest.class | Bin 0 -> 3937 bytes .../SwapMasterSubTransferRecordRequest.class | Bin 0 -> 4150 bytes .../SwapMasterSubTransferRequest.class | Bin 0 -> 5138 bytes .../usdt/account/SwapSubAuthListRequest.class | Bin 0 -> 3898 bytes .../SwapUserSettlementRecordsRequest.class | Bin 0 -> 4140 bytes .../usdt/trade/LinearCancelAfterRequest.class | Bin 0 -> 2458 bytes .../usdt/trade/SwapBatchorderRequest.class | Bin 0 -> 2256 bytes .../usdt/trade/SwapCancelRequest.class | Bin 0 -> 2865 bytes .../usdt/trade/SwapCancelallRequest.class | Bin 0 -> 2857 bytes .../trade/SwapCrossBatchorderRequest.class | Bin 0 -> 2316 bytes .../usdt/trade/SwapCrossCancelRequest.class | Bin 0 -> 3874 bytes .../trade/SwapCrossCancelallRequest.class | Bin 0 -> 3866 bytes .../SwapCrossHisordersExactV3Request.class | Bin 0 -> 6526 bytes .../trade/SwapCrossHisordersRequest.class | Bin 0 -> 5951 bytes .../trade/SwapCrossHisordersV3Request.class | Bin 0 -> 5959 bytes ...apCrossLightningClosePositionRequest.class | Bin 0 -> 5238 bytes .../SwapCrossMatchResultsExactV3Request.class | Bin 0 -> 5060 bytes .../SwapCrossMatchResultsV3Request.class | Bin 0 -> 5015 bytes .../trade/SwapCrossMatchresultsRequest.class | Bin 0 -> 4524 bytes .../trade/SwapCrossOpenordersRequest.class | Bin 0 -> 5016 bytes .../trade/SwapCrossOrderDetailRequest.class | Bin 0 -> 5055 bytes .../trade/SwapCrossOrderInfoRequest.class | Bin 0 -> 3388 bytes .../usdt/trade/SwapCrossOrderRequest.class | Bin 0 -> 10982 bytes .../trade/SwapCrossTriggerCancelRequest.class | Bin 0 -> 3417 bytes .../SwapCrossTriggerCancelallRequest.class | Bin 0 -> 3929 bytes .../SwapCrossTriggerHisordersRequest.class | Bin 0 -> 5532 bytes .../SwapCrossTriggerOpenordersRequest.class | Bin 0 -> 4596 bytes .../trade/SwapCrossTriggerOrderRequest.class | Bin 0 -> 8051 bytes .../trade/SwapHisordersExactRequest.class | Bin 0 -> 7020 bytes .../trade/SwapHisordersExactV3Request.class | Bin 0 -> 6481 bytes .../usdt/trade/SwapHisordersRequest.class | Bin 0 -> 5426 bytes .../usdt/trade/SwapHisordersV3Request.class | Bin 0 -> 5433 bytes .../SwapLightningClosePositionRequest.class | Bin 0 -> 3662 bytes .../SwapMatchResultsExactV3Request.class | Bin 0 -> 4546 bytes .../trade/SwapMatchResultsV3Request.class | Bin 0 -> 4970 bytes .../trade/SwapMatchresultsExactRequest.class | Bin 0 -> 5501 bytes .../usdt/trade/SwapMatchresultsRequest.class | Bin 0 -> 4016 bytes .../usdt/trade/SwapOpenordersRequest.class | Bin 0 -> 3969 bytes .../usdt/trade/SwapOrderDetailRequest.class | Bin 0 -> 4541 bytes .../usdt/trade/SwapOrderInfoRequest.class | Bin 0 -> 2892 bytes .../request/usdt/trade/SwapOrderRequest.class | Bin 0 -> 9829 bytes .../usdt/trade/SwapPositionSideRequest.class | Bin 0 -> 1936 bytes .../trade/SwapRelationTpslOrderRequest.class | Bin 0 -> 3019 bytes .../usdt/trade/SwapTpslCancelRequest.class | Bin 0 -> 3345 bytes .../usdt/trade/SwapTpslCancelallRequest.class | Bin 0 -> 3386 bytes .../usdt/trade/SwapTpslHisordersRequset.class | Bin 0 -> 5008 bytes .../trade/SwapTpslOpenordersRequest.class | Bin 0 -> 4524 bytes .../usdt/trade/SwapTpslOrderRequest.class | Bin 0 -> 7267 bytes .../usdt/trade/SwapTrackCancelRequest.class | Bin 0 -> 3354 bytes .../trade/SwapTrackCancelallRequest.class | Bin 0 -> 3866 bytes .../trade/SwapTrackHisordersRequest.class | Bin 0 -> 5528 bytes .../trade/SwapTrackOpenordersRequest.class | Bin 0 -> 4533 bytes .../usdt/trade/SwapTrackOrderRequest.class | Bin 0 -> 7187 bytes .../usdt/trade/SwapTriggerCancelRequest.class | Bin 0 -> 2421 bytes .../trade/SwapTriggerCancelallRequest.class | Bin 0 -> 2920 bytes .../trade/SwapTriggerHisordersRequest.class | Bin 0 -> 5012 bytes .../trade/SwapTriggerOpenordersRequest.class | Bin 0 -> 3561 bytes .../usdt/trade/SwapTriggerOrderRequest.class | Bin 0 -> 6958 bytes .../transfer/UsdtSwapTransferRequest.class | Bin 0 -> 3939 bytes .../account/ContractAccountInfoResponse.class | Bin 0 -> 3370 bytes .../ContractAccountPositionInfoResponse.class | Bin 0 -> 3813 bytes .../ContractApiTradingStatusResponse.class | Bin 0 -> 3771 bytes .../ContractAvailableLevelRateResponse.class | Bin 0 -> 3799 bytes .../ContractBalanceValuationResponse.class | Bin 0 -> 3771 bytes .../account/ContractFeeResponse.class | Bin 0 -> 3298 bytes ...ContractFinancialRecordExactResponse.class | Bin 0 -> 3827 bytes ...ntractFinancialRecordExactV3Response.class | Bin 0 -> 4376 bytes .../ContractFinancialRecordResponse.class | Bin 0 -> 2967 bytes .../ContractFinancialRecordV3Response.class | Bin 0 -> 4306 bytes ...tractMasterSubTransferRecordResponse.class | Bin 0 -> 3869 bytes .../ContractMasterSubTransferResponse.class | Bin 0 -> 3129 bytes .../account/ContractOrderLimitResponse.class | Bin 0 -> 3066 bytes .../ContractPositionInfoResponse.class | Bin 0 -> 3379 bytes .../ContractPositionLimitResponse.class | Bin 0 -> 3232 bytes .../ContractSubAccountInfoListResponse.class | Bin 0 -> 3799 bytes .../ContractSubAccountInfoResponse.class | Bin 0 -> 3241 bytes .../ContractSubAccountListResponse.class | Bin 0 -> 3241 bytes .../account/ContractSubAuthListResponse.class | Bin 0 -> 2638 bytes .../account/ContractSubAuthResponse.class | Bin 0 -> 3645 bytes .../ContractSubPositionInfoResponse.class | Bin 0 -> 3406 bytes .../ContractTransferLimitResponse.class | Bin 0 -> 3232 bytes ...ontractUserSettlementRecordsResponse.class | Bin 0 -> 3841 bytes .../market/ContractAdjustfactorResponse.class | Bin 0 -> 3372 bytes .../market/ContractApiStateResponse.class | Bin 0 -> 3336 bytes .../market/ContractContractInfoResponse.class | Bin 0 -> 3372 bytes .../ContractDeliveryPriceResponse.class | Bin 0 -> 3086 bytes .../ContractEliteAccountRatioResponse.class | Bin 0 -> 3122 bytes .../ContractElitePositionRatioResponse.class | Bin 0 -> 3131 bytes ...ractEstimatedSettlementPriceResponse.class | Bin 0 -> 3874 bytes .../ContractHisOpenInterestResponse.class | Bin 0 -> 3104 bytes .../market/ContractIndexResponse.class | Bin 0 -> 3309 bytes .../ContractInsuranceFundResponse.class | Bin 0 -> 3086 bytes .../market/ContractLadderMarginResponse.class | Bin 0 -> 3706 bytes .../ContractLiquidationOrdersResponse.class | Bin 0 -> 3122 bytes .../ContractLiquidationOrdersV3Response.class | Bin 0 -> 4325 bytes .../market/ContractOpenInterestResponse.class | Bin 0 -> 3372 bytes .../market/ContractPriceLimitResponse.class | Bin 0 -> 3354 bytes .../ContractQueryElementsResponse.class | Bin 0 -> 3214 bytes .../market/ContractRiskInfoResponse.class | Bin 0 -> 3336 bytes .../ContractSettlementRecordsResponse.class | Bin 0 -> 3776 bytes .../market/MarkPriceKlineResponse.class | Bin 0 -> 4077 bytes .../market/MarketBatchMergedResponse.class | Bin 0 -> 3677 bytes .../market/MarketBboResponse.class | Bin 0 -> 3565 bytes .../market/MarketDepthResponse.class | Bin 0 -> 3433 bytes .../market/MarketDetailMergedResponse.class | Bin 0 -> 3496 bytes .../market/MarketHistoryBasisResponse.class | Bin 0 -> 4133 bytes .../market/MarketHistoryIndexResponse.class | Bin 0 -> 4133 bytes .../market/MarketHistoryKlineResponse.class | Bin 0 -> 3809 bytes .../market/MarketHistoryTradeResponse.class | Bin 0 -> 3815 bytes .../market/MarketTradeResponse.class | Bin 0 -> 3433 bytes .../trade/ContractBatchorderResponse.class | Bin 0 -> 3052 bytes .../trade/ContractCancelAfterResponse.class | Bin 0 -> 4204 bytes .../trade/ContractCancelResponse.class | Bin 0 -> 3016 bytes .../trade/ContractCancelallResponse.class | Bin 0 -> 3986 bytes .../ContractHisordersExactResponse.class | Bin 0 -> 3725 bytes .../ContractHisordersExactV3Response.class | Bin 0 -> 4421 bytes .../trade/ContractHisordersResponse.class | Bin 0 -> 3043 bytes .../trade/ContractHisordersV3Response.class | Bin 0 -> 4204 bytes .../ContractMatchResultsExactV3Response.class | Bin 0 -> 4316 bytes .../ContractMatchResultsV3Response.class | Bin 0 -> 4246 bytes .../ContractMatchresultsExactResponse.class | Bin 0 -> 3767 bytes .../trade/ContractMatchresultsResponse.class | Bin 0 -> 3070 bytes .../trade/ContractOpenordersResponse.class | Bin 0 -> 3052 bytes .../trade/ContractOrderDetailResponse.class | Bin 0 -> 3061 bytes .../trade/ContractOrderInfoResponse.class | Bin 0 -> 3338 bytes .../trade/ContractOrderResponse.class | Bin 0 -> 3007 bytes .../ContractRelationTpslOrderResponse.class | Bin 0 -> 3767 bytes .../ContractSwitchLeverRateResponse.class | Bin 0 -> 4929 bytes .../trade/ContractTpslCancelResponse.class | Bin 0 -> 3669 bytes .../trade/ContractTpslCancelallResponse.class | Bin 0 -> 3711 bytes .../trade/ContractTpslHisordersResponse.class | Bin 0 -> 3711 bytes .../ContractTpslOpenordersResponse.class | Bin 0 -> 3725 bytes .../trade/ContractTpslOrderResponse.class | Bin 0 -> 4707 bytes .../trade/ContractTrackCancelResponse.class | Bin 0 -> 3683 bytes .../ContractTrackCancelallResponse.class | Bin 0 -> 3725 bytes .../ContractTrackHisordersResponse.class | Bin 0 -> 3725 bytes .../ContractTrackOpenordersResponse.class | Bin 0 -> 3739 bytes .../trade/ContractTrackOrderResponse.class | Bin 0 -> 3669 bytes .../trade/ContractTriggerCancelResponse.class | Bin 0 -> 3711 bytes .../ContractTriggerCancelallResponse.class | Bin 0 -> 3753 bytes .../ContractTriggerHisordersResponse.class | Bin 0 -> 3753 bytes .../ContractTriggerOpenordersResponse.class | Bin 0 -> 3767 bytes .../trade/ContractTriggerOrderResponse.class | Bin 0 -> 3697 bytes .../LightningClosePositionResponse.class | Bin 0 -> 3088 bytes .../transfer/AccountTransferResponse.class | Bin 0 -> 3508 bytes .../transfer/FuturesTransferResponse.class | Bin 0 -> 3234 bytes .../account/SwapAccountInfoResponse.class | Bin 0 -> 3313 bytes .../SwapAccountPositionInfoResponse.class | Bin 0 -> 3385 bytes .../SwapApiTradingStatusResponse.class | Bin 0 -> 3688 bytes .../SwapAvailableLevelRateResponse.class | Bin 0 -> 3716 bytes .../SwapBalanceValuationResponse.class | Bin 0 -> 3688 bytes .../coin_swap/account/SwapFeeResponse.class | Bin 0 -> 3241 bytes .../SwapFinancialRecordExactResponse.class | Bin 0 -> 3744 bytes .../SwapFinancialRecordExactV3Response.class | Bin 0 -> 2828 bytes .../account/SwapFinancialRecordResponse.class | Bin 0 -> 2910 bytes .../SwapFinancialRecordV3Response.class | Bin 0 -> 3138 bytes .../SwapMasterSubTransferRecordResponse.class | Bin 0 -> 3491 bytes .../SwapMasterSubTransferResponse.class | Bin 0 -> 3702 bytes .../account/SwapOrderLimitResponse.class | Bin 0 -> 3304 bytes .../account/SwapPositionInfoResponse.class | Bin 0 -> 3166 bytes .../account/SwapPositionLimitResponse.class | Bin 0 -> 3175 bytes .../SwapSubAccountInfoListResponse.class | Bin 0 -> 3716 bytes .../account/SwapSubAccountInfoResponse.class | Bin 0 -> 3184 bytes .../account/SwapSubAccountListResponse.class | Bin 0 -> 3184 bytes .../account/SwapSubAuthResponse.class | Bin 0 -> 3562 bytes .../account/SwapSubPositionInfoResponse.class | Bin 0 -> 3349 bytes .../account/SwapTransferInnerResponse.class | Bin 0 -> 3331 bytes .../account/SwapTransferLimitResponse.class | Bin 0 -> 3175 bytes .../SwapUserSettlementRecordsResponse.class | Bin 0 -> 3758 bytes .../market/BatchMergedResponse.class | Bin 0 -> 3566 bytes .../coin_swap/market/HeartBeatResponse.class | Bin 0 -> 3019 bytes .../market/LinearSwapBasisResponse.class | Bin 0 -> 3761 bytes ...LinearSwapEstimatedRateKlineResponse.class | Bin 0 -> 3878 bytes .../LinearSwapPremiumIndexKlineResponse.class | Bin 0 -> 3869 bytes .../coin_swap/market/MarketBboResponse.class | Bin 0 -> 3538 bytes .../coin_swap/market/SummaryResponse.class | Bin 0 -> 6675 bytes .../market/SwapAdjustfactorResponse.class | Bin 0 -> 3315 bytes .../market/SwapApiStateResponse.class | Bin 0 -> 3279 bytes .../market/SwapBatchFundingRateResponse.class | Bin 0 -> 3679 bytes .../market/SwapContractInfoResponse.class | Bin 0 -> 3315 bytes .../SwapEliteAccountRatioResponse.class | Bin 0 -> 3360 bytes .../SwapElitePositionRatioResponse.class | Bin 0 -> 3369 bytes ...SwapEstimatedSettlementPriceResponse.class | Bin 0 -> 3791 bytes .../market/SwapFundingRateResponse.class | Bin 0 -> 3306 bytes .../market/SwapHisOpenInterestResponse.class | Bin 0 -> 3342 bytes .../SwapHistoricalFundingRateResponse.class | Bin 0 -> 3396 bytes .../coin_swap/market/SwapIndexResponse.class | Bin 0 -> 3252 bytes .../market/SwapInsuranceFundResponse.class | Bin 0 -> 3324 bytes .../market/SwapLadderMarginResponse.class | Bin 0 -> 3623 bytes .../SwapLiquidationOrdersResponse.class | Bin 0 -> 3360 bytes .../market/SwapMarkPriceKlineResponse.class | Bin 0 -> 3651 bytes .../market/SwapMarketDepthResponse.class | Bin 0 -> 3761 bytes .../SwapMarketDetailMergedResponse.class | Bin 0 -> 3824 bytes .../SwapMarketHistoryKlineResponse.class | Bin 0 -> 3824 bytes .../SwapMarketHistoryTradeResponse.class | Bin 0 -> 3830 bytes .../market/SwapMarketTradeResponse.class | Bin 0 -> 3761 bytes .../market/SwapOpenInterestResponse.class | Bin 0 -> 3315 bytes .../market/SwapPriceLimitResponse.class | Bin 0 -> 3297 bytes .../market/SwapRiskInfoResponse.class | Bin 0 -> 3279 bytes .../coin_swap/market/TimestampReponse.class | Bin 0 -> 2418 bytes .../trade/SwapBatchorderResponse.class | Bin 0 -> 2995 bytes .../trade/SwapCancelAfterResponse.class | Bin 0 -> 4121 bytes .../coin_swap/trade/SwapCancelResponse.class | Bin 0 -> 2959 bytes .../trade/SwapCancelallResponse.class | Bin 0 -> 2986 bytes .../trade/SwapHisordersExactResponse.class | Bin 0 -> 3642 bytes .../trade/SwapHisordersResponse.class | Bin 0 -> 2986 bytes .../SwapLightningClosePositionResponse.class | Bin 0 -> 3103 bytes .../trade/SwapMatchresultsExactResponse.class | Bin 0 -> 3684 bytes .../trade/SwapMatchresultsResponse.class | Bin 0 -> 3013 bytes .../trade/SwapOpenordersResponse.class | Bin 0 -> 2995 bytes .../trade/SwapOrderDetailResponse.class | Bin 0 -> 3004 bytes .../trade/SwapOrderInfoResponse.class | Bin 0 -> 3281 bytes .../coin_swap/trade/SwapOrderResponse.class | Bin 0 -> 2950 bytes .../trade/SwapRelationTpslOrderResponse.class | Bin 0 -> 3684 bytes .../trade/SwapSwitchLeverRateResponse.class | Bin 0 -> 4843 bytes .../trade/SwapTpslCancelResponse.class | Bin 0 -> 3586 bytes .../trade/SwapTpslCancelallResponse.class | Bin 0 -> 3628 bytes .../trade/SwapTpslHisordersResponse.class | Bin 0 -> 3628 bytes .../trade/SwapTpslOpenordersResponse.class | Bin 0 -> 3642 bytes .../trade/SwapTpslOrderResponse.class | Bin 0 -> 4762 bytes .../trade/SwapTrackCancelResponse.class | Bin 0 -> 3600 bytes .../trade/SwapTrackCancelallResponse.class | Bin 0 -> 3642 bytes .../trade/SwapTrackHisordersResponse.class | Bin 0 -> 3642 bytes .../trade/SwapTrackOpenordersResponse.class | Bin 0 -> 3656 bytes .../trade/SwapTrackOrderResponse.class | Bin 0 -> 3586 bytes .../trade/SwapTriggerCancelResponse.class | Bin 0 -> 3628 bytes .../trade/SwapTriggerCancelallResponse.class | Bin 0 -> 3670 bytes .../trade/SwapTriggerHisordersResponse.class | Bin 0 -> 3670 bytes .../trade/SwapTriggerOpenordersResponse.class | Bin 0 -> 3684 bytes .../trade/SwapTriggerOrderResponse.class | Bin 0 -> 3614 bytes .../transfer/UsdtSwapTransferResponse.class | Bin 0 -> 3170 bytes ...ixPositionMarginChangeRecordResponse.class | Bin 0 -> 4290 bytes .../FixPositionMarginChangeResponse.class | Bin 0 -> 4206 bytes .../account/LinearSwapFeeSwitchResponse.class | Bin 0 -> 4150 bytes ...inearSwapOverviewAccountInfoResponse.class | Bin 0 -> 4290 bytes .../account/SwapAccountInfoResponse.class | Bin 0 -> 3278 bytes .../SwapAccountPositionInfoResponse.class | Bin 0 -> 3350 bytes .../SwapApiTradingStatusResponse.class | Bin 0 -> 3643 bytes .../SwapAvailableLevelRateResponse.class | Bin 0 -> 3341 bytes .../SwapBalanceValuationResponse.class | Bin 0 -> 3643 bytes .../SwapCrossAccountInfoResponse.class | Bin 0 -> 3643 bytes ...SwapCrossAccountPositionInfoResponse.class | Bin 0 -> 3395 bytes .../SwapCrossAvailableLevelRateResponse.class | Bin 0 -> 3386 bytes .../SwapCrossPositionInfoResponse.class | Bin 0 -> 3176 bytes .../SwapCrossPositionLimitResponse.class | Bin 0 -> 3185 bytes .../SwapCrossSubAccountInfoResponse.class | Bin 0 -> 3194 bytes .../SwapCrossSubAccountListResponse.class | Bin 0 -> 3194 bytes .../SwapCrossSubPositionInfoResponse.class | Bin 0 -> 3359 bytes .../SwapCrossTransferLimitResponse.class | Bin 0 -> 3185 bytes ...apCrossUserSettlementRecordsResponse.class | Bin 0 -> 3783 bytes .../usdt/account/SwapFeeResponse.class | Bin 0 -> 3206 bytes .../SwapFinancialRecordExactResponse.class | Bin 0 -> 3699 bytes .../SwapFinancialRecordExactV3Response.class | Bin 0 -> 4248 bytes .../account/SwapFinancialRecordResponse.class | Bin 0 -> 2875 bytes .../SwapFinancialRecordV3Response.class | Bin 0 -> 3864 bytes .../SwapLeverPositionLimitResponse.class | Bin 0 -> 3671 bytes .../SwapLiquidationOrdersV3Response.class | Bin 0 -> 4206 bytes .../SwapMasterSubTransferRecordResponse.class | Bin 0 -> 3741 bytes .../SwapMasterSubTransferResponse.class | Bin 0 -> 3657 bytes .../usdt/account/SwapOrderLimitResponse.class | Bin 0 -> 3269 bytes .../account/SwapPositionInfoResponse.class | Bin 0 -> 3131 bytes .../account/SwapPositionLimitResponse.class | Bin 0 -> 3140 bytes .../SwapSubAccountInfoListResponse.class | Bin 0 -> 3671 bytes .../account/SwapSubAccountInfoResponse.class | Bin 0 -> 3149 bytes .../account/SwapSubAccountListResponse.class | Bin 0 -> 3149 bytes .../account/SwapSubAuthListResponse.class | Bin 0 -> 3573 bytes .../usdt/account/SwapSubAuthResponse.class | Bin 0 -> 3517 bytes .../account/SwapSubPositionInfoResponse.class | Bin 0 -> 3314 bytes .../SwapSwitchAccountTypeResponse.class | Bin 0 -> 4178 bytes .../account/SwapSwitchLeverRateResponse.class | Bin 0 -> 4504 bytes .../account/SwapTransferInnerResponse.class | Bin 0 -> 3296 bytes .../account/SwapTransferLimitResponse.class | Bin 0 -> 3140 bytes .../SwapUnifiedAccountTypeResponse.class | Bin 0 -> 4192 bytes .../SwapUserSettlementRecordsResponse.class | Bin 0 -> 3713 bytes .../account/UnifiedAccountInfoResponse.class | Bin 0 -> 4826 bytes .../usdt/market/BatchMergedResponse.class | Bin 0 -> 3521 bytes .../usdt/market/BatchMergedV2Response.class | Bin 0 -> 3549 bytes .../usdt/market/LinearSwapBasisResponse.class | Bin 0 -> 3726 bytes ...LinearSwapEstimatedRateKlineResponse.class | Bin 0 -> 3843 bytes .../LinearSwapMarkPriceKlineResponse.class | Bin 0 -> 3690 bytes .../LinearSwapPremiumIndexKlineResponse.class | Bin 0 -> 3834 bytes .../usdt/market/MarketBboResponse.class | Bin 0 -> 3493 bytes .../market/SwapAdjustfactorResponse.class | Bin 0 -> 3280 bytes .../usdt/market/SwapApiStateResponse.class | Bin 0 -> 3244 bytes .../market/SwapBatchFundingRateResponse.class | Bin 0 -> 3634 bytes .../market/SwapContractInfoResponse.class | Bin 0 -> 3280 bytes .../SwapCrossAdjustfactorResponse.class | Bin 0 -> 3648 bytes .../market/SwapCrossTradeStateResponse.class | Bin 0 -> 3620 bytes .../SwapCrossTransferStateResponse.class | Bin 0 -> 3662 bytes .../SwapEliteAccountRatioResponse.class | Bin 0 -> 3325 bytes .../SwapElitePositionRatioResponse.class | Bin 0 -> 3334 bytes ...SwapEstimatedSettlementPriceResponse.class | Bin 0 -> 3746 bytes .../usdt/market/SwapFundingRateResponse.class | Bin 0 -> 3271 bytes .../market/SwapHisOpenInterestResponse.class | Bin 0 -> 3307 bytes .../SwapHistoricalFundingRateResponse.class | Bin 0 -> 3361 bytes .../usdt/market/SwapIndexResponse.class | Bin 0 -> 3217 bytes .../market/SwapInsuranceFundResponse.class | Bin 0 -> 3289 bytes .../market/SwapLadderMarginResponse.class | Bin 0 -> 3578 bytes .../SwapLiquidationOrdersResponse.class | Bin 0 -> 3325 bytes .../usdt/market/SwapMarketDepthResponse.class | Bin 0 -> 3726 bytes .../SwapMarketDetailMergedResponse.class | Bin 0 -> 3789 bytes .../SwapMarketHistoryKlineResponse.class | Bin 0 -> 3789 bytes .../SwapMarketHistoryTradeResponse.class | Bin 0 -> 3795 bytes .../usdt/market/SwapMarketTradeResponse.class | Bin 0 -> 3726 bytes .../market/SwapOpenInterestResponse.class | Bin 0 -> 3280 bytes .../usdt/market/SwapPriceLimitResponse.class | Bin 0 -> 3262 bytes .../market/SwapQueryElementsResponse.class | Bin 0 -> 3086 bytes .../usdt/market/SwapRiskInfoResponse.class | Bin 0 -> 3244 bytes .../SwapSettlementRecordsResponse.class | Bin 0 -> 3648 bytes .../trade/LinearCancelAfterResponse.class | Bin 0 -> 4104 bytes .../usdt/trade/SwapBatchorderResponse.class | Bin 0 -> 2960 bytes .../usdt/trade/SwapCancelResponse.class | Bin 0 -> 2924 bytes .../usdt/trade/SwapCancelallResponse.class | Bin 0 -> 2951 bytes .../trade/SwapCrossBatchorderResponse.class | Bin 0 -> 3005 bytes .../usdt/trade/SwapCrossCancelResponse.class | Bin 0 -> 2969 bytes .../trade/SwapCrossCancelallResponse.class | Bin 0 -> 2996 bytes .../SwapCrossHisordersExactV3Response.class | Bin 0 -> 4319 bytes .../trade/SwapCrossHisordersResponse.class | Bin 0 -> 2996 bytes .../trade/SwapCrossHisordersV3Response.class | Bin 0 -> 4269 bytes ...pCrossLightningClosePositionResponse.class | Bin 0 -> 3113 bytes ...SwapCrossMatchResultsExactV3Response.class | Bin 0 -> 4258 bytes .../SwapCrossMatchResultsV3Response.class | Bin 0 -> 4188 bytes .../trade/SwapCrossMatchresultsResponse.class | Bin 0 -> 3023 bytes .../trade/SwapCrossOpenordersResponse.class | Bin 0 -> 3005 bytes .../trade/SwapCrossOrderDetailResponse.class | Bin 0 -> 3014 bytes .../trade/SwapCrossOrderInfoResponse.class | Bin 0 -> 3291 bytes .../usdt/trade/SwapCrossOrderResponse.class | Bin 0 -> 2960 bytes .../trade/SwapCrossPositionSideResponse.class | Bin 0 -> 3639 bytes .../SwapCrossSwitchLeverRateResponse.class | Bin 0 -> 4535 bytes .../SwapCrossTriggerCancelResponse.class | Bin 0 -> 3653 bytes .../SwapCrossTriggerCancelallResponse.class | Bin 0 -> 3695 bytes .../SwapCrossTriggerHisordersResponse.class | Bin 0 -> 3695 bytes .../SwapCrossTriggerOpenordersResponse.class | Bin 0 -> 3709 bytes .../trade/SwapCrossTriggerOrderResponse.class | Bin 0 -> 3639 bytes .../trade/SwapHisordersExactResponse.class | Bin 0 -> 3597 bytes .../trade/SwapHisordersExactV3Response.class | Bin 0 -> 4146 bytes .../usdt/trade/SwapHisordersResponse.class | Bin 0 -> 2951 bytes .../usdt/trade/SwapHisordersV3Response.class | Bin 0 -> 4076 bytes .../SwapLightningClosePositionResponse.class | Bin 0 -> 3068 bytes .../SwapMatchResultsExactV3Response.class | Bin 0 -> 4188 bytes .../trade/SwapMatchResultsV3Response.class | Bin 0 -> 4118 bytes .../trade/SwapMatchresultsExactResponse.class | Bin 0 -> 3639 bytes .../usdt/trade/SwapMatchresultsResponse.class | Bin 0 -> 2978 bytes .../usdt/trade/SwapOpenordersResponse.class | Bin 0 -> 2960 bytes .../usdt/trade/SwapOrderDetailResponse.class | Bin 0 -> 2969 bytes .../usdt/trade/SwapOrderInfoResponse.class | Bin 0 -> 3246 bytes .../usdt/trade/SwapOrderResponse.class | Bin 0 -> 2915 bytes .../usdt/trade/SwapPositionSideResponse.class | Bin 0 -> 3063 bytes .../trade/SwapRelationTpslOrderResponse.class | Bin 0 -> 3639 bytes .../trade/SwapSwitchLeverRateResponse.class | Bin 0 -> 4490 bytes .../SwapSwitchPositionModeResponse.class | Bin 0 -> 3653 bytes .../usdt/trade/SwapTpslCancelResponse.class | Bin 0 -> 3541 bytes .../trade/SwapTpslCancelallResponse.class | Bin 0 -> 3583 bytes .../trade/SwapTpslHisordersResponse.class | Bin 0 -> 3583 bytes .../trade/SwapTpslOpenordersResponse.class | Bin 0 -> 3597 bytes .../usdt/trade/SwapTpslOrderResponse.class | Bin 0 -> 4717 bytes .../usdt/trade/SwapTrackCancelResponse.class | Bin 0 -> 3555 bytes .../trade/SwapTrackCancelallResponse.class | Bin 0 -> 3597 bytes .../trade/SwapTrackHisordersResponse.class | Bin 0 -> 3597 bytes .../trade/SwapTrackOpenordersResponse.class | Bin 0 -> 3611 bytes .../usdt/trade/SwapTrackOrderResponse.class | Bin 0 -> 3541 bytes .../trade/SwapTriggerCancelResponse.class | Bin 0 -> 3583 bytes .../trade/SwapTriggerCancelallResponse.class | Bin 0 -> 3625 bytes .../trade/SwapTriggerHisordersResponse.class | Bin 0 -> 3625 bytes .../trade/SwapTriggerOpenordersResponse.class | Bin 0 -> 3639 bytes .../usdt/trade/SwapTriggerOrderResponse.class | Bin 0 -> 3569 bytes .../transfer/UsdtSwapTransferResponse.class | Bin 0 -> 3088 bytes .../account/AccountAPIService.class | Bin 0 -> 3918 bytes .../account/AccountAPIServiceImpl.class | Bin 0 -> 20691 bytes .../market/MarketAPIService.class | Bin 0 -> 1828 bytes .../market/MarketAPIServiceImpl.class | Bin 0 -> 9187 bytes .../reference/ReferenceAPIService.class | Bin 0 -> 3138 bytes .../reference/ReferenceAPIServiceImpl.class | Bin 0 -> 15693 bytes .../strategy/StrategyAPIService.class | Bin 0 -> 3388 bytes .../strategy/StrategyAPIServiceImpl.class | Bin 0 -> 20509 bytes .../coin_futures/trade/TradeAPIService.class | Bin 0 -> 2895 bytes .../trade/TradeAPIServiceImpl.class | Bin 0 -> 20360 bytes .../transfer/TransferApiService.class | Bin 0 -> 568 bytes .../transfer/TransferApiServiceImpl.class | Bin 0 -> 3734 bytes .../coin_swap/account/AccountAPIService.class | Bin 0 -> 3671 bytes .../account/AccountAPIServiceImpl.class | Bin 0 -> 20379 bytes .../coin_swap/market/MarketAPIService.class | Bin 0 -> 1983 bytes .../market/MarketAPIServiceImpl.class | Bin 0 -> 10608 bytes .../reference/ReferenceAPIService.class | Bin 0 -> 3343 bytes .../reference/ReferenceAPIServiceImpl.class | Bin 0 -> 17998 bytes .../strategy/StrategyAPIService.class | Bin 0 -> 3117 bytes .../strategy/StrategyAPIServiceImpl.class | Bin 0 -> 19211 bytes .../coin_swap/trade/TradeAPIService.class | Bin 0 -> 2638 bytes .../coin_swap/trade/TradeAPIServiceImpl.class | Bin 0 -> 19422 bytes .../transfer/TransferApiService.class | Bin 0 -> 356 bytes .../transfer/TransferApiServiceImpl.class | Bin 0 -> 2705 bytes .../usdt/account/AccountAPIService.class | Bin 0 -> 3977 bytes .../usdt/account/AccountAPIServiceImpl.class | Bin 0 -> 21850 bytes .../usdt/account/CrossAccountAPIService.class | Bin 0 -> 2276 bytes .../account/CrossAccountAPIServiceImpl.class | Bin 0 -> 12221 bytes .../usdt/market/MarketAPIService.class | Bin 0 -> 2289 bytes .../usdt/market/MarketAPIServiceImpl.class | Bin 0 -> 11861 bytes .../reference/CrossReferenceAPIService.class | Bin 0 -> 634 bytes .../CrossReferenceAPIServiceImpl.class | Bin 0 -> 4160 bytes .../usdt/reference/ReferenceAPIService.class | Bin 0 -> 3205 bytes .../reference/ReferenceAPIServiceImpl.class | Bin 0 -> 16764 bytes .../strategy/CrossStrategyAPIService.class | Bin 0 -> 3092 bytes .../CrossStrategyAPIServiceImpl.class | Bin 0 -> 20781 bytes .../usdt/strategy/StrategyAPIService.class | Bin 0 -> 2952 bytes .../strategy/StrategyAPIServiceImpl.class | Bin 0 -> 18951 bytes .../usdt/trade/CrossTradeAPIService.class | Bin 0 -> 3184 bytes .../usdt/trade/CrossTradeAPIServiceImpl.class | Bin 0 -> 22763 bytes .../service/usdt/trade/TradeAPIService.class | Bin 0 -> 2903 bytes .../usdt/trade/TradeAPIServiceImpl.class | Bin 0 -> 21178 bytes .../transfer/CrossTransferAPIService.class | Bin 0 -> 335 bytes .../CrossTransferAPIServiceImpl.class | Bin 0 -> 2941 bytes .../usdt/transfer/TransferAPIService.class | Bin 0 -> 341 bytes .../transfer/TransferAPIServiceImpl.class | Bin 0 -> 2920 bytes .../UnifiedAccountAPIService.class | Bin 0 -> 1270 bytes .../UnifiedAccountAPIServiceImpl.class | Bin 0 -> 8545 bytes .../com/huobi/api/util/ApiSignature.class | Bin 0 -> 5829 bytes .../huobi/api/util/ApiSignatureEd25519.class | Bin 0 -> 7380 bytes .../com/huobi/api/util/HbdmHttpClient.class | Bin 0 -> 8732 bytes .../com/huobi/wss/SubscriptionListener.class | Bin 0 -> 439 bytes .../constants/HuobiFutureWSSConstants.class | Bin 0 -> 1773 bytes .../constants/HuobiSwapsWSSConstants.class | Bin 0 -> 2453 bytes .../wss/constants/HuobiUsdtWSSConstants.class | Bin 0 -> 2876 bytes .../wss/event/AccountCrossSubResponse.class | Bin 0 -> 4778 bytes .../huobi/wss/event/AccountsSubResponse.class | Bin 0 -> 4363 bytes .../event/ContractElementSubResponse.class | Bin 0 -> 4188 bytes .../event/LiquidationOrdersSubResponse.class | Bin 0 -> 5884 bytes .../MarketBasisPriceTypeReqResponse.class | Bin 0 -> 4642 bytes .../MarketBasisPriceTypeSubResponse.class | Bin 0 -> 2915 bytes .../wss/event/MarketBboSubResponse.class | Bin 0 -> 2816 bytes .../event/MarketDepthDiffSubResponse.class | Bin 0 -> 2870 bytes .../wss/event/MarketDepthSubResponse.class | Bin 0 -> 2834 bytes .../wss/event/MarketDetailSubResponse.class | Bin 0 -> 2843 bytes .../MarketEstimatedRateReqResponse.class | Bin 0 -> 4633 bytes .../MarketEstimatedRateSubResponse.class | Bin 0 -> 2765 bytes .../wss/event/MarketIndexReqResponse.class | Bin 0 -> 4561 bytes .../wss/event/MarketIndexSubResponse.class | Bin 0 -> 2693 bytes .../wss/event/MarketKLineReqResponse.class | Bin 0 -> 4094 bytes .../wss/event/MarketKLineSubResponse.class | Bin 0 -> 2834 bytes .../event/MarketMarkPriceReqResponse.class | Bin 0 -> 4597 bytes .../event/MarketMarkPriceSubResponse.class | Bin 0 -> 2729 bytes .../event/MarketPremiumIndexReqResponse.class | Bin 0 -> 4624 bytes .../event/MarketPremiumIndexSubResponse.class | Bin 0 -> 2756 bytes .../event/MarketTradeDetailReqResponse.class | Bin 0 -> 3673 bytes .../event/MarketTradeDetailSubResponse.class | Bin 0 -> 2888 bytes .../event/MatchOrdersCrossSubResponse.class | Bin 0 -> 18560 bytes .../huobi/wss/event/MatchOrdersResponse.class | Bin 0 -> 14926 bytes .../wss/event/MatchOrdersSubResponse.class | Bin 0 -> 16491 bytes .../huobi/wss/event/OrdersSubResponse.class | Bin 0 -> 22435 bytes .../wss/event/PositionsSubResponse.class | Bin 0 -> 4543 bytes .../PublicContractInfoFutureSubResponse.class | Bin 0 -> 4037 bytes .../event/PublicContractInfoResponse.class | Bin 0 -> 4123 bytes .../wss/event/PublicFundingRateResponse.class | Bin 0 -> 3905 bytes .../event/PublicHeartbeatSubResponse.class | Bin 0 -> 4070 bytes .../huobi/wss/event/PublicSubResponse.class | Bin 0 -> 3397 bytes .../SwapContractElementSubResponse.class | Bin 0 -> 3284 bytes .../SymbolContractElementSubResponse.class | Bin 0 -> 3855 bytes .../event/TriggerOrderCrossSubResponse.class | Bin 0 -> 4903 bytes .../wss/event/TriggerOrderSubResponse.class | Bin 0 -> 4833 bytes .../huobi/wss/handle/WssMarketHandle.class | Bin 0 -> 6149 bytes .../huobi/wss/handle/WssMarketReqHandle.class | Bin 0 -> 4278 bytes .../wss/handle/WssNotificationHandle.class | Bin 0 -> 7885 bytes .../com/huobi/wss/request/WssRequest.class | Bin 0 -> 3150 bytes .../com/huobi/wss/util/ApiSignature.class | Bin 0 -> 5740 bytes .../huobi/wss/util/ApiSignatureEd25519.class | Bin 0 -> 6965 bytes .../classes/com/huobi/wss/util/ZipUtil.class | Bin 0 -> 1152 bytes target/classes/logback.xml | 71 ++ .../future/api/AccountAPIEd25119Test.class | Bin 0 -> 16607 bytes .../future/api/AccountAPIHmac256Test.class | Bin 0 -> 16521 bytes .../com/huobi/future/api/BaseTest.class | Bin 0 -> 346 bytes .../com/huobi/future/api/MarketAPITest.class | Bin 0 -> 4823 bytes .../huobi/future/api/ReferenceAPITest.class | Bin 0 -> 9866 bytes .../huobi/future/api/StrategyAPITest.class | Bin 0 -> 24047 bytes .../com/huobi/future/api/TradeAPITest.class | Bin 0 -> 18641 bytes .../huobi/future/api/TransferAPITest.class | Bin 0 -> 2974 bytes .../wss/WssCenterNotificationSubTest.class | Bin 0 -> 3466 bytes .../huobi/future/wss/WssIndexReqTest.class | Bin 0 -> 5453 bytes .../huobi/future/wss/WssIndexSubTest.class | Bin 0 -> 4558 bytes .../huobi/future/wss/WssMarketReqTest.class | Bin 0 -> 4716 bytes .../huobi/future/wss/WssMarketSubTest.class | Bin 0 -> 7343 bytes .../future/wss/WssNotificationSubTest.class | Bin 0 -> 7943 bytes .../com/huobi/swap/api/AccountAPITest.class | Bin 0 -> 14534 bytes .../com/huobi/swap/api/BaseTest.class | Bin 0 -> 344 bytes .../com/huobi/swap/api/MarketAPITest.class | Bin 0 -> 7163 bytes .../com/huobi/swap/api/ReferenceAPITest.class | Bin 0 -> 10876 bytes .../com/huobi/swap/api/StrategyAPITest.class | Bin 0 -> 21940 bytes .../com/huobi/swap/api/TradeAPITest.class | Bin 0 -> 17542 bytes .../com/huobi/swap/api/TransferAPITest.class | Bin 0 -> 2397 bytes .../wss/WssCenterNotificationSubTest.class | Bin 0 -> 3310 bytes .../com/huobi/swap/wss/WssIndexReqTest.class | Bin 0 -> 7177 bytes .../com/huobi/swap/wss/WssIndexSubTest.class | Bin 0 -> 6037 bytes .../com/huobi/swap/wss/WssMarketReqTest.class | Bin 0 -> 4718 bytes .../com/huobi/swap/wss/WssMarketSubTest.class | Bin 0 -> 6906 bytes .../swap/wss/WssNotificationSubTest.class | Bin 0 -> 8488 bytes .../com/huobi/usdt/api/AccountAPITest.class | Bin 0 -> 14136 bytes .../com/huobi/usdt/api/BaseTest.class | Bin 0 -> 344 bytes .../huobi/usdt/api/CrossAccountAPITest.class | Bin 0 -> 7107 bytes .../usdt/api/CrossReferenceAPITest.class | Bin 0 -> 1810 bytes .../huobi/usdt/api/CrossSrategyAPITest.class | Bin 0 -> 21690 bytes .../huobi/usdt/api/CrossTradeAPITest.class | Bin 0 -> 18269 bytes .../huobi/usdt/api/CrossTransferAPITest.class | Bin 0 -> 1349 bytes .../com/huobi/usdt/api/MarketAPITest.class | Bin 0 -> 7525 bytes .../com/huobi/usdt/api/ReferenceAPITest.class | Bin 0 -> 15504 bytes .../com/huobi/usdt/api/SrategyAPITest.class | Bin 0 -> 21181 bytes .../com/huobi/usdt/api/TradeAPITest.class | Bin 0 -> 18269 bytes .../com/huobi/usdt/api/TransferAPITest.class | Bin 0 -> 2380 bytes .../usdt/api/UnifiedAccountAPITest.class | Bin 0 -> 5516 bytes .../wss/WssCenterNotificationSubTest.class | Bin 0 -> 3317 bytes .../com/huobi/usdt/wss/WssIndexReqTest.class | Bin 0 -> 7175 bytes .../com/huobi/usdt/wss/WssIndexSubTest.class | Bin 0 -> 6042 bytes .../com/huobi/usdt/wss/WssMarketReqTest.class | Bin 0 -> 4727 bytes .../com/huobi/usdt/wss/WssMarketSubTest.class | Bin 0 -> 6926 bytes .../usdt/wss/WssNotificationSubTest.class | Bin 0 -> 9605 bytes tests/README.md | 5 - tests/config.py | 5 - .../restapi/test_rest_account_coin_future.py | 166 ----- .../restapi/test_rest_market_coin_future.py | 88 --- .../test_rest_reference_coin_future.py | 158 ----- .../restapi/test_rest_strategy_coin_future.py | 132 ---- .../restapi/test_rest_trade_coin_future.py | 157 ----- .../restapi/test_rest_transfer_coin_future.py | 32 - .../websocket/test_ws_account_coin_future.py | 31 - .../websocket/test_ws_index_coin_future.py | 48 -- .../websocket/test_ws_market_coin_future.py | 48 -- .../websocket/test_ws_system_coin_future.py | 25 - .../restapi/test_rest_account_coin_swap.py | 158 ----- .../restapi/test_rest_market_coin_swap.py | 95 --- .../restapi/test_rest_reference_coin_swap.py | 172 ----- .../restapi/test_rest_strategy_coin_swap.py | 132 ---- .../restapi/test_rest_trade_coin_swap.py | 157 ----- .../restapi/test_rest_transfer_coin_swap.py | 25 - .../websocket/test_ws_account_coin_swap.py | 34 - .../websocket/test_ws_index_coin_swap.py | 48 -- .../websocket/test_ws_market_coin_swap.py | 48 -- .../websocket/test_ws_system_coin_swap.py | 25 - .../restapi/test_rest_account_usdt_swap.py | 167 ----- .../test_rest_cross_account_usdt_swap.py | 96 --- .../test_rest_cross_reference_usdt_swap.py | 32 - .../test_rest_cross_strategy_usdt_swap.py | 131 ---- .../test_rest_cross_trade_usdt_swap.py | 170 ----- .../test_rest_cross_transfer_usdt_swap.py | 25 - .../restapi/test_rest_market_usdt_swap.py | 103 --- .../restapi/test_rest_reference_usdt_swap.py | 179 ----- .../restapi/test_rest_strategy_usdt_swap.py | 131 ---- .../restapi/test_rest_trade_usdt_swap.py | 163 ----- .../restapi/test_rest_transfer_usdt_swap.py | 26 - .../websocket/test_ws_account_usdt_swap.py | 41 -- .../websocket/test_ws_index_usdt_swap.py | 48 -- .../websocket/test_ws_market_usdt_swap.py | 48 -- .../websocket/test_ws_system_usdt_swap.py | 25 - tests/test_http_utils.py | 23 - tests/test_ws_utils.py | 53 -- tests/websocket_test.py | 145 ---- 1464 files changed, 43269 insertions(+), 23738 deletions(-) delete mode 100644 .gitignore delete mode 100644 .vscode/settings.json create mode 100644 CONTRIBUTING.md delete mode 100644 LICENSE.txt delete mode 100644 alpha/__init__.py delete mode 100644 alpha/asset.py delete mode 100644 alpha/bbo.py delete mode 100644 alpha/config.py delete mode 100644 alpha/const.py delete mode 100644 alpha/contractelements.py delete mode 100644 alpha/depth.py delete mode 100644 alpha/detail.py delete mode 100644 alpha/error.py delete mode 100644 alpha/heartbeat.py delete mode 100644 alpha/kline.py delete mode 100644 alpha/market.py delete mode 100644 alpha/markettrade.py delete mode 100644 alpha/order.py delete mode 100644 alpha/orderbook.py delete mode 100644 alpha/platforms/huobi_coin_future/restapi/rest_account_coin_future.py delete mode 100644 alpha/platforms/huobi_coin_future/restapi/rest_account_sync.py delete mode 100644 alpha/platforms/huobi_coin_future/restapi/rest_market_coin_future.py delete mode 100644 alpha/platforms/huobi_coin_future/restapi/rest_market_sync.py delete mode 100644 alpha/platforms/huobi_coin_future/restapi/rest_reference_coin_future.py delete mode 100644 alpha/platforms/huobi_coin_future/restapi/rest_reference_sync.py delete mode 100644 alpha/platforms/huobi_coin_future/restapi/rest_strategy_coin_future.py delete mode 100644 alpha/platforms/huobi_coin_future/restapi/rest_strategy_sync.py delete mode 100644 alpha/platforms/huobi_coin_future/restapi/rest_trade_coin_future.py delete mode 100644 alpha/platforms/huobi_coin_future/restapi/rest_trade_sync.py delete mode 100644 alpha/platforms/huobi_coin_future/restapi/rest_transfer_coin_future.py delete mode 100644 alpha/platforms/huobi_coin_future/restapi/rest_transfer_sync.py delete mode 100644 alpha/platforms/huobi_coin_future/websocket/huobi_future_market.py delete mode 100644 alpha/platforms/huobi_coin_future/websocket/huobi_future_trade.py delete mode 100644 alpha/platforms/huobi_coin_future/websocket/ws_account_coin_future.py delete mode 100644 alpha/platforms/huobi_coin_future/websocket/ws_index_coin_future.py delete mode 100644 alpha/platforms/huobi_coin_future/websocket/ws_market_coin_future.py delete mode 100644 alpha/platforms/huobi_coin_future/websocket/ws_system_coin_future.py delete mode 100644 alpha/platforms/huobi_coin_swap/restapi/rest_account_coin_swap.py delete mode 100644 alpha/platforms/huobi_coin_swap/restapi/rest_account_sync.py delete mode 100644 alpha/platforms/huobi_coin_swap/restapi/rest_market_coin_swap.py delete mode 100644 alpha/platforms/huobi_coin_swap/restapi/rest_market_sync.py delete mode 100644 alpha/platforms/huobi_coin_swap/restapi/rest_reference_coin_swap.py delete mode 100644 alpha/platforms/huobi_coin_swap/restapi/rest_reference_sync.py delete mode 100644 alpha/platforms/huobi_coin_swap/restapi/rest_strategy_coin_swap.py delete mode 100644 alpha/platforms/huobi_coin_swap/restapi/rest_strategy_sync.py delete mode 100644 alpha/platforms/huobi_coin_swap/restapi/rest_trade_coin_swap.py delete mode 100644 alpha/platforms/huobi_coin_swap/restapi/rest_trade_sync.py delete mode 100644 alpha/platforms/huobi_coin_swap/restapi/rest_transfer_coin_swap.py delete mode 100644 alpha/platforms/huobi_coin_swap/restapi/rest_transfer_sync.py delete mode 100644 alpha/platforms/huobi_coin_swap/websocket/__init__.py delete mode 100644 alpha/platforms/huobi_coin_swap/websocket/huobi_swap_market.py delete mode 100644 alpha/platforms/huobi_coin_swap/websocket/huobi_swap_trade.py delete mode 100644 alpha/platforms/huobi_coin_swap/websocket/ws_account_coin_swap.py delete mode 100644 alpha/platforms/huobi_coin_swap/websocket/ws_index_coin_swap.py delete mode 100644 alpha/platforms/huobi_coin_swap/websocket/ws_market_coin_swap.py delete mode 100644 alpha/platforms/huobi_coin_swap/websocket/ws_system_coin_swap.py delete mode 100644 alpha/platforms/huobi_option/__init__.py delete mode 100644 alpha/platforms/huobi_option/huobi_option_api.py delete mode 100644 alpha/platforms/huobi_option/huobi_option_market.py delete mode 100644 alpha/platforms/huobi_option/huobi_option_trade.py delete mode 100644 alpha/platforms/huobi_usdt_swap/__init__.py delete mode 100644 alpha/platforms/huobi_usdt_swap/restapi/__init__.py delete mode 100644 alpha/platforms/huobi_usdt_swap/restapi/rest_account_sync.py delete mode 100644 alpha/platforms/huobi_usdt_swap/restapi/rest_account_usdt_swap.py delete mode 100644 alpha/platforms/huobi_usdt_swap/restapi/rest_cross_account_sync.py delete mode 100644 alpha/platforms/huobi_usdt_swap/restapi/rest_cross_account_usdt_swap.py delete mode 100644 alpha/platforms/huobi_usdt_swap/restapi/rest_cross_reference_sync.py delete mode 100644 alpha/platforms/huobi_usdt_swap/restapi/rest_cross_reference_usdt_swap.py delete mode 100644 alpha/platforms/huobi_usdt_swap/restapi/rest_cross_strategy_sync.py delete mode 100644 alpha/platforms/huobi_usdt_swap/restapi/rest_cross_strategy_usdt_swap.py delete mode 100644 alpha/platforms/huobi_usdt_swap/restapi/rest_cross_trade_sync.py delete mode 100644 alpha/platforms/huobi_usdt_swap/restapi/rest_cross_trade_usdt_swap.py delete mode 100644 alpha/platforms/huobi_usdt_swap/restapi/rest_cross_transfer_sync.py delete mode 100644 alpha/platforms/huobi_usdt_swap/restapi/rest_cross_transfer_usdt_swap.py delete mode 100644 alpha/platforms/huobi_usdt_swap/restapi/rest_market_sync.py delete mode 100644 alpha/platforms/huobi_usdt_swap/restapi/rest_market_usdt_swap.py delete mode 100644 alpha/platforms/huobi_usdt_swap/restapi/rest_reference_sync.py delete mode 100644 alpha/platforms/huobi_usdt_swap/restapi/rest_reference_usdt_swap.py delete mode 100644 alpha/platforms/huobi_usdt_swap/restapi/rest_strategy_sync.py delete mode 100644 alpha/platforms/huobi_usdt_swap/restapi/rest_strategy_usdt_swap.py delete mode 100644 alpha/platforms/huobi_usdt_swap/restapi/rest_trade_sync.py delete mode 100644 alpha/platforms/huobi_usdt_swap/restapi/rest_trade_usdt_swap.py delete mode 100644 alpha/platforms/huobi_usdt_swap/restapi/rest_transfer_sync.py delete mode 100644 alpha/platforms/huobi_usdt_swap/restapi/rest_transfer_usdt_swap.py delete mode 100644 alpha/platforms/huobi_usdt_swap/restapi/rest_unified_account_sync.py delete mode 100644 alpha/platforms/huobi_usdt_swap/restapi/rest_unified_account_usdt_swap.py delete mode 100644 alpha/platforms/huobi_usdt_swap/websocket/__init__.py delete mode 100644 alpha/platforms/huobi_usdt_swap/websocket/huobi_usdt_swap_cross_trade.py delete mode 100644 alpha/platforms/huobi_usdt_swap/websocket/huobi_usdt_swap_market.py delete mode 100644 alpha/platforms/huobi_usdt_swap/websocket/huobi_usdt_swap_trade.py delete mode 100644 alpha/platforms/huobi_usdt_swap/websocket/ws_account_usdt_swap.py delete mode 100644 alpha/platforms/huobi_usdt_swap/websocket/ws_index_usdt_swap.py delete mode 100644 alpha/platforms/huobi_usdt_swap/websocket/ws_market_usdt_swap.py delete mode 100644 alpha/platforms/huobi_usdt_swap/websocket/ws_system_usdt_swap.py delete mode 100644 alpha/platforms/logger.py delete mode 100644 alpha/position.py delete mode 100644 alpha/quant.py delete mode 100644 alpha/tasks.py delete mode 100644 alpha/trade.py delete mode 100644 alpha/utils/__init__.py delete mode 100644 alpha/utils/decorator.py delete mode 100644 alpha/utils/dingding.py delete mode 100644 alpha/utils/http_utils.py delete mode 100644 alpha/utils/logger.py delete mode 100644 alpha/utils/mongo.py delete mode 100644 alpha/utils/request.py delete mode 100644 alpha/utils/tools.py delete mode 100644 alpha/utils/websocket.py delete mode 100644 alpha/utils/ws_utils.py delete mode 100644 docs/config/README.md delete mode 100644 docs/framework.png delete mode 100644 examples/README.md delete mode 100644 examples/huobi_future/config.json delete mode 100644 examples/huobi_future/config.json-e delete mode 100644 examples/huobi_future/main.py delete mode 100644 examples/huobi_future/run.sh delete mode 100644 examples/huobi_future/strategy.py delete mode 100644 examples/huobi_option_mm/README.md delete mode 100644 examples/huobi_option_mm/config.json delete mode 100644 examples/huobi_option_mm/main.py delete mode 100644 examples/huobi_option_mm/run.sh delete mode 100644 examples/huobi_option_mm/strategy.py delete mode 100644 examples/huobi_swap/config.json delete mode 100644 examples/huobi_swap/config.json-e delete mode 100644 examples/huobi_swap/main.py delete mode 100644 examples/huobi_swap/run.sh delete mode 100644 examples/huobi_swap/strategy.py delete mode 100644 examples/huobi_usdt_swap/config.json delete mode 100644 examples/huobi_usdt_swap/main.py delete mode 100644 examples/huobi_usdt_swap/run.sh delete mode 100644 examples/huobi_usdt_swap/strategy.py delete mode 100644 examples/huobi_usdt_swap_cross/config.json delete mode 100644 examples/huobi_usdt_swap_cross/main.py delete mode 100644 examples/huobi_usdt_swap_cross/run.sh delete mode 100644 examples/huobi_usdt_swap_cross/strategy.py delete mode 100644 examples/huobi_usdt_swap_cross_order_latency_test/config.json delete mode 100644 examples/huobi_usdt_swap_cross_order_latency_test/main.py delete mode 100644 examples/huobi_usdt_swap_cross_order_latency_test/run.sh delete mode 100644 examples/huobi_usdt_swap_cross_order_latency_test/strategy.py delete mode 100644 examples/kline_to_mongo/config.json delete mode 100644 examples/kline_to_mongo/main.py delete mode 100644 examples/kline_to_mongo/run.sh delete mode 100644 examples/kline_to_mongo/strategy.py create mode 100644 log/debug.log create mode 100644 log/debug/debug.2024-01-16_14.log create mode 100644 log/debug/debug.2024-01-18_11.log create mode 100644 log/debug/debug.2024-01-18_12.log create mode 100644 log/debug/debug.2024-01-18_13.log create mode 100644 log/debug/debug.2024-01-19_16.log create mode 100644 log/debug/debug.2024-01-20_14.log create mode 100644 log/debug/debug.2024-01-20_15.log create mode 100644 log/debug/debug.2024-01-22_23.log create mode 100644 log/debug/debug.2024-01-23_10.log create mode 100644 log/debug/debug.2024-01-23_11.log create mode 100644 log/debug/debug.2024-01-23_12.log create mode 100644 log/debug/debug.2024-01-23_13.log create mode 100644 log/debug/debug.2024-01-23_14.log create mode 100644 log/debug/debug.2024-01-23_15.log create mode 100644 log/debug/debug.2024-10-21_17.log create mode 100644 log/debug/debug.2024-10-21_18.log create mode 100644 log/debug/debug.2024-10-22_10.log create mode 100644 log/debug/debug.2024-10-22_14.log create mode 100644 log/debug/debug.2024-10-22_15.log create mode 100644 log/error.log rename alpha/platforms/__init__.py => log/error/error.2024-01-16_11.log (100%) create mode 100644 log/error/error.2024-01-18_12.log create mode 100644 log/error/error.2024-01-18_13.log rename alpha/platforms/huobi_coin_future/__init__.py => log/error/error.2024-10-21_17.log (100%) create mode 100644 log/info.log rename alpha/platforms/huobi_coin_future/websocket/__init__.py => log/info/info.2024-01-16_11.log (100%) create mode 100644 log/info/info.2024-01-18_11.log create mode 100644 log/info/info.2024-01-18_12.log create mode 100644 log/info/info.2024-01-18_13.log rename alpha/platforms/huobi_coin_swap/__init__.py => log/info/info.2024-10-21_17.log (100%) create mode 100644 pom.xml delete mode 100644 requirements.txt delete mode 100644 setup.py create mode 100644 src/main/java/com/huobi/api/constants/HuobiCoinMarginedSwapAPIOptions.java create mode 100644 src/main/java/com/huobi/api/constants/HuobiFutureAPIConstants.java create mode 100644 src/main/java/com/huobi/api/constants/HuobiLinearSwapAPIConstants.java create mode 100644 src/main/java/com/huobi/api/constants/HuobiLinearSwapCrossAPIConstants.java create mode 100644 src/main/java/com/huobi/api/enums/DirectionEnum.java create mode 100644 src/main/java/com/huobi/api/enums/OffsetEnum.java create mode 100644 src/main/java/com/huobi/api/enums/OrderPriceTypeEnum.java create mode 100644 src/main/java/com/huobi/api/enums/OrderStatusEnum.java create mode 100644 src/main/java/com/huobi/api/enums/OrderTypeEnum.java create mode 100644 src/main/java/com/huobi/api/enums/TimePeriodTypeEnum.java create mode 100644 src/main/java/com/huobi/api/enums/TradeTypeEnum.java create mode 100644 src/main/java/com/huobi/api/exception/ApiException.java create mode 100644 src/main/java/com/huobi/api/exception/HttpRequestException.java create mode 100644 src/main/java/com/huobi/api/request/coin_futures/account/ContractFinancialRecordExactRequest.java create mode 100644 src/main/java/com/huobi/api/request/coin_futures/account/ContractFinancialRecordExactV3Request.java create mode 100644 src/main/java/com/huobi/api/request/coin_futures/account/ContractFinancialRecordRequest.java create mode 100644 src/main/java/com/huobi/api/request/coin_futures/account/ContractFinancialRecordV3Request.java create mode 100644 src/main/java/com/huobi/api/request/coin_futures/account/ContractMasterSubTransferRecordRequest.java create mode 100644 src/main/java/com/huobi/api/request/coin_futures/account/ContractMasterSubTransferRequest.java create mode 100644 src/main/java/com/huobi/api/request/coin_futures/account/ContractSettlementRecordsRequest.java create mode 100644 src/main/java/com/huobi/api/request/coin_futures/account/ContractSubAccountInfoListRequest.java create mode 100644 src/main/java/com/huobi/api/request/coin_futures/account/ContractSubAuthListRequest.java create mode 100644 src/main/java/com/huobi/api/request/coin_futures/account/ContractUserSettlementRecordsRequest.java create mode 100644 src/main/java/com/huobi/api/request/coin_futures/market/ContractLiquidationOrdersV3Request.java create mode 100644 src/main/java/com/huobi/api/request/coin_futures/trade/ContractBatchorderRequest.java create mode 100644 src/main/java/com/huobi/api/request/coin_futures/trade/ContractCancelAfterRequest.java create mode 100644 src/main/java/com/huobi/api/request/coin_futures/trade/ContractCancelRequest.java create mode 100644 src/main/java/com/huobi/api/request/coin_futures/trade/ContractCancelallRequest.java create mode 100644 src/main/java/com/huobi/api/request/coin_futures/trade/ContractHisordersExactRequest.java create mode 100644 src/main/java/com/huobi/api/request/coin_futures/trade/ContractHisordersExactV3Request.java create mode 100644 src/main/java/com/huobi/api/request/coin_futures/trade/ContractHisordersRequest.java create mode 100644 src/main/java/com/huobi/api/request/coin_futures/trade/ContractHisordersV3Request.java create mode 100644 src/main/java/com/huobi/api/request/coin_futures/trade/ContractMatchResultsExactV3Request.java create mode 100644 src/main/java/com/huobi/api/request/coin_futures/trade/ContractMatchResultsV3Request.java create mode 100644 src/main/java/com/huobi/api/request/coin_futures/trade/ContractMatchresultsExactRequest.java create mode 100644 src/main/java/com/huobi/api/request/coin_futures/trade/ContractMatchresultsRequest.java create mode 100644 src/main/java/com/huobi/api/request/coin_futures/trade/ContractOpenordersRequest.java create mode 100644 src/main/java/com/huobi/api/request/coin_futures/trade/ContractOrderDetailRequest.java create mode 100644 src/main/java/com/huobi/api/request/coin_futures/trade/ContractOrderInfoRequest.java create mode 100644 src/main/java/com/huobi/api/request/coin_futures/trade/ContractOrderRequest.java create mode 100644 src/main/java/com/huobi/api/request/coin_futures/trade/ContractRelationTpslOrderRequest.java create mode 100644 src/main/java/com/huobi/api/request/coin_futures/trade/ContractTpslCancelRequest.java create mode 100644 src/main/java/com/huobi/api/request/coin_futures/trade/ContractTpslCancelallRequest.java create mode 100644 src/main/java/com/huobi/api/request/coin_futures/trade/ContractTpslHisordersRequset.java create mode 100644 src/main/java/com/huobi/api/request/coin_futures/trade/ContractTpslOpenordersRequest.java create mode 100644 src/main/java/com/huobi/api/request/coin_futures/trade/ContractTpslOrderRequest.java create mode 100644 src/main/java/com/huobi/api/request/coin_futures/trade/ContractTrackCancelRequest.java create mode 100644 src/main/java/com/huobi/api/request/coin_futures/trade/ContractTrackCancelallRequest.java create mode 100644 src/main/java/com/huobi/api/request/coin_futures/trade/ContractTrackHisordersRequest.java create mode 100644 src/main/java/com/huobi/api/request/coin_futures/trade/ContractTrackOpenordersRequest.java create mode 100644 src/main/java/com/huobi/api/request/coin_futures/trade/ContractTrackOrderRequest.java create mode 100644 src/main/java/com/huobi/api/request/coin_futures/trade/ContractTriggerCancelRequest.java create mode 100644 src/main/java/com/huobi/api/request/coin_futures/trade/ContractTriggerCancelallRequest.java create mode 100644 src/main/java/com/huobi/api/request/coin_futures/trade/ContractTriggerHisordersRequest.java create mode 100644 src/main/java/com/huobi/api/request/coin_futures/trade/ContractTriggerOpenordersRequest.java create mode 100644 src/main/java/com/huobi/api/request/coin_futures/trade/ContractTriggerOrderRequest.java create mode 100644 src/main/java/com/huobi/api/request/coin_futures/trade/LightningClosePositionRequest.java create mode 100644 src/main/java/com/huobi/api/request/coin_futures/transfer/AccountTransferRequest.java create mode 100644 src/main/java/com/huobi/api/request/coin_swap/account/LinearSwapBasisRequest.java create mode 100644 src/main/java/com/huobi/api/request/coin_swap/account/SwapFinancialRecordExactRequest.java create mode 100644 src/main/java/com/huobi/api/request/coin_swap/account/SwapFinancialRecordExactV3Request.java create mode 100644 src/main/java/com/huobi/api/request/coin_swap/account/SwapFinancialRecordRequest.java create mode 100644 src/main/java/com/huobi/api/request/coin_swap/account/SwapFinancialRecordV3Request.java create mode 100644 src/main/java/com/huobi/api/request/coin_swap/account/SwapLiquidationOrdersRequest.java create mode 100644 src/main/java/com/huobi/api/request/coin_swap/account/SwapMarketHistoryKlineRequest.java create mode 100644 src/main/java/com/huobi/api/request/coin_swap/account/SwapMasterSubTransferRecordRequest.java create mode 100644 src/main/java/com/huobi/api/request/coin_swap/account/SwapMasterSubTransferRequest.java create mode 100644 src/main/java/com/huobi/api/request/coin_swap/account/SwapUserSettlementRecordsRequest.java create mode 100644 src/main/java/com/huobi/api/request/coin_swap/market/SwapSettlementRecordsRequest.java create mode 100644 src/main/java/com/huobi/api/request/coin_swap/trade/SwapBatchorderRequest.java create mode 100644 src/main/java/com/huobi/api/request/coin_swap/trade/SwapCancelAfterRequest.java create mode 100644 src/main/java/com/huobi/api/request/coin_swap/trade/SwapCancelRequest.java create mode 100644 src/main/java/com/huobi/api/request/coin_swap/trade/SwapCancelallRequest.java create mode 100644 src/main/java/com/huobi/api/request/coin_swap/trade/SwapHisordersExectRequest.java create mode 100644 src/main/java/com/huobi/api/request/coin_swap/trade/SwapHisordersRequest.java create mode 100644 src/main/java/com/huobi/api/request/coin_swap/trade/SwapLightningClosePositionRequest.java create mode 100644 src/main/java/com/huobi/api/request/coin_swap/trade/SwapMatchresultsExactRequest.java create mode 100644 src/main/java/com/huobi/api/request/coin_swap/trade/SwapMatchresultsRequest.java create mode 100644 src/main/java/com/huobi/api/request/coin_swap/trade/SwapOpenordersRequest.java create mode 100644 src/main/java/com/huobi/api/request/coin_swap/trade/SwapOrderDetailRequest.java create mode 100644 src/main/java/com/huobi/api/request/coin_swap/trade/SwapOrderInfoRequest.java create mode 100644 src/main/java/com/huobi/api/request/coin_swap/trade/SwapOrderRequest.java create mode 100644 src/main/java/com/huobi/api/request/coin_swap/trade/SwapRelationTpslOrderRequest.java create mode 100644 src/main/java/com/huobi/api/request/coin_swap/trade/SwapTpslCancelRequest.java create mode 100644 src/main/java/com/huobi/api/request/coin_swap/trade/SwapTpslCancelallRequest.java create mode 100644 src/main/java/com/huobi/api/request/coin_swap/trade/SwapTpslHisordersRequset.java create mode 100644 src/main/java/com/huobi/api/request/coin_swap/trade/SwapTpslOpenordersRequest.java create mode 100644 src/main/java/com/huobi/api/request/coin_swap/trade/SwapTpslOrderRequest.java create mode 100644 src/main/java/com/huobi/api/request/coin_swap/trade/SwapTrackCancelRequest.java create mode 100644 src/main/java/com/huobi/api/request/coin_swap/trade/SwapTrackCancelallRequest.java create mode 100644 src/main/java/com/huobi/api/request/coin_swap/trade/SwapTrackHisordersRequest.java create mode 100644 src/main/java/com/huobi/api/request/coin_swap/trade/SwapTrackOpenordersRequest.java create mode 100644 src/main/java/com/huobi/api/request/coin_swap/trade/SwapTrackOrderRequest.java create mode 100644 src/main/java/com/huobi/api/request/coin_swap/trade/SwapTriggerCancelRequest.java create mode 100644 src/main/java/com/huobi/api/request/coin_swap/trade/SwapTriggerCancelallRequest.java create mode 100644 src/main/java/com/huobi/api/request/coin_swap/trade/SwapTriggerHisordersRequest.java create mode 100644 src/main/java/com/huobi/api/request/coin_swap/trade/SwapTriggerOpenordersRequest.java create mode 100644 src/main/java/com/huobi/api/request/coin_swap/trade/SwapTriggerOrderRequest.java create mode 100644 src/main/java/com/huobi/api/request/coin_swap/transfer/UsdtSwapTransferRequest.java create mode 100644 src/main/java/com/huobi/api/request/usdt/account/FixPositionMarginChangeRecordRequest.java create mode 100644 src/main/java/com/huobi/api/request/usdt/account/FixPositionMarginChangeRequest.java create mode 100644 src/main/java/com/huobi/api/request/usdt/account/LinearSwapBasisRequest.java create mode 100644 src/main/java/com/huobi/api/request/usdt/account/SwapCrossLeverPositionLimitRequest.java create mode 100644 src/main/java/com/huobi/api/request/usdt/account/SwapCrossUserSettlementRecordsRequest.java create mode 100644 src/main/java/com/huobi/api/request/usdt/account/SwapFinancialRecordExactRequest.java create mode 100644 src/main/java/com/huobi/api/request/usdt/account/SwapFinancialRecordExactV3Request.java create mode 100644 src/main/java/com/huobi/api/request/usdt/account/SwapFinancialRecordRequest.java create mode 100644 src/main/java/com/huobi/api/request/usdt/account/SwapFinancialRecordV3Request.java create mode 100644 src/main/java/com/huobi/api/request/usdt/account/SwapLiquidationOrdersRequest.java create mode 100644 src/main/java/com/huobi/api/request/usdt/account/SwapLiquidationOrdersV3Request.java create mode 100644 src/main/java/com/huobi/api/request/usdt/account/SwapMarketHistoryKlineRequest.java create mode 100644 src/main/java/com/huobi/api/request/usdt/account/SwapMasterSubTransferRecordRequest.java create mode 100644 src/main/java/com/huobi/api/request/usdt/account/SwapMasterSubTransferRequest.java create mode 100644 src/main/java/com/huobi/api/request/usdt/account/SwapSubAuthListRequest.java create mode 100644 src/main/java/com/huobi/api/request/usdt/account/SwapUserSettlementRecordsRequest.java create mode 100644 src/main/java/com/huobi/api/request/usdt/trade/LinearCancelAfterRequest.java create mode 100644 src/main/java/com/huobi/api/request/usdt/trade/SwapBatchorderRequest.java create mode 100644 src/main/java/com/huobi/api/request/usdt/trade/SwapCancelRequest.java create mode 100644 src/main/java/com/huobi/api/request/usdt/trade/SwapCancelallRequest.java create mode 100644 src/main/java/com/huobi/api/request/usdt/trade/SwapCrossBatchorderRequest.java create mode 100644 src/main/java/com/huobi/api/request/usdt/trade/SwapCrossCancelRequest.java create mode 100644 src/main/java/com/huobi/api/request/usdt/trade/SwapCrossCancelallRequest.java create mode 100644 src/main/java/com/huobi/api/request/usdt/trade/SwapCrossHisordersExactV3Request.java create mode 100644 src/main/java/com/huobi/api/request/usdt/trade/SwapCrossHisordersRequest.java create mode 100644 src/main/java/com/huobi/api/request/usdt/trade/SwapCrossHisordersV3Request.java create mode 100644 src/main/java/com/huobi/api/request/usdt/trade/SwapCrossLightningClosePositionRequest.java create mode 100644 src/main/java/com/huobi/api/request/usdt/trade/SwapCrossMatchResultsExactV3Request.java create mode 100644 src/main/java/com/huobi/api/request/usdt/trade/SwapCrossMatchResultsV3Request.java create mode 100644 src/main/java/com/huobi/api/request/usdt/trade/SwapCrossMatchresultsRequest.java create mode 100644 src/main/java/com/huobi/api/request/usdt/trade/SwapCrossOpenordersRequest.java create mode 100644 src/main/java/com/huobi/api/request/usdt/trade/SwapCrossOrderDetailRequest.java create mode 100644 src/main/java/com/huobi/api/request/usdt/trade/SwapCrossOrderInfoRequest.java create mode 100644 src/main/java/com/huobi/api/request/usdt/trade/SwapCrossOrderRequest.java create mode 100644 src/main/java/com/huobi/api/request/usdt/trade/SwapCrossTriggerCancelRequest.java create mode 100644 src/main/java/com/huobi/api/request/usdt/trade/SwapCrossTriggerCancelallRequest.java create mode 100644 src/main/java/com/huobi/api/request/usdt/trade/SwapCrossTriggerHisordersRequest.java create mode 100644 src/main/java/com/huobi/api/request/usdt/trade/SwapCrossTriggerOpenordersRequest.java create mode 100644 src/main/java/com/huobi/api/request/usdt/trade/SwapCrossTriggerOrderRequest.java create mode 100644 src/main/java/com/huobi/api/request/usdt/trade/SwapHisordersExactRequest.java create mode 100644 src/main/java/com/huobi/api/request/usdt/trade/SwapHisordersExactV3Request.java create mode 100644 src/main/java/com/huobi/api/request/usdt/trade/SwapHisordersRequest.java create mode 100644 src/main/java/com/huobi/api/request/usdt/trade/SwapHisordersV3Request.java create mode 100644 src/main/java/com/huobi/api/request/usdt/trade/SwapLightningClosePositionRequest.java create mode 100644 src/main/java/com/huobi/api/request/usdt/trade/SwapMatchResultsExactV3Request.java create mode 100644 src/main/java/com/huobi/api/request/usdt/trade/SwapMatchResultsV3Request.java create mode 100644 src/main/java/com/huobi/api/request/usdt/trade/SwapMatchresultsExactRequest.java create mode 100644 src/main/java/com/huobi/api/request/usdt/trade/SwapMatchresultsRequest.java create mode 100644 src/main/java/com/huobi/api/request/usdt/trade/SwapOpenordersRequest.java create mode 100644 src/main/java/com/huobi/api/request/usdt/trade/SwapOrderDetailRequest.java create mode 100644 src/main/java/com/huobi/api/request/usdt/trade/SwapOrderInfoRequest.java create mode 100644 src/main/java/com/huobi/api/request/usdt/trade/SwapOrderRequest.java create mode 100644 src/main/java/com/huobi/api/request/usdt/trade/SwapPositionSideRequest.java create mode 100644 src/main/java/com/huobi/api/request/usdt/trade/SwapRelationTpslOrderRequest.java create mode 100644 src/main/java/com/huobi/api/request/usdt/trade/SwapTpslCancelRequest.java create mode 100644 src/main/java/com/huobi/api/request/usdt/trade/SwapTpslCancelallRequest.java create mode 100644 src/main/java/com/huobi/api/request/usdt/trade/SwapTpslHisordersRequset.java create mode 100644 src/main/java/com/huobi/api/request/usdt/trade/SwapTpslOpenordersRequest.java create mode 100644 src/main/java/com/huobi/api/request/usdt/trade/SwapTpslOrderRequest.java create mode 100644 src/main/java/com/huobi/api/request/usdt/trade/SwapTrackCancelRequest.java create mode 100644 src/main/java/com/huobi/api/request/usdt/trade/SwapTrackCancelallRequest.java create mode 100644 src/main/java/com/huobi/api/request/usdt/trade/SwapTrackHisordersRequest.java create mode 100644 src/main/java/com/huobi/api/request/usdt/trade/SwapTrackOpenordersRequest.java create mode 100644 src/main/java/com/huobi/api/request/usdt/trade/SwapTrackOrderRequest.java create mode 100644 src/main/java/com/huobi/api/request/usdt/trade/SwapTriggerCancelRequest.java create mode 100644 src/main/java/com/huobi/api/request/usdt/trade/SwapTriggerCancelallRequest.java create mode 100644 src/main/java/com/huobi/api/request/usdt/trade/SwapTriggerHisordersRequest.java create mode 100644 src/main/java/com/huobi/api/request/usdt/trade/SwapTriggerOpenordersRequest.java create mode 100644 src/main/java/com/huobi/api/request/usdt/trade/SwapTriggerOrderRequest.java create mode 100644 src/main/java/com/huobi/api/request/usdt/transfer/UsdtSwapTransferRequest.java create mode 100644 src/main/java/com/huobi/api/response/coin_futures/account/ContractAccountInfoResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_futures/account/ContractAccountPositionInfoResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_futures/account/ContractApiTradingStatusResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_futures/account/ContractAvailableLevelRateResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_futures/account/ContractBalanceValuationResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_futures/account/ContractFeeResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_futures/account/ContractFinancialRecordExactResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_futures/account/ContractFinancialRecordExactV3Response.java create mode 100644 src/main/java/com/huobi/api/response/coin_futures/account/ContractFinancialRecordResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_futures/account/ContractFinancialRecordV3Response.java create mode 100644 src/main/java/com/huobi/api/response/coin_futures/account/ContractMasterSubTransferRecordResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_futures/account/ContractMasterSubTransferResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_futures/account/ContractOrderLimitResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_futures/account/ContractPositionInfoResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_futures/account/ContractPositionLimitResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_futures/account/ContractSubAccountInfoListResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_futures/account/ContractSubAccountInfoResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_futures/account/ContractSubAccountListResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_futures/account/ContractSubAuthListResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_futures/account/ContractSubAuthResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_futures/account/ContractSubPositionInfoResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_futures/account/ContractTransferLimitResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_futures/account/ContractUserSettlementRecordsResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_futures/market/ContractAdjustfactorResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_futures/market/ContractApiStateResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_futures/market/ContractContractInfoResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_futures/market/ContractDeliveryPriceResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_futures/market/ContractEliteAccountRatioResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_futures/market/ContractElitePositionRatioResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_futures/market/ContractEstimatedSettlementPriceResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_futures/market/ContractHisOpenInterestResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_futures/market/ContractIndexResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_futures/market/ContractInsuranceFundResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_futures/market/ContractLadderMarginResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_futures/market/ContractLiquidationOrdersResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_futures/market/ContractLiquidationOrdersV3Response.java create mode 100644 src/main/java/com/huobi/api/response/coin_futures/market/ContractOpenInterestResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_futures/market/ContractPriceLimitResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_futures/market/ContractQueryElementsResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_futures/market/ContractRiskInfoResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_futures/market/ContractSettlementRecordsResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_futures/market/MarkPriceKlineResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_futures/market/MarketBatchMergedResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_futures/market/MarketBboResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_futures/market/MarketDepthResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_futures/market/MarketDetailMergedResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_futures/market/MarketHistoryBasisResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_futures/market/MarketHistoryIndexResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_futures/market/MarketHistoryKlineResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_futures/market/MarketHistoryTradeResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_futures/market/MarketTradeResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_futures/trade/ContractBatchorderResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_futures/trade/ContractCancelAfterResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_futures/trade/ContractCancelResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_futures/trade/ContractCancelallResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_futures/trade/ContractHisordersExactResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_futures/trade/ContractHisordersExactV3Response.java create mode 100644 src/main/java/com/huobi/api/response/coin_futures/trade/ContractHisordersResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_futures/trade/ContractHisordersV3Response.java create mode 100644 src/main/java/com/huobi/api/response/coin_futures/trade/ContractMatchResultsExactV3Response.java create mode 100644 src/main/java/com/huobi/api/response/coin_futures/trade/ContractMatchResultsV3Response.java create mode 100644 src/main/java/com/huobi/api/response/coin_futures/trade/ContractMatchresultsExactResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_futures/trade/ContractMatchresultsResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_futures/trade/ContractOpenordersResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_futures/trade/ContractOrderDetailResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_futures/trade/ContractOrderInfoResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_futures/trade/ContractOrderResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_futures/trade/ContractRelationTpslOrderResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_futures/trade/ContractSwitchLeverRateResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_futures/trade/ContractTpslCancelResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_futures/trade/ContractTpslCancelallResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_futures/trade/ContractTpslHisordersResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_futures/trade/ContractTpslOpenordersResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_futures/trade/ContractTpslOrderResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_futures/trade/ContractTrackCancelResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_futures/trade/ContractTrackCancelallResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_futures/trade/ContractTrackHisordersResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_futures/trade/ContractTrackOpenordersResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_futures/trade/ContractTrackOrderResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_futures/trade/ContractTriggerCancelResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_futures/trade/ContractTriggerCancelallResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_futures/trade/ContractTriggerHisordersResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_futures/trade/ContractTriggerOpenordersResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_futures/trade/ContractTriggerOrderResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_futures/trade/LightningClosePositionResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_futures/transfer/AccountTransferResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_futures/transfer/FuturesTransferResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_swap/account/SwapAccountInfoResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_swap/account/SwapAccountPositionInfoResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_swap/account/SwapApiTradingStatusResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_swap/account/SwapAvailableLevelRateResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_swap/account/SwapBalanceValuationResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_swap/account/SwapFeeResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_swap/account/SwapFinancialRecordExactResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_swap/account/SwapFinancialRecordExactV3Response.java create mode 100644 src/main/java/com/huobi/api/response/coin_swap/account/SwapFinancialRecordResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_swap/account/SwapFinancialRecordV3Response.java create mode 100644 src/main/java/com/huobi/api/response/coin_swap/account/SwapMasterSubTransferRecordResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_swap/account/SwapMasterSubTransferResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_swap/account/SwapOrderLimitResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_swap/account/SwapPositionInfoResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_swap/account/SwapPositionLimitResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_swap/account/SwapSubAccountInfoListResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_swap/account/SwapSubAccountInfoResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_swap/account/SwapSubAccountListResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_swap/account/SwapSubAuthResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_swap/account/SwapSubPositionInfoResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_swap/account/SwapTransferInnerResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_swap/account/SwapTransferLimitResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_swap/account/SwapUserSettlementRecordsResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_swap/market/BatchMergedResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_swap/market/HeartBeatResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_swap/market/LinearSwapBasisResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_swap/market/LinearSwapEstimatedRateKlineResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_swap/market/LinearSwapPremiumIndexKlineResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_swap/market/MarketBboResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_swap/market/SummaryResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_swap/market/SwapAdjustfactorResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_swap/market/SwapApiStateResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_swap/market/SwapBatchFundingRateResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_swap/market/SwapContractInfoResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_swap/market/SwapEliteAccountRatioResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_swap/market/SwapElitePositionRatioResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_swap/market/SwapEstimatedSettlementPriceResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_swap/market/SwapFundingRateResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_swap/market/SwapHisOpenInterestResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_swap/market/SwapHistoricalFundingRateResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_swap/market/SwapIndexResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_swap/market/SwapInsuranceFundResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_swap/market/SwapLadderMarginResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_swap/market/SwapLiquidationOrdersResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_swap/market/SwapMarkPriceKlineResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_swap/market/SwapMarketDepthResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_swap/market/SwapMarketDetailMergedResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_swap/market/SwapMarketHistoryKlineResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_swap/market/SwapMarketHistoryTradeResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_swap/market/SwapMarketTradeResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_swap/market/SwapOpenInterestResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_swap/market/SwapPriceLimitResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_swap/market/SwapRiskInfoResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_swap/market/TimestampReponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_swap/trade/SwapBatchorderResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_swap/trade/SwapCancelAfterResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_swap/trade/SwapCancelResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_swap/trade/SwapCancelallResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_swap/trade/SwapHisordersExactResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_swap/trade/SwapHisordersResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_swap/trade/SwapLightningClosePositionResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_swap/trade/SwapMatchresultsExactResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_swap/trade/SwapMatchresultsResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_swap/trade/SwapOpenordersResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_swap/trade/SwapOrderDetailResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_swap/trade/SwapOrderInfoResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_swap/trade/SwapOrderResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_swap/trade/SwapRelationTpslOrderResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_swap/trade/SwapSwitchLeverRateResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_swap/trade/SwapTpslCancelResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_swap/trade/SwapTpslCancelallResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_swap/trade/SwapTpslHisordersResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_swap/trade/SwapTpslOpenordersResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_swap/trade/SwapTpslOrderResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_swap/trade/SwapTrackCancelResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_swap/trade/SwapTrackCancelallResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_swap/trade/SwapTrackHisordersResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_swap/trade/SwapTrackOpenordersResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_swap/trade/SwapTrackOrderResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_swap/trade/SwapTriggerCancelResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_swap/trade/SwapTriggerCancelallResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_swap/trade/SwapTriggerHisordersResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_swap/trade/SwapTriggerOpenordersResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_swap/trade/SwapTriggerOrderResponse.java create mode 100644 src/main/java/com/huobi/api/response/coin_swap/transfer/UsdtSwapTransferResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/account/FixPositionMarginChangeRecordResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/account/FixPositionMarginChangeResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/account/LinearSwapFeeSwitchResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/account/LinearSwapOverviewAccountInfoResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/account/SwapAccountInfoResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/account/SwapAccountPositionInfoResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/account/SwapApiTradingStatusResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/account/SwapAvailableLevelRateResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/account/SwapBalanceValuationResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/account/SwapCrossAccountInfoResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/account/SwapCrossAccountPositionInfoResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/account/SwapCrossAvailableLevelRateResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/account/SwapCrossPositionInfoResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/account/SwapCrossPositionLimitResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/account/SwapCrossSubAccountInfoResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/account/SwapCrossSubAccountListResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/account/SwapCrossSubPositionInfoResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/account/SwapCrossTransferLimitResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/account/SwapCrossUserSettlementRecordsResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/account/SwapFeeResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/account/SwapFinancialRecordExactResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/account/SwapFinancialRecordExactV3Response.java create mode 100644 src/main/java/com/huobi/api/response/usdt/account/SwapFinancialRecordResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/account/SwapFinancialRecordV3Response.java create mode 100644 src/main/java/com/huobi/api/response/usdt/account/SwapLeverPositionLimitResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/account/SwapLiquidationOrdersV3Response.java create mode 100644 src/main/java/com/huobi/api/response/usdt/account/SwapMasterSubTransferRecordResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/account/SwapMasterSubTransferResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/account/SwapOrderLimitResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/account/SwapPositionInfoResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/account/SwapPositionLimitResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/account/SwapSubAccountInfoListResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/account/SwapSubAccountInfoResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/account/SwapSubAccountListResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/account/SwapSubAuthListResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/account/SwapSubAuthResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/account/SwapSubPositionInfoResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/account/SwapSwitchAccountTypeResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/account/SwapSwitchLeverRateResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/account/SwapTransferInnerResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/account/SwapTransferLimitResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/account/SwapUnifiedAccountTypeResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/account/SwapUserSettlementRecordsResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/account/UnifiedAccountInfoResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/market/BatchMergedResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/market/BatchMergedV2Response.java create mode 100644 src/main/java/com/huobi/api/response/usdt/market/LinearSwapBasisResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/market/LinearSwapEstimatedRateKlineResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/market/LinearSwapMarkPriceKlineResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/market/LinearSwapPremiumIndexKlineResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/market/MarketBboResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/market/SwapAdjustfactorResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/market/SwapApiStateResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/market/SwapBatchFundingRateResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/market/SwapContractInfoResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/market/SwapCrossAdjustfactorResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/market/SwapCrossTradeStateResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/market/SwapCrossTransferStateResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/market/SwapEliteAccountRatioResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/market/SwapElitePositionRatioResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/market/SwapEstimatedSettlementPriceResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/market/SwapFundingRateResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/market/SwapHisOpenInterestResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/market/SwapHistoricalFundingRateResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/market/SwapIndexResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/market/SwapInsuranceFundResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/market/SwapLadderMarginResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/market/SwapLiquidationOrdersResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/market/SwapMarketDepthResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/market/SwapMarketDetailMergedResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/market/SwapMarketHistoryKlineResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/market/SwapMarketHistoryTradeResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/market/SwapMarketTradeResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/market/SwapOpenInterestResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/market/SwapPriceLimitResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/market/SwapQueryElementsResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/market/SwapRiskInfoResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/market/SwapSettlementRecordsResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/trade/LinearCancelAfterResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/trade/SwapBatchorderResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/trade/SwapCancelResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/trade/SwapCancelallResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/trade/SwapCrossBatchorderResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/trade/SwapCrossCancelResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/trade/SwapCrossCancelallResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/trade/SwapCrossHisordersExactV3Response.java create mode 100644 src/main/java/com/huobi/api/response/usdt/trade/SwapCrossHisordersResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/trade/SwapCrossHisordersV3Response.java create mode 100644 src/main/java/com/huobi/api/response/usdt/trade/SwapCrossLightningClosePositionResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/trade/SwapCrossMatchResultsExactV3Response.java create mode 100644 src/main/java/com/huobi/api/response/usdt/trade/SwapCrossMatchResultsV3Response.java create mode 100644 src/main/java/com/huobi/api/response/usdt/trade/SwapCrossMatchresultsResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/trade/SwapCrossOpenordersResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/trade/SwapCrossOrderDetailResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/trade/SwapCrossOrderInfoResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/trade/SwapCrossOrderResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/trade/SwapCrossPositionSideResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/trade/SwapCrossSwitchLeverRateResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/trade/SwapCrossTriggerCancelResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/trade/SwapCrossTriggerCancelallResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/trade/SwapCrossTriggerHisordersResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/trade/SwapCrossTriggerOpenordersResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/trade/SwapCrossTriggerOrderResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/trade/SwapHisordersExactResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/trade/SwapHisordersExactV3Response.java create mode 100644 src/main/java/com/huobi/api/response/usdt/trade/SwapHisordersResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/trade/SwapHisordersV3Response.java create mode 100644 src/main/java/com/huobi/api/response/usdt/trade/SwapLightningClosePositionResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/trade/SwapMatchResultsExactV3Response.java create mode 100644 src/main/java/com/huobi/api/response/usdt/trade/SwapMatchResultsV3Response.java create mode 100644 src/main/java/com/huobi/api/response/usdt/trade/SwapMatchresultsExactResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/trade/SwapMatchresultsResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/trade/SwapOpenordersResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/trade/SwapOrderDetailResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/trade/SwapOrderInfoResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/trade/SwapOrderResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/trade/SwapPositionSideResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/trade/SwapRelationTpslOrderResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/trade/SwapSwitchLeverRateResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/trade/SwapSwitchPositionModeResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/trade/SwapTpslCancelResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/trade/SwapTpslCancelallResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/trade/SwapTpslHisordersResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/trade/SwapTpslOpenordersResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/trade/SwapTpslOrderResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/trade/SwapTrackCancelResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/trade/SwapTrackCancelallResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/trade/SwapTrackHisordersResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/trade/SwapTrackOpenordersResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/trade/SwapTrackOrderResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/trade/SwapTriggerCancelResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/trade/SwapTriggerCancelallResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/trade/SwapTriggerHisordersResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/trade/SwapTriggerOpenordersResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/trade/SwapTriggerOrderResponse.java create mode 100644 src/main/java/com/huobi/api/response/usdt/transfer/UsdtSwapTransferResponse.java create mode 100644 src/main/java/com/huobi/api/service/coin_futures/account/AccountAPIService.java create mode 100644 src/main/java/com/huobi/api/service/coin_futures/account/AccountAPIServiceImpl.java create mode 100644 src/main/java/com/huobi/api/service/coin_futures/market/MarketAPIService.java create mode 100644 src/main/java/com/huobi/api/service/coin_futures/market/MarketAPIServiceImpl.java create mode 100644 src/main/java/com/huobi/api/service/coin_futures/reference/ReferenceAPIService.java create mode 100644 src/main/java/com/huobi/api/service/coin_futures/reference/ReferenceAPIServiceImpl.java create mode 100644 src/main/java/com/huobi/api/service/coin_futures/strategy/StrategyAPIService.java create mode 100644 src/main/java/com/huobi/api/service/coin_futures/strategy/StrategyAPIServiceImpl.java create mode 100644 src/main/java/com/huobi/api/service/coin_futures/trade/TradeAPIService.java create mode 100644 src/main/java/com/huobi/api/service/coin_futures/trade/TradeAPIServiceImpl.java create mode 100644 src/main/java/com/huobi/api/service/coin_futures/transfer/TransferApiService.java create mode 100644 src/main/java/com/huobi/api/service/coin_futures/transfer/TransferApiServiceImpl.java create mode 100644 src/main/java/com/huobi/api/service/coin_swap/account/AccountAPIService.java create mode 100644 src/main/java/com/huobi/api/service/coin_swap/account/AccountAPIServiceImpl.java create mode 100644 src/main/java/com/huobi/api/service/coin_swap/market/MarketAPIService.java create mode 100644 src/main/java/com/huobi/api/service/coin_swap/market/MarketAPIServiceImpl.java create mode 100644 src/main/java/com/huobi/api/service/coin_swap/reference/ReferenceAPIService.java create mode 100644 src/main/java/com/huobi/api/service/coin_swap/reference/ReferenceAPIServiceImpl.java create mode 100644 src/main/java/com/huobi/api/service/coin_swap/strategy/StrategyAPIService.java create mode 100644 src/main/java/com/huobi/api/service/coin_swap/strategy/StrategyAPIServiceImpl.java create mode 100644 src/main/java/com/huobi/api/service/coin_swap/trade/TradeAPIService.java create mode 100644 src/main/java/com/huobi/api/service/coin_swap/trade/TradeAPIServiceImpl.java create mode 100644 src/main/java/com/huobi/api/service/coin_swap/transfer/TransferApiService.java create mode 100644 src/main/java/com/huobi/api/service/coin_swap/transfer/TransferApiServiceImpl.java create mode 100644 src/main/java/com/huobi/api/service/usdt/account/AccountAPIService.java create mode 100644 src/main/java/com/huobi/api/service/usdt/account/AccountAPIServiceImpl.java create mode 100644 src/main/java/com/huobi/api/service/usdt/account/CrossAccountAPIService.java create mode 100644 src/main/java/com/huobi/api/service/usdt/account/CrossAccountAPIServiceImpl.java create mode 100644 src/main/java/com/huobi/api/service/usdt/market/MarketAPIService.java create mode 100644 src/main/java/com/huobi/api/service/usdt/market/MarketAPIServiceImpl.java create mode 100644 src/main/java/com/huobi/api/service/usdt/reference/CrossReferenceAPIService.java create mode 100644 src/main/java/com/huobi/api/service/usdt/reference/CrossReferenceAPIServiceImpl.java create mode 100644 src/main/java/com/huobi/api/service/usdt/reference/ReferenceAPIService.java create mode 100644 src/main/java/com/huobi/api/service/usdt/reference/ReferenceAPIServiceImpl.java create mode 100644 src/main/java/com/huobi/api/service/usdt/strategy/CrossStrategyAPIService.java create mode 100644 src/main/java/com/huobi/api/service/usdt/strategy/CrossStrategyAPIServiceImpl.java create mode 100644 src/main/java/com/huobi/api/service/usdt/strategy/StrategyAPIService.java create mode 100644 src/main/java/com/huobi/api/service/usdt/strategy/StrategyAPIServiceImpl.java create mode 100644 src/main/java/com/huobi/api/service/usdt/trade/CrossTradeAPIService.java create mode 100644 src/main/java/com/huobi/api/service/usdt/trade/CrossTradeAPIServiceImpl.java create mode 100644 src/main/java/com/huobi/api/service/usdt/trade/TradeAPIService.java create mode 100644 src/main/java/com/huobi/api/service/usdt/trade/TradeAPIServiceImpl.java create mode 100644 src/main/java/com/huobi/api/service/usdt/transfer/CrossTransferAPIService.java create mode 100644 src/main/java/com/huobi/api/service/usdt/transfer/CrossTransferAPIServiceImpl.java create mode 100644 src/main/java/com/huobi/api/service/usdt/transfer/TransferAPIService.java create mode 100644 src/main/java/com/huobi/api/service/usdt/transfer/TransferAPIServiceImpl.java create mode 100644 src/main/java/com/huobi/api/service/usdt/unified_account/UnifiedAccountAPIService.java create mode 100644 src/main/java/com/huobi/api/service/usdt/unified_account/UnifiedAccountAPIServiceImpl.java create mode 100644 src/main/java/com/huobi/api/util/ApiSignature.java create mode 100644 src/main/java/com/huobi/api/util/ApiSignatureEd25519.java create mode 100644 src/main/java/com/huobi/api/util/HbdmHttpClient.java create mode 100644 src/main/java/com/huobi/wss/SubscriptionListener.java create mode 100644 src/main/java/com/huobi/wss/constants/HuobiFutureWSSConstants.java create mode 100644 src/main/java/com/huobi/wss/constants/HuobiSwapsWSSConstants.java create mode 100644 src/main/java/com/huobi/wss/constants/HuobiUsdtWSSConstants.java create mode 100644 src/main/java/com/huobi/wss/event/AccountCrossSubResponse.java create mode 100644 src/main/java/com/huobi/wss/event/AccountsSubResponse.java create mode 100644 src/main/java/com/huobi/wss/event/ContractElementSubResponse.java create mode 100644 src/main/java/com/huobi/wss/event/LiquidationOrdersSubResponse.java create mode 100644 src/main/java/com/huobi/wss/event/MarketBasisPriceTypeReqResponse.java create mode 100644 src/main/java/com/huobi/wss/event/MarketBasisPriceTypeSubResponse.java create mode 100644 src/main/java/com/huobi/wss/event/MarketBboSubResponse.java create mode 100644 src/main/java/com/huobi/wss/event/MarketDepthDiffSubResponse.java create mode 100644 src/main/java/com/huobi/wss/event/MarketDepthSubResponse.java create mode 100644 src/main/java/com/huobi/wss/event/MarketDetailSubResponse.java create mode 100644 src/main/java/com/huobi/wss/event/MarketEstimatedRateReqResponse.java create mode 100644 src/main/java/com/huobi/wss/event/MarketEstimatedRateSubResponse.java create mode 100644 src/main/java/com/huobi/wss/event/MarketIndexReqResponse.java create mode 100644 src/main/java/com/huobi/wss/event/MarketIndexSubResponse.java create mode 100644 src/main/java/com/huobi/wss/event/MarketKLineReqResponse.java create mode 100644 src/main/java/com/huobi/wss/event/MarketKLineSubResponse.java create mode 100644 src/main/java/com/huobi/wss/event/MarketMarkPriceReqResponse.java create mode 100644 src/main/java/com/huobi/wss/event/MarketMarkPriceSubResponse.java create mode 100644 src/main/java/com/huobi/wss/event/MarketPremiumIndexReqResponse.java create mode 100644 src/main/java/com/huobi/wss/event/MarketPremiumIndexSubResponse.java create mode 100644 src/main/java/com/huobi/wss/event/MarketTradeDetailReqResponse.java create mode 100644 src/main/java/com/huobi/wss/event/MarketTradeDetailSubResponse.java create mode 100644 src/main/java/com/huobi/wss/event/MatchOrdersCrossSubResponse.java create mode 100644 src/main/java/com/huobi/wss/event/MatchOrdersResponse.java create mode 100644 src/main/java/com/huobi/wss/event/MatchOrdersSubResponse.java create mode 100644 src/main/java/com/huobi/wss/event/OrdersSubResponse.java create mode 100644 src/main/java/com/huobi/wss/event/PositionsSubResponse.java create mode 100644 src/main/java/com/huobi/wss/event/PublicContractInfoFutureSubResponse.java create mode 100644 src/main/java/com/huobi/wss/event/PublicContractInfoResponse.java create mode 100644 src/main/java/com/huobi/wss/event/PublicFundingRateResponse.java create mode 100644 src/main/java/com/huobi/wss/event/PublicHeartbeatSubResponse.java create mode 100644 src/main/java/com/huobi/wss/event/PublicSubResponse.java create mode 100644 src/main/java/com/huobi/wss/event/SwapContractElementSubResponse.java create mode 100644 src/main/java/com/huobi/wss/event/SymbolContractElementSubResponse.java create mode 100644 src/main/java/com/huobi/wss/event/TriggerOrderCrossSubResponse.java create mode 100644 src/main/java/com/huobi/wss/event/TriggerOrderSubResponse.java create mode 100644 src/main/java/com/huobi/wss/handle/WssMarketHandle.java create mode 100644 src/main/java/com/huobi/wss/handle/WssMarketReqHandle.java create mode 100644 src/main/java/com/huobi/wss/handle/WssNotificationHandle.java create mode 100644 src/main/java/com/huobi/wss/request/WssRequest.java create mode 100644 src/main/java/com/huobi/wss/util/ApiSignature.java create mode 100644 src/main/java/com/huobi/wss/util/ApiSignatureEd25519.java create mode 100644 src/main/java/com/huobi/wss/util/ZipUtil.java create mode 100644 src/main/resources/logback.xml create mode 100644 src/test/java/com/huobi/future/api/AccountAPIEd25119Test.java create mode 100644 src/test/java/com/huobi/future/api/AccountAPIHmac256Test.java create mode 100644 src/test/java/com/huobi/future/api/BaseTest.java create mode 100644 src/test/java/com/huobi/future/api/MarketAPITest.java create mode 100644 src/test/java/com/huobi/future/api/ReferenceAPITest.java create mode 100644 src/test/java/com/huobi/future/api/StrategyAPITest.java create mode 100644 src/test/java/com/huobi/future/api/TradeAPITest.java create mode 100644 src/test/java/com/huobi/future/api/TransferAPITest.java create mode 100644 src/test/java/com/huobi/future/wss/WssCenterNotificationSubEd25519Test.java create mode 100644 src/test/java/com/huobi/future/wss/WssCenterNotificationSubHmac256Test.java create mode 100644 src/test/java/com/huobi/future/wss/WssIndexReqTest.java create mode 100644 src/test/java/com/huobi/future/wss/WssIndexSubTest.java create mode 100644 src/test/java/com/huobi/future/wss/WssMarketReqTest.java create mode 100644 src/test/java/com/huobi/future/wss/WssMarketSubTest.java create mode 100644 src/test/java/com/huobi/future/wss/WssNotificationSubTest.java create mode 100644 src/test/java/com/huobi/swap/api/AccountAPITest.java create mode 100644 src/test/java/com/huobi/swap/api/BaseTest.java create mode 100644 src/test/java/com/huobi/swap/api/MarketAPITest.java create mode 100644 src/test/java/com/huobi/swap/api/ReferenceAPITest.java create mode 100644 src/test/java/com/huobi/swap/api/StrategyAPITest.java create mode 100644 src/test/java/com/huobi/swap/api/TradeAPITest.java create mode 100644 src/test/java/com/huobi/swap/api/TransferAPITest.java create mode 100644 src/test/java/com/huobi/swap/wss/WssCenterNotificationSubTest.java create mode 100644 src/test/java/com/huobi/swap/wss/WssIndexReqTest.java create mode 100644 src/test/java/com/huobi/swap/wss/WssIndexSubTest.java create mode 100644 src/test/java/com/huobi/swap/wss/WssMarketReqTest.java create mode 100644 src/test/java/com/huobi/swap/wss/WssMarketSubTest.java create mode 100644 src/test/java/com/huobi/swap/wss/WssNotificationSubTest.java create mode 100644 src/test/java/com/huobi/usdt/api/AccountAPITest.java create mode 100644 src/test/java/com/huobi/usdt/api/BaseTest.java create mode 100644 src/test/java/com/huobi/usdt/api/CrossAccountAPITest.java create mode 100644 src/test/java/com/huobi/usdt/api/CrossReferenceAPITest.java create mode 100644 src/test/java/com/huobi/usdt/api/CrossSrategyAPITest.java create mode 100644 src/test/java/com/huobi/usdt/api/CrossTradeAPITest.java create mode 100644 src/test/java/com/huobi/usdt/api/CrossTransferAPITest.java create mode 100644 src/test/java/com/huobi/usdt/api/MarketAPITest.java create mode 100644 src/test/java/com/huobi/usdt/api/ReferenceAPITest.java create mode 100644 src/test/java/com/huobi/usdt/api/SrategyAPITest.java create mode 100644 src/test/java/com/huobi/usdt/api/TradeAPITest.java create mode 100644 src/test/java/com/huobi/usdt/api/TransferAPITest.java create mode 100644 src/test/java/com/huobi/usdt/api/UnifiedAccountAPITest.java create mode 100644 src/test/java/com/huobi/usdt/wss/WssCenterNotificationSubTest.java create mode 100644 src/test/java/com/huobi/usdt/wss/WssIndexReqTest.java create mode 100644 src/test/java/com/huobi/usdt/wss/WssIndexSubTest.java create mode 100644 src/test/java/com/huobi/usdt/wss/WssMarketReqTest.java create mode 100644 src/test/java/com/huobi/usdt/wss/WssMarketSubTest.java create mode 100644 src/test/java/com/huobi/usdt/wss/WssNotificationSubTest.java create mode 100644 target/classes/com/huobi/api/constants/HuobiCoinMarginedSwapAPIOptions.class create mode 100644 target/classes/com/huobi/api/constants/HuobiFutureAPIConstants.class create mode 100644 target/classes/com/huobi/api/constants/HuobiLinearSwapAPIConstants.class create mode 100644 target/classes/com/huobi/api/constants/HuobiLinearSwapCrossAPIConstants.class create mode 100644 target/classes/com/huobi/api/enums/DirectionEnum.class create mode 100644 target/classes/com/huobi/api/enums/OffsetEnum.class create mode 100644 target/classes/com/huobi/api/enums/OrderPriceTypeEnum.class create mode 100644 target/classes/com/huobi/api/enums/OrderStatusEnum.class create mode 100644 target/classes/com/huobi/api/enums/OrderTypeEnum.class create mode 100644 target/classes/com/huobi/api/enums/TimePeriodTypeEnum.class create mode 100644 target/classes/com/huobi/api/enums/TradeTypeEnum.class create mode 100644 target/classes/com/huobi/api/exception/ApiException.class create mode 100644 target/classes/com/huobi/api/exception/HttpRequestException.class create mode 100644 target/classes/com/huobi/api/request/coin_futures/account/ContractFinancialRecordExactRequest.class create mode 100644 target/classes/com/huobi/api/request/coin_futures/account/ContractFinancialRecordExactV3Request.class create mode 100644 target/classes/com/huobi/api/request/coin_futures/account/ContractFinancialRecordRequest.class create mode 100644 target/classes/com/huobi/api/request/coin_futures/account/ContractFinancialRecordV3Request.class create mode 100644 target/classes/com/huobi/api/request/coin_futures/account/ContractMasterSubTransferRecordRequest.class create mode 100644 target/classes/com/huobi/api/request/coin_futures/account/ContractMasterSubTransferRequest.class create mode 100644 target/classes/com/huobi/api/request/coin_futures/account/ContractSettlementRecordsRequest.class create mode 100644 target/classes/com/huobi/api/request/coin_futures/account/ContractSubAccountInfoListRequest.class create mode 100644 target/classes/com/huobi/api/request/coin_futures/account/ContractSubAuthListRequest.class create mode 100644 target/classes/com/huobi/api/request/coin_futures/account/ContractUserSettlementRecordsRequest.class create mode 100644 target/classes/com/huobi/api/request/coin_futures/market/ContractLiquidationOrdersV3Request.class create mode 100644 target/classes/com/huobi/api/request/coin_futures/trade/ContractBatchorderRequest.class create mode 100644 target/classes/com/huobi/api/request/coin_futures/trade/ContractCancelAfterRequest.class create mode 100644 target/classes/com/huobi/api/request/coin_futures/trade/ContractCancelRequest.class create mode 100644 target/classes/com/huobi/api/request/coin_futures/trade/ContractCancelallRequest.class create mode 100644 target/classes/com/huobi/api/request/coin_futures/trade/ContractHisordersExactRequest.class create mode 100644 target/classes/com/huobi/api/request/coin_futures/trade/ContractHisordersExactV3Request.class create mode 100644 target/classes/com/huobi/api/request/coin_futures/trade/ContractHisordersRequest.class create mode 100644 target/classes/com/huobi/api/request/coin_futures/trade/ContractHisordersV3Request.class create mode 100644 target/classes/com/huobi/api/request/coin_futures/trade/ContractMatchResultsExactV3Request.class create mode 100644 target/classes/com/huobi/api/request/coin_futures/trade/ContractMatchResultsV3Request.class create mode 100644 target/classes/com/huobi/api/request/coin_futures/trade/ContractMatchresultsExactRequest.class create mode 100644 target/classes/com/huobi/api/request/coin_futures/trade/ContractMatchresultsRequest.class create mode 100644 target/classes/com/huobi/api/request/coin_futures/trade/ContractOpenordersRequest.class create mode 100644 target/classes/com/huobi/api/request/coin_futures/trade/ContractOrderDetailRequest.class create mode 100644 target/classes/com/huobi/api/request/coin_futures/trade/ContractOrderInfoRequest.class create mode 100644 target/classes/com/huobi/api/request/coin_futures/trade/ContractOrderRequest.class create mode 100644 target/classes/com/huobi/api/request/coin_futures/trade/ContractRelationTpslOrderRequest.class create mode 100644 target/classes/com/huobi/api/request/coin_futures/trade/ContractTpslCancelRequest.class create mode 100644 target/classes/com/huobi/api/request/coin_futures/trade/ContractTpslCancelallRequest.class create mode 100644 target/classes/com/huobi/api/request/coin_futures/trade/ContractTpslHisordersRequset.class create mode 100644 target/classes/com/huobi/api/request/coin_futures/trade/ContractTpslOpenordersRequest.class create mode 100644 target/classes/com/huobi/api/request/coin_futures/trade/ContractTpslOrderRequest.class create mode 100644 target/classes/com/huobi/api/request/coin_futures/trade/ContractTrackCancelRequest.class create mode 100644 target/classes/com/huobi/api/request/coin_futures/trade/ContractTrackCancelallRequest.class create mode 100644 target/classes/com/huobi/api/request/coin_futures/trade/ContractTrackHisordersRequest.class create mode 100644 target/classes/com/huobi/api/request/coin_futures/trade/ContractTrackOpenordersRequest.class create mode 100644 target/classes/com/huobi/api/request/coin_futures/trade/ContractTrackOrderRequest.class create mode 100644 target/classes/com/huobi/api/request/coin_futures/trade/ContractTriggerCancelRequest.class create mode 100644 target/classes/com/huobi/api/request/coin_futures/trade/ContractTriggerCancelallRequest.class create mode 100644 target/classes/com/huobi/api/request/coin_futures/trade/ContractTriggerHisordersRequest.class create mode 100644 target/classes/com/huobi/api/request/coin_futures/trade/ContractTriggerOpenordersRequest.class create mode 100644 target/classes/com/huobi/api/request/coin_futures/trade/ContractTriggerOrderRequest.class create mode 100644 target/classes/com/huobi/api/request/coin_futures/trade/LightningClosePositionRequest.class create mode 100644 target/classes/com/huobi/api/request/coin_futures/transfer/AccountTransferRequest.class create mode 100644 target/classes/com/huobi/api/request/coin_swap/account/LinearSwapBasisRequest.class create mode 100644 target/classes/com/huobi/api/request/coin_swap/account/SwapFinancialRecordExactRequest.class create mode 100644 target/classes/com/huobi/api/request/coin_swap/account/SwapFinancialRecordExactV3Request.class create mode 100644 target/classes/com/huobi/api/request/coin_swap/account/SwapFinancialRecordRequest.class create mode 100644 target/classes/com/huobi/api/request/coin_swap/account/SwapFinancialRecordV3Request.class create mode 100644 target/classes/com/huobi/api/request/coin_swap/account/SwapLiquidationOrdersRequest.class create mode 100644 target/classes/com/huobi/api/request/coin_swap/account/SwapMarketHistoryKlineRequest.class create mode 100644 target/classes/com/huobi/api/request/coin_swap/account/SwapMasterSubTransferRecordRequest.class create mode 100644 target/classes/com/huobi/api/request/coin_swap/account/SwapMasterSubTransferRequest.class create mode 100644 target/classes/com/huobi/api/request/coin_swap/account/SwapUserSettlementRecordsRequest.class create mode 100644 target/classes/com/huobi/api/request/coin_swap/market/SwapSettlementRecordsRequest.class create mode 100644 target/classes/com/huobi/api/request/coin_swap/trade/SwapBatchorderRequest.class create mode 100644 target/classes/com/huobi/api/request/coin_swap/trade/SwapCancelAfterRequest.class create mode 100644 target/classes/com/huobi/api/request/coin_swap/trade/SwapCancelRequest.class create mode 100644 target/classes/com/huobi/api/request/coin_swap/trade/SwapCancelallRequest.class create mode 100644 target/classes/com/huobi/api/request/coin_swap/trade/SwapHisordersExectRequest.class create mode 100644 target/classes/com/huobi/api/request/coin_swap/trade/SwapHisordersRequest.class create mode 100644 target/classes/com/huobi/api/request/coin_swap/trade/SwapLightningClosePositionRequest.class create mode 100644 target/classes/com/huobi/api/request/coin_swap/trade/SwapMatchresultsExactRequest.class create mode 100644 target/classes/com/huobi/api/request/coin_swap/trade/SwapMatchresultsRequest.class create mode 100644 target/classes/com/huobi/api/request/coin_swap/trade/SwapOpenordersRequest.class create mode 100644 target/classes/com/huobi/api/request/coin_swap/trade/SwapOrderDetailRequest.class create mode 100644 target/classes/com/huobi/api/request/coin_swap/trade/SwapOrderInfoRequest.class create mode 100644 target/classes/com/huobi/api/request/coin_swap/trade/SwapOrderRequest.class create mode 100644 target/classes/com/huobi/api/request/coin_swap/trade/SwapRelationTpslOrderRequest.class create mode 100644 target/classes/com/huobi/api/request/coin_swap/trade/SwapTpslCancelRequest.class create mode 100644 target/classes/com/huobi/api/request/coin_swap/trade/SwapTpslCancelallRequest.class create mode 100644 target/classes/com/huobi/api/request/coin_swap/trade/SwapTpslHisordersRequset.class create mode 100644 target/classes/com/huobi/api/request/coin_swap/trade/SwapTpslOpenordersRequest.class create mode 100644 target/classes/com/huobi/api/request/coin_swap/trade/SwapTpslOrderRequest.class create mode 100644 target/classes/com/huobi/api/request/coin_swap/trade/SwapTrackCancelRequest.class create mode 100644 target/classes/com/huobi/api/request/coin_swap/trade/SwapTrackCancelallRequest.class create mode 100644 target/classes/com/huobi/api/request/coin_swap/trade/SwapTrackHisordersRequest.class create mode 100644 target/classes/com/huobi/api/request/coin_swap/trade/SwapTrackOpenordersRequest.class create mode 100644 target/classes/com/huobi/api/request/coin_swap/trade/SwapTrackOrderRequest.class create mode 100644 target/classes/com/huobi/api/request/coin_swap/trade/SwapTriggerCancelRequest.class create mode 100644 target/classes/com/huobi/api/request/coin_swap/trade/SwapTriggerCancelallRequest.class create mode 100644 target/classes/com/huobi/api/request/coin_swap/trade/SwapTriggerHisordersRequest.class create mode 100644 target/classes/com/huobi/api/request/coin_swap/trade/SwapTriggerOpenordersRequest.class create mode 100644 target/classes/com/huobi/api/request/coin_swap/trade/SwapTriggerOrderRequest.class create mode 100644 target/classes/com/huobi/api/request/coin_swap/transfer/UsdtSwapTransferRequest.class create mode 100644 target/classes/com/huobi/api/request/usdt/account/FixPositionMarginChangeRecordRequest.class create mode 100644 target/classes/com/huobi/api/request/usdt/account/FixPositionMarginChangeRequest.class create mode 100644 target/classes/com/huobi/api/request/usdt/account/LinearSwapBasisRequest.class create mode 100644 target/classes/com/huobi/api/request/usdt/account/SwapCrossLeverPositionLimitRequest.class create mode 100644 target/classes/com/huobi/api/request/usdt/account/SwapCrossUserSettlementRecordsRequest.class create mode 100644 target/classes/com/huobi/api/request/usdt/account/SwapFinancialRecordExactRequest.class create mode 100644 target/classes/com/huobi/api/request/usdt/account/SwapFinancialRecordExactV3Request.class create mode 100644 target/classes/com/huobi/api/request/usdt/account/SwapFinancialRecordRequest.class create mode 100644 target/classes/com/huobi/api/request/usdt/account/SwapFinancialRecordV3Request.class create mode 100644 target/classes/com/huobi/api/request/usdt/account/SwapLiquidationOrdersRequest.class create mode 100644 target/classes/com/huobi/api/request/usdt/account/SwapLiquidationOrdersV3Request.class create mode 100644 target/classes/com/huobi/api/request/usdt/account/SwapMarketHistoryKlineRequest.class create mode 100644 target/classes/com/huobi/api/request/usdt/account/SwapMasterSubTransferRecordRequest.class create mode 100644 target/classes/com/huobi/api/request/usdt/account/SwapMasterSubTransferRequest.class create mode 100644 target/classes/com/huobi/api/request/usdt/account/SwapSubAuthListRequest.class create mode 100644 target/classes/com/huobi/api/request/usdt/account/SwapUserSettlementRecordsRequest.class create mode 100644 target/classes/com/huobi/api/request/usdt/trade/LinearCancelAfterRequest.class create mode 100644 target/classes/com/huobi/api/request/usdt/trade/SwapBatchorderRequest.class create mode 100644 target/classes/com/huobi/api/request/usdt/trade/SwapCancelRequest.class create mode 100644 target/classes/com/huobi/api/request/usdt/trade/SwapCancelallRequest.class create mode 100644 target/classes/com/huobi/api/request/usdt/trade/SwapCrossBatchorderRequest.class create mode 100644 target/classes/com/huobi/api/request/usdt/trade/SwapCrossCancelRequest.class create mode 100644 target/classes/com/huobi/api/request/usdt/trade/SwapCrossCancelallRequest.class create mode 100644 target/classes/com/huobi/api/request/usdt/trade/SwapCrossHisordersExactV3Request.class create mode 100644 target/classes/com/huobi/api/request/usdt/trade/SwapCrossHisordersRequest.class create mode 100644 target/classes/com/huobi/api/request/usdt/trade/SwapCrossHisordersV3Request.class create mode 100644 target/classes/com/huobi/api/request/usdt/trade/SwapCrossLightningClosePositionRequest.class create mode 100644 target/classes/com/huobi/api/request/usdt/trade/SwapCrossMatchResultsExactV3Request.class create mode 100644 target/classes/com/huobi/api/request/usdt/trade/SwapCrossMatchResultsV3Request.class create mode 100644 target/classes/com/huobi/api/request/usdt/trade/SwapCrossMatchresultsRequest.class create mode 100644 target/classes/com/huobi/api/request/usdt/trade/SwapCrossOpenordersRequest.class create mode 100644 target/classes/com/huobi/api/request/usdt/trade/SwapCrossOrderDetailRequest.class create mode 100644 target/classes/com/huobi/api/request/usdt/trade/SwapCrossOrderInfoRequest.class create mode 100644 target/classes/com/huobi/api/request/usdt/trade/SwapCrossOrderRequest.class create mode 100644 target/classes/com/huobi/api/request/usdt/trade/SwapCrossTriggerCancelRequest.class create mode 100644 target/classes/com/huobi/api/request/usdt/trade/SwapCrossTriggerCancelallRequest.class create mode 100644 target/classes/com/huobi/api/request/usdt/trade/SwapCrossTriggerHisordersRequest.class create mode 100644 target/classes/com/huobi/api/request/usdt/trade/SwapCrossTriggerOpenordersRequest.class create mode 100644 target/classes/com/huobi/api/request/usdt/trade/SwapCrossTriggerOrderRequest.class create mode 100644 target/classes/com/huobi/api/request/usdt/trade/SwapHisordersExactRequest.class create mode 100644 target/classes/com/huobi/api/request/usdt/trade/SwapHisordersExactV3Request.class create mode 100644 target/classes/com/huobi/api/request/usdt/trade/SwapHisordersRequest.class create mode 100644 target/classes/com/huobi/api/request/usdt/trade/SwapHisordersV3Request.class create mode 100644 target/classes/com/huobi/api/request/usdt/trade/SwapLightningClosePositionRequest.class create mode 100644 target/classes/com/huobi/api/request/usdt/trade/SwapMatchResultsExactV3Request.class create mode 100644 target/classes/com/huobi/api/request/usdt/trade/SwapMatchResultsV3Request.class create mode 100644 target/classes/com/huobi/api/request/usdt/trade/SwapMatchresultsExactRequest.class create mode 100644 target/classes/com/huobi/api/request/usdt/trade/SwapMatchresultsRequest.class create mode 100644 target/classes/com/huobi/api/request/usdt/trade/SwapOpenordersRequest.class create mode 100644 target/classes/com/huobi/api/request/usdt/trade/SwapOrderDetailRequest.class create mode 100644 target/classes/com/huobi/api/request/usdt/trade/SwapOrderInfoRequest.class create mode 100644 target/classes/com/huobi/api/request/usdt/trade/SwapOrderRequest.class create mode 100644 target/classes/com/huobi/api/request/usdt/trade/SwapPositionSideRequest.class create mode 100644 target/classes/com/huobi/api/request/usdt/trade/SwapRelationTpslOrderRequest.class create mode 100644 target/classes/com/huobi/api/request/usdt/trade/SwapTpslCancelRequest.class create mode 100644 target/classes/com/huobi/api/request/usdt/trade/SwapTpslCancelallRequest.class create mode 100644 target/classes/com/huobi/api/request/usdt/trade/SwapTpslHisordersRequset.class create mode 100644 target/classes/com/huobi/api/request/usdt/trade/SwapTpslOpenordersRequest.class create mode 100644 target/classes/com/huobi/api/request/usdt/trade/SwapTpslOrderRequest.class create mode 100644 target/classes/com/huobi/api/request/usdt/trade/SwapTrackCancelRequest.class create mode 100644 target/classes/com/huobi/api/request/usdt/trade/SwapTrackCancelallRequest.class create mode 100644 target/classes/com/huobi/api/request/usdt/trade/SwapTrackHisordersRequest.class create mode 100644 target/classes/com/huobi/api/request/usdt/trade/SwapTrackOpenordersRequest.class create mode 100644 target/classes/com/huobi/api/request/usdt/trade/SwapTrackOrderRequest.class create mode 100644 target/classes/com/huobi/api/request/usdt/trade/SwapTriggerCancelRequest.class create mode 100644 target/classes/com/huobi/api/request/usdt/trade/SwapTriggerCancelallRequest.class create mode 100644 target/classes/com/huobi/api/request/usdt/trade/SwapTriggerHisordersRequest.class create mode 100644 target/classes/com/huobi/api/request/usdt/trade/SwapTriggerOpenordersRequest.class create mode 100644 target/classes/com/huobi/api/request/usdt/trade/SwapTriggerOrderRequest.class create mode 100644 target/classes/com/huobi/api/request/usdt/transfer/UsdtSwapTransferRequest.class create mode 100644 target/classes/com/huobi/api/response/coin_futures/account/ContractAccountInfoResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_futures/account/ContractAccountPositionInfoResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_futures/account/ContractApiTradingStatusResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_futures/account/ContractAvailableLevelRateResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_futures/account/ContractBalanceValuationResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_futures/account/ContractFeeResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_futures/account/ContractFinancialRecordExactResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_futures/account/ContractFinancialRecordExactV3Response.class create mode 100644 target/classes/com/huobi/api/response/coin_futures/account/ContractFinancialRecordResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_futures/account/ContractFinancialRecordV3Response.class create mode 100644 target/classes/com/huobi/api/response/coin_futures/account/ContractMasterSubTransferRecordResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_futures/account/ContractMasterSubTransferResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_futures/account/ContractOrderLimitResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_futures/account/ContractPositionInfoResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_futures/account/ContractPositionLimitResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_futures/account/ContractSubAccountInfoListResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_futures/account/ContractSubAccountInfoResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_futures/account/ContractSubAccountListResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_futures/account/ContractSubAuthListResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_futures/account/ContractSubAuthResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_futures/account/ContractSubPositionInfoResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_futures/account/ContractTransferLimitResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_futures/account/ContractUserSettlementRecordsResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_futures/market/ContractAdjustfactorResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_futures/market/ContractApiStateResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_futures/market/ContractContractInfoResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_futures/market/ContractDeliveryPriceResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_futures/market/ContractEliteAccountRatioResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_futures/market/ContractElitePositionRatioResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_futures/market/ContractEstimatedSettlementPriceResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_futures/market/ContractHisOpenInterestResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_futures/market/ContractIndexResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_futures/market/ContractInsuranceFundResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_futures/market/ContractLadderMarginResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_futures/market/ContractLiquidationOrdersResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_futures/market/ContractLiquidationOrdersV3Response.class create mode 100644 target/classes/com/huobi/api/response/coin_futures/market/ContractOpenInterestResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_futures/market/ContractPriceLimitResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_futures/market/ContractQueryElementsResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_futures/market/ContractRiskInfoResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_futures/market/ContractSettlementRecordsResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_futures/market/MarkPriceKlineResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_futures/market/MarketBatchMergedResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_futures/market/MarketBboResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_futures/market/MarketDepthResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_futures/market/MarketDetailMergedResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_futures/market/MarketHistoryBasisResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_futures/market/MarketHistoryIndexResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_futures/market/MarketHistoryKlineResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_futures/market/MarketHistoryTradeResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_futures/market/MarketTradeResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_futures/trade/ContractBatchorderResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_futures/trade/ContractCancelAfterResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_futures/trade/ContractCancelResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_futures/trade/ContractCancelallResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_futures/trade/ContractHisordersExactResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_futures/trade/ContractHisordersExactV3Response.class create mode 100644 target/classes/com/huobi/api/response/coin_futures/trade/ContractHisordersResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_futures/trade/ContractHisordersV3Response.class create mode 100644 target/classes/com/huobi/api/response/coin_futures/trade/ContractMatchResultsExactV3Response.class create mode 100644 target/classes/com/huobi/api/response/coin_futures/trade/ContractMatchResultsV3Response.class create mode 100644 target/classes/com/huobi/api/response/coin_futures/trade/ContractMatchresultsExactResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_futures/trade/ContractMatchresultsResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_futures/trade/ContractOpenordersResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_futures/trade/ContractOrderDetailResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_futures/trade/ContractOrderInfoResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_futures/trade/ContractOrderResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_futures/trade/ContractRelationTpslOrderResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_futures/trade/ContractSwitchLeverRateResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_futures/trade/ContractTpslCancelResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_futures/trade/ContractTpslCancelallResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_futures/trade/ContractTpslHisordersResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_futures/trade/ContractTpslOpenordersResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_futures/trade/ContractTpslOrderResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_futures/trade/ContractTrackCancelResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_futures/trade/ContractTrackCancelallResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_futures/trade/ContractTrackHisordersResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_futures/trade/ContractTrackOpenordersResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_futures/trade/ContractTrackOrderResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_futures/trade/ContractTriggerCancelResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_futures/trade/ContractTriggerCancelallResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_futures/trade/ContractTriggerHisordersResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_futures/trade/ContractTriggerOpenordersResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_futures/trade/ContractTriggerOrderResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_futures/trade/LightningClosePositionResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_futures/transfer/AccountTransferResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_futures/transfer/FuturesTransferResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_swap/account/SwapAccountInfoResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_swap/account/SwapAccountPositionInfoResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_swap/account/SwapApiTradingStatusResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_swap/account/SwapAvailableLevelRateResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_swap/account/SwapBalanceValuationResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_swap/account/SwapFeeResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_swap/account/SwapFinancialRecordExactResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_swap/account/SwapFinancialRecordExactV3Response.class create mode 100644 target/classes/com/huobi/api/response/coin_swap/account/SwapFinancialRecordResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_swap/account/SwapFinancialRecordV3Response.class create mode 100644 target/classes/com/huobi/api/response/coin_swap/account/SwapMasterSubTransferRecordResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_swap/account/SwapMasterSubTransferResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_swap/account/SwapOrderLimitResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_swap/account/SwapPositionInfoResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_swap/account/SwapPositionLimitResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_swap/account/SwapSubAccountInfoListResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_swap/account/SwapSubAccountInfoResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_swap/account/SwapSubAccountListResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_swap/account/SwapSubAuthResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_swap/account/SwapSubPositionInfoResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_swap/account/SwapTransferInnerResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_swap/account/SwapTransferLimitResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_swap/account/SwapUserSettlementRecordsResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_swap/market/BatchMergedResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_swap/market/HeartBeatResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_swap/market/LinearSwapBasisResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_swap/market/LinearSwapEstimatedRateKlineResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_swap/market/LinearSwapPremiumIndexKlineResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_swap/market/MarketBboResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_swap/market/SummaryResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_swap/market/SwapAdjustfactorResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_swap/market/SwapApiStateResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_swap/market/SwapBatchFundingRateResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_swap/market/SwapContractInfoResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_swap/market/SwapEliteAccountRatioResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_swap/market/SwapElitePositionRatioResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_swap/market/SwapEstimatedSettlementPriceResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_swap/market/SwapFundingRateResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_swap/market/SwapHisOpenInterestResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_swap/market/SwapHistoricalFundingRateResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_swap/market/SwapIndexResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_swap/market/SwapInsuranceFundResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_swap/market/SwapLadderMarginResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_swap/market/SwapLiquidationOrdersResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_swap/market/SwapMarkPriceKlineResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_swap/market/SwapMarketDepthResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_swap/market/SwapMarketDetailMergedResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_swap/market/SwapMarketHistoryKlineResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_swap/market/SwapMarketHistoryTradeResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_swap/market/SwapMarketTradeResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_swap/market/SwapOpenInterestResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_swap/market/SwapPriceLimitResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_swap/market/SwapRiskInfoResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_swap/market/TimestampReponse.class create mode 100644 target/classes/com/huobi/api/response/coin_swap/trade/SwapBatchorderResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_swap/trade/SwapCancelAfterResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_swap/trade/SwapCancelResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_swap/trade/SwapCancelallResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_swap/trade/SwapHisordersExactResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_swap/trade/SwapHisordersResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_swap/trade/SwapLightningClosePositionResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_swap/trade/SwapMatchresultsExactResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_swap/trade/SwapMatchresultsResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_swap/trade/SwapOpenordersResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_swap/trade/SwapOrderDetailResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_swap/trade/SwapOrderInfoResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_swap/trade/SwapOrderResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_swap/trade/SwapRelationTpslOrderResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_swap/trade/SwapSwitchLeverRateResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_swap/trade/SwapTpslCancelResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_swap/trade/SwapTpslCancelallResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_swap/trade/SwapTpslHisordersResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_swap/trade/SwapTpslOpenordersResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_swap/trade/SwapTpslOrderResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_swap/trade/SwapTrackCancelResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_swap/trade/SwapTrackCancelallResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_swap/trade/SwapTrackHisordersResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_swap/trade/SwapTrackOpenordersResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_swap/trade/SwapTrackOrderResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_swap/trade/SwapTriggerCancelResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_swap/trade/SwapTriggerCancelallResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_swap/trade/SwapTriggerHisordersResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_swap/trade/SwapTriggerOpenordersResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_swap/trade/SwapTriggerOrderResponse.class create mode 100644 target/classes/com/huobi/api/response/coin_swap/transfer/UsdtSwapTransferResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/account/FixPositionMarginChangeRecordResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/account/FixPositionMarginChangeResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/account/LinearSwapFeeSwitchResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/account/LinearSwapOverviewAccountInfoResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/account/SwapAccountInfoResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/account/SwapAccountPositionInfoResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/account/SwapApiTradingStatusResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/account/SwapAvailableLevelRateResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/account/SwapBalanceValuationResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/account/SwapCrossAccountInfoResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/account/SwapCrossAccountPositionInfoResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/account/SwapCrossAvailableLevelRateResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/account/SwapCrossPositionInfoResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/account/SwapCrossPositionLimitResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/account/SwapCrossSubAccountInfoResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/account/SwapCrossSubAccountListResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/account/SwapCrossSubPositionInfoResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/account/SwapCrossTransferLimitResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/account/SwapCrossUserSettlementRecordsResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/account/SwapFeeResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/account/SwapFinancialRecordExactResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/account/SwapFinancialRecordExactV3Response.class create mode 100644 target/classes/com/huobi/api/response/usdt/account/SwapFinancialRecordResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/account/SwapFinancialRecordV3Response.class create mode 100644 target/classes/com/huobi/api/response/usdt/account/SwapLeverPositionLimitResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/account/SwapLiquidationOrdersV3Response.class create mode 100644 target/classes/com/huobi/api/response/usdt/account/SwapMasterSubTransferRecordResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/account/SwapMasterSubTransferResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/account/SwapOrderLimitResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/account/SwapPositionInfoResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/account/SwapPositionLimitResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/account/SwapSubAccountInfoListResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/account/SwapSubAccountInfoResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/account/SwapSubAccountListResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/account/SwapSubAuthListResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/account/SwapSubAuthResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/account/SwapSubPositionInfoResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/account/SwapSwitchAccountTypeResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/account/SwapSwitchLeverRateResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/account/SwapTransferInnerResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/account/SwapTransferLimitResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/account/SwapUnifiedAccountTypeResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/account/SwapUserSettlementRecordsResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/account/UnifiedAccountInfoResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/market/BatchMergedResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/market/BatchMergedV2Response.class create mode 100644 target/classes/com/huobi/api/response/usdt/market/LinearSwapBasisResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/market/LinearSwapEstimatedRateKlineResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/market/LinearSwapMarkPriceKlineResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/market/LinearSwapPremiumIndexKlineResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/market/MarketBboResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/market/SwapAdjustfactorResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/market/SwapApiStateResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/market/SwapBatchFundingRateResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/market/SwapContractInfoResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/market/SwapCrossAdjustfactorResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/market/SwapCrossTradeStateResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/market/SwapCrossTransferStateResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/market/SwapEliteAccountRatioResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/market/SwapElitePositionRatioResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/market/SwapEstimatedSettlementPriceResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/market/SwapFundingRateResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/market/SwapHisOpenInterestResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/market/SwapHistoricalFundingRateResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/market/SwapIndexResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/market/SwapInsuranceFundResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/market/SwapLadderMarginResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/market/SwapLiquidationOrdersResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/market/SwapMarketDepthResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/market/SwapMarketDetailMergedResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/market/SwapMarketHistoryKlineResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/market/SwapMarketHistoryTradeResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/market/SwapMarketTradeResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/market/SwapOpenInterestResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/market/SwapPriceLimitResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/market/SwapQueryElementsResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/market/SwapRiskInfoResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/market/SwapSettlementRecordsResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/trade/LinearCancelAfterResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/trade/SwapBatchorderResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/trade/SwapCancelResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/trade/SwapCancelallResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/trade/SwapCrossBatchorderResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/trade/SwapCrossCancelResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/trade/SwapCrossCancelallResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/trade/SwapCrossHisordersExactV3Response.class create mode 100644 target/classes/com/huobi/api/response/usdt/trade/SwapCrossHisordersResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/trade/SwapCrossHisordersV3Response.class create mode 100644 target/classes/com/huobi/api/response/usdt/trade/SwapCrossLightningClosePositionResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/trade/SwapCrossMatchResultsExactV3Response.class create mode 100644 target/classes/com/huobi/api/response/usdt/trade/SwapCrossMatchResultsV3Response.class create mode 100644 target/classes/com/huobi/api/response/usdt/trade/SwapCrossMatchresultsResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/trade/SwapCrossOpenordersResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/trade/SwapCrossOrderDetailResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/trade/SwapCrossOrderInfoResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/trade/SwapCrossOrderResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/trade/SwapCrossPositionSideResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/trade/SwapCrossSwitchLeverRateResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/trade/SwapCrossTriggerCancelResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/trade/SwapCrossTriggerCancelallResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/trade/SwapCrossTriggerHisordersResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/trade/SwapCrossTriggerOpenordersResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/trade/SwapCrossTriggerOrderResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/trade/SwapHisordersExactResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/trade/SwapHisordersExactV3Response.class create mode 100644 target/classes/com/huobi/api/response/usdt/trade/SwapHisordersResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/trade/SwapHisordersV3Response.class create mode 100644 target/classes/com/huobi/api/response/usdt/trade/SwapLightningClosePositionResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/trade/SwapMatchResultsExactV3Response.class create mode 100644 target/classes/com/huobi/api/response/usdt/trade/SwapMatchResultsV3Response.class create mode 100644 target/classes/com/huobi/api/response/usdt/trade/SwapMatchresultsExactResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/trade/SwapMatchresultsResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/trade/SwapOpenordersResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/trade/SwapOrderDetailResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/trade/SwapOrderInfoResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/trade/SwapOrderResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/trade/SwapPositionSideResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/trade/SwapRelationTpslOrderResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/trade/SwapSwitchLeverRateResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/trade/SwapSwitchPositionModeResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/trade/SwapTpslCancelResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/trade/SwapTpslCancelallResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/trade/SwapTpslHisordersResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/trade/SwapTpslOpenordersResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/trade/SwapTpslOrderResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/trade/SwapTrackCancelResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/trade/SwapTrackCancelallResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/trade/SwapTrackHisordersResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/trade/SwapTrackOpenordersResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/trade/SwapTrackOrderResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/trade/SwapTriggerCancelResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/trade/SwapTriggerCancelallResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/trade/SwapTriggerHisordersResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/trade/SwapTriggerOpenordersResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/trade/SwapTriggerOrderResponse.class create mode 100644 target/classes/com/huobi/api/response/usdt/transfer/UsdtSwapTransferResponse.class create mode 100644 target/classes/com/huobi/api/service/coin_futures/account/AccountAPIService.class create mode 100644 target/classes/com/huobi/api/service/coin_futures/account/AccountAPIServiceImpl.class create mode 100644 target/classes/com/huobi/api/service/coin_futures/market/MarketAPIService.class create mode 100644 target/classes/com/huobi/api/service/coin_futures/market/MarketAPIServiceImpl.class create mode 100644 target/classes/com/huobi/api/service/coin_futures/reference/ReferenceAPIService.class create mode 100644 target/classes/com/huobi/api/service/coin_futures/reference/ReferenceAPIServiceImpl.class create mode 100644 target/classes/com/huobi/api/service/coin_futures/strategy/StrategyAPIService.class create mode 100644 target/classes/com/huobi/api/service/coin_futures/strategy/StrategyAPIServiceImpl.class create mode 100644 target/classes/com/huobi/api/service/coin_futures/trade/TradeAPIService.class create mode 100644 target/classes/com/huobi/api/service/coin_futures/trade/TradeAPIServiceImpl.class create mode 100644 target/classes/com/huobi/api/service/coin_futures/transfer/TransferApiService.class create mode 100644 target/classes/com/huobi/api/service/coin_futures/transfer/TransferApiServiceImpl.class create mode 100644 target/classes/com/huobi/api/service/coin_swap/account/AccountAPIService.class create mode 100644 target/classes/com/huobi/api/service/coin_swap/account/AccountAPIServiceImpl.class create mode 100644 target/classes/com/huobi/api/service/coin_swap/market/MarketAPIService.class create mode 100644 target/classes/com/huobi/api/service/coin_swap/market/MarketAPIServiceImpl.class create mode 100644 target/classes/com/huobi/api/service/coin_swap/reference/ReferenceAPIService.class create mode 100644 target/classes/com/huobi/api/service/coin_swap/reference/ReferenceAPIServiceImpl.class create mode 100644 target/classes/com/huobi/api/service/coin_swap/strategy/StrategyAPIService.class create mode 100644 target/classes/com/huobi/api/service/coin_swap/strategy/StrategyAPIServiceImpl.class create mode 100644 target/classes/com/huobi/api/service/coin_swap/trade/TradeAPIService.class create mode 100644 target/classes/com/huobi/api/service/coin_swap/trade/TradeAPIServiceImpl.class create mode 100644 target/classes/com/huobi/api/service/coin_swap/transfer/TransferApiService.class create mode 100644 target/classes/com/huobi/api/service/coin_swap/transfer/TransferApiServiceImpl.class create mode 100644 target/classes/com/huobi/api/service/usdt/account/AccountAPIService.class create mode 100644 target/classes/com/huobi/api/service/usdt/account/AccountAPIServiceImpl.class create mode 100644 target/classes/com/huobi/api/service/usdt/account/CrossAccountAPIService.class create mode 100644 target/classes/com/huobi/api/service/usdt/account/CrossAccountAPIServiceImpl.class create mode 100644 target/classes/com/huobi/api/service/usdt/market/MarketAPIService.class create mode 100644 target/classes/com/huobi/api/service/usdt/market/MarketAPIServiceImpl.class create mode 100644 target/classes/com/huobi/api/service/usdt/reference/CrossReferenceAPIService.class create mode 100644 target/classes/com/huobi/api/service/usdt/reference/CrossReferenceAPIServiceImpl.class create mode 100644 target/classes/com/huobi/api/service/usdt/reference/ReferenceAPIService.class create mode 100644 target/classes/com/huobi/api/service/usdt/reference/ReferenceAPIServiceImpl.class create mode 100644 target/classes/com/huobi/api/service/usdt/strategy/CrossStrategyAPIService.class create mode 100644 target/classes/com/huobi/api/service/usdt/strategy/CrossStrategyAPIServiceImpl.class create mode 100644 target/classes/com/huobi/api/service/usdt/strategy/StrategyAPIService.class create mode 100644 target/classes/com/huobi/api/service/usdt/strategy/StrategyAPIServiceImpl.class create mode 100644 target/classes/com/huobi/api/service/usdt/trade/CrossTradeAPIService.class create mode 100644 target/classes/com/huobi/api/service/usdt/trade/CrossTradeAPIServiceImpl.class create mode 100644 target/classes/com/huobi/api/service/usdt/trade/TradeAPIService.class create mode 100644 target/classes/com/huobi/api/service/usdt/trade/TradeAPIServiceImpl.class create mode 100644 target/classes/com/huobi/api/service/usdt/transfer/CrossTransferAPIService.class create mode 100644 target/classes/com/huobi/api/service/usdt/transfer/CrossTransferAPIServiceImpl.class create mode 100644 target/classes/com/huobi/api/service/usdt/transfer/TransferAPIService.class create mode 100644 target/classes/com/huobi/api/service/usdt/transfer/TransferAPIServiceImpl.class create mode 100644 target/classes/com/huobi/api/service/usdt/unified_account/UnifiedAccountAPIService.class create mode 100644 target/classes/com/huobi/api/service/usdt/unified_account/UnifiedAccountAPIServiceImpl.class create mode 100644 target/classes/com/huobi/api/util/ApiSignature.class create mode 100644 target/classes/com/huobi/api/util/ApiSignatureEd25519.class create mode 100644 target/classes/com/huobi/api/util/HbdmHttpClient.class create mode 100644 target/classes/com/huobi/wss/SubscriptionListener.class create mode 100644 target/classes/com/huobi/wss/constants/HuobiFutureWSSConstants.class create mode 100644 target/classes/com/huobi/wss/constants/HuobiSwapsWSSConstants.class create mode 100644 target/classes/com/huobi/wss/constants/HuobiUsdtWSSConstants.class create mode 100644 target/classes/com/huobi/wss/event/AccountCrossSubResponse.class create mode 100644 target/classes/com/huobi/wss/event/AccountsSubResponse.class create mode 100644 target/classes/com/huobi/wss/event/ContractElementSubResponse.class create mode 100644 target/classes/com/huobi/wss/event/LiquidationOrdersSubResponse.class create mode 100644 target/classes/com/huobi/wss/event/MarketBasisPriceTypeReqResponse.class create mode 100644 target/classes/com/huobi/wss/event/MarketBasisPriceTypeSubResponse.class create mode 100644 target/classes/com/huobi/wss/event/MarketBboSubResponse.class create mode 100644 target/classes/com/huobi/wss/event/MarketDepthDiffSubResponse.class create mode 100644 target/classes/com/huobi/wss/event/MarketDepthSubResponse.class create mode 100644 target/classes/com/huobi/wss/event/MarketDetailSubResponse.class create mode 100644 target/classes/com/huobi/wss/event/MarketEstimatedRateReqResponse.class create mode 100644 target/classes/com/huobi/wss/event/MarketEstimatedRateSubResponse.class create mode 100644 target/classes/com/huobi/wss/event/MarketIndexReqResponse.class create mode 100644 target/classes/com/huobi/wss/event/MarketIndexSubResponse.class create mode 100644 target/classes/com/huobi/wss/event/MarketKLineReqResponse.class create mode 100644 target/classes/com/huobi/wss/event/MarketKLineSubResponse.class create mode 100644 target/classes/com/huobi/wss/event/MarketMarkPriceReqResponse.class create mode 100644 target/classes/com/huobi/wss/event/MarketMarkPriceSubResponse.class create mode 100644 target/classes/com/huobi/wss/event/MarketPremiumIndexReqResponse.class create mode 100644 target/classes/com/huobi/wss/event/MarketPremiumIndexSubResponse.class create mode 100644 target/classes/com/huobi/wss/event/MarketTradeDetailReqResponse.class create mode 100644 target/classes/com/huobi/wss/event/MarketTradeDetailSubResponse.class create mode 100644 target/classes/com/huobi/wss/event/MatchOrdersCrossSubResponse.class create mode 100644 target/classes/com/huobi/wss/event/MatchOrdersResponse.class create mode 100644 target/classes/com/huobi/wss/event/MatchOrdersSubResponse.class create mode 100644 target/classes/com/huobi/wss/event/OrdersSubResponse.class create mode 100644 target/classes/com/huobi/wss/event/PositionsSubResponse.class create mode 100644 target/classes/com/huobi/wss/event/PublicContractInfoFutureSubResponse.class create mode 100644 target/classes/com/huobi/wss/event/PublicContractInfoResponse.class create mode 100644 target/classes/com/huobi/wss/event/PublicFundingRateResponse.class create mode 100644 target/classes/com/huobi/wss/event/PublicHeartbeatSubResponse.class create mode 100644 target/classes/com/huobi/wss/event/PublicSubResponse.class create mode 100644 target/classes/com/huobi/wss/event/SwapContractElementSubResponse.class create mode 100644 target/classes/com/huobi/wss/event/SymbolContractElementSubResponse.class create mode 100644 target/classes/com/huobi/wss/event/TriggerOrderCrossSubResponse.class create mode 100644 target/classes/com/huobi/wss/event/TriggerOrderSubResponse.class create mode 100644 target/classes/com/huobi/wss/handle/WssMarketHandle.class create mode 100644 target/classes/com/huobi/wss/handle/WssMarketReqHandle.class create mode 100644 target/classes/com/huobi/wss/handle/WssNotificationHandle.class create mode 100644 target/classes/com/huobi/wss/request/WssRequest.class create mode 100644 target/classes/com/huobi/wss/util/ApiSignature.class create mode 100644 target/classes/com/huobi/wss/util/ApiSignatureEd25519.class create mode 100644 target/classes/com/huobi/wss/util/ZipUtil.class create mode 100644 target/classes/logback.xml create mode 100644 target/test-classes/com/huobi/future/api/AccountAPIEd25119Test.class create mode 100644 target/test-classes/com/huobi/future/api/AccountAPIHmac256Test.class create mode 100644 target/test-classes/com/huobi/future/api/BaseTest.class create mode 100644 target/test-classes/com/huobi/future/api/MarketAPITest.class create mode 100644 target/test-classes/com/huobi/future/api/ReferenceAPITest.class create mode 100644 target/test-classes/com/huobi/future/api/StrategyAPITest.class create mode 100644 target/test-classes/com/huobi/future/api/TradeAPITest.class create mode 100644 target/test-classes/com/huobi/future/api/TransferAPITest.class create mode 100644 target/test-classes/com/huobi/future/wss/WssCenterNotificationSubTest.class create mode 100644 target/test-classes/com/huobi/future/wss/WssIndexReqTest.class create mode 100644 target/test-classes/com/huobi/future/wss/WssIndexSubTest.class create mode 100644 target/test-classes/com/huobi/future/wss/WssMarketReqTest.class create mode 100644 target/test-classes/com/huobi/future/wss/WssMarketSubTest.class create mode 100644 target/test-classes/com/huobi/future/wss/WssNotificationSubTest.class create mode 100644 target/test-classes/com/huobi/swap/api/AccountAPITest.class create mode 100644 target/test-classes/com/huobi/swap/api/BaseTest.class create mode 100644 target/test-classes/com/huobi/swap/api/MarketAPITest.class create mode 100644 target/test-classes/com/huobi/swap/api/ReferenceAPITest.class create mode 100644 target/test-classes/com/huobi/swap/api/StrategyAPITest.class create mode 100644 target/test-classes/com/huobi/swap/api/TradeAPITest.class create mode 100644 target/test-classes/com/huobi/swap/api/TransferAPITest.class create mode 100644 target/test-classes/com/huobi/swap/wss/WssCenterNotificationSubTest.class create mode 100644 target/test-classes/com/huobi/swap/wss/WssIndexReqTest.class create mode 100644 target/test-classes/com/huobi/swap/wss/WssIndexSubTest.class create mode 100644 target/test-classes/com/huobi/swap/wss/WssMarketReqTest.class create mode 100644 target/test-classes/com/huobi/swap/wss/WssMarketSubTest.class create mode 100644 target/test-classes/com/huobi/swap/wss/WssNotificationSubTest.class create mode 100644 target/test-classes/com/huobi/usdt/api/AccountAPITest.class create mode 100644 target/test-classes/com/huobi/usdt/api/BaseTest.class create mode 100644 target/test-classes/com/huobi/usdt/api/CrossAccountAPITest.class create mode 100644 target/test-classes/com/huobi/usdt/api/CrossReferenceAPITest.class create mode 100644 target/test-classes/com/huobi/usdt/api/CrossSrategyAPITest.class create mode 100644 target/test-classes/com/huobi/usdt/api/CrossTradeAPITest.class create mode 100644 target/test-classes/com/huobi/usdt/api/CrossTransferAPITest.class create mode 100644 target/test-classes/com/huobi/usdt/api/MarketAPITest.class create mode 100644 target/test-classes/com/huobi/usdt/api/ReferenceAPITest.class create mode 100644 target/test-classes/com/huobi/usdt/api/SrategyAPITest.class create mode 100644 target/test-classes/com/huobi/usdt/api/TradeAPITest.class create mode 100644 target/test-classes/com/huobi/usdt/api/TransferAPITest.class create mode 100644 target/test-classes/com/huobi/usdt/api/UnifiedAccountAPITest.class create mode 100644 target/test-classes/com/huobi/usdt/wss/WssCenterNotificationSubTest.class create mode 100644 target/test-classes/com/huobi/usdt/wss/WssIndexReqTest.class create mode 100644 target/test-classes/com/huobi/usdt/wss/WssIndexSubTest.class create mode 100644 target/test-classes/com/huobi/usdt/wss/WssMarketReqTest.class create mode 100644 target/test-classes/com/huobi/usdt/wss/WssMarketSubTest.class create mode 100644 target/test-classes/com/huobi/usdt/wss/WssNotificationSubTest.class delete mode 100755 tests/README.md delete mode 100644 tests/config.py delete mode 100644 tests/huobi_coin_future_test/restapi/test_rest_account_coin_future.py delete mode 100644 tests/huobi_coin_future_test/restapi/test_rest_market_coin_future.py delete mode 100644 tests/huobi_coin_future_test/restapi/test_rest_reference_coin_future.py delete mode 100644 tests/huobi_coin_future_test/restapi/test_rest_strategy_coin_future.py delete mode 100644 tests/huobi_coin_future_test/restapi/test_rest_trade_coin_future.py delete mode 100644 tests/huobi_coin_future_test/restapi/test_rest_transfer_coin_future.py delete mode 100644 tests/huobi_coin_future_test/websocket/test_ws_account_coin_future.py delete mode 100644 tests/huobi_coin_future_test/websocket/test_ws_index_coin_future.py delete mode 100644 tests/huobi_coin_future_test/websocket/test_ws_market_coin_future.py delete mode 100644 tests/huobi_coin_future_test/websocket/test_ws_system_coin_future.py delete mode 100644 tests/huobi_coin_swap_test/restapi/test_rest_account_coin_swap.py delete mode 100644 tests/huobi_coin_swap_test/restapi/test_rest_market_coin_swap.py delete mode 100644 tests/huobi_coin_swap_test/restapi/test_rest_reference_coin_swap.py delete mode 100644 tests/huobi_coin_swap_test/restapi/test_rest_strategy_coin_swap.py delete mode 100644 tests/huobi_coin_swap_test/restapi/test_rest_trade_coin_swap.py delete mode 100644 tests/huobi_coin_swap_test/restapi/test_rest_transfer_coin_swap.py delete mode 100644 tests/huobi_coin_swap_test/websocket/test_ws_account_coin_swap.py delete mode 100644 tests/huobi_coin_swap_test/websocket/test_ws_index_coin_swap.py delete mode 100644 tests/huobi_coin_swap_test/websocket/test_ws_market_coin_swap.py delete mode 100644 tests/huobi_coin_swap_test/websocket/test_ws_system_coin_swap.py delete mode 100644 tests/huobi_usdt_swap_test/restapi/test_rest_account_usdt_swap.py delete mode 100644 tests/huobi_usdt_swap_test/restapi/test_rest_cross_account_usdt_swap.py delete mode 100644 tests/huobi_usdt_swap_test/restapi/test_rest_cross_reference_usdt_swap.py delete mode 100644 tests/huobi_usdt_swap_test/restapi/test_rest_cross_strategy_usdt_swap.py delete mode 100644 tests/huobi_usdt_swap_test/restapi/test_rest_cross_trade_usdt_swap.py delete mode 100644 tests/huobi_usdt_swap_test/restapi/test_rest_cross_transfer_usdt_swap.py delete mode 100644 tests/huobi_usdt_swap_test/restapi/test_rest_market_usdt_swap.py delete mode 100644 tests/huobi_usdt_swap_test/restapi/test_rest_reference_usdt_swap.py delete mode 100644 tests/huobi_usdt_swap_test/restapi/test_rest_strategy_usdt_swap.py delete mode 100644 tests/huobi_usdt_swap_test/restapi/test_rest_trade_usdt_swap.py delete mode 100644 tests/huobi_usdt_swap_test/restapi/test_rest_transfer_usdt_swap.py delete mode 100644 tests/huobi_usdt_swap_test/websocket/test_ws_account_usdt_swap.py delete mode 100644 tests/huobi_usdt_swap_test/websocket/test_ws_index_usdt_swap.py delete mode 100644 tests/huobi_usdt_swap_test/websocket/test_ws_market_usdt_swap.py delete mode 100644 tests/huobi_usdt_swap_test/websocket/test_ws_system_usdt_swap.py delete mode 100755 tests/test_http_utils.py delete mode 100755 tests/test_ws_utils.py delete mode 100755 tests/websocket_test.py diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 1322896..0000000 --- a/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -.idea -*.pyc -test -build/ diff --git a/.vscode/settings.json b/.vscode/settings.json deleted file mode 100644 index 2772758..0000000 --- a/.vscode/settings.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "python.testing.unittestEnabled": false, - "python.testing.pytestEnabled": true, - "python.testing.nosetestsEnabled": false, - "python.pythonPath": "/usr/bin/python3" -} \ No newline at end of file diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..3bcdf4c --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1 @@ +毛文武 \ No newline at end of file diff --git a/LICENSE.txt b/LICENSE.txt deleted file mode 100644 index df11a96..0000000 --- a/LICENSE.txt +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) 2016 The Python Packaging Authority (PyPA) - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies -of the Software, and to permit persons to whom the Software is furnished to do -so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. \ No newline at end of file diff --git a/README b/README index 2a02d41..b1b7161 100644 --- a/README +++ b/README @@ -1 +1 @@ -TEST +init diff --git a/README.md b/README.md index ea7c82d..6e2f511 100644 --- a/README.md +++ b/README.md @@ -1,127 +1,366 @@ [![Build Status](https://travis-ci.com/HuobiRDCenter/huobi_Java.svg?branch=master)](https://travis-ci.com/HuobiRDCenter/huobi_Java) -# Huobi Python SDK For Contracts v3 +# Huobi Java SDK For Contracts v3 -This is Huobi Python SDK v3, you can import to your project and use this SDK to query all market data, trading and manage your account. The SDK supports RESTful API invoking, and subscribing the market, account and order update from the WebSocket connection. +This is Huobi Java SDK v3, you can import to your project and use this SDK to query all market data, trading and manage your account. The SDK supports RESTful API invoking, and subscribing the market, account and order update from the WebSocket connection. -If you already use SDK v1 or v2, it is strongly suggested migrate to v3 as we refactor the implementation to make it simpler and easy to maintain. The SDK v3 is completely consistent with the API documentation of the new HTX open platform. Compared to SDK versions v1 and v2, due to changes in parameters of many interfaces, in order to match the latest interface parameter situation, v3 version has made adjustments to parameters of more than 80 interfaces to ensure that requests can be correctly initiated and accurate response data can be obtained. Meanwhile, the v3 version has added over 130 new interfaces available for use, greatly expanding the number of available interfaces. We will stop the maintenance of v2 in the near future. +If you already use SDK v1 or v2, it is strongly suggested migrate to v3 as we refactor the implementation to make it simpler and easy to maintain. The SDK v3 is completely consistent with the API documentation of the new HTX open platform. Compared to SDK versions v1 and v2, due to changes in parameters of many interfaces, in order to match the latest interface parameter situation, v3 version has made adjustments to parameters of more than 80 interfaces to ensure that requests can be correctly initiated and accurate response data can be obtained. Meanwhile, the v3 version has added over 130 new interfaces available for use, greatly expanding the number of available interfaces. We will stop the maintenance of v2 in the near future. Please refer to the instruction on how to migrate v1 or v2 to v3 in section [Migrate from v1 or v2](#Migrate-from-v1-or-v2) +## Table of Contents +- [Quick start](#Quick-start) +- [Usage](#Usage) + - [Folder structure](#Folder-structure) + - [Run examples](#Run-examples) + - [Client](#client) + - [Migrate from v1 or v2](#Migrate-from-v1-or-v2) +- [Request example](#Request-example) + - [Reference data](#Reference-data) + - [Market data](#Market-data) + - [Account](#account) + - [Trade](#trade) + - [Transfer](#transfer) + - [Strategy](#strategy) +- [Subscription example](#Subscription-example) + - [Subscribe market update](#Subscribe-market-update) + - [Request market update](#request-market-update) -##### Architecture +## Quick start -![Architecture](https://raw.githubusercontent.com/hbdmapi/hbdm_Python/master/docs/framework.png) +*The SDK is compiled by Java8*, you can import the source code in java IDE (idea or eclipse) - ### 1、Market Module +The example code are in folder *src/test/java/com/huobi/usdt*, *src/test/java/com/huobi/swap*, *src/test/java/com/huobi/future* that you can run directly - Realtime Orderbook、kline、market trade details are subscribed by websocket for strategies callback.Huobi Swap,Huobi Future and Huobi Option have been integrated. +If you want to create your own application, you can follow below steps: - ### 2、RestFul API Module +* Create the client instance. +* Call the interfaces provided by client. - APIs of Huobi Swap, Huobi Future and Huobi Option have been integrated such as trade api、batch trade api、cancel api,etc. +```java +// Create ReferenceAPIService instance and query funding rate +ReferenceAPIServiceImpl huobiAPIService = new ReferenceAPIServiceImpl(); - ### 3、Asset Module +SwapFundingRateResponse response = huobiAPIService.getSwapFundingRate("BTC-USDT"); +logger.debug("1.获取合约的资金费率:{}", JSON.toJSONString(response)); - Assets are subscribed by websocket for strategies callback.Huobi Swap, Huobi Future and Huobi Option have been integrated. +// Create MarketAPIService instance and get market depth +MarketAPIServiceImpl huobiAPIService = new MarketAPIServiceImpl(); - ### 4、Position Module +SwapMarketDepthResponse result = huobiAPIService.getSwapMarketDepth("btc-usdt", "step15"); +logger.debug("1.获取行情深度数据:{}", JSON.toJSONString(result)); +``` + +## Usage + +### Folder Structure + +This is the folder and package structure of SDK source code and the description + +- **src/main/java/com/huobi/api**: The core of the SDK for RESTful API + - **constants**: The RESTful API interface path + - **enums**: The enum and constant definition + - **exception**: The exception definition + - **request**: The data model for request + - **response**: The data model for response + - **service**: The client that are responsible to access data,and the internal implementation for each client + - **utils**: The utilities that include signature, HTTP client etc +- **src/main/java/com/huobi/wss**: The core of the SDK for WebSocket API + - **constants**: The RESTful API interface path + - **event**: The data model for response + - **handle**: The subscription and request processor for contract market, order information + - **request**: The data model for request + - **utils**: The utilities that include signature, Zip tool etc + +- **src/test/java/com/huobi**: The test of the SDK + - **usdt**: The unit test for **USDT-M service** package + - **future**: The unit test for **Coin-M Futures service** package + - **swap**: The unit test for **Coin-M Swaps service** package + +### Run Examples + + +This SDK provides examples that under **src/test/java/com/huobi** folder, if you want to run the examples to access private data, you need below additional steps: + +1. Create an **API Key** first from Huobi official website +2. Fill your **API Access Key** and **Secret Key** into the constructor input parameters when creating a **Client instance**, as below: + +```java +//API_KEY = "hrf5gdfghe-e74bebd8-2f4a33bc-e7963" +//SECRET_KEY = "fecbaab2-35befe7e-2ea695e8-67e56" +AccountAPIServiceImpl huobiAPIService = + new AccountAPIServiceImpl("hrf5gdfghe-e74bebd8-2f4a33bc-e7963", "fecbaab2-35befe7e-2ea695e8-67e56"); +``` + +If you don't need to access private data, you can ignore the API key. + +Regarding the difference between public data and private data you can find details in [Client](https://github.com/HuobiRDCenter/huobi_Python#Client) section below. - Positions are subscribed by websocket for strategies callback.Huobi Swap, Huobi Future and Huobi Option have been integrated. +### Client - ### 5、Order Module +In this SDK, the client is the class to access the Huobi API. In order to isolate the private data with public data, and isolated different kind of data, the client category is designated to match the API category. - Orders are subscribed by websocket for strategies callback.Huobi Swap, Huobi Future and Huobi Option have been integrated. +All the client is listed in below table. Each client is very small and simple, it is only responsible to operate its related data, you can pick up multiple clients to create your own application based on your business. - ### 6、Logging Module +| Contract Category | Data Category | Client | Privacy | API Protocol | +| ---------------------------- | --------------- | --------------------------------------------- | ------- | --------------- | +| USDT-M(usdt) | Reference | ReferenceAPIService,CrossRefferenceAPIService | Public | Rest | +| USDT-M(usdt) | Market | MarketAPIService | Public | Rest, WebSocket | +| USDT-M(usdt) | Account | AccountAPIService,CrossAccountAPIService | Private | Rest, WebSocket | +| USDT-M(usdt) | Trade | TradeAPIService,CrossTradeAPIService | Private | Rest | +| USDT-M(usdt) | Transfer | TransferAPISercie,CrossTransferAPIService | Private | Rest | +| USDT-M(usdt) | Strategy | StrategyAPIService,CrossStrategyAPIService | Private | Rest | +| USDT-M(usdt) | Unified Account | UnifiedAccountAPIService | Private | Rest | +| Coin-M Futures(coin_futures) | Reference | ReferenceAPIService | Public | Rest | +| Coin-M Futures(coin_futures) | Market | MarketAPIService | Public | Rest, WebSocket | +| Coin-M Futures(coin_futures) | Account | AccountAPIService | Private | Rest, WebSocket | +| Coin-M Futures(coin_futures) | Trade | TradeAPIService | Private | Rest | +| Coin-M Futures(coin_futures) | Transfer | TransferAPISercie | Private | Rest | +| Coin-M Futures(coin_futures) | Strategy | StrategyAPIService | Private | Rest | +| Coin-M Swaps(coin_futures) | Reference | ReferenceAPIService | Public | Rest | +| Coin-M Swaps(coin_swap) | Market | MarketAPIService | Public | Rest, WebSocket | +| Coin-M Swaps(coin_swap) | Account | AccountAPIService | Private | Rest, WebSocket | +| Coin-M Swaps(coin_swap) | Trade | TradeAPIService | Private | Rest | +| Coin-M Swaps(coin_swap) | Transfer | TransferAPISercie | Private | Rest | +| Coin-M Swaps(coin_swap) | Strategy | StrategyAPIService | Private | Rest | - Logs can log to files corresponding to different levels such as "DEBUG","INFO","WARN", "ERROR". +#### Public and Private - ### 7、Trading Module +There are two types of privacy that is correspondent with privacy of API: - Common trade interface and cancel interface,etc. +**Public client**: It invokes public API to get public data (Reference data and Market data), therefore you can create a new instance without applying an API Key. - ### 8、ErrorHandle Module +```java +// Create a ReferenceAPIService instance +ReferenceAPIServiceImpl huobiAPIService = new ReferenceAPIServiceImpl(); - websocket automatic reconnection mechanism, heartbeat mechanism,etc. +// Create a MarketAPIService instance +MarketAPIServiceImpl huobiAPIService = new MarketAPIServiceImpl(); +``` + +**Private client**: It invokes private API to access private data, you need to follow the API document to apply an API Key first, and pass the API Key to the init function - ### 9、RiskControl Module +```java +// Create an AccountAPIService instance with APIKey +AccountAPIServiceImpl huobiAPIService = + new AccountAPIServiceImpl("hrf5gdfghe-e74bebd8-2f4a33bc-e7963", "fecbaab2-35befe7e-2ea695e8-67e56"); - DingDing message Alarm,etc. +// Create a TradeAPIService instance with API Key +TradeAPIServiceImpl huobiAPIService = + new TradeAPIServiceImpl("hrf5gdfghe-e74bebd8-2f4a33bc-e7963", "fecbaab2-35befe7e-2ea695e8-67e56"); +``` - ### 10、Database Module +The API key is used for authentication. If the authentication cannot pass, the invoking of private interface will fail. - Support asynchronous interface of Mongodb database. +#### Rest and WebSocket - ### 11、It Can do More +There are two protocols of API, Rest and WebSocket - ... +**Rest**: It invokes Rest API and get once-off response, it has two basic types of method: GET and POST -## Install Steps +**WebSocket**: It establishes WebSocket connection with server and data will be pushed from server actively. There are two types of method for WebSocket client: - python:python 3.5.3 above +- Request method: The method name starts with "req-", it will receive the once-off data after sending the request. +- Subscription: The method name starts with "sub-", it will receive update after sending the subscription. -## Quick Start +### Migrate from v1 or v2 - - git clone https://github.com/hbdmapi/huobi_contract_Python.git - - cd huobi_contract_Python - - cd examples - - cd huobi_swap - - edit "config.json" - - "access_key": "api access_key" - - "secret_key": "api secret_key" - - you may also have to change the host and wss address. +#### Why v3 - - save and quit. - - bash run.sh - - Happy Trading +The major difference between v1 and v2 is that the client category. -## Demo Tutorial +In SDK v1, the client is categorized as two protocol, request client and subscription client. For example, for Rest API, you can operate everything in request client. It is simple to choose which client you use, however, when you have a client instance, you will have dozens of method, and it is not easy to choose the proper method. -Demo strategy only implements a simple sell short and close short strategy. +The thing is different in SDK v2, the client class is categorized as seven data categories, so that the responsibility for each client is clear. For example, if you only need to access market data, you can use MarketClient without applying API Key, and all the market data can be retrieved from MarketClient. If you want to operate your order, then you know you should use TradeClient and all the order related methods are there. Since the category is exactly same as the API document, so it is easy to find the relationship between API and SDK. In SDK v2, each client is smaller and simpler, which means it is easier to maintain and less bugs. -> NOTE: The demo strategy needs to be modified to run in production。 +Compared to SDK versions v1 and v2, due to changes and updates in the out and in parameters of many interfaces, in order to match the latest interface in and out parameter situation, v3 version has made adjustments and updates to the out and in parameters of more than 80 interfaces to ensure that requests can be correctly initiated and accurate response data can be obtained. Meanwhile, the v3 version has added over 130 new interfaces available for use, greatly expanding the number of available interfaces. +#### How to migrate -## Strategy dirs: +You don't need to change your business logic, what you need is to find the v1 or v2 request client and subscription client, and replace with the proper v3 client. The additional cost is that you need to have additional initialization for each v3 client. -```text -ProjectName - |----- docs - | |----- README.md - |----- scripts - | |----- run.sh - |----- config.json - |----- main.py - |----- strategy - | |----- strategy1.py - | |----- strategy2.py - | |----- ... - |----- .gitignore - |----- README.md +## Request example + +### Reference data + +#### Query funding rate + +```java +ReferenceAPIServiceImpl huobiAPIService = new ReferenceAPIServiceImpl(); +SwapFundingRateResponse response = huobiAPIService.getSwapFundingRate("BTC-USDT"); +logger.debug("1.获取合约的资金费率:{}", JSON.toJSONString(response)); ``` -#### Strategy Config +#### Query information on system status -Strategy config file [config.json](config.json): +```java +ReferenceAPIServiceImpl huobiAPIService = new ReferenceAPIServiceImpl(); +SwapApiStateResponse response = huobiAPIService.getSwapApiState(""); +logger.debug("8.查询系统状态:{}", JSON.toJSONString(response)); +``` -- ACCOUNTS `list` your huobi account name; -- strategy `string` your strategy name; -- symbol `string` the trade code,such as BTC-USD -- MARKETS `list` the market config. +### Market data -> Config Tutorials: [config tutorials](/docs/config/README.md) +#### Depth +```java +MarketAPIServiceImpl huobiAPIService = new MarketAPIServiceImpl(); +SwapMarketDepthResponse result = huobiAPIService.getSwapMarketDepth("btc-usdt", "step15"); +logger.debug("1.获取行情深度数据:{}", JSON.toJSONString(result)); +``` -#### Run +#### Get Market BBO Data -```text -python main.py config.json +```java +MarketAPIServiceImpl huobiAPIService = new MarketAPIServiceImpl(); +MarketBboResponse response= huobiAPIService.getMarketBbo("",""); +logger.debug("2、获取市场最优挂单:{}",JSON.toJSONString(response)); ``` -## Issues +### Account -Pls post your suggestions and bugs in [issues](https://github.com/hbdmapi/huobi_futures_Python/issues) +*Authentication is required.* -## What Users Say +#### Query Asset Valuation + +```java +AccountAPIServiceImpl huobiAPIService = + new AccountAPIServiceImpl("hrf5gdfghe-e74bebd8-2f4a33bc-e7963", "fecbaab2-35befe7e-2ea695e8-67e56"); +SwapBalanceValuationResponse response=huobiAPIService.getSwapBalanceValuation("cny"); +logger.debug("1.获取账户总资产估值:{}", JSON.toJSONString(response)); +``` + +### Trade + +*Authentication is required.* + +#### Automatic Order Cancellation + +```java +TradeAPIServiceImpl huobiAPIService = + new TradeAPIServiceImpl("hrf5gdfghe-e74bebd8-2f4a33bc-e7963", "fecbaab2-35befe7e-2ea695e8-67e56"); +LinearCancelAfterRequest request = LinearCancelAfterRequest.builder() + .onOff(1) + .build(); +LinearCancelAfterResponse response = huobiAPIService.linearCancelAfterResponse(request); +logger.debug("1.【通用】自动撤单:{}", JSON.toJSONString(response)); +``` + +#### Switch Position Mode + +```java +TradeAPIServiceImpl huobiAPIService = + new TradeAPIServiceImpl("hrf5gdfghe-e74bebd8-2f4a33bc-e7963", "fecbaab2-35befe7e-2ea695e8-67e56"); +SwapSwitchPositionModeResponse response = + huobiAPIService.swapSwitchPositionModeResponse("btc-usdt","dual_side"); +logger.debug("2.切换持仓模式:{}", JSON.toJSONString(response)); +``` + +### Transfer + +*Authentication is required.* + +#### Transfer margin between Spot account and USDT Margined Contracts account + +```java +TransferAPIServiceImpl huobiAPIService = + new TransferAPIServiceImpl("hrf5gdfghe-e74bebd8-2f4a33bc-e7963", "fecbaab2-35befe7e-2ea695e8-67e56"); +UsdtSwapTransferRequest request = UsdtSwapTransferRequest.builder() + .from("spot") + .to("linear-swap") + .margin_account("btc-usdt") + .currency("usdt") + .amount(BigDecimal.valueOf(1)) + .build(); +UsdtSwapTransferResponse response = huobiAPIService.transfer(request); +logger.debug("1.现货-USDT本位永续账户间进行资金的划转:{}", JSON.toJSONString(response)); +``` + +### Strategy + +*Authentication is required.* + +#### Place Trigger Order + +```java +StrategyAPIServiceImpl huobiAPIService = + new StrategyAPIServiceImpl("hrf5gdfghe-e74bebd8-2f4a33bc-e7963", "fecbaab2-35befe7e-2ea695e8-67e56"); +SwapTriggerOrderRequest request = SwapTriggerOrderRequest.builder() + .contractCode("ETH-USDT") + .triggerType("ge") + .triggerPrice(BigDecimal.valueOf(377)) + .orderPrice(BigDecimal.valueOf(377)) + .orderPriceType("limit") + .volume(BigDecimal.valueOf(1)) + .direction(DirectionEnum.BUY) + .offset(OffsetEnum.OPEN) + .leverRate(5) + .build(); +SwapTriggerOrderResponse response = huobiAPIService.swapTriggerOrderResponse(request); +logger.debug("1.计划委托下单:{}", JSON.toJSONString(response)); +``` + +#### Cancel Trigger Order + +```java +StrategyAPIServiceImpl huobiAPIService = + new StrategyAPIServiceImpl("hrf5gdfghe-e74bebd8-2f4a33bc-e7963", "fecbaab2-35befe7e-2ea695e8-67e56"); +SwapTriggerCancelRequest request = SwapTriggerCancelRequest.builder() + .orderId("4699") + .contractCode("eth-usdt") + .build(); +SwapTriggerCancelResponse response = huobiAPIService.swapTriggerCancelResponse(request); +logger.debug("2.计划委托撤单:{}", JSON.toJSONString(response)); +``` + +## Subscription example + +### Subscribe market update + +```java +String URL = "wss://api.hbdm.com/linear-swap-ws"; +WssMarketHandle wssMarketHandle = new WssMarketHandle(URL); +List channels = Lists.newArrayList(); +channels.add("market.BTC-USDT.kline.1min"); +// channels.add("market.BTC-USDT.kline.5min"); +// channels.add("market.BTC-USDT.kline.15min"); +// channels.add("market.BTC-USDT.kline.30min"); +// channels.add("market.BTC-USDT.kline.60min"); +// channels.add("market.BTC-USDT.kline.4hour"); +// channels.add("market.BTC-USDT.kline.1day"); +// channels.add("market.BTC-USDT.kline.1week"); +// channels.add("market.BTC-USDT.kline.1mon"); +wssMarketHandle.sub(channels, response -> { + logger.info("kLineEvent用户收到的数据===============:{}", JSON.toJSON(response)); + Long currentTimeMillis = System.currentTimeMillis(); + MarketKLineSubResponse event = JSON.parseObject(response, MarketKLineSubResponse.class); + logger.info("kLineEvent的ts为:{},当前的时间戳为:{},时间间隔为:{}毫秒", event.getTs(), currentTimeMillis, currentTimeMillis - event.getTs()); +}); +Thread.sleep(Integer.MAX_VALUE); +``` -Ingyu Koh(Former IBM scientist, Professor at Korea Advanced Institute of Science and Technology, Ph.D in theoretical physics): "I am very impressed how smartly you organized codes. I really appreciate for your precise answers to develop successful system. Once your precise guidance clears obstacle, real progresses are made." \ No newline at end of file +### Request market update + +```java +String URL = "wss://api.hbdm.com/linear-swap-ws"; +WssMarketReqHandle wssMarketReqHandle = new WssMarketReqHandle(URL, response -> { + logger.info("请求 KLine 数据用户收到的原始数据:{}", response); + MarketKLineReqResponse marketKLineReqResponse = JSON.parseObject(response, MarketKLineReqResponse.class); + logger.info("请求 KLine 数据解析之后的数据为:{}", JSON.toJSON(marketKLineReqResponse)); +}); +while (true) { + try { + Date fromDate = DateUtils.parseDate("2023-12-15T00:00:00", "yyyy-MM-dd'T'HH:mm:ss"); + Date toDate = DateUtils.parseDate("2024-01-15T00:00:01", "yyyy-MM-dd'T'HH:mm:ss"); + WssRequest wssRequest = WssRequest.builder() + .req("market.BTC-USDT.kline.60min") + .from(fromDate.getTime() / 1000) + .to(toDate.getTime() / 1000) + .build(); + wssMarketReqHandle.doReq(JSON.toJSONString(wssRequest)); + } catch (Exception e) { + e.printStackTrace(); + } finally { + Thread.sleep(1000); + } +} +``` \ No newline at end of file diff --git a/alpha/__init__.py b/alpha/__init__.py deleted file mode 100644 index bfd1919..0000000 --- a/alpha/__init__.py +++ /dev/null @@ -1,11 +0,0 @@ -# -*- coding:utf-8 -*- - -""" -Asynchronous driven quantitative trading framework. -Author: QiaoXiaofeng -Date: 2020/05/26 -Email: andyjoe318@gmail.com -""" - -__author__ = "QiaoXiaofeng" -__version__ = (1, 0, 5) \ No newline at end of file diff --git a/alpha/asset.py b/alpha/asset.py deleted file mode 100644 index 63ad844..0000000 --- a/alpha/asset.py +++ /dev/null @@ -1,49 +0,0 @@ -# -*- coding:utf-8 -*- - -""" -Asset module. - -Author: HuangTao -Date: 2019/02/16 -Email: huangtao@ifclover.com -""" - -import json - - -class Asset: - """ Asset object. - - Args: - platform: Exchange platform name, e.g. binance/bitmex. - account: Trade account name, e.g. test@gmail.com. - assets: Asset information, e.g. {"BTC": {"free": "1.1", "locked": "2.2", "total": "3.3"}, ... } - timestamp: Published time, millisecond. - update: If any update? True or False. - """ - - def __init__(self, platform=None, account=None, assets=None, timestamp=None, update=False): - """ Initialize. """ - self.platform = platform - self.account = account - self.assets = assets - self.timestamp = timestamp - self.update = update - - @property - def data(self): - d = { - "platform": self.platform, - "account": self.account, - "assets": self.assets, - "timestamp": self.timestamp, - "update": self.update - } - return d - - def __str__(self): - info = json.dumps(self.data) - return info - - def __repr__(self): - return str(self) \ No newline at end of file diff --git a/alpha/bbo.py b/alpha/bbo.py deleted file mode 100644 index 80bee49..0000000 --- a/alpha/bbo.py +++ /dev/null @@ -1,53 +0,0 @@ -# -*- coding:utf-8 -*- - -""" -Market module. - -Author: QiaoXiaofeng -Date: 2020/1/10 -Email: andyjoe318@gmail.com -""" - -import json - -from alpha import const -from alpha.utils import logger - - -class Bbo: - """ Bbo object.""" - - def __init__(self, platform=None, symbol=None, asks=None, bids=None, timestamp=None, ch=None, mrid=None, id=None, - version=None): - """ Initialize. """ - self.platform = platform - self.symbol = symbol - self.asks = asks - self.bids = bids - self.timestamp = timestamp - self.ch = ch - self.mrid = mrid - self.id = id - self.version = version - - @property - def data(self): - d = { - "platform": self.platform, - "symbol": self.symbol, - "asks": self.asks, - "bids": self.bids, - "timestamp": self.timestamp, - "ch": self.ch, - "mrid": self.mrid, - "id": self.id, - "version": self.version - } - return d - - def __str__(self): - info = json.dumps(self.data) - return info - - def __repr__(self): - return str(self) \ No newline at end of file diff --git a/alpha/config.py b/alpha/config.py deleted file mode 100644 index e2253e7..0000000 --- a/alpha/config.py +++ /dev/null @@ -1,82 +0,0 @@ -# -*- coding:utf-8 -*- - -""" -Config module. - -Author: QiaoXiaofeng -Date: 2020/1/10 -Email: andyjoe318@gmail.com -""" - -import json - -from alpha.utils import tools -from alpha.utils import logger - - -class Config: - """ Config module will load a json file like `config.json` and parse the content to json object. - 1. Configure content must be key-value pair, and `key` will be set as Config module's attributes; - 2. Invoking Config module's attributes cat get those values; - 3. Some `key` name is upper case are the build-in, and all `key` will be set to lower case: - SERVER_ID: Server id, every running process has a unique id. - LOG: Logger print config. - PLATFORMS: Trading Exchanges config, default is {}. - ACCOUNTS: Trading Exchanges config list, default is []. - MARKETS: Market Server config list, default is {}. - HEARTBEAT: Server heartbeat config, default is {}. - PROXY: HTTP proxy config, default is None. - """ - - def __init__(self): - self.server_id = None - self.log = {} - self.platforms = {} - self.accounts = [] - self.markets = {} - self.heartbeat = {} - self.mongodb = {} - self.proxy = None - self.config_file = None - - def loads(self, config_file=None): - """ Load config file. - - Args: - config_file: config json file. - """ - self.config_file = config_file - configures = {} - if config_file: - try: - with open(config_file) as f: - data = f.read() - configures = json.loads(data) - except Exception as e: - print(e) - exit(0) - if not configures: - print("config json file error!") - exit(0) - self._update(configures) - - def _update(self, update_fields): - """ Update config attributes. - - Args: - update_fields: Update fields. - """ - self.server_id = update_fields.get("SERVER_ID", tools.get_uuid1()) - self.log = update_fields.get("LOG", {}) - self.platforms = update_fields.get("PLATFORMS", {}) - self.mongodb = update_fields.get("MONGODB", None) - self.accounts = update_fields.get("ACCOUNTS", []) - self.markets = update_fields.get("MARKETS", []) - self.heartbeat = update_fields.get("HEARTBEAT", {}) - self.proxy = update_fields.get("PROXY", None) - - for k, v in update_fields.items(): - setattr(self, k, v) - - -config = Config() diff --git a/alpha/const.py b/alpha/const.py deleted file mode 100644 index f58e4e2..0000000 --- a/alpha/const.py +++ /dev/null @@ -1,29 +0,0 @@ -# -*- coding:utf-8 -*- - -""" -some constants and global queues - -Author: QiaoXiaofeng -Date: 2020/01/11 -Email: andyjoe318@gmail.com -""" - -from collections import deque - -# Version -VERSION = "1.1.5_201217_alpha" - -# Exchange Names -HUOBI_SWAP = "huobi_swap" # Huobi Swap https://huobiapi.github.io/docs/coin_margined_swap/v1/cn/ -HUOBI_FUTURE = "huobi_future" # Huobi Future https://huobiapi.github.io/docs/dm/v1/cn/#5ea2e0cde2 -HUOBI_OPTION = "huobi_option" # Huobi Option -HUOBI_USDT_SWAP = "huobi_usdt_swap" # Huobi Usdt Swap -HUOBI_USDT_SWAP_CROSS = "huobi_usdt_swap_cross" # Huobi USDT SWAP CROSS MODE - -# Market Types -MARKET_TYPE_TRADE = "trade" -MARKET_TYPE_ORDERBOOK = "orderbook" -MARKET_TYPE_KLINE = "kline" - -# REQUEST AGENT -USER_AGENT = "AlphaQuant" + VERSION diff --git a/alpha/contractelements.py b/alpha/contractelements.py deleted file mode 100644 index 542da75..0000000 --- a/alpha/contractelements.py +++ /dev/null @@ -1,79 +0,0 @@ -# -*- coding:utf-8 -*- - - -import json - -from alpha import const -from alpha.utils import logger - - -class ContractElements: - - def __init__(self, contract_code=None, mode_type=None, swap_delivery_type=None, instrument_index_code=None, real_time_settlement=None, transfer_profit_ratio=None, cross_transfer_profit_ratio=None, - instrument_type=None, trade_partition=None, min_level=None, max_level=None, settle_period=None, funding_rate_cap=None, funding_rate_floor=None, - contract_infos=None, long_position_limit=None, offset_order_limit=None,open_order_limit=None,short_position_limit=None,price_ticks=None,instrument_values=None, - order_limits=None, normal_limits=None, open_limits=None,trade_limits=None): - """ Initialize. """ - self.contract_code = contract_code - self.mode_type = mode_type - self.swap_delivery_type = swap_delivery_type - self.instrument_index_code = instrument_index_code - self.real_time_settlement = real_time_settlement - self.transfer_profit_ratio = transfer_profit_ratio - self.cross_transfer_profit_ratio = cross_transfer_profit_ratio - self.instrument_type = instrument_type - self.trade_partition = trade_partition - self.min_level = min_level - self.max_level = max_level - self.settle_period = settle_period - self.funding_rate_cap = funding_rate_cap - self.funding_rate_floor = funding_rate_floor - self.contract_infos = contract_infos - self.long_position_limit = long_position_limit - self.offset_order_limit = offset_order_limit - self.open_order_limit = open_order_limit - self.short_position_limit = short_position_limit - self.price_ticks = price_ticks - self.instrument_values = instrument_values - self.order_limits = order_limits - self.normal_limits = normal_limits - self.open_limits = open_limits - self.trade_limits = trade_limits - - @property - def data(self): - d = { - "contract_code": self.contract_code, - "mode_type": self.mode_type, - "swap_delivery_type": self.swap_delivery_type, - "instrument_index_code": self.instrument_index_code, - "real_time_settlement": self.real_time_settlement, - "transfer_profit_ratio": self.transfer_profit_ratio, - "cross_transfer_profit_ratio": self.cross_transfer_profit_ratio, - "instrument_type": self.instrument_type, - "trade_partition": self.trade_partition, - "min_level": self.min_level, - "max_level": self.max_level, - "settle_period": self.settle_period, - "funding_rate_cap": self.funding_rate_cap, - "funding_rate_floor": self.funding_rate_floor, - "contract_infos": self.contract_infos, - "long_position_limit": self.long_position_limit, - "offset_order_limit": self.offset_order_limit, - "open_order_limit": self.open_order_limit, - "short_position_limit": self.short_position_limit, - "price_ticks": self.price_ticks, - "instrument_values": self.instrument_values, - "order_limits": self.order_limits, - "normal_limits": self.normal_limits, - "open_limits": self.open_limits, - "trade_limits": self.trade_limits, - } - return d - - def __str__(self): - info = json.dumps(self.data) - return info - - def __repr__(self): - return str(self) diff --git a/alpha/depth.py b/alpha/depth.py deleted file mode 100644 index b9d2060..0000000 --- a/alpha/depth.py +++ /dev/null @@ -1,56 +0,0 @@ -# -*- coding:utf-8 -*- - -""" -Market module. - -Author: QiaoXiaofeng -Date: 2020/1/10 -Email: andyjoe318@gmail.com -""" - -import json - -from alpha import const -from alpha.utils import logger - - -class Depth: - """ Depth object.""" - - def __init__(self, platform=None, symbol=None, asks=None, bids=None, timestamp=None, ch=None, event=None, id=None, - mrid=None, version=None): - """ Initialize. """ - self.platform = platform - self.symbol = symbol - self.asks = asks - self.bids = bids - self.timestamp = timestamp - self.ch = ch - self.event = event - self.id = id - self.mrid = mrid - self.version = version - - - @property - def data(self): - d = { - "platform": self.platform, - "symbol": self.symbol, - "asks": self.asks, - "bids": self.bids, - "timestamp": self.timestamp, - "ch": self.ch, - "event": self.event, - "id": self.id, - "mrid": self.mrid, - "version": self.version - } - return d - - def __str__(self): - info = json.dumps(self.data) - return info - - def __repr__(self): - return str(self) \ No newline at end of file diff --git a/alpha/detail.py b/alpha/detail.py deleted file mode 100644 index e15acf7..0000000 --- a/alpha/detail.py +++ /dev/null @@ -1,67 +0,0 @@ -# -*- coding:utf-8 -*- - -""" -Market module. - -Author: QiaoXiaofeng -Date: 2020/1/10 -Email: andyjoe318@gmail.com -""" - -import json - -from alpha import const -from alpha.utils import logger - - -class Detail: - """ Detail object.""" - - def __init__(self, platform=None, symbol=None, asks=None, bids=None, timestamp=None, id=None, mrid=None, open=None, - close=None, high=None, low=None, amount=None, vol=None, trade_turnover=None, count=None): - """ Initialize. """ - self.platform = platform - self.symbol = symbol - self.asks = asks - self.bids = bids - self.timestamp = timestamp - self.id = id - self.mrid = mrid - self.open = open - self.close = close - self.high = high - self.low = low - self.amount = amount - self.vol = vol - self.trade_turnover = trade_turnover - self.count = count - - - @property - def data(self): - d = { - "platform": self.platform, - "symbol": self.symbol, - "asks": self.asks, - "bids": self.bids, - "timestamp": self.timestamp, - "id": self.id, - "mrid": self.mrid, - "open": self.open, - "close": self.close, - "high": self.high, - "low": self.low, - "amount": self.amount, - "vol": self.vol, - "trade_turnover": self.trade_turnover, - "count": self.count - - } - return d - - def __str__(self): - info = json.dumps(self.data) - return info - - def __repr__(self): - return str(self) \ No newline at end of file diff --git a/alpha/error.py b/alpha/error.py deleted file mode 100644 index 250ef34..0000000 --- a/alpha/error.py +++ /dev/null @@ -1,24 +0,0 @@ -# -*- coding:utf-8 -*- - -""" -错误信息 - -Author: HuangTao -Date: 2018/05/17 -""" - - -class Error: - - def __init__(self, msg): - self._msg = msg - - @property - def msg(self): - return self._msg - - def __str__(self): - return str(self._msg) - - def __repr__(self): - return str(self) diff --git a/alpha/heartbeat.py b/alpha/heartbeat.py deleted file mode 100644 index feb9a6f..0000000 --- a/alpha/heartbeat.py +++ /dev/null @@ -1,84 +0,0 @@ -# -*- coding:utf-8 -*- - -""" -服务器心跳 - -Author: QiaoXiaofeng -Date: 2020/12/1 -Email: andyjoe318@gmail.com -History: 1.first version. -""" - -import asyncio -import json - -from alpha.utils import tools -from alpha.utils import logger -from alpha.config import config - -__all__ = ("heartbeat") - - -class HeartBeat(object): - """ 心跳 - """ - - def __init__(self): - self._count = 0 # 心跳次数 - self._interval = 1 # 服务心跳执行时间间隔(秒) - self._print_interval = config.heartbeat.get("interval", 60) # 心跳打印时间间隔(秒),0为不打印 - self._tasks = {} # 跟随心跳执行的回调任务列表,由 self.register 注册 {task_id: {...}} - - @property - def count(self): - return self._count - - def ticker(self): - """ 启动心跳, 每interval间隔执行一次 - """ - self._count += 1 - - # 打印心跳次数 - if self._print_interval > 0: - if self._count % int(self._print_interval) == 0: - logger.info("do server heartbeat, count:", self._count, caller=self) - - # 设置下一次心跳回调 - asyncio.get_event_loop().call_later(self._interval, self.ticker) - - # 执行任务回调 - for task_id, task in self._tasks.items(): - interval = task["interval"] - if self._count % int(interval) != 0: - continue - func = task["func"] - args = task["args"] - kwargs = task["kwargs"] - kwargs["task_id"] = task_id - kwargs["heart_beat_count"] = self._count - asyncio.get_event_loop().create_task(func(*args, **kwargs)) - - def register(self, func, interval=1, *args, **kwargs): - """ 注册一个任务,在每次心跳的时候执行调用 - @param func 心跳的时候执行的函数 - @param interval 执行回调的时间间隔(秒) - @return task_id 任务id - """ - t = { - "func": func, - "interval": interval, - "args": args, - "kwargs": kwargs - } - task_id = tools.get_uuid1() - self._tasks[task_id] = t - return task_id - - def unregister(self, task_id): - """ 注销一个任务 - @param task_id 任务id - """ - if task_id in self._tasks: - self._tasks.pop(task_id) - -heartbeat = HeartBeat() diff --git a/alpha/kline.py b/alpha/kline.py deleted file mode 100644 index e1c5586..0000000 --- a/alpha/kline.py +++ /dev/null @@ -1,78 +0,0 @@ -# -*- coding:utf-8 -*- - -""" -Market module. - -Author: QiaoXiaofeng -Date: 2020/1/10 -Email: andyjoe318@gmail.com -""" - -import json - -from alpha import const -from alpha.utils import logger - - -class Kline: - """ Kline object. - - Args: - platform: Exchange platform name, e.g. huobi_swap. - symbol: Trade pair name, e.g. BTC-USD. - open: Open price. - high: Highest price. - low: Lowest price. - close: Close price. - volume: Total trade volume. - timestamp: Update time, millisecond. - kline_type: Kline type name, kline - 1min, kline_5min - 5min, kline_15min - 15min. - """ - - def __init__(self, platform=None, symbol=None, open=None, high=None, low=None, close=None, volume=None, - timestamp=None, kline_type=None, id=None, mrid=None, vol=None, count=None, amount=None, - trade_turnover=None): - """ Initialize. """ - self.platform = platform - self.symbol = symbol - self.open = open - self.high = high - self.low = low - self.close = close - self.volume = volume - self.timestamp = timestamp - self.kline_type = kline_type - self.id = id - self.mrid = mrid - self.vol = vol - self.count = count - self.amount = amount - self.trade_turnover = trade_turnover - - @property - def data(self): - d = { - "platform": self.platform, - "symbol": self.symbol, - "open": self.open, - "high": self.high, - "low": self.low, - "close": self.close, - "volume": self.volume, - "timestamp": self.timestamp, - "kline_type": self.kline_type, - "id": self.id, - "mrid": self.mrid, - "vol": self.vol, - "count": self.count, - "amount": self.amount, - "trade_turnover": self.trade_turnover, - } - return d - - def __str__(self): - info = json.dumps(self.data) - return info - - def __repr__(self): - return str(self) diff --git a/alpha/market.py b/alpha/market.py deleted file mode 100644 index 373444c..0000000 --- a/alpha/market.py +++ /dev/null @@ -1,83 +0,0 @@ -# -*- coding:utf-8 -*- - -""" -Market Module. - -Author: QiaoXiaofeng -Date: 2020/01/10 -Email: andyjoe318@gmail.com -""" - -import copy - -from alpha import const -from alpha.utils import logger - - -class Market: - """ Market Module. - - Attributes: - platform: Exchange platform name. e.g. `huobi_swap`. - symbols: Symbol name for your trade. e.g. [`BTC-USD`] - channels: sub channels.e.g.['kline', 'orderbook', 'trade'] - orderbook_length: max orderbook length.default 10. - wss: Websocket address. - orderbook_update_callback: You can use this param to specific a async callback function when you initializing Market - object. `orderbook_update_callback` is like `async def on_orderbook_update_callback(orderbook: Orderbook): pass` and this - callback function will be executed asynchronous when received AssetEvent. - kline_update_callback: You can use this param to specific a async callback function when you initializing Market - object. `kline_update_callback` is like `async def on_kline_update_callback(kline: Kline): pass` and this - callback function will be executed asynchronous when some order state updated. - trade_update_callback: You can use this param to specific a async callback function when you initializing - Market object. `trade_update_callback` is like `async def on_trade_update_callback(trade: Trade): pass` - and this callback function will be executed asynchronous when trade updated. - """ - - def __init__(self, platform=None, symbols=None, channels=None, orderbook_length=None, orderbooks_length=None,\ - klines_length=None, trades_length=None, wss=None, \ - orderbook_update_callback=None, kline_update_callback=None, trade_update_callback=None, **kwargs): - """initialize trade object.""" - kwargs["platform"] = platform - kwargs["symbols"] = symbols - kwargs["channels"] = channels - kwargs["orderbook_length"] = orderbook_length - kwargs["orderbooks_length"] = orderbooks_length - kwargs["klines_length"] = klines_length - kwargs["trades_length"] = trades_length - kwargs["wss"] = wss - kwargs["orderbook_update_callback"] = orderbook_update_callback - kwargs["kline_update_callback"] = kline_update_callback - kwargs["trade_update_callback"] = trade_update_callback - - self._raw_params = copy.copy(kwargs) - self._on_orderbook_update_callback = orderbook_update_callback - self._on_kline_update_callback = kline_update_callback - self._on_trade_update_callback = trade_update_callback - - if platform == const.HUOBI_SWAP: - from alpha.platforms.huobi_coin_swap.websocket.huobi_swap_market import HuobiSwapMarket as M - elif platform == const.HUOBI_FUTURE: - from alpha.platforms.huobi_coin_future.websocket.huobi_future_market import HuobiFutureMarket as M - elif platform == const.HUOBI_OPTION: - from alpha.platforms.huobi_option.huobi_option_market import HuobiOptionMarket as M - elif platform == const.HUOBI_USDT_SWAP: - from alpha.platforms.huobi_usdt_swap.websocket.huobi_usdt_swap_market import HuobiUsdtSwapMarket as M - elif platform == const.HUOBI_USDT_SWAP_CROSS: - from alpha.platforms.huobi_usdt_swap.websocket.huobi_usdt_swap_market import HuobiUsdtSwapMarket as M - else: - logger.error("platform error:", platform, caller=self) - return - self._m = M(**kwargs) - - @property - def orderbooks(self): - return self._m.orderbooks - - @property - def klines(self): - return self._m.klines - - @property - def trades(self): - return self._m.trades \ No newline at end of file diff --git a/alpha/markettrade.py b/alpha/markettrade.py deleted file mode 100644 index 955f4f1..0000000 --- a/alpha/markettrade.py +++ /dev/null @@ -1,63 +0,0 @@ -# -*- coding:utf-8 -*- - -""" -Market module. - -Author: QiaoXiaofeng -Date: 2020/1/10 -Email: andyjoe318@gmail.com -""" - -import json - -from alpha import const -from alpha.utils import logger - -class Trade: - """ Trade object. - - Args: - platform: Exchange platform name, e.g. huobi_swap. - symbol: Trade pair name, e.g. BTC-USD. - action: Trade action, BUY or SELL. - price: Order place price. - quantity: Order place quantity. - timestamp: Update time, millisecond. - """ - - def __init__(self, platform=None, symbol=None, action=None, price=None, quantity=None, timestamp=None, amount=None, - id=None, direction=None, trade_turnover=None): - """ Initialize. """ - self.platform = platform - self.symbol = symbol - self.action = action - self.price = price - self.quantity = quantity - self.timestamp = timestamp - self.amount = amount - self.id = id - self.direction = direction - self.trade_turnover = trade_turnover - - @property - def data(self): - d = { - "platform": self.platform, - "symbol": self.symbol, - "action": self.action, - "price": self.price, - "quantity": self.quantity, - "timestamp": self.timestamp, - "amount": self.amount, - "id": self.id, - "direction": self.direction, - "trade_turnover": self.trade_turnover - } - return d - - def __str__(self): - info = json.dumps(self.data) - return info - - def __repr__(self): - return str(self) \ No newline at end of file diff --git a/alpha/order.py b/alpha/order.py deleted file mode 100644 index 4742fa4..0000000 --- a/alpha/order.py +++ /dev/null @@ -1,105 +0,0 @@ -# -*- coding:utf-8 -*- - -""" -Order object. - -Author: QiaoXiaofeng -Date: 2020/1/10 -Email: andyjoe318@gmail.com -""" - -from alpha.utils import tools - - -# Order type. -ORDER_TYPE_LIMIT = "LIMIT" # Limit order. -ORDER_TYPE_MARKET = "MARKET" # Market order. -ORDER_TYPE_MAKER = "POST_ONLY" # Market order. -ORDER_TYPE_FOK = "FOK" # FOK order. -ORDER_TYPE_IOC = "IOC" # IOC order. - -# Order direction. -ORDER_ACTION_BUY = "BUY" # Buy -ORDER_ACTION_SELL = "SELL" # Sell - -# Order status. -ORDER_STATUS_NONE = "NONE" # New created order, no status. -ORDER_STATUS_SUBMITTED = "SUBMITTED" # The order that submitted to server successfully. -ORDER_STATUS_PARTIAL_FILLED = "PARTIAL-FILLED" # The order that filled partially. -ORDER_STATUS_FILLED = "FILLED" # The order that filled fully. -ORDER_STATUS_CANCELED = "CANCELED" # The order that canceled. -ORDER_STATUS_FAILED = "FAILED" # The order that failed. - -# Future order trade type. -TRADE_TYPE_NONE = 0 # Unknown type, some Exchange's order information couldn't known the type of trade. -TRADE_TYPE_BUY_OPEN = 1 # Buy open, action = BUY & quantity > 0. -TRADE_TYPE_SELL_OPEN = 2 # Sell open, action = SELL & quantity < 0. -TRADE_TYPE_SELL_CLOSE = 3 # Sell close, action = SELL & quantity > 0. -TRADE_TYPE_BUY_CLOSE = 4 # Buy close, action = BUY & quantity < 0. - - -class Order: - """ Order object. - - Attributes: - account: Trading account name, e.g. test@gmail.com. - platform: Exchange platform name, e.g. binance/bitmex. - strategy: Strategy name, e.g. my_test_strategy. - order_no: order id. - symbol: Trading pair name, e.g. ETH/BTC. - action: Trading side, BUY/SELL. - price: Order price. - quantity: Order quantity. - remain: Remain quantity that not filled. - status: Order status. - avg_price: Average price that filled. - order_type: Order type. - trade_type: Trade type, only for future order. - client_order_id: custom order id. - order_price_type: order type.such as "limit","opponent","lightning","optimal_5"... - role: taker or maker for the latest trade. - trade_quantity: trade quantity of this push. - trade_price: trade price of this push. - ctime: Order create time, millisecond. - utime: Order update time, millisecond. - """ - - def __init__(self, account=None, platform=None, strategy=None, order_no=None, symbol=None, action=None, price=0, - quantity=0, remain=0, status=ORDER_STATUS_NONE, avg_price=0, order_type=ORDER_TYPE_LIMIT, - trade_type=TRADE_TYPE_NONE, client_order_id=None, order_price_type=None, role=None, trade_quantity=None, trade_price=None, ctime=None, utime=None): - self.platform = platform - self.account = account - self.strategy = strategy - self.order_no = order_no - self.action = action - self.order_type = order_type - self.symbol = symbol - self.price = price - self.quantity = quantity - self.remain = remain if remain else quantity - self.status = status - self.avg_price = avg_price - self.trade_type = trade_type - self.client_order_id = client_order_id - self.order_price_type = order_price_type - self.role = role - self.trade_quantity = trade_quantity - self.trade_price = trade_price - self.ctime = ctime if ctime else tools.get_cur_timestamp_ms() - self.utime = utime if utime else tools.get_cur_timestamp_ms() - - def __str__(self): - info = "[platform: {platform}, account: {account}, strategy: {strategy}, order_no: {order_no}, " \ - "action: {action}, symbol: {symbol}, price: {price}, quantity: {quantity}, remain: {remain}, " \ - "status: {status}, avg_price: {avg_price}, order_type: {order_type}, trade_type: {trade_type}, " \ - "client_order_id: {client_order_id}, order_price_type:{order_price_type}, role: {role}," \ - "trade_quantity: {trade_quantity}, trade_price: {trade_price}, ctime: {ctime}, utime: {utime}]".format( - platform=self.platform, account=self.account, strategy=self.strategy, order_no=self.order_no, - action=self.action, symbol=self.symbol, price=self.price, quantity=self.quantity, - remain=self.remain, status=self.status, avg_price=self.avg_price, order_type=self.order_type, - client_order_id=self.client_order_id, order_price_type=self.order_price_type, role=self.role, - trade_type=self.trade_type, trade_quantity=self.trade_quantity, trade_price=self.trade_price, ctime=self.ctime, utime=self.utime) - return info - - def __repr__(self): - return str(self) \ No newline at end of file diff --git a/alpha/orderbook.py b/alpha/orderbook.py deleted file mode 100644 index 9c1c882..0000000 --- a/alpha/orderbook.py +++ /dev/null @@ -1,61 +0,0 @@ -# -*- coding:utf-8 -*- - -""" -Market module. - -Author: QiaoXiaofeng -Date: 2020/1/10 -Email: andyjoe318@gmail.com -""" - -import json - -from alpha import const -from alpha.utils import logger - - -class Orderbook: - """ Orderbook object. - - Args: - platform: Exchange platform name, e.g. huobi_swap. - symbol: Trade pair name, e.g. BTC-USD. - asks: Asks list, e.g. [[price, quantity], [...], ...] - bids: Bids list, e.g. [[price, quantity], [...], ...] - timestamp: Update time, millisecond. - """ - - def __init__(self, platform=None, symbol=None, asks=None, bids=None, timestamp=None, mrid=None, id=None, - version=None, ch=None): - """ Initialize. """ - self.platform = platform - self.symbol = symbol - self.asks = asks - self.bids = bids - self.timestamp = timestamp - self.mrid = mrid - self.id = id - self.version = version - self.ch = ch - - @property - def data(self): - d = { - "platform": self.platform, - "symbol": self.symbol, - "asks": self.asks, - "bids": self.bids, - "timestamp": self.timestamp, - "mrid": self.mrid, - "id": self.id, - "version": self.version, - "ch": self.ch - } - return d - - def __str__(self): - info = json.dumps(self.data) - return info - - def __repr__(self): - return str(self) \ No newline at end of file diff --git a/alpha/platforms/huobi_coin_future/restapi/rest_account_coin_future.py b/alpha/platforms/huobi_coin_future/restapi/rest_account_coin_future.py deleted file mode 100644 index 214fac7..0000000 --- a/alpha/platforms/huobi_coin_future/restapi/rest_account_coin_future.py +++ /dev/null @@ -1,429 +0,0 @@ -# -*- coding:utf-8 -*- - -""" -Huobi USDT Swap Api Module. - -Author: QiaoXiaofeng -Date: 2020/09/10 -Email: andyjoe318@gmail.com -""" - -import gzip -import json -import copy -import hmac -import base64 -import urllib -import hashlib -import datetime -import time -from urllib.parse import urljoin -from alpha.utils.request import AsyncHttpRequests -from alpha.const import USER_AGENT - -__all__ = ("HuobiCoinFutureRestAccountAPI",) - - -class HuobiCoinFutureRestAccountAPI: - """ Huobi USDT Swap REST API Client. - - Attributes: - host: HTTP request host. - access_key: Account's ACCESS KEY. - secret_key: Account's SECRET KEY. - passphrase: API KEY Passphrase. - """ - - def __init__(self, host, access_key, secret_key): - """ initialize REST API client. """ - self._host = host - self._access_key = access_key - self._secret_key = secret_key - - async def get_contract_balance_valuation(self, valuation_asset=None): - - uri = "/api/v1/contract_balance_valuation" - body = { - - } - - if valuation_asset: - body.update({"valuation_asset": valuation_asset}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_asset_info(self): - """ Get account asset information. - - Returns: - success: Success results, otherwise it's None. - error: Error information, otherwise it's None. - """ - uri = "/api/v1/contract_account_info" - success, error = await self.request("POST", uri, auth=True) - return success, error - - async def get_position(self, symbol=None): - """ Get position information. - - Args: - symbol: Currency name, e.g. BTC. default `None` will return all types. - - Returns: - success: Success results, otherwise it's None. - error: Error information, otherwise it's None. - """ - uri = "/api/v1/contract_position_info" - body = {} - if symbol: - body["symbol"] = symbol - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def set_contract_sub_auth(self, sub_uid, sub_auth): - - uri = "/api/v1/contract_sub_auth" - body = { - "sub_uid": sub_uid, - "sub_auth": sub_auth - } - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_contract_sub_auth_list(self, sub_uid=None, start_time=None, end_time=None, direct=None, from_id=None): - - uri = "/api/v1/contract_sub_auth_list" - body = { - - } - - if sub_uid: - body.update({"sub_uid": sub_uid}) - if start_time: - body.update({"start_time": start_time}) - if end_time: - body.update({"end_time": end_time}) - if direct: - body.update({"direct": direct}) - if from_id: - body.update({"from_id": from_id}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_contract_sub_account_list(self, symbol=None, direct=None, from_id=None): - - uri = "/api/v1/contract_sub_account_list" - body = { - - } - - if symbol: - body.update({"symbol": symbol}) - if direct: - body.update({"direct": direct}) - if from_id: - body.update({"from_id": from_id}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_contract_sub_account_info_list(self, symbol=None, page_index=None, page_size=None): - - uri = "/api/v1/contract_sub_account_info_list" - body = { - - } - - if symbol: - body.update({"symbol": symbol}) - if page_index: - body.update({"page_index": page_index}) - if page_size: - body.update({"page_size": page_size}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_contract_sub_account_info(self, sub_uid, symbol=None): - - uri = "/api/v1/contract_sub_account_info" - body = { - "sub_uid": sub_uid - } - - if symbol: - body.update({"symbol": symbol}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_contract_sub_position_info(self, sub_uid, symbol=None): - - uri = "/api/v1/contract_sub_position_info" - body = { - "sub_uid": sub_uid - } - - if symbol: - body.update({"symbol": symbol}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_contract_financial_record(self, type, symbol, start_time=None, end_time=None, direct=None, from_id=None): - - uri = "/api/v3/contract_financial_record" - body = { - "type": type, - "symbol": symbol - } - - if start_time: - body.update({"start_time": start_time}) - if end_time: - body.update({"end_time": end_time}) - if direct: - body.update({"direct": direct}) - if from_id: - body.update({"from_id": from_id}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_contract_financial_record_exact(self, type, symbol, start_time=None, end_time=None, direct=None, from_id=None): - - uri = "/api/v3/contract_financial_record_exact" - body = { - "type": type, - "symbol": symbol - } - - if start_time: - body.update({"start_time": start_time}) - if end_time: - body.update({"end_time": end_time}) - if direct: - body.update({"direct": direct}) - if from_id: - body.update({"from_id": from_id}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_contract_user_settlement_records(self, symbol, start_time=None, end_time=None, page_index=None, page_size=None): - - uri = "/api/v1/contract_user_settlement_records" - body = { - "symbol": symbol - } - - if start_time: - body.update({"start_time": start_time}) - if end_time: - body.update({"end_time": end_time}) - if page_index: - body.update({"page_index": page_index}) - if page_size: - body.update({"page_size": page_size}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_contract_order_limit(self, order_price_type, symbol=None): - - uri = "/api/v1/contract_order_limit" - body = { - "order_price_type": order_price_type - } - - if symbol: - body.update({"symbol": symbol}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_contract_fee(self, symbol=None): - - uri = "/api/v1/contract_fee" - body = { - - } - - if symbol: - body.update({"symbol": symbol}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_contract_transfer_limit(self, symbol=None): - - uri = "/api/v1/contract_transfer_limit" - body = { - - } - - if symbol: - body.update({"symbol": symbol}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_contract_position_limit(self, symbol=None): - - uri = "/api/v1/contract_position_limit" - body = { - - } - - if symbol: - body.update({"symbol": symbol}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_account_position(self, symbol): - """ Get position and account information. - - Args: - symbol: Currency name, e.g. BTC. default `None` will return all types. - - Returns: - success: Success results, otherwise it's None. - error: Error information, otherwise it's None. - """ - uri = "/api/v1/contract_account_position_info" - body = { - "symbol": symbol - } - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_contract_master_sub_transfer(self, sub_uid, symbol, amount, type, client_order_id=None): - - uri = "/api/v1/contract_master_sub_transfer" - body = { - "sub_uid": sub_uid, - "symbol": symbol, - "amount": amount, - "type": type - } - - if client_order_id: - body.update({"client_order_id": client_order_id}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_contract_master_sub_transfer_record(self, symbol, create_date, transfer_type=None, page_index=None, page_size=None): - - uri = "/api/v1/contract_master_sub_transfer_record" - body = { - "symbol": symbol, - "create_date": create_date - } - - if transfer_type: - body.update({"transfer_type": transfer_type}) - if page_index: - body.update({"page_index": page_index}) - if page_size: - body.update({"page_size": page_size}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_api_trading_status(self): - """ Get api trading status. - Args: - None. - Returns: - refer to https://huobiapi.github.io/docs/dm/v1/cn/#api-5 - """ - uri = "/api/v1/contract_api_trading_status" - success, error = await self.request("GET", uri, body=None, auth=True) - return success, error - - async def get_contract_available_level_rate(self, symbol=None): - - uri = "/api/v1/contract_available_level_rate" - body = { - - } - - if symbol: - body.update({"symbol": symbol}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def request(self, method, uri, params=None, body=None, headers=None, auth=False): - """ Do HTTP request. - - Args: - method: HTTP request method. `GET` / `POST` / `DELETE` / `PUT`. - uri: HTTP request uri. - params: HTTP query params. - body: HTTP request body. - headers: HTTP request headers. - auth: If this request requires authentication. - - Returns: - success: Success results, otherwise it's None. - error: Error information, otherwise it's None. - """ - if uri.startswith("http://") or uri.startswith("https://"): - url = uri - else: - url = self._host + uri - - if auth: - timestamp = datetime.datetime.utcnow().strftime("%Y-%m-%dT%H:%M:%S") - params = params if params else {} - params.update({"AccessKeyId": self._access_key, - "SignatureMethod": "HmacSHA256", - "SignatureVersion": "2", - "Timestamp": timestamp}) - - params["Signature"] = self.generate_signature(method, params, uri) - - if not headers: - headers = {} - if method == "GET": - headers["Content-type"] = "application/x-www-form-urlencoded" - headers["User-Agent"] = USER_AGENT - _, success, error = await AsyncHttpRequests.fetch("GET", url, params=params, headers=headers, timeout=10) - else: - headers["Accept"] = "application/json" - headers["Content-type"] = "application/json" - headers["User-Agent"] = USER_AGENT - _, success, error = await AsyncHttpRequests.fetch("POST", url, params=params, data=body, headers=headers, - timeout=10) - if error: - return None, error - if not isinstance(success, dict): - result = json.loads(success) - else: - result = success - if result.get("status") != "ok": - return None, result - return result, None - - def generate_signature(self, method, params, request_path): - if request_path.startswith("http://") or request_path.startswith("https://"): - host_url = urllib.parse.urlparse(request_path).hostname.lower() - request_path = '/' + '/'.join(request_path.split('/')[3:]) - else: - host_url = urllib.parse.urlparse(self._host).hostname.lower() - sorted_params = sorted(params.items(), key=lambda d: d[0], reverse=False) - encode_params = urllib.parse.urlencode(sorted_params) - payload = [method, host_url, request_path, encode_params] - payload = "\n".join(payload) - payload = payload.encode(encoding="UTF8") - secret_key = self._secret_key.encode(encoding="utf8") - digest = hmac.new(secret_key, payload, digestmod=hashlib.sha256).digest() - signature = base64.b64encode(digest) - signature = signature.decode() - return signature \ No newline at end of file diff --git a/alpha/platforms/huobi_coin_future/restapi/rest_account_sync.py b/alpha/platforms/huobi_coin_future/restapi/rest_account_sync.py deleted file mode 100644 index 372e5db..0000000 --- a/alpha/platforms/huobi_coin_future/restapi/rest_account_sync.py +++ /dev/null @@ -1,97 +0,0 @@ -import json - -from alpha.utils.http_utils import post, get_url_suffix, get - - -class RestAccountCoinFuture: - def __init__(self, access_key: str, secret_key: str, host: str = None): - self.access_key = access_key - self.secret_key = secret_key - if host is None: - host = "api.hbdm.com" - self.host = host - - def contract_balance_valuation(self, data: dict = None) -> json: - path = "/api/v1/contract_balance_valuation" - return post(self.access_key, self.secret_key, self.host, path, data) - - def contract_account_info(self, data: dict = None) -> json: - path = "/api/v1/contract_account_info" - return post(self.access_key, self.secret_key, self.host, path, data) - - def contract_position_info(self, data: dict = None) -> json: - path = "/api/v1/contract_position_info" - return post(self.access_key, self.secret_key, self.host, path, data) - - def contract_sub_auth(self, data: dict = None) -> json: - path = "/api/v1/contract_sub_auth" - return post(self.access_key, self.secret_key, self.host, path, data) - - def contract_sub_auth_list(self, data: dict = None) -> json: - path = "/api/v1/contract_sub_auth_list" - return post(self.access_key, self.secret_key, self.host, path, data) - - def contract_sub_account_list(self, data: dict = None) -> json: - path = "/api/v1/contract_sub_account_list" - return post(self.access_key, self.secret_key, self.host, path, data) - - def contract_sub_account_info_list(self, data: dict = None) -> json: - path = "/api/v1/contract_sub_account_info_list" - return post(self.access_key, self.secret_key, self.host, path, data) - - def contract_sub_account_info(self, data: dict = None) -> json: - path = "/api/v1/contract_sub_account_info" - return post(self.access_key, self.secret_key, self.host, path, data) - - def contract_sub_position_info(self, data: dict = None) -> json: - path = "/api/v1/contract_sub_position_info" - return post(self.access_key, self.secret_key, self.host, path, data) - - def contract_financial_record(self, data: dict = None) -> json: - path = "/api/v3/contract_financial_record" - return post(self.access_key, self.secret_key, self.host, path, data) - - def contract_financial_record_exact(self, data: dict = None) -> json: - path = "/api/v3/contract_financial_record_exact" - return post(self.access_key, self.secret_key, self.host, path, data) - - def contract_user_settlement_records(self, data: dict = None) -> json: - path = "/api/v1/contract_user_settlement_records" - return post(self.access_key, self.secret_key, self.host, path, data) - - def contract_order_limit(self, data: dict = None) -> json: - path = "/api/v1/contract_order_limit" - return post(self.access_key, self.secret_key, self.host, path, data) - - def contract_fee(self, data: dict = None) -> json: - path = "/api/v1/contract_fee" - return post(self.access_key, self.secret_key, self.host, path, data) - - def contract_transfer_limit(self, data: dict = None) -> json: - path = "/api/v1/contract_transfer_limit" - return post(self.access_key, self.secret_key, self.host, path, data) - - def contract_position_limit(self, data: dict = None) -> json: - path = "/api/v1/contract_position_limit" - return post(self.access_key, self.secret_key, self.host, path, data) - - def contract_account_position_info(self, data: dict = None) -> json: - path = "/api/v1/contract_account_position_info" - return post(self.access_key, self.secret_key, self.host, path, data) - - def contract_master_sub_transfer(self, data: dict = None) -> json: - path = "/api/v1/contract_master_sub_transfer" - return post(self.access_key, self.secret_key, self.host, path, data) - - def contract_master_sub_transfer_record(self, data: dict = None) -> json: - path = "/api/v1/contract_master_sub_transfer_record" - return post(self.access_key, self.secret_key, self.host, path, data) - - def contract_api_trading_status(self, params: dict = None) -> json: - path = "/api/v1/contract_api_trading_status" - path = "{}?{}".format(path, get_url_suffix('get', self.access_key, self.secret_key, self.host, path)) - return get(self.host, path, params) - - def contract_available_level_rate(self, data: dict = None) -> json: - path = "/api/v1/contract_available_level_rate" - return post(self.access_key, self.secret_key, self.host, path, data) diff --git a/alpha/platforms/huobi_coin_future/restapi/rest_market_coin_future.py b/alpha/platforms/huobi_coin_future/restapi/rest_market_coin_future.py deleted file mode 100644 index f183ce3..0000000 --- a/alpha/platforms/huobi_coin_future/restapi/rest_market_coin_future.py +++ /dev/null @@ -1,251 +0,0 @@ -# -*- coding:utf-8 -*- - -""" -Huobi USDT Swap Api Module. - -Author: QiaoXiaofeng -Date: 2020/09/10 -Email: andyjoe318@gmail.com -""" - -import gzip -import json -import copy -import hmac -import base64 -import urllib -import hashlib -import datetime -import time -from urllib.parse import urljoin -from alpha.utils.request import AsyncHttpRequests -from alpha.const import USER_AGENT - -__all__ = ("HuobiCoinFutureRestMarketAPI",) - - -class HuobiCoinFutureRestMarketAPI: - """ Huobi USDT Swap REST API Client. - - Attributes: - host: HTTP request host. - access_key: Account's ACCESS KEY. - secret_key: Account's SECRET KEY. - passphrase: API KEY Passphrase. - """ - - def __init__(self, host, access_key, secret_key): - """ initialize REST API client. """ - self._host = host - self._access_key = access_key - self._secret_key = secret_key - - async def get_orderbook(self, symbol: 'str', type: 'str'='step0', depth: 'int'=None): - """ Get orderbook information. - - Args: - symbol: Symbol name, `BTC_CW` - current week, `BTC_NW` next week, `BTC_CQ` current quarter. - - Returns: - success: Success results, otherwise it's None. - error: Error information, otherwise it's None. - """ - uri = "/market/depth" - params = { - "symbol": symbol, - "type": type, - "depth": depth - - } - success, error = await self.request("GET", uri, params=params) - return success, error - - async def get_bbo(self, symbol=None): - - uri = "/market/bbo" - params = { - - } - if symbol: - params["symbol"] = symbol - - success, error = await self.request("GET", uri, params=params) - return success, error - - async def get_klines(self, symbol, period, size=None, sfrom=None, to=None): - """ Get kline information. - - Args: - symbol: Symbol name, `BTC_CW` - current week, `BTC_NW` next week, `BTC_CQ` current quarter. - period: 1min, 5min, 15min, 30min, 60min,4hour,1day, 1mon - size: [1,2000] - - Returns: - success: Success results, otherwise it's None. - error: Error information, otherwise it's None. - """ - uri = "/market/history/kline" - params = { - "symbol": symbol, - "period": period - } - if size: - params["size"] = size - if sfrom: - params["from"] = sfrom - if to: - params["to"] = to - success, error = await self.request("GET", uri, params=params) - return success, error - - async def get_mark_price_kline(self, symbol, period, size): - - uri = "/index/market/history/mark_price_kline" - params = { - "symbol": symbol, - "period": period, - "size": size - } - - success, error = await self.request("GET", uri, params=params) - return success, error - - async def get_merged(self, symbol): - - uri = "/market/detail/merged" - params = { - "symbol": symbol - } - - success, error = await self.request("GET", uri, params=params) - return success, error - - async def get_batch_merged(self, symbol=None): - - uri = "/v2/market/detail/batch_merged" - params = { - - } - if symbol: - params["symbol"] = symbol - - success, error = await self.request("GET", uri, params=params) - return success, error - - async def get_trade(self, symbol=None): - - uri = "/market/trade" - params = { - - } - if symbol: - params["symbol"] = symbol - - success, error = await self.request("GET", uri, params=params) - return success, error - - async def get_history_trade(self, symbol, size): - - uri = "/market/history/trade" - params = { - "symbol": symbol, - "size": size - } - - success, error = await self.request("GET", uri, params=params) - return success, error - - async def get_history_index(self, symbol, period, size): - - uri = "/index/market/history/index" - params = { - "symbol": symbol, - "period": period, - "size": size - } - - success, error = await self.request("GET", uri, params=params) - return success, error - - async def get_history_basis(self, symbol, period, size, basis_price_type=None): - - uri = "/index/market/history/basis" - params = { - "symbol": symbol, - "period": period, - "size": size - } - if basis_price_type: - params["basis_price_type"] = basis_price_type - - success, error = await self.request("GET", uri, params=params) - return success, error - - async def request(self, method, uri, params=None, body=None, headers=None, auth=False): - """ Do HTTP request. - - Args: - method: HTTP request method. `GET` / `POST` / `DELETE` / `PUT`. - uri: HTTP request uri. - params: HTTP query params. - body: HTTP request body. - headers: HTTP request headers. - auth: If this request requires authentication. - - Returns: - success: Success results, otherwise it's None. - error: Error information, otherwise it's None. - """ - if uri.startswith("http://") or uri.startswith("https://"): - url = uri - else: - url = self._host + uri - - if auth: - timestamp = datetime.datetime.utcnow().strftime("%Y-%m-%dT%H:%M:%S") - params = params if params else {} - params.update({"AccessKeyId": self._access_key, - "SignatureMethod": "HmacSHA256", - "SignatureVersion": "2", - "Timestamp": timestamp}) - - params["Signature"] = self.generate_signature(method, params, uri) - - if not headers: - headers = {} - if method == "GET": - headers["Content-type"] = "application/x-www-form-urlencoded" - headers["User-Agent"] = USER_AGENT - _, success, error = await AsyncHttpRequests.fetch("GET", url, params=params, headers=headers, timeout=10) - else: - headers["Accept"] = "application/json" - headers["Content-type"] = "application/json" - headers["User-Agent"] = USER_AGENT - _, success, error = await AsyncHttpRequests.fetch("POST", url, params=params, data=body, headers=headers, - timeout=10) - if error: - return None, error - if not isinstance(success, dict): - result = json.loads(success) - else: - result = success - if result.get("status") != "ok": - return None, result - return result, None - - def generate_signature(self, method, params, request_path): - if request_path.startswith("http://") or request_path.startswith("https://"): - host_url = urllib.parse.urlparse(request_path).hostname.lower() - request_path = '/' + '/'.join(request_path.split('/')[3:]) - else: - host_url = urllib.parse.urlparse(self._host).hostname.lower() - sorted_params = sorted(params.items(), key=lambda d: d[0], reverse=False) - encode_params = urllib.parse.urlencode(sorted_params) - payload = [method, host_url, request_path, encode_params] - payload = "\n".join(payload) - payload = payload.encode(encoding="UTF8") - secret_key = self._secret_key.encode(encoding="utf8") - digest = hmac.new(secret_key, payload, digestmod=hashlib.sha256).digest() - signature = base64.b64encode(digest) - signature = signature.decode() - return signature \ No newline at end of file diff --git a/alpha/platforms/huobi_coin_future/restapi/rest_market_sync.py b/alpha/platforms/huobi_coin_future/restapi/rest_market_sync.py deleted file mode 100644 index 993c02c..0000000 --- a/alpha/platforms/huobi_coin_future/restapi/rest_market_sync.py +++ /dev/null @@ -1,50 +0,0 @@ -import json - -from alpha.utils.http_utils import get - - -class RestMarketCoinFuture: - def __init__(self, host=None): - if host is None: - host = "api.hbdm.com" - self.host = host - - def depth(self, params: dict = None) -> json: - path = "/market/depth" - return get(self.host, path, params) - - def bbo(self, params: dict = None) -> json: - path = "/market/bbo" - return get(self.host, path, params) - - def kline(self, params: dict = None) -> json: - path = "/market/history/kline" - return get(self.host, path, params) - - def mark_price_kline(self, params: dict = None) -> json: - path = "/index/market/history/mark_price_kline" - return get(self.host, path, params) - - def merged(self, params: dict = None) -> json: - path = "/market/detail/merged" - return get(self.host, path, params) - - def batch_merged(self, params: dict = None) -> json: - path = "/v2/market/detail/batch_merged" - return get(self.host, path, params) - - def trade(self, params: dict = None) -> json: - path = "/market/trade" - return get(self.host, path, params) - - def history_trade(self, params: dict = None) -> json: - path = "/market/history/trade" - return get(self.host, path, params) - - def index(self, params: dict = None) -> json: - path = "/index/market/history/index" - return get(self.host, path, params) - - def basis(self, params: dict = None) -> json: - path = "/index/market/history/basis" - return get(self.host, path, params) \ No newline at end of file diff --git a/alpha/platforms/huobi_coin_future/restapi/rest_reference_coin_future.py b/alpha/platforms/huobi_coin_future/restapi/rest_reference_coin_future.py deleted file mode 100644 index b9266b5..0000000 --- a/alpha/platforms/huobi_coin_future/restapi/rest_reference_coin_future.py +++ /dev/null @@ -1,383 +0,0 @@ -# -*- coding:utf-8 -*- - -""" -Huobi USDT Swap Api Module. - -Author: QiaoXiaofeng -Date: 2020/09/10 -Email: andyjoe318@gmail.com -""" - -import gzip -import json -import copy -import hmac -import base64 -import urllib -import hashlib -import datetime -import time -from urllib.parse import urljoin -from alpha.utils.request import AsyncHttpRequests -from alpha.const import USER_AGENT - -__all__ = ("HuobiCoinFutureRestReferenceAPI",) - - -class HuobiCoinFutureRestReferenceAPI: - """ Huobi USDT Swap REST API Client. - - Attributes: - host: HTTP request host. - access_key: Account's ACCESS KEY. - secret_key: Account's SECRET KEY. - passphrase: API KEY Passphrase. - """ - - def __init__(self, host, access_key, secret_key): - """ initialize REST API client. """ - self._host = host - self._access_key = access_key - self._secret_key = secret_key - - async def get_contract_risk_info(self, symbol=None): - - uri = "/api/v1/contract_risk_info" - params = {} - if symbol: - params["symbol"] = symbol - - success, error = await self.request("GET", uri, params=params) - return success, error - - async def get_contract_insurance_fund(self, symbol): - - uri = "/api/v1/contract_insurance_fund" - params = { - "symbol": symbol - } - - success, error = await self.request("GET", uri, params=params) - return success, error - - async def get_contract_adjustfactor(self, symbol=None): - - uri = "/api/v1/contract_adjustfactor" - params = {} - if symbol: - params["symbol"] = symbol - - success, error = await self.request("GET", uri, params=params) - return success, error - - async def get_contract_his_open_interest(self, symbol, contract_type, period, amount_type, size=None): - - uri = "/api/v1/contract_his_open_interest" - params = { - "symbol": symbol, - "contract_type": contract_type, - "period": period, - "amount_type": amount_type - } - if size: - params["size"] = size - - success, error = await self.request("GET", uri, params=params) - return success, error - - async def get_contract_ladder_margin(self, symbol=None): - - uri = "/api/v1/contract_ladder_margin" - params = { - - } - if symbol: - params["symbol"] = symbol - - success, error = await self.request("GET", uri, params=params) - return success, error - - async def get_contract_elite_account_ratio(self, symbol, period): - - uri = "/api/v1/contract_elite_account_ratio" - params = { - "symbol": symbol, - "period": period - } - - success, error = await self.request("GET", uri, params=params) - return success, error - - async def get_contract_elite_position_ratio(self, symbol, period): - - uri = "/api/v1/contract_elite_position_ratio" - params = { - "symbol": symbol, - "period": period - } - - success, error = await self.request("GET", uri, params=params) - return success, error - - async def get_contract_liquidation_orders(self, symbol, trade_type, start_time=None, end_time=None, direct=None, - from_id=None): - - uri = "/api/v3/contract_liquidation_orders" - params = { - "symbol": symbol, - "trade_type": trade_type - } - if start_time: - params["start_time"] = start_time - if end_time: - params["end_time"] = end_time - if direct: - params["direct"] = direct - if from_id: - params["from_id"] = from_id - - success, error = await self.request("GET", uri, params=params) - return success, error - - async def get_contract_settlement_records(self, symbol, start_time=None, end_time=None, page_index=None, page_size=None): - - uri = "/api/v1/contract_settlement_records" - params = { - "symbol": symbol - } - if start_time: - params["start_time"] = start_time - if end_time: - params["end_time"] = end_time - if page_index: - params["page_index"] = page_index - if page_size: - params["page_size"] = page_size - - success, error = await self.request("GET", uri, params=params) - return success, error - - async def get_price_limit(self, symbol=None, contract_type=None, contract_code=None): - """ Get contract price limit. - - Args: - symbol: Trade pair, default `None` will return all symbols. - contract_type: Contract type, `this_week` / `next_week` / `quarter`, default `None` will return all types. - contract_code: Contract code, e.g. BTC180914. - - Returns: - success: Success results, otherwise it's None. - error: Error information, otherwise it's None. - - * NOTE: 1. If input `contract_code`, only matching this contract code. - 2. If not input `contract_code`, matching by `symbol + contract_type`. - """ - uri = "/api/v1/contract_price_limit" - params = {} - if symbol: - params["symbol"] = symbol - if contract_type: - params["contract_type"] = contract_type - if contract_code: - params["contract_code"] = contract_code - success, error = await self.request("GET", uri, params=params) - return success, error - - async def get_contract_open_interest(self, symbol=None, contract_type=None, contract_code=None): - - uri = "/api/v1/contract_open_interest" - params = { - - } - if symbol: - params["symbol"] = symbol - if contract_type: - params["contract_type"] = contract_type - if contract_code: - params["contract_code"] = contract_code - - success, error = await self.request("GET", uri, params=params) - return success, error - - async def get_contract_delivery_price(self, symbol): - - uri = "/api/v1/contract_delivery_price" - params = { - "symbol": symbol - } - - success, error = await self.request("GET", uri, params=params) - return success, error - - async def get_contract_estimated_settlement_price(self, symbol=None): - - uri = "/api/v1/contract_estimated_settlement_price" - params = { - - } - if symbol: - params["symbol"] = symbol - - success, error = await self.request("GET", uri, params=params) - return success, error - - async def get_contract_api_state(self, symbol=None): - - uri = "/api/v1/contract_api_state" - params = { - - } - if symbol: - params["symbol"] = symbol - - success, error = await self.request("GET", uri, params=params) - return success, error - - async def get_contract_info(self, symbol=None, contract_type=None, contract_code=None): - """ Get contract information. - - Args: - symbol: Trade pair, default `None` will return all symbols. - contract_type: Contract type, `this_week` / `next_week` / `quarter`, default `None` will return all types. - contract_code: Contract code, e.g. BTC180914. - - Returns: - success: Success results, otherwise it's None. - error: Error information, otherwise it's None. - - * NOTE: 1. If input `contract_code`, only matching this contract code. - 2. If not input `contract_code`, matching by `symbol + contract_type`. - """ - uri = "/api/v1/contract_contract_info" - params = {} - if symbol: - params["symbol"] = symbol - if contract_type: - params["contract_type"] = contract_type - if contract_code: - params["contract_code"] = contract_code - success, error = await self.request("GET", uri, params) - return success, error - - async def get_contract_query_elements(self, contract_code=None): - - uri = "/api/v1/contract_query_elements" - params = { - - } - if contract_code: - params["contract_code"] = contract_code - - success, error = await self.request("GET", uri, params=params) - return success, error - - async def get_timestamp(self): - - uri = "/api/v1/timestamp" - params = { - - } - - success, error = await self.request("GET", uri, params=params) - return success, error - - async def get_heartbeat(self): - - uri = "/heartbeat/" - params = { - - } - - success, error = await self.request("GET", uri, params=params) - return success, error - - async def get_summary(self): - - uri = "https://status-dm.huobigroup.com/api/v2/summary.json" - params = { - - } - - success, error = await self.request("GET", uri, params=params) - return success, error - - async def get_contract_index(self, symbol=None): - - uri = "/api/v1/contract_index" - params = { - - } - if symbol: - params["symbol"] = symbol - - success, error = await self.request("GET", uri, params=params) - return success, error - - async def request(self, method, uri, params=None, body=None, headers=None, auth=False): - """ Do HTTP request. - - Args: - method: HTTP request method. `GET` / `POST` / `DELETE` / `PUT`. - uri: HTTP request uri. - params: HTTP query params. - body: HTTP request body. - headers: HTTP request headers. - auth: If this request requires authentication. - - Returns: - success: Success results, otherwise it's None. - error: Error information, otherwise it's None. - """ - if uri.startswith("http://") or uri.startswith("https://"): - url = uri - else: - url = self._host + uri - - if auth: - timestamp = datetime.datetime.utcnow().strftime("%Y-%m-%dT%H:%M:%S") - params = params if params else {} - params.update({"AccessKeyId": self._access_key, - "SignatureMethod": "HmacSHA256", - "SignatureVersion": "2", - "Timestamp": timestamp}) - - params["Signature"] = self.generate_signature(method, params, uri) - - if not headers: - headers = {} - if method == "GET": - headers["Content-type"] = "application/x-www-form-urlencoded" - headers["User-Agent"] = USER_AGENT - _, success, error = await AsyncHttpRequests.fetch("GET", url, params=params, headers=headers, timeout=10) - else: - headers["Accept"] = "application/json" - headers["Content-type"] = "application/json" - headers["User-Agent"] = USER_AGENT - _, success, error = await AsyncHttpRequests.fetch("POST", url, params=params, data=body, headers=headers, - timeout=10) - if error: - return None, error - if not isinstance(success, dict): - result = json.loads(success) - else: - result = success - if result.get("status") != "ok": - return None, result - return result, None - - def generate_signature(self, method, params, request_path): - if request_path.startswith("http://") or request_path.startswith("https://"): - host_url = urllib.parse.urlparse(request_path).hostname.lower() - request_path = '/' + '/'.join(request_path.split('/')[3:]) - else: - host_url = urllib.parse.urlparse(self._host).hostname.lower() - sorted_params = sorted(params.items(), key=lambda d: d[0], reverse=False) - encode_params = urllib.parse.urlencode(sorted_params) - payload = [method, host_url, request_path, encode_params] - payload = "\n".join(payload) - payload = payload.encode(encoding="UTF8") - secret_key = self._secret_key.encode(encoding="utf8") - digest = hmac.new(secret_key, payload, digestmod=hashlib.sha256).digest() - signature = base64.b64encode(digest) - signature = signature.decode() - return signature \ No newline at end of file diff --git a/alpha/platforms/huobi_coin_future/restapi/rest_reference_sync.py b/alpha/platforms/huobi_coin_future/restapi/rest_reference_sync.py deleted file mode 100644 index b1322e2..0000000 --- a/alpha/platforms/huobi_coin_future/restapi/rest_reference_sync.py +++ /dev/null @@ -1,90 +0,0 @@ -import json - -from alpha.utils.http_utils import get - - -class RestReferenceCoinFuture: - def __init__(self, host=None): - if host is None: - host = "api.hbdm.com" - self.host = host - - def contract_risk_info(self, params: dict = None) -> json: - path = "/api/v1/contract_risk_info" - return get(self.host, path, params) - - def contract_insurance_fund(self, params: dict = None) -> json: - path = "/api/v1/contract_insurance_fund" - return get(self.host, path, params) - - def contract_adjustfactor(self, params: dict = None) -> json: - path = "/api/v1/contract_adjustfactor" - return get(self.host, path, params) - - def contract_his_open_interest(self, params: dict = None) -> json: - path = "/api/v1/contract_his_open_interest" - return get(self.host, path, params) - - def contract_ladder_margin(self, params: dict = None) -> json: - path = "/api/v1/contract_ladder_margin" - return get(self.host, path, params) - - def contract_elite_account_ratio(self, params: dict = None) -> json: - path = "/api/v1/contract_elite_account_ratio" - return get(self.host, path, params) - - def contract_elite_position_ratio(self, params: dict = None) -> json: - path = "/api/v1/contract_elite_position_ratio" - return get(self.host, path, params) - - def contract_liquidation_orders(self, params: dict = None) -> json: - path = "/api/v3/contract_liquidation_orders" - return get(self.host, path, params) - - def contract_settlement_records(self, params: dict = None) -> json: - path = "/api/v1/contract_settlement_records" - return get(self.host, path, params) - - def contract_price_limit(self, params: dict = None) -> json: - path = "/api/v1/contract_price_limit" - return get(self.host, path, params) - - def contract_open_interest(self, params: dict = None) -> json: - path = "/api/v1/contract_open_interest" - return get(self.host, path, params) - - def contract_delivery_price(self, params: dict = None) -> json: - path = "/api/v1/contract_delivery_price" - return get(self.host, path, params) - - def contract_estimated_settlement_price(self, params: dict = None) -> json: - path = "/api/v1/contract_estimated_settlement_price" - return get(self.host, path, params) - - def contract_api_state(self, params: dict = None) -> json: - path = "/api/v1/contract_api_state" - return get(self.host, path, params) - - def contract_contract_info(self, params: dict = None) -> json: - path = "/api/v1/contract_contract_info" - return get(self.host, path, params) - - def contract_query_elements(self, params: dict = None) -> json: - path = "/api/v1/contract_query_elements" - return get(self.host, path, params) - - def timestamp(self, params: dict = None) -> json: - path = "/api/v1/timestamp" - return get(self.host, path, params) - - def heartbeat(self, params: dict = None) -> json: - path = "/heartbeat/" - return get(self.host, path, params) - - def summary(self, params: dict = None) -> json: - path = "https://status-dm.huobigroup.com/api/v2/summary.json" - return get(self.host, path, params) - - def contract_index(self, params: dict = None) -> json: - path = "/api/v1/contract_index" - return get(self.host, path, params) diff --git a/alpha/platforms/huobi_coin_future/restapi/rest_strategy_coin_future.py b/alpha/platforms/huobi_coin_future/restapi/rest_strategy_coin_future.py deleted file mode 100644 index 4f6296b..0000000 --- a/alpha/platforms/huobi_coin_future/restapi/rest_strategy_coin_future.py +++ /dev/null @@ -1,482 +0,0 @@ -# -*- coding:utf-8 -*- - -""" -Huobi USDT Swap Api Module. - -Author: QiaoXiaofeng -Date: 2020/09/10 -Email: andyjoe318@gmail.com -""" - -import gzip -import json -import copy -import hmac -import base64 -import urllib -import hashlib -import datetime -import time -from urllib.parse import urljoin -from alpha.utils.request import AsyncHttpRequests -from alpha.const import USER_AGENT - -__all__ = ("HuobiCoinFutureRestStrategyAPI",) - - -class HuobiCoinFutureRestStrategyAPI: - """ Huobi USDT Swap REST API Client. - - Attributes: - host: HTTP request host. - access_key: Account's ACCESS KEY. - secret_key: Account's SECRET KEY. - passphrase: API KEY Passphrase. - """ - - def __init__(self, host, access_key, secret_key): - """ initialize REST API client. """ - self._host = host - self._access_key = access_key - self._secret_key = secret_key - - async def create_trigger_order(self, trigger_type, trigger_price, order_price, volume, direction, offset, - lever_rate, - symbol=None, contract_type=None, contract_code=None, order_price_type=None): - """ Create trigger order - - Args: - symbol: symbol,such as BTC. - contract_type: contract type,such as this_week,next_week,quarter - contract_code: contract code,such as BTC190903. If filled,the above symbol and contract_type will be ignored. - trigger_type: trigger type,such as ge,le. - trigger_price: trigger price. - order_price: order price. - order_price_type: "limit" by default."optimal_5"\"optimal_10"\"optimal_20" - volume: volume. - direction: "buy" or "sell". - offset: "open" or "close". - lever_rate: lever rate. - - Returns: - refer to https://huobiapi.github.io/docs/dm/v1/cn/#97a9bd626d - - """ - uri = "/api/v1/contract_trigger_order" - body = { - "trigger_type": trigger_type, - "trigger_price": trigger_price, - "order_price": order_price, - "volume": volume, - "direction": direction, - "offset": offset, - "lever_rate": lever_rate - } - if contract_code: - body.update({"contract_code": contract_code}) - if contract_code: - body.update({"symbol": symbol}) - if contract_code: - body.update({"contract_type": contract_type}) - if order_price_type: - body.update({"order_price_type": order_price_type}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def revoke_trigger_order(self, symbol, order_id): - """ Revoke trigger order - - Args: - symbol: symbol,such as "BTC". - order_id: order ids.multiple orders need to be joined by ','. - - Returns: - refer to https://huobiapi.github.io/docs/dm/v1/cn/#0d42beab34 - - """ - uri = "/api/v1/contract_trigger_cancel" - body = { - "symbol": symbol, - "order_id": order_id - } - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def revoke_all_trigger_orders(self, symbol, contract_code=None, contract_type=None, direction=None, - offset=None): - """ Revoke all trigger orders - - Args: - symbol: symbol, such as "BTC" - contract_code: contract_code, such as BTC180914. - contract_type: contract_type, such as this_week, next_week, quarter. - - Returns: - refer to https://huobiapi.github.io/docs/dm/v1/cn/#3d2471d520 - - """ - uri = "/api/v1/contract_trigger_cancelall" - body = { - "symbol": symbol - } - if contract_code: - body.update({"contract_code": contract_code}) - if contract_type: - body.update({"contract_type": contract_type}) - if direction: - body.update({"direction": direction}) - if offset: - body.update({"offset": offset}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_trigger_openorders(self, symbol, contract_code=None, page_index=None, page_size=None, - trade_type=None): - """ Get trigger openorders - Args: - symbol: symbol, such as "BTC" - contract_code: contract code, such as BTC180914. - page_index: page index.1 by default. - page_size: page size.20 by default. - - Returns: - refer to https://huobiapi.github.io/docs/dm/v1/cn/#b5280a27b3 - """ - - uri = "/api/v1/contract_trigger_openorders" - body = { - "symbol": symbol, - } - if contract_code: - body.update({"contract_code": contract_code}) - if page_index: - body.update({"page_index": page_index}) - if page_size: - body.update({"page_size": page_size}) - if trade_type: - body.update({"trade_type": trade_type}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_trigger_hisorders(self, symbol, trade_type, status, create_date, contract_code=None, page_index=None, - page_size=None, sort_by=None): - """ Get trigger hisorders - - Args: - symbol: symbol,such as "BTC" - contract_code: contract code. - trade_type: trade type. 0:all 1:open buy 2:open sell 3:close buy 4:close sell - status: status. 0: orders finished. 4: orders submitted. 5: order filled. 6:order cancelled. multiple status is joined by ',' - create_date: days. such as 1-90. - page_index: 1 by default. - page_size: 20 by default.50 at most. - - Returns: - https://huobiapi.github.io/docs/dm/v1/cn/#37aeb9f3bd - - """ - - uri = "/api/v1/contract_trigger_hisorders" - body = { - "symbol": symbol, - "trade_type": trade_type, - "status": status, - "create_date": create_date, - } - if contract_code: - body.update({"contract_code": contract_code}) - if page_index: - body.update({"page_index": page_index}) - if page_size: - body.update({"page_size": page_size}) - if sort_by: - body.update({"sort_by": sort_by}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_contract_tpsl_order(self, direction, volume, symbol=None, contract_type=None, contract_code=None, - tp_trigger_price=None, tp_order_price=None, tp_order_price_type=None, - sl_trigger_price=None, sl_order_price=None, sl_order_price_type=None): - - uri = "/api/v1/contract_tpsl_order" - body = { - "direction": direction, - "volume": volume - } - - if symbol: - body.update({"symbol": symbol}) - if contract_type: - body.update({"contract_type": contract_type}) - if contract_code: - body.update({"contract_code": contract_code}) - if tp_trigger_price: - body.update({"tp_trigger_price": tp_trigger_price}) - if tp_order_price: - body.update({"tp_order_price": tp_order_price}) - if tp_order_price_type: - body.update({"tp_order_price_type": tp_order_price_type}) - if sl_trigger_price: - body.update({"sl_trigger_price": sl_trigger_price}) - if sl_order_price: - body.update({"sl_order_price": sl_order_price}) - if sl_order_price_type: - body.update({"sl_order_price_type": sl_order_price_type}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def contract_tpsl_cancel(self, symbol, order_id): - - uri = "/api/v1/contract_tpsl_cancel" - body = { - "symbol": symbol, - "order_id": order_id - } - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def contract_tpsl_cancelall(self, symbol=None, contract_code=None, contract_type=None, direction=None): - - uri = "/api/v1/contract_tpsl_cancelall" - body = { - - } - - if symbol: - body.update({"symbol": symbol}) - if contract_code: - body.update({"contract_code": contract_code}) - if contract_type: - body.update({"contract_type": contract_type}) - if direction: - body.update({"direction": direction}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_contract_tpsl_openorders(self, symbol, contract_code=None, page_index=None, page_size=None, trade_type=None): - - uri = "/api/v1/contract_tpsl_openorders" - body = { - "symbol": symbol - } - - if contract_code: - body.update({"contract_code": contract_code}) - if page_index: - body.update({"page_index": page_index}) - if page_size: - body.update({"page_size": page_size}) - if trade_type: - body.update({"trade_type": trade_type}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_contract_tpsl_hisorders(self, symbol, status, create_date, contract_code=None, page_index=None, - page_size=None, sort_by=None): - - uri = "/api/v1/contract_tpsl_hisorders" - body = { - "symbol": symbol, - "status": status, - "create_date": create_date - } - - if contract_code: - body.update({"contract_code": contract_code}) - if page_index: - body.update({"page_index": page_index}) - if page_size: - body.update({"page_size": page_size}) - if sort_by: - body.update({"sort_by": sort_by}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_contract_relation_tpsl_order(self, symbol, order_id): - - uri = "/api/v1/contract_relation_tpsl_order" - body = { - "symbol": symbol, - "order_id": order_id - } - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def contract_track_order(self, direction, offset, volume, callback_rate, active_price, order_price_type, - symbol=None, contract_type=None, contract_code=None, lever_rate=None): - - uri = "/api/v1/contract_track_order" - body = { - "direction": direction, - "offset": offset, - "volume": volume, - "callback_rate": callback_rate, - "active_price": active_price, - "order_price_type": order_price_type - } - - if symbol: - body.update({"symbol": symbol}) - if contract_type: - body.update({"contract_type": contract_type}) - if contract_code: - body.update({"contract_code": contract_code}) - if lever_rate: - body.update({"lever_rate": lever_rate}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def contract_track_cancel(self, symbol, order_id): - - uri = "/api/v1/contract_track_cancel" - body = { - "symbol": symbol, - "order_id": order_id - } - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def contract_track_cancelall(self, symbol, contract_code=None, contract_type=None, direction=None, offset =None): - - uri = "/api/v1/contract_track_cancelall" - body = { - "symbol": symbol - } - - if symbol: - body.update({"symbol": symbol}) - if contract_code: - body.update({"contract_code": contract_code}) - if contract_type: - body.update({"contract_type": contract_type}) - if direction: - body.update({"direction": direction}) - if offset: - body.update({"offset": offset}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def contract_track_openorders(self, symbol,contract_code=None, trade_type=None, page_index=None, page_size=None): - - uri = "/api/v1/contract_track_openorders" - body = { - "symbol": symbol - } - - if contract_code: - body.update({"contract_code": contract_code}) - if trade_type: - body.update({"trade_type": trade_type}) - if page_index: - body.update({"page_index": page_index}) - if page_size: - body.update({"page_size": page_size}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def contract_track_hisorders(self, symbol, status, trade_type, create_date, contract_code=None, - page_index=None, page_size=None, sort_by=None): - - uri = "/api/v1/contract_track_hisorders" - body = { - "symbol": symbol, - "status": status, - "trade_type": trade_type, - "create_date": create_date - } - - if contract_code: - body.update({"contract_code": contract_code}) - if page_index: - body.update({"page_index": page_index}) - if page_size: - body.update({"page_size": page_size}) - if sort_by: - body.update({"sort_by": sort_by}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def request(self, method, uri, params=None, body=None, headers=None, auth=False): - """ Do HTTP request. - - Args: - method: HTTP request method. `GET` / `POST` / `DELETE` / `PUT`. - uri: HTTP request uri. - params: HTTP query params. - body: HTTP request body. - headers: HTTP request headers. - auth: If this request requires authentication. - - Returns: - success: Success results, otherwise it's None. - error: Error information, otherwise it's None. - """ - if uri.startswith("http://") or uri.startswith("https://"): - url = uri - else: - url = self._host + uri - - if auth: - timestamp = datetime.datetime.utcnow().strftime("%Y-%m-%dT%H:%M:%S") - params = params if params else {} - params.update({"AccessKeyId": self._access_key, - "SignatureMethod": "HmacSHA256", - "SignatureVersion": "2", - "Timestamp": timestamp}) - - params["Signature"] = self.generate_signature(method, params, uri) - - if not headers: - headers = {} - if method == "GET": - headers["Content-type"] = "application/x-www-form-urlencoded" - headers["User-Agent"] = USER_AGENT - _, success, error = await AsyncHttpRequests.fetch("GET", url, params=params, headers=headers, timeout=10) - else: - headers["Accept"] = "application/json" - headers["Content-type"] = "application/json" - headers["User-Agent"] = USER_AGENT - _, success, error = await AsyncHttpRequests.fetch("POST", url, params=params, data=body, headers=headers, - timeout=10) - if error: - return None, error - if not isinstance(success, dict): - result = json.loads(success) - else: - result = success - if result.get("status") != "ok": - return None, result - return result, None - - def generate_signature(self, method, params, request_path): - if request_path.startswith("http://") or request_path.startswith("https://"): - host_url = urllib.parse.urlparse(request_path).hostname.lower() - request_path = '/' + '/'.join(request_path.split('/')[3:]) - else: - host_url = urllib.parse.urlparse(self._host).hostname.lower() - sorted_params = sorted(params.items(), key=lambda d: d[0], reverse=False) - encode_params = urllib.parse.urlencode(sorted_params) - payload = [method, host_url, request_path, encode_params] - payload = "\n".join(payload) - payload = payload.encode(encoding="UTF8") - secret_key = self._secret_key.encode(encoding="utf8") - digest = hmac.new(secret_key, payload, digestmod=hashlib.sha256).digest() - signature = base64.b64encode(digest) - signature = signature.decode() - return signature \ No newline at end of file diff --git a/alpha/platforms/huobi_coin_future/restapi/rest_strategy_sync.py b/alpha/platforms/huobi_coin_future/restapi/rest_strategy_sync.py deleted file mode 100644 index ed0d93a..0000000 --- a/alpha/platforms/huobi_coin_future/restapi/rest_strategy_sync.py +++ /dev/null @@ -1,76 +0,0 @@ -import json - -from alpha.utils.http_utils import post - - -class RestStrategyCoinFuture: - def __init__(self, access_key: str, secret_key: str, host: str = None): - self.access_key = access_key - self.secret_key = secret_key - if host is None: - host = "api.hbdm.com" - self.host = host - - def contract_trigger_order(self, data: dict = None) -> json: - path = "/api/v1/contract_trigger_order" - return post(self.access_key, self.secret_key, self.host, path, data) - - def contract_trigger_cancel(self, data: dict = None) -> json: - path = "/api/v1/contract_trigger_cancel" - return post(self.access_key, self.secret_key, self.host, path, data) - - def contract_trigger_cancelall(self, data: dict = None) -> json: - path = "/api/v1/contract_trigger_cancelall" - return post(self.access_key, self.secret_key, self.host, path, data) - - def contract_trigger_openorders(self, data: dict = None) -> json: - path = "/api/v1/contract_trigger_openorders" - return post(self.access_key, self.secret_key, self.host, path, data) - - def contract_trigger_hisorders(self, data: dict = None) -> json: - path = "/api/v1/contract_trigger_hisorders" - return post(self.access_key, self.secret_key, self.host, path, data) - - def contract_tpsl_order(self, data: dict = None) -> json: - path = "/api/v1/contract_tpsl_order" - return post(self.access_key, self.secret_key, self.host, path, data) - - def contract_tpsl_cancel(self, data: dict = None) -> json: - path = "/api/v1/contract_tpsl_cancel" - return post(self.access_key, self.secret_key, self.host, path, data) - - def contract_tpsl_cancelall(self, data: dict = None) -> json: - path = "/api/v1/contract_tpsl_cancelall" - return post(self.access_key, self.secret_key, self.host, path, data) - - def contract_tpsl_openorders(self, data: dict = None) -> json: - path = "/api/v1/contract_tpsl_openorders" - return post(self.access_key, self.secret_key, self.host, path, data) - - def contract_tpsl_hisorders(self, data: dict = None) -> json: - path = "/api/v1/contract_tpsl_hisorders" - return post(self.access_key, self.secret_key, self.host, path, data) - - def contract_relation_tpsl_order(self, data: dict = None) -> json: - path = "/api/v1/contract_relation_tpsl_order" - return post(self.access_key, self.secret_key, self.host, path, data) - - def contract_track_order(self, data: dict = None) -> json: - path = "/api/v1/contract_track_order" - return post(self.access_key, self.secret_key, self.host, path, data) - - def contract_track_cancel(self, data: dict = None) -> json: - path = "/api/v1/contract_track_cancel" - return post(self.access_key, self.secret_key, self.host, path, data) - - def contract_track_cancelall(self, data: dict = None) -> json: - path = "/api/v1/contract_track_cancelall" - return post(self.access_key, self.secret_key, self.host, path, data) - - def contract_track_openorders(self, data: dict = None) -> json: - path = "/api/v1/contract_track_openorders" - return post(self.access_key, self.secret_key, self.host, path, data) - - def contract_track_hisorders(self, data: dict = None) -> json: - path = "/api/v1/contract_track_hisorders" - return post(self.access_key, self.secret_key, self.host, path, data) diff --git a/alpha/platforms/huobi_coin_future/restapi/rest_trade_coin_future.py b/alpha/platforms/huobi_coin_future/restapi/rest_trade_coin_future.py deleted file mode 100644 index 600ef81..0000000 --- a/alpha/platforms/huobi_coin_future/restapi/rest_trade_coin_future.py +++ /dev/null @@ -1,490 +0,0 @@ -# -*- coding:utf-8 -*- - -""" -Huobi USDT Swap Api Module. - -Author: QiaoXiaofeng -Date: 2020/09/10 -Email: andyjoe318@gmail.com -""" - -import gzip -import json -import copy -import hmac -import base64 -import urllib -import hashlib -import datetime -import time -from urllib.parse import urljoin -from alpha.utils.request import AsyncHttpRequests -from alpha.const import USER_AGENT - -__all__ = ("HuobiCoinFutureRestTradeAPI",) - - -class HuobiCoinFutureRestTradeAPI: - """ Huobi USDT Swap REST API Client. - - Attributes: - host: HTTP request host. - access_key: Account's ACCESS KEY. - secret_key: Account's SECRET KEY. - passphrase: API KEY Passphrase. - """ - - def __init__(self, host, access_key, secret_key): - """ initialize REST API client. """ - self._host = host - self._access_key = access_key - self._secret_key = secret_key - - async def contract_cancel_after(self, on_off, time_out=None): - - uri = "/api/v1/contract-cancel-after" - body = { - "on_off": on_off - } - - if time_out: - body.update({"time_out": time_out}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def contract_order(self, volume, direction, offset, lever_rate, order_price_type, symbol=None, - contract_type=None, contract_code=None, client_order_id=None, price=None, - tp_trigger_price=None, tp_order_price=None, tp_order_price_type=None, sl_trigger_price=None, - sl_order_price=None, sl_order_price_type=None): - - uri = "/api/v1/contract_order" - body = { - "volume": volume, - "direction": direction, - "offset": offset, - "lever_rate": lever_rate, - "order_price_type": order_price_type - } - - if symbol: - body.update({"symbol": symbol}) - if contract_type: - body.update({"contract_type": contract_type}) - if contract_code: - body.update({"contract_code": contract_code}) - if client_order_id: - body.update({"client_order_id": client_order_id}) - if price: - body.update({"price": price}) - if tp_trigger_price: - body.update({"tp_trigger_price": tp_trigger_price}) - if tp_order_price: - body.update({"tp_order_price": tp_order_price}) - if tp_order_price_type: - body.update({"tp_order_price_type": tp_order_price_type}) - if sl_trigger_price: - body.update({"sl_trigger_price": sl_trigger_price}) - if sl_order_price: - body.update({"time_osl_order_priceut": sl_order_price}) - if sl_order_price_type: - body.update({"sl_order_price_type": sl_order_price_type}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def create_orders(self, orders_data): - """ Batch Create orders. - { - "orders_data": [ - { - "symbol“:"BTC", - "contract_type":"this_week", - "contract_code": "bch210326", - "client_order_id":1, - "direction": "buy", - "offset": "open", - "price": 360, - "lever_rate": 75, - "volume": 1, - "order_price_type": "opponent", - "tp_trigger_price": 450, - "tp_order_price": 450, - "tp_order_price_type": "optimal_5", - "sl_trigger_price": 330, - "sl_order_price": 330, - "sl_order_price_type": "optimal_5" - }, - { - "symbol“:"BTC", - "contract_type":"this_week", - "contract_code": "bch210326", - "client_order_id":1, - "direction": "buy", - "offset": "open", - "price": 360, - "lever_rate": 75, - "volume": 1, - "order_price_type": "post_only", - "tp_trigger_price": 450, - "tp_order_price": 450, - "tp_order_price_type": "optimal_5", - "sl_trigger_price": 330, - "sl_order_price": 330, - "sl_order_price_type": "optimal_5" - } - ] - } - """ - uri = "/api/v1/contract_batchorder" - body = orders_data - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def revoke_order(self, symbol, order_id=None, client_order_id=None): - """ Revoke an order. - - Args: - symbol: Currency name, e.g. BTC. - order_id: Order ID. - client_order_id: Custom Order ID. - - Returns: - success: Success results, otherwise it's None. - error: Error information, otherwise it's None. - """ - uri = "/api/v1/contract_cancel" - body = { - "symbol": symbol - } - if order_id: - body["order_id"] = order_id - if client_order_id: - body["client_order_id"] = client_order_id - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def revoke_orders(self, symbol, order_ids=None, client_order_ids=None): - """ Revoke multiple orders. - - Args: - symbol: Currency name, e.g. BTC. - order_ids: Order ID list. - client_order_ids: Client Order Ids. - - Returns: - success: Success results, otherwise it's None. - error: Error information, otherwise it's None. - """ - uri = "/api/v1/contract_cancel" - body = { - "symbol": symbol - } - if order_ids: - body["order_id"] = ",".join(order_ids) - if client_order_ids: - body["client_order_id"] = ",".join(client_order_ids) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def revoke_order_all(self, symbol, contract_code=None, contract_type=None, direction=None, offset=None): - """ Revoke all orders. - - Args: - symbol: Currency name, e.g. BTC. - contract_type: Contract type, `this_week` / `next_week` / `quarter`, default `None` will return all types. - contract_code: Contract code, e.g. BTC180914. - - Returns: - success: Success results, otherwise it's None. - error: Error information, otherwise it's None. - - * NOTE: 1. If input `contract_code`, only matching this contract code. - 2. If not input `contract_code`, matching by `symbol + contract_type`. - """ - uri = "/api/v1/contract_cancelall" - body = { - "symbol": symbol, - } - if contract_code: - body["contract_code"] = contract_code - if contract_type: - body["contract_type"] = contract_type - if direction: - body["direction"] = direction - if offset: - body["offset"] = offset - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def contract_switch_lever_rate(self, symbol, lever_rate): - - uri = "/api/v1/contract_switch_lever_rate" - body = { - "symbol": symbol, - "lever_rate": lever_rate - } - - async def get_order_info(self, symbol, order_ids=[], client_order_ids=[]): - """ Get order information. - - Args: - order_ids: Order ID list. (different IDs are separated by ",", maximum 20 orders can be requested at one time.) - client_order_ids: Client Order ID list. (different IDs are separated by ",", maximum 20 orders can be requested at one time.) - - Returns: - success: Success results, otherwise it's None. - error: Error information, otherwise it's None. - """ - uri = "/api/v1/contract_order_info" - body = { - "symbol": symbol - } - - if order_ids: - body.update({"order_id": ",".join(order_ids)}) - if client_order_ids: - body.update({"client_order_id": ",".join(client_order_ids)}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_contract_order_detail(self, symbol, order_id, created_at=None, order_type=None, page_index=None, page_size=None): - - uri = "/api/v1/contract_order_detail" - body = { - "symbol": symbol, - "order_id": order_id - } - - if created_at: - body.update({"created_at": created_at}) - if order_type: - body.update({"order_type": order_type}) - if page_index: - body.update({"page_index": page_index}) - if page_size: - body.update({"page_size": page_size}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_open_orders(self, symbol, index=1, size=50, sort_by='created_at', trade_type=0): - """ Get open order information. - - Args: - symbol: Currency name, e.g. BTC. - index: Page index, default 1st page. - size: Page size, Default 20,no more than 50. - - Returns: - success: Success results, otherwise it's None. - error: Error information, otherwise it's None. - """ - uri = "/api/v1/contract_openorders" - body = { - "symbol": symbol, - "page_index": index, - "page_size": size, - "sort_by": sort_by, - "trade_type": trade_type - } - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_contract_hisorders(self, symbol, trade_type, type, status, contract=None, order_type=None, sort_by=None, - start_time=None, end_time=None, direct=None, from_id=None): - - uri = "/api/v3/contract_hisorders" - body = { - "symbol": symbol, - "trade_type": trade_type, - "type": type, - "status": status - } - - if symbol: - body.update({"symbol": symbol}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_contract_hisorders_exact(self, symbol, trade_type, type, status, contract=None, order_type=None, - start_time=None, end_time=None, direct=None, from_id=None): - - uri = "/api/v3/contract_hisorders_exact" - body = { - "symbol": symbol, - "trade_type": trade_type, - "type": type, - "status": status - } - - if contract: - body.update({"contract": contract}) - if order_type: - body.update({"order_type": order_type}) - if start_time: - body.update({"start_time": start_time}) - if end_time: - body.update({"end_time": end_time}) - if direct: - body.update({"direct": direct}) - if from_id: - body.update({"from_id": from_id}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_contract_matchresults(self, symbol, trade_type, start_time=None, end_time=None, direct=None, from_id=None): - - uri = "/api/v3/contract_matchresults" - body = { - "symbol": symbol, - "trade_type": trade_type - } - - if start_time: - body.update({"start_time": start_time}) - if end_time: - body.update({"end_time": end_time}) - if direct: - body.update({"direct": direct}) - if from_id: - body.update({"from_id": from_id}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_contract_matchresults_exact(self, symbol, contract, trade_type, start_time=None, end_time=None, direct=None, from_id=None): - - uri = "/api/v3/contract_matchresults_exact" - body = { - "symbol": symbol, - "contract": contract, - "trade_type": trade_type - } - - if start_time: - body.update({"start_time": start_time}) - if end_time: - body.update({"end_time": end_time}) - if direct: - body.update({"direct": direct}) - if from_id: - body.update({"from_id": from_id}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def lightning_close_position(self, symbol, contract_type, contract_code, volume, direction, client_order_id, \ - order_price_type): - """ Close position. - - Args: - symbol: string. eg: 'BTC' - contract_type: string. eg: 'this_week'\'next_week'\'quarter' - contract_code: string. eg: 'BTC190903' - volume: int. eg: 1 - direction: string. eg: 'buy' or 'sell' - client_order_id: int. eg: 11 - order_price_type: string. eg: "lightning"\"lightning_fok"\"lightning_ioc" - - Returns: - https://docs.huobigroup.com/docs/dm/v1/cn/#669c2a2e3d - - """ - uri = "/api/v1/lightning_close_position" - body = { - "volume": volume, - "direction": direction, - } - - if symbol: - body.update({"symbol": symbol}) - - if contract_type: - body.update({"contract_type": contract_type}) - - if contract_code: - body.update({"contract_code": contract_code}) - - if client_order_id: - body.update({"client_order_id": client_order_id}) - - if order_price_type: - body.update({"order_price_type": order_price_type}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def request(self, method, uri, params=None, body=None, headers=None, auth=False): - """ Do HTTP request. - - Args: - method: HTTP request method. `GET` / `POST` / `DELETE` / `PUT`. - uri: HTTP request uri. - params: HTTP query params. - body: HTTP request body. - headers: HTTP request headers. - auth: If this request requires authentication. - - Returns: - success: Success results, otherwise it's None. - error: Error information, otherwise it's None. - """ - if uri.startswith("http://") or uri.startswith("https://"): - url = uri - else: - url = self._host + uri - - if auth: - timestamp = datetime.datetime.utcnow().strftime("%Y-%m-%dT%H:%M:%S") - params = params if params else {} - params.update({"AccessKeyId": self._access_key, - "SignatureMethod": "HmacSHA256", - "SignatureVersion": "2", - "Timestamp": timestamp}) - - params["Signature"] = self.generate_signature(method, params, uri) - - if not headers: - headers = {} - if method == "GET": - headers["Content-type"] = "application/x-www-form-urlencoded" - headers["User-Agent"] = USER_AGENT - _, success, error = await AsyncHttpRequests.fetch("GET", url, params=params, headers=headers, timeout=10) - else: - headers["Accept"] = "application/json" - headers["Content-type"] = "application/json" - headers["User-Agent"] = USER_AGENT - _, success, error = await AsyncHttpRequests.fetch("POST", url, params=params, data=body, headers=headers, - timeout=10) - if error: - return None, error - if not isinstance(success, dict): - result = json.loads(success) - else: - result = success - if result.get("status") != "ok": - return None, result - return result, None - - def generate_signature(self, method, params, request_path): - if request_path.startswith("http://") or request_path.startswith("https://"): - host_url = urllib.parse.urlparse(request_path).hostname.lower() - request_path = '/' + '/'.join(request_path.split('/')[3:]) - else: - host_url = urllib.parse.urlparse(self._host).hostname.lower() - sorted_params = sorted(params.items(), key=lambda d: d[0], reverse=False) - encode_params = urllib.parse.urlencode(sorted_params) - payload = [method, host_url, request_path, encode_params] - payload = "\n".join(payload) - payload = payload.encode(encoding="UTF8") - secret_key = self._secret_key.encode(encoding="utf8") - digest = hmac.new(secret_key, payload, digestmod=hashlib.sha256).digest() - signature = base64.b64encode(digest) - signature = signature.decode() - return signature \ No newline at end of file diff --git a/alpha/platforms/huobi_coin_future/restapi/rest_trade_sync.py b/alpha/platforms/huobi_coin_future/restapi/rest_trade_sync.py deleted file mode 100644 index de5a294..0000000 --- a/alpha/platforms/huobi_coin_future/restapi/rest_trade_sync.py +++ /dev/null @@ -1,68 +0,0 @@ -import json - -from alpha.utils.http_utils import post - - -class RestTradeCoinFuture: - def __init__(self, access_key: str, secret_key: str, host: str = None): - self.access_key = access_key - self.secret_key = secret_key - if host is None: - host = "api.hbdm.com" - self.host = host - - def contract_cancel_after(self, data: dict = None) -> json: - path = "/api/v1/contract-cancel-after" - return post(self.access_key, self.secret_key, self.host, path, data) - - def contract_order(self, data: dict = None) -> json: - path = "/api/v1/contract_order" - return post(self.access_key, self.secret_key, self.host, path, data) - - def contract_batchorder(self, data: dict = None) -> json: - path = "/api/v1/contract_batchorder" - return post(self.access_key, self.secret_key, self.host, path, data) - - def contract_cancel(self, data: dict = None) -> json: - path = "/api/v1/contract_cancel" - return post(self.access_key, self.secret_key, self.host, path, data) - - def contract_cancelall(self, data: dict = None) -> json: - path = "/api/v1/contract_cancelall" - return post(self.access_key, self.secret_key, self.host, path, data) - - def contract_switch_lever_rate(self, data: dict = None) -> json: - path = "/api/v1/contract_switch_lever_rate" - return post(self.access_key, self.secret_key, self.host, path, data) - - def contract_order_info(self, data: dict = None) -> json: - path = "/api/v1/contract_order_info" - return post(self.access_key, self.secret_key, self.host, path, data) - - def contract_order_detail(self, data: dict = None) -> json: - path = "/api/v1/contract_order_detail" - return post(self.access_key, self.secret_key, self.host, path, data) - - def contract_openorders(self, data: dict = None) -> json: - path = "/api/v1/contract_openorders" - return post(self.access_key, self.secret_key, self.host, path, data) - - def contract_hisorders(self, data: dict = None) -> json: - path = "/api/v3/contract_hisorders" - return post(self.access_key, self.secret_key, self.host, path, data) - - def contract_hisorders_exact(self, data: dict = None) -> json: - path = "/api/v3/contract_hisorders_exact" - return post(self.access_key, self.secret_key, self.host, path, data) - - def contract_matchresults(self, data: dict = None) -> json: - path = "/api/v3/contract_matchresults" - return post(self.access_key, self.secret_key, self.host, path, data) - - def contract_matchresults_exact(self, data: dict = None) -> json: - path = "/api/v3/contract_matchresults_exact" - return post(self.access_key, self.secret_key, self.host, path, data) - - def lightning_close_position(self, data: dict = None) -> json: - path = "/api/v1/lightning_close_position" - return post(self.access_key, self.secret_key, self.host, path, data) diff --git a/alpha/platforms/huobi_coin_future/restapi/rest_transfer_coin_future.py b/alpha/platforms/huobi_coin_future/restapi/rest_transfer_coin_future.py deleted file mode 100644 index 9d79978..0000000 --- a/alpha/platforms/huobi_coin_future/restapi/rest_transfer_coin_future.py +++ /dev/null @@ -1,143 +0,0 @@ -# -*- coding:utf-8 -*- - -""" -Huobi USDT Swap Api Module. - -Author: QiaoXiaofeng -Date: 2020/09/10 -Email: andyjoe318@gmail.com -""" - -import gzip -import json -import copy -import hmac -import base64 -import urllib -import hashlib -import datetime -import time -from urllib.parse import urljoin -from alpha.utils.request import AsyncHttpRequests -from alpha.const import USER_AGENT - -__all__ = ("HuobiCoinFutureRestTransferAPI",) - - -class HuobiCoinFutureRestTransferAPI: - """ Huobi USDT Swap REST API Client. - - Attributes: - host: HTTP request host. - access_key: Account's ACCESS KEY. - secret_key: Account's SECRET KEY. - passphrase: API KEY Passphrase. - """ - - def __init__(self, host, access_key, secret_key): - """ initialize REST API client. """ - self._host = host - self._access_key = access_key - self._secret_key = secret_key - - async def transfer_between_spot_future(self, symbol, amount, type_s): - """ Do transfer between spot and future. - Args: - symbol: currency,such as btc,eth,etc. - amount: transfer amount.pls note the precision digit is 8. - type_s: "pro-to-futures","futures-to-pro" - - """ - body = { - "currency": symbol, - "amount": amount, - "type": type_s - } - - uri = 'https://api.huobi.pro/v1/futures/transfer' - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def account_transfer(self, from_, to, currency, amount, margin_account): - - uri = "https://api.huobi.pro/v2/account/transfer" - body = { - "from": from_, - "to": to, - "currency": currency, - "amount": amount, - "margin-account": margin_account - } - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def request(self, method, uri, params=None, body=None, headers=None, auth=False): - """ Do HTTP request. - - Args: - method: HTTP request method. `GET` / `POST` / `DELETE` / `PUT`. - uri: HTTP request uri. - params: HTTP query params. - body: HTTP request body. - headers: HTTP request headers. - auth: If this request requires authentication. - - Returns: - success: Success results, otherwise it's None. - error: Error information, otherwise it's None. - """ - if uri.startswith("http://") or uri.startswith("https://"): - url = uri - else: - url = self._host + uri - - if auth: - timestamp = datetime.datetime.utcnow().strftime("%Y-%m-%dT%H:%M:%S") - params = params if params else {} - params.update({"AccessKeyId": self._access_key, - "SignatureMethod": "HmacSHA256", - "SignatureVersion": "2", - "Timestamp": timestamp}) - - params["Signature"] = self.generate_signature(method, params, uri) - - if not headers: - headers = {} - if method == "GET": - headers["Content-type"] = "application/x-www-form-urlencoded" - headers["User-Agent"] = USER_AGENT - _, success, error = await AsyncHttpRequests.fetch("GET", url, params=params, headers=headers, timeout=10) - else: - headers["Accept"] = "application/json" - headers["Content-type"] = "application/json" - headers["User-Agent"] = USER_AGENT - _, success, error = await AsyncHttpRequests.fetch("POST", url, params=params, data=body, headers=headers, - timeout=10) - if error: - return None, error - if not isinstance(success, dict): - result = json.loads(success) - else: - result = success - if result.get("status") != "ok": - return None, result - return result, None - - def generate_signature(self, method, params, request_path): - if request_path.startswith("http://") or request_path.startswith("https://"): - host_url = urllib.parse.urlparse(request_path).hostname.lower() - request_path = '/' + '/'.join(request_path.split('/')[3:]) - else: - host_url = urllib.parse.urlparse(self._host).hostname.lower() - sorted_params = sorted(params.items(), key=lambda d: d[0], reverse=False) - encode_params = urllib.parse.urlencode(sorted_params) - payload = [method, host_url, request_path, encode_params] - payload = "\n".join(payload) - payload = payload.encode(encoding="UTF8") - secret_key = self._secret_key.encode(encoding="utf8") - digest = hmac.new(secret_key, payload, digestmod=hashlib.sha256).digest() - signature = base64.b64encode(digest) - signature = signature.decode() - return signature \ No newline at end of file diff --git a/alpha/platforms/huobi_coin_future/restapi/rest_transfer_sync.py b/alpha/platforms/huobi_coin_future/restapi/rest_transfer_sync.py deleted file mode 100644 index cf30def..0000000 --- a/alpha/platforms/huobi_coin_future/restapi/rest_transfer_sync.py +++ /dev/null @@ -1,20 +0,0 @@ -import json - -from alpha.utils.http_utils import post - - -class RestTransferCoinFuture: - def __init__(self, access_key: str, secret_key: str, host: str = None): - self.access_key = access_key - self.secret_key = secret_key - if host is None: - host = "api.huobi.pro" - self.host = host - - def futures_transfer(self, data: dict = None) -> json: - path = "/v1/futures/transfer" - return post(self.access_key, self.secret_key, self.host, path, data) - - def account_transfer(self, data: dict = None) -> json: - path = "/v2/account/transfer" - return post(self.access_key, self.secret_key, self.host, path, data) diff --git a/alpha/platforms/huobi_coin_future/websocket/huobi_future_market.py b/alpha/platforms/huobi_coin_future/websocket/huobi_future_market.py deleted file mode 100644 index 316ae08..0000000 --- a/alpha/platforms/huobi_coin_future/websocket/huobi_future_market.py +++ /dev/null @@ -1,428 +0,0 @@ -# -*— coding:utf-8 -*- - -""" -Huobi Future Market Server. - -Author: Qiaoxiaofeng -Date: 2020/01/10 -Email: andyjoe318@gmail.com -""" - -import gzip -import json -import time -import asyncio -import copy -from collections import deque - -from alpha.bbo import Bbo -from alpha.depth import Depth -from alpha.detail import Detail -from alpha.utils import logger -from alpha.utils.websocket import Websocket -from alpha.utils.decorator import async_method_locker -from alpha.const import MARKET_TYPE_KLINE -from alpha.order import ORDER_ACTION_BUY, ORDER_ACTION_SELL -from alpha.tasks import SingleTask -from alpha.orderbook import Orderbook -from alpha.markettrade import Trade -from alpha.kline import Kline - -class HuobiFutureMarket(Websocket): - """ Huobi Swap Market Server. - - Attributes: - kwargs: - platform: Exchange platform name, must be `huobi_future`. - wss: Exchange Websocket host address. - symbols: Trade pair list, e.g. ["BTC-CQ"]. - channels: channel list, only `orderbook`, `kline` ,`trade` , 'depth', 'detail', and 'bbo' to be enabled. - orderbook_length: The length of orderbook's data to be published via OrderbookEvent, default is 10. - """ - - def __init__(self, **kwargs): - self._platform = kwargs["platform"] - self._wss = kwargs.get("wss", "wss://www.hbdm.com") - self._symbols = list(set(kwargs.get("symbols"))) - self._channels = kwargs.get("channels") - self._orderbook_length = kwargs.get("orderbook_length", 10) - self._orderbooks_length = kwargs.get("orderbooks_length", 100) - self._klines_length = kwargs.get("klines_length", 100) - self._trades_length = kwargs.get("trades_length", 100) - self._depth_length = kwargs.get("depth_length", 100) - self._detail_length = kwargs.get("detail_length", 100) - self._bbo_length = kwargs.get("bbo_length", 100) - self._orderbook_update_callback = kwargs.get("orderbook_update_callback") - self._kline_update_callback = kwargs.get("kline_update_callback") - self._trade_update_callback = kwargs.get("trade_update_callback") - self._depth_update_callback = kwargs.get("depth_update_callback") - self._detail_update_callback = kwargs.get("detail_update_callback") - self._bbo_update_callback = kwargs.get("bbo_update_callback") - - self._c_to_s = {} # {"channel": "symbol"} - self._orderbooks = deque(maxlen=self._orderbooks_length) - self._klines = deque(maxlen=self._klines_length) - self._trades = deque(maxlen=self._trades_length) - self._depths = deque(maxlen=self._depth_length) - self._details = deque(maxlen=self._detail_length) - self._bbos = deque(maxlen=self._bbo_length) - - url = self._wss + "/ws" - super(HuobiFutureMarket, self).__init__(url, send_hb_interval=5) - self.initialize() - - @property - def orderbooks(self): - return copy.copy(self._orderbooks) - - @property - def klines(self): - return copy.copy(self._klines) - - @property - def trades(self): - return copy.copy(self._trades) - - @property - def depths(self): - return copy.copy(self._depths) - - @property - def details(self): - return copy.copy(self._details) - - @property - def bbos(self): - return copy.copy(self._bbos) - - async def _send_heartbeat_msg(self, *args, **kwargs): - """ 发送心跳给服务器 - """ - if not self.ws: - logger.warn("websocket connection not connected yet!", caller=self) - return - data = {"pong": int(time.time()*1000)} - try: - await self.ws.send_json(data) - except ConnectionResetError: - await asyncio.get_event_loop().create_task(self._reconnect()) - - async def connected_callback(self): - """ After create Websocket connection successfully, we will subscribing orderbook/trade events. - """ - for ch in self._channels: - if ch == "kline": - for symbol in self._symbols: - channel = self._symbol_to_channel(symbol, "kline") - if not channel: - continue - kline = { - "sub": channel - } - await self.ws.send_json(kline) - elif ch == "orderbook": - for symbol in self._symbols: - channel = self._symbol_to_channel(symbol, "depth") - if not channel: - continue - data = { - "sub": channel - } - await self.ws.send_json(data) - elif ch == "trade": - for symbol in self._symbols: - channel = self._symbol_to_channel(symbol, "trade") - if not channel: - continue - data = { - "sub": channel - } - await self.ws.send_json(data) - elif ch == "depth": - for symbol in self._symbols: - channel = self._symbol_to_channel(symbol, "depth") - if not channel: - continue - data = { - "sub": channel - } - await self.ws.send_json(data) - elif ch == "detail": - for symbol in self._symbols: - channel = self._symbol_to_channel(symbol, "detail") - if not channel: - continue - data = { - "sub": channel - } - await self.ws.send_json(data) - elif ch == "bbo": - for symbol in self._symbols: - channel = self._symbol_to_channel(symbol, "bbo") - if not channel: - continue - data = { - "sub": channel - } - await self.ws.send_json(data) - else: - logger.error("channel error! channel:", ch, caller=self) - - async def process_binary(self, msg): - """ Process binary message that received from Websocket connection. - """ - data = json.loads(gzip.decompress(msg).decode()) - logger.debug("data:", json.dumps(data), caller=self) - channel = data.get("ch") - if not channel: - if data.get("ping"): - hb_msg = {"pong": data.get("ping")} - await self.ws.send_json(hb_msg) - return - - symbol = self._c_to_s[channel] - - if channel.find("kline") != -1: - await self.process_kline(data) - - elif channel.find("depth") != -1: - await self.process_orderbook(data) - - elif channel.find("trade") != -1: - await self.process_trade(data) - - elif channel.find("depth") != -1: - await self.process_depth(data) - - elif channel.find("detail") != -1: - await self.process_detail(data) - - elif channel.find("bbo") != -1: - await self.process_bbo(data) - - else: - logger.error("event error! msg:", msg, caller=self) - - def _symbol_to_channel(self, symbol, channel_type): - """ Convert symbol to channel. - - Args: - symbol: Trade pair name.such as BTC-USD - channel_type: channel name, kline / ticker / depth. - """ - if channel_type == "kline": - channel = "market.{s}.kline.1min".format(s=symbol.upper()) - elif channel_type == "depth": - channel = "market.{s}.depth.step6".format(s=symbol.upper()) - elif channel_type == "trade": - channel = "market.{s}.trade.detail".format(s=symbol.upper()) - elif channel_type == "depth": - channel = "market.{s}.depth.size_20.high_freq".format(s=symbol.upper()) - elif channel_type == "detail": - channel = "market.{s}.detail".format(s=symbol.upper()) - elif channel_type == "bbo": - channel = "market.{s}.bbo".format(s=symbol.upper()) - else: - logger.error("channel type error! channel type:", channel_type, caller=self) - return None - self._c_to_s[channel] = symbol - return channel - - async def process_kline(self, data): - """ process kline data - """ - channel = data.get("ch") - symbol = self._c_to_s[channel] - d = data.get("tick") - info = { - "platform": self._platform, - "symbol": symbol, - "open": "%.8f" % d["open"], - "high": "%.8f" % d["high"], - "low": "%.8f" % d["low"], - "close": "%.8f" % d["close"], - "volume": "%.8f" % d["amount"], - "timestamp": int(data.get("ts")), - "kline_type": MARKET_TYPE_KLINE, - "id": d.get("id"), - "mrid": d.get("mrid"), - "vol": d.get("vol"), - "count": d.get("count"), - "amount": d.get("amount"), - "trade_turnover": d.get("trade_turnover") - } - kline = Kline(**info) - self._klines.append(kline) - SingleTask.run(self._kline_update_callback, copy.copy(kline)) - - logger.debug("symbol:", symbol, "kline:", kline, caller=self) - - async def process_orderbook(self, data): - """ process orderbook data - """ - channel = data.get("ch") - symbol = self._c_to_s[channel] - d = data.get("tick") - asks, bids = [], [] - if d.get("asks"): - for item in d.get("asks")[:self._orderbook_length]: - price = "%.8f" % item[0] - quantity = "%.8f" % item[1] - asks.append([price, quantity]) - if d.get("bids"): - for item in d.get("bids")[:self._orderbook_length]: - price = "%.8f" % item[0] - quantity = "%.8f" % item[1] - bids.append([price, quantity]) - info = { - "platform": self._platform, - "symbol": symbol, - "asks": asks, - "bids": bids, - "timestamp": d.get("ts"), - "mrid": d.get("mrid"), - "id": d.get("id"), - "version": d.get("version"), - "ch": d.get("ch") - } - orderbook = Orderbook(**info) - self._orderbooks.append(orderbook) - SingleTask.run(self._orderbook_update_callback, copy.copy(orderbook)) - logger.debug("symbol:", symbol, "orderbook:", orderbook, caller=self) - - async def process_trade(self, data): - """ process trade - """ - channel = data.get("ch") - symbol = self._c_to_s[channel] - ticks = data.get("tick") - for tick in ticks["data"]: - direction = tick.get("direction") - price = tick.get("price") - quantity = tick.get("amount") - info = { - "platform": self._platform, - "symbol": symbol, - "action": ORDER_ACTION_BUY if direction == "buy" else ORDER_ACTION_SELL, - "price": "%.8f" % price, - "quantity": "%.8f" % quantity, - "timestamp": tick.get("ts"), - "amount": tick.get("amount"), - "id": tick.get("id"), - "direction": tick.get("direction"), - "trade_turnover": tick.get("trade_turnover") - } - trade = Trade(**info) - self._trades.append(trade) - SingleTask.run(self._trade_update_callback, copy.copy(trade)) - logger.debug("symbol:", symbol, "trade:", trade, caller=self) - - async def process_depth(self, data): - """ process depth data - """ - channel = data.get("ch") - symbol = self._c_to_s[channel] - d = data.get("tick") - asks, bids = [], [] - if d.get("asks"): - for item in d.get("asks")[:self._depth_length]: - price = "%.8f" % item[0] - quantity = "%.8f" % item[1] - asks.append([price, quantity]) - if d.get("bids"): - for item in d.get("bids")[:self._depth_length]: - price = "%.8f" % item[0] - quantity = "%.8f" % item[1] - bids.append([price, quantity]) - info = { - "platform": self._platform, - "symbol": symbol, - "asks": asks, - "bids": bids, - "timestamp": d.get("ts"), - "ch": d.get("ch"), - "event": d.get("event"), - "id": d.get("id"), - "mrid": d.get("mrid"), - "version": d.get("version") - } - depth = Depth(**info) - self._depths.append(depth) - SingleTask.run(self._depth_update_callback, copy.copy(depth)) - logger.debug("symbol:", symbol, "depth:", depth, caller=self) - - async def process_detail(self, data): - """ process orderbook data - """ - channel = data.get("ch") - symbol = self._c_to_s[channel] - d = data.get("tick") - asks, bids = [], [] - if d.get("asks"): - for item in d.get("asks")[:self._orderbook_length]: - price = "%.8f" % item[0] - quantity = "%.8f" % item[1] - asks.append([price, quantity]) - if d.get("bids"): - for item in d.get("bids")[:self._orderbook_length]: - price = "%.8f" % item[0] - quantity = "%.8f" % item[1] - bids.append([price, quantity]) - info = { - "platform": self._platform, - "symbol": symbol, - "asks": asks, - "bids": bids, - "timestamp": data.get("ts"), - "id": d.get("id"), - "mrid": d.get("mrid"), - "open": d.get("open"), - "close": d.get("close"), - "high": d.get("high"), - "low": d.get("low"), - "amount": d.get("amount"), - "vol": d.get("vol"), - "trade_turnover": d.get("trade_turnover"), - "count": d.get("count") - } - detail = Detail(**info) - self._details.append(detail) - SingleTask.run(self._detail_update_callback, copy.copy(detail)) - logger.debug("symbol:", symbol, "detail:", detail, caller=self) - - async def process_bbo(self, data): - """ process bbo data - """ - channel = data.get("ch") - symbol = self._c_to_s[channel] - d = data.get("tick") - asks, bids = [], [] - if d.get("asks"): - for item in d.get("asks")[:self._orderbook_length]: - price = "%.8f" % item[0] - quantity = "%.8f" % item[1] - asks.append([price, quantity]) - if d.get("bids"): - for item in d.get("bids")[:self._orderbook_length]: - price = "%.8f" % item[0] - quantity = "%.8f" % item[1] - bids.append([price, quantity]) - info = { - "platform": self._platform, - "symbol": symbol, - "asks": asks, - "bids": bids, - "timestamp": d.get("ts"), - "ch": d.get("ch"), - "mrid": d.get("mrid"), - "id": d.get("id"), - "version": d.get("version") - } - bbo = Bbo(**info) - self._bbos.append(bbo) - SingleTask.run(self._bbo_update_callback, copy.copy(bbo)) - logger.debug("symbol:", symbol, "bbo:", bbo, caller=self) - - - - diff --git a/alpha/platforms/huobi_coin_future/websocket/huobi_future_trade.py b/alpha/platforms/huobi_coin_future/websocket/huobi_future_trade.py deleted file mode 100644 index b2ef8c6..0000000 --- a/alpha/platforms/huobi_coin_future/websocket/huobi_future_trade.py +++ /dev/null @@ -1,598 +0,0 @@ -# -*- coding:utf-8 -*- - -""" -Huobi Future Api Module. - -Author: QiaoXiaofeng -Date: 2020/02/10 -Email: andyjoe318@gmail.com -""" - -import gzip -import json -import copy -import datetime -import time -import urllib -import hmac -import base64 -import urllib -import hashlib -import datetime -import time -from urllib.parse import urljoin - -from alpha.asset import Asset -from alpha.order import Order -from alpha.position import Position -from alpha.error import Error -from alpha.utils import tools, logger -from alpha.tasks import SingleTask, LoopRunTask -from alpha.const import HUOBI_FUTURE -from alpha.utils.websocket import Websocket -from alpha.utils.request import AsyncHttpRequests -from alpha.utils.decorator import async_method_locker -from alpha.order import ORDER_ACTION_BUY, ORDER_ACTION_SELL -from alpha.order import ORDER_TYPE_LIMIT, ORDER_TYPE_MARKET, ORDER_TYPE_MAKER, ORDER_TYPE_FOK, ORDER_TYPE_IOC -from alpha.order import ORDER_STATUS_SUBMITTED, ORDER_STATUS_PARTIAL_FILLED, ORDER_STATUS_FILLED, \ - ORDER_STATUS_CANCELED, ORDER_STATUS_FAILED, TRADE_TYPE_BUY_OPEN, TRADE_TYPE_SELL_OPEN, TRADE_TYPE_BUY_CLOSE, \ - TRADE_TYPE_SELL_CLOSE -from alpha.platforms.huobi_future_api import HuobiFutureRestAPI - - -__all__ = ("HuobiFutureTrade", ) - -class HuobiFutureTrade(Websocket): - """ Huobi Future Trade module. You can initialize trade object with some attributes in kwargs. - - Attributes: - account: Account name for this trade exchange. - strategy: What's name would you want to created for you strategy. - symbol: Symbol name for your trade. - host: HTTP request host. default `https://api.hbdm.com"`. - wss: Websocket address. default `wss://www.hbdm.com`. - access_key: Account's ACCESS KEY. - secret_key Account's SECRET KEY. - asset_update_callback: You can use this param to specific a async callback function when you initializing Trade - object. `asset_update_callback` is like `async def on_asset_update_callback(asset: Asset): pass` and this - callback function will be executed asynchronous when received AssetEvent. - order_update_callback: You can use this param to specific a async callback function when you initializing Trade - object. `order_update_callback` is like `async def on_order_update_callback(order: Order): pass` and this - callback function will be executed asynchronous when some order state updated. - position_update_callback: You can use this param to specific a async callback function when you initializing Trade - object. `position_update_callback` is like `async def on_position_update_callback(order: Position): pass` and - this callback function will be executed asynchronous when some position state updated. - init_success_callback: You can use this param to specific a async callback function when you initializing Trade - object. `init_success_callback` is like `async def on_init_success_callback(success: bool, error: Error, **kwargs): pass` - and this callback function will be executed asynchronous after Trade module object initialized successfully. - """ - - def __init__(self, **kwargs): - """Initialize.""" - e = None - if not kwargs.get("account"): - e = Error("param account miss") - if not kwargs.get("strategy"): - e = Error("param strategy miss") - if not kwargs.get("symbol"): - e = Error("param symbol miss") - if not kwargs.get("contract_type"): - e = Error("param contract_type miss") - if not kwargs.get("host"): - kwargs["host"] = "https://api.hbdm.com" - if not kwargs.get("wss"): - kwargs["wss"] = "wss://api.hbdm.com" - if not kwargs.get("access_key"): - e = Error("param access_key miss") - if not kwargs.get("secret_key"): - e = Error("param secret_key miss") - if e: - logger.error(e, caller=self) - if kwargs.get("init_success_callback"): - SingleTask.run(kwargs["init_success_callback"], False, e) - return - - self._account = kwargs["account"] - self._strategy = kwargs["strategy"] - self._platform = HUOBI_FUTURE - self._symbol = kwargs["symbol"].split('_')[0] - self._contract_type = kwargs["contract_type"] - self._host = kwargs["host"] - self._wss = kwargs["wss"] - self._access_key = kwargs["access_key"] - self._secret_key = kwargs["secret_key"] - self._asset_update_callback = kwargs.get("asset_update_callback") - self._order_update_callback = kwargs.get("order_update_callback") - self._position_update_callback = kwargs.get("position_update_callback") - self._init_success_callback = kwargs.get("init_success_callback") - - url = self._wss + "/notification" - super(HuobiFutureTrade, self).__init__(url, send_hb_interval=5) - - self._assets = {} # Asset detail, {"BTC": {"free": "1.1", "locked": "2.2", "total": "3.3"}, ... }. - self._orders = {} # Order objects, {"order_id": order, ...}. - self._position = Position(self._platform, self._account, self._strategy, self._symbol + '/' + self._contract_type) - - self._order_channel = "orders.{symbol}".format(symbol=self._symbol.lower()) - self._position_channel = "positions.{symbol}".format(symbol=self._symbol.lower()) - self._asset_channel = "accounts.{symbol}".format(symbol=self._symbol.lower()) - - self._subscribe_order_ok = False - self._subscribe_position_ok = False - self._subscribe_asset_ok = False - - self._rest_api = HuobiFutureRestAPI(self._host, self._access_key, self._secret_key) - - self.initialize() - - @property - def assets(self): - return copy.copy(self._assets) - - @property - def orders(self): - return copy.copy(self._orders) - - @property - def position(self): - return copy.copy(self._position) - - @property - def rest_api(self): - return self._rest_api - - async def _send_heartbeat_msg(self, *args, **kwargs): - data = {"op": "pong", "ts": str(int(time.time()*1000))} - if not self.ws: - logger.error("Websocket connection not yeah!", caller=self) - return - await self.ws.send_json(data) - - async def connected_callback(self): - """After connect to Websocket server successfully, send a auth message to server.""" - timestamp = datetime.datetime.utcnow().strftime("%Y-%m-%dT%H:%M:%S") - data = { - "AccessKeyId": self._access_key, - "SignatureMethod": "HmacSHA256", - "SignatureVersion": "2", - "Timestamp": timestamp - } - sign = self.generate_signature("GET", data, "/notification") - data["op"] = "auth" - data["type"] = "api" - data["Signature"] = sign - await self.ws.send_json(data) - - def generate_signature(self, method, params, request_path): - host_url = urllib.parse.urlparse(self._wss).hostname.lower() - #host_url = "172.18.6.227:9090" - sorted_params = sorted(params.items(), key=lambda d: d[0], reverse=False) - encode_params = urllib.parse.urlencode(sorted_params) - payload = [method, host_url, request_path, encode_params] - payload = "\n".join(payload) - payload = payload.encode(encoding="UTF8") - secret_key = self._secret_key.encode(encoding="utf8") - digest = hmac.new(secret_key, payload, digestmod=hashlib.sha256).digest() - signature = base64.b64encode(digest) - signature = signature.decode() - return signature - - async def auth_callback(self, data): - if data["err-code"] != 0: - e = Error("Websocket connection authorized failed: {}".format(data)) - logger.error(e, caller=self) - SingleTask.run(self._init_success_callback, False, e) - return - self._subscribe_order_ok = False - self._subscribe_position_ok = False - self._subscribe_asset_ok = False - # subscribe order - data = { - "op": "sub", - "cid": tools.get_uuid1(), - "topic": self._order_channel - } - await self.ws.send_json(data) - - # subscribe position - data = { - "op": "sub", - "cid": tools.get_uuid1(), - "topic": self._position_channel - } - await self.ws.send_json(data) - - # subscribe asset - data = { - "op": "sub", - "cid": tools.get_uuid1(), - "topic": self._asset_channel - } - await self.ws.send_json(data) - - - async def sub_callback(self, data): - if data["err-code"] != 0: - e = Error("subscribe {} failed!".format(data["topic"])) - logger.error(e, caller=self) - SingleTask.run(self._init_success_callback, False, e) - return - if data["topic"] == self._order_channel: - self._subscribe_order_ok = True - elif data["topic"] == self._position_channel: - self._subscribe_position_ok = True - elif data["topic"] == self._asset_channel: - self._subscribe_asset_ok = True - if self._subscribe_order_ok and self._subscribe_position_ok: - success, error = await self._rest_api.get_open_orders(self._symbol) - if error: - e = Error("get open orders failed!") - SingleTask.run(self._init_success_callback, False, e) - elif "data" in success and "orders" in success["data"]: - for order_info in success["data"]["orders"]: - order_info["ts"] = order_info["created_at"] - self._update_order(order_info) - SingleTask.run(self._init_success_callback, True, None) - else: - logger.warn("get open orders:", success, caller=self) - e = Error("Get Open Orders Unknown error") - SingleTask.run(self._init_success_callback, False, e) - - @async_method_locker("HuobiFutureTrade.process_binary.locker") - async def process_binary(self, raw): - """ 处理websocket上接收到的消息 - @param raw 原始的压缩数据 - """ - data = json.loads(gzip.decompress(raw).decode()) - logger.debug("data:", data, caller=self) - - op = data.get("op") - if op == "ping": - hb_msg = {"op": "pong", "ts": data.get("ts")} - await self.ws.send_json(hb_msg) - - elif op == "auth": - await self.auth_callback(data) - - elif op == "sub": - await self.sub_callback(data) - - elif op == "notify": - if data["topic"] == self._order_channel: - self._update_order(data) - elif data["topic"].startswith("positions"): - self._update_position(data) - elif data["topic"].startswith("accounts"): - self._update_asset(data) - - async def create_order(self, action, price, quantity, order_type=ORDER_TYPE_LIMIT, client_order_id=None, *args, **kwargs): - """ Create an order. - - Args: - action: Trade direction, BUY or SELL. - price: Price of each contract. - quantity: The buying or selling quantity. - order_type: Order type, LIMIT or MARKET. - kwargs: - lever_rate: Leverage rate, 10 or 20. - - Returns: - order_no: Order ID if created successfully, otherwise it's None. - error: Error information, otherwise it's None. - """ - if int(quantity) > 0: - if action == ORDER_ACTION_BUY: - direction = "buy" - offset = "open" - elif action == ORDER_ACTION_SELL: - direction = "sell" - offset = "close" - else: - return None, "action error" - else: - if action == ORDER_ACTION_BUY: - direction = "buy" - offset = "close" - elif action == ORDER_ACTION_SELL: - direction = "sell" - offset = "open" - else: - return None, "action error" - - lever_rate = kwargs.get("lever_rate", 20) - if order_type == ORDER_TYPE_LIMIT: - order_price_type = "limit" - elif order_type == ORDER_TYPE_MARKET: - order_price_type = "optimal_20" - elif order_type == ORDER_TYPE_MAKER: - order_price_type = "post_only" - elif order_type == ORDER_TYPE_FOK: - order_price_type = "fok" - elif order_type == ORDER_TYPE_IOC: - order_price_type = "ioc" - - else: - return None, "order type error" - - quantity = abs(int(quantity)) - result, error = await self._rest_api.create_order(self._symbol, self._contract_type, '', - price, quantity, direction, offset, lever_rate, - order_price_type, client_order_id) - if error: - return None, error - return str(result["data"]["order_id"]), None - - async def create_orders(self, orders, *args, **kwargs): - """ batch create orders - - Args: - orders_data: [] - list item: - action: Trade direction, BUY or SELL. - price: Price of each contract. - quantity: The buying or selling quantity. - order_type: Order type, LIMIT or MARKET. - lever_rate: leverage. - kwargs: - - Returns: - success: order info if created successfully. - error: erros information. - """ - orders_data = [] - for order in orders: - if int(order["quantity"]) > 0: - if order["action"] == ORDER_ACTION_BUY: - direction = "buy" - offset = "open" - elif order["action"] == ORDER_ACTION_SELL: - direction = "sell" - offset = "close" - else: - return None, "action error" - else: - if order["action"] == ORDER_ACTION_BUY: - direction = "buy" - offset = "close" - elif order["action"] == ORDER_ACTION_SELL: - direction = "sell" - offset = "open" - else: - return None, "action error" - - lever_rate = order["lever_rate"] - if order["order_type"] == ORDER_TYPE_LIMIT: - order_price_type = "limit" - elif order["order_type"] == ORDER_TYPE_MARKET: - order_price_type = "optimal_20" - elif order["order_type"] == ORDER_TYPE_MAKER: - order_price_type = "post_only" - elif order["order_type"] == ORDER_TYPE_FOK: - order_price_type = "fok" - elif order["order_type"] == ORDER_TYPE_IOC: - order_price_type = "ioc" - else: - return None, "order type error" - - quantity = abs(int(order["quantity"])) - - client_order_id = order.get("client_order_id", "") - - orders_data.append({"symbol": self._symbol, "contract_type": self._contract_type, "contract_code": "", \ - "client_order_id": client_order_id, "price": order["price"], "volume": quantity, "direction": direction, "offset": offset, \ - "leverRate": lever_rate, "orderPriceType": order_price_type}) - - result, error = await self._rest_api.create_orders({"orders_data": orders_data}) - if error: - return None, error - order_nos = [ order["order_id"] for order in result.get("data").get("success")] - return order_nos, result.get("data").get("errors") - - async def revoke_order(self, *order_nos): - """ Revoke (an) order(s). - - Args: - order_nos: Order id list, you can set this param to 0 or multiple items. If you set 0 param, you can cancel - all orders for this symbol(initialized in Trade object). If you set 1 param, you can cancel an order. - If you set multiple param, you can cancel multiple orders. Do not set param length more than 100. - - Returns: - Success or error, see bellow. - """ - # If len(order_nos) == 0, you will cancel all orders for this symbol(initialized in Trade object). - if len(order_nos) == 0: - success, error = await self._rest_api.revoke_order_all(self._symbol, '', self._contract_type) - if error: - return False, error - if success.get("errors"): - return False, success["errors"] - return True, None - - # If len(order_nos) == 1, you will cancel an order. - if len(order_nos) == 1: - success, error = await self._rest_api.revoke_order(self._symbol, order_nos[0]) - if error: - return order_nos[0], error - if success.get("errors"): - return False, success["errors"] - else: - return order_nos[0], None - - # If len(order_nos) > 1, you will cancel multiple orders. - if len(order_nos) > 1: - success, error = await self._rest_api.revoke_orders(self._symbol, order_nos) - if error: - return order_nos[0], error - if success.get("errors"): - return False, success["errors"] - return success, error - - async def get_open_order_nos(self): - """ Get open order id list. - - Args: - None. - - Returns: - order_nos: Open order id list, otherwise it's None. - error: Error information, otherwise it's None. - """ - success, error = await self._rest_api.get_open_orders(self._symbol) - if error: - return None, error - else: - order_nos = [] - for order_info in success["data"]["orders"]: - if order_info["contract_type"] != self._contract_type or order_info["symbol"] != self._symbol: - continue - order_nos.append(str(order_info["order_id"])) - return order_nos, None - - def _update_order(self, order_info): - """ Order update. - - Args: - order_info: Order information. - """ - if order_info["contract_type"] != self._contract_type or order_info["symbol"] != self._symbol: - return - order_no = str(order_info["order_id"]) - status = order_info["status"] - - order = self._orders.get(order_no) - if not order: - if order_info["direction"] == "buy": - if order_info["offset"] == "open": - trade_type = TRADE_TYPE_BUY_OPEN - else: - trade_type = TRADE_TYPE_BUY_CLOSE - else: - if order_info["offset"] == "close": - trade_type = TRADE_TYPE_SELL_CLOSE - else: - trade_type = TRADE_TYPE_SELL_OPEN - - info = { - "platform": self._platform, - "account": self._account, - "strategy": self._strategy, - "order_no": order_no, - "client_order_id": order_info.get("client_order_id"), - "order_price_type": order_info.get("order_price_type"), - "order_type": order_info["order_type"], - "action": ORDER_ACTION_BUY if order_info["direction"] == "buy" else ORDER_ACTION_SELL, - "symbol": self._symbol + '/' + self._contract_type, - "price": order_info["price"], - "quantity": order_info["volume"], - "trade_type": trade_type - } - order = Order(**info) - self._orders[order_no] = order - - order.trade_quantity = None - order.trade_price = None - if order_info.get("trade"): - quantity = 0 - price = 0 - amount = 0 - count = len(order_info.get("trade")) - for trade in order_info.get("trade"): - order.role = trade.get("role") - quantity += float(trade.get("trade_volume")) - amount += float(trade.get("trade_volume")*trade.get("trade_price")) - price = amount/quantity - order.trade_quantity = int(quantity) - order.trade_price = price - - if status in [1, 2, 3]: - order.status = ORDER_STATUS_SUBMITTED - elif status == 4: - order.status = ORDER_STATUS_PARTIAL_FILLED - order.remain = int(order.quantity) - int(order_info["trade_volume"]) - elif status == 6: - order.status = ORDER_STATUS_FILLED - order.remain = 0 - elif status in [5, 7]: - order.status = ORDER_STATUS_CANCELED - order.remain = int(order.quantity) - int(order_info["trade_volume"]) - else: - return - - order.avg_price = order_info["trade_avg_price"] - order.ctime = order_info["created_at"] - order.utime = order_info["ts"] - - SingleTask.run(self._order_update_callback, copy.copy(order)) - - # Delete order that already completed. - if order.status in [ORDER_STATUS_FAILED, ORDER_STATUS_CANCELED, ORDER_STATUS_FILLED]: - self._orders.pop(order_no) - - # publish order - logger.info("symbol:", order.symbol, "order:", order, caller=self) - - def _update_position(self, data): - """ Position update. - - Args: - position_info: Position information. - - Returns: - None. - """ - for position_info in data["data"]: - if position_info["contract_type"] != self._contract_type or position_info["symbol"] != self._symbol: - continue - if position_info["direction"] == "buy": - self._position.long_quantity = int(position_info["volume"]) - self._position.long_avg_price = position_info["cost_open"] - else: - self._position.short_quantity = int(position_info["volume"]) - self._position.short_avg_price = position_info["cost_open"] - # self._position.liquid_price = None - self._position.utime = data["ts"] - SingleTask.run(self._position_update_callback, copy.copy(self._position)) - - def _update_asset(self, data): - """ Asset update. - - Args: - data: asset data. - - Returns: - None. - """ - assets = {} - for item in data["data"]: - symbol = item["symbol"].upper() - total = float(item["margin_balance"]) - free = float(item["margin_available"]) - locked = float(item["margin_frozen"]) - if total > 0: - assets[symbol] = { - "total": "%.8f" % total, - "free": "%.8f" % free, - "locked": "%.8f" % locked - } - if assets == self._assets: - update = False - else: - update = True - if hasattr(self._assets, "assets") is False: - info = { - "platform": self._platform, - "account": self._account, - "assets": assets, - "timestamp": tools.get_cur_timestamp_ms(), - "update": update - } - asset = Asset(**info) - self._assets = asset - SingleTask.run(self._asset_update_callback, copy.copy(self._assets)) - else: - for symbol in assets: - self._assets.assets.update({ - symbol: assets[symbol] - }) - self._assets.timestamp = tools.get_cur_timestamp_ms() - SingleTask.run(self._asset_update_callback, copy.copy(self._assets)) \ No newline at end of file diff --git a/alpha/platforms/huobi_coin_future/websocket/ws_account_coin_future.py b/alpha/platforms/huobi_coin_future/websocket/ws_account_coin_future.py deleted file mode 100644 index 34d2011..0000000 --- a/alpha/platforms/huobi_coin_future/websocket/ws_account_coin_future.py +++ /dev/null @@ -1,13 +0,0 @@ -from alpha.utils.ws_utils import * - - -class WsAccount(WsUtils): - def __init__(self, access_key: str, secret_key: str, host: str = None): - super(WsAccount, self).__init__("/notification", host, access_key, secret_key) - - def sub(self, data:dict, callback): - self._sub(json.dumps(data), callback) - - def unsub(self, data:dict): - self._unsub(json.dumps(data)) - \ No newline at end of file diff --git a/alpha/platforms/huobi_coin_future/websocket/ws_index_coin_future.py b/alpha/platforms/huobi_coin_future/websocket/ws_index_coin_future.py deleted file mode 100644 index 71f087a..0000000 --- a/alpha/platforms/huobi_coin_future/websocket/ws_index_coin_future.py +++ /dev/null @@ -1,12 +0,0 @@ -from alpha.utils.ws_utils import * - - -class WsIndex(WsUtils): - def __init__(self, host: str = None): - super(WsIndex, self).__init__("/ws_index", host) - - def sub(self, data: dict, callback): - self._sub(json.dumps(data), callback) - - def req(self, data: dict, callback): - self._req(json.dumps(data), callback) diff --git a/alpha/platforms/huobi_coin_future/websocket/ws_market_coin_future.py b/alpha/platforms/huobi_coin_future/websocket/ws_market_coin_future.py deleted file mode 100644 index d10de0d..0000000 --- a/alpha/platforms/huobi_coin_future/websocket/ws_market_coin_future.py +++ /dev/null @@ -1,12 +0,0 @@ -from alpha.utils.ws_utils import * - - -class WsMarket(WsUtils): - def __init__(self, host: str = None): - super(WsMarket, self).__init__("/ws", host) - - def sub(self, data:dict, callback): - self._sub(json.dumps(data), callback) - - def req(self, data:dict, callback): - self._req(json.dumps(data), callback) diff --git a/alpha/platforms/huobi_coin_future/websocket/ws_system_coin_future.py b/alpha/platforms/huobi_coin_future/websocket/ws_system_coin_future.py deleted file mode 100644 index 26e3d40..0000000 --- a/alpha/platforms/huobi_coin_future/websocket/ws_system_coin_future.py +++ /dev/null @@ -1,9 +0,0 @@ -from alpha.utils.ws_utils import * - - -class WsSystem(WsUtils): - def __init__(self, host: str = None): - super(WsSystem, self).__init__("/center-notification", host) - - def sub(self, data: dict, callback): - self._sub(json.dumps(data), callback) diff --git a/alpha/platforms/huobi_coin_swap/restapi/rest_account_coin_swap.py b/alpha/platforms/huobi_coin_swap/restapi/rest_account_coin_swap.py deleted file mode 100644 index 99bc460..0000000 --- a/alpha/platforms/huobi_coin_swap/restapi/rest_account_coin_swap.py +++ /dev/null @@ -1,415 +0,0 @@ -# -*- coding:utf-8 -*- - -""" -Huobi USDT Swap Api Module. - -Author: QiaoXiaofeng -Date: 2020/09/10 -Email: andyjoe318@gmail.com -""" - -import gzip -import json -import copy -import hmac -import base64 -import urllib -import hashlib -import datetime -import time -from urllib.parse import urljoin -from alpha.utils.request import AsyncHttpRequests -from alpha.const import USER_AGENT - -__all__ = ("HuobiCoinSwapRestAccountAPI",) - - -class HuobiCoinSwapRestAccountAPI: - """ Huobi USDT Swap REST API Client. - - Attributes: - host: HTTP request host. - access_key: Account's ACCESS KEY. - secret_key: Account's SECRET KEY. - passphrase: API KEY Passphrase. - """ - - def __init__(self, host, access_key, secret_key): - """ initialize REST API client. """ - self._host = host - self._access_key = access_key - self._secret_key = secret_key - - async def get_swap_balance_valuation(self, valuation_asset=None): - - uri = "/swap-api/v1/swap_balance_valuation" - body = { - - } - - if valuation_asset: - body.update({"valuation_asset": valuation_asset}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_asset_info(self, contract_code=None): - """ Get account asset information. - - Args: - contract_code: such as "BTC-USD". - - Returns: - success: Success results, otherwise it's None. - error: Error information, otherwise it's None. - """ - uri = "/swap-api/v1/swap_account_info" - body = {} - if contract_code: - body["contract_code"] = contract_code - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_position(self, contract_code=None): - """ Get position information. - - Args: - contract_code: such as "BTC-USD". - - Returns: - success: Success results, otherwise it's None. - error: Error information, otherwise it's None. - """ - uri = "/swap-api/v1/swap_position_info" - body = {} - if contract_code: - body["contract_code"] = contract_code - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_account_position(self, contract_code): - """ Get position and account information. - - Args: - contract_code: Currency name, e.g. BTC-USD. - - Returns: - success: Success results, otherwise it's None. - error: Error information, otherwise it's None. - """ - uri = "/swap-api/v1/swap_account_position_info" - body = {"contract_code": contract_code} - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def swap_sub_auth(self, sub_uid, sub_auth): - - uri = "/swap-api/v1/swap_sub_auth" - body = { - "sub_uid": sub_uid, - "sub_auth": sub_auth - } - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_swap_sub_account_list(self, contract_code=None, direct=None, from_id=None): - - uri = "/swap-api/v1/swap_sub_account_list" - body = { - - } - - if contract_code: - body.update({"contract_code": contract_code}) - if direct: - body.update({"direct": direct}) - if from_id: - body.update({"from_id": from_id}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def swap_sub_account_info_list(self, contract_code=None, page_index=None, page_size=None): - - uri = "/swap-api/v1/swap_sub_account_info_list" - body = { - - } - - if contract_code: - body.update({"contract_code": contract_code}) - if page_index: - body.update({"page_index": page_index}) - if page_size: - body.update({"page_size": page_size}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_swap_sub_account_info(self, sub_uid, contract_code=None): - - uri = "/swap-api/v1/swap_sub_account_info" - body = { - "sub_uid": sub_uid - } - - if contract_code: - body.update({"contract_code": contract_code}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_swap_sub_position_info(self, sub_uid, contract_code=None): - - uri = "/swap-api/v1/swap_sub_position_info" - body = { - "sub_uid": sub_uid - } - - if contract_code: - body.update({"contract_code": contract_code}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_swap_financial_record(self, contract, type=None, start_time=None, end_time=None, direct=None, from_id=None): - - uri = "/swap-api/v3/swap_financial_record" - body = { - "contract": contract - } - - if type: - body.update({"type": type}) - if start_time: - body.update({"start_time": start_time}) - if end_time: - body.update({"end_time": end_time}) - if direct: - body.update({"direct": direct}) - if from_id: - body.update({"from_id": from_id}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_swap_financial_record_exact(self, contract, type=None, start_time=None, end_time=None, direct=None, - from_id=None): - - uri = "/swap-api/v3/swap_financial_record_exact" - body = { - "contract": contract - } - - if type: - body.update({"type": type}) - if start_time: - body.update({"start_time": start_time}) - if end_time: - body.update({"end_time": end_time}) - if direct: - body.update({"direct": direct}) - if from_id: - body.update({"from_id": from_id}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_swap_user_settlement_records(self, contract_code, start_time=None, end_time=None, page_index=None, - page_size=None): - - uri = "/swap-api/v1/swap_user_settlement_records" - body = { - "contract_code": contract_code - } - - if start_time: - body.update({"start_time": start_time}) - if end_time: - body.update({"end_time": end_time}) - if page_index: - body.update({"page_index": page_index}) - if page_size: - body.update({"page_size": page_size}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_swap_available_level_rate(self, contract_code=None): - - uri = "/swap-api/v1/swap_available_level_rate" - body = { - - } - - if contract_code: - body.update({"contract_code": contract_code}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_swap_order_limit(self, order_price_type, contract_code=None): - - uri = "/swap-api/v1/swap_order_limit" - body = { - "order_price_type": order_price_type - } - - if contract_code: - body.update({"contract_code": contract_code}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_swap_fee(self, contract_code=None): - - uri = "/swap-api/v1/swap_fee" - body = { - - } - - if contract_code: - body.update({"contract_code": contract_code}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_swap_transfer_limit(self, contract_code=None): - - uri = "/swap-api/v1/swap_transfer_limit" - body = { - - } - - if contract_code: - body.update({"contract_code": contract_code}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_swap_position_limit(self, contract_code=None): - - uri = "/swap-api/v1/swap_position_limit" - body = { - - } - - if contract_code: - body.update({"contract_code": contract_code}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def swap_master_sub_transfer(self, sub_uid, contract_code, amount, type, client_order_id=None): - - uri = "/swap-api/v1/swap_master_sub_transfer" - body = { - "sub_uid": sub_uid, - "contract_code": contract_code, - "amount": amount, - "type": type - } - - if client_order_id: - body.update({"client_order_id": client_order_id}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_swap_master_sub_transfer_record(self, contract_code, create_date, transfer_type=None, page_index=None, page_size=None): - - uri = "/swap-api/v1/swap_master_sub_transfer_record" - body = { - "contract_code": contract_code, - "create_date": create_date - } - - if transfer_type: - body.update({"transfer_type": transfer_type}) - if page_index: - body.update({"page_index": page_index}) - if page_size: - body.update({"page_size": page_size}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_swap_api_trading_status(self): - - uri = "/swap-api/v1/swap_api_trading_status" - params = { - - } - - success, error = await self.request("GET", uri, params=params, auth=True) - return success, error - - async def request(self, method, uri, params=None, body=None, headers=None, auth=False): - """ Do HTTP request. - - Args: - method: HTTP request method. `GET` / `POST` / `DELETE` / `PUT`. - uri: HTTP request uri. - params: HTTP query params. - body: HTTP request body. - headers: HTTP request headers. - auth: If this request requires authentication. - - Returns: - success: Success results, otherwise it's None. - error: Error information, otherwise it's None. - """ - if uri.startswith("http://") or uri.startswith("https://"): - url = uri - else: - url = self._host + uri - - if auth: - timestamp = datetime.datetime.utcnow().strftime("%Y-%m-%dT%H:%M:%S") - params = params if params else {} - params.update({"AccessKeyId": self._access_key, - "SignatureMethod": "HmacSHA256", - "SignatureVersion": "2", - "Timestamp": timestamp}) - - params["Signature"] = self.generate_signature(method, params, uri) - - if not headers: - headers = {} - if method == "GET": - headers["Content-type"] = "application/x-www-form-urlencoded" - headers["User-Agent"] = USER_AGENT - _, success, error = await AsyncHttpRequests.fetch("GET", url, params=params, headers=headers, timeout=10) - else: - headers["Accept"] = "application/json" - headers["Content-type"] = "application/json" - headers["User-Agent"] = USER_AGENT - _, success, error = await AsyncHttpRequests.fetch("POST", url, params=params, data=body, headers=headers, - timeout=10) - if error: - return None, error - if not isinstance(success, dict): - result = json.loads(success) - else: - result = success - if result.get("status") != "ok": - return None, result - return result, None - - def generate_signature(self, method, params, request_path): - if request_path.startswith("http://") or request_path.startswith("https://"): - host_url = urllib.parse.urlparse(request_path).hostname.lower() - request_path = '/' + '/'.join(request_path.split('/')[3:]) - else: - host_url = urllib.parse.urlparse(self._host).hostname.lower() - sorted_params = sorted(params.items(), key=lambda d: d[0], reverse=False) - encode_params = urllib.parse.urlencode(sorted_params) - payload = [method, host_url, request_path, encode_params] - payload = "\n".join(payload) - payload = payload.encode(encoding="UTF8") - secret_key = self._secret_key.encode(encoding="utf8") - digest = hmac.new(secret_key, payload, digestmod=hashlib.sha256).digest() - signature = base64.b64encode(digest) - signature = signature.decode() - return signature \ No newline at end of file diff --git a/alpha/platforms/huobi_coin_swap/restapi/rest_account_sync.py b/alpha/platforms/huobi_coin_swap/restapi/rest_account_sync.py deleted file mode 100644 index e4c20f6..0000000 --- a/alpha/platforms/huobi_coin_swap/restapi/rest_account_sync.py +++ /dev/null @@ -1,93 +0,0 @@ -import json - -from alpha.utils.http_utils import post, get_url_suffix, get - - -class RestAccountCoinSwap: - def __init__(self, access_key: str, secret_key: str, host: str = None): - self.access_key = access_key - self.secret_key = secret_key - if host is None: - host = "api.hbdm.com" - self.host = host - - def swap_balance_valuation(self, data: dict = None) -> json: - path = "/swap-api/v1/swap_balance_valuation" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_account_info(self, data: dict = None) -> json: - path = "/swap-api/v1/swap_account_info" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_position_info(self, data: dict = None) -> json: - path = "/swap-api/v1/swap_position_info" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_account_position_info(self, data: dict = None) -> json: - path = "/swap-api/v1/swap_account_position_info" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_sub_auth(self, data: dict = None) -> json: - path = "/swap-api/v1/swap_sub_auth" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_sub_account_list(self, data: dict = None) -> json: - path = "/swap-api/v1/swap_sub_account_list" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_sub_account_info_list(self, data: dict = None) -> json: - path = "/swap-api/v1/swap_sub_account_info_list" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_sub_account_info(self, data: dict = None) -> json: - path = "/swap-api/v1/swap_sub_account_info" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_sub_position_info(self, data: dict = None) -> json: - path = "/swap-api/v1/swap_sub_position_info" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_financial_record(self, data: dict = None) -> json: - path = "/swap-api/v3/swap_financial_record" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_financial_record_exact(self, data: dict = None) -> json: - path = "/swap-api/v3/swap_financial_record_exact" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_user_settlement_records(self, data: dict = None) -> json: - path = "/swap-api/v1/swap_user_settlement_records" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_available_level_rate(self, data: dict = None) -> json: - path = "/swap-api/v1/swap_available_level_rate" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_order_limit(self, data: dict = None) -> json: - path = "/swap-api/v1/swap_order_limit" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_fee(self, data: dict = None) -> json: - path = "/swap-api/v1/swap_fee" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_transfer_limit(self, data: dict = None) -> json: - path = "/swap-api/v1/swap_transfer_limit" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_position_limit(self, data: dict = None) -> json: - path = "/swap-api/v1/swap_position_limit" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_master_sub_transfer(self, data: dict = None) -> json: - path = "/swap-api/v1/swap_master_sub_transfer" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_master_sub_transfer_record(self, data: dict = None) -> json: - path = "/swap-api/v1/swap_master_sub_transfer_record" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_api_trading_status(self, params: dict = None) -> json: - path = "/swap-api/v1/swap_api_trading_status" - path = "{}?{}".format(path, get_url_suffix('get', self.access_key, self.secret_key, self.host, path)) - return get(self.host, path, params) diff --git a/alpha/platforms/huobi_coin_swap/restapi/rest_market_coin_swap.py b/alpha/platforms/huobi_coin_swap/restapi/rest_market_coin_swap.py deleted file mode 100644 index fb58882..0000000 --- a/alpha/platforms/huobi_coin_swap/restapi/rest_market_coin_swap.py +++ /dev/null @@ -1,261 +0,0 @@ -# -*- coding:utf-8 -*- - -""" -Huobi USDT Swap Api Module. - -Author: QiaoXiaofeng -Date: 2020/09/10 -Email: andyjoe318@gmail.com -""" - -import gzip -import json -import copy -import hmac -import base64 -import urllib -import hashlib -import datetime -import time -from urllib.parse import urljoin -from alpha.utils.request import AsyncHttpRequests -from alpha.const import USER_AGENT - -__all__ = ("HuobiCoinSwapRestMarketAPI",) - - -class HuobiCoinSwapRestMarketAPI: - """ Huobi USDT Swap REST API Client. - - Attributes: - host: HTTP request host. - access_key: Account's ACCESS KEY. - secret_key: Account's SECRET KEY. - passphrase: API KEY Passphrase. - """ - - def __init__(self, host, access_key, secret_key): - """ initialize REST API client. """ - self._host = host - self._access_key = access_key - self._secret_key = secret_key - - async def get_orderbook(self, contract_code, type=None): - """ Get orderbook information. - - Args: - contract_code: such as "BTC-USD". - - Returns: - success: Success results, otherwise it's None. - error: Error information, otherwise it's None. - """ - uri = "/swap-ex/market/depth" - params = { - "contract_code": contract_code, - "type": type - } - success, error = await self.request("GET", uri, params=params) - return success, error - - async def get_bbo(self, contract_code=None): - - uri = "/swap-ex/market/bbo" - params = { - - } - if contract_code: - params["contract_code"] = contract_code - - success, error = await self.request("GET", uri, params=params) - return success, error - - async def get_klines(self, contract_code, period, size=None, sfrom=None, to=None): - """ Get kline information. - - Args: - contract_code: such as "BTC-USD". - period: 1min, 5min, 15min, 30min, 60min,4hour,1day, 1mon - size: [1,2000] - - Returns: - success: Success results, otherwise it's None. - error: Error information, otherwise it's None. - """ - uri = "/swap-ex/market/history/kline" - params = { - "contract_code": contract_code, - "period": period - } - if size: - params["size"] = size - if sfrom: - params["from"] = sfrom - if to: - params["to"] = to - success, error = await self.request("GET", uri, params=params) - return success, error - - async def get_swap_mark_price_kline(self, contract_code, period, size): - - uri = "/index/market/history/swap_mark_price_kline" - params = { - "contract_code": contract_code, - "period": period, - "size": size - } - - success, error = await self.request("GET", uri, params=params) - return success, error - - async def get_merged(self, contract_code): - - uri = "/swap-ex/market/detail/merged" - params = { - "contract_code": contract_code - } - - success, error = await self.request("GET", uri, params=params) - return success, error - - async def get_batch_merged(self, contract_code=None): - - uri = "/v2/swap-ex/market/detail/batch_merged" - params = { - - } - if contract_code: - params["contract_code"] = contract_code - - success, error = await self.request("GET", uri, params=params) - return success, error - - async def get_trade(self, contract_code=None): - - uri = "/swap-ex/market/trade" - params = { - - } - if contract_code: - params["contract_code"] = contract_code - - success, error = await self.request("GET", uri, params=params) - return success, error - - async def get_history_trade(self, contract_code, size): - - uri = "/swap-ex/market/history/trade" - params = { - "contract_code": contract_code, - "size": size - } - - success, error = await self.request("GET", uri, params=params) - return success, error - - async def get_swap_premium_index_kline(self, contract_code, period, size): - - uri = "/index/market/history/swap_premium_index_kline" - params = { - "contract_code": contract_code, - "period": period, - "size": size - } - - success, error = await self.request("GET", uri, params=params) - return success, error - - async def get_swap_estimated_rate_kline(self, contract_code, period, size): - - uri = "/index/market/history/swap_estimated_rate_kline" - params = { - "contract_code": contract_code, - "period": period, - "size": size - } - - success, error = await self.request("GET", uri, params=params) - return success, error - - async def get_swap_basis(self, contract_code, period, size, basis_price_type=None): - - uri = "/index/market/history/swap_basis" - params = { - "contract_code": contract_code, - "period": period, - "size": size - } - if basis_price_type: - params["basis_price_type"] = basis_price_type - - success, error = await self.request("GET", uri, params=params) - return success, error - - async def request(self, method, uri, params=None, body=None, headers=None, auth=False): - """ Do HTTP request. - - Args: - method: HTTP request method. `GET` / `POST` / `DELETE` / `PUT`. - uri: HTTP request uri. - params: HTTP query params. - body: HTTP request body. - headers: HTTP request headers. - auth: If this request requires authentication. - - Returns: - success: Success results, otherwise it's None. - error: Error information, otherwise it's None. - """ - if uri.startswith("http://") or uri.startswith("https://"): - url = uri - else: - url = self._host + uri - - if auth: - timestamp = datetime.datetime.utcnow().strftime("%Y-%m-%dT%H:%M:%S") - params = params if params else {} - params.update({"AccessKeyId": self._access_key, - "SignatureMethod": "HmacSHA256", - "SignatureVersion": "2", - "Timestamp": timestamp}) - - params["Signature"] = self.generate_signature(method, params, uri) - - if not headers: - headers = {} - if method == "GET": - headers["Content-type"] = "application/x-www-form-urlencoded" - headers["User-Agent"] = USER_AGENT - _, success, error = await AsyncHttpRequests.fetch("GET", url, params=params, headers=headers, timeout=10) - else: - headers["Accept"] = "application/json" - headers["Content-type"] = "application/json" - headers["User-Agent"] = USER_AGENT - _, success, error = await AsyncHttpRequests.fetch("POST", url, params=params, data=body, headers=headers, - timeout=10) - if error: - return None, error - if not isinstance(success, dict): - result = json.loads(success) - else: - result = success - if result.get("status") != "ok": - return None, result - return result, None - - def generate_signature(self, method, params, request_path): - if request_path.startswith("http://") or request_path.startswith("https://"): - host_url = urllib.parse.urlparse(request_path).hostname.lower() - request_path = '/' + '/'.join(request_path.split('/')[3:]) - else: - host_url = urllib.parse.urlparse(self._host).hostname.lower() - sorted_params = sorted(params.items(), key=lambda d: d[0], reverse=False) - encode_params = urllib.parse.urlencode(sorted_params) - payload = [method, host_url, request_path, encode_params] - payload = "\n".join(payload) - payload = payload.encode(encoding="UTF8") - secret_key = self._secret_key.encode(encoding="utf8") - digest = hmac.new(secret_key, payload, digestmod=hashlib.sha256).digest() - signature = base64.b64encode(digest) - signature = signature.decode() - return signature \ No newline at end of file diff --git a/alpha/platforms/huobi_coin_swap/restapi/rest_market_sync.py b/alpha/platforms/huobi_coin_swap/restapi/rest_market_sync.py deleted file mode 100644 index 430d19b..0000000 --- a/alpha/platforms/huobi_coin_swap/restapi/rest_market_sync.py +++ /dev/null @@ -1,54 +0,0 @@ -import json - -from alpha.utils.http_utils import get - - -class RestMarketCoinSwap: - def __init__(self, host=None): - if host is None: - host = "api.hbdm.com" - self.host = host - - def depth(self, params: dict = None) -> json: - path = "/swap-ex/market/depth" - return get(self.host, path, params) - - def bbo(self, params: dict = None) -> json: - path = "/swap-ex/market/bbo" - return get(self.host, path, params) - - def kline(self, params: dict = None) -> json: - path = "/swap-ex/market/history/kline" - return get(self.host, path, params) - - def mark_price_kline(self, params: dict = None) -> json: - path = "/index/market/history/swap_mark_price_kline" - return get(self.host, path, params) - - def merged(self, params: dict = None) -> json: - path = "/swap-ex/market/detail/merged" - return get(self.host, path, params) - - def batch_merged(self, params: dict = None) -> json: - path = "/v2/swap-ex/market/detail/batch_merged" - return get(self.host, path, params) - - def trade(self, params: dict = None) -> json: - path = "/swap-ex/market/trade" - return get(self.host, path, params) - - def history_trade(self, params: dict = None) -> json: - path = "/swap-ex/market/history/trade" - return get(self.host, path, params) - - def swap_premium_index_kline(self, params: dict = None) -> json: - path = "/index/market/history/swap_premium_index_kline" - return get(self.host, path, params) - - def swap_estimated_rate_kline(self, params: dict = None) -> json: - path = "/index/market/history/swap_estimated_rate_kline" - return get(self.host, path, params) - - def swap_basis(self, params: dict = None) -> json: - path = "/index/market/history/swap_basis" - return get(self.host, path, params) diff --git a/alpha/platforms/huobi_coin_swap/restapi/rest_reference_coin_swap.py b/alpha/platforms/huobi_coin_swap/restapi/rest_reference_coin_swap.py deleted file mode 100644 index f461aaf..0000000 --- a/alpha/platforms/huobi_coin_swap/restapi/rest_reference_coin_swap.py +++ /dev/null @@ -1,399 +0,0 @@ -# -*- coding:utf-8 -*- - -""" -Huobi USDT Swap Api Module. - -Author: QiaoXiaofeng -Date: 2020/09/10 -Email: andyjoe318@gmail.com -""" - -import gzip -import json -import copy -import hmac -import base64 -import urllib -import hashlib -import datetime -import time -from urllib.parse import urljoin -from alpha.utils.request import AsyncHttpRequests -from alpha.const import USER_AGENT - -__all__ = ("HuobiCoinSwapRestReferenceAPI",) - - -class HuobiCoinSwapRestReferenceAPI: - """ Huobi USDT Swap REST API Client. - - Attributes: - host: HTTP request host. - access_key: Account's ACCESS KEY. - secret_key: Account's SECRET KEY. - passphrase: API KEY Passphrase. - """ - - def __init__(self, host, access_key, secret_key): - """ initialize REST API client. """ - self._host = host - self._access_key = access_key - self._secret_key = secret_key - - async def get_swap_risk_info(self, contract_code=None): - - uri = "/swap-api/v1/swap_risk_info" - params = { - - } - if contract_code: - params["contract_code"] = contract_code - - success, error = await self.request("GET", uri, params=params) - return success, error - - async def get_swap_insurance_fund(self, contract_code, page_index=None, page_size=None): - - uri = "/swap-api/v1/swap_insurance_fund" - params = { - "contract_code": contract_code - } - if page_index: - params["page_index"] = page_index - if page_size: - params["page_size"] = page_size - - success, error = await self.request("GET", uri, params=params) - return success, error - - async def get_swap_adjustfactor(self, contract_code=None): - - uri = "/swap-api/v1/swap_adjustfactor" - params = { - - } - if contract_code: - params["contract_code"] = contract_code - - success, error = await self.request("GET", uri, params=params) - return success, error - - async def get_swap_his_open_interest(self, contract_code, period, amount_type, size=None): - - uri = "/swap-api/v1/swap_his_open_interest" - params = { - "contract_code": contract_code, - "period": period, - "amount_type": amount_type - } - if size: - params["size"] = size - - success, error = await self.request("GET", uri, params=params) - return success, error - - async def get_swap_ladder_margin(self, contract_code=None): - - uri = "/swap-api/v1/swap_ladder_margin" - params = { - - } - if contract_code: - params["contract_code"] = contract_code - - success, error = await self.request("GET", uri, params=params) - return success, error - - async def get_swap_elite_account_ratio(self, contract_code, period): - - uri = "/swap-api/v1/swap_elite_account_ratio" - params = { - "contract_code": contract_code, - "period": period - } - - success, error = await self.request("GET", uri, params=params) - return success, error - - async def get_swap_elite_position_ratio(self, contract_code, period): - - uri = "/swap-api/v1/swap_elite_position_ratio" - params = { - "contract_code": contract_code, - "period": period - } - - success, error = await self.request("GET", uri, params=params) - return success, error - - async def get_swap_estimated_settlement_price(self, contract_code=None): - - uri = "/swap-api/v1/swap_estimated_settlement_price" - params = { - - } - if contract_code: - params["contract_code"] = contract_code - - success, error = await self.request("GET", uri, params=params) - return success, error - - async def get_swap_api_state(self, contract_code=None): - - uri = "/swap-api/v1/swap_api_state" - params = { - - } - if contract_code: - params["contract_code"] = contract_code - - success, error = await self.request("GET", uri, params=params) - return success, error - - async def get_swap_funding_rate(self, contract_code): - - uri = "/swap-api/v1/swap_funding_rate" - params = { - "contract_code": contract_code - } - - success, error = await self.request("GET", uri, params=params) - return success, error - - async def get_swap_batch_funding_rate(self, contract_code=None): - - uri = "/swap-api/v1/swap_batch_funding_rate" - params = { - - } - if contract_code: - params["contract_code"] = contract_code - - success, error = await self.request("GET", uri, params=params) - return success, error - - async def get_swap_historical_funding_rate(self, contract_code, page_index=None, page_size=None): - - uri = "/swap-api/v1/swap_historical_funding_rate" - params = { - "contract_code": contract_code - } - if page_index: - params["page_index"] = page_index - if page_size: - params["page_size"] = page_size - - success, error = await self.request("GET", uri, params=params) - return success, error - - async def get_swap_liquidation_orders(self, contract, trade_type, start_time=None, end_time=None, direct=None, from_id=None): - - uri = "/swap-api/v3/swap_liquidation_orders" - params = { - "contract": contract, - "trade_type": trade_type - } - if start_time: - params["start_time"] = start_time - if end_time: - params["end_time"] = end_time - if direct: - params["direct"] = direct - if from_id: - params["from_id"] = from_id - - success, error = await self.request("GET", uri, params=params) - return success, error - - async def get_swap_settlement_records(self, contract_code, start_time=None, end_time=None, page_index=None, - page_size=None): - - uri = "/swap-api/v1/swap_settlement_records" - params = { - "contract_code": contract_code - } - if start_time: - params["start_time"] = start_time - if end_time: - params["end_time"] = end_time - if page_index: - params["page_index"] = page_index - if page_size: - params["page_size"] = page_size - - success, error = await self.request("GET", uri, params=params) - return success, error - - async def get_swap_info(self, contract_code=None): - """ Get Swap Info - - Args: - contract_code: such as "BTC-USD". - - Returns: - success: Success results, otherwise it's None. - error: Error information, otherwise it's None. - * Note: 1. If input `contract_code`, only matching this contract code. - 2. If not input 'contract_code', matching all contract_codes. - """ - uri = "/swap-api/v1/swap_contract_info" - params = {} - if contract_code: - params["contract_code"] = contract_code - success, error = await self.request("GET", uri, params) - return success, error - - async def get_swap_index(self, contract_code=None): - - uri = "/swap-api/v1/swap_index" - params = { - - } - if contract_code: - params["contract_code"] = contract_code - - success, error = await self.request("GET", uri, params=params) - return success, error - - async def get_swap_query_elements(self, contract_code=None): - - uri = "/swap-api/v1/swap_query_elements" - params = { - - } - if contract_code: - params["contract_code"] = contract_code - - success, error = await self.request("GET", uri, params=params) - return success, error - - async def get_price_limit(self, contract_code=None): - """ Get swap price limit. - - Args: - contract_code: such as "BTC-USD". - - Returns: - success: Success results, otherwise it's None. - error: Error information, otherwise it's None. - - * NOTE: 1. If input `contract_code`, only matching this contract code. - 2. If not input 'contract_code', matching all contract_codes. - """ - uri = "/swap-api/v1/swap_price_limit" - params = {} - if contract_code: - params["contract_code"] = contract_code - success, error = await self.request("GET", uri, params=params) - return success, error - - async def get_swap_open_interest(self, contract_code=None): - - uri = "/swap-api/v1/swap_open_interest" - params = { - - } - if contract_code: - params["contract_code"] = contract_code - - success, error = await self.request("GET", uri, params=params) - return success, error - - async def get_timestamp(self): - - uri = "/api/v1/timestamp" - params = { - - } - - success, error = await self.request("GET", uri, params=params) - return success, error - - async def get_heartbeat(self): - - uri = "/heartbeat/" - params = { - - } - - success, error = await self.request("GET", uri, params=params) - return success, error - - async def get_summary(self): - - uri = "https://status-swap.huobigroup.com/api/v2/summary.json" - params = { - - } - - success, error = await self.request("GET", uri, params=params) - return success, error - - async def request(self, method, uri, params=None, body=None, headers=None, auth=False): - """ Do HTTP request. - - Args: - method: HTTP request method. `GET` / `POST` / `DELETE` / `PUT`. - uri: HTTP request uri. - params: HTTP query params. - body: HTTP request body. - headers: HTTP request headers. - auth: If this request requires authentication. - - Returns: - success: Success results, otherwise it's None. - error: Error information, otherwise it's None. - """ - if uri.startswith("http://") or uri.startswith("https://"): - url = uri - else: - url = self._host + uri - - if auth: - timestamp = datetime.datetime.utcnow().strftime("%Y-%m-%dT%H:%M:%S") - params = params if params else {} - params.update({"AccessKeyId": self._access_key, - "SignatureMethod": "HmacSHA256", - "SignatureVersion": "2", - "Timestamp": timestamp}) - - params["Signature"] = self.generate_signature(method, params, uri) - - if not headers: - headers = {} - if method == "GET": - headers["Content-type"] = "application/x-www-form-urlencoded" - headers["User-Agent"] = USER_AGENT - _, success, error = await AsyncHttpRequests.fetch("GET", url, params=params, headers=headers, timeout=10) - else: - headers["Accept"] = "application/json" - headers["Content-type"] = "application/json" - headers["User-Agent"] = USER_AGENT - _, success, error = await AsyncHttpRequests.fetch("POST", url, params=params, data=body, headers=headers, - timeout=10) - if error: - return None, error - if not isinstance(success, dict): - result = json.loads(success) - else: - result = success - if result.get("status") != "ok": - return None, result - return result, None - - def generate_signature(self, method, params, request_path): - if request_path.startswith("http://") or request_path.startswith("https://"): - host_url = urllib.parse.urlparse(request_path).hostname.lower() - request_path = '/' + '/'.join(request_path.split('/')[3:]) - else: - host_url = urllib.parse.urlparse(self._host).hostname.lower() - sorted_params = sorted(params.items(), key=lambda d: d[0], reverse=False) - encode_params = urllib.parse.urlencode(sorted_params) - payload = [method, host_url, request_path, encode_params] - payload = "\n".join(payload) - payload = payload.encode(encoding="UTF8") - secret_key = self._secret_key.encode(encoding="utf8") - digest = hmac.new(secret_key, payload, digestmod=hashlib.sha256).digest() - signature = base64.b64encode(digest) - signature = signature.decode() - return signature \ No newline at end of file diff --git a/alpha/platforms/huobi_coin_swap/restapi/rest_reference_sync.py b/alpha/platforms/huobi_coin_swap/restapi/rest_reference_sync.py deleted file mode 100644 index 3a1378c..0000000 --- a/alpha/platforms/huobi_coin_swap/restapi/rest_reference_sync.py +++ /dev/null @@ -1,98 +0,0 @@ -import json - -from alpha.utils.http_utils import get - - -class RestReferenceCoinSwap: - def __init__(self, host=None): - if host is None: - host = "api.hbdm.com" - self.host = host - - def swap_risk_info(self, params: dict = None) -> json: - path = "/swap-api/v1/swap_risk_info" - return get(self.host, path, params) - - def swap_insurance_fund(self, params: dict = None) -> json: - path = "/swap-api/v1/swap_insurance_fund" - return get(self.host, path, params) - - def swap_adjustfactor(self, params: dict = None) -> json: - path = "/swap-api/v1/swap_adjustfactor" - return get(self.host, path, params) - - def swap_his_open_interest(self, params: dict = None) -> json: - path = "/swap-api/v1/swap_his_open_interest" - return get(self.host, path, params) - - def swap_ladder_margin(self, params: dict = None) -> json: - path = "/swap-api/v1/swap_ladder_margin" - return get(self.host, path, params) - - def swap_elite_account_ratio(self, params: dict = None) -> json: - path = "/swap-api/v1/swap_elite_account_ratio" - return get(self.host, path, params) - - def swap_elite_position_ratio(self, params: dict = None) -> json: - path = "/swap-api/v1/swap_elite_position_ratio" - return get(self.host, path, params) - - def swap_estimated_settlement_price(self, params: dict = None) -> json: - path = "/swap-api/v1/swap_estimated_settlement_price" - return get(self.host, path, params) - - def swap_api_state(self, params: dict = None) -> json: - path = "/swap-api/v1/swap_api_state" - return get(self.host, path, params) - - def swap_funding_rate(self, params: dict = None) -> json: - path = "/swap-api/v1/swap_funding_rate" - return get(self.host, path, params) - - def swap_batch_funding_rate(self, params: dict = None) -> json: - path = "/swap-api/v1/swap_batch_funding_rate" - return get(self.host, path, params) - - def swap_historical_funding_rate(self, params: dict = None) -> json: - path = "/swap-api/v1/swap_historical_funding_rate" - return get(self.host, path, params) - - def swap_liquidation_orders(self, params: dict = None) -> json: - path = "/swap-api/v3/swap_liquidation_orders" - return get(self.host, path, params) - - def swap_settlement_records(self, params: dict = None) -> json: - path = "/swap-api/v1/swap_settlement_records" - return get(self.host, path, params) - - def swap_contract_info(self, params: dict = None) -> json: - path = "/swap-api/v1/swap_contract_info" - return get(self.host, path, params) - - def swap_index(self, params: dict = None) -> json: - path = "/swap-api/v1/swap_index" - return get(self.host, path, params) - - def swap_query_elements(self, params: dict = None) -> json: - path = "/swap-api/v1/swap_query_elements" - return get(self.host, path, params) - - def swap_price_limit(self, params: dict = None) -> json: - path = "/swap-api/v1/swap_price_limit" - return get(self.host, path, params) - - def swap_open_interest(self, params: dict = None) -> json: - path = "/swap-api/v1/swap_open_interest" - return get(self.host, path, params) - - def timestamp(self, params: dict = None) -> json: - path = "/api/v1/timestamp" - return get(self.host, path, params) - - def heartbeat(self, params: dict = None) -> json: - path = "/heartbeat/" - return get(self.host, path, params) - - def summary(self, params: dict = None) -> json: - path = "https://status-swap.huobigroup.com/api/v2/summary.json" - return get(self.host, path, params) diff --git a/alpha/platforms/huobi_coin_swap/restapi/rest_strategy_coin_swap.py b/alpha/platforms/huobi_coin_swap/restapi/rest_strategy_coin_swap.py deleted file mode 100644 index e5b13a9..0000000 --- a/alpha/platforms/huobi_coin_swap/restapi/rest_strategy_coin_swap.py +++ /dev/null @@ -1,393 +0,0 @@ -# -*- coding:utf-8 -*- - -""" -Huobi USDT Swap Api Module. - -Author: QiaoXiaofeng -Date: 2020/09/10 -Email: andyjoe318@gmail.com -""" - -import gzip -import json -import copy -import hmac -import base64 -import urllib -import hashlib -import datetime -import time -from urllib.parse import urljoin -from alpha.utils.request import AsyncHttpRequests -from alpha.const import USER_AGENT - -__all__ = ("HuobiCoinSwapRestStrategyAPI",) - - -class HuobiCoinSwapRestStrategyAPI: - """ Huobi USDT Swap REST API Client. - - Attributes: - host: HTTP request host. - access_key: Account's ACCESS KEY. - secret_key: Account's SECRET KEY. - passphrase: API KEY Passphrase. - """ - - def __init__(self, host, access_key, secret_key): - """ initialize REST API client. """ - self._host = host - self._access_key = access_key - self._secret_key = secret_key - - async def swap_trigger_order(self, contract_code, trigger_type, trigger_price, volume, direction, offset, - order_price=None, order_price_type=None, lever_rate=None): - - uri = "/swap-api/v1/swap_trigger_order" - body = { - "contract_code": contract_code, - "trigger_type": trigger_type, - "trigger_price": trigger_price, - "volume": volume, - "direction": direction, - "offset": offset - } - - if order_price: - body.update({"order_price": order_price}) - if order_price_type: - body.update({"order_price_type": order_price_type}) - if lever_rate: - body.update({"lever_rate": lever_rate}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def swap_trigger_cancel(self, contract_code, order_id): - - uri = "/swap-api/v1/swap_trigger_cancel" - body = { - "contract_code": contract_code, - "order_id": order_id - } - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def swap_trigger_cancelall(self, contract_code, direction=None, offset=None): - - uri = "/swap-api/v1/swap_trigger_cancelall" - body = { - "contract_code": contract_code - } - - if direction: - body.update({"direction": direction}) - if offset: - body.update({"offset": offset}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def swap_trigger_openorders(self, contract_code, page_index=None, page_size=None, trade_type=None): - - uri = "/swap-api/v1/swap_trigger_openorders" - body = { - "contract_code": contract_code - } - - if page_index: - body.update({"page_index": page_index}) - if page_size: - body.update({"page_size": page_size}) - if trade_type: - body.update({"trade_type": trade_type}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_swap_trigger_hisorders(self, contract_code, trade_type, status, create_date, page_index=None, - page_size=None, sort_by=None): - - uri = "/swap-api/v1/swap_trigger_hisorders" - body = { - "contract_code": contract_code, - "trade_type": trade_type, - "status": status, - "create_date": create_date - } - - if page_index: - body.update({"page_index": page_index}) - if page_size: - body.update({"page_size": page_size}) - if sort_by: - body.update({"sort_by": sort_by}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def swap_tpsl_order(self, contract_code, direction, volume, tp_trigger_price=None, tp_order_price=None, - tp_order_price_type=None, sl_trigger_price=None, sl_order_price=None, sl_order_price_type=None): - - uri = "/swap-api/v1/swap_tpsl_order" - body = { - "contract_code": contract_code, - "direction": direction, - "volume": volume - } - - if tp_trigger_price: - body.update({"tp_trigger_price": tp_trigger_price}) - if tp_order_price: - body.update({"tp_order_price": tp_order_price}) - if tp_order_price_type: - body.update({"tp_order_price_type": tp_order_price_type}) - if sl_trigger_price: - body.update({"sl_trigger_price": sl_trigger_price}) - if sl_order_price: - body.update({"sl_order_price": sl_order_price}) - if sl_order_price_type: - body.update({"sl_order_price_type": sl_order_price_type}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def swap_tpsl_cancel(self, contract_code, direction, volume, tp_trigger_price=None, tp_order_price=None, - tp_order_price_type=None, sl_trigger_price=None, sl_order_price=None, sl_order_price_type=None): - - uri = "/swap-api/v1/swap_tpsl_cancel" - body = { - "contract_code": contract_code, - "direction": direction, - "volume": volume - } - - if tp_trigger_price: - body.update({"tp_trigger_price": tp_trigger_price}) - if tp_order_price: - body.update({"tp_order_price": tp_order_price}) - if tp_order_price_type: - body.update({"tp_order_price_type": tp_order_price_type}) - if sl_trigger_price: - body.update({"sl_trigger_price": sl_trigger_price}) - if sl_order_price: - body.update({"sl_order_price": sl_order_price}) - if sl_order_price_type: - body.update({"sl_order_price_type": sl_order_price_type}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def swap_tpsl_cancelall(self, contract_code, direction=None): - - uri = "/swap-api/v1/swap_tpsl_cancelall" - body = { - "contract_code": contract_code - } - - if direction: - body.update({"direction": direction}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def swap_tpsl_openorders(self, contract_code, page_index=None, page_size=None, trade_type=None): - - uri = "/swap-api/v1/swap_tpsl_openorders" - body = { - "contract_code": contract_code - } - - if page_index: - body.update({"page_index": page_index}) - if page_size: - body.update({"page_size": page_size}) - if trade_type: - body.update({"trade_type": trade_type}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_swap_tpsl_hisorders(self, contract_code, status, create_date, page_index=None, - page_size=None, sort_by=None): - - uri = "/swap-api/v1/swap_tpsl_hisorders" - body = { - "contract_code": contract_code, - "status": status, - "create_date": create_date - } - - if page_index: - body.update({"page_index": page_index}) - if page_size: - body.update({"page_size": page_size}) - if sort_by: - body.update({"sort_by": sort_by}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_swap_relation_tpsl_order(self, contract_code, order_id): - - uri = "/swap-api/v1/swap_relation_tpsl_order" - body = { - "contract_code": contract_code, - "order_id": order_id - } - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def swap_track_order(self, contract_code, direction, offset, volume, callback_rate, active_price, - order_price_type, lever_rate=None): - - uri = "/swap-api/v1/swap_track_order" - body = { - "contract_code": contract_code, - "direction": direction, - "offset": offset, - "volume": volume, - "callback_rate": callback_rate, - "active_price": active_price, - "order_price_type": order_price_type - } - - if lever_rate: - body.update({"lever_rate": lever_rate}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def swap_track_cancel(self, contract_code, order_id): - - uri = "/swap-api/v1/swap_track_cancel" - body = { - "contract_code": contract_code, - "order_id": order_id - } - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def swap_track_cancelall(self, contract_code, direction=None, offset=None): - - uri = "/swap-api/v1/swap_track_cancelall" - body = { - "contract_code": contract_code - } - - if direction: - body.update({"direction": direction}) - if offset: - body.update({"offset": offset}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def swap_track_openorders(self, contract_code, trade_type=None, page_index=None, page_size=None): - - uri = "/swap-api/v1/swap_track_openorders" - body = { - "contract_code": contract_code - } - - if trade_type: - body.update({"trade_type": trade_type}) - if page_index: - body.update({"page_index": page_index}) - if page_size: - body.update({"page_size": page_size}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def swap_track_hisorders(self, contract_code, status, trade_type, create_date, page_index=None, page_size=None, sort_by=None): - - uri = "/swap-api/v1/swap_track_hisorders" - body = { - "contract_code": contract_code, - "status": status, - "trade_type": trade_type, - "create_date": create_date - } - - if page_index: - body.update({"page_index": page_index}) - if page_size: - body.update({"page_size": page_size}) - if sort_by: - body.update({"sort_by": sort_by}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def request(self, method, uri, params=None, body=None, headers=None, auth=False): - """ Do HTTP request. - - Args: - method: HTTP request method. `GET` / `POST` / `DELETE` / `PUT`. - uri: HTTP request uri. - params: HTTP query params. - body: HTTP request body. - headers: HTTP request headers. - auth: If this request requires authentication. - - Returns: - success: Success results, otherwise it's None. - error: Error information, otherwise it's None. - """ - if uri.startswith("http://") or uri.startswith("https://"): - url = uri - else: - url = self._host + uri - - if auth: - timestamp = datetime.datetime.utcnow().strftime("%Y-%m-%dT%H:%M:%S") - params = params if params else {} - params.update({"AccessKeyId": self._access_key, - "SignatureMethod": "HmacSHA256", - "SignatureVersion": "2", - "Timestamp": timestamp}) - - params["Signature"] = self.generate_signature(method, params, uri) - - if not headers: - headers = {} - if method == "GET": - headers["Content-type"] = "application/x-www-form-urlencoded" - headers["User-Agent"] = USER_AGENT - _, success, error = await AsyncHttpRequests.fetch("GET", url, params=params, headers=headers, timeout=10) - else: - headers["Accept"] = "application/json" - headers["Content-type"] = "application/json" - headers["User-Agent"] = USER_AGENT - _, success, error = await AsyncHttpRequests.fetch("POST", url, params=params, data=body, headers=headers, - timeout=10) - if error: - return None, error - if not isinstance(success, dict): - result = json.loads(success) - else: - result = success - if result.get("status") != "ok": - return None, result - return result, None - - def generate_signature(self, method, params, request_path): - if request_path.startswith("http://") or request_path.startswith("https://"): - host_url = urllib.parse.urlparse(request_path).hostname.lower() - request_path = '/' + '/'.join(request_path.split('/')[3:]) - else: - host_url = urllib.parse.urlparse(self._host).hostname.lower() - sorted_params = sorted(params.items(), key=lambda d: d[0], reverse=False) - encode_params = urllib.parse.urlencode(sorted_params) - payload = [method, host_url, request_path, encode_params] - payload = "\n".join(payload) - payload = payload.encode(encoding="UTF8") - secret_key = self._secret_key.encode(encoding="utf8") - digest = hmac.new(secret_key, payload, digestmod=hashlib.sha256).digest() - signature = base64.b64encode(digest) - signature = signature.decode() - return signature \ No newline at end of file diff --git a/alpha/platforms/huobi_coin_swap/restapi/rest_strategy_sync.py b/alpha/platforms/huobi_coin_swap/restapi/rest_strategy_sync.py deleted file mode 100644 index a03fc2a..0000000 --- a/alpha/platforms/huobi_coin_swap/restapi/rest_strategy_sync.py +++ /dev/null @@ -1,80 +0,0 @@ -import json - -from alpha.utils.http_utils import post - - -class RestStrategyCoinSwap: - def __init__(self, access_key: str, secret_key: str, host: str = None): - self.access_key = access_key - self.secret_key = secret_key - if host is None: - host = "api.hbdm.com" - self.host = host - - def swap_trigger_order(self, data: dict = None) -> json: - path = "/swap-api/v1/swap_trigger_order" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_trigger_cancel(self, data: dict = None) -> json: - path = "/swap-api/v1/swap_trigger_cancel" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_trigger_cancelall(self, data: dict = None) -> json: - path = "/swap-api/v1/swap_trigger_cancelall" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_trigger_openorders(self, data: dict = None) -> json: - path = "/swap-api/v1/swap_trigger_openorders" - return post(self.access_key, self.secret_key, self.host, path, data) - - def contract_trigger_hisorders(self, data: dict = None) -> json: - path = "/api/v1/contract_trigger_hisorders" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_trigger_hisorders(self, data: dict = None) -> json: - path = "/swap-api/v1/swap_trigger_hisorders" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_tpsl_order(self, data: dict = None) -> json: - path = "/swap-api/v1/swap_tpsl_order" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_tpsl_cancel(self, data: dict = None) -> json: - path = "/swap-api/v1/swap_tpsl_cancel" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_tpsl_cancelall(self, data: dict = None) -> json: - path = "/swap-api/v1/swap_tpsl_cancelall" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_tpsl_openorders(self, data: dict = None) -> json: - path = "/swap-api/v1/swap_tpsl_openorders" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_tpsl_hisorders(self, data: dict = None) -> json: - path = "/swap-api/v1/swap_tpsl_hisorders" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_relation_tpsl_order(self, data: dict = None) -> json: - path = "/swap-api/v1/swap_relation_tpsl_order" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_track_order(self, data: dict = None) -> json: - path = "/swap-api/v1/swap_track_order" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_track_cancel(self, data: dict = None) -> json: - path = "/swap-api/v1/swap_track_cancel" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_track_cancelall(self, data: dict = None) -> json: - path = "/swap-api/v1/swap_track_cancelall" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_track_openorders(self, data: dict = None) -> json: - path = "/swap-api/v1/swap_track_openorders" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_track_hisorders(self, data: dict = None) -> json: - path = "/swap-api/v1/swap_track_hisorders" - return post(self.access_key, self.secret_key, self.host, path, data) diff --git a/alpha/platforms/huobi_coin_swap/restapi/rest_trade_coin_swap.py b/alpha/platforms/huobi_coin_swap/restapi/rest_trade_coin_swap.py deleted file mode 100644 index 7dce920..0000000 --- a/alpha/platforms/huobi_coin_swap/restapi/rest_trade_coin_swap.py +++ /dev/null @@ -1,455 +0,0 @@ -# -*- coding:utf-8 -*- - -""" -Huobi USDT Swap Api Module. - -Author: QiaoXiaofeng -Date: 2020/09/10 -Email: andyjoe318@gmail.com -""" - -import gzip -import json -import copy -import hmac -import base64 -import urllib -import hashlib -import datetime -import time -from urllib.parse import urljoin -from alpha.utils.request import AsyncHttpRequests -from alpha.const import USER_AGENT - -__all__ = ("HuobiCoinSwapRestTradeAPI",) - - -class HuobiCoinSwapRestTradeAPI: - """ Huobi USDT Swap REST API Client. - - Attributes: - host: HTTP request host. - access_key: Account's ACCESS KEY. - secret_key: Account's SECRET KEY. - passphrase: API KEY Passphrase. - """ - - def __init__(self, host, access_key, secret_key): - """ initialize REST API client. """ - self._host = host - self._access_key = access_key - self._secret_key = secret_key - - async def swap_cancel_after(self, on_off, time_out=None): - - uri = "/swap-api/v1/swap-cancel-after" - body = { - "on_off": on_off - } - - if time_out: - body.update({"time_out": time_out}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_swap_order(self, contract_code, volume, direction, offset, lever_rate, order_price_type, - client_order_id=None, price=None, tp_trigger_price=None, tp_order_price=None, - tp_order_price_type=None, sl_trigger_price=None, sl_order_price=None, - sl_order_price_type=None): - - uri = "/swap-api/v1/swap_order" - body = { - "contract_code": contract_code, - "order_id": volume, - "direction": direction, - "offset": offset, - "lever_rate": lever_rate, - "order_price_type": order_price_type - } - - if client_order_id: - body.update({"client_order_id": client_order_id}) - if price: - body.update({"price": price}) - if tp_trigger_price: - body.update({"tp_trigger_price": tp_trigger_price}) - if tp_order_price: - body.update({"tp_order_price": tp_order_price}) - if tp_order_price_type: - body.update({"tp_order_price_type": tp_order_price_type}) - if sl_trigger_price: - body.update({"sl_trigger_price": sl_trigger_price}) - if sl_order_price: - body.update({"sl_order_price": sl_order_price}) - if sl_order_price_type: - body.update({"sl_order_price_type": sl_order_price_type}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def create_orders(self, orders_data): - """ Batch Create orders. - { - "orders_data": [ - { - "contract_code": "ltc-usd", - "direction": "sell", - "offset": "open", - "price": "136", - "lever_rate": 5, - "volume": 1, - "order_price_type": "opponent", - "tp_trigger_price": 133, - "tp_order_price": 133, - "tp_order_price_type": "optimal_5", - "sl_trigger_price": "139", - "sl_order_price": "139", - "sl_order_price_type": "optimal_5" - }, - { - "contract_code": "ltc-usd", - "direction": "buy", - "offset": "open", - "price": "136", - "lever_rate": 5, - "volume": 1, - "order_price_type": "post_only", - "tp_trigger_price": 139, - "tp_order_price": 139, - "tp_order_price_type": "optimal_5", - "sl_trigger_price": "133", - "sl_order_price": "133", - "sl_order_price_type": "optimal_5" - } - ] - } - """ - uri = "/swap-api/v1/swap_batchorder" - body = orders_data - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def revoke_order(self, contract_code, order_id=None, client_order_id=None): - """ Revoke an order. - - Args: - contract_code: such as "BTC-USD". - order_id: Order ID. - - Returns: - success: Success results, otherwise it's None. - error: Error information, otherwise it's None. - """ - uri = "/swap-api/v1/swap_cancel" - body = { - "contract_code": contract_code - } - if order_id: - body["order_id"] = order_id - if client_order_id: - body["client_order_id"] = client_order_id - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def revoke_orders(self, contract_code, order_ids=None, client_order_ids=None): - """ Revoke multiple orders. - - Args: - contract_code: such as "BTC-USD". - order_ids: Order ID list. - - Returns: - success: Success results, otherwise it's None. - error: Error information, otherwise it's None. - """ - uri = "/swap-api/v1/swap_cancel" - body = { - "contract_code": contract_code - } - if order_ids: - body["order_id"] = ",".join(order_ids) - if client_order_ids: - body["client_order_id"] = ",".join(client_order_ids) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def revoke_order_all(self, contract_code, direction=None, offset=None): - """ Revoke all orders. - - Args: - contract_code: such as "BTC-USD". - - Returns: - success: Success results, otherwise it's None. - error: Error information, otherwise it's None. - - * NOTE: 1. If input `contract_code`, only matching this contract code. - 2. If not input `contract_code`, matching by `symbol + contract_type`. - """ - uri = "/swap-api/v1/swap_cancelall" - body = { - "contract_code": contract_code, - } - if direction: - body["direction"] = direction - if offset: - body["offset"] = offset - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def swap_switch_lever_rate(self, contract_code, lever_rate): - - uri = "/swap-api/v1/swap_switch_lever_rate" - body = { - "contract_code": contract_code, - "lever_rate": lever_rate - } - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_order_info(self, contract_code, order_ids=None, client_order_ids=None): - """ Get order information. - - Args: - contract_code: such as "BTC-USD". - order_ids: Order ID list. (different IDs are separated by ",", maximum 20 orders can be requested at one time.) - client_order_ids: Client Order ID list. (different IDs are separated by ",", maximum 20 orders can be requested at one time.) - - Returns: - success: Success results, otherwise it's None. - error: Error information, otherwise it's None. - """ - uri = "/swap-api/v1/swap_order_info" - body = { - "contract_code": contract_code - } - if order_ids: - body.update({"order_id": ",".join(order_ids)}) - if client_order_ids: - body.update({"client_order_id": ",".join(client_order_ids)}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_swap_order_detail(self, contract_code, order_id, created_at=None, order_type=None, page_index=None, page_size=None): - - uri = "/swap-api/v1/swap_order_detail" - body = { - "contract_code": contract_code, - "order_id": order_id - } - - if created_at: - body.update({"created_at": created_at}) - if order_type: - body.update({"order_type": order_type}) - if page_index: - body.update({"page_index": page_index}) - if page_size: - body.update({"page_size": page_size}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_open_orders(self, contract_code, index=1, size=50, sort_by="created_at", trade_type=0): - """ Get open order information. - - Args: - contract_code: such as "BTC-USD". - index: Page index, default 1st page. - size: Page size, Default 20,no more than 50. - - Returns: - success: Success results, otherwise it's None. - error: Error information, otherwise it's None. - """ - uri = "/swap-api/v1/swap_openorders" - body = { - "contract_code": contract_code, - "page_index": index, - "page_size": size, - "sort_by": sort_by, - "trade_type": trade_type - } - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_swap_hisorders(self, contract, trade_type, type, status, start_time=None, end_time=None, direct=None, - from_id=None): - - uri = "/swap-api/v3/swap_hisorders" - body = { - "contract": contract, - "trade_type": trade_type, - "type": type, - "status": status - } - - if start_time: - body.update({"start_time": start_time}) - if end_time: - body.update({"end_time": end_time}) - if direct: - body.update({"direct": direct}) - if from_id: - body.update({"from_id": from_id}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_swap_hisorders_exact(self, contract, trade_type, type, status, start_time=None, end_time=None, - direct=None, from_id=None, price_type=None): - - uri = "/swap-api/v3/swap_hisorders_exact" - body = { - "contract": contract, - "trade_type": trade_type, - "type": type, - "status": status - } - - if start_time: - body.update({"start_time": start_time}) - if end_time: - body.update({"end_time": end_time}) - if direct: - body.update({"direct": direct}) - if from_id: - body.update({"from_id": from_id}) - if price_type: - body.update({"price_type": price_type}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_swap_matchresults(self, contract, trade_type, start_time=None, end_time=None, direct=None, from_id=None): - - uri = "/swap-api/v3/swap_matchresults" - body = { - "contract": contract, - "trade_type": trade_type - } - - if start_time: - body.update({"start_time": start_time}) - if end_time: - body.update({"end_time": end_time}) - if direct: - body.update({"direct": direct}) - if from_id: - body.update({"from_id": from_id}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_swap_matchresults_exact(self, contract, trade_type, start_time=None, end_time=None, direct=None, - from_id=None): - - uri = "/swap-api/v3/swap_matchresults_exact" - body = { - "contract": contract, - "trade_type": trade_type - } - - if start_time: - body.update({"start_time": start_time}) - if end_time: - body.update({"end_time": end_time}) - if direct: - body.update({"direct": direct}) - if from_id: - body.update({"from_id": from_id}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def swap_lightning_close_position(self, contract_code, volume, direction, client_order_id=None, order_price_type=None): - - uri = "/swap-api/v1/swap_lightning_close_position" - body = { - "contract_code": contract_code, - "volume": volume, - "direction": direction - } - - if client_order_id: - body.update({"client_order_id": client_order_id}) - if order_price_type: - body.update({"order_price_type": order_price_type}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def request(self, method, uri, params=None, body=None, headers=None, auth=False): - """ Do HTTP request. - - Args: - method: HTTP request method. `GET` / `POST` / `DELETE` / `PUT`. - uri: HTTP request uri. - params: HTTP query params. - body: HTTP request body. - headers: HTTP request headers. - auth: If this request requires authentication. - - Returns: - success: Success results, otherwise it's None. - error: Error information, otherwise it's None. - """ - if uri.startswith("http://") or uri.startswith("https://"): - url = uri - else: - url = self._host + uri - - if auth: - timestamp = datetime.datetime.utcnow().strftime("%Y-%m-%dT%H:%M:%S") - params = params if params else {} - params.update({"AccessKeyId": self._access_key, - "SignatureMethod": "HmacSHA256", - "SignatureVersion": "2", - "Timestamp": timestamp}) - - params["Signature"] = self.generate_signature(method, params, uri) - - if not headers: - headers = {} - if method == "GET": - headers["Content-type"] = "application/x-www-form-urlencoded" - headers["User-Agent"] = USER_AGENT - _, success, error = await AsyncHttpRequests.fetch("GET", url, params=params, headers=headers, timeout=10) - else: - headers["Accept"] = "application/json" - headers["Content-type"] = "application/json" - headers["User-Agent"] = USER_AGENT - _, success, error = await AsyncHttpRequests.fetch("POST", url, params=params, data=body, headers=headers, - timeout=10) - if error: - return None, error - if not isinstance(success, dict): - result = json.loads(success) - else: - result = success - if result.get("status") != "ok": - return None, result - return result, None - - def generate_signature(self, method, params, request_path): - if request_path.startswith("http://") or request_path.startswith("https://"): - host_url = urllib.parse.urlparse(request_path).hostname.lower() - request_path = '/' + '/'.join(request_path.split('/')[3:]) - else: - host_url = urllib.parse.urlparse(self._host).hostname.lower() - sorted_params = sorted(params.items(), key=lambda d: d[0], reverse=False) - encode_params = urllib.parse.urlencode(sorted_params) - payload = [method, host_url, request_path, encode_params] - payload = "\n".join(payload) - payload = payload.encode(encoding="UTF8") - secret_key = self._secret_key.encode(encoding="utf8") - digest = hmac.new(secret_key, payload, digestmod=hashlib.sha256).digest() - signature = base64.b64encode(digest) - signature = signature.decode() - return signature \ No newline at end of file diff --git a/alpha/platforms/huobi_coin_swap/restapi/rest_trade_sync.py b/alpha/platforms/huobi_coin_swap/restapi/rest_trade_sync.py deleted file mode 100644 index afe6c28..0000000 --- a/alpha/platforms/huobi_coin_swap/restapi/rest_trade_sync.py +++ /dev/null @@ -1,68 +0,0 @@ -import json - -from alpha.utils.http_utils import post - - -class RestTradeCoinSwap: - def __init__(self, access_key: str, secret_key: str, host: str = None): - self.access_key = access_key - self.secret_key = secret_key - if host is None: - host = "api.hbdm.com" - self.host = host - - def swap_cancel_after(self, data: dict = None) -> json: - path = "/swap-api/v1/swap-cancel-after" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_order(self, data: dict = None) -> json: - path = "/swap-api/v1/swap_order" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_batchorder(self, data: dict = None) -> json: - path = "/swap-api/v1/swap_batchorder" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_cancel(self, data: dict = None) -> json: - path = "/swap-api/v1/swap_cancel" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_cancelall(self, data: dict = None) -> json: - path = "/swap-api/v1/swap_cancelall" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_switch_lever_rate(self, data: dict = None) -> json: - path = "/swap-api/v1/swap_switch_lever_rate" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_order_info(self, data: dict = None) -> json: - path = "/swap-api/v1/swap_order_info" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_order_detail(self, data: dict = None) -> json: - path = "/swap-api/v1/swap_order_detail" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_openorders(self, data: dict = None) -> json: - path = "/swap-api/v1/swap_openorders" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_hisorders(self, data: dict = None) -> json: - path = "/swap-api/v3/swap_hisorders" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_hisorders_exact(self, data: dict = None) -> json: - path = "/swap-api/v3/swap_hisorders_exact" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_matchresults(self, data: dict = None) -> json: - path = "/swap-api/v3/swap_matchresults" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_matchresults_exact(self, data: dict = None) -> json: - path = "/swap-api/v3/swap_matchresults_exact" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_lightning_close_position(self, data: dict = None) -> json: - path = "/swap-api/v1/swap_lightning_close_position" - return post(self.access_key, self.secret_key, self.host, path, data) diff --git a/alpha/platforms/huobi_coin_swap/restapi/rest_transfer_coin_swap.py b/alpha/platforms/huobi_coin_swap/restapi/rest_transfer_coin_swap.py deleted file mode 100644 index ead49c8..0000000 --- a/alpha/platforms/huobi_coin_swap/restapi/rest_transfer_coin_swap.py +++ /dev/null @@ -1,130 +0,0 @@ -# -*- coding:utf-8 -*- - -""" -Huobi USDT Swap Api Module. - -Author: QiaoXiaofeng -Date: 2020/09/10 -Email: andyjoe318@gmail.com -""" - -import gzip -import json -import copy -import hmac -import base64 -import urllib -import hashlib -import datetime -import time -from urllib.parse import urljoin -from alpha.utils.request import AsyncHttpRequests -from alpha.const import USER_AGENT - -__all__ = ("HuobiCoinSwapRestTransferAPI",) - - -class HuobiCoinSwapRestTransferAPI: - """ Huobi USDT Swap REST API Client. - - Attributes: - host: HTTP request host. - access_key: Account's ACCESS KEY. - secret_key: Account's SECRET KEY. - passphrase: API KEY Passphrase. - """ - - def __init__(self, host, access_key, secret_key): - """ initialize REST API client. """ - self._host = host - self._access_key = access_key - self._secret_key = secret_key - - async def transfer_between_spot_swap(self, symbol, amount, from_, to): - """ Do transfer between spot and future. - Args: - symbol: currency,such as btc,eth,etc. - amount: transfer amount.pls note the precision digit is 8. - from_: 'spot' or 'swap' - to: 'spot' or 'swap' - - """ - body = { - "currency": symbol, - "amount": amount, - "from": from_, - "to": to - } - - uri = "https://api.huobi.pro/v2/account/transfer" - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def request(self, method, uri, params=None, body=None, headers=None, auth=False): - """ Do HTTP request. - - Args: - method: HTTP request method. `GET` / `POST` / `DELETE` / `PUT`. - uri: HTTP request uri. - params: HTTP query params. - body: HTTP request body. - headers: HTTP request headers. - auth: If this request requires authentication. - - Returns: - success: Success results, otherwise it's None. - error: Error information, otherwise it's None. - """ - if uri.startswith("http://") or uri.startswith("https://"): - url = uri - else: - url = self._host + uri - - if auth: - timestamp = datetime.datetime.utcnow().strftime("%Y-%m-%dT%H:%M:%S") - params = params if params else {} - params.update({"AccessKeyId": self._access_key, - "SignatureMethod": "HmacSHA256", - "SignatureVersion": "2", - "Timestamp": timestamp}) - - params["Signature"] = self.generate_signature(method, params, uri) - - if not headers: - headers = {} - if method == "GET": - headers["Content-type"] = "application/x-www-form-urlencoded" - headers["User-Agent"] = USER_AGENT - _, success, error = await AsyncHttpRequests.fetch("GET", url, params=params, headers=headers, timeout=10) - else: - headers["Accept"] = "application/json" - headers["Content-type"] = "application/json" - headers["User-Agent"] = USER_AGENT - _, success, error = await AsyncHttpRequests.fetch("POST", url, params=params, data=body, headers=headers, - timeout=10) - if error: - return None, error - if not isinstance(success, dict): - result = json.loads(success) - else: - result = success - if result.get("status") != "ok": - return None, result - return result, None - - def generate_signature(self, method, params, request_path): - if request_path.startswith("http://") or request_path.startswith("https://"): - host_url = urllib.parse.urlparse(request_path).hostname.lower() - request_path = '/' + '/'.join(request_path.split('/')[3:]) - else: - host_url = urllib.parse.urlparse(self._host).hostname.lower() - sorted_params = sorted(params.items(), key=lambda d: d[0], reverse=False) - encode_params = urllib.parse.urlencode(sorted_params) - payload = [method, host_url, request_path, encode_params] - payload = "\n".join(payload) - payload = payload.encode(encoding="UTF8") - secret_key = self._secret_key.encode(encoding="utf8") - digest = hmac.new(secret_key, payload, digestmod=hashlib.sha256).digest() - signature = base64.b64encode(digest) - signature = signature.decode() - return signature \ No newline at end of file diff --git a/alpha/platforms/huobi_coin_swap/restapi/rest_transfer_sync.py b/alpha/platforms/huobi_coin_swap/restapi/rest_transfer_sync.py deleted file mode 100644 index 23eb0ea..0000000 --- a/alpha/platforms/huobi_coin_swap/restapi/rest_transfer_sync.py +++ /dev/null @@ -1,16 +0,0 @@ -import json - -from alpha.utils.http_utils import post - - -class RestTransferCoinSwap: - def __init__(self, access_key: str, secret_key: str, host: str = None): - self.access_key = access_key - self.secret_key = secret_key - if host is None: - host = "api.huobi.pro" - self.host = host - - def transfer(self, data: dict = None) -> json: - path = "/v2/account/transfer" - return post(self.access_key, self.secret_key, self.host, path, data) diff --git a/alpha/platforms/huobi_coin_swap/websocket/__init__.py b/alpha/platforms/huobi_coin_swap/websocket/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/alpha/platforms/huobi_coin_swap/websocket/huobi_swap_market.py b/alpha/platforms/huobi_coin_swap/websocket/huobi_swap_market.py deleted file mode 100644 index a85c0d8..0000000 --- a/alpha/platforms/huobi_coin_swap/websocket/huobi_swap_market.py +++ /dev/null @@ -1,427 +0,0 @@ -# -*— coding:utf-8 -*- - -""" -Huobi Swap Market Server. - -Author: Qiaoxiaofeng -Date: 2020/01/10 -Email: andyjoe318@gmail.com -""" - -import gzip -import json -import time -import asyncio -import copy -from collections import deque - -from alpha.bbo import Bbo -from alpha.depth import Depth -from alpha.detail import Detail -from alpha.utils import logger -from alpha.utils.websocket import Websocket -from alpha.utils.decorator import async_method_locker -from alpha.const import MARKET_TYPE_KLINE -from alpha.order import ORDER_ACTION_BUY, ORDER_ACTION_SELL -from alpha.tasks import SingleTask -from alpha.orderbook import Orderbook -from alpha.markettrade import Trade -from alpha.kline import Kline - -class HuobiSwapMarket(Websocket): - """ Huobi Swap Market Server. - - Attributes: - kwargs: - platform: Exchange platform name, must be `huobi_swap`. - wss: Exchange Websocket host address. - symbols: Trade pair list, e.g. ["BTC-CQ"]. - channels: channel list, only `orderbook`, `kline` ,`trade` , 'depth', 'detail', and 'bbo' to be enabled. - orderbook_length: The length of orderbook's data to be published via OrderbookEvent, default is 10. - """ - - def __init__(self, **kwargs): - self._platform = kwargs["platform"] - self._wss = kwargs.get("wss", "wss://www.hbdm.com") - self._symbols = list(set(kwargs.get("symbols"))) - self._channels = kwargs.get("channels") - self._orderbook_length = kwargs.get("orderbook_length", 10) - self._orderbooks_length = kwargs.get("orderbooks_length", 100) - self._klines_length = kwargs.get("klines_length", 100) - self._trades_length = kwargs.get("trades_length", 100) - self._depth_length = kwargs.get("depth_length", 100) - self._detail_length = kwargs.get("detail_length", 100) - self._bbo_length = kwargs.get("bbo_length", 100) - self._orderbook_update_callback = kwargs.get("orderbook_update_callback") - self._kline_update_callback = kwargs.get("kline_update_callback") - self._trade_update_callback = kwargs.get("trade_update_callback") - self._depth_update_callback = kwargs.get("depth_update_callback") - self._detail_update_callback = kwargs.get("detail_update_callback") - self._bbo_update_callback = kwargs.get("bbo_update_callback") - - self._c_to_s = {} # {"channel": "symbol"} - self._orderbooks = deque(maxlen=self._orderbooks_length) - self._klines = deque(maxlen=self._klines_length) - self._trades = deque(maxlen=self._trades_length) - self._depths = deque(maxlen=self._depth_length) - self._details = deque(maxlen=self._detail_length) - self._bbos = deque(maxlen=self._bbo_length) - - url = self._wss + "/swap-ws" - super(HuobiSwapMarket, self).__init__(url, send_hb_interval=5) - self.initialize() - - @property - def orderbooks(self): - return copy.copy(self._orderbooks) - - @property - def klines(self): - return copy.copy(self._klines) - - @property - def trades(self): - return copy.copy(self._trades) - - @property - def depths(self): - return copy.copy(self._depths) - - @property - def details(self): - return copy.copy(self._details) - - @property - def bbos(self): - return copy.copy(self._bbos) - - async def _send_heartbeat_msg(self, *args, **kwargs): - """ 发送心跳给服务器 - """ - if not self.ws: - logger.warn("websocket connection not connected yet!", caller=self) - return - data = {"pong": int(time.time()*1000)} - try: - await self.ws.send_json(data) - except ConnectionResetError: - await asyncio.get_event_loop().create_task(self._reconnect()) - - async def connected_callback(self): - """ After create Websocket connection successfully, we will subscribing orderbook/trade events. - """ - for ch in self._channels: - if ch == "kline": - for symbol in self._symbols: - channel = self._symbol_to_channel(symbol, "kline") - if not channel: - continue - kline = { - "sub": channel - } - await self.ws.send_json(kline) - elif ch == "orderbook": - for symbol in self._symbols: - channel = self._symbol_to_channel(symbol, "depth") - if not channel: - continue - data = { - "sub": channel - } - await self.ws.send_json(data) - elif ch == "trade": - for symbol in self._symbols: - channel = self._symbol_to_channel(symbol, "trade") - if not channel: - continue - data = { - "sub": channel - } - await self.ws.send_json(data) - elif ch == "depth": - for symbol in self._symbols: - channel = self._symbol_to_channel(symbol, "depth") - if not channel: - continue - data = { - "sub": channel - } - await self.ws.send_json(data) - elif ch == "detail": - for symbol in self._symbols: - channel = self._symbol_to_channel(symbol, "detail") - if not channel: - continue - data = { - "sub": channel - } - await self.ws.send_json(data) - elif ch == "bbo": - for symbol in self._symbols: - channel = self._symbol_to_channel(symbol, "bbo") - if not channel: - continue - data = { - "sub": channel - } - await self.ws.send_json(data) - else: - logger.error("channel error! channel:", ch, caller=self) - - async def process_binary(self, msg): - """ Process binary message that received from Websocket connection. - """ - data = json.loads(gzip.decompress(msg).decode()) - logger.debug("data:", json.dumps(data), caller=self) - channel = data.get("ch") - if not channel: - if data.get("ping"): - hb_msg = {"pong": data.get("ping")} - await self.ws.send_json(hb_msg) - return - - symbol = self._c_to_s[channel] - - if channel.find("kline") != -1: - await self.process_kline(data) - - elif channel.find("depth") != -1: - await self.process_orderbook(data) - - elif channel.find("trade") != -1: - await self.process_trade(data) - - elif channel.find("depth") != -1: - await self.process_depth(data) - - elif channel.find("detail") != -1: - await self.process_detail(data) - - elif channel.find("bbo") != -1: - await self.process_bbo(data) - - else: - logger.error("event error! msg:", msg, caller=self) - - def _symbol_to_channel(self, symbol, channel_type): - """ Convert symbol to channel. - - Args: - symbol: Trade pair name.such as BTC-USD - channel_type: channel name, kline / ticker / depth. - """ - if channel_type == "kline": - channel = "market.{s}.kline.1min".format(s=symbol.upper()) - elif channel_type == "depth": - channel = "market.{s}.depth.step6".format(s=symbol.upper()) - elif channel_type == "trade": - channel = "market.{s}.trade.detail".format(s=symbol.upper()) - elif channel_type == "depth": - channel = "market.{s}.depth.size_20.high_freq".format(s=symbol.upper()) - elif channel_type == "detail": - channel = "market.{s}.detail".format(s=symbol.upper()) - elif channel_type == "bbo": - channel = "market.{s}.bbo".format(s=symbol.upper()) - else: - logger.error("channel type error! channel type:", channel_type, caller=self) - return None - self._c_to_s[channel] = symbol - return channel - - async def process_kline(self, data): - """ process kline data - """ - channel = data.get("ch") - symbol = self._c_to_s[channel] - d = data.get("tick") - info = { - "platform": self._platform, - "symbol": symbol, - "open": "%.8f" % d["open"], - "high": "%.8f" % d["high"], - "low": "%.8f" % d["low"], - "close": "%.8f" % d["close"], - "volume": "%.8f" % d["amount"], - "timestamp": int(data.get("ts")), - "kline_type": MARKET_TYPE_KLINE, - "id": d.get("id"), - "mrid": d.get("mrid"), - "vol": d.get("vol"), - "count": d.get("count"), - "amount": d.get("amount"), - "trade_turnover": d.get("trade_turnover") - } - kline = Kline(**info) - self._klines.append(kline) - SingleTask.run(self._kline_update_callback, copy.copy(kline)) - - logger.debug("symbol:", symbol, "kline:", kline, caller=self) - - async def process_orderbook(self, data): - """ process orderbook data - """ - channel = data.get("ch") - symbol = self._c_to_s[channel] - d = data.get("tick") - asks, bids = [], [] - if d.get("asks"): - for item in d.get("asks")[:self._orderbook_length]: - price = "%.8f" % item[0] - quantity = "%.8f" % item[1] - asks.append([price, quantity]) - if d.get("bids"): - for item in d.get("bids")[:self._orderbook_length]: - price = "%.8f" % item[0] - quantity = "%.8f" % item[1] - bids.append([price, quantity]) - info = { - "platform": self._platform, - "symbol": symbol, - "asks": asks, - "bids": bids, - "timestamp": d.get("ts"), - "mrid": d.get("mrid"), - "id": d.get("id"), - "version": d.get("version"), - "ch": d.get("ch") - } - orderbook = Orderbook(**info) - self._orderbooks.append(orderbook) - SingleTask.run(self._orderbook_update_callback, copy.copy(orderbook)) - logger.debug("symbol:", symbol, "orderbook:", orderbook, caller=self) - - async def process_trade(self, data): - """ process trade - """ - channel = data.get("ch") - symbol = self._c_to_s[channel] - ticks = data.get("tick") - for tick in ticks["data"]: - direction = tick.get("direction") - price = tick.get("price") - quantity = tick.get("amount") - info = { - "platform": self._platform, - "symbol": symbol, - "action": ORDER_ACTION_BUY if direction == "buy" else ORDER_ACTION_SELL, - "price": "%.8f" % price, - "quantity": "%.8f" % quantity, - "timestamp": tick.get("ts"), - "amount": tick.get("amount"), - "id": tick.get("id"), - "direction": tick.get("direction"), - "trade_turnover": tick.get("trade_turnover") - } - trade = Trade(**info) - self._trades.append(trade) - SingleTask.run(self._trade_update_callback, copy.copy(trade)) - logger.debug("symbol:", symbol, "trade:", trade, caller=self) - - async def process_depth(self, data): - """ process depth data - """ - channel = data.get("ch") - symbol = self._c_to_s[channel] - d = data.get("tick") - asks, bids = [], [] - if d.get("asks"): - for item in d.get("asks")[:self._depth_length]: - price = "%.8f" % item[0] - quantity = "%.8f" % item[1] - asks.append([price, quantity]) - if d.get("bids"): - for item in d.get("bids")[:self._depth_length]: - price = "%.8f" % item[0] - quantity = "%.8f" % item[1] - bids.append([price, quantity]) - info = { - "platform": self._platform, - "symbol": symbol, - "asks": asks, - "bids": bids, - "timestamp": d.get("ts"), - "ch": d.get("ch"), - "event": d.get("event"), - "id": d.get("id"), - "mrid": d.get("mrid"), - "version": d.get("version") - } - depth = Depth(**info) - self._depths.append(depth) - SingleTask.run(self._depth_update_callback, copy.copy(depth)) - logger.debug("symbol:", symbol, "depth:", depth, caller=self) - - async def process_detail(self, data): - """ process orderbook data - """ - channel = data.get("ch") - symbol = self._c_to_s[channel] - d = data.get("tick") - asks, bids = [], [] - if d.get("asks"): - for item in d.get("asks")[:self._orderbook_length]: - price = "%.8f" % item[0] - quantity = "%.8f" % item[1] - asks.append([price, quantity]) - if d.get("bids"): - for item in d.get("bids")[:self._orderbook_length]: - price = "%.8f" % item[0] - quantity = "%.8f" % item[1] - bids.append([price, quantity]) - info = { - "platform": self._platform, - "symbol": symbol, - "asks": asks, - "bids": bids, - "timestamp": data.get("ts"), - "id": d.get("id"), - "mrid": d.get("mrid"), - "open": d.get("open"), - "close": d.get("close"), - "high": d.get("high"), - "low": d.get("low"), - "amount": d.get("amount"), - "vol": d.get("vol"), - "trade_turnover": d.get("trade_turnover"), - "count": d.get("count") - } - detail = Detail(**info) - self._details.append(detail) - SingleTask.run(self._detail_update_callback, copy.copy(detail)) - logger.debug("symbol:", symbol, "detail:", detail, caller=self) - - async def process_bbo(self, data): - """ process bbo data - """ - channel = data.get("ch") - symbol = self._c_to_s[channel] - d = data.get("tick") - asks, bids = [], [] - if d.get("asks"): - for item in d.get("asks")[:self._orderbook_length]: - price = "%.8f" % item[0] - quantity = "%.8f" % item[1] - asks.append([price, quantity]) - if d.get("bids"): - for item in d.get("bids")[:self._orderbook_length]: - price = "%.8f" % item[0] - quantity = "%.8f" % item[1] - bids.append([price, quantity]) - info = { - "platform": self._platform, - "symbol": symbol, - "asks": asks, - "bids": bids, - "timestamp": d.get("ts"), - "ch": d.get("ch"), - "mrid": d.get("mrid"), - "id": d.get("id"), - "version": d.get("version") - } - bbo = Bbo(**info) - self._bbos.append(bbo) - SingleTask.run(self._bbo_update_callback, copy.copy(bbo)) - logger.debug("symbol:", symbol, "bbo:", bbo, caller=self) - - - diff --git a/alpha/platforms/huobi_coin_swap/websocket/huobi_swap_trade.py b/alpha/platforms/huobi_coin_swap/websocket/huobi_swap_trade.py deleted file mode 100644 index 2d8790a..0000000 --- a/alpha/platforms/huobi_coin_swap/websocket/huobi_swap_trade.py +++ /dev/null @@ -1,600 +0,0 @@ -# -*- coding:utf-8 -*- - -""" -Huobi Swap Api Module. - -Author: QiaoXiaofeng -Date: 2020/01/10 -Email: andyjoe318@gmail.com -""" - -import gzip -import json -import copy -import datetime -import time -import urllib -import hmac -import base64 -import urllib -import hashlib -import datetime -import time -from urllib.parse import urljoin - -from alpha.asset import Asset -from alpha.order import Order -from alpha.position import Position -from alpha.error import Error -from alpha.utils import tools, logger -from alpha.tasks import SingleTask, LoopRunTask -from alpha.const import HUOBI_SWAP -from alpha.utils.websocket import Websocket -from alpha.utils.request import AsyncHttpRequests -from alpha.utils.decorator import async_method_locker -from alpha.order import ORDER_ACTION_BUY, ORDER_ACTION_SELL -from alpha.order import ORDER_TYPE_LIMIT, ORDER_TYPE_MARKET, ORDER_TYPE_MAKER, ORDER_TYPE_FOK, ORDER_TYPE_IOC -from alpha.order import ORDER_STATUS_SUBMITTED, ORDER_STATUS_PARTIAL_FILLED, ORDER_STATUS_FILLED, \ - ORDER_STATUS_CANCELED, ORDER_STATUS_FAILED, TRADE_TYPE_BUY_OPEN, TRADE_TYPE_SELL_OPEN, TRADE_TYPE_BUY_CLOSE, \ - TRADE_TYPE_SELL_CLOSE -from alpha.platforms.huobi_swap_api import HuobiSwapRestAPI - - -__all__ = ("HuobiSwapTrade", ) - -class HuobiSwapTrade(Websocket): - """ Huobi Swap Trade module. You can initialize trade object with some attributes in kwargs. - - Attributes: - account: Account name for this trade exchange. - strategy: What's name would you want to created for you strategy. - symbol: Symbol name for your trade. - host: HTTP request host. default `https://api.hbdm.com"`. - wss: Websocket address. default `wss://www.hbdm.com`. - access_key: Account's ACCESS KEY. - secret_key Account's SECRET KEY. - asset_update_callback: You can use this param to specific a async callback function when you initializing Trade - object. `asset_update_callback` is like `async def on_asset_update_callback(asset: Asset): pass` and this - callback function will be executed asynchronous when received AssetEvent. - order_update_callback: You can use this param to specific a async callback function when you initializing Trade - object. `order_update_callback` is like `async def on_order_update_callback(order: Order): pass` and this - callback function will be executed asynchronous when some order state updated. - position_update_callback: You can use this param to specific a async callback function when you initializing Trade - object. `position_update_callback` is like `async def on_position_update_callback(order: Position): pass` and - this callback function will be executed asynchronous when some position state updated. - init_success_callback: You can use this param to specific a async callback function when you initializing Trade - object. `init_success_callback` is like `async def on_init_success_callback(success: bool, error: Error, **kwargs): pass` - and this callback function will be executed asynchronous after Trade module object initialized successfully. - """ - - def __init__(self, **kwargs): - """Initialize.""" - e = None - if not kwargs.get("account"): - e = Error("param account miss") - if not kwargs.get("strategy"): - e = Error("param strategy miss") - if not kwargs.get("symbol"): - e = Error("param symbol miss") - if not kwargs.get("contract_type"): - e = Error("param contract_type miss") - if not kwargs.get("host"): - kwargs["host"] = "https://api.hbdm.com" - if not kwargs.get("wss"): - kwargs["wss"] = "wss://api.hbdm.com" - if not kwargs.get("access_key"): - e = Error("param access_key miss") - if not kwargs.get("secret_key"): - e = Error("param secret_key miss") - if e: - logger.error(e, caller=self) - if kwargs.get("init_success_callback"): - SingleTask.run(kwargs["init_success_callback"], False, e) - return - - self._account = kwargs["account"] - self._strategy = kwargs["strategy"] - self._platform = HUOBI_SWAP - self._symbol = kwargs["symbol"] - self._contract_type = kwargs["contract_type"] - self._host = kwargs["host"] - self._wss = kwargs["wss"] - self._access_key = kwargs["access_key"] - self._secret_key = kwargs["secret_key"] - self._order_update_callback = kwargs.get("order_update_callback") - self._position_update_callback = kwargs.get("position_update_callback") - self._asset_update_callback = kwargs.get("asset_update_callback") - self._init_success_callback = kwargs.get("init_success_callback") - - url = self._wss + "/swap-notification" - super(HuobiSwapTrade, self).__init__(url, send_hb_interval=5) - - self._assets = {} # Asset detail, {"BTC": {"free": "1.1", "locked": "2.2", "total": "3.3"}, ... }. - self._orders = {} # Order objects, {"order_id": order, ...}. - self._position = Position(self._platform, self._account, self._strategy, self._symbol + '/' + self._contract_type) - - self._order_channel = "orders.{symbol}".format(symbol=self._symbol) - self._position_channel = "positions.{symbol}".format(symbol=self._symbol) - self._asset_channel = "accounts.{symbol}".format(symbol=self._symbol) - - self._subscribe_order_ok = False - self._subscribe_position_ok = False - self._subscribe_asset_ok = False - - self._rest_api = HuobiSwapRestAPI(self._host, self._access_key, self._secret_key) - - self.initialize() - - - @property - def assets(self): - return copy.copy(self._assets) - - @property - def orders(self): - return copy.copy(self._orders) - - @property - def position(self): - return copy.copy(self._position) - - @property - def rest_api(self): - return self._rest_api - - async def _send_heartbeat_msg(self, *args, **kwargs): - data = {"op": "pong", "ts": str(int(time.time()*1000))} - if not self.ws: - logger.error("Websocket connection not yeah!", caller=self) - return - await self.ws.send_json(data) - - async def connected_callback(self): - """After connect to Websocket server successfully, send a auth message to server.""" - timestamp = datetime.datetime.utcnow().strftime("%Y-%m-%dT%H:%M:%S") - data = { - "AccessKeyId": self._access_key, - "SignatureMethod": "HmacSHA256", - "SignatureVersion": "2", - "Timestamp": timestamp - } - sign = self.generate_signature("GET", data, "/swap-notification") - data["op"] = "auth" - data["type"] = "api" - data["Signature"] = sign - await self.ws.send_json(data) - - def generate_signature(self, method, params, request_path): - host_url = urllib.parse.urlparse(self._wss).hostname.lower() - #host_url = "172.18.6.227:9090" - sorted_params = sorted(params.items(), key=lambda d: d[0], reverse=False) - encode_params = urllib.parse.urlencode(sorted_params) - payload = [method, host_url, request_path, encode_params] - payload = "\n".join(payload) - payload = payload.encode(encoding="UTF8") - secret_key = self._secret_key.encode(encoding="utf8") - digest = hmac.new(secret_key, payload, digestmod=hashlib.sha256).digest() - signature = base64.b64encode(digest) - signature = signature.decode() - return signature - - async def auth_callback(self, data): - if data["err-code"] != 0: - e = Error("Websocket connection authorized failed: {}".format(data)) - logger.error(e, caller=self) - SingleTask.run(self._init_success_callback, False, e) - return - self._subscribe_order_ok = False - self._subscribe_position_ok = False - self._subscribe_asset_ok = False - - # subscribe order - data = { - "op": "sub", - "cid": tools.get_uuid1(), - "topic": self._order_channel - } - await self.ws.send_json(data) - - # subscribe position - data = { - "op": "sub", - "cid": tools.get_uuid1(), - "topic": self._position_channel - } - await self.ws.send_json(data) - - # subscribe asset - data = { - "op": "sub", - "cid": tools.get_uuid1(), - "topic": self._asset_channel - } - await self.ws.send_json(data) - - async def sub_callback(self, data): - if data["err-code"] != 0: - e = Error("subscribe {} failed!".format(data["topic"])) - logger.error(e, caller=self) - SingleTask.run(self._init_success_callback, False, e) - return - if data["topic"] == self._order_channel: - self._subscribe_order_ok = True - elif data["topic"] == self._position_channel: - self._subscribe_position_ok = True - elif data["topic"] == self._asset_channel: - self._subscribe_asset_ok = True - if self._subscribe_order_ok and self._subscribe_position_ok \ - and self._subscribe_asset_ok: - success, error = await self._rest_api.get_open_orders(self._symbol) - if error: - e = Error("get open orders failed!") - SingleTask.run(self._init_success_callback, False, e) - elif "data" in success and "orders" in success["data"]: - for order_info in success["data"]["orders"]: - order_info["ts"] = order_info["created_at"] - self._update_order(order_info) - SingleTask.run(self._init_success_callback, True, None) - else: - logger.warn("get open orders:", success, caller=self) - e = Error("Get Open Orders Unknown error") - SingleTask.run(self._init_success_callback, False, e) - - @async_method_locker("HuobiSwapTrade.process_binary.locker") - async def process_binary(self, raw): - """ 处理websocket上接收到的消息 - @param raw 原始的压缩数据 - """ - data = json.loads(gzip.decompress(raw).decode()) - logger.debug("data:", data, caller=self) - - op = data.get("op") - if op == "ping": - hb_msg = {"op": "pong", "ts": data.get("ts")} - await self.ws.send_json(hb_msg) - - elif op == "auth": - await self.auth_callback(data) - - elif op == "sub": - await self.sub_callback(data) - - elif op == "notify": - if data["topic"].startswith("orders"): - self._update_order(data) - elif data["topic"].startswith("positions"): - self._update_position(data) - elif data["topic"].startswith("accounts"): - self._update_asset(data) - - async def create_order(self, action, price, quantity, order_type=ORDER_TYPE_LIMIT, client_order_id=None, *args, **kwargs): - """ Create an order. - - Args: - action: Trade direction, BUY or SELL. - price: Price of each contract. - quantity: The buying or selling quantity. - order_type: Order type, LIMIT or MARKET. - kwargs: - lever_rate: Leverage rate, 10 or 20. - - Returns: - order_no: Order ID if created successfully, otherwise it's None. - error: Error information, otherwise it's None. - """ - if int(quantity) > 0: - if action == ORDER_ACTION_BUY: - direction = "buy" - offset = "open" - elif action == ORDER_ACTION_SELL: - direction = "sell" - offset = "close" - else: - return None, "action error" - else: - if action == ORDER_ACTION_BUY: - direction = "buy" - offset = "close" - elif action == ORDER_ACTION_SELL: - direction = "sell" - offset = "open" - else: - return None, "action error" - - lever_rate = kwargs.get("lever_rate", 20) - if order_type == ORDER_TYPE_LIMIT: - order_price_type = "limit" - elif order_type == ORDER_TYPE_MARKET: - order_price_type = "optimal_20" - elif order_type == ORDER_TYPE_MAKER: - order_price_type = "post_only" - elif order_type == ORDER_TYPE_FOK: - order_price_type = "fok" - elif order_type == ORDER_TYPE_IOC: - order_price_type = "ioc" - - else: - return None, "order type error" - - quantity = abs(int(quantity)) - result, error = await self._rest_api.create_order(self._symbol, - price, quantity, direction, offset, lever_rate, - order_price_type, client_order_id) - if error: - return None, error - return str(result["data"]["order_id"]), None - - async def create_orders(self, orders, *args, **kwargs): - """ batch create orders - - Args: - orders_data: [] - list item: - action: Trade direction, BUY or SELL. - price: Price of each contract. - quantity: The buying or selling quantity. - order_type: Order type, LIMIT or MARKET. - lever_rate: leverage. - kwargs: - - Returns: - success: order info if created successfully. - error: erros information. - """ - orders_data = [] - for order in orders: - if int(order["quantity"]) > 0: - if order["action"] == ORDER_ACTION_BUY: - direction = "buy" - offset = "open" - elif order["action"] == ORDER_ACTION_SELL: - direction = "sell" - offset = "close" - else: - return None, "action error" - else: - if order["action"] == ORDER_ACTION_BUY: - direction = "buy" - offset = "close" - elif order["action"] == ORDER_ACTION_SELL: - direction = "sell" - offset = "open" - else: - return None, "action error" - - lever_rate = order["lever_rate"] - if order["order_type"] == ORDER_TYPE_LIMIT: - order_price_type = "limit" - elif order["order_type"] == ORDER_TYPE_MARKET: - order_price_type = "optimal_20" - elif order["order_type"] == ORDER_TYPE_MAKER: - order_price_type = "post_only" - elif order["order_type"] == ORDER_TYPE_FOK: - order_price_type = "fok" - elif order["order_type"] == ORDER_TYPE_IOC: - order_price_type = "ioc" - else: - return None, "order type error" - - quantity = abs(int(order["quantity"])) - - client_order_id = order.get("client_order_id", "") - - orders_data.append({"contract_code": self._symbol, \ - "client_order_id": client_order_id, "price": order["price"], "volume": quantity, "direction": direction, "offset": offset, \ - "leverRate": lever_rate, "orderPriceType": order_price_type}) - - result, error = await self._rest_api.create_orders({"orders_data": orders_data}) - if error: - return None, error - order_nos = [ order["order_id"] for order in result.get("data").get("success")] - return order_nos, result.get("data").get("errors") - - async def revoke_order(self, *order_nos): - """ Revoke (an) order(s). - - Args: - order_nos: Order id list, you can set this param to 0 or multiple items. If you set 0 param, you can cancel - all orders for this symbol(initialized in Trade object). If you set 1 param, you can cancel an order. - If you set multiple param, you can cancel multiple orders. Do not set param length more than 100. - - Returns: - Success or error, see bellow. - """ - # If len(order_nos) == 0, you will cancel all orders for this symbol(initialized in Trade object). - if len(order_nos) == 0: - success, error = await self._rest_api.revoke_order_all(self._symbol) - if error: - return False, error - if success.get("errors"): - return False, success["errors"] - return True, None - - # If len(order_nos) == 1, you will cancel an order. - if len(order_nos) == 1: - success, error = await self._rest_api.revoke_order(self._symbol, order_nos[0]) - if error: - return order_nos[0], error - if success.get("errors"): - return False, success["errors"] - else: - return order_nos[0], None - - # If len(order_nos) > 1, you will cancel multiple orders. - if len(order_nos) > 1: - success, error = await self._rest_api.revoke_orders(self._symbol, order_nos) - if error: - return order_nos[0], error - if success.get("errors"): - return False, success["errors"] - return success, error - - async def get_open_order_nos(self): - """ Get open order id list. - - Args: - None. - - Returns: - order_nos: Open order id list, otherwise it's None. - error: Error information, otherwise it's None. - """ - success, error = await self._rest_api.get_open_orders(self._symbol) - if error: - return None, error - else: - order_nos = [] - for order_info in success["data"]["orders"]: - if order_info["contract_code"] != self._symbol: - continue - order_nos.append(str(order_info["order_id"])) - return order_nos, None - - def _update_order(self, order_info): - """ Order update. - - Args: - order_info: Order information. - """ - if order_info["contract_code"] != self._symbol: - return - order_no = str(order_info["order_id"]) - status = order_info["status"] - - order = self._orders.get(order_no) - if not order: - if order_info["direction"] == "buy": - if order_info["offset"] == "open": - trade_type = TRADE_TYPE_BUY_OPEN - else: - trade_type = TRADE_TYPE_BUY_CLOSE - else: - if order_info["offset"] == "close": - trade_type = TRADE_TYPE_SELL_CLOSE - else: - trade_type = TRADE_TYPE_SELL_OPEN - - info = { - "platform": self._platform, - "account": self._account, - "strategy": self._strategy, - "order_no": order_no, - "client_order_id": order_info.get("client_order_id"), - "order_price_type": order_info.get("order_price_type"), - "order_type": order_info["order_type"], - "action": ORDER_ACTION_BUY if order_info["direction"] == "buy" else ORDER_ACTION_SELL, - "symbol": self._symbol + '/' + self._contract_type, - "price": order_info["price"], - "quantity": order_info["volume"], - "trade_type": trade_type - } - order = Order(**info) - self._orders[order_no] = order - - order.trade_quantity = None - order.trade_price = None - if order_info.get("trade"): - quantity = 0 - price = 0 - amount = 0 - count = len(order_info.get("trade")) - for trade in order_info.get("trade"): - order.role = trade.get("role") - quantity += float(trade.get("trade_volume")) - amount += float(trade.get("trade_volume")*trade.get("trade_price")) - price = amount/quantity - order.trade_quantity = int(quantity) - order.trade_price = price - - if status in [1, 2, 3]: - order.status = ORDER_STATUS_SUBMITTED - elif status == 4: - order.status = ORDER_STATUS_PARTIAL_FILLED - order.remain = int(order.quantity) - int(order_info["trade_volume"]) - elif status == 6: - order.status = ORDER_STATUS_FILLED - order.remain = 0 - elif status in [5, 7]: - order.status = ORDER_STATUS_CANCELED - order.remain = int(order.quantity) - int(order_info["trade_volume"]) - else: - return - - order.avg_price = order_info["trade_avg_price"] - order.ctime = order_info["created_at"] - order.utime = order_info["ts"] - - SingleTask.run(self._order_update_callback, copy.copy(order)) - - # Delete order that already completed. - if order.status in [ORDER_STATUS_FAILED, ORDER_STATUS_CANCELED, ORDER_STATUS_FILLED]: - self._orders.pop(order_no) - - # publish order - logger.info("symbol:", order.symbol, "order:", order, caller=self) - - def _update_position(self, data): - """ Position update. - - Args: - position_info: Position information. - - Returns: - None. - """ - for position_info in data["data"]: - if position_info["contract_code"] != self._symbol: - continue - if position_info["direction"] == "buy": - self._position.long_quantity = int(position_info["volume"]) - self._position.long_avg_price = position_info["cost_open"] - else: - self._position.short_quantity = int(position_info["volume"]) - self._position.short_avg_price = position_info["cost_open"] - # self._position.liquid_price = None - self._position.utime = data["ts"] - SingleTask.run(self._position_update_callback, copy.copy(self._position)) - - def _update_asset(self, data): - """ Asset update. - - Args: - data: asset data. - - Returns: - None. - """ - assets = {} - for item in data["data"]: - symbol = item["symbol"].upper() - total = float(item["margin_balance"]) - free = float(item["margin_available"]) - locked = float(item["margin_frozen"]) - if total > 0: - assets[symbol] = { - "total": "%.8f" % total, - "free": "%.8f" % free, - "locked": "%.8f" % locked - } - if assets == self._assets: - update = False - else: - update = True - if hasattr(self._assets, "assets") is False: - info = { - "platform": self._platform, - "account": self._account, - "assets": assets, - "timestamp": tools.get_cur_timestamp_ms(), - "update": update - } - asset = Asset(**info) - self._assets = asset - SingleTask.run(self._asset_update_callback, copy.copy(self._assets)) - else: - for symbol in assets: - self._assets.assets.update({ - symbol: assets[symbol] - }) - self._assets.timestamp = tools.get_cur_timestamp_ms() - SingleTask.run(self._asset_update_callback, copy.copy(self._assets)) diff --git a/alpha/platforms/huobi_coin_swap/websocket/ws_account_coin_swap.py b/alpha/platforms/huobi_coin_swap/websocket/ws_account_coin_swap.py deleted file mode 100644 index 3fcd9cb..0000000 --- a/alpha/platforms/huobi_coin_swap/websocket/ws_account_coin_swap.py +++ /dev/null @@ -1,13 +0,0 @@ -from alpha.utils.ws_utils import * - - -class WsAccount(WsUtils): - def __init__(self, access_key: str, secret_key: str, host: str = None): - super(WsAccount, self).__init__("/swap-notification", host, access_key, secret_key) - - def sub(self, data:dict, callback): - self._sub(json.dumps(data), callback) - - def unsub(self, data:dict): - self._unsub(json.dumps(data)) - \ No newline at end of file diff --git a/alpha/platforms/huobi_coin_swap/websocket/ws_index_coin_swap.py b/alpha/platforms/huobi_coin_swap/websocket/ws_index_coin_swap.py deleted file mode 100644 index e18635b..0000000 --- a/alpha/platforms/huobi_coin_swap/websocket/ws_index_coin_swap.py +++ /dev/null @@ -1,12 +0,0 @@ -from alpha.utils.ws_utils import * - - -class WsIndex(WsUtils): - def __init__(self, host: str = None): - super(WsIndex, self).__init__("/ws_index", host) - - def sub(self, data:dict, callback): - self._sub(json.dumps(data), callback) - - def req(self, data:dict, callback): - self._req(json.dumps(data), callback) \ No newline at end of file diff --git a/alpha/platforms/huobi_coin_swap/websocket/ws_market_coin_swap.py b/alpha/platforms/huobi_coin_swap/websocket/ws_market_coin_swap.py deleted file mode 100644 index 7e4cfa6..0000000 --- a/alpha/platforms/huobi_coin_swap/websocket/ws_market_coin_swap.py +++ /dev/null @@ -1,12 +0,0 @@ -from alpha.utils.ws_utils import * - - -class WsMarket(WsUtils): - def __init__(self, host: str = None): - super(WsMarket, self).__init__("/swap-ws", host) - - def sub(self, data:dict, callback): - self._sub(json.dumps(data), callback) - - def req(self, data:dict, callback): - self._req(json.dumps(data), callback) diff --git a/alpha/platforms/huobi_coin_swap/websocket/ws_system_coin_swap.py b/alpha/platforms/huobi_coin_swap/websocket/ws_system_coin_swap.py deleted file mode 100644 index 5c9cbc3..0000000 --- a/alpha/platforms/huobi_coin_swap/websocket/ws_system_coin_swap.py +++ /dev/null @@ -1,10 +0,0 @@ -from alpha.utils.ws_utils import * - - -class WsSystem(WsUtils): - def __init__(self, host: str = None): - super(WsSystem, self).__init__("/center-notification", host) - - def sub(self, data:dict, callback): - self._sub(json.dumps(data), callback) - \ No newline at end of file diff --git a/alpha/platforms/huobi_option/__init__.py b/alpha/platforms/huobi_option/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/alpha/platforms/huobi_option/huobi_option_api.py b/alpha/platforms/huobi_option/huobi_option_api.py deleted file mode 100644 index 081bce9..0000000 --- a/alpha/platforms/huobi_option/huobi_option_api.py +++ /dev/null @@ -1,624 +0,0 @@ -# -*- coding:utf-8 -*- - -""" -Huobi Option Api Module. - -Author: QiaoXiaofeng -Date: 2020/06/24 -Email: andyjoe318@gmail.com -""" - -import gzip -import json -import copy -import hmac -import base64 -import urllib -import hashlib -import datetime -import time -from urllib.parse import urljoin -from alpha.utils.request import AsyncHttpRequests -from alpha.const import USER_AGENT - - -__all__ = ("HuobiOptionRestAPI", ) - -class HuobiOptionRestAPI: - """ Huobi Option REST API Client. - - Attributes: - host: HTTP request host. - access_key: Account's ACCESS KEY. - secret_key: Account's SECRET KEY. - passphrase: API KEY Passphrase. - """ - - def __init__(self, host, access_key, secret_key): - """ initialize REST API client. """ - self._host = host - self._access_key = access_key - self._secret_key = secret_key - - async def get_option_info(self, contract_code=None): - """ Get Option Info - - Args: - symbol: option.such as "BTC" - trade_partition: option. such as "USDT" - contract_type: option. such as "this_week","next_week","quarter" - contract_code: option. such as "BTC-USDT-200508-C-8800". - - Returns: - success: Success results, otherwise it's None. - error: Error information, otherwise it's None. - * Note: 1. If input `contract_code`, only matching this contract code. - 2. If not input 'contract_code', matching all contract_codes. - """ - uri = "/option-api/v1/option_contract_info" - params = {} - if contract_code: - params["contract_code"] = contract_code - success, error = await self.request("GET", uri, params) - return success, error - - async def get_price_limit(self, contract_code): - """ Get swap price limit. - - Args: - contract_code: such as "BTC-USDT-200508-C-8800". - - Returns: - success: Success results, otherwise it's None. - error: Error information, otherwise it's None. - - * NOTE: 1. If input `contract_code`, only matching this contract code. - 2. If not input 'contract_code', matching all contract_codes. - """ - uri = "/option-api/v1/option_price_limit" - params = {} - params["contract_code"] = contract_code - success, error = await self.request("GET", uri, params=params) - return success, error - - async def get_market_index(self, contract_code): - """ Get Market Index - - Args: - contract_code: such as BTC-USDT-200508-C-8800 - - Returns: - success: Success results, otherwise it's None. - error: Error information, otherwise it's None. - - """ - uri = "/option-api/v1/option_market_index" - params = {} - params["contract_code"] = contract_code - success, error = await self.request("GET", uri, params=params) - return success, error - - async def get_orderbook(self, contract_code): - """ Get orderbook information. - - Args: - contract_code: such as "TC-USDT-200508-C-8800". - - Returns: - success: Success results, otherwise it's None. - error: Error information, otherwise it's None. - """ - uri = "/option-ex/market/depth" - params = { - "contract_code": contract_code, - "type": "step0" - } - success, error = await self.request("GET", uri, params=params) - return success, error - - async def get_asset_info(self, symbol=None, trade_partition=None): - """ Get account asset information. - - Args: - symbol: such as "BTC". - trade_partition: such as "USDT". - - Returns: - success: Success results, otherwise it's None. - error: Error information, otherwise it's None. - """ - uri = "/option-api/v1/option_account_info" - body = {} - if symbol: - body["symbol"] = symbol - if trade_partition: - body["trade_partition"] = trade_partition - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_position(self, symbol=None, trade_partition=None,contract_code=None): - """ Get position information. - - Args: - symbol: such as "BTC". - trade_partition: such as "USDT". - contract_code: such as "BTC-USDT-200508-C-8800". - - Returns: - success: Success results, otherwise it's None. - error: Error information, otherwise it's None. - """ - uri = "/option-api/v1/option_position_info" - body = {} - if symbol: - body["symbol"] = symbol - if trade_partition: - body["trade_partition"] = trade_partition - if contract_code: - body["contract_code"] = contract_code - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def create_order(self, contract_code, price, quantity, direction, offset, - order_price_type, client_order_id=None): - """ Create an new order. - - Args: - contract_code: such as "BTC-USDT-200508-C-8800". - price: Order price. - quantity: Order amount. - direction: Transaction direction, `buy` / `sell`. - offset: `open` / `close`. - order_price_type: Order type, `limit` - limit order, `opponent` - market order.etc. - client_order_id: long. - - Returns: - success: Success results, otherwise it's None. - error: Error information, otherwise it's None. - """ - uri = "/option-api/v1/option_order" - body = { - "contract_code": contract_code, - "price": price, - "volume": quantity, - "direction": direction, - "offset": offset, - "order_price_type": order_price_type - } - if client_order_id: - body.update({"client_order_id": client_order_id}) - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def create_orders(self, orders_data): - """ Batch Create orders. - orders_data = {'orders_data': [ - { - 'contract_code':'BTC-USDT-200508-C-8800', 'client_order_id':'', - 'price':1, 'volume':1, 'direction':'buy', 'offset':'open', - 'order_price_type':'limit'}, - { - 'contract_code':'BTC-USDT-200508-C-8800', 'client_order_id':'', - 'price':2, 'volume':2, 'direction':'buy', 'offset':'open', - 'order_price_type':'limit'}]} - """ - uri = "/option-api/v1/option_batchorder" - body = orders_data - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - - async def revoke_order(self, trade_partition="", order_id="", client_order_id=""): - """ Revoke an order. - - Args: - trade_partition: trade partition such as "USDT". - order_id: Order ID. - client_order_id: client order. - - Returns: - success: Success results, otherwise it's None. - error: Error information, otherwise it's None. - """ - uri = "/option-api/v1/option_cancel" - body = {} - if trade_partition: - body.update({'trade_partition': trade_partition}) - if order_id: - body.update({'order_id': order_id}) - if client_order_id: - body.update({'client_order_id': client_order_id}) - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def revoke_orders(self, trade_partition="", order_ids=[], client_order_ids=[]): - """ Revoke multiple orders. - - Args: - trade_partition: trade partition such as "USDT". - order_ids: Order ID list. - - Returns: - success: Success results, otherwise it's None. - error: Error information, otherwise it's None. - """ - uri = "/option-api/v1/option_cancel" - body = { - } - if trade_partition: - body.update({'trade_partition': trade_partition}) - if order_ids: - body.update({'order_id': ",".join(order_ids)}) - if client_order_ids: - body.update({'client_order_id': ",".join(client_order_ids)}) - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def revoke_order_all(self, symbol = "", trade_partition="", contract_type="", contract_code=""): - """ Revoke all orders. - - Args: - symbol: such as "BTC". - trade_partition: such as "USDT". - contract_type: such as "this_week", "next_week", "quarter". - contract_code: such as "BTC-USDT-200508-C-8800". - - - Returns: - success: Success results, otherwise it's None. - error: Error information, otherwise it's None. - - """ - uri = "/option-api/v1/option_cancelall" - body = { - } - if symbol: - body.update({"symbol": symbol}) - if trade_partition: - body.update({"trade_partition": trade_partition}) - if contract_type: - body.update({"contract_type": contract_type}) - if contract_code: - body.update({"contract_code": contract_code}) - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_order_info(self, symbol, trade_partition="", order_ids=[], client_order_ids=[]): - """ Get order information. - - Args: - symbol: such as "BTC". - trade_partition: such as "USDT". - contract_code: such as "BTC-USDT-200508-C-8800". - order_ids: Order ID list. (different IDs are separated by ",", maximum 50 orders can be requested at one time.) - client_order_ids: Client Order ID list. (different IDs are separated by ",", maximum 50 orders can be requested at one time.) - - Returns: - success: Success results, otherwise it's None. - error: Error information, otherwise it's None. - """ - uri = "/option-api/v1/option_order_info" - body = { - "symbol": symbol - } - if trade_partition: - body.update({"trade_partition": trade_partition}) - if order_ids: - body.update({"order_id": ",".join(order_ids)}) - if client_order_ids: - body.update({"client_order_id": ",".join(client_order_ids)}) - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_open_orders(self, contract_code="", symbol="", trade_partition="", index=1, size=50): - """ Get open order information. - - Args: - symbol: such as "BTC". - trade_partition: such as "USDT". - contract_code: such as "BTC-USDT-200508-C-8800". - index: Page index, default 1st page. - size: Page size, Default 20,no more than 50. - - Returns: - success: Success results, otherwise it's None. - error: Error information, otherwise it's None. - """ - uri = "/option-api/v1/option_openorders" - body = { - "page_index": index, - "page_size": size - } - - if symbol: - body.update({"symbol": symbol}) - if trade_partition: - body.update({"trade_partition": trade_partition}) - if contract_code: - body.update({"contract_code": contract_code}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_history_orders(self, symbol, trade_type, stype, status, \ - create_date, trade_partition="", contract_code="", order_type="", page_index=0, page_size=50): - """ Get history orders information. - - Args: - symbol: such as "BTC". - trade_partition: such as "USDT". - contract_code: such as "BTC-USDT-200508-C-8800". - trade_type: 0:all,1: buy long,2: sell short,3: buy short,4: sell long,5: sell liquidation,6: buy liquidation,7:Delivery long,8: Delivery short - stype: 1:All Orders,2:Order in Finished Status - status: status: 1. Ready to submit the orders; 2. Ready to submit the orders; 3. Have sumbmitted the orders; \ - 4. Orders partially matched; 5. Orders cancelled with partially matched; 6. Orders fully matched; 7. Orders cancelled; 11. Orders cancelling. - create_date: any positive integer available. Requesting data beyond 90 will not be supported, otherwise, system will return trigger history data \ - within the last 90 days by default. - page_index: default 1st page - page_size: default page size 20. 50 max. - - Returns: - success: Success results, otherwise it's None. - error: Error information, otherwise it's None. - - """ - uri = "/option-api/v1/option_hisorders" - body = { - "symbol": symbol, - "trade_type": trade_type, - "type": stype, - "status": status, - "create_date": create_date, - "page_index": page_index, - "page_size": page_size - } - if trade_partition: - body.update({"trade_partition": trade_partition}) - if contract_code: - body.update({"contract_code": contract_code}) - if order_type: - body.update({"order_type": order_type}) - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def create_trigger_order(self, contract_code, trigger_type, \ - trigger_price, order_price, order_price_type, volume, direction, offset): - """ Create trigger order - - Args: - contract_code: contract code,such as BTC-USDT-200508-C-8800. - trigger_type: trigger type,such as ge,le. - trigger_price: trigger price. - order_price: order price. - order_price_type: "limit" by default."optimal_5"\"optimal_10"\"optimal_20" - volume: volume. - direction: "buy" or "sell". - offset: "open" or "close". - - Returns: - refer to https://huobiapi.github.io/docs/option/v1/cn/#03b4e6fa59 - - """ - uri = "/option-api/v1/option_trigger_order" - body = { - "contract_code": contract_code, - "trigger_type": trigger_type, - "trigger_price": trigger_price, - "order_price": order_price, - "order_price_type": order_price_type, - "volume": volume, - "direction": direction, - "offset": offset - } - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def revoke_trigger_order(self, symbol, order_id, trade_partition=None): - """ Revoke trigger order - - Args: - symbol: symbol,such as "BTC". - trade_partition: such as "USDT". - order_id: order ids.multiple orders need to be joined by ','. - - Returns: - refer to https://huobiapi.github.io/docs/option/v1/cn/#03b4e6fa59 - - """ - uri = "/option-api/v1/option_trigger_cancel" - body = { - "symbol": symbol, - "order_id": order_id - } - if trade_partition: - body.update({"trade_partition": trade_partition}) - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def revoke_all_trigger_orders(self, symbol, trade_partition=None, contract_code=None, contract_type=None): - """ Revoke all trigger orders - - Args: - symbol: symbol, such as "BTC" - trade_partition: such as "USDT". - contract_code: contract_code, such as BTC-USDT-200508-C-8800. - contract_type: contract_type, such as this_week, next_week, quarter. - - Returns: - refer to https://huobiapi.github.io/docs/option/v1/cn/#2857693297 - - """ - uri = "/option-api/v1/option_trigger_cancelall" - body = { - "symbol": symbol - } - - if trade_partition: - body.update({"trade_partition": trade_partition}) - if contract_code: - body.update({"contract_code": contract_code}) - if contract_type: - body.update({"contract_type": contract_type}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_trigger_openorders(self, symbol, trade_partition=None, contract_code=None, page_index=None, page_size=None): - """ Get trigger openorders - Args: - symbol: symbol, such as "BTC" - trade_partition: such as "USDT". - contract_code: contract code, such as BTC180914. - page_index: page index.1 by default. - page_size: page size.20 by default. - - Returns: - refer to https://huobiapi.github.io/docs/option/v1/cn/#362fe20088 - """ - - uri = "/option-api/v1/option_trigger_openorders" - body = { - "symbol": symbol, - } - if trade_partition: - body.update({"trade_partition": trade_partition}) - if contract_code: - body.update({"contract_code": contract_code}) - if page_index: - body.update({"page_index": page_index}) - if page_size: - body.update({"page_size": page_size}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_trigger_hisorders(self, symbol, trade_type, status, create_date, trade_partition=None, contract_code=None, page_index=None, page_size=None): - """ Get trigger hisorders - - Args: - symbol: symbol,such as "BTC" - trade_partition: such as "USDT". - contract_code: contract code. - trade_type: trade type. 0:all 1:open buy 2:open sell 3:close buy 4:close sell - status: status. 0: orders finished. 4: orders submitted. 5: order filled. 6:order cancelled. multiple status is joined by ',' - create_date: days. such as 1-90. - page_index: 1 by default. - page_size: 20 by default.50 at most. - - Returns: - https://huobiapi.github.io/docs/option/v1/cn/#37aeb9f3bd - - """ - - uri = "/option-api/v1/option_trigger_hisorders" - body = { - "symbol": symbol, - "trade_type": trade_type, - "status": status, - "create_date": create_date, - } - - if trade_partition: - body.update({"trade_partition": trade_partition}) - if contract_code: - body.update({"contract_code": contract_code}) - if page_index: - body.update({"page_index": page_index}) - if page_size: - body.update({"page_size": page_size}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - - async def transfer_between_spot_option(self, symbol, amount, from_, to, tradePartition="USDT"): - """ Do transfer between spot and option. - Args: - symbol: currency,such as btc,eth,etc. - amount: transfer amount.pls note the precision digit is 8. - from_: 'spot' or 'option' - to: 'spot' or 'option', - tradePartition: trade partition. - - """ - body = { - "currency": symbol, - "amount": amount, - "from": from_, - "to": to, - "tradePartition": tradePartition - } - - uri = "https://api.huobi.pro/v2/account/transfer" - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def request(self, method, uri, params=None, body=None, headers=None, auth=False): - """ Do HTTP request. - - Args: - method: HTTP request method. `GET` / `POST` / `DELETE` / `PUT`. - uri: HTTP request uri. - params: HTTP query params. - body: HTTP request body. - headers: HTTP request headers. - auth: If this request requires authentication. - - Returns: - success: Success results, otherwise it's None. - error: Error information, otherwise it's None. - """ - if uri.startswith("http://") or uri.startswith("https://"): - url = uri - else: - url = self._host + uri - - if auth: - timestamp = datetime.datetime.utcnow().strftime("%Y-%m-%dT%H:%M:%S") - params = params if params else {} - params.update({"AccessKeyId": self._access_key, - "SignatureMethod": "HmacSHA256", - "SignatureVersion": "2", - "Timestamp": timestamp}) - - params["Signature"] = self.generate_signature(method, params, uri) - - if not headers: - headers = {} - if method == "GET": - headers["Content-type"] = "application/x-www-form-urlencoded" - headers["User-Agent"] = USER_AGENT - _, success, error = await AsyncHttpRequests.fetch("GET", url, params=params, headers=headers, timeout=10) - else: - headers["Accept"] = "application/json" - headers["Content-type"] = "application/json" - headers["User-Agent"] = USER_AGENT - _, success, error = await AsyncHttpRequests.fetch("POST", url, params=params, data=body, headers=headers, - timeout=10) - if error: - return None, error - if not isinstance(success, dict): - result = json.loads(success) - else: - result = success - if result.get("status") != "ok": - return None, result - return result, None - - def generate_signature(self, method, params, request_path): - if request_path.startswith("http://") or request_path.startswith("https://"): - host_url = urllib.parse.urlparse(request_path).hostname.lower() - request_path = '/' + '/'.join(request_path.split('/')[3:]) - else: - host_url = urllib.parse.urlparse(self._host).hostname.lower() - sorted_params = sorted(params.items(), key=lambda d: d[0], reverse=False) - encode_params = urllib.parse.urlencode(sorted_params) - payload = [method, host_url, request_path, encode_params] - payload = "\n".join(payload) - payload = payload.encode(encoding="UTF8") - secret_key = self._secret_key.encode(encoding="utf8") - digest = hmac.new(secret_key, payload, digestmod=hashlib.sha256).digest() - signature = base64.b64encode(digest) - signature = signature.decode() - return signature diff --git a/alpha/platforms/huobi_option/huobi_option_market.py b/alpha/platforms/huobi_option/huobi_option_market.py deleted file mode 100644 index c63f616..0000000 --- a/alpha/platforms/huobi_option/huobi_option_market.py +++ /dev/null @@ -1,241 +0,0 @@ -# -*— coding:utf-8 -*- - -""" -Huobi Option Market Server. - -Author: Qiaoxiaofeng -Date: 2020/06/19 -Email: andyjoe318@gmail.com -""" - -import gzip -import json -import time -import asyncio -import copy -from collections import deque - -from alpha.utils import logger -from alpha.utils.websocket import Websocket -from alpha.utils.decorator import async_method_locker -from alpha.const import MARKET_TYPE_KLINE -from alpha.order import ORDER_ACTION_BUY, ORDER_ACTION_SELL -from alpha.tasks import SingleTask -from alpha.orderbook import Orderbook -from alpha.markettrade import Trade -from alpha.kline import Kline - -class HuobiOptionMarket(Websocket): - """ Huobi Option Market Server. - - Attributes: - kwargs: - platform: Exchange platform name, must be `huobi_option`. - wss: Exchange Websocket host address. - symbols: Trade pair list, e.g. ["BTC-USDT-200508-C-8800"]. - channels: channel list, only `orderbook`, `kline` and `trade` to be enabled. - orderbook_length: The length of orderbook's data to be published via OrderbookEvent, default is 10. - """ - - def __init__(self, **kwargs): - self._platform = kwargs["platform"] - self._wss = kwargs.get("wss", "wss://api.hbdm.com") - self._symbols = list(set(kwargs.get("symbols"))) - self._channels = kwargs.get("channels") - self._orderbook_length = kwargs.get("orderbook_length", 10) - self._orderbooks_length = kwargs.get("orderbooks_length", 100) - self._klines_length = kwargs.get("klines_length", 100) - self._trades_length = kwargs.get("trades_length", 100) - self._orderbook_update_callback = kwargs.get("orderbook_update_callback") - self._kline_update_callback = kwargs.get("kline_update_callback") - self._trade_update_callback = kwargs.get("trade_update_callback") - - self._c_to_s = {} # {"channel": "symbol"} - self._orderbooks = deque(maxlen=self._orderbooks_length) - self._klines = deque(maxlen=self._klines_length) - self._trades = deque(maxlen=self._trades_length) - - url = self._wss + "/option-ws" - super(HuobiOptionMarket, self).__init__(url, send_hb_interval=5) - self.initialize() - - @property - def orderbooks(self): - return copy.copy(self._orderbooks) - - @property - def klines(self): - return copy.copy(self._klines) - - @property - def trades(self): - return copy.copy(self._trades) - - async def _send_heartbeat_msg(self, *args, **kwargs): - """ 发送心跳给服务器 - """ - if not self.ws: - logger.warn("websocket connection not connected yet!", caller=self) - return - data = {"pong": int(time.time()*1000)} - try: - await self.ws.send_json(data) - except ConnectionResetError: - await asyncio.get_event_loop().create_task(self._reconnect()) - - async def connected_callback(self): - """ After create Websocket connection successfully, we will subscribing orderbook/trade events. - """ - for ch in self._channels: - if ch == "kline": - for symbol in self._symbols: - channel = self._symbol_to_channel(symbol, "kline") - if not channel: - continue - kline = { - "sub": channel - } - await self.ws.send_json(kline) - elif ch == "orderbook": - for symbol in self._symbols: - channel = self._symbol_to_channel(symbol, "depth") - if not channel: - continue - data = { - "sub": channel - } - await self.ws.send_json(data) - elif ch == "trade": - for symbol in self._symbols: - channel = self._symbol_to_channel(symbol, "trade") - if not channel: - continue - data = { - "sub": channel - } - await self.ws.send_json(data) - else: - logger.error("channel error! channel:", ch, caller=self) - - async def process_binary(self, msg): - """ Process binary message that received from Websocket connection. - """ - data = json.loads(gzip.decompress(msg).decode()) - logger.debug("data:", json.dumps(data), caller=self) - channel = data.get("ch") - if not channel: - if data.get("ping"): - hb_msg = {"pong": data.get("ping")} - await self.ws.send_json(hb_msg) - return - - symbol = self._c_to_s[channel] - - if channel.find("kline") != -1: - await self.process_kline(data) - - elif channel.find("depth") != -1: - await self.process_orderbook(data) - - elif channel.find("trade") != -1: - await self.process_trade(data) - else: - logger.error("event error! msg:", msg, caller=self) - - def _symbol_to_channel(self, symbol, channel_type): - """ Convert symbol to channel. - - Args: - symbol: Trade pair name.such as BTC-USD - channel_type: channel name, kline / ticker / depth. - """ - if channel_type == "kline": - channel = "market.{s}.kline.1min".format(s=symbol.upper()) - elif channel_type == "depth": - channel = "market.{s}.depth.step6".format(s=symbol.upper()) - elif channel_type == "trade": - channel = "market.{s}.trade.detail".format(s=symbol.upper()) - else: - logger.error("channel type error! channel type:", channel_type, caller=self) - return None - self._c_to_s[channel] = symbol - return channel - - async def process_kline(self, data): - """ process kline data - """ - channel = data.get("ch") - symbol = self._c_to_s[channel] - d = data.get("tick") - info = { - "platform": self._platform, - "symbol": symbol, - "open": "%.8f" % d["open"], - "high": "%.8f" % d["high"], - "low": "%.8f" % d["low"], - "close": "%.8f" % d["close"], - "volume": "%.8f" % d["amount"], - "timestamp": int(data.get("ts")), - "kline_type": MARKET_TYPE_KLINE - } - kline = Kline(**info) - self._klines.append(kline) - SingleTask.run(self._kline_update_callback, copy.copy(kline)) - - logger.debug("symbol:", symbol, "kline:", kline, caller=self) - - async def process_orderbook(self, data): - """ process orderbook data - """ - channel = data.get("ch") - symbol = self._c_to_s[channel] - d = data.get("tick") - asks, bids = [], [] - if d.get("asks"): - for item in d.get("asks")[:self._orderbook_length]: - price = "%.8f" % item[0] - quantity = "%.8f" % item[1] - asks.append([price, quantity]) - if d.get("bids"): - for item in d.get("bids")[:self._orderbook_length]: - price = "%.8f" % item[0] - quantity = "%.8f" % item[1] - bids.append([price, quantity]) - info = { - "platform": self._platform, - "symbol": symbol, - "asks": asks, - "bids": bids, - "timestamp": d.get("ts") - } - orderbook = Orderbook(**info) - self._orderbooks.append(orderbook) - SingleTask.run(self._orderbook_update_callback, copy.copy(orderbook)) - logger.debug("symbol:", symbol, "orderbook:", orderbook, caller=self) - - async def process_trade(self, data): - """ process trade - """ - channel = data.get("ch") - symbol = self._c_to_s[channel] - ticks = data.get("tick") - for tick in ticks["data"]: - direction = tick.get("direction") - price = tick.get("price") - quantity = tick.get("amount") - info = { - "platform": self._platform, - "symbol": symbol, - "action": ORDER_ACTION_BUY if direction == "buy" else ORDER_ACTION_SELL, - "price": "%.8f" % price, - "quantity": "%.8f" % quantity, - "timestamp": tick.get("ts") - } - trade = Trade(**info) - self._trades.append(trade) - SingleTask.run(self._trade_update_callback, copy.copy(trade)) - logger.debug("symbol:", symbol, "trade:", trade, caller=self) - - - - diff --git a/alpha/platforms/huobi_option/huobi_option_trade.py b/alpha/platforms/huobi_option/huobi_option_trade.py deleted file mode 100644 index 25b98e6..0000000 --- a/alpha/platforms/huobi_option/huobi_option_trade.py +++ /dev/null @@ -1,614 +0,0 @@ -# -*- coding:utf-8 -*- - -""" -Huobi Option Api Module. - -Author: QiaoXiaofeng -Date: 2020/06/19 -Email: andyjoe318@gmail.com -""" - -import gzip -import json -import copy -import datetime -import time -import urllib -import hmac -import base64 -import urllib -import hashlib -import datetime -import time -from urllib.parse import urljoin - -from alpha.asset import Asset -from alpha.order import Order -from alpha.position import Position -from alpha.error import Error -from alpha.utils import tools, logger -from alpha.tasks import SingleTask, LoopRunTask -from alpha.const import HUOBI_OPTION -from alpha.utils.websocket import Websocket -from alpha.utils.request import AsyncHttpRequests -from alpha.utils.decorator import async_method_locker -from alpha.order import ORDER_ACTION_BUY, ORDER_ACTION_SELL -from alpha.order import ORDER_TYPE_LIMIT, ORDER_TYPE_MARKET, ORDER_TYPE_MAKER, ORDER_TYPE_FOK, ORDER_TYPE_IOC -from alpha.order import ORDER_STATUS_SUBMITTED, ORDER_STATUS_PARTIAL_FILLED, ORDER_STATUS_FILLED, \ - ORDER_STATUS_CANCELED, ORDER_STATUS_FAILED, TRADE_TYPE_BUY_OPEN, TRADE_TYPE_SELL_OPEN, TRADE_TYPE_BUY_CLOSE, \ - TRADE_TYPE_SELL_CLOSE -from .huobi_option_api import HuobiOptionRestAPI - - -__all__ = ("HuobiOptionTrade", ) - -class HuobiOptionTrade(Websocket): - """ Huobi Option Trade module. You can initialize trade object with some attributes in kwargs. - - Attributes: - account: Account name for this trade exchange. - strategy: What's name would you want to created for you strategy. - symbol: Symbol name for your trade. - host: HTTP request host. default `https://api.hbdm.com"`. - wss: Websocket address. default `wss://api.hbdm.com`. - access_key: Account's ACCESS KEY. - secret_key Account's SECRET KEY. - asset_update_callback: You can use this param to specific a async callback function when you initializing Trade - object. `asset_update_callback` is like `async def on_asset_update_callback(asset: Asset): pass` and this - callback function will be executed asynchronous when received AssetEvent. - order_update_callback: You can use this param to specific a async callback function when you initializing Trade - object. `order_update_callback` is like `async def on_order_update_callback(order: Order): pass` and this - callback function will be executed asynchronous when some order state updated. - position_update_callback: You can use this param to specific a async callback function when you initializing Trade - object. `position_update_callback` is like `async def on_position_update_callback(order: Position): pass` and - this callback function will be executed asynchronous when some position state updated. - init_success_callback: You can use this param to specific a async callback function when you initializing Trade - object. `init_success_callback` is like `async def on_init_success_callback(success: bool, error: Error, **kwargs): pass` - and this callback function will be executed asynchronous after Trade module object initialized successfully. - """ - - def __init__(self, **kwargs): - """Initialize.""" - e = None - if not kwargs.get("account"): - e = Error("param account miss") - if not kwargs.get("strategy"): - e = Error("param strategy miss") - if not kwargs.get("symbol"): - e = Error("param symbol miss") - if not kwargs.get("host"): - kwargs["host"] = "https://api.hbdm.com" - if not kwargs.get("wss"): - kwargs["wss"] = "wss://api.hbdm.com" - if not kwargs.get("access_key"): - e = Error("param access_key miss") - if not kwargs.get("secret_key"): - e = Error("param secret_key miss") - if e: - logger.error(e, caller=self) - if kwargs.get("init_success_callback"): - SingleTask.run(kwargs["init_success_callback"], False, e) - return - - self._account = kwargs["account"] - self._strategy = kwargs["strategy"] - self._platform = HUOBI_OPTION - self._symbol = kwargs["symbol"] - self._host = kwargs["host"] - self._wss = kwargs["wss"] - self._access_key = kwargs["access_key"] - self._secret_key = kwargs["secret_key"] - self._order_update_callback = kwargs.get("order_update_callback") - self._position_update_callback = kwargs.get("position_update_callback") - self._asset_update_callback = kwargs.get("asset_update_callback") - self._init_success_callback = kwargs.get("init_success_callback") - - url = self._wss + "/option-notification" - super(HuobiOptionTrade, self).__init__(url, send_hb_interval=5) - - self._raw_symbol = self._symbol.split("-")[0] - self._trade_partition = self._symbol.split("-")[1] - - self._assets = {} # Asset detail, {"BTC": {"free": "1.1", "locked": "2.2", "total": "3.3"}, ... }. - self._orders = {} # Order objects, {"order_id": order, ...}. - self._position = Position(self._platform, self._account, self._strategy, self._symbol) - - self._order_channel = "orders.{symbol}".format(symbol='-'.join(self._symbol.split('-')[:2])) - self._position_channel = "positions.{symbol}".format(symbol='-'.join(self._symbol.split('-')[:2])) - self._asset_channels = ["accounts.{symbol}".format(symbol='-'.join(self._symbol.split('-')[:2])), - "accounts.{symbol}".format(symbol='-'.join([self._symbol.split('-')[1], self._symbol.split('-')[1]]))] - - - self._subscribe_order_ok = False - self._subscribe_position_ok = False - self._subscribe_asset_ok = False - - self._rest_api = HuobiOptionRestAPI(self._host, self._access_key, self._secret_key) - - self.initialize() - - - @property - def assets(self): - return copy.copy(self._assets) - - @property - def orders(self): - return copy.copy(self._orders) - - @property - def position(self): - return copy.copy(self._position) - - @property - def rest_api(self): - return self._rest_api - - async def _send_heartbeat_msg(self, *args, **kwargs): - data = {"pong": int(time.time()*1000)} - if not self.ws: - logger.error("Websocket connection not yeah!", caller=self) - return - await self.ws.send_json(data) - - async def connected_callback(self): - """After connect to Websocket server successfully, send a auth message to server.""" - timestamp = datetime.datetime.utcnow().strftime("%Y-%m-%dT%H:%M:%S") - data = { - "AccessKeyId": self._access_key, - "SignatureMethod": "HmacSHA256", - "SignatureVersion": "2", - "Timestamp": timestamp - } - sign = self.generate_signature("GET", data, "/option-notification") - data["op"] = "auth" - data["type"] = "api" - data["Signature"] = sign - await self.ws.send_json(data) - - def generate_signature(self, method, params, request_path): - host_url = urllib.parse.urlparse(self._wss).hostname.lower() - #host_url = "172.18.6.227:9090" - sorted_params = sorted(params.items(), key=lambda d: d[0], reverse=False) - encode_params = urllib.parse.urlencode(sorted_params) - payload = [method, host_url, request_path, encode_params] - payload = "\n".join(payload) - payload = payload.encode(encoding="UTF8") - secret_key = self._secret_key.encode(encoding="utf8") - digest = hmac.new(secret_key, payload, digestmod=hashlib.sha256).digest() - signature = base64.b64encode(digest) - signature = signature.decode() - return signature - - async def auth_callback(self, data): - if data["err-code"] != 0: - e = Error("Websocket connection authorized failed: {}".format(data)) - logger.error(e, caller=self) - SingleTask.run(self._init_success_callback, False, e) - return - - # subscribe order - data = { - "op": "sub", - "cid": tools.get_uuid1(), - "topic": self._order_channel - } - await self.ws.send_json(data) - - # subscribe position - data = { - "op": "sub", - "cid": tools.get_uuid1(), - "topic": self._position_channel - } - await self.ws.send_json(data) - - # subscribe asset - for channel in self._asset_channels: - data = { - "op": "sub", - "cid": tools.get_uuid1(), - "topic": channel - } - await self.ws.send_json(data) - - async def sub_callback(self, data): - if data["err-code"] != 0: - e = Error("subscribe {} failed!".format(data["topic"])) - logger.error(e, caller=self) - SingleTask.run(self._init_success_callback, False, e) - return - if data["topic"] == self._order_channel: - self._subscribe_order_ok = True - elif data["topic"] == self._position_channel: - self._subscribe_position_ok = True - elif data["topic"] in self._asset_channels: - self._subscribe_asset_ok = True - if self._subscribe_order_ok and self._subscribe_position_ok \ - and self._subscribe_asset_ok: - success, error = await self._rest_api.get_open_orders(self._symbol) - if error: - e = Error("get open orders failed!") - SingleTask.run(self._init_success_callback, False, e) - elif "data" in success and "orders" in success["data"]: - for order_info in success["data"]["orders"]: - order_info["ts"] = order_info["created_at"] - self._update_order(order_info) - SingleTask.run(self._init_success_callback, True, None) - else: - logger.warn("get open orders:", success, caller=self) - e = Error("Get Open Orders Unknown error") - SingleTask.run(self._init_success_callback, False, e) - - @async_method_locker("HuobiOptionTrade.process_binary.locker") - async def process_binary(self, raw): - """ 处理websocket上接收到的消息 - @param raw 原始的压缩数据 - """ - data = json.loads(gzip.decompress(raw).decode()) - logger.debug("data:", data, caller=self) - - op = data.get("op") - if op == "ping": - hb_msg = {"op": "pong", "ts": int(data.get("ts"))} - await self.ws.send_json(hb_msg) - - elif op == "auth": - await self.auth_callback(data) - - elif op == "sub": - await self.sub_callback(data) - - elif op == "notify": - if data["topic"].startswith("orders"): - self._update_order(data) - elif data["topic"].startswith("positions"): - self._update_position(data) - elif data["topic"].startswith("accounts"): - self._update_asset(data) - - async def create_order(self, action, price, quantity, order_type=ORDER_TYPE_LIMIT, client_order_id=None, *args, **kwargs): - """ Create an order. - - Args: - action: Trade direction, BUY or SELL. - price: Price of each contract. - quantity: The buying or selling quantity. - order_type: Order type, LIMIT or MARKET. - kwargs: - lever_rate: Leverage rate, 10 or 20. - - Returns: - order_no: Order ID if created successfully, otherwise it's None. - error: Error information, otherwise it's None. - """ - if int(quantity) > 0: - if action == ORDER_ACTION_BUY: - direction = "buy" - offset = "open" - elif action == ORDER_ACTION_SELL: - direction = "sell" - offset = "close" - else: - return None, "action error" - else: - if action == ORDER_ACTION_BUY: - direction = "buy" - offset = "close" - elif action == ORDER_ACTION_SELL: - direction = "sell" - offset = "open" - else: - return None, "action error" - - if order_type == ORDER_TYPE_LIMIT: - order_price_type = "limit" - elif order_type == ORDER_TYPE_MARKET: - order_price_type = "optimal_20" - elif order_type == ORDER_TYPE_MAKER: - order_price_type = "post_only" - elif order_type == ORDER_TYPE_FOK: - order_price_type = "fok" - elif order_type == ORDER_TYPE_IOC: - order_price_type = "ioc" - - else: - return None, "order type error" - - quantity = abs(int(quantity)) - result, error = await self._rest_api.create_order(self._symbol, - price, quantity, direction, offset, - order_price_type, client_order_id) - if error: - return None, error - return str(result["data"]["order_id"]), None - - async def create_orders(self, orders, *args, **kwargs): - """ batch create orders - - Args: - orders_data: [] - list item: - action: Trade direction, BUY or SELL. - price: Price of each contract. - quantity: The buying or selling quantity. - order_type: Order type, LIMIT or MARKET. - kwargs: - - Returns: - success: order info if created successfully. - error: erros information. - """ - orders_data = [] - for order in orders: - if int(order["quantity"]) > 0: - if order["action"] == ORDER_ACTION_BUY: - direction = "buy" - offset = "open" - elif order["action"] == ORDER_ACTION_SELL: - direction = "sell" - offset = "close" - else: - return None, "action error" - else: - if order["action"] == ORDER_ACTION_BUY: - direction = "buy" - offset = "close" - elif order["action"] == ORDER_ACTION_SELL: - direction = "sell" - offset = "open" - else: - return None, "action error" - - if order["order_type"] == ORDER_TYPE_LIMIT: - order_price_type = "limit" - elif order["order_type"] == ORDER_TYPE_MARKET: - order_price_type = "optimal_20" - elif order["order_type"] == ORDER_TYPE_MAKER: - order_price_type = "post_only" - elif order["order_type"] == ORDER_TYPE_FOK: - order_price_type = "fok" - elif order["order_type"] == ORDER_TYPE_IOC: - order_price_type = "ioc" - else: - return None, "order type error" - - quantity = abs(int(order["quantity"])) - - client_order_id = order.get("client_order_id", "") - - orders_data.append({"contract_code": self._symbol, \ - "client_order_id": client_order_id, "price": order["price"], "volume": quantity, "direction": direction, "offset": offset, \ - "order_price_type": order_price_type}) - - result, error = await self._rest_api.create_orders({"orders_data": orders_data}) - if error: - return None, error - order_nos = [ order["order_id"] for order in result.get("data").get("success")] - return order_nos, result.get("data").get("errors") - - async def revoke_order(self, *order_nos): - """ Revoke (an) order(s). - - Args: - order_nos: Order id list, you can set this param to 0 or multiple items. If you set 0 param, you can cancel - all orders for this symbol(initialized in Trade object). If you set 1 param, you can cancel an order. - If you set multiple param, you can cancel multiple orders. Do not set param length more than 100. - - Returns: - Success or error, see bellow. - """ - # If len(order_nos) == 0, you will cancel all orders for this symbol(initialized in Trade object). - if len(order_nos) == 0: - success, error = await self._rest_api.revoke_order_all(self._raw_symbol, self._trade_partition, "", self._symbol) - if error: - return False, error - if success.get("errors"): - return False, success["errors"] - return True, None - - # If len(order_nos) == 1, you will cancel an order. - if len(order_nos) == 1: - success, error = await self._rest_api.revoke_order(self._trade_partition, order_nos[0]) - if error: - return order_nos[0], error - if success.get("errors"): - return False, success["errors"] - else: - return order_nos[0], None - - # If len(order_nos) > 1, you will cancel multiple orders. - if len(order_nos) > 1: - success, error = await self._rest_api.revoke_orders(self._trade_partition, order_nos) - if error: - return order_nos[0], error - if success.get("errors"): - return False, success["errors"] - return success, error - - async def get_open_order_nos(self): - """ Get open order id list. - - Args: - None. - - Returns: - order_nos: Open order id list, otherwise it's None. - error: Error information, otherwise it's None. - """ - success, error = await self._rest_api.get_open_orders("","",self._symbol) - if error: - return None, error - else: - order_nos = [] - for order_info in success["data"]["orders"]: - if order_info["contract_code"] != self._symbol: - continue - order_nos.append(str(order_info["order_id"])) - return order_nos, None - - def _update_order(self, order_info): - """ Order update. - - Args: - order_info: Order information. - """ - if order_info["contract_code"] != self._symbol: - return - order_no = str(order_info["order_id"]) - status = order_info["status"] - - order = self._orders.get(order_no) - if not order: - if order_info["direction"] == "buy": - if order_info["offset"] == "open": - trade_type = TRADE_TYPE_BUY_OPEN - else: - trade_type = TRADE_TYPE_BUY_CLOSE - else: - if order_info["offset"] == "close": - trade_type = TRADE_TYPE_SELL_CLOSE - else: - trade_type = TRADE_TYPE_SELL_OPEN - - info = { - "platform": self._platform, - "account": self._account, - "strategy": self._strategy, - "order_no": order_no, - "client_order_id": order_info.get("client_order_id"), - "order_price_type": order_info.get("order_price_type"), - "order_type": order_info["order_type"], - "action": ORDER_ACTION_BUY if order_info["direction"] == "buy" else ORDER_ACTION_SELL, - "symbol": self._symbol, - "price": order_info["price"], - "quantity": order_info["volume"], - "trade_type": trade_type - } - order = Order(**info) - self._orders[order_no] = order - - order.trade_quantity = None - order.trade_price = None - if order_info.get("trade"): - quantity = 0 - price = 0 - amount = 0 - count = len(order_info.get("trade")) - for trade in order_info.get("trade"): - order.role = trade.get("role") - quantity += float(trade.get("trade_volume")) - amount += float(trade.get("trade_volume")*trade.get("trade_price")) - price = amount/quantity - order.trade_quantity = int(quantity) - order.trade_price = price - - if status in [1, 2, 3]: - order.status = ORDER_STATUS_SUBMITTED - elif status == 4: - order.status = ORDER_STATUS_PARTIAL_FILLED - order.remain = int(order.quantity) - int(order_info["trade_volume"]) - elif status == 6: - order.status = ORDER_STATUS_FILLED - order.remain = 0 - elif status in [5, 7]: - order.status = ORDER_STATUS_CANCELED - order.remain = int(order.quantity) - int(order_info["trade_volume"]) - else: - return - - order.avg_price = order_info["trade_avg_price"] - order.ctime = order_info["created_at"] - order.utime = order_info["ts"] - - SingleTask.run(self._order_update_callback, copy.copy(order)) - - # Delete order that already completed. - if order.status in [ORDER_STATUS_FAILED, ORDER_STATUS_CANCELED, ORDER_STATUS_FILLED]: - self._orders.pop(order_no) - - # publish order - logger.info("symbol:", order.symbol, "order:", order, caller=self) - - def _update_position(self, data): - """ Position update. - - Args: - position_info: Position information. - - Returns: - None. - """ - for position_info in data["data"]: - if position_info["contract_code"] != self._symbol: - continue - if position_info["direction"] == "buy": - self._position.long_quantity = int(position_info["volume"]) - self._position.long_avg_price = position_info["cost_open"] - else: - self._position.short_quantity = int(position_info["volume"]) - self._position.short_avg_price = position_info["cost_open"] - # self._position.liquid_price = None - self._position.utime = data["ts"] - SingleTask.run(self._position_update_callback, copy.copy(self._position)) - - def _update_asset(self, data): - """ Asset update. - - Args: - data: asset data. - - Returns: - None. - """ - assets = {} - for item in data["data"]: - symbol = item["symbol"].upper() - total = float(item["margin_balance"]) - free = float(item["margin_available"]) - locked = float(item["margin_frozen"]) - premium_frozen = float(item.get("premium_frozen")) if item.get("premium_frozen") else 0.0 - premium_in = float(item.get("premium_in")) if item.get("premium_in") else 0.0 - premium_out = float(item.get("premium_out")) if item.get("premium_out") else 0.0 - delta = float(item.get("delta")) if item.get("delta") else 0.0 - gamma = float(item.get("gamma")) if item.get("gamma") else 0.0 - theta = float(item.get("theta")) if item.get("theta") else 0.0 - vega = float(item.get("vega")) if item.get("vega") else 0.0 - option_value = float(item.get("option_value")) if item.get("option_value") else 0.0 - if total > 0: - assets[symbol] = { - "total": "%.8f" % total, - "free": "%.8f" % free, - "locked": "%.8f" % locked, - "premium_frozen": "%.8f" % premium_frozen, - "premium_in": "%.8f" % premium_in, - "premium_out": "%.8f" % premium_out, - "delta": "%.8f" % delta, - "gamma": "%.8f" % gamma, - "theta": "%.8f" % theta, - "vega": "%.8f" % vega, - "option_value": "%.8f" % option_value - } - if assets == self._assets: - update = False - else: - update = True - - if hasattr(self._assets, "assets") is False: - info = { - "platform": self._platform, - "account": self._account, - "assets": assets, - "timestamp": tools.get_cur_timestamp_ms(), - "update": update - } - asset = Asset(**info) - self._assets = asset - SingleTask.run(self._asset_update_callback, copy.copy(self._assets)) - else: - for symbol in assets: - self._assets.assets.update({ - symbol: assets[symbol] - }) - self._assets.timestamp = tools.get_cur_timestamp_ms() - SingleTask.run(self._asset_update_callback, copy.copy(self._assets)) diff --git a/alpha/platforms/huobi_usdt_swap/__init__.py b/alpha/platforms/huobi_usdt_swap/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/alpha/platforms/huobi_usdt_swap/restapi/__init__.py b/alpha/platforms/huobi_usdt_swap/restapi/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/alpha/platforms/huobi_usdt_swap/restapi/rest_account_sync.py b/alpha/platforms/huobi_usdt_swap/restapi/rest_account_sync.py deleted file mode 100644 index e02aece..0000000 --- a/alpha/platforms/huobi_usdt_swap/restapi/rest_account_sync.py +++ /dev/null @@ -1,98 +0,0 @@ -import json - -from alpha.utils.http_utils import post, get_url_suffix, get - - -class RestAccountUsdtSwap: - def __init__(self, access_key: str, secret_key: str, host: str = None): - self.access_key = access_key - self.secret_key = secret_key - if host is None: - host = "api.hbdm.com" - self.host = host - - def swap_balance_valuation(self, data: dict = None) -> json: - path = "/linear-swap-api/v1/swap_balance_valuation" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_account_info(self, data: dict = None) -> json: - path = "/linear-swap-api/v1/swap_account_info" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_position_info(self, data: dict = None) -> json: - path = "/linear-swap-api/v1/swap_position_info" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_account_position_info(self, data: dict = None) -> json: - path = "/linear-swap-api/v1/swap_account_position_info" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_sub_auth(self, data: dict = None) -> json: - path = "/linear-swap-api/v1/swap_sub_auth" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_sub_auth_list(self, params: dict = None) -> json: - path = "/linear-swap-api/v1/swap_sub_auth_list" - path = "{}?{}".format(path, get_url_suffix('get', self.access_key, self.secret_key, self.host, path)) - return get(self.host, path, params) - - def swap_sub_account_list(self, data: dict = None) -> json: - path = "/linear-swap-api/v1/swap_sub_account_list" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_sub_account_info_list(self, data: dict = None) -> json: - path = "/linear-swap-api/v1/swap_sub_account_info_list" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_sub_account_info(self, data: dict = None) -> json: - path = "/linear-swap-api/v1/swap_sub_account_info" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_sub_position_info(self, data: dict = None) -> json: - path = "/linear-swap-api/v1/swap_sub_position_info" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_financial_record(self, data: dict = None) -> json: - path = "/linear-swap-api/v3/swap_financial_record" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_available_level_rate(self, data: dict = None) -> json: - path = "/linear-swap-api/v1/swap_available_level_rate" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_order_limit(self, data: dict = None) -> json: - path = "/linear-swap-api/v1/swap_order_limit" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_fee(self, data: dict = None) -> json: - path = "/linear-swap-api/v1/swap_fee" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_transfer_limit(self, data: dict = None) -> json: - path = "/linear-swap-api/v1/swap_transfer_limit" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_position_limit(self, data: dict = None) -> json: - path = "/linear-swap-api/v1/swap_position_limit" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_lever_position_limit(self, data: dict = None) -> json: - path = "/linear-swap-api/v1/swap_lever_position_limit" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_master_sub_transfer(self, data: dict = None) -> json: - path = "/linear-swap-api/v1/swap_master_sub_transfer" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_master_sub_transfer_record(self, data: dict = None) -> json: - path = "/linear-swap-api/v1/swap_master_sub_transfer_record" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_transfer_inner(self, data: dict = None) -> json: - path = "/linear-swap-api/v1/swap_transfer_inner" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_api_trading_status(self, params: dict = None) -> json: - path = "/linear-swap-api/v1/swap_api_trading_status" - path = "{}?{}".format(path, get_url_suffix('get', self.access_key, self.secret_key, self.host, path)) - return get(self.host, path, params) diff --git a/alpha/platforms/huobi_usdt_swap/restapi/rest_account_usdt_swap.py b/alpha/platforms/huobi_usdt_swap/restapi/rest_account_usdt_swap.py deleted file mode 100644 index a376937..0000000 --- a/alpha/platforms/huobi_usdt_swap/restapi/rest_account_usdt_swap.py +++ /dev/null @@ -1,451 +0,0 @@ -# -*- coding:utf-8 -*- - -""" -Huobi USDT Swap Api Module. - -Author: QiaoXiaofeng -Date: 2020/09/10 -Email: andyjoe318@gmail.com -""" - -import gzip -import json -import copy -import hmac -import base64 -import urllib -import hashlib -import datetime -import time -from urllib.parse import urljoin -from alpha.utils.request import AsyncHttpRequests -from alpha.const import USER_AGENT - -__all__ = ("HuobiUsdtSwapRestAccountAPI",) - - -class HuobiUsdtSwapRestAccountAPI: - """ Huobi USDT Swap REST API Client. - - Attributes: - host: HTTP request host. - access_key: Account's ACCESS KEY. - secret_key: Account's SECRET KEY. - passphrase: API KEY Passphrase. - """ - - def __init__(self, host, access_key, secret_key): - """ initialize REST API client. """ - self._host = host - self._access_key = access_key - self._secret_key = secret_key - - async def get_swap_balance_valuation(self, valuation_asset=None): - - uri = "/linear-swap-api/v1/swap_balance_valuation" - body = { - - } - - if valuation_asset: - body.update({"valuation_asset": valuation_asset}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_asset_info(self, contract_code=None): - """ Get account asset information. - - Args: - contract_code: such as "BTC-USDT". - - Returns: - success: Success results, otherwise it's None. - error: Error information, otherwise it's None. - """ - uri = "/linear-swap-api/v1/swap_account_info" - body = {} - if contract_code: - body["contract_code"] = contract_code - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_position(self, contract_code=None): - """ Get position information. - - Args: - contract_code: such as "BTC-USDT". - - Returns: - success: Success results, otherwise it's None. - error: Error information, otherwise it's None. - """ - uri = "/linear-swap-api/v1/swap_position_info" - body = {} - if contract_code: - body["contract_code"] = contract_code - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_account_position(self, contract_code): - """ Get position and account information. - - Args: - contract_code: Currency name, e.g. BTC-USDT. - - Returns: - success: Success results, otherwise it's None. - error: Error information, otherwise it's None. - """ - uri = "/linear-swap-api/v1/swap_account_position_info" - body = {"contract_code": contract_code} - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def swap_sub_auth(self, sub_uid, sub_auth): - - uri = "/linear-swap-api/v1/swap_sub_auth" - body = { - "sub_uid": sub_uid, - "sub_auth": sub_auth - } - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_swap_sub_auth_list(self, sub_uid=None, start_time=None, end_time=None, direct=None, from_id=None): - - uri = "/linear-swap-api/v1/swap_sub_auth_list" - params = { - - } - if sub_uid: - params["sub_uid"] = sub_uid - if start_time: - params["start_time"] = start_time - if end_time: - params["end_time"] = end_time - if direct: - params["direct"] = direct - if from_id: - params["from_id"] = from_id - - success, error = await self.request("GET", uri, params=params, auth=True) - return success, error - - async def get_swap_sub_account_list(self, contract_code=None, direct=None, from_id=None): - - uri = "/linear-swap-api/v1/swap_sub_account_list" - body = { - - } - - if contract_code: - body.update({"contract_code": contract_code}) - if direct: - body.update({"direct": direct}) - if from_id: - body.update({"from_id": from_id}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_swap_sub_account_info_list(self, contract_code=None, page_index=None, page_size=None): - - uri = "/linear-swap-api/v1/swap_sub_account_info_list" - body = { - - } - - if contract_code: - body.update({"contract_code": contract_code}) - if page_index: - body.update({"page_index": page_index}) - if page_size: - body.update({"page_size": page_size}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_swap_sub_account_info(self, sub_uid, contract_code=None): - - uri = "/linear-swap-api/v1/swap_sub_account_info" - body = { - "sub_uid": sub_uid - } - - if contract_code: - body.update({"contract_code": contract_code}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_swap_sub_position_info(self, sub_uid, contract_code=None): - - uri = "/linear-swap-api/v1/swap_sub_position_info" - body = { - "sub_uid": sub_uid - } - - if contract_code: - body.update({"contract_code": contract_code}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_swap_financial_record(self, mar_acct, contract=None, type=None, start_time=None, end_time=None, - direct=None, from_id=None): - - uri = "/linear-swap-api/v3/swap_financial_record" - body = { - "mar_acct": mar_acct - } - - if contract: - body.update({"contract": contract}) - if type: - body.update({"type": type}) - if start_time: - body.update({"start_time": start_time}) - if end_time: - body.update({"end_time": end_time}) - if direct: - body.update({"direct": direct}) - if from_id: - body.update({"from_id": from_id}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_swap_available_level_rate(self, contract_code=None): - - uri = "/linear-swap-api/v1/swap_available_level_rate" - body = { - - } - - if contract_code: - body.update({"contract_code": contract_code}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_swap_order_limit(self, order_price_type, contract_code=None, pair=None, contract_type=None, - business_type=None): - - uri = "/linear-swap-api/v1/swap_order_limit" - body = { - "order_price_type": order_price_type - } - - if contract_code: - body.update({"contract_code": contract_code}) - if pair: - body.update({"pair": pair}) - if contract_type: - body.update({"contract_type": contract_type}) - if business_type: - body.update({"business_type": business_type}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_swap_fee(self, contract_code=None, pair=None, contract_type=None, business_type=None): - - uri = "/linear-swap-api/v1/swap_fee" - body = { - - } - - if contract_code: - body.update({"contract_code": contract_code}) - if pair: - body.update({"pair": pair}) - if contract_type: - body.update({"contract_type": contract_type}) - if business_type: - body.update({"business_type": business_type}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_swap_transfer_limit(self, contract_code=None): - - uri = "/linear-swap-api/v1/swap_transfer_limit" - body = { - - } - - if contract_code: - body.update({"contract_code": contract_code}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_swap_position_limit(self, contract_code=None): - - uri = "/linear-swap-api/v1/swap_position_limit" - body = { - - } - - if contract_code: - body.update({"contract_code": contract_code}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_swap_lever_position_limit(self, contract_code=None, lever_rate=None): - - uri = "/linear-swap-api/v1/swap_lever_position_limit" - body = { - - } - - if contract_code: - body.update({"contract_code": contract_code}) - if lever_rate: - body.update({"lever_rate": lever_rate}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def swap_master_sub_transfer(self, sub_uid, asset, from_margin_account, to_margin_account, amount, type, - client_order_id=None): - - uri = "/linear-swap-api/v1/swap_master_sub_transfer" - body = { - "sub_uid": sub_uid, - "asset": asset, - "from_margin_account": from_margin_account, - "to_margin_account": to_margin_account, - "amount": amount, - "type": type - } - - if client_order_id: - body.update({"client_order_id": client_order_id}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_swap_master_sub_transfer_record(self, margin_account, create_date, transfer_type=None, - page_index=None, - page_size=None): - - uri = "/linear-swap-api/v1/swap_master_sub_transfer_record" - body = { - "margin_account": margin_account, - "create_date": create_date - } - - if transfer_type: - body.update({"transfer_type": transfer_type}) - if page_index: - body.update({"page_index": page_index}) - if page_size: - body.update({"page_size": page_size}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def transfer_inner(self, asset, from_, to, amount, client_order_id=None): - """ Do transfer under the same account - Args: - asset: such as USDT - from_: from_margin_account.such as BTC-USDT - to: to_margin_account.such as BTC-USDT - amount: transfer amount. - """ - uri = "/linear-swap-api/v1/swap_transfer_inner" - body = { - "asset": asset, - "from_margin_account": from_, - "to_margin_account": to, - "amount": amount - } - - if client_order_id: - body["client_order_id"] = client_order_id - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_swap_api_trading_status(self): - - uri = "/linear-swap-api/v1/swap_api_trading_status" - params = { - - } - - success, error = await self.request("GET", uri, params=params, auth=True) - return success, error - - async def request(self, method, uri, params=None, body=None, headers=None, auth=False): - """ Do HTTP request. - - Args: - method: HTTP request method. `GET` / `POST` / `DELETE` / `PUT`. - uri: HTTP request uri. - params: HTTP query params. - body: HTTP request body. - headers: HTTP request headers. - auth: If this request requires authentication. - - Returns: - success: Success results, otherwise it's None. - error: Error information, otherwise it's None. - """ - if uri.startswith("http://") or uri.startswith("https://"): - url = uri - else: - url = self._host + uri - - if auth: - timestamp = datetime.datetime.utcnow().strftime("%Y-%m-%dT%H:%M:%S") - params = params if params else {} - params.update({"AccessKeyId": self._access_key, - "SignatureMethod": "HmacSHA256", - "SignatureVersion": "2", - "Timestamp": timestamp}) - - params["Signature"] = self.generate_signature(method, params, uri) - - if not headers: - headers = {} - if method == "GET": - headers["Content-type"] = "application/x-www-form-urlencoded" - headers["User-Agent"] = USER_AGENT - _, success, error = await AsyncHttpRequests.fetch("GET", url, params=params, headers=headers, timeout=10) - else: - headers["Accept"] = "application/json" - headers["Content-type"] = "application/json" - headers["User-Agent"] = USER_AGENT - _, success, error = await AsyncHttpRequests.fetch("POST", url, params=params, data=body, headers=headers, - timeout=10) - if error: - return None, error - if not isinstance(success, dict): - result = json.loads(success) - else: - result = success - if result.get("status") != "ok": - return None, result - return result, None - - def generate_signature(self, method, params, request_path): - if request_path.startswith("http://") or request_path.startswith("https://"): - host_url = urllib.parse.urlparse(request_path).hostname.lower() - request_path = '/' + '/'.join(request_path.split('/')[3:]) - else: - host_url = urllib.parse.urlparse(self._host).hostname.lower() - sorted_params = sorted(params.items(), key=lambda d: d[0], reverse=False) - encode_params = urllib.parse.urlencode(sorted_params) - payload = [method, host_url, request_path, encode_params] - payload = "\n".join(payload) - payload = payload.encode(encoding="UTF8") - secret_key = self._secret_key.encode(encoding="utf8") - digest = hmac.new(secret_key, payload, digestmod=hashlib.sha256).digest() - signature = base64.b64encode(digest) - signature = signature.decode() - return signature diff --git a/alpha/platforms/huobi_usdt_swap/restapi/rest_cross_account_sync.py b/alpha/platforms/huobi_usdt_swap/restapi/rest_cross_account_sync.py deleted file mode 100644 index b00757b..0000000 --- a/alpha/platforms/huobi_usdt_swap/restapi/rest_cross_account_sync.py +++ /dev/null @@ -1,56 +0,0 @@ -import json - -from alpha.utils.http_utils import post - - -class RestCrossAccountUsdtSwap: - def __init__(self, access_key: str, secret_key: str, host: str = None): - self.access_key = access_key - self.secret_key = secret_key - if host is None: - host = "api.hbdm.com" - self.host = host - - def swap_cross_account_info(self, data: dict = None) -> json: - path = "/linear-swap-api/v1/swap_cross_account_info" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_cross_position_info(self, data: dict = None) -> json: - path = "/linear-swap-api/v1/swap_cross_position_info" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_cross_account_position_info(self, data: dict = None) -> json: - path = "/linear-swap-api/v1/swap_cross_account_position_info" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_cross_sub_account_list(self, data: dict = None) -> json: - path = "/linear-swap-api/v1/swap_cross_sub_account_list" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_cross_sub_account_info_list(self, data: dict = None) -> json: - path = "/linear-swap-api/v1/swap_cross_sub_account_info_list" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_cross_sub_account_info(self, data: dict = None) -> json: - path = "/linear-swap-api/v1/swap_cross_sub_account_info" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_cross_sub_position_info(self, data: dict = None) -> json: - path = "/linear-swap-api/v1/swap_cross_sub_position_info" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_cross_available_level_rate(self, data: dict = None) -> json: - path = "/linear-swap-api/v1/swap_cross_available_level_rate" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_cross_transfer_limit(self, data: dict = None) -> json: - path = "/linear-swap-api/v1/swap_cross_transfer_limit" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_cross_position_limit(self, data: dict = None) -> json: - path = "/linear-swap-api/v1/swap_cross_position_limit" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_cross_lever_position_limit(self, data: dict = None) -> json: - path = "/linear-swap-api/v1/swap_cross_lever_position_limit" - return post(self.access_key, self.secret_key, self.host, path, data) diff --git a/alpha/platforms/huobi_usdt_swap/restapi/rest_cross_account_usdt_swap.py b/alpha/platforms/huobi_usdt_swap/restapi/rest_cross_account_usdt_swap.py deleted file mode 100644 index 2d6bb0a..0000000 --- a/alpha/platforms/huobi_usdt_swap/restapi/rest_cross_account_usdt_swap.py +++ /dev/null @@ -1,302 +0,0 @@ -# -*- coding:utf-8 -*- - -""" -Huobi USDT Swap Api Module. - -Author: QiaoXiaofeng -Date: 2020/09/10 -Email: andyjoe318@gmail.com -""" - -import gzip -import json -import copy -import hmac -import base64 -import urllib -import hashlib -import datetime -import time -from urllib.parse import urljoin -from alpha.utils.request import AsyncHttpRequests -from alpha.const import USER_AGENT - -__all__ = ("HuobiUsdtSwapRestCrossAccountAPI",) - - -class HuobiUsdtSwapRestCrossAccountAPI: - """ Huobi USDT Swap REST API Client. - - Attributes: - host: HTTP request host. - access_key: Account's ACCESS KEY. - secret_key: Account's SECRET KEY. - passphrase: API KEY Passphrase. - """ - - def __init__(self, host, access_key, secret_key): - """ initialize REST API client. """ - self._host = host - self._access_key = access_key - self._secret_key = secret_key - - async def get_asset_info(self, margin_account=None): - """ Get account asset information. - - Args: - margin_account: such as "USDT". - - Returns: - success: Success results, otherwise it's None. - error: Error information, otherwise it's None. - """ - uri = "/linear-swap-api/v1/swap_cross_account_info" - body = {} - if margin_account: - body["margin_account"] = margin_account - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_position(self, contract_code=None, pair=None, contract_type=None): - """ Get position information. - - Args: - contract_code: such as "BTC-USDT". - - Returns: - success: Success results, otherwise it's None. - error: Error information, otherwise it's None. - """ - uri = "/linear-swap-api/v1/swap_cross_position_info" - body = {} - if contract_code: - body["contract_code"] = contract_code - if pair: - body["pair"] = pair - if contract_type: - body["contract_type"] = contract_type - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_account_position(self, margin_account): - """ Get position and account information. - - Args: - margin_account: Currency name, e.g. USDT. - - Returns: - success: Success results, otherwise it's None. - error: Error information, otherwise it's None. - """ - uri = "/linear-swap-api/v1/swap_cross_account_position_info" - body = {"margin_account": margin_account} - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_swap_cross_sub_account_list(self, margin_account=None, direct=None, from_id=None): - - uri = "/linear-swap-api/v1/swap_cross_sub_account_list" - body = { - - } - - if margin_account: - body.update({"margin_account": margin_account}) - if direct: - body.update({"direct": direct}) - if from_id: - body.update({"from_id": from_id}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_swap_cross_sub_account_info_list(self, margin_account=None, page_index=None, page_size=None): - - uri = "/linear-swap-api/v1/swap_cross_sub_account_info_list" - body = { - - } - - if margin_account: - body.update({"margin_account": margin_account}) - if page_index: - body.update({"page_index": page_index}) - if page_size: - body.update({"page_size": page_size}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_swap_cross_sub_account_info(self, sub_uid, margin_account=None): - - uri = "/linear-swap-api/v1/swap_cross_sub_account_info" - body = { - "sub_uid": sub_uid - } - - if margin_account: - body.update({"margin_account": margin_account}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_swap_cross_sub_position_info(self, sub_uid, contract_code=None, pair=None, contract_type=None): - - uri = "/linear-swap-api/v1/swap_cross_sub_position_info" - body = { - "sub_uid": sub_uid - } - - if contract_code: - body.update({"contract_code": contract_code}) - if pair: - body.update({"pair": pair}) - if contract_type: - body.update({"contract_type": contract_type}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_swap_cross_available_level_rate(self, contract_code=None, pair=None, contract_type=None, - business_type=None): - - uri = "/linear-swap-api/v1/swap_cross_available_level_rate" - body = { - - } - - if contract_code: - body.update({"contract_code": contract_code}) - if pair: - body.update({"pair": pair}) - if contract_type: - body.update({"contract_type": contract_type}) - if business_type: - body.update({"business_type": business_type}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_swap_cross_transfer_limit(self, margin_account=None): - - uri = "/linear-swap-api/v1/swap_cross_transfer_limit" - body = { - - } - - if margin_account: - body.update({"margin_account": margin_account}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_swap_cross_position_limit(self, contract_code=None, pair=None, contract_type=None, - business_type=None): - - uri = "/linear-swap-api/v1/swap_cross_position_limit" - body = { - - } - - if contract_code: - body.update({"contract_code": contract_code}) - if pair: - body.update({"pair": pair}) - if contract_type: - body.update({"contract_type": contract_type}) - if business_type: - body.update({"business_type": business_type}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_swap_cross_lever_position_limit(self, business_type=None, contract_type=None, pair=None, - contract_code=None, lever_rate=None): - - uri = "/linear-swap-api/v1/swap_cross_lever_position_limit" - body = { - - } - - if business_type: - body.update({"business_type": business_type}) - if contract_type: - body.update({"contract_type": contract_type}) - if pair: - body.update({"pair": pair}) - if contract_code: - body.update({"contract_code": contract_code}) - if lever_rate: - body.update({"lever_rate": lever_rate}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def request(self, method, uri, params=None, body=None, headers=None, auth=False): - """ Do HTTP request. - - Args: - method: HTTP request method. `GET` / `POST` / `DELETE` / `PUT`. - uri: HTTP request uri. - params: HTTP query params. - body: HTTP request body. - headers: HTTP request headers. - auth: If this request requires authentication. - - Returns: - success: Success results, otherwise it's None. - error: Error information, otherwise it's None. - """ - if uri.startswith("http://") or uri.startswith("https://"): - url = uri - else: - url = self._host + uri - - if auth: - timestamp = datetime.datetime.utcnow().strftime("%Y-%m-%dT%H:%M:%S") - params = params if params else {} - params.update({"AccessKeyId": self._access_key, - "SignatureMethod": "HmacSHA256", - "SignatureVersion": "2", - "Timestamp": timestamp}) - - params["Signature"] = self.generate_signature(method, params, uri) - - if not headers: - headers = {} - if method == "GET": - headers["Content-type"] = "application/x-www-form-urlencoded" - headers["User-Agent"] = USER_AGENT - _, success, error = await AsyncHttpRequests.fetch("GET", url, params=params, headers=headers, timeout=10) - else: - headers["Accept"] = "application/json" - headers["Content-type"] = "application/json" - headers["User-Agent"] = USER_AGENT - _, success, error = await AsyncHttpRequests.fetch("POST", url, params=params, data=body, headers=headers, - timeout=10) - if error: - return None, error - if not isinstance(success, dict): - result = json.loads(success) - else: - result = success - if result.get("status") != "ok": - return None, result - return result, None - - def generate_signature(self, method, params, request_path): - if request_path.startswith("http://") or request_path.startswith("https://"): - host_url = urllib.parse.urlparse(request_path).hostname.lower() - request_path = '/' + '/'.join(request_path.split('/')[3:]) - else: - host_url = urllib.parse.urlparse(self._host).hostname.lower() - sorted_params = sorted(params.items(), key=lambda d: d[0], reverse=False) - encode_params = urllib.parse.urlencode(sorted_params) - payload = [method, host_url, request_path, encode_params] - payload = "\n".join(payload) - payload = payload.encode(encoding="UTF8") - secret_key = self._secret_key.encode(encoding="utf8") - digest = hmac.new(secret_key, payload, digestmod=hashlib.sha256).digest() - signature = base64.b64encode(digest) - signature = signature.decode() - return signature \ No newline at end of file diff --git a/alpha/platforms/huobi_usdt_swap/restapi/rest_cross_reference_sync.py b/alpha/platforms/huobi_usdt_swap/restapi/rest_cross_reference_sync.py deleted file mode 100644 index a0e0b0b..0000000 --- a/alpha/platforms/huobi_usdt_swap/restapi/rest_cross_reference_sync.py +++ /dev/null @@ -1,18 +0,0 @@ -import json - -from alpha.utils.http_utils import get - - -class RestCrossReferenceUsdtSwap: - def __init__(self, host=None): - if host is None: - host = "api.hbdm.com" - self.host = host - - def swap_cross_ladder_margin(self, params: dict = None) -> json: - path = "/linear-swap-api/v1/swap_cross_ladder_margin" - return get(self.host, path, params) - - def swap_cross_adjustfactor(self, params: dict = None) -> json: - path = "/linear-swap-api/v1/swap_cross_adjustfactor" - return get(self.host, path, params) diff --git a/alpha/platforms/huobi_usdt_swap/restapi/rest_cross_reference_usdt_swap.py b/alpha/platforms/huobi_usdt_swap/restapi/rest_cross_reference_usdt_swap.py deleted file mode 100644 index c7f4add..0000000 --- a/alpha/platforms/huobi_usdt_swap/restapi/rest_cross_reference_usdt_swap.py +++ /dev/null @@ -1,146 +0,0 @@ -# -*- coding:utf-8 -*- - -""" -Huobi USDT Swap Api Module. - -Author: QiaoXiaofeng -Date: 2020/09/10 -Email: andyjoe318@gmail.com -""" - -import gzip -import json -import copy -import hmac -import base64 -import urllib -import hashlib -import datetime -import time -from urllib.parse import urljoin -from alpha.utils.request import AsyncHttpRequests -from alpha.const import USER_AGENT - -__all__ = ("HuobiUsdtSwapRestCrossReferenceAPI",) - - -class HuobiUsdtSwapRestCrossReferenceAPI: - """ Huobi USDT Swap REST API Client. - - Attributes: - host: HTTP request host. - access_key: Account's ACCESS KEY. - secret_key: Account's SECRET KEY. - passphrase: API KEY Passphrase. - """ - - def __init__(self, host, access_key, secret_key): - """ initialize REST API client. """ - self._host = host - self._access_key = access_key - self._secret_key = secret_key - - async def get_swap_cross_ladder_margin(self, contract_code=None, pair=None, contract_type=None, business_type=None): - - uri = "/linear-swap-api/v1/swap_cross_ladder_margin" - params = { - - } - if contract_code: - params["contract_code"] = contract_code - if pair: - params["pair"] = pair - if contract_type: - params["contract_type"] = contract_type - if business_type: - params["business_type"] = business_type - - success, error = await self.request("GET", uri, params=params) - return success, error - - async def get_swap_cross_adjustfactor(self, contract_code=None, pair=None, contract_type=None, business_type=None): - - uri = "/linear-swap-api/v1/swap_cross_adjustfactor" - params = { - - } - if contract_code: - params["contract_code"] = contract_code - if pair: - params["pair"] = pair - if contract_type: - params["contract_type"] = contract_type - if business_type: - params["business_type"] = business_type - - success, error = await self.request("GET", uri, params=params) - return success, error - - async def request(self, method, uri, params=None, body=None, headers=None, auth=False): - """ Do HTTP request. - - Args: - method: HTTP request method. `GET` / `POST` / `DELETE` / `PUT`. - uri: HTTP request uri. - params: HTTP query params. - body: HTTP request body. - headers: HTTP request headers. - auth: If this request requires authentication. - - Returns: - success: Success results, otherwise it's None. - error: Error information, otherwise it's None. - """ - if uri.startswith("http://") or uri.startswith("https://"): - url = uri - else: - url = self._host + uri - - if auth: - timestamp = datetime.datetime.utcnow().strftime("%Y-%m-%dT%H:%M:%S") - params = params if params else {} - params.update({"AccessKeyId": self._access_key, - "SignatureMethod": "HmacSHA256", - "SignatureVersion": "2", - "Timestamp": timestamp}) - - params["Signature"] = self.generate_signature(method, params, uri) - - if not headers: - headers = {} - if method == "GET": - headers["Content-type"] = "application/x-www-form-urlencoded" - headers["User-Agent"] = USER_AGENT - _, success, error = await AsyncHttpRequests.fetch("GET", url, params=params, headers=headers, timeout=10) - else: - headers["Accept"] = "application/json" - headers["Content-type"] = "application/json" - headers["User-Agent"] = USER_AGENT - _, success, error = await AsyncHttpRequests.fetch("POST", url, params=params, data=body, headers=headers, - timeout=10) - if error: - return None, error - if not isinstance(success, dict): - result = json.loads(success) - else: - result = success - if result.get("status") != "ok": - return None, result - return result, None - - def generate_signature(self, method, params, request_path): - if request_path.startswith("http://") or request_path.startswith("https://"): - host_url = urllib.parse.urlparse(request_path).hostname.lower() - request_path = '/' + '/'.join(request_path.split('/')[3:]) - else: - host_url = urllib.parse.urlparse(self._host).hostname.lower() - sorted_params = sorted(params.items(), key=lambda d: d[0], reverse=False) - encode_params = urllib.parse.urlencode(sorted_params) - payload = [method, host_url, request_path, encode_params] - payload = "\n".join(payload) - payload = payload.encode(encoding="UTF8") - secret_key = self._secret_key.encode(encoding="utf8") - digest = hmac.new(secret_key, payload, digestmod=hashlib.sha256).digest() - signature = base64.b64encode(digest) - signature = signature.decode() - return signature \ No newline at end of file diff --git a/alpha/platforms/huobi_usdt_swap/restapi/rest_cross_strategy_sync.py b/alpha/platforms/huobi_usdt_swap/restapi/rest_cross_strategy_sync.py deleted file mode 100644 index 2084295..0000000 --- a/alpha/platforms/huobi_usdt_swap/restapi/rest_cross_strategy_sync.py +++ /dev/null @@ -1,76 +0,0 @@ -import json - -from alpha.utils.http_utils import post - - -class RestCrossStrategyUsdtSwap: - def __init__(self, access_key: str, secret_key: str, host: str = None): - self.access_key = access_key - self.secret_key = secret_key - if host is None: - host = "api.hbdm.com" - self.host = host - - def swap_cross_trigger_order(self, data: dict = None) -> json: - path = "/linear-swap-api/v1/swap_cross_trigger_order" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_cross_trigger_cancel(self, data: dict = None) -> json: - path = "/linear-swap-api/v1/swap_cross_trigger_cancel" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_cross_trigger_cancelall(self, data: dict = None) -> json: - path = "/linear-swap-api/v1/swap_cross_trigger_cancelall" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_cross_trigger_openorders(self, data: dict = None) -> json: - path = "/linear-swap-api/v1/swap_cross_trigger_openorders" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_cross_trigger_hisorders(self, data: dict = None) -> json: - path = "/linear-swap-api/v1/swap_cross_trigger_hisorders" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_cross_tpsl_order(self, data: dict = None) -> json: - path = "/linear-swap-api/v1/swap_cross_tpsl_order" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_cross_tpsl_cancel(self, data: dict = None) -> json: - path = "/linear-swap-api/v1/swap_cross_tpsl_cancel" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_cross_tpsl_cancelall(self, data: dict = None) -> json: - path = "/linear-swap-api/v1/swap_cross_tpsl_cancelall" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_cross_tpsl_openorders(self, data: dict = None) -> json: - path = "/linear-swap-api/v1/swap_cross_tpsl_openorders" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_cross_tpsl_hisorders(self, data: dict = None) -> json: - path = "/linear-swap-api/v1/swap_cross_tpsl_hisorders" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_cross_relation_tpsl_order(self, data: dict = None) -> json: - path = "/linear-swap-api/v1/swap_cross_relation_tpsl_order" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_cross_track_order(self, data: dict = None) -> json: - path = "/linear-swap-api/v1/swap_cross_track_order" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_cross_track_cancel(self, data: dict = None) -> json: - path = "/linear-swap-api/v1/swap_cross_track_cancel" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_cross_track_cancelall(self, data: dict = None) -> json: - path = "/linear-swap-api/v1/swap_cross_track_cancelall" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_cross_track_openorders(self, data: dict = None) -> json: - path = "/linear-swap-api/v1/swap_cross_track_openorders" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_cross_track_hisorders(self, data: dict = None) -> json: - path = "/linear-swap-api/v1/swap_cross_track_hisorders" - return post(self.access_key, self.secret_key, self.host, path, data) diff --git a/alpha/platforms/huobi_usdt_swap/restapi/rest_cross_strategy_usdt_swap.py b/alpha/platforms/huobi_usdt_swap/restapi/rest_cross_strategy_usdt_swap.py deleted file mode 100644 index 9d1aeb3..0000000 --- a/alpha/platforms/huobi_usdt_swap/restapi/rest_cross_strategy_usdt_swap.py +++ /dev/null @@ -1,463 +0,0 @@ -# -*- coding:utf-8 -*- - -""" -Huobi USDT Swap Api Module. - -Author: QiaoXiaofeng -Date: 2020/09/10 -Email: andyjoe318@gmail.com -""" - -import gzip -import json -import copy -import hmac -import base64 -import urllib -import hashlib -import datetime -import time -from urllib.parse import urljoin -from alpha.utils.request import AsyncHttpRequests -from alpha.const import USER_AGENT - -__all__ = ("HuobiUsdtSwapRestCrossStrategyAPI",) - - -class HuobiUsdtSwapRestCrossStrategyAPI: - """ Huobi USDT Swap REST API Client. - - Attributes: - host: HTTP request host. - access_key: Account's ACCESS KEY. - secret_key: Account's SECRET KEY. - passphrase: API KEY Passphrase. - """ - - def __init__(self, host, access_key, secret_key): - """ initialize REST API client. """ - self._host = host - self._access_key = access_key - self._secret_key = secret_key - - async def swap_cross_trigger_order(self, trigger_type, trigger_price, volume, direction, contract_code=None, - reduce_only=None, order_price=None, order_price_type=None, offset=None, - lever_rate=None): - - uri = "/linear-swap-api/v1/swap_cross_trigger_order" - body = { - "trigger_type": trigger_type, - "trigger_price": trigger_price, - "volume": volume, - "direction": direction - } - - if contract_code: - body.update({"contract_code": contract_code}) - if reduce_only: - body.update({"reduce_only": reduce_only}) - if order_price: - body.update({"order_price": order_price}) - if order_price_type: - body.update({"order_price_type": order_price_type}) - if offset: - body.update({"offset": offset}) - if lever_rate: - body.update({"lever_rate": lever_rate}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def swap_cross_trigger_cancel(self, order_id, contract_code=None, pair=None, contract_type=None): - - uri = "/linear-swap-api/v1/swap_cross_trigger_cancel" - body = { - "order_id": order_id - } - - if contract_code: - body.update({"contract_code": contract_code}) - if pair: - body.update({"pair": pair}) - if contract_type: - body.update({"contract_type": contract_type}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def swap_cross_trigger_cancelall(self, contract_code=None, pair=None, contract_type=None, direction=None, - offset=None): - - uri = "/linear-swap-api/v1/swap_cross_trigger_cancelall" - body = { - - } - - if contract_code: - body.update({"contract_code": contract_code}) - if pair: - body.update({"pair": pair}) - if contract_type: - body.update({"contract_type": contract_type}) - if direction: - body.update({"direction": direction}) - if offset: - body.update({"offset": offset}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_swap_cross_trigger_openorders(self, contract_code=None, pair=None, page_index=None, page_size=None, - trade_type=None): - - uri = "/linear-swap-api/v1/swap_cross_trigger_openorders" - body = { - - } - - if contract_code: - body.update({"contract_code": contract_code}) - if pair: - body.update({"pair": pair}) - if page_index: - body.update({"page_index": page_index}) - if page_size: - body.update({"page_size": page_size}) - if trade_type: - body.update({"trade_type": trade_type}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_swap_cross_trigger_hisorders(self, trade_type, status, create_date, contract_code=None, pair=None, - page_index=None, page_size=None, sort_by=None): - - uri = "/linear-swap-api/v1/swap_cross_trigger_hisorders" - body = { - "trade_type": trade_type, - "status": status, - "create_date": create_date - } - - if contract_code: - body.update({"contract_code": contract_code}) - if pair: - body.update({"pair": pair}) - if page_index: - body.update({"page_index": page_index}) - if page_size: - body.update({"page_size": page_size}) - if sort_by: - body.update({"sort_by": sort_by}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def swap_cross_tpsl_order(self, direction, volume, contract_code=None, pair=None, contract_type=None, - tp_trigger_price=None, tp_order_price=None, tp_order_price_type=None, - sl_trigger_price=None, sl_order_price=None, sl_order_price_type=None): - - uri = "/linear-swap-api/v1/swap_cross_tpsl_order" - body = { - "direction": direction, - "volume": volume - } - - if contract_code: - body.update({"contract_code": contract_code}) - if pair: - body.update({"pair": pair}) - if contract_type: - body.update({"contract_type": contract_type}) - if tp_trigger_price: - body.update({"tp_trigger_price": tp_trigger_price}) - if tp_order_price: - body.update({"tp_order_price": tp_order_price}) - if tp_order_price_type: - body.update({"tp_order_price_type": tp_order_price_type}) - if sl_trigger_price: - body.update({"sl_trigger_price": sl_trigger_price}) - if sl_order_price: - body.update({"sl_order_price": sl_order_price}) - if sl_order_price_type: - body.update({"sl_order_price_type": sl_order_price_type}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def swap_cross_tpsl_cancel(self, order_id, contract_code=None, pair=None, contract_type=None): - - uri = "/linear-swap-api/v1/swap_cross_tpsl_cancel" - body = { - "order_id": order_id - } - - if contract_code: - body.update({"contract_code": contract_code}) - if pair: - body.update({"pair": pair}) - if contract_type: - body.update({"contract_type": contract_type}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def swap_cross_tpsl_cancelall(self, contract_code=None, pair=None, contract_type=None, direction=None): - - uri = "/linear-swap-api/v1/swap_cross_tpsl_cancelall" - body = { - - } - - if contract_code: - body.update({"contract_code": contract_code}) - if pair: - body.update({"pair": pair}) - if contract_type: - body.update({"contract_type": contract_type}) - if direction: - body.update({"direction": direction}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_swap_cross_tpsl_openorders(self, contract_code=None, pair=None, page_index=None, page_size=None, - trade_type=None): - - uri = "/linear-swap-api/v1/swap_cross_tpsl_openorders" - body = { - - } - - if contract_code: - body.update({"contract_code": contract_code}) - if pair: - body.update({"pair": pair}) - if page_index: - body.update({"page_index": page_index}) - if page_size: - body.update({"page_size": page_size}) - if trade_type: - body.update({"trade_type": trade_type}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_swap_cross_tpsl_hisorders(self, status, create_date, contract_code=None, pair=None, page_index=None, - page_size=None, sort_by=None): - - uri = "/linear-swap-api/v1/swap_cross_tpsl_hisorders" - body = { - "status": status, - "create_date": create_date - } - - if contract_code: - body.update({"contract_code": contract_code}) - if pair: - body.update({"pair": pair}) - if page_index: - body.update({"page_index": page_index}) - if page_size: - body.update({"page_size": page_size}) - if sort_by: - body.update({"sort_by": sort_by}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_swap_cross_relation_tpsl_order(self, order_id, contract_code=None, pair=None): - - uri = "/linear-swap-api/v1/swap_cross_relation_tpsl_order" - body = { - "order_id": order_id - } - - if contract_code: - body.update({"contract_code": contract_code}) - if pair: - body.update({"pair": pair}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def swap_cross_track_order(self, direction, volume, callback_rate, active_price, order_price_type, - contract_code=None, pair=None, contract_type=None, reduce_only=None, - lever_rate=None): - - uri = "/linear-swap-api/v1/swap_cross_track_order" - body = { - "direction": direction, - "volume": volume, - "callback_rate": callback_rate, - "active_price": active_price, - "order_price_type": order_price_type - } - - if contract_code: - body.update({"contract_code": contract_code}) - if pair: - body.update({"pair": pair}) - if contract_type: - body.update({"contract_type": contract_type}) - if reduce_only: - body.update({"reduce_only": reduce_only}) - if lever_rate: - body.update({"lever_rate": lever_rate}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def swap_cross_track_cancel(self, order_id, contract_code=None, pair=None, contract_type=None): - - uri = "/linear-swap-api/v1/swap_cross_track_cancel" - body = { - "order_id": order_id - } - - if contract_code: - body.update({"contract_code": contract_code}) - if pair: - body.update({"pair": pair}) - if contract_type: - body.update({"contract_type": contract_type}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def swap_cross_track_cancelall(self, contract_code=None, pair=None, contract_type=None, direction=None, - offset=None): - - uri = "/linear-swap-api/v1/swap_cross_track_cancelall" - body = { - - } - - if contract_code: - body.update({"contract_code": contract_code}) - if pair: - body.update({"pair": pair}) - if contract_type: - body.update({"contract_type": contract_type}) - if direction: - body.update({"direction": direction}) - if offset: - body.update({"offset": offset}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_swap_cross_track_openorders(self, contract_code=None, pair=None, trade_type=None, page_index=None, - page_size=None): - - uri = "/linear-swap-api/v1/swap_cross_track_openorders" - body = { - - } - - if contract_code: - body.update({"contract_code": contract_code}) - if pair: - body.update({"pair": pair}) - if trade_type: - body.update({"trade_type": trade_type}) - if page_index: - body.update({"page_index": page_index}) - if page_size: - body.update({"page_size": page_size}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def swap_cross_track_hisorders(self, status, trade_type, create_date, contract_code=None, pair=None, - page_index=None, page_size=None, sort_by=None): - - uri = "/linear-swap-api/v1/swap_cross_track_hisorders" - body = { - "status": status, - "trade_type": trade_type, - "create_date": create_date - } - - if contract_code: - body.update({"contract_code": contract_code}) - if pair: - body.update({"pair": pair}) - if page_index: - body.update({"page_index": page_index}) - if page_size: - body.update({"page_size": page_size}) - if sort_by: - body.update({"sort_by": sort_by}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def request(self, method, uri, params=None, body=None, headers=None, auth=False): - """ Do HTTP request. - - Args: - method: HTTP request method. `GET` / `POST` / `DELETE` / `PUT`. - uri: HTTP request uri. - params: HTTP query params. - body: HTTP request body. - headers: HTTP request headers. - auth: If this request requires authentication. - - Returns: - success: Success results, otherwise it's None. - error: Error information, otherwise it's None. - """ - if uri.startswith("http://") or uri.startswith("https://"): - url = uri - else: - url = self._host + uri - - if auth: - timestamp = datetime.datetime.utcnow().strftime("%Y-%m-%dT%H:%M:%S") - params = params if params else {} - params.update({"AccessKeyId": self._access_key, - "SignatureMethod": "HmacSHA256", - "SignatureVersion": "2", - "Timestamp": timestamp}) - - params["Signature"] = self.generate_signature(method, params, uri) - - if not headers: - headers = {} - if method == "GET": - headers["Content-type"] = "application/x-www-form-urlencoded" - headers["User-Agent"] = USER_AGENT - _, success, error = await AsyncHttpRequests.fetch("GET", url, params=params, headers=headers, timeout=10) - else: - headers["Accept"] = "application/json" - headers["Content-type"] = "application/json" - headers["User-Agent"] = USER_AGENT - _, success, error = await AsyncHttpRequests.fetch("POST", url, params=params, data=body, headers=headers, - timeout=10) - if error: - return None, error - if not isinstance(success, dict): - result = json.loads(success) - else: - result = success - if result.get("status") != "ok": - return None, result - return result, None - - def generate_signature(self, method, params, request_path): - if request_path.startswith("http://") or request_path.startswith("https://"): - host_url = urllib.parse.urlparse(request_path).hostname.lower() - request_path = '/' + '/'.join(request_path.split('/')[3:]) - else: - host_url = urllib.parse.urlparse(self._host).hostname.lower() - sorted_params = sorted(params.items(), key=lambda d: d[0], reverse=False) - encode_params = urllib.parse.urlencode(sorted_params) - payload = [method, host_url, request_path, encode_params] - payload = "\n".join(payload) - payload = payload.encode(encoding="UTF8") - secret_key = self._secret_key.encode(encoding="utf8") - digest = hmac.new(secret_key, payload, digestmod=hashlib.sha256).digest() - signature = base64.b64encode(digest) - signature = signature.decode() - return signature diff --git a/alpha/platforms/huobi_usdt_swap/restapi/rest_cross_trade_sync.py b/alpha/platforms/huobi_usdt_swap/restapi/rest_cross_trade_sync.py deleted file mode 100644 index 6c22726..0000000 --- a/alpha/platforms/huobi_usdt_swap/restapi/rest_cross_trade_sync.py +++ /dev/null @@ -1,77 +0,0 @@ -import json - -from alpha.utils.http_utils import post, get_url_suffix, get - - -class RestCrossTradeUsdtSwap: - def __init__(self, access_key: str, secret_key: str, host: str = None): - self.access_key = access_key - self.secret_key = secret_key - if host is None: - host = "api.hbdm.com" - self.host = host - - def swap_cross_trade_state(self, params: dict = None) -> json: - path = "/linear-swap-api/v1/swap_cross_trade_state" - return get(self.host, path, params) - - def swap_cross_switch_position_mode(self, data: dict = None) -> json: - path = "/linear-swap-api/v1/swap_cross_switch_position_mode" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_cross_order(self, data: dict = None) -> json: - path = "/linear-swap-api/v1/swap_cross_order" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_cross_batchorder(self, data: dict = None) -> json: - path = "/linear-swap-api/v1/swap_cross_batchorder" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_cross_cancel(self, data: dict = None) -> json: - path = "/linear-swap-api/v1/swap_cross_cancel" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_cross_cancelall(self, data: dict = None) -> json: - path = "/linear-swap-api/v1/swap_cross_cancelall" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_cross_switch_lever_rate(self, data: dict = None) -> json: - path = "/linear-swap-api/v1/swap_cross_switch_lever_rate" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_cross_order_info(self, data: dict = None) -> json: - path = "/linear-swap-api/v1/swap_cross_order_info" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_cross_order_detail(self, data: dict = None) -> json: - path = "/linear-swap-api/v1/swap_cross_order_detail" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_cross_openorders(self, data: dict = None) -> json: - path = "/linear-swap-api/v1/swap_cross_openorders" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_cross_hisorders(self, data: dict = None) -> json: - path = "/linear-swap-api/v3/swap_cross_hisorders" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_cross_hisorders_exact(self, data: dict = None) -> json: - path = "/linear-swap-api/v3/swap_cross_hisorders_exact" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_cross_matchresults(self, data: dict = None) -> json: - path = "/linear-swap-api/v3/swap_cross_matchresults" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_cross_matchresults_exact(self, data: dict = None) -> json: - path = "/linear-swap-api/v3/swap_cross_matchresults_exact" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_cross_lightning_close_position(self, data: dict = None) -> json: - path = "/linear-swap-api/v1/swap_cross_lightning_close_position" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_cross_position_side(self, params: dict = None) -> json: - path = "/linear-swap-api/v1/swap_cross_position_side" - path = "{}?{}".format(path, get_url_suffix('get', self.access_key, self.secret_key, self.host, path)) - return get(self.host, path, params) diff --git a/alpha/platforms/huobi_usdt_swap/restapi/rest_cross_trade_usdt_swap.py b/alpha/platforms/huobi_usdt_swap/restapi/rest_cross_trade_usdt_swap.py deleted file mode 100644 index 97ee1f0..0000000 --- a/alpha/platforms/huobi_usdt_swap/restapi/rest_cross_trade_usdt_swap.py +++ /dev/null @@ -1,557 +0,0 @@ -# -*- coding:utf-8 -*- - -""" -Huobi USDT Swap Api Module. - -Author: QiaoXiaofeng -Date: 2020/09/10 -Email: andyjoe318@gmail.com -""" - -import gzip -import json -import copy -import hmac -import base64 -import urllib -import hashlib -import datetime -import time -from urllib.parse import urljoin -from alpha.utils.request import AsyncHttpRequests -from alpha.const import USER_AGENT - -__all__ = ("HuobiUsdtSwapRestCrossTradeAPI",) - - -class HuobiUsdtSwapRestCrossTradeAPI: - """ Huobi USDT Swap REST API Client. - - Attributes: - host: HTTP request host. - access_key: Account's ACCESS KEY. - secret_key: Account's SECRET KEY. - passphrase: API KEY Passphrase. - """ - - def __init__(self, host, access_key, secret_key): - """ initialize REST API client. """ - self._host = host - self._access_key = access_key - self._secret_key = secret_key - - async def get_swap_cross_trade_state(self, contract_code=None, pair=None, contract_type=None, business_type=None): - - uri = "/linear-swap-api/v1/swap_cross_trade_state" - params = { - - } - if contract_code: - params["contract_code"] = contract_code - if pair: - params["pair"] = pair - if contract_type: - params["contract_type"] = contract_type - if business_type: - params["business_type"] = business_type - - success, error = await self.request("GET", uri, params=params) - return success, error - - async def swap_cross_switch_position_mode(self, margin_account, position_mode): - - uri = "/linear-swap-api/v1/swap_cross_switch_position_mode" - body = { - "margin_account": margin_account, - "position_mode": position_mode - } - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def create_order(self, volume, direction, lever_rate, order_price_type, contract_code=None, pair=None, - contract_type=None, reduce_only=None, client_order_id=None, price=None, offset=None, - tp_trigger_price=None, tp_order_price=None, tp_order_price_type=None, sl_trigger_price=None, - sl_order_price=None, sl_order_price_type=None): - """ Create an new order. - - Args: - contract_code: such as "BTC-USDT". - price: Order price. - quantity: Order amount. - direction: Transaction direction, `buy` / `sell`. - offset: `open` / `close`. - lever_rate: Leverage rate, 10 or 20. - order_price_type: Order type, `limit` - limit order, `opponent` - market order. - - Returns: - success: Success results, otherwise it's None. - error: Error information, otherwise it's None. - """ - uri = "/linear-swap-api/v1/swap_cross_order" - body = { - "volume": volume, - "direction": direction, - "lever_rate": lever_rate, - "order_price_type": order_price_type - } - if contract_code: - body.update({"contract_code": contract_code}) - if pair: - body.update({"pair": pair}) - if contract_type: - body.update({"contract_type": contract_type}) - if reduce_only: - body.update({"reduce_only": reduce_only}) - if client_order_id: - body.update({"client_order_id": client_order_id}) - if price: - body.update({"price": price}) - if offset: - body.update({"offset": offset}) - if tp_trigger_price: - body.update({"tp_trigger_price": tp_trigger_price}) - if tp_order_price: - body.update({"tp_order_price": tp_order_price}) - if tp_order_price_type: - body.update({"tp_order_price_type": tp_order_price_type}) - if sl_order_price: - body.update({"sl_order_price": sl_order_price}) - if sl_order_price_type: - body.update({"sl_order_price_type": sl_order_price_type}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def create_orders(self, orders_data): - """ Batch Create orders. - { - "orders_data": [ - { - "contract_code": "btc-usdt", - "direction": "sell", - "offset": "open", - "price": "29999", - "lever_rate": 5, - "volume": 1, - "order_price_type": "opponent", - "tp_trigger_price": 27000, - "tp_order_price": 27000, - "tp_order_price_type": "optimal_5", - "sl_trigger_price": "30100", - "sl_order_price": "30100", - "sl_order_price_type": "optimal_5" - }, - { - "contract_code": "btc-usdt", - "direction": "buy", - "offset": "open", - "price": "29999", - "lever_rate": 5, - "volume": 1, - "order_price_type": "post_only", - "tp_trigger_price": 31000, - "tp_order_price": 31000, - "tp_order_price_type": "optimal_5", - "sl_trigger_price": "29100", - "sl_order_price": "29100", - "sl_order_price_type": "optimal_5" - } - ] - } - """ - uri = "/linear-swap-api/v1/swap_cross_batchorder" - body = orders_data - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def revoke_order(self, contract_code, order_id=None, client_order_id=None, pair=None, contract_type=None): - """ Revoke an order. - - Args: - contract_code: such as "BTC-USDT". - order_id: Order ID. - - Returns: - success: Success results, otherwise it's None. - error: Error information, otherwise it's None. - """ - uri = "/linear-swap-api/v1/swap_cross_cancel" - body = { - "contract_code": contract_code - } - if order_id: - body["order_id"] = order_id - if client_order_id: - body["client_order_id"] = client_order_id - if pair: - body["pair"] = pair - if contract_type: - body["contract_type"] = contract_type - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def revoke_orders(self, contract_code, order_ids=None, client_order_ids=None, pair=None, contract_type=None): - """ Revoke multiple orders. - - Args: - contract_code: such as "BTC-USDT". - order_ids: Order ID list. - - Returns: - success: Success results, otherwise it's None. - error: Error information, otherwise it's None. - """ - uri = "/linear-swap-api/v1/swap_cross_cancel" - body = { - "contract_code": contract_code - } - if order_ids: - body["order_id"] = ",".join(order_ids) - if client_order_ids: - body["client_order_id"] = ",".join(client_order_ids) - if pair: - body["pair"] = pair - if contract_type: - body["contract_type"] = contract_type - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def revoke_order_all(self, contract_code, pair=None, contract_type=None, direction=None, offset=None): - """ Revoke all orders. - - Args: - contract_code: such as "BTC-USDT". - - Returns: - success: Success results, otherwise it's None. - error: Error information, otherwise it's None. - - * NOTE: 1. If input `contract_code`, only matching this contract code. - 2. If not input `contract_code`, matching by `symbol + contract_type`. - """ - uri = "/linear-swap-api/v1/swap_cross_cancelall" - body = { - "contract_code": contract_code, - } - if pair: - body["pair"] = pair - if contract_type: - body["contract_type"] = contract_type - if direction: - body["direction"] = direction - if offset: - body["offset"] = offset - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def swap_cross_switch_lever_rate(self, lever_rate, contract_code=None, pair=None, contract_type=None): - - uri = "/linear-swap-api/v1/swap_cross_switch_lever_rate" - body = { - "lever_rate": lever_rate - } - - if contract_code: - body.update({"contract_code": contract_code}) - if pair: - body.update({"pair": pair}) - if contract_type: - body.update({"contract_type": contract_type}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_order_info(self, contract_code, order_ids=None, client_order_ids=None, pair=None): - """ Get order information. - - Args: - contract_code: such as "BTC-USDT". - order_ids: Order ID list. (different IDs are separated by ",", maximum 20 orders can be requested at one time.) - client_order_ids: Client Order ID list. (different IDs are separated by ",", maximum 20 orders can be requested at one time.) - - Returns: - success: Success results, otherwise it's None. - error: Error information, otherwise it's None. - """ - uri = "/linear-swap-api/v1/swap_cross_order_info" - body = { - "contract_code": contract_code - } - - if order_ids: - body.update({"order_id": ",".join(order_ids)}) - if client_order_ids: - body.update({"client_order_id": ",".join(client_order_ids)}) - if pair: - body["pair"] = pair - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_order_detail(self, contract_code, order_id, created_at=None, order_type=None, page_index=1, - page_size=20, pair=None): - """ Get Order Detail - - Args: - contract_code: such as "BTC-USDT" - order_id: order id. - created_at: create timestamp. - order_type: order type, 1. Quotation; 2. Cancelled order; 3. Forced liquidation; 4. Delivery Order - page_index: page idnex. 1 default. - page_size: page size. 20 default. 50 max. - Note: - When getting information on order cancellation via query order detail interface, - users who type in parameters “created_at” and “order_type” can query last 24-hour data, - while users who don’t type in parameters “created_at” and “order_type” can only query last 12-hour data. - created_at should use timestamp of long type as 13 bits (include Millisecond), - if send the accurate timestamp for "created_at", query performance will be improved. - eg. the timestamp "2019/10/18 10:26:22" can be changed:1571365582123.It can also directly - obtain the timestamp(ts) from the returned ordering interface(swap_order) to query the corresponding - orders. - """ - uri = "/linear-swap-api/v1/swap_cross_order_detail" - body = { - "contract_code": contract_code, - "order_id": order_id, - "page_index": page_index, - "page_size": page_size - } - if created_at: - body.update({"created_at": created_at}) - if order_type: - body.update({"order_type": order_type}) - if pair: - body["pair"] = pair - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_open_orders(self, contract_code, index=1, size=50, pair=None, sort_by=None, trade_type=None): - """ Get open order information. - - Args: - contract_code: such as "BTC-USDT". - index: Page index, default 1st page. - size: Page size, Default 20,no more than 50. - - Returns: - success: Success results, otherwise it's None. - error: Error information, otherwise it's None. - """ - uri = "/linear-swap-api/v1/swap_cross_openorders" - body = { - "contract_code": contract_code, - "page_index": index, - "page_size": size - } - if pair: - body["pair"] = pair - if sort_by: - body["sort_by"] = sort_by - if trade_type: - body["trade_type"] = trade_type - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_swap_cross_hisorders(self, trade_type, type, status, contract=None, pair=None, start_time=None, end_time=None, - direct=None, from_id=None): - - uri = "/linear-swap-api/v3/swap_cross_hisorders" - body = { - "trade_type": trade_type, - "type": type, - "status": status - } - - if contract: - body.update({"contract": contract}) - if pair: - body.update({"pair": pair}) - if start_time: - body.update({"start_time": start_time}) - if end_time: - body.update({"end_time": end_time}) - if direct: - body.update({"direct": direct}) - if from_id: - body.update({"from_id": from_id}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_swap_cross_hisorders_exact(self, trade_type, type, status, contract=None, pair=None, start_time=None, - end_time=None,direct=None, from_id=None, price_type=None): - - uri = "/linear-swap-api/v3/swap_cross_hisorders_exact" - body = { - "trade_type": trade_type, - "type": type, - "status": status - } - - if contract: - body.update({"contract": contract}) - if pair: - body.update({"pair": pair}) - if start_time: - body.update({"start_time": start_time}) - if end_time: - body.update({"end_time": end_time}) - if direct: - body.update({"direct": direct}) - if from_id: - body.update({"from_id": from_id}) - if price_type: - body.update({"price_type": price_type}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_swap_cross_matchresults(self, contract, trade_type, pair=None, start_time=None, - end_time=None, direct=None, from_id=None): - - uri = "/linear-swap-api/v3/swap_cross_matchresults" - body = { - "contract": contract, - "trade_type": trade_type - } - - if pair: - body.update({"pair": pair}) - if start_time: - body.update({"start_time": start_time}) - if end_time: - body.update({"end_time": end_time}) - if direct: - body.update({"direct": direct}) - if from_id: - body.update({"from_id": from_id}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_swap_cross_matchresults_exact(self, contract, trade_type, pair=None, start_time=None, - end_time=None, direct=None, from_id=None): - - uri = "/linear-swap-api/v3/swap_cross_matchresults_exact" - body = { - "contract": contract, - "trade_type": trade_type - } - - if pair: - body.update({"pair": pair}) - if start_time: - body.update({"start_time": start_time}) - if end_time: - body.update({"end_time": end_time}) - if direct: - body.update({"direct": direct}) - if from_id: - body.update({"from_id": from_id}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def swap_cross_lightning_close_position(self, direction, contract_code=None, pair=None, contract_type=None, - client_order_id=None, order_price_type=None): - - uri = "/linear-swap-api/v1/swap_cross_lightning_close_position" - body = { - "direction": direction - } - - if contract_code: - body.update({"contract_code": contract_code}) - if pair: - body.update({"pair": pair}) - if contract_type: - body.update({"contract_type": contract_type}) - if client_order_id: - body.update({"client_order_id": client_order_id}) - if order_price_type: - body.update({"order_price_type": order_price_type}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_swap_cross_position_side(self, margin_account): - - uri = "/linear-swap-api/v1/swap_cross_position_side" - params = { - "margin_account": margin_account - } - - success, error = await self.request("GET", uri, params=params, auth=True) - return success, error - - async def request(self, method, uri, params=None, body=None, headers=None, auth=False): - """ Do HTTP request. - - Args: - method: HTTP request method. `GET` / `POST` / `DELETE` / `PUT`. - uri: HTTP request uri. - params: HTTP query params. - body: HTTP request body. - headers: HTTP request headers. - auth: If this request requires authentication. - - Returns: - success: Success results, otherwise it's None. - error: Error information, otherwise it's None. - """ - if uri.startswith("http://") or uri.startswith("https://"): - url = uri - else: - url = self._host + uri - - if auth: - timestamp = datetime.datetime.utcnow().strftime("%Y-%m-%dT%H:%M:%S") - params = params if params else {} - params.update({"AccessKeyId": self._access_key, - "SignatureMethod": "HmacSHA256", - "SignatureVersion": "2", - "Timestamp": timestamp}) - - params["Signature"] = self.generate_signature(method, params, uri) - - if not headers: - headers = {} - if method == "GET": - headers["Content-type"] = "application/x-www-form-urlencoded" - headers["User-Agent"] = USER_AGENT - _, success, error = await AsyncHttpRequests.fetch("GET", url, params=params, headers=headers, timeout=10) - else: - headers["Accept"] = "application/json" - headers["Content-type"] = "application/json" - headers["User-Agent"] = USER_AGENT - _, success, error = await AsyncHttpRequests.fetch("POST", url, params=params, data=body, headers=headers, - timeout=10) - if error: - return None, error - if not isinstance(success, dict): - result = json.loads(success) - else: - result = success - if result.get("status") != "ok": - return None, result - return result, None - - def generate_signature(self, method, params, request_path): - if request_path.startswith("http://") or request_path.startswith("https://"): - host_url = urllib.parse.urlparse(request_path).hostname.lower() - request_path = '/' + '/'.join(request_path.split('/')[3:]) - else: - host_url = urllib.parse.urlparse(self._host).hostname.lower() - sorted_params = sorted(params.items(), key=lambda d: d[0], reverse=False) - encode_params = urllib.parse.urlencode(sorted_params) - payload = [method, host_url, request_path, encode_params] - payload = "\n".join(payload) - payload = payload.encode(encoding="UTF8") - secret_key = self._secret_key.encode(encoding="utf8") - digest = hmac.new(secret_key, payload, digestmod=hashlib.sha256).digest() - signature = base64.b64encode(digest) - signature = signature.decode() - return signature \ No newline at end of file diff --git a/alpha/platforms/huobi_usdt_swap/restapi/rest_cross_transfer_sync.py b/alpha/platforms/huobi_usdt_swap/restapi/rest_cross_transfer_sync.py deleted file mode 100644 index 1a30e39..0000000 --- a/alpha/platforms/huobi_usdt_swap/restapi/rest_cross_transfer_sync.py +++ /dev/null @@ -1,17 +0,0 @@ -import json - -from alpha.utils.http_utils import get - - -class RestCrossTransferUsdtSwap: - def __init__(self, access_key: str, secret_key: str, host: str = None): - self.access_key = access_key - self.secret_key = secret_key - if host is None: - host = "api.hbdm.com" - self.host = host - - def swap_cross_transfer_state(self, params: dict = None) -> json: - path = "/linear-swap-api/v1/swap_cross_transfer_state" - return get(self.host, path, params) - diff --git a/alpha/platforms/huobi_usdt_swap/restapi/rest_cross_transfer_usdt_swap.py b/alpha/platforms/huobi_usdt_swap/restapi/rest_cross_transfer_usdt_swap.py deleted file mode 100644 index b2abb6e..0000000 --- a/alpha/platforms/huobi_usdt_swap/restapi/rest_cross_transfer_usdt_swap.py +++ /dev/null @@ -1,121 +0,0 @@ -# -*- coding:utf-8 -*- - -""" -Huobi USDT Swap Api Module. - -Author: QiaoXiaofeng -Date: 2020/09/10 -Email: andyjoe318@gmail.com -""" - -import gzip -import json -import copy -import hmac -import base64 -import urllib -import hashlib -import datetime -import time -from urllib.parse import urljoin -from alpha.utils.request import AsyncHttpRequests -from alpha.const import USER_AGENT - -__all__ = ("HuobiUsdtSwapRestCrossTransferAPI",) - - -class HuobiUsdtSwapRestCrossTransferAPI: - """ Huobi USDT Swap REST API Client. - - Attributes: - host: HTTP request host. - access_key: Account's ACCESS KEY. - secret_key: Account's SECRET KEY. - passphrase: API KEY Passphrase. - """ - - def __init__(self, host, access_key, secret_key): - """ initialize REST API client. """ - self._host = host - self._access_key = access_key - self._secret_key = secret_key - - async def get_swap_cross_transfer_state(self, margin_account=None): - - uri = "/linear-swap-api/v1/swap_cross_transfer_state" - params = { - - } - if margin_account: - params["margin_account"] = margin_account - success, error = await self.request("GET", uri, params=params) - return success, error - - async def request(self, method, uri, params=None, body=None, headers=None, auth=False): - """ Do HTTP request. - - Args: - method: HTTP request method. `GET` / `POST` / `DELETE` / `PUT`. - uri: HTTP request uri. - params: HTTP query params. - body: HTTP request body. - headers: HTTP request headers. - auth: If this request requires authentication. - - Returns: - success: Success results, otherwise it's None. - error: Error information, otherwise it's None. - """ - if uri.startswith("http://") or uri.startswith("https://"): - url = uri - else: - url = self._host + uri - - if auth: - timestamp = datetime.datetime.utcnow().strftime("%Y-%m-%dT%H:%M:%S") - params = params if params else {} - params.update({"AccessKeyId": self._access_key, - "SignatureMethod": "HmacSHA256", - "SignatureVersion": "2", - "Timestamp": timestamp}) - - params["Signature"] = self.generate_signature(method, params, uri) - - if not headers: - headers = {} - if method == "GET": - headers["Content-type"] = "application/x-www-form-urlencoded" - headers["User-Agent"] = USER_AGENT - _, success, error = await AsyncHttpRequests.fetch("GET", url, params=params, headers=headers, timeout=10) - else: - headers["Accept"] = "application/json" - headers["Content-type"] = "application/json" - headers["User-Agent"] = USER_AGENT - _, success, error = await AsyncHttpRequests.fetch("POST", url, params=params, data=body, headers=headers, - timeout=10) - if error: - return None, error - if not isinstance(success, dict): - result = json.loads(success) - else: - result = success - if result.get("status") != "ok": - return None, result - return result, None - - def generate_signature(self, method, params, request_path): - if request_path.startswith("http://") or request_path.startswith("https://"): - host_url = urllib.parse.urlparse(request_path).hostname.lower() - request_path = '/' + '/'.join(request_path.split('/')[3:]) - else: - host_url = urllib.parse.urlparse(self._host).hostname.lower() - sorted_params = sorted(params.items(), key=lambda d: d[0], reverse=False) - encode_params = urllib.parse.urlencode(sorted_params) - payload = [method, host_url, request_path, encode_params] - payload = "\n".join(payload) - payload = payload.encode(encoding="UTF8") - secret_key = self._secret_key.encode(encoding="utf8") - digest = hmac.new(secret_key, payload, digestmod=hashlib.sha256).digest() - signature = base64.b64encode(digest) - signature = signature.decode() - return signature \ No newline at end of file diff --git a/alpha/platforms/huobi_usdt_swap/restapi/rest_market_sync.py b/alpha/platforms/huobi_usdt_swap/restapi/rest_market_sync.py deleted file mode 100644 index ff2ec9f..0000000 --- a/alpha/platforms/huobi_usdt_swap/restapi/rest_market_sync.py +++ /dev/null @@ -1,58 +0,0 @@ -import json - -from alpha.utils.http_utils import get - - -class RestMarketUsdtSwap: - def __init__(self, host=None): - if host is None: - host = "api.hbdm.com" - self.host = host - - def depth(self, params: dict = None) -> json: - path = "/linear-swap-ex/market/depth" - return get(self.host, path, params) - - def bbo(self, params: dict = None) -> json: - path = "/linear-swap-ex/market/bbo" - return get(self.host, path, params) - - def kline(self, params: dict = None) -> json: - path = "/linear-swap-ex/market/history/kline" - return get(self.host, path, params) - - def mark_price_kline(self, params: dict = None) -> json: - path = "/index/market/history/linear_swap_mark_price_kline" - return get(self.host, path, params) - - def merged(self, params: dict = None) -> json: - path = "/linear-swap-ex/market/detail/merged" - return get(self.host, path, params) - - def batch_merged(self, params: dict = None) -> json: - path = "/v2/linear-swap-ex/market/detail/batch_merged" - return get(self.host, path, params) - - def trade(self, params: dict = None) -> json: - path = "/linear-swap-ex/market/trade" - return get(self.host, path, params) - - def history_trade(self, params: dict = None) -> json: - path = "/linear-swap-ex/market/history/trade" - return get(self.host, path, params) - - def swap_his_open_interest(self, params: dict = None) -> json: - path = "/linear-swap-api/v1/swap_his_open_interest" - return get(self.host, path, params) - - def linear_swap_premium_index_kline(self, params: dict = None) -> json: - path = "/index/market/history/linear_swap_premium_index_kline" - return get(self.host, path, params) - - def linear_swap_estimated_rate_kline(self, params: dict = None) -> json: - path = "/index/market/history/linear_swap_estimated_rate_kline" - return get(self.host, path, params) - - def linear_swap_basis(self, params: dict = None) -> json: - path = "/index/market/history/linear_swap_basis" - return get(self.host, path, params) diff --git a/alpha/platforms/huobi_usdt_swap/restapi/rest_market_usdt_swap.py b/alpha/platforms/huobi_usdt_swap/restapi/rest_market_usdt_swap.py deleted file mode 100644 index 3c27e0f..0000000 --- a/alpha/platforms/huobi_usdt_swap/restapi/rest_market_usdt_swap.py +++ /dev/null @@ -1,294 +0,0 @@ -# -*- coding:utf-8 -*- - -""" -Huobi USDT Swap Api Module. - -Author: QiaoXiaofeng -Date: 2020/09/10 -Email: andyjoe318@gmail.com -""" - -import gzip -import json -import copy -import hmac -import base64 -import urllib -import hashlib -import datetime -import time -from urllib.parse import urljoin -from alpha.utils.request import AsyncHttpRequests -from alpha.const import USER_AGENT - -__all__ = ("HuobiUsdtSwapRestMarketAPI",) - - -class HuobiUsdtSwapRestMarketAPI: - """ Huobi USDT Swap REST API Client. - - Attributes: - host: HTTP request host. - access_key: Account's ACCESS KEY. - secret_key: Account's SECRET KEY. - passphrase: API KEY Passphrase. - """ - - def __init__(self, host, access_key, secret_key): - """ initialize REST API client. """ - self._host = host - self._access_key = access_key - self._secret_key = secret_key - - async def get_orderbook(self, contract_code, type="step0"): - """ Get orderbook information. - - Args: - contract_code: such as "BTC-USDT". - - Returns: - success: Success results, otherwise it's None. - error: Error information, otherwise it's None. - """ - uri = "/linear-swap-ex/market/depth" - params = { - "contract_code": contract_code, - "type": type - } - success, error = await self.request("GET", uri, params=params) - return success, error - - async def get_market_bbo(self, contract_code=None, business_type=None): - - uri = "/linear-swap-ex/market/bbo" - params = { - - } - if contract_code: - params["contract_code"] = contract_code - if business_type: - params["business_type"] = business_type - - success, error = await self.request("GET", uri, params=params) - return success, error - - async def get_klines(self, contract_code, period, size=None, sfrom=None, to=None): - """ Get kline information. - - Args: - contract_code: such as "BTC-USDT". - period: 1min, 5min, 15min, 30min, 60min,4hour,1day, 1mon - size: [1,2000] - - Returns: - success: Success results, otherwise it's None. - error: Error information, otherwise it's None. - """ - uri = "/linear-swap-ex/market/history/kline" - params = { - "contract_code": contract_code, - "period": period - } - if size: - params["size"] = size - if sfrom: - params["from"] = sfrom - if to: - params["to"] = to - success, error = await self.request("GET", uri, params=params) - return success, error - - async def get_linear_swap_mark_price_kline(self, contract_code, period, size): - - uri = "/index/market/history/linear_swap_mark_price_kline" - params = { - "contract_code": contract_code, - "period": period, - "size": size - } - - success, error = await self.request("GET", uri, params=params) - return success, error - - async def get_merged_data(self, contract_code): - """ Get Merged Data. - - Args: - contract_code: such as "BTC-USDT" - - Returns: - success: Success results. - error: Error information. - """ - uri = "/linear-swap-ex/market/detail/merged" - params = { - "contract_code": contract_code - } - success, error = await self.request("GET", uri, params=params) - return success, error - - async def get_batch_merged(self, contract_code=None, business_type=None): - - uri = "/v2/linear-swap-ex/market/detail/batch_merged" - params = { - - } - if contract_code: - params["contract_code"] = contract_code - if business_type: - params["business_type"] = business_type - - success, error = await self.request("GET", uri, params=params) - return success, error - - async def get_market_trade(self, contract_code=None, business_type=None): - - uri = "/linear-swap-ex/market/trade" - params = { - - } - if contract_code: - params["contract_code"] = contract_code - if business_type: - params["business_type"] = business_type - - success, error = await self.request("GET", uri, params=params) - return success, error - - async def get_market_history_trade(self, contract_code, size): - - uri = "/linear-swap-ex/market/history/trade" - params = { - "contract_code": contract_code, - "size": size - } - - success, error = await self.request("GET", uri, params=params) - return success, error - - async def get_swap_his_open_interest(self, period, amount_type, contract_code=None, pair=None, contract_type=None, - size=None): - - uri = "/linear-swap-api/v1/swap_his_open_interest" - params = { - "period": period, - "amount_type": amount_type - } - if contract_code: - params["contract_code"] = contract_code - if pair: - params["pair"] = pair - if contract_type: - params["contract_type"] = contract_type - if size: - params["size"] = size - - success, error = await self.request("GET", uri, params=params) - return success, error - - async def get_linear_swap_premium_index_kline(self, contract_code, period, size): - - uri = "/index/market/history/linear_swap_premium_index_kline" - params = { - "contract_code": contract_code, - "period": period, - "size": size - } - - success, error = await self.request("GET", uri, params=params) - return success, error - - async def get_linear_swap_estimated_rate_kline(self, contract_code, period, size): - - uri = "/index/market/history/linear_swap_estimated_rate_kline" - params = { - "contract_code": contract_code, - "period": period, - "size": size - } - - success, error = await self.request("GET", uri, params=params) - return success, error - - async def get_linear_swap_basis(self, contract_code, period, size, basis_price_type=None): - - uri = "/index/market/history/linear_swap_basis" - params = { - "contract_code": contract_code, - "period": period, - "size": size - } - if basis_price_type: - params["basis_price_type"] = basis_price_type - - success, error = await self.request("GET", uri, params=params) - return success, error - - async def request(self, method, uri, params=None, body=None, headers=None, auth=False): - """ Do HTTP request. - - Args: - method: HTTP request method. `GET` / `POST` / `DELETE` / `PUT`. - uri: HTTP request uri. - params: HTTP query params. - body: HTTP request body. - headers: HTTP request headers. - auth: If this request requires authentication. - - Returns: - success: Success results, otherwise it's None. - error: Error information, otherwise it's None. - """ - if uri.startswith("http://") or uri.startswith("https://"): - url = uri - else: - url = self._host + uri - - if auth: - timestamp = datetime.datetime.utcnow().strftime("%Y-%m-%dT%H:%M:%S") - params = params if params else {} - params.update({"AccessKeyId": self._access_key, - "SignatureMethod": "HmacSHA256", - "SignatureVersion": "2", - "Timestamp": timestamp}) - - params["Signature"] = self.generate_signature(method, params, uri) - - if not headers: - headers = {} - if method == "GET": - headers["Content-type"] = "application/x-www-form-urlencoded" - headers["User-Agent"] = USER_AGENT - _, success, error = await AsyncHttpRequests.fetch("GET", url, params=params, headers=headers, timeout=10) - else: - headers["Accept"] = "application/json" - headers["Content-type"] = "application/json" - headers["User-Agent"] = USER_AGENT - _, success, error = await AsyncHttpRequests.fetch("POST", url, params=params, data=body, headers=headers, - timeout=10) - if error: - return None, error - if not isinstance(success, dict): - result = json.loads(success) - else: - result = success - if result.get("status") != "ok": - return None, result - return result, None - - def generate_signature(self, method, params, request_path): - if request_path.startswith("http://") or request_path.startswith("https://"): - host_url = urllib.parse.urlparse(request_path).hostname.lower() - request_path = '/' + '/'.join(request_path.split('/')[3:]) - else: - host_url = urllib.parse.urlparse(self._host).hostname.lower() - sorted_params = sorted(params.items(), key=lambda d: d[0], reverse=False) - encode_params = urllib.parse.urlencode(sorted_params) - payload = [method, host_url, request_path, encode_params] - payload = "\n".join(payload) - payload = payload.encode(encoding="UTF8") - secret_key = self._secret_key.encode(encoding="utf8") - digest = hmac.new(secret_key, payload, digestmod=hashlib.sha256).digest() - signature = base64.b64encode(digest) - signature = signature.decode() - return signature diff --git a/alpha/platforms/huobi_usdt_swap/restapi/rest_reference_sync.py b/alpha/platforms/huobi_usdt_swap/restapi/rest_reference_sync.py deleted file mode 100644 index 6a7ac30..0000000 --- a/alpha/platforms/huobi_usdt_swap/restapi/rest_reference_sync.py +++ /dev/null @@ -1,102 +0,0 @@ -import json - -from alpha.utils.http_utils import get - - -class RestReferenceUsdtSwap: - def __init__(self, host=None): - if host is None: - host = "api.hbdm.com" - self.host = host - - def swap_unified_account_type(self, params: dict = None) -> json: - path = "/linear-swap-api/v3/swap_unified_account_type" - return get(self.host, path, params) - - def swap_switch_account_type(self, params: dict = None) -> json: - path = "/linear-swap-api/v3/swap_switch_account_type" - return get(self.host, path, params) - - def swap_funding_rate(self, params: dict = None) -> json: - path = "/linear-swap-api/v1/swap_funding_rate" - return get(self.host, path, params) - - def swap_batch_funding_rate(self, params: dict = None) -> json: - path = "/linear-swap-api/v1/swap_batch_funding_rate" - return get(self.host, path, params) - - def swap_historical_funding_rate(self, params: dict = None) -> json: - path = "/linear-swap-api/v1/swap_historical_funding_rate" - return get(self.host, path, params) - - def swap_liquidation_orders(self, params: dict = None) -> json: - path = "/linear-swap-api/v3/swap_liquidation_orders" - return get(self.host, path, params) - - def swap_settlement_records(self, params: dict = None) -> json: - path = "/linear-swap-api/v1/swap_settlement_records" - return get(self.host, path, params) - - def swap_elite_account_ratio(self, params: dict = None) -> json: - path = "/linear-swap-api/v1/swap_elite_account_ratio" - return get(self.host, path, params) - - def swap_elite_position_ratio(self, params: dict = None) -> json: - path = "/linear-swap-api/v1/swap_elite_position_ratio" - return get(self.host, path, params) - - def swap_api_state(self, params: dict = None) -> json: - path = "/linear-swap-api/v1/swap_api_state" - return get(self.host, path, params) - - def swap_ladder_margin(self, params: dict = None) -> json: - path = "/linear-swap-api/v1/swap_ladder_margin" - return get(self.host, path, params) - - def swap_estimated_settlement_price(self, params: dict = None) -> json: - path = "/linear-swap-api/v1/swap_estimated_settlement_price" - return get(self.host, path, params) - - def swap_adjustfactor(self, params: dict = None) -> json: - path = "/linear-swap-api/v1/swap_adjustfactor" - return get(self.host, path, params) - - def swap_insurance_fund(self, params: dict = None) -> json: - path = "/linear-swap-api/v1/swap_insurance_fund" - return get(self.host, path, params) - - def swap_risk_info(self, params: dict = None) -> json: - path = "/linear-swap-api/v1/swap_risk_info" - return get(self.host, path, params) - - def swap_price_limit(self, params: dict = None) -> json: - path = "/linear-swap-api/v1/swap_price_limit" - return get(self.host, path, params) - - def swap_open_interest(self, params: dict = None) -> json: - path = "/linear-swap-api/v1/swap_open_interest" - return get(self.host, path, params) - - def swap_contract_info(self, params: dict = None) -> json: - path = "/linear-swap-api/v1/swap_contract_info" - return get(self.host, path, params) - - def swap_index(self, params: dict = None) -> json: - path = "/linear-swap-api/v1/swap_index" - return get(self.host, path, params) - - def swap_query_elements(self, params: dict = None) -> json: - path = "/linear-swap-api/v1/swap_query_elements" - return get(self.host, path, params) - - def timestamp(self, params: dict = None) -> json: - path = "/api/v1/timestamp" - return get(self.host, path, params) - - def heartbeat(self, params: dict = None) -> json: - path = "/heartbeat/" - return get(self.host, path, params) - - def summary(self, params: dict = None) -> json: - path = "https://status-linear-swap.huobigroup.com/api/v2/summary.json" - return get(self.host, path, params) diff --git a/alpha/platforms/huobi_usdt_swap/restapi/rest_reference_usdt_swap.py b/alpha/platforms/huobi_usdt_swap/restapi/rest_reference_usdt_swap.py deleted file mode 100644 index 5a7c521..0000000 --- a/alpha/platforms/huobi_usdt_swap/restapi/rest_reference_usdt_swap.py +++ /dev/null @@ -1,439 +0,0 @@ -# -*- coding:utf-8 -*- - -""" -Huobi USDT Swap Api Module. - -Author: QiaoXiaofeng -Date: 2020/09/10 -Email: andyjoe318@gmail.com -""" - -import gzip -import json -import copy -import hmac -import base64 -import urllib -import hashlib -import datetime -import time -from urllib.parse import urljoin -from alpha.utils.request import AsyncHttpRequests -from alpha.const import USER_AGENT - -__all__ = ("HuobiUsdtSwapRestReferenceAPI",) - - -class HuobiUsdtSwapRestReferenceAPI: - """ Huobi USDT Swap REST API Client. - - Attributes: - host: HTTP request host. - access_key: Account's ACCESS KEY. - secret_key: Account's SECRET KEY. - passphrase: API KEY Passphrase. - """ - - def __init__(self, host, access_key, secret_key): - """ initialize REST API client. """ - self._host = host - self._access_key = access_key - self._secret_key = secret_key - - async def get_swap_unified_account_type(self): - - uri = "/linear-swap-api/v3/swap_unified_account_type" - params = { - - } - - success, error = await self.request("GET", uri, params=params, auth=True) - return success, error - - async def swap_switch_account_type(self, account_type): - - uri = "/linear-swap-api/v3/swap_switch_account_type" - body = { - "account_type": account_type - } - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_swap_funding_rate(self, contract_code): - - uri = "/linear-swap-api/v1/swap_funding_rate" - params = { - "contract_code": contract_code - } - - success, error = await self.request("GET", uri, params=params) - return success, error - - async def get_swap_batch_funding_rate(self, contract_code=None): - - uri = "/linear-swap-api/v1/swap_batch_funding_rate" - params = { - - } - if contract_code: - params["contract_code"] = contract_code - - success, error = await self.request("GET", uri, params=params) - return success, error - - async def get_swap_historical_funding_rate(self, contract_code, page_index=None, page_size=None): - - uri = "/linear-swap-api/v1/swap_historical_funding_rate" - params = { - "contract_code": contract_code - } - if page_index: - params["page_index"] = page_index - if page_size: - params["page_size"] = page_size - - success, error = await self.request("GET", uri, params=params) - return success, error - - async def get_swap_liquidation_orders(self, trade_type, contract=None, pair=None, start_time=None, end_time=None, - direct=None, from_id=None): - - uri = "/linear-swap-api/v3/swap_liquidation_orders" - params = { - "trade_type": trade_type - } - if contract: - params["contract"] = contract - if pair: - params["pair"] = pair - if start_time: - params["start_time"] = start_time - if end_time: - params["end_time"] = end_time - if direct: - params["direct"] = direct - if from_id: - params["from_id"] = from_id - - success, error = await self.request("GET", uri, params=params) - return success, error - - async def get_swap_settlement_records(self, contract_code, start_time=None, end_time=None, page_index=None, - page_size=None): - - uri = "/linear-swap-api/v1/swap_settlement_records" - params = { - "contract_code": contract_code - } - if start_time: - params["start_time"] = start_time - if end_time: - params["end_time"] = end_time - if page_index: - params["page_index"] = page_index - if page_size: - params["page_size"] = page_size - - success, error = await self.request("GET", uri, params=params) - return success, error - - async def get_swap_elite_account_ratio(self, contract_code, period): - - uri = "/linear-swap-api/v1/swap_elite_account_ratio" - params = { - "contract_code": contract_code, - "period": period - } - - success, error = await self.request("GET", uri, params=params) - return success, error - - async def get_swap_elite_position_ratio(self, contract_code, period): - - uri = "/linear-swap-api/v1/swap_elite_position_ratio" - params = { - "contract_code": contract_code, - "period": period - } - - success, error = await self.request("GET", uri, params=params) - return success, error - - async def get_swap_api_state(self, contract_code=None): - - uri = "/linear-swap-api/v1/swap_api_state" - params = { - - } - if contract_code: - params["contract_code"] = contract_code - - success, error = await self.request("GET", uri, params=params) - return success, error - - async def get_swap_ladder_margin(self, contract_code=None): - - uri = "/linear-swap-api/v1/swap_ladder_margin" - params = { - - } - if contract_code: - params["contract_code"] = contract_code - - success, error = await self.request("GET", uri, params=params) - return success, error - - async def get_swap_estimated_settlement_price(self, contract_code=None, pair=None, contract_type=None, - business_type=None): - - uri = "/linear-swap-api/v1/swap_estimated_settlement_price" - params = { - - } - if contract_code: - params["contract_code"] = contract_code - if pair: - params["pair"] = pair - if contract_type: - params["contract_type"] = contract_type - if business_type: - params["business_type"] = business_type - - success, error = await self.request("GET", uri, params=params) - return success, error - - async def get_swap_adjustfactor(self, contract_code=None): - - uri = "/linear-swap-api/v1/swap_adjustfactor" - params = { - - } - if contract_code: - params["contract_code"] = contract_code - - success, error = await self.request("GET", uri, params=params) - return success, error - - async def get_swap_insurance_fund(self, contract_code, page_index=None, page_size=None): - - uri = "/linear-swap-api/v1/swap_insurance_fund" - params = { - "contract_code": contract_code - } - if page_index: - params["page_index"] = page_index - if page_size: - params["page_size"] = page_size - - success, error = await self.request("GET", uri, params=params) - return success, error - - async def get_swap_risk_info(self, contract_code=None, business_type=None): - - uri = "/linear-swap-api/v1/swap_risk_info" - params = { - - } - if contract_code: - params["contract_code"] = contract_code - if business_type: - params["business_type"] = business_type - - success, error = await self.request("GET", uri, params=params) - return success, error - - async def get_price_limit(self, contract_code=None, pair=None, contract_type=None, business_type=None): - """ Get swap price limit. - - Args: - contract_code: such as "BTC-USDT". - - Returns: - success: Success results, otherwise it's None. - error: Error information, otherwise it's None. - - * NOTE: 1. If input `contract_code`, only matching this contract code. - 2. If not input 'contract_code', matching all contract_codes. - """ - uri = "/linear-swap-api/v1/swap_price_limit" - params = {} - if contract_code: - params["contract_code"] = contract_code - if pair: - params["pair"] = pair - if contract_type: - params["contract_type"] = contract_type - if business_type: - params["business_type"] = business_type - success, error = await self.request("GET", uri, params=params) - return success, error - - async def get_swap_open_interest(self, contract_code=None, pair=None, contract_type=None, business_type=None): - - uri = "/linear-swap-api/v1/swap_open_interest" - params = { - - } - if contract_code: - params["contract_code"] = contract_code - if pair: - params["pair"] = pair - if contract_type: - params["contract_type"] = contract_type - if business_type: - params["business_type"] = business_type - - success, error = await self.request("GET", uri, params=params) - return success, error - - async def get_swap_info(self, contract_code=None, support_margin_mode=None, pair=None, contract_type=None, - business_type=None): - """ Get Swap Info - - Args: - contract_code: such as "BTC-USDT". - - Returns: - success: Success results, otherwise it's None. - error: Error information, otherwise it's None. - * Note: 1. If input `contract_code`, only matching this contract code. - 2. If not input 'contract_code', matching all contract_codes. - """ - uri = "/linear-swap-api/v1/swap_contract_info" - params = {} - if contract_code: - params["contract_code"] = contract_code - if support_margin_mode: - params["support_margin_mode"] = support_margin_mode - if pair: - params["pair"] = pair - if contract_type: - params["contract_type"] = contract_type - if business_type: - params["business_type"] = business_type - success, error = await self.request("GET", uri, params) - return success, error - - async def get_swap_index(self, contract_code=None): - - uri = "/linear-swap-api/v1/swap_index" - params = { - - } - if contract_code: - params["contract_code"] = contract_code - - success, error = await self.request("GET", uri, params=params) - return success, error - - async def get_swap_query_elements(self, contract_code=None): - - uri = "/linear-swap-api/v1/swap_query_elements" - params = { - - } - if contract_code: - params["contract_code"] = contract_code - - success, error = await self.request("GET", uri, params=params) - return success, error - - async def get_timestamp(self): - - uri = "/api/v1/timestamp" - params = { - - } - - success, error = await self.request("GET", uri, params=params) - return success, error - - async def get_heartbeat(self): - - uri = "/heartbeat/" - params = { - - } - - success, error = await self.request("GET", uri, params=params) - return success, error - - async def get_summary(self): - - uri = "https://status-linear-swap.huobigroup.com/api/v2/summary.json" - params = { - - } - - success, error = await self.request("GET", uri, params=params) - return success, error - - async def request(self, method, uri, params=None, body=None, headers=None, auth=False): - """ Do HTTP request. - - Args: - method: HTTP request method. `GET` / `POST` / `DELETE` / `PUT`. - uri: HTTP request uri. - params: HTTP query params. - body: HTTP request body. - headers: HTTP request headers. - auth: If this request requires authentication. - - Returns: - success: Success results, otherwise it's None. - error: Error information, otherwise it's None. - """ - if uri.startswith("http://") or uri.startswith("https://"): - url = uri - else: - url = self._host + uri - - if auth: - timestamp = datetime.datetime.utcnow().strftime("%Y-%m-%dT%H:%M:%S") - params = params if params else {} - params.update({"AccessKeyId": self._access_key, - "SignatureMethod": "HmacSHA256", - "SignatureVersion": "2", - "Timestamp": timestamp}) - - params["Signature"] = self.generate_signature(method, params, uri) - - if not headers: - headers = {} - if method == "GET": - headers["Content-type"] = "application/x-www-form-urlencoded" - headers["User-Agent"] = USER_AGENT - _, success, error = await AsyncHttpRequests.fetch("GET", url, params=params, headers=headers, timeout=10) - else: - headers["Accept"] = "application/json" - headers["Content-type"] = "application/json" - headers["User-Agent"] = USER_AGENT - _, success, error = await AsyncHttpRequests.fetch("POST", url, params=params, data=body, headers=headers, - timeout=10) - if error: - return None, error - if not isinstance(success, dict): - result = json.loads(success) - else: - result = success - if result.get("status") != "ok": - return None, result - return result, None - - def generate_signature(self, method, params, request_path): - if request_path.startswith("http://") or request_path.startswith("https://"): - host_url = urllib.parse.urlparse(request_path).hostname.lower() - request_path = '/' + '/'.join(request_path.split('/')[3:]) - else: - host_url = urllib.parse.urlparse(self._host).hostname.lower() - sorted_params = sorted(params.items(), key=lambda d: d[0], reverse=False) - encode_params = urllib.parse.urlencode(sorted_params) - payload = [method, host_url, request_path, encode_params] - payload = "\n".join(payload) - payload = payload.encode(encoding="UTF8") - secret_key = self._secret_key.encode(encoding="utf8") - digest = hmac.new(secret_key, payload, digestmod=hashlib.sha256).digest() - signature = base64.b64encode(digest) - signature = signature.decode() - return signature diff --git a/alpha/platforms/huobi_usdt_swap/restapi/rest_strategy_sync.py b/alpha/platforms/huobi_usdt_swap/restapi/rest_strategy_sync.py deleted file mode 100644 index ef75345..0000000 --- a/alpha/platforms/huobi_usdt_swap/restapi/rest_strategy_sync.py +++ /dev/null @@ -1,76 +0,0 @@ -import json - -from alpha.utils.http_utils import post - - -class RestStrategyUsdtSwap: - def __init__(self, access_key: str, secret_key: str, host: str = None): - self.access_key = access_key - self.secret_key = secret_key - if host is None: - host = "api.hbdm.com" - self.host = host - - def swap_trigger_order(self, data: dict = None) -> json: - path = "/linear-swap-api/v1/swap_trigger_order" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_trigger_cancel(self, data: dict = None) -> json: - path = "/linear-swap-api/v1/swap_trigger_cancel" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_trigger_cancelall(self, data: dict = None) -> json: - path = "/linear-swap-api/v1/swap_trigger_cancelall" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_trigger_openorders(self, data: dict = None) -> json: - path = "/linear-swap-api/v1/swap_trigger_openorders" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_trigger_hisorders(self, data: dict = None) -> json: - path = "/linear-swap-api/v1/swap_trigger_hisorders" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_tpsl_order(self, data: dict = None) -> json: - path = "/linear-swap-api/v1/swap_tpsl_order" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_tpsl_cancel(self, data: dict = None) -> json: - path = "/linear-swap-api/v1/swap_tpsl_cancel" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_tpsl_cancelall(self, data: dict = None) -> json: - path = "/linear-swap-api/v1/swap_tpsl_cancelall" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_tpsl_openorders(self, data: dict = None) -> json: - path = "/linear-swap-api/v1/swap_tpsl_openorders" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_tpsl_hisorders(self, data: dict = None) -> json: - path = "/linear-swap-api/v1/swap_tpsl_hisorders" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_relation_tpsl_order(self, data: dict = None) -> json: - path = "/linear-swap-api/v1/swap_relation_tpsl_order" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_track_order(self, data: dict = None) -> json: - path = "/linear-swap-api/v1/swap_track_order" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_track_cancel(self, data: dict = None) -> json: - path = "/linear-swap-api/v1/swap_track_cancel" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_track_cancelall(self, data: dict = None) -> json: - path = "/linear-swap-api/v1/swap_track_cancelall" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_track_openorders(self, data: dict = None) -> json: - path = "/linear-swap-api/v1/swap_track_openorders" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_track_hisorders(self, data: dict = None) -> json: - path = "/linear-swap-api/v1/swap_track_hisorders" - return post(self.access_key, self.secret_key, self.host, path, data) diff --git a/alpha/platforms/huobi_usdt_swap/restapi/rest_strategy_usdt_swap.py b/alpha/platforms/huobi_usdt_swap/restapi/rest_strategy_usdt_swap.py deleted file mode 100644 index 300567f..0000000 --- a/alpha/platforms/huobi_usdt_swap/restapi/rest_strategy_usdt_swap.py +++ /dev/null @@ -1,387 +0,0 @@ -# -*- coding:utf-8 -*- - -""" -Huobi USDT Swap Api Module. - -Author: QiaoXiaofeng -Date: 2020/09/10 -Email: andyjoe318@gmail.com -""" - -import gzip -import json -import copy -import hmac -import base64 -import urllib -import hashlib -import datetime -import time -from urllib.parse import urljoin -from alpha.utils.request import AsyncHttpRequests -from alpha.const import USER_AGENT - -__all__ = ("HuobiUsdtSwapRestStrategyAPI",) - - -class HuobiUsdtSwapRestStrategyAPI: - """ Huobi USDT Swap REST API Client. - - Attributes: - host: HTTP request host. - access_key: Account's ACCESS KEY. - secret_key: Account's SECRET KEY. - passphrase: API KEY Passphrase. - """ - - def __init__(self, host, access_key, secret_key): - """ initialize REST API client. """ - self._host = host - self._access_key = access_key - self._secret_key = secret_key - - async def swap_trigger_order(self, contract_code, trigger_type, trigger_price, volume, direction, - reduce_only=None, order_price=None, order_price_type=None, offset=None, - lever_rate=None): - - uri = "/linear-swap-api/v1/swap_trigger_order" - body = { - "contract_code": contract_code, - "trigger_type": trigger_type, - "trigger_price": trigger_price, - "volume": volume, - "direction": direction - } - - if reduce_only: - body.update({"reduce_only": reduce_only}) - if order_price: - body.update({"order_price": order_price}) - if order_price_type: - body.update({"order_price_type": order_price_type}) - if offset: - body.update({"offset": offset}) - if lever_rate: - body.update({"lever_rate": lever_rate}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def swap_trigger_cancel(self, contract_code, order_id): - - uri = "/linear-swap-api/v1/swap_trigger_cancel" - body = { - "contract_code": contract_code, - "order_id": order_id - } - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def swap_trigger_cancelall(self, contract_code, direction=None, offset=None): - - uri = "/linear-swap-api/v1/swap_trigger_cancelall" - body = { - "contract_code": contract_code - } - - if direction: - body.update({"direction": direction}) - if offset: - body.update({"offset": offset}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_swap_trigger_openorders(self, contract_code, page_index=None, page_size=None, trade_type=None): - - uri = "/linear-swap-api/v1/swap_trigger_openorders" - body = { - "contract_code": contract_code - } - - if page_index: - body.update({"page_index": page_index}) - if page_size: - body.update({"page_size": page_size}) - if trade_type: - body.update({"trade_type": trade_type}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_swap_trigger_hisorders(self, contract_code, trade_type, status, create_date, page_index=None, - page_size=None, sort_by=None): - - uri = "/linear-swap-api/v1/swap_trigger_hisorders" - body = { - "contract_code": contract_code, - "trade_type": trade_type, - "status": status, - "create_date": create_date - } - - if page_index: - body.update({"page_index": page_index}) - if page_size: - body.update({"page_size": page_size}) - if sort_by: - body.update({"sort_by": sort_by}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def swap_tpsl_order(self, contract_code, direction, volume, tp_trigger_price=None, tp_order_price=None, - tp_order_price_type=None, sl_trigger_price=None, sl_order_price=None, - sl_order_price_type=None): - - uri = "/linear-swap-api/v1/swap_tpsl_order" - body = { - "contract_code": contract_code, - "direction": direction, - "volume": volume - } - - if tp_trigger_price: - body.update({"tp_trigger_price": tp_trigger_price}) - if tp_order_price: - body.update({"tp_order_price": tp_order_price}) - if tp_order_price_type: - body.update({"tp_order_price_type": tp_order_price_type}) - if sl_trigger_price: - body.update({"sl_trigger_price": sl_trigger_price}) - if sl_order_price: - body.update({"sl_order_price": sl_order_price}) - if sl_order_price_type: - body.update({"sl_order_price_type": sl_order_price_type}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def swap_tpsl_cancel(self, contract_code, order_id): - - uri = "/linear-swap-api/v1/swap_tpsl_cancel" - body = { - "contract_code": contract_code, - "order_id": order_id - } - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def swap_tpsl_cancelall(self, contract_code, direction=None): - - uri = "/linear-swap-api/v1/swap_tpsl_cancelall" - body = { - "contract_code": contract_code - } - - if direction: - body.update({"direction": direction}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_swap_tpsl_openorders(self, contract_code, page_index=None, page_size=None, trade_type=None): - - uri = "/linear-swap-api/v1/swap_tpsl_openorders" - body = { - "contract_code": contract_code - } - - if page_index: - body.update({"page_index": page_index}) - if page_size: - body.update({"page_size": page_size}) - if trade_type: - body.update({"trade_type": trade_type}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_swap_tpsl_hisorders(self, contract_code, status, create_date, page_index=None, page_size=None, - sort_by=None): - - uri = "/linear-swap-api/v1/swap_tpsl_hisorders" - body = { - "contract_code": contract_code, - "status": status, - "create_date": create_date - } - - if page_index: - body.update({"page_index": page_index}) - if page_size: - body.update({"page_size": page_size}) - if sort_by: - body.update({"sort_by": sort_by}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_swap_relation_tpsl_order(self, contract_code, order_id): - - uri = "/linear-swap-api/v1/swap_relation_tpsl_order" - body = { - "contract_code": contract_code, - "order_id": order_id - } - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def swap_track_order(self, contract_code, direction, volume, callback_rate, active_price, order_price_type, - reduce_only=None, offset=None, lever_rate=None): - - uri = "/linear-swap-api/v1/swap_track_order" - body = { - "contract_code": contract_code, - "direction": direction, - "volume": volume, - "callback_rate": callback_rate, - "active_price": active_price, - "order_price_type": order_price_type - } - - if reduce_only: - body.update({"reduce_only": reduce_only}) - if offset: - body.update({"offset": offset}) - if lever_rate: - body.update({"lever_rate": lever_rate}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def swap_track_cancel(self, contract_code, order_id): - - uri = "/linear-swap-api/v1/swap_track_cancel" - body = { - "contract_code": contract_code, - "order_id": order_id - } - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def swap_track_cancelall(self, contract_code, direction=None, offset=None): - - uri = "/linear-swap-api/v1/swap_track_cancelall" - body = { - "contract_code": contract_code - } - - if direction: - body.update({"direction": direction}) - if offset: - body.update({"offset": offset}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def swap_track_openorders(self, contract_code, trade_type=None, page_index=None, page_size=None): - - uri = "/linear-swap-api/v1/swap_track_openorders" - body = { - "contract_code": contract_code - } - - if trade_type: - body.update({"trade_type": trade_type}) - if page_index: - body.update({"page_index": page_index}) - if page_size: - body.update({"page_size": page_size}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def swap_track_hisorders(self, contract_code, status, trade_type, create_date, page_index=None, page_size=None, - sort_by=None): - - uri = "/linear-swap-api/v1/swap_track_hisorders" - body = { - "contract_code": contract_code, - "status": status, - "trade_type": trade_type, - "create_date": create_date - } - - if page_index: - body.update({"page_index": page_index}) - if page_size: - body.update({"page_size": page_size}) - if sort_by: - body.update({"sort_by": sort_by}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def request(self, method, uri, params=None, body=None, headers=None, auth=False): - """ Do HTTP request. - - Args: - method: HTTP request method. `GET` / `POST` / `DELETE` / `PUT`. - uri: HTTP request uri. - params: HTTP query params. - body: HTTP request body. - headers: HTTP request headers. - auth: If this request requires authentication. - - Returns: - success: Success results, otherwise it's None. - error: Error information, otherwise it's None. - """ - if uri.startswith("http://") or uri.startswith("https://"): - url = uri - else: - url = self._host + uri - - if auth: - timestamp = datetime.datetime.utcnow().strftime("%Y-%m-%dT%H:%M:%S") - params = params if params else {} - params.update({"AccessKeyId": self._access_key, - "SignatureMethod": "HmacSHA256", - "SignatureVersion": "2", - "Timestamp": timestamp}) - - params["Signature"] = self.generate_signature(method, params, uri) - - if not headers: - headers = {} - if method == "GET": - headers["Content-type"] = "application/x-www-form-urlencoded" - headers["User-Agent"] = USER_AGENT - _, success, error = await AsyncHttpRequests.fetch("GET", url, params=params, headers=headers, timeout=10) - else: - headers["Accept"] = "application/json" - headers["Content-type"] = "application/json" - headers["User-Agent"] = USER_AGENT - _, success, error = await AsyncHttpRequests.fetch("POST", url, params=params, data=body, headers=headers, - timeout=10) - if error: - return None, error - if not isinstance(success, dict): - result = json.loads(success) - else: - result = success - if result.get("status") != "ok": - return None, result - return result, None - - def generate_signature(self, method, params, request_path): - if request_path.startswith("http://") or request_path.startswith("https://"): - host_url = urllib.parse.urlparse(request_path).hostname.lower() - request_path = '/' + '/'.join(request_path.split('/')[3:]) - else: - host_url = urllib.parse.urlparse(self._host).hostname.lower() - sorted_params = sorted(params.items(), key=lambda d: d[0], reverse=False) - encode_params = urllib.parse.urlencode(sorted_params) - payload = [method, host_url, request_path, encode_params] - payload = "\n".join(payload) - payload = payload.encode(encoding="UTF8") - secret_key = self._secret_key.encode(encoding="utf8") - digest = hmac.new(secret_key, payload, digestmod=hashlib.sha256).digest() - signature = base64.b64encode(digest) - signature = signature.decode() - return signature \ No newline at end of file diff --git a/alpha/platforms/huobi_usdt_swap/restapi/rest_trade_sync.py b/alpha/platforms/huobi_usdt_swap/restapi/rest_trade_sync.py deleted file mode 100644 index 1ca63c9..0000000 --- a/alpha/platforms/huobi_usdt_swap/restapi/rest_trade_sync.py +++ /dev/null @@ -1,76 +0,0 @@ -import json - -from alpha.utils.http_utils import post - - -class RestTradeUsdtSwap: - def __init__(self, access_key: str, secret_key: str, host: str = None): - self.access_key = access_key - self.secret_key = secret_key - if host is None: - host = "api.hbdm.com" - self.host = host - - def linear_cancel_after(self, data: dict = None) -> json: - path = "/linear-swap-api/v1/linear-cancel-after" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_switch_position_mode(self, data: dict = None) -> json: - path = "/linear-swap-api/v1/swap_switch_position_mode" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_order(self, data: dict = None) -> json: - path = "/linear-swap-api/v1/swap_order" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_batchorder(self, data: dict = None) -> json: - path = "/linear-swap-api/v1/swap_batchorder" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_cancel(self, data: dict = None) -> json: - path = "/linear-swap-api/v1/swap_cancel" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_cancelall(self, data: dict = None) -> json: - path = "/linear-swap-api/v1/swap_cancelall" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_switch_lever_rate(self, data: dict = None) -> json: - path = "/linear-swap-api/v1/swap_switch_lever_rate" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_order_info(self, data: dict = None) -> json: - path = "/linear-swap-api/v1/swap_order_info" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_order_detail(self, data: dict = None) -> json: - path = "/linear-swap-api/v1/swap_order_detail" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_openorders(self, data: dict = None) -> json: - path = "/linear-swap-api/v1/swap_openorders" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_hisorders(self, data: dict = None) -> json: - path = "/linear-swap-api/v3/swap_hisorders" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_hisorders_exact(self, data: dict = None) -> json: - path = "/linear-swap-api/v3/swap_hisorders_exact" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_matchresults(self, data: dict = None) -> json: - path = "/linear-swap-api/v3/swap_matchresults" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_matchresults_exact(self, data: dict = None) -> json: - path = "/linear-swap-api/v3/swap_matchresults_exact" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_lightning_close_position(self, data: dict = None) -> json: - path = "/linear-swap-api/v1/swap_lightning_close_position" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_position_side(self, data: dict = None) -> json: - path = "/linear-swap-api/v1/swap_position_side" - return post(self.access_key, self.secret_key, self.host, path, data) diff --git a/alpha/platforms/huobi_usdt_swap/restapi/rest_trade_usdt_swap.py b/alpha/platforms/huobi_usdt_swap/restapi/rest_trade_usdt_swap.py deleted file mode 100644 index f14161f..0000000 --- a/alpha/platforms/huobi_usdt_swap/restapi/rest_trade_usdt_swap.py +++ /dev/null @@ -1,496 +0,0 @@ -# -*- coding:utf-8 -*- - -""" -Huobi USDT Swap Api Module. - -Author: QiaoXiaofeng -Date: 2020/09/10 -Email: andyjoe318@gmail.com -""" - -import gzip -import json -import copy -import hmac -import base64 -import urllib -import hashlib -import datetime -import time -from urllib.parse import urljoin -from alpha.utils.request import AsyncHttpRequests -from alpha.const import USER_AGENT - -__all__ = ("HuobiUsdtSwapRestTradeAPI",) - - -class HuobiUsdtSwapRestTradeAPI: - """ Huobi USDT Swap REST API Client. - - Attributes: - host: HTTP request host. - access_key: Account's ACCESS KEY. - secret_key: Account's SECRET KEY. - passphrase: API KEY Passphrase. - """ - - def __init__(self, host, access_key, secret_key): - """ initialize REST API client. """ - self._host = host - self._access_key = access_key - self._secret_key = secret_key - - async def linear_cancel_after(self, on_off, time_out=None): - - uri = "/linear-swap-api/v1/linear-cancel-after" - body = { - "on_off": on_off - } - - if time_out: - body.update({"time_out": time_out}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def swap_switch_position_mode(self, margin_account, position_mode): - - uri = "/linear-swap-api/v1/swap_switch_position_mode" - body = { - "margin_account": margin_account, - "position_mode": position_mode - } - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def create_order(self, volume, direction, lever_rate, order_price_type, contract_code=None, reduce_only=None, - client_order_id=None, price=None, offset=None, tp_trigger_price=None, tp_order_price=None, - tp_order_price_type=None, sl_trigger_price=None, sl_order_price=None, - sl_order_price_type=None): - """ Create an new order. - - Args: - contract_code: such as "BTC-USDT". - price: Order price. - quantity: Order amount. - direction: Transaction direction, `buy` / `sell`. - offset: `open` / `close`. - lever_rate: Leverage rate, 10 or 20. - order_price_type: Order type, `limit` - limit order, `opponent` - market order. - - Returns: - success: Success results, otherwise it's None. - error: Error information, otherwise it's None. - """ - uri = "/linear-swap-api/v1/swap_order" - body = { - "volume": volume, - "direction": direction, - "lever_rate": lever_rate, - "order_price_type": order_price_type - } - - if contract_code: - body.update({"contract_code": contract_code}) - if reduce_only: - body.update({"reduce_only": reduce_only}) - if client_order_id: - body.update({"client_order_id": client_order_id}) - if price: - body.update({"price": price}) - if offset: - body.update({"offset": offset}) - if tp_trigger_price: - body.update({"tp_trigger_price": tp_trigger_price}) - if tp_order_price: - body.update({"tp_order_price": tp_order_price}) - if tp_order_price_type: - body.update({"tp_order_price_type": tp_order_price_type}) - if sl_trigger_price: - body.update({"sl_trigger_price": sl_trigger_price}) - if sl_order_price: - body.update({"sl_order_price": sl_order_price}) - if sl_order_price_type: - body.update({"sl_order_price_type": sl_order_price_type}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def create_orders(self, orders_data): - """ Batch Create orders. - { - "orders_data": [ - { - "contract_code": "btc-usdt", - "direction": "sell", - "offset": "open", - "price": "29999", - "lever_rate": 5, - "volume": 1, - "order_price_type": "opponent", - "tp_trigger_price": 27000, - "tp_order_price": 27000, - "tp_order_price_type": "optimal_5", - "sl_trigger_price": "30100", - "sl_order_price": "30100", - "sl_order_price_type": "optimal_5" - }, - { - "contract_code": "btc-usdt", - "direction": "buy", - "offset": "open", - "price": "29999", - "lever_rate": 5, - "volume": 1, - "order_price_type": "post_only", - "tp_trigger_price": 31000, - "tp_order_price": 31000, - "tp_order_price_type": "optimal_5", - "sl_trigger_price": "29100", - "sl_order_price": "29100", - "sl_order_price_type": "optimal_5" - } - ] - } - """ - uri = "/linear-swap-api/v1/swap_batchorder" - body = orders_data - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def revoke_order(self, contract_code, order_id=None, client_order_id=None): - """ Revoke an order. - - Args: - contract_code: such as "BTC-USDT". - order_id: Order ID. - - Returns: - success: Success results, otherwise it's None. - error: Error information, otherwise it's None. - """ - uri = "/linear-swap-api/v1/swap_cancel" - body = { - "contract_code": contract_code - } - if order_id: - body["order_id"] = order_id - if client_order_id: - body["client_order_id"] = client_order_id - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def revoke_order_all(self, contract_code, direction=None, offset=None): - """ Revoke all orders. - - Args: - contract_code: such as "BTC-USDT". - - Returns: - success: Success results, otherwise it's None. - error: Error information, otherwise it's None. - - * NOTE: 1. If input `contract_code`, only matching this contract code. - 2. If not input `contract_code`, matching by `symbol + contract_type`. - """ - uri = "/linear-swap-api/v1/swap_cancelall" - body = { - "contract_code": contract_code, - } - - if direction: - body["direction"] = direction - if offset: - body["offset"] = offset - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def swap_switch_lever_rate(self, contract_code, lever_rate): - - uri = "/linear-swap-api/v1/swap_switch_lever_rate" - body = { - "contract_code": contract_code, - "lever_rate": lever_rate - } - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_order_info(self, contract_code, order_ids=None, client_order_ids=None): - """ Get order information. - - Args: - contract_code: such as "BTC-USDT". - order_ids: Order ID list. (different IDs are separated by ",", maximum 20 orders can be requested at one time.) - client_order_ids: Client Order ID list. (different IDs are separated by ",", maximum 20 orders can be requested at one time.) - - Returns: - success: Success results, otherwise it's None. - error: Error information, otherwise it's None. - """ - uri = "/linear-swap-api/v1/swap_order_info" - body = { - "contract_code": contract_code - } - - if order_ids: - body.update({"order_id": ",".join(order_ids)}) - if client_order_ids: - body.update({"client_order_id": ",".join(client_order_ids)}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_order_detail(self, contract_code, order_id, created_at=None, order_type=None, page_index=1, - page_size=20): - """ Get Order Detail - - Args: - contract_code: such as "BTC-USDT" - order_id: order id. - created_at: create timestamp. - order_type: order type, 1. Quotation; 2. Cancelled order; 3. Forced liquidation; 4. Delivery Order - page_index: page idnex. 1 default. - page_size: page size. 20 default. 50 max. - Note: - When getting information on order cancellation via query order detail interface, - users who type in parameters “created_at” and “order_type” can query last 24-hour data, - while users who don’t type in parameters “created_at” and “order_type” can only query last 12-hour data. - created_at should use timestamp of long type as 13 bits (include Millisecond), - if send the accurate timestamp for "created_at", query performance will be improved. - eg. the timestamp "2019/10/18 10:26:22" can be changed:1571365582123.It can also directly - obtain the timestamp(ts) from the returned ordering interface(swap_order) to query the corresponding - orders. - """ - uri = "/linear-swap-api/v1/swap_order_detail" - body = { - "contract_code": contract_code, - "order_id": order_id, - "page_index": page_index, - "page_size": page_size - } - if created_at: - body.update({"created_at": created_at}) - if order_type: - body.update({"order_type": order_type}) - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_open_orders(self, contract_code, index=1, size=50, sort_by="created_at", trade_type=0): - """ Get open order information. - - Args: - contract_code: such as "BTC-USDT". - index: Page index, default 1st page. - size: Page size, Default 20,no more than 50. - - Returns: - success: Success results, otherwise it's None. - error: Error information, otherwise it's None. - """ - uri = "/linear-swap-api/v1/swap_openorders" - body = { - "contract_code": contract_code, - "page_index": index, - "page_size": size, - "sort_by": sort_by, - "trade_type": trade_type - } - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_swap_hisorders(self, trade_type, type, status, contract=None, start_time=None, end_time=None, - direct=None, from_id=None): - - uri = "/linear-swap-api/v3/swap_hisorders" - body = { - "trade_type": trade_type, - "type": type, - "status": status - } - - if contract: - body.update({"contract": contract}) - if start_time: - body.update({"start_time": start_time}) - if end_time: - body.update({"end_time": end_time}) - if direct: - body.update({"direct": direct}) - if from_id: - body.update({"from_id": from_id}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_swap_hisorders_exact(self, trade_type, type, status, contract=None, pair=None, start_time=None, - end_time=None, direct=None, from_id=None, price_type=None): - - uri = "/linear-swap-api/v3/swap_hisorders_exact" - body = { - "trade_type": trade_type, - "type": type, - "status": status - } - - if contract: - body.update({"contract": contract}) - if pair: - body.update({"pair": pair}) - if start_time: - body.update({"start_time": start_time}) - if end_time: - body.update({"end_time": end_time}) - if direct: - body.update({"direct": direct}) - if from_id: - body.update({"from_id": from_id}) - if price_type: - body.update({"price_type": price_type}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_swap_matchresults(self, trade_type, contract=None, pair=None, start_time=None, - end_time=None, direct=None, from_id=None): - - uri = "/linear-swap-api/v3/swap_matchresults" - body = { - "trade_type": trade_type - } - - if contract: - body.update({"contract": contract}) - if pair: - body.update({"pair": pair}) - if start_time: - body.update({"start_time": start_time}) - if end_time: - body.update({"end_time": end_time}) - if direct: - body.update({"direct": direct}) - if from_id: - body.update({"from_id": from_id}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_swap_matchresults_exact(self, contract, trade_type, start_time=None, - end_time=None, direct=None, from_id=None): - - uri = "/linear-swap-api/v3/swap_matchresults_exact" - body = { - "contract": contract, - "trade_type": trade_type - } - - if start_time: - body.update({"start_time": start_time}) - if end_time: - body.update({"end_time": end_time}) - if direct: - body.update({"direct": direct}) - if from_id: - body.update({"from_id": from_id}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def swap_lightning_close_position(self, contract_code, direction, client_order_id=None, - order_price_type=None): - - uri = "/linear-swap-api/v1/swap_lightning_close_position" - body = { - "contract_code": contract_code, - "direction": direction - } - - if client_order_id: - body.update({"client_order_id": client_order_id}) - if order_price_type: - body.update({"order_price_type": order_price_type}) - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_swap_position_side(self, margin_account): - - uri = "/linear-swap-api/v1/swap_position_side" - params = { - "margin_account": margin_account - } - - success, error = await self.request("GET", uri, params=params, auth=True) - return success, error - - async def request(self, method, uri, params=None, body=None, headers=None, auth=False): - """ Do HTTP request. - - Args: - method: HTTP request method. `GET` / `POST` / `DELETE` / `PUT`. - uri: HTTP request uri. - params: HTTP query params. - body: HTTP request body. - headers: HTTP request headers. - auth: If this request requires authentication. - - Returns: - success: Success results, otherwise it's None. - error: Error information, otherwise it's None. - """ - if uri.startswith("http://") or uri.startswith("https://"): - url = uri - else: - url = self._host + uri - - if auth: - timestamp = datetime.datetime.utcnow().strftime("%Y-%m-%dT%H:%M:%S") - params = params if params else {} - params.update({"AccessKeyId": self._access_key, - "SignatureMethod": "HmacSHA256", - "SignatureVersion": "2", - "Timestamp": timestamp}) - - params["Signature"] = self.generate_signature(method, params, uri) - - if not headers: - headers = {} - if method == "GET": - headers["Content-type"] = "application/x-www-form-urlencoded" - headers["User-Agent"] = USER_AGENT - _, success, error = await AsyncHttpRequests.fetch("GET", url, params=params, headers=headers, timeout=10) - else: - headers["Accept"] = "application/json" - headers["Content-type"] = "application/json" - headers["User-Agent"] = USER_AGENT - _, success, error = await AsyncHttpRequests.fetch("POST", url, params=params, data=body, headers=headers, - timeout=10) - if error: - return None, error - if not isinstance(success, dict): - result = json.loads(success) - else: - result = success - if result.get("status") != "ok": - return None, result - return result, None - - def generate_signature(self, method, params, request_path): - if request_path.startswith("http://") or request_path.startswith("https://"): - host_url = urllib.parse.urlparse(request_path).hostname.lower() - request_path = '/' + '/'.join(request_path.split('/')[3:]) - else: - host_url = urllib.parse.urlparse(self._host).hostname.lower() - sorted_params = sorted(params.items(), key=lambda d: d[0], reverse=False) - encode_params = urllib.parse.urlencode(sorted_params) - payload = [method, host_url, request_path, encode_params] - payload = "\n".join(payload) - payload = payload.encode(encoding="UTF8") - secret_key = self._secret_key.encode(encoding="utf8") - digest = hmac.new(secret_key, payload, digestmod=hashlib.sha256).digest() - signature = base64.b64encode(digest) - signature = signature.decode() - return signature \ No newline at end of file diff --git a/alpha/platforms/huobi_usdt_swap/restapi/rest_transfer_sync.py b/alpha/platforms/huobi_usdt_swap/restapi/rest_transfer_sync.py deleted file mode 100644 index 00eb4d7..0000000 --- a/alpha/platforms/huobi_usdt_swap/restapi/rest_transfer_sync.py +++ /dev/null @@ -1,16 +0,0 @@ -import json - -from alpha.utils.http_utils import post - - -class RestTransferUsdtSwap: - def __init__(self, access_key: str, secret_key: str, host: str = None): - self.access_key = access_key - self.secret_key = secret_key - if host is None: - host = "api.huobi.pro" - self.host = host - - def transfer(self, data: dict = None) -> json: - path = "/v2/account/transfer" - return post(self.access_key, self.secret_key, self.host, path, data) diff --git a/alpha/platforms/huobi_usdt_swap/restapi/rest_transfer_usdt_swap.py b/alpha/platforms/huobi_usdt_swap/restapi/rest_transfer_usdt_swap.py deleted file mode 100644 index 143dfe6..0000000 --- a/alpha/platforms/huobi_usdt_swap/restapi/rest_transfer_usdt_swap.py +++ /dev/null @@ -1,132 +0,0 @@ -# -*- coding:utf-8 -*- - -""" -Huobi USDT Swap Api Module. - -Author: QiaoXiaofeng -Date: 2020/09/10 -Email: andyjoe318@gmail.com -""" - -import gzip -import json -import copy -import hmac -import base64 -import urllib -import hashlib -import datetime -import time -from urllib.parse import urljoin -from alpha.utils.request import AsyncHttpRequests -from alpha.const import USER_AGENT - -__all__ = ("HuobiUsdtSwapRestTransferAPI",) - - -class HuobiUsdtSwapRestTransferAPI: - """ Huobi USDT Swap REST API Client. - - Attributes: - host: HTTP request host. - access_key: Account's ACCESS KEY. - secret_key: Account's SECRET KEY. - passphrase: API KEY Passphrase. - """ - - def __init__(self, host, access_key, secret_key): - """ initialize REST API client. """ - self._host = host - self._access_key = access_key - self._secret_key = secret_key - - async def transfer_between_spot_swap(self, margin_account, amount, from_, to, currency="USDT"): - """ Do transfer between spot and future. - Args: - amount: transfer amount.pls note the precision digit is 8. - from_: 'spot' or 'linear-swap' - to: 'spot' or 'linear-swap' - currency: "usdt", - margin-account: "BTC-USDT" - - """ - body = { - "from": from_, - "to": to, - "amount": amount, - "margin-account": margin_account, - "currency": currency, - } - - uri = "https://api.huobi.pro/v2/account/transfer" - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def request(self, method, uri, params=None, body=None, headers=None, auth=False): - """ Do HTTP request. - - Args: - method: HTTP request method. `GET` / `POST` / `DELETE` / `PUT`. - uri: HTTP request uri. - params: HTTP query params. - body: HTTP request body. - headers: HTTP request headers. - auth: If this request requires authentication. - - Returns: - success: Success results, otherwise it's None. - error: Error information, otherwise it's None. - """ - if uri.startswith("http://") or uri.startswith("https://"): - url = uri - else: - url = self._host + uri - - if auth: - timestamp = datetime.datetime.utcnow().strftime("%Y-%m-%dT%H:%M:%S") - params = params if params else {} - params.update({"AccessKeyId": self._access_key, - "SignatureMethod": "HmacSHA256", - "SignatureVersion": "2", - "Timestamp": timestamp}) - - params["Signature"] = self.generate_signature(method, params, uri) - - if not headers: - headers = {} - if method == "GET": - headers["Content-type"] = "application/x-www-form-urlencoded" - headers["User-Agent"] = USER_AGENT - _, success, error = await AsyncHttpRequests.fetch("GET", url, params=params, headers=headers, timeout=10) - else: - headers["Accept"] = "application/json" - headers["Content-type"] = "application/json" - headers["User-Agent"] = USER_AGENT - _, success, error = await AsyncHttpRequests.fetch("POST", url, params=params, data=body, headers=headers, - timeout=10) - if error: - return None, error - if not isinstance(success, dict): - result = json.loads(success) - else: - result = success - if result.get("status") != "ok": - return None, result - return result, None - - def generate_signature(self, method, params, request_path): - if request_path.startswith("http://") or request_path.startswith("https://"): - host_url = urllib.parse.urlparse(request_path).hostname.lower() - request_path = '/' + '/'.join(request_path.split('/')[3:]) - else: - host_url = urllib.parse.urlparse(self._host).hostname.lower() - sorted_params = sorted(params.items(), key=lambda d: d[0], reverse=False) - encode_params = urllib.parse.urlencode(sorted_params) - payload = [method, host_url, request_path, encode_params] - payload = "\n".join(payload) - payload = payload.encode(encoding="UTF8") - secret_key = self._secret_key.encode(encoding="utf8") - digest = hmac.new(secret_key, payload, digestmod=hashlib.sha256).digest() - signature = base64.b64encode(digest) - signature = signature.decode() - return signature \ No newline at end of file diff --git a/alpha/platforms/huobi_usdt_swap/restapi/rest_unified_account_sync.py b/alpha/platforms/huobi_usdt_swap/restapi/rest_unified_account_sync.py deleted file mode 100644 index 2e8c103..0000000 --- a/alpha/platforms/huobi_usdt_swap/restapi/rest_unified_account_sync.py +++ /dev/null @@ -1,41 +0,0 @@ -import json - -from alpha.utils.http_utils import post - - -class RestUnifiedAccountUsdtSwap: - def __init__(self, access_key: str, secret_key: str, host: str = None): - self.access_key = access_key - self.secret_key = secret_key - if host is None: - host = "api.hbdm.com" - self.host = host - - def swap_unified_account_info(self, data: dict = None) -> json: - path = "/linear-swap-api/v3/unified_account_info" - return get(self.access_key, self.secret_key, self.host, path, data) - - def swap_linear_swap_overview_account_info(self, data: dict = None) -> json: - path = "/linear-swap-api/v3/linear_swap_overview_account_info" - return get(self.access_key, self.secret_key, self.host, path, data) - - def swap_linear_swap_fee_switch(self, data: dict = None) -> json: - path = "/linear-swap-api/v3/linear_swap_fee_switch" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_fix_position_margin_change(self, data: dict = None) -> json: - path = "/linear-swap-api/v3/fix_position_margin_change" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_fix_position_margin_change_record(self, data: dict = None) -> json: - path = "/linear-swap-api/v3/fix_position_margin_change_record" - return post(self.access_key, self.secret_key, self.host, path, data) - - def swap_swap_unified_account_type(self, data: dict = None) -> json: - path = "/linear-swap-api/v3/swap_unified_account_type" - return get(self.access_key, self.secret_key, self.host, path, data) - - def swap_swap_switch_account_type(self, data: dict = None) -> json: - path = "/linear-swap-api/v3/swap_switch_account_type" - return post(self.access_key, self.secret_key, self.host, path, data) - diff --git a/alpha/platforms/huobi_usdt_swap/restapi/rest_unified_account_usdt_swap.py b/alpha/platforms/huobi_usdt_swap/restapi/rest_unified_account_usdt_swap.py deleted file mode 100644 index e0e1989..0000000 --- a/alpha/platforms/huobi_usdt_swap/restapi/rest_unified_account_usdt_swap.py +++ /dev/null @@ -1,201 +0,0 @@ -# -*- coding:utf-8 -*- - -""" -Huobi USDT Swap Api Module. - -Author: QiaoXiaofeng -Date: 2020/09/10 -Email: andyjoe318@gmail.com -""" - -import gzip -import json -import copy -import hmac -import base64 -import urllib -import hashlib -import datetime -import time -from urllib.parse import urljoin -from alpha.utils.request import AsyncHttpRequests -from alpha.const import USER_AGENT - -__all__ = ("HuobiUsdtSwapRestUnifiedAccountAPI",) - - -class HuobiUsdtSwapRestUnifiedAccountAPI: - """ Huobi USDT Swap REST API Client. - - Attributes: - host: HTTP request host. - access_key: Account's ACCESS KEY. - secret_key: Account's SECRET KEY. - passphrase: API KEY Passphrase. - """ - - def __init__(self, host, access_key, secret_key): - """ initialize REST API client. """ - self._host = host - self._access_key = access_key - self._secret_key = secret_key - - - async def linear_swap_fee_switch(self, fee_option, deduction_currency): - - uri = "/linear-swap-api/v3/linear_swap_fee_switch" - body = { - "fee_option": fee_option, - "deduction_currency": deduction_currency - } - - # if contract_code: - # body["contract_code"] = contract_code - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def fix_position_margin_change(self, amount, asset, contract_code, type, direction, clientOrderId=None): - - uri = "/linear-swap-api/v3/fix_position_margin_change" - body = { - "amount": amount, - "asset": asset, - "contract_code": contract_code, - "type": type, - "direction": direction - } - - if clientOrderId: - body["clientOrderId"] = clientOrderId - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def swap_switch_account_type(self, account_type): - - uri = "/linear-swap-api/v3/swap_switch_account_type" - body = { - "account_type": account_type - } - - success, error = await self.request("POST", uri, body=body, auth=True) - return success, error - - async def get_unified_account_info(self, contract_code=None): - - uri = "/linear-swap-api/v3/unified_account_info" - params = { - "contract_code": contract_code - } - - success, error = await self.request("GET", uri, params=params, auth=True) - return success, error - - async def get_linear_swap_overview_account_info(self, trade_partition=None): - - uri = "/linear-swap-api/v3/linear_swap_overview_account_info" - params = { - "trade_partition": trade_partition - } - - success, error = await self.request("GET", uri, params=params, auth=True) - return success, error - - async def get_fix_position_margin_change_record(self, asset, contract_code, start_time=None, end_time=None, direct=None, from_id=None): - - uri = "/linear-swap-api/v3/fix_position_margin_change_record" - params = { - "asset": asset, - "contract_code": contract_code - } - - if start_time: - body["start_time"] = start_time - if end_time: - body["end_time"] = end_time - if direct: - body["direct"] = direct - if from_id: - body["from_id"] = from_id - - success, error = await self.request("GET", uri, params=params, auth=True) - return success, error - - async def get_swap_unified_account_type(self): - - uri = "/linear-swap-api/v3/swap_unified_account_type" - params = { - } - - success, error = await self.request("GET", uri, params=params, auth=True) - return success, error - - async def request(self, method, uri, params=None, body=None, headers=None, auth=False): - """ Do HTTP request. - - Args: - method: HTTP request method. `GET` / `POST` / `DELETE` / `PUT`. - uri: HTTP request uri. - params: HTTP query params. - body: HTTP request body. - headers: HTTP request headers. - auth: If this request requires authentication. - - Returns: - success: Success results, otherwise it's None. - error: Error information, otherwise it's None. - """ - if uri.startswith("http://") or uri.startswith("https://"): - url = uri - else: - url = self._host + uri - - if auth: - timestamp = datetime.datetime.utcnow().strftime("%Y-%m-%dT%H:%M:%S") - params = params if params else {} - params.update({"AccessKeyId": self._access_key, - "SignatureMethod": "HmacSHA256", - "SignatureVersion": "2", - "Timestamp": timestamp}) - - params["Signature"] = self.generate_signature(method, params, uri) - - if not headers: - headers = {} - if method == "GET": - headers["Content-type"] = "application/x-www-form-urlencoded" - headers["User-Agent"] = USER_AGENT - _, success, error = await AsyncHttpRequests.fetch("GET", url, params=params, headers=headers, timeout=10) - else: - headers["Accept"] = "application/json" - headers["Content-type"] = "application/json" - headers["User-Agent"] = USER_AGENT - _, success, error = await AsyncHttpRequests.fetch("POST", url, params=params, data=body, headers=headers, - timeout=10) - if error: - return None, error - if not isinstance(success, dict): - result = json.loads(success) - else: - result = success - if result.get("status") != "ok": - return None, result - return result, None - - def generate_signature(self, method, params, request_path): - if request_path.startswith("http://") or request_path.startswith("https://"): - host_url = urllib.parse.urlparse(request_path).hostname.lower() - request_path = '/' + '/'.join(request_path.split('/')[3:]) - else: - host_url = urllib.parse.urlparse(self._host).hostname.lower() - sorted_params = sorted(params.items(), key=lambda d: d[0], reverse=False) - encode_params = urllib.parse.urlencode(sorted_params) - payload = [method, host_url, request_path, encode_params] - payload = "\n".join(payload) - payload = payload.encode(encoding="UTF8") - secret_key = self._secret_key.encode(encoding="utf8") - digest = hmac.new(secret_key, payload, digestmod=hashlib.sha256).digest() - signature = base64.b64encode(digest) - signature = signature.decode() - return signature diff --git a/alpha/platforms/huobi_usdt_swap/websocket/__init__.py b/alpha/platforms/huobi_usdt_swap/websocket/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/alpha/platforms/huobi_usdt_swap/websocket/huobi_usdt_swap_cross_trade.py b/alpha/platforms/huobi_usdt_swap/websocket/huobi_usdt_swap_cross_trade.py deleted file mode 100644 index 305cd2f..0000000 --- a/alpha/platforms/huobi_usdt_swap/websocket/huobi_usdt_swap_cross_trade.py +++ /dev/null @@ -1,599 +0,0 @@ -# -*- coding:utf-8 -*- - -""" -Huobi Swap Api Module(Cross Margined Mode). - -Author: QiaoXiaofeng -Date: 2020/12/14 -Email: andyjoe318@gmail.com -""" - -import gzip -import json -import copy -import datetime -import time -import urllib -import hmac -import base64 -import urllib -import hashlib -import datetime -import time -from urllib.parse import urljoin - -from alpha.asset import Asset -from alpha.order import Order -from alpha.position import Position -from alpha.error import Error -from alpha.utils import tools, logger -from alpha.tasks import SingleTask, LoopRunTask -from alpha.const import HUOBI_USDT_SWAP_CROSS -from alpha.utils.websocket import Websocket -from alpha.utils.request import AsyncHttpRequests -from alpha.utils.decorator import async_method_locker -from alpha.order import ORDER_ACTION_BUY, ORDER_ACTION_SELL -from alpha.order import ORDER_TYPE_LIMIT, ORDER_TYPE_MARKET, ORDER_TYPE_MAKER, ORDER_TYPE_FOK, ORDER_TYPE_IOC -from alpha.order import ORDER_STATUS_SUBMITTED, ORDER_STATUS_PARTIAL_FILLED, ORDER_STATUS_FILLED, \ - ORDER_STATUS_CANCELED, ORDER_STATUS_FAILED, TRADE_TYPE_BUY_OPEN, TRADE_TYPE_SELL_OPEN, TRADE_TYPE_BUY_CLOSE, \ - TRADE_TYPE_SELL_CLOSE -from alpha.platforms.huobi_usdt_swap_cross_api import HuobiUsdtSwapCrossRestAPI - - -__all__ = ("HuobiUsdtSwapCrossTrade", ) - -class HuobiUsdtSwapCrossTrade(Websocket): - """ Huobi Swap Trade module(Cross Margined Mode). You can initialize trade object with some attributes in kwargs. - - Attributes: - account: Account name for this trade exchange. - strategy: What's name would you want to created for you strategy. - symbol: Symbol name for your trade. - host: HTTP request host. default `https://api.hbdm.com"`. - wss: Websocket address. default `wss://api.hbdm.com`. - access_key: Account's ACCESS KEY. - secret_key Account's SECRET KEY. - asset_update_callback: You can use this param to specific a async callback function when you initializing Trade - object. `asset_update_callback` is like `async def on_asset_update_callback(asset: Asset): pass` and this - callback function will be executed asynchronous when received AssetEvent. - order_update_callback: You can use this param to specific a async callback function when you initializing Trade - object. `order_update_callback` is like `async def on_order_update_callback(order: Order): pass` and this - callback function will be executed asynchronous when some order state updated. - position_update_callback: You can use this param to specific a async callback function when you initializing Trade - object. `position_update_callback` is like `async def on_position_update_callback(order: Position): pass` and - this callback function will be executed asynchronous when some position state updated. - init_success_callback: You can use this param to specific a async callback function when you initializing Trade - object. `init_success_callback` is like `async def on_init_success_callback(success: bool, error: Error, **kwargs): pass` - and this callback function will be executed asynchronous after Trade module object initialized successfully. - """ - - def __init__(self, **kwargs): - """Initialize.""" - e = None - if not kwargs.get("account"): - e = Error("param account miss") - if not kwargs.get("strategy"): - e = Error("param strategy miss") - if not kwargs.get("symbol"): - e = Error("param symbol miss") - if not kwargs.get("contract_type"): - e = Error("param contract_type miss") - if not kwargs.get("host"): - kwargs["host"] = "https://api.hbdm.com" - if not kwargs.get("wss"): - kwargs["wss"] = "wss://api.hbdm.com" - if not kwargs.get("access_key"): - e = Error("param access_key miss") - if not kwargs.get("secret_key"): - e = Error("param secret_key miss") - if e: - logger.error(e, caller=self) - if kwargs.get("init_success_callback"): - SingleTask.run(kwargs["init_success_callback"], False, e) - return - self._account = kwargs["account"] - self._strategy = kwargs["strategy"] - self._platform = HUOBI_USDT_SWAP_CROSS - self._symbol = kwargs["symbol"] - self._contract_type = kwargs["contract_type"] - self._host = kwargs["host"] - self._wss = kwargs["wss"] - self._access_key = kwargs["access_key"] - self._secret_key = kwargs["secret_key"] - self._order_update_callback = kwargs.get("order_update_callback") - self._position_update_callback = kwargs.get("position_update_callback") - self._asset_update_callback = kwargs.get("asset_update_callback") - self._init_success_callback = kwargs.get("init_success_callback") - - url = self._wss + "/linear-swap-notification" - super(HuobiUsdtSwapCrossTrade, self).__init__(url, send_hb_interval=5) - - self._assets = {} # Asset detail, {"BTC": {"free": "1.1", "locked": "2.2", "total": "3.3"}, ... }. - self._orders = {} # Order objects, {"order_id": order, ...}. - self._position = Position(self._platform, self._account, self._strategy, self._symbol + '/' + self._contract_type) - - self._order_channel = "orders_cross.{symbol}".format(symbol=self._symbol) - self._position_channel = "positions_cross.{symbol}".format(symbol=self._symbol) - self._asset_channel = "accounts_cross.{symbol}".format(symbol="USDT") - - self._subscribe_order_ok = False - self._subscribe_position_ok = False - self._subscribe_asset_ok = False - - self._rest_api = HuobiUsdtSwapCrossRestAPI(self._host, self._access_key, self._secret_key) - - self.initialize() - - - @property - def assets(self): - return copy.copy(self._assets) - - @property - def orders(self): - return copy.copy(self._orders) - - @property - def position(self): - return copy.copy(self._position) - - @property - def rest_api(self): - return self._rest_api - - async def _send_heartbeat_msg(self, *args, **kwargs): - data = {"op": "pong", "ts": str(int(time.time()*1000))} - if not self.ws: - logger.error("Websocket connection not yeah!", caller=self) - return - await self.ws.send_json(data) - - async def connected_callback(self): - """After connect to Websocket server successfully, send a auth message to server.""" - timestamp = datetime.datetime.utcnow().strftime("%Y-%m-%dT%H:%M:%S") - data = { - "AccessKeyId": self._access_key, - "SignatureMethod": "HmacSHA256", - "SignatureVersion": "2", - "Timestamp": timestamp - } - sign = self.generate_signature("GET", data, "/linear-swap-notification") - data["op"] = "auth" - data["type"] = "api" - data["Signature"] = sign - await self.ws.send_json(data) - - def generate_signature(self, method, params, request_path): - host_url = urllib.parse.urlparse(self._wss).hostname.lower() - sorted_params = sorted(params.items(), key=lambda d: d[0], reverse=False) - encode_params = urllib.parse.urlencode(sorted_params) - payload = [method, host_url, request_path, encode_params] - payload = "\n".join(payload) - payload = payload.encode(encoding="UTF8") - secret_key = self._secret_key.encode(encoding="utf8") - digest = hmac.new(secret_key, payload, digestmod=hashlib.sha256).digest() - signature = base64.b64encode(digest) - signature = signature.decode() - return signature - - async def auth_callback(self, data): - if data["err-code"] != 0: - e = Error("Websocket connection authorized failed: {}".format(data)) - logger.error(e, caller=self) - SingleTask.run(self._init_success_callback, False, e) - return - self._subscribe_order_ok = False - self._subscribe_position_ok = False - self._subscribe_asset_ok = False - - # subscribe order - data = { - "op": "sub", - "cid": tools.get_uuid1(), - "topic": self._order_channel - } - await self.ws.send_json(data) - - # subscribe position - data = { - "op": "sub", - "cid": tools.get_uuid1(), - "topic": self._position_channel - } - await self.ws.send_json(data) - - # subscribe asset - data = { - "op": "sub", - "cid": tools.get_uuid1(), - "topic": self._asset_channel - } - await self.ws.send_json(data) - - async def sub_callback(self, data): - if data["err-code"] != 0: - e = Error("subscribe {} failed!".format(data["topic"])) - logger.error(e, caller=self) - SingleTask.run(self._init_success_callback, False, e) - return - if data["topic"] == self._order_channel: - self._subscribe_order_ok = True - elif data["topic"] == self._position_channel: - self._subscribe_position_ok = True - elif data["topic"] == self._asset_channel: - self._subscribe_asset_ok = True - if self._subscribe_order_ok and self._subscribe_position_ok \ - and self._subscribe_asset_ok: - success, error = await self._rest_api.get_open_orders(self._symbol) - if error: - e = Error("get open orders failed!") - SingleTask.run(self._init_success_callback, False, e) - elif "data" in success and "orders" in success["data"]: - for order_info in success["data"]["orders"]: - order_info["ts"] = int(time.time() *1000) - self._update_order(order_info) - SingleTask.run(self._init_success_callback, True, None) - else: - logger.warn("get open orders:", success, caller=self) - e = Error("Get Open Orders Unknown error") - SingleTask.run(self._init_success_callback, False, e) - - @async_method_locker("HuobiSwapCrossTrade.process_binary.locker") - async def process_binary(self, raw): - """ 处理websocket上接收到的消息 - @param raw 原始的压缩数据 - """ - data = json.loads(gzip.decompress(raw).decode()) - logger.debug("data:", data, caller=self) - - op = data.get("op") - if op == "ping": - hb_msg = {"op": "pong", "ts": data.get("ts")} - await self.ws.send_json(hb_msg) - - elif op == "auth": - await self.auth_callback(data) - - elif op == "sub": - await self.sub_callback(data) - - elif op == "notify": - if data["topic"].startswith("orders"): - self._update_order(data) - elif data["topic"].startswith("positions"): - self._update_position(data) - elif data["topic"].startswith("accounts"): - self._update_asset(data) - - async def create_order(self, action, price, quantity, order_type=ORDER_TYPE_LIMIT, client_order_id=None, *args, **kwargs): - """ Create an order. - - Args: - action: Trade direction, BUY or SELL. - price: Price of each contract. - quantity: The buying or selling quantity. - order_type: Order type, LIMIT or MARKET. - kwargs: - lever_rate: Leverage rate, 10 or 20. - - Returns: - order_no: Order ID if created successfully, otherwise it's None. - error: Error information, otherwise it's None. - """ - if int(quantity) > 0: - if action == ORDER_ACTION_BUY: - direction = "buy" - offset = "open" - elif action == ORDER_ACTION_SELL: - direction = "sell" - offset = "close" - else: - return None, "action error" - else: - if action == ORDER_ACTION_BUY: - direction = "buy" - offset = "close" - elif action == ORDER_ACTION_SELL: - direction = "sell" - offset = "open" - else: - return None, "action error" - - lever_rate = kwargs.get("lever_rate", 20) - if order_type == ORDER_TYPE_LIMIT: - order_price_type = "limit" - elif order_type == ORDER_TYPE_MARKET: - order_price_type = "optimal_20" - elif order_type == ORDER_TYPE_MAKER: - order_price_type = "post_only" - elif order_type == ORDER_TYPE_FOK: - order_price_type = "fok" - elif order_type == ORDER_TYPE_IOC: - order_price_type = "ioc" - - else: - return None, "order type error" - - quantity = abs(int(quantity)) - result, error = await self._rest_api.create_order(self._symbol, - price, quantity, direction, offset, lever_rate, - order_price_type, client_order_id) - if error: - return None, error - return str(result["data"]["order_id"]), None - - async def create_orders(self, orders, *args, **kwargs): - """ batch create orders - - Args: - orders_data: [] - list item: - action: Trade direction, BUY or SELL. - price: Price of each contract. - quantity: The buying or selling quantity. - order_type: Order type, LIMIT or MARKET. - lever_rate: leverage. - kwargs: - - Returns: - success: order info if created successfully. - error: erros information. - """ - orders_data = [] - for order in orders: - if int(order["quantity"]) > 0: - if order["action"] == ORDER_ACTION_BUY: - direction = "buy" - offset = "open" - elif order["action"] == ORDER_ACTION_SELL: - direction = "sell" - offset = "close" - else: - return None, "action error" - else: - if order["action"] == ORDER_ACTION_BUY: - direction = "buy" - offset = "close" - elif order["action"] == ORDER_ACTION_SELL: - direction = "sell" - offset = "open" - else: - return None, "action error" - - lever_rate = order["lever_rate"] - if order["order_type"] == ORDER_TYPE_LIMIT: - order_price_type = "limit" - elif order["order_type"] == ORDER_TYPE_MARKET: - order_price_type = "optimal_20" - elif order["order_type"] == ORDER_TYPE_MAKER: - order_price_type = "post_only" - elif order["order_type"] == ORDER_TYPE_FOK: - order_price_type = "fok" - elif order["order_type"] == ORDER_TYPE_IOC: - order_price_type = "ioc" - else: - return None, "order type error" - - quantity = abs(int(order["quantity"])) - - client_order_id = order.get("client_order_id", "") - - orders_data.append({"contract_code": self._symbol, \ - "client_order_id": client_order_id, "price": order["price"], "volume": quantity, "direction": direction, "offset": offset, \ - "leverRate": lever_rate, "orderPriceType": order_price_type}) - - result, error = await self._rest_api.create_orders({"orders_data": orders_data}) - if error: - return None, error - order_nos = [ order["order_id"] for order in result.get("data").get("success")] - return order_nos, result.get("data").get("errors") - - async def revoke_order(self, *order_nos): - """ Revoke (an) order(s). - - Args: - order_nos: Order id list, you can set this param to 0 or multiple items. If you set 0 param, you can cancel - all orders for this symbol(initialized in Trade object). If you set 1 param, you can cancel an order. - If you set multiple param, you can cancel multiple orders. Do not set param length more than 100. - - Returns: - Success or error, see bellow. - """ - # If len(order_nos) == 0, you will cancel all orders for this symbol(initialized in Trade object). - if len(order_nos) == 0: - success, error = await self._rest_api.revoke_order_all(self._symbol) - if error: - return False, error - if success.get("errors"): - return False, success["errors"] - return True, None - - # If len(order_nos) == 1, you will cancel an order. - if len(order_nos) == 1: - success, error = await self._rest_api.revoke_order(self._symbol, order_nos[0]) - if error: - return order_nos[0], error - if success.get("errors"): - return False, success["errors"] - else: - return order_nos[0], None - - # If len(order_nos) > 1, you will cancel multiple orders. - if len(order_nos) > 1: - success, error = await self._rest_api.revoke_orders(self._symbol, order_nos) - if error: - return order_nos[0], error - if success.get("errors"): - return False, success["errors"] - return success, error - - async def get_open_order_nos(self): - """ Get open order id list. - - Args: - None. - - Returns: - order_nos: Open order id list, otherwise it's None. - error: Error information, otherwise it's None. - """ - success, error = await self._rest_api.get_open_orders(self._symbol) - if error: - return None, error - else: - order_nos = [] - for order_info in success["data"]["orders"]: - if order_info["contract_code"] != self._symbol: - continue - order_nos.append(str(order_info["order_id"])) - return order_nos, None - - def _update_order(self, order_info): - """ Order update. - - Args: - order_info: Order information. - """ - if order_info["contract_code"] != self._symbol: - return - order_no = str(order_info["order_id"]) - status = order_info["status"] - - order = self._orders.get(order_no) - if not order: - if order_info["direction"] == "buy": - if order_info["offset"] == "open": - trade_type = TRADE_TYPE_BUY_OPEN - else: - trade_type = TRADE_TYPE_BUY_CLOSE - else: - if order_info["offset"] == "close": - trade_type = TRADE_TYPE_SELL_CLOSE - else: - trade_type = TRADE_TYPE_SELL_OPEN - - info = { - "platform": self._platform, - "account": self._account, - "strategy": self._strategy, - "order_no": order_no, - "client_order_id": order_info.get("client_order_id"), - "order_price_type": order_info.get("order_price_type"), - "order_type": order_info["order_type"], - "action": ORDER_ACTION_BUY if order_info["direction"] == "buy" else ORDER_ACTION_SELL, - "symbol": self._symbol + '/' + self._contract_type, - "price": order_info["price"], - "quantity": order_info["volume"], - "trade_type": trade_type - } - order = Order(**info) - self._orders[order_no] = order - - order.trade_quantity = None - order.trade_price = None - if order_info.get("trade"): - quantity = 0 - price = 0 - amount = 0 - count = len(order_info.get("trade")) - for trade in order_info.get("trade"): - order.role = trade.get("role") - quantity += float(trade.get("trade_volume")) - amount += float(trade.get("trade_volume")*trade.get("trade_price")) - price = amount/quantity - order.trade_quantity = int(quantity) - order.trade_price = price - - if status in [1, 2, 3]: - order.status = ORDER_STATUS_SUBMITTED - elif status == 4: - order.status = ORDER_STATUS_PARTIAL_FILLED - order.remain = int(order.quantity) - int(order_info["trade_volume"]) - elif status == 6: - order.status = ORDER_STATUS_FILLED - order.remain = 0 - elif status in [5, 7]: - order.status = ORDER_STATUS_CANCELED - order.remain = int(order.quantity) - int(order_info["trade_volume"]) - else: - return - - order.avg_price = order_info["trade_avg_price"] - order.ctime = order_info["created_at"] - order.utime = order_info["ts"] - - SingleTask.run(self._order_update_callback, copy.copy(order)) - - # Delete order that already completed. - if order.status in [ORDER_STATUS_FAILED, ORDER_STATUS_CANCELED, ORDER_STATUS_FILLED]: - self._orders.pop(order_no) - - # publish order - logger.info("symbol:", order.symbol, "order:", order, caller=self) - - def _update_position(self, data): - """ Position update. - - Args: - position_info: Position information. - - Returns: - None. - """ - for position_info in data["data"]: - if position_info["contract_code"] != self._symbol: - continue - if position_info["direction"] == "buy": - self._position.long_quantity = int(position_info["volume"]) - self._position.long_avg_price = position_info["cost_open"] - else: - self._position.short_quantity = int(position_info["volume"]) - self._position.short_avg_price = position_info["cost_open"] - # self._position.liquid_price = None - self._position.utime = data["ts"] - SingleTask.run(self._position_update_callback, copy.copy(self._position)) - - def _update_asset(self, data): - """ Asset update. - - Args: - data: asset data. - - Returns: - None. - """ - assets = {} - for item in data["data"]: - symbol = item["margin_account"].upper() - total = float(item["margin_balance"]) - #free = float(item["margin_available"]) - locked = float(item["margin_frozen"])+float(item["margin_position"]) - free = total - locked - if total > 0: - assets[symbol] = { - "total": "%.8f" % total, - "free": "%.8f" % free, - "locked": "%.8f" % locked - } - if assets == self._assets: - update = False - else: - update = True - if hasattr(self._assets, "assets") is False: - info = { - "platform": self._platform, - "account": self._account, - "assets": assets, - "timestamp": tools.get_cur_timestamp_ms(), - "update": update - } - asset = Asset(**info) - self._assets = asset - SingleTask.run(self._asset_update_callback, copy.copy(self._assets)) - else: - for symbol in assets: - self._assets.assets.update({ - symbol: assets[symbol] - }) - self._assets.timestamp = tools.get_cur_timestamp_ms() - SingleTask.run(self._asset_update_callback, copy.copy(self._assets)) diff --git a/alpha/platforms/huobi_usdt_swap/websocket/huobi_usdt_swap_market.py b/alpha/platforms/huobi_usdt_swap/websocket/huobi_usdt_swap_market.py deleted file mode 100644 index 6eaf6d7..0000000 --- a/alpha/platforms/huobi_usdt_swap/websocket/huobi_usdt_swap_market.py +++ /dev/null @@ -1,426 +0,0 @@ -# -*— coding:utf-8 -*- - -""" -Huobi USDT Swap Market Server. - -Author: Qiaoxiaofeng -Date: 2020/9/10 -Email: andyjoe318@gmail.com -""" - -import gzip -import json -import time -import asyncio -import copy -from collections import deque - -from alpha.bbo import Bbo -from alpha.depth import Depth -from alpha.detail import Detail -from alpha.utils import logger -from alpha.utils.websocket import Websocket -from alpha.utils.decorator import async_method_locker -from alpha.const import MARKET_TYPE_KLINE -from alpha.order import ORDER_ACTION_BUY, ORDER_ACTION_SELL -from alpha.tasks import SingleTask -from alpha.orderbook import Orderbook -from alpha.markettrade import Trade -from alpha.kline import Kline - -class HuobiUsdtSwapMarket(Websocket): - """ Huobi USDT Swap Market Server. - - Attributes: - kwargs: - platform: Exchange platform name, must be `huobi_usdt_swap`. - wss: Exchange Websocket host address. - symbols: Trade pair list, e.g. ["BTC_USDT"]. - channels: channel list, only `orderbook`, `kline` ,`trade` , 'depth', 'detail', and 'bbo' to be enabled. - orderbook_length: The length of orderbook's data to be published via OrderbookEvent, default is 10. - """ - - def __init__(self, **kwargs): - self._platform = kwargs["platform"] - self._wss = kwargs.get("wss", "wss://api.hbdm.com") - self._symbols = list(set(kwargs.get("symbols"))) - self._channels = kwargs.get("channels") - self._orderbook_length = kwargs.get("orderbook_length", 10) - self._orderbooks_length = kwargs.get("orderbooks_length", 100) - self._klines_length = kwargs.get("klines_length", 100) - self._trades_length = kwargs.get("trades_length", 100) - self._depth_length = kwargs.get("depth_length", 100) - self._detail_length = kwargs.get("detail_length", 100) - self._bbo_length = kwargs.get("bbo_length", 100) - self._orderbook_update_callback = kwargs.get("orderbook_update_callback") - self._kline_update_callback = kwargs.get("kline_update_callback") - self._trade_update_callback = kwargs.get("trade_update_callback") - self._depth_update_callback = kwargs.get("depth_update_callback") - self._detail_update_callback = kwargs.get("detail_update_callback") - self._bbo_update_callback = kwargs.get("bbo_update_callback") - - self._c_to_s = {} # {"channel": "symbol"} - self._orderbooks = deque(maxlen=self._orderbooks_length) - self._klines = deque(maxlen=self._klines_length) - self._trades = deque(maxlen=self._trades_length) - self._depths = deque(maxlen=self._depth_length) - self._details = deque(maxlen=self._detail_length) - self._bbos = deque(maxlen=self._bbo_length) - - url = self._wss + "/linear-swap-ws" - super(HuobiUsdtSwapMarket, self).__init__(url, send_hb_interval=5) - self.initialize() - - @property - def orderbooks(self): - return copy.copy(self._orderbooks) - - @property - def klines(self): - return copy.copy(self._klines) - - @property - def trades(self): - return copy.copy(self._trades) - - @property - def depths(self): - return copy.copy(self._depths) - - @property - def details(self): - return copy.copy(self._details) - - @property - def bbos(self): - return copy.copy(self._bbos) - - async def _send_heartbeat_msg(self, *args, **kwargs): - """ 发送心跳给服务器 - """ - if not self.ws: - logger.warn("websocket connection not connected yet!", caller=self) - return - data = {"pong": int(time.time()*1000)} - try: - await self.ws.send_json(data) - except ConnectionResetError: - await asyncio.get_event_loop().create_task(self._reconnect()) - - async def connected_callback(self): - """ After create Websocket connection successfully, we will subscribing orderbook/trade events. - """ - for ch in self._channels: - if ch == "kline": - for symbol in self._symbols: - channel = self._symbol_to_channel(symbol, "kline") - if not channel: - continue - kline = { - "sub": channel - } - await self.ws.send_json(kline) - elif ch == "orderbook": - for symbol in self._symbols: - channel = self._symbol_to_channel(symbol, "depth") - if not channel: - continue - data = { - "sub": channel - } - await self.ws.send_json(data) - elif ch == "trade": - for symbol in self._symbols: - channel = self._symbol_to_channel(symbol, "trade") - if not channel: - continue - data = { - "sub": channel - } - await self.ws.send_json(data) - elif ch == "depth": - for symbol in self._symbols: - channel = self._symbol_to_channel(symbol, "depth") - if not channel: - continue - data = { - "sub": channel - } - await self.ws.send_json(data) - elif ch == "detail": - for symbol in self._symbols: - channel = self._symbol_to_channel(symbol, "detail") - if not channel: - continue - data = { - "sub": channel - } - await self.ws.send_json(data) - elif ch == "bbo": - for symbol in self._symbols: - channel = self._symbol_to_channel(symbol, "bbo") - if not channel: - continue - data = { - "sub": channel - } - await self.ws.send_json(data) - else: - logger.error("channel error! channel:", ch, caller=self) - - async def process_binary(self, msg): - """ Process binary message that received from Websocket connection. - """ - data = json.loads(gzip.decompress(msg).decode()) - logger.debug("data:", json.dumps(data), caller=self) - channel = data.get("ch") - if not channel: - if data.get("ping"): - hb_msg = {"pong": data.get("ping")} - await self.ws.send_json(hb_msg) - return - - symbol = self._c_to_s[channel] - - if channel.find("kline") != -1: - await self.process_kline(data) - - elif channel.find("depth") != -1: - await self.process_orderbook(data) - - elif channel.find("trade") != -1: - await self.process_trade(data) - - elif channel.find("depth") != -1: - await self.process_depth(data) - - elif channel.find("detail") != -1: - await self.process_detail(data) - - elif channel.find("bbo") != -1: - await self.process_bbo(data) - - else: - logger.error("event error! msg:", msg, caller=self) - - def _symbol_to_channel(self, symbol, channel_type): - """ Convert symbol to channel. - - Args: - symbol: Trade pair name.such as BTC-USD - channel_type: channel name, kline / ticker / depth. - """ - if channel_type == "kline": - channel = "market.{s}.kline.1min".format(s=symbol.upper()) - elif channel_type == "depth": - channel = "market.{s}.depth.step6".format(s=symbol.upper()) - elif channel_type == "trade": - channel = "market.{s}.trade.detail".format(s=symbol.upper()) - elif channel_type == "depth": - channel = "market.{s}.depth.size_20.high_freq".format(s=symbol.upper()) - elif channel_type == "detail": - channel = "market.{s}.detail".format(s=symbol.upper()) - elif channel_type == "bbo": - channel = "market.{s}.bbo".format(s=symbol.upper()) - else: - logger.error("channel type error! channel type:", channel_type, caller=self) - return None - self._c_to_s[channel] = symbol - return channel - - async def process_kline(self, data): - """ process kline data - """ - channel = data.get("ch") - symbol = self._c_to_s[channel] - d = data.get("tick") - info = { - "platform": self._platform, - "symbol": symbol, - "open": "%.8f" % d["open"], - "high": "%.8f" % d["high"], - "low": "%.8f" % d["low"], - "close": "%.8f" % d["close"], - "volume": "%.8f" % d["amount"], - "timestamp": int(data.get("ts")), - "kline_type": MARKET_TYPE_KLINE, - "id": d.get("id"), - "mrid": d.get("mrid"), - "vol": d.get("vol"), - "count": d.get("count"), - "amount": d.get("amount"), - "trade_turnover": d.get("trade_turnover") - } - kline = Kline(**info) - self._klines.append(kline) - SingleTask.run(self._kline_update_callback, copy.copy(kline)) - - logger.debug("symbol:", symbol, "kline:", kline, caller=self) - - async def process_orderbook(self, data): - """ process orderbook data - """ - channel = data.get("ch") - symbol = self._c_to_s[channel] - d = data.get("tick") - asks, bids = [], [] - if d.get("asks"): - for item in d.get("asks")[:self._orderbook_length]: - price = "%.8f" % item[0] - quantity = "%.8f" % item[1] - asks.append([price, quantity]) - if d.get("bids"): - for item in d.get("bids")[:self._orderbook_length]: - price = "%.8f" % item[0] - quantity = "%.8f" % item[1] - bids.append([price, quantity]) - info = { - "platform": self._platform, - "symbol": symbol, - "asks": asks, - "bids": bids, - "timestamp": d.get("ts"), - "mrid": d.get("mrid"), - "id": d.get("id"), - "version": d.get("version"), - "ch": d.get("ch") - } - orderbook = Orderbook(**info) - self._orderbooks.append(orderbook) - SingleTask.run(self._orderbook_update_callback, copy.copy(orderbook)) - logger.debug("symbol:", symbol, "orderbook:", orderbook, caller=self) - - async def process_trade(self, data): - """ process trade - """ - channel = data.get("ch") - symbol = self._c_to_s[channel] - ticks = data.get("tick") - for tick in ticks["data"]: - direction = tick.get("direction") - price = tick.get("price") - quantity = tick.get("amount") - info = { - "platform": self._platform, - "symbol": symbol, - "action": ORDER_ACTION_BUY if direction == "buy" else ORDER_ACTION_SELL, - "price": "%.8f" % price, - "quantity": "%.8f" % quantity, - "timestamp": tick.get("ts"), - "amount": tick.get("amount"), - "id": tick.get("id"), - "direction": tick.get("direction"), - "trade_turnover": tick.get("trade_turnover") - } - trade = Trade(**info) - self._trades.append(trade) - SingleTask.run(self._trade_update_callback, copy.copy(trade)) - logger.debug("symbol:", symbol, "trade:", trade, caller=self) - - async def process_depth(self, data): - """ process depth data - """ - channel = data.get("ch") - symbol = self._c_to_s[channel] - d = data.get("tick") - asks, bids = [], [] - if d.get("asks"): - for item in d.get("asks")[:self._depth_length]: - price = "%.8f" % item[0] - quantity = "%.8f" % item[1] - asks.append([price, quantity]) - if d.get("bids"): - for item in d.get("bids")[:self._depth_length]: - price = "%.8f" % item[0] - quantity = "%.8f" % item[1] - bids.append([price, quantity]) - info = { - "platform": self._platform, - "symbol": symbol, - "asks": asks, - "bids": bids, - "timestamp": d.get("ts"), - "ch": d.get("ch"), - "event": d.get("event"), - "id": d.get("id"), - "mrid": d.get("mrid"), - "version": d.get("version") - } - depth = Depth(**info) - self._depths.append(depth) - SingleTask.run(self._depth_update_callback, copy.copy(depth)) - logger.debug("symbol:", symbol, "depth:", depth, caller=self) - - async def process_detail(self, data): - """ process orderbook data - """ - channel = data.get("ch") - symbol = self._c_to_s[channel] - d = data.get("tick") - asks, bids = [], [] - if d.get("asks"): - for item in d.get("asks")[:self._orderbook_length]: - price = "%.8f" % item[0] - quantity = "%.8f" % item[1] - asks.append([price, quantity]) - if d.get("bids"): - for item in d.get("bids")[:self._orderbook_length]: - price = "%.8f" % item[0] - quantity = "%.8f" % item[1] - bids.append([price, quantity]) - info = { - "platform": self._platform, - "symbol": symbol, - "asks": asks, - "bids": bids, - "timestamp": data.get("ts"), - "id": d.get("id"), - "mrid": d.get("mrid"), - "open": d.get("open"), - "close": d.get("close"), - "high": d.get("high"), - "low": d.get("low"), - "amount": d.get("amount"), - "vol": d.get("vol"), - "trade_turnover": d.get("trade_turnover"), - "count": d.get("count") - } - detail = Detail(**info) - self._details.append(detail) - SingleTask.run(self._detail_update_callback, copy.copy(detail)) - logger.debug("symbol:", symbol, "detail:", detail, caller=self) - - async def process_bbo(self, data): - """ process bbo data - """ - channel = data.get("ch") - symbol = self._c_to_s[channel] - d = data.get("tick") - asks, bids = [], [] - if d.get("asks"): - for item in d.get("asks")[:self._orderbook_length]: - price = "%.8f" % item[0] - quantity = "%.8f" % item[1] - asks.append([price, quantity]) - if d.get("bids"): - for item in d.get("bids")[:self._orderbook_length]: - price = "%.8f" % item[0] - quantity = "%.8f" % item[1] - bids.append([price, quantity]) - info = { - "platform": self._platform, - "symbol": symbol, - "asks": asks, - "bids": bids, - "timestamp": d.get("ts"), - "ch": d.get("ch"), - "mrid": d.get("mrid"), - "id": d.get("id"), - "version": d.get("version") - } - bbo = Bbo(**info) - self._bbos.append(bbo) - SingleTask.run(self._bbo_update_callback, copy.copy(bbo)) - logger.debug("symbol:", symbol, "bbo:", bbo, caller=self) - - diff --git a/alpha/platforms/huobi_usdt_swap/websocket/huobi_usdt_swap_trade.py b/alpha/platforms/huobi_usdt_swap/websocket/huobi_usdt_swap_trade.py deleted file mode 100644 index 93beb10..0000000 --- a/alpha/platforms/huobi_usdt_swap/websocket/huobi_usdt_swap_trade.py +++ /dev/null @@ -1,598 +0,0 @@ -# -*- coding:utf-8 -*- - -""" -Huobi Swap Api Module. - -Author: QiaoXiaofeng -Date: 2020/09/02 -Email: andyjoe318@gmail.com -""" - -import gzip -import json -import copy -import datetime -import time -import urllib -import hmac -import base64 -import urllib -import hashlib -import datetime -import time -from urllib.parse import urljoin - -from alpha.asset import Asset -from alpha.order import Order -from alpha.position import Position -from alpha.error import Error -from alpha.utils import tools, logger -from alpha.tasks import SingleTask, LoopRunTask -from alpha.const import HUOBI_USDT_SWAP -from alpha.utils.websocket import Websocket -from alpha.utils.request import AsyncHttpRequests -from alpha.utils.decorator import async_method_locker -from alpha.order import ORDER_ACTION_BUY, ORDER_ACTION_SELL -from alpha.order import ORDER_TYPE_LIMIT, ORDER_TYPE_MARKET, ORDER_TYPE_MAKER, ORDER_TYPE_FOK, ORDER_TYPE_IOC -from alpha.order import ORDER_STATUS_SUBMITTED, ORDER_STATUS_PARTIAL_FILLED, ORDER_STATUS_FILLED, \ - ORDER_STATUS_CANCELED, ORDER_STATUS_FAILED, TRADE_TYPE_BUY_OPEN, TRADE_TYPE_SELL_OPEN, TRADE_TYPE_BUY_CLOSE, \ - TRADE_TYPE_SELL_CLOSE -from alpha.platforms.huobi_usdt_swap_api import HuobiUsdtSwapRestAPI - - -__all__ = ("HuobiUsdtSwapTrade", ) - -class HuobiUsdtSwapTrade(Websocket): - """ Huobi Swap Trade module. You can initialize trade object with some attributes in kwargs. - - Attributes: - account: Account name for this trade exchange. - strategy: What's name would you want to created for you strategy. - symbol: Symbol name for your trade. - host: HTTP request host. default `https://api.hbdm.com"`. - wss: Websocket address. default `wss://www.hbdm.com`. - access_key: Account's ACCESS KEY. - secret_key Account's SECRET KEY. - asset_update_callback: You can use this param to specific a async callback function when you initializing Trade - object. `asset_update_callback` is like `async def on_asset_update_callback(asset: Asset): pass` and this - callback function will be executed asynchronous when received AssetEvent. - order_update_callback: You can use this param to specific a async callback function when you initializing Trade - object. `order_update_callback` is like `async def on_order_update_callback(order: Order): pass` and this - callback function will be executed asynchronous when some order state updated. - position_update_callback: You can use this param to specific a async callback function when you initializing Trade - object. `position_update_callback` is like `async def on_position_update_callback(order: Position): pass` and - this callback function will be executed asynchronous when some position state updated. - init_success_callback: You can use this param to specific a async callback function when you initializing Trade - object. `init_success_callback` is like `async def on_init_success_callback(success: bool, error: Error, **kwargs): pass` - and this callback function will be executed asynchronous after Trade module object initialized successfully. - """ - - def __init__(self, **kwargs): - """Initialize.""" - e = None - if not kwargs.get("account"): - e = Error("param account miss") - if not kwargs.get("strategy"): - e = Error("param strategy miss") - if not kwargs.get("symbol"): - e = Error("param symbol miss") - if not kwargs.get("contract_type"): - e = Error("param contract_type miss") - if not kwargs.get("host"): - kwargs["host"] = "https://api.hbdm.com" - if not kwargs.get("wss"): - kwargs["wss"] = "wss://api.hbdm.com" - if not kwargs.get("access_key"): - e = Error("param access_key miss") - if not kwargs.get("secret_key"): - e = Error("param secret_key miss") - if e: - logger.error(e, caller=self) - if kwargs.get("init_success_callback"): - SingleTask.run(kwargs["init_success_callback"], False, e) - return - self._account = kwargs["account"] - self._strategy = kwargs["strategy"] - self._platform = HUOBI_USDT_SWAP - self._symbol = kwargs["symbol"] - self._contract_type = kwargs["contract_type"] - self._host = kwargs["host"] - self._wss = kwargs["wss"] - self._access_key = kwargs["access_key"] - self._secret_key = kwargs["secret_key"] - self._order_update_callback = kwargs.get("order_update_callback") - self._position_update_callback = kwargs.get("position_update_callback") - self._asset_update_callback = kwargs.get("asset_update_callback") - self._init_success_callback = kwargs.get("init_success_callback") - - url = self._wss + "/linear-swap-notification" - super(HuobiUsdtSwapTrade, self).__init__(url, send_hb_interval=5) - - self._assets = {} # Asset detail, {"BTC": {"free": "1.1", "locked": "2.2", "total": "3.3"}, ... }. - self._orders = {} # Order objects, {"order_id": order, ...}. - self._position = Position(self._platform, self._account, self._strategy, self._symbol + '/' + self._contract_type) - - self._order_channel = "orders.{symbol}".format(symbol=self._symbol) - self._position_channel = "positions.{symbol}".format(symbol=self._symbol) - self._asset_channel = "accounts.{symbol}".format(symbol=self._symbol) - - self._subscribe_order_ok = False - self._subscribe_position_ok = False - self._subscribe_asset_ok = False - - self._rest_api = HuobiUsdtSwapRestAPI(self._host, self._access_key, self._secret_key) - - self.initialize() - - - @property - def assets(self): - return copy.copy(self._assets) - - @property - def orders(self): - return copy.copy(self._orders) - - @property - def position(self): - return copy.copy(self._position) - - @property - def rest_api(self): - return self._rest_api - - async def _send_heartbeat_msg(self, *args, **kwargs): - data = {"op": "pong", "ts": str(int(time.time()*1000))} - if not self.ws: - logger.error("Websocket connection not yeah!", caller=self) - return - await self.ws.send_json(data) - - async def connected_callback(self): - """After connect to Websocket server successfully, send a auth message to server.""" - timestamp = datetime.datetime.utcnow().strftime("%Y-%m-%dT%H:%M:%S") - data = { - "AccessKeyId": self._access_key, - "SignatureMethod": "HmacSHA256", - "SignatureVersion": "2", - "Timestamp": timestamp - } - sign = self.generate_signature("GET", data, "/linear-swap-notification") - data["op"] = "auth" - data["type"] = "api" - data["Signature"] = sign - await self.ws.send_json(data) - - def generate_signature(self, method, params, request_path): - host_url = urllib.parse.urlparse(self._wss).hostname.lower() - sorted_params = sorted(params.items(), key=lambda d: d[0], reverse=False) - encode_params = urllib.parse.urlencode(sorted_params) - payload = [method, host_url, request_path, encode_params] - payload = "\n".join(payload) - payload = payload.encode(encoding="UTF8") - secret_key = self._secret_key.encode(encoding="utf8") - digest = hmac.new(secret_key, payload, digestmod=hashlib.sha256).digest() - signature = base64.b64encode(digest) - signature = signature.decode() - return signature - - async def auth_callback(self, data): - if data["err-code"] != 0: - e = Error("Websocket connection authorized failed: {}".format(data)) - logger.error(e, caller=self) - SingleTask.run(self._init_success_callback, False, e) - return - self._subscribe_order_ok = False - self._subscribe_position_ok = False - self._subscribe_asset_ok = False - - # subscribe order - data = { - "op": "sub", - "cid": tools.get_uuid1(), - "topic": self._order_channel - } - await self.ws.send_json(data) - - # subscribe position - data = { - "op": "sub", - "cid": tools.get_uuid1(), - "topic": self._position_channel - } - await self.ws.send_json(data) - - # subscribe asset - data = { - "op": "sub", - "cid": tools.get_uuid1(), - "topic": self._asset_channel - } - await self.ws.send_json(data) - - async def sub_callback(self, data): - if data["err-code"] != 0: - e = Error("subscribe {} failed!".format(data["topic"])) - logger.error(e, caller=self) - SingleTask.run(self._init_success_callback, False, e) - return - if data["topic"] == self._order_channel: - self._subscribe_order_ok = True - elif data["topic"] == self._position_channel: - self._subscribe_position_ok = True - elif data["topic"] == self._asset_channel: - self._subscribe_asset_ok = True - if self._subscribe_order_ok and self._subscribe_position_ok \ - and self._subscribe_asset_ok: - success, error = await self._rest_api.get_open_orders(self._symbol) - if error: - e = Error("get open orders failed!") - SingleTask.run(self._init_success_callback, False, e) - elif "data" in success and "orders" in success["data"]: - for order_info in success["data"]["orders"]: - order_info["ts"] = order_info["created_at"] - self._update_order(order_info) - SingleTask.run(self._init_success_callback, True, None) - else: - logger.warn("get open orders:", success, caller=self) - e = Error("Get Open Orders Unknown error") - SingleTask.run(self._init_success_callback, False, e) - - @async_method_locker("HuobiSwapTrade.process_binary.locker") - async def process_binary(self, raw): - """ 处理websocket上接收到的消息 - @param raw 原始的压缩数据 - """ - data = json.loads(gzip.decompress(raw).decode()) - logger.debug("data:", data, caller=self) - - op = data.get("op") - if op == "ping": - hb_msg = {"op": "pong", "ts": data.get("ts")} - await self.ws.send_json(hb_msg) - - elif op == "auth": - await self.auth_callback(data) - - elif op == "sub": - await self.sub_callback(data) - - elif op == "notify": - if data["topic"].startswith("orders"): - self._update_order(data) - elif data["topic"].startswith("positions"): - self._update_position(data) - elif data["topic"].startswith("accounts"): - self._update_asset(data) - - async def create_order(self, action, price, quantity, order_type=ORDER_TYPE_LIMIT, client_order_id=None, *args, **kwargs): - """ Create an order. - - Args: - action: Trade direction, BUY or SELL. - price: Price of each contract. - quantity: The buying or selling quantity. - order_type: Order type, LIMIT or MARKET. - kwargs: - lever_rate: Leverage rate, 10 or 20. - - Returns: - order_no: Order ID if created successfully, otherwise it's None. - error: Error information, otherwise it's None. - """ - if int(quantity) > 0: - if action == ORDER_ACTION_BUY: - direction = "buy" - offset = "open" - elif action == ORDER_ACTION_SELL: - direction = "sell" - offset = "close" - else: - return None, "action error" - else: - if action == ORDER_ACTION_BUY: - direction = "buy" - offset = "close" - elif action == ORDER_ACTION_SELL: - direction = "sell" - offset = "open" - else: - return None, "action error" - - lever_rate = kwargs.get("lever_rate", 20) - if order_type == ORDER_TYPE_LIMIT: - order_price_type = "limit" - elif order_type == ORDER_TYPE_MARKET: - order_price_type = "optimal_20" - elif order_type == ORDER_TYPE_MAKER: - order_price_type = "post_only" - elif order_type == ORDER_TYPE_FOK: - order_price_type = "fok" - elif order_type == ORDER_TYPE_IOC: - order_price_type = "ioc" - - else: - return None, "order type error" - - quantity = abs(int(quantity)) - result, error = await self._rest_api.create_order(self._symbol, - price, quantity, direction, offset, lever_rate, - order_price_type, client_order_id) - if error: - return None, error - return str(result["data"]["order_id"]), None - - async def create_orders(self, orders, *args, **kwargs): - """ batch create orders - - Args: - orders_data: [] - list item: - action: Trade direction, BUY or SELL. - price: Price of each contract. - quantity: The buying or selling quantity. - order_type: Order type, LIMIT or MARKET. - lever_rate: leverage. - kwargs: - - Returns: - success: order info if created successfully. - error: erros information. - """ - orders_data = [] - for order in orders: - if int(order["quantity"]) > 0: - if order["action"] == ORDER_ACTION_BUY: - direction = "buy" - offset = "open" - elif order["action"] == ORDER_ACTION_SELL: - direction = "sell" - offset = "close" - else: - return None, "action error" - else: - if order["action"] == ORDER_ACTION_BUY: - direction = "buy" - offset = "close" - elif order["action"] == ORDER_ACTION_SELL: - direction = "sell" - offset = "open" - else: - return None, "action error" - - lever_rate = order["lever_rate"] - if order["order_type"] == ORDER_TYPE_LIMIT: - order_price_type = "limit" - elif order["order_type"] == ORDER_TYPE_MARKET: - order_price_type = "optimal_20" - elif order["order_type"] == ORDER_TYPE_MAKER: - order_price_type = "post_only" - elif order["order_type"] == ORDER_TYPE_FOK: - order_price_type = "fok" - elif order["order_type"] == ORDER_TYPE_IOC: - order_price_type = "ioc" - else: - return None, "order type error" - - quantity = abs(int(order["quantity"])) - - client_order_id = order.get("client_order_id", "") - - orders_data.append({"contract_code": self._symbol, \ - "client_order_id": client_order_id, "price": order["price"], "volume": quantity, "direction": direction, "offset": offset, \ - "leverRate": lever_rate, "orderPriceType": order_price_type}) - - result, error = await self._rest_api.create_orders({"orders_data": orders_data}) - if error: - return None, error - order_nos = [ order["order_id"] for order in result.get("data").get("success")] - return order_nos, result.get("data").get("errors") - - async def revoke_order(self, *order_nos): - """ Revoke (an) order(s). - - Args: - order_nos: Order id list, you can set this param to 0 or multiple items. If you set 0 param, you can cancel - all orders for this symbol(initialized in Trade object). If you set 1 param, you can cancel an order. - If you set multiple param, you can cancel multiple orders. Do not set param length more than 100. - - Returns: - Success or error, see bellow. - """ - # If len(order_nos) == 0, you will cancel all orders for this symbol(initialized in Trade object). - if len(order_nos) == 0: - success, error = await self._rest_api.revoke_order_all(self._symbol) - if error: - return False, error - if success.get("errors"): - return False, success["errors"] - return True, None - - # If len(order_nos) == 1, you will cancel an order. - if len(order_nos) == 1: - success, error = await self._rest_api.revoke_order(self._symbol, order_nos[0]) - if error: - return order_nos[0], error - if success.get("errors"): - return False, success["errors"] - else: - return order_nos[0], None - - # If len(order_nos) > 1, you will cancel multiple orders. - if len(order_nos) > 1: - success, error = await self._rest_api.revoke_orders(self._symbol, order_nos) - if error: - return order_nos[0], error - if success.get("errors"): - return False, success["errors"] - return success, error - - async def get_open_order_nos(self): - """ Get open order id list. - - Args: - None. - - Returns: - order_nos: Open order id list, otherwise it's None. - error: Error information, otherwise it's None. - """ - success, error = await self._rest_api.get_open_orders(self._symbol) - if error: - return None, error - else: - order_nos = [] - for order_info in success["data"]["orders"]: - if order_info["contract_code"] != self._symbol: - continue - order_nos.append(str(order_info["order_id"])) - return order_nos, None - - def _update_order(self, order_info): - """ Order update. - - Args: - order_info: Order information. - """ - if order_info["contract_code"] != self._symbol: - return - order_no = str(order_info["order_id"]) - status = order_info["status"] - - order = self._orders.get(order_no) - if not order: - if order_info["direction"] == "buy": - if order_info["offset"] == "open": - trade_type = TRADE_TYPE_BUY_OPEN - else: - trade_type = TRADE_TYPE_BUY_CLOSE - else: - if order_info["offset"] == "close": - trade_type = TRADE_TYPE_SELL_CLOSE - else: - trade_type = TRADE_TYPE_SELL_OPEN - - info = { - "platform": self._platform, - "account": self._account, - "strategy": self._strategy, - "order_no": order_no, - "client_order_id": order_info.get("client_order_id"), - "order_price_type": order_info.get("order_price_type"), - "order_type": order_info["order_type"], - "action": ORDER_ACTION_BUY if order_info["direction"] == "buy" else ORDER_ACTION_SELL, - "symbol": self._symbol + '/' + self._contract_type, - "price": order_info["price"], - "quantity": order_info["volume"], - "trade_type": trade_type - } - order = Order(**info) - self._orders[order_no] = order - - order.trade_quantity = None - order.trade_price = None - if order_info.get("trade"): - quantity = 0 - price = 0 - amount = 0 - count = len(order_info.get("trade")) - for trade in order_info.get("trade"): - order.role = trade.get("role") - quantity += float(trade.get("trade_volume")) - amount += float(trade.get("trade_volume")*trade.get("trade_price")) - price = amount/quantity - order.trade_quantity = int(quantity) - order.trade_price = price - - if status in [1, 2, 3]: - order.status = ORDER_STATUS_SUBMITTED - elif status == 4: - order.status = ORDER_STATUS_PARTIAL_FILLED - order.remain = int(order.quantity) - int(order_info["trade_volume"]) - elif status == 6: - order.status = ORDER_STATUS_FILLED - order.remain = 0 - elif status in [5, 7]: - order.status = ORDER_STATUS_CANCELED - order.remain = int(order.quantity) - int(order_info["trade_volume"]) - else: - return - - order.avg_price = order_info["trade_avg_price"] - order.ctime = order_info["created_at"] - order.utime = order_info["ts"] - - SingleTask.run(self._order_update_callback, copy.copy(order)) - - # Delete order that already completed. - if order.status in [ORDER_STATUS_FAILED, ORDER_STATUS_CANCELED, ORDER_STATUS_FILLED]: - self._orders.pop(order_no) - - # publish order - logger.info("symbol:", order.symbol, "order:", order, caller=self) - - def _update_position(self, data): - """ Position update. - - Args: - position_info: Position information. - - Returns: - None. - """ - for position_info in data["data"]: - if position_info["contract_code"] != self._symbol: - continue - if position_info["direction"] == "buy": - self._position.long_quantity = int(position_info["volume"]) - self._position.long_avg_price = position_info["cost_open"] - else: - self._position.short_quantity = int(position_info["volume"]) - self._position.short_avg_price = position_info["cost_open"] - # self._position.liquid_price = None - self._position.utime = data["ts"] - SingleTask.run(self._position_update_callback, copy.copy(self._position)) - - def _update_asset(self, data): - """ Asset update. - - Args: - data: asset data. - - Returns: - None. - """ - assets = {} - for item in data["data"]: - symbol = item["symbol"].upper() - total = float(item["margin_balance"]) - free = float(item["margin_available"]) - locked = float(item["margin_frozen"]) - if total > 0: - assets[symbol] = { - "total": "%.8f" % total, - "free": "%.8f" % free, - "locked": "%.8f" % locked - } - if assets == self._assets: - update = False - else: - update = True - if hasattr(self._assets, "assets") is False: - info = { - "platform": self._platform, - "account": self._account, - "assets": assets, - "timestamp": tools.get_cur_timestamp_ms(), - "update": update - } - asset = Asset(**info) - self._assets = asset - SingleTask.run(self._asset_update_callback, copy.copy(self._assets)) - else: - for symbol in assets: - self._assets.assets.update({ - symbol: assets[symbol] - }) - self._assets.timestamp = tools.get_cur_timestamp_ms() - SingleTask.run(self._asset_update_callback, copy.copy(self._assets)) diff --git a/alpha/platforms/huobi_usdt_swap/websocket/ws_account_usdt_swap.py b/alpha/platforms/huobi_usdt_swap/websocket/ws_account_usdt_swap.py deleted file mode 100644 index 27598d0..0000000 --- a/alpha/platforms/huobi_usdt_swap/websocket/ws_account_usdt_swap.py +++ /dev/null @@ -1,13 +0,0 @@ -from alpha.utils.ws_utils import * - - -class WsAccount(WsUtils): - def __init__(self, access_key: str, secret_key: str, host: str = None): - super(WsAccount, self).__init__("/linear-swap-notification", host, access_key, secret_key) - - def sub(self, data:dict, callback): - self._sub(json.dumps(data), callback) - - def unsub(self, data:dict): - self._unsub(json.dumps(data)) - \ No newline at end of file diff --git a/alpha/platforms/huobi_usdt_swap/websocket/ws_index_usdt_swap.py b/alpha/platforms/huobi_usdt_swap/websocket/ws_index_usdt_swap.py deleted file mode 100644 index 71f087a..0000000 --- a/alpha/platforms/huobi_usdt_swap/websocket/ws_index_usdt_swap.py +++ /dev/null @@ -1,12 +0,0 @@ -from alpha.utils.ws_utils import * - - -class WsIndex(WsUtils): - def __init__(self, host: str = None): - super(WsIndex, self).__init__("/ws_index", host) - - def sub(self, data: dict, callback): - self._sub(json.dumps(data), callback) - - def req(self, data: dict, callback): - self._req(json.dumps(data), callback) diff --git a/alpha/platforms/huobi_usdt_swap/websocket/ws_market_usdt_swap.py b/alpha/platforms/huobi_usdt_swap/websocket/ws_market_usdt_swap.py deleted file mode 100644 index defa9fe..0000000 --- a/alpha/platforms/huobi_usdt_swap/websocket/ws_market_usdt_swap.py +++ /dev/null @@ -1,12 +0,0 @@ -from alpha.utils.ws_utils import * - - -class WsMarket(WsUtils): - def __init__(self, host: str = None): - super(WsMarket, self).__init__("/linear-swap-ws", host) - - def sub(self, data:dict, callback): - self._sub(json.dumps(data), callback) - - def req(self, data:dict, callback): - self._req(json.dumps(data), callback) diff --git a/alpha/platforms/huobi_usdt_swap/websocket/ws_system_usdt_swap.py b/alpha/platforms/huobi_usdt_swap/websocket/ws_system_usdt_swap.py deleted file mode 100644 index 26e3d40..0000000 --- a/alpha/platforms/huobi_usdt_swap/websocket/ws_system_usdt_swap.py +++ /dev/null @@ -1,9 +0,0 @@ -from alpha.utils.ws_utils import * - - -class WsSystem(WsUtils): - def __init__(self, host: str = None): - super(WsSystem, self).__init__("/center-notification", host) - - def sub(self, data: dict, callback): - self._sub(json.dumps(data), callback) diff --git a/alpha/platforms/logger.py b/alpha/platforms/logger.py deleted file mode 100644 index 3259c2d..0000000 --- a/alpha/platforms/logger.py +++ /dev/null @@ -1,23 +0,0 @@ -# -*- coding: utf-8 -*- -import logging -import sys -from logging.handlers import TimedRotatingFileHandler - -__LOGGING_MSG_FORMAT = '%(asctime)s|%(levelname)s|%(filename)s|%(lineno)d|%(thread)d|%(message)s||' -__LOGGING_DATE_FORMAT = '%Y-%m-%d %H:%M:%S' -__formatter = logging.Formatter(__LOGGING_MSG_FORMAT, __LOGGING_DATE_FORMAT) - -logging.basicConfig(level=logging.INFO, format=__LOGGING_MSG_FORMAT, datefmt=__LOGGING_DATE_FORMAT) - -__handle = logging.handlers.TimedRotatingFileHandler('{}.log'.format(sys.argv[0]), 'midnight', 1, 6) -__handle.suffix = "%Y-%m-%d.log" -__handle.setFormatter(__formatter) -__handle.setLevel(logging.INFO) - -logger = logging.getLogger(__name__) -logger.addHandler(__handle) - -# logger = logging.getLogger() -# stream_handler = logging.StreamHandler(sys.stdout) -# logger.level = logging.DEBUG -# logger.addHandler(stream_handler) \ No newline at end of file diff --git a/alpha/position.py b/alpha/position.py deleted file mode 100644 index a3dc786..0000000 --- a/alpha/position.py +++ /dev/null @@ -1,69 +0,0 @@ -# -*- coding:utf-8 -*- - -""" -持仓对象 - -Author: Qiaoxiaofeng -Date: 2019/11/04 -""" - -from alpha.utils import tools - - -class Position: - """ 持仓对象 - """ - - def __init__(self, platform=None, account=None, strategy=None, symbol=None, leverage=None,\ - short_quantity=None, short_avg_price=None, short_pnl_ratio=None, short_pnl_unreal=None,\ - short_pnl=None, long_quantity=None, long_avg_price=None, long_pnl_ratio=None, long_pnl_unreal=None,\ - long_pnl=None, long_pos_margin=None, short_pos_margin=None, liquid_price=None, maint_margin_ratio=None, utime=None ): - """ 初始化持仓对象 - @param platform 交易平台 - @param account 账户 - @param strategy 策略名称 - @param symbol 合约名称 - """ - self.platform = platform - self.account = account - self.strategy = strategy - self.symbol = symbol - self.leverage = leverage # 杠杆倍数 - self.short_quantity = short_quantity # 空仓数量 - self.short_avg_price = short_avg_price # 空仓持仓平均价格 - self.short_pnl_ratio = short_pnl_ratio # 空仓收益率 - self.short_pnl_unreal = short_pnl_unreal # 空仓未实现盈亏 - self.short_pnl = short_pnl # 空仓已实现盈亏 - self.long_quantity = long_quantity # 多仓数量 - self.long_avg_price = long_avg_price # 多仓持仓平均价格 - self.long_pnl_ratio = long_pnl_ratio # 多仓收益率 - self.long_pnl_unreal = long_pnl_unreal # 多仓未实现盈亏 - self.long_pnl = long_pnl # 多仓已实现盈亏 - self.long_pos_margin = long_pos_margin # 多仓持仓保证金 - self.short_pos_margin = short_pos_margin # 空仓持仓保证金 - self.liquid_price = liquid_price # 预估爆仓价格 - self.maint_margin_ratio = maint_margin_ratio # 保证金率 - self.utime = utime if utime else tools.get_cur_timestamp_ms() - - def update(self, short_quantity=0, short_avg_price=0, long_quantity=0, long_avg_price=0, liquid_price=0, - utime=None): - self.short_quantity = short_quantity - self.short_avg_price = short_avg_price - self.long_quantity = long_quantity - self.long_avg_price = long_avg_price - self.liquid_price = liquid_price - self.utime = utime if utime else tools.get_cur_timestamp_ms() - - def __str__(self): - info = "[platform: {platform}, account: {account}, strategy: {strategy}, symbol: {symbol}, " \ - "short_quantity: {short_quantity}, short_avg_price: {short_avg_price}, " \ - "long_quantity: {long_quantity}, long_avg_price: {long_avg_price}, liquid_price: {liquid_price}, " \ - "utime: {utime}]"\ - .format(platform=self.platform, account=self.account, strategy=self.strategy, symbol=self.symbol, - short_quantity=self.short_quantity, short_avg_price=self.short_avg_price, - long_quantity=self.long_quantity, long_avg_price=self.long_avg_price, - liquid_price=self.liquid_price, utime=self.utime) - return info - - def __repr__(self): - return str(self) \ No newline at end of file diff --git a/alpha/quant.py b/alpha/quant.py deleted file mode 100644 index 035583b..0000000 --- a/alpha/quant.py +++ /dev/null @@ -1,102 +0,0 @@ -# -*- coding:utf-8 -*- - -""" -Asynchronous driven quantitative trading framework. - -Author: QiaoXiaofeng -Date: 2020/1/10 -Email: andyjoe318@gmail.com -History: 1.first version -""" - -import signal -import asyncio - -from alpha.utils import logger -from alpha.config import config - -from alpha.const import VERSION - - -class Quant: - """ Asynchronous driven quantitative trading framework. - """ - - def __init__(self): - self.loop = None - - - def initialize(self, config_module=None): - """ Initialize. - - Args: - config_module: config file path, normally it"s a json file. - """ - self._get_event_loop() - self._load_settings(config_module) - self._init_logger() - self._init_db_instance() - self._get_version() - self._do_heartbeat() - - def start(self): - """Start the event loop.""" - def keyboard_interrupt(s, f): - print("KeyboardInterrupt (ID: {}) has been caught. Cleaning up...".format(s)) - self.loop.stop() - signal.signal(signal.SIGINT, keyboard_interrupt) - - logger.info("start io loop ...", caller=self) - self.loop.run_forever() - - def stop(self): - """Stop the event loop.""" - logger.info("stop io loop.", caller=self) - self.loop.stop() - - def _get_version(self): - """ get software version - """ - logger.info("version:", VERSION, caller=self) - - def _get_event_loop(self): - """ Get a main io loop. """ - if not self.loop: - self.loop = asyncio.get_event_loop() - #self.loop.set_debug(True) - return self.loop - - def _load_settings(self, config_module): - """ Load config settings. - - Args: - config_module: config file path, normally it"s a json file. - """ - config.loads(config_module) - - def _init_logger(self): - """Initialize logger.""" - console = config.log.get("console", True) - level = config.log.get("level", "DEBUG") - path = config.log.get("path", "/tmp/logs/Quant") - name = config.log.get("name", "quant.log") - clear = config.log.get("clear", False) - backup_count = config.log.get("backup_count", 0) - if console: - logger.initLogger(level) - else: - logger.initLogger(level, path, name, clear, backup_count) - - def _init_db_instance(self): - """Initialize db.""" - if config.mongodb: - from alpha.utils.mongo import initMongodb - initMongodb(**config.mongodb) - - def _do_heartbeat(self): - """Start server heartbeat.""" - from alpha.heartbeat import heartbeat - self.loop.call_later(0.5, heartbeat.ticker) - - -quant = Quant() diff --git a/alpha/tasks.py b/alpha/tasks.py deleted file mode 100644 index 881dc53..0000000 --- a/alpha/tasks.py +++ /dev/null @@ -1,80 +0,0 @@ -# -*- coding:utf-8 -*- - -""" -Tasks module. -1. Register a loop run task: - a) assign a asynchronous callback function; - b) assign a execute interval time(seconds), default is 1s. - c) assign some input params like `*args, **kwargs`; -2. Register a single task to run: - a) Create a coroutine and execute immediately. - b) Create a coroutine and delay execute, delay time is seconds, default delay time is 0s. - -Author: HuangTao -Date: 2018/04/26 -Email: huangtao@ifclover.com -""" - -import asyncio -import inspect - -from alpha.heartbeat import heartbeat - -__all__ = ("LoopRunTask", "SingleTask") - - -class LoopRunTask(object): - """ Loop run task. - """ - - @classmethod - def register(cls, func, interval=1, *args, **kwargs): - """ Register a loop run. - - Args: - func: Asynchronous callback function. - interval: execute interval time(seconds), default is 1s. - - Returns: - task_id: Task id. - """ - task_id = heartbeat.register(func, interval, *args, **kwargs) - return task_id - - @classmethod - def unregister(cls, task_id): - """ Unregister a loop run task. - - Args: - task_id: Task id. - """ - heartbeat.unregister(task_id) - - -class SingleTask: - """ Single run task. - """ - - @classmethod - def run(cls, func, *args, **kwargs): - """ Create a coroutine and execute immediately. - - Args: - func: Asynchronous callback function. - """ - asyncio.get_event_loop().create_task(func(*args, **kwargs)) - - @classmethod - def call_later(cls, func, delay=0, *args, **kwargs): - """ Create a coroutine and delay execute, delay time is seconds, default delay time is 0s. - - Args: - func: Asynchronous callback function. - delay: Delay time is seconds, default delay time is 0, you can assign a float e.g. 0.5, 2.3, 5.1 ... - """ - if not inspect.iscoroutinefunction(func): - asyncio.get_event_loop().call_later(delay, func, *args) - else: - def foo(f, *args, **kwargs): - asyncio.get_event_loop().create_task(f(*args, **kwargs)) - asyncio.get_event_loop().call_later(delay, foo, func, *args) diff --git a/alpha/trade.py b/alpha/trade.py deleted file mode 100644 index 42fed07..0000000 --- a/alpha/trade.py +++ /dev/null @@ -1,191 +0,0 @@ -# -*- coding:utf-8 -*- - -""" -Trade Module. - -Author: QiaoXiaofeng -Date: 2019/04/21 -Email: andyjoe318@gmail.com -""" - -import copy - -from alpha import const -from alpha.error import Error -from alpha.utils import logger -from alpha.tasks import SingleTask -from alpha.order import ORDER_TYPE_LIMIT -from alpha.order import Order -from alpha.position import Position - - -class Trade: - """ Trade Module. - - Attributes: - strategy: What's name would you want to created for your strategy. - platform: Exchange platform name. e.g. `huobi_swap`. - symbol: Symbol name for your trade. e.g. `BTC-USD`. - host: HTTP request host. - wss: Websocket address. - account: Account name for this trade exchange. - access_key: Account's ACCESS KEY. - secret_key: Account's SECRET KEY. - asset_update_callback: You can use this param to specific a async callback function when you initializing Trade - object. `asset_update_callback` is like `async def on_asset_update_callback(asset: Asset): pass` and this - callback function will be executed asynchronous when received AssetEvent. - order_update_callback: You can use this param to specific a async callback function when you initializing Trade - object. `order_update_callback` is like `async def on_order_update_callback(order: Order): pass` and this - callback function will be executed asynchronous when some order state updated. - position_update_callback: You can use this param to specific a async callback function when you initializing - Trade object. `position_update_callback` is like `async def on_position_update_callback(position: Position): pass` - and this callback function will be executed asynchronous when position updated. - init_success_callback: You can use this param to specific a async callback function when you initializing Trade - object. `init_success_callback` is like `async def on_init_success_callback(success: bool, error: Error, **kwargs): pass` - and this callback function will be executed asynchronous after Trade module object initialized successfully. - """ - - def __init__(self, strategy=None, platform=None, symbol=None, host=None, wss=None, account=None, access_key=None, - secret_key=None, asset_update_callback=None, order_update_callback=None, - position_update_callback=None, init_success_callback=None, **kwargs): - """initialize trade object.""" - kwargs["strategy"] = strategy - kwargs["platform"] = platform - kwargs["symbol"] = symbol - kwargs["host"] = host - kwargs["wss"] = wss - kwargs["account"] = account - kwargs["access_key"] = access_key - kwargs["secret_key"] = secret_key - kwargs["asset_update_callback"] = asset_update_callback - kwargs["order_update_callback"] = self._on_order_update_callback - kwargs["position_update_callback"] = self._on_position_update_callback - kwargs["init_success_callback"] = self._on_init_success_callback - - self._raw_params = copy.copy(kwargs) - self._order_update_callback = order_update_callback - self._position_update_callback = position_update_callback - self._init_success_callback = init_success_callback - - if platform == const.HUOBI_SWAP: - from alpha.platforms.huobi_coin_swap.websocket.huobi_swap_trade import HuobiSwapTrade as T - elif platform == const.HUOBI_FUTURE: - from alpha.platforms.huobi_coin_future.websocket.huobi_future_trade import HuobiFutureTrade as T - elif platform == const.HUOBI_OPTION: - from alpha.platforms.huobi_option.huobi_option_trade import HuobiOptionTrade as T - elif platform == const.HUOBI_USDT_SWAP: - from alpha.platforms.huobi_usdt_swap.websocket.huobi_usdt_swap_trade import HuobiUsdtSwapTrade as T - elif platform == const.HUOBI_USDT_SWAP_CROSS: - from alpha.platforms.huobi_usdt_swap.websocket.huobi_usdt_swap_cross_trade import HuobiUsdtSwapCrossTrade as T - else: - logger.error("platform error:", platform, caller=self) - e = Error("platform error") - SingleTask.run(self._init_success_callback, False, e) - return - kwargs.pop("platform") - self._t = T(**kwargs) - - @property - def assets(self): - return self._t.assets - - @property - def orders(self): - return self._t.orders - - @property - def position(self): - return self._t.position - - @property - def rest_api(self): - return self._t.rest_api - - async def create_order(self, action, price, quantity, order_type=ORDER_TYPE_LIMIT, **kwargs): - """ Create an order. - - Args: - action: Trade direction, `BUY` or `SELL`. - price: Price of each contract. - quantity: The buying or selling quantity. - order_type: Specific type of order, `LIMIT` or `MARKET`. (default is `LIMIT`) - - Returns: - order_no: Order ID if created successfully, otherwise it's None. - error: Error information, otherwise it's None. - """ - order_no, error = await self._t.create_order(action, price, quantity, order_type, **kwargs) - return order_no, error - - async def create_orders(self, orders_data, **kwargs): - """ Create batch order - - Returns: - orders_no: - error: error information. - """ - order_nos, error = await self._t.create_orders(orders_data, **kwargs) - return order_nos, error - - - async def revoke_order(self, *order_nos): - """ Revoke (an) order(s). - - Args: - order_nos: Order id list, you can set this param to 0 or multiple items. If you set 0 param, you can cancel - all orders for this symbol(initialized in Trade object). If you set 1 param, you can cancel an order. - If you set multiple param, you can cancel multiple orders. Do not set param length more than 100. - - Returns: - success: If execute successfully, return success information, otherwise it's None. - error: If execute failed, return error information, otherwise it's None. - """ - success, error = await self._t.revoke_order(*order_nos) - return success, error - - async def get_open_order_nos(self): - """ Get open order id list. - - Args: - None. - - Returns: - order_nos: Open order id list, otherwise it's None. - error: Error information, otherwise it's None. - """ - result, error = await self._t.get_open_order_nos() - return result, error - - async def _on_order_update_callback(self, order: Order): - """ Order information update callback. - - Args: - order: Order object. - """ - if self._order_update_callback: - SingleTask.run(self._order_update_callback, order) - - async def _on_position_update_callback(self, position: Position): - """ Position information update callback. - - Args: - position: Position object. - """ - if self._position_update_callback: - SingleTask.run(self._position_update_callback, position) - - async def _on_init_success_callback(self, success: bool, error: Error): - """ Callback function when initialize Trade module finished. - - Args: - success: `True` if initialize Trade module success, otherwise `False`. - error: `Error object` if initialize Trade module failed, otherwise `None`. - """ - if self._init_success_callback: - params = { - "strategy": self._raw_params["strategy"], - "platform": self._raw_params["platform"], - "symbol": self._raw_params["symbol"], - "account": self._raw_params["account"] - } - await self._init_success_callback(success, error, **params) diff --git a/alpha/utils/__init__.py b/alpha/utils/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/alpha/utils/decorator.py b/alpha/utils/decorator.py deleted file mode 100644 index bbe2cd4..0000000 --- a/alpha/utils/decorator.py +++ /dev/null @@ -1,128 +0,0 @@ -# -*- coding:utf-8 -*- - -""" -Decorator. - -Author: Qiaoxiaofeng -Date: 2020/10/20 -Email: andyjoe318@gmail.com -""" - -import asyncio -import functools -import time - - -# Coroutine lockers. e.g. {"locker_name": locker} -METHOD_LOCKERS = {} - - -def async_method_locker(name, wait=True): - """ In order to share memory between any asynchronous coroutine methods, we should use locker to lock our method, - so that we can avoid some un-prediction actions. - - Args: - name: Locker name. - wait: If waiting to be executed when the locker is locked? if True, waiting until to be executed, else return - immediately (do not execute). - - NOTE: - This decorator must to be used on `async method`. - """ - assert isinstance(name, str) - - def decorating_function(method): - global METHOD_LOCKERS - locker = METHOD_LOCKERS.get(name) - if not locker: - locker = asyncio.Lock() - METHOD_LOCKERS[name] = locker - - @functools.wraps(method) - async def wrapper(*args, **kwargs): - if not wait and locker.locked(): - return - try: - await locker.acquire() - return await method(*args, **kwargs) - finally: - locker.release() - return wrapper - return decorating_function - - -# class Test: -# -# @async_method_locker('my_fucker', False) -# async def test(self, x): -# print('hahaha ...', x) -# await asyncio.sleep(0.1) -# -# -# t = Test() -# for i in range(10): -# asyncio.get_event_loop().create_task(t.test(i)) -# -# asyncio.get_event_loop().run_forever() - -""" -在函数执行出现异常时自动重试的简单装饰器 -""" -class StopRetry(Exception): - - def __repr__(self): - return 'retry stop' - - -def retry(max_retries: int =5, delay: (float) =0, step: (float) =0, - exceptions: (BaseException, tuple, list) =BaseException, - sleep=time.sleep, callback=None, validate=None): - """ - 函数执行出现异常时自动重试的简单装饰器。 - :param max_retries: 最多重试次数。 - :param delay: 每次重试的延迟,单位秒。 - :param step: 每次重试后延迟递增,单位秒。 - :param exceptions: 触发重试的异常类型,单个异常直接传入异常类型,多个异常以tuple或list传入。 - :param sleep: 实现延迟的方法,默认为time.sleep。 - 在一些异步框架,如tornado中,使用time.sleep会导致阻塞,可以传入自定义的方法来实现延迟。 - 自定义方法函数签名应与time.sleep相同,接收一个参数,为延迟执行的时间。 - :param callback: 回调函数,函数签名应接收一个参数,每次出现异常时,会将异常对象传入。 - 可用于记录异常日志,中断重试等。 - 如回调函数正常执行,并返回True,则表示告知重试装饰器异常已经处理,重试装饰器终止重试,并且不会抛出任何异常。 - 如回调函数正常执行,没有返回值或返回除True以外的结果,则继续重试。 - 如回调函数抛出异常,则终止重试,并将回调函数的异常抛出。 - :param validate: 验证函数,用于验证执行结果,并确认是否继续重试。 - 函数签名应接收一个参数,每次被装饰的函数完成且未抛出任何异常时,调用验证函数,将执行的结果传入。 - 如验证函数正常执行,且返回False,则继续重试,即使被装饰的函数完成且未抛出任何异常。 - 如回调函数正常执行,没有返回值或返回除False以外的结果,则终止重试,并将函数执行结果返回。 - 如验证函数抛出异常,且异常属于被重试装饰器捕获的类型,则继续重试。 - 如验证函数抛出异常,且异常不属于被重试装饰器捕获的类型,则将验证函数的异常抛出。 - :return: 被装饰函数的执行结果。 - """ - def wrapper(func): - @functools.wraps(func) - async def _wrapper(*args, **kwargs): - nonlocal delay, step, max_retries - func_ex = StopRetry - while max_retries > 0: - try: - success, error = await func(*args, **kwargs) - # 验证函数返回False时,表示告知装饰器验证不通过,继续重试 - if callable(validate) and validate(error) is False: - continue - else: - return success, error - except exceptions as ex: - func_ex = ex - # 回调函数返回True时,表示告知装饰器异常已经处理,终止重试 - if callable(callback) and callback(ex) is True: - return - finally: - max_retries -= 1 - if delay > 0 or step > 0: - sleep(delay) - delay += step - else: - raise func_ex - return _wrapper - return wrapper diff --git a/alpha/utils/dingding.py b/alpha/utils/dingding.py deleted file mode 100644 index ddfd5da..0000000 --- a/alpha/utils/dingding.py +++ /dev/null @@ -1,67 +0,0 @@ -# -*- coding:utf-8 -*- - -""" -DingTalk Bot API. -https://open-doc.dingtalk.com/microapp/serverapi2/qf2nxq - -""" - -from alpha.utils.request import AsyncHttpRequests - - -class DingTalk: - """ DingTalk Bot API. - """ - BASE_URL = "https://oapi.dingtalk.com/robot/send?access_token=" - - @classmethod - async def send_text_msg(cls, access_token, content, phones=None, is_at_all=False): - """ Send text message. - - Args: - access_token: DingTalk Access Token. - content: Message content to be sent. - phones: Phone numbers to be @. - is_at_all: Is @ all members? default is False. - """ - body = { - "msgtype": "text", - "text": { - "content": content - } - } - if is_at_all: - body["at"] = {"isAtAll": True} - if phones: - assert isinstance(phones, list) - body["at"] = {"atMobiles": phones} - url = cls.BASE_URL + access_token - headers = {"Content-Type": "application/json"} - await AsyncHttpRequests.post(url, data=body, headers=headers) - - @classmethod - async def send_markdown_msg(cls, access_token, title, text, phones=None, is_at_all=False): - """ Send markdown message. - - Args: - access_token: DingTalk Access Token. - title: Message title. - text: Message content to be sent. - phones: Phone numbers to be @. - is_at_all: Is @ all members? default is False. - """ - body = { - "msgtype": "markdown", - "markdown": { - "title": title, - "text": text - } - } - if is_at_all: - body["at"] = {"isAtAll": True} - if phones: - assert isinstance(phones, list) - body["at"] = {"atMobiles": phones} - url = cls.BASE_URL + access_token - headers = {"Content-Type": "application/json"} - await AsyncHttpRequests.post(url, data=body, headers=headers) diff --git a/alpha/utils/http_utils.py b/alpha/utils/http_utils.py deleted file mode 100644 index 4727328..0000000 --- a/alpha/utils/http_utils.py +++ /dev/null @@ -1,43 +0,0 @@ -import requests -from urllib import parse -from alpha.platforms.logger import * -import json -from datetime import datetime -import hmac -import base64 -from hashlib import sha256 - -def get(host:str, path:str, params:dict = None)->json: - try: - url = 'https://{}{}'.format(host, path) - headers = {'Content-type':'application/x-www-form-urlencoded'} - res = requests.get(url, params=params, headers = headers) - data = res.json() - return data - except Exception as e: - logger.error(e) - return None - - -def get_url_suffix(method:str, access_key:str, secret_key:str, host:str, path:str)->str: - timestamp = datetime.utcnow().strftime('%Y-%m-%dT%H:%M:%S') - timestamp = parse.quote(timestamp) - suffix = 'AccessKeyId={}&SignatureMethod=HmacSHA256&SignatureVersion=2&Timestamp={}'.format(access_key, timestamp) - payload = '{}\n{}\n{}\n{}'.format(method.upper(), host, path, suffix) - - digest = hmac.new(secret_key.encode('utf8'), payload.encode('utf8'), digestmod=sha256).digest() - signature = base64.b64encode(digest).decode() - - suffix = '{}&Signature={}'.format(suffix, parse.quote(signature)) - return suffix - -def post(access_key:str, secret_key:str, host:str, path:str, data:dict = None)->json: - try: - url = 'https://{}{}?{}'.format(host, path, get_url_suffix('post', access_key, secret_key, host, path)) - headers = {'Accept':'application/json', 'Content-type':'application/json'} - res = requests.post(url, json=data, headers = headers) - data = res.json() - return data - except Exception as e: - logger.error(e) - return None \ No newline at end of file diff --git a/alpha/utils/logger.py b/alpha/utils/logger.py deleted file mode 100644 index f0a1430..0000000 --- a/alpha/utils/logger.py +++ /dev/null @@ -1,123 +0,0 @@ -# -*- coding:utf-8 -*- - -""" -日志打印 - -Author: HuangTao -Date: 2018/04/08 -Update: 2018/07/16 1. 初始化日志增加参数 clear 和 backup_count; - 2018/07/19 1. 修复日志初始化的时候,clear设置为Ture,但文件不存在的异常; -""" - -import os -import sys -import shutil -import logging -import traceback -from logging.handlers import TimedRotatingFileHandler - -initialized = False - - -def initLogger(log_level="DEBUG", log_path=None, logfile_name=None, clear=False, backup_count=0): - """ 初始化日志输出 - @param log_level 日志级别 DEBUG/INFO - @param log_path 日志输出路径 - @param logfile_name 日志文件名 - @param clear 初始化的时候,是否清理之前的日志文件 - @param backup_count 保存按天分割的日志文件个数,默认0为永久保存所有日志文件 - """ - logger = logging.getLogger() - logger.setLevel(log_level) - if logfile_name: - if clear and os.path.isdir(log_path): - shutil.rmtree(log_path) - if not os.path.isdir(log_path): - os.makedirs(log_path) - logfile = os.path.join(log_path, logfile_name) - handler = TimedRotatingFileHandler(logfile, "midnight", backupCount=backup_count) - print("init logger ...", logfile) - else: - print("init logger ...") - handler = logging.StreamHandler() - fmt_str = "%(levelname)1.1s [%(asctime)s] %(message)s" - fmt = logging.Formatter(fmt=fmt_str, datefmt=None) - handler.setFormatter(fmt) - logger.addHandler(handler) - - -def info(*args, **kwargs): - func_name, kwargs = _log_msg_header(*args, **kwargs) - logging.info(_log(func_name, *args, **kwargs)) - - -def warn(*args, **kwargs): - msg_header, kwargs = _log_msg_header(*args, **kwargs) - logging.warning(_log(msg_header, *args, **kwargs)) - - -def debug(*args, **kwargs): - msg_header, kwargs = _log_msg_header(*args, **kwargs) - logging.debug(_log(msg_header, *args, **kwargs)) - - -def error(*args, **kwargs): - logging.error("*" * 60) - msg_header, kwargs = _log_msg_header(*args, **kwargs) - logging.error(_log(msg_header, *args, **kwargs)) - logging.error("*" * 60) - - -def exception(*args, **kwargs): - logging.error("*" * 60) - msg_header, kwargs = _log_msg_header(*args, **kwargs) - logging.error(_log(msg_header, *args, **kwargs)) - # exc_info = sys.exc_info() - # traceback.print_exception(*exc_info) - logging.error(traceback.format_exc()) - logging.error("*" * 60) - - -def _log(msg_header, *args, **kwargs): - _log_msg = msg_header - for l in args: - if type(l) == tuple: - ps = str(l) - else: - try: - ps = "%r" % l - except: - ps = str(l) - if type(l) == str: - _log_msg += ps[1:-1] + " " - else: - _log_msg += ps + " " - if len(kwargs) > 0: - _log_msg += str(kwargs) - return _log_msg - -def _log_msg_header(*args, **kwargs): - """ 打印日志的message头 - @param kwargs["caller"] 调用的方法所属类对象 - * NOTE: logger.xxx(... caller=self) for instance method - logger.xxx(... caller=cls) for @classmethod - """ - cls_name = "" - func_name = "" - #exec("func_name = sys._getframe().f_back.f_back.f_code.co_name") - session_id = "-" - try: - _caller = kwargs.get("caller", None) - if _caller: - if not hasattr(_caller, "__name__"): - _caller = _caller.__class__ - cls_name = _caller.__name__ - del kwargs["caller"] - except: - pass - finally: - #msg_header = "[{session_id}] [{cls_name}.{func_name}] ".format(cls_name=cls_name, func_name=func_name, - # session_id=session_id) - msg_header = "[{session_id}] [{cls_name}] ".format(cls_name=cls_name, - session_id=session_id) - return msg_header, kwargs diff --git a/alpha/utils/mongo.py b/alpha/utils/mongo.py deleted file mode 100644 index 8c2a26f..0000000 --- a/alpha/utils/mongo.py +++ /dev/null @@ -1,339 +0,0 @@ -# -*- coding:utf-8 -*- - -""" -Mongodb async API client. -https://docs.mongodb.org/manual/ - -Author: HuangTao -Date: 2018/04/28 -Email: huangtao@ifclover.com -""" - -import copy -import datetime - -import motor.motor_asyncio -from bson.objectid import ObjectId -from urllib.parse import quote_plus - -from alpha.utils import tools -from alpha.utils import logger - - -__all__ = ("initMongodb", "MongoDBBase", ) - - -MONGO_CONN = None -DELETE_FLAG = "delete" # Delete flag, `True` is deleted, otherwise is not deleted. - - -def initMongodb(host="127.0.0.1", port=27017, username="", password="", dbname="admin"): - """ Initialize a connection pool for MongoDB. - - Args: - host: Host for MongoDB server. - port: Port for MongoDB server. - username: Username for MongoDB server. - password: Username for MongoDB server. - dbname: DB name to connect for, default is `admin`. - """ - if username and password: - uri = "mongodb://{username}:{password}@{host}:{port}/{dbname}".format(username=quote_plus(username), - password=quote_plus(password), - host=quote_plus(host), - port=port, - dbname=dbname) - else: - uri = "mongodb://{host}:{port}/{dbname}".format(host=host, port=port, dbname=dbname) - mongo_client = motor.motor_asyncio.AsyncIOMotorClient(uri) - global MONGO_CONN - MONGO_CONN = mongo_client - logger.info("create mongodb connection pool.") - - -class MongoDBBase(object): - """ Create a MongoDB connection cursor. - - Args: - db: DB name. - collection: Collection name. - """ - - def __init__(self, db, collection): - """ Initialize. """ - self._db = db - self._collection = collection - self._conn = MONGO_CONN - self._cursor = self._conn[db][collection] - - def new_cursor(self, db, collection): - """ Generate a new cursor. - - Args: - db: New db name. - collection: New collection name. - - Return: - cursor: New cursor. - """ - cursor = self._conn[db][collection] - return cursor - - async def get_list(self, spec=None, fields=None, sort=None, skip=0, limit=9999, cursor=None): - """ Get multiple document list. - - Args: - spec: Query params, optional. Specifies selection filter using query operators. - To return all documents in a collection, omit this parameter or pass an empty document ({}). - fields: projection params, optional. Specifies the fields to return in the documents that match the query - filter. To return all fields in the matching documents, omit this parameter. - sort: A Set() document that defines the sort order of the result set. e.g. [("age": 1), ("name": -1)] - skip: The cursor start point, default is 0. - limit: The max documents to return, default is 9999. - cursor: Query cursor, default is `self._cursor`. - - Return: - datas: Documents. - - NOTE: - MUST input `limit` params, because pymongo maybe change the return documents's count. - """ - if not spec: - spec = {} - if not sort: - sort = [] - if not cursor: - cursor = self._cursor - if "_id" in spec: - spec["_id"] = self._convert_id_object(spec["_id"]) - spec[DELETE_FLAG] = {"$ne": True} - datas = [] - result = cursor.find(spec, fields, sort=sort, skip=skip, limit=limit) - async for item in result: - item["_id"] = str(item["_id"]) - datas.append(item) - return datas - - async def find_one(self, spec=None, fields=None, sort=None, cursor=None): - """ Get one document. - - Args: - spec: Query params, optional. Specifies selection filter using query operators. - To return all documents in a collection, omit this parameter or pass an empty document ({}). - fields: projection params, optional. Specifies the fields to return in the documents that match the query - filter. To return all fields in the matching documents, omit this parameter. - sort: A Set() document that defines the sort order of the result set. e.g. [("age": 1), ("name": -1)] - cursor: Query cursor, default is `self._cursor`. - - Return: - data: Document or None. - """ - data = await self.get_list(spec, fields, sort, limit=1, cursor=cursor) - if data: - return data[0] - else: - return None - - async def count(self, spec=None, cursor=None): - """ Counts the number of documents referenced by a cursor. - - Args: - spec: Query params, optional. Specifies selection filter using query operators. - To return all documents in a collection, omit this parameter or pass an empty document ({}). - cursor: Query cursor, default is `self._cursor`. - - Return: - n: Count for query document. - - """ - if not cursor: - cursor = self._cursor - if not spec: - spec = {} - spec[DELETE_FLAG] = {"$ne": True} - n = await cursor.count_documents(spec) - return n - - async def insert(self, docs, cursor=None): - """ Insert (a) document(s). - - Args: - docs: Dict or List to be inserted. - cursor: DB cursor, default is `self._cursor`. - - Return: - ret_ids: Document id(s) that already inserted, if insert a dict, `ret_ids` is a id string; if insert a list, - `ret_ids` is a id list. - """ - if not cursor: - cursor = self._cursor - docs_data = copy.deepcopy(docs) - ret_ids = [] - is_one = False - create_time = datetime.datetime.utcnow() - if not isinstance(docs_data, list): - docs_data = [docs_data] - is_one = True - for doc in docs_data: - doc["_id"] = ObjectId() - doc["create_time"] = create_time - doc["update_time"] = create_time - ret_ids.append(str(doc["_id"])) - cursor.insert_many(docs_data) - if is_one: - return ret_ids[0] - else: - return ret_ids - - async def update(self, spec, update_fields, upsert=False, multi=False, cursor=None): - """ Update (a) document(s). - - Args: - spec: Query params, optional. Specifies selection filter using query operators. - To return all documents in a collection, omit this parameter or pass an empty document ({}). - update_fields: Fields to be updated. - upsert: If server this document if not exist? True or False. - multi: Update multiple documents? True or False. - cursor: Query cursor, default is `self._cursor`. - - Return: - modified_count: How many documents has been modified. - """ - if not cursor: - cursor = self._cursor - update_fields = copy.deepcopy(update_fields) - spec[DELETE_FLAG] = {"$ne": True} - if "_id" in spec: - spec["_id"] = self._convert_id_object(spec["_id"]) - set_fields = update_fields.get("$set", {}) - set_fields["update_time"] = datetime.datetime.utcnow() - update_fields["$set"] = set_fields - if not multi: - result = await cursor.update_one(spec, update_fields, upsert=upsert) - return result.modified_count - else: - result = await cursor.update_many(spec, update_fields, upsert=upsert) - return result.modified_count - - async def delete(self, spec, cursor=None): - """ Soft delete (a) document(s). - - Args: - spec: Query params. Specifies selection filter using query operators. - cursor: Query cursor, default is `self._cursor`. - - Return: - delete_count: How many documents has been deleted. - """ - if not cursor: - cursor = self._cursor - spec[DELETE_FLAG] = {"$ne": True} - if "_id" in spec: - spec["_id"] = self._convert_id_object(spec["_id"]) - update_fields = {"$set": {DELETE_FLAG: True}} - delete_count = await self.update(spec, update_fields, multi=True, cursor=cursor) - return delete_count - - async def remove(self, spec, multi=False, cursor=None): - """ delete (a) document(s) perpetually. - - Args: - spec: Query params. Specifies selection filter using query operators. - multi: Delete multiple documents? True or False. - cursor: Query cursor, default is `self._cursor`. - - Return: - delete_count: How many documents has been deleted. - """ - if not cursor: - cursor = self._cursor - if not multi: - result = await cursor.delete_one(spec) - return result.deleted_count - else: - result = await cursor.delete_many(spec) - return result.deleted_count - - async def distinct(self, key, spec=None, cursor=None): - """ Distinct query. - - Args: - key: Distinct key. - spec: Query params, optional. Specifies selection filter using query operators. - To return all documents in a collection, omit this parameter or pass an empty document ({}). - cursor: Query cursor, default is `self._cursor`. - - Return: - result: Distinct result. - """ - if not spec: - spec = {} - if not cursor: - cursor = self._cursor - spec[DELETE_FLAG] = {"$ne": True} - if "_id" in spec: - spec["_id"] = self._convert_id_object(spec["_id"]) - result = await cursor.distinct(key, spec) - return result - - async def find_one_and_update(self, spec, update_fields, upsert=False, return_document=False, fields=None, - cursor=None): - """ Find a document and update this document. - - Args: - spec: Query params. - update_fields: Fields to be updated. - upsert: If server this document if not exist? True or False. - return_document: If return new document? `True` return new document, False return old document. - fields: The fields to be return. - cursor: Query cursor, default is `self._cursor`. - - Return: - result: Document. - """ - if not cursor: - cursor = self._cursor - spec[DELETE_FLAG] = {"$ne": True} - if "_id" in spec: - spec["_id"] = self._convert_id_object(spec["_id"]) - set_fields = update_fields.get("$set", {}) - set_fields["update_time"] = datetime.datetime.utcnow() - update_fields["$set"] = set_fields - result = await cursor.find_one_and_update(spec, update_fields, projection=fields, upsert=upsert, - return_document=return_document) - if result and "_id" in result: - result["_id"] = str(result["_id"]) - return result - - async def find_one_and_delete(self, spec, fields=None, cursor=None): - """ Find a document and soft-delete this document. - - Args: - spec: Query params. - fields: The fields to be return. - cursor: Query cursor, default is `self._cursor`. - - Return: - result: Document. - """ - if not cursor: - cursor = self._cursor - spec[DELETE_FLAG] = {"$ne": True} - if "_id" in spec: - spec["_id"] = self._convert_id_object(spec["_id"]) - result = await cursor.find_one_and_delete(spec, projection=fields) - if result and "_id" in result: - result["_id"] = str(result["_id"]) - return result - - def _convert_id_object(self, origin): - """ Convert a string id to `ObjectId`. - """ - if isinstance(origin, str): - return ObjectId(origin) - elif isinstance(origin, (list, set)): - return [ObjectId(item) for item in origin] - elif isinstance(origin, dict): - for key, value in origin.items(): - origin[key] = self._convert_id_object(value) - return origin diff --git a/alpha/utils/request.py b/alpha/utils/request.py deleted file mode 100644 index 5196d95..0000000 --- a/alpha/utils/request.py +++ /dev/null @@ -1,122 +0,0 @@ -# -*- coding:utf-8 -*- - -import json -import aiohttp -from urllib.parse import urlparse - -from alpha.utils import logger -from alpha.config import config - - -class AsyncHttpRequests(object): - """ Asynchronous HTTP Request Client. - """ - - # Every domain name holds a connection session, for less system resource utilization and faster request speed. - _SESSIONS = {} # {"domain-name": session, ... } - - @classmethod - async def fetch(cls, method, url, params=None, body=None, data=None, headers=None, timeout=30, **kwargs): - """ Create a HTTP request. - - Args: - method: HTTP request method. (GET/POST/PUT/DELETE) - url: Request url. - params: HTTP query params. - body: HTTP request body, string or bytes format. - data: HTTP request body, dict format. - headers: HTTP request header. - timeout: HTTP request timeout(seconds), default is 30s. - - kwargs: - proxy: HTTP proxy. - - Return: - code: HTTP response code. - success: HTTP response data. If something wrong, this field is None. - error: If something wrong, this field will holding a Error information, otherwise it's None. - - Raises: - HTTP request exceptions or response data parse exceptions. All the exceptions will be captured and return - Error information. - """ - session = cls._get_session(url) - if not kwargs.get("proxy"): - kwargs["proxy"] = config.proxy - try: - if method == "GET": - response = await session.get(url, params=params, headers=headers, timeout=timeout, **kwargs) - elif method == "POST": - response = await session.post(url, params=params, data=body, json=data, headers=headers, - timeout=timeout, **kwargs) - elif method == "PUT": - response = await session.put(url, params=params, data=body, json=data, headers=headers, - timeout=timeout, **kwargs) - elif method == "DELETE": - response = await session.delete(url, params=params, data=body, json=data, headers=headers, - timeout=timeout, **kwargs) - else: - error = "http method error!" - return None, None, error - except Exception as e: - logger.error("method:", method, "url:", url, "headers:", headers, "params:", params, "body:", body, - "data:", data, "Error:", e, caller=cls) - return None, None, e - code = response.status - if code not in (200, 201, 202, 203, 204, 205, 206): - text = await response.text() - logger.error("method:", method, "url:", url, "headers:", headers, "params:", params, "body:", body, - "data:", data, "code:", code, "result:", text, caller=cls) - return code, None, text - try: - result = await response.json() - except: - result = await response.text() - logger.debug("method:", method, "url:", url, "headers:", headers, "params:", params, "body:", body, - "data:", data, "code:", code, "result:", json.dumps(result), caller=cls) - return code, result, None - - @classmethod - async def get(cls, url, params=None, body=None, data=None, headers=None, timeout=30, **kwargs): - """ HTTP GET - """ - result = await cls.fetch("GET", url, params, body, data, headers, timeout, **kwargs) - return result - - @classmethod - async def post(cls, url, params=None, body=None, data=None, headers=None, timeout=30, **kwargs): - """ HTTP POST - """ - result = await cls.fetch("POST", url, params, body, data, headers, timeout, **kwargs) - return result - - @classmethod - async def delete(cls, url, params=None, body=None, data=None, headers=None, timeout=30, **kwargs): - """ HTTP DELETE - """ - result = await cls.fetch("DELETE", url, params, body, data, headers, timeout, **kwargs) - return result - - @classmethod - async def put(cls, url, params=None, body=None, data=None, headers=None, timeout=30, **kwargs): - """ HTTP PUT - """ - result = await cls.fetch("PUT", url, params, body, data, headers, timeout, **kwargs) - return result - - @classmethod - def _get_session(cls, url): - """ Get the connection session for url's domain, if no session, create a new. - - Args: - url: HTTP request url. - - Returns: - session: HTTP request session. - """ - parsed_url = urlparse(url) - key = parsed_url.netloc or parsed_url.hostname - if key not in cls._SESSIONS: - session = aiohttp.ClientSession() - cls._SESSIONS[key] = session - return cls._SESSIONS[key] diff --git a/alpha/utils/tools.py b/alpha/utils/tools.py deleted file mode 100644 index a36293c..0000000 --- a/alpha/utils/tools.py +++ /dev/null @@ -1,167 +0,0 @@ -# -*- coding:utf-8 -*- - -""" -工具包 - -Author: QiaoXiaofeng -Date: 2018/04/28 -Update: 2018/09/07 1. 增加函数datetime_to_timestamp; - 2019/09/18 2. 增加函数来处理浮点数截取不四舍五入noround_float -""" - -import uuid -import time -import decimal -import datetime - - -def get_cur_timestamp(): - """ 获取当前时间戳 - """ - ts = int(time.time()) - return ts - - -def get_cur_timestamp_ms(): - """ 获取当前时间戳(毫秒) - """ - ts = int(time.time() * 1000) - return ts - - -def get_cur_datetime_m(fmt='%Y%m%d%H%M%S%f'): - """ 获取当前日期时间字符串,包含 年 + 月 + 日 + 时 + 分 + 秒 + 毫秒 - """ - today = datetime.datetime.today() - str_m = today.strftime(fmt) - return str_m - -def date_str_to_dt(date_str=None, fmt='%Y%m%d', delta_day=0): - """ 日期字符串转换到datetime对象 - @param date_str 日期字符串 - @param fmt 日期字符串格式 - @param delta_day 相对天数,<0减相对天数,>0加相对天数 - """ - if not date_str: - dt = datetime.datetime.today() - else: - dt = datetime.datetime.strptime(date_str, fmt) - if delta_day: - dt += datetime.timedelta(days=delta_day) - return dt - - -def dt_to_date_str(dt=None, fmt='%Y%m%d', delta_day=0): - """ datetime对象转换到日期字符串 - @param dt datetime对象 - @param fmt 返回的日期字符串格式 - @param delta_day 相对天数,<0减相对天数,>0加相对天数 - """ - if not dt: - dt = datetime.datetime.today() - if delta_day: - dt += datetime.timedelta(days=delta_day) - str_d = dt.strftime(fmt) - return str_d - -def ts_to_datetime_str(ts=None, fmt='%Y-%m-%d %H:%M:%S'): - """ 将时间戳转换为日期时间格式,年-月-日 时:分:秒 - @param ts 时间戳,默认None即为当前时间戳 - @param fmt 返回的日期字符串格式 - """ - if not ts: - ts = get_cur_timestamp() - dt = datetime.datetime.fromtimestamp(int(ts)) - return dt.strftime(fmt) - - -def datetime_str_to_ts(dt_str, fmt='%Y-%m-%d %H:%M:%S'): - """ 将日期时间格式字符串转换成时间戳 - @param dt_str 日期时间字符串 - @param fmt 日期时间字符串格式 - """ - ts = int(time.mktime(datetime.datetime.strptime(dt_str, fmt).timetuple())) - return ts - - -def datetime_to_timestamp(dt=None, tzinfo=None): - """ 将datetime对象转换成时间戳 - @param dt datetime对象,如果为None,默认使用当前UTC时间 - @param tzinfo 时区对象,如果为None,默认使用timezone.utc - @return ts 时间戳(秒) - """ - if not dt: - dt = get_utc_time() - if not tzinfo: - tzinfo = datetime.timezone.utc - ts = int(dt.replace(tzinfo=tzinfo).timestamp()) - return ts - -def utctime_str_to_mts(utctime_str, fmt="%Y-%m-%dT%H:%M:%S.%fZ"): - """ 将UTC日期时间格式字符串转换成时间戳(毫秒) - @param utctime_str 日期时间字符串 eg: 2019-03-04T09:14:27.806Z - @param fmt 日期时间字符串格式 - @return timestamp 时间戳(毫秒) - """ - dt = datetime.datetime.strptime(utctime_str, fmt) - timestamp = int(dt.replace(tzinfo=datetime.timezone.utc).astimezone(tz=None).timestamp() * 1000) - return timestamp - - -def get_uuid1(): - """ make a UUID based on the host ID and current time - """ - s = uuid.uuid1() - return str(s) - - -def get_uuid3(str_in): - """ make a UUID using an MD5 hash of a namespace UUID and a name - @param str_in 输入字符串 - """ - s = uuid.uuid3(uuid.NAMESPACE_DNS, str_in) - return str(s) - - -def get_uuid4(): - """ make a random UUID - """ - s = uuid.uuid4() - return str(s) - - -def get_uuid5(str_in): - """ make a UUID using a SHA-1 hash of a namespace UUID and a name - @param str_in 输入字符串 - """ - s = uuid.uuid5(uuid.NAMESPACE_DNS, str_in) - return str(s) - - -def float_to_str(f, p=20): - """ Convert the given float to a string, without resorting to scientific notation. - @param f 浮点数参数 - @param p 精读 - """ - if type(f) == str: - f = float(f) - ctx = decimal.Context(p) - d1 = ctx.create_decimal(repr(f)) - return format(d1, 'f') - -def noround_float(f, n): - """ Get the given n digit float to the string, without rounding up or rounding down. - """ - f_str = str(f) - a, b, c = f_str.partition('.') - c = (c+"0"*n)[:n] - return ".".join([a, c]) - -def decimal_digit(digit): - """ Get the Decimal n digit present for Decimal. - """ - f_str = '0.' - for i in range(digit): - f_str += '0' - return f_str - diff --git a/alpha/utils/websocket.py b/alpha/utils/websocket.py deleted file mode 100644 index 4e0c693..0000000 --- a/alpha/utils/websocket.py +++ /dev/null @@ -1,147 +0,0 @@ -# -*— coding:utf-8 -*- - -""" -websocket接口封装 - -Author: QiaoXiaofeng -Date: 2020/01/08 -History: 1.fix method locker bug when ws is disconnected. -""" - -import json -import time -import traceback -import aiohttp -import asyncio - -from alpha.const import * -from alpha.utils import logger -from alpha.config import config -from alpha.heartbeat import heartbeat - -from alpha.utils.decorator import METHOD_LOCKERS - - -class Websocket: - """ websocket接口封装 - """ - - def __init__(self, url, check_conn_interval=10, send_hb_interval=10): - """ 初始化 - @param url 建立websocket的地址 - @param check_conn_interval 检查websocket连接时间间隔 - @param send_hb_interval 发送心跳时间间隔,如果是0就不发送心跳消息 - """ - self._url = url - self._check_conn_interval = check_conn_interval - self._send_hb_interval = send_hb_interval - self.ws = None # websocket连接对象 - self.heartbeat_msg = None # 心跳消息 - - def initialize(self): - """ 初始化 - """ - # 注册服务 检查连接是否正常 - heartbeat.register(self._check_connection, self._check_conn_interval) - # 注册服务 发送心跳 - if self._send_hb_interval > 0: - heartbeat.register(self._send_heartbeat_msg, self._send_hb_interval) - # 建立websocket连接 - asyncio.get_event_loop().create_task(self._connect()) - - async def _connect(self): - logger.info("url:", self._url, caller=self) - METHOD_LOCKERS = {} - proxy = config.proxy - session = aiohttp.ClientSession() - try: - self.ws = await session.ws_connect(self._url, proxy=proxy) - except aiohttp.client_exceptions.ClientConnectorError: - logger.error("connect to server error! url:", self._url, caller=self) - return - asyncio.get_event_loop().create_task(self.connected_callback()) - asyncio.get_event_loop().create_task(self.receive()) - - async def _reconnect(self): - """ 重新建立websocket连接 - """ - logger.warn("reconnecting websocket right now!", caller=self) - await self._connect() - - async def connected_callback(self): - """ 连接建立成功的回调函数 - * NOTE: 子类继承实现 - """ - pass - - async def receive(self): - """ 接收消息 - """ - async for msg in self.ws: - if msg.type == aiohttp.WSMsgType.TEXT: - try: - data = json.loads(msg.data) - except: - data = msg.data - await asyncio.get_event_loop().create_task(self.process(data)) - elif msg.type == aiohttp.WSMsgType.BINARY: - await asyncio.get_event_loop().create_task(self.process_binary(msg.data)) - elif msg.type == aiohttp.WSMsgType.CLOSED: - logger.warn("receive event CLOSED:", msg, caller=self) - await asyncio.get_event_loop().create_task(self._reconnect()) - elif msg.type == aiohttp.WSMsgType.CLOSE: - logger.warn("receive event CLOSE:", msg, caller=self) - await asyncio.get_event_loop().create_task(self._reconnect()) - elif msg.type == aiohttp.WSMsgType.CLOSING: - logger.warn("receive event CLOSING:", msg, caller=self) - await asyncio.get_event_loop().create_task(self._reconnect()) - elif msg.type == aiohttp.WSMsgType.ERROR: - logger.error("receive event ERROR:", msg, caller=self) - await asyncio.get_event_loop().create_task(self._reconnect()) - else: - logger.warn("unhandled msg:", msg, caller=self) - - async def process(self, msg): - """ 处理websocket上接收到的消息 text 类型 - * NOTE: 子类继承实现 - """ - raise NotImplementedError - - async def process_binary(self, msg): - """ 处理websocket上接收到的消息 binary类型 - * NOTE: 子类继承实现 - """ - raise NotImplementedError - - async def _check_connection(self, *args, **kwargs): - """ 检查连接是否正常 - """ - # 检查websocket连接是否关闭,如果关闭,那么立即重连 - if not self.ws: - logger.warn("websocket connection not connected yet!", caller=self) - return - if self.ws.closed: - await asyncio.get_event_loop().create_task(self._reconnect()) - return - - async def _send_heartbeat_msg(self, *args, **kwargs): - """ 发送心跳给服务器 - """ - if not self.ws: - logger.warn("websocket connection not connected yet!", caller=self) - return - if self.heartbeat_msg: - try: - if isinstance(self.heartbeat_msg, dict): - await self.ws.send_json(self.heartbeat_msg) - elif isinstance(self.heartbeat_msg, str): - await self.ws.send_str(self.heartbeat_msg) - else: - logger.error("send heartbeat msg failed! heartbeat msg:", self.heartbeat_msg, caller=self) - return - logger.debug("send ping message:", self.heartbeat_msg, caller=self) - except ConnectionResetError: - traceback.print_exc() - await asyncio.get_event_loop().create_task(self._reconnect()) - - diff --git a/alpha/utils/ws_utils.py b/alpha/utils/ws_utils.py deleted file mode 100644 index 19cea5c..0000000 --- a/alpha/utils/ws_utils.py +++ /dev/null @@ -1,156 +0,0 @@ -import websocket -import threading - -import gzip -import json -from datetime import datetime -from urllib import parse -import hmac -import base64 -from hashlib import sha256 -import time - -from alpha.utils import logger - - -class WsUtils: - def __init__(self, path: str, host: str = None, access_key: str = None, secret_key: str = None): - self._path = path - if host is None: - host = "api.hbdm.com" - self._host = host - url = 'wss://{}{}'.format(host, path) - logger.info(url) - self._ws = websocket.WebSocketApp(url, - on_open=self._on_open, - on_message=self._on_msg, - on_close=self._on_close, - on_error=self._on_error) - self._worker = threading.Thread(target=self._ws.run_forever) - self._worker.start() - - self._has_open = False - self._auth = True - self._access_key = access_key - self._secret_key = secret_key - if access_key is not None or secret_key is not None: - self._auth = False - - self._sub_str = None - self._sub_callback = None - self._req_callback = None - self._active_close = False - - def __del__(self): - self.close() - - def _send_auth_data(self, method: str, path: str, host: str, access_key: str, secret_key: str): - # timestamp - timestamp = datetime.utcnow().strftime("%Y-%m-%dT%H:%M:%S") - - # get Signature - suffix = 'AccessKeyId={}&SignatureMethod=HmacSHA256&SignatureVersion=2&Timestamp={}'.format( - access_key, parse.quote(timestamp)) - payload = '{}\n{}\n{}\n{}'.format(method.upper(), host, path, suffix) - - digest = hmac.new(secret_key.encode('utf8'), payload.encode( - 'utf8'), digestmod=sha256).digest() - signature = base64.b64encode(digest).decode() - - # data - data = { - "op": "auth", - "type": "api", - "AccessKeyId": access_key, - "SignatureMethod": "HmacSHA256", - "SignatureVersion": "2", - "Timestamp": timestamp, - "Signature": signature - } - data = json.dumps(data) - self._ws.send(data) - logger.debug(data) - - def _on_open(self): - logger.info('ws open.') - if self._auth == False: - self._send_auth_data('get', self._path, self._host, - self._access_key, self._secret_key) - self._has_open = True - - def _on_msg(self, message): - plain = gzip.decompress(message).decode() - jdata = json.loads(plain) - if 'ping' in jdata: - sdata = plain.replace('ping', 'pong') - self._ws.send(sdata) - elif 'op' in jdata: - opdata = jdata['op'] - if opdata == 'ping': - sdata = plain.replace('ping', 'pong') - self._ws.send(sdata) - elif opdata == 'auth': - if jdata['err-code'] == 0: - self._auth = True - logger.info(plain) - elif opdata == 'sub': - logger.info(plain) - elif opdata == 'unsub': - logger.info(plain) - elif opdata == 'notify': - if self._sub_callback is not None: - self._sub_callback(jdata) - else: - pass - elif 'subbed' in jdata: - logger.info(plain) - elif 'ch' in jdata: - if self._sub_callback is not None: - self._sub_callback(jdata) - elif 'rep' in jdata: - if self._req_callback is not None: - self._req_callback(jdata) - self._req_callback = None - else: - pass - - def _on_close(self): - logger.info("ws close.") - if not self._active_close and self._sub_str is not None: - self.sub(self._sub_str, self._sub_callback) - - def _on_error(self, error): - logger.error(error) - - def _sub(self, sub_str: str, callback): - while not self._has_open: - time.sleep(1) - - self._sub_str = sub_str - self._sub_callback = callback - self._ws.send(sub_str) - logger.debug(sub_str) - - def _unsub(self, unsub_str: str): - while not self._has_open: - time.sleep(1) - - self._sub_str = None - self._sub_callback = None - self._ws.send(unsub_str) - logger.debug(unsub_str) - - def _req(self, req_str: str, callback): - while not self._has_open: - time.sleep(1) - - self._req_callback = callback - self._ws.send(req_str) - logger.info(req_str) - - def close(self): - self._active_close = True - self._sub_str = None - self._sub_callback = None - self._req_callback = None - self._ws.close() diff --git a/docs/config/README.md b/docs/config/README.md deleted file mode 100644 index e5a84dd..0000000 --- a/docs/config/README.md +++ /dev/null @@ -1,160 +0,0 @@ - -## 配置文件 - -框架启动的时候,需要指定一个 `json` 格式的配置文件。 - -## 配置使用 -所有 `config.json` 配置文件里的 `key-value` 格式数据,都可以通过如下方式使用: -```python -from alpha.config import config - -config.name # 使用配置里的name字段 -config.abc # 使用配置里的abc字段 -``` - -## 系统配置参数 -> 所有系统配置参数均为 `大写字母` 为key; -> 所有系统配置参数均为 `可选`; - - -##### 1. LOG -日志配置。包含如下配置: - -**示例**: -```json -{ - "LOG": { - "console": false, - "level": "DEBUG", - "path": "/var/log/servers/Quant", - "name": "quant.log", - "clear": true, - "backup_count": 5 - } -} -``` - -**配置说明**: -- console `boolean` 是否打印到控制台,`true 打印到控制台` / `false 打印到文件`,可选,默认为 `true` -- level `string` 日志打印级别 `DEBUG`/ `INFO`,可选,默认为 `DEBUG` -- path `string` 日志存储路径,可选,默认为 `/var/log/servers/Quant` -- name `string` 日志文件名,可选,默认为 `quant.log` -- clear `boolean` 初始化的时候,是否清理之前的日志文件,`true 清理` / `false 不清理`,可选,默认为 `false` -- backup_count `int` 保存按天分割的日志文件个数,默认0为永久保存所有日志文件,可选,默认为 `0` - - -##### 2. HEARTBEAT -服务心跳配置。 - -**示例**: -```json -{ - "HEARTBEAT": { - "interval": 3, - "broadcast": 0 - } -} -``` - -**配置说明**: -- interval `int` 心跳打印时间间隔(秒),0为不打印 `可选,默认为0` -- broadcast `int` 心跳广播时间间隔(秒),0为不广播 `可选,默认为0` - - -##### 3. PROXY -HTTP代理配置。 -大部分交易所在国内访问都需要翻墙,所以在国内环境需要配置HTTP代理。 - -**示例**: -```json -{ - "PROXY": "http://127.0.0.1:1087" -} -``` - -**配置说明**: -- PROXY `string` http代理,解决翻墙问题 - -> 注意: 此配置为全局配置,将作用到任何HTTP请求,包括Websocket; - -##### 4. MARKET -MARKET行情配置。 - -示例: -```json -"MARKETS": [ - { - "platform": "huobi_swap", - "symbols": ["BTC-USD"], - "channels":[ - "orderbook", "kline", "trade" - ], - "orderbook_length": 10, - "orderbooks_length": 100, - "klines_length": 100, - "trades_length": 100, - "wss": "wss://api.btcgateway.pro" - - } - ] -``` -配置说明: -- platform: `string` 平台名 -- channels: `list` 订阅的频道比如orderbook, kline, trade -- symbols: `list` 订阅的交易对 -- orderbook_length: `int` 推送的orderbook的最大长度 -- orderbooks_length: `int` orderbook队列的最大长度 -- klines_length: `int` klines队列的最大长度 -- trades_length: `int` trades队列的最大长度 -- wss: `string` wss行情订阅地址 - - -##### 6. Mongodb使用 - -在config.json中加入mongodb配置 - -```json - "MONGODB": { - "host": "127.0.0.1", - "port": 27017, - "username": "root", - "password": "root" - } -``` - -使用例子: - -```python - - from alpha.utils import mongo - - async def on_event_kline_update(self, kline: Kline): - """ 订单薄更新 - """ - logger.debug("kline:", kline, caller=self) - result = await mongo.MongoDBBase('quant', 'kline').find_one_and_update({'platform': kline.platform, 'symbol': kline.symbol, \ - 'timestamp': kline.timestamp, 'kline_type': kline.kline_type}, {'$set': {'open': kline.open, 'high': kline.high, \ - 'close': kline.close, 'low': kline.low, 'volume': kline.volume, 'amount': kline.amount}}, upsert=True, return_document=True) - if not result: - logger.error("insert mongo error ", kline.platform+kline.symbol, kline, result) - logger.debug("insert mongo success: ", result) -``` - -##### 7、接入钉钉 - -```python - - from alpha.utils.dingding import DingTalk - - msg = "DingDing Alarm" - dingding_access_token = "xxxxxx" - await DingTalk.send_text_msg(dingding_access_token, msg) - -``` - - - -##### 8. 其他说明: - -- SERVER_ID `string` 策略实例标示 -- strategy `string` 策略名字 diff --git a/docs/framework.png b/docs/framework.png deleted file mode 100644 index fac4b37e2153ba5cd2cb78b020f1a7022aabca73..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 37942 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 1: - config_file = sys.argv[1] - else: - config_file = None - - from alpha.quant import quant - quant.initialize(config_file) - initialize() - quant.start() - - -if __name__ == '__main__': - main() diff --git a/examples/huobi_future/run.sh b/examples/huobi_future/run.sh deleted file mode 100644 index a051f0a..0000000 --- a/examples/huobi_future/run.sh +++ /dev/null @@ -1 +0,0 @@ -python main.py config.json \ No newline at end of file diff --git a/examples/huobi_future/strategy.py b/examples/huobi_future/strategy.py deleted file mode 100644 index 7fcdf5f..0000000 --- a/examples/huobi_future/strategy.py +++ /dev/null @@ -1,207 +0,0 @@ -# -*- coding:utf-8 -*- -""" -简单卖平策略,仅做演示使用 - -Author: Qiaoxiaofeng -Date: 2020/01/10 -Email: andyjoe318@gmail.com -""" -# 策略实现 -import time -from alpha import const -from alpha.utils import tools -from alpha.utils import logger -from alpha.config import config -from alpha.market import Market -from alpha.trade import Trade -from alpha.order import Order -from alpha.orderbook import Orderbook -from alpha.kline import Kline -from alpha.markettrade import Trade as MarketTrade -from alpha.asset import Asset -from alpha.position import Position -from alpha.error import Error -from alpha.tasks import LoopRunTask -from alpha.order import ORDER_ACTION_SELL, ORDER_ACTION_BUY, ORDER_STATUS_FAILED, ORDER_STATUS_CANCELED, ORDER_STATUS_FILLED,\ - ORDER_TYPE_LIMIT, ORDER_TYPE_MARKET - - -class MyStrategy: - - def __init__(self): - """ 初始化 - """ - self.strategy = config.strategy - self.platform = config.accounts[0]["platform"] - self.account = config.accounts[0]["account"] - self.access_key = config.accounts[0]["access_key"] - self.secret_key = config.accounts[0]["secret_key"] - self.host = config.accounts[0]["host"] - self.wss = config.accounts[0]["wss"] - self.symbol = config.symbol - self.contract_type = config.contract_type - self.channels = config.markets[0]["channels"] - self.orderbook_length = config.markets[0]["orderbook_length"] - self.orderbooks_length = config.markets[0]["orderbooks_length"] - self.klines_length = config.markets[0]["klines_length"] - self.trades_length = config.markets[0]["trades_length"] - self.market_wss = config.markets[0]["wss"] - - self.orderbook_invalid_seconds = 5 - - self.last_bid_price = 0 # 上次的买入价格 - self.last_ask_price = 0 # 上次的卖出价格 - self.last_orderbook_timestamp = 0 # 上次的orderbook时间戳 - - self.raw_symbol = self.symbol.split('_')[0] if self.contract_type != 'SWAP' else self.symbol.split('-')[0] - - self.ask1_price = 0 - self.bid1_price = 0 - self.ask1_volume = 0 - self.bid1_volume = 0 - - if self.contract_type == "this_week": - self.future_contract_code = self.symbol + "_CW" - elif self.contract_type == "next_week": - self.future_contract_code = self.symbol + "_NW" - elif self.contract_type == "quarter": - self.future_contract_code = self.symbol + "_CQ" - - # 交易模块 - cc = { - "strategy": self.strategy, - "platform": self.platform, - "symbol": self.symbol, - "contract_type": self.contract_type, - "account": self.account, - "access_key": self.access_key, - "secret_key": self.secret_key, - "host": self.host, - "wss": self.wss, - "order_update_callback": self.on_event_order_update, - "asset_update_callback": self.on_event_asset_update, - "position_update_callback": self.on_event_position_update, - "init_success_callback": self.on_event_init_success_callback, - } - self.trader = Trade(**cc) - - # 行情模块 - cc = { - "platform": self.platform, - "symbols": [self.future_contract_code], - "channels": self.channels, - "orderbook_length": self.orderbook_length, - "orderbooks_length": self.orderbooks_length, - "klines_length": self.klines_length, - "trades_length": self.trades_length, - "wss": self.market_wss, - "orderbook_update_callback": self.on_event_orderbook_update, - "kline_update_callback": self.on_event_kline_update, - "trade_update_callback": self.on_event_trade_update - } - self.market = Market(**cc) - - # 60秒执行1次 - LoopRunTask.register(self.on_ticker, 60) - - async def on_ticker(self, *args, **kwargs): - """ 定时执行任务 - """ - #success ,error = await self.trader.rest_api.get_hisopen_orders("ETH") - ts_diff = int(time.time()*1000) - self.last_orderbook_timestamp - if ts_diff > self.orderbook_invalid_seconds * 1000: - logger.warn("received orderbook timestamp exceed:", self.strategy, self.symbol, ts_diff, caller=self) - return - await self.cancel_orders() - await self.place_orders() - - async def cancel_orders(self): - """ 取消订单 - """ - order_nos = [ orderno for orderno in self.trader.orders ] - if order_nos and self.last_ask_price != self.ask1_price: - _, errors = await self.trader.revoke_order(*order_nos) - if errors: - logger.error(self.strategy,"cancel future order error! error:", errors, caller=self) - else: - logger.info(self.strategy,"cancel future order:", order_nos, caller=self) - - async def place_orders(self): - """ 下单 - """ - orders_data = [] - if self.trader.position and self.trader.position.short_quantity: - # 平空单 - price = round(self.ask1_price - 0.1, 1) - quantity = -self.trader.position.short_quantity - action = ORDER_ACTION_BUY - new_price = str(price) # 将价格转换为字符串,保持精度 - if quantity: - orders_data.append({"price": new_price, "quantity": quantity, "action": action, "order_type": ORDER_TYPE_LIMIT, "lever_rate": 1}) - self.last_ask_price = self.ask1_price - if self.trader.assets and self.trader.assets.assets.get(self.raw_symbol): - # 开空单 - price = round(self.bid1_price + 0.1, 1) - volume = float(self.trader.assets.assets.get(self.raw_symbol).get("free")) * price // 100 - if volume >= 1: - quantity = - volume # 空1张 - action = ORDER_ACTION_SELL - new_price = str(price) # 将价格转换为字符串,保持精度 - if quantity: - orders_data.append({"price": new_price, "quantity": quantity, "action": action, "order_type": ORDER_TYPE_LIMIT, "lever_rate": 1}) - self.last_bid_price = self.bid1_price - - if orders_data: - order_nos, error = await self.trader.create_orders(orders_data) - if error: - logger.error(self.strategy, "create future order error! error:", error, caller=self) - logger.info(self.strategy, "create future orders success:", order_nos, caller=self) - - async def on_event_orderbook_update(self, orderbook: Orderbook): - """ orderbook更新 - self.market.orderbooks 是最新的orderbook组成的队列,记录的是历史N次orderbook的数据。 - 本回调所传的orderbook是最新的单次orderbook。 - """ - logger.debug("orderbook:", orderbook, caller=self) - if orderbook.asks: - self.ask1_price = float(orderbook.asks[0][0]) # 卖一价格 - self.ask1_volume = float(orderbook.asks[0][1]) # 卖一数量 - if orderbook.bids: - self.bid1_price = float(orderbook.bids[0][0]) # 买一价格 - self.bid1_volume = float(orderbook.bids[0][1]) # 买一数量 - self.last_orderbook_timestamp = orderbook.timestamp - - async def on_event_order_update(self, order: Order): - """ 订单状态更新 - """ - logger.debug("order update:", order, caller=self) - - async def on_event_asset_update(self, asset: Asset): - """ 资产更新 - """ - logger.debug("asset update:", asset, caller=self) - - async def on_event_position_update(self, position: Position): - """ 仓位更新 - """ - logger.debug("position update:", position, caller=self) - - async def on_event_kline_update(self, kline: Kline): - """ kline更新 - self.market.klines 是最新的kline组成的队列,记录的是历史N次kline的数据。 - 本回调所传的kline是最新的单次kline。 - """ - logger.debug("kline update:", kline, caller=self) - - async def on_event_trade_update(self, trade: MarketTrade): - """ market trade更新 - self.market.trades 是最新的逐笔成交组成的队列,记录的是历史N次trade的数据。 - 本回调所传的trade是最新的单次trade。 - """ - logger.debug("trade update:", trade, caller=self) - - async def on_event_init_success_callback(self, success: bool, error: Error, **kwargs): - """ init success callback - """ - logger.debug("init success callback update:", success, error, kwargs, caller=self) - diff --git a/examples/huobi_option_mm/README.md b/examples/huobi_option_mm/README.md deleted file mode 100644 index 937ba66..0000000 --- a/examples/huobi_option_mm/README.md +++ /dev/null @@ -1,52 +0,0 @@ -## 风险说明 - -本策略仅供演示学习使用,请勿用作正式用途! - -## 策略说明 - -本策略为期权简易做市策略,使用标记价格mark_price加上一定的价差来挂买单与卖单,每次会根据标记价格来撤销委托的卖单与买单,持有的期权持仓风险delta,超过一定值则通过火币永续合约进行对冲使得delta保持0。 - -## delta计算 - -i. 假设期权BTC总delta为 `Do`,期权的持仓(BTC)账户权益(margin_balance)为`Mo`(期权的账户权益在行权前均等于静态权益),获取到的期权的持仓(BTC)delta为 `Dp`,则: - - Do = Dp + Mo - -ii. 假设火币永续合约BTC总delta为`Ds`,账户权益(BTC)(margin_balance)为`Ms`,持有的多仓(BTC)张数为`Ls`,持有的空仓(BTC)张数为`Ss`,当前BTC最新价为`Ps`,则: - - Ds = Ms + Ls*100/Ps - Ss*100/Ps - -iii. 假设总delta为`D`,则: - - D = Do + Ds - -iv. 如果abs(D)>=阈值: - - 如果D>=0,则在永续卖空 int((D)*Ps/100) 张的仓位; - - 如果D<0,则在永续买多 int((abs(D)*Ps/100)) 张的仓位; - - -## 策略使用说明 - -策略启动的时候,需要指定一个 `json` 格式的配置文件。请参考配置文件config.json的说明:[配置文件](/docs/config/README.md) - -可以参照例子的config.json进行对应配置,其中 - -`orderbook_invalid_seconds`:orderbook无效时间,收到的orderbook时间戳超过多少S认为是无效的; - -`spread`: 摆盘价差 - -`quantity`: 每次摆盘数量 - -`max_quantity`: 多仓的最大仓位数量和空仓的最大数量 - -`delta_limit`: delta对冲阈值 - -`swap_volume_usd`: 永续合约张数USD价值 - -## 策略运行 - -```shell -bash run.sh -``` diff --git a/examples/huobi_option_mm/config.json b/examples/huobi_option_mm/config.json deleted file mode 100644 index 6652060..0000000 --- a/examples/huobi_option_mm/config.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "SERVER_ID": "option_strategy_mm", - "LOG": { - "console": true, - "level": "INFO", - "path": "/data/logs/servers/option_strategy_mm", - "name": "option_strategy_mm.log", - "clear": true, - "backup_count": 5 - }, - "ACCOUNTS": [ - { - "platform": "huobi_option", - "account": "foonsun888", - "host": "https://api.hbdm.vn", - "wss": "wss://api.hbdm.vn", - "access_key": "access key", - "secret_key": "secret key" - }, - { - "platform": "huobi_swap", - "account": "foonsun888", - "host": "https://api.hbdm.vn", - "wss": "wss://api.hbdm.vn", - "access_key": "access key", - "secret_key": "secret key" - } - ], - "MARKETS": [ - { - "platform": "huobi_option", - "symbol": "BTC-USDT-200717-C-9000", - "channels":[ - "orderbook", "kline", "trade" - ], - "orderbook_length": 10, - "orderbooks_length": 100, - "klines_length": 100, - "trades_length": 100, - "wss": "wss://api.hbdm.vn" - - }, - { - "platform": "huobi_swap", - "symbol": "BTC-USD", - "contract_type": "SWAP", - "channels":[ - "orderbook", "kline", "trade" - ], - "orderbook_length": 10, - "orderbooks_length": 100, - "klines_length": 100, - "trades_length": 100, - "wss": "wss://api.hbdm.vn" - - } - ], - "strategy": "option_strategy_mm", - "orderbook_invalid_seconds": 5, - "spread": 1, - "quantity": 1, - "max_quantity": 10, - "delta_limit": 1, - "swap_volume_usd": 10 -} diff --git a/examples/huobi_option_mm/main.py b/examples/huobi_option_mm/main.py deleted file mode 100644 index 64b021b..0000000 --- a/examples/huobi_option_mm/main.py +++ /dev/null @@ -1,33 +0,0 @@ -# -*— coding:utf-8 -*- - -""" -Huobi Option Demo. - -Author: QiaoXiaofeng -Date: 2020/7/10 -Email: andyjoe318@gmail.com -""" - - -import sys - - -def initialize(): - from strategy import MyStrategy - MyStrategy() - - -def main(): - if len(sys.argv) > 1: - config_file = sys.argv[1] - else: - config_file = None - - from alpha.quant import quant - quant.initialize(config_file) - initialize() - quant.start() - - -if __name__ == '__main__': - main() diff --git a/examples/huobi_option_mm/run.sh b/examples/huobi_option_mm/run.sh deleted file mode 100644 index a051f0a..0000000 --- a/examples/huobi_option_mm/run.sh +++ /dev/null @@ -1 +0,0 @@ -python main.py config.json \ No newline at end of file diff --git a/examples/huobi_option_mm/strategy.py b/examples/huobi_option_mm/strategy.py deleted file mode 100644 index 5aeec42..0000000 --- a/examples/huobi_option_mm/strategy.py +++ /dev/null @@ -1,428 +0,0 @@ -# -*- coding:utf-8 -*- -""" -极简做市策略,仅做演示使用 - -Author: Qiaoxiaofeng -Date: 2020/07/04 -Email: andyjoe318@gmail.com -""" -# 策略实现 -import time -from alpha import const -from alpha.utils import tools -from alpha.utils import logger -from alpha.config import config -from alpha.market import Market -from alpha.trade import Trade -from alpha.order import Order -from alpha.orderbook import Orderbook -from alpha.kline import Kline -from alpha.markettrade import Trade as MarketTrade -from alpha.asset import Asset -from alpha.position import Position -from alpha.error import Error -from alpha.tasks import LoopRunTask -from alpha.order import ORDER_ACTION_SELL, ORDER_ACTION_BUY, ORDER_STATUS_FAILED, ORDER_STATUS_CANCELED, ORDER_STATUS_FILLED,\ - ORDER_TYPE_LIMIT, ORDER_TYPE_MARKET - - -class MyStrategy: - - def __init__(self): - """ 初始化 - """ - self.strategy = config.strategy - self.platform = config.accounts[0]["platform"] - self.account = config.accounts[0]["account"] - self.access_key = config.accounts[0]["access_key"] - self.secret_key = config.accounts[0]["secret_key"] - self.host = config.accounts[0]["host"] - self.wss = config.accounts[0]["wss"] - - self.swap_platform = config.accounts[1]["platform"] - self.swap_account = config.accounts[1]["account"] - self.swap_access_key = config.accounts[1]["access_key"] - self.swap_secret_key = config.accounts[1]["secret_key"] - self.swap_host = config.accounts[1]["host"] - self.swap_wss = config.accounts[1]["wss"] - - self.symbol = config.markets[0]["symbol"] - self.channels = config.markets[0]["channels"] - self.orderbook_length = config.markets[0]["orderbook_length"] - self.orderbooks_length = config.markets[0]["orderbooks_length"] - self.klines_length = config.markets[0]["klines_length"] - self.trades_length = config.markets[0]["trades_length"] - self.market_wss = config.markets[0]["wss"] - - self.swap_symbol = config.markets[1]["symbol"] - self.swap_contract_type = config.markets[1]["contract_type"] - self.swap_channels = config.markets[1]["channels"] - self.swap_orderbook_length = config.markets[1]["orderbook_length"] - self.swap_orderbooks_length = config.markets[1]["orderbooks_length"] - self.swap_klines_length = config.markets[1]["klines_length"] - self.swap_trades_length = config.markets[1]["trades_length"] - self.swap_market_wss = config.markets[1]["wss"] - - - self.orderbook_invalid_seconds = config.orderbook_invalid_seconds - self.spread = config.spread - self.volume = config.quantity - self.max_quantity = config.max_quantity - self.delta_limit = config.delta_limit - self.swap_volume_usd = config.swap_volume_usd - - self.last_bid_price = 0 # 上次的买入价格 - self.last_ask_price = 0 # 上次的卖出价格 - self.last_orderbook_timestamp = 0 # 上次的orderbook时间戳 - self.last_mark_price = 0 # 上次的标记价格 - - self.raw_symbol = self.symbol.split('-')[0] - self.partition_symbol = self.symbol.split('-')[1] - - self.ask1_price = 0 - self.bid1_price = 0 - self.ask1_volume = 0 - self.bid1_volume = 0 - - self.mark_price = 0 # 标记价格 - - # 交易模块 - cc = { - "strategy": self.strategy, - "platform": self.platform, - "symbol": self.symbol, - "account": self.account, - "access_key": self.access_key, - "secret_key": self.secret_key, - "host": self.host, - "wss": self.wss, - "order_update_callback": self.on_event_order_update, - "asset_update_callback": self.on_event_asset_update, - "position_update_callback": self.on_event_position_update, - "init_success_callback": self.on_event_init_success_callback, - } - self.trader = Trade(**cc) - - swap_cc = { - "strategy": self.strategy, - "platform": self.swap_platform, - "symbol": self.swap_symbol, - "contract_type": self.swap_contract_type, - "account": self.swap_account, - "access_key": self.swap_access_key, - "secret_key": self.swap_secret_key, - "host": self.swap_host, - "wss": self.swap_wss, - "order_update_callback": self.on_event_order_update_swap, - "asset_update_callback": self.on_event_asset_update_swap, - "position_update_callback": self.on_event_position_update_swap, - "init_success_callback": self.on_event_init_success_callback_swap, - } - self.swap_trader = Trade(**swap_cc) - - # 行情模块 - cc = { - "platform": self.platform, - "symbols": [self.symbol], - "channels": self.channels, - "orderbook_length": self.orderbook_length, - "orderbooks_length": self.orderbooks_length, - "klines_length": self.klines_length, - "trades_length": self.trades_length, - "wss": self.market_wss, - "orderbook_update_callback": self.on_event_orderbook_update, - "kline_update_callback": self.on_event_kline_update, - "trade_update_callback": self.on_event_trade_update - } - self.market = Market(**cc) - - # 行情模块 - market_cc = { - "platform": self.swap_platform, - "symbols": [self.swap_symbol], - "channels": self.swap_channels, - "orderbook_length": self.swap_orderbook_length, - "orderbooks_length": self.swap_orderbooks_length, - "klines_length": self.swap_klines_length, - "trades_length": self.swap_trades_length, - "wss": self.swap_market_wss, - "orderbook_update_callback": self.on_event_orderbook_update_swap, - "kline_update_callback": self.on_event_kline_update_swap, - "trade_update_callback": self.on_event_trade_update_swap - } - self.swap_market = Market(**market_cc) - - # 10秒执行1次 - LoopRunTask.register(self.on_ticker, 10) - - # delta对冲 - LoopRunTask.register(self.delta_hedging, 10) - - - async def on_ticker(self, *args, **kwargs): - """ 定时执行任务 - """ - if self.trader.assets is None: - return - - if self.trader.position is None: - return - - ts_diff = int(time.time()*1000) - self.last_orderbook_timestamp - if ts_diff > self.orderbook_invalid_seconds * 1000: - logger.warn("received orderbook timestamp exceed:", self.strategy, self.symbol, ts_diff, caller=self) - return - - # 获取标记价格,每次的挂单价格与指数价格进行比较。 - success, error = await self.trader.rest_api.get_market_index(contract_code=self.symbol) - if error: - logger.error("Get swap market index faild:", error, caller=self) - else: - for item in success["data"]: - if item["contract_code"] == self.symbol: - self.mark_price = item["mark_price"] - - await self.cancel_orders() - await self.place_orders() - - async def cancel_orders(self): - """ 取消订单 - """ - order_nos = [ orderno for orderno in self.trader.orders ] - #if order_nos and self.last_mark_price != self.mark_price: - if order_nos: - _, errors = await self.trader.revoke_order(*order_nos) - if errors: - logger.error(self.strategy,"cancel option order error! error:", errors, caller=self) - # 出错则取消所有挂单 - _, errors = await self.trader.revoke_order() - if errors: - logger.error(self.strategy,"cancel all option orders error! error:", errors, caller=self) - else: - logger.info(self.strategy,"cancel all option orders success!", caller=self) - else: - logger.info(self.strategy,"cancel option order:", order_nos, caller=self) - - async def place_orders(self): - """ 下单 - """ - orders_data = [] - if self.trader.position and self.trader.position.short_quantity: - # 平空单 - price = round(self.mark_price - self.spread, 1) - quantity = -self.trader.position.short_quantity - action = ORDER_ACTION_BUY - new_price = str(price) # 将价格转换为字符串,保持精度 - if quantity: - orders_data.append({"price": new_price, "quantity": quantity, "action": action, "order_type": ORDER_TYPE_LIMIT }) - self.last_mark_price = self.mark_price - if self.trader.position and self.trader.position.long_quantity: - # 平多单 - price = round(self.mark_price + self.spread, 1) - quantity = self.trader.position.long_quantity - action = ORDER_ACTION_SELL - new_price = str(price) # 将价格转换为字符串,保持精度 - if quantity: - orders_data.append({"price": new_price, "quantity": quantity, "action": action, "order_type": ORDER_TYPE_LIMIT }) - self.last_mark_price = self.mark_price - if self.trader.assets and self.trader.assets.assets.get(self.raw_symbol).get("free"): - # 开空单 - if self.trader.position and self.trader.position.short_quantity and self.trader.position.short_quantity >= self.max_quantity: - logger.warn("option short position exceeds the max quantity: ", self.symbol, self.trader.position.short_quantity, self.max_quantity, caller=self) - else: - price = round(self.mark_price + self.spread, 1) - volume = self.volume - if volume: - quantity = - volume # 空张 - action = ORDER_ACTION_SELL - new_price = str(price) # 将价格转换为字符串,保持精度 - if quantity: - orders_data.append({"price": new_price, "quantity": quantity, "action": action, "order_type": ORDER_TYPE_LIMIT }) - self.last_mark_price = self.mark_price - if self.trader.assets and self.trader.assets.assets.get(self.partition_symbol) and self.trader.assets.assets.get(self.partition_symbol).get("free"): - # 开多单 - if self.trader.position and self.trader.position.long_quantity and self.trader.position.long_quantity >= self.max_quantity: - logger.warn("option long position exceeds the max quantity: ", self.symbol, self.trader.position.long_quantity, self.max_quantity, caller=self) - else: - price = round(self.mark_price - self.spread, 1) - volume = self.volume - if volume: - quantity = volume # 多张 - action = ORDER_ACTION_BUY - new_price = str(price) # 将价格转换为字符串,保持精度 - if quantity: - orders_data.append({"price": new_price, "quantity": quantity, "action": action, "order_type": ORDER_TYPE_LIMIT }) - self.last_mark_price = self.mark_price - - if orders_data: - order_nos, error = await self.trader.create_orders(orders_data) - if error: - logger.error(self.strategy, "create future order error! error:", error, caller=self) - logger.info(self.strategy, "create future orders success:", order_nos, caller=self) - - async def delta_hedging(self, *args, **kwargs): - """ delta hedge - """ - logger.debug("delta hedging", caller=self) - option_delta = 0 - assets, error = await self.trader.rest_api.get_asset_info(self.raw_symbol) - if error: - logger.error(self.strategy, "get option asset error! error:", error, caller=self) - else: - for item in assets["data"]: - if item["symbol"] == self.raw_symbol: - o_margin_balance = item["margin_balance"] - o_delta = item["delta"] if item["delta"] else 0 - o_gamma = item["gamma"] if item["gamma"] else 0 - o_theta = item["theta"] if item["theta"] else 0 - o_vega = item["vega"] if item["vega"] else 0 - - option_delta = o_delta + o_margin_balance - - #增加delta对冲,使用期货对冲。 - accounts, error = await self.swap_trader.rest_api.get_account_position(self.swap_symbol) - if error: - logger.error(self.strategy, "get swap account and position error! error:", error, caller=self) - else: - margin_balance = accounts["data"][0]["margin_balance"] - long_position = 0 - short_position = 0 - delta_long = 0 - delta_short = 0 - long_last_price = 0 - short_last_price = 0 - for position in accounts["data"][0]["positions"]: - if position["direction"] == "buy": - long_position = position["volume"] - long_cost_open = position["cost_open"] - long_last_price = position["last_price"] - if position["direction"] == "sell": - short_position = position["volume"] - short_cost_open = position["cost_open"] - short_last_price = position["last_price"] - if long_position: - delta_long = self.swap_volume_usd * int(long_position)/float(long_last_price) - if short_position: - delta_short = self.swap_volume_usd * int(short_position)/float(short_last_price) - swap_delta = margin_balance - delta_short + delta_long - t_delta = option_delta + swap_delta - orders_data = [] - # 对冲对应数量的币 - if abs(t_delta) >= self.delta_limit: - if t_delta > 0 : - # 开空单 - price = 0 - volume = int(t_delta * long_last_price / self.swap_volume_usd) - if volume: - quantity = - volume # - action = ORDER_ACTION_SELL - new_price = str(price) # 将价格转换为字符串,保持精度 - if quantity: - orders_data.append({"price": new_price, "quantity": quantity, "action": action, "order_type": ORDER_TYPE_MARKET, "lever_rate": 10 }) - else: - # 开多单 - price = 0 - volume = abs(int(t_delta * long_last_price / self.swap_volume_usd)) - if volume: - quantity = volume # - action = ORDER_ACTION_BUY - new_price = str(price) # 将价格转换为字符串,保持精度 - if quantity: - orders_data.append({"price": new_price, "quantity": quantity, "action": action, "order_type": ORDER_TYPE_MARKET, "lever_rate": 10}) - - if orders_data: - order_nos, error = await self.swap_trader.create_orders(orders_data) - if error: - logger.error(self.strategy, "create swap order error! error:", error, caller=self) - else: - logger.info(self.strategy, "create swap orders success:", order_nos, caller=self) - - async def on_event_orderbook_update(self, orderbook: Orderbook): - """ orderbook更新 - self.market.orderbooks 是最新的orderbook组成的队列,记录的是历史N次orderbook的数据。 - 本回调所传的orderbook是最新的单次orderbook。 - """ - logger.debug("orderbook:", orderbook, caller=self) - if orderbook.asks: - self.ask1_price = float(orderbook.asks[0][0]) # 卖一价格 - self.ask1_volume = float(orderbook.asks[0][1]) # 卖一数量 - if orderbook.bids: - self.bid1_price = float(orderbook.bids[0][0]) # 买一价格 - self.bid1_volume = float(orderbook.bids[0][1]) # 买一数量 - self.last_orderbook_timestamp = orderbook.timestamp - - async def on_event_order_update(self, order: Order): - """ 订单状态更新 - """ - logger.info("order update:", order, caller=self) - - async def on_event_asset_update(self, asset: Asset): - """ 资产更新 - """ - logger.info("asset update:", asset, caller=self) - - async def on_event_position_update(self, position: Position): - """ 仓位更新 - """ - logger.info("position update:", position, caller=self) - - async def on_event_kline_update(self, kline: Kline): - """ kline更新 - self.market.klines 是最新的kline组成的队列,记录的是历史N次kline的数据。 - 本回调所传的kline是最新的单次kline。 - """ - logger.debug("kline update:", kline, caller=self) - - async def on_event_trade_update(self, trade: MarketTrade): - """ market trade更新 - self.market.trades 是最新的逐笔成交组成的队列,记录的是历史N次trade的数据。 - 本回调所传的trade是最新的单次trade。 - """ - logger.debug("trade update:", trade, caller=self) - - async def on_event_init_success_callback(self, success: bool, error: Error, **kwargs): - """ init success callback - """ - logger.debug("init success callback update:", success, error, kwargs, caller=self) - - async def on_event_orderbook_update_swap(self, orderbook: Orderbook): - """ orderbook更新 - self.market.orderbooks 是最新的orderbook组成的队列,记录的是历史N次orderbook的数据。 - 本回调所传的orderbook是最新的单次orderbook。 - """ - logger.debug("swap orderbook:", orderbook, caller=self) - - async def on_event_order_update_swap(self, order: Order): - """ 订单状态更新 - """ - logger.info("swap order update:", order, caller=self) - - async def on_event_asset_update_swap(self, asset: Asset): - """ 资产更新 - """ - logger.info("swap asset update:", asset, caller=self) - - async def on_event_position_update_swap(self, position: Position): - """ 仓位更新 - """ - logger.info("swap position update:", position, caller=self) - - async def on_event_kline_update_swap(self, kline: Kline): - """ kline更新 - self.market.klines 是最新的kline组成的队列,记录的是历史N次kline的数据。 - 本回调所传的kline是最新的单次kline。 - """ - logger.debug("swap kline update:", kline, caller=self) - - async def on_event_trade_update_swap(self, trade: MarketTrade): - """ market trade更新 - self.market.trades 是最新的逐笔成交组成的队列,记录的是历史N次trade的数据。 - 本回调所传的trade是最新的单次trade。 - """ - logger.debug("swap trade update:", trade, caller=self) - - async def on_event_init_success_callback_swap(self, success: bool, error: Error, **kwargs): - """ init success callback - """ - logger.debug("swap init success callback update:", success, error, kwargs, caller=self) - diff --git a/examples/huobi_swap/config.json b/examples/huobi_swap/config.json deleted file mode 100644 index 7e35480..0000000 --- a/examples/huobi_swap/config.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "SERVER_ID": "swap_maker_strategy", - "LOG": { - "console": true, - "level": "DEBUG", - "path": "/data/logs/servers/swap_maker_strategy", - "name": "swap_maker_strategy.log", - "clear": true, - "backup_count": 5 - }, - "ACCOUNTS": [ - { - "platform": "huobi_swap", - "account": "account", - "host": "https://api.hbdm.vn", - "wss": "wss://api.hbdm.vn", - "access_key": "", - "secret_key": "" - } - ], - "MARKETS": [ - { - "platform": "huobi_swap", - "channels":[ - "orderbook", "kline", "trade" - ], - "orderbook_length": 10, - "orderbooks_length": 100, - "klines_length": 100, - "trades_length": 100, - "wss": "wss://api.hbdm.vn" - - } - ], - "strategy": "my_test_strategy", - "symbol": "BTC-USD", - "contract_type": "SWAP" -} diff --git a/examples/huobi_swap/config.json-e b/examples/huobi_swap/config.json-e deleted file mode 100644 index a5b5c01..0000000 --- a/examples/huobi_swap/config.json-e +++ /dev/null @@ -1,38 +0,0 @@ -{ - "SERVER_ID": "swap_maker_strategy", - "LOG": { - "console": true, - "level": "INFO", - "path": "/data/logs/servers/swap_maker_strategy", - "name": "swap_maker_strategy.log", - "clear": true, - "backup_count": 5 - }, - "ACCOUNTS": [ - { - "platform": "huobi_swap", - "account": "account", - "host": "https://api.hbdm.vn", - "wss": "wss://api.hbdm.vn", - "access_key": "access_key", - "secret_key": "secret_key" - } - ], - "MARKETS": [ - { - "platform": "huobi_swap", - "channels":[ - "orderbook", "kline", "trade" - ], - "orderbook_length": 10, - "orderbooks_length": 100, - "klines_length": 100, - "trades_length": 100, - "wss": "wss://api.hbdm.vn" - - } - ], - "strategy": "my_test_strategy", - "symbol": "BTC-USD", - "contract_type": "SWAP" -} diff --git a/examples/huobi_swap/main.py b/examples/huobi_swap/main.py deleted file mode 100644 index e0195b9..0000000 --- a/examples/huobi_swap/main.py +++ /dev/null @@ -1,33 +0,0 @@ -# -*— coding:utf-8 -*- - -""" -Huobi Swap Demo. - -Author: QiaoXiaofeng -Date: 2020/1/10 -Email: andyjoe318@gmail.com -""" - - -import sys - - -def initialize(): - from strategy import MyStrategy - MyStrategy() - - -def main(): - if len(sys.argv) > 1: - config_file = sys.argv[1] - else: - config_file = None - - from alpha.quant import quant - quant.initialize(config_file) - initialize() - quant.start() - - -if __name__ == '__main__': - main() diff --git a/examples/huobi_swap/run.sh b/examples/huobi_swap/run.sh deleted file mode 100644 index a051f0a..0000000 --- a/examples/huobi_swap/run.sh +++ /dev/null @@ -1 +0,0 @@ -python main.py config.json \ No newline at end of file diff --git a/examples/huobi_swap/strategy.py b/examples/huobi_swap/strategy.py deleted file mode 100644 index 7c4bb4a..0000000 --- a/examples/huobi_swap/strategy.py +++ /dev/null @@ -1,200 +0,0 @@ -# -*- coding:utf-8 -*- -""" -简单卖平策略,仅做演示使用 - -Author: Qiaoxiaofeng -Date: 2020/01/10 -Email: andyjoe318@gmail.com -""" -# 策略实现 -import time -from alpha import const -from alpha.utils import tools -from alpha.utils import logger -from alpha.config import config -from alpha.market import Market -from alpha.trade import Trade -from alpha.order import Order -from alpha.orderbook import Orderbook -from alpha.kline import Kline -from alpha.markettrade import Trade as MarketTrade -from alpha.asset import Asset -from alpha.position import Position -from alpha.error import Error -from alpha.tasks import LoopRunTask -from alpha.order import ORDER_ACTION_SELL, ORDER_ACTION_BUY, ORDER_STATUS_FAILED, ORDER_STATUS_CANCELED, ORDER_STATUS_FILLED,\ - ORDER_TYPE_LIMIT, ORDER_TYPE_MARKET - - -class MyStrategy: - - def __init__(self): - """ 初始化 - """ - self.strategy = config.strategy - self.platform = config.accounts[0]["platform"] - self.account = config.accounts[0]["account"] - self.access_key = config.accounts[0]["access_key"] - self.secret_key = config.accounts[0]["secret_key"] - self.host = config.accounts[0]["host"] - self.wss = config.accounts[0]["wss"] - self.symbol = config.symbol - self.contract_type = config.contract_type - self.channels = config.markets[0]["channels"] - self.orderbook_length = config.markets[0]["orderbook_length"] - self.orderbooks_length = config.markets[0]["orderbooks_length"] - self.klines_length = config.markets[0]["klines_length"] - self.trades_length = config.markets[0]["trades_length"] - self.market_wss = config.markets[0]["wss"] - - self.orderbook_invalid_seconds = 10 - - self.last_bid_price = 0 # 上次的买入价格 - self.last_ask_price = 0 # 上次的卖出价格 - self.last_orderbook_timestamp = 0 # 上次的orderbook时间戳 - - self.raw_symbol = self.symbol.split('_')[0] if self.contract_type != 'SWAP' else self.symbol.split('-')[0] - - self.ask1_price = 0 - self.bid1_price = 0 - self.ask1_volume = 0 - self.bid1_volume = 0 - - - # 交易模块 - cc = { - "strategy": self.strategy, - "platform": self.platform, - "symbol": self.symbol, - "contract_type": self.contract_type, - "account": self.account, - "access_key": self.access_key, - "secret_key": self.secret_key, - "host": self.host, - "wss": self.wss, - "order_update_callback": self.on_event_order_update, - "asset_update_callback": self.on_event_asset_update, - "position_update_callback": self.on_event_position_update, - "init_success_callback": self.on_event_init_success_callback, - } - self.trader = Trade(**cc) - - # 行情模块 - cc = { - "platform": self.platform, - "symbols": [self.symbol], - "channels": self.channels, - "orderbook_length": self.orderbook_length, - "orderbooks_length": self.orderbooks_length, - "klines_length": self.klines_length, - "trades_length": self.trades_length, - "wss": self.market_wss, - "orderbook_update_callback": self.on_event_orderbook_update, - "kline_update_callback": self.on_event_kline_update, - "trade_update_callback": self.on_event_trade_update - } - self.market = Market(**cc) - - # 60秒执行1次 - LoopRunTask.register(self.on_ticker, 60) - - async def on_ticker(self, *args, **kwargs): - """ 定时执行任务 - """ - ts_diff = int(time.time()*1000) - self.last_orderbook_timestamp - if ts_diff > self.orderbook_invalid_seconds * 1000: - logger.warn("received orderbook timestamp exceed:", self.strategy, self.symbol, ts_diff, caller=self) - return - await self.cancel_orders() - await self.place_orders() - - async def cancel_orders(self): - """ 取消订单 - """ - order_nos = [ orderno for orderno in self.trader.orders ] - if order_nos and self.last_ask_price != self.ask1_price: - _, errors = await self.trader.revoke_order(*order_nos) - if errors: - logger.error(self.strategy,"cancel future order error! error:", errors, caller=self) - else: - logger.info(self.strategy,"cancel future order:", order_nos, caller=self) - - async def place_orders(self): - """ 下单 - """ - orders_data = [] - if self.trader.position and self.trader.position.short_quantity: - # 平空单 - price = round(self.ask1_price - 0.1, 1) - quantity = -self.trader.position.short_quantity - action = ORDER_ACTION_BUY - new_price = str(price) # 将价格转换为字符串,保持精度 - if quantity: - orders_data.append({"price": new_price, "quantity": quantity, "action": action, "order_type": ORDER_TYPE_LIMIT, "lever_rate": 1}) - self.last_ask_price = self.ask1_price - if self.trader.assets and self.trader.assets.assets.get(self.raw_symbol): - # 开空单 - price = round(self.bid1_price + 0.1, 1) - volume = float(self.trader.assets.assets.get(self.raw_symbol).get("free")) * price // 100 - if volume >= 1: - quantity = - volume # 空1张 - action = ORDER_ACTION_SELL - new_price = str(price) # 将价格转换为字符串,保持精度 - if quantity: - orders_data.append({"price": new_price, "quantity": quantity, "action": action, "order_type": ORDER_TYPE_LIMIT, "lever_rate": 1}) - self.last_bid_price = self.bid1_price - - if orders_data: - order_nos, error = await self.trader.create_orders(orders_data) - if error: - logger.error(self.strategy, "create future order error! error:", error, caller=self) - logger.info(self.strategy, "create future orders success:", order_nos, caller=self) - - async def on_event_orderbook_update(self, orderbook: Orderbook): - """ orderbook更新 - self.market.orderbooks 是最新的orderbook组成的队列,记录的是历史N次orderbook的数据。 - 本回调所传的orderbook是最新的单次orderbook。 - """ - logger.debug("orderbook:", orderbook, caller=self) - if orderbook.asks: - self.ask1_price = float(orderbook.asks[0][0]) # 卖一价格 - self.ask1_volume = float(orderbook.asks[0][1]) # 卖一数量 - if orderbook.bids: - self.bid1_price = float(orderbook.bids[0][0]) # 买一价格 - self.bid1_volume = float(orderbook.bids[0][1]) # 买一数量 - self.last_orderbook_timestamp = orderbook.timestamp - - async def on_event_order_update(self, order: Order): - """ 订单状态更新 - """ - logger.info("order update:", order, caller=self) - - async def on_event_asset_update(self, asset: Asset): - """ 资产更新 - """ - logger.info("asset update:", asset, caller=self) - - async def on_event_position_update(self, position: Position): - """ 仓位更新 - """ - logger.info("position update:", position, caller=self) - - async def on_event_kline_update(self, kline: Kline): - """ kline更新 - self.market.klines 是最新的kline组成的队列,记录的是历史N次kline的数据。 - 本回调所传的kline是最新的单次kline。 - """ - logger.debug("kline update:", kline, caller=self) - - async def on_event_trade_update(self, trade: MarketTrade): - """ market trade更新 - self.market.trades 是最新的逐笔成交组成的队列,记录的是历史N次trade的数据。 - 本回调所传的trade是最新的单次trade。 - """ - logger.debug("trade update:", trade, caller=self) - - async def on_event_init_success_callback(self, success: bool, error: Error, **kwargs): - """ init success callback - """ - logger.debug("init success callback update:", success, error, kwargs, caller=self) - diff --git a/examples/huobi_usdt_swap/config.json b/examples/huobi_usdt_swap/config.json deleted file mode 100644 index 56dc488..0000000 --- a/examples/huobi_usdt_swap/config.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "SERVER_ID": "swap_maker_strategy", - "LOG": { - "console": true, - "level": "DEBUG", - "path": "/data/logs/servers/swap_maker_strategy", - "name": "swap_maker_strategy.log", - "clear": true, - "backup_count": 5 - }, - "ACCOUNTS": [ - { - "platform": "huobi_usdt_swap", - "account": "account", - "host": "https://api.hbdm.vn", - "wss": "wss://api.hbdm.vn", - "access_key": "access key", - "secret_key": "secret key" - } - ], - "MARKETS": [ - { - "platform": "huobi_usdt_swap", - "channels":[ - "orderbook", "kline", "trade" - ], - "orderbook_length": 10, - "orderbooks_length": 100, - "klines_length": 100, - "trades_length": 100, - "wss": "wss://api.hbdm.vn" - - } - ], - "strategy": "my_test_strategy", - "symbol": "BTC-USDT", - "contract_type": "USDTSWAP" -} diff --git a/examples/huobi_usdt_swap/main.py b/examples/huobi_usdt_swap/main.py deleted file mode 100644 index e0195b9..0000000 --- a/examples/huobi_usdt_swap/main.py +++ /dev/null @@ -1,33 +0,0 @@ -# -*— coding:utf-8 -*- - -""" -Huobi Swap Demo. - -Author: QiaoXiaofeng -Date: 2020/1/10 -Email: andyjoe318@gmail.com -""" - - -import sys - - -def initialize(): - from strategy import MyStrategy - MyStrategy() - - -def main(): - if len(sys.argv) > 1: - config_file = sys.argv[1] - else: - config_file = None - - from alpha.quant import quant - quant.initialize(config_file) - initialize() - quant.start() - - -if __name__ == '__main__': - main() diff --git a/examples/huobi_usdt_swap/run.sh b/examples/huobi_usdt_swap/run.sh deleted file mode 100644 index a051f0a..0000000 --- a/examples/huobi_usdt_swap/run.sh +++ /dev/null @@ -1 +0,0 @@ -python main.py config.json \ No newline at end of file diff --git a/examples/huobi_usdt_swap/strategy.py b/examples/huobi_usdt_swap/strategy.py deleted file mode 100644 index 30ac2b6..0000000 --- a/examples/huobi_usdt_swap/strategy.py +++ /dev/null @@ -1,204 +0,0 @@ -# -*- coding:utf-8 -*- -""" -简单卖平策略,仅做演示使用 - -Author: Qiaoxiaofeng -Date: 2020/09/10 -Email: andyjoe318@gmail.com -""" -# 策略实现 -import time -from alpha import const -from alpha.utils import tools -from alpha.utils import logger -from alpha.config import config -from alpha.market import Market -from alpha.trade import Trade -from alpha.order import Order -from alpha.orderbook import Orderbook -from alpha.kline import Kline -from alpha.markettrade import Trade as MarketTrade -from alpha.asset import Asset -from alpha.position import Position -from alpha.error import Error -from alpha.tasks import LoopRunTask -from alpha.order import ORDER_ACTION_SELL, ORDER_ACTION_BUY, ORDER_STATUS_FAILED, ORDER_STATUS_CANCELED, ORDER_STATUS_FILLED,\ - ORDER_TYPE_LIMIT, ORDER_TYPE_MARKET - - -class MyStrategy: - - def __init__(self): - """ 初始化 - """ - self.strategy = config.strategy - self.platform = config.accounts[0]["platform"] - self.account = config.accounts[0]["account"] - self.access_key = config.accounts[0]["access_key"] - self.secret_key = config.accounts[0]["secret_key"] - self.host = config.accounts[0]["host"] - self.wss = config.accounts[0]["wss"] - self.symbol = config.symbol - self.contract_type = config.contract_type - self.channels = config.markets[0]["channels"] - self.orderbook_length = config.markets[0]["orderbook_length"] - self.orderbooks_length = config.markets[0]["orderbooks_length"] - self.klines_length = config.markets[0]["klines_length"] - self.trades_length = config.markets[0]["trades_length"] - self.market_wss = config.markets[0]["wss"] - - - # 杠杆与面值 - self.lever_rate = 1 - self.contract_size = 0.001 - self.orderbook_invalid_seconds = 10 - - self.last_bid_price = 0 # 上次的买入价格 - self.last_ask_price = 0 # 上次的卖出价格 - self.last_orderbook_timestamp = 0 # 上次的orderbook时间戳 - - self.raw_symbol = self.symbol.split('-')[0] - - self.ask1_price = 0 - self.bid1_price = 0 - self.ask1_volume = 0 - self.bid1_volume = 0 - - - # 交易模块 - cc = { - "strategy": self.strategy, - "platform": self.platform, - "symbol": self.symbol, - "contract_type": self.contract_type, - "account": self.account, - "access_key": self.access_key, - "secret_key": self.secret_key, - "host": self.host, - "wss": self.wss, - "order_update_callback": self.on_event_order_update, - "asset_update_callback": self.on_event_asset_update, - "position_update_callback": self.on_event_position_update, - "init_success_callback": self.on_event_init_success_callback, - } - self.trader = Trade(**cc) - - # 行情模块 - cc = { - "platform": self.platform, - "symbols": [self.symbol], - "channels": self.channels, - "orderbook_length": self.orderbook_length, - "orderbooks_length": self.orderbooks_length, - "klines_length": self.klines_length, - "trades_length": self.trades_length, - "wss": self.market_wss, - "orderbook_update_callback": self.on_event_orderbook_update, - "kline_update_callback": self.on_event_kline_update, - "trade_update_callback": self.on_event_trade_update - } - self.market = Market(**cc) - - # 60秒执行1次 - LoopRunTask.register(self.on_ticker, 10) - - async def on_ticker(self, *args, **kwargs): - """ 定时执行任务 - """ - ts_diff = int(time.time()*1000) - self.last_orderbook_timestamp - if ts_diff > self.orderbook_invalid_seconds * 1000: - logger.warn("received orderbook timestamp exceed:", self.strategy, self.symbol, ts_diff, caller=self) - return - await self.cancel_orders() - await self.place_orders() - - async def cancel_orders(self): - """ 取消订单 - """ - order_nos = [ orderno for orderno in self.trader.orders ] - if order_nos and self.last_ask_price != self.ask1_price: - _, errors = await self.trader.revoke_order(*order_nos) - if errors: - logger.error(self.strategy,"cancel future order error! error:", errors, caller=self) - else: - logger.info(self.strategy,"cancel future order:", order_nos, caller=self) - - async def place_orders(self): - """ 下单 - """ - orders_data = [] - if self.trader.position and self.trader.position.short_quantity: - # 平空单 - price = round(self.ask1_price - 0.1, 1) - quantity = -self.trader.position.short_quantity - action = ORDER_ACTION_BUY - new_price = str(price) # 将价格转换为字符串,保持精度 - if quantity: - orders_data.append({"price": new_price, "quantity": quantity, "action": action, "order_type": ORDER_TYPE_LIMIT, "lever_rate": self.lever_rate}) - self.last_ask_price = self.ask1_price - if self.trader.assets and self.trader.assets.assets.get(self.raw_symbol): - # 开空单 - price = round(self.bid1_price + 0.1, 1) - volume = int(float(self.trader.assets.assets.get(self.raw_symbol).get("free")) / price / self.contract_size * self.lever_rate) - if volume >= 1: - quantity = - volume # 空1张 - action = ORDER_ACTION_SELL - new_price = str(price) # 将价格转换为字符串,保持精度 - if quantity: - orders_data.append({"price": new_price, "quantity": quantity, "action": action, "order_type": ORDER_TYPE_LIMIT, "lever_rate": self.lever_rate}) - self.last_bid_price = self.bid1_price - - if orders_data: - order_nos, error = await self.trader.create_orders(orders_data) - if error: - logger.error(self.strategy, "create future order error! error:", error, caller=self) - logger.info(self.strategy, "create future orders success:", order_nos, caller=self) - - async def on_event_orderbook_update(self, orderbook: Orderbook): - """ orderbook更新 - self.market.orderbooks 是最新的orderbook组成的队列,记录的是历史N次orderbook的数据。 - 本回调所传的orderbook是最新的单次orderbook。 - """ - logger.debug("orderbook:", orderbook, caller=self) - if orderbook.asks: - self.ask1_price = float(orderbook.asks[0][0]) # 卖一价格 - self.ask1_volume = float(orderbook.asks[0][1]) # 卖一数量 - if orderbook.bids: - self.bid1_price = float(orderbook.bids[0][0]) # 买一价格 - self.bid1_volume = float(orderbook.bids[0][1]) # 买一数量 - self.last_orderbook_timestamp = orderbook.timestamp - - async def on_event_order_update(self, order: Order): - """ 订单状态更新 - """ - logger.info("order update:", order, caller=self) - - async def on_event_asset_update(self, asset: Asset): - """ 资产更新 - """ - logger.info("asset update:", asset, caller=self) - - async def on_event_position_update(self, position: Position): - """ 仓位更新 - """ - logger.info("position update:", position, caller=self) - - async def on_event_kline_update(self, kline: Kline): - """ kline更新 - self.market.klines 是最新的kline组成的队列,记录的是历史N次kline的数据。 - 本回调所传的kline是最新的单次kline。 - """ - logger.debug("kline update:", kline, caller=self) - - async def on_event_trade_update(self, trade: MarketTrade): - """ market trade更新 - self.market.trades 是最新的逐笔成交组成的队列,记录的是历史N次trade的数据。 - 本回调所传的trade是最新的单次trade。 - """ - logger.debug("trade update:", trade, caller=self) - - async def on_event_init_success_callback(self, success: bool, error: Error, **kwargs): - """ init success callback - """ - logger.debug("init success callback update:", success, error, kwargs, caller=self) - diff --git a/examples/huobi_usdt_swap_cross/config.json b/examples/huobi_usdt_swap_cross/config.json deleted file mode 100644 index 0442eaf..0000000 --- a/examples/huobi_usdt_swap_cross/config.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "SERVER_ID": "swap_maker_strategy", - "LOG": { - "console": true, - "level": "INFO", - "path": "/data/logs/servers/swap_maker_strategy", - "name": "swap_maker_strategy.log", - "clear": true, - "backup_count": 5 - }, - "ACCOUNTS": [ - { - "platform": "huobi_usdt_swap_cross", - "account": "foonsun", - "host": "https://api.hbdm.vn", - "wss": "wss://api.hbdm.vn", - "access_key": "", - "secret_key": "" - } - ], - "MARKETS": [ - { - "platform": "huobi_usdt_swap_cross", - "channels":[ - "orderbook", "kline", "trade" - ], - "orderbook_length": 10, - "orderbooks_length": 100, - "klines_length": 100, - "trades_length": 100, - "wss": "wss://api.hbdm.vn" - - } - ], - "strategy": "my_test_strategy", - "symbol": "BTC-USDT", - "contract_type": "USDTSWAP" -} diff --git a/examples/huobi_usdt_swap_cross/main.py b/examples/huobi_usdt_swap_cross/main.py deleted file mode 100644 index e0195b9..0000000 --- a/examples/huobi_usdt_swap_cross/main.py +++ /dev/null @@ -1,33 +0,0 @@ -# -*— coding:utf-8 -*- - -""" -Huobi Swap Demo. - -Author: QiaoXiaofeng -Date: 2020/1/10 -Email: andyjoe318@gmail.com -""" - - -import sys - - -def initialize(): - from strategy import MyStrategy - MyStrategy() - - -def main(): - if len(sys.argv) > 1: - config_file = sys.argv[1] - else: - config_file = None - - from alpha.quant import quant - quant.initialize(config_file) - initialize() - quant.start() - - -if __name__ == '__main__': - main() diff --git a/examples/huobi_usdt_swap_cross/run.sh b/examples/huobi_usdt_swap_cross/run.sh deleted file mode 100644 index a051f0a..0000000 --- a/examples/huobi_usdt_swap_cross/run.sh +++ /dev/null @@ -1 +0,0 @@ -python main.py config.json \ No newline at end of file diff --git a/examples/huobi_usdt_swap_cross/strategy.py b/examples/huobi_usdt_swap_cross/strategy.py deleted file mode 100644 index 3457f1a..0000000 --- a/examples/huobi_usdt_swap_cross/strategy.py +++ /dev/null @@ -1,201 +0,0 @@ -# -*- coding:utf-8 -*- -""" -简单卖平策略,仅做演示使用 - -Author: Qiaoxiaofeng -Date: 2020/09/10 -Email: andyjoe318@gmail.com -""" -# 策略实现 -import time -from alpha import const -from alpha.utils import tools -from alpha.utils import logger -from alpha.config import config -from alpha.market import Market -from alpha.trade import Trade -from alpha.order import Order -from alpha.orderbook import Orderbook -from alpha.kline import Kline -from alpha.markettrade import Trade as MarketTrade -from alpha.asset import Asset -from alpha.position import Position -from alpha.error import Error -from alpha.tasks import LoopRunTask -from alpha.order import ORDER_ACTION_SELL, ORDER_ACTION_BUY, ORDER_STATUS_FAILED, ORDER_STATUS_CANCELED, ORDER_STATUS_FILLED,\ - ORDER_TYPE_LIMIT, ORDER_TYPE_MARKET - - -class MyStrategy: - - def __init__(self): - """ 初始化 - """ - self.strategy = config.strategy - self.platform = config.accounts[0]["platform"] - self.account = config.accounts[0]["account"] - self.access_key = config.accounts[0]["access_key"] - self.secret_key = config.accounts[0]["secret_key"] - self.host = config.accounts[0]["host"] - self.wss = config.accounts[0]["wss"] - self.symbol = config.symbol - self.contract_type = config.contract_type - self.channels = config.markets[0]["channels"] - self.orderbook_length = config.markets[0]["orderbook_length"] - self.orderbooks_length = config.markets[0]["orderbooks_length"] - self.klines_length = config.markets[0]["klines_length"] - self.trades_length = config.markets[0]["trades_length"] - self.market_wss = config.markets[0]["wss"] - - self.contract_size = 0.001 - self.orderbook_invalid_seconds = 10 - - self.last_bid_price = 0 # 上次的买入价格 - self.last_ask_price = 0 # 上次的卖出价格 - self.last_orderbook_timestamp = 0 # 上次的orderbook时间戳 - - self.raw_symbol = self.symbol.split('-')[1].upper() - - self.ask1_price = 0 - self.bid1_price = 0 - self.ask1_volume = 0 - self.bid1_volume = 0 - - - # 交易模块 - cc = { - "strategy": self.strategy, - "platform": self.platform, - "symbol": self.symbol, - "contract_type": self.contract_type, - "account": self.account, - "access_key": self.access_key, - "secret_key": self.secret_key, - "host": self.host, - "wss": self.wss, - "order_update_callback": self.on_event_order_update, - "asset_update_callback": self.on_event_asset_update, - "position_update_callback": self.on_event_position_update, - "init_success_callback": self.on_event_init_success_callback, - } - self.trader = Trade(**cc) - - # 行情模块 - cc = { - "platform": self.platform, - "symbols": [self.symbol], - "channels": self.channels, - "orderbook_length": self.orderbook_length, - "orderbooks_length": self.orderbooks_length, - "klines_length": self.klines_length, - "trades_length": self.trades_length, - "wss": self.market_wss, - "orderbook_update_callback": self.on_event_orderbook_update, - "kline_update_callback": self.on_event_kline_update, - "trade_update_callback": self.on_event_trade_update - } - self.market = Market(**cc) - - # 60秒执行1次 - LoopRunTask.register(self.on_ticker, 1) - - async def on_ticker(self, *args, **kwargs): - """ 定时执行任务 - """ - ts_diff = int(time.time()*1000) - self.last_orderbook_timestamp - if ts_diff > self.orderbook_invalid_seconds * 1000: - logger.warn("received orderbook timestamp exceed:", self.strategy, self.symbol, ts_diff, caller=self) - return - await self.cancel_orders() - await self.place_orders() - - async def cancel_orders(self): - """ 取消订单 - """ - order_nos = [ orderno for orderno in self.trader.orders ] - if order_nos and self.last_ask_price != self.ask1_price: - _, errors = await self.trader.revoke_order(*order_nos) - if errors: - logger.error(self.strategy,"cancel future order error! error:", errors, caller=self) - else: - logger.info(self.strategy,"cancel future order:", order_nos, caller=self) - - async def place_orders(self): - """ 下单 - """ - orders_data = [] - if self.trader.position and self.trader.position.short_quantity: - # 平空单 - price = round(self.ask1_price - 0.1, 1) - quantity = -self.trader.position.short_quantity - action = ORDER_ACTION_BUY - new_price = str(price) # 将价格转换为字符串,保持精度 - if quantity: - orders_data.append({"price": new_price, "quantity": quantity, "action": action, "order_type": ORDER_TYPE_LIMIT, "lever_rate": 5}) - self.last_ask_price = self.ask1_price - if self.trader.assets and self.trader.assets.assets.get(self.raw_symbol): - # 开空单 - price = round(self.bid1_price + 0.1, 1) - volume = int(float(self.trader.assets.assets.get(self.raw_symbol).get("free")) * 5/ price / self.contract_size) - if volume >= 1: - quantity = - volume # 空1张 - action = ORDER_ACTION_SELL - new_price = str(price) # 将价格转换为字符串,保持精度 - if quantity: - orders_data.append({"price": new_price, "quantity": quantity, "action": action, "order_type": ORDER_TYPE_LIMIT, "lever_rate": 5}) - self.last_bid_price = self.bid1_price - - if orders_data: - order_nos, error = await self.trader.create_orders(orders_data) - if error: - logger.error(self.strategy, "create future order error! error:", error, caller=self) - logger.info(self.strategy, "create future orders success:", order_nos, caller=self) - - async def on_event_orderbook_update(self, orderbook: Orderbook): - """ orderbook更新 - self.market.orderbooks 是最新的orderbook组成的队列,记录的是历史N次orderbook的数据。 - 本回调所传的orderbook是最新的单次orderbook。 - """ - logger.debug("orderbook:", orderbook, caller=self) - if orderbook.asks: - self.ask1_price = float(orderbook.asks[0][0]) # 卖一价格 - self.ask1_volume = float(orderbook.asks[0][1]) # 卖一数量 - if orderbook.bids: - self.bid1_price = float(orderbook.bids[0][0]) # 买一价格 - self.bid1_volume = float(orderbook.bids[0][1]) # 买一数量 - self.last_orderbook_timestamp = orderbook.timestamp - - async def on_event_order_update(self, order: Order): - """ 订单状态更新 - """ - logger.info("order update:", order, caller=self) - - async def on_event_asset_update(self, asset: Asset): - """ 资产更新 - """ - logger.info("asset update:", asset, caller=self) - - async def on_event_position_update(self, position: Position): - """ 仓位更新 - """ - logger.info("position update:", position, caller=self) - - async def on_event_kline_update(self, kline: Kline): - """ kline更新 - self.market.klines 是最新的kline组成的队列,记录的是历史N次kline的数据。 - 本回调所传的kline是最新的单次kline。 - """ - logger.debug("kline update:", kline, caller=self) - - async def on_event_trade_update(self, trade: MarketTrade): - """ market trade更新 - self.market.trades 是最新的逐笔成交组成的队列,记录的是历史N次trade的数据。 - 本回调所传的trade是最新的单次trade。 - """ - logger.debug("trade update:", trade, caller=self) - - async def on_event_init_success_callback(self, success: bool, error: Error, **kwargs): - """ init success callback - """ - logger.debug("init success callback update:", success, error, kwargs, caller=self) - diff --git a/examples/huobi_usdt_swap_cross_order_latency_test/config.json b/examples/huobi_usdt_swap_cross_order_latency_test/config.json deleted file mode 100644 index d05c5b8..0000000 --- a/examples/huobi_usdt_swap_cross_order_latency_test/config.json +++ /dev/null @@ -1,96 +0,0 @@ -{ - "SERVER_ID": "swap_maker_strategy", - "LOG": { - "console": true, - "level": "ERROR", - "path": "/data/logs/servers/swap_maker_strategy", - "name": "swap_maker_strategy.log", - "clear": true, - "backup_count": 5 - }, - "ACCOUNTS": [ - { - "platform": "huobi_usdt_swap_cross", - "account": "foonsun", - "host": "https://api.hbdm.vn", - "wss": "wss://api.hbdm.vn", - "access_key": "", - "secret_key": "" - - } - ], - "MARKETS": [ - { - "platform": "huobi_usdt_swap_cross", - "channels":[ - "orderbook", "kline", "trade" - ], - "orderbook_length": 10, - "orderbooks_length": 100, - "klines_length": 100, - "trades_length": 100, - "wss": "wss://api.hbdm.vn" - - } - ], - "SYMBOLS":[ - { - "symbol": "BTC-USDT", - "contract_size": 0.001 - }, - { - "symbol": "ETH-USDT", - "contract_size": 0.01 - }, - { - "symbol": "UNI-USDT", - "contract_size": 1 - }, - { - "symbol": "XRP-USDT", - "contract_size": 10 - }, - { - "symbol": "1INCH-USDT", - "contract_size": 1 - }, - { - "symbol": "ADA-USDT", - "contract_size": 10 - }, - { - "symbol": "ATOM-USDT", - "contract_size": 1 - }, - { - "symbol": "BCH-USDT", - "contract_size": 0.01 - }, - { - "symbol": "BNB-USDT", - "contract_size": 0.1 - }, - { - "symbol": "BSV-USDT", - "contract_size": 0.01 - }, - { - "symbol": "CHZ-USDT", - "contract_size": 10 - }, - { - "symbol": "CRV-USDT", - "contract_size": 1 - }, - { - "symbol": "DASH-USDT", - "contract_size": 0.1 - }, - { - "symbol": "LINK-USDT", - "contract_size": 0.1 - } - ], - "strategy": "ForestTest", - "contract_type": "USDTSWAP" -} diff --git a/examples/huobi_usdt_swap_cross_order_latency_test/main.py b/examples/huobi_usdt_swap_cross_order_latency_test/main.py deleted file mode 100644 index e957ed0..0000000 --- a/examples/huobi_usdt_swap_cross_order_latency_test/main.py +++ /dev/null @@ -1,33 +0,0 @@ -# -*— coding:utf-8 -*- - -""" -Huobi Swap Demo. - -Author: QiaoXiaofeng -Date: 2020/1/10 -Email: andyjoe318@gmail.com -""" - - -import sys -from alpha.quant import config - -def initialize(): - from strategy import MyStrategy - for item in config.SYMBOLS: - MyStrategy(**item) - -def main(): - if len(sys.argv) > 1: - config_file = sys.argv[1] - else: - config_file = None - - from alpha.quant import quant - quant.initialize(config_file) - initialize() - quant.start() - - -if __name__ == '__main__': - main() diff --git a/examples/huobi_usdt_swap_cross_order_latency_test/run.sh b/examples/huobi_usdt_swap_cross_order_latency_test/run.sh deleted file mode 100644 index a051f0a..0000000 --- a/examples/huobi_usdt_swap_cross_order_latency_test/run.sh +++ /dev/null @@ -1 +0,0 @@ -python main.py config.json \ No newline at end of file diff --git a/examples/huobi_usdt_swap_cross_order_latency_test/strategy.py b/examples/huobi_usdt_swap_cross_order_latency_test/strategy.py deleted file mode 100644 index e999e19..0000000 --- a/examples/huobi_usdt_swap_cross_order_latency_test/strategy.py +++ /dev/null @@ -1,230 +0,0 @@ -# -*- coding:utf-8 -*- -""" -简单卖平策略,仅做演示使用 - -Author: Qiaoxiaofeng -Date: 2020/09/10 -Email: andyjoe318@gmail.com -""" -# 策略实现 -import time -from alpha import const -from alpha.utils import tools -from alpha.utils import logger -from alpha.config import config -from alpha.market import Market -from alpha.trade import Trade -from alpha.order import Order -from alpha.orderbook import Orderbook -from alpha.kline import Kline -from alpha.markettrade import Trade as MarketTrade -from alpha.asset import Asset -from alpha.position import Position -from alpha.error import Error -from alpha.tasks import LoopRunTask -from alpha.order import ORDER_ACTION_SELL, ORDER_ACTION_BUY, ORDER_STATUS_FAILED, ORDER_STATUS_CANCELED, ORDER_STATUS_FILLED,\ - ORDER_TYPE_LIMIT, ORDER_TYPE_MARKET - - -class MyStrategy: - - def __init__(self, **kwargs): - """ 初始化 - """ - self.strategy = config.strategy - self.platform = config.accounts[0]["platform"] - self.account = config.accounts[0]["account"] - self.access_key = config.accounts[0]["access_key"] - self.secret_key = config.accounts[0]["secret_key"] - self.host = config.accounts[0]["host"] - self.wss = config.accounts[0]["wss"] - self.contract_type = config.contract_type - self.channels = config.markets[0]["channels"] - self.orderbook_length = config.markets[0]["orderbook_length"] - self.orderbooks_length = config.markets[0]["orderbooks_length"] - self.klines_length = config.markets[0]["klines_length"] - self.trades_length = config.markets[0]["trades_length"] - self.market_wss = config.markets[0]["wss"] - - self.symbol = kwargs.get("symbol") - self.contract_size = kwargs.get("contract_size") - - self.orderbook_invalid_seconds = 10 - - self.last_bid_price = 0 # 上次的买入价格 - self.last_ask_price = 0 # 上次的卖出价格 - self.last_orderbook_timestamp = 0 # 上次的orderbook时间戳 - - self.raw_symbol = self.symbol.split('-')[1].upper() - - self.ask1_price = 0 - self.bid1_price = 0 - self.ask1_volume = 0 - self.bid1_volume = 0 - - - self.total_count = 0 - self.exceed_1s_count = 0 - self.exceed_100ms_count = 0 - self.exceed_50ms_count = 0 - - self.orderids = {} - - - # 交易模块 - cc = { - "strategy": self.strategy, - "platform": self.platform, - "symbol": self.symbol, - "contract_type": self.contract_type, - "account": self.account, - "access_key": self.access_key, - "secret_key": self.secret_key, - "host": self.host, - "wss": self.wss, - "order_update_callback": self.on_event_order_update, - "asset_update_callback": self.on_event_asset_update, - "position_update_callback": self.on_event_position_update, - "init_success_callback": self.on_event_init_success_callback, - } - self.trader = Trade(**cc) - - - # 行情模块 - cc = { - "platform": self.platform, - "symbols": [self.symbol], - "channels": self.channels, - "orderbook_length": self.orderbook_length, - "orderbooks_length": self.orderbooks_length, - "klines_length": self.klines_length, - "trades_length": self.trades_length, - "wss": self.market_wss, - "orderbook_update_callback": self.on_event_orderbook_update, - "kline_update_callback": self.on_event_kline_update, - "trade_update_callback": self.on_event_trade_update - } - self.market = Market(**cc) - - # 60秒执行1次 - LoopRunTask.register(self.on_ticker, 2) - - LoopRunTask.register(self.on_showresult, 10) - - async def on_showresult(self, *args, **kwargs): - logger.error(self.symbol, " order statics result: total_count: ", self.total_count, "exceed_1s_count:", self.exceed_1s_count, "exceed_100ms_count:", self.exceed_100ms_count, "exceed_50ms_count:", self.exceed_50ms_count, ) - - async def on_ticker(self, *args, **kwargs): - """ 定时执行任务 - """ - ts_diff = int(time.time()*1000) - self.last_orderbook_timestamp - if ts_diff > self.orderbook_invalid_seconds * 1000: - logger.warn("received orderbook timestamp exceed:", self.strategy, self.symbol, ts_diff, caller=self) - return - await self.cancel_orders() - await self.place_orders() - - async def cancel_orders(self): - """ 取消订单 - """ - order_nos = [ orderno for orderno in self.trader.orders ] - if order_nos and self.last_ask_price != self.ask1_price: - _, errors = await self.trader.revoke_order(*order_nos) - if errors: - logger.error(self.strategy,"cancel future order error! error:", errors, caller=self) - else: - logger.info(self.strategy,"cancel future order:", order_nos, caller=self) - - async def place_orders(self): - """ 下单 - """ - orders_data = [] - if self.trader.position and self.trader.position.short_quantity: - # 平空单 - price = round(self.ask1_price - 0.1, 1) - #quantity = -self.trader.position.short_quantity - quantity = -1 - action = ORDER_ACTION_BUY - new_price = str(price) # 将价格转换为字符串,保持精度 - if quantity: - orders_data.append({"price": new_price, "quantity": quantity, "action": action, "order_type": ORDER_TYPE_LIMIT, "lever_rate": 5}) - self.last_ask_price = self.ask1_price - if self.trader.assets and self.trader.assets.assets.get(self.raw_symbol): - # 开空单 - price = round(self.bid1_price + 0.1, 1) - #volume = int(float(self.trader.assets.assets.get(self.raw_symbol).get("free")) * 5/ price / self.contract_size) - volume = 1 - if volume >= 1: - quantity = - volume # 空1张 - action = ORDER_ACTION_SELL - new_price = str(price) # 将价格转换为字符串,保持精度 - if quantity: - orders_data.append({"price": new_price, "quantity": quantity, "action": action, "order_type": ORDER_TYPE_LIMIT, "lever_rate": 5}) - self.last_bid_price = self.bid1_price - - if orders_data: - order_nos, error = await self.trader.create_orders(orders_data) - if error: - logger.warn(self.strategy, "create future order error! error:", error, caller=self) - logger.info(self.strategy, "create future orders success:", order_nos, caller=self) - - async def on_event_orderbook_update(self, orderbook: Orderbook): - """ orderbook更新 - self.market.orderbooks 是最新的orderbook组成的队列,记录的是历史N次orderbook的数据。 - 本回调所传的orderbook是最新的单次orderbook。 - """ - logger.debug("orderbook:", orderbook, caller=self) - if orderbook.asks: - self.ask1_price = float(orderbook.asks[0][0]) # 卖一价格 - self.ask1_volume = float(orderbook.asks[0][1]) # 卖一数量 - if orderbook.bids: - self.bid1_price = float(orderbook.bids[0][0]) # 买一价格 - self.bid1_volume = float(orderbook.bids[0][1]) # 买一数量 - self.last_orderbook_timestamp = orderbook.timestamp - - async def on_event_order_update(self, order: Order): - """ 订单状态更新 - """ - logger.info("order update:", order, caller=self) - notifyts = order.utime - createts = order.ctime - nowtime = time.time() - self.total_count += 1 - if nowtime*1000 - notifyts > 1000: - self.exceed_1s_count += 1 - logger.error("order info:", order ,caller = self) - if nowtime*1000 - notifyts > 100: - self.exceed_100ms_count += 1 - if nowtime*1000 - notifyts > 50: - self.exceed_50ms_count += 1 - - - async def on_event_asset_update(self, asset: Asset): - """ 资产更新 - """ - logger.info("asset update:", asset, caller=self) - - async def on_event_position_update(self, position: Position): - """ 仓位更新 - """ - logger.info("position update:", position, caller=self) - - async def on_event_kline_update(self, kline: Kline): - """ kline更新 - self.market.klines 是最新的kline组成的队列,记录的是历史N次kline的数据。 - 本回调所传的kline是最新的单次kline。 - """ - logger.debug("kline update:", kline, caller=self) - - async def on_event_trade_update(self, trade: MarketTrade): - """ market trade更新 - self.market.trades 是最新的逐笔成交组成的队列,记录的是历史N次trade的数据。 - 本回调所传的trade是最新的单次trade。 - """ - logger.debug("trade update:", trade, caller=self) - - async def on_event_init_success_callback(self, success: bool, error: Error, **kwargs): - """ init success callback - """ - logger.debug("init success callback update:", success, error, kwargs, caller=self) - diff --git a/examples/kline_to_mongo/config.json b/examples/kline_to_mongo/config.json deleted file mode 100644 index d5a00bb..0000000 --- a/examples/kline_to_mongo/config.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "SERVER_ID": "data_collector", - "LOG": { - "console": true, - "level": "INFO", - "path": "/data/logs/servers/data_collector", - "name": "swap_maker_strategy.log", - "clear": true, - "backup_count": 5 - }, - "MONGODB": { - "host": "127.0.0.1", - "port": 27017, - "username": "root", - "password": "mongoadmin" - }, - "MARKETS": [ - { - "platform": "huobi_usdt_swap_cross", - "channels":[ - "orderbook", "kline", "trade" - ], - "orderbook_length": 10, - "orderbooks_length": 100, - "klines_length": 100, - "trades_length": 100, - "wss": "wss://api.hbdm.vn" - - } - ], - "strategy": "my_test_strategy", - "symbol": "BTC-USDT", - "contract_type": "USDTSWAP" -} diff --git a/examples/kline_to_mongo/main.py b/examples/kline_to_mongo/main.py deleted file mode 100644 index e0195b9..0000000 --- a/examples/kline_to_mongo/main.py +++ /dev/null @@ -1,33 +0,0 @@ -# -*— coding:utf-8 -*- - -""" -Huobi Swap Demo. - -Author: QiaoXiaofeng -Date: 2020/1/10 -Email: andyjoe318@gmail.com -""" - - -import sys - - -def initialize(): - from strategy import MyStrategy - MyStrategy() - - -def main(): - if len(sys.argv) > 1: - config_file = sys.argv[1] - else: - config_file = None - - from alpha.quant import quant - quant.initialize(config_file) - initialize() - quant.start() - - -if __name__ == '__main__': - main() diff --git a/examples/kline_to_mongo/run.sh b/examples/kline_to_mongo/run.sh deleted file mode 100644 index a051f0a..0000000 --- a/examples/kline_to_mongo/run.sh +++ /dev/null @@ -1 +0,0 @@ -python main.py config.json \ No newline at end of file diff --git a/examples/kline_to_mongo/strategy.py b/examples/kline_to_mongo/strategy.py deleted file mode 100644 index 294ea9e..0000000 --- a/examples/kline_to_mongo/strategy.py +++ /dev/null @@ -1,115 +0,0 @@ -# -*- coding:utf-8 -*- -""" -简单卖平策略,仅做演示使用 - -Author: QiaoXiaofeng -Date: 2020/12/28 -Email: andyjoe318@gmail.com -""" -# 策略实现 -import time -from alpha import const -from alpha.utils import tools -from alpha.utils import logger -from alpha.utils import mongo -from alpha.config import config -from alpha.market import Market -from alpha.trade import Trade -from alpha.order import Order -from alpha.orderbook import Orderbook -from alpha.kline import Kline -from alpha.markettrade import Trade as MarketTrade -from alpha.asset import Asset -from alpha.position import Position -from alpha.error import Error -from alpha.tasks import LoopRunTask -from alpha.order import ORDER_ACTION_SELL, ORDER_ACTION_BUY, ORDER_STATUS_FAILED, ORDER_STATUS_CANCELED, ORDER_STATUS_FILLED,\ - ORDER_TYPE_LIMIT, ORDER_TYPE_MARKET - - -class MyStrategy: - - def __init__(self): - """ 初始化 - """ - self.strategy = config.strategy - self.symbol = config.symbol - self.contract_type = config.contract_type - self.channels = config.markets[0]["channels"] - self.orderbook_length = config.markets[0]["orderbook_length"] - self.orderbooks_length = config.markets[0]["orderbooks_length"] - self.klines_length = config.markets[0]["klines_length"] - self.trades_length = config.markets[0]["trades_length"] - self.market_wss = config.markets[0]["wss"] - self.platform = config.markets[0]["platform"] - - # 行情模块 - cc = { - "platform": self.platform, - "symbols": [self.symbol], - "channels": self.channels, - "orderbook_length": self.orderbook_length, - "orderbooks_length": self.orderbooks_length, - "klines_length": self.klines_length, - "trades_length": self.trades_length, - "wss": self.market_wss, - "orderbook_update_callback": self.on_event_orderbook_update, - "kline_update_callback": self.on_event_kline_update, - "trade_update_callback": self.on_event_trade_update - } - self.market = Market(**cc) - - async def on_event_orderbook_update(self, orderbook: Orderbook): - """ orderbook更新 - self.market.orderbooks 是最新的orderbook组成的队列,记录的是历史N次orderbook的数据。 - 本回调所传的orderbook是最新的单次orderbook。 - """ - logger.debug("orderbook:", orderbook, caller=self) - if orderbook.asks: - self.ask1_price = float(orderbook.asks[0][0]) # 卖一价格 - self.ask1_volume = float(orderbook.asks[0][1]) # 卖一数量 - if orderbook.bids: - self.bid1_price = float(orderbook.bids[0][0]) # 买一价格 - self.bid1_volume = float(orderbook.bids[0][1]) # 买一数量 - self.last_orderbook_timestamp = orderbook.timestamp - - async def on_event_order_update(self, order: Order): - """ 订单状态更新 - """ - logger.info("order update:", order, caller=self) - - async def on_event_asset_update(self, asset: Asset): - """ 资产更新 - """ - logger.info("asset update:", asset, caller=self) - - async def on_event_position_update(self, position: Position): - """ 仓位更新 - """ - logger.info("position update:", position, caller=self) - - async def on_event_kline_update(self, kline: Kline): - """ kline更新 - self.market.klines 是最新的kline组成的队列,记录的是历史N次kline的数据。 - 本回调所传的kline是最新的单次kline。 - """ - logger.debug("kline update:", kline, caller=self) - result = await mongo.MongoDBBase('quant', 'kline').find_one_and_update({'platform': kline.platform, 'symbol': kline.symbol, \ - 'timestamp': kline.timestamp, 'kline_type': kline.kline_type}, {'$set': {'open': kline.open, 'high': kline.high, \ - 'close': kline.close, 'low': kline.low, 'volume': kline.volume }}, upsert=True, return_document=True) - if not result: - logger.error("insert mongo error ", kline.platform+kline.symbol, kline, result) - logger.debug("insert mongo success: ", result) - - async def on_event_trade_update(self, trade: MarketTrade): - """ market trade更新 - self.market.trades 是最新的逐笔成交组成的队列,记录的是历史N次trade的数据。 - 本回调所传的trade是最新的单次trade。 - """ - logger.debug("trade update:", trade, caller=self) - - async def on_event_init_success_callback(self, success: bool, error: Error, **kwargs): - """ init success callback - """ - logger.debug("init success callback update:", success, error, kwargs, caller=self) - diff --git a/log/debug.log b/log/debug.log new file mode 100644 index 0000000..3642172 --- /dev/null +++ b/log/debug.log @@ -0,0 +1,188 @@ +2024-10-22 16:00:05.120 [DEBUG] [pool-2-thread-3] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584005050 +2024-10-22 16:00:10.392 [DEBUG] [pool-2-thread-2] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584010341 +2024-10-22 16:00:15.623 [DEBUG] [pool-2-thread-4] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584015580 +2024-10-22 16:00:20.847 [DEBUG] [pool-2-thread-5] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584020813 +2024-10-22 16:00:26.179 [DEBUG] [pool-2-thread-6] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584026034 +2024-10-22 16:00:31.435 [DEBUG] [pool-2-thread-7] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584031367 +2024-10-22 16:00:38.900 [DEBUG] [pool-2-thread-8] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584038832 +2024-10-22 16:00:44.141 [DEBUG] [pool-2-thread-9] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584044088 +2024-10-22 16:00:49.425 [DEBUG] [pool-2-thread-10] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584049329 +2024-10-22 16:00:54.705 [DEBUG] [pool-2-thread-1] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584054612 +2024-10-22 16:00:59.973 [DEBUG] [pool-2-thread-3] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584059893 +2024-10-22 16:01:05.262 [DEBUG] [pool-2-thread-2] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584065169 +2024-10-22 16:01:10.530 [DEBUG] [pool-2-thread-4] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584070449 +2024-10-22 16:01:15.830 [DEBUG] [pool-2-thread-5] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584075722 +2024-10-22 16:01:21.101 [DEBUG] [pool-2-thread-6] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584081017 +2024-10-22 16:01:26.390 [DEBUG] [pool-2-thread-7] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584086297 +2024-10-22 16:01:31.691 [DEBUG] [pool-2-thread-8] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584091581 +2024-10-22 16:01:38.930 [DEBUG] [pool-2-thread-9] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584098838 +2024-10-22 16:01:44.152 [DEBUG] [pool-2-thread-10] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584104116 +2024-10-22 16:01:49.416 [DEBUG] [pool-2-thread-1] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584109340 +2024-10-22 16:01:54.687 [DEBUG] [pool-2-thread-3] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584114612 +2024-10-22 16:01:59.981 [DEBUG] [pool-2-thread-2] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584119873 +2024-10-22 16:02:05.280 [DEBUG] [pool-2-thread-4] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584125172 +2024-10-22 16:02:10.522 [DEBUG] [pool-2-thread-5] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584130472 +2024-10-22 16:02:15.813 [DEBUG] [pool-2-thread-6] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584135730 +2024-10-22 16:02:21.063 [DEBUG] [pool-2-thread-7] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584141009 +2024-10-22 16:02:26.351 [DEBUG] [pool-2-thread-8] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584146259 +2024-10-22 16:02:31.648 [DEBUG] [pool-2-thread-9] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584151551 +2024-10-22 16:02:38.932 [DEBUG] [pool-2-thread-10] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584158842 +2024-10-22 16:02:44.228 [DEBUG] [pool-2-thread-1] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584164131 +2024-10-22 16:02:49.516 [DEBUG] [pool-2-thread-3] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584169432 +2024-10-22 16:02:50.796 [DEBUG] [main] [com.huobi.future.api.BaseTest.getContractAccountInfo:30] - 2.获取用户账户信息:{"data":[{"adjustFactor":0.025000000000000000,"leverRate":5,"marginAvailable":0,"marginBalance":0,"marginFrozen":0,"marginPosition":0,"marginStatic":0,"profitReal":0,"profitUnreal":0,"symbol":"BTC","withdrawAvailable":0}],"status":"ok","ts":1729584170697} +2024-10-22 16:02:52.323 [DEBUG] [main] [com.huobi.future.api.BaseTest.getContractAccountInfo:32] - 2.获取用户账户信息:{"data":[{"adjustFactor":0.025000000000000000,"leverRate":5,"marginAvailable":0,"marginBalance":0,"marginFrozen":0,"marginPosition":0,"marginStatic":0,"profitReal":0,"profitUnreal":0,"symbol":"BTC","withdrawAvailable":0},{"adjustFactor":0.050000000000000000,"leverRate":5,"marginAvailable":0,"marginBalance":0,"marginFrozen":0,"marginPosition":0,"marginStatic":0,"profitReal":0,"profitUnreal":0,"symbol":"ETH","withdrawAvailable":0},{"adjustFactor":0.050000000000000000,"leverRate":5,"marginAvailable":0,"marginBalance":0,"marginFrozen":0,"marginPosition":0,"marginStatic":0,"profitReal":0,"profitUnreal":0,"symbol":"LTC","withdrawAvailable":0},{"adjustFactor":0.050000000000000000,"leverRate":5,"marginAvailable":0,"marginBalance":0,"marginFrozen":0,"marginPosition":0,"marginStatic":0,"profitReal":0,"profitUnreal":0,"symbol":"EOS","withdrawAvailable":0},{"adjustFactor":0.100000000000000000,"leverRate":5,"marginAvailable":0,"marginBalance":0,"marginFrozen":0,"marginPosition":0,"marginStatic":0,"profitReal":0,"profitUnreal":0,"symbol":"LINK","withdrawAvailable":0},{"adjustFactor":0.100000000000000000,"leverRate":5,"marginAvailable":0,"marginBalance":0,"marginFrozen":0,"marginPosition":0,"marginStatic":0,"profitReal":0,"profitUnreal":0,"symbol":"DOT","withdrawAvailable":0},{"adjustFactor":0.075000000000000000,"leverRate":5,"marginAvailable":0,"marginBalance":0,"marginFrozen":0,"marginPosition":0,"marginStatic":0,"profitReal":0,"profitUnreal":0,"symbol":"TRX","withdrawAvailable":0},{"adjustFactor":0.100000000000000000,"leverRate":5,"marginAvailable":0,"marginBalance":0,"marginFrozen":0,"marginPosition":0,"marginStatic":0,"profitReal":0,"profitUnreal":0,"symbol":"ADA","withdrawAvailable":0},{"adjustFactor":0.050000000000000000,"leverRate":5,"marginAvailable":0,"marginBalance":0,"marginFrozen":0,"marginPosition":0,"marginStatic":0,"profitReal":0,"profitUnreal":0,"symbol":"BCH","withdrawAvailable":0},{"adjustFactor":0.050000000000000000,"leverRate":5,"marginAvailable":0,"marginBalance":0,"marginFrozen":0,"marginPosition":0,"marginStatic":0,"profitReal":0,"profitUnreal":0,"symbol":"XRP","withdrawAvailable":0},{"adjustFactor":0.075000000000000000,"leverRate":5,"marginAvailable":0,"marginBalance":0,"marginFrozen":0,"marginPosition":0,"marginStatic":0,"profitReal":0,"profitUnreal":0,"symbol":"BSV","withdrawAvailable":0},{"adjustFactor":0.075000000000000000,"leverRate":5,"marginAvailable":0,"marginBalance":0,"marginFrozen":0,"marginPosition":0,"marginStatic":0,"profitReal":0,"profitUnreal":0,"symbol":"ETC","withdrawAvailable":0},{"adjustFactor":0.100000000000000000,"leverRate":5,"marginAvailable":0,"marginBalance":0,"marginFrozen":0,"marginPosition":0,"marginStatic":0,"profitReal":0,"profitUnreal":0,"symbol":"FIL","withdrawAvailable":0},{"adjustFactor":0.025000000000000000,"leverRate":5,"marginAvailable":0,"marginBalance":0,"marginFrozen":0,"marginPosition":0,"marginStatic":0,"profitReal":0,"profitUnreal":0,"symbol":"USDT","withdrawAvailable":0},{"adjustFactor":0.100000000000000000,"leverRate":5,"marginAvailable":0,"marginBalance":0,"marginFrozen":0,"marginPosition":0,"marginStatic":0,"profitReal":0,"profitUnreal":0,"symbol":"HT","withdrawAvailable":0},{"adjustFactor":0.100000000000000000,"leverRate":5,"marginAvailable":0,"marginBalance":0,"marginFrozen":0,"marginPosition":0,"marginStatic":0,"profitReal":0,"profitUnreal":0,"symbol":"HUSD","withdrawAvailable":0}],"status":"ok","ts":1729584172283} +2024-10-22 16:02:54.757 [DEBUG] [pool-2-thread-2] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584174718 +2024-10-22 16:02:59.985 [DEBUG] [pool-2-thread-4] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584179961 +2024-10-22 16:03:05.243 [DEBUG] [pool-2-thread-5] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584185195 +2024-10-22 16:03:10.489 [DEBUG] [pool-2-thread-6] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584190447 +2024-10-22 16:03:15.711 [DEBUG] [pool-2-thread-7] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584195691 +2024-10-22 16:03:20.959 [DEBUG] [pool-2-thread-8] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584200916 +2024-10-22 16:03:26.215 [DEBUG] [pool-2-thread-9] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584206165 +2024-10-22 16:03:31.500 [DEBUG] [pool-2-thread-10] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584211416 +2024-10-22 16:03:38.870 [DEBUG] [pool-2-thread-1] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584218844 +2024-10-22 16:03:44.109 [DEBUG] [pool-2-thread-3] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584224075 +2024-10-22 16:03:49.396 [DEBUG] [pool-2-thread-2] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584229310 +2024-10-22 16:03:54.658 [DEBUG] [pool-2-thread-4] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584234597 +2024-10-22 16:03:59.923 [DEBUG] [pool-2-thread-5] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584239860 +2024-10-22 16:04:05.222 [DEBUG] [pool-2-thread-6] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584245127 +2024-10-22 16:04:10.503 [DEBUG] [pool-2-thread-7] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584250424 +2024-10-22 16:04:15.756 [DEBUG] [pool-2-thread-8] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584255704 +2024-10-22 16:04:21.045 [DEBUG] [pool-2-thread-9] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584260959 +2024-10-22 16:04:26.286 [DEBUG] [pool-2-thread-10] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584266246 +2024-10-22 16:04:31.507 [DEBUG] [pool-2-thread-1] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584271488 +2024-10-22 16:04:38.931 [DEBUG] [pool-2-thread-3] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584278852 +2024-10-22 16:04:44.221 [DEBUG] [pool-2-thread-2] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584284131 +2024-10-22 16:04:49.545 [DEBUG] [pool-2-thread-4] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584289438 +2024-10-22 16:04:54.770 [DEBUG] [pool-2-thread-5] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584294749 +2024-10-22 16:05:00.047 [DEBUG] [pool-2-thread-6] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584299972 +2024-10-22 16:05:05.315 [DEBUG] [pool-2-thread-7] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584305253 +2024-10-22 16:05:10.608 [DEBUG] [pool-2-thread-8] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584310515 +2024-10-22 16:05:15.858 [DEBUG] [pool-2-thread-9] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584315809 +2024-10-22 16:05:21.104 [DEBUG] [pool-2-thread-10] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584321059 +2024-10-22 16:05:26.373 [DEBUG] [pool-2-thread-1] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584326305 +2024-10-22 16:05:31.657 [DEBUG] [pool-2-thread-3] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584331574 +2024-10-22 16:05:38.937 [DEBUG] [pool-2-thread-2] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584338847 +2024-10-22 16:05:44.195 [DEBUG] [pool-2-thread-4] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584344138 +2024-10-22 16:05:49.467 [DEBUG] [pool-2-thread-5] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584349398 +2024-10-22 16:05:54.735 [DEBUG] [pool-2-thread-6] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584354668 +2024-10-22 16:05:59.949 [DEBUG] [pool-2-thread-7] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584359935 +2024-10-22 16:06:05.244 [DEBUG] [pool-2-thread-8] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584365149 +2024-10-22 16:06:10.507 [DEBUG] [pool-2-thread-9] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584370446 +2024-10-22 16:06:15.773 [DEBUG] [pool-2-thread-10] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584375708 +2024-10-22 16:06:21.053 [DEBUG] [pool-2-thread-1] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584380973 +2024-10-22 16:06:26.301 [DEBUG] [pool-2-thread-3] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584386253 +2024-10-22 16:06:31.625 [DEBUG] [pool-2-thread-2] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584391506 +2024-10-22 16:06:38.890 [DEBUG] [pool-2-thread-4] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584398846 +2024-10-22 16:06:44.182 [DEBUG] [pool-2-thread-5] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584404094 +2024-10-22 16:06:49.441 [DEBUG] [pool-2-thread-6] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584409382 +2024-10-22 16:06:54.783 [DEBUG] [pool-2-thread-7] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584414643 +2024-10-22 16:07:00.043 [DEBUG] [pool-2-thread-8] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584419982 +2024-10-22 16:07:05.239 [DEBUG] [pool-2-thread-9] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584425242 +2024-10-22 16:07:10.510 [DEBUG] [pool-2-thread-10] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584430439 +2024-10-22 16:07:15.730 [DEBUG] [pool-2-thread-1] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584435710 +2024-10-22 16:07:20.966 [DEBUG] [pool-2-thread-3] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584440930 +2024-10-22 16:07:26.216 [DEBUG] [pool-2-thread-2] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584446169 +2024-10-22 16:07:31.498 [DEBUG] [pool-2-thread-4] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584451451 +2024-10-22 16:07:38.898 [DEBUG] [pool-2-thread-5] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584458843 +2024-10-22 16:07:44.181 [DEBUG] [pool-2-thread-6] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584464100 +2024-10-22 16:07:49.428 [DEBUG] [pool-2-thread-7] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584469381 +2024-10-22 16:07:54.688 [DEBUG] [pool-2-thread-8] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584474631 +2024-10-22 16:07:59.900 [DEBUG] [pool-2-thread-9] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584479887 +2024-10-22 16:08:05.138 [DEBUG] [pool-2-thread-10] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584485100 +2024-10-22 16:08:10.408 [DEBUG] [pool-2-thread-1] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584490339 +2024-10-22 16:08:15.666 [DEBUG] [pool-2-thread-3] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584495610 +2024-10-22 16:08:20.945 [DEBUG] [pool-2-thread-2] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584500865 +2024-10-22 16:08:26.196 [DEBUG] [pool-2-thread-4] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584506144 +2024-10-22 16:08:31.460 [DEBUG] [pool-2-thread-5] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584511399 +2024-10-22 16:08:38.908 [DEBUG] [pool-2-thread-6] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584518845 +2024-10-22 16:08:44.138 [DEBUG] [pool-2-thread-7] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584524116 +2024-10-22 16:08:49.402 [DEBUG] [pool-2-thread-8] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584529337 +2024-10-22 16:08:54.618 [DEBUG] [pool-2-thread-9] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584534602 +2024-10-22 16:08:59.893 [DEBUG] [pool-2-thread-10] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584539817 +2024-10-22 16:09:05.248 [DEBUG] [pool-2-thread-1] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584545092 +2024-10-22 16:09:10.517 [DEBUG] [pool-2-thread-3] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584550447 +2024-10-22 16:09:15.783 [DEBUG] [pool-2-thread-2] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584555720 +2024-10-22 16:09:21.044 [DEBUG] [pool-2-thread-4] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584560980 +2024-10-22 16:09:26.335 [DEBUG] [pool-2-thread-5] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584566246 +2024-10-22 16:09:31.668 [DEBUG] [pool-2-thread-6] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584571534 +2024-10-22 16:09:38.882 [DEBUG] [pool-2-thread-7] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584578841 +2024-10-22 16:09:44.145 [DEBUG] [pool-2-thread-8] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584584081 +2024-10-22 16:09:49.389 [DEBUG] [pool-2-thread-9] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584589343 +2024-10-22 16:09:54.646 [DEBUG] [pool-2-thread-10] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584594587 +2024-10-22 16:09:59.945 [DEBUG] [pool-2-thread-1] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584599856 +2024-10-22 16:10:05.240 [DEBUG] [pool-2-thread-3] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584605145 +2024-10-22 16:10:10.580 [DEBUG] [pool-2-thread-2] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584610441 +2024-10-22 16:10:15.906 [DEBUG] [pool-2-thread-4] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584615778 +2024-10-22 16:10:21.200 [DEBUG] [pool-2-thread-5] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584621109 +2024-10-22 16:10:26.427 [DEBUG] [pool-2-thread-6] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584626397 +2024-10-22 16:10:31.778 [DEBUG] [pool-2-thread-7] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584631626 +2024-10-22 16:10:38.930 [DEBUG] [pool-2-thread-8] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584638844 +2024-10-22 16:10:44.127 [DEBUG] [pool-2-thread-9] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584644127 +2024-10-22 16:10:49.398 [DEBUG] [pool-2-thread-10] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584649325 +2024-10-22 16:10:54.673 [DEBUG] [pool-2-thread-1] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584654616 +2024-10-22 16:10:59.922 [DEBUG] [pool-2-thread-3] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584659871 +2024-10-22 16:11:05.264 [DEBUG] [pool-2-thread-2] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584665120 +2024-10-22 16:11:10.507 [DEBUG] [pool-2-thread-4] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584670464 +2024-10-22 16:11:15.786 [DEBUG] [pool-2-thread-5] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584675704 +2024-10-22 16:11:21.021 [DEBUG] [pool-2-thread-6] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584680985 +2024-10-22 16:11:26.289 [DEBUG] [pool-2-thread-7] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584686219 +2024-10-22 16:11:31.522 [DEBUG] [pool-2-thread-8] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584691488 +2024-10-22 16:11:38.917 [DEBUG] [pool-2-thread-9] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584698843 +2024-10-22 16:11:44.182 [DEBUG] [pool-2-thread-10] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584704114 +2024-10-22 16:11:49.503 [DEBUG] [pool-2-thread-1] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584709379 +2024-10-22 16:11:54.736 [DEBUG] [pool-2-thread-3] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584714701 +2024-10-22 16:11:59.977 [DEBUG] [pool-2-thread-2] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584719933 +2024-10-22 16:12:05.214 [DEBUG] [pool-2-thread-4] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584725173 +2024-10-22 16:12:10.444 [DEBUG] [pool-2-thread-5] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584730412 +2024-10-22 16:12:15.820 [DEBUG] [pool-2-thread-6] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584735645 +2024-10-22 16:12:21.105 [DEBUG] [pool-2-thread-7] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584741019 +2024-10-22 16:12:26.336 [DEBUG] [pool-2-thread-8] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584746302 +2024-10-22 16:12:31.628 [DEBUG] [pool-2-thread-9] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584751533 +2024-10-22 16:12:38.894 [DEBUG] [pool-2-thread-10] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584758845 +2024-10-22 16:12:44.155 [DEBUG] [pool-2-thread-1] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584764099 +2024-10-22 16:12:49.500 [DEBUG] [pool-2-thread-3] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584769361 +2024-10-22 16:12:54.770 [DEBUG] [pool-2-thread-2] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584774710 +2024-10-22 16:12:59.993 [DEBUG] [pool-2-thread-4] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584779981 +2024-10-22 16:13:05.276 [DEBUG] [pool-2-thread-5] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584785202 +2024-10-22 16:13:10.489 [DEBUG] [pool-2-thread-6] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584790485 +2024-10-22 16:13:15.740 [DEBUG] [pool-2-thread-7] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584795699 +2024-10-22 16:13:20.971 [DEBUG] [pool-2-thread-8] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584800950 +2024-10-22 16:13:26.231 [DEBUG] [pool-2-thread-9] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584806181 +2024-10-22 16:13:31.440 [DEBUG] [pool-2-thread-10] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584811442 +2024-10-22 16:13:38.892 [DEBUG] [pool-2-thread-1] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584818854 +2024-10-22 16:13:44.147 [DEBUG] [pool-2-thread-3] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584824102 +2024-10-22 16:13:49.449 [DEBUG] [pool-2-thread-2] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584829357 +2024-10-22 16:13:54.723 [DEBUG] [pool-2-thread-4] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584834660 +2024-10-22 16:13:59.944 [DEBUG] [pool-2-thread-5] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584839935 +2024-10-22 16:14:05.212 [DEBUG] [pool-2-thread-6] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584845154 +2024-10-22 16:14:10.485 [DEBUG] [pool-2-thread-7] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584850422 +2024-10-22 16:14:15.713 [DEBUG] [pool-2-thread-8] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584855695 +2024-10-22 16:14:20.995 [DEBUG] [pool-2-thread-9] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584860925 +2024-10-22 16:14:26.249 [DEBUG] [pool-2-thread-10] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584866206 +2024-10-22 16:14:31.527 [DEBUG] [pool-2-thread-1] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584871460 +2024-10-22 16:14:38.866 [DEBUG] [pool-2-thread-3] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584878856 +2024-10-22 16:14:44.158 [DEBUG] [pool-2-thread-2] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584884078 +2024-10-22 16:14:49.413 [DEBUG] [pool-2-thread-4] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584889367 +2024-10-22 16:14:54.683 [DEBUG] [pool-2-thread-5] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584894626 +2024-10-22 16:14:59.957 [DEBUG] [pool-2-thread-6] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584899895 +2024-10-22 16:15:05.205 [DEBUG] [pool-2-thread-7] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584905173 +2024-10-22 16:15:10.507 [DEBUG] [pool-2-thread-8] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584910415 +2024-10-22 16:15:15.828 [DEBUG] [pool-2-thread-9] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584915718 +2024-10-22 16:15:21.075 [DEBUG] [pool-2-thread-10] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584921040 +2024-10-22 16:15:26.354 [DEBUG] [pool-2-thread-1] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584926285 +2024-10-22 16:15:31.576 [DEBUG] [pool-2-thread-3] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584931564 +2024-10-22 16:15:38.939 [DEBUG] [pool-2-thread-2] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584938857 +2024-10-22 16:15:44.201 [DEBUG] [pool-2-thread-4] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584944148 +2024-10-22 16:15:49.480 [DEBUG] [pool-2-thread-5] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584949417 +2024-10-22 16:15:54.743 [DEBUG] [pool-2-thread-6] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584954707 +2024-10-22 16:16:00.039 [DEBUG] [pool-2-thread-7] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584959953 +2024-10-22 16:16:05.308 [DEBUG] [pool-2-thread-8] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584965249 +2024-10-22 16:16:10.567 [DEBUG] [pool-2-thread-9] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584970521 +2024-10-22 16:16:15.795 [DEBUG] [pool-2-thread-10] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584975777 +2024-10-22 16:16:21.020 [DEBUG] [pool-2-thread-1] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584981005 +2024-10-22 16:16:26.283 [DEBUG] [pool-2-thread-3] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584986230 +2024-10-22 16:16:31.548 [DEBUG] [pool-2-thread-2] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584991492 +2024-10-22 16:16:38.877 [DEBUG] [pool-2-thread-4] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729584998852 +2024-10-22 16:16:44.165 [DEBUG] [pool-2-thread-5] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729585004086 +2024-10-22 16:16:49.445 [DEBUG] [pool-2-thread-6] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729585009374 +2024-10-22 16:16:54.705 [DEBUG] [pool-2-thread-7] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729585014654 diff --git a/log/debug/debug.2024-01-16_14.log b/log/debug/debug.2024-01-16_14.log new file mode 100644 index 0000000..4ffec82 --- /dev/null +++ b/log/debug/debug.2024-01-16_14.log @@ -0,0 +1 @@ +2024-01-16 14:10:10.058 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.getSwapContractInfo:23] - 1.获取合约信息:{"data":[{"businessType":"swap","contractCode":"BTC-USDT","contractSize":0.001000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20201021","deliveryDate":"","pair":"BTC-USDT","priceTick":0.100000000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"BTC","tradePartition":"USDT"},{"businessType":"swap","contractCode":"ETH-USDT","contractSize":0.010000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20201021","deliveryDate":"","pair":"ETH-USDT","priceTick":0.010000000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"ETH","tradePartition":"USDT"},{"businessType":"swap","contractCode":"LTC-USDT","contractSize":0.100000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20201111","deliveryDate":"","pair":"LTC-USDT","priceTick":0.010000000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"LTC","tradePartition":"USDT"},{"businessType":"swap","contractCode":"DOGE-USDT","contractSize":100.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20210113","deliveryDate":"","pair":"DOGE-USDT","priceTick":0.000001000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"DOGE","tradePartition":"USDT"},{"businessType":"swap","contractCode":"SHIB-USDT","contractSize":1000.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20210511","deliveryDate":"","pair":"SHIB-USDT","priceTick":1.000000000E-9,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"SHIB","tradePartition":"USDT"},{"businessType":"swap","contractCode":"ICP-USDT","contractSize":0.100000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20231219","deliveryDate":"","pair":"ICP-USDT","priceTick":0.001000000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"ICP","tradePartition":"USDT"},{"businessType":"swap","contractCode":"XRP-USDT","contractSize":10.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20201111","deliveryDate":"","pair":"XRP-USDT","priceTick":0.000010000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"XRP","tradePartition":"USDT"},{"businessType":"swap","contractCode":"LINK-USDT","contractSize":0.100000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20201021","deliveryDate":"","pair":"LINK-USDT","priceTick":0.000100000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"LINK","tradePartition":"USDT"},{"businessType":"swap","contractCode":"TRX-USDT","contractSize":100.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20201111","deliveryDate":"","pair":"TRX-USDT","priceTick":0.000001000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"TRX","tradePartition":"USDT"},{"businessType":"swap","contractCode":"DOT-USDT","contractSize":1.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20201021","deliveryDate":"","pair":"DOT-USDT","priceTick":0.000100000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"DOT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"ADA-USDT","contractSize":10.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20201120","deliveryDate":"","pair":"ADA-USDT","priceTick":0.000001000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"ADA","tradePartition":"USDT"},{"businessType":"swap","contractCode":"EOS-USDT","contractSize":1.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20201111","deliveryDate":"","pair":"EOS-USDT","priceTick":0.000100000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"EOS","tradePartition":"USDT"},{"businessType":"swap","contractCode":"BCH-USDT","contractSize":0.010000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20201021","deliveryDate":"","pair":"BCH-USDT","priceTick":0.010000000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"BCH","tradePartition":"USDT"},{"businessType":"swap","contractCode":"BSV-USDT","contractSize":0.010000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20230626","deliveryDate":"","pair":"BSV-USDT","priceTick":0.010000000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"BSV","tradePartition":"USDT"},{"businessType":"swap","contractCode":"YFI-USDT","contractSize":0.000100000000000000,"contractStatus":1,"contractType":"swap","createDate":"20201021","deliveryDate":"","pair":"YFI-USDT","priceTick":0.100000000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"YFI","tradePartition":"USDT"},{"businessType":"swap","contractCode":"UNI-USDT","contractSize":1.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20201021","deliveryDate":"","pair":"UNI-USDT","priceTick":0.000100000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"UNI","tradePartition":"USDT"},{"businessType":"swap","contractCode":"FIL-USDT","contractSize":0.100000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20201021","deliveryDate":"","pair":"FIL-USDT","priceTick":0.001000000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"FIL","tradePartition":"USDT"},{"businessType":"swap","contractCode":"SNX-USDT","contractSize":1.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20201223","deliveryDate":"","pair":"SNX-USDT","priceTick":0.000100000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"SNX","tradePartition":"USDT"},{"businessType":"swap","contractCode":"BNB-USDT","contractSize":0.100000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20201021","deliveryDate":"","pair":"BNB-USDT","priceTick":0.001000000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"BNB","tradePartition":"USDT"},{"businessType":"swap","contractCode":"ETC-USDT","contractSize":1.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20201120","deliveryDate":"","pair":"ETC-USDT","priceTick":0.000100000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"ETC","tradePartition":"USDT"},{"businessType":"swap","contractCode":"THETA-USDT","contractSize":10.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20201216","deliveryDate":"","pair":"THETA-USDT","priceTick":0.000010000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"THETA","tradePartition":"USDT"},{"businessType":"swap","contractCode":"KSM-USDT","contractSize":0.100000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20201216","deliveryDate":"","pair":"KSM-USDT","priceTick":0.001000000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"KSM","tradePartition":"USDT"},{"businessType":"swap","contractCode":"ATOM-USDT","contractSize":1.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20201126","deliveryDate":"","pair":"ATOM-USDT","priceTick":0.000100000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"ATOM","tradePartition":"USDT"},{"businessType":"swap","contractCode":"AAVE-USDT","contractSize":0.100000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20201120","deliveryDate":"","pair":"AAVE-USDT","priceTick":0.001000000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"AAVE","tradePartition":"USDT"},{"businessType":"swap","contractCode":"XLM-USDT","contractSize":10.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20230721","deliveryDate":"","pair":"XLM-USDT","priceTick":0.000010000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"XLM","tradePartition":"USDT"},{"businessType":"swap","contractCode":"SUSHI-USDT","contractSize":1.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20201120","deliveryDate":"","pair":"SUSHI-USDT","priceTick":0.000100000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"SUSHI","tradePartition":"USDT"},{"businessType":"swap","contractCode":"GRT-USDT","contractSize":10.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20201223","deliveryDate":"","pair":"GRT-USDT","priceTick":0.000010000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"GRT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"1INCH-USDT","contractSize":1.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20201229","deliveryDate":"","pair":"1INCH-USDT","priceTick":0.000100000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"1INCH","tradePartition":"USDT"},{"businessType":"swap","contractCode":"CRV-USDT","contractSize":1.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20201120","deliveryDate":"","pair":"CRV-USDT","priceTick":0.000100000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"CRV","tradePartition":"USDT"},{"businessType":"swap","contractCode":"ALGO-USDT","contractSize":10.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20201204","deliveryDate":"","pair":"ALGO-USDT","priceTick":0.000010000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"ALGO","tradePartition":"USDT"},{"businessType":"swap","contractCode":"WAVES-USDT","contractSize":1.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20201126","deliveryDate":"","pair":"WAVES-USDT","priceTick":0.000100000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"WAVES","tradePartition":"USDT"},{"businessType":"swap","contractCode":"COMP-USDT","contractSize":0.010000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20230717","deliveryDate":"","pair":"COMP-USDT","priceTick":0.010000000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"COMP","tradePartition":"USDT"},{"businessType":"swap","contractCode":"XMR-USDT","contractSize":0.010000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20230613","deliveryDate":"","pair":"XMR-USDT","priceTick":0.010000000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"XMR","tradePartition":"USDT"},{"businessType":"swap","contractCode":"KAVA-USDT","contractSize":1.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20201126","deliveryDate":"","pair":"KAVA-USDT","priceTick":0.000100000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"KAVA","tradePartition":"USDT"},{"businessType":"swap","contractCode":"AVAX-USDT","contractSize":1.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20201223","deliveryDate":"","pair":"AVAX-USDT","priceTick":0.000100000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"AVAX","tradePartition":"USDT"},{"businessType":"swap","contractCode":"MATIC-USDT","contractSize":100.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20210113","deliveryDate":"","pair":"MATIC-USDT","priceTick":0.000010000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"MATIC","tradePartition":"USDT"},{"businessType":"swap","contractCode":"LINA-USDT","contractSize":10.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20230601","deliveryDate":"","pair":"LINA-USDT","priceTick":0.000010000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"LINA","tradePartition":"USDT"},{"businessType":"swap","contractCode":"SOL-USDT","contractSize":1.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20210113","deliveryDate":"","pair":"SOL-USDT","priceTick":0.000100000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"SOL","tradePartition":"USDT"},{"businessType":"swap","contractCode":"IOTA-USDT","contractSize":1.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20231204","deliveryDate":"","pair":"IOTA-USDT","priceTick":0.000100000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"IOTA","tradePartition":"USDT"},{"businessType":"swap","contractCode":"MKR-USDT","contractSize":0.001000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20230314","deliveryDate":"","pair":"MKR-USDT","priceTick":0.100000000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"MKR","tradePartition":"USDT"},{"businessType":"swap","contractCode":"SAND-USDT","contractSize":10.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20210129","deliveryDate":"","pair":"SAND-USDT","priceTick":0.000001000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"SAND","tradePartition":"USDT"},{"businessType":"swap","contractCode":"MASK-USDT","contractSize":0.100000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20230216","deliveryDate":"","pair":"MASK-USDT","priceTick":0.001000000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"MASK","tradePartition":"USDT"},{"businessType":"swap","contractCode":"NEAR-USDT","contractSize":1.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20210120","deliveryDate":"","pair":"NEAR-USDT","priceTick":0.001000000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"NEAR","tradePartition":"USDT"},{"businessType":"swap","contractCode":"MANA-USDT","contractSize":10.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20210129","deliveryDate":"","pair":"MANA-USDT","priceTick":0.000100000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"MANA","tradePartition":"USDT"},{"businessType":"swap","contractCode":"BNT-USDT","contractSize":1.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20231009","deliveryDate":"","pair":"BNT-USDT","priceTick":0.000100000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"BNT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"LUNA-USDT","contractSize":1.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20220603","deliveryDate":"","pair":"LUNA-USDT","priceTick":0.000100000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"LUNA","tradePartition":"USDT"},{"businessType":"swap","contractCode":"WOO-USDT","contractSize":10.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20230307","deliveryDate":"","pair":"WOO-USDT","priceTick":0.000010000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"WOO","tradePartition":"USDT"},{"businessType":"swap","contractCode":"CHZ-USDT","contractSize":10.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20210312","deliveryDate":"","pair":"CHZ-USDT","priceTick":0.000010000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"CHZ","tradePartition":"USDT"},{"businessType":"swap","contractCode":"ONE-USDT","contractSize":100.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20210319","deliveryDate":"","pair":"ONE-USDT","priceTick":0.000001000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"ONE","tradePartition":"USDT"},{"businessType":"swap","contractCode":"STORJ-USDT","contractSize":1.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20230911","deliveryDate":"","pair":"STORJ-USDT","priceTick":0.000100000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"STORJ","tradePartition":"USDT"},{"businessType":"swap","contractCode":"BTT-USDT","contractSize":1000000.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20231212","deliveryDate":"","pair":"BTT-USDT","priceTick":1.000000000E-9,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"BTT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"AXS-USDT","contractSize":0.100000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20210804","deliveryDate":"","pair":"AXS-USDT","priceTick":0.000100000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"AXS","tradePartition":"USDT"},{"businessType":"swap","contractCode":"ACH-USDT","contractSize":10.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20230222","deliveryDate":"","pair":"ACH-USDT","priceTick":0.000010000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"ACH","tradePartition":"USDT"},{"businessType":"swap","contractCode":"LRC-USDT","contractSize":10.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20210113","deliveryDate":"","pair":"LRC-USDT","priceTick":0.000010000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"LRC","tradePartition":"USDT"},{"businessType":"swap","contractCode":"YGG-USDT","contractSize":1.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20230807","deliveryDate":"","pair":"YGG-USDT","priceTick":0.000100000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"YGG","tradePartition":"USDT"},{"businessType":"swap","contractCode":"DYDX-USDT","contractSize":0.100000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20210908","deliveryDate":"","pair":"DYDX-USDT","priceTick":0.001000000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"DYDX","tradePartition":"USDT"},{"businessType":"swap","contractCode":"FTT-USDT","contractSize":1.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20230630","deliveryDate":"","pair":"FTT-USDT","priceTick":0.001000000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"FTT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"GALA-USDT","contractSize":10.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20230424","deliveryDate":"","pair":"GALA-USDT","priceTick":0.000010000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"GALA","tradePartition":"USDT"},{"businessType":"swap","contractCode":"IMX-USDT","contractSize":0.100000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20211118","deliveryDate":"","pair":"IMX-USDT","priceTick":0.000100000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"IMX","tradePartition":"USDT"},{"businessType":"swap","contractCode":"MINA-USDT","contractSize":1.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20231025","deliveryDate":"","pair":"MINA-USDT","priceTick":0.000100000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"MINA","tradePartition":"USDT"},{"businessType":"swap","contractCode":"ENS-USDT","contractSize":0.100000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20240111","deliveryDate":"","pair":"ENS-USDT","priceTick":0.001000000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"ENS","tradePartition":"USDT"},{"businessType":"swap","contractCode":"RNDR-USDT","contractSize":1.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20230313","deliveryDate":"","pair":"RNDR-USDT","priceTick":0.000100000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"RNDR","tradePartition":"USDT"},{"businessType":"swap","contractCode":"PEOPLE-USDT","contractSize":10.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20240108","deliveryDate":"","pair":"PEOPLE-USDT","priceTick":0.000010000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"PEOPLE","tradePartition":"USDT"},{"businessType":"swap","contractCode":"JST-USDT","contractSize":10.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20220119","deliveryDate":"","pair":"JST-USDT","priceTick":0.000001000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"JST","tradePartition":"USDT"},{"businessType":"swap","contractCode":"LPT-USDT","contractSize":0.100000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20230814","deliveryDate":"","pair":"LPT-USDT","priceTick":0.001000000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"LPT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"FTM-USDT","contractSize":1.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20211124","deliveryDate":"","pair":"FTM-USDT","priceTick":0.000100000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"FTM","tradePartition":"USDT"},{"businessType":"swap","contractCode":"FRONT-USDT","contractSize":1.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20230923","deliveryDate":"","pair":"FRONT-USDT","priceTick":0.000100000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"FRONT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"BLZ-USDT","contractSize":10.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20230814","deliveryDate":"","pair":"BLZ-USDT","priceTick":0.000010000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"BLZ","tradePartition":"USDT"},{"businessType":"swap","contractCode":"OGN-USDT","contractSize":1.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20230724","deliveryDate":"","pair":"OGN-USDT","priceTick":0.000100000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"OGN","tradePartition":"USDT"},{"businessType":"swap","contractCode":"EGLD-USDT","contractSize":0.010000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20231106","deliveryDate":"","pair":"EGLD-USDT","priceTick":0.010000000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"EGLD","tradePartition":"USDT"},{"businessType":"swap","contractCode":"ARK-USDT","contractSize":1.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20231031","deliveryDate":"","pair":"ARK-USDT","priceTick":0.000100000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"ARK","tradePartition":"USDT"},{"businessType":"swap","contractCode":"STEEM-USDT","contractSize":1.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20231109","deliveryDate":"","pair":"STEEM-USDT","priceTick":0.000100000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"STEEM","tradePartition":"USDT"},{"businessType":"swap","contractCode":"LOOM-USDT","contractSize":1.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20231013","deliveryDate":"","pair":"LOOM-USDT","priceTick":0.000100000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"LOOM","tradePartition":"USDT"},{"businessType":"swap","contractCode":"SNT-USDT","contractSize":10.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20231102","deliveryDate":"","pair":"SNT-USDT","priceTick":0.000010000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"SNT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"TRB-USDT","contractSize":0.100000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20230828","deliveryDate":"","pair":"TRB-USDT","priceTick":0.001000000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"TRB","tradePartition":"USDT"},{"businessType":"swap","contractCode":"GAS-USDT","contractSize":0.100000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20231105","deliveryDate":"","pair":"GAS-USDT","priceTick":0.001000000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"GAS","tradePartition":"USDT"},{"businessType":"swap","contractCode":"MEME-USDT","contractSize":10.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20231104","deliveryDate":"","pair":"MEME-USDT","priceTick":0.000001000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"MEME","tradePartition":"USDT"},{"businessType":"swap","contractCode":"INJ-USDT","contractSize":0.100000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20231109","deliveryDate":"","pair":"INJ-USDT","priceTick":0.001000000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"INJ","tradePartition":"USDT"},{"businessType":"swap","contractCode":"JTO-USDT","contractSize":0.100000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20231208","deliveryDate":"","pair":"JTO-USDT","priceTick":0.000100000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"JTO","tradePartition":"USDT"},{"businessType":"swap","contractCode":"BONK-USDT","contractSize":100000.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20231122","deliveryDate":"","pair":"BONK-USDT","priceTick":1.000000000E-9,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"BONK","tradePartition":"USDT"},{"businessType":"swap","contractCode":"APT-USDT","contractSize":0.100000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20221019","deliveryDate":"","pair":"APT-USDT","priceTick":0.001000000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"APT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"LDO-USDT","contractSize":1.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20230216","deliveryDate":"","pair":"LDO-USDT","priceTick":0.000100000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"LDO","tradePartition":"USDT"},{"businessType":"swap","contractCode":"FET-USDT","contractSize":1.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20230313","deliveryDate":"","pair":"FET-USDT","priceTick":0.000100000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"FET","tradePartition":"USDT"},{"businessType":"swap","contractCode":"TON-USDT","contractSize":0.100000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20230109","deliveryDate":"","pair":"TON-USDT","priceTick":0.000100000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"TON","tradePartition":"USDT"},{"businessType":"swap","contractCode":"SEI-USDT","contractSize":1.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20230816","deliveryDate":"","pair":"SEI-USDT","priceTick":0.000100000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"SEI","tradePartition":"USDT"},{"businessType":"swap","contractCode":"RATS-USDT","contractSize":1000.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20231214","deliveryDate":"","pair":"RATS-USDT","priceTick":1.00000000000E-7,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"RATS","tradePartition":"USDT"},{"businessType":"swap","contractCode":"ARB-USDT","contractSize":1.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20230323","deliveryDate":"","pair":"ARB-USDT","priceTick":0.000100000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"ARB","tradePartition":"USDT"},{"businessType":"swap","contractCode":"POLYX-USDT","contractSize":1.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20231025","deliveryDate":"","pair":"POLYX-USDT","priceTick":0.000100000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"POLYX","tradePartition":"USDT"},{"businessType":"swap","contractCode":"RDNT-USDT","contractSize":1.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20230404","deliveryDate":"","pair":"RDNT-USDT","priceTick":0.000100000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"RDNT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"BIGTIME-USDT","contractSize":1.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20231013","deliveryDate":"","pair":"BIGTIME-USDT","priceTick":0.000100000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"BIGTIME","tradePartition":"USDT"},{"businessType":"swap","contractCode":"TIA-USDT","contractSize":0.100000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20231114","deliveryDate":"","pair":"TIA-USDT","priceTick":0.001000000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"TIA","tradePartition":"USDT"},{"businessType":"swap","contractCode":"LADYS-USDT","contractSize":1000000.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20230511","deliveryDate":"","pair":"LADYS-USDT","priceTick":1.0000000E-11,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"LADYS","tradePartition":"USDT"},{"businessType":"swap","contractCode":"CFX-USDT","contractSize":1.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20230221","deliveryDate":"","pair":"CFX-USDT","priceTick":0.000100000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"CFX","tradePartition":"USDT"},{"businessType":"swap","contractCode":"PEPE-USDT","contractSize":1000000.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20230426","deliveryDate":"","pair":"PEPE-USDT","priceTick":1.00000000E-10,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"PEPE","tradePartition":"USDT"},{"businessType":"swap","contractCode":"XAI-USDT","contractSize":1.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20240111","deliveryDate":"","pair":"XAI-USDT","priceTick":0.000100000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"XAI","tradePartition":"USDT"},{"businessType":"swap","contractCode":"AGIX-USDT","contractSize":1.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20230313","deliveryDate":"","pair":"AGIX-USDT","priceTick":0.000100000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"AGIX","tradePartition":"USDT"},{"businessType":"swap","contractCode":"SATS-USDT","contractSize":1000000.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20231212","deliveryDate":"","pair":"SATS-USDT","priceTick":1.00000000E-10,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"SATS","tradePartition":"USDT"},{"businessType":"swap","contractCode":"ACE-USDT","contractSize":0.100000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20231218","deliveryDate":"","pair":"ACE-USDT","priceTick":0.001000000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"ACE","tradePartition":"USDT"},{"businessType":"swap","contractCode":"WLD-USDT","contractSize":1.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20230724","deliveryDate":"","pair":"WLD-USDT","priceTick":0.000100000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"WLD","tradePartition":"USDT"},{"businessType":"swap","contractCode":"OP-USDT","contractSize":0.100000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20220601","deliveryDate":"","pair":"OP-USDT","priceTick":0.000100000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"OP","tradePartition":"USDT"},{"businessType":"swap","contractCode":"BLUR-USDT","contractSize":1.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20230215","deliveryDate":"","pair":"BLUR-USDT","priceTick":0.000100000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"BLUR","tradePartition":"USDT"},{"businessType":"swap","contractCode":"LUNC-USDT","contractSize":10000.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20220601","deliveryDate":"","pair":"LUNC-USDT","priceTick":1.0000000000E-8,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"LUNC","tradePartition":"USDT"},{"businessType":"swap","contractCode":"SUI-USDT","contractSize":1.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20230503","deliveryDate":"","pair":"SUI-USDT","priceTick":0.000100000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"SUI","tradePartition":"USDT"},{"businessType":"swap","contractCode":"STG-USDT","contractSize":1.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20230404","deliveryDate":"","pair":"STG-USDT","priceTick":0.000100000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"STG","tradePartition":"USDT"},{"businessType":"swap","contractCode":"MTL-USDT","contractSize":1.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20230614","deliveryDate":"","pair":"MTL-USDT","priceTick":0.000100000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"MTL","tradePartition":"USDT"},{"businessType":"swap","contractCode":"BAKE-USDT","contractSize":1.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20231222","deliveryDate":"","pair":"BAKE-USDT","priceTick":0.000100000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"BAKE","tradePartition":"USDT"},{"businessType":"swap","contractCode":"PYTH-USDT","contractSize":1.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20231121","deliveryDate":"","pair":"PYTH-USDT","priceTick":0.000100000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"PYTH","tradePartition":"USDT"},{"businessType":"swap","contractCode":"AIDOGE-USDT","contractSize":1000000000.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20230427","deliveryDate":"","pair":"AIDOGE-USDT","priceTick":1.00000E-13,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"AIDOGE","tradePartition":"USDT"},{"businessType":"swap","contractCode":"USTC-USDT","contractSize":10.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20231128","deliveryDate":"","pair":"USTC-USDT","priceTick":0.000010000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"USTC","tradePartition":"USDT"},{"businessType":"swap","contractCode":"TOKEN-USDT","contractSize":10.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20231204","deliveryDate":"","pair":"TOKEN-USDT","priceTick":0.000010000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"TOKEN","tradePartition":"USDT"},{"businessType":"swap","contractCode":"ORDI-USDT","contractSize":0.100000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20230520","deliveryDate":"","pair":"ORDI-USDT","priceTick":0.001000000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"ORDI","tradePartition":"USDT"},{"businessType":"swap","contractCode":"SSV-USDT","contractSize":0.010000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20230301","deliveryDate":"","pair":"SSV-USDT","priceTick":0.001000000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"SSV","tradePartition":"USDT"},{"businessType":"swap","contractCode":"CYBER-USDT","contractSize":0.100000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20230821","deliveryDate":"","pair":"CYBER-USDT","priceTick":0.001000000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"CYBER","tradePartition":"USDT"},{"businessType":"swap","contractCode":"CORE-USDT","contractSize":0.100000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20230209","deliveryDate":"","pair":"CORE-USDT","priceTick":0.000100000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"CORE","tradePartition":"USDT"},{"businessType":"swap","contractCode":"CAKE-USDT","contractSize":0.100000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20231106","deliveryDate":"","pair":"CAKE-USDT","priceTick":0.000100000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"CAKE","tradePartition":"USDT"},{"businessType":"swap","contractCode":"GAL-USDT","contractSize":0.100000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20220505","deliveryDate":"","pair":"GAL-USDT","priceTick":0.000100000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"GAL","tradePartition":"USDT"},{"businessType":"swap","contractCode":"FLOKI-USDT","contractSize":10000.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20230301","deliveryDate":"","pair":"FLOKI-USDT","priceTick":1.0000000000E-8,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"FLOKI","tradePartition":"USDT"},{"businessType":"swap","contractCode":"STX-USDT","contractSize":1.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20231205","deliveryDate":"","pair":"STX-USDT","priceTick":0.000100000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"STX","tradePartition":"USDT"},{"businessType":"swap","contractCode":"WIN-USDT","contractSize":10000.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20220316","deliveryDate":"","pair":"WIN-USDT","priceTick":1.0000000000E-8,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"WIN","tradePartition":"USDT"},{"businessType":"swap","contractCode":"APE-USDT","contractSize":1.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20220317","deliveryDate":"","pair":"APE-USDT","priceTick":0.000100000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"APE","tradePartition":"USDT"},{"businessType":"swap","contractCode":"GMT-USDT","contractSize":1.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20220331","deliveryDate":"","pair":"GMT-USDT","priceTick":0.000010000000000000,"settlementDate":"1705392000000","supportMarginMode":"all","symbol":"GMT","tradePartition":"USDT"}],"status":"ok","ts":1705377619810} diff --git a/log/debug/debug.2024-01-18_11.log b/log/debug/debug.2024-01-18_11.log new file mode 100644 index 0000000..5c34e31 --- /dev/null +++ b/log/debug/debug.2024-01-18_11.log @@ -0,0 +1,77 @@ +2024-01-18 11:12:48.498 [DEBUG] [WebSocketConnectReadThread-12] [com.huobi.wss.handle.WssMarketReqHandle.onOpen:41] - onOpen Success +2024-01-18 11:12:48.554 [DEBUG] [WebSocketConnectReadThread-12] [com.huobi.wss.handle.WssMarketReqHandle.dealPing:129] - 发送pong:{"pong":1705547568517} +2024-01-18 11:12:48.795 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:39] - 请求 KLine 数据用户收到的原始数据:{"id":"","rep":"market.BTC-USDT.kline.60min","ts":1705547567664,"wsid":19750305,"status":"ok","data":[{"id":1603270800,"open":12198.0,"close":12196.7,"high":12300.0,"low":11715.8,"amount":0.276,"vol":276,"trade_turnover":3315.9104,"count":39},{"id":1603274400,"open":12196.7,"close":12277.9,"high":12289.9,"low":12111.0,"amount":0.198,"vol":198,"trade_turnover":2420.7728,"count":21},{"id":1603278000,"open":12111.0,"close":12000.0,"high":12277.9,"low":12000.0,"amount":0.012,"vol":12,"trade_turnover":145.2238,"count":5},{"id":1603281600,"open":12078.0,"close":12497.4,"high":12498.0,"low":12078.0,"amount":0.084,"vol":84,"trade_turnover":1040.0504,"count":12},{"id":1603285200,"open":12495.6,"close":12373.5,"high":12495.6,"low":12282.9,"amount":1.122,"vol":1122,"trade_turnover":13905.3124,"count":112},{"id":1603288800,"open":12412.9,"close":12689.9,"high":12807.6,"low":12358.1,"amount":5.29,"vol":5290,"trade_turnover":66852.128,"count":155},{"id":1603292400,"open":12692.8,"close":12701.9,"high":12778.7,"low":12573.2,"amount":1.174,"vol":1174,"trade_turnover":14907.367,"count":113},{"id":1603296000,"open":12679.7,"close":12835.9,"high":12920.9,"low":12624.8,"amount":1.156,"vol":1156,"trade_turnover":14802.449,"count":115},{"id":1603299600,"open":12848.3,"close":12754.2,"high":12908.3,"low":12687.5,"amount":1.12,"vol":1120,"trade_turnover":14345.7324,"count":115},{"id":1603303200,"open":12743.7,"close":12740.2,"high":12849.0,"low":12668.3,"amount":1.106,"vol":1106,"trade_turnover":14105.3504,"count":114},{"id":1603306800,"open":12729.5,"close":12650.3,"high":12843.1,"low":12597.2,"amount":1.032,"vol":1032,"trade_turnover":13125.4568,"count":112},{"id":1603310400,"open":12666.8,"close":12807.0,"high":12848.4,"low":12610.2,"amount":1.154,"vol":1154,"trade_turnover":14680.638,"count":116},{"id":1603314000,"open":12866.0,"close":12938.9,"high":13005.1,"low":12748.2,"amount":1.164,"vol":1164,"trade_turnover":14976.9366,"count":114},{"id":1603317600,"open":12921.0,"close":13122.0,"high":13211.2,"low":12865.7,"amount":1.174,"vol":1174,"trade_turnover":15285.2446,"count":114},{"id":1603321200,"open":13153.2,"close":12829.8,"high":13173.2,"low":12688.6,"amount":1.172,"vol":1172,"trade_turnover":15060.9938,"count":117},{"id":1603324800,"open":12793.1,"close":12885.9,"high":12988.1,"low":12764.4,"amount":1.17,"vol":1170,"trade_turnover":15046.2046,"count":117},{"id":1603328400,"open":12860.4,"close":12757.5,"high":12972.6,"low":12757.5,"amount":1.158,"vol":1158,"trade_turnover":14882.4656,"count":118},{"id":1603332000,"open":12824.1,"close":12788.8,"high":12848.0,"low":12729.0,"amount":1.124,"vol":1124,"trade_turnover":14368.7948,"count":115},{"id":1603335600,"open":12791.7,"close":12767.2,"high":12834.4,"low":12729.0,"amount":1.194,"vol":1194,"trade_turnover":15268.9298,"count":111},{"id":1603339200,"open":12729.0,"close":12762.2,"high":12778.3,"low":12729.0,"amount":1.152,"vol":1152,"trade_turnover":14695.4876,"count":115},{"id":1603342800,"open":12763.1,"close":12813.8,"high":12842.0,"low":12730.6,"amount":1.21,"vol":1210,"trade_turnover":15440.8162,"count":119},{"id":1603346400,"open":12795.0,"close":12729.1,"high":12795.0,"low":12728.0,"amount":1.188,"vol":1188,"trade_turnover":15128.0098,"count":123},{"id":1603350000,"open":12728.6,"close":12730.6,"high":12730.6,"low":12728.3,"amount":1.266,"vol":1266,"trade_turnover":16115.1306,"count":112},{"id":1603353600,"open":12730.3,"close":12770.1,"high":12921.5,"low":12729.9,"amount":1.35,"vol":1350,"trade_turnover":17233.7326,"count":127},{"id":1603357200,"open":12824.9,"close":12780.4,"high":12872.1,"low":12760.1,"amount":0.98,"vol":980,"trade_turnover":12553.9826,"count":99},{"id":1603360800,"open":12784.9,"close":12934.2,"high":13002.7,"low":12775.6,"amount":0.266,"vol":266,"trade_turnover":3415.023,"count":30},{"id":1603364400,"open":12977.0,"close":13045.0,"high":13057.0,"low":12886.6,"amount":1.004,"vol":1004,"trade_turnover":13020.8576,"count":117},{"id":1603368000,"open":12958.5,"close":12847.9,"high":12973.4,"low":12751.6,"amount":1.134,"vol":1134,"trade_turnover":14594.2752,"count":111},{"id":1603371600,"open":12882.7,"close":12931.0,"high":13000.8,"low":12743.0,"amount":1.152,"vol":1152,"trade_turnover":14877.7314,"count":114},{"id":1603375200,"open":12890.4,"close":12917.8,"high":12995.3,"low":12783.9,"amount":1.182,"vol":1182,"trade_turnover":15224.4716,"count":115},{"id":1603378800,"open":12918.8,"close":12953.0,"high":13031.2,"low":12817.9,"amount":1.176,"vol":1176,"trade_turnover":15197.208,"count":117},{"id":1603382400,"open":12923.1,"close":13055.6,"high":13100.2,"low":12865.6,"amount":1.146,"vol":1146,"trade_turnover":14851.9604,"count":119},{"id":1603386000,"open":12967.6,"close":13082.7,"high":13105.7,"low":12835.5,"amount":1.534,"vol":1534,"trade_turnover":19927.8288,"count":124},{"id":1603389600,"open":13020.4,"close":13016.4,"high":13115.0,"low":12938.7,"amount":1.268,"vol":1268,"trade_turnover":16505.4738,"count":117},{"id":1603393200,"open":13028.3,"close":12970.6,"high":13171.2,"low":12961.8,"amount":1.13,"vol":1130,"trade_turnover":14762.952,"count":112},{"id":1603396800,"open":13016.7,"close":13089.3,"high":13216.1,"low":12998.5,"amount":1.206,"vol":1206,"trade_turnover":15807.1226,"count":117},{"id":1603400400,"open":13136.0,"close":13092.0,"high":13203.7,"low":12932.9,"amount":1.332,"vol":1332,"trade_turnover":17423.4422,"count":114},{"id":1603404000,"open":13119.4,"close":13055.9,"high":13250.5,"low":12984.7,"amount":1.21,"vol":1210,"trade_turnover":15876.0632,"count":114},{"id":1603407600,"open":13059.4,"close":12890.4,"high":13126.5,"low":12857.2,"amount":1.286,"vol":1286,"trade_turnover":16688.422,"count":116},{"id":1603411200,"open":12929.7,"close":12892.2,"high":12994.0,"low":12751.6,"amount":1.502,"vol":1502,"trade_turnover":19331.1596,"count":131},{"id":1603414800,"open":12921.7,"close":12898.3,"high":13003.2,"low":12786.0,"amount":1.386,"vol":1386,"trade_turnover":17904.8902,"count":121},{"id":1603418400,"open":12951.6,"close":12975.1,"high":13054.0,"low":12800.7,"amount":1.416,"vol":1416,"trade_turnover":18306.6204,"count":122},{"id":1603422000,"open":12967.3,"close":12947.0,"high":13030.7,"low":12875.0,"amount":1.19,"vol":1190,"trade_turnover":15409.7984,"count":118},{"id":1603425600,"open":12925.2,"close":12852.0,"high":13047.3,"low":12832.8,"amount":1.022,"vol":1022,"trade_turnover":13214.4388,"count":127},{"id":1603429200,"open":12859.0,"close":12931.1,"high":12991.7,"low":12841.2,"amount":0.478,"vol":478,"trade_turnover":6180.2486,"count":118},{"id":1603432800,"open":12935.9,"close":12939.6,"high":13014.1,"low":12871.9,"amount":0.522,"vol":522,"trade_turnover":6759.0324,"count":132},{"id":1603436400,"open":12923.1,"close":12925.4,"high":12998.9,"low":12917.1,"amount":0.476,"vol":476,"trade_turnover":6163.3118,"count":118},{"id":1603440000,"open":12942.2,"close":12962.6,"high":13014.0,"low":12916.1,"amount":0.508,"vol":508,"trade_turnover":6585.3656,"count":122},{"id":1603443600,"open":12970.5,"close":12926.4,"high":13012.5,"low":12909.9,"amount":0.564,"vol":564,"trade_turnover":7308.8828,"count":124},{"id":1603447200,"open":13001.2,"close":13007.7,"high":13059.5,"low":12925.7,"amount":0.536,"vol":536,"trade_turnover":6957.8796,"count":124},{"id":1603450800,"open":13025.4,"close":12970.6,"high":13078.4,"low":12906.5,"amount":0.486,"vol":486,"trade_turnover":6326.1434,"count":122},{"id":1603454400,"open":12963.9,"close":12935.4,"high":13025.0,"low":12850.8,"amount":0.494,"vol":494,"trade_turnover":6396.0984,"count":117},{"id":1603458000,"open":12913.3,"close":12951.7,"high":13043.3,"low":12911.0,"amount":0.466,"vol":466,"trade_turnover":6049.1412,"count":117},{"id":1603461600,"open":12999.6,"close":12858.8,"high":13006.4,"low":12840.4,"amount":0.46,"vol":460,"trade_turnover":5941.815,"count":116},{"id":1603465200,"open":12885.7,"close":12881.9,"high":12932.9,"low":12826.5,"amount":0.492,"vol":492,"trade_turnover":6340.214,"count":117},{"id":1603468800,"open":12854.4,"close":12784.1,"high":12933.5,"low":12744.4,"amount":0.484,"vol":484,"trade_turnover":6205.4138,"count":123},{"id":1603472400,"open":12832.3,"close":12847.7,"high":12893.1,"low":12730.1,"amount":0.562,"vol":562,"trade_turnover":7218.9184,"count":152},{"id":1603476000,"open":12874.1,"close":12915.7,"high":12939.3,"low":12751.4,"amount":0.53,"vol":530,"trade_turnover":6825.7004,"count":128},{"id":1603479600,"open":12867.9,"close":12972.9,"high":12972.9,"low":12786.6,"amount":0.444,"vol":444,"trade_turnover":5727.7452,"count":117},{"id":1603483200,"open":12956.7,"close":12991.6,"high":13002.2,"low":12842.9,"amount":0.492,"vol":492,"trade_turnover":6375.1566,"count":116},{"id":1603486800,"open":13004.3,"close":12943.5,"high":13004.3,"low":12936.6,"amount":0.5,"vol":500,"trade_turnover":6485.468,"count":125},{"id":1603490400,"open":12923.6,"close":12989.2,"high":13010.3,"low":12884.7,"amount":0.492,"vol":492,"trade_turnover":6376.1492,"count":120},{"id":1603494000,"open":12974.9,"close":12884.6,"high":13024.4,"low":12884.6,"amount":0.51,"vol":510,"trade_turnover":6622.3406,"count":121},{"id":1603497600,"open":12973.7,"close":12953.9,"high":13018.3,"low":12811.1,"amount":0.488,"vol":488,"trade_turnover":6317.7938,"count":120},{"id":1603501200,"open":12927.5,"close":12934.2,"high":13018.1,"low":12872.8,"amount":0.482,"vol":482,"trade_turnover":6242.4178,"count":117},{"id":1603504800,"open":12971.9,"close":12989.1,"high":13003.9,"low":12903.3,"amount":0.484,"vol":484,"trade_turnover":6278.1756,"count":117},{"id":1603508400,"open":13000.1,"close":12975.9,"high":13013.4,"low":12938.3,"amount":0.474,"vol":474,"trade_turnover":6157.7096,"count":122},{"id":1603512000,"open":12989.7,"close":12963.3,"high":13009.4,"low":12905.5,"amount":0.526,"vol":526,"trade_turnover":6831.5658,"count":124},{"id":1603515600,"open":12910.5,"close":12989.7,"high":13041.8,"low":12875.3,"amount":0.522,"vol":522,"trade_turnover":6768.8994,"count":127},{"id":1603519200,"open":12994.7,"close":13003.6,"high":13058.1,"low":12908.8,"amount":0.49,"vol":490,"trade_turnover":6370.5714,"count":120},{"id":1603522800,"open":13011.9,"close":13004.2,"high":13037.8,"low":12981.7,"amount":0.478,"vol":478,"trade_turnover":6218.9722,"count":120},{"id":1603526400,"open":13003.0,"close":12998.2,"high":13030.6,"low":12899.4,"amount":0.52,"vol":520,"trade_turnover":6754.958,"count":124},{"id":1603530000,"open":12998.2,"close":12990.6,"high":13020.3,"low":12893.6,"amount":0.454,"vol":454,"trade_turnover":5891.0574,"count":115},{"id":1603533600,"open":12996.4,"close":13030.1,"high":13059.1,"low":12913.2,"amount":0.502,"vol":502,"trade_turnover":6525.9004,"count":124},{"id":1603537200,"open":12988.4,"close":13033.2,"high":13068.3,"low":12940.2,"amount":0.468,"vol":468,"trade_turnover":6091.0376,"count":119},{"id":1603540800,"open":13035.3,"close":13006.5,"high":13071.8,"low":12978.9,"amount":0.468,"vol":468,"trade_turnover":6102.5902,"count":123},{"id":1603544400,"open":13038.8,"close":12985.9,"high":13066.7,"low":12928.1,"amount":0.534,"vol":534,"trade_turnover":6950.4268,"count":123},{"id":1603548000,"open":12986.3,"close":13042.0,"high":13100.1,"low":12960.5,"amount":0.47,"vol":470,"trade_turnover":6124.2178,"count":100},{"id":1603551600,"open":13038.4,"close":13102.2,"high":13196.5,"low":13038.4,"amount":0.456,"vol":456,"trade_turnover":5989.6362,"count":120},{"id":1603555200,"open":13136.8,"close":13052.7,"high":13176.6,"low":12984.6,"amount":0.458,"vol":458,"trade_turnover":5976.331,"count":121},{"id":1603558800,"open":13006.2,"close":13177.8,"high":13177.8,"low":13003.2,"amount":0.452,"vol":452,"trade_turnover":5911.7058,"count":118},{"id":1603562400,"open":13127.7,"close":13080.8,"high":13170.7,"low":13023.0,"amount":0.468,"vol":468,"trade_turnover":6122.375,"count":119},{"id":1603566000,"open":13040.7,"close":13148.4,"high":13179.3,"low":13014.2,"amount":0.468,"vol":468,"trade_turnover":6126.4278,"count":120},{"id":1603569600,"open":13073.5,"close":13090.1,"high":13179.6,"low":12992.5,"amount":0.47,"vol":470,"trade_turnover":6151.4758,"count":119},{"id":1603573200,"open":13035.4,"close":12993.9,"high":13148.7,"low":12980.7,"amount":0.458,"vol":458,"trade_turnover":5981.071,"count":117},{"id":1603576800,"open":13040.7,"close":13041.1,"high":13112.1,"low":12975.6,"amount":0.478,"vol":478,"trade_turnover":6225.4216,"count":118},{"id":1603580400,"open":13012.6,"close":13184.3,"high":13184.3,"low":13009.3,"amount":0.472,"vol":472,"trade_turnover":6173.4244,"count":118},{"id":1603584000,"open":13080.8,"close":13154.3,"high":13170.4,"low":13007.7,"amount":0.46,"vol":460,"trade_turnover":6024.09,"count":115},{"id":1603587600,"open":13092.0,"close":13196.1,"high":13196.8,"low":13024.0,"amount":0.398,"vol":398,"trade_turnover":5217.5364,"count":102},{"id":1603591200,"open":13124.7,"close":13082.4,"high":13175.1,"low":13035.0,"amount":0.476,"vol":476,"trade_turnover":6228.6596,"count":120},{"id":1603594800,"open":13049.1,"close":13259.0,"high":13383.8,"low":13049.1,"amount":0.578,"vol":578,"trade_turnover":7629.3886,"count":137},{"id":1603598400,"open":13277.0,"close":13243.4,"high":13369.0,"low":13216.0,"amount":0.47,"vol":470,"trade_turnover":6247.955,"count":122},{"id":1603602000,"open":13285.3,"close":13017.3,"high":13353.3,"low":13010.1,"amount":0.61,"vol":610,"trade_turnover":8048.8598,"count":134},{"id":1603605600,"open":13022.5,"close":13060.3,"high":13105.7,"low":13018.2,"amount":0.486,"vol":486,"trade_turnover":6344.1474,"count":118},{"id":1603609200,"open":13048.5,"close":13078.1,"high":13112.1,"low":13022.0,"amount":0.464,"vol":464,"trade_turnover":6061.5416,"count":120},{"id":1603612800,"open":13077.2,"close":13046.0,"high":13091.0,"low":13017.2,"amount":0.464,"vol":464,"trade_turnover":6055.3734,"count":120},{"id":1603616400,"open":13065.1,"close":13040.8,"high":13084.0,"low":13014.2,"amount":0.478,"vol":478,"trade_turnover":6235.7882,"count":117},{"id":1603620000,"open":13047.1,"close":13028.5,"high":13064.2,"low":13010.2,"amount":0.478,"vol":478,"trade_turnover":6232.2428,"count":125},{"id":1603623600,"open":13061.5,"close":12897.6,"high":13061.5,"low":12852.9,"amount":0.534,"vol":534,"trade_turnover":6918.1226,"count":123},{"id":1603627200,"open":12908.3,"close":12964.3,"high":13069.7,"low":12893.2,"amount":0.444,"vol":444,"trade_turnover":5755.8712,"count":117},{"id":1603630800,"open":13001.3,"close":12949.3,"high":13071.9,"low":12891.8,"amount":0.498,"vol":498,"trade_turnover":6465.078,"count":119},{"id":1603634400,"open":12975.8,"close":12946.8,"high":13077.7,"low":12900.0,"amount":0.468,"vol":468,"trade_turnover":6075.4554,"count":116},{"id":1603638000,"open":12975.2,"close":12883.3,"high":13069.1,"low":12883.3,"amount":0.47,"vol":470,"trade_turnover":6097.1072,"count":119},{"id":1603641600,"open":12916.2,"close":12978.7,"high":13067.9,"low":12877.5,"amount":0.482,"vol":482,"trade_turnover":6256.4472,"count":118},{"id":1603645200,"open":13008.0,"close":13004.4,"high":13087.5,"low":12922.7,"amount":0.47,"vol":470,"trade_turnover":6108.3892,"count":117},{"id":1603648800,"open":12972.8,"close":12957.2,"high":13067.6,"low":12893.6,"amount":0.468,"vol":468,"trade_turnover":6079.1484,"count":118},{"id":1603652400,"open":12996.5,"close":13021.8,"high":13066.9,"low":12916.6,"amount":0.442,"vol":442,"trade_turnover":5746.5548,"count":118},{"id":1603656000,"open":12992.9,"close":12985.4,"high":13081.5,"low":12944.9,"amount":0.508,"vol":508,"trade_turnover":6616.9872,"count":120},{"id":1603659600,"open":12999.9,"close":13011.2,"high":13068.6,"low":12921.4,"amount":0.508,"vol":508,"trade_turnover":6614.816,"count":122},{"id":1603663200,"open":12979.6,"close":12959.4,"high":13073.8,"low":12911.9,"amount":0.486,"vol":486,"trade_turnover":6320.907,"count":121},{"id":1603666800,"open":12963.4,"close":13032.1,"high":13085.2,"low":12927.8,"amount":0.452,"vol":452,"trade_turnover":5878.6442,"count":113},{"id":1603670400,"open":12964.2,"close":13001.0,"high":13076.7,"low":12918.3,"amount":0.482,"vol":482,"trade_turnover":6263.698,"count":121},{"id":1603674000,"open":13040.0,"close":13053.7,"high":13096.4,"low":12991.2,"amount":0.478,"vol":478,"trade_turnover":6232.2328,"count":124},{"id":1603677600,"open":13060.6,"close":13064.4,"high":13185.7,"low":12985.1,"amount":0.488,"vol":488,"trade_turnover":6387.534,"count":121},{"id":1603681200,"open":13032.3,"close":13092.8,"high":13187.2,"low":12984.1,"amount":0.486,"vol":486,"trade_turnover":6369.0272,"count":135},{"id":1603684800,"open":13092.0,"close":13132.6,"high":13181.6,"low":12962.3,"amount":0.51,"vol":510,"trade_turnover":6679.829,"count":131},{"id":1603688400,"open":13129.2,"close":13092.1,"high":13205.3,"low":13025.3,"amount":0.506,"vol":506,"trade_turnover":6641.2128,"count":126},{"id":1603692000,"open":13121.8,"close":13071.4,"high":13188.1,"low":12989.8,"amount":1.616,"vol":1616,"trade_turnover":21170.8224,"count":141},{"id":1603695600,"open":13061.0,"close":13038.7,"high":13100.0,"low":12965.2,"amount":3.746,"vol":3746,"trade_turnover":48924.8902,"count":110},{"id":1603699200,"open":13030.9,"close":13039.3,"high":13102.0,"low":12852.8,"amount":8.966,"vol":8966,"trade_turnover":116525.5534,"count":173},{"id":1603702800,"open":13047.1,"close":13075.9,"high":13088.4,"low":13039.8,"amount":4.48,"vol":4480,"trade_turnover":58521.1714,"count":124},{"id":1603706400,"open":13072.1,"close":13100.0,"high":13100.0,"low":13060.2,"amount":4.272,"vol":4272,"trade_turnover":55895.9778,"count":130},{"id":1603710000,"open":13100.0,"close":13138.4,"high":13159.0,"low":13100.0,"amount":29.798,"vol":29798,"trade_turnover":391138.024,"count":230},{"id":1603713600,"open":13138.8,"close":13149.8,"high":13200.0,"low":13100.0,"amount":5.154,"vol":5154,"trade_turnover":67694.652,"count":188},{"id":1603717200,"open":13150.0,"close":13205.8,"high":13351.5,"low":13133.1,"amount":35.608,"vol":35608,"trade_turnover":472780.3394,"count":328},{"id":1603720800,"open":13203.0,"close":13166.1,"high":13280.0,"low":13144.1,"amount":31.748,"vol":31748,"trade_turnover":418744.5588,"count":235},{"id":1603724400,"open":13159.0,"close":12978.0,"high":13165.2,"low":12903.8,"amount":36.53,"vol":36530,"trade_turnover":476940.3296,"count":384},{"id":1603728000,"open":12965.0,"close":12869.6,"high":13069.8,"low":12850.5,"amount":35.018,"vol":35018,"trade_turnover":453288.918,"count":323},{"id":1603731600,"open":12879.2,"close":12873.8,"high":12941.5,"low":12583.9,"amount":92.628,"vol":92628,"trade_turnover":1185973.467,"count":560},{"id":1603735200,"open":12856.2,"close":12946.8,"high":12954.5,"low":12820.4,"amount":4.302,"vol":4302,"trade_turnover":55481.0054,"count":128},{"id":1603738800,"open":12945.6,"close":12953.4,"high":12953.5,"low":12914.1,"amount":13.83,"vol":13830,"trade_turnover":179112.1598,"count":118},{"id":1603742400,"open":12953.5,"close":12983.4,"high":13007.5,"low":12953.5,"amount":17.172,"vol":17172,"trade_turnover":223230.2122,"count":132},{"id":1603746000,"open":12983.1,"close":12993.8,"high":13007.5,"low":12982.7,"amount":3.212,"vol":3212,"trade_turnover":41767.8906,"count":59},{"id":1603749600,"open":13002.1,"close":13007.5,"high":13007.5,"low":12974.0,"amount":1.504,"vol":1504,"trade_turnover":19543.3568,"count":74},{"id":1603753200,"open":13007.5,"close":13033.7,"high":13061.2,"low":13007.5,"amount":3.454,"vol":3454,"trade_turnover":45001.601,"count":101},{"id":1603756800,"open":13029.2,"close":13067.1,"high":13105.0,"low":13028.3,"amount":8.784,"vol":8784,"trade_turnover":114871.8246,"count":98},{"id":1603760400,"open":13074.3,"close":13061.7,"high":13074.4,"low":13051.5,"amount":11.592,"vol":11592,"trade_turnover":151386.9038,"count":66},{"id":1603764000,"open":13061.7,"close":13049.7,"high":13097.6,"low":13040.1,"amount":19.298,"vol":19298,"trade_turnover":252061.019,"count":109},{"id":1603767600,"open":13057.6,"close":13070.4,"high":13080.0,"low":13057.1,"amount":22.992,"vol":22992,"trade_turnover":300453.9788,"count":69},{"id":1603771200,"open":13080.0,"close":13103.3,"high":13175.0,"low":13079.6,"amount":14.396,"vol":14396,"trade_turnover":188461.9156,"count":59},{"id":1603774800,"open":13121.3,"close":13073.6,"high":13121.3,"low":13069.7,"amount":5.058,"vol":5058,"trade_turnover":66201.3552,"count":44},{"id":1603778400,"open":13074.9,"close":13103.4,"high":13149.0,"low":13069.6,"amount":9.106,"vol":9106,"trade_turnover":119104.8906,"count":107},{"id":1603782000,"open":13103.3,"close":13130.0,"high":13169.8,"low":12992.4,"amount":73.95,"vol":73950,"trade_turnover":968195.155,"count":305},{"id":1603785600,"open":13135.1,"close":13123.8,"high":13148.4,"low":13044.0,"amount":18.732,"vol":18732,"trade_turnover":245533.5448,"count":135},{"id":1603789200,"open":13115.5,"close":13131.7,"high":13131.8,"low":13075.7,"amount":13.756,"vol":13756,"trade_turnover":180253.7708,"count":102},{"id":1603792800,"open":13134.8,"close":13216.9,"high":13252.0,"low":13063.4,"amount":154.108,"vol":154108,"trade_turnover":2029983.656,"count":525},{"id":1603796400,"open":13218.8,"close":13395.8,"high":13590.1,"low":13213.5,"amount":170.09,"vol":170090,"trade_turnover":2276279.742,"count":591},{"id":1603800000,"open":13395.9,"close":13376.9,"high":13414.0,"low":13331.7,"amount":48.928,"vol":48928,"trade_turnover":654585.9108,"count":216},{"id":1603803600,"open":13376.5,"close":13384.3,"high":13490.9,"low":13329.8,"amount":63.294,"vol":63294,"trade_turnover":848130.9212,"count":316},{"id":1603807200,"open":13392.6,"close":13398.2,"high":13415.8,"low":13344.8,"amount":12.892,"vol":12892,"trade_turnover":172618.6864,"count":124},{"id":1603810800,"open":13398.2,"close":13598.5,"high":13626.7,"low":13398.2,"amount":93.22,"vol":93220,"trade_turnover":1262695.5466,"count":476},{"id":1603814400,"open":13595.8,"close":13639.9,"high":13639.9,"low":13520.2,"amount":85.45,"vol":85450,"trade_turnover":1161481.4136,"count":435},{"id":1603818000,"open":13640.0,"close":13688.1,"high":13826.7,"low":13589.0,"amount":191.812,"vol":191812,"trade_turnover":2628428.3788,"count":711},{"id":1603821600,"open":13685.0,"close":13630.1,"high":13745.0,"low":13528.2,"amount":65.434,"vol":65434,"trade_turnover":891541.8394,"count":410},{"id":1603825200,"open":13629.4,"close":13637.1,"high":13659.8,"low":13595.4,"amount":5.788,"vol":5788,"trade_turnover":78836.2578,"count":65},{"id":1603828800,"open":13644.4,"close":13616.6,"high":13805.1,"low":13582.6,"amount":163.104,"vol":163104,"trade_turnover":2234040.3544,"count":537},{"id":1603832400,"open":13609.8,"close":13705.5,"high":13753.5,"low":13609.8,"amount":9.884,"vol":9884,"trade_turnover":135406.4752,"count":101},{"id":1603836000,"open":13705.4,"close":13739.9,"high":13739.9,"low":13658.2,"amount":7.436,"vol":7436,"trade_turnover":101840.3508,"count":100},{"id":1603839600,"open":13739.9,"close":13649.6,"high":13794.6,"low":13582.6,"amount":17.086,"vol":17086,"trade_turnover":233971.8448,"count":234},{"id":1603843200,"open":13645.9,"close":13701.7,"high":13745.2,"low":13618.8,"amount":24.108,"vol":24108,"trade_turnover":330206.5694,"count":177},{"id":1603846800,"open":13702.1,"close":13702.6,"high":13725.6,"low":13647.9,"amount":15.892,"vol":15892,"trade_turnover":217816.7008,"count":151},{"id":1603850400,"open":13701.7,"close":13811.6,"high":13832.2,"low":13680.2,"amount":46.548,"vol":46548,"trade_turnover":640636.0352,"count":274},{"id":1603854000,"open":13818.5,"close":13777.0,"high":13820.3,"low":13717.5,"amount":67.896,"vol":67896,"trade_turnover":935838.2238,"count":320},{"id":1603857600,"open":13767.3,"close":13735.7,"high":13807.2,"low":13710.0,"amount":33.156,"vol":33156,"trade_turnover":455941.234,"count":210},{"id":1603861200,"open":13735.5,"close":13715.8,"high":13753.9,"low":13671.3,"amount":32.076,"vol":32076,"trade_turnover":439612.64,"count":198},{"id":1603864800,"open":13715.9,"close":13701.3,"high":13757.0,"low":13694.9,"amount":14.756,"vol":14756,"trade_turnover":202602.5164,"count":122},{"id":1603868400,"open":13701.2,"close":13674.2,"high":13708.7,"low":13550.0,"amount":155.534,"vol":155534,"trade_turnover":2117935.0928,"count":635},{"id":1603872000,"open":13673.0,"close":13691.7,"high":13691.7,"low":13584.0,"amount":29.846,"vol":29846,"trade_turnover":407073.1398,"count":240},{"id":1603875600,"open":13689.3,"close":13587.1,"high":13707.5,"low":13573.5,"amount":104.542,"vol":104542,"trade_turnover":1425079.9344,"count":377},{"id":1603879200,"open":13584.6,"close":13552.7,"high":13618.0,"low":13504.7,"amount":73.818,"vol":73818,"trade_turnover":1001666.0908,"count":358},{"id":1603882800,"open":13552.6,"close":13336.4,"high":13565.4,"low":13330.0,"amount":176.544,"vol":176544,"trade_turnover":2369166.1492,"count":1004},{"id":1603886400,"open":13331.5,"close":13300.3,"high":13385.0,"low":13173.9,"amount":289.73,"vol":289730,"trade_turnover":3846751.7166,"count":968},{"id":1603890000,"open":13300.2,"close":13129.9,"high":13340.0,"low":13122.9,"amount":139.822,"vol":139822,"trade_turnover":1848876.932,"count":612},{"id":1603893600,"open":13123.4,"close":13082.2,"high":13168.2,"low":12915.9,"amount":367.876,"vol":367876,"trade_turnover":4802516.9818,"count":1168},{"id":1603897200,"open":13077.1,"close":13221.2,"high":13235.2,"low":13052.3,"amount":84.044,"vol":84044,"trade_turnover":1106883.1282,"count":375},{"id":1603900800,"open":13218.7,"close":13145.1,"high":13218.7,"low":13050.0,"amount":29.566,"vol":29566,"trade_turnover":388697.4104,"count":244},{"id":1603904400,"open":13145.1,"close":13176.7,"high":13204.9,"low":13006.6,"amount":53.336,"vol":53336,"trade_turnover":700385.2784,"count":299},{"id":1603908000,"open":13171.0,"close":13196.5,"high":13219.6,"low":13131.0,"amount":34.164,"vol":34164,"trade_turnover":450210.5778,"count":218},{"id":1603911600,"open":13200.0,"close":13154.9,"high":13237.4,"low":13145.0,"amount":22.158,"vol":22158,"trade_turnover":292020.0438,"count":185},{"id":1603915200,"open":13154.5,"close":13198.1,"high":13211.8,"low":13147.4,"amount":4.548,"vol":4548,"trade_turnover":59991.1118,"count":75},{"id":1603918800,"open":13193.5,"close":13190.1,"high":13196.5,"low":13100.2,"amount":3.52,"vol":3520,"trade_turnover":46175.428,"count":68},{"id":1603922400,"open":13185.4,"close":13252.0,"high":13267.5,"low":13185.4,"amount":3.122,"vol":3122,"trade_turnover":41304.2018,"count":72},{"id":1603926000,"open":13242.1,"close":13265.9,"high":13282.3,"low":13235.9,"amount":14.768,"vol":14768,"trade_turnover":195689.0764,"count":86},{"id":1603929600,"open":13253.9,"close":13245.1,"high":13294.7,"low":13237.4,"amount":19.968,"vol":19968,"trade_turnover":264834.1944,"count":98},{"id":1603933200,"open":13244.6,"close":13274.2,"high":13285.3,"low":13166.3,"amount":35.282,"vol":35282,"trade_turnover":465789.6302,"count":192},{"id":1603936800,"open":13275.9,"close":13241.1,"high":13277.7,"low":13212.2,"amount":9.748,"vol":9748,"trade_turnover":129016.0684,"count":119},{"id":1603940400,"open":13237.1,"close":13262.5,"high":13262.5,"low":13174.6,"amount":27.3,"vol":27300,"trade_turnover":360589.8982,"count":199},{"id":1603944000,"open":13269.1,"close":13229.5,"high":13277.7,"low":13229.5,"amount":18.904,"vol":18904,"trade_turnover":250713.2812,"count":109},{"id":1603947600,"open":13228.5,"close":13274.8,"high":13274.8,"low":13228.5,"amount":15.822,"vol":15822,"trade_turnover":209781.909,"count":134},{"id":1603951200,"open":13274.8,"close":13255.0,"high":13323.0,"low":13242.3,"amount":91.246,"vol":91246,"trade_turnover":1211271.2788,"count":294},{"id":1603954800,"open":13255.0,"close":13142.4,"high":13269.3,"low":13123.1,"amount":187.622,"vol":187622,"trade_turnover":2478299.7074,"count":506},{"id":1603958400,"open":13145.9,"close":13124.8,"high":13182.4,"low":13094.1,"amount":69.532,"vol":69532,"trade_turnover":914157.2418,"count":226},{"id":1603962000,"open":13129.5,"close":13183.7,"high":13197.1,"low":13129.5,"amount":23.184,"vol":23184,"trade_turnover":305485.9524,"count":141},{"id":1603965600,"open":13184.8,"close":13105.2,"high":13187.5,"low":13053.1,"amount":121.146,"vol":121146,"trade_turnover":1590026.4416,"count":442},{"id":1603969200,"open":13105.1,"close":13060.1,"high":13171.4,"low":13060.1,"amount":47.498,"vol":47498,"trade_turnover":623578.149,"count":262},{"id":1603972800,"open":13056.9,"close":13131.8,"high":13145.8,"low":12977.9,"amount":126.552,"vol":126552,"trade_turnover":1652549.311,"count":481},{"id":1603976400,"open":13131.7,"close":13230.0,"high":13237.2,"low":13102.0,"amount":100.482,"vol":100482,"trade_turnover":1326403.7206,"count":325},{"id":1603980000,"open":13231.0,"close":13420.8,"high":13476.1,"low":13231.0,"amount":253.258,"vol":253258,"trade_turnover":3384941.438,"count":752},{"id":1603983600,"open":13416.0,"close":13420.6,"high":13458.7,"low":13358.7,"amount":64.71,"vol":64710,"trade_turnover":869052.3804,"count":269},{"id":1603987200,"open":13421.9,"close":13535.9,"high":13594.5,"low":13391.8,"amount":120.24,"vol":120240,"trade_turnover":1626567.8278,"count":570}]} +2024-01-18 11:12:48.852 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:41] - 请求 KLine 数据解析之后的数据为:{"wsid":19750305,"data":[{"amount":0.276,"high":12300.0,"vol":276,"low":11715.8,"count":39,"id":1603270800,"close":12196.7,"tradeTurnover":3315.9104,"open":12198.0},{"amount":0.198,"high":12289.9,"vol":198,"low":12111.0,"count":21,"id":1603274400,"close":12277.9,"tradeTurnover":2420.7728,"open":12196.7},{"amount":0.012,"high":12277.9,"vol":12,"low":12000.0,"count":5,"id":1603278000,"close":12000.0,"tradeTurnover":145.2238,"open":12111.0},{"amount":0.084,"high":12498.0,"vol":84,"low":12078.0,"count":12,"id":1603281600,"close":12497.4,"tradeTurnover":1040.0504,"open":12078.0},{"amount":1.122,"high":12495.6,"vol":1122,"low":12282.9,"count":112,"id":1603285200,"close":12373.5,"tradeTurnover":13905.3124,"open":12495.6},{"amount":5.29,"high":12807.6,"vol":5290,"low":12358.1,"count":155,"id":1603288800,"close":12689.9,"tradeTurnover":66852.128,"open":12412.9},{"amount":1.174,"high":12778.7,"vol":1174,"low":12573.2,"count":113,"id":1603292400,"close":12701.9,"tradeTurnover":14907.367,"open":12692.8},{"amount":1.156,"high":12920.9,"vol":1156,"low":12624.8,"count":115,"id":1603296000,"close":12835.9,"tradeTurnover":14802.449,"open":12679.7},{"amount":1.12,"high":12908.3,"vol":1120,"low":12687.5,"count":115,"id":1603299600,"close":12754.2,"tradeTurnover":14345.7324,"open":12848.3},{"amount":1.106,"high":12849.0,"vol":1106,"low":12668.3,"count":114,"id":1603303200,"close":12740.2,"tradeTurnover":14105.3504,"open":12743.7},{"amount":1.032,"high":12843.1,"vol":1032,"low":12597.2,"count":112,"id":1603306800,"close":12650.3,"tradeTurnover":13125.4568,"open":12729.5},{"amount":1.154,"high":12848.4,"vol":1154,"low":12610.2,"count":116,"id":1603310400,"close":12807.0,"tradeTurnover":14680.638,"open":12666.8},{"amount":1.164,"high":13005.1,"vol":1164,"low":12748.2,"count":114,"id":1603314000,"close":12938.9,"tradeTurnover":14976.9366,"open":12866.0},{"amount":1.174,"high":13211.2,"vol":1174,"low":12865.7,"count":114,"id":1603317600,"close":13122.0,"tradeTurnover":15285.2446,"open":12921.0},{"amount":1.172,"high":13173.2,"vol":1172,"low":12688.6,"count":117,"id":1603321200,"close":12829.8,"tradeTurnover":15060.9938,"open":13153.2},{"amount":1.17,"high":12988.1,"vol":1170,"low":12764.4,"count":117,"id":1603324800,"close":12885.9,"tradeTurnover":15046.2046,"open":12793.1},{"amount":1.158,"high":12972.6,"vol":1158,"low":12757.5,"count":118,"id":1603328400,"close":12757.5,"tradeTurnover":14882.4656,"open":12860.4},{"amount":1.124,"high":12848.0,"vol":1124,"low":12729.0,"count":115,"id":1603332000,"close":12788.8,"tradeTurnover":14368.7948,"open":12824.1},{"amount":1.194,"high":12834.4,"vol":1194,"low":12729.0,"count":111,"id":1603335600,"close":12767.2,"tradeTurnover":15268.9298,"open":12791.7},{"amount":1.152,"high":12778.3,"vol":1152,"low":12729.0,"count":115,"id":1603339200,"close":12762.2,"tradeTurnover":14695.4876,"open":12729.0},{"amount":1.21,"high":12842.0,"vol":1210,"low":12730.6,"count":119,"id":1603342800,"close":12813.8,"tradeTurnover":15440.8162,"open":12763.1},{"amount":1.188,"high":12795.0,"vol":1188,"low":12728.0,"count":123,"id":1603346400,"close":12729.1,"tradeTurnover":15128.0098,"open":12795.0},{"amount":1.266,"high":12730.6,"vol":1266,"low":12728.3,"count":112,"id":1603350000,"close":12730.6,"tradeTurnover":16115.1306,"open":12728.6},{"amount":1.35,"high":12921.5,"vol":1350,"low":12729.9,"count":127,"id":1603353600,"close":12770.1,"tradeTurnover":17233.7326,"open":12730.3},{"amount":0.98,"high":12872.1,"vol":980,"low":12760.1,"count":99,"id":1603357200,"close":12780.4,"tradeTurnover":12553.9826,"open":12824.9},{"amount":0.266,"high":13002.7,"vol":266,"low":12775.6,"count":30,"id":1603360800,"close":12934.2,"tradeTurnover":3415.023,"open":12784.9},{"amount":1.004,"high":13057.0,"vol":1004,"low":12886.6,"count":117,"id":1603364400,"close":13045.0,"tradeTurnover":13020.8576,"open":12977.0},{"amount":1.134,"high":12973.4,"vol":1134,"low":12751.6,"count":111,"id":1603368000,"close":12847.9,"tradeTurnover":14594.2752,"open":12958.5},{"amount":1.152,"high":13000.8,"vol":1152,"low":12743.0,"count":114,"id":1603371600,"close":12931.0,"tradeTurnover":14877.7314,"open":12882.7},{"amount":1.182,"high":12995.3,"vol":1182,"low":12783.9,"count":115,"id":1603375200,"close":12917.8,"tradeTurnover":15224.4716,"open":12890.4},{"amount":1.176,"high":13031.2,"vol":1176,"low":12817.9,"count":117,"id":1603378800,"close":12953.0,"tradeTurnover":15197.208,"open":12918.8},{"amount":1.146,"high":13100.2,"vol":1146,"low":12865.6,"count":119,"id":1603382400,"close":13055.6,"tradeTurnover":14851.9604,"open":12923.1},{"amount":1.534,"high":13105.7,"vol":1534,"low":12835.5,"count":124,"id":1603386000,"close":13082.7,"tradeTurnover":19927.8288,"open":12967.6},{"amount":1.268,"high":13115.0,"vol":1268,"low":12938.7,"count":117,"id":1603389600,"close":13016.4,"tradeTurnover":16505.4738,"open":13020.4},{"amount":1.13,"high":13171.2,"vol":1130,"low":12961.8,"count":112,"id":1603393200,"close":12970.6,"tradeTurnover":14762.952,"open":13028.3},{"amount":1.206,"high":13216.1,"vol":1206,"low":12998.5,"count":117,"id":1603396800,"close":13089.3,"tradeTurnover":15807.1226,"open":13016.7},{"amount":1.332,"high":13203.7,"vol":1332,"low":12932.9,"count":114,"id":1603400400,"close":13092.0,"tradeTurnover":17423.4422,"open":13136.0},{"amount":1.21,"high":13250.5,"vol":1210,"low":12984.7,"count":114,"id":1603404000,"close":13055.9,"tradeTurnover":15876.0632,"open":13119.4},{"amount":1.286,"high":13126.5,"vol":1286,"low":12857.2,"count":116,"id":1603407600,"close":12890.4,"tradeTurnover":16688.422,"open":13059.4},{"amount":1.502,"high":12994.0,"vol":1502,"low":12751.6,"count":131,"id":1603411200,"close":12892.2,"tradeTurnover":19331.1596,"open":12929.7},{"amount":1.386,"high":13003.2,"vol":1386,"low":12786.0,"count":121,"id":1603414800,"close":12898.3,"tradeTurnover":17904.8902,"open":12921.7},{"amount":1.416,"high":13054.0,"vol":1416,"low":12800.7,"count":122,"id":1603418400,"close":12975.1,"tradeTurnover":18306.6204,"open":12951.6},{"amount":1.19,"high":13030.7,"vol":1190,"low":12875.0,"count":118,"id":1603422000,"close":12947.0,"tradeTurnover":15409.7984,"open":12967.3},{"amount":1.022,"high":13047.3,"vol":1022,"low":12832.8,"count":127,"id":1603425600,"close":12852.0,"tradeTurnover":13214.4388,"open":12925.2},{"amount":0.478,"high":12991.7,"vol":478,"low":12841.2,"count":118,"id":1603429200,"close":12931.1,"tradeTurnover":6180.2486,"open":12859.0},{"amount":0.522,"high":13014.1,"vol":522,"low":12871.9,"count":132,"id":1603432800,"close":12939.6,"tradeTurnover":6759.0324,"open":12935.9},{"amount":0.476,"high":12998.9,"vol":476,"low":12917.1,"count":118,"id":1603436400,"close":12925.4,"tradeTurnover":6163.3118,"open":12923.1},{"amount":0.508,"high":13014.0,"vol":508,"low":12916.1,"count":122,"id":1603440000,"close":12962.6,"tradeTurnover":6585.3656,"open":12942.2},{"amount":0.564,"high":13012.5,"vol":564,"low":12909.9,"count":124,"id":1603443600,"close":12926.4,"tradeTurnover":7308.8828,"open":12970.5},{"amount":0.536,"high":13059.5,"vol":536,"low":12925.7,"count":124,"id":1603447200,"close":13007.7,"tradeTurnover":6957.8796,"open":13001.2},{"amount":0.486,"high":13078.4,"vol":486,"low":12906.5,"count":122,"id":1603450800,"close":12970.6,"tradeTurnover":6326.1434,"open":13025.4},{"amount":0.494,"high":13025.0,"vol":494,"low":12850.8,"count":117,"id":1603454400,"close":12935.4,"tradeTurnover":6396.0984,"open":12963.9},{"amount":0.466,"high":13043.3,"vol":466,"low":12911.0,"count":117,"id":1603458000,"close":12951.7,"tradeTurnover":6049.1412,"open":12913.3},{"amount":0.46,"high":13006.4,"vol":460,"low":12840.4,"count":116,"id":1603461600,"close":12858.8,"tradeTurnover":5941.815,"open":12999.6},{"amount":0.492,"high":12932.9,"vol":492,"low":12826.5,"count":117,"id":1603465200,"close":12881.9,"tradeTurnover":6340.214,"open":12885.7},{"amount":0.484,"high":12933.5,"vol":484,"low":12744.4,"count":123,"id":1603468800,"close":12784.1,"tradeTurnover":6205.4138,"open":12854.4},{"amount":0.562,"high":12893.1,"vol":562,"low":12730.1,"count":152,"id":1603472400,"close":12847.7,"tradeTurnover":7218.9184,"open":12832.3},{"amount":0.53,"high":12939.3,"vol":530,"low":12751.4,"count":128,"id":1603476000,"close":12915.7,"tradeTurnover":6825.7004,"open":12874.1},{"amount":0.444,"high":12972.9,"vol":444,"low":12786.6,"count":117,"id":1603479600,"close":12972.9,"tradeTurnover":5727.7452,"open":12867.9},{"amount":0.492,"high":13002.2,"vol":492,"low":12842.9,"count":116,"id":1603483200,"close":12991.6,"tradeTurnover":6375.1566,"open":12956.7},{"amount":0.5,"high":13004.3,"vol":500,"low":12936.6,"count":125,"id":1603486800,"close":12943.5,"tradeTurnover":6485.468,"open":13004.3},{"amount":0.492,"high":13010.3,"vol":492,"low":12884.7,"count":120,"id":1603490400,"close":12989.2,"tradeTurnover":6376.1492,"open":12923.6},{"amount":0.51,"high":13024.4,"vol":510,"low":12884.6,"count":121,"id":1603494000,"close":12884.6,"tradeTurnover":6622.3406,"open":12974.9},{"amount":0.488,"high":13018.3,"vol":488,"low":12811.1,"count":120,"id":1603497600,"close":12953.9,"tradeTurnover":6317.7938,"open":12973.7},{"amount":0.482,"high":13018.1,"vol":482,"low":12872.8,"count":117,"id":1603501200,"close":12934.2,"tradeTurnover":6242.4178,"open":12927.5},{"amount":0.484,"high":13003.9,"vol":484,"low":12903.3,"count":117,"id":1603504800,"close":12989.1,"tradeTurnover":6278.1756,"open":12971.9},{"amount":0.474,"high":13013.4,"vol":474,"low":12938.3,"count":122,"id":1603508400,"close":12975.9,"tradeTurnover":6157.7096,"open":13000.1},{"amount":0.526,"high":13009.4,"vol":526,"low":12905.5,"count":124,"id":1603512000,"close":12963.3,"tradeTurnover":6831.5658,"open":12989.7},{"amount":0.522,"high":13041.8,"vol":522,"low":12875.3,"count":127,"id":1603515600,"close":12989.7,"tradeTurnover":6768.8994,"open":12910.5},{"amount":0.49,"high":13058.1,"vol":490,"low":12908.8,"count":120,"id":1603519200,"close":13003.6,"tradeTurnover":6370.5714,"open":12994.7},{"amount":0.478,"high":13037.8,"vol":478,"low":12981.7,"count":120,"id":1603522800,"close":13004.2,"tradeTurnover":6218.9722,"open":13011.9},{"amount":0.52,"high":13030.6,"vol":520,"low":12899.4,"count":124,"id":1603526400,"close":12998.2,"tradeTurnover":6754.958,"open":13003.0},{"amount":0.454,"high":13020.3,"vol":454,"low":12893.6,"count":115,"id":1603530000,"close":12990.6,"tradeTurnover":5891.0574,"open":12998.2},{"amount":0.502,"high":13059.1,"vol":502,"low":12913.2,"count":124,"id":1603533600,"close":13030.1,"tradeTurnover":6525.9004,"open":12996.4},{"amount":0.468,"high":13068.3,"vol":468,"low":12940.2,"count":119,"id":1603537200,"close":13033.2,"tradeTurnover":6091.0376,"open":12988.4},{"amount":0.468,"high":13071.8,"vol":468,"low":12978.9,"count":123,"id":1603540800,"close":13006.5,"tradeTurnover":6102.5902,"open":13035.3},{"amount":0.534,"high":13066.7,"vol":534,"low":12928.1,"count":123,"id":1603544400,"close":12985.9,"tradeTurnover":6950.4268,"open":13038.8},{"amount":0.47,"high":13100.1,"vol":470,"low":12960.5,"count":100,"id":1603548000,"close":13042.0,"tradeTurnover":6124.2178,"open":12986.3},{"amount":0.456,"high":13196.5,"vol":456,"low":13038.4,"count":120,"id":1603551600,"close":13102.2,"tradeTurnover":5989.6362,"open":13038.4},{"amount":0.458,"high":13176.6,"vol":458,"low":12984.6,"count":121,"id":1603555200,"close":13052.7,"tradeTurnover":5976.331,"open":13136.8},{"amount":0.452,"high":13177.8,"vol":452,"low":13003.2,"count":118,"id":1603558800,"close":13177.8,"tradeTurnover":5911.7058,"open":13006.2},{"amount":0.468,"high":13170.7,"vol":468,"low":13023.0,"count":119,"id":1603562400,"close":13080.8,"tradeTurnover":6122.375,"open":13127.7},{"amount":0.468,"high":13179.3,"vol":468,"low":13014.2,"count":120,"id":1603566000,"close":13148.4,"tradeTurnover":6126.4278,"open":13040.7},{"amount":0.47,"high":13179.6,"vol":470,"low":12992.5,"count":119,"id":1603569600,"close":13090.1,"tradeTurnover":6151.4758,"open":13073.5},{"amount":0.458,"high":13148.7,"vol":458,"low":12980.7,"count":117,"id":1603573200,"close":12993.9,"tradeTurnover":5981.071,"open":13035.4},{"amount":0.478,"high":13112.1,"vol":478,"low":12975.6,"count":118,"id":1603576800,"close":13041.1,"tradeTurnover":6225.4216,"open":13040.7},{"amount":0.472,"high":13184.3,"vol":472,"low":13009.3,"count":118,"id":1603580400,"close":13184.3,"tradeTurnover":6173.4244,"open":13012.6},{"amount":0.46,"high":13170.4,"vol":460,"low":13007.7,"count":115,"id":1603584000,"close":13154.3,"tradeTurnover":6024.09,"open":13080.8},{"amount":0.398,"high":13196.8,"vol":398,"low":13024.0,"count":102,"id":1603587600,"close":13196.1,"tradeTurnover":5217.5364,"open":13092.0},{"amount":0.476,"high":13175.1,"vol":476,"low":13035.0,"count":120,"id":1603591200,"close":13082.4,"tradeTurnover":6228.6596,"open":13124.7},{"amount":0.578,"high":13383.8,"vol":578,"low":13049.1,"count":137,"id":1603594800,"close":13259.0,"tradeTurnover":7629.3886,"open":13049.1},{"amount":0.47,"high":13369.0,"vol":470,"low":13216.0,"count":122,"id":1603598400,"close":13243.4,"tradeTurnover":6247.955,"open":13277.0},{"amount":0.61,"high":13353.3,"vol":610,"low":13010.1,"count":134,"id":1603602000,"close":13017.3,"tradeTurnover":8048.8598,"open":13285.3},{"amount":0.486,"high":13105.7,"vol":486,"low":13018.2,"count":118,"id":1603605600,"close":13060.3,"tradeTurnover":6344.1474,"open":13022.5},{"amount":0.464,"high":13112.1,"vol":464,"low":13022.0,"count":120,"id":1603609200,"close":13078.1,"tradeTurnover":6061.5416,"open":13048.5},{"amount":0.464,"high":13091.0,"vol":464,"low":13017.2,"count":120,"id":1603612800,"close":13046.0,"tradeTurnover":6055.3734,"open":13077.2},{"amount":0.478,"high":13084.0,"vol":478,"low":13014.2,"count":117,"id":1603616400,"close":13040.8,"tradeTurnover":6235.7882,"open":13065.1},{"amount":0.478,"high":13064.2,"vol":478,"low":13010.2,"count":125,"id":1603620000,"close":13028.5,"tradeTurnover":6232.2428,"open":13047.1},{"amount":0.534,"high":13061.5,"vol":534,"low":12852.9,"count":123,"id":1603623600,"close":12897.6,"tradeTurnover":6918.1226,"open":13061.5},{"amount":0.444,"high":13069.7,"vol":444,"low":12893.2,"count":117,"id":1603627200,"close":12964.3,"tradeTurnover":5755.8712,"open":12908.3},{"amount":0.498,"high":13071.9,"vol":498,"low":12891.8,"count":119,"id":1603630800,"close":12949.3,"tradeTurnover":6465.078,"open":13001.3},{"amount":0.468,"high":13077.7,"vol":468,"low":12900.0,"count":116,"id":1603634400,"close":12946.8,"tradeTurnover":6075.4554,"open":12975.8},{"amount":0.47,"high":13069.1,"vol":470,"low":12883.3,"count":119,"id":1603638000,"close":12883.3,"tradeTurnover":6097.1072,"open":12975.2},{"amount":0.482,"high":13067.9,"vol":482,"low":12877.5,"count":118,"id":1603641600,"close":12978.7,"tradeTurnover":6256.4472,"open":12916.2},{"amount":0.47,"high":13087.5,"vol":470,"low":12922.7,"count":117,"id":1603645200,"close":13004.4,"tradeTurnover":6108.3892,"open":13008.0},{"amount":0.468,"high":13067.6,"vol":468,"low":12893.6,"count":118,"id":1603648800,"close":12957.2,"tradeTurnover":6079.1484,"open":12972.8},{"amount":0.442,"high":13066.9,"vol":442,"low":12916.6,"count":118,"id":1603652400,"close":13021.8,"tradeTurnover":5746.5548,"open":12996.5},{"amount":0.508,"high":13081.5,"vol":508,"low":12944.9,"count":120,"id":1603656000,"close":12985.4,"tradeTurnover":6616.9872,"open":12992.9},{"amount":0.508,"high":13068.6,"vol":508,"low":12921.4,"count":122,"id":1603659600,"close":13011.2,"tradeTurnover":6614.816,"open":12999.9},{"amount":0.486,"high":13073.8,"vol":486,"low":12911.9,"count":121,"id":1603663200,"close":12959.4,"tradeTurnover":6320.907,"open":12979.6},{"amount":0.452,"high":13085.2,"vol":452,"low":12927.8,"count":113,"id":1603666800,"close":13032.1,"tradeTurnover":5878.6442,"open":12963.4},{"amount":0.482,"high":13076.7,"vol":482,"low":12918.3,"count":121,"id":1603670400,"close":13001.0,"tradeTurnover":6263.698,"open":12964.2},{"amount":0.478,"high":13096.4,"vol":478,"low":12991.2,"count":124,"id":1603674000,"close":13053.7,"tradeTurnover":6232.2328,"open":13040.0},{"amount":0.488,"high":13185.7,"vol":488,"low":12985.1,"count":121,"id":1603677600,"close":13064.4,"tradeTurnover":6387.534,"open":13060.6},{"amount":0.486,"high":13187.2,"vol":486,"low":12984.1,"count":135,"id":1603681200,"close":13092.8,"tradeTurnover":6369.0272,"open":13032.3},{"amount":0.51,"high":13181.6,"vol":510,"low":12962.3,"count":131,"id":1603684800,"close":13132.6,"tradeTurnover":6679.829,"open":13092.0},{"amount":0.506,"high":13205.3,"vol":506,"low":13025.3,"count":126,"id":1603688400,"close":13092.1,"tradeTurnover":6641.2128,"open":13129.2},{"amount":1.616,"high":13188.1,"vol":1616,"low":12989.8,"count":141,"id":1603692000,"close":13071.4,"tradeTurnover":21170.8224,"open":13121.8},{"amount":3.746,"high":13100.0,"vol":3746,"low":12965.2,"count":110,"id":1603695600,"close":13038.7,"tradeTurnover":48924.8902,"open":13061.0},{"amount":8.966,"high":13102.0,"vol":8966,"low":12852.8,"count":173,"id":1603699200,"close":13039.3,"tradeTurnover":116525.5534,"open":13030.9},{"amount":4.48,"high":13088.4,"vol":4480,"low":13039.8,"count":124,"id":1603702800,"close":13075.9,"tradeTurnover":58521.1714,"open":13047.1},{"amount":4.272,"high":13100.0,"vol":4272,"low":13060.2,"count":130,"id":1603706400,"close":13100.0,"tradeTurnover":55895.9778,"open":13072.1},{"amount":29.798,"high":13159.0,"vol":29798,"low":13100.0,"count":230,"id":1603710000,"close":13138.4,"tradeTurnover":391138.024,"open":13100.0},{"amount":5.154,"high":13200.0,"vol":5154,"low":13100.0,"count":188,"id":1603713600,"close":13149.8,"tradeTurnover":67694.652,"open":13138.8},{"amount":35.608,"high":13351.5,"vol":35608,"low":13133.1,"count":328,"id":1603717200,"close":13205.8,"tradeTurnover":472780.3394,"open":13150.0},{"amount":31.748,"high":13280.0,"vol":31748,"low":13144.1,"count":235,"id":1603720800,"close":13166.1,"tradeTurnover":418744.5588,"open":13203.0},{"amount":36.53,"high":13165.2,"vol":36530,"low":12903.8,"count":384,"id":1603724400,"close":12978.0,"tradeTurnover":476940.3296,"open":13159.0},{"amount":35.018,"high":13069.8,"vol":35018,"low":12850.5,"count":323,"id":1603728000,"close":12869.6,"tradeTurnover":453288.918,"open":12965.0},{"amount":92.628,"high":12941.5,"vol":92628,"low":12583.9,"count":560,"id":1603731600,"close":12873.8,"tradeTurnover":1185973.467,"open":12879.2},{"amount":4.302,"high":12954.5,"vol":4302,"low":12820.4,"count":128,"id":1603735200,"close":12946.8,"tradeTurnover":55481.0054,"open":12856.2},{"amount":13.83,"high":12953.5,"vol":13830,"low":12914.1,"count":118,"id":1603738800,"close":12953.4,"tradeTurnover":179112.1598,"open":12945.6},{"amount":17.172,"high":13007.5,"vol":17172,"low":12953.5,"count":132,"id":1603742400,"close":12983.4,"tradeTurnover":223230.2122,"open":12953.5},{"amount":3.212,"high":13007.5,"vol":3212,"low":12982.7,"count":59,"id":1603746000,"close":12993.8,"tradeTurnover":41767.8906,"open":12983.1},{"amount":1.504,"high":13007.5,"vol":1504,"low":12974.0,"count":74,"id":1603749600,"close":13007.5,"tradeTurnover":19543.3568,"open":13002.1},{"amount":3.454,"high":13061.2,"vol":3454,"low":13007.5,"count":101,"id":1603753200,"close":13033.7,"tradeTurnover":45001.601,"open":13007.5},{"amount":8.784,"high":13105.0,"vol":8784,"low":13028.3,"count":98,"id":1603756800,"close":13067.1,"tradeTurnover":114871.8246,"open":13029.2},{"amount":11.592,"high":13074.4,"vol":11592,"low":13051.5,"count":66,"id":1603760400,"close":13061.7,"tradeTurnover":151386.9038,"open":13074.3},{"amount":19.298,"high":13097.6,"vol":19298,"low":13040.1,"count":109,"id":1603764000,"close":13049.7,"tradeTurnover":252061.019,"open":13061.7},{"amount":22.992,"high":13080.0,"vol":22992,"low":13057.1,"count":69,"id":1603767600,"close":13070.4,"tradeTurnover":300453.9788,"open":13057.6},{"amount":14.396,"high":13175.0,"vol":14396,"low":13079.6,"count":59,"id":1603771200,"close":13103.3,"tradeTurnover":188461.9156,"open":13080.0},{"amount":5.058,"high":13121.3,"vol":5058,"low":13069.7,"count":44,"id":1603774800,"close":13073.6,"tradeTurnover":66201.3552,"open":13121.3},{"amount":9.106,"high":13149.0,"vol":9106,"low":13069.6,"count":107,"id":1603778400,"close":13103.4,"tradeTurnover":119104.8906,"open":13074.9},{"amount":73.95,"high":13169.8,"vol":73950,"low":12992.4,"count":305,"id":1603782000,"close":13130.0,"tradeTurnover":968195.155,"open":13103.3},{"amount":18.732,"high":13148.4,"vol":18732,"low":13044.0,"count":135,"id":1603785600,"close":13123.8,"tradeTurnover":245533.5448,"open":13135.1},{"amount":13.756,"high":13131.8,"vol":13756,"low":13075.7,"count":102,"id":1603789200,"close":13131.7,"tradeTurnover":180253.7708,"open":13115.5},{"amount":154.108,"high":13252.0,"vol":154108,"low":13063.4,"count":525,"id":1603792800,"close":13216.9,"tradeTurnover":2029983.656,"open":13134.8},{"amount":170.09,"high":13590.1,"vol":170090,"low":13213.5,"count":591,"id":1603796400,"close":13395.8,"tradeTurnover":2276279.742,"open":13218.8},{"amount":48.928,"high":13414.0,"vol":48928,"low":13331.7,"count":216,"id":1603800000,"close":13376.9,"tradeTurnover":654585.9108,"open":13395.9},{"amount":63.294,"high":13490.9,"vol":63294,"low":13329.8,"count":316,"id":1603803600,"close":13384.3,"tradeTurnover":848130.9212,"open":13376.5},{"amount":12.892,"high":13415.8,"vol":12892,"low":13344.8,"count":124,"id":1603807200,"close":13398.2,"tradeTurnover":172618.6864,"open":13392.6},{"amount":93.22,"high":13626.7,"vol":93220,"low":13398.2,"count":476,"id":1603810800,"close":13598.5,"tradeTurnover":1262695.5466,"open":13398.2},{"amount":85.45,"high":13639.9,"vol":85450,"low":13520.2,"count":435,"id":1603814400,"close":13639.9,"tradeTurnover":1161481.4136,"open":13595.8},{"amount":191.812,"high":13826.7,"vol":191812,"low":13589.0,"count":711,"id":1603818000,"close":13688.1,"tradeTurnover":2628428.3788,"open":13640.0},{"amount":65.434,"high":13745.0,"vol":65434,"low":13528.2,"count":410,"id":1603821600,"close":13630.1,"tradeTurnover":891541.8394,"open":13685.0},{"amount":5.788,"high":13659.8,"vol":5788,"low":13595.4,"count":65,"id":1603825200,"close":13637.1,"tradeTurnover":78836.2578,"open":13629.4},{"amount":163.104,"high":13805.1,"vol":163104,"low":13582.6,"count":537,"id":1603828800,"close":13616.6,"tradeTurnover":2234040.3544,"open":13644.4},{"amount":9.884,"high":13753.5,"vol":9884,"low":13609.8,"count":101,"id":1603832400,"close":13705.5,"tradeTurnover":135406.4752,"open":13609.8},{"amount":7.436,"high":13739.9,"vol":7436,"low":13658.2,"count":100,"id":1603836000,"close":13739.9,"tradeTurnover":101840.3508,"open":13705.4},{"amount":17.086,"high":13794.6,"vol":17086,"low":13582.6,"count":234,"id":1603839600,"close":13649.6,"tradeTurnover":233971.8448,"open":13739.9},{"amount":24.108,"high":13745.2,"vol":24108,"low":13618.8,"count":177,"id":1603843200,"close":13701.7,"tradeTurnover":330206.5694,"open":13645.9},{"amount":15.892,"high":13725.6,"vol":15892,"low":13647.9,"count":151,"id":1603846800,"close":13702.6,"tradeTurnover":217816.7008,"open":13702.1},{"amount":46.548,"high":13832.2,"vol":46548,"low":13680.2,"count":274,"id":1603850400,"close":13811.6,"tradeTurnover":640636.0352,"open":13701.7},{"amount":67.896,"high":13820.3,"vol":67896,"low":13717.5,"count":320,"id":1603854000,"close":13777.0,"tradeTurnover":935838.2238,"open":13818.5},{"amount":33.156,"high":13807.2,"vol":33156,"low":13710.0,"count":210,"id":1603857600,"close":13735.7,"tradeTurnover":455941.234,"open":13767.3},{"amount":32.076,"high":13753.9,"vol":32076,"low":13671.3,"count":198,"id":1603861200,"close":13715.8,"tradeTurnover":439612.64,"open":13735.5},{"amount":14.756,"high":13757.0,"vol":14756,"low":13694.9,"count":122,"id":1603864800,"close":13701.3,"tradeTurnover":202602.5164,"open":13715.9},{"amount":155.534,"high":13708.7,"vol":155534,"low":13550.0,"count":635,"id":1603868400,"close":13674.2,"tradeTurnover":2117935.0928,"open":13701.2},{"amount":29.846,"high":13691.7,"vol":29846,"low":13584.0,"count":240,"id":1603872000,"close":13691.7,"tradeTurnover":407073.1398,"open":13673.0},{"amount":104.542,"high":13707.5,"vol":104542,"low":13573.5,"count":377,"id":1603875600,"close":13587.1,"tradeTurnover":1425079.9344,"open":13689.3},{"amount":73.818,"high":13618.0,"vol":73818,"low":13504.7,"count":358,"id":1603879200,"close":13552.7,"tradeTurnover":1001666.0908,"open":13584.6},{"amount":176.544,"high":13565.4,"vol":176544,"low":13330.0,"count":1004,"id":1603882800,"close":13336.4,"tradeTurnover":2369166.1492,"open":13552.6},{"amount":289.73,"high":13385.0,"vol":289730,"low":13173.9,"count":968,"id":1603886400,"close":13300.3,"tradeTurnover":3846751.7166,"open":13331.5},{"amount":139.822,"high":13340.0,"vol":139822,"low":13122.9,"count":612,"id":1603890000,"close":13129.9,"tradeTurnover":1848876.932,"open":13300.2},{"amount":367.876,"high":13168.2,"vol":367876,"low":12915.9,"count":1168,"id":1603893600,"close":13082.2,"tradeTurnover":4802516.9818,"open":13123.4},{"amount":84.044,"high":13235.2,"vol":84044,"low":13052.3,"count":375,"id":1603897200,"close":13221.2,"tradeTurnover":1106883.1282,"open":13077.1},{"amount":29.566,"high":13218.7,"vol":29566,"low":13050.0,"count":244,"id":1603900800,"close":13145.1,"tradeTurnover":388697.4104,"open":13218.7},{"amount":53.336,"high":13204.9,"vol":53336,"low":13006.6,"count":299,"id":1603904400,"close":13176.7,"tradeTurnover":700385.2784,"open":13145.1},{"amount":34.164,"high":13219.6,"vol":34164,"low":13131.0,"count":218,"id":1603908000,"close":13196.5,"tradeTurnover":450210.5778,"open":13171.0},{"amount":22.158,"high":13237.4,"vol":22158,"low":13145.0,"count":185,"id":1603911600,"close":13154.9,"tradeTurnover":292020.0438,"open":13200.0},{"amount":4.548,"high":13211.8,"vol":4548,"low":13147.4,"count":75,"id":1603915200,"close":13198.1,"tradeTurnover":59991.1118,"open":13154.5},{"amount":3.52,"high":13196.5,"vol":3520,"low":13100.2,"count":68,"id":1603918800,"close":13190.1,"tradeTurnover":46175.428,"open":13193.5},{"amount":3.122,"high":13267.5,"vol":3122,"low":13185.4,"count":72,"id":1603922400,"close":13252.0,"tradeTurnover":41304.2018,"open":13185.4},{"amount":14.768,"high":13282.3,"vol":14768,"low":13235.9,"count":86,"id":1603926000,"close":13265.9,"tradeTurnover":195689.0764,"open":13242.1},{"amount":19.968,"high":13294.7,"vol":19968,"low":13237.4,"count":98,"id":1603929600,"close":13245.1,"tradeTurnover":264834.1944,"open":13253.9},{"amount":35.282,"high":13285.3,"vol":35282,"low":13166.3,"count":192,"id":1603933200,"close":13274.2,"tradeTurnover":465789.6302,"open":13244.6},{"amount":9.748,"high":13277.7,"vol":9748,"low":13212.2,"count":119,"id":1603936800,"close":13241.1,"tradeTurnover":129016.0684,"open":13275.9},{"amount":27.3,"high":13262.5,"vol":27300,"low":13174.6,"count":199,"id":1603940400,"close":13262.5,"tradeTurnover":360589.8982,"open":13237.1},{"amount":18.904,"high":13277.7,"vol":18904,"low":13229.5,"count":109,"id":1603944000,"close":13229.5,"tradeTurnover":250713.2812,"open":13269.1},{"amount":15.822,"high":13274.8,"vol":15822,"low":13228.5,"count":134,"id":1603947600,"close":13274.8,"tradeTurnover":209781.909,"open":13228.5},{"amount":91.246,"high":13323.0,"vol":91246,"low":13242.3,"count":294,"id":1603951200,"close":13255.0,"tradeTurnover":1211271.2788,"open":13274.8},{"amount":187.622,"high":13269.3,"vol":187622,"low":13123.1,"count":506,"id":1603954800,"close":13142.4,"tradeTurnover":2478299.7074,"open":13255.0},{"amount":69.532,"high":13182.4,"vol":69532,"low":13094.1,"count":226,"id":1603958400,"close":13124.8,"tradeTurnover":914157.2418,"open":13145.9},{"amount":23.184,"high":13197.1,"vol":23184,"low":13129.5,"count":141,"id":1603962000,"close":13183.7,"tradeTurnover":305485.9524,"open":13129.5},{"amount":121.146,"high":13187.5,"vol":121146,"low":13053.1,"count":442,"id":1603965600,"close":13105.2,"tradeTurnover":1590026.4416,"open":13184.8},{"amount":47.498,"high":13171.4,"vol":47498,"low":13060.1,"count":262,"id":1603969200,"close":13060.1,"tradeTurnover":623578.149,"open":13105.1},{"amount":126.552,"high":13145.8,"vol":126552,"low":12977.9,"count":481,"id":1603972800,"close":13131.8,"tradeTurnover":1652549.311,"open":13056.9},{"amount":100.482,"high":13237.2,"vol":100482,"low":13102.0,"count":325,"id":1603976400,"close":13230.0,"tradeTurnover":1326403.7206,"open":13131.7},{"amount":253.258,"high":13476.1,"vol":253258,"low":13231.0,"count":752,"id":1603980000,"close":13420.8,"tradeTurnover":3384941.438,"open":13231.0},{"amount":64.71,"high":13458.7,"vol":64710,"low":13358.7,"count":269,"id":1603983600,"close":13420.6,"tradeTurnover":869052.3804,"open":13416.0},{"amount":120.24,"high":13594.5,"vol":120240,"low":13391.8,"count":570,"id":1603987200,"close":13535.9,"tradeTurnover":1626567.8278,"open":13421.9}],"id":"","rep":"market.BTC-USDT.kline.60min","status":"ok"} +2024-01-18 11:12:49.731 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:39] - 请求 KLine 数据用户收到的原始数据:{"id":"","rep":"market.BTC-USDT.kline.60min","ts":1705547568636,"wsid":19750305,"status":"ok","data":[{"id":1603270800,"open":12198.0,"close":12196.7,"high":12300.0,"low":11715.8,"amount":0.276,"vol":276,"trade_turnover":3315.9104,"count":39},{"id":1603274400,"open":12196.7,"close":12277.9,"high":12289.9,"low":12111.0,"amount":0.198,"vol":198,"trade_turnover":2420.7728,"count":21},{"id":1603278000,"open":12111.0,"close":12000.0,"high":12277.9,"low":12000.0,"amount":0.012,"vol":12,"trade_turnover":145.2238,"count":5},{"id":1603281600,"open":12078.0,"close":12497.4,"high":12498.0,"low":12078.0,"amount":0.084,"vol":84,"trade_turnover":1040.0504,"count":12},{"id":1603285200,"open":12495.6,"close":12373.5,"high":12495.6,"low":12282.9,"amount":1.122,"vol":1122,"trade_turnover":13905.3124,"count":112},{"id":1603288800,"open":12412.9,"close":12689.9,"high":12807.6,"low":12358.1,"amount":5.29,"vol":5290,"trade_turnover":66852.128,"count":155},{"id":1603292400,"open":12692.8,"close":12701.9,"high":12778.7,"low":12573.2,"amount":1.174,"vol":1174,"trade_turnover":14907.367,"count":113},{"id":1603296000,"open":12679.7,"close":12835.9,"high":12920.9,"low":12624.8,"amount":1.156,"vol":1156,"trade_turnover":14802.449,"count":115},{"id":1603299600,"open":12848.3,"close":12754.2,"high":12908.3,"low":12687.5,"amount":1.12,"vol":1120,"trade_turnover":14345.7324,"count":115},{"id":1603303200,"open":12743.7,"close":12740.2,"high":12849.0,"low":12668.3,"amount":1.106,"vol":1106,"trade_turnover":14105.3504,"count":114},{"id":1603306800,"open":12729.5,"close":12650.3,"high":12843.1,"low":12597.2,"amount":1.032,"vol":1032,"trade_turnover":13125.4568,"count":112},{"id":1603310400,"open":12666.8,"close":12807.0,"high":12848.4,"low":12610.2,"amount":1.154,"vol":1154,"trade_turnover":14680.638,"count":116},{"id":1603314000,"open":12866.0,"close":12938.9,"high":13005.1,"low":12748.2,"amount":1.164,"vol":1164,"trade_turnover":14976.9366,"count":114},{"id":1603317600,"open":12921.0,"close":13122.0,"high":13211.2,"low":12865.7,"amount":1.174,"vol":1174,"trade_turnover":15285.2446,"count":114},{"id":1603321200,"open":13153.2,"close":12829.8,"high":13173.2,"low":12688.6,"amount":1.172,"vol":1172,"trade_turnover":15060.9938,"count":117},{"id":1603324800,"open":12793.1,"close":12885.9,"high":12988.1,"low":12764.4,"amount":1.17,"vol":1170,"trade_turnover":15046.2046,"count":117},{"id":1603328400,"open":12860.4,"close":12757.5,"high":12972.6,"low":12757.5,"amount":1.158,"vol":1158,"trade_turnover":14882.4656,"count":118},{"id":1603332000,"open":12824.1,"close":12788.8,"high":12848.0,"low":12729.0,"amount":1.124,"vol":1124,"trade_turnover":14368.7948,"count":115},{"id":1603335600,"open":12791.7,"close":12767.2,"high":12834.4,"low":12729.0,"amount":1.194,"vol":1194,"trade_turnover":15268.9298,"count":111},{"id":1603339200,"open":12729.0,"close":12762.2,"high":12778.3,"low":12729.0,"amount":1.152,"vol":1152,"trade_turnover":14695.4876,"count":115},{"id":1603342800,"open":12763.1,"close":12813.8,"high":12842.0,"low":12730.6,"amount":1.21,"vol":1210,"trade_turnover":15440.8162,"count":119},{"id":1603346400,"open":12795.0,"close":12729.1,"high":12795.0,"low":12728.0,"amount":1.188,"vol":1188,"trade_turnover":15128.0098,"count":123},{"id":1603350000,"open":12728.6,"close":12730.6,"high":12730.6,"low":12728.3,"amount":1.266,"vol":1266,"trade_turnover":16115.1306,"count":112},{"id":1603353600,"open":12730.3,"close":12770.1,"high":12921.5,"low":12729.9,"amount":1.35,"vol":1350,"trade_turnover":17233.7326,"count":127},{"id":1603357200,"open":12824.9,"close":12780.4,"high":12872.1,"low":12760.1,"amount":0.98,"vol":980,"trade_turnover":12553.9826,"count":99},{"id":1603360800,"open":12784.9,"close":12934.2,"high":13002.7,"low":12775.6,"amount":0.266,"vol":266,"trade_turnover":3415.023,"count":30},{"id":1603364400,"open":12977.0,"close":13045.0,"high":13057.0,"low":12886.6,"amount":1.004,"vol":1004,"trade_turnover":13020.8576,"count":117},{"id":1603368000,"open":12958.5,"close":12847.9,"high":12973.4,"low":12751.6,"amount":1.134,"vol":1134,"trade_turnover":14594.2752,"count":111},{"id":1603371600,"open":12882.7,"close":12931.0,"high":13000.8,"low":12743.0,"amount":1.152,"vol":1152,"trade_turnover":14877.7314,"count":114},{"id":1603375200,"open":12890.4,"close":12917.8,"high":12995.3,"low":12783.9,"amount":1.182,"vol":1182,"trade_turnover":15224.4716,"count":115},{"id":1603378800,"open":12918.8,"close":12953.0,"high":13031.2,"low":12817.9,"amount":1.176,"vol":1176,"trade_turnover":15197.208,"count":117},{"id":1603382400,"open":12923.1,"close":13055.6,"high":13100.2,"low":12865.6,"amount":1.146,"vol":1146,"trade_turnover":14851.9604,"count":119},{"id":1603386000,"open":12967.6,"close":13082.7,"high":13105.7,"low":12835.5,"amount":1.534,"vol":1534,"trade_turnover":19927.8288,"count":124},{"id":1603389600,"open":13020.4,"close":13016.4,"high":13115.0,"low":12938.7,"amount":1.268,"vol":1268,"trade_turnover":16505.4738,"count":117},{"id":1603393200,"open":13028.3,"close":12970.6,"high":13171.2,"low":12961.8,"amount":1.13,"vol":1130,"trade_turnover":14762.952,"count":112},{"id":1603396800,"open":13016.7,"close":13089.3,"high":13216.1,"low":12998.5,"amount":1.206,"vol":1206,"trade_turnover":15807.1226,"count":117},{"id":1603400400,"open":13136.0,"close":13092.0,"high":13203.7,"low":12932.9,"amount":1.332,"vol":1332,"trade_turnover":17423.4422,"count":114},{"id":1603404000,"open":13119.4,"close":13055.9,"high":13250.5,"low":12984.7,"amount":1.21,"vol":1210,"trade_turnover":15876.0632,"count":114},{"id":1603407600,"open":13059.4,"close":12890.4,"high":13126.5,"low":12857.2,"amount":1.286,"vol":1286,"trade_turnover":16688.422,"count":116},{"id":1603411200,"open":12929.7,"close":12892.2,"high":12994.0,"low":12751.6,"amount":1.502,"vol":1502,"trade_turnover":19331.1596,"count":131},{"id":1603414800,"open":12921.7,"close":12898.3,"high":13003.2,"low":12786.0,"amount":1.386,"vol":1386,"trade_turnover":17904.8902,"count":121},{"id":1603418400,"open":12951.6,"close":12975.1,"high":13054.0,"low":12800.7,"amount":1.416,"vol":1416,"trade_turnover":18306.6204,"count":122},{"id":1603422000,"open":12967.3,"close":12947.0,"high":13030.7,"low":12875.0,"amount":1.19,"vol":1190,"trade_turnover":15409.7984,"count":118},{"id":1603425600,"open":12925.2,"close":12852.0,"high":13047.3,"low":12832.8,"amount":1.022,"vol":1022,"trade_turnover":13214.4388,"count":127},{"id":1603429200,"open":12859.0,"close":12931.1,"high":12991.7,"low":12841.2,"amount":0.478,"vol":478,"trade_turnover":6180.2486,"count":118},{"id":1603432800,"open":12935.9,"close":12939.6,"high":13014.1,"low":12871.9,"amount":0.522,"vol":522,"trade_turnover":6759.0324,"count":132},{"id":1603436400,"open":12923.1,"close":12925.4,"high":12998.9,"low":12917.1,"amount":0.476,"vol":476,"trade_turnover":6163.3118,"count":118},{"id":1603440000,"open":12942.2,"close":12962.6,"high":13014.0,"low":12916.1,"amount":0.508,"vol":508,"trade_turnover":6585.3656,"count":122},{"id":1603443600,"open":12970.5,"close":12926.4,"high":13012.5,"low":12909.9,"amount":0.564,"vol":564,"trade_turnover":7308.8828,"count":124},{"id":1603447200,"open":13001.2,"close":13007.7,"high":13059.5,"low":12925.7,"amount":0.536,"vol":536,"trade_turnover":6957.8796,"count":124},{"id":1603450800,"open":13025.4,"close":12970.6,"high":13078.4,"low":12906.5,"amount":0.486,"vol":486,"trade_turnover":6326.1434,"count":122},{"id":1603454400,"open":12963.9,"close":12935.4,"high":13025.0,"low":12850.8,"amount":0.494,"vol":494,"trade_turnover":6396.0984,"count":117},{"id":1603458000,"open":12913.3,"close":12951.7,"high":13043.3,"low":12911.0,"amount":0.466,"vol":466,"trade_turnover":6049.1412,"count":117},{"id":1603461600,"open":12999.6,"close":12858.8,"high":13006.4,"low":12840.4,"amount":0.46,"vol":460,"trade_turnover":5941.815,"count":116},{"id":1603465200,"open":12885.7,"close":12881.9,"high":12932.9,"low":12826.5,"amount":0.492,"vol":492,"trade_turnover":6340.214,"count":117},{"id":1603468800,"open":12854.4,"close":12784.1,"high":12933.5,"low":12744.4,"amount":0.484,"vol":484,"trade_turnover":6205.4138,"count":123},{"id":1603472400,"open":12832.3,"close":12847.7,"high":12893.1,"low":12730.1,"amount":0.562,"vol":562,"trade_turnover":7218.9184,"count":152},{"id":1603476000,"open":12874.1,"close":12915.7,"high":12939.3,"low":12751.4,"amount":0.53,"vol":530,"trade_turnover":6825.7004,"count":128},{"id":1603479600,"open":12867.9,"close":12972.9,"high":12972.9,"low":12786.6,"amount":0.444,"vol":444,"trade_turnover":5727.7452,"count":117},{"id":1603483200,"open":12956.7,"close":12991.6,"high":13002.2,"low":12842.9,"amount":0.492,"vol":492,"trade_turnover":6375.1566,"count":116},{"id":1603486800,"open":13004.3,"close":12943.5,"high":13004.3,"low":12936.6,"amount":0.5,"vol":500,"trade_turnover":6485.468,"count":125},{"id":1603490400,"open":12923.6,"close":12989.2,"high":13010.3,"low":12884.7,"amount":0.492,"vol":492,"trade_turnover":6376.1492,"count":120},{"id":1603494000,"open":12974.9,"close":12884.6,"high":13024.4,"low":12884.6,"amount":0.51,"vol":510,"trade_turnover":6622.3406,"count":121},{"id":1603497600,"open":12973.7,"close":12953.9,"high":13018.3,"low":12811.1,"amount":0.488,"vol":488,"trade_turnover":6317.7938,"count":120},{"id":1603501200,"open":12927.5,"close":12934.2,"high":13018.1,"low":12872.8,"amount":0.482,"vol":482,"trade_turnover":6242.4178,"count":117},{"id":1603504800,"open":12971.9,"close":12989.1,"high":13003.9,"low":12903.3,"amount":0.484,"vol":484,"trade_turnover":6278.1756,"count":117},{"id":1603508400,"open":13000.1,"close":12975.9,"high":13013.4,"low":12938.3,"amount":0.474,"vol":474,"trade_turnover":6157.7096,"count":122},{"id":1603512000,"open":12989.7,"close":12963.3,"high":13009.4,"low":12905.5,"amount":0.526,"vol":526,"trade_turnover":6831.5658,"count":124},{"id":1603515600,"open":12910.5,"close":12989.7,"high":13041.8,"low":12875.3,"amount":0.522,"vol":522,"trade_turnover":6768.8994,"count":127},{"id":1603519200,"open":12994.7,"close":13003.6,"high":13058.1,"low":12908.8,"amount":0.49,"vol":490,"trade_turnover":6370.5714,"count":120},{"id":1603522800,"open":13011.9,"close":13004.2,"high":13037.8,"low":12981.7,"amount":0.478,"vol":478,"trade_turnover":6218.9722,"count":120},{"id":1603526400,"open":13003.0,"close":12998.2,"high":13030.6,"low":12899.4,"amount":0.52,"vol":520,"trade_turnover":6754.958,"count":124},{"id":1603530000,"open":12998.2,"close":12990.6,"high":13020.3,"low":12893.6,"amount":0.454,"vol":454,"trade_turnover":5891.0574,"count":115},{"id":1603533600,"open":12996.4,"close":13030.1,"high":13059.1,"low":12913.2,"amount":0.502,"vol":502,"trade_turnover":6525.9004,"count":124},{"id":1603537200,"open":12988.4,"close":13033.2,"high":13068.3,"low":12940.2,"amount":0.468,"vol":468,"trade_turnover":6091.0376,"count":119},{"id":1603540800,"open":13035.3,"close":13006.5,"high":13071.8,"low":12978.9,"amount":0.468,"vol":468,"trade_turnover":6102.5902,"count":123},{"id":1603544400,"open":13038.8,"close":12985.9,"high":13066.7,"low":12928.1,"amount":0.534,"vol":534,"trade_turnover":6950.4268,"count":123},{"id":1603548000,"open":12986.3,"close":13042.0,"high":13100.1,"low":12960.5,"amount":0.47,"vol":470,"trade_turnover":6124.2178,"count":100},{"id":1603551600,"open":13038.4,"close":13102.2,"high":13196.5,"low":13038.4,"amount":0.456,"vol":456,"trade_turnover":5989.6362,"count":120},{"id":1603555200,"open":13136.8,"close":13052.7,"high":13176.6,"low":12984.6,"amount":0.458,"vol":458,"trade_turnover":5976.331,"count":121},{"id":1603558800,"open":13006.2,"close":13177.8,"high":13177.8,"low":13003.2,"amount":0.452,"vol":452,"trade_turnover":5911.7058,"count":118},{"id":1603562400,"open":13127.7,"close":13080.8,"high":13170.7,"low":13023.0,"amount":0.468,"vol":468,"trade_turnover":6122.375,"count":119},{"id":1603566000,"open":13040.7,"close":13148.4,"high":13179.3,"low":13014.2,"amount":0.468,"vol":468,"trade_turnover":6126.4278,"count":120},{"id":1603569600,"open":13073.5,"close":13090.1,"high":13179.6,"low":12992.5,"amount":0.47,"vol":470,"trade_turnover":6151.4758,"count":119},{"id":1603573200,"open":13035.4,"close":12993.9,"high":13148.7,"low":12980.7,"amount":0.458,"vol":458,"trade_turnover":5981.071,"count":117},{"id":1603576800,"open":13040.7,"close":13041.1,"high":13112.1,"low":12975.6,"amount":0.478,"vol":478,"trade_turnover":6225.4216,"count":118},{"id":1603580400,"open":13012.6,"close":13184.3,"high":13184.3,"low":13009.3,"amount":0.472,"vol":472,"trade_turnover":6173.4244,"count":118},{"id":1603584000,"open":13080.8,"close":13154.3,"high":13170.4,"low":13007.7,"amount":0.46,"vol":460,"trade_turnover":6024.09,"count":115},{"id":1603587600,"open":13092.0,"close":13196.1,"high":13196.8,"low":13024.0,"amount":0.398,"vol":398,"trade_turnover":5217.5364,"count":102},{"id":1603591200,"open":13124.7,"close":13082.4,"high":13175.1,"low":13035.0,"amount":0.476,"vol":476,"trade_turnover":6228.6596,"count":120},{"id":1603594800,"open":13049.1,"close":13259.0,"high":13383.8,"low":13049.1,"amount":0.578,"vol":578,"trade_turnover":7629.3886,"count":137},{"id":1603598400,"open":13277.0,"close":13243.4,"high":13369.0,"low":13216.0,"amount":0.47,"vol":470,"trade_turnover":6247.955,"count":122},{"id":1603602000,"open":13285.3,"close":13017.3,"high":13353.3,"low":13010.1,"amount":0.61,"vol":610,"trade_turnover":8048.8598,"count":134},{"id":1603605600,"open":13022.5,"close":13060.3,"high":13105.7,"low":13018.2,"amount":0.486,"vol":486,"trade_turnover":6344.1474,"count":118},{"id":1603609200,"open":13048.5,"close":13078.1,"high":13112.1,"low":13022.0,"amount":0.464,"vol":464,"trade_turnover":6061.5416,"count":120},{"id":1603612800,"open":13077.2,"close":13046.0,"high":13091.0,"low":13017.2,"amount":0.464,"vol":464,"trade_turnover":6055.3734,"count":120},{"id":1603616400,"open":13065.1,"close":13040.8,"high":13084.0,"low":13014.2,"amount":0.478,"vol":478,"trade_turnover":6235.7882,"count":117},{"id":1603620000,"open":13047.1,"close":13028.5,"high":13064.2,"low":13010.2,"amount":0.478,"vol":478,"trade_turnover":6232.2428,"count":125},{"id":1603623600,"open":13061.5,"close":12897.6,"high":13061.5,"low":12852.9,"amount":0.534,"vol":534,"trade_turnover":6918.1226,"count":123},{"id":1603627200,"open":12908.3,"close":12964.3,"high":13069.7,"low":12893.2,"amount":0.444,"vol":444,"trade_turnover":5755.8712,"count":117},{"id":1603630800,"open":13001.3,"close":12949.3,"high":13071.9,"low":12891.8,"amount":0.498,"vol":498,"trade_turnover":6465.078,"count":119},{"id":1603634400,"open":12975.8,"close":12946.8,"high":13077.7,"low":12900.0,"amount":0.468,"vol":468,"trade_turnover":6075.4554,"count":116},{"id":1603638000,"open":12975.2,"close":12883.3,"high":13069.1,"low":12883.3,"amount":0.47,"vol":470,"trade_turnover":6097.1072,"count":119},{"id":1603641600,"open":12916.2,"close":12978.7,"high":13067.9,"low":12877.5,"amount":0.482,"vol":482,"trade_turnover":6256.4472,"count":118},{"id":1603645200,"open":13008.0,"close":13004.4,"high":13087.5,"low":12922.7,"amount":0.47,"vol":470,"trade_turnover":6108.3892,"count":117},{"id":1603648800,"open":12972.8,"close":12957.2,"high":13067.6,"low":12893.6,"amount":0.468,"vol":468,"trade_turnover":6079.1484,"count":118},{"id":1603652400,"open":12996.5,"close":13021.8,"high":13066.9,"low":12916.6,"amount":0.442,"vol":442,"trade_turnover":5746.5548,"count":118},{"id":1603656000,"open":12992.9,"close":12985.4,"high":13081.5,"low":12944.9,"amount":0.508,"vol":508,"trade_turnover":6616.9872,"count":120},{"id":1603659600,"open":12999.9,"close":13011.2,"high":13068.6,"low":12921.4,"amount":0.508,"vol":508,"trade_turnover":6614.816,"count":122},{"id":1603663200,"open":12979.6,"close":12959.4,"high":13073.8,"low":12911.9,"amount":0.486,"vol":486,"trade_turnover":6320.907,"count":121},{"id":1603666800,"open":12963.4,"close":13032.1,"high":13085.2,"low":12927.8,"amount":0.452,"vol":452,"trade_turnover":5878.6442,"count":113},{"id":1603670400,"open":12964.2,"close":13001.0,"high":13076.7,"low":12918.3,"amount":0.482,"vol":482,"trade_turnover":6263.698,"count":121},{"id":1603674000,"open":13040.0,"close":13053.7,"high":13096.4,"low":12991.2,"amount":0.478,"vol":478,"trade_turnover":6232.2328,"count":124},{"id":1603677600,"open":13060.6,"close":13064.4,"high":13185.7,"low":12985.1,"amount":0.488,"vol":488,"trade_turnover":6387.534,"count":121},{"id":1603681200,"open":13032.3,"close":13092.8,"high":13187.2,"low":12984.1,"amount":0.486,"vol":486,"trade_turnover":6369.0272,"count":135},{"id":1603684800,"open":13092.0,"close":13132.6,"high":13181.6,"low":12962.3,"amount":0.51,"vol":510,"trade_turnover":6679.829,"count":131},{"id":1603688400,"open":13129.2,"close":13092.1,"high":13205.3,"low":13025.3,"amount":0.506,"vol":506,"trade_turnover":6641.2128,"count":126},{"id":1603692000,"open":13121.8,"close":13071.4,"high":13188.1,"low":12989.8,"amount":1.616,"vol":1616,"trade_turnover":21170.8224,"count":141},{"id":1603695600,"open":13061.0,"close":13038.7,"high":13100.0,"low":12965.2,"amount":3.746,"vol":3746,"trade_turnover":48924.8902,"count":110},{"id":1603699200,"open":13030.9,"close":13039.3,"high":13102.0,"low":12852.8,"amount":8.966,"vol":8966,"trade_turnover":116525.5534,"count":173},{"id":1603702800,"open":13047.1,"close":13075.9,"high":13088.4,"low":13039.8,"amount":4.48,"vol":4480,"trade_turnover":58521.1714,"count":124},{"id":1603706400,"open":13072.1,"close":13100.0,"high":13100.0,"low":13060.2,"amount":4.272,"vol":4272,"trade_turnover":55895.9778,"count":130},{"id":1603710000,"open":13100.0,"close":13138.4,"high":13159.0,"low":13100.0,"amount":29.798,"vol":29798,"trade_turnover":391138.024,"count":230},{"id":1603713600,"open":13138.8,"close":13149.8,"high":13200.0,"low":13100.0,"amount":5.154,"vol":5154,"trade_turnover":67694.652,"count":188},{"id":1603717200,"open":13150.0,"close":13205.8,"high":13351.5,"low":13133.1,"amount":35.608,"vol":35608,"trade_turnover":472780.3394,"count":328},{"id":1603720800,"open":13203.0,"close":13166.1,"high":13280.0,"low":13144.1,"amount":31.748,"vol":31748,"trade_turnover":418744.5588,"count":235},{"id":1603724400,"open":13159.0,"close":12978.0,"high":13165.2,"low":12903.8,"amount":36.53,"vol":36530,"trade_turnover":476940.3296,"count":384},{"id":1603728000,"open":12965.0,"close":12869.6,"high":13069.8,"low":12850.5,"amount":35.018,"vol":35018,"trade_turnover":453288.918,"count":323},{"id":1603731600,"open":12879.2,"close":12873.8,"high":12941.5,"low":12583.9,"amount":92.628,"vol":92628,"trade_turnover":1185973.467,"count":560},{"id":1603735200,"open":12856.2,"close":12946.8,"high":12954.5,"low":12820.4,"amount":4.302,"vol":4302,"trade_turnover":55481.0054,"count":128},{"id":1603738800,"open":12945.6,"close":12953.4,"high":12953.5,"low":12914.1,"amount":13.83,"vol":13830,"trade_turnover":179112.1598,"count":118},{"id":1603742400,"open":12953.5,"close":12983.4,"high":13007.5,"low":12953.5,"amount":17.172,"vol":17172,"trade_turnover":223230.2122,"count":132},{"id":1603746000,"open":12983.1,"close":12993.8,"high":13007.5,"low":12982.7,"amount":3.212,"vol":3212,"trade_turnover":41767.8906,"count":59},{"id":1603749600,"open":13002.1,"close":13007.5,"high":13007.5,"low":12974.0,"amount":1.504,"vol":1504,"trade_turnover":19543.3568,"count":74},{"id":1603753200,"open":13007.5,"close":13033.7,"high":13061.2,"low":13007.5,"amount":3.454,"vol":3454,"trade_turnover":45001.601,"count":101},{"id":1603756800,"open":13029.2,"close":13067.1,"high":13105.0,"low":13028.3,"amount":8.784,"vol":8784,"trade_turnover":114871.8246,"count":98},{"id":1603760400,"open":13074.3,"close":13061.7,"high":13074.4,"low":13051.5,"amount":11.592,"vol":11592,"trade_turnover":151386.9038,"count":66},{"id":1603764000,"open":13061.7,"close":13049.7,"high":13097.6,"low":13040.1,"amount":19.298,"vol":19298,"trade_turnover":252061.019,"count":109},{"id":1603767600,"open":13057.6,"close":13070.4,"high":13080.0,"low":13057.1,"amount":22.992,"vol":22992,"trade_turnover":300453.9788,"count":69},{"id":1603771200,"open":13080.0,"close":13103.3,"high":13175.0,"low":13079.6,"amount":14.396,"vol":14396,"trade_turnover":188461.9156,"count":59},{"id":1603774800,"open":13121.3,"close":13073.6,"high":13121.3,"low":13069.7,"amount":5.058,"vol":5058,"trade_turnover":66201.3552,"count":44},{"id":1603778400,"open":13074.9,"close":13103.4,"high":13149.0,"low":13069.6,"amount":9.106,"vol":9106,"trade_turnover":119104.8906,"count":107},{"id":1603782000,"open":13103.3,"close":13130.0,"high":13169.8,"low":12992.4,"amount":73.95,"vol":73950,"trade_turnover":968195.155,"count":305},{"id":1603785600,"open":13135.1,"close":13123.8,"high":13148.4,"low":13044.0,"amount":18.732,"vol":18732,"trade_turnover":245533.5448,"count":135},{"id":1603789200,"open":13115.5,"close":13131.7,"high":13131.8,"low":13075.7,"amount":13.756,"vol":13756,"trade_turnover":180253.7708,"count":102},{"id":1603792800,"open":13134.8,"close":13216.9,"high":13252.0,"low":13063.4,"amount":154.108,"vol":154108,"trade_turnover":2029983.656,"count":525},{"id":1603796400,"open":13218.8,"close":13395.8,"high":13590.1,"low":13213.5,"amount":170.09,"vol":170090,"trade_turnover":2276279.742,"count":591},{"id":1603800000,"open":13395.9,"close":13376.9,"high":13414.0,"low":13331.7,"amount":48.928,"vol":48928,"trade_turnover":654585.9108,"count":216},{"id":1603803600,"open":13376.5,"close":13384.3,"high":13490.9,"low":13329.8,"amount":63.294,"vol":63294,"trade_turnover":848130.9212,"count":316},{"id":1603807200,"open":13392.6,"close":13398.2,"high":13415.8,"low":13344.8,"amount":12.892,"vol":12892,"trade_turnover":172618.6864,"count":124},{"id":1603810800,"open":13398.2,"close":13598.5,"high":13626.7,"low":13398.2,"amount":93.22,"vol":93220,"trade_turnover":1262695.5466,"count":476},{"id":1603814400,"open":13595.8,"close":13639.9,"high":13639.9,"low":13520.2,"amount":85.45,"vol":85450,"trade_turnover":1161481.4136,"count":435},{"id":1603818000,"open":13640.0,"close":13688.1,"high":13826.7,"low":13589.0,"amount":191.812,"vol":191812,"trade_turnover":2628428.3788,"count":711},{"id":1603821600,"open":13685.0,"close":13630.1,"high":13745.0,"low":13528.2,"amount":65.434,"vol":65434,"trade_turnover":891541.8394,"count":410},{"id":1603825200,"open":13629.4,"close":13637.1,"high":13659.8,"low":13595.4,"amount":5.788,"vol":5788,"trade_turnover":78836.2578,"count":65},{"id":1603828800,"open":13644.4,"close":13616.6,"high":13805.1,"low":13582.6,"amount":163.104,"vol":163104,"trade_turnover":2234040.3544,"count":537},{"id":1603832400,"open":13609.8,"close":13705.5,"high":13753.5,"low":13609.8,"amount":9.884,"vol":9884,"trade_turnover":135406.4752,"count":101},{"id":1603836000,"open":13705.4,"close":13739.9,"high":13739.9,"low":13658.2,"amount":7.436,"vol":7436,"trade_turnover":101840.3508,"count":100},{"id":1603839600,"open":13739.9,"close":13649.6,"high":13794.6,"low":13582.6,"amount":17.086,"vol":17086,"trade_turnover":233971.8448,"count":234},{"id":1603843200,"open":13645.9,"close":13701.7,"high":13745.2,"low":13618.8,"amount":24.108,"vol":24108,"trade_turnover":330206.5694,"count":177},{"id":1603846800,"open":13702.1,"close":13702.6,"high":13725.6,"low":13647.9,"amount":15.892,"vol":15892,"trade_turnover":217816.7008,"count":151},{"id":1603850400,"open":13701.7,"close":13811.6,"high":13832.2,"low":13680.2,"amount":46.548,"vol":46548,"trade_turnover":640636.0352,"count":274},{"id":1603854000,"open":13818.5,"close":13777.0,"high":13820.3,"low":13717.5,"amount":67.896,"vol":67896,"trade_turnover":935838.2238,"count":320},{"id":1603857600,"open":13767.3,"close":13735.7,"high":13807.2,"low":13710.0,"amount":33.156,"vol":33156,"trade_turnover":455941.234,"count":210},{"id":1603861200,"open":13735.5,"close":13715.8,"high":13753.9,"low":13671.3,"amount":32.076,"vol":32076,"trade_turnover":439612.64,"count":198},{"id":1603864800,"open":13715.9,"close":13701.3,"high":13757.0,"low":13694.9,"amount":14.756,"vol":14756,"trade_turnover":202602.5164,"count":122},{"id":1603868400,"open":13701.2,"close":13674.2,"high":13708.7,"low":13550.0,"amount":155.534,"vol":155534,"trade_turnover":2117935.0928,"count":635},{"id":1603872000,"open":13673.0,"close":13691.7,"high":13691.7,"low":13584.0,"amount":29.846,"vol":29846,"trade_turnover":407073.1398,"count":240},{"id":1603875600,"open":13689.3,"close":13587.1,"high":13707.5,"low":13573.5,"amount":104.542,"vol":104542,"trade_turnover":1425079.9344,"count":377},{"id":1603879200,"open":13584.6,"close":13552.7,"high":13618.0,"low":13504.7,"amount":73.818,"vol":73818,"trade_turnover":1001666.0908,"count":358},{"id":1603882800,"open":13552.6,"close":13336.4,"high":13565.4,"low":13330.0,"amount":176.544,"vol":176544,"trade_turnover":2369166.1492,"count":1004},{"id":1603886400,"open":13331.5,"close":13300.3,"high":13385.0,"low":13173.9,"amount":289.73,"vol":289730,"trade_turnover":3846751.7166,"count":968},{"id":1603890000,"open":13300.2,"close":13129.9,"high":13340.0,"low":13122.9,"amount":139.822,"vol":139822,"trade_turnover":1848876.932,"count":612},{"id":1603893600,"open":13123.4,"close":13082.2,"high":13168.2,"low":12915.9,"amount":367.876,"vol":367876,"trade_turnover":4802516.9818,"count":1168},{"id":1603897200,"open":13077.1,"close":13221.2,"high":13235.2,"low":13052.3,"amount":84.044,"vol":84044,"trade_turnover":1106883.1282,"count":375},{"id":1603900800,"open":13218.7,"close":13145.1,"high":13218.7,"low":13050.0,"amount":29.566,"vol":29566,"trade_turnover":388697.4104,"count":244},{"id":1603904400,"open":13145.1,"close":13176.7,"high":13204.9,"low":13006.6,"amount":53.336,"vol":53336,"trade_turnover":700385.2784,"count":299},{"id":1603908000,"open":13171.0,"close":13196.5,"high":13219.6,"low":13131.0,"amount":34.164,"vol":34164,"trade_turnover":450210.5778,"count":218},{"id":1603911600,"open":13200.0,"close":13154.9,"high":13237.4,"low":13145.0,"amount":22.158,"vol":22158,"trade_turnover":292020.0438,"count":185},{"id":1603915200,"open":13154.5,"close":13198.1,"high":13211.8,"low":13147.4,"amount":4.548,"vol":4548,"trade_turnover":59991.1118,"count":75},{"id":1603918800,"open":13193.5,"close":13190.1,"high":13196.5,"low":13100.2,"amount":3.52,"vol":3520,"trade_turnover":46175.428,"count":68},{"id":1603922400,"open":13185.4,"close":13252.0,"high":13267.5,"low":13185.4,"amount":3.122,"vol":3122,"trade_turnover":41304.2018,"count":72},{"id":1603926000,"open":13242.1,"close":13265.9,"high":13282.3,"low":13235.9,"amount":14.768,"vol":14768,"trade_turnover":195689.0764,"count":86},{"id":1603929600,"open":13253.9,"close":13245.1,"high":13294.7,"low":13237.4,"amount":19.968,"vol":19968,"trade_turnover":264834.1944,"count":98},{"id":1603933200,"open":13244.6,"close":13274.2,"high":13285.3,"low":13166.3,"amount":35.282,"vol":35282,"trade_turnover":465789.6302,"count":192},{"id":1603936800,"open":13275.9,"close":13241.1,"high":13277.7,"low":13212.2,"amount":9.748,"vol":9748,"trade_turnover":129016.0684,"count":119},{"id":1603940400,"open":13237.1,"close":13262.5,"high":13262.5,"low":13174.6,"amount":27.3,"vol":27300,"trade_turnover":360589.8982,"count":199},{"id":1603944000,"open":13269.1,"close":13229.5,"high":13277.7,"low":13229.5,"amount":18.904,"vol":18904,"trade_turnover":250713.2812,"count":109},{"id":1603947600,"open":13228.5,"close":13274.8,"high":13274.8,"low":13228.5,"amount":15.822,"vol":15822,"trade_turnover":209781.909,"count":134},{"id":1603951200,"open":13274.8,"close":13255.0,"high":13323.0,"low":13242.3,"amount":91.246,"vol":91246,"trade_turnover":1211271.2788,"count":294},{"id":1603954800,"open":13255.0,"close":13142.4,"high":13269.3,"low":13123.1,"amount":187.622,"vol":187622,"trade_turnover":2478299.7074,"count":506},{"id":1603958400,"open":13145.9,"close":13124.8,"high":13182.4,"low":13094.1,"amount":69.532,"vol":69532,"trade_turnover":914157.2418,"count":226},{"id":1603962000,"open":13129.5,"close":13183.7,"high":13197.1,"low":13129.5,"amount":23.184,"vol":23184,"trade_turnover":305485.9524,"count":141},{"id":1603965600,"open":13184.8,"close":13105.2,"high":13187.5,"low":13053.1,"amount":121.146,"vol":121146,"trade_turnover":1590026.4416,"count":442},{"id":1603969200,"open":13105.1,"close":13060.1,"high":13171.4,"low":13060.1,"amount":47.498,"vol":47498,"trade_turnover":623578.149,"count":262},{"id":1603972800,"open":13056.9,"close":13131.8,"high":13145.8,"low":12977.9,"amount":126.552,"vol":126552,"trade_turnover":1652549.311,"count":481},{"id":1603976400,"open":13131.7,"close":13230.0,"high":13237.2,"low":13102.0,"amount":100.482,"vol":100482,"trade_turnover":1326403.7206,"count":325},{"id":1603980000,"open":13231.0,"close":13420.8,"high":13476.1,"low":13231.0,"amount":253.258,"vol":253258,"trade_turnover":3384941.438,"count":752},{"id":1603983600,"open":13416.0,"close":13420.6,"high":13458.7,"low":13358.7,"amount":64.71,"vol":64710,"trade_turnover":869052.3804,"count":269},{"id":1603987200,"open":13421.9,"close":13535.9,"high":13594.5,"low":13391.8,"amount":120.24,"vol":120240,"trade_turnover":1626567.8278,"count":570}]} +2024-01-18 11:12:49.739 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:41] - 请求 KLine 数据解析之后的数据为:{"wsid":19750305,"data":[{"amount":0.276,"high":12300.0,"vol":276,"low":11715.8,"count":39,"id":1603270800,"close":12196.7,"tradeTurnover":3315.9104,"open":12198.0},{"amount":0.198,"high":12289.9,"vol":198,"low":12111.0,"count":21,"id":1603274400,"close":12277.9,"tradeTurnover":2420.7728,"open":12196.7},{"amount":0.012,"high":12277.9,"vol":12,"low":12000.0,"count":5,"id":1603278000,"close":12000.0,"tradeTurnover":145.2238,"open":12111.0},{"amount":0.084,"high":12498.0,"vol":84,"low":12078.0,"count":12,"id":1603281600,"close":12497.4,"tradeTurnover":1040.0504,"open":12078.0},{"amount":1.122,"high":12495.6,"vol":1122,"low":12282.9,"count":112,"id":1603285200,"close":12373.5,"tradeTurnover":13905.3124,"open":12495.6},{"amount":5.29,"high":12807.6,"vol":5290,"low":12358.1,"count":155,"id":1603288800,"close":12689.9,"tradeTurnover":66852.128,"open":12412.9},{"amount":1.174,"high":12778.7,"vol":1174,"low":12573.2,"count":113,"id":1603292400,"close":12701.9,"tradeTurnover":14907.367,"open":12692.8},{"amount":1.156,"high":12920.9,"vol":1156,"low":12624.8,"count":115,"id":1603296000,"close":12835.9,"tradeTurnover":14802.449,"open":12679.7},{"amount":1.12,"high":12908.3,"vol":1120,"low":12687.5,"count":115,"id":1603299600,"close":12754.2,"tradeTurnover":14345.7324,"open":12848.3},{"amount":1.106,"high":12849.0,"vol":1106,"low":12668.3,"count":114,"id":1603303200,"close":12740.2,"tradeTurnover":14105.3504,"open":12743.7},{"amount":1.032,"high":12843.1,"vol":1032,"low":12597.2,"count":112,"id":1603306800,"close":12650.3,"tradeTurnover":13125.4568,"open":12729.5},{"amount":1.154,"high":12848.4,"vol":1154,"low":12610.2,"count":116,"id":1603310400,"close":12807.0,"tradeTurnover":14680.638,"open":12666.8},{"amount":1.164,"high":13005.1,"vol":1164,"low":12748.2,"count":114,"id":1603314000,"close":12938.9,"tradeTurnover":14976.9366,"open":12866.0},{"amount":1.174,"high":13211.2,"vol":1174,"low":12865.7,"count":114,"id":1603317600,"close":13122.0,"tradeTurnover":15285.2446,"open":12921.0},{"amount":1.172,"high":13173.2,"vol":1172,"low":12688.6,"count":117,"id":1603321200,"close":12829.8,"tradeTurnover":15060.9938,"open":13153.2},{"amount":1.17,"high":12988.1,"vol":1170,"low":12764.4,"count":117,"id":1603324800,"close":12885.9,"tradeTurnover":15046.2046,"open":12793.1},{"amount":1.158,"high":12972.6,"vol":1158,"low":12757.5,"count":118,"id":1603328400,"close":12757.5,"tradeTurnover":14882.4656,"open":12860.4},{"amount":1.124,"high":12848.0,"vol":1124,"low":12729.0,"count":115,"id":1603332000,"close":12788.8,"tradeTurnover":14368.7948,"open":12824.1},{"amount":1.194,"high":12834.4,"vol":1194,"low":12729.0,"count":111,"id":1603335600,"close":12767.2,"tradeTurnover":15268.9298,"open":12791.7},{"amount":1.152,"high":12778.3,"vol":1152,"low":12729.0,"count":115,"id":1603339200,"close":12762.2,"tradeTurnover":14695.4876,"open":12729.0},{"amount":1.21,"high":12842.0,"vol":1210,"low":12730.6,"count":119,"id":1603342800,"close":12813.8,"tradeTurnover":15440.8162,"open":12763.1},{"amount":1.188,"high":12795.0,"vol":1188,"low":12728.0,"count":123,"id":1603346400,"close":12729.1,"tradeTurnover":15128.0098,"open":12795.0},{"amount":1.266,"high":12730.6,"vol":1266,"low":12728.3,"count":112,"id":1603350000,"close":12730.6,"tradeTurnover":16115.1306,"open":12728.6},{"amount":1.35,"high":12921.5,"vol":1350,"low":12729.9,"count":127,"id":1603353600,"close":12770.1,"tradeTurnover":17233.7326,"open":12730.3},{"amount":0.98,"high":12872.1,"vol":980,"low":12760.1,"count":99,"id":1603357200,"close":12780.4,"tradeTurnover":12553.9826,"open":12824.9},{"amount":0.266,"high":13002.7,"vol":266,"low":12775.6,"count":30,"id":1603360800,"close":12934.2,"tradeTurnover":3415.023,"open":12784.9},{"amount":1.004,"high":13057.0,"vol":1004,"low":12886.6,"count":117,"id":1603364400,"close":13045.0,"tradeTurnover":13020.8576,"open":12977.0},{"amount":1.134,"high":12973.4,"vol":1134,"low":12751.6,"count":111,"id":1603368000,"close":12847.9,"tradeTurnover":14594.2752,"open":12958.5},{"amount":1.152,"high":13000.8,"vol":1152,"low":12743.0,"count":114,"id":1603371600,"close":12931.0,"tradeTurnover":14877.7314,"open":12882.7},{"amount":1.182,"high":12995.3,"vol":1182,"low":12783.9,"count":115,"id":1603375200,"close":12917.8,"tradeTurnover":15224.4716,"open":12890.4},{"amount":1.176,"high":13031.2,"vol":1176,"low":12817.9,"count":117,"id":1603378800,"close":12953.0,"tradeTurnover":15197.208,"open":12918.8},{"amount":1.146,"high":13100.2,"vol":1146,"low":12865.6,"count":119,"id":1603382400,"close":13055.6,"tradeTurnover":14851.9604,"open":12923.1},{"amount":1.534,"high":13105.7,"vol":1534,"low":12835.5,"count":124,"id":1603386000,"close":13082.7,"tradeTurnover":19927.8288,"open":12967.6},{"amount":1.268,"high":13115.0,"vol":1268,"low":12938.7,"count":117,"id":1603389600,"close":13016.4,"tradeTurnover":16505.4738,"open":13020.4},{"amount":1.13,"high":13171.2,"vol":1130,"low":12961.8,"count":112,"id":1603393200,"close":12970.6,"tradeTurnover":14762.952,"open":13028.3},{"amount":1.206,"high":13216.1,"vol":1206,"low":12998.5,"count":117,"id":1603396800,"close":13089.3,"tradeTurnover":15807.1226,"open":13016.7},{"amount":1.332,"high":13203.7,"vol":1332,"low":12932.9,"count":114,"id":1603400400,"close":13092.0,"tradeTurnover":17423.4422,"open":13136.0},{"amount":1.21,"high":13250.5,"vol":1210,"low":12984.7,"count":114,"id":1603404000,"close":13055.9,"tradeTurnover":15876.0632,"open":13119.4},{"amount":1.286,"high":13126.5,"vol":1286,"low":12857.2,"count":116,"id":1603407600,"close":12890.4,"tradeTurnover":16688.422,"open":13059.4},{"amount":1.502,"high":12994.0,"vol":1502,"low":12751.6,"count":131,"id":1603411200,"close":12892.2,"tradeTurnover":19331.1596,"open":12929.7},{"amount":1.386,"high":13003.2,"vol":1386,"low":12786.0,"count":121,"id":1603414800,"close":12898.3,"tradeTurnover":17904.8902,"open":12921.7},{"amount":1.416,"high":13054.0,"vol":1416,"low":12800.7,"count":122,"id":1603418400,"close":12975.1,"tradeTurnover":18306.6204,"open":12951.6},{"amount":1.19,"high":13030.7,"vol":1190,"low":12875.0,"count":118,"id":1603422000,"close":12947.0,"tradeTurnover":15409.7984,"open":12967.3},{"amount":1.022,"high":13047.3,"vol":1022,"low":12832.8,"count":127,"id":1603425600,"close":12852.0,"tradeTurnover":13214.4388,"open":12925.2},{"amount":0.478,"high":12991.7,"vol":478,"low":12841.2,"count":118,"id":1603429200,"close":12931.1,"tradeTurnover":6180.2486,"open":12859.0},{"amount":0.522,"high":13014.1,"vol":522,"low":12871.9,"count":132,"id":1603432800,"close":12939.6,"tradeTurnover":6759.0324,"open":12935.9},{"amount":0.476,"high":12998.9,"vol":476,"low":12917.1,"count":118,"id":1603436400,"close":12925.4,"tradeTurnover":6163.3118,"open":12923.1},{"amount":0.508,"high":13014.0,"vol":508,"low":12916.1,"count":122,"id":1603440000,"close":12962.6,"tradeTurnover":6585.3656,"open":12942.2},{"amount":0.564,"high":13012.5,"vol":564,"low":12909.9,"count":124,"id":1603443600,"close":12926.4,"tradeTurnover":7308.8828,"open":12970.5},{"amount":0.536,"high":13059.5,"vol":536,"low":12925.7,"count":124,"id":1603447200,"close":13007.7,"tradeTurnover":6957.8796,"open":13001.2},{"amount":0.486,"high":13078.4,"vol":486,"low":12906.5,"count":122,"id":1603450800,"close":12970.6,"tradeTurnover":6326.1434,"open":13025.4},{"amount":0.494,"high":13025.0,"vol":494,"low":12850.8,"count":117,"id":1603454400,"close":12935.4,"tradeTurnover":6396.0984,"open":12963.9},{"amount":0.466,"high":13043.3,"vol":466,"low":12911.0,"count":117,"id":1603458000,"close":12951.7,"tradeTurnover":6049.1412,"open":12913.3},{"amount":0.46,"high":13006.4,"vol":460,"low":12840.4,"count":116,"id":1603461600,"close":12858.8,"tradeTurnover":5941.815,"open":12999.6},{"amount":0.492,"high":12932.9,"vol":492,"low":12826.5,"count":117,"id":1603465200,"close":12881.9,"tradeTurnover":6340.214,"open":12885.7},{"amount":0.484,"high":12933.5,"vol":484,"low":12744.4,"count":123,"id":1603468800,"close":12784.1,"tradeTurnover":6205.4138,"open":12854.4},{"amount":0.562,"high":12893.1,"vol":562,"low":12730.1,"count":152,"id":1603472400,"close":12847.7,"tradeTurnover":7218.9184,"open":12832.3},{"amount":0.53,"high":12939.3,"vol":530,"low":12751.4,"count":128,"id":1603476000,"close":12915.7,"tradeTurnover":6825.7004,"open":12874.1},{"amount":0.444,"high":12972.9,"vol":444,"low":12786.6,"count":117,"id":1603479600,"close":12972.9,"tradeTurnover":5727.7452,"open":12867.9},{"amount":0.492,"high":13002.2,"vol":492,"low":12842.9,"count":116,"id":1603483200,"close":12991.6,"tradeTurnover":6375.1566,"open":12956.7},{"amount":0.5,"high":13004.3,"vol":500,"low":12936.6,"count":125,"id":1603486800,"close":12943.5,"tradeTurnover":6485.468,"open":13004.3},{"amount":0.492,"high":13010.3,"vol":492,"low":12884.7,"count":120,"id":1603490400,"close":12989.2,"tradeTurnover":6376.1492,"open":12923.6},{"amount":0.51,"high":13024.4,"vol":510,"low":12884.6,"count":121,"id":1603494000,"close":12884.6,"tradeTurnover":6622.3406,"open":12974.9},{"amount":0.488,"high":13018.3,"vol":488,"low":12811.1,"count":120,"id":1603497600,"close":12953.9,"tradeTurnover":6317.7938,"open":12973.7},{"amount":0.482,"high":13018.1,"vol":482,"low":12872.8,"count":117,"id":1603501200,"close":12934.2,"tradeTurnover":6242.4178,"open":12927.5},{"amount":0.484,"high":13003.9,"vol":484,"low":12903.3,"count":117,"id":1603504800,"close":12989.1,"tradeTurnover":6278.1756,"open":12971.9},{"amount":0.474,"high":13013.4,"vol":474,"low":12938.3,"count":122,"id":1603508400,"close":12975.9,"tradeTurnover":6157.7096,"open":13000.1},{"amount":0.526,"high":13009.4,"vol":526,"low":12905.5,"count":124,"id":1603512000,"close":12963.3,"tradeTurnover":6831.5658,"open":12989.7},{"amount":0.522,"high":13041.8,"vol":522,"low":12875.3,"count":127,"id":1603515600,"close":12989.7,"tradeTurnover":6768.8994,"open":12910.5},{"amount":0.49,"high":13058.1,"vol":490,"low":12908.8,"count":120,"id":1603519200,"close":13003.6,"tradeTurnover":6370.5714,"open":12994.7},{"amount":0.478,"high":13037.8,"vol":478,"low":12981.7,"count":120,"id":1603522800,"close":13004.2,"tradeTurnover":6218.9722,"open":13011.9},{"amount":0.52,"high":13030.6,"vol":520,"low":12899.4,"count":124,"id":1603526400,"close":12998.2,"tradeTurnover":6754.958,"open":13003.0},{"amount":0.454,"high":13020.3,"vol":454,"low":12893.6,"count":115,"id":1603530000,"close":12990.6,"tradeTurnover":5891.0574,"open":12998.2},{"amount":0.502,"high":13059.1,"vol":502,"low":12913.2,"count":124,"id":1603533600,"close":13030.1,"tradeTurnover":6525.9004,"open":12996.4},{"amount":0.468,"high":13068.3,"vol":468,"low":12940.2,"count":119,"id":1603537200,"close":13033.2,"tradeTurnover":6091.0376,"open":12988.4},{"amount":0.468,"high":13071.8,"vol":468,"low":12978.9,"count":123,"id":1603540800,"close":13006.5,"tradeTurnover":6102.5902,"open":13035.3},{"amount":0.534,"high":13066.7,"vol":534,"low":12928.1,"count":123,"id":1603544400,"close":12985.9,"tradeTurnover":6950.4268,"open":13038.8},{"amount":0.47,"high":13100.1,"vol":470,"low":12960.5,"count":100,"id":1603548000,"close":13042.0,"tradeTurnover":6124.2178,"open":12986.3},{"amount":0.456,"high":13196.5,"vol":456,"low":13038.4,"count":120,"id":1603551600,"close":13102.2,"tradeTurnover":5989.6362,"open":13038.4},{"amount":0.458,"high":13176.6,"vol":458,"low":12984.6,"count":121,"id":1603555200,"close":13052.7,"tradeTurnover":5976.331,"open":13136.8},{"amount":0.452,"high":13177.8,"vol":452,"low":13003.2,"count":118,"id":1603558800,"close":13177.8,"tradeTurnover":5911.7058,"open":13006.2},{"amount":0.468,"high":13170.7,"vol":468,"low":13023.0,"count":119,"id":1603562400,"close":13080.8,"tradeTurnover":6122.375,"open":13127.7},{"amount":0.468,"high":13179.3,"vol":468,"low":13014.2,"count":120,"id":1603566000,"close":13148.4,"tradeTurnover":6126.4278,"open":13040.7},{"amount":0.47,"high":13179.6,"vol":470,"low":12992.5,"count":119,"id":1603569600,"close":13090.1,"tradeTurnover":6151.4758,"open":13073.5},{"amount":0.458,"high":13148.7,"vol":458,"low":12980.7,"count":117,"id":1603573200,"close":12993.9,"tradeTurnover":5981.071,"open":13035.4},{"amount":0.478,"high":13112.1,"vol":478,"low":12975.6,"count":118,"id":1603576800,"close":13041.1,"tradeTurnover":6225.4216,"open":13040.7},{"amount":0.472,"high":13184.3,"vol":472,"low":13009.3,"count":118,"id":1603580400,"close":13184.3,"tradeTurnover":6173.4244,"open":13012.6},{"amount":0.46,"high":13170.4,"vol":460,"low":13007.7,"count":115,"id":1603584000,"close":13154.3,"tradeTurnover":6024.09,"open":13080.8},{"amount":0.398,"high":13196.8,"vol":398,"low":13024.0,"count":102,"id":1603587600,"close":13196.1,"tradeTurnover":5217.5364,"open":13092.0},{"amount":0.476,"high":13175.1,"vol":476,"low":13035.0,"count":120,"id":1603591200,"close":13082.4,"tradeTurnover":6228.6596,"open":13124.7},{"amount":0.578,"high":13383.8,"vol":578,"low":13049.1,"count":137,"id":1603594800,"close":13259.0,"tradeTurnover":7629.3886,"open":13049.1},{"amount":0.47,"high":13369.0,"vol":470,"low":13216.0,"count":122,"id":1603598400,"close":13243.4,"tradeTurnover":6247.955,"open":13277.0},{"amount":0.61,"high":13353.3,"vol":610,"low":13010.1,"count":134,"id":1603602000,"close":13017.3,"tradeTurnover":8048.8598,"open":13285.3},{"amount":0.486,"high":13105.7,"vol":486,"low":13018.2,"count":118,"id":1603605600,"close":13060.3,"tradeTurnover":6344.1474,"open":13022.5},{"amount":0.464,"high":13112.1,"vol":464,"low":13022.0,"count":120,"id":1603609200,"close":13078.1,"tradeTurnover":6061.5416,"open":13048.5},{"amount":0.464,"high":13091.0,"vol":464,"low":13017.2,"count":120,"id":1603612800,"close":13046.0,"tradeTurnover":6055.3734,"open":13077.2},{"amount":0.478,"high":13084.0,"vol":478,"low":13014.2,"count":117,"id":1603616400,"close":13040.8,"tradeTurnover":6235.7882,"open":13065.1},{"amount":0.478,"high":13064.2,"vol":478,"low":13010.2,"count":125,"id":1603620000,"close":13028.5,"tradeTurnover":6232.2428,"open":13047.1},{"amount":0.534,"high":13061.5,"vol":534,"low":12852.9,"count":123,"id":1603623600,"close":12897.6,"tradeTurnover":6918.1226,"open":13061.5},{"amount":0.444,"high":13069.7,"vol":444,"low":12893.2,"count":117,"id":1603627200,"close":12964.3,"tradeTurnover":5755.8712,"open":12908.3},{"amount":0.498,"high":13071.9,"vol":498,"low":12891.8,"count":119,"id":1603630800,"close":12949.3,"tradeTurnover":6465.078,"open":13001.3},{"amount":0.468,"high":13077.7,"vol":468,"low":12900.0,"count":116,"id":1603634400,"close":12946.8,"tradeTurnover":6075.4554,"open":12975.8},{"amount":0.47,"high":13069.1,"vol":470,"low":12883.3,"count":119,"id":1603638000,"close":12883.3,"tradeTurnover":6097.1072,"open":12975.2},{"amount":0.482,"high":13067.9,"vol":482,"low":12877.5,"count":118,"id":1603641600,"close":12978.7,"tradeTurnover":6256.4472,"open":12916.2},{"amount":0.47,"high":13087.5,"vol":470,"low":12922.7,"count":117,"id":1603645200,"close":13004.4,"tradeTurnover":6108.3892,"open":13008.0},{"amount":0.468,"high":13067.6,"vol":468,"low":12893.6,"count":118,"id":1603648800,"close":12957.2,"tradeTurnover":6079.1484,"open":12972.8},{"amount":0.442,"high":13066.9,"vol":442,"low":12916.6,"count":118,"id":1603652400,"close":13021.8,"tradeTurnover":5746.5548,"open":12996.5},{"amount":0.508,"high":13081.5,"vol":508,"low":12944.9,"count":120,"id":1603656000,"close":12985.4,"tradeTurnover":6616.9872,"open":12992.9},{"amount":0.508,"high":13068.6,"vol":508,"low":12921.4,"count":122,"id":1603659600,"close":13011.2,"tradeTurnover":6614.816,"open":12999.9},{"amount":0.486,"high":13073.8,"vol":486,"low":12911.9,"count":121,"id":1603663200,"close":12959.4,"tradeTurnover":6320.907,"open":12979.6},{"amount":0.452,"high":13085.2,"vol":452,"low":12927.8,"count":113,"id":1603666800,"close":13032.1,"tradeTurnover":5878.6442,"open":12963.4},{"amount":0.482,"high":13076.7,"vol":482,"low":12918.3,"count":121,"id":1603670400,"close":13001.0,"tradeTurnover":6263.698,"open":12964.2},{"amount":0.478,"high":13096.4,"vol":478,"low":12991.2,"count":124,"id":1603674000,"close":13053.7,"tradeTurnover":6232.2328,"open":13040.0},{"amount":0.488,"high":13185.7,"vol":488,"low":12985.1,"count":121,"id":1603677600,"close":13064.4,"tradeTurnover":6387.534,"open":13060.6},{"amount":0.486,"high":13187.2,"vol":486,"low":12984.1,"count":135,"id":1603681200,"close":13092.8,"tradeTurnover":6369.0272,"open":13032.3},{"amount":0.51,"high":13181.6,"vol":510,"low":12962.3,"count":131,"id":1603684800,"close":13132.6,"tradeTurnover":6679.829,"open":13092.0},{"amount":0.506,"high":13205.3,"vol":506,"low":13025.3,"count":126,"id":1603688400,"close":13092.1,"tradeTurnover":6641.2128,"open":13129.2},{"amount":1.616,"high":13188.1,"vol":1616,"low":12989.8,"count":141,"id":1603692000,"close":13071.4,"tradeTurnover":21170.8224,"open":13121.8},{"amount":3.746,"high":13100.0,"vol":3746,"low":12965.2,"count":110,"id":1603695600,"close":13038.7,"tradeTurnover":48924.8902,"open":13061.0},{"amount":8.966,"high":13102.0,"vol":8966,"low":12852.8,"count":173,"id":1603699200,"close":13039.3,"tradeTurnover":116525.5534,"open":13030.9},{"amount":4.48,"high":13088.4,"vol":4480,"low":13039.8,"count":124,"id":1603702800,"close":13075.9,"tradeTurnover":58521.1714,"open":13047.1},{"amount":4.272,"high":13100.0,"vol":4272,"low":13060.2,"count":130,"id":1603706400,"close":13100.0,"tradeTurnover":55895.9778,"open":13072.1},{"amount":29.798,"high":13159.0,"vol":29798,"low":13100.0,"count":230,"id":1603710000,"close":13138.4,"tradeTurnover":391138.024,"open":13100.0},{"amount":5.154,"high":13200.0,"vol":5154,"low":13100.0,"count":188,"id":1603713600,"close":13149.8,"tradeTurnover":67694.652,"open":13138.8},{"amount":35.608,"high":13351.5,"vol":35608,"low":13133.1,"count":328,"id":1603717200,"close":13205.8,"tradeTurnover":472780.3394,"open":13150.0},{"amount":31.748,"high":13280.0,"vol":31748,"low":13144.1,"count":235,"id":1603720800,"close":13166.1,"tradeTurnover":418744.5588,"open":13203.0},{"amount":36.53,"high":13165.2,"vol":36530,"low":12903.8,"count":384,"id":1603724400,"close":12978.0,"tradeTurnover":476940.3296,"open":13159.0},{"amount":35.018,"high":13069.8,"vol":35018,"low":12850.5,"count":323,"id":1603728000,"close":12869.6,"tradeTurnover":453288.918,"open":12965.0},{"amount":92.628,"high":12941.5,"vol":92628,"low":12583.9,"count":560,"id":1603731600,"close":12873.8,"tradeTurnover":1185973.467,"open":12879.2},{"amount":4.302,"high":12954.5,"vol":4302,"low":12820.4,"count":128,"id":1603735200,"close":12946.8,"tradeTurnover":55481.0054,"open":12856.2},{"amount":13.83,"high":12953.5,"vol":13830,"low":12914.1,"count":118,"id":1603738800,"close":12953.4,"tradeTurnover":179112.1598,"open":12945.6},{"amount":17.172,"high":13007.5,"vol":17172,"low":12953.5,"count":132,"id":1603742400,"close":12983.4,"tradeTurnover":223230.2122,"open":12953.5},{"amount":3.212,"high":13007.5,"vol":3212,"low":12982.7,"count":59,"id":1603746000,"close":12993.8,"tradeTurnover":41767.8906,"open":12983.1},{"amount":1.504,"high":13007.5,"vol":1504,"low":12974.0,"count":74,"id":1603749600,"close":13007.5,"tradeTurnover":19543.3568,"open":13002.1},{"amount":3.454,"high":13061.2,"vol":3454,"low":13007.5,"count":101,"id":1603753200,"close":13033.7,"tradeTurnover":45001.601,"open":13007.5},{"amount":8.784,"high":13105.0,"vol":8784,"low":13028.3,"count":98,"id":1603756800,"close":13067.1,"tradeTurnover":114871.8246,"open":13029.2},{"amount":11.592,"high":13074.4,"vol":11592,"low":13051.5,"count":66,"id":1603760400,"close":13061.7,"tradeTurnover":151386.9038,"open":13074.3},{"amount":19.298,"high":13097.6,"vol":19298,"low":13040.1,"count":109,"id":1603764000,"close":13049.7,"tradeTurnover":252061.019,"open":13061.7},{"amount":22.992,"high":13080.0,"vol":22992,"low":13057.1,"count":69,"id":1603767600,"close":13070.4,"tradeTurnover":300453.9788,"open":13057.6},{"amount":14.396,"high":13175.0,"vol":14396,"low":13079.6,"count":59,"id":1603771200,"close":13103.3,"tradeTurnover":188461.9156,"open":13080.0},{"amount":5.058,"high":13121.3,"vol":5058,"low":13069.7,"count":44,"id":1603774800,"close":13073.6,"tradeTurnover":66201.3552,"open":13121.3},{"amount":9.106,"high":13149.0,"vol":9106,"low":13069.6,"count":107,"id":1603778400,"close":13103.4,"tradeTurnover":119104.8906,"open":13074.9},{"amount":73.95,"high":13169.8,"vol":73950,"low":12992.4,"count":305,"id":1603782000,"close":13130.0,"tradeTurnover":968195.155,"open":13103.3},{"amount":18.732,"high":13148.4,"vol":18732,"low":13044.0,"count":135,"id":1603785600,"close":13123.8,"tradeTurnover":245533.5448,"open":13135.1},{"amount":13.756,"high":13131.8,"vol":13756,"low":13075.7,"count":102,"id":1603789200,"close":13131.7,"tradeTurnover":180253.7708,"open":13115.5},{"amount":154.108,"high":13252.0,"vol":154108,"low":13063.4,"count":525,"id":1603792800,"close":13216.9,"tradeTurnover":2029983.656,"open":13134.8},{"amount":170.09,"high":13590.1,"vol":170090,"low":13213.5,"count":591,"id":1603796400,"close":13395.8,"tradeTurnover":2276279.742,"open":13218.8},{"amount":48.928,"high":13414.0,"vol":48928,"low":13331.7,"count":216,"id":1603800000,"close":13376.9,"tradeTurnover":654585.9108,"open":13395.9},{"amount":63.294,"high":13490.9,"vol":63294,"low":13329.8,"count":316,"id":1603803600,"close":13384.3,"tradeTurnover":848130.9212,"open":13376.5},{"amount":12.892,"high":13415.8,"vol":12892,"low":13344.8,"count":124,"id":1603807200,"close":13398.2,"tradeTurnover":172618.6864,"open":13392.6},{"amount":93.22,"high":13626.7,"vol":93220,"low":13398.2,"count":476,"id":1603810800,"close":13598.5,"tradeTurnover":1262695.5466,"open":13398.2},{"amount":85.45,"high":13639.9,"vol":85450,"low":13520.2,"count":435,"id":1603814400,"close":13639.9,"tradeTurnover":1161481.4136,"open":13595.8},{"amount":191.812,"high":13826.7,"vol":191812,"low":13589.0,"count":711,"id":1603818000,"close":13688.1,"tradeTurnover":2628428.3788,"open":13640.0},{"amount":65.434,"high":13745.0,"vol":65434,"low":13528.2,"count":410,"id":1603821600,"close":13630.1,"tradeTurnover":891541.8394,"open":13685.0},{"amount":5.788,"high":13659.8,"vol":5788,"low":13595.4,"count":65,"id":1603825200,"close":13637.1,"tradeTurnover":78836.2578,"open":13629.4},{"amount":163.104,"high":13805.1,"vol":163104,"low":13582.6,"count":537,"id":1603828800,"close":13616.6,"tradeTurnover":2234040.3544,"open":13644.4},{"amount":9.884,"high":13753.5,"vol":9884,"low":13609.8,"count":101,"id":1603832400,"close":13705.5,"tradeTurnover":135406.4752,"open":13609.8},{"amount":7.436,"high":13739.9,"vol":7436,"low":13658.2,"count":100,"id":1603836000,"close":13739.9,"tradeTurnover":101840.3508,"open":13705.4},{"amount":17.086,"high":13794.6,"vol":17086,"low":13582.6,"count":234,"id":1603839600,"close":13649.6,"tradeTurnover":233971.8448,"open":13739.9},{"amount":24.108,"high":13745.2,"vol":24108,"low":13618.8,"count":177,"id":1603843200,"close":13701.7,"tradeTurnover":330206.5694,"open":13645.9},{"amount":15.892,"high":13725.6,"vol":15892,"low":13647.9,"count":151,"id":1603846800,"close":13702.6,"tradeTurnover":217816.7008,"open":13702.1},{"amount":46.548,"high":13832.2,"vol":46548,"low":13680.2,"count":274,"id":1603850400,"close":13811.6,"tradeTurnover":640636.0352,"open":13701.7},{"amount":67.896,"high":13820.3,"vol":67896,"low":13717.5,"count":320,"id":1603854000,"close":13777.0,"tradeTurnover":935838.2238,"open":13818.5},{"amount":33.156,"high":13807.2,"vol":33156,"low":13710.0,"count":210,"id":1603857600,"close":13735.7,"tradeTurnover":455941.234,"open":13767.3},{"amount":32.076,"high":13753.9,"vol":32076,"low":13671.3,"count":198,"id":1603861200,"close":13715.8,"tradeTurnover":439612.64,"open":13735.5},{"amount":14.756,"high":13757.0,"vol":14756,"low":13694.9,"count":122,"id":1603864800,"close":13701.3,"tradeTurnover":202602.5164,"open":13715.9},{"amount":155.534,"high":13708.7,"vol":155534,"low":13550.0,"count":635,"id":1603868400,"close":13674.2,"tradeTurnover":2117935.0928,"open":13701.2},{"amount":29.846,"high":13691.7,"vol":29846,"low":13584.0,"count":240,"id":1603872000,"close":13691.7,"tradeTurnover":407073.1398,"open":13673.0},{"amount":104.542,"high":13707.5,"vol":104542,"low":13573.5,"count":377,"id":1603875600,"close":13587.1,"tradeTurnover":1425079.9344,"open":13689.3},{"amount":73.818,"high":13618.0,"vol":73818,"low":13504.7,"count":358,"id":1603879200,"close":13552.7,"tradeTurnover":1001666.0908,"open":13584.6},{"amount":176.544,"high":13565.4,"vol":176544,"low":13330.0,"count":1004,"id":1603882800,"close":13336.4,"tradeTurnover":2369166.1492,"open":13552.6},{"amount":289.73,"high":13385.0,"vol":289730,"low":13173.9,"count":968,"id":1603886400,"close":13300.3,"tradeTurnover":3846751.7166,"open":13331.5},{"amount":139.822,"high":13340.0,"vol":139822,"low":13122.9,"count":612,"id":1603890000,"close":13129.9,"tradeTurnover":1848876.932,"open":13300.2},{"amount":367.876,"high":13168.2,"vol":367876,"low":12915.9,"count":1168,"id":1603893600,"close":13082.2,"tradeTurnover":4802516.9818,"open":13123.4},{"amount":84.044,"high":13235.2,"vol":84044,"low":13052.3,"count":375,"id":1603897200,"close":13221.2,"tradeTurnover":1106883.1282,"open":13077.1},{"amount":29.566,"high":13218.7,"vol":29566,"low":13050.0,"count":244,"id":1603900800,"close":13145.1,"tradeTurnover":388697.4104,"open":13218.7},{"amount":53.336,"high":13204.9,"vol":53336,"low":13006.6,"count":299,"id":1603904400,"close":13176.7,"tradeTurnover":700385.2784,"open":13145.1},{"amount":34.164,"high":13219.6,"vol":34164,"low":13131.0,"count":218,"id":1603908000,"close":13196.5,"tradeTurnover":450210.5778,"open":13171.0},{"amount":22.158,"high":13237.4,"vol":22158,"low":13145.0,"count":185,"id":1603911600,"close":13154.9,"tradeTurnover":292020.0438,"open":13200.0},{"amount":4.548,"high":13211.8,"vol":4548,"low":13147.4,"count":75,"id":1603915200,"close":13198.1,"tradeTurnover":59991.1118,"open":13154.5},{"amount":3.52,"high":13196.5,"vol":3520,"low":13100.2,"count":68,"id":1603918800,"close":13190.1,"tradeTurnover":46175.428,"open":13193.5},{"amount":3.122,"high":13267.5,"vol":3122,"low":13185.4,"count":72,"id":1603922400,"close":13252.0,"tradeTurnover":41304.2018,"open":13185.4},{"amount":14.768,"high":13282.3,"vol":14768,"low":13235.9,"count":86,"id":1603926000,"close":13265.9,"tradeTurnover":195689.0764,"open":13242.1},{"amount":19.968,"high":13294.7,"vol":19968,"low":13237.4,"count":98,"id":1603929600,"close":13245.1,"tradeTurnover":264834.1944,"open":13253.9},{"amount":35.282,"high":13285.3,"vol":35282,"low":13166.3,"count":192,"id":1603933200,"close":13274.2,"tradeTurnover":465789.6302,"open":13244.6},{"amount":9.748,"high":13277.7,"vol":9748,"low":13212.2,"count":119,"id":1603936800,"close":13241.1,"tradeTurnover":129016.0684,"open":13275.9},{"amount":27.3,"high":13262.5,"vol":27300,"low":13174.6,"count":199,"id":1603940400,"close":13262.5,"tradeTurnover":360589.8982,"open":13237.1},{"amount":18.904,"high":13277.7,"vol":18904,"low":13229.5,"count":109,"id":1603944000,"close":13229.5,"tradeTurnover":250713.2812,"open":13269.1},{"amount":15.822,"high":13274.8,"vol":15822,"low":13228.5,"count":134,"id":1603947600,"close":13274.8,"tradeTurnover":209781.909,"open":13228.5},{"amount":91.246,"high":13323.0,"vol":91246,"low":13242.3,"count":294,"id":1603951200,"close":13255.0,"tradeTurnover":1211271.2788,"open":13274.8},{"amount":187.622,"high":13269.3,"vol":187622,"low":13123.1,"count":506,"id":1603954800,"close":13142.4,"tradeTurnover":2478299.7074,"open":13255.0},{"amount":69.532,"high":13182.4,"vol":69532,"low":13094.1,"count":226,"id":1603958400,"close":13124.8,"tradeTurnover":914157.2418,"open":13145.9},{"amount":23.184,"high":13197.1,"vol":23184,"low":13129.5,"count":141,"id":1603962000,"close":13183.7,"tradeTurnover":305485.9524,"open":13129.5},{"amount":121.146,"high":13187.5,"vol":121146,"low":13053.1,"count":442,"id":1603965600,"close":13105.2,"tradeTurnover":1590026.4416,"open":13184.8},{"amount":47.498,"high":13171.4,"vol":47498,"low":13060.1,"count":262,"id":1603969200,"close":13060.1,"tradeTurnover":623578.149,"open":13105.1},{"amount":126.552,"high":13145.8,"vol":126552,"low":12977.9,"count":481,"id":1603972800,"close":13131.8,"tradeTurnover":1652549.311,"open":13056.9},{"amount":100.482,"high":13237.2,"vol":100482,"low":13102.0,"count":325,"id":1603976400,"close":13230.0,"tradeTurnover":1326403.7206,"open":13131.7},{"amount":253.258,"high":13476.1,"vol":253258,"low":13231.0,"count":752,"id":1603980000,"close":13420.8,"tradeTurnover":3384941.438,"open":13231.0},{"amount":64.71,"high":13458.7,"vol":64710,"low":13358.7,"count":269,"id":1603983600,"close":13420.6,"tradeTurnover":869052.3804,"open":13416.0},{"amount":120.24,"high":13594.5,"vol":120240,"low":13391.8,"count":570,"id":1603987200,"close":13535.9,"tradeTurnover":1626567.8278,"open":13421.9}],"id":"","rep":"market.BTC-USDT.kline.60min","status":"ok"} +2024-01-18 11:12:50.158 [DEBUG] [WebSocketConnectReadThread-12] [com.huobi.wss.handle.WssMarketReqHandle.dealPing:129] - 发送pong:{"pong":1705547570158} +2024-01-18 11:12:50.862 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:39] - 请求 KLine 数据用户收到的原始数据:{"id":"","rep":"market.BTC-USDT.kline.60min","ts":1705547569733,"wsid":19750305,"status":"ok","data":[{"id":1603270800,"open":12198.0,"close":12196.7,"high":12300.0,"low":11715.8,"amount":0.276,"vol":276,"trade_turnover":3315.9104,"count":39},{"id":1603274400,"open":12196.7,"close":12277.9,"high":12289.9,"low":12111.0,"amount":0.198,"vol":198,"trade_turnover":2420.7728,"count":21},{"id":1603278000,"open":12111.0,"close":12000.0,"high":12277.9,"low":12000.0,"amount":0.012,"vol":12,"trade_turnover":145.2238,"count":5},{"id":1603281600,"open":12078.0,"close":12497.4,"high":12498.0,"low":12078.0,"amount":0.084,"vol":84,"trade_turnover":1040.0504,"count":12},{"id":1603285200,"open":12495.6,"close":12373.5,"high":12495.6,"low":12282.9,"amount":1.122,"vol":1122,"trade_turnover":13905.3124,"count":112},{"id":1603288800,"open":12412.9,"close":12689.9,"high":12807.6,"low":12358.1,"amount":5.29,"vol":5290,"trade_turnover":66852.128,"count":155},{"id":1603292400,"open":12692.8,"close":12701.9,"high":12778.7,"low":12573.2,"amount":1.174,"vol":1174,"trade_turnover":14907.367,"count":113},{"id":1603296000,"open":12679.7,"close":12835.9,"high":12920.9,"low":12624.8,"amount":1.156,"vol":1156,"trade_turnover":14802.449,"count":115},{"id":1603299600,"open":12848.3,"close":12754.2,"high":12908.3,"low":12687.5,"amount":1.12,"vol":1120,"trade_turnover":14345.7324,"count":115},{"id":1603303200,"open":12743.7,"close":12740.2,"high":12849.0,"low":12668.3,"amount":1.106,"vol":1106,"trade_turnover":14105.3504,"count":114},{"id":1603306800,"open":12729.5,"close":12650.3,"high":12843.1,"low":12597.2,"amount":1.032,"vol":1032,"trade_turnover":13125.4568,"count":112},{"id":1603310400,"open":12666.8,"close":12807.0,"high":12848.4,"low":12610.2,"amount":1.154,"vol":1154,"trade_turnover":14680.638,"count":116},{"id":1603314000,"open":12866.0,"close":12938.9,"high":13005.1,"low":12748.2,"amount":1.164,"vol":1164,"trade_turnover":14976.9366,"count":114},{"id":1603317600,"open":12921.0,"close":13122.0,"high":13211.2,"low":12865.7,"amount":1.174,"vol":1174,"trade_turnover":15285.2446,"count":114},{"id":1603321200,"open":13153.2,"close":12829.8,"high":13173.2,"low":12688.6,"amount":1.172,"vol":1172,"trade_turnover":15060.9938,"count":117},{"id":1603324800,"open":12793.1,"close":12885.9,"high":12988.1,"low":12764.4,"amount":1.17,"vol":1170,"trade_turnover":15046.2046,"count":117},{"id":1603328400,"open":12860.4,"close":12757.5,"high":12972.6,"low":12757.5,"amount":1.158,"vol":1158,"trade_turnover":14882.4656,"count":118},{"id":1603332000,"open":12824.1,"close":12788.8,"high":12848.0,"low":12729.0,"amount":1.124,"vol":1124,"trade_turnover":14368.7948,"count":115},{"id":1603335600,"open":12791.7,"close":12767.2,"high":12834.4,"low":12729.0,"amount":1.194,"vol":1194,"trade_turnover":15268.9298,"count":111},{"id":1603339200,"open":12729.0,"close":12762.2,"high":12778.3,"low":12729.0,"amount":1.152,"vol":1152,"trade_turnover":14695.4876,"count":115},{"id":1603342800,"open":12763.1,"close":12813.8,"high":12842.0,"low":12730.6,"amount":1.21,"vol":1210,"trade_turnover":15440.8162,"count":119},{"id":1603346400,"open":12795.0,"close":12729.1,"high":12795.0,"low":12728.0,"amount":1.188,"vol":1188,"trade_turnover":15128.0098,"count":123},{"id":1603350000,"open":12728.6,"close":12730.6,"high":12730.6,"low":12728.3,"amount":1.266,"vol":1266,"trade_turnover":16115.1306,"count":112},{"id":1603353600,"open":12730.3,"close":12770.1,"high":12921.5,"low":12729.9,"amount":1.35,"vol":1350,"trade_turnover":17233.7326,"count":127},{"id":1603357200,"open":12824.9,"close":12780.4,"high":12872.1,"low":12760.1,"amount":0.98,"vol":980,"trade_turnover":12553.9826,"count":99},{"id":1603360800,"open":12784.9,"close":12934.2,"high":13002.7,"low":12775.6,"amount":0.266,"vol":266,"trade_turnover":3415.023,"count":30},{"id":1603364400,"open":12977.0,"close":13045.0,"high":13057.0,"low":12886.6,"amount":1.004,"vol":1004,"trade_turnover":13020.8576,"count":117},{"id":1603368000,"open":12958.5,"close":12847.9,"high":12973.4,"low":12751.6,"amount":1.134,"vol":1134,"trade_turnover":14594.2752,"count":111},{"id":1603371600,"open":12882.7,"close":12931.0,"high":13000.8,"low":12743.0,"amount":1.152,"vol":1152,"trade_turnover":14877.7314,"count":114},{"id":1603375200,"open":12890.4,"close":12917.8,"high":12995.3,"low":12783.9,"amount":1.182,"vol":1182,"trade_turnover":15224.4716,"count":115},{"id":1603378800,"open":12918.8,"close":12953.0,"high":13031.2,"low":12817.9,"amount":1.176,"vol":1176,"trade_turnover":15197.208,"count":117},{"id":1603382400,"open":12923.1,"close":13055.6,"high":13100.2,"low":12865.6,"amount":1.146,"vol":1146,"trade_turnover":14851.9604,"count":119},{"id":1603386000,"open":12967.6,"close":13082.7,"high":13105.7,"low":12835.5,"amount":1.534,"vol":1534,"trade_turnover":19927.8288,"count":124},{"id":1603389600,"open":13020.4,"close":13016.4,"high":13115.0,"low":12938.7,"amount":1.268,"vol":1268,"trade_turnover":16505.4738,"count":117},{"id":1603393200,"open":13028.3,"close":12970.6,"high":13171.2,"low":12961.8,"amount":1.13,"vol":1130,"trade_turnover":14762.952,"count":112},{"id":1603396800,"open":13016.7,"close":13089.3,"high":13216.1,"low":12998.5,"amount":1.206,"vol":1206,"trade_turnover":15807.1226,"count":117},{"id":1603400400,"open":13136.0,"close":13092.0,"high":13203.7,"low":12932.9,"amount":1.332,"vol":1332,"trade_turnover":17423.4422,"count":114},{"id":1603404000,"open":13119.4,"close":13055.9,"high":13250.5,"low":12984.7,"amount":1.21,"vol":1210,"trade_turnover":15876.0632,"count":114},{"id":1603407600,"open":13059.4,"close":12890.4,"high":13126.5,"low":12857.2,"amount":1.286,"vol":1286,"trade_turnover":16688.422,"count":116},{"id":1603411200,"open":12929.7,"close":12892.2,"high":12994.0,"low":12751.6,"amount":1.502,"vol":1502,"trade_turnover":19331.1596,"count":131},{"id":1603414800,"open":12921.7,"close":12898.3,"high":13003.2,"low":12786.0,"amount":1.386,"vol":1386,"trade_turnover":17904.8902,"count":121},{"id":1603418400,"open":12951.6,"close":12975.1,"high":13054.0,"low":12800.7,"amount":1.416,"vol":1416,"trade_turnover":18306.6204,"count":122},{"id":1603422000,"open":12967.3,"close":12947.0,"high":13030.7,"low":12875.0,"amount":1.19,"vol":1190,"trade_turnover":15409.7984,"count":118},{"id":1603425600,"open":12925.2,"close":12852.0,"high":13047.3,"low":12832.8,"amount":1.022,"vol":1022,"trade_turnover":13214.4388,"count":127},{"id":1603429200,"open":12859.0,"close":12931.1,"high":12991.7,"low":12841.2,"amount":0.478,"vol":478,"trade_turnover":6180.2486,"count":118},{"id":1603432800,"open":12935.9,"close":12939.6,"high":13014.1,"low":12871.9,"amount":0.522,"vol":522,"trade_turnover":6759.0324,"count":132},{"id":1603436400,"open":12923.1,"close":12925.4,"high":12998.9,"low":12917.1,"amount":0.476,"vol":476,"trade_turnover":6163.3118,"count":118},{"id":1603440000,"open":12942.2,"close":12962.6,"high":13014.0,"low":12916.1,"amount":0.508,"vol":508,"trade_turnover":6585.3656,"count":122},{"id":1603443600,"open":12970.5,"close":12926.4,"high":13012.5,"low":12909.9,"amount":0.564,"vol":564,"trade_turnover":7308.8828,"count":124},{"id":1603447200,"open":13001.2,"close":13007.7,"high":13059.5,"low":12925.7,"amount":0.536,"vol":536,"trade_turnover":6957.8796,"count":124},{"id":1603450800,"open":13025.4,"close":12970.6,"high":13078.4,"low":12906.5,"amount":0.486,"vol":486,"trade_turnover":6326.1434,"count":122},{"id":1603454400,"open":12963.9,"close":12935.4,"high":13025.0,"low":12850.8,"amount":0.494,"vol":494,"trade_turnover":6396.0984,"count":117},{"id":1603458000,"open":12913.3,"close":12951.7,"high":13043.3,"low":12911.0,"amount":0.466,"vol":466,"trade_turnover":6049.1412,"count":117},{"id":1603461600,"open":12999.6,"close":12858.8,"high":13006.4,"low":12840.4,"amount":0.46,"vol":460,"trade_turnover":5941.815,"count":116},{"id":1603465200,"open":12885.7,"close":12881.9,"high":12932.9,"low":12826.5,"amount":0.492,"vol":492,"trade_turnover":6340.214,"count":117},{"id":1603468800,"open":12854.4,"close":12784.1,"high":12933.5,"low":12744.4,"amount":0.484,"vol":484,"trade_turnover":6205.4138,"count":123},{"id":1603472400,"open":12832.3,"close":12847.7,"high":12893.1,"low":12730.1,"amount":0.562,"vol":562,"trade_turnover":7218.9184,"count":152},{"id":1603476000,"open":12874.1,"close":12915.7,"high":12939.3,"low":12751.4,"amount":0.53,"vol":530,"trade_turnover":6825.7004,"count":128},{"id":1603479600,"open":12867.9,"close":12972.9,"high":12972.9,"low":12786.6,"amount":0.444,"vol":444,"trade_turnover":5727.7452,"count":117},{"id":1603483200,"open":12956.7,"close":12991.6,"high":13002.2,"low":12842.9,"amount":0.492,"vol":492,"trade_turnover":6375.1566,"count":116},{"id":1603486800,"open":13004.3,"close":12943.5,"high":13004.3,"low":12936.6,"amount":0.5,"vol":500,"trade_turnover":6485.468,"count":125},{"id":1603490400,"open":12923.6,"close":12989.2,"high":13010.3,"low":12884.7,"amount":0.492,"vol":492,"trade_turnover":6376.1492,"count":120},{"id":1603494000,"open":12974.9,"close":12884.6,"high":13024.4,"low":12884.6,"amount":0.51,"vol":510,"trade_turnover":6622.3406,"count":121},{"id":1603497600,"open":12973.7,"close":12953.9,"high":13018.3,"low":12811.1,"amount":0.488,"vol":488,"trade_turnover":6317.7938,"count":120},{"id":1603501200,"open":12927.5,"close":12934.2,"high":13018.1,"low":12872.8,"amount":0.482,"vol":482,"trade_turnover":6242.4178,"count":117},{"id":1603504800,"open":12971.9,"close":12989.1,"high":13003.9,"low":12903.3,"amount":0.484,"vol":484,"trade_turnover":6278.1756,"count":117},{"id":1603508400,"open":13000.1,"close":12975.9,"high":13013.4,"low":12938.3,"amount":0.474,"vol":474,"trade_turnover":6157.7096,"count":122},{"id":1603512000,"open":12989.7,"close":12963.3,"high":13009.4,"low":12905.5,"amount":0.526,"vol":526,"trade_turnover":6831.5658,"count":124},{"id":1603515600,"open":12910.5,"close":12989.7,"high":13041.8,"low":12875.3,"amount":0.522,"vol":522,"trade_turnover":6768.8994,"count":127},{"id":1603519200,"open":12994.7,"close":13003.6,"high":13058.1,"low":12908.8,"amount":0.49,"vol":490,"trade_turnover":6370.5714,"count":120},{"id":1603522800,"open":13011.9,"close":13004.2,"high":13037.8,"low":12981.7,"amount":0.478,"vol":478,"trade_turnover":6218.9722,"count":120},{"id":1603526400,"open":13003.0,"close":12998.2,"high":13030.6,"low":12899.4,"amount":0.52,"vol":520,"trade_turnover":6754.958,"count":124},{"id":1603530000,"open":12998.2,"close":12990.6,"high":13020.3,"low":12893.6,"amount":0.454,"vol":454,"trade_turnover":5891.0574,"count":115},{"id":1603533600,"open":12996.4,"close":13030.1,"high":13059.1,"low":12913.2,"amount":0.502,"vol":502,"trade_turnover":6525.9004,"count":124},{"id":1603537200,"open":12988.4,"close":13033.2,"high":13068.3,"low":12940.2,"amount":0.468,"vol":468,"trade_turnover":6091.0376,"count":119},{"id":1603540800,"open":13035.3,"close":13006.5,"high":13071.8,"low":12978.9,"amount":0.468,"vol":468,"trade_turnover":6102.5902,"count":123},{"id":1603544400,"open":13038.8,"close":12985.9,"high":13066.7,"low":12928.1,"amount":0.534,"vol":534,"trade_turnover":6950.4268,"count":123},{"id":1603548000,"open":12986.3,"close":13042.0,"high":13100.1,"low":12960.5,"amount":0.47,"vol":470,"trade_turnover":6124.2178,"count":100},{"id":1603551600,"open":13038.4,"close":13102.2,"high":13196.5,"low":13038.4,"amount":0.456,"vol":456,"trade_turnover":5989.6362,"count":120},{"id":1603555200,"open":13136.8,"close":13052.7,"high":13176.6,"low":12984.6,"amount":0.458,"vol":458,"trade_turnover":5976.331,"count":121},{"id":1603558800,"open":13006.2,"close":13177.8,"high":13177.8,"low":13003.2,"amount":0.452,"vol":452,"trade_turnover":5911.7058,"count":118},{"id":1603562400,"open":13127.7,"close":13080.8,"high":13170.7,"low":13023.0,"amount":0.468,"vol":468,"trade_turnover":6122.375,"count":119},{"id":1603566000,"open":13040.7,"close":13148.4,"high":13179.3,"low":13014.2,"amount":0.468,"vol":468,"trade_turnover":6126.4278,"count":120},{"id":1603569600,"open":13073.5,"close":13090.1,"high":13179.6,"low":12992.5,"amount":0.47,"vol":470,"trade_turnover":6151.4758,"count":119},{"id":1603573200,"open":13035.4,"close":12993.9,"high":13148.7,"low":12980.7,"amount":0.458,"vol":458,"trade_turnover":5981.071,"count":117},{"id":1603576800,"open":13040.7,"close":13041.1,"high":13112.1,"low":12975.6,"amount":0.478,"vol":478,"trade_turnover":6225.4216,"count":118},{"id":1603580400,"open":13012.6,"close":13184.3,"high":13184.3,"low":13009.3,"amount":0.472,"vol":472,"trade_turnover":6173.4244,"count":118},{"id":1603584000,"open":13080.8,"close":13154.3,"high":13170.4,"low":13007.7,"amount":0.46,"vol":460,"trade_turnover":6024.09,"count":115},{"id":1603587600,"open":13092.0,"close":13196.1,"high":13196.8,"low":13024.0,"amount":0.398,"vol":398,"trade_turnover":5217.5364,"count":102},{"id":1603591200,"open":13124.7,"close":13082.4,"high":13175.1,"low":13035.0,"amount":0.476,"vol":476,"trade_turnover":6228.6596,"count":120},{"id":1603594800,"open":13049.1,"close":13259.0,"high":13383.8,"low":13049.1,"amount":0.578,"vol":578,"trade_turnover":7629.3886,"count":137},{"id":1603598400,"open":13277.0,"close":13243.4,"high":13369.0,"low":13216.0,"amount":0.47,"vol":470,"trade_turnover":6247.955,"count":122},{"id":1603602000,"open":13285.3,"close":13017.3,"high":13353.3,"low":13010.1,"amount":0.61,"vol":610,"trade_turnover":8048.8598,"count":134},{"id":1603605600,"open":13022.5,"close":13060.3,"high":13105.7,"low":13018.2,"amount":0.486,"vol":486,"trade_turnover":6344.1474,"count":118},{"id":1603609200,"open":13048.5,"close":13078.1,"high":13112.1,"low":13022.0,"amount":0.464,"vol":464,"trade_turnover":6061.5416,"count":120},{"id":1603612800,"open":13077.2,"close":13046.0,"high":13091.0,"low":13017.2,"amount":0.464,"vol":464,"trade_turnover":6055.3734,"count":120},{"id":1603616400,"open":13065.1,"close":13040.8,"high":13084.0,"low":13014.2,"amount":0.478,"vol":478,"trade_turnover":6235.7882,"count":117},{"id":1603620000,"open":13047.1,"close":13028.5,"high":13064.2,"low":13010.2,"amount":0.478,"vol":478,"trade_turnover":6232.2428,"count":125},{"id":1603623600,"open":13061.5,"close":12897.6,"high":13061.5,"low":12852.9,"amount":0.534,"vol":534,"trade_turnover":6918.1226,"count":123},{"id":1603627200,"open":12908.3,"close":12964.3,"high":13069.7,"low":12893.2,"amount":0.444,"vol":444,"trade_turnover":5755.8712,"count":117},{"id":1603630800,"open":13001.3,"close":12949.3,"high":13071.9,"low":12891.8,"amount":0.498,"vol":498,"trade_turnover":6465.078,"count":119},{"id":1603634400,"open":12975.8,"close":12946.8,"high":13077.7,"low":12900.0,"amount":0.468,"vol":468,"trade_turnover":6075.4554,"count":116},{"id":1603638000,"open":12975.2,"close":12883.3,"high":13069.1,"low":12883.3,"amount":0.47,"vol":470,"trade_turnover":6097.1072,"count":119},{"id":1603641600,"open":12916.2,"close":12978.7,"high":13067.9,"low":12877.5,"amount":0.482,"vol":482,"trade_turnover":6256.4472,"count":118},{"id":1603645200,"open":13008.0,"close":13004.4,"high":13087.5,"low":12922.7,"amount":0.47,"vol":470,"trade_turnover":6108.3892,"count":117},{"id":1603648800,"open":12972.8,"close":12957.2,"high":13067.6,"low":12893.6,"amount":0.468,"vol":468,"trade_turnover":6079.1484,"count":118},{"id":1603652400,"open":12996.5,"close":13021.8,"high":13066.9,"low":12916.6,"amount":0.442,"vol":442,"trade_turnover":5746.5548,"count":118},{"id":1603656000,"open":12992.9,"close":12985.4,"high":13081.5,"low":12944.9,"amount":0.508,"vol":508,"trade_turnover":6616.9872,"count":120},{"id":1603659600,"open":12999.9,"close":13011.2,"high":13068.6,"low":12921.4,"amount":0.508,"vol":508,"trade_turnover":6614.816,"count":122},{"id":1603663200,"open":12979.6,"close":12959.4,"high":13073.8,"low":12911.9,"amount":0.486,"vol":486,"trade_turnover":6320.907,"count":121},{"id":1603666800,"open":12963.4,"close":13032.1,"high":13085.2,"low":12927.8,"amount":0.452,"vol":452,"trade_turnover":5878.6442,"count":113},{"id":1603670400,"open":12964.2,"close":13001.0,"high":13076.7,"low":12918.3,"amount":0.482,"vol":482,"trade_turnover":6263.698,"count":121},{"id":1603674000,"open":13040.0,"close":13053.7,"high":13096.4,"low":12991.2,"amount":0.478,"vol":478,"trade_turnover":6232.2328,"count":124},{"id":1603677600,"open":13060.6,"close":13064.4,"high":13185.7,"low":12985.1,"amount":0.488,"vol":488,"trade_turnover":6387.534,"count":121},{"id":1603681200,"open":13032.3,"close":13092.8,"high":13187.2,"low":12984.1,"amount":0.486,"vol":486,"trade_turnover":6369.0272,"count":135},{"id":1603684800,"open":13092.0,"close":13132.6,"high":13181.6,"low":12962.3,"amount":0.51,"vol":510,"trade_turnover":6679.829,"count":131},{"id":1603688400,"open":13129.2,"close":13092.1,"high":13205.3,"low":13025.3,"amount":0.506,"vol":506,"trade_turnover":6641.2128,"count":126},{"id":1603692000,"open":13121.8,"close":13071.4,"high":13188.1,"low":12989.8,"amount":1.616,"vol":1616,"trade_turnover":21170.8224,"count":141},{"id":1603695600,"open":13061.0,"close":13038.7,"high":13100.0,"low":12965.2,"amount":3.746,"vol":3746,"trade_turnover":48924.8902,"count":110},{"id":1603699200,"open":13030.9,"close":13039.3,"high":13102.0,"low":12852.8,"amount":8.966,"vol":8966,"trade_turnover":116525.5534,"count":173},{"id":1603702800,"open":13047.1,"close":13075.9,"high":13088.4,"low":13039.8,"amount":4.48,"vol":4480,"trade_turnover":58521.1714,"count":124},{"id":1603706400,"open":13072.1,"close":13100.0,"high":13100.0,"low":13060.2,"amount":4.272,"vol":4272,"trade_turnover":55895.9778,"count":130},{"id":1603710000,"open":13100.0,"close":13138.4,"high":13159.0,"low":13100.0,"amount":29.798,"vol":29798,"trade_turnover":391138.024,"count":230},{"id":1603713600,"open":13138.8,"close":13149.8,"high":13200.0,"low":13100.0,"amount":5.154,"vol":5154,"trade_turnover":67694.652,"count":188},{"id":1603717200,"open":13150.0,"close":13205.8,"high":13351.5,"low":13133.1,"amount":35.608,"vol":35608,"trade_turnover":472780.3394,"count":328},{"id":1603720800,"open":13203.0,"close":13166.1,"high":13280.0,"low":13144.1,"amount":31.748,"vol":31748,"trade_turnover":418744.5588,"count":235},{"id":1603724400,"open":13159.0,"close":12978.0,"high":13165.2,"low":12903.8,"amount":36.53,"vol":36530,"trade_turnover":476940.3296,"count":384},{"id":1603728000,"open":12965.0,"close":12869.6,"high":13069.8,"low":12850.5,"amount":35.018,"vol":35018,"trade_turnover":453288.918,"count":323},{"id":1603731600,"open":12879.2,"close":12873.8,"high":12941.5,"low":12583.9,"amount":92.628,"vol":92628,"trade_turnover":1185973.467,"count":560},{"id":1603735200,"open":12856.2,"close":12946.8,"high":12954.5,"low":12820.4,"amount":4.302,"vol":4302,"trade_turnover":55481.0054,"count":128},{"id":1603738800,"open":12945.6,"close":12953.4,"high":12953.5,"low":12914.1,"amount":13.83,"vol":13830,"trade_turnover":179112.1598,"count":118},{"id":1603742400,"open":12953.5,"close":12983.4,"high":13007.5,"low":12953.5,"amount":17.172,"vol":17172,"trade_turnover":223230.2122,"count":132},{"id":1603746000,"open":12983.1,"close":12993.8,"high":13007.5,"low":12982.7,"amount":3.212,"vol":3212,"trade_turnover":41767.8906,"count":59},{"id":1603749600,"open":13002.1,"close":13007.5,"high":13007.5,"low":12974.0,"amount":1.504,"vol":1504,"trade_turnover":19543.3568,"count":74},{"id":1603753200,"open":13007.5,"close":13033.7,"high":13061.2,"low":13007.5,"amount":3.454,"vol":3454,"trade_turnover":45001.601,"count":101},{"id":1603756800,"open":13029.2,"close":13067.1,"high":13105.0,"low":13028.3,"amount":8.784,"vol":8784,"trade_turnover":114871.8246,"count":98},{"id":1603760400,"open":13074.3,"close":13061.7,"high":13074.4,"low":13051.5,"amount":11.592,"vol":11592,"trade_turnover":151386.9038,"count":66},{"id":1603764000,"open":13061.7,"close":13049.7,"high":13097.6,"low":13040.1,"amount":19.298,"vol":19298,"trade_turnover":252061.019,"count":109},{"id":1603767600,"open":13057.6,"close":13070.4,"high":13080.0,"low":13057.1,"amount":22.992,"vol":22992,"trade_turnover":300453.9788,"count":69},{"id":1603771200,"open":13080.0,"close":13103.3,"high":13175.0,"low":13079.6,"amount":14.396,"vol":14396,"trade_turnover":188461.9156,"count":59},{"id":1603774800,"open":13121.3,"close":13073.6,"high":13121.3,"low":13069.7,"amount":5.058,"vol":5058,"trade_turnover":66201.3552,"count":44},{"id":1603778400,"open":13074.9,"close":13103.4,"high":13149.0,"low":13069.6,"amount":9.106,"vol":9106,"trade_turnover":119104.8906,"count":107},{"id":1603782000,"open":13103.3,"close":13130.0,"high":13169.8,"low":12992.4,"amount":73.95,"vol":73950,"trade_turnover":968195.155,"count":305},{"id":1603785600,"open":13135.1,"close":13123.8,"high":13148.4,"low":13044.0,"amount":18.732,"vol":18732,"trade_turnover":245533.5448,"count":135},{"id":1603789200,"open":13115.5,"close":13131.7,"high":13131.8,"low":13075.7,"amount":13.756,"vol":13756,"trade_turnover":180253.7708,"count":102},{"id":1603792800,"open":13134.8,"close":13216.9,"high":13252.0,"low":13063.4,"amount":154.108,"vol":154108,"trade_turnover":2029983.656,"count":525},{"id":1603796400,"open":13218.8,"close":13395.8,"high":13590.1,"low":13213.5,"amount":170.09,"vol":170090,"trade_turnover":2276279.742,"count":591},{"id":1603800000,"open":13395.9,"close":13376.9,"high":13414.0,"low":13331.7,"amount":48.928,"vol":48928,"trade_turnover":654585.9108,"count":216},{"id":1603803600,"open":13376.5,"close":13384.3,"high":13490.9,"low":13329.8,"amount":63.294,"vol":63294,"trade_turnover":848130.9212,"count":316},{"id":1603807200,"open":13392.6,"close":13398.2,"high":13415.8,"low":13344.8,"amount":12.892,"vol":12892,"trade_turnover":172618.6864,"count":124},{"id":1603810800,"open":13398.2,"close":13598.5,"high":13626.7,"low":13398.2,"amount":93.22,"vol":93220,"trade_turnover":1262695.5466,"count":476},{"id":1603814400,"open":13595.8,"close":13639.9,"high":13639.9,"low":13520.2,"amount":85.45,"vol":85450,"trade_turnover":1161481.4136,"count":435},{"id":1603818000,"open":13640.0,"close":13688.1,"high":13826.7,"low":13589.0,"amount":191.812,"vol":191812,"trade_turnover":2628428.3788,"count":711},{"id":1603821600,"open":13685.0,"close":13630.1,"high":13745.0,"low":13528.2,"amount":65.434,"vol":65434,"trade_turnover":891541.8394,"count":410},{"id":1603825200,"open":13629.4,"close":13637.1,"high":13659.8,"low":13595.4,"amount":5.788,"vol":5788,"trade_turnover":78836.2578,"count":65},{"id":1603828800,"open":13644.4,"close":13616.6,"high":13805.1,"low":13582.6,"amount":163.104,"vol":163104,"trade_turnover":2234040.3544,"count":537},{"id":1603832400,"open":13609.8,"close":13705.5,"high":13753.5,"low":13609.8,"amount":9.884,"vol":9884,"trade_turnover":135406.4752,"count":101},{"id":1603836000,"open":13705.4,"close":13739.9,"high":13739.9,"low":13658.2,"amount":7.436,"vol":7436,"trade_turnover":101840.3508,"count":100},{"id":1603839600,"open":13739.9,"close":13649.6,"high":13794.6,"low":13582.6,"amount":17.086,"vol":17086,"trade_turnover":233971.8448,"count":234},{"id":1603843200,"open":13645.9,"close":13701.7,"high":13745.2,"low":13618.8,"amount":24.108,"vol":24108,"trade_turnover":330206.5694,"count":177},{"id":1603846800,"open":13702.1,"close":13702.6,"high":13725.6,"low":13647.9,"amount":15.892,"vol":15892,"trade_turnover":217816.7008,"count":151},{"id":1603850400,"open":13701.7,"close":13811.6,"high":13832.2,"low":13680.2,"amount":46.548,"vol":46548,"trade_turnover":640636.0352,"count":274},{"id":1603854000,"open":13818.5,"close":13777.0,"high":13820.3,"low":13717.5,"amount":67.896,"vol":67896,"trade_turnover":935838.2238,"count":320},{"id":1603857600,"open":13767.3,"close":13735.7,"high":13807.2,"low":13710.0,"amount":33.156,"vol":33156,"trade_turnover":455941.234,"count":210},{"id":1603861200,"open":13735.5,"close":13715.8,"high":13753.9,"low":13671.3,"amount":32.076,"vol":32076,"trade_turnover":439612.64,"count":198},{"id":1603864800,"open":13715.9,"close":13701.3,"high":13757.0,"low":13694.9,"amount":14.756,"vol":14756,"trade_turnover":202602.5164,"count":122},{"id":1603868400,"open":13701.2,"close":13674.2,"high":13708.7,"low":13550.0,"amount":155.534,"vol":155534,"trade_turnover":2117935.0928,"count":635},{"id":1603872000,"open":13673.0,"close":13691.7,"high":13691.7,"low":13584.0,"amount":29.846,"vol":29846,"trade_turnover":407073.1398,"count":240},{"id":1603875600,"open":13689.3,"close":13587.1,"high":13707.5,"low":13573.5,"amount":104.542,"vol":104542,"trade_turnover":1425079.9344,"count":377},{"id":1603879200,"open":13584.6,"close":13552.7,"high":13618.0,"low":13504.7,"amount":73.818,"vol":73818,"trade_turnover":1001666.0908,"count":358},{"id":1603882800,"open":13552.6,"close":13336.4,"high":13565.4,"low":13330.0,"amount":176.544,"vol":176544,"trade_turnover":2369166.1492,"count":1004},{"id":1603886400,"open":13331.5,"close":13300.3,"high":13385.0,"low":13173.9,"amount":289.73,"vol":289730,"trade_turnover":3846751.7166,"count":968},{"id":1603890000,"open":13300.2,"close":13129.9,"high":13340.0,"low":13122.9,"amount":139.822,"vol":139822,"trade_turnover":1848876.932,"count":612},{"id":1603893600,"open":13123.4,"close":13082.2,"high":13168.2,"low":12915.9,"amount":367.876,"vol":367876,"trade_turnover":4802516.9818,"count":1168},{"id":1603897200,"open":13077.1,"close":13221.2,"high":13235.2,"low":13052.3,"amount":84.044,"vol":84044,"trade_turnover":1106883.1282,"count":375},{"id":1603900800,"open":13218.7,"close":13145.1,"high":13218.7,"low":13050.0,"amount":29.566,"vol":29566,"trade_turnover":388697.4104,"count":244},{"id":1603904400,"open":13145.1,"close":13176.7,"high":13204.9,"low":13006.6,"amount":53.336,"vol":53336,"trade_turnover":700385.2784,"count":299},{"id":1603908000,"open":13171.0,"close":13196.5,"high":13219.6,"low":13131.0,"amount":34.164,"vol":34164,"trade_turnover":450210.5778,"count":218},{"id":1603911600,"open":13200.0,"close":13154.9,"high":13237.4,"low":13145.0,"amount":22.158,"vol":22158,"trade_turnover":292020.0438,"count":185},{"id":1603915200,"open":13154.5,"close":13198.1,"high":13211.8,"low":13147.4,"amount":4.548,"vol":4548,"trade_turnover":59991.1118,"count":75},{"id":1603918800,"open":13193.5,"close":13190.1,"high":13196.5,"low":13100.2,"amount":3.52,"vol":3520,"trade_turnover":46175.428,"count":68},{"id":1603922400,"open":13185.4,"close":13252.0,"high":13267.5,"low":13185.4,"amount":3.122,"vol":3122,"trade_turnover":41304.2018,"count":72},{"id":1603926000,"open":13242.1,"close":13265.9,"high":13282.3,"low":13235.9,"amount":14.768,"vol":14768,"trade_turnover":195689.0764,"count":86},{"id":1603929600,"open":13253.9,"close":13245.1,"high":13294.7,"low":13237.4,"amount":19.968,"vol":19968,"trade_turnover":264834.1944,"count":98},{"id":1603933200,"open":13244.6,"close":13274.2,"high":13285.3,"low":13166.3,"amount":35.282,"vol":35282,"trade_turnover":465789.6302,"count":192},{"id":1603936800,"open":13275.9,"close":13241.1,"high":13277.7,"low":13212.2,"amount":9.748,"vol":9748,"trade_turnover":129016.0684,"count":119},{"id":1603940400,"open":13237.1,"close":13262.5,"high":13262.5,"low":13174.6,"amount":27.3,"vol":27300,"trade_turnover":360589.8982,"count":199},{"id":1603944000,"open":13269.1,"close":13229.5,"high":13277.7,"low":13229.5,"amount":18.904,"vol":18904,"trade_turnover":250713.2812,"count":109},{"id":1603947600,"open":13228.5,"close":13274.8,"high":13274.8,"low":13228.5,"amount":15.822,"vol":15822,"trade_turnover":209781.909,"count":134},{"id":1603951200,"open":13274.8,"close":13255.0,"high":13323.0,"low":13242.3,"amount":91.246,"vol":91246,"trade_turnover":1211271.2788,"count":294},{"id":1603954800,"open":13255.0,"close":13142.4,"high":13269.3,"low":13123.1,"amount":187.622,"vol":187622,"trade_turnover":2478299.7074,"count":506},{"id":1603958400,"open":13145.9,"close":13124.8,"high":13182.4,"low":13094.1,"amount":69.532,"vol":69532,"trade_turnover":914157.2418,"count":226},{"id":1603962000,"open":13129.5,"close":13183.7,"high":13197.1,"low":13129.5,"amount":23.184,"vol":23184,"trade_turnover":305485.9524,"count":141},{"id":1603965600,"open":13184.8,"close":13105.2,"high":13187.5,"low":13053.1,"amount":121.146,"vol":121146,"trade_turnover":1590026.4416,"count":442},{"id":1603969200,"open":13105.1,"close":13060.1,"high":13171.4,"low":13060.1,"amount":47.498,"vol":47498,"trade_turnover":623578.149,"count":262},{"id":1603972800,"open":13056.9,"close":13131.8,"high":13145.8,"low":12977.9,"amount":126.552,"vol":126552,"trade_turnover":1652549.311,"count":481},{"id":1603976400,"open":13131.7,"close":13230.0,"high":13237.2,"low":13102.0,"amount":100.482,"vol":100482,"trade_turnover":1326403.7206,"count":325},{"id":1603980000,"open":13231.0,"close":13420.8,"high":13476.1,"low":13231.0,"amount":253.258,"vol":253258,"trade_turnover":3384941.438,"count":752},{"id":1603983600,"open":13416.0,"close":13420.6,"high":13458.7,"low":13358.7,"amount":64.71,"vol":64710,"trade_turnover":869052.3804,"count":269},{"id":1603987200,"open":13421.9,"close":13535.9,"high":13594.5,"low":13391.8,"amount":120.24,"vol":120240,"trade_turnover":1626567.8278,"count":570}]} +2024-01-18 11:12:50.868 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:41] - 请求 KLine 数据解析之后的数据为:{"wsid":19750305,"data":[{"amount":0.276,"high":12300.0,"vol":276,"low":11715.8,"count":39,"id":1603270800,"close":12196.7,"tradeTurnover":3315.9104,"open":12198.0},{"amount":0.198,"high":12289.9,"vol":198,"low":12111.0,"count":21,"id":1603274400,"close":12277.9,"tradeTurnover":2420.7728,"open":12196.7},{"amount":0.012,"high":12277.9,"vol":12,"low":12000.0,"count":5,"id":1603278000,"close":12000.0,"tradeTurnover":145.2238,"open":12111.0},{"amount":0.084,"high":12498.0,"vol":84,"low":12078.0,"count":12,"id":1603281600,"close":12497.4,"tradeTurnover":1040.0504,"open":12078.0},{"amount":1.122,"high":12495.6,"vol":1122,"low":12282.9,"count":112,"id":1603285200,"close":12373.5,"tradeTurnover":13905.3124,"open":12495.6},{"amount":5.29,"high":12807.6,"vol":5290,"low":12358.1,"count":155,"id":1603288800,"close":12689.9,"tradeTurnover":66852.128,"open":12412.9},{"amount":1.174,"high":12778.7,"vol":1174,"low":12573.2,"count":113,"id":1603292400,"close":12701.9,"tradeTurnover":14907.367,"open":12692.8},{"amount":1.156,"high":12920.9,"vol":1156,"low":12624.8,"count":115,"id":1603296000,"close":12835.9,"tradeTurnover":14802.449,"open":12679.7},{"amount":1.12,"high":12908.3,"vol":1120,"low":12687.5,"count":115,"id":1603299600,"close":12754.2,"tradeTurnover":14345.7324,"open":12848.3},{"amount":1.106,"high":12849.0,"vol":1106,"low":12668.3,"count":114,"id":1603303200,"close":12740.2,"tradeTurnover":14105.3504,"open":12743.7},{"amount":1.032,"high":12843.1,"vol":1032,"low":12597.2,"count":112,"id":1603306800,"close":12650.3,"tradeTurnover":13125.4568,"open":12729.5},{"amount":1.154,"high":12848.4,"vol":1154,"low":12610.2,"count":116,"id":1603310400,"close":12807.0,"tradeTurnover":14680.638,"open":12666.8},{"amount":1.164,"high":13005.1,"vol":1164,"low":12748.2,"count":114,"id":1603314000,"close":12938.9,"tradeTurnover":14976.9366,"open":12866.0},{"amount":1.174,"high":13211.2,"vol":1174,"low":12865.7,"count":114,"id":1603317600,"close":13122.0,"tradeTurnover":15285.2446,"open":12921.0},{"amount":1.172,"high":13173.2,"vol":1172,"low":12688.6,"count":117,"id":1603321200,"close":12829.8,"tradeTurnover":15060.9938,"open":13153.2},{"amount":1.17,"high":12988.1,"vol":1170,"low":12764.4,"count":117,"id":1603324800,"close":12885.9,"tradeTurnover":15046.2046,"open":12793.1},{"amount":1.158,"high":12972.6,"vol":1158,"low":12757.5,"count":118,"id":1603328400,"close":12757.5,"tradeTurnover":14882.4656,"open":12860.4},{"amount":1.124,"high":12848.0,"vol":1124,"low":12729.0,"count":115,"id":1603332000,"close":12788.8,"tradeTurnover":14368.7948,"open":12824.1},{"amount":1.194,"high":12834.4,"vol":1194,"low":12729.0,"count":111,"id":1603335600,"close":12767.2,"tradeTurnover":15268.9298,"open":12791.7},{"amount":1.152,"high":12778.3,"vol":1152,"low":12729.0,"count":115,"id":1603339200,"close":12762.2,"tradeTurnover":14695.4876,"open":12729.0},{"amount":1.21,"high":12842.0,"vol":1210,"low":12730.6,"count":119,"id":1603342800,"close":12813.8,"tradeTurnover":15440.8162,"open":12763.1},{"amount":1.188,"high":12795.0,"vol":1188,"low":12728.0,"count":123,"id":1603346400,"close":12729.1,"tradeTurnover":15128.0098,"open":12795.0},{"amount":1.266,"high":12730.6,"vol":1266,"low":12728.3,"count":112,"id":1603350000,"close":12730.6,"tradeTurnover":16115.1306,"open":12728.6},{"amount":1.35,"high":12921.5,"vol":1350,"low":12729.9,"count":127,"id":1603353600,"close":12770.1,"tradeTurnover":17233.7326,"open":12730.3},{"amount":0.98,"high":12872.1,"vol":980,"low":12760.1,"count":99,"id":1603357200,"close":12780.4,"tradeTurnover":12553.9826,"open":12824.9},{"amount":0.266,"high":13002.7,"vol":266,"low":12775.6,"count":30,"id":1603360800,"close":12934.2,"tradeTurnover":3415.023,"open":12784.9},{"amount":1.004,"high":13057.0,"vol":1004,"low":12886.6,"count":117,"id":1603364400,"close":13045.0,"tradeTurnover":13020.8576,"open":12977.0},{"amount":1.134,"high":12973.4,"vol":1134,"low":12751.6,"count":111,"id":1603368000,"close":12847.9,"tradeTurnover":14594.2752,"open":12958.5},{"amount":1.152,"high":13000.8,"vol":1152,"low":12743.0,"count":114,"id":1603371600,"close":12931.0,"tradeTurnover":14877.7314,"open":12882.7},{"amount":1.182,"high":12995.3,"vol":1182,"low":12783.9,"count":115,"id":1603375200,"close":12917.8,"tradeTurnover":15224.4716,"open":12890.4},{"amount":1.176,"high":13031.2,"vol":1176,"low":12817.9,"count":117,"id":1603378800,"close":12953.0,"tradeTurnover":15197.208,"open":12918.8},{"amount":1.146,"high":13100.2,"vol":1146,"low":12865.6,"count":119,"id":1603382400,"close":13055.6,"tradeTurnover":14851.9604,"open":12923.1},{"amount":1.534,"high":13105.7,"vol":1534,"low":12835.5,"count":124,"id":1603386000,"close":13082.7,"tradeTurnover":19927.8288,"open":12967.6},{"amount":1.268,"high":13115.0,"vol":1268,"low":12938.7,"count":117,"id":1603389600,"close":13016.4,"tradeTurnover":16505.4738,"open":13020.4},{"amount":1.13,"high":13171.2,"vol":1130,"low":12961.8,"count":112,"id":1603393200,"close":12970.6,"tradeTurnover":14762.952,"open":13028.3},{"amount":1.206,"high":13216.1,"vol":1206,"low":12998.5,"count":117,"id":1603396800,"close":13089.3,"tradeTurnover":15807.1226,"open":13016.7},{"amount":1.332,"high":13203.7,"vol":1332,"low":12932.9,"count":114,"id":1603400400,"close":13092.0,"tradeTurnover":17423.4422,"open":13136.0},{"amount":1.21,"high":13250.5,"vol":1210,"low":12984.7,"count":114,"id":1603404000,"close":13055.9,"tradeTurnover":15876.0632,"open":13119.4},{"amount":1.286,"high":13126.5,"vol":1286,"low":12857.2,"count":116,"id":1603407600,"close":12890.4,"tradeTurnover":16688.422,"open":13059.4},{"amount":1.502,"high":12994.0,"vol":1502,"low":12751.6,"count":131,"id":1603411200,"close":12892.2,"tradeTurnover":19331.1596,"open":12929.7},{"amount":1.386,"high":13003.2,"vol":1386,"low":12786.0,"count":121,"id":1603414800,"close":12898.3,"tradeTurnover":17904.8902,"open":12921.7},{"amount":1.416,"high":13054.0,"vol":1416,"low":12800.7,"count":122,"id":1603418400,"close":12975.1,"tradeTurnover":18306.6204,"open":12951.6},{"amount":1.19,"high":13030.7,"vol":1190,"low":12875.0,"count":118,"id":1603422000,"close":12947.0,"tradeTurnover":15409.7984,"open":12967.3},{"amount":1.022,"high":13047.3,"vol":1022,"low":12832.8,"count":127,"id":1603425600,"close":12852.0,"tradeTurnover":13214.4388,"open":12925.2},{"amount":0.478,"high":12991.7,"vol":478,"low":12841.2,"count":118,"id":1603429200,"close":12931.1,"tradeTurnover":6180.2486,"open":12859.0},{"amount":0.522,"high":13014.1,"vol":522,"low":12871.9,"count":132,"id":1603432800,"close":12939.6,"tradeTurnover":6759.0324,"open":12935.9},{"amount":0.476,"high":12998.9,"vol":476,"low":12917.1,"count":118,"id":1603436400,"close":12925.4,"tradeTurnover":6163.3118,"open":12923.1},{"amount":0.508,"high":13014.0,"vol":508,"low":12916.1,"count":122,"id":1603440000,"close":12962.6,"tradeTurnover":6585.3656,"open":12942.2},{"amount":0.564,"high":13012.5,"vol":564,"low":12909.9,"count":124,"id":1603443600,"close":12926.4,"tradeTurnover":7308.8828,"open":12970.5},{"amount":0.536,"high":13059.5,"vol":536,"low":12925.7,"count":124,"id":1603447200,"close":13007.7,"tradeTurnover":6957.8796,"open":13001.2},{"amount":0.486,"high":13078.4,"vol":486,"low":12906.5,"count":122,"id":1603450800,"close":12970.6,"tradeTurnover":6326.1434,"open":13025.4},{"amount":0.494,"high":13025.0,"vol":494,"low":12850.8,"count":117,"id":1603454400,"close":12935.4,"tradeTurnover":6396.0984,"open":12963.9},{"amount":0.466,"high":13043.3,"vol":466,"low":12911.0,"count":117,"id":1603458000,"close":12951.7,"tradeTurnover":6049.1412,"open":12913.3},{"amount":0.46,"high":13006.4,"vol":460,"low":12840.4,"count":116,"id":1603461600,"close":12858.8,"tradeTurnover":5941.815,"open":12999.6},{"amount":0.492,"high":12932.9,"vol":492,"low":12826.5,"count":117,"id":1603465200,"close":12881.9,"tradeTurnover":6340.214,"open":12885.7},{"amount":0.484,"high":12933.5,"vol":484,"low":12744.4,"count":123,"id":1603468800,"close":12784.1,"tradeTurnover":6205.4138,"open":12854.4},{"amount":0.562,"high":12893.1,"vol":562,"low":12730.1,"count":152,"id":1603472400,"close":12847.7,"tradeTurnover":7218.9184,"open":12832.3},{"amount":0.53,"high":12939.3,"vol":530,"low":12751.4,"count":128,"id":1603476000,"close":12915.7,"tradeTurnover":6825.7004,"open":12874.1},{"amount":0.444,"high":12972.9,"vol":444,"low":12786.6,"count":117,"id":1603479600,"close":12972.9,"tradeTurnover":5727.7452,"open":12867.9},{"amount":0.492,"high":13002.2,"vol":492,"low":12842.9,"count":116,"id":1603483200,"close":12991.6,"tradeTurnover":6375.1566,"open":12956.7},{"amount":0.5,"high":13004.3,"vol":500,"low":12936.6,"count":125,"id":1603486800,"close":12943.5,"tradeTurnover":6485.468,"open":13004.3},{"amount":0.492,"high":13010.3,"vol":492,"low":12884.7,"count":120,"id":1603490400,"close":12989.2,"tradeTurnover":6376.1492,"open":12923.6},{"amount":0.51,"high":13024.4,"vol":510,"low":12884.6,"count":121,"id":1603494000,"close":12884.6,"tradeTurnover":6622.3406,"open":12974.9},{"amount":0.488,"high":13018.3,"vol":488,"low":12811.1,"count":120,"id":1603497600,"close":12953.9,"tradeTurnover":6317.7938,"open":12973.7},{"amount":0.482,"high":13018.1,"vol":482,"low":12872.8,"count":117,"id":1603501200,"close":12934.2,"tradeTurnover":6242.4178,"open":12927.5},{"amount":0.484,"high":13003.9,"vol":484,"low":12903.3,"count":117,"id":1603504800,"close":12989.1,"tradeTurnover":6278.1756,"open":12971.9},{"amount":0.474,"high":13013.4,"vol":474,"low":12938.3,"count":122,"id":1603508400,"close":12975.9,"tradeTurnover":6157.7096,"open":13000.1},{"amount":0.526,"high":13009.4,"vol":526,"low":12905.5,"count":124,"id":1603512000,"close":12963.3,"tradeTurnover":6831.5658,"open":12989.7},{"amount":0.522,"high":13041.8,"vol":522,"low":12875.3,"count":127,"id":1603515600,"close":12989.7,"tradeTurnover":6768.8994,"open":12910.5},{"amount":0.49,"high":13058.1,"vol":490,"low":12908.8,"count":120,"id":1603519200,"close":13003.6,"tradeTurnover":6370.5714,"open":12994.7},{"amount":0.478,"high":13037.8,"vol":478,"low":12981.7,"count":120,"id":1603522800,"close":13004.2,"tradeTurnover":6218.9722,"open":13011.9},{"amount":0.52,"high":13030.6,"vol":520,"low":12899.4,"count":124,"id":1603526400,"close":12998.2,"tradeTurnover":6754.958,"open":13003.0},{"amount":0.454,"high":13020.3,"vol":454,"low":12893.6,"count":115,"id":1603530000,"close":12990.6,"tradeTurnover":5891.0574,"open":12998.2},{"amount":0.502,"high":13059.1,"vol":502,"low":12913.2,"count":124,"id":1603533600,"close":13030.1,"tradeTurnover":6525.9004,"open":12996.4},{"amount":0.468,"high":13068.3,"vol":468,"low":12940.2,"count":119,"id":1603537200,"close":13033.2,"tradeTurnover":6091.0376,"open":12988.4},{"amount":0.468,"high":13071.8,"vol":468,"low":12978.9,"count":123,"id":1603540800,"close":13006.5,"tradeTurnover":6102.5902,"open":13035.3},{"amount":0.534,"high":13066.7,"vol":534,"low":12928.1,"count":123,"id":1603544400,"close":12985.9,"tradeTurnover":6950.4268,"open":13038.8},{"amount":0.47,"high":13100.1,"vol":470,"low":12960.5,"count":100,"id":1603548000,"close":13042.0,"tradeTurnover":6124.2178,"open":12986.3},{"amount":0.456,"high":13196.5,"vol":456,"low":13038.4,"count":120,"id":1603551600,"close":13102.2,"tradeTurnover":5989.6362,"open":13038.4},{"amount":0.458,"high":13176.6,"vol":458,"low":12984.6,"count":121,"id":1603555200,"close":13052.7,"tradeTurnover":5976.331,"open":13136.8},{"amount":0.452,"high":13177.8,"vol":452,"low":13003.2,"count":118,"id":1603558800,"close":13177.8,"tradeTurnover":5911.7058,"open":13006.2},{"amount":0.468,"high":13170.7,"vol":468,"low":13023.0,"count":119,"id":1603562400,"close":13080.8,"tradeTurnover":6122.375,"open":13127.7},{"amount":0.468,"high":13179.3,"vol":468,"low":13014.2,"count":120,"id":1603566000,"close":13148.4,"tradeTurnover":6126.4278,"open":13040.7},{"amount":0.47,"high":13179.6,"vol":470,"low":12992.5,"count":119,"id":1603569600,"close":13090.1,"tradeTurnover":6151.4758,"open":13073.5},{"amount":0.458,"high":13148.7,"vol":458,"low":12980.7,"count":117,"id":1603573200,"close":12993.9,"tradeTurnover":5981.071,"open":13035.4},{"amount":0.478,"high":13112.1,"vol":478,"low":12975.6,"count":118,"id":1603576800,"close":13041.1,"tradeTurnover":6225.4216,"open":13040.7},{"amount":0.472,"high":13184.3,"vol":472,"low":13009.3,"count":118,"id":1603580400,"close":13184.3,"tradeTurnover":6173.4244,"open":13012.6},{"amount":0.46,"high":13170.4,"vol":460,"low":13007.7,"count":115,"id":1603584000,"close":13154.3,"tradeTurnover":6024.09,"open":13080.8},{"amount":0.398,"high":13196.8,"vol":398,"low":13024.0,"count":102,"id":1603587600,"close":13196.1,"tradeTurnover":5217.5364,"open":13092.0},{"amount":0.476,"high":13175.1,"vol":476,"low":13035.0,"count":120,"id":1603591200,"close":13082.4,"tradeTurnover":6228.6596,"open":13124.7},{"amount":0.578,"high":13383.8,"vol":578,"low":13049.1,"count":137,"id":1603594800,"close":13259.0,"tradeTurnover":7629.3886,"open":13049.1},{"amount":0.47,"high":13369.0,"vol":470,"low":13216.0,"count":122,"id":1603598400,"close":13243.4,"tradeTurnover":6247.955,"open":13277.0},{"amount":0.61,"high":13353.3,"vol":610,"low":13010.1,"count":134,"id":1603602000,"close":13017.3,"tradeTurnover":8048.8598,"open":13285.3},{"amount":0.486,"high":13105.7,"vol":486,"low":13018.2,"count":118,"id":1603605600,"close":13060.3,"tradeTurnover":6344.1474,"open":13022.5},{"amount":0.464,"high":13112.1,"vol":464,"low":13022.0,"count":120,"id":1603609200,"close":13078.1,"tradeTurnover":6061.5416,"open":13048.5},{"amount":0.464,"high":13091.0,"vol":464,"low":13017.2,"count":120,"id":1603612800,"close":13046.0,"tradeTurnover":6055.3734,"open":13077.2},{"amount":0.478,"high":13084.0,"vol":478,"low":13014.2,"count":117,"id":1603616400,"close":13040.8,"tradeTurnover":6235.7882,"open":13065.1},{"amount":0.478,"high":13064.2,"vol":478,"low":13010.2,"count":125,"id":1603620000,"close":13028.5,"tradeTurnover":6232.2428,"open":13047.1},{"amount":0.534,"high":13061.5,"vol":534,"low":12852.9,"count":123,"id":1603623600,"close":12897.6,"tradeTurnover":6918.1226,"open":13061.5},{"amount":0.444,"high":13069.7,"vol":444,"low":12893.2,"count":117,"id":1603627200,"close":12964.3,"tradeTurnover":5755.8712,"open":12908.3},{"amount":0.498,"high":13071.9,"vol":498,"low":12891.8,"count":119,"id":1603630800,"close":12949.3,"tradeTurnover":6465.078,"open":13001.3},{"amount":0.468,"high":13077.7,"vol":468,"low":12900.0,"count":116,"id":1603634400,"close":12946.8,"tradeTurnover":6075.4554,"open":12975.8},{"amount":0.47,"high":13069.1,"vol":470,"low":12883.3,"count":119,"id":1603638000,"close":12883.3,"tradeTurnover":6097.1072,"open":12975.2},{"amount":0.482,"high":13067.9,"vol":482,"low":12877.5,"count":118,"id":1603641600,"close":12978.7,"tradeTurnover":6256.4472,"open":12916.2},{"amount":0.47,"high":13087.5,"vol":470,"low":12922.7,"count":117,"id":1603645200,"close":13004.4,"tradeTurnover":6108.3892,"open":13008.0},{"amount":0.468,"high":13067.6,"vol":468,"low":12893.6,"count":118,"id":1603648800,"close":12957.2,"tradeTurnover":6079.1484,"open":12972.8},{"amount":0.442,"high":13066.9,"vol":442,"low":12916.6,"count":118,"id":1603652400,"close":13021.8,"tradeTurnover":5746.5548,"open":12996.5},{"amount":0.508,"high":13081.5,"vol":508,"low":12944.9,"count":120,"id":1603656000,"close":12985.4,"tradeTurnover":6616.9872,"open":12992.9},{"amount":0.508,"high":13068.6,"vol":508,"low":12921.4,"count":122,"id":1603659600,"close":13011.2,"tradeTurnover":6614.816,"open":12999.9},{"amount":0.486,"high":13073.8,"vol":486,"low":12911.9,"count":121,"id":1603663200,"close":12959.4,"tradeTurnover":6320.907,"open":12979.6},{"amount":0.452,"high":13085.2,"vol":452,"low":12927.8,"count":113,"id":1603666800,"close":13032.1,"tradeTurnover":5878.6442,"open":12963.4},{"amount":0.482,"high":13076.7,"vol":482,"low":12918.3,"count":121,"id":1603670400,"close":13001.0,"tradeTurnover":6263.698,"open":12964.2},{"amount":0.478,"high":13096.4,"vol":478,"low":12991.2,"count":124,"id":1603674000,"close":13053.7,"tradeTurnover":6232.2328,"open":13040.0},{"amount":0.488,"high":13185.7,"vol":488,"low":12985.1,"count":121,"id":1603677600,"close":13064.4,"tradeTurnover":6387.534,"open":13060.6},{"amount":0.486,"high":13187.2,"vol":486,"low":12984.1,"count":135,"id":1603681200,"close":13092.8,"tradeTurnover":6369.0272,"open":13032.3},{"amount":0.51,"high":13181.6,"vol":510,"low":12962.3,"count":131,"id":1603684800,"close":13132.6,"tradeTurnover":6679.829,"open":13092.0},{"amount":0.506,"high":13205.3,"vol":506,"low":13025.3,"count":126,"id":1603688400,"close":13092.1,"tradeTurnover":6641.2128,"open":13129.2},{"amount":1.616,"high":13188.1,"vol":1616,"low":12989.8,"count":141,"id":1603692000,"close":13071.4,"tradeTurnover":21170.8224,"open":13121.8},{"amount":3.746,"high":13100.0,"vol":3746,"low":12965.2,"count":110,"id":1603695600,"close":13038.7,"tradeTurnover":48924.8902,"open":13061.0},{"amount":8.966,"high":13102.0,"vol":8966,"low":12852.8,"count":173,"id":1603699200,"close":13039.3,"tradeTurnover":116525.5534,"open":13030.9},{"amount":4.48,"high":13088.4,"vol":4480,"low":13039.8,"count":124,"id":1603702800,"close":13075.9,"tradeTurnover":58521.1714,"open":13047.1},{"amount":4.272,"high":13100.0,"vol":4272,"low":13060.2,"count":130,"id":1603706400,"close":13100.0,"tradeTurnover":55895.9778,"open":13072.1},{"amount":29.798,"high":13159.0,"vol":29798,"low":13100.0,"count":230,"id":1603710000,"close":13138.4,"tradeTurnover":391138.024,"open":13100.0},{"amount":5.154,"high":13200.0,"vol":5154,"low":13100.0,"count":188,"id":1603713600,"close":13149.8,"tradeTurnover":67694.652,"open":13138.8},{"amount":35.608,"high":13351.5,"vol":35608,"low":13133.1,"count":328,"id":1603717200,"close":13205.8,"tradeTurnover":472780.3394,"open":13150.0},{"amount":31.748,"high":13280.0,"vol":31748,"low":13144.1,"count":235,"id":1603720800,"close":13166.1,"tradeTurnover":418744.5588,"open":13203.0},{"amount":36.53,"high":13165.2,"vol":36530,"low":12903.8,"count":384,"id":1603724400,"close":12978.0,"tradeTurnover":476940.3296,"open":13159.0},{"amount":35.018,"high":13069.8,"vol":35018,"low":12850.5,"count":323,"id":1603728000,"close":12869.6,"tradeTurnover":453288.918,"open":12965.0},{"amount":92.628,"high":12941.5,"vol":92628,"low":12583.9,"count":560,"id":1603731600,"close":12873.8,"tradeTurnover":1185973.467,"open":12879.2},{"amount":4.302,"high":12954.5,"vol":4302,"low":12820.4,"count":128,"id":1603735200,"close":12946.8,"tradeTurnover":55481.0054,"open":12856.2},{"amount":13.83,"high":12953.5,"vol":13830,"low":12914.1,"count":118,"id":1603738800,"close":12953.4,"tradeTurnover":179112.1598,"open":12945.6},{"amount":17.172,"high":13007.5,"vol":17172,"low":12953.5,"count":132,"id":1603742400,"close":12983.4,"tradeTurnover":223230.2122,"open":12953.5},{"amount":3.212,"high":13007.5,"vol":3212,"low":12982.7,"count":59,"id":1603746000,"close":12993.8,"tradeTurnover":41767.8906,"open":12983.1},{"amount":1.504,"high":13007.5,"vol":1504,"low":12974.0,"count":74,"id":1603749600,"close":13007.5,"tradeTurnover":19543.3568,"open":13002.1},{"amount":3.454,"high":13061.2,"vol":3454,"low":13007.5,"count":101,"id":1603753200,"close":13033.7,"tradeTurnover":45001.601,"open":13007.5},{"amount":8.784,"high":13105.0,"vol":8784,"low":13028.3,"count":98,"id":1603756800,"close":13067.1,"tradeTurnover":114871.8246,"open":13029.2},{"amount":11.592,"high":13074.4,"vol":11592,"low":13051.5,"count":66,"id":1603760400,"close":13061.7,"tradeTurnover":151386.9038,"open":13074.3},{"amount":19.298,"high":13097.6,"vol":19298,"low":13040.1,"count":109,"id":1603764000,"close":13049.7,"tradeTurnover":252061.019,"open":13061.7},{"amount":22.992,"high":13080.0,"vol":22992,"low":13057.1,"count":69,"id":1603767600,"close":13070.4,"tradeTurnover":300453.9788,"open":13057.6},{"amount":14.396,"high":13175.0,"vol":14396,"low":13079.6,"count":59,"id":1603771200,"close":13103.3,"tradeTurnover":188461.9156,"open":13080.0},{"amount":5.058,"high":13121.3,"vol":5058,"low":13069.7,"count":44,"id":1603774800,"close":13073.6,"tradeTurnover":66201.3552,"open":13121.3},{"amount":9.106,"high":13149.0,"vol":9106,"low":13069.6,"count":107,"id":1603778400,"close":13103.4,"tradeTurnover":119104.8906,"open":13074.9},{"amount":73.95,"high":13169.8,"vol":73950,"low":12992.4,"count":305,"id":1603782000,"close":13130.0,"tradeTurnover":968195.155,"open":13103.3},{"amount":18.732,"high":13148.4,"vol":18732,"low":13044.0,"count":135,"id":1603785600,"close":13123.8,"tradeTurnover":245533.5448,"open":13135.1},{"amount":13.756,"high":13131.8,"vol":13756,"low":13075.7,"count":102,"id":1603789200,"close":13131.7,"tradeTurnover":180253.7708,"open":13115.5},{"amount":154.108,"high":13252.0,"vol":154108,"low":13063.4,"count":525,"id":1603792800,"close":13216.9,"tradeTurnover":2029983.656,"open":13134.8},{"amount":170.09,"high":13590.1,"vol":170090,"low":13213.5,"count":591,"id":1603796400,"close":13395.8,"tradeTurnover":2276279.742,"open":13218.8},{"amount":48.928,"high":13414.0,"vol":48928,"low":13331.7,"count":216,"id":1603800000,"close":13376.9,"tradeTurnover":654585.9108,"open":13395.9},{"amount":63.294,"high":13490.9,"vol":63294,"low":13329.8,"count":316,"id":1603803600,"close":13384.3,"tradeTurnover":848130.9212,"open":13376.5},{"amount":12.892,"high":13415.8,"vol":12892,"low":13344.8,"count":124,"id":1603807200,"close":13398.2,"tradeTurnover":172618.6864,"open":13392.6},{"amount":93.22,"high":13626.7,"vol":93220,"low":13398.2,"count":476,"id":1603810800,"close":13598.5,"tradeTurnover":1262695.5466,"open":13398.2},{"amount":85.45,"high":13639.9,"vol":85450,"low":13520.2,"count":435,"id":1603814400,"close":13639.9,"tradeTurnover":1161481.4136,"open":13595.8},{"amount":191.812,"high":13826.7,"vol":191812,"low":13589.0,"count":711,"id":1603818000,"close":13688.1,"tradeTurnover":2628428.3788,"open":13640.0},{"amount":65.434,"high":13745.0,"vol":65434,"low":13528.2,"count":410,"id":1603821600,"close":13630.1,"tradeTurnover":891541.8394,"open":13685.0},{"amount":5.788,"high":13659.8,"vol":5788,"low":13595.4,"count":65,"id":1603825200,"close":13637.1,"tradeTurnover":78836.2578,"open":13629.4},{"amount":163.104,"high":13805.1,"vol":163104,"low":13582.6,"count":537,"id":1603828800,"close":13616.6,"tradeTurnover":2234040.3544,"open":13644.4},{"amount":9.884,"high":13753.5,"vol":9884,"low":13609.8,"count":101,"id":1603832400,"close":13705.5,"tradeTurnover":135406.4752,"open":13609.8},{"amount":7.436,"high":13739.9,"vol":7436,"low":13658.2,"count":100,"id":1603836000,"close":13739.9,"tradeTurnover":101840.3508,"open":13705.4},{"amount":17.086,"high":13794.6,"vol":17086,"low":13582.6,"count":234,"id":1603839600,"close":13649.6,"tradeTurnover":233971.8448,"open":13739.9},{"amount":24.108,"high":13745.2,"vol":24108,"low":13618.8,"count":177,"id":1603843200,"close":13701.7,"tradeTurnover":330206.5694,"open":13645.9},{"amount":15.892,"high":13725.6,"vol":15892,"low":13647.9,"count":151,"id":1603846800,"close":13702.6,"tradeTurnover":217816.7008,"open":13702.1},{"amount":46.548,"high":13832.2,"vol":46548,"low":13680.2,"count":274,"id":1603850400,"close":13811.6,"tradeTurnover":640636.0352,"open":13701.7},{"amount":67.896,"high":13820.3,"vol":67896,"low":13717.5,"count":320,"id":1603854000,"close":13777.0,"tradeTurnover":935838.2238,"open":13818.5},{"amount":33.156,"high":13807.2,"vol":33156,"low":13710.0,"count":210,"id":1603857600,"close":13735.7,"tradeTurnover":455941.234,"open":13767.3},{"amount":32.076,"high":13753.9,"vol":32076,"low":13671.3,"count":198,"id":1603861200,"close":13715.8,"tradeTurnover":439612.64,"open":13735.5},{"amount":14.756,"high":13757.0,"vol":14756,"low":13694.9,"count":122,"id":1603864800,"close":13701.3,"tradeTurnover":202602.5164,"open":13715.9},{"amount":155.534,"high":13708.7,"vol":155534,"low":13550.0,"count":635,"id":1603868400,"close":13674.2,"tradeTurnover":2117935.0928,"open":13701.2},{"amount":29.846,"high":13691.7,"vol":29846,"low":13584.0,"count":240,"id":1603872000,"close":13691.7,"tradeTurnover":407073.1398,"open":13673.0},{"amount":104.542,"high":13707.5,"vol":104542,"low":13573.5,"count":377,"id":1603875600,"close":13587.1,"tradeTurnover":1425079.9344,"open":13689.3},{"amount":73.818,"high":13618.0,"vol":73818,"low":13504.7,"count":358,"id":1603879200,"close":13552.7,"tradeTurnover":1001666.0908,"open":13584.6},{"amount":176.544,"high":13565.4,"vol":176544,"low":13330.0,"count":1004,"id":1603882800,"close":13336.4,"tradeTurnover":2369166.1492,"open":13552.6},{"amount":289.73,"high":13385.0,"vol":289730,"low":13173.9,"count":968,"id":1603886400,"close":13300.3,"tradeTurnover":3846751.7166,"open":13331.5},{"amount":139.822,"high":13340.0,"vol":139822,"low":13122.9,"count":612,"id":1603890000,"close":13129.9,"tradeTurnover":1848876.932,"open":13300.2},{"amount":367.876,"high":13168.2,"vol":367876,"low":12915.9,"count":1168,"id":1603893600,"close":13082.2,"tradeTurnover":4802516.9818,"open":13123.4},{"amount":84.044,"high":13235.2,"vol":84044,"low":13052.3,"count":375,"id":1603897200,"close":13221.2,"tradeTurnover":1106883.1282,"open":13077.1},{"amount":29.566,"high":13218.7,"vol":29566,"low":13050.0,"count":244,"id":1603900800,"close":13145.1,"tradeTurnover":388697.4104,"open":13218.7},{"amount":53.336,"high":13204.9,"vol":53336,"low":13006.6,"count":299,"id":1603904400,"close":13176.7,"tradeTurnover":700385.2784,"open":13145.1},{"amount":34.164,"high":13219.6,"vol":34164,"low":13131.0,"count":218,"id":1603908000,"close":13196.5,"tradeTurnover":450210.5778,"open":13171.0},{"amount":22.158,"high":13237.4,"vol":22158,"low":13145.0,"count":185,"id":1603911600,"close":13154.9,"tradeTurnover":292020.0438,"open":13200.0},{"amount":4.548,"high":13211.8,"vol":4548,"low":13147.4,"count":75,"id":1603915200,"close":13198.1,"tradeTurnover":59991.1118,"open":13154.5},{"amount":3.52,"high":13196.5,"vol":3520,"low":13100.2,"count":68,"id":1603918800,"close":13190.1,"tradeTurnover":46175.428,"open":13193.5},{"amount":3.122,"high":13267.5,"vol":3122,"low":13185.4,"count":72,"id":1603922400,"close":13252.0,"tradeTurnover":41304.2018,"open":13185.4},{"amount":14.768,"high":13282.3,"vol":14768,"low":13235.9,"count":86,"id":1603926000,"close":13265.9,"tradeTurnover":195689.0764,"open":13242.1},{"amount":19.968,"high":13294.7,"vol":19968,"low":13237.4,"count":98,"id":1603929600,"close":13245.1,"tradeTurnover":264834.1944,"open":13253.9},{"amount":35.282,"high":13285.3,"vol":35282,"low":13166.3,"count":192,"id":1603933200,"close":13274.2,"tradeTurnover":465789.6302,"open":13244.6},{"amount":9.748,"high":13277.7,"vol":9748,"low":13212.2,"count":119,"id":1603936800,"close":13241.1,"tradeTurnover":129016.0684,"open":13275.9},{"amount":27.3,"high":13262.5,"vol":27300,"low":13174.6,"count":199,"id":1603940400,"close":13262.5,"tradeTurnover":360589.8982,"open":13237.1},{"amount":18.904,"high":13277.7,"vol":18904,"low":13229.5,"count":109,"id":1603944000,"close":13229.5,"tradeTurnover":250713.2812,"open":13269.1},{"amount":15.822,"high":13274.8,"vol":15822,"low":13228.5,"count":134,"id":1603947600,"close":13274.8,"tradeTurnover":209781.909,"open":13228.5},{"amount":91.246,"high":13323.0,"vol":91246,"low":13242.3,"count":294,"id":1603951200,"close":13255.0,"tradeTurnover":1211271.2788,"open":13274.8},{"amount":187.622,"high":13269.3,"vol":187622,"low":13123.1,"count":506,"id":1603954800,"close":13142.4,"tradeTurnover":2478299.7074,"open":13255.0},{"amount":69.532,"high":13182.4,"vol":69532,"low":13094.1,"count":226,"id":1603958400,"close":13124.8,"tradeTurnover":914157.2418,"open":13145.9},{"amount":23.184,"high":13197.1,"vol":23184,"low":13129.5,"count":141,"id":1603962000,"close":13183.7,"tradeTurnover":305485.9524,"open":13129.5},{"amount":121.146,"high":13187.5,"vol":121146,"low":13053.1,"count":442,"id":1603965600,"close":13105.2,"tradeTurnover":1590026.4416,"open":13184.8},{"amount":47.498,"high":13171.4,"vol":47498,"low":13060.1,"count":262,"id":1603969200,"close":13060.1,"tradeTurnover":623578.149,"open":13105.1},{"amount":126.552,"high":13145.8,"vol":126552,"low":12977.9,"count":481,"id":1603972800,"close":13131.8,"tradeTurnover":1652549.311,"open":13056.9},{"amount":100.482,"high":13237.2,"vol":100482,"low":13102.0,"count":325,"id":1603976400,"close":13230.0,"tradeTurnover":1326403.7206,"open":13131.7},{"amount":253.258,"high":13476.1,"vol":253258,"low":13231.0,"count":752,"id":1603980000,"close":13420.8,"tradeTurnover":3384941.438,"open":13231.0},{"amount":64.71,"high":13458.7,"vol":64710,"low":13358.7,"count":269,"id":1603983600,"close":13420.6,"tradeTurnover":869052.3804,"open":13416.0},{"amount":120.24,"high":13594.5,"vol":120240,"low":13391.8,"count":570,"id":1603987200,"close":13535.9,"tradeTurnover":1626567.8278,"open":13421.9}],"id":"","rep":"market.BTC-USDT.kline.60min","status":"ok"} +2024-01-18 11:12:51.753 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:39] - 请求 KLine 数据用户收到的原始数据:{"id":"","rep":"market.BTC-USDT.kline.60min","ts":1705547570663,"wsid":19750305,"status":"ok","data":[{"id":1603270800,"open":12198.0,"close":12196.7,"high":12300.0,"low":11715.8,"amount":0.276,"vol":276,"trade_turnover":3315.9104,"count":39},{"id":1603274400,"open":12196.7,"close":12277.9,"high":12289.9,"low":12111.0,"amount":0.198,"vol":198,"trade_turnover":2420.7728,"count":21},{"id":1603278000,"open":12111.0,"close":12000.0,"high":12277.9,"low":12000.0,"amount":0.012,"vol":12,"trade_turnover":145.2238,"count":5},{"id":1603281600,"open":12078.0,"close":12497.4,"high":12498.0,"low":12078.0,"amount":0.084,"vol":84,"trade_turnover":1040.0504,"count":12},{"id":1603285200,"open":12495.6,"close":12373.5,"high":12495.6,"low":12282.9,"amount":1.122,"vol":1122,"trade_turnover":13905.3124,"count":112},{"id":1603288800,"open":12412.9,"close":12689.9,"high":12807.6,"low":12358.1,"amount":5.29,"vol":5290,"trade_turnover":66852.128,"count":155},{"id":1603292400,"open":12692.8,"close":12701.9,"high":12778.7,"low":12573.2,"amount":1.174,"vol":1174,"trade_turnover":14907.367,"count":113},{"id":1603296000,"open":12679.7,"close":12835.9,"high":12920.9,"low":12624.8,"amount":1.156,"vol":1156,"trade_turnover":14802.449,"count":115},{"id":1603299600,"open":12848.3,"close":12754.2,"high":12908.3,"low":12687.5,"amount":1.12,"vol":1120,"trade_turnover":14345.7324,"count":115},{"id":1603303200,"open":12743.7,"close":12740.2,"high":12849.0,"low":12668.3,"amount":1.106,"vol":1106,"trade_turnover":14105.3504,"count":114},{"id":1603306800,"open":12729.5,"close":12650.3,"high":12843.1,"low":12597.2,"amount":1.032,"vol":1032,"trade_turnover":13125.4568,"count":112},{"id":1603310400,"open":12666.8,"close":12807.0,"high":12848.4,"low":12610.2,"amount":1.154,"vol":1154,"trade_turnover":14680.638,"count":116},{"id":1603314000,"open":12866.0,"close":12938.9,"high":13005.1,"low":12748.2,"amount":1.164,"vol":1164,"trade_turnover":14976.9366,"count":114},{"id":1603317600,"open":12921.0,"close":13122.0,"high":13211.2,"low":12865.7,"amount":1.174,"vol":1174,"trade_turnover":15285.2446,"count":114},{"id":1603321200,"open":13153.2,"close":12829.8,"high":13173.2,"low":12688.6,"amount":1.172,"vol":1172,"trade_turnover":15060.9938,"count":117},{"id":1603324800,"open":12793.1,"close":12885.9,"high":12988.1,"low":12764.4,"amount":1.17,"vol":1170,"trade_turnover":15046.2046,"count":117},{"id":1603328400,"open":12860.4,"close":12757.5,"high":12972.6,"low":12757.5,"amount":1.158,"vol":1158,"trade_turnover":14882.4656,"count":118},{"id":1603332000,"open":12824.1,"close":12788.8,"high":12848.0,"low":12729.0,"amount":1.124,"vol":1124,"trade_turnover":14368.7948,"count":115},{"id":1603335600,"open":12791.7,"close":12767.2,"high":12834.4,"low":12729.0,"amount":1.194,"vol":1194,"trade_turnover":15268.9298,"count":111},{"id":1603339200,"open":12729.0,"close":12762.2,"high":12778.3,"low":12729.0,"amount":1.152,"vol":1152,"trade_turnover":14695.4876,"count":115},{"id":1603342800,"open":12763.1,"close":12813.8,"high":12842.0,"low":12730.6,"amount":1.21,"vol":1210,"trade_turnover":15440.8162,"count":119},{"id":1603346400,"open":12795.0,"close":12729.1,"high":12795.0,"low":12728.0,"amount":1.188,"vol":1188,"trade_turnover":15128.0098,"count":123},{"id":1603350000,"open":12728.6,"close":12730.6,"high":12730.6,"low":12728.3,"amount":1.266,"vol":1266,"trade_turnover":16115.1306,"count":112},{"id":1603353600,"open":12730.3,"close":12770.1,"high":12921.5,"low":12729.9,"amount":1.35,"vol":1350,"trade_turnover":17233.7326,"count":127},{"id":1603357200,"open":12824.9,"close":12780.4,"high":12872.1,"low":12760.1,"amount":0.98,"vol":980,"trade_turnover":12553.9826,"count":99},{"id":1603360800,"open":12784.9,"close":12934.2,"high":13002.7,"low":12775.6,"amount":0.266,"vol":266,"trade_turnover":3415.023,"count":30},{"id":1603364400,"open":12977.0,"close":13045.0,"high":13057.0,"low":12886.6,"amount":1.004,"vol":1004,"trade_turnover":13020.8576,"count":117},{"id":1603368000,"open":12958.5,"close":12847.9,"high":12973.4,"low":12751.6,"amount":1.134,"vol":1134,"trade_turnover":14594.2752,"count":111},{"id":1603371600,"open":12882.7,"close":12931.0,"high":13000.8,"low":12743.0,"amount":1.152,"vol":1152,"trade_turnover":14877.7314,"count":114},{"id":1603375200,"open":12890.4,"close":12917.8,"high":12995.3,"low":12783.9,"amount":1.182,"vol":1182,"trade_turnover":15224.4716,"count":115},{"id":1603378800,"open":12918.8,"close":12953.0,"high":13031.2,"low":12817.9,"amount":1.176,"vol":1176,"trade_turnover":15197.208,"count":117},{"id":1603382400,"open":12923.1,"close":13055.6,"high":13100.2,"low":12865.6,"amount":1.146,"vol":1146,"trade_turnover":14851.9604,"count":119},{"id":1603386000,"open":12967.6,"close":13082.7,"high":13105.7,"low":12835.5,"amount":1.534,"vol":1534,"trade_turnover":19927.8288,"count":124},{"id":1603389600,"open":13020.4,"close":13016.4,"high":13115.0,"low":12938.7,"amount":1.268,"vol":1268,"trade_turnover":16505.4738,"count":117},{"id":1603393200,"open":13028.3,"close":12970.6,"high":13171.2,"low":12961.8,"amount":1.13,"vol":1130,"trade_turnover":14762.952,"count":112},{"id":1603396800,"open":13016.7,"close":13089.3,"high":13216.1,"low":12998.5,"amount":1.206,"vol":1206,"trade_turnover":15807.1226,"count":117},{"id":1603400400,"open":13136.0,"close":13092.0,"high":13203.7,"low":12932.9,"amount":1.332,"vol":1332,"trade_turnover":17423.4422,"count":114},{"id":1603404000,"open":13119.4,"close":13055.9,"high":13250.5,"low":12984.7,"amount":1.21,"vol":1210,"trade_turnover":15876.0632,"count":114},{"id":1603407600,"open":13059.4,"close":12890.4,"high":13126.5,"low":12857.2,"amount":1.286,"vol":1286,"trade_turnover":16688.422,"count":116},{"id":1603411200,"open":12929.7,"close":12892.2,"high":12994.0,"low":12751.6,"amount":1.502,"vol":1502,"trade_turnover":19331.1596,"count":131},{"id":1603414800,"open":12921.7,"close":12898.3,"high":13003.2,"low":12786.0,"amount":1.386,"vol":1386,"trade_turnover":17904.8902,"count":121},{"id":1603418400,"open":12951.6,"close":12975.1,"high":13054.0,"low":12800.7,"amount":1.416,"vol":1416,"trade_turnover":18306.6204,"count":122},{"id":1603422000,"open":12967.3,"close":12947.0,"high":13030.7,"low":12875.0,"amount":1.19,"vol":1190,"trade_turnover":15409.7984,"count":118},{"id":1603425600,"open":12925.2,"close":12852.0,"high":13047.3,"low":12832.8,"amount":1.022,"vol":1022,"trade_turnover":13214.4388,"count":127},{"id":1603429200,"open":12859.0,"close":12931.1,"high":12991.7,"low":12841.2,"amount":0.478,"vol":478,"trade_turnover":6180.2486,"count":118},{"id":1603432800,"open":12935.9,"close":12939.6,"high":13014.1,"low":12871.9,"amount":0.522,"vol":522,"trade_turnover":6759.0324,"count":132},{"id":1603436400,"open":12923.1,"close":12925.4,"high":12998.9,"low":12917.1,"amount":0.476,"vol":476,"trade_turnover":6163.3118,"count":118},{"id":1603440000,"open":12942.2,"close":12962.6,"high":13014.0,"low":12916.1,"amount":0.508,"vol":508,"trade_turnover":6585.3656,"count":122},{"id":1603443600,"open":12970.5,"close":12926.4,"high":13012.5,"low":12909.9,"amount":0.564,"vol":564,"trade_turnover":7308.8828,"count":124},{"id":1603447200,"open":13001.2,"close":13007.7,"high":13059.5,"low":12925.7,"amount":0.536,"vol":536,"trade_turnover":6957.8796,"count":124},{"id":1603450800,"open":13025.4,"close":12970.6,"high":13078.4,"low":12906.5,"amount":0.486,"vol":486,"trade_turnover":6326.1434,"count":122},{"id":1603454400,"open":12963.9,"close":12935.4,"high":13025.0,"low":12850.8,"amount":0.494,"vol":494,"trade_turnover":6396.0984,"count":117},{"id":1603458000,"open":12913.3,"close":12951.7,"high":13043.3,"low":12911.0,"amount":0.466,"vol":466,"trade_turnover":6049.1412,"count":117},{"id":1603461600,"open":12999.6,"close":12858.8,"high":13006.4,"low":12840.4,"amount":0.46,"vol":460,"trade_turnover":5941.815,"count":116},{"id":1603465200,"open":12885.7,"close":12881.9,"high":12932.9,"low":12826.5,"amount":0.492,"vol":492,"trade_turnover":6340.214,"count":117},{"id":1603468800,"open":12854.4,"close":12784.1,"high":12933.5,"low":12744.4,"amount":0.484,"vol":484,"trade_turnover":6205.4138,"count":123},{"id":1603472400,"open":12832.3,"close":12847.7,"high":12893.1,"low":12730.1,"amount":0.562,"vol":562,"trade_turnover":7218.9184,"count":152},{"id":1603476000,"open":12874.1,"close":12915.7,"high":12939.3,"low":12751.4,"amount":0.53,"vol":530,"trade_turnover":6825.7004,"count":128},{"id":1603479600,"open":12867.9,"close":12972.9,"high":12972.9,"low":12786.6,"amount":0.444,"vol":444,"trade_turnover":5727.7452,"count":117},{"id":1603483200,"open":12956.7,"close":12991.6,"high":13002.2,"low":12842.9,"amount":0.492,"vol":492,"trade_turnover":6375.1566,"count":116},{"id":1603486800,"open":13004.3,"close":12943.5,"high":13004.3,"low":12936.6,"amount":0.5,"vol":500,"trade_turnover":6485.468,"count":125},{"id":1603490400,"open":12923.6,"close":12989.2,"high":13010.3,"low":12884.7,"amount":0.492,"vol":492,"trade_turnover":6376.1492,"count":120},{"id":1603494000,"open":12974.9,"close":12884.6,"high":13024.4,"low":12884.6,"amount":0.51,"vol":510,"trade_turnover":6622.3406,"count":121},{"id":1603497600,"open":12973.7,"close":12953.9,"high":13018.3,"low":12811.1,"amount":0.488,"vol":488,"trade_turnover":6317.7938,"count":120},{"id":1603501200,"open":12927.5,"close":12934.2,"high":13018.1,"low":12872.8,"amount":0.482,"vol":482,"trade_turnover":6242.4178,"count":117},{"id":1603504800,"open":12971.9,"close":12989.1,"high":13003.9,"low":12903.3,"amount":0.484,"vol":484,"trade_turnover":6278.1756,"count":117},{"id":1603508400,"open":13000.1,"close":12975.9,"high":13013.4,"low":12938.3,"amount":0.474,"vol":474,"trade_turnover":6157.7096,"count":122},{"id":1603512000,"open":12989.7,"close":12963.3,"high":13009.4,"low":12905.5,"amount":0.526,"vol":526,"trade_turnover":6831.5658,"count":124},{"id":1603515600,"open":12910.5,"close":12989.7,"high":13041.8,"low":12875.3,"amount":0.522,"vol":522,"trade_turnover":6768.8994,"count":127},{"id":1603519200,"open":12994.7,"close":13003.6,"high":13058.1,"low":12908.8,"amount":0.49,"vol":490,"trade_turnover":6370.5714,"count":120},{"id":1603522800,"open":13011.9,"close":13004.2,"high":13037.8,"low":12981.7,"amount":0.478,"vol":478,"trade_turnover":6218.9722,"count":120},{"id":1603526400,"open":13003.0,"close":12998.2,"high":13030.6,"low":12899.4,"amount":0.52,"vol":520,"trade_turnover":6754.958,"count":124},{"id":1603530000,"open":12998.2,"close":12990.6,"high":13020.3,"low":12893.6,"amount":0.454,"vol":454,"trade_turnover":5891.0574,"count":115},{"id":1603533600,"open":12996.4,"close":13030.1,"high":13059.1,"low":12913.2,"amount":0.502,"vol":502,"trade_turnover":6525.9004,"count":124},{"id":1603537200,"open":12988.4,"close":13033.2,"high":13068.3,"low":12940.2,"amount":0.468,"vol":468,"trade_turnover":6091.0376,"count":119},{"id":1603540800,"open":13035.3,"close":13006.5,"high":13071.8,"low":12978.9,"amount":0.468,"vol":468,"trade_turnover":6102.5902,"count":123},{"id":1603544400,"open":13038.8,"close":12985.9,"high":13066.7,"low":12928.1,"amount":0.534,"vol":534,"trade_turnover":6950.4268,"count":123},{"id":1603548000,"open":12986.3,"close":13042.0,"high":13100.1,"low":12960.5,"amount":0.47,"vol":470,"trade_turnover":6124.2178,"count":100},{"id":1603551600,"open":13038.4,"close":13102.2,"high":13196.5,"low":13038.4,"amount":0.456,"vol":456,"trade_turnover":5989.6362,"count":120},{"id":1603555200,"open":13136.8,"close":13052.7,"high":13176.6,"low":12984.6,"amount":0.458,"vol":458,"trade_turnover":5976.331,"count":121},{"id":1603558800,"open":13006.2,"close":13177.8,"high":13177.8,"low":13003.2,"amount":0.452,"vol":452,"trade_turnover":5911.7058,"count":118},{"id":1603562400,"open":13127.7,"close":13080.8,"high":13170.7,"low":13023.0,"amount":0.468,"vol":468,"trade_turnover":6122.375,"count":119},{"id":1603566000,"open":13040.7,"close":13148.4,"high":13179.3,"low":13014.2,"amount":0.468,"vol":468,"trade_turnover":6126.4278,"count":120},{"id":1603569600,"open":13073.5,"close":13090.1,"high":13179.6,"low":12992.5,"amount":0.47,"vol":470,"trade_turnover":6151.4758,"count":119},{"id":1603573200,"open":13035.4,"close":12993.9,"high":13148.7,"low":12980.7,"amount":0.458,"vol":458,"trade_turnover":5981.071,"count":117},{"id":1603576800,"open":13040.7,"close":13041.1,"high":13112.1,"low":12975.6,"amount":0.478,"vol":478,"trade_turnover":6225.4216,"count":118},{"id":1603580400,"open":13012.6,"close":13184.3,"high":13184.3,"low":13009.3,"amount":0.472,"vol":472,"trade_turnover":6173.4244,"count":118},{"id":1603584000,"open":13080.8,"close":13154.3,"high":13170.4,"low":13007.7,"amount":0.46,"vol":460,"trade_turnover":6024.09,"count":115},{"id":1603587600,"open":13092.0,"close":13196.1,"high":13196.8,"low":13024.0,"amount":0.398,"vol":398,"trade_turnover":5217.5364,"count":102},{"id":1603591200,"open":13124.7,"close":13082.4,"high":13175.1,"low":13035.0,"amount":0.476,"vol":476,"trade_turnover":6228.6596,"count":120},{"id":1603594800,"open":13049.1,"close":13259.0,"high":13383.8,"low":13049.1,"amount":0.578,"vol":578,"trade_turnover":7629.3886,"count":137},{"id":1603598400,"open":13277.0,"close":13243.4,"high":13369.0,"low":13216.0,"amount":0.47,"vol":470,"trade_turnover":6247.955,"count":122},{"id":1603602000,"open":13285.3,"close":13017.3,"high":13353.3,"low":13010.1,"amount":0.61,"vol":610,"trade_turnover":8048.8598,"count":134},{"id":1603605600,"open":13022.5,"close":13060.3,"high":13105.7,"low":13018.2,"amount":0.486,"vol":486,"trade_turnover":6344.1474,"count":118},{"id":1603609200,"open":13048.5,"close":13078.1,"high":13112.1,"low":13022.0,"amount":0.464,"vol":464,"trade_turnover":6061.5416,"count":120},{"id":1603612800,"open":13077.2,"close":13046.0,"high":13091.0,"low":13017.2,"amount":0.464,"vol":464,"trade_turnover":6055.3734,"count":120},{"id":1603616400,"open":13065.1,"close":13040.8,"high":13084.0,"low":13014.2,"amount":0.478,"vol":478,"trade_turnover":6235.7882,"count":117},{"id":1603620000,"open":13047.1,"close":13028.5,"high":13064.2,"low":13010.2,"amount":0.478,"vol":478,"trade_turnover":6232.2428,"count":125},{"id":1603623600,"open":13061.5,"close":12897.6,"high":13061.5,"low":12852.9,"amount":0.534,"vol":534,"trade_turnover":6918.1226,"count":123},{"id":1603627200,"open":12908.3,"close":12964.3,"high":13069.7,"low":12893.2,"amount":0.444,"vol":444,"trade_turnover":5755.8712,"count":117},{"id":1603630800,"open":13001.3,"close":12949.3,"high":13071.9,"low":12891.8,"amount":0.498,"vol":498,"trade_turnover":6465.078,"count":119},{"id":1603634400,"open":12975.8,"close":12946.8,"high":13077.7,"low":12900.0,"amount":0.468,"vol":468,"trade_turnover":6075.4554,"count":116},{"id":1603638000,"open":12975.2,"close":12883.3,"high":13069.1,"low":12883.3,"amount":0.47,"vol":470,"trade_turnover":6097.1072,"count":119},{"id":1603641600,"open":12916.2,"close":12978.7,"high":13067.9,"low":12877.5,"amount":0.482,"vol":482,"trade_turnover":6256.4472,"count":118},{"id":1603645200,"open":13008.0,"close":13004.4,"high":13087.5,"low":12922.7,"amount":0.47,"vol":470,"trade_turnover":6108.3892,"count":117},{"id":1603648800,"open":12972.8,"close":12957.2,"high":13067.6,"low":12893.6,"amount":0.468,"vol":468,"trade_turnover":6079.1484,"count":118},{"id":1603652400,"open":12996.5,"close":13021.8,"high":13066.9,"low":12916.6,"amount":0.442,"vol":442,"trade_turnover":5746.5548,"count":118},{"id":1603656000,"open":12992.9,"close":12985.4,"high":13081.5,"low":12944.9,"amount":0.508,"vol":508,"trade_turnover":6616.9872,"count":120},{"id":1603659600,"open":12999.9,"close":13011.2,"high":13068.6,"low":12921.4,"amount":0.508,"vol":508,"trade_turnover":6614.816,"count":122},{"id":1603663200,"open":12979.6,"close":12959.4,"high":13073.8,"low":12911.9,"amount":0.486,"vol":486,"trade_turnover":6320.907,"count":121},{"id":1603666800,"open":12963.4,"close":13032.1,"high":13085.2,"low":12927.8,"amount":0.452,"vol":452,"trade_turnover":5878.6442,"count":113},{"id":1603670400,"open":12964.2,"close":13001.0,"high":13076.7,"low":12918.3,"amount":0.482,"vol":482,"trade_turnover":6263.698,"count":121},{"id":1603674000,"open":13040.0,"close":13053.7,"high":13096.4,"low":12991.2,"amount":0.478,"vol":478,"trade_turnover":6232.2328,"count":124},{"id":1603677600,"open":13060.6,"close":13064.4,"high":13185.7,"low":12985.1,"amount":0.488,"vol":488,"trade_turnover":6387.534,"count":121},{"id":1603681200,"open":13032.3,"close":13092.8,"high":13187.2,"low":12984.1,"amount":0.486,"vol":486,"trade_turnover":6369.0272,"count":135},{"id":1603684800,"open":13092.0,"close":13132.6,"high":13181.6,"low":12962.3,"amount":0.51,"vol":510,"trade_turnover":6679.829,"count":131},{"id":1603688400,"open":13129.2,"close":13092.1,"high":13205.3,"low":13025.3,"amount":0.506,"vol":506,"trade_turnover":6641.2128,"count":126},{"id":1603692000,"open":13121.8,"close":13071.4,"high":13188.1,"low":12989.8,"amount":1.616,"vol":1616,"trade_turnover":21170.8224,"count":141},{"id":1603695600,"open":13061.0,"close":13038.7,"high":13100.0,"low":12965.2,"amount":3.746,"vol":3746,"trade_turnover":48924.8902,"count":110},{"id":1603699200,"open":13030.9,"close":13039.3,"high":13102.0,"low":12852.8,"amount":8.966,"vol":8966,"trade_turnover":116525.5534,"count":173},{"id":1603702800,"open":13047.1,"close":13075.9,"high":13088.4,"low":13039.8,"amount":4.48,"vol":4480,"trade_turnover":58521.1714,"count":124},{"id":1603706400,"open":13072.1,"close":13100.0,"high":13100.0,"low":13060.2,"amount":4.272,"vol":4272,"trade_turnover":55895.9778,"count":130},{"id":1603710000,"open":13100.0,"close":13138.4,"high":13159.0,"low":13100.0,"amount":29.798,"vol":29798,"trade_turnover":391138.024,"count":230},{"id":1603713600,"open":13138.8,"close":13149.8,"high":13200.0,"low":13100.0,"amount":5.154,"vol":5154,"trade_turnover":67694.652,"count":188},{"id":1603717200,"open":13150.0,"close":13205.8,"high":13351.5,"low":13133.1,"amount":35.608,"vol":35608,"trade_turnover":472780.3394,"count":328},{"id":1603720800,"open":13203.0,"close":13166.1,"high":13280.0,"low":13144.1,"amount":31.748,"vol":31748,"trade_turnover":418744.5588,"count":235},{"id":1603724400,"open":13159.0,"close":12978.0,"high":13165.2,"low":12903.8,"amount":36.53,"vol":36530,"trade_turnover":476940.3296,"count":384},{"id":1603728000,"open":12965.0,"close":12869.6,"high":13069.8,"low":12850.5,"amount":35.018,"vol":35018,"trade_turnover":453288.918,"count":323},{"id":1603731600,"open":12879.2,"close":12873.8,"high":12941.5,"low":12583.9,"amount":92.628,"vol":92628,"trade_turnover":1185973.467,"count":560},{"id":1603735200,"open":12856.2,"close":12946.8,"high":12954.5,"low":12820.4,"amount":4.302,"vol":4302,"trade_turnover":55481.0054,"count":128},{"id":1603738800,"open":12945.6,"close":12953.4,"high":12953.5,"low":12914.1,"amount":13.83,"vol":13830,"trade_turnover":179112.1598,"count":118},{"id":1603742400,"open":12953.5,"close":12983.4,"high":13007.5,"low":12953.5,"amount":17.172,"vol":17172,"trade_turnover":223230.2122,"count":132},{"id":1603746000,"open":12983.1,"close":12993.8,"high":13007.5,"low":12982.7,"amount":3.212,"vol":3212,"trade_turnover":41767.8906,"count":59},{"id":1603749600,"open":13002.1,"close":13007.5,"high":13007.5,"low":12974.0,"amount":1.504,"vol":1504,"trade_turnover":19543.3568,"count":74},{"id":1603753200,"open":13007.5,"close":13033.7,"high":13061.2,"low":13007.5,"amount":3.454,"vol":3454,"trade_turnover":45001.601,"count":101},{"id":1603756800,"open":13029.2,"close":13067.1,"high":13105.0,"low":13028.3,"amount":8.784,"vol":8784,"trade_turnover":114871.8246,"count":98},{"id":1603760400,"open":13074.3,"close":13061.7,"high":13074.4,"low":13051.5,"amount":11.592,"vol":11592,"trade_turnover":151386.9038,"count":66},{"id":1603764000,"open":13061.7,"close":13049.7,"high":13097.6,"low":13040.1,"amount":19.298,"vol":19298,"trade_turnover":252061.019,"count":109},{"id":1603767600,"open":13057.6,"close":13070.4,"high":13080.0,"low":13057.1,"amount":22.992,"vol":22992,"trade_turnover":300453.9788,"count":69},{"id":1603771200,"open":13080.0,"close":13103.3,"high":13175.0,"low":13079.6,"amount":14.396,"vol":14396,"trade_turnover":188461.9156,"count":59},{"id":1603774800,"open":13121.3,"close":13073.6,"high":13121.3,"low":13069.7,"amount":5.058,"vol":5058,"trade_turnover":66201.3552,"count":44},{"id":1603778400,"open":13074.9,"close":13103.4,"high":13149.0,"low":13069.6,"amount":9.106,"vol":9106,"trade_turnover":119104.8906,"count":107},{"id":1603782000,"open":13103.3,"close":13130.0,"high":13169.8,"low":12992.4,"amount":73.95,"vol":73950,"trade_turnover":968195.155,"count":305},{"id":1603785600,"open":13135.1,"close":13123.8,"high":13148.4,"low":13044.0,"amount":18.732,"vol":18732,"trade_turnover":245533.5448,"count":135},{"id":1603789200,"open":13115.5,"close":13131.7,"high":13131.8,"low":13075.7,"amount":13.756,"vol":13756,"trade_turnover":180253.7708,"count":102},{"id":1603792800,"open":13134.8,"close":13216.9,"high":13252.0,"low":13063.4,"amount":154.108,"vol":154108,"trade_turnover":2029983.656,"count":525},{"id":1603796400,"open":13218.8,"close":13395.8,"high":13590.1,"low":13213.5,"amount":170.09,"vol":170090,"trade_turnover":2276279.742,"count":591},{"id":1603800000,"open":13395.9,"close":13376.9,"high":13414.0,"low":13331.7,"amount":48.928,"vol":48928,"trade_turnover":654585.9108,"count":216},{"id":1603803600,"open":13376.5,"close":13384.3,"high":13490.9,"low":13329.8,"amount":63.294,"vol":63294,"trade_turnover":848130.9212,"count":316},{"id":1603807200,"open":13392.6,"close":13398.2,"high":13415.8,"low":13344.8,"amount":12.892,"vol":12892,"trade_turnover":172618.6864,"count":124},{"id":1603810800,"open":13398.2,"close":13598.5,"high":13626.7,"low":13398.2,"amount":93.22,"vol":93220,"trade_turnover":1262695.5466,"count":476},{"id":1603814400,"open":13595.8,"close":13639.9,"high":13639.9,"low":13520.2,"amount":85.45,"vol":85450,"trade_turnover":1161481.4136,"count":435},{"id":1603818000,"open":13640.0,"close":13688.1,"high":13826.7,"low":13589.0,"amount":191.812,"vol":191812,"trade_turnover":2628428.3788,"count":711},{"id":1603821600,"open":13685.0,"close":13630.1,"high":13745.0,"low":13528.2,"amount":65.434,"vol":65434,"trade_turnover":891541.8394,"count":410},{"id":1603825200,"open":13629.4,"close":13637.1,"high":13659.8,"low":13595.4,"amount":5.788,"vol":5788,"trade_turnover":78836.2578,"count":65},{"id":1603828800,"open":13644.4,"close":13616.6,"high":13805.1,"low":13582.6,"amount":163.104,"vol":163104,"trade_turnover":2234040.3544,"count":537},{"id":1603832400,"open":13609.8,"close":13705.5,"high":13753.5,"low":13609.8,"amount":9.884,"vol":9884,"trade_turnover":135406.4752,"count":101},{"id":1603836000,"open":13705.4,"close":13739.9,"high":13739.9,"low":13658.2,"amount":7.436,"vol":7436,"trade_turnover":101840.3508,"count":100},{"id":1603839600,"open":13739.9,"close":13649.6,"high":13794.6,"low":13582.6,"amount":17.086,"vol":17086,"trade_turnover":233971.8448,"count":234},{"id":1603843200,"open":13645.9,"close":13701.7,"high":13745.2,"low":13618.8,"amount":24.108,"vol":24108,"trade_turnover":330206.5694,"count":177},{"id":1603846800,"open":13702.1,"close":13702.6,"high":13725.6,"low":13647.9,"amount":15.892,"vol":15892,"trade_turnover":217816.7008,"count":151},{"id":1603850400,"open":13701.7,"close":13811.6,"high":13832.2,"low":13680.2,"amount":46.548,"vol":46548,"trade_turnover":640636.0352,"count":274},{"id":1603854000,"open":13818.5,"close":13777.0,"high":13820.3,"low":13717.5,"amount":67.896,"vol":67896,"trade_turnover":935838.2238,"count":320},{"id":1603857600,"open":13767.3,"close":13735.7,"high":13807.2,"low":13710.0,"amount":33.156,"vol":33156,"trade_turnover":455941.234,"count":210},{"id":1603861200,"open":13735.5,"close":13715.8,"high":13753.9,"low":13671.3,"amount":32.076,"vol":32076,"trade_turnover":439612.64,"count":198},{"id":1603864800,"open":13715.9,"close":13701.3,"high":13757.0,"low":13694.9,"amount":14.756,"vol":14756,"trade_turnover":202602.5164,"count":122},{"id":1603868400,"open":13701.2,"close":13674.2,"high":13708.7,"low":13550.0,"amount":155.534,"vol":155534,"trade_turnover":2117935.0928,"count":635},{"id":1603872000,"open":13673.0,"close":13691.7,"high":13691.7,"low":13584.0,"amount":29.846,"vol":29846,"trade_turnover":407073.1398,"count":240},{"id":1603875600,"open":13689.3,"close":13587.1,"high":13707.5,"low":13573.5,"amount":104.542,"vol":104542,"trade_turnover":1425079.9344,"count":377},{"id":1603879200,"open":13584.6,"close":13552.7,"high":13618.0,"low":13504.7,"amount":73.818,"vol":73818,"trade_turnover":1001666.0908,"count":358},{"id":1603882800,"open":13552.6,"close":13336.4,"high":13565.4,"low":13330.0,"amount":176.544,"vol":176544,"trade_turnover":2369166.1492,"count":1004},{"id":1603886400,"open":13331.5,"close":13300.3,"high":13385.0,"low":13173.9,"amount":289.73,"vol":289730,"trade_turnover":3846751.7166,"count":968},{"id":1603890000,"open":13300.2,"close":13129.9,"high":13340.0,"low":13122.9,"amount":139.822,"vol":139822,"trade_turnover":1848876.932,"count":612},{"id":1603893600,"open":13123.4,"close":13082.2,"high":13168.2,"low":12915.9,"amount":367.876,"vol":367876,"trade_turnover":4802516.9818,"count":1168},{"id":1603897200,"open":13077.1,"close":13221.2,"high":13235.2,"low":13052.3,"amount":84.044,"vol":84044,"trade_turnover":1106883.1282,"count":375},{"id":1603900800,"open":13218.7,"close":13145.1,"high":13218.7,"low":13050.0,"amount":29.566,"vol":29566,"trade_turnover":388697.4104,"count":244},{"id":1603904400,"open":13145.1,"close":13176.7,"high":13204.9,"low":13006.6,"amount":53.336,"vol":53336,"trade_turnover":700385.2784,"count":299},{"id":1603908000,"open":13171.0,"close":13196.5,"high":13219.6,"low":13131.0,"amount":34.164,"vol":34164,"trade_turnover":450210.5778,"count":218},{"id":1603911600,"open":13200.0,"close":13154.9,"high":13237.4,"low":13145.0,"amount":22.158,"vol":22158,"trade_turnover":292020.0438,"count":185},{"id":1603915200,"open":13154.5,"close":13198.1,"high":13211.8,"low":13147.4,"amount":4.548,"vol":4548,"trade_turnover":59991.1118,"count":75},{"id":1603918800,"open":13193.5,"close":13190.1,"high":13196.5,"low":13100.2,"amount":3.52,"vol":3520,"trade_turnover":46175.428,"count":68},{"id":1603922400,"open":13185.4,"close":13252.0,"high":13267.5,"low":13185.4,"amount":3.122,"vol":3122,"trade_turnover":41304.2018,"count":72},{"id":1603926000,"open":13242.1,"close":13265.9,"high":13282.3,"low":13235.9,"amount":14.768,"vol":14768,"trade_turnover":195689.0764,"count":86},{"id":1603929600,"open":13253.9,"close":13245.1,"high":13294.7,"low":13237.4,"amount":19.968,"vol":19968,"trade_turnover":264834.1944,"count":98},{"id":1603933200,"open":13244.6,"close":13274.2,"high":13285.3,"low":13166.3,"amount":35.282,"vol":35282,"trade_turnover":465789.6302,"count":192},{"id":1603936800,"open":13275.9,"close":13241.1,"high":13277.7,"low":13212.2,"amount":9.748,"vol":9748,"trade_turnover":129016.0684,"count":119},{"id":1603940400,"open":13237.1,"close":13262.5,"high":13262.5,"low":13174.6,"amount":27.3,"vol":27300,"trade_turnover":360589.8982,"count":199},{"id":1603944000,"open":13269.1,"close":13229.5,"high":13277.7,"low":13229.5,"amount":18.904,"vol":18904,"trade_turnover":250713.2812,"count":109},{"id":1603947600,"open":13228.5,"close":13274.8,"high":13274.8,"low":13228.5,"amount":15.822,"vol":15822,"trade_turnover":209781.909,"count":134},{"id":1603951200,"open":13274.8,"close":13255.0,"high":13323.0,"low":13242.3,"amount":91.246,"vol":91246,"trade_turnover":1211271.2788,"count":294},{"id":1603954800,"open":13255.0,"close":13142.4,"high":13269.3,"low":13123.1,"amount":187.622,"vol":187622,"trade_turnover":2478299.7074,"count":506},{"id":1603958400,"open":13145.9,"close":13124.8,"high":13182.4,"low":13094.1,"amount":69.532,"vol":69532,"trade_turnover":914157.2418,"count":226},{"id":1603962000,"open":13129.5,"close":13183.7,"high":13197.1,"low":13129.5,"amount":23.184,"vol":23184,"trade_turnover":305485.9524,"count":141},{"id":1603965600,"open":13184.8,"close":13105.2,"high":13187.5,"low":13053.1,"amount":121.146,"vol":121146,"trade_turnover":1590026.4416,"count":442},{"id":1603969200,"open":13105.1,"close":13060.1,"high":13171.4,"low":13060.1,"amount":47.498,"vol":47498,"trade_turnover":623578.149,"count":262},{"id":1603972800,"open":13056.9,"close":13131.8,"high":13145.8,"low":12977.9,"amount":126.552,"vol":126552,"trade_turnover":1652549.311,"count":481},{"id":1603976400,"open":13131.7,"close":13230.0,"high":13237.2,"low":13102.0,"amount":100.482,"vol":100482,"trade_turnover":1326403.7206,"count":325},{"id":1603980000,"open":13231.0,"close":13420.8,"high":13476.1,"low":13231.0,"amount":253.258,"vol":253258,"trade_turnover":3384941.438,"count":752},{"id":1603983600,"open":13416.0,"close":13420.6,"high":13458.7,"low":13358.7,"amount":64.71,"vol":64710,"trade_turnover":869052.3804,"count":269},{"id":1603987200,"open":13421.9,"close":13535.9,"high":13594.5,"low":13391.8,"amount":120.24,"vol":120240,"trade_turnover":1626567.8278,"count":570}]} +2024-01-18 11:12:51.756 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:41] - 请求 KLine 数据解析之后的数据为:{"wsid":19750305,"data":[{"amount":0.276,"high":12300.0,"vol":276,"low":11715.8,"count":39,"id":1603270800,"close":12196.7,"tradeTurnover":3315.9104,"open":12198.0},{"amount":0.198,"high":12289.9,"vol":198,"low":12111.0,"count":21,"id":1603274400,"close":12277.9,"tradeTurnover":2420.7728,"open":12196.7},{"amount":0.012,"high":12277.9,"vol":12,"low":12000.0,"count":5,"id":1603278000,"close":12000.0,"tradeTurnover":145.2238,"open":12111.0},{"amount":0.084,"high":12498.0,"vol":84,"low":12078.0,"count":12,"id":1603281600,"close":12497.4,"tradeTurnover":1040.0504,"open":12078.0},{"amount":1.122,"high":12495.6,"vol":1122,"low":12282.9,"count":112,"id":1603285200,"close":12373.5,"tradeTurnover":13905.3124,"open":12495.6},{"amount":5.29,"high":12807.6,"vol":5290,"low":12358.1,"count":155,"id":1603288800,"close":12689.9,"tradeTurnover":66852.128,"open":12412.9},{"amount":1.174,"high":12778.7,"vol":1174,"low":12573.2,"count":113,"id":1603292400,"close":12701.9,"tradeTurnover":14907.367,"open":12692.8},{"amount":1.156,"high":12920.9,"vol":1156,"low":12624.8,"count":115,"id":1603296000,"close":12835.9,"tradeTurnover":14802.449,"open":12679.7},{"amount":1.12,"high":12908.3,"vol":1120,"low":12687.5,"count":115,"id":1603299600,"close":12754.2,"tradeTurnover":14345.7324,"open":12848.3},{"amount":1.106,"high":12849.0,"vol":1106,"low":12668.3,"count":114,"id":1603303200,"close":12740.2,"tradeTurnover":14105.3504,"open":12743.7},{"amount":1.032,"high":12843.1,"vol":1032,"low":12597.2,"count":112,"id":1603306800,"close":12650.3,"tradeTurnover":13125.4568,"open":12729.5},{"amount":1.154,"high":12848.4,"vol":1154,"low":12610.2,"count":116,"id":1603310400,"close":12807.0,"tradeTurnover":14680.638,"open":12666.8},{"amount":1.164,"high":13005.1,"vol":1164,"low":12748.2,"count":114,"id":1603314000,"close":12938.9,"tradeTurnover":14976.9366,"open":12866.0},{"amount":1.174,"high":13211.2,"vol":1174,"low":12865.7,"count":114,"id":1603317600,"close":13122.0,"tradeTurnover":15285.2446,"open":12921.0},{"amount":1.172,"high":13173.2,"vol":1172,"low":12688.6,"count":117,"id":1603321200,"close":12829.8,"tradeTurnover":15060.9938,"open":13153.2},{"amount":1.17,"high":12988.1,"vol":1170,"low":12764.4,"count":117,"id":1603324800,"close":12885.9,"tradeTurnover":15046.2046,"open":12793.1},{"amount":1.158,"high":12972.6,"vol":1158,"low":12757.5,"count":118,"id":1603328400,"close":12757.5,"tradeTurnover":14882.4656,"open":12860.4},{"amount":1.124,"high":12848.0,"vol":1124,"low":12729.0,"count":115,"id":1603332000,"close":12788.8,"tradeTurnover":14368.7948,"open":12824.1},{"amount":1.194,"high":12834.4,"vol":1194,"low":12729.0,"count":111,"id":1603335600,"close":12767.2,"tradeTurnover":15268.9298,"open":12791.7},{"amount":1.152,"high":12778.3,"vol":1152,"low":12729.0,"count":115,"id":1603339200,"close":12762.2,"tradeTurnover":14695.4876,"open":12729.0},{"amount":1.21,"high":12842.0,"vol":1210,"low":12730.6,"count":119,"id":1603342800,"close":12813.8,"tradeTurnover":15440.8162,"open":12763.1},{"amount":1.188,"high":12795.0,"vol":1188,"low":12728.0,"count":123,"id":1603346400,"close":12729.1,"tradeTurnover":15128.0098,"open":12795.0},{"amount":1.266,"high":12730.6,"vol":1266,"low":12728.3,"count":112,"id":1603350000,"close":12730.6,"tradeTurnover":16115.1306,"open":12728.6},{"amount":1.35,"high":12921.5,"vol":1350,"low":12729.9,"count":127,"id":1603353600,"close":12770.1,"tradeTurnover":17233.7326,"open":12730.3},{"amount":0.98,"high":12872.1,"vol":980,"low":12760.1,"count":99,"id":1603357200,"close":12780.4,"tradeTurnover":12553.9826,"open":12824.9},{"amount":0.266,"high":13002.7,"vol":266,"low":12775.6,"count":30,"id":1603360800,"close":12934.2,"tradeTurnover":3415.023,"open":12784.9},{"amount":1.004,"high":13057.0,"vol":1004,"low":12886.6,"count":117,"id":1603364400,"close":13045.0,"tradeTurnover":13020.8576,"open":12977.0},{"amount":1.134,"high":12973.4,"vol":1134,"low":12751.6,"count":111,"id":1603368000,"close":12847.9,"tradeTurnover":14594.2752,"open":12958.5},{"amount":1.152,"high":13000.8,"vol":1152,"low":12743.0,"count":114,"id":1603371600,"close":12931.0,"tradeTurnover":14877.7314,"open":12882.7},{"amount":1.182,"high":12995.3,"vol":1182,"low":12783.9,"count":115,"id":1603375200,"close":12917.8,"tradeTurnover":15224.4716,"open":12890.4},{"amount":1.176,"high":13031.2,"vol":1176,"low":12817.9,"count":117,"id":1603378800,"close":12953.0,"tradeTurnover":15197.208,"open":12918.8},{"amount":1.146,"high":13100.2,"vol":1146,"low":12865.6,"count":119,"id":1603382400,"close":13055.6,"tradeTurnover":14851.9604,"open":12923.1},{"amount":1.534,"high":13105.7,"vol":1534,"low":12835.5,"count":124,"id":1603386000,"close":13082.7,"tradeTurnover":19927.8288,"open":12967.6},{"amount":1.268,"high":13115.0,"vol":1268,"low":12938.7,"count":117,"id":1603389600,"close":13016.4,"tradeTurnover":16505.4738,"open":13020.4},{"amount":1.13,"high":13171.2,"vol":1130,"low":12961.8,"count":112,"id":1603393200,"close":12970.6,"tradeTurnover":14762.952,"open":13028.3},{"amount":1.206,"high":13216.1,"vol":1206,"low":12998.5,"count":117,"id":1603396800,"close":13089.3,"tradeTurnover":15807.1226,"open":13016.7},{"amount":1.332,"high":13203.7,"vol":1332,"low":12932.9,"count":114,"id":1603400400,"close":13092.0,"tradeTurnover":17423.4422,"open":13136.0},{"amount":1.21,"high":13250.5,"vol":1210,"low":12984.7,"count":114,"id":1603404000,"close":13055.9,"tradeTurnover":15876.0632,"open":13119.4},{"amount":1.286,"high":13126.5,"vol":1286,"low":12857.2,"count":116,"id":1603407600,"close":12890.4,"tradeTurnover":16688.422,"open":13059.4},{"amount":1.502,"high":12994.0,"vol":1502,"low":12751.6,"count":131,"id":1603411200,"close":12892.2,"tradeTurnover":19331.1596,"open":12929.7},{"amount":1.386,"high":13003.2,"vol":1386,"low":12786.0,"count":121,"id":1603414800,"close":12898.3,"tradeTurnover":17904.8902,"open":12921.7},{"amount":1.416,"high":13054.0,"vol":1416,"low":12800.7,"count":122,"id":1603418400,"close":12975.1,"tradeTurnover":18306.6204,"open":12951.6},{"amount":1.19,"high":13030.7,"vol":1190,"low":12875.0,"count":118,"id":1603422000,"close":12947.0,"tradeTurnover":15409.7984,"open":12967.3},{"amount":1.022,"high":13047.3,"vol":1022,"low":12832.8,"count":127,"id":1603425600,"close":12852.0,"tradeTurnover":13214.4388,"open":12925.2},{"amount":0.478,"high":12991.7,"vol":478,"low":12841.2,"count":118,"id":1603429200,"close":12931.1,"tradeTurnover":6180.2486,"open":12859.0},{"amount":0.522,"high":13014.1,"vol":522,"low":12871.9,"count":132,"id":1603432800,"close":12939.6,"tradeTurnover":6759.0324,"open":12935.9},{"amount":0.476,"high":12998.9,"vol":476,"low":12917.1,"count":118,"id":1603436400,"close":12925.4,"tradeTurnover":6163.3118,"open":12923.1},{"amount":0.508,"high":13014.0,"vol":508,"low":12916.1,"count":122,"id":1603440000,"close":12962.6,"tradeTurnover":6585.3656,"open":12942.2},{"amount":0.564,"high":13012.5,"vol":564,"low":12909.9,"count":124,"id":1603443600,"close":12926.4,"tradeTurnover":7308.8828,"open":12970.5},{"amount":0.536,"high":13059.5,"vol":536,"low":12925.7,"count":124,"id":1603447200,"close":13007.7,"tradeTurnover":6957.8796,"open":13001.2},{"amount":0.486,"high":13078.4,"vol":486,"low":12906.5,"count":122,"id":1603450800,"close":12970.6,"tradeTurnover":6326.1434,"open":13025.4},{"amount":0.494,"high":13025.0,"vol":494,"low":12850.8,"count":117,"id":1603454400,"close":12935.4,"tradeTurnover":6396.0984,"open":12963.9},{"amount":0.466,"high":13043.3,"vol":466,"low":12911.0,"count":117,"id":1603458000,"close":12951.7,"tradeTurnover":6049.1412,"open":12913.3},{"amount":0.46,"high":13006.4,"vol":460,"low":12840.4,"count":116,"id":1603461600,"close":12858.8,"tradeTurnover":5941.815,"open":12999.6},{"amount":0.492,"high":12932.9,"vol":492,"low":12826.5,"count":117,"id":1603465200,"close":12881.9,"tradeTurnover":6340.214,"open":12885.7},{"amount":0.484,"high":12933.5,"vol":484,"low":12744.4,"count":123,"id":1603468800,"close":12784.1,"tradeTurnover":6205.4138,"open":12854.4},{"amount":0.562,"high":12893.1,"vol":562,"low":12730.1,"count":152,"id":1603472400,"close":12847.7,"tradeTurnover":7218.9184,"open":12832.3},{"amount":0.53,"high":12939.3,"vol":530,"low":12751.4,"count":128,"id":1603476000,"close":12915.7,"tradeTurnover":6825.7004,"open":12874.1},{"amount":0.444,"high":12972.9,"vol":444,"low":12786.6,"count":117,"id":1603479600,"close":12972.9,"tradeTurnover":5727.7452,"open":12867.9},{"amount":0.492,"high":13002.2,"vol":492,"low":12842.9,"count":116,"id":1603483200,"close":12991.6,"tradeTurnover":6375.1566,"open":12956.7},{"amount":0.5,"high":13004.3,"vol":500,"low":12936.6,"count":125,"id":1603486800,"close":12943.5,"tradeTurnover":6485.468,"open":13004.3},{"amount":0.492,"high":13010.3,"vol":492,"low":12884.7,"count":120,"id":1603490400,"close":12989.2,"tradeTurnover":6376.1492,"open":12923.6},{"amount":0.51,"high":13024.4,"vol":510,"low":12884.6,"count":121,"id":1603494000,"close":12884.6,"tradeTurnover":6622.3406,"open":12974.9},{"amount":0.488,"high":13018.3,"vol":488,"low":12811.1,"count":120,"id":1603497600,"close":12953.9,"tradeTurnover":6317.7938,"open":12973.7},{"amount":0.482,"high":13018.1,"vol":482,"low":12872.8,"count":117,"id":1603501200,"close":12934.2,"tradeTurnover":6242.4178,"open":12927.5},{"amount":0.484,"high":13003.9,"vol":484,"low":12903.3,"count":117,"id":1603504800,"close":12989.1,"tradeTurnover":6278.1756,"open":12971.9},{"amount":0.474,"high":13013.4,"vol":474,"low":12938.3,"count":122,"id":1603508400,"close":12975.9,"tradeTurnover":6157.7096,"open":13000.1},{"amount":0.526,"high":13009.4,"vol":526,"low":12905.5,"count":124,"id":1603512000,"close":12963.3,"tradeTurnover":6831.5658,"open":12989.7},{"amount":0.522,"high":13041.8,"vol":522,"low":12875.3,"count":127,"id":1603515600,"close":12989.7,"tradeTurnover":6768.8994,"open":12910.5},{"amount":0.49,"high":13058.1,"vol":490,"low":12908.8,"count":120,"id":1603519200,"close":13003.6,"tradeTurnover":6370.5714,"open":12994.7},{"amount":0.478,"high":13037.8,"vol":478,"low":12981.7,"count":120,"id":1603522800,"close":13004.2,"tradeTurnover":6218.9722,"open":13011.9},{"amount":0.52,"high":13030.6,"vol":520,"low":12899.4,"count":124,"id":1603526400,"close":12998.2,"tradeTurnover":6754.958,"open":13003.0},{"amount":0.454,"high":13020.3,"vol":454,"low":12893.6,"count":115,"id":1603530000,"close":12990.6,"tradeTurnover":5891.0574,"open":12998.2},{"amount":0.502,"high":13059.1,"vol":502,"low":12913.2,"count":124,"id":1603533600,"close":13030.1,"tradeTurnover":6525.9004,"open":12996.4},{"amount":0.468,"high":13068.3,"vol":468,"low":12940.2,"count":119,"id":1603537200,"close":13033.2,"tradeTurnover":6091.0376,"open":12988.4},{"amount":0.468,"high":13071.8,"vol":468,"low":12978.9,"count":123,"id":1603540800,"close":13006.5,"tradeTurnover":6102.5902,"open":13035.3},{"amount":0.534,"high":13066.7,"vol":534,"low":12928.1,"count":123,"id":1603544400,"close":12985.9,"tradeTurnover":6950.4268,"open":13038.8},{"amount":0.47,"high":13100.1,"vol":470,"low":12960.5,"count":100,"id":1603548000,"close":13042.0,"tradeTurnover":6124.2178,"open":12986.3},{"amount":0.456,"high":13196.5,"vol":456,"low":13038.4,"count":120,"id":1603551600,"close":13102.2,"tradeTurnover":5989.6362,"open":13038.4},{"amount":0.458,"high":13176.6,"vol":458,"low":12984.6,"count":121,"id":1603555200,"close":13052.7,"tradeTurnover":5976.331,"open":13136.8},{"amount":0.452,"high":13177.8,"vol":452,"low":13003.2,"count":118,"id":1603558800,"close":13177.8,"tradeTurnover":5911.7058,"open":13006.2},{"amount":0.468,"high":13170.7,"vol":468,"low":13023.0,"count":119,"id":1603562400,"close":13080.8,"tradeTurnover":6122.375,"open":13127.7},{"amount":0.468,"high":13179.3,"vol":468,"low":13014.2,"count":120,"id":1603566000,"close":13148.4,"tradeTurnover":6126.4278,"open":13040.7},{"amount":0.47,"high":13179.6,"vol":470,"low":12992.5,"count":119,"id":1603569600,"close":13090.1,"tradeTurnover":6151.4758,"open":13073.5},{"amount":0.458,"high":13148.7,"vol":458,"low":12980.7,"count":117,"id":1603573200,"close":12993.9,"tradeTurnover":5981.071,"open":13035.4},{"amount":0.478,"high":13112.1,"vol":478,"low":12975.6,"count":118,"id":1603576800,"close":13041.1,"tradeTurnover":6225.4216,"open":13040.7},{"amount":0.472,"high":13184.3,"vol":472,"low":13009.3,"count":118,"id":1603580400,"close":13184.3,"tradeTurnover":6173.4244,"open":13012.6},{"amount":0.46,"high":13170.4,"vol":460,"low":13007.7,"count":115,"id":1603584000,"close":13154.3,"tradeTurnover":6024.09,"open":13080.8},{"amount":0.398,"high":13196.8,"vol":398,"low":13024.0,"count":102,"id":1603587600,"close":13196.1,"tradeTurnover":5217.5364,"open":13092.0},{"amount":0.476,"high":13175.1,"vol":476,"low":13035.0,"count":120,"id":1603591200,"close":13082.4,"tradeTurnover":6228.6596,"open":13124.7},{"amount":0.578,"high":13383.8,"vol":578,"low":13049.1,"count":137,"id":1603594800,"close":13259.0,"tradeTurnover":7629.3886,"open":13049.1},{"amount":0.47,"high":13369.0,"vol":470,"low":13216.0,"count":122,"id":1603598400,"close":13243.4,"tradeTurnover":6247.955,"open":13277.0},{"amount":0.61,"high":13353.3,"vol":610,"low":13010.1,"count":134,"id":1603602000,"close":13017.3,"tradeTurnover":8048.8598,"open":13285.3},{"amount":0.486,"high":13105.7,"vol":486,"low":13018.2,"count":118,"id":1603605600,"close":13060.3,"tradeTurnover":6344.1474,"open":13022.5},{"amount":0.464,"high":13112.1,"vol":464,"low":13022.0,"count":120,"id":1603609200,"close":13078.1,"tradeTurnover":6061.5416,"open":13048.5},{"amount":0.464,"high":13091.0,"vol":464,"low":13017.2,"count":120,"id":1603612800,"close":13046.0,"tradeTurnover":6055.3734,"open":13077.2},{"amount":0.478,"high":13084.0,"vol":478,"low":13014.2,"count":117,"id":1603616400,"close":13040.8,"tradeTurnover":6235.7882,"open":13065.1},{"amount":0.478,"high":13064.2,"vol":478,"low":13010.2,"count":125,"id":1603620000,"close":13028.5,"tradeTurnover":6232.2428,"open":13047.1},{"amount":0.534,"high":13061.5,"vol":534,"low":12852.9,"count":123,"id":1603623600,"close":12897.6,"tradeTurnover":6918.1226,"open":13061.5},{"amount":0.444,"high":13069.7,"vol":444,"low":12893.2,"count":117,"id":1603627200,"close":12964.3,"tradeTurnover":5755.8712,"open":12908.3},{"amount":0.498,"high":13071.9,"vol":498,"low":12891.8,"count":119,"id":1603630800,"close":12949.3,"tradeTurnover":6465.078,"open":13001.3},{"amount":0.468,"high":13077.7,"vol":468,"low":12900.0,"count":116,"id":1603634400,"close":12946.8,"tradeTurnover":6075.4554,"open":12975.8},{"amount":0.47,"high":13069.1,"vol":470,"low":12883.3,"count":119,"id":1603638000,"close":12883.3,"tradeTurnover":6097.1072,"open":12975.2},{"amount":0.482,"high":13067.9,"vol":482,"low":12877.5,"count":118,"id":1603641600,"close":12978.7,"tradeTurnover":6256.4472,"open":12916.2},{"amount":0.47,"high":13087.5,"vol":470,"low":12922.7,"count":117,"id":1603645200,"close":13004.4,"tradeTurnover":6108.3892,"open":13008.0},{"amount":0.468,"high":13067.6,"vol":468,"low":12893.6,"count":118,"id":1603648800,"close":12957.2,"tradeTurnover":6079.1484,"open":12972.8},{"amount":0.442,"high":13066.9,"vol":442,"low":12916.6,"count":118,"id":1603652400,"close":13021.8,"tradeTurnover":5746.5548,"open":12996.5},{"amount":0.508,"high":13081.5,"vol":508,"low":12944.9,"count":120,"id":1603656000,"close":12985.4,"tradeTurnover":6616.9872,"open":12992.9},{"amount":0.508,"high":13068.6,"vol":508,"low":12921.4,"count":122,"id":1603659600,"close":13011.2,"tradeTurnover":6614.816,"open":12999.9},{"amount":0.486,"high":13073.8,"vol":486,"low":12911.9,"count":121,"id":1603663200,"close":12959.4,"tradeTurnover":6320.907,"open":12979.6},{"amount":0.452,"high":13085.2,"vol":452,"low":12927.8,"count":113,"id":1603666800,"close":13032.1,"tradeTurnover":5878.6442,"open":12963.4},{"amount":0.482,"high":13076.7,"vol":482,"low":12918.3,"count":121,"id":1603670400,"close":13001.0,"tradeTurnover":6263.698,"open":12964.2},{"amount":0.478,"high":13096.4,"vol":478,"low":12991.2,"count":124,"id":1603674000,"close":13053.7,"tradeTurnover":6232.2328,"open":13040.0},{"amount":0.488,"high":13185.7,"vol":488,"low":12985.1,"count":121,"id":1603677600,"close":13064.4,"tradeTurnover":6387.534,"open":13060.6},{"amount":0.486,"high":13187.2,"vol":486,"low":12984.1,"count":135,"id":1603681200,"close":13092.8,"tradeTurnover":6369.0272,"open":13032.3},{"amount":0.51,"high":13181.6,"vol":510,"low":12962.3,"count":131,"id":1603684800,"close":13132.6,"tradeTurnover":6679.829,"open":13092.0},{"amount":0.506,"high":13205.3,"vol":506,"low":13025.3,"count":126,"id":1603688400,"close":13092.1,"tradeTurnover":6641.2128,"open":13129.2},{"amount":1.616,"high":13188.1,"vol":1616,"low":12989.8,"count":141,"id":1603692000,"close":13071.4,"tradeTurnover":21170.8224,"open":13121.8},{"amount":3.746,"high":13100.0,"vol":3746,"low":12965.2,"count":110,"id":1603695600,"close":13038.7,"tradeTurnover":48924.8902,"open":13061.0},{"amount":8.966,"high":13102.0,"vol":8966,"low":12852.8,"count":173,"id":1603699200,"close":13039.3,"tradeTurnover":116525.5534,"open":13030.9},{"amount":4.48,"high":13088.4,"vol":4480,"low":13039.8,"count":124,"id":1603702800,"close":13075.9,"tradeTurnover":58521.1714,"open":13047.1},{"amount":4.272,"high":13100.0,"vol":4272,"low":13060.2,"count":130,"id":1603706400,"close":13100.0,"tradeTurnover":55895.9778,"open":13072.1},{"amount":29.798,"high":13159.0,"vol":29798,"low":13100.0,"count":230,"id":1603710000,"close":13138.4,"tradeTurnover":391138.024,"open":13100.0},{"amount":5.154,"high":13200.0,"vol":5154,"low":13100.0,"count":188,"id":1603713600,"close":13149.8,"tradeTurnover":67694.652,"open":13138.8},{"amount":35.608,"high":13351.5,"vol":35608,"low":13133.1,"count":328,"id":1603717200,"close":13205.8,"tradeTurnover":472780.3394,"open":13150.0},{"amount":31.748,"high":13280.0,"vol":31748,"low":13144.1,"count":235,"id":1603720800,"close":13166.1,"tradeTurnover":418744.5588,"open":13203.0},{"amount":36.53,"high":13165.2,"vol":36530,"low":12903.8,"count":384,"id":1603724400,"close":12978.0,"tradeTurnover":476940.3296,"open":13159.0},{"amount":35.018,"high":13069.8,"vol":35018,"low":12850.5,"count":323,"id":1603728000,"close":12869.6,"tradeTurnover":453288.918,"open":12965.0},{"amount":92.628,"high":12941.5,"vol":92628,"low":12583.9,"count":560,"id":1603731600,"close":12873.8,"tradeTurnover":1185973.467,"open":12879.2},{"amount":4.302,"high":12954.5,"vol":4302,"low":12820.4,"count":128,"id":1603735200,"close":12946.8,"tradeTurnover":55481.0054,"open":12856.2},{"amount":13.83,"high":12953.5,"vol":13830,"low":12914.1,"count":118,"id":1603738800,"close":12953.4,"tradeTurnover":179112.1598,"open":12945.6},{"amount":17.172,"high":13007.5,"vol":17172,"low":12953.5,"count":132,"id":1603742400,"close":12983.4,"tradeTurnover":223230.2122,"open":12953.5},{"amount":3.212,"high":13007.5,"vol":3212,"low":12982.7,"count":59,"id":1603746000,"close":12993.8,"tradeTurnover":41767.8906,"open":12983.1},{"amount":1.504,"high":13007.5,"vol":1504,"low":12974.0,"count":74,"id":1603749600,"close":13007.5,"tradeTurnover":19543.3568,"open":13002.1},{"amount":3.454,"high":13061.2,"vol":3454,"low":13007.5,"count":101,"id":1603753200,"close":13033.7,"tradeTurnover":45001.601,"open":13007.5},{"amount":8.784,"high":13105.0,"vol":8784,"low":13028.3,"count":98,"id":1603756800,"close":13067.1,"tradeTurnover":114871.8246,"open":13029.2},{"amount":11.592,"high":13074.4,"vol":11592,"low":13051.5,"count":66,"id":1603760400,"close":13061.7,"tradeTurnover":151386.9038,"open":13074.3},{"amount":19.298,"high":13097.6,"vol":19298,"low":13040.1,"count":109,"id":1603764000,"close":13049.7,"tradeTurnover":252061.019,"open":13061.7},{"amount":22.992,"high":13080.0,"vol":22992,"low":13057.1,"count":69,"id":1603767600,"close":13070.4,"tradeTurnover":300453.9788,"open":13057.6},{"amount":14.396,"high":13175.0,"vol":14396,"low":13079.6,"count":59,"id":1603771200,"close":13103.3,"tradeTurnover":188461.9156,"open":13080.0},{"amount":5.058,"high":13121.3,"vol":5058,"low":13069.7,"count":44,"id":1603774800,"close":13073.6,"tradeTurnover":66201.3552,"open":13121.3},{"amount":9.106,"high":13149.0,"vol":9106,"low":13069.6,"count":107,"id":1603778400,"close":13103.4,"tradeTurnover":119104.8906,"open":13074.9},{"amount":73.95,"high":13169.8,"vol":73950,"low":12992.4,"count":305,"id":1603782000,"close":13130.0,"tradeTurnover":968195.155,"open":13103.3},{"amount":18.732,"high":13148.4,"vol":18732,"low":13044.0,"count":135,"id":1603785600,"close":13123.8,"tradeTurnover":245533.5448,"open":13135.1},{"amount":13.756,"high":13131.8,"vol":13756,"low":13075.7,"count":102,"id":1603789200,"close":13131.7,"tradeTurnover":180253.7708,"open":13115.5},{"amount":154.108,"high":13252.0,"vol":154108,"low":13063.4,"count":525,"id":1603792800,"close":13216.9,"tradeTurnover":2029983.656,"open":13134.8},{"amount":170.09,"high":13590.1,"vol":170090,"low":13213.5,"count":591,"id":1603796400,"close":13395.8,"tradeTurnover":2276279.742,"open":13218.8},{"amount":48.928,"high":13414.0,"vol":48928,"low":13331.7,"count":216,"id":1603800000,"close":13376.9,"tradeTurnover":654585.9108,"open":13395.9},{"amount":63.294,"high":13490.9,"vol":63294,"low":13329.8,"count":316,"id":1603803600,"close":13384.3,"tradeTurnover":848130.9212,"open":13376.5},{"amount":12.892,"high":13415.8,"vol":12892,"low":13344.8,"count":124,"id":1603807200,"close":13398.2,"tradeTurnover":172618.6864,"open":13392.6},{"amount":93.22,"high":13626.7,"vol":93220,"low":13398.2,"count":476,"id":1603810800,"close":13598.5,"tradeTurnover":1262695.5466,"open":13398.2},{"amount":85.45,"high":13639.9,"vol":85450,"low":13520.2,"count":435,"id":1603814400,"close":13639.9,"tradeTurnover":1161481.4136,"open":13595.8},{"amount":191.812,"high":13826.7,"vol":191812,"low":13589.0,"count":711,"id":1603818000,"close":13688.1,"tradeTurnover":2628428.3788,"open":13640.0},{"amount":65.434,"high":13745.0,"vol":65434,"low":13528.2,"count":410,"id":1603821600,"close":13630.1,"tradeTurnover":891541.8394,"open":13685.0},{"amount":5.788,"high":13659.8,"vol":5788,"low":13595.4,"count":65,"id":1603825200,"close":13637.1,"tradeTurnover":78836.2578,"open":13629.4},{"amount":163.104,"high":13805.1,"vol":163104,"low":13582.6,"count":537,"id":1603828800,"close":13616.6,"tradeTurnover":2234040.3544,"open":13644.4},{"amount":9.884,"high":13753.5,"vol":9884,"low":13609.8,"count":101,"id":1603832400,"close":13705.5,"tradeTurnover":135406.4752,"open":13609.8},{"amount":7.436,"high":13739.9,"vol":7436,"low":13658.2,"count":100,"id":1603836000,"close":13739.9,"tradeTurnover":101840.3508,"open":13705.4},{"amount":17.086,"high":13794.6,"vol":17086,"low":13582.6,"count":234,"id":1603839600,"close":13649.6,"tradeTurnover":233971.8448,"open":13739.9},{"amount":24.108,"high":13745.2,"vol":24108,"low":13618.8,"count":177,"id":1603843200,"close":13701.7,"tradeTurnover":330206.5694,"open":13645.9},{"amount":15.892,"high":13725.6,"vol":15892,"low":13647.9,"count":151,"id":1603846800,"close":13702.6,"tradeTurnover":217816.7008,"open":13702.1},{"amount":46.548,"high":13832.2,"vol":46548,"low":13680.2,"count":274,"id":1603850400,"close":13811.6,"tradeTurnover":640636.0352,"open":13701.7},{"amount":67.896,"high":13820.3,"vol":67896,"low":13717.5,"count":320,"id":1603854000,"close":13777.0,"tradeTurnover":935838.2238,"open":13818.5},{"amount":33.156,"high":13807.2,"vol":33156,"low":13710.0,"count":210,"id":1603857600,"close":13735.7,"tradeTurnover":455941.234,"open":13767.3},{"amount":32.076,"high":13753.9,"vol":32076,"low":13671.3,"count":198,"id":1603861200,"close":13715.8,"tradeTurnover":439612.64,"open":13735.5},{"amount":14.756,"high":13757.0,"vol":14756,"low":13694.9,"count":122,"id":1603864800,"close":13701.3,"tradeTurnover":202602.5164,"open":13715.9},{"amount":155.534,"high":13708.7,"vol":155534,"low":13550.0,"count":635,"id":1603868400,"close":13674.2,"tradeTurnover":2117935.0928,"open":13701.2},{"amount":29.846,"high":13691.7,"vol":29846,"low":13584.0,"count":240,"id":1603872000,"close":13691.7,"tradeTurnover":407073.1398,"open":13673.0},{"amount":104.542,"high":13707.5,"vol":104542,"low":13573.5,"count":377,"id":1603875600,"close":13587.1,"tradeTurnover":1425079.9344,"open":13689.3},{"amount":73.818,"high":13618.0,"vol":73818,"low":13504.7,"count":358,"id":1603879200,"close":13552.7,"tradeTurnover":1001666.0908,"open":13584.6},{"amount":176.544,"high":13565.4,"vol":176544,"low":13330.0,"count":1004,"id":1603882800,"close":13336.4,"tradeTurnover":2369166.1492,"open":13552.6},{"amount":289.73,"high":13385.0,"vol":289730,"low":13173.9,"count":968,"id":1603886400,"close":13300.3,"tradeTurnover":3846751.7166,"open":13331.5},{"amount":139.822,"high":13340.0,"vol":139822,"low":13122.9,"count":612,"id":1603890000,"close":13129.9,"tradeTurnover":1848876.932,"open":13300.2},{"amount":367.876,"high":13168.2,"vol":367876,"low":12915.9,"count":1168,"id":1603893600,"close":13082.2,"tradeTurnover":4802516.9818,"open":13123.4},{"amount":84.044,"high":13235.2,"vol":84044,"low":13052.3,"count":375,"id":1603897200,"close":13221.2,"tradeTurnover":1106883.1282,"open":13077.1},{"amount":29.566,"high":13218.7,"vol":29566,"low":13050.0,"count":244,"id":1603900800,"close":13145.1,"tradeTurnover":388697.4104,"open":13218.7},{"amount":53.336,"high":13204.9,"vol":53336,"low":13006.6,"count":299,"id":1603904400,"close":13176.7,"tradeTurnover":700385.2784,"open":13145.1},{"amount":34.164,"high":13219.6,"vol":34164,"low":13131.0,"count":218,"id":1603908000,"close":13196.5,"tradeTurnover":450210.5778,"open":13171.0},{"amount":22.158,"high":13237.4,"vol":22158,"low":13145.0,"count":185,"id":1603911600,"close":13154.9,"tradeTurnover":292020.0438,"open":13200.0},{"amount":4.548,"high":13211.8,"vol":4548,"low":13147.4,"count":75,"id":1603915200,"close":13198.1,"tradeTurnover":59991.1118,"open":13154.5},{"amount":3.52,"high":13196.5,"vol":3520,"low":13100.2,"count":68,"id":1603918800,"close":13190.1,"tradeTurnover":46175.428,"open":13193.5},{"amount":3.122,"high":13267.5,"vol":3122,"low":13185.4,"count":72,"id":1603922400,"close":13252.0,"tradeTurnover":41304.2018,"open":13185.4},{"amount":14.768,"high":13282.3,"vol":14768,"low":13235.9,"count":86,"id":1603926000,"close":13265.9,"tradeTurnover":195689.0764,"open":13242.1},{"amount":19.968,"high":13294.7,"vol":19968,"low":13237.4,"count":98,"id":1603929600,"close":13245.1,"tradeTurnover":264834.1944,"open":13253.9},{"amount":35.282,"high":13285.3,"vol":35282,"low":13166.3,"count":192,"id":1603933200,"close":13274.2,"tradeTurnover":465789.6302,"open":13244.6},{"amount":9.748,"high":13277.7,"vol":9748,"low":13212.2,"count":119,"id":1603936800,"close":13241.1,"tradeTurnover":129016.0684,"open":13275.9},{"amount":27.3,"high":13262.5,"vol":27300,"low":13174.6,"count":199,"id":1603940400,"close":13262.5,"tradeTurnover":360589.8982,"open":13237.1},{"amount":18.904,"high":13277.7,"vol":18904,"low":13229.5,"count":109,"id":1603944000,"close":13229.5,"tradeTurnover":250713.2812,"open":13269.1},{"amount":15.822,"high":13274.8,"vol":15822,"low":13228.5,"count":134,"id":1603947600,"close":13274.8,"tradeTurnover":209781.909,"open":13228.5},{"amount":91.246,"high":13323.0,"vol":91246,"low":13242.3,"count":294,"id":1603951200,"close":13255.0,"tradeTurnover":1211271.2788,"open":13274.8},{"amount":187.622,"high":13269.3,"vol":187622,"low":13123.1,"count":506,"id":1603954800,"close":13142.4,"tradeTurnover":2478299.7074,"open":13255.0},{"amount":69.532,"high":13182.4,"vol":69532,"low":13094.1,"count":226,"id":1603958400,"close":13124.8,"tradeTurnover":914157.2418,"open":13145.9},{"amount":23.184,"high":13197.1,"vol":23184,"low":13129.5,"count":141,"id":1603962000,"close":13183.7,"tradeTurnover":305485.9524,"open":13129.5},{"amount":121.146,"high":13187.5,"vol":121146,"low":13053.1,"count":442,"id":1603965600,"close":13105.2,"tradeTurnover":1590026.4416,"open":13184.8},{"amount":47.498,"high":13171.4,"vol":47498,"low":13060.1,"count":262,"id":1603969200,"close":13060.1,"tradeTurnover":623578.149,"open":13105.1},{"amount":126.552,"high":13145.8,"vol":126552,"low":12977.9,"count":481,"id":1603972800,"close":13131.8,"tradeTurnover":1652549.311,"open":13056.9},{"amount":100.482,"high":13237.2,"vol":100482,"low":13102.0,"count":325,"id":1603976400,"close":13230.0,"tradeTurnover":1326403.7206,"open":13131.7},{"amount":253.258,"high":13476.1,"vol":253258,"low":13231.0,"count":752,"id":1603980000,"close":13420.8,"tradeTurnover":3384941.438,"open":13231.0},{"amount":64.71,"high":13458.7,"vol":64710,"low":13358.7,"count":269,"id":1603983600,"close":13420.6,"tradeTurnover":869052.3804,"open":13416.0},{"amount":120.24,"high":13594.5,"vol":120240,"low":13391.8,"count":570,"id":1603987200,"close":13535.9,"tradeTurnover":1626567.8278,"open":13421.9}],"id":"","rep":"market.BTC-USDT.kline.60min","status":"ok"} +2024-01-18 11:12:52.767 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:39] - 请求 KLine 数据用户收到的原始数据:{"id":"","rep":"market.BTC-USDT.kline.60min","ts":1705547571675,"wsid":19750305,"status":"ok","data":[{"id":1603270800,"open":12198.0,"close":12196.7,"high":12300.0,"low":11715.8,"amount":0.276,"vol":276,"trade_turnover":3315.9104,"count":39},{"id":1603274400,"open":12196.7,"close":12277.9,"high":12289.9,"low":12111.0,"amount":0.198,"vol":198,"trade_turnover":2420.7728,"count":21},{"id":1603278000,"open":12111.0,"close":12000.0,"high":12277.9,"low":12000.0,"amount":0.012,"vol":12,"trade_turnover":145.2238,"count":5},{"id":1603281600,"open":12078.0,"close":12497.4,"high":12498.0,"low":12078.0,"amount":0.084,"vol":84,"trade_turnover":1040.0504,"count":12},{"id":1603285200,"open":12495.6,"close":12373.5,"high":12495.6,"low":12282.9,"amount":1.122,"vol":1122,"trade_turnover":13905.3124,"count":112},{"id":1603288800,"open":12412.9,"close":12689.9,"high":12807.6,"low":12358.1,"amount":5.29,"vol":5290,"trade_turnover":66852.128,"count":155},{"id":1603292400,"open":12692.8,"close":12701.9,"high":12778.7,"low":12573.2,"amount":1.174,"vol":1174,"trade_turnover":14907.367,"count":113},{"id":1603296000,"open":12679.7,"close":12835.9,"high":12920.9,"low":12624.8,"amount":1.156,"vol":1156,"trade_turnover":14802.449,"count":115},{"id":1603299600,"open":12848.3,"close":12754.2,"high":12908.3,"low":12687.5,"amount":1.12,"vol":1120,"trade_turnover":14345.7324,"count":115},{"id":1603303200,"open":12743.7,"close":12740.2,"high":12849.0,"low":12668.3,"amount":1.106,"vol":1106,"trade_turnover":14105.3504,"count":114},{"id":1603306800,"open":12729.5,"close":12650.3,"high":12843.1,"low":12597.2,"amount":1.032,"vol":1032,"trade_turnover":13125.4568,"count":112},{"id":1603310400,"open":12666.8,"close":12807.0,"high":12848.4,"low":12610.2,"amount":1.154,"vol":1154,"trade_turnover":14680.638,"count":116},{"id":1603314000,"open":12866.0,"close":12938.9,"high":13005.1,"low":12748.2,"amount":1.164,"vol":1164,"trade_turnover":14976.9366,"count":114},{"id":1603317600,"open":12921.0,"close":13122.0,"high":13211.2,"low":12865.7,"amount":1.174,"vol":1174,"trade_turnover":15285.2446,"count":114},{"id":1603321200,"open":13153.2,"close":12829.8,"high":13173.2,"low":12688.6,"amount":1.172,"vol":1172,"trade_turnover":15060.9938,"count":117},{"id":1603324800,"open":12793.1,"close":12885.9,"high":12988.1,"low":12764.4,"amount":1.17,"vol":1170,"trade_turnover":15046.2046,"count":117},{"id":1603328400,"open":12860.4,"close":12757.5,"high":12972.6,"low":12757.5,"amount":1.158,"vol":1158,"trade_turnover":14882.4656,"count":118},{"id":1603332000,"open":12824.1,"close":12788.8,"high":12848.0,"low":12729.0,"amount":1.124,"vol":1124,"trade_turnover":14368.7948,"count":115},{"id":1603335600,"open":12791.7,"close":12767.2,"high":12834.4,"low":12729.0,"amount":1.194,"vol":1194,"trade_turnover":15268.9298,"count":111},{"id":1603339200,"open":12729.0,"close":12762.2,"high":12778.3,"low":12729.0,"amount":1.152,"vol":1152,"trade_turnover":14695.4876,"count":115},{"id":1603342800,"open":12763.1,"close":12813.8,"high":12842.0,"low":12730.6,"amount":1.21,"vol":1210,"trade_turnover":15440.8162,"count":119},{"id":1603346400,"open":12795.0,"close":12729.1,"high":12795.0,"low":12728.0,"amount":1.188,"vol":1188,"trade_turnover":15128.0098,"count":123},{"id":1603350000,"open":12728.6,"close":12730.6,"high":12730.6,"low":12728.3,"amount":1.266,"vol":1266,"trade_turnover":16115.1306,"count":112},{"id":1603353600,"open":12730.3,"close":12770.1,"high":12921.5,"low":12729.9,"amount":1.35,"vol":1350,"trade_turnover":17233.7326,"count":127},{"id":1603357200,"open":12824.9,"close":12780.4,"high":12872.1,"low":12760.1,"amount":0.98,"vol":980,"trade_turnover":12553.9826,"count":99},{"id":1603360800,"open":12784.9,"close":12934.2,"high":13002.7,"low":12775.6,"amount":0.266,"vol":266,"trade_turnover":3415.023,"count":30},{"id":1603364400,"open":12977.0,"close":13045.0,"high":13057.0,"low":12886.6,"amount":1.004,"vol":1004,"trade_turnover":13020.8576,"count":117},{"id":1603368000,"open":12958.5,"close":12847.9,"high":12973.4,"low":12751.6,"amount":1.134,"vol":1134,"trade_turnover":14594.2752,"count":111},{"id":1603371600,"open":12882.7,"close":12931.0,"high":13000.8,"low":12743.0,"amount":1.152,"vol":1152,"trade_turnover":14877.7314,"count":114},{"id":1603375200,"open":12890.4,"close":12917.8,"high":12995.3,"low":12783.9,"amount":1.182,"vol":1182,"trade_turnover":15224.4716,"count":115},{"id":1603378800,"open":12918.8,"close":12953.0,"high":13031.2,"low":12817.9,"amount":1.176,"vol":1176,"trade_turnover":15197.208,"count":117},{"id":1603382400,"open":12923.1,"close":13055.6,"high":13100.2,"low":12865.6,"amount":1.146,"vol":1146,"trade_turnover":14851.9604,"count":119},{"id":1603386000,"open":12967.6,"close":13082.7,"high":13105.7,"low":12835.5,"amount":1.534,"vol":1534,"trade_turnover":19927.8288,"count":124},{"id":1603389600,"open":13020.4,"close":13016.4,"high":13115.0,"low":12938.7,"amount":1.268,"vol":1268,"trade_turnover":16505.4738,"count":117},{"id":1603393200,"open":13028.3,"close":12970.6,"high":13171.2,"low":12961.8,"amount":1.13,"vol":1130,"trade_turnover":14762.952,"count":112},{"id":1603396800,"open":13016.7,"close":13089.3,"high":13216.1,"low":12998.5,"amount":1.206,"vol":1206,"trade_turnover":15807.1226,"count":117},{"id":1603400400,"open":13136.0,"close":13092.0,"high":13203.7,"low":12932.9,"amount":1.332,"vol":1332,"trade_turnover":17423.4422,"count":114},{"id":1603404000,"open":13119.4,"close":13055.9,"high":13250.5,"low":12984.7,"amount":1.21,"vol":1210,"trade_turnover":15876.0632,"count":114},{"id":1603407600,"open":13059.4,"close":12890.4,"high":13126.5,"low":12857.2,"amount":1.286,"vol":1286,"trade_turnover":16688.422,"count":116},{"id":1603411200,"open":12929.7,"close":12892.2,"high":12994.0,"low":12751.6,"amount":1.502,"vol":1502,"trade_turnover":19331.1596,"count":131},{"id":1603414800,"open":12921.7,"close":12898.3,"high":13003.2,"low":12786.0,"amount":1.386,"vol":1386,"trade_turnover":17904.8902,"count":121},{"id":1603418400,"open":12951.6,"close":12975.1,"high":13054.0,"low":12800.7,"amount":1.416,"vol":1416,"trade_turnover":18306.6204,"count":122},{"id":1603422000,"open":12967.3,"close":12947.0,"high":13030.7,"low":12875.0,"amount":1.19,"vol":1190,"trade_turnover":15409.7984,"count":118},{"id":1603425600,"open":12925.2,"close":12852.0,"high":13047.3,"low":12832.8,"amount":1.022,"vol":1022,"trade_turnover":13214.4388,"count":127},{"id":1603429200,"open":12859.0,"close":12931.1,"high":12991.7,"low":12841.2,"amount":0.478,"vol":478,"trade_turnover":6180.2486,"count":118},{"id":1603432800,"open":12935.9,"close":12939.6,"high":13014.1,"low":12871.9,"amount":0.522,"vol":522,"trade_turnover":6759.0324,"count":132},{"id":1603436400,"open":12923.1,"close":12925.4,"high":12998.9,"low":12917.1,"amount":0.476,"vol":476,"trade_turnover":6163.3118,"count":118},{"id":1603440000,"open":12942.2,"close":12962.6,"high":13014.0,"low":12916.1,"amount":0.508,"vol":508,"trade_turnover":6585.3656,"count":122},{"id":1603443600,"open":12970.5,"close":12926.4,"high":13012.5,"low":12909.9,"amount":0.564,"vol":564,"trade_turnover":7308.8828,"count":124},{"id":1603447200,"open":13001.2,"close":13007.7,"high":13059.5,"low":12925.7,"amount":0.536,"vol":536,"trade_turnover":6957.8796,"count":124},{"id":1603450800,"open":13025.4,"close":12970.6,"high":13078.4,"low":12906.5,"amount":0.486,"vol":486,"trade_turnover":6326.1434,"count":122},{"id":1603454400,"open":12963.9,"close":12935.4,"high":13025.0,"low":12850.8,"amount":0.494,"vol":494,"trade_turnover":6396.0984,"count":117},{"id":1603458000,"open":12913.3,"close":12951.7,"high":13043.3,"low":12911.0,"amount":0.466,"vol":466,"trade_turnover":6049.1412,"count":117},{"id":1603461600,"open":12999.6,"close":12858.8,"high":13006.4,"low":12840.4,"amount":0.46,"vol":460,"trade_turnover":5941.815,"count":116},{"id":1603465200,"open":12885.7,"close":12881.9,"high":12932.9,"low":12826.5,"amount":0.492,"vol":492,"trade_turnover":6340.214,"count":117},{"id":1603468800,"open":12854.4,"close":12784.1,"high":12933.5,"low":12744.4,"amount":0.484,"vol":484,"trade_turnover":6205.4138,"count":123},{"id":1603472400,"open":12832.3,"close":12847.7,"high":12893.1,"low":12730.1,"amount":0.562,"vol":562,"trade_turnover":7218.9184,"count":152},{"id":1603476000,"open":12874.1,"close":12915.7,"high":12939.3,"low":12751.4,"amount":0.53,"vol":530,"trade_turnover":6825.7004,"count":128},{"id":1603479600,"open":12867.9,"close":12972.9,"high":12972.9,"low":12786.6,"amount":0.444,"vol":444,"trade_turnover":5727.7452,"count":117},{"id":1603483200,"open":12956.7,"close":12991.6,"high":13002.2,"low":12842.9,"amount":0.492,"vol":492,"trade_turnover":6375.1566,"count":116},{"id":1603486800,"open":13004.3,"close":12943.5,"high":13004.3,"low":12936.6,"amount":0.5,"vol":500,"trade_turnover":6485.468,"count":125},{"id":1603490400,"open":12923.6,"close":12989.2,"high":13010.3,"low":12884.7,"amount":0.492,"vol":492,"trade_turnover":6376.1492,"count":120},{"id":1603494000,"open":12974.9,"close":12884.6,"high":13024.4,"low":12884.6,"amount":0.51,"vol":510,"trade_turnover":6622.3406,"count":121},{"id":1603497600,"open":12973.7,"close":12953.9,"high":13018.3,"low":12811.1,"amount":0.488,"vol":488,"trade_turnover":6317.7938,"count":120},{"id":1603501200,"open":12927.5,"close":12934.2,"high":13018.1,"low":12872.8,"amount":0.482,"vol":482,"trade_turnover":6242.4178,"count":117},{"id":1603504800,"open":12971.9,"close":12989.1,"high":13003.9,"low":12903.3,"amount":0.484,"vol":484,"trade_turnover":6278.1756,"count":117},{"id":1603508400,"open":13000.1,"close":12975.9,"high":13013.4,"low":12938.3,"amount":0.474,"vol":474,"trade_turnover":6157.7096,"count":122},{"id":1603512000,"open":12989.7,"close":12963.3,"high":13009.4,"low":12905.5,"amount":0.526,"vol":526,"trade_turnover":6831.5658,"count":124},{"id":1603515600,"open":12910.5,"close":12989.7,"high":13041.8,"low":12875.3,"amount":0.522,"vol":522,"trade_turnover":6768.8994,"count":127},{"id":1603519200,"open":12994.7,"close":13003.6,"high":13058.1,"low":12908.8,"amount":0.49,"vol":490,"trade_turnover":6370.5714,"count":120},{"id":1603522800,"open":13011.9,"close":13004.2,"high":13037.8,"low":12981.7,"amount":0.478,"vol":478,"trade_turnover":6218.9722,"count":120},{"id":1603526400,"open":13003.0,"close":12998.2,"high":13030.6,"low":12899.4,"amount":0.52,"vol":520,"trade_turnover":6754.958,"count":124},{"id":1603530000,"open":12998.2,"close":12990.6,"high":13020.3,"low":12893.6,"amount":0.454,"vol":454,"trade_turnover":5891.0574,"count":115},{"id":1603533600,"open":12996.4,"close":13030.1,"high":13059.1,"low":12913.2,"amount":0.502,"vol":502,"trade_turnover":6525.9004,"count":124},{"id":1603537200,"open":12988.4,"close":13033.2,"high":13068.3,"low":12940.2,"amount":0.468,"vol":468,"trade_turnover":6091.0376,"count":119},{"id":1603540800,"open":13035.3,"close":13006.5,"high":13071.8,"low":12978.9,"amount":0.468,"vol":468,"trade_turnover":6102.5902,"count":123},{"id":1603544400,"open":13038.8,"close":12985.9,"high":13066.7,"low":12928.1,"amount":0.534,"vol":534,"trade_turnover":6950.4268,"count":123},{"id":1603548000,"open":12986.3,"close":13042.0,"high":13100.1,"low":12960.5,"amount":0.47,"vol":470,"trade_turnover":6124.2178,"count":100},{"id":1603551600,"open":13038.4,"close":13102.2,"high":13196.5,"low":13038.4,"amount":0.456,"vol":456,"trade_turnover":5989.6362,"count":120},{"id":1603555200,"open":13136.8,"close":13052.7,"high":13176.6,"low":12984.6,"amount":0.458,"vol":458,"trade_turnover":5976.331,"count":121},{"id":1603558800,"open":13006.2,"close":13177.8,"high":13177.8,"low":13003.2,"amount":0.452,"vol":452,"trade_turnover":5911.7058,"count":118},{"id":1603562400,"open":13127.7,"close":13080.8,"high":13170.7,"low":13023.0,"amount":0.468,"vol":468,"trade_turnover":6122.375,"count":119},{"id":1603566000,"open":13040.7,"close":13148.4,"high":13179.3,"low":13014.2,"amount":0.468,"vol":468,"trade_turnover":6126.4278,"count":120},{"id":1603569600,"open":13073.5,"close":13090.1,"high":13179.6,"low":12992.5,"amount":0.47,"vol":470,"trade_turnover":6151.4758,"count":119},{"id":1603573200,"open":13035.4,"close":12993.9,"high":13148.7,"low":12980.7,"amount":0.458,"vol":458,"trade_turnover":5981.071,"count":117},{"id":1603576800,"open":13040.7,"close":13041.1,"high":13112.1,"low":12975.6,"amount":0.478,"vol":478,"trade_turnover":6225.4216,"count":118},{"id":1603580400,"open":13012.6,"close":13184.3,"high":13184.3,"low":13009.3,"amount":0.472,"vol":472,"trade_turnover":6173.4244,"count":118},{"id":1603584000,"open":13080.8,"close":13154.3,"high":13170.4,"low":13007.7,"amount":0.46,"vol":460,"trade_turnover":6024.09,"count":115},{"id":1603587600,"open":13092.0,"close":13196.1,"high":13196.8,"low":13024.0,"amount":0.398,"vol":398,"trade_turnover":5217.5364,"count":102},{"id":1603591200,"open":13124.7,"close":13082.4,"high":13175.1,"low":13035.0,"amount":0.476,"vol":476,"trade_turnover":6228.6596,"count":120},{"id":1603594800,"open":13049.1,"close":13259.0,"high":13383.8,"low":13049.1,"amount":0.578,"vol":578,"trade_turnover":7629.3886,"count":137},{"id":1603598400,"open":13277.0,"close":13243.4,"high":13369.0,"low":13216.0,"amount":0.47,"vol":470,"trade_turnover":6247.955,"count":122},{"id":1603602000,"open":13285.3,"close":13017.3,"high":13353.3,"low":13010.1,"amount":0.61,"vol":610,"trade_turnover":8048.8598,"count":134},{"id":1603605600,"open":13022.5,"close":13060.3,"high":13105.7,"low":13018.2,"amount":0.486,"vol":486,"trade_turnover":6344.1474,"count":118},{"id":1603609200,"open":13048.5,"close":13078.1,"high":13112.1,"low":13022.0,"amount":0.464,"vol":464,"trade_turnover":6061.5416,"count":120},{"id":1603612800,"open":13077.2,"close":13046.0,"high":13091.0,"low":13017.2,"amount":0.464,"vol":464,"trade_turnover":6055.3734,"count":120},{"id":1603616400,"open":13065.1,"close":13040.8,"high":13084.0,"low":13014.2,"amount":0.478,"vol":478,"trade_turnover":6235.7882,"count":117},{"id":1603620000,"open":13047.1,"close":13028.5,"high":13064.2,"low":13010.2,"amount":0.478,"vol":478,"trade_turnover":6232.2428,"count":125},{"id":1603623600,"open":13061.5,"close":12897.6,"high":13061.5,"low":12852.9,"amount":0.534,"vol":534,"trade_turnover":6918.1226,"count":123},{"id":1603627200,"open":12908.3,"close":12964.3,"high":13069.7,"low":12893.2,"amount":0.444,"vol":444,"trade_turnover":5755.8712,"count":117},{"id":1603630800,"open":13001.3,"close":12949.3,"high":13071.9,"low":12891.8,"amount":0.498,"vol":498,"trade_turnover":6465.078,"count":119},{"id":1603634400,"open":12975.8,"close":12946.8,"high":13077.7,"low":12900.0,"amount":0.468,"vol":468,"trade_turnover":6075.4554,"count":116},{"id":1603638000,"open":12975.2,"close":12883.3,"high":13069.1,"low":12883.3,"amount":0.47,"vol":470,"trade_turnover":6097.1072,"count":119},{"id":1603641600,"open":12916.2,"close":12978.7,"high":13067.9,"low":12877.5,"amount":0.482,"vol":482,"trade_turnover":6256.4472,"count":118},{"id":1603645200,"open":13008.0,"close":13004.4,"high":13087.5,"low":12922.7,"amount":0.47,"vol":470,"trade_turnover":6108.3892,"count":117},{"id":1603648800,"open":12972.8,"close":12957.2,"high":13067.6,"low":12893.6,"amount":0.468,"vol":468,"trade_turnover":6079.1484,"count":118},{"id":1603652400,"open":12996.5,"close":13021.8,"high":13066.9,"low":12916.6,"amount":0.442,"vol":442,"trade_turnover":5746.5548,"count":118},{"id":1603656000,"open":12992.9,"close":12985.4,"high":13081.5,"low":12944.9,"amount":0.508,"vol":508,"trade_turnover":6616.9872,"count":120},{"id":1603659600,"open":12999.9,"close":13011.2,"high":13068.6,"low":12921.4,"amount":0.508,"vol":508,"trade_turnover":6614.816,"count":122},{"id":1603663200,"open":12979.6,"close":12959.4,"high":13073.8,"low":12911.9,"amount":0.486,"vol":486,"trade_turnover":6320.907,"count":121},{"id":1603666800,"open":12963.4,"close":13032.1,"high":13085.2,"low":12927.8,"amount":0.452,"vol":452,"trade_turnover":5878.6442,"count":113},{"id":1603670400,"open":12964.2,"close":13001.0,"high":13076.7,"low":12918.3,"amount":0.482,"vol":482,"trade_turnover":6263.698,"count":121},{"id":1603674000,"open":13040.0,"close":13053.7,"high":13096.4,"low":12991.2,"amount":0.478,"vol":478,"trade_turnover":6232.2328,"count":124},{"id":1603677600,"open":13060.6,"close":13064.4,"high":13185.7,"low":12985.1,"amount":0.488,"vol":488,"trade_turnover":6387.534,"count":121},{"id":1603681200,"open":13032.3,"close":13092.8,"high":13187.2,"low":12984.1,"amount":0.486,"vol":486,"trade_turnover":6369.0272,"count":135},{"id":1603684800,"open":13092.0,"close":13132.6,"high":13181.6,"low":12962.3,"amount":0.51,"vol":510,"trade_turnover":6679.829,"count":131},{"id":1603688400,"open":13129.2,"close":13092.1,"high":13205.3,"low":13025.3,"amount":0.506,"vol":506,"trade_turnover":6641.2128,"count":126},{"id":1603692000,"open":13121.8,"close":13071.4,"high":13188.1,"low":12989.8,"amount":1.616,"vol":1616,"trade_turnover":21170.8224,"count":141},{"id":1603695600,"open":13061.0,"close":13038.7,"high":13100.0,"low":12965.2,"amount":3.746,"vol":3746,"trade_turnover":48924.8902,"count":110},{"id":1603699200,"open":13030.9,"close":13039.3,"high":13102.0,"low":12852.8,"amount":8.966,"vol":8966,"trade_turnover":116525.5534,"count":173},{"id":1603702800,"open":13047.1,"close":13075.9,"high":13088.4,"low":13039.8,"amount":4.48,"vol":4480,"trade_turnover":58521.1714,"count":124},{"id":1603706400,"open":13072.1,"close":13100.0,"high":13100.0,"low":13060.2,"amount":4.272,"vol":4272,"trade_turnover":55895.9778,"count":130},{"id":1603710000,"open":13100.0,"close":13138.4,"high":13159.0,"low":13100.0,"amount":29.798,"vol":29798,"trade_turnover":391138.024,"count":230},{"id":1603713600,"open":13138.8,"close":13149.8,"high":13200.0,"low":13100.0,"amount":5.154,"vol":5154,"trade_turnover":67694.652,"count":188},{"id":1603717200,"open":13150.0,"close":13205.8,"high":13351.5,"low":13133.1,"amount":35.608,"vol":35608,"trade_turnover":472780.3394,"count":328},{"id":1603720800,"open":13203.0,"close":13166.1,"high":13280.0,"low":13144.1,"amount":31.748,"vol":31748,"trade_turnover":418744.5588,"count":235},{"id":1603724400,"open":13159.0,"close":12978.0,"high":13165.2,"low":12903.8,"amount":36.53,"vol":36530,"trade_turnover":476940.3296,"count":384},{"id":1603728000,"open":12965.0,"close":12869.6,"high":13069.8,"low":12850.5,"amount":35.018,"vol":35018,"trade_turnover":453288.918,"count":323},{"id":1603731600,"open":12879.2,"close":12873.8,"high":12941.5,"low":12583.9,"amount":92.628,"vol":92628,"trade_turnover":1185973.467,"count":560},{"id":1603735200,"open":12856.2,"close":12946.8,"high":12954.5,"low":12820.4,"amount":4.302,"vol":4302,"trade_turnover":55481.0054,"count":128},{"id":1603738800,"open":12945.6,"close":12953.4,"high":12953.5,"low":12914.1,"amount":13.83,"vol":13830,"trade_turnover":179112.1598,"count":118},{"id":1603742400,"open":12953.5,"close":12983.4,"high":13007.5,"low":12953.5,"amount":17.172,"vol":17172,"trade_turnover":223230.2122,"count":132},{"id":1603746000,"open":12983.1,"close":12993.8,"high":13007.5,"low":12982.7,"amount":3.212,"vol":3212,"trade_turnover":41767.8906,"count":59},{"id":1603749600,"open":13002.1,"close":13007.5,"high":13007.5,"low":12974.0,"amount":1.504,"vol":1504,"trade_turnover":19543.3568,"count":74},{"id":1603753200,"open":13007.5,"close":13033.7,"high":13061.2,"low":13007.5,"amount":3.454,"vol":3454,"trade_turnover":45001.601,"count":101},{"id":1603756800,"open":13029.2,"close":13067.1,"high":13105.0,"low":13028.3,"amount":8.784,"vol":8784,"trade_turnover":114871.8246,"count":98},{"id":1603760400,"open":13074.3,"close":13061.7,"high":13074.4,"low":13051.5,"amount":11.592,"vol":11592,"trade_turnover":151386.9038,"count":66},{"id":1603764000,"open":13061.7,"close":13049.7,"high":13097.6,"low":13040.1,"amount":19.298,"vol":19298,"trade_turnover":252061.019,"count":109},{"id":1603767600,"open":13057.6,"close":13070.4,"high":13080.0,"low":13057.1,"amount":22.992,"vol":22992,"trade_turnover":300453.9788,"count":69},{"id":1603771200,"open":13080.0,"close":13103.3,"high":13175.0,"low":13079.6,"amount":14.396,"vol":14396,"trade_turnover":188461.9156,"count":59},{"id":1603774800,"open":13121.3,"close":13073.6,"high":13121.3,"low":13069.7,"amount":5.058,"vol":5058,"trade_turnover":66201.3552,"count":44},{"id":1603778400,"open":13074.9,"close":13103.4,"high":13149.0,"low":13069.6,"amount":9.106,"vol":9106,"trade_turnover":119104.8906,"count":107},{"id":1603782000,"open":13103.3,"close":13130.0,"high":13169.8,"low":12992.4,"amount":73.95,"vol":73950,"trade_turnover":968195.155,"count":305},{"id":1603785600,"open":13135.1,"close":13123.8,"high":13148.4,"low":13044.0,"amount":18.732,"vol":18732,"trade_turnover":245533.5448,"count":135},{"id":1603789200,"open":13115.5,"close":13131.7,"high":13131.8,"low":13075.7,"amount":13.756,"vol":13756,"trade_turnover":180253.7708,"count":102},{"id":1603792800,"open":13134.8,"close":13216.9,"high":13252.0,"low":13063.4,"amount":154.108,"vol":154108,"trade_turnover":2029983.656,"count":525},{"id":1603796400,"open":13218.8,"close":13395.8,"high":13590.1,"low":13213.5,"amount":170.09,"vol":170090,"trade_turnover":2276279.742,"count":591},{"id":1603800000,"open":13395.9,"close":13376.9,"high":13414.0,"low":13331.7,"amount":48.928,"vol":48928,"trade_turnover":654585.9108,"count":216},{"id":1603803600,"open":13376.5,"close":13384.3,"high":13490.9,"low":13329.8,"amount":63.294,"vol":63294,"trade_turnover":848130.9212,"count":316},{"id":1603807200,"open":13392.6,"close":13398.2,"high":13415.8,"low":13344.8,"amount":12.892,"vol":12892,"trade_turnover":172618.6864,"count":124},{"id":1603810800,"open":13398.2,"close":13598.5,"high":13626.7,"low":13398.2,"amount":93.22,"vol":93220,"trade_turnover":1262695.5466,"count":476},{"id":1603814400,"open":13595.8,"close":13639.9,"high":13639.9,"low":13520.2,"amount":85.45,"vol":85450,"trade_turnover":1161481.4136,"count":435},{"id":1603818000,"open":13640.0,"close":13688.1,"high":13826.7,"low":13589.0,"amount":191.812,"vol":191812,"trade_turnover":2628428.3788,"count":711},{"id":1603821600,"open":13685.0,"close":13630.1,"high":13745.0,"low":13528.2,"amount":65.434,"vol":65434,"trade_turnover":891541.8394,"count":410},{"id":1603825200,"open":13629.4,"close":13637.1,"high":13659.8,"low":13595.4,"amount":5.788,"vol":5788,"trade_turnover":78836.2578,"count":65},{"id":1603828800,"open":13644.4,"close":13616.6,"high":13805.1,"low":13582.6,"amount":163.104,"vol":163104,"trade_turnover":2234040.3544,"count":537},{"id":1603832400,"open":13609.8,"close":13705.5,"high":13753.5,"low":13609.8,"amount":9.884,"vol":9884,"trade_turnover":135406.4752,"count":101},{"id":1603836000,"open":13705.4,"close":13739.9,"high":13739.9,"low":13658.2,"amount":7.436,"vol":7436,"trade_turnover":101840.3508,"count":100},{"id":1603839600,"open":13739.9,"close":13649.6,"high":13794.6,"low":13582.6,"amount":17.086,"vol":17086,"trade_turnover":233971.8448,"count":234},{"id":1603843200,"open":13645.9,"close":13701.7,"high":13745.2,"low":13618.8,"amount":24.108,"vol":24108,"trade_turnover":330206.5694,"count":177},{"id":1603846800,"open":13702.1,"close":13702.6,"high":13725.6,"low":13647.9,"amount":15.892,"vol":15892,"trade_turnover":217816.7008,"count":151},{"id":1603850400,"open":13701.7,"close":13811.6,"high":13832.2,"low":13680.2,"amount":46.548,"vol":46548,"trade_turnover":640636.0352,"count":274},{"id":1603854000,"open":13818.5,"close":13777.0,"high":13820.3,"low":13717.5,"amount":67.896,"vol":67896,"trade_turnover":935838.2238,"count":320},{"id":1603857600,"open":13767.3,"close":13735.7,"high":13807.2,"low":13710.0,"amount":33.156,"vol":33156,"trade_turnover":455941.234,"count":210},{"id":1603861200,"open":13735.5,"close":13715.8,"high":13753.9,"low":13671.3,"amount":32.076,"vol":32076,"trade_turnover":439612.64,"count":198},{"id":1603864800,"open":13715.9,"close":13701.3,"high":13757.0,"low":13694.9,"amount":14.756,"vol":14756,"trade_turnover":202602.5164,"count":122},{"id":1603868400,"open":13701.2,"close":13674.2,"high":13708.7,"low":13550.0,"amount":155.534,"vol":155534,"trade_turnover":2117935.0928,"count":635},{"id":1603872000,"open":13673.0,"close":13691.7,"high":13691.7,"low":13584.0,"amount":29.846,"vol":29846,"trade_turnover":407073.1398,"count":240},{"id":1603875600,"open":13689.3,"close":13587.1,"high":13707.5,"low":13573.5,"amount":104.542,"vol":104542,"trade_turnover":1425079.9344,"count":377},{"id":1603879200,"open":13584.6,"close":13552.7,"high":13618.0,"low":13504.7,"amount":73.818,"vol":73818,"trade_turnover":1001666.0908,"count":358},{"id":1603882800,"open":13552.6,"close":13336.4,"high":13565.4,"low":13330.0,"amount":176.544,"vol":176544,"trade_turnover":2369166.1492,"count":1004},{"id":1603886400,"open":13331.5,"close":13300.3,"high":13385.0,"low":13173.9,"amount":289.73,"vol":289730,"trade_turnover":3846751.7166,"count":968},{"id":1603890000,"open":13300.2,"close":13129.9,"high":13340.0,"low":13122.9,"amount":139.822,"vol":139822,"trade_turnover":1848876.932,"count":612},{"id":1603893600,"open":13123.4,"close":13082.2,"high":13168.2,"low":12915.9,"amount":367.876,"vol":367876,"trade_turnover":4802516.9818,"count":1168},{"id":1603897200,"open":13077.1,"close":13221.2,"high":13235.2,"low":13052.3,"amount":84.044,"vol":84044,"trade_turnover":1106883.1282,"count":375},{"id":1603900800,"open":13218.7,"close":13145.1,"high":13218.7,"low":13050.0,"amount":29.566,"vol":29566,"trade_turnover":388697.4104,"count":244},{"id":1603904400,"open":13145.1,"close":13176.7,"high":13204.9,"low":13006.6,"amount":53.336,"vol":53336,"trade_turnover":700385.2784,"count":299},{"id":1603908000,"open":13171.0,"close":13196.5,"high":13219.6,"low":13131.0,"amount":34.164,"vol":34164,"trade_turnover":450210.5778,"count":218},{"id":1603911600,"open":13200.0,"close":13154.9,"high":13237.4,"low":13145.0,"amount":22.158,"vol":22158,"trade_turnover":292020.0438,"count":185},{"id":1603915200,"open":13154.5,"close":13198.1,"high":13211.8,"low":13147.4,"amount":4.548,"vol":4548,"trade_turnover":59991.1118,"count":75},{"id":1603918800,"open":13193.5,"close":13190.1,"high":13196.5,"low":13100.2,"amount":3.52,"vol":3520,"trade_turnover":46175.428,"count":68},{"id":1603922400,"open":13185.4,"close":13252.0,"high":13267.5,"low":13185.4,"amount":3.122,"vol":3122,"trade_turnover":41304.2018,"count":72},{"id":1603926000,"open":13242.1,"close":13265.9,"high":13282.3,"low":13235.9,"amount":14.768,"vol":14768,"trade_turnover":195689.0764,"count":86},{"id":1603929600,"open":13253.9,"close":13245.1,"high":13294.7,"low":13237.4,"amount":19.968,"vol":19968,"trade_turnover":264834.1944,"count":98},{"id":1603933200,"open":13244.6,"close":13274.2,"high":13285.3,"low":13166.3,"amount":35.282,"vol":35282,"trade_turnover":465789.6302,"count":192},{"id":1603936800,"open":13275.9,"close":13241.1,"high":13277.7,"low":13212.2,"amount":9.748,"vol":9748,"trade_turnover":129016.0684,"count":119},{"id":1603940400,"open":13237.1,"close":13262.5,"high":13262.5,"low":13174.6,"amount":27.3,"vol":27300,"trade_turnover":360589.8982,"count":199},{"id":1603944000,"open":13269.1,"close":13229.5,"high":13277.7,"low":13229.5,"amount":18.904,"vol":18904,"trade_turnover":250713.2812,"count":109},{"id":1603947600,"open":13228.5,"close":13274.8,"high":13274.8,"low":13228.5,"amount":15.822,"vol":15822,"trade_turnover":209781.909,"count":134},{"id":1603951200,"open":13274.8,"close":13255.0,"high":13323.0,"low":13242.3,"amount":91.246,"vol":91246,"trade_turnover":1211271.2788,"count":294},{"id":1603954800,"open":13255.0,"close":13142.4,"high":13269.3,"low":13123.1,"amount":187.622,"vol":187622,"trade_turnover":2478299.7074,"count":506},{"id":1603958400,"open":13145.9,"close":13124.8,"high":13182.4,"low":13094.1,"amount":69.532,"vol":69532,"trade_turnover":914157.2418,"count":226},{"id":1603962000,"open":13129.5,"close":13183.7,"high":13197.1,"low":13129.5,"amount":23.184,"vol":23184,"trade_turnover":305485.9524,"count":141},{"id":1603965600,"open":13184.8,"close":13105.2,"high":13187.5,"low":13053.1,"amount":121.146,"vol":121146,"trade_turnover":1590026.4416,"count":442},{"id":1603969200,"open":13105.1,"close":13060.1,"high":13171.4,"low":13060.1,"amount":47.498,"vol":47498,"trade_turnover":623578.149,"count":262},{"id":1603972800,"open":13056.9,"close":13131.8,"high":13145.8,"low":12977.9,"amount":126.552,"vol":126552,"trade_turnover":1652549.311,"count":481},{"id":1603976400,"open":13131.7,"close":13230.0,"high":13237.2,"low":13102.0,"amount":100.482,"vol":100482,"trade_turnover":1326403.7206,"count":325},{"id":1603980000,"open":13231.0,"close":13420.8,"high":13476.1,"low":13231.0,"amount":253.258,"vol":253258,"trade_turnover":3384941.438,"count":752},{"id":1603983600,"open":13416.0,"close":13420.6,"high":13458.7,"low":13358.7,"amount":64.71,"vol":64710,"trade_turnover":869052.3804,"count":269},{"id":1603987200,"open":13421.9,"close":13535.9,"high":13594.5,"low":13391.8,"amount":120.24,"vol":120240,"trade_turnover":1626567.8278,"count":570}]} +2024-01-18 11:12:52.769 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:41] - 请求 KLine 数据解析之后的数据为:{"wsid":19750305,"data":[{"amount":0.276,"high":12300.0,"vol":276,"low":11715.8,"count":39,"id":1603270800,"close":12196.7,"tradeTurnover":3315.9104,"open":12198.0},{"amount":0.198,"high":12289.9,"vol":198,"low":12111.0,"count":21,"id":1603274400,"close":12277.9,"tradeTurnover":2420.7728,"open":12196.7},{"amount":0.012,"high":12277.9,"vol":12,"low":12000.0,"count":5,"id":1603278000,"close":12000.0,"tradeTurnover":145.2238,"open":12111.0},{"amount":0.084,"high":12498.0,"vol":84,"low":12078.0,"count":12,"id":1603281600,"close":12497.4,"tradeTurnover":1040.0504,"open":12078.0},{"amount":1.122,"high":12495.6,"vol":1122,"low":12282.9,"count":112,"id":1603285200,"close":12373.5,"tradeTurnover":13905.3124,"open":12495.6},{"amount":5.29,"high":12807.6,"vol":5290,"low":12358.1,"count":155,"id":1603288800,"close":12689.9,"tradeTurnover":66852.128,"open":12412.9},{"amount":1.174,"high":12778.7,"vol":1174,"low":12573.2,"count":113,"id":1603292400,"close":12701.9,"tradeTurnover":14907.367,"open":12692.8},{"amount":1.156,"high":12920.9,"vol":1156,"low":12624.8,"count":115,"id":1603296000,"close":12835.9,"tradeTurnover":14802.449,"open":12679.7},{"amount":1.12,"high":12908.3,"vol":1120,"low":12687.5,"count":115,"id":1603299600,"close":12754.2,"tradeTurnover":14345.7324,"open":12848.3},{"amount":1.106,"high":12849.0,"vol":1106,"low":12668.3,"count":114,"id":1603303200,"close":12740.2,"tradeTurnover":14105.3504,"open":12743.7},{"amount":1.032,"high":12843.1,"vol":1032,"low":12597.2,"count":112,"id":1603306800,"close":12650.3,"tradeTurnover":13125.4568,"open":12729.5},{"amount":1.154,"high":12848.4,"vol":1154,"low":12610.2,"count":116,"id":1603310400,"close":12807.0,"tradeTurnover":14680.638,"open":12666.8},{"amount":1.164,"high":13005.1,"vol":1164,"low":12748.2,"count":114,"id":1603314000,"close":12938.9,"tradeTurnover":14976.9366,"open":12866.0},{"amount":1.174,"high":13211.2,"vol":1174,"low":12865.7,"count":114,"id":1603317600,"close":13122.0,"tradeTurnover":15285.2446,"open":12921.0},{"amount":1.172,"high":13173.2,"vol":1172,"low":12688.6,"count":117,"id":1603321200,"close":12829.8,"tradeTurnover":15060.9938,"open":13153.2},{"amount":1.17,"high":12988.1,"vol":1170,"low":12764.4,"count":117,"id":1603324800,"close":12885.9,"tradeTurnover":15046.2046,"open":12793.1},{"amount":1.158,"high":12972.6,"vol":1158,"low":12757.5,"count":118,"id":1603328400,"close":12757.5,"tradeTurnover":14882.4656,"open":12860.4},{"amount":1.124,"high":12848.0,"vol":1124,"low":12729.0,"count":115,"id":1603332000,"close":12788.8,"tradeTurnover":14368.7948,"open":12824.1},{"amount":1.194,"high":12834.4,"vol":1194,"low":12729.0,"count":111,"id":1603335600,"close":12767.2,"tradeTurnover":15268.9298,"open":12791.7},{"amount":1.152,"high":12778.3,"vol":1152,"low":12729.0,"count":115,"id":1603339200,"close":12762.2,"tradeTurnover":14695.4876,"open":12729.0},{"amount":1.21,"high":12842.0,"vol":1210,"low":12730.6,"count":119,"id":1603342800,"close":12813.8,"tradeTurnover":15440.8162,"open":12763.1},{"amount":1.188,"high":12795.0,"vol":1188,"low":12728.0,"count":123,"id":1603346400,"close":12729.1,"tradeTurnover":15128.0098,"open":12795.0},{"amount":1.266,"high":12730.6,"vol":1266,"low":12728.3,"count":112,"id":1603350000,"close":12730.6,"tradeTurnover":16115.1306,"open":12728.6},{"amount":1.35,"high":12921.5,"vol":1350,"low":12729.9,"count":127,"id":1603353600,"close":12770.1,"tradeTurnover":17233.7326,"open":12730.3},{"amount":0.98,"high":12872.1,"vol":980,"low":12760.1,"count":99,"id":1603357200,"close":12780.4,"tradeTurnover":12553.9826,"open":12824.9},{"amount":0.266,"high":13002.7,"vol":266,"low":12775.6,"count":30,"id":1603360800,"close":12934.2,"tradeTurnover":3415.023,"open":12784.9},{"amount":1.004,"high":13057.0,"vol":1004,"low":12886.6,"count":117,"id":1603364400,"close":13045.0,"tradeTurnover":13020.8576,"open":12977.0},{"amount":1.134,"high":12973.4,"vol":1134,"low":12751.6,"count":111,"id":1603368000,"close":12847.9,"tradeTurnover":14594.2752,"open":12958.5},{"amount":1.152,"high":13000.8,"vol":1152,"low":12743.0,"count":114,"id":1603371600,"close":12931.0,"tradeTurnover":14877.7314,"open":12882.7},{"amount":1.182,"high":12995.3,"vol":1182,"low":12783.9,"count":115,"id":1603375200,"close":12917.8,"tradeTurnover":15224.4716,"open":12890.4},{"amount":1.176,"high":13031.2,"vol":1176,"low":12817.9,"count":117,"id":1603378800,"close":12953.0,"tradeTurnover":15197.208,"open":12918.8},{"amount":1.146,"high":13100.2,"vol":1146,"low":12865.6,"count":119,"id":1603382400,"close":13055.6,"tradeTurnover":14851.9604,"open":12923.1},{"amount":1.534,"high":13105.7,"vol":1534,"low":12835.5,"count":124,"id":1603386000,"close":13082.7,"tradeTurnover":19927.8288,"open":12967.6},{"amount":1.268,"high":13115.0,"vol":1268,"low":12938.7,"count":117,"id":1603389600,"close":13016.4,"tradeTurnover":16505.4738,"open":13020.4},{"amount":1.13,"high":13171.2,"vol":1130,"low":12961.8,"count":112,"id":1603393200,"close":12970.6,"tradeTurnover":14762.952,"open":13028.3},{"amount":1.206,"high":13216.1,"vol":1206,"low":12998.5,"count":117,"id":1603396800,"close":13089.3,"tradeTurnover":15807.1226,"open":13016.7},{"amount":1.332,"high":13203.7,"vol":1332,"low":12932.9,"count":114,"id":1603400400,"close":13092.0,"tradeTurnover":17423.4422,"open":13136.0},{"amount":1.21,"high":13250.5,"vol":1210,"low":12984.7,"count":114,"id":1603404000,"close":13055.9,"tradeTurnover":15876.0632,"open":13119.4},{"amount":1.286,"high":13126.5,"vol":1286,"low":12857.2,"count":116,"id":1603407600,"close":12890.4,"tradeTurnover":16688.422,"open":13059.4},{"amount":1.502,"high":12994.0,"vol":1502,"low":12751.6,"count":131,"id":1603411200,"close":12892.2,"tradeTurnover":19331.1596,"open":12929.7},{"amount":1.386,"high":13003.2,"vol":1386,"low":12786.0,"count":121,"id":1603414800,"close":12898.3,"tradeTurnover":17904.8902,"open":12921.7},{"amount":1.416,"high":13054.0,"vol":1416,"low":12800.7,"count":122,"id":1603418400,"close":12975.1,"tradeTurnover":18306.6204,"open":12951.6},{"amount":1.19,"high":13030.7,"vol":1190,"low":12875.0,"count":118,"id":1603422000,"close":12947.0,"tradeTurnover":15409.7984,"open":12967.3},{"amount":1.022,"high":13047.3,"vol":1022,"low":12832.8,"count":127,"id":1603425600,"close":12852.0,"tradeTurnover":13214.4388,"open":12925.2},{"amount":0.478,"high":12991.7,"vol":478,"low":12841.2,"count":118,"id":1603429200,"close":12931.1,"tradeTurnover":6180.2486,"open":12859.0},{"amount":0.522,"high":13014.1,"vol":522,"low":12871.9,"count":132,"id":1603432800,"close":12939.6,"tradeTurnover":6759.0324,"open":12935.9},{"amount":0.476,"high":12998.9,"vol":476,"low":12917.1,"count":118,"id":1603436400,"close":12925.4,"tradeTurnover":6163.3118,"open":12923.1},{"amount":0.508,"high":13014.0,"vol":508,"low":12916.1,"count":122,"id":1603440000,"close":12962.6,"tradeTurnover":6585.3656,"open":12942.2},{"amount":0.564,"high":13012.5,"vol":564,"low":12909.9,"count":124,"id":1603443600,"close":12926.4,"tradeTurnover":7308.8828,"open":12970.5},{"amount":0.536,"high":13059.5,"vol":536,"low":12925.7,"count":124,"id":1603447200,"close":13007.7,"tradeTurnover":6957.8796,"open":13001.2},{"amount":0.486,"high":13078.4,"vol":486,"low":12906.5,"count":122,"id":1603450800,"close":12970.6,"tradeTurnover":6326.1434,"open":13025.4},{"amount":0.494,"high":13025.0,"vol":494,"low":12850.8,"count":117,"id":1603454400,"close":12935.4,"tradeTurnover":6396.0984,"open":12963.9},{"amount":0.466,"high":13043.3,"vol":466,"low":12911.0,"count":117,"id":1603458000,"close":12951.7,"tradeTurnover":6049.1412,"open":12913.3},{"amount":0.46,"high":13006.4,"vol":460,"low":12840.4,"count":116,"id":1603461600,"close":12858.8,"tradeTurnover":5941.815,"open":12999.6},{"amount":0.492,"high":12932.9,"vol":492,"low":12826.5,"count":117,"id":1603465200,"close":12881.9,"tradeTurnover":6340.214,"open":12885.7},{"amount":0.484,"high":12933.5,"vol":484,"low":12744.4,"count":123,"id":1603468800,"close":12784.1,"tradeTurnover":6205.4138,"open":12854.4},{"amount":0.562,"high":12893.1,"vol":562,"low":12730.1,"count":152,"id":1603472400,"close":12847.7,"tradeTurnover":7218.9184,"open":12832.3},{"amount":0.53,"high":12939.3,"vol":530,"low":12751.4,"count":128,"id":1603476000,"close":12915.7,"tradeTurnover":6825.7004,"open":12874.1},{"amount":0.444,"high":12972.9,"vol":444,"low":12786.6,"count":117,"id":1603479600,"close":12972.9,"tradeTurnover":5727.7452,"open":12867.9},{"amount":0.492,"high":13002.2,"vol":492,"low":12842.9,"count":116,"id":1603483200,"close":12991.6,"tradeTurnover":6375.1566,"open":12956.7},{"amount":0.5,"high":13004.3,"vol":500,"low":12936.6,"count":125,"id":1603486800,"close":12943.5,"tradeTurnover":6485.468,"open":13004.3},{"amount":0.492,"high":13010.3,"vol":492,"low":12884.7,"count":120,"id":1603490400,"close":12989.2,"tradeTurnover":6376.1492,"open":12923.6},{"amount":0.51,"high":13024.4,"vol":510,"low":12884.6,"count":121,"id":1603494000,"close":12884.6,"tradeTurnover":6622.3406,"open":12974.9},{"amount":0.488,"high":13018.3,"vol":488,"low":12811.1,"count":120,"id":1603497600,"close":12953.9,"tradeTurnover":6317.7938,"open":12973.7},{"amount":0.482,"high":13018.1,"vol":482,"low":12872.8,"count":117,"id":1603501200,"close":12934.2,"tradeTurnover":6242.4178,"open":12927.5},{"amount":0.484,"high":13003.9,"vol":484,"low":12903.3,"count":117,"id":1603504800,"close":12989.1,"tradeTurnover":6278.1756,"open":12971.9},{"amount":0.474,"high":13013.4,"vol":474,"low":12938.3,"count":122,"id":1603508400,"close":12975.9,"tradeTurnover":6157.7096,"open":13000.1},{"amount":0.526,"high":13009.4,"vol":526,"low":12905.5,"count":124,"id":1603512000,"close":12963.3,"tradeTurnover":6831.5658,"open":12989.7},{"amount":0.522,"high":13041.8,"vol":522,"low":12875.3,"count":127,"id":1603515600,"close":12989.7,"tradeTurnover":6768.8994,"open":12910.5},{"amount":0.49,"high":13058.1,"vol":490,"low":12908.8,"count":120,"id":1603519200,"close":13003.6,"tradeTurnover":6370.5714,"open":12994.7},{"amount":0.478,"high":13037.8,"vol":478,"low":12981.7,"count":120,"id":1603522800,"close":13004.2,"tradeTurnover":6218.9722,"open":13011.9},{"amount":0.52,"high":13030.6,"vol":520,"low":12899.4,"count":124,"id":1603526400,"close":12998.2,"tradeTurnover":6754.958,"open":13003.0},{"amount":0.454,"high":13020.3,"vol":454,"low":12893.6,"count":115,"id":1603530000,"close":12990.6,"tradeTurnover":5891.0574,"open":12998.2},{"amount":0.502,"high":13059.1,"vol":502,"low":12913.2,"count":124,"id":1603533600,"close":13030.1,"tradeTurnover":6525.9004,"open":12996.4},{"amount":0.468,"high":13068.3,"vol":468,"low":12940.2,"count":119,"id":1603537200,"close":13033.2,"tradeTurnover":6091.0376,"open":12988.4},{"amount":0.468,"high":13071.8,"vol":468,"low":12978.9,"count":123,"id":1603540800,"close":13006.5,"tradeTurnover":6102.5902,"open":13035.3},{"amount":0.534,"high":13066.7,"vol":534,"low":12928.1,"count":123,"id":1603544400,"close":12985.9,"tradeTurnover":6950.4268,"open":13038.8},{"amount":0.47,"high":13100.1,"vol":470,"low":12960.5,"count":100,"id":1603548000,"close":13042.0,"tradeTurnover":6124.2178,"open":12986.3},{"amount":0.456,"high":13196.5,"vol":456,"low":13038.4,"count":120,"id":1603551600,"close":13102.2,"tradeTurnover":5989.6362,"open":13038.4},{"amount":0.458,"high":13176.6,"vol":458,"low":12984.6,"count":121,"id":1603555200,"close":13052.7,"tradeTurnover":5976.331,"open":13136.8},{"amount":0.452,"high":13177.8,"vol":452,"low":13003.2,"count":118,"id":1603558800,"close":13177.8,"tradeTurnover":5911.7058,"open":13006.2},{"amount":0.468,"high":13170.7,"vol":468,"low":13023.0,"count":119,"id":1603562400,"close":13080.8,"tradeTurnover":6122.375,"open":13127.7},{"amount":0.468,"high":13179.3,"vol":468,"low":13014.2,"count":120,"id":1603566000,"close":13148.4,"tradeTurnover":6126.4278,"open":13040.7},{"amount":0.47,"high":13179.6,"vol":470,"low":12992.5,"count":119,"id":1603569600,"close":13090.1,"tradeTurnover":6151.4758,"open":13073.5},{"amount":0.458,"high":13148.7,"vol":458,"low":12980.7,"count":117,"id":1603573200,"close":12993.9,"tradeTurnover":5981.071,"open":13035.4},{"amount":0.478,"high":13112.1,"vol":478,"low":12975.6,"count":118,"id":1603576800,"close":13041.1,"tradeTurnover":6225.4216,"open":13040.7},{"amount":0.472,"high":13184.3,"vol":472,"low":13009.3,"count":118,"id":1603580400,"close":13184.3,"tradeTurnover":6173.4244,"open":13012.6},{"amount":0.46,"high":13170.4,"vol":460,"low":13007.7,"count":115,"id":1603584000,"close":13154.3,"tradeTurnover":6024.09,"open":13080.8},{"amount":0.398,"high":13196.8,"vol":398,"low":13024.0,"count":102,"id":1603587600,"close":13196.1,"tradeTurnover":5217.5364,"open":13092.0},{"amount":0.476,"high":13175.1,"vol":476,"low":13035.0,"count":120,"id":1603591200,"close":13082.4,"tradeTurnover":6228.6596,"open":13124.7},{"amount":0.578,"high":13383.8,"vol":578,"low":13049.1,"count":137,"id":1603594800,"close":13259.0,"tradeTurnover":7629.3886,"open":13049.1},{"amount":0.47,"high":13369.0,"vol":470,"low":13216.0,"count":122,"id":1603598400,"close":13243.4,"tradeTurnover":6247.955,"open":13277.0},{"amount":0.61,"high":13353.3,"vol":610,"low":13010.1,"count":134,"id":1603602000,"close":13017.3,"tradeTurnover":8048.8598,"open":13285.3},{"amount":0.486,"high":13105.7,"vol":486,"low":13018.2,"count":118,"id":1603605600,"close":13060.3,"tradeTurnover":6344.1474,"open":13022.5},{"amount":0.464,"high":13112.1,"vol":464,"low":13022.0,"count":120,"id":1603609200,"close":13078.1,"tradeTurnover":6061.5416,"open":13048.5},{"amount":0.464,"high":13091.0,"vol":464,"low":13017.2,"count":120,"id":1603612800,"close":13046.0,"tradeTurnover":6055.3734,"open":13077.2},{"amount":0.478,"high":13084.0,"vol":478,"low":13014.2,"count":117,"id":1603616400,"close":13040.8,"tradeTurnover":6235.7882,"open":13065.1},{"amount":0.478,"high":13064.2,"vol":478,"low":13010.2,"count":125,"id":1603620000,"close":13028.5,"tradeTurnover":6232.2428,"open":13047.1},{"amount":0.534,"high":13061.5,"vol":534,"low":12852.9,"count":123,"id":1603623600,"close":12897.6,"tradeTurnover":6918.1226,"open":13061.5},{"amount":0.444,"high":13069.7,"vol":444,"low":12893.2,"count":117,"id":1603627200,"close":12964.3,"tradeTurnover":5755.8712,"open":12908.3},{"amount":0.498,"high":13071.9,"vol":498,"low":12891.8,"count":119,"id":1603630800,"close":12949.3,"tradeTurnover":6465.078,"open":13001.3},{"amount":0.468,"high":13077.7,"vol":468,"low":12900.0,"count":116,"id":1603634400,"close":12946.8,"tradeTurnover":6075.4554,"open":12975.8},{"amount":0.47,"high":13069.1,"vol":470,"low":12883.3,"count":119,"id":1603638000,"close":12883.3,"tradeTurnover":6097.1072,"open":12975.2},{"amount":0.482,"high":13067.9,"vol":482,"low":12877.5,"count":118,"id":1603641600,"close":12978.7,"tradeTurnover":6256.4472,"open":12916.2},{"amount":0.47,"high":13087.5,"vol":470,"low":12922.7,"count":117,"id":1603645200,"close":13004.4,"tradeTurnover":6108.3892,"open":13008.0},{"amount":0.468,"high":13067.6,"vol":468,"low":12893.6,"count":118,"id":1603648800,"close":12957.2,"tradeTurnover":6079.1484,"open":12972.8},{"amount":0.442,"high":13066.9,"vol":442,"low":12916.6,"count":118,"id":1603652400,"close":13021.8,"tradeTurnover":5746.5548,"open":12996.5},{"amount":0.508,"high":13081.5,"vol":508,"low":12944.9,"count":120,"id":1603656000,"close":12985.4,"tradeTurnover":6616.9872,"open":12992.9},{"amount":0.508,"high":13068.6,"vol":508,"low":12921.4,"count":122,"id":1603659600,"close":13011.2,"tradeTurnover":6614.816,"open":12999.9},{"amount":0.486,"high":13073.8,"vol":486,"low":12911.9,"count":121,"id":1603663200,"close":12959.4,"tradeTurnover":6320.907,"open":12979.6},{"amount":0.452,"high":13085.2,"vol":452,"low":12927.8,"count":113,"id":1603666800,"close":13032.1,"tradeTurnover":5878.6442,"open":12963.4},{"amount":0.482,"high":13076.7,"vol":482,"low":12918.3,"count":121,"id":1603670400,"close":13001.0,"tradeTurnover":6263.698,"open":12964.2},{"amount":0.478,"high":13096.4,"vol":478,"low":12991.2,"count":124,"id":1603674000,"close":13053.7,"tradeTurnover":6232.2328,"open":13040.0},{"amount":0.488,"high":13185.7,"vol":488,"low":12985.1,"count":121,"id":1603677600,"close":13064.4,"tradeTurnover":6387.534,"open":13060.6},{"amount":0.486,"high":13187.2,"vol":486,"low":12984.1,"count":135,"id":1603681200,"close":13092.8,"tradeTurnover":6369.0272,"open":13032.3},{"amount":0.51,"high":13181.6,"vol":510,"low":12962.3,"count":131,"id":1603684800,"close":13132.6,"tradeTurnover":6679.829,"open":13092.0},{"amount":0.506,"high":13205.3,"vol":506,"low":13025.3,"count":126,"id":1603688400,"close":13092.1,"tradeTurnover":6641.2128,"open":13129.2},{"amount":1.616,"high":13188.1,"vol":1616,"low":12989.8,"count":141,"id":1603692000,"close":13071.4,"tradeTurnover":21170.8224,"open":13121.8},{"amount":3.746,"high":13100.0,"vol":3746,"low":12965.2,"count":110,"id":1603695600,"close":13038.7,"tradeTurnover":48924.8902,"open":13061.0},{"amount":8.966,"high":13102.0,"vol":8966,"low":12852.8,"count":173,"id":1603699200,"close":13039.3,"tradeTurnover":116525.5534,"open":13030.9},{"amount":4.48,"high":13088.4,"vol":4480,"low":13039.8,"count":124,"id":1603702800,"close":13075.9,"tradeTurnover":58521.1714,"open":13047.1},{"amount":4.272,"high":13100.0,"vol":4272,"low":13060.2,"count":130,"id":1603706400,"close":13100.0,"tradeTurnover":55895.9778,"open":13072.1},{"amount":29.798,"high":13159.0,"vol":29798,"low":13100.0,"count":230,"id":1603710000,"close":13138.4,"tradeTurnover":391138.024,"open":13100.0},{"amount":5.154,"high":13200.0,"vol":5154,"low":13100.0,"count":188,"id":1603713600,"close":13149.8,"tradeTurnover":67694.652,"open":13138.8},{"amount":35.608,"high":13351.5,"vol":35608,"low":13133.1,"count":328,"id":1603717200,"close":13205.8,"tradeTurnover":472780.3394,"open":13150.0},{"amount":31.748,"high":13280.0,"vol":31748,"low":13144.1,"count":235,"id":1603720800,"close":13166.1,"tradeTurnover":418744.5588,"open":13203.0},{"amount":36.53,"high":13165.2,"vol":36530,"low":12903.8,"count":384,"id":1603724400,"close":12978.0,"tradeTurnover":476940.3296,"open":13159.0},{"amount":35.018,"high":13069.8,"vol":35018,"low":12850.5,"count":323,"id":1603728000,"close":12869.6,"tradeTurnover":453288.918,"open":12965.0},{"amount":92.628,"high":12941.5,"vol":92628,"low":12583.9,"count":560,"id":1603731600,"close":12873.8,"tradeTurnover":1185973.467,"open":12879.2},{"amount":4.302,"high":12954.5,"vol":4302,"low":12820.4,"count":128,"id":1603735200,"close":12946.8,"tradeTurnover":55481.0054,"open":12856.2},{"amount":13.83,"high":12953.5,"vol":13830,"low":12914.1,"count":118,"id":1603738800,"close":12953.4,"tradeTurnover":179112.1598,"open":12945.6},{"amount":17.172,"high":13007.5,"vol":17172,"low":12953.5,"count":132,"id":1603742400,"close":12983.4,"tradeTurnover":223230.2122,"open":12953.5},{"amount":3.212,"high":13007.5,"vol":3212,"low":12982.7,"count":59,"id":1603746000,"close":12993.8,"tradeTurnover":41767.8906,"open":12983.1},{"amount":1.504,"high":13007.5,"vol":1504,"low":12974.0,"count":74,"id":1603749600,"close":13007.5,"tradeTurnover":19543.3568,"open":13002.1},{"amount":3.454,"high":13061.2,"vol":3454,"low":13007.5,"count":101,"id":1603753200,"close":13033.7,"tradeTurnover":45001.601,"open":13007.5},{"amount":8.784,"high":13105.0,"vol":8784,"low":13028.3,"count":98,"id":1603756800,"close":13067.1,"tradeTurnover":114871.8246,"open":13029.2},{"amount":11.592,"high":13074.4,"vol":11592,"low":13051.5,"count":66,"id":1603760400,"close":13061.7,"tradeTurnover":151386.9038,"open":13074.3},{"amount":19.298,"high":13097.6,"vol":19298,"low":13040.1,"count":109,"id":1603764000,"close":13049.7,"tradeTurnover":252061.019,"open":13061.7},{"amount":22.992,"high":13080.0,"vol":22992,"low":13057.1,"count":69,"id":1603767600,"close":13070.4,"tradeTurnover":300453.9788,"open":13057.6},{"amount":14.396,"high":13175.0,"vol":14396,"low":13079.6,"count":59,"id":1603771200,"close":13103.3,"tradeTurnover":188461.9156,"open":13080.0},{"amount":5.058,"high":13121.3,"vol":5058,"low":13069.7,"count":44,"id":1603774800,"close":13073.6,"tradeTurnover":66201.3552,"open":13121.3},{"amount":9.106,"high":13149.0,"vol":9106,"low":13069.6,"count":107,"id":1603778400,"close":13103.4,"tradeTurnover":119104.8906,"open":13074.9},{"amount":73.95,"high":13169.8,"vol":73950,"low":12992.4,"count":305,"id":1603782000,"close":13130.0,"tradeTurnover":968195.155,"open":13103.3},{"amount":18.732,"high":13148.4,"vol":18732,"low":13044.0,"count":135,"id":1603785600,"close":13123.8,"tradeTurnover":245533.5448,"open":13135.1},{"amount":13.756,"high":13131.8,"vol":13756,"low":13075.7,"count":102,"id":1603789200,"close":13131.7,"tradeTurnover":180253.7708,"open":13115.5},{"amount":154.108,"high":13252.0,"vol":154108,"low":13063.4,"count":525,"id":1603792800,"close":13216.9,"tradeTurnover":2029983.656,"open":13134.8},{"amount":170.09,"high":13590.1,"vol":170090,"low":13213.5,"count":591,"id":1603796400,"close":13395.8,"tradeTurnover":2276279.742,"open":13218.8},{"amount":48.928,"high":13414.0,"vol":48928,"low":13331.7,"count":216,"id":1603800000,"close":13376.9,"tradeTurnover":654585.9108,"open":13395.9},{"amount":63.294,"high":13490.9,"vol":63294,"low":13329.8,"count":316,"id":1603803600,"close":13384.3,"tradeTurnover":848130.9212,"open":13376.5},{"amount":12.892,"high":13415.8,"vol":12892,"low":13344.8,"count":124,"id":1603807200,"close":13398.2,"tradeTurnover":172618.6864,"open":13392.6},{"amount":93.22,"high":13626.7,"vol":93220,"low":13398.2,"count":476,"id":1603810800,"close":13598.5,"tradeTurnover":1262695.5466,"open":13398.2},{"amount":85.45,"high":13639.9,"vol":85450,"low":13520.2,"count":435,"id":1603814400,"close":13639.9,"tradeTurnover":1161481.4136,"open":13595.8},{"amount":191.812,"high":13826.7,"vol":191812,"low":13589.0,"count":711,"id":1603818000,"close":13688.1,"tradeTurnover":2628428.3788,"open":13640.0},{"amount":65.434,"high":13745.0,"vol":65434,"low":13528.2,"count":410,"id":1603821600,"close":13630.1,"tradeTurnover":891541.8394,"open":13685.0},{"amount":5.788,"high":13659.8,"vol":5788,"low":13595.4,"count":65,"id":1603825200,"close":13637.1,"tradeTurnover":78836.2578,"open":13629.4},{"amount":163.104,"high":13805.1,"vol":163104,"low":13582.6,"count":537,"id":1603828800,"close":13616.6,"tradeTurnover":2234040.3544,"open":13644.4},{"amount":9.884,"high":13753.5,"vol":9884,"low":13609.8,"count":101,"id":1603832400,"close":13705.5,"tradeTurnover":135406.4752,"open":13609.8},{"amount":7.436,"high":13739.9,"vol":7436,"low":13658.2,"count":100,"id":1603836000,"close":13739.9,"tradeTurnover":101840.3508,"open":13705.4},{"amount":17.086,"high":13794.6,"vol":17086,"low":13582.6,"count":234,"id":1603839600,"close":13649.6,"tradeTurnover":233971.8448,"open":13739.9},{"amount":24.108,"high":13745.2,"vol":24108,"low":13618.8,"count":177,"id":1603843200,"close":13701.7,"tradeTurnover":330206.5694,"open":13645.9},{"amount":15.892,"high":13725.6,"vol":15892,"low":13647.9,"count":151,"id":1603846800,"close":13702.6,"tradeTurnover":217816.7008,"open":13702.1},{"amount":46.548,"high":13832.2,"vol":46548,"low":13680.2,"count":274,"id":1603850400,"close":13811.6,"tradeTurnover":640636.0352,"open":13701.7},{"amount":67.896,"high":13820.3,"vol":67896,"low":13717.5,"count":320,"id":1603854000,"close":13777.0,"tradeTurnover":935838.2238,"open":13818.5},{"amount":33.156,"high":13807.2,"vol":33156,"low":13710.0,"count":210,"id":1603857600,"close":13735.7,"tradeTurnover":455941.234,"open":13767.3},{"amount":32.076,"high":13753.9,"vol":32076,"low":13671.3,"count":198,"id":1603861200,"close":13715.8,"tradeTurnover":439612.64,"open":13735.5},{"amount":14.756,"high":13757.0,"vol":14756,"low":13694.9,"count":122,"id":1603864800,"close":13701.3,"tradeTurnover":202602.5164,"open":13715.9},{"amount":155.534,"high":13708.7,"vol":155534,"low":13550.0,"count":635,"id":1603868400,"close":13674.2,"tradeTurnover":2117935.0928,"open":13701.2},{"amount":29.846,"high":13691.7,"vol":29846,"low":13584.0,"count":240,"id":1603872000,"close":13691.7,"tradeTurnover":407073.1398,"open":13673.0},{"amount":104.542,"high":13707.5,"vol":104542,"low":13573.5,"count":377,"id":1603875600,"close":13587.1,"tradeTurnover":1425079.9344,"open":13689.3},{"amount":73.818,"high":13618.0,"vol":73818,"low":13504.7,"count":358,"id":1603879200,"close":13552.7,"tradeTurnover":1001666.0908,"open":13584.6},{"amount":176.544,"high":13565.4,"vol":176544,"low":13330.0,"count":1004,"id":1603882800,"close":13336.4,"tradeTurnover":2369166.1492,"open":13552.6},{"amount":289.73,"high":13385.0,"vol":289730,"low":13173.9,"count":968,"id":1603886400,"close":13300.3,"tradeTurnover":3846751.7166,"open":13331.5},{"amount":139.822,"high":13340.0,"vol":139822,"low":13122.9,"count":612,"id":1603890000,"close":13129.9,"tradeTurnover":1848876.932,"open":13300.2},{"amount":367.876,"high":13168.2,"vol":367876,"low":12915.9,"count":1168,"id":1603893600,"close":13082.2,"tradeTurnover":4802516.9818,"open":13123.4},{"amount":84.044,"high":13235.2,"vol":84044,"low":13052.3,"count":375,"id":1603897200,"close":13221.2,"tradeTurnover":1106883.1282,"open":13077.1},{"amount":29.566,"high":13218.7,"vol":29566,"low":13050.0,"count":244,"id":1603900800,"close":13145.1,"tradeTurnover":388697.4104,"open":13218.7},{"amount":53.336,"high":13204.9,"vol":53336,"low":13006.6,"count":299,"id":1603904400,"close":13176.7,"tradeTurnover":700385.2784,"open":13145.1},{"amount":34.164,"high":13219.6,"vol":34164,"low":13131.0,"count":218,"id":1603908000,"close":13196.5,"tradeTurnover":450210.5778,"open":13171.0},{"amount":22.158,"high":13237.4,"vol":22158,"low":13145.0,"count":185,"id":1603911600,"close":13154.9,"tradeTurnover":292020.0438,"open":13200.0},{"amount":4.548,"high":13211.8,"vol":4548,"low":13147.4,"count":75,"id":1603915200,"close":13198.1,"tradeTurnover":59991.1118,"open":13154.5},{"amount":3.52,"high":13196.5,"vol":3520,"low":13100.2,"count":68,"id":1603918800,"close":13190.1,"tradeTurnover":46175.428,"open":13193.5},{"amount":3.122,"high":13267.5,"vol":3122,"low":13185.4,"count":72,"id":1603922400,"close":13252.0,"tradeTurnover":41304.2018,"open":13185.4},{"amount":14.768,"high":13282.3,"vol":14768,"low":13235.9,"count":86,"id":1603926000,"close":13265.9,"tradeTurnover":195689.0764,"open":13242.1},{"amount":19.968,"high":13294.7,"vol":19968,"low":13237.4,"count":98,"id":1603929600,"close":13245.1,"tradeTurnover":264834.1944,"open":13253.9},{"amount":35.282,"high":13285.3,"vol":35282,"low":13166.3,"count":192,"id":1603933200,"close":13274.2,"tradeTurnover":465789.6302,"open":13244.6},{"amount":9.748,"high":13277.7,"vol":9748,"low":13212.2,"count":119,"id":1603936800,"close":13241.1,"tradeTurnover":129016.0684,"open":13275.9},{"amount":27.3,"high":13262.5,"vol":27300,"low":13174.6,"count":199,"id":1603940400,"close":13262.5,"tradeTurnover":360589.8982,"open":13237.1},{"amount":18.904,"high":13277.7,"vol":18904,"low":13229.5,"count":109,"id":1603944000,"close":13229.5,"tradeTurnover":250713.2812,"open":13269.1},{"amount":15.822,"high":13274.8,"vol":15822,"low":13228.5,"count":134,"id":1603947600,"close":13274.8,"tradeTurnover":209781.909,"open":13228.5},{"amount":91.246,"high":13323.0,"vol":91246,"low":13242.3,"count":294,"id":1603951200,"close":13255.0,"tradeTurnover":1211271.2788,"open":13274.8},{"amount":187.622,"high":13269.3,"vol":187622,"low":13123.1,"count":506,"id":1603954800,"close":13142.4,"tradeTurnover":2478299.7074,"open":13255.0},{"amount":69.532,"high":13182.4,"vol":69532,"low":13094.1,"count":226,"id":1603958400,"close":13124.8,"tradeTurnover":914157.2418,"open":13145.9},{"amount":23.184,"high":13197.1,"vol":23184,"low":13129.5,"count":141,"id":1603962000,"close":13183.7,"tradeTurnover":305485.9524,"open":13129.5},{"amount":121.146,"high":13187.5,"vol":121146,"low":13053.1,"count":442,"id":1603965600,"close":13105.2,"tradeTurnover":1590026.4416,"open":13184.8},{"amount":47.498,"high":13171.4,"vol":47498,"low":13060.1,"count":262,"id":1603969200,"close":13060.1,"tradeTurnover":623578.149,"open":13105.1},{"amount":126.552,"high":13145.8,"vol":126552,"low":12977.9,"count":481,"id":1603972800,"close":13131.8,"tradeTurnover":1652549.311,"open":13056.9},{"amount":100.482,"high":13237.2,"vol":100482,"low":13102.0,"count":325,"id":1603976400,"close":13230.0,"tradeTurnover":1326403.7206,"open":13131.7},{"amount":253.258,"high":13476.1,"vol":253258,"low":13231.0,"count":752,"id":1603980000,"close":13420.8,"tradeTurnover":3384941.438,"open":13231.0},{"amount":64.71,"high":13458.7,"vol":64710,"low":13358.7,"count":269,"id":1603983600,"close":13420.6,"tradeTurnover":869052.3804,"open":13416.0},{"amount":120.24,"high":13594.5,"vol":120240,"low":13391.8,"count":570,"id":1603987200,"close":13535.9,"tradeTurnover":1626567.8278,"open":13421.9}],"id":"","rep":"market.BTC-USDT.kline.60min","status":"ok"} +2024-01-18 11:12:53.841 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:39] - 请求 KLine 数据用户收到的原始数据:{"id":"","rep":"market.BTC-USDT.kline.60min","ts":1705547572742,"wsid":19750305,"status":"ok","data":[{"id":1603270800,"open":12198.0,"close":12196.7,"high":12300.0,"low":11715.8,"amount":0.276,"vol":276,"trade_turnover":3315.9104,"count":39},{"id":1603274400,"open":12196.7,"close":12277.9,"high":12289.9,"low":12111.0,"amount":0.198,"vol":198,"trade_turnover":2420.7728,"count":21},{"id":1603278000,"open":12111.0,"close":12000.0,"high":12277.9,"low":12000.0,"amount":0.012,"vol":12,"trade_turnover":145.2238,"count":5},{"id":1603281600,"open":12078.0,"close":12497.4,"high":12498.0,"low":12078.0,"amount":0.084,"vol":84,"trade_turnover":1040.0504,"count":12},{"id":1603285200,"open":12495.6,"close":12373.5,"high":12495.6,"low":12282.9,"amount":1.122,"vol":1122,"trade_turnover":13905.3124,"count":112},{"id":1603288800,"open":12412.9,"close":12689.9,"high":12807.6,"low":12358.1,"amount":5.29,"vol":5290,"trade_turnover":66852.128,"count":155},{"id":1603292400,"open":12692.8,"close":12701.9,"high":12778.7,"low":12573.2,"amount":1.174,"vol":1174,"trade_turnover":14907.367,"count":113},{"id":1603296000,"open":12679.7,"close":12835.9,"high":12920.9,"low":12624.8,"amount":1.156,"vol":1156,"trade_turnover":14802.449,"count":115},{"id":1603299600,"open":12848.3,"close":12754.2,"high":12908.3,"low":12687.5,"amount":1.12,"vol":1120,"trade_turnover":14345.7324,"count":115},{"id":1603303200,"open":12743.7,"close":12740.2,"high":12849.0,"low":12668.3,"amount":1.106,"vol":1106,"trade_turnover":14105.3504,"count":114},{"id":1603306800,"open":12729.5,"close":12650.3,"high":12843.1,"low":12597.2,"amount":1.032,"vol":1032,"trade_turnover":13125.4568,"count":112},{"id":1603310400,"open":12666.8,"close":12807.0,"high":12848.4,"low":12610.2,"amount":1.154,"vol":1154,"trade_turnover":14680.638,"count":116},{"id":1603314000,"open":12866.0,"close":12938.9,"high":13005.1,"low":12748.2,"amount":1.164,"vol":1164,"trade_turnover":14976.9366,"count":114},{"id":1603317600,"open":12921.0,"close":13122.0,"high":13211.2,"low":12865.7,"amount":1.174,"vol":1174,"trade_turnover":15285.2446,"count":114},{"id":1603321200,"open":13153.2,"close":12829.8,"high":13173.2,"low":12688.6,"amount":1.172,"vol":1172,"trade_turnover":15060.9938,"count":117},{"id":1603324800,"open":12793.1,"close":12885.9,"high":12988.1,"low":12764.4,"amount":1.17,"vol":1170,"trade_turnover":15046.2046,"count":117},{"id":1603328400,"open":12860.4,"close":12757.5,"high":12972.6,"low":12757.5,"amount":1.158,"vol":1158,"trade_turnover":14882.4656,"count":118},{"id":1603332000,"open":12824.1,"close":12788.8,"high":12848.0,"low":12729.0,"amount":1.124,"vol":1124,"trade_turnover":14368.7948,"count":115},{"id":1603335600,"open":12791.7,"close":12767.2,"high":12834.4,"low":12729.0,"amount":1.194,"vol":1194,"trade_turnover":15268.9298,"count":111},{"id":1603339200,"open":12729.0,"close":12762.2,"high":12778.3,"low":12729.0,"amount":1.152,"vol":1152,"trade_turnover":14695.4876,"count":115},{"id":1603342800,"open":12763.1,"close":12813.8,"high":12842.0,"low":12730.6,"amount":1.21,"vol":1210,"trade_turnover":15440.8162,"count":119},{"id":1603346400,"open":12795.0,"close":12729.1,"high":12795.0,"low":12728.0,"amount":1.188,"vol":1188,"trade_turnover":15128.0098,"count":123},{"id":1603350000,"open":12728.6,"close":12730.6,"high":12730.6,"low":12728.3,"amount":1.266,"vol":1266,"trade_turnover":16115.1306,"count":112},{"id":1603353600,"open":12730.3,"close":12770.1,"high":12921.5,"low":12729.9,"amount":1.35,"vol":1350,"trade_turnover":17233.7326,"count":127},{"id":1603357200,"open":12824.9,"close":12780.4,"high":12872.1,"low":12760.1,"amount":0.98,"vol":980,"trade_turnover":12553.9826,"count":99},{"id":1603360800,"open":12784.9,"close":12934.2,"high":13002.7,"low":12775.6,"amount":0.266,"vol":266,"trade_turnover":3415.023,"count":30},{"id":1603364400,"open":12977.0,"close":13045.0,"high":13057.0,"low":12886.6,"amount":1.004,"vol":1004,"trade_turnover":13020.8576,"count":117},{"id":1603368000,"open":12958.5,"close":12847.9,"high":12973.4,"low":12751.6,"amount":1.134,"vol":1134,"trade_turnover":14594.2752,"count":111},{"id":1603371600,"open":12882.7,"close":12931.0,"high":13000.8,"low":12743.0,"amount":1.152,"vol":1152,"trade_turnover":14877.7314,"count":114},{"id":1603375200,"open":12890.4,"close":12917.8,"high":12995.3,"low":12783.9,"amount":1.182,"vol":1182,"trade_turnover":15224.4716,"count":115},{"id":1603378800,"open":12918.8,"close":12953.0,"high":13031.2,"low":12817.9,"amount":1.176,"vol":1176,"trade_turnover":15197.208,"count":117},{"id":1603382400,"open":12923.1,"close":13055.6,"high":13100.2,"low":12865.6,"amount":1.146,"vol":1146,"trade_turnover":14851.9604,"count":119},{"id":1603386000,"open":12967.6,"close":13082.7,"high":13105.7,"low":12835.5,"amount":1.534,"vol":1534,"trade_turnover":19927.8288,"count":124},{"id":1603389600,"open":13020.4,"close":13016.4,"high":13115.0,"low":12938.7,"amount":1.268,"vol":1268,"trade_turnover":16505.4738,"count":117},{"id":1603393200,"open":13028.3,"close":12970.6,"high":13171.2,"low":12961.8,"amount":1.13,"vol":1130,"trade_turnover":14762.952,"count":112},{"id":1603396800,"open":13016.7,"close":13089.3,"high":13216.1,"low":12998.5,"amount":1.206,"vol":1206,"trade_turnover":15807.1226,"count":117},{"id":1603400400,"open":13136.0,"close":13092.0,"high":13203.7,"low":12932.9,"amount":1.332,"vol":1332,"trade_turnover":17423.4422,"count":114},{"id":1603404000,"open":13119.4,"close":13055.9,"high":13250.5,"low":12984.7,"amount":1.21,"vol":1210,"trade_turnover":15876.0632,"count":114},{"id":1603407600,"open":13059.4,"close":12890.4,"high":13126.5,"low":12857.2,"amount":1.286,"vol":1286,"trade_turnover":16688.422,"count":116},{"id":1603411200,"open":12929.7,"close":12892.2,"high":12994.0,"low":12751.6,"amount":1.502,"vol":1502,"trade_turnover":19331.1596,"count":131},{"id":1603414800,"open":12921.7,"close":12898.3,"high":13003.2,"low":12786.0,"amount":1.386,"vol":1386,"trade_turnover":17904.8902,"count":121},{"id":1603418400,"open":12951.6,"close":12975.1,"high":13054.0,"low":12800.7,"amount":1.416,"vol":1416,"trade_turnover":18306.6204,"count":122},{"id":1603422000,"open":12967.3,"close":12947.0,"high":13030.7,"low":12875.0,"amount":1.19,"vol":1190,"trade_turnover":15409.7984,"count":118},{"id":1603425600,"open":12925.2,"close":12852.0,"high":13047.3,"low":12832.8,"amount":1.022,"vol":1022,"trade_turnover":13214.4388,"count":127},{"id":1603429200,"open":12859.0,"close":12931.1,"high":12991.7,"low":12841.2,"amount":0.478,"vol":478,"trade_turnover":6180.2486,"count":118},{"id":1603432800,"open":12935.9,"close":12939.6,"high":13014.1,"low":12871.9,"amount":0.522,"vol":522,"trade_turnover":6759.0324,"count":132},{"id":1603436400,"open":12923.1,"close":12925.4,"high":12998.9,"low":12917.1,"amount":0.476,"vol":476,"trade_turnover":6163.3118,"count":118},{"id":1603440000,"open":12942.2,"close":12962.6,"high":13014.0,"low":12916.1,"amount":0.508,"vol":508,"trade_turnover":6585.3656,"count":122},{"id":1603443600,"open":12970.5,"close":12926.4,"high":13012.5,"low":12909.9,"amount":0.564,"vol":564,"trade_turnover":7308.8828,"count":124},{"id":1603447200,"open":13001.2,"close":13007.7,"high":13059.5,"low":12925.7,"amount":0.536,"vol":536,"trade_turnover":6957.8796,"count":124},{"id":1603450800,"open":13025.4,"close":12970.6,"high":13078.4,"low":12906.5,"amount":0.486,"vol":486,"trade_turnover":6326.1434,"count":122},{"id":1603454400,"open":12963.9,"close":12935.4,"high":13025.0,"low":12850.8,"amount":0.494,"vol":494,"trade_turnover":6396.0984,"count":117},{"id":1603458000,"open":12913.3,"close":12951.7,"high":13043.3,"low":12911.0,"amount":0.466,"vol":466,"trade_turnover":6049.1412,"count":117},{"id":1603461600,"open":12999.6,"close":12858.8,"high":13006.4,"low":12840.4,"amount":0.46,"vol":460,"trade_turnover":5941.815,"count":116},{"id":1603465200,"open":12885.7,"close":12881.9,"high":12932.9,"low":12826.5,"amount":0.492,"vol":492,"trade_turnover":6340.214,"count":117},{"id":1603468800,"open":12854.4,"close":12784.1,"high":12933.5,"low":12744.4,"amount":0.484,"vol":484,"trade_turnover":6205.4138,"count":123},{"id":1603472400,"open":12832.3,"close":12847.7,"high":12893.1,"low":12730.1,"amount":0.562,"vol":562,"trade_turnover":7218.9184,"count":152},{"id":1603476000,"open":12874.1,"close":12915.7,"high":12939.3,"low":12751.4,"amount":0.53,"vol":530,"trade_turnover":6825.7004,"count":128},{"id":1603479600,"open":12867.9,"close":12972.9,"high":12972.9,"low":12786.6,"amount":0.444,"vol":444,"trade_turnover":5727.7452,"count":117},{"id":1603483200,"open":12956.7,"close":12991.6,"high":13002.2,"low":12842.9,"amount":0.492,"vol":492,"trade_turnover":6375.1566,"count":116},{"id":1603486800,"open":13004.3,"close":12943.5,"high":13004.3,"low":12936.6,"amount":0.5,"vol":500,"trade_turnover":6485.468,"count":125},{"id":1603490400,"open":12923.6,"close":12989.2,"high":13010.3,"low":12884.7,"amount":0.492,"vol":492,"trade_turnover":6376.1492,"count":120},{"id":1603494000,"open":12974.9,"close":12884.6,"high":13024.4,"low":12884.6,"amount":0.51,"vol":510,"trade_turnover":6622.3406,"count":121},{"id":1603497600,"open":12973.7,"close":12953.9,"high":13018.3,"low":12811.1,"amount":0.488,"vol":488,"trade_turnover":6317.7938,"count":120},{"id":1603501200,"open":12927.5,"close":12934.2,"high":13018.1,"low":12872.8,"amount":0.482,"vol":482,"trade_turnover":6242.4178,"count":117},{"id":1603504800,"open":12971.9,"close":12989.1,"high":13003.9,"low":12903.3,"amount":0.484,"vol":484,"trade_turnover":6278.1756,"count":117},{"id":1603508400,"open":13000.1,"close":12975.9,"high":13013.4,"low":12938.3,"amount":0.474,"vol":474,"trade_turnover":6157.7096,"count":122},{"id":1603512000,"open":12989.7,"close":12963.3,"high":13009.4,"low":12905.5,"amount":0.526,"vol":526,"trade_turnover":6831.5658,"count":124},{"id":1603515600,"open":12910.5,"close":12989.7,"high":13041.8,"low":12875.3,"amount":0.522,"vol":522,"trade_turnover":6768.8994,"count":127},{"id":1603519200,"open":12994.7,"close":13003.6,"high":13058.1,"low":12908.8,"amount":0.49,"vol":490,"trade_turnover":6370.5714,"count":120},{"id":1603522800,"open":13011.9,"close":13004.2,"high":13037.8,"low":12981.7,"amount":0.478,"vol":478,"trade_turnover":6218.9722,"count":120},{"id":1603526400,"open":13003.0,"close":12998.2,"high":13030.6,"low":12899.4,"amount":0.52,"vol":520,"trade_turnover":6754.958,"count":124},{"id":1603530000,"open":12998.2,"close":12990.6,"high":13020.3,"low":12893.6,"amount":0.454,"vol":454,"trade_turnover":5891.0574,"count":115},{"id":1603533600,"open":12996.4,"close":13030.1,"high":13059.1,"low":12913.2,"amount":0.502,"vol":502,"trade_turnover":6525.9004,"count":124},{"id":1603537200,"open":12988.4,"close":13033.2,"high":13068.3,"low":12940.2,"amount":0.468,"vol":468,"trade_turnover":6091.0376,"count":119},{"id":1603540800,"open":13035.3,"close":13006.5,"high":13071.8,"low":12978.9,"amount":0.468,"vol":468,"trade_turnover":6102.5902,"count":123},{"id":1603544400,"open":13038.8,"close":12985.9,"high":13066.7,"low":12928.1,"amount":0.534,"vol":534,"trade_turnover":6950.4268,"count":123},{"id":1603548000,"open":12986.3,"close":13042.0,"high":13100.1,"low":12960.5,"amount":0.47,"vol":470,"trade_turnover":6124.2178,"count":100},{"id":1603551600,"open":13038.4,"close":13102.2,"high":13196.5,"low":13038.4,"amount":0.456,"vol":456,"trade_turnover":5989.6362,"count":120},{"id":1603555200,"open":13136.8,"close":13052.7,"high":13176.6,"low":12984.6,"amount":0.458,"vol":458,"trade_turnover":5976.331,"count":121},{"id":1603558800,"open":13006.2,"close":13177.8,"high":13177.8,"low":13003.2,"amount":0.452,"vol":452,"trade_turnover":5911.7058,"count":118},{"id":1603562400,"open":13127.7,"close":13080.8,"high":13170.7,"low":13023.0,"amount":0.468,"vol":468,"trade_turnover":6122.375,"count":119},{"id":1603566000,"open":13040.7,"close":13148.4,"high":13179.3,"low":13014.2,"amount":0.468,"vol":468,"trade_turnover":6126.4278,"count":120},{"id":1603569600,"open":13073.5,"close":13090.1,"high":13179.6,"low":12992.5,"amount":0.47,"vol":470,"trade_turnover":6151.4758,"count":119},{"id":1603573200,"open":13035.4,"close":12993.9,"high":13148.7,"low":12980.7,"amount":0.458,"vol":458,"trade_turnover":5981.071,"count":117},{"id":1603576800,"open":13040.7,"close":13041.1,"high":13112.1,"low":12975.6,"amount":0.478,"vol":478,"trade_turnover":6225.4216,"count":118},{"id":1603580400,"open":13012.6,"close":13184.3,"high":13184.3,"low":13009.3,"amount":0.472,"vol":472,"trade_turnover":6173.4244,"count":118},{"id":1603584000,"open":13080.8,"close":13154.3,"high":13170.4,"low":13007.7,"amount":0.46,"vol":460,"trade_turnover":6024.09,"count":115},{"id":1603587600,"open":13092.0,"close":13196.1,"high":13196.8,"low":13024.0,"amount":0.398,"vol":398,"trade_turnover":5217.5364,"count":102},{"id":1603591200,"open":13124.7,"close":13082.4,"high":13175.1,"low":13035.0,"amount":0.476,"vol":476,"trade_turnover":6228.6596,"count":120},{"id":1603594800,"open":13049.1,"close":13259.0,"high":13383.8,"low":13049.1,"amount":0.578,"vol":578,"trade_turnover":7629.3886,"count":137},{"id":1603598400,"open":13277.0,"close":13243.4,"high":13369.0,"low":13216.0,"amount":0.47,"vol":470,"trade_turnover":6247.955,"count":122},{"id":1603602000,"open":13285.3,"close":13017.3,"high":13353.3,"low":13010.1,"amount":0.61,"vol":610,"trade_turnover":8048.8598,"count":134},{"id":1603605600,"open":13022.5,"close":13060.3,"high":13105.7,"low":13018.2,"amount":0.486,"vol":486,"trade_turnover":6344.1474,"count":118},{"id":1603609200,"open":13048.5,"close":13078.1,"high":13112.1,"low":13022.0,"amount":0.464,"vol":464,"trade_turnover":6061.5416,"count":120},{"id":1603612800,"open":13077.2,"close":13046.0,"high":13091.0,"low":13017.2,"amount":0.464,"vol":464,"trade_turnover":6055.3734,"count":120},{"id":1603616400,"open":13065.1,"close":13040.8,"high":13084.0,"low":13014.2,"amount":0.478,"vol":478,"trade_turnover":6235.7882,"count":117},{"id":1603620000,"open":13047.1,"close":13028.5,"high":13064.2,"low":13010.2,"amount":0.478,"vol":478,"trade_turnover":6232.2428,"count":125},{"id":1603623600,"open":13061.5,"close":12897.6,"high":13061.5,"low":12852.9,"amount":0.534,"vol":534,"trade_turnover":6918.1226,"count":123},{"id":1603627200,"open":12908.3,"close":12964.3,"high":13069.7,"low":12893.2,"amount":0.444,"vol":444,"trade_turnover":5755.8712,"count":117},{"id":1603630800,"open":13001.3,"close":12949.3,"high":13071.9,"low":12891.8,"amount":0.498,"vol":498,"trade_turnover":6465.078,"count":119},{"id":1603634400,"open":12975.8,"close":12946.8,"high":13077.7,"low":12900.0,"amount":0.468,"vol":468,"trade_turnover":6075.4554,"count":116},{"id":1603638000,"open":12975.2,"close":12883.3,"high":13069.1,"low":12883.3,"amount":0.47,"vol":470,"trade_turnover":6097.1072,"count":119},{"id":1603641600,"open":12916.2,"close":12978.7,"high":13067.9,"low":12877.5,"amount":0.482,"vol":482,"trade_turnover":6256.4472,"count":118},{"id":1603645200,"open":13008.0,"close":13004.4,"high":13087.5,"low":12922.7,"amount":0.47,"vol":470,"trade_turnover":6108.3892,"count":117},{"id":1603648800,"open":12972.8,"close":12957.2,"high":13067.6,"low":12893.6,"amount":0.468,"vol":468,"trade_turnover":6079.1484,"count":118},{"id":1603652400,"open":12996.5,"close":13021.8,"high":13066.9,"low":12916.6,"amount":0.442,"vol":442,"trade_turnover":5746.5548,"count":118},{"id":1603656000,"open":12992.9,"close":12985.4,"high":13081.5,"low":12944.9,"amount":0.508,"vol":508,"trade_turnover":6616.9872,"count":120},{"id":1603659600,"open":12999.9,"close":13011.2,"high":13068.6,"low":12921.4,"amount":0.508,"vol":508,"trade_turnover":6614.816,"count":122},{"id":1603663200,"open":12979.6,"close":12959.4,"high":13073.8,"low":12911.9,"amount":0.486,"vol":486,"trade_turnover":6320.907,"count":121},{"id":1603666800,"open":12963.4,"close":13032.1,"high":13085.2,"low":12927.8,"amount":0.452,"vol":452,"trade_turnover":5878.6442,"count":113},{"id":1603670400,"open":12964.2,"close":13001.0,"high":13076.7,"low":12918.3,"amount":0.482,"vol":482,"trade_turnover":6263.698,"count":121},{"id":1603674000,"open":13040.0,"close":13053.7,"high":13096.4,"low":12991.2,"amount":0.478,"vol":478,"trade_turnover":6232.2328,"count":124},{"id":1603677600,"open":13060.6,"close":13064.4,"high":13185.7,"low":12985.1,"amount":0.488,"vol":488,"trade_turnover":6387.534,"count":121},{"id":1603681200,"open":13032.3,"close":13092.8,"high":13187.2,"low":12984.1,"amount":0.486,"vol":486,"trade_turnover":6369.0272,"count":135},{"id":1603684800,"open":13092.0,"close":13132.6,"high":13181.6,"low":12962.3,"amount":0.51,"vol":510,"trade_turnover":6679.829,"count":131},{"id":1603688400,"open":13129.2,"close":13092.1,"high":13205.3,"low":13025.3,"amount":0.506,"vol":506,"trade_turnover":6641.2128,"count":126},{"id":1603692000,"open":13121.8,"close":13071.4,"high":13188.1,"low":12989.8,"amount":1.616,"vol":1616,"trade_turnover":21170.8224,"count":141},{"id":1603695600,"open":13061.0,"close":13038.7,"high":13100.0,"low":12965.2,"amount":3.746,"vol":3746,"trade_turnover":48924.8902,"count":110},{"id":1603699200,"open":13030.9,"close":13039.3,"high":13102.0,"low":12852.8,"amount":8.966,"vol":8966,"trade_turnover":116525.5534,"count":173},{"id":1603702800,"open":13047.1,"close":13075.9,"high":13088.4,"low":13039.8,"amount":4.48,"vol":4480,"trade_turnover":58521.1714,"count":124},{"id":1603706400,"open":13072.1,"close":13100.0,"high":13100.0,"low":13060.2,"amount":4.272,"vol":4272,"trade_turnover":55895.9778,"count":130},{"id":1603710000,"open":13100.0,"close":13138.4,"high":13159.0,"low":13100.0,"amount":29.798,"vol":29798,"trade_turnover":391138.024,"count":230},{"id":1603713600,"open":13138.8,"close":13149.8,"high":13200.0,"low":13100.0,"amount":5.154,"vol":5154,"trade_turnover":67694.652,"count":188},{"id":1603717200,"open":13150.0,"close":13205.8,"high":13351.5,"low":13133.1,"amount":35.608,"vol":35608,"trade_turnover":472780.3394,"count":328},{"id":1603720800,"open":13203.0,"close":13166.1,"high":13280.0,"low":13144.1,"amount":31.748,"vol":31748,"trade_turnover":418744.5588,"count":235},{"id":1603724400,"open":13159.0,"close":12978.0,"high":13165.2,"low":12903.8,"amount":36.53,"vol":36530,"trade_turnover":476940.3296,"count":384},{"id":1603728000,"open":12965.0,"close":12869.6,"high":13069.8,"low":12850.5,"amount":35.018,"vol":35018,"trade_turnover":453288.918,"count":323},{"id":1603731600,"open":12879.2,"close":12873.8,"high":12941.5,"low":12583.9,"amount":92.628,"vol":92628,"trade_turnover":1185973.467,"count":560},{"id":1603735200,"open":12856.2,"close":12946.8,"high":12954.5,"low":12820.4,"amount":4.302,"vol":4302,"trade_turnover":55481.0054,"count":128},{"id":1603738800,"open":12945.6,"close":12953.4,"high":12953.5,"low":12914.1,"amount":13.83,"vol":13830,"trade_turnover":179112.1598,"count":118},{"id":1603742400,"open":12953.5,"close":12983.4,"high":13007.5,"low":12953.5,"amount":17.172,"vol":17172,"trade_turnover":223230.2122,"count":132},{"id":1603746000,"open":12983.1,"close":12993.8,"high":13007.5,"low":12982.7,"amount":3.212,"vol":3212,"trade_turnover":41767.8906,"count":59},{"id":1603749600,"open":13002.1,"close":13007.5,"high":13007.5,"low":12974.0,"amount":1.504,"vol":1504,"trade_turnover":19543.3568,"count":74},{"id":1603753200,"open":13007.5,"close":13033.7,"high":13061.2,"low":13007.5,"amount":3.454,"vol":3454,"trade_turnover":45001.601,"count":101},{"id":1603756800,"open":13029.2,"close":13067.1,"high":13105.0,"low":13028.3,"amount":8.784,"vol":8784,"trade_turnover":114871.8246,"count":98},{"id":1603760400,"open":13074.3,"close":13061.7,"high":13074.4,"low":13051.5,"amount":11.592,"vol":11592,"trade_turnover":151386.9038,"count":66},{"id":1603764000,"open":13061.7,"close":13049.7,"high":13097.6,"low":13040.1,"amount":19.298,"vol":19298,"trade_turnover":252061.019,"count":109},{"id":1603767600,"open":13057.6,"close":13070.4,"high":13080.0,"low":13057.1,"amount":22.992,"vol":22992,"trade_turnover":300453.9788,"count":69},{"id":1603771200,"open":13080.0,"close":13103.3,"high":13175.0,"low":13079.6,"amount":14.396,"vol":14396,"trade_turnover":188461.9156,"count":59},{"id":1603774800,"open":13121.3,"close":13073.6,"high":13121.3,"low":13069.7,"amount":5.058,"vol":5058,"trade_turnover":66201.3552,"count":44},{"id":1603778400,"open":13074.9,"close":13103.4,"high":13149.0,"low":13069.6,"amount":9.106,"vol":9106,"trade_turnover":119104.8906,"count":107},{"id":1603782000,"open":13103.3,"close":13130.0,"high":13169.8,"low":12992.4,"amount":73.95,"vol":73950,"trade_turnover":968195.155,"count":305},{"id":1603785600,"open":13135.1,"close":13123.8,"high":13148.4,"low":13044.0,"amount":18.732,"vol":18732,"trade_turnover":245533.5448,"count":135},{"id":1603789200,"open":13115.5,"close":13131.7,"high":13131.8,"low":13075.7,"amount":13.756,"vol":13756,"trade_turnover":180253.7708,"count":102},{"id":1603792800,"open":13134.8,"close":13216.9,"high":13252.0,"low":13063.4,"amount":154.108,"vol":154108,"trade_turnover":2029983.656,"count":525},{"id":1603796400,"open":13218.8,"close":13395.8,"high":13590.1,"low":13213.5,"amount":170.09,"vol":170090,"trade_turnover":2276279.742,"count":591},{"id":1603800000,"open":13395.9,"close":13376.9,"high":13414.0,"low":13331.7,"amount":48.928,"vol":48928,"trade_turnover":654585.9108,"count":216},{"id":1603803600,"open":13376.5,"close":13384.3,"high":13490.9,"low":13329.8,"amount":63.294,"vol":63294,"trade_turnover":848130.9212,"count":316},{"id":1603807200,"open":13392.6,"close":13398.2,"high":13415.8,"low":13344.8,"amount":12.892,"vol":12892,"trade_turnover":172618.6864,"count":124},{"id":1603810800,"open":13398.2,"close":13598.5,"high":13626.7,"low":13398.2,"amount":93.22,"vol":93220,"trade_turnover":1262695.5466,"count":476},{"id":1603814400,"open":13595.8,"close":13639.9,"high":13639.9,"low":13520.2,"amount":85.45,"vol":85450,"trade_turnover":1161481.4136,"count":435},{"id":1603818000,"open":13640.0,"close":13688.1,"high":13826.7,"low":13589.0,"amount":191.812,"vol":191812,"trade_turnover":2628428.3788,"count":711},{"id":1603821600,"open":13685.0,"close":13630.1,"high":13745.0,"low":13528.2,"amount":65.434,"vol":65434,"trade_turnover":891541.8394,"count":410},{"id":1603825200,"open":13629.4,"close":13637.1,"high":13659.8,"low":13595.4,"amount":5.788,"vol":5788,"trade_turnover":78836.2578,"count":65},{"id":1603828800,"open":13644.4,"close":13616.6,"high":13805.1,"low":13582.6,"amount":163.104,"vol":163104,"trade_turnover":2234040.3544,"count":537},{"id":1603832400,"open":13609.8,"close":13705.5,"high":13753.5,"low":13609.8,"amount":9.884,"vol":9884,"trade_turnover":135406.4752,"count":101},{"id":1603836000,"open":13705.4,"close":13739.9,"high":13739.9,"low":13658.2,"amount":7.436,"vol":7436,"trade_turnover":101840.3508,"count":100},{"id":1603839600,"open":13739.9,"close":13649.6,"high":13794.6,"low":13582.6,"amount":17.086,"vol":17086,"trade_turnover":233971.8448,"count":234},{"id":1603843200,"open":13645.9,"close":13701.7,"high":13745.2,"low":13618.8,"amount":24.108,"vol":24108,"trade_turnover":330206.5694,"count":177},{"id":1603846800,"open":13702.1,"close":13702.6,"high":13725.6,"low":13647.9,"amount":15.892,"vol":15892,"trade_turnover":217816.7008,"count":151},{"id":1603850400,"open":13701.7,"close":13811.6,"high":13832.2,"low":13680.2,"amount":46.548,"vol":46548,"trade_turnover":640636.0352,"count":274},{"id":1603854000,"open":13818.5,"close":13777.0,"high":13820.3,"low":13717.5,"amount":67.896,"vol":67896,"trade_turnover":935838.2238,"count":320},{"id":1603857600,"open":13767.3,"close":13735.7,"high":13807.2,"low":13710.0,"amount":33.156,"vol":33156,"trade_turnover":455941.234,"count":210},{"id":1603861200,"open":13735.5,"close":13715.8,"high":13753.9,"low":13671.3,"amount":32.076,"vol":32076,"trade_turnover":439612.64,"count":198},{"id":1603864800,"open":13715.9,"close":13701.3,"high":13757.0,"low":13694.9,"amount":14.756,"vol":14756,"trade_turnover":202602.5164,"count":122},{"id":1603868400,"open":13701.2,"close":13674.2,"high":13708.7,"low":13550.0,"amount":155.534,"vol":155534,"trade_turnover":2117935.0928,"count":635},{"id":1603872000,"open":13673.0,"close":13691.7,"high":13691.7,"low":13584.0,"amount":29.846,"vol":29846,"trade_turnover":407073.1398,"count":240},{"id":1603875600,"open":13689.3,"close":13587.1,"high":13707.5,"low":13573.5,"amount":104.542,"vol":104542,"trade_turnover":1425079.9344,"count":377},{"id":1603879200,"open":13584.6,"close":13552.7,"high":13618.0,"low":13504.7,"amount":73.818,"vol":73818,"trade_turnover":1001666.0908,"count":358},{"id":1603882800,"open":13552.6,"close":13336.4,"high":13565.4,"low":13330.0,"amount":176.544,"vol":176544,"trade_turnover":2369166.1492,"count":1004},{"id":1603886400,"open":13331.5,"close":13300.3,"high":13385.0,"low":13173.9,"amount":289.73,"vol":289730,"trade_turnover":3846751.7166,"count":968},{"id":1603890000,"open":13300.2,"close":13129.9,"high":13340.0,"low":13122.9,"amount":139.822,"vol":139822,"trade_turnover":1848876.932,"count":612},{"id":1603893600,"open":13123.4,"close":13082.2,"high":13168.2,"low":12915.9,"amount":367.876,"vol":367876,"trade_turnover":4802516.9818,"count":1168},{"id":1603897200,"open":13077.1,"close":13221.2,"high":13235.2,"low":13052.3,"amount":84.044,"vol":84044,"trade_turnover":1106883.1282,"count":375},{"id":1603900800,"open":13218.7,"close":13145.1,"high":13218.7,"low":13050.0,"amount":29.566,"vol":29566,"trade_turnover":388697.4104,"count":244},{"id":1603904400,"open":13145.1,"close":13176.7,"high":13204.9,"low":13006.6,"amount":53.336,"vol":53336,"trade_turnover":700385.2784,"count":299},{"id":1603908000,"open":13171.0,"close":13196.5,"high":13219.6,"low":13131.0,"amount":34.164,"vol":34164,"trade_turnover":450210.5778,"count":218},{"id":1603911600,"open":13200.0,"close":13154.9,"high":13237.4,"low":13145.0,"amount":22.158,"vol":22158,"trade_turnover":292020.0438,"count":185},{"id":1603915200,"open":13154.5,"close":13198.1,"high":13211.8,"low":13147.4,"amount":4.548,"vol":4548,"trade_turnover":59991.1118,"count":75},{"id":1603918800,"open":13193.5,"close":13190.1,"high":13196.5,"low":13100.2,"amount":3.52,"vol":3520,"trade_turnover":46175.428,"count":68},{"id":1603922400,"open":13185.4,"close":13252.0,"high":13267.5,"low":13185.4,"amount":3.122,"vol":3122,"trade_turnover":41304.2018,"count":72},{"id":1603926000,"open":13242.1,"close":13265.9,"high":13282.3,"low":13235.9,"amount":14.768,"vol":14768,"trade_turnover":195689.0764,"count":86},{"id":1603929600,"open":13253.9,"close":13245.1,"high":13294.7,"low":13237.4,"amount":19.968,"vol":19968,"trade_turnover":264834.1944,"count":98},{"id":1603933200,"open":13244.6,"close":13274.2,"high":13285.3,"low":13166.3,"amount":35.282,"vol":35282,"trade_turnover":465789.6302,"count":192},{"id":1603936800,"open":13275.9,"close":13241.1,"high":13277.7,"low":13212.2,"amount":9.748,"vol":9748,"trade_turnover":129016.0684,"count":119},{"id":1603940400,"open":13237.1,"close":13262.5,"high":13262.5,"low":13174.6,"amount":27.3,"vol":27300,"trade_turnover":360589.8982,"count":199},{"id":1603944000,"open":13269.1,"close":13229.5,"high":13277.7,"low":13229.5,"amount":18.904,"vol":18904,"trade_turnover":250713.2812,"count":109},{"id":1603947600,"open":13228.5,"close":13274.8,"high":13274.8,"low":13228.5,"amount":15.822,"vol":15822,"trade_turnover":209781.909,"count":134},{"id":1603951200,"open":13274.8,"close":13255.0,"high":13323.0,"low":13242.3,"amount":91.246,"vol":91246,"trade_turnover":1211271.2788,"count":294},{"id":1603954800,"open":13255.0,"close":13142.4,"high":13269.3,"low":13123.1,"amount":187.622,"vol":187622,"trade_turnover":2478299.7074,"count":506},{"id":1603958400,"open":13145.9,"close":13124.8,"high":13182.4,"low":13094.1,"amount":69.532,"vol":69532,"trade_turnover":914157.2418,"count":226},{"id":1603962000,"open":13129.5,"close":13183.7,"high":13197.1,"low":13129.5,"amount":23.184,"vol":23184,"trade_turnover":305485.9524,"count":141},{"id":1603965600,"open":13184.8,"close":13105.2,"high":13187.5,"low":13053.1,"amount":121.146,"vol":121146,"trade_turnover":1590026.4416,"count":442},{"id":1603969200,"open":13105.1,"close":13060.1,"high":13171.4,"low":13060.1,"amount":47.498,"vol":47498,"trade_turnover":623578.149,"count":262},{"id":1603972800,"open":13056.9,"close":13131.8,"high":13145.8,"low":12977.9,"amount":126.552,"vol":126552,"trade_turnover":1652549.311,"count":481},{"id":1603976400,"open":13131.7,"close":13230.0,"high":13237.2,"low":13102.0,"amount":100.482,"vol":100482,"trade_turnover":1326403.7206,"count":325},{"id":1603980000,"open":13231.0,"close":13420.8,"high":13476.1,"low":13231.0,"amount":253.258,"vol":253258,"trade_turnover":3384941.438,"count":752},{"id":1603983600,"open":13416.0,"close":13420.6,"high":13458.7,"low":13358.7,"amount":64.71,"vol":64710,"trade_turnover":869052.3804,"count":269},{"id":1603987200,"open":13421.9,"close":13535.9,"high":13594.5,"low":13391.8,"amount":120.24,"vol":120240,"trade_turnover":1626567.8278,"count":570}]} +2024-01-18 11:12:53.843 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:41] - 请求 KLine 数据解析之后的数据为:{"wsid":19750305,"data":[{"amount":0.276,"high":12300.0,"vol":276,"low":11715.8,"count":39,"id":1603270800,"close":12196.7,"tradeTurnover":3315.9104,"open":12198.0},{"amount":0.198,"high":12289.9,"vol":198,"low":12111.0,"count":21,"id":1603274400,"close":12277.9,"tradeTurnover":2420.7728,"open":12196.7},{"amount":0.012,"high":12277.9,"vol":12,"low":12000.0,"count":5,"id":1603278000,"close":12000.0,"tradeTurnover":145.2238,"open":12111.0},{"amount":0.084,"high":12498.0,"vol":84,"low":12078.0,"count":12,"id":1603281600,"close":12497.4,"tradeTurnover":1040.0504,"open":12078.0},{"amount":1.122,"high":12495.6,"vol":1122,"low":12282.9,"count":112,"id":1603285200,"close":12373.5,"tradeTurnover":13905.3124,"open":12495.6},{"amount":5.29,"high":12807.6,"vol":5290,"low":12358.1,"count":155,"id":1603288800,"close":12689.9,"tradeTurnover":66852.128,"open":12412.9},{"amount":1.174,"high":12778.7,"vol":1174,"low":12573.2,"count":113,"id":1603292400,"close":12701.9,"tradeTurnover":14907.367,"open":12692.8},{"amount":1.156,"high":12920.9,"vol":1156,"low":12624.8,"count":115,"id":1603296000,"close":12835.9,"tradeTurnover":14802.449,"open":12679.7},{"amount":1.12,"high":12908.3,"vol":1120,"low":12687.5,"count":115,"id":1603299600,"close":12754.2,"tradeTurnover":14345.7324,"open":12848.3},{"amount":1.106,"high":12849.0,"vol":1106,"low":12668.3,"count":114,"id":1603303200,"close":12740.2,"tradeTurnover":14105.3504,"open":12743.7},{"amount":1.032,"high":12843.1,"vol":1032,"low":12597.2,"count":112,"id":1603306800,"close":12650.3,"tradeTurnover":13125.4568,"open":12729.5},{"amount":1.154,"high":12848.4,"vol":1154,"low":12610.2,"count":116,"id":1603310400,"close":12807.0,"tradeTurnover":14680.638,"open":12666.8},{"amount":1.164,"high":13005.1,"vol":1164,"low":12748.2,"count":114,"id":1603314000,"close":12938.9,"tradeTurnover":14976.9366,"open":12866.0},{"amount":1.174,"high":13211.2,"vol":1174,"low":12865.7,"count":114,"id":1603317600,"close":13122.0,"tradeTurnover":15285.2446,"open":12921.0},{"amount":1.172,"high":13173.2,"vol":1172,"low":12688.6,"count":117,"id":1603321200,"close":12829.8,"tradeTurnover":15060.9938,"open":13153.2},{"amount":1.17,"high":12988.1,"vol":1170,"low":12764.4,"count":117,"id":1603324800,"close":12885.9,"tradeTurnover":15046.2046,"open":12793.1},{"amount":1.158,"high":12972.6,"vol":1158,"low":12757.5,"count":118,"id":1603328400,"close":12757.5,"tradeTurnover":14882.4656,"open":12860.4},{"amount":1.124,"high":12848.0,"vol":1124,"low":12729.0,"count":115,"id":1603332000,"close":12788.8,"tradeTurnover":14368.7948,"open":12824.1},{"amount":1.194,"high":12834.4,"vol":1194,"low":12729.0,"count":111,"id":1603335600,"close":12767.2,"tradeTurnover":15268.9298,"open":12791.7},{"amount":1.152,"high":12778.3,"vol":1152,"low":12729.0,"count":115,"id":1603339200,"close":12762.2,"tradeTurnover":14695.4876,"open":12729.0},{"amount":1.21,"high":12842.0,"vol":1210,"low":12730.6,"count":119,"id":1603342800,"close":12813.8,"tradeTurnover":15440.8162,"open":12763.1},{"amount":1.188,"high":12795.0,"vol":1188,"low":12728.0,"count":123,"id":1603346400,"close":12729.1,"tradeTurnover":15128.0098,"open":12795.0},{"amount":1.266,"high":12730.6,"vol":1266,"low":12728.3,"count":112,"id":1603350000,"close":12730.6,"tradeTurnover":16115.1306,"open":12728.6},{"amount":1.35,"high":12921.5,"vol":1350,"low":12729.9,"count":127,"id":1603353600,"close":12770.1,"tradeTurnover":17233.7326,"open":12730.3},{"amount":0.98,"high":12872.1,"vol":980,"low":12760.1,"count":99,"id":1603357200,"close":12780.4,"tradeTurnover":12553.9826,"open":12824.9},{"amount":0.266,"high":13002.7,"vol":266,"low":12775.6,"count":30,"id":1603360800,"close":12934.2,"tradeTurnover":3415.023,"open":12784.9},{"amount":1.004,"high":13057.0,"vol":1004,"low":12886.6,"count":117,"id":1603364400,"close":13045.0,"tradeTurnover":13020.8576,"open":12977.0},{"amount":1.134,"high":12973.4,"vol":1134,"low":12751.6,"count":111,"id":1603368000,"close":12847.9,"tradeTurnover":14594.2752,"open":12958.5},{"amount":1.152,"high":13000.8,"vol":1152,"low":12743.0,"count":114,"id":1603371600,"close":12931.0,"tradeTurnover":14877.7314,"open":12882.7},{"amount":1.182,"high":12995.3,"vol":1182,"low":12783.9,"count":115,"id":1603375200,"close":12917.8,"tradeTurnover":15224.4716,"open":12890.4},{"amount":1.176,"high":13031.2,"vol":1176,"low":12817.9,"count":117,"id":1603378800,"close":12953.0,"tradeTurnover":15197.208,"open":12918.8},{"amount":1.146,"high":13100.2,"vol":1146,"low":12865.6,"count":119,"id":1603382400,"close":13055.6,"tradeTurnover":14851.9604,"open":12923.1},{"amount":1.534,"high":13105.7,"vol":1534,"low":12835.5,"count":124,"id":1603386000,"close":13082.7,"tradeTurnover":19927.8288,"open":12967.6},{"amount":1.268,"high":13115.0,"vol":1268,"low":12938.7,"count":117,"id":1603389600,"close":13016.4,"tradeTurnover":16505.4738,"open":13020.4},{"amount":1.13,"high":13171.2,"vol":1130,"low":12961.8,"count":112,"id":1603393200,"close":12970.6,"tradeTurnover":14762.952,"open":13028.3},{"amount":1.206,"high":13216.1,"vol":1206,"low":12998.5,"count":117,"id":1603396800,"close":13089.3,"tradeTurnover":15807.1226,"open":13016.7},{"amount":1.332,"high":13203.7,"vol":1332,"low":12932.9,"count":114,"id":1603400400,"close":13092.0,"tradeTurnover":17423.4422,"open":13136.0},{"amount":1.21,"high":13250.5,"vol":1210,"low":12984.7,"count":114,"id":1603404000,"close":13055.9,"tradeTurnover":15876.0632,"open":13119.4},{"amount":1.286,"high":13126.5,"vol":1286,"low":12857.2,"count":116,"id":1603407600,"close":12890.4,"tradeTurnover":16688.422,"open":13059.4},{"amount":1.502,"high":12994.0,"vol":1502,"low":12751.6,"count":131,"id":1603411200,"close":12892.2,"tradeTurnover":19331.1596,"open":12929.7},{"amount":1.386,"high":13003.2,"vol":1386,"low":12786.0,"count":121,"id":1603414800,"close":12898.3,"tradeTurnover":17904.8902,"open":12921.7},{"amount":1.416,"high":13054.0,"vol":1416,"low":12800.7,"count":122,"id":1603418400,"close":12975.1,"tradeTurnover":18306.6204,"open":12951.6},{"amount":1.19,"high":13030.7,"vol":1190,"low":12875.0,"count":118,"id":1603422000,"close":12947.0,"tradeTurnover":15409.7984,"open":12967.3},{"amount":1.022,"high":13047.3,"vol":1022,"low":12832.8,"count":127,"id":1603425600,"close":12852.0,"tradeTurnover":13214.4388,"open":12925.2},{"amount":0.478,"high":12991.7,"vol":478,"low":12841.2,"count":118,"id":1603429200,"close":12931.1,"tradeTurnover":6180.2486,"open":12859.0},{"amount":0.522,"high":13014.1,"vol":522,"low":12871.9,"count":132,"id":1603432800,"close":12939.6,"tradeTurnover":6759.0324,"open":12935.9},{"amount":0.476,"high":12998.9,"vol":476,"low":12917.1,"count":118,"id":1603436400,"close":12925.4,"tradeTurnover":6163.3118,"open":12923.1},{"amount":0.508,"high":13014.0,"vol":508,"low":12916.1,"count":122,"id":1603440000,"close":12962.6,"tradeTurnover":6585.3656,"open":12942.2},{"amount":0.564,"high":13012.5,"vol":564,"low":12909.9,"count":124,"id":1603443600,"close":12926.4,"tradeTurnover":7308.8828,"open":12970.5},{"amount":0.536,"high":13059.5,"vol":536,"low":12925.7,"count":124,"id":1603447200,"close":13007.7,"tradeTurnover":6957.8796,"open":13001.2},{"amount":0.486,"high":13078.4,"vol":486,"low":12906.5,"count":122,"id":1603450800,"close":12970.6,"tradeTurnover":6326.1434,"open":13025.4},{"amount":0.494,"high":13025.0,"vol":494,"low":12850.8,"count":117,"id":1603454400,"close":12935.4,"tradeTurnover":6396.0984,"open":12963.9},{"amount":0.466,"high":13043.3,"vol":466,"low":12911.0,"count":117,"id":1603458000,"close":12951.7,"tradeTurnover":6049.1412,"open":12913.3},{"amount":0.46,"high":13006.4,"vol":460,"low":12840.4,"count":116,"id":1603461600,"close":12858.8,"tradeTurnover":5941.815,"open":12999.6},{"amount":0.492,"high":12932.9,"vol":492,"low":12826.5,"count":117,"id":1603465200,"close":12881.9,"tradeTurnover":6340.214,"open":12885.7},{"amount":0.484,"high":12933.5,"vol":484,"low":12744.4,"count":123,"id":1603468800,"close":12784.1,"tradeTurnover":6205.4138,"open":12854.4},{"amount":0.562,"high":12893.1,"vol":562,"low":12730.1,"count":152,"id":1603472400,"close":12847.7,"tradeTurnover":7218.9184,"open":12832.3},{"amount":0.53,"high":12939.3,"vol":530,"low":12751.4,"count":128,"id":1603476000,"close":12915.7,"tradeTurnover":6825.7004,"open":12874.1},{"amount":0.444,"high":12972.9,"vol":444,"low":12786.6,"count":117,"id":1603479600,"close":12972.9,"tradeTurnover":5727.7452,"open":12867.9},{"amount":0.492,"high":13002.2,"vol":492,"low":12842.9,"count":116,"id":1603483200,"close":12991.6,"tradeTurnover":6375.1566,"open":12956.7},{"amount":0.5,"high":13004.3,"vol":500,"low":12936.6,"count":125,"id":1603486800,"close":12943.5,"tradeTurnover":6485.468,"open":13004.3},{"amount":0.492,"high":13010.3,"vol":492,"low":12884.7,"count":120,"id":1603490400,"close":12989.2,"tradeTurnover":6376.1492,"open":12923.6},{"amount":0.51,"high":13024.4,"vol":510,"low":12884.6,"count":121,"id":1603494000,"close":12884.6,"tradeTurnover":6622.3406,"open":12974.9},{"amount":0.488,"high":13018.3,"vol":488,"low":12811.1,"count":120,"id":1603497600,"close":12953.9,"tradeTurnover":6317.7938,"open":12973.7},{"amount":0.482,"high":13018.1,"vol":482,"low":12872.8,"count":117,"id":1603501200,"close":12934.2,"tradeTurnover":6242.4178,"open":12927.5},{"amount":0.484,"high":13003.9,"vol":484,"low":12903.3,"count":117,"id":1603504800,"close":12989.1,"tradeTurnover":6278.1756,"open":12971.9},{"amount":0.474,"high":13013.4,"vol":474,"low":12938.3,"count":122,"id":1603508400,"close":12975.9,"tradeTurnover":6157.7096,"open":13000.1},{"amount":0.526,"high":13009.4,"vol":526,"low":12905.5,"count":124,"id":1603512000,"close":12963.3,"tradeTurnover":6831.5658,"open":12989.7},{"amount":0.522,"high":13041.8,"vol":522,"low":12875.3,"count":127,"id":1603515600,"close":12989.7,"tradeTurnover":6768.8994,"open":12910.5},{"amount":0.49,"high":13058.1,"vol":490,"low":12908.8,"count":120,"id":1603519200,"close":13003.6,"tradeTurnover":6370.5714,"open":12994.7},{"amount":0.478,"high":13037.8,"vol":478,"low":12981.7,"count":120,"id":1603522800,"close":13004.2,"tradeTurnover":6218.9722,"open":13011.9},{"amount":0.52,"high":13030.6,"vol":520,"low":12899.4,"count":124,"id":1603526400,"close":12998.2,"tradeTurnover":6754.958,"open":13003.0},{"amount":0.454,"high":13020.3,"vol":454,"low":12893.6,"count":115,"id":1603530000,"close":12990.6,"tradeTurnover":5891.0574,"open":12998.2},{"amount":0.502,"high":13059.1,"vol":502,"low":12913.2,"count":124,"id":1603533600,"close":13030.1,"tradeTurnover":6525.9004,"open":12996.4},{"amount":0.468,"high":13068.3,"vol":468,"low":12940.2,"count":119,"id":1603537200,"close":13033.2,"tradeTurnover":6091.0376,"open":12988.4},{"amount":0.468,"high":13071.8,"vol":468,"low":12978.9,"count":123,"id":1603540800,"close":13006.5,"tradeTurnover":6102.5902,"open":13035.3},{"amount":0.534,"high":13066.7,"vol":534,"low":12928.1,"count":123,"id":1603544400,"close":12985.9,"tradeTurnover":6950.4268,"open":13038.8},{"amount":0.47,"high":13100.1,"vol":470,"low":12960.5,"count":100,"id":1603548000,"close":13042.0,"tradeTurnover":6124.2178,"open":12986.3},{"amount":0.456,"high":13196.5,"vol":456,"low":13038.4,"count":120,"id":1603551600,"close":13102.2,"tradeTurnover":5989.6362,"open":13038.4},{"amount":0.458,"high":13176.6,"vol":458,"low":12984.6,"count":121,"id":1603555200,"close":13052.7,"tradeTurnover":5976.331,"open":13136.8},{"amount":0.452,"high":13177.8,"vol":452,"low":13003.2,"count":118,"id":1603558800,"close":13177.8,"tradeTurnover":5911.7058,"open":13006.2},{"amount":0.468,"high":13170.7,"vol":468,"low":13023.0,"count":119,"id":1603562400,"close":13080.8,"tradeTurnover":6122.375,"open":13127.7},{"amount":0.468,"high":13179.3,"vol":468,"low":13014.2,"count":120,"id":1603566000,"close":13148.4,"tradeTurnover":6126.4278,"open":13040.7},{"amount":0.47,"high":13179.6,"vol":470,"low":12992.5,"count":119,"id":1603569600,"close":13090.1,"tradeTurnover":6151.4758,"open":13073.5},{"amount":0.458,"high":13148.7,"vol":458,"low":12980.7,"count":117,"id":1603573200,"close":12993.9,"tradeTurnover":5981.071,"open":13035.4},{"amount":0.478,"high":13112.1,"vol":478,"low":12975.6,"count":118,"id":1603576800,"close":13041.1,"tradeTurnover":6225.4216,"open":13040.7},{"amount":0.472,"high":13184.3,"vol":472,"low":13009.3,"count":118,"id":1603580400,"close":13184.3,"tradeTurnover":6173.4244,"open":13012.6},{"amount":0.46,"high":13170.4,"vol":460,"low":13007.7,"count":115,"id":1603584000,"close":13154.3,"tradeTurnover":6024.09,"open":13080.8},{"amount":0.398,"high":13196.8,"vol":398,"low":13024.0,"count":102,"id":1603587600,"close":13196.1,"tradeTurnover":5217.5364,"open":13092.0},{"amount":0.476,"high":13175.1,"vol":476,"low":13035.0,"count":120,"id":1603591200,"close":13082.4,"tradeTurnover":6228.6596,"open":13124.7},{"amount":0.578,"high":13383.8,"vol":578,"low":13049.1,"count":137,"id":1603594800,"close":13259.0,"tradeTurnover":7629.3886,"open":13049.1},{"amount":0.47,"high":13369.0,"vol":470,"low":13216.0,"count":122,"id":1603598400,"close":13243.4,"tradeTurnover":6247.955,"open":13277.0},{"amount":0.61,"high":13353.3,"vol":610,"low":13010.1,"count":134,"id":1603602000,"close":13017.3,"tradeTurnover":8048.8598,"open":13285.3},{"amount":0.486,"high":13105.7,"vol":486,"low":13018.2,"count":118,"id":1603605600,"close":13060.3,"tradeTurnover":6344.1474,"open":13022.5},{"amount":0.464,"high":13112.1,"vol":464,"low":13022.0,"count":120,"id":1603609200,"close":13078.1,"tradeTurnover":6061.5416,"open":13048.5},{"amount":0.464,"high":13091.0,"vol":464,"low":13017.2,"count":120,"id":1603612800,"close":13046.0,"tradeTurnover":6055.3734,"open":13077.2},{"amount":0.478,"high":13084.0,"vol":478,"low":13014.2,"count":117,"id":1603616400,"close":13040.8,"tradeTurnover":6235.7882,"open":13065.1},{"amount":0.478,"high":13064.2,"vol":478,"low":13010.2,"count":125,"id":1603620000,"close":13028.5,"tradeTurnover":6232.2428,"open":13047.1},{"amount":0.534,"high":13061.5,"vol":534,"low":12852.9,"count":123,"id":1603623600,"close":12897.6,"tradeTurnover":6918.1226,"open":13061.5},{"amount":0.444,"high":13069.7,"vol":444,"low":12893.2,"count":117,"id":1603627200,"close":12964.3,"tradeTurnover":5755.8712,"open":12908.3},{"amount":0.498,"high":13071.9,"vol":498,"low":12891.8,"count":119,"id":1603630800,"close":12949.3,"tradeTurnover":6465.078,"open":13001.3},{"amount":0.468,"high":13077.7,"vol":468,"low":12900.0,"count":116,"id":1603634400,"close":12946.8,"tradeTurnover":6075.4554,"open":12975.8},{"amount":0.47,"high":13069.1,"vol":470,"low":12883.3,"count":119,"id":1603638000,"close":12883.3,"tradeTurnover":6097.1072,"open":12975.2},{"amount":0.482,"high":13067.9,"vol":482,"low":12877.5,"count":118,"id":1603641600,"close":12978.7,"tradeTurnover":6256.4472,"open":12916.2},{"amount":0.47,"high":13087.5,"vol":470,"low":12922.7,"count":117,"id":1603645200,"close":13004.4,"tradeTurnover":6108.3892,"open":13008.0},{"amount":0.468,"high":13067.6,"vol":468,"low":12893.6,"count":118,"id":1603648800,"close":12957.2,"tradeTurnover":6079.1484,"open":12972.8},{"amount":0.442,"high":13066.9,"vol":442,"low":12916.6,"count":118,"id":1603652400,"close":13021.8,"tradeTurnover":5746.5548,"open":12996.5},{"amount":0.508,"high":13081.5,"vol":508,"low":12944.9,"count":120,"id":1603656000,"close":12985.4,"tradeTurnover":6616.9872,"open":12992.9},{"amount":0.508,"high":13068.6,"vol":508,"low":12921.4,"count":122,"id":1603659600,"close":13011.2,"tradeTurnover":6614.816,"open":12999.9},{"amount":0.486,"high":13073.8,"vol":486,"low":12911.9,"count":121,"id":1603663200,"close":12959.4,"tradeTurnover":6320.907,"open":12979.6},{"amount":0.452,"high":13085.2,"vol":452,"low":12927.8,"count":113,"id":1603666800,"close":13032.1,"tradeTurnover":5878.6442,"open":12963.4},{"amount":0.482,"high":13076.7,"vol":482,"low":12918.3,"count":121,"id":1603670400,"close":13001.0,"tradeTurnover":6263.698,"open":12964.2},{"amount":0.478,"high":13096.4,"vol":478,"low":12991.2,"count":124,"id":1603674000,"close":13053.7,"tradeTurnover":6232.2328,"open":13040.0},{"amount":0.488,"high":13185.7,"vol":488,"low":12985.1,"count":121,"id":1603677600,"close":13064.4,"tradeTurnover":6387.534,"open":13060.6},{"amount":0.486,"high":13187.2,"vol":486,"low":12984.1,"count":135,"id":1603681200,"close":13092.8,"tradeTurnover":6369.0272,"open":13032.3},{"amount":0.51,"high":13181.6,"vol":510,"low":12962.3,"count":131,"id":1603684800,"close":13132.6,"tradeTurnover":6679.829,"open":13092.0},{"amount":0.506,"high":13205.3,"vol":506,"low":13025.3,"count":126,"id":1603688400,"close":13092.1,"tradeTurnover":6641.2128,"open":13129.2},{"amount":1.616,"high":13188.1,"vol":1616,"low":12989.8,"count":141,"id":1603692000,"close":13071.4,"tradeTurnover":21170.8224,"open":13121.8},{"amount":3.746,"high":13100.0,"vol":3746,"low":12965.2,"count":110,"id":1603695600,"close":13038.7,"tradeTurnover":48924.8902,"open":13061.0},{"amount":8.966,"high":13102.0,"vol":8966,"low":12852.8,"count":173,"id":1603699200,"close":13039.3,"tradeTurnover":116525.5534,"open":13030.9},{"amount":4.48,"high":13088.4,"vol":4480,"low":13039.8,"count":124,"id":1603702800,"close":13075.9,"tradeTurnover":58521.1714,"open":13047.1},{"amount":4.272,"high":13100.0,"vol":4272,"low":13060.2,"count":130,"id":1603706400,"close":13100.0,"tradeTurnover":55895.9778,"open":13072.1},{"amount":29.798,"high":13159.0,"vol":29798,"low":13100.0,"count":230,"id":1603710000,"close":13138.4,"tradeTurnover":391138.024,"open":13100.0},{"amount":5.154,"high":13200.0,"vol":5154,"low":13100.0,"count":188,"id":1603713600,"close":13149.8,"tradeTurnover":67694.652,"open":13138.8},{"amount":35.608,"high":13351.5,"vol":35608,"low":13133.1,"count":328,"id":1603717200,"close":13205.8,"tradeTurnover":472780.3394,"open":13150.0},{"amount":31.748,"high":13280.0,"vol":31748,"low":13144.1,"count":235,"id":1603720800,"close":13166.1,"tradeTurnover":418744.5588,"open":13203.0},{"amount":36.53,"high":13165.2,"vol":36530,"low":12903.8,"count":384,"id":1603724400,"close":12978.0,"tradeTurnover":476940.3296,"open":13159.0},{"amount":35.018,"high":13069.8,"vol":35018,"low":12850.5,"count":323,"id":1603728000,"close":12869.6,"tradeTurnover":453288.918,"open":12965.0},{"amount":92.628,"high":12941.5,"vol":92628,"low":12583.9,"count":560,"id":1603731600,"close":12873.8,"tradeTurnover":1185973.467,"open":12879.2},{"amount":4.302,"high":12954.5,"vol":4302,"low":12820.4,"count":128,"id":1603735200,"close":12946.8,"tradeTurnover":55481.0054,"open":12856.2},{"amount":13.83,"high":12953.5,"vol":13830,"low":12914.1,"count":118,"id":1603738800,"close":12953.4,"tradeTurnover":179112.1598,"open":12945.6},{"amount":17.172,"high":13007.5,"vol":17172,"low":12953.5,"count":132,"id":1603742400,"close":12983.4,"tradeTurnover":223230.2122,"open":12953.5},{"amount":3.212,"high":13007.5,"vol":3212,"low":12982.7,"count":59,"id":1603746000,"close":12993.8,"tradeTurnover":41767.8906,"open":12983.1},{"amount":1.504,"high":13007.5,"vol":1504,"low":12974.0,"count":74,"id":1603749600,"close":13007.5,"tradeTurnover":19543.3568,"open":13002.1},{"amount":3.454,"high":13061.2,"vol":3454,"low":13007.5,"count":101,"id":1603753200,"close":13033.7,"tradeTurnover":45001.601,"open":13007.5},{"amount":8.784,"high":13105.0,"vol":8784,"low":13028.3,"count":98,"id":1603756800,"close":13067.1,"tradeTurnover":114871.8246,"open":13029.2},{"amount":11.592,"high":13074.4,"vol":11592,"low":13051.5,"count":66,"id":1603760400,"close":13061.7,"tradeTurnover":151386.9038,"open":13074.3},{"amount":19.298,"high":13097.6,"vol":19298,"low":13040.1,"count":109,"id":1603764000,"close":13049.7,"tradeTurnover":252061.019,"open":13061.7},{"amount":22.992,"high":13080.0,"vol":22992,"low":13057.1,"count":69,"id":1603767600,"close":13070.4,"tradeTurnover":300453.9788,"open":13057.6},{"amount":14.396,"high":13175.0,"vol":14396,"low":13079.6,"count":59,"id":1603771200,"close":13103.3,"tradeTurnover":188461.9156,"open":13080.0},{"amount":5.058,"high":13121.3,"vol":5058,"low":13069.7,"count":44,"id":1603774800,"close":13073.6,"tradeTurnover":66201.3552,"open":13121.3},{"amount":9.106,"high":13149.0,"vol":9106,"low":13069.6,"count":107,"id":1603778400,"close":13103.4,"tradeTurnover":119104.8906,"open":13074.9},{"amount":73.95,"high":13169.8,"vol":73950,"low":12992.4,"count":305,"id":1603782000,"close":13130.0,"tradeTurnover":968195.155,"open":13103.3},{"amount":18.732,"high":13148.4,"vol":18732,"low":13044.0,"count":135,"id":1603785600,"close":13123.8,"tradeTurnover":245533.5448,"open":13135.1},{"amount":13.756,"high":13131.8,"vol":13756,"low":13075.7,"count":102,"id":1603789200,"close":13131.7,"tradeTurnover":180253.7708,"open":13115.5},{"amount":154.108,"high":13252.0,"vol":154108,"low":13063.4,"count":525,"id":1603792800,"close":13216.9,"tradeTurnover":2029983.656,"open":13134.8},{"amount":170.09,"high":13590.1,"vol":170090,"low":13213.5,"count":591,"id":1603796400,"close":13395.8,"tradeTurnover":2276279.742,"open":13218.8},{"amount":48.928,"high":13414.0,"vol":48928,"low":13331.7,"count":216,"id":1603800000,"close":13376.9,"tradeTurnover":654585.9108,"open":13395.9},{"amount":63.294,"high":13490.9,"vol":63294,"low":13329.8,"count":316,"id":1603803600,"close":13384.3,"tradeTurnover":848130.9212,"open":13376.5},{"amount":12.892,"high":13415.8,"vol":12892,"low":13344.8,"count":124,"id":1603807200,"close":13398.2,"tradeTurnover":172618.6864,"open":13392.6},{"amount":93.22,"high":13626.7,"vol":93220,"low":13398.2,"count":476,"id":1603810800,"close":13598.5,"tradeTurnover":1262695.5466,"open":13398.2},{"amount":85.45,"high":13639.9,"vol":85450,"low":13520.2,"count":435,"id":1603814400,"close":13639.9,"tradeTurnover":1161481.4136,"open":13595.8},{"amount":191.812,"high":13826.7,"vol":191812,"low":13589.0,"count":711,"id":1603818000,"close":13688.1,"tradeTurnover":2628428.3788,"open":13640.0},{"amount":65.434,"high":13745.0,"vol":65434,"low":13528.2,"count":410,"id":1603821600,"close":13630.1,"tradeTurnover":891541.8394,"open":13685.0},{"amount":5.788,"high":13659.8,"vol":5788,"low":13595.4,"count":65,"id":1603825200,"close":13637.1,"tradeTurnover":78836.2578,"open":13629.4},{"amount":163.104,"high":13805.1,"vol":163104,"low":13582.6,"count":537,"id":1603828800,"close":13616.6,"tradeTurnover":2234040.3544,"open":13644.4},{"amount":9.884,"high":13753.5,"vol":9884,"low":13609.8,"count":101,"id":1603832400,"close":13705.5,"tradeTurnover":135406.4752,"open":13609.8},{"amount":7.436,"high":13739.9,"vol":7436,"low":13658.2,"count":100,"id":1603836000,"close":13739.9,"tradeTurnover":101840.3508,"open":13705.4},{"amount":17.086,"high":13794.6,"vol":17086,"low":13582.6,"count":234,"id":1603839600,"close":13649.6,"tradeTurnover":233971.8448,"open":13739.9},{"amount":24.108,"high":13745.2,"vol":24108,"low":13618.8,"count":177,"id":1603843200,"close":13701.7,"tradeTurnover":330206.5694,"open":13645.9},{"amount":15.892,"high":13725.6,"vol":15892,"low":13647.9,"count":151,"id":1603846800,"close":13702.6,"tradeTurnover":217816.7008,"open":13702.1},{"amount":46.548,"high":13832.2,"vol":46548,"low":13680.2,"count":274,"id":1603850400,"close":13811.6,"tradeTurnover":640636.0352,"open":13701.7},{"amount":67.896,"high":13820.3,"vol":67896,"low":13717.5,"count":320,"id":1603854000,"close":13777.0,"tradeTurnover":935838.2238,"open":13818.5},{"amount":33.156,"high":13807.2,"vol":33156,"low":13710.0,"count":210,"id":1603857600,"close":13735.7,"tradeTurnover":455941.234,"open":13767.3},{"amount":32.076,"high":13753.9,"vol":32076,"low":13671.3,"count":198,"id":1603861200,"close":13715.8,"tradeTurnover":439612.64,"open":13735.5},{"amount":14.756,"high":13757.0,"vol":14756,"low":13694.9,"count":122,"id":1603864800,"close":13701.3,"tradeTurnover":202602.5164,"open":13715.9},{"amount":155.534,"high":13708.7,"vol":155534,"low":13550.0,"count":635,"id":1603868400,"close":13674.2,"tradeTurnover":2117935.0928,"open":13701.2},{"amount":29.846,"high":13691.7,"vol":29846,"low":13584.0,"count":240,"id":1603872000,"close":13691.7,"tradeTurnover":407073.1398,"open":13673.0},{"amount":104.542,"high":13707.5,"vol":104542,"low":13573.5,"count":377,"id":1603875600,"close":13587.1,"tradeTurnover":1425079.9344,"open":13689.3},{"amount":73.818,"high":13618.0,"vol":73818,"low":13504.7,"count":358,"id":1603879200,"close":13552.7,"tradeTurnover":1001666.0908,"open":13584.6},{"amount":176.544,"high":13565.4,"vol":176544,"low":13330.0,"count":1004,"id":1603882800,"close":13336.4,"tradeTurnover":2369166.1492,"open":13552.6},{"amount":289.73,"high":13385.0,"vol":289730,"low":13173.9,"count":968,"id":1603886400,"close":13300.3,"tradeTurnover":3846751.7166,"open":13331.5},{"amount":139.822,"high":13340.0,"vol":139822,"low":13122.9,"count":612,"id":1603890000,"close":13129.9,"tradeTurnover":1848876.932,"open":13300.2},{"amount":367.876,"high":13168.2,"vol":367876,"low":12915.9,"count":1168,"id":1603893600,"close":13082.2,"tradeTurnover":4802516.9818,"open":13123.4},{"amount":84.044,"high":13235.2,"vol":84044,"low":13052.3,"count":375,"id":1603897200,"close":13221.2,"tradeTurnover":1106883.1282,"open":13077.1},{"amount":29.566,"high":13218.7,"vol":29566,"low":13050.0,"count":244,"id":1603900800,"close":13145.1,"tradeTurnover":388697.4104,"open":13218.7},{"amount":53.336,"high":13204.9,"vol":53336,"low":13006.6,"count":299,"id":1603904400,"close":13176.7,"tradeTurnover":700385.2784,"open":13145.1},{"amount":34.164,"high":13219.6,"vol":34164,"low":13131.0,"count":218,"id":1603908000,"close":13196.5,"tradeTurnover":450210.5778,"open":13171.0},{"amount":22.158,"high":13237.4,"vol":22158,"low":13145.0,"count":185,"id":1603911600,"close":13154.9,"tradeTurnover":292020.0438,"open":13200.0},{"amount":4.548,"high":13211.8,"vol":4548,"low":13147.4,"count":75,"id":1603915200,"close":13198.1,"tradeTurnover":59991.1118,"open":13154.5},{"amount":3.52,"high":13196.5,"vol":3520,"low":13100.2,"count":68,"id":1603918800,"close":13190.1,"tradeTurnover":46175.428,"open":13193.5},{"amount":3.122,"high":13267.5,"vol":3122,"low":13185.4,"count":72,"id":1603922400,"close":13252.0,"tradeTurnover":41304.2018,"open":13185.4},{"amount":14.768,"high":13282.3,"vol":14768,"low":13235.9,"count":86,"id":1603926000,"close":13265.9,"tradeTurnover":195689.0764,"open":13242.1},{"amount":19.968,"high":13294.7,"vol":19968,"low":13237.4,"count":98,"id":1603929600,"close":13245.1,"tradeTurnover":264834.1944,"open":13253.9},{"amount":35.282,"high":13285.3,"vol":35282,"low":13166.3,"count":192,"id":1603933200,"close":13274.2,"tradeTurnover":465789.6302,"open":13244.6},{"amount":9.748,"high":13277.7,"vol":9748,"low":13212.2,"count":119,"id":1603936800,"close":13241.1,"tradeTurnover":129016.0684,"open":13275.9},{"amount":27.3,"high":13262.5,"vol":27300,"low":13174.6,"count":199,"id":1603940400,"close":13262.5,"tradeTurnover":360589.8982,"open":13237.1},{"amount":18.904,"high":13277.7,"vol":18904,"low":13229.5,"count":109,"id":1603944000,"close":13229.5,"tradeTurnover":250713.2812,"open":13269.1},{"amount":15.822,"high":13274.8,"vol":15822,"low":13228.5,"count":134,"id":1603947600,"close":13274.8,"tradeTurnover":209781.909,"open":13228.5},{"amount":91.246,"high":13323.0,"vol":91246,"low":13242.3,"count":294,"id":1603951200,"close":13255.0,"tradeTurnover":1211271.2788,"open":13274.8},{"amount":187.622,"high":13269.3,"vol":187622,"low":13123.1,"count":506,"id":1603954800,"close":13142.4,"tradeTurnover":2478299.7074,"open":13255.0},{"amount":69.532,"high":13182.4,"vol":69532,"low":13094.1,"count":226,"id":1603958400,"close":13124.8,"tradeTurnover":914157.2418,"open":13145.9},{"amount":23.184,"high":13197.1,"vol":23184,"low":13129.5,"count":141,"id":1603962000,"close":13183.7,"tradeTurnover":305485.9524,"open":13129.5},{"amount":121.146,"high":13187.5,"vol":121146,"low":13053.1,"count":442,"id":1603965600,"close":13105.2,"tradeTurnover":1590026.4416,"open":13184.8},{"amount":47.498,"high":13171.4,"vol":47498,"low":13060.1,"count":262,"id":1603969200,"close":13060.1,"tradeTurnover":623578.149,"open":13105.1},{"amount":126.552,"high":13145.8,"vol":126552,"low":12977.9,"count":481,"id":1603972800,"close":13131.8,"tradeTurnover":1652549.311,"open":13056.9},{"amount":100.482,"high":13237.2,"vol":100482,"low":13102.0,"count":325,"id":1603976400,"close":13230.0,"tradeTurnover":1326403.7206,"open":13131.7},{"amount":253.258,"high":13476.1,"vol":253258,"low":13231.0,"count":752,"id":1603980000,"close":13420.8,"tradeTurnover":3384941.438,"open":13231.0},{"amount":64.71,"high":13458.7,"vol":64710,"low":13358.7,"count":269,"id":1603983600,"close":13420.6,"tradeTurnover":869052.3804,"open":13416.0},{"amount":120.24,"high":13594.5,"vol":120240,"low":13391.8,"count":570,"id":1603987200,"close":13535.9,"tradeTurnover":1626567.8278,"open":13421.9}],"id":"","rep":"market.BTC-USDT.kline.60min","status":"ok"} +2024-01-18 11:12:54.791 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:39] - 请求 KLine 数据用户收到的原始数据:{"id":"","rep":"market.BTC-USDT.kline.60min","ts":1705547573702,"wsid":19750305,"status":"ok","data":[{"id":1603270800,"open":12198.0,"close":12196.7,"high":12300.0,"low":11715.8,"amount":0.276,"vol":276,"trade_turnover":3315.9104,"count":39},{"id":1603274400,"open":12196.7,"close":12277.9,"high":12289.9,"low":12111.0,"amount":0.198,"vol":198,"trade_turnover":2420.7728,"count":21},{"id":1603278000,"open":12111.0,"close":12000.0,"high":12277.9,"low":12000.0,"amount":0.012,"vol":12,"trade_turnover":145.2238,"count":5},{"id":1603281600,"open":12078.0,"close":12497.4,"high":12498.0,"low":12078.0,"amount":0.084,"vol":84,"trade_turnover":1040.0504,"count":12},{"id":1603285200,"open":12495.6,"close":12373.5,"high":12495.6,"low":12282.9,"amount":1.122,"vol":1122,"trade_turnover":13905.3124,"count":112},{"id":1603288800,"open":12412.9,"close":12689.9,"high":12807.6,"low":12358.1,"amount":5.29,"vol":5290,"trade_turnover":66852.128,"count":155},{"id":1603292400,"open":12692.8,"close":12701.9,"high":12778.7,"low":12573.2,"amount":1.174,"vol":1174,"trade_turnover":14907.367,"count":113},{"id":1603296000,"open":12679.7,"close":12835.9,"high":12920.9,"low":12624.8,"amount":1.156,"vol":1156,"trade_turnover":14802.449,"count":115},{"id":1603299600,"open":12848.3,"close":12754.2,"high":12908.3,"low":12687.5,"amount":1.12,"vol":1120,"trade_turnover":14345.7324,"count":115},{"id":1603303200,"open":12743.7,"close":12740.2,"high":12849.0,"low":12668.3,"amount":1.106,"vol":1106,"trade_turnover":14105.3504,"count":114},{"id":1603306800,"open":12729.5,"close":12650.3,"high":12843.1,"low":12597.2,"amount":1.032,"vol":1032,"trade_turnover":13125.4568,"count":112},{"id":1603310400,"open":12666.8,"close":12807.0,"high":12848.4,"low":12610.2,"amount":1.154,"vol":1154,"trade_turnover":14680.638,"count":116},{"id":1603314000,"open":12866.0,"close":12938.9,"high":13005.1,"low":12748.2,"amount":1.164,"vol":1164,"trade_turnover":14976.9366,"count":114},{"id":1603317600,"open":12921.0,"close":13122.0,"high":13211.2,"low":12865.7,"amount":1.174,"vol":1174,"trade_turnover":15285.2446,"count":114},{"id":1603321200,"open":13153.2,"close":12829.8,"high":13173.2,"low":12688.6,"amount":1.172,"vol":1172,"trade_turnover":15060.9938,"count":117},{"id":1603324800,"open":12793.1,"close":12885.9,"high":12988.1,"low":12764.4,"amount":1.17,"vol":1170,"trade_turnover":15046.2046,"count":117},{"id":1603328400,"open":12860.4,"close":12757.5,"high":12972.6,"low":12757.5,"amount":1.158,"vol":1158,"trade_turnover":14882.4656,"count":118},{"id":1603332000,"open":12824.1,"close":12788.8,"high":12848.0,"low":12729.0,"amount":1.124,"vol":1124,"trade_turnover":14368.7948,"count":115},{"id":1603335600,"open":12791.7,"close":12767.2,"high":12834.4,"low":12729.0,"amount":1.194,"vol":1194,"trade_turnover":15268.9298,"count":111},{"id":1603339200,"open":12729.0,"close":12762.2,"high":12778.3,"low":12729.0,"amount":1.152,"vol":1152,"trade_turnover":14695.4876,"count":115},{"id":1603342800,"open":12763.1,"close":12813.8,"high":12842.0,"low":12730.6,"amount":1.21,"vol":1210,"trade_turnover":15440.8162,"count":119},{"id":1603346400,"open":12795.0,"close":12729.1,"high":12795.0,"low":12728.0,"amount":1.188,"vol":1188,"trade_turnover":15128.0098,"count":123},{"id":1603350000,"open":12728.6,"close":12730.6,"high":12730.6,"low":12728.3,"amount":1.266,"vol":1266,"trade_turnover":16115.1306,"count":112},{"id":1603353600,"open":12730.3,"close":12770.1,"high":12921.5,"low":12729.9,"amount":1.35,"vol":1350,"trade_turnover":17233.7326,"count":127},{"id":1603357200,"open":12824.9,"close":12780.4,"high":12872.1,"low":12760.1,"amount":0.98,"vol":980,"trade_turnover":12553.9826,"count":99},{"id":1603360800,"open":12784.9,"close":12934.2,"high":13002.7,"low":12775.6,"amount":0.266,"vol":266,"trade_turnover":3415.023,"count":30},{"id":1603364400,"open":12977.0,"close":13045.0,"high":13057.0,"low":12886.6,"amount":1.004,"vol":1004,"trade_turnover":13020.8576,"count":117},{"id":1603368000,"open":12958.5,"close":12847.9,"high":12973.4,"low":12751.6,"amount":1.134,"vol":1134,"trade_turnover":14594.2752,"count":111},{"id":1603371600,"open":12882.7,"close":12931.0,"high":13000.8,"low":12743.0,"amount":1.152,"vol":1152,"trade_turnover":14877.7314,"count":114},{"id":1603375200,"open":12890.4,"close":12917.8,"high":12995.3,"low":12783.9,"amount":1.182,"vol":1182,"trade_turnover":15224.4716,"count":115},{"id":1603378800,"open":12918.8,"close":12953.0,"high":13031.2,"low":12817.9,"amount":1.176,"vol":1176,"trade_turnover":15197.208,"count":117},{"id":1603382400,"open":12923.1,"close":13055.6,"high":13100.2,"low":12865.6,"amount":1.146,"vol":1146,"trade_turnover":14851.9604,"count":119},{"id":1603386000,"open":12967.6,"close":13082.7,"high":13105.7,"low":12835.5,"amount":1.534,"vol":1534,"trade_turnover":19927.8288,"count":124},{"id":1603389600,"open":13020.4,"close":13016.4,"high":13115.0,"low":12938.7,"amount":1.268,"vol":1268,"trade_turnover":16505.4738,"count":117},{"id":1603393200,"open":13028.3,"close":12970.6,"high":13171.2,"low":12961.8,"amount":1.13,"vol":1130,"trade_turnover":14762.952,"count":112},{"id":1603396800,"open":13016.7,"close":13089.3,"high":13216.1,"low":12998.5,"amount":1.206,"vol":1206,"trade_turnover":15807.1226,"count":117},{"id":1603400400,"open":13136.0,"close":13092.0,"high":13203.7,"low":12932.9,"amount":1.332,"vol":1332,"trade_turnover":17423.4422,"count":114},{"id":1603404000,"open":13119.4,"close":13055.9,"high":13250.5,"low":12984.7,"amount":1.21,"vol":1210,"trade_turnover":15876.0632,"count":114},{"id":1603407600,"open":13059.4,"close":12890.4,"high":13126.5,"low":12857.2,"amount":1.286,"vol":1286,"trade_turnover":16688.422,"count":116},{"id":1603411200,"open":12929.7,"close":12892.2,"high":12994.0,"low":12751.6,"amount":1.502,"vol":1502,"trade_turnover":19331.1596,"count":131},{"id":1603414800,"open":12921.7,"close":12898.3,"high":13003.2,"low":12786.0,"amount":1.386,"vol":1386,"trade_turnover":17904.8902,"count":121},{"id":1603418400,"open":12951.6,"close":12975.1,"high":13054.0,"low":12800.7,"amount":1.416,"vol":1416,"trade_turnover":18306.6204,"count":122},{"id":1603422000,"open":12967.3,"close":12947.0,"high":13030.7,"low":12875.0,"amount":1.19,"vol":1190,"trade_turnover":15409.7984,"count":118},{"id":1603425600,"open":12925.2,"close":12852.0,"high":13047.3,"low":12832.8,"amount":1.022,"vol":1022,"trade_turnover":13214.4388,"count":127},{"id":1603429200,"open":12859.0,"close":12931.1,"high":12991.7,"low":12841.2,"amount":0.478,"vol":478,"trade_turnover":6180.2486,"count":118},{"id":1603432800,"open":12935.9,"close":12939.6,"high":13014.1,"low":12871.9,"amount":0.522,"vol":522,"trade_turnover":6759.0324,"count":132},{"id":1603436400,"open":12923.1,"close":12925.4,"high":12998.9,"low":12917.1,"amount":0.476,"vol":476,"trade_turnover":6163.3118,"count":118},{"id":1603440000,"open":12942.2,"close":12962.6,"high":13014.0,"low":12916.1,"amount":0.508,"vol":508,"trade_turnover":6585.3656,"count":122},{"id":1603443600,"open":12970.5,"close":12926.4,"high":13012.5,"low":12909.9,"amount":0.564,"vol":564,"trade_turnover":7308.8828,"count":124},{"id":1603447200,"open":13001.2,"close":13007.7,"high":13059.5,"low":12925.7,"amount":0.536,"vol":536,"trade_turnover":6957.8796,"count":124},{"id":1603450800,"open":13025.4,"close":12970.6,"high":13078.4,"low":12906.5,"amount":0.486,"vol":486,"trade_turnover":6326.1434,"count":122},{"id":1603454400,"open":12963.9,"close":12935.4,"high":13025.0,"low":12850.8,"amount":0.494,"vol":494,"trade_turnover":6396.0984,"count":117},{"id":1603458000,"open":12913.3,"close":12951.7,"high":13043.3,"low":12911.0,"amount":0.466,"vol":466,"trade_turnover":6049.1412,"count":117},{"id":1603461600,"open":12999.6,"close":12858.8,"high":13006.4,"low":12840.4,"amount":0.46,"vol":460,"trade_turnover":5941.815,"count":116},{"id":1603465200,"open":12885.7,"close":12881.9,"high":12932.9,"low":12826.5,"amount":0.492,"vol":492,"trade_turnover":6340.214,"count":117},{"id":1603468800,"open":12854.4,"close":12784.1,"high":12933.5,"low":12744.4,"amount":0.484,"vol":484,"trade_turnover":6205.4138,"count":123},{"id":1603472400,"open":12832.3,"close":12847.7,"high":12893.1,"low":12730.1,"amount":0.562,"vol":562,"trade_turnover":7218.9184,"count":152},{"id":1603476000,"open":12874.1,"close":12915.7,"high":12939.3,"low":12751.4,"amount":0.53,"vol":530,"trade_turnover":6825.7004,"count":128},{"id":1603479600,"open":12867.9,"close":12972.9,"high":12972.9,"low":12786.6,"amount":0.444,"vol":444,"trade_turnover":5727.7452,"count":117},{"id":1603483200,"open":12956.7,"close":12991.6,"high":13002.2,"low":12842.9,"amount":0.492,"vol":492,"trade_turnover":6375.1566,"count":116},{"id":1603486800,"open":13004.3,"close":12943.5,"high":13004.3,"low":12936.6,"amount":0.5,"vol":500,"trade_turnover":6485.468,"count":125},{"id":1603490400,"open":12923.6,"close":12989.2,"high":13010.3,"low":12884.7,"amount":0.492,"vol":492,"trade_turnover":6376.1492,"count":120},{"id":1603494000,"open":12974.9,"close":12884.6,"high":13024.4,"low":12884.6,"amount":0.51,"vol":510,"trade_turnover":6622.3406,"count":121},{"id":1603497600,"open":12973.7,"close":12953.9,"high":13018.3,"low":12811.1,"amount":0.488,"vol":488,"trade_turnover":6317.7938,"count":120},{"id":1603501200,"open":12927.5,"close":12934.2,"high":13018.1,"low":12872.8,"amount":0.482,"vol":482,"trade_turnover":6242.4178,"count":117},{"id":1603504800,"open":12971.9,"close":12989.1,"high":13003.9,"low":12903.3,"amount":0.484,"vol":484,"trade_turnover":6278.1756,"count":117},{"id":1603508400,"open":13000.1,"close":12975.9,"high":13013.4,"low":12938.3,"amount":0.474,"vol":474,"trade_turnover":6157.7096,"count":122},{"id":1603512000,"open":12989.7,"close":12963.3,"high":13009.4,"low":12905.5,"amount":0.526,"vol":526,"trade_turnover":6831.5658,"count":124},{"id":1603515600,"open":12910.5,"close":12989.7,"high":13041.8,"low":12875.3,"amount":0.522,"vol":522,"trade_turnover":6768.8994,"count":127},{"id":1603519200,"open":12994.7,"close":13003.6,"high":13058.1,"low":12908.8,"amount":0.49,"vol":490,"trade_turnover":6370.5714,"count":120},{"id":1603522800,"open":13011.9,"close":13004.2,"high":13037.8,"low":12981.7,"amount":0.478,"vol":478,"trade_turnover":6218.9722,"count":120},{"id":1603526400,"open":13003.0,"close":12998.2,"high":13030.6,"low":12899.4,"amount":0.52,"vol":520,"trade_turnover":6754.958,"count":124},{"id":1603530000,"open":12998.2,"close":12990.6,"high":13020.3,"low":12893.6,"amount":0.454,"vol":454,"trade_turnover":5891.0574,"count":115},{"id":1603533600,"open":12996.4,"close":13030.1,"high":13059.1,"low":12913.2,"amount":0.502,"vol":502,"trade_turnover":6525.9004,"count":124},{"id":1603537200,"open":12988.4,"close":13033.2,"high":13068.3,"low":12940.2,"amount":0.468,"vol":468,"trade_turnover":6091.0376,"count":119},{"id":1603540800,"open":13035.3,"close":13006.5,"high":13071.8,"low":12978.9,"amount":0.468,"vol":468,"trade_turnover":6102.5902,"count":123},{"id":1603544400,"open":13038.8,"close":12985.9,"high":13066.7,"low":12928.1,"amount":0.534,"vol":534,"trade_turnover":6950.4268,"count":123},{"id":1603548000,"open":12986.3,"close":13042.0,"high":13100.1,"low":12960.5,"amount":0.47,"vol":470,"trade_turnover":6124.2178,"count":100},{"id":1603551600,"open":13038.4,"close":13102.2,"high":13196.5,"low":13038.4,"amount":0.456,"vol":456,"trade_turnover":5989.6362,"count":120},{"id":1603555200,"open":13136.8,"close":13052.7,"high":13176.6,"low":12984.6,"amount":0.458,"vol":458,"trade_turnover":5976.331,"count":121},{"id":1603558800,"open":13006.2,"close":13177.8,"high":13177.8,"low":13003.2,"amount":0.452,"vol":452,"trade_turnover":5911.7058,"count":118},{"id":1603562400,"open":13127.7,"close":13080.8,"high":13170.7,"low":13023.0,"amount":0.468,"vol":468,"trade_turnover":6122.375,"count":119},{"id":1603566000,"open":13040.7,"close":13148.4,"high":13179.3,"low":13014.2,"amount":0.468,"vol":468,"trade_turnover":6126.4278,"count":120},{"id":1603569600,"open":13073.5,"close":13090.1,"high":13179.6,"low":12992.5,"amount":0.47,"vol":470,"trade_turnover":6151.4758,"count":119},{"id":1603573200,"open":13035.4,"close":12993.9,"high":13148.7,"low":12980.7,"amount":0.458,"vol":458,"trade_turnover":5981.071,"count":117},{"id":1603576800,"open":13040.7,"close":13041.1,"high":13112.1,"low":12975.6,"amount":0.478,"vol":478,"trade_turnover":6225.4216,"count":118},{"id":1603580400,"open":13012.6,"close":13184.3,"high":13184.3,"low":13009.3,"amount":0.472,"vol":472,"trade_turnover":6173.4244,"count":118},{"id":1603584000,"open":13080.8,"close":13154.3,"high":13170.4,"low":13007.7,"amount":0.46,"vol":460,"trade_turnover":6024.09,"count":115},{"id":1603587600,"open":13092.0,"close":13196.1,"high":13196.8,"low":13024.0,"amount":0.398,"vol":398,"trade_turnover":5217.5364,"count":102},{"id":1603591200,"open":13124.7,"close":13082.4,"high":13175.1,"low":13035.0,"amount":0.476,"vol":476,"trade_turnover":6228.6596,"count":120},{"id":1603594800,"open":13049.1,"close":13259.0,"high":13383.8,"low":13049.1,"amount":0.578,"vol":578,"trade_turnover":7629.3886,"count":137},{"id":1603598400,"open":13277.0,"close":13243.4,"high":13369.0,"low":13216.0,"amount":0.47,"vol":470,"trade_turnover":6247.955,"count":122},{"id":1603602000,"open":13285.3,"close":13017.3,"high":13353.3,"low":13010.1,"amount":0.61,"vol":610,"trade_turnover":8048.8598,"count":134},{"id":1603605600,"open":13022.5,"close":13060.3,"high":13105.7,"low":13018.2,"amount":0.486,"vol":486,"trade_turnover":6344.1474,"count":118},{"id":1603609200,"open":13048.5,"close":13078.1,"high":13112.1,"low":13022.0,"amount":0.464,"vol":464,"trade_turnover":6061.5416,"count":120},{"id":1603612800,"open":13077.2,"close":13046.0,"high":13091.0,"low":13017.2,"amount":0.464,"vol":464,"trade_turnover":6055.3734,"count":120},{"id":1603616400,"open":13065.1,"close":13040.8,"high":13084.0,"low":13014.2,"amount":0.478,"vol":478,"trade_turnover":6235.7882,"count":117},{"id":1603620000,"open":13047.1,"close":13028.5,"high":13064.2,"low":13010.2,"amount":0.478,"vol":478,"trade_turnover":6232.2428,"count":125},{"id":1603623600,"open":13061.5,"close":12897.6,"high":13061.5,"low":12852.9,"amount":0.534,"vol":534,"trade_turnover":6918.1226,"count":123},{"id":1603627200,"open":12908.3,"close":12964.3,"high":13069.7,"low":12893.2,"amount":0.444,"vol":444,"trade_turnover":5755.8712,"count":117},{"id":1603630800,"open":13001.3,"close":12949.3,"high":13071.9,"low":12891.8,"amount":0.498,"vol":498,"trade_turnover":6465.078,"count":119},{"id":1603634400,"open":12975.8,"close":12946.8,"high":13077.7,"low":12900.0,"amount":0.468,"vol":468,"trade_turnover":6075.4554,"count":116},{"id":1603638000,"open":12975.2,"close":12883.3,"high":13069.1,"low":12883.3,"amount":0.47,"vol":470,"trade_turnover":6097.1072,"count":119},{"id":1603641600,"open":12916.2,"close":12978.7,"high":13067.9,"low":12877.5,"amount":0.482,"vol":482,"trade_turnover":6256.4472,"count":118},{"id":1603645200,"open":13008.0,"close":13004.4,"high":13087.5,"low":12922.7,"amount":0.47,"vol":470,"trade_turnover":6108.3892,"count":117},{"id":1603648800,"open":12972.8,"close":12957.2,"high":13067.6,"low":12893.6,"amount":0.468,"vol":468,"trade_turnover":6079.1484,"count":118},{"id":1603652400,"open":12996.5,"close":13021.8,"high":13066.9,"low":12916.6,"amount":0.442,"vol":442,"trade_turnover":5746.5548,"count":118},{"id":1603656000,"open":12992.9,"close":12985.4,"high":13081.5,"low":12944.9,"amount":0.508,"vol":508,"trade_turnover":6616.9872,"count":120},{"id":1603659600,"open":12999.9,"close":13011.2,"high":13068.6,"low":12921.4,"amount":0.508,"vol":508,"trade_turnover":6614.816,"count":122},{"id":1603663200,"open":12979.6,"close":12959.4,"high":13073.8,"low":12911.9,"amount":0.486,"vol":486,"trade_turnover":6320.907,"count":121},{"id":1603666800,"open":12963.4,"close":13032.1,"high":13085.2,"low":12927.8,"amount":0.452,"vol":452,"trade_turnover":5878.6442,"count":113},{"id":1603670400,"open":12964.2,"close":13001.0,"high":13076.7,"low":12918.3,"amount":0.482,"vol":482,"trade_turnover":6263.698,"count":121},{"id":1603674000,"open":13040.0,"close":13053.7,"high":13096.4,"low":12991.2,"amount":0.478,"vol":478,"trade_turnover":6232.2328,"count":124},{"id":1603677600,"open":13060.6,"close":13064.4,"high":13185.7,"low":12985.1,"amount":0.488,"vol":488,"trade_turnover":6387.534,"count":121},{"id":1603681200,"open":13032.3,"close":13092.8,"high":13187.2,"low":12984.1,"amount":0.486,"vol":486,"trade_turnover":6369.0272,"count":135},{"id":1603684800,"open":13092.0,"close":13132.6,"high":13181.6,"low":12962.3,"amount":0.51,"vol":510,"trade_turnover":6679.829,"count":131},{"id":1603688400,"open":13129.2,"close":13092.1,"high":13205.3,"low":13025.3,"amount":0.506,"vol":506,"trade_turnover":6641.2128,"count":126},{"id":1603692000,"open":13121.8,"close":13071.4,"high":13188.1,"low":12989.8,"amount":1.616,"vol":1616,"trade_turnover":21170.8224,"count":141},{"id":1603695600,"open":13061.0,"close":13038.7,"high":13100.0,"low":12965.2,"amount":3.746,"vol":3746,"trade_turnover":48924.8902,"count":110},{"id":1603699200,"open":13030.9,"close":13039.3,"high":13102.0,"low":12852.8,"amount":8.966,"vol":8966,"trade_turnover":116525.5534,"count":173},{"id":1603702800,"open":13047.1,"close":13075.9,"high":13088.4,"low":13039.8,"amount":4.48,"vol":4480,"trade_turnover":58521.1714,"count":124},{"id":1603706400,"open":13072.1,"close":13100.0,"high":13100.0,"low":13060.2,"amount":4.272,"vol":4272,"trade_turnover":55895.9778,"count":130},{"id":1603710000,"open":13100.0,"close":13138.4,"high":13159.0,"low":13100.0,"amount":29.798,"vol":29798,"trade_turnover":391138.024,"count":230},{"id":1603713600,"open":13138.8,"close":13149.8,"high":13200.0,"low":13100.0,"amount":5.154,"vol":5154,"trade_turnover":67694.652,"count":188},{"id":1603717200,"open":13150.0,"close":13205.8,"high":13351.5,"low":13133.1,"amount":35.608,"vol":35608,"trade_turnover":472780.3394,"count":328},{"id":1603720800,"open":13203.0,"close":13166.1,"high":13280.0,"low":13144.1,"amount":31.748,"vol":31748,"trade_turnover":418744.5588,"count":235},{"id":1603724400,"open":13159.0,"close":12978.0,"high":13165.2,"low":12903.8,"amount":36.53,"vol":36530,"trade_turnover":476940.3296,"count":384},{"id":1603728000,"open":12965.0,"close":12869.6,"high":13069.8,"low":12850.5,"amount":35.018,"vol":35018,"trade_turnover":453288.918,"count":323},{"id":1603731600,"open":12879.2,"close":12873.8,"high":12941.5,"low":12583.9,"amount":92.628,"vol":92628,"trade_turnover":1185973.467,"count":560},{"id":1603735200,"open":12856.2,"close":12946.8,"high":12954.5,"low":12820.4,"amount":4.302,"vol":4302,"trade_turnover":55481.0054,"count":128},{"id":1603738800,"open":12945.6,"close":12953.4,"high":12953.5,"low":12914.1,"amount":13.83,"vol":13830,"trade_turnover":179112.1598,"count":118},{"id":1603742400,"open":12953.5,"close":12983.4,"high":13007.5,"low":12953.5,"amount":17.172,"vol":17172,"trade_turnover":223230.2122,"count":132},{"id":1603746000,"open":12983.1,"close":12993.8,"high":13007.5,"low":12982.7,"amount":3.212,"vol":3212,"trade_turnover":41767.8906,"count":59},{"id":1603749600,"open":13002.1,"close":13007.5,"high":13007.5,"low":12974.0,"amount":1.504,"vol":1504,"trade_turnover":19543.3568,"count":74},{"id":1603753200,"open":13007.5,"close":13033.7,"high":13061.2,"low":13007.5,"amount":3.454,"vol":3454,"trade_turnover":45001.601,"count":101},{"id":1603756800,"open":13029.2,"close":13067.1,"high":13105.0,"low":13028.3,"amount":8.784,"vol":8784,"trade_turnover":114871.8246,"count":98},{"id":1603760400,"open":13074.3,"close":13061.7,"high":13074.4,"low":13051.5,"amount":11.592,"vol":11592,"trade_turnover":151386.9038,"count":66},{"id":1603764000,"open":13061.7,"close":13049.7,"high":13097.6,"low":13040.1,"amount":19.298,"vol":19298,"trade_turnover":252061.019,"count":109},{"id":1603767600,"open":13057.6,"close":13070.4,"high":13080.0,"low":13057.1,"amount":22.992,"vol":22992,"trade_turnover":300453.9788,"count":69},{"id":1603771200,"open":13080.0,"close":13103.3,"high":13175.0,"low":13079.6,"amount":14.396,"vol":14396,"trade_turnover":188461.9156,"count":59},{"id":1603774800,"open":13121.3,"close":13073.6,"high":13121.3,"low":13069.7,"amount":5.058,"vol":5058,"trade_turnover":66201.3552,"count":44},{"id":1603778400,"open":13074.9,"close":13103.4,"high":13149.0,"low":13069.6,"amount":9.106,"vol":9106,"trade_turnover":119104.8906,"count":107},{"id":1603782000,"open":13103.3,"close":13130.0,"high":13169.8,"low":12992.4,"amount":73.95,"vol":73950,"trade_turnover":968195.155,"count":305},{"id":1603785600,"open":13135.1,"close":13123.8,"high":13148.4,"low":13044.0,"amount":18.732,"vol":18732,"trade_turnover":245533.5448,"count":135},{"id":1603789200,"open":13115.5,"close":13131.7,"high":13131.8,"low":13075.7,"amount":13.756,"vol":13756,"trade_turnover":180253.7708,"count":102},{"id":1603792800,"open":13134.8,"close":13216.9,"high":13252.0,"low":13063.4,"amount":154.108,"vol":154108,"trade_turnover":2029983.656,"count":525},{"id":1603796400,"open":13218.8,"close":13395.8,"high":13590.1,"low":13213.5,"amount":170.09,"vol":170090,"trade_turnover":2276279.742,"count":591},{"id":1603800000,"open":13395.9,"close":13376.9,"high":13414.0,"low":13331.7,"amount":48.928,"vol":48928,"trade_turnover":654585.9108,"count":216},{"id":1603803600,"open":13376.5,"close":13384.3,"high":13490.9,"low":13329.8,"amount":63.294,"vol":63294,"trade_turnover":848130.9212,"count":316},{"id":1603807200,"open":13392.6,"close":13398.2,"high":13415.8,"low":13344.8,"amount":12.892,"vol":12892,"trade_turnover":172618.6864,"count":124},{"id":1603810800,"open":13398.2,"close":13598.5,"high":13626.7,"low":13398.2,"amount":93.22,"vol":93220,"trade_turnover":1262695.5466,"count":476},{"id":1603814400,"open":13595.8,"close":13639.9,"high":13639.9,"low":13520.2,"amount":85.45,"vol":85450,"trade_turnover":1161481.4136,"count":435},{"id":1603818000,"open":13640.0,"close":13688.1,"high":13826.7,"low":13589.0,"amount":191.812,"vol":191812,"trade_turnover":2628428.3788,"count":711},{"id":1603821600,"open":13685.0,"close":13630.1,"high":13745.0,"low":13528.2,"amount":65.434,"vol":65434,"trade_turnover":891541.8394,"count":410},{"id":1603825200,"open":13629.4,"close":13637.1,"high":13659.8,"low":13595.4,"amount":5.788,"vol":5788,"trade_turnover":78836.2578,"count":65},{"id":1603828800,"open":13644.4,"close":13616.6,"high":13805.1,"low":13582.6,"amount":163.104,"vol":163104,"trade_turnover":2234040.3544,"count":537},{"id":1603832400,"open":13609.8,"close":13705.5,"high":13753.5,"low":13609.8,"amount":9.884,"vol":9884,"trade_turnover":135406.4752,"count":101},{"id":1603836000,"open":13705.4,"close":13739.9,"high":13739.9,"low":13658.2,"amount":7.436,"vol":7436,"trade_turnover":101840.3508,"count":100},{"id":1603839600,"open":13739.9,"close":13649.6,"high":13794.6,"low":13582.6,"amount":17.086,"vol":17086,"trade_turnover":233971.8448,"count":234},{"id":1603843200,"open":13645.9,"close":13701.7,"high":13745.2,"low":13618.8,"amount":24.108,"vol":24108,"trade_turnover":330206.5694,"count":177},{"id":1603846800,"open":13702.1,"close":13702.6,"high":13725.6,"low":13647.9,"amount":15.892,"vol":15892,"trade_turnover":217816.7008,"count":151},{"id":1603850400,"open":13701.7,"close":13811.6,"high":13832.2,"low":13680.2,"amount":46.548,"vol":46548,"trade_turnover":640636.0352,"count":274},{"id":1603854000,"open":13818.5,"close":13777.0,"high":13820.3,"low":13717.5,"amount":67.896,"vol":67896,"trade_turnover":935838.2238,"count":320},{"id":1603857600,"open":13767.3,"close":13735.7,"high":13807.2,"low":13710.0,"amount":33.156,"vol":33156,"trade_turnover":455941.234,"count":210},{"id":1603861200,"open":13735.5,"close":13715.8,"high":13753.9,"low":13671.3,"amount":32.076,"vol":32076,"trade_turnover":439612.64,"count":198},{"id":1603864800,"open":13715.9,"close":13701.3,"high":13757.0,"low":13694.9,"amount":14.756,"vol":14756,"trade_turnover":202602.5164,"count":122},{"id":1603868400,"open":13701.2,"close":13674.2,"high":13708.7,"low":13550.0,"amount":155.534,"vol":155534,"trade_turnover":2117935.0928,"count":635},{"id":1603872000,"open":13673.0,"close":13691.7,"high":13691.7,"low":13584.0,"amount":29.846,"vol":29846,"trade_turnover":407073.1398,"count":240},{"id":1603875600,"open":13689.3,"close":13587.1,"high":13707.5,"low":13573.5,"amount":104.542,"vol":104542,"trade_turnover":1425079.9344,"count":377},{"id":1603879200,"open":13584.6,"close":13552.7,"high":13618.0,"low":13504.7,"amount":73.818,"vol":73818,"trade_turnover":1001666.0908,"count":358},{"id":1603882800,"open":13552.6,"close":13336.4,"high":13565.4,"low":13330.0,"amount":176.544,"vol":176544,"trade_turnover":2369166.1492,"count":1004},{"id":1603886400,"open":13331.5,"close":13300.3,"high":13385.0,"low":13173.9,"amount":289.73,"vol":289730,"trade_turnover":3846751.7166,"count":968},{"id":1603890000,"open":13300.2,"close":13129.9,"high":13340.0,"low":13122.9,"amount":139.822,"vol":139822,"trade_turnover":1848876.932,"count":612},{"id":1603893600,"open":13123.4,"close":13082.2,"high":13168.2,"low":12915.9,"amount":367.876,"vol":367876,"trade_turnover":4802516.9818,"count":1168},{"id":1603897200,"open":13077.1,"close":13221.2,"high":13235.2,"low":13052.3,"amount":84.044,"vol":84044,"trade_turnover":1106883.1282,"count":375},{"id":1603900800,"open":13218.7,"close":13145.1,"high":13218.7,"low":13050.0,"amount":29.566,"vol":29566,"trade_turnover":388697.4104,"count":244},{"id":1603904400,"open":13145.1,"close":13176.7,"high":13204.9,"low":13006.6,"amount":53.336,"vol":53336,"trade_turnover":700385.2784,"count":299},{"id":1603908000,"open":13171.0,"close":13196.5,"high":13219.6,"low":13131.0,"amount":34.164,"vol":34164,"trade_turnover":450210.5778,"count":218},{"id":1603911600,"open":13200.0,"close":13154.9,"high":13237.4,"low":13145.0,"amount":22.158,"vol":22158,"trade_turnover":292020.0438,"count":185},{"id":1603915200,"open":13154.5,"close":13198.1,"high":13211.8,"low":13147.4,"amount":4.548,"vol":4548,"trade_turnover":59991.1118,"count":75},{"id":1603918800,"open":13193.5,"close":13190.1,"high":13196.5,"low":13100.2,"amount":3.52,"vol":3520,"trade_turnover":46175.428,"count":68},{"id":1603922400,"open":13185.4,"close":13252.0,"high":13267.5,"low":13185.4,"amount":3.122,"vol":3122,"trade_turnover":41304.2018,"count":72},{"id":1603926000,"open":13242.1,"close":13265.9,"high":13282.3,"low":13235.9,"amount":14.768,"vol":14768,"trade_turnover":195689.0764,"count":86},{"id":1603929600,"open":13253.9,"close":13245.1,"high":13294.7,"low":13237.4,"amount":19.968,"vol":19968,"trade_turnover":264834.1944,"count":98},{"id":1603933200,"open":13244.6,"close":13274.2,"high":13285.3,"low":13166.3,"amount":35.282,"vol":35282,"trade_turnover":465789.6302,"count":192},{"id":1603936800,"open":13275.9,"close":13241.1,"high":13277.7,"low":13212.2,"amount":9.748,"vol":9748,"trade_turnover":129016.0684,"count":119},{"id":1603940400,"open":13237.1,"close":13262.5,"high":13262.5,"low":13174.6,"amount":27.3,"vol":27300,"trade_turnover":360589.8982,"count":199},{"id":1603944000,"open":13269.1,"close":13229.5,"high":13277.7,"low":13229.5,"amount":18.904,"vol":18904,"trade_turnover":250713.2812,"count":109},{"id":1603947600,"open":13228.5,"close":13274.8,"high":13274.8,"low":13228.5,"amount":15.822,"vol":15822,"trade_turnover":209781.909,"count":134},{"id":1603951200,"open":13274.8,"close":13255.0,"high":13323.0,"low":13242.3,"amount":91.246,"vol":91246,"trade_turnover":1211271.2788,"count":294},{"id":1603954800,"open":13255.0,"close":13142.4,"high":13269.3,"low":13123.1,"amount":187.622,"vol":187622,"trade_turnover":2478299.7074,"count":506},{"id":1603958400,"open":13145.9,"close":13124.8,"high":13182.4,"low":13094.1,"amount":69.532,"vol":69532,"trade_turnover":914157.2418,"count":226},{"id":1603962000,"open":13129.5,"close":13183.7,"high":13197.1,"low":13129.5,"amount":23.184,"vol":23184,"trade_turnover":305485.9524,"count":141},{"id":1603965600,"open":13184.8,"close":13105.2,"high":13187.5,"low":13053.1,"amount":121.146,"vol":121146,"trade_turnover":1590026.4416,"count":442},{"id":1603969200,"open":13105.1,"close":13060.1,"high":13171.4,"low":13060.1,"amount":47.498,"vol":47498,"trade_turnover":623578.149,"count":262},{"id":1603972800,"open":13056.9,"close":13131.8,"high":13145.8,"low":12977.9,"amount":126.552,"vol":126552,"trade_turnover":1652549.311,"count":481},{"id":1603976400,"open":13131.7,"close":13230.0,"high":13237.2,"low":13102.0,"amount":100.482,"vol":100482,"trade_turnover":1326403.7206,"count":325},{"id":1603980000,"open":13231.0,"close":13420.8,"high":13476.1,"low":13231.0,"amount":253.258,"vol":253258,"trade_turnover":3384941.438,"count":752},{"id":1603983600,"open":13416.0,"close":13420.6,"high":13458.7,"low":13358.7,"amount":64.71,"vol":64710,"trade_turnover":869052.3804,"count":269},{"id":1603987200,"open":13421.9,"close":13535.9,"high":13594.5,"low":13391.8,"amount":120.24,"vol":120240,"trade_turnover":1626567.8278,"count":570}]} +2024-01-18 11:12:54.794 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:41] - 请求 KLine 数据解析之后的数据为:{"wsid":19750305,"data":[{"amount":0.276,"high":12300.0,"vol":276,"low":11715.8,"count":39,"id":1603270800,"close":12196.7,"tradeTurnover":3315.9104,"open":12198.0},{"amount":0.198,"high":12289.9,"vol":198,"low":12111.0,"count":21,"id":1603274400,"close":12277.9,"tradeTurnover":2420.7728,"open":12196.7},{"amount":0.012,"high":12277.9,"vol":12,"low":12000.0,"count":5,"id":1603278000,"close":12000.0,"tradeTurnover":145.2238,"open":12111.0},{"amount":0.084,"high":12498.0,"vol":84,"low":12078.0,"count":12,"id":1603281600,"close":12497.4,"tradeTurnover":1040.0504,"open":12078.0},{"amount":1.122,"high":12495.6,"vol":1122,"low":12282.9,"count":112,"id":1603285200,"close":12373.5,"tradeTurnover":13905.3124,"open":12495.6},{"amount":5.29,"high":12807.6,"vol":5290,"low":12358.1,"count":155,"id":1603288800,"close":12689.9,"tradeTurnover":66852.128,"open":12412.9},{"amount":1.174,"high":12778.7,"vol":1174,"low":12573.2,"count":113,"id":1603292400,"close":12701.9,"tradeTurnover":14907.367,"open":12692.8},{"amount":1.156,"high":12920.9,"vol":1156,"low":12624.8,"count":115,"id":1603296000,"close":12835.9,"tradeTurnover":14802.449,"open":12679.7},{"amount":1.12,"high":12908.3,"vol":1120,"low":12687.5,"count":115,"id":1603299600,"close":12754.2,"tradeTurnover":14345.7324,"open":12848.3},{"amount":1.106,"high":12849.0,"vol":1106,"low":12668.3,"count":114,"id":1603303200,"close":12740.2,"tradeTurnover":14105.3504,"open":12743.7},{"amount":1.032,"high":12843.1,"vol":1032,"low":12597.2,"count":112,"id":1603306800,"close":12650.3,"tradeTurnover":13125.4568,"open":12729.5},{"amount":1.154,"high":12848.4,"vol":1154,"low":12610.2,"count":116,"id":1603310400,"close":12807.0,"tradeTurnover":14680.638,"open":12666.8},{"amount":1.164,"high":13005.1,"vol":1164,"low":12748.2,"count":114,"id":1603314000,"close":12938.9,"tradeTurnover":14976.9366,"open":12866.0},{"amount":1.174,"high":13211.2,"vol":1174,"low":12865.7,"count":114,"id":1603317600,"close":13122.0,"tradeTurnover":15285.2446,"open":12921.0},{"amount":1.172,"high":13173.2,"vol":1172,"low":12688.6,"count":117,"id":1603321200,"close":12829.8,"tradeTurnover":15060.9938,"open":13153.2},{"amount":1.17,"high":12988.1,"vol":1170,"low":12764.4,"count":117,"id":1603324800,"close":12885.9,"tradeTurnover":15046.2046,"open":12793.1},{"amount":1.158,"high":12972.6,"vol":1158,"low":12757.5,"count":118,"id":1603328400,"close":12757.5,"tradeTurnover":14882.4656,"open":12860.4},{"amount":1.124,"high":12848.0,"vol":1124,"low":12729.0,"count":115,"id":1603332000,"close":12788.8,"tradeTurnover":14368.7948,"open":12824.1},{"amount":1.194,"high":12834.4,"vol":1194,"low":12729.0,"count":111,"id":1603335600,"close":12767.2,"tradeTurnover":15268.9298,"open":12791.7},{"amount":1.152,"high":12778.3,"vol":1152,"low":12729.0,"count":115,"id":1603339200,"close":12762.2,"tradeTurnover":14695.4876,"open":12729.0},{"amount":1.21,"high":12842.0,"vol":1210,"low":12730.6,"count":119,"id":1603342800,"close":12813.8,"tradeTurnover":15440.8162,"open":12763.1},{"amount":1.188,"high":12795.0,"vol":1188,"low":12728.0,"count":123,"id":1603346400,"close":12729.1,"tradeTurnover":15128.0098,"open":12795.0},{"amount":1.266,"high":12730.6,"vol":1266,"low":12728.3,"count":112,"id":1603350000,"close":12730.6,"tradeTurnover":16115.1306,"open":12728.6},{"amount":1.35,"high":12921.5,"vol":1350,"low":12729.9,"count":127,"id":1603353600,"close":12770.1,"tradeTurnover":17233.7326,"open":12730.3},{"amount":0.98,"high":12872.1,"vol":980,"low":12760.1,"count":99,"id":1603357200,"close":12780.4,"tradeTurnover":12553.9826,"open":12824.9},{"amount":0.266,"high":13002.7,"vol":266,"low":12775.6,"count":30,"id":1603360800,"close":12934.2,"tradeTurnover":3415.023,"open":12784.9},{"amount":1.004,"high":13057.0,"vol":1004,"low":12886.6,"count":117,"id":1603364400,"close":13045.0,"tradeTurnover":13020.8576,"open":12977.0},{"amount":1.134,"high":12973.4,"vol":1134,"low":12751.6,"count":111,"id":1603368000,"close":12847.9,"tradeTurnover":14594.2752,"open":12958.5},{"amount":1.152,"high":13000.8,"vol":1152,"low":12743.0,"count":114,"id":1603371600,"close":12931.0,"tradeTurnover":14877.7314,"open":12882.7},{"amount":1.182,"high":12995.3,"vol":1182,"low":12783.9,"count":115,"id":1603375200,"close":12917.8,"tradeTurnover":15224.4716,"open":12890.4},{"amount":1.176,"high":13031.2,"vol":1176,"low":12817.9,"count":117,"id":1603378800,"close":12953.0,"tradeTurnover":15197.208,"open":12918.8},{"amount":1.146,"high":13100.2,"vol":1146,"low":12865.6,"count":119,"id":1603382400,"close":13055.6,"tradeTurnover":14851.9604,"open":12923.1},{"amount":1.534,"high":13105.7,"vol":1534,"low":12835.5,"count":124,"id":1603386000,"close":13082.7,"tradeTurnover":19927.8288,"open":12967.6},{"amount":1.268,"high":13115.0,"vol":1268,"low":12938.7,"count":117,"id":1603389600,"close":13016.4,"tradeTurnover":16505.4738,"open":13020.4},{"amount":1.13,"high":13171.2,"vol":1130,"low":12961.8,"count":112,"id":1603393200,"close":12970.6,"tradeTurnover":14762.952,"open":13028.3},{"amount":1.206,"high":13216.1,"vol":1206,"low":12998.5,"count":117,"id":1603396800,"close":13089.3,"tradeTurnover":15807.1226,"open":13016.7},{"amount":1.332,"high":13203.7,"vol":1332,"low":12932.9,"count":114,"id":1603400400,"close":13092.0,"tradeTurnover":17423.4422,"open":13136.0},{"amount":1.21,"high":13250.5,"vol":1210,"low":12984.7,"count":114,"id":1603404000,"close":13055.9,"tradeTurnover":15876.0632,"open":13119.4},{"amount":1.286,"high":13126.5,"vol":1286,"low":12857.2,"count":116,"id":1603407600,"close":12890.4,"tradeTurnover":16688.422,"open":13059.4},{"amount":1.502,"high":12994.0,"vol":1502,"low":12751.6,"count":131,"id":1603411200,"close":12892.2,"tradeTurnover":19331.1596,"open":12929.7},{"amount":1.386,"high":13003.2,"vol":1386,"low":12786.0,"count":121,"id":1603414800,"close":12898.3,"tradeTurnover":17904.8902,"open":12921.7},{"amount":1.416,"high":13054.0,"vol":1416,"low":12800.7,"count":122,"id":1603418400,"close":12975.1,"tradeTurnover":18306.6204,"open":12951.6},{"amount":1.19,"high":13030.7,"vol":1190,"low":12875.0,"count":118,"id":1603422000,"close":12947.0,"tradeTurnover":15409.7984,"open":12967.3},{"amount":1.022,"high":13047.3,"vol":1022,"low":12832.8,"count":127,"id":1603425600,"close":12852.0,"tradeTurnover":13214.4388,"open":12925.2},{"amount":0.478,"high":12991.7,"vol":478,"low":12841.2,"count":118,"id":1603429200,"close":12931.1,"tradeTurnover":6180.2486,"open":12859.0},{"amount":0.522,"high":13014.1,"vol":522,"low":12871.9,"count":132,"id":1603432800,"close":12939.6,"tradeTurnover":6759.0324,"open":12935.9},{"amount":0.476,"high":12998.9,"vol":476,"low":12917.1,"count":118,"id":1603436400,"close":12925.4,"tradeTurnover":6163.3118,"open":12923.1},{"amount":0.508,"high":13014.0,"vol":508,"low":12916.1,"count":122,"id":1603440000,"close":12962.6,"tradeTurnover":6585.3656,"open":12942.2},{"amount":0.564,"high":13012.5,"vol":564,"low":12909.9,"count":124,"id":1603443600,"close":12926.4,"tradeTurnover":7308.8828,"open":12970.5},{"amount":0.536,"high":13059.5,"vol":536,"low":12925.7,"count":124,"id":1603447200,"close":13007.7,"tradeTurnover":6957.8796,"open":13001.2},{"amount":0.486,"high":13078.4,"vol":486,"low":12906.5,"count":122,"id":1603450800,"close":12970.6,"tradeTurnover":6326.1434,"open":13025.4},{"amount":0.494,"high":13025.0,"vol":494,"low":12850.8,"count":117,"id":1603454400,"close":12935.4,"tradeTurnover":6396.0984,"open":12963.9},{"amount":0.466,"high":13043.3,"vol":466,"low":12911.0,"count":117,"id":1603458000,"close":12951.7,"tradeTurnover":6049.1412,"open":12913.3},{"amount":0.46,"high":13006.4,"vol":460,"low":12840.4,"count":116,"id":1603461600,"close":12858.8,"tradeTurnover":5941.815,"open":12999.6},{"amount":0.492,"high":12932.9,"vol":492,"low":12826.5,"count":117,"id":1603465200,"close":12881.9,"tradeTurnover":6340.214,"open":12885.7},{"amount":0.484,"high":12933.5,"vol":484,"low":12744.4,"count":123,"id":1603468800,"close":12784.1,"tradeTurnover":6205.4138,"open":12854.4},{"amount":0.562,"high":12893.1,"vol":562,"low":12730.1,"count":152,"id":1603472400,"close":12847.7,"tradeTurnover":7218.9184,"open":12832.3},{"amount":0.53,"high":12939.3,"vol":530,"low":12751.4,"count":128,"id":1603476000,"close":12915.7,"tradeTurnover":6825.7004,"open":12874.1},{"amount":0.444,"high":12972.9,"vol":444,"low":12786.6,"count":117,"id":1603479600,"close":12972.9,"tradeTurnover":5727.7452,"open":12867.9},{"amount":0.492,"high":13002.2,"vol":492,"low":12842.9,"count":116,"id":1603483200,"close":12991.6,"tradeTurnover":6375.1566,"open":12956.7},{"amount":0.5,"high":13004.3,"vol":500,"low":12936.6,"count":125,"id":1603486800,"close":12943.5,"tradeTurnover":6485.468,"open":13004.3},{"amount":0.492,"high":13010.3,"vol":492,"low":12884.7,"count":120,"id":1603490400,"close":12989.2,"tradeTurnover":6376.1492,"open":12923.6},{"amount":0.51,"high":13024.4,"vol":510,"low":12884.6,"count":121,"id":1603494000,"close":12884.6,"tradeTurnover":6622.3406,"open":12974.9},{"amount":0.488,"high":13018.3,"vol":488,"low":12811.1,"count":120,"id":1603497600,"close":12953.9,"tradeTurnover":6317.7938,"open":12973.7},{"amount":0.482,"high":13018.1,"vol":482,"low":12872.8,"count":117,"id":1603501200,"close":12934.2,"tradeTurnover":6242.4178,"open":12927.5},{"amount":0.484,"high":13003.9,"vol":484,"low":12903.3,"count":117,"id":1603504800,"close":12989.1,"tradeTurnover":6278.1756,"open":12971.9},{"amount":0.474,"high":13013.4,"vol":474,"low":12938.3,"count":122,"id":1603508400,"close":12975.9,"tradeTurnover":6157.7096,"open":13000.1},{"amount":0.526,"high":13009.4,"vol":526,"low":12905.5,"count":124,"id":1603512000,"close":12963.3,"tradeTurnover":6831.5658,"open":12989.7},{"amount":0.522,"high":13041.8,"vol":522,"low":12875.3,"count":127,"id":1603515600,"close":12989.7,"tradeTurnover":6768.8994,"open":12910.5},{"amount":0.49,"high":13058.1,"vol":490,"low":12908.8,"count":120,"id":1603519200,"close":13003.6,"tradeTurnover":6370.5714,"open":12994.7},{"amount":0.478,"high":13037.8,"vol":478,"low":12981.7,"count":120,"id":1603522800,"close":13004.2,"tradeTurnover":6218.9722,"open":13011.9},{"amount":0.52,"high":13030.6,"vol":520,"low":12899.4,"count":124,"id":1603526400,"close":12998.2,"tradeTurnover":6754.958,"open":13003.0},{"amount":0.454,"high":13020.3,"vol":454,"low":12893.6,"count":115,"id":1603530000,"close":12990.6,"tradeTurnover":5891.0574,"open":12998.2},{"amount":0.502,"high":13059.1,"vol":502,"low":12913.2,"count":124,"id":1603533600,"close":13030.1,"tradeTurnover":6525.9004,"open":12996.4},{"amount":0.468,"high":13068.3,"vol":468,"low":12940.2,"count":119,"id":1603537200,"close":13033.2,"tradeTurnover":6091.0376,"open":12988.4},{"amount":0.468,"high":13071.8,"vol":468,"low":12978.9,"count":123,"id":1603540800,"close":13006.5,"tradeTurnover":6102.5902,"open":13035.3},{"amount":0.534,"high":13066.7,"vol":534,"low":12928.1,"count":123,"id":1603544400,"close":12985.9,"tradeTurnover":6950.4268,"open":13038.8},{"amount":0.47,"high":13100.1,"vol":470,"low":12960.5,"count":100,"id":1603548000,"close":13042.0,"tradeTurnover":6124.2178,"open":12986.3},{"amount":0.456,"high":13196.5,"vol":456,"low":13038.4,"count":120,"id":1603551600,"close":13102.2,"tradeTurnover":5989.6362,"open":13038.4},{"amount":0.458,"high":13176.6,"vol":458,"low":12984.6,"count":121,"id":1603555200,"close":13052.7,"tradeTurnover":5976.331,"open":13136.8},{"amount":0.452,"high":13177.8,"vol":452,"low":13003.2,"count":118,"id":1603558800,"close":13177.8,"tradeTurnover":5911.7058,"open":13006.2},{"amount":0.468,"high":13170.7,"vol":468,"low":13023.0,"count":119,"id":1603562400,"close":13080.8,"tradeTurnover":6122.375,"open":13127.7},{"amount":0.468,"high":13179.3,"vol":468,"low":13014.2,"count":120,"id":1603566000,"close":13148.4,"tradeTurnover":6126.4278,"open":13040.7},{"amount":0.47,"high":13179.6,"vol":470,"low":12992.5,"count":119,"id":1603569600,"close":13090.1,"tradeTurnover":6151.4758,"open":13073.5},{"amount":0.458,"high":13148.7,"vol":458,"low":12980.7,"count":117,"id":1603573200,"close":12993.9,"tradeTurnover":5981.071,"open":13035.4},{"amount":0.478,"high":13112.1,"vol":478,"low":12975.6,"count":118,"id":1603576800,"close":13041.1,"tradeTurnover":6225.4216,"open":13040.7},{"amount":0.472,"high":13184.3,"vol":472,"low":13009.3,"count":118,"id":1603580400,"close":13184.3,"tradeTurnover":6173.4244,"open":13012.6},{"amount":0.46,"high":13170.4,"vol":460,"low":13007.7,"count":115,"id":1603584000,"close":13154.3,"tradeTurnover":6024.09,"open":13080.8},{"amount":0.398,"high":13196.8,"vol":398,"low":13024.0,"count":102,"id":1603587600,"close":13196.1,"tradeTurnover":5217.5364,"open":13092.0},{"amount":0.476,"high":13175.1,"vol":476,"low":13035.0,"count":120,"id":1603591200,"close":13082.4,"tradeTurnover":6228.6596,"open":13124.7},{"amount":0.578,"high":13383.8,"vol":578,"low":13049.1,"count":137,"id":1603594800,"close":13259.0,"tradeTurnover":7629.3886,"open":13049.1},{"amount":0.47,"high":13369.0,"vol":470,"low":13216.0,"count":122,"id":1603598400,"close":13243.4,"tradeTurnover":6247.955,"open":13277.0},{"amount":0.61,"high":13353.3,"vol":610,"low":13010.1,"count":134,"id":1603602000,"close":13017.3,"tradeTurnover":8048.8598,"open":13285.3},{"amount":0.486,"high":13105.7,"vol":486,"low":13018.2,"count":118,"id":1603605600,"close":13060.3,"tradeTurnover":6344.1474,"open":13022.5},{"amount":0.464,"high":13112.1,"vol":464,"low":13022.0,"count":120,"id":1603609200,"close":13078.1,"tradeTurnover":6061.5416,"open":13048.5},{"amount":0.464,"high":13091.0,"vol":464,"low":13017.2,"count":120,"id":1603612800,"close":13046.0,"tradeTurnover":6055.3734,"open":13077.2},{"amount":0.478,"high":13084.0,"vol":478,"low":13014.2,"count":117,"id":1603616400,"close":13040.8,"tradeTurnover":6235.7882,"open":13065.1},{"amount":0.478,"high":13064.2,"vol":478,"low":13010.2,"count":125,"id":1603620000,"close":13028.5,"tradeTurnover":6232.2428,"open":13047.1},{"amount":0.534,"high":13061.5,"vol":534,"low":12852.9,"count":123,"id":1603623600,"close":12897.6,"tradeTurnover":6918.1226,"open":13061.5},{"amount":0.444,"high":13069.7,"vol":444,"low":12893.2,"count":117,"id":1603627200,"close":12964.3,"tradeTurnover":5755.8712,"open":12908.3},{"amount":0.498,"high":13071.9,"vol":498,"low":12891.8,"count":119,"id":1603630800,"close":12949.3,"tradeTurnover":6465.078,"open":13001.3},{"amount":0.468,"high":13077.7,"vol":468,"low":12900.0,"count":116,"id":1603634400,"close":12946.8,"tradeTurnover":6075.4554,"open":12975.8},{"amount":0.47,"high":13069.1,"vol":470,"low":12883.3,"count":119,"id":1603638000,"close":12883.3,"tradeTurnover":6097.1072,"open":12975.2},{"amount":0.482,"high":13067.9,"vol":482,"low":12877.5,"count":118,"id":1603641600,"close":12978.7,"tradeTurnover":6256.4472,"open":12916.2},{"amount":0.47,"high":13087.5,"vol":470,"low":12922.7,"count":117,"id":1603645200,"close":13004.4,"tradeTurnover":6108.3892,"open":13008.0},{"amount":0.468,"high":13067.6,"vol":468,"low":12893.6,"count":118,"id":1603648800,"close":12957.2,"tradeTurnover":6079.1484,"open":12972.8},{"amount":0.442,"high":13066.9,"vol":442,"low":12916.6,"count":118,"id":1603652400,"close":13021.8,"tradeTurnover":5746.5548,"open":12996.5},{"amount":0.508,"high":13081.5,"vol":508,"low":12944.9,"count":120,"id":1603656000,"close":12985.4,"tradeTurnover":6616.9872,"open":12992.9},{"amount":0.508,"high":13068.6,"vol":508,"low":12921.4,"count":122,"id":1603659600,"close":13011.2,"tradeTurnover":6614.816,"open":12999.9},{"amount":0.486,"high":13073.8,"vol":486,"low":12911.9,"count":121,"id":1603663200,"close":12959.4,"tradeTurnover":6320.907,"open":12979.6},{"amount":0.452,"high":13085.2,"vol":452,"low":12927.8,"count":113,"id":1603666800,"close":13032.1,"tradeTurnover":5878.6442,"open":12963.4},{"amount":0.482,"high":13076.7,"vol":482,"low":12918.3,"count":121,"id":1603670400,"close":13001.0,"tradeTurnover":6263.698,"open":12964.2},{"amount":0.478,"high":13096.4,"vol":478,"low":12991.2,"count":124,"id":1603674000,"close":13053.7,"tradeTurnover":6232.2328,"open":13040.0},{"amount":0.488,"high":13185.7,"vol":488,"low":12985.1,"count":121,"id":1603677600,"close":13064.4,"tradeTurnover":6387.534,"open":13060.6},{"amount":0.486,"high":13187.2,"vol":486,"low":12984.1,"count":135,"id":1603681200,"close":13092.8,"tradeTurnover":6369.0272,"open":13032.3},{"amount":0.51,"high":13181.6,"vol":510,"low":12962.3,"count":131,"id":1603684800,"close":13132.6,"tradeTurnover":6679.829,"open":13092.0},{"amount":0.506,"high":13205.3,"vol":506,"low":13025.3,"count":126,"id":1603688400,"close":13092.1,"tradeTurnover":6641.2128,"open":13129.2},{"amount":1.616,"high":13188.1,"vol":1616,"low":12989.8,"count":141,"id":1603692000,"close":13071.4,"tradeTurnover":21170.8224,"open":13121.8},{"amount":3.746,"high":13100.0,"vol":3746,"low":12965.2,"count":110,"id":1603695600,"close":13038.7,"tradeTurnover":48924.8902,"open":13061.0},{"amount":8.966,"high":13102.0,"vol":8966,"low":12852.8,"count":173,"id":1603699200,"close":13039.3,"tradeTurnover":116525.5534,"open":13030.9},{"amount":4.48,"high":13088.4,"vol":4480,"low":13039.8,"count":124,"id":1603702800,"close":13075.9,"tradeTurnover":58521.1714,"open":13047.1},{"amount":4.272,"high":13100.0,"vol":4272,"low":13060.2,"count":130,"id":1603706400,"close":13100.0,"tradeTurnover":55895.9778,"open":13072.1},{"amount":29.798,"high":13159.0,"vol":29798,"low":13100.0,"count":230,"id":1603710000,"close":13138.4,"tradeTurnover":391138.024,"open":13100.0},{"amount":5.154,"high":13200.0,"vol":5154,"low":13100.0,"count":188,"id":1603713600,"close":13149.8,"tradeTurnover":67694.652,"open":13138.8},{"amount":35.608,"high":13351.5,"vol":35608,"low":13133.1,"count":328,"id":1603717200,"close":13205.8,"tradeTurnover":472780.3394,"open":13150.0},{"amount":31.748,"high":13280.0,"vol":31748,"low":13144.1,"count":235,"id":1603720800,"close":13166.1,"tradeTurnover":418744.5588,"open":13203.0},{"amount":36.53,"high":13165.2,"vol":36530,"low":12903.8,"count":384,"id":1603724400,"close":12978.0,"tradeTurnover":476940.3296,"open":13159.0},{"amount":35.018,"high":13069.8,"vol":35018,"low":12850.5,"count":323,"id":1603728000,"close":12869.6,"tradeTurnover":453288.918,"open":12965.0},{"amount":92.628,"high":12941.5,"vol":92628,"low":12583.9,"count":560,"id":1603731600,"close":12873.8,"tradeTurnover":1185973.467,"open":12879.2},{"amount":4.302,"high":12954.5,"vol":4302,"low":12820.4,"count":128,"id":1603735200,"close":12946.8,"tradeTurnover":55481.0054,"open":12856.2},{"amount":13.83,"high":12953.5,"vol":13830,"low":12914.1,"count":118,"id":1603738800,"close":12953.4,"tradeTurnover":179112.1598,"open":12945.6},{"amount":17.172,"high":13007.5,"vol":17172,"low":12953.5,"count":132,"id":1603742400,"close":12983.4,"tradeTurnover":223230.2122,"open":12953.5},{"amount":3.212,"high":13007.5,"vol":3212,"low":12982.7,"count":59,"id":1603746000,"close":12993.8,"tradeTurnover":41767.8906,"open":12983.1},{"amount":1.504,"high":13007.5,"vol":1504,"low":12974.0,"count":74,"id":1603749600,"close":13007.5,"tradeTurnover":19543.3568,"open":13002.1},{"amount":3.454,"high":13061.2,"vol":3454,"low":13007.5,"count":101,"id":1603753200,"close":13033.7,"tradeTurnover":45001.601,"open":13007.5},{"amount":8.784,"high":13105.0,"vol":8784,"low":13028.3,"count":98,"id":1603756800,"close":13067.1,"tradeTurnover":114871.8246,"open":13029.2},{"amount":11.592,"high":13074.4,"vol":11592,"low":13051.5,"count":66,"id":1603760400,"close":13061.7,"tradeTurnover":151386.9038,"open":13074.3},{"amount":19.298,"high":13097.6,"vol":19298,"low":13040.1,"count":109,"id":1603764000,"close":13049.7,"tradeTurnover":252061.019,"open":13061.7},{"amount":22.992,"high":13080.0,"vol":22992,"low":13057.1,"count":69,"id":1603767600,"close":13070.4,"tradeTurnover":300453.9788,"open":13057.6},{"amount":14.396,"high":13175.0,"vol":14396,"low":13079.6,"count":59,"id":1603771200,"close":13103.3,"tradeTurnover":188461.9156,"open":13080.0},{"amount":5.058,"high":13121.3,"vol":5058,"low":13069.7,"count":44,"id":1603774800,"close":13073.6,"tradeTurnover":66201.3552,"open":13121.3},{"amount":9.106,"high":13149.0,"vol":9106,"low":13069.6,"count":107,"id":1603778400,"close":13103.4,"tradeTurnover":119104.8906,"open":13074.9},{"amount":73.95,"high":13169.8,"vol":73950,"low":12992.4,"count":305,"id":1603782000,"close":13130.0,"tradeTurnover":968195.155,"open":13103.3},{"amount":18.732,"high":13148.4,"vol":18732,"low":13044.0,"count":135,"id":1603785600,"close":13123.8,"tradeTurnover":245533.5448,"open":13135.1},{"amount":13.756,"high":13131.8,"vol":13756,"low":13075.7,"count":102,"id":1603789200,"close":13131.7,"tradeTurnover":180253.7708,"open":13115.5},{"amount":154.108,"high":13252.0,"vol":154108,"low":13063.4,"count":525,"id":1603792800,"close":13216.9,"tradeTurnover":2029983.656,"open":13134.8},{"amount":170.09,"high":13590.1,"vol":170090,"low":13213.5,"count":591,"id":1603796400,"close":13395.8,"tradeTurnover":2276279.742,"open":13218.8},{"amount":48.928,"high":13414.0,"vol":48928,"low":13331.7,"count":216,"id":1603800000,"close":13376.9,"tradeTurnover":654585.9108,"open":13395.9},{"amount":63.294,"high":13490.9,"vol":63294,"low":13329.8,"count":316,"id":1603803600,"close":13384.3,"tradeTurnover":848130.9212,"open":13376.5},{"amount":12.892,"high":13415.8,"vol":12892,"low":13344.8,"count":124,"id":1603807200,"close":13398.2,"tradeTurnover":172618.6864,"open":13392.6},{"amount":93.22,"high":13626.7,"vol":93220,"low":13398.2,"count":476,"id":1603810800,"close":13598.5,"tradeTurnover":1262695.5466,"open":13398.2},{"amount":85.45,"high":13639.9,"vol":85450,"low":13520.2,"count":435,"id":1603814400,"close":13639.9,"tradeTurnover":1161481.4136,"open":13595.8},{"amount":191.812,"high":13826.7,"vol":191812,"low":13589.0,"count":711,"id":1603818000,"close":13688.1,"tradeTurnover":2628428.3788,"open":13640.0},{"amount":65.434,"high":13745.0,"vol":65434,"low":13528.2,"count":410,"id":1603821600,"close":13630.1,"tradeTurnover":891541.8394,"open":13685.0},{"amount":5.788,"high":13659.8,"vol":5788,"low":13595.4,"count":65,"id":1603825200,"close":13637.1,"tradeTurnover":78836.2578,"open":13629.4},{"amount":163.104,"high":13805.1,"vol":163104,"low":13582.6,"count":537,"id":1603828800,"close":13616.6,"tradeTurnover":2234040.3544,"open":13644.4},{"amount":9.884,"high":13753.5,"vol":9884,"low":13609.8,"count":101,"id":1603832400,"close":13705.5,"tradeTurnover":135406.4752,"open":13609.8},{"amount":7.436,"high":13739.9,"vol":7436,"low":13658.2,"count":100,"id":1603836000,"close":13739.9,"tradeTurnover":101840.3508,"open":13705.4},{"amount":17.086,"high":13794.6,"vol":17086,"low":13582.6,"count":234,"id":1603839600,"close":13649.6,"tradeTurnover":233971.8448,"open":13739.9},{"amount":24.108,"high":13745.2,"vol":24108,"low":13618.8,"count":177,"id":1603843200,"close":13701.7,"tradeTurnover":330206.5694,"open":13645.9},{"amount":15.892,"high":13725.6,"vol":15892,"low":13647.9,"count":151,"id":1603846800,"close":13702.6,"tradeTurnover":217816.7008,"open":13702.1},{"amount":46.548,"high":13832.2,"vol":46548,"low":13680.2,"count":274,"id":1603850400,"close":13811.6,"tradeTurnover":640636.0352,"open":13701.7},{"amount":67.896,"high":13820.3,"vol":67896,"low":13717.5,"count":320,"id":1603854000,"close":13777.0,"tradeTurnover":935838.2238,"open":13818.5},{"amount":33.156,"high":13807.2,"vol":33156,"low":13710.0,"count":210,"id":1603857600,"close":13735.7,"tradeTurnover":455941.234,"open":13767.3},{"amount":32.076,"high":13753.9,"vol":32076,"low":13671.3,"count":198,"id":1603861200,"close":13715.8,"tradeTurnover":439612.64,"open":13735.5},{"amount":14.756,"high":13757.0,"vol":14756,"low":13694.9,"count":122,"id":1603864800,"close":13701.3,"tradeTurnover":202602.5164,"open":13715.9},{"amount":155.534,"high":13708.7,"vol":155534,"low":13550.0,"count":635,"id":1603868400,"close":13674.2,"tradeTurnover":2117935.0928,"open":13701.2},{"amount":29.846,"high":13691.7,"vol":29846,"low":13584.0,"count":240,"id":1603872000,"close":13691.7,"tradeTurnover":407073.1398,"open":13673.0},{"amount":104.542,"high":13707.5,"vol":104542,"low":13573.5,"count":377,"id":1603875600,"close":13587.1,"tradeTurnover":1425079.9344,"open":13689.3},{"amount":73.818,"high":13618.0,"vol":73818,"low":13504.7,"count":358,"id":1603879200,"close":13552.7,"tradeTurnover":1001666.0908,"open":13584.6},{"amount":176.544,"high":13565.4,"vol":176544,"low":13330.0,"count":1004,"id":1603882800,"close":13336.4,"tradeTurnover":2369166.1492,"open":13552.6},{"amount":289.73,"high":13385.0,"vol":289730,"low":13173.9,"count":968,"id":1603886400,"close":13300.3,"tradeTurnover":3846751.7166,"open":13331.5},{"amount":139.822,"high":13340.0,"vol":139822,"low":13122.9,"count":612,"id":1603890000,"close":13129.9,"tradeTurnover":1848876.932,"open":13300.2},{"amount":367.876,"high":13168.2,"vol":367876,"low":12915.9,"count":1168,"id":1603893600,"close":13082.2,"tradeTurnover":4802516.9818,"open":13123.4},{"amount":84.044,"high":13235.2,"vol":84044,"low":13052.3,"count":375,"id":1603897200,"close":13221.2,"tradeTurnover":1106883.1282,"open":13077.1},{"amount":29.566,"high":13218.7,"vol":29566,"low":13050.0,"count":244,"id":1603900800,"close":13145.1,"tradeTurnover":388697.4104,"open":13218.7},{"amount":53.336,"high":13204.9,"vol":53336,"low":13006.6,"count":299,"id":1603904400,"close":13176.7,"tradeTurnover":700385.2784,"open":13145.1},{"amount":34.164,"high":13219.6,"vol":34164,"low":13131.0,"count":218,"id":1603908000,"close":13196.5,"tradeTurnover":450210.5778,"open":13171.0},{"amount":22.158,"high":13237.4,"vol":22158,"low":13145.0,"count":185,"id":1603911600,"close":13154.9,"tradeTurnover":292020.0438,"open":13200.0},{"amount":4.548,"high":13211.8,"vol":4548,"low":13147.4,"count":75,"id":1603915200,"close":13198.1,"tradeTurnover":59991.1118,"open":13154.5},{"amount":3.52,"high":13196.5,"vol":3520,"low":13100.2,"count":68,"id":1603918800,"close":13190.1,"tradeTurnover":46175.428,"open":13193.5},{"amount":3.122,"high":13267.5,"vol":3122,"low":13185.4,"count":72,"id":1603922400,"close":13252.0,"tradeTurnover":41304.2018,"open":13185.4},{"amount":14.768,"high":13282.3,"vol":14768,"low":13235.9,"count":86,"id":1603926000,"close":13265.9,"tradeTurnover":195689.0764,"open":13242.1},{"amount":19.968,"high":13294.7,"vol":19968,"low":13237.4,"count":98,"id":1603929600,"close":13245.1,"tradeTurnover":264834.1944,"open":13253.9},{"amount":35.282,"high":13285.3,"vol":35282,"low":13166.3,"count":192,"id":1603933200,"close":13274.2,"tradeTurnover":465789.6302,"open":13244.6},{"amount":9.748,"high":13277.7,"vol":9748,"low":13212.2,"count":119,"id":1603936800,"close":13241.1,"tradeTurnover":129016.0684,"open":13275.9},{"amount":27.3,"high":13262.5,"vol":27300,"low":13174.6,"count":199,"id":1603940400,"close":13262.5,"tradeTurnover":360589.8982,"open":13237.1},{"amount":18.904,"high":13277.7,"vol":18904,"low":13229.5,"count":109,"id":1603944000,"close":13229.5,"tradeTurnover":250713.2812,"open":13269.1},{"amount":15.822,"high":13274.8,"vol":15822,"low":13228.5,"count":134,"id":1603947600,"close":13274.8,"tradeTurnover":209781.909,"open":13228.5},{"amount":91.246,"high":13323.0,"vol":91246,"low":13242.3,"count":294,"id":1603951200,"close":13255.0,"tradeTurnover":1211271.2788,"open":13274.8},{"amount":187.622,"high":13269.3,"vol":187622,"low":13123.1,"count":506,"id":1603954800,"close":13142.4,"tradeTurnover":2478299.7074,"open":13255.0},{"amount":69.532,"high":13182.4,"vol":69532,"low":13094.1,"count":226,"id":1603958400,"close":13124.8,"tradeTurnover":914157.2418,"open":13145.9},{"amount":23.184,"high":13197.1,"vol":23184,"low":13129.5,"count":141,"id":1603962000,"close":13183.7,"tradeTurnover":305485.9524,"open":13129.5},{"amount":121.146,"high":13187.5,"vol":121146,"low":13053.1,"count":442,"id":1603965600,"close":13105.2,"tradeTurnover":1590026.4416,"open":13184.8},{"amount":47.498,"high":13171.4,"vol":47498,"low":13060.1,"count":262,"id":1603969200,"close":13060.1,"tradeTurnover":623578.149,"open":13105.1},{"amount":126.552,"high":13145.8,"vol":126552,"low":12977.9,"count":481,"id":1603972800,"close":13131.8,"tradeTurnover":1652549.311,"open":13056.9},{"amount":100.482,"high":13237.2,"vol":100482,"low":13102.0,"count":325,"id":1603976400,"close":13230.0,"tradeTurnover":1326403.7206,"open":13131.7},{"amount":253.258,"high":13476.1,"vol":253258,"low":13231.0,"count":752,"id":1603980000,"close":13420.8,"tradeTurnover":3384941.438,"open":13231.0},{"amount":64.71,"high":13458.7,"vol":64710,"low":13358.7,"count":269,"id":1603983600,"close":13420.6,"tradeTurnover":869052.3804,"open":13416.0},{"amount":120.24,"high":13594.5,"vol":120240,"low":13391.8,"count":570,"id":1603987200,"close":13535.9,"tradeTurnover":1626567.8278,"open":13421.9}],"id":"","rep":"market.BTC-USDT.kline.60min","status":"ok"} +2024-01-18 11:12:55.160 [DEBUG] [WebSocketConnectReadThread-12] [com.huobi.wss.handle.WssMarketReqHandle.dealPing:129] - 发送pong:{"pong":1705547575160} +2024-01-18 11:12:55.796 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:39] - 请求 KLine 数据用户收到的原始数据:{"id":"","rep":"market.BTC-USDT.kline.60min","ts":1705547574706,"wsid":19750305,"status":"ok","data":[{"id":1603270800,"open":12198.0,"close":12196.7,"high":12300.0,"low":11715.8,"amount":0.276,"vol":276,"trade_turnover":3315.9104,"count":39},{"id":1603274400,"open":12196.7,"close":12277.9,"high":12289.9,"low":12111.0,"amount":0.198,"vol":198,"trade_turnover":2420.7728,"count":21},{"id":1603278000,"open":12111.0,"close":12000.0,"high":12277.9,"low":12000.0,"amount":0.012,"vol":12,"trade_turnover":145.2238,"count":5},{"id":1603281600,"open":12078.0,"close":12497.4,"high":12498.0,"low":12078.0,"amount":0.084,"vol":84,"trade_turnover":1040.0504,"count":12},{"id":1603285200,"open":12495.6,"close":12373.5,"high":12495.6,"low":12282.9,"amount":1.122,"vol":1122,"trade_turnover":13905.3124,"count":112},{"id":1603288800,"open":12412.9,"close":12689.9,"high":12807.6,"low":12358.1,"amount":5.29,"vol":5290,"trade_turnover":66852.128,"count":155},{"id":1603292400,"open":12692.8,"close":12701.9,"high":12778.7,"low":12573.2,"amount":1.174,"vol":1174,"trade_turnover":14907.367,"count":113},{"id":1603296000,"open":12679.7,"close":12835.9,"high":12920.9,"low":12624.8,"amount":1.156,"vol":1156,"trade_turnover":14802.449,"count":115},{"id":1603299600,"open":12848.3,"close":12754.2,"high":12908.3,"low":12687.5,"amount":1.12,"vol":1120,"trade_turnover":14345.7324,"count":115},{"id":1603303200,"open":12743.7,"close":12740.2,"high":12849.0,"low":12668.3,"amount":1.106,"vol":1106,"trade_turnover":14105.3504,"count":114},{"id":1603306800,"open":12729.5,"close":12650.3,"high":12843.1,"low":12597.2,"amount":1.032,"vol":1032,"trade_turnover":13125.4568,"count":112},{"id":1603310400,"open":12666.8,"close":12807.0,"high":12848.4,"low":12610.2,"amount":1.154,"vol":1154,"trade_turnover":14680.638,"count":116},{"id":1603314000,"open":12866.0,"close":12938.9,"high":13005.1,"low":12748.2,"amount":1.164,"vol":1164,"trade_turnover":14976.9366,"count":114},{"id":1603317600,"open":12921.0,"close":13122.0,"high":13211.2,"low":12865.7,"amount":1.174,"vol":1174,"trade_turnover":15285.2446,"count":114},{"id":1603321200,"open":13153.2,"close":12829.8,"high":13173.2,"low":12688.6,"amount":1.172,"vol":1172,"trade_turnover":15060.9938,"count":117},{"id":1603324800,"open":12793.1,"close":12885.9,"high":12988.1,"low":12764.4,"amount":1.17,"vol":1170,"trade_turnover":15046.2046,"count":117},{"id":1603328400,"open":12860.4,"close":12757.5,"high":12972.6,"low":12757.5,"amount":1.158,"vol":1158,"trade_turnover":14882.4656,"count":118},{"id":1603332000,"open":12824.1,"close":12788.8,"high":12848.0,"low":12729.0,"amount":1.124,"vol":1124,"trade_turnover":14368.7948,"count":115},{"id":1603335600,"open":12791.7,"close":12767.2,"high":12834.4,"low":12729.0,"amount":1.194,"vol":1194,"trade_turnover":15268.9298,"count":111},{"id":1603339200,"open":12729.0,"close":12762.2,"high":12778.3,"low":12729.0,"amount":1.152,"vol":1152,"trade_turnover":14695.4876,"count":115},{"id":1603342800,"open":12763.1,"close":12813.8,"high":12842.0,"low":12730.6,"amount":1.21,"vol":1210,"trade_turnover":15440.8162,"count":119},{"id":1603346400,"open":12795.0,"close":12729.1,"high":12795.0,"low":12728.0,"amount":1.188,"vol":1188,"trade_turnover":15128.0098,"count":123},{"id":1603350000,"open":12728.6,"close":12730.6,"high":12730.6,"low":12728.3,"amount":1.266,"vol":1266,"trade_turnover":16115.1306,"count":112},{"id":1603353600,"open":12730.3,"close":12770.1,"high":12921.5,"low":12729.9,"amount":1.35,"vol":1350,"trade_turnover":17233.7326,"count":127},{"id":1603357200,"open":12824.9,"close":12780.4,"high":12872.1,"low":12760.1,"amount":0.98,"vol":980,"trade_turnover":12553.9826,"count":99},{"id":1603360800,"open":12784.9,"close":12934.2,"high":13002.7,"low":12775.6,"amount":0.266,"vol":266,"trade_turnover":3415.023,"count":30},{"id":1603364400,"open":12977.0,"close":13045.0,"high":13057.0,"low":12886.6,"amount":1.004,"vol":1004,"trade_turnover":13020.8576,"count":117},{"id":1603368000,"open":12958.5,"close":12847.9,"high":12973.4,"low":12751.6,"amount":1.134,"vol":1134,"trade_turnover":14594.2752,"count":111},{"id":1603371600,"open":12882.7,"close":12931.0,"high":13000.8,"low":12743.0,"amount":1.152,"vol":1152,"trade_turnover":14877.7314,"count":114},{"id":1603375200,"open":12890.4,"close":12917.8,"high":12995.3,"low":12783.9,"amount":1.182,"vol":1182,"trade_turnover":15224.4716,"count":115},{"id":1603378800,"open":12918.8,"close":12953.0,"high":13031.2,"low":12817.9,"amount":1.176,"vol":1176,"trade_turnover":15197.208,"count":117},{"id":1603382400,"open":12923.1,"close":13055.6,"high":13100.2,"low":12865.6,"amount":1.146,"vol":1146,"trade_turnover":14851.9604,"count":119},{"id":1603386000,"open":12967.6,"close":13082.7,"high":13105.7,"low":12835.5,"amount":1.534,"vol":1534,"trade_turnover":19927.8288,"count":124},{"id":1603389600,"open":13020.4,"close":13016.4,"high":13115.0,"low":12938.7,"amount":1.268,"vol":1268,"trade_turnover":16505.4738,"count":117},{"id":1603393200,"open":13028.3,"close":12970.6,"high":13171.2,"low":12961.8,"amount":1.13,"vol":1130,"trade_turnover":14762.952,"count":112},{"id":1603396800,"open":13016.7,"close":13089.3,"high":13216.1,"low":12998.5,"amount":1.206,"vol":1206,"trade_turnover":15807.1226,"count":117},{"id":1603400400,"open":13136.0,"close":13092.0,"high":13203.7,"low":12932.9,"amount":1.332,"vol":1332,"trade_turnover":17423.4422,"count":114},{"id":1603404000,"open":13119.4,"close":13055.9,"high":13250.5,"low":12984.7,"amount":1.21,"vol":1210,"trade_turnover":15876.0632,"count":114},{"id":1603407600,"open":13059.4,"close":12890.4,"high":13126.5,"low":12857.2,"amount":1.286,"vol":1286,"trade_turnover":16688.422,"count":116},{"id":1603411200,"open":12929.7,"close":12892.2,"high":12994.0,"low":12751.6,"amount":1.502,"vol":1502,"trade_turnover":19331.1596,"count":131},{"id":1603414800,"open":12921.7,"close":12898.3,"high":13003.2,"low":12786.0,"amount":1.386,"vol":1386,"trade_turnover":17904.8902,"count":121},{"id":1603418400,"open":12951.6,"close":12975.1,"high":13054.0,"low":12800.7,"amount":1.416,"vol":1416,"trade_turnover":18306.6204,"count":122},{"id":1603422000,"open":12967.3,"close":12947.0,"high":13030.7,"low":12875.0,"amount":1.19,"vol":1190,"trade_turnover":15409.7984,"count":118},{"id":1603425600,"open":12925.2,"close":12852.0,"high":13047.3,"low":12832.8,"amount":1.022,"vol":1022,"trade_turnover":13214.4388,"count":127},{"id":1603429200,"open":12859.0,"close":12931.1,"high":12991.7,"low":12841.2,"amount":0.478,"vol":478,"trade_turnover":6180.2486,"count":118},{"id":1603432800,"open":12935.9,"close":12939.6,"high":13014.1,"low":12871.9,"amount":0.522,"vol":522,"trade_turnover":6759.0324,"count":132},{"id":1603436400,"open":12923.1,"close":12925.4,"high":12998.9,"low":12917.1,"amount":0.476,"vol":476,"trade_turnover":6163.3118,"count":118},{"id":1603440000,"open":12942.2,"close":12962.6,"high":13014.0,"low":12916.1,"amount":0.508,"vol":508,"trade_turnover":6585.3656,"count":122},{"id":1603443600,"open":12970.5,"close":12926.4,"high":13012.5,"low":12909.9,"amount":0.564,"vol":564,"trade_turnover":7308.8828,"count":124},{"id":1603447200,"open":13001.2,"close":13007.7,"high":13059.5,"low":12925.7,"amount":0.536,"vol":536,"trade_turnover":6957.8796,"count":124},{"id":1603450800,"open":13025.4,"close":12970.6,"high":13078.4,"low":12906.5,"amount":0.486,"vol":486,"trade_turnover":6326.1434,"count":122},{"id":1603454400,"open":12963.9,"close":12935.4,"high":13025.0,"low":12850.8,"amount":0.494,"vol":494,"trade_turnover":6396.0984,"count":117},{"id":1603458000,"open":12913.3,"close":12951.7,"high":13043.3,"low":12911.0,"amount":0.466,"vol":466,"trade_turnover":6049.1412,"count":117},{"id":1603461600,"open":12999.6,"close":12858.8,"high":13006.4,"low":12840.4,"amount":0.46,"vol":460,"trade_turnover":5941.815,"count":116},{"id":1603465200,"open":12885.7,"close":12881.9,"high":12932.9,"low":12826.5,"amount":0.492,"vol":492,"trade_turnover":6340.214,"count":117},{"id":1603468800,"open":12854.4,"close":12784.1,"high":12933.5,"low":12744.4,"amount":0.484,"vol":484,"trade_turnover":6205.4138,"count":123},{"id":1603472400,"open":12832.3,"close":12847.7,"high":12893.1,"low":12730.1,"amount":0.562,"vol":562,"trade_turnover":7218.9184,"count":152},{"id":1603476000,"open":12874.1,"close":12915.7,"high":12939.3,"low":12751.4,"amount":0.53,"vol":530,"trade_turnover":6825.7004,"count":128},{"id":1603479600,"open":12867.9,"close":12972.9,"high":12972.9,"low":12786.6,"amount":0.444,"vol":444,"trade_turnover":5727.7452,"count":117},{"id":1603483200,"open":12956.7,"close":12991.6,"high":13002.2,"low":12842.9,"amount":0.492,"vol":492,"trade_turnover":6375.1566,"count":116},{"id":1603486800,"open":13004.3,"close":12943.5,"high":13004.3,"low":12936.6,"amount":0.5,"vol":500,"trade_turnover":6485.468,"count":125},{"id":1603490400,"open":12923.6,"close":12989.2,"high":13010.3,"low":12884.7,"amount":0.492,"vol":492,"trade_turnover":6376.1492,"count":120},{"id":1603494000,"open":12974.9,"close":12884.6,"high":13024.4,"low":12884.6,"amount":0.51,"vol":510,"trade_turnover":6622.3406,"count":121},{"id":1603497600,"open":12973.7,"close":12953.9,"high":13018.3,"low":12811.1,"amount":0.488,"vol":488,"trade_turnover":6317.7938,"count":120},{"id":1603501200,"open":12927.5,"close":12934.2,"high":13018.1,"low":12872.8,"amount":0.482,"vol":482,"trade_turnover":6242.4178,"count":117},{"id":1603504800,"open":12971.9,"close":12989.1,"high":13003.9,"low":12903.3,"amount":0.484,"vol":484,"trade_turnover":6278.1756,"count":117},{"id":1603508400,"open":13000.1,"close":12975.9,"high":13013.4,"low":12938.3,"amount":0.474,"vol":474,"trade_turnover":6157.7096,"count":122},{"id":1603512000,"open":12989.7,"close":12963.3,"high":13009.4,"low":12905.5,"amount":0.526,"vol":526,"trade_turnover":6831.5658,"count":124},{"id":1603515600,"open":12910.5,"close":12989.7,"high":13041.8,"low":12875.3,"amount":0.522,"vol":522,"trade_turnover":6768.8994,"count":127},{"id":1603519200,"open":12994.7,"close":13003.6,"high":13058.1,"low":12908.8,"amount":0.49,"vol":490,"trade_turnover":6370.5714,"count":120},{"id":1603522800,"open":13011.9,"close":13004.2,"high":13037.8,"low":12981.7,"amount":0.478,"vol":478,"trade_turnover":6218.9722,"count":120},{"id":1603526400,"open":13003.0,"close":12998.2,"high":13030.6,"low":12899.4,"amount":0.52,"vol":520,"trade_turnover":6754.958,"count":124},{"id":1603530000,"open":12998.2,"close":12990.6,"high":13020.3,"low":12893.6,"amount":0.454,"vol":454,"trade_turnover":5891.0574,"count":115},{"id":1603533600,"open":12996.4,"close":13030.1,"high":13059.1,"low":12913.2,"amount":0.502,"vol":502,"trade_turnover":6525.9004,"count":124},{"id":1603537200,"open":12988.4,"close":13033.2,"high":13068.3,"low":12940.2,"amount":0.468,"vol":468,"trade_turnover":6091.0376,"count":119},{"id":1603540800,"open":13035.3,"close":13006.5,"high":13071.8,"low":12978.9,"amount":0.468,"vol":468,"trade_turnover":6102.5902,"count":123},{"id":1603544400,"open":13038.8,"close":12985.9,"high":13066.7,"low":12928.1,"amount":0.534,"vol":534,"trade_turnover":6950.4268,"count":123},{"id":1603548000,"open":12986.3,"close":13042.0,"high":13100.1,"low":12960.5,"amount":0.47,"vol":470,"trade_turnover":6124.2178,"count":100},{"id":1603551600,"open":13038.4,"close":13102.2,"high":13196.5,"low":13038.4,"amount":0.456,"vol":456,"trade_turnover":5989.6362,"count":120},{"id":1603555200,"open":13136.8,"close":13052.7,"high":13176.6,"low":12984.6,"amount":0.458,"vol":458,"trade_turnover":5976.331,"count":121},{"id":1603558800,"open":13006.2,"close":13177.8,"high":13177.8,"low":13003.2,"amount":0.452,"vol":452,"trade_turnover":5911.7058,"count":118},{"id":1603562400,"open":13127.7,"close":13080.8,"high":13170.7,"low":13023.0,"amount":0.468,"vol":468,"trade_turnover":6122.375,"count":119},{"id":1603566000,"open":13040.7,"close":13148.4,"high":13179.3,"low":13014.2,"amount":0.468,"vol":468,"trade_turnover":6126.4278,"count":120},{"id":1603569600,"open":13073.5,"close":13090.1,"high":13179.6,"low":12992.5,"amount":0.47,"vol":470,"trade_turnover":6151.4758,"count":119},{"id":1603573200,"open":13035.4,"close":12993.9,"high":13148.7,"low":12980.7,"amount":0.458,"vol":458,"trade_turnover":5981.071,"count":117},{"id":1603576800,"open":13040.7,"close":13041.1,"high":13112.1,"low":12975.6,"amount":0.478,"vol":478,"trade_turnover":6225.4216,"count":118},{"id":1603580400,"open":13012.6,"close":13184.3,"high":13184.3,"low":13009.3,"amount":0.472,"vol":472,"trade_turnover":6173.4244,"count":118},{"id":1603584000,"open":13080.8,"close":13154.3,"high":13170.4,"low":13007.7,"amount":0.46,"vol":460,"trade_turnover":6024.09,"count":115},{"id":1603587600,"open":13092.0,"close":13196.1,"high":13196.8,"low":13024.0,"amount":0.398,"vol":398,"trade_turnover":5217.5364,"count":102},{"id":1603591200,"open":13124.7,"close":13082.4,"high":13175.1,"low":13035.0,"amount":0.476,"vol":476,"trade_turnover":6228.6596,"count":120},{"id":1603594800,"open":13049.1,"close":13259.0,"high":13383.8,"low":13049.1,"amount":0.578,"vol":578,"trade_turnover":7629.3886,"count":137},{"id":1603598400,"open":13277.0,"close":13243.4,"high":13369.0,"low":13216.0,"amount":0.47,"vol":470,"trade_turnover":6247.955,"count":122},{"id":1603602000,"open":13285.3,"close":13017.3,"high":13353.3,"low":13010.1,"amount":0.61,"vol":610,"trade_turnover":8048.8598,"count":134},{"id":1603605600,"open":13022.5,"close":13060.3,"high":13105.7,"low":13018.2,"amount":0.486,"vol":486,"trade_turnover":6344.1474,"count":118},{"id":1603609200,"open":13048.5,"close":13078.1,"high":13112.1,"low":13022.0,"amount":0.464,"vol":464,"trade_turnover":6061.5416,"count":120},{"id":1603612800,"open":13077.2,"close":13046.0,"high":13091.0,"low":13017.2,"amount":0.464,"vol":464,"trade_turnover":6055.3734,"count":120},{"id":1603616400,"open":13065.1,"close":13040.8,"high":13084.0,"low":13014.2,"amount":0.478,"vol":478,"trade_turnover":6235.7882,"count":117},{"id":1603620000,"open":13047.1,"close":13028.5,"high":13064.2,"low":13010.2,"amount":0.478,"vol":478,"trade_turnover":6232.2428,"count":125},{"id":1603623600,"open":13061.5,"close":12897.6,"high":13061.5,"low":12852.9,"amount":0.534,"vol":534,"trade_turnover":6918.1226,"count":123},{"id":1603627200,"open":12908.3,"close":12964.3,"high":13069.7,"low":12893.2,"amount":0.444,"vol":444,"trade_turnover":5755.8712,"count":117},{"id":1603630800,"open":13001.3,"close":12949.3,"high":13071.9,"low":12891.8,"amount":0.498,"vol":498,"trade_turnover":6465.078,"count":119},{"id":1603634400,"open":12975.8,"close":12946.8,"high":13077.7,"low":12900.0,"amount":0.468,"vol":468,"trade_turnover":6075.4554,"count":116},{"id":1603638000,"open":12975.2,"close":12883.3,"high":13069.1,"low":12883.3,"amount":0.47,"vol":470,"trade_turnover":6097.1072,"count":119},{"id":1603641600,"open":12916.2,"close":12978.7,"high":13067.9,"low":12877.5,"amount":0.482,"vol":482,"trade_turnover":6256.4472,"count":118},{"id":1603645200,"open":13008.0,"close":13004.4,"high":13087.5,"low":12922.7,"amount":0.47,"vol":470,"trade_turnover":6108.3892,"count":117},{"id":1603648800,"open":12972.8,"close":12957.2,"high":13067.6,"low":12893.6,"amount":0.468,"vol":468,"trade_turnover":6079.1484,"count":118},{"id":1603652400,"open":12996.5,"close":13021.8,"high":13066.9,"low":12916.6,"amount":0.442,"vol":442,"trade_turnover":5746.5548,"count":118},{"id":1603656000,"open":12992.9,"close":12985.4,"high":13081.5,"low":12944.9,"amount":0.508,"vol":508,"trade_turnover":6616.9872,"count":120},{"id":1603659600,"open":12999.9,"close":13011.2,"high":13068.6,"low":12921.4,"amount":0.508,"vol":508,"trade_turnover":6614.816,"count":122},{"id":1603663200,"open":12979.6,"close":12959.4,"high":13073.8,"low":12911.9,"amount":0.486,"vol":486,"trade_turnover":6320.907,"count":121},{"id":1603666800,"open":12963.4,"close":13032.1,"high":13085.2,"low":12927.8,"amount":0.452,"vol":452,"trade_turnover":5878.6442,"count":113},{"id":1603670400,"open":12964.2,"close":13001.0,"high":13076.7,"low":12918.3,"amount":0.482,"vol":482,"trade_turnover":6263.698,"count":121},{"id":1603674000,"open":13040.0,"close":13053.7,"high":13096.4,"low":12991.2,"amount":0.478,"vol":478,"trade_turnover":6232.2328,"count":124},{"id":1603677600,"open":13060.6,"close":13064.4,"high":13185.7,"low":12985.1,"amount":0.488,"vol":488,"trade_turnover":6387.534,"count":121},{"id":1603681200,"open":13032.3,"close":13092.8,"high":13187.2,"low":12984.1,"amount":0.486,"vol":486,"trade_turnover":6369.0272,"count":135},{"id":1603684800,"open":13092.0,"close":13132.6,"high":13181.6,"low":12962.3,"amount":0.51,"vol":510,"trade_turnover":6679.829,"count":131},{"id":1603688400,"open":13129.2,"close":13092.1,"high":13205.3,"low":13025.3,"amount":0.506,"vol":506,"trade_turnover":6641.2128,"count":126},{"id":1603692000,"open":13121.8,"close":13071.4,"high":13188.1,"low":12989.8,"amount":1.616,"vol":1616,"trade_turnover":21170.8224,"count":141},{"id":1603695600,"open":13061.0,"close":13038.7,"high":13100.0,"low":12965.2,"amount":3.746,"vol":3746,"trade_turnover":48924.8902,"count":110},{"id":1603699200,"open":13030.9,"close":13039.3,"high":13102.0,"low":12852.8,"amount":8.966,"vol":8966,"trade_turnover":116525.5534,"count":173},{"id":1603702800,"open":13047.1,"close":13075.9,"high":13088.4,"low":13039.8,"amount":4.48,"vol":4480,"trade_turnover":58521.1714,"count":124},{"id":1603706400,"open":13072.1,"close":13100.0,"high":13100.0,"low":13060.2,"amount":4.272,"vol":4272,"trade_turnover":55895.9778,"count":130},{"id":1603710000,"open":13100.0,"close":13138.4,"high":13159.0,"low":13100.0,"amount":29.798,"vol":29798,"trade_turnover":391138.024,"count":230},{"id":1603713600,"open":13138.8,"close":13149.8,"high":13200.0,"low":13100.0,"amount":5.154,"vol":5154,"trade_turnover":67694.652,"count":188},{"id":1603717200,"open":13150.0,"close":13205.8,"high":13351.5,"low":13133.1,"amount":35.608,"vol":35608,"trade_turnover":472780.3394,"count":328},{"id":1603720800,"open":13203.0,"close":13166.1,"high":13280.0,"low":13144.1,"amount":31.748,"vol":31748,"trade_turnover":418744.5588,"count":235},{"id":1603724400,"open":13159.0,"close":12978.0,"high":13165.2,"low":12903.8,"amount":36.53,"vol":36530,"trade_turnover":476940.3296,"count":384},{"id":1603728000,"open":12965.0,"close":12869.6,"high":13069.8,"low":12850.5,"amount":35.018,"vol":35018,"trade_turnover":453288.918,"count":323},{"id":1603731600,"open":12879.2,"close":12873.8,"high":12941.5,"low":12583.9,"amount":92.628,"vol":92628,"trade_turnover":1185973.467,"count":560},{"id":1603735200,"open":12856.2,"close":12946.8,"high":12954.5,"low":12820.4,"amount":4.302,"vol":4302,"trade_turnover":55481.0054,"count":128},{"id":1603738800,"open":12945.6,"close":12953.4,"high":12953.5,"low":12914.1,"amount":13.83,"vol":13830,"trade_turnover":179112.1598,"count":118},{"id":1603742400,"open":12953.5,"close":12983.4,"high":13007.5,"low":12953.5,"amount":17.172,"vol":17172,"trade_turnover":223230.2122,"count":132},{"id":1603746000,"open":12983.1,"close":12993.8,"high":13007.5,"low":12982.7,"amount":3.212,"vol":3212,"trade_turnover":41767.8906,"count":59},{"id":1603749600,"open":13002.1,"close":13007.5,"high":13007.5,"low":12974.0,"amount":1.504,"vol":1504,"trade_turnover":19543.3568,"count":74},{"id":1603753200,"open":13007.5,"close":13033.7,"high":13061.2,"low":13007.5,"amount":3.454,"vol":3454,"trade_turnover":45001.601,"count":101},{"id":1603756800,"open":13029.2,"close":13067.1,"high":13105.0,"low":13028.3,"amount":8.784,"vol":8784,"trade_turnover":114871.8246,"count":98},{"id":1603760400,"open":13074.3,"close":13061.7,"high":13074.4,"low":13051.5,"amount":11.592,"vol":11592,"trade_turnover":151386.9038,"count":66},{"id":1603764000,"open":13061.7,"close":13049.7,"high":13097.6,"low":13040.1,"amount":19.298,"vol":19298,"trade_turnover":252061.019,"count":109},{"id":1603767600,"open":13057.6,"close":13070.4,"high":13080.0,"low":13057.1,"amount":22.992,"vol":22992,"trade_turnover":300453.9788,"count":69},{"id":1603771200,"open":13080.0,"close":13103.3,"high":13175.0,"low":13079.6,"amount":14.396,"vol":14396,"trade_turnover":188461.9156,"count":59},{"id":1603774800,"open":13121.3,"close":13073.6,"high":13121.3,"low":13069.7,"amount":5.058,"vol":5058,"trade_turnover":66201.3552,"count":44},{"id":1603778400,"open":13074.9,"close":13103.4,"high":13149.0,"low":13069.6,"amount":9.106,"vol":9106,"trade_turnover":119104.8906,"count":107},{"id":1603782000,"open":13103.3,"close":13130.0,"high":13169.8,"low":12992.4,"amount":73.95,"vol":73950,"trade_turnover":968195.155,"count":305},{"id":1603785600,"open":13135.1,"close":13123.8,"high":13148.4,"low":13044.0,"amount":18.732,"vol":18732,"trade_turnover":245533.5448,"count":135},{"id":1603789200,"open":13115.5,"close":13131.7,"high":13131.8,"low":13075.7,"amount":13.756,"vol":13756,"trade_turnover":180253.7708,"count":102},{"id":1603792800,"open":13134.8,"close":13216.9,"high":13252.0,"low":13063.4,"amount":154.108,"vol":154108,"trade_turnover":2029983.656,"count":525},{"id":1603796400,"open":13218.8,"close":13395.8,"high":13590.1,"low":13213.5,"amount":170.09,"vol":170090,"trade_turnover":2276279.742,"count":591},{"id":1603800000,"open":13395.9,"close":13376.9,"high":13414.0,"low":13331.7,"amount":48.928,"vol":48928,"trade_turnover":654585.9108,"count":216},{"id":1603803600,"open":13376.5,"close":13384.3,"high":13490.9,"low":13329.8,"amount":63.294,"vol":63294,"trade_turnover":848130.9212,"count":316},{"id":1603807200,"open":13392.6,"close":13398.2,"high":13415.8,"low":13344.8,"amount":12.892,"vol":12892,"trade_turnover":172618.6864,"count":124},{"id":1603810800,"open":13398.2,"close":13598.5,"high":13626.7,"low":13398.2,"amount":93.22,"vol":93220,"trade_turnover":1262695.5466,"count":476},{"id":1603814400,"open":13595.8,"close":13639.9,"high":13639.9,"low":13520.2,"amount":85.45,"vol":85450,"trade_turnover":1161481.4136,"count":435},{"id":1603818000,"open":13640.0,"close":13688.1,"high":13826.7,"low":13589.0,"amount":191.812,"vol":191812,"trade_turnover":2628428.3788,"count":711},{"id":1603821600,"open":13685.0,"close":13630.1,"high":13745.0,"low":13528.2,"amount":65.434,"vol":65434,"trade_turnover":891541.8394,"count":410},{"id":1603825200,"open":13629.4,"close":13637.1,"high":13659.8,"low":13595.4,"amount":5.788,"vol":5788,"trade_turnover":78836.2578,"count":65},{"id":1603828800,"open":13644.4,"close":13616.6,"high":13805.1,"low":13582.6,"amount":163.104,"vol":163104,"trade_turnover":2234040.3544,"count":537},{"id":1603832400,"open":13609.8,"close":13705.5,"high":13753.5,"low":13609.8,"amount":9.884,"vol":9884,"trade_turnover":135406.4752,"count":101},{"id":1603836000,"open":13705.4,"close":13739.9,"high":13739.9,"low":13658.2,"amount":7.436,"vol":7436,"trade_turnover":101840.3508,"count":100},{"id":1603839600,"open":13739.9,"close":13649.6,"high":13794.6,"low":13582.6,"amount":17.086,"vol":17086,"trade_turnover":233971.8448,"count":234},{"id":1603843200,"open":13645.9,"close":13701.7,"high":13745.2,"low":13618.8,"amount":24.108,"vol":24108,"trade_turnover":330206.5694,"count":177},{"id":1603846800,"open":13702.1,"close":13702.6,"high":13725.6,"low":13647.9,"amount":15.892,"vol":15892,"trade_turnover":217816.7008,"count":151},{"id":1603850400,"open":13701.7,"close":13811.6,"high":13832.2,"low":13680.2,"amount":46.548,"vol":46548,"trade_turnover":640636.0352,"count":274},{"id":1603854000,"open":13818.5,"close":13777.0,"high":13820.3,"low":13717.5,"amount":67.896,"vol":67896,"trade_turnover":935838.2238,"count":320},{"id":1603857600,"open":13767.3,"close":13735.7,"high":13807.2,"low":13710.0,"amount":33.156,"vol":33156,"trade_turnover":455941.234,"count":210},{"id":1603861200,"open":13735.5,"close":13715.8,"high":13753.9,"low":13671.3,"amount":32.076,"vol":32076,"trade_turnover":439612.64,"count":198},{"id":1603864800,"open":13715.9,"close":13701.3,"high":13757.0,"low":13694.9,"amount":14.756,"vol":14756,"trade_turnover":202602.5164,"count":122},{"id":1603868400,"open":13701.2,"close":13674.2,"high":13708.7,"low":13550.0,"amount":155.534,"vol":155534,"trade_turnover":2117935.0928,"count":635},{"id":1603872000,"open":13673.0,"close":13691.7,"high":13691.7,"low":13584.0,"amount":29.846,"vol":29846,"trade_turnover":407073.1398,"count":240},{"id":1603875600,"open":13689.3,"close":13587.1,"high":13707.5,"low":13573.5,"amount":104.542,"vol":104542,"trade_turnover":1425079.9344,"count":377},{"id":1603879200,"open":13584.6,"close":13552.7,"high":13618.0,"low":13504.7,"amount":73.818,"vol":73818,"trade_turnover":1001666.0908,"count":358},{"id":1603882800,"open":13552.6,"close":13336.4,"high":13565.4,"low":13330.0,"amount":176.544,"vol":176544,"trade_turnover":2369166.1492,"count":1004},{"id":1603886400,"open":13331.5,"close":13300.3,"high":13385.0,"low":13173.9,"amount":289.73,"vol":289730,"trade_turnover":3846751.7166,"count":968},{"id":1603890000,"open":13300.2,"close":13129.9,"high":13340.0,"low":13122.9,"amount":139.822,"vol":139822,"trade_turnover":1848876.932,"count":612},{"id":1603893600,"open":13123.4,"close":13082.2,"high":13168.2,"low":12915.9,"amount":367.876,"vol":367876,"trade_turnover":4802516.9818,"count":1168},{"id":1603897200,"open":13077.1,"close":13221.2,"high":13235.2,"low":13052.3,"amount":84.044,"vol":84044,"trade_turnover":1106883.1282,"count":375},{"id":1603900800,"open":13218.7,"close":13145.1,"high":13218.7,"low":13050.0,"amount":29.566,"vol":29566,"trade_turnover":388697.4104,"count":244},{"id":1603904400,"open":13145.1,"close":13176.7,"high":13204.9,"low":13006.6,"amount":53.336,"vol":53336,"trade_turnover":700385.2784,"count":299},{"id":1603908000,"open":13171.0,"close":13196.5,"high":13219.6,"low":13131.0,"amount":34.164,"vol":34164,"trade_turnover":450210.5778,"count":218},{"id":1603911600,"open":13200.0,"close":13154.9,"high":13237.4,"low":13145.0,"amount":22.158,"vol":22158,"trade_turnover":292020.0438,"count":185},{"id":1603915200,"open":13154.5,"close":13198.1,"high":13211.8,"low":13147.4,"amount":4.548,"vol":4548,"trade_turnover":59991.1118,"count":75},{"id":1603918800,"open":13193.5,"close":13190.1,"high":13196.5,"low":13100.2,"amount":3.52,"vol":3520,"trade_turnover":46175.428,"count":68},{"id":1603922400,"open":13185.4,"close":13252.0,"high":13267.5,"low":13185.4,"amount":3.122,"vol":3122,"trade_turnover":41304.2018,"count":72},{"id":1603926000,"open":13242.1,"close":13265.9,"high":13282.3,"low":13235.9,"amount":14.768,"vol":14768,"trade_turnover":195689.0764,"count":86},{"id":1603929600,"open":13253.9,"close":13245.1,"high":13294.7,"low":13237.4,"amount":19.968,"vol":19968,"trade_turnover":264834.1944,"count":98},{"id":1603933200,"open":13244.6,"close":13274.2,"high":13285.3,"low":13166.3,"amount":35.282,"vol":35282,"trade_turnover":465789.6302,"count":192},{"id":1603936800,"open":13275.9,"close":13241.1,"high":13277.7,"low":13212.2,"amount":9.748,"vol":9748,"trade_turnover":129016.0684,"count":119},{"id":1603940400,"open":13237.1,"close":13262.5,"high":13262.5,"low":13174.6,"amount":27.3,"vol":27300,"trade_turnover":360589.8982,"count":199},{"id":1603944000,"open":13269.1,"close":13229.5,"high":13277.7,"low":13229.5,"amount":18.904,"vol":18904,"trade_turnover":250713.2812,"count":109},{"id":1603947600,"open":13228.5,"close":13274.8,"high":13274.8,"low":13228.5,"amount":15.822,"vol":15822,"trade_turnover":209781.909,"count":134},{"id":1603951200,"open":13274.8,"close":13255.0,"high":13323.0,"low":13242.3,"amount":91.246,"vol":91246,"trade_turnover":1211271.2788,"count":294},{"id":1603954800,"open":13255.0,"close":13142.4,"high":13269.3,"low":13123.1,"amount":187.622,"vol":187622,"trade_turnover":2478299.7074,"count":506},{"id":1603958400,"open":13145.9,"close":13124.8,"high":13182.4,"low":13094.1,"amount":69.532,"vol":69532,"trade_turnover":914157.2418,"count":226},{"id":1603962000,"open":13129.5,"close":13183.7,"high":13197.1,"low":13129.5,"amount":23.184,"vol":23184,"trade_turnover":305485.9524,"count":141},{"id":1603965600,"open":13184.8,"close":13105.2,"high":13187.5,"low":13053.1,"amount":121.146,"vol":121146,"trade_turnover":1590026.4416,"count":442},{"id":1603969200,"open":13105.1,"close":13060.1,"high":13171.4,"low":13060.1,"amount":47.498,"vol":47498,"trade_turnover":623578.149,"count":262},{"id":1603972800,"open":13056.9,"close":13131.8,"high":13145.8,"low":12977.9,"amount":126.552,"vol":126552,"trade_turnover":1652549.311,"count":481},{"id":1603976400,"open":13131.7,"close":13230.0,"high":13237.2,"low":13102.0,"amount":100.482,"vol":100482,"trade_turnover":1326403.7206,"count":325},{"id":1603980000,"open":13231.0,"close":13420.8,"high":13476.1,"low":13231.0,"amount":253.258,"vol":253258,"trade_turnover":3384941.438,"count":752},{"id":1603983600,"open":13416.0,"close":13420.6,"high":13458.7,"low":13358.7,"amount":64.71,"vol":64710,"trade_turnover":869052.3804,"count":269},{"id":1603987200,"open":13421.9,"close":13535.9,"high":13594.5,"low":13391.8,"amount":120.24,"vol":120240,"trade_turnover":1626567.8278,"count":570}]} +2024-01-18 11:12:55.797 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:41] - 请求 KLine 数据解析之后的数据为:{"wsid":19750305,"data":[{"amount":0.276,"high":12300.0,"vol":276,"low":11715.8,"count":39,"id":1603270800,"close":12196.7,"tradeTurnover":3315.9104,"open":12198.0},{"amount":0.198,"high":12289.9,"vol":198,"low":12111.0,"count":21,"id":1603274400,"close":12277.9,"tradeTurnover":2420.7728,"open":12196.7},{"amount":0.012,"high":12277.9,"vol":12,"low":12000.0,"count":5,"id":1603278000,"close":12000.0,"tradeTurnover":145.2238,"open":12111.0},{"amount":0.084,"high":12498.0,"vol":84,"low":12078.0,"count":12,"id":1603281600,"close":12497.4,"tradeTurnover":1040.0504,"open":12078.0},{"amount":1.122,"high":12495.6,"vol":1122,"low":12282.9,"count":112,"id":1603285200,"close":12373.5,"tradeTurnover":13905.3124,"open":12495.6},{"amount":5.29,"high":12807.6,"vol":5290,"low":12358.1,"count":155,"id":1603288800,"close":12689.9,"tradeTurnover":66852.128,"open":12412.9},{"amount":1.174,"high":12778.7,"vol":1174,"low":12573.2,"count":113,"id":1603292400,"close":12701.9,"tradeTurnover":14907.367,"open":12692.8},{"amount":1.156,"high":12920.9,"vol":1156,"low":12624.8,"count":115,"id":1603296000,"close":12835.9,"tradeTurnover":14802.449,"open":12679.7},{"amount":1.12,"high":12908.3,"vol":1120,"low":12687.5,"count":115,"id":1603299600,"close":12754.2,"tradeTurnover":14345.7324,"open":12848.3},{"amount":1.106,"high":12849.0,"vol":1106,"low":12668.3,"count":114,"id":1603303200,"close":12740.2,"tradeTurnover":14105.3504,"open":12743.7},{"amount":1.032,"high":12843.1,"vol":1032,"low":12597.2,"count":112,"id":1603306800,"close":12650.3,"tradeTurnover":13125.4568,"open":12729.5},{"amount":1.154,"high":12848.4,"vol":1154,"low":12610.2,"count":116,"id":1603310400,"close":12807.0,"tradeTurnover":14680.638,"open":12666.8},{"amount":1.164,"high":13005.1,"vol":1164,"low":12748.2,"count":114,"id":1603314000,"close":12938.9,"tradeTurnover":14976.9366,"open":12866.0},{"amount":1.174,"high":13211.2,"vol":1174,"low":12865.7,"count":114,"id":1603317600,"close":13122.0,"tradeTurnover":15285.2446,"open":12921.0},{"amount":1.172,"high":13173.2,"vol":1172,"low":12688.6,"count":117,"id":1603321200,"close":12829.8,"tradeTurnover":15060.9938,"open":13153.2},{"amount":1.17,"high":12988.1,"vol":1170,"low":12764.4,"count":117,"id":1603324800,"close":12885.9,"tradeTurnover":15046.2046,"open":12793.1},{"amount":1.158,"high":12972.6,"vol":1158,"low":12757.5,"count":118,"id":1603328400,"close":12757.5,"tradeTurnover":14882.4656,"open":12860.4},{"amount":1.124,"high":12848.0,"vol":1124,"low":12729.0,"count":115,"id":1603332000,"close":12788.8,"tradeTurnover":14368.7948,"open":12824.1},{"amount":1.194,"high":12834.4,"vol":1194,"low":12729.0,"count":111,"id":1603335600,"close":12767.2,"tradeTurnover":15268.9298,"open":12791.7},{"amount":1.152,"high":12778.3,"vol":1152,"low":12729.0,"count":115,"id":1603339200,"close":12762.2,"tradeTurnover":14695.4876,"open":12729.0},{"amount":1.21,"high":12842.0,"vol":1210,"low":12730.6,"count":119,"id":1603342800,"close":12813.8,"tradeTurnover":15440.8162,"open":12763.1},{"amount":1.188,"high":12795.0,"vol":1188,"low":12728.0,"count":123,"id":1603346400,"close":12729.1,"tradeTurnover":15128.0098,"open":12795.0},{"amount":1.266,"high":12730.6,"vol":1266,"low":12728.3,"count":112,"id":1603350000,"close":12730.6,"tradeTurnover":16115.1306,"open":12728.6},{"amount":1.35,"high":12921.5,"vol":1350,"low":12729.9,"count":127,"id":1603353600,"close":12770.1,"tradeTurnover":17233.7326,"open":12730.3},{"amount":0.98,"high":12872.1,"vol":980,"low":12760.1,"count":99,"id":1603357200,"close":12780.4,"tradeTurnover":12553.9826,"open":12824.9},{"amount":0.266,"high":13002.7,"vol":266,"low":12775.6,"count":30,"id":1603360800,"close":12934.2,"tradeTurnover":3415.023,"open":12784.9},{"amount":1.004,"high":13057.0,"vol":1004,"low":12886.6,"count":117,"id":1603364400,"close":13045.0,"tradeTurnover":13020.8576,"open":12977.0},{"amount":1.134,"high":12973.4,"vol":1134,"low":12751.6,"count":111,"id":1603368000,"close":12847.9,"tradeTurnover":14594.2752,"open":12958.5},{"amount":1.152,"high":13000.8,"vol":1152,"low":12743.0,"count":114,"id":1603371600,"close":12931.0,"tradeTurnover":14877.7314,"open":12882.7},{"amount":1.182,"high":12995.3,"vol":1182,"low":12783.9,"count":115,"id":1603375200,"close":12917.8,"tradeTurnover":15224.4716,"open":12890.4},{"amount":1.176,"high":13031.2,"vol":1176,"low":12817.9,"count":117,"id":1603378800,"close":12953.0,"tradeTurnover":15197.208,"open":12918.8},{"amount":1.146,"high":13100.2,"vol":1146,"low":12865.6,"count":119,"id":1603382400,"close":13055.6,"tradeTurnover":14851.9604,"open":12923.1},{"amount":1.534,"high":13105.7,"vol":1534,"low":12835.5,"count":124,"id":1603386000,"close":13082.7,"tradeTurnover":19927.8288,"open":12967.6},{"amount":1.268,"high":13115.0,"vol":1268,"low":12938.7,"count":117,"id":1603389600,"close":13016.4,"tradeTurnover":16505.4738,"open":13020.4},{"amount":1.13,"high":13171.2,"vol":1130,"low":12961.8,"count":112,"id":1603393200,"close":12970.6,"tradeTurnover":14762.952,"open":13028.3},{"amount":1.206,"high":13216.1,"vol":1206,"low":12998.5,"count":117,"id":1603396800,"close":13089.3,"tradeTurnover":15807.1226,"open":13016.7},{"amount":1.332,"high":13203.7,"vol":1332,"low":12932.9,"count":114,"id":1603400400,"close":13092.0,"tradeTurnover":17423.4422,"open":13136.0},{"amount":1.21,"high":13250.5,"vol":1210,"low":12984.7,"count":114,"id":1603404000,"close":13055.9,"tradeTurnover":15876.0632,"open":13119.4},{"amount":1.286,"high":13126.5,"vol":1286,"low":12857.2,"count":116,"id":1603407600,"close":12890.4,"tradeTurnover":16688.422,"open":13059.4},{"amount":1.502,"high":12994.0,"vol":1502,"low":12751.6,"count":131,"id":1603411200,"close":12892.2,"tradeTurnover":19331.1596,"open":12929.7},{"amount":1.386,"high":13003.2,"vol":1386,"low":12786.0,"count":121,"id":1603414800,"close":12898.3,"tradeTurnover":17904.8902,"open":12921.7},{"amount":1.416,"high":13054.0,"vol":1416,"low":12800.7,"count":122,"id":1603418400,"close":12975.1,"tradeTurnover":18306.6204,"open":12951.6},{"amount":1.19,"high":13030.7,"vol":1190,"low":12875.0,"count":118,"id":1603422000,"close":12947.0,"tradeTurnover":15409.7984,"open":12967.3},{"amount":1.022,"high":13047.3,"vol":1022,"low":12832.8,"count":127,"id":1603425600,"close":12852.0,"tradeTurnover":13214.4388,"open":12925.2},{"amount":0.478,"high":12991.7,"vol":478,"low":12841.2,"count":118,"id":1603429200,"close":12931.1,"tradeTurnover":6180.2486,"open":12859.0},{"amount":0.522,"high":13014.1,"vol":522,"low":12871.9,"count":132,"id":1603432800,"close":12939.6,"tradeTurnover":6759.0324,"open":12935.9},{"amount":0.476,"high":12998.9,"vol":476,"low":12917.1,"count":118,"id":1603436400,"close":12925.4,"tradeTurnover":6163.3118,"open":12923.1},{"amount":0.508,"high":13014.0,"vol":508,"low":12916.1,"count":122,"id":1603440000,"close":12962.6,"tradeTurnover":6585.3656,"open":12942.2},{"amount":0.564,"high":13012.5,"vol":564,"low":12909.9,"count":124,"id":1603443600,"close":12926.4,"tradeTurnover":7308.8828,"open":12970.5},{"amount":0.536,"high":13059.5,"vol":536,"low":12925.7,"count":124,"id":1603447200,"close":13007.7,"tradeTurnover":6957.8796,"open":13001.2},{"amount":0.486,"high":13078.4,"vol":486,"low":12906.5,"count":122,"id":1603450800,"close":12970.6,"tradeTurnover":6326.1434,"open":13025.4},{"amount":0.494,"high":13025.0,"vol":494,"low":12850.8,"count":117,"id":1603454400,"close":12935.4,"tradeTurnover":6396.0984,"open":12963.9},{"amount":0.466,"high":13043.3,"vol":466,"low":12911.0,"count":117,"id":1603458000,"close":12951.7,"tradeTurnover":6049.1412,"open":12913.3},{"amount":0.46,"high":13006.4,"vol":460,"low":12840.4,"count":116,"id":1603461600,"close":12858.8,"tradeTurnover":5941.815,"open":12999.6},{"amount":0.492,"high":12932.9,"vol":492,"low":12826.5,"count":117,"id":1603465200,"close":12881.9,"tradeTurnover":6340.214,"open":12885.7},{"amount":0.484,"high":12933.5,"vol":484,"low":12744.4,"count":123,"id":1603468800,"close":12784.1,"tradeTurnover":6205.4138,"open":12854.4},{"amount":0.562,"high":12893.1,"vol":562,"low":12730.1,"count":152,"id":1603472400,"close":12847.7,"tradeTurnover":7218.9184,"open":12832.3},{"amount":0.53,"high":12939.3,"vol":530,"low":12751.4,"count":128,"id":1603476000,"close":12915.7,"tradeTurnover":6825.7004,"open":12874.1},{"amount":0.444,"high":12972.9,"vol":444,"low":12786.6,"count":117,"id":1603479600,"close":12972.9,"tradeTurnover":5727.7452,"open":12867.9},{"amount":0.492,"high":13002.2,"vol":492,"low":12842.9,"count":116,"id":1603483200,"close":12991.6,"tradeTurnover":6375.1566,"open":12956.7},{"amount":0.5,"high":13004.3,"vol":500,"low":12936.6,"count":125,"id":1603486800,"close":12943.5,"tradeTurnover":6485.468,"open":13004.3},{"amount":0.492,"high":13010.3,"vol":492,"low":12884.7,"count":120,"id":1603490400,"close":12989.2,"tradeTurnover":6376.1492,"open":12923.6},{"amount":0.51,"high":13024.4,"vol":510,"low":12884.6,"count":121,"id":1603494000,"close":12884.6,"tradeTurnover":6622.3406,"open":12974.9},{"amount":0.488,"high":13018.3,"vol":488,"low":12811.1,"count":120,"id":1603497600,"close":12953.9,"tradeTurnover":6317.7938,"open":12973.7},{"amount":0.482,"high":13018.1,"vol":482,"low":12872.8,"count":117,"id":1603501200,"close":12934.2,"tradeTurnover":6242.4178,"open":12927.5},{"amount":0.484,"high":13003.9,"vol":484,"low":12903.3,"count":117,"id":1603504800,"close":12989.1,"tradeTurnover":6278.1756,"open":12971.9},{"amount":0.474,"high":13013.4,"vol":474,"low":12938.3,"count":122,"id":1603508400,"close":12975.9,"tradeTurnover":6157.7096,"open":13000.1},{"amount":0.526,"high":13009.4,"vol":526,"low":12905.5,"count":124,"id":1603512000,"close":12963.3,"tradeTurnover":6831.5658,"open":12989.7},{"amount":0.522,"high":13041.8,"vol":522,"low":12875.3,"count":127,"id":1603515600,"close":12989.7,"tradeTurnover":6768.8994,"open":12910.5},{"amount":0.49,"high":13058.1,"vol":490,"low":12908.8,"count":120,"id":1603519200,"close":13003.6,"tradeTurnover":6370.5714,"open":12994.7},{"amount":0.478,"high":13037.8,"vol":478,"low":12981.7,"count":120,"id":1603522800,"close":13004.2,"tradeTurnover":6218.9722,"open":13011.9},{"amount":0.52,"high":13030.6,"vol":520,"low":12899.4,"count":124,"id":1603526400,"close":12998.2,"tradeTurnover":6754.958,"open":13003.0},{"amount":0.454,"high":13020.3,"vol":454,"low":12893.6,"count":115,"id":1603530000,"close":12990.6,"tradeTurnover":5891.0574,"open":12998.2},{"amount":0.502,"high":13059.1,"vol":502,"low":12913.2,"count":124,"id":1603533600,"close":13030.1,"tradeTurnover":6525.9004,"open":12996.4},{"amount":0.468,"high":13068.3,"vol":468,"low":12940.2,"count":119,"id":1603537200,"close":13033.2,"tradeTurnover":6091.0376,"open":12988.4},{"amount":0.468,"high":13071.8,"vol":468,"low":12978.9,"count":123,"id":1603540800,"close":13006.5,"tradeTurnover":6102.5902,"open":13035.3},{"amount":0.534,"high":13066.7,"vol":534,"low":12928.1,"count":123,"id":1603544400,"close":12985.9,"tradeTurnover":6950.4268,"open":13038.8},{"amount":0.47,"high":13100.1,"vol":470,"low":12960.5,"count":100,"id":1603548000,"close":13042.0,"tradeTurnover":6124.2178,"open":12986.3},{"amount":0.456,"high":13196.5,"vol":456,"low":13038.4,"count":120,"id":1603551600,"close":13102.2,"tradeTurnover":5989.6362,"open":13038.4},{"amount":0.458,"high":13176.6,"vol":458,"low":12984.6,"count":121,"id":1603555200,"close":13052.7,"tradeTurnover":5976.331,"open":13136.8},{"amount":0.452,"high":13177.8,"vol":452,"low":13003.2,"count":118,"id":1603558800,"close":13177.8,"tradeTurnover":5911.7058,"open":13006.2},{"amount":0.468,"high":13170.7,"vol":468,"low":13023.0,"count":119,"id":1603562400,"close":13080.8,"tradeTurnover":6122.375,"open":13127.7},{"amount":0.468,"high":13179.3,"vol":468,"low":13014.2,"count":120,"id":1603566000,"close":13148.4,"tradeTurnover":6126.4278,"open":13040.7},{"amount":0.47,"high":13179.6,"vol":470,"low":12992.5,"count":119,"id":1603569600,"close":13090.1,"tradeTurnover":6151.4758,"open":13073.5},{"amount":0.458,"high":13148.7,"vol":458,"low":12980.7,"count":117,"id":1603573200,"close":12993.9,"tradeTurnover":5981.071,"open":13035.4},{"amount":0.478,"high":13112.1,"vol":478,"low":12975.6,"count":118,"id":1603576800,"close":13041.1,"tradeTurnover":6225.4216,"open":13040.7},{"amount":0.472,"high":13184.3,"vol":472,"low":13009.3,"count":118,"id":1603580400,"close":13184.3,"tradeTurnover":6173.4244,"open":13012.6},{"amount":0.46,"high":13170.4,"vol":460,"low":13007.7,"count":115,"id":1603584000,"close":13154.3,"tradeTurnover":6024.09,"open":13080.8},{"amount":0.398,"high":13196.8,"vol":398,"low":13024.0,"count":102,"id":1603587600,"close":13196.1,"tradeTurnover":5217.5364,"open":13092.0},{"amount":0.476,"high":13175.1,"vol":476,"low":13035.0,"count":120,"id":1603591200,"close":13082.4,"tradeTurnover":6228.6596,"open":13124.7},{"amount":0.578,"high":13383.8,"vol":578,"low":13049.1,"count":137,"id":1603594800,"close":13259.0,"tradeTurnover":7629.3886,"open":13049.1},{"amount":0.47,"high":13369.0,"vol":470,"low":13216.0,"count":122,"id":1603598400,"close":13243.4,"tradeTurnover":6247.955,"open":13277.0},{"amount":0.61,"high":13353.3,"vol":610,"low":13010.1,"count":134,"id":1603602000,"close":13017.3,"tradeTurnover":8048.8598,"open":13285.3},{"amount":0.486,"high":13105.7,"vol":486,"low":13018.2,"count":118,"id":1603605600,"close":13060.3,"tradeTurnover":6344.1474,"open":13022.5},{"amount":0.464,"high":13112.1,"vol":464,"low":13022.0,"count":120,"id":1603609200,"close":13078.1,"tradeTurnover":6061.5416,"open":13048.5},{"amount":0.464,"high":13091.0,"vol":464,"low":13017.2,"count":120,"id":1603612800,"close":13046.0,"tradeTurnover":6055.3734,"open":13077.2},{"amount":0.478,"high":13084.0,"vol":478,"low":13014.2,"count":117,"id":1603616400,"close":13040.8,"tradeTurnover":6235.7882,"open":13065.1},{"amount":0.478,"high":13064.2,"vol":478,"low":13010.2,"count":125,"id":1603620000,"close":13028.5,"tradeTurnover":6232.2428,"open":13047.1},{"amount":0.534,"high":13061.5,"vol":534,"low":12852.9,"count":123,"id":1603623600,"close":12897.6,"tradeTurnover":6918.1226,"open":13061.5},{"amount":0.444,"high":13069.7,"vol":444,"low":12893.2,"count":117,"id":1603627200,"close":12964.3,"tradeTurnover":5755.8712,"open":12908.3},{"amount":0.498,"high":13071.9,"vol":498,"low":12891.8,"count":119,"id":1603630800,"close":12949.3,"tradeTurnover":6465.078,"open":13001.3},{"amount":0.468,"high":13077.7,"vol":468,"low":12900.0,"count":116,"id":1603634400,"close":12946.8,"tradeTurnover":6075.4554,"open":12975.8},{"amount":0.47,"high":13069.1,"vol":470,"low":12883.3,"count":119,"id":1603638000,"close":12883.3,"tradeTurnover":6097.1072,"open":12975.2},{"amount":0.482,"high":13067.9,"vol":482,"low":12877.5,"count":118,"id":1603641600,"close":12978.7,"tradeTurnover":6256.4472,"open":12916.2},{"amount":0.47,"high":13087.5,"vol":470,"low":12922.7,"count":117,"id":1603645200,"close":13004.4,"tradeTurnover":6108.3892,"open":13008.0},{"amount":0.468,"high":13067.6,"vol":468,"low":12893.6,"count":118,"id":1603648800,"close":12957.2,"tradeTurnover":6079.1484,"open":12972.8},{"amount":0.442,"high":13066.9,"vol":442,"low":12916.6,"count":118,"id":1603652400,"close":13021.8,"tradeTurnover":5746.5548,"open":12996.5},{"amount":0.508,"high":13081.5,"vol":508,"low":12944.9,"count":120,"id":1603656000,"close":12985.4,"tradeTurnover":6616.9872,"open":12992.9},{"amount":0.508,"high":13068.6,"vol":508,"low":12921.4,"count":122,"id":1603659600,"close":13011.2,"tradeTurnover":6614.816,"open":12999.9},{"amount":0.486,"high":13073.8,"vol":486,"low":12911.9,"count":121,"id":1603663200,"close":12959.4,"tradeTurnover":6320.907,"open":12979.6},{"amount":0.452,"high":13085.2,"vol":452,"low":12927.8,"count":113,"id":1603666800,"close":13032.1,"tradeTurnover":5878.6442,"open":12963.4},{"amount":0.482,"high":13076.7,"vol":482,"low":12918.3,"count":121,"id":1603670400,"close":13001.0,"tradeTurnover":6263.698,"open":12964.2},{"amount":0.478,"high":13096.4,"vol":478,"low":12991.2,"count":124,"id":1603674000,"close":13053.7,"tradeTurnover":6232.2328,"open":13040.0},{"amount":0.488,"high":13185.7,"vol":488,"low":12985.1,"count":121,"id":1603677600,"close":13064.4,"tradeTurnover":6387.534,"open":13060.6},{"amount":0.486,"high":13187.2,"vol":486,"low":12984.1,"count":135,"id":1603681200,"close":13092.8,"tradeTurnover":6369.0272,"open":13032.3},{"amount":0.51,"high":13181.6,"vol":510,"low":12962.3,"count":131,"id":1603684800,"close":13132.6,"tradeTurnover":6679.829,"open":13092.0},{"amount":0.506,"high":13205.3,"vol":506,"low":13025.3,"count":126,"id":1603688400,"close":13092.1,"tradeTurnover":6641.2128,"open":13129.2},{"amount":1.616,"high":13188.1,"vol":1616,"low":12989.8,"count":141,"id":1603692000,"close":13071.4,"tradeTurnover":21170.8224,"open":13121.8},{"amount":3.746,"high":13100.0,"vol":3746,"low":12965.2,"count":110,"id":1603695600,"close":13038.7,"tradeTurnover":48924.8902,"open":13061.0},{"amount":8.966,"high":13102.0,"vol":8966,"low":12852.8,"count":173,"id":1603699200,"close":13039.3,"tradeTurnover":116525.5534,"open":13030.9},{"amount":4.48,"high":13088.4,"vol":4480,"low":13039.8,"count":124,"id":1603702800,"close":13075.9,"tradeTurnover":58521.1714,"open":13047.1},{"amount":4.272,"high":13100.0,"vol":4272,"low":13060.2,"count":130,"id":1603706400,"close":13100.0,"tradeTurnover":55895.9778,"open":13072.1},{"amount":29.798,"high":13159.0,"vol":29798,"low":13100.0,"count":230,"id":1603710000,"close":13138.4,"tradeTurnover":391138.024,"open":13100.0},{"amount":5.154,"high":13200.0,"vol":5154,"low":13100.0,"count":188,"id":1603713600,"close":13149.8,"tradeTurnover":67694.652,"open":13138.8},{"amount":35.608,"high":13351.5,"vol":35608,"low":13133.1,"count":328,"id":1603717200,"close":13205.8,"tradeTurnover":472780.3394,"open":13150.0},{"amount":31.748,"high":13280.0,"vol":31748,"low":13144.1,"count":235,"id":1603720800,"close":13166.1,"tradeTurnover":418744.5588,"open":13203.0},{"amount":36.53,"high":13165.2,"vol":36530,"low":12903.8,"count":384,"id":1603724400,"close":12978.0,"tradeTurnover":476940.3296,"open":13159.0},{"amount":35.018,"high":13069.8,"vol":35018,"low":12850.5,"count":323,"id":1603728000,"close":12869.6,"tradeTurnover":453288.918,"open":12965.0},{"amount":92.628,"high":12941.5,"vol":92628,"low":12583.9,"count":560,"id":1603731600,"close":12873.8,"tradeTurnover":1185973.467,"open":12879.2},{"amount":4.302,"high":12954.5,"vol":4302,"low":12820.4,"count":128,"id":1603735200,"close":12946.8,"tradeTurnover":55481.0054,"open":12856.2},{"amount":13.83,"high":12953.5,"vol":13830,"low":12914.1,"count":118,"id":1603738800,"close":12953.4,"tradeTurnover":179112.1598,"open":12945.6},{"amount":17.172,"high":13007.5,"vol":17172,"low":12953.5,"count":132,"id":1603742400,"close":12983.4,"tradeTurnover":223230.2122,"open":12953.5},{"amount":3.212,"high":13007.5,"vol":3212,"low":12982.7,"count":59,"id":1603746000,"close":12993.8,"tradeTurnover":41767.8906,"open":12983.1},{"amount":1.504,"high":13007.5,"vol":1504,"low":12974.0,"count":74,"id":1603749600,"close":13007.5,"tradeTurnover":19543.3568,"open":13002.1},{"amount":3.454,"high":13061.2,"vol":3454,"low":13007.5,"count":101,"id":1603753200,"close":13033.7,"tradeTurnover":45001.601,"open":13007.5},{"amount":8.784,"high":13105.0,"vol":8784,"low":13028.3,"count":98,"id":1603756800,"close":13067.1,"tradeTurnover":114871.8246,"open":13029.2},{"amount":11.592,"high":13074.4,"vol":11592,"low":13051.5,"count":66,"id":1603760400,"close":13061.7,"tradeTurnover":151386.9038,"open":13074.3},{"amount":19.298,"high":13097.6,"vol":19298,"low":13040.1,"count":109,"id":1603764000,"close":13049.7,"tradeTurnover":252061.019,"open":13061.7},{"amount":22.992,"high":13080.0,"vol":22992,"low":13057.1,"count":69,"id":1603767600,"close":13070.4,"tradeTurnover":300453.9788,"open":13057.6},{"amount":14.396,"high":13175.0,"vol":14396,"low":13079.6,"count":59,"id":1603771200,"close":13103.3,"tradeTurnover":188461.9156,"open":13080.0},{"amount":5.058,"high":13121.3,"vol":5058,"low":13069.7,"count":44,"id":1603774800,"close":13073.6,"tradeTurnover":66201.3552,"open":13121.3},{"amount":9.106,"high":13149.0,"vol":9106,"low":13069.6,"count":107,"id":1603778400,"close":13103.4,"tradeTurnover":119104.8906,"open":13074.9},{"amount":73.95,"high":13169.8,"vol":73950,"low":12992.4,"count":305,"id":1603782000,"close":13130.0,"tradeTurnover":968195.155,"open":13103.3},{"amount":18.732,"high":13148.4,"vol":18732,"low":13044.0,"count":135,"id":1603785600,"close":13123.8,"tradeTurnover":245533.5448,"open":13135.1},{"amount":13.756,"high":13131.8,"vol":13756,"low":13075.7,"count":102,"id":1603789200,"close":13131.7,"tradeTurnover":180253.7708,"open":13115.5},{"amount":154.108,"high":13252.0,"vol":154108,"low":13063.4,"count":525,"id":1603792800,"close":13216.9,"tradeTurnover":2029983.656,"open":13134.8},{"amount":170.09,"high":13590.1,"vol":170090,"low":13213.5,"count":591,"id":1603796400,"close":13395.8,"tradeTurnover":2276279.742,"open":13218.8},{"amount":48.928,"high":13414.0,"vol":48928,"low":13331.7,"count":216,"id":1603800000,"close":13376.9,"tradeTurnover":654585.9108,"open":13395.9},{"amount":63.294,"high":13490.9,"vol":63294,"low":13329.8,"count":316,"id":1603803600,"close":13384.3,"tradeTurnover":848130.9212,"open":13376.5},{"amount":12.892,"high":13415.8,"vol":12892,"low":13344.8,"count":124,"id":1603807200,"close":13398.2,"tradeTurnover":172618.6864,"open":13392.6},{"amount":93.22,"high":13626.7,"vol":93220,"low":13398.2,"count":476,"id":1603810800,"close":13598.5,"tradeTurnover":1262695.5466,"open":13398.2},{"amount":85.45,"high":13639.9,"vol":85450,"low":13520.2,"count":435,"id":1603814400,"close":13639.9,"tradeTurnover":1161481.4136,"open":13595.8},{"amount":191.812,"high":13826.7,"vol":191812,"low":13589.0,"count":711,"id":1603818000,"close":13688.1,"tradeTurnover":2628428.3788,"open":13640.0},{"amount":65.434,"high":13745.0,"vol":65434,"low":13528.2,"count":410,"id":1603821600,"close":13630.1,"tradeTurnover":891541.8394,"open":13685.0},{"amount":5.788,"high":13659.8,"vol":5788,"low":13595.4,"count":65,"id":1603825200,"close":13637.1,"tradeTurnover":78836.2578,"open":13629.4},{"amount":163.104,"high":13805.1,"vol":163104,"low":13582.6,"count":537,"id":1603828800,"close":13616.6,"tradeTurnover":2234040.3544,"open":13644.4},{"amount":9.884,"high":13753.5,"vol":9884,"low":13609.8,"count":101,"id":1603832400,"close":13705.5,"tradeTurnover":135406.4752,"open":13609.8},{"amount":7.436,"high":13739.9,"vol":7436,"low":13658.2,"count":100,"id":1603836000,"close":13739.9,"tradeTurnover":101840.3508,"open":13705.4},{"amount":17.086,"high":13794.6,"vol":17086,"low":13582.6,"count":234,"id":1603839600,"close":13649.6,"tradeTurnover":233971.8448,"open":13739.9},{"amount":24.108,"high":13745.2,"vol":24108,"low":13618.8,"count":177,"id":1603843200,"close":13701.7,"tradeTurnover":330206.5694,"open":13645.9},{"amount":15.892,"high":13725.6,"vol":15892,"low":13647.9,"count":151,"id":1603846800,"close":13702.6,"tradeTurnover":217816.7008,"open":13702.1},{"amount":46.548,"high":13832.2,"vol":46548,"low":13680.2,"count":274,"id":1603850400,"close":13811.6,"tradeTurnover":640636.0352,"open":13701.7},{"amount":67.896,"high":13820.3,"vol":67896,"low":13717.5,"count":320,"id":1603854000,"close":13777.0,"tradeTurnover":935838.2238,"open":13818.5},{"amount":33.156,"high":13807.2,"vol":33156,"low":13710.0,"count":210,"id":1603857600,"close":13735.7,"tradeTurnover":455941.234,"open":13767.3},{"amount":32.076,"high":13753.9,"vol":32076,"low":13671.3,"count":198,"id":1603861200,"close":13715.8,"tradeTurnover":439612.64,"open":13735.5},{"amount":14.756,"high":13757.0,"vol":14756,"low":13694.9,"count":122,"id":1603864800,"close":13701.3,"tradeTurnover":202602.5164,"open":13715.9},{"amount":155.534,"high":13708.7,"vol":155534,"low":13550.0,"count":635,"id":1603868400,"close":13674.2,"tradeTurnover":2117935.0928,"open":13701.2},{"amount":29.846,"high":13691.7,"vol":29846,"low":13584.0,"count":240,"id":1603872000,"close":13691.7,"tradeTurnover":407073.1398,"open":13673.0},{"amount":104.542,"high":13707.5,"vol":104542,"low":13573.5,"count":377,"id":1603875600,"close":13587.1,"tradeTurnover":1425079.9344,"open":13689.3},{"amount":73.818,"high":13618.0,"vol":73818,"low":13504.7,"count":358,"id":1603879200,"close":13552.7,"tradeTurnover":1001666.0908,"open":13584.6},{"amount":176.544,"high":13565.4,"vol":176544,"low":13330.0,"count":1004,"id":1603882800,"close":13336.4,"tradeTurnover":2369166.1492,"open":13552.6},{"amount":289.73,"high":13385.0,"vol":289730,"low":13173.9,"count":968,"id":1603886400,"close":13300.3,"tradeTurnover":3846751.7166,"open":13331.5},{"amount":139.822,"high":13340.0,"vol":139822,"low":13122.9,"count":612,"id":1603890000,"close":13129.9,"tradeTurnover":1848876.932,"open":13300.2},{"amount":367.876,"high":13168.2,"vol":367876,"low":12915.9,"count":1168,"id":1603893600,"close":13082.2,"tradeTurnover":4802516.9818,"open":13123.4},{"amount":84.044,"high":13235.2,"vol":84044,"low":13052.3,"count":375,"id":1603897200,"close":13221.2,"tradeTurnover":1106883.1282,"open":13077.1},{"amount":29.566,"high":13218.7,"vol":29566,"low":13050.0,"count":244,"id":1603900800,"close":13145.1,"tradeTurnover":388697.4104,"open":13218.7},{"amount":53.336,"high":13204.9,"vol":53336,"low":13006.6,"count":299,"id":1603904400,"close":13176.7,"tradeTurnover":700385.2784,"open":13145.1},{"amount":34.164,"high":13219.6,"vol":34164,"low":13131.0,"count":218,"id":1603908000,"close":13196.5,"tradeTurnover":450210.5778,"open":13171.0},{"amount":22.158,"high":13237.4,"vol":22158,"low":13145.0,"count":185,"id":1603911600,"close":13154.9,"tradeTurnover":292020.0438,"open":13200.0},{"amount":4.548,"high":13211.8,"vol":4548,"low":13147.4,"count":75,"id":1603915200,"close":13198.1,"tradeTurnover":59991.1118,"open":13154.5},{"amount":3.52,"high":13196.5,"vol":3520,"low":13100.2,"count":68,"id":1603918800,"close":13190.1,"tradeTurnover":46175.428,"open":13193.5},{"amount":3.122,"high":13267.5,"vol":3122,"low":13185.4,"count":72,"id":1603922400,"close":13252.0,"tradeTurnover":41304.2018,"open":13185.4},{"amount":14.768,"high":13282.3,"vol":14768,"low":13235.9,"count":86,"id":1603926000,"close":13265.9,"tradeTurnover":195689.0764,"open":13242.1},{"amount":19.968,"high":13294.7,"vol":19968,"low":13237.4,"count":98,"id":1603929600,"close":13245.1,"tradeTurnover":264834.1944,"open":13253.9},{"amount":35.282,"high":13285.3,"vol":35282,"low":13166.3,"count":192,"id":1603933200,"close":13274.2,"tradeTurnover":465789.6302,"open":13244.6},{"amount":9.748,"high":13277.7,"vol":9748,"low":13212.2,"count":119,"id":1603936800,"close":13241.1,"tradeTurnover":129016.0684,"open":13275.9},{"amount":27.3,"high":13262.5,"vol":27300,"low":13174.6,"count":199,"id":1603940400,"close":13262.5,"tradeTurnover":360589.8982,"open":13237.1},{"amount":18.904,"high":13277.7,"vol":18904,"low":13229.5,"count":109,"id":1603944000,"close":13229.5,"tradeTurnover":250713.2812,"open":13269.1},{"amount":15.822,"high":13274.8,"vol":15822,"low":13228.5,"count":134,"id":1603947600,"close":13274.8,"tradeTurnover":209781.909,"open":13228.5},{"amount":91.246,"high":13323.0,"vol":91246,"low":13242.3,"count":294,"id":1603951200,"close":13255.0,"tradeTurnover":1211271.2788,"open":13274.8},{"amount":187.622,"high":13269.3,"vol":187622,"low":13123.1,"count":506,"id":1603954800,"close":13142.4,"tradeTurnover":2478299.7074,"open":13255.0},{"amount":69.532,"high":13182.4,"vol":69532,"low":13094.1,"count":226,"id":1603958400,"close":13124.8,"tradeTurnover":914157.2418,"open":13145.9},{"amount":23.184,"high":13197.1,"vol":23184,"low":13129.5,"count":141,"id":1603962000,"close":13183.7,"tradeTurnover":305485.9524,"open":13129.5},{"amount":121.146,"high":13187.5,"vol":121146,"low":13053.1,"count":442,"id":1603965600,"close":13105.2,"tradeTurnover":1590026.4416,"open":13184.8},{"amount":47.498,"high":13171.4,"vol":47498,"low":13060.1,"count":262,"id":1603969200,"close":13060.1,"tradeTurnover":623578.149,"open":13105.1},{"amount":126.552,"high":13145.8,"vol":126552,"low":12977.9,"count":481,"id":1603972800,"close":13131.8,"tradeTurnover":1652549.311,"open":13056.9},{"amount":100.482,"high":13237.2,"vol":100482,"low":13102.0,"count":325,"id":1603976400,"close":13230.0,"tradeTurnover":1326403.7206,"open":13131.7},{"amount":253.258,"high":13476.1,"vol":253258,"low":13231.0,"count":752,"id":1603980000,"close":13420.8,"tradeTurnover":3384941.438,"open":13231.0},{"amount":64.71,"high":13458.7,"vol":64710,"low":13358.7,"count":269,"id":1603983600,"close":13420.6,"tradeTurnover":869052.3804,"open":13416.0},{"amount":120.24,"high":13594.5,"vol":120240,"low":13391.8,"count":570,"id":1603987200,"close":13535.9,"tradeTurnover":1626567.8278,"open":13421.9}],"id":"","rep":"market.BTC-USDT.kline.60min","status":"ok"} +2024-01-18 11:12:56.809 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:39] - 请求 KLine 数据用户收到的原始数据:{"id":"","rep":"market.BTC-USDT.kline.60min","ts":1705547575717,"wsid":19750305,"status":"ok","data":[{"id":1603270800,"open":12198.0,"close":12196.7,"high":12300.0,"low":11715.8,"amount":0.276,"vol":276,"trade_turnover":3315.9104,"count":39},{"id":1603274400,"open":12196.7,"close":12277.9,"high":12289.9,"low":12111.0,"amount":0.198,"vol":198,"trade_turnover":2420.7728,"count":21},{"id":1603278000,"open":12111.0,"close":12000.0,"high":12277.9,"low":12000.0,"amount":0.012,"vol":12,"trade_turnover":145.2238,"count":5},{"id":1603281600,"open":12078.0,"close":12497.4,"high":12498.0,"low":12078.0,"amount":0.084,"vol":84,"trade_turnover":1040.0504,"count":12},{"id":1603285200,"open":12495.6,"close":12373.5,"high":12495.6,"low":12282.9,"amount":1.122,"vol":1122,"trade_turnover":13905.3124,"count":112},{"id":1603288800,"open":12412.9,"close":12689.9,"high":12807.6,"low":12358.1,"amount":5.29,"vol":5290,"trade_turnover":66852.128,"count":155},{"id":1603292400,"open":12692.8,"close":12701.9,"high":12778.7,"low":12573.2,"amount":1.174,"vol":1174,"trade_turnover":14907.367,"count":113},{"id":1603296000,"open":12679.7,"close":12835.9,"high":12920.9,"low":12624.8,"amount":1.156,"vol":1156,"trade_turnover":14802.449,"count":115},{"id":1603299600,"open":12848.3,"close":12754.2,"high":12908.3,"low":12687.5,"amount":1.12,"vol":1120,"trade_turnover":14345.7324,"count":115},{"id":1603303200,"open":12743.7,"close":12740.2,"high":12849.0,"low":12668.3,"amount":1.106,"vol":1106,"trade_turnover":14105.3504,"count":114},{"id":1603306800,"open":12729.5,"close":12650.3,"high":12843.1,"low":12597.2,"amount":1.032,"vol":1032,"trade_turnover":13125.4568,"count":112},{"id":1603310400,"open":12666.8,"close":12807.0,"high":12848.4,"low":12610.2,"amount":1.154,"vol":1154,"trade_turnover":14680.638,"count":116},{"id":1603314000,"open":12866.0,"close":12938.9,"high":13005.1,"low":12748.2,"amount":1.164,"vol":1164,"trade_turnover":14976.9366,"count":114},{"id":1603317600,"open":12921.0,"close":13122.0,"high":13211.2,"low":12865.7,"amount":1.174,"vol":1174,"trade_turnover":15285.2446,"count":114},{"id":1603321200,"open":13153.2,"close":12829.8,"high":13173.2,"low":12688.6,"amount":1.172,"vol":1172,"trade_turnover":15060.9938,"count":117},{"id":1603324800,"open":12793.1,"close":12885.9,"high":12988.1,"low":12764.4,"amount":1.17,"vol":1170,"trade_turnover":15046.2046,"count":117},{"id":1603328400,"open":12860.4,"close":12757.5,"high":12972.6,"low":12757.5,"amount":1.158,"vol":1158,"trade_turnover":14882.4656,"count":118},{"id":1603332000,"open":12824.1,"close":12788.8,"high":12848.0,"low":12729.0,"amount":1.124,"vol":1124,"trade_turnover":14368.7948,"count":115},{"id":1603335600,"open":12791.7,"close":12767.2,"high":12834.4,"low":12729.0,"amount":1.194,"vol":1194,"trade_turnover":15268.9298,"count":111},{"id":1603339200,"open":12729.0,"close":12762.2,"high":12778.3,"low":12729.0,"amount":1.152,"vol":1152,"trade_turnover":14695.4876,"count":115},{"id":1603342800,"open":12763.1,"close":12813.8,"high":12842.0,"low":12730.6,"amount":1.21,"vol":1210,"trade_turnover":15440.8162,"count":119},{"id":1603346400,"open":12795.0,"close":12729.1,"high":12795.0,"low":12728.0,"amount":1.188,"vol":1188,"trade_turnover":15128.0098,"count":123},{"id":1603350000,"open":12728.6,"close":12730.6,"high":12730.6,"low":12728.3,"amount":1.266,"vol":1266,"trade_turnover":16115.1306,"count":112},{"id":1603353600,"open":12730.3,"close":12770.1,"high":12921.5,"low":12729.9,"amount":1.35,"vol":1350,"trade_turnover":17233.7326,"count":127},{"id":1603357200,"open":12824.9,"close":12780.4,"high":12872.1,"low":12760.1,"amount":0.98,"vol":980,"trade_turnover":12553.9826,"count":99},{"id":1603360800,"open":12784.9,"close":12934.2,"high":13002.7,"low":12775.6,"amount":0.266,"vol":266,"trade_turnover":3415.023,"count":30},{"id":1603364400,"open":12977.0,"close":13045.0,"high":13057.0,"low":12886.6,"amount":1.004,"vol":1004,"trade_turnover":13020.8576,"count":117},{"id":1603368000,"open":12958.5,"close":12847.9,"high":12973.4,"low":12751.6,"amount":1.134,"vol":1134,"trade_turnover":14594.2752,"count":111},{"id":1603371600,"open":12882.7,"close":12931.0,"high":13000.8,"low":12743.0,"amount":1.152,"vol":1152,"trade_turnover":14877.7314,"count":114},{"id":1603375200,"open":12890.4,"close":12917.8,"high":12995.3,"low":12783.9,"amount":1.182,"vol":1182,"trade_turnover":15224.4716,"count":115},{"id":1603378800,"open":12918.8,"close":12953.0,"high":13031.2,"low":12817.9,"amount":1.176,"vol":1176,"trade_turnover":15197.208,"count":117},{"id":1603382400,"open":12923.1,"close":13055.6,"high":13100.2,"low":12865.6,"amount":1.146,"vol":1146,"trade_turnover":14851.9604,"count":119},{"id":1603386000,"open":12967.6,"close":13082.7,"high":13105.7,"low":12835.5,"amount":1.534,"vol":1534,"trade_turnover":19927.8288,"count":124},{"id":1603389600,"open":13020.4,"close":13016.4,"high":13115.0,"low":12938.7,"amount":1.268,"vol":1268,"trade_turnover":16505.4738,"count":117},{"id":1603393200,"open":13028.3,"close":12970.6,"high":13171.2,"low":12961.8,"amount":1.13,"vol":1130,"trade_turnover":14762.952,"count":112},{"id":1603396800,"open":13016.7,"close":13089.3,"high":13216.1,"low":12998.5,"amount":1.206,"vol":1206,"trade_turnover":15807.1226,"count":117},{"id":1603400400,"open":13136.0,"close":13092.0,"high":13203.7,"low":12932.9,"amount":1.332,"vol":1332,"trade_turnover":17423.4422,"count":114},{"id":1603404000,"open":13119.4,"close":13055.9,"high":13250.5,"low":12984.7,"amount":1.21,"vol":1210,"trade_turnover":15876.0632,"count":114},{"id":1603407600,"open":13059.4,"close":12890.4,"high":13126.5,"low":12857.2,"amount":1.286,"vol":1286,"trade_turnover":16688.422,"count":116},{"id":1603411200,"open":12929.7,"close":12892.2,"high":12994.0,"low":12751.6,"amount":1.502,"vol":1502,"trade_turnover":19331.1596,"count":131},{"id":1603414800,"open":12921.7,"close":12898.3,"high":13003.2,"low":12786.0,"amount":1.386,"vol":1386,"trade_turnover":17904.8902,"count":121},{"id":1603418400,"open":12951.6,"close":12975.1,"high":13054.0,"low":12800.7,"amount":1.416,"vol":1416,"trade_turnover":18306.6204,"count":122},{"id":1603422000,"open":12967.3,"close":12947.0,"high":13030.7,"low":12875.0,"amount":1.19,"vol":1190,"trade_turnover":15409.7984,"count":118},{"id":1603425600,"open":12925.2,"close":12852.0,"high":13047.3,"low":12832.8,"amount":1.022,"vol":1022,"trade_turnover":13214.4388,"count":127},{"id":1603429200,"open":12859.0,"close":12931.1,"high":12991.7,"low":12841.2,"amount":0.478,"vol":478,"trade_turnover":6180.2486,"count":118},{"id":1603432800,"open":12935.9,"close":12939.6,"high":13014.1,"low":12871.9,"amount":0.522,"vol":522,"trade_turnover":6759.0324,"count":132},{"id":1603436400,"open":12923.1,"close":12925.4,"high":12998.9,"low":12917.1,"amount":0.476,"vol":476,"trade_turnover":6163.3118,"count":118},{"id":1603440000,"open":12942.2,"close":12962.6,"high":13014.0,"low":12916.1,"amount":0.508,"vol":508,"trade_turnover":6585.3656,"count":122},{"id":1603443600,"open":12970.5,"close":12926.4,"high":13012.5,"low":12909.9,"amount":0.564,"vol":564,"trade_turnover":7308.8828,"count":124},{"id":1603447200,"open":13001.2,"close":13007.7,"high":13059.5,"low":12925.7,"amount":0.536,"vol":536,"trade_turnover":6957.8796,"count":124},{"id":1603450800,"open":13025.4,"close":12970.6,"high":13078.4,"low":12906.5,"amount":0.486,"vol":486,"trade_turnover":6326.1434,"count":122},{"id":1603454400,"open":12963.9,"close":12935.4,"high":13025.0,"low":12850.8,"amount":0.494,"vol":494,"trade_turnover":6396.0984,"count":117},{"id":1603458000,"open":12913.3,"close":12951.7,"high":13043.3,"low":12911.0,"amount":0.466,"vol":466,"trade_turnover":6049.1412,"count":117},{"id":1603461600,"open":12999.6,"close":12858.8,"high":13006.4,"low":12840.4,"amount":0.46,"vol":460,"trade_turnover":5941.815,"count":116},{"id":1603465200,"open":12885.7,"close":12881.9,"high":12932.9,"low":12826.5,"amount":0.492,"vol":492,"trade_turnover":6340.214,"count":117},{"id":1603468800,"open":12854.4,"close":12784.1,"high":12933.5,"low":12744.4,"amount":0.484,"vol":484,"trade_turnover":6205.4138,"count":123},{"id":1603472400,"open":12832.3,"close":12847.7,"high":12893.1,"low":12730.1,"amount":0.562,"vol":562,"trade_turnover":7218.9184,"count":152},{"id":1603476000,"open":12874.1,"close":12915.7,"high":12939.3,"low":12751.4,"amount":0.53,"vol":530,"trade_turnover":6825.7004,"count":128},{"id":1603479600,"open":12867.9,"close":12972.9,"high":12972.9,"low":12786.6,"amount":0.444,"vol":444,"trade_turnover":5727.7452,"count":117},{"id":1603483200,"open":12956.7,"close":12991.6,"high":13002.2,"low":12842.9,"amount":0.492,"vol":492,"trade_turnover":6375.1566,"count":116},{"id":1603486800,"open":13004.3,"close":12943.5,"high":13004.3,"low":12936.6,"amount":0.5,"vol":500,"trade_turnover":6485.468,"count":125},{"id":1603490400,"open":12923.6,"close":12989.2,"high":13010.3,"low":12884.7,"amount":0.492,"vol":492,"trade_turnover":6376.1492,"count":120},{"id":1603494000,"open":12974.9,"close":12884.6,"high":13024.4,"low":12884.6,"amount":0.51,"vol":510,"trade_turnover":6622.3406,"count":121},{"id":1603497600,"open":12973.7,"close":12953.9,"high":13018.3,"low":12811.1,"amount":0.488,"vol":488,"trade_turnover":6317.7938,"count":120},{"id":1603501200,"open":12927.5,"close":12934.2,"high":13018.1,"low":12872.8,"amount":0.482,"vol":482,"trade_turnover":6242.4178,"count":117},{"id":1603504800,"open":12971.9,"close":12989.1,"high":13003.9,"low":12903.3,"amount":0.484,"vol":484,"trade_turnover":6278.1756,"count":117},{"id":1603508400,"open":13000.1,"close":12975.9,"high":13013.4,"low":12938.3,"amount":0.474,"vol":474,"trade_turnover":6157.7096,"count":122},{"id":1603512000,"open":12989.7,"close":12963.3,"high":13009.4,"low":12905.5,"amount":0.526,"vol":526,"trade_turnover":6831.5658,"count":124},{"id":1603515600,"open":12910.5,"close":12989.7,"high":13041.8,"low":12875.3,"amount":0.522,"vol":522,"trade_turnover":6768.8994,"count":127},{"id":1603519200,"open":12994.7,"close":13003.6,"high":13058.1,"low":12908.8,"amount":0.49,"vol":490,"trade_turnover":6370.5714,"count":120},{"id":1603522800,"open":13011.9,"close":13004.2,"high":13037.8,"low":12981.7,"amount":0.478,"vol":478,"trade_turnover":6218.9722,"count":120},{"id":1603526400,"open":13003.0,"close":12998.2,"high":13030.6,"low":12899.4,"amount":0.52,"vol":520,"trade_turnover":6754.958,"count":124},{"id":1603530000,"open":12998.2,"close":12990.6,"high":13020.3,"low":12893.6,"amount":0.454,"vol":454,"trade_turnover":5891.0574,"count":115},{"id":1603533600,"open":12996.4,"close":13030.1,"high":13059.1,"low":12913.2,"amount":0.502,"vol":502,"trade_turnover":6525.9004,"count":124},{"id":1603537200,"open":12988.4,"close":13033.2,"high":13068.3,"low":12940.2,"amount":0.468,"vol":468,"trade_turnover":6091.0376,"count":119},{"id":1603540800,"open":13035.3,"close":13006.5,"high":13071.8,"low":12978.9,"amount":0.468,"vol":468,"trade_turnover":6102.5902,"count":123},{"id":1603544400,"open":13038.8,"close":12985.9,"high":13066.7,"low":12928.1,"amount":0.534,"vol":534,"trade_turnover":6950.4268,"count":123},{"id":1603548000,"open":12986.3,"close":13042.0,"high":13100.1,"low":12960.5,"amount":0.47,"vol":470,"trade_turnover":6124.2178,"count":100},{"id":1603551600,"open":13038.4,"close":13102.2,"high":13196.5,"low":13038.4,"amount":0.456,"vol":456,"trade_turnover":5989.6362,"count":120},{"id":1603555200,"open":13136.8,"close":13052.7,"high":13176.6,"low":12984.6,"amount":0.458,"vol":458,"trade_turnover":5976.331,"count":121},{"id":1603558800,"open":13006.2,"close":13177.8,"high":13177.8,"low":13003.2,"amount":0.452,"vol":452,"trade_turnover":5911.7058,"count":118},{"id":1603562400,"open":13127.7,"close":13080.8,"high":13170.7,"low":13023.0,"amount":0.468,"vol":468,"trade_turnover":6122.375,"count":119},{"id":1603566000,"open":13040.7,"close":13148.4,"high":13179.3,"low":13014.2,"amount":0.468,"vol":468,"trade_turnover":6126.4278,"count":120},{"id":1603569600,"open":13073.5,"close":13090.1,"high":13179.6,"low":12992.5,"amount":0.47,"vol":470,"trade_turnover":6151.4758,"count":119},{"id":1603573200,"open":13035.4,"close":12993.9,"high":13148.7,"low":12980.7,"amount":0.458,"vol":458,"trade_turnover":5981.071,"count":117},{"id":1603576800,"open":13040.7,"close":13041.1,"high":13112.1,"low":12975.6,"amount":0.478,"vol":478,"trade_turnover":6225.4216,"count":118},{"id":1603580400,"open":13012.6,"close":13184.3,"high":13184.3,"low":13009.3,"amount":0.472,"vol":472,"trade_turnover":6173.4244,"count":118},{"id":1603584000,"open":13080.8,"close":13154.3,"high":13170.4,"low":13007.7,"amount":0.46,"vol":460,"trade_turnover":6024.09,"count":115},{"id":1603587600,"open":13092.0,"close":13196.1,"high":13196.8,"low":13024.0,"amount":0.398,"vol":398,"trade_turnover":5217.5364,"count":102},{"id":1603591200,"open":13124.7,"close":13082.4,"high":13175.1,"low":13035.0,"amount":0.476,"vol":476,"trade_turnover":6228.6596,"count":120},{"id":1603594800,"open":13049.1,"close":13259.0,"high":13383.8,"low":13049.1,"amount":0.578,"vol":578,"trade_turnover":7629.3886,"count":137},{"id":1603598400,"open":13277.0,"close":13243.4,"high":13369.0,"low":13216.0,"amount":0.47,"vol":470,"trade_turnover":6247.955,"count":122},{"id":1603602000,"open":13285.3,"close":13017.3,"high":13353.3,"low":13010.1,"amount":0.61,"vol":610,"trade_turnover":8048.8598,"count":134},{"id":1603605600,"open":13022.5,"close":13060.3,"high":13105.7,"low":13018.2,"amount":0.486,"vol":486,"trade_turnover":6344.1474,"count":118},{"id":1603609200,"open":13048.5,"close":13078.1,"high":13112.1,"low":13022.0,"amount":0.464,"vol":464,"trade_turnover":6061.5416,"count":120},{"id":1603612800,"open":13077.2,"close":13046.0,"high":13091.0,"low":13017.2,"amount":0.464,"vol":464,"trade_turnover":6055.3734,"count":120},{"id":1603616400,"open":13065.1,"close":13040.8,"high":13084.0,"low":13014.2,"amount":0.478,"vol":478,"trade_turnover":6235.7882,"count":117},{"id":1603620000,"open":13047.1,"close":13028.5,"high":13064.2,"low":13010.2,"amount":0.478,"vol":478,"trade_turnover":6232.2428,"count":125},{"id":1603623600,"open":13061.5,"close":12897.6,"high":13061.5,"low":12852.9,"amount":0.534,"vol":534,"trade_turnover":6918.1226,"count":123},{"id":1603627200,"open":12908.3,"close":12964.3,"high":13069.7,"low":12893.2,"amount":0.444,"vol":444,"trade_turnover":5755.8712,"count":117},{"id":1603630800,"open":13001.3,"close":12949.3,"high":13071.9,"low":12891.8,"amount":0.498,"vol":498,"trade_turnover":6465.078,"count":119},{"id":1603634400,"open":12975.8,"close":12946.8,"high":13077.7,"low":12900.0,"amount":0.468,"vol":468,"trade_turnover":6075.4554,"count":116},{"id":1603638000,"open":12975.2,"close":12883.3,"high":13069.1,"low":12883.3,"amount":0.47,"vol":470,"trade_turnover":6097.1072,"count":119},{"id":1603641600,"open":12916.2,"close":12978.7,"high":13067.9,"low":12877.5,"amount":0.482,"vol":482,"trade_turnover":6256.4472,"count":118},{"id":1603645200,"open":13008.0,"close":13004.4,"high":13087.5,"low":12922.7,"amount":0.47,"vol":470,"trade_turnover":6108.3892,"count":117},{"id":1603648800,"open":12972.8,"close":12957.2,"high":13067.6,"low":12893.6,"amount":0.468,"vol":468,"trade_turnover":6079.1484,"count":118},{"id":1603652400,"open":12996.5,"close":13021.8,"high":13066.9,"low":12916.6,"amount":0.442,"vol":442,"trade_turnover":5746.5548,"count":118},{"id":1603656000,"open":12992.9,"close":12985.4,"high":13081.5,"low":12944.9,"amount":0.508,"vol":508,"trade_turnover":6616.9872,"count":120},{"id":1603659600,"open":12999.9,"close":13011.2,"high":13068.6,"low":12921.4,"amount":0.508,"vol":508,"trade_turnover":6614.816,"count":122},{"id":1603663200,"open":12979.6,"close":12959.4,"high":13073.8,"low":12911.9,"amount":0.486,"vol":486,"trade_turnover":6320.907,"count":121},{"id":1603666800,"open":12963.4,"close":13032.1,"high":13085.2,"low":12927.8,"amount":0.452,"vol":452,"trade_turnover":5878.6442,"count":113},{"id":1603670400,"open":12964.2,"close":13001.0,"high":13076.7,"low":12918.3,"amount":0.482,"vol":482,"trade_turnover":6263.698,"count":121},{"id":1603674000,"open":13040.0,"close":13053.7,"high":13096.4,"low":12991.2,"amount":0.478,"vol":478,"trade_turnover":6232.2328,"count":124},{"id":1603677600,"open":13060.6,"close":13064.4,"high":13185.7,"low":12985.1,"amount":0.488,"vol":488,"trade_turnover":6387.534,"count":121},{"id":1603681200,"open":13032.3,"close":13092.8,"high":13187.2,"low":12984.1,"amount":0.486,"vol":486,"trade_turnover":6369.0272,"count":135},{"id":1603684800,"open":13092.0,"close":13132.6,"high":13181.6,"low":12962.3,"amount":0.51,"vol":510,"trade_turnover":6679.829,"count":131},{"id":1603688400,"open":13129.2,"close":13092.1,"high":13205.3,"low":13025.3,"amount":0.506,"vol":506,"trade_turnover":6641.2128,"count":126},{"id":1603692000,"open":13121.8,"close":13071.4,"high":13188.1,"low":12989.8,"amount":1.616,"vol":1616,"trade_turnover":21170.8224,"count":141},{"id":1603695600,"open":13061.0,"close":13038.7,"high":13100.0,"low":12965.2,"amount":3.746,"vol":3746,"trade_turnover":48924.8902,"count":110},{"id":1603699200,"open":13030.9,"close":13039.3,"high":13102.0,"low":12852.8,"amount":8.966,"vol":8966,"trade_turnover":116525.5534,"count":173},{"id":1603702800,"open":13047.1,"close":13075.9,"high":13088.4,"low":13039.8,"amount":4.48,"vol":4480,"trade_turnover":58521.1714,"count":124},{"id":1603706400,"open":13072.1,"close":13100.0,"high":13100.0,"low":13060.2,"amount":4.272,"vol":4272,"trade_turnover":55895.9778,"count":130},{"id":1603710000,"open":13100.0,"close":13138.4,"high":13159.0,"low":13100.0,"amount":29.798,"vol":29798,"trade_turnover":391138.024,"count":230},{"id":1603713600,"open":13138.8,"close":13149.8,"high":13200.0,"low":13100.0,"amount":5.154,"vol":5154,"trade_turnover":67694.652,"count":188},{"id":1603717200,"open":13150.0,"close":13205.8,"high":13351.5,"low":13133.1,"amount":35.608,"vol":35608,"trade_turnover":472780.3394,"count":328},{"id":1603720800,"open":13203.0,"close":13166.1,"high":13280.0,"low":13144.1,"amount":31.748,"vol":31748,"trade_turnover":418744.5588,"count":235},{"id":1603724400,"open":13159.0,"close":12978.0,"high":13165.2,"low":12903.8,"amount":36.53,"vol":36530,"trade_turnover":476940.3296,"count":384},{"id":1603728000,"open":12965.0,"close":12869.6,"high":13069.8,"low":12850.5,"amount":35.018,"vol":35018,"trade_turnover":453288.918,"count":323},{"id":1603731600,"open":12879.2,"close":12873.8,"high":12941.5,"low":12583.9,"amount":92.628,"vol":92628,"trade_turnover":1185973.467,"count":560},{"id":1603735200,"open":12856.2,"close":12946.8,"high":12954.5,"low":12820.4,"amount":4.302,"vol":4302,"trade_turnover":55481.0054,"count":128},{"id":1603738800,"open":12945.6,"close":12953.4,"high":12953.5,"low":12914.1,"amount":13.83,"vol":13830,"trade_turnover":179112.1598,"count":118},{"id":1603742400,"open":12953.5,"close":12983.4,"high":13007.5,"low":12953.5,"amount":17.172,"vol":17172,"trade_turnover":223230.2122,"count":132},{"id":1603746000,"open":12983.1,"close":12993.8,"high":13007.5,"low":12982.7,"amount":3.212,"vol":3212,"trade_turnover":41767.8906,"count":59},{"id":1603749600,"open":13002.1,"close":13007.5,"high":13007.5,"low":12974.0,"amount":1.504,"vol":1504,"trade_turnover":19543.3568,"count":74},{"id":1603753200,"open":13007.5,"close":13033.7,"high":13061.2,"low":13007.5,"amount":3.454,"vol":3454,"trade_turnover":45001.601,"count":101},{"id":1603756800,"open":13029.2,"close":13067.1,"high":13105.0,"low":13028.3,"amount":8.784,"vol":8784,"trade_turnover":114871.8246,"count":98},{"id":1603760400,"open":13074.3,"close":13061.7,"high":13074.4,"low":13051.5,"amount":11.592,"vol":11592,"trade_turnover":151386.9038,"count":66},{"id":1603764000,"open":13061.7,"close":13049.7,"high":13097.6,"low":13040.1,"amount":19.298,"vol":19298,"trade_turnover":252061.019,"count":109},{"id":1603767600,"open":13057.6,"close":13070.4,"high":13080.0,"low":13057.1,"amount":22.992,"vol":22992,"trade_turnover":300453.9788,"count":69},{"id":1603771200,"open":13080.0,"close":13103.3,"high":13175.0,"low":13079.6,"amount":14.396,"vol":14396,"trade_turnover":188461.9156,"count":59},{"id":1603774800,"open":13121.3,"close":13073.6,"high":13121.3,"low":13069.7,"amount":5.058,"vol":5058,"trade_turnover":66201.3552,"count":44},{"id":1603778400,"open":13074.9,"close":13103.4,"high":13149.0,"low":13069.6,"amount":9.106,"vol":9106,"trade_turnover":119104.8906,"count":107},{"id":1603782000,"open":13103.3,"close":13130.0,"high":13169.8,"low":12992.4,"amount":73.95,"vol":73950,"trade_turnover":968195.155,"count":305},{"id":1603785600,"open":13135.1,"close":13123.8,"high":13148.4,"low":13044.0,"amount":18.732,"vol":18732,"trade_turnover":245533.5448,"count":135},{"id":1603789200,"open":13115.5,"close":13131.7,"high":13131.8,"low":13075.7,"amount":13.756,"vol":13756,"trade_turnover":180253.7708,"count":102},{"id":1603792800,"open":13134.8,"close":13216.9,"high":13252.0,"low":13063.4,"amount":154.108,"vol":154108,"trade_turnover":2029983.656,"count":525},{"id":1603796400,"open":13218.8,"close":13395.8,"high":13590.1,"low":13213.5,"amount":170.09,"vol":170090,"trade_turnover":2276279.742,"count":591},{"id":1603800000,"open":13395.9,"close":13376.9,"high":13414.0,"low":13331.7,"amount":48.928,"vol":48928,"trade_turnover":654585.9108,"count":216},{"id":1603803600,"open":13376.5,"close":13384.3,"high":13490.9,"low":13329.8,"amount":63.294,"vol":63294,"trade_turnover":848130.9212,"count":316},{"id":1603807200,"open":13392.6,"close":13398.2,"high":13415.8,"low":13344.8,"amount":12.892,"vol":12892,"trade_turnover":172618.6864,"count":124},{"id":1603810800,"open":13398.2,"close":13598.5,"high":13626.7,"low":13398.2,"amount":93.22,"vol":93220,"trade_turnover":1262695.5466,"count":476},{"id":1603814400,"open":13595.8,"close":13639.9,"high":13639.9,"low":13520.2,"amount":85.45,"vol":85450,"trade_turnover":1161481.4136,"count":435},{"id":1603818000,"open":13640.0,"close":13688.1,"high":13826.7,"low":13589.0,"amount":191.812,"vol":191812,"trade_turnover":2628428.3788,"count":711},{"id":1603821600,"open":13685.0,"close":13630.1,"high":13745.0,"low":13528.2,"amount":65.434,"vol":65434,"trade_turnover":891541.8394,"count":410},{"id":1603825200,"open":13629.4,"close":13637.1,"high":13659.8,"low":13595.4,"amount":5.788,"vol":5788,"trade_turnover":78836.2578,"count":65},{"id":1603828800,"open":13644.4,"close":13616.6,"high":13805.1,"low":13582.6,"amount":163.104,"vol":163104,"trade_turnover":2234040.3544,"count":537},{"id":1603832400,"open":13609.8,"close":13705.5,"high":13753.5,"low":13609.8,"amount":9.884,"vol":9884,"trade_turnover":135406.4752,"count":101},{"id":1603836000,"open":13705.4,"close":13739.9,"high":13739.9,"low":13658.2,"amount":7.436,"vol":7436,"trade_turnover":101840.3508,"count":100},{"id":1603839600,"open":13739.9,"close":13649.6,"high":13794.6,"low":13582.6,"amount":17.086,"vol":17086,"trade_turnover":233971.8448,"count":234},{"id":1603843200,"open":13645.9,"close":13701.7,"high":13745.2,"low":13618.8,"amount":24.108,"vol":24108,"trade_turnover":330206.5694,"count":177},{"id":1603846800,"open":13702.1,"close":13702.6,"high":13725.6,"low":13647.9,"amount":15.892,"vol":15892,"trade_turnover":217816.7008,"count":151},{"id":1603850400,"open":13701.7,"close":13811.6,"high":13832.2,"low":13680.2,"amount":46.548,"vol":46548,"trade_turnover":640636.0352,"count":274},{"id":1603854000,"open":13818.5,"close":13777.0,"high":13820.3,"low":13717.5,"amount":67.896,"vol":67896,"trade_turnover":935838.2238,"count":320},{"id":1603857600,"open":13767.3,"close":13735.7,"high":13807.2,"low":13710.0,"amount":33.156,"vol":33156,"trade_turnover":455941.234,"count":210},{"id":1603861200,"open":13735.5,"close":13715.8,"high":13753.9,"low":13671.3,"amount":32.076,"vol":32076,"trade_turnover":439612.64,"count":198},{"id":1603864800,"open":13715.9,"close":13701.3,"high":13757.0,"low":13694.9,"amount":14.756,"vol":14756,"trade_turnover":202602.5164,"count":122},{"id":1603868400,"open":13701.2,"close":13674.2,"high":13708.7,"low":13550.0,"amount":155.534,"vol":155534,"trade_turnover":2117935.0928,"count":635},{"id":1603872000,"open":13673.0,"close":13691.7,"high":13691.7,"low":13584.0,"amount":29.846,"vol":29846,"trade_turnover":407073.1398,"count":240},{"id":1603875600,"open":13689.3,"close":13587.1,"high":13707.5,"low":13573.5,"amount":104.542,"vol":104542,"trade_turnover":1425079.9344,"count":377},{"id":1603879200,"open":13584.6,"close":13552.7,"high":13618.0,"low":13504.7,"amount":73.818,"vol":73818,"trade_turnover":1001666.0908,"count":358},{"id":1603882800,"open":13552.6,"close":13336.4,"high":13565.4,"low":13330.0,"amount":176.544,"vol":176544,"trade_turnover":2369166.1492,"count":1004},{"id":1603886400,"open":13331.5,"close":13300.3,"high":13385.0,"low":13173.9,"amount":289.73,"vol":289730,"trade_turnover":3846751.7166,"count":968},{"id":1603890000,"open":13300.2,"close":13129.9,"high":13340.0,"low":13122.9,"amount":139.822,"vol":139822,"trade_turnover":1848876.932,"count":612},{"id":1603893600,"open":13123.4,"close":13082.2,"high":13168.2,"low":12915.9,"amount":367.876,"vol":367876,"trade_turnover":4802516.9818,"count":1168},{"id":1603897200,"open":13077.1,"close":13221.2,"high":13235.2,"low":13052.3,"amount":84.044,"vol":84044,"trade_turnover":1106883.1282,"count":375},{"id":1603900800,"open":13218.7,"close":13145.1,"high":13218.7,"low":13050.0,"amount":29.566,"vol":29566,"trade_turnover":388697.4104,"count":244},{"id":1603904400,"open":13145.1,"close":13176.7,"high":13204.9,"low":13006.6,"amount":53.336,"vol":53336,"trade_turnover":700385.2784,"count":299},{"id":1603908000,"open":13171.0,"close":13196.5,"high":13219.6,"low":13131.0,"amount":34.164,"vol":34164,"trade_turnover":450210.5778,"count":218},{"id":1603911600,"open":13200.0,"close":13154.9,"high":13237.4,"low":13145.0,"amount":22.158,"vol":22158,"trade_turnover":292020.0438,"count":185},{"id":1603915200,"open":13154.5,"close":13198.1,"high":13211.8,"low":13147.4,"amount":4.548,"vol":4548,"trade_turnover":59991.1118,"count":75},{"id":1603918800,"open":13193.5,"close":13190.1,"high":13196.5,"low":13100.2,"amount":3.52,"vol":3520,"trade_turnover":46175.428,"count":68},{"id":1603922400,"open":13185.4,"close":13252.0,"high":13267.5,"low":13185.4,"amount":3.122,"vol":3122,"trade_turnover":41304.2018,"count":72},{"id":1603926000,"open":13242.1,"close":13265.9,"high":13282.3,"low":13235.9,"amount":14.768,"vol":14768,"trade_turnover":195689.0764,"count":86},{"id":1603929600,"open":13253.9,"close":13245.1,"high":13294.7,"low":13237.4,"amount":19.968,"vol":19968,"trade_turnover":264834.1944,"count":98},{"id":1603933200,"open":13244.6,"close":13274.2,"high":13285.3,"low":13166.3,"amount":35.282,"vol":35282,"trade_turnover":465789.6302,"count":192},{"id":1603936800,"open":13275.9,"close":13241.1,"high":13277.7,"low":13212.2,"amount":9.748,"vol":9748,"trade_turnover":129016.0684,"count":119},{"id":1603940400,"open":13237.1,"close":13262.5,"high":13262.5,"low":13174.6,"amount":27.3,"vol":27300,"trade_turnover":360589.8982,"count":199},{"id":1603944000,"open":13269.1,"close":13229.5,"high":13277.7,"low":13229.5,"amount":18.904,"vol":18904,"trade_turnover":250713.2812,"count":109},{"id":1603947600,"open":13228.5,"close":13274.8,"high":13274.8,"low":13228.5,"amount":15.822,"vol":15822,"trade_turnover":209781.909,"count":134},{"id":1603951200,"open":13274.8,"close":13255.0,"high":13323.0,"low":13242.3,"amount":91.246,"vol":91246,"trade_turnover":1211271.2788,"count":294},{"id":1603954800,"open":13255.0,"close":13142.4,"high":13269.3,"low":13123.1,"amount":187.622,"vol":187622,"trade_turnover":2478299.7074,"count":506},{"id":1603958400,"open":13145.9,"close":13124.8,"high":13182.4,"low":13094.1,"amount":69.532,"vol":69532,"trade_turnover":914157.2418,"count":226},{"id":1603962000,"open":13129.5,"close":13183.7,"high":13197.1,"low":13129.5,"amount":23.184,"vol":23184,"trade_turnover":305485.9524,"count":141},{"id":1603965600,"open":13184.8,"close":13105.2,"high":13187.5,"low":13053.1,"amount":121.146,"vol":121146,"trade_turnover":1590026.4416,"count":442},{"id":1603969200,"open":13105.1,"close":13060.1,"high":13171.4,"low":13060.1,"amount":47.498,"vol":47498,"trade_turnover":623578.149,"count":262},{"id":1603972800,"open":13056.9,"close":13131.8,"high":13145.8,"low":12977.9,"amount":126.552,"vol":126552,"trade_turnover":1652549.311,"count":481},{"id":1603976400,"open":13131.7,"close":13230.0,"high":13237.2,"low":13102.0,"amount":100.482,"vol":100482,"trade_turnover":1326403.7206,"count":325},{"id":1603980000,"open":13231.0,"close":13420.8,"high":13476.1,"low":13231.0,"amount":253.258,"vol":253258,"trade_turnover":3384941.438,"count":752},{"id":1603983600,"open":13416.0,"close":13420.6,"high":13458.7,"low":13358.7,"amount":64.71,"vol":64710,"trade_turnover":869052.3804,"count":269},{"id":1603987200,"open":13421.9,"close":13535.9,"high":13594.5,"low":13391.8,"amount":120.24,"vol":120240,"trade_turnover":1626567.8278,"count":570}]} +2024-01-18 11:12:56.810 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:41] - 请求 KLine 数据解析之后的数据为:{"wsid":19750305,"data":[{"amount":0.276,"high":12300.0,"vol":276,"low":11715.8,"count":39,"id":1603270800,"close":12196.7,"tradeTurnover":3315.9104,"open":12198.0},{"amount":0.198,"high":12289.9,"vol":198,"low":12111.0,"count":21,"id":1603274400,"close":12277.9,"tradeTurnover":2420.7728,"open":12196.7},{"amount":0.012,"high":12277.9,"vol":12,"low":12000.0,"count":5,"id":1603278000,"close":12000.0,"tradeTurnover":145.2238,"open":12111.0},{"amount":0.084,"high":12498.0,"vol":84,"low":12078.0,"count":12,"id":1603281600,"close":12497.4,"tradeTurnover":1040.0504,"open":12078.0},{"amount":1.122,"high":12495.6,"vol":1122,"low":12282.9,"count":112,"id":1603285200,"close":12373.5,"tradeTurnover":13905.3124,"open":12495.6},{"amount":5.29,"high":12807.6,"vol":5290,"low":12358.1,"count":155,"id":1603288800,"close":12689.9,"tradeTurnover":66852.128,"open":12412.9},{"amount":1.174,"high":12778.7,"vol":1174,"low":12573.2,"count":113,"id":1603292400,"close":12701.9,"tradeTurnover":14907.367,"open":12692.8},{"amount":1.156,"high":12920.9,"vol":1156,"low":12624.8,"count":115,"id":1603296000,"close":12835.9,"tradeTurnover":14802.449,"open":12679.7},{"amount":1.12,"high":12908.3,"vol":1120,"low":12687.5,"count":115,"id":1603299600,"close":12754.2,"tradeTurnover":14345.7324,"open":12848.3},{"amount":1.106,"high":12849.0,"vol":1106,"low":12668.3,"count":114,"id":1603303200,"close":12740.2,"tradeTurnover":14105.3504,"open":12743.7},{"amount":1.032,"high":12843.1,"vol":1032,"low":12597.2,"count":112,"id":1603306800,"close":12650.3,"tradeTurnover":13125.4568,"open":12729.5},{"amount":1.154,"high":12848.4,"vol":1154,"low":12610.2,"count":116,"id":1603310400,"close":12807.0,"tradeTurnover":14680.638,"open":12666.8},{"amount":1.164,"high":13005.1,"vol":1164,"low":12748.2,"count":114,"id":1603314000,"close":12938.9,"tradeTurnover":14976.9366,"open":12866.0},{"amount":1.174,"high":13211.2,"vol":1174,"low":12865.7,"count":114,"id":1603317600,"close":13122.0,"tradeTurnover":15285.2446,"open":12921.0},{"amount":1.172,"high":13173.2,"vol":1172,"low":12688.6,"count":117,"id":1603321200,"close":12829.8,"tradeTurnover":15060.9938,"open":13153.2},{"amount":1.17,"high":12988.1,"vol":1170,"low":12764.4,"count":117,"id":1603324800,"close":12885.9,"tradeTurnover":15046.2046,"open":12793.1},{"amount":1.158,"high":12972.6,"vol":1158,"low":12757.5,"count":118,"id":1603328400,"close":12757.5,"tradeTurnover":14882.4656,"open":12860.4},{"amount":1.124,"high":12848.0,"vol":1124,"low":12729.0,"count":115,"id":1603332000,"close":12788.8,"tradeTurnover":14368.7948,"open":12824.1},{"amount":1.194,"high":12834.4,"vol":1194,"low":12729.0,"count":111,"id":1603335600,"close":12767.2,"tradeTurnover":15268.9298,"open":12791.7},{"amount":1.152,"high":12778.3,"vol":1152,"low":12729.0,"count":115,"id":1603339200,"close":12762.2,"tradeTurnover":14695.4876,"open":12729.0},{"amount":1.21,"high":12842.0,"vol":1210,"low":12730.6,"count":119,"id":1603342800,"close":12813.8,"tradeTurnover":15440.8162,"open":12763.1},{"amount":1.188,"high":12795.0,"vol":1188,"low":12728.0,"count":123,"id":1603346400,"close":12729.1,"tradeTurnover":15128.0098,"open":12795.0},{"amount":1.266,"high":12730.6,"vol":1266,"low":12728.3,"count":112,"id":1603350000,"close":12730.6,"tradeTurnover":16115.1306,"open":12728.6},{"amount":1.35,"high":12921.5,"vol":1350,"low":12729.9,"count":127,"id":1603353600,"close":12770.1,"tradeTurnover":17233.7326,"open":12730.3},{"amount":0.98,"high":12872.1,"vol":980,"low":12760.1,"count":99,"id":1603357200,"close":12780.4,"tradeTurnover":12553.9826,"open":12824.9},{"amount":0.266,"high":13002.7,"vol":266,"low":12775.6,"count":30,"id":1603360800,"close":12934.2,"tradeTurnover":3415.023,"open":12784.9},{"amount":1.004,"high":13057.0,"vol":1004,"low":12886.6,"count":117,"id":1603364400,"close":13045.0,"tradeTurnover":13020.8576,"open":12977.0},{"amount":1.134,"high":12973.4,"vol":1134,"low":12751.6,"count":111,"id":1603368000,"close":12847.9,"tradeTurnover":14594.2752,"open":12958.5},{"amount":1.152,"high":13000.8,"vol":1152,"low":12743.0,"count":114,"id":1603371600,"close":12931.0,"tradeTurnover":14877.7314,"open":12882.7},{"amount":1.182,"high":12995.3,"vol":1182,"low":12783.9,"count":115,"id":1603375200,"close":12917.8,"tradeTurnover":15224.4716,"open":12890.4},{"amount":1.176,"high":13031.2,"vol":1176,"low":12817.9,"count":117,"id":1603378800,"close":12953.0,"tradeTurnover":15197.208,"open":12918.8},{"amount":1.146,"high":13100.2,"vol":1146,"low":12865.6,"count":119,"id":1603382400,"close":13055.6,"tradeTurnover":14851.9604,"open":12923.1},{"amount":1.534,"high":13105.7,"vol":1534,"low":12835.5,"count":124,"id":1603386000,"close":13082.7,"tradeTurnover":19927.8288,"open":12967.6},{"amount":1.268,"high":13115.0,"vol":1268,"low":12938.7,"count":117,"id":1603389600,"close":13016.4,"tradeTurnover":16505.4738,"open":13020.4},{"amount":1.13,"high":13171.2,"vol":1130,"low":12961.8,"count":112,"id":1603393200,"close":12970.6,"tradeTurnover":14762.952,"open":13028.3},{"amount":1.206,"high":13216.1,"vol":1206,"low":12998.5,"count":117,"id":1603396800,"close":13089.3,"tradeTurnover":15807.1226,"open":13016.7},{"amount":1.332,"high":13203.7,"vol":1332,"low":12932.9,"count":114,"id":1603400400,"close":13092.0,"tradeTurnover":17423.4422,"open":13136.0},{"amount":1.21,"high":13250.5,"vol":1210,"low":12984.7,"count":114,"id":1603404000,"close":13055.9,"tradeTurnover":15876.0632,"open":13119.4},{"amount":1.286,"high":13126.5,"vol":1286,"low":12857.2,"count":116,"id":1603407600,"close":12890.4,"tradeTurnover":16688.422,"open":13059.4},{"amount":1.502,"high":12994.0,"vol":1502,"low":12751.6,"count":131,"id":1603411200,"close":12892.2,"tradeTurnover":19331.1596,"open":12929.7},{"amount":1.386,"high":13003.2,"vol":1386,"low":12786.0,"count":121,"id":1603414800,"close":12898.3,"tradeTurnover":17904.8902,"open":12921.7},{"amount":1.416,"high":13054.0,"vol":1416,"low":12800.7,"count":122,"id":1603418400,"close":12975.1,"tradeTurnover":18306.6204,"open":12951.6},{"amount":1.19,"high":13030.7,"vol":1190,"low":12875.0,"count":118,"id":1603422000,"close":12947.0,"tradeTurnover":15409.7984,"open":12967.3},{"amount":1.022,"high":13047.3,"vol":1022,"low":12832.8,"count":127,"id":1603425600,"close":12852.0,"tradeTurnover":13214.4388,"open":12925.2},{"amount":0.478,"high":12991.7,"vol":478,"low":12841.2,"count":118,"id":1603429200,"close":12931.1,"tradeTurnover":6180.2486,"open":12859.0},{"amount":0.522,"high":13014.1,"vol":522,"low":12871.9,"count":132,"id":1603432800,"close":12939.6,"tradeTurnover":6759.0324,"open":12935.9},{"amount":0.476,"high":12998.9,"vol":476,"low":12917.1,"count":118,"id":1603436400,"close":12925.4,"tradeTurnover":6163.3118,"open":12923.1},{"amount":0.508,"high":13014.0,"vol":508,"low":12916.1,"count":122,"id":1603440000,"close":12962.6,"tradeTurnover":6585.3656,"open":12942.2},{"amount":0.564,"high":13012.5,"vol":564,"low":12909.9,"count":124,"id":1603443600,"close":12926.4,"tradeTurnover":7308.8828,"open":12970.5},{"amount":0.536,"high":13059.5,"vol":536,"low":12925.7,"count":124,"id":1603447200,"close":13007.7,"tradeTurnover":6957.8796,"open":13001.2},{"amount":0.486,"high":13078.4,"vol":486,"low":12906.5,"count":122,"id":1603450800,"close":12970.6,"tradeTurnover":6326.1434,"open":13025.4},{"amount":0.494,"high":13025.0,"vol":494,"low":12850.8,"count":117,"id":1603454400,"close":12935.4,"tradeTurnover":6396.0984,"open":12963.9},{"amount":0.466,"high":13043.3,"vol":466,"low":12911.0,"count":117,"id":1603458000,"close":12951.7,"tradeTurnover":6049.1412,"open":12913.3},{"amount":0.46,"high":13006.4,"vol":460,"low":12840.4,"count":116,"id":1603461600,"close":12858.8,"tradeTurnover":5941.815,"open":12999.6},{"amount":0.492,"high":12932.9,"vol":492,"low":12826.5,"count":117,"id":1603465200,"close":12881.9,"tradeTurnover":6340.214,"open":12885.7},{"amount":0.484,"high":12933.5,"vol":484,"low":12744.4,"count":123,"id":1603468800,"close":12784.1,"tradeTurnover":6205.4138,"open":12854.4},{"amount":0.562,"high":12893.1,"vol":562,"low":12730.1,"count":152,"id":1603472400,"close":12847.7,"tradeTurnover":7218.9184,"open":12832.3},{"amount":0.53,"high":12939.3,"vol":530,"low":12751.4,"count":128,"id":1603476000,"close":12915.7,"tradeTurnover":6825.7004,"open":12874.1},{"amount":0.444,"high":12972.9,"vol":444,"low":12786.6,"count":117,"id":1603479600,"close":12972.9,"tradeTurnover":5727.7452,"open":12867.9},{"amount":0.492,"high":13002.2,"vol":492,"low":12842.9,"count":116,"id":1603483200,"close":12991.6,"tradeTurnover":6375.1566,"open":12956.7},{"amount":0.5,"high":13004.3,"vol":500,"low":12936.6,"count":125,"id":1603486800,"close":12943.5,"tradeTurnover":6485.468,"open":13004.3},{"amount":0.492,"high":13010.3,"vol":492,"low":12884.7,"count":120,"id":1603490400,"close":12989.2,"tradeTurnover":6376.1492,"open":12923.6},{"amount":0.51,"high":13024.4,"vol":510,"low":12884.6,"count":121,"id":1603494000,"close":12884.6,"tradeTurnover":6622.3406,"open":12974.9},{"amount":0.488,"high":13018.3,"vol":488,"low":12811.1,"count":120,"id":1603497600,"close":12953.9,"tradeTurnover":6317.7938,"open":12973.7},{"amount":0.482,"high":13018.1,"vol":482,"low":12872.8,"count":117,"id":1603501200,"close":12934.2,"tradeTurnover":6242.4178,"open":12927.5},{"amount":0.484,"high":13003.9,"vol":484,"low":12903.3,"count":117,"id":1603504800,"close":12989.1,"tradeTurnover":6278.1756,"open":12971.9},{"amount":0.474,"high":13013.4,"vol":474,"low":12938.3,"count":122,"id":1603508400,"close":12975.9,"tradeTurnover":6157.7096,"open":13000.1},{"amount":0.526,"high":13009.4,"vol":526,"low":12905.5,"count":124,"id":1603512000,"close":12963.3,"tradeTurnover":6831.5658,"open":12989.7},{"amount":0.522,"high":13041.8,"vol":522,"low":12875.3,"count":127,"id":1603515600,"close":12989.7,"tradeTurnover":6768.8994,"open":12910.5},{"amount":0.49,"high":13058.1,"vol":490,"low":12908.8,"count":120,"id":1603519200,"close":13003.6,"tradeTurnover":6370.5714,"open":12994.7},{"amount":0.478,"high":13037.8,"vol":478,"low":12981.7,"count":120,"id":1603522800,"close":13004.2,"tradeTurnover":6218.9722,"open":13011.9},{"amount":0.52,"high":13030.6,"vol":520,"low":12899.4,"count":124,"id":1603526400,"close":12998.2,"tradeTurnover":6754.958,"open":13003.0},{"amount":0.454,"high":13020.3,"vol":454,"low":12893.6,"count":115,"id":1603530000,"close":12990.6,"tradeTurnover":5891.0574,"open":12998.2},{"amount":0.502,"high":13059.1,"vol":502,"low":12913.2,"count":124,"id":1603533600,"close":13030.1,"tradeTurnover":6525.9004,"open":12996.4},{"amount":0.468,"high":13068.3,"vol":468,"low":12940.2,"count":119,"id":1603537200,"close":13033.2,"tradeTurnover":6091.0376,"open":12988.4},{"amount":0.468,"high":13071.8,"vol":468,"low":12978.9,"count":123,"id":1603540800,"close":13006.5,"tradeTurnover":6102.5902,"open":13035.3},{"amount":0.534,"high":13066.7,"vol":534,"low":12928.1,"count":123,"id":1603544400,"close":12985.9,"tradeTurnover":6950.4268,"open":13038.8},{"amount":0.47,"high":13100.1,"vol":470,"low":12960.5,"count":100,"id":1603548000,"close":13042.0,"tradeTurnover":6124.2178,"open":12986.3},{"amount":0.456,"high":13196.5,"vol":456,"low":13038.4,"count":120,"id":1603551600,"close":13102.2,"tradeTurnover":5989.6362,"open":13038.4},{"amount":0.458,"high":13176.6,"vol":458,"low":12984.6,"count":121,"id":1603555200,"close":13052.7,"tradeTurnover":5976.331,"open":13136.8},{"amount":0.452,"high":13177.8,"vol":452,"low":13003.2,"count":118,"id":1603558800,"close":13177.8,"tradeTurnover":5911.7058,"open":13006.2},{"amount":0.468,"high":13170.7,"vol":468,"low":13023.0,"count":119,"id":1603562400,"close":13080.8,"tradeTurnover":6122.375,"open":13127.7},{"amount":0.468,"high":13179.3,"vol":468,"low":13014.2,"count":120,"id":1603566000,"close":13148.4,"tradeTurnover":6126.4278,"open":13040.7},{"amount":0.47,"high":13179.6,"vol":470,"low":12992.5,"count":119,"id":1603569600,"close":13090.1,"tradeTurnover":6151.4758,"open":13073.5},{"amount":0.458,"high":13148.7,"vol":458,"low":12980.7,"count":117,"id":1603573200,"close":12993.9,"tradeTurnover":5981.071,"open":13035.4},{"amount":0.478,"high":13112.1,"vol":478,"low":12975.6,"count":118,"id":1603576800,"close":13041.1,"tradeTurnover":6225.4216,"open":13040.7},{"amount":0.472,"high":13184.3,"vol":472,"low":13009.3,"count":118,"id":1603580400,"close":13184.3,"tradeTurnover":6173.4244,"open":13012.6},{"amount":0.46,"high":13170.4,"vol":460,"low":13007.7,"count":115,"id":1603584000,"close":13154.3,"tradeTurnover":6024.09,"open":13080.8},{"amount":0.398,"high":13196.8,"vol":398,"low":13024.0,"count":102,"id":1603587600,"close":13196.1,"tradeTurnover":5217.5364,"open":13092.0},{"amount":0.476,"high":13175.1,"vol":476,"low":13035.0,"count":120,"id":1603591200,"close":13082.4,"tradeTurnover":6228.6596,"open":13124.7},{"amount":0.578,"high":13383.8,"vol":578,"low":13049.1,"count":137,"id":1603594800,"close":13259.0,"tradeTurnover":7629.3886,"open":13049.1},{"amount":0.47,"high":13369.0,"vol":470,"low":13216.0,"count":122,"id":1603598400,"close":13243.4,"tradeTurnover":6247.955,"open":13277.0},{"amount":0.61,"high":13353.3,"vol":610,"low":13010.1,"count":134,"id":1603602000,"close":13017.3,"tradeTurnover":8048.8598,"open":13285.3},{"amount":0.486,"high":13105.7,"vol":486,"low":13018.2,"count":118,"id":1603605600,"close":13060.3,"tradeTurnover":6344.1474,"open":13022.5},{"amount":0.464,"high":13112.1,"vol":464,"low":13022.0,"count":120,"id":1603609200,"close":13078.1,"tradeTurnover":6061.5416,"open":13048.5},{"amount":0.464,"high":13091.0,"vol":464,"low":13017.2,"count":120,"id":1603612800,"close":13046.0,"tradeTurnover":6055.3734,"open":13077.2},{"amount":0.478,"high":13084.0,"vol":478,"low":13014.2,"count":117,"id":1603616400,"close":13040.8,"tradeTurnover":6235.7882,"open":13065.1},{"amount":0.478,"high":13064.2,"vol":478,"low":13010.2,"count":125,"id":1603620000,"close":13028.5,"tradeTurnover":6232.2428,"open":13047.1},{"amount":0.534,"high":13061.5,"vol":534,"low":12852.9,"count":123,"id":1603623600,"close":12897.6,"tradeTurnover":6918.1226,"open":13061.5},{"amount":0.444,"high":13069.7,"vol":444,"low":12893.2,"count":117,"id":1603627200,"close":12964.3,"tradeTurnover":5755.8712,"open":12908.3},{"amount":0.498,"high":13071.9,"vol":498,"low":12891.8,"count":119,"id":1603630800,"close":12949.3,"tradeTurnover":6465.078,"open":13001.3},{"amount":0.468,"high":13077.7,"vol":468,"low":12900.0,"count":116,"id":1603634400,"close":12946.8,"tradeTurnover":6075.4554,"open":12975.8},{"amount":0.47,"high":13069.1,"vol":470,"low":12883.3,"count":119,"id":1603638000,"close":12883.3,"tradeTurnover":6097.1072,"open":12975.2},{"amount":0.482,"high":13067.9,"vol":482,"low":12877.5,"count":118,"id":1603641600,"close":12978.7,"tradeTurnover":6256.4472,"open":12916.2},{"amount":0.47,"high":13087.5,"vol":470,"low":12922.7,"count":117,"id":1603645200,"close":13004.4,"tradeTurnover":6108.3892,"open":13008.0},{"amount":0.468,"high":13067.6,"vol":468,"low":12893.6,"count":118,"id":1603648800,"close":12957.2,"tradeTurnover":6079.1484,"open":12972.8},{"amount":0.442,"high":13066.9,"vol":442,"low":12916.6,"count":118,"id":1603652400,"close":13021.8,"tradeTurnover":5746.5548,"open":12996.5},{"amount":0.508,"high":13081.5,"vol":508,"low":12944.9,"count":120,"id":1603656000,"close":12985.4,"tradeTurnover":6616.9872,"open":12992.9},{"amount":0.508,"high":13068.6,"vol":508,"low":12921.4,"count":122,"id":1603659600,"close":13011.2,"tradeTurnover":6614.816,"open":12999.9},{"amount":0.486,"high":13073.8,"vol":486,"low":12911.9,"count":121,"id":1603663200,"close":12959.4,"tradeTurnover":6320.907,"open":12979.6},{"amount":0.452,"high":13085.2,"vol":452,"low":12927.8,"count":113,"id":1603666800,"close":13032.1,"tradeTurnover":5878.6442,"open":12963.4},{"amount":0.482,"high":13076.7,"vol":482,"low":12918.3,"count":121,"id":1603670400,"close":13001.0,"tradeTurnover":6263.698,"open":12964.2},{"amount":0.478,"high":13096.4,"vol":478,"low":12991.2,"count":124,"id":1603674000,"close":13053.7,"tradeTurnover":6232.2328,"open":13040.0},{"amount":0.488,"high":13185.7,"vol":488,"low":12985.1,"count":121,"id":1603677600,"close":13064.4,"tradeTurnover":6387.534,"open":13060.6},{"amount":0.486,"high":13187.2,"vol":486,"low":12984.1,"count":135,"id":1603681200,"close":13092.8,"tradeTurnover":6369.0272,"open":13032.3},{"amount":0.51,"high":13181.6,"vol":510,"low":12962.3,"count":131,"id":1603684800,"close":13132.6,"tradeTurnover":6679.829,"open":13092.0},{"amount":0.506,"high":13205.3,"vol":506,"low":13025.3,"count":126,"id":1603688400,"close":13092.1,"tradeTurnover":6641.2128,"open":13129.2},{"amount":1.616,"high":13188.1,"vol":1616,"low":12989.8,"count":141,"id":1603692000,"close":13071.4,"tradeTurnover":21170.8224,"open":13121.8},{"amount":3.746,"high":13100.0,"vol":3746,"low":12965.2,"count":110,"id":1603695600,"close":13038.7,"tradeTurnover":48924.8902,"open":13061.0},{"amount":8.966,"high":13102.0,"vol":8966,"low":12852.8,"count":173,"id":1603699200,"close":13039.3,"tradeTurnover":116525.5534,"open":13030.9},{"amount":4.48,"high":13088.4,"vol":4480,"low":13039.8,"count":124,"id":1603702800,"close":13075.9,"tradeTurnover":58521.1714,"open":13047.1},{"amount":4.272,"high":13100.0,"vol":4272,"low":13060.2,"count":130,"id":1603706400,"close":13100.0,"tradeTurnover":55895.9778,"open":13072.1},{"amount":29.798,"high":13159.0,"vol":29798,"low":13100.0,"count":230,"id":1603710000,"close":13138.4,"tradeTurnover":391138.024,"open":13100.0},{"amount":5.154,"high":13200.0,"vol":5154,"low":13100.0,"count":188,"id":1603713600,"close":13149.8,"tradeTurnover":67694.652,"open":13138.8},{"amount":35.608,"high":13351.5,"vol":35608,"low":13133.1,"count":328,"id":1603717200,"close":13205.8,"tradeTurnover":472780.3394,"open":13150.0},{"amount":31.748,"high":13280.0,"vol":31748,"low":13144.1,"count":235,"id":1603720800,"close":13166.1,"tradeTurnover":418744.5588,"open":13203.0},{"amount":36.53,"high":13165.2,"vol":36530,"low":12903.8,"count":384,"id":1603724400,"close":12978.0,"tradeTurnover":476940.3296,"open":13159.0},{"amount":35.018,"high":13069.8,"vol":35018,"low":12850.5,"count":323,"id":1603728000,"close":12869.6,"tradeTurnover":453288.918,"open":12965.0},{"amount":92.628,"high":12941.5,"vol":92628,"low":12583.9,"count":560,"id":1603731600,"close":12873.8,"tradeTurnover":1185973.467,"open":12879.2},{"amount":4.302,"high":12954.5,"vol":4302,"low":12820.4,"count":128,"id":1603735200,"close":12946.8,"tradeTurnover":55481.0054,"open":12856.2},{"amount":13.83,"high":12953.5,"vol":13830,"low":12914.1,"count":118,"id":1603738800,"close":12953.4,"tradeTurnover":179112.1598,"open":12945.6},{"amount":17.172,"high":13007.5,"vol":17172,"low":12953.5,"count":132,"id":1603742400,"close":12983.4,"tradeTurnover":223230.2122,"open":12953.5},{"amount":3.212,"high":13007.5,"vol":3212,"low":12982.7,"count":59,"id":1603746000,"close":12993.8,"tradeTurnover":41767.8906,"open":12983.1},{"amount":1.504,"high":13007.5,"vol":1504,"low":12974.0,"count":74,"id":1603749600,"close":13007.5,"tradeTurnover":19543.3568,"open":13002.1},{"amount":3.454,"high":13061.2,"vol":3454,"low":13007.5,"count":101,"id":1603753200,"close":13033.7,"tradeTurnover":45001.601,"open":13007.5},{"amount":8.784,"high":13105.0,"vol":8784,"low":13028.3,"count":98,"id":1603756800,"close":13067.1,"tradeTurnover":114871.8246,"open":13029.2},{"amount":11.592,"high":13074.4,"vol":11592,"low":13051.5,"count":66,"id":1603760400,"close":13061.7,"tradeTurnover":151386.9038,"open":13074.3},{"amount":19.298,"high":13097.6,"vol":19298,"low":13040.1,"count":109,"id":1603764000,"close":13049.7,"tradeTurnover":252061.019,"open":13061.7},{"amount":22.992,"high":13080.0,"vol":22992,"low":13057.1,"count":69,"id":1603767600,"close":13070.4,"tradeTurnover":300453.9788,"open":13057.6},{"amount":14.396,"high":13175.0,"vol":14396,"low":13079.6,"count":59,"id":1603771200,"close":13103.3,"tradeTurnover":188461.9156,"open":13080.0},{"amount":5.058,"high":13121.3,"vol":5058,"low":13069.7,"count":44,"id":1603774800,"close":13073.6,"tradeTurnover":66201.3552,"open":13121.3},{"amount":9.106,"high":13149.0,"vol":9106,"low":13069.6,"count":107,"id":1603778400,"close":13103.4,"tradeTurnover":119104.8906,"open":13074.9},{"amount":73.95,"high":13169.8,"vol":73950,"low":12992.4,"count":305,"id":1603782000,"close":13130.0,"tradeTurnover":968195.155,"open":13103.3},{"amount":18.732,"high":13148.4,"vol":18732,"low":13044.0,"count":135,"id":1603785600,"close":13123.8,"tradeTurnover":245533.5448,"open":13135.1},{"amount":13.756,"high":13131.8,"vol":13756,"low":13075.7,"count":102,"id":1603789200,"close":13131.7,"tradeTurnover":180253.7708,"open":13115.5},{"amount":154.108,"high":13252.0,"vol":154108,"low":13063.4,"count":525,"id":1603792800,"close":13216.9,"tradeTurnover":2029983.656,"open":13134.8},{"amount":170.09,"high":13590.1,"vol":170090,"low":13213.5,"count":591,"id":1603796400,"close":13395.8,"tradeTurnover":2276279.742,"open":13218.8},{"amount":48.928,"high":13414.0,"vol":48928,"low":13331.7,"count":216,"id":1603800000,"close":13376.9,"tradeTurnover":654585.9108,"open":13395.9},{"amount":63.294,"high":13490.9,"vol":63294,"low":13329.8,"count":316,"id":1603803600,"close":13384.3,"tradeTurnover":848130.9212,"open":13376.5},{"amount":12.892,"high":13415.8,"vol":12892,"low":13344.8,"count":124,"id":1603807200,"close":13398.2,"tradeTurnover":172618.6864,"open":13392.6},{"amount":93.22,"high":13626.7,"vol":93220,"low":13398.2,"count":476,"id":1603810800,"close":13598.5,"tradeTurnover":1262695.5466,"open":13398.2},{"amount":85.45,"high":13639.9,"vol":85450,"low":13520.2,"count":435,"id":1603814400,"close":13639.9,"tradeTurnover":1161481.4136,"open":13595.8},{"amount":191.812,"high":13826.7,"vol":191812,"low":13589.0,"count":711,"id":1603818000,"close":13688.1,"tradeTurnover":2628428.3788,"open":13640.0},{"amount":65.434,"high":13745.0,"vol":65434,"low":13528.2,"count":410,"id":1603821600,"close":13630.1,"tradeTurnover":891541.8394,"open":13685.0},{"amount":5.788,"high":13659.8,"vol":5788,"low":13595.4,"count":65,"id":1603825200,"close":13637.1,"tradeTurnover":78836.2578,"open":13629.4},{"amount":163.104,"high":13805.1,"vol":163104,"low":13582.6,"count":537,"id":1603828800,"close":13616.6,"tradeTurnover":2234040.3544,"open":13644.4},{"amount":9.884,"high":13753.5,"vol":9884,"low":13609.8,"count":101,"id":1603832400,"close":13705.5,"tradeTurnover":135406.4752,"open":13609.8},{"amount":7.436,"high":13739.9,"vol":7436,"low":13658.2,"count":100,"id":1603836000,"close":13739.9,"tradeTurnover":101840.3508,"open":13705.4},{"amount":17.086,"high":13794.6,"vol":17086,"low":13582.6,"count":234,"id":1603839600,"close":13649.6,"tradeTurnover":233971.8448,"open":13739.9},{"amount":24.108,"high":13745.2,"vol":24108,"low":13618.8,"count":177,"id":1603843200,"close":13701.7,"tradeTurnover":330206.5694,"open":13645.9},{"amount":15.892,"high":13725.6,"vol":15892,"low":13647.9,"count":151,"id":1603846800,"close":13702.6,"tradeTurnover":217816.7008,"open":13702.1},{"amount":46.548,"high":13832.2,"vol":46548,"low":13680.2,"count":274,"id":1603850400,"close":13811.6,"tradeTurnover":640636.0352,"open":13701.7},{"amount":67.896,"high":13820.3,"vol":67896,"low":13717.5,"count":320,"id":1603854000,"close":13777.0,"tradeTurnover":935838.2238,"open":13818.5},{"amount":33.156,"high":13807.2,"vol":33156,"low":13710.0,"count":210,"id":1603857600,"close":13735.7,"tradeTurnover":455941.234,"open":13767.3},{"amount":32.076,"high":13753.9,"vol":32076,"low":13671.3,"count":198,"id":1603861200,"close":13715.8,"tradeTurnover":439612.64,"open":13735.5},{"amount":14.756,"high":13757.0,"vol":14756,"low":13694.9,"count":122,"id":1603864800,"close":13701.3,"tradeTurnover":202602.5164,"open":13715.9},{"amount":155.534,"high":13708.7,"vol":155534,"low":13550.0,"count":635,"id":1603868400,"close":13674.2,"tradeTurnover":2117935.0928,"open":13701.2},{"amount":29.846,"high":13691.7,"vol":29846,"low":13584.0,"count":240,"id":1603872000,"close":13691.7,"tradeTurnover":407073.1398,"open":13673.0},{"amount":104.542,"high":13707.5,"vol":104542,"low":13573.5,"count":377,"id":1603875600,"close":13587.1,"tradeTurnover":1425079.9344,"open":13689.3},{"amount":73.818,"high":13618.0,"vol":73818,"low":13504.7,"count":358,"id":1603879200,"close":13552.7,"tradeTurnover":1001666.0908,"open":13584.6},{"amount":176.544,"high":13565.4,"vol":176544,"low":13330.0,"count":1004,"id":1603882800,"close":13336.4,"tradeTurnover":2369166.1492,"open":13552.6},{"amount":289.73,"high":13385.0,"vol":289730,"low":13173.9,"count":968,"id":1603886400,"close":13300.3,"tradeTurnover":3846751.7166,"open":13331.5},{"amount":139.822,"high":13340.0,"vol":139822,"low":13122.9,"count":612,"id":1603890000,"close":13129.9,"tradeTurnover":1848876.932,"open":13300.2},{"amount":367.876,"high":13168.2,"vol":367876,"low":12915.9,"count":1168,"id":1603893600,"close":13082.2,"tradeTurnover":4802516.9818,"open":13123.4},{"amount":84.044,"high":13235.2,"vol":84044,"low":13052.3,"count":375,"id":1603897200,"close":13221.2,"tradeTurnover":1106883.1282,"open":13077.1},{"amount":29.566,"high":13218.7,"vol":29566,"low":13050.0,"count":244,"id":1603900800,"close":13145.1,"tradeTurnover":388697.4104,"open":13218.7},{"amount":53.336,"high":13204.9,"vol":53336,"low":13006.6,"count":299,"id":1603904400,"close":13176.7,"tradeTurnover":700385.2784,"open":13145.1},{"amount":34.164,"high":13219.6,"vol":34164,"low":13131.0,"count":218,"id":1603908000,"close":13196.5,"tradeTurnover":450210.5778,"open":13171.0},{"amount":22.158,"high":13237.4,"vol":22158,"low":13145.0,"count":185,"id":1603911600,"close":13154.9,"tradeTurnover":292020.0438,"open":13200.0},{"amount":4.548,"high":13211.8,"vol":4548,"low":13147.4,"count":75,"id":1603915200,"close":13198.1,"tradeTurnover":59991.1118,"open":13154.5},{"amount":3.52,"high":13196.5,"vol":3520,"low":13100.2,"count":68,"id":1603918800,"close":13190.1,"tradeTurnover":46175.428,"open":13193.5},{"amount":3.122,"high":13267.5,"vol":3122,"low":13185.4,"count":72,"id":1603922400,"close":13252.0,"tradeTurnover":41304.2018,"open":13185.4},{"amount":14.768,"high":13282.3,"vol":14768,"low":13235.9,"count":86,"id":1603926000,"close":13265.9,"tradeTurnover":195689.0764,"open":13242.1},{"amount":19.968,"high":13294.7,"vol":19968,"low":13237.4,"count":98,"id":1603929600,"close":13245.1,"tradeTurnover":264834.1944,"open":13253.9},{"amount":35.282,"high":13285.3,"vol":35282,"low":13166.3,"count":192,"id":1603933200,"close":13274.2,"tradeTurnover":465789.6302,"open":13244.6},{"amount":9.748,"high":13277.7,"vol":9748,"low":13212.2,"count":119,"id":1603936800,"close":13241.1,"tradeTurnover":129016.0684,"open":13275.9},{"amount":27.3,"high":13262.5,"vol":27300,"low":13174.6,"count":199,"id":1603940400,"close":13262.5,"tradeTurnover":360589.8982,"open":13237.1},{"amount":18.904,"high":13277.7,"vol":18904,"low":13229.5,"count":109,"id":1603944000,"close":13229.5,"tradeTurnover":250713.2812,"open":13269.1},{"amount":15.822,"high":13274.8,"vol":15822,"low":13228.5,"count":134,"id":1603947600,"close":13274.8,"tradeTurnover":209781.909,"open":13228.5},{"amount":91.246,"high":13323.0,"vol":91246,"low":13242.3,"count":294,"id":1603951200,"close":13255.0,"tradeTurnover":1211271.2788,"open":13274.8},{"amount":187.622,"high":13269.3,"vol":187622,"low":13123.1,"count":506,"id":1603954800,"close":13142.4,"tradeTurnover":2478299.7074,"open":13255.0},{"amount":69.532,"high":13182.4,"vol":69532,"low":13094.1,"count":226,"id":1603958400,"close":13124.8,"tradeTurnover":914157.2418,"open":13145.9},{"amount":23.184,"high":13197.1,"vol":23184,"low":13129.5,"count":141,"id":1603962000,"close":13183.7,"tradeTurnover":305485.9524,"open":13129.5},{"amount":121.146,"high":13187.5,"vol":121146,"low":13053.1,"count":442,"id":1603965600,"close":13105.2,"tradeTurnover":1590026.4416,"open":13184.8},{"amount":47.498,"high":13171.4,"vol":47498,"low":13060.1,"count":262,"id":1603969200,"close":13060.1,"tradeTurnover":623578.149,"open":13105.1},{"amount":126.552,"high":13145.8,"vol":126552,"low":12977.9,"count":481,"id":1603972800,"close":13131.8,"tradeTurnover":1652549.311,"open":13056.9},{"amount":100.482,"high":13237.2,"vol":100482,"low":13102.0,"count":325,"id":1603976400,"close":13230.0,"tradeTurnover":1326403.7206,"open":13131.7},{"amount":253.258,"high":13476.1,"vol":253258,"low":13231.0,"count":752,"id":1603980000,"close":13420.8,"tradeTurnover":3384941.438,"open":13231.0},{"amount":64.71,"high":13458.7,"vol":64710,"low":13358.7,"count":269,"id":1603983600,"close":13420.6,"tradeTurnover":869052.3804,"open":13416.0},{"amount":120.24,"high":13594.5,"vol":120240,"low":13391.8,"count":570,"id":1603987200,"close":13535.9,"tradeTurnover":1626567.8278,"open":13421.9}],"id":"","rep":"market.BTC-USDT.kline.60min","status":"ok"} +2024-01-18 11:12:57.825 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:39] - 请求 KLine 数据用户收到的原始数据:{"id":"","rep":"market.BTC-USDT.kline.60min","ts":1705547576728,"wsid":19750305,"status":"ok","data":[{"id":1603270800,"open":12198.0,"close":12196.7,"high":12300.0,"low":11715.8,"amount":0.276,"vol":276,"trade_turnover":3315.9104,"count":39},{"id":1603274400,"open":12196.7,"close":12277.9,"high":12289.9,"low":12111.0,"amount":0.198,"vol":198,"trade_turnover":2420.7728,"count":21},{"id":1603278000,"open":12111.0,"close":12000.0,"high":12277.9,"low":12000.0,"amount":0.012,"vol":12,"trade_turnover":145.2238,"count":5},{"id":1603281600,"open":12078.0,"close":12497.4,"high":12498.0,"low":12078.0,"amount":0.084,"vol":84,"trade_turnover":1040.0504,"count":12},{"id":1603285200,"open":12495.6,"close":12373.5,"high":12495.6,"low":12282.9,"amount":1.122,"vol":1122,"trade_turnover":13905.3124,"count":112},{"id":1603288800,"open":12412.9,"close":12689.9,"high":12807.6,"low":12358.1,"amount":5.29,"vol":5290,"trade_turnover":66852.128,"count":155},{"id":1603292400,"open":12692.8,"close":12701.9,"high":12778.7,"low":12573.2,"amount":1.174,"vol":1174,"trade_turnover":14907.367,"count":113},{"id":1603296000,"open":12679.7,"close":12835.9,"high":12920.9,"low":12624.8,"amount":1.156,"vol":1156,"trade_turnover":14802.449,"count":115},{"id":1603299600,"open":12848.3,"close":12754.2,"high":12908.3,"low":12687.5,"amount":1.12,"vol":1120,"trade_turnover":14345.7324,"count":115},{"id":1603303200,"open":12743.7,"close":12740.2,"high":12849.0,"low":12668.3,"amount":1.106,"vol":1106,"trade_turnover":14105.3504,"count":114},{"id":1603306800,"open":12729.5,"close":12650.3,"high":12843.1,"low":12597.2,"amount":1.032,"vol":1032,"trade_turnover":13125.4568,"count":112},{"id":1603310400,"open":12666.8,"close":12807.0,"high":12848.4,"low":12610.2,"amount":1.154,"vol":1154,"trade_turnover":14680.638,"count":116},{"id":1603314000,"open":12866.0,"close":12938.9,"high":13005.1,"low":12748.2,"amount":1.164,"vol":1164,"trade_turnover":14976.9366,"count":114},{"id":1603317600,"open":12921.0,"close":13122.0,"high":13211.2,"low":12865.7,"amount":1.174,"vol":1174,"trade_turnover":15285.2446,"count":114},{"id":1603321200,"open":13153.2,"close":12829.8,"high":13173.2,"low":12688.6,"amount":1.172,"vol":1172,"trade_turnover":15060.9938,"count":117},{"id":1603324800,"open":12793.1,"close":12885.9,"high":12988.1,"low":12764.4,"amount":1.17,"vol":1170,"trade_turnover":15046.2046,"count":117},{"id":1603328400,"open":12860.4,"close":12757.5,"high":12972.6,"low":12757.5,"amount":1.158,"vol":1158,"trade_turnover":14882.4656,"count":118},{"id":1603332000,"open":12824.1,"close":12788.8,"high":12848.0,"low":12729.0,"amount":1.124,"vol":1124,"trade_turnover":14368.7948,"count":115},{"id":1603335600,"open":12791.7,"close":12767.2,"high":12834.4,"low":12729.0,"amount":1.194,"vol":1194,"trade_turnover":15268.9298,"count":111},{"id":1603339200,"open":12729.0,"close":12762.2,"high":12778.3,"low":12729.0,"amount":1.152,"vol":1152,"trade_turnover":14695.4876,"count":115},{"id":1603342800,"open":12763.1,"close":12813.8,"high":12842.0,"low":12730.6,"amount":1.21,"vol":1210,"trade_turnover":15440.8162,"count":119},{"id":1603346400,"open":12795.0,"close":12729.1,"high":12795.0,"low":12728.0,"amount":1.188,"vol":1188,"trade_turnover":15128.0098,"count":123},{"id":1603350000,"open":12728.6,"close":12730.6,"high":12730.6,"low":12728.3,"amount":1.266,"vol":1266,"trade_turnover":16115.1306,"count":112},{"id":1603353600,"open":12730.3,"close":12770.1,"high":12921.5,"low":12729.9,"amount":1.35,"vol":1350,"trade_turnover":17233.7326,"count":127},{"id":1603357200,"open":12824.9,"close":12780.4,"high":12872.1,"low":12760.1,"amount":0.98,"vol":980,"trade_turnover":12553.9826,"count":99},{"id":1603360800,"open":12784.9,"close":12934.2,"high":13002.7,"low":12775.6,"amount":0.266,"vol":266,"trade_turnover":3415.023,"count":30},{"id":1603364400,"open":12977.0,"close":13045.0,"high":13057.0,"low":12886.6,"amount":1.004,"vol":1004,"trade_turnover":13020.8576,"count":117},{"id":1603368000,"open":12958.5,"close":12847.9,"high":12973.4,"low":12751.6,"amount":1.134,"vol":1134,"trade_turnover":14594.2752,"count":111},{"id":1603371600,"open":12882.7,"close":12931.0,"high":13000.8,"low":12743.0,"amount":1.152,"vol":1152,"trade_turnover":14877.7314,"count":114},{"id":1603375200,"open":12890.4,"close":12917.8,"high":12995.3,"low":12783.9,"amount":1.182,"vol":1182,"trade_turnover":15224.4716,"count":115},{"id":1603378800,"open":12918.8,"close":12953.0,"high":13031.2,"low":12817.9,"amount":1.176,"vol":1176,"trade_turnover":15197.208,"count":117},{"id":1603382400,"open":12923.1,"close":13055.6,"high":13100.2,"low":12865.6,"amount":1.146,"vol":1146,"trade_turnover":14851.9604,"count":119},{"id":1603386000,"open":12967.6,"close":13082.7,"high":13105.7,"low":12835.5,"amount":1.534,"vol":1534,"trade_turnover":19927.8288,"count":124},{"id":1603389600,"open":13020.4,"close":13016.4,"high":13115.0,"low":12938.7,"amount":1.268,"vol":1268,"trade_turnover":16505.4738,"count":117},{"id":1603393200,"open":13028.3,"close":12970.6,"high":13171.2,"low":12961.8,"amount":1.13,"vol":1130,"trade_turnover":14762.952,"count":112},{"id":1603396800,"open":13016.7,"close":13089.3,"high":13216.1,"low":12998.5,"amount":1.206,"vol":1206,"trade_turnover":15807.1226,"count":117},{"id":1603400400,"open":13136.0,"close":13092.0,"high":13203.7,"low":12932.9,"amount":1.332,"vol":1332,"trade_turnover":17423.4422,"count":114},{"id":1603404000,"open":13119.4,"close":13055.9,"high":13250.5,"low":12984.7,"amount":1.21,"vol":1210,"trade_turnover":15876.0632,"count":114},{"id":1603407600,"open":13059.4,"close":12890.4,"high":13126.5,"low":12857.2,"amount":1.286,"vol":1286,"trade_turnover":16688.422,"count":116},{"id":1603411200,"open":12929.7,"close":12892.2,"high":12994.0,"low":12751.6,"amount":1.502,"vol":1502,"trade_turnover":19331.1596,"count":131},{"id":1603414800,"open":12921.7,"close":12898.3,"high":13003.2,"low":12786.0,"amount":1.386,"vol":1386,"trade_turnover":17904.8902,"count":121},{"id":1603418400,"open":12951.6,"close":12975.1,"high":13054.0,"low":12800.7,"amount":1.416,"vol":1416,"trade_turnover":18306.6204,"count":122},{"id":1603422000,"open":12967.3,"close":12947.0,"high":13030.7,"low":12875.0,"amount":1.19,"vol":1190,"trade_turnover":15409.7984,"count":118},{"id":1603425600,"open":12925.2,"close":12852.0,"high":13047.3,"low":12832.8,"amount":1.022,"vol":1022,"trade_turnover":13214.4388,"count":127},{"id":1603429200,"open":12859.0,"close":12931.1,"high":12991.7,"low":12841.2,"amount":0.478,"vol":478,"trade_turnover":6180.2486,"count":118},{"id":1603432800,"open":12935.9,"close":12939.6,"high":13014.1,"low":12871.9,"amount":0.522,"vol":522,"trade_turnover":6759.0324,"count":132},{"id":1603436400,"open":12923.1,"close":12925.4,"high":12998.9,"low":12917.1,"amount":0.476,"vol":476,"trade_turnover":6163.3118,"count":118},{"id":1603440000,"open":12942.2,"close":12962.6,"high":13014.0,"low":12916.1,"amount":0.508,"vol":508,"trade_turnover":6585.3656,"count":122},{"id":1603443600,"open":12970.5,"close":12926.4,"high":13012.5,"low":12909.9,"amount":0.564,"vol":564,"trade_turnover":7308.8828,"count":124},{"id":1603447200,"open":13001.2,"close":13007.7,"high":13059.5,"low":12925.7,"amount":0.536,"vol":536,"trade_turnover":6957.8796,"count":124},{"id":1603450800,"open":13025.4,"close":12970.6,"high":13078.4,"low":12906.5,"amount":0.486,"vol":486,"trade_turnover":6326.1434,"count":122},{"id":1603454400,"open":12963.9,"close":12935.4,"high":13025.0,"low":12850.8,"amount":0.494,"vol":494,"trade_turnover":6396.0984,"count":117},{"id":1603458000,"open":12913.3,"close":12951.7,"high":13043.3,"low":12911.0,"amount":0.466,"vol":466,"trade_turnover":6049.1412,"count":117},{"id":1603461600,"open":12999.6,"close":12858.8,"high":13006.4,"low":12840.4,"amount":0.46,"vol":460,"trade_turnover":5941.815,"count":116},{"id":1603465200,"open":12885.7,"close":12881.9,"high":12932.9,"low":12826.5,"amount":0.492,"vol":492,"trade_turnover":6340.214,"count":117},{"id":1603468800,"open":12854.4,"close":12784.1,"high":12933.5,"low":12744.4,"amount":0.484,"vol":484,"trade_turnover":6205.4138,"count":123},{"id":1603472400,"open":12832.3,"close":12847.7,"high":12893.1,"low":12730.1,"amount":0.562,"vol":562,"trade_turnover":7218.9184,"count":152},{"id":1603476000,"open":12874.1,"close":12915.7,"high":12939.3,"low":12751.4,"amount":0.53,"vol":530,"trade_turnover":6825.7004,"count":128},{"id":1603479600,"open":12867.9,"close":12972.9,"high":12972.9,"low":12786.6,"amount":0.444,"vol":444,"trade_turnover":5727.7452,"count":117},{"id":1603483200,"open":12956.7,"close":12991.6,"high":13002.2,"low":12842.9,"amount":0.492,"vol":492,"trade_turnover":6375.1566,"count":116},{"id":1603486800,"open":13004.3,"close":12943.5,"high":13004.3,"low":12936.6,"amount":0.5,"vol":500,"trade_turnover":6485.468,"count":125},{"id":1603490400,"open":12923.6,"close":12989.2,"high":13010.3,"low":12884.7,"amount":0.492,"vol":492,"trade_turnover":6376.1492,"count":120},{"id":1603494000,"open":12974.9,"close":12884.6,"high":13024.4,"low":12884.6,"amount":0.51,"vol":510,"trade_turnover":6622.3406,"count":121},{"id":1603497600,"open":12973.7,"close":12953.9,"high":13018.3,"low":12811.1,"amount":0.488,"vol":488,"trade_turnover":6317.7938,"count":120},{"id":1603501200,"open":12927.5,"close":12934.2,"high":13018.1,"low":12872.8,"amount":0.482,"vol":482,"trade_turnover":6242.4178,"count":117},{"id":1603504800,"open":12971.9,"close":12989.1,"high":13003.9,"low":12903.3,"amount":0.484,"vol":484,"trade_turnover":6278.1756,"count":117},{"id":1603508400,"open":13000.1,"close":12975.9,"high":13013.4,"low":12938.3,"amount":0.474,"vol":474,"trade_turnover":6157.7096,"count":122},{"id":1603512000,"open":12989.7,"close":12963.3,"high":13009.4,"low":12905.5,"amount":0.526,"vol":526,"trade_turnover":6831.5658,"count":124},{"id":1603515600,"open":12910.5,"close":12989.7,"high":13041.8,"low":12875.3,"amount":0.522,"vol":522,"trade_turnover":6768.8994,"count":127},{"id":1603519200,"open":12994.7,"close":13003.6,"high":13058.1,"low":12908.8,"amount":0.49,"vol":490,"trade_turnover":6370.5714,"count":120},{"id":1603522800,"open":13011.9,"close":13004.2,"high":13037.8,"low":12981.7,"amount":0.478,"vol":478,"trade_turnover":6218.9722,"count":120},{"id":1603526400,"open":13003.0,"close":12998.2,"high":13030.6,"low":12899.4,"amount":0.52,"vol":520,"trade_turnover":6754.958,"count":124},{"id":1603530000,"open":12998.2,"close":12990.6,"high":13020.3,"low":12893.6,"amount":0.454,"vol":454,"trade_turnover":5891.0574,"count":115},{"id":1603533600,"open":12996.4,"close":13030.1,"high":13059.1,"low":12913.2,"amount":0.502,"vol":502,"trade_turnover":6525.9004,"count":124},{"id":1603537200,"open":12988.4,"close":13033.2,"high":13068.3,"low":12940.2,"amount":0.468,"vol":468,"trade_turnover":6091.0376,"count":119},{"id":1603540800,"open":13035.3,"close":13006.5,"high":13071.8,"low":12978.9,"amount":0.468,"vol":468,"trade_turnover":6102.5902,"count":123},{"id":1603544400,"open":13038.8,"close":12985.9,"high":13066.7,"low":12928.1,"amount":0.534,"vol":534,"trade_turnover":6950.4268,"count":123},{"id":1603548000,"open":12986.3,"close":13042.0,"high":13100.1,"low":12960.5,"amount":0.47,"vol":470,"trade_turnover":6124.2178,"count":100},{"id":1603551600,"open":13038.4,"close":13102.2,"high":13196.5,"low":13038.4,"amount":0.456,"vol":456,"trade_turnover":5989.6362,"count":120},{"id":1603555200,"open":13136.8,"close":13052.7,"high":13176.6,"low":12984.6,"amount":0.458,"vol":458,"trade_turnover":5976.331,"count":121},{"id":1603558800,"open":13006.2,"close":13177.8,"high":13177.8,"low":13003.2,"amount":0.452,"vol":452,"trade_turnover":5911.7058,"count":118},{"id":1603562400,"open":13127.7,"close":13080.8,"high":13170.7,"low":13023.0,"amount":0.468,"vol":468,"trade_turnover":6122.375,"count":119},{"id":1603566000,"open":13040.7,"close":13148.4,"high":13179.3,"low":13014.2,"amount":0.468,"vol":468,"trade_turnover":6126.4278,"count":120},{"id":1603569600,"open":13073.5,"close":13090.1,"high":13179.6,"low":12992.5,"amount":0.47,"vol":470,"trade_turnover":6151.4758,"count":119},{"id":1603573200,"open":13035.4,"close":12993.9,"high":13148.7,"low":12980.7,"amount":0.458,"vol":458,"trade_turnover":5981.071,"count":117},{"id":1603576800,"open":13040.7,"close":13041.1,"high":13112.1,"low":12975.6,"amount":0.478,"vol":478,"trade_turnover":6225.4216,"count":118},{"id":1603580400,"open":13012.6,"close":13184.3,"high":13184.3,"low":13009.3,"amount":0.472,"vol":472,"trade_turnover":6173.4244,"count":118},{"id":1603584000,"open":13080.8,"close":13154.3,"high":13170.4,"low":13007.7,"amount":0.46,"vol":460,"trade_turnover":6024.09,"count":115},{"id":1603587600,"open":13092.0,"close":13196.1,"high":13196.8,"low":13024.0,"amount":0.398,"vol":398,"trade_turnover":5217.5364,"count":102},{"id":1603591200,"open":13124.7,"close":13082.4,"high":13175.1,"low":13035.0,"amount":0.476,"vol":476,"trade_turnover":6228.6596,"count":120},{"id":1603594800,"open":13049.1,"close":13259.0,"high":13383.8,"low":13049.1,"amount":0.578,"vol":578,"trade_turnover":7629.3886,"count":137},{"id":1603598400,"open":13277.0,"close":13243.4,"high":13369.0,"low":13216.0,"amount":0.47,"vol":470,"trade_turnover":6247.955,"count":122},{"id":1603602000,"open":13285.3,"close":13017.3,"high":13353.3,"low":13010.1,"amount":0.61,"vol":610,"trade_turnover":8048.8598,"count":134},{"id":1603605600,"open":13022.5,"close":13060.3,"high":13105.7,"low":13018.2,"amount":0.486,"vol":486,"trade_turnover":6344.1474,"count":118},{"id":1603609200,"open":13048.5,"close":13078.1,"high":13112.1,"low":13022.0,"amount":0.464,"vol":464,"trade_turnover":6061.5416,"count":120},{"id":1603612800,"open":13077.2,"close":13046.0,"high":13091.0,"low":13017.2,"amount":0.464,"vol":464,"trade_turnover":6055.3734,"count":120},{"id":1603616400,"open":13065.1,"close":13040.8,"high":13084.0,"low":13014.2,"amount":0.478,"vol":478,"trade_turnover":6235.7882,"count":117},{"id":1603620000,"open":13047.1,"close":13028.5,"high":13064.2,"low":13010.2,"amount":0.478,"vol":478,"trade_turnover":6232.2428,"count":125},{"id":1603623600,"open":13061.5,"close":12897.6,"high":13061.5,"low":12852.9,"amount":0.534,"vol":534,"trade_turnover":6918.1226,"count":123},{"id":1603627200,"open":12908.3,"close":12964.3,"high":13069.7,"low":12893.2,"amount":0.444,"vol":444,"trade_turnover":5755.8712,"count":117},{"id":1603630800,"open":13001.3,"close":12949.3,"high":13071.9,"low":12891.8,"amount":0.498,"vol":498,"trade_turnover":6465.078,"count":119},{"id":1603634400,"open":12975.8,"close":12946.8,"high":13077.7,"low":12900.0,"amount":0.468,"vol":468,"trade_turnover":6075.4554,"count":116},{"id":1603638000,"open":12975.2,"close":12883.3,"high":13069.1,"low":12883.3,"amount":0.47,"vol":470,"trade_turnover":6097.1072,"count":119},{"id":1603641600,"open":12916.2,"close":12978.7,"high":13067.9,"low":12877.5,"amount":0.482,"vol":482,"trade_turnover":6256.4472,"count":118},{"id":1603645200,"open":13008.0,"close":13004.4,"high":13087.5,"low":12922.7,"amount":0.47,"vol":470,"trade_turnover":6108.3892,"count":117},{"id":1603648800,"open":12972.8,"close":12957.2,"high":13067.6,"low":12893.6,"amount":0.468,"vol":468,"trade_turnover":6079.1484,"count":118},{"id":1603652400,"open":12996.5,"close":13021.8,"high":13066.9,"low":12916.6,"amount":0.442,"vol":442,"trade_turnover":5746.5548,"count":118},{"id":1603656000,"open":12992.9,"close":12985.4,"high":13081.5,"low":12944.9,"amount":0.508,"vol":508,"trade_turnover":6616.9872,"count":120},{"id":1603659600,"open":12999.9,"close":13011.2,"high":13068.6,"low":12921.4,"amount":0.508,"vol":508,"trade_turnover":6614.816,"count":122},{"id":1603663200,"open":12979.6,"close":12959.4,"high":13073.8,"low":12911.9,"amount":0.486,"vol":486,"trade_turnover":6320.907,"count":121},{"id":1603666800,"open":12963.4,"close":13032.1,"high":13085.2,"low":12927.8,"amount":0.452,"vol":452,"trade_turnover":5878.6442,"count":113},{"id":1603670400,"open":12964.2,"close":13001.0,"high":13076.7,"low":12918.3,"amount":0.482,"vol":482,"trade_turnover":6263.698,"count":121},{"id":1603674000,"open":13040.0,"close":13053.7,"high":13096.4,"low":12991.2,"amount":0.478,"vol":478,"trade_turnover":6232.2328,"count":124},{"id":1603677600,"open":13060.6,"close":13064.4,"high":13185.7,"low":12985.1,"amount":0.488,"vol":488,"trade_turnover":6387.534,"count":121},{"id":1603681200,"open":13032.3,"close":13092.8,"high":13187.2,"low":12984.1,"amount":0.486,"vol":486,"trade_turnover":6369.0272,"count":135},{"id":1603684800,"open":13092.0,"close":13132.6,"high":13181.6,"low":12962.3,"amount":0.51,"vol":510,"trade_turnover":6679.829,"count":131},{"id":1603688400,"open":13129.2,"close":13092.1,"high":13205.3,"low":13025.3,"amount":0.506,"vol":506,"trade_turnover":6641.2128,"count":126},{"id":1603692000,"open":13121.8,"close":13071.4,"high":13188.1,"low":12989.8,"amount":1.616,"vol":1616,"trade_turnover":21170.8224,"count":141},{"id":1603695600,"open":13061.0,"close":13038.7,"high":13100.0,"low":12965.2,"amount":3.746,"vol":3746,"trade_turnover":48924.8902,"count":110},{"id":1603699200,"open":13030.9,"close":13039.3,"high":13102.0,"low":12852.8,"amount":8.966,"vol":8966,"trade_turnover":116525.5534,"count":173},{"id":1603702800,"open":13047.1,"close":13075.9,"high":13088.4,"low":13039.8,"amount":4.48,"vol":4480,"trade_turnover":58521.1714,"count":124},{"id":1603706400,"open":13072.1,"close":13100.0,"high":13100.0,"low":13060.2,"amount":4.272,"vol":4272,"trade_turnover":55895.9778,"count":130},{"id":1603710000,"open":13100.0,"close":13138.4,"high":13159.0,"low":13100.0,"amount":29.798,"vol":29798,"trade_turnover":391138.024,"count":230},{"id":1603713600,"open":13138.8,"close":13149.8,"high":13200.0,"low":13100.0,"amount":5.154,"vol":5154,"trade_turnover":67694.652,"count":188},{"id":1603717200,"open":13150.0,"close":13205.8,"high":13351.5,"low":13133.1,"amount":35.608,"vol":35608,"trade_turnover":472780.3394,"count":328},{"id":1603720800,"open":13203.0,"close":13166.1,"high":13280.0,"low":13144.1,"amount":31.748,"vol":31748,"trade_turnover":418744.5588,"count":235},{"id":1603724400,"open":13159.0,"close":12978.0,"high":13165.2,"low":12903.8,"amount":36.53,"vol":36530,"trade_turnover":476940.3296,"count":384},{"id":1603728000,"open":12965.0,"close":12869.6,"high":13069.8,"low":12850.5,"amount":35.018,"vol":35018,"trade_turnover":453288.918,"count":323},{"id":1603731600,"open":12879.2,"close":12873.8,"high":12941.5,"low":12583.9,"amount":92.628,"vol":92628,"trade_turnover":1185973.467,"count":560},{"id":1603735200,"open":12856.2,"close":12946.8,"high":12954.5,"low":12820.4,"amount":4.302,"vol":4302,"trade_turnover":55481.0054,"count":128},{"id":1603738800,"open":12945.6,"close":12953.4,"high":12953.5,"low":12914.1,"amount":13.83,"vol":13830,"trade_turnover":179112.1598,"count":118},{"id":1603742400,"open":12953.5,"close":12983.4,"high":13007.5,"low":12953.5,"amount":17.172,"vol":17172,"trade_turnover":223230.2122,"count":132},{"id":1603746000,"open":12983.1,"close":12993.8,"high":13007.5,"low":12982.7,"amount":3.212,"vol":3212,"trade_turnover":41767.8906,"count":59},{"id":1603749600,"open":13002.1,"close":13007.5,"high":13007.5,"low":12974.0,"amount":1.504,"vol":1504,"trade_turnover":19543.3568,"count":74},{"id":1603753200,"open":13007.5,"close":13033.7,"high":13061.2,"low":13007.5,"amount":3.454,"vol":3454,"trade_turnover":45001.601,"count":101},{"id":1603756800,"open":13029.2,"close":13067.1,"high":13105.0,"low":13028.3,"amount":8.784,"vol":8784,"trade_turnover":114871.8246,"count":98},{"id":1603760400,"open":13074.3,"close":13061.7,"high":13074.4,"low":13051.5,"amount":11.592,"vol":11592,"trade_turnover":151386.9038,"count":66},{"id":1603764000,"open":13061.7,"close":13049.7,"high":13097.6,"low":13040.1,"amount":19.298,"vol":19298,"trade_turnover":252061.019,"count":109},{"id":1603767600,"open":13057.6,"close":13070.4,"high":13080.0,"low":13057.1,"amount":22.992,"vol":22992,"trade_turnover":300453.9788,"count":69},{"id":1603771200,"open":13080.0,"close":13103.3,"high":13175.0,"low":13079.6,"amount":14.396,"vol":14396,"trade_turnover":188461.9156,"count":59},{"id":1603774800,"open":13121.3,"close":13073.6,"high":13121.3,"low":13069.7,"amount":5.058,"vol":5058,"trade_turnover":66201.3552,"count":44},{"id":1603778400,"open":13074.9,"close":13103.4,"high":13149.0,"low":13069.6,"amount":9.106,"vol":9106,"trade_turnover":119104.8906,"count":107},{"id":1603782000,"open":13103.3,"close":13130.0,"high":13169.8,"low":12992.4,"amount":73.95,"vol":73950,"trade_turnover":968195.155,"count":305},{"id":1603785600,"open":13135.1,"close":13123.8,"high":13148.4,"low":13044.0,"amount":18.732,"vol":18732,"trade_turnover":245533.5448,"count":135},{"id":1603789200,"open":13115.5,"close":13131.7,"high":13131.8,"low":13075.7,"amount":13.756,"vol":13756,"trade_turnover":180253.7708,"count":102},{"id":1603792800,"open":13134.8,"close":13216.9,"high":13252.0,"low":13063.4,"amount":154.108,"vol":154108,"trade_turnover":2029983.656,"count":525},{"id":1603796400,"open":13218.8,"close":13395.8,"high":13590.1,"low":13213.5,"amount":170.09,"vol":170090,"trade_turnover":2276279.742,"count":591},{"id":1603800000,"open":13395.9,"close":13376.9,"high":13414.0,"low":13331.7,"amount":48.928,"vol":48928,"trade_turnover":654585.9108,"count":216},{"id":1603803600,"open":13376.5,"close":13384.3,"high":13490.9,"low":13329.8,"amount":63.294,"vol":63294,"trade_turnover":848130.9212,"count":316},{"id":1603807200,"open":13392.6,"close":13398.2,"high":13415.8,"low":13344.8,"amount":12.892,"vol":12892,"trade_turnover":172618.6864,"count":124},{"id":1603810800,"open":13398.2,"close":13598.5,"high":13626.7,"low":13398.2,"amount":93.22,"vol":93220,"trade_turnover":1262695.5466,"count":476},{"id":1603814400,"open":13595.8,"close":13639.9,"high":13639.9,"low":13520.2,"amount":85.45,"vol":85450,"trade_turnover":1161481.4136,"count":435},{"id":1603818000,"open":13640.0,"close":13688.1,"high":13826.7,"low":13589.0,"amount":191.812,"vol":191812,"trade_turnover":2628428.3788,"count":711},{"id":1603821600,"open":13685.0,"close":13630.1,"high":13745.0,"low":13528.2,"amount":65.434,"vol":65434,"trade_turnover":891541.8394,"count":410},{"id":1603825200,"open":13629.4,"close":13637.1,"high":13659.8,"low":13595.4,"amount":5.788,"vol":5788,"trade_turnover":78836.2578,"count":65},{"id":1603828800,"open":13644.4,"close":13616.6,"high":13805.1,"low":13582.6,"amount":163.104,"vol":163104,"trade_turnover":2234040.3544,"count":537},{"id":1603832400,"open":13609.8,"close":13705.5,"high":13753.5,"low":13609.8,"amount":9.884,"vol":9884,"trade_turnover":135406.4752,"count":101},{"id":1603836000,"open":13705.4,"close":13739.9,"high":13739.9,"low":13658.2,"amount":7.436,"vol":7436,"trade_turnover":101840.3508,"count":100},{"id":1603839600,"open":13739.9,"close":13649.6,"high":13794.6,"low":13582.6,"amount":17.086,"vol":17086,"trade_turnover":233971.8448,"count":234},{"id":1603843200,"open":13645.9,"close":13701.7,"high":13745.2,"low":13618.8,"amount":24.108,"vol":24108,"trade_turnover":330206.5694,"count":177},{"id":1603846800,"open":13702.1,"close":13702.6,"high":13725.6,"low":13647.9,"amount":15.892,"vol":15892,"trade_turnover":217816.7008,"count":151},{"id":1603850400,"open":13701.7,"close":13811.6,"high":13832.2,"low":13680.2,"amount":46.548,"vol":46548,"trade_turnover":640636.0352,"count":274},{"id":1603854000,"open":13818.5,"close":13777.0,"high":13820.3,"low":13717.5,"amount":67.896,"vol":67896,"trade_turnover":935838.2238,"count":320},{"id":1603857600,"open":13767.3,"close":13735.7,"high":13807.2,"low":13710.0,"amount":33.156,"vol":33156,"trade_turnover":455941.234,"count":210},{"id":1603861200,"open":13735.5,"close":13715.8,"high":13753.9,"low":13671.3,"amount":32.076,"vol":32076,"trade_turnover":439612.64,"count":198},{"id":1603864800,"open":13715.9,"close":13701.3,"high":13757.0,"low":13694.9,"amount":14.756,"vol":14756,"trade_turnover":202602.5164,"count":122},{"id":1603868400,"open":13701.2,"close":13674.2,"high":13708.7,"low":13550.0,"amount":155.534,"vol":155534,"trade_turnover":2117935.0928,"count":635},{"id":1603872000,"open":13673.0,"close":13691.7,"high":13691.7,"low":13584.0,"amount":29.846,"vol":29846,"trade_turnover":407073.1398,"count":240},{"id":1603875600,"open":13689.3,"close":13587.1,"high":13707.5,"low":13573.5,"amount":104.542,"vol":104542,"trade_turnover":1425079.9344,"count":377},{"id":1603879200,"open":13584.6,"close":13552.7,"high":13618.0,"low":13504.7,"amount":73.818,"vol":73818,"trade_turnover":1001666.0908,"count":358},{"id":1603882800,"open":13552.6,"close":13336.4,"high":13565.4,"low":13330.0,"amount":176.544,"vol":176544,"trade_turnover":2369166.1492,"count":1004},{"id":1603886400,"open":13331.5,"close":13300.3,"high":13385.0,"low":13173.9,"amount":289.73,"vol":289730,"trade_turnover":3846751.7166,"count":968},{"id":1603890000,"open":13300.2,"close":13129.9,"high":13340.0,"low":13122.9,"amount":139.822,"vol":139822,"trade_turnover":1848876.932,"count":612},{"id":1603893600,"open":13123.4,"close":13082.2,"high":13168.2,"low":12915.9,"amount":367.876,"vol":367876,"trade_turnover":4802516.9818,"count":1168},{"id":1603897200,"open":13077.1,"close":13221.2,"high":13235.2,"low":13052.3,"amount":84.044,"vol":84044,"trade_turnover":1106883.1282,"count":375},{"id":1603900800,"open":13218.7,"close":13145.1,"high":13218.7,"low":13050.0,"amount":29.566,"vol":29566,"trade_turnover":388697.4104,"count":244},{"id":1603904400,"open":13145.1,"close":13176.7,"high":13204.9,"low":13006.6,"amount":53.336,"vol":53336,"trade_turnover":700385.2784,"count":299},{"id":1603908000,"open":13171.0,"close":13196.5,"high":13219.6,"low":13131.0,"amount":34.164,"vol":34164,"trade_turnover":450210.5778,"count":218},{"id":1603911600,"open":13200.0,"close":13154.9,"high":13237.4,"low":13145.0,"amount":22.158,"vol":22158,"trade_turnover":292020.0438,"count":185},{"id":1603915200,"open":13154.5,"close":13198.1,"high":13211.8,"low":13147.4,"amount":4.548,"vol":4548,"trade_turnover":59991.1118,"count":75},{"id":1603918800,"open":13193.5,"close":13190.1,"high":13196.5,"low":13100.2,"amount":3.52,"vol":3520,"trade_turnover":46175.428,"count":68},{"id":1603922400,"open":13185.4,"close":13252.0,"high":13267.5,"low":13185.4,"amount":3.122,"vol":3122,"trade_turnover":41304.2018,"count":72},{"id":1603926000,"open":13242.1,"close":13265.9,"high":13282.3,"low":13235.9,"amount":14.768,"vol":14768,"trade_turnover":195689.0764,"count":86},{"id":1603929600,"open":13253.9,"close":13245.1,"high":13294.7,"low":13237.4,"amount":19.968,"vol":19968,"trade_turnover":264834.1944,"count":98},{"id":1603933200,"open":13244.6,"close":13274.2,"high":13285.3,"low":13166.3,"amount":35.282,"vol":35282,"trade_turnover":465789.6302,"count":192},{"id":1603936800,"open":13275.9,"close":13241.1,"high":13277.7,"low":13212.2,"amount":9.748,"vol":9748,"trade_turnover":129016.0684,"count":119},{"id":1603940400,"open":13237.1,"close":13262.5,"high":13262.5,"low":13174.6,"amount":27.3,"vol":27300,"trade_turnover":360589.8982,"count":199},{"id":1603944000,"open":13269.1,"close":13229.5,"high":13277.7,"low":13229.5,"amount":18.904,"vol":18904,"trade_turnover":250713.2812,"count":109},{"id":1603947600,"open":13228.5,"close":13274.8,"high":13274.8,"low":13228.5,"amount":15.822,"vol":15822,"trade_turnover":209781.909,"count":134},{"id":1603951200,"open":13274.8,"close":13255.0,"high":13323.0,"low":13242.3,"amount":91.246,"vol":91246,"trade_turnover":1211271.2788,"count":294},{"id":1603954800,"open":13255.0,"close":13142.4,"high":13269.3,"low":13123.1,"amount":187.622,"vol":187622,"trade_turnover":2478299.7074,"count":506},{"id":1603958400,"open":13145.9,"close":13124.8,"high":13182.4,"low":13094.1,"amount":69.532,"vol":69532,"trade_turnover":914157.2418,"count":226},{"id":1603962000,"open":13129.5,"close":13183.7,"high":13197.1,"low":13129.5,"amount":23.184,"vol":23184,"trade_turnover":305485.9524,"count":141},{"id":1603965600,"open":13184.8,"close":13105.2,"high":13187.5,"low":13053.1,"amount":121.146,"vol":121146,"trade_turnover":1590026.4416,"count":442},{"id":1603969200,"open":13105.1,"close":13060.1,"high":13171.4,"low":13060.1,"amount":47.498,"vol":47498,"trade_turnover":623578.149,"count":262},{"id":1603972800,"open":13056.9,"close":13131.8,"high":13145.8,"low":12977.9,"amount":126.552,"vol":126552,"trade_turnover":1652549.311,"count":481},{"id":1603976400,"open":13131.7,"close":13230.0,"high":13237.2,"low":13102.0,"amount":100.482,"vol":100482,"trade_turnover":1326403.7206,"count":325},{"id":1603980000,"open":13231.0,"close":13420.8,"high":13476.1,"low":13231.0,"amount":253.258,"vol":253258,"trade_turnover":3384941.438,"count":752},{"id":1603983600,"open":13416.0,"close":13420.6,"high":13458.7,"low":13358.7,"amount":64.71,"vol":64710,"trade_turnover":869052.3804,"count":269},{"id":1603987200,"open":13421.9,"close":13535.9,"high":13594.5,"low":13391.8,"amount":120.24,"vol":120240,"trade_turnover":1626567.8278,"count":570}]} +2024-01-18 11:12:57.827 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:41] - 请求 KLine 数据解析之后的数据为:{"wsid":19750305,"data":[{"amount":0.276,"high":12300.0,"vol":276,"low":11715.8,"count":39,"id":1603270800,"close":12196.7,"tradeTurnover":3315.9104,"open":12198.0},{"amount":0.198,"high":12289.9,"vol":198,"low":12111.0,"count":21,"id":1603274400,"close":12277.9,"tradeTurnover":2420.7728,"open":12196.7},{"amount":0.012,"high":12277.9,"vol":12,"low":12000.0,"count":5,"id":1603278000,"close":12000.0,"tradeTurnover":145.2238,"open":12111.0},{"amount":0.084,"high":12498.0,"vol":84,"low":12078.0,"count":12,"id":1603281600,"close":12497.4,"tradeTurnover":1040.0504,"open":12078.0},{"amount":1.122,"high":12495.6,"vol":1122,"low":12282.9,"count":112,"id":1603285200,"close":12373.5,"tradeTurnover":13905.3124,"open":12495.6},{"amount":5.29,"high":12807.6,"vol":5290,"low":12358.1,"count":155,"id":1603288800,"close":12689.9,"tradeTurnover":66852.128,"open":12412.9},{"amount":1.174,"high":12778.7,"vol":1174,"low":12573.2,"count":113,"id":1603292400,"close":12701.9,"tradeTurnover":14907.367,"open":12692.8},{"amount":1.156,"high":12920.9,"vol":1156,"low":12624.8,"count":115,"id":1603296000,"close":12835.9,"tradeTurnover":14802.449,"open":12679.7},{"amount":1.12,"high":12908.3,"vol":1120,"low":12687.5,"count":115,"id":1603299600,"close":12754.2,"tradeTurnover":14345.7324,"open":12848.3},{"amount":1.106,"high":12849.0,"vol":1106,"low":12668.3,"count":114,"id":1603303200,"close":12740.2,"tradeTurnover":14105.3504,"open":12743.7},{"amount":1.032,"high":12843.1,"vol":1032,"low":12597.2,"count":112,"id":1603306800,"close":12650.3,"tradeTurnover":13125.4568,"open":12729.5},{"amount":1.154,"high":12848.4,"vol":1154,"low":12610.2,"count":116,"id":1603310400,"close":12807.0,"tradeTurnover":14680.638,"open":12666.8},{"amount":1.164,"high":13005.1,"vol":1164,"low":12748.2,"count":114,"id":1603314000,"close":12938.9,"tradeTurnover":14976.9366,"open":12866.0},{"amount":1.174,"high":13211.2,"vol":1174,"low":12865.7,"count":114,"id":1603317600,"close":13122.0,"tradeTurnover":15285.2446,"open":12921.0},{"amount":1.172,"high":13173.2,"vol":1172,"low":12688.6,"count":117,"id":1603321200,"close":12829.8,"tradeTurnover":15060.9938,"open":13153.2},{"amount":1.17,"high":12988.1,"vol":1170,"low":12764.4,"count":117,"id":1603324800,"close":12885.9,"tradeTurnover":15046.2046,"open":12793.1},{"amount":1.158,"high":12972.6,"vol":1158,"low":12757.5,"count":118,"id":1603328400,"close":12757.5,"tradeTurnover":14882.4656,"open":12860.4},{"amount":1.124,"high":12848.0,"vol":1124,"low":12729.0,"count":115,"id":1603332000,"close":12788.8,"tradeTurnover":14368.7948,"open":12824.1},{"amount":1.194,"high":12834.4,"vol":1194,"low":12729.0,"count":111,"id":1603335600,"close":12767.2,"tradeTurnover":15268.9298,"open":12791.7},{"amount":1.152,"high":12778.3,"vol":1152,"low":12729.0,"count":115,"id":1603339200,"close":12762.2,"tradeTurnover":14695.4876,"open":12729.0},{"amount":1.21,"high":12842.0,"vol":1210,"low":12730.6,"count":119,"id":1603342800,"close":12813.8,"tradeTurnover":15440.8162,"open":12763.1},{"amount":1.188,"high":12795.0,"vol":1188,"low":12728.0,"count":123,"id":1603346400,"close":12729.1,"tradeTurnover":15128.0098,"open":12795.0},{"amount":1.266,"high":12730.6,"vol":1266,"low":12728.3,"count":112,"id":1603350000,"close":12730.6,"tradeTurnover":16115.1306,"open":12728.6},{"amount":1.35,"high":12921.5,"vol":1350,"low":12729.9,"count":127,"id":1603353600,"close":12770.1,"tradeTurnover":17233.7326,"open":12730.3},{"amount":0.98,"high":12872.1,"vol":980,"low":12760.1,"count":99,"id":1603357200,"close":12780.4,"tradeTurnover":12553.9826,"open":12824.9},{"amount":0.266,"high":13002.7,"vol":266,"low":12775.6,"count":30,"id":1603360800,"close":12934.2,"tradeTurnover":3415.023,"open":12784.9},{"amount":1.004,"high":13057.0,"vol":1004,"low":12886.6,"count":117,"id":1603364400,"close":13045.0,"tradeTurnover":13020.8576,"open":12977.0},{"amount":1.134,"high":12973.4,"vol":1134,"low":12751.6,"count":111,"id":1603368000,"close":12847.9,"tradeTurnover":14594.2752,"open":12958.5},{"amount":1.152,"high":13000.8,"vol":1152,"low":12743.0,"count":114,"id":1603371600,"close":12931.0,"tradeTurnover":14877.7314,"open":12882.7},{"amount":1.182,"high":12995.3,"vol":1182,"low":12783.9,"count":115,"id":1603375200,"close":12917.8,"tradeTurnover":15224.4716,"open":12890.4},{"amount":1.176,"high":13031.2,"vol":1176,"low":12817.9,"count":117,"id":1603378800,"close":12953.0,"tradeTurnover":15197.208,"open":12918.8},{"amount":1.146,"high":13100.2,"vol":1146,"low":12865.6,"count":119,"id":1603382400,"close":13055.6,"tradeTurnover":14851.9604,"open":12923.1},{"amount":1.534,"high":13105.7,"vol":1534,"low":12835.5,"count":124,"id":1603386000,"close":13082.7,"tradeTurnover":19927.8288,"open":12967.6},{"amount":1.268,"high":13115.0,"vol":1268,"low":12938.7,"count":117,"id":1603389600,"close":13016.4,"tradeTurnover":16505.4738,"open":13020.4},{"amount":1.13,"high":13171.2,"vol":1130,"low":12961.8,"count":112,"id":1603393200,"close":12970.6,"tradeTurnover":14762.952,"open":13028.3},{"amount":1.206,"high":13216.1,"vol":1206,"low":12998.5,"count":117,"id":1603396800,"close":13089.3,"tradeTurnover":15807.1226,"open":13016.7},{"amount":1.332,"high":13203.7,"vol":1332,"low":12932.9,"count":114,"id":1603400400,"close":13092.0,"tradeTurnover":17423.4422,"open":13136.0},{"amount":1.21,"high":13250.5,"vol":1210,"low":12984.7,"count":114,"id":1603404000,"close":13055.9,"tradeTurnover":15876.0632,"open":13119.4},{"amount":1.286,"high":13126.5,"vol":1286,"low":12857.2,"count":116,"id":1603407600,"close":12890.4,"tradeTurnover":16688.422,"open":13059.4},{"amount":1.502,"high":12994.0,"vol":1502,"low":12751.6,"count":131,"id":1603411200,"close":12892.2,"tradeTurnover":19331.1596,"open":12929.7},{"amount":1.386,"high":13003.2,"vol":1386,"low":12786.0,"count":121,"id":1603414800,"close":12898.3,"tradeTurnover":17904.8902,"open":12921.7},{"amount":1.416,"high":13054.0,"vol":1416,"low":12800.7,"count":122,"id":1603418400,"close":12975.1,"tradeTurnover":18306.6204,"open":12951.6},{"amount":1.19,"high":13030.7,"vol":1190,"low":12875.0,"count":118,"id":1603422000,"close":12947.0,"tradeTurnover":15409.7984,"open":12967.3},{"amount":1.022,"high":13047.3,"vol":1022,"low":12832.8,"count":127,"id":1603425600,"close":12852.0,"tradeTurnover":13214.4388,"open":12925.2},{"amount":0.478,"high":12991.7,"vol":478,"low":12841.2,"count":118,"id":1603429200,"close":12931.1,"tradeTurnover":6180.2486,"open":12859.0},{"amount":0.522,"high":13014.1,"vol":522,"low":12871.9,"count":132,"id":1603432800,"close":12939.6,"tradeTurnover":6759.0324,"open":12935.9},{"amount":0.476,"high":12998.9,"vol":476,"low":12917.1,"count":118,"id":1603436400,"close":12925.4,"tradeTurnover":6163.3118,"open":12923.1},{"amount":0.508,"high":13014.0,"vol":508,"low":12916.1,"count":122,"id":1603440000,"close":12962.6,"tradeTurnover":6585.3656,"open":12942.2},{"amount":0.564,"high":13012.5,"vol":564,"low":12909.9,"count":124,"id":1603443600,"close":12926.4,"tradeTurnover":7308.8828,"open":12970.5},{"amount":0.536,"high":13059.5,"vol":536,"low":12925.7,"count":124,"id":1603447200,"close":13007.7,"tradeTurnover":6957.8796,"open":13001.2},{"amount":0.486,"high":13078.4,"vol":486,"low":12906.5,"count":122,"id":1603450800,"close":12970.6,"tradeTurnover":6326.1434,"open":13025.4},{"amount":0.494,"high":13025.0,"vol":494,"low":12850.8,"count":117,"id":1603454400,"close":12935.4,"tradeTurnover":6396.0984,"open":12963.9},{"amount":0.466,"high":13043.3,"vol":466,"low":12911.0,"count":117,"id":1603458000,"close":12951.7,"tradeTurnover":6049.1412,"open":12913.3},{"amount":0.46,"high":13006.4,"vol":460,"low":12840.4,"count":116,"id":1603461600,"close":12858.8,"tradeTurnover":5941.815,"open":12999.6},{"amount":0.492,"high":12932.9,"vol":492,"low":12826.5,"count":117,"id":1603465200,"close":12881.9,"tradeTurnover":6340.214,"open":12885.7},{"amount":0.484,"high":12933.5,"vol":484,"low":12744.4,"count":123,"id":1603468800,"close":12784.1,"tradeTurnover":6205.4138,"open":12854.4},{"amount":0.562,"high":12893.1,"vol":562,"low":12730.1,"count":152,"id":1603472400,"close":12847.7,"tradeTurnover":7218.9184,"open":12832.3},{"amount":0.53,"high":12939.3,"vol":530,"low":12751.4,"count":128,"id":1603476000,"close":12915.7,"tradeTurnover":6825.7004,"open":12874.1},{"amount":0.444,"high":12972.9,"vol":444,"low":12786.6,"count":117,"id":1603479600,"close":12972.9,"tradeTurnover":5727.7452,"open":12867.9},{"amount":0.492,"high":13002.2,"vol":492,"low":12842.9,"count":116,"id":1603483200,"close":12991.6,"tradeTurnover":6375.1566,"open":12956.7},{"amount":0.5,"high":13004.3,"vol":500,"low":12936.6,"count":125,"id":1603486800,"close":12943.5,"tradeTurnover":6485.468,"open":13004.3},{"amount":0.492,"high":13010.3,"vol":492,"low":12884.7,"count":120,"id":1603490400,"close":12989.2,"tradeTurnover":6376.1492,"open":12923.6},{"amount":0.51,"high":13024.4,"vol":510,"low":12884.6,"count":121,"id":1603494000,"close":12884.6,"tradeTurnover":6622.3406,"open":12974.9},{"amount":0.488,"high":13018.3,"vol":488,"low":12811.1,"count":120,"id":1603497600,"close":12953.9,"tradeTurnover":6317.7938,"open":12973.7},{"amount":0.482,"high":13018.1,"vol":482,"low":12872.8,"count":117,"id":1603501200,"close":12934.2,"tradeTurnover":6242.4178,"open":12927.5},{"amount":0.484,"high":13003.9,"vol":484,"low":12903.3,"count":117,"id":1603504800,"close":12989.1,"tradeTurnover":6278.1756,"open":12971.9},{"amount":0.474,"high":13013.4,"vol":474,"low":12938.3,"count":122,"id":1603508400,"close":12975.9,"tradeTurnover":6157.7096,"open":13000.1},{"amount":0.526,"high":13009.4,"vol":526,"low":12905.5,"count":124,"id":1603512000,"close":12963.3,"tradeTurnover":6831.5658,"open":12989.7},{"amount":0.522,"high":13041.8,"vol":522,"low":12875.3,"count":127,"id":1603515600,"close":12989.7,"tradeTurnover":6768.8994,"open":12910.5},{"amount":0.49,"high":13058.1,"vol":490,"low":12908.8,"count":120,"id":1603519200,"close":13003.6,"tradeTurnover":6370.5714,"open":12994.7},{"amount":0.478,"high":13037.8,"vol":478,"low":12981.7,"count":120,"id":1603522800,"close":13004.2,"tradeTurnover":6218.9722,"open":13011.9},{"amount":0.52,"high":13030.6,"vol":520,"low":12899.4,"count":124,"id":1603526400,"close":12998.2,"tradeTurnover":6754.958,"open":13003.0},{"amount":0.454,"high":13020.3,"vol":454,"low":12893.6,"count":115,"id":1603530000,"close":12990.6,"tradeTurnover":5891.0574,"open":12998.2},{"amount":0.502,"high":13059.1,"vol":502,"low":12913.2,"count":124,"id":1603533600,"close":13030.1,"tradeTurnover":6525.9004,"open":12996.4},{"amount":0.468,"high":13068.3,"vol":468,"low":12940.2,"count":119,"id":1603537200,"close":13033.2,"tradeTurnover":6091.0376,"open":12988.4},{"amount":0.468,"high":13071.8,"vol":468,"low":12978.9,"count":123,"id":1603540800,"close":13006.5,"tradeTurnover":6102.5902,"open":13035.3},{"amount":0.534,"high":13066.7,"vol":534,"low":12928.1,"count":123,"id":1603544400,"close":12985.9,"tradeTurnover":6950.4268,"open":13038.8},{"amount":0.47,"high":13100.1,"vol":470,"low":12960.5,"count":100,"id":1603548000,"close":13042.0,"tradeTurnover":6124.2178,"open":12986.3},{"amount":0.456,"high":13196.5,"vol":456,"low":13038.4,"count":120,"id":1603551600,"close":13102.2,"tradeTurnover":5989.6362,"open":13038.4},{"amount":0.458,"high":13176.6,"vol":458,"low":12984.6,"count":121,"id":1603555200,"close":13052.7,"tradeTurnover":5976.331,"open":13136.8},{"amount":0.452,"high":13177.8,"vol":452,"low":13003.2,"count":118,"id":1603558800,"close":13177.8,"tradeTurnover":5911.7058,"open":13006.2},{"amount":0.468,"high":13170.7,"vol":468,"low":13023.0,"count":119,"id":1603562400,"close":13080.8,"tradeTurnover":6122.375,"open":13127.7},{"amount":0.468,"high":13179.3,"vol":468,"low":13014.2,"count":120,"id":1603566000,"close":13148.4,"tradeTurnover":6126.4278,"open":13040.7},{"amount":0.47,"high":13179.6,"vol":470,"low":12992.5,"count":119,"id":1603569600,"close":13090.1,"tradeTurnover":6151.4758,"open":13073.5},{"amount":0.458,"high":13148.7,"vol":458,"low":12980.7,"count":117,"id":1603573200,"close":12993.9,"tradeTurnover":5981.071,"open":13035.4},{"amount":0.478,"high":13112.1,"vol":478,"low":12975.6,"count":118,"id":1603576800,"close":13041.1,"tradeTurnover":6225.4216,"open":13040.7},{"amount":0.472,"high":13184.3,"vol":472,"low":13009.3,"count":118,"id":1603580400,"close":13184.3,"tradeTurnover":6173.4244,"open":13012.6},{"amount":0.46,"high":13170.4,"vol":460,"low":13007.7,"count":115,"id":1603584000,"close":13154.3,"tradeTurnover":6024.09,"open":13080.8},{"amount":0.398,"high":13196.8,"vol":398,"low":13024.0,"count":102,"id":1603587600,"close":13196.1,"tradeTurnover":5217.5364,"open":13092.0},{"amount":0.476,"high":13175.1,"vol":476,"low":13035.0,"count":120,"id":1603591200,"close":13082.4,"tradeTurnover":6228.6596,"open":13124.7},{"amount":0.578,"high":13383.8,"vol":578,"low":13049.1,"count":137,"id":1603594800,"close":13259.0,"tradeTurnover":7629.3886,"open":13049.1},{"amount":0.47,"high":13369.0,"vol":470,"low":13216.0,"count":122,"id":1603598400,"close":13243.4,"tradeTurnover":6247.955,"open":13277.0},{"amount":0.61,"high":13353.3,"vol":610,"low":13010.1,"count":134,"id":1603602000,"close":13017.3,"tradeTurnover":8048.8598,"open":13285.3},{"amount":0.486,"high":13105.7,"vol":486,"low":13018.2,"count":118,"id":1603605600,"close":13060.3,"tradeTurnover":6344.1474,"open":13022.5},{"amount":0.464,"high":13112.1,"vol":464,"low":13022.0,"count":120,"id":1603609200,"close":13078.1,"tradeTurnover":6061.5416,"open":13048.5},{"amount":0.464,"high":13091.0,"vol":464,"low":13017.2,"count":120,"id":1603612800,"close":13046.0,"tradeTurnover":6055.3734,"open":13077.2},{"amount":0.478,"high":13084.0,"vol":478,"low":13014.2,"count":117,"id":1603616400,"close":13040.8,"tradeTurnover":6235.7882,"open":13065.1},{"amount":0.478,"high":13064.2,"vol":478,"low":13010.2,"count":125,"id":1603620000,"close":13028.5,"tradeTurnover":6232.2428,"open":13047.1},{"amount":0.534,"high":13061.5,"vol":534,"low":12852.9,"count":123,"id":1603623600,"close":12897.6,"tradeTurnover":6918.1226,"open":13061.5},{"amount":0.444,"high":13069.7,"vol":444,"low":12893.2,"count":117,"id":1603627200,"close":12964.3,"tradeTurnover":5755.8712,"open":12908.3},{"amount":0.498,"high":13071.9,"vol":498,"low":12891.8,"count":119,"id":1603630800,"close":12949.3,"tradeTurnover":6465.078,"open":13001.3},{"amount":0.468,"high":13077.7,"vol":468,"low":12900.0,"count":116,"id":1603634400,"close":12946.8,"tradeTurnover":6075.4554,"open":12975.8},{"amount":0.47,"high":13069.1,"vol":470,"low":12883.3,"count":119,"id":1603638000,"close":12883.3,"tradeTurnover":6097.1072,"open":12975.2},{"amount":0.482,"high":13067.9,"vol":482,"low":12877.5,"count":118,"id":1603641600,"close":12978.7,"tradeTurnover":6256.4472,"open":12916.2},{"amount":0.47,"high":13087.5,"vol":470,"low":12922.7,"count":117,"id":1603645200,"close":13004.4,"tradeTurnover":6108.3892,"open":13008.0},{"amount":0.468,"high":13067.6,"vol":468,"low":12893.6,"count":118,"id":1603648800,"close":12957.2,"tradeTurnover":6079.1484,"open":12972.8},{"amount":0.442,"high":13066.9,"vol":442,"low":12916.6,"count":118,"id":1603652400,"close":13021.8,"tradeTurnover":5746.5548,"open":12996.5},{"amount":0.508,"high":13081.5,"vol":508,"low":12944.9,"count":120,"id":1603656000,"close":12985.4,"tradeTurnover":6616.9872,"open":12992.9},{"amount":0.508,"high":13068.6,"vol":508,"low":12921.4,"count":122,"id":1603659600,"close":13011.2,"tradeTurnover":6614.816,"open":12999.9},{"amount":0.486,"high":13073.8,"vol":486,"low":12911.9,"count":121,"id":1603663200,"close":12959.4,"tradeTurnover":6320.907,"open":12979.6},{"amount":0.452,"high":13085.2,"vol":452,"low":12927.8,"count":113,"id":1603666800,"close":13032.1,"tradeTurnover":5878.6442,"open":12963.4},{"amount":0.482,"high":13076.7,"vol":482,"low":12918.3,"count":121,"id":1603670400,"close":13001.0,"tradeTurnover":6263.698,"open":12964.2},{"amount":0.478,"high":13096.4,"vol":478,"low":12991.2,"count":124,"id":1603674000,"close":13053.7,"tradeTurnover":6232.2328,"open":13040.0},{"amount":0.488,"high":13185.7,"vol":488,"low":12985.1,"count":121,"id":1603677600,"close":13064.4,"tradeTurnover":6387.534,"open":13060.6},{"amount":0.486,"high":13187.2,"vol":486,"low":12984.1,"count":135,"id":1603681200,"close":13092.8,"tradeTurnover":6369.0272,"open":13032.3},{"amount":0.51,"high":13181.6,"vol":510,"low":12962.3,"count":131,"id":1603684800,"close":13132.6,"tradeTurnover":6679.829,"open":13092.0},{"amount":0.506,"high":13205.3,"vol":506,"low":13025.3,"count":126,"id":1603688400,"close":13092.1,"tradeTurnover":6641.2128,"open":13129.2},{"amount":1.616,"high":13188.1,"vol":1616,"low":12989.8,"count":141,"id":1603692000,"close":13071.4,"tradeTurnover":21170.8224,"open":13121.8},{"amount":3.746,"high":13100.0,"vol":3746,"low":12965.2,"count":110,"id":1603695600,"close":13038.7,"tradeTurnover":48924.8902,"open":13061.0},{"amount":8.966,"high":13102.0,"vol":8966,"low":12852.8,"count":173,"id":1603699200,"close":13039.3,"tradeTurnover":116525.5534,"open":13030.9},{"amount":4.48,"high":13088.4,"vol":4480,"low":13039.8,"count":124,"id":1603702800,"close":13075.9,"tradeTurnover":58521.1714,"open":13047.1},{"amount":4.272,"high":13100.0,"vol":4272,"low":13060.2,"count":130,"id":1603706400,"close":13100.0,"tradeTurnover":55895.9778,"open":13072.1},{"amount":29.798,"high":13159.0,"vol":29798,"low":13100.0,"count":230,"id":1603710000,"close":13138.4,"tradeTurnover":391138.024,"open":13100.0},{"amount":5.154,"high":13200.0,"vol":5154,"low":13100.0,"count":188,"id":1603713600,"close":13149.8,"tradeTurnover":67694.652,"open":13138.8},{"amount":35.608,"high":13351.5,"vol":35608,"low":13133.1,"count":328,"id":1603717200,"close":13205.8,"tradeTurnover":472780.3394,"open":13150.0},{"amount":31.748,"high":13280.0,"vol":31748,"low":13144.1,"count":235,"id":1603720800,"close":13166.1,"tradeTurnover":418744.5588,"open":13203.0},{"amount":36.53,"high":13165.2,"vol":36530,"low":12903.8,"count":384,"id":1603724400,"close":12978.0,"tradeTurnover":476940.3296,"open":13159.0},{"amount":35.018,"high":13069.8,"vol":35018,"low":12850.5,"count":323,"id":1603728000,"close":12869.6,"tradeTurnover":453288.918,"open":12965.0},{"amount":92.628,"high":12941.5,"vol":92628,"low":12583.9,"count":560,"id":1603731600,"close":12873.8,"tradeTurnover":1185973.467,"open":12879.2},{"amount":4.302,"high":12954.5,"vol":4302,"low":12820.4,"count":128,"id":1603735200,"close":12946.8,"tradeTurnover":55481.0054,"open":12856.2},{"amount":13.83,"high":12953.5,"vol":13830,"low":12914.1,"count":118,"id":1603738800,"close":12953.4,"tradeTurnover":179112.1598,"open":12945.6},{"amount":17.172,"high":13007.5,"vol":17172,"low":12953.5,"count":132,"id":1603742400,"close":12983.4,"tradeTurnover":223230.2122,"open":12953.5},{"amount":3.212,"high":13007.5,"vol":3212,"low":12982.7,"count":59,"id":1603746000,"close":12993.8,"tradeTurnover":41767.8906,"open":12983.1},{"amount":1.504,"high":13007.5,"vol":1504,"low":12974.0,"count":74,"id":1603749600,"close":13007.5,"tradeTurnover":19543.3568,"open":13002.1},{"amount":3.454,"high":13061.2,"vol":3454,"low":13007.5,"count":101,"id":1603753200,"close":13033.7,"tradeTurnover":45001.601,"open":13007.5},{"amount":8.784,"high":13105.0,"vol":8784,"low":13028.3,"count":98,"id":1603756800,"close":13067.1,"tradeTurnover":114871.8246,"open":13029.2},{"amount":11.592,"high":13074.4,"vol":11592,"low":13051.5,"count":66,"id":1603760400,"close":13061.7,"tradeTurnover":151386.9038,"open":13074.3},{"amount":19.298,"high":13097.6,"vol":19298,"low":13040.1,"count":109,"id":1603764000,"close":13049.7,"tradeTurnover":252061.019,"open":13061.7},{"amount":22.992,"high":13080.0,"vol":22992,"low":13057.1,"count":69,"id":1603767600,"close":13070.4,"tradeTurnover":300453.9788,"open":13057.6},{"amount":14.396,"high":13175.0,"vol":14396,"low":13079.6,"count":59,"id":1603771200,"close":13103.3,"tradeTurnover":188461.9156,"open":13080.0},{"amount":5.058,"high":13121.3,"vol":5058,"low":13069.7,"count":44,"id":1603774800,"close":13073.6,"tradeTurnover":66201.3552,"open":13121.3},{"amount":9.106,"high":13149.0,"vol":9106,"low":13069.6,"count":107,"id":1603778400,"close":13103.4,"tradeTurnover":119104.8906,"open":13074.9},{"amount":73.95,"high":13169.8,"vol":73950,"low":12992.4,"count":305,"id":1603782000,"close":13130.0,"tradeTurnover":968195.155,"open":13103.3},{"amount":18.732,"high":13148.4,"vol":18732,"low":13044.0,"count":135,"id":1603785600,"close":13123.8,"tradeTurnover":245533.5448,"open":13135.1},{"amount":13.756,"high":13131.8,"vol":13756,"low":13075.7,"count":102,"id":1603789200,"close":13131.7,"tradeTurnover":180253.7708,"open":13115.5},{"amount":154.108,"high":13252.0,"vol":154108,"low":13063.4,"count":525,"id":1603792800,"close":13216.9,"tradeTurnover":2029983.656,"open":13134.8},{"amount":170.09,"high":13590.1,"vol":170090,"low":13213.5,"count":591,"id":1603796400,"close":13395.8,"tradeTurnover":2276279.742,"open":13218.8},{"amount":48.928,"high":13414.0,"vol":48928,"low":13331.7,"count":216,"id":1603800000,"close":13376.9,"tradeTurnover":654585.9108,"open":13395.9},{"amount":63.294,"high":13490.9,"vol":63294,"low":13329.8,"count":316,"id":1603803600,"close":13384.3,"tradeTurnover":848130.9212,"open":13376.5},{"amount":12.892,"high":13415.8,"vol":12892,"low":13344.8,"count":124,"id":1603807200,"close":13398.2,"tradeTurnover":172618.6864,"open":13392.6},{"amount":93.22,"high":13626.7,"vol":93220,"low":13398.2,"count":476,"id":1603810800,"close":13598.5,"tradeTurnover":1262695.5466,"open":13398.2},{"amount":85.45,"high":13639.9,"vol":85450,"low":13520.2,"count":435,"id":1603814400,"close":13639.9,"tradeTurnover":1161481.4136,"open":13595.8},{"amount":191.812,"high":13826.7,"vol":191812,"low":13589.0,"count":711,"id":1603818000,"close":13688.1,"tradeTurnover":2628428.3788,"open":13640.0},{"amount":65.434,"high":13745.0,"vol":65434,"low":13528.2,"count":410,"id":1603821600,"close":13630.1,"tradeTurnover":891541.8394,"open":13685.0},{"amount":5.788,"high":13659.8,"vol":5788,"low":13595.4,"count":65,"id":1603825200,"close":13637.1,"tradeTurnover":78836.2578,"open":13629.4},{"amount":163.104,"high":13805.1,"vol":163104,"low":13582.6,"count":537,"id":1603828800,"close":13616.6,"tradeTurnover":2234040.3544,"open":13644.4},{"amount":9.884,"high":13753.5,"vol":9884,"low":13609.8,"count":101,"id":1603832400,"close":13705.5,"tradeTurnover":135406.4752,"open":13609.8},{"amount":7.436,"high":13739.9,"vol":7436,"low":13658.2,"count":100,"id":1603836000,"close":13739.9,"tradeTurnover":101840.3508,"open":13705.4},{"amount":17.086,"high":13794.6,"vol":17086,"low":13582.6,"count":234,"id":1603839600,"close":13649.6,"tradeTurnover":233971.8448,"open":13739.9},{"amount":24.108,"high":13745.2,"vol":24108,"low":13618.8,"count":177,"id":1603843200,"close":13701.7,"tradeTurnover":330206.5694,"open":13645.9},{"amount":15.892,"high":13725.6,"vol":15892,"low":13647.9,"count":151,"id":1603846800,"close":13702.6,"tradeTurnover":217816.7008,"open":13702.1},{"amount":46.548,"high":13832.2,"vol":46548,"low":13680.2,"count":274,"id":1603850400,"close":13811.6,"tradeTurnover":640636.0352,"open":13701.7},{"amount":67.896,"high":13820.3,"vol":67896,"low":13717.5,"count":320,"id":1603854000,"close":13777.0,"tradeTurnover":935838.2238,"open":13818.5},{"amount":33.156,"high":13807.2,"vol":33156,"low":13710.0,"count":210,"id":1603857600,"close":13735.7,"tradeTurnover":455941.234,"open":13767.3},{"amount":32.076,"high":13753.9,"vol":32076,"low":13671.3,"count":198,"id":1603861200,"close":13715.8,"tradeTurnover":439612.64,"open":13735.5},{"amount":14.756,"high":13757.0,"vol":14756,"low":13694.9,"count":122,"id":1603864800,"close":13701.3,"tradeTurnover":202602.5164,"open":13715.9},{"amount":155.534,"high":13708.7,"vol":155534,"low":13550.0,"count":635,"id":1603868400,"close":13674.2,"tradeTurnover":2117935.0928,"open":13701.2},{"amount":29.846,"high":13691.7,"vol":29846,"low":13584.0,"count":240,"id":1603872000,"close":13691.7,"tradeTurnover":407073.1398,"open":13673.0},{"amount":104.542,"high":13707.5,"vol":104542,"low":13573.5,"count":377,"id":1603875600,"close":13587.1,"tradeTurnover":1425079.9344,"open":13689.3},{"amount":73.818,"high":13618.0,"vol":73818,"low":13504.7,"count":358,"id":1603879200,"close":13552.7,"tradeTurnover":1001666.0908,"open":13584.6},{"amount":176.544,"high":13565.4,"vol":176544,"low":13330.0,"count":1004,"id":1603882800,"close":13336.4,"tradeTurnover":2369166.1492,"open":13552.6},{"amount":289.73,"high":13385.0,"vol":289730,"low":13173.9,"count":968,"id":1603886400,"close":13300.3,"tradeTurnover":3846751.7166,"open":13331.5},{"amount":139.822,"high":13340.0,"vol":139822,"low":13122.9,"count":612,"id":1603890000,"close":13129.9,"tradeTurnover":1848876.932,"open":13300.2},{"amount":367.876,"high":13168.2,"vol":367876,"low":12915.9,"count":1168,"id":1603893600,"close":13082.2,"tradeTurnover":4802516.9818,"open":13123.4},{"amount":84.044,"high":13235.2,"vol":84044,"low":13052.3,"count":375,"id":1603897200,"close":13221.2,"tradeTurnover":1106883.1282,"open":13077.1},{"amount":29.566,"high":13218.7,"vol":29566,"low":13050.0,"count":244,"id":1603900800,"close":13145.1,"tradeTurnover":388697.4104,"open":13218.7},{"amount":53.336,"high":13204.9,"vol":53336,"low":13006.6,"count":299,"id":1603904400,"close":13176.7,"tradeTurnover":700385.2784,"open":13145.1},{"amount":34.164,"high":13219.6,"vol":34164,"low":13131.0,"count":218,"id":1603908000,"close":13196.5,"tradeTurnover":450210.5778,"open":13171.0},{"amount":22.158,"high":13237.4,"vol":22158,"low":13145.0,"count":185,"id":1603911600,"close":13154.9,"tradeTurnover":292020.0438,"open":13200.0},{"amount":4.548,"high":13211.8,"vol":4548,"low":13147.4,"count":75,"id":1603915200,"close":13198.1,"tradeTurnover":59991.1118,"open":13154.5},{"amount":3.52,"high":13196.5,"vol":3520,"low":13100.2,"count":68,"id":1603918800,"close":13190.1,"tradeTurnover":46175.428,"open":13193.5},{"amount":3.122,"high":13267.5,"vol":3122,"low":13185.4,"count":72,"id":1603922400,"close":13252.0,"tradeTurnover":41304.2018,"open":13185.4},{"amount":14.768,"high":13282.3,"vol":14768,"low":13235.9,"count":86,"id":1603926000,"close":13265.9,"tradeTurnover":195689.0764,"open":13242.1},{"amount":19.968,"high":13294.7,"vol":19968,"low":13237.4,"count":98,"id":1603929600,"close":13245.1,"tradeTurnover":264834.1944,"open":13253.9},{"amount":35.282,"high":13285.3,"vol":35282,"low":13166.3,"count":192,"id":1603933200,"close":13274.2,"tradeTurnover":465789.6302,"open":13244.6},{"amount":9.748,"high":13277.7,"vol":9748,"low":13212.2,"count":119,"id":1603936800,"close":13241.1,"tradeTurnover":129016.0684,"open":13275.9},{"amount":27.3,"high":13262.5,"vol":27300,"low":13174.6,"count":199,"id":1603940400,"close":13262.5,"tradeTurnover":360589.8982,"open":13237.1},{"amount":18.904,"high":13277.7,"vol":18904,"low":13229.5,"count":109,"id":1603944000,"close":13229.5,"tradeTurnover":250713.2812,"open":13269.1},{"amount":15.822,"high":13274.8,"vol":15822,"low":13228.5,"count":134,"id":1603947600,"close":13274.8,"tradeTurnover":209781.909,"open":13228.5},{"amount":91.246,"high":13323.0,"vol":91246,"low":13242.3,"count":294,"id":1603951200,"close":13255.0,"tradeTurnover":1211271.2788,"open":13274.8},{"amount":187.622,"high":13269.3,"vol":187622,"low":13123.1,"count":506,"id":1603954800,"close":13142.4,"tradeTurnover":2478299.7074,"open":13255.0},{"amount":69.532,"high":13182.4,"vol":69532,"low":13094.1,"count":226,"id":1603958400,"close":13124.8,"tradeTurnover":914157.2418,"open":13145.9},{"amount":23.184,"high":13197.1,"vol":23184,"low":13129.5,"count":141,"id":1603962000,"close":13183.7,"tradeTurnover":305485.9524,"open":13129.5},{"amount":121.146,"high":13187.5,"vol":121146,"low":13053.1,"count":442,"id":1603965600,"close":13105.2,"tradeTurnover":1590026.4416,"open":13184.8},{"amount":47.498,"high":13171.4,"vol":47498,"low":13060.1,"count":262,"id":1603969200,"close":13060.1,"tradeTurnover":623578.149,"open":13105.1},{"amount":126.552,"high":13145.8,"vol":126552,"low":12977.9,"count":481,"id":1603972800,"close":13131.8,"tradeTurnover":1652549.311,"open":13056.9},{"amount":100.482,"high":13237.2,"vol":100482,"low":13102.0,"count":325,"id":1603976400,"close":13230.0,"tradeTurnover":1326403.7206,"open":13131.7},{"amount":253.258,"high":13476.1,"vol":253258,"low":13231.0,"count":752,"id":1603980000,"close":13420.8,"tradeTurnover":3384941.438,"open":13231.0},{"amount":64.71,"high":13458.7,"vol":64710,"low":13358.7,"count":269,"id":1603983600,"close":13420.6,"tradeTurnover":869052.3804,"open":13416.0},{"amount":120.24,"high":13594.5,"vol":120240,"low":13391.8,"count":570,"id":1603987200,"close":13535.9,"tradeTurnover":1626567.8278,"open":13421.9}],"id":"","rep":"market.BTC-USDT.kline.60min","status":"ok"} +2024-01-18 11:12:58.848 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:39] - 请求 KLine 数据用户收到的原始数据:{"id":"","rep":"market.BTC-USDT.kline.60min","ts":1705547577752,"wsid":19750305,"status":"ok","data":[{"id":1603270800,"open":12198.0,"close":12196.7,"high":12300.0,"low":11715.8,"amount":0.276,"vol":276,"trade_turnover":3315.9104,"count":39},{"id":1603274400,"open":12196.7,"close":12277.9,"high":12289.9,"low":12111.0,"amount":0.198,"vol":198,"trade_turnover":2420.7728,"count":21},{"id":1603278000,"open":12111.0,"close":12000.0,"high":12277.9,"low":12000.0,"amount":0.012,"vol":12,"trade_turnover":145.2238,"count":5},{"id":1603281600,"open":12078.0,"close":12497.4,"high":12498.0,"low":12078.0,"amount":0.084,"vol":84,"trade_turnover":1040.0504,"count":12},{"id":1603285200,"open":12495.6,"close":12373.5,"high":12495.6,"low":12282.9,"amount":1.122,"vol":1122,"trade_turnover":13905.3124,"count":112},{"id":1603288800,"open":12412.9,"close":12689.9,"high":12807.6,"low":12358.1,"amount":5.29,"vol":5290,"trade_turnover":66852.128,"count":155},{"id":1603292400,"open":12692.8,"close":12701.9,"high":12778.7,"low":12573.2,"amount":1.174,"vol":1174,"trade_turnover":14907.367,"count":113},{"id":1603296000,"open":12679.7,"close":12835.9,"high":12920.9,"low":12624.8,"amount":1.156,"vol":1156,"trade_turnover":14802.449,"count":115},{"id":1603299600,"open":12848.3,"close":12754.2,"high":12908.3,"low":12687.5,"amount":1.12,"vol":1120,"trade_turnover":14345.7324,"count":115},{"id":1603303200,"open":12743.7,"close":12740.2,"high":12849.0,"low":12668.3,"amount":1.106,"vol":1106,"trade_turnover":14105.3504,"count":114},{"id":1603306800,"open":12729.5,"close":12650.3,"high":12843.1,"low":12597.2,"amount":1.032,"vol":1032,"trade_turnover":13125.4568,"count":112},{"id":1603310400,"open":12666.8,"close":12807.0,"high":12848.4,"low":12610.2,"amount":1.154,"vol":1154,"trade_turnover":14680.638,"count":116},{"id":1603314000,"open":12866.0,"close":12938.9,"high":13005.1,"low":12748.2,"amount":1.164,"vol":1164,"trade_turnover":14976.9366,"count":114},{"id":1603317600,"open":12921.0,"close":13122.0,"high":13211.2,"low":12865.7,"amount":1.174,"vol":1174,"trade_turnover":15285.2446,"count":114},{"id":1603321200,"open":13153.2,"close":12829.8,"high":13173.2,"low":12688.6,"amount":1.172,"vol":1172,"trade_turnover":15060.9938,"count":117},{"id":1603324800,"open":12793.1,"close":12885.9,"high":12988.1,"low":12764.4,"amount":1.17,"vol":1170,"trade_turnover":15046.2046,"count":117},{"id":1603328400,"open":12860.4,"close":12757.5,"high":12972.6,"low":12757.5,"amount":1.158,"vol":1158,"trade_turnover":14882.4656,"count":118},{"id":1603332000,"open":12824.1,"close":12788.8,"high":12848.0,"low":12729.0,"amount":1.124,"vol":1124,"trade_turnover":14368.7948,"count":115},{"id":1603335600,"open":12791.7,"close":12767.2,"high":12834.4,"low":12729.0,"amount":1.194,"vol":1194,"trade_turnover":15268.9298,"count":111},{"id":1603339200,"open":12729.0,"close":12762.2,"high":12778.3,"low":12729.0,"amount":1.152,"vol":1152,"trade_turnover":14695.4876,"count":115},{"id":1603342800,"open":12763.1,"close":12813.8,"high":12842.0,"low":12730.6,"amount":1.21,"vol":1210,"trade_turnover":15440.8162,"count":119},{"id":1603346400,"open":12795.0,"close":12729.1,"high":12795.0,"low":12728.0,"amount":1.188,"vol":1188,"trade_turnover":15128.0098,"count":123},{"id":1603350000,"open":12728.6,"close":12730.6,"high":12730.6,"low":12728.3,"amount":1.266,"vol":1266,"trade_turnover":16115.1306,"count":112},{"id":1603353600,"open":12730.3,"close":12770.1,"high":12921.5,"low":12729.9,"amount":1.35,"vol":1350,"trade_turnover":17233.7326,"count":127},{"id":1603357200,"open":12824.9,"close":12780.4,"high":12872.1,"low":12760.1,"amount":0.98,"vol":980,"trade_turnover":12553.9826,"count":99},{"id":1603360800,"open":12784.9,"close":12934.2,"high":13002.7,"low":12775.6,"amount":0.266,"vol":266,"trade_turnover":3415.023,"count":30},{"id":1603364400,"open":12977.0,"close":13045.0,"high":13057.0,"low":12886.6,"amount":1.004,"vol":1004,"trade_turnover":13020.8576,"count":117},{"id":1603368000,"open":12958.5,"close":12847.9,"high":12973.4,"low":12751.6,"amount":1.134,"vol":1134,"trade_turnover":14594.2752,"count":111},{"id":1603371600,"open":12882.7,"close":12931.0,"high":13000.8,"low":12743.0,"amount":1.152,"vol":1152,"trade_turnover":14877.7314,"count":114},{"id":1603375200,"open":12890.4,"close":12917.8,"high":12995.3,"low":12783.9,"amount":1.182,"vol":1182,"trade_turnover":15224.4716,"count":115},{"id":1603378800,"open":12918.8,"close":12953.0,"high":13031.2,"low":12817.9,"amount":1.176,"vol":1176,"trade_turnover":15197.208,"count":117},{"id":1603382400,"open":12923.1,"close":13055.6,"high":13100.2,"low":12865.6,"amount":1.146,"vol":1146,"trade_turnover":14851.9604,"count":119},{"id":1603386000,"open":12967.6,"close":13082.7,"high":13105.7,"low":12835.5,"amount":1.534,"vol":1534,"trade_turnover":19927.8288,"count":124},{"id":1603389600,"open":13020.4,"close":13016.4,"high":13115.0,"low":12938.7,"amount":1.268,"vol":1268,"trade_turnover":16505.4738,"count":117},{"id":1603393200,"open":13028.3,"close":12970.6,"high":13171.2,"low":12961.8,"amount":1.13,"vol":1130,"trade_turnover":14762.952,"count":112},{"id":1603396800,"open":13016.7,"close":13089.3,"high":13216.1,"low":12998.5,"amount":1.206,"vol":1206,"trade_turnover":15807.1226,"count":117},{"id":1603400400,"open":13136.0,"close":13092.0,"high":13203.7,"low":12932.9,"amount":1.332,"vol":1332,"trade_turnover":17423.4422,"count":114},{"id":1603404000,"open":13119.4,"close":13055.9,"high":13250.5,"low":12984.7,"amount":1.21,"vol":1210,"trade_turnover":15876.0632,"count":114},{"id":1603407600,"open":13059.4,"close":12890.4,"high":13126.5,"low":12857.2,"amount":1.286,"vol":1286,"trade_turnover":16688.422,"count":116},{"id":1603411200,"open":12929.7,"close":12892.2,"high":12994.0,"low":12751.6,"amount":1.502,"vol":1502,"trade_turnover":19331.1596,"count":131},{"id":1603414800,"open":12921.7,"close":12898.3,"high":13003.2,"low":12786.0,"amount":1.386,"vol":1386,"trade_turnover":17904.8902,"count":121},{"id":1603418400,"open":12951.6,"close":12975.1,"high":13054.0,"low":12800.7,"amount":1.416,"vol":1416,"trade_turnover":18306.6204,"count":122},{"id":1603422000,"open":12967.3,"close":12947.0,"high":13030.7,"low":12875.0,"amount":1.19,"vol":1190,"trade_turnover":15409.7984,"count":118},{"id":1603425600,"open":12925.2,"close":12852.0,"high":13047.3,"low":12832.8,"amount":1.022,"vol":1022,"trade_turnover":13214.4388,"count":127},{"id":1603429200,"open":12859.0,"close":12931.1,"high":12991.7,"low":12841.2,"amount":0.478,"vol":478,"trade_turnover":6180.2486,"count":118},{"id":1603432800,"open":12935.9,"close":12939.6,"high":13014.1,"low":12871.9,"amount":0.522,"vol":522,"trade_turnover":6759.0324,"count":132},{"id":1603436400,"open":12923.1,"close":12925.4,"high":12998.9,"low":12917.1,"amount":0.476,"vol":476,"trade_turnover":6163.3118,"count":118},{"id":1603440000,"open":12942.2,"close":12962.6,"high":13014.0,"low":12916.1,"amount":0.508,"vol":508,"trade_turnover":6585.3656,"count":122},{"id":1603443600,"open":12970.5,"close":12926.4,"high":13012.5,"low":12909.9,"amount":0.564,"vol":564,"trade_turnover":7308.8828,"count":124},{"id":1603447200,"open":13001.2,"close":13007.7,"high":13059.5,"low":12925.7,"amount":0.536,"vol":536,"trade_turnover":6957.8796,"count":124},{"id":1603450800,"open":13025.4,"close":12970.6,"high":13078.4,"low":12906.5,"amount":0.486,"vol":486,"trade_turnover":6326.1434,"count":122},{"id":1603454400,"open":12963.9,"close":12935.4,"high":13025.0,"low":12850.8,"amount":0.494,"vol":494,"trade_turnover":6396.0984,"count":117},{"id":1603458000,"open":12913.3,"close":12951.7,"high":13043.3,"low":12911.0,"amount":0.466,"vol":466,"trade_turnover":6049.1412,"count":117},{"id":1603461600,"open":12999.6,"close":12858.8,"high":13006.4,"low":12840.4,"amount":0.46,"vol":460,"trade_turnover":5941.815,"count":116},{"id":1603465200,"open":12885.7,"close":12881.9,"high":12932.9,"low":12826.5,"amount":0.492,"vol":492,"trade_turnover":6340.214,"count":117},{"id":1603468800,"open":12854.4,"close":12784.1,"high":12933.5,"low":12744.4,"amount":0.484,"vol":484,"trade_turnover":6205.4138,"count":123},{"id":1603472400,"open":12832.3,"close":12847.7,"high":12893.1,"low":12730.1,"amount":0.562,"vol":562,"trade_turnover":7218.9184,"count":152},{"id":1603476000,"open":12874.1,"close":12915.7,"high":12939.3,"low":12751.4,"amount":0.53,"vol":530,"trade_turnover":6825.7004,"count":128},{"id":1603479600,"open":12867.9,"close":12972.9,"high":12972.9,"low":12786.6,"amount":0.444,"vol":444,"trade_turnover":5727.7452,"count":117},{"id":1603483200,"open":12956.7,"close":12991.6,"high":13002.2,"low":12842.9,"amount":0.492,"vol":492,"trade_turnover":6375.1566,"count":116},{"id":1603486800,"open":13004.3,"close":12943.5,"high":13004.3,"low":12936.6,"amount":0.5,"vol":500,"trade_turnover":6485.468,"count":125},{"id":1603490400,"open":12923.6,"close":12989.2,"high":13010.3,"low":12884.7,"amount":0.492,"vol":492,"trade_turnover":6376.1492,"count":120},{"id":1603494000,"open":12974.9,"close":12884.6,"high":13024.4,"low":12884.6,"amount":0.51,"vol":510,"trade_turnover":6622.3406,"count":121},{"id":1603497600,"open":12973.7,"close":12953.9,"high":13018.3,"low":12811.1,"amount":0.488,"vol":488,"trade_turnover":6317.7938,"count":120},{"id":1603501200,"open":12927.5,"close":12934.2,"high":13018.1,"low":12872.8,"amount":0.482,"vol":482,"trade_turnover":6242.4178,"count":117},{"id":1603504800,"open":12971.9,"close":12989.1,"high":13003.9,"low":12903.3,"amount":0.484,"vol":484,"trade_turnover":6278.1756,"count":117},{"id":1603508400,"open":13000.1,"close":12975.9,"high":13013.4,"low":12938.3,"amount":0.474,"vol":474,"trade_turnover":6157.7096,"count":122},{"id":1603512000,"open":12989.7,"close":12963.3,"high":13009.4,"low":12905.5,"amount":0.526,"vol":526,"trade_turnover":6831.5658,"count":124},{"id":1603515600,"open":12910.5,"close":12989.7,"high":13041.8,"low":12875.3,"amount":0.522,"vol":522,"trade_turnover":6768.8994,"count":127},{"id":1603519200,"open":12994.7,"close":13003.6,"high":13058.1,"low":12908.8,"amount":0.49,"vol":490,"trade_turnover":6370.5714,"count":120},{"id":1603522800,"open":13011.9,"close":13004.2,"high":13037.8,"low":12981.7,"amount":0.478,"vol":478,"trade_turnover":6218.9722,"count":120},{"id":1603526400,"open":13003.0,"close":12998.2,"high":13030.6,"low":12899.4,"amount":0.52,"vol":520,"trade_turnover":6754.958,"count":124},{"id":1603530000,"open":12998.2,"close":12990.6,"high":13020.3,"low":12893.6,"amount":0.454,"vol":454,"trade_turnover":5891.0574,"count":115},{"id":1603533600,"open":12996.4,"close":13030.1,"high":13059.1,"low":12913.2,"amount":0.502,"vol":502,"trade_turnover":6525.9004,"count":124},{"id":1603537200,"open":12988.4,"close":13033.2,"high":13068.3,"low":12940.2,"amount":0.468,"vol":468,"trade_turnover":6091.0376,"count":119},{"id":1603540800,"open":13035.3,"close":13006.5,"high":13071.8,"low":12978.9,"amount":0.468,"vol":468,"trade_turnover":6102.5902,"count":123},{"id":1603544400,"open":13038.8,"close":12985.9,"high":13066.7,"low":12928.1,"amount":0.534,"vol":534,"trade_turnover":6950.4268,"count":123},{"id":1603548000,"open":12986.3,"close":13042.0,"high":13100.1,"low":12960.5,"amount":0.47,"vol":470,"trade_turnover":6124.2178,"count":100},{"id":1603551600,"open":13038.4,"close":13102.2,"high":13196.5,"low":13038.4,"amount":0.456,"vol":456,"trade_turnover":5989.6362,"count":120},{"id":1603555200,"open":13136.8,"close":13052.7,"high":13176.6,"low":12984.6,"amount":0.458,"vol":458,"trade_turnover":5976.331,"count":121},{"id":1603558800,"open":13006.2,"close":13177.8,"high":13177.8,"low":13003.2,"amount":0.452,"vol":452,"trade_turnover":5911.7058,"count":118},{"id":1603562400,"open":13127.7,"close":13080.8,"high":13170.7,"low":13023.0,"amount":0.468,"vol":468,"trade_turnover":6122.375,"count":119},{"id":1603566000,"open":13040.7,"close":13148.4,"high":13179.3,"low":13014.2,"amount":0.468,"vol":468,"trade_turnover":6126.4278,"count":120},{"id":1603569600,"open":13073.5,"close":13090.1,"high":13179.6,"low":12992.5,"amount":0.47,"vol":470,"trade_turnover":6151.4758,"count":119},{"id":1603573200,"open":13035.4,"close":12993.9,"high":13148.7,"low":12980.7,"amount":0.458,"vol":458,"trade_turnover":5981.071,"count":117},{"id":1603576800,"open":13040.7,"close":13041.1,"high":13112.1,"low":12975.6,"amount":0.478,"vol":478,"trade_turnover":6225.4216,"count":118},{"id":1603580400,"open":13012.6,"close":13184.3,"high":13184.3,"low":13009.3,"amount":0.472,"vol":472,"trade_turnover":6173.4244,"count":118},{"id":1603584000,"open":13080.8,"close":13154.3,"high":13170.4,"low":13007.7,"amount":0.46,"vol":460,"trade_turnover":6024.09,"count":115},{"id":1603587600,"open":13092.0,"close":13196.1,"high":13196.8,"low":13024.0,"amount":0.398,"vol":398,"trade_turnover":5217.5364,"count":102},{"id":1603591200,"open":13124.7,"close":13082.4,"high":13175.1,"low":13035.0,"amount":0.476,"vol":476,"trade_turnover":6228.6596,"count":120},{"id":1603594800,"open":13049.1,"close":13259.0,"high":13383.8,"low":13049.1,"amount":0.578,"vol":578,"trade_turnover":7629.3886,"count":137},{"id":1603598400,"open":13277.0,"close":13243.4,"high":13369.0,"low":13216.0,"amount":0.47,"vol":470,"trade_turnover":6247.955,"count":122},{"id":1603602000,"open":13285.3,"close":13017.3,"high":13353.3,"low":13010.1,"amount":0.61,"vol":610,"trade_turnover":8048.8598,"count":134},{"id":1603605600,"open":13022.5,"close":13060.3,"high":13105.7,"low":13018.2,"amount":0.486,"vol":486,"trade_turnover":6344.1474,"count":118},{"id":1603609200,"open":13048.5,"close":13078.1,"high":13112.1,"low":13022.0,"amount":0.464,"vol":464,"trade_turnover":6061.5416,"count":120},{"id":1603612800,"open":13077.2,"close":13046.0,"high":13091.0,"low":13017.2,"amount":0.464,"vol":464,"trade_turnover":6055.3734,"count":120},{"id":1603616400,"open":13065.1,"close":13040.8,"high":13084.0,"low":13014.2,"amount":0.478,"vol":478,"trade_turnover":6235.7882,"count":117},{"id":1603620000,"open":13047.1,"close":13028.5,"high":13064.2,"low":13010.2,"amount":0.478,"vol":478,"trade_turnover":6232.2428,"count":125},{"id":1603623600,"open":13061.5,"close":12897.6,"high":13061.5,"low":12852.9,"amount":0.534,"vol":534,"trade_turnover":6918.1226,"count":123},{"id":1603627200,"open":12908.3,"close":12964.3,"high":13069.7,"low":12893.2,"amount":0.444,"vol":444,"trade_turnover":5755.8712,"count":117},{"id":1603630800,"open":13001.3,"close":12949.3,"high":13071.9,"low":12891.8,"amount":0.498,"vol":498,"trade_turnover":6465.078,"count":119},{"id":1603634400,"open":12975.8,"close":12946.8,"high":13077.7,"low":12900.0,"amount":0.468,"vol":468,"trade_turnover":6075.4554,"count":116},{"id":1603638000,"open":12975.2,"close":12883.3,"high":13069.1,"low":12883.3,"amount":0.47,"vol":470,"trade_turnover":6097.1072,"count":119},{"id":1603641600,"open":12916.2,"close":12978.7,"high":13067.9,"low":12877.5,"amount":0.482,"vol":482,"trade_turnover":6256.4472,"count":118},{"id":1603645200,"open":13008.0,"close":13004.4,"high":13087.5,"low":12922.7,"amount":0.47,"vol":470,"trade_turnover":6108.3892,"count":117},{"id":1603648800,"open":12972.8,"close":12957.2,"high":13067.6,"low":12893.6,"amount":0.468,"vol":468,"trade_turnover":6079.1484,"count":118},{"id":1603652400,"open":12996.5,"close":13021.8,"high":13066.9,"low":12916.6,"amount":0.442,"vol":442,"trade_turnover":5746.5548,"count":118},{"id":1603656000,"open":12992.9,"close":12985.4,"high":13081.5,"low":12944.9,"amount":0.508,"vol":508,"trade_turnover":6616.9872,"count":120},{"id":1603659600,"open":12999.9,"close":13011.2,"high":13068.6,"low":12921.4,"amount":0.508,"vol":508,"trade_turnover":6614.816,"count":122},{"id":1603663200,"open":12979.6,"close":12959.4,"high":13073.8,"low":12911.9,"amount":0.486,"vol":486,"trade_turnover":6320.907,"count":121},{"id":1603666800,"open":12963.4,"close":13032.1,"high":13085.2,"low":12927.8,"amount":0.452,"vol":452,"trade_turnover":5878.6442,"count":113},{"id":1603670400,"open":12964.2,"close":13001.0,"high":13076.7,"low":12918.3,"amount":0.482,"vol":482,"trade_turnover":6263.698,"count":121},{"id":1603674000,"open":13040.0,"close":13053.7,"high":13096.4,"low":12991.2,"amount":0.478,"vol":478,"trade_turnover":6232.2328,"count":124},{"id":1603677600,"open":13060.6,"close":13064.4,"high":13185.7,"low":12985.1,"amount":0.488,"vol":488,"trade_turnover":6387.534,"count":121},{"id":1603681200,"open":13032.3,"close":13092.8,"high":13187.2,"low":12984.1,"amount":0.486,"vol":486,"trade_turnover":6369.0272,"count":135},{"id":1603684800,"open":13092.0,"close":13132.6,"high":13181.6,"low":12962.3,"amount":0.51,"vol":510,"trade_turnover":6679.829,"count":131},{"id":1603688400,"open":13129.2,"close":13092.1,"high":13205.3,"low":13025.3,"amount":0.506,"vol":506,"trade_turnover":6641.2128,"count":126},{"id":1603692000,"open":13121.8,"close":13071.4,"high":13188.1,"low":12989.8,"amount":1.616,"vol":1616,"trade_turnover":21170.8224,"count":141},{"id":1603695600,"open":13061.0,"close":13038.7,"high":13100.0,"low":12965.2,"amount":3.746,"vol":3746,"trade_turnover":48924.8902,"count":110},{"id":1603699200,"open":13030.9,"close":13039.3,"high":13102.0,"low":12852.8,"amount":8.966,"vol":8966,"trade_turnover":116525.5534,"count":173},{"id":1603702800,"open":13047.1,"close":13075.9,"high":13088.4,"low":13039.8,"amount":4.48,"vol":4480,"trade_turnover":58521.1714,"count":124},{"id":1603706400,"open":13072.1,"close":13100.0,"high":13100.0,"low":13060.2,"amount":4.272,"vol":4272,"trade_turnover":55895.9778,"count":130},{"id":1603710000,"open":13100.0,"close":13138.4,"high":13159.0,"low":13100.0,"amount":29.798,"vol":29798,"trade_turnover":391138.024,"count":230},{"id":1603713600,"open":13138.8,"close":13149.8,"high":13200.0,"low":13100.0,"amount":5.154,"vol":5154,"trade_turnover":67694.652,"count":188},{"id":1603717200,"open":13150.0,"close":13205.8,"high":13351.5,"low":13133.1,"amount":35.608,"vol":35608,"trade_turnover":472780.3394,"count":328},{"id":1603720800,"open":13203.0,"close":13166.1,"high":13280.0,"low":13144.1,"amount":31.748,"vol":31748,"trade_turnover":418744.5588,"count":235},{"id":1603724400,"open":13159.0,"close":12978.0,"high":13165.2,"low":12903.8,"amount":36.53,"vol":36530,"trade_turnover":476940.3296,"count":384},{"id":1603728000,"open":12965.0,"close":12869.6,"high":13069.8,"low":12850.5,"amount":35.018,"vol":35018,"trade_turnover":453288.918,"count":323},{"id":1603731600,"open":12879.2,"close":12873.8,"high":12941.5,"low":12583.9,"amount":92.628,"vol":92628,"trade_turnover":1185973.467,"count":560},{"id":1603735200,"open":12856.2,"close":12946.8,"high":12954.5,"low":12820.4,"amount":4.302,"vol":4302,"trade_turnover":55481.0054,"count":128},{"id":1603738800,"open":12945.6,"close":12953.4,"high":12953.5,"low":12914.1,"amount":13.83,"vol":13830,"trade_turnover":179112.1598,"count":118},{"id":1603742400,"open":12953.5,"close":12983.4,"high":13007.5,"low":12953.5,"amount":17.172,"vol":17172,"trade_turnover":223230.2122,"count":132},{"id":1603746000,"open":12983.1,"close":12993.8,"high":13007.5,"low":12982.7,"amount":3.212,"vol":3212,"trade_turnover":41767.8906,"count":59},{"id":1603749600,"open":13002.1,"close":13007.5,"high":13007.5,"low":12974.0,"amount":1.504,"vol":1504,"trade_turnover":19543.3568,"count":74},{"id":1603753200,"open":13007.5,"close":13033.7,"high":13061.2,"low":13007.5,"amount":3.454,"vol":3454,"trade_turnover":45001.601,"count":101},{"id":1603756800,"open":13029.2,"close":13067.1,"high":13105.0,"low":13028.3,"amount":8.784,"vol":8784,"trade_turnover":114871.8246,"count":98},{"id":1603760400,"open":13074.3,"close":13061.7,"high":13074.4,"low":13051.5,"amount":11.592,"vol":11592,"trade_turnover":151386.9038,"count":66},{"id":1603764000,"open":13061.7,"close":13049.7,"high":13097.6,"low":13040.1,"amount":19.298,"vol":19298,"trade_turnover":252061.019,"count":109},{"id":1603767600,"open":13057.6,"close":13070.4,"high":13080.0,"low":13057.1,"amount":22.992,"vol":22992,"trade_turnover":300453.9788,"count":69},{"id":1603771200,"open":13080.0,"close":13103.3,"high":13175.0,"low":13079.6,"amount":14.396,"vol":14396,"trade_turnover":188461.9156,"count":59},{"id":1603774800,"open":13121.3,"close":13073.6,"high":13121.3,"low":13069.7,"amount":5.058,"vol":5058,"trade_turnover":66201.3552,"count":44},{"id":1603778400,"open":13074.9,"close":13103.4,"high":13149.0,"low":13069.6,"amount":9.106,"vol":9106,"trade_turnover":119104.8906,"count":107},{"id":1603782000,"open":13103.3,"close":13130.0,"high":13169.8,"low":12992.4,"amount":73.95,"vol":73950,"trade_turnover":968195.155,"count":305},{"id":1603785600,"open":13135.1,"close":13123.8,"high":13148.4,"low":13044.0,"amount":18.732,"vol":18732,"trade_turnover":245533.5448,"count":135},{"id":1603789200,"open":13115.5,"close":13131.7,"high":13131.8,"low":13075.7,"amount":13.756,"vol":13756,"trade_turnover":180253.7708,"count":102},{"id":1603792800,"open":13134.8,"close":13216.9,"high":13252.0,"low":13063.4,"amount":154.108,"vol":154108,"trade_turnover":2029983.656,"count":525},{"id":1603796400,"open":13218.8,"close":13395.8,"high":13590.1,"low":13213.5,"amount":170.09,"vol":170090,"trade_turnover":2276279.742,"count":591},{"id":1603800000,"open":13395.9,"close":13376.9,"high":13414.0,"low":13331.7,"amount":48.928,"vol":48928,"trade_turnover":654585.9108,"count":216},{"id":1603803600,"open":13376.5,"close":13384.3,"high":13490.9,"low":13329.8,"amount":63.294,"vol":63294,"trade_turnover":848130.9212,"count":316},{"id":1603807200,"open":13392.6,"close":13398.2,"high":13415.8,"low":13344.8,"amount":12.892,"vol":12892,"trade_turnover":172618.6864,"count":124},{"id":1603810800,"open":13398.2,"close":13598.5,"high":13626.7,"low":13398.2,"amount":93.22,"vol":93220,"trade_turnover":1262695.5466,"count":476},{"id":1603814400,"open":13595.8,"close":13639.9,"high":13639.9,"low":13520.2,"amount":85.45,"vol":85450,"trade_turnover":1161481.4136,"count":435},{"id":1603818000,"open":13640.0,"close":13688.1,"high":13826.7,"low":13589.0,"amount":191.812,"vol":191812,"trade_turnover":2628428.3788,"count":711},{"id":1603821600,"open":13685.0,"close":13630.1,"high":13745.0,"low":13528.2,"amount":65.434,"vol":65434,"trade_turnover":891541.8394,"count":410},{"id":1603825200,"open":13629.4,"close":13637.1,"high":13659.8,"low":13595.4,"amount":5.788,"vol":5788,"trade_turnover":78836.2578,"count":65},{"id":1603828800,"open":13644.4,"close":13616.6,"high":13805.1,"low":13582.6,"amount":163.104,"vol":163104,"trade_turnover":2234040.3544,"count":537},{"id":1603832400,"open":13609.8,"close":13705.5,"high":13753.5,"low":13609.8,"amount":9.884,"vol":9884,"trade_turnover":135406.4752,"count":101},{"id":1603836000,"open":13705.4,"close":13739.9,"high":13739.9,"low":13658.2,"amount":7.436,"vol":7436,"trade_turnover":101840.3508,"count":100},{"id":1603839600,"open":13739.9,"close":13649.6,"high":13794.6,"low":13582.6,"amount":17.086,"vol":17086,"trade_turnover":233971.8448,"count":234},{"id":1603843200,"open":13645.9,"close":13701.7,"high":13745.2,"low":13618.8,"amount":24.108,"vol":24108,"trade_turnover":330206.5694,"count":177},{"id":1603846800,"open":13702.1,"close":13702.6,"high":13725.6,"low":13647.9,"amount":15.892,"vol":15892,"trade_turnover":217816.7008,"count":151},{"id":1603850400,"open":13701.7,"close":13811.6,"high":13832.2,"low":13680.2,"amount":46.548,"vol":46548,"trade_turnover":640636.0352,"count":274},{"id":1603854000,"open":13818.5,"close":13777.0,"high":13820.3,"low":13717.5,"amount":67.896,"vol":67896,"trade_turnover":935838.2238,"count":320},{"id":1603857600,"open":13767.3,"close":13735.7,"high":13807.2,"low":13710.0,"amount":33.156,"vol":33156,"trade_turnover":455941.234,"count":210},{"id":1603861200,"open":13735.5,"close":13715.8,"high":13753.9,"low":13671.3,"amount":32.076,"vol":32076,"trade_turnover":439612.64,"count":198},{"id":1603864800,"open":13715.9,"close":13701.3,"high":13757.0,"low":13694.9,"amount":14.756,"vol":14756,"trade_turnover":202602.5164,"count":122},{"id":1603868400,"open":13701.2,"close":13674.2,"high":13708.7,"low":13550.0,"amount":155.534,"vol":155534,"trade_turnover":2117935.0928,"count":635},{"id":1603872000,"open":13673.0,"close":13691.7,"high":13691.7,"low":13584.0,"amount":29.846,"vol":29846,"trade_turnover":407073.1398,"count":240},{"id":1603875600,"open":13689.3,"close":13587.1,"high":13707.5,"low":13573.5,"amount":104.542,"vol":104542,"trade_turnover":1425079.9344,"count":377},{"id":1603879200,"open":13584.6,"close":13552.7,"high":13618.0,"low":13504.7,"amount":73.818,"vol":73818,"trade_turnover":1001666.0908,"count":358},{"id":1603882800,"open":13552.6,"close":13336.4,"high":13565.4,"low":13330.0,"amount":176.544,"vol":176544,"trade_turnover":2369166.1492,"count":1004},{"id":1603886400,"open":13331.5,"close":13300.3,"high":13385.0,"low":13173.9,"amount":289.73,"vol":289730,"trade_turnover":3846751.7166,"count":968},{"id":1603890000,"open":13300.2,"close":13129.9,"high":13340.0,"low":13122.9,"amount":139.822,"vol":139822,"trade_turnover":1848876.932,"count":612},{"id":1603893600,"open":13123.4,"close":13082.2,"high":13168.2,"low":12915.9,"amount":367.876,"vol":367876,"trade_turnover":4802516.9818,"count":1168},{"id":1603897200,"open":13077.1,"close":13221.2,"high":13235.2,"low":13052.3,"amount":84.044,"vol":84044,"trade_turnover":1106883.1282,"count":375},{"id":1603900800,"open":13218.7,"close":13145.1,"high":13218.7,"low":13050.0,"amount":29.566,"vol":29566,"trade_turnover":388697.4104,"count":244},{"id":1603904400,"open":13145.1,"close":13176.7,"high":13204.9,"low":13006.6,"amount":53.336,"vol":53336,"trade_turnover":700385.2784,"count":299},{"id":1603908000,"open":13171.0,"close":13196.5,"high":13219.6,"low":13131.0,"amount":34.164,"vol":34164,"trade_turnover":450210.5778,"count":218},{"id":1603911600,"open":13200.0,"close":13154.9,"high":13237.4,"low":13145.0,"amount":22.158,"vol":22158,"trade_turnover":292020.0438,"count":185},{"id":1603915200,"open":13154.5,"close":13198.1,"high":13211.8,"low":13147.4,"amount":4.548,"vol":4548,"trade_turnover":59991.1118,"count":75},{"id":1603918800,"open":13193.5,"close":13190.1,"high":13196.5,"low":13100.2,"amount":3.52,"vol":3520,"trade_turnover":46175.428,"count":68},{"id":1603922400,"open":13185.4,"close":13252.0,"high":13267.5,"low":13185.4,"amount":3.122,"vol":3122,"trade_turnover":41304.2018,"count":72},{"id":1603926000,"open":13242.1,"close":13265.9,"high":13282.3,"low":13235.9,"amount":14.768,"vol":14768,"trade_turnover":195689.0764,"count":86},{"id":1603929600,"open":13253.9,"close":13245.1,"high":13294.7,"low":13237.4,"amount":19.968,"vol":19968,"trade_turnover":264834.1944,"count":98},{"id":1603933200,"open":13244.6,"close":13274.2,"high":13285.3,"low":13166.3,"amount":35.282,"vol":35282,"trade_turnover":465789.6302,"count":192},{"id":1603936800,"open":13275.9,"close":13241.1,"high":13277.7,"low":13212.2,"amount":9.748,"vol":9748,"trade_turnover":129016.0684,"count":119},{"id":1603940400,"open":13237.1,"close":13262.5,"high":13262.5,"low":13174.6,"amount":27.3,"vol":27300,"trade_turnover":360589.8982,"count":199},{"id":1603944000,"open":13269.1,"close":13229.5,"high":13277.7,"low":13229.5,"amount":18.904,"vol":18904,"trade_turnover":250713.2812,"count":109},{"id":1603947600,"open":13228.5,"close":13274.8,"high":13274.8,"low":13228.5,"amount":15.822,"vol":15822,"trade_turnover":209781.909,"count":134},{"id":1603951200,"open":13274.8,"close":13255.0,"high":13323.0,"low":13242.3,"amount":91.246,"vol":91246,"trade_turnover":1211271.2788,"count":294},{"id":1603954800,"open":13255.0,"close":13142.4,"high":13269.3,"low":13123.1,"amount":187.622,"vol":187622,"trade_turnover":2478299.7074,"count":506},{"id":1603958400,"open":13145.9,"close":13124.8,"high":13182.4,"low":13094.1,"amount":69.532,"vol":69532,"trade_turnover":914157.2418,"count":226},{"id":1603962000,"open":13129.5,"close":13183.7,"high":13197.1,"low":13129.5,"amount":23.184,"vol":23184,"trade_turnover":305485.9524,"count":141},{"id":1603965600,"open":13184.8,"close":13105.2,"high":13187.5,"low":13053.1,"amount":121.146,"vol":121146,"trade_turnover":1590026.4416,"count":442},{"id":1603969200,"open":13105.1,"close":13060.1,"high":13171.4,"low":13060.1,"amount":47.498,"vol":47498,"trade_turnover":623578.149,"count":262},{"id":1603972800,"open":13056.9,"close":13131.8,"high":13145.8,"low":12977.9,"amount":126.552,"vol":126552,"trade_turnover":1652549.311,"count":481},{"id":1603976400,"open":13131.7,"close":13230.0,"high":13237.2,"low":13102.0,"amount":100.482,"vol":100482,"trade_turnover":1326403.7206,"count":325},{"id":1603980000,"open":13231.0,"close":13420.8,"high":13476.1,"low":13231.0,"amount":253.258,"vol":253258,"trade_turnover":3384941.438,"count":752},{"id":1603983600,"open":13416.0,"close":13420.6,"high":13458.7,"low":13358.7,"amount":64.71,"vol":64710,"trade_turnover":869052.3804,"count":269},{"id":1603987200,"open":13421.9,"close":13535.9,"high":13594.5,"low":13391.8,"amount":120.24,"vol":120240,"trade_turnover":1626567.8278,"count":570}]} +2024-01-18 11:12:58.849 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:41] - 请求 KLine 数据解析之后的数据为:{"wsid":19750305,"data":[{"amount":0.276,"high":12300.0,"vol":276,"low":11715.8,"count":39,"id":1603270800,"close":12196.7,"tradeTurnover":3315.9104,"open":12198.0},{"amount":0.198,"high":12289.9,"vol":198,"low":12111.0,"count":21,"id":1603274400,"close":12277.9,"tradeTurnover":2420.7728,"open":12196.7},{"amount":0.012,"high":12277.9,"vol":12,"low":12000.0,"count":5,"id":1603278000,"close":12000.0,"tradeTurnover":145.2238,"open":12111.0},{"amount":0.084,"high":12498.0,"vol":84,"low":12078.0,"count":12,"id":1603281600,"close":12497.4,"tradeTurnover":1040.0504,"open":12078.0},{"amount":1.122,"high":12495.6,"vol":1122,"low":12282.9,"count":112,"id":1603285200,"close":12373.5,"tradeTurnover":13905.3124,"open":12495.6},{"amount":5.29,"high":12807.6,"vol":5290,"low":12358.1,"count":155,"id":1603288800,"close":12689.9,"tradeTurnover":66852.128,"open":12412.9},{"amount":1.174,"high":12778.7,"vol":1174,"low":12573.2,"count":113,"id":1603292400,"close":12701.9,"tradeTurnover":14907.367,"open":12692.8},{"amount":1.156,"high":12920.9,"vol":1156,"low":12624.8,"count":115,"id":1603296000,"close":12835.9,"tradeTurnover":14802.449,"open":12679.7},{"amount":1.12,"high":12908.3,"vol":1120,"low":12687.5,"count":115,"id":1603299600,"close":12754.2,"tradeTurnover":14345.7324,"open":12848.3},{"amount":1.106,"high":12849.0,"vol":1106,"low":12668.3,"count":114,"id":1603303200,"close":12740.2,"tradeTurnover":14105.3504,"open":12743.7},{"amount":1.032,"high":12843.1,"vol":1032,"low":12597.2,"count":112,"id":1603306800,"close":12650.3,"tradeTurnover":13125.4568,"open":12729.5},{"amount":1.154,"high":12848.4,"vol":1154,"low":12610.2,"count":116,"id":1603310400,"close":12807.0,"tradeTurnover":14680.638,"open":12666.8},{"amount":1.164,"high":13005.1,"vol":1164,"low":12748.2,"count":114,"id":1603314000,"close":12938.9,"tradeTurnover":14976.9366,"open":12866.0},{"amount":1.174,"high":13211.2,"vol":1174,"low":12865.7,"count":114,"id":1603317600,"close":13122.0,"tradeTurnover":15285.2446,"open":12921.0},{"amount":1.172,"high":13173.2,"vol":1172,"low":12688.6,"count":117,"id":1603321200,"close":12829.8,"tradeTurnover":15060.9938,"open":13153.2},{"amount":1.17,"high":12988.1,"vol":1170,"low":12764.4,"count":117,"id":1603324800,"close":12885.9,"tradeTurnover":15046.2046,"open":12793.1},{"amount":1.158,"high":12972.6,"vol":1158,"low":12757.5,"count":118,"id":1603328400,"close":12757.5,"tradeTurnover":14882.4656,"open":12860.4},{"amount":1.124,"high":12848.0,"vol":1124,"low":12729.0,"count":115,"id":1603332000,"close":12788.8,"tradeTurnover":14368.7948,"open":12824.1},{"amount":1.194,"high":12834.4,"vol":1194,"low":12729.0,"count":111,"id":1603335600,"close":12767.2,"tradeTurnover":15268.9298,"open":12791.7},{"amount":1.152,"high":12778.3,"vol":1152,"low":12729.0,"count":115,"id":1603339200,"close":12762.2,"tradeTurnover":14695.4876,"open":12729.0},{"amount":1.21,"high":12842.0,"vol":1210,"low":12730.6,"count":119,"id":1603342800,"close":12813.8,"tradeTurnover":15440.8162,"open":12763.1},{"amount":1.188,"high":12795.0,"vol":1188,"low":12728.0,"count":123,"id":1603346400,"close":12729.1,"tradeTurnover":15128.0098,"open":12795.0},{"amount":1.266,"high":12730.6,"vol":1266,"low":12728.3,"count":112,"id":1603350000,"close":12730.6,"tradeTurnover":16115.1306,"open":12728.6},{"amount":1.35,"high":12921.5,"vol":1350,"low":12729.9,"count":127,"id":1603353600,"close":12770.1,"tradeTurnover":17233.7326,"open":12730.3},{"amount":0.98,"high":12872.1,"vol":980,"low":12760.1,"count":99,"id":1603357200,"close":12780.4,"tradeTurnover":12553.9826,"open":12824.9},{"amount":0.266,"high":13002.7,"vol":266,"low":12775.6,"count":30,"id":1603360800,"close":12934.2,"tradeTurnover":3415.023,"open":12784.9},{"amount":1.004,"high":13057.0,"vol":1004,"low":12886.6,"count":117,"id":1603364400,"close":13045.0,"tradeTurnover":13020.8576,"open":12977.0},{"amount":1.134,"high":12973.4,"vol":1134,"low":12751.6,"count":111,"id":1603368000,"close":12847.9,"tradeTurnover":14594.2752,"open":12958.5},{"amount":1.152,"high":13000.8,"vol":1152,"low":12743.0,"count":114,"id":1603371600,"close":12931.0,"tradeTurnover":14877.7314,"open":12882.7},{"amount":1.182,"high":12995.3,"vol":1182,"low":12783.9,"count":115,"id":1603375200,"close":12917.8,"tradeTurnover":15224.4716,"open":12890.4},{"amount":1.176,"high":13031.2,"vol":1176,"low":12817.9,"count":117,"id":1603378800,"close":12953.0,"tradeTurnover":15197.208,"open":12918.8},{"amount":1.146,"high":13100.2,"vol":1146,"low":12865.6,"count":119,"id":1603382400,"close":13055.6,"tradeTurnover":14851.9604,"open":12923.1},{"amount":1.534,"high":13105.7,"vol":1534,"low":12835.5,"count":124,"id":1603386000,"close":13082.7,"tradeTurnover":19927.8288,"open":12967.6},{"amount":1.268,"high":13115.0,"vol":1268,"low":12938.7,"count":117,"id":1603389600,"close":13016.4,"tradeTurnover":16505.4738,"open":13020.4},{"amount":1.13,"high":13171.2,"vol":1130,"low":12961.8,"count":112,"id":1603393200,"close":12970.6,"tradeTurnover":14762.952,"open":13028.3},{"amount":1.206,"high":13216.1,"vol":1206,"low":12998.5,"count":117,"id":1603396800,"close":13089.3,"tradeTurnover":15807.1226,"open":13016.7},{"amount":1.332,"high":13203.7,"vol":1332,"low":12932.9,"count":114,"id":1603400400,"close":13092.0,"tradeTurnover":17423.4422,"open":13136.0},{"amount":1.21,"high":13250.5,"vol":1210,"low":12984.7,"count":114,"id":1603404000,"close":13055.9,"tradeTurnover":15876.0632,"open":13119.4},{"amount":1.286,"high":13126.5,"vol":1286,"low":12857.2,"count":116,"id":1603407600,"close":12890.4,"tradeTurnover":16688.422,"open":13059.4},{"amount":1.502,"high":12994.0,"vol":1502,"low":12751.6,"count":131,"id":1603411200,"close":12892.2,"tradeTurnover":19331.1596,"open":12929.7},{"amount":1.386,"high":13003.2,"vol":1386,"low":12786.0,"count":121,"id":1603414800,"close":12898.3,"tradeTurnover":17904.8902,"open":12921.7},{"amount":1.416,"high":13054.0,"vol":1416,"low":12800.7,"count":122,"id":1603418400,"close":12975.1,"tradeTurnover":18306.6204,"open":12951.6},{"amount":1.19,"high":13030.7,"vol":1190,"low":12875.0,"count":118,"id":1603422000,"close":12947.0,"tradeTurnover":15409.7984,"open":12967.3},{"amount":1.022,"high":13047.3,"vol":1022,"low":12832.8,"count":127,"id":1603425600,"close":12852.0,"tradeTurnover":13214.4388,"open":12925.2},{"amount":0.478,"high":12991.7,"vol":478,"low":12841.2,"count":118,"id":1603429200,"close":12931.1,"tradeTurnover":6180.2486,"open":12859.0},{"amount":0.522,"high":13014.1,"vol":522,"low":12871.9,"count":132,"id":1603432800,"close":12939.6,"tradeTurnover":6759.0324,"open":12935.9},{"amount":0.476,"high":12998.9,"vol":476,"low":12917.1,"count":118,"id":1603436400,"close":12925.4,"tradeTurnover":6163.3118,"open":12923.1},{"amount":0.508,"high":13014.0,"vol":508,"low":12916.1,"count":122,"id":1603440000,"close":12962.6,"tradeTurnover":6585.3656,"open":12942.2},{"amount":0.564,"high":13012.5,"vol":564,"low":12909.9,"count":124,"id":1603443600,"close":12926.4,"tradeTurnover":7308.8828,"open":12970.5},{"amount":0.536,"high":13059.5,"vol":536,"low":12925.7,"count":124,"id":1603447200,"close":13007.7,"tradeTurnover":6957.8796,"open":13001.2},{"amount":0.486,"high":13078.4,"vol":486,"low":12906.5,"count":122,"id":1603450800,"close":12970.6,"tradeTurnover":6326.1434,"open":13025.4},{"amount":0.494,"high":13025.0,"vol":494,"low":12850.8,"count":117,"id":1603454400,"close":12935.4,"tradeTurnover":6396.0984,"open":12963.9},{"amount":0.466,"high":13043.3,"vol":466,"low":12911.0,"count":117,"id":1603458000,"close":12951.7,"tradeTurnover":6049.1412,"open":12913.3},{"amount":0.46,"high":13006.4,"vol":460,"low":12840.4,"count":116,"id":1603461600,"close":12858.8,"tradeTurnover":5941.815,"open":12999.6},{"amount":0.492,"high":12932.9,"vol":492,"low":12826.5,"count":117,"id":1603465200,"close":12881.9,"tradeTurnover":6340.214,"open":12885.7},{"amount":0.484,"high":12933.5,"vol":484,"low":12744.4,"count":123,"id":1603468800,"close":12784.1,"tradeTurnover":6205.4138,"open":12854.4},{"amount":0.562,"high":12893.1,"vol":562,"low":12730.1,"count":152,"id":1603472400,"close":12847.7,"tradeTurnover":7218.9184,"open":12832.3},{"amount":0.53,"high":12939.3,"vol":530,"low":12751.4,"count":128,"id":1603476000,"close":12915.7,"tradeTurnover":6825.7004,"open":12874.1},{"amount":0.444,"high":12972.9,"vol":444,"low":12786.6,"count":117,"id":1603479600,"close":12972.9,"tradeTurnover":5727.7452,"open":12867.9},{"amount":0.492,"high":13002.2,"vol":492,"low":12842.9,"count":116,"id":1603483200,"close":12991.6,"tradeTurnover":6375.1566,"open":12956.7},{"amount":0.5,"high":13004.3,"vol":500,"low":12936.6,"count":125,"id":1603486800,"close":12943.5,"tradeTurnover":6485.468,"open":13004.3},{"amount":0.492,"high":13010.3,"vol":492,"low":12884.7,"count":120,"id":1603490400,"close":12989.2,"tradeTurnover":6376.1492,"open":12923.6},{"amount":0.51,"high":13024.4,"vol":510,"low":12884.6,"count":121,"id":1603494000,"close":12884.6,"tradeTurnover":6622.3406,"open":12974.9},{"amount":0.488,"high":13018.3,"vol":488,"low":12811.1,"count":120,"id":1603497600,"close":12953.9,"tradeTurnover":6317.7938,"open":12973.7},{"amount":0.482,"high":13018.1,"vol":482,"low":12872.8,"count":117,"id":1603501200,"close":12934.2,"tradeTurnover":6242.4178,"open":12927.5},{"amount":0.484,"high":13003.9,"vol":484,"low":12903.3,"count":117,"id":1603504800,"close":12989.1,"tradeTurnover":6278.1756,"open":12971.9},{"amount":0.474,"high":13013.4,"vol":474,"low":12938.3,"count":122,"id":1603508400,"close":12975.9,"tradeTurnover":6157.7096,"open":13000.1},{"amount":0.526,"high":13009.4,"vol":526,"low":12905.5,"count":124,"id":1603512000,"close":12963.3,"tradeTurnover":6831.5658,"open":12989.7},{"amount":0.522,"high":13041.8,"vol":522,"low":12875.3,"count":127,"id":1603515600,"close":12989.7,"tradeTurnover":6768.8994,"open":12910.5},{"amount":0.49,"high":13058.1,"vol":490,"low":12908.8,"count":120,"id":1603519200,"close":13003.6,"tradeTurnover":6370.5714,"open":12994.7},{"amount":0.478,"high":13037.8,"vol":478,"low":12981.7,"count":120,"id":1603522800,"close":13004.2,"tradeTurnover":6218.9722,"open":13011.9},{"amount":0.52,"high":13030.6,"vol":520,"low":12899.4,"count":124,"id":1603526400,"close":12998.2,"tradeTurnover":6754.958,"open":13003.0},{"amount":0.454,"high":13020.3,"vol":454,"low":12893.6,"count":115,"id":1603530000,"close":12990.6,"tradeTurnover":5891.0574,"open":12998.2},{"amount":0.502,"high":13059.1,"vol":502,"low":12913.2,"count":124,"id":1603533600,"close":13030.1,"tradeTurnover":6525.9004,"open":12996.4},{"amount":0.468,"high":13068.3,"vol":468,"low":12940.2,"count":119,"id":1603537200,"close":13033.2,"tradeTurnover":6091.0376,"open":12988.4},{"amount":0.468,"high":13071.8,"vol":468,"low":12978.9,"count":123,"id":1603540800,"close":13006.5,"tradeTurnover":6102.5902,"open":13035.3},{"amount":0.534,"high":13066.7,"vol":534,"low":12928.1,"count":123,"id":1603544400,"close":12985.9,"tradeTurnover":6950.4268,"open":13038.8},{"amount":0.47,"high":13100.1,"vol":470,"low":12960.5,"count":100,"id":1603548000,"close":13042.0,"tradeTurnover":6124.2178,"open":12986.3},{"amount":0.456,"high":13196.5,"vol":456,"low":13038.4,"count":120,"id":1603551600,"close":13102.2,"tradeTurnover":5989.6362,"open":13038.4},{"amount":0.458,"high":13176.6,"vol":458,"low":12984.6,"count":121,"id":1603555200,"close":13052.7,"tradeTurnover":5976.331,"open":13136.8},{"amount":0.452,"high":13177.8,"vol":452,"low":13003.2,"count":118,"id":1603558800,"close":13177.8,"tradeTurnover":5911.7058,"open":13006.2},{"amount":0.468,"high":13170.7,"vol":468,"low":13023.0,"count":119,"id":1603562400,"close":13080.8,"tradeTurnover":6122.375,"open":13127.7},{"amount":0.468,"high":13179.3,"vol":468,"low":13014.2,"count":120,"id":1603566000,"close":13148.4,"tradeTurnover":6126.4278,"open":13040.7},{"amount":0.47,"high":13179.6,"vol":470,"low":12992.5,"count":119,"id":1603569600,"close":13090.1,"tradeTurnover":6151.4758,"open":13073.5},{"amount":0.458,"high":13148.7,"vol":458,"low":12980.7,"count":117,"id":1603573200,"close":12993.9,"tradeTurnover":5981.071,"open":13035.4},{"amount":0.478,"high":13112.1,"vol":478,"low":12975.6,"count":118,"id":1603576800,"close":13041.1,"tradeTurnover":6225.4216,"open":13040.7},{"amount":0.472,"high":13184.3,"vol":472,"low":13009.3,"count":118,"id":1603580400,"close":13184.3,"tradeTurnover":6173.4244,"open":13012.6},{"amount":0.46,"high":13170.4,"vol":460,"low":13007.7,"count":115,"id":1603584000,"close":13154.3,"tradeTurnover":6024.09,"open":13080.8},{"amount":0.398,"high":13196.8,"vol":398,"low":13024.0,"count":102,"id":1603587600,"close":13196.1,"tradeTurnover":5217.5364,"open":13092.0},{"amount":0.476,"high":13175.1,"vol":476,"low":13035.0,"count":120,"id":1603591200,"close":13082.4,"tradeTurnover":6228.6596,"open":13124.7},{"amount":0.578,"high":13383.8,"vol":578,"low":13049.1,"count":137,"id":1603594800,"close":13259.0,"tradeTurnover":7629.3886,"open":13049.1},{"amount":0.47,"high":13369.0,"vol":470,"low":13216.0,"count":122,"id":1603598400,"close":13243.4,"tradeTurnover":6247.955,"open":13277.0},{"amount":0.61,"high":13353.3,"vol":610,"low":13010.1,"count":134,"id":1603602000,"close":13017.3,"tradeTurnover":8048.8598,"open":13285.3},{"amount":0.486,"high":13105.7,"vol":486,"low":13018.2,"count":118,"id":1603605600,"close":13060.3,"tradeTurnover":6344.1474,"open":13022.5},{"amount":0.464,"high":13112.1,"vol":464,"low":13022.0,"count":120,"id":1603609200,"close":13078.1,"tradeTurnover":6061.5416,"open":13048.5},{"amount":0.464,"high":13091.0,"vol":464,"low":13017.2,"count":120,"id":1603612800,"close":13046.0,"tradeTurnover":6055.3734,"open":13077.2},{"amount":0.478,"high":13084.0,"vol":478,"low":13014.2,"count":117,"id":1603616400,"close":13040.8,"tradeTurnover":6235.7882,"open":13065.1},{"amount":0.478,"high":13064.2,"vol":478,"low":13010.2,"count":125,"id":1603620000,"close":13028.5,"tradeTurnover":6232.2428,"open":13047.1},{"amount":0.534,"high":13061.5,"vol":534,"low":12852.9,"count":123,"id":1603623600,"close":12897.6,"tradeTurnover":6918.1226,"open":13061.5},{"amount":0.444,"high":13069.7,"vol":444,"low":12893.2,"count":117,"id":1603627200,"close":12964.3,"tradeTurnover":5755.8712,"open":12908.3},{"amount":0.498,"high":13071.9,"vol":498,"low":12891.8,"count":119,"id":1603630800,"close":12949.3,"tradeTurnover":6465.078,"open":13001.3},{"amount":0.468,"high":13077.7,"vol":468,"low":12900.0,"count":116,"id":1603634400,"close":12946.8,"tradeTurnover":6075.4554,"open":12975.8},{"amount":0.47,"high":13069.1,"vol":470,"low":12883.3,"count":119,"id":1603638000,"close":12883.3,"tradeTurnover":6097.1072,"open":12975.2},{"amount":0.482,"high":13067.9,"vol":482,"low":12877.5,"count":118,"id":1603641600,"close":12978.7,"tradeTurnover":6256.4472,"open":12916.2},{"amount":0.47,"high":13087.5,"vol":470,"low":12922.7,"count":117,"id":1603645200,"close":13004.4,"tradeTurnover":6108.3892,"open":13008.0},{"amount":0.468,"high":13067.6,"vol":468,"low":12893.6,"count":118,"id":1603648800,"close":12957.2,"tradeTurnover":6079.1484,"open":12972.8},{"amount":0.442,"high":13066.9,"vol":442,"low":12916.6,"count":118,"id":1603652400,"close":13021.8,"tradeTurnover":5746.5548,"open":12996.5},{"amount":0.508,"high":13081.5,"vol":508,"low":12944.9,"count":120,"id":1603656000,"close":12985.4,"tradeTurnover":6616.9872,"open":12992.9},{"amount":0.508,"high":13068.6,"vol":508,"low":12921.4,"count":122,"id":1603659600,"close":13011.2,"tradeTurnover":6614.816,"open":12999.9},{"amount":0.486,"high":13073.8,"vol":486,"low":12911.9,"count":121,"id":1603663200,"close":12959.4,"tradeTurnover":6320.907,"open":12979.6},{"amount":0.452,"high":13085.2,"vol":452,"low":12927.8,"count":113,"id":1603666800,"close":13032.1,"tradeTurnover":5878.6442,"open":12963.4},{"amount":0.482,"high":13076.7,"vol":482,"low":12918.3,"count":121,"id":1603670400,"close":13001.0,"tradeTurnover":6263.698,"open":12964.2},{"amount":0.478,"high":13096.4,"vol":478,"low":12991.2,"count":124,"id":1603674000,"close":13053.7,"tradeTurnover":6232.2328,"open":13040.0},{"amount":0.488,"high":13185.7,"vol":488,"low":12985.1,"count":121,"id":1603677600,"close":13064.4,"tradeTurnover":6387.534,"open":13060.6},{"amount":0.486,"high":13187.2,"vol":486,"low":12984.1,"count":135,"id":1603681200,"close":13092.8,"tradeTurnover":6369.0272,"open":13032.3},{"amount":0.51,"high":13181.6,"vol":510,"low":12962.3,"count":131,"id":1603684800,"close":13132.6,"tradeTurnover":6679.829,"open":13092.0},{"amount":0.506,"high":13205.3,"vol":506,"low":13025.3,"count":126,"id":1603688400,"close":13092.1,"tradeTurnover":6641.2128,"open":13129.2},{"amount":1.616,"high":13188.1,"vol":1616,"low":12989.8,"count":141,"id":1603692000,"close":13071.4,"tradeTurnover":21170.8224,"open":13121.8},{"amount":3.746,"high":13100.0,"vol":3746,"low":12965.2,"count":110,"id":1603695600,"close":13038.7,"tradeTurnover":48924.8902,"open":13061.0},{"amount":8.966,"high":13102.0,"vol":8966,"low":12852.8,"count":173,"id":1603699200,"close":13039.3,"tradeTurnover":116525.5534,"open":13030.9},{"amount":4.48,"high":13088.4,"vol":4480,"low":13039.8,"count":124,"id":1603702800,"close":13075.9,"tradeTurnover":58521.1714,"open":13047.1},{"amount":4.272,"high":13100.0,"vol":4272,"low":13060.2,"count":130,"id":1603706400,"close":13100.0,"tradeTurnover":55895.9778,"open":13072.1},{"amount":29.798,"high":13159.0,"vol":29798,"low":13100.0,"count":230,"id":1603710000,"close":13138.4,"tradeTurnover":391138.024,"open":13100.0},{"amount":5.154,"high":13200.0,"vol":5154,"low":13100.0,"count":188,"id":1603713600,"close":13149.8,"tradeTurnover":67694.652,"open":13138.8},{"amount":35.608,"high":13351.5,"vol":35608,"low":13133.1,"count":328,"id":1603717200,"close":13205.8,"tradeTurnover":472780.3394,"open":13150.0},{"amount":31.748,"high":13280.0,"vol":31748,"low":13144.1,"count":235,"id":1603720800,"close":13166.1,"tradeTurnover":418744.5588,"open":13203.0},{"amount":36.53,"high":13165.2,"vol":36530,"low":12903.8,"count":384,"id":1603724400,"close":12978.0,"tradeTurnover":476940.3296,"open":13159.0},{"amount":35.018,"high":13069.8,"vol":35018,"low":12850.5,"count":323,"id":1603728000,"close":12869.6,"tradeTurnover":453288.918,"open":12965.0},{"amount":92.628,"high":12941.5,"vol":92628,"low":12583.9,"count":560,"id":1603731600,"close":12873.8,"tradeTurnover":1185973.467,"open":12879.2},{"amount":4.302,"high":12954.5,"vol":4302,"low":12820.4,"count":128,"id":1603735200,"close":12946.8,"tradeTurnover":55481.0054,"open":12856.2},{"amount":13.83,"high":12953.5,"vol":13830,"low":12914.1,"count":118,"id":1603738800,"close":12953.4,"tradeTurnover":179112.1598,"open":12945.6},{"amount":17.172,"high":13007.5,"vol":17172,"low":12953.5,"count":132,"id":1603742400,"close":12983.4,"tradeTurnover":223230.2122,"open":12953.5},{"amount":3.212,"high":13007.5,"vol":3212,"low":12982.7,"count":59,"id":1603746000,"close":12993.8,"tradeTurnover":41767.8906,"open":12983.1},{"amount":1.504,"high":13007.5,"vol":1504,"low":12974.0,"count":74,"id":1603749600,"close":13007.5,"tradeTurnover":19543.3568,"open":13002.1},{"amount":3.454,"high":13061.2,"vol":3454,"low":13007.5,"count":101,"id":1603753200,"close":13033.7,"tradeTurnover":45001.601,"open":13007.5},{"amount":8.784,"high":13105.0,"vol":8784,"low":13028.3,"count":98,"id":1603756800,"close":13067.1,"tradeTurnover":114871.8246,"open":13029.2},{"amount":11.592,"high":13074.4,"vol":11592,"low":13051.5,"count":66,"id":1603760400,"close":13061.7,"tradeTurnover":151386.9038,"open":13074.3},{"amount":19.298,"high":13097.6,"vol":19298,"low":13040.1,"count":109,"id":1603764000,"close":13049.7,"tradeTurnover":252061.019,"open":13061.7},{"amount":22.992,"high":13080.0,"vol":22992,"low":13057.1,"count":69,"id":1603767600,"close":13070.4,"tradeTurnover":300453.9788,"open":13057.6},{"amount":14.396,"high":13175.0,"vol":14396,"low":13079.6,"count":59,"id":1603771200,"close":13103.3,"tradeTurnover":188461.9156,"open":13080.0},{"amount":5.058,"high":13121.3,"vol":5058,"low":13069.7,"count":44,"id":1603774800,"close":13073.6,"tradeTurnover":66201.3552,"open":13121.3},{"amount":9.106,"high":13149.0,"vol":9106,"low":13069.6,"count":107,"id":1603778400,"close":13103.4,"tradeTurnover":119104.8906,"open":13074.9},{"amount":73.95,"high":13169.8,"vol":73950,"low":12992.4,"count":305,"id":1603782000,"close":13130.0,"tradeTurnover":968195.155,"open":13103.3},{"amount":18.732,"high":13148.4,"vol":18732,"low":13044.0,"count":135,"id":1603785600,"close":13123.8,"tradeTurnover":245533.5448,"open":13135.1},{"amount":13.756,"high":13131.8,"vol":13756,"low":13075.7,"count":102,"id":1603789200,"close":13131.7,"tradeTurnover":180253.7708,"open":13115.5},{"amount":154.108,"high":13252.0,"vol":154108,"low":13063.4,"count":525,"id":1603792800,"close":13216.9,"tradeTurnover":2029983.656,"open":13134.8},{"amount":170.09,"high":13590.1,"vol":170090,"low":13213.5,"count":591,"id":1603796400,"close":13395.8,"tradeTurnover":2276279.742,"open":13218.8},{"amount":48.928,"high":13414.0,"vol":48928,"low":13331.7,"count":216,"id":1603800000,"close":13376.9,"tradeTurnover":654585.9108,"open":13395.9},{"amount":63.294,"high":13490.9,"vol":63294,"low":13329.8,"count":316,"id":1603803600,"close":13384.3,"tradeTurnover":848130.9212,"open":13376.5},{"amount":12.892,"high":13415.8,"vol":12892,"low":13344.8,"count":124,"id":1603807200,"close":13398.2,"tradeTurnover":172618.6864,"open":13392.6},{"amount":93.22,"high":13626.7,"vol":93220,"low":13398.2,"count":476,"id":1603810800,"close":13598.5,"tradeTurnover":1262695.5466,"open":13398.2},{"amount":85.45,"high":13639.9,"vol":85450,"low":13520.2,"count":435,"id":1603814400,"close":13639.9,"tradeTurnover":1161481.4136,"open":13595.8},{"amount":191.812,"high":13826.7,"vol":191812,"low":13589.0,"count":711,"id":1603818000,"close":13688.1,"tradeTurnover":2628428.3788,"open":13640.0},{"amount":65.434,"high":13745.0,"vol":65434,"low":13528.2,"count":410,"id":1603821600,"close":13630.1,"tradeTurnover":891541.8394,"open":13685.0},{"amount":5.788,"high":13659.8,"vol":5788,"low":13595.4,"count":65,"id":1603825200,"close":13637.1,"tradeTurnover":78836.2578,"open":13629.4},{"amount":163.104,"high":13805.1,"vol":163104,"low":13582.6,"count":537,"id":1603828800,"close":13616.6,"tradeTurnover":2234040.3544,"open":13644.4},{"amount":9.884,"high":13753.5,"vol":9884,"low":13609.8,"count":101,"id":1603832400,"close":13705.5,"tradeTurnover":135406.4752,"open":13609.8},{"amount":7.436,"high":13739.9,"vol":7436,"low":13658.2,"count":100,"id":1603836000,"close":13739.9,"tradeTurnover":101840.3508,"open":13705.4},{"amount":17.086,"high":13794.6,"vol":17086,"low":13582.6,"count":234,"id":1603839600,"close":13649.6,"tradeTurnover":233971.8448,"open":13739.9},{"amount":24.108,"high":13745.2,"vol":24108,"low":13618.8,"count":177,"id":1603843200,"close":13701.7,"tradeTurnover":330206.5694,"open":13645.9},{"amount":15.892,"high":13725.6,"vol":15892,"low":13647.9,"count":151,"id":1603846800,"close":13702.6,"tradeTurnover":217816.7008,"open":13702.1},{"amount":46.548,"high":13832.2,"vol":46548,"low":13680.2,"count":274,"id":1603850400,"close":13811.6,"tradeTurnover":640636.0352,"open":13701.7},{"amount":67.896,"high":13820.3,"vol":67896,"low":13717.5,"count":320,"id":1603854000,"close":13777.0,"tradeTurnover":935838.2238,"open":13818.5},{"amount":33.156,"high":13807.2,"vol":33156,"low":13710.0,"count":210,"id":1603857600,"close":13735.7,"tradeTurnover":455941.234,"open":13767.3},{"amount":32.076,"high":13753.9,"vol":32076,"low":13671.3,"count":198,"id":1603861200,"close":13715.8,"tradeTurnover":439612.64,"open":13735.5},{"amount":14.756,"high":13757.0,"vol":14756,"low":13694.9,"count":122,"id":1603864800,"close":13701.3,"tradeTurnover":202602.5164,"open":13715.9},{"amount":155.534,"high":13708.7,"vol":155534,"low":13550.0,"count":635,"id":1603868400,"close":13674.2,"tradeTurnover":2117935.0928,"open":13701.2},{"amount":29.846,"high":13691.7,"vol":29846,"low":13584.0,"count":240,"id":1603872000,"close":13691.7,"tradeTurnover":407073.1398,"open":13673.0},{"amount":104.542,"high":13707.5,"vol":104542,"low":13573.5,"count":377,"id":1603875600,"close":13587.1,"tradeTurnover":1425079.9344,"open":13689.3},{"amount":73.818,"high":13618.0,"vol":73818,"low":13504.7,"count":358,"id":1603879200,"close":13552.7,"tradeTurnover":1001666.0908,"open":13584.6},{"amount":176.544,"high":13565.4,"vol":176544,"low":13330.0,"count":1004,"id":1603882800,"close":13336.4,"tradeTurnover":2369166.1492,"open":13552.6},{"amount":289.73,"high":13385.0,"vol":289730,"low":13173.9,"count":968,"id":1603886400,"close":13300.3,"tradeTurnover":3846751.7166,"open":13331.5},{"amount":139.822,"high":13340.0,"vol":139822,"low":13122.9,"count":612,"id":1603890000,"close":13129.9,"tradeTurnover":1848876.932,"open":13300.2},{"amount":367.876,"high":13168.2,"vol":367876,"low":12915.9,"count":1168,"id":1603893600,"close":13082.2,"tradeTurnover":4802516.9818,"open":13123.4},{"amount":84.044,"high":13235.2,"vol":84044,"low":13052.3,"count":375,"id":1603897200,"close":13221.2,"tradeTurnover":1106883.1282,"open":13077.1},{"amount":29.566,"high":13218.7,"vol":29566,"low":13050.0,"count":244,"id":1603900800,"close":13145.1,"tradeTurnover":388697.4104,"open":13218.7},{"amount":53.336,"high":13204.9,"vol":53336,"low":13006.6,"count":299,"id":1603904400,"close":13176.7,"tradeTurnover":700385.2784,"open":13145.1},{"amount":34.164,"high":13219.6,"vol":34164,"low":13131.0,"count":218,"id":1603908000,"close":13196.5,"tradeTurnover":450210.5778,"open":13171.0},{"amount":22.158,"high":13237.4,"vol":22158,"low":13145.0,"count":185,"id":1603911600,"close":13154.9,"tradeTurnover":292020.0438,"open":13200.0},{"amount":4.548,"high":13211.8,"vol":4548,"low":13147.4,"count":75,"id":1603915200,"close":13198.1,"tradeTurnover":59991.1118,"open":13154.5},{"amount":3.52,"high":13196.5,"vol":3520,"low":13100.2,"count":68,"id":1603918800,"close":13190.1,"tradeTurnover":46175.428,"open":13193.5},{"amount":3.122,"high":13267.5,"vol":3122,"low":13185.4,"count":72,"id":1603922400,"close":13252.0,"tradeTurnover":41304.2018,"open":13185.4},{"amount":14.768,"high":13282.3,"vol":14768,"low":13235.9,"count":86,"id":1603926000,"close":13265.9,"tradeTurnover":195689.0764,"open":13242.1},{"amount":19.968,"high":13294.7,"vol":19968,"low":13237.4,"count":98,"id":1603929600,"close":13245.1,"tradeTurnover":264834.1944,"open":13253.9},{"amount":35.282,"high":13285.3,"vol":35282,"low":13166.3,"count":192,"id":1603933200,"close":13274.2,"tradeTurnover":465789.6302,"open":13244.6},{"amount":9.748,"high":13277.7,"vol":9748,"low":13212.2,"count":119,"id":1603936800,"close":13241.1,"tradeTurnover":129016.0684,"open":13275.9},{"amount":27.3,"high":13262.5,"vol":27300,"low":13174.6,"count":199,"id":1603940400,"close":13262.5,"tradeTurnover":360589.8982,"open":13237.1},{"amount":18.904,"high":13277.7,"vol":18904,"low":13229.5,"count":109,"id":1603944000,"close":13229.5,"tradeTurnover":250713.2812,"open":13269.1},{"amount":15.822,"high":13274.8,"vol":15822,"low":13228.5,"count":134,"id":1603947600,"close":13274.8,"tradeTurnover":209781.909,"open":13228.5},{"amount":91.246,"high":13323.0,"vol":91246,"low":13242.3,"count":294,"id":1603951200,"close":13255.0,"tradeTurnover":1211271.2788,"open":13274.8},{"amount":187.622,"high":13269.3,"vol":187622,"low":13123.1,"count":506,"id":1603954800,"close":13142.4,"tradeTurnover":2478299.7074,"open":13255.0},{"amount":69.532,"high":13182.4,"vol":69532,"low":13094.1,"count":226,"id":1603958400,"close":13124.8,"tradeTurnover":914157.2418,"open":13145.9},{"amount":23.184,"high":13197.1,"vol":23184,"low":13129.5,"count":141,"id":1603962000,"close":13183.7,"tradeTurnover":305485.9524,"open":13129.5},{"amount":121.146,"high":13187.5,"vol":121146,"low":13053.1,"count":442,"id":1603965600,"close":13105.2,"tradeTurnover":1590026.4416,"open":13184.8},{"amount":47.498,"high":13171.4,"vol":47498,"low":13060.1,"count":262,"id":1603969200,"close":13060.1,"tradeTurnover":623578.149,"open":13105.1},{"amount":126.552,"high":13145.8,"vol":126552,"low":12977.9,"count":481,"id":1603972800,"close":13131.8,"tradeTurnover":1652549.311,"open":13056.9},{"amount":100.482,"high":13237.2,"vol":100482,"low":13102.0,"count":325,"id":1603976400,"close":13230.0,"tradeTurnover":1326403.7206,"open":13131.7},{"amount":253.258,"high":13476.1,"vol":253258,"low":13231.0,"count":752,"id":1603980000,"close":13420.8,"tradeTurnover":3384941.438,"open":13231.0},{"amount":64.71,"high":13458.7,"vol":64710,"low":13358.7,"count":269,"id":1603983600,"close":13420.6,"tradeTurnover":869052.3804,"open":13416.0},{"amount":120.24,"high":13594.5,"vol":120240,"low":13391.8,"count":570,"id":1603987200,"close":13535.9,"tradeTurnover":1626567.8278,"open":13421.9}],"id":"","rep":"market.BTC-USDT.kline.60min","status":"ok"} +2024-01-18 11:12:59.840 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:39] - 请求 KLine 数据用户收到的原始数据:{"id":"","rep":"market.BTC-USDT.kline.60min","ts":1705547578749,"wsid":19750305,"status":"ok","data":[{"id":1603270800,"open":12198.0,"close":12196.7,"high":12300.0,"low":11715.8,"amount":0.276,"vol":276,"trade_turnover":3315.9104,"count":39},{"id":1603274400,"open":12196.7,"close":12277.9,"high":12289.9,"low":12111.0,"amount":0.198,"vol":198,"trade_turnover":2420.7728,"count":21},{"id":1603278000,"open":12111.0,"close":12000.0,"high":12277.9,"low":12000.0,"amount":0.012,"vol":12,"trade_turnover":145.2238,"count":5},{"id":1603281600,"open":12078.0,"close":12497.4,"high":12498.0,"low":12078.0,"amount":0.084,"vol":84,"trade_turnover":1040.0504,"count":12},{"id":1603285200,"open":12495.6,"close":12373.5,"high":12495.6,"low":12282.9,"amount":1.122,"vol":1122,"trade_turnover":13905.3124,"count":112},{"id":1603288800,"open":12412.9,"close":12689.9,"high":12807.6,"low":12358.1,"amount":5.29,"vol":5290,"trade_turnover":66852.128,"count":155},{"id":1603292400,"open":12692.8,"close":12701.9,"high":12778.7,"low":12573.2,"amount":1.174,"vol":1174,"trade_turnover":14907.367,"count":113},{"id":1603296000,"open":12679.7,"close":12835.9,"high":12920.9,"low":12624.8,"amount":1.156,"vol":1156,"trade_turnover":14802.449,"count":115},{"id":1603299600,"open":12848.3,"close":12754.2,"high":12908.3,"low":12687.5,"amount":1.12,"vol":1120,"trade_turnover":14345.7324,"count":115},{"id":1603303200,"open":12743.7,"close":12740.2,"high":12849.0,"low":12668.3,"amount":1.106,"vol":1106,"trade_turnover":14105.3504,"count":114},{"id":1603306800,"open":12729.5,"close":12650.3,"high":12843.1,"low":12597.2,"amount":1.032,"vol":1032,"trade_turnover":13125.4568,"count":112},{"id":1603310400,"open":12666.8,"close":12807.0,"high":12848.4,"low":12610.2,"amount":1.154,"vol":1154,"trade_turnover":14680.638,"count":116},{"id":1603314000,"open":12866.0,"close":12938.9,"high":13005.1,"low":12748.2,"amount":1.164,"vol":1164,"trade_turnover":14976.9366,"count":114},{"id":1603317600,"open":12921.0,"close":13122.0,"high":13211.2,"low":12865.7,"amount":1.174,"vol":1174,"trade_turnover":15285.2446,"count":114},{"id":1603321200,"open":13153.2,"close":12829.8,"high":13173.2,"low":12688.6,"amount":1.172,"vol":1172,"trade_turnover":15060.9938,"count":117},{"id":1603324800,"open":12793.1,"close":12885.9,"high":12988.1,"low":12764.4,"amount":1.17,"vol":1170,"trade_turnover":15046.2046,"count":117},{"id":1603328400,"open":12860.4,"close":12757.5,"high":12972.6,"low":12757.5,"amount":1.158,"vol":1158,"trade_turnover":14882.4656,"count":118},{"id":1603332000,"open":12824.1,"close":12788.8,"high":12848.0,"low":12729.0,"amount":1.124,"vol":1124,"trade_turnover":14368.7948,"count":115},{"id":1603335600,"open":12791.7,"close":12767.2,"high":12834.4,"low":12729.0,"amount":1.194,"vol":1194,"trade_turnover":15268.9298,"count":111},{"id":1603339200,"open":12729.0,"close":12762.2,"high":12778.3,"low":12729.0,"amount":1.152,"vol":1152,"trade_turnover":14695.4876,"count":115},{"id":1603342800,"open":12763.1,"close":12813.8,"high":12842.0,"low":12730.6,"amount":1.21,"vol":1210,"trade_turnover":15440.8162,"count":119},{"id":1603346400,"open":12795.0,"close":12729.1,"high":12795.0,"low":12728.0,"amount":1.188,"vol":1188,"trade_turnover":15128.0098,"count":123},{"id":1603350000,"open":12728.6,"close":12730.6,"high":12730.6,"low":12728.3,"amount":1.266,"vol":1266,"trade_turnover":16115.1306,"count":112},{"id":1603353600,"open":12730.3,"close":12770.1,"high":12921.5,"low":12729.9,"amount":1.35,"vol":1350,"trade_turnover":17233.7326,"count":127},{"id":1603357200,"open":12824.9,"close":12780.4,"high":12872.1,"low":12760.1,"amount":0.98,"vol":980,"trade_turnover":12553.9826,"count":99},{"id":1603360800,"open":12784.9,"close":12934.2,"high":13002.7,"low":12775.6,"amount":0.266,"vol":266,"trade_turnover":3415.023,"count":30},{"id":1603364400,"open":12977.0,"close":13045.0,"high":13057.0,"low":12886.6,"amount":1.004,"vol":1004,"trade_turnover":13020.8576,"count":117},{"id":1603368000,"open":12958.5,"close":12847.9,"high":12973.4,"low":12751.6,"amount":1.134,"vol":1134,"trade_turnover":14594.2752,"count":111},{"id":1603371600,"open":12882.7,"close":12931.0,"high":13000.8,"low":12743.0,"amount":1.152,"vol":1152,"trade_turnover":14877.7314,"count":114},{"id":1603375200,"open":12890.4,"close":12917.8,"high":12995.3,"low":12783.9,"amount":1.182,"vol":1182,"trade_turnover":15224.4716,"count":115},{"id":1603378800,"open":12918.8,"close":12953.0,"high":13031.2,"low":12817.9,"amount":1.176,"vol":1176,"trade_turnover":15197.208,"count":117},{"id":1603382400,"open":12923.1,"close":13055.6,"high":13100.2,"low":12865.6,"amount":1.146,"vol":1146,"trade_turnover":14851.9604,"count":119},{"id":1603386000,"open":12967.6,"close":13082.7,"high":13105.7,"low":12835.5,"amount":1.534,"vol":1534,"trade_turnover":19927.8288,"count":124},{"id":1603389600,"open":13020.4,"close":13016.4,"high":13115.0,"low":12938.7,"amount":1.268,"vol":1268,"trade_turnover":16505.4738,"count":117},{"id":1603393200,"open":13028.3,"close":12970.6,"high":13171.2,"low":12961.8,"amount":1.13,"vol":1130,"trade_turnover":14762.952,"count":112},{"id":1603396800,"open":13016.7,"close":13089.3,"high":13216.1,"low":12998.5,"amount":1.206,"vol":1206,"trade_turnover":15807.1226,"count":117},{"id":1603400400,"open":13136.0,"close":13092.0,"high":13203.7,"low":12932.9,"amount":1.332,"vol":1332,"trade_turnover":17423.4422,"count":114},{"id":1603404000,"open":13119.4,"close":13055.9,"high":13250.5,"low":12984.7,"amount":1.21,"vol":1210,"trade_turnover":15876.0632,"count":114},{"id":1603407600,"open":13059.4,"close":12890.4,"high":13126.5,"low":12857.2,"amount":1.286,"vol":1286,"trade_turnover":16688.422,"count":116},{"id":1603411200,"open":12929.7,"close":12892.2,"high":12994.0,"low":12751.6,"amount":1.502,"vol":1502,"trade_turnover":19331.1596,"count":131},{"id":1603414800,"open":12921.7,"close":12898.3,"high":13003.2,"low":12786.0,"amount":1.386,"vol":1386,"trade_turnover":17904.8902,"count":121},{"id":1603418400,"open":12951.6,"close":12975.1,"high":13054.0,"low":12800.7,"amount":1.416,"vol":1416,"trade_turnover":18306.6204,"count":122},{"id":1603422000,"open":12967.3,"close":12947.0,"high":13030.7,"low":12875.0,"amount":1.19,"vol":1190,"trade_turnover":15409.7984,"count":118},{"id":1603425600,"open":12925.2,"close":12852.0,"high":13047.3,"low":12832.8,"amount":1.022,"vol":1022,"trade_turnover":13214.4388,"count":127},{"id":1603429200,"open":12859.0,"close":12931.1,"high":12991.7,"low":12841.2,"amount":0.478,"vol":478,"trade_turnover":6180.2486,"count":118},{"id":1603432800,"open":12935.9,"close":12939.6,"high":13014.1,"low":12871.9,"amount":0.522,"vol":522,"trade_turnover":6759.0324,"count":132},{"id":1603436400,"open":12923.1,"close":12925.4,"high":12998.9,"low":12917.1,"amount":0.476,"vol":476,"trade_turnover":6163.3118,"count":118},{"id":1603440000,"open":12942.2,"close":12962.6,"high":13014.0,"low":12916.1,"amount":0.508,"vol":508,"trade_turnover":6585.3656,"count":122},{"id":1603443600,"open":12970.5,"close":12926.4,"high":13012.5,"low":12909.9,"amount":0.564,"vol":564,"trade_turnover":7308.8828,"count":124},{"id":1603447200,"open":13001.2,"close":13007.7,"high":13059.5,"low":12925.7,"amount":0.536,"vol":536,"trade_turnover":6957.8796,"count":124},{"id":1603450800,"open":13025.4,"close":12970.6,"high":13078.4,"low":12906.5,"amount":0.486,"vol":486,"trade_turnover":6326.1434,"count":122},{"id":1603454400,"open":12963.9,"close":12935.4,"high":13025.0,"low":12850.8,"amount":0.494,"vol":494,"trade_turnover":6396.0984,"count":117},{"id":1603458000,"open":12913.3,"close":12951.7,"high":13043.3,"low":12911.0,"amount":0.466,"vol":466,"trade_turnover":6049.1412,"count":117},{"id":1603461600,"open":12999.6,"close":12858.8,"high":13006.4,"low":12840.4,"amount":0.46,"vol":460,"trade_turnover":5941.815,"count":116},{"id":1603465200,"open":12885.7,"close":12881.9,"high":12932.9,"low":12826.5,"amount":0.492,"vol":492,"trade_turnover":6340.214,"count":117},{"id":1603468800,"open":12854.4,"close":12784.1,"high":12933.5,"low":12744.4,"amount":0.484,"vol":484,"trade_turnover":6205.4138,"count":123},{"id":1603472400,"open":12832.3,"close":12847.7,"high":12893.1,"low":12730.1,"amount":0.562,"vol":562,"trade_turnover":7218.9184,"count":152},{"id":1603476000,"open":12874.1,"close":12915.7,"high":12939.3,"low":12751.4,"amount":0.53,"vol":530,"trade_turnover":6825.7004,"count":128},{"id":1603479600,"open":12867.9,"close":12972.9,"high":12972.9,"low":12786.6,"amount":0.444,"vol":444,"trade_turnover":5727.7452,"count":117},{"id":1603483200,"open":12956.7,"close":12991.6,"high":13002.2,"low":12842.9,"amount":0.492,"vol":492,"trade_turnover":6375.1566,"count":116},{"id":1603486800,"open":13004.3,"close":12943.5,"high":13004.3,"low":12936.6,"amount":0.5,"vol":500,"trade_turnover":6485.468,"count":125},{"id":1603490400,"open":12923.6,"close":12989.2,"high":13010.3,"low":12884.7,"amount":0.492,"vol":492,"trade_turnover":6376.1492,"count":120},{"id":1603494000,"open":12974.9,"close":12884.6,"high":13024.4,"low":12884.6,"amount":0.51,"vol":510,"trade_turnover":6622.3406,"count":121},{"id":1603497600,"open":12973.7,"close":12953.9,"high":13018.3,"low":12811.1,"amount":0.488,"vol":488,"trade_turnover":6317.7938,"count":120},{"id":1603501200,"open":12927.5,"close":12934.2,"high":13018.1,"low":12872.8,"amount":0.482,"vol":482,"trade_turnover":6242.4178,"count":117},{"id":1603504800,"open":12971.9,"close":12989.1,"high":13003.9,"low":12903.3,"amount":0.484,"vol":484,"trade_turnover":6278.1756,"count":117},{"id":1603508400,"open":13000.1,"close":12975.9,"high":13013.4,"low":12938.3,"amount":0.474,"vol":474,"trade_turnover":6157.7096,"count":122},{"id":1603512000,"open":12989.7,"close":12963.3,"high":13009.4,"low":12905.5,"amount":0.526,"vol":526,"trade_turnover":6831.5658,"count":124},{"id":1603515600,"open":12910.5,"close":12989.7,"high":13041.8,"low":12875.3,"amount":0.522,"vol":522,"trade_turnover":6768.8994,"count":127},{"id":1603519200,"open":12994.7,"close":13003.6,"high":13058.1,"low":12908.8,"amount":0.49,"vol":490,"trade_turnover":6370.5714,"count":120},{"id":1603522800,"open":13011.9,"close":13004.2,"high":13037.8,"low":12981.7,"amount":0.478,"vol":478,"trade_turnover":6218.9722,"count":120},{"id":1603526400,"open":13003.0,"close":12998.2,"high":13030.6,"low":12899.4,"amount":0.52,"vol":520,"trade_turnover":6754.958,"count":124},{"id":1603530000,"open":12998.2,"close":12990.6,"high":13020.3,"low":12893.6,"amount":0.454,"vol":454,"trade_turnover":5891.0574,"count":115},{"id":1603533600,"open":12996.4,"close":13030.1,"high":13059.1,"low":12913.2,"amount":0.502,"vol":502,"trade_turnover":6525.9004,"count":124},{"id":1603537200,"open":12988.4,"close":13033.2,"high":13068.3,"low":12940.2,"amount":0.468,"vol":468,"trade_turnover":6091.0376,"count":119},{"id":1603540800,"open":13035.3,"close":13006.5,"high":13071.8,"low":12978.9,"amount":0.468,"vol":468,"trade_turnover":6102.5902,"count":123},{"id":1603544400,"open":13038.8,"close":12985.9,"high":13066.7,"low":12928.1,"amount":0.534,"vol":534,"trade_turnover":6950.4268,"count":123},{"id":1603548000,"open":12986.3,"close":13042.0,"high":13100.1,"low":12960.5,"amount":0.47,"vol":470,"trade_turnover":6124.2178,"count":100},{"id":1603551600,"open":13038.4,"close":13102.2,"high":13196.5,"low":13038.4,"amount":0.456,"vol":456,"trade_turnover":5989.6362,"count":120},{"id":1603555200,"open":13136.8,"close":13052.7,"high":13176.6,"low":12984.6,"amount":0.458,"vol":458,"trade_turnover":5976.331,"count":121},{"id":1603558800,"open":13006.2,"close":13177.8,"high":13177.8,"low":13003.2,"amount":0.452,"vol":452,"trade_turnover":5911.7058,"count":118},{"id":1603562400,"open":13127.7,"close":13080.8,"high":13170.7,"low":13023.0,"amount":0.468,"vol":468,"trade_turnover":6122.375,"count":119},{"id":1603566000,"open":13040.7,"close":13148.4,"high":13179.3,"low":13014.2,"amount":0.468,"vol":468,"trade_turnover":6126.4278,"count":120},{"id":1603569600,"open":13073.5,"close":13090.1,"high":13179.6,"low":12992.5,"amount":0.47,"vol":470,"trade_turnover":6151.4758,"count":119},{"id":1603573200,"open":13035.4,"close":12993.9,"high":13148.7,"low":12980.7,"amount":0.458,"vol":458,"trade_turnover":5981.071,"count":117},{"id":1603576800,"open":13040.7,"close":13041.1,"high":13112.1,"low":12975.6,"amount":0.478,"vol":478,"trade_turnover":6225.4216,"count":118},{"id":1603580400,"open":13012.6,"close":13184.3,"high":13184.3,"low":13009.3,"amount":0.472,"vol":472,"trade_turnover":6173.4244,"count":118},{"id":1603584000,"open":13080.8,"close":13154.3,"high":13170.4,"low":13007.7,"amount":0.46,"vol":460,"trade_turnover":6024.09,"count":115},{"id":1603587600,"open":13092.0,"close":13196.1,"high":13196.8,"low":13024.0,"amount":0.398,"vol":398,"trade_turnover":5217.5364,"count":102},{"id":1603591200,"open":13124.7,"close":13082.4,"high":13175.1,"low":13035.0,"amount":0.476,"vol":476,"trade_turnover":6228.6596,"count":120},{"id":1603594800,"open":13049.1,"close":13259.0,"high":13383.8,"low":13049.1,"amount":0.578,"vol":578,"trade_turnover":7629.3886,"count":137},{"id":1603598400,"open":13277.0,"close":13243.4,"high":13369.0,"low":13216.0,"amount":0.47,"vol":470,"trade_turnover":6247.955,"count":122},{"id":1603602000,"open":13285.3,"close":13017.3,"high":13353.3,"low":13010.1,"amount":0.61,"vol":610,"trade_turnover":8048.8598,"count":134},{"id":1603605600,"open":13022.5,"close":13060.3,"high":13105.7,"low":13018.2,"amount":0.486,"vol":486,"trade_turnover":6344.1474,"count":118},{"id":1603609200,"open":13048.5,"close":13078.1,"high":13112.1,"low":13022.0,"amount":0.464,"vol":464,"trade_turnover":6061.5416,"count":120},{"id":1603612800,"open":13077.2,"close":13046.0,"high":13091.0,"low":13017.2,"amount":0.464,"vol":464,"trade_turnover":6055.3734,"count":120},{"id":1603616400,"open":13065.1,"close":13040.8,"high":13084.0,"low":13014.2,"amount":0.478,"vol":478,"trade_turnover":6235.7882,"count":117},{"id":1603620000,"open":13047.1,"close":13028.5,"high":13064.2,"low":13010.2,"amount":0.478,"vol":478,"trade_turnover":6232.2428,"count":125},{"id":1603623600,"open":13061.5,"close":12897.6,"high":13061.5,"low":12852.9,"amount":0.534,"vol":534,"trade_turnover":6918.1226,"count":123},{"id":1603627200,"open":12908.3,"close":12964.3,"high":13069.7,"low":12893.2,"amount":0.444,"vol":444,"trade_turnover":5755.8712,"count":117},{"id":1603630800,"open":13001.3,"close":12949.3,"high":13071.9,"low":12891.8,"amount":0.498,"vol":498,"trade_turnover":6465.078,"count":119},{"id":1603634400,"open":12975.8,"close":12946.8,"high":13077.7,"low":12900.0,"amount":0.468,"vol":468,"trade_turnover":6075.4554,"count":116},{"id":1603638000,"open":12975.2,"close":12883.3,"high":13069.1,"low":12883.3,"amount":0.47,"vol":470,"trade_turnover":6097.1072,"count":119},{"id":1603641600,"open":12916.2,"close":12978.7,"high":13067.9,"low":12877.5,"amount":0.482,"vol":482,"trade_turnover":6256.4472,"count":118},{"id":1603645200,"open":13008.0,"close":13004.4,"high":13087.5,"low":12922.7,"amount":0.47,"vol":470,"trade_turnover":6108.3892,"count":117},{"id":1603648800,"open":12972.8,"close":12957.2,"high":13067.6,"low":12893.6,"amount":0.468,"vol":468,"trade_turnover":6079.1484,"count":118},{"id":1603652400,"open":12996.5,"close":13021.8,"high":13066.9,"low":12916.6,"amount":0.442,"vol":442,"trade_turnover":5746.5548,"count":118},{"id":1603656000,"open":12992.9,"close":12985.4,"high":13081.5,"low":12944.9,"amount":0.508,"vol":508,"trade_turnover":6616.9872,"count":120},{"id":1603659600,"open":12999.9,"close":13011.2,"high":13068.6,"low":12921.4,"amount":0.508,"vol":508,"trade_turnover":6614.816,"count":122},{"id":1603663200,"open":12979.6,"close":12959.4,"high":13073.8,"low":12911.9,"amount":0.486,"vol":486,"trade_turnover":6320.907,"count":121},{"id":1603666800,"open":12963.4,"close":13032.1,"high":13085.2,"low":12927.8,"amount":0.452,"vol":452,"trade_turnover":5878.6442,"count":113},{"id":1603670400,"open":12964.2,"close":13001.0,"high":13076.7,"low":12918.3,"amount":0.482,"vol":482,"trade_turnover":6263.698,"count":121},{"id":1603674000,"open":13040.0,"close":13053.7,"high":13096.4,"low":12991.2,"amount":0.478,"vol":478,"trade_turnover":6232.2328,"count":124},{"id":1603677600,"open":13060.6,"close":13064.4,"high":13185.7,"low":12985.1,"amount":0.488,"vol":488,"trade_turnover":6387.534,"count":121},{"id":1603681200,"open":13032.3,"close":13092.8,"high":13187.2,"low":12984.1,"amount":0.486,"vol":486,"trade_turnover":6369.0272,"count":135},{"id":1603684800,"open":13092.0,"close":13132.6,"high":13181.6,"low":12962.3,"amount":0.51,"vol":510,"trade_turnover":6679.829,"count":131},{"id":1603688400,"open":13129.2,"close":13092.1,"high":13205.3,"low":13025.3,"amount":0.506,"vol":506,"trade_turnover":6641.2128,"count":126},{"id":1603692000,"open":13121.8,"close":13071.4,"high":13188.1,"low":12989.8,"amount":1.616,"vol":1616,"trade_turnover":21170.8224,"count":141},{"id":1603695600,"open":13061.0,"close":13038.7,"high":13100.0,"low":12965.2,"amount":3.746,"vol":3746,"trade_turnover":48924.8902,"count":110},{"id":1603699200,"open":13030.9,"close":13039.3,"high":13102.0,"low":12852.8,"amount":8.966,"vol":8966,"trade_turnover":116525.5534,"count":173},{"id":1603702800,"open":13047.1,"close":13075.9,"high":13088.4,"low":13039.8,"amount":4.48,"vol":4480,"trade_turnover":58521.1714,"count":124},{"id":1603706400,"open":13072.1,"close":13100.0,"high":13100.0,"low":13060.2,"amount":4.272,"vol":4272,"trade_turnover":55895.9778,"count":130},{"id":1603710000,"open":13100.0,"close":13138.4,"high":13159.0,"low":13100.0,"amount":29.798,"vol":29798,"trade_turnover":391138.024,"count":230},{"id":1603713600,"open":13138.8,"close":13149.8,"high":13200.0,"low":13100.0,"amount":5.154,"vol":5154,"trade_turnover":67694.652,"count":188},{"id":1603717200,"open":13150.0,"close":13205.8,"high":13351.5,"low":13133.1,"amount":35.608,"vol":35608,"trade_turnover":472780.3394,"count":328},{"id":1603720800,"open":13203.0,"close":13166.1,"high":13280.0,"low":13144.1,"amount":31.748,"vol":31748,"trade_turnover":418744.5588,"count":235},{"id":1603724400,"open":13159.0,"close":12978.0,"high":13165.2,"low":12903.8,"amount":36.53,"vol":36530,"trade_turnover":476940.3296,"count":384},{"id":1603728000,"open":12965.0,"close":12869.6,"high":13069.8,"low":12850.5,"amount":35.018,"vol":35018,"trade_turnover":453288.918,"count":323},{"id":1603731600,"open":12879.2,"close":12873.8,"high":12941.5,"low":12583.9,"amount":92.628,"vol":92628,"trade_turnover":1185973.467,"count":560},{"id":1603735200,"open":12856.2,"close":12946.8,"high":12954.5,"low":12820.4,"amount":4.302,"vol":4302,"trade_turnover":55481.0054,"count":128},{"id":1603738800,"open":12945.6,"close":12953.4,"high":12953.5,"low":12914.1,"amount":13.83,"vol":13830,"trade_turnover":179112.1598,"count":118},{"id":1603742400,"open":12953.5,"close":12983.4,"high":13007.5,"low":12953.5,"amount":17.172,"vol":17172,"trade_turnover":223230.2122,"count":132},{"id":1603746000,"open":12983.1,"close":12993.8,"high":13007.5,"low":12982.7,"amount":3.212,"vol":3212,"trade_turnover":41767.8906,"count":59},{"id":1603749600,"open":13002.1,"close":13007.5,"high":13007.5,"low":12974.0,"amount":1.504,"vol":1504,"trade_turnover":19543.3568,"count":74},{"id":1603753200,"open":13007.5,"close":13033.7,"high":13061.2,"low":13007.5,"amount":3.454,"vol":3454,"trade_turnover":45001.601,"count":101},{"id":1603756800,"open":13029.2,"close":13067.1,"high":13105.0,"low":13028.3,"amount":8.784,"vol":8784,"trade_turnover":114871.8246,"count":98},{"id":1603760400,"open":13074.3,"close":13061.7,"high":13074.4,"low":13051.5,"amount":11.592,"vol":11592,"trade_turnover":151386.9038,"count":66},{"id":1603764000,"open":13061.7,"close":13049.7,"high":13097.6,"low":13040.1,"amount":19.298,"vol":19298,"trade_turnover":252061.019,"count":109},{"id":1603767600,"open":13057.6,"close":13070.4,"high":13080.0,"low":13057.1,"amount":22.992,"vol":22992,"trade_turnover":300453.9788,"count":69},{"id":1603771200,"open":13080.0,"close":13103.3,"high":13175.0,"low":13079.6,"amount":14.396,"vol":14396,"trade_turnover":188461.9156,"count":59},{"id":1603774800,"open":13121.3,"close":13073.6,"high":13121.3,"low":13069.7,"amount":5.058,"vol":5058,"trade_turnover":66201.3552,"count":44},{"id":1603778400,"open":13074.9,"close":13103.4,"high":13149.0,"low":13069.6,"amount":9.106,"vol":9106,"trade_turnover":119104.8906,"count":107},{"id":1603782000,"open":13103.3,"close":13130.0,"high":13169.8,"low":12992.4,"amount":73.95,"vol":73950,"trade_turnover":968195.155,"count":305},{"id":1603785600,"open":13135.1,"close":13123.8,"high":13148.4,"low":13044.0,"amount":18.732,"vol":18732,"trade_turnover":245533.5448,"count":135},{"id":1603789200,"open":13115.5,"close":13131.7,"high":13131.8,"low":13075.7,"amount":13.756,"vol":13756,"trade_turnover":180253.7708,"count":102},{"id":1603792800,"open":13134.8,"close":13216.9,"high":13252.0,"low":13063.4,"amount":154.108,"vol":154108,"trade_turnover":2029983.656,"count":525},{"id":1603796400,"open":13218.8,"close":13395.8,"high":13590.1,"low":13213.5,"amount":170.09,"vol":170090,"trade_turnover":2276279.742,"count":591},{"id":1603800000,"open":13395.9,"close":13376.9,"high":13414.0,"low":13331.7,"amount":48.928,"vol":48928,"trade_turnover":654585.9108,"count":216},{"id":1603803600,"open":13376.5,"close":13384.3,"high":13490.9,"low":13329.8,"amount":63.294,"vol":63294,"trade_turnover":848130.9212,"count":316},{"id":1603807200,"open":13392.6,"close":13398.2,"high":13415.8,"low":13344.8,"amount":12.892,"vol":12892,"trade_turnover":172618.6864,"count":124},{"id":1603810800,"open":13398.2,"close":13598.5,"high":13626.7,"low":13398.2,"amount":93.22,"vol":93220,"trade_turnover":1262695.5466,"count":476},{"id":1603814400,"open":13595.8,"close":13639.9,"high":13639.9,"low":13520.2,"amount":85.45,"vol":85450,"trade_turnover":1161481.4136,"count":435},{"id":1603818000,"open":13640.0,"close":13688.1,"high":13826.7,"low":13589.0,"amount":191.812,"vol":191812,"trade_turnover":2628428.3788,"count":711},{"id":1603821600,"open":13685.0,"close":13630.1,"high":13745.0,"low":13528.2,"amount":65.434,"vol":65434,"trade_turnover":891541.8394,"count":410},{"id":1603825200,"open":13629.4,"close":13637.1,"high":13659.8,"low":13595.4,"amount":5.788,"vol":5788,"trade_turnover":78836.2578,"count":65},{"id":1603828800,"open":13644.4,"close":13616.6,"high":13805.1,"low":13582.6,"amount":163.104,"vol":163104,"trade_turnover":2234040.3544,"count":537},{"id":1603832400,"open":13609.8,"close":13705.5,"high":13753.5,"low":13609.8,"amount":9.884,"vol":9884,"trade_turnover":135406.4752,"count":101},{"id":1603836000,"open":13705.4,"close":13739.9,"high":13739.9,"low":13658.2,"amount":7.436,"vol":7436,"trade_turnover":101840.3508,"count":100},{"id":1603839600,"open":13739.9,"close":13649.6,"high":13794.6,"low":13582.6,"amount":17.086,"vol":17086,"trade_turnover":233971.8448,"count":234},{"id":1603843200,"open":13645.9,"close":13701.7,"high":13745.2,"low":13618.8,"amount":24.108,"vol":24108,"trade_turnover":330206.5694,"count":177},{"id":1603846800,"open":13702.1,"close":13702.6,"high":13725.6,"low":13647.9,"amount":15.892,"vol":15892,"trade_turnover":217816.7008,"count":151},{"id":1603850400,"open":13701.7,"close":13811.6,"high":13832.2,"low":13680.2,"amount":46.548,"vol":46548,"trade_turnover":640636.0352,"count":274},{"id":1603854000,"open":13818.5,"close":13777.0,"high":13820.3,"low":13717.5,"amount":67.896,"vol":67896,"trade_turnover":935838.2238,"count":320},{"id":1603857600,"open":13767.3,"close":13735.7,"high":13807.2,"low":13710.0,"amount":33.156,"vol":33156,"trade_turnover":455941.234,"count":210},{"id":1603861200,"open":13735.5,"close":13715.8,"high":13753.9,"low":13671.3,"amount":32.076,"vol":32076,"trade_turnover":439612.64,"count":198},{"id":1603864800,"open":13715.9,"close":13701.3,"high":13757.0,"low":13694.9,"amount":14.756,"vol":14756,"trade_turnover":202602.5164,"count":122},{"id":1603868400,"open":13701.2,"close":13674.2,"high":13708.7,"low":13550.0,"amount":155.534,"vol":155534,"trade_turnover":2117935.0928,"count":635},{"id":1603872000,"open":13673.0,"close":13691.7,"high":13691.7,"low":13584.0,"amount":29.846,"vol":29846,"trade_turnover":407073.1398,"count":240},{"id":1603875600,"open":13689.3,"close":13587.1,"high":13707.5,"low":13573.5,"amount":104.542,"vol":104542,"trade_turnover":1425079.9344,"count":377},{"id":1603879200,"open":13584.6,"close":13552.7,"high":13618.0,"low":13504.7,"amount":73.818,"vol":73818,"trade_turnover":1001666.0908,"count":358},{"id":1603882800,"open":13552.6,"close":13336.4,"high":13565.4,"low":13330.0,"amount":176.544,"vol":176544,"trade_turnover":2369166.1492,"count":1004},{"id":1603886400,"open":13331.5,"close":13300.3,"high":13385.0,"low":13173.9,"amount":289.73,"vol":289730,"trade_turnover":3846751.7166,"count":968},{"id":1603890000,"open":13300.2,"close":13129.9,"high":13340.0,"low":13122.9,"amount":139.822,"vol":139822,"trade_turnover":1848876.932,"count":612},{"id":1603893600,"open":13123.4,"close":13082.2,"high":13168.2,"low":12915.9,"amount":367.876,"vol":367876,"trade_turnover":4802516.9818,"count":1168},{"id":1603897200,"open":13077.1,"close":13221.2,"high":13235.2,"low":13052.3,"amount":84.044,"vol":84044,"trade_turnover":1106883.1282,"count":375},{"id":1603900800,"open":13218.7,"close":13145.1,"high":13218.7,"low":13050.0,"amount":29.566,"vol":29566,"trade_turnover":388697.4104,"count":244},{"id":1603904400,"open":13145.1,"close":13176.7,"high":13204.9,"low":13006.6,"amount":53.336,"vol":53336,"trade_turnover":700385.2784,"count":299},{"id":1603908000,"open":13171.0,"close":13196.5,"high":13219.6,"low":13131.0,"amount":34.164,"vol":34164,"trade_turnover":450210.5778,"count":218},{"id":1603911600,"open":13200.0,"close":13154.9,"high":13237.4,"low":13145.0,"amount":22.158,"vol":22158,"trade_turnover":292020.0438,"count":185},{"id":1603915200,"open":13154.5,"close":13198.1,"high":13211.8,"low":13147.4,"amount":4.548,"vol":4548,"trade_turnover":59991.1118,"count":75},{"id":1603918800,"open":13193.5,"close":13190.1,"high":13196.5,"low":13100.2,"amount":3.52,"vol":3520,"trade_turnover":46175.428,"count":68},{"id":1603922400,"open":13185.4,"close":13252.0,"high":13267.5,"low":13185.4,"amount":3.122,"vol":3122,"trade_turnover":41304.2018,"count":72},{"id":1603926000,"open":13242.1,"close":13265.9,"high":13282.3,"low":13235.9,"amount":14.768,"vol":14768,"trade_turnover":195689.0764,"count":86},{"id":1603929600,"open":13253.9,"close":13245.1,"high":13294.7,"low":13237.4,"amount":19.968,"vol":19968,"trade_turnover":264834.1944,"count":98},{"id":1603933200,"open":13244.6,"close":13274.2,"high":13285.3,"low":13166.3,"amount":35.282,"vol":35282,"trade_turnover":465789.6302,"count":192},{"id":1603936800,"open":13275.9,"close":13241.1,"high":13277.7,"low":13212.2,"amount":9.748,"vol":9748,"trade_turnover":129016.0684,"count":119},{"id":1603940400,"open":13237.1,"close":13262.5,"high":13262.5,"low":13174.6,"amount":27.3,"vol":27300,"trade_turnover":360589.8982,"count":199},{"id":1603944000,"open":13269.1,"close":13229.5,"high":13277.7,"low":13229.5,"amount":18.904,"vol":18904,"trade_turnover":250713.2812,"count":109},{"id":1603947600,"open":13228.5,"close":13274.8,"high":13274.8,"low":13228.5,"amount":15.822,"vol":15822,"trade_turnover":209781.909,"count":134},{"id":1603951200,"open":13274.8,"close":13255.0,"high":13323.0,"low":13242.3,"amount":91.246,"vol":91246,"trade_turnover":1211271.2788,"count":294},{"id":1603954800,"open":13255.0,"close":13142.4,"high":13269.3,"low":13123.1,"amount":187.622,"vol":187622,"trade_turnover":2478299.7074,"count":506},{"id":1603958400,"open":13145.9,"close":13124.8,"high":13182.4,"low":13094.1,"amount":69.532,"vol":69532,"trade_turnover":914157.2418,"count":226},{"id":1603962000,"open":13129.5,"close":13183.7,"high":13197.1,"low":13129.5,"amount":23.184,"vol":23184,"trade_turnover":305485.9524,"count":141},{"id":1603965600,"open":13184.8,"close":13105.2,"high":13187.5,"low":13053.1,"amount":121.146,"vol":121146,"trade_turnover":1590026.4416,"count":442},{"id":1603969200,"open":13105.1,"close":13060.1,"high":13171.4,"low":13060.1,"amount":47.498,"vol":47498,"trade_turnover":623578.149,"count":262},{"id":1603972800,"open":13056.9,"close":13131.8,"high":13145.8,"low":12977.9,"amount":126.552,"vol":126552,"trade_turnover":1652549.311,"count":481},{"id":1603976400,"open":13131.7,"close":13230.0,"high":13237.2,"low":13102.0,"amount":100.482,"vol":100482,"trade_turnover":1326403.7206,"count":325},{"id":1603980000,"open":13231.0,"close":13420.8,"high":13476.1,"low":13231.0,"amount":253.258,"vol":253258,"trade_turnover":3384941.438,"count":752},{"id":1603983600,"open":13416.0,"close":13420.6,"high":13458.7,"low":13358.7,"amount":64.71,"vol":64710,"trade_turnover":869052.3804,"count":269},{"id":1603987200,"open":13421.9,"close":13535.9,"high":13594.5,"low":13391.8,"amount":120.24,"vol":120240,"trade_turnover":1626567.8278,"count":570}]} +2024-01-18 11:12:59.842 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:41] - 请求 KLine 数据解析之后的数据为:{"wsid":19750305,"data":[{"amount":0.276,"high":12300.0,"vol":276,"low":11715.8,"count":39,"id":1603270800,"close":12196.7,"tradeTurnover":3315.9104,"open":12198.0},{"amount":0.198,"high":12289.9,"vol":198,"low":12111.0,"count":21,"id":1603274400,"close":12277.9,"tradeTurnover":2420.7728,"open":12196.7},{"amount":0.012,"high":12277.9,"vol":12,"low":12000.0,"count":5,"id":1603278000,"close":12000.0,"tradeTurnover":145.2238,"open":12111.0},{"amount":0.084,"high":12498.0,"vol":84,"low":12078.0,"count":12,"id":1603281600,"close":12497.4,"tradeTurnover":1040.0504,"open":12078.0},{"amount":1.122,"high":12495.6,"vol":1122,"low":12282.9,"count":112,"id":1603285200,"close":12373.5,"tradeTurnover":13905.3124,"open":12495.6},{"amount":5.29,"high":12807.6,"vol":5290,"low":12358.1,"count":155,"id":1603288800,"close":12689.9,"tradeTurnover":66852.128,"open":12412.9},{"amount":1.174,"high":12778.7,"vol":1174,"low":12573.2,"count":113,"id":1603292400,"close":12701.9,"tradeTurnover":14907.367,"open":12692.8},{"amount":1.156,"high":12920.9,"vol":1156,"low":12624.8,"count":115,"id":1603296000,"close":12835.9,"tradeTurnover":14802.449,"open":12679.7},{"amount":1.12,"high":12908.3,"vol":1120,"low":12687.5,"count":115,"id":1603299600,"close":12754.2,"tradeTurnover":14345.7324,"open":12848.3},{"amount":1.106,"high":12849.0,"vol":1106,"low":12668.3,"count":114,"id":1603303200,"close":12740.2,"tradeTurnover":14105.3504,"open":12743.7},{"amount":1.032,"high":12843.1,"vol":1032,"low":12597.2,"count":112,"id":1603306800,"close":12650.3,"tradeTurnover":13125.4568,"open":12729.5},{"amount":1.154,"high":12848.4,"vol":1154,"low":12610.2,"count":116,"id":1603310400,"close":12807.0,"tradeTurnover":14680.638,"open":12666.8},{"amount":1.164,"high":13005.1,"vol":1164,"low":12748.2,"count":114,"id":1603314000,"close":12938.9,"tradeTurnover":14976.9366,"open":12866.0},{"amount":1.174,"high":13211.2,"vol":1174,"low":12865.7,"count":114,"id":1603317600,"close":13122.0,"tradeTurnover":15285.2446,"open":12921.0},{"amount":1.172,"high":13173.2,"vol":1172,"low":12688.6,"count":117,"id":1603321200,"close":12829.8,"tradeTurnover":15060.9938,"open":13153.2},{"amount":1.17,"high":12988.1,"vol":1170,"low":12764.4,"count":117,"id":1603324800,"close":12885.9,"tradeTurnover":15046.2046,"open":12793.1},{"amount":1.158,"high":12972.6,"vol":1158,"low":12757.5,"count":118,"id":1603328400,"close":12757.5,"tradeTurnover":14882.4656,"open":12860.4},{"amount":1.124,"high":12848.0,"vol":1124,"low":12729.0,"count":115,"id":1603332000,"close":12788.8,"tradeTurnover":14368.7948,"open":12824.1},{"amount":1.194,"high":12834.4,"vol":1194,"low":12729.0,"count":111,"id":1603335600,"close":12767.2,"tradeTurnover":15268.9298,"open":12791.7},{"amount":1.152,"high":12778.3,"vol":1152,"low":12729.0,"count":115,"id":1603339200,"close":12762.2,"tradeTurnover":14695.4876,"open":12729.0},{"amount":1.21,"high":12842.0,"vol":1210,"low":12730.6,"count":119,"id":1603342800,"close":12813.8,"tradeTurnover":15440.8162,"open":12763.1},{"amount":1.188,"high":12795.0,"vol":1188,"low":12728.0,"count":123,"id":1603346400,"close":12729.1,"tradeTurnover":15128.0098,"open":12795.0},{"amount":1.266,"high":12730.6,"vol":1266,"low":12728.3,"count":112,"id":1603350000,"close":12730.6,"tradeTurnover":16115.1306,"open":12728.6},{"amount":1.35,"high":12921.5,"vol":1350,"low":12729.9,"count":127,"id":1603353600,"close":12770.1,"tradeTurnover":17233.7326,"open":12730.3},{"amount":0.98,"high":12872.1,"vol":980,"low":12760.1,"count":99,"id":1603357200,"close":12780.4,"tradeTurnover":12553.9826,"open":12824.9},{"amount":0.266,"high":13002.7,"vol":266,"low":12775.6,"count":30,"id":1603360800,"close":12934.2,"tradeTurnover":3415.023,"open":12784.9},{"amount":1.004,"high":13057.0,"vol":1004,"low":12886.6,"count":117,"id":1603364400,"close":13045.0,"tradeTurnover":13020.8576,"open":12977.0},{"amount":1.134,"high":12973.4,"vol":1134,"low":12751.6,"count":111,"id":1603368000,"close":12847.9,"tradeTurnover":14594.2752,"open":12958.5},{"amount":1.152,"high":13000.8,"vol":1152,"low":12743.0,"count":114,"id":1603371600,"close":12931.0,"tradeTurnover":14877.7314,"open":12882.7},{"amount":1.182,"high":12995.3,"vol":1182,"low":12783.9,"count":115,"id":1603375200,"close":12917.8,"tradeTurnover":15224.4716,"open":12890.4},{"amount":1.176,"high":13031.2,"vol":1176,"low":12817.9,"count":117,"id":1603378800,"close":12953.0,"tradeTurnover":15197.208,"open":12918.8},{"amount":1.146,"high":13100.2,"vol":1146,"low":12865.6,"count":119,"id":1603382400,"close":13055.6,"tradeTurnover":14851.9604,"open":12923.1},{"amount":1.534,"high":13105.7,"vol":1534,"low":12835.5,"count":124,"id":1603386000,"close":13082.7,"tradeTurnover":19927.8288,"open":12967.6},{"amount":1.268,"high":13115.0,"vol":1268,"low":12938.7,"count":117,"id":1603389600,"close":13016.4,"tradeTurnover":16505.4738,"open":13020.4},{"amount":1.13,"high":13171.2,"vol":1130,"low":12961.8,"count":112,"id":1603393200,"close":12970.6,"tradeTurnover":14762.952,"open":13028.3},{"amount":1.206,"high":13216.1,"vol":1206,"low":12998.5,"count":117,"id":1603396800,"close":13089.3,"tradeTurnover":15807.1226,"open":13016.7},{"amount":1.332,"high":13203.7,"vol":1332,"low":12932.9,"count":114,"id":1603400400,"close":13092.0,"tradeTurnover":17423.4422,"open":13136.0},{"amount":1.21,"high":13250.5,"vol":1210,"low":12984.7,"count":114,"id":1603404000,"close":13055.9,"tradeTurnover":15876.0632,"open":13119.4},{"amount":1.286,"high":13126.5,"vol":1286,"low":12857.2,"count":116,"id":1603407600,"close":12890.4,"tradeTurnover":16688.422,"open":13059.4},{"amount":1.502,"high":12994.0,"vol":1502,"low":12751.6,"count":131,"id":1603411200,"close":12892.2,"tradeTurnover":19331.1596,"open":12929.7},{"amount":1.386,"high":13003.2,"vol":1386,"low":12786.0,"count":121,"id":1603414800,"close":12898.3,"tradeTurnover":17904.8902,"open":12921.7},{"amount":1.416,"high":13054.0,"vol":1416,"low":12800.7,"count":122,"id":1603418400,"close":12975.1,"tradeTurnover":18306.6204,"open":12951.6},{"amount":1.19,"high":13030.7,"vol":1190,"low":12875.0,"count":118,"id":1603422000,"close":12947.0,"tradeTurnover":15409.7984,"open":12967.3},{"amount":1.022,"high":13047.3,"vol":1022,"low":12832.8,"count":127,"id":1603425600,"close":12852.0,"tradeTurnover":13214.4388,"open":12925.2},{"amount":0.478,"high":12991.7,"vol":478,"low":12841.2,"count":118,"id":1603429200,"close":12931.1,"tradeTurnover":6180.2486,"open":12859.0},{"amount":0.522,"high":13014.1,"vol":522,"low":12871.9,"count":132,"id":1603432800,"close":12939.6,"tradeTurnover":6759.0324,"open":12935.9},{"amount":0.476,"high":12998.9,"vol":476,"low":12917.1,"count":118,"id":1603436400,"close":12925.4,"tradeTurnover":6163.3118,"open":12923.1},{"amount":0.508,"high":13014.0,"vol":508,"low":12916.1,"count":122,"id":1603440000,"close":12962.6,"tradeTurnover":6585.3656,"open":12942.2},{"amount":0.564,"high":13012.5,"vol":564,"low":12909.9,"count":124,"id":1603443600,"close":12926.4,"tradeTurnover":7308.8828,"open":12970.5},{"amount":0.536,"high":13059.5,"vol":536,"low":12925.7,"count":124,"id":1603447200,"close":13007.7,"tradeTurnover":6957.8796,"open":13001.2},{"amount":0.486,"high":13078.4,"vol":486,"low":12906.5,"count":122,"id":1603450800,"close":12970.6,"tradeTurnover":6326.1434,"open":13025.4},{"amount":0.494,"high":13025.0,"vol":494,"low":12850.8,"count":117,"id":1603454400,"close":12935.4,"tradeTurnover":6396.0984,"open":12963.9},{"amount":0.466,"high":13043.3,"vol":466,"low":12911.0,"count":117,"id":1603458000,"close":12951.7,"tradeTurnover":6049.1412,"open":12913.3},{"amount":0.46,"high":13006.4,"vol":460,"low":12840.4,"count":116,"id":1603461600,"close":12858.8,"tradeTurnover":5941.815,"open":12999.6},{"amount":0.492,"high":12932.9,"vol":492,"low":12826.5,"count":117,"id":1603465200,"close":12881.9,"tradeTurnover":6340.214,"open":12885.7},{"amount":0.484,"high":12933.5,"vol":484,"low":12744.4,"count":123,"id":1603468800,"close":12784.1,"tradeTurnover":6205.4138,"open":12854.4},{"amount":0.562,"high":12893.1,"vol":562,"low":12730.1,"count":152,"id":1603472400,"close":12847.7,"tradeTurnover":7218.9184,"open":12832.3},{"amount":0.53,"high":12939.3,"vol":530,"low":12751.4,"count":128,"id":1603476000,"close":12915.7,"tradeTurnover":6825.7004,"open":12874.1},{"amount":0.444,"high":12972.9,"vol":444,"low":12786.6,"count":117,"id":1603479600,"close":12972.9,"tradeTurnover":5727.7452,"open":12867.9},{"amount":0.492,"high":13002.2,"vol":492,"low":12842.9,"count":116,"id":1603483200,"close":12991.6,"tradeTurnover":6375.1566,"open":12956.7},{"amount":0.5,"high":13004.3,"vol":500,"low":12936.6,"count":125,"id":1603486800,"close":12943.5,"tradeTurnover":6485.468,"open":13004.3},{"amount":0.492,"high":13010.3,"vol":492,"low":12884.7,"count":120,"id":1603490400,"close":12989.2,"tradeTurnover":6376.1492,"open":12923.6},{"amount":0.51,"high":13024.4,"vol":510,"low":12884.6,"count":121,"id":1603494000,"close":12884.6,"tradeTurnover":6622.3406,"open":12974.9},{"amount":0.488,"high":13018.3,"vol":488,"low":12811.1,"count":120,"id":1603497600,"close":12953.9,"tradeTurnover":6317.7938,"open":12973.7},{"amount":0.482,"high":13018.1,"vol":482,"low":12872.8,"count":117,"id":1603501200,"close":12934.2,"tradeTurnover":6242.4178,"open":12927.5},{"amount":0.484,"high":13003.9,"vol":484,"low":12903.3,"count":117,"id":1603504800,"close":12989.1,"tradeTurnover":6278.1756,"open":12971.9},{"amount":0.474,"high":13013.4,"vol":474,"low":12938.3,"count":122,"id":1603508400,"close":12975.9,"tradeTurnover":6157.7096,"open":13000.1},{"amount":0.526,"high":13009.4,"vol":526,"low":12905.5,"count":124,"id":1603512000,"close":12963.3,"tradeTurnover":6831.5658,"open":12989.7},{"amount":0.522,"high":13041.8,"vol":522,"low":12875.3,"count":127,"id":1603515600,"close":12989.7,"tradeTurnover":6768.8994,"open":12910.5},{"amount":0.49,"high":13058.1,"vol":490,"low":12908.8,"count":120,"id":1603519200,"close":13003.6,"tradeTurnover":6370.5714,"open":12994.7},{"amount":0.478,"high":13037.8,"vol":478,"low":12981.7,"count":120,"id":1603522800,"close":13004.2,"tradeTurnover":6218.9722,"open":13011.9},{"amount":0.52,"high":13030.6,"vol":520,"low":12899.4,"count":124,"id":1603526400,"close":12998.2,"tradeTurnover":6754.958,"open":13003.0},{"amount":0.454,"high":13020.3,"vol":454,"low":12893.6,"count":115,"id":1603530000,"close":12990.6,"tradeTurnover":5891.0574,"open":12998.2},{"amount":0.502,"high":13059.1,"vol":502,"low":12913.2,"count":124,"id":1603533600,"close":13030.1,"tradeTurnover":6525.9004,"open":12996.4},{"amount":0.468,"high":13068.3,"vol":468,"low":12940.2,"count":119,"id":1603537200,"close":13033.2,"tradeTurnover":6091.0376,"open":12988.4},{"amount":0.468,"high":13071.8,"vol":468,"low":12978.9,"count":123,"id":1603540800,"close":13006.5,"tradeTurnover":6102.5902,"open":13035.3},{"amount":0.534,"high":13066.7,"vol":534,"low":12928.1,"count":123,"id":1603544400,"close":12985.9,"tradeTurnover":6950.4268,"open":13038.8},{"amount":0.47,"high":13100.1,"vol":470,"low":12960.5,"count":100,"id":1603548000,"close":13042.0,"tradeTurnover":6124.2178,"open":12986.3},{"amount":0.456,"high":13196.5,"vol":456,"low":13038.4,"count":120,"id":1603551600,"close":13102.2,"tradeTurnover":5989.6362,"open":13038.4},{"amount":0.458,"high":13176.6,"vol":458,"low":12984.6,"count":121,"id":1603555200,"close":13052.7,"tradeTurnover":5976.331,"open":13136.8},{"amount":0.452,"high":13177.8,"vol":452,"low":13003.2,"count":118,"id":1603558800,"close":13177.8,"tradeTurnover":5911.7058,"open":13006.2},{"amount":0.468,"high":13170.7,"vol":468,"low":13023.0,"count":119,"id":1603562400,"close":13080.8,"tradeTurnover":6122.375,"open":13127.7},{"amount":0.468,"high":13179.3,"vol":468,"low":13014.2,"count":120,"id":1603566000,"close":13148.4,"tradeTurnover":6126.4278,"open":13040.7},{"amount":0.47,"high":13179.6,"vol":470,"low":12992.5,"count":119,"id":1603569600,"close":13090.1,"tradeTurnover":6151.4758,"open":13073.5},{"amount":0.458,"high":13148.7,"vol":458,"low":12980.7,"count":117,"id":1603573200,"close":12993.9,"tradeTurnover":5981.071,"open":13035.4},{"amount":0.478,"high":13112.1,"vol":478,"low":12975.6,"count":118,"id":1603576800,"close":13041.1,"tradeTurnover":6225.4216,"open":13040.7},{"amount":0.472,"high":13184.3,"vol":472,"low":13009.3,"count":118,"id":1603580400,"close":13184.3,"tradeTurnover":6173.4244,"open":13012.6},{"amount":0.46,"high":13170.4,"vol":460,"low":13007.7,"count":115,"id":1603584000,"close":13154.3,"tradeTurnover":6024.09,"open":13080.8},{"amount":0.398,"high":13196.8,"vol":398,"low":13024.0,"count":102,"id":1603587600,"close":13196.1,"tradeTurnover":5217.5364,"open":13092.0},{"amount":0.476,"high":13175.1,"vol":476,"low":13035.0,"count":120,"id":1603591200,"close":13082.4,"tradeTurnover":6228.6596,"open":13124.7},{"amount":0.578,"high":13383.8,"vol":578,"low":13049.1,"count":137,"id":1603594800,"close":13259.0,"tradeTurnover":7629.3886,"open":13049.1},{"amount":0.47,"high":13369.0,"vol":470,"low":13216.0,"count":122,"id":1603598400,"close":13243.4,"tradeTurnover":6247.955,"open":13277.0},{"amount":0.61,"high":13353.3,"vol":610,"low":13010.1,"count":134,"id":1603602000,"close":13017.3,"tradeTurnover":8048.8598,"open":13285.3},{"amount":0.486,"high":13105.7,"vol":486,"low":13018.2,"count":118,"id":1603605600,"close":13060.3,"tradeTurnover":6344.1474,"open":13022.5},{"amount":0.464,"high":13112.1,"vol":464,"low":13022.0,"count":120,"id":1603609200,"close":13078.1,"tradeTurnover":6061.5416,"open":13048.5},{"amount":0.464,"high":13091.0,"vol":464,"low":13017.2,"count":120,"id":1603612800,"close":13046.0,"tradeTurnover":6055.3734,"open":13077.2},{"amount":0.478,"high":13084.0,"vol":478,"low":13014.2,"count":117,"id":1603616400,"close":13040.8,"tradeTurnover":6235.7882,"open":13065.1},{"amount":0.478,"high":13064.2,"vol":478,"low":13010.2,"count":125,"id":1603620000,"close":13028.5,"tradeTurnover":6232.2428,"open":13047.1},{"amount":0.534,"high":13061.5,"vol":534,"low":12852.9,"count":123,"id":1603623600,"close":12897.6,"tradeTurnover":6918.1226,"open":13061.5},{"amount":0.444,"high":13069.7,"vol":444,"low":12893.2,"count":117,"id":1603627200,"close":12964.3,"tradeTurnover":5755.8712,"open":12908.3},{"amount":0.498,"high":13071.9,"vol":498,"low":12891.8,"count":119,"id":1603630800,"close":12949.3,"tradeTurnover":6465.078,"open":13001.3},{"amount":0.468,"high":13077.7,"vol":468,"low":12900.0,"count":116,"id":1603634400,"close":12946.8,"tradeTurnover":6075.4554,"open":12975.8},{"amount":0.47,"high":13069.1,"vol":470,"low":12883.3,"count":119,"id":1603638000,"close":12883.3,"tradeTurnover":6097.1072,"open":12975.2},{"amount":0.482,"high":13067.9,"vol":482,"low":12877.5,"count":118,"id":1603641600,"close":12978.7,"tradeTurnover":6256.4472,"open":12916.2},{"amount":0.47,"high":13087.5,"vol":470,"low":12922.7,"count":117,"id":1603645200,"close":13004.4,"tradeTurnover":6108.3892,"open":13008.0},{"amount":0.468,"high":13067.6,"vol":468,"low":12893.6,"count":118,"id":1603648800,"close":12957.2,"tradeTurnover":6079.1484,"open":12972.8},{"amount":0.442,"high":13066.9,"vol":442,"low":12916.6,"count":118,"id":1603652400,"close":13021.8,"tradeTurnover":5746.5548,"open":12996.5},{"amount":0.508,"high":13081.5,"vol":508,"low":12944.9,"count":120,"id":1603656000,"close":12985.4,"tradeTurnover":6616.9872,"open":12992.9},{"amount":0.508,"high":13068.6,"vol":508,"low":12921.4,"count":122,"id":1603659600,"close":13011.2,"tradeTurnover":6614.816,"open":12999.9},{"amount":0.486,"high":13073.8,"vol":486,"low":12911.9,"count":121,"id":1603663200,"close":12959.4,"tradeTurnover":6320.907,"open":12979.6},{"amount":0.452,"high":13085.2,"vol":452,"low":12927.8,"count":113,"id":1603666800,"close":13032.1,"tradeTurnover":5878.6442,"open":12963.4},{"amount":0.482,"high":13076.7,"vol":482,"low":12918.3,"count":121,"id":1603670400,"close":13001.0,"tradeTurnover":6263.698,"open":12964.2},{"amount":0.478,"high":13096.4,"vol":478,"low":12991.2,"count":124,"id":1603674000,"close":13053.7,"tradeTurnover":6232.2328,"open":13040.0},{"amount":0.488,"high":13185.7,"vol":488,"low":12985.1,"count":121,"id":1603677600,"close":13064.4,"tradeTurnover":6387.534,"open":13060.6},{"amount":0.486,"high":13187.2,"vol":486,"low":12984.1,"count":135,"id":1603681200,"close":13092.8,"tradeTurnover":6369.0272,"open":13032.3},{"amount":0.51,"high":13181.6,"vol":510,"low":12962.3,"count":131,"id":1603684800,"close":13132.6,"tradeTurnover":6679.829,"open":13092.0},{"amount":0.506,"high":13205.3,"vol":506,"low":13025.3,"count":126,"id":1603688400,"close":13092.1,"tradeTurnover":6641.2128,"open":13129.2},{"amount":1.616,"high":13188.1,"vol":1616,"low":12989.8,"count":141,"id":1603692000,"close":13071.4,"tradeTurnover":21170.8224,"open":13121.8},{"amount":3.746,"high":13100.0,"vol":3746,"low":12965.2,"count":110,"id":1603695600,"close":13038.7,"tradeTurnover":48924.8902,"open":13061.0},{"amount":8.966,"high":13102.0,"vol":8966,"low":12852.8,"count":173,"id":1603699200,"close":13039.3,"tradeTurnover":116525.5534,"open":13030.9},{"amount":4.48,"high":13088.4,"vol":4480,"low":13039.8,"count":124,"id":1603702800,"close":13075.9,"tradeTurnover":58521.1714,"open":13047.1},{"amount":4.272,"high":13100.0,"vol":4272,"low":13060.2,"count":130,"id":1603706400,"close":13100.0,"tradeTurnover":55895.9778,"open":13072.1},{"amount":29.798,"high":13159.0,"vol":29798,"low":13100.0,"count":230,"id":1603710000,"close":13138.4,"tradeTurnover":391138.024,"open":13100.0},{"amount":5.154,"high":13200.0,"vol":5154,"low":13100.0,"count":188,"id":1603713600,"close":13149.8,"tradeTurnover":67694.652,"open":13138.8},{"amount":35.608,"high":13351.5,"vol":35608,"low":13133.1,"count":328,"id":1603717200,"close":13205.8,"tradeTurnover":472780.3394,"open":13150.0},{"amount":31.748,"high":13280.0,"vol":31748,"low":13144.1,"count":235,"id":1603720800,"close":13166.1,"tradeTurnover":418744.5588,"open":13203.0},{"amount":36.53,"high":13165.2,"vol":36530,"low":12903.8,"count":384,"id":1603724400,"close":12978.0,"tradeTurnover":476940.3296,"open":13159.0},{"amount":35.018,"high":13069.8,"vol":35018,"low":12850.5,"count":323,"id":1603728000,"close":12869.6,"tradeTurnover":453288.918,"open":12965.0},{"amount":92.628,"high":12941.5,"vol":92628,"low":12583.9,"count":560,"id":1603731600,"close":12873.8,"tradeTurnover":1185973.467,"open":12879.2},{"amount":4.302,"high":12954.5,"vol":4302,"low":12820.4,"count":128,"id":1603735200,"close":12946.8,"tradeTurnover":55481.0054,"open":12856.2},{"amount":13.83,"high":12953.5,"vol":13830,"low":12914.1,"count":118,"id":1603738800,"close":12953.4,"tradeTurnover":179112.1598,"open":12945.6},{"amount":17.172,"high":13007.5,"vol":17172,"low":12953.5,"count":132,"id":1603742400,"close":12983.4,"tradeTurnover":223230.2122,"open":12953.5},{"amount":3.212,"high":13007.5,"vol":3212,"low":12982.7,"count":59,"id":1603746000,"close":12993.8,"tradeTurnover":41767.8906,"open":12983.1},{"amount":1.504,"high":13007.5,"vol":1504,"low":12974.0,"count":74,"id":1603749600,"close":13007.5,"tradeTurnover":19543.3568,"open":13002.1},{"amount":3.454,"high":13061.2,"vol":3454,"low":13007.5,"count":101,"id":1603753200,"close":13033.7,"tradeTurnover":45001.601,"open":13007.5},{"amount":8.784,"high":13105.0,"vol":8784,"low":13028.3,"count":98,"id":1603756800,"close":13067.1,"tradeTurnover":114871.8246,"open":13029.2},{"amount":11.592,"high":13074.4,"vol":11592,"low":13051.5,"count":66,"id":1603760400,"close":13061.7,"tradeTurnover":151386.9038,"open":13074.3},{"amount":19.298,"high":13097.6,"vol":19298,"low":13040.1,"count":109,"id":1603764000,"close":13049.7,"tradeTurnover":252061.019,"open":13061.7},{"amount":22.992,"high":13080.0,"vol":22992,"low":13057.1,"count":69,"id":1603767600,"close":13070.4,"tradeTurnover":300453.9788,"open":13057.6},{"amount":14.396,"high":13175.0,"vol":14396,"low":13079.6,"count":59,"id":1603771200,"close":13103.3,"tradeTurnover":188461.9156,"open":13080.0},{"amount":5.058,"high":13121.3,"vol":5058,"low":13069.7,"count":44,"id":1603774800,"close":13073.6,"tradeTurnover":66201.3552,"open":13121.3},{"amount":9.106,"high":13149.0,"vol":9106,"low":13069.6,"count":107,"id":1603778400,"close":13103.4,"tradeTurnover":119104.8906,"open":13074.9},{"amount":73.95,"high":13169.8,"vol":73950,"low":12992.4,"count":305,"id":1603782000,"close":13130.0,"tradeTurnover":968195.155,"open":13103.3},{"amount":18.732,"high":13148.4,"vol":18732,"low":13044.0,"count":135,"id":1603785600,"close":13123.8,"tradeTurnover":245533.5448,"open":13135.1},{"amount":13.756,"high":13131.8,"vol":13756,"low":13075.7,"count":102,"id":1603789200,"close":13131.7,"tradeTurnover":180253.7708,"open":13115.5},{"amount":154.108,"high":13252.0,"vol":154108,"low":13063.4,"count":525,"id":1603792800,"close":13216.9,"tradeTurnover":2029983.656,"open":13134.8},{"amount":170.09,"high":13590.1,"vol":170090,"low":13213.5,"count":591,"id":1603796400,"close":13395.8,"tradeTurnover":2276279.742,"open":13218.8},{"amount":48.928,"high":13414.0,"vol":48928,"low":13331.7,"count":216,"id":1603800000,"close":13376.9,"tradeTurnover":654585.9108,"open":13395.9},{"amount":63.294,"high":13490.9,"vol":63294,"low":13329.8,"count":316,"id":1603803600,"close":13384.3,"tradeTurnover":848130.9212,"open":13376.5},{"amount":12.892,"high":13415.8,"vol":12892,"low":13344.8,"count":124,"id":1603807200,"close":13398.2,"tradeTurnover":172618.6864,"open":13392.6},{"amount":93.22,"high":13626.7,"vol":93220,"low":13398.2,"count":476,"id":1603810800,"close":13598.5,"tradeTurnover":1262695.5466,"open":13398.2},{"amount":85.45,"high":13639.9,"vol":85450,"low":13520.2,"count":435,"id":1603814400,"close":13639.9,"tradeTurnover":1161481.4136,"open":13595.8},{"amount":191.812,"high":13826.7,"vol":191812,"low":13589.0,"count":711,"id":1603818000,"close":13688.1,"tradeTurnover":2628428.3788,"open":13640.0},{"amount":65.434,"high":13745.0,"vol":65434,"low":13528.2,"count":410,"id":1603821600,"close":13630.1,"tradeTurnover":891541.8394,"open":13685.0},{"amount":5.788,"high":13659.8,"vol":5788,"low":13595.4,"count":65,"id":1603825200,"close":13637.1,"tradeTurnover":78836.2578,"open":13629.4},{"amount":163.104,"high":13805.1,"vol":163104,"low":13582.6,"count":537,"id":1603828800,"close":13616.6,"tradeTurnover":2234040.3544,"open":13644.4},{"amount":9.884,"high":13753.5,"vol":9884,"low":13609.8,"count":101,"id":1603832400,"close":13705.5,"tradeTurnover":135406.4752,"open":13609.8},{"amount":7.436,"high":13739.9,"vol":7436,"low":13658.2,"count":100,"id":1603836000,"close":13739.9,"tradeTurnover":101840.3508,"open":13705.4},{"amount":17.086,"high":13794.6,"vol":17086,"low":13582.6,"count":234,"id":1603839600,"close":13649.6,"tradeTurnover":233971.8448,"open":13739.9},{"amount":24.108,"high":13745.2,"vol":24108,"low":13618.8,"count":177,"id":1603843200,"close":13701.7,"tradeTurnover":330206.5694,"open":13645.9},{"amount":15.892,"high":13725.6,"vol":15892,"low":13647.9,"count":151,"id":1603846800,"close":13702.6,"tradeTurnover":217816.7008,"open":13702.1},{"amount":46.548,"high":13832.2,"vol":46548,"low":13680.2,"count":274,"id":1603850400,"close":13811.6,"tradeTurnover":640636.0352,"open":13701.7},{"amount":67.896,"high":13820.3,"vol":67896,"low":13717.5,"count":320,"id":1603854000,"close":13777.0,"tradeTurnover":935838.2238,"open":13818.5},{"amount":33.156,"high":13807.2,"vol":33156,"low":13710.0,"count":210,"id":1603857600,"close":13735.7,"tradeTurnover":455941.234,"open":13767.3},{"amount":32.076,"high":13753.9,"vol":32076,"low":13671.3,"count":198,"id":1603861200,"close":13715.8,"tradeTurnover":439612.64,"open":13735.5},{"amount":14.756,"high":13757.0,"vol":14756,"low":13694.9,"count":122,"id":1603864800,"close":13701.3,"tradeTurnover":202602.5164,"open":13715.9},{"amount":155.534,"high":13708.7,"vol":155534,"low":13550.0,"count":635,"id":1603868400,"close":13674.2,"tradeTurnover":2117935.0928,"open":13701.2},{"amount":29.846,"high":13691.7,"vol":29846,"low":13584.0,"count":240,"id":1603872000,"close":13691.7,"tradeTurnover":407073.1398,"open":13673.0},{"amount":104.542,"high":13707.5,"vol":104542,"low":13573.5,"count":377,"id":1603875600,"close":13587.1,"tradeTurnover":1425079.9344,"open":13689.3},{"amount":73.818,"high":13618.0,"vol":73818,"low":13504.7,"count":358,"id":1603879200,"close":13552.7,"tradeTurnover":1001666.0908,"open":13584.6},{"amount":176.544,"high":13565.4,"vol":176544,"low":13330.0,"count":1004,"id":1603882800,"close":13336.4,"tradeTurnover":2369166.1492,"open":13552.6},{"amount":289.73,"high":13385.0,"vol":289730,"low":13173.9,"count":968,"id":1603886400,"close":13300.3,"tradeTurnover":3846751.7166,"open":13331.5},{"amount":139.822,"high":13340.0,"vol":139822,"low":13122.9,"count":612,"id":1603890000,"close":13129.9,"tradeTurnover":1848876.932,"open":13300.2},{"amount":367.876,"high":13168.2,"vol":367876,"low":12915.9,"count":1168,"id":1603893600,"close":13082.2,"tradeTurnover":4802516.9818,"open":13123.4},{"amount":84.044,"high":13235.2,"vol":84044,"low":13052.3,"count":375,"id":1603897200,"close":13221.2,"tradeTurnover":1106883.1282,"open":13077.1},{"amount":29.566,"high":13218.7,"vol":29566,"low":13050.0,"count":244,"id":1603900800,"close":13145.1,"tradeTurnover":388697.4104,"open":13218.7},{"amount":53.336,"high":13204.9,"vol":53336,"low":13006.6,"count":299,"id":1603904400,"close":13176.7,"tradeTurnover":700385.2784,"open":13145.1},{"amount":34.164,"high":13219.6,"vol":34164,"low":13131.0,"count":218,"id":1603908000,"close":13196.5,"tradeTurnover":450210.5778,"open":13171.0},{"amount":22.158,"high":13237.4,"vol":22158,"low":13145.0,"count":185,"id":1603911600,"close":13154.9,"tradeTurnover":292020.0438,"open":13200.0},{"amount":4.548,"high":13211.8,"vol":4548,"low":13147.4,"count":75,"id":1603915200,"close":13198.1,"tradeTurnover":59991.1118,"open":13154.5},{"amount":3.52,"high":13196.5,"vol":3520,"low":13100.2,"count":68,"id":1603918800,"close":13190.1,"tradeTurnover":46175.428,"open":13193.5},{"amount":3.122,"high":13267.5,"vol":3122,"low":13185.4,"count":72,"id":1603922400,"close":13252.0,"tradeTurnover":41304.2018,"open":13185.4},{"amount":14.768,"high":13282.3,"vol":14768,"low":13235.9,"count":86,"id":1603926000,"close":13265.9,"tradeTurnover":195689.0764,"open":13242.1},{"amount":19.968,"high":13294.7,"vol":19968,"low":13237.4,"count":98,"id":1603929600,"close":13245.1,"tradeTurnover":264834.1944,"open":13253.9},{"amount":35.282,"high":13285.3,"vol":35282,"low":13166.3,"count":192,"id":1603933200,"close":13274.2,"tradeTurnover":465789.6302,"open":13244.6},{"amount":9.748,"high":13277.7,"vol":9748,"low":13212.2,"count":119,"id":1603936800,"close":13241.1,"tradeTurnover":129016.0684,"open":13275.9},{"amount":27.3,"high":13262.5,"vol":27300,"low":13174.6,"count":199,"id":1603940400,"close":13262.5,"tradeTurnover":360589.8982,"open":13237.1},{"amount":18.904,"high":13277.7,"vol":18904,"low":13229.5,"count":109,"id":1603944000,"close":13229.5,"tradeTurnover":250713.2812,"open":13269.1},{"amount":15.822,"high":13274.8,"vol":15822,"low":13228.5,"count":134,"id":1603947600,"close":13274.8,"tradeTurnover":209781.909,"open":13228.5},{"amount":91.246,"high":13323.0,"vol":91246,"low":13242.3,"count":294,"id":1603951200,"close":13255.0,"tradeTurnover":1211271.2788,"open":13274.8},{"amount":187.622,"high":13269.3,"vol":187622,"low":13123.1,"count":506,"id":1603954800,"close":13142.4,"tradeTurnover":2478299.7074,"open":13255.0},{"amount":69.532,"high":13182.4,"vol":69532,"low":13094.1,"count":226,"id":1603958400,"close":13124.8,"tradeTurnover":914157.2418,"open":13145.9},{"amount":23.184,"high":13197.1,"vol":23184,"low":13129.5,"count":141,"id":1603962000,"close":13183.7,"tradeTurnover":305485.9524,"open":13129.5},{"amount":121.146,"high":13187.5,"vol":121146,"low":13053.1,"count":442,"id":1603965600,"close":13105.2,"tradeTurnover":1590026.4416,"open":13184.8},{"amount":47.498,"high":13171.4,"vol":47498,"low":13060.1,"count":262,"id":1603969200,"close":13060.1,"tradeTurnover":623578.149,"open":13105.1},{"amount":126.552,"high":13145.8,"vol":126552,"low":12977.9,"count":481,"id":1603972800,"close":13131.8,"tradeTurnover":1652549.311,"open":13056.9},{"amount":100.482,"high":13237.2,"vol":100482,"low":13102.0,"count":325,"id":1603976400,"close":13230.0,"tradeTurnover":1326403.7206,"open":13131.7},{"amount":253.258,"high":13476.1,"vol":253258,"low":13231.0,"count":752,"id":1603980000,"close":13420.8,"tradeTurnover":3384941.438,"open":13231.0},{"amount":64.71,"high":13458.7,"vol":64710,"low":13358.7,"count":269,"id":1603983600,"close":13420.6,"tradeTurnover":869052.3804,"open":13416.0},{"amount":120.24,"high":13594.5,"vol":120240,"low":13391.8,"count":570,"id":1603987200,"close":13535.9,"tradeTurnover":1626567.8278,"open":13421.9}],"id":"","rep":"market.BTC-USDT.kline.60min","status":"ok"} +2024-01-18 11:13:00.159 [DEBUG] [WebSocketConnectReadThread-12] [com.huobi.wss.handle.WssMarketReqHandle.dealPing:129] - 发送pong:{"pong":1705547580159} +2024-01-18 11:13:00.851 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:39] - 请求 KLine 数据用户收到的原始数据:{"id":"","rep":"market.BTC-USDT.kline.60min","ts":1705547579760,"wsid":19750305,"status":"ok","data":[{"id":1603270800,"open":12198.0,"close":12196.7,"high":12300.0,"low":11715.8,"amount":0.276,"vol":276,"trade_turnover":3315.9104,"count":39},{"id":1603274400,"open":12196.7,"close":12277.9,"high":12289.9,"low":12111.0,"amount":0.198,"vol":198,"trade_turnover":2420.7728,"count":21},{"id":1603278000,"open":12111.0,"close":12000.0,"high":12277.9,"low":12000.0,"amount":0.012,"vol":12,"trade_turnover":145.2238,"count":5},{"id":1603281600,"open":12078.0,"close":12497.4,"high":12498.0,"low":12078.0,"amount":0.084,"vol":84,"trade_turnover":1040.0504,"count":12},{"id":1603285200,"open":12495.6,"close":12373.5,"high":12495.6,"low":12282.9,"amount":1.122,"vol":1122,"trade_turnover":13905.3124,"count":112},{"id":1603288800,"open":12412.9,"close":12689.9,"high":12807.6,"low":12358.1,"amount":5.29,"vol":5290,"trade_turnover":66852.128,"count":155},{"id":1603292400,"open":12692.8,"close":12701.9,"high":12778.7,"low":12573.2,"amount":1.174,"vol":1174,"trade_turnover":14907.367,"count":113},{"id":1603296000,"open":12679.7,"close":12835.9,"high":12920.9,"low":12624.8,"amount":1.156,"vol":1156,"trade_turnover":14802.449,"count":115},{"id":1603299600,"open":12848.3,"close":12754.2,"high":12908.3,"low":12687.5,"amount":1.12,"vol":1120,"trade_turnover":14345.7324,"count":115},{"id":1603303200,"open":12743.7,"close":12740.2,"high":12849.0,"low":12668.3,"amount":1.106,"vol":1106,"trade_turnover":14105.3504,"count":114},{"id":1603306800,"open":12729.5,"close":12650.3,"high":12843.1,"low":12597.2,"amount":1.032,"vol":1032,"trade_turnover":13125.4568,"count":112},{"id":1603310400,"open":12666.8,"close":12807.0,"high":12848.4,"low":12610.2,"amount":1.154,"vol":1154,"trade_turnover":14680.638,"count":116},{"id":1603314000,"open":12866.0,"close":12938.9,"high":13005.1,"low":12748.2,"amount":1.164,"vol":1164,"trade_turnover":14976.9366,"count":114},{"id":1603317600,"open":12921.0,"close":13122.0,"high":13211.2,"low":12865.7,"amount":1.174,"vol":1174,"trade_turnover":15285.2446,"count":114},{"id":1603321200,"open":13153.2,"close":12829.8,"high":13173.2,"low":12688.6,"amount":1.172,"vol":1172,"trade_turnover":15060.9938,"count":117},{"id":1603324800,"open":12793.1,"close":12885.9,"high":12988.1,"low":12764.4,"amount":1.17,"vol":1170,"trade_turnover":15046.2046,"count":117},{"id":1603328400,"open":12860.4,"close":12757.5,"high":12972.6,"low":12757.5,"amount":1.158,"vol":1158,"trade_turnover":14882.4656,"count":118},{"id":1603332000,"open":12824.1,"close":12788.8,"high":12848.0,"low":12729.0,"amount":1.124,"vol":1124,"trade_turnover":14368.7948,"count":115},{"id":1603335600,"open":12791.7,"close":12767.2,"high":12834.4,"low":12729.0,"amount":1.194,"vol":1194,"trade_turnover":15268.9298,"count":111},{"id":1603339200,"open":12729.0,"close":12762.2,"high":12778.3,"low":12729.0,"amount":1.152,"vol":1152,"trade_turnover":14695.4876,"count":115},{"id":1603342800,"open":12763.1,"close":12813.8,"high":12842.0,"low":12730.6,"amount":1.21,"vol":1210,"trade_turnover":15440.8162,"count":119},{"id":1603346400,"open":12795.0,"close":12729.1,"high":12795.0,"low":12728.0,"amount":1.188,"vol":1188,"trade_turnover":15128.0098,"count":123},{"id":1603350000,"open":12728.6,"close":12730.6,"high":12730.6,"low":12728.3,"amount":1.266,"vol":1266,"trade_turnover":16115.1306,"count":112},{"id":1603353600,"open":12730.3,"close":12770.1,"high":12921.5,"low":12729.9,"amount":1.35,"vol":1350,"trade_turnover":17233.7326,"count":127},{"id":1603357200,"open":12824.9,"close":12780.4,"high":12872.1,"low":12760.1,"amount":0.98,"vol":980,"trade_turnover":12553.9826,"count":99},{"id":1603360800,"open":12784.9,"close":12934.2,"high":13002.7,"low":12775.6,"amount":0.266,"vol":266,"trade_turnover":3415.023,"count":30},{"id":1603364400,"open":12977.0,"close":13045.0,"high":13057.0,"low":12886.6,"amount":1.004,"vol":1004,"trade_turnover":13020.8576,"count":117},{"id":1603368000,"open":12958.5,"close":12847.9,"high":12973.4,"low":12751.6,"amount":1.134,"vol":1134,"trade_turnover":14594.2752,"count":111},{"id":1603371600,"open":12882.7,"close":12931.0,"high":13000.8,"low":12743.0,"amount":1.152,"vol":1152,"trade_turnover":14877.7314,"count":114},{"id":1603375200,"open":12890.4,"close":12917.8,"high":12995.3,"low":12783.9,"amount":1.182,"vol":1182,"trade_turnover":15224.4716,"count":115},{"id":1603378800,"open":12918.8,"close":12953.0,"high":13031.2,"low":12817.9,"amount":1.176,"vol":1176,"trade_turnover":15197.208,"count":117},{"id":1603382400,"open":12923.1,"close":13055.6,"high":13100.2,"low":12865.6,"amount":1.146,"vol":1146,"trade_turnover":14851.9604,"count":119},{"id":1603386000,"open":12967.6,"close":13082.7,"high":13105.7,"low":12835.5,"amount":1.534,"vol":1534,"trade_turnover":19927.8288,"count":124},{"id":1603389600,"open":13020.4,"close":13016.4,"high":13115.0,"low":12938.7,"amount":1.268,"vol":1268,"trade_turnover":16505.4738,"count":117},{"id":1603393200,"open":13028.3,"close":12970.6,"high":13171.2,"low":12961.8,"amount":1.13,"vol":1130,"trade_turnover":14762.952,"count":112},{"id":1603396800,"open":13016.7,"close":13089.3,"high":13216.1,"low":12998.5,"amount":1.206,"vol":1206,"trade_turnover":15807.1226,"count":117},{"id":1603400400,"open":13136.0,"close":13092.0,"high":13203.7,"low":12932.9,"amount":1.332,"vol":1332,"trade_turnover":17423.4422,"count":114},{"id":1603404000,"open":13119.4,"close":13055.9,"high":13250.5,"low":12984.7,"amount":1.21,"vol":1210,"trade_turnover":15876.0632,"count":114},{"id":1603407600,"open":13059.4,"close":12890.4,"high":13126.5,"low":12857.2,"amount":1.286,"vol":1286,"trade_turnover":16688.422,"count":116},{"id":1603411200,"open":12929.7,"close":12892.2,"high":12994.0,"low":12751.6,"amount":1.502,"vol":1502,"trade_turnover":19331.1596,"count":131},{"id":1603414800,"open":12921.7,"close":12898.3,"high":13003.2,"low":12786.0,"amount":1.386,"vol":1386,"trade_turnover":17904.8902,"count":121},{"id":1603418400,"open":12951.6,"close":12975.1,"high":13054.0,"low":12800.7,"amount":1.416,"vol":1416,"trade_turnover":18306.6204,"count":122},{"id":1603422000,"open":12967.3,"close":12947.0,"high":13030.7,"low":12875.0,"amount":1.19,"vol":1190,"trade_turnover":15409.7984,"count":118},{"id":1603425600,"open":12925.2,"close":12852.0,"high":13047.3,"low":12832.8,"amount":1.022,"vol":1022,"trade_turnover":13214.4388,"count":127},{"id":1603429200,"open":12859.0,"close":12931.1,"high":12991.7,"low":12841.2,"amount":0.478,"vol":478,"trade_turnover":6180.2486,"count":118},{"id":1603432800,"open":12935.9,"close":12939.6,"high":13014.1,"low":12871.9,"amount":0.522,"vol":522,"trade_turnover":6759.0324,"count":132},{"id":1603436400,"open":12923.1,"close":12925.4,"high":12998.9,"low":12917.1,"amount":0.476,"vol":476,"trade_turnover":6163.3118,"count":118},{"id":1603440000,"open":12942.2,"close":12962.6,"high":13014.0,"low":12916.1,"amount":0.508,"vol":508,"trade_turnover":6585.3656,"count":122},{"id":1603443600,"open":12970.5,"close":12926.4,"high":13012.5,"low":12909.9,"amount":0.564,"vol":564,"trade_turnover":7308.8828,"count":124},{"id":1603447200,"open":13001.2,"close":13007.7,"high":13059.5,"low":12925.7,"amount":0.536,"vol":536,"trade_turnover":6957.8796,"count":124},{"id":1603450800,"open":13025.4,"close":12970.6,"high":13078.4,"low":12906.5,"amount":0.486,"vol":486,"trade_turnover":6326.1434,"count":122},{"id":1603454400,"open":12963.9,"close":12935.4,"high":13025.0,"low":12850.8,"amount":0.494,"vol":494,"trade_turnover":6396.0984,"count":117},{"id":1603458000,"open":12913.3,"close":12951.7,"high":13043.3,"low":12911.0,"amount":0.466,"vol":466,"trade_turnover":6049.1412,"count":117},{"id":1603461600,"open":12999.6,"close":12858.8,"high":13006.4,"low":12840.4,"amount":0.46,"vol":460,"trade_turnover":5941.815,"count":116},{"id":1603465200,"open":12885.7,"close":12881.9,"high":12932.9,"low":12826.5,"amount":0.492,"vol":492,"trade_turnover":6340.214,"count":117},{"id":1603468800,"open":12854.4,"close":12784.1,"high":12933.5,"low":12744.4,"amount":0.484,"vol":484,"trade_turnover":6205.4138,"count":123},{"id":1603472400,"open":12832.3,"close":12847.7,"high":12893.1,"low":12730.1,"amount":0.562,"vol":562,"trade_turnover":7218.9184,"count":152},{"id":1603476000,"open":12874.1,"close":12915.7,"high":12939.3,"low":12751.4,"amount":0.53,"vol":530,"trade_turnover":6825.7004,"count":128},{"id":1603479600,"open":12867.9,"close":12972.9,"high":12972.9,"low":12786.6,"amount":0.444,"vol":444,"trade_turnover":5727.7452,"count":117},{"id":1603483200,"open":12956.7,"close":12991.6,"high":13002.2,"low":12842.9,"amount":0.492,"vol":492,"trade_turnover":6375.1566,"count":116},{"id":1603486800,"open":13004.3,"close":12943.5,"high":13004.3,"low":12936.6,"amount":0.5,"vol":500,"trade_turnover":6485.468,"count":125},{"id":1603490400,"open":12923.6,"close":12989.2,"high":13010.3,"low":12884.7,"amount":0.492,"vol":492,"trade_turnover":6376.1492,"count":120},{"id":1603494000,"open":12974.9,"close":12884.6,"high":13024.4,"low":12884.6,"amount":0.51,"vol":510,"trade_turnover":6622.3406,"count":121},{"id":1603497600,"open":12973.7,"close":12953.9,"high":13018.3,"low":12811.1,"amount":0.488,"vol":488,"trade_turnover":6317.7938,"count":120},{"id":1603501200,"open":12927.5,"close":12934.2,"high":13018.1,"low":12872.8,"amount":0.482,"vol":482,"trade_turnover":6242.4178,"count":117},{"id":1603504800,"open":12971.9,"close":12989.1,"high":13003.9,"low":12903.3,"amount":0.484,"vol":484,"trade_turnover":6278.1756,"count":117},{"id":1603508400,"open":13000.1,"close":12975.9,"high":13013.4,"low":12938.3,"amount":0.474,"vol":474,"trade_turnover":6157.7096,"count":122},{"id":1603512000,"open":12989.7,"close":12963.3,"high":13009.4,"low":12905.5,"amount":0.526,"vol":526,"trade_turnover":6831.5658,"count":124},{"id":1603515600,"open":12910.5,"close":12989.7,"high":13041.8,"low":12875.3,"amount":0.522,"vol":522,"trade_turnover":6768.8994,"count":127},{"id":1603519200,"open":12994.7,"close":13003.6,"high":13058.1,"low":12908.8,"amount":0.49,"vol":490,"trade_turnover":6370.5714,"count":120},{"id":1603522800,"open":13011.9,"close":13004.2,"high":13037.8,"low":12981.7,"amount":0.478,"vol":478,"trade_turnover":6218.9722,"count":120},{"id":1603526400,"open":13003.0,"close":12998.2,"high":13030.6,"low":12899.4,"amount":0.52,"vol":520,"trade_turnover":6754.958,"count":124},{"id":1603530000,"open":12998.2,"close":12990.6,"high":13020.3,"low":12893.6,"amount":0.454,"vol":454,"trade_turnover":5891.0574,"count":115},{"id":1603533600,"open":12996.4,"close":13030.1,"high":13059.1,"low":12913.2,"amount":0.502,"vol":502,"trade_turnover":6525.9004,"count":124},{"id":1603537200,"open":12988.4,"close":13033.2,"high":13068.3,"low":12940.2,"amount":0.468,"vol":468,"trade_turnover":6091.0376,"count":119},{"id":1603540800,"open":13035.3,"close":13006.5,"high":13071.8,"low":12978.9,"amount":0.468,"vol":468,"trade_turnover":6102.5902,"count":123},{"id":1603544400,"open":13038.8,"close":12985.9,"high":13066.7,"low":12928.1,"amount":0.534,"vol":534,"trade_turnover":6950.4268,"count":123},{"id":1603548000,"open":12986.3,"close":13042.0,"high":13100.1,"low":12960.5,"amount":0.47,"vol":470,"trade_turnover":6124.2178,"count":100},{"id":1603551600,"open":13038.4,"close":13102.2,"high":13196.5,"low":13038.4,"amount":0.456,"vol":456,"trade_turnover":5989.6362,"count":120},{"id":1603555200,"open":13136.8,"close":13052.7,"high":13176.6,"low":12984.6,"amount":0.458,"vol":458,"trade_turnover":5976.331,"count":121},{"id":1603558800,"open":13006.2,"close":13177.8,"high":13177.8,"low":13003.2,"amount":0.452,"vol":452,"trade_turnover":5911.7058,"count":118},{"id":1603562400,"open":13127.7,"close":13080.8,"high":13170.7,"low":13023.0,"amount":0.468,"vol":468,"trade_turnover":6122.375,"count":119},{"id":1603566000,"open":13040.7,"close":13148.4,"high":13179.3,"low":13014.2,"amount":0.468,"vol":468,"trade_turnover":6126.4278,"count":120},{"id":1603569600,"open":13073.5,"close":13090.1,"high":13179.6,"low":12992.5,"amount":0.47,"vol":470,"trade_turnover":6151.4758,"count":119},{"id":1603573200,"open":13035.4,"close":12993.9,"high":13148.7,"low":12980.7,"amount":0.458,"vol":458,"trade_turnover":5981.071,"count":117},{"id":1603576800,"open":13040.7,"close":13041.1,"high":13112.1,"low":12975.6,"amount":0.478,"vol":478,"trade_turnover":6225.4216,"count":118},{"id":1603580400,"open":13012.6,"close":13184.3,"high":13184.3,"low":13009.3,"amount":0.472,"vol":472,"trade_turnover":6173.4244,"count":118},{"id":1603584000,"open":13080.8,"close":13154.3,"high":13170.4,"low":13007.7,"amount":0.46,"vol":460,"trade_turnover":6024.09,"count":115},{"id":1603587600,"open":13092.0,"close":13196.1,"high":13196.8,"low":13024.0,"amount":0.398,"vol":398,"trade_turnover":5217.5364,"count":102},{"id":1603591200,"open":13124.7,"close":13082.4,"high":13175.1,"low":13035.0,"amount":0.476,"vol":476,"trade_turnover":6228.6596,"count":120},{"id":1603594800,"open":13049.1,"close":13259.0,"high":13383.8,"low":13049.1,"amount":0.578,"vol":578,"trade_turnover":7629.3886,"count":137},{"id":1603598400,"open":13277.0,"close":13243.4,"high":13369.0,"low":13216.0,"amount":0.47,"vol":470,"trade_turnover":6247.955,"count":122},{"id":1603602000,"open":13285.3,"close":13017.3,"high":13353.3,"low":13010.1,"amount":0.61,"vol":610,"trade_turnover":8048.8598,"count":134},{"id":1603605600,"open":13022.5,"close":13060.3,"high":13105.7,"low":13018.2,"amount":0.486,"vol":486,"trade_turnover":6344.1474,"count":118},{"id":1603609200,"open":13048.5,"close":13078.1,"high":13112.1,"low":13022.0,"amount":0.464,"vol":464,"trade_turnover":6061.5416,"count":120},{"id":1603612800,"open":13077.2,"close":13046.0,"high":13091.0,"low":13017.2,"amount":0.464,"vol":464,"trade_turnover":6055.3734,"count":120},{"id":1603616400,"open":13065.1,"close":13040.8,"high":13084.0,"low":13014.2,"amount":0.478,"vol":478,"trade_turnover":6235.7882,"count":117},{"id":1603620000,"open":13047.1,"close":13028.5,"high":13064.2,"low":13010.2,"amount":0.478,"vol":478,"trade_turnover":6232.2428,"count":125},{"id":1603623600,"open":13061.5,"close":12897.6,"high":13061.5,"low":12852.9,"amount":0.534,"vol":534,"trade_turnover":6918.1226,"count":123},{"id":1603627200,"open":12908.3,"close":12964.3,"high":13069.7,"low":12893.2,"amount":0.444,"vol":444,"trade_turnover":5755.8712,"count":117},{"id":1603630800,"open":13001.3,"close":12949.3,"high":13071.9,"low":12891.8,"amount":0.498,"vol":498,"trade_turnover":6465.078,"count":119},{"id":1603634400,"open":12975.8,"close":12946.8,"high":13077.7,"low":12900.0,"amount":0.468,"vol":468,"trade_turnover":6075.4554,"count":116},{"id":1603638000,"open":12975.2,"close":12883.3,"high":13069.1,"low":12883.3,"amount":0.47,"vol":470,"trade_turnover":6097.1072,"count":119},{"id":1603641600,"open":12916.2,"close":12978.7,"high":13067.9,"low":12877.5,"amount":0.482,"vol":482,"trade_turnover":6256.4472,"count":118},{"id":1603645200,"open":13008.0,"close":13004.4,"high":13087.5,"low":12922.7,"amount":0.47,"vol":470,"trade_turnover":6108.3892,"count":117},{"id":1603648800,"open":12972.8,"close":12957.2,"high":13067.6,"low":12893.6,"amount":0.468,"vol":468,"trade_turnover":6079.1484,"count":118},{"id":1603652400,"open":12996.5,"close":13021.8,"high":13066.9,"low":12916.6,"amount":0.442,"vol":442,"trade_turnover":5746.5548,"count":118},{"id":1603656000,"open":12992.9,"close":12985.4,"high":13081.5,"low":12944.9,"amount":0.508,"vol":508,"trade_turnover":6616.9872,"count":120},{"id":1603659600,"open":12999.9,"close":13011.2,"high":13068.6,"low":12921.4,"amount":0.508,"vol":508,"trade_turnover":6614.816,"count":122},{"id":1603663200,"open":12979.6,"close":12959.4,"high":13073.8,"low":12911.9,"amount":0.486,"vol":486,"trade_turnover":6320.907,"count":121},{"id":1603666800,"open":12963.4,"close":13032.1,"high":13085.2,"low":12927.8,"amount":0.452,"vol":452,"trade_turnover":5878.6442,"count":113},{"id":1603670400,"open":12964.2,"close":13001.0,"high":13076.7,"low":12918.3,"amount":0.482,"vol":482,"trade_turnover":6263.698,"count":121},{"id":1603674000,"open":13040.0,"close":13053.7,"high":13096.4,"low":12991.2,"amount":0.478,"vol":478,"trade_turnover":6232.2328,"count":124},{"id":1603677600,"open":13060.6,"close":13064.4,"high":13185.7,"low":12985.1,"amount":0.488,"vol":488,"trade_turnover":6387.534,"count":121},{"id":1603681200,"open":13032.3,"close":13092.8,"high":13187.2,"low":12984.1,"amount":0.486,"vol":486,"trade_turnover":6369.0272,"count":135},{"id":1603684800,"open":13092.0,"close":13132.6,"high":13181.6,"low":12962.3,"amount":0.51,"vol":510,"trade_turnover":6679.829,"count":131},{"id":1603688400,"open":13129.2,"close":13092.1,"high":13205.3,"low":13025.3,"amount":0.506,"vol":506,"trade_turnover":6641.2128,"count":126},{"id":1603692000,"open":13121.8,"close":13071.4,"high":13188.1,"low":12989.8,"amount":1.616,"vol":1616,"trade_turnover":21170.8224,"count":141},{"id":1603695600,"open":13061.0,"close":13038.7,"high":13100.0,"low":12965.2,"amount":3.746,"vol":3746,"trade_turnover":48924.8902,"count":110},{"id":1603699200,"open":13030.9,"close":13039.3,"high":13102.0,"low":12852.8,"amount":8.966,"vol":8966,"trade_turnover":116525.5534,"count":173},{"id":1603702800,"open":13047.1,"close":13075.9,"high":13088.4,"low":13039.8,"amount":4.48,"vol":4480,"trade_turnover":58521.1714,"count":124},{"id":1603706400,"open":13072.1,"close":13100.0,"high":13100.0,"low":13060.2,"amount":4.272,"vol":4272,"trade_turnover":55895.9778,"count":130},{"id":1603710000,"open":13100.0,"close":13138.4,"high":13159.0,"low":13100.0,"amount":29.798,"vol":29798,"trade_turnover":391138.024,"count":230},{"id":1603713600,"open":13138.8,"close":13149.8,"high":13200.0,"low":13100.0,"amount":5.154,"vol":5154,"trade_turnover":67694.652,"count":188},{"id":1603717200,"open":13150.0,"close":13205.8,"high":13351.5,"low":13133.1,"amount":35.608,"vol":35608,"trade_turnover":472780.3394,"count":328},{"id":1603720800,"open":13203.0,"close":13166.1,"high":13280.0,"low":13144.1,"amount":31.748,"vol":31748,"trade_turnover":418744.5588,"count":235},{"id":1603724400,"open":13159.0,"close":12978.0,"high":13165.2,"low":12903.8,"amount":36.53,"vol":36530,"trade_turnover":476940.3296,"count":384},{"id":1603728000,"open":12965.0,"close":12869.6,"high":13069.8,"low":12850.5,"amount":35.018,"vol":35018,"trade_turnover":453288.918,"count":323},{"id":1603731600,"open":12879.2,"close":12873.8,"high":12941.5,"low":12583.9,"amount":92.628,"vol":92628,"trade_turnover":1185973.467,"count":560},{"id":1603735200,"open":12856.2,"close":12946.8,"high":12954.5,"low":12820.4,"amount":4.302,"vol":4302,"trade_turnover":55481.0054,"count":128},{"id":1603738800,"open":12945.6,"close":12953.4,"high":12953.5,"low":12914.1,"amount":13.83,"vol":13830,"trade_turnover":179112.1598,"count":118},{"id":1603742400,"open":12953.5,"close":12983.4,"high":13007.5,"low":12953.5,"amount":17.172,"vol":17172,"trade_turnover":223230.2122,"count":132},{"id":1603746000,"open":12983.1,"close":12993.8,"high":13007.5,"low":12982.7,"amount":3.212,"vol":3212,"trade_turnover":41767.8906,"count":59},{"id":1603749600,"open":13002.1,"close":13007.5,"high":13007.5,"low":12974.0,"amount":1.504,"vol":1504,"trade_turnover":19543.3568,"count":74},{"id":1603753200,"open":13007.5,"close":13033.7,"high":13061.2,"low":13007.5,"amount":3.454,"vol":3454,"trade_turnover":45001.601,"count":101},{"id":1603756800,"open":13029.2,"close":13067.1,"high":13105.0,"low":13028.3,"amount":8.784,"vol":8784,"trade_turnover":114871.8246,"count":98},{"id":1603760400,"open":13074.3,"close":13061.7,"high":13074.4,"low":13051.5,"amount":11.592,"vol":11592,"trade_turnover":151386.9038,"count":66},{"id":1603764000,"open":13061.7,"close":13049.7,"high":13097.6,"low":13040.1,"amount":19.298,"vol":19298,"trade_turnover":252061.019,"count":109},{"id":1603767600,"open":13057.6,"close":13070.4,"high":13080.0,"low":13057.1,"amount":22.992,"vol":22992,"trade_turnover":300453.9788,"count":69},{"id":1603771200,"open":13080.0,"close":13103.3,"high":13175.0,"low":13079.6,"amount":14.396,"vol":14396,"trade_turnover":188461.9156,"count":59},{"id":1603774800,"open":13121.3,"close":13073.6,"high":13121.3,"low":13069.7,"amount":5.058,"vol":5058,"trade_turnover":66201.3552,"count":44},{"id":1603778400,"open":13074.9,"close":13103.4,"high":13149.0,"low":13069.6,"amount":9.106,"vol":9106,"trade_turnover":119104.8906,"count":107},{"id":1603782000,"open":13103.3,"close":13130.0,"high":13169.8,"low":12992.4,"amount":73.95,"vol":73950,"trade_turnover":968195.155,"count":305},{"id":1603785600,"open":13135.1,"close":13123.8,"high":13148.4,"low":13044.0,"amount":18.732,"vol":18732,"trade_turnover":245533.5448,"count":135},{"id":1603789200,"open":13115.5,"close":13131.7,"high":13131.8,"low":13075.7,"amount":13.756,"vol":13756,"trade_turnover":180253.7708,"count":102},{"id":1603792800,"open":13134.8,"close":13216.9,"high":13252.0,"low":13063.4,"amount":154.108,"vol":154108,"trade_turnover":2029983.656,"count":525},{"id":1603796400,"open":13218.8,"close":13395.8,"high":13590.1,"low":13213.5,"amount":170.09,"vol":170090,"trade_turnover":2276279.742,"count":591},{"id":1603800000,"open":13395.9,"close":13376.9,"high":13414.0,"low":13331.7,"amount":48.928,"vol":48928,"trade_turnover":654585.9108,"count":216},{"id":1603803600,"open":13376.5,"close":13384.3,"high":13490.9,"low":13329.8,"amount":63.294,"vol":63294,"trade_turnover":848130.9212,"count":316},{"id":1603807200,"open":13392.6,"close":13398.2,"high":13415.8,"low":13344.8,"amount":12.892,"vol":12892,"trade_turnover":172618.6864,"count":124},{"id":1603810800,"open":13398.2,"close":13598.5,"high":13626.7,"low":13398.2,"amount":93.22,"vol":93220,"trade_turnover":1262695.5466,"count":476},{"id":1603814400,"open":13595.8,"close":13639.9,"high":13639.9,"low":13520.2,"amount":85.45,"vol":85450,"trade_turnover":1161481.4136,"count":435},{"id":1603818000,"open":13640.0,"close":13688.1,"high":13826.7,"low":13589.0,"amount":191.812,"vol":191812,"trade_turnover":2628428.3788,"count":711},{"id":1603821600,"open":13685.0,"close":13630.1,"high":13745.0,"low":13528.2,"amount":65.434,"vol":65434,"trade_turnover":891541.8394,"count":410},{"id":1603825200,"open":13629.4,"close":13637.1,"high":13659.8,"low":13595.4,"amount":5.788,"vol":5788,"trade_turnover":78836.2578,"count":65},{"id":1603828800,"open":13644.4,"close":13616.6,"high":13805.1,"low":13582.6,"amount":163.104,"vol":163104,"trade_turnover":2234040.3544,"count":537},{"id":1603832400,"open":13609.8,"close":13705.5,"high":13753.5,"low":13609.8,"amount":9.884,"vol":9884,"trade_turnover":135406.4752,"count":101},{"id":1603836000,"open":13705.4,"close":13739.9,"high":13739.9,"low":13658.2,"amount":7.436,"vol":7436,"trade_turnover":101840.3508,"count":100},{"id":1603839600,"open":13739.9,"close":13649.6,"high":13794.6,"low":13582.6,"amount":17.086,"vol":17086,"trade_turnover":233971.8448,"count":234},{"id":1603843200,"open":13645.9,"close":13701.7,"high":13745.2,"low":13618.8,"amount":24.108,"vol":24108,"trade_turnover":330206.5694,"count":177},{"id":1603846800,"open":13702.1,"close":13702.6,"high":13725.6,"low":13647.9,"amount":15.892,"vol":15892,"trade_turnover":217816.7008,"count":151},{"id":1603850400,"open":13701.7,"close":13811.6,"high":13832.2,"low":13680.2,"amount":46.548,"vol":46548,"trade_turnover":640636.0352,"count":274},{"id":1603854000,"open":13818.5,"close":13777.0,"high":13820.3,"low":13717.5,"amount":67.896,"vol":67896,"trade_turnover":935838.2238,"count":320},{"id":1603857600,"open":13767.3,"close":13735.7,"high":13807.2,"low":13710.0,"amount":33.156,"vol":33156,"trade_turnover":455941.234,"count":210},{"id":1603861200,"open":13735.5,"close":13715.8,"high":13753.9,"low":13671.3,"amount":32.076,"vol":32076,"trade_turnover":439612.64,"count":198},{"id":1603864800,"open":13715.9,"close":13701.3,"high":13757.0,"low":13694.9,"amount":14.756,"vol":14756,"trade_turnover":202602.5164,"count":122},{"id":1603868400,"open":13701.2,"close":13674.2,"high":13708.7,"low":13550.0,"amount":155.534,"vol":155534,"trade_turnover":2117935.0928,"count":635},{"id":1603872000,"open":13673.0,"close":13691.7,"high":13691.7,"low":13584.0,"amount":29.846,"vol":29846,"trade_turnover":407073.1398,"count":240},{"id":1603875600,"open":13689.3,"close":13587.1,"high":13707.5,"low":13573.5,"amount":104.542,"vol":104542,"trade_turnover":1425079.9344,"count":377},{"id":1603879200,"open":13584.6,"close":13552.7,"high":13618.0,"low":13504.7,"amount":73.818,"vol":73818,"trade_turnover":1001666.0908,"count":358},{"id":1603882800,"open":13552.6,"close":13336.4,"high":13565.4,"low":13330.0,"amount":176.544,"vol":176544,"trade_turnover":2369166.1492,"count":1004},{"id":1603886400,"open":13331.5,"close":13300.3,"high":13385.0,"low":13173.9,"amount":289.73,"vol":289730,"trade_turnover":3846751.7166,"count":968},{"id":1603890000,"open":13300.2,"close":13129.9,"high":13340.0,"low":13122.9,"amount":139.822,"vol":139822,"trade_turnover":1848876.932,"count":612},{"id":1603893600,"open":13123.4,"close":13082.2,"high":13168.2,"low":12915.9,"amount":367.876,"vol":367876,"trade_turnover":4802516.9818,"count":1168},{"id":1603897200,"open":13077.1,"close":13221.2,"high":13235.2,"low":13052.3,"amount":84.044,"vol":84044,"trade_turnover":1106883.1282,"count":375},{"id":1603900800,"open":13218.7,"close":13145.1,"high":13218.7,"low":13050.0,"amount":29.566,"vol":29566,"trade_turnover":388697.4104,"count":244},{"id":1603904400,"open":13145.1,"close":13176.7,"high":13204.9,"low":13006.6,"amount":53.336,"vol":53336,"trade_turnover":700385.2784,"count":299},{"id":1603908000,"open":13171.0,"close":13196.5,"high":13219.6,"low":13131.0,"amount":34.164,"vol":34164,"trade_turnover":450210.5778,"count":218},{"id":1603911600,"open":13200.0,"close":13154.9,"high":13237.4,"low":13145.0,"amount":22.158,"vol":22158,"trade_turnover":292020.0438,"count":185},{"id":1603915200,"open":13154.5,"close":13198.1,"high":13211.8,"low":13147.4,"amount":4.548,"vol":4548,"trade_turnover":59991.1118,"count":75},{"id":1603918800,"open":13193.5,"close":13190.1,"high":13196.5,"low":13100.2,"amount":3.52,"vol":3520,"trade_turnover":46175.428,"count":68},{"id":1603922400,"open":13185.4,"close":13252.0,"high":13267.5,"low":13185.4,"amount":3.122,"vol":3122,"trade_turnover":41304.2018,"count":72},{"id":1603926000,"open":13242.1,"close":13265.9,"high":13282.3,"low":13235.9,"amount":14.768,"vol":14768,"trade_turnover":195689.0764,"count":86},{"id":1603929600,"open":13253.9,"close":13245.1,"high":13294.7,"low":13237.4,"amount":19.968,"vol":19968,"trade_turnover":264834.1944,"count":98},{"id":1603933200,"open":13244.6,"close":13274.2,"high":13285.3,"low":13166.3,"amount":35.282,"vol":35282,"trade_turnover":465789.6302,"count":192},{"id":1603936800,"open":13275.9,"close":13241.1,"high":13277.7,"low":13212.2,"amount":9.748,"vol":9748,"trade_turnover":129016.0684,"count":119},{"id":1603940400,"open":13237.1,"close":13262.5,"high":13262.5,"low":13174.6,"amount":27.3,"vol":27300,"trade_turnover":360589.8982,"count":199},{"id":1603944000,"open":13269.1,"close":13229.5,"high":13277.7,"low":13229.5,"amount":18.904,"vol":18904,"trade_turnover":250713.2812,"count":109},{"id":1603947600,"open":13228.5,"close":13274.8,"high":13274.8,"low":13228.5,"amount":15.822,"vol":15822,"trade_turnover":209781.909,"count":134},{"id":1603951200,"open":13274.8,"close":13255.0,"high":13323.0,"low":13242.3,"amount":91.246,"vol":91246,"trade_turnover":1211271.2788,"count":294},{"id":1603954800,"open":13255.0,"close":13142.4,"high":13269.3,"low":13123.1,"amount":187.622,"vol":187622,"trade_turnover":2478299.7074,"count":506},{"id":1603958400,"open":13145.9,"close":13124.8,"high":13182.4,"low":13094.1,"amount":69.532,"vol":69532,"trade_turnover":914157.2418,"count":226},{"id":1603962000,"open":13129.5,"close":13183.7,"high":13197.1,"low":13129.5,"amount":23.184,"vol":23184,"trade_turnover":305485.9524,"count":141},{"id":1603965600,"open":13184.8,"close":13105.2,"high":13187.5,"low":13053.1,"amount":121.146,"vol":121146,"trade_turnover":1590026.4416,"count":442},{"id":1603969200,"open":13105.1,"close":13060.1,"high":13171.4,"low":13060.1,"amount":47.498,"vol":47498,"trade_turnover":623578.149,"count":262},{"id":1603972800,"open":13056.9,"close":13131.8,"high":13145.8,"low":12977.9,"amount":126.552,"vol":126552,"trade_turnover":1652549.311,"count":481},{"id":1603976400,"open":13131.7,"close":13230.0,"high":13237.2,"low":13102.0,"amount":100.482,"vol":100482,"trade_turnover":1326403.7206,"count":325},{"id":1603980000,"open":13231.0,"close":13420.8,"high":13476.1,"low":13231.0,"amount":253.258,"vol":253258,"trade_turnover":3384941.438,"count":752},{"id":1603983600,"open":13416.0,"close":13420.6,"high":13458.7,"low":13358.7,"amount":64.71,"vol":64710,"trade_turnover":869052.3804,"count":269},{"id":1603987200,"open":13421.9,"close":13535.9,"high":13594.5,"low":13391.8,"amount":120.24,"vol":120240,"trade_turnover":1626567.8278,"count":570}]} +2024-01-18 11:13:00.852 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:41] - 请求 KLine 数据解析之后的数据为:{"wsid":19750305,"data":[{"amount":0.276,"high":12300.0,"vol":276,"low":11715.8,"count":39,"id":1603270800,"close":12196.7,"tradeTurnover":3315.9104,"open":12198.0},{"amount":0.198,"high":12289.9,"vol":198,"low":12111.0,"count":21,"id":1603274400,"close":12277.9,"tradeTurnover":2420.7728,"open":12196.7},{"amount":0.012,"high":12277.9,"vol":12,"low":12000.0,"count":5,"id":1603278000,"close":12000.0,"tradeTurnover":145.2238,"open":12111.0},{"amount":0.084,"high":12498.0,"vol":84,"low":12078.0,"count":12,"id":1603281600,"close":12497.4,"tradeTurnover":1040.0504,"open":12078.0},{"amount":1.122,"high":12495.6,"vol":1122,"low":12282.9,"count":112,"id":1603285200,"close":12373.5,"tradeTurnover":13905.3124,"open":12495.6},{"amount":5.29,"high":12807.6,"vol":5290,"low":12358.1,"count":155,"id":1603288800,"close":12689.9,"tradeTurnover":66852.128,"open":12412.9},{"amount":1.174,"high":12778.7,"vol":1174,"low":12573.2,"count":113,"id":1603292400,"close":12701.9,"tradeTurnover":14907.367,"open":12692.8},{"amount":1.156,"high":12920.9,"vol":1156,"low":12624.8,"count":115,"id":1603296000,"close":12835.9,"tradeTurnover":14802.449,"open":12679.7},{"amount":1.12,"high":12908.3,"vol":1120,"low":12687.5,"count":115,"id":1603299600,"close":12754.2,"tradeTurnover":14345.7324,"open":12848.3},{"amount":1.106,"high":12849.0,"vol":1106,"low":12668.3,"count":114,"id":1603303200,"close":12740.2,"tradeTurnover":14105.3504,"open":12743.7},{"amount":1.032,"high":12843.1,"vol":1032,"low":12597.2,"count":112,"id":1603306800,"close":12650.3,"tradeTurnover":13125.4568,"open":12729.5},{"amount":1.154,"high":12848.4,"vol":1154,"low":12610.2,"count":116,"id":1603310400,"close":12807.0,"tradeTurnover":14680.638,"open":12666.8},{"amount":1.164,"high":13005.1,"vol":1164,"low":12748.2,"count":114,"id":1603314000,"close":12938.9,"tradeTurnover":14976.9366,"open":12866.0},{"amount":1.174,"high":13211.2,"vol":1174,"low":12865.7,"count":114,"id":1603317600,"close":13122.0,"tradeTurnover":15285.2446,"open":12921.0},{"amount":1.172,"high":13173.2,"vol":1172,"low":12688.6,"count":117,"id":1603321200,"close":12829.8,"tradeTurnover":15060.9938,"open":13153.2},{"amount":1.17,"high":12988.1,"vol":1170,"low":12764.4,"count":117,"id":1603324800,"close":12885.9,"tradeTurnover":15046.2046,"open":12793.1},{"amount":1.158,"high":12972.6,"vol":1158,"low":12757.5,"count":118,"id":1603328400,"close":12757.5,"tradeTurnover":14882.4656,"open":12860.4},{"amount":1.124,"high":12848.0,"vol":1124,"low":12729.0,"count":115,"id":1603332000,"close":12788.8,"tradeTurnover":14368.7948,"open":12824.1},{"amount":1.194,"high":12834.4,"vol":1194,"low":12729.0,"count":111,"id":1603335600,"close":12767.2,"tradeTurnover":15268.9298,"open":12791.7},{"amount":1.152,"high":12778.3,"vol":1152,"low":12729.0,"count":115,"id":1603339200,"close":12762.2,"tradeTurnover":14695.4876,"open":12729.0},{"amount":1.21,"high":12842.0,"vol":1210,"low":12730.6,"count":119,"id":1603342800,"close":12813.8,"tradeTurnover":15440.8162,"open":12763.1},{"amount":1.188,"high":12795.0,"vol":1188,"low":12728.0,"count":123,"id":1603346400,"close":12729.1,"tradeTurnover":15128.0098,"open":12795.0},{"amount":1.266,"high":12730.6,"vol":1266,"low":12728.3,"count":112,"id":1603350000,"close":12730.6,"tradeTurnover":16115.1306,"open":12728.6},{"amount":1.35,"high":12921.5,"vol":1350,"low":12729.9,"count":127,"id":1603353600,"close":12770.1,"tradeTurnover":17233.7326,"open":12730.3},{"amount":0.98,"high":12872.1,"vol":980,"low":12760.1,"count":99,"id":1603357200,"close":12780.4,"tradeTurnover":12553.9826,"open":12824.9},{"amount":0.266,"high":13002.7,"vol":266,"low":12775.6,"count":30,"id":1603360800,"close":12934.2,"tradeTurnover":3415.023,"open":12784.9},{"amount":1.004,"high":13057.0,"vol":1004,"low":12886.6,"count":117,"id":1603364400,"close":13045.0,"tradeTurnover":13020.8576,"open":12977.0},{"amount":1.134,"high":12973.4,"vol":1134,"low":12751.6,"count":111,"id":1603368000,"close":12847.9,"tradeTurnover":14594.2752,"open":12958.5},{"amount":1.152,"high":13000.8,"vol":1152,"low":12743.0,"count":114,"id":1603371600,"close":12931.0,"tradeTurnover":14877.7314,"open":12882.7},{"amount":1.182,"high":12995.3,"vol":1182,"low":12783.9,"count":115,"id":1603375200,"close":12917.8,"tradeTurnover":15224.4716,"open":12890.4},{"amount":1.176,"high":13031.2,"vol":1176,"low":12817.9,"count":117,"id":1603378800,"close":12953.0,"tradeTurnover":15197.208,"open":12918.8},{"amount":1.146,"high":13100.2,"vol":1146,"low":12865.6,"count":119,"id":1603382400,"close":13055.6,"tradeTurnover":14851.9604,"open":12923.1},{"amount":1.534,"high":13105.7,"vol":1534,"low":12835.5,"count":124,"id":1603386000,"close":13082.7,"tradeTurnover":19927.8288,"open":12967.6},{"amount":1.268,"high":13115.0,"vol":1268,"low":12938.7,"count":117,"id":1603389600,"close":13016.4,"tradeTurnover":16505.4738,"open":13020.4},{"amount":1.13,"high":13171.2,"vol":1130,"low":12961.8,"count":112,"id":1603393200,"close":12970.6,"tradeTurnover":14762.952,"open":13028.3},{"amount":1.206,"high":13216.1,"vol":1206,"low":12998.5,"count":117,"id":1603396800,"close":13089.3,"tradeTurnover":15807.1226,"open":13016.7},{"amount":1.332,"high":13203.7,"vol":1332,"low":12932.9,"count":114,"id":1603400400,"close":13092.0,"tradeTurnover":17423.4422,"open":13136.0},{"amount":1.21,"high":13250.5,"vol":1210,"low":12984.7,"count":114,"id":1603404000,"close":13055.9,"tradeTurnover":15876.0632,"open":13119.4},{"amount":1.286,"high":13126.5,"vol":1286,"low":12857.2,"count":116,"id":1603407600,"close":12890.4,"tradeTurnover":16688.422,"open":13059.4},{"amount":1.502,"high":12994.0,"vol":1502,"low":12751.6,"count":131,"id":1603411200,"close":12892.2,"tradeTurnover":19331.1596,"open":12929.7},{"amount":1.386,"high":13003.2,"vol":1386,"low":12786.0,"count":121,"id":1603414800,"close":12898.3,"tradeTurnover":17904.8902,"open":12921.7},{"amount":1.416,"high":13054.0,"vol":1416,"low":12800.7,"count":122,"id":1603418400,"close":12975.1,"tradeTurnover":18306.6204,"open":12951.6},{"amount":1.19,"high":13030.7,"vol":1190,"low":12875.0,"count":118,"id":1603422000,"close":12947.0,"tradeTurnover":15409.7984,"open":12967.3},{"amount":1.022,"high":13047.3,"vol":1022,"low":12832.8,"count":127,"id":1603425600,"close":12852.0,"tradeTurnover":13214.4388,"open":12925.2},{"amount":0.478,"high":12991.7,"vol":478,"low":12841.2,"count":118,"id":1603429200,"close":12931.1,"tradeTurnover":6180.2486,"open":12859.0},{"amount":0.522,"high":13014.1,"vol":522,"low":12871.9,"count":132,"id":1603432800,"close":12939.6,"tradeTurnover":6759.0324,"open":12935.9},{"amount":0.476,"high":12998.9,"vol":476,"low":12917.1,"count":118,"id":1603436400,"close":12925.4,"tradeTurnover":6163.3118,"open":12923.1},{"amount":0.508,"high":13014.0,"vol":508,"low":12916.1,"count":122,"id":1603440000,"close":12962.6,"tradeTurnover":6585.3656,"open":12942.2},{"amount":0.564,"high":13012.5,"vol":564,"low":12909.9,"count":124,"id":1603443600,"close":12926.4,"tradeTurnover":7308.8828,"open":12970.5},{"amount":0.536,"high":13059.5,"vol":536,"low":12925.7,"count":124,"id":1603447200,"close":13007.7,"tradeTurnover":6957.8796,"open":13001.2},{"amount":0.486,"high":13078.4,"vol":486,"low":12906.5,"count":122,"id":1603450800,"close":12970.6,"tradeTurnover":6326.1434,"open":13025.4},{"amount":0.494,"high":13025.0,"vol":494,"low":12850.8,"count":117,"id":1603454400,"close":12935.4,"tradeTurnover":6396.0984,"open":12963.9},{"amount":0.466,"high":13043.3,"vol":466,"low":12911.0,"count":117,"id":1603458000,"close":12951.7,"tradeTurnover":6049.1412,"open":12913.3},{"amount":0.46,"high":13006.4,"vol":460,"low":12840.4,"count":116,"id":1603461600,"close":12858.8,"tradeTurnover":5941.815,"open":12999.6},{"amount":0.492,"high":12932.9,"vol":492,"low":12826.5,"count":117,"id":1603465200,"close":12881.9,"tradeTurnover":6340.214,"open":12885.7},{"amount":0.484,"high":12933.5,"vol":484,"low":12744.4,"count":123,"id":1603468800,"close":12784.1,"tradeTurnover":6205.4138,"open":12854.4},{"amount":0.562,"high":12893.1,"vol":562,"low":12730.1,"count":152,"id":1603472400,"close":12847.7,"tradeTurnover":7218.9184,"open":12832.3},{"amount":0.53,"high":12939.3,"vol":530,"low":12751.4,"count":128,"id":1603476000,"close":12915.7,"tradeTurnover":6825.7004,"open":12874.1},{"amount":0.444,"high":12972.9,"vol":444,"low":12786.6,"count":117,"id":1603479600,"close":12972.9,"tradeTurnover":5727.7452,"open":12867.9},{"amount":0.492,"high":13002.2,"vol":492,"low":12842.9,"count":116,"id":1603483200,"close":12991.6,"tradeTurnover":6375.1566,"open":12956.7},{"amount":0.5,"high":13004.3,"vol":500,"low":12936.6,"count":125,"id":1603486800,"close":12943.5,"tradeTurnover":6485.468,"open":13004.3},{"amount":0.492,"high":13010.3,"vol":492,"low":12884.7,"count":120,"id":1603490400,"close":12989.2,"tradeTurnover":6376.1492,"open":12923.6},{"amount":0.51,"high":13024.4,"vol":510,"low":12884.6,"count":121,"id":1603494000,"close":12884.6,"tradeTurnover":6622.3406,"open":12974.9},{"amount":0.488,"high":13018.3,"vol":488,"low":12811.1,"count":120,"id":1603497600,"close":12953.9,"tradeTurnover":6317.7938,"open":12973.7},{"amount":0.482,"high":13018.1,"vol":482,"low":12872.8,"count":117,"id":1603501200,"close":12934.2,"tradeTurnover":6242.4178,"open":12927.5},{"amount":0.484,"high":13003.9,"vol":484,"low":12903.3,"count":117,"id":1603504800,"close":12989.1,"tradeTurnover":6278.1756,"open":12971.9},{"amount":0.474,"high":13013.4,"vol":474,"low":12938.3,"count":122,"id":1603508400,"close":12975.9,"tradeTurnover":6157.7096,"open":13000.1},{"amount":0.526,"high":13009.4,"vol":526,"low":12905.5,"count":124,"id":1603512000,"close":12963.3,"tradeTurnover":6831.5658,"open":12989.7},{"amount":0.522,"high":13041.8,"vol":522,"low":12875.3,"count":127,"id":1603515600,"close":12989.7,"tradeTurnover":6768.8994,"open":12910.5},{"amount":0.49,"high":13058.1,"vol":490,"low":12908.8,"count":120,"id":1603519200,"close":13003.6,"tradeTurnover":6370.5714,"open":12994.7},{"amount":0.478,"high":13037.8,"vol":478,"low":12981.7,"count":120,"id":1603522800,"close":13004.2,"tradeTurnover":6218.9722,"open":13011.9},{"amount":0.52,"high":13030.6,"vol":520,"low":12899.4,"count":124,"id":1603526400,"close":12998.2,"tradeTurnover":6754.958,"open":13003.0},{"amount":0.454,"high":13020.3,"vol":454,"low":12893.6,"count":115,"id":1603530000,"close":12990.6,"tradeTurnover":5891.0574,"open":12998.2},{"amount":0.502,"high":13059.1,"vol":502,"low":12913.2,"count":124,"id":1603533600,"close":13030.1,"tradeTurnover":6525.9004,"open":12996.4},{"amount":0.468,"high":13068.3,"vol":468,"low":12940.2,"count":119,"id":1603537200,"close":13033.2,"tradeTurnover":6091.0376,"open":12988.4},{"amount":0.468,"high":13071.8,"vol":468,"low":12978.9,"count":123,"id":1603540800,"close":13006.5,"tradeTurnover":6102.5902,"open":13035.3},{"amount":0.534,"high":13066.7,"vol":534,"low":12928.1,"count":123,"id":1603544400,"close":12985.9,"tradeTurnover":6950.4268,"open":13038.8},{"amount":0.47,"high":13100.1,"vol":470,"low":12960.5,"count":100,"id":1603548000,"close":13042.0,"tradeTurnover":6124.2178,"open":12986.3},{"amount":0.456,"high":13196.5,"vol":456,"low":13038.4,"count":120,"id":1603551600,"close":13102.2,"tradeTurnover":5989.6362,"open":13038.4},{"amount":0.458,"high":13176.6,"vol":458,"low":12984.6,"count":121,"id":1603555200,"close":13052.7,"tradeTurnover":5976.331,"open":13136.8},{"amount":0.452,"high":13177.8,"vol":452,"low":13003.2,"count":118,"id":1603558800,"close":13177.8,"tradeTurnover":5911.7058,"open":13006.2},{"amount":0.468,"high":13170.7,"vol":468,"low":13023.0,"count":119,"id":1603562400,"close":13080.8,"tradeTurnover":6122.375,"open":13127.7},{"amount":0.468,"high":13179.3,"vol":468,"low":13014.2,"count":120,"id":1603566000,"close":13148.4,"tradeTurnover":6126.4278,"open":13040.7},{"amount":0.47,"high":13179.6,"vol":470,"low":12992.5,"count":119,"id":1603569600,"close":13090.1,"tradeTurnover":6151.4758,"open":13073.5},{"amount":0.458,"high":13148.7,"vol":458,"low":12980.7,"count":117,"id":1603573200,"close":12993.9,"tradeTurnover":5981.071,"open":13035.4},{"amount":0.478,"high":13112.1,"vol":478,"low":12975.6,"count":118,"id":1603576800,"close":13041.1,"tradeTurnover":6225.4216,"open":13040.7},{"amount":0.472,"high":13184.3,"vol":472,"low":13009.3,"count":118,"id":1603580400,"close":13184.3,"tradeTurnover":6173.4244,"open":13012.6},{"amount":0.46,"high":13170.4,"vol":460,"low":13007.7,"count":115,"id":1603584000,"close":13154.3,"tradeTurnover":6024.09,"open":13080.8},{"amount":0.398,"high":13196.8,"vol":398,"low":13024.0,"count":102,"id":1603587600,"close":13196.1,"tradeTurnover":5217.5364,"open":13092.0},{"amount":0.476,"high":13175.1,"vol":476,"low":13035.0,"count":120,"id":1603591200,"close":13082.4,"tradeTurnover":6228.6596,"open":13124.7},{"amount":0.578,"high":13383.8,"vol":578,"low":13049.1,"count":137,"id":1603594800,"close":13259.0,"tradeTurnover":7629.3886,"open":13049.1},{"amount":0.47,"high":13369.0,"vol":470,"low":13216.0,"count":122,"id":1603598400,"close":13243.4,"tradeTurnover":6247.955,"open":13277.0},{"amount":0.61,"high":13353.3,"vol":610,"low":13010.1,"count":134,"id":1603602000,"close":13017.3,"tradeTurnover":8048.8598,"open":13285.3},{"amount":0.486,"high":13105.7,"vol":486,"low":13018.2,"count":118,"id":1603605600,"close":13060.3,"tradeTurnover":6344.1474,"open":13022.5},{"amount":0.464,"high":13112.1,"vol":464,"low":13022.0,"count":120,"id":1603609200,"close":13078.1,"tradeTurnover":6061.5416,"open":13048.5},{"amount":0.464,"high":13091.0,"vol":464,"low":13017.2,"count":120,"id":1603612800,"close":13046.0,"tradeTurnover":6055.3734,"open":13077.2},{"amount":0.478,"high":13084.0,"vol":478,"low":13014.2,"count":117,"id":1603616400,"close":13040.8,"tradeTurnover":6235.7882,"open":13065.1},{"amount":0.478,"high":13064.2,"vol":478,"low":13010.2,"count":125,"id":1603620000,"close":13028.5,"tradeTurnover":6232.2428,"open":13047.1},{"amount":0.534,"high":13061.5,"vol":534,"low":12852.9,"count":123,"id":1603623600,"close":12897.6,"tradeTurnover":6918.1226,"open":13061.5},{"amount":0.444,"high":13069.7,"vol":444,"low":12893.2,"count":117,"id":1603627200,"close":12964.3,"tradeTurnover":5755.8712,"open":12908.3},{"amount":0.498,"high":13071.9,"vol":498,"low":12891.8,"count":119,"id":1603630800,"close":12949.3,"tradeTurnover":6465.078,"open":13001.3},{"amount":0.468,"high":13077.7,"vol":468,"low":12900.0,"count":116,"id":1603634400,"close":12946.8,"tradeTurnover":6075.4554,"open":12975.8},{"amount":0.47,"high":13069.1,"vol":470,"low":12883.3,"count":119,"id":1603638000,"close":12883.3,"tradeTurnover":6097.1072,"open":12975.2},{"amount":0.482,"high":13067.9,"vol":482,"low":12877.5,"count":118,"id":1603641600,"close":12978.7,"tradeTurnover":6256.4472,"open":12916.2},{"amount":0.47,"high":13087.5,"vol":470,"low":12922.7,"count":117,"id":1603645200,"close":13004.4,"tradeTurnover":6108.3892,"open":13008.0},{"amount":0.468,"high":13067.6,"vol":468,"low":12893.6,"count":118,"id":1603648800,"close":12957.2,"tradeTurnover":6079.1484,"open":12972.8},{"amount":0.442,"high":13066.9,"vol":442,"low":12916.6,"count":118,"id":1603652400,"close":13021.8,"tradeTurnover":5746.5548,"open":12996.5},{"amount":0.508,"high":13081.5,"vol":508,"low":12944.9,"count":120,"id":1603656000,"close":12985.4,"tradeTurnover":6616.9872,"open":12992.9},{"amount":0.508,"high":13068.6,"vol":508,"low":12921.4,"count":122,"id":1603659600,"close":13011.2,"tradeTurnover":6614.816,"open":12999.9},{"amount":0.486,"high":13073.8,"vol":486,"low":12911.9,"count":121,"id":1603663200,"close":12959.4,"tradeTurnover":6320.907,"open":12979.6},{"amount":0.452,"high":13085.2,"vol":452,"low":12927.8,"count":113,"id":1603666800,"close":13032.1,"tradeTurnover":5878.6442,"open":12963.4},{"amount":0.482,"high":13076.7,"vol":482,"low":12918.3,"count":121,"id":1603670400,"close":13001.0,"tradeTurnover":6263.698,"open":12964.2},{"amount":0.478,"high":13096.4,"vol":478,"low":12991.2,"count":124,"id":1603674000,"close":13053.7,"tradeTurnover":6232.2328,"open":13040.0},{"amount":0.488,"high":13185.7,"vol":488,"low":12985.1,"count":121,"id":1603677600,"close":13064.4,"tradeTurnover":6387.534,"open":13060.6},{"amount":0.486,"high":13187.2,"vol":486,"low":12984.1,"count":135,"id":1603681200,"close":13092.8,"tradeTurnover":6369.0272,"open":13032.3},{"amount":0.51,"high":13181.6,"vol":510,"low":12962.3,"count":131,"id":1603684800,"close":13132.6,"tradeTurnover":6679.829,"open":13092.0},{"amount":0.506,"high":13205.3,"vol":506,"low":13025.3,"count":126,"id":1603688400,"close":13092.1,"tradeTurnover":6641.2128,"open":13129.2},{"amount":1.616,"high":13188.1,"vol":1616,"low":12989.8,"count":141,"id":1603692000,"close":13071.4,"tradeTurnover":21170.8224,"open":13121.8},{"amount":3.746,"high":13100.0,"vol":3746,"low":12965.2,"count":110,"id":1603695600,"close":13038.7,"tradeTurnover":48924.8902,"open":13061.0},{"amount":8.966,"high":13102.0,"vol":8966,"low":12852.8,"count":173,"id":1603699200,"close":13039.3,"tradeTurnover":116525.5534,"open":13030.9},{"amount":4.48,"high":13088.4,"vol":4480,"low":13039.8,"count":124,"id":1603702800,"close":13075.9,"tradeTurnover":58521.1714,"open":13047.1},{"amount":4.272,"high":13100.0,"vol":4272,"low":13060.2,"count":130,"id":1603706400,"close":13100.0,"tradeTurnover":55895.9778,"open":13072.1},{"amount":29.798,"high":13159.0,"vol":29798,"low":13100.0,"count":230,"id":1603710000,"close":13138.4,"tradeTurnover":391138.024,"open":13100.0},{"amount":5.154,"high":13200.0,"vol":5154,"low":13100.0,"count":188,"id":1603713600,"close":13149.8,"tradeTurnover":67694.652,"open":13138.8},{"amount":35.608,"high":13351.5,"vol":35608,"low":13133.1,"count":328,"id":1603717200,"close":13205.8,"tradeTurnover":472780.3394,"open":13150.0},{"amount":31.748,"high":13280.0,"vol":31748,"low":13144.1,"count":235,"id":1603720800,"close":13166.1,"tradeTurnover":418744.5588,"open":13203.0},{"amount":36.53,"high":13165.2,"vol":36530,"low":12903.8,"count":384,"id":1603724400,"close":12978.0,"tradeTurnover":476940.3296,"open":13159.0},{"amount":35.018,"high":13069.8,"vol":35018,"low":12850.5,"count":323,"id":1603728000,"close":12869.6,"tradeTurnover":453288.918,"open":12965.0},{"amount":92.628,"high":12941.5,"vol":92628,"low":12583.9,"count":560,"id":1603731600,"close":12873.8,"tradeTurnover":1185973.467,"open":12879.2},{"amount":4.302,"high":12954.5,"vol":4302,"low":12820.4,"count":128,"id":1603735200,"close":12946.8,"tradeTurnover":55481.0054,"open":12856.2},{"amount":13.83,"high":12953.5,"vol":13830,"low":12914.1,"count":118,"id":1603738800,"close":12953.4,"tradeTurnover":179112.1598,"open":12945.6},{"amount":17.172,"high":13007.5,"vol":17172,"low":12953.5,"count":132,"id":1603742400,"close":12983.4,"tradeTurnover":223230.2122,"open":12953.5},{"amount":3.212,"high":13007.5,"vol":3212,"low":12982.7,"count":59,"id":1603746000,"close":12993.8,"tradeTurnover":41767.8906,"open":12983.1},{"amount":1.504,"high":13007.5,"vol":1504,"low":12974.0,"count":74,"id":1603749600,"close":13007.5,"tradeTurnover":19543.3568,"open":13002.1},{"amount":3.454,"high":13061.2,"vol":3454,"low":13007.5,"count":101,"id":1603753200,"close":13033.7,"tradeTurnover":45001.601,"open":13007.5},{"amount":8.784,"high":13105.0,"vol":8784,"low":13028.3,"count":98,"id":1603756800,"close":13067.1,"tradeTurnover":114871.8246,"open":13029.2},{"amount":11.592,"high":13074.4,"vol":11592,"low":13051.5,"count":66,"id":1603760400,"close":13061.7,"tradeTurnover":151386.9038,"open":13074.3},{"amount":19.298,"high":13097.6,"vol":19298,"low":13040.1,"count":109,"id":1603764000,"close":13049.7,"tradeTurnover":252061.019,"open":13061.7},{"amount":22.992,"high":13080.0,"vol":22992,"low":13057.1,"count":69,"id":1603767600,"close":13070.4,"tradeTurnover":300453.9788,"open":13057.6},{"amount":14.396,"high":13175.0,"vol":14396,"low":13079.6,"count":59,"id":1603771200,"close":13103.3,"tradeTurnover":188461.9156,"open":13080.0},{"amount":5.058,"high":13121.3,"vol":5058,"low":13069.7,"count":44,"id":1603774800,"close":13073.6,"tradeTurnover":66201.3552,"open":13121.3},{"amount":9.106,"high":13149.0,"vol":9106,"low":13069.6,"count":107,"id":1603778400,"close":13103.4,"tradeTurnover":119104.8906,"open":13074.9},{"amount":73.95,"high":13169.8,"vol":73950,"low":12992.4,"count":305,"id":1603782000,"close":13130.0,"tradeTurnover":968195.155,"open":13103.3},{"amount":18.732,"high":13148.4,"vol":18732,"low":13044.0,"count":135,"id":1603785600,"close":13123.8,"tradeTurnover":245533.5448,"open":13135.1},{"amount":13.756,"high":13131.8,"vol":13756,"low":13075.7,"count":102,"id":1603789200,"close":13131.7,"tradeTurnover":180253.7708,"open":13115.5},{"amount":154.108,"high":13252.0,"vol":154108,"low":13063.4,"count":525,"id":1603792800,"close":13216.9,"tradeTurnover":2029983.656,"open":13134.8},{"amount":170.09,"high":13590.1,"vol":170090,"low":13213.5,"count":591,"id":1603796400,"close":13395.8,"tradeTurnover":2276279.742,"open":13218.8},{"amount":48.928,"high":13414.0,"vol":48928,"low":13331.7,"count":216,"id":1603800000,"close":13376.9,"tradeTurnover":654585.9108,"open":13395.9},{"amount":63.294,"high":13490.9,"vol":63294,"low":13329.8,"count":316,"id":1603803600,"close":13384.3,"tradeTurnover":848130.9212,"open":13376.5},{"amount":12.892,"high":13415.8,"vol":12892,"low":13344.8,"count":124,"id":1603807200,"close":13398.2,"tradeTurnover":172618.6864,"open":13392.6},{"amount":93.22,"high":13626.7,"vol":93220,"low":13398.2,"count":476,"id":1603810800,"close":13598.5,"tradeTurnover":1262695.5466,"open":13398.2},{"amount":85.45,"high":13639.9,"vol":85450,"low":13520.2,"count":435,"id":1603814400,"close":13639.9,"tradeTurnover":1161481.4136,"open":13595.8},{"amount":191.812,"high":13826.7,"vol":191812,"low":13589.0,"count":711,"id":1603818000,"close":13688.1,"tradeTurnover":2628428.3788,"open":13640.0},{"amount":65.434,"high":13745.0,"vol":65434,"low":13528.2,"count":410,"id":1603821600,"close":13630.1,"tradeTurnover":891541.8394,"open":13685.0},{"amount":5.788,"high":13659.8,"vol":5788,"low":13595.4,"count":65,"id":1603825200,"close":13637.1,"tradeTurnover":78836.2578,"open":13629.4},{"amount":163.104,"high":13805.1,"vol":163104,"low":13582.6,"count":537,"id":1603828800,"close":13616.6,"tradeTurnover":2234040.3544,"open":13644.4},{"amount":9.884,"high":13753.5,"vol":9884,"low":13609.8,"count":101,"id":1603832400,"close":13705.5,"tradeTurnover":135406.4752,"open":13609.8},{"amount":7.436,"high":13739.9,"vol":7436,"low":13658.2,"count":100,"id":1603836000,"close":13739.9,"tradeTurnover":101840.3508,"open":13705.4},{"amount":17.086,"high":13794.6,"vol":17086,"low":13582.6,"count":234,"id":1603839600,"close":13649.6,"tradeTurnover":233971.8448,"open":13739.9},{"amount":24.108,"high":13745.2,"vol":24108,"low":13618.8,"count":177,"id":1603843200,"close":13701.7,"tradeTurnover":330206.5694,"open":13645.9},{"amount":15.892,"high":13725.6,"vol":15892,"low":13647.9,"count":151,"id":1603846800,"close":13702.6,"tradeTurnover":217816.7008,"open":13702.1},{"amount":46.548,"high":13832.2,"vol":46548,"low":13680.2,"count":274,"id":1603850400,"close":13811.6,"tradeTurnover":640636.0352,"open":13701.7},{"amount":67.896,"high":13820.3,"vol":67896,"low":13717.5,"count":320,"id":1603854000,"close":13777.0,"tradeTurnover":935838.2238,"open":13818.5},{"amount":33.156,"high":13807.2,"vol":33156,"low":13710.0,"count":210,"id":1603857600,"close":13735.7,"tradeTurnover":455941.234,"open":13767.3},{"amount":32.076,"high":13753.9,"vol":32076,"low":13671.3,"count":198,"id":1603861200,"close":13715.8,"tradeTurnover":439612.64,"open":13735.5},{"amount":14.756,"high":13757.0,"vol":14756,"low":13694.9,"count":122,"id":1603864800,"close":13701.3,"tradeTurnover":202602.5164,"open":13715.9},{"amount":155.534,"high":13708.7,"vol":155534,"low":13550.0,"count":635,"id":1603868400,"close":13674.2,"tradeTurnover":2117935.0928,"open":13701.2},{"amount":29.846,"high":13691.7,"vol":29846,"low":13584.0,"count":240,"id":1603872000,"close":13691.7,"tradeTurnover":407073.1398,"open":13673.0},{"amount":104.542,"high":13707.5,"vol":104542,"low":13573.5,"count":377,"id":1603875600,"close":13587.1,"tradeTurnover":1425079.9344,"open":13689.3},{"amount":73.818,"high":13618.0,"vol":73818,"low":13504.7,"count":358,"id":1603879200,"close":13552.7,"tradeTurnover":1001666.0908,"open":13584.6},{"amount":176.544,"high":13565.4,"vol":176544,"low":13330.0,"count":1004,"id":1603882800,"close":13336.4,"tradeTurnover":2369166.1492,"open":13552.6},{"amount":289.73,"high":13385.0,"vol":289730,"low":13173.9,"count":968,"id":1603886400,"close":13300.3,"tradeTurnover":3846751.7166,"open":13331.5},{"amount":139.822,"high":13340.0,"vol":139822,"low":13122.9,"count":612,"id":1603890000,"close":13129.9,"tradeTurnover":1848876.932,"open":13300.2},{"amount":367.876,"high":13168.2,"vol":367876,"low":12915.9,"count":1168,"id":1603893600,"close":13082.2,"tradeTurnover":4802516.9818,"open":13123.4},{"amount":84.044,"high":13235.2,"vol":84044,"low":13052.3,"count":375,"id":1603897200,"close":13221.2,"tradeTurnover":1106883.1282,"open":13077.1},{"amount":29.566,"high":13218.7,"vol":29566,"low":13050.0,"count":244,"id":1603900800,"close":13145.1,"tradeTurnover":388697.4104,"open":13218.7},{"amount":53.336,"high":13204.9,"vol":53336,"low":13006.6,"count":299,"id":1603904400,"close":13176.7,"tradeTurnover":700385.2784,"open":13145.1},{"amount":34.164,"high":13219.6,"vol":34164,"low":13131.0,"count":218,"id":1603908000,"close":13196.5,"tradeTurnover":450210.5778,"open":13171.0},{"amount":22.158,"high":13237.4,"vol":22158,"low":13145.0,"count":185,"id":1603911600,"close":13154.9,"tradeTurnover":292020.0438,"open":13200.0},{"amount":4.548,"high":13211.8,"vol":4548,"low":13147.4,"count":75,"id":1603915200,"close":13198.1,"tradeTurnover":59991.1118,"open":13154.5},{"amount":3.52,"high":13196.5,"vol":3520,"low":13100.2,"count":68,"id":1603918800,"close":13190.1,"tradeTurnover":46175.428,"open":13193.5},{"amount":3.122,"high":13267.5,"vol":3122,"low":13185.4,"count":72,"id":1603922400,"close":13252.0,"tradeTurnover":41304.2018,"open":13185.4},{"amount":14.768,"high":13282.3,"vol":14768,"low":13235.9,"count":86,"id":1603926000,"close":13265.9,"tradeTurnover":195689.0764,"open":13242.1},{"amount":19.968,"high":13294.7,"vol":19968,"low":13237.4,"count":98,"id":1603929600,"close":13245.1,"tradeTurnover":264834.1944,"open":13253.9},{"amount":35.282,"high":13285.3,"vol":35282,"low":13166.3,"count":192,"id":1603933200,"close":13274.2,"tradeTurnover":465789.6302,"open":13244.6},{"amount":9.748,"high":13277.7,"vol":9748,"low":13212.2,"count":119,"id":1603936800,"close":13241.1,"tradeTurnover":129016.0684,"open":13275.9},{"amount":27.3,"high":13262.5,"vol":27300,"low":13174.6,"count":199,"id":1603940400,"close":13262.5,"tradeTurnover":360589.8982,"open":13237.1},{"amount":18.904,"high":13277.7,"vol":18904,"low":13229.5,"count":109,"id":1603944000,"close":13229.5,"tradeTurnover":250713.2812,"open":13269.1},{"amount":15.822,"high":13274.8,"vol":15822,"low":13228.5,"count":134,"id":1603947600,"close":13274.8,"tradeTurnover":209781.909,"open":13228.5},{"amount":91.246,"high":13323.0,"vol":91246,"low":13242.3,"count":294,"id":1603951200,"close":13255.0,"tradeTurnover":1211271.2788,"open":13274.8},{"amount":187.622,"high":13269.3,"vol":187622,"low":13123.1,"count":506,"id":1603954800,"close":13142.4,"tradeTurnover":2478299.7074,"open":13255.0},{"amount":69.532,"high":13182.4,"vol":69532,"low":13094.1,"count":226,"id":1603958400,"close":13124.8,"tradeTurnover":914157.2418,"open":13145.9},{"amount":23.184,"high":13197.1,"vol":23184,"low":13129.5,"count":141,"id":1603962000,"close":13183.7,"tradeTurnover":305485.9524,"open":13129.5},{"amount":121.146,"high":13187.5,"vol":121146,"low":13053.1,"count":442,"id":1603965600,"close":13105.2,"tradeTurnover":1590026.4416,"open":13184.8},{"amount":47.498,"high":13171.4,"vol":47498,"low":13060.1,"count":262,"id":1603969200,"close":13060.1,"tradeTurnover":623578.149,"open":13105.1},{"amount":126.552,"high":13145.8,"vol":126552,"low":12977.9,"count":481,"id":1603972800,"close":13131.8,"tradeTurnover":1652549.311,"open":13056.9},{"amount":100.482,"high":13237.2,"vol":100482,"low":13102.0,"count":325,"id":1603976400,"close":13230.0,"tradeTurnover":1326403.7206,"open":13131.7},{"amount":253.258,"high":13476.1,"vol":253258,"low":13231.0,"count":752,"id":1603980000,"close":13420.8,"tradeTurnover":3384941.438,"open":13231.0},{"amount":64.71,"high":13458.7,"vol":64710,"low":13358.7,"count":269,"id":1603983600,"close":13420.6,"tradeTurnover":869052.3804,"open":13416.0},{"amount":120.24,"high":13594.5,"vol":120240,"low":13391.8,"count":570,"id":1603987200,"close":13535.9,"tradeTurnover":1626567.8278,"open":13421.9}],"id":"","rep":"market.BTC-USDT.kline.60min","status":"ok"} +2024-01-18 11:13:01.868 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:39] - 请求 KLine 数据用户收到的原始数据:{"id":"","rep":"market.BTC-USDT.kline.60min","ts":1705547580778,"wsid":19750305,"status":"ok","data":[{"id":1603270800,"open":12198.0,"close":12196.7,"high":12300.0,"low":11715.8,"amount":0.276,"vol":276,"trade_turnover":3315.9104,"count":39},{"id":1603274400,"open":12196.7,"close":12277.9,"high":12289.9,"low":12111.0,"amount":0.198,"vol":198,"trade_turnover":2420.7728,"count":21},{"id":1603278000,"open":12111.0,"close":12000.0,"high":12277.9,"low":12000.0,"amount":0.012,"vol":12,"trade_turnover":145.2238,"count":5},{"id":1603281600,"open":12078.0,"close":12497.4,"high":12498.0,"low":12078.0,"amount":0.084,"vol":84,"trade_turnover":1040.0504,"count":12},{"id":1603285200,"open":12495.6,"close":12373.5,"high":12495.6,"low":12282.9,"amount":1.122,"vol":1122,"trade_turnover":13905.3124,"count":112},{"id":1603288800,"open":12412.9,"close":12689.9,"high":12807.6,"low":12358.1,"amount":5.29,"vol":5290,"trade_turnover":66852.128,"count":155},{"id":1603292400,"open":12692.8,"close":12701.9,"high":12778.7,"low":12573.2,"amount":1.174,"vol":1174,"trade_turnover":14907.367,"count":113},{"id":1603296000,"open":12679.7,"close":12835.9,"high":12920.9,"low":12624.8,"amount":1.156,"vol":1156,"trade_turnover":14802.449,"count":115},{"id":1603299600,"open":12848.3,"close":12754.2,"high":12908.3,"low":12687.5,"amount":1.12,"vol":1120,"trade_turnover":14345.7324,"count":115},{"id":1603303200,"open":12743.7,"close":12740.2,"high":12849.0,"low":12668.3,"amount":1.106,"vol":1106,"trade_turnover":14105.3504,"count":114},{"id":1603306800,"open":12729.5,"close":12650.3,"high":12843.1,"low":12597.2,"amount":1.032,"vol":1032,"trade_turnover":13125.4568,"count":112},{"id":1603310400,"open":12666.8,"close":12807.0,"high":12848.4,"low":12610.2,"amount":1.154,"vol":1154,"trade_turnover":14680.638,"count":116},{"id":1603314000,"open":12866.0,"close":12938.9,"high":13005.1,"low":12748.2,"amount":1.164,"vol":1164,"trade_turnover":14976.9366,"count":114},{"id":1603317600,"open":12921.0,"close":13122.0,"high":13211.2,"low":12865.7,"amount":1.174,"vol":1174,"trade_turnover":15285.2446,"count":114},{"id":1603321200,"open":13153.2,"close":12829.8,"high":13173.2,"low":12688.6,"amount":1.172,"vol":1172,"trade_turnover":15060.9938,"count":117},{"id":1603324800,"open":12793.1,"close":12885.9,"high":12988.1,"low":12764.4,"amount":1.17,"vol":1170,"trade_turnover":15046.2046,"count":117},{"id":1603328400,"open":12860.4,"close":12757.5,"high":12972.6,"low":12757.5,"amount":1.158,"vol":1158,"trade_turnover":14882.4656,"count":118},{"id":1603332000,"open":12824.1,"close":12788.8,"high":12848.0,"low":12729.0,"amount":1.124,"vol":1124,"trade_turnover":14368.7948,"count":115},{"id":1603335600,"open":12791.7,"close":12767.2,"high":12834.4,"low":12729.0,"amount":1.194,"vol":1194,"trade_turnover":15268.9298,"count":111},{"id":1603339200,"open":12729.0,"close":12762.2,"high":12778.3,"low":12729.0,"amount":1.152,"vol":1152,"trade_turnover":14695.4876,"count":115},{"id":1603342800,"open":12763.1,"close":12813.8,"high":12842.0,"low":12730.6,"amount":1.21,"vol":1210,"trade_turnover":15440.8162,"count":119},{"id":1603346400,"open":12795.0,"close":12729.1,"high":12795.0,"low":12728.0,"amount":1.188,"vol":1188,"trade_turnover":15128.0098,"count":123},{"id":1603350000,"open":12728.6,"close":12730.6,"high":12730.6,"low":12728.3,"amount":1.266,"vol":1266,"trade_turnover":16115.1306,"count":112},{"id":1603353600,"open":12730.3,"close":12770.1,"high":12921.5,"low":12729.9,"amount":1.35,"vol":1350,"trade_turnover":17233.7326,"count":127},{"id":1603357200,"open":12824.9,"close":12780.4,"high":12872.1,"low":12760.1,"amount":0.98,"vol":980,"trade_turnover":12553.9826,"count":99},{"id":1603360800,"open":12784.9,"close":12934.2,"high":13002.7,"low":12775.6,"amount":0.266,"vol":266,"trade_turnover":3415.023,"count":30},{"id":1603364400,"open":12977.0,"close":13045.0,"high":13057.0,"low":12886.6,"amount":1.004,"vol":1004,"trade_turnover":13020.8576,"count":117},{"id":1603368000,"open":12958.5,"close":12847.9,"high":12973.4,"low":12751.6,"amount":1.134,"vol":1134,"trade_turnover":14594.2752,"count":111},{"id":1603371600,"open":12882.7,"close":12931.0,"high":13000.8,"low":12743.0,"amount":1.152,"vol":1152,"trade_turnover":14877.7314,"count":114},{"id":1603375200,"open":12890.4,"close":12917.8,"high":12995.3,"low":12783.9,"amount":1.182,"vol":1182,"trade_turnover":15224.4716,"count":115},{"id":1603378800,"open":12918.8,"close":12953.0,"high":13031.2,"low":12817.9,"amount":1.176,"vol":1176,"trade_turnover":15197.208,"count":117},{"id":1603382400,"open":12923.1,"close":13055.6,"high":13100.2,"low":12865.6,"amount":1.146,"vol":1146,"trade_turnover":14851.9604,"count":119},{"id":1603386000,"open":12967.6,"close":13082.7,"high":13105.7,"low":12835.5,"amount":1.534,"vol":1534,"trade_turnover":19927.8288,"count":124},{"id":1603389600,"open":13020.4,"close":13016.4,"high":13115.0,"low":12938.7,"amount":1.268,"vol":1268,"trade_turnover":16505.4738,"count":117},{"id":1603393200,"open":13028.3,"close":12970.6,"high":13171.2,"low":12961.8,"amount":1.13,"vol":1130,"trade_turnover":14762.952,"count":112},{"id":1603396800,"open":13016.7,"close":13089.3,"high":13216.1,"low":12998.5,"amount":1.206,"vol":1206,"trade_turnover":15807.1226,"count":117},{"id":1603400400,"open":13136.0,"close":13092.0,"high":13203.7,"low":12932.9,"amount":1.332,"vol":1332,"trade_turnover":17423.4422,"count":114},{"id":1603404000,"open":13119.4,"close":13055.9,"high":13250.5,"low":12984.7,"amount":1.21,"vol":1210,"trade_turnover":15876.0632,"count":114},{"id":1603407600,"open":13059.4,"close":12890.4,"high":13126.5,"low":12857.2,"amount":1.286,"vol":1286,"trade_turnover":16688.422,"count":116},{"id":1603411200,"open":12929.7,"close":12892.2,"high":12994.0,"low":12751.6,"amount":1.502,"vol":1502,"trade_turnover":19331.1596,"count":131},{"id":1603414800,"open":12921.7,"close":12898.3,"high":13003.2,"low":12786.0,"amount":1.386,"vol":1386,"trade_turnover":17904.8902,"count":121},{"id":1603418400,"open":12951.6,"close":12975.1,"high":13054.0,"low":12800.7,"amount":1.416,"vol":1416,"trade_turnover":18306.6204,"count":122},{"id":1603422000,"open":12967.3,"close":12947.0,"high":13030.7,"low":12875.0,"amount":1.19,"vol":1190,"trade_turnover":15409.7984,"count":118},{"id":1603425600,"open":12925.2,"close":12852.0,"high":13047.3,"low":12832.8,"amount":1.022,"vol":1022,"trade_turnover":13214.4388,"count":127},{"id":1603429200,"open":12859.0,"close":12931.1,"high":12991.7,"low":12841.2,"amount":0.478,"vol":478,"trade_turnover":6180.2486,"count":118},{"id":1603432800,"open":12935.9,"close":12939.6,"high":13014.1,"low":12871.9,"amount":0.522,"vol":522,"trade_turnover":6759.0324,"count":132},{"id":1603436400,"open":12923.1,"close":12925.4,"high":12998.9,"low":12917.1,"amount":0.476,"vol":476,"trade_turnover":6163.3118,"count":118},{"id":1603440000,"open":12942.2,"close":12962.6,"high":13014.0,"low":12916.1,"amount":0.508,"vol":508,"trade_turnover":6585.3656,"count":122},{"id":1603443600,"open":12970.5,"close":12926.4,"high":13012.5,"low":12909.9,"amount":0.564,"vol":564,"trade_turnover":7308.8828,"count":124},{"id":1603447200,"open":13001.2,"close":13007.7,"high":13059.5,"low":12925.7,"amount":0.536,"vol":536,"trade_turnover":6957.8796,"count":124},{"id":1603450800,"open":13025.4,"close":12970.6,"high":13078.4,"low":12906.5,"amount":0.486,"vol":486,"trade_turnover":6326.1434,"count":122},{"id":1603454400,"open":12963.9,"close":12935.4,"high":13025.0,"low":12850.8,"amount":0.494,"vol":494,"trade_turnover":6396.0984,"count":117},{"id":1603458000,"open":12913.3,"close":12951.7,"high":13043.3,"low":12911.0,"amount":0.466,"vol":466,"trade_turnover":6049.1412,"count":117},{"id":1603461600,"open":12999.6,"close":12858.8,"high":13006.4,"low":12840.4,"amount":0.46,"vol":460,"trade_turnover":5941.815,"count":116},{"id":1603465200,"open":12885.7,"close":12881.9,"high":12932.9,"low":12826.5,"amount":0.492,"vol":492,"trade_turnover":6340.214,"count":117},{"id":1603468800,"open":12854.4,"close":12784.1,"high":12933.5,"low":12744.4,"amount":0.484,"vol":484,"trade_turnover":6205.4138,"count":123},{"id":1603472400,"open":12832.3,"close":12847.7,"high":12893.1,"low":12730.1,"amount":0.562,"vol":562,"trade_turnover":7218.9184,"count":152},{"id":1603476000,"open":12874.1,"close":12915.7,"high":12939.3,"low":12751.4,"amount":0.53,"vol":530,"trade_turnover":6825.7004,"count":128},{"id":1603479600,"open":12867.9,"close":12972.9,"high":12972.9,"low":12786.6,"amount":0.444,"vol":444,"trade_turnover":5727.7452,"count":117},{"id":1603483200,"open":12956.7,"close":12991.6,"high":13002.2,"low":12842.9,"amount":0.492,"vol":492,"trade_turnover":6375.1566,"count":116},{"id":1603486800,"open":13004.3,"close":12943.5,"high":13004.3,"low":12936.6,"amount":0.5,"vol":500,"trade_turnover":6485.468,"count":125},{"id":1603490400,"open":12923.6,"close":12989.2,"high":13010.3,"low":12884.7,"amount":0.492,"vol":492,"trade_turnover":6376.1492,"count":120},{"id":1603494000,"open":12974.9,"close":12884.6,"high":13024.4,"low":12884.6,"amount":0.51,"vol":510,"trade_turnover":6622.3406,"count":121},{"id":1603497600,"open":12973.7,"close":12953.9,"high":13018.3,"low":12811.1,"amount":0.488,"vol":488,"trade_turnover":6317.7938,"count":120},{"id":1603501200,"open":12927.5,"close":12934.2,"high":13018.1,"low":12872.8,"amount":0.482,"vol":482,"trade_turnover":6242.4178,"count":117},{"id":1603504800,"open":12971.9,"close":12989.1,"high":13003.9,"low":12903.3,"amount":0.484,"vol":484,"trade_turnover":6278.1756,"count":117},{"id":1603508400,"open":13000.1,"close":12975.9,"high":13013.4,"low":12938.3,"amount":0.474,"vol":474,"trade_turnover":6157.7096,"count":122},{"id":1603512000,"open":12989.7,"close":12963.3,"high":13009.4,"low":12905.5,"amount":0.526,"vol":526,"trade_turnover":6831.5658,"count":124},{"id":1603515600,"open":12910.5,"close":12989.7,"high":13041.8,"low":12875.3,"amount":0.522,"vol":522,"trade_turnover":6768.8994,"count":127},{"id":1603519200,"open":12994.7,"close":13003.6,"high":13058.1,"low":12908.8,"amount":0.49,"vol":490,"trade_turnover":6370.5714,"count":120},{"id":1603522800,"open":13011.9,"close":13004.2,"high":13037.8,"low":12981.7,"amount":0.478,"vol":478,"trade_turnover":6218.9722,"count":120},{"id":1603526400,"open":13003.0,"close":12998.2,"high":13030.6,"low":12899.4,"amount":0.52,"vol":520,"trade_turnover":6754.958,"count":124},{"id":1603530000,"open":12998.2,"close":12990.6,"high":13020.3,"low":12893.6,"amount":0.454,"vol":454,"trade_turnover":5891.0574,"count":115},{"id":1603533600,"open":12996.4,"close":13030.1,"high":13059.1,"low":12913.2,"amount":0.502,"vol":502,"trade_turnover":6525.9004,"count":124},{"id":1603537200,"open":12988.4,"close":13033.2,"high":13068.3,"low":12940.2,"amount":0.468,"vol":468,"trade_turnover":6091.0376,"count":119},{"id":1603540800,"open":13035.3,"close":13006.5,"high":13071.8,"low":12978.9,"amount":0.468,"vol":468,"trade_turnover":6102.5902,"count":123},{"id":1603544400,"open":13038.8,"close":12985.9,"high":13066.7,"low":12928.1,"amount":0.534,"vol":534,"trade_turnover":6950.4268,"count":123},{"id":1603548000,"open":12986.3,"close":13042.0,"high":13100.1,"low":12960.5,"amount":0.47,"vol":470,"trade_turnover":6124.2178,"count":100},{"id":1603551600,"open":13038.4,"close":13102.2,"high":13196.5,"low":13038.4,"amount":0.456,"vol":456,"trade_turnover":5989.6362,"count":120},{"id":1603555200,"open":13136.8,"close":13052.7,"high":13176.6,"low":12984.6,"amount":0.458,"vol":458,"trade_turnover":5976.331,"count":121},{"id":1603558800,"open":13006.2,"close":13177.8,"high":13177.8,"low":13003.2,"amount":0.452,"vol":452,"trade_turnover":5911.7058,"count":118},{"id":1603562400,"open":13127.7,"close":13080.8,"high":13170.7,"low":13023.0,"amount":0.468,"vol":468,"trade_turnover":6122.375,"count":119},{"id":1603566000,"open":13040.7,"close":13148.4,"high":13179.3,"low":13014.2,"amount":0.468,"vol":468,"trade_turnover":6126.4278,"count":120},{"id":1603569600,"open":13073.5,"close":13090.1,"high":13179.6,"low":12992.5,"amount":0.47,"vol":470,"trade_turnover":6151.4758,"count":119},{"id":1603573200,"open":13035.4,"close":12993.9,"high":13148.7,"low":12980.7,"amount":0.458,"vol":458,"trade_turnover":5981.071,"count":117},{"id":1603576800,"open":13040.7,"close":13041.1,"high":13112.1,"low":12975.6,"amount":0.478,"vol":478,"trade_turnover":6225.4216,"count":118},{"id":1603580400,"open":13012.6,"close":13184.3,"high":13184.3,"low":13009.3,"amount":0.472,"vol":472,"trade_turnover":6173.4244,"count":118},{"id":1603584000,"open":13080.8,"close":13154.3,"high":13170.4,"low":13007.7,"amount":0.46,"vol":460,"trade_turnover":6024.09,"count":115},{"id":1603587600,"open":13092.0,"close":13196.1,"high":13196.8,"low":13024.0,"amount":0.398,"vol":398,"trade_turnover":5217.5364,"count":102},{"id":1603591200,"open":13124.7,"close":13082.4,"high":13175.1,"low":13035.0,"amount":0.476,"vol":476,"trade_turnover":6228.6596,"count":120},{"id":1603594800,"open":13049.1,"close":13259.0,"high":13383.8,"low":13049.1,"amount":0.578,"vol":578,"trade_turnover":7629.3886,"count":137},{"id":1603598400,"open":13277.0,"close":13243.4,"high":13369.0,"low":13216.0,"amount":0.47,"vol":470,"trade_turnover":6247.955,"count":122},{"id":1603602000,"open":13285.3,"close":13017.3,"high":13353.3,"low":13010.1,"amount":0.61,"vol":610,"trade_turnover":8048.8598,"count":134},{"id":1603605600,"open":13022.5,"close":13060.3,"high":13105.7,"low":13018.2,"amount":0.486,"vol":486,"trade_turnover":6344.1474,"count":118},{"id":1603609200,"open":13048.5,"close":13078.1,"high":13112.1,"low":13022.0,"amount":0.464,"vol":464,"trade_turnover":6061.5416,"count":120},{"id":1603612800,"open":13077.2,"close":13046.0,"high":13091.0,"low":13017.2,"amount":0.464,"vol":464,"trade_turnover":6055.3734,"count":120},{"id":1603616400,"open":13065.1,"close":13040.8,"high":13084.0,"low":13014.2,"amount":0.478,"vol":478,"trade_turnover":6235.7882,"count":117},{"id":1603620000,"open":13047.1,"close":13028.5,"high":13064.2,"low":13010.2,"amount":0.478,"vol":478,"trade_turnover":6232.2428,"count":125},{"id":1603623600,"open":13061.5,"close":12897.6,"high":13061.5,"low":12852.9,"amount":0.534,"vol":534,"trade_turnover":6918.1226,"count":123},{"id":1603627200,"open":12908.3,"close":12964.3,"high":13069.7,"low":12893.2,"amount":0.444,"vol":444,"trade_turnover":5755.8712,"count":117},{"id":1603630800,"open":13001.3,"close":12949.3,"high":13071.9,"low":12891.8,"amount":0.498,"vol":498,"trade_turnover":6465.078,"count":119},{"id":1603634400,"open":12975.8,"close":12946.8,"high":13077.7,"low":12900.0,"amount":0.468,"vol":468,"trade_turnover":6075.4554,"count":116},{"id":1603638000,"open":12975.2,"close":12883.3,"high":13069.1,"low":12883.3,"amount":0.47,"vol":470,"trade_turnover":6097.1072,"count":119},{"id":1603641600,"open":12916.2,"close":12978.7,"high":13067.9,"low":12877.5,"amount":0.482,"vol":482,"trade_turnover":6256.4472,"count":118},{"id":1603645200,"open":13008.0,"close":13004.4,"high":13087.5,"low":12922.7,"amount":0.47,"vol":470,"trade_turnover":6108.3892,"count":117},{"id":1603648800,"open":12972.8,"close":12957.2,"high":13067.6,"low":12893.6,"amount":0.468,"vol":468,"trade_turnover":6079.1484,"count":118},{"id":1603652400,"open":12996.5,"close":13021.8,"high":13066.9,"low":12916.6,"amount":0.442,"vol":442,"trade_turnover":5746.5548,"count":118},{"id":1603656000,"open":12992.9,"close":12985.4,"high":13081.5,"low":12944.9,"amount":0.508,"vol":508,"trade_turnover":6616.9872,"count":120},{"id":1603659600,"open":12999.9,"close":13011.2,"high":13068.6,"low":12921.4,"amount":0.508,"vol":508,"trade_turnover":6614.816,"count":122},{"id":1603663200,"open":12979.6,"close":12959.4,"high":13073.8,"low":12911.9,"amount":0.486,"vol":486,"trade_turnover":6320.907,"count":121},{"id":1603666800,"open":12963.4,"close":13032.1,"high":13085.2,"low":12927.8,"amount":0.452,"vol":452,"trade_turnover":5878.6442,"count":113},{"id":1603670400,"open":12964.2,"close":13001.0,"high":13076.7,"low":12918.3,"amount":0.482,"vol":482,"trade_turnover":6263.698,"count":121},{"id":1603674000,"open":13040.0,"close":13053.7,"high":13096.4,"low":12991.2,"amount":0.478,"vol":478,"trade_turnover":6232.2328,"count":124},{"id":1603677600,"open":13060.6,"close":13064.4,"high":13185.7,"low":12985.1,"amount":0.488,"vol":488,"trade_turnover":6387.534,"count":121},{"id":1603681200,"open":13032.3,"close":13092.8,"high":13187.2,"low":12984.1,"amount":0.486,"vol":486,"trade_turnover":6369.0272,"count":135},{"id":1603684800,"open":13092.0,"close":13132.6,"high":13181.6,"low":12962.3,"amount":0.51,"vol":510,"trade_turnover":6679.829,"count":131},{"id":1603688400,"open":13129.2,"close":13092.1,"high":13205.3,"low":13025.3,"amount":0.506,"vol":506,"trade_turnover":6641.2128,"count":126},{"id":1603692000,"open":13121.8,"close":13071.4,"high":13188.1,"low":12989.8,"amount":1.616,"vol":1616,"trade_turnover":21170.8224,"count":141},{"id":1603695600,"open":13061.0,"close":13038.7,"high":13100.0,"low":12965.2,"amount":3.746,"vol":3746,"trade_turnover":48924.8902,"count":110},{"id":1603699200,"open":13030.9,"close":13039.3,"high":13102.0,"low":12852.8,"amount":8.966,"vol":8966,"trade_turnover":116525.5534,"count":173},{"id":1603702800,"open":13047.1,"close":13075.9,"high":13088.4,"low":13039.8,"amount":4.48,"vol":4480,"trade_turnover":58521.1714,"count":124},{"id":1603706400,"open":13072.1,"close":13100.0,"high":13100.0,"low":13060.2,"amount":4.272,"vol":4272,"trade_turnover":55895.9778,"count":130},{"id":1603710000,"open":13100.0,"close":13138.4,"high":13159.0,"low":13100.0,"amount":29.798,"vol":29798,"trade_turnover":391138.024,"count":230},{"id":1603713600,"open":13138.8,"close":13149.8,"high":13200.0,"low":13100.0,"amount":5.154,"vol":5154,"trade_turnover":67694.652,"count":188},{"id":1603717200,"open":13150.0,"close":13205.8,"high":13351.5,"low":13133.1,"amount":35.608,"vol":35608,"trade_turnover":472780.3394,"count":328},{"id":1603720800,"open":13203.0,"close":13166.1,"high":13280.0,"low":13144.1,"amount":31.748,"vol":31748,"trade_turnover":418744.5588,"count":235},{"id":1603724400,"open":13159.0,"close":12978.0,"high":13165.2,"low":12903.8,"amount":36.53,"vol":36530,"trade_turnover":476940.3296,"count":384},{"id":1603728000,"open":12965.0,"close":12869.6,"high":13069.8,"low":12850.5,"amount":35.018,"vol":35018,"trade_turnover":453288.918,"count":323},{"id":1603731600,"open":12879.2,"close":12873.8,"high":12941.5,"low":12583.9,"amount":92.628,"vol":92628,"trade_turnover":1185973.467,"count":560},{"id":1603735200,"open":12856.2,"close":12946.8,"high":12954.5,"low":12820.4,"amount":4.302,"vol":4302,"trade_turnover":55481.0054,"count":128},{"id":1603738800,"open":12945.6,"close":12953.4,"high":12953.5,"low":12914.1,"amount":13.83,"vol":13830,"trade_turnover":179112.1598,"count":118},{"id":1603742400,"open":12953.5,"close":12983.4,"high":13007.5,"low":12953.5,"amount":17.172,"vol":17172,"trade_turnover":223230.2122,"count":132},{"id":1603746000,"open":12983.1,"close":12993.8,"high":13007.5,"low":12982.7,"amount":3.212,"vol":3212,"trade_turnover":41767.8906,"count":59},{"id":1603749600,"open":13002.1,"close":13007.5,"high":13007.5,"low":12974.0,"amount":1.504,"vol":1504,"trade_turnover":19543.3568,"count":74},{"id":1603753200,"open":13007.5,"close":13033.7,"high":13061.2,"low":13007.5,"amount":3.454,"vol":3454,"trade_turnover":45001.601,"count":101},{"id":1603756800,"open":13029.2,"close":13067.1,"high":13105.0,"low":13028.3,"amount":8.784,"vol":8784,"trade_turnover":114871.8246,"count":98},{"id":1603760400,"open":13074.3,"close":13061.7,"high":13074.4,"low":13051.5,"amount":11.592,"vol":11592,"trade_turnover":151386.9038,"count":66},{"id":1603764000,"open":13061.7,"close":13049.7,"high":13097.6,"low":13040.1,"amount":19.298,"vol":19298,"trade_turnover":252061.019,"count":109},{"id":1603767600,"open":13057.6,"close":13070.4,"high":13080.0,"low":13057.1,"amount":22.992,"vol":22992,"trade_turnover":300453.9788,"count":69},{"id":1603771200,"open":13080.0,"close":13103.3,"high":13175.0,"low":13079.6,"amount":14.396,"vol":14396,"trade_turnover":188461.9156,"count":59},{"id":1603774800,"open":13121.3,"close":13073.6,"high":13121.3,"low":13069.7,"amount":5.058,"vol":5058,"trade_turnover":66201.3552,"count":44},{"id":1603778400,"open":13074.9,"close":13103.4,"high":13149.0,"low":13069.6,"amount":9.106,"vol":9106,"trade_turnover":119104.8906,"count":107},{"id":1603782000,"open":13103.3,"close":13130.0,"high":13169.8,"low":12992.4,"amount":73.95,"vol":73950,"trade_turnover":968195.155,"count":305},{"id":1603785600,"open":13135.1,"close":13123.8,"high":13148.4,"low":13044.0,"amount":18.732,"vol":18732,"trade_turnover":245533.5448,"count":135},{"id":1603789200,"open":13115.5,"close":13131.7,"high":13131.8,"low":13075.7,"amount":13.756,"vol":13756,"trade_turnover":180253.7708,"count":102},{"id":1603792800,"open":13134.8,"close":13216.9,"high":13252.0,"low":13063.4,"amount":154.108,"vol":154108,"trade_turnover":2029983.656,"count":525},{"id":1603796400,"open":13218.8,"close":13395.8,"high":13590.1,"low":13213.5,"amount":170.09,"vol":170090,"trade_turnover":2276279.742,"count":591},{"id":1603800000,"open":13395.9,"close":13376.9,"high":13414.0,"low":13331.7,"amount":48.928,"vol":48928,"trade_turnover":654585.9108,"count":216},{"id":1603803600,"open":13376.5,"close":13384.3,"high":13490.9,"low":13329.8,"amount":63.294,"vol":63294,"trade_turnover":848130.9212,"count":316},{"id":1603807200,"open":13392.6,"close":13398.2,"high":13415.8,"low":13344.8,"amount":12.892,"vol":12892,"trade_turnover":172618.6864,"count":124},{"id":1603810800,"open":13398.2,"close":13598.5,"high":13626.7,"low":13398.2,"amount":93.22,"vol":93220,"trade_turnover":1262695.5466,"count":476},{"id":1603814400,"open":13595.8,"close":13639.9,"high":13639.9,"low":13520.2,"amount":85.45,"vol":85450,"trade_turnover":1161481.4136,"count":435},{"id":1603818000,"open":13640.0,"close":13688.1,"high":13826.7,"low":13589.0,"amount":191.812,"vol":191812,"trade_turnover":2628428.3788,"count":711},{"id":1603821600,"open":13685.0,"close":13630.1,"high":13745.0,"low":13528.2,"amount":65.434,"vol":65434,"trade_turnover":891541.8394,"count":410},{"id":1603825200,"open":13629.4,"close":13637.1,"high":13659.8,"low":13595.4,"amount":5.788,"vol":5788,"trade_turnover":78836.2578,"count":65},{"id":1603828800,"open":13644.4,"close":13616.6,"high":13805.1,"low":13582.6,"amount":163.104,"vol":163104,"trade_turnover":2234040.3544,"count":537},{"id":1603832400,"open":13609.8,"close":13705.5,"high":13753.5,"low":13609.8,"amount":9.884,"vol":9884,"trade_turnover":135406.4752,"count":101},{"id":1603836000,"open":13705.4,"close":13739.9,"high":13739.9,"low":13658.2,"amount":7.436,"vol":7436,"trade_turnover":101840.3508,"count":100},{"id":1603839600,"open":13739.9,"close":13649.6,"high":13794.6,"low":13582.6,"amount":17.086,"vol":17086,"trade_turnover":233971.8448,"count":234},{"id":1603843200,"open":13645.9,"close":13701.7,"high":13745.2,"low":13618.8,"amount":24.108,"vol":24108,"trade_turnover":330206.5694,"count":177},{"id":1603846800,"open":13702.1,"close":13702.6,"high":13725.6,"low":13647.9,"amount":15.892,"vol":15892,"trade_turnover":217816.7008,"count":151},{"id":1603850400,"open":13701.7,"close":13811.6,"high":13832.2,"low":13680.2,"amount":46.548,"vol":46548,"trade_turnover":640636.0352,"count":274},{"id":1603854000,"open":13818.5,"close":13777.0,"high":13820.3,"low":13717.5,"amount":67.896,"vol":67896,"trade_turnover":935838.2238,"count":320},{"id":1603857600,"open":13767.3,"close":13735.7,"high":13807.2,"low":13710.0,"amount":33.156,"vol":33156,"trade_turnover":455941.234,"count":210},{"id":1603861200,"open":13735.5,"close":13715.8,"high":13753.9,"low":13671.3,"amount":32.076,"vol":32076,"trade_turnover":439612.64,"count":198},{"id":1603864800,"open":13715.9,"close":13701.3,"high":13757.0,"low":13694.9,"amount":14.756,"vol":14756,"trade_turnover":202602.5164,"count":122},{"id":1603868400,"open":13701.2,"close":13674.2,"high":13708.7,"low":13550.0,"amount":155.534,"vol":155534,"trade_turnover":2117935.0928,"count":635},{"id":1603872000,"open":13673.0,"close":13691.7,"high":13691.7,"low":13584.0,"amount":29.846,"vol":29846,"trade_turnover":407073.1398,"count":240},{"id":1603875600,"open":13689.3,"close":13587.1,"high":13707.5,"low":13573.5,"amount":104.542,"vol":104542,"trade_turnover":1425079.9344,"count":377},{"id":1603879200,"open":13584.6,"close":13552.7,"high":13618.0,"low":13504.7,"amount":73.818,"vol":73818,"trade_turnover":1001666.0908,"count":358},{"id":1603882800,"open":13552.6,"close":13336.4,"high":13565.4,"low":13330.0,"amount":176.544,"vol":176544,"trade_turnover":2369166.1492,"count":1004},{"id":1603886400,"open":13331.5,"close":13300.3,"high":13385.0,"low":13173.9,"amount":289.73,"vol":289730,"trade_turnover":3846751.7166,"count":968},{"id":1603890000,"open":13300.2,"close":13129.9,"high":13340.0,"low":13122.9,"amount":139.822,"vol":139822,"trade_turnover":1848876.932,"count":612},{"id":1603893600,"open":13123.4,"close":13082.2,"high":13168.2,"low":12915.9,"amount":367.876,"vol":367876,"trade_turnover":4802516.9818,"count":1168},{"id":1603897200,"open":13077.1,"close":13221.2,"high":13235.2,"low":13052.3,"amount":84.044,"vol":84044,"trade_turnover":1106883.1282,"count":375},{"id":1603900800,"open":13218.7,"close":13145.1,"high":13218.7,"low":13050.0,"amount":29.566,"vol":29566,"trade_turnover":388697.4104,"count":244},{"id":1603904400,"open":13145.1,"close":13176.7,"high":13204.9,"low":13006.6,"amount":53.336,"vol":53336,"trade_turnover":700385.2784,"count":299},{"id":1603908000,"open":13171.0,"close":13196.5,"high":13219.6,"low":13131.0,"amount":34.164,"vol":34164,"trade_turnover":450210.5778,"count":218},{"id":1603911600,"open":13200.0,"close":13154.9,"high":13237.4,"low":13145.0,"amount":22.158,"vol":22158,"trade_turnover":292020.0438,"count":185},{"id":1603915200,"open":13154.5,"close":13198.1,"high":13211.8,"low":13147.4,"amount":4.548,"vol":4548,"trade_turnover":59991.1118,"count":75},{"id":1603918800,"open":13193.5,"close":13190.1,"high":13196.5,"low":13100.2,"amount":3.52,"vol":3520,"trade_turnover":46175.428,"count":68},{"id":1603922400,"open":13185.4,"close":13252.0,"high":13267.5,"low":13185.4,"amount":3.122,"vol":3122,"trade_turnover":41304.2018,"count":72},{"id":1603926000,"open":13242.1,"close":13265.9,"high":13282.3,"low":13235.9,"amount":14.768,"vol":14768,"trade_turnover":195689.0764,"count":86},{"id":1603929600,"open":13253.9,"close":13245.1,"high":13294.7,"low":13237.4,"amount":19.968,"vol":19968,"trade_turnover":264834.1944,"count":98},{"id":1603933200,"open":13244.6,"close":13274.2,"high":13285.3,"low":13166.3,"amount":35.282,"vol":35282,"trade_turnover":465789.6302,"count":192},{"id":1603936800,"open":13275.9,"close":13241.1,"high":13277.7,"low":13212.2,"amount":9.748,"vol":9748,"trade_turnover":129016.0684,"count":119},{"id":1603940400,"open":13237.1,"close":13262.5,"high":13262.5,"low":13174.6,"amount":27.3,"vol":27300,"trade_turnover":360589.8982,"count":199},{"id":1603944000,"open":13269.1,"close":13229.5,"high":13277.7,"low":13229.5,"amount":18.904,"vol":18904,"trade_turnover":250713.2812,"count":109},{"id":1603947600,"open":13228.5,"close":13274.8,"high":13274.8,"low":13228.5,"amount":15.822,"vol":15822,"trade_turnover":209781.909,"count":134},{"id":1603951200,"open":13274.8,"close":13255.0,"high":13323.0,"low":13242.3,"amount":91.246,"vol":91246,"trade_turnover":1211271.2788,"count":294},{"id":1603954800,"open":13255.0,"close":13142.4,"high":13269.3,"low":13123.1,"amount":187.622,"vol":187622,"trade_turnover":2478299.7074,"count":506},{"id":1603958400,"open":13145.9,"close":13124.8,"high":13182.4,"low":13094.1,"amount":69.532,"vol":69532,"trade_turnover":914157.2418,"count":226},{"id":1603962000,"open":13129.5,"close":13183.7,"high":13197.1,"low":13129.5,"amount":23.184,"vol":23184,"trade_turnover":305485.9524,"count":141},{"id":1603965600,"open":13184.8,"close":13105.2,"high":13187.5,"low":13053.1,"amount":121.146,"vol":121146,"trade_turnover":1590026.4416,"count":442},{"id":1603969200,"open":13105.1,"close":13060.1,"high":13171.4,"low":13060.1,"amount":47.498,"vol":47498,"trade_turnover":623578.149,"count":262},{"id":1603972800,"open":13056.9,"close":13131.8,"high":13145.8,"low":12977.9,"amount":126.552,"vol":126552,"trade_turnover":1652549.311,"count":481},{"id":1603976400,"open":13131.7,"close":13230.0,"high":13237.2,"low":13102.0,"amount":100.482,"vol":100482,"trade_turnover":1326403.7206,"count":325},{"id":1603980000,"open":13231.0,"close":13420.8,"high":13476.1,"low":13231.0,"amount":253.258,"vol":253258,"trade_turnover":3384941.438,"count":752},{"id":1603983600,"open":13416.0,"close":13420.6,"high":13458.7,"low":13358.7,"amount":64.71,"vol":64710,"trade_turnover":869052.3804,"count":269},{"id":1603987200,"open":13421.9,"close":13535.9,"high":13594.5,"low":13391.8,"amount":120.24,"vol":120240,"trade_turnover":1626567.8278,"count":570}]} +2024-01-18 11:13:01.871 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:41] - 请求 KLine 数据解析之后的数据为:{"wsid":19750305,"data":[{"amount":0.276,"high":12300.0,"vol":276,"low":11715.8,"count":39,"id":1603270800,"close":12196.7,"tradeTurnover":3315.9104,"open":12198.0},{"amount":0.198,"high":12289.9,"vol":198,"low":12111.0,"count":21,"id":1603274400,"close":12277.9,"tradeTurnover":2420.7728,"open":12196.7},{"amount":0.012,"high":12277.9,"vol":12,"low":12000.0,"count":5,"id":1603278000,"close":12000.0,"tradeTurnover":145.2238,"open":12111.0},{"amount":0.084,"high":12498.0,"vol":84,"low":12078.0,"count":12,"id":1603281600,"close":12497.4,"tradeTurnover":1040.0504,"open":12078.0},{"amount":1.122,"high":12495.6,"vol":1122,"low":12282.9,"count":112,"id":1603285200,"close":12373.5,"tradeTurnover":13905.3124,"open":12495.6},{"amount":5.29,"high":12807.6,"vol":5290,"low":12358.1,"count":155,"id":1603288800,"close":12689.9,"tradeTurnover":66852.128,"open":12412.9},{"amount":1.174,"high":12778.7,"vol":1174,"low":12573.2,"count":113,"id":1603292400,"close":12701.9,"tradeTurnover":14907.367,"open":12692.8},{"amount":1.156,"high":12920.9,"vol":1156,"low":12624.8,"count":115,"id":1603296000,"close":12835.9,"tradeTurnover":14802.449,"open":12679.7},{"amount":1.12,"high":12908.3,"vol":1120,"low":12687.5,"count":115,"id":1603299600,"close":12754.2,"tradeTurnover":14345.7324,"open":12848.3},{"amount":1.106,"high":12849.0,"vol":1106,"low":12668.3,"count":114,"id":1603303200,"close":12740.2,"tradeTurnover":14105.3504,"open":12743.7},{"amount":1.032,"high":12843.1,"vol":1032,"low":12597.2,"count":112,"id":1603306800,"close":12650.3,"tradeTurnover":13125.4568,"open":12729.5},{"amount":1.154,"high":12848.4,"vol":1154,"low":12610.2,"count":116,"id":1603310400,"close":12807.0,"tradeTurnover":14680.638,"open":12666.8},{"amount":1.164,"high":13005.1,"vol":1164,"low":12748.2,"count":114,"id":1603314000,"close":12938.9,"tradeTurnover":14976.9366,"open":12866.0},{"amount":1.174,"high":13211.2,"vol":1174,"low":12865.7,"count":114,"id":1603317600,"close":13122.0,"tradeTurnover":15285.2446,"open":12921.0},{"amount":1.172,"high":13173.2,"vol":1172,"low":12688.6,"count":117,"id":1603321200,"close":12829.8,"tradeTurnover":15060.9938,"open":13153.2},{"amount":1.17,"high":12988.1,"vol":1170,"low":12764.4,"count":117,"id":1603324800,"close":12885.9,"tradeTurnover":15046.2046,"open":12793.1},{"amount":1.158,"high":12972.6,"vol":1158,"low":12757.5,"count":118,"id":1603328400,"close":12757.5,"tradeTurnover":14882.4656,"open":12860.4},{"amount":1.124,"high":12848.0,"vol":1124,"low":12729.0,"count":115,"id":1603332000,"close":12788.8,"tradeTurnover":14368.7948,"open":12824.1},{"amount":1.194,"high":12834.4,"vol":1194,"low":12729.0,"count":111,"id":1603335600,"close":12767.2,"tradeTurnover":15268.9298,"open":12791.7},{"amount":1.152,"high":12778.3,"vol":1152,"low":12729.0,"count":115,"id":1603339200,"close":12762.2,"tradeTurnover":14695.4876,"open":12729.0},{"amount":1.21,"high":12842.0,"vol":1210,"low":12730.6,"count":119,"id":1603342800,"close":12813.8,"tradeTurnover":15440.8162,"open":12763.1},{"amount":1.188,"high":12795.0,"vol":1188,"low":12728.0,"count":123,"id":1603346400,"close":12729.1,"tradeTurnover":15128.0098,"open":12795.0},{"amount":1.266,"high":12730.6,"vol":1266,"low":12728.3,"count":112,"id":1603350000,"close":12730.6,"tradeTurnover":16115.1306,"open":12728.6},{"amount":1.35,"high":12921.5,"vol":1350,"low":12729.9,"count":127,"id":1603353600,"close":12770.1,"tradeTurnover":17233.7326,"open":12730.3},{"amount":0.98,"high":12872.1,"vol":980,"low":12760.1,"count":99,"id":1603357200,"close":12780.4,"tradeTurnover":12553.9826,"open":12824.9},{"amount":0.266,"high":13002.7,"vol":266,"low":12775.6,"count":30,"id":1603360800,"close":12934.2,"tradeTurnover":3415.023,"open":12784.9},{"amount":1.004,"high":13057.0,"vol":1004,"low":12886.6,"count":117,"id":1603364400,"close":13045.0,"tradeTurnover":13020.8576,"open":12977.0},{"amount":1.134,"high":12973.4,"vol":1134,"low":12751.6,"count":111,"id":1603368000,"close":12847.9,"tradeTurnover":14594.2752,"open":12958.5},{"amount":1.152,"high":13000.8,"vol":1152,"low":12743.0,"count":114,"id":1603371600,"close":12931.0,"tradeTurnover":14877.7314,"open":12882.7},{"amount":1.182,"high":12995.3,"vol":1182,"low":12783.9,"count":115,"id":1603375200,"close":12917.8,"tradeTurnover":15224.4716,"open":12890.4},{"amount":1.176,"high":13031.2,"vol":1176,"low":12817.9,"count":117,"id":1603378800,"close":12953.0,"tradeTurnover":15197.208,"open":12918.8},{"amount":1.146,"high":13100.2,"vol":1146,"low":12865.6,"count":119,"id":1603382400,"close":13055.6,"tradeTurnover":14851.9604,"open":12923.1},{"amount":1.534,"high":13105.7,"vol":1534,"low":12835.5,"count":124,"id":1603386000,"close":13082.7,"tradeTurnover":19927.8288,"open":12967.6},{"amount":1.268,"high":13115.0,"vol":1268,"low":12938.7,"count":117,"id":1603389600,"close":13016.4,"tradeTurnover":16505.4738,"open":13020.4},{"amount":1.13,"high":13171.2,"vol":1130,"low":12961.8,"count":112,"id":1603393200,"close":12970.6,"tradeTurnover":14762.952,"open":13028.3},{"amount":1.206,"high":13216.1,"vol":1206,"low":12998.5,"count":117,"id":1603396800,"close":13089.3,"tradeTurnover":15807.1226,"open":13016.7},{"amount":1.332,"high":13203.7,"vol":1332,"low":12932.9,"count":114,"id":1603400400,"close":13092.0,"tradeTurnover":17423.4422,"open":13136.0},{"amount":1.21,"high":13250.5,"vol":1210,"low":12984.7,"count":114,"id":1603404000,"close":13055.9,"tradeTurnover":15876.0632,"open":13119.4},{"amount":1.286,"high":13126.5,"vol":1286,"low":12857.2,"count":116,"id":1603407600,"close":12890.4,"tradeTurnover":16688.422,"open":13059.4},{"amount":1.502,"high":12994.0,"vol":1502,"low":12751.6,"count":131,"id":1603411200,"close":12892.2,"tradeTurnover":19331.1596,"open":12929.7},{"amount":1.386,"high":13003.2,"vol":1386,"low":12786.0,"count":121,"id":1603414800,"close":12898.3,"tradeTurnover":17904.8902,"open":12921.7},{"amount":1.416,"high":13054.0,"vol":1416,"low":12800.7,"count":122,"id":1603418400,"close":12975.1,"tradeTurnover":18306.6204,"open":12951.6},{"amount":1.19,"high":13030.7,"vol":1190,"low":12875.0,"count":118,"id":1603422000,"close":12947.0,"tradeTurnover":15409.7984,"open":12967.3},{"amount":1.022,"high":13047.3,"vol":1022,"low":12832.8,"count":127,"id":1603425600,"close":12852.0,"tradeTurnover":13214.4388,"open":12925.2},{"amount":0.478,"high":12991.7,"vol":478,"low":12841.2,"count":118,"id":1603429200,"close":12931.1,"tradeTurnover":6180.2486,"open":12859.0},{"amount":0.522,"high":13014.1,"vol":522,"low":12871.9,"count":132,"id":1603432800,"close":12939.6,"tradeTurnover":6759.0324,"open":12935.9},{"amount":0.476,"high":12998.9,"vol":476,"low":12917.1,"count":118,"id":1603436400,"close":12925.4,"tradeTurnover":6163.3118,"open":12923.1},{"amount":0.508,"high":13014.0,"vol":508,"low":12916.1,"count":122,"id":1603440000,"close":12962.6,"tradeTurnover":6585.3656,"open":12942.2},{"amount":0.564,"high":13012.5,"vol":564,"low":12909.9,"count":124,"id":1603443600,"close":12926.4,"tradeTurnover":7308.8828,"open":12970.5},{"amount":0.536,"high":13059.5,"vol":536,"low":12925.7,"count":124,"id":1603447200,"close":13007.7,"tradeTurnover":6957.8796,"open":13001.2},{"amount":0.486,"high":13078.4,"vol":486,"low":12906.5,"count":122,"id":1603450800,"close":12970.6,"tradeTurnover":6326.1434,"open":13025.4},{"amount":0.494,"high":13025.0,"vol":494,"low":12850.8,"count":117,"id":1603454400,"close":12935.4,"tradeTurnover":6396.0984,"open":12963.9},{"amount":0.466,"high":13043.3,"vol":466,"low":12911.0,"count":117,"id":1603458000,"close":12951.7,"tradeTurnover":6049.1412,"open":12913.3},{"amount":0.46,"high":13006.4,"vol":460,"low":12840.4,"count":116,"id":1603461600,"close":12858.8,"tradeTurnover":5941.815,"open":12999.6},{"amount":0.492,"high":12932.9,"vol":492,"low":12826.5,"count":117,"id":1603465200,"close":12881.9,"tradeTurnover":6340.214,"open":12885.7},{"amount":0.484,"high":12933.5,"vol":484,"low":12744.4,"count":123,"id":1603468800,"close":12784.1,"tradeTurnover":6205.4138,"open":12854.4},{"amount":0.562,"high":12893.1,"vol":562,"low":12730.1,"count":152,"id":1603472400,"close":12847.7,"tradeTurnover":7218.9184,"open":12832.3},{"amount":0.53,"high":12939.3,"vol":530,"low":12751.4,"count":128,"id":1603476000,"close":12915.7,"tradeTurnover":6825.7004,"open":12874.1},{"amount":0.444,"high":12972.9,"vol":444,"low":12786.6,"count":117,"id":1603479600,"close":12972.9,"tradeTurnover":5727.7452,"open":12867.9},{"amount":0.492,"high":13002.2,"vol":492,"low":12842.9,"count":116,"id":1603483200,"close":12991.6,"tradeTurnover":6375.1566,"open":12956.7},{"amount":0.5,"high":13004.3,"vol":500,"low":12936.6,"count":125,"id":1603486800,"close":12943.5,"tradeTurnover":6485.468,"open":13004.3},{"amount":0.492,"high":13010.3,"vol":492,"low":12884.7,"count":120,"id":1603490400,"close":12989.2,"tradeTurnover":6376.1492,"open":12923.6},{"amount":0.51,"high":13024.4,"vol":510,"low":12884.6,"count":121,"id":1603494000,"close":12884.6,"tradeTurnover":6622.3406,"open":12974.9},{"amount":0.488,"high":13018.3,"vol":488,"low":12811.1,"count":120,"id":1603497600,"close":12953.9,"tradeTurnover":6317.7938,"open":12973.7},{"amount":0.482,"high":13018.1,"vol":482,"low":12872.8,"count":117,"id":1603501200,"close":12934.2,"tradeTurnover":6242.4178,"open":12927.5},{"amount":0.484,"high":13003.9,"vol":484,"low":12903.3,"count":117,"id":1603504800,"close":12989.1,"tradeTurnover":6278.1756,"open":12971.9},{"amount":0.474,"high":13013.4,"vol":474,"low":12938.3,"count":122,"id":1603508400,"close":12975.9,"tradeTurnover":6157.7096,"open":13000.1},{"amount":0.526,"high":13009.4,"vol":526,"low":12905.5,"count":124,"id":1603512000,"close":12963.3,"tradeTurnover":6831.5658,"open":12989.7},{"amount":0.522,"high":13041.8,"vol":522,"low":12875.3,"count":127,"id":1603515600,"close":12989.7,"tradeTurnover":6768.8994,"open":12910.5},{"amount":0.49,"high":13058.1,"vol":490,"low":12908.8,"count":120,"id":1603519200,"close":13003.6,"tradeTurnover":6370.5714,"open":12994.7},{"amount":0.478,"high":13037.8,"vol":478,"low":12981.7,"count":120,"id":1603522800,"close":13004.2,"tradeTurnover":6218.9722,"open":13011.9},{"amount":0.52,"high":13030.6,"vol":520,"low":12899.4,"count":124,"id":1603526400,"close":12998.2,"tradeTurnover":6754.958,"open":13003.0},{"amount":0.454,"high":13020.3,"vol":454,"low":12893.6,"count":115,"id":1603530000,"close":12990.6,"tradeTurnover":5891.0574,"open":12998.2},{"amount":0.502,"high":13059.1,"vol":502,"low":12913.2,"count":124,"id":1603533600,"close":13030.1,"tradeTurnover":6525.9004,"open":12996.4},{"amount":0.468,"high":13068.3,"vol":468,"low":12940.2,"count":119,"id":1603537200,"close":13033.2,"tradeTurnover":6091.0376,"open":12988.4},{"amount":0.468,"high":13071.8,"vol":468,"low":12978.9,"count":123,"id":1603540800,"close":13006.5,"tradeTurnover":6102.5902,"open":13035.3},{"amount":0.534,"high":13066.7,"vol":534,"low":12928.1,"count":123,"id":1603544400,"close":12985.9,"tradeTurnover":6950.4268,"open":13038.8},{"amount":0.47,"high":13100.1,"vol":470,"low":12960.5,"count":100,"id":1603548000,"close":13042.0,"tradeTurnover":6124.2178,"open":12986.3},{"amount":0.456,"high":13196.5,"vol":456,"low":13038.4,"count":120,"id":1603551600,"close":13102.2,"tradeTurnover":5989.6362,"open":13038.4},{"amount":0.458,"high":13176.6,"vol":458,"low":12984.6,"count":121,"id":1603555200,"close":13052.7,"tradeTurnover":5976.331,"open":13136.8},{"amount":0.452,"high":13177.8,"vol":452,"low":13003.2,"count":118,"id":1603558800,"close":13177.8,"tradeTurnover":5911.7058,"open":13006.2},{"amount":0.468,"high":13170.7,"vol":468,"low":13023.0,"count":119,"id":1603562400,"close":13080.8,"tradeTurnover":6122.375,"open":13127.7},{"amount":0.468,"high":13179.3,"vol":468,"low":13014.2,"count":120,"id":1603566000,"close":13148.4,"tradeTurnover":6126.4278,"open":13040.7},{"amount":0.47,"high":13179.6,"vol":470,"low":12992.5,"count":119,"id":1603569600,"close":13090.1,"tradeTurnover":6151.4758,"open":13073.5},{"amount":0.458,"high":13148.7,"vol":458,"low":12980.7,"count":117,"id":1603573200,"close":12993.9,"tradeTurnover":5981.071,"open":13035.4},{"amount":0.478,"high":13112.1,"vol":478,"low":12975.6,"count":118,"id":1603576800,"close":13041.1,"tradeTurnover":6225.4216,"open":13040.7},{"amount":0.472,"high":13184.3,"vol":472,"low":13009.3,"count":118,"id":1603580400,"close":13184.3,"tradeTurnover":6173.4244,"open":13012.6},{"amount":0.46,"high":13170.4,"vol":460,"low":13007.7,"count":115,"id":1603584000,"close":13154.3,"tradeTurnover":6024.09,"open":13080.8},{"amount":0.398,"high":13196.8,"vol":398,"low":13024.0,"count":102,"id":1603587600,"close":13196.1,"tradeTurnover":5217.5364,"open":13092.0},{"amount":0.476,"high":13175.1,"vol":476,"low":13035.0,"count":120,"id":1603591200,"close":13082.4,"tradeTurnover":6228.6596,"open":13124.7},{"amount":0.578,"high":13383.8,"vol":578,"low":13049.1,"count":137,"id":1603594800,"close":13259.0,"tradeTurnover":7629.3886,"open":13049.1},{"amount":0.47,"high":13369.0,"vol":470,"low":13216.0,"count":122,"id":1603598400,"close":13243.4,"tradeTurnover":6247.955,"open":13277.0},{"amount":0.61,"high":13353.3,"vol":610,"low":13010.1,"count":134,"id":1603602000,"close":13017.3,"tradeTurnover":8048.8598,"open":13285.3},{"amount":0.486,"high":13105.7,"vol":486,"low":13018.2,"count":118,"id":1603605600,"close":13060.3,"tradeTurnover":6344.1474,"open":13022.5},{"amount":0.464,"high":13112.1,"vol":464,"low":13022.0,"count":120,"id":1603609200,"close":13078.1,"tradeTurnover":6061.5416,"open":13048.5},{"amount":0.464,"high":13091.0,"vol":464,"low":13017.2,"count":120,"id":1603612800,"close":13046.0,"tradeTurnover":6055.3734,"open":13077.2},{"amount":0.478,"high":13084.0,"vol":478,"low":13014.2,"count":117,"id":1603616400,"close":13040.8,"tradeTurnover":6235.7882,"open":13065.1},{"amount":0.478,"high":13064.2,"vol":478,"low":13010.2,"count":125,"id":1603620000,"close":13028.5,"tradeTurnover":6232.2428,"open":13047.1},{"amount":0.534,"high":13061.5,"vol":534,"low":12852.9,"count":123,"id":1603623600,"close":12897.6,"tradeTurnover":6918.1226,"open":13061.5},{"amount":0.444,"high":13069.7,"vol":444,"low":12893.2,"count":117,"id":1603627200,"close":12964.3,"tradeTurnover":5755.8712,"open":12908.3},{"amount":0.498,"high":13071.9,"vol":498,"low":12891.8,"count":119,"id":1603630800,"close":12949.3,"tradeTurnover":6465.078,"open":13001.3},{"amount":0.468,"high":13077.7,"vol":468,"low":12900.0,"count":116,"id":1603634400,"close":12946.8,"tradeTurnover":6075.4554,"open":12975.8},{"amount":0.47,"high":13069.1,"vol":470,"low":12883.3,"count":119,"id":1603638000,"close":12883.3,"tradeTurnover":6097.1072,"open":12975.2},{"amount":0.482,"high":13067.9,"vol":482,"low":12877.5,"count":118,"id":1603641600,"close":12978.7,"tradeTurnover":6256.4472,"open":12916.2},{"amount":0.47,"high":13087.5,"vol":470,"low":12922.7,"count":117,"id":1603645200,"close":13004.4,"tradeTurnover":6108.3892,"open":13008.0},{"amount":0.468,"high":13067.6,"vol":468,"low":12893.6,"count":118,"id":1603648800,"close":12957.2,"tradeTurnover":6079.1484,"open":12972.8},{"amount":0.442,"high":13066.9,"vol":442,"low":12916.6,"count":118,"id":1603652400,"close":13021.8,"tradeTurnover":5746.5548,"open":12996.5},{"amount":0.508,"high":13081.5,"vol":508,"low":12944.9,"count":120,"id":1603656000,"close":12985.4,"tradeTurnover":6616.9872,"open":12992.9},{"amount":0.508,"high":13068.6,"vol":508,"low":12921.4,"count":122,"id":1603659600,"close":13011.2,"tradeTurnover":6614.816,"open":12999.9},{"amount":0.486,"high":13073.8,"vol":486,"low":12911.9,"count":121,"id":1603663200,"close":12959.4,"tradeTurnover":6320.907,"open":12979.6},{"amount":0.452,"high":13085.2,"vol":452,"low":12927.8,"count":113,"id":1603666800,"close":13032.1,"tradeTurnover":5878.6442,"open":12963.4},{"amount":0.482,"high":13076.7,"vol":482,"low":12918.3,"count":121,"id":1603670400,"close":13001.0,"tradeTurnover":6263.698,"open":12964.2},{"amount":0.478,"high":13096.4,"vol":478,"low":12991.2,"count":124,"id":1603674000,"close":13053.7,"tradeTurnover":6232.2328,"open":13040.0},{"amount":0.488,"high":13185.7,"vol":488,"low":12985.1,"count":121,"id":1603677600,"close":13064.4,"tradeTurnover":6387.534,"open":13060.6},{"amount":0.486,"high":13187.2,"vol":486,"low":12984.1,"count":135,"id":1603681200,"close":13092.8,"tradeTurnover":6369.0272,"open":13032.3},{"amount":0.51,"high":13181.6,"vol":510,"low":12962.3,"count":131,"id":1603684800,"close":13132.6,"tradeTurnover":6679.829,"open":13092.0},{"amount":0.506,"high":13205.3,"vol":506,"low":13025.3,"count":126,"id":1603688400,"close":13092.1,"tradeTurnover":6641.2128,"open":13129.2},{"amount":1.616,"high":13188.1,"vol":1616,"low":12989.8,"count":141,"id":1603692000,"close":13071.4,"tradeTurnover":21170.8224,"open":13121.8},{"amount":3.746,"high":13100.0,"vol":3746,"low":12965.2,"count":110,"id":1603695600,"close":13038.7,"tradeTurnover":48924.8902,"open":13061.0},{"amount":8.966,"high":13102.0,"vol":8966,"low":12852.8,"count":173,"id":1603699200,"close":13039.3,"tradeTurnover":116525.5534,"open":13030.9},{"amount":4.48,"high":13088.4,"vol":4480,"low":13039.8,"count":124,"id":1603702800,"close":13075.9,"tradeTurnover":58521.1714,"open":13047.1},{"amount":4.272,"high":13100.0,"vol":4272,"low":13060.2,"count":130,"id":1603706400,"close":13100.0,"tradeTurnover":55895.9778,"open":13072.1},{"amount":29.798,"high":13159.0,"vol":29798,"low":13100.0,"count":230,"id":1603710000,"close":13138.4,"tradeTurnover":391138.024,"open":13100.0},{"amount":5.154,"high":13200.0,"vol":5154,"low":13100.0,"count":188,"id":1603713600,"close":13149.8,"tradeTurnover":67694.652,"open":13138.8},{"amount":35.608,"high":13351.5,"vol":35608,"low":13133.1,"count":328,"id":1603717200,"close":13205.8,"tradeTurnover":472780.3394,"open":13150.0},{"amount":31.748,"high":13280.0,"vol":31748,"low":13144.1,"count":235,"id":1603720800,"close":13166.1,"tradeTurnover":418744.5588,"open":13203.0},{"amount":36.53,"high":13165.2,"vol":36530,"low":12903.8,"count":384,"id":1603724400,"close":12978.0,"tradeTurnover":476940.3296,"open":13159.0},{"amount":35.018,"high":13069.8,"vol":35018,"low":12850.5,"count":323,"id":1603728000,"close":12869.6,"tradeTurnover":453288.918,"open":12965.0},{"amount":92.628,"high":12941.5,"vol":92628,"low":12583.9,"count":560,"id":1603731600,"close":12873.8,"tradeTurnover":1185973.467,"open":12879.2},{"amount":4.302,"high":12954.5,"vol":4302,"low":12820.4,"count":128,"id":1603735200,"close":12946.8,"tradeTurnover":55481.0054,"open":12856.2},{"amount":13.83,"high":12953.5,"vol":13830,"low":12914.1,"count":118,"id":1603738800,"close":12953.4,"tradeTurnover":179112.1598,"open":12945.6},{"amount":17.172,"high":13007.5,"vol":17172,"low":12953.5,"count":132,"id":1603742400,"close":12983.4,"tradeTurnover":223230.2122,"open":12953.5},{"amount":3.212,"high":13007.5,"vol":3212,"low":12982.7,"count":59,"id":1603746000,"close":12993.8,"tradeTurnover":41767.8906,"open":12983.1},{"amount":1.504,"high":13007.5,"vol":1504,"low":12974.0,"count":74,"id":1603749600,"close":13007.5,"tradeTurnover":19543.3568,"open":13002.1},{"amount":3.454,"high":13061.2,"vol":3454,"low":13007.5,"count":101,"id":1603753200,"close":13033.7,"tradeTurnover":45001.601,"open":13007.5},{"amount":8.784,"high":13105.0,"vol":8784,"low":13028.3,"count":98,"id":1603756800,"close":13067.1,"tradeTurnover":114871.8246,"open":13029.2},{"amount":11.592,"high":13074.4,"vol":11592,"low":13051.5,"count":66,"id":1603760400,"close":13061.7,"tradeTurnover":151386.9038,"open":13074.3},{"amount":19.298,"high":13097.6,"vol":19298,"low":13040.1,"count":109,"id":1603764000,"close":13049.7,"tradeTurnover":252061.019,"open":13061.7},{"amount":22.992,"high":13080.0,"vol":22992,"low":13057.1,"count":69,"id":1603767600,"close":13070.4,"tradeTurnover":300453.9788,"open":13057.6},{"amount":14.396,"high":13175.0,"vol":14396,"low":13079.6,"count":59,"id":1603771200,"close":13103.3,"tradeTurnover":188461.9156,"open":13080.0},{"amount":5.058,"high":13121.3,"vol":5058,"low":13069.7,"count":44,"id":1603774800,"close":13073.6,"tradeTurnover":66201.3552,"open":13121.3},{"amount":9.106,"high":13149.0,"vol":9106,"low":13069.6,"count":107,"id":1603778400,"close":13103.4,"tradeTurnover":119104.8906,"open":13074.9},{"amount":73.95,"high":13169.8,"vol":73950,"low":12992.4,"count":305,"id":1603782000,"close":13130.0,"tradeTurnover":968195.155,"open":13103.3},{"amount":18.732,"high":13148.4,"vol":18732,"low":13044.0,"count":135,"id":1603785600,"close":13123.8,"tradeTurnover":245533.5448,"open":13135.1},{"amount":13.756,"high":13131.8,"vol":13756,"low":13075.7,"count":102,"id":1603789200,"close":13131.7,"tradeTurnover":180253.7708,"open":13115.5},{"amount":154.108,"high":13252.0,"vol":154108,"low":13063.4,"count":525,"id":1603792800,"close":13216.9,"tradeTurnover":2029983.656,"open":13134.8},{"amount":170.09,"high":13590.1,"vol":170090,"low":13213.5,"count":591,"id":1603796400,"close":13395.8,"tradeTurnover":2276279.742,"open":13218.8},{"amount":48.928,"high":13414.0,"vol":48928,"low":13331.7,"count":216,"id":1603800000,"close":13376.9,"tradeTurnover":654585.9108,"open":13395.9},{"amount":63.294,"high":13490.9,"vol":63294,"low":13329.8,"count":316,"id":1603803600,"close":13384.3,"tradeTurnover":848130.9212,"open":13376.5},{"amount":12.892,"high":13415.8,"vol":12892,"low":13344.8,"count":124,"id":1603807200,"close":13398.2,"tradeTurnover":172618.6864,"open":13392.6},{"amount":93.22,"high":13626.7,"vol":93220,"low":13398.2,"count":476,"id":1603810800,"close":13598.5,"tradeTurnover":1262695.5466,"open":13398.2},{"amount":85.45,"high":13639.9,"vol":85450,"low":13520.2,"count":435,"id":1603814400,"close":13639.9,"tradeTurnover":1161481.4136,"open":13595.8},{"amount":191.812,"high":13826.7,"vol":191812,"low":13589.0,"count":711,"id":1603818000,"close":13688.1,"tradeTurnover":2628428.3788,"open":13640.0},{"amount":65.434,"high":13745.0,"vol":65434,"low":13528.2,"count":410,"id":1603821600,"close":13630.1,"tradeTurnover":891541.8394,"open":13685.0},{"amount":5.788,"high":13659.8,"vol":5788,"low":13595.4,"count":65,"id":1603825200,"close":13637.1,"tradeTurnover":78836.2578,"open":13629.4},{"amount":163.104,"high":13805.1,"vol":163104,"low":13582.6,"count":537,"id":1603828800,"close":13616.6,"tradeTurnover":2234040.3544,"open":13644.4},{"amount":9.884,"high":13753.5,"vol":9884,"low":13609.8,"count":101,"id":1603832400,"close":13705.5,"tradeTurnover":135406.4752,"open":13609.8},{"amount":7.436,"high":13739.9,"vol":7436,"low":13658.2,"count":100,"id":1603836000,"close":13739.9,"tradeTurnover":101840.3508,"open":13705.4},{"amount":17.086,"high":13794.6,"vol":17086,"low":13582.6,"count":234,"id":1603839600,"close":13649.6,"tradeTurnover":233971.8448,"open":13739.9},{"amount":24.108,"high":13745.2,"vol":24108,"low":13618.8,"count":177,"id":1603843200,"close":13701.7,"tradeTurnover":330206.5694,"open":13645.9},{"amount":15.892,"high":13725.6,"vol":15892,"low":13647.9,"count":151,"id":1603846800,"close":13702.6,"tradeTurnover":217816.7008,"open":13702.1},{"amount":46.548,"high":13832.2,"vol":46548,"low":13680.2,"count":274,"id":1603850400,"close":13811.6,"tradeTurnover":640636.0352,"open":13701.7},{"amount":67.896,"high":13820.3,"vol":67896,"low":13717.5,"count":320,"id":1603854000,"close":13777.0,"tradeTurnover":935838.2238,"open":13818.5},{"amount":33.156,"high":13807.2,"vol":33156,"low":13710.0,"count":210,"id":1603857600,"close":13735.7,"tradeTurnover":455941.234,"open":13767.3},{"amount":32.076,"high":13753.9,"vol":32076,"low":13671.3,"count":198,"id":1603861200,"close":13715.8,"tradeTurnover":439612.64,"open":13735.5},{"amount":14.756,"high":13757.0,"vol":14756,"low":13694.9,"count":122,"id":1603864800,"close":13701.3,"tradeTurnover":202602.5164,"open":13715.9},{"amount":155.534,"high":13708.7,"vol":155534,"low":13550.0,"count":635,"id":1603868400,"close":13674.2,"tradeTurnover":2117935.0928,"open":13701.2},{"amount":29.846,"high":13691.7,"vol":29846,"low":13584.0,"count":240,"id":1603872000,"close":13691.7,"tradeTurnover":407073.1398,"open":13673.0},{"amount":104.542,"high":13707.5,"vol":104542,"low":13573.5,"count":377,"id":1603875600,"close":13587.1,"tradeTurnover":1425079.9344,"open":13689.3},{"amount":73.818,"high":13618.0,"vol":73818,"low":13504.7,"count":358,"id":1603879200,"close":13552.7,"tradeTurnover":1001666.0908,"open":13584.6},{"amount":176.544,"high":13565.4,"vol":176544,"low":13330.0,"count":1004,"id":1603882800,"close":13336.4,"tradeTurnover":2369166.1492,"open":13552.6},{"amount":289.73,"high":13385.0,"vol":289730,"low":13173.9,"count":968,"id":1603886400,"close":13300.3,"tradeTurnover":3846751.7166,"open":13331.5},{"amount":139.822,"high":13340.0,"vol":139822,"low":13122.9,"count":612,"id":1603890000,"close":13129.9,"tradeTurnover":1848876.932,"open":13300.2},{"amount":367.876,"high":13168.2,"vol":367876,"low":12915.9,"count":1168,"id":1603893600,"close":13082.2,"tradeTurnover":4802516.9818,"open":13123.4},{"amount":84.044,"high":13235.2,"vol":84044,"low":13052.3,"count":375,"id":1603897200,"close":13221.2,"tradeTurnover":1106883.1282,"open":13077.1},{"amount":29.566,"high":13218.7,"vol":29566,"low":13050.0,"count":244,"id":1603900800,"close":13145.1,"tradeTurnover":388697.4104,"open":13218.7},{"amount":53.336,"high":13204.9,"vol":53336,"low":13006.6,"count":299,"id":1603904400,"close":13176.7,"tradeTurnover":700385.2784,"open":13145.1},{"amount":34.164,"high":13219.6,"vol":34164,"low":13131.0,"count":218,"id":1603908000,"close":13196.5,"tradeTurnover":450210.5778,"open":13171.0},{"amount":22.158,"high":13237.4,"vol":22158,"low":13145.0,"count":185,"id":1603911600,"close":13154.9,"tradeTurnover":292020.0438,"open":13200.0},{"amount":4.548,"high":13211.8,"vol":4548,"low":13147.4,"count":75,"id":1603915200,"close":13198.1,"tradeTurnover":59991.1118,"open":13154.5},{"amount":3.52,"high":13196.5,"vol":3520,"low":13100.2,"count":68,"id":1603918800,"close":13190.1,"tradeTurnover":46175.428,"open":13193.5},{"amount":3.122,"high":13267.5,"vol":3122,"low":13185.4,"count":72,"id":1603922400,"close":13252.0,"tradeTurnover":41304.2018,"open":13185.4},{"amount":14.768,"high":13282.3,"vol":14768,"low":13235.9,"count":86,"id":1603926000,"close":13265.9,"tradeTurnover":195689.0764,"open":13242.1},{"amount":19.968,"high":13294.7,"vol":19968,"low":13237.4,"count":98,"id":1603929600,"close":13245.1,"tradeTurnover":264834.1944,"open":13253.9},{"amount":35.282,"high":13285.3,"vol":35282,"low":13166.3,"count":192,"id":1603933200,"close":13274.2,"tradeTurnover":465789.6302,"open":13244.6},{"amount":9.748,"high":13277.7,"vol":9748,"low":13212.2,"count":119,"id":1603936800,"close":13241.1,"tradeTurnover":129016.0684,"open":13275.9},{"amount":27.3,"high":13262.5,"vol":27300,"low":13174.6,"count":199,"id":1603940400,"close":13262.5,"tradeTurnover":360589.8982,"open":13237.1},{"amount":18.904,"high":13277.7,"vol":18904,"low":13229.5,"count":109,"id":1603944000,"close":13229.5,"tradeTurnover":250713.2812,"open":13269.1},{"amount":15.822,"high":13274.8,"vol":15822,"low":13228.5,"count":134,"id":1603947600,"close":13274.8,"tradeTurnover":209781.909,"open":13228.5},{"amount":91.246,"high":13323.0,"vol":91246,"low":13242.3,"count":294,"id":1603951200,"close":13255.0,"tradeTurnover":1211271.2788,"open":13274.8},{"amount":187.622,"high":13269.3,"vol":187622,"low":13123.1,"count":506,"id":1603954800,"close":13142.4,"tradeTurnover":2478299.7074,"open":13255.0},{"amount":69.532,"high":13182.4,"vol":69532,"low":13094.1,"count":226,"id":1603958400,"close":13124.8,"tradeTurnover":914157.2418,"open":13145.9},{"amount":23.184,"high":13197.1,"vol":23184,"low":13129.5,"count":141,"id":1603962000,"close":13183.7,"tradeTurnover":305485.9524,"open":13129.5},{"amount":121.146,"high":13187.5,"vol":121146,"low":13053.1,"count":442,"id":1603965600,"close":13105.2,"tradeTurnover":1590026.4416,"open":13184.8},{"amount":47.498,"high":13171.4,"vol":47498,"low":13060.1,"count":262,"id":1603969200,"close":13060.1,"tradeTurnover":623578.149,"open":13105.1},{"amount":126.552,"high":13145.8,"vol":126552,"low":12977.9,"count":481,"id":1603972800,"close":13131.8,"tradeTurnover":1652549.311,"open":13056.9},{"amount":100.482,"high":13237.2,"vol":100482,"low":13102.0,"count":325,"id":1603976400,"close":13230.0,"tradeTurnover":1326403.7206,"open":13131.7},{"amount":253.258,"high":13476.1,"vol":253258,"low":13231.0,"count":752,"id":1603980000,"close":13420.8,"tradeTurnover":3384941.438,"open":13231.0},{"amount":64.71,"high":13458.7,"vol":64710,"low":13358.7,"count":269,"id":1603983600,"close":13420.6,"tradeTurnover":869052.3804,"open":13416.0},{"amount":120.24,"high":13594.5,"vol":120240,"low":13391.8,"count":570,"id":1603987200,"close":13535.9,"tradeTurnover":1626567.8278,"open":13421.9}],"id":"","rep":"market.BTC-USDT.kline.60min","status":"ok"} +2024-01-18 11:13:02.877 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:39] - 请求 KLine 数据用户收到的原始数据:{"id":"","rep":"market.BTC-USDT.kline.60min","ts":1705547581785,"wsid":19750305,"status":"ok","data":[{"id":1603270800,"open":12198.0,"close":12196.7,"high":12300.0,"low":11715.8,"amount":0.276,"vol":276,"trade_turnover":3315.9104,"count":39},{"id":1603274400,"open":12196.7,"close":12277.9,"high":12289.9,"low":12111.0,"amount":0.198,"vol":198,"trade_turnover":2420.7728,"count":21},{"id":1603278000,"open":12111.0,"close":12000.0,"high":12277.9,"low":12000.0,"amount":0.012,"vol":12,"trade_turnover":145.2238,"count":5},{"id":1603281600,"open":12078.0,"close":12497.4,"high":12498.0,"low":12078.0,"amount":0.084,"vol":84,"trade_turnover":1040.0504,"count":12},{"id":1603285200,"open":12495.6,"close":12373.5,"high":12495.6,"low":12282.9,"amount":1.122,"vol":1122,"trade_turnover":13905.3124,"count":112},{"id":1603288800,"open":12412.9,"close":12689.9,"high":12807.6,"low":12358.1,"amount":5.29,"vol":5290,"trade_turnover":66852.128,"count":155},{"id":1603292400,"open":12692.8,"close":12701.9,"high":12778.7,"low":12573.2,"amount":1.174,"vol":1174,"trade_turnover":14907.367,"count":113},{"id":1603296000,"open":12679.7,"close":12835.9,"high":12920.9,"low":12624.8,"amount":1.156,"vol":1156,"trade_turnover":14802.449,"count":115},{"id":1603299600,"open":12848.3,"close":12754.2,"high":12908.3,"low":12687.5,"amount":1.12,"vol":1120,"trade_turnover":14345.7324,"count":115},{"id":1603303200,"open":12743.7,"close":12740.2,"high":12849.0,"low":12668.3,"amount":1.106,"vol":1106,"trade_turnover":14105.3504,"count":114},{"id":1603306800,"open":12729.5,"close":12650.3,"high":12843.1,"low":12597.2,"amount":1.032,"vol":1032,"trade_turnover":13125.4568,"count":112},{"id":1603310400,"open":12666.8,"close":12807.0,"high":12848.4,"low":12610.2,"amount":1.154,"vol":1154,"trade_turnover":14680.638,"count":116},{"id":1603314000,"open":12866.0,"close":12938.9,"high":13005.1,"low":12748.2,"amount":1.164,"vol":1164,"trade_turnover":14976.9366,"count":114},{"id":1603317600,"open":12921.0,"close":13122.0,"high":13211.2,"low":12865.7,"amount":1.174,"vol":1174,"trade_turnover":15285.2446,"count":114},{"id":1603321200,"open":13153.2,"close":12829.8,"high":13173.2,"low":12688.6,"amount":1.172,"vol":1172,"trade_turnover":15060.9938,"count":117},{"id":1603324800,"open":12793.1,"close":12885.9,"high":12988.1,"low":12764.4,"amount":1.17,"vol":1170,"trade_turnover":15046.2046,"count":117},{"id":1603328400,"open":12860.4,"close":12757.5,"high":12972.6,"low":12757.5,"amount":1.158,"vol":1158,"trade_turnover":14882.4656,"count":118},{"id":1603332000,"open":12824.1,"close":12788.8,"high":12848.0,"low":12729.0,"amount":1.124,"vol":1124,"trade_turnover":14368.7948,"count":115},{"id":1603335600,"open":12791.7,"close":12767.2,"high":12834.4,"low":12729.0,"amount":1.194,"vol":1194,"trade_turnover":15268.9298,"count":111},{"id":1603339200,"open":12729.0,"close":12762.2,"high":12778.3,"low":12729.0,"amount":1.152,"vol":1152,"trade_turnover":14695.4876,"count":115},{"id":1603342800,"open":12763.1,"close":12813.8,"high":12842.0,"low":12730.6,"amount":1.21,"vol":1210,"trade_turnover":15440.8162,"count":119},{"id":1603346400,"open":12795.0,"close":12729.1,"high":12795.0,"low":12728.0,"amount":1.188,"vol":1188,"trade_turnover":15128.0098,"count":123},{"id":1603350000,"open":12728.6,"close":12730.6,"high":12730.6,"low":12728.3,"amount":1.266,"vol":1266,"trade_turnover":16115.1306,"count":112},{"id":1603353600,"open":12730.3,"close":12770.1,"high":12921.5,"low":12729.9,"amount":1.35,"vol":1350,"trade_turnover":17233.7326,"count":127},{"id":1603357200,"open":12824.9,"close":12780.4,"high":12872.1,"low":12760.1,"amount":0.98,"vol":980,"trade_turnover":12553.9826,"count":99},{"id":1603360800,"open":12784.9,"close":12934.2,"high":13002.7,"low":12775.6,"amount":0.266,"vol":266,"trade_turnover":3415.023,"count":30},{"id":1603364400,"open":12977.0,"close":13045.0,"high":13057.0,"low":12886.6,"amount":1.004,"vol":1004,"trade_turnover":13020.8576,"count":117},{"id":1603368000,"open":12958.5,"close":12847.9,"high":12973.4,"low":12751.6,"amount":1.134,"vol":1134,"trade_turnover":14594.2752,"count":111},{"id":1603371600,"open":12882.7,"close":12931.0,"high":13000.8,"low":12743.0,"amount":1.152,"vol":1152,"trade_turnover":14877.7314,"count":114},{"id":1603375200,"open":12890.4,"close":12917.8,"high":12995.3,"low":12783.9,"amount":1.182,"vol":1182,"trade_turnover":15224.4716,"count":115},{"id":1603378800,"open":12918.8,"close":12953.0,"high":13031.2,"low":12817.9,"amount":1.176,"vol":1176,"trade_turnover":15197.208,"count":117},{"id":1603382400,"open":12923.1,"close":13055.6,"high":13100.2,"low":12865.6,"amount":1.146,"vol":1146,"trade_turnover":14851.9604,"count":119},{"id":1603386000,"open":12967.6,"close":13082.7,"high":13105.7,"low":12835.5,"amount":1.534,"vol":1534,"trade_turnover":19927.8288,"count":124},{"id":1603389600,"open":13020.4,"close":13016.4,"high":13115.0,"low":12938.7,"amount":1.268,"vol":1268,"trade_turnover":16505.4738,"count":117},{"id":1603393200,"open":13028.3,"close":12970.6,"high":13171.2,"low":12961.8,"amount":1.13,"vol":1130,"trade_turnover":14762.952,"count":112},{"id":1603396800,"open":13016.7,"close":13089.3,"high":13216.1,"low":12998.5,"amount":1.206,"vol":1206,"trade_turnover":15807.1226,"count":117},{"id":1603400400,"open":13136.0,"close":13092.0,"high":13203.7,"low":12932.9,"amount":1.332,"vol":1332,"trade_turnover":17423.4422,"count":114},{"id":1603404000,"open":13119.4,"close":13055.9,"high":13250.5,"low":12984.7,"amount":1.21,"vol":1210,"trade_turnover":15876.0632,"count":114},{"id":1603407600,"open":13059.4,"close":12890.4,"high":13126.5,"low":12857.2,"amount":1.286,"vol":1286,"trade_turnover":16688.422,"count":116},{"id":1603411200,"open":12929.7,"close":12892.2,"high":12994.0,"low":12751.6,"amount":1.502,"vol":1502,"trade_turnover":19331.1596,"count":131},{"id":1603414800,"open":12921.7,"close":12898.3,"high":13003.2,"low":12786.0,"amount":1.386,"vol":1386,"trade_turnover":17904.8902,"count":121},{"id":1603418400,"open":12951.6,"close":12975.1,"high":13054.0,"low":12800.7,"amount":1.416,"vol":1416,"trade_turnover":18306.6204,"count":122},{"id":1603422000,"open":12967.3,"close":12947.0,"high":13030.7,"low":12875.0,"amount":1.19,"vol":1190,"trade_turnover":15409.7984,"count":118},{"id":1603425600,"open":12925.2,"close":12852.0,"high":13047.3,"low":12832.8,"amount":1.022,"vol":1022,"trade_turnover":13214.4388,"count":127},{"id":1603429200,"open":12859.0,"close":12931.1,"high":12991.7,"low":12841.2,"amount":0.478,"vol":478,"trade_turnover":6180.2486,"count":118},{"id":1603432800,"open":12935.9,"close":12939.6,"high":13014.1,"low":12871.9,"amount":0.522,"vol":522,"trade_turnover":6759.0324,"count":132},{"id":1603436400,"open":12923.1,"close":12925.4,"high":12998.9,"low":12917.1,"amount":0.476,"vol":476,"trade_turnover":6163.3118,"count":118},{"id":1603440000,"open":12942.2,"close":12962.6,"high":13014.0,"low":12916.1,"amount":0.508,"vol":508,"trade_turnover":6585.3656,"count":122},{"id":1603443600,"open":12970.5,"close":12926.4,"high":13012.5,"low":12909.9,"amount":0.564,"vol":564,"trade_turnover":7308.8828,"count":124},{"id":1603447200,"open":13001.2,"close":13007.7,"high":13059.5,"low":12925.7,"amount":0.536,"vol":536,"trade_turnover":6957.8796,"count":124},{"id":1603450800,"open":13025.4,"close":12970.6,"high":13078.4,"low":12906.5,"amount":0.486,"vol":486,"trade_turnover":6326.1434,"count":122},{"id":1603454400,"open":12963.9,"close":12935.4,"high":13025.0,"low":12850.8,"amount":0.494,"vol":494,"trade_turnover":6396.0984,"count":117},{"id":1603458000,"open":12913.3,"close":12951.7,"high":13043.3,"low":12911.0,"amount":0.466,"vol":466,"trade_turnover":6049.1412,"count":117},{"id":1603461600,"open":12999.6,"close":12858.8,"high":13006.4,"low":12840.4,"amount":0.46,"vol":460,"trade_turnover":5941.815,"count":116},{"id":1603465200,"open":12885.7,"close":12881.9,"high":12932.9,"low":12826.5,"amount":0.492,"vol":492,"trade_turnover":6340.214,"count":117},{"id":1603468800,"open":12854.4,"close":12784.1,"high":12933.5,"low":12744.4,"amount":0.484,"vol":484,"trade_turnover":6205.4138,"count":123},{"id":1603472400,"open":12832.3,"close":12847.7,"high":12893.1,"low":12730.1,"amount":0.562,"vol":562,"trade_turnover":7218.9184,"count":152},{"id":1603476000,"open":12874.1,"close":12915.7,"high":12939.3,"low":12751.4,"amount":0.53,"vol":530,"trade_turnover":6825.7004,"count":128},{"id":1603479600,"open":12867.9,"close":12972.9,"high":12972.9,"low":12786.6,"amount":0.444,"vol":444,"trade_turnover":5727.7452,"count":117},{"id":1603483200,"open":12956.7,"close":12991.6,"high":13002.2,"low":12842.9,"amount":0.492,"vol":492,"trade_turnover":6375.1566,"count":116},{"id":1603486800,"open":13004.3,"close":12943.5,"high":13004.3,"low":12936.6,"amount":0.5,"vol":500,"trade_turnover":6485.468,"count":125},{"id":1603490400,"open":12923.6,"close":12989.2,"high":13010.3,"low":12884.7,"amount":0.492,"vol":492,"trade_turnover":6376.1492,"count":120},{"id":1603494000,"open":12974.9,"close":12884.6,"high":13024.4,"low":12884.6,"amount":0.51,"vol":510,"trade_turnover":6622.3406,"count":121},{"id":1603497600,"open":12973.7,"close":12953.9,"high":13018.3,"low":12811.1,"amount":0.488,"vol":488,"trade_turnover":6317.7938,"count":120},{"id":1603501200,"open":12927.5,"close":12934.2,"high":13018.1,"low":12872.8,"amount":0.482,"vol":482,"trade_turnover":6242.4178,"count":117},{"id":1603504800,"open":12971.9,"close":12989.1,"high":13003.9,"low":12903.3,"amount":0.484,"vol":484,"trade_turnover":6278.1756,"count":117},{"id":1603508400,"open":13000.1,"close":12975.9,"high":13013.4,"low":12938.3,"amount":0.474,"vol":474,"trade_turnover":6157.7096,"count":122},{"id":1603512000,"open":12989.7,"close":12963.3,"high":13009.4,"low":12905.5,"amount":0.526,"vol":526,"trade_turnover":6831.5658,"count":124},{"id":1603515600,"open":12910.5,"close":12989.7,"high":13041.8,"low":12875.3,"amount":0.522,"vol":522,"trade_turnover":6768.8994,"count":127},{"id":1603519200,"open":12994.7,"close":13003.6,"high":13058.1,"low":12908.8,"amount":0.49,"vol":490,"trade_turnover":6370.5714,"count":120},{"id":1603522800,"open":13011.9,"close":13004.2,"high":13037.8,"low":12981.7,"amount":0.478,"vol":478,"trade_turnover":6218.9722,"count":120},{"id":1603526400,"open":13003.0,"close":12998.2,"high":13030.6,"low":12899.4,"amount":0.52,"vol":520,"trade_turnover":6754.958,"count":124},{"id":1603530000,"open":12998.2,"close":12990.6,"high":13020.3,"low":12893.6,"amount":0.454,"vol":454,"trade_turnover":5891.0574,"count":115},{"id":1603533600,"open":12996.4,"close":13030.1,"high":13059.1,"low":12913.2,"amount":0.502,"vol":502,"trade_turnover":6525.9004,"count":124},{"id":1603537200,"open":12988.4,"close":13033.2,"high":13068.3,"low":12940.2,"amount":0.468,"vol":468,"trade_turnover":6091.0376,"count":119},{"id":1603540800,"open":13035.3,"close":13006.5,"high":13071.8,"low":12978.9,"amount":0.468,"vol":468,"trade_turnover":6102.5902,"count":123},{"id":1603544400,"open":13038.8,"close":12985.9,"high":13066.7,"low":12928.1,"amount":0.534,"vol":534,"trade_turnover":6950.4268,"count":123},{"id":1603548000,"open":12986.3,"close":13042.0,"high":13100.1,"low":12960.5,"amount":0.47,"vol":470,"trade_turnover":6124.2178,"count":100},{"id":1603551600,"open":13038.4,"close":13102.2,"high":13196.5,"low":13038.4,"amount":0.456,"vol":456,"trade_turnover":5989.6362,"count":120},{"id":1603555200,"open":13136.8,"close":13052.7,"high":13176.6,"low":12984.6,"amount":0.458,"vol":458,"trade_turnover":5976.331,"count":121},{"id":1603558800,"open":13006.2,"close":13177.8,"high":13177.8,"low":13003.2,"amount":0.452,"vol":452,"trade_turnover":5911.7058,"count":118},{"id":1603562400,"open":13127.7,"close":13080.8,"high":13170.7,"low":13023.0,"amount":0.468,"vol":468,"trade_turnover":6122.375,"count":119},{"id":1603566000,"open":13040.7,"close":13148.4,"high":13179.3,"low":13014.2,"amount":0.468,"vol":468,"trade_turnover":6126.4278,"count":120},{"id":1603569600,"open":13073.5,"close":13090.1,"high":13179.6,"low":12992.5,"amount":0.47,"vol":470,"trade_turnover":6151.4758,"count":119},{"id":1603573200,"open":13035.4,"close":12993.9,"high":13148.7,"low":12980.7,"amount":0.458,"vol":458,"trade_turnover":5981.071,"count":117},{"id":1603576800,"open":13040.7,"close":13041.1,"high":13112.1,"low":12975.6,"amount":0.478,"vol":478,"trade_turnover":6225.4216,"count":118},{"id":1603580400,"open":13012.6,"close":13184.3,"high":13184.3,"low":13009.3,"amount":0.472,"vol":472,"trade_turnover":6173.4244,"count":118},{"id":1603584000,"open":13080.8,"close":13154.3,"high":13170.4,"low":13007.7,"amount":0.46,"vol":460,"trade_turnover":6024.09,"count":115},{"id":1603587600,"open":13092.0,"close":13196.1,"high":13196.8,"low":13024.0,"amount":0.398,"vol":398,"trade_turnover":5217.5364,"count":102},{"id":1603591200,"open":13124.7,"close":13082.4,"high":13175.1,"low":13035.0,"amount":0.476,"vol":476,"trade_turnover":6228.6596,"count":120},{"id":1603594800,"open":13049.1,"close":13259.0,"high":13383.8,"low":13049.1,"amount":0.578,"vol":578,"trade_turnover":7629.3886,"count":137},{"id":1603598400,"open":13277.0,"close":13243.4,"high":13369.0,"low":13216.0,"amount":0.47,"vol":470,"trade_turnover":6247.955,"count":122},{"id":1603602000,"open":13285.3,"close":13017.3,"high":13353.3,"low":13010.1,"amount":0.61,"vol":610,"trade_turnover":8048.8598,"count":134},{"id":1603605600,"open":13022.5,"close":13060.3,"high":13105.7,"low":13018.2,"amount":0.486,"vol":486,"trade_turnover":6344.1474,"count":118},{"id":1603609200,"open":13048.5,"close":13078.1,"high":13112.1,"low":13022.0,"amount":0.464,"vol":464,"trade_turnover":6061.5416,"count":120},{"id":1603612800,"open":13077.2,"close":13046.0,"high":13091.0,"low":13017.2,"amount":0.464,"vol":464,"trade_turnover":6055.3734,"count":120},{"id":1603616400,"open":13065.1,"close":13040.8,"high":13084.0,"low":13014.2,"amount":0.478,"vol":478,"trade_turnover":6235.7882,"count":117},{"id":1603620000,"open":13047.1,"close":13028.5,"high":13064.2,"low":13010.2,"amount":0.478,"vol":478,"trade_turnover":6232.2428,"count":125},{"id":1603623600,"open":13061.5,"close":12897.6,"high":13061.5,"low":12852.9,"amount":0.534,"vol":534,"trade_turnover":6918.1226,"count":123},{"id":1603627200,"open":12908.3,"close":12964.3,"high":13069.7,"low":12893.2,"amount":0.444,"vol":444,"trade_turnover":5755.8712,"count":117},{"id":1603630800,"open":13001.3,"close":12949.3,"high":13071.9,"low":12891.8,"amount":0.498,"vol":498,"trade_turnover":6465.078,"count":119},{"id":1603634400,"open":12975.8,"close":12946.8,"high":13077.7,"low":12900.0,"amount":0.468,"vol":468,"trade_turnover":6075.4554,"count":116},{"id":1603638000,"open":12975.2,"close":12883.3,"high":13069.1,"low":12883.3,"amount":0.47,"vol":470,"trade_turnover":6097.1072,"count":119},{"id":1603641600,"open":12916.2,"close":12978.7,"high":13067.9,"low":12877.5,"amount":0.482,"vol":482,"trade_turnover":6256.4472,"count":118},{"id":1603645200,"open":13008.0,"close":13004.4,"high":13087.5,"low":12922.7,"amount":0.47,"vol":470,"trade_turnover":6108.3892,"count":117},{"id":1603648800,"open":12972.8,"close":12957.2,"high":13067.6,"low":12893.6,"amount":0.468,"vol":468,"trade_turnover":6079.1484,"count":118},{"id":1603652400,"open":12996.5,"close":13021.8,"high":13066.9,"low":12916.6,"amount":0.442,"vol":442,"trade_turnover":5746.5548,"count":118},{"id":1603656000,"open":12992.9,"close":12985.4,"high":13081.5,"low":12944.9,"amount":0.508,"vol":508,"trade_turnover":6616.9872,"count":120},{"id":1603659600,"open":12999.9,"close":13011.2,"high":13068.6,"low":12921.4,"amount":0.508,"vol":508,"trade_turnover":6614.816,"count":122},{"id":1603663200,"open":12979.6,"close":12959.4,"high":13073.8,"low":12911.9,"amount":0.486,"vol":486,"trade_turnover":6320.907,"count":121},{"id":1603666800,"open":12963.4,"close":13032.1,"high":13085.2,"low":12927.8,"amount":0.452,"vol":452,"trade_turnover":5878.6442,"count":113},{"id":1603670400,"open":12964.2,"close":13001.0,"high":13076.7,"low":12918.3,"amount":0.482,"vol":482,"trade_turnover":6263.698,"count":121},{"id":1603674000,"open":13040.0,"close":13053.7,"high":13096.4,"low":12991.2,"amount":0.478,"vol":478,"trade_turnover":6232.2328,"count":124},{"id":1603677600,"open":13060.6,"close":13064.4,"high":13185.7,"low":12985.1,"amount":0.488,"vol":488,"trade_turnover":6387.534,"count":121},{"id":1603681200,"open":13032.3,"close":13092.8,"high":13187.2,"low":12984.1,"amount":0.486,"vol":486,"trade_turnover":6369.0272,"count":135},{"id":1603684800,"open":13092.0,"close":13132.6,"high":13181.6,"low":12962.3,"amount":0.51,"vol":510,"trade_turnover":6679.829,"count":131},{"id":1603688400,"open":13129.2,"close":13092.1,"high":13205.3,"low":13025.3,"amount":0.506,"vol":506,"trade_turnover":6641.2128,"count":126},{"id":1603692000,"open":13121.8,"close":13071.4,"high":13188.1,"low":12989.8,"amount":1.616,"vol":1616,"trade_turnover":21170.8224,"count":141},{"id":1603695600,"open":13061.0,"close":13038.7,"high":13100.0,"low":12965.2,"amount":3.746,"vol":3746,"trade_turnover":48924.8902,"count":110},{"id":1603699200,"open":13030.9,"close":13039.3,"high":13102.0,"low":12852.8,"amount":8.966,"vol":8966,"trade_turnover":116525.5534,"count":173},{"id":1603702800,"open":13047.1,"close":13075.9,"high":13088.4,"low":13039.8,"amount":4.48,"vol":4480,"trade_turnover":58521.1714,"count":124},{"id":1603706400,"open":13072.1,"close":13100.0,"high":13100.0,"low":13060.2,"amount":4.272,"vol":4272,"trade_turnover":55895.9778,"count":130},{"id":1603710000,"open":13100.0,"close":13138.4,"high":13159.0,"low":13100.0,"amount":29.798,"vol":29798,"trade_turnover":391138.024,"count":230},{"id":1603713600,"open":13138.8,"close":13149.8,"high":13200.0,"low":13100.0,"amount":5.154,"vol":5154,"trade_turnover":67694.652,"count":188},{"id":1603717200,"open":13150.0,"close":13205.8,"high":13351.5,"low":13133.1,"amount":35.608,"vol":35608,"trade_turnover":472780.3394,"count":328},{"id":1603720800,"open":13203.0,"close":13166.1,"high":13280.0,"low":13144.1,"amount":31.748,"vol":31748,"trade_turnover":418744.5588,"count":235},{"id":1603724400,"open":13159.0,"close":12978.0,"high":13165.2,"low":12903.8,"amount":36.53,"vol":36530,"trade_turnover":476940.3296,"count":384},{"id":1603728000,"open":12965.0,"close":12869.6,"high":13069.8,"low":12850.5,"amount":35.018,"vol":35018,"trade_turnover":453288.918,"count":323},{"id":1603731600,"open":12879.2,"close":12873.8,"high":12941.5,"low":12583.9,"amount":92.628,"vol":92628,"trade_turnover":1185973.467,"count":560},{"id":1603735200,"open":12856.2,"close":12946.8,"high":12954.5,"low":12820.4,"amount":4.302,"vol":4302,"trade_turnover":55481.0054,"count":128},{"id":1603738800,"open":12945.6,"close":12953.4,"high":12953.5,"low":12914.1,"amount":13.83,"vol":13830,"trade_turnover":179112.1598,"count":118},{"id":1603742400,"open":12953.5,"close":12983.4,"high":13007.5,"low":12953.5,"amount":17.172,"vol":17172,"trade_turnover":223230.2122,"count":132},{"id":1603746000,"open":12983.1,"close":12993.8,"high":13007.5,"low":12982.7,"amount":3.212,"vol":3212,"trade_turnover":41767.8906,"count":59},{"id":1603749600,"open":13002.1,"close":13007.5,"high":13007.5,"low":12974.0,"amount":1.504,"vol":1504,"trade_turnover":19543.3568,"count":74},{"id":1603753200,"open":13007.5,"close":13033.7,"high":13061.2,"low":13007.5,"amount":3.454,"vol":3454,"trade_turnover":45001.601,"count":101},{"id":1603756800,"open":13029.2,"close":13067.1,"high":13105.0,"low":13028.3,"amount":8.784,"vol":8784,"trade_turnover":114871.8246,"count":98},{"id":1603760400,"open":13074.3,"close":13061.7,"high":13074.4,"low":13051.5,"amount":11.592,"vol":11592,"trade_turnover":151386.9038,"count":66},{"id":1603764000,"open":13061.7,"close":13049.7,"high":13097.6,"low":13040.1,"amount":19.298,"vol":19298,"trade_turnover":252061.019,"count":109},{"id":1603767600,"open":13057.6,"close":13070.4,"high":13080.0,"low":13057.1,"amount":22.992,"vol":22992,"trade_turnover":300453.9788,"count":69},{"id":1603771200,"open":13080.0,"close":13103.3,"high":13175.0,"low":13079.6,"amount":14.396,"vol":14396,"trade_turnover":188461.9156,"count":59},{"id":1603774800,"open":13121.3,"close":13073.6,"high":13121.3,"low":13069.7,"amount":5.058,"vol":5058,"trade_turnover":66201.3552,"count":44},{"id":1603778400,"open":13074.9,"close":13103.4,"high":13149.0,"low":13069.6,"amount":9.106,"vol":9106,"trade_turnover":119104.8906,"count":107},{"id":1603782000,"open":13103.3,"close":13130.0,"high":13169.8,"low":12992.4,"amount":73.95,"vol":73950,"trade_turnover":968195.155,"count":305},{"id":1603785600,"open":13135.1,"close":13123.8,"high":13148.4,"low":13044.0,"amount":18.732,"vol":18732,"trade_turnover":245533.5448,"count":135},{"id":1603789200,"open":13115.5,"close":13131.7,"high":13131.8,"low":13075.7,"amount":13.756,"vol":13756,"trade_turnover":180253.7708,"count":102},{"id":1603792800,"open":13134.8,"close":13216.9,"high":13252.0,"low":13063.4,"amount":154.108,"vol":154108,"trade_turnover":2029983.656,"count":525},{"id":1603796400,"open":13218.8,"close":13395.8,"high":13590.1,"low":13213.5,"amount":170.09,"vol":170090,"trade_turnover":2276279.742,"count":591},{"id":1603800000,"open":13395.9,"close":13376.9,"high":13414.0,"low":13331.7,"amount":48.928,"vol":48928,"trade_turnover":654585.9108,"count":216},{"id":1603803600,"open":13376.5,"close":13384.3,"high":13490.9,"low":13329.8,"amount":63.294,"vol":63294,"trade_turnover":848130.9212,"count":316},{"id":1603807200,"open":13392.6,"close":13398.2,"high":13415.8,"low":13344.8,"amount":12.892,"vol":12892,"trade_turnover":172618.6864,"count":124},{"id":1603810800,"open":13398.2,"close":13598.5,"high":13626.7,"low":13398.2,"amount":93.22,"vol":93220,"trade_turnover":1262695.5466,"count":476},{"id":1603814400,"open":13595.8,"close":13639.9,"high":13639.9,"low":13520.2,"amount":85.45,"vol":85450,"trade_turnover":1161481.4136,"count":435},{"id":1603818000,"open":13640.0,"close":13688.1,"high":13826.7,"low":13589.0,"amount":191.812,"vol":191812,"trade_turnover":2628428.3788,"count":711},{"id":1603821600,"open":13685.0,"close":13630.1,"high":13745.0,"low":13528.2,"amount":65.434,"vol":65434,"trade_turnover":891541.8394,"count":410},{"id":1603825200,"open":13629.4,"close":13637.1,"high":13659.8,"low":13595.4,"amount":5.788,"vol":5788,"trade_turnover":78836.2578,"count":65},{"id":1603828800,"open":13644.4,"close":13616.6,"high":13805.1,"low":13582.6,"amount":163.104,"vol":163104,"trade_turnover":2234040.3544,"count":537},{"id":1603832400,"open":13609.8,"close":13705.5,"high":13753.5,"low":13609.8,"amount":9.884,"vol":9884,"trade_turnover":135406.4752,"count":101},{"id":1603836000,"open":13705.4,"close":13739.9,"high":13739.9,"low":13658.2,"amount":7.436,"vol":7436,"trade_turnover":101840.3508,"count":100},{"id":1603839600,"open":13739.9,"close":13649.6,"high":13794.6,"low":13582.6,"amount":17.086,"vol":17086,"trade_turnover":233971.8448,"count":234},{"id":1603843200,"open":13645.9,"close":13701.7,"high":13745.2,"low":13618.8,"amount":24.108,"vol":24108,"trade_turnover":330206.5694,"count":177},{"id":1603846800,"open":13702.1,"close":13702.6,"high":13725.6,"low":13647.9,"amount":15.892,"vol":15892,"trade_turnover":217816.7008,"count":151},{"id":1603850400,"open":13701.7,"close":13811.6,"high":13832.2,"low":13680.2,"amount":46.548,"vol":46548,"trade_turnover":640636.0352,"count":274},{"id":1603854000,"open":13818.5,"close":13777.0,"high":13820.3,"low":13717.5,"amount":67.896,"vol":67896,"trade_turnover":935838.2238,"count":320},{"id":1603857600,"open":13767.3,"close":13735.7,"high":13807.2,"low":13710.0,"amount":33.156,"vol":33156,"trade_turnover":455941.234,"count":210},{"id":1603861200,"open":13735.5,"close":13715.8,"high":13753.9,"low":13671.3,"amount":32.076,"vol":32076,"trade_turnover":439612.64,"count":198},{"id":1603864800,"open":13715.9,"close":13701.3,"high":13757.0,"low":13694.9,"amount":14.756,"vol":14756,"trade_turnover":202602.5164,"count":122},{"id":1603868400,"open":13701.2,"close":13674.2,"high":13708.7,"low":13550.0,"amount":155.534,"vol":155534,"trade_turnover":2117935.0928,"count":635},{"id":1603872000,"open":13673.0,"close":13691.7,"high":13691.7,"low":13584.0,"amount":29.846,"vol":29846,"trade_turnover":407073.1398,"count":240},{"id":1603875600,"open":13689.3,"close":13587.1,"high":13707.5,"low":13573.5,"amount":104.542,"vol":104542,"trade_turnover":1425079.9344,"count":377},{"id":1603879200,"open":13584.6,"close":13552.7,"high":13618.0,"low":13504.7,"amount":73.818,"vol":73818,"trade_turnover":1001666.0908,"count":358},{"id":1603882800,"open":13552.6,"close":13336.4,"high":13565.4,"low":13330.0,"amount":176.544,"vol":176544,"trade_turnover":2369166.1492,"count":1004},{"id":1603886400,"open":13331.5,"close":13300.3,"high":13385.0,"low":13173.9,"amount":289.73,"vol":289730,"trade_turnover":3846751.7166,"count":968},{"id":1603890000,"open":13300.2,"close":13129.9,"high":13340.0,"low":13122.9,"amount":139.822,"vol":139822,"trade_turnover":1848876.932,"count":612},{"id":1603893600,"open":13123.4,"close":13082.2,"high":13168.2,"low":12915.9,"amount":367.876,"vol":367876,"trade_turnover":4802516.9818,"count":1168},{"id":1603897200,"open":13077.1,"close":13221.2,"high":13235.2,"low":13052.3,"amount":84.044,"vol":84044,"trade_turnover":1106883.1282,"count":375},{"id":1603900800,"open":13218.7,"close":13145.1,"high":13218.7,"low":13050.0,"amount":29.566,"vol":29566,"trade_turnover":388697.4104,"count":244},{"id":1603904400,"open":13145.1,"close":13176.7,"high":13204.9,"low":13006.6,"amount":53.336,"vol":53336,"trade_turnover":700385.2784,"count":299},{"id":1603908000,"open":13171.0,"close":13196.5,"high":13219.6,"low":13131.0,"amount":34.164,"vol":34164,"trade_turnover":450210.5778,"count":218},{"id":1603911600,"open":13200.0,"close":13154.9,"high":13237.4,"low":13145.0,"amount":22.158,"vol":22158,"trade_turnover":292020.0438,"count":185},{"id":1603915200,"open":13154.5,"close":13198.1,"high":13211.8,"low":13147.4,"amount":4.548,"vol":4548,"trade_turnover":59991.1118,"count":75},{"id":1603918800,"open":13193.5,"close":13190.1,"high":13196.5,"low":13100.2,"amount":3.52,"vol":3520,"trade_turnover":46175.428,"count":68},{"id":1603922400,"open":13185.4,"close":13252.0,"high":13267.5,"low":13185.4,"amount":3.122,"vol":3122,"trade_turnover":41304.2018,"count":72},{"id":1603926000,"open":13242.1,"close":13265.9,"high":13282.3,"low":13235.9,"amount":14.768,"vol":14768,"trade_turnover":195689.0764,"count":86},{"id":1603929600,"open":13253.9,"close":13245.1,"high":13294.7,"low":13237.4,"amount":19.968,"vol":19968,"trade_turnover":264834.1944,"count":98},{"id":1603933200,"open":13244.6,"close":13274.2,"high":13285.3,"low":13166.3,"amount":35.282,"vol":35282,"trade_turnover":465789.6302,"count":192},{"id":1603936800,"open":13275.9,"close":13241.1,"high":13277.7,"low":13212.2,"amount":9.748,"vol":9748,"trade_turnover":129016.0684,"count":119},{"id":1603940400,"open":13237.1,"close":13262.5,"high":13262.5,"low":13174.6,"amount":27.3,"vol":27300,"trade_turnover":360589.8982,"count":199},{"id":1603944000,"open":13269.1,"close":13229.5,"high":13277.7,"low":13229.5,"amount":18.904,"vol":18904,"trade_turnover":250713.2812,"count":109},{"id":1603947600,"open":13228.5,"close":13274.8,"high":13274.8,"low":13228.5,"amount":15.822,"vol":15822,"trade_turnover":209781.909,"count":134},{"id":1603951200,"open":13274.8,"close":13255.0,"high":13323.0,"low":13242.3,"amount":91.246,"vol":91246,"trade_turnover":1211271.2788,"count":294},{"id":1603954800,"open":13255.0,"close":13142.4,"high":13269.3,"low":13123.1,"amount":187.622,"vol":187622,"trade_turnover":2478299.7074,"count":506},{"id":1603958400,"open":13145.9,"close":13124.8,"high":13182.4,"low":13094.1,"amount":69.532,"vol":69532,"trade_turnover":914157.2418,"count":226},{"id":1603962000,"open":13129.5,"close":13183.7,"high":13197.1,"low":13129.5,"amount":23.184,"vol":23184,"trade_turnover":305485.9524,"count":141},{"id":1603965600,"open":13184.8,"close":13105.2,"high":13187.5,"low":13053.1,"amount":121.146,"vol":121146,"trade_turnover":1590026.4416,"count":442},{"id":1603969200,"open":13105.1,"close":13060.1,"high":13171.4,"low":13060.1,"amount":47.498,"vol":47498,"trade_turnover":623578.149,"count":262},{"id":1603972800,"open":13056.9,"close":13131.8,"high":13145.8,"low":12977.9,"amount":126.552,"vol":126552,"trade_turnover":1652549.311,"count":481},{"id":1603976400,"open":13131.7,"close":13230.0,"high":13237.2,"low":13102.0,"amount":100.482,"vol":100482,"trade_turnover":1326403.7206,"count":325},{"id":1603980000,"open":13231.0,"close":13420.8,"high":13476.1,"low":13231.0,"amount":253.258,"vol":253258,"trade_turnover":3384941.438,"count":752},{"id":1603983600,"open":13416.0,"close":13420.6,"high":13458.7,"low":13358.7,"amount":64.71,"vol":64710,"trade_turnover":869052.3804,"count":269},{"id":1603987200,"open":13421.9,"close":13535.9,"high":13594.5,"low":13391.8,"amount":120.24,"vol":120240,"trade_turnover":1626567.8278,"count":570}]} +2024-01-18 11:13:02.879 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:41] - 请求 KLine 数据解析之后的数据为:{"wsid":19750305,"data":[{"amount":0.276,"high":12300.0,"vol":276,"low":11715.8,"count":39,"id":1603270800,"close":12196.7,"tradeTurnover":3315.9104,"open":12198.0},{"amount":0.198,"high":12289.9,"vol":198,"low":12111.0,"count":21,"id":1603274400,"close":12277.9,"tradeTurnover":2420.7728,"open":12196.7},{"amount":0.012,"high":12277.9,"vol":12,"low":12000.0,"count":5,"id":1603278000,"close":12000.0,"tradeTurnover":145.2238,"open":12111.0},{"amount":0.084,"high":12498.0,"vol":84,"low":12078.0,"count":12,"id":1603281600,"close":12497.4,"tradeTurnover":1040.0504,"open":12078.0},{"amount":1.122,"high":12495.6,"vol":1122,"low":12282.9,"count":112,"id":1603285200,"close":12373.5,"tradeTurnover":13905.3124,"open":12495.6},{"amount":5.29,"high":12807.6,"vol":5290,"low":12358.1,"count":155,"id":1603288800,"close":12689.9,"tradeTurnover":66852.128,"open":12412.9},{"amount":1.174,"high":12778.7,"vol":1174,"low":12573.2,"count":113,"id":1603292400,"close":12701.9,"tradeTurnover":14907.367,"open":12692.8},{"amount":1.156,"high":12920.9,"vol":1156,"low":12624.8,"count":115,"id":1603296000,"close":12835.9,"tradeTurnover":14802.449,"open":12679.7},{"amount":1.12,"high":12908.3,"vol":1120,"low":12687.5,"count":115,"id":1603299600,"close":12754.2,"tradeTurnover":14345.7324,"open":12848.3},{"amount":1.106,"high":12849.0,"vol":1106,"low":12668.3,"count":114,"id":1603303200,"close":12740.2,"tradeTurnover":14105.3504,"open":12743.7},{"amount":1.032,"high":12843.1,"vol":1032,"low":12597.2,"count":112,"id":1603306800,"close":12650.3,"tradeTurnover":13125.4568,"open":12729.5},{"amount":1.154,"high":12848.4,"vol":1154,"low":12610.2,"count":116,"id":1603310400,"close":12807.0,"tradeTurnover":14680.638,"open":12666.8},{"amount":1.164,"high":13005.1,"vol":1164,"low":12748.2,"count":114,"id":1603314000,"close":12938.9,"tradeTurnover":14976.9366,"open":12866.0},{"amount":1.174,"high":13211.2,"vol":1174,"low":12865.7,"count":114,"id":1603317600,"close":13122.0,"tradeTurnover":15285.2446,"open":12921.0},{"amount":1.172,"high":13173.2,"vol":1172,"low":12688.6,"count":117,"id":1603321200,"close":12829.8,"tradeTurnover":15060.9938,"open":13153.2},{"amount":1.17,"high":12988.1,"vol":1170,"low":12764.4,"count":117,"id":1603324800,"close":12885.9,"tradeTurnover":15046.2046,"open":12793.1},{"amount":1.158,"high":12972.6,"vol":1158,"low":12757.5,"count":118,"id":1603328400,"close":12757.5,"tradeTurnover":14882.4656,"open":12860.4},{"amount":1.124,"high":12848.0,"vol":1124,"low":12729.0,"count":115,"id":1603332000,"close":12788.8,"tradeTurnover":14368.7948,"open":12824.1},{"amount":1.194,"high":12834.4,"vol":1194,"low":12729.0,"count":111,"id":1603335600,"close":12767.2,"tradeTurnover":15268.9298,"open":12791.7},{"amount":1.152,"high":12778.3,"vol":1152,"low":12729.0,"count":115,"id":1603339200,"close":12762.2,"tradeTurnover":14695.4876,"open":12729.0},{"amount":1.21,"high":12842.0,"vol":1210,"low":12730.6,"count":119,"id":1603342800,"close":12813.8,"tradeTurnover":15440.8162,"open":12763.1},{"amount":1.188,"high":12795.0,"vol":1188,"low":12728.0,"count":123,"id":1603346400,"close":12729.1,"tradeTurnover":15128.0098,"open":12795.0},{"amount":1.266,"high":12730.6,"vol":1266,"low":12728.3,"count":112,"id":1603350000,"close":12730.6,"tradeTurnover":16115.1306,"open":12728.6},{"amount":1.35,"high":12921.5,"vol":1350,"low":12729.9,"count":127,"id":1603353600,"close":12770.1,"tradeTurnover":17233.7326,"open":12730.3},{"amount":0.98,"high":12872.1,"vol":980,"low":12760.1,"count":99,"id":1603357200,"close":12780.4,"tradeTurnover":12553.9826,"open":12824.9},{"amount":0.266,"high":13002.7,"vol":266,"low":12775.6,"count":30,"id":1603360800,"close":12934.2,"tradeTurnover":3415.023,"open":12784.9},{"amount":1.004,"high":13057.0,"vol":1004,"low":12886.6,"count":117,"id":1603364400,"close":13045.0,"tradeTurnover":13020.8576,"open":12977.0},{"amount":1.134,"high":12973.4,"vol":1134,"low":12751.6,"count":111,"id":1603368000,"close":12847.9,"tradeTurnover":14594.2752,"open":12958.5},{"amount":1.152,"high":13000.8,"vol":1152,"low":12743.0,"count":114,"id":1603371600,"close":12931.0,"tradeTurnover":14877.7314,"open":12882.7},{"amount":1.182,"high":12995.3,"vol":1182,"low":12783.9,"count":115,"id":1603375200,"close":12917.8,"tradeTurnover":15224.4716,"open":12890.4},{"amount":1.176,"high":13031.2,"vol":1176,"low":12817.9,"count":117,"id":1603378800,"close":12953.0,"tradeTurnover":15197.208,"open":12918.8},{"amount":1.146,"high":13100.2,"vol":1146,"low":12865.6,"count":119,"id":1603382400,"close":13055.6,"tradeTurnover":14851.9604,"open":12923.1},{"amount":1.534,"high":13105.7,"vol":1534,"low":12835.5,"count":124,"id":1603386000,"close":13082.7,"tradeTurnover":19927.8288,"open":12967.6},{"amount":1.268,"high":13115.0,"vol":1268,"low":12938.7,"count":117,"id":1603389600,"close":13016.4,"tradeTurnover":16505.4738,"open":13020.4},{"amount":1.13,"high":13171.2,"vol":1130,"low":12961.8,"count":112,"id":1603393200,"close":12970.6,"tradeTurnover":14762.952,"open":13028.3},{"amount":1.206,"high":13216.1,"vol":1206,"low":12998.5,"count":117,"id":1603396800,"close":13089.3,"tradeTurnover":15807.1226,"open":13016.7},{"amount":1.332,"high":13203.7,"vol":1332,"low":12932.9,"count":114,"id":1603400400,"close":13092.0,"tradeTurnover":17423.4422,"open":13136.0},{"amount":1.21,"high":13250.5,"vol":1210,"low":12984.7,"count":114,"id":1603404000,"close":13055.9,"tradeTurnover":15876.0632,"open":13119.4},{"amount":1.286,"high":13126.5,"vol":1286,"low":12857.2,"count":116,"id":1603407600,"close":12890.4,"tradeTurnover":16688.422,"open":13059.4},{"amount":1.502,"high":12994.0,"vol":1502,"low":12751.6,"count":131,"id":1603411200,"close":12892.2,"tradeTurnover":19331.1596,"open":12929.7},{"amount":1.386,"high":13003.2,"vol":1386,"low":12786.0,"count":121,"id":1603414800,"close":12898.3,"tradeTurnover":17904.8902,"open":12921.7},{"amount":1.416,"high":13054.0,"vol":1416,"low":12800.7,"count":122,"id":1603418400,"close":12975.1,"tradeTurnover":18306.6204,"open":12951.6},{"amount":1.19,"high":13030.7,"vol":1190,"low":12875.0,"count":118,"id":1603422000,"close":12947.0,"tradeTurnover":15409.7984,"open":12967.3},{"amount":1.022,"high":13047.3,"vol":1022,"low":12832.8,"count":127,"id":1603425600,"close":12852.0,"tradeTurnover":13214.4388,"open":12925.2},{"amount":0.478,"high":12991.7,"vol":478,"low":12841.2,"count":118,"id":1603429200,"close":12931.1,"tradeTurnover":6180.2486,"open":12859.0},{"amount":0.522,"high":13014.1,"vol":522,"low":12871.9,"count":132,"id":1603432800,"close":12939.6,"tradeTurnover":6759.0324,"open":12935.9},{"amount":0.476,"high":12998.9,"vol":476,"low":12917.1,"count":118,"id":1603436400,"close":12925.4,"tradeTurnover":6163.3118,"open":12923.1},{"amount":0.508,"high":13014.0,"vol":508,"low":12916.1,"count":122,"id":1603440000,"close":12962.6,"tradeTurnover":6585.3656,"open":12942.2},{"amount":0.564,"high":13012.5,"vol":564,"low":12909.9,"count":124,"id":1603443600,"close":12926.4,"tradeTurnover":7308.8828,"open":12970.5},{"amount":0.536,"high":13059.5,"vol":536,"low":12925.7,"count":124,"id":1603447200,"close":13007.7,"tradeTurnover":6957.8796,"open":13001.2},{"amount":0.486,"high":13078.4,"vol":486,"low":12906.5,"count":122,"id":1603450800,"close":12970.6,"tradeTurnover":6326.1434,"open":13025.4},{"amount":0.494,"high":13025.0,"vol":494,"low":12850.8,"count":117,"id":1603454400,"close":12935.4,"tradeTurnover":6396.0984,"open":12963.9},{"amount":0.466,"high":13043.3,"vol":466,"low":12911.0,"count":117,"id":1603458000,"close":12951.7,"tradeTurnover":6049.1412,"open":12913.3},{"amount":0.46,"high":13006.4,"vol":460,"low":12840.4,"count":116,"id":1603461600,"close":12858.8,"tradeTurnover":5941.815,"open":12999.6},{"amount":0.492,"high":12932.9,"vol":492,"low":12826.5,"count":117,"id":1603465200,"close":12881.9,"tradeTurnover":6340.214,"open":12885.7},{"amount":0.484,"high":12933.5,"vol":484,"low":12744.4,"count":123,"id":1603468800,"close":12784.1,"tradeTurnover":6205.4138,"open":12854.4},{"amount":0.562,"high":12893.1,"vol":562,"low":12730.1,"count":152,"id":1603472400,"close":12847.7,"tradeTurnover":7218.9184,"open":12832.3},{"amount":0.53,"high":12939.3,"vol":530,"low":12751.4,"count":128,"id":1603476000,"close":12915.7,"tradeTurnover":6825.7004,"open":12874.1},{"amount":0.444,"high":12972.9,"vol":444,"low":12786.6,"count":117,"id":1603479600,"close":12972.9,"tradeTurnover":5727.7452,"open":12867.9},{"amount":0.492,"high":13002.2,"vol":492,"low":12842.9,"count":116,"id":1603483200,"close":12991.6,"tradeTurnover":6375.1566,"open":12956.7},{"amount":0.5,"high":13004.3,"vol":500,"low":12936.6,"count":125,"id":1603486800,"close":12943.5,"tradeTurnover":6485.468,"open":13004.3},{"amount":0.492,"high":13010.3,"vol":492,"low":12884.7,"count":120,"id":1603490400,"close":12989.2,"tradeTurnover":6376.1492,"open":12923.6},{"amount":0.51,"high":13024.4,"vol":510,"low":12884.6,"count":121,"id":1603494000,"close":12884.6,"tradeTurnover":6622.3406,"open":12974.9},{"amount":0.488,"high":13018.3,"vol":488,"low":12811.1,"count":120,"id":1603497600,"close":12953.9,"tradeTurnover":6317.7938,"open":12973.7},{"amount":0.482,"high":13018.1,"vol":482,"low":12872.8,"count":117,"id":1603501200,"close":12934.2,"tradeTurnover":6242.4178,"open":12927.5},{"amount":0.484,"high":13003.9,"vol":484,"low":12903.3,"count":117,"id":1603504800,"close":12989.1,"tradeTurnover":6278.1756,"open":12971.9},{"amount":0.474,"high":13013.4,"vol":474,"low":12938.3,"count":122,"id":1603508400,"close":12975.9,"tradeTurnover":6157.7096,"open":13000.1},{"amount":0.526,"high":13009.4,"vol":526,"low":12905.5,"count":124,"id":1603512000,"close":12963.3,"tradeTurnover":6831.5658,"open":12989.7},{"amount":0.522,"high":13041.8,"vol":522,"low":12875.3,"count":127,"id":1603515600,"close":12989.7,"tradeTurnover":6768.8994,"open":12910.5},{"amount":0.49,"high":13058.1,"vol":490,"low":12908.8,"count":120,"id":1603519200,"close":13003.6,"tradeTurnover":6370.5714,"open":12994.7},{"amount":0.478,"high":13037.8,"vol":478,"low":12981.7,"count":120,"id":1603522800,"close":13004.2,"tradeTurnover":6218.9722,"open":13011.9},{"amount":0.52,"high":13030.6,"vol":520,"low":12899.4,"count":124,"id":1603526400,"close":12998.2,"tradeTurnover":6754.958,"open":13003.0},{"amount":0.454,"high":13020.3,"vol":454,"low":12893.6,"count":115,"id":1603530000,"close":12990.6,"tradeTurnover":5891.0574,"open":12998.2},{"amount":0.502,"high":13059.1,"vol":502,"low":12913.2,"count":124,"id":1603533600,"close":13030.1,"tradeTurnover":6525.9004,"open":12996.4},{"amount":0.468,"high":13068.3,"vol":468,"low":12940.2,"count":119,"id":1603537200,"close":13033.2,"tradeTurnover":6091.0376,"open":12988.4},{"amount":0.468,"high":13071.8,"vol":468,"low":12978.9,"count":123,"id":1603540800,"close":13006.5,"tradeTurnover":6102.5902,"open":13035.3},{"amount":0.534,"high":13066.7,"vol":534,"low":12928.1,"count":123,"id":1603544400,"close":12985.9,"tradeTurnover":6950.4268,"open":13038.8},{"amount":0.47,"high":13100.1,"vol":470,"low":12960.5,"count":100,"id":1603548000,"close":13042.0,"tradeTurnover":6124.2178,"open":12986.3},{"amount":0.456,"high":13196.5,"vol":456,"low":13038.4,"count":120,"id":1603551600,"close":13102.2,"tradeTurnover":5989.6362,"open":13038.4},{"amount":0.458,"high":13176.6,"vol":458,"low":12984.6,"count":121,"id":1603555200,"close":13052.7,"tradeTurnover":5976.331,"open":13136.8},{"amount":0.452,"high":13177.8,"vol":452,"low":13003.2,"count":118,"id":1603558800,"close":13177.8,"tradeTurnover":5911.7058,"open":13006.2},{"amount":0.468,"high":13170.7,"vol":468,"low":13023.0,"count":119,"id":1603562400,"close":13080.8,"tradeTurnover":6122.375,"open":13127.7},{"amount":0.468,"high":13179.3,"vol":468,"low":13014.2,"count":120,"id":1603566000,"close":13148.4,"tradeTurnover":6126.4278,"open":13040.7},{"amount":0.47,"high":13179.6,"vol":470,"low":12992.5,"count":119,"id":1603569600,"close":13090.1,"tradeTurnover":6151.4758,"open":13073.5},{"amount":0.458,"high":13148.7,"vol":458,"low":12980.7,"count":117,"id":1603573200,"close":12993.9,"tradeTurnover":5981.071,"open":13035.4},{"amount":0.478,"high":13112.1,"vol":478,"low":12975.6,"count":118,"id":1603576800,"close":13041.1,"tradeTurnover":6225.4216,"open":13040.7},{"amount":0.472,"high":13184.3,"vol":472,"low":13009.3,"count":118,"id":1603580400,"close":13184.3,"tradeTurnover":6173.4244,"open":13012.6},{"amount":0.46,"high":13170.4,"vol":460,"low":13007.7,"count":115,"id":1603584000,"close":13154.3,"tradeTurnover":6024.09,"open":13080.8},{"amount":0.398,"high":13196.8,"vol":398,"low":13024.0,"count":102,"id":1603587600,"close":13196.1,"tradeTurnover":5217.5364,"open":13092.0},{"amount":0.476,"high":13175.1,"vol":476,"low":13035.0,"count":120,"id":1603591200,"close":13082.4,"tradeTurnover":6228.6596,"open":13124.7},{"amount":0.578,"high":13383.8,"vol":578,"low":13049.1,"count":137,"id":1603594800,"close":13259.0,"tradeTurnover":7629.3886,"open":13049.1},{"amount":0.47,"high":13369.0,"vol":470,"low":13216.0,"count":122,"id":1603598400,"close":13243.4,"tradeTurnover":6247.955,"open":13277.0},{"amount":0.61,"high":13353.3,"vol":610,"low":13010.1,"count":134,"id":1603602000,"close":13017.3,"tradeTurnover":8048.8598,"open":13285.3},{"amount":0.486,"high":13105.7,"vol":486,"low":13018.2,"count":118,"id":1603605600,"close":13060.3,"tradeTurnover":6344.1474,"open":13022.5},{"amount":0.464,"high":13112.1,"vol":464,"low":13022.0,"count":120,"id":1603609200,"close":13078.1,"tradeTurnover":6061.5416,"open":13048.5},{"amount":0.464,"high":13091.0,"vol":464,"low":13017.2,"count":120,"id":1603612800,"close":13046.0,"tradeTurnover":6055.3734,"open":13077.2},{"amount":0.478,"high":13084.0,"vol":478,"low":13014.2,"count":117,"id":1603616400,"close":13040.8,"tradeTurnover":6235.7882,"open":13065.1},{"amount":0.478,"high":13064.2,"vol":478,"low":13010.2,"count":125,"id":1603620000,"close":13028.5,"tradeTurnover":6232.2428,"open":13047.1},{"amount":0.534,"high":13061.5,"vol":534,"low":12852.9,"count":123,"id":1603623600,"close":12897.6,"tradeTurnover":6918.1226,"open":13061.5},{"amount":0.444,"high":13069.7,"vol":444,"low":12893.2,"count":117,"id":1603627200,"close":12964.3,"tradeTurnover":5755.8712,"open":12908.3},{"amount":0.498,"high":13071.9,"vol":498,"low":12891.8,"count":119,"id":1603630800,"close":12949.3,"tradeTurnover":6465.078,"open":13001.3},{"amount":0.468,"high":13077.7,"vol":468,"low":12900.0,"count":116,"id":1603634400,"close":12946.8,"tradeTurnover":6075.4554,"open":12975.8},{"amount":0.47,"high":13069.1,"vol":470,"low":12883.3,"count":119,"id":1603638000,"close":12883.3,"tradeTurnover":6097.1072,"open":12975.2},{"amount":0.482,"high":13067.9,"vol":482,"low":12877.5,"count":118,"id":1603641600,"close":12978.7,"tradeTurnover":6256.4472,"open":12916.2},{"amount":0.47,"high":13087.5,"vol":470,"low":12922.7,"count":117,"id":1603645200,"close":13004.4,"tradeTurnover":6108.3892,"open":13008.0},{"amount":0.468,"high":13067.6,"vol":468,"low":12893.6,"count":118,"id":1603648800,"close":12957.2,"tradeTurnover":6079.1484,"open":12972.8},{"amount":0.442,"high":13066.9,"vol":442,"low":12916.6,"count":118,"id":1603652400,"close":13021.8,"tradeTurnover":5746.5548,"open":12996.5},{"amount":0.508,"high":13081.5,"vol":508,"low":12944.9,"count":120,"id":1603656000,"close":12985.4,"tradeTurnover":6616.9872,"open":12992.9},{"amount":0.508,"high":13068.6,"vol":508,"low":12921.4,"count":122,"id":1603659600,"close":13011.2,"tradeTurnover":6614.816,"open":12999.9},{"amount":0.486,"high":13073.8,"vol":486,"low":12911.9,"count":121,"id":1603663200,"close":12959.4,"tradeTurnover":6320.907,"open":12979.6},{"amount":0.452,"high":13085.2,"vol":452,"low":12927.8,"count":113,"id":1603666800,"close":13032.1,"tradeTurnover":5878.6442,"open":12963.4},{"amount":0.482,"high":13076.7,"vol":482,"low":12918.3,"count":121,"id":1603670400,"close":13001.0,"tradeTurnover":6263.698,"open":12964.2},{"amount":0.478,"high":13096.4,"vol":478,"low":12991.2,"count":124,"id":1603674000,"close":13053.7,"tradeTurnover":6232.2328,"open":13040.0},{"amount":0.488,"high":13185.7,"vol":488,"low":12985.1,"count":121,"id":1603677600,"close":13064.4,"tradeTurnover":6387.534,"open":13060.6},{"amount":0.486,"high":13187.2,"vol":486,"low":12984.1,"count":135,"id":1603681200,"close":13092.8,"tradeTurnover":6369.0272,"open":13032.3},{"amount":0.51,"high":13181.6,"vol":510,"low":12962.3,"count":131,"id":1603684800,"close":13132.6,"tradeTurnover":6679.829,"open":13092.0},{"amount":0.506,"high":13205.3,"vol":506,"low":13025.3,"count":126,"id":1603688400,"close":13092.1,"tradeTurnover":6641.2128,"open":13129.2},{"amount":1.616,"high":13188.1,"vol":1616,"low":12989.8,"count":141,"id":1603692000,"close":13071.4,"tradeTurnover":21170.8224,"open":13121.8},{"amount":3.746,"high":13100.0,"vol":3746,"low":12965.2,"count":110,"id":1603695600,"close":13038.7,"tradeTurnover":48924.8902,"open":13061.0},{"amount":8.966,"high":13102.0,"vol":8966,"low":12852.8,"count":173,"id":1603699200,"close":13039.3,"tradeTurnover":116525.5534,"open":13030.9},{"amount":4.48,"high":13088.4,"vol":4480,"low":13039.8,"count":124,"id":1603702800,"close":13075.9,"tradeTurnover":58521.1714,"open":13047.1},{"amount":4.272,"high":13100.0,"vol":4272,"low":13060.2,"count":130,"id":1603706400,"close":13100.0,"tradeTurnover":55895.9778,"open":13072.1},{"amount":29.798,"high":13159.0,"vol":29798,"low":13100.0,"count":230,"id":1603710000,"close":13138.4,"tradeTurnover":391138.024,"open":13100.0},{"amount":5.154,"high":13200.0,"vol":5154,"low":13100.0,"count":188,"id":1603713600,"close":13149.8,"tradeTurnover":67694.652,"open":13138.8},{"amount":35.608,"high":13351.5,"vol":35608,"low":13133.1,"count":328,"id":1603717200,"close":13205.8,"tradeTurnover":472780.3394,"open":13150.0},{"amount":31.748,"high":13280.0,"vol":31748,"low":13144.1,"count":235,"id":1603720800,"close":13166.1,"tradeTurnover":418744.5588,"open":13203.0},{"amount":36.53,"high":13165.2,"vol":36530,"low":12903.8,"count":384,"id":1603724400,"close":12978.0,"tradeTurnover":476940.3296,"open":13159.0},{"amount":35.018,"high":13069.8,"vol":35018,"low":12850.5,"count":323,"id":1603728000,"close":12869.6,"tradeTurnover":453288.918,"open":12965.0},{"amount":92.628,"high":12941.5,"vol":92628,"low":12583.9,"count":560,"id":1603731600,"close":12873.8,"tradeTurnover":1185973.467,"open":12879.2},{"amount":4.302,"high":12954.5,"vol":4302,"low":12820.4,"count":128,"id":1603735200,"close":12946.8,"tradeTurnover":55481.0054,"open":12856.2},{"amount":13.83,"high":12953.5,"vol":13830,"low":12914.1,"count":118,"id":1603738800,"close":12953.4,"tradeTurnover":179112.1598,"open":12945.6},{"amount":17.172,"high":13007.5,"vol":17172,"low":12953.5,"count":132,"id":1603742400,"close":12983.4,"tradeTurnover":223230.2122,"open":12953.5},{"amount":3.212,"high":13007.5,"vol":3212,"low":12982.7,"count":59,"id":1603746000,"close":12993.8,"tradeTurnover":41767.8906,"open":12983.1},{"amount":1.504,"high":13007.5,"vol":1504,"low":12974.0,"count":74,"id":1603749600,"close":13007.5,"tradeTurnover":19543.3568,"open":13002.1},{"amount":3.454,"high":13061.2,"vol":3454,"low":13007.5,"count":101,"id":1603753200,"close":13033.7,"tradeTurnover":45001.601,"open":13007.5},{"amount":8.784,"high":13105.0,"vol":8784,"low":13028.3,"count":98,"id":1603756800,"close":13067.1,"tradeTurnover":114871.8246,"open":13029.2},{"amount":11.592,"high":13074.4,"vol":11592,"low":13051.5,"count":66,"id":1603760400,"close":13061.7,"tradeTurnover":151386.9038,"open":13074.3},{"amount":19.298,"high":13097.6,"vol":19298,"low":13040.1,"count":109,"id":1603764000,"close":13049.7,"tradeTurnover":252061.019,"open":13061.7},{"amount":22.992,"high":13080.0,"vol":22992,"low":13057.1,"count":69,"id":1603767600,"close":13070.4,"tradeTurnover":300453.9788,"open":13057.6},{"amount":14.396,"high":13175.0,"vol":14396,"low":13079.6,"count":59,"id":1603771200,"close":13103.3,"tradeTurnover":188461.9156,"open":13080.0},{"amount":5.058,"high":13121.3,"vol":5058,"low":13069.7,"count":44,"id":1603774800,"close":13073.6,"tradeTurnover":66201.3552,"open":13121.3},{"amount":9.106,"high":13149.0,"vol":9106,"low":13069.6,"count":107,"id":1603778400,"close":13103.4,"tradeTurnover":119104.8906,"open":13074.9},{"amount":73.95,"high":13169.8,"vol":73950,"low":12992.4,"count":305,"id":1603782000,"close":13130.0,"tradeTurnover":968195.155,"open":13103.3},{"amount":18.732,"high":13148.4,"vol":18732,"low":13044.0,"count":135,"id":1603785600,"close":13123.8,"tradeTurnover":245533.5448,"open":13135.1},{"amount":13.756,"high":13131.8,"vol":13756,"low":13075.7,"count":102,"id":1603789200,"close":13131.7,"tradeTurnover":180253.7708,"open":13115.5},{"amount":154.108,"high":13252.0,"vol":154108,"low":13063.4,"count":525,"id":1603792800,"close":13216.9,"tradeTurnover":2029983.656,"open":13134.8},{"amount":170.09,"high":13590.1,"vol":170090,"low":13213.5,"count":591,"id":1603796400,"close":13395.8,"tradeTurnover":2276279.742,"open":13218.8},{"amount":48.928,"high":13414.0,"vol":48928,"low":13331.7,"count":216,"id":1603800000,"close":13376.9,"tradeTurnover":654585.9108,"open":13395.9},{"amount":63.294,"high":13490.9,"vol":63294,"low":13329.8,"count":316,"id":1603803600,"close":13384.3,"tradeTurnover":848130.9212,"open":13376.5},{"amount":12.892,"high":13415.8,"vol":12892,"low":13344.8,"count":124,"id":1603807200,"close":13398.2,"tradeTurnover":172618.6864,"open":13392.6},{"amount":93.22,"high":13626.7,"vol":93220,"low":13398.2,"count":476,"id":1603810800,"close":13598.5,"tradeTurnover":1262695.5466,"open":13398.2},{"amount":85.45,"high":13639.9,"vol":85450,"low":13520.2,"count":435,"id":1603814400,"close":13639.9,"tradeTurnover":1161481.4136,"open":13595.8},{"amount":191.812,"high":13826.7,"vol":191812,"low":13589.0,"count":711,"id":1603818000,"close":13688.1,"tradeTurnover":2628428.3788,"open":13640.0},{"amount":65.434,"high":13745.0,"vol":65434,"low":13528.2,"count":410,"id":1603821600,"close":13630.1,"tradeTurnover":891541.8394,"open":13685.0},{"amount":5.788,"high":13659.8,"vol":5788,"low":13595.4,"count":65,"id":1603825200,"close":13637.1,"tradeTurnover":78836.2578,"open":13629.4},{"amount":163.104,"high":13805.1,"vol":163104,"low":13582.6,"count":537,"id":1603828800,"close":13616.6,"tradeTurnover":2234040.3544,"open":13644.4},{"amount":9.884,"high":13753.5,"vol":9884,"low":13609.8,"count":101,"id":1603832400,"close":13705.5,"tradeTurnover":135406.4752,"open":13609.8},{"amount":7.436,"high":13739.9,"vol":7436,"low":13658.2,"count":100,"id":1603836000,"close":13739.9,"tradeTurnover":101840.3508,"open":13705.4},{"amount":17.086,"high":13794.6,"vol":17086,"low":13582.6,"count":234,"id":1603839600,"close":13649.6,"tradeTurnover":233971.8448,"open":13739.9},{"amount":24.108,"high":13745.2,"vol":24108,"low":13618.8,"count":177,"id":1603843200,"close":13701.7,"tradeTurnover":330206.5694,"open":13645.9},{"amount":15.892,"high":13725.6,"vol":15892,"low":13647.9,"count":151,"id":1603846800,"close":13702.6,"tradeTurnover":217816.7008,"open":13702.1},{"amount":46.548,"high":13832.2,"vol":46548,"low":13680.2,"count":274,"id":1603850400,"close":13811.6,"tradeTurnover":640636.0352,"open":13701.7},{"amount":67.896,"high":13820.3,"vol":67896,"low":13717.5,"count":320,"id":1603854000,"close":13777.0,"tradeTurnover":935838.2238,"open":13818.5},{"amount":33.156,"high":13807.2,"vol":33156,"low":13710.0,"count":210,"id":1603857600,"close":13735.7,"tradeTurnover":455941.234,"open":13767.3},{"amount":32.076,"high":13753.9,"vol":32076,"low":13671.3,"count":198,"id":1603861200,"close":13715.8,"tradeTurnover":439612.64,"open":13735.5},{"amount":14.756,"high":13757.0,"vol":14756,"low":13694.9,"count":122,"id":1603864800,"close":13701.3,"tradeTurnover":202602.5164,"open":13715.9},{"amount":155.534,"high":13708.7,"vol":155534,"low":13550.0,"count":635,"id":1603868400,"close":13674.2,"tradeTurnover":2117935.0928,"open":13701.2},{"amount":29.846,"high":13691.7,"vol":29846,"low":13584.0,"count":240,"id":1603872000,"close":13691.7,"tradeTurnover":407073.1398,"open":13673.0},{"amount":104.542,"high":13707.5,"vol":104542,"low":13573.5,"count":377,"id":1603875600,"close":13587.1,"tradeTurnover":1425079.9344,"open":13689.3},{"amount":73.818,"high":13618.0,"vol":73818,"low":13504.7,"count":358,"id":1603879200,"close":13552.7,"tradeTurnover":1001666.0908,"open":13584.6},{"amount":176.544,"high":13565.4,"vol":176544,"low":13330.0,"count":1004,"id":1603882800,"close":13336.4,"tradeTurnover":2369166.1492,"open":13552.6},{"amount":289.73,"high":13385.0,"vol":289730,"low":13173.9,"count":968,"id":1603886400,"close":13300.3,"tradeTurnover":3846751.7166,"open":13331.5},{"amount":139.822,"high":13340.0,"vol":139822,"low":13122.9,"count":612,"id":1603890000,"close":13129.9,"tradeTurnover":1848876.932,"open":13300.2},{"amount":367.876,"high":13168.2,"vol":367876,"low":12915.9,"count":1168,"id":1603893600,"close":13082.2,"tradeTurnover":4802516.9818,"open":13123.4},{"amount":84.044,"high":13235.2,"vol":84044,"low":13052.3,"count":375,"id":1603897200,"close":13221.2,"tradeTurnover":1106883.1282,"open":13077.1},{"amount":29.566,"high":13218.7,"vol":29566,"low":13050.0,"count":244,"id":1603900800,"close":13145.1,"tradeTurnover":388697.4104,"open":13218.7},{"amount":53.336,"high":13204.9,"vol":53336,"low":13006.6,"count":299,"id":1603904400,"close":13176.7,"tradeTurnover":700385.2784,"open":13145.1},{"amount":34.164,"high":13219.6,"vol":34164,"low":13131.0,"count":218,"id":1603908000,"close":13196.5,"tradeTurnover":450210.5778,"open":13171.0},{"amount":22.158,"high":13237.4,"vol":22158,"low":13145.0,"count":185,"id":1603911600,"close":13154.9,"tradeTurnover":292020.0438,"open":13200.0},{"amount":4.548,"high":13211.8,"vol":4548,"low":13147.4,"count":75,"id":1603915200,"close":13198.1,"tradeTurnover":59991.1118,"open":13154.5},{"amount":3.52,"high":13196.5,"vol":3520,"low":13100.2,"count":68,"id":1603918800,"close":13190.1,"tradeTurnover":46175.428,"open":13193.5},{"amount":3.122,"high":13267.5,"vol":3122,"low":13185.4,"count":72,"id":1603922400,"close":13252.0,"tradeTurnover":41304.2018,"open":13185.4},{"amount":14.768,"high":13282.3,"vol":14768,"low":13235.9,"count":86,"id":1603926000,"close":13265.9,"tradeTurnover":195689.0764,"open":13242.1},{"amount":19.968,"high":13294.7,"vol":19968,"low":13237.4,"count":98,"id":1603929600,"close":13245.1,"tradeTurnover":264834.1944,"open":13253.9},{"amount":35.282,"high":13285.3,"vol":35282,"low":13166.3,"count":192,"id":1603933200,"close":13274.2,"tradeTurnover":465789.6302,"open":13244.6},{"amount":9.748,"high":13277.7,"vol":9748,"low":13212.2,"count":119,"id":1603936800,"close":13241.1,"tradeTurnover":129016.0684,"open":13275.9},{"amount":27.3,"high":13262.5,"vol":27300,"low":13174.6,"count":199,"id":1603940400,"close":13262.5,"tradeTurnover":360589.8982,"open":13237.1},{"amount":18.904,"high":13277.7,"vol":18904,"low":13229.5,"count":109,"id":1603944000,"close":13229.5,"tradeTurnover":250713.2812,"open":13269.1},{"amount":15.822,"high":13274.8,"vol":15822,"low":13228.5,"count":134,"id":1603947600,"close":13274.8,"tradeTurnover":209781.909,"open":13228.5},{"amount":91.246,"high":13323.0,"vol":91246,"low":13242.3,"count":294,"id":1603951200,"close":13255.0,"tradeTurnover":1211271.2788,"open":13274.8},{"amount":187.622,"high":13269.3,"vol":187622,"low":13123.1,"count":506,"id":1603954800,"close":13142.4,"tradeTurnover":2478299.7074,"open":13255.0},{"amount":69.532,"high":13182.4,"vol":69532,"low":13094.1,"count":226,"id":1603958400,"close":13124.8,"tradeTurnover":914157.2418,"open":13145.9},{"amount":23.184,"high":13197.1,"vol":23184,"low":13129.5,"count":141,"id":1603962000,"close":13183.7,"tradeTurnover":305485.9524,"open":13129.5},{"amount":121.146,"high":13187.5,"vol":121146,"low":13053.1,"count":442,"id":1603965600,"close":13105.2,"tradeTurnover":1590026.4416,"open":13184.8},{"amount":47.498,"high":13171.4,"vol":47498,"low":13060.1,"count":262,"id":1603969200,"close":13060.1,"tradeTurnover":623578.149,"open":13105.1},{"amount":126.552,"high":13145.8,"vol":126552,"low":12977.9,"count":481,"id":1603972800,"close":13131.8,"tradeTurnover":1652549.311,"open":13056.9},{"amount":100.482,"high":13237.2,"vol":100482,"low":13102.0,"count":325,"id":1603976400,"close":13230.0,"tradeTurnover":1326403.7206,"open":13131.7},{"amount":253.258,"high":13476.1,"vol":253258,"low":13231.0,"count":752,"id":1603980000,"close":13420.8,"tradeTurnover":3384941.438,"open":13231.0},{"amount":64.71,"high":13458.7,"vol":64710,"low":13358.7,"count":269,"id":1603983600,"close":13420.6,"tradeTurnover":869052.3804,"open":13416.0},{"amount":120.24,"high":13594.5,"vol":120240,"low":13391.8,"count":570,"id":1603987200,"close":13535.9,"tradeTurnover":1626567.8278,"open":13421.9}],"id":"","rep":"market.BTC-USDT.kline.60min","status":"ok"} +2024-01-18 11:13:03.905 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:39] - 请求 KLine 数据用户收到的原始数据:{"id":"","rep":"market.BTC-USDT.kline.60min","ts":1705547582805,"wsid":19750305,"status":"ok","data":[{"id":1603270800,"open":12198.0,"close":12196.7,"high":12300.0,"low":11715.8,"amount":0.276,"vol":276,"trade_turnover":3315.9104,"count":39},{"id":1603274400,"open":12196.7,"close":12277.9,"high":12289.9,"low":12111.0,"amount":0.198,"vol":198,"trade_turnover":2420.7728,"count":21},{"id":1603278000,"open":12111.0,"close":12000.0,"high":12277.9,"low":12000.0,"amount":0.012,"vol":12,"trade_turnover":145.2238,"count":5},{"id":1603281600,"open":12078.0,"close":12497.4,"high":12498.0,"low":12078.0,"amount":0.084,"vol":84,"trade_turnover":1040.0504,"count":12},{"id":1603285200,"open":12495.6,"close":12373.5,"high":12495.6,"low":12282.9,"amount":1.122,"vol":1122,"trade_turnover":13905.3124,"count":112},{"id":1603288800,"open":12412.9,"close":12689.9,"high":12807.6,"low":12358.1,"amount":5.29,"vol":5290,"trade_turnover":66852.128,"count":155},{"id":1603292400,"open":12692.8,"close":12701.9,"high":12778.7,"low":12573.2,"amount":1.174,"vol":1174,"trade_turnover":14907.367,"count":113},{"id":1603296000,"open":12679.7,"close":12835.9,"high":12920.9,"low":12624.8,"amount":1.156,"vol":1156,"trade_turnover":14802.449,"count":115},{"id":1603299600,"open":12848.3,"close":12754.2,"high":12908.3,"low":12687.5,"amount":1.12,"vol":1120,"trade_turnover":14345.7324,"count":115},{"id":1603303200,"open":12743.7,"close":12740.2,"high":12849.0,"low":12668.3,"amount":1.106,"vol":1106,"trade_turnover":14105.3504,"count":114},{"id":1603306800,"open":12729.5,"close":12650.3,"high":12843.1,"low":12597.2,"amount":1.032,"vol":1032,"trade_turnover":13125.4568,"count":112},{"id":1603310400,"open":12666.8,"close":12807.0,"high":12848.4,"low":12610.2,"amount":1.154,"vol":1154,"trade_turnover":14680.638,"count":116},{"id":1603314000,"open":12866.0,"close":12938.9,"high":13005.1,"low":12748.2,"amount":1.164,"vol":1164,"trade_turnover":14976.9366,"count":114},{"id":1603317600,"open":12921.0,"close":13122.0,"high":13211.2,"low":12865.7,"amount":1.174,"vol":1174,"trade_turnover":15285.2446,"count":114},{"id":1603321200,"open":13153.2,"close":12829.8,"high":13173.2,"low":12688.6,"amount":1.172,"vol":1172,"trade_turnover":15060.9938,"count":117},{"id":1603324800,"open":12793.1,"close":12885.9,"high":12988.1,"low":12764.4,"amount":1.17,"vol":1170,"trade_turnover":15046.2046,"count":117},{"id":1603328400,"open":12860.4,"close":12757.5,"high":12972.6,"low":12757.5,"amount":1.158,"vol":1158,"trade_turnover":14882.4656,"count":118},{"id":1603332000,"open":12824.1,"close":12788.8,"high":12848.0,"low":12729.0,"amount":1.124,"vol":1124,"trade_turnover":14368.7948,"count":115},{"id":1603335600,"open":12791.7,"close":12767.2,"high":12834.4,"low":12729.0,"amount":1.194,"vol":1194,"trade_turnover":15268.9298,"count":111},{"id":1603339200,"open":12729.0,"close":12762.2,"high":12778.3,"low":12729.0,"amount":1.152,"vol":1152,"trade_turnover":14695.4876,"count":115},{"id":1603342800,"open":12763.1,"close":12813.8,"high":12842.0,"low":12730.6,"amount":1.21,"vol":1210,"trade_turnover":15440.8162,"count":119},{"id":1603346400,"open":12795.0,"close":12729.1,"high":12795.0,"low":12728.0,"amount":1.188,"vol":1188,"trade_turnover":15128.0098,"count":123},{"id":1603350000,"open":12728.6,"close":12730.6,"high":12730.6,"low":12728.3,"amount":1.266,"vol":1266,"trade_turnover":16115.1306,"count":112},{"id":1603353600,"open":12730.3,"close":12770.1,"high":12921.5,"low":12729.9,"amount":1.35,"vol":1350,"trade_turnover":17233.7326,"count":127},{"id":1603357200,"open":12824.9,"close":12780.4,"high":12872.1,"low":12760.1,"amount":0.98,"vol":980,"trade_turnover":12553.9826,"count":99},{"id":1603360800,"open":12784.9,"close":12934.2,"high":13002.7,"low":12775.6,"amount":0.266,"vol":266,"trade_turnover":3415.023,"count":30},{"id":1603364400,"open":12977.0,"close":13045.0,"high":13057.0,"low":12886.6,"amount":1.004,"vol":1004,"trade_turnover":13020.8576,"count":117},{"id":1603368000,"open":12958.5,"close":12847.9,"high":12973.4,"low":12751.6,"amount":1.134,"vol":1134,"trade_turnover":14594.2752,"count":111},{"id":1603371600,"open":12882.7,"close":12931.0,"high":13000.8,"low":12743.0,"amount":1.152,"vol":1152,"trade_turnover":14877.7314,"count":114},{"id":1603375200,"open":12890.4,"close":12917.8,"high":12995.3,"low":12783.9,"amount":1.182,"vol":1182,"trade_turnover":15224.4716,"count":115},{"id":1603378800,"open":12918.8,"close":12953.0,"high":13031.2,"low":12817.9,"amount":1.176,"vol":1176,"trade_turnover":15197.208,"count":117},{"id":1603382400,"open":12923.1,"close":13055.6,"high":13100.2,"low":12865.6,"amount":1.146,"vol":1146,"trade_turnover":14851.9604,"count":119},{"id":1603386000,"open":12967.6,"close":13082.7,"high":13105.7,"low":12835.5,"amount":1.534,"vol":1534,"trade_turnover":19927.8288,"count":124},{"id":1603389600,"open":13020.4,"close":13016.4,"high":13115.0,"low":12938.7,"amount":1.268,"vol":1268,"trade_turnover":16505.4738,"count":117},{"id":1603393200,"open":13028.3,"close":12970.6,"high":13171.2,"low":12961.8,"amount":1.13,"vol":1130,"trade_turnover":14762.952,"count":112},{"id":1603396800,"open":13016.7,"close":13089.3,"high":13216.1,"low":12998.5,"amount":1.206,"vol":1206,"trade_turnover":15807.1226,"count":117},{"id":1603400400,"open":13136.0,"close":13092.0,"high":13203.7,"low":12932.9,"amount":1.332,"vol":1332,"trade_turnover":17423.4422,"count":114},{"id":1603404000,"open":13119.4,"close":13055.9,"high":13250.5,"low":12984.7,"amount":1.21,"vol":1210,"trade_turnover":15876.0632,"count":114},{"id":1603407600,"open":13059.4,"close":12890.4,"high":13126.5,"low":12857.2,"amount":1.286,"vol":1286,"trade_turnover":16688.422,"count":116},{"id":1603411200,"open":12929.7,"close":12892.2,"high":12994.0,"low":12751.6,"amount":1.502,"vol":1502,"trade_turnover":19331.1596,"count":131},{"id":1603414800,"open":12921.7,"close":12898.3,"high":13003.2,"low":12786.0,"amount":1.386,"vol":1386,"trade_turnover":17904.8902,"count":121},{"id":1603418400,"open":12951.6,"close":12975.1,"high":13054.0,"low":12800.7,"amount":1.416,"vol":1416,"trade_turnover":18306.6204,"count":122},{"id":1603422000,"open":12967.3,"close":12947.0,"high":13030.7,"low":12875.0,"amount":1.19,"vol":1190,"trade_turnover":15409.7984,"count":118},{"id":1603425600,"open":12925.2,"close":12852.0,"high":13047.3,"low":12832.8,"amount":1.022,"vol":1022,"trade_turnover":13214.4388,"count":127},{"id":1603429200,"open":12859.0,"close":12931.1,"high":12991.7,"low":12841.2,"amount":0.478,"vol":478,"trade_turnover":6180.2486,"count":118},{"id":1603432800,"open":12935.9,"close":12939.6,"high":13014.1,"low":12871.9,"amount":0.522,"vol":522,"trade_turnover":6759.0324,"count":132},{"id":1603436400,"open":12923.1,"close":12925.4,"high":12998.9,"low":12917.1,"amount":0.476,"vol":476,"trade_turnover":6163.3118,"count":118},{"id":1603440000,"open":12942.2,"close":12962.6,"high":13014.0,"low":12916.1,"amount":0.508,"vol":508,"trade_turnover":6585.3656,"count":122},{"id":1603443600,"open":12970.5,"close":12926.4,"high":13012.5,"low":12909.9,"amount":0.564,"vol":564,"trade_turnover":7308.8828,"count":124},{"id":1603447200,"open":13001.2,"close":13007.7,"high":13059.5,"low":12925.7,"amount":0.536,"vol":536,"trade_turnover":6957.8796,"count":124},{"id":1603450800,"open":13025.4,"close":12970.6,"high":13078.4,"low":12906.5,"amount":0.486,"vol":486,"trade_turnover":6326.1434,"count":122},{"id":1603454400,"open":12963.9,"close":12935.4,"high":13025.0,"low":12850.8,"amount":0.494,"vol":494,"trade_turnover":6396.0984,"count":117},{"id":1603458000,"open":12913.3,"close":12951.7,"high":13043.3,"low":12911.0,"amount":0.466,"vol":466,"trade_turnover":6049.1412,"count":117},{"id":1603461600,"open":12999.6,"close":12858.8,"high":13006.4,"low":12840.4,"amount":0.46,"vol":460,"trade_turnover":5941.815,"count":116},{"id":1603465200,"open":12885.7,"close":12881.9,"high":12932.9,"low":12826.5,"amount":0.492,"vol":492,"trade_turnover":6340.214,"count":117},{"id":1603468800,"open":12854.4,"close":12784.1,"high":12933.5,"low":12744.4,"amount":0.484,"vol":484,"trade_turnover":6205.4138,"count":123},{"id":1603472400,"open":12832.3,"close":12847.7,"high":12893.1,"low":12730.1,"amount":0.562,"vol":562,"trade_turnover":7218.9184,"count":152},{"id":1603476000,"open":12874.1,"close":12915.7,"high":12939.3,"low":12751.4,"amount":0.53,"vol":530,"trade_turnover":6825.7004,"count":128},{"id":1603479600,"open":12867.9,"close":12972.9,"high":12972.9,"low":12786.6,"amount":0.444,"vol":444,"trade_turnover":5727.7452,"count":117},{"id":1603483200,"open":12956.7,"close":12991.6,"high":13002.2,"low":12842.9,"amount":0.492,"vol":492,"trade_turnover":6375.1566,"count":116},{"id":1603486800,"open":13004.3,"close":12943.5,"high":13004.3,"low":12936.6,"amount":0.5,"vol":500,"trade_turnover":6485.468,"count":125},{"id":1603490400,"open":12923.6,"close":12989.2,"high":13010.3,"low":12884.7,"amount":0.492,"vol":492,"trade_turnover":6376.1492,"count":120},{"id":1603494000,"open":12974.9,"close":12884.6,"high":13024.4,"low":12884.6,"amount":0.51,"vol":510,"trade_turnover":6622.3406,"count":121},{"id":1603497600,"open":12973.7,"close":12953.9,"high":13018.3,"low":12811.1,"amount":0.488,"vol":488,"trade_turnover":6317.7938,"count":120},{"id":1603501200,"open":12927.5,"close":12934.2,"high":13018.1,"low":12872.8,"amount":0.482,"vol":482,"trade_turnover":6242.4178,"count":117},{"id":1603504800,"open":12971.9,"close":12989.1,"high":13003.9,"low":12903.3,"amount":0.484,"vol":484,"trade_turnover":6278.1756,"count":117},{"id":1603508400,"open":13000.1,"close":12975.9,"high":13013.4,"low":12938.3,"amount":0.474,"vol":474,"trade_turnover":6157.7096,"count":122},{"id":1603512000,"open":12989.7,"close":12963.3,"high":13009.4,"low":12905.5,"amount":0.526,"vol":526,"trade_turnover":6831.5658,"count":124},{"id":1603515600,"open":12910.5,"close":12989.7,"high":13041.8,"low":12875.3,"amount":0.522,"vol":522,"trade_turnover":6768.8994,"count":127},{"id":1603519200,"open":12994.7,"close":13003.6,"high":13058.1,"low":12908.8,"amount":0.49,"vol":490,"trade_turnover":6370.5714,"count":120},{"id":1603522800,"open":13011.9,"close":13004.2,"high":13037.8,"low":12981.7,"amount":0.478,"vol":478,"trade_turnover":6218.9722,"count":120},{"id":1603526400,"open":13003.0,"close":12998.2,"high":13030.6,"low":12899.4,"amount":0.52,"vol":520,"trade_turnover":6754.958,"count":124},{"id":1603530000,"open":12998.2,"close":12990.6,"high":13020.3,"low":12893.6,"amount":0.454,"vol":454,"trade_turnover":5891.0574,"count":115},{"id":1603533600,"open":12996.4,"close":13030.1,"high":13059.1,"low":12913.2,"amount":0.502,"vol":502,"trade_turnover":6525.9004,"count":124},{"id":1603537200,"open":12988.4,"close":13033.2,"high":13068.3,"low":12940.2,"amount":0.468,"vol":468,"trade_turnover":6091.0376,"count":119},{"id":1603540800,"open":13035.3,"close":13006.5,"high":13071.8,"low":12978.9,"amount":0.468,"vol":468,"trade_turnover":6102.5902,"count":123},{"id":1603544400,"open":13038.8,"close":12985.9,"high":13066.7,"low":12928.1,"amount":0.534,"vol":534,"trade_turnover":6950.4268,"count":123},{"id":1603548000,"open":12986.3,"close":13042.0,"high":13100.1,"low":12960.5,"amount":0.47,"vol":470,"trade_turnover":6124.2178,"count":100},{"id":1603551600,"open":13038.4,"close":13102.2,"high":13196.5,"low":13038.4,"amount":0.456,"vol":456,"trade_turnover":5989.6362,"count":120},{"id":1603555200,"open":13136.8,"close":13052.7,"high":13176.6,"low":12984.6,"amount":0.458,"vol":458,"trade_turnover":5976.331,"count":121},{"id":1603558800,"open":13006.2,"close":13177.8,"high":13177.8,"low":13003.2,"amount":0.452,"vol":452,"trade_turnover":5911.7058,"count":118},{"id":1603562400,"open":13127.7,"close":13080.8,"high":13170.7,"low":13023.0,"amount":0.468,"vol":468,"trade_turnover":6122.375,"count":119},{"id":1603566000,"open":13040.7,"close":13148.4,"high":13179.3,"low":13014.2,"amount":0.468,"vol":468,"trade_turnover":6126.4278,"count":120},{"id":1603569600,"open":13073.5,"close":13090.1,"high":13179.6,"low":12992.5,"amount":0.47,"vol":470,"trade_turnover":6151.4758,"count":119},{"id":1603573200,"open":13035.4,"close":12993.9,"high":13148.7,"low":12980.7,"amount":0.458,"vol":458,"trade_turnover":5981.071,"count":117},{"id":1603576800,"open":13040.7,"close":13041.1,"high":13112.1,"low":12975.6,"amount":0.478,"vol":478,"trade_turnover":6225.4216,"count":118},{"id":1603580400,"open":13012.6,"close":13184.3,"high":13184.3,"low":13009.3,"amount":0.472,"vol":472,"trade_turnover":6173.4244,"count":118},{"id":1603584000,"open":13080.8,"close":13154.3,"high":13170.4,"low":13007.7,"amount":0.46,"vol":460,"trade_turnover":6024.09,"count":115},{"id":1603587600,"open":13092.0,"close":13196.1,"high":13196.8,"low":13024.0,"amount":0.398,"vol":398,"trade_turnover":5217.5364,"count":102},{"id":1603591200,"open":13124.7,"close":13082.4,"high":13175.1,"low":13035.0,"amount":0.476,"vol":476,"trade_turnover":6228.6596,"count":120},{"id":1603594800,"open":13049.1,"close":13259.0,"high":13383.8,"low":13049.1,"amount":0.578,"vol":578,"trade_turnover":7629.3886,"count":137},{"id":1603598400,"open":13277.0,"close":13243.4,"high":13369.0,"low":13216.0,"amount":0.47,"vol":470,"trade_turnover":6247.955,"count":122},{"id":1603602000,"open":13285.3,"close":13017.3,"high":13353.3,"low":13010.1,"amount":0.61,"vol":610,"trade_turnover":8048.8598,"count":134},{"id":1603605600,"open":13022.5,"close":13060.3,"high":13105.7,"low":13018.2,"amount":0.486,"vol":486,"trade_turnover":6344.1474,"count":118},{"id":1603609200,"open":13048.5,"close":13078.1,"high":13112.1,"low":13022.0,"amount":0.464,"vol":464,"trade_turnover":6061.5416,"count":120},{"id":1603612800,"open":13077.2,"close":13046.0,"high":13091.0,"low":13017.2,"amount":0.464,"vol":464,"trade_turnover":6055.3734,"count":120},{"id":1603616400,"open":13065.1,"close":13040.8,"high":13084.0,"low":13014.2,"amount":0.478,"vol":478,"trade_turnover":6235.7882,"count":117},{"id":1603620000,"open":13047.1,"close":13028.5,"high":13064.2,"low":13010.2,"amount":0.478,"vol":478,"trade_turnover":6232.2428,"count":125},{"id":1603623600,"open":13061.5,"close":12897.6,"high":13061.5,"low":12852.9,"amount":0.534,"vol":534,"trade_turnover":6918.1226,"count":123},{"id":1603627200,"open":12908.3,"close":12964.3,"high":13069.7,"low":12893.2,"amount":0.444,"vol":444,"trade_turnover":5755.8712,"count":117},{"id":1603630800,"open":13001.3,"close":12949.3,"high":13071.9,"low":12891.8,"amount":0.498,"vol":498,"trade_turnover":6465.078,"count":119},{"id":1603634400,"open":12975.8,"close":12946.8,"high":13077.7,"low":12900.0,"amount":0.468,"vol":468,"trade_turnover":6075.4554,"count":116},{"id":1603638000,"open":12975.2,"close":12883.3,"high":13069.1,"low":12883.3,"amount":0.47,"vol":470,"trade_turnover":6097.1072,"count":119},{"id":1603641600,"open":12916.2,"close":12978.7,"high":13067.9,"low":12877.5,"amount":0.482,"vol":482,"trade_turnover":6256.4472,"count":118},{"id":1603645200,"open":13008.0,"close":13004.4,"high":13087.5,"low":12922.7,"amount":0.47,"vol":470,"trade_turnover":6108.3892,"count":117},{"id":1603648800,"open":12972.8,"close":12957.2,"high":13067.6,"low":12893.6,"amount":0.468,"vol":468,"trade_turnover":6079.1484,"count":118},{"id":1603652400,"open":12996.5,"close":13021.8,"high":13066.9,"low":12916.6,"amount":0.442,"vol":442,"trade_turnover":5746.5548,"count":118},{"id":1603656000,"open":12992.9,"close":12985.4,"high":13081.5,"low":12944.9,"amount":0.508,"vol":508,"trade_turnover":6616.9872,"count":120},{"id":1603659600,"open":12999.9,"close":13011.2,"high":13068.6,"low":12921.4,"amount":0.508,"vol":508,"trade_turnover":6614.816,"count":122},{"id":1603663200,"open":12979.6,"close":12959.4,"high":13073.8,"low":12911.9,"amount":0.486,"vol":486,"trade_turnover":6320.907,"count":121},{"id":1603666800,"open":12963.4,"close":13032.1,"high":13085.2,"low":12927.8,"amount":0.452,"vol":452,"trade_turnover":5878.6442,"count":113},{"id":1603670400,"open":12964.2,"close":13001.0,"high":13076.7,"low":12918.3,"amount":0.482,"vol":482,"trade_turnover":6263.698,"count":121},{"id":1603674000,"open":13040.0,"close":13053.7,"high":13096.4,"low":12991.2,"amount":0.478,"vol":478,"trade_turnover":6232.2328,"count":124},{"id":1603677600,"open":13060.6,"close":13064.4,"high":13185.7,"low":12985.1,"amount":0.488,"vol":488,"trade_turnover":6387.534,"count":121},{"id":1603681200,"open":13032.3,"close":13092.8,"high":13187.2,"low":12984.1,"amount":0.486,"vol":486,"trade_turnover":6369.0272,"count":135},{"id":1603684800,"open":13092.0,"close":13132.6,"high":13181.6,"low":12962.3,"amount":0.51,"vol":510,"trade_turnover":6679.829,"count":131},{"id":1603688400,"open":13129.2,"close":13092.1,"high":13205.3,"low":13025.3,"amount":0.506,"vol":506,"trade_turnover":6641.2128,"count":126},{"id":1603692000,"open":13121.8,"close":13071.4,"high":13188.1,"low":12989.8,"amount":1.616,"vol":1616,"trade_turnover":21170.8224,"count":141},{"id":1603695600,"open":13061.0,"close":13038.7,"high":13100.0,"low":12965.2,"amount":3.746,"vol":3746,"trade_turnover":48924.8902,"count":110},{"id":1603699200,"open":13030.9,"close":13039.3,"high":13102.0,"low":12852.8,"amount":8.966,"vol":8966,"trade_turnover":116525.5534,"count":173},{"id":1603702800,"open":13047.1,"close":13075.9,"high":13088.4,"low":13039.8,"amount":4.48,"vol":4480,"trade_turnover":58521.1714,"count":124},{"id":1603706400,"open":13072.1,"close":13100.0,"high":13100.0,"low":13060.2,"amount":4.272,"vol":4272,"trade_turnover":55895.9778,"count":130},{"id":1603710000,"open":13100.0,"close":13138.4,"high":13159.0,"low":13100.0,"amount":29.798,"vol":29798,"trade_turnover":391138.024,"count":230},{"id":1603713600,"open":13138.8,"close":13149.8,"high":13200.0,"low":13100.0,"amount":5.154,"vol":5154,"trade_turnover":67694.652,"count":188},{"id":1603717200,"open":13150.0,"close":13205.8,"high":13351.5,"low":13133.1,"amount":35.608,"vol":35608,"trade_turnover":472780.3394,"count":328},{"id":1603720800,"open":13203.0,"close":13166.1,"high":13280.0,"low":13144.1,"amount":31.748,"vol":31748,"trade_turnover":418744.5588,"count":235},{"id":1603724400,"open":13159.0,"close":12978.0,"high":13165.2,"low":12903.8,"amount":36.53,"vol":36530,"trade_turnover":476940.3296,"count":384},{"id":1603728000,"open":12965.0,"close":12869.6,"high":13069.8,"low":12850.5,"amount":35.018,"vol":35018,"trade_turnover":453288.918,"count":323},{"id":1603731600,"open":12879.2,"close":12873.8,"high":12941.5,"low":12583.9,"amount":92.628,"vol":92628,"trade_turnover":1185973.467,"count":560},{"id":1603735200,"open":12856.2,"close":12946.8,"high":12954.5,"low":12820.4,"amount":4.302,"vol":4302,"trade_turnover":55481.0054,"count":128},{"id":1603738800,"open":12945.6,"close":12953.4,"high":12953.5,"low":12914.1,"amount":13.83,"vol":13830,"trade_turnover":179112.1598,"count":118},{"id":1603742400,"open":12953.5,"close":12983.4,"high":13007.5,"low":12953.5,"amount":17.172,"vol":17172,"trade_turnover":223230.2122,"count":132},{"id":1603746000,"open":12983.1,"close":12993.8,"high":13007.5,"low":12982.7,"amount":3.212,"vol":3212,"trade_turnover":41767.8906,"count":59},{"id":1603749600,"open":13002.1,"close":13007.5,"high":13007.5,"low":12974.0,"amount":1.504,"vol":1504,"trade_turnover":19543.3568,"count":74},{"id":1603753200,"open":13007.5,"close":13033.7,"high":13061.2,"low":13007.5,"amount":3.454,"vol":3454,"trade_turnover":45001.601,"count":101},{"id":1603756800,"open":13029.2,"close":13067.1,"high":13105.0,"low":13028.3,"amount":8.784,"vol":8784,"trade_turnover":114871.8246,"count":98},{"id":1603760400,"open":13074.3,"close":13061.7,"high":13074.4,"low":13051.5,"amount":11.592,"vol":11592,"trade_turnover":151386.9038,"count":66},{"id":1603764000,"open":13061.7,"close":13049.7,"high":13097.6,"low":13040.1,"amount":19.298,"vol":19298,"trade_turnover":252061.019,"count":109},{"id":1603767600,"open":13057.6,"close":13070.4,"high":13080.0,"low":13057.1,"amount":22.992,"vol":22992,"trade_turnover":300453.9788,"count":69},{"id":1603771200,"open":13080.0,"close":13103.3,"high":13175.0,"low":13079.6,"amount":14.396,"vol":14396,"trade_turnover":188461.9156,"count":59},{"id":1603774800,"open":13121.3,"close":13073.6,"high":13121.3,"low":13069.7,"amount":5.058,"vol":5058,"trade_turnover":66201.3552,"count":44},{"id":1603778400,"open":13074.9,"close":13103.4,"high":13149.0,"low":13069.6,"amount":9.106,"vol":9106,"trade_turnover":119104.8906,"count":107},{"id":1603782000,"open":13103.3,"close":13130.0,"high":13169.8,"low":12992.4,"amount":73.95,"vol":73950,"trade_turnover":968195.155,"count":305},{"id":1603785600,"open":13135.1,"close":13123.8,"high":13148.4,"low":13044.0,"amount":18.732,"vol":18732,"trade_turnover":245533.5448,"count":135},{"id":1603789200,"open":13115.5,"close":13131.7,"high":13131.8,"low":13075.7,"amount":13.756,"vol":13756,"trade_turnover":180253.7708,"count":102},{"id":1603792800,"open":13134.8,"close":13216.9,"high":13252.0,"low":13063.4,"amount":154.108,"vol":154108,"trade_turnover":2029983.656,"count":525},{"id":1603796400,"open":13218.8,"close":13395.8,"high":13590.1,"low":13213.5,"amount":170.09,"vol":170090,"trade_turnover":2276279.742,"count":591},{"id":1603800000,"open":13395.9,"close":13376.9,"high":13414.0,"low":13331.7,"amount":48.928,"vol":48928,"trade_turnover":654585.9108,"count":216},{"id":1603803600,"open":13376.5,"close":13384.3,"high":13490.9,"low":13329.8,"amount":63.294,"vol":63294,"trade_turnover":848130.9212,"count":316},{"id":1603807200,"open":13392.6,"close":13398.2,"high":13415.8,"low":13344.8,"amount":12.892,"vol":12892,"trade_turnover":172618.6864,"count":124},{"id":1603810800,"open":13398.2,"close":13598.5,"high":13626.7,"low":13398.2,"amount":93.22,"vol":93220,"trade_turnover":1262695.5466,"count":476},{"id":1603814400,"open":13595.8,"close":13639.9,"high":13639.9,"low":13520.2,"amount":85.45,"vol":85450,"trade_turnover":1161481.4136,"count":435},{"id":1603818000,"open":13640.0,"close":13688.1,"high":13826.7,"low":13589.0,"amount":191.812,"vol":191812,"trade_turnover":2628428.3788,"count":711},{"id":1603821600,"open":13685.0,"close":13630.1,"high":13745.0,"low":13528.2,"amount":65.434,"vol":65434,"trade_turnover":891541.8394,"count":410},{"id":1603825200,"open":13629.4,"close":13637.1,"high":13659.8,"low":13595.4,"amount":5.788,"vol":5788,"trade_turnover":78836.2578,"count":65},{"id":1603828800,"open":13644.4,"close":13616.6,"high":13805.1,"low":13582.6,"amount":163.104,"vol":163104,"trade_turnover":2234040.3544,"count":537},{"id":1603832400,"open":13609.8,"close":13705.5,"high":13753.5,"low":13609.8,"amount":9.884,"vol":9884,"trade_turnover":135406.4752,"count":101},{"id":1603836000,"open":13705.4,"close":13739.9,"high":13739.9,"low":13658.2,"amount":7.436,"vol":7436,"trade_turnover":101840.3508,"count":100},{"id":1603839600,"open":13739.9,"close":13649.6,"high":13794.6,"low":13582.6,"amount":17.086,"vol":17086,"trade_turnover":233971.8448,"count":234},{"id":1603843200,"open":13645.9,"close":13701.7,"high":13745.2,"low":13618.8,"amount":24.108,"vol":24108,"trade_turnover":330206.5694,"count":177},{"id":1603846800,"open":13702.1,"close":13702.6,"high":13725.6,"low":13647.9,"amount":15.892,"vol":15892,"trade_turnover":217816.7008,"count":151},{"id":1603850400,"open":13701.7,"close":13811.6,"high":13832.2,"low":13680.2,"amount":46.548,"vol":46548,"trade_turnover":640636.0352,"count":274},{"id":1603854000,"open":13818.5,"close":13777.0,"high":13820.3,"low":13717.5,"amount":67.896,"vol":67896,"trade_turnover":935838.2238,"count":320},{"id":1603857600,"open":13767.3,"close":13735.7,"high":13807.2,"low":13710.0,"amount":33.156,"vol":33156,"trade_turnover":455941.234,"count":210},{"id":1603861200,"open":13735.5,"close":13715.8,"high":13753.9,"low":13671.3,"amount":32.076,"vol":32076,"trade_turnover":439612.64,"count":198},{"id":1603864800,"open":13715.9,"close":13701.3,"high":13757.0,"low":13694.9,"amount":14.756,"vol":14756,"trade_turnover":202602.5164,"count":122},{"id":1603868400,"open":13701.2,"close":13674.2,"high":13708.7,"low":13550.0,"amount":155.534,"vol":155534,"trade_turnover":2117935.0928,"count":635},{"id":1603872000,"open":13673.0,"close":13691.7,"high":13691.7,"low":13584.0,"amount":29.846,"vol":29846,"trade_turnover":407073.1398,"count":240},{"id":1603875600,"open":13689.3,"close":13587.1,"high":13707.5,"low":13573.5,"amount":104.542,"vol":104542,"trade_turnover":1425079.9344,"count":377},{"id":1603879200,"open":13584.6,"close":13552.7,"high":13618.0,"low":13504.7,"amount":73.818,"vol":73818,"trade_turnover":1001666.0908,"count":358},{"id":1603882800,"open":13552.6,"close":13336.4,"high":13565.4,"low":13330.0,"amount":176.544,"vol":176544,"trade_turnover":2369166.1492,"count":1004},{"id":1603886400,"open":13331.5,"close":13300.3,"high":13385.0,"low":13173.9,"amount":289.73,"vol":289730,"trade_turnover":3846751.7166,"count":968},{"id":1603890000,"open":13300.2,"close":13129.9,"high":13340.0,"low":13122.9,"amount":139.822,"vol":139822,"trade_turnover":1848876.932,"count":612},{"id":1603893600,"open":13123.4,"close":13082.2,"high":13168.2,"low":12915.9,"amount":367.876,"vol":367876,"trade_turnover":4802516.9818,"count":1168},{"id":1603897200,"open":13077.1,"close":13221.2,"high":13235.2,"low":13052.3,"amount":84.044,"vol":84044,"trade_turnover":1106883.1282,"count":375},{"id":1603900800,"open":13218.7,"close":13145.1,"high":13218.7,"low":13050.0,"amount":29.566,"vol":29566,"trade_turnover":388697.4104,"count":244},{"id":1603904400,"open":13145.1,"close":13176.7,"high":13204.9,"low":13006.6,"amount":53.336,"vol":53336,"trade_turnover":700385.2784,"count":299},{"id":1603908000,"open":13171.0,"close":13196.5,"high":13219.6,"low":13131.0,"amount":34.164,"vol":34164,"trade_turnover":450210.5778,"count":218},{"id":1603911600,"open":13200.0,"close":13154.9,"high":13237.4,"low":13145.0,"amount":22.158,"vol":22158,"trade_turnover":292020.0438,"count":185},{"id":1603915200,"open":13154.5,"close":13198.1,"high":13211.8,"low":13147.4,"amount":4.548,"vol":4548,"trade_turnover":59991.1118,"count":75},{"id":1603918800,"open":13193.5,"close":13190.1,"high":13196.5,"low":13100.2,"amount":3.52,"vol":3520,"trade_turnover":46175.428,"count":68},{"id":1603922400,"open":13185.4,"close":13252.0,"high":13267.5,"low":13185.4,"amount":3.122,"vol":3122,"trade_turnover":41304.2018,"count":72},{"id":1603926000,"open":13242.1,"close":13265.9,"high":13282.3,"low":13235.9,"amount":14.768,"vol":14768,"trade_turnover":195689.0764,"count":86},{"id":1603929600,"open":13253.9,"close":13245.1,"high":13294.7,"low":13237.4,"amount":19.968,"vol":19968,"trade_turnover":264834.1944,"count":98},{"id":1603933200,"open":13244.6,"close":13274.2,"high":13285.3,"low":13166.3,"amount":35.282,"vol":35282,"trade_turnover":465789.6302,"count":192},{"id":1603936800,"open":13275.9,"close":13241.1,"high":13277.7,"low":13212.2,"amount":9.748,"vol":9748,"trade_turnover":129016.0684,"count":119},{"id":1603940400,"open":13237.1,"close":13262.5,"high":13262.5,"low":13174.6,"amount":27.3,"vol":27300,"trade_turnover":360589.8982,"count":199},{"id":1603944000,"open":13269.1,"close":13229.5,"high":13277.7,"low":13229.5,"amount":18.904,"vol":18904,"trade_turnover":250713.2812,"count":109},{"id":1603947600,"open":13228.5,"close":13274.8,"high":13274.8,"low":13228.5,"amount":15.822,"vol":15822,"trade_turnover":209781.909,"count":134},{"id":1603951200,"open":13274.8,"close":13255.0,"high":13323.0,"low":13242.3,"amount":91.246,"vol":91246,"trade_turnover":1211271.2788,"count":294},{"id":1603954800,"open":13255.0,"close":13142.4,"high":13269.3,"low":13123.1,"amount":187.622,"vol":187622,"trade_turnover":2478299.7074,"count":506},{"id":1603958400,"open":13145.9,"close":13124.8,"high":13182.4,"low":13094.1,"amount":69.532,"vol":69532,"trade_turnover":914157.2418,"count":226},{"id":1603962000,"open":13129.5,"close":13183.7,"high":13197.1,"low":13129.5,"amount":23.184,"vol":23184,"trade_turnover":305485.9524,"count":141},{"id":1603965600,"open":13184.8,"close":13105.2,"high":13187.5,"low":13053.1,"amount":121.146,"vol":121146,"trade_turnover":1590026.4416,"count":442},{"id":1603969200,"open":13105.1,"close":13060.1,"high":13171.4,"low":13060.1,"amount":47.498,"vol":47498,"trade_turnover":623578.149,"count":262},{"id":1603972800,"open":13056.9,"close":13131.8,"high":13145.8,"low":12977.9,"amount":126.552,"vol":126552,"trade_turnover":1652549.311,"count":481},{"id":1603976400,"open":13131.7,"close":13230.0,"high":13237.2,"low":13102.0,"amount":100.482,"vol":100482,"trade_turnover":1326403.7206,"count":325},{"id":1603980000,"open":13231.0,"close":13420.8,"high":13476.1,"low":13231.0,"amount":253.258,"vol":253258,"trade_turnover":3384941.438,"count":752},{"id":1603983600,"open":13416.0,"close":13420.6,"high":13458.7,"low":13358.7,"amount":64.71,"vol":64710,"trade_turnover":869052.3804,"count":269},{"id":1603987200,"open":13421.9,"close":13535.9,"high":13594.5,"low":13391.8,"amount":120.24,"vol":120240,"trade_turnover":1626567.8278,"count":570}]} +2024-01-18 11:13:03.909 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:41] - 请求 KLine 数据解析之后的数据为:{"wsid":19750305,"data":[{"amount":0.276,"high":12300.0,"vol":276,"low":11715.8,"count":39,"id":1603270800,"close":12196.7,"tradeTurnover":3315.9104,"open":12198.0},{"amount":0.198,"high":12289.9,"vol":198,"low":12111.0,"count":21,"id":1603274400,"close":12277.9,"tradeTurnover":2420.7728,"open":12196.7},{"amount":0.012,"high":12277.9,"vol":12,"low":12000.0,"count":5,"id":1603278000,"close":12000.0,"tradeTurnover":145.2238,"open":12111.0},{"amount":0.084,"high":12498.0,"vol":84,"low":12078.0,"count":12,"id":1603281600,"close":12497.4,"tradeTurnover":1040.0504,"open":12078.0},{"amount":1.122,"high":12495.6,"vol":1122,"low":12282.9,"count":112,"id":1603285200,"close":12373.5,"tradeTurnover":13905.3124,"open":12495.6},{"amount":5.29,"high":12807.6,"vol":5290,"low":12358.1,"count":155,"id":1603288800,"close":12689.9,"tradeTurnover":66852.128,"open":12412.9},{"amount":1.174,"high":12778.7,"vol":1174,"low":12573.2,"count":113,"id":1603292400,"close":12701.9,"tradeTurnover":14907.367,"open":12692.8},{"amount":1.156,"high":12920.9,"vol":1156,"low":12624.8,"count":115,"id":1603296000,"close":12835.9,"tradeTurnover":14802.449,"open":12679.7},{"amount":1.12,"high":12908.3,"vol":1120,"low":12687.5,"count":115,"id":1603299600,"close":12754.2,"tradeTurnover":14345.7324,"open":12848.3},{"amount":1.106,"high":12849.0,"vol":1106,"low":12668.3,"count":114,"id":1603303200,"close":12740.2,"tradeTurnover":14105.3504,"open":12743.7},{"amount":1.032,"high":12843.1,"vol":1032,"low":12597.2,"count":112,"id":1603306800,"close":12650.3,"tradeTurnover":13125.4568,"open":12729.5},{"amount":1.154,"high":12848.4,"vol":1154,"low":12610.2,"count":116,"id":1603310400,"close":12807.0,"tradeTurnover":14680.638,"open":12666.8},{"amount":1.164,"high":13005.1,"vol":1164,"low":12748.2,"count":114,"id":1603314000,"close":12938.9,"tradeTurnover":14976.9366,"open":12866.0},{"amount":1.174,"high":13211.2,"vol":1174,"low":12865.7,"count":114,"id":1603317600,"close":13122.0,"tradeTurnover":15285.2446,"open":12921.0},{"amount":1.172,"high":13173.2,"vol":1172,"low":12688.6,"count":117,"id":1603321200,"close":12829.8,"tradeTurnover":15060.9938,"open":13153.2},{"amount":1.17,"high":12988.1,"vol":1170,"low":12764.4,"count":117,"id":1603324800,"close":12885.9,"tradeTurnover":15046.2046,"open":12793.1},{"amount":1.158,"high":12972.6,"vol":1158,"low":12757.5,"count":118,"id":1603328400,"close":12757.5,"tradeTurnover":14882.4656,"open":12860.4},{"amount":1.124,"high":12848.0,"vol":1124,"low":12729.0,"count":115,"id":1603332000,"close":12788.8,"tradeTurnover":14368.7948,"open":12824.1},{"amount":1.194,"high":12834.4,"vol":1194,"low":12729.0,"count":111,"id":1603335600,"close":12767.2,"tradeTurnover":15268.9298,"open":12791.7},{"amount":1.152,"high":12778.3,"vol":1152,"low":12729.0,"count":115,"id":1603339200,"close":12762.2,"tradeTurnover":14695.4876,"open":12729.0},{"amount":1.21,"high":12842.0,"vol":1210,"low":12730.6,"count":119,"id":1603342800,"close":12813.8,"tradeTurnover":15440.8162,"open":12763.1},{"amount":1.188,"high":12795.0,"vol":1188,"low":12728.0,"count":123,"id":1603346400,"close":12729.1,"tradeTurnover":15128.0098,"open":12795.0},{"amount":1.266,"high":12730.6,"vol":1266,"low":12728.3,"count":112,"id":1603350000,"close":12730.6,"tradeTurnover":16115.1306,"open":12728.6},{"amount":1.35,"high":12921.5,"vol":1350,"low":12729.9,"count":127,"id":1603353600,"close":12770.1,"tradeTurnover":17233.7326,"open":12730.3},{"amount":0.98,"high":12872.1,"vol":980,"low":12760.1,"count":99,"id":1603357200,"close":12780.4,"tradeTurnover":12553.9826,"open":12824.9},{"amount":0.266,"high":13002.7,"vol":266,"low":12775.6,"count":30,"id":1603360800,"close":12934.2,"tradeTurnover":3415.023,"open":12784.9},{"amount":1.004,"high":13057.0,"vol":1004,"low":12886.6,"count":117,"id":1603364400,"close":13045.0,"tradeTurnover":13020.8576,"open":12977.0},{"amount":1.134,"high":12973.4,"vol":1134,"low":12751.6,"count":111,"id":1603368000,"close":12847.9,"tradeTurnover":14594.2752,"open":12958.5},{"amount":1.152,"high":13000.8,"vol":1152,"low":12743.0,"count":114,"id":1603371600,"close":12931.0,"tradeTurnover":14877.7314,"open":12882.7},{"amount":1.182,"high":12995.3,"vol":1182,"low":12783.9,"count":115,"id":1603375200,"close":12917.8,"tradeTurnover":15224.4716,"open":12890.4},{"amount":1.176,"high":13031.2,"vol":1176,"low":12817.9,"count":117,"id":1603378800,"close":12953.0,"tradeTurnover":15197.208,"open":12918.8},{"amount":1.146,"high":13100.2,"vol":1146,"low":12865.6,"count":119,"id":1603382400,"close":13055.6,"tradeTurnover":14851.9604,"open":12923.1},{"amount":1.534,"high":13105.7,"vol":1534,"low":12835.5,"count":124,"id":1603386000,"close":13082.7,"tradeTurnover":19927.8288,"open":12967.6},{"amount":1.268,"high":13115.0,"vol":1268,"low":12938.7,"count":117,"id":1603389600,"close":13016.4,"tradeTurnover":16505.4738,"open":13020.4},{"amount":1.13,"high":13171.2,"vol":1130,"low":12961.8,"count":112,"id":1603393200,"close":12970.6,"tradeTurnover":14762.952,"open":13028.3},{"amount":1.206,"high":13216.1,"vol":1206,"low":12998.5,"count":117,"id":1603396800,"close":13089.3,"tradeTurnover":15807.1226,"open":13016.7},{"amount":1.332,"high":13203.7,"vol":1332,"low":12932.9,"count":114,"id":1603400400,"close":13092.0,"tradeTurnover":17423.4422,"open":13136.0},{"amount":1.21,"high":13250.5,"vol":1210,"low":12984.7,"count":114,"id":1603404000,"close":13055.9,"tradeTurnover":15876.0632,"open":13119.4},{"amount":1.286,"high":13126.5,"vol":1286,"low":12857.2,"count":116,"id":1603407600,"close":12890.4,"tradeTurnover":16688.422,"open":13059.4},{"amount":1.502,"high":12994.0,"vol":1502,"low":12751.6,"count":131,"id":1603411200,"close":12892.2,"tradeTurnover":19331.1596,"open":12929.7},{"amount":1.386,"high":13003.2,"vol":1386,"low":12786.0,"count":121,"id":1603414800,"close":12898.3,"tradeTurnover":17904.8902,"open":12921.7},{"amount":1.416,"high":13054.0,"vol":1416,"low":12800.7,"count":122,"id":1603418400,"close":12975.1,"tradeTurnover":18306.6204,"open":12951.6},{"amount":1.19,"high":13030.7,"vol":1190,"low":12875.0,"count":118,"id":1603422000,"close":12947.0,"tradeTurnover":15409.7984,"open":12967.3},{"amount":1.022,"high":13047.3,"vol":1022,"low":12832.8,"count":127,"id":1603425600,"close":12852.0,"tradeTurnover":13214.4388,"open":12925.2},{"amount":0.478,"high":12991.7,"vol":478,"low":12841.2,"count":118,"id":1603429200,"close":12931.1,"tradeTurnover":6180.2486,"open":12859.0},{"amount":0.522,"high":13014.1,"vol":522,"low":12871.9,"count":132,"id":1603432800,"close":12939.6,"tradeTurnover":6759.0324,"open":12935.9},{"amount":0.476,"high":12998.9,"vol":476,"low":12917.1,"count":118,"id":1603436400,"close":12925.4,"tradeTurnover":6163.3118,"open":12923.1},{"amount":0.508,"high":13014.0,"vol":508,"low":12916.1,"count":122,"id":1603440000,"close":12962.6,"tradeTurnover":6585.3656,"open":12942.2},{"amount":0.564,"high":13012.5,"vol":564,"low":12909.9,"count":124,"id":1603443600,"close":12926.4,"tradeTurnover":7308.8828,"open":12970.5},{"amount":0.536,"high":13059.5,"vol":536,"low":12925.7,"count":124,"id":1603447200,"close":13007.7,"tradeTurnover":6957.8796,"open":13001.2},{"amount":0.486,"high":13078.4,"vol":486,"low":12906.5,"count":122,"id":1603450800,"close":12970.6,"tradeTurnover":6326.1434,"open":13025.4},{"amount":0.494,"high":13025.0,"vol":494,"low":12850.8,"count":117,"id":1603454400,"close":12935.4,"tradeTurnover":6396.0984,"open":12963.9},{"amount":0.466,"high":13043.3,"vol":466,"low":12911.0,"count":117,"id":1603458000,"close":12951.7,"tradeTurnover":6049.1412,"open":12913.3},{"amount":0.46,"high":13006.4,"vol":460,"low":12840.4,"count":116,"id":1603461600,"close":12858.8,"tradeTurnover":5941.815,"open":12999.6},{"amount":0.492,"high":12932.9,"vol":492,"low":12826.5,"count":117,"id":1603465200,"close":12881.9,"tradeTurnover":6340.214,"open":12885.7},{"amount":0.484,"high":12933.5,"vol":484,"low":12744.4,"count":123,"id":1603468800,"close":12784.1,"tradeTurnover":6205.4138,"open":12854.4},{"amount":0.562,"high":12893.1,"vol":562,"low":12730.1,"count":152,"id":1603472400,"close":12847.7,"tradeTurnover":7218.9184,"open":12832.3},{"amount":0.53,"high":12939.3,"vol":530,"low":12751.4,"count":128,"id":1603476000,"close":12915.7,"tradeTurnover":6825.7004,"open":12874.1},{"amount":0.444,"high":12972.9,"vol":444,"low":12786.6,"count":117,"id":1603479600,"close":12972.9,"tradeTurnover":5727.7452,"open":12867.9},{"amount":0.492,"high":13002.2,"vol":492,"low":12842.9,"count":116,"id":1603483200,"close":12991.6,"tradeTurnover":6375.1566,"open":12956.7},{"amount":0.5,"high":13004.3,"vol":500,"low":12936.6,"count":125,"id":1603486800,"close":12943.5,"tradeTurnover":6485.468,"open":13004.3},{"amount":0.492,"high":13010.3,"vol":492,"low":12884.7,"count":120,"id":1603490400,"close":12989.2,"tradeTurnover":6376.1492,"open":12923.6},{"amount":0.51,"high":13024.4,"vol":510,"low":12884.6,"count":121,"id":1603494000,"close":12884.6,"tradeTurnover":6622.3406,"open":12974.9},{"amount":0.488,"high":13018.3,"vol":488,"low":12811.1,"count":120,"id":1603497600,"close":12953.9,"tradeTurnover":6317.7938,"open":12973.7},{"amount":0.482,"high":13018.1,"vol":482,"low":12872.8,"count":117,"id":1603501200,"close":12934.2,"tradeTurnover":6242.4178,"open":12927.5},{"amount":0.484,"high":13003.9,"vol":484,"low":12903.3,"count":117,"id":1603504800,"close":12989.1,"tradeTurnover":6278.1756,"open":12971.9},{"amount":0.474,"high":13013.4,"vol":474,"low":12938.3,"count":122,"id":1603508400,"close":12975.9,"tradeTurnover":6157.7096,"open":13000.1},{"amount":0.526,"high":13009.4,"vol":526,"low":12905.5,"count":124,"id":1603512000,"close":12963.3,"tradeTurnover":6831.5658,"open":12989.7},{"amount":0.522,"high":13041.8,"vol":522,"low":12875.3,"count":127,"id":1603515600,"close":12989.7,"tradeTurnover":6768.8994,"open":12910.5},{"amount":0.49,"high":13058.1,"vol":490,"low":12908.8,"count":120,"id":1603519200,"close":13003.6,"tradeTurnover":6370.5714,"open":12994.7},{"amount":0.478,"high":13037.8,"vol":478,"low":12981.7,"count":120,"id":1603522800,"close":13004.2,"tradeTurnover":6218.9722,"open":13011.9},{"amount":0.52,"high":13030.6,"vol":520,"low":12899.4,"count":124,"id":1603526400,"close":12998.2,"tradeTurnover":6754.958,"open":13003.0},{"amount":0.454,"high":13020.3,"vol":454,"low":12893.6,"count":115,"id":1603530000,"close":12990.6,"tradeTurnover":5891.0574,"open":12998.2},{"amount":0.502,"high":13059.1,"vol":502,"low":12913.2,"count":124,"id":1603533600,"close":13030.1,"tradeTurnover":6525.9004,"open":12996.4},{"amount":0.468,"high":13068.3,"vol":468,"low":12940.2,"count":119,"id":1603537200,"close":13033.2,"tradeTurnover":6091.0376,"open":12988.4},{"amount":0.468,"high":13071.8,"vol":468,"low":12978.9,"count":123,"id":1603540800,"close":13006.5,"tradeTurnover":6102.5902,"open":13035.3},{"amount":0.534,"high":13066.7,"vol":534,"low":12928.1,"count":123,"id":1603544400,"close":12985.9,"tradeTurnover":6950.4268,"open":13038.8},{"amount":0.47,"high":13100.1,"vol":470,"low":12960.5,"count":100,"id":1603548000,"close":13042.0,"tradeTurnover":6124.2178,"open":12986.3},{"amount":0.456,"high":13196.5,"vol":456,"low":13038.4,"count":120,"id":1603551600,"close":13102.2,"tradeTurnover":5989.6362,"open":13038.4},{"amount":0.458,"high":13176.6,"vol":458,"low":12984.6,"count":121,"id":1603555200,"close":13052.7,"tradeTurnover":5976.331,"open":13136.8},{"amount":0.452,"high":13177.8,"vol":452,"low":13003.2,"count":118,"id":1603558800,"close":13177.8,"tradeTurnover":5911.7058,"open":13006.2},{"amount":0.468,"high":13170.7,"vol":468,"low":13023.0,"count":119,"id":1603562400,"close":13080.8,"tradeTurnover":6122.375,"open":13127.7},{"amount":0.468,"high":13179.3,"vol":468,"low":13014.2,"count":120,"id":1603566000,"close":13148.4,"tradeTurnover":6126.4278,"open":13040.7},{"amount":0.47,"high":13179.6,"vol":470,"low":12992.5,"count":119,"id":1603569600,"close":13090.1,"tradeTurnover":6151.4758,"open":13073.5},{"amount":0.458,"high":13148.7,"vol":458,"low":12980.7,"count":117,"id":1603573200,"close":12993.9,"tradeTurnover":5981.071,"open":13035.4},{"amount":0.478,"high":13112.1,"vol":478,"low":12975.6,"count":118,"id":1603576800,"close":13041.1,"tradeTurnover":6225.4216,"open":13040.7},{"amount":0.472,"high":13184.3,"vol":472,"low":13009.3,"count":118,"id":1603580400,"close":13184.3,"tradeTurnover":6173.4244,"open":13012.6},{"amount":0.46,"high":13170.4,"vol":460,"low":13007.7,"count":115,"id":1603584000,"close":13154.3,"tradeTurnover":6024.09,"open":13080.8},{"amount":0.398,"high":13196.8,"vol":398,"low":13024.0,"count":102,"id":1603587600,"close":13196.1,"tradeTurnover":5217.5364,"open":13092.0},{"amount":0.476,"high":13175.1,"vol":476,"low":13035.0,"count":120,"id":1603591200,"close":13082.4,"tradeTurnover":6228.6596,"open":13124.7},{"amount":0.578,"high":13383.8,"vol":578,"low":13049.1,"count":137,"id":1603594800,"close":13259.0,"tradeTurnover":7629.3886,"open":13049.1},{"amount":0.47,"high":13369.0,"vol":470,"low":13216.0,"count":122,"id":1603598400,"close":13243.4,"tradeTurnover":6247.955,"open":13277.0},{"amount":0.61,"high":13353.3,"vol":610,"low":13010.1,"count":134,"id":1603602000,"close":13017.3,"tradeTurnover":8048.8598,"open":13285.3},{"amount":0.486,"high":13105.7,"vol":486,"low":13018.2,"count":118,"id":1603605600,"close":13060.3,"tradeTurnover":6344.1474,"open":13022.5},{"amount":0.464,"high":13112.1,"vol":464,"low":13022.0,"count":120,"id":1603609200,"close":13078.1,"tradeTurnover":6061.5416,"open":13048.5},{"amount":0.464,"high":13091.0,"vol":464,"low":13017.2,"count":120,"id":1603612800,"close":13046.0,"tradeTurnover":6055.3734,"open":13077.2},{"amount":0.478,"high":13084.0,"vol":478,"low":13014.2,"count":117,"id":1603616400,"close":13040.8,"tradeTurnover":6235.7882,"open":13065.1},{"amount":0.478,"high":13064.2,"vol":478,"low":13010.2,"count":125,"id":1603620000,"close":13028.5,"tradeTurnover":6232.2428,"open":13047.1},{"amount":0.534,"high":13061.5,"vol":534,"low":12852.9,"count":123,"id":1603623600,"close":12897.6,"tradeTurnover":6918.1226,"open":13061.5},{"amount":0.444,"high":13069.7,"vol":444,"low":12893.2,"count":117,"id":1603627200,"close":12964.3,"tradeTurnover":5755.8712,"open":12908.3},{"amount":0.498,"high":13071.9,"vol":498,"low":12891.8,"count":119,"id":1603630800,"close":12949.3,"tradeTurnover":6465.078,"open":13001.3},{"amount":0.468,"high":13077.7,"vol":468,"low":12900.0,"count":116,"id":1603634400,"close":12946.8,"tradeTurnover":6075.4554,"open":12975.8},{"amount":0.47,"high":13069.1,"vol":470,"low":12883.3,"count":119,"id":1603638000,"close":12883.3,"tradeTurnover":6097.1072,"open":12975.2},{"amount":0.482,"high":13067.9,"vol":482,"low":12877.5,"count":118,"id":1603641600,"close":12978.7,"tradeTurnover":6256.4472,"open":12916.2},{"amount":0.47,"high":13087.5,"vol":470,"low":12922.7,"count":117,"id":1603645200,"close":13004.4,"tradeTurnover":6108.3892,"open":13008.0},{"amount":0.468,"high":13067.6,"vol":468,"low":12893.6,"count":118,"id":1603648800,"close":12957.2,"tradeTurnover":6079.1484,"open":12972.8},{"amount":0.442,"high":13066.9,"vol":442,"low":12916.6,"count":118,"id":1603652400,"close":13021.8,"tradeTurnover":5746.5548,"open":12996.5},{"amount":0.508,"high":13081.5,"vol":508,"low":12944.9,"count":120,"id":1603656000,"close":12985.4,"tradeTurnover":6616.9872,"open":12992.9},{"amount":0.508,"high":13068.6,"vol":508,"low":12921.4,"count":122,"id":1603659600,"close":13011.2,"tradeTurnover":6614.816,"open":12999.9},{"amount":0.486,"high":13073.8,"vol":486,"low":12911.9,"count":121,"id":1603663200,"close":12959.4,"tradeTurnover":6320.907,"open":12979.6},{"amount":0.452,"high":13085.2,"vol":452,"low":12927.8,"count":113,"id":1603666800,"close":13032.1,"tradeTurnover":5878.6442,"open":12963.4},{"amount":0.482,"high":13076.7,"vol":482,"low":12918.3,"count":121,"id":1603670400,"close":13001.0,"tradeTurnover":6263.698,"open":12964.2},{"amount":0.478,"high":13096.4,"vol":478,"low":12991.2,"count":124,"id":1603674000,"close":13053.7,"tradeTurnover":6232.2328,"open":13040.0},{"amount":0.488,"high":13185.7,"vol":488,"low":12985.1,"count":121,"id":1603677600,"close":13064.4,"tradeTurnover":6387.534,"open":13060.6},{"amount":0.486,"high":13187.2,"vol":486,"low":12984.1,"count":135,"id":1603681200,"close":13092.8,"tradeTurnover":6369.0272,"open":13032.3},{"amount":0.51,"high":13181.6,"vol":510,"low":12962.3,"count":131,"id":1603684800,"close":13132.6,"tradeTurnover":6679.829,"open":13092.0},{"amount":0.506,"high":13205.3,"vol":506,"low":13025.3,"count":126,"id":1603688400,"close":13092.1,"tradeTurnover":6641.2128,"open":13129.2},{"amount":1.616,"high":13188.1,"vol":1616,"low":12989.8,"count":141,"id":1603692000,"close":13071.4,"tradeTurnover":21170.8224,"open":13121.8},{"amount":3.746,"high":13100.0,"vol":3746,"low":12965.2,"count":110,"id":1603695600,"close":13038.7,"tradeTurnover":48924.8902,"open":13061.0},{"amount":8.966,"high":13102.0,"vol":8966,"low":12852.8,"count":173,"id":1603699200,"close":13039.3,"tradeTurnover":116525.5534,"open":13030.9},{"amount":4.48,"high":13088.4,"vol":4480,"low":13039.8,"count":124,"id":1603702800,"close":13075.9,"tradeTurnover":58521.1714,"open":13047.1},{"amount":4.272,"high":13100.0,"vol":4272,"low":13060.2,"count":130,"id":1603706400,"close":13100.0,"tradeTurnover":55895.9778,"open":13072.1},{"amount":29.798,"high":13159.0,"vol":29798,"low":13100.0,"count":230,"id":1603710000,"close":13138.4,"tradeTurnover":391138.024,"open":13100.0},{"amount":5.154,"high":13200.0,"vol":5154,"low":13100.0,"count":188,"id":1603713600,"close":13149.8,"tradeTurnover":67694.652,"open":13138.8},{"amount":35.608,"high":13351.5,"vol":35608,"low":13133.1,"count":328,"id":1603717200,"close":13205.8,"tradeTurnover":472780.3394,"open":13150.0},{"amount":31.748,"high":13280.0,"vol":31748,"low":13144.1,"count":235,"id":1603720800,"close":13166.1,"tradeTurnover":418744.5588,"open":13203.0},{"amount":36.53,"high":13165.2,"vol":36530,"low":12903.8,"count":384,"id":1603724400,"close":12978.0,"tradeTurnover":476940.3296,"open":13159.0},{"amount":35.018,"high":13069.8,"vol":35018,"low":12850.5,"count":323,"id":1603728000,"close":12869.6,"tradeTurnover":453288.918,"open":12965.0},{"amount":92.628,"high":12941.5,"vol":92628,"low":12583.9,"count":560,"id":1603731600,"close":12873.8,"tradeTurnover":1185973.467,"open":12879.2},{"amount":4.302,"high":12954.5,"vol":4302,"low":12820.4,"count":128,"id":1603735200,"close":12946.8,"tradeTurnover":55481.0054,"open":12856.2},{"amount":13.83,"high":12953.5,"vol":13830,"low":12914.1,"count":118,"id":1603738800,"close":12953.4,"tradeTurnover":179112.1598,"open":12945.6},{"amount":17.172,"high":13007.5,"vol":17172,"low":12953.5,"count":132,"id":1603742400,"close":12983.4,"tradeTurnover":223230.2122,"open":12953.5},{"amount":3.212,"high":13007.5,"vol":3212,"low":12982.7,"count":59,"id":1603746000,"close":12993.8,"tradeTurnover":41767.8906,"open":12983.1},{"amount":1.504,"high":13007.5,"vol":1504,"low":12974.0,"count":74,"id":1603749600,"close":13007.5,"tradeTurnover":19543.3568,"open":13002.1},{"amount":3.454,"high":13061.2,"vol":3454,"low":13007.5,"count":101,"id":1603753200,"close":13033.7,"tradeTurnover":45001.601,"open":13007.5},{"amount":8.784,"high":13105.0,"vol":8784,"low":13028.3,"count":98,"id":1603756800,"close":13067.1,"tradeTurnover":114871.8246,"open":13029.2},{"amount":11.592,"high":13074.4,"vol":11592,"low":13051.5,"count":66,"id":1603760400,"close":13061.7,"tradeTurnover":151386.9038,"open":13074.3},{"amount":19.298,"high":13097.6,"vol":19298,"low":13040.1,"count":109,"id":1603764000,"close":13049.7,"tradeTurnover":252061.019,"open":13061.7},{"amount":22.992,"high":13080.0,"vol":22992,"low":13057.1,"count":69,"id":1603767600,"close":13070.4,"tradeTurnover":300453.9788,"open":13057.6},{"amount":14.396,"high":13175.0,"vol":14396,"low":13079.6,"count":59,"id":1603771200,"close":13103.3,"tradeTurnover":188461.9156,"open":13080.0},{"amount":5.058,"high":13121.3,"vol":5058,"low":13069.7,"count":44,"id":1603774800,"close":13073.6,"tradeTurnover":66201.3552,"open":13121.3},{"amount":9.106,"high":13149.0,"vol":9106,"low":13069.6,"count":107,"id":1603778400,"close":13103.4,"tradeTurnover":119104.8906,"open":13074.9},{"amount":73.95,"high":13169.8,"vol":73950,"low":12992.4,"count":305,"id":1603782000,"close":13130.0,"tradeTurnover":968195.155,"open":13103.3},{"amount":18.732,"high":13148.4,"vol":18732,"low":13044.0,"count":135,"id":1603785600,"close":13123.8,"tradeTurnover":245533.5448,"open":13135.1},{"amount":13.756,"high":13131.8,"vol":13756,"low":13075.7,"count":102,"id":1603789200,"close":13131.7,"tradeTurnover":180253.7708,"open":13115.5},{"amount":154.108,"high":13252.0,"vol":154108,"low":13063.4,"count":525,"id":1603792800,"close":13216.9,"tradeTurnover":2029983.656,"open":13134.8},{"amount":170.09,"high":13590.1,"vol":170090,"low":13213.5,"count":591,"id":1603796400,"close":13395.8,"tradeTurnover":2276279.742,"open":13218.8},{"amount":48.928,"high":13414.0,"vol":48928,"low":13331.7,"count":216,"id":1603800000,"close":13376.9,"tradeTurnover":654585.9108,"open":13395.9},{"amount":63.294,"high":13490.9,"vol":63294,"low":13329.8,"count":316,"id":1603803600,"close":13384.3,"tradeTurnover":848130.9212,"open":13376.5},{"amount":12.892,"high":13415.8,"vol":12892,"low":13344.8,"count":124,"id":1603807200,"close":13398.2,"tradeTurnover":172618.6864,"open":13392.6},{"amount":93.22,"high":13626.7,"vol":93220,"low":13398.2,"count":476,"id":1603810800,"close":13598.5,"tradeTurnover":1262695.5466,"open":13398.2},{"amount":85.45,"high":13639.9,"vol":85450,"low":13520.2,"count":435,"id":1603814400,"close":13639.9,"tradeTurnover":1161481.4136,"open":13595.8},{"amount":191.812,"high":13826.7,"vol":191812,"low":13589.0,"count":711,"id":1603818000,"close":13688.1,"tradeTurnover":2628428.3788,"open":13640.0},{"amount":65.434,"high":13745.0,"vol":65434,"low":13528.2,"count":410,"id":1603821600,"close":13630.1,"tradeTurnover":891541.8394,"open":13685.0},{"amount":5.788,"high":13659.8,"vol":5788,"low":13595.4,"count":65,"id":1603825200,"close":13637.1,"tradeTurnover":78836.2578,"open":13629.4},{"amount":163.104,"high":13805.1,"vol":163104,"low":13582.6,"count":537,"id":1603828800,"close":13616.6,"tradeTurnover":2234040.3544,"open":13644.4},{"amount":9.884,"high":13753.5,"vol":9884,"low":13609.8,"count":101,"id":1603832400,"close":13705.5,"tradeTurnover":135406.4752,"open":13609.8},{"amount":7.436,"high":13739.9,"vol":7436,"low":13658.2,"count":100,"id":1603836000,"close":13739.9,"tradeTurnover":101840.3508,"open":13705.4},{"amount":17.086,"high":13794.6,"vol":17086,"low":13582.6,"count":234,"id":1603839600,"close":13649.6,"tradeTurnover":233971.8448,"open":13739.9},{"amount":24.108,"high":13745.2,"vol":24108,"low":13618.8,"count":177,"id":1603843200,"close":13701.7,"tradeTurnover":330206.5694,"open":13645.9},{"amount":15.892,"high":13725.6,"vol":15892,"low":13647.9,"count":151,"id":1603846800,"close":13702.6,"tradeTurnover":217816.7008,"open":13702.1},{"amount":46.548,"high":13832.2,"vol":46548,"low":13680.2,"count":274,"id":1603850400,"close":13811.6,"tradeTurnover":640636.0352,"open":13701.7},{"amount":67.896,"high":13820.3,"vol":67896,"low":13717.5,"count":320,"id":1603854000,"close":13777.0,"tradeTurnover":935838.2238,"open":13818.5},{"amount":33.156,"high":13807.2,"vol":33156,"low":13710.0,"count":210,"id":1603857600,"close":13735.7,"tradeTurnover":455941.234,"open":13767.3},{"amount":32.076,"high":13753.9,"vol":32076,"low":13671.3,"count":198,"id":1603861200,"close":13715.8,"tradeTurnover":439612.64,"open":13735.5},{"amount":14.756,"high":13757.0,"vol":14756,"low":13694.9,"count":122,"id":1603864800,"close":13701.3,"tradeTurnover":202602.5164,"open":13715.9},{"amount":155.534,"high":13708.7,"vol":155534,"low":13550.0,"count":635,"id":1603868400,"close":13674.2,"tradeTurnover":2117935.0928,"open":13701.2},{"amount":29.846,"high":13691.7,"vol":29846,"low":13584.0,"count":240,"id":1603872000,"close":13691.7,"tradeTurnover":407073.1398,"open":13673.0},{"amount":104.542,"high":13707.5,"vol":104542,"low":13573.5,"count":377,"id":1603875600,"close":13587.1,"tradeTurnover":1425079.9344,"open":13689.3},{"amount":73.818,"high":13618.0,"vol":73818,"low":13504.7,"count":358,"id":1603879200,"close":13552.7,"tradeTurnover":1001666.0908,"open":13584.6},{"amount":176.544,"high":13565.4,"vol":176544,"low":13330.0,"count":1004,"id":1603882800,"close":13336.4,"tradeTurnover":2369166.1492,"open":13552.6},{"amount":289.73,"high":13385.0,"vol":289730,"low":13173.9,"count":968,"id":1603886400,"close":13300.3,"tradeTurnover":3846751.7166,"open":13331.5},{"amount":139.822,"high":13340.0,"vol":139822,"low":13122.9,"count":612,"id":1603890000,"close":13129.9,"tradeTurnover":1848876.932,"open":13300.2},{"amount":367.876,"high":13168.2,"vol":367876,"low":12915.9,"count":1168,"id":1603893600,"close":13082.2,"tradeTurnover":4802516.9818,"open":13123.4},{"amount":84.044,"high":13235.2,"vol":84044,"low":13052.3,"count":375,"id":1603897200,"close":13221.2,"tradeTurnover":1106883.1282,"open":13077.1},{"amount":29.566,"high":13218.7,"vol":29566,"low":13050.0,"count":244,"id":1603900800,"close":13145.1,"tradeTurnover":388697.4104,"open":13218.7},{"amount":53.336,"high":13204.9,"vol":53336,"low":13006.6,"count":299,"id":1603904400,"close":13176.7,"tradeTurnover":700385.2784,"open":13145.1},{"amount":34.164,"high":13219.6,"vol":34164,"low":13131.0,"count":218,"id":1603908000,"close":13196.5,"tradeTurnover":450210.5778,"open":13171.0},{"amount":22.158,"high":13237.4,"vol":22158,"low":13145.0,"count":185,"id":1603911600,"close":13154.9,"tradeTurnover":292020.0438,"open":13200.0},{"amount":4.548,"high":13211.8,"vol":4548,"low":13147.4,"count":75,"id":1603915200,"close":13198.1,"tradeTurnover":59991.1118,"open":13154.5},{"amount":3.52,"high":13196.5,"vol":3520,"low":13100.2,"count":68,"id":1603918800,"close":13190.1,"tradeTurnover":46175.428,"open":13193.5},{"amount":3.122,"high":13267.5,"vol":3122,"low":13185.4,"count":72,"id":1603922400,"close":13252.0,"tradeTurnover":41304.2018,"open":13185.4},{"amount":14.768,"high":13282.3,"vol":14768,"low":13235.9,"count":86,"id":1603926000,"close":13265.9,"tradeTurnover":195689.0764,"open":13242.1},{"amount":19.968,"high":13294.7,"vol":19968,"low":13237.4,"count":98,"id":1603929600,"close":13245.1,"tradeTurnover":264834.1944,"open":13253.9},{"amount":35.282,"high":13285.3,"vol":35282,"low":13166.3,"count":192,"id":1603933200,"close":13274.2,"tradeTurnover":465789.6302,"open":13244.6},{"amount":9.748,"high":13277.7,"vol":9748,"low":13212.2,"count":119,"id":1603936800,"close":13241.1,"tradeTurnover":129016.0684,"open":13275.9},{"amount":27.3,"high":13262.5,"vol":27300,"low":13174.6,"count":199,"id":1603940400,"close":13262.5,"tradeTurnover":360589.8982,"open":13237.1},{"amount":18.904,"high":13277.7,"vol":18904,"low":13229.5,"count":109,"id":1603944000,"close":13229.5,"tradeTurnover":250713.2812,"open":13269.1},{"amount":15.822,"high":13274.8,"vol":15822,"low":13228.5,"count":134,"id":1603947600,"close":13274.8,"tradeTurnover":209781.909,"open":13228.5},{"amount":91.246,"high":13323.0,"vol":91246,"low":13242.3,"count":294,"id":1603951200,"close":13255.0,"tradeTurnover":1211271.2788,"open":13274.8},{"amount":187.622,"high":13269.3,"vol":187622,"low":13123.1,"count":506,"id":1603954800,"close":13142.4,"tradeTurnover":2478299.7074,"open":13255.0},{"amount":69.532,"high":13182.4,"vol":69532,"low":13094.1,"count":226,"id":1603958400,"close":13124.8,"tradeTurnover":914157.2418,"open":13145.9},{"amount":23.184,"high":13197.1,"vol":23184,"low":13129.5,"count":141,"id":1603962000,"close":13183.7,"tradeTurnover":305485.9524,"open":13129.5},{"amount":121.146,"high":13187.5,"vol":121146,"low":13053.1,"count":442,"id":1603965600,"close":13105.2,"tradeTurnover":1590026.4416,"open":13184.8},{"amount":47.498,"high":13171.4,"vol":47498,"low":13060.1,"count":262,"id":1603969200,"close":13060.1,"tradeTurnover":623578.149,"open":13105.1},{"amount":126.552,"high":13145.8,"vol":126552,"low":12977.9,"count":481,"id":1603972800,"close":13131.8,"tradeTurnover":1652549.311,"open":13056.9},{"amount":100.482,"high":13237.2,"vol":100482,"low":13102.0,"count":325,"id":1603976400,"close":13230.0,"tradeTurnover":1326403.7206,"open":13131.7},{"amount":253.258,"high":13476.1,"vol":253258,"low":13231.0,"count":752,"id":1603980000,"close":13420.8,"tradeTurnover":3384941.438,"open":13231.0},{"amount":64.71,"high":13458.7,"vol":64710,"low":13358.7,"count":269,"id":1603983600,"close":13420.6,"tradeTurnover":869052.3804,"open":13416.0},{"amount":120.24,"high":13594.5,"vol":120240,"low":13391.8,"count":570,"id":1603987200,"close":13535.9,"tradeTurnover":1626567.8278,"open":13421.9}],"id":"","rep":"market.BTC-USDT.kline.60min","status":"ok"} +2024-01-18 11:13:04.902 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:39] - 请求 KLine 数据用户收到的原始数据:{"id":"","rep":"market.BTC-USDT.kline.60min","ts":1705547583811,"wsid":19750305,"status":"ok","data":[{"id":1603270800,"open":12198.0,"close":12196.7,"high":12300.0,"low":11715.8,"amount":0.276,"vol":276,"trade_turnover":3315.9104,"count":39},{"id":1603274400,"open":12196.7,"close":12277.9,"high":12289.9,"low":12111.0,"amount":0.198,"vol":198,"trade_turnover":2420.7728,"count":21},{"id":1603278000,"open":12111.0,"close":12000.0,"high":12277.9,"low":12000.0,"amount":0.012,"vol":12,"trade_turnover":145.2238,"count":5},{"id":1603281600,"open":12078.0,"close":12497.4,"high":12498.0,"low":12078.0,"amount":0.084,"vol":84,"trade_turnover":1040.0504,"count":12},{"id":1603285200,"open":12495.6,"close":12373.5,"high":12495.6,"low":12282.9,"amount":1.122,"vol":1122,"trade_turnover":13905.3124,"count":112},{"id":1603288800,"open":12412.9,"close":12689.9,"high":12807.6,"low":12358.1,"amount":5.29,"vol":5290,"trade_turnover":66852.128,"count":155},{"id":1603292400,"open":12692.8,"close":12701.9,"high":12778.7,"low":12573.2,"amount":1.174,"vol":1174,"trade_turnover":14907.367,"count":113},{"id":1603296000,"open":12679.7,"close":12835.9,"high":12920.9,"low":12624.8,"amount":1.156,"vol":1156,"trade_turnover":14802.449,"count":115},{"id":1603299600,"open":12848.3,"close":12754.2,"high":12908.3,"low":12687.5,"amount":1.12,"vol":1120,"trade_turnover":14345.7324,"count":115},{"id":1603303200,"open":12743.7,"close":12740.2,"high":12849.0,"low":12668.3,"amount":1.106,"vol":1106,"trade_turnover":14105.3504,"count":114},{"id":1603306800,"open":12729.5,"close":12650.3,"high":12843.1,"low":12597.2,"amount":1.032,"vol":1032,"trade_turnover":13125.4568,"count":112},{"id":1603310400,"open":12666.8,"close":12807.0,"high":12848.4,"low":12610.2,"amount":1.154,"vol":1154,"trade_turnover":14680.638,"count":116},{"id":1603314000,"open":12866.0,"close":12938.9,"high":13005.1,"low":12748.2,"amount":1.164,"vol":1164,"trade_turnover":14976.9366,"count":114},{"id":1603317600,"open":12921.0,"close":13122.0,"high":13211.2,"low":12865.7,"amount":1.174,"vol":1174,"trade_turnover":15285.2446,"count":114},{"id":1603321200,"open":13153.2,"close":12829.8,"high":13173.2,"low":12688.6,"amount":1.172,"vol":1172,"trade_turnover":15060.9938,"count":117},{"id":1603324800,"open":12793.1,"close":12885.9,"high":12988.1,"low":12764.4,"amount":1.17,"vol":1170,"trade_turnover":15046.2046,"count":117},{"id":1603328400,"open":12860.4,"close":12757.5,"high":12972.6,"low":12757.5,"amount":1.158,"vol":1158,"trade_turnover":14882.4656,"count":118},{"id":1603332000,"open":12824.1,"close":12788.8,"high":12848.0,"low":12729.0,"amount":1.124,"vol":1124,"trade_turnover":14368.7948,"count":115},{"id":1603335600,"open":12791.7,"close":12767.2,"high":12834.4,"low":12729.0,"amount":1.194,"vol":1194,"trade_turnover":15268.9298,"count":111},{"id":1603339200,"open":12729.0,"close":12762.2,"high":12778.3,"low":12729.0,"amount":1.152,"vol":1152,"trade_turnover":14695.4876,"count":115},{"id":1603342800,"open":12763.1,"close":12813.8,"high":12842.0,"low":12730.6,"amount":1.21,"vol":1210,"trade_turnover":15440.8162,"count":119},{"id":1603346400,"open":12795.0,"close":12729.1,"high":12795.0,"low":12728.0,"amount":1.188,"vol":1188,"trade_turnover":15128.0098,"count":123},{"id":1603350000,"open":12728.6,"close":12730.6,"high":12730.6,"low":12728.3,"amount":1.266,"vol":1266,"trade_turnover":16115.1306,"count":112},{"id":1603353600,"open":12730.3,"close":12770.1,"high":12921.5,"low":12729.9,"amount":1.35,"vol":1350,"trade_turnover":17233.7326,"count":127},{"id":1603357200,"open":12824.9,"close":12780.4,"high":12872.1,"low":12760.1,"amount":0.98,"vol":980,"trade_turnover":12553.9826,"count":99},{"id":1603360800,"open":12784.9,"close":12934.2,"high":13002.7,"low":12775.6,"amount":0.266,"vol":266,"trade_turnover":3415.023,"count":30},{"id":1603364400,"open":12977.0,"close":13045.0,"high":13057.0,"low":12886.6,"amount":1.004,"vol":1004,"trade_turnover":13020.8576,"count":117},{"id":1603368000,"open":12958.5,"close":12847.9,"high":12973.4,"low":12751.6,"amount":1.134,"vol":1134,"trade_turnover":14594.2752,"count":111},{"id":1603371600,"open":12882.7,"close":12931.0,"high":13000.8,"low":12743.0,"amount":1.152,"vol":1152,"trade_turnover":14877.7314,"count":114},{"id":1603375200,"open":12890.4,"close":12917.8,"high":12995.3,"low":12783.9,"amount":1.182,"vol":1182,"trade_turnover":15224.4716,"count":115},{"id":1603378800,"open":12918.8,"close":12953.0,"high":13031.2,"low":12817.9,"amount":1.176,"vol":1176,"trade_turnover":15197.208,"count":117},{"id":1603382400,"open":12923.1,"close":13055.6,"high":13100.2,"low":12865.6,"amount":1.146,"vol":1146,"trade_turnover":14851.9604,"count":119},{"id":1603386000,"open":12967.6,"close":13082.7,"high":13105.7,"low":12835.5,"amount":1.534,"vol":1534,"trade_turnover":19927.8288,"count":124},{"id":1603389600,"open":13020.4,"close":13016.4,"high":13115.0,"low":12938.7,"amount":1.268,"vol":1268,"trade_turnover":16505.4738,"count":117},{"id":1603393200,"open":13028.3,"close":12970.6,"high":13171.2,"low":12961.8,"amount":1.13,"vol":1130,"trade_turnover":14762.952,"count":112},{"id":1603396800,"open":13016.7,"close":13089.3,"high":13216.1,"low":12998.5,"amount":1.206,"vol":1206,"trade_turnover":15807.1226,"count":117},{"id":1603400400,"open":13136.0,"close":13092.0,"high":13203.7,"low":12932.9,"amount":1.332,"vol":1332,"trade_turnover":17423.4422,"count":114},{"id":1603404000,"open":13119.4,"close":13055.9,"high":13250.5,"low":12984.7,"amount":1.21,"vol":1210,"trade_turnover":15876.0632,"count":114},{"id":1603407600,"open":13059.4,"close":12890.4,"high":13126.5,"low":12857.2,"amount":1.286,"vol":1286,"trade_turnover":16688.422,"count":116},{"id":1603411200,"open":12929.7,"close":12892.2,"high":12994.0,"low":12751.6,"amount":1.502,"vol":1502,"trade_turnover":19331.1596,"count":131},{"id":1603414800,"open":12921.7,"close":12898.3,"high":13003.2,"low":12786.0,"amount":1.386,"vol":1386,"trade_turnover":17904.8902,"count":121},{"id":1603418400,"open":12951.6,"close":12975.1,"high":13054.0,"low":12800.7,"amount":1.416,"vol":1416,"trade_turnover":18306.6204,"count":122},{"id":1603422000,"open":12967.3,"close":12947.0,"high":13030.7,"low":12875.0,"amount":1.19,"vol":1190,"trade_turnover":15409.7984,"count":118},{"id":1603425600,"open":12925.2,"close":12852.0,"high":13047.3,"low":12832.8,"amount":1.022,"vol":1022,"trade_turnover":13214.4388,"count":127},{"id":1603429200,"open":12859.0,"close":12931.1,"high":12991.7,"low":12841.2,"amount":0.478,"vol":478,"trade_turnover":6180.2486,"count":118},{"id":1603432800,"open":12935.9,"close":12939.6,"high":13014.1,"low":12871.9,"amount":0.522,"vol":522,"trade_turnover":6759.0324,"count":132},{"id":1603436400,"open":12923.1,"close":12925.4,"high":12998.9,"low":12917.1,"amount":0.476,"vol":476,"trade_turnover":6163.3118,"count":118},{"id":1603440000,"open":12942.2,"close":12962.6,"high":13014.0,"low":12916.1,"amount":0.508,"vol":508,"trade_turnover":6585.3656,"count":122},{"id":1603443600,"open":12970.5,"close":12926.4,"high":13012.5,"low":12909.9,"amount":0.564,"vol":564,"trade_turnover":7308.8828,"count":124},{"id":1603447200,"open":13001.2,"close":13007.7,"high":13059.5,"low":12925.7,"amount":0.536,"vol":536,"trade_turnover":6957.8796,"count":124},{"id":1603450800,"open":13025.4,"close":12970.6,"high":13078.4,"low":12906.5,"amount":0.486,"vol":486,"trade_turnover":6326.1434,"count":122},{"id":1603454400,"open":12963.9,"close":12935.4,"high":13025.0,"low":12850.8,"amount":0.494,"vol":494,"trade_turnover":6396.0984,"count":117},{"id":1603458000,"open":12913.3,"close":12951.7,"high":13043.3,"low":12911.0,"amount":0.466,"vol":466,"trade_turnover":6049.1412,"count":117},{"id":1603461600,"open":12999.6,"close":12858.8,"high":13006.4,"low":12840.4,"amount":0.46,"vol":460,"trade_turnover":5941.815,"count":116},{"id":1603465200,"open":12885.7,"close":12881.9,"high":12932.9,"low":12826.5,"amount":0.492,"vol":492,"trade_turnover":6340.214,"count":117},{"id":1603468800,"open":12854.4,"close":12784.1,"high":12933.5,"low":12744.4,"amount":0.484,"vol":484,"trade_turnover":6205.4138,"count":123},{"id":1603472400,"open":12832.3,"close":12847.7,"high":12893.1,"low":12730.1,"amount":0.562,"vol":562,"trade_turnover":7218.9184,"count":152},{"id":1603476000,"open":12874.1,"close":12915.7,"high":12939.3,"low":12751.4,"amount":0.53,"vol":530,"trade_turnover":6825.7004,"count":128},{"id":1603479600,"open":12867.9,"close":12972.9,"high":12972.9,"low":12786.6,"amount":0.444,"vol":444,"trade_turnover":5727.7452,"count":117},{"id":1603483200,"open":12956.7,"close":12991.6,"high":13002.2,"low":12842.9,"amount":0.492,"vol":492,"trade_turnover":6375.1566,"count":116},{"id":1603486800,"open":13004.3,"close":12943.5,"high":13004.3,"low":12936.6,"amount":0.5,"vol":500,"trade_turnover":6485.468,"count":125},{"id":1603490400,"open":12923.6,"close":12989.2,"high":13010.3,"low":12884.7,"amount":0.492,"vol":492,"trade_turnover":6376.1492,"count":120},{"id":1603494000,"open":12974.9,"close":12884.6,"high":13024.4,"low":12884.6,"amount":0.51,"vol":510,"trade_turnover":6622.3406,"count":121},{"id":1603497600,"open":12973.7,"close":12953.9,"high":13018.3,"low":12811.1,"amount":0.488,"vol":488,"trade_turnover":6317.7938,"count":120},{"id":1603501200,"open":12927.5,"close":12934.2,"high":13018.1,"low":12872.8,"amount":0.482,"vol":482,"trade_turnover":6242.4178,"count":117},{"id":1603504800,"open":12971.9,"close":12989.1,"high":13003.9,"low":12903.3,"amount":0.484,"vol":484,"trade_turnover":6278.1756,"count":117},{"id":1603508400,"open":13000.1,"close":12975.9,"high":13013.4,"low":12938.3,"amount":0.474,"vol":474,"trade_turnover":6157.7096,"count":122},{"id":1603512000,"open":12989.7,"close":12963.3,"high":13009.4,"low":12905.5,"amount":0.526,"vol":526,"trade_turnover":6831.5658,"count":124},{"id":1603515600,"open":12910.5,"close":12989.7,"high":13041.8,"low":12875.3,"amount":0.522,"vol":522,"trade_turnover":6768.8994,"count":127},{"id":1603519200,"open":12994.7,"close":13003.6,"high":13058.1,"low":12908.8,"amount":0.49,"vol":490,"trade_turnover":6370.5714,"count":120},{"id":1603522800,"open":13011.9,"close":13004.2,"high":13037.8,"low":12981.7,"amount":0.478,"vol":478,"trade_turnover":6218.9722,"count":120},{"id":1603526400,"open":13003.0,"close":12998.2,"high":13030.6,"low":12899.4,"amount":0.52,"vol":520,"trade_turnover":6754.958,"count":124},{"id":1603530000,"open":12998.2,"close":12990.6,"high":13020.3,"low":12893.6,"amount":0.454,"vol":454,"trade_turnover":5891.0574,"count":115},{"id":1603533600,"open":12996.4,"close":13030.1,"high":13059.1,"low":12913.2,"amount":0.502,"vol":502,"trade_turnover":6525.9004,"count":124},{"id":1603537200,"open":12988.4,"close":13033.2,"high":13068.3,"low":12940.2,"amount":0.468,"vol":468,"trade_turnover":6091.0376,"count":119},{"id":1603540800,"open":13035.3,"close":13006.5,"high":13071.8,"low":12978.9,"amount":0.468,"vol":468,"trade_turnover":6102.5902,"count":123},{"id":1603544400,"open":13038.8,"close":12985.9,"high":13066.7,"low":12928.1,"amount":0.534,"vol":534,"trade_turnover":6950.4268,"count":123},{"id":1603548000,"open":12986.3,"close":13042.0,"high":13100.1,"low":12960.5,"amount":0.47,"vol":470,"trade_turnover":6124.2178,"count":100},{"id":1603551600,"open":13038.4,"close":13102.2,"high":13196.5,"low":13038.4,"amount":0.456,"vol":456,"trade_turnover":5989.6362,"count":120},{"id":1603555200,"open":13136.8,"close":13052.7,"high":13176.6,"low":12984.6,"amount":0.458,"vol":458,"trade_turnover":5976.331,"count":121},{"id":1603558800,"open":13006.2,"close":13177.8,"high":13177.8,"low":13003.2,"amount":0.452,"vol":452,"trade_turnover":5911.7058,"count":118},{"id":1603562400,"open":13127.7,"close":13080.8,"high":13170.7,"low":13023.0,"amount":0.468,"vol":468,"trade_turnover":6122.375,"count":119},{"id":1603566000,"open":13040.7,"close":13148.4,"high":13179.3,"low":13014.2,"amount":0.468,"vol":468,"trade_turnover":6126.4278,"count":120},{"id":1603569600,"open":13073.5,"close":13090.1,"high":13179.6,"low":12992.5,"amount":0.47,"vol":470,"trade_turnover":6151.4758,"count":119},{"id":1603573200,"open":13035.4,"close":12993.9,"high":13148.7,"low":12980.7,"amount":0.458,"vol":458,"trade_turnover":5981.071,"count":117},{"id":1603576800,"open":13040.7,"close":13041.1,"high":13112.1,"low":12975.6,"amount":0.478,"vol":478,"trade_turnover":6225.4216,"count":118},{"id":1603580400,"open":13012.6,"close":13184.3,"high":13184.3,"low":13009.3,"amount":0.472,"vol":472,"trade_turnover":6173.4244,"count":118},{"id":1603584000,"open":13080.8,"close":13154.3,"high":13170.4,"low":13007.7,"amount":0.46,"vol":460,"trade_turnover":6024.09,"count":115},{"id":1603587600,"open":13092.0,"close":13196.1,"high":13196.8,"low":13024.0,"amount":0.398,"vol":398,"trade_turnover":5217.5364,"count":102},{"id":1603591200,"open":13124.7,"close":13082.4,"high":13175.1,"low":13035.0,"amount":0.476,"vol":476,"trade_turnover":6228.6596,"count":120},{"id":1603594800,"open":13049.1,"close":13259.0,"high":13383.8,"low":13049.1,"amount":0.578,"vol":578,"trade_turnover":7629.3886,"count":137},{"id":1603598400,"open":13277.0,"close":13243.4,"high":13369.0,"low":13216.0,"amount":0.47,"vol":470,"trade_turnover":6247.955,"count":122},{"id":1603602000,"open":13285.3,"close":13017.3,"high":13353.3,"low":13010.1,"amount":0.61,"vol":610,"trade_turnover":8048.8598,"count":134},{"id":1603605600,"open":13022.5,"close":13060.3,"high":13105.7,"low":13018.2,"amount":0.486,"vol":486,"trade_turnover":6344.1474,"count":118},{"id":1603609200,"open":13048.5,"close":13078.1,"high":13112.1,"low":13022.0,"amount":0.464,"vol":464,"trade_turnover":6061.5416,"count":120},{"id":1603612800,"open":13077.2,"close":13046.0,"high":13091.0,"low":13017.2,"amount":0.464,"vol":464,"trade_turnover":6055.3734,"count":120},{"id":1603616400,"open":13065.1,"close":13040.8,"high":13084.0,"low":13014.2,"amount":0.478,"vol":478,"trade_turnover":6235.7882,"count":117},{"id":1603620000,"open":13047.1,"close":13028.5,"high":13064.2,"low":13010.2,"amount":0.478,"vol":478,"trade_turnover":6232.2428,"count":125},{"id":1603623600,"open":13061.5,"close":12897.6,"high":13061.5,"low":12852.9,"amount":0.534,"vol":534,"trade_turnover":6918.1226,"count":123},{"id":1603627200,"open":12908.3,"close":12964.3,"high":13069.7,"low":12893.2,"amount":0.444,"vol":444,"trade_turnover":5755.8712,"count":117},{"id":1603630800,"open":13001.3,"close":12949.3,"high":13071.9,"low":12891.8,"amount":0.498,"vol":498,"trade_turnover":6465.078,"count":119},{"id":1603634400,"open":12975.8,"close":12946.8,"high":13077.7,"low":12900.0,"amount":0.468,"vol":468,"trade_turnover":6075.4554,"count":116},{"id":1603638000,"open":12975.2,"close":12883.3,"high":13069.1,"low":12883.3,"amount":0.47,"vol":470,"trade_turnover":6097.1072,"count":119},{"id":1603641600,"open":12916.2,"close":12978.7,"high":13067.9,"low":12877.5,"amount":0.482,"vol":482,"trade_turnover":6256.4472,"count":118},{"id":1603645200,"open":13008.0,"close":13004.4,"high":13087.5,"low":12922.7,"amount":0.47,"vol":470,"trade_turnover":6108.3892,"count":117},{"id":1603648800,"open":12972.8,"close":12957.2,"high":13067.6,"low":12893.6,"amount":0.468,"vol":468,"trade_turnover":6079.1484,"count":118},{"id":1603652400,"open":12996.5,"close":13021.8,"high":13066.9,"low":12916.6,"amount":0.442,"vol":442,"trade_turnover":5746.5548,"count":118},{"id":1603656000,"open":12992.9,"close":12985.4,"high":13081.5,"low":12944.9,"amount":0.508,"vol":508,"trade_turnover":6616.9872,"count":120},{"id":1603659600,"open":12999.9,"close":13011.2,"high":13068.6,"low":12921.4,"amount":0.508,"vol":508,"trade_turnover":6614.816,"count":122},{"id":1603663200,"open":12979.6,"close":12959.4,"high":13073.8,"low":12911.9,"amount":0.486,"vol":486,"trade_turnover":6320.907,"count":121},{"id":1603666800,"open":12963.4,"close":13032.1,"high":13085.2,"low":12927.8,"amount":0.452,"vol":452,"trade_turnover":5878.6442,"count":113},{"id":1603670400,"open":12964.2,"close":13001.0,"high":13076.7,"low":12918.3,"amount":0.482,"vol":482,"trade_turnover":6263.698,"count":121},{"id":1603674000,"open":13040.0,"close":13053.7,"high":13096.4,"low":12991.2,"amount":0.478,"vol":478,"trade_turnover":6232.2328,"count":124},{"id":1603677600,"open":13060.6,"close":13064.4,"high":13185.7,"low":12985.1,"amount":0.488,"vol":488,"trade_turnover":6387.534,"count":121},{"id":1603681200,"open":13032.3,"close":13092.8,"high":13187.2,"low":12984.1,"amount":0.486,"vol":486,"trade_turnover":6369.0272,"count":135},{"id":1603684800,"open":13092.0,"close":13132.6,"high":13181.6,"low":12962.3,"amount":0.51,"vol":510,"trade_turnover":6679.829,"count":131},{"id":1603688400,"open":13129.2,"close":13092.1,"high":13205.3,"low":13025.3,"amount":0.506,"vol":506,"trade_turnover":6641.2128,"count":126},{"id":1603692000,"open":13121.8,"close":13071.4,"high":13188.1,"low":12989.8,"amount":1.616,"vol":1616,"trade_turnover":21170.8224,"count":141},{"id":1603695600,"open":13061.0,"close":13038.7,"high":13100.0,"low":12965.2,"amount":3.746,"vol":3746,"trade_turnover":48924.8902,"count":110},{"id":1603699200,"open":13030.9,"close":13039.3,"high":13102.0,"low":12852.8,"amount":8.966,"vol":8966,"trade_turnover":116525.5534,"count":173},{"id":1603702800,"open":13047.1,"close":13075.9,"high":13088.4,"low":13039.8,"amount":4.48,"vol":4480,"trade_turnover":58521.1714,"count":124},{"id":1603706400,"open":13072.1,"close":13100.0,"high":13100.0,"low":13060.2,"amount":4.272,"vol":4272,"trade_turnover":55895.9778,"count":130},{"id":1603710000,"open":13100.0,"close":13138.4,"high":13159.0,"low":13100.0,"amount":29.798,"vol":29798,"trade_turnover":391138.024,"count":230},{"id":1603713600,"open":13138.8,"close":13149.8,"high":13200.0,"low":13100.0,"amount":5.154,"vol":5154,"trade_turnover":67694.652,"count":188},{"id":1603717200,"open":13150.0,"close":13205.8,"high":13351.5,"low":13133.1,"amount":35.608,"vol":35608,"trade_turnover":472780.3394,"count":328},{"id":1603720800,"open":13203.0,"close":13166.1,"high":13280.0,"low":13144.1,"amount":31.748,"vol":31748,"trade_turnover":418744.5588,"count":235},{"id":1603724400,"open":13159.0,"close":12978.0,"high":13165.2,"low":12903.8,"amount":36.53,"vol":36530,"trade_turnover":476940.3296,"count":384},{"id":1603728000,"open":12965.0,"close":12869.6,"high":13069.8,"low":12850.5,"amount":35.018,"vol":35018,"trade_turnover":453288.918,"count":323},{"id":1603731600,"open":12879.2,"close":12873.8,"high":12941.5,"low":12583.9,"amount":92.628,"vol":92628,"trade_turnover":1185973.467,"count":560},{"id":1603735200,"open":12856.2,"close":12946.8,"high":12954.5,"low":12820.4,"amount":4.302,"vol":4302,"trade_turnover":55481.0054,"count":128},{"id":1603738800,"open":12945.6,"close":12953.4,"high":12953.5,"low":12914.1,"amount":13.83,"vol":13830,"trade_turnover":179112.1598,"count":118},{"id":1603742400,"open":12953.5,"close":12983.4,"high":13007.5,"low":12953.5,"amount":17.172,"vol":17172,"trade_turnover":223230.2122,"count":132},{"id":1603746000,"open":12983.1,"close":12993.8,"high":13007.5,"low":12982.7,"amount":3.212,"vol":3212,"trade_turnover":41767.8906,"count":59},{"id":1603749600,"open":13002.1,"close":13007.5,"high":13007.5,"low":12974.0,"amount":1.504,"vol":1504,"trade_turnover":19543.3568,"count":74},{"id":1603753200,"open":13007.5,"close":13033.7,"high":13061.2,"low":13007.5,"amount":3.454,"vol":3454,"trade_turnover":45001.601,"count":101},{"id":1603756800,"open":13029.2,"close":13067.1,"high":13105.0,"low":13028.3,"amount":8.784,"vol":8784,"trade_turnover":114871.8246,"count":98},{"id":1603760400,"open":13074.3,"close":13061.7,"high":13074.4,"low":13051.5,"amount":11.592,"vol":11592,"trade_turnover":151386.9038,"count":66},{"id":1603764000,"open":13061.7,"close":13049.7,"high":13097.6,"low":13040.1,"amount":19.298,"vol":19298,"trade_turnover":252061.019,"count":109},{"id":1603767600,"open":13057.6,"close":13070.4,"high":13080.0,"low":13057.1,"amount":22.992,"vol":22992,"trade_turnover":300453.9788,"count":69},{"id":1603771200,"open":13080.0,"close":13103.3,"high":13175.0,"low":13079.6,"amount":14.396,"vol":14396,"trade_turnover":188461.9156,"count":59},{"id":1603774800,"open":13121.3,"close":13073.6,"high":13121.3,"low":13069.7,"amount":5.058,"vol":5058,"trade_turnover":66201.3552,"count":44},{"id":1603778400,"open":13074.9,"close":13103.4,"high":13149.0,"low":13069.6,"amount":9.106,"vol":9106,"trade_turnover":119104.8906,"count":107},{"id":1603782000,"open":13103.3,"close":13130.0,"high":13169.8,"low":12992.4,"amount":73.95,"vol":73950,"trade_turnover":968195.155,"count":305},{"id":1603785600,"open":13135.1,"close":13123.8,"high":13148.4,"low":13044.0,"amount":18.732,"vol":18732,"trade_turnover":245533.5448,"count":135},{"id":1603789200,"open":13115.5,"close":13131.7,"high":13131.8,"low":13075.7,"amount":13.756,"vol":13756,"trade_turnover":180253.7708,"count":102},{"id":1603792800,"open":13134.8,"close":13216.9,"high":13252.0,"low":13063.4,"amount":154.108,"vol":154108,"trade_turnover":2029983.656,"count":525},{"id":1603796400,"open":13218.8,"close":13395.8,"high":13590.1,"low":13213.5,"amount":170.09,"vol":170090,"trade_turnover":2276279.742,"count":591},{"id":1603800000,"open":13395.9,"close":13376.9,"high":13414.0,"low":13331.7,"amount":48.928,"vol":48928,"trade_turnover":654585.9108,"count":216},{"id":1603803600,"open":13376.5,"close":13384.3,"high":13490.9,"low":13329.8,"amount":63.294,"vol":63294,"trade_turnover":848130.9212,"count":316},{"id":1603807200,"open":13392.6,"close":13398.2,"high":13415.8,"low":13344.8,"amount":12.892,"vol":12892,"trade_turnover":172618.6864,"count":124},{"id":1603810800,"open":13398.2,"close":13598.5,"high":13626.7,"low":13398.2,"amount":93.22,"vol":93220,"trade_turnover":1262695.5466,"count":476},{"id":1603814400,"open":13595.8,"close":13639.9,"high":13639.9,"low":13520.2,"amount":85.45,"vol":85450,"trade_turnover":1161481.4136,"count":435},{"id":1603818000,"open":13640.0,"close":13688.1,"high":13826.7,"low":13589.0,"amount":191.812,"vol":191812,"trade_turnover":2628428.3788,"count":711},{"id":1603821600,"open":13685.0,"close":13630.1,"high":13745.0,"low":13528.2,"amount":65.434,"vol":65434,"trade_turnover":891541.8394,"count":410},{"id":1603825200,"open":13629.4,"close":13637.1,"high":13659.8,"low":13595.4,"amount":5.788,"vol":5788,"trade_turnover":78836.2578,"count":65},{"id":1603828800,"open":13644.4,"close":13616.6,"high":13805.1,"low":13582.6,"amount":163.104,"vol":163104,"trade_turnover":2234040.3544,"count":537},{"id":1603832400,"open":13609.8,"close":13705.5,"high":13753.5,"low":13609.8,"amount":9.884,"vol":9884,"trade_turnover":135406.4752,"count":101},{"id":1603836000,"open":13705.4,"close":13739.9,"high":13739.9,"low":13658.2,"amount":7.436,"vol":7436,"trade_turnover":101840.3508,"count":100},{"id":1603839600,"open":13739.9,"close":13649.6,"high":13794.6,"low":13582.6,"amount":17.086,"vol":17086,"trade_turnover":233971.8448,"count":234},{"id":1603843200,"open":13645.9,"close":13701.7,"high":13745.2,"low":13618.8,"amount":24.108,"vol":24108,"trade_turnover":330206.5694,"count":177},{"id":1603846800,"open":13702.1,"close":13702.6,"high":13725.6,"low":13647.9,"amount":15.892,"vol":15892,"trade_turnover":217816.7008,"count":151},{"id":1603850400,"open":13701.7,"close":13811.6,"high":13832.2,"low":13680.2,"amount":46.548,"vol":46548,"trade_turnover":640636.0352,"count":274},{"id":1603854000,"open":13818.5,"close":13777.0,"high":13820.3,"low":13717.5,"amount":67.896,"vol":67896,"trade_turnover":935838.2238,"count":320},{"id":1603857600,"open":13767.3,"close":13735.7,"high":13807.2,"low":13710.0,"amount":33.156,"vol":33156,"trade_turnover":455941.234,"count":210},{"id":1603861200,"open":13735.5,"close":13715.8,"high":13753.9,"low":13671.3,"amount":32.076,"vol":32076,"trade_turnover":439612.64,"count":198},{"id":1603864800,"open":13715.9,"close":13701.3,"high":13757.0,"low":13694.9,"amount":14.756,"vol":14756,"trade_turnover":202602.5164,"count":122},{"id":1603868400,"open":13701.2,"close":13674.2,"high":13708.7,"low":13550.0,"amount":155.534,"vol":155534,"trade_turnover":2117935.0928,"count":635},{"id":1603872000,"open":13673.0,"close":13691.7,"high":13691.7,"low":13584.0,"amount":29.846,"vol":29846,"trade_turnover":407073.1398,"count":240},{"id":1603875600,"open":13689.3,"close":13587.1,"high":13707.5,"low":13573.5,"amount":104.542,"vol":104542,"trade_turnover":1425079.9344,"count":377},{"id":1603879200,"open":13584.6,"close":13552.7,"high":13618.0,"low":13504.7,"amount":73.818,"vol":73818,"trade_turnover":1001666.0908,"count":358},{"id":1603882800,"open":13552.6,"close":13336.4,"high":13565.4,"low":13330.0,"amount":176.544,"vol":176544,"trade_turnover":2369166.1492,"count":1004},{"id":1603886400,"open":13331.5,"close":13300.3,"high":13385.0,"low":13173.9,"amount":289.73,"vol":289730,"trade_turnover":3846751.7166,"count":968},{"id":1603890000,"open":13300.2,"close":13129.9,"high":13340.0,"low":13122.9,"amount":139.822,"vol":139822,"trade_turnover":1848876.932,"count":612},{"id":1603893600,"open":13123.4,"close":13082.2,"high":13168.2,"low":12915.9,"amount":367.876,"vol":367876,"trade_turnover":4802516.9818,"count":1168},{"id":1603897200,"open":13077.1,"close":13221.2,"high":13235.2,"low":13052.3,"amount":84.044,"vol":84044,"trade_turnover":1106883.1282,"count":375},{"id":1603900800,"open":13218.7,"close":13145.1,"high":13218.7,"low":13050.0,"amount":29.566,"vol":29566,"trade_turnover":388697.4104,"count":244},{"id":1603904400,"open":13145.1,"close":13176.7,"high":13204.9,"low":13006.6,"amount":53.336,"vol":53336,"trade_turnover":700385.2784,"count":299},{"id":1603908000,"open":13171.0,"close":13196.5,"high":13219.6,"low":13131.0,"amount":34.164,"vol":34164,"trade_turnover":450210.5778,"count":218},{"id":1603911600,"open":13200.0,"close":13154.9,"high":13237.4,"low":13145.0,"amount":22.158,"vol":22158,"trade_turnover":292020.0438,"count":185},{"id":1603915200,"open":13154.5,"close":13198.1,"high":13211.8,"low":13147.4,"amount":4.548,"vol":4548,"trade_turnover":59991.1118,"count":75},{"id":1603918800,"open":13193.5,"close":13190.1,"high":13196.5,"low":13100.2,"amount":3.52,"vol":3520,"trade_turnover":46175.428,"count":68},{"id":1603922400,"open":13185.4,"close":13252.0,"high":13267.5,"low":13185.4,"amount":3.122,"vol":3122,"trade_turnover":41304.2018,"count":72},{"id":1603926000,"open":13242.1,"close":13265.9,"high":13282.3,"low":13235.9,"amount":14.768,"vol":14768,"trade_turnover":195689.0764,"count":86},{"id":1603929600,"open":13253.9,"close":13245.1,"high":13294.7,"low":13237.4,"amount":19.968,"vol":19968,"trade_turnover":264834.1944,"count":98},{"id":1603933200,"open":13244.6,"close":13274.2,"high":13285.3,"low":13166.3,"amount":35.282,"vol":35282,"trade_turnover":465789.6302,"count":192},{"id":1603936800,"open":13275.9,"close":13241.1,"high":13277.7,"low":13212.2,"amount":9.748,"vol":9748,"trade_turnover":129016.0684,"count":119},{"id":1603940400,"open":13237.1,"close":13262.5,"high":13262.5,"low":13174.6,"amount":27.3,"vol":27300,"trade_turnover":360589.8982,"count":199},{"id":1603944000,"open":13269.1,"close":13229.5,"high":13277.7,"low":13229.5,"amount":18.904,"vol":18904,"trade_turnover":250713.2812,"count":109},{"id":1603947600,"open":13228.5,"close":13274.8,"high":13274.8,"low":13228.5,"amount":15.822,"vol":15822,"trade_turnover":209781.909,"count":134},{"id":1603951200,"open":13274.8,"close":13255.0,"high":13323.0,"low":13242.3,"amount":91.246,"vol":91246,"trade_turnover":1211271.2788,"count":294},{"id":1603954800,"open":13255.0,"close":13142.4,"high":13269.3,"low":13123.1,"amount":187.622,"vol":187622,"trade_turnover":2478299.7074,"count":506},{"id":1603958400,"open":13145.9,"close":13124.8,"high":13182.4,"low":13094.1,"amount":69.532,"vol":69532,"trade_turnover":914157.2418,"count":226},{"id":1603962000,"open":13129.5,"close":13183.7,"high":13197.1,"low":13129.5,"amount":23.184,"vol":23184,"trade_turnover":305485.9524,"count":141},{"id":1603965600,"open":13184.8,"close":13105.2,"high":13187.5,"low":13053.1,"amount":121.146,"vol":121146,"trade_turnover":1590026.4416,"count":442},{"id":1603969200,"open":13105.1,"close":13060.1,"high":13171.4,"low":13060.1,"amount":47.498,"vol":47498,"trade_turnover":623578.149,"count":262},{"id":1603972800,"open":13056.9,"close":13131.8,"high":13145.8,"low":12977.9,"amount":126.552,"vol":126552,"trade_turnover":1652549.311,"count":481},{"id":1603976400,"open":13131.7,"close":13230.0,"high":13237.2,"low":13102.0,"amount":100.482,"vol":100482,"trade_turnover":1326403.7206,"count":325},{"id":1603980000,"open":13231.0,"close":13420.8,"high":13476.1,"low":13231.0,"amount":253.258,"vol":253258,"trade_turnover":3384941.438,"count":752},{"id":1603983600,"open":13416.0,"close":13420.6,"high":13458.7,"low":13358.7,"amount":64.71,"vol":64710,"trade_turnover":869052.3804,"count":269},{"id":1603987200,"open":13421.9,"close":13535.9,"high":13594.5,"low":13391.8,"amount":120.24,"vol":120240,"trade_turnover":1626567.8278,"count":570}]} +2024-01-18 11:13:04.904 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:41] - 请求 KLine 数据解析之后的数据为:{"wsid":19750305,"data":[{"amount":0.276,"high":12300.0,"vol":276,"low":11715.8,"count":39,"id":1603270800,"close":12196.7,"tradeTurnover":3315.9104,"open":12198.0},{"amount":0.198,"high":12289.9,"vol":198,"low":12111.0,"count":21,"id":1603274400,"close":12277.9,"tradeTurnover":2420.7728,"open":12196.7},{"amount":0.012,"high":12277.9,"vol":12,"low":12000.0,"count":5,"id":1603278000,"close":12000.0,"tradeTurnover":145.2238,"open":12111.0},{"amount":0.084,"high":12498.0,"vol":84,"low":12078.0,"count":12,"id":1603281600,"close":12497.4,"tradeTurnover":1040.0504,"open":12078.0},{"amount":1.122,"high":12495.6,"vol":1122,"low":12282.9,"count":112,"id":1603285200,"close":12373.5,"tradeTurnover":13905.3124,"open":12495.6},{"amount":5.29,"high":12807.6,"vol":5290,"low":12358.1,"count":155,"id":1603288800,"close":12689.9,"tradeTurnover":66852.128,"open":12412.9},{"amount":1.174,"high":12778.7,"vol":1174,"low":12573.2,"count":113,"id":1603292400,"close":12701.9,"tradeTurnover":14907.367,"open":12692.8},{"amount":1.156,"high":12920.9,"vol":1156,"low":12624.8,"count":115,"id":1603296000,"close":12835.9,"tradeTurnover":14802.449,"open":12679.7},{"amount":1.12,"high":12908.3,"vol":1120,"low":12687.5,"count":115,"id":1603299600,"close":12754.2,"tradeTurnover":14345.7324,"open":12848.3},{"amount":1.106,"high":12849.0,"vol":1106,"low":12668.3,"count":114,"id":1603303200,"close":12740.2,"tradeTurnover":14105.3504,"open":12743.7},{"amount":1.032,"high":12843.1,"vol":1032,"low":12597.2,"count":112,"id":1603306800,"close":12650.3,"tradeTurnover":13125.4568,"open":12729.5},{"amount":1.154,"high":12848.4,"vol":1154,"low":12610.2,"count":116,"id":1603310400,"close":12807.0,"tradeTurnover":14680.638,"open":12666.8},{"amount":1.164,"high":13005.1,"vol":1164,"low":12748.2,"count":114,"id":1603314000,"close":12938.9,"tradeTurnover":14976.9366,"open":12866.0},{"amount":1.174,"high":13211.2,"vol":1174,"low":12865.7,"count":114,"id":1603317600,"close":13122.0,"tradeTurnover":15285.2446,"open":12921.0},{"amount":1.172,"high":13173.2,"vol":1172,"low":12688.6,"count":117,"id":1603321200,"close":12829.8,"tradeTurnover":15060.9938,"open":13153.2},{"amount":1.17,"high":12988.1,"vol":1170,"low":12764.4,"count":117,"id":1603324800,"close":12885.9,"tradeTurnover":15046.2046,"open":12793.1},{"amount":1.158,"high":12972.6,"vol":1158,"low":12757.5,"count":118,"id":1603328400,"close":12757.5,"tradeTurnover":14882.4656,"open":12860.4},{"amount":1.124,"high":12848.0,"vol":1124,"low":12729.0,"count":115,"id":1603332000,"close":12788.8,"tradeTurnover":14368.7948,"open":12824.1},{"amount":1.194,"high":12834.4,"vol":1194,"low":12729.0,"count":111,"id":1603335600,"close":12767.2,"tradeTurnover":15268.9298,"open":12791.7},{"amount":1.152,"high":12778.3,"vol":1152,"low":12729.0,"count":115,"id":1603339200,"close":12762.2,"tradeTurnover":14695.4876,"open":12729.0},{"amount":1.21,"high":12842.0,"vol":1210,"low":12730.6,"count":119,"id":1603342800,"close":12813.8,"tradeTurnover":15440.8162,"open":12763.1},{"amount":1.188,"high":12795.0,"vol":1188,"low":12728.0,"count":123,"id":1603346400,"close":12729.1,"tradeTurnover":15128.0098,"open":12795.0},{"amount":1.266,"high":12730.6,"vol":1266,"low":12728.3,"count":112,"id":1603350000,"close":12730.6,"tradeTurnover":16115.1306,"open":12728.6},{"amount":1.35,"high":12921.5,"vol":1350,"low":12729.9,"count":127,"id":1603353600,"close":12770.1,"tradeTurnover":17233.7326,"open":12730.3},{"amount":0.98,"high":12872.1,"vol":980,"low":12760.1,"count":99,"id":1603357200,"close":12780.4,"tradeTurnover":12553.9826,"open":12824.9},{"amount":0.266,"high":13002.7,"vol":266,"low":12775.6,"count":30,"id":1603360800,"close":12934.2,"tradeTurnover":3415.023,"open":12784.9},{"amount":1.004,"high":13057.0,"vol":1004,"low":12886.6,"count":117,"id":1603364400,"close":13045.0,"tradeTurnover":13020.8576,"open":12977.0},{"amount":1.134,"high":12973.4,"vol":1134,"low":12751.6,"count":111,"id":1603368000,"close":12847.9,"tradeTurnover":14594.2752,"open":12958.5},{"amount":1.152,"high":13000.8,"vol":1152,"low":12743.0,"count":114,"id":1603371600,"close":12931.0,"tradeTurnover":14877.7314,"open":12882.7},{"amount":1.182,"high":12995.3,"vol":1182,"low":12783.9,"count":115,"id":1603375200,"close":12917.8,"tradeTurnover":15224.4716,"open":12890.4},{"amount":1.176,"high":13031.2,"vol":1176,"low":12817.9,"count":117,"id":1603378800,"close":12953.0,"tradeTurnover":15197.208,"open":12918.8},{"amount":1.146,"high":13100.2,"vol":1146,"low":12865.6,"count":119,"id":1603382400,"close":13055.6,"tradeTurnover":14851.9604,"open":12923.1},{"amount":1.534,"high":13105.7,"vol":1534,"low":12835.5,"count":124,"id":1603386000,"close":13082.7,"tradeTurnover":19927.8288,"open":12967.6},{"amount":1.268,"high":13115.0,"vol":1268,"low":12938.7,"count":117,"id":1603389600,"close":13016.4,"tradeTurnover":16505.4738,"open":13020.4},{"amount":1.13,"high":13171.2,"vol":1130,"low":12961.8,"count":112,"id":1603393200,"close":12970.6,"tradeTurnover":14762.952,"open":13028.3},{"amount":1.206,"high":13216.1,"vol":1206,"low":12998.5,"count":117,"id":1603396800,"close":13089.3,"tradeTurnover":15807.1226,"open":13016.7},{"amount":1.332,"high":13203.7,"vol":1332,"low":12932.9,"count":114,"id":1603400400,"close":13092.0,"tradeTurnover":17423.4422,"open":13136.0},{"amount":1.21,"high":13250.5,"vol":1210,"low":12984.7,"count":114,"id":1603404000,"close":13055.9,"tradeTurnover":15876.0632,"open":13119.4},{"amount":1.286,"high":13126.5,"vol":1286,"low":12857.2,"count":116,"id":1603407600,"close":12890.4,"tradeTurnover":16688.422,"open":13059.4},{"amount":1.502,"high":12994.0,"vol":1502,"low":12751.6,"count":131,"id":1603411200,"close":12892.2,"tradeTurnover":19331.1596,"open":12929.7},{"amount":1.386,"high":13003.2,"vol":1386,"low":12786.0,"count":121,"id":1603414800,"close":12898.3,"tradeTurnover":17904.8902,"open":12921.7},{"amount":1.416,"high":13054.0,"vol":1416,"low":12800.7,"count":122,"id":1603418400,"close":12975.1,"tradeTurnover":18306.6204,"open":12951.6},{"amount":1.19,"high":13030.7,"vol":1190,"low":12875.0,"count":118,"id":1603422000,"close":12947.0,"tradeTurnover":15409.7984,"open":12967.3},{"amount":1.022,"high":13047.3,"vol":1022,"low":12832.8,"count":127,"id":1603425600,"close":12852.0,"tradeTurnover":13214.4388,"open":12925.2},{"amount":0.478,"high":12991.7,"vol":478,"low":12841.2,"count":118,"id":1603429200,"close":12931.1,"tradeTurnover":6180.2486,"open":12859.0},{"amount":0.522,"high":13014.1,"vol":522,"low":12871.9,"count":132,"id":1603432800,"close":12939.6,"tradeTurnover":6759.0324,"open":12935.9},{"amount":0.476,"high":12998.9,"vol":476,"low":12917.1,"count":118,"id":1603436400,"close":12925.4,"tradeTurnover":6163.3118,"open":12923.1},{"amount":0.508,"high":13014.0,"vol":508,"low":12916.1,"count":122,"id":1603440000,"close":12962.6,"tradeTurnover":6585.3656,"open":12942.2},{"amount":0.564,"high":13012.5,"vol":564,"low":12909.9,"count":124,"id":1603443600,"close":12926.4,"tradeTurnover":7308.8828,"open":12970.5},{"amount":0.536,"high":13059.5,"vol":536,"low":12925.7,"count":124,"id":1603447200,"close":13007.7,"tradeTurnover":6957.8796,"open":13001.2},{"amount":0.486,"high":13078.4,"vol":486,"low":12906.5,"count":122,"id":1603450800,"close":12970.6,"tradeTurnover":6326.1434,"open":13025.4},{"amount":0.494,"high":13025.0,"vol":494,"low":12850.8,"count":117,"id":1603454400,"close":12935.4,"tradeTurnover":6396.0984,"open":12963.9},{"amount":0.466,"high":13043.3,"vol":466,"low":12911.0,"count":117,"id":1603458000,"close":12951.7,"tradeTurnover":6049.1412,"open":12913.3},{"amount":0.46,"high":13006.4,"vol":460,"low":12840.4,"count":116,"id":1603461600,"close":12858.8,"tradeTurnover":5941.815,"open":12999.6},{"amount":0.492,"high":12932.9,"vol":492,"low":12826.5,"count":117,"id":1603465200,"close":12881.9,"tradeTurnover":6340.214,"open":12885.7},{"amount":0.484,"high":12933.5,"vol":484,"low":12744.4,"count":123,"id":1603468800,"close":12784.1,"tradeTurnover":6205.4138,"open":12854.4},{"amount":0.562,"high":12893.1,"vol":562,"low":12730.1,"count":152,"id":1603472400,"close":12847.7,"tradeTurnover":7218.9184,"open":12832.3},{"amount":0.53,"high":12939.3,"vol":530,"low":12751.4,"count":128,"id":1603476000,"close":12915.7,"tradeTurnover":6825.7004,"open":12874.1},{"amount":0.444,"high":12972.9,"vol":444,"low":12786.6,"count":117,"id":1603479600,"close":12972.9,"tradeTurnover":5727.7452,"open":12867.9},{"amount":0.492,"high":13002.2,"vol":492,"low":12842.9,"count":116,"id":1603483200,"close":12991.6,"tradeTurnover":6375.1566,"open":12956.7},{"amount":0.5,"high":13004.3,"vol":500,"low":12936.6,"count":125,"id":1603486800,"close":12943.5,"tradeTurnover":6485.468,"open":13004.3},{"amount":0.492,"high":13010.3,"vol":492,"low":12884.7,"count":120,"id":1603490400,"close":12989.2,"tradeTurnover":6376.1492,"open":12923.6},{"amount":0.51,"high":13024.4,"vol":510,"low":12884.6,"count":121,"id":1603494000,"close":12884.6,"tradeTurnover":6622.3406,"open":12974.9},{"amount":0.488,"high":13018.3,"vol":488,"low":12811.1,"count":120,"id":1603497600,"close":12953.9,"tradeTurnover":6317.7938,"open":12973.7},{"amount":0.482,"high":13018.1,"vol":482,"low":12872.8,"count":117,"id":1603501200,"close":12934.2,"tradeTurnover":6242.4178,"open":12927.5},{"amount":0.484,"high":13003.9,"vol":484,"low":12903.3,"count":117,"id":1603504800,"close":12989.1,"tradeTurnover":6278.1756,"open":12971.9},{"amount":0.474,"high":13013.4,"vol":474,"low":12938.3,"count":122,"id":1603508400,"close":12975.9,"tradeTurnover":6157.7096,"open":13000.1},{"amount":0.526,"high":13009.4,"vol":526,"low":12905.5,"count":124,"id":1603512000,"close":12963.3,"tradeTurnover":6831.5658,"open":12989.7},{"amount":0.522,"high":13041.8,"vol":522,"low":12875.3,"count":127,"id":1603515600,"close":12989.7,"tradeTurnover":6768.8994,"open":12910.5},{"amount":0.49,"high":13058.1,"vol":490,"low":12908.8,"count":120,"id":1603519200,"close":13003.6,"tradeTurnover":6370.5714,"open":12994.7},{"amount":0.478,"high":13037.8,"vol":478,"low":12981.7,"count":120,"id":1603522800,"close":13004.2,"tradeTurnover":6218.9722,"open":13011.9},{"amount":0.52,"high":13030.6,"vol":520,"low":12899.4,"count":124,"id":1603526400,"close":12998.2,"tradeTurnover":6754.958,"open":13003.0},{"amount":0.454,"high":13020.3,"vol":454,"low":12893.6,"count":115,"id":1603530000,"close":12990.6,"tradeTurnover":5891.0574,"open":12998.2},{"amount":0.502,"high":13059.1,"vol":502,"low":12913.2,"count":124,"id":1603533600,"close":13030.1,"tradeTurnover":6525.9004,"open":12996.4},{"amount":0.468,"high":13068.3,"vol":468,"low":12940.2,"count":119,"id":1603537200,"close":13033.2,"tradeTurnover":6091.0376,"open":12988.4},{"amount":0.468,"high":13071.8,"vol":468,"low":12978.9,"count":123,"id":1603540800,"close":13006.5,"tradeTurnover":6102.5902,"open":13035.3},{"amount":0.534,"high":13066.7,"vol":534,"low":12928.1,"count":123,"id":1603544400,"close":12985.9,"tradeTurnover":6950.4268,"open":13038.8},{"amount":0.47,"high":13100.1,"vol":470,"low":12960.5,"count":100,"id":1603548000,"close":13042.0,"tradeTurnover":6124.2178,"open":12986.3},{"amount":0.456,"high":13196.5,"vol":456,"low":13038.4,"count":120,"id":1603551600,"close":13102.2,"tradeTurnover":5989.6362,"open":13038.4},{"amount":0.458,"high":13176.6,"vol":458,"low":12984.6,"count":121,"id":1603555200,"close":13052.7,"tradeTurnover":5976.331,"open":13136.8},{"amount":0.452,"high":13177.8,"vol":452,"low":13003.2,"count":118,"id":1603558800,"close":13177.8,"tradeTurnover":5911.7058,"open":13006.2},{"amount":0.468,"high":13170.7,"vol":468,"low":13023.0,"count":119,"id":1603562400,"close":13080.8,"tradeTurnover":6122.375,"open":13127.7},{"amount":0.468,"high":13179.3,"vol":468,"low":13014.2,"count":120,"id":1603566000,"close":13148.4,"tradeTurnover":6126.4278,"open":13040.7},{"amount":0.47,"high":13179.6,"vol":470,"low":12992.5,"count":119,"id":1603569600,"close":13090.1,"tradeTurnover":6151.4758,"open":13073.5},{"amount":0.458,"high":13148.7,"vol":458,"low":12980.7,"count":117,"id":1603573200,"close":12993.9,"tradeTurnover":5981.071,"open":13035.4},{"amount":0.478,"high":13112.1,"vol":478,"low":12975.6,"count":118,"id":1603576800,"close":13041.1,"tradeTurnover":6225.4216,"open":13040.7},{"amount":0.472,"high":13184.3,"vol":472,"low":13009.3,"count":118,"id":1603580400,"close":13184.3,"tradeTurnover":6173.4244,"open":13012.6},{"amount":0.46,"high":13170.4,"vol":460,"low":13007.7,"count":115,"id":1603584000,"close":13154.3,"tradeTurnover":6024.09,"open":13080.8},{"amount":0.398,"high":13196.8,"vol":398,"low":13024.0,"count":102,"id":1603587600,"close":13196.1,"tradeTurnover":5217.5364,"open":13092.0},{"amount":0.476,"high":13175.1,"vol":476,"low":13035.0,"count":120,"id":1603591200,"close":13082.4,"tradeTurnover":6228.6596,"open":13124.7},{"amount":0.578,"high":13383.8,"vol":578,"low":13049.1,"count":137,"id":1603594800,"close":13259.0,"tradeTurnover":7629.3886,"open":13049.1},{"amount":0.47,"high":13369.0,"vol":470,"low":13216.0,"count":122,"id":1603598400,"close":13243.4,"tradeTurnover":6247.955,"open":13277.0},{"amount":0.61,"high":13353.3,"vol":610,"low":13010.1,"count":134,"id":1603602000,"close":13017.3,"tradeTurnover":8048.8598,"open":13285.3},{"amount":0.486,"high":13105.7,"vol":486,"low":13018.2,"count":118,"id":1603605600,"close":13060.3,"tradeTurnover":6344.1474,"open":13022.5},{"amount":0.464,"high":13112.1,"vol":464,"low":13022.0,"count":120,"id":1603609200,"close":13078.1,"tradeTurnover":6061.5416,"open":13048.5},{"amount":0.464,"high":13091.0,"vol":464,"low":13017.2,"count":120,"id":1603612800,"close":13046.0,"tradeTurnover":6055.3734,"open":13077.2},{"amount":0.478,"high":13084.0,"vol":478,"low":13014.2,"count":117,"id":1603616400,"close":13040.8,"tradeTurnover":6235.7882,"open":13065.1},{"amount":0.478,"high":13064.2,"vol":478,"low":13010.2,"count":125,"id":1603620000,"close":13028.5,"tradeTurnover":6232.2428,"open":13047.1},{"amount":0.534,"high":13061.5,"vol":534,"low":12852.9,"count":123,"id":1603623600,"close":12897.6,"tradeTurnover":6918.1226,"open":13061.5},{"amount":0.444,"high":13069.7,"vol":444,"low":12893.2,"count":117,"id":1603627200,"close":12964.3,"tradeTurnover":5755.8712,"open":12908.3},{"amount":0.498,"high":13071.9,"vol":498,"low":12891.8,"count":119,"id":1603630800,"close":12949.3,"tradeTurnover":6465.078,"open":13001.3},{"amount":0.468,"high":13077.7,"vol":468,"low":12900.0,"count":116,"id":1603634400,"close":12946.8,"tradeTurnover":6075.4554,"open":12975.8},{"amount":0.47,"high":13069.1,"vol":470,"low":12883.3,"count":119,"id":1603638000,"close":12883.3,"tradeTurnover":6097.1072,"open":12975.2},{"amount":0.482,"high":13067.9,"vol":482,"low":12877.5,"count":118,"id":1603641600,"close":12978.7,"tradeTurnover":6256.4472,"open":12916.2},{"amount":0.47,"high":13087.5,"vol":470,"low":12922.7,"count":117,"id":1603645200,"close":13004.4,"tradeTurnover":6108.3892,"open":13008.0},{"amount":0.468,"high":13067.6,"vol":468,"low":12893.6,"count":118,"id":1603648800,"close":12957.2,"tradeTurnover":6079.1484,"open":12972.8},{"amount":0.442,"high":13066.9,"vol":442,"low":12916.6,"count":118,"id":1603652400,"close":13021.8,"tradeTurnover":5746.5548,"open":12996.5},{"amount":0.508,"high":13081.5,"vol":508,"low":12944.9,"count":120,"id":1603656000,"close":12985.4,"tradeTurnover":6616.9872,"open":12992.9},{"amount":0.508,"high":13068.6,"vol":508,"low":12921.4,"count":122,"id":1603659600,"close":13011.2,"tradeTurnover":6614.816,"open":12999.9},{"amount":0.486,"high":13073.8,"vol":486,"low":12911.9,"count":121,"id":1603663200,"close":12959.4,"tradeTurnover":6320.907,"open":12979.6},{"amount":0.452,"high":13085.2,"vol":452,"low":12927.8,"count":113,"id":1603666800,"close":13032.1,"tradeTurnover":5878.6442,"open":12963.4},{"amount":0.482,"high":13076.7,"vol":482,"low":12918.3,"count":121,"id":1603670400,"close":13001.0,"tradeTurnover":6263.698,"open":12964.2},{"amount":0.478,"high":13096.4,"vol":478,"low":12991.2,"count":124,"id":1603674000,"close":13053.7,"tradeTurnover":6232.2328,"open":13040.0},{"amount":0.488,"high":13185.7,"vol":488,"low":12985.1,"count":121,"id":1603677600,"close":13064.4,"tradeTurnover":6387.534,"open":13060.6},{"amount":0.486,"high":13187.2,"vol":486,"low":12984.1,"count":135,"id":1603681200,"close":13092.8,"tradeTurnover":6369.0272,"open":13032.3},{"amount":0.51,"high":13181.6,"vol":510,"low":12962.3,"count":131,"id":1603684800,"close":13132.6,"tradeTurnover":6679.829,"open":13092.0},{"amount":0.506,"high":13205.3,"vol":506,"low":13025.3,"count":126,"id":1603688400,"close":13092.1,"tradeTurnover":6641.2128,"open":13129.2},{"amount":1.616,"high":13188.1,"vol":1616,"low":12989.8,"count":141,"id":1603692000,"close":13071.4,"tradeTurnover":21170.8224,"open":13121.8},{"amount":3.746,"high":13100.0,"vol":3746,"low":12965.2,"count":110,"id":1603695600,"close":13038.7,"tradeTurnover":48924.8902,"open":13061.0},{"amount":8.966,"high":13102.0,"vol":8966,"low":12852.8,"count":173,"id":1603699200,"close":13039.3,"tradeTurnover":116525.5534,"open":13030.9},{"amount":4.48,"high":13088.4,"vol":4480,"low":13039.8,"count":124,"id":1603702800,"close":13075.9,"tradeTurnover":58521.1714,"open":13047.1},{"amount":4.272,"high":13100.0,"vol":4272,"low":13060.2,"count":130,"id":1603706400,"close":13100.0,"tradeTurnover":55895.9778,"open":13072.1},{"amount":29.798,"high":13159.0,"vol":29798,"low":13100.0,"count":230,"id":1603710000,"close":13138.4,"tradeTurnover":391138.024,"open":13100.0},{"amount":5.154,"high":13200.0,"vol":5154,"low":13100.0,"count":188,"id":1603713600,"close":13149.8,"tradeTurnover":67694.652,"open":13138.8},{"amount":35.608,"high":13351.5,"vol":35608,"low":13133.1,"count":328,"id":1603717200,"close":13205.8,"tradeTurnover":472780.3394,"open":13150.0},{"amount":31.748,"high":13280.0,"vol":31748,"low":13144.1,"count":235,"id":1603720800,"close":13166.1,"tradeTurnover":418744.5588,"open":13203.0},{"amount":36.53,"high":13165.2,"vol":36530,"low":12903.8,"count":384,"id":1603724400,"close":12978.0,"tradeTurnover":476940.3296,"open":13159.0},{"amount":35.018,"high":13069.8,"vol":35018,"low":12850.5,"count":323,"id":1603728000,"close":12869.6,"tradeTurnover":453288.918,"open":12965.0},{"amount":92.628,"high":12941.5,"vol":92628,"low":12583.9,"count":560,"id":1603731600,"close":12873.8,"tradeTurnover":1185973.467,"open":12879.2},{"amount":4.302,"high":12954.5,"vol":4302,"low":12820.4,"count":128,"id":1603735200,"close":12946.8,"tradeTurnover":55481.0054,"open":12856.2},{"amount":13.83,"high":12953.5,"vol":13830,"low":12914.1,"count":118,"id":1603738800,"close":12953.4,"tradeTurnover":179112.1598,"open":12945.6},{"amount":17.172,"high":13007.5,"vol":17172,"low":12953.5,"count":132,"id":1603742400,"close":12983.4,"tradeTurnover":223230.2122,"open":12953.5},{"amount":3.212,"high":13007.5,"vol":3212,"low":12982.7,"count":59,"id":1603746000,"close":12993.8,"tradeTurnover":41767.8906,"open":12983.1},{"amount":1.504,"high":13007.5,"vol":1504,"low":12974.0,"count":74,"id":1603749600,"close":13007.5,"tradeTurnover":19543.3568,"open":13002.1},{"amount":3.454,"high":13061.2,"vol":3454,"low":13007.5,"count":101,"id":1603753200,"close":13033.7,"tradeTurnover":45001.601,"open":13007.5},{"amount":8.784,"high":13105.0,"vol":8784,"low":13028.3,"count":98,"id":1603756800,"close":13067.1,"tradeTurnover":114871.8246,"open":13029.2},{"amount":11.592,"high":13074.4,"vol":11592,"low":13051.5,"count":66,"id":1603760400,"close":13061.7,"tradeTurnover":151386.9038,"open":13074.3},{"amount":19.298,"high":13097.6,"vol":19298,"low":13040.1,"count":109,"id":1603764000,"close":13049.7,"tradeTurnover":252061.019,"open":13061.7},{"amount":22.992,"high":13080.0,"vol":22992,"low":13057.1,"count":69,"id":1603767600,"close":13070.4,"tradeTurnover":300453.9788,"open":13057.6},{"amount":14.396,"high":13175.0,"vol":14396,"low":13079.6,"count":59,"id":1603771200,"close":13103.3,"tradeTurnover":188461.9156,"open":13080.0},{"amount":5.058,"high":13121.3,"vol":5058,"low":13069.7,"count":44,"id":1603774800,"close":13073.6,"tradeTurnover":66201.3552,"open":13121.3},{"amount":9.106,"high":13149.0,"vol":9106,"low":13069.6,"count":107,"id":1603778400,"close":13103.4,"tradeTurnover":119104.8906,"open":13074.9},{"amount":73.95,"high":13169.8,"vol":73950,"low":12992.4,"count":305,"id":1603782000,"close":13130.0,"tradeTurnover":968195.155,"open":13103.3},{"amount":18.732,"high":13148.4,"vol":18732,"low":13044.0,"count":135,"id":1603785600,"close":13123.8,"tradeTurnover":245533.5448,"open":13135.1},{"amount":13.756,"high":13131.8,"vol":13756,"low":13075.7,"count":102,"id":1603789200,"close":13131.7,"tradeTurnover":180253.7708,"open":13115.5},{"amount":154.108,"high":13252.0,"vol":154108,"low":13063.4,"count":525,"id":1603792800,"close":13216.9,"tradeTurnover":2029983.656,"open":13134.8},{"amount":170.09,"high":13590.1,"vol":170090,"low":13213.5,"count":591,"id":1603796400,"close":13395.8,"tradeTurnover":2276279.742,"open":13218.8},{"amount":48.928,"high":13414.0,"vol":48928,"low":13331.7,"count":216,"id":1603800000,"close":13376.9,"tradeTurnover":654585.9108,"open":13395.9},{"amount":63.294,"high":13490.9,"vol":63294,"low":13329.8,"count":316,"id":1603803600,"close":13384.3,"tradeTurnover":848130.9212,"open":13376.5},{"amount":12.892,"high":13415.8,"vol":12892,"low":13344.8,"count":124,"id":1603807200,"close":13398.2,"tradeTurnover":172618.6864,"open":13392.6},{"amount":93.22,"high":13626.7,"vol":93220,"low":13398.2,"count":476,"id":1603810800,"close":13598.5,"tradeTurnover":1262695.5466,"open":13398.2},{"amount":85.45,"high":13639.9,"vol":85450,"low":13520.2,"count":435,"id":1603814400,"close":13639.9,"tradeTurnover":1161481.4136,"open":13595.8},{"amount":191.812,"high":13826.7,"vol":191812,"low":13589.0,"count":711,"id":1603818000,"close":13688.1,"tradeTurnover":2628428.3788,"open":13640.0},{"amount":65.434,"high":13745.0,"vol":65434,"low":13528.2,"count":410,"id":1603821600,"close":13630.1,"tradeTurnover":891541.8394,"open":13685.0},{"amount":5.788,"high":13659.8,"vol":5788,"low":13595.4,"count":65,"id":1603825200,"close":13637.1,"tradeTurnover":78836.2578,"open":13629.4},{"amount":163.104,"high":13805.1,"vol":163104,"low":13582.6,"count":537,"id":1603828800,"close":13616.6,"tradeTurnover":2234040.3544,"open":13644.4},{"amount":9.884,"high":13753.5,"vol":9884,"low":13609.8,"count":101,"id":1603832400,"close":13705.5,"tradeTurnover":135406.4752,"open":13609.8},{"amount":7.436,"high":13739.9,"vol":7436,"low":13658.2,"count":100,"id":1603836000,"close":13739.9,"tradeTurnover":101840.3508,"open":13705.4},{"amount":17.086,"high":13794.6,"vol":17086,"low":13582.6,"count":234,"id":1603839600,"close":13649.6,"tradeTurnover":233971.8448,"open":13739.9},{"amount":24.108,"high":13745.2,"vol":24108,"low":13618.8,"count":177,"id":1603843200,"close":13701.7,"tradeTurnover":330206.5694,"open":13645.9},{"amount":15.892,"high":13725.6,"vol":15892,"low":13647.9,"count":151,"id":1603846800,"close":13702.6,"tradeTurnover":217816.7008,"open":13702.1},{"amount":46.548,"high":13832.2,"vol":46548,"low":13680.2,"count":274,"id":1603850400,"close":13811.6,"tradeTurnover":640636.0352,"open":13701.7},{"amount":67.896,"high":13820.3,"vol":67896,"low":13717.5,"count":320,"id":1603854000,"close":13777.0,"tradeTurnover":935838.2238,"open":13818.5},{"amount":33.156,"high":13807.2,"vol":33156,"low":13710.0,"count":210,"id":1603857600,"close":13735.7,"tradeTurnover":455941.234,"open":13767.3},{"amount":32.076,"high":13753.9,"vol":32076,"low":13671.3,"count":198,"id":1603861200,"close":13715.8,"tradeTurnover":439612.64,"open":13735.5},{"amount":14.756,"high":13757.0,"vol":14756,"low":13694.9,"count":122,"id":1603864800,"close":13701.3,"tradeTurnover":202602.5164,"open":13715.9},{"amount":155.534,"high":13708.7,"vol":155534,"low":13550.0,"count":635,"id":1603868400,"close":13674.2,"tradeTurnover":2117935.0928,"open":13701.2},{"amount":29.846,"high":13691.7,"vol":29846,"low":13584.0,"count":240,"id":1603872000,"close":13691.7,"tradeTurnover":407073.1398,"open":13673.0},{"amount":104.542,"high":13707.5,"vol":104542,"low":13573.5,"count":377,"id":1603875600,"close":13587.1,"tradeTurnover":1425079.9344,"open":13689.3},{"amount":73.818,"high":13618.0,"vol":73818,"low":13504.7,"count":358,"id":1603879200,"close":13552.7,"tradeTurnover":1001666.0908,"open":13584.6},{"amount":176.544,"high":13565.4,"vol":176544,"low":13330.0,"count":1004,"id":1603882800,"close":13336.4,"tradeTurnover":2369166.1492,"open":13552.6},{"amount":289.73,"high":13385.0,"vol":289730,"low":13173.9,"count":968,"id":1603886400,"close":13300.3,"tradeTurnover":3846751.7166,"open":13331.5},{"amount":139.822,"high":13340.0,"vol":139822,"low":13122.9,"count":612,"id":1603890000,"close":13129.9,"tradeTurnover":1848876.932,"open":13300.2},{"amount":367.876,"high":13168.2,"vol":367876,"low":12915.9,"count":1168,"id":1603893600,"close":13082.2,"tradeTurnover":4802516.9818,"open":13123.4},{"amount":84.044,"high":13235.2,"vol":84044,"low":13052.3,"count":375,"id":1603897200,"close":13221.2,"tradeTurnover":1106883.1282,"open":13077.1},{"amount":29.566,"high":13218.7,"vol":29566,"low":13050.0,"count":244,"id":1603900800,"close":13145.1,"tradeTurnover":388697.4104,"open":13218.7},{"amount":53.336,"high":13204.9,"vol":53336,"low":13006.6,"count":299,"id":1603904400,"close":13176.7,"tradeTurnover":700385.2784,"open":13145.1},{"amount":34.164,"high":13219.6,"vol":34164,"low":13131.0,"count":218,"id":1603908000,"close":13196.5,"tradeTurnover":450210.5778,"open":13171.0},{"amount":22.158,"high":13237.4,"vol":22158,"low":13145.0,"count":185,"id":1603911600,"close":13154.9,"tradeTurnover":292020.0438,"open":13200.0},{"amount":4.548,"high":13211.8,"vol":4548,"low":13147.4,"count":75,"id":1603915200,"close":13198.1,"tradeTurnover":59991.1118,"open":13154.5},{"amount":3.52,"high":13196.5,"vol":3520,"low":13100.2,"count":68,"id":1603918800,"close":13190.1,"tradeTurnover":46175.428,"open":13193.5},{"amount":3.122,"high":13267.5,"vol":3122,"low":13185.4,"count":72,"id":1603922400,"close":13252.0,"tradeTurnover":41304.2018,"open":13185.4},{"amount":14.768,"high":13282.3,"vol":14768,"low":13235.9,"count":86,"id":1603926000,"close":13265.9,"tradeTurnover":195689.0764,"open":13242.1},{"amount":19.968,"high":13294.7,"vol":19968,"low":13237.4,"count":98,"id":1603929600,"close":13245.1,"tradeTurnover":264834.1944,"open":13253.9},{"amount":35.282,"high":13285.3,"vol":35282,"low":13166.3,"count":192,"id":1603933200,"close":13274.2,"tradeTurnover":465789.6302,"open":13244.6},{"amount":9.748,"high":13277.7,"vol":9748,"low":13212.2,"count":119,"id":1603936800,"close":13241.1,"tradeTurnover":129016.0684,"open":13275.9},{"amount":27.3,"high":13262.5,"vol":27300,"low":13174.6,"count":199,"id":1603940400,"close":13262.5,"tradeTurnover":360589.8982,"open":13237.1},{"amount":18.904,"high":13277.7,"vol":18904,"low":13229.5,"count":109,"id":1603944000,"close":13229.5,"tradeTurnover":250713.2812,"open":13269.1},{"amount":15.822,"high":13274.8,"vol":15822,"low":13228.5,"count":134,"id":1603947600,"close":13274.8,"tradeTurnover":209781.909,"open":13228.5},{"amount":91.246,"high":13323.0,"vol":91246,"low":13242.3,"count":294,"id":1603951200,"close":13255.0,"tradeTurnover":1211271.2788,"open":13274.8},{"amount":187.622,"high":13269.3,"vol":187622,"low":13123.1,"count":506,"id":1603954800,"close":13142.4,"tradeTurnover":2478299.7074,"open":13255.0},{"amount":69.532,"high":13182.4,"vol":69532,"low":13094.1,"count":226,"id":1603958400,"close":13124.8,"tradeTurnover":914157.2418,"open":13145.9},{"amount":23.184,"high":13197.1,"vol":23184,"low":13129.5,"count":141,"id":1603962000,"close":13183.7,"tradeTurnover":305485.9524,"open":13129.5},{"amount":121.146,"high":13187.5,"vol":121146,"low":13053.1,"count":442,"id":1603965600,"close":13105.2,"tradeTurnover":1590026.4416,"open":13184.8},{"amount":47.498,"high":13171.4,"vol":47498,"low":13060.1,"count":262,"id":1603969200,"close":13060.1,"tradeTurnover":623578.149,"open":13105.1},{"amount":126.552,"high":13145.8,"vol":126552,"low":12977.9,"count":481,"id":1603972800,"close":13131.8,"tradeTurnover":1652549.311,"open":13056.9},{"amount":100.482,"high":13237.2,"vol":100482,"low":13102.0,"count":325,"id":1603976400,"close":13230.0,"tradeTurnover":1326403.7206,"open":13131.7},{"amount":253.258,"high":13476.1,"vol":253258,"low":13231.0,"count":752,"id":1603980000,"close":13420.8,"tradeTurnover":3384941.438,"open":13231.0},{"amount":64.71,"high":13458.7,"vol":64710,"low":13358.7,"count":269,"id":1603983600,"close":13420.6,"tradeTurnover":869052.3804,"open":13416.0},{"amount":120.24,"high":13594.5,"vol":120240,"low":13391.8,"count":570,"id":1603987200,"close":13535.9,"tradeTurnover":1626567.8278,"open":13421.9}],"id":"","rep":"market.BTC-USDT.kline.60min","status":"ok"} +2024-01-18 11:13:05.175 [DEBUG] [WebSocketConnectReadThread-12] [com.huobi.wss.handle.WssMarketReqHandle.dealPing:129] - 发送pong:{"pong":1705547585175} +2024-01-18 11:13:05.913 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:39] - 请求 KLine 数据用户收到的原始数据:{"id":"","rep":"market.BTC-USDT.kline.60min","ts":1705547584822,"wsid":19750305,"status":"ok","data":[{"id":1603270800,"open":12198.0,"close":12196.7,"high":12300.0,"low":11715.8,"amount":0.276,"vol":276,"trade_turnover":3315.9104,"count":39},{"id":1603274400,"open":12196.7,"close":12277.9,"high":12289.9,"low":12111.0,"amount":0.198,"vol":198,"trade_turnover":2420.7728,"count":21},{"id":1603278000,"open":12111.0,"close":12000.0,"high":12277.9,"low":12000.0,"amount":0.012,"vol":12,"trade_turnover":145.2238,"count":5},{"id":1603281600,"open":12078.0,"close":12497.4,"high":12498.0,"low":12078.0,"amount":0.084,"vol":84,"trade_turnover":1040.0504,"count":12},{"id":1603285200,"open":12495.6,"close":12373.5,"high":12495.6,"low":12282.9,"amount":1.122,"vol":1122,"trade_turnover":13905.3124,"count":112},{"id":1603288800,"open":12412.9,"close":12689.9,"high":12807.6,"low":12358.1,"amount":5.29,"vol":5290,"trade_turnover":66852.128,"count":155},{"id":1603292400,"open":12692.8,"close":12701.9,"high":12778.7,"low":12573.2,"amount":1.174,"vol":1174,"trade_turnover":14907.367,"count":113},{"id":1603296000,"open":12679.7,"close":12835.9,"high":12920.9,"low":12624.8,"amount":1.156,"vol":1156,"trade_turnover":14802.449,"count":115},{"id":1603299600,"open":12848.3,"close":12754.2,"high":12908.3,"low":12687.5,"amount":1.12,"vol":1120,"trade_turnover":14345.7324,"count":115},{"id":1603303200,"open":12743.7,"close":12740.2,"high":12849.0,"low":12668.3,"amount":1.106,"vol":1106,"trade_turnover":14105.3504,"count":114},{"id":1603306800,"open":12729.5,"close":12650.3,"high":12843.1,"low":12597.2,"amount":1.032,"vol":1032,"trade_turnover":13125.4568,"count":112},{"id":1603310400,"open":12666.8,"close":12807.0,"high":12848.4,"low":12610.2,"amount":1.154,"vol":1154,"trade_turnover":14680.638,"count":116},{"id":1603314000,"open":12866.0,"close":12938.9,"high":13005.1,"low":12748.2,"amount":1.164,"vol":1164,"trade_turnover":14976.9366,"count":114},{"id":1603317600,"open":12921.0,"close":13122.0,"high":13211.2,"low":12865.7,"amount":1.174,"vol":1174,"trade_turnover":15285.2446,"count":114},{"id":1603321200,"open":13153.2,"close":12829.8,"high":13173.2,"low":12688.6,"amount":1.172,"vol":1172,"trade_turnover":15060.9938,"count":117},{"id":1603324800,"open":12793.1,"close":12885.9,"high":12988.1,"low":12764.4,"amount":1.17,"vol":1170,"trade_turnover":15046.2046,"count":117},{"id":1603328400,"open":12860.4,"close":12757.5,"high":12972.6,"low":12757.5,"amount":1.158,"vol":1158,"trade_turnover":14882.4656,"count":118},{"id":1603332000,"open":12824.1,"close":12788.8,"high":12848.0,"low":12729.0,"amount":1.124,"vol":1124,"trade_turnover":14368.7948,"count":115},{"id":1603335600,"open":12791.7,"close":12767.2,"high":12834.4,"low":12729.0,"amount":1.194,"vol":1194,"trade_turnover":15268.9298,"count":111},{"id":1603339200,"open":12729.0,"close":12762.2,"high":12778.3,"low":12729.0,"amount":1.152,"vol":1152,"trade_turnover":14695.4876,"count":115},{"id":1603342800,"open":12763.1,"close":12813.8,"high":12842.0,"low":12730.6,"amount":1.21,"vol":1210,"trade_turnover":15440.8162,"count":119},{"id":1603346400,"open":12795.0,"close":12729.1,"high":12795.0,"low":12728.0,"amount":1.188,"vol":1188,"trade_turnover":15128.0098,"count":123},{"id":1603350000,"open":12728.6,"close":12730.6,"high":12730.6,"low":12728.3,"amount":1.266,"vol":1266,"trade_turnover":16115.1306,"count":112},{"id":1603353600,"open":12730.3,"close":12770.1,"high":12921.5,"low":12729.9,"amount":1.35,"vol":1350,"trade_turnover":17233.7326,"count":127},{"id":1603357200,"open":12824.9,"close":12780.4,"high":12872.1,"low":12760.1,"amount":0.98,"vol":980,"trade_turnover":12553.9826,"count":99},{"id":1603360800,"open":12784.9,"close":12934.2,"high":13002.7,"low":12775.6,"amount":0.266,"vol":266,"trade_turnover":3415.023,"count":30},{"id":1603364400,"open":12977.0,"close":13045.0,"high":13057.0,"low":12886.6,"amount":1.004,"vol":1004,"trade_turnover":13020.8576,"count":117},{"id":1603368000,"open":12958.5,"close":12847.9,"high":12973.4,"low":12751.6,"amount":1.134,"vol":1134,"trade_turnover":14594.2752,"count":111},{"id":1603371600,"open":12882.7,"close":12931.0,"high":13000.8,"low":12743.0,"amount":1.152,"vol":1152,"trade_turnover":14877.7314,"count":114},{"id":1603375200,"open":12890.4,"close":12917.8,"high":12995.3,"low":12783.9,"amount":1.182,"vol":1182,"trade_turnover":15224.4716,"count":115},{"id":1603378800,"open":12918.8,"close":12953.0,"high":13031.2,"low":12817.9,"amount":1.176,"vol":1176,"trade_turnover":15197.208,"count":117},{"id":1603382400,"open":12923.1,"close":13055.6,"high":13100.2,"low":12865.6,"amount":1.146,"vol":1146,"trade_turnover":14851.9604,"count":119},{"id":1603386000,"open":12967.6,"close":13082.7,"high":13105.7,"low":12835.5,"amount":1.534,"vol":1534,"trade_turnover":19927.8288,"count":124},{"id":1603389600,"open":13020.4,"close":13016.4,"high":13115.0,"low":12938.7,"amount":1.268,"vol":1268,"trade_turnover":16505.4738,"count":117},{"id":1603393200,"open":13028.3,"close":12970.6,"high":13171.2,"low":12961.8,"amount":1.13,"vol":1130,"trade_turnover":14762.952,"count":112},{"id":1603396800,"open":13016.7,"close":13089.3,"high":13216.1,"low":12998.5,"amount":1.206,"vol":1206,"trade_turnover":15807.1226,"count":117},{"id":1603400400,"open":13136.0,"close":13092.0,"high":13203.7,"low":12932.9,"amount":1.332,"vol":1332,"trade_turnover":17423.4422,"count":114},{"id":1603404000,"open":13119.4,"close":13055.9,"high":13250.5,"low":12984.7,"amount":1.21,"vol":1210,"trade_turnover":15876.0632,"count":114},{"id":1603407600,"open":13059.4,"close":12890.4,"high":13126.5,"low":12857.2,"amount":1.286,"vol":1286,"trade_turnover":16688.422,"count":116},{"id":1603411200,"open":12929.7,"close":12892.2,"high":12994.0,"low":12751.6,"amount":1.502,"vol":1502,"trade_turnover":19331.1596,"count":131},{"id":1603414800,"open":12921.7,"close":12898.3,"high":13003.2,"low":12786.0,"amount":1.386,"vol":1386,"trade_turnover":17904.8902,"count":121},{"id":1603418400,"open":12951.6,"close":12975.1,"high":13054.0,"low":12800.7,"amount":1.416,"vol":1416,"trade_turnover":18306.6204,"count":122},{"id":1603422000,"open":12967.3,"close":12947.0,"high":13030.7,"low":12875.0,"amount":1.19,"vol":1190,"trade_turnover":15409.7984,"count":118},{"id":1603425600,"open":12925.2,"close":12852.0,"high":13047.3,"low":12832.8,"amount":1.022,"vol":1022,"trade_turnover":13214.4388,"count":127},{"id":1603429200,"open":12859.0,"close":12931.1,"high":12991.7,"low":12841.2,"amount":0.478,"vol":478,"trade_turnover":6180.2486,"count":118},{"id":1603432800,"open":12935.9,"close":12939.6,"high":13014.1,"low":12871.9,"amount":0.522,"vol":522,"trade_turnover":6759.0324,"count":132},{"id":1603436400,"open":12923.1,"close":12925.4,"high":12998.9,"low":12917.1,"amount":0.476,"vol":476,"trade_turnover":6163.3118,"count":118},{"id":1603440000,"open":12942.2,"close":12962.6,"high":13014.0,"low":12916.1,"amount":0.508,"vol":508,"trade_turnover":6585.3656,"count":122},{"id":1603443600,"open":12970.5,"close":12926.4,"high":13012.5,"low":12909.9,"amount":0.564,"vol":564,"trade_turnover":7308.8828,"count":124},{"id":1603447200,"open":13001.2,"close":13007.7,"high":13059.5,"low":12925.7,"amount":0.536,"vol":536,"trade_turnover":6957.8796,"count":124},{"id":1603450800,"open":13025.4,"close":12970.6,"high":13078.4,"low":12906.5,"amount":0.486,"vol":486,"trade_turnover":6326.1434,"count":122},{"id":1603454400,"open":12963.9,"close":12935.4,"high":13025.0,"low":12850.8,"amount":0.494,"vol":494,"trade_turnover":6396.0984,"count":117},{"id":1603458000,"open":12913.3,"close":12951.7,"high":13043.3,"low":12911.0,"amount":0.466,"vol":466,"trade_turnover":6049.1412,"count":117},{"id":1603461600,"open":12999.6,"close":12858.8,"high":13006.4,"low":12840.4,"amount":0.46,"vol":460,"trade_turnover":5941.815,"count":116},{"id":1603465200,"open":12885.7,"close":12881.9,"high":12932.9,"low":12826.5,"amount":0.492,"vol":492,"trade_turnover":6340.214,"count":117},{"id":1603468800,"open":12854.4,"close":12784.1,"high":12933.5,"low":12744.4,"amount":0.484,"vol":484,"trade_turnover":6205.4138,"count":123},{"id":1603472400,"open":12832.3,"close":12847.7,"high":12893.1,"low":12730.1,"amount":0.562,"vol":562,"trade_turnover":7218.9184,"count":152},{"id":1603476000,"open":12874.1,"close":12915.7,"high":12939.3,"low":12751.4,"amount":0.53,"vol":530,"trade_turnover":6825.7004,"count":128},{"id":1603479600,"open":12867.9,"close":12972.9,"high":12972.9,"low":12786.6,"amount":0.444,"vol":444,"trade_turnover":5727.7452,"count":117},{"id":1603483200,"open":12956.7,"close":12991.6,"high":13002.2,"low":12842.9,"amount":0.492,"vol":492,"trade_turnover":6375.1566,"count":116},{"id":1603486800,"open":13004.3,"close":12943.5,"high":13004.3,"low":12936.6,"amount":0.5,"vol":500,"trade_turnover":6485.468,"count":125},{"id":1603490400,"open":12923.6,"close":12989.2,"high":13010.3,"low":12884.7,"amount":0.492,"vol":492,"trade_turnover":6376.1492,"count":120},{"id":1603494000,"open":12974.9,"close":12884.6,"high":13024.4,"low":12884.6,"amount":0.51,"vol":510,"trade_turnover":6622.3406,"count":121},{"id":1603497600,"open":12973.7,"close":12953.9,"high":13018.3,"low":12811.1,"amount":0.488,"vol":488,"trade_turnover":6317.7938,"count":120},{"id":1603501200,"open":12927.5,"close":12934.2,"high":13018.1,"low":12872.8,"amount":0.482,"vol":482,"trade_turnover":6242.4178,"count":117},{"id":1603504800,"open":12971.9,"close":12989.1,"high":13003.9,"low":12903.3,"amount":0.484,"vol":484,"trade_turnover":6278.1756,"count":117},{"id":1603508400,"open":13000.1,"close":12975.9,"high":13013.4,"low":12938.3,"amount":0.474,"vol":474,"trade_turnover":6157.7096,"count":122},{"id":1603512000,"open":12989.7,"close":12963.3,"high":13009.4,"low":12905.5,"amount":0.526,"vol":526,"trade_turnover":6831.5658,"count":124},{"id":1603515600,"open":12910.5,"close":12989.7,"high":13041.8,"low":12875.3,"amount":0.522,"vol":522,"trade_turnover":6768.8994,"count":127},{"id":1603519200,"open":12994.7,"close":13003.6,"high":13058.1,"low":12908.8,"amount":0.49,"vol":490,"trade_turnover":6370.5714,"count":120},{"id":1603522800,"open":13011.9,"close":13004.2,"high":13037.8,"low":12981.7,"amount":0.478,"vol":478,"trade_turnover":6218.9722,"count":120},{"id":1603526400,"open":13003.0,"close":12998.2,"high":13030.6,"low":12899.4,"amount":0.52,"vol":520,"trade_turnover":6754.958,"count":124},{"id":1603530000,"open":12998.2,"close":12990.6,"high":13020.3,"low":12893.6,"amount":0.454,"vol":454,"trade_turnover":5891.0574,"count":115},{"id":1603533600,"open":12996.4,"close":13030.1,"high":13059.1,"low":12913.2,"amount":0.502,"vol":502,"trade_turnover":6525.9004,"count":124},{"id":1603537200,"open":12988.4,"close":13033.2,"high":13068.3,"low":12940.2,"amount":0.468,"vol":468,"trade_turnover":6091.0376,"count":119},{"id":1603540800,"open":13035.3,"close":13006.5,"high":13071.8,"low":12978.9,"amount":0.468,"vol":468,"trade_turnover":6102.5902,"count":123},{"id":1603544400,"open":13038.8,"close":12985.9,"high":13066.7,"low":12928.1,"amount":0.534,"vol":534,"trade_turnover":6950.4268,"count":123},{"id":1603548000,"open":12986.3,"close":13042.0,"high":13100.1,"low":12960.5,"amount":0.47,"vol":470,"trade_turnover":6124.2178,"count":100},{"id":1603551600,"open":13038.4,"close":13102.2,"high":13196.5,"low":13038.4,"amount":0.456,"vol":456,"trade_turnover":5989.6362,"count":120},{"id":1603555200,"open":13136.8,"close":13052.7,"high":13176.6,"low":12984.6,"amount":0.458,"vol":458,"trade_turnover":5976.331,"count":121},{"id":1603558800,"open":13006.2,"close":13177.8,"high":13177.8,"low":13003.2,"amount":0.452,"vol":452,"trade_turnover":5911.7058,"count":118},{"id":1603562400,"open":13127.7,"close":13080.8,"high":13170.7,"low":13023.0,"amount":0.468,"vol":468,"trade_turnover":6122.375,"count":119},{"id":1603566000,"open":13040.7,"close":13148.4,"high":13179.3,"low":13014.2,"amount":0.468,"vol":468,"trade_turnover":6126.4278,"count":120},{"id":1603569600,"open":13073.5,"close":13090.1,"high":13179.6,"low":12992.5,"amount":0.47,"vol":470,"trade_turnover":6151.4758,"count":119},{"id":1603573200,"open":13035.4,"close":12993.9,"high":13148.7,"low":12980.7,"amount":0.458,"vol":458,"trade_turnover":5981.071,"count":117},{"id":1603576800,"open":13040.7,"close":13041.1,"high":13112.1,"low":12975.6,"amount":0.478,"vol":478,"trade_turnover":6225.4216,"count":118},{"id":1603580400,"open":13012.6,"close":13184.3,"high":13184.3,"low":13009.3,"amount":0.472,"vol":472,"trade_turnover":6173.4244,"count":118},{"id":1603584000,"open":13080.8,"close":13154.3,"high":13170.4,"low":13007.7,"amount":0.46,"vol":460,"trade_turnover":6024.09,"count":115},{"id":1603587600,"open":13092.0,"close":13196.1,"high":13196.8,"low":13024.0,"amount":0.398,"vol":398,"trade_turnover":5217.5364,"count":102},{"id":1603591200,"open":13124.7,"close":13082.4,"high":13175.1,"low":13035.0,"amount":0.476,"vol":476,"trade_turnover":6228.6596,"count":120},{"id":1603594800,"open":13049.1,"close":13259.0,"high":13383.8,"low":13049.1,"amount":0.578,"vol":578,"trade_turnover":7629.3886,"count":137},{"id":1603598400,"open":13277.0,"close":13243.4,"high":13369.0,"low":13216.0,"amount":0.47,"vol":470,"trade_turnover":6247.955,"count":122},{"id":1603602000,"open":13285.3,"close":13017.3,"high":13353.3,"low":13010.1,"amount":0.61,"vol":610,"trade_turnover":8048.8598,"count":134},{"id":1603605600,"open":13022.5,"close":13060.3,"high":13105.7,"low":13018.2,"amount":0.486,"vol":486,"trade_turnover":6344.1474,"count":118},{"id":1603609200,"open":13048.5,"close":13078.1,"high":13112.1,"low":13022.0,"amount":0.464,"vol":464,"trade_turnover":6061.5416,"count":120},{"id":1603612800,"open":13077.2,"close":13046.0,"high":13091.0,"low":13017.2,"amount":0.464,"vol":464,"trade_turnover":6055.3734,"count":120},{"id":1603616400,"open":13065.1,"close":13040.8,"high":13084.0,"low":13014.2,"amount":0.478,"vol":478,"trade_turnover":6235.7882,"count":117},{"id":1603620000,"open":13047.1,"close":13028.5,"high":13064.2,"low":13010.2,"amount":0.478,"vol":478,"trade_turnover":6232.2428,"count":125},{"id":1603623600,"open":13061.5,"close":12897.6,"high":13061.5,"low":12852.9,"amount":0.534,"vol":534,"trade_turnover":6918.1226,"count":123},{"id":1603627200,"open":12908.3,"close":12964.3,"high":13069.7,"low":12893.2,"amount":0.444,"vol":444,"trade_turnover":5755.8712,"count":117},{"id":1603630800,"open":13001.3,"close":12949.3,"high":13071.9,"low":12891.8,"amount":0.498,"vol":498,"trade_turnover":6465.078,"count":119},{"id":1603634400,"open":12975.8,"close":12946.8,"high":13077.7,"low":12900.0,"amount":0.468,"vol":468,"trade_turnover":6075.4554,"count":116},{"id":1603638000,"open":12975.2,"close":12883.3,"high":13069.1,"low":12883.3,"amount":0.47,"vol":470,"trade_turnover":6097.1072,"count":119},{"id":1603641600,"open":12916.2,"close":12978.7,"high":13067.9,"low":12877.5,"amount":0.482,"vol":482,"trade_turnover":6256.4472,"count":118},{"id":1603645200,"open":13008.0,"close":13004.4,"high":13087.5,"low":12922.7,"amount":0.47,"vol":470,"trade_turnover":6108.3892,"count":117},{"id":1603648800,"open":12972.8,"close":12957.2,"high":13067.6,"low":12893.6,"amount":0.468,"vol":468,"trade_turnover":6079.1484,"count":118},{"id":1603652400,"open":12996.5,"close":13021.8,"high":13066.9,"low":12916.6,"amount":0.442,"vol":442,"trade_turnover":5746.5548,"count":118},{"id":1603656000,"open":12992.9,"close":12985.4,"high":13081.5,"low":12944.9,"amount":0.508,"vol":508,"trade_turnover":6616.9872,"count":120},{"id":1603659600,"open":12999.9,"close":13011.2,"high":13068.6,"low":12921.4,"amount":0.508,"vol":508,"trade_turnover":6614.816,"count":122},{"id":1603663200,"open":12979.6,"close":12959.4,"high":13073.8,"low":12911.9,"amount":0.486,"vol":486,"trade_turnover":6320.907,"count":121},{"id":1603666800,"open":12963.4,"close":13032.1,"high":13085.2,"low":12927.8,"amount":0.452,"vol":452,"trade_turnover":5878.6442,"count":113},{"id":1603670400,"open":12964.2,"close":13001.0,"high":13076.7,"low":12918.3,"amount":0.482,"vol":482,"trade_turnover":6263.698,"count":121},{"id":1603674000,"open":13040.0,"close":13053.7,"high":13096.4,"low":12991.2,"amount":0.478,"vol":478,"trade_turnover":6232.2328,"count":124},{"id":1603677600,"open":13060.6,"close":13064.4,"high":13185.7,"low":12985.1,"amount":0.488,"vol":488,"trade_turnover":6387.534,"count":121},{"id":1603681200,"open":13032.3,"close":13092.8,"high":13187.2,"low":12984.1,"amount":0.486,"vol":486,"trade_turnover":6369.0272,"count":135},{"id":1603684800,"open":13092.0,"close":13132.6,"high":13181.6,"low":12962.3,"amount":0.51,"vol":510,"trade_turnover":6679.829,"count":131},{"id":1603688400,"open":13129.2,"close":13092.1,"high":13205.3,"low":13025.3,"amount":0.506,"vol":506,"trade_turnover":6641.2128,"count":126},{"id":1603692000,"open":13121.8,"close":13071.4,"high":13188.1,"low":12989.8,"amount":1.616,"vol":1616,"trade_turnover":21170.8224,"count":141},{"id":1603695600,"open":13061.0,"close":13038.7,"high":13100.0,"low":12965.2,"amount":3.746,"vol":3746,"trade_turnover":48924.8902,"count":110},{"id":1603699200,"open":13030.9,"close":13039.3,"high":13102.0,"low":12852.8,"amount":8.966,"vol":8966,"trade_turnover":116525.5534,"count":173},{"id":1603702800,"open":13047.1,"close":13075.9,"high":13088.4,"low":13039.8,"amount":4.48,"vol":4480,"trade_turnover":58521.1714,"count":124},{"id":1603706400,"open":13072.1,"close":13100.0,"high":13100.0,"low":13060.2,"amount":4.272,"vol":4272,"trade_turnover":55895.9778,"count":130},{"id":1603710000,"open":13100.0,"close":13138.4,"high":13159.0,"low":13100.0,"amount":29.798,"vol":29798,"trade_turnover":391138.024,"count":230},{"id":1603713600,"open":13138.8,"close":13149.8,"high":13200.0,"low":13100.0,"amount":5.154,"vol":5154,"trade_turnover":67694.652,"count":188},{"id":1603717200,"open":13150.0,"close":13205.8,"high":13351.5,"low":13133.1,"amount":35.608,"vol":35608,"trade_turnover":472780.3394,"count":328},{"id":1603720800,"open":13203.0,"close":13166.1,"high":13280.0,"low":13144.1,"amount":31.748,"vol":31748,"trade_turnover":418744.5588,"count":235},{"id":1603724400,"open":13159.0,"close":12978.0,"high":13165.2,"low":12903.8,"amount":36.53,"vol":36530,"trade_turnover":476940.3296,"count":384},{"id":1603728000,"open":12965.0,"close":12869.6,"high":13069.8,"low":12850.5,"amount":35.018,"vol":35018,"trade_turnover":453288.918,"count":323},{"id":1603731600,"open":12879.2,"close":12873.8,"high":12941.5,"low":12583.9,"amount":92.628,"vol":92628,"trade_turnover":1185973.467,"count":560},{"id":1603735200,"open":12856.2,"close":12946.8,"high":12954.5,"low":12820.4,"amount":4.302,"vol":4302,"trade_turnover":55481.0054,"count":128},{"id":1603738800,"open":12945.6,"close":12953.4,"high":12953.5,"low":12914.1,"amount":13.83,"vol":13830,"trade_turnover":179112.1598,"count":118},{"id":1603742400,"open":12953.5,"close":12983.4,"high":13007.5,"low":12953.5,"amount":17.172,"vol":17172,"trade_turnover":223230.2122,"count":132},{"id":1603746000,"open":12983.1,"close":12993.8,"high":13007.5,"low":12982.7,"amount":3.212,"vol":3212,"trade_turnover":41767.8906,"count":59},{"id":1603749600,"open":13002.1,"close":13007.5,"high":13007.5,"low":12974.0,"amount":1.504,"vol":1504,"trade_turnover":19543.3568,"count":74},{"id":1603753200,"open":13007.5,"close":13033.7,"high":13061.2,"low":13007.5,"amount":3.454,"vol":3454,"trade_turnover":45001.601,"count":101},{"id":1603756800,"open":13029.2,"close":13067.1,"high":13105.0,"low":13028.3,"amount":8.784,"vol":8784,"trade_turnover":114871.8246,"count":98},{"id":1603760400,"open":13074.3,"close":13061.7,"high":13074.4,"low":13051.5,"amount":11.592,"vol":11592,"trade_turnover":151386.9038,"count":66},{"id":1603764000,"open":13061.7,"close":13049.7,"high":13097.6,"low":13040.1,"amount":19.298,"vol":19298,"trade_turnover":252061.019,"count":109},{"id":1603767600,"open":13057.6,"close":13070.4,"high":13080.0,"low":13057.1,"amount":22.992,"vol":22992,"trade_turnover":300453.9788,"count":69},{"id":1603771200,"open":13080.0,"close":13103.3,"high":13175.0,"low":13079.6,"amount":14.396,"vol":14396,"trade_turnover":188461.9156,"count":59},{"id":1603774800,"open":13121.3,"close":13073.6,"high":13121.3,"low":13069.7,"amount":5.058,"vol":5058,"trade_turnover":66201.3552,"count":44},{"id":1603778400,"open":13074.9,"close":13103.4,"high":13149.0,"low":13069.6,"amount":9.106,"vol":9106,"trade_turnover":119104.8906,"count":107},{"id":1603782000,"open":13103.3,"close":13130.0,"high":13169.8,"low":12992.4,"amount":73.95,"vol":73950,"trade_turnover":968195.155,"count":305},{"id":1603785600,"open":13135.1,"close":13123.8,"high":13148.4,"low":13044.0,"amount":18.732,"vol":18732,"trade_turnover":245533.5448,"count":135},{"id":1603789200,"open":13115.5,"close":13131.7,"high":13131.8,"low":13075.7,"amount":13.756,"vol":13756,"trade_turnover":180253.7708,"count":102},{"id":1603792800,"open":13134.8,"close":13216.9,"high":13252.0,"low":13063.4,"amount":154.108,"vol":154108,"trade_turnover":2029983.656,"count":525},{"id":1603796400,"open":13218.8,"close":13395.8,"high":13590.1,"low":13213.5,"amount":170.09,"vol":170090,"trade_turnover":2276279.742,"count":591},{"id":1603800000,"open":13395.9,"close":13376.9,"high":13414.0,"low":13331.7,"amount":48.928,"vol":48928,"trade_turnover":654585.9108,"count":216},{"id":1603803600,"open":13376.5,"close":13384.3,"high":13490.9,"low":13329.8,"amount":63.294,"vol":63294,"trade_turnover":848130.9212,"count":316},{"id":1603807200,"open":13392.6,"close":13398.2,"high":13415.8,"low":13344.8,"amount":12.892,"vol":12892,"trade_turnover":172618.6864,"count":124},{"id":1603810800,"open":13398.2,"close":13598.5,"high":13626.7,"low":13398.2,"amount":93.22,"vol":93220,"trade_turnover":1262695.5466,"count":476},{"id":1603814400,"open":13595.8,"close":13639.9,"high":13639.9,"low":13520.2,"amount":85.45,"vol":85450,"trade_turnover":1161481.4136,"count":435},{"id":1603818000,"open":13640.0,"close":13688.1,"high":13826.7,"low":13589.0,"amount":191.812,"vol":191812,"trade_turnover":2628428.3788,"count":711},{"id":1603821600,"open":13685.0,"close":13630.1,"high":13745.0,"low":13528.2,"amount":65.434,"vol":65434,"trade_turnover":891541.8394,"count":410},{"id":1603825200,"open":13629.4,"close":13637.1,"high":13659.8,"low":13595.4,"amount":5.788,"vol":5788,"trade_turnover":78836.2578,"count":65},{"id":1603828800,"open":13644.4,"close":13616.6,"high":13805.1,"low":13582.6,"amount":163.104,"vol":163104,"trade_turnover":2234040.3544,"count":537},{"id":1603832400,"open":13609.8,"close":13705.5,"high":13753.5,"low":13609.8,"amount":9.884,"vol":9884,"trade_turnover":135406.4752,"count":101},{"id":1603836000,"open":13705.4,"close":13739.9,"high":13739.9,"low":13658.2,"amount":7.436,"vol":7436,"trade_turnover":101840.3508,"count":100},{"id":1603839600,"open":13739.9,"close":13649.6,"high":13794.6,"low":13582.6,"amount":17.086,"vol":17086,"trade_turnover":233971.8448,"count":234},{"id":1603843200,"open":13645.9,"close":13701.7,"high":13745.2,"low":13618.8,"amount":24.108,"vol":24108,"trade_turnover":330206.5694,"count":177},{"id":1603846800,"open":13702.1,"close":13702.6,"high":13725.6,"low":13647.9,"amount":15.892,"vol":15892,"trade_turnover":217816.7008,"count":151},{"id":1603850400,"open":13701.7,"close":13811.6,"high":13832.2,"low":13680.2,"amount":46.548,"vol":46548,"trade_turnover":640636.0352,"count":274},{"id":1603854000,"open":13818.5,"close":13777.0,"high":13820.3,"low":13717.5,"amount":67.896,"vol":67896,"trade_turnover":935838.2238,"count":320},{"id":1603857600,"open":13767.3,"close":13735.7,"high":13807.2,"low":13710.0,"amount":33.156,"vol":33156,"trade_turnover":455941.234,"count":210},{"id":1603861200,"open":13735.5,"close":13715.8,"high":13753.9,"low":13671.3,"amount":32.076,"vol":32076,"trade_turnover":439612.64,"count":198},{"id":1603864800,"open":13715.9,"close":13701.3,"high":13757.0,"low":13694.9,"amount":14.756,"vol":14756,"trade_turnover":202602.5164,"count":122},{"id":1603868400,"open":13701.2,"close":13674.2,"high":13708.7,"low":13550.0,"amount":155.534,"vol":155534,"trade_turnover":2117935.0928,"count":635},{"id":1603872000,"open":13673.0,"close":13691.7,"high":13691.7,"low":13584.0,"amount":29.846,"vol":29846,"trade_turnover":407073.1398,"count":240},{"id":1603875600,"open":13689.3,"close":13587.1,"high":13707.5,"low":13573.5,"amount":104.542,"vol":104542,"trade_turnover":1425079.9344,"count":377},{"id":1603879200,"open":13584.6,"close":13552.7,"high":13618.0,"low":13504.7,"amount":73.818,"vol":73818,"trade_turnover":1001666.0908,"count":358},{"id":1603882800,"open":13552.6,"close":13336.4,"high":13565.4,"low":13330.0,"amount":176.544,"vol":176544,"trade_turnover":2369166.1492,"count":1004},{"id":1603886400,"open":13331.5,"close":13300.3,"high":13385.0,"low":13173.9,"amount":289.73,"vol":289730,"trade_turnover":3846751.7166,"count":968},{"id":1603890000,"open":13300.2,"close":13129.9,"high":13340.0,"low":13122.9,"amount":139.822,"vol":139822,"trade_turnover":1848876.932,"count":612},{"id":1603893600,"open":13123.4,"close":13082.2,"high":13168.2,"low":12915.9,"amount":367.876,"vol":367876,"trade_turnover":4802516.9818,"count":1168},{"id":1603897200,"open":13077.1,"close":13221.2,"high":13235.2,"low":13052.3,"amount":84.044,"vol":84044,"trade_turnover":1106883.1282,"count":375},{"id":1603900800,"open":13218.7,"close":13145.1,"high":13218.7,"low":13050.0,"amount":29.566,"vol":29566,"trade_turnover":388697.4104,"count":244},{"id":1603904400,"open":13145.1,"close":13176.7,"high":13204.9,"low":13006.6,"amount":53.336,"vol":53336,"trade_turnover":700385.2784,"count":299},{"id":1603908000,"open":13171.0,"close":13196.5,"high":13219.6,"low":13131.0,"amount":34.164,"vol":34164,"trade_turnover":450210.5778,"count":218},{"id":1603911600,"open":13200.0,"close":13154.9,"high":13237.4,"low":13145.0,"amount":22.158,"vol":22158,"trade_turnover":292020.0438,"count":185},{"id":1603915200,"open":13154.5,"close":13198.1,"high":13211.8,"low":13147.4,"amount":4.548,"vol":4548,"trade_turnover":59991.1118,"count":75},{"id":1603918800,"open":13193.5,"close":13190.1,"high":13196.5,"low":13100.2,"amount":3.52,"vol":3520,"trade_turnover":46175.428,"count":68},{"id":1603922400,"open":13185.4,"close":13252.0,"high":13267.5,"low":13185.4,"amount":3.122,"vol":3122,"trade_turnover":41304.2018,"count":72},{"id":1603926000,"open":13242.1,"close":13265.9,"high":13282.3,"low":13235.9,"amount":14.768,"vol":14768,"trade_turnover":195689.0764,"count":86},{"id":1603929600,"open":13253.9,"close":13245.1,"high":13294.7,"low":13237.4,"amount":19.968,"vol":19968,"trade_turnover":264834.1944,"count":98},{"id":1603933200,"open":13244.6,"close":13274.2,"high":13285.3,"low":13166.3,"amount":35.282,"vol":35282,"trade_turnover":465789.6302,"count":192},{"id":1603936800,"open":13275.9,"close":13241.1,"high":13277.7,"low":13212.2,"amount":9.748,"vol":9748,"trade_turnover":129016.0684,"count":119},{"id":1603940400,"open":13237.1,"close":13262.5,"high":13262.5,"low":13174.6,"amount":27.3,"vol":27300,"trade_turnover":360589.8982,"count":199},{"id":1603944000,"open":13269.1,"close":13229.5,"high":13277.7,"low":13229.5,"amount":18.904,"vol":18904,"trade_turnover":250713.2812,"count":109},{"id":1603947600,"open":13228.5,"close":13274.8,"high":13274.8,"low":13228.5,"amount":15.822,"vol":15822,"trade_turnover":209781.909,"count":134},{"id":1603951200,"open":13274.8,"close":13255.0,"high":13323.0,"low":13242.3,"amount":91.246,"vol":91246,"trade_turnover":1211271.2788,"count":294},{"id":1603954800,"open":13255.0,"close":13142.4,"high":13269.3,"low":13123.1,"amount":187.622,"vol":187622,"trade_turnover":2478299.7074,"count":506},{"id":1603958400,"open":13145.9,"close":13124.8,"high":13182.4,"low":13094.1,"amount":69.532,"vol":69532,"trade_turnover":914157.2418,"count":226},{"id":1603962000,"open":13129.5,"close":13183.7,"high":13197.1,"low":13129.5,"amount":23.184,"vol":23184,"trade_turnover":305485.9524,"count":141},{"id":1603965600,"open":13184.8,"close":13105.2,"high":13187.5,"low":13053.1,"amount":121.146,"vol":121146,"trade_turnover":1590026.4416,"count":442},{"id":1603969200,"open":13105.1,"close":13060.1,"high":13171.4,"low":13060.1,"amount":47.498,"vol":47498,"trade_turnover":623578.149,"count":262},{"id":1603972800,"open":13056.9,"close":13131.8,"high":13145.8,"low":12977.9,"amount":126.552,"vol":126552,"trade_turnover":1652549.311,"count":481},{"id":1603976400,"open":13131.7,"close":13230.0,"high":13237.2,"low":13102.0,"amount":100.482,"vol":100482,"trade_turnover":1326403.7206,"count":325},{"id":1603980000,"open":13231.0,"close":13420.8,"high":13476.1,"low":13231.0,"amount":253.258,"vol":253258,"trade_turnover":3384941.438,"count":752},{"id":1603983600,"open":13416.0,"close":13420.6,"high":13458.7,"low":13358.7,"amount":64.71,"vol":64710,"trade_turnover":869052.3804,"count":269},{"id":1603987200,"open":13421.9,"close":13535.9,"high":13594.5,"low":13391.8,"amount":120.24,"vol":120240,"trade_turnover":1626567.8278,"count":570}]} +2024-01-18 11:13:05.915 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:41] - 请求 KLine 数据解析之后的数据为:{"wsid":19750305,"data":[{"amount":0.276,"high":12300.0,"vol":276,"low":11715.8,"count":39,"id":1603270800,"close":12196.7,"tradeTurnover":3315.9104,"open":12198.0},{"amount":0.198,"high":12289.9,"vol":198,"low":12111.0,"count":21,"id":1603274400,"close":12277.9,"tradeTurnover":2420.7728,"open":12196.7},{"amount":0.012,"high":12277.9,"vol":12,"low":12000.0,"count":5,"id":1603278000,"close":12000.0,"tradeTurnover":145.2238,"open":12111.0},{"amount":0.084,"high":12498.0,"vol":84,"low":12078.0,"count":12,"id":1603281600,"close":12497.4,"tradeTurnover":1040.0504,"open":12078.0},{"amount":1.122,"high":12495.6,"vol":1122,"low":12282.9,"count":112,"id":1603285200,"close":12373.5,"tradeTurnover":13905.3124,"open":12495.6},{"amount":5.29,"high":12807.6,"vol":5290,"low":12358.1,"count":155,"id":1603288800,"close":12689.9,"tradeTurnover":66852.128,"open":12412.9},{"amount":1.174,"high":12778.7,"vol":1174,"low":12573.2,"count":113,"id":1603292400,"close":12701.9,"tradeTurnover":14907.367,"open":12692.8},{"amount":1.156,"high":12920.9,"vol":1156,"low":12624.8,"count":115,"id":1603296000,"close":12835.9,"tradeTurnover":14802.449,"open":12679.7},{"amount":1.12,"high":12908.3,"vol":1120,"low":12687.5,"count":115,"id":1603299600,"close":12754.2,"tradeTurnover":14345.7324,"open":12848.3},{"amount":1.106,"high":12849.0,"vol":1106,"low":12668.3,"count":114,"id":1603303200,"close":12740.2,"tradeTurnover":14105.3504,"open":12743.7},{"amount":1.032,"high":12843.1,"vol":1032,"low":12597.2,"count":112,"id":1603306800,"close":12650.3,"tradeTurnover":13125.4568,"open":12729.5},{"amount":1.154,"high":12848.4,"vol":1154,"low":12610.2,"count":116,"id":1603310400,"close":12807.0,"tradeTurnover":14680.638,"open":12666.8},{"amount":1.164,"high":13005.1,"vol":1164,"low":12748.2,"count":114,"id":1603314000,"close":12938.9,"tradeTurnover":14976.9366,"open":12866.0},{"amount":1.174,"high":13211.2,"vol":1174,"low":12865.7,"count":114,"id":1603317600,"close":13122.0,"tradeTurnover":15285.2446,"open":12921.0},{"amount":1.172,"high":13173.2,"vol":1172,"low":12688.6,"count":117,"id":1603321200,"close":12829.8,"tradeTurnover":15060.9938,"open":13153.2},{"amount":1.17,"high":12988.1,"vol":1170,"low":12764.4,"count":117,"id":1603324800,"close":12885.9,"tradeTurnover":15046.2046,"open":12793.1},{"amount":1.158,"high":12972.6,"vol":1158,"low":12757.5,"count":118,"id":1603328400,"close":12757.5,"tradeTurnover":14882.4656,"open":12860.4},{"amount":1.124,"high":12848.0,"vol":1124,"low":12729.0,"count":115,"id":1603332000,"close":12788.8,"tradeTurnover":14368.7948,"open":12824.1},{"amount":1.194,"high":12834.4,"vol":1194,"low":12729.0,"count":111,"id":1603335600,"close":12767.2,"tradeTurnover":15268.9298,"open":12791.7},{"amount":1.152,"high":12778.3,"vol":1152,"low":12729.0,"count":115,"id":1603339200,"close":12762.2,"tradeTurnover":14695.4876,"open":12729.0},{"amount":1.21,"high":12842.0,"vol":1210,"low":12730.6,"count":119,"id":1603342800,"close":12813.8,"tradeTurnover":15440.8162,"open":12763.1},{"amount":1.188,"high":12795.0,"vol":1188,"low":12728.0,"count":123,"id":1603346400,"close":12729.1,"tradeTurnover":15128.0098,"open":12795.0},{"amount":1.266,"high":12730.6,"vol":1266,"low":12728.3,"count":112,"id":1603350000,"close":12730.6,"tradeTurnover":16115.1306,"open":12728.6},{"amount":1.35,"high":12921.5,"vol":1350,"low":12729.9,"count":127,"id":1603353600,"close":12770.1,"tradeTurnover":17233.7326,"open":12730.3},{"amount":0.98,"high":12872.1,"vol":980,"low":12760.1,"count":99,"id":1603357200,"close":12780.4,"tradeTurnover":12553.9826,"open":12824.9},{"amount":0.266,"high":13002.7,"vol":266,"low":12775.6,"count":30,"id":1603360800,"close":12934.2,"tradeTurnover":3415.023,"open":12784.9},{"amount":1.004,"high":13057.0,"vol":1004,"low":12886.6,"count":117,"id":1603364400,"close":13045.0,"tradeTurnover":13020.8576,"open":12977.0},{"amount":1.134,"high":12973.4,"vol":1134,"low":12751.6,"count":111,"id":1603368000,"close":12847.9,"tradeTurnover":14594.2752,"open":12958.5},{"amount":1.152,"high":13000.8,"vol":1152,"low":12743.0,"count":114,"id":1603371600,"close":12931.0,"tradeTurnover":14877.7314,"open":12882.7},{"amount":1.182,"high":12995.3,"vol":1182,"low":12783.9,"count":115,"id":1603375200,"close":12917.8,"tradeTurnover":15224.4716,"open":12890.4},{"amount":1.176,"high":13031.2,"vol":1176,"low":12817.9,"count":117,"id":1603378800,"close":12953.0,"tradeTurnover":15197.208,"open":12918.8},{"amount":1.146,"high":13100.2,"vol":1146,"low":12865.6,"count":119,"id":1603382400,"close":13055.6,"tradeTurnover":14851.9604,"open":12923.1},{"amount":1.534,"high":13105.7,"vol":1534,"low":12835.5,"count":124,"id":1603386000,"close":13082.7,"tradeTurnover":19927.8288,"open":12967.6},{"amount":1.268,"high":13115.0,"vol":1268,"low":12938.7,"count":117,"id":1603389600,"close":13016.4,"tradeTurnover":16505.4738,"open":13020.4},{"amount":1.13,"high":13171.2,"vol":1130,"low":12961.8,"count":112,"id":1603393200,"close":12970.6,"tradeTurnover":14762.952,"open":13028.3},{"amount":1.206,"high":13216.1,"vol":1206,"low":12998.5,"count":117,"id":1603396800,"close":13089.3,"tradeTurnover":15807.1226,"open":13016.7},{"amount":1.332,"high":13203.7,"vol":1332,"low":12932.9,"count":114,"id":1603400400,"close":13092.0,"tradeTurnover":17423.4422,"open":13136.0},{"amount":1.21,"high":13250.5,"vol":1210,"low":12984.7,"count":114,"id":1603404000,"close":13055.9,"tradeTurnover":15876.0632,"open":13119.4},{"amount":1.286,"high":13126.5,"vol":1286,"low":12857.2,"count":116,"id":1603407600,"close":12890.4,"tradeTurnover":16688.422,"open":13059.4},{"amount":1.502,"high":12994.0,"vol":1502,"low":12751.6,"count":131,"id":1603411200,"close":12892.2,"tradeTurnover":19331.1596,"open":12929.7},{"amount":1.386,"high":13003.2,"vol":1386,"low":12786.0,"count":121,"id":1603414800,"close":12898.3,"tradeTurnover":17904.8902,"open":12921.7},{"amount":1.416,"high":13054.0,"vol":1416,"low":12800.7,"count":122,"id":1603418400,"close":12975.1,"tradeTurnover":18306.6204,"open":12951.6},{"amount":1.19,"high":13030.7,"vol":1190,"low":12875.0,"count":118,"id":1603422000,"close":12947.0,"tradeTurnover":15409.7984,"open":12967.3},{"amount":1.022,"high":13047.3,"vol":1022,"low":12832.8,"count":127,"id":1603425600,"close":12852.0,"tradeTurnover":13214.4388,"open":12925.2},{"amount":0.478,"high":12991.7,"vol":478,"low":12841.2,"count":118,"id":1603429200,"close":12931.1,"tradeTurnover":6180.2486,"open":12859.0},{"amount":0.522,"high":13014.1,"vol":522,"low":12871.9,"count":132,"id":1603432800,"close":12939.6,"tradeTurnover":6759.0324,"open":12935.9},{"amount":0.476,"high":12998.9,"vol":476,"low":12917.1,"count":118,"id":1603436400,"close":12925.4,"tradeTurnover":6163.3118,"open":12923.1},{"amount":0.508,"high":13014.0,"vol":508,"low":12916.1,"count":122,"id":1603440000,"close":12962.6,"tradeTurnover":6585.3656,"open":12942.2},{"amount":0.564,"high":13012.5,"vol":564,"low":12909.9,"count":124,"id":1603443600,"close":12926.4,"tradeTurnover":7308.8828,"open":12970.5},{"amount":0.536,"high":13059.5,"vol":536,"low":12925.7,"count":124,"id":1603447200,"close":13007.7,"tradeTurnover":6957.8796,"open":13001.2},{"amount":0.486,"high":13078.4,"vol":486,"low":12906.5,"count":122,"id":1603450800,"close":12970.6,"tradeTurnover":6326.1434,"open":13025.4},{"amount":0.494,"high":13025.0,"vol":494,"low":12850.8,"count":117,"id":1603454400,"close":12935.4,"tradeTurnover":6396.0984,"open":12963.9},{"amount":0.466,"high":13043.3,"vol":466,"low":12911.0,"count":117,"id":1603458000,"close":12951.7,"tradeTurnover":6049.1412,"open":12913.3},{"amount":0.46,"high":13006.4,"vol":460,"low":12840.4,"count":116,"id":1603461600,"close":12858.8,"tradeTurnover":5941.815,"open":12999.6},{"amount":0.492,"high":12932.9,"vol":492,"low":12826.5,"count":117,"id":1603465200,"close":12881.9,"tradeTurnover":6340.214,"open":12885.7},{"amount":0.484,"high":12933.5,"vol":484,"low":12744.4,"count":123,"id":1603468800,"close":12784.1,"tradeTurnover":6205.4138,"open":12854.4},{"amount":0.562,"high":12893.1,"vol":562,"low":12730.1,"count":152,"id":1603472400,"close":12847.7,"tradeTurnover":7218.9184,"open":12832.3},{"amount":0.53,"high":12939.3,"vol":530,"low":12751.4,"count":128,"id":1603476000,"close":12915.7,"tradeTurnover":6825.7004,"open":12874.1},{"amount":0.444,"high":12972.9,"vol":444,"low":12786.6,"count":117,"id":1603479600,"close":12972.9,"tradeTurnover":5727.7452,"open":12867.9},{"amount":0.492,"high":13002.2,"vol":492,"low":12842.9,"count":116,"id":1603483200,"close":12991.6,"tradeTurnover":6375.1566,"open":12956.7},{"amount":0.5,"high":13004.3,"vol":500,"low":12936.6,"count":125,"id":1603486800,"close":12943.5,"tradeTurnover":6485.468,"open":13004.3},{"amount":0.492,"high":13010.3,"vol":492,"low":12884.7,"count":120,"id":1603490400,"close":12989.2,"tradeTurnover":6376.1492,"open":12923.6},{"amount":0.51,"high":13024.4,"vol":510,"low":12884.6,"count":121,"id":1603494000,"close":12884.6,"tradeTurnover":6622.3406,"open":12974.9},{"amount":0.488,"high":13018.3,"vol":488,"low":12811.1,"count":120,"id":1603497600,"close":12953.9,"tradeTurnover":6317.7938,"open":12973.7},{"amount":0.482,"high":13018.1,"vol":482,"low":12872.8,"count":117,"id":1603501200,"close":12934.2,"tradeTurnover":6242.4178,"open":12927.5},{"amount":0.484,"high":13003.9,"vol":484,"low":12903.3,"count":117,"id":1603504800,"close":12989.1,"tradeTurnover":6278.1756,"open":12971.9},{"amount":0.474,"high":13013.4,"vol":474,"low":12938.3,"count":122,"id":1603508400,"close":12975.9,"tradeTurnover":6157.7096,"open":13000.1},{"amount":0.526,"high":13009.4,"vol":526,"low":12905.5,"count":124,"id":1603512000,"close":12963.3,"tradeTurnover":6831.5658,"open":12989.7},{"amount":0.522,"high":13041.8,"vol":522,"low":12875.3,"count":127,"id":1603515600,"close":12989.7,"tradeTurnover":6768.8994,"open":12910.5},{"amount":0.49,"high":13058.1,"vol":490,"low":12908.8,"count":120,"id":1603519200,"close":13003.6,"tradeTurnover":6370.5714,"open":12994.7},{"amount":0.478,"high":13037.8,"vol":478,"low":12981.7,"count":120,"id":1603522800,"close":13004.2,"tradeTurnover":6218.9722,"open":13011.9},{"amount":0.52,"high":13030.6,"vol":520,"low":12899.4,"count":124,"id":1603526400,"close":12998.2,"tradeTurnover":6754.958,"open":13003.0},{"amount":0.454,"high":13020.3,"vol":454,"low":12893.6,"count":115,"id":1603530000,"close":12990.6,"tradeTurnover":5891.0574,"open":12998.2},{"amount":0.502,"high":13059.1,"vol":502,"low":12913.2,"count":124,"id":1603533600,"close":13030.1,"tradeTurnover":6525.9004,"open":12996.4},{"amount":0.468,"high":13068.3,"vol":468,"low":12940.2,"count":119,"id":1603537200,"close":13033.2,"tradeTurnover":6091.0376,"open":12988.4},{"amount":0.468,"high":13071.8,"vol":468,"low":12978.9,"count":123,"id":1603540800,"close":13006.5,"tradeTurnover":6102.5902,"open":13035.3},{"amount":0.534,"high":13066.7,"vol":534,"low":12928.1,"count":123,"id":1603544400,"close":12985.9,"tradeTurnover":6950.4268,"open":13038.8},{"amount":0.47,"high":13100.1,"vol":470,"low":12960.5,"count":100,"id":1603548000,"close":13042.0,"tradeTurnover":6124.2178,"open":12986.3},{"amount":0.456,"high":13196.5,"vol":456,"low":13038.4,"count":120,"id":1603551600,"close":13102.2,"tradeTurnover":5989.6362,"open":13038.4},{"amount":0.458,"high":13176.6,"vol":458,"low":12984.6,"count":121,"id":1603555200,"close":13052.7,"tradeTurnover":5976.331,"open":13136.8},{"amount":0.452,"high":13177.8,"vol":452,"low":13003.2,"count":118,"id":1603558800,"close":13177.8,"tradeTurnover":5911.7058,"open":13006.2},{"amount":0.468,"high":13170.7,"vol":468,"low":13023.0,"count":119,"id":1603562400,"close":13080.8,"tradeTurnover":6122.375,"open":13127.7},{"amount":0.468,"high":13179.3,"vol":468,"low":13014.2,"count":120,"id":1603566000,"close":13148.4,"tradeTurnover":6126.4278,"open":13040.7},{"amount":0.47,"high":13179.6,"vol":470,"low":12992.5,"count":119,"id":1603569600,"close":13090.1,"tradeTurnover":6151.4758,"open":13073.5},{"amount":0.458,"high":13148.7,"vol":458,"low":12980.7,"count":117,"id":1603573200,"close":12993.9,"tradeTurnover":5981.071,"open":13035.4},{"amount":0.478,"high":13112.1,"vol":478,"low":12975.6,"count":118,"id":1603576800,"close":13041.1,"tradeTurnover":6225.4216,"open":13040.7},{"amount":0.472,"high":13184.3,"vol":472,"low":13009.3,"count":118,"id":1603580400,"close":13184.3,"tradeTurnover":6173.4244,"open":13012.6},{"amount":0.46,"high":13170.4,"vol":460,"low":13007.7,"count":115,"id":1603584000,"close":13154.3,"tradeTurnover":6024.09,"open":13080.8},{"amount":0.398,"high":13196.8,"vol":398,"low":13024.0,"count":102,"id":1603587600,"close":13196.1,"tradeTurnover":5217.5364,"open":13092.0},{"amount":0.476,"high":13175.1,"vol":476,"low":13035.0,"count":120,"id":1603591200,"close":13082.4,"tradeTurnover":6228.6596,"open":13124.7},{"amount":0.578,"high":13383.8,"vol":578,"low":13049.1,"count":137,"id":1603594800,"close":13259.0,"tradeTurnover":7629.3886,"open":13049.1},{"amount":0.47,"high":13369.0,"vol":470,"low":13216.0,"count":122,"id":1603598400,"close":13243.4,"tradeTurnover":6247.955,"open":13277.0},{"amount":0.61,"high":13353.3,"vol":610,"low":13010.1,"count":134,"id":1603602000,"close":13017.3,"tradeTurnover":8048.8598,"open":13285.3},{"amount":0.486,"high":13105.7,"vol":486,"low":13018.2,"count":118,"id":1603605600,"close":13060.3,"tradeTurnover":6344.1474,"open":13022.5},{"amount":0.464,"high":13112.1,"vol":464,"low":13022.0,"count":120,"id":1603609200,"close":13078.1,"tradeTurnover":6061.5416,"open":13048.5},{"amount":0.464,"high":13091.0,"vol":464,"low":13017.2,"count":120,"id":1603612800,"close":13046.0,"tradeTurnover":6055.3734,"open":13077.2},{"amount":0.478,"high":13084.0,"vol":478,"low":13014.2,"count":117,"id":1603616400,"close":13040.8,"tradeTurnover":6235.7882,"open":13065.1},{"amount":0.478,"high":13064.2,"vol":478,"low":13010.2,"count":125,"id":1603620000,"close":13028.5,"tradeTurnover":6232.2428,"open":13047.1},{"amount":0.534,"high":13061.5,"vol":534,"low":12852.9,"count":123,"id":1603623600,"close":12897.6,"tradeTurnover":6918.1226,"open":13061.5},{"amount":0.444,"high":13069.7,"vol":444,"low":12893.2,"count":117,"id":1603627200,"close":12964.3,"tradeTurnover":5755.8712,"open":12908.3},{"amount":0.498,"high":13071.9,"vol":498,"low":12891.8,"count":119,"id":1603630800,"close":12949.3,"tradeTurnover":6465.078,"open":13001.3},{"amount":0.468,"high":13077.7,"vol":468,"low":12900.0,"count":116,"id":1603634400,"close":12946.8,"tradeTurnover":6075.4554,"open":12975.8},{"amount":0.47,"high":13069.1,"vol":470,"low":12883.3,"count":119,"id":1603638000,"close":12883.3,"tradeTurnover":6097.1072,"open":12975.2},{"amount":0.482,"high":13067.9,"vol":482,"low":12877.5,"count":118,"id":1603641600,"close":12978.7,"tradeTurnover":6256.4472,"open":12916.2},{"amount":0.47,"high":13087.5,"vol":470,"low":12922.7,"count":117,"id":1603645200,"close":13004.4,"tradeTurnover":6108.3892,"open":13008.0},{"amount":0.468,"high":13067.6,"vol":468,"low":12893.6,"count":118,"id":1603648800,"close":12957.2,"tradeTurnover":6079.1484,"open":12972.8},{"amount":0.442,"high":13066.9,"vol":442,"low":12916.6,"count":118,"id":1603652400,"close":13021.8,"tradeTurnover":5746.5548,"open":12996.5},{"amount":0.508,"high":13081.5,"vol":508,"low":12944.9,"count":120,"id":1603656000,"close":12985.4,"tradeTurnover":6616.9872,"open":12992.9},{"amount":0.508,"high":13068.6,"vol":508,"low":12921.4,"count":122,"id":1603659600,"close":13011.2,"tradeTurnover":6614.816,"open":12999.9},{"amount":0.486,"high":13073.8,"vol":486,"low":12911.9,"count":121,"id":1603663200,"close":12959.4,"tradeTurnover":6320.907,"open":12979.6},{"amount":0.452,"high":13085.2,"vol":452,"low":12927.8,"count":113,"id":1603666800,"close":13032.1,"tradeTurnover":5878.6442,"open":12963.4},{"amount":0.482,"high":13076.7,"vol":482,"low":12918.3,"count":121,"id":1603670400,"close":13001.0,"tradeTurnover":6263.698,"open":12964.2},{"amount":0.478,"high":13096.4,"vol":478,"low":12991.2,"count":124,"id":1603674000,"close":13053.7,"tradeTurnover":6232.2328,"open":13040.0},{"amount":0.488,"high":13185.7,"vol":488,"low":12985.1,"count":121,"id":1603677600,"close":13064.4,"tradeTurnover":6387.534,"open":13060.6},{"amount":0.486,"high":13187.2,"vol":486,"low":12984.1,"count":135,"id":1603681200,"close":13092.8,"tradeTurnover":6369.0272,"open":13032.3},{"amount":0.51,"high":13181.6,"vol":510,"low":12962.3,"count":131,"id":1603684800,"close":13132.6,"tradeTurnover":6679.829,"open":13092.0},{"amount":0.506,"high":13205.3,"vol":506,"low":13025.3,"count":126,"id":1603688400,"close":13092.1,"tradeTurnover":6641.2128,"open":13129.2},{"amount":1.616,"high":13188.1,"vol":1616,"low":12989.8,"count":141,"id":1603692000,"close":13071.4,"tradeTurnover":21170.8224,"open":13121.8},{"amount":3.746,"high":13100.0,"vol":3746,"low":12965.2,"count":110,"id":1603695600,"close":13038.7,"tradeTurnover":48924.8902,"open":13061.0},{"amount":8.966,"high":13102.0,"vol":8966,"low":12852.8,"count":173,"id":1603699200,"close":13039.3,"tradeTurnover":116525.5534,"open":13030.9},{"amount":4.48,"high":13088.4,"vol":4480,"low":13039.8,"count":124,"id":1603702800,"close":13075.9,"tradeTurnover":58521.1714,"open":13047.1},{"amount":4.272,"high":13100.0,"vol":4272,"low":13060.2,"count":130,"id":1603706400,"close":13100.0,"tradeTurnover":55895.9778,"open":13072.1},{"amount":29.798,"high":13159.0,"vol":29798,"low":13100.0,"count":230,"id":1603710000,"close":13138.4,"tradeTurnover":391138.024,"open":13100.0},{"amount":5.154,"high":13200.0,"vol":5154,"low":13100.0,"count":188,"id":1603713600,"close":13149.8,"tradeTurnover":67694.652,"open":13138.8},{"amount":35.608,"high":13351.5,"vol":35608,"low":13133.1,"count":328,"id":1603717200,"close":13205.8,"tradeTurnover":472780.3394,"open":13150.0},{"amount":31.748,"high":13280.0,"vol":31748,"low":13144.1,"count":235,"id":1603720800,"close":13166.1,"tradeTurnover":418744.5588,"open":13203.0},{"amount":36.53,"high":13165.2,"vol":36530,"low":12903.8,"count":384,"id":1603724400,"close":12978.0,"tradeTurnover":476940.3296,"open":13159.0},{"amount":35.018,"high":13069.8,"vol":35018,"low":12850.5,"count":323,"id":1603728000,"close":12869.6,"tradeTurnover":453288.918,"open":12965.0},{"amount":92.628,"high":12941.5,"vol":92628,"low":12583.9,"count":560,"id":1603731600,"close":12873.8,"tradeTurnover":1185973.467,"open":12879.2},{"amount":4.302,"high":12954.5,"vol":4302,"low":12820.4,"count":128,"id":1603735200,"close":12946.8,"tradeTurnover":55481.0054,"open":12856.2},{"amount":13.83,"high":12953.5,"vol":13830,"low":12914.1,"count":118,"id":1603738800,"close":12953.4,"tradeTurnover":179112.1598,"open":12945.6},{"amount":17.172,"high":13007.5,"vol":17172,"low":12953.5,"count":132,"id":1603742400,"close":12983.4,"tradeTurnover":223230.2122,"open":12953.5},{"amount":3.212,"high":13007.5,"vol":3212,"low":12982.7,"count":59,"id":1603746000,"close":12993.8,"tradeTurnover":41767.8906,"open":12983.1},{"amount":1.504,"high":13007.5,"vol":1504,"low":12974.0,"count":74,"id":1603749600,"close":13007.5,"tradeTurnover":19543.3568,"open":13002.1},{"amount":3.454,"high":13061.2,"vol":3454,"low":13007.5,"count":101,"id":1603753200,"close":13033.7,"tradeTurnover":45001.601,"open":13007.5},{"amount":8.784,"high":13105.0,"vol":8784,"low":13028.3,"count":98,"id":1603756800,"close":13067.1,"tradeTurnover":114871.8246,"open":13029.2},{"amount":11.592,"high":13074.4,"vol":11592,"low":13051.5,"count":66,"id":1603760400,"close":13061.7,"tradeTurnover":151386.9038,"open":13074.3},{"amount":19.298,"high":13097.6,"vol":19298,"low":13040.1,"count":109,"id":1603764000,"close":13049.7,"tradeTurnover":252061.019,"open":13061.7},{"amount":22.992,"high":13080.0,"vol":22992,"low":13057.1,"count":69,"id":1603767600,"close":13070.4,"tradeTurnover":300453.9788,"open":13057.6},{"amount":14.396,"high":13175.0,"vol":14396,"low":13079.6,"count":59,"id":1603771200,"close":13103.3,"tradeTurnover":188461.9156,"open":13080.0},{"amount":5.058,"high":13121.3,"vol":5058,"low":13069.7,"count":44,"id":1603774800,"close":13073.6,"tradeTurnover":66201.3552,"open":13121.3},{"amount":9.106,"high":13149.0,"vol":9106,"low":13069.6,"count":107,"id":1603778400,"close":13103.4,"tradeTurnover":119104.8906,"open":13074.9},{"amount":73.95,"high":13169.8,"vol":73950,"low":12992.4,"count":305,"id":1603782000,"close":13130.0,"tradeTurnover":968195.155,"open":13103.3},{"amount":18.732,"high":13148.4,"vol":18732,"low":13044.0,"count":135,"id":1603785600,"close":13123.8,"tradeTurnover":245533.5448,"open":13135.1},{"amount":13.756,"high":13131.8,"vol":13756,"low":13075.7,"count":102,"id":1603789200,"close":13131.7,"tradeTurnover":180253.7708,"open":13115.5},{"amount":154.108,"high":13252.0,"vol":154108,"low":13063.4,"count":525,"id":1603792800,"close":13216.9,"tradeTurnover":2029983.656,"open":13134.8},{"amount":170.09,"high":13590.1,"vol":170090,"low":13213.5,"count":591,"id":1603796400,"close":13395.8,"tradeTurnover":2276279.742,"open":13218.8},{"amount":48.928,"high":13414.0,"vol":48928,"low":13331.7,"count":216,"id":1603800000,"close":13376.9,"tradeTurnover":654585.9108,"open":13395.9},{"amount":63.294,"high":13490.9,"vol":63294,"low":13329.8,"count":316,"id":1603803600,"close":13384.3,"tradeTurnover":848130.9212,"open":13376.5},{"amount":12.892,"high":13415.8,"vol":12892,"low":13344.8,"count":124,"id":1603807200,"close":13398.2,"tradeTurnover":172618.6864,"open":13392.6},{"amount":93.22,"high":13626.7,"vol":93220,"low":13398.2,"count":476,"id":1603810800,"close":13598.5,"tradeTurnover":1262695.5466,"open":13398.2},{"amount":85.45,"high":13639.9,"vol":85450,"low":13520.2,"count":435,"id":1603814400,"close":13639.9,"tradeTurnover":1161481.4136,"open":13595.8},{"amount":191.812,"high":13826.7,"vol":191812,"low":13589.0,"count":711,"id":1603818000,"close":13688.1,"tradeTurnover":2628428.3788,"open":13640.0},{"amount":65.434,"high":13745.0,"vol":65434,"low":13528.2,"count":410,"id":1603821600,"close":13630.1,"tradeTurnover":891541.8394,"open":13685.0},{"amount":5.788,"high":13659.8,"vol":5788,"low":13595.4,"count":65,"id":1603825200,"close":13637.1,"tradeTurnover":78836.2578,"open":13629.4},{"amount":163.104,"high":13805.1,"vol":163104,"low":13582.6,"count":537,"id":1603828800,"close":13616.6,"tradeTurnover":2234040.3544,"open":13644.4},{"amount":9.884,"high":13753.5,"vol":9884,"low":13609.8,"count":101,"id":1603832400,"close":13705.5,"tradeTurnover":135406.4752,"open":13609.8},{"amount":7.436,"high":13739.9,"vol":7436,"low":13658.2,"count":100,"id":1603836000,"close":13739.9,"tradeTurnover":101840.3508,"open":13705.4},{"amount":17.086,"high":13794.6,"vol":17086,"low":13582.6,"count":234,"id":1603839600,"close":13649.6,"tradeTurnover":233971.8448,"open":13739.9},{"amount":24.108,"high":13745.2,"vol":24108,"low":13618.8,"count":177,"id":1603843200,"close":13701.7,"tradeTurnover":330206.5694,"open":13645.9},{"amount":15.892,"high":13725.6,"vol":15892,"low":13647.9,"count":151,"id":1603846800,"close":13702.6,"tradeTurnover":217816.7008,"open":13702.1},{"amount":46.548,"high":13832.2,"vol":46548,"low":13680.2,"count":274,"id":1603850400,"close":13811.6,"tradeTurnover":640636.0352,"open":13701.7},{"amount":67.896,"high":13820.3,"vol":67896,"low":13717.5,"count":320,"id":1603854000,"close":13777.0,"tradeTurnover":935838.2238,"open":13818.5},{"amount":33.156,"high":13807.2,"vol":33156,"low":13710.0,"count":210,"id":1603857600,"close":13735.7,"tradeTurnover":455941.234,"open":13767.3},{"amount":32.076,"high":13753.9,"vol":32076,"low":13671.3,"count":198,"id":1603861200,"close":13715.8,"tradeTurnover":439612.64,"open":13735.5},{"amount":14.756,"high":13757.0,"vol":14756,"low":13694.9,"count":122,"id":1603864800,"close":13701.3,"tradeTurnover":202602.5164,"open":13715.9},{"amount":155.534,"high":13708.7,"vol":155534,"low":13550.0,"count":635,"id":1603868400,"close":13674.2,"tradeTurnover":2117935.0928,"open":13701.2},{"amount":29.846,"high":13691.7,"vol":29846,"low":13584.0,"count":240,"id":1603872000,"close":13691.7,"tradeTurnover":407073.1398,"open":13673.0},{"amount":104.542,"high":13707.5,"vol":104542,"low":13573.5,"count":377,"id":1603875600,"close":13587.1,"tradeTurnover":1425079.9344,"open":13689.3},{"amount":73.818,"high":13618.0,"vol":73818,"low":13504.7,"count":358,"id":1603879200,"close":13552.7,"tradeTurnover":1001666.0908,"open":13584.6},{"amount":176.544,"high":13565.4,"vol":176544,"low":13330.0,"count":1004,"id":1603882800,"close":13336.4,"tradeTurnover":2369166.1492,"open":13552.6},{"amount":289.73,"high":13385.0,"vol":289730,"low":13173.9,"count":968,"id":1603886400,"close":13300.3,"tradeTurnover":3846751.7166,"open":13331.5},{"amount":139.822,"high":13340.0,"vol":139822,"low":13122.9,"count":612,"id":1603890000,"close":13129.9,"tradeTurnover":1848876.932,"open":13300.2},{"amount":367.876,"high":13168.2,"vol":367876,"low":12915.9,"count":1168,"id":1603893600,"close":13082.2,"tradeTurnover":4802516.9818,"open":13123.4},{"amount":84.044,"high":13235.2,"vol":84044,"low":13052.3,"count":375,"id":1603897200,"close":13221.2,"tradeTurnover":1106883.1282,"open":13077.1},{"amount":29.566,"high":13218.7,"vol":29566,"low":13050.0,"count":244,"id":1603900800,"close":13145.1,"tradeTurnover":388697.4104,"open":13218.7},{"amount":53.336,"high":13204.9,"vol":53336,"low":13006.6,"count":299,"id":1603904400,"close":13176.7,"tradeTurnover":700385.2784,"open":13145.1},{"amount":34.164,"high":13219.6,"vol":34164,"low":13131.0,"count":218,"id":1603908000,"close":13196.5,"tradeTurnover":450210.5778,"open":13171.0},{"amount":22.158,"high":13237.4,"vol":22158,"low":13145.0,"count":185,"id":1603911600,"close":13154.9,"tradeTurnover":292020.0438,"open":13200.0},{"amount":4.548,"high":13211.8,"vol":4548,"low":13147.4,"count":75,"id":1603915200,"close":13198.1,"tradeTurnover":59991.1118,"open":13154.5},{"amount":3.52,"high":13196.5,"vol":3520,"low":13100.2,"count":68,"id":1603918800,"close":13190.1,"tradeTurnover":46175.428,"open":13193.5},{"amount":3.122,"high":13267.5,"vol":3122,"low":13185.4,"count":72,"id":1603922400,"close":13252.0,"tradeTurnover":41304.2018,"open":13185.4},{"amount":14.768,"high":13282.3,"vol":14768,"low":13235.9,"count":86,"id":1603926000,"close":13265.9,"tradeTurnover":195689.0764,"open":13242.1},{"amount":19.968,"high":13294.7,"vol":19968,"low":13237.4,"count":98,"id":1603929600,"close":13245.1,"tradeTurnover":264834.1944,"open":13253.9},{"amount":35.282,"high":13285.3,"vol":35282,"low":13166.3,"count":192,"id":1603933200,"close":13274.2,"tradeTurnover":465789.6302,"open":13244.6},{"amount":9.748,"high":13277.7,"vol":9748,"low":13212.2,"count":119,"id":1603936800,"close":13241.1,"tradeTurnover":129016.0684,"open":13275.9},{"amount":27.3,"high":13262.5,"vol":27300,"low":13174.6,"count":199,"id":1603940400,"close":13262.5,"tradeTurnover":360589.8982,"open":13237.1},{"amount":18.904,"high":13277.7,"vol":18904,"low":13229.5,"count":109,"id":1603944000,"close":13229.5,"tradeTurnover":250713.2812,"open":13269.1},{"amount":15.822,"high":13274.8,"vol":15822,"low":13228.5,"count":134,"id":1603947600,"close":13274.8,"tradeTurnover":209781.909,"open":13228.5},{"amount":91.246,"high":13323.0,"vol":91246,"low":13242.3,"count":294,"id":1603951200,"close":13255.0,"tradeTurnover":1211271.2788,"open":13274.8},{"amount":187.622,"high":13269.3,"vol":187622,"low":13123.1,"count":506,"id":1603954800,"close":13142.4,"tradeTurnover":2478299.7074,"open":13255.0},{"amount":69.532,"high":13182.4,"vol":69532,"low":13094.1,"count":226,"id":1603958400,"close":13124.8,"tradeTurnover":914157.2418,"open":13145.9},{"amount":23.184,"high":13197.1,"vol":23184,"low":13129.5,"count":141,"id":1603962000,"close":13183.7,"tradeTurnover":305485.9524,"open":13129.5},{"amount":121.146,"high":13187.5,"vol":121146,"low":13053.1,"count":442,"id":1603965600,"close":13105.2,"tradeTurnover":1590026.4416,"open":13184.8},{"amount":47.498,"high":13171.4,"vol":47498,"low":13060.1,"count":262,"id":1603969200,"close":13060.1,"tradeTurnover":623578.149,"open":13105.1},{"amount":126.552,"high":13145.8,"vol":126552,"low":12977.9,"count":481,"id":1603972800,"close":13131.8,"tradeTurnover":1652549.311,"open":13056.9},{"amount":100.482,"high":13237.2,"vol":100482,"low":13102.0,"count":325,"id":1603976400,"close":13230.0,"tradeTurnover":1326403.7206,"open":13131.7},{"amount":253.258,"high":13476.1,"vol":253258,"low":13231.0,"count":752,"id":1603980000,"close":13420.8,"tradeTurnover":3384941.438,"open":13231.0},{"amount":64.71,"high":13458.7,"vol":64710,"low":13358.7,"count":269,"id":1603983600,"close":13420.6,"tradeTurnover":869052.3804,"open":13416.0},{"amount":120.24,"high":13594.5,"vol":120240,"low":13391.8,"count":570,"id":1603987200,"close":13535.9,"tradeTurnover":1626567.8278,"open":13421.9}],"id":"","rep":"market.BTC-USDT.kline.60min","status":"ok"} +2024-01-18 11:13:06.921 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:39] - 请求 KLine 数据用户收到的原始数据:{"id":"","rep":"market.BTC-USDT.kline.60min","ts":1705547585831,"wsid":19750305,"status":"ok","data":[{"id":1603270800,"open":12198.0,"close":12196.7,"high":12300.0,"low":11715.8,"amount":0.276,"vol":276,"trade_turnover":3315.9104,"count":39},{"id":1603274400,"open":12196.7,"close":12277.9,"high":12289.9,"low":12111.0,"amount":0.198,"vol":198,"trade_turnover":2420.7728,"count":21},{"id":1603278000,"open":12111.0,"close":12000.0,"high":12277.9,"low":12000.0,"amount":0.012,"vol":12,"trade_turnover":145.2238,"count":5},{"id":1603281600,"open":12078.0,"close":12497.4,"high":12498.0,"low":12078.0,"amount":0.084,"vol":84,"trade_turnover":1040.0504,"count":12},{"id":1603285200,"open":12495.6,"close":12373.5,"high":12495.6,"low":12282.9,"amount":1.122,"vol":1122,"trade_turnover":13905.3124,"count":112},{"id":1603288800,"open":12412.9,"close":12689.9,"high":12807.6,"low":12358.1,"amount":5.29,"vol":5290,"trade_turnover":66852.128,"count":155},{"id":1603292400,"open":12692.8,"close":12701.9,"high":12778.7,"low":12573.2,"amount":1.174,"vol":1174,"trade_turnover":14907.367,"count":113},{"id":1603296000,"open":12679.7,"close":12835.9,"high":12920.9,"low":12624.8,"amount":1.156,"vol":1156,"trade_turnover":14802.449,"count":115},{"id":1603299600,"open":12848.3,"close":12754.2,"high":12908.3,"low":12687.5,"amount":1.12,"vol":1120,"trade_turnover":14345.7324,"count":115},{"id":1603303200,"open":12743.7,"close":12740.2,"high":12849.0,"low":12668.3,"amount":1.106,"vol":1106,"trade_turnover":14105.3504,"count":114},{"id":1603306800,"open":12729.5,"close":12650.3,"high":12843.1,"low":12597.2,"amount":1.032,"vol":1032,"trade_turnover":13125.4568,"count":112},{"id":1603310400,"open":12666.8,"close":12807.0,"high":12848.4,"low":12610.2,"amount":1.154,"vol":1154,"trade_turnover":14680.638,"count":116},{"id":1603314000,"open":12866.0,"close":12938.9,"high":13005.1,"low":12748.2,"amount":1.164,"vol":1164,"trade_turnover":14976.9366,"count":114},{"id":1603317600,"open":12921.0,"close":13122.0,"high":13211.2,"low":12865.7,"amount":1.174,"vol":1174,"trade_turnover":15285.2446,"count":114},{"id":1603321200,"open":13153.2,"close":12829.8,"high":13173.2,"low":12688.6,"amount":1.172,"vol":1172,"trade_turnover":15060.9938,"count":117},{"id":1603324800,"open":12793.1,"close":12885.9,"high":12988.1,"low":12764.4,"amount":1.17,"vol":1170,"trade_turnover":15046.2046,"count":117},{"id":1603328400,"open":12860.4,"close":12757.5,"high":12972.6,"low":12757.5,"amount":1.158,"vol":1158,"trade_turnover":14882.4656,"count":118},{"id":1603332000,"open":12824.1,"close":12788.8,"high":12848.0,"low":12729.0,"amount":1.124,"vol":1124,"trade_turnover":14368.7948,"count":115},{"id":1603335600,"open":12791.7,"close":12767.2,"high":12834.4,"low":12729.0,"amount":1.194,"vol":1194,"trade_turnover":15268.9298,"count":111},{"id":1603339200,"open":12729.0,"close":12762.2,"high":12778.3,"low":12729.0,"amount":1.152,"vol":1152,"trade_turnover":14695.4876,"count":115},{"id":1603342800,"open":12763.1,"close":12813.8,"high":12842.0,"low":12730.6,"amount":1.21,"vol":1210,"trade_turnover":15440.8162,"count":119},{"id":1603346400,"open":12795.0,"close":12729.1,"high":12795.0,"low":12728.0,"amount":1.188,"vol":1188,"trade_turnover":15128.0098,"count":123},{"id":1603350000,"open":12728.6,"close":12730.6,"high":12730.6,"low":12728.3,"amount":1.266,"vol":1266,"trade_turnover":16115.1306,"count":112},{"id":1603353600,"open":12730.3,"close":12770.1,"high":12921.5,"low":12729.9,"amount":1.35,"vol":1350,"trade_turnover":17233.7326,"count":127},{"id":1603357200,"open":12824.9,"close":12780.4,"high":12872.1,"low":12760.1,"amount":0.98,"vol":980,"trade_turnover":12553.9826,"count":99},{"id":1603360800,"open":12784.9,"close":12934.2,"high":13002.7,"low":12775.6,"amount":0.266,"vol":266,"trade_turnover":3415.023,"count":30},{"id":1603364400,"open":12977.0,"close":13045.0,"high":13057.0,"low":12886.6,"amount":1.004,"vol":1004,"trade_turnover":13020.8576,"count":117},{"id":1603368000,"open":12958.5,"close":12847.9,"high":12973.4,"low":12751.6,"amount":1.134,"vol":1134,"trade_turnover":14594.2752,"count":111},{"id":1603371600,"open":12882.7,"close":12931.0,"high":13000.8,"low":12743.0,"amount":1.152,"vol":1152,"trade_turnover":14877.7314,"count":114},{"id":1603375200,"open":12890.4,"close":12917.8,"high":12995.3,"low":12783.9,"amount":1.182,"vol":1182,"trade_turnover":15224.4716,"count":115},{"id":1603378800,"open":12918.8,"close":12953.0,"high":13031.2,"low":12817.9,"amount":1.176,"vol":1176,"trade_turnover":15197.208,"count":117},{"id":1603382400,"open":12923.1,"close":13055.6,"high":13100.2,"low":12865.6,"amount":1.146,"vol":1146,"trade_turnover":14851.9604,"count":119},{"id":1603386000,"open":12967.6,"close":13082.7,"high":13105.7,"low":12835.5,"amount":1.534,"vol":1534,"trade_turnover":19927.8288,"count":124},{"id":1603389600,"open":13020.4,"close":13016.4,"high":13115.0,"low":12938.7,"amount":1.268,"vol":1268,"trade_turnover":16505.4738,"count":117},{"id":1603393200,"open":13028.3,"close":12970.6,"high":13171.2,"low":12961.8,"amount":1.13,"vol":1130,"trade_turnover":14762.952,"count":112},{"id":1603396800,"open":13016.7,"close":13089.3,"high":13216.1,"low":12998.5,"amount":1.206,"vol":1206,"trade_turnover":15807.1226,"count":117},{"id":1603400400,"open":13136.0,"close":13092.0,"high":13203.7,"low":12932.9,"amount":1.332,"vol":1332,"trade_turnover":17423.4422,"count":114},{"id":1603404000,"open":13119.4,"close":13055.9,"high":13250.5,"low":12984.7,"amount":1.21,"vol":1210,"trade_turnover":15876.0632,"count":114},{"id":1603407600,"open":13059.4,"close":12890.4,"high":13126.5,"low":12857.2,"amount":1.286,"vol":1286,"trade_turnover":16688.422,"count":116},{"id":1603411200,"open":12929.7,"close":12892.2,"high":12994.0,"low":12751.6,"amount":1.502,"vol":1502,"trade_turnover":19331.1596,"count":131},{"id":1603414800,"open":12921.7,"close":12898.3,"high":13003.2,"low":12786.0,"amount":1.386,"vol":1386,"trade_turnover":17904.8902,"count":121},{"id":1603418400,"open":12951.6,"close":12975.1,"high":13054.0,"low":12800.7,"amount":1.416,"vol":1416,"trade_turnover":18306.6204,"count":122},{"id":1603422000,"open":12967.3,"close":12947.0,"high":13030.7,"low":12875.0,"amount":1.19,"vol":1190,"trade_turnover":15409.7984,"count":118},{"id":1603425600,"open":12925.2,"close":12852.0,"high":13047.3,"low":12832.8,"amount":1.022,"vol":1022,"trade_turnover":13214.4388,"count":127},{"id":1603429200,"open":12859.0,"close":12931.1,"high":12991.7,"low":12841.2,"amount":0.478,"vol":478,"trade_turnover":6180.2486,"count":118},{"id":1603432800,"open":12935.9,"close":12939.6,"high":13014.1,"low":12871.9,"amount":0.522,"vol":522,"trade_turnover":6759.0324,"count":132},{"id":1603436400,"open":12923.1,"close":12925.4,"high":12998.9,"low":12917.1,"amount":0.476,"vol":476,"trade_turnover":6163.3118,"count":118},{"id":1603440000,"open":12942.2,"close":12962.6,"high":13014.0,"low":12916.1,"amount":0.508,"vol":508,"trade_turnover":6585.3656,"count":122},{"id":1603443600,"open":12970.5,"close":12926.4,"high":13012.5,"low":12909.9,"amount":0.564,"vol":564,"trade_turnover":7308.8828,"count":124},{"id":1603447200,"open":13001.2,"close":13007.7,"high":13059.5,"low":12925.7,"amount":0.536,"vol":536,"trade_turnover":6957.8796,"count":124},{"id":1603450800,"open":13025.4,"close":12970.6,"high":13078.4,"low":12906.5,"amount":0.486,"vol":486,"trade_turnover":6326.1434,"count":122},{"id":1603454400,"open":12963.9,"close":12935.4,"high":13025.0,"low":12850.8,"amount":0.494,"vol":494,"trade_turnover":6396.0984,"count":117},{"id":1603458000,"open":12913.3,"close":12951.7,"high":13043.3,"low":12911.0,"amount":0.466,"vol":466,"trade_turnover":6049.1412,"count":117},{"id":1603461600,"open":12999.6,"close":12858.8,"high":13006.4,"low":12840.4,"amount":0.46,"vol":460,"trade_turnover":5941.815,"count":116},{"id":1603465200,"open":12885.7,"close":12881.9,"high":12932.9,"low":12826.5,"amount":0.492,"vol":492,"trade_turnover":6340.214,"count":117},{"id":1603468800,"open":12854.4,"close":12784.1,"high":12933.5,"low":12744.4,"amount":0.484,"vol":484,"trade_turnover":6205.4138,"count":123},{"id":1603472400,"open":12832.3,"close":12847.7,"high":12893.1,"low":12730.1,"amount":0.562,"vol":562,"trade_turnover":7218.9184,"count":152},{"id":1603476000,"open":12874.1,"close":12915.7,"high":12939.3,"low":12751.4,"amount":0.53,"vol":530,"trade_turnover":6825.7004,"count":128},{"id":1603479600,"open":12867.9,"close":12972.9,"high":12972.9,"low":12786.6,"amount":0.444,"vol":444,"trade_turnover":5727.7452,"count":117},{"id":1603483200,"open":12956.7,"close":12991.6,"high":13002.2,"low":12842.9,"amount":0.492,"vol":492,"trade_turnover":6375.1566,"count":116},{"id":1603486800,"open":13004.3,"close":12943.5,"high":13004.3,"low":12936.6,"amount":0.5,"vol":500,"trade_turnover":6485.468,"count":125},{"id":1603490400,"open":12923.6,"close":12989.2,"high":13010.3,"low":12884.7,"amount":0.492,"vol":492,"trade_turnover":6376.1492,"count":120},{"id":1603494000,"open":12974.9,"close":12884.6,"high":13024.4,"low":12884.6,"amount":0.51,"vol":510,"trade_turnover":6622.3406,"count":121},{"id":1603497600,"open":12973.7,"close":12953.9,"high":13018.3,"low":12811.1,"amount":0.488,"vol":488,"trade_turnover":6317.7938,"count":120},{"id":1603501200,"open":12927.5,"close":12934.2,"high":13018.1,"low":12872.8,"amount":0.482,"vol":482,"trade_turnover":6242.4178,"count":117},{"id":1603504800,"open":12971.9,"close":12989.1,"high":13003.9,"low":12903.3,"amount":0.484,"vol":484,"trade_turnover":6278.1756,"count":117},{"id":1603508400,"open":13000.1,"close":12975.9,"high":13013.4,"low":12938.3,"amount":0.474,"vol":474,"trade_turnover":6157.7096,"count":122},{"id":1603512000,"open":12989.7,"close":12963.3,"high":13009.4,"low":12905.5,"amount":0.526,"vol":526,"trade_turnover":6831.5658,"count":124},{"id":1603515600,"open":12910.5,"close":12989.7,"high":13041.8,"low":12875.3,"amount":0.522,"vol":522,"trade_turnover":6768.8994,"count":127},{"id":1603519200,"open":12994.7,"close":13003.6,"high":13058.1,"low":12908.8,"amount":0.49,"vol":490,"trade_turnover":6370.5714,"count":120},{"id":1603522800,"open":13011.9,"close":13004.2,"high":13037.8,"low":12981.7,"amount":0.478,"vol":478,"trade_turnover":6218.9722,"count":120},{"id":1603526400,"open":13003.0,"close":12998.2,"high":13030.6,"low":12899.4,"amount":0.52,"vol":520,"trade_turnover":6754.958,"count":124},{"id":1603530000,"open":12998.2,"close":12990.6,"high":13020.3,"low":12893.6,"amount":0.454,"vol":454,"trade_turnover":5891.0574,"count":115},{"id":1603533600,"open":12996.4,"close":13030.1,"high":13059.1,"low":12913.2,"amount":0.502,"vol":502,"trade_turnover":6525.9004,"count":124},{"id":1603537200,"open":12988.4,"close":13033.2,"high":13068.3,"low":12940.2,"amount":0.468,"vol":468,"trade_turnover":6091.0376,"count":119},{"id":1603540800,"open":13035.3,"close":13006.5,"high":13071.8,"low":12978.9,"amount":0.468,"vol":468,"trade_turnover":6102.5902,"count":123},{"id":1603544400,"open":13038.8,"close":12985.9,"high":13066.7,"low":12928.1,"amount":0.534,"vol":534,"trade_turnover":6950.4268,"count":123},{"id":1603548000,"open":12986.3,"close":13042.0,"high":13100.1,"low":12960.5,"amount":0.47,"vol":470,"trade_turnover":6124.2178,"count":100},{"id":1603551600,"open":13038.4,"close":13102.2,"high":13196.5,"low":13038.4,"amount":0.456,"vol":456,"trade_turnover":5989.6362,"count":120},{"id":1603555200,"open":13136.8,"close":13052.7,"high":13176.6,"low":12984.6,"amount":0.458,"vol":458,"trade_turnover":5976.331,"count":121},{"id":1603558800,"open":13006.2,"close":13177.8,"high":13177.8,"low":13003.2,"amount":0.452,"vol":452,"trade_turnover":5911.7058,"count":118},{"id":1603562400,"open":13127.7,"close":13080.8,"high":13170.7,"low":13023.0,"amount":0.468,"vol":468,"trade_turnover":6122.375,"count":119},{"id":1603566000,"open":13040.7,"close":13148.4,"high":13179.3,"low":13014.2,"amount":0.468,"vol":468,"trade_turnover":6126.4278,"count":120},{"id":1603569600,"open":13073.5,"close":13090.1,"high":13179.6,"low":12992.5,"amount":0.47,"vol":470,"trade_turnover":6151.4758,"count":119},{"id":1603573200,"open":13035.4,"close":12993.9,"high":13148.7,"low":12980.7,"amount":0.458,"vol":458,"trade_turnover":5981.071,"count":117},{"id":1603576800,"open":13040.7,"close":13041.1,"high":13112.1,"low":12975.6,"amount":0.478,"vol":478,"trade_turnover":6225.4216,"count":118},{"id":1603580400,"open":13012.6,"close":13184.3,"high":13184.3,"low":13009.3,"amount":0.472,"vol":472,"trade_turnover":6173.4244,"count":118},{"id":1603584000,"open":13080.8,"close":13154.3,"high":13170.4,"low":13007.7,"amount":0.46,"vol":460,"trade_turnover":6024.09,"count":115},{"id":1603587600,"open":13092.0,"close":13196.1,"high":13196.8,"low":13024.0,"amount":0.398,"vol":398,"trade_turnover":5217.5364,"count":102},{"id":1603591200,"open":13124.7,"close":13082.4,"high":13175.1,"low":13035.0,"amount":0.476,"vol":476,"trade_turnover":6228.6596,"count":120},{"id":1603594800,"open":13049.1,"close":13259.0,"high":13383.8,"low":13049.1,"amount":0.578,"vol":578,"trade_turnover":7629.3886,"count":137},{"id":1603598400,"open":13277.0,"close":13243.4,"high":13369.0,"low":13216.0,"amount":0.47,"vol":470,"trade_turnover":6247.955,"count":122},{"id":1603602000,"open":13285.3,"close":13017.3,"high":13353.3,"low":13010.1,"amount":0.61,"vol":610,"trade_turnover":8048.8598,"count":134},{"id":1603605600,"open":13022.5,"close":13060.3,"high":13105.7,"low":13018.2,"amount":0.486,"vol":486,"trade_turnover":6344.1474,"count":118},{"id":1603609200,"open":13048.5,"close":13078.1,"high":13112.1,"low":13022.0,"amount":0.464,"vol":464,"trade_turnover":6061.5416,"count":120},{"id":1603612800,"open":13077.2,"close":13046.0,"high":13091.0,"low":13017.2,"amount":0.464,"vol":464,"trade_turnover":6055.3734,"count":120},{"id":1603616400,"open":13065.1,"close":13040.8,"high":13084.0,"low":13014.2,"amount":0.478,"vol":478,"trade_turnover":6235.7882,"count":117},{"id":1603620000,"open":13047.1,"close":13028.5,"high":13064.2,"low":13010.2,"amount":0.478,"vol":478,"trade_turnover":6232.2428,"count":125},{"id":1603623600,"open":13061.5,"close":12897.6,"high":13061.5,"low":12852.9,"amount":0.534,"vol":534,"trade_turnover":6918.1226,"count":123},{"id":1603627200,"open":12908.3,"close":12964.3,"high":13069.7,"low":12893.2,"amount":0.444,"vol":444,"trade_turnover":5755.8712,"count":117},{"id":1603630800,"open":13001.3,"close":12949.3,"high":13071.9,"low":12891.8,"amount":0.498,"vol":498,"trade_turnover":6465.078,"count":119},{"id":1603634400,"open":12975.8,"close":12946.8,"high":13077.7,"low":12900.0,"amount":0.468,"vol":468,"trade_turnover":6075.4554,"count":116},{"id":1603638000,"open":12975.2,"close":12883.3,"high":13069.1,"low":12883.3,"amount":0.47,"vol":470,"trade_turnover":6097.1072,"count":119},{"id":1603641600,"open":12916.2,"close":12978.7,"high":13067.9,"low":12877.5,"amount":0.482,"vol":482,"trade_turnover":6256.4472,"count":118},{"id":1603645200,"open":13008.0,"close":13004.4,"high":13087.5,"low":12922.7,"amount":0.47,"vol":470,"trade_turnover":6108.3892,"count":117},{"id":1603648800,"open":12972.8,"close":12957.2,"high":13067.6,"low":12893.6,"amount":0.468,"vol":468,"trade_turnover":6079.1484,"count":118},{"id":1603652400,"open":12996.5,"close":13021.8,"high":13066.9,"low":12916.6,"amount":0.442,"vol":442,"trade_turnover":5746.5548,"count":118},{"id":1603656000,"open":12992.9,"close":12985.4,"high":13081.5,"low":12944.9,"amount":0.508,"vol":508,"trade_turnover":6616.9872,"count":120},{"id":1603659600,"open":12999.9,"close":13011.2,"high":13068.6,"low":12921.4,"amount":0.508,"vol":508,"trade_turnover":6614.816,"count":122},{"id":1603663200,"open":12979.6,"close":12959.4,"high":13073.8,"low":12911.9,"amount":0.486,"vol":486,"trade_turnover":6320.907,"count":121},{"id":1603666800,"open":12963.4,"close":13032.1,"high":13085.2,"low":12927.8,"amount":0.452,"vol":452,"trade_turnover":5878.6442,"count":113},{"id":1603670400,"open":12964.2,"close":13001.0,"high":13076.7,"low":12918.3,"amount":0.482,"vol":482,"trade_turnover":6263.698,"count":121},{"id":1603674000,"open":13040.0,"close":13053.7,"high":13096.4,"low":12991.2,"amount":0.478,"vol":478,"trade_turnover":6232.2328,"count":124},{"id":1603677600,"open":13060.6,"close":13064.4,"high":13185.7,"low":12985.1,"amount":0.488,"vol":488,"trade_turnover":6387.534,"count":121},{"id":1603681200,"open":13032.3,"close":13092.8,"high":13187.2,"low":12984.1,"amount":0.486,"vol":486,"trade_turnover":6369.0272,"count":135},{"id":1603684800,"open":13092.0,"close":13132.6,"high":13181.6,"low":12962.3,"amount":0.51,"vol":510,"trade_turnover":6679.829,"count":131},{"id":1603688400,"open":13129.2,"close":13092.1,"high":13205.3,"low":13025.3,"amount":0.506,"vol":506,"trade_turnover":6641.2128,"count":126},{"id":1603692000,"open":13121.8,"close":13071.4,"high":13188.1,"low":12989.8,"amount":1.616,"vol":1616,"trade_turnover":21170.8224,"count":141},{"id":1603695600,"open":13061.0,"close":13038.7,"high":13100.0,"low":12965.2,"amount":3.746,"vol":3746,"trade_turnover":48924.8902,"count":110},{"id":1603699200,"open":13030.9,"close":13039.3,"high":13102.0,"low":12852.8,"amount":8.966,"vol":8966,"trade_turnover":116525.5534,"count":173},{"id":1603702800,"open":13047.1,"close":13075.9,"high":13088.4,"low":13039.8,"amount":4.48,"vol":4480,"trade_turnover":58521.1714,"count":124},{"id":1603706400,"open":13072.1,"close":13100.0,"high":13100.0,"low":13060.2,"amount":4.272,"vol":4272,"trade_turnover":55895.9778,"count":130},{"id":1603710000,"open":13100.0,"close":13138.4,"high":13159.0,"low":13100.0,"amount":29.798,"vol":29798,"trade_turnover":391138.024,"count":230},{"id":1603713600,"open":13138.8,"close":13149.8,"high":13200.0,"low":13100.0,"amount":5.154,"vol":5154,"trade_turnover":67694.652,"count":188},{"id":1603717200,"open":13150.0,"close":13205.8,"high":13351.5,"low":13133.1,"amount":35.608,"vol":35608,"trade_turnover":472780.3394,"count":328},{"id":1603720800,"open":13203.0,"close":13166.1,"high":13280.0,"low":13144.1,"amount":31.748,"vol":31748,"trade_turnover":418744.5588,"count":235},{"id":1603724400,"open":13159.0,"close":12978.0,"high":13165.2,"low":12903.8,"amount":36.53,"vol":36530,"trade_turnover":476940.3296,"count":384},{"id":1603728000,"open":12965.0,"close":12869.6,"high":13069.8,"low":12850.5,"amount":35.018,"vol":35018,"trade_turnover":453288.918,"count":323},{"id":1603731600,"open":12879.2,"close":12873.8,"high":12941.5,"low":12583.9,"amount":92.628,"vol":92628,"trade_turnover":1185973.467,"count":560},{"id":1603735200,"open":12856.2,"close":12946.8,"high":12954.5,"low":12820.4,"amount":4.302,"vol":4302,"trade_turnover":55481.0054,"count":128},{"id":1603738800,"open":12945.6,"close":12953.4,"high":12953.5,"low":12914.1,"amount":13.83,"vol":13830,"trade_turnover":179112.1598,"count":118},{"id":1603742400,"open":12953.5,"close":12983.4,"high":13007.5,"low":12953.5,"amount":17.172,"vol":17172,"trade_turnover":223230.2122,"count":132},{"id":1603746000,"open":12983.1,"close":12993.8,"high":13007.5,"low":12982.7,"amount":3.212,"vol":3212,"trade_turnover":41767.8906,"count":59},{"id":1603749600,"open":13002.1,"close":13007.5,"high":13007.5,"low":12974.0,"amount":1.504,"vol":1504,"trade_turnover":19543.3568,"count":74},{"id":1603753200,"open":13007.5,"close":13033.7,"high":13061.2,"low":13007.5,"amount":3.454,"vol":3454,"trade_turnover":45001.601,"count":101},{"id":1603756800,"open":13029.2,"close":13067.1,"high":13105.0,"low":13028.3,"amount":8.784,"vol":8784,"trade_turnover":114871.8246,"count":98},{"id":1603760400,"open":13074.3,"close":13061.7,"high":13074.4,"low":13051.5,"amount":11.592,"vol":11592,"trade_turnover":151386.9038,"count":66},{"id":1603764000,"open":13061.7,"close":13049.7,"high":13097.6,"low":13040.1,"amount":19.298,"vol":19298,"trade_turnover":252061.019,"count":109},{"id":1603767600,"open":13057.6,"close":13070.4,"high":13080.0,"low":13057.1,"amount":22.992,"vol":22992,"trade_turnover":300453.9788,"count":69},{"id":1603771200,"open":13080.0,"close":13103.3,"high":13175.0,"low":13079.6,"amount":14.396,"vol":14396,"trade_turnover":188461.9156,"count":59},{"id":1603774800,"open":13121.3,"close":13073.6,"high":13121.3,"low":13069.7,"amount":5.058,"vol":5058,"trade_turnover":66201.3552,"count":44},{"id":1603778400,"open":13074.9,"close":13103.4,"high":13149.0,"low":13069.6,"amount":9.106,"vol":9106,"trade_turnover":119104.8906,"count":107},{"id":1603782000,"open":13103.3,"close":13130.0,"high":13169.8,"low":12992.4,"amount":73.95,"vol":73950,"trade_turnover":968195.155,"count":305},{"id":1603785600,"open":13135.1,"close":13123.8,"high":13148.4,"low":13044.0,"amount":18.732,"vol":18732,"trade_turnover":245533.5448,"count":135},{"id":1603789200,"open":13115.5,"close":13131.7,"high":13131.8,"low":13075.7,"amount":13.756,"vol":13756,"trade_turnover":180253.7708,"count":102},{"id":1603792800,"open":13134.8,"close":13216.9,"high":13252.0,"low":13063.4,"amount":154.108,"vol":154108,"trade_turnover":2029983.656,"count":525},{"id":1603796400,"open":13218.8,"close":13395.8,"high":13590.1,"low":13213.5,"amount":170.09,"vol":170090,"trade_turnover":2276279.742,"count":591},{"id":1603800000,"open":13395.9,"close":13376.9,"high":13414.0,"low":13331.7,"amount":48.928,"vol":48928,"trade_turnover":654585.9108,"count":216},{"id":1603803600,"open":13376.5,"close":13384.3,"high":13490.9,"low":13329.8,"amount":63.294,"vol":63294,"trade_turnover":848130.9212,"count":316},{"id":1603807200,"open":13392.6,"close":13398.2,"high":13415.8,"low":13344.8,"amount":12.892,"vol":12892,"trade_turnover":172618.6864,"count":124},{"id":1603810800,"open":13398.2,"close":13598.5,"high":13626.7,"low":13398.2,"amount":93.22,"vol":93220,"trade_turnover":1262695.5466,"count":476},{"id":1603814400,"open":13595.8,"close":13639.9,"high":13639.9,"low":13520.2,"amount":85.45,"vol":85450,"trade_turnover":1161481.4136,"count":435},{"id":1603818000,"open":13640.0,"close":13688.1,"high":13826.7,"low":13589.0,"amount":191.812,"vol":191812,"trade_turnover":2628428.3788,"count":711},{"id":1603821600,"open":13685.0,"close":13630.1,"high":13745.0,"low":13528.2,"amount":65.434,"vol":65434,"trade_turnover":891541.8394,"count":410},{"id":1603825200,"open":13629.4,"close":13637.1,"high":13659.8,"low":13595.4,"amount":5.788,"vol":5788,"trade_turnover":78836.2578,"count":65},{"id":1603828800,"open":13644.4,"close":13616.6,"high":13805.1,"low":13582.6,"amount":163.104,"vol":163104,"trade_turnover":2234040.3544,"count":537},{"id":1603832400,"open":13609.8,"close":13705.5,"high":13753.5,"low":13609.8,"amount":9.884,"vol":9884,"trade_turnover":135406.4752,"count":101},{"id":1603836000,"open":13705.4,"close":13739.9,"high":13739.9,"low":13658.2,"amount":7.436,"vol":7436,"trade_turnover":101840.3508,"count":100},{"id":1603839600,"open":13739.9,"close":13649.6,"high":13794.6,"low":13582.6,"amount":17.086,"vol":17086,"trade_turnover":233971.8448,"count":234},{"id":1603843200,"open":13645.9,"close":13701.7,"high":13745.2,"low":13618.8,"amount":24.108,"vol":24108,"trade_turnover":330206.5694,"count":177},{"id":1603846800,"open":13702.1,"close":13702.6,"high":13725.6,"low":13647.9,"amount":15.892,"vol":15892,"trade_turnover":217816.7008,"count":151},{"id":1603850400,"open":13701.7,"close":13811.6,"high":13832.2,"low":13680.2,"amount":46.548,"vol":46548,"trade_turnover":640636.0352,"count":274},{"id":1603854000,"open":13818.5,"close":13777.0,"high":13820.3,"low":13717.5,"amount":67.896,"vol":67896,"trade_turnover":935838.2238,"count":320},{"id":1603857600,"open":13767.3,"close":13735.7,"high":13807.2,"low":13710.0,"amount":33.156,"vol":33156,"trade_turnover":455941.234,"count":210},{"id":1603861200,"open":13735.5,"close":13715.8,"high":13753.9,"low":13671.3,"amount":32.076,"vol":32076,"trade_turnover":439612.64,"count":198},{"id":1603864800,"open":13715.9,"close":13701.3,"high":13757.0,"low":13694.9,"amount":14.756,"vol":14756,"trade_turnover":202602.5164,"count":122},{"id":1603868400,"open":13701.2,"close":13674.2,"high":13708.7,"low":13550.0,"amount":155.534,"vol":155534,"trade_turnover":2117935.0928,"count":635},{"id":1603872000,"open":13673.0,"close":13691.7,"high":13691.7,"low":13584.0,"amount":29.846,"vol":29846,"trade_turnover":407073.1398,"count":240},{"id":1603875600,"open":13689.3,"close":13587.1,"high":13707.5,"low":13573.5,"amount":104.542,"vol":104542,"trade_turnover":1425079.9344,"count":377},{"id":1603879200,"open":13584.6,"close":13552.7,"high":13618.0,"low":13504.7,"amount":73.818,"vol":73818,"trade_turnover":1001666.0908,"count":358},{"id":1603882800,"open":13552.6,"close":13336.4,"high":13565.4,"low":13330.0,"amount":176.544,"vol":176544,"trade_turnover":2369166.1492,"count":1004},{"id":1603886400,"open":13331.5,"close":13300.3,"high":13385.0,"low":13173.9,"amount":289.73,"vol":289730,"trade_turnover":3846751.7166,"count":968},{"id":1603890000,"open":13300.2,"close":13129.9,"high":13340.0,"low":13122.9,"amount":139.822,"vol":139822,"trade_turnover":1848876.932,"count":612},{"id":1603893600,"open":13123.4,"close":13082.2,"high":13168.2,"low":12915.9,"amount":367.876,"vol":367876,"trade_turnover":4802516.9818,"count":1168},{"id":1603897200,"open":13077.1,"close":13221.2,"high":13235.2,"low":13052.3,"amount":84.044,"vol":84044,"trade_turnover":1106883.1282,"count":375},{"id":1603900800,"open":13218.7,"close":13145.1,"high":13218.7,"low":13050.0,"amount":29.566,"vol":29566,"trade_turnover":388697.4104,"count":244},{"id":1603904400,"open":13145.1,"close":13176.7,"high":13204.9,"low":13006.6,"amount":53.336,"vol":53336,"trade_turnover":700385.2784,"count":299},{"id":1603908000,"open":13171.0,"close":13196.5,"high":13219.6,"low":13131.0,"amount":34.164,"vol":34164,"trade_turnover":450210.5778,"count":218},{"id":1603911600,"open":13200.0,"close":13154.9,"high":13237.4,"low":13145.0,"amount":22.158,"vol":22158,"trade_turnover":292020.0438,"count":185},{"id":1603915200,"open":13154.5,"close":13198.1,"high":13211.8,"low":13147.4,"amount":4.548,"vol":4548,"trade_turnover":59991.1118,"count":75},{"id":1603918800,"open":13193.5,"close":13190.1,"high":13196.5,"low":13100.2,"amount":3.52,"vol":3520,"trade_turnover":46175.428,"count":68},{"id":1603922400,"open":13185.4,"close":13252.0,"high":13267.5,"low":13185.4,"amount":3.122,"vol":3122,"trade_turnover":41304.2018,"count":72},{"id":1603926000,"open":13242.1,"close":13265.9,"high":13282.3,"low":13235.9,"amount":14.768,"vol":14768,"trade_turnover":195689.0764,"count":86},{"id":1603929600,"open":13253.9,"close":13245.1,"high":13294.7,"low":13237.4,"amount":19.968,"vol":19968,"trade_turnover":264834.1944,"count":98},{"id":1603933200,"open":13244.6,"close":13274.2,"high":13285.3,"low":13166.3,"amount":35.282,"vol":35282,"trade_turnover":465789.6302,"count":192},{"id":1603936800,"open":13275.9,"close":13241.1,"high":13277.7,"low":13212.2,"amount":9.748,"vol":9748,"trade_turnover":129016.0684,"count":119},{"id":1603940400,"open":13237.1,"close":13262.5,"high":13262.5,"low":13174.6,"amount":27.3,"vol":27300,"trade_turnover":360589.8982,"count":199},{"id":1603944000,"open":13269.1,"close":13229.5,"high":13277.7,"low":13229.5,"amount":18.904,"vol":18904,"trade_turnover":250713.2812,"count":109},{"id":1603947600,"open":13228.5,"close":13274.8,"high":13274.8,"low":13228.5,"amount":15.822,"vol":15822,"trade_turnover":209781.909,"count":134},{"id":1603951200,"open":13274.8,"close":13255.0,"high":13323.0,"low":13242.3,"amount":91.246,"vol":91246,"trade_turnover":1211271.2788,"count":294},{"id":1603954800,"open":13255.0,"close":13142.4,"high":13269.3,"low":13123.1,"amount":187.622,"vol":187622,"trade_turnover":2478299.7074,"count":506},{"id":1603958400,"open":13145.9,"close":13124.8,"high":13182.4,"low":13094.1,"amount":69.532,"vol":69532,"trade_turnover":914157.2418,"count":226},{"id":1603962000,"open":13129.5,"close":13183.7,"high":13197.1,"low":13129.5,"amount":23.184,"vol":23184,"trade_turnover":305485.9524,"count":141},{"id":1603965600,"open":13184.8,"close":13105.2,"high":13187.5,"low":13053.1,"amount":121.146,"vol":121146,"trade_turnover":1590026.4416,"count":442},{"id":1603969200,"open":13105.1,"close":13060.1,"high":13171.4,"low":13060.1,"amount":47.498,"vol":47498,"trade_turnover":623578.149,"count":262},{"id":1603972800,"open":13056.9,"close":13131.8,"high":13145.8,"low":12977.9,"amount":126.552,"vol":126552,"trade_turnover":1652549.311,"count":481},{"id":1603976400,"open":13131.7,"close":13230.0,"high":13237.2,"low":13102.0,"amount":100.482,"vol":100482,"trade_turnover":1326403.7206,"count":325},{"id":1603980000,"open":13231.0,"close":13420.8,"high":13476.1,"low":13231.0,"amount":253.258,"vol":253258,"trade_turnover":3384941.438,"count":752},{"id":1603983600,"open":13416.0,"close":13420.6,"high":13458.7,"low":13358.7,"amount":64.71,"vol":64710,"trade_turnover":869052.3804,"count":269},{"id":1603987200,"open":13421.9,"close":13535.9,"high":13594.5,"low":13391.8,"amount":120.24,"vol":120240,"trade_turnover":1626567.8278,"count":570}]} +2024-01-18 11:13:06.928 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:41] - 请求 KLine 数据解析之后的数据为:{"wsid":19750305,"data":[{"amount":0.276,"high":12300.0,"vol":276,"low":11715.8,"count":39,"id":1603270800,"close":12196.7,"tradeTurnover":3315.9104,"open":12198.0},{"amount":0.198,"high":12289.9,"vol":198,"low":12111.0,"count":21,"id":1603274400,"close":12277.9,"tradeTurnover":2420.7728,"open":12196.7},{"amount":0.012,"high":12277.9,"vol":12,"low":12000.0,"count":5,"id":1603278000,"close":12000.0,"tradeTurnover":145.2238,"open":12111.0},{"amount":0.084,"high":12498.0,"vol":84,"low":12078.0,"count":12,"id":1603281600,"close":12497.4,"tradeTurnover":1040.0504,"open":12078.0},{"amount":1.122,"high":12495.6,"vol":1122,"low":12282.9,"count":112,"id":1603285200,"close":12373.5,"tradeTurnover":13905.3124,"open":12495.6},{"amount":5.29,"high":12807.6,"vol":5290,"low":12358.1,"count":155,"id":1603288800,"close":12689.9,"tradeTurnover":66852.128,"open":12412.9},{"amount":1.174,"high":12778.7,"vol":1174,"low":12573.2,"count":113,"id":1603292400,"close":12701.9,"tradeTurnover":14907.367,"open":12692.8},{"amount":1.156,"high":12920.9,"vol":1156,"low":12624.8,"count":115,"id":1603296000,"close":12835.9,"tradeTurnover":14802.449,"open":12679.7},{"amount":1.12,"high":12908.3,"vol":1120,"low":12687.5,"count":115,"id":1603299600,"close":12754.2,"tradeTurnover":14345.7324,"open":12848.3},{"amount":1.106,"high":12849.0,"vol":1106,"low":12668.3,"count":114,"id":1603303200,"close":12740.2,"tradeTurnover":14105.3504,"open":12743.7},{"amount":1.032,"high":12843.1,"vol":1032,"low":12597.2,"count":112,"id":1603306800,"close":12650.3,"tradeTurnover":13125.4568,"open":12729.5},{"amount":1.154,"high":12848.4,"vol":1154,"low":12610.2,"count":116,"id":1603310400,"close":12807.0,"tradeTurnover":14680.638,"open":12666.8},{"amount":1.164,"high":13005.1,"vol":1164,"low":12748.2,"count":114,"id":1603314000,"close":12938.9,"tradeTurnover":14976.9366,"open":12866.0},{"amount":1.174,"high":13211.2,"vol":1174,"low":12865.7,"count":114,"id":1603317600,"close":13122.0,"tradeTurnover":15285.2446,"open":12921.0},{"amount":1.172,"high":13173.2,"vol":1172,"low":12688.6,"count":117,"id":1603321200,"close":12829.8,"tradeTurnover":15060.9938,"open":13153.2},{"amount":1.17,"high":12988.1,"vol":1170,"low":12764.4,"count":117,"id":1603324800,"close":12885.9,"tradeTurnover":15046.2046,"open":12793.1},{"amount":1.158,"high":12972.6,"vol":1158,"low":12757.5,"count":118,"id":1603328400,"close":12757.5,"tradeTurnover":14882.4656,"open":12860.4},{"amount":1.124,"high":12848.0,"vol":1124,"low":12729.0,"count":115,"id":1603332000,"close":12788.8,"tradeTurnover":14368.7948,"open":12824.1},{"amount":1.194,"high":12834.4,"vol":1194,"low":12729.0,"count":111,"id":1603335600,"close":12767.2,"tradeTurnover":15268.9298,"open":12791.7},{"amount":1.152,"high":12778.3,"vol":1152,"low":12729.0,"count":115,"id":1603339200,"close":12762.2,"tradeTurnover":14695.4876,"open":12729.0},{"amount":1.21,"high":12842.0,"vol":1210,"low":12730.6,"count":119,"id":1603342800,"close":12813.8,"tradeTurnover":15440.8162,"open":12763.1},{"amount":1.188,"high":12795.0,"vol":1188,"low":12728.0,"count":123,"id":1603346400,"close":12729.1,"tradeTurnover":15128.0098,"open":12795.0},{"amount":1.266,"high":12730.6,"vol":1266,"low":12728.3,"count":112,"id":1603350000,"close":12730.6,"tradeTurnover":16115.1306,"open":12728.6},{"amount":1.35,"high":12921.5,"vol":1350,"low":12729.9,"count":127,"id":1603353600,"close":12770.1,"tradeTurnover":17233.7326,"open":12730.3},{"amount":0.98,"high":12872.1,"vol":980,"low":12760.1,"count":99,"id":1603357200,"close":12780.4,"tradeTurnover":12553.9826,"open":12824.9},{"amount":0.266,"high":13002.7,"vol":266,"low":12775.6,"count":30,"id":1603360800,"close":12934.2,"tradeTurnover":3415.023,"open":12784.9},{"amount":1.004,"high":13057.0,"vol":1004,"low":12886.6,"count":117,"id":1603364400,"close":13045.0,"tradeTurnover":13020.8576,"open":12977.0},{"amount":1.134,"high":12973.4,"vol":1134,"low":12751.6,"count":111,"id":1603368000,"close":12847.9,"tradeTurnover":14594.2752,"open":12958.5},{"amount":1.152,"high":13000.8,"vol":1152,"low":12743.0,"count":114,"id":1603371600,"close":12931.0,"tradeTurnover":14877.7314,"open":12882.7},{"amount":1.182,"high":12995.3,"vol":1182,"low":12783.9,"count":115,"id":1603375200,"close":12917.8,"tradeTurnover":15224.4716,"open":12890.4},{"amount":1.176,"high":13031.2,"vol":1176,"low":12817.9,"count":117,"id":1603378800,"close":12953.0,"tradeTurnover":15197.208,"open":12918.8},{"amount":1.146,"high":13100.2,"vol":1146,"low":12865.6,"count":119,"id":1603382400,"close":13055.6,"tradeTurnover":14851.9604,"open":12923.1},{"amount":1.534,"high":13105.7,"vol":1534,"low":12835.5,"count":124,"id":1603386000,"close":13082.7,"tradeTurnover":19927.8288,"open":12967.6},{"amount":1.268,"high":13115.0,"vol":1268,"low":12938.7,"count":117,"id":1603389600,"close":13016.4,"tradeTurnover":16505.4738,"open":13020.4},{"amount":1.13,"high":13171.2,"vol":1130,"low":12961.8,"count":112,"id":1603393200,"close":12970.6,"tradeTurnover":14762.952,"open":13028.3},{"amount":1.206,"high":13216.1,"vol":1206,"low":12998.5,"count":117,"id":1603396800,"close":13089.3,"tradeTurnover":15807.1226,"open":13016.7},{"amount":1.332,"high":13203.7,"vol":1332,"low":12932.9,"count":114,"id":1603400400,"close":13092.0,"tradeTurnover":17423.4422,"open":13136.0},{"amount":1.21,"high":13250.5,"vol":1210,"low":12984.7,"count":114,"id":1603404000,"close":13055.9,"tradeTurnover":15876.0632,"open":13119.4},{"amount":1.286,"high":13126.5,"vol":1286,"low":12857.2,"count":116,"id":1603407600,"close":12890.4,"tradeTurnover":16688.422,"open":13059.4},{"amount":1.502,"high":12994.0,"vol":1502,"low":12751.6,"count":131,"id":1603411200,"close":12892.2,"tradeTurnover":19331.1596,"open":12929.7},{"amount":1.386,"high":13003.2,"vol":1386,"low":12786.0,"count":121,"id":1603414800,"close":12898.3,"tradeTurnover":17904.8902,"open":12921.7},{"amount":1.416,"high":13054.0,"vol":1416,"low":12800.7,"count":122,"id":1603418400,"close":12975.1,"tradeTurnover":18306.6204,"open":12951.6},{"amount":1.19,"high":13030.7,"vol":1190,"low":12875.0,"count":118,"id":1603422000,"close":12947.0,"tradeTurnover":15409.7984,"open":12967.3},{"amount":1.022,"high":13047.3,"vol":1022,"low":12832.8,"count":127,"id":1603425600,"close":12852.0,"tradeTurnover":13214.4388,"open":12925.2},{"amount":0.478,"high":12991.7,"vol":478,"low":12841.2,"count":118,"id":1603429200,"close":12931.1,"tradeTurnover":6180.2486,"open":12859.0},{"amount":0.522,"high":13014.1,"vol":522,"low":12871.9,"count":132,"id":1603432800,"close":12939.6,"tradeTurnover":6759.0324,"open":12935.9},{"amount":0.476,"high":12998.9,"vol":476,"low":12917.1,"count":118,"id":1603436400,"close":12925.4,"tradeTurnover":6163.3118,"open":12923.1},{"amount":0.508,"high":13014.0,"vol":508,"low":12916.1,"count":122,"id":1603440000,"close":12962.6,"tradeTurnover":6585.3656,"open":12942.2},{"amount":0.564,"high":13012.5,"vol":564,"low":12909.9,"count":124,"id":1603443600,"close":12926.4,"tradeTurnover":7308.8828,"open":12970.5},{"amount":0.536,"high":13059.5,"vol":536,"low":12925.7,"count":124,"id":1603447200,"close":13007.7,"tradeTurnover":6957.8796,"open":13001.2},{"amount":0.486,"high":13078.4,"vol":486,"low":12906.5,"count":122,"id":1603450800,"close":12970.6,"tradeTurnover":6326.1434,"open":13025.4},{"amount":0.494,"high":13025.0,"vol":494,"low":12850.8,"count":117,"id":1603454400,"close":12935.4,"tradeTurnover":6396.0984,"open":12963.9},{"amount":0.466,"high":13043.3,"vol":466,"low":12911.0,"count":117,"id":1603458000,"close":12951.7,"tradeTurnover":6049.1412,"open":12913.3},{"amount":0.46,"high":13006.4,"vol":460,"low":12840.4,"count":116,"id":1603461600,"close":12858.8,"tradeTurnover":5941.815,"open":12999.6},{"amount":0.492,"high":12932.9,"vol":492,"low":12826.5,"count":117,"id":1603465200,"close":12881.9,"tradeTurnover":6340.214,"open":12885.7},{"amount":0.484,"high":12933.5,"vol":484,"low":12744.4,"count":123,"id":1603468800,"close":12784.1,"tradeTurnover":6205.4138,"open":12854.4},{"amount":0.562,"high":12893.1,"vol":562,"low":12730.1,"count":152,"id":1603472400,"close":12847.7,"tradeTurnover":7218.9184,"open":12832.3},{"amount":0.53,"high":12939.3,"vol":530,"low":12751.4,"count":128,"id":1603476000,"close":12915.7,"tradeTurnover":6825.7004,"open":12874.1},{"amount":0.444,"high":12972.9,"vol":444,"low":12786.6,"count":117,"id":1603479600,"close":12972.9,"tradeTurnover":5727.7452,"open":12867.9},{"amount":0.492,"high":13002.2,"vol":492,"low":12842.9,"count":116,"id":1603483200,"close":12991.6,"tradeTurnover":6375.1566,"open":12956.7},{"amount":0.5,"high":13004.3,"vol":500,"low":12936.6,"count":125,"id":1603486800,"close":12943.5,"tradeTurnover":6485.468,"open":13004.3},{"amount":0.492,"high":13010.3,"vol":492,"low":12884.7,"count":120,"id":1603490400,"close":12989.2,"tradeTurnover":6376.1492,"open":12923.6},{"amount":0.51,"high":13024.4,"vol":510,"low":12884.6,"count":121,"id":1603494000,"close":12884.6,"tradeTurnover":6622.3406,"open":12974.9},{"amount":0.488,"high":13018.3,"vol":488,"low":12811.1,"count":120,"id":1603497600,"close":12953.9,"tradeTurnover":6317.7938,"open":12973.7},{"amount":0.482,"high":13018.1,"vol":482,"low":12872.8,"count":117,"id":1603501200,"close":12934.2,"tradeTurnover":6242.4178,"open":12927.5},{"amount":0.484,"high":13003.9,"vol":484,"low":12903.3,"count":117,"id":1603504800,"close":12989.1,"tradeTurnover":6278.1756,"open":12971.9},{"amount":0.474,"high":13013.4,"vol":474,"low":12938.3,"count":122,"id":1603508400,"close":12975.9,"tradeTurnover":6157.7096,"open":13000.1},{"amount":0.526,"high":13009.4,"vol":526,"low":12905.5,"count":124,"id":1603512000,"close":12963.3,"tradeTurnover":6831.5658,"open":12989.7},{"amount":0.522,"high":13041.8,"vol":522,"low":12875.3,"count":127,"id":1603515600,"close":12989.7,"tradeTurnover":6768.8994,"open":12910.5},{"amount":0.49,"high":13058.1,"vol":490,"low":12908.8,"count":120,"id":1603519200,"close":13003.6,"tradeTurnover":6370.5714,"open":12994.7},{"amount":0.478,"high":13037.8,"vol":478,"low":12981.7,"count":120,"id":1603522800,"close":13004.2,"tradeTurnover":6218.9722,"open":13011.9},{"amount":0.52,"high":13030.6,"vol":520,"low":12899.4,"count":124,"id":1603526400,"close":12998.2,"tradeTurnover":6754.958,"open":13003.0},{"amount":0.454,"high":13020.3,"vol":454,"low":12893.6,"count":115,"id":1603530000,"close":12990.6,"tradeTurnover":5891.0574,"open":12998.2},{"amount":0.502,"high":13059.1,"vol":502,"low":12913.2,"count":124,"id":1603533600,"close":13030.1,"tradeTurnover":6525.9004,"open":12996.4},{"amount":0.468,"high":13068.3,"vol":468,"low":12940.2,"count":119,"id":1603537200,"close":13033.2,"tradeTurnover":6091.0376,"open":12988.4},{"amount":0.468,"high":13071.8,"vol":468,"low":12978.9,"count":123,"id":1603540800,"close":13006.5,"tradeTurnover":6102.5902,"open":13035.3},{"amount":0.534,"high":13066.7,"vol":534,"low":12928.1,"count":123,"id":1603544400,"close":12985.9,"tradeTurnover":6950.4268,"open":13038.8},{"amount":0.47,"high":13100.1,"vol":470,"low":12960.5,"count":100,"id":1603548000,"close":13042.0,"tradeTurnover":6124.2178,"open":12986.3},{"amount":0.456,"high":13196.5,"vol":456,"low":13038.4,"count":120,"id":1603551600,"close":13102.2,"tradeTurnover":5989.6362,"open":13038.4},{"amount":0.458,"high":13176.6,"vol":458,"low":12984.6,"count":121,"id":1603555200,"close":13052.7,"tradeTurnover":5976.331,"open":13136.8},{"amount":0.452,"high":13177.8,"vol":452,"low":13003.2,"count":118,"id":1603558800,"close":13177.8,"tradeTurnover":5911.7058,"open":13006.2},{"amount":0.468,"high":13170.7,"vol":468,"low":13023.0,"count":119,"id":1603562400,"close":13080.8,"tradeTurnover":6122.375,"open":13127.7},{"amount":0.468,"high":13179.3,"vol":468,"low":13014.2,"count":120,"id":1603566000,"close":13148.4,"tradeTurnover":6126.4278,"open":13040.7},{"amount":0.47,"high":13179.6,"vol":470,"low":12992.5,"count":119,"id":1603569600,"close":13090.1,"tradeTurnover":6151.4758,"open":13073.5},{"amount":0.458,"high":13148.7,"vol":458,"low":12980.7,"count":117,"id":1603573200,"close":12993.9,"tradeTurnover":5981.071,"open":13035.4},{"amount":0.478,"high":13112.1,"vol":478,"low":12975.6,"count":118,"id":1603576800,"close":13041.1,"tradeTurnover":6225.4216,"open":13040.7},{"amount":0.472,"high":13184.3,"vol":472,"low":13009.3,"count":118,"id":1603580400,"close":13184.3,"tradeTurnover":6173.4244,"open":13012.6},{"amount":0.46,"high":13170.4,"vol":460,"low":13007.7,"count":115,"id":1603584000,"close":13154.3,"tradeTurnover":6024.09,"open":13080.8},{"amount":0.398,"high":13196.8,"vol":398,"low":13024.0,"count":102,"id":1603587600,"close":13196.1,"tradeTurnover":5217.5364,"open":13092.0},{"amount":0.476,"high":13175.1,"vol":476,"low":13035.0,"count":120,"id":1603591200,"close":13082.4,"tradeTurnover":6228.6596,"open":13124.7},{"amount":0.578,"high":13383.8,"vol":578,"low":13049.1,"count":137,"id":1603594800,"close":13259.0,"tradeTurnover":7629.3886,"open":13049.1},{"amount":0.47,"high":13369.0,"vol":470,"low":13216.0,"count":122,"id":1603598400,"close":13243.4,"tradeTurnover":6247.955,"open":13277.0},{"amount":0.61,"high":13353.3,"vol":610,"low":13010.1,"count":134,"id":1603602000,"close":13017.3,"tradeTurnover":8048.8598,"open":13285.3},{"amount":0.486,"high":13105.7,"vol":486,"low":13018.2,"count":118,"id":1603605600,"close":13060.3,"tradeTurnover":6344.1474,"open":13022.5},{"amount":0.464,"high":13112.1,"vol":464,"low":13022.0,"count":120,"id":1603609200,"close":13078.1,"tradeTurnover":6061.5416,"open":13048.5},{"amount":0.464,"high":13091.0,"vol":464,"low":13017.2,"count":120,"id":1603612800,"close":13046.0,"tradeTurnover":6055.3734,"open":13077.2},{"amount":0.478,"high":13084.0,"vol":478,"low":13014.2,"count":117,"id":1603616400,"close":13040.8,"tradeTurnover":6235.7882,"open":13065.1},{"amount":0.478,"high":13064.2,"vol":478,"low":13010.2,"count":125,"id":1603620000,"close":13028.5,"tradeTurnover":6232.2428,"open":13047.1},{"amount":0.534,"high":13061.5,"vol":534,"low":12852.9,"count":123,"id":1603623600,"close":12897.6,"tradeTurnover":6918.1226,"open":13061.5},{"amount":0.444,"high":13069.7,"vol":444,"low":12893.2,"count":117,"id":1603627200,"close":12964.3,"tradeTurnover":5755.8712,"open":12908.3},{"amount":0.498,"high":13071.9,"vol":498,"low":12891.8,"count":119,"id":1603630800,"close":12949.3,"tradeTurnover":6465.078,"open":13001.3},{"amount":0.468,"high":13077.7,"vol":468,"low":12900.0,"count":116,"id":1603634400,"close":12946.8,"tradeTurnover":6075.4554,"open":12975.8},{"amount":0.47,"high":13069.1,"vol":470,"low":12883.3,"count":119,"id":1603638000,"close":12883.3,"tradeTurnover":6097.1072,"open":12975.2},{"amount":0.482,"high":13067.9,"vol":482,"low":12877.5,"count":118,"id":1603641600,"close":12978.7,"tradeTurnover":6256.4472,"open":12916.2},{"amount":0.47,"high":13087.5,"vol":470,"low":12922.7,"count":117,"id":1603645200,"close":13004.4,"tradeTurnover":6108.3892,"open":13008.0},{"amount":0.468,"high":13067.6,"vol":468,"low":12893.6,"count":118,"id":1603648800,"close":12957.2,"tradeTurnover":6079.1484,"open":12972.8},{"amount":0.442,"high":13066.9,"vol":442,"low":12916.6,"count":118,"id":1603652400,"close":13021.8,"tradeTurnover":5746.5548,"open":12996.5},{"amount":0.508,"high":13081.5,"vol":508,"low":12944.9,"count":120,"id":1603656000,"close":12985.4,"tradeTurnover":6616.9872,"open":12992.9},{"amount":0.508,"high":13068.6,"vol":508,"low":12921.4,"count":122,"id":1603659600,"close":13011.2,"tradeTurnover":6614.816,"open":12999.9},{"amount":0.486,"high":13073.8,"vol":486,"low":12911.9,"count":121,"id":1603663200,"close":12959.4,"tradeTurnover":6320.907,"open":12979.6},{"amount":0.452,"high":13085.2,"vol":452,"low":12927.8,"count":113,"id":1603666800,"close":13032.1,"tradeTurnover":5878.6442,"open":12963.4},{"amount":0.482,"high":13076.7,"vol":482,"low":12918.3,"count":121,"id":1603670400,"close":13001.0,"tradeTurnover":6263.698,"open":12964.2},{"amount":0.478,"high":13096.4,"vol":478,"low":12991.2,"count":124,"id":1603674000,"close":13053.7,"tradeTurnover":6232.2328,"open":13040.0},{"amount":0.488,"high":13185.7,"vol":488,"low":12985.1,"count":121,"id":1603677600,"close":13064.4,"tradeTurnover":6387.534,"open":13060.6},{"amount":0.486,"high":13187.2,"vol":486,"low":12984.1,"count":135,"id":1603681200,"close":13092.8,"tradeTurnover":6369.0272,"open":13032.3},{"amount":0.51,"high":13181.6,"vol":510,"low":12962.3,"count":131,"id":1603684800,"close":13132.6,"tradeTurnover":6679.829,"open":13092.0},{"amount":0.506,"high":13205.3,"vol":506,"low":13025.3,"count":126,"id":1603688400,"close":13092.1,"tradeTurnover":6641.2128,"open":13129.2},{"amount":1.616,"high":13188.1,"vol":1616,"low":12989.8,"count":141,"id":1603692000,"close":13071.4,"tradeTurnover":21170.8224,"open":13121.8},{"amount":3.746,"high":13100.0,"vol":3746,"low":12965.2,"count":110,"id":1603695600,"close":13038.7,"tradeTurnover":48924.8902,"open":13061.0},{"amount":8.966,"high":13102.0,"vol":8966,"low":12852.8,"count":173,"id":1603699200,"close":13039.3,"tradeTurnover":116525.5534,"open":13030.9},{"amount":4.48,"high":13088.4,"vol":4480,"low":13039.8,"count":124,"id":1603702800,"close":13075.9,"tradeTurnover":58521.1714,"open":13047.1},{"amount":4.272,"high":13100.0,"vol":4272,"low":13060.2,"count":130,"id":1603706400,"close":13100.0,"tradeTurnover":55895.9778,"open":13072.1},{"amount":29.798,"high":13159.0,"vol":29798,"low":13100.0,"count":230,"id":1603710000,"close":13138.4,"tradeTurnover":391138.024,"open":13100.0},{"amount":5.154,"high":13200.0,"vol":5154,"low":13100.0,"count":188,"id":1603713600,"close":13149.8,"tradeTurnover":67694.652,"open":13138.8},{"amount":35.608,"high":13351.5,"vol":35608,"low":13133.1,"count":328,"id":1603717200,"close":13205.8,"tradeTurnover":472780.3394,"open":13150.0},{"amount":31.748,"high":13280.0,"vol":31748,"low":13144.1,"count":235,"id":1603720800,"close":13166.1,"tradeTurnover":418744.5588,"open":13203.0},{"amount":36.53,"high":13165.2,"vol":36530,"low":12903.8,"count":384,"id":1603724400,"close":12978.0,"tradeTurnover":476940.3296,"open":13159.0},{"amount":35.018,"high":13069.8,"vol":35018,"low":12850.5,"count":323,"id":1603728000,"close":12869.6,"tradeTurnover":453288.918,"open":12965.0},{"amount":92.628,"high":12941.5,"vol":92628,"low":12583.9,"count":560,"id":1603731600,"close":12873.8,"tradeTurnover":1185973.467,"open":12879.2},{"amount":4.302,"high":12954.5,"vol":4302,"low":12820.4,"count":128,"id":1603735200,"close":12946.8,"tradeTurnover":55481.0054,"open":12856.2},{"amount":13.83,"high":12953.5,"vol":13830,"low":12914.1,"count":118,"id":1603738800,"close":12953.4,"tradeTurnover":179112.1598,"open":12945.6},{"amount":17.172,"high":13007.5,"vol":17172,"low":12953.5,"count":132,"id":1603742400,"close":12983.4,"tradeTurnover":223230.2122,"open":12953.5},{"amount":3.212,"high":13007.5,"vol":3212,"low":12982.7,"count":59,"id":1603746000,"close":12993.8,"tradeTurnover":41767.8906,"open":12983.1},{"amount":1.504,"high":13007.5,"vol":1504,"low":12974.0,"count":74,"id":1603749600,"close":13007.5,"tradeTurnover":19543.3568,"open":13002.1},{"amount":3.454,"high":13061.2,"vol":3454,"low":13007.5,"count":101,"id":1603753200,"close":13033.7,"tradeTurnover":45001.601,"open":13007.5},{"amount":8.784,"high":13105.0,"vol":8784,"low":13028.3,"count":98,"id":1603756800,"close":13067.1,"tradeTurnover":114871.8246,"open":13029.2},{"amount":11.592,"high":13074.4,"vol":11592,"low":13051.5,"count":66,"id":1603760400,"close":13061.7,"tradeTurnover":151386.9038,"open":13074.3},{"amount":19.298,"high":13097.6,"vol":19298,"low":13040.1,"count":109,"id":1603764000,"close":13049.7,"tradeTurnover":252061.019,"open":13061.7},{"amount":22.992,"high":13080.0,"vol":22992,"low":13057.1,"count":69,"id":1603767600,"close":13070.4,"tradeTurnover":300453.9788,"open":13057.6},{"amount":14.396,"high":13175.0,"vol":14396,"low":13079.6,"count":59,"id":1603771200,"close":13103.3,"tradeTurnover":188461.9156,"open":13080.0},{"amount":5.058,"high":13121.3,"vol":5058,"low":13069.7,"count":44,"id":1603774800,"close":13073.6,"tradeTurnover":66201.3552,"open":13121.3},{"amount":9.106,"high":13149.0,"vol":9106,"low":13069.6,"count":107,"id":1603778400,"close":13103.4,"tradeTurnover":119104.8906,"open":13074.9},{"amount":73.95,"high":13169.8,"vol":73950,"low":12992.4,"count":305,"id":1603782000,"close":13130.0,"tradeTurnover":968195.155,"open":13103.3},{"amount":18.732,"high":13148.4,"vol":18732,"low":13044.0,"count":135,"id":1603785600,"close":13123.8,"tradeTurnover":245533.5448,"open":13135.1},{"amount":13.756,"high":13131.8,"vol":13756,"low":13075.7,"count":102,"id":1603789200,"close":13131.7,"tradeTurnover":180253.7708,"open":13115.5},{"amount":154.108,"high":13252.0,"vol":154108,"low":13063.4,"count":525,"id":1603792800,"close":13216.9,"tradeTurnover":2029983.656,"open":13134.8},{"amount":170.09,"high":13590.1,"vol":170090,"low":13213.5,"count":591,"id":1603796400,"close":13395.8,"tradeTurnover":2276279.742,"open":13218.8},{"amount":48.928,"high":13414.0,"vol":48928,"low":13331.7,"count":216,"id":1603800000,"close":13376.9,"tradeTurnover":654585.9108,"open":13395.9},{"amount":63.294,"high":13490.9,"vol":63294,"low":13329.8,"count":316,"id":1603803600,"close":13384.3,"tradeTurnover":848130.9212,"open":13376.5},{"amount":12.892,"high":13415.8,"vol":12892,"low":13344.8,"count":124,"id":1603807200,"close":13398.2,"tradeTurnover":172618.6864,"open":13392.6},{"amount":93.22,"high":13626.7,"vol":93220,"low":13398.2,"count":476,"id":1603810800,"close":13598.5,"tradeTurnover":1262695.5466,"open":13398.2},{"amount":85.45,"high":13639.9,"vol":85450,"low":13520.2,"count":435,"id":1603814400,"close":13639.9,"tradeTurnover":1161481.4136,"open":13595.8},{"amount":191.812,"high":13826.7,"vol":191812,"low":13589.0,"count":711,"id":1603818000,"close":13688.1,"tradeTurnover":2628428.3788,"open":13640.0},{"amount":65.434,"high":13745.0,"vol":65434,"low":13528.2,"count":410,"id":1603821600,"close":13630.1,"tradeTurnover":891541.8394,"open":13685.0},{"amount":5.788,"high":13659.8,"vol":5788,"low":13595.4,"count":65,"id":1603825200,"close":13637.1,"tradeTurnover":78836.2578,"open":13629.4},{"amount":163.104,"high":13805.1,"vol":163104,"low":13582.6,"count":537,"id":1603828800,"close":13616.6,"tradeTurnover":2234040.3544,"open":13644.4},{"amount":9.884,"high":13753.5,"vol":9884,"low":13609.8,"count":101,"id":1603832400,"close":13705.5,"tradeTurnover":135406.4752,"open":13609.8},{"amount":7.436,"high":13739.9,"vol":7436,"low":13658.2,"count":100,"id":1603836000,"close":13739.9,"tradeTurnover":101840.3508,"open":13705.4},{"amount":17.086,"high":13794.6,"vol":17086,"low":13582.6,"count":234,"id":1603839600,"close":13649.6,"tradeTurnover":233971.8448,"open":13739.9},{"amount":24.108,"high":13745.2,"vol":24108,"low":13618.8,"count":177,"id":1603843200,"close":13701.7,"tradeTurnover":330206.5694,"open":13645.9},{"amount":15.892,"high":13725.6,"vol":15892,"low":13647.9,"count":151,"id":1603846800,"close":13702.6,"tradeTurnover":217816.7008,"open":13702.1},{"amount":46.548,"high":13832.2,"vol":46548,"low":13680.2,"count":274,"id":1603850400,"close":13811.6,"tradeTurnover":640636.0352,"open":13701.7},{"amount":67.896,"high":13820.3,"vol":67896,"low":13717.5,"count":320,"id":1603854000,"close":13777.0,"tradeTurnover":935838.2238,"open":13818.5},{"amount":33.156,"high":13807.2,"vol":33156,"low":13710.0,"count":210,"id":1603857600,"close":13735.7,"tradeTurnover":455941.234,"open":13767.3},{"amount":32.076,"high":13753.9,"vol":32076,"low":13671.3,"count":198,"id":1603861200,"close":13715.8,"tradeTurnover":439612.64,"open":13735.5},{"amount":14.756,"high":13757.0,"vol":14756,"low":13694.9,"count":122,"id":1603864800,"close":13701.3,"tradeTurnover":202602.5164,"open":13715.9},{"amount":155.534,"high":13708.7,"vol":155534,"low":13550.0,"count":635,"id":1603868400,"close":13674.2,"tradeTurnover":2117935.0928,"open":13701.2},{"amount":29.846,"high":13691.7,"vol":29846,"low":13584.0,"count":240,"id":1603872000,"close":13691.7,"tradeTurnover":407073.1398,"open":13673.0},{"amount":104.542,"high":13707.5,"vol":104542,"low":13573.5,"count":377,"id":1603875600,"close":13587.1,"tradeTurnover":1425079.9344,"open":13689.3},{"amount":73.818,"high":13618.0,"vol":73818,"low":13504.7,"count":358,"id":1603879200,"close":13552.7,"tradeTurnover":1001666.0908,"open":13584.6},{"amount":176.544,"high":13565.4,"vol":176544,"low":13330.0,"count":1004,"id":1603882800,"close":13336.4,"tradeTurnover":2369166.1492,"open":13552.6},{"amount":289.73,"high":13385.0,"vol":289730,"low":13173.9,"count":968,"id":1603886400,"close":13300.3,"tradeTurnover":3846751.7166,"open":13331.5},{"amount":139.822,"high":13340.0,"vol":139822,"low":13122.9,"count":612,"id":1603890000,"close":13129.9,"tradeTurnover":1848876.932,"open":13300.2},{"amount":367.876,"high":13168.2,"vol":367876,"low":12915.9,"count":1168,"id":1603893600,"close":13082.2,"tradeTurnover":4802516.9818,"open":13123.4},{"amount":84.044,"high":13235.2,"vol":84044,"low":13052.3,"count":375,"id":1603897200,"close":13221.2,"tradeTurnover":1106883.1282,"open":13077.1},{"amount":29.566,"high":13218.7,"vol":29566,"low":13050.0,"count":244,"id":1603900800,"close":13145.1,"tradeTurnover":388697.4104,"open":13218.7},{"amount":53.336,"high":13204.9,"vol":53336,"low":13006.6,"count":299,"id":1603904400,"close":13176.7,"tradeTurnover":700385.2784,"open":13145.1},{"amount":34.164,"high":13219.6,"vol":34164,"low":13131.0,"count":218,"id":1603908000,"close":13196.5,"tradeTurnover":450210.5778,"open":13171.0},{"amount":22.158,"high":13237.4,"vol":22158,"low":13145.0,"count":185,"id":1603911600,"close":13154.9,"tradeTurnover":292020.0438,"open":13200.0},{"amount":4.548,"high":13211.8,"vol":4548,"low":13147.4,"count":75,"id":1603915200,"close":13198.1,"tradeTurnover":59991.1118,"open":13154.5},{"amount":3.52,"high":13196.5,"vol":3520,"low":13100.2,"count":68,"id":1603918800,"close":13190.1,"tradeTurnover":46175.428,"open":13193.5},{"amount":3.122,"high":13267.5,"vol":3122,"low":13185.4,"count":72,"id":1603922400,"close":13252.0,"tradeTurnover":41304.2018,"open":13185.4},{"amount":14.768,"high":13282.3,"vol":14768,"low":13235.9,"count":86,"id":1603926000,"close":13265.9,"tradeTurnover":195689.0764,"open":13242.1},{"amount":19.968,"high":13294.7,"vol":19968,"low":13237.4,"count":98,"id":1603929600,"close":13245.1,"tradeTurnover":264834.1944,"open":13253.9},{"amount":35.282,"high":13285.3,"vol":35282,"low":13166.3,"count":192,"id":1603933200,"close":13274.2,"tradeTurnover":465789.6302,"open":13244.6},{"amount":9.748,"high":13277.7,"vol":9748,"low":13212.2,"count":119,"id":1603936800,"close":13241.1,"tradeTurnover":129016.0684,"open":13275.9},{"amount":27.3,"high":13262.5,"vol":27300,"low":13174.6,"count":199,"id":1603940400,"close":13262.5,"tradeTurnover":360589.8982,"open":13237.1},{"amount":18.904,"high":13277.7,"vol":18904,"low":13229.5,"count":109,"id":1603944000,"close":13229.5,"tradeTurnover":250713.2812,"open":13269.1},{"amount":15.822,"high":13274.8,"vol":15822,"low":13228.5,"count":134,"id":1603947600,"close":13274.8,"tradeTurnover":209781.909,"open":13228.5},{"amount":91.246,"high":13323.0,"vol":91246,"low":13242.3,"count":294,"id":1603951200,"close":13255.0,"tradeTurnover":1211271.2788,"open":13274.8},{"amount":187.622,"high":13269.3,"vol":187622,"low":13123.1,"count":506,"id":1603954800,"close":13142.4,"tradeTurnover":2478299.7074,"open":13255.0},{"amount":69.532,"high":13182.4,"vol":69532,"low":13094.1,"count":226,"id":1603958400,"close":13124.8,"tradeTurnover":914157.2418,"open":13145.9},{"amount":23.184,"high":13197.1,"vol":23184,"low":13129.5,"count":141,"id":1603962000,"close":13183.7,"tradeTurnover":305485.9524,"open":13129.5},{"amount":121.146,"high":13187.5,"vol":121146,"low":13053.1,"count":442,"id":1603965600,"close":13105.2,"tradeTurnover":1590026.4416,"open":13184.8},{"amount":47.498,"high":13171.4,"vol":47498,"low":13060.1,"count":262,"id":1603969200,"close":13060.1,"tradeTurnover":623578.149,"open":13105.1},{"amount":126.552,"high":13145.8,"vol":126552,"low":12977.9,"count":481,"id":1603972800,"close":13131.8,"tradeTurnover":1652549.311,"open":13056.9},{"amount":100.482,"high":13237.2,"vol":100482,"low":13102.0,"count":325,"id":1603976400,"close":13230.0,"tradeTurnover":1326403.7206,"open":13131.7},{"amount":253.258,"high":13476.1,"vol":253258,"low":13231.0,"count":752,"id":1603980000,"close":13420.8,"tradeTurnover":3384941.438,"open":13231.0},{"amount":64.71,"high":13458.7,"vol":64710,"low":13358.7,"count":269,"id":1603983600,"close":13420.6,"tradeTurnover":869052.3804,"open":13416.0},{"amount":120.24,"high":13594.5,"vol":120240,"low":13391.8,"count":570,"id":1603987200,"close":13535.9,"tradeTurnover":1626567.8278,"open":13421.9}],"id":"","rep":"market.BTC-USDT.kline.60min","status":"ok"} +2024-01-18 11:13:07.943 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:39] - 请求 KLine 数据用户收到的原始数据:{"id":"","rep":"market.BTC-USDT.kline.60min","ts":1705547586850,"wsid":19750305,"status":"ok","data":[{"id":1603270800,"open":12198.0,"close":12196.7,"high":12300.0,"low":11715.8,"amount":0.276,"vol":276,"trade_turnover":3315.9104,"count":39},{"id":1603274400,"open":12196.7,"close":12277.9,"high":12289.9,"low":12111.0,"amount":0.198,"vol":198,"trade_turnover":2420.7728,"count":21},{"id":1603278000,"open":12111.0,"close":12000.0,"high":12277.9,"low":12000.0,"amount":0.012,"vol":12,"trade_turnover":145.2238,"count":5},{"id":1603281600,"open":12078.0,"close":12497.4,"high":12498.0,"low":12078.0,"amount":0.084,"vol":84,"trade_turnover":1040.0504,"count":12},{"id":1603285200,"open":12495.6,"close":12373.5,"high":12495.6,"low":12282.9,"amount":1.122,"vol":1122,"trade_turnover":13905.3124,"count":112},{"id":1603288800,"open":12412.9,"close":12689.9,"high":12807.6,"low":12358.1,"amount":5.29,"vol":5290,"trade_turnover":66852.128,"count":155},{"id":1603292400,"open":12692.8,"close":12701.9,"high":12778.7,"low":12573.2,"amount":1.174,"vol":1174,"trade_turnover":14907.367,"count":113},{"id":1603296000,"open":12679.7,"close":12835.9,"high":12920.9,"low":12624.8,"amount":1.156,"vol":1156,"trade_turnover":14802.449,"count":115},{"id":1603299600,"open":12848.3,"close":12754.2,"high":12908.3,"low":12687.5,"amount":1.12,"vol":1120,"trade_turnover":14345.7324,"count":115},{"id":1603303200,"open":12743.7,"close":12740.2,"high":12849.0,"low":12668.3,"amount":1.106,"vol":1106,"trade_turnover":14105.3504,"count":114},{"id":1603306800,"open":12729.5,"close":12650.3,"high":12843.1,"low":12597.2,"amount":1.032,"vol":1032,"trade_turnover":13125.4568,"count":112},{"id":1603310400,"open":12666.8,"close":12807.0,"high":12848.4,"low":12610.2,"amount":1.154,"vol":1154,"trade_turnover":14680.638,"count":116},{"id":1603314000,"open":12866.0,"close":12938.9,"high":13005.1,"low":12748.2,"amount":1.164,"vol":1164,"trade_turnover":14976.9366,"count":114},{"id":1603317600,"open":12921.0,"close":13122.0,"high":13211.2,"low":12865.7,"amount":1.174,"vol":1174,"trade_turnover":15285.2446,"count":114},{"id":1603321200,"open":13153.2,"close":12829.8,"high":13173.2,"low":12688.6,"amount":1.172,"vol":1172,"trade_turnover":15060.9938,"count":117},{"id":1603324800,"open":12793.1,"close":12885.9,"high":12988.1,"low":12764.4,"amount":1.17,"vol":1170,"trade_turnover":15046.2046,"count":117},{"id":1603328400,"open":12860.4,"close":12757.5,"high":12972.6,"low":12757.5,"amount":1.158,"vol":1158,"trade_turnover":14882.4656,"count":118},{"id":1603332000,"open":12824.1,"close":12788.8,"high":12848.0,"low":12729.0,"amount":1.124,"vol":1124,"trade_turnover":14368.7948,"count":115},{"id":1603335600,"open":12791.7,"close":12767.2,"high":12834.4,"low":12729.0,"amount":1.194,"vol":1194,"trade_turnover":15268.9298,"count":111},{"id":1603339200,"open":12729.0,"close":12762.2,"high":12778.3,"low":12729.0,"amount":1.152,"vol":1152,"trade_turnover":14695.4876,"count":115},{"id":1603342800,"open":12763.1,"close":12813.8,"high":12842.0,"low":12730.6,"amount":1.21,"vol":1210,"trade_turnover":15440.8162,"count":119},{"id":1603346400,"open":12795.0,"close":12729.1,"high":12795.0,"low":12728.0,"amount":1.188,"vol":1188,"trade_turnover":15128.0098,"count":123},{"id":1603350000,"open":12728.6,"close":12730.6,"high":12730.6,"low":12728.3,"amount":1.266,"vol":1266,"trade_turnover":16115.1306,"count":112},{"id":1603353600,"open":12730.3,"close":12770.1,"high":12921.5,"low":12729.9,"amount":1.35,"vol":1350,"trade_turnover":17233.7326,"count":127},{"id":1603357200,"open":12824.9,"close":12780.4,"high":12872.1,"low":12760.1,"amount":0.98,"vol":980,"trade_turnover":12553.9826,"count":99},{"id":1603360800,"open":12784.9,"close":12934.2,"high":13002.7,"low":12775.6,"amount":0.266,"vol":266,"trade_turnover":3415.023,"count":30},{"id":1603364400,"open":12977.0,"close":13045.0,"high":13057.0,"low":12886.6,"amount":1.004,"vol":1004,"trade_turnover":13020.8576,"count":117},{"id":1603368000,"open":12958.5,"close":12847.9,"high":12973.4,"low":12751.6,"amount":1.134,"vol":1134,"trade_turnover":14594.2752,"count":111},{"id":1603371600,"open":12882.7,"close":12931.0,"high":13000.8,"low":12743.0,"amount":1.152,"vol":1152,"trade_turnover":14877.7314,"count":114},{"id":1603375200,"open":12890.4,"close":12917.8,"high":12995.3,"low":12783.9,"amount":1.182,"vol":1182,"trade_turnover":15224.4716,"count":115},{"id":1603378800,"open":12918.8,"close":12953.0,"high":13031.2,"low":12817.9,"amount":1.176,"vol":1176,"trade_turnover":15197.208,"count":117},{"id":1603382400,"open":12923.1,"close":13055.6,"high":13100.2,"low":12865.6,"amount":1.146,"vol":1146,"trade_turnover":14851.9604,"count":119},{"id":1603386000,"open":12967.6,"close":13082.7,"high":13105.7,"low":12835.5,"amount":1.534,"vol":1534,"trade_turnover":19927.8288,"count":124},{"id":1603389600,"open":13020.4,"close":13016.4,"high":13115.0,"low":12938.7,"amount":1.268,"vol":1268,"trade_turnover":16505.4738,"count":117},{"id":1603393200,"open":13028.3,"close":12970.6,"high":13171.2,"low":12961.8,"amount":1.13,"vol":1130,"trade_turnover":14762.952,"count":112},{"id":1603396800,"open":13016.7,"close":13089.3,"high":13216.1,"low":12998.5,"amount":1.206,"vol":1206,"trade_turnover":15807.1226,"count":117},{"id":1603400400,"open":13136.0,"close":13092.0,"high":13203.7,"low":12932.9,"amount":1.332,"vol":1332,"trade_turnover":17423.4422,"count":114},{"id":1603404000,"open":13119.4,"close":13055.9,"high":13250.5,"low":12984.7,"amount":1.21,"vol":1210,"trade_turnover":15876.0632,"count":114},{"id":1603407600,"open":13059.4,"close":12890.4,"high":13126.5,"low":12857.2,"amount":1.286,"vol":1286,"trade_turnover":16688.422,"count":116},{"id":1603411200,"open":12929.7,"close":12892.2,"high":12994.0,"low":12751.6,"amount":1.502,"vol":1502,"trade_turnover":19331.1596,"count":131},{"id":1603414800,"open":12921.7,"close":12898.3,"high":13003.2,"low":12786.0,"amount":1.386,"vol":1386,"trade_turnover":17904.8902,"count":121},{"id":1603418400,"open":12951.6,"close":12975.1,"high":13054.0,"low":12800.7,"amount":1.416,"vol":1416,"trade_turnover":18306.6204,"count":122},{"id":1603422000,"open":12967.3,"close":12947.0,"high":13030.7,"low":12875.0,"amount":1.19,"vol":1190,"trade_turnover":15409.7984,"count":118},{"id":1603425600,"open":12925.2,"close":12852.0,"high":13047.3,"low":12832.8,"amount":1.022,"vol":1022,"trade_turnover":13214.4388,"count":127},{"id":1603429200,"open":12859.0,"close":12931.1,"high":12991.7,"low":12841.2,"amount":0.478,"vol":478,"trade_turnover":6180.2486,"count":118},{"id":1603432800,"open":12935.9,"close":12939.6,"high":13014.1,"low":12871.9,"amount":0.522,"vol":522,"trade_turnover":6759.0324,"count":132},{"id":1603436400,"open":12923.1,"close":12925.4,"high":12998.9,"low":12917.1,"amount":0.476,"vol":476,"trade_turnover":6163.3118,"count":118},{"id":1603440000,"open":12942.2,"close":12962.6,"high":13014.0,"low":12916.1,"amount":0.508,"vol":508,"trade_turnover":6585.3656,"count":122},{"id":1603443600,"open":12970.5,"close":12926.4,"high":13012.5,"low":12909.9,"amount":0.564,"vol":564,"trade_turnover":7308.8828,"count":124},{"id":1603447200,"open":13001.2,"close":13007.7,"high":13059.5,"low":12925.7,"amount":0.536,"vol":536,"trade_turnover":6957.8796,"count":124},{"id":1603450800,"open":13025.4,"close":12970.6,"high":13078.4,"low":12906.5,"amount":0.486,"vol":486,"trade_turnover":6326.1434,"count":122},{"id":1603454400,"open":12963.9,"close":12935.4,"high":13025.0,"low":12850.8,"amount":0.494,"vol":494,"trade_turnover":6396.0984,"count":117},{"id":1603458000,"open":12913.3,"close":12951.7,"high":13043.3,"low":12911.0,"amount":0.466,"vol":466,"trade_turnover":6049.1412,"count":117},{"id":1603461600,"open":12999.6,"close":12858.8,"high":13006.4,"low":12840.4,"amount":0.46,"vol":460,"trade_turnover":5941.815,"count":116},{"id":1603465200,"open":12885.7,"close":12881.9,"high":12932.9,"low":12826.5,"amount":0.492,"vol":492,"trade_turnover":6340.214,"count":117},{"id":1603468800,"open":12854.4,"close":12784.1,"high":12933.5,"low":12744.4,"amount":0.484,"vol":484,"trade_turnover":6205.4138,"count":123},{"id":1603472400,"open":12832.3,"close":12847.7,"high":12893.1,"low":12730.1,"amount":0.562,"vol":562,"trade_turnover":7218.9184,"count":152},{"id":1603476000,"open":12874.1,"close":12915.7,"high":12939.3,"low":12751.4,"amount":0.53,"vol":530,"trade_turnover":6825.7004,"count":128},{"id":1603479600,"open":12867.9,"close":12972.9,"high":12972.9,"low":12786.6,"amount":0.444,"vol":444,"trade_turnover":5727.7452,"count":117},{"id":1603483200,"open":12956.7,"close":12991.6,"high":13002.2,"low":12842.9,"amount":0.492,"vol":492,"trade_turnover":6375.1566,"count":116},{"id":1603486800,"open":13004.3,"close":12943.5,"high":13004.3,"low":12936.6,"amount":0.5,"vol":500,"trade_turnover":6485.468,"count":125},{"id":1603490400,"open":12923.6,"close":12989.2,"high":13010.3,"low":12884.7,"amount":0.492,"vol":492,"trade_turnover":6376.1492,"count":120},{"id":1603494000,"open":12974.9,"close":12884.6,"high":13024.4,"low":12884.6,"amount":0.51,"vol":510,"trade_turnover":6622.3406,"count":121},{"id":1603497600,"open":12973.7,"close":12953.9,"high":13018.3,"low":12811.1,"amount":0.488,"vol":488,"trade_turnover":6317.7938,"count":120},{"id":1603501200,"open":12927.5,"close":12934.2,"high":13018.1,"low":12872.8,"amount":0.482,"vol":482,"trade_turnover":6242.4178,"count":117},{"id":1603504800,"open":12971.9,"close":12989.1,"high":13003.9,"low":12903.3,"amount":0.484,"vol":484,"trade_turnover":6278.1756,"count":117},{"id":1603508400,"open":13000.1,"close":12975.9,"high":13013.4,"low":12938.3,"amount":0.474,"vol":474,"trade_turnover":6157.7096,"count":122},{"id":1603512000,"open":12989.7,"close":12963.3,"high":13009.4,"low":12905.5,"amount":0.526,"vol":526,"trade_turnover":6831.5658,"count":124},{"id":1603515600,"open":12910.5,"close":12989.7,"high":13041.8,"low":12875.3,"amount":0.522,"vol":522,"trade_turnover":6768.8994,"count":127},{"id":1603519200,"open":12994.7,"close":13003.6,"high":13058.1,"low":12908.8,"amount":0.49,"vol":490,"trade_turnover":6370.5714,"count":120},{"id":1603522800,"open":13011.9,"close":13004.2,"high":13037.8,"low":12981.7,"amount":0.478,"vol":478,"trade_turnover":6218.9722,"count":120},{"id":1603526400,"open":13003.0,"close":12998.2,"high":13030.6,"low":12899.4,"amount":0.52,"vol":520,"trade_turnover":6754.958,"count":124},{"id":1603530000,"open":12998.2,"close":12990.6,"high":13020.3,"low":12893.6,"amount":0.454,"vol":454,"trade_turnover":5891.0574,"count":115},{"id":1603533600,"open":12996.4,"close":13030.1,"high":13059.1,"low":12913.2,"amount":0.502,"vol":502,"trade_turnover":6525.9004,"count":124},{"id":1603537200,"open":12988.4,"close":13033.2,"high":13068.3,"low":12940.2,"amount":0.468,"vol":468,"trade_turnover":6091.0376,"count":119},{"id":1603540800,"open":13035.3,"close":13006.5,"high":13071.8,"low":12978.9,"amount":0.468,"vol":468,"trade_turnover":6102.5902,"count":123},{"id":1603544400,"open":13038.8,"close":12985.9,"high":13066.7,"low":12928.1,"amount":0.534,"vol":534,"trade_turnover":6950.4268,"count":123},{"id":1603548000,"open":12986.3,"close":13042.0,"high":13100.1,"low":12960.5,"amount":0.47,"vol":470,"trade_turnover":6124.2178,"count":100},{"id":1603551600,"open":13038.4,"close":13102.2,"high":13196.5,"low":13038.4,"amount":0.456,"vol":456,"trade_turnover":5989.6362,"count":120},{"id":1603555200,"open":13136.8,"close":13052.7,"high":13176.6,"low":12984.6,"amount":0.458,"vol":458,"trade_turnover":5976.331,"count":121},{"id":1603558800,"open":13006.2,"close":13177.8,"high":13177.8,"low":13003.2,"amount":0.452,"vol":452,"trade_turnover":5911.7058,"count":118},{"id":1603562400,"open":13127.7,"close":13080.8,"high":13170.7,"low":13023.0,"amount":0.468,"vol":468,"trade_turnover":6122.375,"count":119},{"id":1603566000,"open":13040.7,"close":13148.4,"high":13179.3,"low":13014.2,"amount":0.468,"vol":468,"trade_turnover":6126.4278,"count":120},{"id":1603569600,"open":13073.5,"close":13090.1,"high":13179.6,"low":12992.5,"amount":0.47,"vol":470,"trade_turnover":6151.4758,"count":119},{"id":1603573200,"open":13035.4,"close":12993.9,"high":13148.7,"low":12980.7,"amount":0.458,"vol":458,"trade_turnover":5981.071,"count":117},{"id":1603576800,"open":13040.7,"close":13041.1,"high":13112.1,"low":12975.6,"amount":0.478,"vol":478,"trade_turnover":6225.4216,"count":118},{"id":1603580400,"open":13012.6,"close":13184.3,"high":13184.3,"low":13009.3,"amount":0.472,"vol":472,"trade_turnover":6173.4244,"count":118},{"id":1603584000,"open":13080.8,"close":13154.3,"high":13170.4,"low":13007.7,"amount":0.46,"vol":460,"trade_turnover":6024.09,"count":115},{"id":1603587600,"open":13092.0,"close":13196.1,"high":13196.8,"low":13024.0,"amount":0.398,"vol":398,"trade_turnover":5217.5364,"count":102},{"id":1603591200,"open":13124.7,"close":13082.4,"high":13175.1,"low":13035.0,"amount":0.476,"vol":476,"trade_turnover":6228.6596,"count":120},{"id":1603594800,"open":13049.1,"close":13259.0,"high":13383.8,"low":13049.1,"amount":0.578,"vol":578,"trade_turnover":7629.3886,"count":137},{"id":1603598400,"open":13277.0,"close":13243.4,"high":13369.0,"low":13216.0,"amount":0.47,"vol":470,"trade_turnover":6247.955,"count":122},{"id":1603602000,"open":13285.3,"close":13017.3,"high":13353.3,"low":13010.1,"amount":0.61,"vol":610,"trade_turnover":8048.8598,"count":134},{"id":1603605600,"open":13022.5,"close":13060.3,"high":13105.7,"low":13018.2,"amount":0.486,"vol":486,"trade_turnover":6344.1474,"count":118},{"id":1603609200,"open":13048.5,"close":13078.1,"high":13112.1,"low":13022.0,"amount":0.464,"vol":464,"trade_turnover":6061.5416,"count":120},{"id":1603612800,"open":13077.2,"close":13046.0,"high":13091.0,"low":13017.2,"amount":0.464,"vol":464,"trade_turnover":6055.3734,"count":120},{"id":1603616400,"open":13065.1,"close":13040.8,"high":13084.0,"low":13014.2,"amount":0.478,"vol":478,"trade_turnover":6235.7882,"count":117},{"id":1603620000,"open":13047.1,"close":13028.5,"high":13064.2,"low":13010.2,"amount":0.478,"vol":478,"trade_turnover":6232.2428,"count":125},{"id":1603623600,"open":13061.5,"close":12897.6,"high":13061.5,"low":12852.9,"amount":0.534,"vol":534,"trade_turnover":6918.1226,"count":123},{"id":1603627200,"open":12908.3,"close":12964.3,"high":13069.7,"low":12893.2,"amount":0.444,"vol":444,"trade_turnover":5755.8712,"count":117},{"id":1603630800,"open":13001.3,"close":12949.3,"high":13071.9,"low":12891.8,"amount":0.498,"vol":498,"trade_turnover":6465.078,"count":119},{"id":1603634400,"open":12975.8,"close":12946.8,"high":13077.7,"low":12900.0,"amount":0.468,"vol":468,"trade_turnover":6075.4554,"count":116},{"id":1603638000,"open":12975.2,"close":12883.3,"high":13069.1,"low":12883.3,"amount":0.47,"vol":470,"trade_turnover":6097.1072,"count":119},{"id":1603641600,"open":12916.2,"close":12978.7,"high":13067.9,"low":12877.5,"amount":0.482,"vol":482,"trade_turnover":6256.4472,"count":118},{"id":1603645200,"open":13008.0,"close":13004.4,"high":13087.5,"low":12922.7,"amount":0.47,"vol":470,"trade_turnover":6108.3892,"count":117},{"id":1603648800,"open":12972.8,"close":12957.2,"high":13067.6,"low":12893.6,"amount":0.468,"vol":468,"trade_turnover":6079.1484,"count":118},{"id":1603652400,"open":12996.5,"close":13021.8,"high":13066.9,"low":12916.6,"amount":0.442,"vol":442,"trade_turnover":5746.5548,"count":118},{"id":1603656000,"open":12992.9,"close":12985.4,"high":13081.5,"low":12944.9,"amount":0.508,"vol":508,"trade_turnover":6616.9872,"count":120},{"id":1603659600,"open":12999.9,"close":13011.2,"high":13068.6,"low":12921.4,"amount":0.508,"vol":508,"trade_turnover":6614.816,"count":122},{"id":1603663200,"open":12979.6,"close":12959.4,"high":13073.8,"low":12911.9,"amount":0.486,"vol":486,"trade_turnover":6320.907,"count":121},{"id":1603666800,"open":12963.4,"close":13032.1,"high":13085.2,"low":12927.8,"amount":0.452,"vol":452,"trade_turnover":5878.6442,"count":113},{"id":1603670400,"open":12964.2,"close":13001.0,"high":13076.7,"low":12918.3,"amount":0.482,"vol":482,"trade_turnover":6263.698,"count":121},{"id":1603674000,"open":13040.0,"close":13053.7,"high":13096.4,"low":12991.2,"amount":0.478,"vol":478,"trade_turnover":6232.2328,"count":124},{"id":1603677600,"open":13060.6,"close":13064.4,"high":13185.7,"low":12985.1,"amount":0.488,"vol":488,"trade_turnover":6387.534,"count":121},{"id":1603681200,"open":13032.3,"close":13092.8,"high":13187.2,"low":12984.1,"amount":0.486,"vol":486,"trade_turnover":6369.0272,"count":135},{"id":1603684800,"open":13092.0,"close":13132.6,"high":13181.6,"low":12962.3,"amount":0.51,"vol":510,"trade_turnover":6679.829,"count":131},{"id":1603688400,"open":13129.2,"close":13092.1,"high":13205.3,"low":13025.3,"amount":0.506,"vol":506,"trade_turnover":6641.2128,"count":126},{"id":1603692000,"open":13121.8,"close":13071.4,"high":13188.1,"low":12989.8,"amount":1.616,"vol":1616,"trade_turnover":21170.8224,"count":141},{"id":1603695600,"open":13061.0,"close":13038.7,"high":13100.0,"low":12965.2,"amount":3.746,"vol":3746,"trade_turnover":48924.8902,"count":110},{"id":1603699200,"open":13030.9,"close":13039.3,"high":13102.0,"low":12852.8,"amount":8.966,"vol":8966,"trade_turnover":116525.5534,"count":173},{"id":1603702800,"open":13047.1,"close":13075.9,"high":13088.4,"low":13039.8,"amount":4.48,"vol":4480,"trade_turnover":58521.1714,"count":124},{"id":1603706400,"open":13072.1,"close":13100.0,"high":13100.0,"low":13060.2,"amount":4.272,"vol":4272,"trade_turnover":55895.9778,"count":130},{"id":1603710000,"open":13100.0,"close":13138.4,"high":13159.0,"low":13100.0,"amount":29.798,"vol":29798,"trade_turnover":391138.024,"count":230},{"id":1603713600,"open":13138.8,"close":13149.8,"high":13200.0,"low":13100.0,"amount":5.154,"vol":5154,"trade_turnover":67694.652,"count":188},{"id":1603717200,"open":13150.0,"close":13205.8,"high":13351.5,"low":13133.1,"amount":35.608,"vol":35608,"trade_turnover":472780.3394,"count":328},{"id":1603720800,"open":13203.0,"close":13166.1,"high":13280.0,"low":13144.1,"amount":31.748,"vol":31748,"trade_turnover":418744.5588,"count":235},{"id":1603724400,"open":13159.0,"close":12978.0,"high":13165.2,"low":12903.8,"amount":36.53,"vol":36530,"trade_turnover":476940.3296,"count":384},{"id":1603728000,"open":12965.0,"close":12869.6,"high":13069.8,"low":12850.5,"amount":35.018,"vol":35018,"trade_turnover":453288.918,"count":323},{"id":1603731600,"open":12879.2,"close":12873.8,"high":12941.5,"low":12583.9,"amount":92.628,"vol":92628,"trade_turnover":1185973.467,"count":560},{"id":1603735200,"open":12856.2,"close":12946.8,"high":12954.5,"low":12820.4,"amount":4.302,"vol":4302,"trade_turnover":55481.0054,"count":128},{"id":1603738800,"open":12945.6,"close":12953.4,"high":12953.5,"low":12914.1,"amount":13.83,"vol":13830,"trade_turnover":179112.1598,"count":118},{"id":1603742400,"open":12953.5,"close":12983.4,"high":13007.5,"low":12953.5,"amount":17.172,"vol":17172,"trade_turnover":223230.2122,"count":132},{"id":1603746000,"open":12983.1,"close":12993.8,"high":13007.5,"low":12982.7,"amount":3.212,"vol":3212,"trade_turnover":41767.8906,"count":59},{"id":1603749600,"open":13002.1,"close":13007.5,"high":13007.5,"low":12974.0,"amount":1.504,"vol":1504,"trade_turnover":19543.3568,"count":74},{"id":1603753200,"open":13007.5,"close":13033.7,"high":13061.2,"low":13007.5,"amount":3.454,"vol":3454,"trade_turnover":45001.601,"count":101},{"id":1603756800,"open":13029.2,"close":13067.1,"high":13105.0,"low":13028.3,"amount":8.784,"vol":8784,"trade_turnover":114871.8246,"count":98},{"id":1603760400,"open":13074.3,"close":13061.7,"high":13074.4,"low":13051.5,"amount":11.592,"vol":11592,"trade_turnover":151386.9038,"count":66},{"id":1603764000,"open":13061.7,"close":13049.7,"high":13097.6,"low":13040.1,"amount":19.298,"vol":19298,"trade_turnover":252061.019,"count":109},{"id":1603767600,"open":13057.6,"close":13070.4,"high":13080.0,"low":13057.1,"amount":22.992,"vol":22992,"trade_turnover":300453.9788,"count":69},{"id":1603771200,"open":13080.0,"close":13103.3,"high":13175.0,"low":13079.6,"amount":14.396,"vol":14396,"trade_turnover":188461.9156,"count":59},{"id":1603774800,"open":13121.3,"close":13073.6,"high":13121.3,"low":13069.7,"amount":5.058,"vol":5058,"trade_turnover":66201.3552,"count":44},{"id":1603778400,"open":13074.9,"close":13103.4,"high":13149.0,"low":13069.6,"amount":9.106,"vol":9106,"trade_turnover":119104.8906,"count":107},{"id":1603782000,"open":13103.3,"close":13130.0,"high":13169.8,"low":12992.4,"amount":73.95,"vol":73950,"trade_turnover":968195.155,"count":305},{"id":1603785600,"open":13135.1,"close":13123.8,"high":13148.4,"low":13044.0,"amount":18.732,"vol":18732,"trade_turnover":245533.5448,"count":135},{"id":1603789200,"open":13115.5,"close":13131.7,"high":13131.8,"low":13075.7,"amount":13.756,"vol":13756,"trade_turnover":180253.7708,"count":102},{"id":1603792800,"open":13134.8,"close":13216.9,"high":13252.0,"low":13063.4,"amount":154.108,"vol":154108,"trade_turnover":2029983.656,"count":525},{"id":1603796400,"open":13218.8,"close":13395.8,"high":13590.1,"low":13213.5,"amount":170.09,"vol":170090,"trade_turnover":2276279.742,"count":591},{"id":1603800000,"open":13395.9,"close":13376.9,"high":13414.0,"low":13331.7,"amount":48.928,"vol":48928,"trade_turnover":654585.9108,"count":216},{"id":1603803600,"open":13376.5,"close":13384.3,"high":13490.9,"low":13329.8,"amount":63.294,"vol":63294,"trade_turnover":848130.9212,"count":316},{"id":1603807200,"open":13392.6,"close":13398.2,"high":13415.8,"low":13344.8,"amount":12.892,"vol":12892,"trade_turnover":172618.6864,"count":124},{"id":1603810800,"open":13398.2,"close":13598.5,"high":13626.7,"low":13398.2,"amount":93.22,"vol":93220,"trade_turnover":1262695.5466,"count":476},{"id":1603814400,"open":13595.8,"close":13639.9,"high":13639.9,"low":13520.2,"amount":85.45,"vol":85450,"trade_turnover":1161481.4136,"count":435},{"id":1603818000,"open":13640.0,"close":13688.1,"high":13826.7,"low":13589.0,"amount":191.812,"vol":191812,"trade_turnover":2628428.3788,"count":711},{"id":1603821600,"open":13685.0,"close":13630.1,"high":13745.0,"low":13528.2,"amount":65.434,"vol":65434,"trade_turnover":891541.8394,"count":410},{"id":1603825200,"open":13629.4,"close":13637.1,"high":13659.8,"low":13595.4,"amount":5.788,"vol":5788,"trade_turnover":78836.2578,"count":65},{"id":1603828800,"open":13644.4,"close":13616.6,"high":13805.1,"low":13582.6,"amount":163.104,"vol":163104,"trade_turnover":2234040.3544,"count":537},{"id":1603832400,"open":13609.8,"close":13705.5,"high":13753.5,"low":13609.8,"amount":9.884,"vol":9884,"trade_turnover":135406.4752,"count":101},{"id":1603836000,"open":13705.4,"close":13739.9,"high":13739.9,"low":13658.2,"amount":7.436,"vol":7436,"trade_turnover":101840.3508,"count":100},{"id":1603839600,"open":13739.9,"close":13649.6,"high":13794.6,"low":13582.6,"amount":17.086,"vol":17086,"trade_turnover":233971.8448,"count":234},{"id":1603843200,"open":13645.9,"close":13701.7,"high":13745.2,"low":13618.8,"amount":24.108,"vol":24108,"trade_turnover":330206.5694,"count":177},{"id":1603846800,"open":13702.1,"close":13702.6,"high":13725.6,"low":13647.9,"amount":15.892,"vol":15892,"trade_turnover":217816.7008,"count":151},{"id":1603850400,"open":13701.7,"close":13811.6,"high":13832.2,"low":13680.2,"amount":46.548,"vol":46548,"trade_turnover":640636.0352,"count":274},{"id":1603854000,"open":13818.5,"close":13777.0,"high":13820.3,"low":13717.5,"amount":67.896,"vol":67896,"trade_turnover":935838.2238,"count":320},{"id":1603857600,"open":13767.3,"close":13735.7,"high":13807.2,"low":13710.0,"amount":33.156,"vol":33156,"trade_turnover":455941.234,"count":210},{"id":1603861200,"open":13735.5,"close":13715.8,"high":13753.9,"low":13671.3,"amount":32.076,"vol":32076,"trade_turnover":439612.64,"count":198},{"id":1603864800,"open":13715.9,"close":13701.3,"high":13757.0,"low":13694.9,"amount":14.756,"vol":14756,"trade_turnover":202602.5164,"count":122},{"id":1603868400,"open":13701.2,"close":13674.2,"high":13708.7,"low":13550.0,"amount":155.534,"vol":155534,"trade_turnover":2117935.0928,"count":635},{"id":1603872000,"open":13673.0,"close":13691.7,"high":13691.7,"low":13584.0,"amount":29.846,"vol":29846,"trade_turnover":407073.1398,"count":240},{"id":1603875600,"open":13689.3,"close":13587.1,"high":13707.5,"low":13573.5,"amount":104.542,"vol":104542,"trade_turnover":1425079.9344,"count":377},{"id":1603879200,"open":13584.6,"close":13552.7,"high":13618.0,"low":13504.7,"amount":73.818,"vol":73818,"trade_turnover":1001666.0908,"count":358},{"id":1603882800,"open":13552.6,"close":13336.4,"high":13565.4,"low":13330.0,"amount":176.544,"vol":176544,"trade_turnover":2369166.1492,"count":1004},{"id":1603886400,"open":13331.5,"close":13300.3,"high":13385.0,"low":13173.9,"amount":289.73,"vol":289730,"trade_turnover":3846751.7166,"count":968},{"id":1603890000,"open":13300.2,"close":13129.9,"high":13340.0,"low":13122.9,"amount":139.822,"vol":139822,"trade_turnover":1848876.932,"count":612},{"id":1603893600,"open":13123.4,"close":13082.2,"high":13168.2,"low":12915.9,"amount":367.876,"vol":367876,"trade_turnover":4802516.9818,"count":1168},{"id":1603897200,"open":13077.1,"close":13221.2,"high":13235.2,"low":13052.3,"amount":84.044,"vol":84044,"trade_turnover":1106883.1282,"count":375},{"id":1603900800,"open":13218.7,"close":13145.1,"high":13218.7,"low":13050.0,"amount":29.566,"vol":29566,"trade_turnover":388697.4104,"count":244},{"id":1603904400,"open":13145.1,"close":13176.7,"high":13204.9,"low":13006.6,"amount":53.336,"vol":53336,"trade_turnover":700385.2784,"count":299},{"id":1603908000,"open":13171.0,"close":13196.5,"high":13219.6,"low":13131.0,"amount":34.164,"vol":34164,"trade_turnover":450210.5778,"count":218},{"id":1603911600,"open":13200.0,"close":13154.9,"high":13237.4,"low":13145.0,"amount":22.158,"vol":22158,"trade_turnover":292020.0438,"count":185},{"id":1603915200,"open":13154.5,"close":13198.1,"high":13211.8,"low":13147.4,"amount":4.548,"vol":4548,"trade_turnover":59991.1118,"count":75},{"id":1603918800,"open":13193.5,"close":13190.1,"high":13196.5,"low":13100.2,"amount":3.52,"vol":3520,"trade_turnover":46175.428,"count":68},{"id":1603922400,"open":13185.4,"close":13252.0,"high":13267.5,"low":13185.4,"amount":3.122,"vol":3122,"trade_turnover":41304.2018,"count":72},{"id":1603926000,"open":13242.1,"close":13265.9,"high":13282.3,"low":13235.9,"amount":14.768,"vol":14768,"trade_turnover":195689.0764,"count":86},{"id":1603929600,"open":13253.9,"close":13245.1,"high":13294.7,"low":13237.4,"amount":19.968,"vol":19968,"trade_turnover":264834.1944,"count":98},{"id":1603933200,"open":13244.6,"close":13274.2,"high":13285.3,"low":13166.3,"amount":35.282,"vol":35282,"trade_turnover":465789.6302,"count":192},{"id":1603936800,"open":13275.9,"close":13241.1,"high":13277.7,"low":13212.2,"amount":9.748,"vol":9748,"trade_turnover":129016.0684,"count":119},{"id":1603940400,"open":13237.1,"close":13262.5,"high":13262.5,"low":13174.6,"amount":27.3,"vol":27300,"trade_turnover":360589.8982,"count":199},{"id":1603944000,"open":13269.1,"close":13229.5,"high":13277.7,"low":13229.5,"amount":18.904,"vol":18904,"trade_turnover":250713.2812,"count":109},{"id":1603947600,"open":13228.5,"close":13274.8,"high":13274.8,"low":13228.5,"amount":15.822,"vol":15822,"trade_turnover":209781.909,"count":134},{"id":1603951200,"open":13274.8,"close":13255.0,"high":13323.0,"low":13242.3,"amount":91.246,"vol":91246,"trade_turnover":1211271.2788,"count":294},{"id":1603954800,"open":13255.0,"close":13142.4,"high":13269.3,"low":13123.1,"amount":187.622,"vol":187622,"trade_turnover":2478299.7074,"count":506},{"id":1603958400,"open":13145.9,"close":13124.8,"high":13182.4,"low":13094.1,"amount":69.532,"vol":69532,"trade_turnover":914157.2418,"count":226},{"id":1603962000,"open":13129.5,"close":13183.7,"high":13197.1,"low":13129.5,"amount":23.184,"vol":23184,"trade_turnover":305485.9524,"count":141},{"id":1603965600,"open":13184.8,"close":13105.2,"high":13187.5,"low":13053.1,"amount":121.146,"vol":121146,"trade_turnover":1590026.4416,"count":442},{"id":1603969200,"open":13105.1,"close":13060.1,"high":13171.4,"low":13060.1,"amount":47.498,"vol":47498,"trade_turnover":623578.149,"count":262},{"id":1603972800,"open":13056.9,"close":13131.8,"high":13145.8,"low":12977.9,"amount":126.552,"vol":126552,"trade_turnover":1652549.311,"count":481},{"id":1603976400,"open":13131.7,"close":13230.0,"high":13237.2,"low":13102.0,"amount":100.482,"vol":100482,"trade_turnover":1326403.7206,"count":325},{"id":1603980000,"open":13231.0,"close":13420.8,"high":13476.1,"low":13231.0,"amount":253.258,"vol":253258,"trade_turnover":3384941.438,"count":752},{"id":1603983600,"open":13416.0,"close":13420.6,"high":13458.7,"low":13358.7,"amount":64.71,"vol":64710,"trade_turnover":869052.3804,"count":269},{"id":1603987200,"open":13421.9,"close":13535.9,"high":13594.5,"low":13391.8,"amount":120.24,"vol":120240,"trade_turnover":1626567.8278,"count":570}]} +2024-01-18 11:13:07.946 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:41] - 请求 KLine 数据解析之后的数据为:{"wsid":19750305,"data":[{"amount":0.276,"high":12300.0,"vol":276,"low":11715.8,"count":39,"id":1603270800,"close":12196.7,"tradeTurnover":3315.9104,"open":12198.0},{"amount":0.198,"high":12289.9,"vol":198,"low":12111.0,"count":21,"id":1603274400,"close":12277.9,"tradeTurnover":2420.7728,"open":12196.7},{"amount":0.012,"high":12277.9,"vol":12,"low":12000.0,"count":5,"id":1603278000,"close":12000.0,"tradeTurnover":145.2238,"open":12111.0},{"amount":0.084,"high":12498.0,"vol":84,"low":12078.0,"count":12,"id":1603281600,"close":12497.4,"tradeTurnover":1040.0504,"open":12078.0},{"amount":1.122,"high":12495.6,"vol":1122,"low":12282.9,"count":112,"id":1603285200,"close":12373.5,"tradeTurnover":13905.3124,"open":12495.6},{"amount":5.29,"high":12807.6,"vol":5290,"low":12358.1,"count":155,"id":1603288800,"close":12689.9,"tradeTurnover":66852.128,"open":12412.9},{"amount":1.174,"high":12778.7,"vol":1174,"low":12573.2,"count":113,"id":1603292400,"close":12701.9,"tradeTurnover":14907.367,"open":12692.8},{"amount":1.156,"high":12920.9,"vol":1156,"low":12624.8,"count":115,"id":1603296000,"close":12835.9,"tradeTurnover":14802.449,"open":12679.7},{"amount":1.12,"high":12908.3,"vol":1120,"low":12687.5,"count":115,"id":1603299600,"close":12754.2,"tradeTurnover":14345.7324,"open":12848.3},{"amount":1.106,"high":12849.0,"vol":1106,"low":12668.3,"count":114,"id":1603303200,"close":12740.2,"tradeTurnover":14105.3504,"open":12743.7},{"amount":1.032,"high":12843.1,"vol":1032,"low":12597.2,"count":112,"id":1603306800,"close":12650.3,"tradeTurnover":13125.4568,"open":12729.5},{"amount":1.154,"high":12848.4,"vol":1154,"low":12610.2,"count":116,"id":1603310400,"close":12807.0,"tradeTurnover":14680.638,"open":12666.8},{"amount":1.164,"high":13005.1,"vol":1164,"low":12748.2,"count":114,"id":1603314000,"close":12938.9,"tradeTurnover":14976.9366,"open":12866.0},{"amount":1.174,"high":13211.2,"vol":1174,"low":12865.7,"count":114,"id":1603317600,"close":13122.0,"tradeTurnover":15285.2446,"open":12921.0},{"amount":1.172,"high":13173.2,"vol":1172,"low":12688.6,"count":117,"id":1603321200,"close":12829.8,"tradeTurnover":15060.9938,"open":13153.2},{"amount":1.17,"high":12988.1,"vol":1170,"low":12764.4,"count":117,"id":1603324800,"close":12885.9,"tradeTurnover":15046.2046,"open":12793.1},{"amount":1.158,"high":12972.6,"vol":1158,"low":12757.5,"count":118,"id":1603328400,"close":12757.5,"tradeTurnover":14882.4656,"open":12860.4},{"amount":1.124,"high":12848.0,"vol":1124,"low":12729.0,"count":115,"id":1603332000,"close":12788.8,"tradeTurnover":14368.7948,"open":12824.1},{"amount":1.194,"high":12834.4,"vol":1194,"low":12729.0,"count":111,"id":1603335600,"close":12767.2,"tradeTurnover":15268.9298,"open":12791.7},{"amount":1.152,"high":12778.3,"vol":1152,"low":12729.0,"count":115,"id":1603339200,"close":12762.2,"tradeTurnover":14695.4876,"open":12729.0},{"amount":1.21,"high":12842.0,"vol":1210,"low":12730.6,"count":119,"id":1603342800,"close":12813.8,"tradeTurnover":15440.8162,"open":12763.1},{"amount":1.188,"high":12795.0,"vol":1188,"low":12728.0,"count":123,"id":1603346400,"close":12729.1,"tradeTurnover":15128.0098,"open":12795.0},{"amount":1.266,"high":12730.6,"vol":1266,"low":12728.3,"count":112,"id":1603350000,"close":12730.6,"tradeTurnover":16115.1306,"open":12728.6},{"amount":1.35,"high":12921.5,"vol":1350,"low":12729.9,"count":127,"id":1603353600,"close":12770.1,"tradeTurnover":17233.7326,"open":12730.3},{"amount":0.98,"high":12872.1,"vol":980,"low":12760.1,"count":99,"id":1603357200,"close":12780.4,"tradeTurnover":12553.9826,"open":12824.9},{"amount":0.266,"high":13002.7,"vol":266,"low":12775.6,"count":30,"id":1603360800,"close":12934.2,"tradeTurnover":3415.023,"open":12784.9},{"amount":1.004,"high":13057.0,"vol":1004,"low":12886.6,"count":117,"id":1603364400,"close":13045.0,"tradeTurnover":13020.8576,"open":12977.0},{"amount":1.134,"high":12973.4,"vol":1134,"low":12751.6,"count":111,"id":1603368000,"close":12847.9,"tradeTurnover":14594.2752,"open":12958.5},{"amount":1.152,"high":13000.8,"vol":1152,"low":12743.0,"count":114,"id":1603371600,"close":12931.0,"tradeTurnover":14877.7314,"open":12882.7},{"amount":1.182,"high":12995.3,"vol":1182,"low":12783.9,"count":115,"id":1603375200,"close":12917.8,"tradeTurnover":15224.4716,"open":12890.4},{"amount":1.176,"high":13031.2,"vol":1176,"low":12817.9,"count":117,"id":1603378800,"close":12953.0,"tradeTurnover":15197.208,"open":12918.8},{"amount":1.146,"high":13100.2,"vol":1146,"low":12865.6,"count":119,"id":1603382400,"close":13055.6,"tradeTurnover":14851.9604,"open":12923.1},{"amount":1.534,"high":13105.7,"vol":1534,"low":12835.5,"count":124,"id":1603386000,"close":13082.7,"tradeTurnover":19927.8288,"open":12967.6},{"amount":1.268,"high":13115.0,"vol":1268,"low":12938.7,"count":117,"id":1603389600,"close":13016.4,"tradeTurnover":16505.4738,"open":13020.4},{"amount":1.13,"high":13171.2,"vol":1130,"low":12961.8,"count":112,"id":1603393200,"close":12970.6,"tradeTurnover":14762.952,"open":13028.3},{"amount":1.206,"high":13216.1,"vol":1206,"low":12998.5,"count":117,"id":1603396800,"close":13089.3,"tradeTurnover":15807.1226,"open":13016.7},{"amount":1.332,"high":13203.7,"vol":1332,"low":12932.9,"count":114,"id":1603400400,"close":13092.0,"tradeTurnover":17423.4422,"open":13136.0},{"amount":1.21,"high":13250.5,"vol":1210,"low":12984.7,"count":114,"id":1603404000,"close":13055.9,"tradeTurnover":15876.0632,"open":13119.4},{"amount":1.286,"high":13126.5,"vol":1286,"low":12857.2,"count":116,"id":1603407600,"close":12890.4,"tradeTurnover":16688.422,"open":13059.4},{"amount":1.502,"high":12994.0,"vol":1502,"low":12751.6,"count":131,"id":1603411200,"close":12892.2,"tradeTurnover":19331.1596,"open":12929.7},{"amount":1.386,"high":13003.2,"vol":1386,"low":12786.0,"count":121,"id":1603414800,"close":12898.3,"tradeTurnover":17904.8902,"open":12921.7},{"amount":1.416,"high":13054.0,"vol":1416,"low":12800.7,"count":122,"id":1603418400,"close":12975.1,"tradeTurnover":18306.6204,"open":12951.6},{"amount":1.19,"high":13030.7,"vol":1190,"low":12875.0,"count":118,"id":1603422000,"close":12947.0,"tradeTurnover":15409.7984,"open":12967.3},{"amount":1.022,"high":13047.3,"vol":1022,"low":12832.8,"count":127,"id":1603425600,"close":12852.0,"tradeTurnover":13214.4388,"open":12925.2},{"amount":0.478,"high":12991.7,"vol":478,"low":12841.2,"count":118,"id":1603429200,"close":12931.1,"tradeTurnover":6180.2486,"open":12859.0},{"amount":0.522,"high":13014.1,"vol":522,"low":12871.9,"count":132,"id":1603432800,"close":12939.6,"tradeTurnover":6759.0324,"open":12935.9},{"amount":0.476,"high":12998.9,"vol":476,"low":12917.1,"count":118,"id":1603436400,"close":12925.4,"tradeTurnover":6163.3118,"open":12923.1},{"amount":0.508,"high":13014.0,"vol":508,"low":12916.1,"count":122,"id":1603440000,"close":12962.6,"tradeTurnover":6585.3656,"open":12942.2},{"amount":0.564,"high":13012.5,"vol":564,"low":12909.9,"count":124,"id":1603443600,"close":12926.4,"tradeTurnover":7308.8828,"open":12970.5},{"amount":0.536,"high":13059.5,"vol":536,"low":12925.7,"count":124,"id":1603447200,"close":13007.7,"tradeTurnover":6957.8796,"open":13001.2},{"amount":0.486,"high":13078.4,"vol":486,"low":12906.5,"count":122,"id":1603450800,"close":12970.6,"tradeTurnover":6326.1434,"open":13025.4},{"amount":0.494,"high":13025.0,"vol":494,"low":12850.8,"count":117,"id":1603454400,"close":12935.4,"tradeTurnover":6396.0984,"open":12963.9},{"amount":0.466,"high":13043.3,"vol":466,"low":12911.0,"count":117,"id":1603458000,"close":12951.7,"tradeTurnover":6049.1412,"open":12913.3},{"amount":0.46,"high":13006.4,"vol":460,"low":12840.4,"count":116,"id":1603461600,"close":12858.8,"tradeTurnover":5941.815,"open":12999.6},{"amount":0.492,"high":12932.9,"vol":492,"low":12826.5,"count":117,"id":1603465200,"close":12881.9,"tradeTurnover":6340.214,"open":12885.7},{"amount":0.484,"high":12933.5,"vol":484,"low":12744.4,"count":123,"id":1603468800,"close":12784.1,"tradeTurnover":6205.4138,"open":12854.4},{"amount":0.562,"high":12893.1,"vol":562,"low":12730.1,"count":152,"id":1603472400,"close":12847.7,"tradeTurnover":7218.9184,"open":12832.3},{"amount":0.53,"high":12939.3,"vol":530,"low":12751.4,"count":128,"id":1603476000,"close":12915.7,"tradeTurnover":6825.7004,"open":12874.1},{"amount":0.444,"high":12972.9,"vol":444,"low":12786.6,"count":117,"id":1603479600,"close":12972.9,"tradeTurnover":5727.7452,"open":12867.9},{"amount":0.492,"high":13002.2,"vol":492,"low":12842.9,"count":116,"id":1603483200,"close":12991.6,"tradeTurnover":6375.1566,"open":12956.7},{"amount":0.5,"high":13004.3,"vol":500,"low":12936.6,"count":125,"id":1603486800,"close":12943.5,"tradeTurnover":6485.468,"open":13004.3},{"amount":0.492,"high":13010.3,"vol":492,"low":12884.7,"count":120,"id":1603490400,"close":12989.2,"tradeTurnover":6376.1492,"open":12923.6},{"amount":0.51,"high":13024.4,"vol":510,"low":12884.6,"count":121,"id":1603494000,"close":12884.6,"tradeTurnover":6622.3406,"open":12974.9},{"amount":0.488,"high":13018.3,"vol":488,"low":12811.1,"count":120,"id":1603497600,"close":12953.9,"tradeTurnover":6317.7938,"open":12973.7},{"amount":0.482,"high":13018.1,"vol":482,"low":12872.8,"count":117,"id":1603501200,"close":12934.2,"tradeTurnover":6242.4178,"open":12927.5},{"amount":0.484,"high":13003.9,"vol":484,"low":12903.3,"count":117,"id":1603504800,"close":12989.1,"tradeTurnover":6278.1756,"open":12971.9},{"amount":0.474,"high":13013.4,"vol":474,"low":12938.3,"count":122,"id":1603508400,"close":12975.9,"tradeTurnover":6157.7096,"open":13000.1},{"amount":0.526,"high":13009.4,"vol":526,"low":12905.5,"count":124,"id":1603512000,"close":12963.3,"tradeTurnover":6831.5658,"open":12989.7},{"amount":0.522,"high":13041.8,"vol":522,"low":12875.3,"count":127,"id":1603515600,"close":12989.7,"tradeTurnover":6768.8994,"open":12910.5},{"amount":0.49,"high":13058.1,"vol":490,"low":12908.8,"count":120,"id":1603519200,"close":13003.6,"tradeTurnover":6370.5714,"open":12994.7},{"amount":0.478,"high":13037.8,"vol":478,"low":12981.7,"count":120,"id":1603522800,"close":13004.2,"tradeTurnover":6218.9722,"open":13011.9},{"amount":0.52,"high":13030.6,"vol":520,"low":12899.4,"count":124,"id":1603526400,"close":12998.2,"tradeTurnover":6754.958,"open":13003.0},{"amount":0.454,"high":13020.3,"vol":454,"low":12893.6,"count":115,"id":1603530000,"close":12990.6,"tradeTurnover":5891.0574,"open":12998.2},{"amount":0.502,"high":13059.1,"vol":502,"low":12913.2,"count":124,"id":1603533600,"close":13030.1,"tradeTurnover":6525.9004,"open":12996.4},{"amount":0.468,"high":13068.3,"vol":468,"low":12940.2,"count":119,"id":1603537200,"close":13033.2,"tradeTurnover":6091.0376,"open":12988.4},{"amount":0.468,"high":13071.8,"vol":468,"low":12978.9,"count":123,"id":1603540800,"close":13006.5,"tradeTurnover":6102.5902,"open":13035.3},{"amount":0.534,"high":13066.7,"vol":534,"low":12928.1,"count":123,"id":1603544400,"close":12985.9,"tradeTurnover":6950.4268,"open":13038.8},{"amount":0.47,"high":13100.1,"vol":470,"low":12960.5,"count":100,"id":1603548000,"close":13042.0,"tradeTurnover":6124.2178,"open":12986.3},{"amount":0.456,"high":13196.5,"vol":456,"low":13038.4,"count":120,"id":1603551600,"close":13102.2,"tradeTurnover":5989.6362,"open":13038.4},{"amount":0.458,"high":13176.6,"vol":458,"low":12984.6,"count":121,"id":1603555200,"close":13052.7,"tradeTurnover":5976.331,"open":13136.8},{"amount":0.452,"high":13177.8,"vol":452,"low":13003.2,"count":118,"id":1603558800,"close":13177.8,"tradeTurnover":5911.7058,"open":13006.2},{"amount":0.468,"high":13170.7,"vol":468,"low":13023.0,"count":119,"id":1603562400,"close":13080.8,"tradeTurnover":6122.375,"open":13127.7},{"amount":0.468,"high":13179.3,"vol":468,"low":13014.2,"count":120,"id":1603566000,"close":13148.4,"tradeTurnover":6126.4278,"open":13040.7},{"amount":0.47,"high":13179.6,"vol":470,"low":12992.5,"count":119,"id":1603569600,"close":13090.1,"tradeTurnover":6151.4758,"open":13073.5},{"amount":0.458,"high":13148.7,"vol":458,"low":12980.7,"count":117,"id":1603573200,"close":12993.9,"tradeTurnover":5981.071,"open":13035.4},{"amount":0.478,"high":13112.1,"vol":478,"low":12975.6,"count":118,"id":1603576800,"close":13041.1,"tradeTurnover":6225.4216,"open":13040.7},{"amount":0.472,"high":13184.3,"vol":472,"low":13009.3,"count":118,"id":1603580400,"close":13184.3,"tradeTurnover":6173.4244,"open":13012.6},{"amount":0.46,"high":13170.4,"vol":460,"low":13007.7,"count":115,"id":1603584000,"close":13154.3,"tradeTurnover":6024.09,"open":13080.8},{"amount":0.398,"high":13196.8,"vol":398,"low":13024.0,"count":102,"id":1603587600,"close":13196.1,"tradeTurnover":5217.5364,"open":13092.0},{"amount":0.476,"high":13175.1,"vol":476,"low":13035.0,"count":120,"id":1603591200,"close":13082.4,"tradeTurnover":6228.6596,"open":13124.7},{"amount":0.578,"high":13383.8,"vol":578,"low":13049.1,"count":137,"id":1603594800,"close":13259.0,"tradeTurnover":7629.3886,"open":13049.1},{"amount":0.47,"high":13369.0,"vol":470,"low":13216.0,"count":122,"id":1603598400,"close":13243.4,"tradeTurnover":6247.955,"open":13277.0},{"amount":0.61,"high":13353.3,"vol":610,"low":13010.1,"count":134,"id":1603602000,"close":13017.3,"tradeTurnover":8048.8598,"open":13285.3},{"amount":0.486,"high":13105.7,"vol":486,"low":13018.2,"count":118,"id":1603605600,"close":13060.3,"tradeTurnover":6344.1474,"open":13022.5},{"amount":0.464,"high":13112.1,"vol":464,"low":13022.0,"count":120,"id":1603609200,"close":13078.1,"tradeTurnover":6061.5416,"open":13048.5},{"amount":0.464,"high":13091.0,"vol":464,"low":13017.2,"count":120,"id":1603612800,"close":13046.0,"tradeTurnover":6055.3734,"open":13077.2},{"amount":0.478,"high":13084.0,"vol":478,"low":13014.2,"count":117,"id":1603616400,"close":13040.8,"tradeTurnover":6235.7882,"open":13065.1},{"amount":0.478,"high":13064.2,"vol":478,"low":13010.2,"count":125,"id":1603620000,"close":13028.5,"tradeTurnover":6232.2428,"open":13047.1},{"amount":0.534,"high":13061.5,"vol":534,"low":12852.9,"count":123,"id":1603623600,"close":12897.6,"tradeTurnover":6918.1226,"open":13061.5},{"amount":0.444,"high":13069.7,"vol":444,"low":12893.2,"count":117,"id":1603627200,"close":12964.3,"tradeTurnover":5755.8712,"open":12908.3},{"amount":0.498,"high":13071.9,"vol":498,"low":12891.8,"count":119,"id":1603630800,"close":12949.3,"tradeTurnover":6465.078,"open":13001.3},{"amount":0.468,"high":13077.7,"vol":468,"low":12900.0,"count":116,"id":1603634400,"close":12946.8,"tradeTurnover":6075.4554,"open":12975.8},{"amount":0.47,"high":13069.1,"vol":470,"low":12883.3,"count":119,"id":1603638000,"close":12883.3,"tradeTurnover":6097.1072,"open":12975.2},{"amount":0.482,"high":13067.9,"vol":482,"low":12877.5,"count":118,"id":1603641600,"close":12978.7,"tradeTurnover":6256.4472,"open":12916.2},{"amount":0.47,"high":13087.5,"vol":470,"low":12922.7,"count":117,"id":1603645200,"close":13004.4,"tradeTurnover":6108.3892,"open":13008.0},{"amount":0.468,"high":13067.6,"vol":468,"low":12893.6,"count":118,"id":1603648800,"close":12957.2,"tradeTurnover":6079.1484,"open":12972.8},{"amount":0.442,"high":13066.9,"vol":442,"low":12916.6,"count":118,"id":1603652400,"close":13021.8,"tradeTurnover":5746.5548,"open":12996.5},{"amount":0.508,"high":13081.5,"vol":508,"low":12944.9,"count":120,"id":1603656000,"close":12985.4,"tradeTurnover":6616.9872,"open":12992.9},{"amount":0.508,"high":13068.6,"vol":508,"low":12921.4,"count":122,"id":1603659600,"close":13011.2,"tradeTurnover":6614.816,"open":12999.9},{"amount":0.486,"high":13073.8,"vol":486,"low":12911.9,"count":121,"id":1603663200,"close":12959.4,"tradeTurnover":6320.907,"open":12979.6},{"amount":0.452,"high":13085.2,"vol":452,"low":12927.8,"count":113,"id":1603666800,"close":13032.1,"tradeTurnover":5878.6442,"open":12963.4},{"amount":0.482,"high":13076.7,"vol":482,"low":12918.3,"count":121,"id":1603670400,"close":13001.0,"tradeTurnover":6263.698,"open":12964.2},{"amount":0.478,"high":13096.4,"vol":478,"low":12991.2,"count":124,"id":1603674000,"close":13053.7,"tradeTurnover":6232.2328,"open":13040.0},{"amount":0.488,"high":13185.7,"vol":488,"low":12985.1,"count":121,"id":1603677600,"close":13064.4,"tradeTurnover":6387.534,"open":13060.6},{"amount":0.486,"high":13187.2,"vol":486,"low":12984.1,"count":135,"id":1603681200,"close":13092.8,"tradeTurnover":6369.0272,"open":13032.3},{"amount":0.51,"high":13181.6,"vol":510,"low":12962.3,"count":131,"id":1603684800,"close":13132.6,"tradeTurnover":6679.829,"open":13092.0},{"amount":0.506,"high":13205.3,"vol":506,"low":13025.3,"count":126,"id":1603688400,"close":13092.1,"tradeTurnover":6641.2128,"open":13129.2},{"amount":1.616,"high":13188.1,"vol":1616,"low":12989.8,"count":141,"id":1603692000,"close":13071.4,"tradeTurnover":21170.8224,"open":13121.8},{"amount":3.746,"high":13100.0,"vol":3746,"low":12965.2,"count":110,"id":1603695600,"close":13038.7,"tradeTurnover":48924.8902,"open":13061.0},{"amount":8.966,"high":13102.0,"vol":8966,"low":12852.8,"count":173,"id":1603699200,"close":13039.3,"tradeTurnover":116525.5534,"open":13030.9},{"amount":4.48,"high":13088.4,"vol":4480,"low":13039.8,"count":124,"id":1603702800,"close":13075.9,"tradeTurnover":58521.1714,"open":13047.1},{"amount":4.272,"high":13100.0,"vol":4272,"low":13060.2,"count":130,"id":1603706400,"close":13100.0,"tradeTurnover":55895.9778,"open":13072.1},{"amount":29.798,"high":13159.0,"vol":29798,"low":13100.0,"count":230,"id":1603710000,"close":13138.4,"tradeTurnover":391138.024,"open":13100.0},{"amount":5.154,"high":13200.0,"vol":5154,"low":13100.0,"count":188,"id":1603713600,"close":13149.8,"tradeTurnover":67694.652,"open":13138.8},{"amount":35.608,"high":13351.5,"vol":35608,"low":13133.1,"count":328,"id":1603717200,"close":13205.8,"tradeTurnover":472780.3394,"open":13150.0},{"amount":31.748,"high":13280.0,"vol":31748,"low":13144.1,"count":235,"id":1603720800,"close":13166.1,"tradeTurnover":418744.5588,"open":13203.0},{"amount":36.53,"high":13165.2,"vol":36530,"low":12903.8,"count":384,"id":1603724400,"close":12978.0,"tradeTurnover":476940.3296,"open":13159.0},{"amount":35.018,"high":13069.8,"vol":35018,"low":12850.5,"count":323,"id":1603728000,"close":12869.6,"tradeTurnover":453288.918,"open":12965.0},{"amount":92.628,"high":12941.5,"vol":92628,"low":12583.9,"count":560,"id":1603731600,"close":12873.8,"tradeTurnover":1185973.467,"open":12879.2},{"amount":4.302,"high":12954.5,"vol":4302,"low":12820.4,"count":128,"id":1603735200,"close":12946.8,"tradeTurnover":55481.0054,"open":12856.2},{"amount":13.83,"high":12953.5,"vol":13830,"low":12914.1,"count":118,"id":1603738800,"close":12953.4,"tradeTurnover":179112.1598,"open":12945.6},{"amount":17.172,"high":13007.5,"vol":17172,"low":12953.5,"count":132,"id":1603742400,"close":12983.4,"tradeTurnover":223230.2122,"open":12953.5},{"amount":3.212,"high":13007.5,"vol":3212,"low":12982.7,"count":59,"id":1603746000,"close":12993.8,"tradeTurnover":41767.8906,"open":12983.1},{"amount":1.504,"high":13007.5,"vol":1504,"low":12974.0,"count":74,"id":1603749600,"close":13007.5,"tradeTurnover":19543.3568,"open":13002.1},{"amount":3.454,"high":13061.2,"vol":3454,"low":13007.5,"count":101,"id":1603753200,"close":13033.7,"tradeTurnover":45001.601,"open":13007.5},{"amount":8.784,"high":13105.0,"vol":8784,"low":13028.3,"count":98,"id":1603756800,"close":13067.1,"tradeTurnover":114871.8246,"open":13029.2},{"amount":11.592,"high":13074.4,"vol":11592,"low":13051.5,"count":66,"id":1603760400,"close":13061.7,"tradeTurnover":151386.9038,"open":13074.3},{"amount":19.298,"high":13097.6,"vol":19298,"low":13040.1,"count":109,"id":1603764000,"close":13049.7,"tradeTurnover":252061.019,"open":13061.7},{"amount":22.992,"high":13080.0,"vol":22992,"low":13057.1,"count":69,"id":1603767600,"close":13070.4,"tradeTurnover":300453.9788,"open":13057.6},{"amount":14.396,"high":13175.0,"vol":14396,"low":13079.6,"count":59,"id":1603771200,"close":13103.3,"tradeTurnover":188461.9156,"open":13080.0},{"amount":5.058,"high":13121.3,"vol":5058,"low":13069.7,"count":44,"id":1603774800,"close":13073.6,"tradeTurnover":66201.3552,"open":13121.3},{"amount":9.106,"high":13149.0,"vol":9106,"low":13069.6,"count":107,"id":1603778400,"close":13103.4,"tradeTurnover":119104.8906,"open":13074.9},{"amount":73.95,"high":13169.8,"vol":73950,"low":12992.4,"count":305,"id":1603782000,"close":13130.0,"tradeTurnover":968195.155,"open":13103.3},{"amount":18.732,"high":13148.4,"vol":18732,"low":13044.0,"count":135,"id":1603785600,"close":13123.8,"tradeTurnover":245533.5448,"open":13135.1},{"amount":13.756,"high":13131.8,"vol":13756,"low":13075.7,"count":102,"id":1603789200,"close":13131.7,"tradeTurnover":180253.7708,"open":13115.5},{"amount":154.108,"high":13252.0,"vol":154108,"low":13063.4,"count":525,"id":1603792800,"close":13216.9,"tradeTurnover":2029983.656,"open":13134.8},{"amount":170.09,"high":13590.1,"vol":170090,"low":13213.5,"count":591,"id":1603796400,"close":13395.8,"tradeTurnover":2276279.742,"open":13218.8},{"amount":48.928,"high":13414.0,"vol":48928,"low":13331.7,"count":216,"id":1603800000,"close":13376.9,"tradeTurnover":654585.9108,"open":13395.9},{"amount":63.294,"high":13490.9,"vol":63294,"low":13329.8,"count":316,"id":1603803600,"close":13384.3,"tradeTurnover":848130.9212,"open":13376.5},{"amount":12.892,"high":13415.8,"vol":12892,"low":13344.8,"count":124,"id":1603807200,"close":13398.2,"tradeTurnover":172618.6864,"open":13392.6},{"amount":93.22,"high":13626.7,"vol":93220,"low":13398.2,"count":476,"id":1603810800,"close":13598.5,"tradeTurnover":1262695.5466,"open":13398.2},{"amount":85.45,"high":13639.9,"vol":85450,"low":13520.2,"count":435,"id":1603814400,"close":13639.9,"tradeTurnover":1161481.4136,"open":13595.8},{"amount":191.812,"high":13826.7,"vol":191812,"low":13589.0,"count":711,"id":1603818000,"close":13688.1,"tradeTurnover":2628428.3788,"open":13640.0},{"amount":65.434,"high":13745.0,"vol":65434,"low":13528.2,"count":410,"id":1603821600,"close":13630.1,"tradeTurnover":891541.8394,"open":13685.0},{"amount":5.788,"high":13659.8,"vol":5788,"low":13595.4,"count":65,"id":1603825200,"close":13637.1,"tradeTurnover":78836.2578,"open":13629.4},{"amount":163.104,"high":13805.1,"vol":163104,"low":13582.6,"count":537,"id":1603828800,"close":13616.6,"tradeTurnover":2234040.3544,"open":13644.4},{"amount":9.884,"high":13753.5,"vol":9884,"low":13609.8,"count":101,"id":1603832400,"close":13705.5,"tradeTurnover":135406.4752,"open":13609.8},{"amount":7.436,"high":13739.9,"vol":7436,"low":13658.2,"count":100,"id":1603836000,"close":13739.9,"tradeTurnover":101840.3508,"open":13705.4},{"amount":17.086,"high":13794.6,"vol":17086,"low":13582.6,"count":234,"id":1603839600,"close":13649.6,"tradeTurnover":233971.8448,"open":13739.9},{"amount":24.108,"high":13745.2,"vol":24108,"low":13618.8,"count":177,"id":1603843200,"close":13701.7,"tradeTurnover":330206.5694,"open":13645.9},{"amount":15.892,"high":13725.6,"vol":15892,"low":13647.9,"count":151,"id":1603846800,"close":13702.6,"tradeTurnover":217816.7008,"open":13702.1},{"amount":46.548,"high":13832.2,"vol":46548,"low":13680.2,"count":274,"id":1603850400,"close":13811.6,"tradeTurnover":640636.0352,"open":13701.7},{"amount":67.896,"high":13820.3,"vol":67896,"low":13717.5,"count":320,"id":1603854000,"close":13777.0,"tradeTurnover":935838.2238,"open":13818.5},{"amount":33.156,"high":13807.2,"vol":33156,"low":13710.0,"count":210,"id":1603857600,"close":13735.7,"tradeTurnover":455941.234,"open":13767.3},{"amount":32.076,"high":13753.9,"vol":32076,"low":13671.3,"count":198,"id":1603861200,"close":13715.8,"tradeTurnover":439612.64,"open":13735.5},{"amount":14.756,"high":13757.0,"vol":14756,"low":13694.9,"count":122,"id":1603864800,"close":13701.3,"tradeTurnover":202602.5164,"open":13715.9},{"amount":155.534,"high":13708.7,"vol":155534,"low":13550.0,"count":635,"id":1603868400,"close":13674.2,"tradeTurnover":2117935.0928,"open":13701.2},{"amount":29.846,"high":13691.7,"vol":29846,"low":13584.0,"count":240,"id":1603872000,"close":13691.7,"tradeTurnover":407073.1398,"open":13673.0},{"amount":104.542,"high":13707.5,"vol":104542,"low":13573.5,"count":377,"id":1603875600,"close":13587.1,"tradeTurnover":1425079.9344,"open":13689.3},{"amount":73.818,"high":13618.0,"vol":73818,"low":13504.7,"count":358,"id":1603879200,"close":13552.7,"tradeTurnover":1001666.0908,"open":13584.6},{"amount":176.544,"high":13565.4,"vol":176544,"low":13330.0,"count":1004,"id":1603882800,"close":13336.4,"tradeTurnover":2369166.1492,"open":13552.6},{"amount":289.73,"high":13385.0,"vol":289730,"low":13173.9,"count":968,"id":1603886400,"close":13300.3,"tradeTurnover":3846751.7166,"open":13331.5},{"amount":139.822,"high":13340.0,"vol":139822,"low":13122.9,"count":612,"id":1603890000,"close":13129.9,"tradeTurnover":1848876.932,"open":13300.2},{"amount":367.876,"high":13168.2,"vol":367876,"low":12915.9,"count":1168,"id":1603893600,"close":13082.2,"tradeTurnover":4802516.9818,"open":13123.4},{"amount":84.044,"high":13235.2,"vol":84044,"low":13052.3,"count":375,"id":1603897200,"close":13221.2,"tradeTurnover":1106883.1282,"open":13077.1},{"amount":29.566,"high":13218.7,"vol":29566,"low":13050.0,"count":244,"id":1603900800,"close":13145.1,"tradeTurnover":388697.4104,"open":13218.7},{"amount":53.336,"high":13204.9,"vol":53336,"low":13006.6,"count":299,"id":1603904400,"close":13176.7,"tradeTurnover":700385.2784,"open":13145.1},{"amount":34.164,"high":13219.6,"vol":34164,"low":13131.0,"count":218,"id":1603908000,"close":13196.5,"tradeTurnover":450210.5778,"open":13171.0},{"amount":22.158,"high":13237.4,"vol":22158,"low":13145.0,"count":185,"id":1603911600,"close":13154.9,"tradeTurnover":292020.0438,"open":13200.0},{"amount":4.548,"high":13211.8,"vol":4548,"low":13147.4,"count":75,"id":1603915200,"close":13198.1,"tradeTurnover":59991.1118,"open":13154.5},{"amount":3.52,"high":13196.5,"vol":3520,"low":13100.2,"count":68,"id":1603918800,"close":13190.1,"tradeTurnover":46175.428,"open":13193.5},{"amount":3.122,"high":13267.5,"vol":3122,"low":13185.4,"count":72,"id":1603922400,"close":13252.0,"tradeTurnover":41304.2018,"open":13185.4},{"amount":14.768,"high":13282.3,"vol":14768,"low":13235.9,"count":86,"id":1603926000,"close":13265.9,"tradeTurnover":195689.0764,"open":13242.1},{"amount":19.968,"high":13294.7,"vol":19968,"low":13237.4,"count":98,"id":1603929600,"close":13245.1,"tradeTurnover":264834.1944,"open":13253.9},{"amount":35.282,"high":13285.3,"vol":35282,"low":13166.3,"count":192,"id":1603933200,"close":13274.2,"tradeTurnover":465789.6302,"open":13244.6},{"amount":9.748,"high":13277.7,"vol":9748,"low":13212.2,"count":119,"id":1603936800,"close":13241.1,"tradeTurnover":129016.0684,"open":13275.9},{"amount":27.3,"high":13262.5,"vol":27300,"low":13174.6,"count":199,"id":1603940400,"close":13262.5,"tradeTurnover":360589.8982,"open":13237.1},{"amount":18.904,"high":13277.7,"vol":18904,"low":13229.5,"count":109,"id":1603944000,"close":13229.5,"tradeTurnover":250713.2812,"open":13269.1},{"amount":15.822,"high":13274.8,"vol":15822,"low":13228.5,"count":134,"id":1603947600,"close":13274.8,"tradeTurnover":209781.909,"open":13228.5},{"amount":91.246,"high":13323.0,"vol":91246,"low":13242.3,"count":294,"id":1603951200,"close":13255.0,"tradeTurnover":1211271.2788,"open":13274.8},{"amount":187.622,"high":13269.3,"vol":187622,"low":13123.1,"count":506,"id":1603954800,"close":13142.4,"tradeTurnover":2478299.7074,"open":13255.0},{"amount":69.532,"high":13182.4,"vol":69532,"low":13094.1,"count":226,"id":1603958400,"close":13124.8,"tradeTurnover":914157.2418,"open":13145.9},{"amount":23.184,"high":13197.1,"vol":23184,"low":13129.5,"count":141,"id":1603962000,"close":13183.7,"tradeTurnover":305485.9524,"open":13129.5},{"amount":121.146,"high":13187.5,"vol":121146,"low":13053.1,"count":442,"id":1603965600,"close":13105.2,"tradeTurnover":1590026.4416,"open":13184.8},{"amount":47.498,"high":13171.4,"vol":47498,"low":13060.1,"count":262,"id":1603969200,"close":13060.1,"tradeTurnover":623578.149,"open":13105.1},{"amount":126.552,"high":13145.8,"vol":126552,"low":12977.9,"count":481,"id":1603972800,"close":13131.8,"tradeTurnover":1652549.311,"open":13056.9},{"amount":100.482,"high":13237.2,"vol":100482,"low":13102.0,"count":325,"id":1603976400,"close":13230.0,"tradeTurnover":1326403.7206,"open":13131.7},{"amount":253.258,"high":13476.1,"vol":253258,"low":13231.0,"count":752,"id":1603980000,"close":13420.8,"tradeTurnover":3384941.438,"open":13231.0},{"amount":64.71,"high":13458.7,"vol":64710,"low":13358.7,"count":269,"id":1603983600,"close":13420.6,"tradeTurnover":869052.3804,"open":13416.0},{"amount":120.24,"high":13594.5,"vol":120240,"low":13391.8,"count":570,"id":1603987200,"close":13535.9,"tradeTurnover":1626567.8278,"open":13421.9}],"id":"","rep":"market.BTC-USDT.kline.60min","status":"ok"} +2024-01-18 11:13:08.950 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:39] - 请求 KLine 数据用户收到的原始数据:{"id":"","rep":"market.BTC-USDT.kline.60min","ts":1705547587853,"wsid":19750305,"status":"ok","data":[{"id":1603270800,"open":12198.0,"close":12196.7,"high":12300.0,"low":11715.8,"amount":0.276,"vol":276,"trade_turnover":3315.9104,"count":39},{"id":1603274400,"open":12196.7,"close":12277.9,"high":12289.9,"low":12111.0,"amount":0.198,"vol":198,"trade_turnover":2420.7728,"count":21},{"id":1603278000,"open":12111.0,"close":12000.0,"high":12277.9,"low":12000.0,"amount":0.012,"vol":12,"trade_turnover":145.2238,"count":5},{"id":1603281600,"open":12078.0,"close":12497.4,"high":12498.0,"low":12078.0,"amount":0.084,"vol":84,"trade_turnover":1040.0504,"count":12},{"id":1603285200,"open":12495.6,"close":12373.5,"high":12495.6,"low":12282.9,"amount":1.122,"vol":1122,"trade_turnover":13905.3124,"count":112},{"id":1603288800,"open":12412.9,"close":12689.9,"high":12807.6,"low":12358.1,"amount":5.29,"vol":5290,"trade_turnover":66852.128,"count":155},{"id":1603292400,"open":12692.8,"close":12701.9,"high":12778.7,"low":12573.2,"amount":1.174,"vol":1174,"trade_turnover":14907.367,"count":113},{"id":1603296000,"open":12679.7,"close":12835.9,"high":12920.9,"low":12624.8,"amount":1.156,"vol":1156,"trade_turnover":14802.449,"count":115},{"id":1603299600,"open":12848.3,"close":12754.2,"high":12908.3,"low":12687.5,"amount":1.12,"vol":1120,"trade_turnover":14345.7324,"count":115},{"id":1603303200,"open":12743.7,"close":12740.2,"high":12849.0,"low":12668.3,"amount":1.106,"vol":1106,"trade_turnover":14105.3504,"count":114},{"id":1603306800,"open":12729.5,"close":12650.3,"high":12843.1,"low":12597.2,"amount":1.032,"vol":1032,"trade_turnover":13125.4568,"count":112},{"id":1603310400,"open":12666.8,"close":12807.0,"high":12848.4,"low":12610.2,"amount":1.154,"vol":1154,"trade_turnover":14680.638,"count":116},{"id":1603314000,"open":12866.0,"close":12938.9,"high":13005.1,"low":12748.2,"amount":1.164,"vol":1164,"trade_turnover":14976.9366,"count":114},{"id":1603317600,"open":12921.0,"close":13122.0,"high":13211.2,"low":12865.7,"amount":1.174,"vol":1174,"trade_turnover":15285.2446,"count":114},{"id":1603321200,"open":13153.2,"close":12829.8,"high":13173.2,"low":12688.6,"amount":1.172,"vol":1172,"trade_turnover":15060.9938,"count":117},{"id":1603324800,"open":12793.1,"close":12885.9,"high":12988.1,"low":12764.4,"amount":1.17,"vol":1170,"trade_turnover":15046.2046,"count":117},{"id":1603328400,"open":12860.4,"close":12757.5,"high":12972.6,"low":12757.5,"amount":1.158,"vol":1158,"trade_turnover":14882.4656,"count":118},{"id":1603332000,"open":12824.1,"close":12788.8,"high":12848.0,"low":12729.0,"amount":1.124,"vol":1124,"trade_turnover":14368.7948,"count":115},{"id":1603335600,"open":12791.7,"close":12767.2,"high":12834.4,"low":12729.0,"amount":1.194,"vol":1194,"trade_turnover":15268.9298,"count":111},{"id":1603339200,"open":12729.0,"close":12762.2,"high":12778.3,"low":12729.0,"amount":1.152,"vol":1152,"trade_turnover":14695.4876,"count":115},{"id":1603342800,"open":12763.1,"close":12813.8,"high":12842.0,"low":12730.6,"amount":1.21,"vol":1210,"trade_turnover":15440.8162,"count":119},{"id":1603346400,"open":12795.0,"close":12729.1,"high":12795.0,"low":12728.0,"amount":1.188,"vol":1188,"trade_turnover":15128.0098,"count":123},{"id":1603350000,"open":12728.6,"close":12730.6,"high":12730.6,"low":12728.3,"amount":1.266,"vol":1266,"trade_turnover":16115.1306,"count":112},{"id":1603353600,"open":12730.3,"close":12770.1,"high":12921.5,"low":12729.9,"amount":1.35,"vol":1350,"trade_turnover":17233.7326,"count":127},{"id":1603357200,"open":12824.9,"close":12780.4,"high":12872.1,"low":12760.1,"amount":0.98,"vol":980,"trade_turnover":12553.9826,"count":99},{"id":1603360800,"open":12784.9,"close":12934.2,"high":13002.7,"low":12775.6,"amount":0.266,"vol":266,"trade_turnover":3415.023,"count":30},{"id":1603364400,"open":12977.0,"close":13045.0,"high":13057.0,"low":12886.6,"amount":1.004,"vol":1004,"trade_turnover":13020.8576,"count":117},{"id":1603368000,"open":12958.5,"close":12847.9,"high":12973.4,"low":12751.6,"amount":1.134,"vol":1134,"trade_turnover":14594.2752,"count":111},{"id":1603371600,"open":12882.7,"close":12931.0,"high":13000.8,"low":12743.0,"amount":1.152,"vol":1152,"trade_turnover":14877.7314,"count":114},{"id":1603375200,"open":12890.4,"close":12917.8,"high":12995.3,"low":12783.9,"amount":1.182,"vol":1182,"trade_turnover":15224.4716,"count":115},{"id":1603378800,"open":12918.8,"close":12953.0,"high":13031.2,"low":12817.9,"amount":1.176,"vol":1176,"trade_turnover":15197.208,"count":117},{"id":1603382400,"open":12923.1,"close":13055.6,"high":13100.2,"low":12865.6,"amount":1.146,"vol":1146,"trade_turnover":14851.9604,"count":119},{"id":1603386000,"open":12967.6,"close":13082.7,"high":13105.7,"low":12835.5,"amount":1.534,"vol":1534,"trade_turnover":19927.8288,"count":124},{"id":1603389600,"open":13020.4,"close":13016.4,"high":13115.0,"low":12938.7,"amount":1.268,"vol":1268,"trade_turnover":16505.4738,"count":117},{"id":1603393200,"open":13028.3,"close":12970.6,"high":13171.2,"low":12961.8,"amount":1.13,"vol":1130,"trade_turnover":14762.952,"count":112},{"id":1603396800,"open":13016.7,"close":13089.3,"high":13216.1,"low":12998.5,"amount":1.206,"vol":1206,"trade_turnover":15807.1226,"count":117},{"id":1603400400,"open":13136.0,"close":13092.0,"high":13203.7,"low":12932.9,"amount":1.332,"vol":1332,"trade_turnover":17423.4422,"count":114},{"id":1603404000,"open":13119.4,"close":13055.9,"high":13250.5,"low":12984.7,"amount":1.21,"vol":1210,"trade_turnover":15876.0632,"count":114},{"id":1603407600,"open":13059.4,"close":12890.4,"high":13126.5,"low":12857.2,"amount":1.286,"vol":1286,"trade_turnover":16688.422,"count":116},{"id":1603411200,"open":12929.7,"close":12892.2,"high":12994.0,"low":12751.6,"amount":1.502,"vol":1502,"trade_turnover":19331.1596,"count":131},{"id":1603414800,"open":12921.7,"close":12898.3,"high":13003.2,"low":12786.0,"amount":1.386,"vol":1386,"trade_turnover":17904.8902,"count":121},{"id":1603418400,"open":12951.6,"close":12975.1,"high":13054.0,"low":12800.7,"amount":1.416,"vol":1416,"trade_turnover":18306.6204,"count":122},{"id":1603422000,"open":12967.3,"close":12947.0,"high":13030.7,"low":12875.0,"amount":1.19,"vol":1190,"trade_turnover":15409.7984,"count":118},{"id":1603425600,"open":12925.2,"close":12852.0,"high":13047.3,"low":12832.8,"amount":1.022,"vol":1022,"trade_turnover":13214.4388,"count":127},{"id":1603429200,"open":12859.0,"close":12931.1,"high":12991.7,"low":12841.2,"amount":0.478,"vol":478,"trade_turnover":6180.2486,"count":118},{"id":1603432800,"open":12935.9,"close":12939.6,"high":13014.1,"low":12871.9,"amount":0.522,"vol":522,"trade_turnover":6759.0324,"count":132},{"id":1603436400,"open":12923.1,"close":12925.4,"high":12998.9,"low":12917.1,"amount":0.476,"vol":476,"trade_turnover":6163.3118,"count":118},{"id":1603440000,"open":12942.2,"close":12962.6,"high":13014.0,"low":12916.1,"amount":0.508,"vol":508,"trade_turnover":6585.3656,"count":122},{"id":1603443600,"open":12970.5,"close":12926.4,"high":13012.5,"low":12909.9,"amount":0.564,"vol":564,"trade_turnover":7308.8828,"count":124},{"id":1603447200,"open":13001.2,"close":13007.7,"high":13059.5,"low":12925.7,"amount":0.536,"vol":536,"trade_turnover":6957.8796,"count":124},{"id":1603450800,"open":13025.4,"close":12970.6,"high":13078.4,"low":12906.5,"amount":0.486,"vol":486,"trade_turnover":6326.1434,"count":122},{"id":1603454400,"open":12963.9,"close":12935.4,"high":13025.0,"low":12850.8,"amount":0.494,"vol":494,"trade_turnover":6396.0984,"count":117},{"id":1603458000,"open":12913.3,"close":12951.7,"high":13043.3,"low":12911.0,"amount":0.466,"vol":466,"trade_turnover":6049.1412,"count":117},{"id":1603461600,"open":12999.6,"close":12858.8,"high":13006.4,"low":12840.4,"amount":0.46,"vol":460,"trade_turnover":5941.815,"count":116},{"id":1603465200,"open":12885.7,"close":12881.9,"high":12932.9,"low":12826.5,"amount":0.492,"vol":492,"trade_turnover":6340.214,"count":117},{"id":1603468800,"open":12854.4,"close":12784.1,"high":12933.5,"low":12744.4,"amount":0.484,"vol":484,"trade_turnover":6205.4138,"count":123},{"id":1603472400,"open":12832.3,"close":12847.7,"high":12893.1,"low":12730.1,"amount":0.562,"vol":562,"trade_turnover":7218.9184,"count":152},{"id":1603476000,"open":12874.1,"close":12915.7,"high":12939.3,"low":12751.4,"amount":0.53,"vol":530,"trade_turnover":6825.7004,"count":128},{"id":1603479600,"open":12867.9,"close":12972.9,"high":12972.9,"low":12786.6,"amount":0.444,"vol":444,"trade_turnover":5727.7452,"count":117},{"id":1603483200,"open":12956.7,"close":12991.6,"high":13002.2,"low":12842.9,"amount":0.492,"vol":492,"trade_turnover":6375.1566,"count":116},{"id":1603486800,"open":13004.3,"close":12943.5,"high":13004.3,"low":12936.6,"amount":0.5,"vol":500,"trade_turnover":6485.468,"count":125},{"id":1603490400,"open":12923.6,"close":12989.2,"high":13010.3,"low":12884.7,"amount":0.492,"vol":492,"trade_turnover":6376.1492,"count":120},{"id":1603494000,"open":12974.9,"close":12884.6,"high":13024.4,"low":12884.6,"amount":0.51,"vol":510,"trade_turnover":6622.3406,"count":121},{"id":1603497600,"open":12973.7,"close":12953.9,"high":13018.3,"low":12811.1,"amount":0.488,"vol":488,"trade_turnover":6317.7938,"count":120},{"id":1603501200,"open":12927.5,"close":12934.2,"high":13018.1,"low":12872.8,"amount":0.482,"vol":482,"trade_turnover":6242.4178,"count":117},{"id":1603504800,"open":12971.9,"close":12989.1,"high":13003.9,"low":12903.3,"amount":0.484,"vol":484,"trade_turnover":6278.1756,"count":117},{"id":1603508400,"open":13000.1,"close":12975.9,"high":13013.4,"low":12938.3,"amount":0.474,"vol":474,"trade_turnover":6157.7096,"count":122},{"id":1603512000,"open":12989.7,"close":12963.3,"high":13009.4,"low":12905.5,"amount":0.526,"vol":526,"trade_turnover":6831.5658,"count":124},{"id":1603515600,"open":12910.5,"close":12989.7,"high":13041.8,"low":12875.3,"amount":0.522,"vol":522,"trade_turnover":6768.8994,"count":127},{"id":1603519200,"open":12994.7,"close":13003.6,"high":13058.1,"low":12908.8,"amount":0.49,"vol":490,"trade_turnover":6370.5714,"count":120},{"id":1603522800,"open":13011.9,"close":13004.2,"high":13037.8,"low":12981.7,"amount":0.478,"vol":478,"trade_turnover":6218.9722,"count":120},{"id":1603526400,"open":13003.0,"close":12998.2,"high":13030.6,"low":12899.4,"amount":0.52,"vol":520,"trade_turnover":6754.958,"count":124},{"id":1603530000,"open":12998.2,"close":12990.6,"high":13020.3,"low":12893.6,"amount":0.454,"vol":454,"trade_turnover":5891.0574,"count":115},{"id":1603533600,"open":12996.4,"close":13030.1,"high":13059.1,"low":12913.2,"amount":0.502,"vol":502,"trade_turnover":6525.9004,"count":124},{"id":1603537200,"open":12988.4,"close":13033.2,"high":13068.3,"low":12940.2,"amount":0.468,"vol":468,"trade_turnover":6091.0376,"count":119},{"id":1603540800,"open":13035.3,"close":13006.5,"high":13071.8,"low":12978.9,"amount":0.468,"vol":468,"trade_turnover":6102.5902,"count":123},{"id":1603544400,"open":13038.8,"close":12985.9,"high":13066.7,"low":12928.1,"amount":0.534,"vol":534,"trade_turnover":6950.4268,"count":123},{"id":1603548000,"open":12986.3,"close":13042.0,"high":13100.1,"low":12960.5,"amount":0.47,"vol":470,"trade_turnover":6124.2178,"count":100},{"id":1603551600,"open":13038.4,"close":13102.2,"high":13196.5,"low":13038.4,"amount":0.456,"vol":456,"trade_turnover":5989.6362,"count":120},{"id":1603555200,"open":13136.8,"close":13052.7,"high":13176.6,"low":12984.6,"amount":0.458,"vol":458,"trade_turnover":5976.331,"count":121},{"id":1603558800,"open":13006.2,"close":13177.8,"high":13177.8,"low":13003.2,"amount":0.452,"vol":452,"trade_turnover":5911.7058,"count":118},{"id":1603562400,"open":13127.7,"close":13080.8,"high":13170.7,"low":13023.0,"amount":0.468,"vol":468,"trade_turnover":6122.375,"count":119},{"id":1603566000,"open":13040.7,"close":13148.4,"high":13179.3,"low":13014.2,"amount":0.468,"vol":468,"trade_turnover":6126.4278,"count":120},{"id":1603569600,"open":13073.5,"close":13090.1,"high":13179.6,"low":12992.5,"amount":0.47,"vol":470,"trade_turnover":6151.4758,"count":119},{"id":1603573200,"open":13035.4,"close":12993.9,"high":13148.7,"low":12980.7,"amount":0.458,"vol":458,"trade_turnover":5981.071,"count":117},{"id":1603576800,"open":13040.7,"close":13041.1,"high":13112.1,"low":12975.6,"amount":0.478,"vol":478,"trade_turnover":6225.4216,"count":118},{"id":1603580400,"open":13012.6,"close":13184.3,"high":13184.3,"low":13009.3,"amount":0.472,"vol":472,"trade_turnover":6173.4244,"count":118},{"id":1603584000,"open":13080.8,"close":13154.3,"high":13170.4,"low":13007.7,"amount":0.46,"vol":460,"trade_turnover":6024.09,"count":115},{"id":1603587600,"open":13092.0,"close":13196.1,"high":13196.8,"low":13024.0,"amount":0.398,"vol":398,"trade_turnover":5217.5364,"count":102},{"id":1603591200,"open":13124.7,"close":13082.4,"high":13175.1,"low":13035.0,"amount":0.476,"vol":476,"trade_turnover":6228.6596,"count":120},{"id":1603594800,"open":13049.1,"close":13259.0,"high":13383.8,"low":13049.1,"amount":0.578,"vol":578,"trade_turnover":7629.3886,"count":137},{"id":1603598400,"open":13277.0,"close":13243.4,"high":13369.0,"low":13216.0,"amount":0.47,"vol":470,"trade_turnover":6247.955,"count":122},{"id":1603602000,"open":13285.3,"close":13017.3,"high":13353.3,"low":13010.1,"amount":0.61,"vol":610,"trade_turnover":8048.8598,"count":134},{"id":1603605600,"open":13022.5,"close":13060.3,"high":13105.7,"low":13018.2,"amount":0.486,"vol":486,"trade_turnover":6344.1474,"count":118},{"id":1603609200,"open":13048.5,"close":13078.1,"high":13112.1,"low":13022.0,"amount":0.464,"vol":464,"trade_turnover":6061.5416,"count":120},{"id":1603612800,"open":13077.2,"close":13046.0,"high":13091.0,"low":13017.2,"amount":0.464,"vol":464,"trade_turnover":6055.3734,"count":120},{"id":1603616400,"open":13065.1,"close":13040.8,"high":13084.0,"low":13014.2,"amount":0.478,"vol":478,"trade_turnover":6235.7882,"count":117},{"id":1603620000,"open":13047.1,"close":13028.5,"high":13064.2,"low":13010.2,"amount":0.478,"vol":478,"trade_turnover":6232.2428,"count":125},{"id":1603623600,"open":13061.5,"close":12897.6,"high":13061.5,"low":12852.9,"amount":0.534,"vol":534,"trade_turnover":6918.1226,"count":123},{"id":1603627200,"open":12908.3,"close":12964.3,"high":13069.7,"low":12893.2,"amount":0.444,"vol":444,"trade_turnover":5755.8712,"count":117},{"id":1603630800,"open":13001.3,"close":12949.3,"high":13071.9,"low":12891.8,"amount":0.498,"vol":498,"trade_turnover":6465.078,"count":119},{"id":1603634400,"open":12975.8,"close":12946.8,"high":13077.7,"low":12900.0,"amount":0.468,"vol":468,"trade_turnover":6075.4554,"count":116},{"id":1603638000,"open":12975.2,"close":12883.3,"high":13069.1,"low":12883.3,"amount":0.47,"vol":470,"trade_turnover":6097.1072,"count":119},{"id":1603641600,"open":12916.2,"close":12978.7,"high":13067.9,"low":12877.5,"amount":0.482,"vol":482,"trade_turnover":6256.4472,"count":118},{"id":1603645200,"open":13008.0,"close":13004.4,"high":13087.5,"low":12922.7,"amount":0.47,"vol":470,"trade_turnover":6108.3892,"count":117},{"id":1603648800,"open":12972.8,"close":12957.2,"high":13067.6,"low":12893.6,"amount":0.468,"vol":468,"trade_turnover":6079.1484,"count":118},{"id":1603652400,"open":12996.5,"close":13021.8,"high":13066.9,"low":12916.6,"amount":0.442,"vol":442,"trade_turnover":5746.5548,"count":118},{"id":1603656000,"open":12992.9,"close":12985.4,"high":13081.5,"low":12944.9,"amount":0.508,"vol":508,"trade_turnover":6616.9872,"count":120},{"id":1603659600,"open":12999.9,"close":13011.2,"high":13068.6,"low":12921.4,"amount":0.508,"vol":508,"trade_turnover":6614.816,"count":122},{"id":1603663200,"open":12979.6,"close":12959.4,"high":13073.8,"low":12911.9,"amount":0.486,"vol":486,"trade_turnover":6320.907,"count":121},{"id":1603666800,"open":12963.4,"close":13032.1,"high":13085.2,"low":12927.8,"amount":0.452,"vol":452,"trade_turnover":5878.6442,"count":113},{"id":1603670400,"open":12964.2,"close":13001.0,"high":13076.7,"low":12918.3,"amount":0.482,"vol":482,"trade_turnover":6263.698,"count":121},{"id":1603674000,"open":13040.0,"close":13053.7,"high":13096.4,"low":12991.2,"amount":0.478,"vol":478,"trade_turnover":6232.2328,"count":124},{"id":1603677600,"open":13060.6,"close":13064.4,"high":13185.7,"low":12985.1,"amount":0.488,"vol":488,"trade_turnover":6387.534,"count":121},{"id":1603681200,"open":13032.3,"close":13092.8,"high":13187.2,"low":12984.1,"amount":0.486,"vol":486,"trade_turnover":6369.0272,"count":135},{"id":1603684800,"open":13092.0,"close":13132.6,"high":13181.6,"low":12962.3,"amount":0.51,"vol":510,"trade_turnover":6679.829,"count":131},{"id":1603688400,"open":13129.2,"close":13092.1,"high":13205.3,"low":13025.3,"amount":0.506,"vol":506,"trade_turnover":6641.2128,"count":126},{"id":1603692000,"open":13121.8,"close":13071.4,"high":13188.1,"low":12989.8,"amount":1.616,"vol":1616,"trade_turnover":21170.8224,"count":141},{"id":1603695600,"open":13061.0,"close":13038.7,"high":13100.0,"low":12965.2,"amount":3.746,"vol":3746,"trade_turnover":48924.8902,"count":110},{"id":1603699200,"open":13030.9,"close":13039.3,"high":13102.0,"low":12852.8,"amount":8.966,"vol":8966,"trade_turnover":116525.5534,"count":173},{"id":1603702800,"open":13047.1,"close":13075.9,"high":13088.4,"low":13039.8,"amount":4.48,"vol":4480,"trade_turnover":58521.1714,"count":124},{"id":1603706400,"open":13072.1,"close":13100.0,"high":13100.0,"low":13060.2,"amount":4.272,"vol":4272,"trade_turnover":55895.9778,"count":130},{"id":1603710000,"open":13100.0,"close":13138.4,"high":13159.0,"low":13100.0,"amount":29.798,"vol":29798,"trade_turnover":391138.024,"count":230},{"id":1603713600,"open":13138.8,"close":13149.8,"high":13200.0,"low":13100.0,"amount":5.154,"vol":5154,"trade_turnover":67694.652,"count":188},{"id":1603717200,"open":13150.0,"close":13205.8,"high":13351.5,"low":13133.1,"amount":35.608,"vol":35608,"trade_turnover":472780.3394,"count":328},{"id":1603720800,"open":13203.0,"close":13166.1,"high":13280.0,"low":13144.1,"amount":31.748,"vol":31748,"trade_turnover":418744.5588,"count":235},{"id":1603724400,"open":13159.0,"close":12978.0,"high":13165.2,"low":12903.8,"amount":36.53,"vol":36530,"trade_turnover":476940.3296,"count":384},{"id":1603728000,"open":12965.0,"close":12869.6,"high":13069.8,"low":12850.5,"amount":35.018,"vol":35018,"trade_turnover":453288.918,"count":323},{"id":1603731600,"open":12879.2,"close":12873.8,"high":12941.5,"low":12583.9,"amount":92.628,"vol":92628,"trade_turnover":1185973.467,"count":560},{"id":1603735200,"open":12856.2,"close":12946.8,"high":12954.5,"low":12820.4,"amount":4.302,"vol":4302,"trade_turnover":55481.0054,"count":128},{"id":1603738800,"open":12945.6,"close":12953.4,"high":12953.5,"low":12914.1,"amount":13.83,"vol":13830,"trade_turnover":179112.1598,"count":118},{"id":1603742400,"open":12953.5,"close":12983.4,"high":13007.5,"low":12953.5,"amount":17.172,"vol":17172,"trade_turnover":223230.2122,"count":132},{"id":1603746000,"open":12983.1,"close":12993.8,"high":13007.5,"low":12982.7,"amount":3.212,"vol":3212,"trade_turnover":41767.8906,"count":59},{"id":1603749600,"open":13002.1,"close":13007.5,"high":13007.5,"low":12974.0,"amount":1.504,"vol":1504,"trade_turnover":19543.3568,"count":74},{"id":1603753200,"open":13007.5,"close":13033.7,"high":13061.2,"low":13007.5,"amount":3.454,"vol":3454,"trade_turnover":45001.601,"count":101},{"id":1603756800,"open":13029.2,"close":13067.1,"high":13105.0,"low":13028.3,"amount":8.784,"vol":8784,"trade_turnover":114871.8246,"count":98},{"id":1603760400,"open":13074.3,"close":13061.7,"high":13074.4,"low":13051.5,"amount":11.592,"vol":11592,"trade_turnover":151386.9038,"count":66},{"id":1603764000,"open":13061.7,"close":13049.7,"high":13097.6,"low":13040.1,"amount":19.298,"vol":19298,"trade_turnover":252061.019,"count":109},{"id":1603767600,"open":13057.6,"close":13070.4,"high":13080.0,"low":13057.1,"amount":22.992,"vol":22992,"trade_turnover":300453.9788,"count":69},{"id":1603771200,"open":13080.0,"close":13103.3,"high":13175.0,"low":13079.6,"amount":14.396,"vol":14396,"trade_turnover":188461.9156,"count":59},{"id":1603774800,"open":13121.3,"close":13073.6,"high":13121.3,"low":13069.7,"amount":5.058,"vol":5058,"trade_turnover":66201.3552,"count":44},{"id":1603778400,"open":13074.9,"close":13103.4,"high":13149.0,"low":13069.6,"amount":9.106,"vol":9106,"trade_turnover":119104.8906,"count":107},{"id":1603782000,"open":13103.3,"close":13130.0,"high":13169.8,"low":12992.4,"amount":73.95,"vol":73950,"trade_turnover":968195.155,"count":305},{"id":1603785600,"open":13135.1,"close":13123.8,"high":13148.4,"low":13044.0,"amount":18.732,"vol":18732,"trade_turnover":245533.5448,"count":135},{"id":1603789200,"open":13115.5,"close":13131.7,"high":13131.8,"low":13075.7,"amount":13.756,"vol":13756,"trade_turnover":180253.7708,"count":102},{"id":1603792800,"open":13134.8,"close":13216.9,"high":13252.0,"low":13063.4,"amount":154.108,"vol":154108,"trade_turnover":2029983.656,"count":525},{"id":1603796400,"open":13218.8,"close":13395.8,"high":13590.1,"low":13213.5,"amount":170.09,"vol":170090,"trade_turnover":2276279.742,"count":591},{"id":1603800000,"open":13395.9,"close":13376.9,"high":13414.0,"low":13331.7,"amount":48.928,"vol":48928,"trade_turnover":654585.9108,"count":216},{"id":1603803600,"open":13376.5,"close":13384.3,"high":13490.9,"low":13329.8,"amount":63.294,"vol":63294,"trade_turnover":848130.9212,"count":316},{"id":1603807200,"open":13392.6,"close":13398.2,"high":13415.8,"low":13344.8,"amount":12.892,"vol":12892,"trade_turnover":172618.6864,"count":124},{"id":1603810800,"open":13398.2,"close":13598.5,"high":13626.7,"low":13398.2,"amount":93.22,"vol":93220,"trade_turnover":1262695.5466,"count":476},{"id":1603814400,"open":13595.8,"close":13639.9,"high":13639.9,"low":13520.2,"amount":85.45,"vol":85450,"trade_turnover":1161481.4136,"count":435},{"id":1603818000,"open":13640.0,"close":13688.1,"high":13826.7,"low":13589.0,"amount":191.812,"vol":191812,"trade_turnover":2628428.3788,"count":711},{"id":1603821600,"open":13685.0,"close":13630.1,"high":13745.0,"low":13528.2,"amount":65.434,"vol":65434,"trade_turnover":891541.8394,"count":410},{"id":1603825200,"open":13629.4,"close":13637.1,"high":13659.8,"low":13595.4,"amount":5.788,"vol":5788,"trade_turnover":78836.2578,"count":65},{"id":1603828800,"open":13644.4,"close":13616.6,"high":13805.1,"low":13582.6,"amount":163.104,"vol":163104,"trade_turnover":2234040.3544,"count":537},{"id":1603832400,"open":13609.8,"close":13705.5,"high":13753.5,"low":13609.8,"amount":9.884,"vol":9884,"trade_turnover":135406.4752,"count":101},{"id":1603836000,"open":13705.4,"close":13739.9,"high":13739.9,"low":13658.2,"amount":7.436,"vol":7436,"trade_turnover":101840.3508,"count":100},{"id":1603839600,"open":13739.9,"close":13649.6,"high":13794.6,"low":13582.6,"amount":17.086,"vol":17086,"trade_turnover":233971.8448,"count":234},{"id":1603843200,"open":13645.9,"close":13701.7,"high":13745.2,"low":13618.8,"amount":24.108,"vol":24108,"trade_turnover":330206.5694,"count":177},{"id":1603846800,"open":13702.1,"close":13702.6,"high":13725.6,"low":13647.9,"amount":15.892,"vol":15892,"trade_turnover":217816.7008,"count":151},{"id":1603850400,"open":13701.7,"close":13811.6,"high":13832.2,"low":13680.2,"amount":46.548,"vol":46548,"trade_turnover":640636.0352,"count":274},{"id":1603854000,"open":13818.5,"close":13777.0,"high":13820.3,"low":13717.5,"amount":67.896,"vol":67896,"trade_turnover":935838.2238,"count":320},{"id":1603857600,"open":13767.3,"close":13735.7,"high":13807.2,"low":13710.0,"amount":33.156,"vol":33156,"trade_turnover":455941.234,"count":210},{"id":1603861200,"open":13735.5,"close":13715.8,"high":13753.9,"low":13671.3,"amount":32.076,"vol":32076,"trade_turnover":439612.64,"count":198},{"id":1603864800,"open":13715.9,"close":13701.3,"high":13757.0,"low":13694.9,"amount":14.756,"vol":14756,"trade_turnover":202602.5164,"count":122},{"id":1603868400,"open":13701.2,"close":13674.2,"high":13708.7,"low":13550.0,"amount":155.534,"vol":155534,"trade_turnover":2117935.0928,"count":635},{"id":1603872000,"open":13673.0,"close":13691.7,"high":13691.7,"low":13584.0,"amount":29.846,"vol":29846,"trade_turnover":407073.1398,"count":240},{"id":1603875600,"open":13689.3,"close":13587.1,"high":13707.5,"low":13573.5,"amount":104.542,"vol":104542,"trade_turnover":1425079.9344,"count":377},{"id":1603879200,"open":13584.6,"close":13552.7,"high":13618.0,"low":13504.7,"amount":73.818,"vol":73818,"trade_turnover":1001666.0908,"count":358},{"id":1603882800,"open":13552.6,"close":13336.4,"high":13565.4,"low":13330.0,"amount":176.544,"vol":176544,"trade_turnover":2369166.1492,"count":1004},{"id":1603886400,"open":13331.5,"close":13300.3,"high":13385.0,"low":13173.9,"amount":289.73,"vol":289730,"trade_turnover":3846751.7166,"count":968},{"id":1603890000,"open":13300.2,"close":13129.9,"high":13340.0,"low":13122.9,"amount":139.822,"vol":139822,"trade_turnover":1848876.932,"count":612},{"id":1603893600,"open":13123.4,"close":13082.2,"high":13168.2,"low":12915.9,"amount":367.876,"vol":367876,"trade_turnover":4802516.9818,"count":1168},{"id":1603897200,"open":13077.1,"close":13221.2,"high":13235.2,"low":13052.3,"amount":84.044,"vol":84044,"trade_turnover":1106883.1282,"count":375},{"id":1603900800,"open":13218.7,"close":13145.1,"high":13218.7,"low":13050.0,"amount":29.566,"vol":29566,"trade_turnover":388697.4104,"count":244},{"id":1603904400,"open":13145.1,"close":13176.7,"high":13204.9,"low":13006.6,"amount":53.336,"vol":53336,"trade_turnover":700385.2784,"count":299},{"id":1603908000,"open":13171.0,"close":13196.5,"high":13219.6,"low":13131.0,"amount":34.164,"vol":34164,"trade_turnover":450210.5778,"count":218},{"id":1603911600,"open":13200.0,"close":13154.9,"high":13237.4,"low":13145.0,"amount":22.158,"vol":22158,"trade_turnover":292020.0438,"count":185},{"id":1603915200,"open":13154.5,"close":13198.1,"high":13211.8,"low":13147.4,"amount":4.548,"vol":4548,"trade_turnover":59991.1118,"count":75},{"id":1603918800,"open":13193.5,"close":13190.1,"high":13196.5,"low":13100.2,"amount":3.52,"vol":3520,"trade_turnover":46175.428,"count":68},{"id":1603922400,"open":13185.4,"close":13252.0,"high":13267.5,"low":13185.4,"amount":3.122,"vol":3122,"trade_turnover":41304.2018,"count":72},{"id":1603926000,"open":13242.1,"close":13265.9,"high":13282.3,"low":13235.9,"amount":14.768,"vol":14768,"trade_turnover":195689.0764,"count":86},{"id":1603929600,"open":13253.9,"close":13245.1,"high":13294.7,"low":13237.4,"amount":19.968,"vol":19968,"trade_turnover":264834.1944,"count":98},{"id":1603933200,"open":13244.6,"close":13274.2,"high":13285.3,"low":13166.3,"amount":35.282,"vol":35282,"trade_turnover":465789.6302,"count":192},{"id":1603936800,"open":13275.9,"close":13241.1,"high":13277.7,"low":13212.2,"amount":9.748,"vol":9748,"trade_turnover":129016.0684,"count":119},{"id":1603940400,"open":13237.1,"close":13262.5,"high":13262.5,"low":13174.6,"amount":27.3,"vol":27300,"trade_turnover":360589.8982,"count":199},{"id":1603944000,"open":13269.1,"close":13229.5,"high":13277.7,"low":13229.5,"amount":18.904,"vol":18904,"trade_turnover":250713.2812,"count":109},{"id":1603947600,"open":13228.5,"close":13274.8,"high":13274.8,"low":13228.5,"amount":15.822,"vol":15822,"trade_turnover":209781.909,"count":134},{"id":1603951200,"open":13274.8,"close":13255.0,"high":13323.0,"low":13242.3,"amount":91.246,"vol":91246,"trade_turnover":1211271.2788,"count":294},{"id":1603954800,"open":13255.0,"close":13142.4,"high":13269.3,"low":13123.1,"amount":187.622,"vol":187622,"trade_turnover":2478299.7074,"count":506},{"id":1603958400,"open":13145.9,"close":13124.8,"high":13182.4,"low":13094.1,"amount":69.532,"vol":69532,"trade_turnover":914157.2418,"count":226},{"id":1603962000,"open":13129.5,"close":13183.7,"high":13197.1,"low":13129.5,"amount":23.184,"vol":23184,"trade_turnover":305485.9524,"count":141},{"id":1603965600,"open":13184.8,"close":13105.2,"high":13187.5,"low":13053.1,"amount":121.146,"vol":121146,"trade_turnover":1590026.4416,"count":442},{"id":1603969200,"open":13105.1,"close":13060.1,"high":13171.4,"low":13060.1,"amount":47.498,"vol":47498,"trade_turnover":623578.149,"count":262},{"id":1603972800,"open":13056.9,"close":13131.8,"high":13145.8,"low":12977.9,"amount":126.552,"vol":126552,"trade_turnover":1652549.311,"count":481},{"id":1603976400,"open":13131.7,"close":13230.0,"high":13237.2,"low":13102.0,"amount":100.482,"vol":100482,"trade_turnover":1326403.7206,"count":325},{"id":1603980000,"open":13231.0,"close":13420.8,"high":13476.1,"low":13231.0,"amount":253.258,"vol":253258,"trade_turnover":3384941.438,"count":752},{"id":1603983600,"open":13416.0,"close":13420.6,"high":13458.7,"low":13358.7,"amount":64.71,"vol":64710,"trade_turnover":869052.3804,"count":269},{"id":1603987200,"open":13421.9,"close":13535.9,"high":13594.5,"low":13391.8,"amount":120.24,"vol":120240,"trade_turnover":1626567.8278,"count":570}]} +2024-01-18 11:13:08.952 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:41] - 请求 KLine 数据解析之后的数据为:{"wsid":19750305,"data":[{"amount":0.276,"high":12300.0,"vol":276,"low":11715.8,"count":39,"id":1603270800,"close":12196.7,"tradeTurnover":3315.9104,"open":12198.0},{"amount":0.198,"high":12289.9,"vol":198,"low":12111.0,"count":21,"id":1603274400,"close":12277.9,"tradeTurnover":2420.7728,"open":12196.7},{"amount":0.012,"high":12277.9,"vol":12,"low":12000.0,"count":5,"id":1603278000,"close":12000.0,"tradeTurnover":145.2238,"open":12111.0},{"amount":0.084,"high":12498.0,"vol":84,"low":12078.0,"count":12,"id":1603281600,"close":12497.4,"tradeTurnover":1040.0504,"open":12078.0},{"amount":1.122,"high":12495.6,"vol":1122,"low":12282.9,"count":112,"id":1603285200,"close":12373.5,"tradeTurnover":13905.3124,"open":12495.6},{"amount":5.29,"high":12807.6,"vol":5290,"low":12358.1,"count":155,"id":1603288800,"close":12689.9,"tradeTurnover":66852.128,"open":12412.9},{"amount":1.174,"high":12778.7,"vol":1174,"low":12573.2,"count":113,"id":1603292400,"close":12701.9,"tradeTurnover":14907.367,"open":12692.8},{"amount":1.156,"high":12920.9,"vol":1156,"low":12624.8,"count":115,"id":1603296000,"close":12835.9,"tradeTurnover":14802.449,"open":12679.7},{"amount":1.12,"high":12908.3,"vol":1120,"low":12687.5,"count":115,"id":1603299600,"close":12754.2,"tradeTurnover":14345.7324,"open":12848.3},{"amount":1.106,"high":12849.0,"vol":1106,"low":12668.3,"count":114,"id":1603303200,"close":12740.2,"tradeTurnover":14105.3504,"open":12743.7},{"amount":1.032,"high":12843.1,"vol":1032,"low":12597.2,"count":112,"id":1603306800,"close":12650.3,"tradeTurnover":13125.4568,"open":12729.5},{"amount":1.154,"high":12848.4,"vol":1154,"low":12610.2,"count":116,"id":1603310400,"close":12807.0,"tradeTurnover":14680.638,"open":12666.8},{"amount":1.164,"high":13005.1,"vol":1164,"low":12748.2,"count":114,"id":1603314000,"close":12938.9,"tradeTurnover":14976.9366,"open":12866.0},{"amount":1.174,"high":13211.2,"vol":1174,"low":12865.7,"count":114,"id":1603317600,"close":13122.0,"tradeTurnover":15285.2446,"open":12921.0},{"amount":1.172,"high":13173.2,"vol":1172,"low":12688.6,"count":117,"id":1603321200,"close":12829.8,"tradeTurnover":15060.9938,"open":13153.2},{"amount":1.17,"high":12988.1,"vol":1170,"low":12764.4,"count":117,"id":1603324800,"close":12885.9,"tradeTurnover":15046.2046,"open":12793.1},{"amount":1.158,"high":12972.6,"vol":1158,"low":12757.5,"count":118,"id":1603328400,"close":12757.5,"tradeTurnover":14882.4656,"open":12860.4},{"amount":1.124,"high":12848.0,"vol":1124,"low":12729.0,"count":115,"id":1603332000,"close":12788.8,"tradeTurnover":14368.7948,"open":12824.1},{"amount":1.194,"high":12834.4,"vol":1194,"low":12729.0,"count":111,"id":1603335600,"close":12767.2,"tradeTurnover":15268.9298,"open":12791.7},{"amount":1.152,"high":12778.3,"vol":1152,"low":12729.0,"count":115,"id":1603339200,"close":12762.2,"tradeTurnover":14695.4876,"open":12729.0},{"amount":1.21,"high":12842.0,"vol":1210,"low":12730.6,"count":119,"id":1603342800,"close":12813.8,"tradeTurnover":15440.8162,"open":12763.1},{"amount":1.188,"high":12795.0,"vol":1188,"low":12728.0,"count":123,"id":1603346400,"close":12729.1,"tradeTurnover":15128.0098,"open":12795.0},{"amount":1.266,"high":12730.6,"vol":1266,"low":12728.3,"count":112,"id":1603350000,"close":12730.6,"tradeTurnover":16115.1306,"open":12728.6},{"amount":1.35,"high":12921.5,"vol":1350,"low":12729.9,"count":127,"id":1603353600,"close":12770.1,"tradeTurnover":17233.7326,"open":12730.3},{"amount":0.98,"high":12872.1,"vol":980,"low":12760.1,"count":99,"id":1603357200,"close":12780.4,"tradeTurnover":12553.9826,"open":12824.9},{"amount":0.266,"high":13002.7,"vol":266,"low":12775.6,"count":30,"id":1603360800,"close":12934.2,"tradeTurnover":3415.023,"open":12784.9},{"amount":1.004,"high":13057.0,"vol":1004,"low":12886.6,"count":117,"id":1603364400,"close":13045.0,"tradeTurnover":13020.8576,"open":12977.0},{"amount":1.134,"high":12973.4,"vol":1134,"low":12751.6,"count":111,"id":1603368000,"close":12847.9,"tradeTurnover":14594.2752,"open":12958.5},{"amount":1.152,"high":13000.8,"vol":1152,"low":12743.0,"count":114,"id":1603371600,"close":12931.0,"tradeTurnover":14877.7314,"open":12882.7},{"amount":1.182,"high":12995.3,"vol":1182,"low":12783.9,"count":115,"id":1603375200,"close":12917.8,"tradeTurnover":15224.4716,"open":12890.4},{"amount":1.176,"high":13031.2,"vol":1176,"low":12817.9,"count":117,"id":1603378800,"close":12953.0,"tradeTurnover":15197.208,"open":12918.8},{"amount":1.146,"high":13100.2,"vol":1146,"low":12865.6,"count":119,"id":1603382400,"close":13055.6,"tradeTurnover":14851.9604,"open":12923.1},{"amount":1.534,"high":13105.7,"vol":1534,"low":12835.5,"count":124,"id":1603386000,"close":13082.7,"tradeTurnover":19927.8288,"open":12967.6},{"amount":1.268,"high":13115.0,"vol":1268,"low":12938.7,"count":117,"id":1603389600,"close":13016.4,"tradeTurnover":16505.4738,"open":13020.4},{"amount":1.13,"high":13171.2,"vol":1130,"low":12961.8,"count":112,"id":1603393200,"close":12970.6,"tradeTurnover":14762.952,"open":13028.3},{"amount":1.206,"high":13216.1,"vol":1206,"low":12998.5,"count":117,"id":1603396800,"close":13089.3,"tradeTurnover":15807.1226,"open":13016.7},{"amount":1.332,"high":13203.7,"vol":1332,"low":12932.9,"count":114,"id":1603400400,"close":13092.0,"tradeTurnover":17423.4422,"open":13136.0},{"amount":1.21,"high":13250.5,"vol":1210,"low":12984.7,"count":114,"id":1603404000,"close":13055.9,"tradeTurnover":15876.0632,"open":13119.4},{"amount":1.286,"high":13126.5,"vol":1286,"low":12857.2,"count":116,"id":1603407600,"close":12890.4,"tradeTurnover":16688.422,"open":13059.4},{"amount":1.502,"high":12994.0,"vol":1502,"low":12751.6,"count":131,"id":1603411200,"close":12892.2,"tradeTurnover":19331.1596,"open":12929.7},{"amount":1.386,"high":13003.2,"vol":1386,"low":12786.0,"count":121,"id":1603414800,"close":12898.3,"tradeTurnover":17904.8902,"open":12921.7},{"amount":1.416,"high":13054.0,"vol":1416,"low":12800.7,"count":122,"id":1603418400,"close":12975.1,"tradeTurnover":18306.6204,"open":12951.6},{"amount":1.19,"high":13030.7,"vol":1190,"low":12875.0,"count":118,"id":1603422000,"close":12947.0,"tradeTurnover":15409.7984,"open":12967.3},{"amount":1.022,"high":13047.3,"vol":1022,"low":12832.8,"count":127,"id":1603425600,"close":12852.0,"tradeTurnover":13214.4388,"open":12925.2},{"amount":0.478,"high":12991.7,"vol":478,"low":12841.2,"count":118,"id":1603429200,"close":12931.1,"tradeTurnover":6180.2486,"open":12859.0},{"amount":0.522,"high":13014.1,"vol":522,"low":12871.9,"count":132,"id":1603432800,"close":12939.6,"tradeTurnover":6759.0324,"open":12935.9},{"amount":0.476,"high":12998.9,"vol":476,"low":12917.1,"count":118,"id":1603436400,"close":12925.4,"tradeTurnover":6163.3118,"open":12923.1},{"amount":0.508,"high":13014.0,"vol":508,"low":12916.1,"count":122,"id":1603440000,"close":12962.6,"tradeTurnover":6585.3656,"open":12942.2},{"amount":0.564,"high":13012.5,"vol":564,"low":12909.9,"count":124,"id":1603443600,"close":12926.4,"tradeTurnover":7308.8828,"open":12970.5},{"amount":0.536,"high":13059.5,"vol":536,"low":12925.7,"count":124,"id":1603447200,"close":13007.7,"tradeTurnover":6957.8796,"open":13001.2},{"amount":0.486,"high":13078.4,"vol":486,"low":12906.5,"count":122,"id":1603450800,"close":12970.6,"tradeTurnover":6326.1434,"open":13025.4},{"amount":0.494,"high":13025.0,"vol":494,"low":12850.8,"count":117,"id":1603454400,"close":12935.4,"tradeTurnover":6396.0984,"open":12963.9},{"amount":0.466,"high":13043.3,"vol":466,"low":12911.0,"count":117,"id":1603458000,"close":12951.7,"tradeTurnover":6049.1412,"open":12913.3},{"amount":0.46,"high":13006.4,"vol":460,"low":12840.4,"count":116,"id":1603461600,"close":12858.8,"tradeTurnover":5941.815,"open":12999.6},{"amount":0.492,"high":12932.9,"vol":492,"low":12826.5,"count":117,"id":1603465200,"close":12881.9,"tradeTurnover":6340.214,"open":12885.7},{"amount":0.484,"high":12933.5,"vol":484,"low":12744.4,"count":123,"id":1603468800,"close":12784.1,"tradeTurnover":6205.4138,"open":12854.4},{"amount":0.562,"high":12893.1,"vol":562,"low":12730.1,"count":152,"id":1603472400,"close":12847.7,"tradeTurnover":7218.9184,"open":12832.3},{"amount":0.53,"high":12939.3,"vol":530,"low":12751.4,"count":128,"id":1603476000,"close":12915.7,"tradeTurnover":6825.7004,"open":12874.1},{"amount":0.444,"high":12972.9,"vol":444,"low":12786.6,"count":117,"id":1603479600,"close":12972.9,"tradeTurnover":5727.7452,"open":12867.9},{"amount":0.492,"high":13002.2,"vol":492,"low":12842.9,"count":116,"id":1603483200,"close":12991.6,"tradeTurnover":6375.1566,"open":12956.7},{"amount":0.5,"high":13004.3,"vol":500,"low":12936.6,"count":125,"id":1603486800,"close":12943.5,"tradeTurnover":6485.468,"open":13004.3},{"amount":0.492,"high":13010.3,"vol":492,"low":12884.7,"count":120,"id":1603490400,"close":12989.2,"tradeTurnover":6376.1492,"open":12923.6},{"amount":0.51,"high":13024.4,"vol":510,"low":12884.6,"count":121,"id":1603494000,"close":12884.6,"tradeTurnover":6622.3406,"open":12974.9},{"amount":0.488,"high":13018.3,"vol":488,"low":12811.1,"count":120,"id":1603497600,"close":12953.9,"tradeTurnover":6317.7938,"open":12973.7},{"amount":0.482,"high":13018.1,"vol":482,"low":12872.8,"count":117,"id":1603501200,"close":12934.2,"tradeTurnover":6242.4178,"open":12927.5},{"amount":0.484,"high":13003.9,"vol":484,"low":12903.3,"count":117,"id":1603504800,"close":12989.1,"tradeTurnover":6278.1756,"open":12971.9},{"amount":0.474,"high":13013.4,"vol":474,"low":12938.3,"count":122,"id":1603508400,"close":12975.9,"tradeTurnover":6157.7096,"open":13000.1},{"amount":0.526,"high":13009.4,"vol":526,"low":12905.5,"count":124,"id":1603512000,"close":12963.3,"tradeTurnover":6831.5658,"open":12989.7},{"amount":0.522,"high":13041.8,"vol":522,"low":12875.3,"count":127,"id":1603515600,"close":12989.7,"tradeTurnover":6768.8994,"open":12910.5},{"amount":0.49,"high":13058.1,"vol":490,"low":12908.8,"count":120,"id":1603519200,"close":13003.6,"tradeTurnover":6370.5714,"open":12994.7},{"amount":0.478,"high":13037.8,"vol":478,"low":12981.7,"count":120,"id":1603522800,"close":13004.2,"tradeTurnover":6218.9722,"open":13011.9},{"amount":0.52,"high":13030.6,"vol":520,"low":12899.4,"count":124,"id":1603526400,"close":12998.2,"tradeTurnover":6754.958,"open":13003.0},{"amount":0.454,"high":13020.3,"vol":454,"low":12893.6,"count":115,"id":1603530000,"close":12990.6,"tradeTurnover":5891.0574,"open":12998.2},{"amount":0.502,"high":13059.1,"vol":502,"low":12913.2,"count":124,"id":1603533600,"close":13030.1,"tradeTurnover":6525.9004,"open":12996.4},{"amount":0.468,"high":13068.3,"vol":468,"low":12940.2,"count":119,"id":1603537200,"close":13033.2,"tradeTurnover":6091.0376,"open":12988.4},{"amount":0.468,"high":13071.8,"vol":468,"low":12978.9,"count":123,"id":1603540800,"close":13006.5,"tradeTurnover":6102.5902,"open":13035.3},{"amount":0.534,"high":13066.7,"vol":534,"low":12928.1,"count":123,"id":1603544400,"close":12985.9,"tradeTurnover":6950.4268,"open":13038.8},{"amount":0.47,"high":13100.1,"vol":470,"low":12960.5,"count":100,"id":1603548000,"close":13042.0,"tradeTurnover":6124.2178,"open":12986.3},{"amount":0.456,"high":13196.5,"vol":456,"low":13038.4,"count":120,"id":1603551600,"close":13102.2,"tradeTurnover":5989.6362,"open":13038.4},{"amount":0.458,"high":13176.6,"vol":458,"low":12984.6,"count":121,"id":1603555200,"close":13052.7,"tradeTurnover":5976.331,"open":13136.8},{"amount":0.452,"high":13177.8,"vol":452,"low":13003.2,"count":118,"id":1603558800,"close":13177.8,"tradeTurnover":5911.7058,"open":13006.2},{"amount":0.468,"high":13170.7,"vol":468,"low":13023.0,"count":119,"id":1603562400,"close":13080.8,"tradeTurnover":6122.375,"open":13127.7},{"amount":0.468,"high":13179.3,"vol":468,"low":13014.2,"count":120,"id":1603566000,"close":13148.4,"tradeTurnover":6126.4278,"open":13040.7},{"amount":0.47,"high":13179.6,"vol":470,"low":12992.5,"count":119,"id":1603569600,"close":13090.1,"tradeTurnover":6151.4758,"open":13073.5},{"amount":0.458,"high":13148.7,"vol":458,"low":12980.7,"count":117,"id":1603573200,"close":12993.9,"tradeTurnover":5981.071,"open":13035.4},{"amount":0.478,"high":13112.1,"vol":478,"low":12975.6,"count":118,"id":1603576800,"close":13041.1,"tradeTurnover":6225.4216,"open":13040.7},{"amount":0.472,"high":13184.3,"vol":472,"low":13009.3,"count":118,"id":1603580400,"close":13184.3,"tradeTurnover":6173.4244,"open":13012.6},{"amount":0.46,"high":13170.4,"vol":460,"low":13007.7,"count":115,"id":1603584000,"close":13154.3,"tradeTurnover":6024.09,"open":13080.8},{"amount":0.398,"high":13196.8,"vol":398,"low":13024.0,"count":102,"id":1603587600,"close":13196.1,"tradeTurnover":5217.5364,"open":13092.0},{"amount":0.476,"high":13175.1,"vol":476,"low":13035.0,"count":120,"id":1603591200,"close":13082.4,"tradeTurnover":6228.6596,"open":13124.7},{"amount":0.578,"high":13383.8,"vol":578,"low":13049.1,"count":137,"id":1603594800,"close":13259.0,"tradeTurnover":7629.3886,"open":13049.1},{"amount":0.47,"high":13369.0,"vol":470,"low":13216.0,"count":122,"id":1603598400,"close":13243.4,"tradeTurnover":6247.955,"open":13277.0},{"amount":0.61,"high":13353.3,"vol":610,"low":13010.1,"count":134,"id":1603602000,"close":13017.3,"tradeTurnover":8048.8598,"open":13285.3},{"amount":0.486,"high":13105.7,"vol":486,"low":13018.2,"count":118,"id":1603605600,"close":13060.3,"tradeTurnover":6344.1474,"open":13022.5},{"amount":0.464,"high":13112.1,"vol":464,"low":13022.0,"count":120,"id":1603609200,"close":13078.1,"tradeTurnover":6061.5416,"open":13048.5},{"amount":0.464,"high":13091.0,"vol":464,"low":13017.2,"count":120,"id":1603612800,"close":13046.0,"tradeTurnover":6055.3734,"open":13077.2},{"amount":0.478,"high":13084.0,"vol":478,"low":13014.2,"count":117,"id":1603616400,"close":13040.8,"tradeTurnover":6235.7882,"open":13065.1},{"amount":0.478,"high":13064.2,"vol":478,"low":13010.2,"count":125,"id":1603620000,"close":13028.5,"tradeTurnover":6232.2428,"open":13047.1},{"amount":0.534,"high":13061.5,"vol":534,"low":12852.9,"count":123,"id":1603623600,"close":12897.6,"tradeTurnover":6918.1226,"open":13061.5},{"amount":0.444,"high":13069.7,"vol":444,"low":12893.2,"count":117,"id":1603627200,"close":12964.3,"tradeTurnover":5755.8712,"open":12908.3},{"amount":0.498,"high":13071.9,"vol":498,"low":12891.8,"count":119,"id":1603630800,"close":12949.3,"tradeTurnover":6465.078,"open":13001.3},{"amount":0.468,"high":13077.7,"vol":468,"low":12900.0,"count":116,"id":1603634400,"close":12946.8,"tradeTurnover":6075.4554,"open":12975.8},{"amount":0.47,"high":13069.1,"vol":470,"low":12883.3,"count":119,"id":1603638000,"close":12883.3,"tradeTurnover":6097.1072,"open":12975.2},{"amount":0.482,"high":13067.9,"vol":482,"low":12877.5,"count":118,"id":1603641600,"close":12978.7,"tradeTurnover":6256.4472,"open":12916.2},{"amount":0.47,"high":13087.5,"vol":470,"low":12922.7,"count":117,"id":1603645200,"close":13004.4,"tradeTurnover":6108.3892,"open":13008.0},{"amount":0.468,"high":13067.6,"vol":468,"low":12893.6,"count":118,"id":1603648800,"close":12957.2,"tradeTurnover":6079.1484,"open":12972.8},{"amount":0.442,"high":13066.9,"vol":442,"low":12916.6,"count":118,"id":1603652400,"close":13021.8,"tradeTurnover":5746.5548,"open":12996.5},{"amount":0.508,"high":13081.5,"vol":508,"low":12944.9,"count":120,"id":1603656000,"close":12985.4,"tradeTurnover":6616.9872,"open":12992.9},{"amount":0.508,"high":13068.6,"vol":508,"low":12921.4,"count":122,"id":1603659600,"close":13011.2,"tradeTurnover":6614.816,"open":12999.9},{"amount":0.486,"high":13073.8,"vol":486,"low":12911.9,"count":121,"id":1603663200,"close":12959.4,"tradeTurnover":6320.907,"open":12979.6},{"amount":0.452,"high":13085.2,"vol":452,"low":12927.8,"count":113,"id":1603666800,"close":13032.1,"tradeTurnover":5878.6442,"open":12963.4},{"amount":0.482,"high":13076.7,"vol":482,"low":12918.3,"count":121,"id":1603670400,"close":13001.0,"tradeTurnover":6263.698,"open":12964.2},{"amount":0.478,"high":13096.4,"vol":478,"low":12991.2,"count":124,"id":1603674000,"close":13053.7,"tradeTurnover":6232.2328,"open":13040.0},{"amount":0.488,"high":13185.7,"vol":488,"low":12985.1,"count":121,"id":1603677600,"close":13064.4,"tradeTurnover":6387.534,"open":13060.6},{"amount":0.486,"high":13187.2,"vol":486,"low":12984.1,"count":135,"id":1603681200,"close":13092.8,"tradeTurnover":6369.0272,"open":13032.3},{"amount":0.51,"high":13181.6,"vol":510,"low":12962.3,"count":131,"id":1603684800,"close":13132.6,"tradeTurnover":6679.829,"open":13092.0},{"amount":0.506,"high":13205.3,"vol":506,"low":13025.3,"count":126,"id":1603688400,"close":13092.1,"tradeTurnover":6641.2128,"open":13129.2},{"amount":1.616,"high":13188.1,"vol":1616,"low":12989.8,"count":141,"id":1603692000,"close":13071.4,"tradeTurnover":21170.8224,"open":13121.8},{"amount":3.746,"high":13100.0,"vol":3746,"low":12965.2,"count":110,"id":1603695600,"close":13038.7,"tradeTurnover":48924.8902,"open":13061.0},{"amount":8.966,"high":13102.0,"vol":8966,"low":12852.8,"count":173,"id":1603699200,"close":13039.3,"tradeTurnover":116525.5534,"open":13030.9},{"amount":4.48,"high":13088.4,"vol":4480,"low":13039.8,"count":124,"id":1603702800,"close":13075.9,"tradeTurnover":58521.1714,"open":13047.1},{"amount":4.272,"high":13100.0,"vol":4272,"low":13060.2,"count":130,"id":1603706400,"close":13100.0,"tradeTurnover":55895.9778,"open":13072.1},{"amount":29.798,"high":13159.0,"vol":29798,"low":13100.0,"count":230,"id":1603710000,"close":13138.4,"tradeTurnover":391138.024,"open":13100.0},{"amount":5.154,"high":13200.0,"vol":5154,"low":13100.0,"count":188,"id":1603713600,"close":13149.8,"tradeTurnover":67694.652,"open":13138.8},{"amount":35.608,"high":13351.5,"vol":35608,"low":13133.1,"count":328,"id":1603717200,"close":13205.8,"tradeTurnover":472780.3394,"open":13150.0},{"amount":31.748,"high":13280.0,"vol":31748,"low":13144.1,"count":235,"id":1603720800,"close":13166.1,"tradeTurnover":418744.5588,"open":13203.0},{"amount":36.53,"high":13165.2,"vol":36530,"low":12903.8,"count":384,"id":1603724400,"close":12978.0,"tradeTurnover":476940.3296,"open":13159.0},{"amount":35.018,"high":13069.8,"vol":35018,"low":12850.5,"count":323,"id":1603728000,"close":12869.6,"tradeTurnover":453288.918,"open":12965.0},{"amount":92.628,"high":12941.5,"vol":92628,"low":12583.9,"count":560,"id":1603731600,"close":12873.8,"tradeTurnover":1185973.467,"open":12879.2},{"amount":4.302,"high":12954.5,"vol":4302,"low":12820.4,"count":128,"id":1603735200,"close":12946.8,"tradeTurnover":55481.0054,"open":12856.2},{"amount":13.83,"high":12953.5,"vol":13830,"low":12914.1,"count":118,"id":1603738800,"close":12953.4,"tradeTurnover":179112.1598,"open":12945.6},{"amount":17.172,"high":13007.5,"vol":17172,"low":12953.5,"count":132,"id":1603742400,"close":12983.4,"tradeTurnover":223230.2122,"open":12953.5},{"amount":3.212,"high":13007.5,"vol":3212,"low":12982.7,"count":59,"id":1603746000,"close":12993.8,"tradeTurnover":41767.8906,"open":12983.1},{"amount":1.504,"high":13007.5,"vol":1504,"low":12974.0,"count":74,"id":1603749600,"close":13007.5,"tradeTurnover":19543.3568,"open":13002.1},{"amount":3.454,"high":13061.2,"vol":3454,"low":13007.5,"count":101,"id":1603753200,"close":13033.7,"tradeTurnover":45001.601,"open":13007.5},{"amount":8.784,"high":13105.0,"vol":8784,"low":13028.3,"count":98,"id":1603756800,"close":13067.1,"tradeTurnover":114871.8246,"open":13029.2},{"amount":11.592,"high":13074.4,"vol":11592,"low":13051.5,"count":66,"id":1603760400,"close":13061.7,"tradeTurnover":151386.9038,"open":13074.3},{"amount":19.298,"high":13097.6,"vol":19298,"low":13040.1,"count":109,"id":1603764000,"close":13049.7,"tradeTurnover":252061.019,"open":13061.7},{"amount":22.992,"high":13080.0,"vol":22992,"low":13057.1,"count":69,"id":1603767600,"close":13070.4,"tradeTurnover":300453.9788,"open":13057.6},{"amount":14.396,"high":13175.0,"vol":14396,"low":13079.6,"count":59,"id":1603771200,"close":13103.3,"tradeTurnover":188461.9156,"open":13080.0},{"amount":5.058,"high":13121.3,"vol":5058,"low":13069.7,"count":44,"id":1603774800,"close":13073.6,"tradeTurnover":66201.3552,"open":13121.3},{"amount":9.106,"high":13149.0,"vol":9106,"low":13069.6,"count":107,"id":1603778400,"close":13103.4,"tradeTurnover":119104.8906,"open":13074.9},{"amount":73.95,"high":13169.8,"vol":73950,"low":12992.4,"count":305,"id":1603782000,"close":13130.0,"tradeTurnover":968195.155,"open":13103.3},{"amount":18.732,"high":13148.4,"vol":18732,"low":13044.0,"count":135,"id":1603785600,"close":13123.8,"tradeTurnover":245533.5448,"open":13135.1},{"amount":13.756,"high":13131.8,"vol":13756,"low":13075.7,"count":102,"id":1603789200,"close":13131.7,"tradeTurnover":180253.7708,"open":13115.5},{"amount":154.108,"high":13252.0,"vol":154108,"low":13063.4,"count":525,"id":1603792800,"close":13216.9,"tradeTurnover":2029983.656,"open":13134.8},{"amount":170.09,"high":13590.1,"vol":170090,"low":13213.5,"count":591,"id":1603796400,"close":13395.8,"tradeTurnover":2276279.742,"open":13218.8},{"amount":48.928,"high":13414.0,"vol":48928,"low":13331.7,"count":216,"id":1603800000,"close":13376.9,"tradeTurnover":654585.9108,"open":13395.9},{"amount":63.294,"high":13490.9,"vol":63294,"low":13329.8,"count":316,"id":1603803600,"close":13384.3,"tradeTurnover":848130.9212,"open":13376.5},{"amount":12.892,"high":13415.8,"vol":12892,"low":13344.8,"count":124,"id":1603807200,"close":13398.2,"tradeTurnover":172618.6864,"open":13392.6},{"amount":93.22,"high":13626.7,"vol":93220,"low":13398.2,"count":476,"id":1603810800,"close":13598.5,"tradeTurnover":1262695.5466,"open":13398.2},{"amount":85.45,"high":13639.9,"vol":85450,"low":13520.2,"count":435,"id":1603814400,"close":13639.9,"tradeTurnover":1161481.4136,"open":13595.8},{"amount":191.812,"high":13826.7,"vol":191812,"low":13589.0,"count":711,"id":1603818000,"close":13688.1,"tradeTurnover":2628428.3788,"open":13640.0},{"amount":65.434,"high":13745.0,"vol":65434,"low":13528.2,"count":410,"id":1603821600,"close":13630.1,"tradeTurnover":891541.8394,"open":13685.0},{"amount":5.788,"high":13659.8,"vol":5788,"low":13595.4,"count":65,"id":1603825200,"close":13637.1,"tradeTurnover":78836.2578,"open":13629.4},{"amount":163.104,"high":13805.1,"vol":163104,"low":13582.6,"count":537,"id":1603828800,"close":13616.6,"tradeTurnover":2234040.3544,"open":13644.4},{"amount":9.884,"high":13753.5,"vol":9884,"low":13609.8,"count":101,"id":1603832400,"close":13705.5,"tradeTurnover":135406.4752,"open":13609.8},{"amount":7.436,"high":13739.9,"vol":7436,"low":13658.2,"count":100,"id":1603836000,"close":13739.9,"tradeTurnover":101840.3508,"open":13705.4},{"amount":17.086,"high":13794.6,"vol":17086,"low":13582.6,"count":234,"id":1603839600,"close":13649.6,"tradeTurnover":233971.8448,"open":13739.9},{"amount":24.108,"high":13745.2,"vol":24108,"low":13618.8,"count":177,"id":1603843200,"close":13701.7,"tradeTurnover":330206.5694,"open":13645.9},{"amount":15.892,"high":13725.6,"vol":15892,"low":13647.9,"count":151,"id":1603846800,"close":13702.6,"tradeTurnover":217816.7008,"open":13702.1},{"amount":46.548,"high":13832.2,"vol":46548,"low":13680.2,"count":274,"id":1603850400,"close":13811.6,"tradeTurnover":640636.0352,"open":13701.7},{"amount":67.896,"high":13820.3,"vol":67896,"low":13717.5,"count":320,"id":1603854000,"close":13777.0,"tradeTurnover":935838.2238,"open":13818.5},{"amount":33.156,"high":13807.2,"vol":33156,"low":13710.0,"count":210,"id":1603857600,"close":13735.7,"tradeTurnover":455941.234,"open":13767.3},{"amount":32.076,"high":13753.9,"vol":32076,"low":13671.3,"count":198,"id":1603861200,"close":13715.8,"tradeTurnover":439612.64,"open":13735.5},{"amount":14.756,"high":13757.0,"vol":14756,"low":13694.9,"count":122,"id":1603864800,"close":13701.3,"tradeTurnover":202602.5164,"open":13715.9},{"amount":155.534,"high":13708.7,"vol":155534,"low":13550.0,"count":635,"id":1603868400,"close":13674.2,"tradeTurnover":2117935.0928,"open":13701.2},{"amount":29.846,"high":13691.7,"vol":29846,"low":13584.0,"count":240,"id":1603872000,"close":13691.7,"tradeTurnover":407073.1398,"open":13673.0},{"amount":104.542,"high":13707.5,"vol":104542,"low":13573.5,"count":377,"id":1603875600,"close":13587.1,"tradeTurnover":1425079.9344,"open":13689.3},{"amount":73.818,"high":13618.0,"vol":73818,"low":13504.7,"count":358,"id":1603879200,"close":13552.7,"tradeTurnover":1001666.0908,"open":13584.6},{"amount":176.544,"high":13565.4,"vol":176544,"low":13330.0,"count":1004,"id":1603882800,"close":13336.4,"tradeTurnover":2369166.1492,"open":13552.6},{"amount":289.73,"high":13385.0,"vol":289730,"low":13173.9,"count":968,"id":1603886400,"close":13300.3,"tradeTurnover":3846751.7166,"open":13331.5},{"amount":139.822,"high":13340.0,"vol":139822,"low":13122.9,"count":612,"id":1603890000,"close":13129.9,"tradeTurnover":1848876.932,"open":13300.2},{"amount":367.876,"high":13168.2,"vol":367876,"low":12915.9,"count":1168,"id":1603893600,"close":13082.2,"tradeTurnover":4802516.9818,"open":13123.4},{"amount":84.044,"high":13235.2,"vol":84044,"low":13052.3,"count":375,"id":1603897200,"close":13221.2,"tradeTurnover":1106883.1282,"open":13077.1},{"amount":29.566,"high":13218.7,"vol":29566,"low":13050.0,"count":244,"id":1603900800,"close":13145.1,"tradeTurnover":388697.4104,"open":13218.7},{"amount":53.336,"high":13204.9,"vol":53336,"low":13006.6,"count":299,"id":1603904400,"close":13176.7,"tradeTurnover":700385.2784,"open":13145.1},{"amount":34.164,"high":13219.6,"vol":34164,"low":13131.0,"count":218,"id":1603908000,"close":13196.5,"tradeTurnover":450210.5778,"open":13171.0},{"amount":22.158,"high":13237.4,"vol":22158,"low":13145.0,"count":185,"id":1603911600,"close":13154.9,"tradeTurnover":292020.0438,"open":13200.0},{"amount":4.548,"high":13211.8,"vol":4548,"low":13147.4,"count":75,"id":1603915200,"close":13198.1,"tradeTurnover":59991.1118,"open":13154.5},{"amount":3.52,"high":13196.5,"vol":3520,"low":13100.2,"count":68,"id":1603918800,"close":13190.1,"tradeTurnover":46175.428,"open":13193.5},{"amount":3.122,"high":13267.5,"vol":3122,"low":13185.4,"count":72,"id":1603922400,"close":13252.0,"tradeTurnover":41304.2018,"open":13185.4},{"amount":14.768,"high":13282.3,"vol":14768,"low":13235.9,"count":86,"id":1603926000,"close":13265.9,"tradeTurnover":195689.0764,"open":13242.1},{"amount":19.968,"high":13294.7,"vol":19968,"low":13237.4,"count":98,"id":1603929600,"close":13245.1,"tradeTurnover":264834.1944,"open":13253.9},{"amount":35.282,"high":13285.3,"vol":35282,"low":13166.3,"count":192,"id":1603933200,"close":13274.2,"tradeTurnover":465789.6302,"open":13244.6},{"amount":9.748,"high":13277.7,"vol":9748,"low":13212.2,"count":119,"id":1603936800,"close":13241.1,"tradeTurnover":129016.0684,"open":13275.9},{"amount":27.3,"high":13262.5,"vol":27300,"low":13174.6,"count":199,"id":1603940400,"close":13262.5,"tradeTurnover":360589.8982,"open":13237.1},{"amount":18.904,"high":13277.7,"vol":18904,"low":13229.5,"count":109,"id":1603944000,"close":13229.5,"tradeTurnover":250713.2812,"open":13269.1},{"amount":15.822,"high":13274.8,"vol":15822,"low":13228.5,"count":134,"id":1603947600,"close":13274.8,"tradeTurnover":209781.909,"open":13228.5},{"amount":91.246,"high":13323.0,"vol":91246,"low":13242.3,"count":294,"id":1603951200,"close":13255.0,"tradeTurnover":1211271.2788,"open":13274.8},{"amount":187.622,"high":13269.3,"vol":187622,"low":13123.1,"count":506,"id":1603954800,"close":13142.4,"tradeTurnover":2478299.7074,"open":13255.0},{"amount":69.532,"high":13182.4,"vol":69532,"low":13094.1,"count":226,"id":1603958400,"close":13124.8,"tradeTurnover":914157.2418,"open":13145.9},{"amount":23.184,"high":13197.1,"vol":23184,"low":13129.5,"count":141,"id":1603962000,"close":13183.7,"tradeTurnover":305485.9524,"open":13129.5},{"amount":121.146,"high":13187.5,"vol":121146,"low":13053.1,"count":442,"id":1603965600,"close":13105.2,"tradeTurnover":1590026.4416,"open":13184.8},{"amount":47.498,"high":13171.4,"vol":47498,"low":13060.1,"count":262,"id":1603969200,"close":13060.1,"tradeTurnover":623578.149,"open":13105.1},{"amount":126.552,"high":13145.8,"vol":126552,"low":12977.9,"count":481,"id":1603972800,"close":13131.8,"tradeTurnover":1652549.311,"open":13056.9},{"amount":100.482,"high":13237.2,"vol":100482,"low":13102.0,"count":325,"id":1603976400,"close":13230.0,"tradeTurnover":1326403.7206,"open":13131.7},{"amount":253.258,"high":13476.1,"vol":253258,"low":13231.0,"count":752,"id":1603980000,"close":13420.8,"tradeTurnover":3384941.438,"open":13231.0},{"amount":64.71,"high":13458.7,"vol":64710,"low":13358.7,"count":269,"id":1603983600,"close":13420.6,"tradeTurnover":869052.3804,"open":13416.0},{"amount":120.24,"high":13594.5,"vol":120240,"low":13391.8,"count":570,"id":1603987200,"close":13535.9,"tradeTurnover":1626567.8278,"open":13421.9}],"id":"","rep":"market.BTC-USDT.kline.60min","status":"ok"} +2024-01-18 11:13:09.953 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:39] - 请求 KLine 数据用户收到的原始数据:{"id":"","rep":"market.BTC-USDT.kline.60min","ts":1705547588863,"wsid":19750305,"status":"ok","data":[{"id":1603270800,"open":12198.0,"close":12196.7,"high":12300.0,"low":11715.8,"amount":0.276,"vol":276,"trade_turnover":3315.9104,"count":39},{"id":1603274400,"open":12196.7,"close":12277.9,"high":12289.9,"low":12111.0,"amount":0.198,"vol":198,"trade_turnover":2420.7728,"count":21},{"id":1603278000,"open":12111.0,"close":12000.0,"high":12277.9,"low":12000.0,"amount":0.012,"vol":12,"trade_turnover":145.2238,"count":5},{"id":1603281600,"open":12078.0,"close":12497.4,"high":12498.0,"low":12078.0,"amount":0.084,"vol":84,"trade_turnover":1040.0504,"count":12},{"id":1603285200,"open":12495.6,"close":12373.5,"high":12495.6,"low":12282.9,"amount":1.122,"vol":1122,"trade_turnover":13905.3124,"count":112},{"id":1603288800,"open":12412.9,"close":12689.9,"high":12807.6,"low":12358.1,"amount":5.29,"vol":5290,"trade_turnover":66852.128,"count":155},{"id":1603292400,"open":12692.8,"close":12701.9,"high":12778.7,"low":12573.2,"amount":1.174,"vol":1174,"trade_turnover":14907.367,"count":113},{"id":1603296000,"open":12679.7,"close":12835.9,"high":12920.9,"low":12624.8,"amount":1.156,"vol":1156,"trade_turnover":14802.449,"count":115},{"id":1603299600,"open":12848.3,"close":12754.2,"high":12908.3,"low":12687.5,"amount":1.12,"vol":1120,"trade_turnover":14345.7324,"count":115},{"id":1603303200,"open":12743.7,"close":12740.2,"high":12849.0,"low":12668.3,"amount":1.106,"vol":1106,"trade_turnover":14105.3504,"count":114},{"id":1603306800,"open":12729.5,"close":12650.3,"high":12843.1,"low":12597.2,"amount":1.032,"vol":1032,"trade_turnover":13125.4568,"count":112},{"id":1603310400,"open":12666.8,"close":12807.0,"high":12848.4,"low":12610.2,"amount":1.154,"vol":1154,"trade_turnover":14680.638,"count":116},{"id":1603314000,"open":12866.0,"close":12938.9,"high":13005.1,"low":12748.2,"amount":1.164,"vol":1164,"trade_turnover":14976.9366,"count":114},{"id":1603317600,"open":12921.0,"close":13122.0,"high":13211.2,"low":12865.7,"amount":1.174,"vol":1174,"trade_turnover":15285.2446,"count":114},{"id":1603321200,"open":13153.2,"close":12829.8,"high":13173.2,"low":12688.6,"amount":1.172,"vol":1172,"trade_turnover":15060.9938,"count":117},{"id":1603324800,"open":12793.1,"close":12885.9,"high":12988.1,"low":12764.4,"amount":1.17,"vol":1170,"trade_turnover":15046.2046,"count":117},{"id":1603328400,"open":12860.4,"close":12757.5,"high":12972.6,"low":12757.5,"amount":1.158,"vol":1158,"trade_turnover":14882.4656,"count":118},{"id":1603332000,"open":12824.1,"close":12788.8,"high":12848.0,"low":12729.0,"amount":1.124,"vol":1124,"trade_turnover":14368.7948,"count":115},{"id":1603335600,"open":12791.7,"close":12767.2,"high":12834.4,"low":12729.0,"amount":1.194,"vol":1194,"trade_turnover":15268.9298,"count":111},{"id":1603339200,"open":12729.0,"close":12762.2,"high":12778.3,"low":12729.0,"amount":1.152,"vol":1152,"trade_turnover":14695.4876,"count":115},{"id":1603342800,"open":12763.1,"close":12813.8,"high":12842.0,"low":12730.6,"amount":1.21,"vol":1210,"trade_turnover":15440.8162,"count":119},{"id":1603346400,"open":12795.0,"close":12729.1,"high":12795.0,"low":12728.0,"amount":1.188,"vol":1188,"trade_turnover":15128.0098,"count":123},{"id":1603350000,"open":12728.6,"close":12730.6,"high":12730.6,"low":12728.3,"amount":1.266,"vol":1266,"trade_turnover":16115.1306,"count":112},{"id":1603353600,"open":12730.3,"close":12770.1,"high":12921.5,"low":12729.9,"amount":1.35,"vol":1350,"trade_turnover":17233.7326,"count":127},{"id":1603357200,"open":12824.9,"close":12780.4,"high":12872.1,"low":12760.1,"amount":0.98,"vol":980,"trade_turnover":12553.9826,"count":99},{"id":1603360800,"open":12784.9,"close":12934.2,"high":13002.7,"low":12775.6,"amount":0.266,"vol":266,"trade_turnover":3415.023,"count":30},{"id":1603364400,"open":12977.0,"close":13045.0,"high":13057.0,"low":12886.6,"amount":1.004,"vol":1004,"trade_turnover":13020.8576,"count":117},{"id":1603368000,"open":12958.5,"close":12847.9,"high":12973.4,"low":12751.6,"amount":1.134,"vol":1134,"trade_turnover":14594.2752,"count":111},{"id":1603371600,"open":12882.7,"close":12931.0,"high":13000.8,"low":12743.0,"amount":1.152,"vol":1152,"trade_turnover":14877.7314,"count":114},{"id":1603375200,"open":12890.4,"close":12917.8,"high":12995.3,"low":12783.9,"amount":1.182,"vol":1182,"trade_turnover":15224.4716,"count":115},{"id":1603378800,"open":12918.8,"close":12953.0,"high":13031.2,"low":12817.9,"amount":1.176,"vol":1176,"trade_turnover":15197.208,"count":117},{"id":1603382400,"open":12923.1,"close":13055.6,"high":13100.2,"low":12865.6,"amount":1.146,"vol":1146,"trade_turnover":14851.9604,"count":119},{"id":1603386000,"open":12967.6,"close":13082.7,"high":13105.7,"low":12835.5,"amount":1.534,"vol":1534,"trade_turnover":19927.8288,"count":124},{"id":1603389600,"open":13020.4,"close":13016.4,"high":13115.0,"low":12938.7,"amount":1.268,"vol":1268,"trade_turnover":16505.4738,"count":117},{"id":1603393200,"open":13028.3,"close":12970.6,"high":13171.2,"low":12961.8,"amount":1.13,"vol":1130,"trade_turnover":14762.952,"count":112},{"id":1603396800,"open":13016.7,"close":13089.3,"high":13216.1,"low":12998.5,"amount":1.206,"vol":1206,"trade_turnover":15807.1226,"count":117},{"id":1603400400,"open":13136.0,"close":13092.0,"high":13203.7,"low":12932.9,"amount":1.332,"vol":1332,"trade_turnover":17423.4422,"count":114},{"id":1603404000,"open":13119.4,"close":13055.9,"high":13250.5,"low":12984.7,"amount":1.21,"vol":1210,"trade_turnover":15876.0632,"count":114},{"id":1603407600,"open":13059.4,"close":12890.4,"high":13126.5,"low":12857.2,"amount":1.286,"vol":1286,"trade_turnover":16688.422,"count":116},{"id":1603411200,"open":12929.7,"close":12892.2,"high":12994.0,"low":12751.6,"amount":1.502,"vol":1502,"trade_turnover":19331.1596,"count":131},{"id":1603414800,"open":12921.7,"close":12898.3,"high":13003.2,"low":12786.0,"amount":1.386,"vol":1386,"trade_turnover":17904.8902,"count":121},{"id":1603418400,"open":12951.6,"close":12975.1,"high":13054.0,"low":12800.7,"amount":1.416,"vol":1416,"trade_turnover":18306.6204,"count":122},{"id":1603422000,"open":12967.3,"close":12947.0,"high":13030.7,"low":12875.0,"amount":1.19,"vol":1190,"trade_turnover":15409.7984,"count":118},{"id":1603425600,"open":12925.2,"close":12852.0,"high":13047.3,"low":12832.8,"amount":1.022,"vol":1022,"trade_turnover":13214.4388,"count":127},{"id":1603429200,"open":12859.0,"close":12931.1,"high":12991.7,"low":12841.2,"amount":0.478,"vol":478,"trade_turnover":6180.2486,"count":118},{"id":1603432800,"open":12935.9,"close":12939.6,"high":13014.1,"low":12871.9,"amount":0.522,"vol":522,"trade_turnover":6759.0324,"count":132},{"id":1603436400,"open":12923.1,"close":12925.4,"high":12998.9,"low":12917.1,"amount":0.476,"vol":476,"trade_turnover":6163.3118,"count":118},{"id":1603440000,"open":12942.2,"close":12962.6,"high":13014.0,"low":12916.1,"amount":0.508,"vol":508,"trade_turnover":6585.3656,"count":122},{"id":1603443600,"open":12970.5,"close":12926.4,"high":13012.5,"low":12909.9,"amount":0.564,"vol":564,"trade_turnover":7308.8828,"count":124},{"id":1603447200,"open":13001.2,"close":13007.7,"high":13059.5,"low":12925.7,"amount":0.536,"vol":536,"trade_turnover":6957.8796,"count":124},{"id":1603450800,"open":13025.4,"close":12970.6,"high":13078.4,"low":12906.5,"amount":0.486,"vol":486,"trade_turnover":6326.1434,"count":122},{"id":1603454400,"open":12963.9,"close":12935.4,"high":13025.0,"low":12850.8,"amount":0.494,"vol":494,"trade_turnover":6396.0984,"count":117},{"id":1603458000,"open":12913.3,"close":12951.7,"high":13043.3,"low":12911.0,"amount":0.466,"vol":466,"trade_turnover":6049.1412,"count":117},{"id":1603461600,"open":12999.6,"close":12858.8,"high":13006.4,"low":12840.4,"amount":0.46,"vol":460,"trade_turnover":5941.815,"count":116},{"id":1603465200,"open":12885.7,"close":12881.9,"high":12932.9,"low":12826.5,"amount":0.492,"vol":492,"trade_turnover":6340.214,"count":117},{"id":1603468800,"open":12854.4,"close":12784.1,"high":12933.5,"low":12744.4,"amount":0.484,"vol":484,"trade_turnover":6205.4138,"count":123},{"id":1603472400,"open":12832.3,"close":12847.7,"high":12893.1,"low":12730.1,"amount":0.562,"vol":562,"trade_turnover":7218.9184,"count":152},{"id":1603476000,"open":12874.1,"close":12915.7,"high":12939.3,"low":12751.4,"amount":0.53,"vol":530,"trade_turnover":6825.7004,"count":128},{"id":1603479600,"open":12867.9,"close":12972.9,"high":12972.9,"low":12786.6,"amount":0.444,"vol":444,"trade_turnover":5727.7452,"count":117},{"id":1603483200,"open":12956.7,"close":12991.6,"high":13002.2,"low":12842.9,"amount":0.492,"vol":492,"trade_turnover":6375.1566,"count":116},{"id":1603486800,"open":13004.3,"close":12943.5,"high":13004.3,"low":12936.6,"amount":0.5,"vol":500,"trade_turnover":6485.468,"count":125},{"id":1603490400,"open":12923.6,"close":12989.2,"high":13010.3,"low":12884.7,"amount":0.492,"vol":492,"trade_turnover":6376.1492,"count":120},{"id":1603494000,"open":12974.9,"close":12884.6,"high":13024.4,"low":12884.6,"amount":0.51,"vol":510,"trade_turnover":6622.3406,"count":121},{"id":1603497600,"open":12973.7,"close":12953.9,"high":13018.3,"low":12811.1,"amount":0.488,"vol":488,"trade_turnover":6317.7938,"count":120},{"id":1603501200,"open":12927.5,"close":12934.2,"high":13018.1,"low":12872.8,"amount":0.482,"vol":482,"trade_turnover":6242.4178,"count":117},{"id":1603504800,"open":12971.9,"close":12989.1,"high":13003.9,"low":12903.3,"amount":0.484,"vol":484,"trade_turnover":6278.1756,"count":117},{"id":1603508400,"open":13000.1,"close":12975.9,"high":13013.4,"low":12938.3,"amount":0.474,"vol":474,"trade_turnover":6157.7096,"count":122},{"id":1603512000,"open":12989.7,"close":12963.3,"high":13009.4,"low":12905.5,"amount":0.526,"vol":526,"trade_turnover":6831.5658,"count":124},{"id":1603515600,"open":12910.5,"close":12989.7,"high":13041.8,"low":12875.3,"amount":0.522,"vol":522,"trade_turnover":6768.8994,"count":127},{"id":1603519200,"open":12994.7,"close":13003.6,"high":13058.1,"low":12908.8,"amount":0.49,"vol":490,"trade_turnover":6370.5714,"count":120},{"id":1603522800,"open":13011.9,"close":13004.2,"high":13037.8,"low":12981.7,"amount":0.478,"vol":478,"trade_turnover":6218.9722,"count":120},{"id":1603526400,"open":13003.0,"close":12998.2,"high":13030.6,"low":12899.4,"amount":0.52,"vol":520,"trade_turnover":6754.958,"count":124},{"id":1603530000,"open":12998.2,"close":12990.6,"high":13020.3,"low":12893.6,"amount":0.454,"vol":454,"trade_turnover":5891.0574,"count":115},{"id":1603533600,"open":12996.4,"close":13030.1,"high":13059.1,"low":12913.2,"amount":0.502,"vol":502,"trade_turnover":6525.9004,"count":124},{"id":1603537200,"open":12988.4,"close":13033.2,"high":13068.3,"low":12940.2,"amount":0.468,"vol":468,"trade_turnover":6091.0376,"count":119},{"id":1603540800,"open":13035.3,"close":13006.5,"high":13071.8,"low":12978.9,"amount":0.468,"vol":468,"trade_turnover":6102.5902,"count":123},{"id":1603544400,"open":13038.8,"close":12985.9,"high":13066.7,"low":12928.1,"amount":0.534,"vol":534,"trade_turnover":6950.4268,"count":123},{"id":1603548000,"open":12986.3,"close":13042.0,"high":13100.1,"low":12960.5,"amount":0.47,"vol":470,"trade_turnover":6124.2178,"count":100},{"id":1603551600,"open":13038.4,"close":13102.2,"high":13196.5,"low":13038.4,"amount":0.456,"vol":456,"trade_turnover":5989.6362,"count":120},{"id":1603555200,"open":13136.8,"close":13052.7,"high":13176.6,"low":12984.6,"amount":0.458,"vol":458,"trade_turnover":5976.331,"count":121},{"id":1603558800,"open":13006.2,"close":13177.8,"high":13177.8,"low":13003.2,"amount":0.452,"vol":452,"trade_turnover":5911.7058,"count":118},{"id":1603562400,"open":13127.7,"close":13080.8,"high":13170.7,"low":13023.0,"amount":0.468,"vol":468,"trade_turnover":6122.375,"count":119},{"id":1603566000,"open":13040.7,"close":13148.4,"high":13179.3,"low":13014.2,"amount":0.468,"vol":468,"trade_turnover":6126.4278,"count":120},{"id":1603569600,"open":13073.5,"close":13090.1,"high":13179.6,"low":12992.5,"amount":0.47,"vol":470,"trade_turnover":6151.4758,"count":119},{"id":1603573200,"open":13035.4,"close":12993.9,"high":13148.7,"low":12980.7,"amount":0.458,"vol":458,"trade_turnover":5981.071,"count":117},{"id":1603576800,"open":13040.7,"close":13041.1,"high":13112.1,"low":12975.6,"amount":0.478,"vol":478,"trade_turnover":6225.4216,"count":118},{"id":1603580400,"open":13012.6,"close":13184.3,"high":13184.3,"low":13009.3,"amount":0.472,"vol":472,"trade_turnover":6173.4244,"count":118},{"id":1603584000,"open":13080.8,"close":13154.3,"high":13170.4,"low":13007.7,"amount":0.46,"vol":460,"trade_turnover":6024.09,"count":115},{"id":1603587600,"open":13092.0,"close":13196.1,"high":13196.8,"low":13024.0,"amount":0.398,"vol":398,"trade_turnover":5217.5364,"count":102},{"id":1603591200,"open":13124.7,"close":13082.4,"high":13175.1,"low":13035.0,"amount":0.476,"vol":476,"trade_turnover":6228.6596,"count":120},{"id":1603594800,"open":13049.1,"close":13259.0,"high":13383.8,"low":13049.1,"amount":0.578,"vol":578,"trade_turnover":7629.3886,"count":137},{"id":1603598400,"open":13277.0,"close":13243.4,"high":13369.0,"low":13216.0,"amount":0.47,"vol":470,"trade_turnover":6247.955,"count":122},{"id":1603602000,"open":13285.3,"close":13017.3,"high":13353.3,"low":13010.1,"amount":0.61,"vol":610,"trade_turnover":8048.8598,"count":134},{"id":1603605600,"open":13022.5,"close":13060.3,"high":13105.7,"low":13018.2,"amount":0.486,"vol":486,"trade_turnover":6344.1474,"count":118},{"id":1603609200,"open":13048.5,"close":13078.1,"high":13112.1,"low":13022.0,"amount":0.464,"vol":464,"trade_turnover":6061.5416,"count":120},{"id":1603612800,"open":13077.2,"close":13046.0,"high":13091.0,"low":13017.2,"amount":0.464,"vol":464,"trade_turnover":6055.3734,"count":120},{"id":1603616400,"open":13065.1,"close":13040.8,"high":13084.0,"low":13014.2,"amount":0.478,"vol":478,"trade_turnover":6235.7882,"count":117},{"id":1603620000,"open":13047.1,"close":13028.5,"high":13064.2,"low":13010.2,"amount":0.478,"vol":478,"trade_turnover":6232.2428,"count":125},{"id":1603623600,"open":13061.5,"close":12897.6,"high":13061.5,"low":12852.9,"amount":0.534,"vol":534,"trade_turnover":6918.1226,"count":123},{"id":1603627200,"open":12908.3,"close":12964.3,"high":13069.7,"low":12893.2,"amount":0.444,"vol":444,"trade_turnover":5755.8712,"count":117},{"id":1603630800,"open":13001.3,"close":12949.3,"high":13071.9,"low":12891.8,"amount":0.498,"vol":498,"trade_turnover":6465.078,"count":119},{"id":1603634400,"open":12975.8,"close":12946.8,"high":13077.7,"low":12900.0,"amount":0.468,"vol":468,"trade_turnover":6075.4554,"count":116},{"id":1603638000,"open":12975.2,"close":12883.3,"high":13069.1,"low":12883.3,"amount":0.47,"vol":470,"trade_turnover":6097.1072,"count":119},{"id":1603641600,"open":12916.2,"close":12978.7,"high":13067.9,"low":12877.5,"amount":0.482,"vol":482,"trade_turnover":6256.4472,"count":118},{"id":1603645200,"open":13008.0,"close":13004.4,"high":13087.5,"low":12922.7,"amount":0.47,"vol":470,"trade_turnover":6108.3892,"count":117},{"id":1603648800,"open":12972.8,"close":12957.2,"high":13067.6,"low":12893.6,"amount":0.468,"vol":468,"trade_turnover":6079.1484,"count":118},{"id":1603652400,"open":12996.5,"close":13021.8,"high":13066.9,"low":12916.6,"amount":0.442,"vol":442,"trade_turnover":5746.5548,"count":118},{"id":1603656000,"open":12992.9,"close":12985.4,"high":13081.5,"low":12944.9,"amount":0.508,"vol":508,"trade_turnover":6616.9872,"count":120},{"id":1603659600,"open":12999.9,"close":13011.2,"high":13068.6,"low":12921.4,"amount":0.508,"vol":508,"trade_turnover":6614.816,"count":122},{"id":1603663200,"open":12979.6,"close":12959.4,"high":13073.8,"low":12911.9,"amount":0.486,"vol":486,"trade_turnover":6320.907,"count":121},{"id":1603666800,"open":12963.4,"close":13032.1,"high":13085.2,"low":12927.8,"amount":0.452,"vol":452,"trade_turnover":5878.6442,"count":113},{"id":1603670400,"open":12964.2,"close":13001.0,"high":13076.7,"low":12918.3,"amount":0.482,"vol":482,"trade_turnover":6263.698,"count":121},{"id":1603674000,"open":13040.0,"close":13053.7,"high":13096.4,"low":12991.2,"amount":0.478,"vol":478,"trade_turnover":6232.2328,"count":124},{"id":1603677600,"open":13060.6,"close":13064.4,"high":13185.7,"low":12985.1,"amount":0.488,"vol":488,"trade_turnover":6387.534,"count":121},{"id":1603681200,"open":13032.3,"close":13092.8,"high":13187.2,"low":12984.1,"amount":0.486,"vol":486,"trade_turnover":6369.0272,"count":135},{"id":1603684800,"open":13092.0,"close":13132.6,"high":13181.6,"low":12962.3,"amount":0.51,"vol":510,"trade_turnover":6679.829,"count":131},{"id":1603688400,"open":13129.2,"close":13092.1,"high":13205.3,"low":13025.3,"amount":0.506,"vol":506,"trade_turnover":6641.2128,"count":126},{"id":1603692000,"open":13121.8,"close":13071.4,"high":13188.1,"low":12989.8,"amount":1.616,"vol":1616,"trade_turnover":21170.8224,"count":141},{"id":1603695600,"open":13061.0,"close":13038.7,"high":13100.0,"low":12965.2,"amount":3.746,"vol":3746,"trade_turnover":48924.8902,"count":110},{"id":1603699200,"open":13030.9,"close":13039.3,"high":13102.0,"low":12852.8,"amount":8.966,"vol":8966,"trade_turnover":116525.5534,"count":173},{"id":1603702800,"open":13047.1,"close":13075.9,"high":13088.4,"low":13039.8,"amount":4.48,"vol":4480,"trade_turnover":58521.1714,"count":124},{"id":1603706400,"open":13072.1,"close":13100.0,"high":13100.0,"low":13060.2,"amount":4.272,"vol":4272,"trade_turnover":55895.9778,"count":130},{"id":1603710000,"open":13100.0,"close":13138.4,"high":13159.0,"low":13100.0,"amount":29.798,"vol":29798,"trade_turnover":391138.024,"count":230},{"id":1603713600,"open":13138.8,"close":13149.8,"high":13200.0,"low":13100.0,"amount":5.154,"vol":5154,"trade_turnover":67694.652,"count":188},{"id":1603717200,"open":13150.0,"close":13205.8,"high":13351.5,"low":13133.1,"amount":35.608,"vol":35608,"trade_turnover":472780.3394,"count":328},{"id":1603720800,"open":13203.0,"close":13166.1,"high":13280.0,"low":13144.1,"amount":31.748,"vol":31748,"trade_turnover":418744.5588,"count":235},{"id":1603724400,"open":13159.0,"close":12978.0,"high":13165.2,"low":12903.8,"amount":36.53,"vol":36530,"trade_turnover":476940.3296,"count":384},{"id":1603728000,"open":12965.0,"close":12869.6,"high":13069.8,"low":12850.5,"amount":35.018,"vol":35018,"trade_turnover":453288.918,"count":323},{"id":1603731600,"open":12879.2,"close":12873.8,"high":12941.5,"low":12583.9,"amount":92.628,"vol":92628,"trade_turnover":1185973.467,"count":560},{"id":1603735200,"open":12856.2,"close":12946.8,"high":12954.5,"low":12820.4,"amount":4.302,"vol":4302,"trade_turnover":55481.0054,"count":128},{"id":1603738800,"open":12945.6,"close":12953.4,"high":12953.5,"low":12914.1,"amount":13.83,"vol":13830,"trade_turnover":179112.1598,"count":118},{"id":1603742400,"open":12953.5,"close":12983.4,"high":13007.5,"low":12953.5,"amount":17.172,"vol":17172,"trade_turnover":223230.2122,"count":132},{"id":1603746000,"open":12983.1,"close":12993.8,"high":13007.5,"low":12982.7,"amount":3.212,"vol":3212,"trade_turnover":41767.8906,"count":59},{"id":1603749600,"open":13002.1,"close":13007.5,"high":13007.5,"low":12974.0,"amount":1.504,"vol":1504,"trade_turnover":19543.3568,"count":74},{"id":1603753200,"open":13007.5,"close":13033.7,"high":13061.2,"low":13007.5,"amount":3.454,"vol":3454,"trade_turnover":45001.601,"count":101},{"id":1603756800,"open":13029.2,"close":13067.1,"high":13105.0,"low":13028.3,"amount":8.784,"vol":8784,"trade_turnover":114871.8246,"count":98},{"id":1603760400,"open":13074.3,"close":13061.7,"high":13074.4,"low":13051.5,"amount":11.592,"vol":11592,"trade_turnover":151386.9038,"count":66},{"id":1603764000,"open":13061.7,"close":13049.7,"high":13097.6,"low":13040.1,"amount":19.298,"vol":19298,"trade_turnover":252061.019,"count":109},{"id":1603767600,"open":13057.6,"close":13070.4,"high":13080.0,"low":13057.1,"amount":22.992,"vol":22992,"trade_turnover":300453.9788,"count":69},{"id":1603771200,"open":13080.0,"close":13103.3,"high":13175.0,"low":13079.6,"amount":14.396,"vol":14396,"trade_turnover":188461.9156,"count":59},{"id":1603774800,"open":13121.3,"close":13073.6,"high":13121.3,"low":13069.7,"amount":5.058,"vol":5058,"trade_turnover":66201.3552,"count":44},{"id":1603778400,"open":13074.9,"close":13103.4,"high":13149.0,"low":13069.6,"amount":9.106,"vol":9106,"trade_turnover":119104.8906,"count":107},{"id":1603782000,"open":13103.3,"close":13130.0,"high":13169.8,"low":12992.4,"amount":73.95,"vol":73950,"trade_turnover":968195.155,"count":305},{"id":1603785600,"open":13135.1,"close":13123.8,"high":13148.4,"low":13044.0,"amount":18.732,"vol":18732,"trade_turnover":245533.5448,"count":135},{"id":1603789200,"open":13115.5,"close":13131.7,"high":13131.8,"low":13075.7,"amount":13.756,"vol":13756,"trade_turnover":180253.7708,"count":102},{"id":1603792800,"open":13134.8,"close":13216.9,"high":13252.0,"low":13063.4,"amount":154.108,"vol":154108,"trade_turnover":2029983.656,"count":525},{"id":1603796400,"open":13218.8,"close":13395.8,"high":13590.1,"low":13213.5,"amount":170.09,"vol":170090,"trade_turnover":2276279.742,"count":591},{"id":1603800000,"open":13395.9,"close":13376.9,"high":13414.0,"low":13331.7,"amount":48.928,"vol":48928,"trade_turnover":654585.9108,"count":216},{"id":1603803600,"open":13376.5,"close":13384.3,"high":13490.9,"low":13329.8,"amount":63.294,"vol":63294,"trade_turnover":848130.9212,"count":316},{"id":1603807200,"open":13392.6,"close":13398.2,"high":13415.8,"low":13344.8,"amount":12.892,"vol":12892,"trade_turnover":172618.6864,"count":124},{"id":1603810800,"open":13398.2,"close":13598.5,"high":13626.7,"low":13398.2,"amount":93.22,"vol":93220,"trade_turnover":1262695.5466,"count":476},{"id":1603814400,"open":13595.8,"close":13639.9,"high":13639.9,"low":13520.2,"amount":85.45,"vol":85450,"trade_turnover":1161481.4136,"count":435},{"id":1603818000,"open":13640.0,"close":13688.1,"high":13826.7,"low":13589.0,"amount":191.812,"vol":191812,"trade_turnover":2628428.3788,"count":711},{"id":1603821600,"open":13685.0,"close":13630.1,"high":13745.0,"low":13528.2,"amount":65.434,"vol":65434,"trade_turnover":891541.8394,"count":410},{"id":1603825200,"open":13629.4,"close":13637.1,"high":13659.8,"low":13595.4,"amount":5.788,"vol":5788,"trade_turnover":78836.2578,"count":65},{"id":1603828800,"open":13644.4,"close":13616.6,"high":13805.1,"low":13582.6,"amount":163.104,"vol":163104,"trade_turnover":2234040.3544,"count":537},{"id":1603832400,"open":13609.8,"close":13705.5,"high":13753.5,"low":13609.8,"amount":9.884,"vol":9884,"trade_turnover":135406.4752,"count":101},{"id":1603836000,"open":13705.4,"close":13739.9,"high":13739.9,"low":13658.2,"amount":7.436,"vol":7436,"trade_turnover":101840.3508,"count":100},{"id":1603839600,"open":13739.9,"close":13649.6,"high":13794.6,"low":13582.6,"amount":17.086,"vol":17086,"trade_turnover":233971.8448,"count":234},{"id":1603843200,"open":13645.9,"close":13701.7,"high":13745.2,"low":13618.8,"amount":24.108,"vol":24108,"trade_turnover":330206.5694,"count":177},{"id":1603846800,"open":13702.1,"close":13702.6,"high":13725.6,"low":13647.9,"amount":15.892,"vol":15892,"trade_turnover":217816.7008,"count":151},{"id":1603850400,"open":13701.7,"close":13811.6,"high":13832.2,"low":13680.2,"amount":46.548,"vol":46548,"trade_turnover":640636.0352,"count":274},{"id":1603854000,"open":13818.5,"close":13777.0,"high":13820.3,"low":13717.5,"amount":67.896,"vol":67896,"trade_turnover":935838.2238,"count":320},{"id":1603857600,"open":13767.3,"close":13735.7,"high":13807.2,"low":13710.0,"amount":33.156,"vol":33156,"trade_turnover":455941.234,"count":210},{"id":1603861200,"open":13735.5,"close":13715.8,"high":13753.9,"low":13671.3,"amount":32.076,"vol":32076,"trade_turnover":439612.64,"count":198},{"id":1603864800,"open":13715.9,"close":13701.3,"high":13757.0,"low":13694.9,"amount":14.756,"vol":14756,"trade_turnover":202602.5164,"count":122},{"id":1603868400,"open":13701.2,"close":13674.2,"high":13708.7,"low":13550.0,"amount":155.534,"vol":155534,"trade_turnover":2117935.0928,"count":635},{"id":1603872000,"open":13673.0,"close":13691.7,"high":13691.7,"low":13584.0,"amount":29.846,"vol":29846,"trade_turnover":407073.1398,"count":240},{"id":1603875600,"open":13689.3,"close":13587.1,"high":13707.5,"low":13573.5,"amount":104.542,"vol":104542,"trade_turnover":1425079.9344,"count":377},{"id":1603879200,"open":13584.6,"close":13552.7,"high":13618.0,"low":13504.7,"amount":73.818,"vol":73818,"trade_turnover":1001666.0908,"count":358},{"id":1603882800,"open":13552.6,"close":13336.4,"high":13565.4,"low":13330.0,"amount":176.544,"vol":176544,"trade_turnover":2369166.1492,"count":1004},{"id":1603886400,"open":13331.5,"close":13300.3,"high":13385.0,"low":13173.9,"amount":289.73,"vol":289730,"trade_turnover":3846751.7166,"count":968},{"id":1603890000,"open":13300.2,"close":13129.9,"high":13340.0,"low":13122.9,"amount":139.822,"vol":139822,"trade_turnover":1848876.932,"count":612},{"id":1603893600,"open":13123.4,"close":13082.2,"high":13168.2,"low":12915.9,"amount":367.876,"vol":367876,"trade_turnover":4802516.9818,"count":1168},{"id":1603897200,"open":13077.1,"close":13221.2,"high":13235.2,"low":13052.3,"amount":84.044,"vol":84044,"trade_turnover":1106883.1282,"count":375},{"id":1603900800,"open":13218.7,"close":13145.1,"high":13218.7,"low":13050.0,"amount":29.566,"vol":29566,"trade_turnover":388697.4104,"count":244},{"id":1603904400,"open":13145.1,"close":13176.7,"high":13204.9,"low":13006.6,"amount":53.336,"vol":53336,"trade_turnover":700385.2784,"count":299},{"id":1603908000,"open":13171.0,"close":13196.5,"high":13219.6,"low":13131.0,"amount":34.164,"vol":34164,"trade_turnover":450210.5778,"count":218},{"id":1603911600,"open":13200.0,"close":13154.9,"high":13237.4,"low":13145.0,"amount":22.158,"vol":22158,"trade_turnover":292020.0438,"count":185},{"id":1603915200,"open":13154.5,"close":13198.1,"high":13211.8,"low":13147.4,"amount":4.548,"vol":4548,"trade_turnover":59991.1118,"count":75},{"id":1603918800,"open":13193.5,"close":13190.1,"high":13196.5,"low":13100.2,"amount":3.52,"vol":3520,"trade_turnover":46175.428,"count":68},{"id":1603922400,"open":13185.4,"close":13252.0,"high":13267.5,"low":13185.4,"amount":3.122,"vol":3122,"trade_turnover":41304.2018,"count":72},{"id":1603926000,"open":13242.1,"close":13265.9,"high":13282.3,"low":13235.9,"amount":14.768,"vol":14768,"trade_turnover":195689.0764,"count":86},{"id":1603929600,"open":13253.9,"close":13245.1,"high":13294.7,"low":13237.4,"amount":19.968,"vol":19968,"trade_turnover":264834.1944,"count":98},{"id":1603933200,"open":13244.6,"close":13274.2,"high":13285.3,"low":13166.3,"amount":35.282,"vol":35282,"trade_turnover":465789.6302,"count":192},{"id":1603936800,"open":13275.9,"close":13241.1,"high":13277.7,"low":13212.2,"amount":9.748,"vol":9748,"trade_turnover":129016.0684,"count":119},{"id":1603940400,"open":13237.1,"close":13262.5,"high":13262.5,"low":13174.6,"amount":27.3,"vol":27300,"trade_turnover":360589.8982,"count":199},{"id":1603944000,"open":13269.1,"close":13229.5,"high":13277.7,"low":13229.5,"amount":18.904,"vol":18904,"trade_turnover":250713.2812,"count":109},{"id":1603947600,"open":13228.5,"close":13274.8,"high":13274.8,"low":13228.5,"amount":15.822,"vol":15822,"trade_turnover":209781.909,"count":134},{"id":1603951200,"open":13274.8,"close":13255.0,"high":13323.0,"low":13242.3,"amount":91.246,"vol":91246,"trade_turnover":1211271.2788,"count":294},{"id":1603954800,"open":13255.0,"close":13142.4,"high":13269.3,"low":13123.1,"amount":187.622,"vol":187622,"trade_turnover":2478299.7074,"count":506},{"id":1603958400,"open":13145.9,"close":13124.8,"high":13182.4,"low":13094.1,"amount":69.532,"vol":69532,"trade_turnover":914157.2418,"count":226},{"id":1603962000,"open":13129.5,"close":13183.7,"high":13197.1,"low":13129.5,"amount":23.184,"vol":23184,"trade_turnover":305485.9524,"count":141},{"id":1603965600,"open":13184.8,"close":13105.2,"high":13187.5,"low":13053.1,"amount":121.146,"vol":121146,"trade_turnover":1590026.4416,"count":442},{"id":1603969200,"open":13105.1,"close":13060.1,"high":13171.4,"low":13060.1,"amount":47.498,"vol":47498,"trade_turnover":623578.149,"count":262},{"id":1603972800,"open":13056.9,"close":13131.8,"high":13145.8,"low":12977.9,"amount":126.552,"vol":126552,"trade_turnover":1652549.311,"count":481},{"id":1603976400,"open":13131.7,"close":13230.0,"high":13237.2,"low":13102.0,"amount":100.482,"vol":100482,"trade_turnover":1326403.7206,"count":325},{"id":1603980000,"open":13231.0,"close":13420.8,"high":13476.1,"low":13231.0,"amount":253.258,"vol":253258,"trade_turnover":3384941.438,"count":752},{"id":1603983600,"open":13416.0,"close":13420.6,"high":13458.7,"low":13358.7,"amount":64.71,"vol":64710,"trade_turnover":869052.3804,"count":269},{"id":1603987200,"open":13421.9,"close":13535.9,"high":13594.5,"low":13391.8,"amount":120.24,"vol":120240,"trade_turnover":1626567.8278,"count":570}]} +2024-01-18 11:13:09.955 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:41] - 请求 KLine 数据解析之后的数据为:{"wsid":19750305,"data":[{"amount":0.276,"high":12300.0,"vol":276,"low":11715.8,"count":39,"id":1603270800,"close":12196.7,"tradeTurnover":3315.9104,"open":12198.0},{"amount":0.198,"high":12289.9,"vol":198,"low":12111.0,"count":21,"id":1603274400,"close":12277.9,"tradeTurnover":2420.7728,"open":12196.7},{"amount":0.012,"high":12277.9,"vol":12,"low":12000.0,"count":5,"id":1603278000,"close":12000.0,"tradeTurnover":145.2238,"open":12111.0},{"amount":0.084,"high":12498.0,"vol":84,"low":12078.0,"count":12,"id":1603281600,"close":12497.4,"tradeTurnover":1040.0504,"open":12078.0},{"amount":1.122,"high":12495.6,"vol":1122,"low":12282.9,"count":112,"id":1603285200,"close":12373.5,"tradeTurnover":13905.3124,"open":12495.6},{"amount":5.29,"high":12807.6,"vol":5290,"low":12358.1,"count":155,"id":1603288800,"close":12689.9,"tradeTurnover":66852.128,"open":12412.9},{"amount":1.174,"high":12778.7,"vol":1174,"low":12573.2,"count":113,"id":1603292400,"close":12701.9,"tradeTurnover":14907.367,"open":12692.8},{"amount":1.156,"high":12920.9,"vol":1156,"low":12624.8,"count":115,"id":1603296000,"close":12835.9,"tradeTurnover":14802.449,"open":12679.7},{"amount":1.12,"high":12908.3,"vol":1120,"low":12687.5,"count":115,"id":1603299600,"close":12754.2,"tradeTurnover":14345.7324,"open":12848.3},{"amount":1.106,"high":12849.0,"vol":1106,"low":12668.3,"count":114,"id":1603303200,"close":12740.2,"tradeTurnover":14105.3504,"open":12743.7},{"amount":1.032,"high":12843.1,"vol":1032,"low":12597.2,"count":112,"id":1603306800,"close":12650.3,"tradeTurnover":13125.4568,"open":12729.5},{"amount":1.154,"high":12848.4,"vol":1154,"low":12610.2,"count":116,"id":1603310400,"close":12807.0,"tradeTurnover":14680.638,"open":12666.8},{"amount":1.164,"high":13005.1,"vol":1164,"low":12748.2,"count":114,"id":1603314000,"close":12938.9,"tradeTurnover":14976.9366,"open":12866.0},{"amount":1.174,"high":13211.2,"vol":1174,"low":12865.7,"count":114,"id":1603317600,"close":13122.0,"tradeTurnover":15285.2446,"open":12921.0},{"amount":1.172,"high":13173.2,"vol":1172,"low":12688.6,"count":117,"id":1603321200,"close":12829.8,"tradeTurnover":15060.9938,"open":13153.2},{"amount":1.17,"high":12988.1,"vol":1170,"low":12764.4,"count":117,"id":1603324800,"close":12885.9,"tradeTurnover":15046.2046,"open":12793.1},{"amount":1.158,"high":12972.6,"vol":1158,"low":12757.5,"count":118,"id":1603328400,"close":12757.5,"tradeTurnover":14882.4656,"open":12860.4},{"amount":1.124,"high":12848.0,"vol":1124,"low":12729.0,"count":115,"id":1603332000,"close":12788.8,"tradeTurnover":14368.7948,"open":12824.1},{"amount":1.194,"high":12834.4,"vol":1194,"low":12729.0,"count":111,"id":1603335600,"close":12767.2,"tradeTurnover":15268.9298,"open":12791.7},{"amount":1.152,"high":12778.3,"vol":1152,"low":12729.0,"count":115,"id":1603339200,"close":12762.2,"tradeTurnover":14695.4876,"open":12729.0},{"amount":1.21,"high":12842.0,"vol":1210,"low":12730.6,"count":119,"id":1603342800,"close":12813.8,"tradeTurnover":15440.8162,"open":12763.1},{"amount":1.188,"high":12795.0,"vol":1188,"low":12728.0,"count":123,"id":1603346400,"close":12729.1,"tradeTurnover":15128.0098,"open":12795.0},{"amount":1.266,"high":12730.6,"vol":1266,"low":12728.3,"count":112,"id":1603350000,"close":12730.6,"tradeTurnover":16115.1306,"open":12728.6},{"amount":1.35,"high":12921.5,"vol":1350,"low":12729.9,"count":127,"id":1603353600,"close":12770.1,"tradeTurnover":17233.7326,"open":12730.3},{"amount":0.98,"high":12872.1,"vol":980,"low":12760.1,"count":99,"id":1603357200,"close":12780.4,"tradeTurnover":12553.9826,"open":12824.9},{"amount":0.266,"high":13002.7,"vol":266,"low":12775.6,"count":30,"id":1603360800,"close":12934.2,"tradeTurnover":3415.023,"open":12784.9},{"amount":1.004,"high":13057.0,"vol":1004,"low":12886.6,"count":117,"id":1603364400,"close":13045.0,"tradeTurnover":13020.8576,"open":12977.0},{"amount":1.134,"high":12973.4,"vol":1134,"low":12751.6,"count":111,"id":1603368000,"close":12847.9,"tradeTurnover":14594.2752,"open":12958.5},{"amount":1.152,"high":13000.8,"vol":1152,"low":12743.0,"count":114,"id":1603371600,"close":12931.0,"tradeTurnover":14877.7314,"open":12882.7},{"amount":1.182,"high":12995.3,"vol":1182,"low":12783.9,"count":115,"id":1603375200,"close":12917.8,"tradeTurnover":15224.4716,"open":12890.4},{"amount":1.176,"high":13031.2,"vol":1176,"low":12817.9,"count":117,"id":1603378800,"close":12953.0,"tradeTurnover":15197.208,"open":12918.8},{"amount":1.146,"high":13100.2,"vol":1146,"low":12865.6,"count":119,"id":1603382400,"close":13055.6,"tradeTurnover":14851.9604,"open":12923.1},{"amount":1.534,"high":13105.7,"vol":1534,"low":12835.5,"count":124,"id":1603386000,"close":13082.7,"tradeTurnover":19927.8288,"open":12967.6},{"amount":1.268,"high":13115.0,"vol":1268,"low":12938.7,"count":117,"id":1603389600,"close":13016.4,"tradeTurnover":16505.4738,"open":13020.4},{"amount":1.13,"high":13171.2,"vol":1130,"low":12961.8,"count":112,"id":1603393200,"close":12970.6,"tradeTurnover":14762.952,"open":13028.3},{"amount":1.206,"high":13216.1,"vol":1206,"low":12998.5,"count":117,"id":1603396800,"close":13089.3,"tradeTurnover":15807.1226,"open":13016.7},{"amount":1.332,"high":13203.7,"vol":1332,"low":12932.9,"count":114,"id":1603400400,"close":13092.0,"tradeTurnover":17423.4422,"open":13136.0},{"amount":1.21,"high":13250.5,"vol":1210,"low":12984.7,"count":114,"id":1603404000,"close":13055.9,"tradeTurnover":15876.0632,"open":13119.4},{"amount":1.286,"high":13126.5,"vol":1286,"low":12857.2,"count":116,"id":1603407600,"close":12890.4,"tradeTurnover":16688.422,"open":13059.4},{"amount":1.502,"high":12994.0,"vol":1502,"low":12751.6,"count":131,"id":1603411200,"close":12892.2,"tradeTurnover":19331.1596,"open":12929.7},{"amount":1.386,"high":13003.2,"vol":1386,"low":12786.0,"count":121,"id":1603414800,"close":12898.3,"tradeTurnover":17904.8902,"open":12921.7},{"amount":1.416,"high":13054.0,"vol":1416,"low":12800.7,"count":122,"id":1603418400,"close":12975.1,"tradeTurnover":18306.6204,"open":12951.6},{"amount":1.19,"high":13030.7,"vol":1190,"low":12875.0,"count":118,"id":1603422000,"close":12947.0,"tradeTurnover":15409.7984,"open":12967.3},{"amount":1.022,"high":13047.3,"vol":1022,"low":12832.8,"count":127,"id":1603425600,"close":12852.0,"tradeTurnover":13214.4388,"open":12925.2},{"amount":0.478,"high":12991.7,"vol":478,"low":12841.2,"count":118,"id":1603429200,"close":12931.1,"tradeTurnover":6180.2486,"open":12859.0},{"amount":0.522,"high":13014.1,"vol":522,"low":12871.9,"count":132,"id":1603432800,"close":12939.6,"tradeTurnover":6759.0324,"open":12935.9},{"amount":0.476,"high":12998.9,"vol":476,"low":12917.1,"count":118,"id":1603436400,"close":12925.4,"tradeTurnover":6163.3118,"open":12923.1},{"amount":0.508,"high":13014.0,"vol":508,"low":12916.1,"count":122,"id":1603440000,"close":12962.6,"tradeTurnover":6585.3656,"open":12942.2},{"amount":0.564,"high":13012.5,"vol":564,"low":12909.9,"count":124,"id":1603443600,"close":12926.4,"tradeTurnover":7308.8828,"open":12970.5},{"amount":0.536,"high":13059.5,"vol":536,"low":12925.7,"count":124,"id":1603447200,"close":13007.7,"tradeTurnover":6957.8796,"open":13001.2},{"amount":0.486,"high":13078.4,"vol":486,"low":12906.5,"count":122,"id":1603450800,"close":12970.6,"tradeTurnover":6326.1434,"open":13025.4},{"amount":0.494,"high":13025.0,"vol":494,"low":12850.8,"count":117,"id":1603454400,"close":12935.4,"tradeTurnover":6396.0984,"open":12963.9},{"amount":0.466,"high":13043.3,"vol":466,"low":12911.0,"count":117,"id":1603458000,"close":12951.7,"tradeTurnover":6049.1412,"open":12913.3},{"amount":0.46,"high":13006.4,"vol":460,"low":12840.4,"count":116,"id":1603461600,"close":12858.8,"tradeTurnover":5941.815,"open":12999.6},{"amount":0.492,"high":12932.9,"vol":492,"low":12826.5,"count":117,"id":1603465200,"close":12881.9,"tradeTurnover":6340.214,"open":12885.7},{"amount":0.484,"high":12933.5,"vol":484,"low":12744.4,"count":123,"id":1603468800,"close":12784.1,"tradeTurnover":6205.4138,"open":12854.4},{"amount":0.562,"high":12893.1,"vol":562,"low":12730.1,"count":152,"id":1603472400,"close":12847.7,"tradeTurnover":7218.9184,"open":12832.3},{"amount":0.53,"high":12939.3,"vol":530,"low":12751.4,"count":128,"id":1603476000,"close":12915.7,"tradeTurnover":6825.7004,"open":12874.1},{"amount":0.444,"high":12972.9,"vol":444,"low":12786.6,"count":117,"id":1603479600,"close":12972.9,"tradeTurnover":5727.7452,"open":12867.9},{"amount":0.492,"high":13002.2,"vol":492,"low":12842.9,"count":116,"id":1603483200,"close":12991.6,"tradeTurnover":6375.1566,"open":12956.7},{"amount":0.5,"high":13004.3,"vol":500,"low":12936.6,"count":125,"id":1603486800,"close":12943.5,"tradeTurnover":6485.468,"open":13004.3},{"amount":0.492,"high":13010.3,"vol":492,"low":12884.7,"count":120,"id":1603490400,"close":12989.2,"tradeTurnover":6376.1492,"open":12923.6},{"amount":0.51,"high":13024.4,"vol":510,"low":12884.6,"count":121,"id":1603494000,"close":12884.6,"tradeTurnover":6622.3406,"open":12974.9},{"amount":0.488,"high":13018.3,"vol":488,"low":12811.1,"count":120,"id":1603497600,"close":12953.9,"tradeTurnover":6317.7938,"open":12973.7},{"amount":0.482,"high":13018.1,"vol":482,"low":12872.8,"count":117,"id":1603501200,"close":12934.2,"tradeTurnover":6242.4178,"open":12927.5},{"amount":0.484,"high":13003.9,"vol":484,"low":12903.3,"count":117,"id":1603504800,"close":12989.1,"tradeTurnover":6278.1756,"open":12971.9},{"amount":0.474,"high":13013.4,"vol":474,"low":12938.3,"count":122,"id":1603508400,"close":12975.9,"tradeTurnover":6157.7096,"open":13000.1},{"amount":0.526,"high":13009.4,"vol":526,"low":12905.5,"count":124,"id":1603512000,"close":12963.3,"tradeTurnover":6831.5658,"open":12989.7},{"amount":0.522,"high":13041.8,"vol":522,"low":12875.3,"count":127,"id":1603515600,"close":12989.7,"tradeTurnover":6768.8994,"open":12910.5},{"amount":0.49,"high":13058.1,"vol":490,"low":12908.8,"count":120,"id":1603519200,"close":13003.6,"tradeTurnover":6370.5714,"open":12994.7},{"amount":0.478,"high":13037.8,"vol":478,"low":12981.7,"count":120,"id":1603522800,"close":13004.2,"tradeTurnover":6218.9722,"open":13011.9},{"amount":0.52,"high":13030.6,"vol":520,"low":12899.4,"count":124,"id":1603526400,"close":12998.2,"tradeTurnover":6754.958,"open":13003.0},{"amount":0.454,"high":13020.3,"vol":454,"low":12893.6,"count":115,"id":1603530000,"close":12990.6,"tradeTurnover":5891.0574,"open":12998.2},{"amount":0.502,"high":13059.1,"vol":502,"low":12913.2,"count":124,"id":1603533600,"close":13030.1,"tradeTurnover":6525.9004,"open":12996.4},{"amount":0.468,"high":13068.3,"vol":468,"low":12940.2,"count":119,"id":1603537200,"close":13033.2,"tradeTurnover":6091.0376,"open":12988.4},{"amount":0.468,"high":13071.8,"vol":468,"low":12978.9,"count":123,"id":1603540800,"close":13006.5,"tradeTurnover":6102.5902,"open":13035.3},{"amount":0.534,"high":13066.7,"vol":534,"low":12928.1,"count":123,"id":1603544400,"close":12985.9,"tradeTurnover":6950.4268,"open":13038.8},{"amount":0.47,"high":13100.1,"vol":470,"low":12960.5,"count":100,"id":1603548000,"close":13042.0,"tradeTurnover":6124.2178,"open":12986.3},{"amount":0.456,"high":13196.5,"vol":456,"low":13038.4,"count":120,"id":1603551600,"close":13102.2,"tradeTurnover":5989.6362,"open":13038.4},{"amount":0.458,"high":13176.6,"vol":458,"low":12984.6,"count":121,"id":1603555200,"close":13052.7,"tradeTurnover":5976.331,"open":13136.8},{"amount":0.452,"high":13177.8,"vol":452,"low":13003.2,"count":118,"id":1603558800,"close":13177.8,"tradeTurnover":5911.7058,"open":13006.2},{"amount":0.468,"high":13170.7,"vol":468,"low":13023.0,"count":119,"id":1603562400,"close":13080.8,"tradeTurnover":6122.375,"open":13127.7},{"amount":0.468,"high":13179.3,"vol":468,"low":13014.2,"count":120,"id":1603566000,"close":13148.4,"tradeTurnover":6126.4278,"open":13040.7},{"amount":0.47,"high":13179.6,"vol":470,"low":12992.5,"count":119,"id":1603569600,"close":13090.1,"tradeTurnover":6151.4758,"open":13073.5},{"amount":0.458,"high":13148.7,"vol":458,"low":12980.7,"count":117,"id":1603573200,"close":12993.9,"tradeTurnover":5981.071,"open":13035.4},{"amount":0.478,"high":13112.1,"vol":478,"low":12975.6,"count":118,"id":1603576800,"close":13041.1,"tradeTurnover":6225.4216,"open":13040.7},{"amount":0.472,"high":13184.3,"vol":472,"low":13009.3,"count":118,"id":1603580400,"close":13184.3,"tradeTurnover":6173.4244,"open":13012.6},{"amount":0.46,"high":13170.4,"vol":460,"low":13007.7,"count":115,"id":1603584000,"close":13154.3,"tradeTurnover":6024.09,"open":13080.8},{"amount":0.398,"high":13196.8,"vol":398,"low":13024.0,"count":102,"id":1603587600,"close":13196.1,"tradeTurnover":5217.5364,"open":13092.0},{"amount":0.476,"high":13175.1,"vol":476,"low":13035.0,"count":120,"id":1603591200,"close":13082.4,"tradeTurnover":6228.6596,"open":13124.7},{"amount":0.578,"high":13383.8,"vol":578,"low":13049.1,"count":137,"id":1603594800,"close":13259.0,"tradeTurnover":7629.3886,"open":13049.1},{"amount":0.47,"high":13369.0,"vol":470,"low":13216.0,"count":122,"id":1603598400,"close":13243.4,"tradeTurnover":6247.955,"open":13277.0},{"amount":0.61,"high":13353.3,"vol":610,"low":13010.1,"count":134,"id":1603602000,"close":13017.3,"tradeTurnover":8048.8598,"open":13285.3},{"amount":0.486,"high":13105.7,"vol":486,"low":13018.2,"count":118,"id":1603605600,"close":13060.3,"tradeTurnover":6344.1474,"open":13022.5},{"amount":0.464,"high":13112.1,"vol":464,"low":13022.0,"count":120,"id":1603609200,"close":13078.1,"tradeTurnover":6061.5416,"open":13048.5},{"amount":0.464,"high":13091.0,"vol":464,"low":13017.2,"count":120,"id":1603612800,"close":13046.0,"tradeTurnover":6055.3734,"open":13077.2},{"amount":0.478,"high":13084.0,"vol":478,"low":13014.2,"count":117,"id":1603616400,"close":13040.8,"tradeTurnover":6235.7882,"open":13065.1},{"amount":0.478,"high":13064.2,"vol":478,"low":13010.2,"count":125,"id":1603620000,"close":13028.5,"tradeTurnover":6232.2428,"open":13047.1},{"amount":0.534,"high":13061.5,"vol":534,"low":12852.9,"count":123,"id":1603623600,"close":12897.6,"tradeTurnover":6918.1226,"open":13061.5},{"amount":0.444,"high":13069.7,"vol":444,"low":12893.2,"count":117,"id":1603627200,"close":12964.3,"tradeTurnover":5755.8712,"open":12908.3},{"amount":0.498,"high":13071.9,"vol":498,"low":12891.8,"count":119,"id":1603630800,"close":12949.3,"tradeTurnover":6465.078,"open":13001.3},{"amount":0.468,"high":13077.7,"vol":468,"low":12900.0,"count":116,"id":1603634400,"close":12946.8,"tradeTurnover":6075.4554,"open":12975.8},{"amount":0.47,"high":13069.1,"vol":470,"low":12883.3,"count":119,"id":1603638000,"close":12883.3,"tradeTurnover":6097.1072,"open":12975.2},{"amount":0.482,"high":13067.9,"vol":482,"low":12877.5,"count":118,"id":1603641600,"close":12978.7,"tradeTurnover":6256.4472,"open":12916.2},{"amount":0.47,"high":13087.5,"vol":470,"low":12922.7,"count":117,"id":1603645200,"close":13004.4,"tradeTurnover":6108.3892,"open":13008.0},{"amount":0.468,"high":13067.6,"vol":468,"low":12893.6,"count":118,"id":1603648800,"close":12957.2,"tradeTurnover":6079.1484,"open":12972.8},{"amount":0.442,"high":13066.9,"vol":442,"low":12916.6,"count":118,"id":1603652400,"close":13021.8,"tradeTurnover":5746.5548,"open":12996.5},{"amount":0.508,"high":13081.5,"vol":508,"low":12944.9,"count":120,"id":1603656000,"close":12985.4,"tradeTurnover":6616.9872,"open":12992.9},{"amount":0.508,"high":13068.6,"vol":508,"low":12921.4,"count":122,"id":1603659600,"close":13011.2,"tradeTurnover":6614.816,"open":12999.9},{"amount":0.486,"high":13073.8,"vol":486,"low":12911.9,"count":121,"id":1603663200,"close":12959.4,"tradeTurnover":6320.907,"open":12979.6},{"amount":0.452,"high":13085.2,"vol":452,"low":12927.8,"count":113,"id":1603666800,"close":13032.1,"tradeTurnover":5878.6442,"open":12963.4},{"amount":0.482,"high":13076.7,"vol":482,"low":12918.3,"count":121,"id":1603670400,"close":13001.0,"tradeTurnover":6263.698,"open":12964.2},{"amount":0.478,"high":13096.4,"vol":478,"low":12991.2,"count":124,"id":1603674000,"close":13053.7,"tradeTurnover":6232.2328,"open":13040.0},{"amount":0.488,"high":13185.7,"vol":488,"low":12985.1,"count":121,"id":1603677600,"close":13064.4,"tradeTurnover":6387.534,"open":13060.6},{"amount":0.486,"high":13187.2,"vol":486,"low":12984.1,"count":135,"id":1603681200,"close":13092.8,"tradeTurnover":6369.0272,"open":13032.3},{"amount":0.51,"high":13181.6,"vol":510,"low":12962.3,"count":131,"id":1603684800,"close":13132.6,"tradeTurnover":6679.829,"open":13092.0},{"amount":0.506,"high":13205.3,"vol":506,"low":13025.3,"count":126,"id":1603688400,"close":13092.1,"tradeTurnover":6641.2128,"open":13129.2},{"amount":1.616,"high":13188.1,"vol":1616,"low":12989.8,"count":141,"id":1603692000,"close":13071.4,"tradeTurnover":21170.8224,"open":13121.8},{"amount":3.746,"high":13100.0,"vol":3746,"low":12965.2,"count":110,"id":1603695600,"close":13038.7,"tradeTurnover":48924.8902,"open":13061.0},{"amount":8.966,"high":13102.0,"vol":8966,"low":12852.8,"count":173,"id":1603699200,"close":13039.3,"tradeTurnover":116525.5534,"open":13030.9},{"amount":4.48,"high":13088.4,"vol":4480,"low":13039.8,"count":124,"id":1603702800,"close":13075.9,"tradeTurnover":58521.1714,"open":13047.1},{"amount":4.272,"high":13100.0,"vol":4272,"low":13060.2,"count":130,"id":1603706400,"close":13100.0,"tradeTurnover":55895.9778,"open":13072.1},{"amount":29.798,"high":13159.0,"vol":29798,"low":13100.0,"count":230,"id":1603710000,"close":13138.4,"tradeTurnover":391138.024,"open":13100.0},{"amount":5.154,"high":13200.0,"vol":5154,"low":13100.0,"count":188,"id":1603713600,"close":13149.8,"tradeTurnover":67694.652,"open":13138.8},{"amount":35.608,"high":13351.5,"vol":35608,"low":13133.1,"count":328,"id":1603717200,"close":13205.8,"tradeTurnover":472780.3394,"open":13150.0},{"amount":31.748,"high":13280.0,"vol":31748,"low":13144.1,"count":235,"id":1603720800,"close":13166.1,"tradeTurnover":418744.5588,"open":13203.0},{"amount":36.53,"high":13165.2,"vol":36530,"low":12903.8,"count":384,"id":1603724400,"close":12978.0,"tradeTurnover":476940.3296,"open":13159.0},{"amount":35.018,"high":13069.8,"vol":35018,"low":12850.5,"count":323,"id":1603728000,"close":12869.6,"tradeTurnover":453288.918,"open":12965.0},{"amount":92.628,"high":12941.5,"vol":92628,"low":12583.9,"count":560,"id":1603731600,"close":12873.8,"tradeTurnover":1185973.467,"open":12879.2},{"amount":4.302,"high":12954.5,"vol":4302,"low":12820.4,"count":128,"id":1603735200,"close":12946.8,"tradeTurnover":55481.0054,"open":12856.2},{"amount":13.83,"high":12953.5,"vol":13830,"low":12914.1,"count":118,"id":1603738800,"close":12953.4,"tradeTurnover":179112.1598,"open":12945.6},{"amount":17.172,"high":13007.5,"vol":17172,"low":12953.5,"count":132,"id":1603742400,"close":12983.4,"tradeTurnover":223230.2122,"open":12953.5},{"amount":3.212,"high":13007.5,"vol":3212,"low":12982.7,"count":59,"id":1603746000,"close":12993.8,"tradeTurnover":41767.8906,"open":12983.1},{"amount":1.504,"high":13007.5,"vol":1504,"low":12974.0,"count":74,"id":1603749600,"close":13007.5,"tradeTurnover":19543.3568,"open":13002.1},{"amount":3.454,"high":13061.2,"vol":3454,"low":13007.5,"count":101,"id":1603753200,"close":13033.7,"tradeTurnover":45001.601,"open":13007.5},{"amount":8.784,"high":13105.0,"vol":8784,"low":13028.3,"count":98,"id":1603756800,"close":13067.1,"tradeTurnover":114871.8246,"open":13029.2},{"amount":11.592,"high":13074.4,"vol":11592,"low":13051.5,"count":66,"id":1603760400,"close":13061.7,"tradeTurnover":151386.9038,"open":13074.3},{"amount":19.298,"high":13097.6,"vol":19298,"low":13040.1,"count":109,"id":1603764000,"close":13049.7,"tradeTurnover":252061.019,"open":13061.7},{"amount":22.992,"high":13080.0,"vol":22992,"low":13057.1,"count":69,"id":1603767600,"close":13070.4,"tradeTurnover":300453.9788,"open":13057.6},{"amount":14.396,"high":13175.0,"vol":14396,"low":13079.6,"count":59,"id":1603771200,"close":13103.3,"tradeTurnover":188461.9156,"open":13080.0},{"amount":5.058,"high":13121.3,"vol":5058,"low":13069.7,"count":44,"id":1603774800,"close":13073.6,"tradeTurnover":66201.3552,"open":13121.3},{"amount":9.106,"high":13149.0,"vol":9106,"low":13069.6,"count":107,"id":1603778400,"close":13103.4,"tradeTurnover":119104.8906,"open":13074.9},{"amount":73.95,"high":13169.8,"vol":73950,"low":12992.4,"count":305,"id":1603782000,"close":13130.0,"tradeTurnover":968195.155,"open":13103.3},{"amount":18.732,"high":13148.4,"vol":18732,"low":13044.0,"count":135,"id":1603785600,"close":13123.8,"tradeTurnover":245533.5448,"open":13135.1},{"amount":13.756,"high":13131.8,"vol":13756,"low":13075.7,"count":102,"id":1603789200,"close":13131.7,"tradeTurnover":180253.7708,"open":13115.5},{"amount":154.108,"high":13252.0,"vol":154108,"low":13063.4,"count":525,"id":1603792800,"close":13216.9,"tradeTurnover":2029983.656,"open":13134.8},{"amount":170.09,"high":13590.1,"vol":170090,"low":13213.5,"count":591,"id":1603796400,"close":13395.8,"tradeTurnover":2276279.742,"open":13218.8},{"amount":48.928,"high":13414.0,"vol":48928,"low":13331.7,"count":216,"id":1603800000,"close":13376.9,"tradeTurnover":654585.9108,"open":13395.9},{"amount":63.294,"high":13490.9,"vol":63294,"low":13329.8,"count":316,"id":1603803600,"close":13384.3,"tradeTurnover":848130.9212,"open":13376.5},{"amount":12.892,"high":13415.8,"vol":12892,"low":13344.8,"count":124,"id":1603807200,"close":13398.2,"tradeTurnover":172618.6864,"open":13392.6},{"amount":93.22,"high":13626.7,"vol":93220,"low":13398.2,"count":476,"id":1603810800,"close":13598.5,"tradeTurnover":1262695.5466,"open":13398.2},{"amount":85.45,"high":13639.9,"vol":85450,"low":13520.2,"count":435,"id":1603814400,"close":13639.9,"tradeTurnover":1161481.4136,"open":13595.8},{"amount":191.812,"high":13826.7,"vol":191812,"low":13589.0,"count":711,"id":1603818000,"close":13688.1,"tradeTurnover":2628428.3788,"open":13640.0},{"amount":65.434,"high":13745.0,"vol":65434,"low":13528.2,"count":410,"id":1603821600,"close":13630.1,"tradeTurnover":891541.8394,"open":13685.0},{"amount":5.788,"high":13659.8,"vol":5788,"low":13595.4,"count":65,"id":1603825200,"close":13637.1,"tradeTurnover":78836.2578,"open":13629.4},{"amount":163.104,"high":13805.1,"vol":163104,"low":13582.6,"count":537,"id":1603828800,"close":13616.6,"tradeTurnover":2234040.3544,"open":13644.4},{"amount":9.884,"high":13753.5,"vol":9884,"low":13609.8,"count":101,"id":1603832400,"close":13705.5,"tradeTurnover":135406.4752,"open":13609.8},{"amount":7.436,"high":13739.9,"vol":7436,"low":13658.2,"count":100,"id":1603836000,"close":13739.9,"tradeTurnover":101840.3508,"open":13705.4},{"amount":17.086,"high":13794.6,"vol":17086,"low":13582.6,"count":234,"id":1603839600,"close":13649.6,"tradeTurnover":233971.8448,"open":13739.9},{"amount":24.108,"high":13745.2,"vol":24108,"low":13618.8,"count":177,"id":1603843200,"close":13701.7,"tradeTurnover":330206.5694,"open":13645.9},{"amount":15.892,"high":13725.6,"vol":15892,"low":13647.9,"count":151,"id":1603846800,"close":13702.6,"tradeTurnover":217816.7008,"open":13702.1},{"amount":46.548,"high":13832.2,"vol":46548,"low":13680.2,"count":274,"id":1603850400,"close":13811.6,"tradeTurnover":640636.0352,"open":13701.7},{"amount":67.896,"high":13820.3,"vol":67896,"low":13717.5,"count":320,"id":1603854000,"close":13777.0,"tradeTurnover":935838.2238,"open":13818.5},{"amount":33.156,"high":13807.2,"vol":33156,"low":13710.0,"count":210,"id":1603857600,"close":13735.7,"tradeTurnover":455941.234,"open":13767.3},{"amount":32.076,"high":13753.9,"vol":32076,"low":13671.3,"count":198,"id":1603861200,"close":13715.8,"tradeTurnover":439612.64,"open":13735.5},{"amount":14.756,"high":13757.0,"vol":14756,"low":13694.9,"count":122,"id":1603864800,"close":13701.3,"tradeTurnover":202602.5164,"open":13715.9},{"amount":155.534,"high":13708.7,"vol":155534,"low":13550.0,"count":635,"id":1603868400,"close":13674.2,"tradeTurnover":2117935.0928,"open":13701.2},{"amount":29.846,"high":13691.7,"vol":29846,"low":13584.0,"count":240,"id":1603872000,"close":13691.7,"tradeTurnover":407073.1398,"open":13673.0},{"amount":104.542,"high":13707.5,"vol":104542,"low":13573.5,"count":377,"id":1603875600,"close":13587.1,"tradeTurnover":1425079.9344,"open":13689.3},{"amount":73.818,"high":13618.0,"vol":73818,"low":13504.7,"count":358,"id":1603879200,"close":13552.7,"tradeTurnover":1001666.0908,"open":13584.6},{"amount":176.544,"high":13565.4,"vol":176544,"low":13330.0,"count":1004,"id":1603882800,"close":13336.4,"tradeTurnover":2369166.1492,"open":13552.6},{"amount":289.73,"high":13385.0,"vol":289730,"low":13173.9,"count":968,"id":1603886400,"close":13300.3,"tradeTurnover":3846751.7166,"open":13331.5},{"amount":139.822,"high":13340.0,"vol":139822,"low":13122.9,"count":612,"id":1603890000,"close":13129.9,"tradeTurnover":1848876.932,"open":13300.2},{"amount":367.876,"high":13168.2,"vol":367876,"low":12915.9,"count":1168,"id":1603893600,"close":13082.2,"tradeTurnover":4802516.9818,"open":13123.4},{"amount":84.044,"high":13235.2,"vol":84044,"low":13052.3,"count":375,"id":1603897200,"close":13221.2,"tradeTurnover":1106883.1282,"open":13077.1},{"amount":29.566,"high":13218.7,"vol":29566,"low":13050.0,"count":244,"id":1603900800,"close":13145.1,"tradeTurnover":388697.4104,"open":13218.7},{"amount":53.336,"high":13204.9,"vol":53336,"low":13006.6,"count":299,"id":1603904400,"close":13176.7,"tradeTurnover":700385.2784,"open":13145.1},{"amount":34.164,"high":13219.6,"vol":34164,"low":13131.0,"count":218,"id":1603908000,"close":13196.5,"tradeTurnover":450210.5778,"open":13171.0},{"amount":22.158,"high":13237.4,"vol":22158,"low":13145.0,"count":185,"id":1603911600,"close":13154.9,"tradeTurnover":292020.0438,"open":13200.0},{"amount":4.548,"high":13211.8,"vol":4548,"low":13147.4,"count":75,"id":1603915200,"close":13198.1,"tradeTurnover":59991.1118,"open":13154.5},{"amount":3.52,"high":13196.5,"vol":3520,"low":13100.2,"count":68,"id":1603918800,"close":13190.1,"tradeTurnover":46175.428,"open":13193.5},{"amount":3.122,"high":13267.5,"vol":3122,"low":13185.4,"count":72,"id":1603922400,"close":13252.0,"tradeTurnover":41304.2018,"open":13185.4},{"amount":14.768,"high":13282.3,"vol":14768,"low":13235.9,"count":86,"id":1603926000,"close":13265.9,"tradeTurnover":195689.0764,"open":13242.1},{"amount":19.968,"high":13294.7,"vol":19968,"low":13237.4,"count":98,"id":1603929600,"close":13245.1,"tradeTurnover":264834.1944,"open":13253.9},{"amount":35.282,"high":13285.3,"vol":35282,"low":13166.3,"count":192,"id":1603933200,"close":13274.2,"tradeTurnover":465789.6302,"open":13244.6},{"amount":9.748,"high":13277.7,"vol":9748,"low":13212.2,"count":119,"id":1603936800,"close":13241.1,"tradeTurnover":129016.0684,"open":13275.9},{"amount":27.3,"high":13262.5,"vol":27300,"low":13174.6,"count":199,"id":1603940400,"close":13262.5,"tradeTurnover":360589.8982,"open":13237.1},{"amount":18.904,"high":13277.7,"vol":18904,"low":13229.5,"count":109,"id":1603944000,"close":13229.5,"tradeTurnover":250713.2812,"open":13269.1},{"amount":15.822,"high":13274.8,"vol":15822,"low":13228.5,"count":134,"id":1603947600,"close":13274.8,"tradeTurnover":209781.909,"open":13228.5},{"amount":91.246,"high":13323.0,"vol":91246,"low":13242.3,"count":294,"id":1603951200,"close":13255.0,"tradeTurnover":1211271.2788,"open":13274.8},{"amount":187.622,"high":13269.3,"vol":187622,"low":13123.1,"count":506,"id":1603954800,"close":13142.4,"tradeTurnover":2478299.7074,"open":13255.0},{"amount":69.532,"high":13182.4,"vol":69532,"low":13094.1,"count":226,"id":1603958400,"close":13124.8,"tradeTurnover":914157.2418,"open":13145.9},{"amount":23.184,"high":13197.1,"vol":23184,"low":13129.5,"count":141,"id":1603962000,"close":13183.7,"tradeTurnover":305485.9524,"open":13129.5},{"amount":121.146,"high":13187.5,"vol":121146,"low":13053.1,"count":442,"id":1603965600,"close":13105.2,"tradeTurnover":1590026.4416,"open":13184.8},{"amount":47.498,"high":13171.4,"vol":47498,"low":13060.1,"count":262,"id":1603969200,"close":13060.1,"tradeTurnover":623578.149,"open":13105.1},{"amount":126.552,"high":13145.8,"vol":126552,"low":12977.9,"count":481,"id":1603972800,"close":13131.8,"tradeTurnover":1652549.311,"open":13056.9},{"amount":100.482,"high":13237.2,"vol":100482,"low":13102.0,"count":325,"id":1603976400,"close":13230.0,"tradeTurnover":1326403.7206,"open":13131.7},{"amount":253.258,"high":13476.1,"vol":253258,"low":13231.0,"count":752,"id":1603980000,"close":13420.8,"tradeTurnover":3384941.438,"open":13231.0},{"amount":64.71,"high":13458.7,"vol":64710,"low":13358.7,"count":269,"id":1603983600,"close":13420.6,"tradeTurnover":869052.3804,"open":13416.0},{"amount":120.24,"high":13594.5,"vol":120240,"low":13391.8,"count":570,"id":1603987200,"close":13535.9,"tradeTurnover":1626567.8278,"open":13421.9}],"id":"","rep":"market.BTC-USDT.kline.60min","status":"ok"} +2024-01-18 11:13:10.170 [DEBUG] [WebSocketConnectReadThread-12] [com.huobi.wss.handle.WssMarketReqHandle.dealPing:129] - 发送pong:{"pong":1705547590170} +2024-01-18 11:13:10.988 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:39] - 请求 KLine 数据用户收到的原始数据:{"id":"","rep":"market.BTC-USDT.kline.60min","ts":1705547589874,"wsid":19750305,"status":"ok","data":[{"id":1603270800,"open":12198.0,"close":12196.7,"high":12300.0,"low":11715.8,"amount":0.276,"vol":276,"trade_turnover":3315.9104,"count":39},{"id":1603274400,"open":12196.7,"close":12277.9,"high":12289.9,"low":12111.0,"amount":0.198,"vol":198,"trade_turnover":2420.7728,"count":21},{"id":1603278000,"open":12111.0,"close":12000.0,"high":12277.9,"low":12000.0,"amount":0.012,"vol":12,"trade_turnover":145.2238,"count":5},{"id":1603281600,"open":12078.0,"close":12497.4,"high":12498.0,"low":12078.0,"amount":0.084,"vol":84,"trade_turnover":1040.0504,"count":12},{"id":1603285200,"open":12495.6,"close":12373.5,"high":12495.6,"low":12282.9,"amount":1.122,"vol":1122,"trade_turnover":13905.3124,"count":112},{"id":1603288800,"open":12412.9,"close":12689.9,"high":12807.6,"low":12358.1,"amount":5.29,"vol":5290,"trade_turnover":66852.128,"count":155},{"id":1603292400,"open":12692.8,"close":12701.9,"high":12778.7,"low":12573.2,"amount":1.174,"vol":1174,"trade_turnover":14907.367,"count":113},{"id":1603296000,"open":12679.7,"close":12835.9,"high":12920.9,"low":12624.8,"amount":1.156,"vol":1156,"trade_turnover":14802.449,"count":115},{"id":1603299600,"open":12848.3,"close":12754.2,"high":12908.3,"low":12687.5,"amount":1.12,"vol":1120,"trade_turnover":14345.7324,"count":115},{"id":1603303200,"open":12743.7,"close":12740.2,"high":12849.0,"low":12668.3,"amount":1.106,"vol":1106,"trade_turnover":14105.3504,"count":114},{"id":1603306800,"open":12729.5,"close":12650.3,"high":12843.1,"low":12597.2,"amount":1.032,"vol":1032,"trade_turnover":13125.4568,"count":112},{"id":1603310400,"open":12666.8,"close":12807.0,"high":12848.4,"low":12610.2,"amount":1.154,"vol":1154,"trade_turnover":14680.638,"count":116},{"id":1603314000,"open":12866.0,"close":12938.9,"high":13005.1,"low":12748.2,"amount":1.164,"vol":1164,"trade_turnover":14976.9366,"count":114},{"id":1603317600,"open":12921.0,"close":13122.0,"high":13211.2,"low":12865.7,"amount":1.174,"vol":1174,"trade_turnover":15285.2446,"count":114},{"id":1603321200,"open":13153.2,"close":12829.8,"high":13173.2,"low":12688.6,"amount":1.172,"vol":1172,"trade_turnover":15060.9938,"count":117},{"id":1603324800,"open":12793.1,"close":12885.9,"high":12988.1,"low":12764.4,"amount":1.17,"vol":1170,"trade_turnover":15046.2046,"count":117},{"id":1603328400,"open":12860.4,"close":12757.5,"high":12972.6,"low":12757.5,"amount":1.158,"vol":1158,"trade_turnover":14882.4656,"count":118},{"id":1603332000,"open":12824.1,"close":12788.8,"high":12848.0,"low":12729.0,"amount":1.124,"vol":1124,"trade_turnover":14368.7948,"count":115},{"id":1603335600,"open":12791.7,"close":12767.2,"high":12834.4,"low":12729.0,"amount":1.194,"vol":1194,"trade_turnover":15268.9298,"count":111},{"id":1603339200,"open":12729.0,"close":12762.2,"high":12778.3,"low":12729.0,"amount":1.152,"vol":1152,"trade_turnover":14695.4876,"count":115},{"id":1603342800,"open":12763.1,"close":12813.8,"high":12842.0,"low":12730.6,"amount":1.21,"vol":1210,"trade_turnover":15440.8162,"count":119},{"id":1603346400,"open":12795.0,"close":12729.1,"high":12795.0,"low":12728.0,"amount":1.188,"vol":1188,"trade_turnover":15128.0098,"count":123},{"id":1603350000,"open":12728.6,"close":12730.6,"high":12730.6,"low":12728.3,"amount":1.266,"vol":1266,"trade_turnover":16115.1306,"count":112},{"id":1603353600,"open":12730.3,"close":12770.1,"high":12921.5,"low":12729.9,"amount":1.35,"vol":1350,"trade_turnover":17233.7326,"count":127},{"id":1603357200,"open":12824.9,"close":12780.4,"high":12872.1,"low":12760.1,"amount":0.98,"vol":980,"trade_turnover":12553.9826,"count":99},{"id":1603360800,"open":12784.9,"close":12934.2,"high":13002.7,"low":12775.6,"amount":0.266,"vol":266,"trade_turnover":3415.023,"count":30},{"id":1603364400,"open":12977.0,"close":13045.0,"high":13057.0,"low":12886.6,"amount":1.004,"vol":1004,"trade_turnover":13020.8576,"count":117},{"id":1603368000,"open":12958.5,"close":12847.9,"high":12973.4,"low":12751.6,"amount":1.134,"vol":1134,"trade_turnover":14594.2752,"count":111},{"id":1603371600,"open":12882.7,"close":12931.0,"high":13000.8,"low":12743.0,"amount":1.152,"vol":1152,"trade_turnover":14877.7314,"count":114},{"id":1603375200,"open":12890.4,"close":12917.8,"high":12995.3,"low":12783.9,"amount":1.182,"vol":1182,"trade_turnover":15224.4716,"count":115},{"id":1603378800,"open":12918.8,"close":12953.0,"high":13031.2,"low":12817.9,"amount":1.176,"vol":1176,"trade_turnover":15197.208,"count":117},{"id":1603382400,"open":12923.1,"close":13055.6,"high":13100.2,"low":12865.6,"amount":1.146,"vol":1146,"trade_turnover":14851.9604,"count":119},{"id":1603386000,"open":12967.6,"close":13082.7,"high":13105.7,"low":12835.5,"amount":1.534,"vol":1534,"trade_turnover":19927.8288,"count":124},{"id":1603389600,"open":13020.4,"close":13016.4,"high":13115.0,"low":12938.7,"amount":1.268,"vol":1268,"trade_turnover":16505.4738,"count":117},{"id":1603393200,"open":13028.3,"close":12970.6,"high":13171.2,"low":12961.8,"amount":1.13,"vol":1130,"trade_turnover":14762.952,"count":112},{"id":1603396800,"open":13016.7,"close":13089.3,"high":13216.1,"low":12998.5,"amount":1.206,"vol":1206,"trade_turnover":15807.1226,"count":117},{"id":1603400400,"open":13136.0,"close":13092.0,"high":13203.7,"low":12932.9,"amount":1.332,"vol":1332,"trade_turnover":17423.4422,"count":114},{"id":1603404000,"open":13119.4,"close":13055.9,"high":13250.5,"low":12984.7,"amount":1.21,"vol":1210,"trade_turnover":15876.0632,"count":114},{"id":1603407600,"open":13059.4,"close":12890.4,"high":13126.5,"low":12857.2,"amount":1.286,"vol":1286,"trade_turnover":16688.422,"count":116},{"id":1603411200,"open":12929.7,"close":12892.2,"high":12994.0,"low":12751.6,"amount":1.502,"vol":1502,"trade_turnover":19331.1596,"count":131},{"id":1603414800,"open":12921.7,"close":12898.3,"high":13003.2,"low":12786.0,"amount":1.386,"vol":1386,"trade_turnover":17904.8902,"count":121},{"id":1603418400,"open":12951.6,"close":12975.1,"high":13054.0,"low":12800.7,"amount":1.416,"vol":1416,"trade_turnover":18306.6204,"count":122},{"id":1603422000,"open":12967.3,"close":12947.0,"high":13030.7,"low":12875.0,"amount":1.19,"vol":1190,"trade_turnover":15409.7984,"count":118},{"id":1603425600,"open":12925.2,"close":12852.0,"high":13047.3,"low":12832.8,"amount":1.022,"vol":1022,"trade_turnover":13214.4388,"count":127},{"id":1603429200,"open":12859.0,"close":12931.1,"high":12991.7,"low":12841.2,"amount":0.478,"vol":478,"trade_turnover":6180.2486,"count":118},{"id":1603432800,"open":12935.9,"close":12939.6,"high":13014.1,"low":12871.9,"amount":0.522,"vol":522,"trade_turnover":6759.0324,"count":132},{"id":1603436400,"open":12923.1,"close":12925.4,"high":12998.9,"low":12917.1,"amount":0.476,"vol":476,"trade_turnover":6163.3118,"count":118},{"id":1603440000,"open":12942.2,"close":12962.6,"high":13014.0,"low":12916.1,"amount":0.508,"vol":508,"trade_turnover":6585.3656,"count":122},{"id":1603443600,"open":12970.5,"close":12926.4,"high":13012.5,"low":12909.9,"amount":0.564,"vol":564,"trade_turnover":7308.8828,"count":124},{"id":1603447200,"open":13001.2,"close":13007.7,"high":13059.5,"low":12925.7,"amount":0.536,"vol":536,"trade_turnover":6957.8796,"count":124},{"id":1603450800,"open":13025.4,"close":12970.6,"high":13078.4,"low":12906.5,"amount":0.486,"vol":486,"trade_turnover":6326.1434,"count":122},{"id":1603454400,"open":12963.9,"close":12935.4,"high":13025.0,"low":12850.8,"amount":0.494,"vol":494,"trade_turnover":6396.0984,"count":117},{"id":1603458000,"open":12913.3,"close":12951.7,"high":13043.3,"low":12911.0,"amount":0.466,"vol":466,"trade_turnover":6049.1412,"count":117},{"id":1603461600,"open":12999.6,"close":12858.8,"high":13006.4,"low":12840.4,"amount":0.46,"vol":460,"trade_turnover":5941.815,"count":116},{"id":1603465200,"open":12885.7,"close":12881.9,"high":12932.9,"low":12826.5,"amount":0.492,"vol":492,"trade_turnover":6340.214,"count":117},{"id":1603468800,"open":12854.4,"close":12784.1,"high":12933.5,"low":12744.4,"amount":0.484,"vol":484,"trade_turnover":6205.4138,"count":123},{"id":1603472400,"open":12832.3,"close":12847.7,"high":12893.1,"low":12730.1,"amount":0.562,"vol":562,"trade_turnover":7218.9184,"count":152},{"id":1603476000,"open":12874.1,"close":12915.7,"high":12939.3,"low":12751.4,"amount":0.53,"vol":530,"trade_turnover":6825.7004,"count":128},{"id":1603479600,"open":12867.9,"close":12972.9,"high":12972.9,"low":12786.6,"amount":0.444,"vol":444,"trade_turnover":5727.7452,"count":117},{"id":1603483200,"open":12956.7,"close":12991.6,"high":13002.2,"low":12842.9,"amount":0.492,"vol":492,"trade_turnover":6375.1566,"count":116},{"id":1603486800,"open":13004.3,"close":12943.5,"high":13004.3,"low":12936.6,"amount":0.5,"vol":500,"trade_turnover":6485.468,"count":125},{"id":1603490400,"open":12923.6,"close":12989.2,"high":13010.3,"low":12884.7,"amount":0.492,"vol":492,"trade_turnover":6376.1492,"count":120},{"id":1603494000,"open":12974.9,"close":12884.6,"high":13024.4,"low":12884.6,"amount":0.51,"vol":510,"trade_turnover":6622.3406,"count":121},{"id":1603497600,"open":12973.7,"close":12953.9,"high":13018.3,"low":12811.1,"amount":0.488,"vol":488,"trade_turnover":6317.7938,"count":120},{"id":1603501200,"open":12927.5,"close":12934.2,"high":13018.1,"low":12872.8,"amount":0.482,"vol":482,"trade_turnover":6242.4178,"count":117},{"id":1603504800,"open":12971.9,"close":12989.1,"high":13003.9,"low":12903.3,"amount":0.484,"vol":484,"trade_turnover":6278.1756,"count":117},{"id":1603508400,"open":13000.1,"close":12975.9,"high":13013.4,"low":12938.3,"amount":0.474,"vol":474,"trade_turnover":6157.7096,"count":122},{"id":1603512000,"open":12989.7,"close":12963.3,"high":13009.4,"low":12905.5,"amount":0.526,"vol":526,"trade_turnover":6831.5658,"count":124},{"id":1603515600,"open":12910.5,"close":12989.7,"high":13041.8,"low":12875.3,"amount":0.522,"vol":522,"trade_turnover":6768.8994,"count":127},{"id":1603519200,"open":12994.7,"close":13003.6,"high":13058.1,"low":12908.8,"amount":0.49,"vol":490,"trade_turnover":6370.5714,"count":120},{"id":1603522800,"open":13011.9,"close":13004.2,"high":13037.8,"low":12981.7,"amount":0.478,"vol":478,"trade_turnover":6218.9722,"count":120},{"id":1603526400,"open":13003.0,"close":12998.2,"high":13030.6,"low":12899.4,"amount":0.52,"vol":520,"trade_turnover":6754.958,"count":124},{"id":1603530000,"open":12998.2,"close":12990.6,"high":13020.3,"low":12893.6,"amount":0.454,"vol":454,"trade_turnover":5891.0574,"count":115},{"id":1603533600,"open":12996.4,"close":13030.1,"high":13059.1,"low":12913.2,"amount":0.502,"vol":502,"trade_turnover":6525.9004,"count":124},{"id":1603537200,"open":12988.4,"close":13033.2,"high":13068.3,"low":12940.2,"amount":0.468,"vol":468,"trade_turnover":6091.0376,"count":119},{"id":1603540800,"open":13035.3,"close":13006.5,"high":13071.8,"low":12978.9,"amount":0.468,"vol":468,"trade_turnover":6102.5902,"count":123},{"id":1603544400,"open":13038.8,"close":12985.9,"high":13066.7,"low":12928.1,"amount":0.534,"vol":534,"trade_turnover":6950.4268,"count":123},{"id":1603548000,"open":12986.3,"close":13042.0,"high":13100.1,"low":12960.5,"amount":0.47,"vol":470,"trade_turnover":6124.2178,"count":100},{"id":1603551600,"open":13038.4,"close":13102.2,"high":13196.5,"low":13038.4,"amount":0.456,"vol":456,"trade_turnover":5989.6362,"count":120},{"id":1603555200,"open":13136.8,"close":13052.7,"high":13176.6,"low":12984.6,"amount":0.458,"vol":458,"trade_turnover":5976.331,"count":121},{"id":1603558800,"open":13006.2,"close":13177.8,"high":13177.8,"low":13003.2,"amount":0.452,"vol":452,"trade_turnover":5911.7058,"count":118},{"id":1603562400,"open":13127.7,"close":13080.8,"high":13170.7,"low":13023.0,"amount":0.468,"vol":468,"trade_turnover":6122.375,"count":119},{"id":1603566000,"open":13040.7,"close":13148.4,"high":13179.3,"low":13014.2,"amount":0.468,"vol":468,"trade_turnover":6126.4278,"count":120},{"id":1603569600,"open":13073.5,"close":13090.1,"high":13179.6,"low":12992.5,"amount":0.47,"vol":470,"trade_turnover":6151.4758,"count":119},{"id":1603573200,"open":13035.4,"close":12993.9,"high":13148.7,"low":12980.7,"amount":0.458,"vol":458,"trade_turnover":5981.071,"count":117},{"id":1603576800,"open":13040.7,"close":13041.1,"high":13112.1,"low":12975.6,"amount":0.478,"vol":478,"trade_turnover":6225.4216,"count":118},{"id":1603580400,"open":13012.6,"close":13184.3,"high":13184.3,"low":13009.3,"amount":0.472,"vol":472,"trade_turnover":6173.4244,"count":118},{"id":1603584000,"open":13080.8,"close":13154.3,"high":13170.4,"low":13007.7,"amount":0.46,"vol":460,"trade_turnover":6024.09,"count":115},{"id":1603587600,"open":13092.0,"close":13196.1,"high":13196.8,"low":13024.0,"amount":0.398,"vol":398,"trade_turnover":5217.5364,"count":102},{"id":1603591200,"open":13124.7,"close":13082.4,"high":13175.1,"low":13035.0,"amount":0.476,"vol":476,"trade_turnover":6228.6596,"count":120},{"id":1603594800,"open":13049.1,"close":13259.0,"high":13383.8,"low":13049.1,"amount":0.578,"vol":578,"trade_turnover":7629.3886,"count":137},{"id":1603598400,"open":13277.0,"close":13243.4,"high":13369.0,"low":13216.0,"amount":0.47,"vol":470,"trade_turnover":6247.955,"count":122},{"id":1603602000,"open":13285.3,"close":13017.3,"high":13353.3,"low":13010.1,"amount":0.61,"vol":610,"trade_turnover":8048.8598,"count":134},{"id":1603605600,"open":13022.5,"close":13060.3,"high":13105.7,"low":13018.2,"amount":0.486,"vol":486,"trade_turnover":6344.1474,"count":118},{"id":1603609200,"open":13048.5,"close":13078.1,"high":13112.1,"low":13022.0,"amount":0.464,"vol":464,"trade_turnover":6061.5416,"count":120},{"id":1603612800,"open":13077.2,"close":13046.0,"high":13091.0,"low":13017.2,"amount":0.464,"vol":464,"trade_turnover":6055.3734,"count":120},{"id":1603616400,"open":13065.1,"close":13040.8,"high":13084.0,"low":13014.2,"amount":0.478,"vol":478,"trade_turnover":6235.7882,"count":117},{"id":1603620000,"open":13047.1,"close":13028.5,"high":13064.2,"low":13010.2,"amount":0.478,"vol":478,"trade_turnover":6232.2428,"count":125},{"id":1603623600,"open":13061.5,"close":12897.6,"high":13061.5,"low":12852.9,"amount":0.534,"vol":534,"trade_turnover":6918.1226,"count":123},{"id":1603627200,"open":12908.3,"close":12964.3,"high":13069.7,"low":12893.2,"amount":0.444,"vol":444,"trade_turnover":5755.8712,"count":117},{"id":1603630800,"open":13001.3,"close":12949.3,"high":13071.9,"low":12891.8,"amount":0.498,"vol":498,"trade_turnover":6465.078,"count":119},{"id":1603634400,"open":12975.8,"close":12946.8,"high":13077.7,"low":12900.0,"amount":0.468,"vol":468,"trade_turnover":6075.4554,"count":116},{"id":1603638000,"open":12975.2,"close":12883.3,"high":13069.1,"low":12883.3,"amount":0.47,"vol":470,"trade_turnover":6097.1072,"count":119},{"id":1603641600,"open":12916.2,"close":12978.7,"high":13067.9,"low":12877.5,"amount":0.482,"vol":482,"trade_turnover":6256.4472,"count":118},{"id":1603645200,"open":13008.0,"close":13004.4,"high":13087.5,"low":12922.7,"amount":0.47,"vol":470,"trade_turnover":6108.3892,"count":117},{"id":1603648800,"open":12972.8,"close":12957.2,"high":13067.6,"low":12893.6,"amount":0.468,"vol":468,"trade_turnover":6079.1484,"count":118},{"id":1603652400,"open":12996.5,"close":13021.8,"high":13066.9,"low":12916.6,"amount":0.442,"vol":442,"trade_turnover":5746.5548,"count":118},{"id":1603656000,"open":12992.9,"close":12985.4,"high":13081.5,"low":12944.9,"amount":0.508,"vol":508,"trade_turnover":6616.9872,"count":120},{"id":1603659600,"open":12999.9,"close":13011.2,"high":13068.6,"low":12921.4,"amount":0.508,"vol":508,"trade_turnover":6614.816,"count":122},{"id":1603663200,"open":12979.6,"close":12959.4,"high":13073.8,"low":12911.9,"amount":0.486,"vol":486,"trade_turnover":6320.907,"count":121},{"id":1603666800,"open":12963.4,"close":13032.1,"high":13085.2,"low":12927.8,"amount":0.452,"vol":452,"trade_turnover":5878.6442,"count":113},{"id":1603670400,"open":12964.2,"close":13001.0,"high":13076.7,"low":12918.3,"amount":0.482,"vol":482,"trade_turnover":6263.698,"count":121},{"id":1603674000,"open":13040.0,"close":13053.7,"high":13096.4,"low":12991.2,"amount":0.478,"vol":478,"trade_turnover":6232.2328,"count":124},{"id":1603677600,"open":13060.6,"close":13064.4,"high":13185.7,"low":12985.1,"amount":0.488,"vol":488,"trade_turnover":6387.534,"count":121},{"id":1603681200,"open":13032.3,"close":13092.8,"high":13187.2,"low":12984.1,"amount":0.486,"vol":486,"trade_turnover":6369.0272,"count":135},{"id":1603684800,"open":13092.0,"close":13132.6,"high":13181.6,"low":12962.3,"amount":0.51,"vol":510,"trade_turnover":6679.829,"count":131},{"id":1603688400,"open":13129.2,"close":13092.1,"high":13205.3,"low":13025.3,"amount":0.506,"vol":506,"trade_turnover":6641.2128,"count":126},{"id":1603692000,"open":13121.8,"close":13071.4,"high":13188.1,"low":12989.8,"amount":1.616,"vol":1616,"trade_turnover":21170.8224,"count":141},{"id":1603695600,"open":13061.0,"close":13038.7,"high":13100.0,"low":12965.2,"amount":3.746,"vol":3746,"trade_turnover":48924.8902,"count":110},{"id":1603699200,"open":13030.9,"close":13039.3,"high":13102.0,"low":12852.8,"amount":8.966,"vol":8966,"trade_turnover":116525.5534,"count":173},{"id":1603702800,"open":13047.1,"close":13075.9,"high":13088.4,"low":13039.8,"amount":4.48,"vol":4480,"trade_turnover":58521.1714,"count":124},{"id":1603706400,"open":13072.1,"close":13100.0,"high":13100.0,"low":13060.2,"amount":4.272,"vol":4272,"trade_turnover":55895.9778,"count":130},{"id":1603710000,"open":13100.0,"close":13138.4,"high":13159.0,"low":13100.0,"amount":29.798,"vol":29798,"trade_turnover":391138.024,"count":230},{"id":1603713600,"open":13138.8,"close":13149.8,"high":13200.0,"low":13100.0,"amount":5.154,"vol":5154,"trade_turnover":67694.652,"count":188},{"id":1603717200,"open":13150.0,"close":13205.8,"high":13351.5,"low":13133.1,"amount":35.608,"vol":35608,"trade_turnover":472780.3394,"count":328},{"id":1603720800,"open":13203.0,"close":13166.1,"high":13280.0,"low":13144.1,"amount":31.748,"vol":31748,"trade_turnover":418744.5588,"count":235},{"id":1603724400,"open":13159.0,"close":12978.0,"high":13165.2,"low":12903.8,"amount":36.53,"vol":36530,"trade_turnover":476940.3296,"count":384},{"id":1603728000,"open":12965.0,"close":12869.6,"high":13069.8,"low":12850.5,"amount":35.018,"vol":35018,"trade_turnover":453288.918,"count":323},{"id":1603731600,"open":12879.2,"close":12873.8,"high":12941.5,"low":12583.9,"amount":92.628,"vol":92628,"trade_turnover":1185973.467,"count":560},{"id":1603735200,"open":12856.2,"close":12946.8,"high":12954.5,"low":12820.4,"amount":4.302,"vol":4302,"trade_turnover":55481.0054,"count":128},{"id":1603738800,"open":12945.6,"close":12953.4,"high":12953.5,"low":12914.1,"amount":13.83,"vol":13830,"trade_turnover":179112.1598,"count":118},{"id":1603742400,"open":12953.5,"close":12983.4,"high":13007.5,"low":12953.5,"amount":17.172,"vol":17172,"trade_turnover":223230.2122,"count":132},{"id":1603746000,"open":12983.1,"close":12993.8,"high":13007.5,"low":12982.7,"amount":3.212,"vol":3212,"trade_turnover":41767.8906,"count":59},{"id":1603749600,"open":13002.1,"close":13007.5,"high":13007.5,"low":12974.0,"amount":1.504,"vol":1504,"trade_turnover":19543.3568,"count":74},{"id":1603753200,"open":13007.5,"close":13033.7,"high":13061.2,"low":13007.5,"amount":3.454,"vol":3454,"trade_turnover":45001.601,"count":101},{"id":1603756800,"open":13029.2,"close":13067.1,"high":13105.0,"low":13028.3,"amount":8.784,"vol":8784,"trade_turnover":114871.8246,"count":98},{"id":1603760400,"open":13074.3,"close":13061.7,"high":13074.4,"low":13051.5,"amount":11.592,"vol":11592,"trade_turnover":151386.9038,"count":66},{"id":1603764000,"open":13061.7,"close":13049.7,"high":13097.6,"low":13040.1,"amount":19.298,"vol":19298,"trade_turnover":252061.019,"count":109},{"id":1603767600,"open":13057.6,"close":13070.4,"high":13080.0,"low":13057.1,"amount":22.992,"vol":22992,"trade_turnover":300453.9788,"count":69},{"id":1603771200,"open":13080.0,"close":13103.3,"high":13175.0,"low":13079.6,"amount":14.396,"vol":14396,"trade_turnover":188461.9156,"count":59},{"id":1603774800,"open":13121.3,"close":13073.6,"high":13121.3,"low":13069.7,"amount":5.058,"vol":5058,"trade_turnover":66201.3552,"count":44},{"id":1603778400,"open":13074.9,"close":13103.4,"high":13149.0,"low":13069.6,"amount":9.106,"vol":9106,"trade_turnover":119104.8906,"count":107},{"id":1603782000,"open":13103.3,"close":13130.0,"high":13169.8,"low":12992.4,"amount":73.95,"vol":73950,"trade_turnover":968195.155,"count":305},{"id":1603785600,"open":13135.1,"close":13123.8,"high":13148.4,"low":13044.0,"amount":18.732,"vol":18732,"trade_turnover":245533.5448,"count":135},{"id":1603789200,"open":13115.5,"close":13131.7,"high":13131.8,"low":13075.7,"amount":13.756,"vol":13756,"trade_turnover":180253.7708,"count":102},{"id":1603792800,"open":13134.8,"close":13216.9,"high":13252.0,"low":13063.4,"amount":154.108,"vol":154108,"trade_turnover":2029983.656,"count":525},{"id":1603796400,"open":13218.8,"close":13395.8,"high":13590.1,"low":13213.5,"amount":170.09,"vol":170090,"trade_turnover":2276279.742,"count":591},{"id":1603800000,"open":13395.9,"close":13376.9,"high":13414.0,"low":13331.7,"amount":48.928,"vol":48928,"trade_turnover":654585.9108,"count":216},{"id":1603803600,"open":13376.5,"close":13384.3,"high":13490.9,"low":13329.8,"amount":63.294,"vol":63294,"trade_turnover":848130.9212,"count":316},{"id":1603807200,"open":13392.6,"close":13398.2,"high":13415.8,"low":13344.8,"amount":12.892,"vol":12892,"trade_turnover":172618.6864,"count":124},{"id":1603810800,"open":13398.2,"close":13598.5,"high":13626.7,"low":13398.2,"amount":93.22,"vol":93220,"trade_turnover":1262695.5466,"count":476},{"id":1603814400,"open":13595.8,"close":13639.9,"high":13639.9,"low":13520.2,"amount":85.45,"vol":85450,"trade_turnover":1161481.4136,"count":435},{"id":1603818000,"open":13640.0,"close":13688.1,"high":13826.7,"low":13589.0,"amount":191.812,"vol":191812,"trade_turnover":2628428.3788,"count":711},{"id":1603821600,"open":13685.0,"close":13630.1,"high":13745.0,"low":13528.2,"amount":65.434,"vol":65434,"trade_turnover":891541.8394,"count":410},{"id":1603825200,"open":13629.4,"close":13637.1,"high":13659.8,"low":13595.4,"amount":5.788,"vol":5788,"trade_turnover":78836.2578,"count":65},{"id":1603828800,"open":13644.4,"close":13616.6,"high":13805.1,"low":13582.6,"amount":163.104,"vol":163104,"trade_turnover":2234040.3544,"count":537},{"id":1603832400,"open":13609.8,"close":13705.5,"high":13753.5,"low":13609.8,"amount":9.884,"vol":9884,"trade_turnover":135406.4752,"count":101},{"id":1603836000,"open":13705.4,"close":13739.9,"high":13739.9,"low":13658.2,"amount":7.436,"vol":7436,"trade_turnover":101840.3508,"count":100},{"id":1603839600,"open":13739.9,"close":13649.6,"high":13794.6,"low":13582.6,"amount":17.086,"vol":17086,"trade_turnover":233971.8448,"count":234},{"id":1603843200,"open":13645.9,"close":13701.7,"high":13745.2,"low":13618.8,"amount":24.108,"vol":24108,"trade_turnover":330206.5694,"count":177},{"id":1603846800,"open":13702.1,"close":13702.6,"high":13725.6,"low":13647.9,"amount":15.892,"vol":15892,"trade_turnover":217816.7008,"count":151},{"id":1603850400,"open":13701.7,"close":13811.6,"high":13832.2,"low":13680.2,"amount":46.548,"vol":46548,"trade_turnover":640636.0352,"count":274},{"id":1603854000,"open":13818.5,"close":13777.0,"high":13820.3,"low":13717.5,"amount":67.896,"vol":67896,"trade_turnover":935838.2238,"count":320},{"id":1603857600,"open":13767.3,"close":13735.7,"high":13807.2,"low":13710.0,"amount":33.156,"vol":33156,"trade_turnover":455941.234,"count":210},{"id":1603861200,"open":13735.5,"close":13715.8,"high":13753.9,"low":13671.3,"amount":32.076,"vol":32076,"trade_turnover":439612.64,"count":198},{"id":1603864800,"open":13715.9,"close":13701.3,"high":13757.0,"low":13694.9,"amount":14.756,"vol":14756,"trade_turnover":202602.5164,"count":122},{"id":1603868400,"open":13701.2,"close":13674.2,"high":13708.7,"low":13550.0,"amount":155.534,"vol":155534,"trade_turnover":2117935.0928,"count":635},{"id":1603872000,"open":13673.0,"close":13691.7,"high":13691.7,"low":13584.0,"amount":29.846,"vol":29846,"trade_turnover":407073.1398,"count":240},{"id":1603875600,"open":13689.3,"close":13587.1,"high":13707.5,"low":13573.5,"amount":104.542,"vol":104542,"trade_turnover":1425079.9344,"count":377},{"id":1603879200,"open":13584.6,"close":13552.7,"high":13618.0,"low":13504.7,"amount":73.818,"vol":73818,"trade_turnover":1001666.0908,"count":358},{"id":1603882800,"open":13552.6,"close":13336.4,"high":13565.4,"low":13330.0,"amount":176.544,"vol":176544,"trade_turnover":2369166.1492,"count":1004},{"id":1603886400,"open":13331.5,"close":13300.3,"high":13385.0,"low":13173.9,"amount":289.73,"vol":289730,"trade_turnover":3846751.7166,"count":968},{"id":1603890000,"open":13300.2,"close":13129.9,"high":13340.0,"low":13122.9,"amount":139.822,"vol":139822,"trade_turnover":1848876.932,"count":612},{"id":1603893600,"open":13123.4,"close":13082.2,"high":13168.2,"low":12915.9,"amount":367.876,"vol":367876,"trade_turnover":4802516.9818,"count":1168},{"id":1603897200,"open":13077.1,"close":13221.2,"high":13235.2,"low":13052.3,"amount":84.044,"vol":84044,"trade_turnover":1106883.1282,"count":375},{"id":1603900800,"open":13218.7,"close":13145.1,"high":13218.7,"low":13050.0,"amount":29.566,"vol":29566,"trade_turnover":388697.4104,"count":244},{"id":1603904400,"open":13145.1,"close":13176.7,"high":13204.9,"low":13006.6,"amount":53.336,"vol":53336,"trade_turnover":700385.2784,"count":299},{"id":1603908000,"open":13171.0,"close":13196.5,"high":13219.6,"low":13131.0,"amount":34.164,"vol":34164,"trade_turnover":450210.5778,"count":218},{"id":1603911600,"open":13200.0,"close":13154.9,"high":13237.4,"low":13145.0,"amount":22.158,"vol":22158,"trade_turnover":292020.0438,"count":185},{"id":1603915200,"open":13154.5,"close":13198.1,"high":13211.8,"low":13147.4,"amount":4.548,"vol":4548,"trade_turnover":59991.1118,"count":75},{"id":1603918800,"open":13193.5,"close":13190.1,"high":13196.5,"low":13100.2,"amount":3.52,"vol":3520,"trade_turnover":46175.428,"count":68},{"id":1603922400,"open":13185.4,"close":13252.0,"high":13267.5,"low":13185.4,"amount":3.122,"vol":3122,"trade_turnover":41304.2018,"count":72},{"id":1603926000,"open":13242.1,"close":13265.9,"high":13282.3,"low":13235.9,"amount":14.768,"vol":14768,"trade_turnover":195689.0764,"count":86},{"id":1603929600,"open":13253.9,"close":13245.1,"high":13294.7,"low":13237.4,"amount":19.968,"vol":19968,"trade_turnover":264834.1944,"count":98},{"id":1603933200,"open":13244.6,"close":13274.2,"high":13285.3,"low":13166.3,"amount":35.282,"vol":35282,"trade_turnover":465789.6302,"count":192},{"id":1603936800,"open":13275.9,"close":13241.1,"high":13277.7,"low":13212.2,"amount":9.748,"vol":9748,"trade_turnover":129016.0684,"count":119},{"id":1603940400,"open":13237.1,"close":13262.5,"high":13262.5,"low":13174.6,"amount":27.3,"vol":27300,"trade_turnover":360589.8982,"count":199},{"id":1603944000,"open":13269.1,"close":13229.5,"high":13277.7,"low":13229.5,"amount":18.904,"vol":18904,"trade_turnover":250713.2812,"count":109},{"id":1603947600,"open":13228.5,"close":13274.8,"high":13274.8,"low":13228.5,"amount":15.822,"vol":15822,"trade_turnover":209781.909,"count":134},{"id":1603951200,"open":13274.8,"close":13255.0,"high":13323.0,"low":13242.3,"amount":91.246,"vol":91246,"trade_turnover":1211271.2788,"count":294},{"id":1603954800,"open":13255.0,"close":13142.4,"high":13269.3,"low":13123.1,"amount":187.622,"vol":187622,"trade_turnover":2478299.7074,"count":506},{"id":1603958400,"open":13145.9,"close":13124.8,"high":13182.4,"low":13094.1,"amount":69.532,"vol":69532,"trade_turnover":914157.2418,"count":226},{"id":1603962000,"open":13129.5,"close":13183.7,"high":13197.1,"low":13129.5,"amount":23.184,"vol":23184,"trade_turnover":305485.9524,"count":141},{"id":1603965600,"open":13184.8,"close":13105.2,"high":13187.5,"low":13053.1,"amount":121.146,"vol":121146,"trade_turnover":1590026.4416,"count":442},{"id":1603969200,"open":13105.1,"close":13060.1,"high":13171.4,"low":13060.1,"amount":47.498,"vol":47498,"trade_turnover":623578.149,"count":262},{"id":1603972800,"open":13056.9,"close":13131.8,"high":13145.8,"low":12977.9,"amount":126.552,"vol":126552,"trade_turnover":1652549.311,"count":481},{"id":1603976400,"open":13131.7,"close":13230.0,"high":13237.2,"low":13102.0,"amount":100.482,"vol":100482,"trade_turnover":1326403.7206,"count":325},{"id":1603980000,"open":13231.0,"close":13420.8,"high":13476.1,"low":13231.0,"amount":253.258,"vol":253258,"trade_turnover":3384941.438,"count":752},{"id":1603983600,"open":13416.0,"close":13420.6,"high":13458.7,"low":13358.7,"amount":64.71,"vol":64710,"trade_turnover":869052.3804,"count":269},{"id":1603987200,"open":13421.9,"close":13535.9,"high":13594.5,"low":13391.8,"amount":120.24,"vol":120240,"trade_turnover":1626567.8278,"count":570}]} +2024-01-18 11:13:10.990 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:41] - 请求 KLine 数据解析之后的数据为:{"wsid":19750305,"data":[{"amount":0.276,"high":12300.0,"vol":276,"low":11715.8,"count":39,"id":1603270800,"close":12196.7,"tradeTurnover":3315.9104,"open":12198.0},{"amount":0.198,"high":12289.9,"vol":198,"low":12111.0,"count":21,"id":1603274400,"close":12277.9,"tradeTurnover":2420.7728,"open":12196.7},{"amount":0.012,"high":12277.9,"vol":12,"low":12000.0,"count":5,"id":1603278000,"close":12000.0,"tradeTurnover":145.2238,"open":12111.0},{"amount":0.084,"high":12498.0,"vol":84,"low":12078.0,"count":12,"id":1603281600,"close":12497.4,"tradeTurnover":1040.0504,"open":12078.0},{"amount":1.122,"high":12495.6,"vol":1122,"low":12282.9,"count":112,"id":1603285200,"close":12373.5,"tradeTurnover":13905.3124,"open":12495.6},{"amount":5.29,"high":12807.6,"vol":5290,"low":12358.1,"count":155,"id":1603288800,"close":12689.9,"tradeTurnover":66852.128,"open":12412.9},{"amount":1.174,"high":12778.7,"vol":1174,"low":12573.2,"count":113,"id":1603292400,"close":12701.9,"tradeTurnover":14907.367,"open":12692.8},{"amount":1.156,"high":12920.9,"vol":1156,"low":12624.8,"count":115,"id":1603296000,"close":12835.9,"tradeTurnover":14802.449,"open":12679.7},{"amount":1.12,"high":12908.3,"vol":1120,"low":12687.5,"count":115,"id":1603299600,"close":12754.2,"tradeTurnover":14345.7324,"open":12848.3},{"amount":1.106,"high":12849.0,"vol":1106,"low":12668.3,"count":114,"id":1603303200,"close":12740.2,"tradeTurnover":14105.3504,"open":12743.7},{"amount":1.032,"high":12843.1,"vol":1032,"low":12597.2,"count":112,"id":1603306800,"close":12650.3,"tradeTurnover":13125.4568,"open":12729.5},{"amount":1.154,"high":12848.4,"vol":1154,"low":12610.2,"count":116,"id":1603310400,"close":12807.0,"tradeTurnover":14680.638,"open":12666.8},{"amount":1.164,"high":13005.1,"vol":1164,"low":12748.2,"count":114,"id":1603314000,"close":12938.9,"tradeTurnover":14976.9366,"open":12866.0},{"amount":1.174,"high":13211.2,"vol":1174,"low":12865.7,"count":114,"id":1603317600,"close":13122.0,"tradeTurnover":15285.2446,"open":12921.0},{"amount":1.172,"high":13173.2,"vol":1172,"low":12688.6,"count":117,"id":1603321200,"close":12829.8,"tradeTurnover":15060.9938,"open":13153.2},{"amount":1.17,"high":12988.1,"vol":1170,"low":12764.4,"count":117,"id":1603324800,"close":12885.9,"tradeTurnover":15046.2046,"open":12793.1},{"amount":1.158,"high":12972.6,"vol":1158,"low":12757.5,"count":118,"id":1603328400,"close":12757.5,"tradeTurnover":14882.4656,"open":12860.4},{"amount":1.124,"high":12848.0,"vol":1124,"low":12729.0,"count":115,"id":1603332000,"close":12788.8,"tradeTurnover":14368.7948,"open":12824.1},{"amount":1.194,"high":12834.4,"vol":1194,"low":12729.0,"count":111,"id":1603335600,"close":12767.2,"tradeTurnover":15268.9298,"open":12791.7},{"amount":1.152,"high":12778.3,"vol":1152,"low":12729.0,"count":115,"id":1603339200,"close":12762.2,"tradeTurnover":14695.4876,"open":12729.0},{"amount":1.21,"high":12842.0,"vol":1210,"low":12730.6,"count":119,"id":1603342800,"close":12813.8,"tradeTurnover":15440.8162,"open":12763.1},{"amount":1.188,"high":12795.0,"vol":1188,"low":12728.0,"count":123,"id":1603346400,"close":12729.1,"tradeTurnover":15128.0098,"open":12795.0},{"amount":1.266,"high":12730.6,"vol":1266,"low":12728.3,"count":112,"id":1603350000,"close":12730.6,"tradeTurnover":16115.1306,"open":12728.6},{"amount":1.35,"high":12921.5,"vol":1350,"low":12729.9,"count":127,"id":1603353600,"close":12770.1,"tradeTurnover":17233.7326,"open":12730.3},{"amount":0.98,"high":12872.1,"vol":980,"low":12760.1,"count":99,"id":1603357200,"close":12780.4,"tradeTurnover":12553.9826,"open":12824.9},{"amount":0.266,"high":13002.7,"vol":266,"low":12775.6,"count":30,"id":1603360800,"close":12934.2,"tradeTurnover":3415.023,"open":12784.9},{"amount":1.004,"high":13057.0,"vol":1004,"low":12886.6,"count":117,"id":1603364400,"close":13045.0,"tradeTurnover":13020.8576,"open":12977.0},{"amount":1.134,"high":12973.4,"vol":1134,"low":12751.6,"count":111,"id":1603368000,"close":12847.9,"tradeTurnover":14594.2752,"open":12958.5},{"amount":1.152,"high":13000.8,"vol":1152,"low":12743.0,"count":114,"id":1603371600,"close":12931.0,"tradeTurnover":14877.7314,"open":12882.7},{"amount":1.182,"high":12995.3,"vol":1182,"low":12783.9,"count":115,"id":1603375200,"close":12917.8,"tradeTurnover":15224.4716,"open":12890.4},{"amount":1.176,"high":13031.2,"vol":1176,"low":12817.9,"count":117,"id":1603378800,"close":12953.0,"tradeTurnover":15197.208,"open":12918.8},{"amount":1.146,"high":13100.2,"vol":1146,"low":12865.6,"count":119,"id":1603382400,"close":13055.6,"tradeTurnover":14851.9604,"open":12923.1},{"amount":1.534,"high":13105.7,"vol":1534,"low":12835.5,"count":124,"id":1603386000,"close":13082.7,"tradeTurnover":19927.8288,"open":12967.6},{"amount":1.268,"high":13115.0,"vol":1268,"low":12938.7,"count":117,"id":1603389600,"close":13016.4,"tradeTurnover":16505.4738,"open":13020.4},{"amount":1.13,"high":13171.2,"vol":1130,"low":12961.8,"count":112,"id":1603393200,"close":12970.6,"tradeTurnover":14762.952,"open":13028.3},{"amount":1.206,"high":13216.1,"vol":1206,"low":12998.5,"count":117,"id":1603396800,"close":13089.3,"tradeTurnover":15807.1226,"open":13016.7},{"amount":1.332,"high":13203.7,"vol":1332,"low":12932.9,"count":114,"id":1603400400,"close":13092.0,"tradeTurnover":17423.4422,"open":13136.0},{"amount":1.21,"high":13250.5,"vol":1210,"low":12984.7,"count":114,"id":1603404000,"close":13055.9,"tradeTurnover":15876.0632,"open":13119.4},{"amount":1.286,"high":13126.5,"vol":1286,"low":12857.2,"count":116,"id":1603407600,"close":12890.4,"tradeTurnover":16688.422,"open":13059.4},{"amount":1.502,"high":12994.0,"vol":1502,"low":12751.6,"count":131,"id":1603411200,"close":12892.2,"tradeTurnover":19331.1596,"open":12929.7},{"amount":1.386,"high":13003.2,"vol":1386,"low":12786.0,"count":121,"id":1603414800,"close":12898.3,"tradeTurnover":17904.8902,"open":12921.7},{"amount":1.416,"high":13054.0,"vol":1416,"low":12800.7,"count":122,"id":1603418400,"close":12975.1,"tradeTurnover":18306.6204,"open":12951.6},{"amount":1.19,"high":13030.7,"vol":1190,"low":12875.0,"count":118,"id":1603422000,"close":12947.0,"tradeTurnover":15409.7984,"open":12967.3},{"amount":1.022,"high":13047.3,"vol":1022,"low":12832.8,"count":127,"id":1603425600,"close":12852.0,"tradeTurnover":13214.4388,"open":12925.2},{"amount":0.478,"high":12991.7,"vol":478,"low":12841.2,"count":118,"id":1603429200,"close":12931.1,"tradeTurnover":6180.2486,"open":12859.0},{"amount":0.522,"high":13014.1,"vol":522,"low":12871.9,"count":132,"id":1603432800,"close":12939.6,"tradeTurnover":6759.0324,"open":12935.9},{"amount":0.476,"high":12998.9,"vol":476,"low":12917.1,"count":118,"id":1603436400,"close":12925.4,"tradeTurnover":6163.3118,"open":12923.1},{"amount":0.508,"high":13014.0,"vol":508,"low":12916.1,"count":122,"id":1603440000,"close":12962.6,"tradeTurnover":6585.3656,"open":12942.2},{"amount":0.564,"high":13012.5,"vol":564,"low":12909.9,"count":124,"id":1603443600,"close":12926.4,"tradeTurnover":7308.8828,"open":12970.5},{"amount":0.536,"high":13059.5,"vol":536,"low":12925.7,"count":124,"id":1603447200,"close":13007.7,"tradeTurnover":6957.8796,"open":13001.2},{"amount":0.486,"high":13078.4,"vol":486,"low":12906.5,"count":122,"id":1603450800,"close":12970.6,"tradeTurnover":6326.1434,"open":13025.4},{"amount":0.494,"high":13025.0,"vol":494,"low":12850.8,"count":117,"id":1603454400,"close":12935.4,"tradeTurnover":6396.0984,"open":12963.9},{"amount":0.466,"high":13043.3,"vol":466,"low":12911.0,"count":117,"id":1603458000,"close":12951.7,"tradeTurnover":6049.1412,"open":12913.3},{"amount":0.46,"high":13006.4,"vol":460,"low":12840.4,"count":116,"id":1603461600,"close":12858.8,"tradeTurnover":5941.815,"open":12999.6},{"amount":0.492,"high":12932.9,"vol":492,"low":12826.5,"count":117,"id":1603465200,"close":12881.9,"tradeTurnover":6340.214,"open":12885.7},{"amount":0.484,"high":12933.5,"vol":484,"low":12744.4,"count":123,"id":1603468800,"close":12784.1,"tradeTurnover":6205.4138,"open":12854.4},{"amount":0.562,"high":12893.1,"vol":562,"low":12730.1,"count":152,"id":1603472400,"close":12847.7,"tradeTurnover":7218.9184,"open":12832.3},{"amount":0.53,"high":12939.3,"vol":530,"low":12751.4,"count":128,"id":1603476000,"close":12915.7,"tradeTurnover":6825.7004,"open":12874.1},{"amount":0.444,"high":12972.9,"vol":444,"low":12786.6,"count":117,"id":1603479600,"close":12972.9,"tradeTurnover":5727.7452,"open":12867.9},{"amount":0.492,"high":13002.2,"vol":492,"low":12842.9,"count":116,"id":1603483200,"close":12991.6,"tradeTurnover":6375.1566,"open":12956.7},{"amount":0.5,"high":13004.3,"vol":500,"low":12936.6,"count":125,"id":1603486800,"close":12943.5,"tradeTurnover":6485.468,"open":13004.3},{"amount":0.492,"high":13010.3,"vol":492,"low":12884.7,"count":120,"id":1603490400,"close":12989.2,"tradeTurnover":6376.1492,"open":12923.6},{"amount":0.51,"high":13024.4,"vol":510,"low":12884.6,"count":121,"id":1603494000,"close":12884.6,"tradeTurnover":6622.3406,"open":12974.9},{"amount":0.488,"high":13018.3,"vol":488,"low":12811.1,"count":120,"id":1603497600,"close":12953.9,"tradeTurnover":6317.7938,"open":12973.7},{"amount":0.482,"high":13018.1,"vol":482,"low":12872.8,"count":117,"id":1603501200,"close":12934.2,"tradeTurnover":6242.4178,"open":12927.5},{"amount":0.484,"high":13003.9,"vol":484,"low":12903.3,"count":117,"id":1603504800,"close":12989.1,"tradeTurnover":6278.1756,"open":12971.9},{"amount":0.474,"high":13013.4,"vol":474,"low":12938.3,"count":122,"id":1603508400,"close":12975.9,"tradeTurnover":6157.7096,"open":13000.1},{"amount":0.526,"high":13009.4,"vol":526,"low":12905.5,"count":124,"id":1603512000,"close":12963.3,"tradeTurnover":6831.5658,"open":12989.7},{"amount":0.522,"high":13041.8,"vol":522,"low":12875.3,"count":127,"id":1603515600,"close":12989.7,"tradeTurnover":6768.8994,"open":12910.5},{"amount":0.49,"high":13058.1,"vol":490,"low":12908.8,"count":120,"id":1603519200,"close":13003.6,"tradeTurnover":6370.5714,"open":12994.7},{"amount":0.478,"high":13037.8,"vol":478,"low":12981.7,"count":120,"id":1603522800,"close":13004.2,"tradeTurnover":6218.9722,"open":13011.9},{"amount":0.52,"high":13030.6,"vol":520,"low":12899.4,"count":124,"id":1603526400,"close":12998.2,"tradeTurnover":6754.958,"open":13003.0},{"amount":0.454,"high":13020.3,"vol":454,"low":12893.6,"count":115,"id":1603530000,"close":12990.6,"tradeTurnover":5891.0574,"open":12998.2},{"amount":0.502,"high":13059.1,"vol":502,"low":12913.2,"count":124,"id":1603533600,"close":13030.1,"tradeTurnover":6525.9004,"open":12996.4},{"amount":0.468,"high":13068.3,"vol":468,"low":12940.2,"count":119,"id":1603537200,"close":13033.2,"tradeTurnover":6091.0376,"open":12988.4},{"amount":0.468,"high":13071.8,"vol":468,"low":12978.9,"count":123,"id":1603540800,"close":13006.5,"tradeTurnover":6102.5902,"open":13035.3},{"amount":0.534,"high":13066.7,"vol":534,"low":12928.1,"count":123,"id":1603544400,"close":12985.9,"tradeTurnover":6950.4268,"open":13038.8},{"amount":0.47,"high":13100.1,"vol":470,"low":12960.5,"count":100,"id":1603548000,"close":13042.0,"tradeTurnover":6124.2178,"open":12986.3},{"amount":0.456,"high":13196.5,"vol":456,"low":13038.4,"count":120,"id":1603551600,"close":13102.2,"tradeTurnover":5989.6362,"open":13038.4},{"amount":0.458,"high":13176.6,"vol":458,"low":12984.6,"count":121,"id":1603555200,"close":13052.7,"tradeTurnover":5976.331,"open":13136.8},{"amount":0.452,"high":13177.8,"vol":452,"low":13003.2,"count":118,"id":1603558800,"close":13177.8,"tradeTurnover":5911.7058,"open":13006.2},{"amount":0.468,"high":13170.7,"vol":468,"low":13023.0,"count":119,"id":1603562400,"close":13080.8,"tradeTurnover":6122.375,"open":13127.7},{"amount":0.468,"high":13179.3,"vol":468,"low":13014.2,"count":120,"id":1603566000,"close":13148.4,"tradeTurnover":6126.4278,"open":13040.7},{"amount":0.47,"high":13179.6,"vol":470,"low":12992.5,"count":119,"id":1603569600,"close":13090.1,"tradeTurnover":6151.4758,"open":13073.5},{"amount":0.458,"high":13148.7,"vol":458,"low":12980.7,"count":117,"id":1603573200,"close":12993.9,"tradeTurnover":5981.071,"open":13035.4},{"amount":0.478,"high":13112.1,"vol":478,"low":12975.6,"count":118,"id":1603576800,"close":13041.1,"tradeTurnover":6225.4216,"open":13040.7},{"amount":0.472,"high":13184.3,"vol":472,"low":13009.3,"count":118,"id":1603580400,"close":13184.3,"tradeTurnover":6173.4244,"open":13012.6},{"amount":0.46,"high":13170.4,"vol":460,"low":13007.7,"count":115,"id":1603584000,"close":13154.3,"tradeTurnover":6024.09,"open":13080.8},{"amount":0.398,"high":13196.8,"vol":398,"low":13024.0,"count":102,"id":1603587600,"close":13196.1,"tradeTurnover":5217.5364,"open":13092.0},{"amount":0.476,"high":13175.1,"vol":476,"low":13035.0,"count":120,"id":1603591200,"close":13082.4,"tradeTurnover":6228.6596,"open":13124.7},{"amount":0.578,"high":13383.8,"vol":578,"low":13049.1,"count":137,"id":1603594800,"close":13259.0,"tradeTurnover":7629.3886,"open":13049.1},{"amount":0.47,"high":13369.0,"vol":470,"low":13216.0,"count":122,"id":1603598400,"close":13243.4,"tradeTurnover":6247.955,"open":13277.0},{"amount":0.61,"high":13353.3,"vol":610,"low":13010.1,"count":134,"id":1603602000,"close":13017.3,"tradeTurnover":8048.8598,"open":13285.3},{"amount":0.486,"high":13105.7,"vol":486,"low":13018.2,"count":118,"id":1603605600,"close":13060.3,"tradeTurnover":6344.1474,"open":13022.5},{"amount":0.464,"high":13112.1,"vol":464,"low":13022.0,"count":120,"id":1603609200,"close":13078.1,"tradeTurnover":6061.5416,"open":13048.5},{"amount":0.464,"high":13091.0,"vol":464,"low":13017.2,"count":120,"id":1603612800,"close":13046.0,"tradeTurnover":6055.3734,"open":13077.2},{"amount":0.478,"high":13084.0,"vol":478,"low":13014.2,"count":117,"id":1603616400,"close":13040.8,"tradeTurnover":6235.7882,"open":13065.1},{"amount":0.478,"high":13064.2,"vol":478,"low":13010.2,"count":125,"id":1603620000,"close":13028.5,"tradeTurnover":6232.2428,"open":13047.1},{"amount":0.534,"high":13061.5,"vol":534,"low":12852.9,"count":123,"id":1603623600,"close":12897.6,"tradeTurnover":6918.1226,"open":13061.5},{"amount":0.444,"high":13069.7,"vol":444,"low":12893.2,"count":117,"id":1603627200,"close":12964.3,"tradeTurnover":5755.8712,"open":12908.3},{"amount":0.498,"high":13071.9,"vol":498,"low":12891.8,"count":119,"id":1603630800,"close":12949.3,"tradeTurnover":6465.078,"open":13001.3},{"amount":0.468,"high":13077.7,"vol":468,"low":12900.0,"count":116,"id":1603634400,"close":12946.8,"tradeTurnover":6075.4554,"open":12975.8},{"amount":0.47,"high":13069.1,"vol":470,"low":12883.3,"count":119,"id":1603638000,"close":12883.3,"tradeTurnover":6097.1072,"open":12975.2},{"amount":0.482,"high":13067.9,"vol":482,"low":12877.5,"count":118,"id":1603641600,"close":12978.7,"tradeTurnover":6256.4472,"open":12916.2},{"amount":0.47,"high":13087.5,"vol":470,"low":12922.7,"count":117,"id":1603645200,"close":13004.4,"tradeTurnover":6108.3892,"open":13008.0},{"amount":0.468,"high":13067.6,"vol":468,"low":12893.6,"count":118,"id":1603648800,"close":12957.2,"tradeTurnover":6079.1484,"open":12972.8},{"amount":0.442,"high":13066.9,"vol":442,"low":12916.6,"count":118,"id":1603652400,"close":13021.8,"tradeTurnover":5746.5548,"open":12996.5},{"amount":0.508,"high":13081.5,"vol":508,"low":12944.9,"count":120,"id":1603656000,"close":12985.4,"tradeTurnover":6616.9872,"open":12992.9},{"amount":0.508,"high":13068.6,"vol":508,"low":12921.4,"count":122,"id":1603659600,"close":13011.2,"tradeTurnover":6614.816,"open":12999.9},{"amount":0.486,"high":13073.8,"vol":486,"low":12911.9,"count":121,"id":1603663200,"close":12959.4,"tradeTurnover":6320.907,"open":12979.6},{"amount":0.452,"high":13085.2,"vol":452,"low":12927.8,"count":113,"id":1603666800,"close":13032.1,"tradeTurnover":5878.6442,"open":12963.4},{"amount":0.482,"high":13076.7,"vol":482,"low":12918.3,"count":121,"id":1603670400,"close":13001.0,"tradeTurnover":6263.698,"open":12964.2},{"amount":0.478,"high":13096.4,"vol":478,"low":12991.2,"count":124,"id":1603674000,"close":13053.7,"tradeTurnover":6232.2328,"open":13040.0},{"amount":0.488,"high":13185.7,"vol":488,"low":12985.1,"count":121,"id":1603677600,"close":13064.4,"tradeTurnover":6387.534,"open":13060.6},{"amount":0.486,"high":13187.2,"vol":486,"low":12984.1,"count":135,"id":1603681200,"close":13092.8,"tradeTurnover":6369.0272,"open":13032.3},{"amount":0.51,"high":13181.6,"vol":510,"low":12962.3,"count":131,"id":1603684800,"close":13132.6,"tradeTurnover":6679.829,"open":13092.0},{"amount":0.506,"high":13205.3,"vol":506,"low":13025.3,"count":126,"id":1603688400,"close":13092.1,"tradeTurnover":6641.2128,"open":13129.2},{"amount":1.616,"high":13188.1,"vol":1616,"low":12989.8,"count":141,"id":1603692000,"close":13071.4,"tradeTurnover":21170.8224,"open":13121.8},{"amount":3.746,"high":13100.0,"vol":3746,"low":12965.2,"count":110,"id":1603695600,"close":13038.7,"tradeTurnover":48924.8902,"open":13061.0},{"amount":8.966,"high":13102.0,"vol":8966,"low":12852.8,"count":173,"id":1603699200,"close":13039.3,"tradeTurnover":116525.5534,"open":13030.9},{"amount":4.48,"high":13088.4,"vol":4480,"low":13039.8,"count":124,"id":1603702800,"close":13075.9,"tradeTurnover":58521.1714,"open":13047.1},{"amount":4.272,"high":13100.0,"vol":4272,"low":13060.2,"count":130,"id":1603706400,"close":13100.0,"tradeTurnover":55895.9778,"open":13072.1},{"amount":29.798,"high":13159.0,"vol":29798,"low":13100.0,"count":230,"id":1603710000,"close":13138.4,"tradeTurnover":391138.024,"open":13100.0},{"amount":5.154,"high":13200.0,"vol":5154,"low":13100.0,"count":188,"id":1603713600,"close":13149.8,"tradeTurnover":67694.652,"open":13138.8},{"amount":35.608,"high":13351.5,"vol":35608,"low":13133.1,"count":328,"id":1603717200,"close":13205.8,"tradeTurnover":472780.3394,"open":13150.0},{"amount":31.748,"high":13280.0,"vol":31748,"low":13144.1,"count":235,"id":1603720800,"close":13166.1,"tradeTurnover":418744.5588,"open":13203.0},{"amount":36.53,"high":13165.2,"vol":36530,"low":12903.8,"count":384,"id":1603724400,"close":12978.0,"tradeTurnover":476940.3296,"open":13159.0},{"amount":35.018,"high":13069.8,"vol":35018,"low":12850.5,"count":323,"id":1603728000,"close":12869.6,"tradeTurnover":453288.918,"open":12965.0},{"amount":92.628,"high":12941.5,"vol":92628,"low":12583.9,"count":560,"id":1603731600,"close":12873.8,"tradeTurnover":1185973.467,"open":12879.2},{"amount":4.302,"high":12954.5,"vol":4302,"low":12820.4,"count":128,"id":1603735200,"close":12946.8,"tradeTurnover":55481.0054,"open":12856.2},{"amount":13.83,"high":12953.5,"vol":13830,"low":12914.1,"count":118,"id":1603738800,"close":12953.4,"tradeTurnover":179112.1598,"open":12945.6},{"amount":17.172,"high":13007.5,"vol":17172,"low":12953.5,"count":132,"id":1603742400,"close":12983.4,"tradeTurnover":223230.2122,"open":12953.5},{"amount":3.212,"high":13007.5,"vol":3212,"low":12982.7,"count":59,"id":1603746000,"close":12993.8,"tradeTurnover":41767.8906,"open":12983.1},{"amount":1.504,"high":13007.5,"vol":1504,"low":12974.0,"count":74,"id":1603749600,"close":13007.5,"tradeTurnover":19543.3568,"open":13002.1},{"amount":3.454,"high":13061.2,"vol":3454,"low":13007.5,"count":101,"id":1603753200,"close":13033.7,"tradeTurnover":45001.601,"open":13007.5},{"amount":8.784,"high":13105.0,"vol":8784,"low":13028.3,"count":98,"id":1603756800,"close":13067.1,"tradeTurnover":114871.8246,"open":13029.2},{"amount":11.592,"high":13074.4,"vol":11592,"low":13051.5,"count":66,"id":1603760400,"close":13061.7,"tradeTurnover":151386.9038,"open":13074.3},{"amount":19.298,"high":13097.6,"vol":19298,"low":13040.1,"count":109,"id":1603764000,"close":13049.7,"tradeTurnover":252061.019,"open":13061.7},{"amount":22.992,"high":13080.0,"vol":22992,"low":13057.1,"count":69,"id":1603767600,"close":13070.4,"tradeTurnover":300453.9788,"open":13057.6},{"amount":14.396,"high":13175.0,"vol":14396,"low":13079.6,"count":59,"id":1603771200,"close":13103.3,"tradeTurnover":188461.9156,"open":13080.0},{"amount":5.058,"high":13121.3,"vol":5058,"low":13069.7,"count":44,"id":1603774800,"close":13073.6,"tradeTurnover":66201.3552,"open":13121.3},{"amount":9.106,"high":13149.0,"vol":9106,"low":13069.6,"count":107,"id":1603778400,"close":13103.4,"tradeTurnover":119104.8906,"open":13074.9},{"amount":73.95,"high":13169.8,"vol":73950,"low":12992.4,"count":305,"id":1603782000,"close":13130.0,"tradeTurnover":968195.155,"open":13103.3},{"amount":18.732,"high":13148.4,"vol":18732,"low":13044.0,"count":135,"id":1603785600,"close":13123.8,"tradeTurnover":245533.5448,"open":13135.1},{"amount":13.756,"high":13131.8,"vol":13756,"low":13075.7,"count":102,"id":1603789200,"close":13131.7,"tradeTurnover":180253.7708,"open":13115.5},{"amount":154.108,"high":13252.0,"vol":154108,"low":13063.4,"count":525,"id":1603792800,"close":13216.9,"tradeTurnover":2029983.656,"open":13134.8},{"amount":170.09,"high":13590.1,"vol":170090,"low":13213.5,"count":591,"id":1603796400,"close":13395.8,"tradeTurnover":2276279.742,"open":13218.8},{"amount":48.928,"high":13414.0,"vol":48928,"low":13331.7,"count":216,"id":1603800000,"close":13376.9,"tradeTurnover":654585.9108,"open":13395.9},{"amount":63.294,"high":13490.9,"vol":63294,"low":13329.8,"count":316,"id":1603803600,"close":13384.3,"tradeTurnover":848130.9212,"open":13376.5},{"amount":12.892,"high":13415.8,"vol":12892,"low":13344.8,"count":124,"id":1603807200,"close":13398.2,"tradeTurnover":172618.6864,"open":13392.6},{"amount":93.22,"high":13626.7,"vol":93220,"low":13398.2,"count":476,"id":1603810800,"close":13598.5,"tradeTurnover":1262695.5466,"open":13398.2},{"amount":85.45,"high":13639.9,"vol":85450,"low":13520.2,"count":435,"id":1603814400,"close":13639.9,"tradeTurnover":1161481.4136,"open":13595.8},{"amount":191.812,"high":13826.7,"vol":191812,"low":13589.0,"count":711,"id":1603818000,"close":13688.1,"tradeTurnover":2628428.3788,"open":13640.0},{"amount":65.434,"high":13745.0,"vol":65434,"low":13528.2,"count":410,"id":1603821600,"close":13630.1,"tradeTurnover":891541.8394,"open":13685.0},{"amount":5.788,"high":13659.8,"vol":5788,"low":13595.4,"count":65,"id":1603825200,"close":13637.1,"tradeTurnover":78836.2578,"open":13629.4},{"amount":163.104,"high":13805.1,"vol":163104,"low":13582.6,"count":537,"id":1603828800,"close":13616.6,"tradeTurnover":2234040.3544,"open":13644.4},{"amount":9.884,"high":13753.5,"vol":9884,"low":13609.8,"count":101,"id":1603832400,"close":13705.5,"tradeTurnover":135406.4752,"open":13609.8},{"amount":7.436,"high":13739.9,"vol":7436,"low":13658.2,"count":100,"id":1603836000,"close":13739.9,"tradeTurnover":101840.3508,"open":13705.4},{"amount":17.086,"high":13794.6,"vol":17086,"low":13582.6,"count":234,"id":1603839600,"close":13649.6,"tradeTurnover":233971.8448,"open":13739.9},{"amount":24.108,"high":13745.2,"vol":24108,"low":13618.8,"count":177,"id":1603843200,"close":13701.7,"tradeTurnover":330206.5694,"open":13645.9},{"amount":15.892,"high":13725.6,"vol":15892,"low":13647.9,"count":151,"id":1603846800,"close":13702.6,"tradeTurnover":217816.7008,"open":13702.1},{"amount":46.548,"high":13832.2,"vol":46548,"low":13680.2,"count":274,"id":1603850400,"close":13811.6,"tradeTurnover":640636.0352,"open":13701.7},{"amount":67.896,"high":13820.3,"vol":67896,"low":13717.5,"count":320,"id":1603854000,"close":13777.0,"tradeTurnover":935838.2238,"open":13818.5},{"amount":33.156,"high":13807.2,"vol":33156,"low":13710.0,"count":210,"id":1603857600,"close":13735.7,"tradeTurnover":455941.234,"open":13767.3},{"amount":32.076,"high":13753.9,"vol":32076,"low":13671.3,"count":198,"id":1603861200,"close":13715.8,"tradeTurnover":439612.64,"open":13735.5},{"amount":14.756,"high":13757.0,"vol":14756,"low":13694.9,"count":122,"id":1603864800,"close":13701.3,"tradeTurnover":202602.5164,"open":13715.9},{"amount":155.534,"high":13708.7,"vol":155534,"low":13550.0,"count":635,"id":1603868400,"close":13674.2,"tradeTurnover":2117935.0928,"open":13701.2},{"amount":29.846,"high":13691.7,"vol":29846,"low":13584.0,"count":240,"id":1603872000,"close":13691.7,"tradeTurnover":407073.1398,"open":13673.0},{"amount":104.542,"high":13707.5,"vol":104542,"low":13573.5,"count":377,"id":1603875600,"close":13587.1,"tradeTurnover":1425079.9344,"open":13689.3},{"amount":73.818,"high":13618.0,"vol":73818,"low":13504.7,"count":358,"id":1603879200,"close":13552.7,"tradeTurnover":1001666.0908,"open":13584.6},{"amount":176.544,"high":13565.4,"vol":176544,"low":13330.0,"count":1004,"id":1603882800,"close":13336.4,"tradeTurnover":2369166.1492,"open":13552.6},{"amount":289.73,"high":13385.0,"vol":289730,"low":13173.9,"count":968,"id":1603886400,"close":13300.3,"tradeTurnover":3846751.7166,"open":13331.5},{"amount":139.822,"high":13340.0,"vol":139822,"low":13122.9,"count":612,"id":1603890000,"close":13129.9,"tradeTurnover":1848876.932,"open":13300.2},{"amount":367.876,"high":13168.2,"vol":367876,"low":12915.9,"count":1168,"id":1603893600,"close":13082.2,"tradeTurnover":4802516.9818,"open":13123.4},{"amount":84.044,"high":13235.2,"vol":84044,"low":13052.3,"count":375,"id":1603897200,"close":13221.2,"tradeTurnover":1106883.1282,"open":13077.1},{"amount":29.566,"high":13218.7,"vol":29566,"low":13050.0,"count":244,"id":1603900800,"close":13145.1,"tradeTurnover":388697.4104,"open":13218.7},{"amount":53.336,"high":13204.9,"vol":53336,"low":13006.6,"count":299,"id":1603904400,"close":13176.7,"tradeTurnover":700385.2784,"open":13145.1},{"amount":34.164,"high":13219.6,"vol":34164,"low":13131.0,"count":218,"id":1603908000,"close":13196.5,"tradeTurnover":450210.5778,"open":13171.0},{"amount":22.158,"high":13237.4,"vol":22158,"low":13145.0,"count":185,"id":1603911600,"close":13154.9,"tradeTurnover":292020.0438,"open":13200.0},{"amount":4.548,"high":13211.8,"vol":4548,"low":13147.4,"count":75,"id":1603915200,"close":13198.1,"tradeTurnover":59991.1118,"open":13154.5},{"amount":3.52,"high":13196.5,"vol":3520,"low":13100.2,"count":68,"id":1603918800,"close":13190.1,"tradeTurnover":46175.428,"open":13193.5},{"amount":3.122,"high":13267.5,"vol":3122,"low":13185.4,"count":72,"id":1603922400,"close":13252.0,"tradeTurnover":41304.2018,"open":13185.4},{"amount":14.768,"high":13282.3,"vol":14768,"low":13235.9,"count":86,"id":1603926000,"close":13265.9,"tradeTurnover":195689.0764,"open":13242.1},{"amount":19.968,"high":13294.7,"vol":19968,"low":13237.4,"count":98,"id":1603929600,"close":13245.1,"tradeTurnover":264834.1944,"open":13253.9},{"amount":35.282,"high":13285.3,"vol":35282,"low":13166.3,"count":192,"id":1603933200,"close":13274.2,"tradeTurnover":465789.6302,"open":13244.6},{"amount":9.748,"high":13277.7,"vol":9748,"low":13212.2,"count":119,"id":1603936800,"close":13241.1,"tradeTurnover":129016.0684,"open":13275.9},{"amount":27.3,"high":13262.5,"vol":27300,"low":13174.6,"count":199,"id":1603940400,"close":13262.5,"tradeTurnover":360589.8982,"open":13237.1},{"amount":18.904,"high":13277.7,"vol":18904,"low":13229.5,"count":109,"id":1603944000,"close":13229.5,"tradeTurnover":250713.2812,"open":13269.1},{"amount":15.822,"high":13274.8,"vol":15822,"low":13228.5,"count":134,"id":1603947600,"close":13274.8,"tradeTurnover":209781.909,"open":13228.5},{"amount":91.246,"high":13323.0,"vol":91246,"low":13242.3,"count":294,"id":1603951200,"close":13255.0,"tradeTurnover":1211271.2788,"open":13274.8},{"amount":187.622,"high":13269.3,"vol":187622,"low":13123.1,"count":506,"id":1603954800,"close":13142.4,"tradeTurnover":2478299.7074,"open":13255.0},{"amount":69.532,"high":13182.4,"vol":69532,"low":13094.1,"count":226,"id":1603958400,"close":13124.8,"tradeTurnover":914157.2418,"open":13145.9},{"amount":23.184,"high":13197.1,"vol":23184,"low":13129.5,"count":141,"id":1603962000,"close":13183.7,"tradeTurnover":305485.9524,"open":13129.5},{"amount":121.146,"high":13187.5,"vol":121146,"low":13053.1,"count":442,"id":1603965600,"close":13105.2,"tradeTurnover":1590026.4416,"open":13184.8},{"amount":47.498,"high":13171.4,"vol":47498,"low":13060.1,"count":262,"id":1603969200,"close":13060.1,"tradeTurnover":623578.149,"open":13105.1},{"amount":126.552,"high":13145.8,"vol":126552,"low":12977.9,"count":481,"id":1603972800,"close":13131.8,"tradeTurnover":1652549.311,"open":13056.9},{"amount":100.482,"high":13237.2,"vol":100482,"low":13102.0,"count":325,"id":1603976400,"close":13230.0,"tradeTurnover":1326403.7206,"open":13131.7},{"amount":253.258,"high":13476.1,"vol":253258,"low":13231.0,"count":752,"id":1603980000,"close":13420.8,"tradeTurnover":3384941.438,"open":13231.0},{"amount":64.71,"high":13458.7,"vol":64710,"low":13358.7,"count":269,"id":1603983600,"close":13420.6,"tradeTurnover":869052.3804,"open":13416.0},{"amount":120.24,"high":13594.5,"vol":120240,"low":13391.8,"count":570,"id":1603987200,"close":13535.9,"tradeTurnover":1626567.8278,"open":13421.9}],"id":"","rep":"market.BTC-USDT.kline.60min","status":"ok"} +2024-01-18 11:13:11.978 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:39] - 请求 KLine 数据用户收到的原始数据:{"id":"","rep":"market.BTC-USDT.kline.60min","ts":1705547590885,"wsid":19750305,"status":"ok","data":[{"id":1603270800,"open":12198.0,"close":12196.7,"high":12300.0,"low":11715.8,"amount":0.276,"vol":276,"trade_turnover":3315.9104,"count":39},{"id":1603274400,"open":12196.7,"close":12277.9,"high":12289.9,"low":12111.0,"amount":0.198,"vol":198,"trade_turnover":2420.7728,"count":21},{"id":1603278000,"open":12111.0,"close":12000.0,"high":12277.9,"low":12000.0,"amount":0.012,"vol":12,"trade_turnover":145.2238,"count":5},{"id":1603281600,"open":12078.0,"close":12497.4,"high":12498.0,"low":12078.0,"amount":0.084,"vol":84,"trade_turnover":1040.0504,"count":12},{"id":1603285200,"open":12495.6,"close":12373.5,"high":12495.6,"low":12282.9,"amount":1.122,"vol":1122,"trade_turnover":13905.3124,"count":112},{"id":1603288800,"open":12412.9,"close":12689.9,"high":12807.6,"low":12358.1,"amount":5.29,"vol":5290,"trade_turnover":66852.128,"count":155},{"id":1603292400,"open":12692.8,"close":12701.9,"high":12778.7,"low":12573.2,"amount":1.174,"vol":1174,"trade_turnover":14907.367,"count":113},{"id":1603296000,"open":12679.7,"close":12835.9,"high":12920.9,"low":12624.8,"amount":1.156,"vol":1156,"trade_turnover":14802.449,"count":115},{"id":1603299600,"open":12848.3,"close":12754.2,"high":12908.3,"low":12687.5,"amount":1.12,"vol":1120,"trade_turnover":14345.7324,"count":115},{"id":1603303200,"open":12743.7,"close":12740.2,"high":12849.0,"low":12668.3,"amount":1.106,"vol":1106,"trade_turnover":14105.3504,"count":114},{"id":1603306800,"open":12729.5,"close":12650.3,"high":12843.1,"low":12597.2,"amount":1.032,"vol":1032,"trade_turnover":13125.4568,"count":112},{"id":1603310400,"open":12666.8,"close":12807.0,"high":12848.4,"low":12610.2,"amount":1.154,"vol":1154,"trade_turnover":14680.638,"count":116},{"id":1603314000,"open":12866.0,"close":12938.9,"high":13005.1,"low":12748.2,"amount":1.164,"vol":1164,"trade_turnover":14976.9366,"count":114},{"id":1603317600,"open":12921.0,"close":13122.0,"high":13211.2,"low":12865.7,"amount":1.174,"vol":1174,"trade_turnover":15285.2446,"count":114},{"id":1603321200,"open":13153.2,"close":12829.8,"high":13173.2,"low":12688.6,"amount":1.172,"vol":1172,"trade_turnover":15060.9938,"count":117},{"id":1603324800,"open":12793.1,"close":12885.9,"high":12988.1,"low":12764.4,"amount":1.17,"vol":1170,"trade_turnover":15046.2046,"count":117},{"id":1603328400,"open":12860.4,"close":12757.5,"high":12972.6,"low":12757.5,"amount":1.158,"vol":1158,"trade_turnover":14882.4656,"count":118},{"id":1603332000,"open":12824.1,"close":12788.8,"high":12848.0,"low":12729.0,"amount":1.124,"vol":1124,"trade_turnover":14368.7948,"count":115},{"id":1603335600,"open":12791.7,"close":12767.2,"high":12834.4,"low":12729.0,"amount":1.194,"vol":1194,"trade_turnover":15268.9298,"count":111},{"id":1603339200,"open":12729.0,"close":12762.2,"high":12778.3,"low":12729.0,"amount":1.152,"vol":1152,"trade_turnover":14695.4876,"count":115},{"id":1603342800,"open":12763.1,"close":12813.8,"high":12842.0,"low":12730.6,"amount":1.21,"vol":1210,"trade_turnover":15440.8162,"count":119},{"id":1603346400,"open":12795.0,"close":12729.1,"high":12795.0,"low":12728.0,"amount":1.188,"vol":1188,"trade_turnover":15128.0098,"count":123},{"id":1603350000,"open":12728.6,"close":12730.6,"high":12730.6,"low":12728.3,"amount":1.266,"vol":1266,"trade_turnover":16115.1306,"count":112},{"id":1603353600,"open":12730.3,"close":12770.1,"high":12921.5,"low":12729.9,"amount":1.35,"vol":1350,"trade_turnover":17233.7326,"count":127},{"id":1603357200,"open":12824.9,"close":12780.4,"high":12872.1,"low":12760.1,"amount":0.98,"vol":980,"trade_turnover":12553.9826,"count":99},{"id":1603360800,"open":12784.9,"close":12934.2,"high":13002.7,"low":12775.6,"amount":0.266,"vol":266,"trade_turnover":3415.023,"count":30},{"id":1603364400,"open":12977.0,"close":13045.0,"high":13057.0,"low":12886.6,"amount":1.004,"vol":1004,"trade_turnover":13020.8576,"count":117},{"id":1603368000,"open":12958.5,"close":12847.9,"high":12973.4,"low":12751.6,"amount":1.134,"vol":1134,"trade_turnover":14594.2752,"count":111},{"id":1603371600,"open":12882.7,"close":12931.0,"high":13000.8,"low":12743.0,"amount":1.152,"vol":1152,"trade_turnover":14877.7314,"count":114},{"id":1603375200,"open":12890.4,"close":12917.8,"high":12995.3,"low":12783.9,"amount":1.182,"vol":1182,"trade_turnover":15224.4716,"count":115},{"id":1603378800,"open":12918.8,"close":12953.0,"high":13031.2,"low":12817.9,"amount":1.176,"vol":1176,"trade_turnover":15197.208,"count":117},{"id":1603382400,"open":12923.1,"close":13055.6,"high":13100.2,"low":12865.6,"amount":1.146,"vol":1146,"trade_turnover":14851.9604,"count":119},{"id":1603386000,"open":12967.6,"close":13082.7,"high":13105.7,"low":12835.5,"amount":1.534,"vol":1534,"trade_turnover":19927.8288,"count":124},{"id":1603389600,"open":13020.4,"close":13016.4,"high":13115.0,"low":12938.7,"amount":1.268,"vol":1268,"trade_turnover":16505.4738,"count":117},{"id":1603393200,"open":13028.3,"close":12970.6,"high":13171.2,"low":12961.8,"amount":1.13,"vol":1130,"trade_turnover":14762.952,"count":112},{"id":1603396800,"open":13016.7,"close":13089.3,"high":13216.1,"low":12998.5,"amount":1.206,"vol":1206,"trade_turnover":15807.1226,"count":117},{"id":1603400400,"open":13136.0,"close":13092.0,"high":13203.7,"low":12932.9,"amount":1.332,"vol":1332,"trade_turnover":17423.4422,"count":114},{"id":1603404000,"open":13119.4,"close":13055.9,"high":13250.5,"low":12984.7,"amount":1.21,"vol":1210,"trade_turnover":15876.0632,"count":114},{"id":1603407600,"open":13059.4,"close":12890.4,"high":13126.5,"low":12857.2,"amount":1.286,"vol":1286,"trade_turnover":16688.422,"count":116},{"id":1603411200,"open":12929.7,"close":12892.2,"high":12994.0,"low":12751.6,"amount":1.502,"vol":1502,"trade_turnover":19331.1596,"count":131},{"id":1603414800,"open":12921.7,"close":12898.3,"high":13003.2,"low":12786.0,"amount":1.386,"vol":1386,"trade_turnover":17904.8902,"count":121},{"id":1603418400,"open":12951.6,"close":12975.1,"high":13054.0,"low":12800.7,"amount":1.416,"vol":1416,"trade_turnover":18306.6204,"count":122},{"id":1603422000,"open":12967.3,"close":12947.0,"high":13030.7,"low":12875.0,"amount":1.19,"vol":1190,"trade_turnover":15409.7984,"count":118},{"id":1603425600,"open":12925.2,"close":12852.0,"high":13047.3,"low":12832.8,"amount":1.022,"vol":1022,"trade_turnover":13214.4388,"count":127},{"id":1603429200,"open":12859.0,"close":12931.1,"high":12991.7,"low":12841.2,"amount":0.478,"vol":478,"trade_turnover":6180.2486,"count":118},{"id":1603432800,"open":12935.9,"close":12939.6,"high":13014.1,"low":12871.9,"amount":0.522,"vol":522,"trade_turnover":6759.0324,"count":132},{"id":1603436400,"open":12923.1,"close":12925.4,"high":12998.9,"low":12917.1,"amount":0.476,"vol":476,"trade_turnover":6163.3118,"count":118},{"id":1603440000,"open":12942.2,"close":12962.6,"high":13014.0,"low":12916.1,"amount":0.508,"vol":508,"trade_turnover":6585.3656,"count":122},{"id":1603443600,"open":12970.5,"close":12926.4,"high":13012.5,"low":12909.9,"amount":0.564,"vol":564,"trade_turnover":7308.8828,"count":124},{"id":1603447200,"open":13001.2,"close":13007.7,"high":13059.5,"low":12925.7,"amount":0.536,"vol":536,"trade_turnover":6957.8796,"count":124},{"id":1603450800,"open":13025.4,"close":12970.6,"high":13078.4,"low":12906.5,"amount":0.486,"vol":486,"trade_turnover":6326.1434,"count":122},{"id":1603454400,"open":12963.9,"close":12935.4,"high":13025.0,"low":12850.8,"amount":0.494,"vol":494,"trade_turnover":6396.0984,"count":117},{"id":1603458000,"open":12913.3,"close":12951.7,"high":13043.3,"low":12911.0,"amount":0.466,"vol":466,"trade_turnover":6049.1412,"count":117},{"id":1603461600,"open":12999.6,"close":12858.8,"high":13006.4,"low":12840.4,"amount":0.46,"vol":460,"trade_turnover":5941.815,"count":116},{"id":1603465200,"open":12885.7,"close":12881.9,"high":12932.9,"low":12826.5,"amount":0.492,"vol":492,"trade_turnover":6340.214,"count":117},{"id":1603468800,"open":12854.4,"close":12784.1,"high":12933.5,"low":12744.4,"amount":0.484,"vol":484,"trade_turnover":6205.4138,"count":123},{"id":1603472400,"open":12832.3,"close":12847.7,"high":12893.1,"low":12730.1,"amount":0.562,"vol":562,"trade_turnover":7218.9184,"count":152},{"id":1603476000,"open":12874.1,"close":12915.7,"high":12939.3,"low":12751.4,"amount":0.53,"vol":530,"trade_turnover":6825.7004,"count":128},{"id":1603479600,"open":12867.9,"close":12972.9,"high":12972.9,"low":12786.6,"amount":0.444,"vol":444,"trade_turnover":5727.7452,"count":117},{"id":1603483200,"open":12956.7,"close":12991.6,"high":13002.2,"low":12842.9,"amount":0.492,"vol":492,"trade_turnover":6375.1566,"count":116},{"id":1603486800,"open":13004.3,"close":12943.5,"high":13004.3,"low":12936.6,"amount":0.5,"vol":500,"trade_turnover":6485.468,"count":125},{"id":1603490400,"open":12923.6,"close":12989.2,"high":13010.3,"low":12884.7,"amount":0.492,"vol":492,"trade_turnover":6376.1492,"count":120},{"id":1603494000,"open":12974.9,"close":12884.6,"high":13024.4,"low":12884.6,"amount":0.51,"vol":510,"trade_turnover":6622.3406,"count":121},{"id":1603497600,"open":12973.7,"close":12953.9,"high":13018.3,"low":12811.1,"amount":0.488,"vol":488,"trade_turnover":6317.7938,"count":120},{"id":1603501200,"open":12927.5,"close":12934.2,"high":13018.1,"low":12872.8,"amount":0.482,"vol":482,"trade_turnover":6242.4178,"count":117},{"id":1603504800,"open":12971.9,"close":12989.1,"high":13003.9,"low":12903.3,"amount":0.484,"vol":484,"trade_turnover":6278.1756,"count":117},{"id":1603508400,"open":13000.1,"close":12975.9,"high":13013.4,"low":12938.3,"amount":0.474,"vol":474,"trade_turnover":6157.7096,"count":122},{"id":1603512000,"open":12989.7,"close":12963.3,"high":13009.4,"low":12905.5,"amount":0.526,"vol":526,"trade_turnover":6831.5658,"count":124},{"id":1603515600,"open":12910.5,"close":12989.7,"high":13041.8,"low":12875.3,"amount":0.522,"vol":522,"trade_turnover":6768.8994,"count":127},{"id":1603519200,"open":12994.7,"close":13003.6,"high":13058.1,"low":12908.8,"amount":0.49,"vol":490,"trade_turnover":6370.5714,"count":120},{"id":1603522800,"open":13011.9,"close":13004.2,"high":13037.8,"low":12981.7,"amount":0.478,"vol":478,"trade_turnover":6218.9722,"count":120},{"id":1603526400,"open":13003.0,"close":12998.2,"high":13030.6,"low":12899.4,"amount":0.52,"vol":520,"trade_turnover":6754.958,"count":124},{"id":1603530000,"open":12998.2,"close":12990.6,"high":13020.3,"low":12893.6,"amount":0.454,"vol":454,"trade_turnover":5891.0574,"count":115},{"id":1603533600,"open":12996.4,"close":13030.1,"high":13059.1,"low":12913.2,"amount":0.502,"vol":502,"trade_turnover":6525.9004,"count":124},{"id":1603537200,"open":12988.4,"close":13033.2,"high":13068.3,"low":12940.2,"amount":0.468,"vol":468,"trade_turnover":6091.0376,"count":119},{"id":1603540800,"open":13035.3,"close":13006.5,"high":13071.8,"low":12978.9,"amount":0.468,"vol":468,"trade_turnover":6102.5902,"count":123},{"id":1603544400,"open":13038.8,"close":12985.9,"high":13066.7,"low":12928.1,"amount":0.534,"vol":534,"trade_turnover":6950.4268,"count":123},{"id":1603548000,"open":12986.3,"close":13042.0,"high":13100.1,"low":12960.5,"amount":0.47,"vol":470,"trade_turnover":6124.2178,"count":100},{"id":1603551600,"open":13038.4,"close":13102.2,"high":13196.5,"low":13038.4,"amount":0.456,"vol":456,"trade_turnover":5989.6362,"count":120},{"id":1603555200,"open":13136.8,"close":13052.7,"high":13176.6,"low":12984.6,"amount":0.458,"vol":458,"trade_turnover":5976.331,"count":121},{"id":1603558800,"open":13006.2,"close":13177.8,"high":13177.8,"low":13003.2,"amount":0.452,"vol":452,"trade_turnover":5911.7058,"count":118},{"id":1603562400,"open":13127.7,"close":13080.8,"high":13170.7,"low":13023.0,"amount":0.468,"vol":468,"trade_turnover":6122.375,"count":119},{"id":1603566000,"open":13040.7,"close":13148.4,"high":13179.3,"low":13014.2,"amount":0.468,"vol":468,"trade_turnover":6126.4278,"count":120},{"id":1603569600,"open":13073.5,"close":13090.1,"high":13179.6,"low":12992.5,"amount":0.47,"vol":470,"trade_turnover":6151.4758,"count":119},{"id":1603573200,"open":13035.4,"close":12993.9,"high":13148.7,"low":12980.7,"amount":0.458,"vol":458,"trade_turnover":5981.071,"count":117},{"id":1603576800,"open":13040.7,"close":13041.1,"high":13112.1,"low":12975.6,"amount":0.478,"vol":478,"trade_turnover":6225.4216,"count":118},{"id":1603580400,"open":13012.6,"close":13184.3,"high":13184.3,"low":13009.3,"amount":0.472,"vol":472,"trade_turnover":6173.4244,"count":118},{"id":1603584000,"open":13080.8,"close":13154.3,"high":13170.4,"low":13007.7,"amount":0.46,"vol":460,"trade_turnover":6024.09,"count":115},{"id":1603587600,"open":13092.0,"close":13196.1,"high":13196.8,"low":13024.0,"amount":0.398,"vol":398,"trade_turnover":5217.5364,"count":102},{"id":1603591200,"open":13124.7,"close":13082.4,"high":13175.1,"low":13035.0,"amount":0.476,"vol":476,"trade_turnover":6228.6596,"count":120},{"id":1603594800,"open":13049.1,"close":13259.0,"high":13383.8,"low":13049.1,"amount":0.578,"vol":578,"trade_turnover":7629.3886,"count":137},{"id":1603598400,"open":13277.0,"close":13243.4,"high":13369.0,"low":13216.0,"amount":0.47,"vol":470,"trade_turnover":6247.955,"count":122},{"id":1603602000,"open":13285.3,"close":13017.3,"high":13353.3,"low":13010.1,"amount":0.61,"vol":610,"trade_turnover":8048.8598,"count":134},{"id":1603605600,"open":13022.5,"close":13060.3,"high":13105.7,"low":13018.2,"amount":0.486,"vol":486,"trade_turnover":6344.1474,"count":118},{"id":1603609200,"open":13048.5,"close":13078.1,"high":13112.1,"low":13022.0,"amount":0.464,"vol":464,"trade_turnover":6061.5416,"count":120},{"id":1603612800,"open":13077.2,"close":13046.0,"high":13091.0,"low":13017.2,"amount":0.464,"vol":464,"trade_turnover":6055.3734,"count":120},{"id":1603616400,"open":13065.1,"close":13040.8,"high":13084.0,"low":13014.2,"amount":0.478,"vol":478,"trade_turnover":6235.7882,"count":117},{"id":1603620000,"open":13047.1,"close":13028.5,"high":13064.2,"low":13010.2,"amount":0.478,"vol":478,"trade_turnover":6232.2428,"count":125},{"id":1603623600,"open":13061.5,"close":12897.6,"high":13061.5,"low":12852.9,"amount":0.534,"vol":534,"trade_turnover":6918.1226,"count":123},{"id":1603627200,"open":12908.3,"close":12964.3,"high":13069.7,"low":12893.2,"amount":0.444,"vol":444,"trade_turnover":5755.8712,"count":117},{"id":1603630800,"open":13001.3,"close":12949.3,"high":13071.9,"low":12891.8,"amount":0.498,"vol":498,"trade_turnover":6465.078,"count":119},{"id":1603634400,"open":12975.8,"close":12946.8,"high":13077.7,"low":12900.0,"amount":0.468,"vol":468,"trade_turnover":6075.4554,"count":116},{"id":1603638000,"open":12975.2,"close":12883.3,"high":13069.1,"low":12883.3,"amount":0.47,"vol":470,"trade_turnover":6097.1072,"count":119},{"id":1603641600,"open":12916.2,"close":12978.7,"high":13067.9,"low":12877.5,"amount":0.482,"vol":482,"trade_turnover":6256.4472,"count":118},{"id":1603645200,"open":13008.0,"close":13004.4,"high":13087.5,"low":12922.7,"amount":0.47,"vol":470,"trade_turnover":6108.3892,"count":117},{"id":1603648800,"open":12972.8,"close":12957.2,"high":13067.6,"low":12893.6,"amount":0.468,"vol":468,"trade_turnover":6079.1484,"count":118},{"id":1603652400,"open":12996.5,"close":13021.8,"high":13066.9,"low":12916.6,"amount":0.442,"vol":442,"trade_turnover":5746.5548,"count":118},{"id":1603656000,"open":12992.9,"close":12985.4,"high":13081.5,"low":12944.9,"amount":0.508,"vol":508,"trade_turnover":6616.9872,"count":120},{"id":1603659600,"open":12999.9,"close":13011.2,"high":13068.6,"low":12921.4,"amount":0.508,"vol":508,"trade_turnover":6614.816,"count":122},{"id":1603663200,"open":12979.6,"close":12959.4,"high":13073.8,"low":12911.9,"amount":0.486,"vol":486,"trade_turnover":6320.907,"count":121},{"id":1603666800,"open":12963.4,"close":13032.1,"high":13085.2,"low":12927.8,"amount":0.452,"vol":452,"trade_turnover":5878.6442,"count":113},{"id":1603670400,"open":12964.2,"close":13001.0,"high":13076.7,"low":12918.3,"amount":0.482,"vol":482,"trade_turnover":6263.698,"count":121},{"id":1603674000,"open":13040.0,"close":13053.7,"high":13096.4,"low":12991.2,"amount":0.478,"vol":478,"trade_turnover":6232.2328,"count":124},{"id":1603677600,"open":13060.6,"close":13064.4,"high":13185.7,"low":12985.1,"amount":0.488,"vol":488,"trade_turnover":6387.534,"count":121},{"id":1603681200,"open":13032.3,"close":13092.8,"high":13187.2,"low":12984.1,"amount":0.486,"vol":486,"trade_turnover":6369.0272,"count":135},{"id":1603684800,"open":13092.0,"close":13132.6,"high":13181.6,"low":12962.3,"amount":0.51,"vol":510,"trade_turnover":6679.829,"count":131},{"id":1603688400,"open":13129.2,"close":13092.1,"high":13205.3,"low":13025.3,"amount":0.506,"vol":506,"trade_turnover":6641.2128,"count":126},{"id":1603692000,"open":13121.8,"close":13071.4,"high":13188.1,"low":12989.8,"amount":1.616,"vol":1616,"trade_turnover":21170.8224,"count":141},{"id":1603695600,"open":13061.0,"close":13038.7,"high":13100.0,"low":12965.2,"amount":3.746,"vol":3746,"trade_turnover":48924.8902,"count":110},{"id":1603699200,"open":13030.9,"close":13039.3,"high":13102.0,"low":12852.8,"amount":8.966,"vol":8966,"trade_turnover":116525.5534,"count":173},{"id":1603702800,"open":13047.1,"close":13075.9,"high":13088.4,"low":13039.8,"amount":4.48,"vol":4480,"trade_turnover":58521.1714,"count":124},{"id":1603706400,"open":13072.1,"close":13100.0,"high":13100.0,"low":13060.2,"amount":4.272,"vol":4272,"trade_turnover":55895.9778,"count":130},{"id":1603710000,"open":13100.0,"close":13138.4,"high":13159.0,"low":13100.0,"amount":29.798,"vol":29798,"trade_turnover":391138.024,"count":230},{"id":1603713600,"open":13138.8,"close":13149.8,"high":13200.0,"low":13100.0,"amount":5.154,"vol":5154,"trade_turnover":67694.652,"count":188},{"id":1603717200,"open":13150.0,"close":13205.8,"high":13351.5,"low":13133.1,"amount":35.608,"vol":35608,"trade_turnover":472780.3394,"count":328},{"id":1603720800,"open":13203.0,"close":13166.1,"high":13280.0,"low":13144.1,"amount":31.748,"vol":31748,"trade_turnover":418744.5588,"count":235},{"id":1603724400,"open":13159.0,"close":12978.0,"high":13165.2,"low":12903.8,"amount":36.53,"vol":36530,"trade_turnover":476940.3296,"count":384},{"id":1603728000,"open":12965.0,"close":12869.6,"high":13069.8,"low":12850.5,"amount":35.018,"vol":35018,"trade_turnover":453288.918,"count":323},{"id":1603731600,"open":12879.2,"close":12873.8,"high":12941.5,"low":12583.9,"amount":92.628,"vol":92628,"trade_turnover":1185973.467,"count":560},{"id":1603735200,"open":12856.2,"close":12946.8,"high":12954.5,"low":12820.4,"amount":4.302,"vol":4302,"trade_turnover":55481.0054,"count":128},{"id":1603738800,"open":12945.6,"close":12953.4,"high":12953.5,"low":12914.1,"amount":13.83,"vol":13830,"trade_turnover":179112.1598,"count":118},{"id":1603742400,"open":12953.5,"close":12983.4,"high":13007.5,"low":12953.5,"amount":17.172,"vol":17172,"trade_turnover":223230.2122,"count":132},{"id":1603746000,"open":12983.1,"close":12993.8,"high":13007.5,"low":12982.7,"amount":3.212,"vol":3212,"trade_turnover":41767.8906,"count":59},{"id":1603749600,"open":13002.1,"close":13007.5,"high":13007.5,"low":12974.0,"amount":1.504,"vol":1504,"trade_turnover":19543.3568,"count":74},{"id":1603753200,"open":13007.5,"close":13033.7,"high":13061.2,"low":13007.5,"amount":3.454,"vol":3454,"trade_turnover":45001.601,"count":101},{"id":1603756800,"open":13029.2,"close":13067.1,"high":13105.0,"low":13028.3,"amount":8.784,"vol":8784,"trade_turnover":114871.8246,"count":98},{"id":1603760400,"open":13074.3,"close":13061.7,"high":13074.4,"low":13051.5,"amount":11.592,"vol":11592,"trade_turnover":151386.9038,"count":66},{"id":1603764000,"open":13061.7,"close":13049.7,"high":13097.6,"low":13040.1,"amount":19.298,"vol":19298,"trade_turnover":252061.019,"count":109},{"id":1603767600,"open":13057.6,"close":13070.4,"high":13080.0,"low":13057.1,"amount":22.992,"vol":22992,"trade_turnover":300453.9788,"count":69},{"id":1603771200,"open":13080.0,"close":13103.3,"high":13175.0,"low":13079.6,"amount":14.396,"vol":14396,"trade_turnover":188461.9156,"count":59},{"id":1603774800,"open":13121.3,"close":13073.6,"high":13121.3,"low":13069.7,"amount":5.058,"vol":5058,"trade_turnover":66201.3552,"count":44},{"id":1603778400,"open":13074.9,"close":13103.4,"high":13149.0,"low":13069.6,"amount":9.106,"vol":9106,"trade_turnover":119104.8906,"count":107},{"id":1603782000,"open":13103.3,"close":13130.0,"high":13169.8,"low":12992.4,"amount":73.95,"vol":73950,"trade_turnover":968195.155,"count":305},{"id":1603785600,"open":13135.1,"close":13123.8,"high":13148.4,"low":13044.0,"amount":18.732,"vol":18732,"trade_turnover":245533.5448,"count":135},{"id":1603789200,"open":13115.5,"close":13131.7,"high":13131.8,"low":13075.7,"amount":13.756,"vol":13756,"trade_turnover":180253.7708,"count":102},{"id":1603792800,"open":13134.8,"close":13216.9,"high":13252.0,"low":13063.4,"amount":154.108,"vol":154108,"trade_turnover":2029983.656,"count":525},{"id":1603796400,"open":13218.8,"close":13395.8,"high":13590.1,"low":13213.5,"amount":170.09,"vol":170090,"trade_turnover":2276279.742,"count":591},{"id":1603800000,"open":13395.9,"close":13376.9,"high":13414.0,"low":13331.7,"amount":48.928,"vol":48928,"trade_turnover":654585.9108,"count":216},{"id":1603803600,"open":13376.5,"close":13384.3,"high":13490.9,"low":13329.8,"amount":63.294,"vol":63294,"trade_turnover":848130.9212,"count":316},{"id":1603807200,"open":13392.6,"close":13398.2,"high":13415.8,"low":13344.8,"amount":12.892,"vol":12892,"trade_turnover":172618.6864,"count":124},{"id":1603810800,"open":13398.2,"close":13598.5,"high":13626.7,"low":13398.2,"amount":93.22,"vol":93220,"trade_turnover":1262695.5466,"count":476},{"id":1603814400,"open":13595.8,"close":13639.9,"high":13639.9,"low":13520.2,"amount":85.45,"vol":85450,"trade_turnover":1161481.4136,"count":435},{"id":1603818000,"open":13640.0,"close":13688.1,"high":13826.7,"low":13589.0,"amount":191.812,"vol":191812,"trade_turnover":2628428.3788,"count":711},{"id":1603821600,"open":13685.0,"close":13630.1,"high":13745.0,"low":13528.2,"amount":65.434,"vol":65434,"trade_turnover":891541.8394,"count":410},{"id":1603825200,"open":13629.4,"close":13637.1,"high":13659.8,"low":13595.4,"amount":5.788,"vol":5788,"trade_turnover":78836.2578,"count":65},{"id":1603828800,"open":13644.4,"close":13616.6,"high":13805.1,"low":13582.6,"amount":163.104,"vol":163104,"trade_turnover":2234040.3544,"count":537},{"id":1603832400,"open":13609.8,"close":13705.5,"high":13753.5,"low":13609.8,"amount":9.884,"vol":9884,"trade_turnover":135406.4752,"count":101},{"id":1603836000,"open":13705.4,"close":13739.9,"high":13739.9,"low":13658.2,"amount":7.436,"vol":7436,"trade_turnover":101840.3508,"count":100},{"id":1603839600,"open":13739.9,"close":13649.6,"high":13794.6,"low":13582.6,"amount":17.086,"vol":17086,"trade_turnover":233971.8448,"count":234},{"id":1603843200,"open":13645.9,"close":13701.7,"high":13745.2,"low":13618.8,"amount":24.108,"vol":24108,"trade_turnover":330206.5694,"count":177},{"id":1603846800,"open":13702.1,"close":13702.6,"high":13725.6,"low":13647.9,"amount":15.892,"vol":15892,"trade_turnover":217816.7008,"count":151},{"id":1603850400,"open":13701.7,"close":13811.6,"high":13832.2,"low":13680.2,"amount":46.548,"vol":46548,"trade_turnover":640636.0352,"count":274},{"id":1603854000,"open":13818.5,"close":13777.0,"high":13820.3,"low":13717.5,"amount":67.896,"vol":67896,"trade_turnover":935838.2238,"count":320},{"id":1603857600,"open":13767.3,"close":13735.7,"high":13807.2,"low":13710.0,"amount":33.156,"vol":33156,"trade_turnover":455941.234,"count":210},{"id":1603861200,"open":13735.5,"close":13715.8,"high":13753.9,"low":13671.3,"amount":32.076,"vol":32076,"trade_turnover":439612.64,"count":198},{"id":1603864800,"open":13715.9,"close":13701.3,"high":13757.0,"low":13694.9,"amount":14.756,"vol":14756,"trade_turnover":202602.5164,"count":122},{"id":1603868400,"open":13701.2,"close":13674.2,"high":13708.7,"low":13550.0,"amount":155.534,"vol":155534,"trade_turnover":2117935.0928,"count":635},{"id":1603872000,"open":13673.0,"close":13691.7,"high":13691.7,"low":13584.0,"amount":29.846,"vol":29846,"trade_turnover":407073.1398,"count":240},{"id":1603875600,"open":13689.3,"close":13587.1,"high":13707.5,"low":13573.5,"amount":104.542,"vol":104542,"trade_turnover":1425079.9344,"count":377},{"id":1603879200,"open":13584.6,"close":13552.7,"high":13618.0,"low":13504.7,"amount":73.818,"vol":73818,"trade_turnover":1001666.0908,"count":358},{"id":1603882800,"open":13552.6,"close":13336.4,"high":13565.4,"low":13330.0,"amount":176.544,"vol":176544,"trade_turnover":2369166.1492,"count":1004},{"id":1603886400,"open":13331.5,"close":13300.3,"high":13385.0,"low":13173.9,"amount":289.73,"vol":289730,"trade_turnover":3846751.7166,"count":968},{"id":1603890000,"open":13300.2,"close":13129.9,"high":13340.0,"low":13122.9,"amount":139.822,"vol":139822,"trade_turnover":1848876.932,"count":612},{"id":1603893600,"open":13123.4,"close":13082.2,"high":13168.2,"low":12915.9,"amount":367.876,"vol":367876,"trade_turnover":4802516.9818,"count":1168},{"id":1603897200,"open":13077.1,"close":13221.2,"high":13235.2,"low":13052.3,"amount":84.044,"vol":84044,"trade_turnover":1106883.1282,"count":375},{"id":1603900800,"open":13218.7,"close":13145.1,"high":13218.7,"low":13050.0,"amount":29.566,"vol":29566,"trade_turnover":388697.4104,"count":244},{"id":1603904400,"open":13145.1,"close":13176.7,"high":13204.9,"low":13006.6,"amount":53.336,"vol":53336,"trade_turnover":700385.2784,"count":299},{"id":1603908000,"open":13171.0,"close":13196.5,"high":13219.6,"low":13131.0,"amount":34.164,"vol":34164,"trade_turnover":450210.5778,"count":218},{"id":1603911600,"open":13200.0,"close":13154.9,"high":13237.4,"low":13145.0,"amount":22.158,"vol":22158,"trade_turnover":292020.0438,"count":185},{"id":1603915200,"open":13154.5,"close":13198.1,"high":13211.8,"low":13147.4,"amount":4.548,"vol":4548,"trade_turnover":59991.1118,"count":75},{"id":1603918800,"open":13193.5,"close":13190.1,"high":13196.5,"low":13100.2,"amount":3.52,"vol":3520,"trade_turnover":46175.428,"count":68},{"id":1603922400,"open":13185.4,"close":13252.0,"high":13267.5,"low":13185.4,"amount":3.122,"vol":3122,"trade_turnover":41304.2018,"count":72},{"id":1603926000,"open":13242.1,"close":13265.9,"high":13282.3,"low":13235.9,"amount":14.768,"vol":14768,"trade_turnover":195689.0764,"count":86},{"id":1603929600,"open":13253.9,"close":13245.1,"high":13294.7,"low":13237.4,"amount":19.968,"vol":19968,"trade_turnover":264834.1944,"count":98},{"id":1603933200,"open":13244.6,"close":13274.2,"high":13285.3,"low":13166.3,"amount":35.282,"vol":35282,"trade_turnover":465789.6302,"count":192},{"id":1603936800,"open":13275.9,"close":13241.1,"high":13277.7,"low":13212.2,"amount":9.748,"vol":9748,"trade_turnover":129016.0684,"count":119},{"id":1603940400,"open":13237.1,"close":13262.5,"high":13262.5,"low":13174.6,"amount":27.3,"vol":27300,"trade_turnover":360589.8982,"count":199},{"id":1603944000,"open":13269.1,"close":13229.5,"high":13277.7,"low":13229.5,"amount":18.904,"vol":18904,"trade_turnover":250713.2812,"count":109},{"id":1603947600,"open":13228.5,"close":13274.8,"high":13274.8,"low":13228.5,"amount":15.822,"vol":15822,"trade_turnover":209781.909,"count":134},{"id":1603951200,"open":13274.8,"close":13255.0,"high":13323.0,"low":13242.3,"amount":91.246,"vol":91246,"trade_turnover":1211271.2788,"count":294},{"id":1603954800,"open":13255.0,"close":13142.4,"high":13269.3,"low":13123.1,"amount":187.622,"vol":187622,"trade_turnover":2478299.7074,"count":506},{"id":1603958400,"open":13145.9,"close":13124.8,"high":13182.4,"low":13094.1,"amount":69.532,"vol":69532,"trade_turnover":914157.2418,"count":226},{"id":1603962000,"open":13129.5,"close":13183.7,"high":13197.1,"low":13129.5,"amount":23.184,"vol":23184,"trade_turnover":305485.9524,"count":141},{"id":1603965600,"open":13184.8,"close":13105.2,"high":13187.5,"low":13053.1,"amount":121.146,"vol":121146,"trade_turnover":1590026.4416,"count":442},{"id":1603969200,"open":13105.1,"close":13060.1,"high":13171.4,"low":13060.1,"amount":47.498,"vol":47498,"trade_turnover":623578.149,"count":262},{"id":1603972800,"open":13056.9,"close":13131.8,"high":13145.8,"low":12977.9,"amount":126.552,"vol":126552,"trade_turnover":1652549.311,"count":481},{"id":1603976400,"open":13131.7,"close":13230.0,"high":13237.2,"low":13102.0,"amount":100.482,"vol":100482,"trade_turnover":1326403.7206,"count":325},{"id":1603980000,"open":13231.0,"close":13420.8,"high":13476.1,"low":13231.0,"amount":253.258,"vol":253258,"trade_turnover":3384941.438,"count":752},{"id":1603983600,"open":13416.0,"close":13420.6,"high":13458.7,"low":13358.7,"amount":64.71,"vol":64710,"trade_turnover":869052.3804,"count":269},{"id":1603987200,"open":13421.9,"close":13535.9,"high":13594.5,"low":13391.8,"amount":120.24,"vol":120240,"trade_turnover":1626567.8278,"count":570}]} +2024-01-18 11:13:11.979 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:41] - 请求 KLine 数据解析之后的数据为:{"wsid":19750305,"data":[{"amount":0.276,"high":12300.0,"vol":276,"low":11715.8,"count":39,"id":1603270800,"close":12196.7,"tradeTurnover":3315.9104,"open":12198.0},{"amount":0.198,"high":12289.9,"vol":198,"low":12111.0,"count":21,"id":1603274400,"close":12277.9,"tradeTurnover":2420.7728,"open":12196.7},{"amount":0.012,"high":12277.9,"vol":12,"low":12000.0,"count":5,"id":1603278000,"close":12000.0,"tradeTurnover":145.2238,"open":12111.0},{"amount":0.084,"high":12498.0,"vol":84,"low":12078.0,"count":12,"id":1603281600,"close":12497.4,"tradeTurnover":1040.0504,"open":12078.0},{"amount":1.122,"high":12495.6,"vol":1122,"low":12282.9,"count":112,"id":1603285200,"close":12373.5,"tradeTurnover":13905.3124,"open":12495.6},{"amount":5.29,"high":12807.6,"vol":5290,"low":12358.1,"count":155,"id":1603288800,"close":12689.9,"tradeTurnover":66852.128,"open":12412.9},{"amount":1.174,"high":12778.7,"vol":1174,"low":12573.2,"count":113,"id":1603292400,"close":12701.9,"tradeTurnover":14907.367,"open":12692.8},{"amount":1.156,"high":12920.9,"vol":1156,"low":12624.8,"count":115,"id":1603296000,"close":12835.9,"tradeTurnover":14802.449,"open":12679.7},{"amount":1.12,"high":12908.3,"vol":1120,"low":12687.5,"count":115,"id":1603299600,"close":12754.2,"tradeTurnover":14345.7324,"open":12848.3},{"amount":1.106,"high":12849.0,"vol":1106,"low":12668.3,"count":114,"id":1603303200,"close":12740.2,"tradeTurnover":14105.3504,"open":12743.7},{"amount":1.032,"high":12843.1,"vol":1032,"low":12597.2,"count":112,"id":1603306800,"close":12650.3,"tradeTurnover":13125.4568,"open":12729.5},{"amount":1.154,"high":12848.4,"vol":1154,"low":12610.2,"count":116,"id":1603310400,"close":12807.0,"tradeTurnover":14680.638,"open":12666.8},{"amount":1.164,"high":13005.1,"vol":1164,"low":12748.2,"count":114,"id":1603314000,"close":12938.9,"tradeTurnover":14976.9366,"open":12866.0},{"amount":1.174,"high":13211.2,"vol":1174,"low":12865.7,"count":114,"id":1603317600,"close":13122.0,"tradeTurnover":15285.2446,"open":12921.0},{"amount":1.172,"high":13173.2,"vol":1172,"low":12688.6,"count":117,"id":1603321200,"close":12829.8,"tradeTurnover":15060.9938,"open":13153.2},{"amount":1.17,"high":12988.1,"vol":1170,"low":12764.4,"count":117,"id":1603324800,"close":12885.9,"tradeTurnover":15046.2046,"open":12793.1},{"amount":1.158,"high":12972.6,"vol":1158,"low":12757.5,"count":118,"id":1603328400,"close":12757.5,"tradeTurnover":14882.4656,"open":12860.4},{"amount":1.124,"high":12848.0,"vol":1124,"low":12729.0,"count":115,"id":1603332000,"close":12788.8,"tradeTurnover":14368.7948,"open":12824.1},{"amount":1.194,"high":12834.4,"vol":1194,"low":12729.0,"count":111,"id":1603335600,"close":12767.2,"tradeTurnover":15268.9298,"open":12791.7},{"amount":1.152,"high":12778.3,"vol":1152,"low":12729.0,"count":115,"id":1603339200,"close":12762.2,"tradeTurnover":14695.4876,"open":12729.0},{"amount":1.21,"high":12842.0,"vol":1210,"low":12730.6,"count":119,"id":1603342800,"close":12813.8,"tradeTurnover":15440.8162,"open":12763.1},{"amount":1.188,"high":12795.0,"vol":1188,"low":12728.0,"count":123,"id":1603346400,"close":12729.1,"tradeTurnover":15128.0098,"open":12795.0},{"amount":1.266,"high":12730.6,"vol":1266,"low":12728.3,"count":112,"id":1603350000,"close":12730.6,"tradeTurnover":16115.1306,"open":12728.6},{"amount":1.35,"high":12921.5,"vol":1350,"low":12729.9,"count":127,"id":1603353600,"close":12770.1,"tradeTurnover":17233.7326,"open":12730.3},{"amount":0.98,"high":12872.1,"vol":980,"low":12760.1,"count":99,"id":1603357200,"close":12780.4,"tradeTurnover":12553.9826,"open":12824.9},{"amount":0.266,"high":13002.7,"vol":266,"low":12775.6,"count":30,"id":1603360800,"close":12934.2,"tradeTurnover":3415.023,"open":12784.9},{"amount":1.004,"high":13057.0,"vol":1004,"low":12886.6,"count":117,"id":1603364400,"close":13045.0,"tradeTurnover":13020.8576,"open":12977.0},{"amount":1.134,"high":12973.4,"vol":1134,"low":12751.6,"count":111,"id":1603368000,"close":12847.9,"tradeTurnover":14594.2752,"open":12958.5},{"amount":1.152,"high":13000.8,"vol":1152,"low":12743.0,"count":114,"id":1603371600,"close":12931.0,"tradeTurnover":14877.7314,"open":12882.7},{"amount":1.182,"high":12995.3,"vol":1182,"low":12783.9,"count":115,"id":1603375200,"close":12917.8,"tradeTurnover":15224.4716,"open":12890.4},{"amount":1.176,"high":13031.2,"vol":1176,"low":12817.9,"count":117,"id":1603378800,"close":12953.0,"tradeTurnover":15197.208,"open":12918.8},{"amount":1.146,"high":13100.2,"vol":1146,"low":12865.6,"count":119,"id":1603382400,"close":13055.6,"tradeTurnover":14851.9604,"open":12923.1},{"amount":1.534,"high":13105.7,"vol":1534,"low":12835.5,"count":124,"id":1603386000,"close":13082.7,"tradeTurnover":19927.8288,"open":12967.6},{"amount":1.268,"high":13115.0,"vol":1268,"low":12938.7,"count":117,"id":1603389600,"close":13016.4,"tradeTurnover":16505.4738,"open":13020.4},{"amount":1.13,"high":13171.2,"vol":1130,"low":12961.8,"count":112,"id":1603393200,"close":12970.6,"tradeTurnover":14762.952,"open":13028.3},{"amount":1.206,"high":13216.1,"vol":1206,"low":12998.5,"count":117,"id":1603396800,"close":13089.3,"tradeTurnover":15807.1226,"open":13016.7},{"amount":1.332,"high":13203.7,"vol":1332,"low":12932.9,"count":114,"id":1603400400,"close":13092.0,"tradeTurnover":17423.4422,"open":13136.0},{"amount":1.21,"high":13250.5,"vol":1210,"low":12984.7,"count":114,"id":1603404000,"close":13055.9,"tradeTurnover":15876.0632,"open":13119.4},{"amount":1.286,"high":13126.5,"vol":1286,"low":12857.2,"count":116,"id":1603407600,"close":12890.4,"tradeTurnover":16688.422,"open":13059.4},{"amount":1.502,"high":12994.0,"vol":1502,"low":12751.6,"count":131,"id":1603411200,"close":12892.2,"tradeTurnover":19331.1596,"open":12929.7},{"amount":1.386,"high":13003.2,"vol":1386,"low":12786.0,"count":121,"id":1603414800,"close":12898.3,"tradeTurnover":17904.8902,"open":12921.7},{"amount":1.416,"high":13054.0,"vol":1416,"low":12800.7,"count":122,"id":1603418400,"close":12975.1,"tradeTurnover":18306.6204,"open":12951.6},{"amount":1.19,"high":13030.7,"vol":1190,"low":12875.0,"count":118,"id":1603422000,"close":12947.0,"tradeTurnover":15409.7984,"open":12967.3},{"amount":1.022,"high":13047.3,"vol":1022,"low":12832.8,"count":127,"id":1603425600,"close":12852.0,"tradeTurnover":13214.4388,"open":12925.2},{"amount":0.478,"high":12991.7,"vol":478,"low":12841.2,"count":118,"id":1603429200,"close":12931.1,"tradeTurnover":6180.2486,"open":12859.0},{"amount":0.522,"high":13014.1,"vol":522,"low":12871.9,"count":132,"id":1603432800,"close":12939.6,"tradeTurnover":6759.0324,"open":12935.9},{"amount":0.476,"high":12998.9,"vol":476,"low":12917.1,"count":118,"id":1603436400,"close":12925.4,"tradeTurnover":6163.3118,"open":12923.1},{"amount":0.508,"high":13014.0,"vol":508,"low":12916.1,"count":122,"id":1603440000,"close":12962.6,"tradeTurnover":6585.3656,"open":12942.2},{"amount":0.564,"high":13012.5,"vol":564,"low":12909.9,"count":124,"id":1603443600,"close":12926.4,"tradeTurnover":7308.8828,"open":12970.5},{"amount":0.536,"high":13059.5,"vol":536,"low":12925.7,"count":124,"id":1603447200,"close":13007.7,"tradeTurnover":6957.8796,"open":13001.2},{"amount":0.486,"high":13078.4,"vol":486,"low":12906.5,"count":122,"id":1603450800,"close":12970.6,"tradeTurnover":6326.1434,"open":13025.4},{"amount":0.494,"high":13025.0,"vol":494,"low":12850.8,"count":117,"id":1603454400,"close":12935.4,"tradeTurnover":6396.0984,"open":12963.9},{"amount":0.466,"high":13043.3,"vol":466,"low":12911.0,"count":117,"id":1603458000,"close":12951.7,"tradeTurnover":6049.1412,"open":12913.3},{"amount":0.46,"high":13006.4,"vol":460,"low":12840.4,"count":116,"id":1603461600,"close":12858.8,"tradeTurnover":5941.815,"open":12999.6},{"amount":0.492,"high":12932.9,"vol":492,"low":12826.5,"count":117,"id":1603465200,"close":12881.9,"tradeTurnover":6340.214,"open":12885.7},{"amount":0.484,"high":12933.5,"vol":484,"low":12744.4,"count":123,"id":1603468800,"close":12784.1,"tradeTurnover":6205.4138,"open":12854.4},{"amount":0.562,"high":12893.1,"vol":562,"low":12730.1,"count":152,"id":1603472400,"close":12847.7,"tradeTurnover":7218.9184,"open":12832.3},{"amount":0.53,"high":12939.3,"vol":530,"low":12751.4,"count":128,"id":1603476000,"close":12915.7,"tradeTurnover":6825.7004,"open":12874.1},{"amount":0.444,"high":12972.9,"vol":444,"low":12786.6,"count":117,"id":1603479600,"close":12972.9,"tradeTurnover":5727.7452,"open":12867.9},{"amount":0.492,"high":13002.2,"vol":492,"low":12842.9,"count":116,"id":1603483200,"close":12991.6,"tradeTurnover":6375.1566,"open":12956.7},{"amount":0.5,"high":13004.3,"vol":500,"low":12936.6,"count":125,"id":1603486800,"close":12943.5,"tradeTurnover":6485.468,"open":13004.3},{"amount":0.492,"high":13010.3,"vol":492,"low":12884.7,"count":120,"id":1603490400,"close":12989.2,"tradeTurnover":6376.1492,"open":12923.6},{"amount":0.51,"high":13024.4,"vol":510,"low":12884.6,"count":121,"id":1603494000,"close":12884.6,"tradeTurnover":6622.3406,"open":12974.9},{"amount":0.488,"high":13018.3,"vol":488,"low":12811.1,"count":120,"id":1603497600,"close":12953.9,"tradeTurnover":6317.7938,"open":12973.7},{"amount":0.482,"high":13018.1,"vol":482,"low":12872.8,"count":117,"id":1603501200,"close":12934.2,"tradeTurnover":6242.4178,"open":12927.5},{"amount":0.484,"high":13003.9,"vol":484,"low":12903.3,"count":117,"id":1603504800,"close":12989.1,"tradeTurnover":6278.1756,"open":12971.9},{"amount":0.474,"high":13013.4,"vol":474,"low":12938.3,"count":122,"id":1603508400,"close":12975.9,"tradeTurnover":6157.7096,"open":13000.1},{"amount":0.526,"high":13009.4,"vol":526,"low":12905.5,"count":124,"id":1603512000,"close":12963.3,"tradeTurnover":6831.5658,"open":12989.7},{"amount":0.522,"high":13041.8,"vol":522,"low":12875.3,"count":127,"id":1603515600,"close":12989.7,"tradeTurnover":6768.8994,"open":12910.5},{"amount":0.49,"high":13058.1,"vol":490,"low":12908.8,"count":120,"id":1603519200,"close":13003.6,"tradeTurnover":6370.5714,"open":12994.7},{"amount":0.478,"high":13037.8,"vol":478,"low":12981.7,"count":120,"id":1603522800,"close":13004.2,"tradeTurnover":6218.9722,"open":13011.9},{"amount":0.52,"high":13030.6,"vol":520,"low":12899.4,"count":124,"id":1603526400,"close":12998.2,"tradeTurnover":6754.958,"open":13003.0},{"amount":0.454,"high":13020.3,"vol":454,"low":12893.6,"count":115,"id":1603530000,"close":12990.6,"tradeTurnover":5891.0574,"open":12998.2},{"amount":0.502,"high":13059.1,"vol":502,"low":12913.2,"count":124,"id":1603533600,"close":13030.1,"tradeTurnover":6525.9004,"open":12996.4},{"amount":0.468,"high":13068.3,"vol":468,"low":12940.2,"count":119,"id":1603537200,"close":13033.2,"tradeTurnover":6091.0376,"open":12988.4},{"amount":0.468,"high":13071.8,"vol":468,"low":12978.9,"count":123,"id":1603540800,"close":13006.5,"tradeTurnover":6102.5902,"open":13035.3},{"amount":0.534,"high":13066.7,"vol":534,"low":12928.1,"count":123,"id":1603544400,"close":12985.9,"tradeTurnover":6950.4268,"open":13038.8},{"amount":0.47,"high":13100.1,"vol":470,"low":12960.5,"count":100,"id":1603548000,"close":13042.0,"tradeTurnover":6124.2178,"open":12986.3},{"amount":0.456,"high":13196.5,"vol":456,"low":13038.4,"count":120,"id":1603551600,"close":13102.2,"tradeTurnover":5989.6362,"open":13038.4},{"amount":0.458,"high":13176.6,"vol":458,"low":12984.6,"count":121,"id":1603555200,"close":13052.7,"tradeTurnover":5976.331,"open":13136.8},{"amount":0.452,"high":13177.8,"vol":452,"low":13003.2,"count":118,"id":1603558800,"close":13177.8,"tradeTurnover":5911.7058,"open":13006.2},{"amount":0.468,"high":13170.7,"vol":468,"low":13023.0,"count":119,"id":1603562400,"close":13080.8,"tradeTurnover":6122.375,"open":13127.7},{"amount":0.468,"high":13179.3,"vol":468,"low":13014.2,"count":120,"id":1603566000,"close":13148.4,"tradeTurnover":6126.4278,"open":13040.7},{"amount":0.47,"high":13179.6,"vol":470,"low":12992.5,"count":119,"id":1603569600,"close":13090.1,"tradeTurnover":6151.4758,"open":13073.5},{"amount":0.458,"high":13148.7,"vol":458,"low":12980.7,"count":117,"id":1603573200,"close":12993.9,"tradeTurnover":5981.071,"open":13035.4},{"amount":0.478,"high":13112.1,"vol":478,"low":12975.6,"count":118,"id":1603576800,"close":13041.1,"tradeTurnover":6225.4216,"open":13040.7},{"amount":0.472,"high":13184.3,"vol":472,"low":13009.3,"count":118,"id":1603580400,"close":13184.3,"tradeTurnover":6173.4244,"open":13012.6},{"amount":0.46,"high":13170.4,"vol":460,"low":13007.7,"count":115,"id":1603584000,"close":13154.3,"tradeTurnover":6024.09,"open":13080.8},{"amount":0.398,"high":13196.8,"vol":398,"low":13024.0,"count":102,"id":1603587600,"close":13196.1,"tradeTurnover":5217.5364,"open":13092.0},{"amount":0.476,"high":13175.1,"vol":476,"low":13035.0,"count":120,"id":1603591200,"close":13082.4,"tradeTurnover":6228.6596,"open":13124.7},{"amount":0.578,"high":13383.8,"vol":578,"low":13049.1,"count":137,"id":1603594800,"close":13259.0,"tradeTurnover":7629.3886,"open":13049.1},{"amount":0.47,"high":13369.0,"vol":470,"low":13216.0,"count":122,"id":1603598400,"close":13243.4,"tradeTurnover":6247.955,"open":13277.0},{"amount":0.61,"high":13353.3,"vol":610,"low":13010.1,"count":134,"id":1603602000,"close":13017.3,"tradeTurnover":8048.8598,"open":13285.3},{"amount":0.486,"high":13105.7,"vol":486,"low":13018.2,"count":118,"id":1603605600,"close":13060.3,"tradeTurnover":6344.1474,"open":13022.5},{"amount":0.464,"high":13112.1,"vol":464,"low":13022.0,"count":120,"id":1603609200,"close":13078.1,"tradeTurnover":6061.5416,"open":13048.5},{"amount":0.464,"high":13091.0,"vol":464,"low":13017.2,"count":120,"id":1603612800,"close":13046.0,"tradeTurnover":6055.3734,"open":13077.2},{"amount":0.478,"high":13084.0,"vol":478,"low":13014.2,"count":117,"id":1603616400,"close":13040.8,"tradeTurnover":6235.7882,"open":13065.1},{"amount":0.478,"high":13064.2,"vol":478,"low":13010.2,"count":125,"id":1603620000,"close":13028.5,"tradeTurnover":6232.2428,"open":13047.1},{"amount":0.534,"high":13061.5,"vol":534,"low":12852.9,"count":123,"id":1603623600,"close":12897.6,"tradeTurnover":6918.1226,"open":13061.5},{"amount":0.444,"high":13069.7,"vol":444,"low":12893.2,"count":117,"id":1603627200,"close":12964.3,"tradeTurnover":5755.8712,"open":12908.3},{"amount":0.498,"high":13071.9,"vol":498,"low":12891.8,"count":119,"id":1603630800,"close":12949.3,"tradeTurnover":6465.078,"open":13001.3},{"amount":0.468,"high":13077.7,"vol":468,"low":12900.0,"count":116,"id":1603634400,"close":12946.8,"tradeTurnover":6075.4554,"open":12975.8},{"amount":0.47,"high":13069.1,"vol":470,"low":12883.3,"count":119,"id":1603638000,"close":12883.3,"tradeTurnover":6097.1072,"open":12975.2},{"amount":0.482,"high":13067.9,"vol":482,"low":12877.5,"count":118,"id":1603641600,"close":12978.7,"tradeTurnover":6256.4472,"open":12916.2},{"amount":0.47,"high":13087.5,"vol":470,"low":12922.7,"count":117,"id":1603645200,"close":13004.4,"tradeTurnover":6108.3892,"open":13008.0},{"amount":0.468,"high":13067.6,"vol":468,"low":12893.6,"count":118,"id":1603648800,"close":12957.2,"tradeTurnover":6079.1484,"open":12972.8},{"amount":0.442,"high":13066.9,"vol":442,"low":12916.6,"count":118,"id":1603652400,"close":13021.8,"tradeTurnover":5746.5548,"open":12996.5},{"amount":0.508,"high":13081.5,"vol":508,"low":12944.9,"count":120,"id":1603656000,"close":12985.4,"tradeTurnover":6616.9872,"open":12992.9},{"amount":0.508,"high":13068.6,"vol":508,"low":12921.4,"count":122,"id":1603659600,"close":13011.2,"tradeTurnover":6614.816,"open":12999.9},{"amount":0.486,"high":13073.8,"vol":486,"low":12911.9,"count":121,"id":1603663200,"close":12959.4,"tradeTurnover":6320.907,"open":12979.6},{"amount":0.452,"high":13085.2,"vol":452,"low":12927.8,"count":113,"id":1603666800,"close":13032.1,"tradeTurnover":5878.6442,"open":12963.4},{"amount":0.482,"high":13076.7,"vol":482,"low":12918.3,"count":121,"id":1603670400,"close":13001.0,"tradeTurnover":6263.698,"open":12964.2},{"amount":0.478,"high":13096.4,"vol":478,"low":12991.2,"count":124,"id":1603674000,"close":13053.7,"tradeTurnover":6232.2328,"open":13040.0},{"amount":0.488,"high":13185.7,"vol":488,"low":12985.1,"count":121,"id":1603677600,"close":13064.4,"tradeTurnover":6387.534,"open":13060.6},{"amount":0.486,"high":13187.2,"vol":486,"low":12984.1,"count":135,"id":1603681200,"close":13092.8,"tradeTurnover":6369.0272,"open":13032.3},{"amount":0.51,"high":13181.6,"vol":510,"low":12962.3,"count":131,"id":1603684800,"close":13132.6,"tradeTurnover":6679.829,"open":13092.0},{"amount":0.506,"high":13205.3,"vol":506,"low":13025.3,"count":126,"id":1603688400,"close":13092.1,"tradeTurnover":6641.2128,"open":13129.2},{"amount":1.616,"high":13188.1,"vol":1616,"low":12989.8,"count":141,"id":1603692000,"close":13071.4,"tradeTurnover":21170.8224,"open":13121.8},{"amount":3.746,"high":13100.0,"vol":3746,"low":12965.2,"count":110,"id":1603695600,"close":13038.7,"tradeTurnover":48924.8902,"open":13061.0},{"amount":8.966,"high":13102.0,"vol":8966,"low":12852.8,"count":173,"id":1603699200,"close":13039.3,"tradeTurnover":116525.5534,"open":13030.9},{"amount":4.48,"high":13088.4,"vol":4480,"low":13039.8,"count":124,"id":1603702800,"close":13075.9,"tradeTurnover":58521.1714,"open":13047.1},{"amount":4.272,"high":13100.0,"vol":4272,"low":13060.2,"count":130,"id":1603706400,"close":13100.0,"tradeTurnover":55895.9778,"open":13072.1},{"amount":29.798,"high":13159.0,"vol":29798,"low":13100.0,"count":230,"id":1603710000,"close":13138.4,"tradeTurnover":391138.024,"open":13100.0},{"amount":5.154,"high":13200.0,"vol":5154,"low":13100.0,"count":188,"id":1603713600,"close":13149.8,"tradeTurnover":67694.652,"open":13138.8},{"amount":35.608,"high":13351.5,"vol":35608,"low":13133.1,"count":328,"id":1603717200,"close":13205.8,"tradeTurnover":472780.3394,"open":13150.0},{"amount":31.748,"high":13280.0,"vol":31748,"low":13144.1,"count":235,"id":1603720800,"close":13166.1,"tradeTurnover":418744.5588,"open":13203.0},{"amount":36.53,"high":13165.2,"vol":36530,"low":12903.8,"count":384,"id":1603724400,"close":12978.0,"tradeTurnover":476940.3296,"open":13159.0},{"amount":35.018,"high":13069.8,"vol":35018,"low":12850.5,"count":323,"id":1603728000,"close":12869.6,"tradeTurnover":453288.918,"open":12965.0},{"amount":92.628,"high":12941.5,"vol":92628,"low":12583.9,"count":560,"id":1603731600,"close":12873.8,"tradeTurnover":1185973.467,"open":12879.2},{"amount":4.302,"high":12954.5,"vol":4302,"low":12820.4,"count":128,"id":1603735200,"close":12946.8,"tradeTurnover":55481.0054,"open":12856.2},{"amount":13.83,"high":12953.5,"vol":13830,"low":12914.1,"count":118,"id":1603738800,"close":12953.4,"tradeTurnover":179112.1598,"open":12945.6},{"amount":17.172,"high":13007.5,"vol":17172,"low":12953.5,"count":132,"id":1603742400,"close":12983.4,"tradeTurnover":223230.2122,"open":12953.5},{"amount":3.212,"high":13007.5,"vol":3212,"low":12982.7,"count":59,"id":1603746000,"close":12993.8,"tradeTurnover":41767.8906,"open":12983.1},{"amount":1.504,"high":13007.5,"vol":1504,"low":12974.0,"count":74,"id":1603749600,"close":13007.5,"tradeTurnover":19543.3568,"open":13002.1},{"amount":3.454,"high":13061.2,"vol":3454,"low":13007.5,"count":101,"id":1603753200,"close":13033.7,"tradeTurnover":45001.601,"open":13007.5},{"amount":8.784,"high":13105.0,"vol":8784,"low":13028.3,"count":98,"id":1603756800,"close":13067.1,"tradeTurnover":114871.8246,"open":13029.2},{"amount":11.592,"high":13074.4,"vol":11592,"low":13051.5,"count":66,"id":1603760400,"close":13061.7,"tradeTurnover":151386.9038,"open":13074.3},{"amount":19.298,"high":13097.6,"vol":19298,"low":13040.1,"count":109,"id":1603764000,"close":13049.7,"tradeTurnover":252061.019,"open":13061.7},{"amount":22.992,"high":13080.0,"vol":22992,"low":13057.1,"count":69,"id":1603767600,"close":13070.4,"tradeTurnover":300453.9788,"open":13057.6},{"amount":14.396,"high":13175.0,"vol":14396,"low":13079.6,"count":59,"id":1603771200,"close":13103.3,"tradeTurnover":188461.9156,"open":13080.0},{"amount":5.058,"high":13121.3,"vol":5058,"low":13069.7,"count":44,"id":1603774800,"close":13073.6,"tradeTurnover":66201.3552,"open":13121.3},{"amount":9.106,"high":13149.0,"vol":9106,"low":13069.6,"count":107,"id":1603778400,"close":13103.4,"tradeTurnover":119104.8906,"open":13074.9},{"amount":73.95,"high":13169.8,"vol":73950,"low":12992.4,"count":305,"id":1603782000,"close":13130.0,"tradeTurnover":968195.155,"open":13103.3},{"amount":18.732,"high":13148.4,"vol":18732,"low":13044.0,"count":135,"id":1603785600,"close":13123.8,"tradeTurnover":245533.5448,"open":13135.1},{"amount":13.756,"high":13131.8,"vol":13756,"low":13075.7,"count":102,"id":1603789200,"close":13131.7,"tradeTurnover":180253.7708,"open":13115.5},{"amount":154.108,"high":13252.0,"vol":154108,"low":13063.4,"count":525,"id":1603792800,"close":13216.9,"tradeTurnover":2029983.656,"open":13134.8},{"amount":170.09,"high":13590.1,"vol":170090,"low":13213.5,"count":591,"id":1603796400,"close":13395.8,"tradeTurnover":2276279.742,"open":13218.8},{"amount":48.928,"high":13414.0,"vol":48928,"low":13331.7,"count":216,"id":1603800000,"close":13376.9,"tradeTurnover":654585.9108,"open":13395.9},{"amount":63.294,"high":13490.9,"vol":63294,"low":13329.8,"count":316,"id":1603803600,"close":13384.3,"tradeTurnover":848130.9212,"open":13376.5},{"amount":12.892,"high":13415.8,"vol":12892,"low":13344.8,"count":124,"id":1603807200,"close":13398.2,"tradeTurnover":172618.6864,"open":13392.6},{"amount":93.22,"high":13626.7,"vol":93220,"low":13398.2,"count":476,"id":1603810800,"close":13598.5,"tradeTurnover":1262695.5466,"open":13398.2},{"amount":85.45,"high":13639.9,"vol":85450,"low":13520.2,"count":435,"id":1603814400,"close":13639.9,"tradeTurnover":1161481.4136,"open":13595.8},{"amount":191.812,"high":13826.7,"vol":191812,"low":13589.0,"count":711,"id":1603818000,"close":13688.1,"tradeTurnover":2628428.3788,"open":13640.0},{"amount":65.434,"high":13745.0,"vol":65434,"low":13528.2,"count":410,"id":1603821600,"close":13630.1,"tradeTurnover":891541.8394,"open":13685.0},{"amount":5.788,"high":13659.8,"vol":5788,"low":13595.4,"count":65,"id":1603825200,"close":13637.1,"tradeTurnover":78836.2578,"open":13629.4},{"amount":163.104,"high":13805.1,"vol":163104,"low":13582.6,"count":537,"id":1603828800,"close":13616.6,"tradeTurnover":2234040.3544,"open":13644.4},{"amount":9.884,"high":13753.5,"vol":9884,"low":13609.8,"count":101,"id":1603832400,"close":13705.5,"tradeTurnover":135406.4752,"open":13609.8},{"amount":7.436,"high":13739.9,"vol":7436,"low":13658.2,"count":100,"id":1603836000,"close":13739.9,"tradeTurnover":101840.3508,"open":13705.4},{"amount":17.086,"high":13794.6,"vol":17086,"low":13582.6,"count":234,"id":1603839600,"close":13649.6,"tradeTurnover":233971.8448,"open":13739.9},{"amount":24.108,"high":13745.2,"vol":24108,"low":13618.8,"count":177,"id":1603843200,"close":13701.7,"tradeTurnover":330206.5694,"open":13645.9},{"amount":15.892,"high":13725.6,"vol":15892,"low":13647.9,"count":151,"id":1603846800,"close":13702.6,"tradeTurnover":217816.7008,"open":13702.1},{"amount":46.548,"high":13832.2,"vol":46548,"low":13680.2,"count":274,"id":1603850400,"close":13811.6,"tradeTurnover":640636.0352,"open":13701.7},{"amount":67.896,"high":13820.3,"vol":67896,"low":13717.5,"count":320,"id":1603854000,"close":13777.0,"tradeTurnover":935838.2238,"open":13818.5},{"amount":33.156,"high":13807.2,"vol":33156,"low":13710.0,"count":210,"id":1603857600,"close":13735.7,"tradeTurnover":455941.234,"open":13767.3},{"amount":32.076,"high":13753.9,"vol":32076,"low":13671.3,"count":198,"id":1603861200,"close":13715.8,"tradeTurnover":439612.64,"open":13735.5},{"amount":14.756,"high":13757.0,"vol":14756,"low":13694.9,"count":122,"id":1603864800,"close":13701.3,"tradeTurnover":202602.5164,"open":13715.9},{"amount":155.534,"high":13708.7,"vol":155534,"low":13550.0,"count":635,"id":1603868400,"close":13674.2,"tradeTurnover":2117935.0928,"open":13701.2},{"amount":29.846,"high":13691.7,"vol":29846,"low":13584.0,"count":240,"id":1603872000,"close":13691.7,"tradeTurnover":407073.1398,"open":13673.0},{"amount":104.542,"high":13707.5,"vol":104542,"low":13573.5,"count":377,"id":1603875600,"close":13587.1,"tradeTurnover":1425079.9344,"open":13689.3},{"amount":73.818,"high":13618.0,"vol":73818,"low":13504.7,"count":358,"id":1603879200,"close":13552.7,"tradeTurnover":1001666.0908,"open":13584.6},{"amount":176.544,"high":13565.4,"vol":176544,"low":13330.0,"count":1004,"id":1603882800,"close":13336.4,"tradeTurnover":2369166.1492,"open":13552.6},{"amount":289.73,"high":13385.0,"vol":289730,"low":13173.9,"count":968,"id":1603886400,"close":13300.3,"tradeTurnover":3846751.7166,"open":13331.5},{"amount":139.822,"high":13340.0,"vol":139822,"low":13122.9,"count":612,"id":1603890000,"close":13129.9,"tradeTurnover":1848876.932,"open":13300.2},{"amount":367.876,"high":13168.2,"vol":367876,"low":12915.9,"count":1168,"id":1603893600,"close":13082.2,"tradeTurnover":4802516.9818,"open":13123.4},{"amount":84.044,"high":13235.2,"vol":84044,"low":13052.3,"count":375,"id":1603897200,"close":13221.2,"tradeTurnover":1106883.1282,"open":13077.1},{"amount":29.566,"high":13218.7,"vol":29566,"low":13050.0,"count":244,"id":1603900800,"close":13145.1,"tradeTurnover":388697.4104,"open":13218.7},{"amount":53.336,"high":13204.9,"vol":53336,"low":13006.6,"count":299,"id":1603904400,"close":13176.7,"tradeTurnover":700385.2784,"open":13145.1},{"amount":34.164,"high":13219.6,"vol":34164,"low":13131.0,"count":218,"id":1603908000,"close":13196.5,"tradeTurnover":450210.5778,"open":13171.0},{"amount":22.158,"high":13237.4,"vol":22158,"low":13145.0,"count":185,"id":1603911600,"close":13154.9,"tradeTurnover":292020.0438,"open":13200.0},{"amount":4.548,"high":13211.8,"vol":4548,"low":13147.4,"count":75,"id":1603915200,"close":13198.1,"tradeTurnover":59991.1118,"open":13154.5},{"amount":3.52,"high":13196.5,"vol":3520,"low":13100.2,"count":68,"id":1603918800,"close":13190.1,"tradeTurnover":46175.428,"open":13193.5},{"amount":3.122,"high":13267.5,"vol":3122,"low":13185.4,"count":72,"id":1603922400,"close":13252.0,"tradeTurnover":41304.2018,"open":13185.4},{"amount":14.768,"high":13282.3,"vol":14768,"low":13235.9,"count":86,"id":1603926000,"close":13265.9,"tradeTurnover":195689.0764,"open":13242.1},{"amount":19.968,"high":13294.7,"vol":19968,"low":13237.4,"count":98,"id":1603929600,"close":13245.1,"tradeTurnover":264834.1944,"open":13253.9},{"amount":35.282,"high":13285.3,"vol":35282,"low":13166.3,"count":192,"id":1603933200,"close":13274.2,"tradeTurnover":465789.6302,"open":13244.6},{"amount":9.748,"high":13277.7,"vol":9748,"low":13212.2,"count":119,"id":1603936800,"close":13241.1,"tradeTurnover":129016.0684,"open":13275.9},{"amount":27.3,"high":13262.5,"vol":27300,"low":13174.6,"count":199,"id":1603940400,"close":13262.5,"tradeTurnover":360589.8982,"open":13237.1},{"amount":18.904,"high":13277.7,"vol":18904,"low":13229.5,"count":109,"id":1603944000,"close":13229.5,"tradeTurnover":250713.2812,"open":13269.1},{"amount":15.822,"high":13274.8,"vol":15822,"low":13228.5,"count":134,"id":1603947600,"close":13274.8,"tradeTurnover":209781.909,"open":13228.5},{"amount":91.246,"high":13323.0,"vol":91246,"low":13242.3,"count":294,"id":1603951200,"close":13255.0,"tradeTurnover":1211271.2788,"open":13274.8},{"amount":187.622,"high":13269.3,"vol":187622,"low":13123.1,"count":506,"id":1603954800,"close":13142.4,"tradeTurnover":2478299.7074,"open":13255.0},{"amount":69.532,"high":13182.4,"vol":69532,"low":13094.1,"count":226,"id":1603958400,"close":13124.8,"tradeTurnover":914157.2418,"open":13145.9},{"amount":23.184,"high":13197.1,"vol":23184,"low":13129.5,"count":141,"id":1603962000,"close":13183.7,"tradeTurnover":305485.9524,"open":13129.5},{"amount":121.146,"high":13187.5,"vol":121146,"low":13053.1,"count":442,"id":1603965600,"close":13105.2,"tradeTurnover":1590026.4416,"open":13184.8},{"amount":47.498,"high":13171.4,"vol":47498,"low":13060.1,"count":262,"id":1603969200,"close":13060.1,"tradeTurnover":623578.149,"open":13105.1},{"amount":126.552,"high":13145.8,"vol":126552,"low":12977.9,"count":481,"id":1603972800,"close":13131.8,"tradeTurnover":1652549.311,"open":13056.9},{"amount":100.482,"high":13237.2,"vol":100482,"low":13102.0,"count":325,"id":1603976400,"close":13230.0,"tradeTurnover":1326403.7206,"open":13131.7},{"amount":253.258,"high":13476.1,"vol":253258,"low":13231.0,"count":752,"id":1603980000,"close":13420.8,"tradeTurnover":3384941.438,"open":13231.0},{"amount":64.71,"high":13458.7,"vol":64710,"low":13358.7,"count":269,"id":1603983600,"close":13420.6,"tradeTurnover":869052.3804,"open":13416.0},{"amount":120.24,"high":13594.5,"vol":120240,"low":13391.8,"count":570,"id":1603987200,"close":13535.9,"tradeTurnover":1626567.8278,"open":13421.9}],"id":"","rep":"market.BTC-USDT.kline.60min","status":"ok"} +2024-01-18 11:13:12.995 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:39] - 请求 KLine 数据用户收到的原始数据:{"id":"","rep":"market.BTC-USDT.kline.60min","ts":1705547591905,"wsid":19750305,"status":"ok","data":[{"id":1603270800,"open":12198.0,"close":12196.7,"high":12300.0,"low":11715.8,"amount":0.276,"vol":276,"trade_turnover":3315.9104,"count":39},{"id":1603274400,"open":12196.7,"close":12277.9,"high":12289.9,"low":12111.0,"amount":0.198,"vol":198,"trade_turnover":2420.7728,"count":21},{"id":1603278000,"open":12111.0,"close":12000.0,"high":12277.9,"low":12000.0,"amount":0.012,"vol":12,"trade_turnover":145.2238,"count":5},{"id":1603281600,"open":12078.0,"close":12497.4,"high":12498.0,"low":12078.0,"amount":0.084,"vol":84,"trade_turnover":1040.0504,"count":12},{"id":1603285200,"open":12495.6,"close":12373.5,"high":12495.6,"low":12282.9,"amount":1.122,"vol":1122,"trade_turnover":13905.3124,"count":112},{"id":1603288800,"open":12412.9,"close":12689.9,"high":12807.6,"low":12358.1,"amount":5.29,"vol":5290,"trade_turnover":66852.128,"count":155},{"id":1603292400,"open":12692.8,"close":12701.9,"high":12778.7,"low":12573.2,"amount":1.174,"vol":1174,"trade_turnover":14907.367,"count":113},{"id":1603296000,"open":12679.7,"close":12835.9,"high":12920.9,"low":12624.8,"amount":1.156,"vol":1156,"trade_turnover":14802.449,"count":115},{"id":1603299600,"open":12848.3,"close":12754.2,"high":12908.3,"low":12687.5,"amount":1.12,"vol":1120,"trade_turnover":14345.7324,"count":115},{"id":1603303200,"open":12743.7,"close":12740.2,"high":12849.0,"low":12668.3,"amount":1.106,"vol":1106,"trade_turnover":14105.3504,"count":114},{"id":1603306800,"open":12729.5,"close":12650.3,"high":12843.1,"low":12597.2,"amount":1.032,"vol":1032,"trade_turnover":13125.4568,"count":112},{"id":1603310400,"open":12666.8,"close":12807.0,"high":12848.4,"low":12610.2,"amount":1.154,"vol":1154,"trade_turnover":14680.638,"count":116},{"id":1603314000,"open":12866.0,"close":12938.9,"high":13005.1,"low":12748.2,"amount":1.164,"vol":1164,"trade_turnover":14976.9366,"count":114},{"id":1603317600,"open":12921.0,"close":13122.0,"high":13211.2,"low":12865.7,"amount":1.174,"vol":1174,"trade_turnover":15285.2446,"count":114},{"id":1603321200,"open":13153.2,"close":12829.8,"high":13173.2,"low":12688.6,"amount":1.172,"vol":1172,"trade_turnover":15060.9938,"count":117},{"id":1603324800,"open":12793.1,"close":12885.9,"high":12988.1,"low":12764.4,"amount":1.17,"vol":1170,"trade_turnover":15046.2046,"count":117},{"id":1603328400,"open":12860.4,"close":12757.5,"high":12972.6,"low":12757.5,"amount":1.158,"vol":1158,"trade_turnover":14882.4656,"count":118},{"id":1603332000,"open":12824.1,"close":12788.8,"high":12848.0,"low":12729.0,"amount":1.124,"vol":1124,"trade_turnover":14368.7948,"count":115},{"id":1603335600,"open":12791.7,"close":12767.2,"high":12834.4,"low":12729.0,"amount":1.194,"vol":1194,"trade_turnover":15268.9298,"count":111},{"id":1603339200,"open":12729.0,"close":12762.2,"high":12778.3,"low":12729.0,"amount":1.152,"vol":1152,"trade_turnover":14695.4876,"count":115},{"id":1603342800,"open":12763.1,"close":12813.8,"high":12842.0,"low":12730.6,"amount":1.21,"vol":1210,"trade_turnover":15440.8162,"count":119},{"id":1603346400,"open":12795.0,"close":12729.1,"high":12795.0,"low":12728.0,"amount":1.188,"vol":1188,"trade_turnover":15128.0098,"count":123},{"id":1603350000,"open":12728.6,"close":12730.6,"high":12730.6,"low":12728.3,"amount":1.266,"vol":1266,"trade_turnover":16115.1306,"count":112},{"id":1603353600,"open":12730.3,"close":12770.1,"high":12921.5,"low":12729.9,"amount":1.35,"vol":1350,"trade_turnover":17233.7326,"count":127},{"id":1603357200,"open":12824.9,"close":12780.4,"high":12872.1,"low":12760.1,"amount":0.98,"vol":980,"trade_turnover":12553.9826,"count":99},{"id":1603360800,"open":12784.9,"close":12934.2,"high":13002.7,"low":12775.6,"amount":0.266,"vol":266,"trade_turnover":3415.023,"count":30},{"id":1603364400,"open":12977.0,"close":13045.0,"high":13057.0,"low":12886.6,"amount":1.004,"vol":1004,"trade_turnover":13020.8576,"count":117},{"id":1603368000,"open":12958.5,"close":12847.9,"high":12973.4,"low":12751.6,"amount":1.134,"vol":1134,"trade_turnover":14594.2752,"count":111},{"id":1603371600,"open":12882.7,"close":12931.0,"high":13000.8,"low":12743.0,"amount":1.152,"vol":1152,"trade_turnover":14877.7314,"count":114},{"id":1603375200,"open":12890.4,"close":12917.8,"high":12995.3,"low":12783.9,"amount":1.182,"vol":1182,"trade_turnover":15224.4716,"count":115},{"id":1603378800,"open":12918.8,"close":12953.0,"high":13031.2,"low":12817.9,"amount":1.176,"vol":1176,"trade_turnover":15197.208,"count":117},{"id":1603382400,"open":12923.1,"close":13055.6,"high":13100.2,"low":12865.6,"amount":1.146,"vol":1146,"trade_turnover":14851.9604,"count":119},{"id":1603386000,"open":12967.6,"close":13082.7,"high":13105.7,"low":12835.5,"amount":1.534,"vol":1534,"trade_turnover":19927.8288,"count":124},{"id":1603389600,"open":13020.4,"close":13016.4,"high":13115.0,"low":12938.7,"amount":1.268,"vol":1268,"trade_turnover":16505.4738,"count":117},{"id":1603393200,"open":13028.3,"close":12970.6,"high":13171.2,"low":12961.8,"amount":1.13,"vol":1130,"trade_turnover":14762.952,"count":112},{"id":1603396800,"open":13016.7,"close":13089.3,"high":13216.1,"low":12998.5,"amount":1.206,"vol":1206,"trade_turnover":15807.1226,"count":117},{"id":1603400400,"open":13136.0,"close":13092.0,"high":13203.7,"low":12932.9,"amount":1.332,"vol":1332,"trade_turnover":17423.4422,"count":114},{"id":1603404000,"open":13119.4,"close":13055.9,"high":13250.5,"low":12984.7,"amount":1.21,"vol":1210,"trade_turnover":15876.0632,"count":114},{"id":1603407600,"open":13059.4,"close":12890.4,"high":13126.5,"low":12857.2,"amount":1.286,"vol":1286,"trade_turnover":16688.422,"count":116},{"id":1603411200,"open":12929.7,"close":12892.2,"high":12994.0,"low":12751.6,"amount":1.502,"vol":1502,"trade_turnover":19331.1596,"count":131},{"id":1603414800,"open":12921.7,"close":12898.3,"high":13003.2,"low":12786.0,"amount":1.386,"vol":1386,"trade_turnover":17904.8902,"count":121},{"id":1603418400,"open":12951.6,"close":12975.1,"high":13054.0,"low":12800.7,"amount":1.416,"vol":1416,"trade_turnover":18306.6204,"count":122},{"id":1603422000,"open":12967.3,"close":12947.0,"high":13030.7,"low":12875.0,"amount":1.19,"vol":1190,"trade_turnover":15409.7984,"count":118},{"id":1603425600,"open":12925.2,"close":12852.0,"high":13047.3,"low":12832.8,"amount":1.022,"vol":1022,"trade_turnover":13214.4388,"count":127},{"id":1603429200,"open":12859.0,"close":12931.1,"high":12991.7,"low":12841.2,"amount":0.478,"vol":478,"trade_turnover":6180.2486,"count":118},{"id":1603432800,"open":12935.9,"close":12939.6,"high":13014.1,"low":12871.9,"amount":0.522,"vol":522,"trade_turnover":6759.0324,"count":132},{"id":1603436400,"open":12923.1,"close":12925.4,"high":12998.9,"low":12917.1,"amount":0.476,"vol":476,"trade_turnover":6163.3118,"count":118},{"id":1603440000,"open":12942.2,"close":12962.6,"high":13014.0,"low":12916.1,"amount":0.508,"vol":508,"trade_turnover":6585.3656,"count":122},{"id":1603443600,"open":12970.5,"close":12926.4,"high":13012.5,"low":12909.9,"amount":0.564,"vol":564,"trade_turnover":7308.8828,"count":124},{"id":1603447200,"open":13001.2,"close":13007.7,"high":13059.5,"low":12925.7,"amount":0.536,"vol":536,"trade_turnover":6957.8796,"count":124},{"id":1603450800,"open":13025.4,"close":12970.6,"high":13078.4,"low":12906.5,"amount":0.486,"vol":486,"trade_turnover":6326.1434,"count":122},{"id":1603454400,"open":12963.9,"close":12935.4,"high":13025.0,"low":12850.8,"amount":0.494,"vol":494,"trade_turnover":6396.0984,"count":117},{"id":1603458000,"open":12913.3,"close":12951.7,"high":13043.3,"low":12911.0,"amount":0.466,"vol":466,"trade_turnover":6049.1412,"count":117},{"id":1603461600,"open":12999.6,"close":12858.8,"high":13006.4,"low":12840.4,"amount":0.46,"vol":460,"trade_turnover":5941.815,"count":116},{"id":1603465200,"open":12885.7,"close":12881.9,"high":12932.9,"low":12826.5,"amount":0.492,"vol":492,"trade_turnover":6340.214,"count":117},{"id":1603468800,"open":12854.4,"close":12784.1,"high":12933.5,"low":12744.4,"amount":0.484,"vol":484,"trade_turnover":6205.4138,"count":123},{"id":1603472400,"open":12832.3,"close":12847.7,"high":12893.1,"low":12730.1,"amount":0.562,"vol":562,"trade_turnover":7218.9184,"count":152},{"id":1603476000,"open":12874.1,"close":12915.7,"high":12939.3,"low":12751.4,"amount":0.53,"vol":530,"trade_turnover":6825.7004,"count":128},{"id":1603479600,"open":12867.9,"close":12972.9,"high":12972.9,"low":12786.6,"amount":0.444,"vol":444,"trade_turnover":5727.7452,"count":117},{"id":1603483200,"open":12956.7,"close":12991.6,"high":13002.2,"low":12842.9,"amount":0.492,"vol":492,"trade_turnover":6375.1566,"count":116},{"id":1603486800,"open":13004.3,"close":12943.5,"high":13004.3,"low":12936.6,"amount":0.5,"vol":500,"trade_turnover":6485.468,"count":125},{"id":1603490400,"open":12923.6,"close":12989.2,"high":13010.3,"low":12884.7,"amount":0.492,"vol":492,"trade_turnover":6376.1492,"count":120},{"id":1603494000,"open":12974.9,"close":12884.6,"high":13024.4,"low":12884.6,"amount":0.51,"vol":510,"trade_turnover":6622.3406,"count":121},{"id":1603497600,"open":12973.7,"close":12953.9,"high":13018.3,"low":12811.1,"amount":0.488,"vol":488,"trade_turnover":6317.7938,"count":120},{"id":1603501200,"open":12927.5,"close":12934.2,"high":13018.1,"low":12872.8,"amount":0.482,"vol":482,"trade_turnover":6242.4178,"count":117},{"id":1603504800,"open":12971.9,"close":12989.1,"high":13003.9,"low":12903.3,"amount":0.484,"vol":484,"trade_turnover":6278.1756,"count":117},{"id":1603508400,"open":13000.1,"close":12975.9,"high":13013.4,"low":12938.3,"amount":0.474,"vol":474,"trade_turnover":6157.7096,"count":122},{"id":1603512000,"open":12989.7,"close":12963.3,"high":13009.4,"low":12905.5,"amount":0.526,"vol":526,"trade_turnover":6831.5658,"count":124},{"id":1603515600,"open":12910.5,"close":12989.7,"high":13041.8,"low":12875.3,"amount":0.522,"vol":522,"trade_turnover":6768.8994,"count":127},{"id":1603519200,"open":12994.7,"close":13003.6,"high":13058.1,"low":12908.8,"amount":0.49,"vol":490,"trade_turnover":6370.5714,"count":120},{"id":1603522800,"open":13011.9,"close":13004.2,"high":13037.8,"low":12981.7,"amount":0.478,"vol":478,"trade_turnover":6218.9722,"count":120},{"id":1603526400,"open":13003.0,"close":12998.2,"high":13030.6,"low":12899.4,"amount":0.52,"vol":520,"trade_turnover":6754.958,"count":124},{"id":1603530000,"open":12998.2,"close":12990.6,"high":13020.3,"low":12893.6,"amount":0.454,"vol":454,"trade_turnover":5891.0574,"count":115},{"id":1603533600,"open":12996.4,"close":13030.1,"high":13059.1,"low":12913.2,"amount":0.502,"vol":502,"trade_turnover":6525.9004,"count":124},{"id":1603537200,"open":12988.4,"close":13033.2,"high":13068.3,"low":12940.2,"amount":0.468,"vol":468,"trade_turnover":6091.0376,"count":119},{"id":1603540800,"open":13035.3,"close":13006.5,"high":13071.8,"low":12978.9,"amount":0.468,"vol":468,"trade_turnover":6102.5902,"count":123},{"id":1603544400,"open":13038.8,"close":12985.9,"high":13066.7,"low":12928.1,"amount":0.534,"vol":534,"trade_turnover":6950.4268,"count":123},{"id":1603548000,"open":12986.3,"close":13042.0,"high":13100.1,"low":12960.5,"amount":0.47,"vol":470,"trade_turnover":6124.2178,"count":100},{"id":1603551600,"open":13038.4,"close":13102.2,"high":13196.5,"low":13038.4,"amount":0.456,"vol":456,"trade_turnover":5989.6362,"count":120},{"id":1603555200,"open":13136.8,"close":13052.7,"high":13176.6,"low":12984.6,"amount":0.458,"vol":458,"trade_turnover":5976.331,"count":121},{"id":1603558800,"open":13006.2,"close":13177.8,"high":13177.8,"low":13003.2,"amount":0.452,"vol":452,"trade_turnover":5911.7058,"count":118},{"id":1603562400,"open":13127.7,"close":13080.8,"high":13170.7,"low":13023.0,"amount":0.468,"vol":468,"trade_turnover":6122.375,"count":119},{"id":1603566000,"open":13040.7,"close":13148.4,"high":13179.3,"low":13014.2,"amount":0.468,"vol":468,"trade_turnover":6126.4278,"count":120},{"id":1603569600,"open":13073.5,"close":13090.1,"high":13179.6,"low":12992.5,"amount":0.47,"vol":470,"trade_turnover":6151.4758,"count":119},{"id":1603573200,"open":13035.4,"close":12993.9,"high":13148.7,"low":12980.7,"amount":0.458,"vol":458,"trade_turnover":5981.071,"count":117},{"id":1603576800,"open":13040.7,"close":13041.1,"high":13112.1,"low":12975.6,"amount":0.478,"vol":478,"trade_turnover":6225.4216,"count":118},{"id":1603580400,"open":13012.6,"close":13184.3,"high":13184.3,"low":13009.3,"amount":0.472,"vol":472,"trade_turnover":6173.4244,"count":118},{"id":1603584000,"open":13080.8,"close":13154.3,"high":13170.4,"low":13007.7,"amount":0.46,"vol":460,"trade_turnover":6024.09,"count":115},{"id":1603587600,"open":13092.0,"close":13196.1,"high":13196.8,"low":13024.0,"amount":0.398,"vol":398,"trade_turnover":5217.5364,"count":102},{"id":1603591200,"open":13124.7,"close":13082.4,"high":13175.1,"low":13035.0,"amount":0.476,"vol":476,"trade_turnover":6228.6596,"count":120},{"id":1603594800,"open":13049.1,"close":13259.0,"high":13383.8,"low":13049.1,"amount":0.578,"vol":578,"trade_turnover":7629.3886,"count":137},{"id":1603598400,"open":13277.0,"close":13243.4,"high":13369.0,"low":13216.0,"amount":0.47,"vol":470,"trade_turnover":6247.955,"count":122},{"id":1603602000,"open":13285.3,"close":13017.3,"high":13353.3,"low":13010.1,"amount":0.61,"vol":610,"trade_turnover":8048.8598,"count":134},{"id":1603605600,"open":13022.5,"close":13060.3,"high":13105.7,"low":13018.2,"amount":0.486,"vol":486,"trade_turnover":6344.1474,"count":118},{"id":1603609200,"open":13048.5,"close":13078.1,"high":13112.1,"low":13022.0,"amount":0.464,"vol":464,"trade_turnover":6061.5416,"count":120},{"id":1603612800,"open":13077.2,"close":13046.0,"high":13091.0,"low":13017.2,"amount":0.464,"vol":464,"trade_turnover":6055.3734,"count":120},{"id":1603616400,"open":13065.1,"close":13040.8,"high":13084.0,"low":13014.2,"amount":0.478,"vol":478,"trade_turnover":6235.7882,"count":117},{"id":1603620000,"open":13047.1,"close":13028.5,"high":13064.2,"low":13010.2,"amount":0.478,"vol":478,"trade_turnover":6232.2428,"count":125},{"id":1603623600,"open":13061.5,"close":12897.6,"high":13061.5,"low":12852.9,"amount":0.534,"vol":534,"trade_turnover":6918.1226,"count":123},{"id":1603627200,"open":12908.3,"close":12964.3,"high":13069.7,"low":12893.2,"amount":0.444,"vol":444,"trade_turnover":5755.8712,"count":117},{"id":1603630800,"open":13001.3,"close":12949.3,"high":13071.9,"low":12891.8,"amount":0.498,"vol":498,"trade_turnover":6465.078,"count":119},{"id":1603634400,"open":12975.8,"close":12946.8,"high":13077.7,"low":12900.0,"amount":0.468,"vol":468,"trade_turnover":6075.4554,"count":116},{"id":1603638000,"open":12975.2,"close":12883.3,"high":13069.1,"low":12883.3,"amount":0.47,"vol":470,"trade_turnover":6097.1072,"count":119},{"id":1603641600,"open":12916.2,"close":12978.7,"high":13067.9,"low":12877.5,"amount":0.482,"vol":482,"trade_turnover":6256.4472,"count":118},{"id":1603645200,"open":13008.0,"close":13004.4,"high":13087.5,"low":12922.7,"amount":0.47,"vol":470,"trade_turnover":6108.3892,"count":117},{"id":1603648800,"open":12972.8,"close":12957.2,"high":13067.6,"low":12893.6,"amount":0.468,"vol":468,"trade_turnover":6079.1484,"count":118},{"id":1603652400,"open":12996.5,"close":13021.8,"high":13066.9,"low":12916.6,"amount":0.442,"vol":442,"trade_turnover":5746.5548,"count":118},{"id":1603656000,"open":12992.9,"close":12985.4,"high":13081.5,"low":12944.9,"amount":0.508,"vol":508,"trade_turnover":6616.9872,"count":120},{"id":1603659600,"open":12999.9,"close":13011.2,"high":13068.6,"low":12921.4,"amount":0.508,"vol":508,"trade_turnover":6614.816,"count":122},{"id":1603663200,"open":12979.6,"close":12959.4,"high":13073.8,"low":12911.9,"amount":0.486,"vol":486,"trade_turnover":6320.907,"count":121},{"id":1603666800,"open":12963.4,"close":13032.1,"high":13085.2,"low":12927.8,"amount":0.452,"vol":452,"trade_turnover":5878.6442,"count":113},{"id":1603670400,"open":12964.2,"close":13001.0,"high":13076.7,"low":12918.3,"amount":0.482,"vol":482,"trade_turnover":6263.698,"count":121},{"id":1603674000,"open":13040.0,"close":13053.7,"high":13096.4,"low":12991.2,"amount":0.478,"vol":478,"trade_turnover":6232.2328,"count":124},{"id":1603677600,"open":13060.6,"close":13064.4,"high":13185.7,"low":12985.1,"amount":0.488,"vol":488,"trade_turnover":6387.534,"count":121},{"id":1603681200,"open":13032.3,"close":13092.8,"high":13187.2,"low":12984.1,"amount":0.486,"vol":486,"trade_turnover":6369.0272,"count":135},{"id":1603684800,"open":13092.0,"close":13132.6,"high":13181.6,"low":12962.3,"amount":0.51,"vol":510,"trade_turnover":6679.829,"count":131},{"id":1603688400,"open":13129.2,"close":13092.1,"high":13205.3,"low":13025.3,"amount":0.506,"vol":506,"trade_turnover":6641.2128,"count":126},{"id":1603692000,"open":13121.8,"close":13071.4,"high":13188.1,"low":12989.8,"amount":1.616,"vol":1616,"trade_turnover":21170.8224,"count":141},{"id":1603695600,"open":13061.0,"close":13038.7,"high":13100.0,"low":12965.2,"amount":3.746,"vol":3746,"trade_turnover":48924.8902,"count":110},{"id":1603699200,"open":13030.9,"close":13039.3,"high":13102.0,"low":12852.8,"amount":8.966,"vol":8966,"trade_turnover":116525.5534,"count":173},{"id":1603702800,"open":13047.1,"close":13075.9,"high":13088.4,"low":13039.8,"amount":4.48,"vol":4480,"trade_turnover":58521.1714,"count":124},{"id":1603706400,"open":13072.1,"close":13100.0,"high":13100.0,"low":13060.2,"amount":4.272,"vol":4272,"trade_turnover":55895.9778,"count":130},{"id":1603710000,"open":13100.0,"close":13138.4,"high":13159.0,"low":13100.0,"amount":29.798,"vol":29798,"trade_turnover":391138.024,"count":230},{"id":1603713600,"open":13138.8,"close":13149.8,"high":13200.0,"low":13100.0,"amount":5.154,"vol":5154,"trade_turnover":67694.652,"count":188},{"id":1603717200,"open":13150.0,"close":13205.8,"high":13351.5,"low":13133.1,"amount":35.608,"vol":35608,"trade_turnover":472780.3394,"count":328},{"id":1603720800,"open":13203.0,"close":13166.1,"high":13280.0,"low":13144.1,"amount":31.748,"vol":31748,"trade_turnover":418744.5588,"count":235},{"id":1603724400,"open":13159.0,"close":12978.0,"high":13165.2,"low":12903.8,"amount":36.53,"vol":36530,"trade_turnover":476940.3296,"count":384},{"id":1603728000,"open":12965.0,"close":12869.6,"high":13069.8,"low":12850.5,"amount":35.018,"vol":35018,"trade_turnover":453288.918,"count":323},{"id":1603731600,"open":12879.2,"close":12873.8,"high":12941.5,"low":12583.9,"amount":92.628,"vol":92628,"trade_turnover":1185973.467,"count":560},{"id":1603735200,"open":12856.2,"close":12946.8,"high":12954.5,"low":12820.4,"amount":4.302,"vol":4302,"trade_turnover":55481.0054,"count":128},{"id":1603738800,"open":12945.6,"close":12953.4,"high":12953.5,"low":12914.1,"amount":13.83,"vol":13830,"trade_turnover":179112.1598,"count":118},{"id":1603742400,"open":12953.5,"close":12983.4,"high":13007.5,"low":12953.5,"amount":17.172,"vol":17172,"trade_turnover":223230.2122,"count":132},{"id":1603746000,"open":12983.1,"close":12993.8,"high":13007.5,"low":12982.7,"amount":3.212,"vol":3212,"trade_turnover":41767.8906,"count":59},{"id":1603749600,"open":13002.1,"close":13007.5,"high":13007.5,"low":12974.0,"amount":1.504,"vol":1504,"trade_turnover":19543.3568,"count":74},{"id":1603753200,"open":13007.5,"close":13033.7,"high":13061.2,"low":13007.5,"amount":3.454,"vol":3454,"trade_turnover":45001.601,"count":101},{"id":1603756800,"open":13029.2,"close":13067.1,"high":13105.0,"low":13028.3,"amount":8.784,"vol":8784,"trade_turnover":114871.8246,"count":98},{"id":1603760400,"open":13074.3,"close":13061.7,"high":13074.4,"low":13051.5,"amount":11.592,"vol":11592,"trade_turnover":151386.9038,"count":66},{"id":1603764000,"open":13061.7,"close":13049.7,"high":13097.6,"low":13040.1,"amount":19.298,"vol":19298,"trade_turnover":252061.019,"count":109},{"id":1603767600,"open":13057.6,"close":13070.4,"high":13080.0,"low":13057.1,"amount":22.992,"vol":22992,"trade_turnover":300453.9788,"count":69},{"id":1603771200,"open":13080.0,"close":13103.3,"high":13175.0,"low":13079.6,"amount":14.396,"vol":14396,"trade_turnover":188461.9156,"count":59},{"id":1603774800,"open":13121.3,"close":13073.6,"high":13121.3,"low":13069.7,"amount":5.058,"vol":5058,"trade_turnover":66201.3552,"count":44},{"id":1603778400,"open":13074.9,"close":13103.4,"high":13149.0,"low":13069.6,"amount":9.106,"vol":9106,"trade_turnover":119104.8906,"count":107},{"id":1603782000,"open":13103.3,"close":13130.0,"high":13169.8,"low":12992.4,"amount":73.95,"vol":73950,"trade_turnover":968195.155,"count":305},{"id":1603785600,"open":13135.1,"close":13123.8,"high":13148.4,"low":13044.0,"amount":18.732,"vol":18732,"trade_turnover":245533.5448,"count":135},{"id":1603789200,"open":13115.5,"close":13131.7,"high":13131.8,"low":13075.7,"amount":13.756,"vol":13756,"trade_turnover":180253.7708,"count":102},{"id":1603792800,"open":13134.8,"close":13216.9,"high":13252.0,"low":13063.4,"amount":154.108,"vol":154108,"trade_turnover":2029983.656,"count":525},{"id":1603796400,"open":13218.8,"close":13395.8,"high":13590.1,"low":13213.5,"amount":170.09,"vol":170090,"trade_turnover":2276279.742,"count":591},{"id":1603800000,"open":13395.9,"close":13376.9,"high":13414.0,"low":13331.7,"amount":48.928,"vol":48928,"trade_turnover":654585.9108,"count":216},{"id":1603803600,"open":13376.5,"close":13384.3,"high":13490.9,"low":13329.8,"amount":63.294,"vol":63294,"trade_turnover":848130.9212,"count":316},{"id":1603807200,"open":13392.6,"close":13398.2,"high":13415.8,"low":13344.8,"amount":12.892,"vol":12892,"trade_turnover":172618.6864,"count":124},{"id":1603810800,"open":13398.2,"close":13598.5,"high":13626.7,"low":13398.2,"amount":93.22,"vol":93220,"trade_turnover":1262695.5466,"count":476},{"id":1603814400,"open":13595.8,"close":13639.9,"high":13639.9,"low":13520.2,"amount":85.45,"vol":85450,"trade_turnover":1161481.4136,"count":435},{"id":1603818000,"open":13640.0,"close":13688.1,"high":13826.7,"low":13589.0,"amount":191.812,"vol":191812,"trade_turnover":2628428.3788,"count":711},{"id":1603821600,"open":13685.0,"close":13630.1,"high":13745.0,"low":13528.2,"amount":65.434,"vol":65434,"trade_turnover":891541.8394,"count":410},{"id":1603825200,"open":13629.4,"close":13637.1,"high":13659.8,"low":13595.4,"amount":5.788,"vol":5788,"trade_turnover":78836.2578,"count":65},{"id":1603828800,"open":13644.4,"close":13616.6,"high":13805.1,"low":13582.6,"amount":163.104,"vol":163104,"trade_turnover":2234040.3544,"count":537},{"id":1603832400,"open":13609.8,"close":13705.5,"high":13753.5,"low":13609.8,"amount":9.884,"vol":9884,"trade_turnover":135406.4752,"count":101},{"id":1603836000,"open":13705.4,"close":13739.9,"high":13739.9,"low":13658.2,"amount":7.436,"vol":7436,"trade_turnover":101840.3508,"count":100},{"id":1603839600,"open":13739.9,"close":13649.6,"high":13794.6,"low":13582.6,"amount":17.086,"vol":17086,"trade_turnover":233971.8448,"count":234},{"id":1603843200,"open":13645.9,"close":13701.7,"high":13745.2,"low":13618.8,"amount":24.108,"vol":24108,"trade_turnover":330206.5694,"count":177},{"id":1603846800,"open":13702.1,"close":13702.6,"high":13725.6,"low":13647.9,"amount":15.892,"vol":15892,"trade_turnover":217816.7008,"count":151},{"id":1603850400,"open":13701.7,"close":13811.6,"high":13832.2,"low":13680.2,"amount":46.548,"vol":46548,"trade_turnover":640636.0352,"count":274},{"id":1603854000,"open":13818.5,"close":13777.0,"high":13820.3,"low":13717.5,"amount":67.896,"vol":67896,"trade_turnover":935838.2238,"count":320},{"id":1603857600,"open":13767.3,"close":13735.7,"high":13807.2,"low":13710.0,"amount":33.156,"vol":33156,"trade_turnover":455941.234,"count":210},{"id":1603861200,"open":13735.5,"close":13715.8,"high":13753.9,"low":13671.3,"amount":32.076,"vol":32076,"trade_turnover":439612.64,"count":198},{"id":1603864800,"open":13715.9,"close":13701.3,"high":13757.0,"low":13694.9,"amount":14.756,"vol":14756,"trade_turnover":202602.5164,"count":122},{"id":1603868400,"open":13701.2,"close":13674.2,"high":13708.7,"low":13550.0,"amount":155.534,"vol":155534,"trade_turnover":2117935.0928,"count":635},{"id":1603872000,"open":13673.0,"close":13691.7,"high":13691.7,"low":13584.0,"amount":29.846,"vol":29846,"trade_turnover":407073.1398,"count":240},{"id":1603875600,"open":13689.3,"close":13587.1,"high":13707.5,"low":13573.5,"amount":104.542,"vol":104542,"trade_turnover":1425079.9344,"count":377},{"id":1603879200,"open":13584.6,"close":13552.7,"high":13618.0,"low":13504.7,"amount":73.818,"vol":73818,"trade_turnover":1001666.0908,"count":358},{"id":1603882800,"open":13552.6,"close":13336.4,"high":13565.4,"low":13330.0,"amount":176.544,"vol":176544,"trade_turnover":2369166.1492,"count":1004},{"id":1603886400,"open":13331.5,"close":13300.3,"high":13385.0,"low":13173.9,"amount":289.73,"vol":289730,"trade_turnover":3846751.7166,"count":968},{"id":1603890000,"open":13300.2,"close":13129.9,"high":13340.0,"low":13122.9,"amount":139.822,"vol":139822,"trade_turnover":1848876.932,"count":612},{"id":1603893600,"open":13123.4,"close":13082.2,"high":13168.2,"low":12915.9,"amount":367.876,"vol":367876,"trade_turnover":4802516.9818,"count":1168},{"id":1603897200,"open":13077.1,"close":13221.2,"high":13235.2,"low":13052.3,"amount":84.044,"vol":84044,"trade_turnover":1106883.1282,"count":375},{"id":1603900800,"open":13218.7,"close":13145.1,"high":13218.7,"low":13050.0,"amount":29.566,"vol":29566,"trade_turnover":388697.4104,"count":244},{"id":1603904400,"open":13145.1,"close":13176.7,"high":13204.9,"low":13006.6,"amount":53.336,"vol":53336,"trade_turnover":700385.2784,"count":299},{"id":1603908000,"open":13171.0,"close":13196.5,"high":13219.6,"low":13131.0,"amount":34.164,"vol":34164,"trade_turnover":450210.5778,"count":218},{"id":1603911600,"open":13200.0,"close":13154.9,"high":13237.4,"low":13145.0,"amount":22.158,"vol":22158,"trade_turnover":292020.0438,"count":185},{"id":1603915200,"open":13154.5,"close":13198.1,"high":13211.8,"low":13147.4,"amount":4.548,"vol":4548,"trade_turnover":59991.1118,"count":75},{"id":1603918800,"open":13193.5,"close":13190.1,"high":13196.5,"low":13100.2,"amount":3.52,"vol":3520,"trade_turnover":46175.428,"count":68},{"id":1603922400,"open":13185.4,"close":13252.0,"high":13267.5,"low":13185.4,"amount":3.122,"vol":3122,"trade_turnover":41304.2018,"count":72},{"id":1603926000,"open":13242.1,"close":13265.9,"high":13282.3,"low":13235.9,"amount":14.768,"vol":14768,"trade_turnover":195689.0764,"count":86},{"id":1603929600,"open":13253.9,"close":13245.1,"high":13294.7,"low":13237.4,"amount":19.968,"vol":19968,"trade_turnover":264834.1944,"count":98},{"id":1603933200,"open":13244.6,"close":13274.2,"high":13285.3,"low":13166.3,"amount":35.282,"vol":35282,"trade_turnover":465789.6302,"count":192},{"id":1603936800,"open":13275.9,"close":13241.1,"high":13277.7,"low":13212.2,"amount":9.748,"vol":9748,"trade_turnover":129016.0684,"count":119},{"id":1603940400,"open":13237.1,"close":13262.5,"high":13262.5,"low":13174.6,"amount":27.3,"vol":27300,"trade_turnover":360589.8982,"count":199},{"id":1603944000,"open":13269.1,"close":13229.5,"high":13277.7,"low":13229.5,"amount":18.904,"vol":18904,"trade_turnover":250713.2812,"count":109},{"id":1603947600,"open":13228.5,"close":13274.8,"high":13274.8,"low":13228.5,"amount":15.822,"vol":15822,"trade_turnover":209781.909,"count":134},{"id":1603951200,"open":13274.8,"close":13255.0,"high":13323.0,"low":13242.3,"amount":91.246,"vol":91246,"trade_turnover":1211271.2788,"count":294},{"id":1603954800,"open":13255.0,"close":13142.4,"high":13269.3,"low":13123.1,"amount":187.622,"vol":187622,"trade_turnover":2478299.7074,"count":506},{"id":1603958400,"open":13145.9,"close":13124.8,"high":13182.4,"low":13094.1,"amount":69.532,"vol":69532,"trade_turnover":914157.2418,"count":226},{"id":1603962000,"open":13129.5,"close":13183.7,"high":13197.1,"low":13129.5,"amount":23.184,"vol":23184,"trade_turnover":305485.9524,"count":141},{"id":1603965600,"open":13184.8,"close":13105.2,"high":13187.5,"low":13053.1,"amount":121.146,"vol":121146,"trade_turnover":1590026.4416,"count":442},{"id":1603969200,"open":13105.1,"close":13060.1,"high":13171.4,"low":13060.1,"amount":47.498,"vol":47498,"trade_turnover":623578.149,"count":262},{"id":1603972800,"open":13056.9,"close":13131.8,"high":13145.8,"low":12977.9,"amount":126.552,"vol":126552,"trade_turnover":1652549.311,"count":481},{"id":1603976400,"open":13131.7,"close":13230.0,"high":13237.2,"low":13102.0,"amount":100.482,"vol":100482,"trade_turnover":1326403.7206,"count":325},{"id":1603980000,"open":13231.0,"close":13420.8,"high":13476.1,"low":13231.0,"amount":253.258,"vol":253258,"trade_turnover":3384941.438,"count":752},{"id":1603983600,"open":13416.0,"close":13420.6,"high":13458.7,"low":13358.7,"amount":64.71,"vol":64710,"trade_turnover":869052.3804,"count":269},{"id":1603987200,"open":13421.9,"close":13535.9,"high":13594.5,"low":13391.8,"amount":120.24,"vol":120240,"trade_turnover":1626567.8278,"count":570}]} +2024-01-18 11:13:12.997 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:41] - 请求 KLine 数据解析之后的数据为:{"wsid":19750305,"data":[{"amount":0.276,"high":12300.0,"vol":276,"low":11715.8,"count":39,"id":1603270800,"close":12196.7,"tradeTurnover":3315.9104,"open":12198.0},{"amount":0.198,"high":12289.9,"vol":198,"low":12111.0,"count":21,"id":1603274400,"close":12277.9,"tradeTurnover":2420.7728,"open":12196.7},{"amount":0.012,"high":12277.9,"vol":12,"low":12000.0,"count":5,"id":1603278000,"close":12000.0,"tradeTurnover":145.2238,"open":12111.0},{"amount":0.084,"high":12498.0,"vol":84,"low":12078.0,"count":12,"id":1603281600,"close":12497.4,"tradeTurnover":1040.0504,"open":12078.0},{"amount":1.122,"high":12495.6,"vol":1122,"low":12282.9,"count":112,"id":1603285200,"close":12373.5,"tradeTurnover":13905.3124,"open":12495.6},{"amount":5.29,"high":12807.6,"vol":5290,"low":12358.1,"count":155,"id":1603288800,"close":12689.9,"tradeTurnover":66852.128,"open":12412.9},{"amount":1.174,"high":12778.7,"vol":1174,"low":12573.2,"count":113,"id":1603292400,"close":12701.9,"tradeTurnover":14907.367,"open":12692.8},{"amount":1.156,"high":12920.9,"vol":1156,"low":12624.8,"count":115,"id":1603296000,"close":12835.9,"tradeTurnover":14802.449,"open":12679.7},{"amount":1.12,"high":12908.3,"vol":1120,"low":12687.5,"count":115,"id":1603299600,"close":12754.2,"tradeTurnover":14345.7324,"open":12848.3},{"amount":1.106,"high":12849.0,"vol":1106,"low":12668.3,"count":114,"id":1603303200,"close":12740.2,"tradeTurnover":14105.3504,"open":12743.7},{"amount":1.032,"high":12843.1,"vol":1032,"low":12597.2,"count":112,"id":1603306800,"close":12650.3,"tradeTurnover":13125.4568,"open":12729.5},{"amount":1.154,"high":12848.4,"vol":1154,"low":12610.2,"count":116,"id":1603310400,"close":12807.0,"tradeTurnover":14680.638,"open":12666.8},{"amount":1.164,"high":13005.1,"vol":1164,"low":12748.2,"count":114,"id":1603314000,"close":12938.9,"tradeTurnover":14976.9366,"open":12866.0},{"amount":1.174,"high":13211.2,"vol":1174,"low":12865.7,"count":114,"id":1603317600,"close":13122.0,"tradeTurnover":15285.2446,"open":12921.0},{"amount":1.172,"high":13173.2,"vol":1172,"low":12688.6,"count":117,"id":1603321200,"close":12829.8,"tradeTurnover":15060.9938,"open":13153.2},{"amount":1.17,"high":12988.1,"vol":1170,"low":12764.4,"count":117,"id":1603324800,"close":12885.9,"tradeTurnover":15046.2046,"open":12793.1},{"amount":1.158,"high":12972.6,"vol":1158,"low":12757.5,"count":118,"id":1603328400,"close":12757.5,"tradeTurnover":14882.4656,"open":12860.4},{"amount":1.124,"high":12848.0,"vol":1124,"low":12729.0,"count":115,"id":1603332000,"close":12788.8,"tradeTurnover":14368.7948,"open":12824.1},{"amount":1.194,"high":12834.4,"vol":1194,"low":12729.0,"count":111,"id":1603335600,"close":12767.2,"tradeTurnover":15268.9298,"open":12791.7},{"amount":1.152,"high":12778.3,"vol":1152,"low":12729.0,"count":115,"id":1603339200,"close":12762.2,"tradeTurnover":14695.4876,"open":12729.0},{"amount":1.21,"high":12842.0,"vol":1210,"low":12730.6,"count":119,"id":1603342800,"close":12813.8,"tradeTurnover":15440.8162,"open":12763.1},{"amount":1.188,"high":12795.0,"vol":1188,"low":12728.0,"count":123,"id":1603346400,"close":12729.1,"tradeTurnover":15128.0098,"open":12795.0},{"amount":1.266,"high":12730.6,"vol":1266,"low":12728.3,"count":112,"id":1603350000,"close":12730.6,"tradeTurnover":16115.1306,"open":12728.6},{"amount":1.35,"high":12921.5,"vol":1350,"low":12729.9,"count":127,"id":1603353600,"close":12770.1,"tradeTurnover":17233.7326,"open":12730.3},{"amount":0.98,"high":12872.1,"vol":980,"low":12760.1,"count":99,"id":1603357200,"close":12780.4,"tradeTurnover":12553.9826,"open":12824.9},{"amount":0.266,"high":13002.7,"vol":266,"low":12775.6,"count":30,"id":1603360800,"close":12934.2,"tradeTurnover":3415.023,"open":12784.9},{"amount":1.004,"high":13057.0,"vol":1004,"low":12886.6,"count":117,"id":1603364400,"close":13045.0,"tradeTurnover":13020.8576,"open":12977.0},{"amount":1.134,"high":12973.4,"vol":1134,"low":12751.6,"count":111,"id":1603368000,"close":12847.9,"tradeTurnover":14594.2752,"open":12958.5},{"amount":1.152,"high":13000.8,"vol":1152,"low":12743.0,"count":114,"id":1603371600,"close":12931.0,"tradeTurnover":14877.7314,"open":12882.7},{"amount":1.182,"high":12995.3,"vol":1182,"low":12783.9,"count":115,"id":1603375200,"close":12917.8,"tradeTurnover":15224.4716,"open":12890.4},{"amount":1.176,"high":13031.2,"vol":1176,"low":12817.9,"count":117,"id":1603378800,"close":12953.0,"tradeTurnover":15197.208,"open":12918.8},{"amount":1.146,"high":13100.2,"vol":1146,"low":12865.6,"count":119,"id":1603382400,"close":13055.6,"tradeTurnover":14851.9604,"open":12923.1},{"amount":1.534,"high":13105.7,"vol":1534,"low":12835.5,"count":124,"id":1603386000,"close":13082.7,"tradeTurnover":19927.8288,"open":12967.6},{"amount":1.268,"high":13115.0,"vol":1268,"low":12938.7,"count":117,"id":1603389600,"close":13016.4,"tradeTurnover":16505.4738,"open":13020.4},{"amount":1.13,"high":13171.2,"vol":1130,"low":12961.8,"count":112,"id":1603393200,"close":12970.6,"tradeTurnover":14762.952,"open":13028.3},{"amount":1.206,"high":13216.1,"vol":1206,"low":12998.5,"count":117,"id":1603396800,"close":13089.3,"tradeTurnover":15807.1226,"open":13016.7},{"amount":1.332,"high":13203.7,"vol":1332,"low":12932.9,"count":114,"id":1603400400,"close":13092.0,"tradeTurnover":17423.4422,"open":13136.0},{"amount":1.21,"high":13250.5,"vol":1210,"low":12984.7,"count":114,"id":1603404000,"close":13055.9,"tradeTurnover":15876.0632,"open":13119.4},{"amount":1.286,"high":13126.5,"vol":1286,"low":12857.2,"count":116,"id":1603407600,"close":12890.4,"tradeTurnover":16688.422,"open":13059.4},{"amount":1.502,"high":12994.0,"vol":1502,"low":12751.6,"count":131,"id":1603411200,"close":12892.2,"tradeTurnover":19331.1596,"open":12929.7},{"amount":1.386,"high":13003.2,"vol":1386,"low":12786.0,"count":121,"id":1603414800,"close":12898.3,"tradeTurnover":17904.8902,"open":12921.7},{"amount":1.416,"high":13054.0,"vol":1416,"low":12800.7,"count":122,"id":1603418400,"close":12975.1,"tradeTurnover":18306.6204,"open":12951.6},{"amount":1.19,"high":13030.7,"vol":1190,"low":12875.0,"count":118,"id":1603422000,"close":12947.0,"tradeTurnover":15409.7984,"open":12967.3},{"amount":1.022,"high":13047.3,"vol":1022,"low":12832.8,"count":127,"id":1603425600,"close":12852.0,"tradeTurnover":13214.4388,"open":12925.2},{"amount":0.478,"high":12991.7,"vol":478,"low":12841.2,"count":118,"id":1603429200,"close":12931.1,"tradeTurnover":6180.2486,"open":12859.0},{"amount":0.522,"high":13014.1,"vol":522,"low":12871.9,"count":132,"id":1603432800,"close":12939.6,"tradeTurnover":6759.0324,"open":12935.9},{"amount":0.476,"high":12998.9,"vol":476,"low":12917.1,"count":118,"id":1603436400,"close":12925.4,"tradeTurnover":6163.3118,"open":12923.1},{"amount":0.508,"high":13014.0,"vol":508,"low":12916.1,"count":122,"id":1603440000,"close":12962.6,"tradeTurnover":6585.3656,"open":12942.2},{"amount":0.564,"high":13012.5,"vol":564,"low":12909.9,"count":124,"id":1603443600,"close":12926.4,"tradeTurnover":7308.8828,"open":12970.5},{"amount":0.536,"high":13059.5,"vol":536,"low":12925.7,"count":124,"id":1603447200,"close":13007.7,"tradeTurnover":6957.8796,"open":13001.2},{"amount":0.486,"high":13078.4,"vol":486,"low":12906.5,"count":122,"id":1603450800,"close":12970.6,"tradeTurnover":6326.1434,"open":13025.4},{"amount":0.494,"high":13025.0,"vol":494,"low":12850.8,"count":117,"id":1603454400,"close":12935.4,"tradeTurnover":6396.0984,"open":12963.9},{"amount":0.466,"high":13043.3,"vol":466,"low":12911.0,"count":117,"id":1603458000,"close":12951.7,"tradeTurnover":6049.1412,"open":12913.3},{"amount":0.46,"high":13006.4,"vol":460,"low":12840.4,"count":116,"id":1603461600,"close":12858.8,"tradeTurnover":5941.815,"open":12999.6},{"amount":0.492,"high":12932.9,"vol":492,"low":12826.5,"count":117,"id":1603465200,"close":12881.9,"tradeTurnover":6340.214,"open":12885.7},{"amount":0.484,"high":12933.5,"vol":484,"low":12744.4,"count":123,"id":1603468800,"close":12784.1,"tradeTurnover":6205.4138,"open":12854.4},{"amount":0.562,"high":12893.1,"vol":562,"low":12730.1,"count":152,"id":1603472400,"close":12847.7,"tradeTurnover":7218.9184,"open":12832.3},{"amount":0.53,"high":12939.3,"vol":530,"low":12751.4,"count":128,"id":1603476000,"close":12915.7,"tradeTurnover":6825.7004,"open":12874.1},{"amount":0.444,"high":12972.9,"vol":444,"low":12786.6,"count":117,"id":1603479600,"close":12972.9,"tradeTurnover":5727.7452,"open":12867.9},{"amount":0.492,"high":13002.2,"vol":492,"low":12842.9,"count":116,"id":1603483200,"close":12991.6,"tradeTurnover":6375.1566,"open":12956.7},{"amount":0.5,"high":13004.3,"vol":500,"low":12936.6,"count":125,"id":1603486800,"close":12943.5,"tradeTurnover":6485.468,"open":13004.3},{"amount":0.492,"high":13010.3,"vol":492,"low":12884.7,"count":120,"id":1603490400,"close":12989.2,"tradeTurnover":6376.1492,"open":12923.6},{"amount":0.51,"high":13024.4,"vol":510,"low":12884.6,"count":121,"id":1603494000,"close":12884.6,"tradeTurnover":6622.3406,"open":12974.9},{"amount":0.488,"high":13018.3,"vol":488,"low":12811.1,"count":120,"id":1603497600,"close":12953.9,"tradeTurnover":6317.7938,"open":12973.7},{"amount":0.482,"high":13018.1,"vol":482,"low":12872.8,"count":117,"id":1603501200,"close":12934.2,"tradeTurnover":6242.4178,"open":12927.5},{"amount":0.484,"high":13003.9,"vol":484,"low":12903.3,"count":117,"id":1603504800,"close":12989.1,"tradeTurnover":6278.1756,"open":12971.9},{"amount":0.474,"high":13013.4,"vol":474,"low":12938.3,"count":122,"id":1603508400,"close":12975.9,"tradeTurnover":6157.7096,"open":13000.1},{"amount":0.526,"high":13009.4,"vol":526,"low":12905.5,"count":124,"id":1603512000,"close":12963.3,"tradeTurnover":6831.5658,"open":12989.7},{"amount":0.522,"high":13041.8,"vol":522,"low":12875.3,"count":127,"id":1603515600,"close":12989.7,"tradeTurnover":6768.8994,"open":12910.5},{"amount":0.49,"high":13058.1,"vol":490,"low":12908.8,"count":120,"id":1603519200,"close":13003.6,"tradeTurnover":6370.5714,"open":12994.7},{"amount":0.478,"high":13037.8,"vol":478,"low":12981.7,"count":120,"id":1603522800,"close":13004.2,"tradeTurnover":6218.9722,"open":13011.9},{"amount":0.52,"high":13030.6,"vol":520,"low":12899.4,"count":124,"id":1603526400,"close":12998.2,"tradeTurnover":6754.958,"open":13003.0},{"amount":0.454,"high":13020.3,"vol":454,"low":12893.6,"count":115,"id":1603530000,"close":12990.6,"tradeTurnover":5891.0574,"open":12998.2},{"amount":0.502,"high":13059.1,"vol":502,"low":12913.2,"count":124,"id":1603533600,"close":13030.1,"tradeTurnover":6525.9004,"open":12996.4},{"amount":0.468,"high":13068.3,"vol":468,"low":12940.2,"count":119,"id":1603537200,"close":13033.2,"tradeTurnover":6091.0376,"open":12988.4},{"amount":0.468,"high":13071.8,"vol":468,"low":12978.9,"count":123,"id":1603540800,"close":13006.5,"tradeTurnover":6102.5902,"open":13035.3},{"amount":0.534,"high":13066.7,"vol":534,"low":12928.1,"count":123,"id":1603544400,"close":12985.9,"tradeTurnover":6950.4268,"open":13038.8},{"amount":0.47,"high":13100.1,"vol":470,"low":12960.5,"count":100,"id":1603548000,"close":13042.0,"tradeTurnover":6124.2178,"open":12986.3},{"amount":0.456,"high":13196.5,"vol":456,"low":13038.4,"count":120,"id":1603551600,"close":13102.2,"tradeTurnover":5989.6362,"open":13038.4},{"amount":0.458,"high":13176.6,"vol":458,"low":12984.6,"count":121,"id":1603555200,"close":13052.7,"tradeTurnover":5976.331,"open":13136.8},{"amount":0.452,"high":13177.8,"vol":452,"low":13003.2,"count":118,"id":1603558800,"close":13177.8,"tradeTurnover":5911.7058,"open":13006.2},{"amount":0.468,"high":13170.7,"vol":468,"low":13023.0,"count":119,"id":1603562400,"close":13080.8,"tradeTurnover":6122.375,"open":13127.7},{"amount":0.468,"high":13179.3,"vol":468,"low":13014.2,"count":120,"id":1603566000,"close":13148.4,"tradeTurnover":6126.4278,"open":13040.7},{"amount":0.47,"high":13179.6,"vol":470,"low":12992.5,"count":119,"id":1603569600,"close":13090.1,"tradeTurnover":6151.4758,"open":13073.5},{"amount":0.458,"high":13148.7,"vol":458,"low":12980.7,"count":117,"id":1603573200,"close":12993.9,"tradeTurnover":5981.071,"open":13035.4},{"amount":0.478,"high":13112.1,"vol":478,"low":12975.6,"count":118,"id":1603576800,"close":13041.1,"tradeTurnover":6225.4216,"open":13040.7},{"amount":0.472,"high":13184.3,"vol":472,"low":13009.3,"count":118,"id":1603580400,"close":13184.3,"tradeTurnover":6173.4244,"open":13012.6},{"amount":0.46,"high":13170.4,"vol":460,"low":13007.7,"count":115,"id":1603584000,"close":13154.3,"tradeTurnover":6024.09,"open":13080.8},{"amount":0.398,"high":13196.8,"vol":398,"low":13024.0,"count":102,"id":1603587600,"close":13196.1,"tradeTurnover":5217.5364,"open":13092.0},{"amount":0.476,"high":13175.1,"vol":476,"low":13035.0,"count":120,"id":1603591200,"close":13082.4,"tradeTurnover":6228.6596,"open":13124.7},{"amount":0.578,"high":13383.8,"vol":578,"low":13049.1,"count":137,"id":1603594800,"close":13259.0,"tradeTurnover":7629.3886,"open":13049.1},{"amount":0.47,"high":13369.0,"vol":470,"low":13216.0,"count":122,"id":1603598400,"close":13243.4,"tradeTurnover":6247.955,"open":13277.0},{"amount":0.61,"high":13353.3,"vol":610,"low":13010.1,"count":134,"id":1603602000,"close":13017.3,"tradeTurnover":8048.8598,"open":13285.3},{"amount":0.486,"high":13105.7,"vol":486,"low":13018.2,"count":118,"id":1603605600,"close":13060.3,"tradeTurnover":6344.1474,"open":13022.5},{"amount":0.464,"high":13112.1,"vol":464,"low":13022.0,"count":120,"id":1603609200,"close":13078.1,"tradeTurnover":6061.5416,"open":13048.5},{"amount":0.464,"high":13091.0,"vol":464,"low":13017.2,"count":120,"id":1603612800,"close":13046.0,"tradeTurnover":6055.3734,"open":13077.2},{"amount":0.478,"high":13084.0,"vol":478,"low":13014.2,"count":117,"id":1603616400,"close":13040.8,"tradeTurnover":6235.7882,"open":13065.1},{"amount":0.478,"high":13064.2,"vol":478,"low":13010.2,"count":125,"id":1603620000,"close":13028.5,"tradeTurnover":6232.2428,"open":13047.1},{"amount":0.534,"high":13061.5,"vol":534,"low":12852.9,"count":123,"id":1603623600,"close":12897.6,"tradeTurnover":6918.1226,"open":13061.5},{"amount":0.444,"high":13069.7,"vol":444,"low":12893.2,"count":117,"id":1603627200,"close":12964.3,"tradeTurnover":5755.8712,"open":12908.3},{"amount":0.498,"high":13071.9,"vol":498,"low":12891.8,"count":119,"id":1603630800,"close":12949.3,"tradeTurnover":6465.078,"open":13001.3},{"amount":0.468,"high":13077.7,"vol":468,"low":12900.0,"count":116,"id":1603634400,"close":12946.8,"tradeTurnover":6075.4554,"open":12975.8},{"amount":0.47,"high":13069.1,"vol":470,"low":12883.3,"count":119,"id":1603638000,"close":12883.3,"tradeTurnover":6097.1072,"open":12975.2},{"amount":0.482,"high":13067.9,"vol":482,"low":12877.5,"count":118,"id":1603641600,"close":12978.7,"tradeTurnover":6256.4472,"open":12916.2},{"amount":0.47,"high":13087.5,"vol":470,"low":12922.7,"count":117,"id":1603645200,"close":13004.4,"tradeTurnover":6108.3892,"open":13008.0},{"amount":0.468,"high":13067.6,"vol":468,"low":12893.6,"count":118,"id":1603648800,"close":12957.2,"tradeTurnover":6079.1484,"open":12972.8},{"amount":0.442,"high":13066.9,"vol":442,"low":12916.6,"count":118,"id":1603652400,"close":13021.8,"tradeTurnover":5746.5548,"open":12996.5},{"amount":0.508,"high":13081.5,"vol":508,"low":12944.9,"count":120,"id":1603656000,"close":12985.4,"tradeTurnover":6616.9872,"open":12992.9},{"amount":0.508,"high":13068.6,"vol":508,"low":12921.4,"count":122,"id":1603659600,"close":13011.2,"tradeTurnover":6614.816,"open":12999.9},{"amount":0.486,"high":13073.8,"vol":486,"low":12911.9,"count":121,"id":1603663200,"close":12959.4,"tradeTurnover":6320.907,"open":12979.6},{"amount":0.452,"high":13085.2,"vol":452,"low":12927.8,"count":113,"id":1603666800,"close":13032.1,"tradeTurnover":5878.6442,"open":12963.4},{"amount":0.482,"high":13076.7,"vol":482,"low":12918.3,"count":121,"id":1603670400,"close":13001.0,"tradeTurnover":6263.698,"open":12964.2},{"amount":0.478,"high":13096.4,"vol":478,"low":12991.2,"count":124,"id":1603674000,"close":13053.7,"tradeTurnover":6232.2328,"open":13040.0},{"amount":0.488,"high":13185.7,"vol":488,"low":12985.1,"count":121,"id":1603677600,"close":13064.4,"tradeTurnover":6387.534,"open":13060.6},{"amount":0.486,"high":13187.2,"vol":486,"low":12984.1,"count":135,"id":1603681200,"close":13092.8,"tradeTurnover":6369.0272,"open":13032.3},{"amount":0.51,"high":13181.6,"vol":510,"low":12962.3,"count":131,"id":1603684800,"close":13132.6,"tradeTurnover":6679.829,"open":13092.0},{"amount":0.506,"high":13205.3,"vol":506,"low":13025.3,"count":126,"id":1603688400,"close":13092.1,"tradeTurnover":6641.2128,"open":13129.2},{"amount":1.616,"high":13188.1,"vol":1616,"low":12989.8,"count":141,"id":1603692000,"close":13071.4,"tradeTurnover":21170.8224,"open":13121.8},{"amount":3.746,"high":13100.0,"vol":3746,"low":12965.2,"count":110,"id":1603695600,"close":13038.7,"tradeTurnover":48924.8902,"open":13061.0},{"amount":8.966,"high":13102.0,"vol":8966,"low":12852.8,"count":173,"id":1603699200,"close":13039.3,"tradeTurnover":116525.5534,"open":13030.9},{"amount":4.48,"high":13088.4,"vol":4480,"low":13039.8,"count":124,"id":1603702800,"close":13075.9,"tradeTurnover":58521.1714,"open":13047.1},{"amount":4.272,"high":13100.0,"vol":4272,"low":13060.2,"count":130,"id":1603706400,"close":13100.0,"tradeTurnover":55895.9778,"open":13072.1},{"amount":29.798,"high":13159.0,"vol":29798,"low":13100.0,"count":230,"id":1603710000,"close":13138.4,"tradeTurnover":391138.024,"open":13100.0},{"amount":5.154,"high":13200.0,"vol":5154,"low":13100.0,"count":188,"id":1603713600,"close":13149.8,"tradeTurnover":67694.652,"open":13138.8},{"amount":35.608,"high":13351.5,"vol":35608,"low":13133.1,"count":328,"id":1603717200,"close":13205.8,"tradeTurnover":472780.3394,"open":13150.0},{"amount":31.748,"high":13280.0,"vol":31748,"low":13144.1,"count":235,"id":1603720800,"close":13166.1,"tradeTurnover":418744.5588,"open":13203.0},{"amount":36.53,"high":13165.2,"vol":36530,"low":12903.8,"count":384,"id":1603724400,"close":12978.0,"tradeTurnover":476940.3296,"open":13159.0},{"amount":35.018,"high":13069.8,"vol":35018,"low":12850.5,"count":323,"id":1603728000,"close":12869.6,"tradeTurnover":453288.918,"open":12965.0},{"amount":92.628,"high":12941.5,"vol":92628,"low":12583.9,"count":560,"id":1603731600,"close":12873.8,"tradeTurnover":1185973.467,"open":12879.2},{"amount":4.302,"high":12954.5,"vol":4302,"low":12820.4,"count":128,"id":1603735200,"close":12946.8,"tradeTurnover":55481.0054,"open":12856.2},{"amount":13.83,"high":12953.5,"vol":13830,"low":12914.1,"count":118,"id":1603738800,"close":12953.4,"tradeTurnover":179112.1598,"open":12945.6},{"amount":17.172,"high":13007.5,"vol":17172,"low":12953.5,"count":132,"id":1603742400,"close":12983.4,"tradeTurnover":223230.2122,"open":12953.5},{"amount":3.212,"high":13007.5,"vol":3212,"low":12982.7,"count":59,"id":1603746000,"close":12993.8,"tradeTurnover":41767.8906,"open":12983.1},{"amount":1.504,"high":13007.5,"vol":1504,"low":12974.0,"count":74,"id":1603749600,"close":13007.5,"tradeTurnover":19543.3568,"open":13002.1},{"amount":3.454,"high":13061.2,"vol":3454,"low":13007.5,"count":101,"id":1603753200,"close":13033.7,"tradeTurnover":45001.601,"open":13007.5},{"amount":8.784,"high":13105.0,"vol":8784,"low":13028.3,"count":98,"id":1603756800,"close":13067.1,"tradeTurnover":114871.8246,"open":13029.2},{"amount":11.592,"high":13074.4,"vol":11592,"low":13051.5,"count":66,"id":1603760400,"close":13061.7,"tradeTurnover":151386.9038,"open":13074.3},{"amount":19.298,"high":13097.6,"vol":19298,"low":13040.1,"count":109,"id":1603764000,"close":13049.7,"tradeTurnover":252061.019,"open":13061.7},{"amount":22.992,"high":13080.0,"vol":22992,"low":13057.1,"count":69,"id":1603767600,"close":13070.4,"tradeTurnover":300453.9788,"open":13057.6},{"amount":14.396,"high":13175.0,"vol":14396,"low":13079.6,"count":59,"id":1603771200,"close":13103.3,"tradeTurnover":188461.9156,"open":13080.0},{"amount":5.058,"high":13121.3,"vol":5058,"low":13069.7,"count":44,"id":1603774800,"close":13073.6,"tradeTurnover":66201.3552,"open":13121.3},{"amount":9.106,"high":13149.0,"vol":9106,"low":13069.6,"count":107,"id":1603778400,"close":13103.4,"tradeTurnover":119104.8906,"open":13074.9},{"amount":73.95,"high":13169.8,"vol":73950,"low":12992.4,"count":305,"id":1603782000,"close":13130.0,"tradeTurnover":968195.155,"open":13103.3},{"amount":18.732,"high":13148.4,"vol":18732,"low":13044.0,"count":135,"id":1603785600,"close":13123.8,"tradeTurnover":245533.5448,"open":13135.1},{"amount":13.756,"high":13131.8,"vol":13756,"low":13075.7,"count":102,"id":1603789200,"close":13131.7,"tradeTurnover":180253.7708,"open":13115.5},{"amount":154.108,"high":13252.0,"vol":154108,"low":13063.4,"count":525,"id":1603792800,"close":13216.9,"tradeTurnover":2029983.656,"open":13134.8},{"amount":170.09,"high":13590.1,"vol":170090,"low":13213.5,"count":591,"id":1603796400,"close":13395.8,"tradeTurnover":2276279.742,"open":13218.8},{"amount":48.928,"high":13414.0,"vol":48928,"low":13331.7,"count":216,"id":1603800000,"close":13376.9,"tradeTurnover":654585.9108,"open":13395.9},{"amount":63.294,"high":13490.9,"vol":63294,"low":13329.8,"count":316,"id":1603803600,"close":13384.3,"tradeTurnover":848130.9212,"open":13376.5},{"amount":12.892,"high":13415.8,"vol":12892,"low":13344.8,"count":124,"id":1603807200,"close":13398.2,"tradeTurnover":172618.6864,"open":13392.6},{"amount":93.22,"high":13626.7,"vol":93220,"low":13398.2,"count":476,"id":1603810800,"close":13598.5,"tradeTurnover":1262695.5466,"open":13398.2},{"amount":85.45,"high":13639.9,"vol":85450,"low":13520.2,"count":435,"id":1603814400,"close":13639.9,"tradeTurnover":1161481.4136,"open":13595.8},{"amount":191.812,"high":13826.7,"vol":191812,"low":13589.0,"count":711,"id":1603818000,"close":13688.1,"tradeTurnover":2628428.3788,"open":13640.0},{"amount":65.434,"high":13745.0,"vol":65434,"low":13528.2,"count":410,"id":1603821600,"close":13630.1,"tradeTurnover":891541.8394,"open":13685.0},{"amount":5.788,"high":13659.8,"vol":5788,"low":13595.4,"count":65,"id":1603825200,"close":13637.1,"tradeTurnover":78836.2578,"open":13629.4},{"amount":163.104,"high":13805.1,"vol":163104,"low":13582.6,"count":537,"id":1603828800,"close":13616.6,"tradeTurnover":2234040.3544,"open":13644.4},{"amount":9.884,"high":13753.5,"vol":9884,"low":13609.8,"count":101,"id":1603832400,"close":13705.5,"tradeTurnover":135406.4752,"open":13609.8},{"amount":7.436,"high":13739.9,"vol":7436,"low":13658.2,"count":100,"id":1603836000,"close":13739.9,"tradeTurnover":101840.3508,"open":13705.4},{"amount":17.086,"high":13794.6,"vol":17086,"low":13582.6,"count":234,"id":1603839600,"close":13649.6,"tradeTurnover":233971.8448,"open":13739.9},{"amount":24.108,"high":13745.2,"vol":24108,"low":13618.8,"count":177,"id":1603843200,"close":13701.7,"tradeTurnover":330206.5694,"open":13645.9},{"amount":15.892,"high":13725.6,"vol":15892,"low":13647.9,"count":151,"id":1603846800,"close":13702.6,"tradeTurnover":217816.7008,"open":13702.1},{"amount":46.548,"high":13832.2,"vol":46548,"low":13680.2,"count":274,"id":1603850400,"close":13811.6,"tradeTurnover":640636.0352,"open":13701.7},{"amount":67.896,"high":13820.3,"vol":67896,"low":13717.5,"count":320,"id":1603854000,"close":13777.0,"tradeTurnover":935838.2238,"open":13818.5},{"amount":33.156,"high":13807.2,"vol":33156,"low":13710.0,"count":210,"id":1603857600,"close":13735.7,"tradeTurnover":455941.234,"open":13767.3},{"amount":32.076,"high":13753.9,"vol":32076,"low":13671.3,"count":198,"id":1603861200,"close":13715.8,"tradeTurnover":439612.64,"open":13735.5},{"amount":14.756,"high":13757.0,"vol":14756,"low":13694.9,"count":122,"id":1603864800,"close":13701.3,"tradeTurnover":202602.5164,"open":13715.9},{"amount":155.534,"high":13708.7,"vol":155534,"low":13550.0,"count":635,"id":1603868400,"close":13674.2,"tradeTurnover":2117935.0928,"open":13701.2},{"amount":29.846,"high":13691.7,"vol":29846,"low":13584.0,"count":240,"id":1603872000,"close":13691.7,"tradeTurnover":407073.1398,"open":13673.0},{"amount":104.542,"high":13707.5,"vol":104542,"low":13573.5,"count":377,"id":1603875600,"close":13587.1,"tradeTurnover":1425079.9344,"open":13689.3},{"amount":73.818,"high":13618.0,"vol":73818,"low":13504.7,"count":358,"id":1603879200,"close":13552.7,"tradeTurnover":1001666.0908,"open":13584.6},{"amount":176.544,"high":13565.4,"vol":176544,"low":13330.0,"count":1004,"id":1603882800,"close":13336.4,"tradeTurnover":2369166.1492,"open":13552.6},{"amount":289.73,"high":13385.0,"vol":289730,"low":13173.9,"count":968,"id":1603886400,"close":13300.3,"tradeTurnover":3846751.7166,"open":13331.5},{"amount":139.822,"high":13340.0,"vol":139822,"low":13122.9,"count":612,"id":1603890000,"close":13129.9,"tradeTurnover":1848876.932,"open":13300.2},{"amount":367.876,"high":13168.2,"vol":367876,"low":12915.9,"count":1168,"id":1603893600,"close":13082.2,"tradeTurnover":4802516.9818,"open":13123.4},{"amount":84.044,"high":13235.2,"vol":84044,"low":13052.3,"count":375,"id":1603897200,"close":13221.2,"tradeTurnover":1106883.1282,"open":13077.1},{"amount":29.566,"high":13218.7,"vol":29566,"low":13050.0,"count":244,"id":1603900800,"close":13145.1,"tradeTurnover":388697.4104,"open":13218.7},{"amount":53.336,"high":13204.9,"vol":53336,"low":13006.6,"count":299,"id":1603904400,"close":13176.7,"tradeTurnover":700385.2784,"open":13145.1},{"amount":34.164,"high":13219.6,"vol":34164,"low":13131.0,"count":218,"id":1603908000,"close":13196.5,"tradeTurnover":450210.5778,"open":13171.0},{"amount":22.158,"high":13237.4,"vol":22158,"low":13145.0,"count":185,"id":1603911600,"close":13154.9,"tradeTurnover":292020.0438,"open":13200.0},{"amount":4.548,"high":13211.8,"vol":4548,"low":13147.4,"count":75,"id":1603915200,"close":13198.1,"tradeTurnover":59991.1118,"open":13154.5},{"amount":3.52,"high":13196.5,"vol":3520,"low":13100.2,"count":68,"id":1603918800,"close":13190.1,"tradeTurnover":46175.428,"open":13193.5},{"amount":3.122,"high":13267.5,"vol":3122,"low":13185.4,"count":72,"id":1603922400,"close":13252.0,"tradeTurnover":41304.2018,"open":13185.4},{"amount":14.768,"high":13282.3,"vol":14768,"low":13235.9,"count":86,"id":1603926000,"close":13265.9,"tradeTurnover":195689.0764,"open":13242.1},{"amount":19.968,"high":13294.7,"vol":19968,"low":13237.4,"count":98,"id":1603929600,"close":13245.1,"tradeTurnover":264834.1944,"open":13253.9},{"amount":35.282,"high":13285.3,"vol":35282,"low":13166.3,"count":192,"id":1603933200,"close":13274.2,"tradeTurnover":465789.6302,"open":13244.6},{"amount":9.748,"high":13277.7,"vol":9748,"low":13212.2,"count":119,"id":1603936800,"close":13241.1,"tradeTurnover":129016.0684,"open":13275.9},{"amount":27.3,"high":13262.5,"vol":27300,"low":13174.6,"count":199,"id":1603940400,"close":13262.5,"tradeTurnover":360589.8982,"open":13237.1},{"amount":18.904,"high":13277.7,"vol":18904,"low":13229.5,"count":109,"id":1603944000,"close":13229.5,"tradeTurnover":250713.2812,"open":13269.1},{"amount":15.822,"high":13274.8,"vol":15822,"low":13228.5,"count":134,"id":1603947600,"close":13274.8,"tradeTurnover":209781.909,"open":13228.5},{"amount":91.246,"high":13323.0,"vol":91246,"low":13242.3,"count":294,"id":1603951200,"close":13255.0,"tradeTurnover":1211271.2788,"open":13274.8},{"amount":187.622,"high":13269.3,"vol":187622,"low":13123.1,"count":506,"id":1603954800,"close":13142.4,"tradeTurnover":2478299.7074,"open":13255.0},{"amount":69.532,"high":13182.4,"vol":69532,"low":13094.1,"count":226,"id":1603958400,"close":13124.8,"tradeTurnover":914157.2418,"open":13145.9},{"amount":23.184,"high":13197.1,"vol":23184,"low":13129.5,"count":141,"id":1603962000,"close":13183.7,"tradeTurnover":305485.9524,"open":13129.5},{"amount":121.146,"high":13187.5,"vol":121146,"low":13053.1,"count":442,"id":1603965600,"close":13105.2,"tradeTurnover":1590026.4416,"open":13184.8},{"amount":47.498,"high":13171.4,"vol":47498,"low":13060.1,"count":262,"id":1603969200,"close":13060.1,"tradeTurnover":623578.149,"open":13105.1},{"amount":126.552,"high":13145.8,"vol":126552,"low":12977.9,"count":481,"id":1603972800,"close":13131.8,"tradeTurnover":1652549.311,"open":13056.9},{"amount":100.482,"high":13237.2,"vol":100482,"low":13102.0,"count":325,"id":1603976400,"close":13230.0,"tradeTurnover":1326403.7206,"open":13131.7},{"amount":253.258,"high":13476.1,"vol":253258,"low":13231.0,"count":752,"id":1603980000,"close":13420.8,"tradeTurnover":3384941.438,"open":13231.0},{"amount":64.71,"high":13458.7,"vol":64710,"low":13358.7,"count":269,"id":1603983600,"close":13420.6,"tradeTurnover":869052.3804,"open":13416.0},{"amount":120.24,"high":13594.5,"vol":120240,"low":13391.8,"count":570,"id":1603987200,"close":13535.9,"tradeTurnover":1626567.8278,"open":13421.9}],"id":"","rep":"market.BTC-USDT.kline.60min","status":"ok"} +2024-01-18 11:13:14.011 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:39] - 请求 KLine 数据用户收到的原始数据:{"id":"","rep":"market.BTC-USDT.kline.60min","ts":1705547592921,"wsid":19750305,"status":"ok","data":[{"id":1603270800,"open":12198.0,"close":12196.7,"high":12300.0,"low":11715.8,"amount":0.276,"vol":276,"trade_turnover":3315.9104,"count":39},{"id":1603274400,"open":12196.7,"close":12277.9,"high":12289.9,"low":12111.0,"amount":0.198,"vol":198,"trade_turnover":2420.7728,"count":21},{"id":1603278000,"open":12111.0,"close":12000.0,"high":12277.9,"low":12000.0,"amount":0.012,"vol":12,"trade_turnover":145.2238,"count":5},{"id":1603281600,"open":12078.0,"close":12497.4,"high":12498.0,"low":12078.0,"amount":0.084,"vol":84,"trade_turnover":1040.0504,"count":12},{"id":1603285200,"open":12495.6,"close":12373.5,"high":12495.6,"low":12282.9,"amount":1.122,"vol":1122,"trade_turnover":13905.3124,"count":112},{"id":1603288800,"open":12412.9,"close":12689.9,"high":12807.6,"low":12358.1,"amount":5.29,"vol":5290,"trade_turnover":66852.128,"count":155},{"id":1603292400,"open":12692.8,"close":12701.9,"high":12778.7,"low":12573.2,"amount":1.174,"vol":1174,"trade_turnover":14907.367,"count":113},{"id":1603296000,"open":12679.7,"close":12835.9,"high":12920.9,"low":12624.8,"amount":1.156,"vol":1156,"trade_turnover":14802.449,"count":115},{"id":1603299600,"open":12848.3,"close":12754.2,"high":12908.3,"low":12687.5,"amount":1.12,"vol":1120,"trade_turnover":14345.7324,"count":115},{"id":1603303200,"open":12743.7,"close":12740.2,"high":12849.0,"low":12668.3,"amount":1.106,"vol":1106,"trade_turnover":14105.3504,"count":114},{"id":1603306800,"open":12729.5,"close":12650.3,"high":12843.1,"low":12597.2,"amount":1.032,"vol":1032,"trade_turnover":13125.4568,"count":112},{"id":1603310400,"open":12666.8,"close":12807.0,"high":12848.4,"low":12610.2,"amount":1.154,"vol":1154,"trade_turnover":14680.638,"count":116},{"id":1603314000,"open":12866.0,"close":12938.9,"high":13005.1,"low":12748.2,"amount":1.164,"vol":1164,"trade_turnover":14976.9366,"count":114},{"id":1603317600,"open":12921.0,"close":13122.0,"high":13211.2,"low":12865.7,"amount":1.174,"vol":1174,"trade_turnover":15285.2446,"count":114},{"id":1603321200,"open":13153.2,"close":12829.8,"high":13173.2,"low":12688.6,"amount":1.172,"vol":1172,"trade_turnover":15060.9938,"count":117},{"id":1603324800,"open":12793.1,"close":12885.9,"high":12988.1,"low":12764.4,"amount":1.17,"vol":1170,"trade_turnover":15046.2046,"count":117},{"id":1603328400,"open":12860.4,"close":12757.5,"high":12972.6,"low":12757.5,"amount":1.158,"vol":1158,"trade_turnover":14882.4656,"count":118},{"id":1603332000,"open":12824.1,"close":12788.8,"high":12848.0,"low":12729.0,"amount":1.124,"vol":1124,"trade_turnover":14368.7948,"count":115},{"id":1603335600,"open":12791.7,"close":12767.2,"high":12834.4,"low":12729.0,"amount":1.194,"vol":1194,"trade_turnover":15268.9298,"count":111},{"id":1603339200,"open":12729.0,"close":12762.2,"high":12778.3,"low":12729.0,"amount":1.152,"vol":1152,"trade_turnover":14695.4876,"count":115},{"id":1603342800,"open":12763.1,"close":12813.8,"high":12842.0,"low":12730.6,"amount":1.21,"vol":1210,"trade_turnover":15440.8162,"count":119},{"id":1603346400,"open":12795.0,"close":12729.1,"high":12795.0,"low":12728.0,"amount":1.188,"vol":1188,"trade_turnover":15128.0098,"count":123},{"id":1603350000,"open":12728.6,"close":12730.6,"high":12730.6,"low":12728.3,"amount":1.266,"vol":1266,"trade_turnover":16115.1306,"count":112},{"id":1603353600,"open":12730.3,"close":12770.1,"high":12921.5,"low":12729.9,"amount":1.35,"vol":1350,"trade_turnover":17233.7326,"count":127},{"id":1603357200,"open":12824.9,"close":12780.4,"high":12872.1,"low":12760.1,"amount":0.98,"vol":980,"trade_turnover":12553.9826,"count":99},{"id":1603360800,"open":12784.9,"close":12934.2,"high":13002.7,"low":12775.6,"amount":0.266,"vol":266,"trade_turnover":3415.023,"count":30},{"id":1603364400,"open":12977.0,"close":13045.0,"high":13057.0,"low":12886.6,"amount":1.004,"vol":1004,"trade_turnover":13020.8576,"count":117},{"id":1603368000,"open":12958.5,"close":12847.9,"high":12973.4,"low":12751.6,"amount":1.134,"vol":1134,"trade_turnover":14594.2752,"count":111},{"id":1603371600,"open":12882.7,"close":12931.0,"high":13000.8,"low":12743.0,"amount":1.152,"vol":1152,"trade_turnover":14877.7314,"count":114},{"id":1603375200,"open":12890.4,"close":12917.8,"high":12995.3,"low":12783.9,"amount":1.182,"vol":1182,"trade_turnover":15224.4716,"count":115},{"id":1603378800,"open":12918.8,"close":12953.0,"high":13031.2,"low":12817.9,"amount":1.176,"vol":1176,"trade_turnover":15197.208,"count":117},{"id":1603382400,"open":12923.1,"close":13055.6,"high":13100.2,"low":12865.6,"amount":1.146,"vol":1146,"trade_turnover":14851.9604,"count":119},{"id":1603386000,"open":12967.6,"close":13082.7,"high":13105.7,"low":12835.5,"amount":1.534,"vol":1534,"trade_turnover":19927.8288,"count":124},{"id":1603389600,"open":13020.4,"close":13016.4,"high":13115.0,"low":12938.7,"amount":1.268,"vol":1268,"trade_turnover":16505.4738,"count":117},{"id":1603393200,"open":13028.3,"close":12970.6,"high":13171.2,"low":12961.8,"amount":1.13,"vol":1130,"trade_turnover":14762.952,"count":112},{"id":1603396800,"open":13016.7,"close":13089.3,"high":13216.1,"low":12998.5,"amount":1.206,"vol":1206,"trade_turnover":15807.1226,"count":117},{"id":1603400400,"open":13136.0,"close":13092.0,"high":13203.7,"low":12932.9,"amount":1.332,"vol":1332,"trade_turnover":17423.4422,"count":114},{"id":1603404000,"open":13119.4,"close":13055.9,"high":13250.5,"low":12984.7,"amount":1.21,"vol":1210,"trade_turnover":15876.0632,"count":114},{"id":1603407600,"open":13059.4,"close":12890.4,"high":13126.5,"low":12857.2,"amount":1.286,"vol":1286,"trade_turnover":16688.422,"count":116},{"id":1603411200,"open":12929.7,"close":12892.2,"high":12994.0,"low":12751.6,"amount":1.502,"vol":1502,"trade_turnover":19331.1596,"count":131},{"id":1603414800,"open":12921.7,"close":12898.3,"high":13003.2,"low":12786.0,"amount":1.386,"vol":1386,"trade_turnover":17904.8902,"count":121},{"id":1603418400,"open":12951.6,"close":12975.1,"high":13054.0,"low":12800.7,"amount":1.416,"vol":1416,"trade_turnover":18306.6204,"count":122},{"id":1603422000,"open":12967.3,"close":12947.0,"high":13030.7,"low":12875.0,"amount":1.19,"vol":1190,"trade_turnover":15409.7984,"count":118},{"id":1603425600,"open":12925.2,"close":12852.0,"high":13047.3,"low":12832.8,"amount":1.022,"vol":1022,"trade_turnover":13214.4388,"count":127},{"id":1603429200,"open":12859.0,"close":12931.1,"high":12991.7,"low":12841.2,"amount":0.478,"vol":478,"trade_turnover":6180.2486,"count":118},{"id":1603432800,"open":12935.9,"close":12939.6,"high":13014.1,"low":12871.9,"amount":0.522,"vol":522,"trade_turnover":6759.0324,"count":132},{"id":1603436400,"open":12923.1,"close":12925.4,"high":12998.9,"low":12917.1,"amount":0.476,"vol":476,"trade_turnover":6163.3118,"count":118},{"id":1603440000,"open":12942.2,"close":12962.6,"high":13014.0,"low":12916.1,"amount":0.508,"vol":508,"trade_turnover":6585.3656,"count":122},{"id":1603443600,"open":12970.5,"close":12926.4,"high":13012.5,"low":12909.9,"amount":0.564,"vol":564,"trade_turnover":7308.8828,"count":124},{"id":1603447200,"open":13001.2,"close":13007.7,"high":13059.5,"low":12925.7,"amount":0.536,"vol":536,"trade_turnover":6957.8796,"count":124},{"id":1603450800,"open":13025.4,"close":12970.6,"high":13078.4,"low":12906.5,"amount":0.486,"vol":486,"trade_turnover":6326.1434,"count":122},{"id":1603454400,"open":12963.9,"close":12935.4,"high":13025.0,"low":12850.8,"amount":0.494,"vol":494,"trade_turnover":6396.0984,"count":117},{"id":1603458000,"open":12913.3,"close":12951.7,"high":13043.3,"low":12911.0,"amount":0.466,"vol":466,"trade_turnover":6049.1412,"count":117},{"id":1603461600,"open":12999.6,"close":12858.8,"high":13006.4,"low":12840.4,"amount":0.46,"vol":460,"trade_turnover":5941.815,"count":116},{"id":1603465200,"open":12885.7,"close":12881.9,"high":12932.9,"low":12826.5,"amount":0.492,"vol":492,"trade_turnover":6340.214,"count":117},{"id":1603468800,"open":12854.4,"close":12784.1,"high":12933.5,"low":12744.4,"amount":0.484,"vol":484,"trade_turnover":6205.4138,"count":123},{"id":1603472400,"open":12832.3,"close":12847.7,"high":12893.1,"low":12730.1,"amount":0.562,"vol":562,"trade_turnover":7218.9184,"count":152},{"id":1603476000,"open":12874.1,"close":12915.7,"high":12939.3,"low":12751.4,"amount":0.53,"vol":530,"trade_turnover":6825.7004,"count":128},{"id":1603479600,"open":12867.9,"close":12972.9,"high":12972.9,"low":12786.6,"amount":0.444,"vol":444,"trade_turnover":5727.7452,"count":117},{"id":1603483200,"open":12956.7,"close":12991.6,"high":13002.2,"low":12842.9,"amount":0.492,"vol":492,"trade_turnover":6375.1566,"count":116},{"id":1603486800,"open":13004.3,"close":12943.5,"high":13004.3,"low":12936.6,"amount":0.5,"vol":500,"trade_turnover":6485.468,"count":125},{"id":1603490400,"open":12923.6,"close":12989.2,"high":13010.3,"low":12884.7,"amount":0.492,"vol":492,"trade_turnover":6376.1492,"count":120},{"id":1603494000,"open":12974.9,"close":12884.6,"high":13024.4,"low":12884.6,"amount":0.51,"vol":510,"trade_turnover":6622.3406,"count":121},{"id":1603497600,"open":12973.7,"close":12953.9,"high":13018.3,"low":12811.1,"amount":0.488,"vol":488,"trade_turnover":6317.7938,"count":120},{"id":1603501200,"open":12927.5,"close":12934.2,"high":13018.1,"low":12872.8,"amount":0.482,"vol":482,"trade_turnover":6242.4178,"count":117},{"id":1603504800,"open":12971.9,"close":12989.1,"high":13003.9,"low":12903.3,"amount":0.484,"vol":484,"trade_turnover":6278.1756,"count":117},{"id":1603508400,"open":13000.1,"close":12975.9,"high":13013.4,"low":12938.3,"amount":0.474,"vol":474,"trade_turnover":6157.7096,"count":122},{"id":1603512000,"open":12989.7,"close":12963.3,"high":13009.4,"low":12905.5,"amount":0.526,"vol":526,"trade_turnover":6831.5658,"count":124},{"id":1603515600,"open":12910.5,"close":12989.7,"high":13041.8,"low":12875.3,"amount":0.522,"vol":522,"trade_turnover":6768.8994,"count":127},{"id":1603519200,"open":12994.7,"close":13003.6,"high":13058.1,"low":12908.8,"amount":0.49,"vol":490,"trade_turnover":6370.5714,"count":120},{"id":1603522800,"open":13011.9,"close":13004.2,"high":13037.8,"low":12981.7,"amount":0.478,"vol":478,"trade_turnover":6218.9722,"count":120},{"id":1603526400,"open":13003.0,"close":12998.2,"high":13030.6,"low":12899.4,"amount":0.52,"vol":520,"trade_turnover":6754.958,"count":124},{"id":1603530000,"open":12998.2,"close":12990.6,"high":13020.3,"low":12893.6,"amount":0.454,"vol":454,"trade_turnover":5891.0574,"count":115},{"id":1603533600,"open":12996.4,"close":13030.1,"high":13059.1,"low":12913.2,"amount":0.502,"vol":502,"trade_turnover":6525.9004,"count":124},{"id":1603537200,"open":12988.4,"close":13033.2,"high":13068.3,"low":12940.2,"amount":0.468,"vol":468,"trade_turnover":6091.0376,"count":119},{"id":1603540800,"open":13035.3,"close":13006.5,"high":13071.8,"low":12978.9,"amount":0.468,"vol":468,"trade_turnover":6102.5902,"count":123},{"id":1603544400,"open":13038.8,"close":12985.9,"high":13066.7,"low":12928.1,"amount":0.534,"vol":534,"trade_turnover":6950.4268,"count":123},{"id":1603548000,"open":12986.3,"close":13042.0,"high":13100.1,"low":12960.5,"amount":0.47,"vol":470,"trade_turnover":6124.2178,"count":100},{"id":1603551600,"open":13038.4,"close":13102.2,"high":13196.5,"low":13038.4,"amount":0.456,"vol":456,"trade_turnover":5989.6362,"count":120},{"id":1603555200,"open":13136.8,"close":13052.7,"high":13176.6,"low":12984.6,"amount":0.458,"vol":458,"trade_turnover":5976.331,"count":121},{"id":1603558800,"open":13006.2,"close":13177.8,"high":13177.8,"low":13003.2,"amount":0.452,"vol":452,"trade_turnover":5911.7058,"count":118},{"id":1603562400,"open":13127.7,"close":13080.8,"high":13170.7,"low":13023.0,"amount":0.468,"vol":468,"trade_turnover":6122.375,"count":119},{"id":1603566000,"open":13040.7,"close":13148.4,"high":13179.3,"low":13014.2,"amount":0.468,"vol":468,"trade_turnover":6126.4278,"count":120},{"id":1603569600,"open":13073.5,"close":13090.1,"high":13179.6,"low":12992.5,"amount":0.47,"vol":470,"trade_turnover":6151.4758,"count":119},{"id":1603573200,"open":13035.4,"close":12993.9,"high":13148.7,"low":12980.7,"amount":0.458,"vol":458,"trade_turnover":5981.071,"count":117},{"id":1603576800,"open":13040.7,"close":13041.1,"high":13112.1,"low":12975.6,"amount":0.478,"vol":478,"trade_turnover":6225.4216,"count":118},{"id":1603580400,"open":13012.6,"close":13184.3,"high":13184.3,"low":13009.3,"amount":0.472,"vol":472,"trade_turnover":6173.4244,"count":118},{"id":1603584000,"open":13080.8,"close":13154.3,"high":13170.4,"low":13007.7,"amount":0.46,"vol":460,"trade_turnover":6024.09,"count":115},{"id":1603587600,"open":13092.0,"close":13196.1,"high":13196.8,"low":13024.0,"amount":0.398,"vol":398,"trade_turnover":5217.5364,"count":102},{"id":1603591200,"open":13124.7,"close":13082.4,"high":13175.1,"low":13035.0,"amount":0.476,"vol":476,"trade_turnover":6228.6596,"count":120},{"id":1603594800,"open":13049.1,"close":13259.0,"high":13383.8,"low":13049.1,"amount":0.578,"vol":578,"trade_turnover":7629.3886,"count":137},{"id":1603598400,"open":13277.0,"close":13243.4,"high":13369.0,"low":13216.0,"amount":0.47,"vol":470,"trade_turnover":6247.955,"count":122},{"id":1603602000,"open":13285.3,"close":13017.3,"high":13353.3,"low":13010.1,"amount":0.61,"vol":610,"trade_turnover":8048.8598,"count":134},{"id":1603605600,"open":13022.5,"close":13060.3,"high":13105.7,"low":13018.2,"amount":0.486,"vol":486,"trade_turnover":6344.1474,"count":118},{"id":1603609200,"open":13048.5,"close":13078.1,"high":13112.1,"low":13022.0,"amount":0.464,"vol":464,"trade_turnover":6061.5416,"count":120},{"id":1603612800,"open":13077.2,"close":13046.0,"high":13091.0,"low":13017.2,"amount":0.464,"vol":464,"trade_turnover":6055.3734,"count":120},{"id":1603616400,"open":13065.1,"close":13040.8,"high":13084.0,"low":13014.2,"amount":0.478,"vol":478,"trade_turnover":6235.7882,"count":117},{"id":1603620000,"open":13047.1,"close":13028.5,"high":13064.2,"low":13010.2,"amount":0.478,"vol":478,"trade_turnover":6232.2428,"count":125},{"id":1603623600,"open":13061.5,"close":12897.6,"high":13061.5,"low":12852.9,"amount":0.534,"vol":534,"trade_turnover":6918.1226,"count":123},{"id":1603627200,"open":12908.3,"close":12964.3,"high":13069.7,"low":12893.2,"amount":0.444,"vol":444,"trade_turnover":5755.8712,"count":117},{"id":1603630800,"open":13001.3,"close":12949.3,"high":13071.9,"low":12891.8,"amount":0.498,"vol":498,"trade_turnover":6465.078,"count":119},{"id":1603634400,"open":12975.8,"close":12946.8,"high":13077.7,"low":12900.0,"amount":0.468,"vol":468,"trade_turnover":6075.4554,"count":116},{"id":1603638000,"open":12975.2,"close":12883.3,"high":13069.1,"low":12883.3,"amount":0.47,"vol":470,"trade_turnover":6097.1072,"count":119},{"id":1603641600,"open":12916.2,"close":12978.7,"high":13067.9,"low":12877.5,"amount":0.482,"vol":482,"trade_turnover":6256.4472,"count":118},{"id":1603645200,"open":13008.0,"close":13004.4,"high":13087.5,"low":12922.7,"amount":0.47,"vol":470,"trade_turnover":6108.3892,"count":117},{"id":1603648800,"open":12972.8,"close":12957.2,"high":13067.6,"low":12893.6,"amount":0.468,"vol":468,"trade_turnover":6079.1484,"count":118},{"id":1603652400,"open":12996.5,"close":13021.8,"high":13066.9,"low":12916.6,"amount":0.442,"vol":442,"trade_turnover":5746.5548,"count":118},{"id":1603656000,"open":12992.9,"close":12985.4,"high":13081.5,"low":12944.9,"amount":0.508,"vol":508,"trade_turnover":6616.9872,"count":120},{"id":1603659600,"open":12999.9,"close":13011.2,"high":13068.6,"low":12921.4,"amount":0.508,"vol":508,"trade_turnover":6614.816,"count":122},{"id":1603663200,"open":12979.6,"close":12959.4,"high":13073.8,"low":12911.9,"amount":0.486,"vol":486,"trade_turnover":6320.907,"count":121},{"id":1603666800,"open":12963.4,"close":13032.1,"high":13085.2,"low":12927.8,"amount":0.452,"vol":452,"trade_turnover":5878.6442,"count":113},{"id":1603670400,"open":12964.2,"close":13001.0,"high":13076.7,"low":12918.3,"amount":0.482,"vol":482,"trade_turnover":6263.698,"count":121},{"id":1603674000,"open":13040.0,"close":13053.7,"high":13096.4,"low":12991.2,"amount":0.478,"vol":478,"trade_turnover":6232.2328,"count":124},{"id":1603677600,"open":13060.6,"close":13064.4,"high":13185.7,"low":12985.1,"amount":0.488,"vol":488,"trade_turnover":6387.534,"count":121},{"id":1603681200,"open":13032.3,"close":13092.8,"high":13187.2,"low":12984.1,"amount":0.486,"vol":486,"trade_turnover":6369.0272,"count":135},{"id":1603684800,"open":13092.0,"close":13132.6,"high":13181.6,"low":12962.3,"amount":0.51,"vol":510,"trade_turnover":6679.829,"count":131},{"id":1603688400,"open":13129.2,"close":13092.1,"high":13205.3,"low":13025.3,"amount":0.506,"vol":506,"trade_turnover":6641.2128,"count":126},{"id":1603692000,"open":13121.8,"close":13071.4,"high":13188.1,"low":12989.8,"amount":1.616,"vol":1616,"trade_turnover":21170.8224,"count":141},{"id":1603695600,"open":13061.0,"close":13038.7,"high":13100.0,"low":12965.2,"amount":3.746,"vol":3746,"trade_turnover":48924.8902,"count":110},{"id":1603699200,"open":13030.9,"close":13039.3,"high":13102.0,"low":12852.8,"amount":8.966,"vol":8966,"trade_turnover":116525.5534,"count":173},{"id":1603702800,"open":13047.1,"close":13075.9,"high":13088.4,"low":13039.8,"amount":4.48,"vol":4480,"trade_turnover":58521.1714,"count":124},{"id":1603706400,"open":13072.1,"close":13100.0,"high":13100.0,"low":13060.2,"amount":4.272,"vol":4272,"trade_turnover":55895.9778,"count":130},{"id":1603710000,"open":13100.0,"close":13138.4,"high":13159.0,"low":13100.0,"amount":29.798,"vol":29798,"trade_turnover":391138.024,"count":230},{"id":1603713600,"open":13138.8,"close":13149.8,"high":13200.0,"low":13100.0,"amount":5.154,"vol":5154,"trade_turnover":67694.652,"count":188},{"id":1603717200,"open":13150.0,"close":13205.8,"high":13351.5,"low":13133.1,"amount":35.608,"vol":35608,"trade_turnover":472780.3394,"count":328},{"id":1603720800,"open":13203.0,"close":13166.1,"high":13280.0,"low":13144.1,"amount":31.748,"vol":31748,"trade_turnover":418744.5588,"count":235},{"id":1603724400,"open":13159.0,"close":12978.0,"high":13165.2,"low":12903.8,"amount":36.53,"vol":36530,"trade_turnover":476940.3296,"count":384},{"id":1603728000,"open":12965.0,"close":12869.6,"high":13069.8,"low":12850.5,"amount":35.018,"vol":35018,"trade_turnover":453288.918,"count":323},{"id":1603731600,"open":12879.2,"close":12873.8,"high":12941.5,"low":12583.9,"amount":92.628,"vol":92628,"trade_turnover":1185973.467,"count":560},{"id":1603735200,"open":12856.2,"close":12946.8,"high":12954.5,"low":12820.4,"amount":4.302,"vol":4302,"trade_turnover":55481.0054,"count":128},{"id":1603738800,"open":12945.6,"close":12953.4,"high":12953.5,"low":12914.1,"amount":13.83,"vol":13830,"trade_turnover":179112.1598,"count":118},{"id":1603742400,"open":12953.5,"close":12983.4,"high":13007.5,"low":12953.5,"amount":17.172,"vol":17172,"trade_turnover":223230.2122,"count":132},{"id":1603746000,"open":12983.1,"close":12993.8,"high":13007.5,"low":12982.7,"amount":3.212,"vol":3212,"trade_turnover":41767.8906,"count":59},{"id":1603749600,"open":13002.1,"close":13007.5,"high":13007.5,"low":12974.0,"amount":1.504,"vol":1504,"trade_turnover":19543.3568,"count":74},{"id":1603753200,"open":13007.5,"close":13033.7,"high":13061.2,"low":13007.5,"amount":3.454,"vol":3454,"trade_turnover":45001.601,"count":101},{"id":1603756800,"open":13029.2,"close":13067.1,"high":13105.0,"low":13028.3,"amount":8.784,"vol":8784,"trade_turnover":114871.8246,"count":98},{"id":1603760400,"open":13074.3,"close":13061.7,"high":13074.4,"low":13051.5,"amount":11.592,"vol":11592,"trade_turnover":151386.9038,"count":66},{"id":1603764000,"open":13061.7,"close":13049.7,"high":13097.6,"low":13040.1,"amount":19.298,"vol":19298,"trade_turnover":252061.019,"count":109},{"id":1603767600,"open":13057.6,"close":13070.4,"high":13080.0,"low":13057.1,"amount":22.992,"vol":22992,"trade_turnover":300453.9788,"count":69},{"id":1603771200,"open":13080.0,"close":13103.3,"high":13175.0,"low":13079.6,"amount":14.396,"vol":14396,"trade_turnover":188461.9156,"count":59},{"id":1603774800,"open":13121.3,"close":13073.6,"high":13121.3,"low":13069.7,"amount":5.058,"vol":5058,"trade_turnover":66201.3552,"count":44},{"id":1603778400,"open":13074.9,"close":13103.4,"high":13149.0,"low":13069.6,"amount":9.106,"vol":9106,"trade_turnover":119104.8906,"count":107},{"id":1603782000,"open":13103.3,"close":13130.0,"high":13169.8,"low":12992.4,"amount":73.95,"vol":73950,"trade_turnover":968195.155,"count":305},{"id":1603785600,"open":13135.1,"close":13123.8,"high":13148.4,"low":13044.0,"amount":18.732,"vol":18732,"trade_turnover":245533.5448,"count":135},{"id":1603789200,"open":13115.5,"close":13131.7,"high":13131.8,"low":13075.7,"amount":13.756,"vol":13756,"trade_turnover":180253.7708,"count":102},{"id":1603792800,"open":13134.8,"close":13216.9,"high":13252.0,"low":13063.4,"amount":154.108,"vol":154108,"trade_turnover":2029983.656,"count":525},{"id":1603796400,"open":13218.8,"close":13395.8,"high":13590.1,"low":13213.5,"amount":170.09,"vol":170090,"trade_turnover":2276279.742,"count":591},{"id":1603800000,"open":13395.9,"close":13376.9,"high":13414.0,"low":13331.7,"amount":48.928,"vol":48928,"trade_turnover":654585.9108,"count":216},{"id":1603803600,"open":13376.5,"close":13384.3,"high":13490.9,"low":13329.8,"amount":63.294,"vol":63294,"trade_turnover":848130.9212,"count":316},{"id":1603807200,"open":13392.6,"close":13398.2,"high":13415.8,"low":13344.8,"amount":12.892,"vol":12892,"trade_turnover":172618.6864,"count":124},{"id":1603810800,"open":13398.2,"close":13598.5,"high":13626.7,"low":13398.2,"amount":93.22,"vol":93220,"trade_turnover":1262695.5466,"count":476},{"id":1603814400,"open":13595.8,"close":13639.9,"high":13639.9,"low":13520.2,"amount":85.45,"vol":85450,"trade_turnover":1161481.4136,"count":435},{"id":1603818000,"open":13640.0,"close":13688.1,"high":13826.7,"low":13589.0,"amount":191.812,"vol":191812,"trade_turnover":2628428.3788,"count":711},{"id":1603821600,"open":13685.0,"close":13630.1,"high":13745.0,"low":13528.2,"amount":65.434,"vol":65434,"trade_turnover":891541.8394,"count":410},{"id":1603825200,"open":13629.4,"close":13637.1,"high":13659.8,"low":13595.4,"amount":5.788,"vol":5788,"trade_turnover":78836.2578,"count":65},{"id":1603828800,"open":13644.4,"close":13616.6,"high":13805.1,"low":13582.6,"amount":163.104,"vol":163104,"trade_turnover":2234040.3544,"count":537},{"id":1603832400,"open":13609.8,"close":13705.5,"high":13753.5,"low":13609.8,"amount":9.884,"vol":9884,"trade_turnover":135406.4752,"count":101},{"id":1603836000,"open":13705.4,"close":13739.9,"high":13739.9,"low":13658.2,"amount":7.436,"vol":7436,"trade_turnover":101840.3508,"count":100},{"id":1603839600,"open":13739.9,"close":13649.6,"high":13794.6,"low":13582.6,"amount":17.086,"vol":17086,"trade_turnover":233971.8448,"count":234},{"id":1603843200,"open":13645.9,"close":13701.7,"high":13745.2,"low":13618.8,"amount":24.108,"vol":24108,"trade_turnover":330206.5694,"count":177},{"id":1603846800,"open":13702.1,"close":13702.6,"high":13725.6,"low":13647.9,"amount":15.892,"vol":15892,"trade_turnover":217816.7008,"count":151},{"id":1603850400,"open":13701.7,"close":13811.6,"high":13832.2,"low":13680.2,"amount":46.548,"vol":46548,"trade_turnover":640636.0352,"count":274},{"id":1603854000,"open":13818.5,"close":13777.0,"high":13820.3,"low":13717.5,"amount":67.896,"vol":67896,"trade_turnover":935838.2238,"count":320},{"id":1603857600,"open":13767.3,"close":13735.7,"high":13807.2,"low":13710.0,"amount":33.156,"vol":33156,"trade_turnover":455941.234,"count":210},{"id":1603861200,"open":13735.5,"close":13715.8,"high":13753.9,"low":13671.3,"amount":32.076,"vol":32076,"trade_turnover":439612.64,"count":198},{"id":1603864800,"open":13715.9,"close":13701.3,"high":13757.0,"low":13694.9,"amount":14.756,"vol":14756,"trade_turnover":202602.5164,"count":122},{"id":1603868400,"open":13701.2,"close":13674.2,"high":13708.7,"low":13550.0,"amount":155.534,"vol":155534,"trade_turnover":2117935.0928,"count":635},{"id":1603872000,"open":13673.0,"close":13691.7,"high":13691.7,"low":13584.0,"amount":29.846,"vol":29846,"trade_turnover":407073.1398,"count":240},{"id":1603875600,"open":13689.3,"close":13587.1,"high":13707.5,"low":13573.5,"amount":104.542,"vol":104542,"trade_turnover":1425079.9344,"count":377},{"id":1603879200,"open":13584.6,"close":13552.7,"high":13618.0,"low":13504.7,"amount":73.818,"vol":73818,"trade_turnover":1001666.0908,"count":358},{"id":1603882800,"open":13552.6,"close":13336.4,"high":13565.4,"low":13330.0,"amount":176.544,"vol":176544,"trade_turnover":2369166.1492,"count":1004},{"id":1603886400,"open":13331.5,"close":13300.3,"high":13385.0,"low":13173.9,"amount":289.73,"vol":289730,"trade_turnover":3846751.7166,"count":968},{"id":1603890000,"open":13300.2,"close":13129.9,"high":13340.0,"low":13122.9,"amount":139.822,"vol":139822,"trade_turnover":1848876.932,"count":612},{"id":1603893600,"open":13123.4,"close":13082.2,"high":13168.2,"low":12915.9,"amount":367.876,"vol":367876,"trade_turnover":4802516.9818,"count":1168},{"id":1603897200,"open":13077.1,"close":13221.2,"high":13235.2,"low":13052.3,"amount":84.044,"vol":84044,"trade_turnover":1106883.1282,"count":375},{"id":1603900800,"open":13218.7,"close":13145.1,"high":13218.7,"low":13050.0,"amount":29.566,"vol":29566,"trade_turnover":388697.4104,"count":244},{"id":1603904400,"open":13145.1,"close":13176.7,"high":13204.9,"low":13006.6,"amount":53.336,"vol":53336,"trade_turnover":700385.2784,"count":299},{"id":1603908000,"open":13171.0,"close":13196.5,"high":13219.6,"low":13131.0,"amount":34.164,"vol":34164,"trade_turnover":450210.5778,"count":218},{"id":1603911600,"open":13200.0,"close":13154.9,"high":13237.4,"low":13145.0,"amount":22.158,"vol":22158,"trade_turnover":292020.0438,"count":185},{"id":1603915200,"open":13154.5,"close":13198.1,"high":13211.8,"low":13147.4,"amount":4.548,"vol":4548,"trade_turnover":59991.1118,"count":75},{"id":1603918800,"open":13193.5,"close":13190.1,"high":13196.5,"low":13100.2,"amount":3.52,"vol":3520,"trade_turnover":46175.428,"count":68},{"id":1603922400,"open":13185.4,"close":13252.0,"high":13267.5,"low":13185.4,"amount":3.122,"vol":3122,"trade_turnover":41304.2018,"count":72},{"id":1603926000,"open":13242.1,"close":13265.9,"high":13282.3,"low":13235.9,"amount":14.768,"vol":14768,"trade_turnover":195689.0764,"count":86},{"id":1603929600,"open":13253.9,"close":13245.1,"high":13294.7,"low":13237.4,"amount":19.968,"vol":19968,"trade_turnover":264834.1944,"count":98},{"id":1603933200,"open":13244.6,"close":13274.2,"high":13285.3,"low":13166.3,"amount":35.282,"vol":35282,"trade_turnover":465789.6302,"count":192},{"id":1603936800,"open":13275.9,"close":13241.1,"high":13277.7,"low":13212.2,"amount":9.748,"vol":9748,"trade_turnover":129016.0684,"count":119},{"id":1603940400,"open":13237.1,"close":13262.5,"high":13262.5,"low":13174.6,"amount":27.3,"vol":27300,"trade_turnover":360589.8982,"count":199},{"id":1603944000,"open":13269.1,"close":13229.5,"high":13277.7,"low":13229.5,"amount":18.904,"vol":18904,"trade_turnover":250713.2812,"count":109},{"id":1603947600,"open":13228.5,"close":13274.8,"high":13274.8,"low":13228.5,"amount":15.822,"vol":15822,"trade_turnover":209781.909,"count":134},{"id":1603951200,"open":13274.8,"close":13255.0,"high":13323.0,"low":13242.3,"amount":91.246,"vol":91246,"trade_turnover":1211271.2788,"count":294},{"id":1603954800,"open":13255.0,"close":13142.4,"high":13269.3,"low":13123.1,"amount":187.622,"vol":187622,"trade_turnover":2478299.7074,"count":506},{"id":1603958400,"open":13145.9,"close":13124.8,"high":13182.4,"low":13094.1,"amount":69.532,"vol":69532,"trade_turnover":914157.2418,"count":226},{"id":1603962000,"open":13129.5,"close":13183.7,"high":13197.1,"low":13129.5,"amount":23.184,"vol":23184,"trade_turnover":305485.9524,"count":141},{"id":1603965600,"open":13184.8,"close":13105.2,"high":13187.5,"low":13053.1,"amount":121.146,"vol":121146,"trade_turnover":1590026.4416,"count":442},{"id":1603969200,"open":13105.1,"close":13060.1,"high":13171.4,"low":13060.1,"amount":47.498,"vol":47498,"trade_turnover":623578.149,"count":262},{"id":1603972800,"open":13056.9,"close":13131.8,"high":13145.8,"low":12977.9,"amount":126.552,"vol":126552,"trade_turnover":1652549.311,"count":481},{"id":1603976400,"open":13131.7,"close":13230.0,"high":13237.2,"low":13102.0,"amount":100.482,"vol":100482,"trade_turnover":1326403.7206,"count":325},{"id":1603980000,"open":13231.0,"close":13420.8,"high":13476.1,"low":13231.0,"amount":253.258,"vol":253258,"trade_turnover":3384941.438,"count":752},{"id":1603983600,"open":13416.0,"close":13420.6,"high":13458.7,"low":13358.7,"amount":64.71,"vol":64710,"trade_turnover":869052.3804,"count":269},{"id":1603987200,"open":13421.9,"close":13535.9,"high":13594.5,"low":13391.8,"amount":120.24,"vol":120240,"trade_turnover":1626567.8278,"count":570}]} +2024-01-18 11:13:14.013 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:41] - 请求 KLine 数据解析之后的数据为:{"wsid":19750305,"data":[{"amount":0.276,"high":12300.0,"vol":276,"low":11715.8,"count":39,"id":1603270800,"close":12196.7,"tradeTurnover":3315.9104,"open":12198.0},{"amount":0.198,"high":12289.9,"vol":198,"low":12111.0,"count":21,"id":1603274400,"close":12277.9,"tradeTurnover":2420.7728,"open":12196.7},{"amount":0.012,"high":12277.9,"vol":12,"low":12000.0,"count":5,"id":1603278000,"close":12000.0,"tradeTurnover":145.2238,"open":12111.0},{"amount":0.084,"high":12498.0,"vol":84,"low":12078.0,"count":12,"id":1603281600,"close":12497.4,"tradeTurnover":1040.0504,"open":12078.0},{"amount":1.122,"high":12495.6,"vol":1122,"low":12282.9,"count":112,"id":1603285200,"close":12373.5,"tradeTurnover":13905.3124,"open":12495.6},{"amount":5.29,"high":12807.6,"vol":5290,"low":12358.1,"count":155,"id":1603288800,"close":12689.9,"tradeTurnover":66852.128,"open":12412.9},{"amount":1.174,"high":12778.7,"vol":1174,"low":12573.2,"count":113,"id":1603292400,"close":12701.9,"tradeTurnover":14907.367,"open":12692.8},{"amount":1.156,"high":12920.9,"vol":1156,"low":12624.8,"count":115,"id":1603296000,"close":12835.9,"tradeTurnover":14802.449,"open":12679.7},{"amount":1.12,"high":12908.3,"vol":1120,"low":12687.5,"count":115,"id":1603299600,"close":12754.2,"tradeTurnover":14345.7324,"open":12848.3},{"amount":1.106,"high":12849.0,"vol":1106,"low":12668.3,"count":114,"id":1603303200,"close":12740.2,"tradeTurnover":14105.3504,"open":12743.7},{"amount":1.032,"high":12843.1,"vol":1032,"low":12597.2,"count":112,"id":1603306800,"close":12650.3,"tradeTurnover":13125.4568,"open":12729.5},{"amount":1.154,"high":12848.4,"vol":1154,"low":12610.2,"count":116,"id":1603310400,"close":12807.0,"tradeTurnover":14680.638,"open":12666.8},{"amount":1.164,"high":13005.1,"vol":1164,"low":12748.2,"count":114,"id":1603314000,"close":12938.9,"tradeTurnover":14976.9366,"open":12866.0},{"amount":1.174,"high":13211.2,"vol":1174,"low":12865.7,"count":114,"id":1603317600,"close":13122.0,"tradeTurnover":15285.2446,"open":12921.0},{"amount":1.172,"high":13173.2,"vol":1172,"low":12688.6,"count":117,"id":1603321200,"close":12829.8,"tradeTurnover":15060.9938,"open":13153.2},{"amount":1.17,"high":12988.1,"vol":1170,"low":12764.4,"count":117,"id":1603324800,"close":12885.9,"tradeTurnover":15046.2046,"open":12793.1},{"amount":1.158,"high":12972.6,"vol":1158,"low":12757.5,"count":118,"id":1603328400,"close":12757.5,"tradeTurnover":14882.4656,"open":12860.4},{"amount":1.124,"high":12848.0,"vol":1124,"low":12729.0,"count":115,"id":1603332000,"close":12788.8,"tradeTurnover":14368.7948,"open":12824.1},{"amount":1.194,"high":12834.4,"vol":1194,"low":12729.0,"count":111,"id":1603335600,"close":12767.2,"tradeTurnover":15268.9298,"open":12791.7},{"amount":1.152,"high":12778.3,"vol":1152,"low":12729.0,"count":115,"id":1603339200,"close":12762.2,"tradeTurnover":14695.4876,"open":12729.0},{"amount":1.21,"high":12842.0,"vol":1210,"low":12730.6,"count":119,"id":1603342800,"close":12813.8,"tradeTurnover":15440.8162,"open":12763.1},{"amount":1.188,"high":12795.0,"vol":1188,"low":12728.0,"count":123,"id":1603346400,"close":12729.1,"tradeTurnover":15128.0098,"open":12795.0},{"amount":1.266,"high":12730.6,"vol":1266,"low":12728.3,"count":112,"id":1603350000,"close":12730.6,"tradeTurnover":16115.1306,"open":12728.6},{"amount":1.35,"high":12921.5,"vol":1350,"low":12729.9,"count":127,"id":1603353600,"close":12770.1,"tradeTurnover":17233.7326,"open":12730.3},{"amount":0.98,"high":12872.1,"vol":980,"low":12760.1,"count":99,"id":1603357200,"close":12780.4,"tradeTurnover":12553.9826,"open":12824.9},{"amount":0.266,"high":13002.7,"vol":266,"low":12775.6,"count":30,"id":1603360800,"close":12934.2,"tradeTurnover":3415.023,"open":12784.9},{"amount":1.004,"high":13057.0,"vol":1004,"low":12886.6,"count":117,"id":1603364400,"close":13045.0,"tradeTurnover":13020.8576,"open":12977.0},{"amount":1.134,"high":12973.4,"vol":1134,"low":12751.6,"count":111,"id":1603368000,"close":12847.9,"tradeTurnover":14594.2752,"open":12958.5},{"amount":1.152,"high":13000.8,"vol":1152,"low":12743.0,"count":114,"id":1603371600,"close":12931.0,"tradeTurnover":14877.7314,"open":12882.7},{"amount":1.182,"high":12995.3,"vol":1182,"low":12783.9,"count":115,"id":1603375200,"close":12917.8,"tradeTurnover":15224.4716,"open":12890.4},{"amount":1.176,"high":13031.2,"vol":1176,"low":12817.9,"count":117,"id":1603378800,"close":12953.0,"tradeTurnover":15197.208,"open":12918.8},{"amount":1.146,"high":13100.2,"vol":1146,"low":12865.6,"count":119,"id":1603382400,"close":13055.6,"tradeTurnover":14851.9604,"open":12923.1},{"amount":1.534,"high":13105.7,"vol":1534,"low":12835.5,"count":124,"id":1603386000,"close":13082.7,"tradeTurnover":19927.8288,"open":12967.6},{"amount":1.268,"high":13115.0,"vol":1268,"low":12938.7,"count":117,"id":1603389600,"close":13016.4,"tradeTurnover":16505.4738,"open":13020.4},{"amount":1.13,"high":13171.2,"vol":1130,"low":12961.8,"count":112,"id":1603393200,"close":12970.6,"tradeTurnover":14762.952,"open":13028.3},{"amount":1.206,"high":13216.1,"vol":1206,"low":12998.5,"count":117,"id":1603396800,"close":13089.3,"tradeTurnover":15807.1226,"open":13016.7},{"amount":1.332,"high":13203.7,"vol":1332,"low":12932.9,"count":114,"id":1603400400,"close":13092.0,"tradeTurnover":17423.4422,"open":13136.0},{"amount":1.21,"high":13250.5,"vol":1210,"low":12984.7,"count":114,"id":1603404000,"close":13055.9,"tradeTurnover":15876.0632,"open":13119.4},{"amount":1.286,"high":13126.5,"vol":1286,"low":12857.2,"count":116,"id":1603407600,"close":12890.4,"tradeTurnover":16688.422,"open":13059.4},{"amount":1.502,"high":12994.0,"vol":1502,"low":12751.6,"count":131,"id":1603411200,"close":12892.2,"tradeTurnover":19331.1596,"open":12929.7},{"amount":1.386,"high":13003.2,"vol":1386,"low":12786.0,"count":121,"id":1603414800,"close":12898.3,"tradeTurnover":17904.8902,"open":12921.7},{"amount":1.416,"high":13054.0,"vol":1416,"low":12800.7,"count":122,"id":1603418400,"close":12975.1,"tradeTurnover":18306.6204,"open":12951.6},{"amount":1.19,"high":13030.7,"vol":1190,"low":12875.0,"count":118,"id":1603422000,"close":12947.0,"tradeTurnover":15409.7984,"open":12967.3},{"amount":1.022,"high":13047.3,"vol":1022,"low":12832.8,"count":127,"id":1603425600,"close":12852.0,"tradeTurnover":13214.4388,"open":12925.2},{"amount":0.478,"high":12991.7,"vol":478,"low":12841.2,"count":118,"id":1603429200,"close":12931.1,"tradeTurnover":6180.2486,"open":12859.0},{"amount":0.522,"high":13014.1,"vol":522,"low":12871.9,"count":132,"id":1603432800,"close":12939.6,"tradeTurnover":6759.0324,"open":12935.9},{"amount":0.476,"high":12998.9,"vol":476,"low":12917.1,"count":118,"id":1603436400,"close":12925.4,"tradeTurnover":6163.3118,"open":12923.1},{"amount":0.508,"high":13014.0,"vol":508,"low":12916.1,"count":122,"id":1603440000,"close":12962.6,"tradeTurnover":6585.3656,"open":12942.2},{"amount":0.564,"high":13012.5,"vol":564,"low":12909.9,"count":124,"id":1603443600,"close":12926.4,"tradeTurnover":7308.8828,"open":12970.5},{"amount":0.536,"high":13059.5,"vol":536,"low":12925.7,"count":124,"id":1603447200,"close":13007.7,"tradeTurnover":6957.8796,"open":13001.2},{"amount":0.486,"high":13078.4,"vol":486,"low":12906.5,"count":122,"id":1603450800,"close":12970.6,"tradeTurnover":6326.1434,"open":13025.4},{"amount":0.494,"high":13025.0,"vol":494,"low":12850.8,"count":117,"id":1603454400,"close":12935.4,"tradeTurnover":6396.0984,"open":12963.9},{"amount":0.466,"high":13043.3,"vol":466,"low":12911.0,"count":117,"id":1603458000,"close":12951.7,"tradeTurnover":6049.1412,"open":12913.3},{"amount":0.46,"high":13006.4,"vol":460,"low":12840.4,"count":116,"id":1603461600,"close":12858.8,"tradeTurnover":5941.815,"open":12999.6},{"amount":0.492,"high":12932.9,"vol":492,"low":12826.5,"count":117,"id":1603465200,"close":12881.9,"tradeTurnover":6340.214,"open":12885.7},{"amount":0.484,"high":12933.5,"vol":484,"low":12744.4,"count":123,"id":1603468800,"close":12784.1,"tradeTurnover":6205.4138,"open":12854.4},{"amount":0.562,"high":12893.1,"vol":562,"low":12730.1,"count":152,"id":1603472400,"close":12847.7,"tradeTurnover":7218.9184,"open":12832.3},{"amount":0.53,"high":12939.3,"vol":530,"low":12751.4,"count":128,"id":1603476000,"close":12915.7,"tradeTurnover":6825.7004,"open":12874.1},{"amount":0.444,"high":12972.9,"vol":444,"low":12786.6,"count":117,"id":1603479600,"close":12972.9,"tradeTurnover":5727.7452,"open":12867.9},{"amount":0.492,"high":13002.2,"vol":492,"low":12842.9,"count":116,"id":1603483200,"close":12991.6,"tradeTurnover":6375.1566,"open":12956.7},{"amount":0.5,"high":13004.3,"vol":500,"low":12936.6,"count":125,"id":1603486800,"close":12943.5,"tradeTurnover":6485.468,"open":13004.3},{"amount":0.492,"high":13010.3,"vol":492,"low":12884.7,"count":120,"id":1603490400,"close":12989.2,"tradeTurnover":6376.1492,"open":12923.6},{"amount":0.51,"high":13024.4,"vol":510,"low":12884.6,"count":121,"id":1603494000,"close":12884.6,"tradeTurnover":6622.3406,"open":12974.9},{"amount":0.488,"high":13018.3,"vol":488,"low":12811.1,"count":120,"id":1603497600,"close":12953.9,"tradeTurnover":6317.7938,"open":12973.7},{"amount":0.482,"high":13018.1,"vol":482,"low":12872.8,"count":117,"id":1603501200,"close":12934.2,"tradeTurnover":6242.4178,"open":12927.5},{"amount":0.484,"high":13003.9,"vol":484,"low":12903.3,"count":117,"id":1603504800,"close":12989.1,"tradeTurnover":6278.1756,"open":12971.9},{"amount":0.474,"high":13013.4,"vol":474,"low":12938.3,"count":122,"id":1603508400,"close":12975.9,"tradeTurnover":6157.7096,"open":13000.1},{"amount":0.526,"high":13009.4,"vol":526,"low":12905.5,"count":124,"id":1603512000,"close":12963.3,"tradeTurnover":6831.5658,"open":12989.7},{"amount":0.522,"high":13041.8,"vol":522,"low":12875.3,"count":127,"id":1603515600,"close":12989.7,"tradeTurnover":6768.8994,"open":12910.5},{"amount":0.49,"high":13058.1,"vol":490,"low":12908.8,"count":120,"id":1603519200,"close":13003.6,"tradeTurnover":6370.5714,"open":12994.7},{"amount":0.478,"high":13037.8,"vol":478,"low":12981.7,"count":120,"id":1603522800,"close":13004.2,"tradeTurnover":6218.9722,"open":13011.9},{"amount":0.52,"high":13030.6,"vol":520,"low":12899.4,"count":124,"id":1603526400,"close":12998.2,"tradeTurnover":6754.958,"open":13003.0},{"amount":0.454,"high":13020.3,"vol":454,"low":12893.6,"count":115,"id":1603530000,"close":12990.6,"tradeTurnover":5891.0574,"open":12998.2},{"amount":0.502,"high":13059.1,"vol":502,"low":12913.2,"count":124,"id":1603533600,"close":13030.1,"tradeTurnover":6525.9004,"open":12996.4},{"amount":0.468,"high":13068.3,"vol":468,"low":12940.2,"count":119,"id":1603537200,"close":13033.2,"tradeTurnover":6091.0376,"open":12988.4},{"amount":0.468,"high":13071.8,"vol":468,"low":12978.9,"count":123,"id":1603540800,"close":13006.5,"tradeTurnover":6102.5902,"open":13035.3},{"amount":0.534,"high":13066.7,"vol":534,"low":12928.1,"count":123,"id":1603544400,"close":12985.9,"tradeTurnover":6950.4268,"open":13038.8},{"amount":0.47,"high":13100.1,"vol":470,"low":12960.5,"count":100,"id":1603548000,"close":13042.0,"tradeTurnover":6124.2178,"open":12986.3},{"amount":0.456,"high":13196.5,"vol":456,"low":13038.4,"count":120,"id":1603551600,"close":13102.2,"tradeTurnover":5989.6362,"open":13038.4},{"amount":0.458,"high":13176.6,"vol":458,"low":12984.6,"count":121,"id":1603555200,"close":13052.7,"tradeTurnover":5976.331,"open":13136.8},{"amount":0.452,"high":13177.8,"vol":452,"low":13003.2,"count":118,"id":1603558800,"close":13177.8,"tradeTurnover":5911.7058,"open":13006.2},{"amount":0.468,"high":13170.7,"vol":468,"low":13023.0,"count":119,"id":1603562400,"close":13080.8,"tradeTurnover":6122.375,"open":13127.7},{"amount":0.468,"high":13179.3,"vol":468,"low":13014.2,"count":120,"id":1603566000,"close":13148.4,"tradeTurnover":6126.4278,"open":13040.7},{"amount":0.47,"high":13179.6,"vol":470,"low":12992.5,"count":119,"id":1603569600,"close":13090.1,"tradeTurnover":6151.4758,"open":13073.5},{"amount":0.458,"high":13148.7,"vol":458,"low":12980.7,"count":117,"id":1603573200,"close":12993.9,"tradeTurnover":5981.071,"open":13035.4},{"amount":0.478,"high":13112.1,"vol":478,"low":12975.6,"count":118,"id":1603576800,"close":13041.1,"tradeTurnover":6225.4216,"open":13040.7},{"amount":0.472,"high":13184.3,"vol":472,"low":13009.3,"count":118,"id":1603580400,"close":13184.3,"tradeTurnover":6173.4244,"open":13012.6},{"amount":0.46,"high":13170.4,"vol":460,"low":13007.7,"count":115,"id":1603584000,"close":13154.3,"tradeTurnover":6024.09,"open":13080.8},{"amount":0.398,"high":13196.8,"vol":398,"low":13024.0,"count":102,"id":1603587600,"close":13196.1,"tradeTurnover":5217.5364,"open":13092.0},{"amount":0.476,"high":13175.1,"vol":476,"low":13035.0,"count":120,"id":1603591200,"close":13082.4,"tradeTurnover":6228.6596,"open":13124.7},{"amount":0.578,"high":13383.8,"vol":578,"low":13049.1,"count":137,"id":1603594800,"close":13259.0,"tradeTurnover":7629.3886,"open":13049.1},{"amount":0.47,"high":13369.0,"vol":470,"low":13216.0,"count":122,"id":1603598400,"close":13243.4,"tradeTurnover":6247.955,"open":13277.0},{"amount":0.61,"high":13353.3,"vol":610,"low":13010.1,"count":134,"id":1603602000,"close":13017.3,"tradeTurnover":8048.8598,"open":13285.3},{"amount":0.486,"high":13105.7,"vol":486,"low":13018.2,"count":118,"id":1603605600,"close":13060.3,"tradeTurnover":6344.1474,"open":13022.5},{"amount":0.464,"high":13112.1,"vol":464,"low":13022.0,"count":120,"id":1603609200,"close":13078.1,"tradeTurnover":6061.5416,"open":13048.5},{"amount":0.464,"high":13091.0,"vol":464,"low":13017.2,"count":120,"id":1603612800,"close":13046.0,"tradeTurnover":6055.3734,"open":13077.2},{"amount":0.478,"high":13084.0,"vol":478,"low":13014.2,"count":117,"id":1603616400,"close":13040.8,"tradeTurnover":6235.7882,"open":13065.1},{"amount":0.478,"high":13064.2,"vol":478,"low":13010.2,"count":125,"id":1603620000,"close":13028.5,"tradeTurnover":6232.2428,"open":13047.1},{"amount":0.534,"high":13061.5,"vol":534,"low":12852.9,"count":123,"id":1603623600,"close":12897.6,"tradeTurnover":6918.1226,"open":13061.5},{"amount":0.444,"high":13069.7,"vol":444,"low":12893.2,"count":117,"id":1603627200,"close":12964.3,"tradeTurnover":5755.8712,"open":12908.3},{"amount":0.498,"high":13071.9,"vol":498,"low":12891.8,"count":119,"id":1603630800,"close":12949.3,"tradeTurnover":6465.078,"open":13001.3},{"amount":0.468,"high":13077.7,"vol":468,"low":12900.0,"count":116,"id":1603634400,"close":12946.8,"tradeTurnover":6075.4554,"open":12975.8},{"amount":0.47,"high":13069.1,"vol":470,"low":12883.3,"count":119,"id":1603638000,"close":12883.3,"tradeTurnover":6097.1072,"open":12975.2},{"amount":0.482,"high":13067.9,"vol":482,"low":12877.5,"count":118,"id":1603641600,"close":12978.7,"tradeTurnover":6256.4472,"open":12916.2},{"amount":0.47,"high":13087.5,"vol":470,"low":12922.7,"count":117,"id":1603645200,"close":13004.4,"tradeTurnover":6108.3892,"open":13008.0},{"amount":0.468,"high":13067.6,"vol":468,"low":12893.6,"count":118,"id":1603648800,"close":12957.2,"tradeTurnover":6079.1484,"open":12972.8},{"amount":0.442,"high":13066.9,"vol":442,"low":12916.6,"count":118,"id":1603652400,"close":13021.8,"tradeTurnover":5746.5548,"open":12996.5},{"amount":0.508,"high":13081.5,"vol":508,"low":12944.9,"count":120,"id":1603656000,"close":12985.4,"tradeTurnover":6616.9872,"open":12992.9},{"amount":0.508,"high":13068.6,"vol":508,"low":12921.4,"count":122,"id":1603659600,"close":13011.2,"tradeTurnover":6614.816,"open":12999.9},{"amount":0.486,"high":13073.8,"vol":486,"low":12911.9,"count":121,"id":1603663200,"close":12959.4,"tradeTurnover":6320.907,"open":12979.6},{"amount":0.452,"high":13085.2,"vol":452,"low":12927.8,"count":113,"id":1603666800,"close":13032.1,"tradeTurnover":5878.6442,"open":12963.4},{"amount":0.482,"high":13076.7,"vol":482,"low":12918.3,"count":121,"id":1603670400,"close":13001.0,"tradeTurnover":6263.698,"open":12964.2},{"amount":0.478,"high":13096.4,"vol":478,"low":12991.2,"count":124,"id":1603674000,"close":13053.7,"tradeTurnover":6232.2328,"open":13040.0},{"amount":0.488,"high":13185.7,"vol":488,"low":12985.1,"count":121,"id":1603677600,"close":13064.4,"tradeTurnover":6387.534,"open":13060.6},{"amount":0.486,"high":13187.2,"vol":486,"low":12984.1,"count":135,"id":1603681200,"close":13092.8,"tradeTurnover":6369.0272,"open":13032.3},{"amount":0.51,"high":13181.6,"vol":510,"low":12962.3,"count":131,"id":1603684800,"close":13132.6,"tradeTurnover":6679.829,"open":13092.0},{"amount":0.506,"high":13205.3,"vol":506,"low":13025.3,"count":126,"id":1603688400,"close":13092.1,"tradeTurnover":6641.2128,"open":13129.2},{"amount":1.616,"high":13188.1,"vol":1616,"low":12989.8,"count":141,"id":1603692000,"close":13071.4,"tradeTurnover":21170.8224,"open":13121.8},{"amount":3.746,"high":13100.0,"vol":3746,"low":12965.2,"count":110,"id":1603695600,"close":13038.7,"tradeTurnover":48924.8902,"open":13061.0},{"amount":8.966,"high":13102.0,"vol":8966,"low":12852.8,"count":173,"id":1603699200,"close":13039.3,"tradeTurnover":116525.5534,"open":13030.9},{"amount":4.48,"high":13088.4,"vol":4480,"low":13039.8,"count":124,"id":1603702800,"close":13075.9,"tradeTurnover":58521.1714,"open":13047.1},{"amount":4.272,"high":13100.0,"vol":4272,"low":13060.2,"count":130,"id":1603706400,"close":13100.0,"tradeTurnover":55895.9778,"open":13072.1},{"amount":29.798,"high":13159.0,"vol":29798,"low":13100.0,"count":230,"id":1603710000,"close":13138.4,"tradeTurnover":391138.024,"open":13100.0},{"amount":5.154,"high":13200.0,"vol":5154,"low":13100.0,"count":188,"id":1603713600,"close":13149.8,"tradeTurnover":67694.652,"open":13138.8},{"amount":35.608,"high":13351.5,"vol":35608,"low":13133.1,"count":328,"id":1603717200,"close":13205.8,"tradeTurnover":472780.3394,"open":13150.0},{"amount":31.748,"high":13280.0,"vol":31748,"low":13144.1,"count":235,"id":1603720800,"close":13166.1,"tradeTurnover":418744.5588,"open":13203.0},{"amount":36.53,"high":13165.2,"vol":36530,"low":12903.8,"count":384,"id":1603724400,"close":12978.0,"tradeTurnover":476940.3296,"open":13159.0},{"amount":35.018,"high":13069.8,"vol":35018,"low":12850.5,"count":323,"id":1603728000,"close":12869.6,"tradeTurnover":453288.918,"open":12965.0},{"amount":92.628,"high":12941.5,"vol":92628,"low":12583.9,"count":560,"id":1603731600,"close":12873.8,"tradeTurnover":1185973.467,"open":12879.2},{"amount":4.302,"high":12954.5,"vol":4302,"low":12820.4,"count":128,"id":1603735200,"close":12946.8,"tradeTurnover":55481.0054,"open":12856.2},{"amount":13.83,"high":12953.5,"vol":13830,"low":12914.1,"count":118,"id":1603738800,"close":12953.4,"tradeTurnover":179112.1598,"open":12945.6},{"amount":17.172,"high":13007.5,"vol":17172,"low":12953.5,"count":132,"id":1603742400,"close":12983.4,"tradeTurnover":223230.2122,"open":12953.5},{"amount":3.212,"high":13007.5,"vol":3212,"low":12982.7,"count":59,"id":1603746000,"close":12993.8,"tradeTurnover":41767.8906,"open":12983.1},{"amount":1.504,"high":13007.5,"vol":1504,"low":12974.0,"count":74,"id":1603749600,"close":13007.5,"tradeTurnover":19543.3568,"open":13002.1},{"amount":3.454,"high":13061.2,"vol":3454,"low":13007.5,"count":101,"id":1603753200,"close":13033.7,"tradeTurnover":45001.601,"open":13007.5},{"amount":8.784,"high":13105.0,"vol":8784,"low":13028.3,"count":98,"id":1603756800,"close":13067.1,"tradeTurnover":114871.8246,"open":13029.2},{"amount":11.592,"high":13074.4,"vol":11592,"low":13051.5,"count":66,"id":1603760400,"close":13061.7,"tradeTurnover":151386.9038,"open":13074.3},{"amount":19.298,"high":13097.6,"vol":19298,"low":13040.1,"count":109,"id":1603764000,"close":13049.7,"tradeTurnover":252061.019,"open":13061.7},{"amount":22.992,"high":13080.0,"vol":22992,"low":13057.1,"count":69,"id":1603767600,"close":13070.4,"tradeTurnover":300453.9788,"open":13057.6},{"amount":14.396,"high":13175.0,"vol":14396,"low":13079.6,"count":59,"id":1603771200,"close":13103.3,"tradeTurnover":188461.9156,"open":13080.0},{"amount":5.058,"high":13121.3,"vol":5058,"low":13069.7,"count":44,"id":1603774800,"close":13073.6,"tradeTurnover":66201.3552,"open":13121.3},{"amount":9.106,"high":13149.0,"vol":9106,"low":13069.6,"count":107,"id":1603778400,"close":13103.4,"tradeTurnover":119104.8906,"open":13074.9},{"amount":73.95,"high":13169.8,"vol":73950,"low":12992.4,"count":305,"id":1603782000,"close":13130.0,"tradeTurnover":968195.155,"open":13103.3},{"amount":18.732,"high":13148.4,"vol":18732,"low":13044.0,"count":135,"id":1603785600,"close":13123.8,"tradeTurnover":245533.5448,"open":13135.1},{"amount":13.756,"high":13131.8,"vol":13756,"low":13075.7,"count":102,"id":1603789200,"close":13131.7,"tradeTurnover":180253.7708,"open":13115.5},{"amount":154.108,"high":13252.0,"vol":154108,"low":13063.4,"count":525,"id":1603792800,"close":13216.9,"tradeTurnover":2029983.656,"open":13134.8},{"amount":170.09,"high":13590.1,"vol":170090,"low":13213.5,"count":591,"id":1603796400,"close":13395.8,"tradeTurnover":2276279.742,"open":13218.8},{"amount":48.928,"high":13414.0,"vol":48928,"low":13331.7,"count":216,"id":1603800000,"close":13376.9,"tradeTurnover":654585.9108,"open":13395.9},{"amount":63.294,"high":13490.9,"vol":63294,"low":13329.8,"count":316,"id":1603803600,"close":13384.3,"tradeTurnover":848130.9212,"open":13376.5},{"amount":12.892,"high":13415.8,"vol":12892,"low":13344.8,"count":124,"id":1603807200,"close":13398.2,"tradeTurnover":172618.6864,"open":13392.6},{"amount":93.22,"high":13626.7,"vol":93220,"low":13398.2,"count":476,"id":1603810800,"close":13598.5,"tradeTurnover":1262695.5466,"open":13398.2},{"amount":85.45,"high":13639.9,"vol":85450,"low":13520.2,"count":435,"id":1603814400,"close":13639.9,"tradeTurnover":1161481.4136,"open":13595.8},{"amount":191.812,"high":13826.7,"vol":191812,"low":13589.0,"count":711,"id":1603818000,"close":13688.1,"tradeTurnover":2628428.3788,"open":13640.0},{"amount":65.434,"high":13745.0,"vol":65434,"low":13528.2,"count":410,"id":1603821600,"close":13630.1,"tradeTurnover":891541.8394,"open":13685.0},{"amount":5.788,"high":13659.8,"vol":5788,"low":13595.4,"count":65,"id":1603825200,"close":13637.1,"tradeTurnover":78836.2578,"open":13629.4},{"amount":163.104,"high":13805.1,"vol":163104,"low":13582.6,"count":537,"id":1603828800,"close":13616.6,"tradeTurnover":2234040.3544,"open":13644.4},{"amount":9.884,"high":13753.5,"vol":9884,"low":13609.8,"count":101,"id":1603832400,"close":13705.5,"tradeTurnover":135406.4752,"open":13609.8},{"amount":7.436,"high":13739.9,"vol":7436,"low":13658.2,"count":100,"id":1603836000,"close":13739.9,"tradeTurnover":101840.3508,"open":13705.4},{"amount":17.086,"high":13794.6,"vol":17086,"low":13582.6,"count":234,"id":1603839600,"close":13649.6,"tradeTurnover":233971.8448,"open":13739.9},{"amount":24.108,"high":13745.2,"vol":24108,"low":13618.8,"count":177,"id":1603843200,"close":13701.7,"tradeTurnover":330206.5694,"open":13645.9},{"amount":15.892,"high":13725.6,"vol":15892,"low":13647.9,"count":151,"id":1603846800,"close":13702.6,"tradeTurnover":217816.7008,"open":13702.1},{"amount":46.548,"high":13832.2,"vol":46548,"low":13680.2,"count":274,"id":1603850400,"close":13811.6,"tradeTurnover":640636.0352,"open":13701.7},{"amount":67.896,"high":13820.3,"vol":67896,"low":13717.5,"count":320,"id":1603854000,"close":13777.0,"tradeTurnover":935838.2238,"open":13818.5},{"amount":33.156,"high":13807.2,"vol":33156,"low":13710.0,"count":210,"id":1603857600,"close":13735.7,"tradeTurnover":455941.234,"open":13767.3},{"amount":32.076,"high":13753.9,"vol":32076,"low":13671.3,"count":198,"id":1603861200,"close":13715.8,"tradeTurnover":439612.64,"open":13735.5},{"amount":14.756,"high":13757.0,"vol":14756,"low":13694.9,"count":122,"id":1603864800,"close":13701.3,"tradeTurnover":202602.5164,"open":13715.9},{"amount":155.534,"high":13708.7,"vol":155534,"low":13550.0,"count":635,"id":1603868400,"close":13674.2,"tradeTurnover":2117935.0928,"open":13701.2},{"amount":29.846,"high":13691.7,"vol":29846,"low":13584.0,"count":240,"id":1603872000,"close":13691.7,"tradeTurnover":407073.1398,"open":13673.0},{"amount":104.542,"high":13707.5,"vol":104542,"low":13573.5,"count":377,"id":1603875600,"close":13587.1,"tradeTurnover":1425079.9344,"open":13689.3},{"amount":73.818,"high":13618.0,"vol":73818,"low":13504.7,"count":358,"id":1603879200,"close":13552.7,"tradeTurnover":1001666.0908,"open":13584.6},{"amount":176.544,"high":13565.4,"vol":176544,"low":13330.0,"count":1004,"id":1603882800,"close":13336.4,"tradeTurnover":2369166.1492,"open":13552.6},{"amount":289.73,"high":13385.0,"vol":289730,"low":13173.9,"count":968,"id":1603886400,"close":13300.3,"tradeTurnover":3846751.7166,"open":13331.5},{"amount":139.822,"high":13340.0,"vol":139822,"low":13122.9,"count":612,"id":1603890000,"close":13129.9,"tradeTurnover":1848876.932,"open":13300.2},{"amount":367.876,"high":13168.2,"vol":367876,"low":12915.9,"count":1168,"id":1603893600,"close":13082.2,"tradeTurnover":4802516.9818,"open":13123.4},{"amount":84.044,"high":13235.2,"vol":84044,"low":13052.3,"count":375,"id":1603897200,"close":13221.2,"tradeTurnover":1106883.1282,"open":13077.1},{"amount":29.566,"high":13218.7,"vol":29566,"low":13050.0,"count":244,"id":1603900800,"close":13145.1,"tradeTurnover":388697.4104,"open":13218.7},{"amount":53.336,"high":13204.9,"vol":53336,"low":13006.6,"count":299,"id":1603904400,"close":13176.7,"tradeTurnover":700385.2784,"open":13145.1},{"amount":34.164,"high":13219.6,"vol":34164,"low":13131.0,"count":218,"id":1603908000,"close":13196.5,"tradeTurnover":450210.5778,"open":13171.0},{"amount":22.158,"high":13237.4,"vol":22158,"low":13145.0,"count":185,"id":1603911600,"close":13154.9,"tradeTurnover":292020.0438,"open":13200.0},{"amount":4.548,"high":13211.8,"vol":4548,"low":13147.4,"count":75,"id":1603915200,"close":13198.1,"tradeTurnover":59991.1118,"open":13154.5},{"amount":3.52,"high":13196.5,"vol":3520,"low":13100.2,"count":68,"id":1603918800,"close":13190.1,"tradeTurnover":46175.428,"open":13193.5},{"amount":3.122,"high":13267.5,"vol":3122,"low":13185.4,"count":72,"id":1603922400,"close":13252.0,"tradeTurnover":41304.2018,"open":13185.4},{"amount":14.768,"high":13282.3,"vol":14768,"low":13235.9,"count":86,"id":1603926000,"close":13265.9,"tradeTurnover":195689.0764,"open":13242.1},{"amount":19.968,"high":13294.7,"vol":19968,"low":13237.4,"count":98,"id":1603929600,"close":13245.1,"tradeTurnover":264834.1944,"open":13253.9},{"amount":35.282,"high":13285.3,"vol":35282,"low":13166.3,"count":192,"id":1603933200,"close":13274.2,"tradeTurnover":465789.6302,"open":13244.6},{"amount":9.748,"high":13277.7,"vol":9748,"low":13212.2,"count":119,"id":1603936800,"close":13241.1,"tradeTurnover":129016.0684,"open":13275.9},{"amount":27.3,"high":13262.5,"vol":27300,"low":13174.6,"count":199,"id":1603940400,"close":13262.5,"tradeTurnover":360589.8982,"open":13237.1},{"amount":18.904,"high":13277.7,"vol":18904,"low":13229.5,"count":109,"id":1603944000,"close":13229.5,"tradeTurnover":250713.2812,"open":13269.1},{"amount":15.822,"high":13274.8,"vol":15822,"low":13228.5,"count":134,"id":1603947600,"close":13274.8,"tradeTurnover":209781.909,"open":13228.5},{"amount":91.246,"high":13323.0,"vol":91246,"low":13242.3,"count":294,"id":1603951200,"close":13255.0,"tradeTurnover":1211271.2788,"open":13274.8},{"amount":187.622,"high":13269.3,"vol":187622,"low":13123.1,"count":506,"id":1603954800,"close":13142.4,"tradeTurnover":2478299.7074,"open":13255.0},{"amount":69.532,"high":13182.4,"vol":69532,"low":13094.1,"count":226,"id":1603958400,"close":13124.8,"tradeTurnover":914157.2418,"open":13145.9},{"amount":23.184,"high":13197.1,"vol":23184,"low":13129.5,"count":141,"id":1603962000,"close":13183.7,"tradeTurnover":305485.9524,"open":13129.5},{"amount":121.146,"high":13187.5,"vol":121146,"low":13053.1,"count":442,"id":1603965600,"close":13105.2,"tradeTurnover":1590026.4416,"open":13184.8},{"amount":47.498,"high":13171.4,"vol":47498,"low":13060.1,"count":262,"id":1603969200,"close":13060.1,"tradeTurnover":623578.149,"open":13105.1},{"amount":126.552,"high":13145.8,"vol":126552,"low":12977.9,"count":481,"id":1603972800,"close":13131.8,"tradeTurnover":1652549.311,"open":13056.9},{"amount":100.482,"high":13237.2,"vol":100482,"low":13102.0,"count":325,"id":1603976400,"close":13230.0,"tradeTurnover":1326403.7206,"open":13131.7},{"amount":253.258,"high":13476.1,"vol":253258,"low":13231.0,"count":752,"id":1603980000,"close":13420.8,"tradeTurnover":3384941.438,"open":13231.0},{"amount":64.71,"high":13458.7,"vol":64710,"low":13358.7,"count":269,"id":1603983600,"close":13420.6,"tradeTurnover":869052.3804,"open":13416.0},{"amount":120.24,"high":13594.5,"vol":120240,"low":13391.8,"count":570,"id":1603987200,"close":13535.9,"tradeTurnover":1626567.8278,"open":13421.9}],"id":"","rep":"market.BTC-USDT.kline.60min","status":"ok"} +2024-01-18 11:13:15.012 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:39] - 请求 KLine 数据用户收到的原始数据:{"id":"","rep":"market.BTC-USDT.kline.60min","ts":1705547593921,"wsid":19750305,"status":"ok","data":[{"id":1603270800,"open":12198.0,"close":12196.7,"high":12300.0,"low":11715.8,"amount":0.276,"vol":276,"trade_turnover":3315.9104,"count":39},{"id":1603274400,"open":12196.7,"close":12277.9,"high":12289.9,"low":12111.0,"amount":0.198,"vol":198,"trade_turnover":2420.7728,"count":21},{"id":1603278000,"open":12111.0,"close":12000.0,"high":12277.9,"low":12000.0,"amount":0.012,"vol":12,"trade_turnover":145.2238,"count":5},{"id":1603281600,"open":12078.0,"close":12497.4,"high":12498.0,"low":12078.0,"amount":0.084,"vol":84,"trade_turnover":1040.0504,"count":12},{"id":1603285200,"open":12495.6,"close":12373.5,"high":12495.6,"low":12282.9,"amount":1.122,"vol":1122,"trade_turnover":13905.3124,"count":112},{"id":1603288800,"open":12412.9,"close":12689.9,"high":12807.6,"low":12358.1,"amount":5.29,"vol":5290,"trade_turnover":66852.128,"count":155},{"id":1603292400,"open":12692.8,"close":12701.9,"high":12778.7,"low":12573.2,"amount":1.174,"vol":1174,"trade_turnover":14907.367,"count":113},{"id":1603296000,"open":12679.7,"close":12835.9,"high":12920.9,"low":12624.8,"amount":1.156,"vol":1156,"trade_turnover":14802.449,"count":115},{"id":1603299600,"open":12848.3,"close":12754.2,"high":12908.3,"low":12687.5,"amount":1.12,"vol":1120,"trade_turnover":14345.7324,"count":115},{"id":1603303200,"open":12743.7,"close":12740.2,"high":12849.0,"low":12668.3,"amount":1.106,"vol":1106,"trade_turnover":14105.3504,"count":114},{"id":1603306800,"open":12729.5,"close":12650.3,"high":12843.1,"low":12597.2,"amount":1.032,"vol":1032,"trade_turnover":13125.4568,"count":112},{"id":1603310400,"open":12666.8,"close":12807.0,"high":12848.4,"low":12610.2,"amount":1.154,"vol":1154,"trade_turnover":14680.638,"count":116},{"id":1603314000,"open":12866.0,"close":12938.9,"high":13005.1,"low":12748.2,"amount":1.164,"vol":1164,"trade_turnover":14976.9366,"count":114},{"id":1603317600,"open":12921.0,"close":13122.0,"high":13211.2,"low":12865.7,"amount":1.174,"vol":1174,"trade_turnover":15285.2446,"count":114},{"id":1603321200,"open":13153.2,"close":12829.8,"high":13173.2,"low":12688.6,"amount":1.172,"vol":1172,"trade_turnover":15060.9938,"count":117},{"id":1603324800,"open":12793.1,"close":12885.9,"high":12988.1,"low":12764.4,"amount":1.17,"vol":1170,"trade_turnover":15046.2046,"count":117},{"id":1603328400,"open":12860.4,"close":12757.5,"high":12972.6,"low":12757.5,"amount":1.158,"vol":1158,"trade_turnover":14882.4656,"count":118},{"id":1603332000,"open":12824.1,"close":12788.8,"high":12848.0,"low":12729.0,"amount":1.124,"vol":1124,"trade_turnover":14368.7948,"count":115},{"id":1603335600,"open":12791.7,"close":12767.2,"high":12834.4,"low":12729.0,"amount":1.194,"vol":1194,"trade_turnover":15268.9298,"count":111},{"id":1603339200,"open":12729.0,"close":12762.2,"high":12778.3,"low":12729.0,"amount":1.152,"vol":1152,"trade_turnover":14695.4876,"count":115},{"id":1603342800,"open":12763.1,"close":12813.8,"high":12842.0,"low":12730.6,"amount":1.21,"vol":1210,"trade_turnover":15440.8162,"count":119},{"id":1603346400,"open":12795.0,"close":12729.1,"high":12795.0,"low":12728.0,"amount":1.188,"vol":1188,"trade_turnover":15128.0098,"count":123},{"id":1603350000,"open":12728.6,"close":12730.6,"high":12730.6,"low":12728.3,"amount":1.266,"vol":1266,"trade_turnover":16115.1306,"count":112},{"id":1603353600,"open":12730.3,"close":12770.1,"high":12921.5,"low":12729.9,"amount":1.35,"vol":1350,"trade_turnover":17233.7326,"count":127},{"id":1603357200,"open":12824.9,"close":12780.4,"high":12872.1,"low":12760.1,"amount":0.98,"vol":980,"trade_turnover":12553.9826,"count":99},{"id":1603360800,"open":12784.9,"close":12934.2,"high":13002.7,"low":12775.6,"amount":0.266,"vol":266,"trade_turnover":3415.023,"count":30},{"id":1603364400,"open":12977.0,"close":13045.0,"high":13057.0,"low":12886.6,"amount":1.004,"vol":1004,"trade_turnover":13020.8576,"count":117},{"id":1603368000,"open":12958.5,"close":12847.9,"high":12973.4,"low":12751.6,"amount":1.134,"vol":1134,"trade_turnover":14594.2752,"count":111},{"id":1603371600,"open":12882.7,"close":12931.0,"high":13000.8,"low":12743.0,"amount":1.152,"vol":1152,"trade_turnover":14877.7314,"count":114},{"id":1603375200,"open":12890.4,"close":12917.8,"high":12995.3,"low":12783.9,"amount":1.182,"vol":1182,"trade_turnover":15224.4716,"count":115},{"id":1603378800,"open":12918.8,"close":12953.0,"high":13031.2,"low":12817.9,"amount":1.176,"vol":1176,"trade_turnover":15197.208,"count":117},{"id":1603382400,"open":12923.1,"close":13055.6,"high":13100.2,"low":12865.6,"amount":1.146,"vol":1146,"trade_turnover":14851.9604,"count":119},{"id":1603386000,"open":12967.6,"close":13082.7,"high":13105.7,"low":12835.5,"amount":1.534,"vol":1534,"trade_turnover":19927.8288,"count":124},{"id":1603389600,"open":13020.4,"close":13016.4,"high":13115.0,"low":12938.7,"amount":1.268,"vol":1268,"trade_turnover":16505.4738,"count":117},{"id":1603393200,"open":13028.3,"close":12970.6,"high":13171.2,"low":12961.8,"amount":1.13,"vol":1130,"trade_turnover":14762.952,"count":112},{"id":1603396800,"open":13016.7,"close":13089.3,"high":13216.1,"low":12998.5,"amount":1.206,"vol":1206,"trade_turnover":15807.1226,"count":117},{"id":1603400400,"open":13136.0,"close":13092.0,"high":13203.7,"low":12932.9,"amount":1.332,"vol":1332,"trade_turnover":17423.4422,"count":114},{"id":1603404000,"open":13119.4,"close":13055.9,"high":13250.5,"low":12984.7,"amount":1.21,"vol":1210,"trade_turnover":15876.0632,"count":114},{"id":1603407600,"open":13059.4,"close":12890.4,"high":13126.5,"low":12857.2,"amount":1.286,"vol":1286,"trade_turnover":16688.422,"count":116},{"id":1603411200,"open":12929.7,"close":12892.2,"high":12994.0,"low":12751.6,"amount":1.502,"vol":1502,"trade_turnover":19331.1596,"count":131},{"id":1603414800,"open":12921.7,"close":12898.3,"high":13003.2,"low":12786.0,"amount":1.386,"vol":1386,"trade_turnover":17904.8902,"count":121},{"id":1603418400,"open":12951.6,"close":12975.1,"high":13054.0,"low":12800.7,"amount":1.416,"vol":1416,"trade_turnover":18306.6204,"count":122},{"id":1603422000,"open":12967.3,"close":12947.0,"high":13030.7,"low":12875.0,"amount":1.19,"vol":1190,"trade_turnover":15409.7984,"count":118},{"id":1603425600,"open":12925.2,"close":12852.0,"high":13047.3,"low":12832.8,"amount":1.022,"vol":1022,"trade_turnover":13214.4388,"count":127},{"id":1603429200,"open":12859.0,"close":12931.1,"high":12991.7,"low":12841.2,"amount":0.478,"vol":478,"trade_turnover":6180.2486,"count":118},{"id":1603432800,"open":12935.9,"close":12939.6,"high":13014.1,"low":12871.9,"amount":0.522,"vol":522,"trade_turnover":6759.0324,"count":132},{"id":1603436400,"open":12923.1,"close":12925.4,"high":12998.9,"low":12917.1,"amount":0.476,"vol":476,"trade_turnover":6163.3118,"count":118},{"id":1603440000,"open":12942.2,"close":12962.6,"high":13014.0,"low":12916.1,"amount":0.508,"vol":508,"trade_turnover":6585.3656,"count":122},{"id":1603443600,"open":12970.5,"close":12926.4,"high":13012.5,"low":12909.9,"amount":0.564,"vol":564,"trade_turnover":7308.8828,"count":124},{"id":1603447200,"open":13001.2,"close":13007.7,"high":13059.5,"low":12925.7,"amount":0.536,"vol":536,"trade_turnover":6957.8796,"count":124},{"id":1603450800,"open":13025.4,"close":12970.6,"high":13078.4,"low":12906.5,"amount":0.486,"vol":486,"trade_turnover":6326.1434,"count":122},{"id":1603454400,"open":12963.9,"close":12935.4,"high":13025.0,"low":12850.8,"amount":0.494,"vol":494,"trade_turnover":6396.0984,"count":117},{"id":1603458000,"open":12913.3,"close":12951.7,"high":13043.3,"low":12911.0,"amount":0.466,"vol":466,"trade_turnover":6049.1412,"count":117},{"id":1603461600,"open":12999.6,"close":12858.8,"high":13006.4,"low":12840.4,"amount":0.46,"vol":460,"trade_turnover":5941.815,"count":116},{"id":1603465200,"open":12885.7,"close":12881.9,"high":12932.9,"low":12826.5,"amount":0.492,"vol":492,"trade_turnover":6340.214,"count":117},{"id":1603468800,"open":12854.4,"close":12784.1,"high":12933.5,"low":12744.4,"amount":0.484,"vol":484,"trade_turnover":6205.4138,"count":123},{"id":1603472400,"open":12832.3,"close":12847.7,"high":12893.1,"low":12730.1,"amount":0.562,"vol":562,"trade_turnover":7218.9184,"count":152},{"id":1603476000,"open":12874.1,"close":12915.7,"high":12939.3,"low":12751.4,"amount":0.53,"vol":530,"trade_turnover":6825.7004,"count":128},{"id":1603479600,"open":12867.9,"close":12972.9,"high":12972.9,"low":12786.6,"amount":0.444,"vol":444,"trade_turnover":5727.7452,"count":117},{"id":1603483200,"open":12956.7,"close":12991.6,"high":13002.2,"low":12842.9,"amount":0.492,"vol":492,"trade_turnover":6375.1566,"count":116},{"id":1603486800,"open":13004.3,"close":12943.5,"high":13004.3,"low":12936.6,"amount":0.5,"vol":500,"trade_turnover":6485.468,"count":125},{"id":1603490400,"open":12923.6,"close":12989.2,"high":13010.3,"low":12884.7,"amount":0.492,"vol":492,"trade_turnover":6376.1492,"count":120},{"id":1603494000,"open":12974.9,"close":12884.6,"high":13024.4,"low":12884.6,"amount":0.51,"vol":510,"trade_turnover":6622.3406,"count":121},{"id":1603497600,"open":12973.7,"close":12953.9,"high":13018.3,"low":12811.1,"amount":0.488,"vol":488,"trade_turnover":6317.7938,"count":120},{"id":1603501200,"open":12927.5,"close":12934.2,"high":13018.1,"low":12872.8,"amount":0.482,"vol":482,"trade_turnover":6242.4178,"count":117},{"id":1603504800,"open":12971.9,"close":12989.1,"high":13003.9,"low":12903.3,"amount":0.484,"vol":484,"trade_turnover":6278.1756,"count":117},{"id":1603508400,"open":13000.1,"close":12975.9,"high":13013.4,"low":12938.3,"amount":0.474,"vol":474,"trade_turnover":6157.7096,"count":122},{"id":1603512000,"open":12989.7,"close":12963.3,"high":13009.4,"low":12905.5,"amount":0.526,"vol":526,"trade_turnover":6831.5658,"count":124},{"id":1603515600,"open":12910.5,"close":12989.7,"high":13041.8,"low":12875.3,"amount":0.522,"vol":522,"trade_turnover":6768.8994,"count":127},{"id":1603519200,"open":12994.7,"close":13003.6,"high":13058.1,"low":12908.8,"amount":0.49,"vol":490,"trade_turnover":6370.5714,"count":120},{"id":1603522800,"open":13011.9,"close":13004.2,"high":13037.8,"low":12981.7,"amount":0.478,"vol":478,"trade_turnover":6218.9722,"count":120},{"id":1603526400,"open":13003.0,"close":12998.2,"high":13030.6,"low":12899.4,"amount":0.52,"vol":520,"trade_turnover":6754.958,"count":124},{"id":1603530000,"open":12998.2,"close":12990.6,"high":13020.3,"low":12893.6,"amount":0.454,"vol":454,"trade_turnover":5891.0574,"count":115},{"id":1603533600,"open":12996.4,"close":13030.1,"high":13059.1,"low":12913.2,"amount":0.502,"vol":502,"trade_turnover":6525.9004,"count":124},{"id":1603537200,"open":12988.4,"close":13033.2,"high":13068.3,"low":12940.2,"amount":0.468,"vol":468,"trade_turnover":6091.0376,"count":119},{"id":1603540800,"open":13035.3,"close":13006.5,"high":13071.8,"low":12978.9,"amount":0.468,"vol":468,"trade_turnover":6102.5902,"count":123},{"id":1603544400,"open":13038.8,"close":12985.9,"high":13066.7,"low":12928.1,"amount":0.534,"vol":534,"trade_turnover":6950.4268,"count":123},{"id":1603548000,"open":12986.3,"close":13042.0,"high":13100.1,"low":12960.5,"amount":0.47,"vol":470,"trade_turnover":6124.2178,"count":100},{"id":1603551600,"open":13038.4,"close":13102.2,"high":13196.5,"low":13038.4,"amount":0.456,"vol":456,"trade_turnover":5989.6362,"count":120},{"id":1603555200,"open":13136.8,"close":13052.7,"high":13176.6,"low":12984.6,"amount":0.458,"vol":458,"trade_turnover":5976.331,"count":121},{"id":1603558800,"open":13006.2,"close":13177.8,"high":13177.8,"low":13003.2,"amount":0.452,"vol":452,"trade_turnover":5911.7058,"count":118},{"id":1603562400,"open":13127.7,"close":13080.8,"high":13170.7,"low":13023.0,"amount":0.468,"vol":468,"trade_turnover":6122.375,"count":119},{"id":1603566000,"open":13040.7,"close":13148.4,"high":13179.3,"low":13014.2,"amount":0.468,"vol":468,"trade_turnover":6126.4278,"count":120},{"id":1603569600,"open":13073.5,"close":13090.1,"high":13179.6,"low":12992.5,"amount":0.47,"vol":470,"trade_turnover":6151.4758,"count":119},{"id":1603573200,"open":13035.4,"close":12993.9,"high":13148.7,"low":12980.7,"amount":0.458,"vol":458,"trade_turnover":5981.071,"count":117},{"id":1603576800,"open":13040.7,"close":13041.1,"high":13112.1,"low":12975.6,"amount":0.478,"vol":478,"trade_turnover":6225.4216,"count":118},{"id":1603580400,"open":13012.6,"close":13184.3,"high":13184.3,"low":13009.3,"amount":0.472,"vol":472,"trade_turnover":6173.4244,"count":118},{"id":1603584000,"open":13080.8,"close":13154.3,"high":13170.4,"low":13007.7,"amount":0.46,"vol":460,"trade_turnover":6024.09,"count":115},{"id":1603587600,"open":13092.0,"close":13196.1,"high":13196.8,"low":13024.0,"amount":0.398,"vol":398,"trade_turnover":5217.5364,"count":102},{"id":1603591200,"open":13124.7,"close":13082.4,"high":13175.1,"low":13035.0,"amount":0.476,"vol":476,"trade_turnover":6228.6596,"count":120},{"id":1603594800,"open":13049.1,"close":13259.0,"high":13383.8,"low":13049.1,"amount":0.578,"vol":578,"trade_turnover":7629.3886,"count":137},{"id":1603598400,"open":13277.0,"close":13243.4,"high":13369.0,"low":13216.0,"amount":0.47,"vol":470,"trade_turnover":6247.955,"count":122},{"id":1603602000,"open":13285.3,"close":13017.3,"high":13353.3,"low":13010.1,"amount":0.61,"vol":610,"trade_turnover":8048.8598,"count":134},{"id":1603605600,"open":13022.5,"close":13060.3,"high":13105.7,"low":13018.2,"amount":0.486,"vol":486,"trade_turnover":6344.1474,"count":118},{"id":1603609200,"open":13048.5,"close":13078.1,"high":13112.1,"low":13022.0,"amount":0.464,"vol":464,"trade_turnover":6061.5416,"count":120},{"id":1603612800,"open":13077.2,"close":13046.0,"high":13091.0,"low":13017.2,"amount":0.464,"vol":464,"trade_turnover":6055.3734,"count":120},{"id":1603616400,"open":13065.1,"close":13040.8,"high":13084.0,"low":13014.2,"amount":0.478,"vol":478,"trade_turnover":6235.7882,"count":117},{"id":1603620000,"open":13047.1,"close":13028.5,"high":13064.2,"low":13010.2,"amount":0.478,"vol":478,"trade_turnover":6232.2428,"count":125},{"id":1603623600,"open":13061.5,"close":12897.6,"high":13061.5,"low":12852.9,"amount":0.534,"vol":534,"trade_turnover":6918.1226,"count":123},{"id":1603627200,"open":12908.3,"close":12964.3,"high":13069.7,"low":12893.2,"amount":0.444,"vol":444,"trade_turnover":5755.8712,"count":117},{"id":1603630800,"open":13001.3,"close":12949.3,"high":13071.9,"low":12891.8,"amount":0.498,"vol":498,"trade_turnover":6465.078,"count":119},{"id":1603634400,"open":12975.8,"close":12946.8,"high":13077.7,"low":12900.0,"amount":0.468,"vol":468,"trade_turnover":6075.4554,"count":116},{"id":1603638000,"open":12975.2,"close":12883.3,"high":13069.1,"low":12883.3,"amount":0.47,"vol":470,"trade_turnover":6097.1072,"count":119},{"id":1603641600,"open":12916.2,"close":12978.7,"high":13067.9,"low":12877.5,"amount":0.482,"vol":482,"trade_turnover":6256.4472,"count":118},{"id":1603645200,"open":13008.0,"close":13004.4,"high":13087.5,"low":12922.7,"amount":0.47,"vol":470,"trade_turnover":6108.3892,"count":117},{"id":1603648800,"open":12972.8,"close":12957.2,"high":13067.6,"low":12893.6,"amount":0.468,"vol":468,"trade_turnover":6079.1484,"count":118},{"id":1603652400,"open":12996.5,"close":13021.8,"high":13066.9,"low":12916.6,"amount":0.442,"vol":442,"trade_turnover":5746.5548,"count":118},{"id":1603656000,"open":12992.9,"close":12985.4,"high":13081.5,"low":12944.9,"amount":0.508,"vol":508,"trade_turnover":6616.9872,"count":120},{"id":1603659600,"open":12999.9,"close":13011.2,"high":13068.6,"low":12921.4,"amount":0.508,"vol":508,"trade_turnover":6614.816,"count":122},{"id":1603663200,"open":12979.6,"close":12959.4,"high":13073.8,"low":12911.9,"amount":0.486,"vol":486,"trade_turnover":6320.907,"count":121},{"id":1603666800,"open":12963.4,"close":13032.1,"high":13085.2,"low":12927.8,"amount":0.452,"vol":452,"trade_turnover":5878.6442,"count":113},{"id":1603670400,"open":12964.2,"close":13001.0,"high":13076.7,"low":12918.3,"amount":0.482,"vol":482,"trade_turnover":6263.698,"count":121},{"id":1603674000,"open":13040.0,"close":13053.7,"high":13096.4,"low":12991.2,"amount":0.478,"vol":478,"trade_turnover":6232.2328,"count":124},{"id":1603677600,"open":13060.6,"close":13064.4,"high":13185.7,"low":12985.1,"amount":0.488,"vol":488,"trade_turnover":6387.534,"count":121},{"id":1603681200,"open":13032.3,"close":13092.8,"high":13187.2,"low":12984.1,"amount":0.486,"vol":486,"trade_turnover":6369.0272,"count":135},{"id":1603684800,"open":13092.0,"close":13132.6,"high":13181.6,"low":12962.3,"amount":0.51,"vol":510,"trade_turnover":6679.829,"count":131},{"id":1603688400,"open":13129.2,"close":13092.1,"high":13205.3,"low":13025.3,"amount":0.506,"vol":506,"trade_turnover":6641.2128,"count":126},{"id":1603692000,"open":13121.8,"close":13071.4,"high":13188.1,"low":12989.8,"amount":1.616,"vol":1616,"trade_turnover":21170.8224,"count":141},{"id":1603695600,"open":13061.0,"close":13038.7,"high":13100.0,"low":12965.2,"amount":3.746,"vol":3746,"trade_turnover":48924.8902,"count":110},{"id":1603699200,"open":13030.9,"close":13039.3,"high":13102.0,"low":12852.8,"amount":8.966,"vol":8966,"trade_turnover":116525.5534,"count":173},{"id":1603702800,"open":13047.1,"close":13075.9,"high":13088.4,"low":13039.8,"amount":4.48,"vol":4480,"trade_turnover":58521.1714,"count":124},{"id":1603706400,"open":13072.1,"close":13100.0,"high":13100.0,"low":13060.2,"amount":4.272,"vol":4272,"trade_turnover":55895.9778,"count":130},{"id":1603710000,"open":13100.0,"close":13138.4,"high":13159.0,"low":13100.0,"amount":29.798,"vol":29798,"trade_turnover":391138.024,"count":230},{"id":1603713600,"open":13138.8,"close":13149.8,"high":13200.0,"low":13100.0,"amount":5.154,"vol":5154,"trade_turnover":67694.652,"count":188},{"id":1603717200,"open":13150.0,"close":13205.8,"high":13351.5,"low":13133.1,"amount":35.608,"vol":35608,"trade_turnover":472780.3394,"count":328},{"id":1603720800,"open":13203.0,"close":13166.1,"high":13280.0,"low":13144.1,"amount":31.748,"vol":31748,"trade_turnover":418744.5588,"count":235},{"id":1603724400,"open":13159.0,"close":12978.0,"high":13165.2,"low":12903.8,"amount":36.53,"vol":36530,"trade_turnover":476940.3296,"count":384},{"id":1603728000,"open":12965.0,"close":12869.6,"high":13069.8,"low":12850.5,"amount":35.018,"vol":35018,"trade_turnover":453288.918,"count":323},{"id":1603731600,"open":12879.2,"close":12873.8,"high":12941.5,"low":12583.9,"amount":92.628,"vol":92628,"trade_turnover":1185973.467,"count":560},{"id":1603735200,"open":12856.2,"close":12946.8,"high":12954.5,"low":12820.4,"amount":4.302,"vol":4302,"trade_turnover":55481.0054,"count":128},{"id":1603738800,"open":12945.6,"close":12953.4,"high":12953.5,"low":12914.1,"amount":13.83,"vol":13830,"trade_turnover":179112.1598,"count":118},{"id":1603742400,"open":12953.5,"close":12983.4,"high":13007.5,"low":12953.5,"amount":17.172,"vol":17172,"trade_turnover":223230.2122,"count":132},{"id":1603746000,"open":12983.1,"close":12993.8,"high":13007.5,"low":12982.7,"amount":3.212,"vol":3212,"trade_turnover":41767.8906,"count":59},{"id":1603749600,"open":13002.1,"close":13007.5,"high":13007.5,"low":12974.0,"amount":1.504,"vol":1504,"trade_turnover":19543.3568,"count":74},{"id":1603753200,"open":13007.5,"close":13033.7,"high":13061.2,"low":13007.5,"amount":3.454,"vol":3454,"trade_turnover":45001.601,"count":101},{"id":1603756800,"open":13029.2,"close":13067.1,"high":13105.0,"low":13028.3,"amount":8.784,"vol":8784,"trade_turnover":114871.8246,"count":98},{"id":1603760400,"open":13074.3,"close":13061.7,"high":13074.4,"low":13051.5,"amount":11.592,"vol":11592,"trade_turnover":151386.9038,"count":66},{"id":1603764000,"open":13061.7,"close":13049.7,"high":13097.6,"low":13040.1,"amount":19.298,"vol":19298,"trade_turnover":252061.019,"count":109},{"id":1603767600,"open":13057.6,"close":13070.4,"high":13080.0,"low":13057.1,"amount":22.992,"vol":22992,"trade_turnover":300453.9788,"count":69},{"id":1603771200,"open":13080.0,"close":13103.3,"high":13175.0,"low":13079.6,"amount":14.396,"vol":14396,"trade_turnover":188461.9156,"count":59},{"id":1603774800,"open":13121.3,"close":13073.6,"high":13121.3,"low":13069.7,"amount":5.058,"vol":5058,"trade_turnover":66201.3552,"count":44},{"id":1603778400,"open":13074.9,"close":13103.4,"high":13149.0,"low":13069.6,"amount":9.106,"vol":9106,"trade_turnover":119104.8906,"count":107},{"id":1603782000,"open":13103.3,"close":13130.0,"high":13169.8,"low":12992.4,"amount":73.95,"vol":73950,"trade_turnover":968195.155,"count":305},{"id":1603785600,"open":13135.1,"close":13123.8,"high":13148.4,"low":13044.0,"amount":18.732,"vol":18732,"trade_turnover":245533.5448,"count":135},{"id":1603789200,"open":13115.5,"close":13131.7,"high":13131.8,"low":13075.7,"amount":13.756,"vol":13756,"trade_turnover":180253.7708,"count":102},{"id":1603792800,"open":13134.8,"close":13216.9,"high":13252.0,"low":13063.4,"amount":154.108,"vol":154108,"trade_turnover":2029983.656,"count":525},{"id":1603796400,"open":13218.8,"close":13395.8,"high":13590.1,"low":13213.5,"amount":170.09,"vol":170090,"trade_turnover":2276279.742,"count":591},{"id":1603800000,"open":13395.9,"close":13376.9,"high":13414.0,"low":13331.7,"amount":48.928,"vol":48928,"trade_turnover":654585.9108,"count":216},{"id":1603803600,"open":13376.5,"close":13384.3,"high":13490.9,"low":13329.8,"amount":63.294,"vol":63294,"trade_turnover":848130.9212,"count":316},{"id":1603807200,"open":13392.6,"close":13398.2,"high":13415.8,"low":13344.8,"amount":12.892,"vol":12892,"trade_turnover":172618.6864,"count":124},{"id":1603810800,"open":13398.2,"close":13598.5,"high":13626.7,"low":13398.2,"amount":93.22,"vol":93220,"trade_turnover":1262695.5466,"count":476},{"id":1603814400,"open":13595.8,"close":13639.9,"high":13639.9,"low":13520.2,"amount":85.45,"vol":85450,"trade_turnover":1161481.4136,"count":435},{"id":1603818000,"open":13640.0,"close":13688.1,"high":13826.7,"low":13589.0,"amount":191.812,"vol":191812,"trade_turnover":2628428.3788,"count":711},{"id":1603821600,"open":13685.0,"close":13630.1,"high":13745.0,"low":13528.2,"amount":65.434,"vol":65434,"trade_turnover":891541.8394,"count":410},{"id":1603825200,"open":13629.4,"close":13637.1,"high":13659.8,"low":13595.4,"amount":5.788,"vol":5788,"trade_turnover":78836.2578,"count":65},{"id":1603828800,"open":13644.4,"close":13616.6,"high":13805.1,"low":13582.6,"amount":163.104,"vol":163104,"trade_turnover":2234040.3544,"count":537},{"id":1603832400,"open":13609.8,"close":13705.5,"high":13753.5,"low":13609.8,"amount":9.884,"vol":9884,"trade_turnover":135406.4752,"count":101},{"id":1603836000,"open":13705.4,"close":13739.9,"high":13739.9,"low":13658.2,"amount":7.436,"vol":7436,"trade_turnover":101840.3508,"count":100},{"id":1603839600,"open":13739.9,"close":13649.6,"high":13794.6,"low":13582.6,"amount":17.086,"vol":17086,"trade_turnover":233971.8448,"count":234},{"id":1603843200,"open":13645.9,"close":13701.7,"high":13745.2,"low":13618.8,"amount":24.108,"vol":24108,"trade_turnover":330206.5694,"count":177},{"id":1603846800,"open":13702.1,"close":13702.6,"high":13725.6,"low":13647.9,"amount":15.892,"vol":15892,"trade_turnover":217816.7008,"count":151},{"id":1603850400,"open":13701.7,"close":13811.6,"high":13832.2,"low":13680.2,"amount":46.548,"vol":46548,"trade_turnover":640636.0352,"count":274},{"id":1603854000,"open":13818.5,"close":13777.0,"high":13820.3,"low":13717.5,"amount":67.896,"vol":67896,"trade_turnover":935838.2238,"count":320},{"id":1603857600,"open":13767.3,"close":13735.7,"high":13807.2,"low":13710.0,"amount":33.156,"vol":33156,"trade_turnover":455941.234,"count":210},{"id":1603861200,"open":13735.5,"close":13715.8,"high":13753.9,"low":13671.3,"amount":32.076,"vol":32076,"trade_turnover":439612.64,"count":198},{"id":1603864800,"open":13715.9,"close":13701.3,"high":13757.0,"low":13694.9,"amount":14.756,"vol":14756,"trade_turnover":202602.5164,"count":122},{"id":1603868400,"open":13701.2,"close":13674.2,"high":13708.7,"low":13550.0,"amount":155.534,"vol":155534,"trade_turnover":2117935.0928,"count":635},{"id":1603872000,"open":13673.0,"close":13691.7,"high":13691.7,"low":13584.0,"amount":29.846,"vol":29846,"trade_turnover":407073.1398,"count":240},{"id":1603875600,"open":13689.3,"close":13587.1,"high":13707.5,"low":13573.5,"amount":104.542,"vol":104542,"trade_turnover":1425079.9344,"count":377},{"id":1603879200,"open":13584.6,"close":13552.7,"high":13618.0,"low":13504.7,"amount":73.818,"vol":73818,"trade_turnover":1001666.0908,"count":358},{"id":1603882800,"open":13552.6,"close":13336.4,"high":13565.4,"low":13330.0,"amount":176.544,"vol":176544,"trade_turnover":2369166.1492,"count":1004},{"id":1603886400,"open":13331.5,"close":13300.3,"high":13385.0,"low":13173.9,"amount":289.73,"vol":289730,"trade_turnover":3846751.7166,"count":968},{"id":1603890000,"open":13300.2,"close":13129.9,"high":13340.0,"low":13122.9,"amount":139.822,"vol":139822,"trade_turnover":1848876.932,"count":612},{"id":1603893600,"open":13123.4,"close":13082.2,"high":13168.2,"low":12915.9,"amount":367.876,"vol":367876,"trade_turnover":4802516.9818,"count":1168},{"id":1603897200,"open":13077.1,"close":13221.2,"high":13235.2,"low":13052.3,"amount":84.044,"vol":84044,"trade_turnover":1106883.1282,"count":375},{"id":1603900800,"open":13218.7,"close":13145.1,"high":13218.7,"low":13050.0,"amount":29.566,"vol":29566,"trade_turnover":388697.4104,"count":244},{"id":1603904400,"open":13145.1,"close":13176.7,"high":13204.9,"low":13006.6,"amount":53.336,"vol":53336,"trade_turnover":700385.2784,"count":299},{"id":1603908000,"open":13171.0,"close":13196.5,"high":13219.6,"low":13131.0,"amount":34.164,"vol":34164,"trade_turnover":450210.5778,"count":218},{"id":1603911600,"open":13200.0,"close":13154.9,"high":13237.4,"low":13145.0,"amount":22.158,"vol":22158,"trade_turnover":292020.0438,"count":185},{"id":1603915200,"open":13154.5,"close":13198.1,"high":13211.8,"low":13147.4,"amount":4.548,"vol":4548,"trade_turnover":59991.1118,"count":75},{"id":1603918800,"open":13193.5,"close":13190.1,"high":13196.5,"low":13100.2,"amount":3.52,"vol":3520,"trade_turnover":46175.428,"count":68},{"id":1603922400,"open":13185.4,"close":13252.0,"high":13267.5,"low":13185.4,"amount":3.122,"vol":3122,"trade_turnover":41304.2018,"count":72},{"id":1603926000,"open":13242.1,"close":13265.9,"high":13282.3,"low":13235.9,"amount":14.768,"vol":14768,"trade_turnover":195689.0764,"count":86},{"id":1603929600,"open":13253.9,"close":13245.1,"high":13294.7,"low":13237.4,"amount":19.968,"vol":19968,"trade_turnover":264834.1944,"count":98},{"id":1603933200,"open":13244.6,"close":13274.2,"high":13285.3,"low":13166.3,"amount":35.282,"vol":35282,"trade_turnover":465789.6302,"count":192},{"id":1603936800,"open":13275.9,"close":13241.1,"high":13277.7,"low":13212.2,"amount":9.748,"vol":9748,"trade_turnover":129016.0684,"count":119},{"id":1603940400,"open":13237.1,"close":13262.5,"high":13262.5,"low":13174.6,"amount":27.3,"vol":27300,"trade_turnover":360589.8982,"count":199},{"id":1603944000,"open":13269.1,"close":13229.5,"high":13277.7,"low":13229.5,"amount":18.904,"vol":18904,"trade_turnover":250713.2812,"count":109},{"id":1603947600,"open":13228.5,"close":13274.8,"high":13274.8,"low":13228.5,"amount":15.822,"vol":15822,"trade_turnover":209781.909,"count":134},{"id":1603951200,"open":13274.8,"close":13255.0,"high":13323.0,"low":13242.3,"amount":91.246,"vol":91246,"trade_turnover":1211271.2788,"count":294},{"id":1603954800,"open":13255.0,"close":13142.4,"high":13269.3,"low":13123.1,"amount":187.622,"vol":187622,"trade_turnover":2478299.7074,"count":506},{"id":1603958400,"open":13145.9,"close":13124.8,"high":13182.4,"low":13094.1,"amount":69.532,"vol":69532,"trade_turnover":914157.2418,"count":226},{"id":1603962000,"open":13129.5,"close":13183.7,"high":13197.1,"low":13129.5,"amount":23.184,"vol":23184,"trade_turnover":305485.9524,"count":141},{"id":1603965600,"open":13184.8,"close":13105.2,"high":13187.5,"low":13053.1,"amount":121.146,"vol":121146,"trade_turnover":1590026.4416,"count":442},{"id":1603969200,"open":13105.1,"close":13060.1,"high":13171.4,"low":13060.1,"amount":47.498,"vol":47498,"trade_turnover":623578.149,"count":262},{"id":1603972800,"open":13056.9,"close":13131.8,"high":13145.8,"low":12977.9,"amount":126.552,"vol":126552,"trade_turnover":1652549.311,"count":481},{"id":1603976400,"open":13131.7,"close":13230.0,"high":13237.2,"low":13102.0,"amount":100.482,"vol":100482,"trade_turnover":1326403.7206,"count":325},{"id":1603980000,"open":13231.0,"close":13420.8,"high":13476.1,"low":13231.0,"amount":253.258,"vol":253258,"trade_turnover":3384941.438,"count":752},{"id":1603983600,"open":13416.0,"close":13420.6,"high":13458.7,"low":13358.7,"amount":64.71,"vol":64710,"trade_turnover":869052.3804,"count":269},{"id":1603987200,"open":13421.9,"close":13535.9,"high":13594.5,"low":13391.8,"amount":120.24,"vol":120240,"trade_turnover":1626567.8278,"count":570}]} +2024-01-18 11:13:15.014 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:41] - 请求 KLine 数据解析之后的数据为:{"wsid":19750305,"data":[{"amount":0.276,"high":12300.0,"vol":276,"low":11715.8,"count":39,"id":1603270800,"close":12196.7,"tradeTurnover":3315.9104,"open":12198.0},{"amount":0.198,"high":12289.9,"vol":198,"low":12111.0,"count":21,"id":1603274400,"close":12277.9,"tradeTurnover":2420.7728,"open":12196.7},{"amount":0.012,"high":12277.9,"vol":12,"low":12000.0,"count":5,"id":1603278000,"close":12000.0,"tradeTurnover":145.2238,"open":12111.0},{"amount":0.084,"high":12498.0,"vol":84,"low":12078.0,"count":12,"id":1603281600,"close":12497.4,"tradeTurnover":1040.0504,"open":12078.0},{"amount":1.122,"high":12495.6,"vol":1122,"low":12282.9,"count":112,"id":1603285200,"close":12373.5,"tradeTurnover":13905.3124,"open":12495.6},{"amount":5.29,"high":12807.6,"vol":5290,"low":12358.1,"count":155,"id":1603288800,"close":12689.9,"tradeTurnover":66852.128,"open":12412.9},{"amount":1.174,"high":12778.7,"vol":1174,"low":12573.2,"count":113,"id":1603292400,"close":12701.9,"tradeTurnover":14907.367,"open":12692.8},{"amount":1.156,"high":12920.9,"vol":1156,"low":12624.8,"count":115,"id":1603296000,"close":12835.9,"tradeTurnover":14802.449,"open":12679.7},{"amount":1.12,"high":12908.3,"vol":1120,"low":12687.5,"count":115,"id":1603299600,"close":12754.2,"tradeTurnover":14345.7324,"open":12848.3},{"amount":1.106,"high":12849.0,"vol":1106,"low":12668.3,"count":114,"id":1603303200,"close":12740.2,"tradeTurnover":14105.3504,"open":12743.7},{"amount":1.032,"high":12843.1,"vol":1032,"low":12597.2,"count":112,"id":1603306800,"close":12650.3,"tradeTurnover":13125.4568,"open":12729.5},{"amount":1.154,"high":12848.4,"vol":1154,"low":12610.2,"count":116,"id":1603310400,"close":12807.0,"tradeTurnover":14680.638,"open":12666.8},{"amount":1.164,"high":13005.1,"vol":1164,"low":12748.2,"count":114,"id":1603314000,"close":12938.9,"tradeTurnover":14976.9366,"open":12866.0},{"amount":1.174,"high":13211.2,"vol":1174,"low":12865.7,"count":114,"id":1603317600,"close":13122.0,"tradeTurnover":15285.2446,"open":12921.0},{"amount":1.172,"high":13173.2,"vol":1172,"low":12688.6,"count":117,"id":1603321200,"close":12829.8,"tradeTurnover":15060.9938,"open":13153.2},{"amount":1.17,"high":12988.1,"vol":1170,"low":12764.4,"count":117,"id":1603324800,"close":12885.9,"tradeTurnover":15046.2046,"open":12793.1},{"amount":1.158,"high":12972.6,"vol":1158,"low":12757.5,"count":118,"id":1603328400,"close":12757.5,"tradeTurnover":14882.4656,"open":12860.4},{"amount":1.124,"high":12848.0,"vol":1124,"low":12729.0,"count":115,"id":1603332000,"close":12788.8,"tradeTurnover":14368.7948,"open":12824.1},{"amount":1.194,"high":12834.4,"vol":1194,"low":12729.0,"count":111,"id":1603335600,"close":12767.2,"tradeTurnover":15268.9298,"open":12791.7},{"amount":1.152,"high":12778.3,"vol":1152,"low":12729.0,"count":115,"id":1603339200,"close":12762.2,"tradeTurnover":14695.4876,"open":12729.0},{"amount":1.21,"high":12842.0,"vol":1210,"low":12730.6,"count":119,"id":1603342800,"close":12813.8,"tradeTurnover":15440.8162,"open":12763.1},{"amount":1.188,"high":12795.0,"vol":1188,"low":12728.0,"count":123,"id":1603346400,"close":12729.1,"tradeTurnover":15128.0098,"open":12795.0},{"amount":1.266,"high":12730.6,"vol":1266,"low":12728.3,"count":112,"id":1603350000,"close":12730.6,"tradeTurnover":16115.1306,"open":12728.6},{"amount":1.35,"high":12921.5,"vol":1350,"low":12729.9,"count":127,"id":1603353600,"close":12770.1,"tradeTurnover":17233.7326,"open":12730.3},{"amount":0.98,"high":12872.1,"vol":980,"low":12760.1,"count":99,"id":1603357200,"close":12780.4,"tradeTurnover":12553.9826,"open":12824.9},{"amount":0.266,"high":13002.7,"vol":266,"low":12775.6,"count":30,"id":1603360800,"close":12934.2,"tradeTurnover":3415.023,"open":12784.9},{"amount":1.004,"high":13057.0,"vol":1004,"low":12886.6,"count":117,"id":1603364400,"close":13045.0,"tradeTurnover":13020.8576,"open":12977.0},{"amount":1.134,"high":12973.4,"vol":1134,"low":12751.6,"count":111,"id":1603368000,"close":12847.9,"tradeTurnover":14594.2752,"open":12958.5},{"amount":1.152,"high":13000.8,"vol":1152,"low":12743.0,"count":114,"id":1603371600,"close":12931.0,"tradeTurnover":14877.7314,"open":12882.7},{"amount":1.182,"high":12995.3,"vol":1182,"low":12783.9,"count":115,"id":1603375200,"close":12917.8,"tradeTurnover":15224.4716,"open":12890.4},{"amount":1.176,"high":13031.2,"vol":1176,"low":12817.9,"count":117,"id":1603378800,"close":12953.0,"tradeTurnover":15197.208,"open":12918.8},{"amount":1.146,"high":13100.2,"vol":1146,"low":12865.6,"count":119,"id":1603382400,"close":13055.6,"tradeTurnover":14851.9604,"open":12923.1},{"amount":1.534,"high":13105.7,"vol":1534,"low":12835.5,"count":124,"id":1603386000,"close":13082.7,"tradeTurnover":19927.8288,"open":12967.6},{"amount":1.268,"high":13115.0,"vol":1268,"low":12938.7,"count":117,"id":1603389600,"close":13016.4,"tradeTurnover":16505.4738,"open":13020.4},{"amount":1.13,"high":13171.2,"vol":1130,"low":12961.8,"count":112,"id":1603393200,"close":12970.6,"tradeTurnover":14762.952,"open":13028.3},{"amount":1.206,"high":13216.1,"vol":1206,"low":12998.5,"count":117,"id":1603396800,"close":13089.3,"tradeTurnover":15807.1226,"open":13016.7},{"amount":1.332,"high":13203.7,"vol":1332,"low":12932.9,"count":114,"id":1603400400,"close":13092.0,"tradeTurnover":17423.4422,"open":13136.0},{"amount":1.21,"high":13250.5,"vol":1210,"low":12984.7,"count":114,"id":1603404000,"close":13055.9,"tradeTurnover":15876.0632,"open":13119.4},{"amount":1.286,"high":13126.5,"vol":1286,"low":12857.2,"count":116,"id":1603407600,"close":12890.4,"tradeTurnover":16688.422,"open":13059.4},{"amount":1.502,"high":12994.0,"vol":1502,"low":12751.6,"count":131,"id":1603411200,"close":12892.2,"tradeTurnover":19331.1596,"open":12929.7},{"amount":1.386,"high":13003.2,"vol":1386,"low":12786.0,"count":121,"id":1603414800,"close":12898.3,"tradeTurnover":17904.8902,"open":12921.7},{"amount":1.416,"high":13054.0,"vol":1416,"low":12800.7,"count":122,"id":1603418400,"close":12975.1,"tradeTurnover":18306.6204,"open":12951.6},{"amount":1.19,"high":13030.7,"vol":1190,"low":12875.0,"count":118,"id":1603422000,"close":12947.0,"tradeTurnover":15409.7984,"open":12967.3},{"amount":1.022,"high":13047.3,"vol":1022,"low":12832.8,"count":127,"id":1603425600,"close":12852.0,"tradeTurnover":13214.4388,"open":12925.2},{"amount":0.478,"high":12991.7,"vol":478,"low":12841.2,"count":118,"id":1603429200,"close":12931.1,"tradeTurnover":6180.2486,"open":12859.0},{"amount":0.522,"high":13014.1,"vol":522,"low":12871.9,"count":132,"id":1603432800,"close":12939.6,"tradeTurnover":6759.0324,"open":12935.9},{"amount":0.476,"high":12998.9,"vol":476,"low":12917.1,"count":118,"id":1603436400,"close":12925.4,"tradeTurnover":6163.3118,"open":12923.1},{"amount":0.508,"high":13014.0,"vol":508,"low":12916.1,"count":122,"id":1603440000,"close":12962.6,"tradeTurnover":6585.3656,"open":12942.2},{"amount":0.564,"high":13012.5,"vol":564,"low":12909.9,"count":124,"id":1603443600,"close":12926.4,"tradeTurnover":7308.8828,"open":12970.5},{"amount":0.536,"high":13059.5,"vol":536,"low":12925.7,"count":124,"id":1603447200,"close":13007.7,"tradeTurnover":6957.8796,"open":13001.2},{"amount":0.486,"high":13078.4,"vol":486,"low":12906.5,"count":122,"id":1603450800,"close":12970.6,"tradeTurnover":6326.1434,"open":13025.4},{"amount":0.494,"high":13025.0,"vol":494,"low":12850.8,"count":117,"id":1603454400,"close":12935.4,"tradeTurnover":6396.0984,"open":12963.9},{"amount":0.466,"high":13043.3,"vol":466,"low":12911.0,"count":117,"id":1603458000,"close":12951.7,"tradeTurnover":6049.1412,"open":12913.3},{"amount":0.46,"high":13006.4,"vol":460,"low":12840.4,"count":116,"id":1603461600,"close":12858.8,"tradeTurnover":5941.815,"open":12999.6},{"amount":0.492,"high":12932.9,"vol":492,"low":12826.5,"count":117,"id":1603465200,"close":12881.9,"tradeTurnover":6340.214,"open":12885.7},{"amount":0.484,"high":12933.5,"vol":484,"low":12744.4,"count":123,"id":1603468800,"close":12784.1,"tradeTurnover":6205.4138,"open":12854.4},{"amount":0.562,"high":12893.1,"vol":562,"low":12730.1,"count":152,"id":1603472400,"close":12847.7,"tradeTurnover":7218.9184,"open":12832.3},{"amount":0.53,"high":12939.3,"vol":530,"low":12751.4,"count":128,"id":1603476000,"close":12915.7,"tradeTurnover":6825.7004,"open":12874.1},{"amount":0.444,"high":12972.9,"vol":444,"low":12786.6,"count":117,"id":1603479600,"close":12972.9,"tradeTurnover":5727.7452,"open":12867.9},{"amount":0.492,"high":13002.2,"vol":492,"low":12842.9,"count":116,"id":1603483200,"close":12991.6,"tradeTurnover":6375.1566,"open":12956.7},{"amount":0.5,"high":13004.3,"vol":500,"low":12936.6,"count":125,"id":1603486800,"close":12943.5,"tradeTurnover":6485.468,"open":13004.3},{"amount":0.492,"high":13010.3,"vol":492,"low":12884.7,"count":120,"id":1603490400,"close":12989.2,"tradeTurnover":6376.1492,"open":12923.6},{"amount":0.51,"high":13024.4,"vol":510,"low":12884.6,"count":121,"id":1603494000,"close":12884.6,"tradeTurnover":6622.3406,"open":12974.9},{"amount":0.488,"high":13018.3,"vol":488,"low":12811.1,"count":120,"id":1603497600,"close":12953.9,"tradeTurnover":6317.7938,"open":12973.7},{"amount":0.482,"high":13018.1,"vol":482,"low":12872.8,"count":117,"id":1603501200,"close":12934.2,"tradeTurnover":6242.4178,"open":12927.5},{"amount":0.484,"high":13003.9,"vol":484,"low":12903.3,"count":117,"id":1603504800,"close":12989.1,"tradeTurnover":6278.1756,"open":12971.9},{"amount":0.474,"high":13013.4,"vol":474,"low":12938.3,"count":122,"id":1603508400,"close":12975.9,"tradeTurnover":6157.7096,"open":13000.1},{"amount":0.526,"high":13009.4,"vol":526,"low":12905.5,"count":124,"id":1603512000,"close":12963.3,"tradeTurnover":6831.5658,"open":12989.7},{"amount":0.522,"high":13041.8,"vol":522,"low":12875.3,"count":127,"id":1603515600,"close":12989.7,"tradeTurnover":6768.8994,"open":12910.5},{"amount":0.49,"high":13058.1,"vol":490,"low":12908.8,"count":120,"id":1603519200,"close":13003.6,"tradeTurnover":6370.5714,"open":12994.7},{"amount":0.478,"high":13037.8,"vol":478,"low":12981.7,"count":120,"id":1603522800,"close":13004.2,"tradeTurnover":6218.9722,"open":13011.9},{"amount":0.52,"high":13030.6,"vol":520,"low":12899.4,"count":124,"id":1603526400,"close":12998.2,"tradeTurnover":6754.958,"open":13003.0},{"amount":0.454,"high":13020.3,"vol":454,"low":12893.6,"count":115,"id":1603530000,"close":12990.6,"tradeTurnover":5891.0574,"open":12998.2},{"amount":0.502,"high":13059.1,"vol":502,"low":12913.2,"count":124,"id":1603533600,"close":13030.1,"tradeTurnover":6525.9004,"open":12996.4},{"amount":0.468,"high":13068.3,"vol":468,"low":12940.2,"count":119,"id":1603537200,"close":13033.2,"tradeTurnover":6091.0376,"open":12988.4},{"amount":0.468,"high":13071.8,"vol":468,"low":12978.9,"count":123,"id":1603540800,"close":13006.5,"tradeTurnover":6102.5902,"open":13035.3},{"amount":0.534,"high":13066.7,"vol":534,"low":12928.1,"count":123,"id":1603544400,"close":12985.9,"tradeTurnover":6950.4268,"open":13038.8},{"amount":0.47,"high":13100.1,"vol":470,"low":12960.5,"count":100,"id":1603548000,"close":13042.0,"tradeTurnover":6124.2178,"open":12986.3},{"amount":0.456,"high":13196.5,"vol":456,"low":13038.4,"count":120,"id":1603551600,"close":13102.2,"tradeTurnover":5989.6362,"open":13038.4},{"amount":0.458,"high":13176.6,"vol":458,"low":12984.6,"count":121,"id":1603555200,"close":13052.7,"tradeTurnover":5976.331,"open":13136.8},{"amount":0.452,"high":13177.8,"vol":452,"low":13003.2,"count":118,"id":1603558800,"close":13177.8,"tradeTurnover":5911.7058,"open":13006.2},{"amount":0.468,"high":13170.7,"vol":468,"low":13023.0,"count":119,"id":1603562400,"close":13080.8,"tradeTurnover":6122.375,"open":13127.7},{"amount":0.468,"high":13179.3,"vol":468,"low":13014.2,"count":120,"id":1603566000,"close":13148.4,"tradeTurnover":6126.4278,"open":13040.7},{"amount":0.47,"high":13179.6,"vol":470,"low":12992.5,"count":119,"id":1603569600,"close":13090.1,"tradeTurnover":6151.4758,"open":13073.5},{"amount":0.458,"high":13148.7,"vol":458,"low":12980.7,"count":117,"id":1603573200,"close":12993.9,"tradeTurnover":5981.071,"open":13035.4},{"amount":0.478,"high":13112.1,"vol":478,"low":12975.6,"count":118,"id":1603576800,"close":13041.1,"tradeTurnover":6225.4216,"open":13040.7},{"amount":0.472,"high":13184.3,"vol":472,"low":13009.3,"count":118,"id":1603580400,"close":13184.3,"tradeTurnover":6173.4244,"open":13012.6},{"amount":0.46,"high":13170.4,"vol":460,"low":13007.7,"count":115,"id":1603584000,"close":13154.3,"tradeTurnover":6024.09,"open":13080.8},{"amount":0.398,"high":13196.8,"vol":398,"low":13024.0,"count":102,"id":1603587600,"close":13196.1,"tradeTurnover":5217.5364,"open":13092.0},{"amount":0.476,"high":13175.1,"vol":476,"low":13035.0,"count":120,"id":1603591200,"close":13082.4,"tradeTurnover":6228.6596,"open":13124.7},{"amount":0.578,"high":13383.8,"vol":578,"low":13049.1,"count":137,"id":1603594800,"close":13259.0,"tradeTurnover":7629.3886,"open":13049.1},{"amount":0.47,"high":13369.0,"vol":470,"low":13216.0,"count":122,"id":1603598400,"close":13243.4,"tradeTurnover":6247.955,"open":13277.0},{"amount":0.61,"high":13353.3,"vol":610,"low":13010.1,"count":134,"id":1603602000,"close":13017.3,"tradeTurnover":8048.8598,"open":13285.3},{"amount":0.486,"high":13105.7,"vol":486,"low":13018.2,"count":118,"id":1603605600,"close":13060.3,"tradeTurnover":6344.1474,"open":13022.5},{"amount":0.464,"high":13112.1,"vol":464,"low":13022.0,"count":120,"id":1603609200,"close":13078.1,"tradeTurnover":6061.5416,"open":13048.5},{"amount":0.464,"high":13091.0,"vol":464,"low":13017.2,"count":120,"id":1603612800,"close":13046.0,"tradeTurnover":6055.3734,"open":13077.2},{"amount":0.478,"high":13084.0,"vol":478,"low":13014.2,"count":117,"id":1603616400,"close":13040.8,"tradeTurnover":6235.7882,"open":13065.1},{"amount":0.478,"high":13064.2,"vol":478,"low":13010.2,"count":125,"id":1603620000,"close":13028.5,"tradeTurnover":6232.2428,"open":13047.1},{"amount":0.534,"high":13061.5,"vol":534,"low":12852.9,"count":123,"id":1603623600,"close":12897.6,"tradeTurnover":6918.1226,"open":13061.5},{"amount":0.444,"high":13069.7,"vol":444,"low":12893.2,"count":117,"id":1603627200,"close":12964.3,"tradeTurnover":5755.8712,"open":12908.3},{"amount":0.498,"high":13071.9,"vol":498,"low":12891.8,"count":119,"id":1603630800,"close":12949.3,"tradeTurnover":6465.078,"open":13001.3},{"amount":0.468,"high":13077.7,"vol":468,"low":12900.0,"count":116,"id":1603634400,"close":12946.8,"tradeTurnover":6075.4554,"open":12975.8},{"amount":0.47,"high":13069.1,"vol":470,"low":12883.3,"count":119,"id":1603638000,"close":12883.3,"tradeTurnover":6097.1072,"open":12975.2},{"amount":0.482,"high":13067.9,"vol":482,"low":12877.5,"count":118,"id":1603641600,"close":12978.7,"tradeTurnover":6256.4472,"open":12916.2},{"amount":0.47,"high":13087.5,"vol":470,"low":12922.7,"count":117,"id":1603645200,"close":13004.4,"tradeTurnover":6108.3892,"open":13008.0},{"amount":0.468,"high":13067.6,"vol":468,"low":12893.6,"count":118,"id":1603648800,"close":12957.2,"tradeTurnover":6079.1484,"open":12972.8},{"amount":0.442,"high":13066.9,"vol":442,"low":12916.6,"count":118,"id":1603652400,"close":13021.8,"tradeTurnover":5746.5548,"open":12996.5},{"amount":0.508,"high":13081.5,"vol":508,"low":12944.9,"count":120,"id":1603656000,"close":12985.4,"tradeTurnover":6616.9872,"open":12992.9},{"amount":0.508,"high":13068.6,"vol":508,"low":12921.4,"count":122,"id":1603659600,"close":13011.2,"tradeTurnover":6614.816,"open":12999.9},{"amount":0.486,"high":13073.8,"vol":486,"low":12911.9,"count":121,"id":1603663200,"close":12959.4,"tradeTurnover":6320.907,"open":12979.6},{"amount":0.452,"high":13085.2,"vol":452,"low":12927.8,"count":113,"id":1603666800,"close":13032.1,"tradeTurnover":5878.6442,"open":12963.4},{"amount":0.482,"high":13076.7,"vol":482,"low":12918.3,"count":121,"id":1603670400,"close":13001.0,"tradeTurnover":6263.698,"open":12964.2},{"amount":0.478,"high":13096.4,"vol":478,"low":12991.2,"count":124,"id":1603674000,"close":13053.7,"tradeTurnover":6232.2328,"open":13040.0},{"amount":0.488,"high":13185.7,"vol":488,"low":12985.1,"count":121,"id":1603677600,"close":13064.4,"tradeTurnover":6387.534,"open":13060.6},{"amount":0.486,"high":13187.2,"vol":486,"low":12984.1,"count":135,"id":1603681200,"close":13092.8,"tradeTurnover":6369.0272,"open":13032.3},{"amount":0.51,"high":13181.6,"vol":510,"low":12962.3,"count":131,"id":1603684800,"close":13132.6,"tradeTurnover":6679.829,"open":13092.0},{"amount":0.506,"high":13205.3,"vol":506,"low":13025.3,"count":126,"id":1603688400,"close":13092.1,"tradeTurnover":6641.2128,"open":13129.2},{"amount":1.616,"high":13188.1,"vol":1616,"low":12989.8,"count":141,"id":1603692000,"close":13071.4,"tradeTurnover":21170.8224,"open":13121.8},{"amount":3.746,"high":13100.0,"vol":3746,"low":12965.2,"count":110,"id":1603695600,"close":13038.7,"tradeTurnover":48924.8902,"open":13061.0},{"amount":8.966,"high":13102.0,"vol":8966,"low":12852.8,"count":173,"id":1603699200,"close":13039.3,"tradeTurnover":116525.5534,"open":13030.9},{"amount":4.48,"high":13088.4,"vol":4480,"low":13039.8,"count":124,"id":1603702800,"close":13075.9,"tradeTurnover":58521.1714,"open":13047.1},{"amount":4.272,"high":13100.0,"vol":4272,"low":13060.2,"count":130,"id":1603706400,"close":13100.0,"tradeTurnover":55895.9778,"open":13072.1},{"amount":29.798,"high":13159.0,"vol":29798,"low":13100.0,"count":230,"id":1603710000,"close":13138.4,"tradeTurnover":391138.024,"open":13100.0},{"amount":5.154,"high":13200.0,"vol":5154,"low":13100.0,"count":188,"id":1603713600,"close":13149.8,"tradeTurnover":67694.652,"open":13138.8},{"amount":35.608,"high":13351.5,"vol":35608,"low":13133.1,"count":328,"id":1603717200,"close":13205.8,"tradeTurnover":472780.3394,"open":13150.0},{"amount":31.748,"high":13280.0,"vol":31748,"low":13144.1,"count":235,"id":1603720800,"close":13166.1,"tradeTurnover":418744.5588,"open":13203.0},{"amount":36.53,"high":13165.2,"vol":36530,"low":12903.8,"count":384,"id":1603724400,"close":12978.0,"tradeTurnover":476940.3296,"open":13159.0},{"amount":35.018,"high":13069.8,"vol":35018,"low":12850.5,"count":323,"id":1603728000,"close":12869.6,"tradeTurnover":453288.918,"open":12965.0},{"amount":92.628,"high":12941.5,"vol":92628,"low":12583.9,"count":560,"id":1603731600,"close":12873.8,"tradeTurnover":1185973.467,"open":12879.2},{"amount":4.302,"high":12954.5,"vol":4302,"low":12820.4,"count":128,"id":1603735200,"close":12946.8,"tradeTurnover":55481.0054,"open":12856.2},{"amount":13.83,"high":12953.5,"vol":13830,"low":12914.1,"count":118,"id":1603738800,"close":12953.4,"tradeTurnover":179112.1598,"open":12945.6},{"amount":17.172,"high":13007.5,"vol":17172,"low":12953.5,"count":132,"id":1603742400,"close":12983.4,"tradeTurnover":223230.2122,"open":12953.5},{"amount":3.212,"high":13007.5,"vol":3212,"low":12982.7,"count":59,"id":1603746000,"close":12993.8,"tradeTurnover":41767.8906,"open":12983.1},{"amount":1.504,"high":13007.5,"vol":1504,"low":12974.0,"count":74,"id":1603749600,"close":13007.5,"tradeTurnover":19543.3568,"open":13002.1},{"amount":3.454,"high":13061.2,"vol":3454,"low":13007.5,"count":101,"id":1603753200,"close":13033.7,"tradeTurnover":45001.601,"open":13007.5},{"amount":8.784,"high":13105.0,"vol":8784,"low":13028.3,"count":98,"id":1603756800,"close":13067.1,"tradeTurnover":114871.8246,"open":13029.2},{"amount":11.592,"high":13074.4,"vol":11592,"low":13051.5,"count":66,"id":1603760400,"close":13061.7,"tradeTurnover":151386.9038,"open":13074.3},{"amount":19.298,"high":13097.6,"vol":19298,"low":13040.1,"count":109,"id":1603764000,"close":13049.7,"tradeTurnover":252061.019,"open":13061.7},{"amount":22.992,"high":13080.0,"vol":22992,"low":13057.1,"count":69,"id":1603767600,"close":13070.4,"tradeTurnover":300453.9788,"open":13057.6},{"amount":14.396,"high":13175.0,"vol":14396,"low":13079.6,"count":59,"id":1603771200,"close":13103.3,"tradeTurnover":188461.9156,"open":13080.0},{"amount":5.058,"high":13121.3,"vol":5058,"low":13069.7,"count":44,"id":1603774800,"close":13073.6,"tradeTurnover":66201.3552,"open":13121.3},{"amount":9.106,"high":13149.0,"vol":9106,"low":13069.6,"count":107,"id":1603778400,"close":13103.4,"tradeTurnover":119104.8906,"open":13074.9},{"amount":73.95,"high":13169.8,"vol":73950,"low":12992.4,"count":305,"id":1603782000,"close":13130.0,"tradeTurnover":968195.155,"open":13103.3},{"amount":18.732,"high":13148.4,"vol":18732,"low":13044.0,"count":135,"id":1603785600,"close":13123.8,"tradeTurnover":245533.5448,"open":13135.1},{"amount":13.756,"high":13131.8,"vol":13756,"low":13075.7,"count":102,"id":1603789200,"close":13131.7,"tradeTurnover":180253.7708,"open":13115.5},{"amount":154.108,"high":13252.0,"vol":154108,"low":13063.4,"count":525,"id":1603792800,"close":13216.9,"tradeTurnover":2029983.656,"open":13134.8},{"amount":170.09,"high":13590.1,"vol":170090,"low":13213.5,"count":591,"id":1603796400,"close":13395.8,"tradeTurnover":2276279.742,"open":13218.8},{"amount":48.928,"high":13414.0,"vol":48928,"low":13331.7,"count":216,"id":1603800000,"close":13376.9,"tradeTurnover":654585.9108,"open":13395.9},{"amount":63.294,"high":13490.9,"vol":63294,"low":13329.8,"count":316,"id":1603803600,"close":13384.3,"tradeTurnover":848130.9212,"open":13376.5},{"amount":12.892,"high":13415.8,"vol":12892,"low":13344.8,"count":124,"id":1603807200,"close":13398.2,"tradeTurnover":172618.6864,"open":13392.6},{"amount":93.22,"high":13626.7,"vol":93220,"low":13398.2,"count":476,"id":1603810800,"close":13598.5,"tradeTurnover":1262695.5466,"open":13398.2},{"amount":85.45,"high":13639.9,"vol":85450,"low":13520.2,"count":435,"id":1603814400,"close":13639.9,"tradeTurnover":1161481.4136,"open":13595.8},{"amount":191.812,"high":13826.7,"vol":191812,"low":13589.0,"count":711,"id":1603818000,"close":13688.1,"tradeTurnover":2628428.3788,"open":13640.0},{"amount":65.434,"high":13745.0,"vol":65434,"low":13528.2,"count":410,"id":1603821600,"close":13630.1,"tradeTurnover":891541.8394,"open":13685.0},{"amount":5.788,"high":13659.8,"vol":5788,"low":13595.4,"count":65,"id":1603825200,"close":13637.1,"tradeTurnover":78836.2578,"open":13629.4},{"amount":163.104,"high":13805.1,"vol":163104,"low":13582.6,"count":537,"id":1603828800,"close":13616.6,"tradeTurnover":2234040.3544,"open":13644.4},{"amount":9.884,"high":13753.5,"vol":9884,"low":13609.8,"count":101,"id":1603832400,"close":13705.5,"tradeTurnover":135406.4752,"open":13609.8},{"amount":7.436,"high":13739.9,"vol":7436,"low":13658.2,"count":100,"id":1603836000,"close":13739.9,"tradeTurnover":101840.3508,"open":13705.4},{"amount":17.086,"high":13794.6,"vol":17086,"low":13582.6,"count":234,"id":1603839600,"close":13649.6,"tradeTurnover":233971.8448,"open":13739.9},{"amount":24.108,"high":13745.2,"vol":24108,"low":13618.8,"count":177,"id":1603843200,"close":13701.7,"tradeTurnover":330206.5694,"open":13645.9},{"amount":15.892,"high":13725.6,"vol":15892,"low":13647.9,"count":151,"id":1603846800,"close":13702.6,"tradeTurnover":217816.7008,"open":13702.1},{"amount":46.548,"high":13832.2,"vol":46548,"low":13680.2,"count":274,"id":1603850400,"close":13811.6,"tradeTurnover":640636.0352,"open":13701.7},{"amount":67.896,"high":13820.3,"vol":67896,"low":13717.5,"count":320,"id":1603854000,"close":13777.0,"tradeTurnover":935838.2238,"open":13818.5},{"amount":33.156,"high":13807.2,"vol":33156,"low":13710.0,"count":210,"id":1603857600,"close":13735.7,"tradeTurnover":455941.234,"open":13767.3},{"amount":32.076,"high":13753.9,"vol":32076,"low":13671.3,"count":198,"id":1603861200,"close":13715.8,"tradeTurnover":439612.64,"open":13735.5},{"amount":14.756,"high":13757.0,"vol":14756,"low":13694.9,"count":122,"id":1603864800,"close":13701.3,"tradeTurnover":202602.5164,"open":13715.9},{"amount":155.534,"high":13708.7,"vol":155534,"low":13550.0,"count":635,"id":1603868400,"close":13674.2,"tradeTurnover":2117935.0928,"open":13701.2},{"amount":29.846,"high":13691.7,"vol":29846,"low":13584.0,"count":240,"id":1603872000,"close":13691.7,"tradeTurnover":407073.1398,"open":13673.0},{"amount":104.542,"high":13707.5,"vol":104542,"low":13573.5,"count":377,"id":1603875600,"close":13587.1,"tradeTurnover":1425079.9344,"open":13689.3},{"amount":73.818,"high":13618.0,"vol":73818,"low":13504.7,"count":358,"id":1603879200,"close":13552.7,"tradeTurnover":1001666.0908,"open":13584.6},{"amount":176.544,"high":13565.4,"vol":176544,"low":13330.0,"count":1004,"id":1603882800,"close":13336.4,"tradeTurnover":2369166.1492,"open":13552.6},{"amount":289.73,"high":13385.0,"vol":289730,"low":13173.9,"count":968,"id":1603886400,"close":13300.3,"tradeTurnover":3846751.7166,"open":13331.5},{"amount":139.822,"high":13340.0,"vol":139822,"low":13122.9,"count":612,"id":1603890000,"close":13129.9,"tradeTurnover":1848876.932,"open":13300.2},{"amount":367.876,"high":13168.2,"vol":367876,"low":12915.9,"count":1168,"id":1603893600,"close":13082.2,"tradeTurnover":4802516.9818,"open":13123.4},{"amount":84.044,"high":13235.2,"vol":84044,"low":13052.3,"count":375,"id":1603897200,"close":13221.2,"tradeTurnover":1106883.1282,"open":13077.1},{"amount":29.566,"high":13218.7,"vol":29566,"low":13050.0,"count":244,"id":1603900800,"close":13145.1,"tradeTurnover":388697.4104,"open":13218.7},{"amount":53.336,"high":13204.9,"vol":53336,"low":13006.6,"count":299,"id":1603904400,"close":13176.7,"tradeTurnover":700385.2784,"open":13145.1},{"amount":34.164,"high":13219.6,"vol":34164,"low":13131.0,"count":218,"id":1603908000,"close":13196.5,"tradeTurnover":450210.5778,"open":13171.0},{"amount":22.158,"high":13237.4,"vol":22158,"low":13145.0,"count":185,"id":1603911600,"close":13154.9,"tradeTurnover":292020.0438,"open":13200.0},{"amount":4.548,"high":13211.8,"vol":4548,"low":13147.4,"count":75,"id":1603915200,"close":13198.1,"tradeTurnover":59991.1118,"open":13154.5},{"amount":3.52,"high":13196.5,"vol":3520,"low":13100.2,"count":68,"id":1603918800,"close":13190.1,"tradeTurnover":46175.428,"open":13193.5},{"amount":3.122,"high":13267.5,"vol":3122,"low":13185.4,"count":72,"id":1603922400,"close":13252.0,"tradeTurnover":41304.2018,"open":13185.4},{"amount":14.768,"high":13282.3,"vol":14768,"low":13235.9,"count":86,"id":1603926000,"close":13265.9,"tradeTurnover":195689.0764,"open":13242.1},{"amount":19.968,"high":13294.7,"vol":19968,"low":13237.4,"count":98,"id":1603929600,"close":13245.1,"tradeTurnover":264834.1944,"open":13253.9},{"amount":35.282,"high":13285.3,"vol":35282,"low":13166.3,"count":192,"id":1603933200,"close":13274.2,"tradeTurnover":465789.6302,"open":13244.6},{"amount":9.748,"high":13277.7,"vol":9748,"low":13212.2,"count":119,"id":1603936800,"close":13241.1,"tradeTurnover":129016.0684,"open":13275.9},{"amount":27.3,"high":13262.5,"vol":27300,"low":13174.6,"count":199,"id":1603940400,"close":13262.5,"tradeTurnover":360589.8982,"open":13237.1},{"amount":18.904,"high":13277.7,"vol":18904,"low":13229.5,"count":109,"id":1603944000,"close":13229.5,"tradeTurnover":250713.2812,"open":13269.1},{"amount":15.822,"high":13274.8,"vol":15822,"low":13228.5,"count":134,"id":1603947600,"close":13274.8,"tradeTurnover":209781.909,"open":13228.5},{"amount":91.246,"high":13323.0,"vol":91246,"low":13242.3,"count":294,"id":1603951200,"close":13255.0,"tradeTurnover":1211271.2788,"open":13274.8},{"amount":187.622,"high":13269.3,"vol":187622,"low":13123.1,"count":506,"id":1603954800,"close":13142.4,"tradeTurnover":2478299.7074,"open":13255.0},{"amount":69.532,"high":13182.4,"vol":69532,"low":13094.1,"count":226,"id":1603958400,"close":13124.8,"tradeTurnover":914157.2418,"open":13145.9},{"amount":23.184,"high":13197.1,"vol":23184,"low":13129.5,"count":141,"id":1603962000,"close":13183.7,"tradeTurnover":305485.9524,"open":13129.5},{"amount":121.146,"high":13187.5,"vol":121146,"low":13053.1,"count":442,"id":1603965600,"close":13105.2,"tradeTurnover":1590026.4416,"open":13184.8},{"amount":47.498,"high":13171.4,"vol":47498,"low":13060.1,"count":262,"id":1603969200,"close":13060.1,"tradeTurnover":623578.149,"open":13105.1},{"amount":126.552,"high":13145.8,"vol":126552,"low":12977.9,"count":481,"id":1603972800,"close":13131.8,"tradeTurnover":1652549.311,"open":13056.9},{"amount":100.482,"high":13237.2,"vol":100482,"low":13102.0,"count":325,"id":1603976400,"close":13230.0,"tradeTurnover":1326403.7206,"open":13131.7},{"amount":253.258,"high":13476.1,"vol":253258,"low":13231.0,"count":752,"id":1603980000,"close":13420.8,"tradeTurnover":3384941.438,"open":13231.0},{"amount":64.71,"high":13458.7,"vol":64710,"low":13358.7,"count":269,"id":1603983600,"close":13420.6,"tradeTurnover":869052.3804,"open":13416.0},{"amount":120.24,"high":13594.5,"vol":120240,"low":13391.8,"count":570,"id":1603987200,"close":13535.9,"tradeTurnover":1626567.8278,"open":13421.9}],"id":"","rep":"market.BTC-USDT.kline.60min","status":"ok"} +2024-01-18 11:13:15.158 [DEBUG] [WebSocketConnectReadThread-12] [com.huobi.wss.handle.WssMarketReqHandle.dealPing:129] - 发送pong:{"pong":1705547595158} +2024-01-18 11:13:16.035 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:39] - 请求 KLine 数据用户收到的原始数据:{"id":"","rep":"market.BTC-USDT.kline.60min","ts":1705547594945,"wsid":19750305,"status":"ok","data":[{"id":1603270800,"open":12198.0,"close":12196.7,"high":12300.0,"low":11715.8,"amount":0.276,"vol":276,"trade_turnover":3315.9104,"count":39},{"id":1603274400,"open":12196.7,"close":12277.9,"high":12289.9,"low":12111.0,"amount":0.198,"vol":198,"trade_turnover":2420.7728,"count":21},{"id":1603278000,"open":12111.0,"close":12000.0,"high":12277.9,"low":12000.0,"amount":0.012,"vol":12,"trade_turnover":145.2238,"count":5},{"id":1603281600,"open":12078.0,"close":12497.4,"high":12498.0,"low":12078.0,"amount":0.084,"vol":84,"trade_turnover":1040.0504,"count":12},{"id":1603285200,"open":12495.6,"close":12373.5,"high":12495.6,"low":12282.9,"amount":1.122,"vol":1122,"trade_turnover":13905.3124,"count":112},{"id":1603288800,"open":12412.9,"close":12689.9,"high":12807.6,"low":12358.1,"amount":5.29,"vol":5290,"trade_turnover":66852.128,"count":155},{"id":1603292400,"open":12692.8,"close":12701.9,"high":12778.7,"low":12573.2,"amount":1.174,"vol":1174,"trade_turnover":14907.367,"count":113},{"id":1603296000,"open":12679.7,"close":12835.9,"high":12920.9,"low":12624.8,"amount":1.156,"vol":1156,"trade_turnover":14802.449,"count":115},{"id":1603299600,"open":12848.3,"close":12754.2,"high":12908.3,"low":12687.5,"amount":1.12,"vol":1120,"trade_turnover":14345.7324,"count":115},{"id":1603303200,"open":12743.7,"close":12740.2,"high":12849.0,"low":12668.3,"amount":1.106,"vol":1106,"trade_turnover":14105.3504,"count":114},{"id":1603306800,"open":12729.5,"close":12650.3,"high":12843.1,"low":12597.2,"amount":1.032,"vol":1032,"trade_turnover":13125.4568,"count":112},{"id":1603310400,"open":12666.8,"close":12807.0,"high":12848.4,"low":12610.2,"amount":1.154,"vol":1154,"trade_turnover":14680.638,"count":116},{"id":1603314000,"open":12866.0,"close":12938.9,"high":13005.1,"low":12748.2,"amount":1.164,"vol":1164,"trade_turnover":14976.9366,"count":114},{"id":1603317600,"open":12921.0,"close":13122.0,"high":13211.2,"low":12865.7,"amount":1.174,"vol":1174,"trade_turnover":15285.2446,"count":114},{"id":1603321200,"open":13153.2,"close":12829.8,"high":13173.2,"low":12688.6,"amount":1.172,"vol":1172,"trade_turnover":15060.9938,"count":117},{"id":1603324800,"open":12793.1,"close":12885.9,"high":12988.1,"low":12764.4,"amount":1.17,"vol":1170,"trade_turnover":15046.2046,"count":117},{"id":1603328400,"open":12860.4,"close":12757.5,"high":12972.6,"low":12757.5,"amount":1.158,"vol":1158,"trade_turnover":14882.4656,"count":118},{"id":1603332000,"open":12824.1,"close":12788.8,"high":12848.0,"low":12729.0,"amount":1.124,"vol":1124,"trade_turnover":14368.7948,"count":115},{"id":1603335600,"open":12791.7,"close":12767.2,"high":12834.4,"low":12729.0,"amount":1.194,"vol":1194,"trade_turnover":15268.9298,"count":111},{"id":1603339200,"open":12729.0,"close":12762.2,"high":12778.3,"low":12729.0,"amount":1.152,"vol":1152,"trade_turnover":14695.4876,"count":115},{"id":1603342800,"open":12763.1,"close":12813.8,"high":12842.0,"low":12730.6,"amount":1.21,"vol":1210,"trade_turnover":15440.8162,"count":119},{"id":1603346400,"open":12795.0,"close":12729.1,"high":12795.0,"low":12728.0,"amount":1.188,"vol":1188,"trade_turnover":15128.0098,"count":123},{"id":1603350000,"open":12728.6,"close":12730.6,"high":12730.6,"low":12728.3,"amount":1.266,"vol":1266,"trade_turnover":16115.1306,"count":112},{"id":1603353600,"open":12730.3,"close":12770.1,"high":12921.5,"low":12729.9,"amount":1.35,"vol":1350,"trade_turnover":17233.7326,"count":127},{"id":1603357200,"open":12824.9,"close":12780.4,"high":12872.1,"low":12760.1,"amount":0.98,"vol":980,"trade_turnover":12553.9826,"count":99},{"id":1603360800,"open":12784.9,"close":12934.2,"high":13002.7,"low":12775.6,"amount":0.266,"vol":266,"trade_turnover":3415.023,"count":30},{"id":1603364400,"open":12977.0,"close":13045.0,"high":13057.0,"low":12886.6,"amount":1.004,"vol":1004,"trade_turnover":13020.8576,"count":117},{"id":1603368000,"open":12958.5,"close":12847.9,"high":12973.4,"low":12751.6,"amount":1.134,"vol":1134,"trade_turnover":14594.2752,"count":111},{"id":1603371600,"open":12882.7,"close":12931.0,"high":13000.8,"low":12743.0,"amount":1.152,"vol":1152,"trade_turnover":14877.7314,"count":114},{"id":1603375200,"open":12890.4,"close":12917.8,"high":12995.3,"low":12783.9,"amount":1.182,"vol":1182,"trade_turnover":15224.4716,"count":115},{"id":1603378800,"open":12918.8,"close":12953.0,"high":13031.2,"low":12817.9,"amount":1.176,"vol":1176,"trade_turnover":15197.208,"count":117},{"id":1603382400,"open":12923.1,"close":13055.6,"high":13100.2,"low":12865.6,"amount":1.146,"vol":1146,"trade_turnover":14851.9604,"count":119},{"id":1603386000,"open":12967.6,"close":13082.7,"high":13105.7,"low":12835.5,"amount":1.534,"vol":1534,"trade_turnover":19927.8288,"count":124},{"id":1603389600,"open":13020.4,"close":13016.4,"high":13115.0,"low":12938.7,"amount":1.268,"vol":1268,"trade_turnover":16505.4738,"count":117},{"id":1603393200,"open":13028.3,"close":12970.6,"high":13171.2,"low":12961.8,"amount":1.13,"vol":1130,"trade_turnover":14762.952,"count":112},{"id":1603396800,"open":13016.7,"close":13089.3,"high":13216.1,"low":12998.5,"amount":1.206,"vol":1206,"trade_turnover":15807.1226,"count":117},{"id":1603400400,"open":13136.0,"close":13092.0,"high":13203.7,"low":12932.9,"amount":1.332,"vol":1332,"trade_turnover":17423.4422,"count":114},{"id":1603404000,"open":13119.4,"close":13055.9,"high":13250.5,"low":12984.7,"amount":1.21,"vol":1210,"trade_turnover":15876.0632,"count":114},{"id":1603407600,"open":13059.4,"close":12890.4,"high":13126.5,"low":12857.2,"amount":1.286,"vol":1286,"trade_turnover":16688.422,"count":116},{"id":1603411200,"open":12929.7,"close":12892.2,"high":12994.0,"low":12751.6,"amount":1.502,"vol":1502,"trade_turnover":19331.1596,"count":131},{"id":1603414800,"open":12921.7,"close":12898.3,"high":13003.2,"low":12786.0,"amount":1.386,"vol":1386,"trade_turnover":17904.8902,"count":121},{"id":1603418400,"open":12951.6,"close":12975.1,"high":13054.0,"low":12800.7,"amount":1.416,"vol":1416,"trade_turnover":18306.6204,"count":122},{"id":1603422000,"open":12967.3,"close":12947.0,"high":13030.7,"low":12875.0,"amount":1.19,"vol":1190,"trade_turnover":15409.7984,"count":118},{"id":1603425600,"open":12925.2,"close":12852.0,"high":13047.3,"low":12832.8,"amount":1.022,"vol":1022,"trade_turnover":13214.4388,"count":127},{"id":1603429200,"open":12859.0,"close":12931.1,"high":12991.7,"low":12841.2,"amount":0.478,"vol":478,"trade_turnover":6180.2486,"count":118},{"id":1603432800,"open":12935.9,"close":12939.6,"high":13014.1,"low":12871.9,"amount":0.522,"vol":522,"trade_turnover":6759.0324,"count":132},{"id":1603436400,"open":12923.1,"close":12925.4,"high":12998.9,"low":12917.1,"amount":0.476,"vol":476,"trade_turnover":6163.3118,"count":118},{"id":1603440000,"open":12942.2,"close":12962.6,"high":13014.0,"low":12916.1,"amount":0.508,"vol":508,"trade_turnover":6585.3656,"count":122},{"id":1603443600,"open":12970.5,"close":12926.4,"high":13012.5,"low":12909.9,"amount":0.564,"vol":564,"trade_turnover":7308.8828,"count":124},{"id":1603447200,"open":13001.2,"close":13007.7,"high":13059.5,"low":12925.7,"amount":0.536,"vol":536,"trade_turnover":6957.8796,"count":124},{"id":1603450800,"open":13025.4,"close":12970.6,"high":13078.4,"low":12906.5,"amount":0.486,"vol":486,"trade_turnover":6326.1434,"count":122},{"id":1603454400,"open":12963.9,"close":12935.4,"high":13025.0,"low":12850.8,"amount":0.494,"vol":494,"trade_turnover":6396.0984,"count":117},{"id":1603458000,"open":12913.3,"close":12951.7,"high":13043.3,"low":12911.0,"amount":0.466,"vol":466,"trade_turnover":6049.1412,"count":117},{"id":1603461600,"open":12999.6,"close":12858.8,"high":13006.4,"low":12840.4,"amount":0.46,"vol":460,"trade_turnover":5941.815,"count":116},{"id":1603465200,"open":12885.7,"close":12881.9,"high":12932.9,"low":12826.5,"amount":0.492,"vol":492,"trade_turnover":6340.214,"count":117},{"id":1603468800,"open":12854.4,"close":12784.1,"high":12933.5,"low":12744.4,"amount":0.484,"vol":484,"trade_turnover":6205.4138,"count":123},{"id":1603472400,"open":12832.3,"close":12847.7,"high":12893.1,"low":12730.1,"amount":0.562,"vol":562,"trade_turnover":7218.9184,"count":152},{"id":1603476000,"open":12874.1,"close":12915.7,"high":12939.3,"low":12751.4,"amount":0.53,"vol":530,"trade_turnover":6825.7004,"count":128},{"id":1603479600,"open":12867.9,"close":12972.9,"high":12972.9,"low":12786.6,"amount":0.444,"vol":444,"trade_turnover":5727.7452,"count":117},{"id":1603483200,"open":12956.7,"close":12991.6,"high":13002.2,"low":12842.9,"amount":0.492,"vol":492,"trade_turnover":6375.1566,"count":116},{"id":1603486800,"open":13004.3,"close":12943.5,"high":13004.3,"low":12936.6,"amount":0.5,"vol":500,"trade_turnover":6485.468,"count":125},{"id":1603490400,"open":12923.6,"close":12989.2,"high":13010.3,"low":12884.7,"amount":0.492,"vol":492,"trade_turnover":6376.1492,"count":120},{"id":1603494000,"open":12974.9,"close":12884.6,"high":13024.4,"low":12884.6,"amount":0.51,"vol":510,"trade_turnover":6622.3406,"count":121},{"id":1603497600,"open":12973.7,"close":12953.9,"high":13018.3,"low":12811.1,"amount":0.488,"vol":488,"trade_turnover":6317.7938,"count":120},{"id":1603501200,"open":12927.5,"close":12934.2,"high":13018.1,"low":12872.8,"amount":0.482,"vol":482,"trade_turnover":6242.4178,"count":117},{"id":1603504800,"open":12971.9,"close":12989.1,"high":13003.9,"low":12903.3,"amount":0.484,"vol":484,"trade_turnover":6278.1756,"count":117},{"id":1603508400,"open":13000.1,"close":12975.9,"high":13013.4,"low":12938.3,"amount":0.474,"vol":474,"trade_turnover":6157.7096,"count":122},{"id":1603512000,"open":12989.7,"close":12963.3,"high":13009.4,"low":12905.5,"amount":0.526,"vol":526,"trade_turnover":6831.5658,"count":124},{"id":1603515600,"open":12910.5,"close":12989.7,"high":13041.8,"low":12875.3,"amount":0.522,"vol":522,"trade_turnover":6768.8994,"count":127},{"id":1603519200,"open":12994.7,"close":13003.6,"high":13058.1,"low":12908.8,"amount":0.49,"vol":490,"trade_turnover":6370.5714,"count":120},{"id":1603522800,"open":13011.9,"close":13004.2,"high":13037.8,"low":12981.7,"amount":0.478,"vol":478,"trade_turnover":6218.9722,"count":120},{"id":1603526400,"open":13003.0,"close":12998.2,"high":13030.6,"low":12899.4,"amount":0.52,"vol":520,"trade_turnover":6754.958,"count":124},{"id":1603530000,"open":12998.2,"close":12990.6,"high":13020.3,"low":12893.6,"amount":0.454,"vol":454,"trade_turnover":5891.0574,"count":115},{"id":1603533600,"open":12996.4,"close":13030.1,"high":13059.1,"low":12913.2,"amount":0.502,"vol":502,"trade_turnover":6525.9004,"count":124},{"id":1603537200,"open":12988.4,"close":13033.2,"high":13068.3,"low":12940.2,"amount":0.468,"vol":468,"trade_turnover":6091.0376,"count":119},{"id":1603540800,"open":13035.3,"close":13006.5,"high":13071.8,"low":12978.9,"amount":0.468,"vol":468,"trade_turnover":6102.5902,"count":123},{"id":1603544400,"open":13038.8,"close":12985.9,"high":13066.7,"low":12928.1,"amount":0.534,"vol":534,"trade_turnover":6950.4268,"count":123},{"id":1603548000,"open":12986.3,"close":13042.0,"high":13100.1,"low":12960.5,"amount":0.47,"vol":470,"trade_turnover":6124.2178,"count":100},{"id":1603551600,"open":13038.4,"close":13102.2,"high":13196.5,"low":13038.4,"amount":0.456,"vol":456,"trade_turnover":5989.6362,"count":120},{"id":1603555200,"open":13136.8,"close":13052.7,"high":13176.6,"low":12984.6,"amount":0.458,"vol":458,"trade_turnover":5976.331,"count":121},{"id":1603558800,"open":13006.2,"close":13177.8,"high":13177.8,"low":13003.2,"amount":0.452,"vol":452,"trade_turnover":5911.7058,"count":118},{"id":1603562400,"open":13127.7,"close":13080.8,"high":13170.7,"low":13023.0,"amount":0.468,"vol":468,"trade_turnover":6122.375,"count":119},{"id":1603566000,"open":13040.7,"close":13148.4,"high":13179.3,"low":13014.2,"amount":0.468,"vol":468,"trade_turnover":6126.4278,"count":120},{"id":1603569600,"open":13073.5,"close":13090.1,"high":13179.6,"low":12992.5,"amount":0.47,"vol":470,"trade_turnover":6151.4758,"count":119},{"id":1603573200,"open":13035.4,"close":12993.9,"high":13148.7,"low":12980.7,"amount":0.458,"vol":458,"trade_turnover":5981.071,"count":117},{"id":1603576800,"open":13040.7,"close":13041.1,"high":13112.1,"low":12975.6,"amount":0.478,"vol":478,"trade_turnover":6225.4216,"count":118},{"id":1603580400,"open":13012.6,"close":13184.3,"high":13184.3,"low":13009.3,"amount":0.472,"vol":472,"trade_turnover":6173.4244,"count":118},{"id":1603584000,"open":13080.8,"close":13154.3,"high":13170.4,"low":13007.7,"amount":0.46,"vol":460,"trade_turnover":6024.09,"count":115},{"id":1603587600,"open":13092.0,"close":13196.1,"high":13196.8,"low":13024.0,"amount":0.398,"vol":398,"trade_turnover":5217.5364,"count":102},{"id":1603591200,"open":13124.7,"close":13082.4,"high":13175.1,"low":13035.0,"amount":0.476,"vol":476,"trade_turnover":6228.6596,"count":120},{"id":1603594800,"open":13049.1,"close":13259.0,"high":13383.8,"low":13049.1,"amount":0.578,"vol":578,"trade_turnover":7629.3886,"count":137},{"id":1603598400,"open":13277.0,"close":13243.4,"high":13369.0,"low":13216.0,"amount":0.47,"vol":470,"trade_turnover":6247.955,"count":122},{"id":1603602000,"open":13285.3,"close":13017.3,"high":13353.3,"low":13010.1,"amount":0.61,"vol":610,"trade_turnover":8048.8598,"count":134},{"id":1603605600,"open":13022.5,"close":13060.3,"high":13105.7,"low":13018.2,"amount":0.486,"vol":486,"trade_turnover":6344.1474,"count":118},{"id":1603609200,"open":13048.5,"close":13078.1,"high":13112.1,"low":13022.0,"amount":0.464,"vol":464,"trade_turnover":6061.5416,"count":120},{"id":1603612800,"open":13077.2,"close":13046.0,"high":13091.0,"low":13017.2,"amount":0.464,"vol":464,"trade_turnover":6055.3734,"count":120},{"id":1603616400,"open":13065.1,"close":13040.8,"high":13084.0,"low":13014.2,"amount":0.478,"vol":478,"trade_turnover":6235.7882,"count":117},{"id":1603620000,"open":13047.1,"close":13028.5,"high":13064.2,"low":13010.2,"amount":0.478,"vol":478,"trade_turnover":6232.2428,"count":125},{"id":1603623600,"open":13061.5,"close":12897.6,"high":13061.5,"low":12852.9,"amount":0.534,"vol":534,"trade_turnover":6918.1226,"count":123},{"id":1603627200,"open":12908.3,"close":12964.3,"high":13069.7,"low":12893.2,"amount":0.444,"vol":444,"trade_turnover":5755.8712,"count":117},{"id":1603630800,"open":13001.3,"close":12949.3,"high":13071.9,"low":12891.8,"amount":0.498,"vol":498,"trade_turnover":6465.078,"count":119},{"id":1603634400,"open":12975.8,"close":12946.8,"high":13077.7,"low":12900.0,"amount":0.468,"vol":468,"trade_turnover":6075.4554,"count":116},{"id":1603638000,"open":12975.2,"close":12883.3,"high":13069.1,"low":12883.3,"amount":0.47,"vol":470,"trade_turnover":6097.1072,"count":119},{"id":1603641600,"open":12916.2,"close":12978.7,"high":13067.9,"low":12877.5,"amount":0.482,"vol":482,"trade_turnover":6256.4472,"count":118},{"id":1603645200,"open":13008.0,"close":13004.4,"high":13087.5,"low":12922.7,"amount":0.47,"vol":470,"trade_turnover":6108.3892,"count":117},{"id":1603648800,"open":12972.8,"close":12957.2,"high":13067.6,"low":12893.6,"amount":0.468,"vol":468,"trade_turnover":6079.1484,"count":118},{"id":1603652400,"open":12996.5,"close":13021.8,"high":13066.9,"low":12916.6,"amount":0.442,"vol":442,"trade_turnover":5746.5548,"count":118},{"id":1603656000,"open":12992.9,"close":12985.4,"high":13081.5,"low":12944.9,"amount":0.508,"vol":508,"trade_turnover":6616.9872,"count":120},{"id":1603659600,"open":12999.9,"close":13011.2,"high":13068.6,"low":12921.4,"amount":0.508,"vol":508,"trade_turnover":6614.816,"count":122},{"id":1603663200,"open":12979.6,"close":12959.4,"high":13073.8,"low":12911.9,"amount":0.486,"vol":486,"trade_turnover":6320.907,"count":121},{"id":1603666800,"open":12963.4,"close":13032.1,"high":13085.2,"low":12927.8,"amount":0.452,"vol":452,"trade_turnover":5878.6442,"count":113},{"id":1603670400,"open":12964.2,"close":13001.0,"high":13076.7,"low":12918.3,"amount":0.482,"vol":482,"trade_turnover":6263.698,"count":121},{"id":1603674000,"open":13040.0,"close":13053.7,"high":13096.4,"low":12991.2,"amount":0.478,"vol":478,"trade_turnover":6232.2328,"count":124},{"id":1603677600,"open":13060.6,"close":13064.4,"high":13185.7,"low":12985.1,"amount":0.488,"vol":488,"trade_turnover":6387.534,"count":121},{"id":1603681200,"open":13032.3,"close":13092.8,"high":13187.2,"low":12984.1,"amount":0.486,"vol":486,"trade_turnover":6369.0272,"count":135},{"id":1603684800,"open":13092.0,"close":13132.6,"high":13181.6,"low":12962.3,"amount":0.51,"vol":510,"trade_turnover":6679.829,"count":131},{"id":1603688400,"open":13129.2,"close":13092.1,"high":13205.3,"low":13025.3,"amount":0.506,"vol":506,"trade_turnover":6641.2128,"count":126},{"id":1603692000,"open":13121.8,"close":13071.4,"high":13188.1,"low":12989.8,"amount":1.616,"vol":1616,"trade_turnover":21170.8224,"count":141},{"id":1603695600,"open":13061.0,"close":13038.7,"high":13100.0,"low":12965.2,"amount":3.746,"vol":3746,"trade_turnover":48924.8902,"count":110},{"id":1603699200,"open":13030.9,"close":13039.3,"high":13102.0,"low":12852.8,"amount":8.966,"vol":8966,"trade_turnover":116525.5534,"count":173},{"id":1603702800,"open":13047.1,"close":13075.9,"high":13088.4,"low":13039.8,"amount":4.48,"vol":4480,"trade_turnover":58521.1714,"count":124},{"id":1603706400,"open":13072.1,"close":13100.0,"high":13100.0,"low":13060.2,"amount":4.272,"vol":4272,"trade_turnover":55895.9778,"count":130},{"id":1603710000,"open":13100.0,"close":13138.4,"high":13159.0,"low":13100.0,"amount":29.798,"vol":29798,"trade_turnover":391138.024,"count":230},{"id":1603713600,"open":13138.8,"close":13149.8,"high":13200.0,"low":13100.0,"amount":5.154,"vol":5154,"trade_turnover":67694.652,"count":188},{"id":1603717200,"open":13150.0,"close":13205.8,"high":13351.5,"low":13133.1,"amount":35.608,"vol":35608,"trade_turnover":472780.3394,"count":328},{"id":1603720800,"open":13203.0,"close":13166.1,"high":13280.0,"low":13144.1,"amount":31.748,"vol":31748,"trade_turnover":418744.5588,"count":235},{"id":1603724400,"open":13159.0,"close":12978.0,"high":13165.2,"low":12903.8,"amount":36.53,"vol":36530,"trade_turnover":476940.3296,"count":384},{"id":1603728000,"open":12965.0,"close":12869.6,"high":13069.8,"low":12850.5,"amount":35.018,"vol":35018,"trade_turnover":453288.918,"count":323},{"id":1603731600,"open":12879.2,"close":12873.8,"high":12941.5,"low":12583.9,"amount":92.628,"vol":92628,"trade_turnover":1185973.467,"count":560},{"id":1603735200,"open":12856.2,"close":12946.8,"high":12954.5,"low":12820.4,"amount":4.302,"vol":4302,"trade_turnover":55481.0054,"count":128},{"id":1603738800,"open":12945.6,"close":12953.4,"high":12953.5,"low":12914.1,"amount":13.83,"vol":13830,"trade_turnover":179112.1598,"count":118},{"id":1603742400,"open":12953.5,"close":12983.4,"high":13007.5,"low":12953.5,"amount":17.172,"vol":17172,"trade_turnover":223230.2122,"count":132},{"id":1603746000,"open":12983.1,"close":12993.8,"high":13007.5,"low":12982.7,"amount":3.212,"vol":3212,"trade_turnover":41767.8906,"count":59},{"id":1603749600,"open":13002.1,"close":13007.5,"high":13007.5,"low":12974.0,"amount":1.504,"vol":1504,"trade_turnover":19543.3568,"count":74},{"id":1603753200,"open":13007.5,"close":13033.7,"high":13061.2,"low":13007.5,"amount":3.454,"vol":3454,"trade_turnover":45001.601,"count":101},{"id":1603756800,"open":13029.2,"close":13067.1,"high":13105.0,"low":13028.3,"amount":8.784,"vol":8784,"trade_turnover":114871.8246,"count":98},{"id":1603760400,"open":13074.3,"close":13061.7,"high":13074.4,"low":13051.5,"amount":11.592,"vol":11592,"trade_turnover":151386.9038,"count":66},{"id":1603764000,"open":13061.7,"close":13049.7,"high":13097.6,"low":13040.1,"amount":19.298,"vol":19298,"trade_turnover":252061.019,"count":109},{"id":1603767600,"open":13057.6,"close":13070.4,"high":13080.0,"low":13057.1,"amount":22.992,"vol":22992,"trade_turnover":300453.9788,"count":69},{"id":1603771200,"open":13080.0,"close":13103.3,"high":13175.0,"low":13079.6,"amount":14.396,"vol":14396,"trade_turnover":188461.9156,"count":59},{"id":1603774800,"open":13121.3,"close":13073.6,"high":13121.3,"low":13069.7,"amount":5.058,"vol":5058,"trade_turnover":66201.3552,"count":44},{"id":1603778400,"open":13074.9,"close":13103.4,"high":13149.0,"low":13069.6,"amount":9.106,"vol":9106,"trade_turnover":119104.8906,"count":107},{"id":1603782000,"open":13103.3,"close":13130.0,"high":13169.8,"low":12992.4,"amount":73.95,"vol":73950,"trade_turnover":968195.155,"count":305},{"id":1603785600,"open":13135.1,"close":13123.8,"high":13148.4,"low":13044.0,"amount":18.732,"vol":18732,"trade_turnover":245533.5448,"count":135},{"id":1603789200,"open":13115.5,"close":13131.7,"high":13131.8,"low":13075.7,"amount":13.756,"vol":13756,"trade_turnover":180253.7708,"count":102},{"id":1603792800,"open":13134.8,"close":13216.9,"high":13252.0,"low":13063.4,"amount":154.108,"vol":154108,"trade_turnover":2029983.656,"count":525},{"id":1603796400,"open":13218.8,"close":13395.8,"high":13590.1,"low":13213.5,"amount":170.09,"vol":170090,"trade_turnover":2276279.742,"count":591},{"id":1603800000,"open":13395.9,"close":13376.9,"high":13414.0,"low":13331.7,"amount":48.928,"vol":48928,"trade_turnover":654585.9108,"count":216},{"id":1603803600,"open":13376.5,"close":13384.3,"high":13490.9,"low":13329.8,"amount":63.294,"vol":63294,"trade_turnover":848130.9212,"count":316},{"id":1603807200,"open":13392.6,"close":13398.2,"high":13415.8,"low":13344.8,"amount":12.892,"vol":12892,"trade_turnover":172618.6864,"count":124},{"id":1603810800,"open":13398.2,"close":13598.5,"high":13626.7,"low":13398.2,"amount":93.22,"vol":93220,"trade_turnover":1262695.5466,"count":476},{"id":1603814400,"open":13595.8,"close":13639.9,"high":13639.9,"low":13520.2,"amount":85.45,"vol":85450,"trade_turnover":1161481.4136,"count":435},{"id":1603818000,"open":13640.0,"close":13688.1,"high":13826.7,"low":13589.0,"amount":191.812,"vol":191812,"trade_turnover":2628428.3788,"count":711},{"id":1603821600,"open":13685.0,"close":13630.1,"high":13745.0,"low":13528.2,"amount":65.434,"vol":65434,"trade_turnover":891541.8394,"count":410},{"id":1603825200,"open":13629.4,"close":13637.1,"high":13659.8,"low":13595.4,"amount":5.788,"vol":5788,"trade_turnover":78836.2578,"count":65},{"id":1603828800,"open":13644.4,"close":13616.6,"high":13805.1,"low":13582.6,"amount":163.104,"vol":163104,"trade_turnover":2234040.3544,"count":537},{"id":1603832400,"open":13609.8,"close":13705.5,"high":13753.5,"low":13609.8,"amount":9.884,"vol":9884,"trade_turnover":135406.4752,"count":101},{"id":1603836000,"open":13705.4,"close":13739.9,"high":13739.9,"low":13658.2,"amount":7.436,"vol":7436,"trade_turnover":101840.3508,"count":100},{"id":1603839600,"open":13739.9,"close":13649.6,"high":13794.6,"low":13582.6,"amount":17.086,"vol":17086,"trade_turnover":233971.8448,"count":234},{"id":1603843200,"open":13645.9,"close":13701.7,"high":13745.2,"low":13618.8,"amount":24.108,"vol":24108,"trade_turnover":330206.5694,"count":177},{"id":1603846800,"open":13702.1,"close":13702.6,"high":13725.6,"low":13647.9,"amount":15.892,"vol":15892,"trade_turnover":217816.7008,"count":151},{"id":1603850400,"open":13701.7,"close":13811.6,"high":13832.2,"low":13680.2,"amount":46.548,"vol":46548,"trade_turnover":640636.0352,"count":274},{"id":1603854000,"open":13818.5,"close":13777.0,"high":13820.3,"low":13717.5,"amount":67.896,"vol":67896,"trade_turnover":935838.2238,"count":320},{"id":1603857600,"open":13767.3,"close":13735.7,"high":13807.2,"low":13710.0,"amount":33.156,"vol":33156,"trade_turnover":455941.234,"count":210},{"id":1603861200,"open":13735.5,"close":13715.8,"high":13753.9,"low":13671.3,"amount":32.076,"vol":32076,"trade_turnover":439612.64,"count":198},{"id":1603864800,"open":13715.9,"close":13701.3,"high":13757.0,"low":13694.9,"amount":14.756,"vol":14756,"trade_turnover":202602.5164,"count":122},{"id":1603868400,"open":13701.2,"close":13674.2,"high":13708.7,"low":13550.0,"amount":155.534,"vol":155534,"trade_turnover":2117935.0928,"count":635},{"id":1603872000,"open":13673.0,"close":13691.7,"high":13691.7,"low":13584.0,"amount":29.846,"vol":29846,"trade_turnover":407073.1398,"count":240},{"id":1603875600,"open":13689.3,"close":13587.1,"high":13707.5,"low":13573.5,"amount":104.542,"vol":104542,"trade_turnover":1425079.9344,"count":377},{"id":1603879200,"open":13584.6,"close":13552.7,"high":13618.0,"low":13504.7,"amount":73.818,"vol":73818,"trade_turnover":1001666.0908,"count":358},{"id":1603882800,"open":13552.6,"close":13336.4,"high":13565.4,"low":13330.0,"amount":176.544,"vol":176544,"trade_turnover":2369166.1492,"count":1004},{"id":1603886400,"open":13331.5,"close":13300.3,"high":13385.0,"low":13173.9,"amount":289.73,"vol":289730,"trade_turnover":3846751.7166,"count":968},{"id":1603890000,"open":13300.2,"close":13129.9,"high":13340.0,"low":13122.9,"amount":139.822,"vol":139822,"trade_turnover":1848876.932,"count":612},{"id":1603893600,"open":13123.4,"close":13082.2,"high":13168.2,"low":12915.9,"amount":367.876,"vol":367876,"trade_turnover":4802516.9818,"count":1168},{"id":1603897200,"open":13077.1,"close":13221.2,"high":13235.2,"low":13052.3,"amount":84.044,"vol":84044,"trade_turnover":1106883.1282,"count":375},{"id":1603900800,"open":13218.7,"close":13145.1,"high":13218.7,"low":13050.0,"amount":29.566,"vol":29566,"trade_turnover":388697.4104,"count":244},{"id":1603904400,"open":13145.1,"close":13176.7,"high":13204.9,"low":13006.6,"amount":53.336,"vol":53336,"trade_turnover":700385.2784,"count":299},{"id":1603908000,"open":13171.0,"close":13196.5,"high":13219.6,"low":13131.0,"amount":34.164,"vol":34164,"trade_turnover":450210.5778,"count":218},{"id":1603911600,"open":13200.0,"close":13154.9,"high":13237.4,"low":13145.0,"amount":22.158,"vol":22158,"trade_turnover":292020.0438,"count":185},{"id":1603915200,"open":13154.5,"close":13198.1,"high":13211.8,"low":13147.4,"amount":4.548,"vol":4548,"trade_turnover":59991.1118,"count":75},{"id":1603918800,"open":13193.5,"close":13190.1,"high":13196.5,"low":13100.2,"amount":3.52,"vol":3520,"trade_turnover":46175.428,"count":68},{"id":1603922400,"open":13185.4,"close":13252.0,"high":13267.5,"low":13185.4,"amount":3.122,"vol":3122,"trade_turnover":41304.2018,"count":72},{"id":1603926000,"open":13242.1,"close":13265.9,"high":13282.3,"low":13235.9,"amount":14.768,"vol":14768,"trade_turnover":195689.0764,"count":86},{"id":1603929600,"open":13253.9,"close":13245.1,"high":13294.7,"low":13237.4,"amount":19.968,"vol":19968,"trade_turnover":264834.1944,"count":98},{"id":1603933200,"open":13244.6,"close":13274.2,"high":13285.3,"low":13166.3,"amount":35.282,"vol":35282,"trade_turnover":465789.6302,"count":192},{"id":1603936800,"open":13275.9,"close":13241.1,"high":13277.7,"low":13212.2,"amount":9.748,"vol":9748,"trade_turnover":129016.0684,"count":119},{"id":1603940400,"open":13237.1,"close":13262.5,"high":13262.5,"low":13174.6,"amount":27.3,"vol":27300,"trade_turnover":360589.8982,"count":199},{"id":1603944000,"open":13269.1,"close":13229.5,"high":13277.7,"low":13229.5,"amount":18.904,"vol":18904,"trade_turnover":250713.2812,"count":109},{"id":1603947600,"open":13228.5,"close":13274.8,"high":13274.8,"low":13228.5,"amount":15.822,"vol":15822,"trade_turnover":209781.909,"count":134},{"id":1603951200,"open":13274.8,"close":13255.0,"high":13323.0,"low":13242.3,"amount":91.246,"vol":91246,"trade_turnover":1211271.2788,"count":294},{"id":1603954800,"open":13255.0,"close":13142.4,"high":13269.3,"low":13123.1,"amount":187.622,"vol":187622,"trade_turnover":2478299.7074,"count":506},{"id":1603958400,"open":13145.9,"close":13124.8,"high":13182.4,"low":13094.1,"amount":69.532,"vol":69532,"trade_turnover":914157.2418,"count":226},{"id":1603962000,"open":13129.5,"close":13183.7,"high":13197.1,"low":13129.5,"amount":23.184,"vol":23184,"trade_turnover":305485.9524,"count":141},{"id":1603965600,"open":13184.8,"close":13105.2,"high":13187.5,"low":13053.1,"amount":121.146,"vol":121146,"trade_turnover":1590026.4416,"count":442},{"id":1603969200,"open":13105.1,"close":13060.1,"high":13171.4,"low":13060.1,"amount":47.498,"vol":47498,"trade_turnover":623578.149,"count":262},{"id":1603972800,"open":13056.9,"close":13131.8,"high":13145.8,"low":12977.9,"amount":126.552,"vol":126552,"trade_turnover":1652549.311,"count":481},{"id":1603976400,"open":13131.7,"close":13230.0,"high":13237.2,"low":13102.0,"amount":100.482,"vol":100482,"trade_turnover":1326403.7206,"count":325},{"id":1603980000,"open":13231.0,"close":13420.8,"high":13476.1,"low":13231.0,"amount":253.258,"vol":253258,"trade_turnover":3384941.438,"count":752},{"id":1603983600,"open":13416.0,"close":13420.6,"high":13458.7,"low":13358.7,"amount":64.71,"vol":64710,"trade_turnover":869052.3804,"count":269},{"id":1603987200,"open":13421.9,"close":13535.9,"high":13594.5,"low":13391.8,"amount":120.24,"vol":120240,"trade_turnover":1626567.8278,"count":570}]} +2024-01-18 11:13:16.037 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:41] - 请求 KLine 数据解析之后的数据为:{"wsid":19750305,"data":[{"amount":0.276,"high":12300.0,"vol":276,"low":11715.8,"count":39,"id":1603270800,"close":12196.7,"tradeTurnover":3315.9104,"open":12198.0},{"amount":0.198,"high":12289.9,"vol":198,"low":12111.0,"count":21,"id":1603274400,"close":12277.9,"tradeTurnover":2420.7728,"open":12196.7},{"amount":0.012,"high":12277.9,"vol":12,"low":12000.0,"count":5,"id":1603278000,"close":12000.0,"tradeTurnover":145.2238,"open":12111.0},{"amount":0.084,"high":12498.0,"vol":84,"low":12078.0,"count":12,"id":1603281600,"close":12497.4,"tradeTurnover":1040.0504,"open":12078.0},{"amount":1.122,"high":12495.6,"vol":1122,"low":12282.9,"count":112,"id":1603285200,"close":12373.5,"tradeTurnover":13905.3124,"open":12495.6},{"amount":5.29,"high":12807.6,"vol":5290,"low":12358.1,"count":155,"id":1603288800,"close":12689.9,"tradeTurnover":66852.128,"open":12412.9},{"amount":1.174,"high":12778.7,"vol":1174,"low":12573.2,"count":113,"id":1603292400,"close":12701.9,"tradeTurnover":14907.367,"open":12692.8},{"amount":1.156,"high":12920.9,"vol":1156,"low":12624.8,"count":115,"id":1603296000,"close":12835.9,"tradeTurnover":14802.449,"open":12679.7},{"amount":1.12,"high":12908.3,"vol":1120,"low":12687.5,"count":115,"id":1603299600,"close":12754.2,"tradeTurnover":14345.7324,"open":12848.3},{"amount":1.106,"high":12849.0,"vol":1106,"low":12668.3,"count":114,"id":1603303200,"close":12740.2,"tradeTurnover":14105.3504,"open":12743.7},{"amount":1.032,"high":12843.1,"vol":1032,"low":12597.2,"count":112,"id":1603306800,"close":12650.3,"tradeTurnover":13125.4568,"open":12729.5},{"amount":1.154,"high":12848.4,"vol":1154,"low":12610.2,"count":116,"id":1603310400,"close":12807.0,"tradeTurnover":14680.638,"open":12666.8},{"amount":1.164,"high":13005.1,"vol":1164,"low":12748.2,"count":114,"id":1603314000,"close":12938.9,"tradeTurnover":14976.9366,"open":12866.0},{"amount":1.174,"high":13211.2,"vol":1174,"low":12865.7,"count":114,"id":1603317600,"close":13122.0,"tradeTurnover":15285.2446,"open":12921.0},{"amount":1.172,"high":13173.2,"vol":1172,"low":12688.6,"count":117,"id":1603321200,"close":12829.8,"tradeTurnover":15060.9938,"open":13153.2},{"amount":1.17,"high":12988.1,"vol":1170,"low":12764.4,"count":117,"id":1603324800,"close":12885.9,"tradeTurnover":15046.2046,"open":12793.1},{"amount":1.158,"high":12972.6,"vol":1158,"low":12757.5,"count":118,"id":1603328400,"close":12757.5,"tradeTurnover":14882.4656,"open":12860.4},{"amount":1.124,"high":12848.0,"vol":1124,"low":12729.0,"count":115,"id":1603332000,"close":12788.8,"tradeTurnover":14368.7948,"open":12824.1},{"amount":1.194,"high":12834.4,"vol":1194,"low":12729.0,"count":111,"id":1603335600,"close":12767.2,"tradeTurnover":15268.9298,"open":12791.7},{"amount":1.152,"high":12778.3,"vol":1152,"low":12729.0,"count":115,"id":1603339200,"close":12762.2,"tradeTurnover":14695.4876,"open":12729.0},{"amount":1.21,"high":12842.0,"vol":1210,"low":12730.6,"count":119,"id":1603342800,"close":12813.8,"tradeTurnover":15440.8162,"open":12763.1},{"amount":1.188,"high":12795.0,"vol":1188,"low":12728.0,"count":123,"id":1603346400,"close":12729.1,"tradeTurnover":15128.0098,"open":12795.0},{"amount":1.266,"high":12730.6,"vol":1266,"low":12728.3,"count":112,"id":1603350000,"close":12730.6,"tradeTurnover":16115.1306,"open":12728.6},{"amount":1.35,"high":12921.5,"vol":1350,"low":12729.9,"count":127,"id":1603353600,"close":12770.1,"tradeTurnover":17233.7326,"open":12730.3},{"amount":0.98,"high":12872.1,"vol":980,"low":12760.1,"count":99,"id":1603357200,"close":12780.4,"tradeTurnover":12553.9826,"open":12824.9},{"amount":0.266,"high":13002.7,"vol":266,"low":12775.6,"count":30,"id":1603360800,"close":12934.2,"tradeTurnover":3415.023,"open":12784.9},{"amount":1.004,"high":13057.0,"vol":1004,"low":12886.6,"count":117,"id":1603364400,"close":13045.0,"tradeTurnover":13020.8576,"open":12977.0},{"amount":1.134,"high":12973.4,"vol":1134,"low":12751.6,"count":111,"id":1603368000,"close":12847.9,"tradeTurnover":14594.2752,"open":12958.5},{"amount":1.152,"high":13000.8,"vol":1152,"low":12743.0,"count":114,"id":1603371600,"close":12931.0,"tradeTurnover":14877.7314,"open":12882.7},{"amount":1.182,"high":12995.3,"vol":1182,"low":12783.9,"count":115,"id":1603375200,"close":12917.8,"tradeTurnover":15224.4716,"open":12890.4},{"amount":1.176,"high":13031.2,"vol":1176,"low":12817.9,"count":117,"id":1603378800,"close":12953.0,"tradeTurnover":15197.208,"open":12918.8},{"amount":1.146,"high":13100.2,"vol":1146,"low":12865.6,"count":119,"id":1603382400,"close":13055.6,"tradeTurnover":14851.9604,"open":12923.1},{"amount":1.534,"high":13105.7,"vol":1534,"low":12835.5,"count":124,"id":1603386000,"close":13082.7,"tradeTurnover":19927.8288,"open":12967.6},{"amount":1.268,"high":13115.0,"vol":1268,"low":12938.7,"count":117,"id":1603389600,"close":13016.4,"tradeTurnover":16505.4738,"open":13020.4},{"amount":1.13,"high":13171.2,"vol":1130,"low":12961.8,"count":112,"id":1603393200,"close":12970.6,"tradeTurnover":14762.952,"open":13028.3},{"amount":1.206,"high":13216.1,"vol":1206,"low":12998.5,"count":117,"id":1603396800,"close":13089.3,"tradeTurnover":15807.1226,"open":13016.7},{"amount":1.332,"high":13203.7,"vol":1332,"low":12932.9,"count":114,"id":1603400400,"close":13092.0,"tradeTurnover":17423.4422,"open":13136.0},{"amount":1.21,"high":13250.5,"vol":1210,"low":12984.7,"count":114,"id":1603404000,"close":13055.9,"tradeTurnover":15876.0632,"open":13119.4},{"amount":1.286,"high":13126.5,"vol":1286,"low":12857.2,"count":116,"id":1603407600,"close":12890.4,"tradeTurnover":16688.422,"open":13059.4},{"amount":1.502,"high":12994.0,"vol":1502,"low":12751.6,"count":131,"id":1603411200,"close":12892.2,"tradeTurnover":19331.1596,"open":12929.7},{"amount":1.386,"high":13003.2,"vol":1386,"low":12786.0,"count":121,"id":1603414800,"close":12898.3,"tradeTurnover":17904.8902,"open":12921.7},{"amount":1.416,"high":13054.0,"vol":1416,"low":12800.7,"count":122,"id":1603418400,"close":12975.1,"tradeTurnover":18306.6204,"open":12951.6},{"amount":1.19,"high":13030.7,"vol":1190,"low":12875.0,"count":118,"id":1603422000,"close":12947.0,"tradeTurnover":15409.7984,"open":12967.3},{"amount":1.022,"high":13047.3,"vol":1022,"low":12832.8,"count":127,"id":1603425600,"close":12852.0,"tradeTurnover":13214.4388,"open":12925.2},{"amount":0.478,"high":12991.7,"vol":478,"low":12841.2,"count":118,"id":1603429200,"close":12931.1,"tradeTurnover":6180.2486,"open":12859.0},{"amount":0.522,"high":13014.1,"vol":522,"low":12871.9,"count":132,"id":1603432800,"close":12939.6,"tradeTurnover":6759.0324,"open":12935.9},{"amount":0.476,"high":12998.9,"vol":476,"low":12917.1,"count":118,"id":1603436400,"close":12925.4,"tradeTurnover":6163.3118,"open":12923.1},{"amount":0.508,"high":13014.0,"vol":508,"low":12916.1,"count":122,"id":1603440000,"close":12962.6,"tradeTurnover":6585.3656,"open":12942.2},{"amount":0.564,"high":13012.5,"vol":564,"low":12909.9,"count":124,"id":1603443600,"close":12926.4,"tradeTurnover":7308.8828,"open":12970.5},{"amount":0.536,"high":13059.5,"vol":536,"low":12925.7,"count":124,"id":1603447200,"close":13007.7,"tradeTurnover":6957.8796,"open":13001.2},{"amount":0.486,"high":13078.4,"vol":486,"low":12906.5,"count":122,"id":1603450800,"close":12970.6,"tradeTurnover":6326.1434,"open":13025.4},{"amount":0.494,"high":13025.0,"vol":494,"low":12850.8,"count":117,"id":1603454400,"close":12935.4,"tradeTurnover":6396.0984,"open":12963.9},{"amount":0.466,"high":13043.3,"vol":466,"low":12911.0,"count":117,"id":1603458000,"close":12951.7,"tradeTurnover":6049.1412,"open":12913.3},{"amount":0.46,"high":13006.4,"vol":460,"low":12840.4,"count":116,"id":1603461600,"close":12858.8,"tradeTurnover":5941.815,"open":12999.6},{"amount":0.492,"high":12932.9,"vol":492,"low":12826.5,"count":117,"id":1603465200,"close":12881.9,"tradeTurnover":6340.214,"open":12885.7},{"amount":0.484,"high":12933.5,"vol":484,"low":12744.4,"count":123,"id":1603468800,"close":12784.1,"tradeTurnover":6205.4138,"open":12854.4},{"amount":0.562,"high":12893.1,"vol":562,"low":12730.1,"count":152,"id":1603472400,"close":12847.7,"tradeTurnover":7218.9184,"open":12832.3},{"amount":0.53,"high":12939.3,"vol":530,"low":12751.4,"count":128,"id":1603476000,"close":12915.7,"tradeTurnover":6825.7004,"open":12874.1},{"amount":0.444,"high":12972.9,"vol":444,"low":12786.6,"count":117,"id":1603479600,"close":12972.9,"tradeTurnover":5727.7452,"open":12867.9},{"amount":0.492,"high":13002.2,"vol":492,"low":12842.9,"count":116,"id":1603483200,"close":12991.6,"tradeTurnover":6375.1566,"open":12956.7},{"amount":0.5,"high":13004.3,"vol":500,"low":12936.6,"count":125,"id":1603486800,"close":12943.5,"tradeTurnover":6485.468,"open":13004.3},{"amount":0.492,"high":13010.3,"vol":492,"low":12884.7,"count":120,"id":1603490400,"close":12989.2,"tradeTurnover":6376.1492,"open":12923.6},{"amount":0.51,"high":13024.4,"vol":510,"low":12884.6,"count":121,"id":1603494000,"close":12884.6,"tradeTurnover":6622.3406,"open":12974.9},{"amount":0.488,"high":13018.3,"vol":488,"low":12811.1,"count":120,"id":1603497600,"close":12953.9,"tradeTurnover":6317.7938,"open":12973.7},{"amount":0.482,"high":13018.1,"vol":482,"low":12872.8,"count":117,"id":1603501200,"close":12934.2,"tradeTurnover":6242.4178,"open":12927.5},{"amount":0.484,"high":13003.9,"vol":484,"low":12903.3,"count":117,"id":1603504800,"close":12989.1,"tradeTurnover":6278.1756,"open":12971.9},{"amount":0.474,"high":13013.4,"vol":474,"low":12938.3,"count":122,"id":1603508400,"close":12975.9,"tradeTurnover":6157.7096,"open":13000.1},{"amount":0.526,"high":13009.4,"vol":526,"low":12905.5,"count":124,"id":1603512000,"close":12963.3,"tradeTurnover":6831.5658,"open":12989.7},{"amount":0.522,"high":13041.8,"vol":522,"low":12875.3,"count":127,"id":1603515600,"close":12989.7,"tradeTurnover":6768.8994,"open":12910.5},{"amount":0.49,"high":13058.1,"vol":490,"low":12908.8,"count":120,"id":1603519200,"close":13003.6,"tradeTurnover":6370.5714,"open":12994.7},{"amount":0.478,"high":13037.8,"vol":478,"low":12981.7,"count":120,"id":1603522800,"close":13004.2,"tradeTurnover":6218.9722,"open":13011.9},{"amount":0.52,"high":13030.6,"vol":520,"low":12899.4,"count":124,"id":1603526400,"close":12998.2,"tradeTurnover":6754.958,"open":13003.0},{"amount":0.454,"high":13020.3,"vol":454,"low":12893.6,"count":115,"id":1603530000,"close":12990.6,"tradeTurnover":5891.0574,"open":12998.2},{"amount":0.502,"high":13059.1,"vol":502,"low":12913.2,"count":124,"id":1603533600,"close":13030.1,"tradeTurnover":6525.9004,"open":12996.4},{"amount":0.468,"high":13068.3,"vol":468,"low":12940.2,"count":119,"id":1603537200,"close":13033.2,"tradeTurnover":6091.0376,"open":12988.4},{"amount":0.468,"high":13071.8,"vol":468,"low":12978.9,"count":123,"id":1603540800,"close":13006.5,"tradeTurnover":6102.5902,"open":13035.3},{"amount":0.534,"high":13066.7,"vol":534,"low":12928.1,"count":123,"id":1603544400,"close":12985.9,"tradeTurnover":6950.4268,"open":13038.8},{"amount":0.47,"high":13100.1,"vol":470,"low":12960.5,"count":100,"id":1603548000,"close":13042.0,"tradeTurnover":6124.2178,"open":12986.3},{"amount":0.456,"high":13196.5,"vol":456,"low":13038.4,"count":120,"id":1603551600,"close":13102.2,"tradeTurnover":5989.6362,"open":13038.4},{"amount":0.458,"high":13176.6,"vol":458,"low":12984.6,"count":121,"id":1603555200,"close":13052.7,"tradeTurnover":5976.331,"open":13136.8},{"amount":0.452,"high":13177.8,"vol":452,"low":13003.2,"count":118,"id":1603558800,"close":13177.8,"tradeTurnover":5911.7058,"open":13006.2},{"amount":0.468,"high":13170.7,"vol":468,"low":13023.0,"count":119,"id":1603562400,"close":13080.8,"tradeTurnover":6122.375,"open":13127.7},{"amount":0.468,"high":13179.3,"vol":468,"low":13014.2,"count":120,"id":1603566000,"close":13148.4,"tradeTurnover":6126.4278,"open":13040.7},{"amount":0.47,"high":13179.6,"vol":470,"low":12992.5,"count":119,"id":1603569600,"close":13090.1,"tradeTurnover":6151.4758,"open":13073.5},{"amount":0.458,"high":13148.7,"vol":458,"low":12980.7,"count":117,"id":1603573200,"close":12993.9,"tradeTurnover":5981.071,"open":13035.4},{"amount":0.478,"high":13112.1,"vol":478,"low":12975.6,"count":118,"id":1603576800,"close":13041.1,"tradeTurnover":6225.4216,"open":13040.7},{"amount":0.472,"high":13184.3,"vol":472,"low":13009.3,"count":118,"id":1603580400,"close":13184.3,"tradeTurnover":6173.4244,"open":13012.6},{"amount":0.46,"high":13170.4,"vol":460,"low":13007.7,"count":115,"id":1603584000,"close":13154.3,"tradeTurnover":6024.09,"open":13080.8},{"amount":0.398,"high":13196.8,"vol":398,"low":13024.0,"count":102,"id":1603587600,"close":13196.1,"tradeTurnover":5217.5364,"open":13092.0},{"amount":0.476,"high":13175.1,"vol":476,"low":13035.0,"count":120,"id":1603591200,"close":13082.4,"tradeTurnover":6228.6596,"open":13124.7},{"amount":0.578,"high":13383.8,"vol":578,"low":13049.1,"count":137,"id":1603594800,"close":13259.0,"tradeTurnover":7629.3886,"open":13049.1},{"amount":0.47,"high":13369.0,"vol":470,"low":13216.0,"count":122,"id":1603598400,"close":13243.4,"tradeTurnover":6247.955,"open":13277.0},{"amount":0.61,"high":13353.3,"vol":610,"low":13010.1,"count":134,"id":1603602000,"close":13017.3,"tradeTurnover":8048.8598,"open":13285.3},{"amount":0.486,"high":13105.7,"vol":486,"low":13018.2,"count":118,"id":1603605600,"close":13060.3,"tradeTurnover":6344.1474,"open":13022.5},{"amount":0.464,"high":13112.1,"vol":464,"low":13022.0,"count":120,"id":1603609200,"close":13078.1,"tradeTurnover":6061.5416,"open":13048.5},{"amount":0.464,"high":13091.0,"vol":464,"low":13017.2,"count":120,"id":1603612800,"close":13046.0,"tradeTurnover":6055.3734,"open":13077.2},{"amount":0.478,"high":13084.0,"vol":478,"low":13014.2,"count":117,"id":1603616400,"close":13040.8,"tradeTurnover":6235.7882,"open":13065.1},{"amount":0.478,"high":13064.2,"vol":478,"low":13010.2,"count":125,"id":1603620000,"close":13028.5,"tradeTurnover":6232.2428,"open":13047.1},{"amount":0.534,"high":13061.5,"vol":534,"low":12852.9,"count":123,"id":1603623600,"close":12897.6,"tradeTurnover":6918.1226,"open":13061.5},{"amount":0.444,"high":13069.7,"vol":444,"low":12893.2,"count":117,"id":1603627200,"close":12964.3,"tradeTurnover":5755.8712,"open":12908.3},{"amount":0.498,"high":13071.9,"vol":498,"low":12891.8,"count":119,"id":1603630800,"close":12949.3,"tradeTurnover":6465.078,"open":13001.3},{"amount":0.468,"high":13077.7,"vol":468,"low":12900.0,"count":116,"id":1603634400,"close":12946.8,"tradeTurnover":6075.4554,"open":12975.8},{"amount":0.47,"high":13069.1,"vol":470,"low":12883.3,"count":119,"id":1603638000,"close":12883.3,"tradeTurnover":6097.1072,"open":12975.2},{"amount":0.482,"high":13067.9,"vol":482,"low":12877.5,"count":118,"id":1603641600,"close":12978.7,"tradeTurnover":6256.4472,"open":12916.2},{"amount":0.47,"high":13087.5,"vol":470,"low":12922.7,"count":117,"id":1603645200,"close":13004.4,"tradeTurnover":6108.3892,"open":13008.0},{"amount":0.468,"high":13067.6,"vol":468,"low":12893.6,"count":118,"id":1603648800,"close":12957.2,"tradeTurnover":6079.1484,"open":12972.8},{"amount":0.442,"high":13066.9,"vol":442,"low":12916.6,"count":118,"id":1603652400,"close":13021.8,"tradeTurnover":5746.5548,"open":12996.5},{"amount":0.508,"high":13081.5,"vol":508,"low":12944.9,"count":120,"id":1603656000,"close":12985.4,"tradeTurnover":6616.9872,"open":12992.9},{"amount":0.508,"high":13068.6,"vol":508,"low":12921.4,"count":122,"id":1603659600,"close":13011.2,"tradeTurnover":6614.816,"open":12999.9},{"amount":0.486,"high":13073.8,"vol":486,"low":12911.9,"count":121,"id":1603663200,"close":12959.4,"tradeTurnover":6320.907,"open":12979.6},{"amount":0.452,"high":13085.2,"vol":452,"low":12927.8,"count":113,"id":1603666800,"close":13032.1,"tradeTurnover":5878.6442,"open":12963.4},{"amount":0.482,"high":13076.7,"vol":482,"low":12918.3,"count":121,"id":1603670400,"close":13001.0,"tradeTurnover":6263.698,"open":12964.2},{"amount":0.478,"high":13096.4,"vol":478,"low":12991.2,"count":124,"id":1603674000,"close":13053.7,"tradeTurnover":6232.2328,"open":13040.0},{"amount":0.488,"high":13185.7,"vol":488,"low":12985.1,"count":121,"id":1603677600,"close":13064.4,"tradeTurnover":6387.534,"open":13060.6},{"amount":0.486,"high":13187.2,"vol":486,"low":12984.1,"count":135,"id":1603681200,"close":13092.8,"tradeTurnover":6369.0272,"open":13032.3},{"amount":0.51,"high":13181.6,"vol":510,"low":12962.3,"count":131,"id":1603684800,"close":13132.6,"tradeTurnover":6679.829,"open":13092.0},{"amount":0.506,"high":13205.3,"vol":506,"low":13025.3,"count":126,"id":1603688400,"close":13092.1,"tradeTurnover":6641.2128,"open":13129.2},{"amount":1.616,"high":13188.1,"vol":1616,"low":12989.8,"count":141,"id":1603692000,"close":13071.4,"tradeTurnover":21170.8224,"open":13121.8},{"amount":3.746,"high":13100.0,"vol":3746,"low":12965.2,"count":110,"id":1603695600,"close":13038.7,"tradeTurnover":48924.8902,"open":13061.0},{"amount":8.966,"high":13102.0,"vol":8966,"low":12852.8,"count":173,"id":1603699200,"close":13039.3,"tradeTurnover":116525.5534,"open":13030.9},{"amount":4.48,"high":13088.4,"vol":4480,"low":13039.8,"count":124,"id":1603702800,"close":13075.9,"tradeTurnover":58521.1714,"open":13047.1},{"amount":4.272,"high":13100.0,"vol":4272,"low":13060.2,"count":130,"id":1603706400,"close":13100.0,"tradeTurnover":55895.9778,"open":13072.1},{"amount":29.798,"high":13159.0,"vol":29798,"low":13100.0,"count":230,"id":1603710000,"close":13138.4,"tradeTurnover":391138.024,"open":13100.0},{"amount":5.154,"high":13200.0,"vol":5154,"low":13100.0,"count":188,"id":1603713600,"close":13149.8,"tradeTurnover":67694.652,"open":13138.8},{"amount":35.608,"high":13351.5,"vol":35608,"low":13133.1,"count":328,"id":1603717200,"close":13205.8,"tradeTurnover":472780.3394,"open":13150.0},{"amount":31.748,"high":13280.0,"vol":31748,"low":13144.1,"count":235,"id":1603720800,"close":13166.1,"tradeTurnover":418744.5588,"open":13203.0},{"amount":36.53,"high":13165.2,"vol":36530,"low":12903.8,"count":384,"id":1603724400,"close":12978.0,"tradeTurnover":476940.3296,"open":13159.0},{"amount":35.018,"high":13069.8,"vol":35018,"low":12850.5,"count":323,"id":1603728000,"close":12869.6,"tradeTurnover":453288.918,"open":12965.0},{"amount":92.628,"high":12941.5,"vol":92628,"low":12583.9,"count":560,"id":1603731600,"close":12873.8,"tradeTurnover":1185973.467,"open":12879.2},{"amount":4.302,"high":12954.5,"vol":4302,"low":12820.4,"count":128,"id":1603735200,"close":12946.8,"tradeTurnover":55481.0054,"open":12856.2},{"amount":13.83,"high":12953.5,"vol":13830,"low":12914.1,"count":118,"id":1603738800,"close":12953.4,"tradeTurnover":179112.1598,"open":12945.6},{"amount":17.172,"high":13007.5,"vol":17172,"low":12953.5,"count":132,"id":1603742400,"close":12983.4,"tradeTurnover":223230.2122,"open":12953.5},{"amount":3.212,"high":13007.5,"vol":3212,"low":12982.7,"count":59,"id":1603746000,"close":12993.8,"tradeTurnover":41767.8906,"open":12983.1},{"amount":1.504,"high":13007.5,"vol":1504,"low":12974.0,"count":74,"id":1603749600,"close":13007.5,"tradeTurnover":19543.3568,"open":13002.1},{"amount":3.454,"high":13061.2,"vol":3454,"low":13007.5,"count":101,"id":1603753200,"close":13033.7,"tradeTurnover":45001.601,"open":13007.5},{"amount":8.784,"high":13105.0,"vol":8784,"low":13028.3,"count":98,"id":1603756800,"close":13067.1,"tradeTurnover":114871.8246,"open":13029.2},{"amount":11.592,"high":13074.4,"vol":11592,"low":13051.5,"count":66,"id":1603760400,"close":13061.7,"tradeTurnover":151386.9038,"open":13074.3},{"amount":19.298,"high":13097.6,"vol":19298,"low":13040.1,"count":109,"id":1603764000,"close":13049.7,"tradeTurnover":252061.019,"open":13061.7},{"amount":22.992,"high":13080.0,"vol":22992,"low":13057.1,"count":69,"id":1603767600,"close":13070.4,"tradeTurnover":300453.9788,"open":13057.6},{"amount":14.396,"high":13175.0,"vol":14396,"low":13079.6,"count":59,"id":1603771200,"close":13103.3,"tradeTurnover":188461.9156,"open":13080.0},{"amount":5.058,"high":13121.3,"vol":5058,"low":13069.7,"count":44,"id":1603774800,"close":13073.6,"tradeTurnover":66201.3552,"open":13121.3},{"amount":9.106,"high":13149.0,"vol":9106,"low":13069.6,"count":107,"id":1603778400,"close":13103.4,"tradeTurnover":119104.8906,"open":13074.9},{"amount":73.95,"high":13169.8,"vol":73950,"low":12992.4,"count":305,"id":1603782000,"close":13130.0,"tradeTurnover":968195.155,"open":13103.3},{"amount":18.732,"high":13148.4,"vol":18732,"low":13044.0,"count":135,"id":1603785600,"close":13123.8,"tradeTurnover":245533.5448,"open":13135.1},{"amount":13.756,"high":13131.8,"vol":13756,"low":13075.7,"count":102,"id":1603789200,"close":13131.7,"tradeTurnover":180253.7708,"open":13115.5},{"amount":154.108,"high":13252.0,"vol":154108,"low":13063.4,"count":525,"id":1603792800,"close":13216.9,"tradeTurnover":2029983.656,"open":13134.8},{"amount":170.09,"high":13590.1,"vol":170090,"low":13213.5,"count":591,"id":1603796400,"close":13395.8,"tradeTurnover":2276279.742,"open":13218.8},{"amount":48.928,"high":13414.0,"vol":48928,"low":13331.7,"count":216,"id":1603800000,"close":13376.9,"tradeTurnover":654585.9108,"open":13395.9},{"amount":63.294,"high":13490.9,"vol":63294,"low":13329.8,"count":316,"id":1603803600,"close":13384.3,"tradeTurnover":848130.9212,"open":13376.5},{"amount":12.892,"high":13415.8,"vol":12892,"low":13344.8,"count":124,"id":1603807200,"close":13398.2,"tradeTurnover":172618.6864,"open":13392.6},{"amount":93.22,"high":13626.7,"vol":93220,"low":13398.2,"count":476,"id":1603810800,"close":13598.5,"tradeTurnover":1262695.5466,"open":13398.2},{"amount":85.45,"high":13639.9,"vol":85450,"low":13520.2,"count":435,"id":1603814400,"close":13639.9,"tradeTurnover":1161481.4136,"open":13595.8},{"amount":191.812,"high":13826.7,"vol":191812,"low":13589.0,"count":711,"id":1603818000,"close":13688.1,"tradeTurnover":2628428.3788,"open":13640.0},{"amount":65.434,"high":13745.0,"vol":65434,"low":13528.2,"count":410,"id":1603821600,"close":13630.1,"tradeTurnover":891541.8394,"open":13685.0},{"amount":5.788,"high":13659.8,"vol":5788,"low":13595.4,"count":65,"id":1603825200,"close":13637.1,"tradeTurnover":78836.2578,"open":13629.4},{"amount":163.104,"high":13805.1,"vol":163104,"low":13582.6,"count":537,"id":1603828800,"close":13616.6,"tradeTurnover":2234040.3544,"open":13644.4},{"amount":9.884,"high":13753.5,"vol":9884,"low":13609.8,"count":101,"id":1603832400,"close":13705.5,"tradeTurnover":135406.4752,"open":13609.8},{"amount":7.436,"high":13739.9,"vol":7436,"low":13658.2,"count":100,"id":1603836000,"close":13739.9,"tradeTurnover":101840.3508,"open":13705.4},{"amount":17.086,"high":13794.6,"vol":17086,"low":13582.6,"count":234,"id":1603839600,"close":13649.6,"tradeTurnover":233971.8448,"open":13739.9},{"amount":24.108,"high":13745.2,"vol":24108,"low":13618.8,"count":177,"id":1603843200,"close":13701.7,"tradeTurnover":330206.5694,"open":13645.9},{"amount":15.892,"high":13725.6,"vol":15892,"low":13647.9,"count":151,"id":1603846800,"close":13702.6,"tradeTurnover":217816.7008,"open":13702.1},{"amount":46.548,"high":13832.2,"vol":46548,"low":13680.2,"count":274,"id":1603850400,"close":13811.6,"tradeTurnover":640636.0352,"open":13701.7},{"amount":67.896,"high":13820.3,"vol":67896,"low":13717.5,"count":320,"id":1603854000,"close":13777.0,"tradeTurnover":935838.2238,"open":13818.5},{"amount":33.156,"high":13807.2,"vol":33156,"low":13710.0,"count":210,"id":1603857600,"close":13735.7,"tradeTurnover":455941.234,"open":13767.3},{"amount":32.076,"high":13753.9,"vol":32076,"low":13671.3,"count":198,"id":1603861200,"close":13715.8,"tradeTurnover":439612.64,"open":13735.5},{"amount":14.756,"high":13757.0,"vol":14756,"low":13694.9,"count":122,"id":1603864800,"close":13701.3,"tradeTurnover":202602.5164,"open":13715.9},{"amount":155.534,"high":13708.7,"vol":155534,"low":13550.0,"count":635,"id":1603868400,"close":13674.2,"tradeTurnover":2117935.0928,"open":13701.2},{"amount":29.846,"high":13691.7,"vol":29846,"low":13584.0,"count":240,"id":1603872000,"close":13691.7,"tradeTurnover":407073.1398,"open":13673.0},{"amount":104.542,"high":13707.5,"vol":104542,"low":13573.5,"count":377,"id":1603875600,"close":13587.1,"tradeTurnover":1425079.9344,"open":13689.3},{"amount":73.818,"high":13618.0,"vol":73818,"low":13504.7,"count":358,"id":1603879200,"close":13552.7,"tradeTurnover":1001666.0908,"open":13584.6},{"amount":176.544,"high":13565.4,"vol":176544,"low":13330.0,"count":1004,"id":1603882800,"close":13336.4,"tradeTurnover":2369166.1492,"open":13552.6},{"amount":289.73,"high":13385.0,"vol":289730,"low":13173.9,"count":968,"id":1603886400,"close":13300.3,"tradeTurnover":3846751.7166,"open":13331.5},{"amount":139.822,"high":13340.0,"vol":139822,"low":13122.9,"count":612,"id":1603890000,"close":13129.9,"tradeTurnover":1848876.932,"open":13300.2},{"amount":367.876,"high":13168.2,"vol":367876,"low":12915.9,"count":1168,"id":1603893600,"close":13082.2,"tradeTurnover":4802516.9818,"open":13123.4},{"amount":84.044,"high":13235.2,"vol":84044,"low":13052.3,"count":375,"id":1603897200,"close":13221.2,"tradeTurnover":1106883.1282,"open":13077.1},{"amount":29.566,"high":13218.7,"vol":29566,"low":13050.0,"count":244,"id":1603900800,"close":13145.1,"tradeTurnover":388697.4104,"open":13218.7},{"amount":53.336,"high":13204.9,"vol":53336,"low":13006.6,"count":299,"id":1603904400,"close":13176.7,"tradeTurnover":700385.2784,"open":13145.1},{"amount":34.164,"high":13219.6,"vol":34164,"low":13131.0,"count":218,"id":1603908000,"close":13196.5,"tradeTurnover":450210.5778,"open":13171.0},{"amount":22.158,"high":13237.4,"vol":22158,"low":13145.0,"count":185,"id":1603911600,"close":13154.9,"tradeTurnover":292020.0438,"open":13200.0},{"amount":4.548,"high":13211.8,"vol":4548,"low":13147.4,"count":75,"id":1603915200,"close":13198.1,"tradeTurnover":59991.1118,"open":13154.5},{"amount":3.52,"high":13196.5,"vol":3520,"low":13100.2,"count":68,"id":1603918800,"close":13190.1,"tradeTurnover":46175.428,"open":13193.5},{"amount":3.122,"high":13267.5,"vol":3122,"low":13185.4,"count":72,"id":1603922400,"close":13252.0,"tradeTurnover":41304.2018,"open":13185.4},{"amount":14.768,"high":13282.3,"vol":14768,"low":13235.9,"count":86,"id":1603926000,"close":13265.9,"tradeTurnover":195689.0764,"open":13242.1},{"amount":19.968,"high":13294.7,"vol":19968,"low":13237.4,"count":98,"id":1603929600,"close":13245.1,"tradeTurnover":264834.1944,"open":13253.9},{"amount":35.282,"high":13285.3,"vol":35282,"low":13166.3,"count":192,"id":1603933200,"close":13274.2,"tradeTurnover":465789.6302,"open":13244.6},{"amount":9.748,"high":13277.7,"vol":9748,"low":13212.2,"count":119,"id":1603936800,"close":13241.1,"tradeTurnover":129016.0684,"open":13275.9},{"amount":27.3,"high":13262.5,"vol":27300,"low":13174.6,"count":199,"id":1603940400,"close":13262.5,"tradeTurnover":360589.8982,"open":13237.1},{"amount":18.904,"high":13277.7,"vol":18904,"low":13229.5,"count":109,"id":1603944000,"close":13229.5,"tradeTurnover":250713.2812,"open":13269.1},{"amount":15.822,"high":13274.8,"vol":15822,"low":13228.5,"count":134,"id":1603947600,"close":13274.8,"tradeTurnover":209781.909,"open":13228.5},{"amount":91.246,"high":13323.0,"vol":91246,"low":13242.3,"count":294,"id":1603951200,"close":13255.0,"tradeTurnover":1211271.2788,"open":13274.8},{"amount":187.622,"high":13269.3,"vol":187622,"low":13123.1,"count":506,"id":1603954800,"close":13142.4,"tradeTurnover":2478299.7074,"open":13255.0},{"amount":69.532,"high":13182.4,"vol":69532,"low":13094.1,"count":226,"id":1603958400,"close":13124.8,"tradeTurnover":914157.2418,"open":13145.9},{"amount":23.184,"high":13197.1,"vol":23184,"low":13129.5,"count":141,"id":1603962000,"close":13183.7,"tradeTurnover":305485.9524,"open":13129.5},{"amount":121.146,"high":13187.5,"vol":121146,"low":13053.1,"count":442,"id":1603965600,"close":13105.2,"tradeTurnover":1590026.4416,"open":13184.8},{"amount":47.498,"high":13171.4,"vol":47498,"low":13060.1,"count":262,"id":1603969200,"close":13060.1,"tradeTurnover":623578.149,"open":13105.1},{"amount":126.552,"high":13145.8,"vol":126552,"low":12977.9,"count":481,"id":1603972800,"close":13131.8,"tradeTurnover":1652549.311,"open":13056.9},{"amount":100.482,"high":13237.2,"vol":100482,"low":13102.0,"count":325,"id":1603976400,"close":13230.0,"tradeTurnover":1326403.7206,"open":13131.7},{"amount":253.258,"high":13476.1,"vol":253258,"low":13231.0,"count":752,"id":1603980000,"close":13420.8,"tradeTurnover":3384941.438,"open":13231.0},{"amount":64.71,"high":13458.7,"vol":64710,"low":13358.7,"count":269,"id":1603983600,"close":13420.6,"tradeTurnover":869052.3804,"open":13416.0},{"amount":120.24,"high":13594.5,"vol":120240,"low":13391.8,"count":570,"id":1603987200,"close":13535.9,"tradeTurnover":1626567.8278,"open":13421.9}],"id":"","rep":"market.BTC-USDT.kline.60min","status":"ok"} +2024-01-18 11:13:17.045 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:39] - 请求 KLine 数据用户收到的原始数据:{"id":"","rep":"market.BTC-USDT.kline.60min","ts":1705547595945,"wsid":19750305,"status":"ok","data":[{"id":1603270800,"open":12198.0,"close":12196.7,"high":12300.0,"low":11715.8,"amount":0.276,"vol":276,"trade_turnover":3315.9104,"count":39},{"id":1603274400,"open":12196.7,"close":12277.9,"high":12289.9,"low":12111.0,"amount":0.198,"vol":198,"trade_turnover":2420.7728,"count":21},{"id":1603278000,"open":12111.0,"close":12000.0,"high":12277.9,"low":12000.0,"amount":0.012,"vol":12,"trade_turnover":145.2238,"count":5},{"id":1603281600,"open":12078.0,"close":12497.4,"high":12498.0,"low":12078.0,"amount":0.084,"vol":84,"trade_turnover":1040.0504,"count":12},{"id":1603285200,"open":12495.6,"close":12373.5,"high":12495.6,"low":12282.9,"amount":1.122,"vol":1122,"trade_turnover":13905.3124,"count":112},{"id":1603288800,"open":12412.9,"close":12689.9,"high":12807.6,"low":12358.1,"amount":5.29,"vol":5290,"trade_turnover":66852.128,"count":155},{"id":1603292400,"open":12692.8,"close":12701.9,"high":12778.7,"low":12573.2,"amount":1.174,"vol":1174,"trade_turnover":14907.367,"count":113},{"id":1603296000,"open":12679.7,"close":12835.9,"high":12920.9,"low":12624.8,"amount":1.156,"vol":1156,"trade_turnover":14802.449,"count":115},{"id":1603299600,"open":12848.3,"close":12754.2,"high":12908.3,"low":12687.5,"amount":1.12,"vol":1120,"trade_turnover":14345.7324,"count":115},{"id":1603303200,"open":12743.7,"close":12740.2,"high":12849.0,"low":12668.3,"amount":1.106,"vol":1106,"trade_turnover":14105.3504,"count":114},{"id":1603306800,"open":12729.5,"close":12650.3,"high":12843.1,"low":12597.2,"amount":1.032,"vol":1032,"trade_turnover":13125.4568,"count":112},{"id":1603310400,"open":12666.8,"close":12807.0,"high":12848.4,"low":12610.2,"amount":1.154,"vol":1154,"trade_turnover":14680.638,"count":116},{"id":1603314000,"open":12866.0,"close":12938.9,"high":13005.1,"low":12748.2,"amount":1.164,"vol":1164,"trade_turnover":14976.9366,"count":114},{"id":1603317600,"open":12921.0,"close":13122.0,"high":13211.2,"low":12865.7,"amount":1.174,"vol":1174,"trade_turnover":15285.2446,"count":114},{"id":1603321200,"open":13153.2,"close":12829.8,"high":13173.2,"low":12688.6,"amount":1.172,"vol":1172,"trade_turnover":15060.9938,"count":117},{"id":1603324800,"open":12793.1,"close":12885.9,"high":12988.1,"low":12764.4,"amount":1.17,"vol":1170,"trade_turnover":15046.2046,"count":117},{"id":1603328400,"open":12860.4,"close":12757.5,"high":12972.6,"low":12757.5,"amount":1.158,"vol":1158,"trade_turnover":14882.4656,"count":118},{"id":1603332000,"open":12824.1,"close":12788.8,"high":12848.0,"low":12729.0,"amount":1.124,"vol":1124,"trade_turnover":14368.7948,"count":115},{"id":1603335600,"open":12791.7,"close":12767.2,"high":12834.4,"low":12729.0,"amount":1.194,"vol":1194,"trade_turnover":15268.9298,"count":111},{"id":1603339200,"open":12729.0,"close":12762.2,"high":12778.3,"low":12729.0,"amount":1.152,"vol":1152,"trade_turnover":14695.4876,"count":115},{"id":1603342800,"open":12763.1,"close":12813.8,"high":12842.0,"low":12730.6,"amount":1.21,"vol":1210,"trade_turnover":15440.8162,"count":119},{"id":1603346400,"open":12795.0,"close":12729.1,"high":12795.0,"low":12728.0,"amount":1.188,"vol":1188,"trade_turnover":15128.0098,"count":123},{"id":1603350000,"open":12728.6,"close":12730.6,"high":12730.6,"low":12728.3,"amount":1.266,"vol":1266,"trade_turnover":16115.1306,"count":112},{"id":1603353600,"open":12730.3,"close":12770.1,"high":12921.5,"low":12729.9,"amount":1.35,"vol":1350,"trade_turnover":17233.7326,"count":127},{"id":1603357200,"open":12824.9,"close":12780.4,"high":12872.1,"low":12760.1,"amount":0.98,"vol":980,"trade_turnover":12553.9826,"count":99},{"id":1603360800,"open":12784.9,"close":12934.2,"high":13002.7,"low":12775.6,"amount":0.266,"vol":266,"trade_turnover":3415.023,"count":30},{"id":1603364400,"open":12977.0,"close":13045.0,"high":13057.0,"low":12886.6,"amount":1.004,"vol":1004,"trade_turnover":13020.8576,"count":117},{"id":1603368000,"open":12958.5,"close":12847.9,"high":12973.4,"low":12751.6,"amount":1.134,"vol":1134,"trade_turnover":14594.2752,"count":111},{"id":1603371600,"open":12882.7,"close":12931.0,"high":13000.8,"low":12743.0,"amount":1.152,"vol":1152,"trade_turnover":14877.7314,"count":114},{"id":1603375200,"open":12890.4,"close":12917.8,"high":12995.3,"low":12783.9,"amount":1.182,"vol":1182,"trade_turnover":15224.4716,"count":115},{"id":1603378800,"open":12918.8,"close":12953.0,"high":13031.2,"low":12817.9,"amount":1.176,"vol":1176,"trade_turnover":15197.208,"count":117},{"id":1603382400,"open":12923.1,"close":13055.6,"high":13100.2,"low":12865.6,"amount":1.146,"vol":1146,"trade_turnover":14851.9604,"count":119},{"id":1603386000,"open":12967.6,"close":13082.7,"high":13105.7,"low":12835.5,"amount":1.534,"vol":1534,"trade_turnover":19927.8288,"count":124},{"id":1603389600,"open":13020.4,"close":13016.4,"high":13115.0,"low":12938.7,"amount":1.268,"vol":1268,"trade_turnover":16505.4738,"count":117},{"id":1603393200,"open":13028.3,"close":12970.6,"high":13171.2,"low":12961.8,"amount":1.13,"vol":1130,"trade_turnover":14762.952,"count":112},{"id":1603396800,"open":13016.7,"close":13089.3,"high":13216.1,"low":12998.5,"amount":1.206,"vol":1206,"trade_turnover":15807.1226,"count":117},{"id":1603400400,"open":13136.0,"close":13092.0,"high":13203.7,"low":12932.9,"amount":1.332,"vol":1332,"trade_turnover":17423.4422,"count":114},{"id":1603404000,"open":13119.4,"close":13055.9,"high":13250.5,"low":12984.7,"amount":1.21,"vol":1210,"trade_turnover":15876.0632,"count":114},{"id":1603407600,"open":13059.4,"close":12890.4,"high":13126.5,"low":12857.2,"amount":1.286,"vol":1286,"trade_turnover":16688.422,"count":116},{"id":1603411200,"open":12929.7,"close":12892.2,"high":12994.0,"low":12751.6,"amount":1.502,"vol":1502,"trade_turnover":19331.1596,"count":131},{"id":1603414800,"open":12921.7,"close":12898.3,"high":13003.2,"low":12786.0,"amount":1.386,"vol":1386,"trade_turnover":17904.8902,"count":121},{"id":1603418400,"open":12951.6,"close":12975.1,"high":13054.0,"low":12800.7,"amount":1.416,"vol":1416,"trade_turnover":18306.6204,"count":122},{"id":1603422000,"open":12967.3,"close":12947.0,"high":13030.7,"low":12875.0,"amount":1.19,"vol":1190,"trade_turnover":15409.7984,"count":118},{"id":1603425600,"open":12925.2,"close":12852.0,"high":13047.3,"low":12832.8,"amount":1.022,"vol":1022,"trade_turnover":13214.4388,"count":127},{"id":1603429200,"open":12859.0,"close":12931.1,"high":12991.7,"low":12841.2,"amount":0.478,"vol":478,"trade_turnover":6180.2486,"count":118},{"id":1603432800,"open":12935.9,"close":12939.6,"high":13014.1,"low":12871.9,"amount":0.522,"vol":522,"trade_turnover":6759.0324,"count":132},{"id":1603436400,"open":12923.1,"close":12925.4,"high":12998.9,"low":12917.1,"amount":0.476,"vol":476,"trade_turnover":6163.3118,"count":118},{"id":1603440000,"open":12942.2,"close":12962.6,"high":13014.0,"low":12916.1,"amount":0.508,"vol":508,"trade_turnover":6585.3656,"count":122},{"id":1603443600,"open":12970.5,"close":12926.4,"high":13012.5,"low":12909.9,"amount":0.564,"vol":564,"trade_turnover":7308.8828,"count":124},{"id":1603447200,"open":13001.2,"close":13007.7,"high":13059.5,"low":12925.7,"amount":0.536,"vol":536,"trade_turnover":6957.8796,"count":124},{"id":1603450800,"open":13025.4,"close":12970.6,"high":13078.4,"low":12906.5,"amount":0.486,"vol":486,"trade_turnover":6326.1434,"count":122},{"id":1603454400,"open":12963.9,"close":12935.4,"high":13025.0,"low":12850.8,"amount":0.494,"vol":494,"trade_turnover":6396.0984,"count":117},{"id":1603458000,"open":12913.3,"close":12951.7,"high":13043.3,"low":12911.0,"amount":0.466,"vol":466,"trade_turnover":6049.1412,"count":117},{"id":1603461600,"open":12999.6,"close":12858.8,"high":13006.4,"low":12840.4,"amount":0.46,"vol":460,"trade_turnover":5941.815,"count":116},{"id":1603465200,"open":12885.7,"close":12881.9,"high":12932.9,"low":12826.5,"amount":0.492,"vol":492,"trade_turnover":6340.214,"count":117},{"id":1603468800,"open":12854.4,"close":12784.1,"high":12933.5,"low":12744.4,"amount":0.484,"vol":484,"trade_turnover":6205.4138,"count":123},{"id":1603472400,"open":12832.3,"close":12847.7,"high":12893.1,"low":12730.1,"amount":0.562,"vol":562,"trade_turnover":7218.9184,"count":152},{"id":1603476000,"open":12874.1,"close":12915.7,"high":12939.3,"low":12751.4,"amount":0.53,"vol":530,"trade_turnover":6825.7004,"count":128},{"id":1603479600,"open":12867.9,"close":12972.9,"high":12972.9,"low":12786.6,"amount":0.444,"vol":444,"trade_turnover":5727.7452,"count":117},{"id":1603483200,"open":12956.7,"close":12991.6,"high":13002.2,"low":12842.9,"amount":0.492,"vol":492,"trade_turnover":6375.1566,"count":116},{"id":1603486800,"open":13004.3,"close":12943.5,"high":13004.3,"low":12936.6,"amount":0.5,"vol":500,"trade_turnover":6485.468,"count":125},{"id":1603490400,"open":12923.6,"close":12989.2,"high":13010.3,"low":12884.7,"amount":0.492,"vol":492,"trade_turnover":6376.1492,"count":120},{"id":1603494000,"open":12974.9,"close":12884.6,"high":13024.4,"low":12884.6,"amount":0.51,"vol":510,"trade_turnover":6622.3406,"count":121},{"id":1603497600,"open":12973.7,"close":12953.9,"high":13018.3,"low":12811.1,"amount":0.488,"vol":488,"trade_turnover":6317.7938,"count":120},{"id":1603501200,"open":12927.5,"close":12934.2,"high":13018.1,"low":12872.8,"amount":0.482,"vol":482,"trade_turnover":6242.4178,"count":117},{"id":1603504800,"open":12971.9,"close":12989.1,"high":13003.9,"low":12903.3,"amount":0.484,"vol":484,"trade_turnover":6278.1756,"count":117},{"id":1603508400,"open":13000.1,"close":12975.9,"high":13013.4,"low":12938.3,"amount":0.474,"vol":474,"trade_turnover":6157.7096,"count":122},{"id":1603512000,"open":12989.7,"close":12963.3,"high":13009.4,"low":12905.5,"amount":0.526,"vol":526,"trade_turnover":6831.5658,"count":124},{"id":1603515600,"open":12910.5,"close":12989.7,"high":13041.8,"low":12875.3,"amount":0.522,"vol":522,"trade_turnover":6768.8994,"count":127},{"id":1603519200,"open":12994.7,"close":13003.6,"high":13058.1,"low":12908.8,"amount":0.49,"vol":490,"trade_turnover":6370.5714,"count":120},{"id":1603522800,"open":13011.9,"close":13004.2,"high":13037.8,"low":12981.7,"amount":0.478,"vol":478,"trade_turnover":6218.9722,"count":120},{"id":1603526400,"open":13003.0,"close":12998.2,"high":13030.6,"low":12899.4,"amount":0.52,"vol":520,"trade_turnover":6754.958,"count":124},{"id":1603530000,"open":12998.2,"close":12990.6,"high":13020.3,"low":12893.6,"amount":0.454,"vol":454,"trade_turnover":5891.0574,"count":115},{"id":1603533600,"open":12996.4,"close":13030.1,"high":13059.1,"low":12913.2,"amount":0.502,"vol":502,"trade_turnover":6525.9004,"count":124},{"id":1603537200,"open":12988.4,"close":13033.2,"high":13068.3,"low":12940.2,"amount":0.468,"vol":468,"trade_turnover":6091.0376,"count":119},{"id":1603540800,"open":13035.3,"close":13006.5,"high":13071.8,"low":12978.9,"amount":0.468,"vol":468,"trade_turnover":6102.5902,"count":123},{"id":1603544400,"open":13038.8,"close":12985.9,"high":13066.7,"low":12928.1,"amount":0.534,"vol":534,"trade_turnover":6950.4268,"count":123},{"id":1603548000,"open":12986.3,"close":13042.0,"high":13100.1,"low":12960.5,"amount":0.47,"vol":470,"trade_turnover":6124.2178,"count":100},{"id":1603551600,"open":13038.4,"close":13102.2,"high":13196.5,"low":13038.4,"amount":0.456,"vol":456,"trade_turnover":5989.6362,"count":120},{"id":1603555200,"open":13136.8,"close":13052.7,"high":13176.6,"low":12984.6,"amount":0.458,"vol":458,"trade_turnover":5976.331,"count":121},{"id":1603558800,"open":13006.2,"close":13177.8,"high":13177.8,"low":13003.2,"amount":0.452,"vol":452,"trade_turnover":5911.7058,"count":118},{"id":1603562400,"open":13127.7,"close":13080.8,"high":13170.7,"low":13023.0,"amount":0.468,"vol":468,"trade_turnover":6122.375,"count":119},{"id":1603566000,"open":13040.7,"close":13148.4,"high":13179.3,"low":13014.2,"amount":0.468,"vol":468,"trade_turnover":6126.4278,"count":120},{"id":1603569600,"open":13073.5,"close":13090.1,"high":13179.6,"low":12992.5,"amount":0.47,"vol":470,"trade_turnover":6151.4758,"count":119},{"id":1603573200,"open":13035.4,"close":12993.9,"high":13148.7,"low":12980.7,"amount":0.458,"vol":458,"trade_turnover":5981.071,"count":117},{"id":1603576800,"open":13040.7,"close":13041.1,"high":13112.1,"low":12975.6,"amount":0.478,"vol":478,"trade_turnover":6225.4216,"count":118},{"id":1603580400,"open":13012.6,"close":13184.3,"high":13184.3,"low":13009.3,"amount":0.472,"vol":472,"trade_turnover":6173.4244,"count":118},{"id":1603584000,"open":13080.8,"close":13154.3,"high":13170.4,"low":13007.7,"amount":0.46,"vol":460,"trade_turnover":6024.09,"count":115},{"id":1603587600,"open":13092.0,"close":13196.1,"high":13196.8,"low":13024.0,"amount":0.398,"vol":398,"trade_turnover":5217.5364,"count":102},{"id":1603591200,"open":13124.7,"close":13082.4,"high":13175.1,"low":13035.0,"amount":0.476,"vol":476,"trade_turnover":6228.6596,"count":120},{"id":1603594800,"open":13049.1,"close":13259.0,"high":13383.8,"low":13049.1,"amount":0.578,"vol":578,"trade_turnover":7629.3886,"count":137},{"id":1603598400,"open":13277.0,"close":13243.4,"high":13369.0,"low":13216.0,"amount":0.47,"vol":470,"trade_turnover":6247.955,"count":122},{"id":1603602000,"open":13285.3,"close":13017.3,"high":13353.3,"low":13010.1,"amount":0.61,"vol":610,"trade_turnover":8048.8598,"count":134},{"id":1603605600,"open":13022.5,"close":13060.3,"high":13105.7,"low":13018.2,"amount":0.486,"vol":486,"trade_turnover":6344.1474,"count":118},{"id":1603609200,"open":13048.5,"close":13078.1,"high":13112.1,"low":13022.0,"amount":0.464,"vol":464,"trade_turnover":6061.5416,"count":120},{"id":1603612800,"open":13077.2,"close":13046.0,"high":13091.0,"low":13017.2,"amount":0.464,"vol":464,"trade_turnover":6055.3734,"count":120},{"id":1603616400,"open":13065.1,"close":13040.8,"high":13084.0,"low":13014.2,"amount":0.478,"vol":478,"trade_turnover":6235.7882,"count":117},{"id":1603620000,"open":13047.1,"close":13028.5,"high":13064.2,"low":13010.2,"amount":0.478,"vol":478,"trade_turnover":6232.2428,"count":125},{"id":1603623600,"open":13061.5,"close":12897.6,"high":13061.5,"low":12852.9,"amount":0.534,"vol":534,"trade_turnover":6918.1226,"count":123},{"id":1603627200,"open":12908.3,"close":12964.3,"high":13069.7,"low":12893.2,"amount":0.444,"vol":444,"trade_turnover":5755.8712,"count":117},{"id":1603630800,"open":13001.3,"close":12949.3,"high":13071.9,"low":12891.8,"amount":0.498,"vol":498,"trade_turnover":6465.078,"count":119},{"id":1603634400,"open":12975.8,"close":12946.8,"high":13077.7,"low":12900.0,"amount":0.468,"vol":468,"trade_turnover":6075.4554,"count":116},{"id":1603638000,"open":12975.2,"close":12883.3,"high":13069.1,"low":12883.3,"amount":0.47,"vol":470,"trade_turnover":6097.1072,"count":119},{"id":1603641600,"open":12916.2,"close":12978.7,"high":13067.9,"low":12877.5,"amount":0.482,"vol":482,"trade_turnover":6256.4472,"count":118},{"id":1603645200,"open":13008.0,"close":13004.4,"high":13087.5,"low":12922.7,"amount":0.47,"vol":470,"trade_turnover":6108.3892,"count":117},{"id":1603648800,"open":12972.8,"close":12957.2,"high":13067.6,"low":12893.6,"amount":0.468,"vol":468,"trade_turnover":6079.1484,"count":118},{"id":1603652400,"open":12996.5,"close":13021.8,"high":13066.9,"low":12916.6,"amount":0.442,"vol":442,"trade_turnover":5746.5548,"count":118},{"id":1603656000,"open":12992.9,"close":12985.4,"high":13081.5,"low":12944.9,"amount":0.508,"vol":508,"trade_turnover":6616.9872,"count":120},{"id":1603659600,"open":12999.9,"close":13011.2,"high":13068.6,"low":12921.4,"amount":0.508,"vol":508,"trade_turnover":6614.816,"count":122},{"id":1603663200,"open":12979.6,"close":12959.4,"high":13073.8,"low":12911.9,"amount":0.486,"vol":486,"trade_turnover":6320.907,"count":121},{"id":1603666800,"open":12963.4,"close":13032.1,"high":13085.2,"low":12927.8,"amount":0.452,"vol":452,"trade_turnover":5878.6442,"count":113},{"id":1603670400,"open":12964.2,"close":13001.0,"high":13076.7,"low":12918.3,"amount":0.482,"vol":482,"trade_turnover":6263.698,"count":121},{"id":1603674000,"open":13040.0,"close":13053.7,"high":13096.4,"low":12991.2,"amount":0.478,"vol":478,"trade_turnover":6232.2328,"count":124},{"id":1603677600,"open":13060.6,"close":13064.4,"high":13185.7,"low":12985.1,"amount":0.488,"vol":488,"trade_turnover":6387.534,"count":121},{"id":1603681200,"open":13032.3,"close":13092.8,"high":13187.2,"low":12984.1,"amount":0.486,"vol":486,"trade_turnover":6369.0272,"count":135},{"id":1603684800,"open":13092.0,"close":13132.6,"high":13181.6,"low":12962.3,"amount":0.51,"vol":510,"trade_turnover":6679.829,"count":131},{"id":1603688400,"open":13129.2,"close":13092.1,"high":13205.3,"low":13025.3,"amount":0.506,"vol":506,"trade_turnover":6641.2128,"count":126},{"id":1603692000,"open":13121.8,"close":13071.4,"high":13188.1,"low":12989.8,"amount":1.616,"vol":1616,"trade_turnover":21170.8224,"count":141},{"id":1603695600,"open":13061.0,"close":13038.7,"high":13100.0,"low":12965.2,"amount":3.746,"vol":3746,"trade_turnover":48924.8902,"count":110},{"id":1603699200,"open":13030.9,"close":13039.3,"high":13102.0,"low":12852.8,"amount":8.966,"vol":8966,"trade_turnover":116525.5534,"count":173},{"id":1603702800,"open":13047.1,"close":13075.9,"high":13088.4,"low":13039.8,"amount":4.48,"vol":4480,"trade_turnover":58521.1714,"count":124},{"id":1603706400,"open":13072.1,"close":13100.0,"high":13100.0,"low":13060.2,"amount":4.272,"vol":4272,"trade_turnover":55895.9778,"count":130},{"id":1603710000,"open":13100.0,"close":13138.4,"high":13159.0,"low":13100.0,"amount":29.798,"vol":29798,"trade_turnover":391138.024,"count":230},{"id":1603713600,"open":13138.8,"close":13149.8,"high":13200.0,"low":13100.0,"amount":5.154,"vol":5154,"trade_turnover":67694.652,"count":188},{"id":1603717200,"open":13150.0,"close":13205.8,"high":13351.5,"low":13133.1,"amount":35.608,"vol":35608,"trade_turnover":472780.3394,"count":328},{"id":1603720800,"open":13203.0,"close":13166.1,"high":13280.0,"low":13144.1,"amount":31.748,"vol":31748,"trade_turnover":418744.5588,"count":235},{"id":1603724400,"open":13159.0,"close":12978.0,"high":13165.2,"low":12903.8,"amount":36.53,"vol":36530,"trade_turnover":476940.3296,"count":384},{"id":1603728000,"open":12965.0,"close":12869.6,"high":13069.8,"low":12850.5,"amount":35.018,"vol":35018,"trade_turnover":453288.918,"count":323},{"id":1603731600,"open":12879.2,"close":12873.8,"high":12941.5,"low":12583.9,"amount":92.628,"vol":92628,"trade_turnover":1185973.467,"count":560},{"id":1603735200,"open":12856.2,"close":12946.8,"high":12954.5,"low":12820.4,"amount":4.302,"vol":4302,"trade_turnover":55481.0054,"count":128},{"id":1603738800,"open":12945.6,"close":12953.4,"high":12953.5,"low":12914.1,"amount":13.83,"vol":13830,"trade_turnover":179112.1598,"count":118},{"id":1603742400,"open":12953.5,"close":12983.4,"high":13007.5,"low":12953.5,"amount":17.172,"vol":17172,"trade_turnover":223230.2122,"count":132},{"id":1603746000,"open":12983.1,"close":12993.8,"high":13007.5,"low":12982.7,"amount":3.212,"vol":3212,"trade_turnover":41767.8906,"count":59},{"id":1603749600,"open":13002.1,"close":13007.5,"high":13007.5,"low":12974.0,"amount":1.504,"vol":1504,"trade_turnover":19543.3568,"count":74},{"id":1603753200,"open":13007.5,"close":13033.7,"high":13061.2,"low":13007.5,"amount":3.454,"vol":3454,"trade_turnover":45001.601,"count":101},{"id":1603756800,"open":13029.2,"close":13067.1,"high":13105.0,"low":13028.3,"amount":8.784,"vol":8784,"trade_turnover":114871.8246,"count":98},{"id":1603760400,"open":13074.3,"close":13061.7,"high":13074.4,"low":13051.5,"amount":11.592,"vol":11592,"trade_turnover":151386.9038,"count":66},{"id":1603764000,"open":13061.7,"close":13049.7,"high":13097.6,"low":13040.1,"amount":19.298,"vol":19298,"trade_turnover":252061.019,"count":109},{"id":1603767600,"open":13057.6,"close":13070.4,"high":13080.0,"low":13057.1,"amount":22.992,"vol":22992,"trade_turnover":300453.9788,"count":69},{"id":1603771200,"open":13080.0,"close":13103.3,"high":13175.0,"low":13079.6,"amount":14.396,"vol":14396,"trade_turnover":188461.9156,"count":59},{"id":1603774800,"open":13121.3,"close":13073.6,"high":13121.3,"low":13069.7,"amount":5.058,"vol":5058,"trade_turnover":66201.3552,"count":44},{"id":1603778400,"open":13074.9,"close":13103.4,"high":13149.0,"low":13069.6,"amount":9.106,"vol":9106,"trade_turnover":119104.8906,"count":107},{"id":1603782000,"open":13103.3,"close":13130.0,"high":13169.8,"low":12992.4,"amount":73.95,"vol":73950,"trade_turnover":968195.155,"count":305},{"id":1603785600,"open":13135.1,"close":13123.8,"high":13148.4,"low":13044.0,"amount":18.732,"vol":18732,"trade_turnover":245533.5448,"count":135},{"id":1603789200,"open":13115.5,"close":13131.7,"high":13131.8,"low":13075.7,"amount":13.756,"vol":13756,"trade_turnover":180253.7708,"count":102},{"id":1603792800,"open":13134.8,"close":13216.9,"high":13252.0,"low":13063.4,"amount":154.108,"vol":154108,"trade_turnover":2029983.656,"count":525},{"id":1603796400,"open":13218.8,"close":13395.8,"high":13590.1,"low":13213.5,"amount":170.09,"vol":170090,"trade_turnover":2276279.742,"count":591},{"id":1603800000,"open":13395.9,"close":13376.9,"high":13414.0,"low":13331.7,"amount":48.928,"vol":48928,"trade_turnover":654585.9108,"count":216},{"id":1603803600,"open":13376.5,"close":13384.3,"high":13490.9,"low":13329.8,"amount":63.294,"vol":63294,"trade_turnover":848130.9212,"count":316},{"id":1603807200,"open":13392.6,"close":13398.2,"high":13415.8,"low":13344.8,"amount":12.892,"vol":12892,"trade_turnover":172618.6864,"count":124},{"id":1603810800,"open":13398.2,"close":13598.5,"high":13626.7,"low":13398.2,"amount":93.22,"vol":93220,"trade_turnover":1262695.5466,"count":476},{"id":1603814400,"open":13595.8,"close":13639.9,"high":13639.9,"low":13520.2,"amount":85.45,"vol":85450,"trade_turnover":1161481.4136,"count":435},{"id":1603818000,"open":13640.0,"close":13688.1,"high":13826.7,"low":13589.0,"amount":191.812,"vol":191812,"trade_turnover":2628428.3788,"count":711},{"id":1603821600,"open":13685.0,"close":13630.1,"high":13745.0,"low":13528.2,"amount":65.434,"vol":65434,"trade_turnover":891541.8394,"count":410},{"id":1603825200,"open":13629.4,"close":13637.1,"high":13659.8,"low":13595.4,"amount":5.788,"vol":5788,"trade_turnover":78836.2578,"count":65},{"id":1603828800,"open":13644.4,"close":13616.6,"high":13805.1,"low":13582.6,"amount":163.104,"vol":163104,"trade_turnover":2234040.3544,"count":537},{"id":1603832400,"open":13609.8,"close":13705.5,"high":13753.5,"low":13609.8,"amount":9.884,"vol":9884,"trade_turnover":135406.4752,"count":101},{"id":1603836000,"open":13705.4,"close":13739.9,"high":13739.9,"low":13658.2,"amount":7.436,"vol":7436,"trade_turnover":101840.3508,"count":100},{"id":1603839600,"open":13739.9,"close":13649.6,"high":13794.6,"low":13582.6,"amount":17.086,"vol":17086,"trade_turnover":233971.8448,"count":234},{"id":1603843200,"open":13645.9,"close":13701.7,"high":13745.2,"low":13618.8,"amount":24.108,"vol":24108,"trade_turnover":330206.5694,"count":177},{"id":1603846800,"open":13702.1,"close":13702.6,"high":13725.6,"low":13647.9,"amount":15.892,"vol":15892,"trade_turnover":217816.7008,"count":151},{"id":1603850400,"open":13701.7,"close":13811.6,"high":13832.2,"low":13680.2,"amount":46.548,"vol":46548,"trade_turnover":640636.0352,"count":274},{"id":1603854000,"open":13818.5,"close":13777.0,"high":13820.3,"low":13717.5,"amount":67.896,"vol":67896,"trade_turnover":935838.2238,"count":320},{"id":1603857600,"open":13767.3,"close":13735.7,"high":13807.2,"low":13710.0,"amount":33.156,"vol":33156,"trade_turnover":455941.234,"count":210},{"id":1603861200,"open":13735.5,"close":13715.8,"high":13753.9,"low":13671.3,"amount":32.076,"vol":32076,"trade_turnover":439612.64,"count":198},{"id":1603864800,"open":13715.9,"close":13701.3,"high":13757.0,"low":13694.9,"amount":14.756,"vol":14756,"trade_turnover":202602.5164,"count":122},{"id":1603868400,"open":13701.2,"close":13674.2,"high":13708.7,"low":13550.0,"amount":155.534,"vol":155534,"trade_turnover":2117935.0928,"count":635},{"id":1603872000,"open":13673.0,"close":13691.7,"high":13691.7,"low":13584.0,"amount":29.846,"vol":29846,"trade_turnover":407073.1398,"count":240},{"id":1603875600,"open":13689.3,"close":13587.1,"high":13707.5,"low":13573.5,"amount":104.542,"vol":104542,"trade_turnover":1425079.9344,"count":377},{"id":1603879200,"open":13584.6,"close":13552.7,"high":13618.0,"low":13504.7,"amount":73.818,"vol":73818,"trade_turnover":1001666.0908,"count":358},{"id":1603882800,"open":13552.6,"close":13336.4,"high":13565.4,"low":13330.0,"amount":176.544,"vol":176544,"trade_turnover":2369166.1492,"count":1004},{"id":1603886400,"open":13331.5,"close":13300.3,"high":13385.0,"low":13173.9,"amount":289.73,"vol":289730,"trade_turnover":3846751.7166,"count":968},{"id":1603890000,"open":13300.2,"close":13129.9,"high":13340.0,"low":13122.9,"amount":139.822,"vol":139822,"trade_turnover":1848876.932,"count":612},{"id":1603893600,"open":13123.4,"close":13082.2,"high":13168.2,"low":12915.9,"amount":367.876,"vol":367876,"trade_turnover":4802516.9818,"count":1168},{"id":1603897200,"open":13077.1,"close":13221.2,"high":13235.2,"low":13052.3,"amount":84.044,"vol":84044,"trade_turnover":1106883.1282,"count":375},{"id":1603900800,"open":13218.7,"close":13145.1,"high":13218.7,"low":13050.0,"amount":29.566,"vol":29566,"trade_turnover":388697.4104,"count":244},{"id":1603904400,"open":13145.1,"close":13176.7,"high":13204.9,"low":13006.6,"amount":53.336,"vol":53336,"trade_turnover":700385.2784,"count":299},{"id":1603908000,"open":13171.0,"close":13196.5,"high":13219.6,"low":13131.0,"amount":34.164,"vol":34164,"trade_turnover":450210.5778,"count":218},{"id":1603911600,"open":13200.0,"close":13154.9,"high":13237.4,"low":13145.0,"amount":22.158,"vol":22158,"trade_turnover":292020.0438,"count":185},{"id":1603915200,"open":13154.5,"close":13198.1,"high":13211.8,"low":13147.4,"amount":4.548,"vol":4548,"trade_turnover":59991.1118,"count":75},{"id":1603918800,"open":13193.5,"close":13190.1,"high":13196.5,"low":13100.2,"amount":3.52,"vol":3520,"trade_turnover":46175.428,"count":68},{"id":1603922400,"open":13185.4,"close":13252.0,"high":13267.5,"low":13185.4,"amount":3.122,"vol":3122,"trade_turnover":41304.2018,"count":72},{"id":1603926000,"open":13242.1,"close":13265.9,"high":13282.3,"low":13235.9,"amount":14.768,"vol":14768,"trade_turnover":195689.0764,"count":86},{"id":1603929600,"open":13253.9,"close":13245.1,"high":13294.7,"low":13237.4,"amount":19.968,"vol":19968,"trade_turnover":264834.1944,"count":98},{"id":1603933200,"open":13244.6,"close":13274.2,"high":13285.3,"low":13166.3,"amount":35.282,"vol":35282,"trade_turnover":465789.6302,"count":192},{"id":1603936800,"open":13275.9,"close":13241.1,"high":13277.7,"low":13212.2,"amount":9.748,"vol":9748,"trade_turnover":129016.0684,"count":119},{"id":1603940400,"open":13237.1,"close":13262.5,"high":13262.5,"low":13174.6,"amount":27.3,"vol":27300,"trade_turnover":360589.8982,"count":199},{"id":1603944000,"open":13269.1,"close":13229.5,"high":13277.7,"low":13229.5,"amount":18.904,"vol":18904,"trade_turnover":250713.2812,"count":109},{"id":1603947600,"open":13228.5,"close":13274.8,"high":13274.8,"low":13228.5,"amount":15.822,"vol":15822,"trade_turnover":209781.909,"count":134},{"id":1603951200,"open":13274.8,"close":13255.0,"high":13323.0,"low":13242.3,"amount":91.246,"vol":91246,"trade_turnover":1211271.2788,"count":294},{"id":1603954800,"open":13255.0,"close":13142.4,"high":13269.3,"low":13123.1,"amount":187.622,"vol":187622,"trade_turnover":2478299.7074,"count":506},{"id":1603958400,"open":13145.9,"close":13124.8,"high":13182.4,"low":13094.1,"amount":69.532,"vol":69532,"trade_turnover":914157.2418,"count":226},{"id":1603962000,"open":13129.5,"close":13183.7,"high":13197.1,"low":13129.5,"amount":23.184,"vol":23184,"trade_turnover":305485.9524,"count":141},{"id":1603965600,"open":13184.8,"close":13105.2,"high":13187.5,"low":13053.1,"amount":121.146,"vol":121146,"trade_turnover":1590026.4416,"count":442},{"id":1603969200,"open":13105.1,"close":13060.1,"high":13171.4,"low":13060.1,"amount":47.498,"vol":47498,"trade_turnover":623578.149,"count":262},{"id":1603972800,"open":13056.9,"close":13131.8,"high":13145.8,"low":12977.9,"amount":126.552,"vol":126552,"trade_turnover":1652549.311,"count":481},{"id":1603976400,"open":13131.7,"close":13230.0,"high":13237.2,"low":13102.0,"amount":100.482,"vol":100482,"trade_turnover":1326403.7206,"count":325},{"id":1603980000,"open":13231.0,"close":13420.8,"high":13476.1,"low":13231.0,"amount":253.258,"vol":253258,"trade_turnover":3384941.438,"count":752},{"id":1603983600,"open":13416.0,"close":13420.6,"high":13458.7,"low":13358.7,"amount":64.71,"vol":64710,"trade_turnover":869052.3804,"count":269},{"id":1603987200,"open":13421.9,"close":13535.9,"high":13594.5,"low":13391.8,"amount":120.24,"vol":120240,"trade_turnover":1626567.8278,"count":570}]} +2024-01-18 11:13:17.047 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:41] - 请求 KLine 数据解析之后的数据为:{"wsid":19750305,"data":[{"amount":0.276,"high":12300.0,"vol":276,"low":11715.8,"count":39,"id":1603270800,"close":12196.7,"tradeTurnover":3315.9104,"open":12198.0},{"amount":0.198,"high":12289.9,"vol":198,"low":12111.0,"count":21,"id":1603274400,"close":12277.9,"tradeTurnover":2420.7728,"open":12196.7},{"amount":0.012,"high":12277.9,"vol":12,"low":12000.0,"count":5,"id":1603278000,"close":12000.0,"tradeTurnover":145.2238,"open":12111.0},{"amount":0.084,"high":12498.0,"vol":84,"low":12078.0,"count":12,"id":1603281600,"close":12497.4,"tradeTurnover":1040.0504,"open":12078.0},{"amount":1.122,"high":12495.6,"vol":1122,"low":12282.9,"count":112,"id":1603285200,"close":12373.5,"tradeTurnover":13905.3124,"open":12495.6},{"amount":5.29,"high":12807.6,"vol":5290,"low":12358.1,"count":155,"id":1603288800,"close":12689.9,"tradeTurnover":66852.128,"open":12412.9},{"amount":1.174,"high":12778.7,"vol":1174,"low":12573.2,"count":113,"id":1603292400,"close":12701.9,"tradeTurnover":14907.367,"open":12692.8},{"amount":1.156,"high":12920.9,"vol":1156,"low":12624.8,"count":115,"id":1603296000,"close":12835.9,"tradeTurnover":14802.449,"open":12679.7},{"amount":1.12,"high":12908.3,"vol":1120,"low":12687.5,"count":115,"id":1603299600,"close":12754.2,"tradeTurnover":14345.7324,"open":12848.3},{"amount":1.106,"high":12849.0,"vol":1106,"low":12668.3,"count":114,"id":1603303200,"close":12740.2,"tradeTurnover":14105.3504,"open":12743.7},{"amount":1.032,"high":12843.1,"vol":1032,"low":12597.2,"count":112,"id":1603306800,"close":12650.3,"tradeTurnover":13125.4568,"open":12729.5},{"amount":1.154,"high":12848.4,"vol":1154,"low":12610.2,"count":116,"id":1603310400,"close":12807.0,"tradeTurnover":14680.638,"open":12666.8},{"amount":1.164,"high":13005.1,"vol":1164,"low":12748.2,"count":114,"id":1603314000,"close":12938.9,"tradeTurnover":14976.9366,"open":12866.0},{"amount":1.174,"high":13211.2,"vol":1174,"low":12865.7,"count":114,"id":1603317600,"close":13122.0,"tradeTurnover":15285.2446,"open":12921.0},{"amount":1.172,"high":13173.2,"vol":1172,"low":12688.6,"count":117,"id":1603321200,"close":12829.8,"tradeTurnover":15060.9938,"open":13153.2},{"amount":1.17,"high":12988.1,"vol":1170,"low":12764.4,"count":117,"id":1603324800,"close":12885.9,"tradeTurnover":15046.2046,"open":12793.1},{"amount":1.158,"high":12972.6,"vol":1158,"low":12757.5,"count":118,"id":1603328400,"close":12757.5,"tradeTurnover":14882.4656,"open":12860.4},{"amount":1.124,"high":12848.0,"vol":1124,"low":12729.0,"count":115,"id":1603332000,"close":12788.8,"tradeTurnover":14368.7948,"open":12824.1},{"amount":1.194,"high":12834.4,"vol":1194,"low":12729.0,"count":111,"id":1603335600,"close":12767.2,"tradeTurnover":15268.9298,"open":12791.7},{"amount":1.152,"high":12778.3,"vol":1152,"low":12729.0,"count":115,"id":1603339200,"close":12762.2,"tradeTurnover":14695.4876,"open":12729.0},{"amount":1.21,"high":12842.0,"vol":1210,"low":12730.6,"count":119,"id":1603342800,"close":12813.8,"tradeTurnover":15440.8162,"open":12763.1},{"amount":1.188,"high":12795.0,"vol":1188,"low":12728.0,"count":123,"id":1603346400,"close":12729.1,"tradeTurnover":15128.0098,"open":12795.0},{"amount":1.266,"high":12730.6,"vol":1266,"low":12728.3,"count":112,"id":1603350000,"close":12730.6,"tradeTurnover":16115.1306,"open":12728.6},{"amount":1.35,"high":12921.5,"vol":1350,"low":12729.9,"count":127,"id":1603353600,"close":12770.1,"tradeTurnover":17233.7326,"open":12730.3},{"amount":0.98,"high":12872.1,"vol":980,"low":12760.1,"count":99,"id":1603357200,"close":12780.4,"tradeTurnover":12553.9826,"open":12824.9},{"amount":0.266,"high":13002.7,"vol":266,"low":12775.6,"count":30,"id":1603360800,"close":12934.2,"tradeTurnover":3415.023,"open":12784.9},{"amount":1.004,"high":13057.0,"vol":1004,"low":12886.6,"count":117,"id":1603364400,"close":13045.0,"tradeTurnover":13020.8576,"open":12977.0},{"amount":1.134,"high":12973.4,"vol":1134,"low":12751.6,"count":111,"id":1603368000,"close":12847.9,"tradeTurnover":14594.2752,"open":12958.5},{"amount":1.152,"high":13000.8,"vol":1152,"low":12743.0,"count":114,"id":1603371600,"close":12931.0,"tradeTurnover":14877.7314,"open":12882.7},{"amount":1.182,"high":12995.3,"vol":1182,"low":12783.9,"count":115,"id":1603375200,"close":12917.8,"tradeTurnover":15224.4716,"open":12890.4},{"amount":1.176,"high":13031.2,"vol":1176,"low":12817.9,"count":117,"id":1603378800,"close":12953.0,"tradeTurnover":15197.208,"open":12918.8},{"amount":1.146,"high":13100.2,"vol":1146,"low":12865.6,"count":119,"id":1603382400,"close":13055.6,"tradeTurnover":14851.9604,"open":12923.1},{"amount":1.534,"high":13105.7,"vol":1534,"low":12835.5,"count":124,"id":1603386000,"close":13082.7,"tradeTurnover":19927.8288,"open":12967.6},{"amount":1.268,"high":13115.0,"vol":1268,"low":12938.7,"count":117,"id":1603389600,"close":13016.4,"tradeTurnover":16505.4738,"open":13020.4},{"amount":1.13,"high":13171.2,"vol":1130,"low":12961.8,"count":112,"id":1603393200,"close":12970.6,"tradeTurnover":14762.952,"open":13028.3},{"amount":1.206,"high":13216.1,"vol":1206,"low":12998.5,"count":117,"id":1603396800,"close":13089.3,"tradeTurnover":15807.1226,"open":13016.7},{"amount":1.332,"high":13203.7,"vol":1332,"low":12932.9,"count":114,"id":1603400400,"close":13092.0,"tradeTurnover":17423.4422,"open":13136.0},{"amount":1.21,"high":13250.5,"vol":1210,"low":12984.7,"count":114,"id":1603404000,"close":13055.9,"tradeTurnover":15876.0632,"open":13119.4},{"amount":1.286,"high":13126.5,"vol":1286,"low":12857.2,"count":116,"id":1603407600,"close":12890.4,"tradeTurnover":16688.422,"open":13059.4},{"amount":1.502,"high":12994.0,"vol":1502,"low":12751.6,"count":131,"id":1603411200,"close":12892.2,"tradeTurnover":19331.1596,"open":12929.7},{"amount":1.386,"high":13003.2,"vol":1386,"low":12786.0,"count":121,"id":1603414800,"close":12898.3,"tradeTurnover":17904.8902,"open":12921.7},{"amount":1.416,"high":13054.0,"vol":1416,"low":12800.7,"count":122,"id":1603418400,"close":12975.1,"tradeTurnover":18306.6204,"open":12951.6},{"amount":1.19,"high":13030.7,"vol":1190,"low":12875.0,"count":118,"id":1603422000,"close":12947.0,"tradeTurnover":15409.7984,"open":12967.3},{"amount":1.022,"high":13047.3,"vol":1022,"low":12832.8,"count":127,"id":1603425600,"close":12852.0,"tradeTurnover":13214.4388,"open":12925.2},{"amount":0.478,"high":12991.7,"vol":478,"low":12841.2,"count":118,"id":1603429200,"close":12931.1,"tradeTurnover":6180.2486,"open":12859.0},{"amount":0.522,"high":13014.1,"vol":522,"low":12871.9,"count":132,"id":1603432800,"close":12939.6,"tradeTurnover":6759.0324,"open":12935.9},{"amount":0.476,"high":12998.9,"vol":476,"low":12917.1,"count":118,"id":1603436400,"close":12925.4,"tradeTurnover":6163.3118,"open":12923.1},{"amount":0.508,"high":13014.0,"vol":508,"low":12916.1,"count":122,"id":1603440000,"close":12962.6,"tradeTurnover":6585.3656,"open":12942.2},{"amount":0.564,"high":13012.5,"vol":564,"low":12909.9,"count":124,"id":1603443600,"close":12926.4,"tradeTurnover":7308.8828,"open":12970.5},{"amount":0.536,"high":13059.5,"vol":536,"low":12925.7,"count":124,"id":1603447200,"close":13007.7,"tradeTurnover":6957.8796,"open":13001.2},{"amount":0.486,"high":13078.4,"vol":486,"low":12906.5,"count":122,"id":1603450800,"close":12970.6,"tradeTurnover":6326.1434,"open":13025.4},{"amount":0.494,"high":13025.0,"vol":494,"low":12850.8,"count":117,"id":1603454400,"close":12935.4,"tradeTurnover":6396.0984,"open":12963.9},{"amount":0.466,"high":13043.3,"vol":466,"low":12911.0,"count":117,"id":1603458000,"close":12951.7,"tradeTurnover":6049.1412,"open":12913.3},{"amount":0.46,"high":13006.4,"vol":460,"low":12840.4,"count":116,"id":1603461600,"close":12858.8,"tradeTurnover":5941.815,"open":12999.6},{"amount":0.492,"high":12932.9,"vol":492,"low":12826.5,"count":117,"id":1603465200,"close":12881.9,"tradeTurnover":6340.214,"open":12885.7},{"amount":0.484,"high":12933.5,"vol":484,"low":12744.4,"count":123,"id":1603468800,"close":12784.1,"tradeTurnover":6205.4138,"open":12854.4},{"amount":0.562,"high":12893.1,"vol":562,"low":12730.1,"count":152,"id":1603472400,"close":12847.7,"tradeTurnover":7218.9184,"open":12832.3},{"amount":0.53,"high":12939.3,"vol":530,"low":12751.4,"count":128,"id":1603476000,"close":12915.7,"tradeTurnover":6825.7004,"open":12874.1},{"amount":0.444,"high":12972.9,"vol":444,"low":12786.6,"count":117,"id":1603479600,"close":12972.9,"tradeTurnover":5727.7452,"open":12867.9},{"amount":0.492,"high":13002.2,"vol":492,"low":12842.9,"count":116,"id":1603483200,"close":12991.6,"tradeTurnover":6375.1566,"open":12956.7},{"amount":0.5,"high":13004.3,"vol":500,"low":12936.6,"count":125,"id":1603486800,"close":12943.5,"tradeTurnover":6485.468,"open":13004.3},{"amount":0.492,"high":13010.3,"vol":492,"low":12884.7,"count":120,"id":1603490400,"close":12989.2,"tradeTurnover":6376.1492,"open":12923.6},{"amount":0.51,"high":13024.4,"vol":510,"low":12884.6,"count":121,"id":1603494000,"close":12884.6,"tradeTurnover":6622.3406,"open":12974.9},{"amount":0.488,"high":13018.3,"vol":488,"low":12811.1,"count":120,"id":1603497600,"close":12953.9,"tradeTurnover":6317.7938,"open":12973.7},{"amount":0.482,"high":13018.1,"vol":482,"low":12872.8,"count":117,"id":1603501200,"close":12934.2,"tradeTurnover":6242.4178,"open":12927.5},{"amount":0.484,"high":13003.9,"vol":484,"low":12903.3,"count":117,"id":1603504800,"close":12989.1,"tradeTurnover":6278.1756,"open":12971.9},{"amount":0.474,"high":13013.4,"vol":474,"low":12938.3,"count":122,"id":1603508400,"close":12975.9,"tradeTurnover":6157.7096,"open":13000.1},{"amount":0.526,"high":13009.4,"vol":526,"low":12905.5,"count":124,"id":1603512000,"close":12963.3,"tradeTurnover":6831.5658,"open":12989.7},{"amount":0.522,"high":13041.8,"vol":522,"low":12875.3,"count":127,"id":1603515600,"close":12989.7,"tradeTurnover":6768.8994,"open":12910.5},{"amount":0.49,"high":13058.1,"vol":490,"low":12908.8,"count":120,"id":1603519200,"close":13003.6,"tradeTurnover":6370.5714,"open":12994.7},{"amount":0.478,"high":13037.8,"vol":478,"low":12981.7,"count":120,"id":1603522800,"close":13004.2,"tradeTurnover":6218.9722,"open":13011.9},{"amount":0.52,"high":13030.6,"vol":520,"low":12899.4,"count":124,"id":1603526400,"close":12998.2,"tradeTurnover":6754.958,"open":13003.0},{"amount":0.454,"high":13020.3,"vol":454,"low":12893.6,"count":115,"id":1603530000,"close":12990.6,"tradeTurnover":5891.0574,"open":12998.2},{"amount":0.502,"high":13059.1,"vol":502,"low":12913.2,"count":124,"id":1603533600,"close":13030.1,"tradeTurnover":6525.9004,"open":12996.4},{"amount":0.468,"high":13068.3,"vol":468,"low":12940.2,"count":119,"id":1603537200,"close":13033.2,"tradeTurnover":6091.0376,"open":12988.4},{"amount":0.468,"high":13071.8,"vol":468,"low":12978.9,"count":123,"id":1603540800,"close":13006.5,"tradeTurnover":6102.5902,"open":13035.3},{"amount":0.534,"high":13066.7,"vol":534,"low":12928.1,"count":123,"id":1603544400,"close":12985.9,"tradeTurnover":6950.4268,"open":13038.8},{"amount":0.47,"high":13100.1,"vol":470,"low":12960.5,"count":100,"id":1603548000,"close":13042.0,"tradeTurnover":6124.2178,"open":12986.3},{"amount":0.456,"high":13196.5,"vol":456,"low":13038.4,"count":120,"id":1603551600,"close":13102.2,"tradeTurnover":5989.6362,"open":13038.4},{"amount":0.458,"high":13176.6,"vol":458,"low":12984.6,"count":121,"id":1603555200,"close":13052.7,"tradeTurnover":5976.331,"open":13136.8},{"amount":0.452,"high":13177.8,"vol":452,"low":13003.2,"count":118,"id":1603558800,"close":13177.8,"tradeTurnover":5911.7058,"open":13006.2},{"amount":0.468,"high":13170.7,"vol":468,"low":13023.0,"count":119,"id":1603562400,"close":13080.8,"tradeTurnover":6122.375,"open":13127.7},{"amount":0.468,"high":13179.3,"vol":468,"low":13014.2,"count":120,"id":1603566000,"close":13148.4,"tradeTurnover":6126.4278,"open":13040.7},{"amount":0.47,"high":13179.6,"vol":470,"low":12992.5,"count":119,"id":1603569600,"close":13090.1,"tradeTurnover":6151.4758,"open":13073.5},{"amount":0.458,"high":13148.7,"vol":458,"low":12980.7,"count":117,"id":1603573200,"close":12993.9,"tradeTurnover":5981.071,"open":13035.4},{"amount":0.478,"high":13112.1,"vol":478,"low":12975.6,"count":118,"id":1603576800,"close":13041.1,"tradeTurnover":6225.4216,"open":13040.7},{"amount":0.472,"high":13184.3,"vol":472,"low":13009.3,"count":118,"id":1603580400,"close":13184.3,"tradeTurnover":6173.4244,"open":13012.6},{"amount":0.46,"high":13170.4,"vol":460,"low":13007.7,"count":115,"id":1603584000,"close":13154.3,"tradeTurnover":6024.09,"open":13080.8},{"amount":0.398,"high":13196.8,"vol":398,"low":13024.0,"count":102,"id":1603587600,"close":13196.1,"tradeTurnover":5217.5364,"open":13092.0},{"amount":0.476,"high":13175.1,"vol":476,"low":13035.0,"count":120,"id":1603591200,"close":13082.4,"tradeTurnover":6228.6596,"open":13124.7},{"amount":0.578,"high":13383.8,"vol":578,"low":13049.1,"count":137,"id":1603594800,"close":13259.0,"tradeTurnover":7629.3886,"open":13049.1},{"amount":0.47,"high":13369.0,"vol":470,"low":13216.0,"count":122,"id":1603598400,"close":13243.4,"tradeTurnover":6247.955,"open":13277.0},{"amount":0.61,"high":13353.3,"vol":610,"low":13010.1,"count":134,"id":1603602000,"close":13017.3,"tradeTurnover":8048.8598,"open":13285.3},{"amount":0.486,"high":13105.7,"vol":486,"low":13018.2,"count":118,"id":1603605600,"close":13060.3,"tradeTurnover":6344.1474,"open":13022.5},{"amount":0.464,"high":13112.1,"vol":464,"low":13022.0,"count":120,"id":1603609200,"close":13078.1,"tradeTurnover":6061.5416,"open":13048.5},{"amount":0.464,"high":13091.0,"vol":464,"low":13017.2,"count":120,"id":1603612800,"close":13046.0,"tradeTurnover":6055.3734,"open":13077.2},{"amount":0.478,"high":13084.0,"vol":478,"low":13014.2,"count":117,"id":1603616400,"close":13040.8,"tradeTurnover":6235.7882,"open":13065.1},{"amount":0.478,"high":13064.2,"vol":478,"low":13010.2,"count":125,"id":1603620000,"close":13028.5,"tradeTurnover":6232.2428,"open":13047.1},{"amount":0.534,"high":13061.5,"vol":534,"low":12852.9,"count":123,"id":1603623600,"close":12897.6,"tradeTurnover":6918.1226,"open":13061.5},{"amount":0.444,"high":13069.7,"vol":444,"low":12893.2,"count":117,"id":1603627200,"close":12964.3,"tradeTurnover":5755.8712,"open":12908.3},{"amount":0.498,"high":13071.9,"vol":498,"low":12891.8,"count":119,"id":1603630800,"close":12949.3,"tradeTurnover":6465.078,"open":13001.3},{"amount":0.468,"high":13077.7,"vol":468,"low":12900.0,"count":116,"id":1603634400,"close":12946.8,"tradeTurnover":6075.4554,"open":12975.8},{"amount":0.47,"high":13069.1,"vol":470,"low":12883.3,"count":119,"id":1603638000,"close":12883.3,"tradeTurnover":6097.1072,"open":12975.2},{"amount":0.482,"high":13067.9,"vol":482,"low":12877.5,"count":118,"id":1603641600,"close":12978.7,"tradeTurnover":6256.4472,"open":12916.2},{"amount":0.47,"high":13087.5,"vol":470,"low":12922.7,"count":117,"id":1603645200,"close":13004.4,"tradeTurnover":6108.3892,"open":13008.0},{"amount":0.468,"high":13067.6,"vol":468,"low":12893.6,"count":118,"id":1603648800,"close":12957.2,"tradeTurnover":6079.1484,"open":12972.8},{"amount":0.442,"high":13066.9,"vol":442,"low":12916.6,"count":118,"id":1603652400,"close":13021.8,"tradeTurnover":5746.5548,"open":12996.5},{"amount":0.508,"high":13081.5,"vol":508,"low":12944.9,"count":120,"id":1603656000,"close":12985.4,"tradeTurnover":6616.9872,"open":12992.9},{"amount":0.508,"high":13068.6,"vol":508,"low":12921.4,"count":122,"id":1603659600,"close":13011.2,"tradeTurnover":6614.816,"open":12999.9},{"amount":0.486,"high":13073.8,"vol":486,"low":12911.9,"count":121,"id":1603663200,"close":12959.4,"tradeTurnover":6320.907,"open":12979.6},{"amount":0.452,"high":13085.2,"vol":452,"low":12927.8,"count":113,"id":1603666800,"close":13032.1,"tradeTurnover":5878.6442,"open":12963.4},{"amount":0.482,"high":13076.7,"vol":482,"low":12918.3,"count":121,"id":1603670400,"close":13001.0,"tradeTurnover":6263.698,"open":12964.2},{"amount":0.478,"high":13096.4,"vol":478,"low":12991.2,"count":124,"id":1603674000,"close":13053.7,"tradeTurnover":6232.2328,"open":13040.0},{"amount":0.488,"high":13185.7,"vol":488,"low":12985.1,"count":121,"id":1603677600,"close":13064.4,"tradeTurnover":6387.534,"open":13060.6},{"amount":0.486,"high":13187.2,"vol":486,"low":12984.1,"count":135,"id":1603681200,"close":13092.8,"tradeTurnover":6369.0272,"open":13032.3},{"amount":0.51,"high":13181.6,"vol":510,"low":12962.3,"count":131,"id":1603684800,"close":13132.6,"tradeTurnover":6679.829,"open":13092.0},{"amount":0.506,"high":13205.3,"vol":506,"low":13025.3,"count":126,"id":1603688400,"close":13092.1,"tradeTurnover":6641.2128,"open":13129.2},{"amount":1.616,"high":13188.1,"vol":1616,"low":12989.8,"count":141,"id":1603692000,"close":13071.4,"tradeTurnover":21170.8224,"open":13121.8},{"amount":3.746,"high":13100.0,"vol":3746,"low":12965.2,"count":110,"id":1603695600,"close":13038.7,"tradeTurnover":48924.8902,"open":13061.0},{"amount":8.966,"high":13102.0,"vol":8966,"low":12852.8,"count":173,"id":1603699200,"close":13039.3,"tradeTurnover":116525.5534,"open":13030.9},{"amount":4.48,"high":13088.4,"vol":4480,"low":13039.8,"count":124,"id":1603702800,"close":13075.9,"tradeTurnover":58521.1714,"open":13047.1},{"amount":4.272,"high":13100.0,"vol":4272,"low":13060.2,"count":130,"id":1603706400,"close":13100.0,"tradeTurnover":55895.9778,"open":13072.1},{"amount":29.798,"high":13159.0,"vol":29798,"low":13100.0,"count":230,"id":1603710000,"close":13138.4,"tradeTurnover":391138.024,"open":13100.0},{"amount":5.154,"high":13200.0,"vol":5154,"low":13100.0,"count":188,"id":1603713600,"close":13149.8,"tradeTurnover":67694.652,"open":13138.8},{"amount":35.608,"high":13351.5,"vol":35608,"low":13133.1,"count":328,"id":1603717200,"close":13205.8,"tradeTurnover":472780.3394,"open":13150.0},{"amount":31.748,"high":13280.0,"vol":31748,"low":13144.1,"count":235,"id":1603720800,"close":13166.1,"tradeTurnover":418744.5588,"open":13203.0},{"amount":36.53,"high":13165.2,"vol":36530,"low":12903.8,"count":384,"id":1603724400,"close":12978.0,"tradeTurnover":476940.3296,"open":13159.0},{"amount":35.018,"high":13069.8,"vol":35018,"low":12850.5,"count":323,"id":1603728000,"close":12869.6,"tradeTurnover":453288.918,"open":12965.0},{"amount":92.628,"high":12941.5,"vol":92628,"low":12583.9,"count":560,"id":1603731600,"close":12873.8,"tradeTurnover":1185973.467,"open":12879.2},{"amount":4.302,"high":12954.5,"vol":4302,"low":12820.4,"count":128,"id":1603735200,"close":12946.8,"tradeTurnover":55481.0054,"open":12856.2},{"amount":13.83,"high":12953.5,"vol":13830,"low":12914.1,"count":118,"id":1603738800,"close":12953.4,"tradeTurnover":179112.1598,"open":12945.6},{"amount":17.172,"high":13007.5,"vol":17172,"low":12953.5,"count":132,"id":1603742400,"close":12983.4,"tradeTurnover":223230.2122,"open":12953.5},{"amount":3.212,"high":13007.5,"vol":3212,"low":12982.7,"count":59,"id":1603746000,"close":12993.8,"tradeTurnover":41767.8906,"open":12983.1},{"amount":1.504,"high":13007.5,"vol":1504,"low":12974.0,"count":74,"id":1603749600,"close":13007.5,"tradeTurnover":19543.3568,"open":13002.1},{"amount":3.454,"high":13061.2,"vol":3454,"low":13007.5,"count":101,"id":1603753200,"close":13033.7,"tradeTurnover":45001.601,"open":13007.5},{"amount":8.784,"high":13105.0,"vol":8784,"low":13028.3,"count":98,"id":1603756800,"close":13067.1,"tradeTurnover":114871.8246,"open":13029.2},{"amount":11.592,"high":13074.4,"vol":11592,"low":13051.5,"count":66,"id":1603760400,"close":13061.7,"tradeTurnover":151386.9038,"open":13074.3},{"amount":19.298,"high":13097.6,"vol":19298,"low":13040.1,"count":109,"id":1603764000,"close":13049.7,"tradeTurnover":252061.019,"open":13061.7},{"amount":22.992,"high":13080.0,"vol":22992,"low":13057.1,"count":69,"id":1603767600,"close":13070.4,"tradeTurnover":300453.9788,"open":13057.6},{"amount":14.396,"high":13175.0,"vol":14396,"low":13079.6,"count":59,"id":1603771200,"close":13103.3,"tradeTurnover":188461.9156,"open":13080.0},{"amount":5.058,"high":13121.3,"vol":5058,"low":13069.7,"count":44,"id":1603774800,"close":13073.6,"tradeTurnover":66201.3552,"open":13121.3},{"amount":9.106,"high":13149.0,"vol":9106,"low":13069.6,"count":107,"id":1603778400,"close":13103.4,"tradeTurnover":119104.8906,"open":13074.9},{"amount":73.95,"high":13169.8,"vol":73950,"low":12992.4,"count":305,"id":1603782000,"close":13130.0,"tradeTurnover":968195.155,"open":13103.3},{"amount":18.732,"high":13148.4,"vol":18732,"low":13044.0,"count":135,"id":1603785600,"close":13123.8,"tradeTurnover":245533.5448,"open":13135.1},{"amount":13.756,"high":13131.8,"vol":13756,"low":13075.7,"count":102,"id":1603789200,"close":13131.7,"tradeTurnover":180253.7708,"open":13115.5},{"amount":154.108,"high":13252.0,"vol":154108,"low":13063.4,"count":525,"id":1603792800,"close":13216.9,"tradeTurnover":2029983.656,"open":13134.8},{"amount":170.09,"high":13590.1,"vol":170090,"low":13213.5,"count":591,"id":1603796400,"close":13395.8,"tradeTurnover":2276279.742,"open":13218.8},{"amount":48.928,"high":13414.0,"vol":48928,"low":13331.7,"count":216,"id":1603800000,"close":13376.9,"tradeTurnover":654585.9108,"open":13395.9},{"amount":63.294,"high":13490.9,"vol":63294,"low":13329.8,"count":316,"id":1603803600,"close":13384.3,"tradeTurnover":848130.9212,"open":13376.5},{"amount":12.892,"high":13415.8,"vol":12892,"low":13344.8,"count":124,"id":1603807200,"close":13398.2,"tradeTurnover":172618.6864,"open":13392.6},{"amount":93.22,"high":13626.7,"vol":93220,"low":13398.2,"count":476,"id":1603810800,"close":13598.5,"tradeTurnover":1262695.5466,"open":13398.2},{"amount":85.45,"high":13639.9,"vol":85450,"low":13520.2,"count":435,"id":1603814400,"close":13639.9,"tradeTurnover":1161481.4136,"open":13595.8},{"amount":191.812,"high":13826.7,"vol":191812,"low":13589.0,"count":711,"id":1603818000,"close":13688.1,"tradeTurnover":2628428.3788,"open":13640.0},{"amount":65.434,"high":13745.0,"vol":65434,"low":13528.2,"count":410,"id":1603821600,"close":13630.1,"tradeTurnover":891541.8394,"open":13685.0},{"amount":5.788,"high":13659.8,"vol":5788,"low":13595.4,"count":65,"id":1603825200,"close":13637.1,"tradeTurnover":78836.2578,"open":13629.4},{"amount":163.104,"high":13805.1,"vol":163104,"low":13582.6,"count":537,"id":1603828800,"close":13616.6,"tradeTurnover":2234040.3544,"open":13644.4},{"amount":9.884,"high":13753.5,"vol":9884,"low":13609.8,"count":101,"id":1603832400,"close":13705.5,"tradeTurnover":135406.4752,"open":13609.8},{"amount":7.436,"high":13739.9,"vol":7436,"low":13658.2,"count":100,"id":1603836000,"close":13739.9,"tradeTurnover":101840.3508,"open":13705.4},{"amount":17.086,"high":13794.6,"vol":17086,"low":13582.6,"count":234,"id":1603839600,"close":13649.6,"tradeTurnover":233971.8448,"open":13739.9},{"amount":24.108,"high":13745.2,"vol":24108,"low":13618.8,"count":177,"id":1603843200,"close":13701.7,"tradeTurnover":330206.5694,"open":13645.9},{"amount":15.892,"high":13725.6,"vol":15892,"low":13647.9,"count":151,"id":1603846800,"close":13702.6,"tradeTurnover":217816.7008,"open":13702.1},{"amount":46.548,"high":13832.2,"vol":46548,"low":13680.2,"count":274,"id":1603850400,"close":13811.6,"tradeTurnover":640636.0352,"open":13701.7},{"amount":67.896,"high":13820.3,"vol":67896,"low":13717.5,"count":320,"id":1603854000,"close":13777.0,"tradeTurnover":935838.2238,"open":13818.5},{"amount":33.156,"high":13807.2,"vol":33156,"low":13710.0,"count":210,"id":1603857600,"close":13735.7,"tradeTurnover":455941.234,"open":13767.3},{"amount":32.076,"high":13753.9,"vol":32076,"low":13671.3,"count":198,"id":1603861200,"close":13715.8,"tradeTurnover":439612.64,"open":13735.5},{"amount":14.756,"high":13757.0,"vol":14756,"low":13694.9,"count":122,"id":1603864800,"close":13701.3,"tradeTurnover":202602.5164,"open":13715.9},{"amount":155.534,"high":13708.7,"vol":155534,"low":13550.0,"count":635,"id":1603868400,"close":13674.2,"tradeTurnover":2117935.0928,"open":13701.2},{"amount":29.846,"high":13691.7,"vol":29846,"low":13584.0,"count":240,"id":1603872000,"close":13691.7,"tradeTurnover":407073.1398,"open":13673.0},{"amount":104.542,"high":13707.5,"vol":104542,"low":13573.5,"count":377,"id":1603875600,"close":13587.1,"tradeTurnover":1425079.9344,"open":13689.3},{"amount":73.818,"high":13618.0,"vol":73818,"low":13504.7,"count":358,"id":1603879200,"close":13552.7,"tradeTurnover":1001666.0908,"open":13584.6},{"amount":176.544,"high":13565.4,"vol":176544,"low":13330.0,"count":1004,"id":1603882800,"close":13336.4,"tradeTurnover":2369166.1492,"open":13552.6},{"amount":289.73,"high":13385.0,"vol":289730,"low":13173.9,"count":968,"id":1603886400,"close":13300.3,"tradeTurnover":3846751.7166,"open":13331.5},{"amount":139.822,"high":13340.0,"vol":139822,"low":13122.9,"count":612,"id":1603890000,"close":13129.9,"tradeTurnover":1848876.932,"open":13300.2},{"amount":367.876,"high":13168.2,"vol":367876,"low":12915.9,"count":1168,"id":1603893600,"close":13082.2,"tradeTurnover":4802516.9818,"open":13123.4},{"amount":84.044,"high":13235.2,"vol":84044,"low":13052.3,"count":375,"id":1603897200,"close":13221.2,"tradeTurnover":1106883.1282,"open":13077.1},{"amount":29.566,"high":13218.7,"vol":29566,"low":13050.0,"count":244,"id":1603900800,"close":13145.1,"tradeTurnover":388697.4104,"open":13218.7},{"amount":53.336,"high":13204.9,"vol":53336,"low":13006.6,"count":299,"id":1603904400,"close":13176.7,"tradeTurnover":700385.2784,"open":13145.1},{"amount":34.164,"high":13219.6,"vol":34164,"low":13131.0,"count":218,"id":1603908000,"close":13196.5,"tradeTurnover":450210.5778,"open":13171.0},{"amount":22.158,"high":13237.4,"vol":22158,"low":13145.0,"count":185,"id":1603911600,"close":13154.9,"tradeTurnover":292020.0438,"open":13200.0},{"amount":4.548,"high":13211.8,"vol":4548,"low":13147.4,"count":75,"id":1603915200,"close":13198.1,"tradeTurnover":59991.1118,"open":13154.5},{"amount":3.52,"high":13196.5,"vol":3520,"low":13100.2,"count":68,"id":1603918800,"close":13190.1,"tradeTurnover":46175.428,"open":13193.5},{"amount":3.122,"high":13267.5,"vol":3122,"low":13185.4,"count":72,"id":1603922400,"close":13252.0,"tradeTurnover":41304.2018,"open":13185.4},{"amount":14.768,"high":13282.3,"vol":14768,"low":13235.9,"count":86,"id":1603926000,"close":13265.9,"tradeTurnover":195689.0764,"open":13242.1},{"amount":19.968,"high":13294.7,"vol":19968,"low":13237.4,"count":98,"id":1603929600,"close":13245.1,"tradeTurnover":264834.1944,"open":13253.9},{"amount":35.282,"high":13285.3,"vol":35282,"low":13166.3,"count":192,"id":1603933200,"close":13274.2,"tradeTurnover":465789.6302,"open":13244.6},{"amount":9.748,"high":13277.7,"vol":9748,"low":13212.2,"count":119,"id":1603936800,"close":13241.1,"tradeTurnover":129016.0684,"open":13275.9},{"amount":27.3,"high":13262.5,"vol":27300,"low":13174.6,"count":199,"id":1603940400,"close":13262.5,"tradeTurnover":360589.8982,"open":13237.1},{"amount":18.904,"high":13277.7,"vol":18904,"low":13229.5,"count":109,"id":1603944000,"close":13229.5,"tradeTurnover":250713.2812,"open":13269.1},{"amount":15.822,"high":13274.8,"vol":15822,"low":13228.5,"count":134,"id":1603947600,"close":13274.8,"tradeTurnover":209781.909,"open":13228.5},{"amount":91.246,"high":13323.0,"vol":91246,"low":13242.3,"count":294,"id":1603951200,"close":13255.0,"tradeTurnover":1211271.2788,"open":13274.8},{"amount":187.622,"high":13269.3,"vol":187622,"low":13123.1,"count":506,"id":1603954800,"close":13142.4,"tradeTurnover":2478299.7074,"open":13255.0},{"amount":69.532,"high":13182.4,"vol":69532,"low":13094.1,"count":226,"id":1603958400,"close":13124.8,"tradeTurnover":914157.2418,"open":13145.9},{"amount":23.184,"high":13197.1,"vol":23184,"low":13129.5,"count":141,"id":1603962000,"close":13183.7,"tradeTurnover":305485.9524,"open":13129.5},{"amount":121.146,"high":13187.5,"vol":121146,"low":13053.1,"count":442,"id":1603965600,"close":13105.2,"tradeTurnover":1590026.4416,"open":13184.8},{"amount":47.498,"high":13171.4,"vol":47498,"low":13060.1,"count":262,"id":1603969200,"close":13060.1,"tradeTurnover":623578.149,"open":13105.1},{"amount":126.552,"high":13145.8,"vol":126552,"low":12977.9,"count":481,"id":1603972800,"close":13131.8,"tradeTurnover":1652549.311,"open":13056.9},{"amount":100.482,"high":13237.2,"vol":100482,"low":13102.0,"count":325,"id":1603976400,"close":13230.0,"tradeTurnover":1326403.7206,"open":13131.7},{"amount":253.258,"high":13476.1,"vol":253258,"low":13231.0,"count":752,"id":1603980000,"close":13420.8,"tradeTurnover":3384941.438,"open":13231.0},{"amount":64.71,"high":13458.7,"vol":64710,"low":13358.7,"count":269,"id":1603983600,"close":13420.6,"tradeTurnover":869052.3804,"open":13416.0},{"amount":120.24,"high":13594.5,"vol":120240,"low":13391.8,"count":570,"id":1603987200,"close":13535.9,"tradeTurnover":1626567.8278,"open":13421.9}],"id":"","rep":"market.BTC-USDT.kline.60min","status":"ok"} +2024-01-18 11:13:18.053 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:39] - 请求 KLine 数据用户收到的原始数据:{"id":"","rep":"market.BTC-USDT.kline.60min","ts":1705547596956,"wsid":19750305,"status":"ok","data":[{"id":1603270800,"open":12198.0,"close":12196.7,"high":12300.0,"low":11715.8,"amount":0.276,"vol":276,"trade_turnover":3315.9104,"count":39},{"id":1603274400,"open":12196.7,"close":12277.9,"high":12289.9,"low":12111.0,"amount":0.198,"vol":198,"trade_turnover":2420.7728,"count":21},{"id":1603278000,"open":12111.0,"close":12000.0,"high":12277.9,"low":12000.0,"amount":0.012,"vol":12,"trade_turnover":145.2238,"count":5},{"id":1603281600,"open":12078.0,"close":12497.4,"high":12498.0,"low":12078.0,"amount":0.084,"vol":84,"trade_turnover":1040.0504,"count":12},{"id":1603285200,"open":12495.6,"close":12373.5,"high":12495.6,"low":12282.9,"amount":1.122,"vol":1122,"trade_turnover":13905.3124,"count":112},{"id":1603288800,"open":12412.9,"close":12689.9,"high":12807.6,"low":12358.1,"amount":5.29,"vol":5290,"trade_turnover":66852.128,"count":155},{"id":1603292400,"open":12692.8,"close":12701.9,"high":12778.7,"low":12573.2,"amount":1.174,"vol":1174,"trade_turnover":14907.367,"count":113},{"id":1603296000,"open":12679.7,"close":12835.9,"high":12920.9,"low":12624.8,"amount":1.156,"vol":1156,"trade_turnover":14802.449,"count":115},{"id":1603299600,"open":12848.3,"close":12754.2,"high":12908.3,"low":12687.5,"amount":1.12,"vol":1120,"trade_turnover":14345.7324,"count":115},{"id":1603303200,"open":12743.7,"close":12740.2,"high":12849.0,"low":12668.3,"amount":1.106,"vol":1106,"trade_turnover":14105.3504,"count":114},{"id":1603306800,"open":12729.5,"close":12650.3,"high":12843.1,"low":12597.2,"amount":1.032,"vol":1032,"trade_turnover":13125.4568,"count":112},{"id":1603310400,"open":12666.8,"close":12807.0,"high":12848.4,"low":12610.2,"amount":1.154,"vol":1154,"trade_turnover":14680.638,"count":116},{"id":1603314000,"open":12866.0,"close":12938.9,"high":13005.1,"low":12748.2,"amount":1.164,"vol":1164,"trade_turnover":14976.9366,"count":114},{"id":1603317600,"open":12921.0,"close":13122.0,"high":13211.2,"low":12865.7,"amount":1.174,"vol":1174,"trade_turnover":15285.2446,"count":114},{"id":1603321200,"open":13153.2,"close":12829.8,"high":13173.2,"low":12688.6,"amount":1.172,"vol":1172,"trade_turnover":15060.9938,"count":117},{"id":1603324800,"open":12793.1,"close":12885.9,"high":12988.1,"low":12764.4,"amount":1.17,"vol":1170,"trade_turnover":15046.2046,"count":117},{"id":1603328400,"open":12860.4,"close":12757.5,"high":12972.6,"low":12757.5,"amount":1.158,"vol":1158,"trade_turnover":14882.4656,"count":118},{"id":1603332000,"open":12824.1,"close":12788.8,"high":12848.0,"low":12729.0,"amount":1.124,"vol":1124,"trade_turnover":14368.7948,"count":115},{"id":1603335600,"open":12791.7,"close":12767.2,"high":12834.4,"low":12729.0,"amount":1.194,"vol":1194,"trade_turnover":15268.9298,"count":111},{"id":1603339200,"open":12729.0,"close":12762.2,"high":12778.3,"low":12729.0,"amount":1.152,"vol":1152,"trade_turnover":14695.4876,"count":115},{"id":1603342800,"open":12763.1,"close":12813.8,"high":12842.0,"low":12730.6,"amount":1.21,"vol":1210,"trade_turnover":15440.8162,"count":119},{"id":1603346400,"open":12795.0,"close":12729.1,"high":12795.0,"low":12728.0,"amount":1.188,"vol":1188,"trade_turnover":15128.0098,"count":123},{"id":1603350000,"open":12728.6,"close":12730.6,"high":12730.6,"low":12728.3,"amount":1.266,"vol":1266,"trade_turnover":16115.1306,"count":112},{"id":1603353600,"open":12730.3,"close":12770.1,"high":12921.5,"low":12729.9,"amount":1.35,"vol":1350,"trade_turnover":17233.7326,"count":127},{"id":1603357200,"open":12824.9,"close":12780.4,"high":12872.1,"low":12760.1,"amount":0.98,"vol":980,"trade_turnover":12553.9826,"count":99},{"id":1603360800,"open":12784.9,"close":12934.2,"high":13002.7,"low":12775.6,"amount":0.266,"vol":266,"trade_turnover":3415.023,"count":30},{"id":1603364400,"open":12977.0,"close":13045.0,"high":13057.0,"low":12886.6,"amount":1.004,"vol":1004,"trade_turnover":13020.8576,"count":117},{"id":1603368000,"open":12958.5,"close":12847.9,"high":12973.4,"low":12751.6,"amount":1.134,"vol":1134,"trade_turnover":14594.2752,"count":111},{"id":1603371600,"open":12882.7,"close":12931.0,"high":13000.8,"low":12743.0,"amount":1.152,"vol":1152,"trade_turnover":14877.7314,"count":114},{"id":1603375200,"open":12890.4,"close":12917.8,"high":12995.3,"low":12783.9,"amount":1.182,"vol":1182,"trade_turnover":15224.4716,"count":115},{"id":1603378800,"open":12918.8,"close":12953.0,"high":13031.2,"low":12817.9,"amount":1.176,"vol":1176,"trade_turnover":15197.208,"count":117},{"id":1603382400,"open":12923.1,"close":13055.6,"high":13100.2,"low":12865.6,"amount":1.146,"vol":1146,"trade_turnover":14851.9604,"count":119},{"id":1603386000,"open":12967.6,"close":13082.7,"high":13105.7,"low":12835.5,"amount":1.534,"vol":1534,"trade_turnover":19927.8288,"count":124},{"id":1603389600,"open":13020.4,"close":13016.4,"high":13115.0,"low":12938.7,"amount":1.268,"vol":1268,"trade_turnover":16505.4738,"count":117},{"id":1603393200,"open":13028.3,"close":12970.6,"high":13171.2,"low":12961.8,"amount":1.13,"vol":1130,"trade_turnover":14762.952,"count":112},{"id":1603396800,"open":13016.7,"close":13089.3,"high":13216.1,"low":12998.5,"amount":1.206,"vol":1206,"trade_turnover":15807.1226,"count":117},{"id":1603400400,"open":13136.0,"close":13092.0,"high":13203.7,"low":12932.9,"amount":1.332,"vol":1332,"trade_turnover":17423.4422,"count":114},{"id":1603404000,"open":13119.4,"close":13055.9,"high":13250.5,"low":12984.7,"amount":1.21,"vol":1210,"trade_turnover":15876.0632,"count":114},{"id":1603407600,"open":13059.4,"close":12890.4,"high":13126.5,"low":12857.2,"amount":1.286,"vol":1286,"trade_turnover":16688.422,"count":116},{"id":1603411200,"open":12929.7,"close":12892.2,"high":12994.0,"low":12751.6,"amount":1.502,"vol":1502,"trade_turnover":19331.1596,"count":131},{"id":1603414800,"open":12921.7,"close":12898.3,"high":13003.2,"low":12786.0,"amount":1.386,"vol":1386,"trade_turnover":17904.8902,"count":121},{"id":1603418400,"open":12951.6,"close":12975.1,"high":13054.0,"low":12800.7,"amount":1.416,"vol":1416,"trade_turnover":18306.6204,"count":122},{"id":1603422000,"open":12967.3,"close":12947.0,"high":13030.7,"low":12875.0,"amount":1.19,"vol":1190,"trade_turnover":15409.7984,"count":118},{"id":1603425600,"open":12925.2,"close":12852.0,"high":13047.3,"low":12832.8,"amount":1.022,"vol":1022,"trade_turnover":13214.4388,"count":127},{"id":1603429200,"open":12859.0,"close":12931.1,"high":12991.7,"low":12841.2,"amount":0.478,"vol":478,"trade_turnover":6180.2486,"count":118},{"id":1603432800,"open":12935.9,"close":12939.6,"high":13014.1,"low":12871.9,"amount":0.522,"vol":522,"trade_turnover":6759.0324,"count":132},{"id":1603436400,"open":12923.1,"close":12925.4,"high":12998.9,"low":12917.1,"amount":0.476,"vol":476,"trade_turnover":6163.3118,"count":118},{"id":1603440000,"open":12942.2,"close":12962.6,"high":13014.0,"low":12916.1,"amount":0.508,"vol":508,"trade_turnover":6585.3656,"count":122},{"id":1603443600,"open":12970.5,"close":12926.4,"high":13012.5,"low":12909.9,"amount":0.564,"vol":564,"trade_turnover":7308.8828,"count":124},{"id":1603447200,"open":13001.2,"close":13007.7,"high":13059.5,"low":12925.7,"amount":0.536,"vol":536,"trade_turnover":6957.8796,"count":124},{"id":1603450800,"open":13025.4,"close":12970.6,"high":13078.4,"low":12906.5,"amount":0.486,"vol":486,"trade_turnover":6326.1434,"count":122},{"id":1603454400,"open":12963.9,"close":12935.4,"high":13025.0,"low":12850.8,"amount":0.494,"vol":494,"trade_turnover":6396.0984,"count":117},{"id":1603458000,"open":12913.3,"close":12951.7,"high":13043.3,"low":12911.0,"amount":0.466,"vol":466,"trade_turnover":6049.1412,"count":117},{"id":1603461600,"open":12999.6,"close":12858.8,"high":13006.4,"low":12840.4,"amount":0.46,"vol":460,"trade_turnover":5941.815,"count":116},{"id":1603465200,"open":12885.7,"close":12881.9,"high":12932.9,"low":12826.5,"amount":0.492,"vol":492,"trade_turnover":6340.214,"count":117},{"id":1603468800,"open":12854.4,"close":12784.1,"high":12933.5,"low":12744.4,"amount":0.484,"vol":484,"trade_turnover":6205.4138,"count":123},{"id":1603472400,"open":12832.3,"close":12847.7,"high":12893.1,"low":12730.1,"amount":0.562,"vol":562,"trade_turnover":7218.9184,"count":152},{"id":1603476000,"open":12874.1,"close":12915.7,"high":12939.3,"low":12751.4,"amount":0.53,"vol":530,"trade_turnover":6825.7004,"count":128},{"id":1603479600,"open":12867.9,"close":12972.9,"high":12972.9,"low":12786.6,"amount":0.444,"vol":444,"trade_turnover":5727.7452,"count":117},{"id":1603483200,"open":12956.7,"close":12991.6,"high":13002.2,"low":12842.9,"amount":0.492,"vol":492,"trade_turnover":6375.1566,"count":116},{"id":1603486800,"open":13004.3,"close":12943.5,"high":13004.3,"low":12936.6,"amount":0.5,"vol":500,"trade_turnover":6485.468,"count":125},{"id":1603490400,"open":12923.6,"close":12989.2,"high":13010.3,"low":12884.7,"amount":0.492,"vol":492,"trade_turnover":6376.1492,"count":120},{"id":1603494000,"open":12974.9,"close":12884.6,"high":13024.4,"low":12884.6,"amount":0.51,"vol":510,"trade_turnover":6622.3406,"count":121},{"id":1603497600,"open":12973.7,"close":12953.9,"high":13018.3,"low":12811.1,"amount":0.488,"vol":488,"trade_turnover":6317.7938,"count":120},{"id":1603501200,"open":12927.5,"close":12934.2,"high":13018.1,"low":12872.8,"amount":0.482,"vol":482,"trade_turnover":6242.4178,"count":117},{"id":1603504800,"open":12971.9,"close":12989.1,"high":13003.9,"low":12903.3,"amount":0.484,"vol":484,"trade_turnover":6278.1756,"count":117},{"id":1603508400,"open":13000.1,"close":12975.9,"high":13013.4,"low":12938.3,"amount":0.474,"vol":474,"trade_turnover":6157.7096,"count":122},{"id":1603512000,"open":12989.7,"close":12963.3,"high":13009.4,"low":12905.5,"amount":0.526,"vol":526,"trade_turnover":6831.5658,"count":124},{"id":1603515600,"open":12910.5,"close":12989.7,"high":13041.8,"low":12875.3,"amount":0.522,"vol":522,"trade_turnover":6768.8994,"count":127},{"id":1603519200,"open":12994.7,"close":13003.6,"high":13058.1,"low":12908.8,"amount":0.49,"vol":490,"trade_turnover":6370.5714,"count":120},{"id":1603522800,"open":13011.9,"close":13004.2,"high":13037.8,"low":12981.7,"amount":0.478,"vol":478,"trade_turnover":6218.9722,"count":120},{"id":1603526400,"open":13003.0,"close":12998.2,"high":13030.6,"low":12899.4,"amount":0.52,"vol":520,"trade_turnover":6754.958,"count":124},{"id":1603530000,"open":12998.2,"close":12990.6,"high":13020.3,"low":12893.6,"amount":0.454,"vol":454,"trade_turnover":5891.0574,"count":115},{"id":1603533600,"open":12996.4,"close":13030.1,"high":13059.1,"low":12913.2,"amount":0.502,"vol":502,"trade_turnover":6525.9004,"count":124},{"id":1603537200,"open":12988.4,"close":13033.2,"high":13068.3,"low":12940.2,"amount":0.468,"vol":468,"trade_turnover":6091.0376,"count":119},{"id":1603540800,"open":13035.3,"close":13006.5,"high":13071.8,"low":12978.9,"amount":0.468,"vol":468,"trade_turnover":6102.5902,"count":123},{"id":1603544400,"open":13038.8,"close":12985.9,"high":13066.7,"low":12928.1,"amount":0.534,"vol":534,"trade_turnover":6950.4268,"count":123},{"id":1603548000,"open":12986.3,"close":13042.0,"high":13100.1,"low":12960.5,"amount":0.47,"vol":470,"trade_turnover":6124.2178,"count":100},{"id":1603551600,"open":13038.4,"close":13102.2,"high":13196.5,"low":13038.4,"amount":0.456,"vol":456,"trade_turnover":5989.6362,"count":120},{"id":1603555200,"open":13136.8,"close":13052.7,"high":13176.6,"low":12984.6,"amount":0.458,"vol":458,"trade_turnover":5976.331,"count":121},{"id":1603558800,"open":13006.2,"close":13177.8,"high":13177.8,"low":13003.2,"amount":0.452,"vol":452,"trade_turnover":5911.7058,"count":118},{"id":1603562400,"open":13127.7,"close":13080.8,"high":13170.7,"low":13023.0,"amount":0.468,"vol":468,"trade_turnover":6122.375,"count":119},{"id":1603566000,"open":13040.7,"close":13148.4,"high":13179.3,"low":13014.2,"amount":0.468,"vol":468,"trade_turnover":6126.4278,"count":120},{"id":1603569600,"open":13073.5,"close":13090.1,"high":13179.6,"low":12992.5,"amount":0.47,"vol":470,"trade_turnover":6151.4758,"count":119},{"id":1603573200,"open":13035.4,"close":12993.9,"high":13148.7,"low":12980.7,"amount":0.458,"vol":458,"trade_turnover":5981.071,"count":117},{"id":1603576800,"open":13040.7,"close":13041.1,"high":13112.1,"low":12975.6,"amount":0.478,"vol":478,"trade_turnover":6225.4216,"count":118},{"id":1603580400,"open":13012.6,"close":13184.3,"high":13184.3,"low":13009.3,"amount":0.472,"vol":472,"trade_turnover":6173.4244,"count":118},{"id":1603584000,"open":13080.8,"close":13154.3,"high":13170.4,"low":13007.7,"amount":0.46,"vol":460,"trade_turnover":6024.09,"count":115},{"id":1603587600,"open":13092.0,"close":13196.1,"high":13196.8,"low":13024.0,"amount":0.398,"vol":398,"trade_turnover":5217.5364,"count":102},{"id":1603591200,"open":13124.7,"close":13082.4,"high":13175.1,"low":13035.0,"amount":0.476,"vol":476,"trade_turnover":6228.6596,"count":120},{"id":1603594800,"open":13049.1,"close":13259.0,"high":13383.8,"low":13049.1,"amount":0.578,"vol":578,"trade_turnover":7629.3886,"count":137},{"id":1603598400,"open":13277.0,"close":13243.4,"high":13369.0,"low":13216.0,"amount":0.47,"vol":470,"trade_turnover":6247.955,"count":122},{"id":1603602000,"open":13285.3,"close":13017.3,"high":13353.3,"low":13010.1,"amount":0.61,"vol":610,"trade_turnover":8048.8598,"count":134},{"id":1603605600,"open":13022.5,"close":13060.3,"high":13105.7,"low":13018.2,"amount":0.486,"vol":486,"trade_turnover":6344.1474,"count":118},{"id":1603609200,"open":13048.5,"close":13078.1,"high":13112.1,"low":13022.0,"amount":0.464,"vol":464,"trade_turnover":6061.5416,"count":120},{"id":1603612800,"open":13077.2,"close":13046.0,"high":13091.0,"low":13017.2,"amount":0.464,"vol":464,"trade_turnover":6055.3734,"count":120},{"id":1603616400,"open":13065.1,"close":13040.8,"high":13084.0,"low":13014.2,"amount":0.478,"vol":478,"trade_turnover":6235.7882,"count":117},{"id":1603620000,"open":13047.1,"close":13028.5,"high":13064.2,"low":13010.2,"amount":0.478,"vol":478,"trade_turnover":6232.2428,"count":125},{"id":1603623600,"open":13061.5,"close":12897.6,"high":13061.5,"low":12852.9,"amount":0.534,"vol":534,"trade_turnover":6918.1226,"count":123},{"id":1603627200,"open":12908.3,"close":12964.3,"high":13069.7,"low":12893.2,"amount":0.444,"vol":444,"trade_turnover":5755.8712,"count":117},{"id":1603630800,"open":13001.3,"close":12949.3,"high":13071.9,"low":12891.8,"amount":0.498,"vol":498,"trade_turnover":6465.078,"count":119},{"id":1603634400,"open":12975.8,"close":12946.8,"high":13077.7,"low":12900.0,"amount":0.468,"vol":468,"trade_turnover":6075.4554,"count":116},{"id":1603638000,"open":12975.2,"close":12883.3,"high":13069.1,"low":12883.3,"amount":0.47,"vol":470,"trade_turnover":6097.1072,"count":119},{"id":1603641600,"open":12916.2,"close":12978.7,"high":13067.9,"low":12877.5,"amount":0.482,"vol":482,"trade_turnover":6256.4472,"count":118},{"id":1603645200,"open":13008.0,"close":13004.4,"high":13087.5,"low":12922.7,"amount":0.47,"vol":470,"trade_turnover":6108.3892,"count":117},{"id":1603648800,"open":12972.8,"close":12957.2,"high":13067.6,"low":12893.6,"amount":0.468,"vol":468,"trade_turnover":6079.1484,"count":118},{"id":1603652400,"open":12996.5,"close":13021.8,"high":13066.9,"low":12916.6,"amount":0.442,"vol":442,"trade_turnover":5746.5548,"count":118},{"id":1603656000,"open":12992.9,"close":12985.4,"high":13081.5,"low":12944.9,"amount":0.508,"vol":508,"trade_turnover":6616.9872,"count":120},{"id":1603659600,"open":12999.9,"close":13011.2,"high":13068.6,"low":12921.4,"amount":0.508,"vol":508,"trade_turnover":6614.816,"count":122},{"id":1603663200,"open":12979.6,"close":12959.4,"high":13073.8,"low":12911.9,"amount":0.486,"vol":486,"trade_turnover":6320.907,"count":121},{"id":1603666800,"open":12963.4,"close":13032.1,"high":13085.2,"low":12927.8,"amount":0.452,"vol":452,"trade_turnover":5878.6442,"count":113},{"id":1603670400,"open":12964.2,"close":13001.0,"high":13076.7,"low":12918.3,"amount":0.482,"vol":482,"trade_turnover":6263.698,"count":121},{"id":1603674000,"open":13040.0,"close":13053.7,"high":13096.4,"low":12991.2,"amount":0.478,"vol":478,"trade_turnover":6232.2328,"count":124},{"id":1603677600,"open":13060.6,"close":13064.4,"high":13185.7,"low":12985.1,"amount":0.488,"vol":488,"trade_turnover":6387.534,"count":121},{"id":1603681200,"open":13032.3,"close":13092.8,"high":13187.2,"low":12984.1,"amount":0.486,"vol":486,"trade_turnover":6369.0272,"count":135},{"id":1603684800,"open":13092.0,"close":13132.6,"high":13181.6,"low":12962.3,"amount":0.51,"vol":510,"trade_turnover":6679.829,"count":131},{"id":1603688400,"open":13129.2,"close":13092.1,"high":13205.3,"low":13025.3,"amount":0.506,"vol":506,"trade_turnover":6641.2128,"count":126},{"id":1603692000,"open":13121.8,"close":13071.4,"high":13188.1,"low":12989.8,"amount":1.616,"vol":1616,"trade_turnover":21170.8224,"count":141},{"id":1603695600,"open":13061.0,"close":13038.7,"high":13100.0,"low":12965.2,"amount":3.746,"vol":3746,"trade_turnover":48924.8902,"count":110},{"id":1603699200,"open":13030.9,"close":13039.3,"high":13102.0,"low":12852.8,"amount":8.966,"vol":8966,"trade_turnover":116525.5534,"count":173},{"id":1603702800,"open":13047.1,"close":13075.9,"high":13088.4,"low":13039.8,"amount":4.48,"vol":4480,"trade_turnover":58521.1714,"count":124},{"id":1603706400,"open":13072.1,"close":13100.0,"high":13100.0,"low":13060.2,"amount":4.272,"vol":4272,"trade_turnover":55895.9778,"count":130},{"id":1603710000,"open":13100.0,"close":13138.4,"high":13159.0,"low":13100.0,"amount":29.798,"vol":29798,"trade_turnover":391138.024,"count":230},{"id":1603713600,"open":13138.8,"close":13149.8,"high":13200.0,"low":13100.0,"amount":5.154,"vol":5154,"trade_turnover":67694.652,"count":188},{"id":1603717200,"open":13150.0,"close":13205.8,"high":13351.5,"low":13133.1,"amount":35.608,"vol":35608,"trade_turnover":472780.3394,"count":328},{"id":1603720800,"open":13203.0,"close":13166.1,"high":13280.0,"low":13144.1,"amount":31.748,"vol":31748,"trade_turnover":418744.5588,"count":235},{"id":1603724400,"open":13159.0,"close":12978.0,"high":13165.2,"low":12903.8,"amount":36.53,"vol":36530,"trade_turnover":476940.3296,"count":384},{"id":1603728000,"open":12965.0,"close":12869.6,"high":13069.8,"low":12850.5,"amount":35.018,"vol":35018,"trade_turnover":453288.918,"count":323},{"id":1603731600,"open":12879.2,"close":12873.8,"high":12941.5,"low":12583.9,"amount":92.628,"vol":92628,"trade_turnover":1185973.467,"count":560},{"id":1603735200,"open":12856.2,"close":12946.8,"high":12954.5,"low":12820.4,"amount":4.302,"vol":4302,"trade_turnover":55481.0054,"count":128},{"id":1603738800,"open":12945.6,"close":12953.4,"high":12953.5,"low":12914.1,"amount":13.83,"vol":13830,"trade_turnover":179112.1598,"count":118},{"id":1603742400,"open":12953.5,"close":12983.4,"high":13007.5,"low":12953.5,"amount":17.172,"vol":17172,"trade_turnover":223230.2122,"count":132},{"id":1603746000,"open":12983.1,"close":12993.8,"high":13007.5,"low":12982.7,"amount":3.212,"vol":3212,"trade_turnover":41767.8906,"count":59},{"id":1603749600,"open":13002.1,"close":13007.5,"high":13007.5,"low":12974.0,"amount":1.504,"vol":1504,"trade_turnover":19543.3568,"count":74},{"id":1603753200,"open":13007.5,"close":13033.7,"high":13061.2,"low":13007.5,"amount":3.454,"vol":3454,"trade_turnover":45001.601,"count":101},{"id":1603756800,"open":13029.2,"close":13067.1,"high":13105.0,"low":13028.3,"amount":8.784,"vol":8784,"trade_turnover":114871.8246,"count":98},{"id":1603760400,"open":13074.3,"close":13061.7,"high":13074.4,"low":13051.5,"amount":11.592,"vol":11592,"trade_turnover":151386.9038,"count":66},{"id":1603764000,"open":13061.7,"close":13049.7,"high":13097.6,"low":13040.1,"amount":19.298,"vol":19298,"trade_turnover":252061.019,"count":109},{"id":1603767600,"open":13057.6,"close":13070.4,"high":13080.0,"low":13057.1,"amount":22.992,"vol":22992,"trade_turnover":300453.9788,"count":69},{"id":1603771200,"open":13080.0,"close":13103.3,"high":13175.0,"low":13079.6,"amount":14.396,"vol":14396,"trade_turnover":188461.9156,"count":59},{"id":1603774800,"open":13121.3,"close":13073.6,"high":13121.3,"low":13069.7,"amount":5.058,"vol":5058,"trade_turnover":66201.3552,"count":44},{"id":1603778400,"open":13074.9,"close":13103.4,"high":13149.0,"low":13069.6,"amount":9.106,"vol":9106,"trade_turnover":119104.8906,"count":107},{"id":1603782000,"open":13103.3,"close":13130.0,"high":13169.8,"low":12992.4,"amount":73.95,"vol":73950,"trade_turnover":968195.155,"count":305},{"id":1603785600,"open":13135.1,"close":13123.8,"high":13148.4,"low":13044.0,"amount":18.732,"vol":18732,"trade_turnover":245533.5448,"count":135},{"id":1603789200,"open":13115.5,"close":13131.7,"high":13131.8,"low":13075.7,"amount":13.756,"vol":13756,"trade_turnover":180253.7708,"count":102},{"id":1603792800,"open":13134.8,"close":13216.9,"high":13252.0,"low":13063.4,"amount":154.108,"vol":154108,"trade_turnover":2029983.656,"count":525},{"id":1603796400,"open":13218.8,"close":13395.8,"high":13590.1,"low":13213.5,"amount":170.09,"vol":170090,"trade_turnover":2276279.742,"count":591},{"id":1603800000,"open":13395.9,"close":13376.9,"high":13414.0,"low":13331.7,"amount":48.928,"vol":48928,"trade_turnover":654585.9108,"count":216},{"id":1603803600,"open":13376.5,"close":13384.3,"high":13490.9,"low":13329.8,"amount":63.294,"vol":63294,"trade_turnover":848130.9212,"count":316},{"id":1603807200,"open":13392.6,"close":13398.2,"high":13415.8,"low":13344.8,"amount":12.892,"vol":12892,"trade_turnover":172618.6864,"count":124},{"id":1603810800,"open":13398.2,"close":13598.5,"high":13626.7,"low":13398.2,"amount":93.22,"vol":93220,"trade_turnover":1262695.5466,"count":476},{"id":1603814400,"open":13595.8,"close":13639.9,"high":13639.9,"low":13520.2,"amount":85.45,"vol":85450,"trade_turnover":1161481.4136,"count":435},{"id":1603818000,"open":13640.0,"close":13688.1,"high":13826.7,"low":13589.0,"amount":191.812,"vol":191812,"trade_turnover":2628428.3788,"count":711},{"id":1603821600,"open":13685.0,"close":13630.1,"high":13745.0,"low":13528.2,"amount":65.434,"vol":65434,"trade_turnover":891541.8394,"count":410},{"id":1603825200,"open":13629.4,"close":13637.1,"high":13659.8,"low":13595.4,"amount":5.788,"vol":5788,"trade_turnover":78836.2578,"count":65},{"id":1603828800,"open":13644.4,"close":13616.6,"high":13805.1,"low":13582.6,"amount":163.104,"vol":163104,"trade_turnover":2234040.3544,"count":537},{"id":1603832400,"open":13609.8,"close":13705.5,"high":13753.5,"low":13609.8,"amount":9.884,"vol":9884,"trade_turnover":135406.4752,"count":101},{"id":1603836000,"open":13705.4,"close":13739.9,"high":13739.9,"low":13658.2,"amount":7.436,"vol":7436,"trade_turnover":101840.3508,"count":100},{"id":1603839600,"open":13739.9,"close":13649.6,"high":13794.6,"low":13582.6,"amount":17.086,"vol":17086,"trade_turnover":233971.8448,"count":234},{"id":1603843200,"open":13645.9,"close":13701.7,"high":13745.2,"low":13618.8,"amount":24.108,"vol":24108,"trade_turnover":330206.5694,"count":177},{"id":1603846800,"open":13702.1,"close":13702.6,"high":13725.6,"low":13647.9,"amount":15.892,"vol":15892,"trade_turnover":217816.7008,"count":151},{"id":1603850400,"open":13701.7,"close":13811.6,"high":13832.2,"low":13680.2,"amount":46.548,"vol":46548,"trade_turnover":640636.0352,"count":274},{"id":1603854000,"open":13818.5,"close":13777.0,"high":13820.3,"low":13717.5,"amount":67.896,"vol":67896,"trade_turnover":935838.2238,"count":320},{"id":1603857600,"open":13767.3,"close":13735.7,"high":13807.2,"low":13710.0,"amount":33.156,"vol":33156,"trade_turnover":455941.234,"count":210},{"id":1603861200,"open":13735.5,"close":13715.8,"high":13753.9,"low":13671.3,"amount":32.076,"vol":32076,"trade_turnover":439612.64,"count":198},{"id":1603864800,"open":13715.9,"close":13701.3,"high":13757.0,"low":13694.9,"amount":14.756,"vol":14756,"trade_turnover":202602.5164,"count":122},{"id":1603868400,"open":13701.2,"close":13674.2,"high":13708.7,"low":13550.0,"amount":155.534,"vol":155534,"trade_turnover":2117935.0928,"count":635},{"id":1603872000,"open":13673.0,"close":13691.7,"high":13691.7,"low":13584.0,"amount":29.846,"vol":29846,"trade_turnover":407073.1398,"count":240},{"id":1603875600,"open":13689.3,"close":13587.1,"high":13707.5,"low":13573.5,"amount":104.542,"vol":104542,"trade_turnover":1425079.9344,"count":377},{"id":1603879200,"open":13584.6,"close":13552.7,"high":13618.0,"low":13504.7,"amount":73.818,"vol":73818,"trade_turnover":1001666.0908,"count":358},{"id":1603882800,"open":13552.6,"close":13336.4,"high":13565.4,"low":13330.0,"amount":176.544,"vol":176544,"trade_turnover":2369166.1492,"count":1004},{"id":1603886400,"open":13331.5,"close":13300.3,"high":13385.0,"low":13173.9,"amount":289.73,"vol":289730,"trade_turnover":3846751.7166,"count":968},{"id":1603890000,"open":13300.2,"close":13129.9,"high":13340.0,"low":13122.9,"amount":139.822,"vol":139822,"trade_turnover":1848876.932,"count":612},{"id":1603893600,"open":13123.4,"close":13082.2,"high":13168.2,"low":12915.9,"amount":367.876,"vol":367876,"trade_turnover":4802516.9818,"count":1168},{"id":1603897200,"open":13077.1,"close":13221.2,"high":13235.2,"low":13052.3,"amount":84.044,"vol":84044,"trade_turnover":1106883.1282,"count":375},{"id":1603900800,"open":13218.7,"close":13145.1,"high":13218.7,"low":13050.0,"amount":29.566,"vol":29566,"trade_turnover":388697.4104,"count":244},{"id":1603904400,"open":13145.1,"close":13176.7,"high":13204.9,"low":13006.6,"amount":53.336,"vol":53336,"trade_turnover":700385.2784,"count":299},{"id":1603908000,"open":13171.0,"close":13196.5,"high":13219.6,"low":13131.0,"amount":34.164,"vol":34164,"trade_turnover":450210.5778,"count":218},{"id":1603911600,"open":13200.0,"close":13154.9,"high":13237.4,"low":13145.0,"amount":22.158,"vol":22158,"trade_turnover":292020.0438,"count":185},{"id":1603915200,"open":13154.5,"close":13198.1,"high":13211.8,"low":13147.4,"amount":4.548,"vol":4548,"trade_turnover":59991.1118,"count":75},{"id":1603918800,"open":13193.5,"close":13190.1,"high":13196.5,"low":13100.2,"amount":3.52,"vol":3520,"trade_turnover":46175.428,"count":68},{"id":1603922400,"open":13185.4,"close":13252.0,"high":13267.5,"low":13185.4,"amount":3.122,"vol":3122,"trade_turnover":41304.2018,"count":72},{"id":1603926000,"open":13242.1,"close":13265.9,"high":13282.3,"low":13235.9,"amount":14.768,"vol":14768,"trade_turnover":195689.0764,"count":86},{"id":1603929600,"open":13253.9,"close":13245.1,"high":13294.7,"low":13237.4,"amount":19.968,"vol":19968,"trade_turnover":264834.1944,"count":98},{"id":1603933200,"open":13244.6,"close":13274.2,"high":13285.3,"low":13166.3,"amount":35.282,"vol":35282,"trade_turnover":465789.6302,"count":192},{"id":1603936800,"open":13275.9,"close":13241.1,"high":13277.7,"low":13212.2,"amount":9.748,"vol":9748,"trade_turnover":129016.0684,"count":119},{"id":1603940400,"open":13237.1,"close":13262.5,"high":13262.5,"low":13174.6,"amount":27.3,"vol":27300,"trade_turnover":360589.8982,"count":199},{"id":1603944000,"open":13269.1,"close":13229.5,"high":13277.7,"low":13229.5,"amount":18.904,"vol":18904,"trade_turnover":250713.2812,"count":109},{"id":1603947600,"open":13228.5,"close":13274.8,"high":13274.8,"low":13228.5,"amount":15.822,"vol":15822,"trade_turnover":209781.909,"count":134},{"id":1603951200,"open":13274.8,"close":13255.0,"high":13323.0,"low":13242.3,"amount":91.246,"vol":91246,"trade_turnover":1211271.2788,"count":294},{"id":1603954800,"open":13255.0,"close":13142.4,"high":13269.3,"low":13123.1,"amount":187.622,"vol":187622,"trade_turnover":2478299.7074,"count":506},{"id":1603958400,"open":13145.9,"close":13124.8,"high":13182.4,"low":13094.1,"amount":69.532,"vol":69532,"trade_turnover":914157.2418,"count":226},{"id":1603962000,"open":13129.5,"close":13183.7,"high":13197.1,"low":13129.5,"amount":23.184,"vol":23184,"trade_turnover":305485.9524,"count":141},{"id":1603965600,"open":13184.8,"close":13105.2,"high":13187.5,"low":13053.1,"amount":121.146,"vol":121146,"trade_turnover":1590026.4416,"count":442},{"id":1603969200,"open":13105.1,"close":13060.1,"high":13171.4,"low":13060.1,"amount":47.498,"vol":47498,"trade_turnover":623578.149,"count":262},{"id":1603972800,"open":13056.9,"close":13131.8,"high":13145.8,"low":12977.9,"amount":126.552,"vol":126552,"trade_turnover":1652549.311,"count":481},{"id":1603976400,"open":13131.7,"close":13230.0,"high":13237.2,"low":13102.0,"amount":100.482,"vol":100482,"trade_turnover":1326403.7206,"count":325},{"id":1603980000,"open":13231.0,"close":13420.8,"high":13476.1,"low":13231.0,"amount":253.258,"vol":253258,"trade_turnover":3384941.438,"count":752},{"id":1603983600,"open":13416.0,"close":13420.6,"high":13458.7,"low":13358.7,"amount":64.71,"vol":64710,"trade_turnover":869052.3804,"count":269},{"id":1603987200,"open":13421.9,"close":13535.9,"high":13594.5,"low":13391.8,"amount":120.24,"vol":120240,"trade_turnover":1626567.8278,"count":570}]} +2024-01-18 11:13:18.055 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:41] - 请求 KLine 数据解析之后的数据为:{"wsid":19750305,"data":[{"amount":0.276,"high":12300.0,"vol":276,"low":11715.8,"count":39,"id":1603270800,"close":12196.7,"tradeTurnover":3315.9104,"open":12198.0},{"amount":0.198,"high":12289.9,"vol":198,"low":12111.0,"count":21,"id":1603274400,"close":12277.9,"tradeTurnover":2420.7728,"open":12196.7},{"amount":0.012,"high":12277.9,"vol":12,"low":12000.0,"count":5,"id":1603278000,"close":12000.0,"tradeTurnover":145.2238,"open":12111.0},{"amount":0.084,"high":12498.0,"vol":84,"low":12078.0,"count":12,"id":1603281600,"close":12497.4,"tradeTurnover":1040.0504,"open":12078.0},{"amount":1.122,"high":12495.6,"vol":1122,"low":12282.9,"count":112,"id":1603285200,"close":12373.5,"tradeTurnover":13905.3124,"open":12495.6},{"amount":5.29,"high":12807.6,"vol":5290,"low":12358.1,"count":155,"id":1603288800,"close":12689.9,"tradeTurnover":66852.128,"open":12412.9},{"amount":1.174,"high":12778.7,"vol":1174,"low":12573.2,"count":113,"id":1603292400,"close":12701.9,"tradeTurnover":14907.367,"open":12692.8},{"amount":1.156,"high":12920.9,"vol":1156,"low":12624.8,"count":115,"id":1603296000,"close":12835.9,"tradeTurnover":14802.449,"open":12679.7},{"amount":1.12,"high":12908.3,"vol":1120,"low":12687.5,"count":115,"id":1603299600,"close":12754.2,"tradeTurnover":14345.7324,"open":12848.3},{"amount":1.106,"high":12849.0,"vol":1106,"low":12668.3,"count":114,"id":1603303200,"close":12740.2,"tradeTurnover":14105.3504,"open":12743.7},{"amount":1.032,"high":12843.1,"vol":1032,"low":12597.2,"count":112,"id":1603306800,"close":12650.3,"tradeTurnover":13125.4568,"open":12729.5},{"amount":1.154,"high":12848.4,"vol":1154,"low":12610.2,"count":116,"id":1603310400,"close":12807.0,"tradeTurnover":14680.638,"open":12666.8},{"amount":1.164,"high":13005.1,"vol":1164,"low":12748.2,"count":114,"id":1603314000,"close":12938.9,"tradeTurnover":14976.9366,"open":12866.0},{"amount":1.174,"high":13211.2,"vol":1174,"low":12865.7,"count":114,"id":1603317600,"close":13122.0,"tradeTurnover":15285.2446,"open":12921.0},{"amount":1.172,"high":13173.2,"vol":1172,"low":12688.6,"count":117,"id":1603321200,"close":12829.8,"tradeTurnover":15060.9938,"open":13153.2},{"amount":1.17,"high":12988.1,"vol":1170,"low":12764.4,"count":117,"id":1603324800,"close":12885.9,"tradeTurnover":15046.2046,"open":12793.1},{"amount":1.158,"high":12972.6,"vol":1158,"low":12757.5,"count":118,"id":1603328400,"close":12757.5,"tradeTurnover":14882.4656,"open":12860.4},{"amount":1.124,"high":12848.0,"vol":1124,"low":12729.0,"count":115,"id":1603332000,"close":12788.8,"tradeTurnover":14368.7948,"open":12824.1},{"amount":1.194,"high":12834.4,"vol":1194,"low":12729.0,"count":111,"id":1603335600,"close":12767.2,"tradeTurnover":15268.9298,"open":12791.7},{"amount":1.152,"high":12778.3,"vol":1152,"low":12729.0,"count":115,"id":1603339200,"close":12762.2,"tradeTurnover":14695.4876,"open":12729.0},{"amount":1.21,"high":12842.0,"vol":1210,"low":12730.6,"count":119,"id":1603342800,"close":12813.8,"tradeTurnover":15440.8162,"open":12763.1},{"amount":1.188,"high":12795.0,"vol":1188,"low":12728.0,"count":123,"id":1603346400,"close":12729.1,"tradeTurnover":15128.0098,"open":12795.0},{"amount":1.266,"high":12730.6,"vol":1266,"low":12728.3,"count":112,"id":1603350000,"close":12730.6,"tradeTurnover":16115.1306,"open":12728.6},{"amount":1.35,"high":12921.5,"vol":1350,"low":12729.9,"count":127,"id":1603353600,"close":12770.1,"tradeTurnover":17233.7326,"open":12730.3},{"amount":0.98,"high":12872.1,"vol":980,"low":12760.1,"count":99,"id":1603357200,"close":12780.4,"tradeTurnover":12553.9826,"open":12824.9},{"amount":0.266,"high":13002.7,"vol":266,"low":12775.6,"count":30,"id":1603360800,"close":12934.2,"tradeTurnover":3415.023,"open":12784.9},{"amount":1.004,"high":13057.0,"vol":1004,"low":12886.6,"count":117,"id":1603364400,"close":13045.0,"tradeTurnover":13020.8576,"open":12977.0},{"amount":1.134,"high":12973.4,"vol":1134,"low":12751.6,"count":111,"id":1603368000,"close":12847.9,"tradeTurnover":14594.2752,"open":12958.5},{"amount":1.152,"high":13000.8,"vol":1152,"low":12743.0,"count":114,"id":1603371600,"close":12931.0,"tradeTurnover":14877.7314,"open":12882.7},{"amount":1.182,"high":12995.3,"vol":1182,"low":12783.9,"count":115,"id":1603375200,"close":12917.8,"tradeTurnover":15224.4716,"open":12890.4},{"amount":1.176,"high":13031.2,"vol":1176,"low":12817.9,"count":117,"id":1603378800,"close":12953.0,"tradeTurnover":15197.208,"open":12918.8},{"amount":1.146,"high":13100.2,"vol":1146,"low":12865.6,"count":119,"id":1603382400,"close":13055.6,"tradeTurnover":14851.9604,"open":12923.1},{"amount":1.534,"high":13105.7,"vol":1534,"low":12835.5,"count":124,"id":1603386000,"close":13082.7,"tradeTurnover":19927.8288,"open":12967.6},{"amount":1.268,"high":13115.0,"vol":1268,"low":12938.7,"count":117,"id":1603389600,"close":13016.4,"tradeTurnover":16505.4738,"open":13020.4},{"amount":1.13,"high":13171.2,"vol":1130,"low":12961.8,"count":112,"id":1603393200,"close":12970.6,"tradeTurnover":14762.952,"open":13028.3},{"amount":1.206,"high":13216.1,"vol":1206,"low":12998.5,"count":117,"id":1603396800,"close":13089.3,"tradeTurnover":15807.1226,"open":13016.7},{"amount":1.332,"high":13203.7,"vol":1332,"low":12932.9,"count":114,"id":1603400400,"close":13092.0,"tradeTurnover":17423.4422,"open":13136.0},{"amount":1.21,"high":13250.5,"vol":1210,"low":12984.7,"count":114,"id":1603404000,"close":13055.9,"tradeTurnover":15876.0632,"open":13119.4},{"amount":1.286,"high":13126.5,"vol":1286,"low":12857.2,"count":116,"id":1603407600,"close":12890.4,"tradeTurnover":16688.422,"open":13059.4},{"amount":1.502,"high":12994.0,"vol":1502,"low":12751.6,"count":131,"id":1603411200,"close":12892.2,"tradeTurnover":19331.1596,"open":12929.7},{"amount":1.386,"high":13003.2,"vol":1386,"low":12786.0,"count":121,"id":1603414800,"close":12898.3,"tradeTurnover":17904.8902,"open":12921.7},{"amount":1.416,"high":13054.0,"vol":1416,"low":12800.7,"count":122,"id":1603418400,"close":12975.1,"tradeTurnover":18306.6204,"open":12951.6},{"amount":1.19,"high":13030.7,"vol":1190,"low":12875.0,"count":118,"id":1603422000,"close":12947.0,"tradeTurnover":15409.7984,"open":12967.3},{"amount":1.022,"high":13047.3,"vol":1022,"low":12832.8,"count":127,"id":1603425600,"close":12852.0,"tradeTurnover":13214.4388,"open":12925.2},{"amount":0.478,"high":12991.7,"vol":478,"low":12841.2,"count":118,"id":1603429200,"close":12931.1,"tradeTurnover":6180.2486,"open":12859.0},{"amount":0.522,"high":13014.1,"vol":522,"low":12871.9,"count":132,"id":1603432800,"close":12939.6,"tradeTurnover":6759.0324,"open":12935.9},{"amount":0.476,"high":12998.9,"vol":476,"low":12917.1,"count":118,"id":1603436400,"close":12925.4,"tradeTurnover":6163.3118,"open":12923.1},{"amount":0.508,"high":13014.0,"vol":508,"low":12916.1,"count":122,"id":1603440000,"close":12962.6,"tradeTurnover":6585.3656,"open":12942.2},{"amount":0.564,"high":13012.5,"vol":564,"low":12909.9,"count":124,"id":1603443600,"close":12926.4,"tradeTurnover":7308.8828,"open":12970.5},{"amount":0.536,"high":13059.5,"vol":536,"low":12925.7,"count":124,"id":1603447200,"close":13007.7,"tradeTurnover":6957.8796,"open":13001.2},{"amount":0.486,"high":13078.4,"vol":486,"low":12906.5,"count":122,"id":1603450800,"close":12970.6,"tradeTurnover":6326.1434,"open":13025.4},{"amount":0.494,"high":13025.0,"vol":494,"low":12850.8,"count":117,"id":1603454400,"close":12935.4,"tradeTurnover":6396.0984,"open":12963.9},{"amount":0.466,"high":13043.3,"vol":466,"low":12911.0,"count":117,"id":1603458000,"close":12951.7,"tradeTurnover":6049.1412,"open":12913.3},{"amount":0.46,"high":13006.4,"vol":460,"low":12840.4,"count":116,"id":1603461600,"close":12858.8,"tradeTurnover":5941.815,"open":12999.6},{"amount":0.492,"high":12932.9,"vol":492,"low":12826.5,"count":117,"id":1603465200,"close":12881.9,"tradeTurnover":6340.214,"open":12885.7},{"amount":0.484,"high":12933.5,"vol":484,"low":12744.4,"count":123,"id":1603468800,"close":12784.1,"tradeTurnover":6205.4138,"open":12854.4},{"amount":0.562,"high":12893.1,"vol":562,"low":12730.1,"count":152,"id":1603472400,"close":12847.7,"tradeTurnover":7218.9184,"open":12832.3},{"amount":0.53,"high":12939.3,"vol":530,"low":12751.4,"count":128,"id":1603476000,"close":12915.7,"tradeTurnover":6825.7004,"open":12874.1},{"amount":0.444,"high":12972.9,"vol":444,"low":12786.6,"count":117,"id":1603479600,"close":12972.9,"tradeTurnover":5727.7452,"open":12867.9},{"amount":0.492,"high":13002.2,"vol":492,"low":12842.9,"count":116,"id":1603483200,"close":12991.6,"tradeTurnover":6375.1566,"open":12956.7},{"amount":0.5,"high":13004.3,"vol":500,"low":12936.6,"count":125,"id":1603486800,"close":12943.5,"tradeTurnover":6485.468,"open":13004.3},{"amount":0.492,"high":13010.3,"vol":492,"low":12884.7,"count":120,"id":1603490400,"close":12989.2,"tradeTurnover":6376.1492,"open":12923.6},{"amount":0.51,"high":13024.4,"vol":510,"low":12884.6,"count":121,"id":1603494000,"close":12884.6,"tradeTurnover":6622.3406,"open":12974.9},{"amount":0.488,"high":13018.3,"vol":488,"low":12811.1,"count":120,"id":1603497600,"close":12953.9,"tradeTurnover":6317.7938,"open":12973.7},{"amount":0.482,"high":13018.1,"vol":482,"low":12872.8,"count":117,"id":1603501200,"close":12934.2,"tradeTurnover":6242.4178,"open":12927.5},{"amount":0.484,"high":13003.9,"vol":484,"low":12903.3,"count":117,"id":1603504800,"close":12989.1,"tradeTurnover":6278.1756,"open":12971.9},{"amount":0.474,"high":13013.4,"vol":474,"low":12938.3,"count":122,"id":1603508400,"close":12975.9,"tradeTurnover":6157.7096,"open":13000.1},{"amount":0.526,"high":13009.4,"vol":526,"low":12905.5,"count":124,"id":1603512000,"close":12963.3,"tradeTurnover":6831.5658,"open":12989.7},{"amount":0.522,"high":13041.8,"vol":522,"low":12875.3,"count":127,"id":1603515600,"close":12989.7,"tradeTurnover":6768.8994,"open":12910.5},{"amount":0.49,"high":13058.1,"vol":490,"low":12908.8,"count":120,"id":1603519200,"close":13003.6,"tradeTurnover":6370.5714,"open":12994.7},{"amount":0.478,"high":13037.8,"vol":478,"low":12981.7,"count":120,"id":1603522800,"close":13004.2,"tradeTurnover":6218.9722,"open":13011.9},{"amount":0.52,"high":13030.6,"vol":520,"low":12899.4,"count":124,"id":1603526400,"close":12998.2,"tradeTurnover":6754.958,"open":13003.0},{"amount":0.454,"high":13020.3,"vol":454,"low":12893.6,"count":115,"id":1603530000,"close":12990.6,"tradeTurnover":5891.0574,"open":12998.2},{"amount":0.502,"high":13059.1,"vol":502,"low":12913.2,"count":124,"id":1603533600,"close":13030.1,"tradeTurnover":6525.9004,"open":12996.4},{"amount":0.468,"high":13068.3,"vol":468,"low":12940.2,"count":119,"id":1603537200,"close":13033.2,"tradeTurnover":6091.0376,"open":12988.4},{"amount":0.468,"high":13071.8,"vol":468,"low":12978.9,"count":123,"id":1603540800,"close":13006.5,"tradeTurnover":6102.5902,"open":13035.3},{"amount":0.534,"high":13066.7,"vol":534,"low":12928.1,"count":123,"id":1603544400,"close":12985.9,"tradeTurnover":6950.4268,"open":13038.8},{"amount":0.47,"high":13100.1,"vol":470,"low":12960.5,"count":100,"id":1603548000,"close":13042.0,"tradeTurnover":6124.2178,"open":12986.3},{"amount":0.456,"high":13196.5,"vol":456,"low":13038.4,"count":120,"id":1603551600,"close":13102.2,"tradeTurnover":5989.6362,"open":13038.4},{"amount":0.458,"high":13176.6,"vol":458,"low":12984.6,"count":121,"id":1603555200,"close":13052.7,"tradeTurnover":5976.331,"open":13136.8},{"amount":0.452,"high":13177.8,"vol":452,"low":13003.2,"count":118,"id":1603558800,"close":13177.8,"tradeTurnover":5911.7058,"open":13006.2},{"amount":0.468,"high":13170.7,"vol":468,"low":13023.0,"count":119,"id":1603562400,"close":13080.8,"tradeTurnover":6122.375,"open":13127.7},{"amount":0.468,"high":13179.3,"vol":468,"low":13014.2,"count":120,"id":1603566000,"close":13148.4,"tradeTurnover":6126.4278,"open":13040.7},{"amount":0.47,"high":13179.6,"vol":470,"low":12992.5,"count":119,"id":1603569600,"close":13090.1,"tradeTurnover":6151.4758,"open":13073.5},{"amount":0.458,"high":13148.7,"vol":458,"low":12980.7,"count":117,"id":1603573200,"close":12993.9,"tradeTurnover":5981.071,"open":13035.4},{"amount":0.478,"high":13112.1,"vol":478,"low":12975.6,"count":118,"id":1603576800,"close":13041.1,"tradeTurnover":6225.4216,"open":13040.7},{"amount":0.472,"high":13184.3,"vol":472,"low":13009.3,"count":118,"id":1603580400,"close":13184.3,"tradeTurnover":6173.4244,"open":13012.6},{"amount":0.46,"high":13170.4,"vol":460,"low":13007.7,"count":115,"id":1603584000,"close":13154.3,"tradeTurnover":6024.09,"open":13080.8},{"amount":0.398,"high":13196.8,"vol":398,"low":13024.0,"count":102,"id":1603587600,"close":13196.1,"tradeTurnover":5217.5364,"open":13092.0},{"amount":0.476,"high":13175.1,"vol":476,"low":13035.0,"count":120,"id":1603591200,"close":13082.4,"tradeTurnover":6228.6596,"open":13124.7},{"amount":0.578,"high":13383.8,"vol":578,"low":13049.1,"count":137,"id":1603594800,"close":13259.0,"tradeTurnover":7629.3886,"open":13049.1},{"amount":0.47,"high":13369.0,"vol":470,"low":13216.0,"count":122,"id":1603598400,"close":13243.4,"tradeTurnover":6247.955,"open":13277.0},{"amount":0.61,"high":13353.3,"vol":610,"low":13010.1,"count":134,"id":1603602000,"close":13017.3,"tradeTurnover":8048.8598,"open":13285.3},{"amount":0.486,"high":13105.7,"vol":486,"low":13018.2,"count":118,"id":1603605600,"close":13060.3,"tradeTurnover":6344.1474,"open":13022.5},{"amount":0.464,"high":13112.1,"vol":464,"low":13022.0,"count":120,"id":1603609200,"close":13078.1,"tradeTurnover":6061.5416,"open":13048.5},{"amount":0.464,"high":13091.0,"vol":464,"low":13017.2,"count":120,"id":1603612800,"close":13046.0,"tradeTurnover":6055.3734,"open":13077.2},{"amount":0.478,"high":13084.0,"vol":478,"low":13014.2,"count":117,"id":1603616400,"close":13040.8,"tradeTurnover":6235.7882,"open":13065.1},{"amount":0.478,"high":13064.2,"vol":478,"low":13010.2,"count":125,"id":1603620000,"close":13028.5,"tradeTurnover":6232.2428,"open":13047.1},{"amount":0.534,"high":13061.5,"vol":534,"low":12852.9,"count":123,"id":1603623600,"close":12897.6,"tradeTurnover":6918.1226,"open":13061.5},{"amount":0.444,"high":13069.7,"vol":444,"low":12893.2,"count":117,"id":1603627200,"close":12964.3,"tradeTurnover":5755.8712,"open":12908.3},{"amount":0.498,"high":13071.9,"vol":498,"low":12891.8,"count":119,"id":1603630800,"close":12949.3,"tradeTurnover":6465.078,"open":13001.3},{"amount":0.468,"high":13077.7,"vol":468,"low":12900.0,"count":116,"id":1603634400,"close":12946.8,"tradeTurnover":6075.4554,"open":12975.8},{"amount":0.47,"high":13069.1,"vol":470,"low":12883.3,"count":119,"id":1603638000,"close":12883.3,"tradeTurnover":6097.1072,"open":12975.2},{"amount":0.482,"high":13067.9,"vol":482,"low":12877.5,"count":118,"id":1603641600,"close":12978.7,"tradeTurnover":6256.4472,"open":12916.2},{"amount":0.47,"high":13087.5,"vol":470,"low":12922.7,"count":117,"id":1603645200,"close":13004.4,"tradeTurnover":6108.3892,"open":13008.0},{"amount":0.468,"high":13067.6,"vol":468,"low":12893.6,"count":118,"id":1603648800,"close":12957.2,"tradeTurnover":6079.1484,"open":12972.8},{"amount":0.442,"high":13066.9,"vol":442,"low":12916.6,"count":118,"id":1603652400,"close":13021.8,"tradeTurnover":5746.5548,"open":12996.5},{"amount":0.508,"high":13081.5,"vol":508,"low":12944.9,"count":120,"id":1603656000,"close":12985.4,"tradeTurnover":6616.9872,"open":12992.9},{"amount":0.508,"high":13068.6,"vol":508,"low":12921.4,"count":122,"id":1603659600,"close":13011.2,"tradeTurnover":6614.816,"open":12999.9},{"amount":0.486,"high":13073.8,"vol":486,"low":12911.9,"count":121,"id":1603663200,"close":12959.4,"tradeTurnover":6320.907,"open":12979.6},{"amount":0.452,"high":13085.2,"vol":452,"low":12927.8,"count":113,"id":1603666800,"close":13032.1,"tradeTurnover":5878.6442,"open":12963.4},{"amount":0.482,"high":13076.7,"vol":482,"low":12918.3,"count":121,"id":1603670400,"close":13001.0,"tradeTurnover":6263.698,"open":12964.2},{"amount":0.478,"high":13096.4,"vol":478,"low":12991.2,"count":124,"id":1603674000,"close":13053.7,"tradeTurnover":6232.2328,"open":13040.0},{"amount":0.488,"high":13185.7,"vol":488,"low":12985.1,"count":121,"id":1603677600,"close":13064.4,"tradeTurnover":6387.534,"open":13060.6},{"amount":0.486,"high":13187.2,"vol":486,"low":12984.1,"count":135,"id":1603681200,"close":13092.8,"tradeTurnover":6369.0272,"open":13032.3},{"amount":0.51,"high":13181.6,"vol":510,"low":12962.3,"count":131,"id":1603684800,"close":13132.6,"tradeTurnover":6679.829,"open":13092.0},{"amount":0.506,"high":13205.3,"vol":506,"low":13025.3,"count":126,"id":1603688400,"close":13092.1,"tradeTurnover":6641.2128,"open":13129.2},{"amount":1.616,"high":13188.1,"vol":1616,"low":12989.8,"count":141,"id":1603692000,"close":13071.4,"tradeTurnover":21170.8224,"open":13121.8},{"amount":3.746,"high":13100.0,"vol":3746,"low":12965.2,"count":110,"id":1603695600,"close":13038.7,"tradeTurnover":48924.8902,"open":13061.0},{"amount":8.966,"high":13102.0,"vol":8966,"low":12852.8,"count":173,"id":1603699200,"close":13039.3,"tradeTurnover":116525.5534,"open":13030.9},{"amount":4.48,"high":13088.4,"vol":4480,"low":13039.8,"count":124,"id":1603702800,"close":13075.9,"tradeTurnover":58521.1714,"open":13047.1},{"amount":4.272,"high":13100.0,"vol":4272,"low":13060.2,"count":130,"id":1603706400,"close":13100.0,"tradeTurnover":55895.9778,"open":13072.1},{"amount":29.798,"high":13159.0,"vol":29798,"low":13100.0,"count":230,"id":1603710000,"close":13138.4,"tradeTurnover":391138.024,"open":13100.0},{"amount":5.154,"high":13200.0,"vol":5154,"low":13100.0,"count":188,"id":1603713600,"close":13149.8,"tradeTurnover":67694.652,"open":13138.8},{"amount":35.608,"high":13351.5,"vol":35608,"low":13133.1,"count":328,"id":1603717200,"close":13205.8,"tradeTurnover":472780.3394,"open":13150.0},{"amount":31.748,"high":13280.0,"vol":31748,"low":13144.1,"count":235,"id":1603720800,"close":13166.1,"tradeTurnover":418744.5588,"open":13203.0},{"amount":36.53,"high":13165.2,"vol":36530,"low":12903.8,"count":384,"id":1603724400,"close":12978.0,"tradeTurnover":476940.3296,"open":13159.0},{"amount":35.018,"high":13069.8,"vol":35018,"low":12850.5,"count":323,"id":1603728000,"close":12869.6,"tradeTurnover":453288.918,"open":12965.0},{"amount":92.628,"high":12941.5,"vol":92628,"low":12583.9,"count":560,"id":1603731600,"close":12873.8,"tradeTurnover":1185973.467,"open":12879.2},{"amount":4.302,"high":12954.5,"vol":4302,"low":12820.4,"count":128,"id":1603735200,"close":12946.8,"tradeTurnover":55481.0054,"open":12856.2},{"amount":13.83,"high":12953.5,"vol":13830,"low":12914.1,"count":118,"id":1603738800,"close":12953.4,"tradeTurnover":179112.1598,"open":12945.6},{"amount":17.172,"high":13007.5,"vol":17172,"low":12953.5,"count":132,"id":1603742400,"close":12983.4,"tradeTurnover":223230.2122,"open":12953.5},{"amount":3.212,"high":13007.5,"vol":3212,"low":12982.7,"count":59,"id":1603746000,"close":12993.8,"tradeTurnover":41767.8906,"open":12983.1},{"amount":1.504,"high":13007.5,"vol":1504,"low":12974.0,"count":74,"id":1603749600,"close":13007.5,"tradeTurnover":19543.3568,"open":13002.1},{"amount":3.454,"high":13061.2,"vol":3454,"low":13007.5,"count":101,"id":1603753200,"close":13033.7,"tradeTurnover":45001.601,"open":13007.5},{"amount":8.784,"high":13105.0,"vol":8784,"low":13028.3,"count":98,"id":1603756800,"close":13067.1,"tradeTurnover":114871.8246,"open":13029.2},{"amount":11.592,"high":13074.4,"vol":11592,"low":13051.5,"count":66,"id":1603760400,"close":13061.7,"tradeTurnover":151386.9038,"open":13074.3},{"amount":19.298,"high":13097.6,"vol":19298,"low":13040.1,"count":109,"id":1603764000,"close":13049.7,"tradeTurnover":252061.019,"open":13061.7},{"amount":22.992,"high":13080.0,"vol":22992,"low":13057.1,"count":69,"id":1603767600,"close":13070.4,"tradeTurnover":300453.9788,"open":13057.6},{"amount":14.396,"high":13175.0,"vol":14396,"low":13079.6,"count":59,"id":1603771200,"close":13103.3,"tradeTurnover":188461.9156,"open":13080.0},{"amount":5.058,"high":13121.3,"vol":5058,"low":13069.7,"count":44,"id":1603774800,"close":13073.6,"tradeTurnover":66201.3552,"open":13121.3},{"amount":9.106,"high":13149.0,"vol":9106,"low":13069.6,"count":107,"id":1603778400,"close":13103.4,"tradeTurnover":119104.8906,"open":13074.9},{"amount":73.95,"high":13169.8,"vol":73950,"low":12992.4,"count":305,"id":1603782000,"close":13130.0,"tradeTurnover":968195.155,"open":13103.3},{"amount":18.732,"high":13148.4,"vol":18732,"low":13044.0,"count":135,"id":1603785600,"close":13123.8,"tradeTurnover":245533.5448,"open":13135.1},{"amount":13.756,"high":13131.8,"vol":13756,"low":13075.7,"count":102,"id":1603789200,"close":13131.7,"tradeTurnover":180253.7708,"open":13115.5},{"amount":154.108,"high":13252.0,"vol":154108,"low":13063.4,"count":525,"id":1603792800,"close":13216.9,"tradeTurnover":2029983.656,"open":13134.8},{"amount":170.09,"high":13590.1,"vol":170090,"low":13213.5,"count":591,"id":1603796400,"close":13395.8,"tradeTurnover":2276279.742,"open":13218.8},{"amount":48.928,"high":13414.0,"vol":48928,"low":13331.7,"count":216,"id":1603800000,"close":13376.9,"tradeTurnover":654585.9108,"open":13395.9},{"amount":63.294,"high":13490.9,"vol":63294,"low":13329.8,"count":316,"id":1603803600,"close":13384.3,"tradeTurnover":848130.9212,"open":13376.5},{"amount":12.892,"high":13415.8,"vol":12892,"low":13344.8,"count":124,"id":1603807200,"close":13398.2,"tradeTurnover":172618.6864,"open":13392.6},{"amount":93.22,"high":13626.7,"vol":93220,"low":13398.2,"count":476,"id":1603810800,"close":13598.5,"tradeTurnover":1262695.5466,"open":13398.2},{"amount":85.45,"high":13639.9,"vol":85450,"low":13520.2,"count":435,"id":1603814400,"close":13639.9,"tradeTurnover":1161481.4136,"open":13595.8},{"amount":191.812,"high":13826.7,"vol":191812,"low":13589.0,"count":711,"id":1603818000,"close":13688.1,"tradeTurnover":2628428.3788,"open":13640.0},{"amount":65.434,"high":13745.0,"vol":65434,"low":13528.2,"count":410,"id":1603821600,"close":13630.1,"tradeTurnover":891541.8394,"open":13685.0},{"amount":5.788,"high":13659.8,"vol":5788,"low":13595.4,"count":65,"id":1603825200,"close":13637.1,"tradeTurnover":78836.2578,"open":13629.4},{"amount":163.104,"high":13805.1,"vol":163104,"low":13582.6,"count":537,"id":1603828800,"close":13616.6,"tradeTurnover":2234040.3544,"open":13644.4},{"amount":9.884,"high":13753.5,"vol":9884,"low":13609.8,"count":101,"id":1603832400,"close":13705.5,"tradeTurnover":135406.4752,"open":13609.8},{"amount":7.436,"high":13739.9,"vol":7436,"low":13658.2,"count":100,"id":1603836000,"close":13739.9,"tradeTurnover":101840.3508,"open":13705.4},{"amount":17.086,"high":13794.6,"vol":17086,"low":13582.6,"count":234,"id":1603839600,"close":13649.6,"tradeTurnover":233971.8448,"open":13739.9},{"amount":24.108,"high":13745.2,"vol":24108,"low":13618.8,"count":177,"id":1603843200,"close":13701.7,"tradeTurnover":330206.5694,"open":13645.9},{"amount":15.892,"high":13725.6,"vol":15892,"low":13647.9,"count":151,"id":1603846800,"close":13702.6,"tradeTurnover":217816.7008,"open":13702.1},{"amount":46.548,"high":13832.2,"vol":46548,"low":13680.2,"count":274,"id":1603850400,"close":13811.6,"tradeTurnover":640636.0352,"open":13701.7},{"amount":67.896,"high":13820.3,"vol":67896,"low":13717.5,"count":320,"id":1603854000,"close":13777.0,"tradeTurnover":935838.2238,"open":13818.5},{"amount":33.156,"high":13807.2,"vol":33156,"low":13710.0,"count":210,"id":1603857600,"close":13735.7,"tradeTurnover":455941.234,"open":13767.3},{"amount":32.076,"high":13753.9,"vol":32076,"low":13671.3,"count":198,"id":1603861200,"close":13715.8,"tradeTurnover":439612.64,"open":13735.5},{"amount":14.756,"high":13757.0,"vol":14756,"low":13694.9,"count":122,"id":1603864800,"close":13701.3,"tradeTurnover":202602.5164,"open":13715.9},{"amount":155.534,"high":13708.7,"vol":155534,"low":13550.0,"count":635,"id":1603868400,"close":13674.2,"tradeTurnover":2117935.0928,"open":13701.2},{"amount":29.846,"high":13691.7,"vol":29846,"low":13584.0,"count":240,"id":1603872000,"close":13691.7,"tradeTurnover":407073.1398,"open":13673.0},{"amount":104.542,"high":13707.5,"vol":104542,"low":13573.5,"count":377,"id":1603875600,"close":13587.1,"tradeTurnover":1425079.9344,"open":13689.3},{"amount":73.818,"high":13618.0,"vol":73818,"low":13504.7,"count":358,"id":1603879200,"close":13552.7,"tradeTurnover":1001666.0908,"open":13584.6},{"amount":176.544,"high":13565.4,"vol":176544,"low":13330.0,"count":1004,"id":1603882800,"close":13336.4,"tradeTurnover":2369166.1492,"open":13552.6},{"amount":289.73,"high":13385.0,"vol":289730,"low":13173.9,"count":968,"id":1603886400,"close":13300.3,"tradeTurnover":3846751.7166,"open":13331.5},{"amount":139.822,"high":13340.0,"vol":139822,"low":13122.9,"count":612,"id":1603890000,"close":13129.9,"tradeTurnover":1848876.932,"open":13300.2},{"amount":367.876,"high":13168.2,"vol":367876,"low":12915.9,"count":1168,"id":1603893600,"close":13082.2,"tradeTurnover":4802516.9818,"open":13123.4},{"amount":84.044,"high":13235.2,"vol":84044,"low":13052.3,"count":375,"id":1603897200,"close":13221.2,"tradeTurnover":1106883.1282,"open":13077.1},{"amount":29.566,"high":13218.7,"vol":29566,"low":13050.0,"count":244,"id":1603900800,"close":13145.1,"tradeTurnover":388697.4104,"open":13218.7},{"amount":53.336,"high":13204.9,"vol":53336,"low":13006.6,"count":299,"id":1603904400,"close":13176.7,"tradeTurnover":700385.2784,"open":13145.1},{"amount":34.164,"high":13219.6,"vol":34164,"low":13131.0,"count":218,"id":1603908000,"close":13196.5,"tradeTurnover":450210.5778,"open":13171.0},{"amount":22.158,"high":13237.4,"vol":22158,"low":13145.0,"count":185,"id":1603911600,"close":13154.9,"tradeTurnover":292020.0438,"open":13200.0},{"amount":4.548,"high":13211.8,"vol":4548,"low":13147.4,"count":75,"id":1603915200,"close":13198.1,"tradeTurnover":59991.1118,"open":13154.5},{"amount":3.52,"high":13196.5,"vol":3520,"low":13100.2,"count":68,"id":1603918800,"close":13190.1,"tradeTurnover":46175.428,"open":13193.5},{"amount":3.122,"high":13267.5,"vol":3122,"low":13185.4,"count":72,"id":1603922400,"close":13252.0,"tradeTurnover":41304.2018,"open":13185.4},{"amount":14.768,"high":13282.3,"vol":14768,"low":13235.9,"count":86,"id":1603926000,"close":13265.9,"tradeTurnover":195689.0764,"open":13242.1},{"amount":19.968,"high":13294.7,"vol":19968,"low":13237.4,"count":98,"id":1603929600,"close":13245.1,"tradeTurnover":264834.1944,"open":13253.9},{"amount":35.282,"high":13285.3,"vol":35282,"low":13166.3,"count":192,"id":1603933200,"close":13274.2,"tradeTurnover":465789.6302,"open":13244.6},{"amount":9.748,"high":13277.7,"vol":9748,"low":13212.2,"count":119,"id":1603936800,"close":13241.1,"tradeTurnover":129016.0684,"open":13275.9},{"amount":27.3,"high":13262.5,"vol":27300,"low":13174.6,"count":199,"id":1603940400,"close":13262.5,"tradeTurnover":360589.8982,"open":13237.1},{"amount":18.904,"high":13277.7,"vol":18904,"low":13229.5,"count":109,"id":1603944000,"close":13229.5,"tradeTurnover":250713.2812,"open":13269.1},{"amount":15.822,"high":13274.8,"vol":15822,"low":13228.5,"count":134,"id":1603947600,"close":13274.8,"tradeTurnover":209781.909,"open":13228.5},{"amount":91.246,"high":13323.0,"vol":91246,"low":13242.3,"count":294,"id":1603951200,"close":13255.0,"tradeTurnover":1211271.2788,"open":13274.8},{"amount":187.622,"high":13269.3,"vol":187622,"low":13123.1,"count":506,"id":1603954800,"close":13142.4,"tradeTurnover":2478299.7074,"open":13255.0},{"amount":69.532,"high":13182.4,"vol":69532,"low":13094.1,"count":226,"id":1603958400,"close":13124.8,"tradeTurnover":914157.2418,"open":13145.9},{"amount":23.184,"high":13197.1,"vol":23184,"low":13129.5,"count":141,"id":1603962000,"close":13183.7,"tradeTurnover":305485.9524,"open":13129.5},{"amount":121.146,"high":13187.5,"vol":121146,"low":13053.1,"count":442,"id":1603965600,"close":13105.2,"tradeTurnover":1590026.4416,"open":13184.8},{"amount":47.498,"high":13171.4,"vol":47498,"low":13060.1,"count":262,"id":1603969200,"close":13060.1,"tradeTurnover":623578.149,"open":13105.1},{"amount":126.552,"high":13145.8,"vol":126552,"low":12977.9,"count":481,"id":1603972800,"close":13131.8,"tradeTurnover":1652549.311,"open":13056.9},{"amount":100.482,"high":13237.2,"vol":100482,"low":13102.0,"count":325,"id":1603976400,"close":13230.0,"tradeTurnover":1326403.7206,"open":13131.7},{"amount":253.258,"high":13476.1,"vol":253258,"low":13231.0,"count":752,"id":1603980000,"close":13420.8,"tradeTurnover":3384941.438,"open":13231.0},{"amount":64.71,"high":13458.7,"vol":64710,"low":13358.7,"count":269,"id":1603983600,"close":13420.6,"tradeTurnover":869052.3804,"open":13416.0},{"amount":120.24,"high":13594.5,"vol":120240,"low":13391.8,"count":570,"id":1603987200,"close":13535.9,"tradeTurnover":1626567.8278,"open":13421.9}],"id":"","rep":"market.BTC-USDT.kline.60min","status":"ok"} +2024-01-18 11:13:19.059 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:39] - 请求 KLine 数据用户收到的原始数据:{"id":"","rep":"market.BTC-USDT.kline.60min","ts":1705547597969,"wsid":19750305,"status":"ok","data":[{"id":1603270800,"open":12198.0,"close":12196.7,"high":12300.0,"low":11715.8,"amount":0.276,"vol":276,"trade_turnover":3315.9104,"count":39},{"id":1603274400,"open":12196.7,"close":12277.9,"high":12289.9,"low":12111.0,"amount":0.198,"vol":198,"trade_turnover":2420.7728,"count":21},{"id":1603278000,"open":12111.0,"close":12000.0,"high":12277.9,"low":12000.0,"amount":0.012,"vol":12,"trade_turnover":145.2238,"count":5},{"id":1603281600,"open":12078.0,"close":12497.4,"high":12498.0,"low":12078.0,"amount":0.084,"vol":84,"trade_turnover":1040.0504,"count":12},{"id":1603285200,"open":12495.6,"close":12373.5,"high":12495.6,"low":12282.9,"amount":1.122,"vol":1122,"trade_turnover":13905.3124,"count":112},{"id":1603288800,"open":12412.9,"close":12689.9,"high":12807.6,"low":12358.1,"amount":5.29,"vol":5290,"trade_turnover":66852.128,"count":155},{"id":1603292400,"open":12692.8,"close":12701.9,"high":12778.7,"low":12573.2,"amount":1.174,"vol":1174,"trade_turnover":14907.367,"count":113},{"id":1603296000,"open":12679.7,"close":12835.9,"high":12920.9,"low":12624.8,"amount":1.156,"vol":1156,"trade_turnover":14802.449,"count":115},{"id":1603299600,"open":12848.3,"close":12754.2,"high":12908.3,"low":12687.5,"amount":1.12,"vol":1120,"trade_turnover":14345.7324,"count":115},{"id":1603303200,"open":12743.7,"close":12740.2,"high":12849.0,"low":12668.3,"amount":1.106,"vol":1106,"trade_turnover":14105.3504,"count":114},{"id":1603306800,"open":12729.5,"close":12650.3,"high":12843.1,"low":12597.2,"amount":1.032,"vol":1032,"trade_turnover":13125.4568,"count":112},{"id":1603310400,"open":12666.8,"close":12807.0,"high":12848.4,"low":12610.2,"amount":1.154,"vol":1154,"trade_turnover":14680.638,"count":116},{"id":1603314000,"open":12866.0,"close":12938.9,"high":13005.1,"low":12748.2,"amount":1.164,"vol":1164,"trade_turnover":14976.9366,"count":114},{"id":1603317600,"open":12921.0,"close":13122.0,"high":13211.2,"low":12865.7,"amount":1.174,"vol":1174,"trade_turnover":15285.2446,"count":114},{"id":1603321200,"open":13153.2,"close":12829.8,"high":13173.2,"low":12688.6,"amount":1.172,"vol":1172,"trade_turnover":15060.9938,"count":117},{"id":1603324800,"open":12793.1,"close":12885.9,"high":12988.1,"low":12764.4,"amount":1.17,"vol":1170,"trade_turnover":15046.2046,"count":117},{"id":1603328400,"open":12860.4,"close":12757.5,"high":12972.6,"low":12757.5,"amount":1.158,"vol":1158,"trade_turnover":14882.4656,"count":118},{"id":1603332000,"open":12824.1,"close":12788.8,"high":12848.0,"low":12729.0,"amount":1.124,"vol":1124,"trade_turnover":14368.7948,"count":115},{"id":1603335600,"open":12791.7,"close":12767.2,"high":12834.4,"low":12729.0,"amount":1.194,"vol":1194,"trade_turnover":15268.9298,"count":111},{"id":1603339200,"open":12729.0,"close":12762.2,"high":12778.3,"low":12729.0,"amount":1.152,"vol":1152,"trade_turnover":14695.4876,"count":115},{"id":1603342800,"open":12763.1,"close":12813.8,"high":12842.0,"low":12730.6,"amount":1.21,"vol":1210,"trade_turnover":15440.8162,"count":119},{"id":1603346400,"open":12795.0,"close":12729.1,"high":12795.0,"low":12728.0,"amount":1.188,"vol":1188,"trade_turnover":15128.0098,"count":123},{"id":1603350000,"open":12728.6,"close":12730.6,"high":12730.6,"low":12728.3,"amount":1.266,"vol":1266,"trade_turnover":16115.1306,"count":112},{"id":1603353600,"open":12730.3,"close":12770.1,"high":12921.5,"low":12729.9,"amount":1.35,"vol":1350,"trade_turnover":17233.7326,"count":127},{"id":1603357200,"open":12824.9,"close":12780.4,"high":12872.1,"low":12760.1,"amount":0.98,"vol":980,"trade_turnover":12553.9826,"count":99},{"id":1603360800,"open":12784.9,"close":12934.2,"high":13002.7,"low":12775.6,"amount":0.266,"vol":266,"trade_turnover":3415.023,"count":30},{"id":1603364400,"open":12977.0,"close":13045.0,"high":13057.0,"low":12886.6,"amount":1.004,"vol":1004,"trade_turnover":13020.8576,"count":117},{"id":1603368000,"open":12958.5,"close":12847.9,"high":12973.4,"low":12751.6,"amount":1.134,"vol":1134,"trade_turnover":14594.2752,"count":111},{"id":1603371600,"open":12882.7,"close":12931.0,"high":13000.8,"low":12743.0,"amount":1.152,"vol":1152,"trade_turnover":14877.7314,"count":114},{"id":1603375200,"open":12890.4,"close":12917.8,"high":12995.3,"low":12783.9,"amount":1.182,"vol":1182,"trade_turnover":15224.4716,"count":115},{"id":1603378800,"open":12918.8,"close":12953.0,"high":13031.2,"low":12817.9,"amount":1.176,"vol":1176,"trade_turnover":15197.208,"count":117},{"id":1603382400,"open":12923.1,"close":13055.6,"high":13100.2,"low":12865.6,"amount":1.146,"vol":1146,"trade_turnover":14851.9604,"count":119},{"id":1603386000,"open":12967.6,"close":13082.7,"high":13105.7,"low":12835.5,"amount":1.534,"vol":1534,"trade_turnover":19927.8288,"count":124},{"id":1603389600,"open":13020.4,"close":13016.4,"high":13115.0,"low":12938.7,"amount":1.268,"vol":1268,"trade_turnover":16505.4738,"count":117},{"id":1603393200,"open":13028.3,"close":12970.6,"high":13171.2,"low":12961.8,"amount":1.13,"vol":1130,"trade_turnover":14762.952,"count":112},{"id":1603396800,"open":13016.7,"close":13089.3,"high":13216.1,"low":12998.5,"amount":1.206,"vol":1206,"trade_turnover":15807.1226,"count":117},{"id":1603400400,"open":13136.0,"close":13092.0,"high":13203.7,"low":12932.9,"amount":1.332,"vol":1332,"trade_turnover":17423.4422,"count":114},{"id":1603404000,"open":13119.4,"close":13055.9,"high":13250.5,"low":12984.7,"amount":1.21,"vol":1210,"trade_turnover":15876.0632,"count":114},{"id":1603407600,"open":13059.4,"close":12890.4,"high":13126.5,"low":12857.2,"amount":1.286,"vol":1286,"trade_turnover":16688.422,"count":116},{"id":1603411200,"open":12929.7,"close":12892.2,"high":12994.0,"low":12751.6,"amount":1.502,"vol":1502,"trade_turnover":19331.1596,"count":131},{"id":1603414800,"open":12921.7,"close":12898.3,"high":13003.2,"low":12786.0,"amount":1.386,"vol":1386,"trade_turnover":17904.8902,"count":121},{"id":1603418400,"open":12951.6,"close":12975.1,"high":13054.0,"low":12800.7,"amount":1.416,"vol":1416,"trade_turnover":18306.6204,"count":122},{"id":1603422000,"open":12967.3,"close":12947.0,"high":13030.7,"low":12875.0,"amount":1.19,"vol":1190,"trade_turnover":15409.7984,"count":118},{"id":1603425600,"open":12925.2,"close":12852.0,"high":13047.3,"low":12832.8,"amount":1.022,"vol":1022,"trade_turnover":13214.4388,"count":127},{"id":1603429200,"open":12859.0,"close":12931.1,"high":12991.7,"low":12841.2,"amount":0.478,"vol":478,"trade_turnover":6180.2486,"count":118},{"id":1603432800,"open":12935.9,"close":12939.6,"high":13014.1,"low":12871.9,"amount":0.522,"vol":522,"trade_turnover":6759.0324,"count":132},{"id":1603436400,"open":12923.1,"close":12925.4,"high":12998.9,"low":12917.1,"amount":0.476,"vol":476,"trade_turnover":6163.3118,"count":118},{"id":1603440000,"open":12942.2,"close":12962.6,"high":13014.0,"low":12916.1,"amount":0.508,"vol":508,"trade_turnover":6585.3656,"count":122},{"id":1603443600,"open":12970.5,"close":12926.4,"high":13012.5,"low":12909.9,"amount":0.564,"vol":564,"trade_turnover":7308.8828,"count":124},{"id":1603447200,"open":13001.2,"close":13007.7,"high":13059.5,"low":12925.7,"amount":0.536,"vol":536,"trade_turnover":6957.8796,"count":124},{"id":1603450800,"open":13025.4,"close":12970.6,"high":13078.4,"low":12906.5,"amount":0.486,"vol":486,"trade_turnover":6326.1434,"count":122},{"id":1603454400,"open":12963.9,"close":12935.4,"high":13025.0,"low":12850.8,"amount":0.494,"vol":494,"trade_turnover":6396.0984,"count":117},{"id":1603458000,"open":12913.3,"close":12951.7,"high":13043.3,"low":12911.0,"amount":0.466,"vol":466,"trade_turnover":6049.1412,"count":117},{"id":1603461600,"open":12999.6,"close":12858.8,"high":13006.4,"low":12840.4,"amount":0.46,"vol":460,"trade_turnover":5941.815,"count":116},{"id":1603465200,"open":12885.7,"close":12881.9,"high":12932.9,"low":12826.5,"amount":0.492,"vol":492,"trade_turnover":6340.214,"count":117},{"id":1603468800,"open":12854.4,"close":12784.1,"high":12933.5,"low":12744.4,"amount":0.484,"vol":484,"trade_turnover":6205.4138,"count":123},{"id":1603472400,"open":12832.3,"close":12847.7,"high":12893.1,"low":12730.1,"amount":0.562,"vol":562,"trade_turnover":7218.9184,"count":152},{"id":1603476000,"open":12874.1,"close":12915.7,"high":12939.3,"low":12751.4,"amount":0.53,"vol":530,"trade_turnover":6825.7004,"count":128},{"id":1603479600,"open":12867.9,"close":12972.9,"high":12972.9,"low":12786.6,"amount":0.444,"vol":444,"trade_turnover":5727.7452,"count":117},{"id":1603483200,"open":12956.7,"close":12991.6,"high":13002.2,"low":12842.9,"amount":0.492,"vol":492,"trade_turnover":6375.1566,"count":116},{"id":1603486800,"open":13004.3,"close":12943.5,"high":13004.3,"low":12936.6,"amount":0.5,"vol":500,"trade_turnover":6485.468,"count":125},{"id":1603490400,"open":12923.6,"close":12989.2,"high":13010.3,"low":12884.7,"amount":0.492,"vol":492,"trade_turnover":6376.1492,"count":120},{"id":1603494000,"open":12974.9,"close":12884.6,"high":13024.4,"low":12884.6,"amount":0.51,"vol":510,"trade_turnover":6622.3406,"count":121},{"id":1603497600,"open":12973.7,"close":12953.9,"high":13018.3,"low":12811.1,"amount":0.488,"vol":488,"trade_turnover":6317.7938,"count":120},{"id":1603501200,"open":12927.5,"close":12934.2,"high":13018.1,"low":12872.8,"amount":0.482,"vol":482,"trade_turnover":6242.4178,"count":117},{"id":1603504800,"open":12971.9,"close":12989.1,"high":13003.9,"low":12903.3,"amount":0.484,"vol":484,"trade_turnover":6278.1756,"count":117},{"id":1603508400,"open":13000.1,"close":12975.9,"high":13013.4,"low":12938.3,"amount":0.474,"vol":474,"trade_turnover":6157.7096,"count":122},{"id":1603512000,"open":12989.7,"close":12963.3,"high":13009.4,"low":12905.5,"amount":0.526,"vol":526,"trade_turnover":6831.5658,"count":124},{"id":1603515600,"open":12910.5,"close":12989.7,"high":13041.8,"low":12875.3,"amount":0.522,"vol":522,"trade_turnover":6768.8994,"count":127},{"id":1603519200,"open":12994.7,"close":13003.6,"high":13058.1,"low":12908.8,"amount":0.49,"vol":490,"trade_turnover":6370.5714,"count":120},{"id":1603522800,"open":13011.9,"close":13004.2,"high":13037.8,"low":12981.7,"amount":0.478,"vol":478,"trade_turnover":6218.9722,"count":120},{"id":1603526400,"open":13003.0,"close":12998.2,"high":13030.6,"low":12899.4,"amount":0.52,"vol":520,"trade_turnover":6754.958,"count":124},{"id":1603530000,"open":12998.2,"close":12990.6,"high":13020.3,"low":12893.6,"amount":0.454,"vol":454,"trade_turnover":5891.0574,"count":115},{"id":1603533600,"open":12996.4,"close":13030.1,"high":13059.1,"low":12913.2,"amount":0.502,"vol":502,"trade_turnover":6525.9004,"count":124},{"id":1603537200,"open":12988.4,"close":13033.2,"high":13068.3,"low":12940.2,"amount":0.468,"vol":468,"trade_turnover":6091.0376,"count":119},{"id":1603540800,"open":13035.3,"close":13006.5,"high":13071.8,"low":12978.9,"amount":0.468,"vol":468,"trade_turnover":6102.5902,"count":123},{"id":1603544400,"open":13038.8,"close":12985.9,"high":13066.7,"low":12928.1,"amount":0.534,"vol":534,"trade_turnover":6950.4268,"count":123},{"id":1603548000,"open":12986.3,"close":13042.0,"high":13100.1,"low":12960.5,"amount":0.47,"vol":470,"trade_turnover":6124.2178,"count":100},{"id":1603551600,"open":13038.4,"close":13102.2,"high":13196.5,"low":13038.4,"amount":0.456,"vol":456,"trade_turnover":5989.6362,"count":120},{"id":1603555200,"open":13136.8,"close":13052.7,"high":13176.6,"low":12984.6,"amount":0.458,"vol":458,"trade_turnover":5976.331,"count":121},{"id":1603558800,"open":13006.2,"close":13177.8,"high":13177.8,"low":13003.2,"amount":0.452,"vol":452,"trade_turnover":5911.7058,"count":118},{"id":1603562400,"open":13127.7,"close":13080.8,"high":13170.7,"low":13023.0,"amount":0.468,"vol":468,"trade_turnover":6122.375,"count":119},{"id":1603566000,"open":13040.7,"close":13148.4,"high":13179.3,"low":13014.2,"amount":0.468,"vol":468,"trade_turnover":6126.4278,"count":120},{"id":1603569600,"open":13073.5,"close":13090.1,"high":13179.6,"low":12992.5,"amount":0.47,"vol":470,"trade_turnover":6151.4758,"count":119},{"id":1603573200,"open":13035.4,"close":12993.9,"high":13148.7,"low":12980.7,"amount":0.458,"vol":458,"trade_turnover":5981.071,"count":117},{"id":1603576800,"open":13040.7,"close":13041.1,"high":13112.1,"low":12975.6,"amount":0.478,"vol":478,"trade_turnover":6225.4216,"count":118},{"id":1603580400,"open":13012.6,"close":13184.3,"high":13184.3,"low":13009.3,"amount":0.472,"vol":472,"trade_turnover":6173.4244,"count":118},{"id":1603584000,"open":13080.8,"close":13154.3,"high":13170.4,"low":13007.7,"amount":0.46,"vol":460,"trade_turnover":6024.09,"count":115},{"id":1603587600,"open":13092.0,"close":13196.1,"high":13196.8,"low":13024.0,"amount":0.398,"vol":398,"trade_turnover":5217.5364,"count":102},{"id":1603591200,"open":13124.7,"close":13082.4,"high":13175.1,"low":13035.0,"amount":0.476,"vol":476,"trade_turnover":6228.6596,"count":120},{"id":1603594800,"open":13049.1,"close":13259.0,"high":13383.8,"low":13049.1,"amount":0.578,"vol":578,"trade_turnover":7629.3886,"count":137},{"id":1603598400,"open":13277.0,"close":13243.4,"high":13369.0,"low":13216.0,"amount":0.47,"vol":470,"trade_turnover":6247.955,"count":122},{"id":1603602000,"open":13285.3,"close":13017.3,"high":13353.3,"low":13010.1,"amount":0.61,"vol":610,"trade_turnover":8048.8598,"count":134},{"id":1603605600,"open":13022.5,"close":13060.3,"high":13105.7,"low":13018.2,"amount":0.486,"vol":486,"trade_turnover":6344.1474,"count":118},{"id":1603609200,"open":13048.5,"close":13078.1,"high":13112.1,"low":13022.0,"amount":0.464,"vol":464,"trade_turnover":6061.5416,"count":120},{"id":1603612800,"open":13077.2,"close":13046.0,"high":13091.0,"low":13017.2,"amount":0.464,"vol":464,"trade_turnover":6055.3734,"count":120},{"id":1603616400,"open":13065.1,"close":13040.8,"high":13084.0,"low":13014.2,"amount":0.478,"vol":478,"trade_turnover":6235.7882,"count":117},{"id":1603620000,"open":13047.1,"close":13028.5,"high":13064.2,"low":13010.2,"amount":0.478,"vol":478,"trade_turnover":6232.2428,"count":125},{"id":1603623600,"open":13061.5,"close":12897.6,"high":13061.5,"low":12852.9,"amount":0.534,"vol":534,"trade_turnover":6918.1226,"count":123},{"id":1603627200,"open":12908.3,"close":12964.3,"high":13069.7,"low":12893.2,"amount":0.444,"vol":444,"trade_turnover":5755.8712,"count":117},{"id":1603630800,"open":13001.3,"close":12949.3,"high":13071.9,"low":12891.8,"amount":0.498,"vol":498,"trade_turnover":6465.078,"count":119},{"id":1603634400,"open":12975.8,"close":12946.8,"high":13077.7,"low":12900.0,"amount":0.468,"vol":468,"trade_turnover":6075.4554,"count":116},{"id":1603638000,"open":12975.2,"close":12883.3,"high":13069.1,"low":12883.3,"amount":0.47,"vol":470,"trade_turnover":6097.1072,"count":119},{"id":1603641600,"open":12916.2,"close":12978.7,"high":13067.9,"low":12877.5,"amount":0.482,"vol":482,"trade_turnover":6256.4472,"count":118},{"id":1603645200,"open":13008.0,"close":13004.4,"high":13087.5,"low":12922.7,"amount":0.47,"vol":470,"trade_turnover":6108.3892,"count":117},{"id":1603648800,"open":12972.8,"close":12957.2,"high":13067.6,"low":12893.6,"amount":0.468,"vol":468,"trade_turnover":6079.1484,"count":118},{"id":1603652400,"open":12996.5,"close":13021.8,"high":13066.9,"low":12916.6,"amount":0.442,"vol":442,"trade_turnover":5746.5548,"count":118},{"id":1603656000,"open":12992.9,"close":12985.4,"high":13081.5,"low":12944.9,"amount":0.508,"vol":508,"trade_turnover":6616.9872,"count":120},{"id":1603659600,"open":12999.9,"close":13011.2,"high":13068.6,"low":12921.4,"amount":0.508,"vol":508,"trade_turnover":6614.816,"count":122},{"id":1603663200,"open":12979.6,"close":12959.4,"high":13073.8,"low":12911.9,"amount":0.486,"vol":486,"trade_turnover":6320.907,"count":121},{"id":1603666800,"open":12963.4,"close":13032.1,"high":13085.2,"low":12927.8,"amount":0.452,"vol":452,"trade_turnover":5878.6442,"count":113},{"id":1603670400,"open":12964.2,"close":13001.0,"high":13076.7,"low":12918.3,"amount":0.482,"vol":482,"trade_turnover":6263.698,"count":121},{"id":1603674000,"open":13040.0,"close":13053.7,"high":13096.4,"low":12991.2,"amount":0.478,"vol":478,"trade_turnover":6232.2328,"count":124},{"id":1603677600,"open":13060.6,"close":13064.4,"high":13185.7,"low":12985.1,"amount":0.488,"vol":488,"trade_turnover":6387.534,"count":121},{"id":1603681200,"open":13032.3,"close":13092.8,"high":13187.2,"low":12984.1,"amount":0.486,"vol":486,"trade_turnover":6369.0272,"count":135},{"id":1603684800,"open":13092.0,"close":13132.6,"high":13181.6,"low":12962.3,"amount":0.51,"vol":510,"trade_turnover":6679.829,"count":131},{"id":1603688400,"open":13129.2,"close":13092.1,"high":13205.3,"low":13025.3,"amount":0.506,"vol":506,"trade_turnover":6641.2128,"count":126},{"id":1603692000,"open":13121.8,"close":13071.4,"high":13188.1,"low":12989.8,"amount":1.616,"vol":1616,"trade_turnover":21170.8224,"count":141},{"id":1603695600,"open":13061.0,"close":13038.7,"high":13100.0,"low":12965.2,"amount":3.746,"vol":3746,"trade_turnover":48924.8902,"count":110},{"id":1603699200,"open":13030.9,"close":13039.3,"high":13102.0,"low":12852.8,"amount":8.966,"vol":8966,"trade_turnover":116525.5534,"count":173},{"id":1603702800,"open":13047.1,"close":13075.9,"high":13088.4,"low":13039.8,"amount":4.48,"vol":4480,"trade_turnover":58521.1714,"count":124},{"id":1603706400,"open":13072.1,"close":13100.0,"high":13100.0,"low":13060.2,"amount":4.272,"vol":4272,"trade_turnover":55895.9778,"count":130},{"id":1603710000,"open":13100.0,"close":13138.4,"high":13159.0,"low":13100.0,"amount":29.798,"vol":29798,"trade_turnover":391138.024,"count":230},{"id":1603713600,"open":13138.8,"close":13149.8,"high":13200.0,"low":13100.0,"amount":5.154,"vol":5154,"trade_turnover":67694.652,"count":188},{"id":1603717200,"open":13150.0,"close":13205.8,"high":13351.5,"low":13133.1,"amount":35.608,"vol":35608,"trade_turnover":472780.3394,"count":328},{"id":1603720800,"open":13203.0,"close":13166.1,"high":13280.0,"low":13144.1,"amount":31.748,"vol":31748,"trade_turnover":418744.5588,"count":235},{"id":1603724400,"open":13159.0,"close":12978.0,"high":13165.2,"low":12903.8,"amount":36.53,"vol":36530,"trade_turnover":476940.3296,"count":384},{"id":1603728000,"open":12965.0,"close":12869.6,"high":13069.8,"low":12850.5,"amount":35.018,"vol":35018,"trade_turnover":453288.918,"count":323},{"id":1603731600,"open":12879.2,"close":12873.8,"high":12941.5,"low":12583.9,"amount":92.628,"vol":92628,"trade_turnover":1185973.467,"count":560},{"id":1603735200,"open":12856.2,"close":12946.8,"high":12954.5,"low":12820.4,"amount":4.302,"vol":4302,"trade_turnover":55481.0054,"count":128},{"id":1603738800,"open":12945.6,"close":12953.4,"high":12953.5,"low":12914.1,"amount":13.83,"vol":13830,"trade_turnover":179112.1598,"count":118},{"id":1603742400,"open":12953.5,"close":12983.4,"high":13007.5,"low":12953.5,"amount":17.172,"vol":17172,"trade_turnover":223230.2122,"count":132},{"id":1603746000,"open":12983.1,"close":12993.8,"high":13007.5,"low":12982.7,"amount":3.212,"vol":3212,"trade_turnover":41767.8906,"count":59},{"id":1603749600,"open":13002.1,"close":13007.5,"high":13007.5,"low":12974.0,"amount":1.504,"vol":1504,"trade_turnover":19543.3568,"count":74},{"id":1603753200,"open":13007.5,"close":13033.7,"high":13061.2,"low":13007.5,"amount":3.454,"vol":3454,"trade_turnover":45001.601,"count":101},{"id":1603756800,"open":13029.2,"close":13067.1,"high":13105.0,"low":13028.3,"amount":8.784,"vol":8784,"trade_turnover":114871.8246,"count":98},{"id":1603760400,"open":13074.3,"close":13061.7,"high":13074.4,"low":13051.5,"amount":11.592,"vol":11592,"trade_turnover":151386.9038,"count":66},{"id":1603764000,"open":13061.7,"close":13049.7,"high":13097.6,"low":13040.1,"amount":19.298,"vol":19298,"trade_turnover":252061.019,"count":109},{"id":1603767600,"open":13057.6,"close":13070.4,"high":13080.0,"low":13057.1,"amount":22.992,"vol":22992,"trade_turnover":300453.9788,"count":69},{"id":1603771200,"open":13080.0,"close":13103.3,"high":13175.0,"low":13079.6,"amount":14.396,"vol":14396,"trade_turnover":188461.9156,"count":59},{"id":1603774800,"open":13121.3,"close":13073.6,"high":13121.3,"low":13069.7,"amount":5.058,"vol":5058,"trade_turnover":66201.3552,"count":44},{"id":1603778400,"open":13074.9,"close":13103.4,"high":13149.0,"low":13069.6,"amount":9.106,"vol":9106,"trade_turnover":119104.8906,"count":107},{"id":1603782000,"open":13103.3,"close":13130.0,"high":13169.8,"low":12992.4,"amount":73.95,"vol":73950,"trade_turnover":968195.155,"count":305},{"id":1603785600,"open":13135.1,"close":13123.8,"high":13148.4,"low":13044.0,"amount":18.732,"vol":18732,"trade_turnover":245533.5448,"count":135},{"id":1603789200,"open":13115.5,"close":13131.7,"high":13131.8,"low":13075.7,"amount":13.756,"vol":13756,"trade_turnover":180253.7708,"count":102},{"id":1603792800,"open":13134.8,"close":13216.9,"high":13252.0,"low":13063.4,"amount":154.108,"vol":154108,"trade_turnover":2029983.656,"count":525},{"id":1603796400,"open":13218.8,"close":13395.8,"high":13590.1,"low":13213.5,"amount":170.09,"vol":170090,"trade_turnover":2276279.742,"count":591},{"id":1603800000,"open":13395.9,"close":13376.9,"high":13414.0,"low":13331.7,"amount":48.928,"vol":48928,"trade_turnover":654585.9108,"count":216},{"id":1603803600,"open":13376.5,"close":13384.3,"high":13490.9,"low":13329.8,"amount":63.294,"vol":63294,"trade_turnover":848130.9212,"count":316},{"id":1603807200,"open":13392.6,"close":13398.2,"high":13415.8,"low":13344.8,"amount":12.892,"vol":12892,"trade_turnover":172618.6864,"count":124},{"id":1603810800,"open":13398.2,"close":13598.5,"high":13626.7,"low":13398.2,"amount":93.22,"vol":93220,"trade_turnover":1262695.5466,"count":476},{"id":1603814400,"open":13595.8,"close":13639.9,"high":13639.9,"low":13520.2,"amount":85.45,"vol":85450,"trade_turnover":1161481.4136,"count":435},{"id":1603818000,"open":13640.0,"close":13688.1,"high":13826.7,"low":13589.0,"amount":191.812,"vol":191812,"trade_turnover":2628428.3788,"count":711},{"id":1603821600,"open":13685.0,"close":13630.1,"high":13745.0,"low":13528.2,"amount":65.434,"vol":65434,"trade_turnover":891541.8394,"count":410},{"id":1603825200,"open":13629.4,"close":13637.1,"high":13659.8,"low":13595.4,"amount":5.788,"vol":5788,"trade_turnover":78836.2578,"count":65},{"id":1603828800,"open":13644.4,"close":13616.6,"high":13805.1,"low":13582.6,"amount":163.104,"vol":163104,"trade_turnover":2234040.3544,"count":537},{"id":1603832400,"open":13609.8,"close":13705.5,"high":13753.5,"low":13609.8,"amount":9.884,"vol":9884,"trade_turnover":135406.4752,"count":101},{"id":1603836000,"open":13705.4,"close":13739.9,"high":13739.9,"low":13658.2,"amount":7.436,"vol":7436,"trade_turnover":101840.3508,"count":100},{"id":1603839600,"open":13739.9,"close":13649.6,"high":13794.6,"low":13582.6,"amount":17.086,"vol":17086,"trade_turnover":233971.8448,"count":234},{"id":1603843200,"open":13645.9,"close":13701.7,"high":13745.2,"low":13618.8,"amount":24.108,"vol":24108,"trade_turnover":330206.5694,"count":177},{"id":1603846800,"open":13702.1,"close":13702.6,"high":13725.6,"low":13647.9,"amount":15.892,"vol":15892,"trade_turnover":217816.7008,"count":151},{"id":1603850400,"open":13701.7,"close":13811.6,"high":13832.2,"low":13680.2,"amount":46.548,"vol":46548,"trade_turnover":640636.0352,"count":274},{"id":1603854000,"open":13818.5,"close":13777.0,"high":13820.3,"low":13717.5,"amount":67.896,"vol":67896,"trade_turnover":935838.2238,"count":320},{"id":1603857600,"open":13767.3,"close":13735.7,"high":13807.2,"low":13710.0,"amount":33.156,"vol":33156,"trade_turnover":455941.234,"count":210},{"id":1603861200,"open":13735.5,"close":13715.8,"high":13753.9,"low":13671.3,"amount":32.076,"vol":32076,"trade_turnover":439612.64,"count":198},{"id":1603864800,"open":13715.9,"close":13701.3,"high":13757.0,"low":13694.9,"amount":14.756,"vol":14756,"trade_turnover":202602.5164,"count":122},{"id":1603868400,"open":13701.2,"close":13674.2,"high":13708.7,"low":13550.0,"amount":155.534,"vol":155534,"trade_turnover":2117935.0928,"count":635},{"id":1603872000,"open":13673.0,"close":13691.7,"high":13691.7,"low":13584.0,"amount":29.846,"vol":29846,"trade_turnover":407073.1398,"count":240},{"id":1603875600,"open":13689.3,"close":13587.1,"high":13707.5,"low":13573.5,"amount":104.542,"vol":104542,"trade_turnover":1425079.9344,"count":377},{"id":1603879200,"open":13584.6,"close":13552.7,"high":13618.0,"low":13504.7,"amount":73.818,"vol":73818,"trade_turnover":1001666.0908,"count":358},{"id":1603882800,"open":13552.6,"close":13336.4,"high":13565.4,"low":13330.0,"amount":176.544,"vol":176544,"trade_turnover":2369166.1492,"count":1004},{"id":1603886400,"open":13331.5,"close":13300.3,"high":13385.0,"low":13173.9,"amount":289.73,"vol":289730,"trade_turnover":3846751.7166,"count":968},{"id":1603890000,"open":13300.2,"close":13129.9,"high":13340.0,"low":13122.9,"amount":139.822,"vol":139822,"trade_turnover":1848876.932,"count":612},{"id":1603893600,"open":13123.4,"close":13082.2,"high":13168.2,"low":12915.9,"amount":367.876,"vol":367876,"trade_turnover":4802516.9818,"count":1168},{"id":1603897200,"open":13077.1,"close":13221.2,"high":13235.2,"low":13052.3,"amount":84.044,"vol":84044,"trade_turnover":1106883.1282,"count":375},{"id":1603900800,"open":13218.7,"close":13145.1,"high":13218.7,"low":13050.0,"amount":29.566,"vol":29566,"trade_turnover":388697.4104,"count":244},{"id":1603904400,"open":13145.1,"close":13176.7,"high":13204.9,"low":13006.6,"amount":53.336,"vol":53336,"trade_turnover":700385.2784,"count":299},{"id":1603908000,"open":13171.0,"close":13196.5,"high":13219.6,"low":13131.0,"amount":34.164,"vol":34164,"trade_turnover":450210.5778,"count":218},{"id":1603911600,"open":13200.0,"close":13154.9,"high":13237.4,"low":13145.0,"amount":22.158,"vol":22158,"trade_turnover":292020.0438,"count":185},{"id":1603915200,"open":13154.5,"close":13198.1,"high":13211.8,"low":13147.4,"amount":4.548,"vol":4548,"trade_turnover":59991.1118,"count":75},{"id":1603918800,"open":13193.5,"close":13190.1,"high":13196.5,"low":13100.2,"amount":3.52,"vol":3520,"trade_turnover":46175.428,"count":68},{"id":1603922400,"open":13185.4,"close":13252.0,"high":13267.5,"low":13185.4,"amount":3.122,"vol":3122,"trade_turnover":41304.2018,"count":72},{"id":1603926000,"open":13242.1,"close":13265.9,"high":13282.3,"low":13235.9,"amount":14.768,"vol":14768,"trade_turnover":195689.0764,"count":86},{"id":1603929600,"open":13253.9,"close":13245.1,"high":13294.7,"low":13237.4,"amount":19.968,"vol":19968,"trade_turnover":264834.1944,"count":98},{"id":1603933200,"open":13244.6,"close":13274.2,"high":13285.3,"low":13166.3,"amount":35.282,"vol":35282,"trade_turnover":465789.6302,"count":192},{"id":1603936800,"open":13275.9,"close":13241.1,"high":13277.7,"low":13212.2,"amount":9.748,"vol":9748,"trade_turnover":129016.0684,"count":119},{"id":1603940400,"open":13237.1,"close":13262.5,"high":13262.5,"low":13174.6,"amount":27.3,"vol":27300,"trade_turnover":360589.8982,"count":199},{"id":1603944000,"open":13269.1,"close":13229.5,"high":13277.7,"low":13229.5,"amount":18.904,"vol":18904,"trade_turnover":250713.2812,"count":109},{"id":1603947600,"open":13228.5,"close":13274.8,"high":13274.8,"low":13228.5,"amount":15.822,"vol":15822,"trade_turnover":209781.909,"count":134},{"id":1603951200,"open":13274.8,"close":13255.0,"high":13323.0,"low":13242.3,"amount":91.246,"vol":91246,"trade_turnover":1211271.2788,"count":294},{"id":1603954800,"open":13255.0,"close":13142.4,"high":13269.3,"low":13123.1,"amount":187.622,"vol":187622,"trade_turnover":2478299.7074,"count":506},{"id":1603958400,"open":13145.9,"close":13124.8,"high":13182.4,"low":13094.1,"amount":69.532,"vol":69532,"trade_turnover":914157.2418,"count":226},{"id":1603962000,"open":13129.5,"close":13183.7,"high":13197.1,"low":13129.5,"amount":23.184,"vol":23184,"trade_turnover":305485.9524,"count":141},{"id":1603965600,"open":13184.8,"close":13105.2,"high":13187.5,"low":13053.1,"amount":121.146,"vol":121146,"trade_turnover":1590026.4416,"count":442},{"id":1603969200,"open":13105.1,"close":13060.1,"high":13171.4,"low":13060.1,"amount":47.498,"vol":47498,"trade_turnover":623578.149,"count":262},{"id":1603972800,"open":13056.9,"close":13131.8,"high":13145.8,"low":12977.9,"amount":126.552,"vol":126552,"trade_turnover":1652549.311,"count":481},{"id":1603976400,"open":13131.7,"close":13230.0,"high":13237.2,"low":13102.0,"amount":100.482,"vol":100482,"trade_turnover":1326403.7206,"count":325},{"id":1603980000,"open":13231.0,"close":13420.8,"high":13476.1,"low":13231.0,"amount":253.258,"vol":253258,"trade_turnover":3384941.438,"count":752},{"id":1603983600,"open":13416.0,"close":13420.6,"high":13458.7,"low":13358.7,"amount":64.71,"vol":64710,"trade_turnover":869052.3804,"count":269},{"id":1603987200,"open":13421.9,"close":13535.9,"high":13594.5,"low":13391.8,"amount":120.24,"vol":120240,"trade_turnover":1626567.8278,"count":570}]} +2024-01-18 11:13:19.060 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:41] - 请求 KLine 数据解析之后的数据为:{"wsid":19750305,"data":[{"amount":0.276,"high":12300.0,"vol":276,"low":11715.8,"count":39,"id":1603270800,"close":12196.7,"tradeTurnover":3315.9104,"open":12198.0},{"amount":0.198,"high":12289.9,"vol":198,"low":12111.0,"count":21,"id":1603274400,"close":12277.9,"tradeTurnover":2420.7728,"open":12196.7},{"amount":0.012,"high":12277.9,"vol":12,"low":12000.0,"count":5,"id":1603278000,"close":12000.0,"tradeTurnover":145.2238,"open":12111.0},{"amount":0.084,"high":12498.0,"vol":84,"low":12078.0,"count":12,"id":1603281600,"close":12497.4,"tradeTurnover":1040.0504,"open":12078.0},{"amount":1.122,"high":12495.6,"vol":1122,"low":12282.9,"count":112,"id":1603285200,"close":12373.5,"tradeTurnover":13905.3124,"open":12495.6},{"amount":5.29,"high":12807.6,"vol":5290,"low":12358.1,"count":155,"id":1603288800,"close":12689.9,"tradeTurnover":66852.128,"open":12412.9},{"amount":1.174,"high":12778.7,"vol":1174,"low":12573.2,"count":113,"id":1603292400,"close":12701.9,"tradeTurnover":14907.367,"open":12692.8},{"amount":1.156,"high":12920.9,"vol":1156,"low":12624.8,"count":115,"id":1603296000,"close":12835.9,"tradeTurnover":14802.449,"open":12679.7},{"amount":1.12,"high":12908.3,"vol":1120,"low":12687.5,"count":115,"id":1603299600,"close":12754.2,"tradeTurnover":14345.7324,"open":12848.3},{"amount":1.106,"high":12849.0,"vol":1106,"low":12668.3,"count":114,"id":1603303200,"close":12740.2,"tradeTurnover":14105.3504,"open":12743.7},{"amount":1.032,"high":12843.1,"vol":1032,"low":12597.2,"count":112,"id":1603306800,"close":12650.3,"tradeTurnover":13125.4568,"open":12729.5},{"amount":1.154,"high":12848.4,"vol":1154,"low":12610.2,"count":116,"id":1603310400,"close":12807.0,"tradeTurnover":14680.638,"open":12666.8},{"amount":1.164,"high":13005.1,"vol":1164,"low":12748.2,"count":114,"id":1603314000,"close":12938.9,"tradeTurnover":14976.9366,"open":12866.0},{"amount":1.174,"high":13211.2,"vol":1174,"low":12865.7,"count":114,"id":1603317600,"close":13122.0,"tradeTurnover":15285.2446,"open":12921.0},{"amount":1.172,"high":13173.2,"vol":1172,"low":12688.6,"count":117,"id":1603321200,"close":12829.8,"tradeTurnover":15060.9938,"open":13153.2},{"amount":1.17,"high":12988.1,"vol":1170,"low":12764.4,"count":117,"id":1603324800,"close":12885.9,"tradeTurnover":15046.2046,"open":12793.1},{"amount":1.158,"high":12972.6,"vol":1158,"low":12757.5,"count":118,"id":1603328400,"close":12757.5,"tradeTurnover":14882.4656,"open":12860.4},{"amount":1.124,"high":12848.0,"vol":1124,"low":12729.0,"count":115,"id":1603332000,"close":12788.8,"tradeTurnover":14368.7948,"open":12824.1},{"amount":1.194,"high":12834.4,"vol":1194,"low":12729.0,"count":111,"id":1603335600,"close":12767.2,"tradeTurnover":15268.9298,"open":12791.7},{"amount":1.152,"high":12778.3,"vol":1152,"low":12729.0,"count":115,"id":1603339200,"close":12762.2,"tradeTurnover":14695.4876,"open":12729.0},{"amount":1.21,"high":12842.0,"vol":1210,"low":12730.6,"count":119,"id":1603342800,"close":12813.8,"tradeTurnover":15440.8162,"open":12763.1},{"amount":1.188,"high":12795.0,"vol":1188,"low":12728.0,"count":123,"id":1603346400,"close":12729.1,"tradeTurnover":15128.0098,"open":12795.0},{"amount":1.266,"high":12730.6,"vol":1266,"low":12728.3,"count":112,"id":1603350000,"close":12730.6,"tradeTurnover":16115.1306,"open":12728.6},{"amount":1.35,"high":12921.5,"vol":1350,"low":12729.9,"count":127,"id":1603353600,"close":12770.1,"tradeTurnover":17233.7326,"open":12730.3},{"amount":0.98,"high":12872.1,"vol":980,"low":12760.1,"count":99,"id":1603357200,"close":12780.4,"tradeTurnover":12553.9826,"open":12824.9},{"amount":0.266,"high":13002.7,"vol":266,"low":12775.6,"count":30,"id":1603360800,"close":12934.2,"tradeTurnover":3415.023,"open":12784.9},{"amount":1.004,"high":13057.0,"vol":1004,"low":12886.6,"count":117,"id":1603364400,"close":13045.0,"tradeTurnover":13020.8576,"open":12977.0},{"amount":1.134,"high":12973.4,"vol":1134,"low":12751.6,"count":111,"id":1603368000,"close":12847.9,"tradeTurnover":14594.2752,"open":12958.5},{"amount":1.152,"high":13000.8,"vol":1152,"low":12743.0,"count":114,"id":1603371600,"close":12931.0,"tradeTurnover":14877.7314,"open":12882.7},{"amount":1.182,"high":12995.3,"vol":1182,"low":12783.9,"count":115,"id":1603375200,"close":12917.8,"tradeTurnover":15224.4716,"open":12890.4},{"amount":1.176,"high":13031.2,"vol":1176,"low":12817.9,"count":117,"id":1603378800,"close":12953.0,"tradeTurnover":15197.208,"open":12918.8},{"amount":1.146,"high":13100.2,"vol":1146,"low":12865.6,"count":119,"id":1603382400,"close":13055.6,"tradeTurnover":14851.9604,"open":12923.1},{"amount":1.534,"high":13105.7,"vol":1534,"low":12835.5,"count":124,"id":1603386000,"close":13082.7,"tradeTurnover":19927.8288,"open":12967.6},{"amount":1.268,"high":13115.0,"vol":1268,"low":12938.7,"count":117,"id":1603389600,"close":13016.4,"tradeTurnover":16505.4738,"open":13020.4},{"amount":1.13,"high":13171.2,"vol":1130,"low":12961.8,"count":112,"id":1603393200,"close":12970.6,"tradeTurnover":14762.952,"open":13028.3},{"amount":1.206,"high":13216.1,"vol":1206,"low":12998.5,"count":117,"id":1603396800,"close":13089.3,"tradeTurnover":15807.1226,"open":13016.7},{"amount":1.332,"high":13203.7,"vol":1332,"low":12932.9,"count":114,"id":1603400400,"close":13092.0,"tradeTurnover":17423.4422,"open":13136.0},{"amount":1.21,"high":13250.5,"vol":1210,"low":12984.7,"count":114,"id":1603404000,"close":13055.9,"tradeTurnover":15876.0632,"open":13119.4},{"amount":1.286,"high":13126.5,"vol":1286,"low":12857.2,"count":116,"id":1603407600,"close":12890.4,"tradeTurnover":16688.422,"open":13059.4},{"amount":1.502,"high":12994.0,"vol":1502,"low":12751.6,"count":131,"id":1603411200,"close":12892.2,"tradeTurnover":19331.1596,"open":12929.7},{"amount":1.386,"high":13003.2,"vol":1386,"low":12786.0,"count":121,"id":1603414800,"close":12898.3,"tradeTurnover":17904.8902,"open":12921.7},{"amount":1.416,"high":13054.0,"vol":1416,"low":12800.7,"count":122,"id":1603418400,"close":12975.1,"tradeTurnover":18306.6204,"open":12951.6},{"amount":1.19,"high":13030.7,"vol":1190,"low":12875.0,"count":118,"id":1603422000,"close":12947.0,"tradeTurnover":15409.7984,"open":12967.3},{"amount":1.022,"high":13047.3,"vol":1022,"low":12832.8,"count":127,"id":1603425600,"close":12852.0,"tradeTurnover":13214.4388,"open":12925.2},{"amount":0.478,"high":12991.7,"vol":478,"low":12841.2,"count":118,"id":1603429200,"close":12931.1,"tradeTurnover":6180.2486,"open":12859.0},{"amount":0.522,"high":13014.1,"vol":522,"low":12871.9,"count":132,"id":1603432800,"close":12939.6,"tradeTurnover":6759.0324,"open":12935.9},{"amount":0.476,"high":12998.9,"vol":476,"low":12917.1,"count":118,"id":1603436400,"close":12925.4,"tradeTurnover":6163.3118,"open":12923.1},{"amount":0.508,"high":13014.0,"vol":508,"low":12916.1,"count":122,"id":1603440000,"close":12962.6,"tradeTurnover":6585.3656,"open":12942.2},{"amount":0.564,"high":13012.5,"vol":564,"low":12909.9,"count":124,"id":1603443600,"close":12926.4,"tradeTurnover":7308.8828,"open":12970.5},{"amount":0.536,"high":13059.5,"vol":536,"low":12925.7,"count":124,"id":1603447200,"close":13007.7,"tradeTurnover":6957.8796,"open":13001.2},{"amount":0.486,"high":13078.4,"vol":486,"low":12906.5,"count":122,"id":1603450800,"close":12970.6,"tradeTurnover":6326.1434,"open":13025.4},{"amount":0.494,"high":13025.0,"vol":494,"low":12850.8,"count":117,"id":1603454400,"close":12935.4,"tradeTurnover":6396.0984,"open":12963.9},{"amount":0.466,"high":13043.3,"vol":466,"low":12911.0,"count":117,"id":1603458000,"close":12951.7,"tradeTurnover":6049.1412,"open":12913.3},{"amount":0.46,"high":13006.4,"vol":460,"low":12840.4,"count":116,"id":1603461600,"close":12858.8,"tradeTurnover":5941.815,"open":12999.6},{"amount":0.492,"high":12932.9,"vol":492,"low":12826.5,"count":117,"id":1603465200,"close":12881.9,"tradeTurnover":6340.214,"open":12885.7},{"amount":0.484,"high":12933.5,"vol":484,"low":12744.4,"count":123,"id":1603468800,"close":12784.1,"tradeTurnover":6205.4138,"open":12854.4},{"amount":0.562,"high":12893.1,"vol":562,"low":12730.1,"count":152,"id":1603472400,"close":12847.7,"tradeTurnover":7218.9184,"open":12832.3},{"amount":0.53,"high":12939.3,"vol":530,"low":12751.4,"count":128,"id":1603476000,"close":12915.7,"tradeTurnover":6825.7004,"open":12874.1},{"amount":0.444,"high":12972.9,"vol":444,"low":12786.6,"count":117,"id":1603479600,"close":12972.9,"tradeTurnover":5727.7452,"open":12867.9},{"amount":0.492,"high":13002.2,"vol":492,"low":12842.9,"count":116,"id":1603483200,"close":12991.6,"tradeTurnover":6375.1566,"open":12956.7},{"amount":0.5,"high":13004.3,"vol":500,"low":12936.6,"count":125,"id":1603486800,"close":12943.5,"tradeTurnover":6485.468,"open":13004.3},{"amount":0.492,"high":13010.3,"vol":492,"low":12884.7,"count":120,"id":1603490400,"close":12989.2,"tradeTurnover":6376.1492,"open":12923.6},{"amount":0.51,"high":13024.4,"vol":510,"low":12884.6,"count":121,"id":1603494000,"close":12884.6,"tradeTurnover":6622.3406,"open":12974.9},{"amount":0.488,"high":13018.3,"vol":488,"low":12811.1,"count":120,"id":1603497600,"close":12953.9,"tradeTurnover":6317.7938,"open":12973.7},{"amount":0.482,"high":13018.1,"vol":482,"low":12872.8,"count":117,"id":1603501200,"close":12934.2,"tradeTurnover":6242.4178,"open":12927.5},{"amount":0.484,"high":13003.9,"vol":484,"low":12903.3,"count":117,"id":1603504800,"close":12989.1,"tradeTurnover":6278.1756,"open":12971.9},{"amount":0.474,"high":13013.4,"vol":474,"low":12938.3,"count":122,"id":1603508400,"close":12975.9,"tradeTurnover":6157.7096,"open":13000.1},{"amount":0.526,"high":13009.4,"vol":526,"low":12905.5,"count":124,"id":1603512000,"close":12963.3,"tradeTurnover":6831.5658,"open":12989.7},{"amount":0.522,"high":13041.8,"vol":522,"low":12875.3,"count":127,"id":1603515600,"close":12989.7,"tradeTurnover":6768.8994,"open":12910.5},{"amount":0.49,"high":13058.1,"vol":490,"low":12908.8,"count":120,"id":1603519200,"close":13003.6,"tradeTurnover":6370.5714,"open":12994.7},{"amount":0.478,"high":13037.8,"vol":478,"low":12981.7,"count":120,"id":1603522800,"close":13004.2,"tradeTurnover":6218.9722,"open":13011.9},{"amount":0.52,"high":13030.6,"vol":520,"low":12899.4,"count":124,"id":1603526400,"close":12998.2,"tradeTurnover":6754.958,"open":13003.0},{"amount":0.454,"high":13020.3,"vol":454,"low":12893.6,"count":115,"id":1603530000,"close":12990.6,"tradeTurnover":5891.0574,"open":12998.2},{"amount":0.502,"high":13059.1,"vol":502,"low":12913.2,"count":124,"id":1603533600,"close":13030.1,"tradeTurnover":6525.9004,"open":12996.4},{"amount":0.468,"high":13068.3,"vol":468,"low":12940.2,"count":119,"id":1603537200,"close":13033.2,"tradeTurnover":6091.0376,"open":12988.4},{"amount":0.468,"high":13071.8,"vol":468,"low":12978.9,"count":123,"id":1603540800,"close":13006.5,"tradeTurnover":6102.5902,"open":13035.3},{"amount":0.534,"high":13066.7,"vol":534,"low":12928.1,"count":123,"id":1603544400,"close":12985.9,"tradeTurnover":6950.4268,"open":13038.8},{"amount":0.47,"high":13100.1,"vol":470,"low":12960.5,"count":100,"id":1603548000,"close":13042.0,"tradeTurnover":6124.2178,"open":12986.3},{"amount":0.456,"high":13196.5,"vol":456,"low":13038.4,"count":120,"id":1603551600,"close":13102.2,"tradeTurnover":5989.6362,"open":13038.4},{"amount":0.458,"high":13176.6,"vol":458,"low":12984.6,"count":121,"id":1603555200,"close":13052.7,"tradeTurnover":5976.331,"open":13136.8},{"amount":0.452,"high":13177.8,"vol":452,"low":13003.2,"count":118,"id":1603558800,"close":13177.8,"tradeTurnover":5911.7058,"open":13006.2},{"amount":0.468,"high":13170.7,"vol":468,"low":13023.0,"count":119,"id":1603562400,"close":13080.8,"tradeTurnover":6122.375,"open":13127.7},{"amount":0.468,"high":13179.3,"vol":468,"low":13014.2,"count":120,"id":1603566000,"close":13148.4,"tradeTurnover":6126.4278,"open":13040.7},{"amount":0.47,"high":13179.6,"vol":470,"low":12992.5,"count":119,"id":1603569600,"close":13090.1,"tradeTurnover":6151.4758,"open":13073.5},{"amount":0.458,"high":13148.7,"vol":458,"low":12980.7,"count":117,"id":1603573200,"close":12993.9,"tradeTurnover":5981.071,"open":13035.4},{"amount":0.478,"high":13112.1,"vol":478,"low":12975.6,"count":118,"id":1603576800,"close":13041.1,"tradeTurnover":6225.4216,"open":13040.7},{"amount":0.472,"high":13184.3,"vol":472,"low":13009.3,"count":118,"id":1603580400,"close":13184.3,"tradeTurnover":6173.4244,"open":13012.6},{"amount":0.46,"high":13170.4,"vol":460,"low":13007.7,"count":115,"id":1603584000,"close":13154.3,"tradeTurnover":6024.09,"open":13080.8},{"amount":0.398,"high":13196.8,"vol":398,"low":13024.0,"count":102,"id":1603587600,"close":13196.1,"tradeTurnover":5217.5364,"open":13092.0},{"amount":0.476,"high":13175.1,"vol":476,"low":13035.0,"count":120,"id":1603591200,"close":13082.4,"tradeTurnover":6228.6596,"open":13124.7},{"amount":0.578,"high":13383.8,"vol":578,"low":13049.1,"count":137,"id":1603594800,"close":13259.0,"tradeTurnover":7629.3886,"open":13049.1},{"amount":0.47,"high":13369.0,"vol":470,"low":13216.0,"count":122,"id":1603598400,"close":13243.4,"tradeTurnover":6247.955,"open":13277.0},{"amount":0.61,"high":13353.3,"vol":610,"low":13010.1,"count":134,"id":1603602000,"close":13017.3,"tradeTurnover":8048.8598,"open":13285.3},{"amount":0.486,"high":13105.7,"vol":486,"low":13018.2,"count":118,"id":1603605600,"close":13060.3,"tradeTurnover":6344.1474,"open":13022.5},{"amount":0.464,"high":13112.1,"vol":464,"low":13022.0,"count":120,"id":1603609200,"close":13078.1,"tradeTurnover":6061.5416,"open":13048.5},{"amount":0.464,"high":13091.0,"vol":464,"low":13017.2,"count":120,"id":1603612800,"close":13046.0,"tradeTurnover":6055.3734,"open":13077.2},{"amount":0.478,"high":13084.0,"vol":478,"low":13014.2,"count":117,"id":1603616400,"close":13040.8,"tradeTurnover":6235.7882,"open":13065.1},{"amount":0.478,"high":13064.2,"vol":478,"low":13010.2,"count":125,"id":1603620000,"close":13028.5,"tradeTurnover":6232.2428,"open":13047.1},{"amount":0.534,"high":13061.5,"vol":534,"low":12852.9,"count":123,"id":1603623600,"close":12897.6,"tradeTurnover":6918.1226,"open":13061.5},{"amount":0.444,"high":13069.7,"vol":444,"low":12893.2,"count":117,"id":1603627200,"close":12964.3,"tradeTurnover":5755.8712,"open":12908.3},{"amount":0.498,"high":13071.9,"vol":498,"low":12891.8,"count":119,"id":1603630800,"close":12949.3,"tradeTurnover":6465.078,"open":13001.3},{"amount":0.468,"high":13077.7,"vol":468,"low":12900.0,"count":116,"id":1603634400,"close":12946.8,"tradeTurnover":6075.4554,"open":12975.8},{"amount":0.47,"high":13069.1,"vol":470,"low":12883.3,"count":119,"id":1603638000,"close":12883.3,"tradeTurnover":6097.1072,"open":12975.2},{"amount":0.482,"high":13067.9,"vol":482,"low":12877.5,"count":118,"id":1603641600,"close":12978.7,"tradeTurnover":6256.4472,"open":12916.2},{"amount":0.47,"high":13087.5,"vol":470,"low":12922.7,"count":117,"id":1603645200,"close":13004.4,"tradeTurnover":6108.3892,"open":13008.0},{"amount":0.468,"high":13067.6,"vol":468,"low":12893.6,"count":118,"id":1603648800,"close":12957.2,"tradeTurnover":6079.1484,"open":12972.8},{"amount":0.442,"high":13066.9,"vol":442,"low":12916.6,"count":118,"id":1603652400,"close":13021.8,"tradeTurnover":5746.5548,"open":12996.5},{"amount":0.508,"high":13081.5,"vol":508,"low":12944.9,"count":120,"id":1603656000,"close":12985.4,"tradeTurnover":6616.9872,"open":12992.9},{"amount":0.508,"high":13068.6,"vol":508,"low":12921.4,"count":122,"id":1603659600,"close":13011.2,"tradeTurnover":6614.816,"open":12999.9},{"amount":0.486,"high":13073.8,"vol":486,"low":12911.9,"count":121,"id":1603663200,"close":12959.4,"tradeTurnover":6320.907,"open":12979.6},{"amount":0.452,"high":13085.2,"vol":452,"low":12927.8,"count":113,"id":1603666800,"close":13032.1,"tradeTurnover":5878.6442,"open":12963.4},{"amount":0.482,"high":13076.7,"vol":482,"low":12918.3,"count":121,"id":1603670400,"close":13001.0,"tradeTurnover":6263.698,"open":12964.2},{"amount":0.478,"high":13096.4,"vol":478,"low":12991.2,"count":124,"id":1603674000,"close":13053.7,"tradeTurnover":6232.2328,"open":13040.0},{"amount":0.488,"high":13185.7,"vol":488,"low":12985.1,"count":121,"id":1603677600,"close":13064.4,"tradeTurnover":6387.534,"open":13060.6},{"amount":0.486,"high":13187.2,"vol":486,"low":12984.1,"count":135,"id":1603681200,"close":13092.8,"tradeTurnover":6369.0272,"open":13032.3},{"amount":0.51,"high":13181.6,"vol":510,"low":12962.3,"count":131,"id":1603684800,"close":13132.6,"tradeTurnover":6679.829,"open":13092.0},{"amount":0.506,"high":13205.3,"vol":506,"low":13025.3,"count":126,"id":1603688400,"close":13092.1,"tradeTurnover":6641.2128,"open":13129.2},{"amount":1.616,"high":13188.1,"vol":1616,"low":12989.8,"count":141,"id":1603692000,"close":13071.4,"tradeTurnover":21170.8224,"open":13121.8},{"amount":3.746,"high":13100.0,"vol":3746,"low":12965.2,"count":110,"id":1603695600,"close":13038.7,"tradeTurnover":48924.8902,"open":13061.0},{"amount":8.966,"high":13102.0,"vol":8966,"low":12852.8,"count":173,"id":1603699200,"close":13039.3,"tradeTurnover":116525.5534,"open":13030.9},{"amount":4.48,"high":13088.4,"vol":4480,"low":13039.8,"count":124,"id":1603702800,"close":13075.9,"tradeTurnover":58521.1714,"open":13047.1},{"amount":4.272,"high":13100.0,"vol":4272,"low":13060.2,"count":130,"id":1603706400,"close":13100.0,"tradeTurnover":55895.9778,"open":13072.1},{"amount":29.798,"high":13159.0,"vol":29798,"low":13100.0,"count":230,"id":1603710000,"close":13138.4,"tradeTurnover":391138.024,"open":13100.0},{"amount":5.154,"high":13200.0,"vol":5154,"low":13100.0,"count":188,"id":1603713600,"close":13149.8,"tradeTurnover":67694.652,"open":13138.8},{"amount":35.608,"high":13351.5,"vol":35608,"low":13133.1,"count":328,"id":1603717200,"close":13205.8,"tradeTurnover":472780.3394,"open":13150.0},{"amount":31.748,"high":13280.0,"vol":31748,"low":13144.1,"count":235,"id":1603720800,"close":13166.1,"tradeTurnover":418744.5588,"open":13203.0},{"amount":36.53,"high":13165.2,"vol":36530,"low":12903.8,"count":384,"id":1603724400,"close":12978.0,"tradeTurnover":476940.3296,"open":13159.0},{"amount":35.018,"high":13069.8,"vol":35018,"low":12850.5,"count":323,"id":1603728000,"close":12869.6,"tradeTurnover":453288.918,"open":12965.0},{"amount":92.628,"high":12941.5,"vol":92628,"low":12583.9,"count":560,"id":1603731600,"close":12873.8,"tradeTurnover":1185973.467,"open":12879.2},{"amount":4.302,"high":12954.5,"vol":4302,"low":12820.4,"count":128,"id":1603735200,"close":12946.8,"tradeTurnover":55481.0054,"open":12856.2},{"amount":13.83,"high":12953.5,"vol":13830,"low":12914.1,"count":118,"id":1603738800,"close":12953.4,"tradeTurnover":179112.1598,"open":12945.6},{"amount":17.172,"high":13007.5,"vol":17172,"low":12953.5,"count":132,"id":1603742400,"close":12983.4,"tradeTurnover":223230.2122,"open":12953.5},{"amount":3.212,"high":13007.5,"vol":3212,"low":12982.7,"count":59,"id":1603746000,"close":12993.8,"tradeTurnover":41767.8906,"open":12983.1},{"amount":1.504,"high":13007.5,"vol":1504,"low":12974.0,"count":74,"id":1603749600,"close":13007.5,"tradeTurnover":19543.3568,"open":13002.1},{"amount":3.454,"high":13061.2,"vol":3454,"low":13007.5,"count":101,"id":1603753200,"close":13033.7,"tradeTurnover":45001.601,"open":13007.5},{"amount":8.784,"high":13105.0,"vol":8784,"low":13028.3,"count":98,"id":1603756800,"close":13067.1,"tradeTurnover":114871.8246,"open":13029.2},{"amount":11.592,"high":13074.4,"vol":11592,"low":13051.5,"count":66,"id":1603760400,"close":13061.7,"tradeTurnover":151386.9038,"open":13074.3},{"amount":19.298,"high":13097.6,"vol":19298,"low":13040.1,"count":109,"id":1603764000,"close":13049.7,"tradeTurnover":252061.019,"open":13061.7},{"amount":22.992,"high":13080.0,"vol":22992,"low":13057.1,"count":69,"id":1603767600,"close":13070.4,"tradeTurnover":300453.9788,"open":13057.6},{"amount":14.396,"high":13175.0,"vol":14396,"low":13079.6,"count":59,"id":1603771200,"close":13103.3,"tradeTurnover":188461.9156,"open":13080.0},{"amount":5.058,"high":13121.3,"vol":5058,"low":13069.7,"count":44,"id":1603774800,"close":13073.6,"tradeTurnover":66201.3552,"open":13121.3},{"amount":9.106,"high":13149.0,"vol":9106,"low":13069.6,"count":107,"id":1603778400,"close":13103.4,"tradeTurnover":119104.8906,"open":13074.9},{"amount":73.95,"high":13169.8,"vol":73950,"low":12992.4,"count":305,"id":1603782000,"close":13130.0,"tradeTurnover":968195.155,"open":13103.3},{"amount":18.732,"high":13148.4,"vol":18732,"low":13044.0,"count":135,"id":1603785600,"close":13123.8,"tradeTurnover":245533.5448,"open":13135.1},{"amount":13.756,"high":13131.8,"vol":13756,"low":13075.7,"count":102,"id":1603789200,"close":13131.7,"tradeTurnover":180253.7708,"open":13115.5},{"amount":154.108,"high":13252.0,"vol":154108,"low":13063.4,"count":525,"id":1603792800,"close":13216.9,"tradeTurnover":2029983.656,"open":13134.8},{"amount":170.09,"high":13590.1,"vol":170090,"low":13213.5,"count":591,"id":1603796400,"close":13395.8,"tradeTurnover":2276279.742,"open":13218.8},{"amount":48.928,"high":13414.0,"vol":48928,"low":13331.7,"count":216,"id":1603800000,"close":13376.9,"tradeTurnover":654585.9108,"open":13395.9},{"amount":63.294,"high":13490.9,"vol":63294,"low":13329.8,"count":316,"id":1603803600,"close":13384.3,"tradeTurnover":848130.9212,"open":13376.5},{"amount":12.892,"high":13415.8,"vol":12892,"low":13344.8,"count":124,"id":1603807200,"close":13398.2,"tradeTurnover":172618.6864,"open":13392.6},{"amount":93.22,"high":13626.7,"vol":93220,"low":13398.2,"count":476,"id":1603810800,"close":13598.5,"tradeTurnover":1262695.5466,"open":13398.2},{"amount":85.45,"high":13639.9,"vol":85450,"low":13520.2,"count":435,"id":1603814400,"close":13639.9,"tradeTurnover":1161481.4136,"open":13595.8},{"amount":191.812,"high":13826.7,"vol":191812,"low":13589.0,"count":711,"id":1603818000,"close":13688.1,"tradeTurnover":2628428.3788,"open":13640.0},{"amount":65.434,"high":13745.0,"vol":65434,"low":13528.2,"count":410,"id":1603821600,"close":13630.1,"tradeTurnover":891541.8394,"open":13685.0},{"amount":5.788,"high":13659.8,"vol":5788,"low":13595.4,"count":65,"id":1603825200,"close":13637.1,"tradeTurnover":78836.2578,"open":13629.4},{"amount":163.104,"high":13805.1,"vol":163104,"low":13582.6,"count":537,"id":1603828800,"close":13616.6,"tradeTurnover":2234040.3544,"open":13644.4},{"amount":9.884,"high":13753.5,"vol":9884,"low":13609.8,"count":101,"id":1603832400,"close":13705.5,"tradeTurnover":135406.4752,"open":13609.8},{"amount":7.436,"high":13739.9,"vol":7436,"low":13658.2,"count":100,"id":1603836000,"close":13739.9,"tradeTurnover":101840.3508,"open":13705.4},{"amount":17.086,"high":13794.6,"vol":17086,"low":13582.6,"count":234,"id":1603839600,"close":13649.6,"tradeTurnover":233971.8448,"open":13739.9},{"amount":24.108,"high":13745.2,"vol":24108,"low":13618.8,"count":177,"id":1603843200,"close":13701.7,"tradeTurnover":330206.5694,"open":13645.9},{"amount":15.892,"high":13725.6,"vol":15892,"low":13647.9,"count":151,"id":1603846800,"close":13702.6,"tradeTurnover":217816.7008,"open":13702.1},{"amount":46.548,"high":13832.2,"vol":46548,"low":13680.2,"count":274,"id":1603850400,"close":13811.6,"tradeTurnover":640636.0352,"open":13701.7},{"amount":67.896,"high":13820.3,"vol":67896,"low":13717.5,"count":320,"id":1603854000,"close":13777.0,"tradeTurnover":935838.2238,"open":13818.5},{"amount":33.156,"high":13807.2,"vol":33156,"low":13710.0,"count":210,"id":1603857600,"close":13735.7,"tradeTurnover":455941.234,"open":13767.3},{"amount":32.076,"high":13753.9,"vol":32076,"low":13671.3,"count":198,"id":1603861200,"close":13715.8,"tradeTurnover":439612.64,"open":13735.5},{"amount":14.756,"high":13757.0,"vol":14756,"low":13694.9,"count":122,"id":1603864800,"close":13701.3,"tradeTurnover":202602.5164,"open":13715.9},{"amount":155.534,"high":13708.7,"vol":155534,"low":13550.0,"count":635,"id":1603868400,"close":13674.2,"tradeTurnover":2117935.0928,"open":13701.2},{"amount":29.846,"high":13691.7,"vol":29846,"low":13584.0,"count":240,"id":1603872000,"close":13691.7,"tradeTurnover":407073.1398,"open":13673.0},{"amount":104.542,"high":13707.5,"vol":104542,"low":13573.5,"count":377,"id":1603875600,"close":13587.1,"tradeTurnover":1425079.9344,"open":13689.3},{"amount":73.818,"high":13618.0,"vol":73818,"low":13504.7,"count":358,"id":1603879200,"close":13552.7,"tradeTurnover":1001666.0908,"open":13584.6},{"amount":176.544,"high":13565.4,"vol":176544,"low":13330.0,"count":1004,"id":1603882800,"close":13336.4,"tradeTurnover":2369166.1492,"open":13552.6},{"amount":289.73,"high":13385.0,"vol":289730,"low":13173.9,"count":968,"id":1603886400,"close":13300.3,"tradeTurnover":3846751.7166,"open":13331.5},{"amount":139.822,"high":13340.0,"vol":139822,"low":13122.9,"count":612,"id":1603890000,"close":13129.9,"tradeTurnover":1848876.932,"open":13300.2},{"amount":367.876,"high":13168.2,"vol":367876,"low":12915.9,"count":1168,"id":1603893600,"close":13082.2,"tradeTurnover":4802516.9818,"open":13123.4},{"amount":84.044,"high":13235.2,"vol":84044,"low":13052.3,"count":375,"id":1603897200,"close":13221.2,"tradeTurnover":1106883.1282,"open":13077.1},{"amount":29.566,"high":13218.7,"vol":29566,"low":13050.0,"count":244,"id":1603900800,"close":13145.1,"tradeTurnover":388697.4104,"open":13218.7},{"amount":53.336,"high":13204.9,"vol":53336,"low":13006.6,"count":299,"id":1603904400,"close":13176.7,"tradeTurnover":700385.2784,"open":13145.1},{"amount":34.164,"high":13219.6,"vol":34164,"low":13131.0,"count":218,"id":1603908000,"close":13196.5,"tradeTurnover":450210.5778,"open":13171.0},{"amount":22.158,"high":13237.4,"vol":22158,"low":13145.0,"count":185,"id":1603911600,"close":13154.9,"tradeTurnover":292020.0438,"open":13200.0},{"amount":4.548,"high":13211.8,"vol":4548,"low":13147.4,"count":75,"id":1603915200,"close":13198.1,"tradeTurnover":59991.1118,"open":13154.5},{"amount":3.52,"high":13196.5,"vol":3520,"low":13100.2,"count":68,"id":1603918800,"close":13190.1,"tradeTurnover":46175.428,"open":13193.5},{"amount":3.122,"high":13267.5,"vol":3122,"low":13185.4,"count":72,"id":1603922400,"close":13252.0,"tradeTurnover":41304.2018,"open":13185.4},{"amount":14.768,"high":13282.3,"vol":14768,"low":13235.9,"count":86,"id":1603926000,"close":13265.9,"tradeTurnover":195689.0764,"open":13242.1},{"amount":19.968,"high":13294.7,"vol":19968,"low":13237.4,"count":98,"id":1603929600,"close":13245.1,"tradeTurnover":264834.1944,"open":13253.9},{"amount":35.282,"high":13285.3,"vol":35282,"low":13166.3,"count":192,"id":1603933200,"close":13274.2,"tradeTurnover":465789.6302,"open":13244.6},{"amount":9.748,"high":13277.7,"vol":9748,"low":13212.2,"count":119,"id":1603936800,"close":13241.1,"tradeTurnover":129016.0684,"open":13275.9},{"amount":27.3,"high":13262.5,"vol":27300,"low":13174.6,"count":199,"id":1603940400,"close":13262.5,"tradeTurnover":360589.8982,"open":13237.1},{"amount":18.904,"high":13277.7,"vol":18904,"low":13229.5,"count":109,"id":1603944000,"close":13229.5,"tradeTurnover":250713.2812,"open":13269.1},{"amount":15.822,"high":13274.8,"vol":15822,"low":13228.5,"count":134,"id":1603947600,"close":13274.8,"tradeTurnover":209781.909,"open":13228.5},{"amount":91.246,"high":13323.0,"vol":91246,"low":13242.3,"count":294,"id":1603951200,"close":13255.0,"tradeTurnover":1211271.2788,"open":13274.8},{"amount":187.622,"high":13269.3,"vol":187622,"low":13123.1,"count":506,"id":1603954800,"close":13142.4,"tradeTurnover":2478299.7074,"open":13255.0},{"amount":69.532,"high":13182.4,"vol":69532,"low":13094.1,"count":226,"id":1603958400,"close":13124.8,"tradeTurnover":914157.2418,"open":13145.9},{"amount":23.184,"high":13197.1,"vol":23184,"low":13129.5,"count":141,"id":1603962000,"close":13183.7,"tradeTurnover":305485.9524,"open":13129.5},{"amount":121.146,"high":13187.5,"vol":121146,"low":13053.1,"count":442,"id":1603965600,"close":13105.2,"tradeTurnover":1590026.4416,"open":13184.8},{"amount":47.498,"high":13171.4,"vol":47498,"low":13060.1,"count":262,"id":1603969200,"close":13060.1,"tradeTurnover":623578.149,"open":13105.1},{"amount":126.552,"high":13145.8,"vol":126552,"low":12977.9,"count":481,"id":1603972800,"close":13131.8,"tradeTurnover":1652549.311,"open":13056.9},{"amount":100.482,"high":13237.2,"vol":100482,"low":13102.0,"count":325,"id":1603976400,"close":13230.0,"tradeTurnover":1326403.7206,"open":13131.7},{"amount":253.258,"high":13476.1,"vol":253258,"low":13231.0,"count":752,"id":1603980000,"close":13420.8,"tradeTurnover":3384941.438,"open":13231.0},{"amount":64.71,"high":13458.7,"vol":64710,"low":13358.7,"count":269,"id":1603983600,"close":13420.6,"tradeTurnover":869052.3804,"open":13416.0},{"amount":120.24,"high":13594.5,"vol":120240,"low":13391.8,"count":570,"id":1603987200,"close":13535.9,"tradeTurnover":1626567.8278,"open":13421.9}],"id":"","rep":"market.BTC-USDT.kline.60min","status":"ok"} +2024-01-18 11:13:20.075 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:39] - 请求 KLine 数据用户收到的原始数据:{"id":"","rep":"market.BTC-USDT.kline.60min","ts":1705547598983,"wsid":19750305,"status":"ok","data":[{"id":1603270800,"open":12198.0,"close":12196.7,"high":12300.0,"low":11715.8,"amount":0.276,"vol":276,"trade_turnover":3315.9104,"count":39},{"id":1603274400,"open":12196.7,"close":12277.9,"high":12289.9,"low":12111.0,"amount":0.198,"vol":198,"trade_turnover":2420.7728,"count":21},{"id":1603278000,"open":12111.0,"close":12000.0,"high":12277.9,"low":12000.0,"amount":0.012,"vol":12,"trade_turnover":145.2238,"count":5},{"id":1603281600,"open":12078.0,"close":12497.4,"high":12498.0,"low":12078.0,"amount":0.084,"vol":84,"trade_turnover":1040.0504,"count":12},{"id":1603285200,"open":12495.6,"close":12373.5,"high":12495.6,"low":12282.9,"amount":1.122,"vol":1122,"trade_turnover":13905.3124,"count":112},{"id":1603288800,"open":12412.9,"close":12689.9,"high":12807.6,"low":12358.1,"amount":5.29,"vol":5290,"trade_turnover":66852.128,"count":155},{"id":1603292400,"open":12692.8,"close":12701.9,"high":12778.7,"low":12573.2,"amount":1.174,"vol":1174,"trade_turnover":14907.367,"count":113},{"id":1603296000,"open":12679.7,"close":12835.9,"high":12920.9,"low":12624.8,"amount":1.156,"vol":1156,"trade_turnover":14802.449,"count":115},{"id":1603299600,"open":12848.3,"close":12754.2,"high":12908.3,"low":12687.5,"amount":1.12,"vol":1120,"trade_turnover":14345.7324,"count":115},{"id":1603303200,"open":12743.7,"close":12740.2,"high":12849.0,"low":12668.3,"amount":1.106,"vol":1106,"trade_turnover":14105.3504,"count":114},{"id":1603306800,"open":12729.5,"close":12650.3,"high":12843.1,"low":12597.2,"amount":1.032,"vol":1032,"trade_turnover":13125.4568,"count":112},{"id":1603310400,"open":12666.8,"close":12807.0,"high":12848.4,"low":12610.2,"amount":1.154,"vol":1154,"trade_turnover":14680.638,"count":116},{"id":1603314000,"open":12866.0,"close":12938.9,"high":13005.1,"low":12748.2,"amount":1.164,"vol":1164,"trade_turnover":14976.9366,"count":114},{"id":1603317600,"open":12921.0,"close":13122.0,"high":13211.2,"low":12865.7,"amount":1.174,"vol":1174,"trade_turnover":15285.2446,"count":114},{"id":1603321200,"open":13153.2,"close":12829.8,"high":13173.2,"low":12688.6,"amount":1.172,"vol":1172,"trade_turnover":15060.9938,"count":117},{"id":1603324800,"open":12793.1,"close":12885.9,"high":12988.1,"low":12764.4,"amount":1.17,"vol":1170,"trade_turnover":15046.2046,"count":117},{"id":1603328400,"open":12860.4,"close":12757.5,"high":12972.6,"low":12757.5,"amount":1.158,"vol":1158,"trade_turnover":14882.4656,"count":118},{"id":1603332000,"open":12824.1,"close":12788.8,"high":12848.0,"low":12729.0,"amount":1.124,"vol":1124,"trade_turnover":14368.7948,"count":115},{"id":1603335600,"open":12791.7,"close":12767.2,"high":12834.4,"low":12729.0,"amount":1.194,"vol":1194,"trade_turnover":15268.9298,"count":111},{"id":1603339200,"open":12729.0,"close":12762.2,"high":12778.3,"low":12729.0,"amount":1.152,"vol":1152,"trade_turnover":14695.4876,"count":115},{"id":1603342800,"open":12763.1,"close":12813.8,"high":12842.0,"low":12730.6,"amount":1.21,"vol":1210,"trade_turnover":15440.8162,"count":119},{"id":1603346400,"open":12795.0,"close":12729.1,"high":12795.0,"low":12728.0,"amount":1.188,"vol":1188,"trade_turnover":15128.0098,"count":123},{"id":1603350000,"open":12728.6,"close":12730.6,"high":12730.6,"low":12728.3,"amount":1.266,"vol":1266,"trade_turnover":16115.1306,"count":112},{"id":1603353600,"open":12730.3,"close":12770.1,"high":12921.5,"low":12729.9,"amount":1.35,"vol":1350,"trade_turnover":17233.7326,"count":127},{"id":1603357200,"open":12824.9,"close":12780.4,"high":12872.1,"low":12760.1,"amount":0.98,"vol":980,"trade_turnover":12553.9826,"count":99},{"id":1603360800,"open":12784.9,"close":12934.2,"high":13002.7,"low":12775.6,"amount":0.266,"vol":266,"trade_turnover":3415.023,"count":30},{"id":1603364400,"open":12977.0,"close":13045.0,"high":13057.0,"low":12886.6,"amount":1.004,"vol":1004,"trade_turnover":13020.8576,"count":117},{"id":1603368000,"open":12958.5,"close":12847.9,"high":12973.4,"low":12751.6,"amount":1.134,"vol":1134,"trade_turnover":14594.2752,"count":111},{"id":1603371600,"open":12882.7,"close":12931.0,"high":13000.8,"low":12743.0,"amount":1.152,"vol":1152,"trade_turnover":14877.7314,"count":114},{"id":1603375200,"open":12890.4,"close":12917.8,"high":12995.3,"low":12783.9,"amount":1.182,"vol":1182,"trade_turnover":15224.4716,"count":115},{"id":1603378800,"open":12918.8,"close":12953.0,"high":13031.2,"low":12817.9,"amount":1.176,"vol":1176,"trade_turnover":15197.208,"count":117},{"id":1603382400,"open":12923.1,"close":13055.6,"high":13100.2,"low":12865.6,"amount":1.146,"vol":1146,"trade_turnover":14851.9604,"count":119},{"id":1603386000,"open":12967.6,"close":13082.7,"high":13105.7,"low":12835.5,"amount":1.534,"vol":1534,"trade_turnover":19927.8288,"count":124},{"id":1603389600,"open":13020.4,"close":13016.4,"high":13115.0,"low":12938.7,"amount":1.268,"vol":1268,"trade_turnover":16505.4738,"count":117},{"id":1603393200,"open":13028.3,"close":12970.6,"high":13171.2,"low":12961.8,"amount":1.13,"vol":1130,"trade_turnover":14762.952,"count":112},{"id":1603396800,"open":13016.7,"close":13089.3,"high":13216.1,"low":12998.5,"amount":1.206,"vol":1206,"trade_turnover":15807.1226,"count":117},{"id":1603400400,"open":13136.0,"close":13092.0,"high":13203.7,"low":12932.9,"amount":1.332,"vol":1332,"trade_turnover":17423.4422,"count":114},{"id":1603404000,"open":13119.4,"close":13055.9,"high":13250.5,"low":12984.7,"amount":1.21,"vol":1210,"trade_turnover":15876.0632,"count":114},{"id":1603407600,"open":13059.4,"close":12890.4,"high":13126.5,"low":12857.2,"amount":1.286,"vol":1286,"trade_turnover":16688.422,"count":116},{"id":1603411200,"open":12929.7,"close":12892.2,"high":12994.0,"low":12751.6,"amount":1.502,"vol":1502,"trade_turnover":19331.1596,"count":131},{"id":1603414800,"open":12921.7,"close":12898.3,"high":13003.2,"low":12786.0,"amount":1.386,"vol":1386,"trade_turnover":17904.8902,"count":121},{"id":1603418400,"open":12951.6,"close":12975.1,"high":13054.0,"low":12800.7,"amount":1.416,"vol":1416,"trade_turnover":18306.6204,"count":122},{"id":1603422000,"open":12967.3,"close":12947.0,"high":13030.7,"low":12875.0,"amount":1.19,"vol":1190,"trade_turnover":15409.7984,"count":118},{"id":1603425600,"open":12925.2,"close":12852.0,"high":13047.3,"low":12832.8,"amount":1.022,"vol":1022,"trade_turnover":13214.4388,"count":127},{"id":1603429200,"open":12859.0,"close":12931.1,"high":12991.7,"low":12841.2,"amount":0.478,"vol":478,"trade_turnover":6180.2486,"count":118},{"id":1603432800,"open":12935.9,"close":12939.6,"high":13014.1,"low":12871.9,"amount":0.522,"vol":522,"trade_turnover":6759.0324,"count":132},{"id":1603436400,"open":12923.1,"close":12925.4,"high":12998.9,"low":12917.1,"amount":0.476,"vol":476,"trade_turnover":6163.3118,"count":118},{"id":1603440000,"open":12942.2,"close":12962.6,"high":13014.0,"low":12916.1,"amount":0.508,"vol":508,"trade_turnover":6585.3656,"count":122},{"id":1603443600,"open":12970.5,"close":12926.4,"high":13012.5,"low":12909.9,"amount":0.564,"vol":564,"trade_turnover":7308.8828,"count":124},{"id":1603447200,"open":13001.2,"close":13007.7,"high":13059.5,"low":12925.7,"amount":0.536,"vol":536,"trade_turnover":6957.8796,"count":124},{"id":1603450800,"open":13025.4,"close":12970.6,"high":13078.4,"low":12906.5,"amount":0.486,"vol":486,"trade_turnover":6326.1434,"count":122},{"id":1603454400,"open":12963.9,"close":12935.4,"high":13025.0,"low":12850.8,"amount":0.494,"vol":494,"trade_turnover":6396.0984,"count":117},{"id":1603458000,"open":12913.3,"close":12951.7,"high":13043.3,"low":12911.0,"amount":0.466,"vol":466,"trade_turnover":6049.1412,"count":117},{"id":1603461600,"open":12999.6,"close":12858.8,"high":13006.4,"low":12840.4,"amount":0.46,"vol":460,"trade_turnover":5941.815,"count":116},{"id":1603465200,"open":12885.7,"close":12881.9,"high":12932.9,"low":12826.5,"amount":0.492,"vol":492,"trade_turnover":6340.214,"count":117},{"id":1603468800,"open":12854.4,"close":12784.1,"high":12933.5,"low":12744.4,"amount":0.484,"vol":484,"trade_turnover":6205.4138,"count":123},{"id":1603472400,"open":12832.3,"close":12847.7,"high":12893.1,"low":12730.1,"amount":0.562,"vol":562,"trade_turnover":7218.9184,"count":152},{"id":1603476000,"open":12874.1,"close":12915.7,"high":12939.3,"low":12751.4,"amount":0.53,"vol":530,"trade_turnover":6825.7004,"count":128},{"id":1603479600,"open":12867.9,"close":12972.9,"high":12972.9,"low":12786.6,"amount":0.444,"vol":444,"trade_turnover":5727.7452,"count":117},{"id":1603483200,"open":12956.7,"close":12991.6,"high":13002.2,"low":12842.9,"amount":0.492,"vol":492,"trade_turnover":6375.1566,"count":116},{"id":1603486800,"open":13004.3,"close":12943.5,"high":13004.3,"low":12936.6,"amount":0.5,"vol":500,"trade_turnover":6485.468,"count":125},{"id":1603490400,"open":12923.6,"close":12989.2,"high":13010.3,"low":12884.7,"amount":0.492,"vol":492,"trade_turnover":6376.1492,"count":120},{"id":1603494000,"open":12974.9,"close":12884.6,"high":13024.4,"low":12884.6,"amount":0.51,"vol":510,"trade_turnover":6622.3406,"count":121},{"id":1603497600,"open":12973.7,"close":12953.9,"high":13018.3,"low":12811.1,"amount":0.488,"vol":488,"trade_turnover":6317.7938,"count":120},{"id":1603501200,"open":12927.5,"close":12934.2,"high":13018.1,"low":12872.8,"amount":0.482,"vol":482,"trade_turnover":6242.4178,"count":117},{"id":1603504800,"open":12971.9,"close":12989.1,"high":13003.9,"low":12903.3,"amount":0.484,"vol":484,"trade_turnover":6278.1756,"count":117},{"id":1603508400,"open":13000.1,"close":12975.9,"high":13013.4,"low":12938.3,"amount":0.474,"vol":474,"trade_turnover":6157.7096,"count":122},{"id":1603512000,"open":12989.7,"close":12963.3,"high":13009.4,"low":12905.5,"amount":0.526,"vol":526,"trade_turnover":6831.5658,"count":124},{"id":1603515600,"open":12910.5,"close":12989.7,"high":13041.8,"low":12875.3,"amount":0.522,"vol":522,"trade_turnover":6768.8994,"count":127},{"id":1603519200,"open":12994.7,"close":13003.6,"high":13058.1,"low":12908.8,"amount":0.49,"vol":490,"trade_turnover":6370.5714,"count":120},{"id":1603522800,"open":13011.9,"close":13004.2,"high":13037.8,"low":12981.7,"amount":0.478,"vol":478,"trade_turnover":6218.9722,"count":120},{"id":1603526400,"open":13003.0,"close":12998.2,"high":13030.6,"low":12899.4,"amount":0.52,"vol":520,"trade_turnover":6754.958,"count":124},{"id":1603530000,"open":12998.2,"close":12990.6,"high":13020.3,"low":12893.6,"amount":0.454,"vol":454,"trade_turnover":5891.0574,"count":115},{"id":1603533600,"open":12996.4,"close":13030.1,"high":13059.1,"low":12913.2,"amount":0.502,"vol":502,"trade_turnover":6525.9004,"count":124},{"id":1603537200,"open":12988.4,"close":13033.2,"high":13068.3,"low":12940.2,"amount":0.468,"vol":468,"trade_turnover":6091.0376,"count":119},{"id":1603540800,"open":13035.3,"close":13006.5,"high":13071.8,"low":12978.9,"amount":0.468,"vol":468,"trade_turnover":6102.5902,"count":123},{"id":1603544400,"open":13038.8,"close":12985.9,"high":13066.7,"low":12928.1,"amount":0.534,"vol":534,"trade_turnover":6950.4268,"count":123},{"id":1603548000,"open":12986.3,"close":13042.0,"high":13100.1,"low":12960.5,"amount":0.47,"vol":470,"trade_turnover":6124.2178,"count":100},{"id":1603551600,"open":13038.4,"close":13102.2,"high":13196.5,"low":13038.4,"amount":0.456,"vol":456,"trade_turnover":5989.6362,"count":120},{"id":1603555200,"open":13136.8,"close":13052.7,"high":13176.6,"low":12984.6,"amount":0.458,"vol":458,"trade_turnover":5976.331,"count":121},{"id":1603558800,"open":13006.2,"close":13177.8,"high":13177.8,"low":13003.2,"amount":0.452,"vol":452,"trade_turnover":5911.7058,"count":118},{"id":1603562400,"open":13127.7,"close":13080.8,"high":13170.7,"low":13023.0,"amount":0.468,"vol":468,"trade_turnover":6122.375,"count":119},{"id":1603566000,"open":13040.7,"close":13148.4,"high":13179.3,"low":13014.2,"amount":0.468,"vol":468,"trade_turnover":6126.4278,"count":120},{"id":1603569600,"open":13073.5,"close":13090.1,"high":13179.6,"low":12992.5,"amount":0.47,"vol":470,"trade_turnover":6151.4758,"count":119},{"id":1603573200,"open":13035.4,"close":12993.9,"high":13148.7,"low":12980.7,"amount":0.458,"vol":458,"trade_turnover":5981.071,"count":117},{"id":1603576800,"open":13040.7,"close":13041.1,"high":13112.1,"low":12975.6,"amount":0.478,"vol":478,"trade_turnover":6225.4216,"count":118},{"id":1603580400,"open":13012.6,"close":13184.3,"high":13184.3,"low":13009.3,"amount":0.472,"vol":472,"trade_turnover":6173.4244,"count":118},{"id":1603584000,"open":13080.8,"close":13154.3,"high":13170.4,"low":13007.7,"amount":0.46,"vol":460,"trade_turnover":6024.09,"count":115},{"id":1603587600,"open":13092.0,"close":13196.1,"high":13196.8,"low":13024.0,"amount":0.398,"vol":398,"trade_turnover":5217.5364,"count":102},{"id":1603591200,"open":13124.7,"close":13082.4,"high":13175.1,"low":13035.0,"amount":0.476,"vol":476,"trade_turnover":6228.6596,"count":120},{"id":1603594800,"open":13049.1,"close":13259.0,"high":13383.8,"low":13049.1,"amount":0.578,"vol":578,"trade_turnover":7629.3886,"count":137},{"id":1603598400,"open":13277.0,"close":13243.4,"high":13369.0,"low":13216.0,"amount":0.47,"vol":470,"trade_turnover":6247.955,"count":122},{"id":1603602000,"open":13285.3,"close":13017.3,"high":13353.3,"low":13010.1,"amount":0.61,"vol":610,"trade_turnover":8048.8598,"count":134},{"id":1603605600,"open":13022.5,"close":13060.3,"high":13105.7,"low":13018.2,"amount":0.486,"vol":486,"trade_turnover":6344.1474,"count":118},{"id":1603609200,"open":13048.5,"close":13078.1,"high":13112.1,"low":13022.0,"amount":0.464,"vol":464,"trade_turnover":6061.5416,"count":120},{"id":1603612800,"open":13077.2,"close":13046.0,"high":13091.0,"low":13017.2,"amount":0.464,"vol":464,"trade_turnover":6055.3734,"count":120},{"id":1603616400,"open":13065.1,"close":13040.8,"high":13084.0,"low":13014.2,"amount":0.478,"vol":478,"trade_turnover":6235.7882,"count":117},{"id":1603620000,"open":13047.1,"close":13028.5,"high":13064.2,"low":13010.2,"amount":0.478,"vol":478,"trade_turnover":6232.2428,"count":125},{"id":1603623600,"open":13061.5,"close":12897.6,"high":13061.5,"low":12852.9,"amount":0.534,"vol":534,"trade_turnover":6918.1226,"count":123},{"id":1603627200,"open":12908.3,"close":12964.3,"high":13069.7,"low":12893.2,"amount":0.444,"vol":444,"trade_turnover":5755.8712,"count":117},{"id":1603630800,"open":13001.3,"close":12949.3,"high":13071.9,"low":12891.8,"amount":0.498,"vol":498,"trade_turnover":6465.078,"count":119},{"id":1603634400,"open":12975.8,"close":12946.8,"high":13077.7,"low":12900.0,"amount":0.468,"vol":468,"trade_turnover":6075.4554,"count":116},{"id":1603638000,"open":12975.2,"close":12883.3,"high":13069.1,"low":12883.3,"amount":0.47,"vol":470,"trade_turnover":6097.1072,"count":119},{"id":1603641600,"open":12916.2,"close":12978.7,"high":13067.9,"low":12877.5,"amount":0.482,"vol":482,"trade_turnover":6256.4472,"count":118},{"id":1603645200,"open":13008.0,"close":13004.4,"high":13087.5,"low":12922.7,"amount":0.47,"vol":470,"trade_turnover":6108.3892,"count":117},{"id":1603648800,"open":12972.8,"close":12957.2,"high":13067.6,"low":12893.6,"amount":0.468,"vol":468,"trade_turnover":6079.1484,"count":118},{"id":1603652400,"open":12996.5,"close":13021.8,"high":13066.9,"low":12916.6,"amount":0.442,"vol":442,"trade_turnover":5746.5548,"count":118},{"id":1603656000,"open":12992.9,"close":12985.4,"high":13081.5,"low":12944.9,"amount":0.508,"vol":508,"trade_turnover":6616.9872,"count":120},{"id":1603659600,"open":12999.9,"close":13011.2,"high":13068.6,"low":12921.4,"amount":0.508,"vol":508,"trade_turnover":6614.816,"count":122},{"id":1603663200,"open":12979.6,"close":12959.4,"high":13073.8,"low":12911.9,"amount":0.486,"vol":486,"trade_turnover":6320.907,"count":121},{"id":1603666800,"open":12963.4,"close":13032.1,"high":13085.2,"low":12927.8,"amount":0.452,"vol":452,"trade_turnover":5878.6442,"count":113},{"id":1603670400,"open":12964.2,"close":13001.0,"high":13076.7,"low":12918.3,"amount":0.482,"vol":482,"trade_turnover":6263.698,"count":121},{"id":1603674000,"open":13040.0,"close":13053.7,"high":13096.4,"low":12991.2,"amount":0.478,"vol":478,"trade_turnover":6232.2328,"count":124},{"id":1603677600,"open":13060.6,"close":13064.4,"high":13185.7,"low":12985.1,"amount":0.488,"vol":488,"trade_turnover":6387.534,"count":121},{"id":1603681200,"open":13032.3,"close":13092.8,"high":13187.2,"low":12984.1,"amount":0.486,"vol":486,"trade_turnover":6369.0272,"count":135},{"id":1603684800,"open":13092.0,"close":13132.6,"high":13181.6,"low":12962.3,"amount":0.51,"vol":510,"trade_turnover":6679.829,"count":131},{"id":1603688400,"open":13129.2,"close":13092.1,"high":13205.3,"low":13025.3,"amount":0.506,"vol":506,"trade_turnover":6641.2128,"count":126},{"id":1603692000,"open":13121.8,"close":13071.4,"high":13188.1,"low":12989.8,"amount":1.616,"vol":1616,"trade_turnover":21170.8224,"count":141},{"id":1603695600,"open":13061.0,"close":13038.7,"high":13100.0,"low":12965.2,"amount":3.746,"vol":3746,"trade_turnover":48924.8902,"count":110},{"id":1603699200,"open":13030.9,"close":13039.3,"high":13102.0,"low":12852.8,"amount":8.966,"vol":8966,"trade_turnover":116525.5534,"count":173},{"id":1603702800,"open":13047.1,"close":13075.9,"high":13088.4,"low":13039.8,"amount":4.48,"vol":4480,"trade_turnover":58521.1714,"count":124},{"id":1603706400,"open":13072.1,"close":13100.0,"high":13100.0,"low":13060.2,"amount":4.272,"vol":4272,"trade_turnover":55895.9778,"count":130},{"id":1603710000,"open":13100.0,"close":13138.4,"high":13159.0,"low":13100.0,"amount":29.798,"vol":29798,"trade_turnover":391138.024,"count":230},{"id":1603713600,"open":13138.8,"close":13149.8,"high":13200.0,"low":13100.0,"amount":5.154,"vol":5154,"trade_turnover":67694.652,"count":188},{"id":1603717200,"open":13150.0,"close":13205.8,"high":13351.5,"low":13133.1,"amount":35.608,"vol":35608,"trade_turnover":472780.3394,"count":328},{"id":1603720800,"open":13203.0,"close":13166.1,"high":13280.0,"low":13144.1,"amount":31.748,"vol":31748,"trade_turnover":418744.5588,"count":235},{"id":1603724400,"open":13159.0,"close":12978.0,"high":13165.2,"low":12903.8,"amount":36.53,"vol":36530,"trade_turnover":476940.3296,"count":384},{"id":1603728000,"open":12965.0,"close":12869.6,"high":13069.8,"low":12850.5,"amount":35.018,"vol":35018,"trade_turnover":453288.918,"count":323},{"id":1603731600,"open":12879.2,"close":12873.8,"high":12941.5,"low":12583.9,"amount":92.628,"vol":92628,"trade_turnover":1185973.467,"count":560},{"id":1603735200,"open":12856.2,"close":12946.8,"high":12954.5,"low":12820.4,"amount":4.302,"vol":4302,"trade_turnover":55481.0054,"count":128},{"id":1603738800,"open":12945.6,"close":12953.4,"high":12953.5,"low":12914.1,"amount":13.83,"vol":13830,"trade_turnover":179112.1598,"count":118},{"id":1603742400,"open":12953.5,"close":12983.4,"high":13007.5,"low":12953.5,"amount":17.172,"vol":17172,"trade_turnover":223230.2122,"count":132},{"id":1603746000,"open":12983.1,"close":12993.8,"high":13007.5,"low":12982.7,"amount":3.212,"vol":3212,"trade_turnover":41767.8906,"count":59},{"id":1603749600,"open":13002.1,"close":13007.5,"high":13007.5,"low":12974.0,"amount":1.504,"vol":1504,"trade_turnover":19543.3568,"count":74},{"id":1603753200,"open":13007.5,"close":13033.7,"high":13061.2,"low":13007.5,"amount":3.454,"vol":3454,"trade_turnover":45001.601,"count":101},{"id":1603756800,"open":13029.2,"close":13067.1,"high":13105.0,"low":13028.3,"amount":8.784,"vol":8784,"trade_turnover":114871.8246,"count":98},{"id":1603760400,"open":13074.3,"close":13061.7,"high":13074.4,"low":13051.5,"amount":11.592,"vol":11592,"trade_turnover":151386.9038,"count":66},{"id":1603764000,"open":13061.7,"close":13049.7,"high":13097.6,"low":13040.1,"amount":19.298,"vol":19298,"trade_turnover":252061.019,"count":109},{"id":1603767600,"open":13057.6,"close":13070.4,"high":13080.0,"low":13057.1,"amount":22.992,"vol":22992,"trade_turnover":300453.9788,"count":69},{"id":1603771200,"open":13080.0,"close":13103.3,"high":13175.0,"low":13079.6,"amount":14.396,"vol":14396,"trade_turnover":188461.9156,"count":59},{"id":1603774800,"open":13121.3,"close":13073.6,"high":13121.3,"low":13069.7,"amount":5.058,"vol":5058,"trade_turnover":66201.3552,"count":44},{"id":1603778400,"open":13074.9,"close":13103.4,"high":13149.0,"low":13069.6,"amount":9.106,"vol":9106,"trade_turnover":119104.8906,"count":107},{"id":1603782000,"open":13103.3,"close":13130.0,"high":13169.8,"low":12992.4,"amount":73.95,"vol":73950,"trade_turnover":968195.155,"count":305},{"id":1603785600,"open":13135.1,"close":13123.8,"high":13148.4,"low":13044.0,"amount":18.732,"vol":18732,"trade_turnover":245533.5448,"count":135},{"id":1603789200,"open":13115.5,"close":13131.7,"high":13131.8,"low":13075.7,"amount":13.756,"vol":13756,"trade_turnover":180253.7708,"count":102},{"id":1603792800,"open":13134.8,"close":13216.9,"high":13252.0,"low":13063.4,"amount":154.108,"vol":154108,"trade_turnover":2029983.656,"count":525},{"id":1603796400,"open":13218.8,"close":13395.8,"high":13590.1,"low":13213.5,"amount":170.09,"vol":170090,"trade_turnover":2276279.742,"count":591},{"id":1603800000,"open":13395.9,"close":13376.9,"high":13414.0,"low":13331.7,"amount":48.928,"vol":48928,"trade_turnover":654585.9108,"count":216},{"id":1603803600,"open":13376.5,"close":13384.3,"high":13490.9,"low":13329.8,"amount":63.294,"vol":63294,"trade_turnover":848130.9212,"count":316},{"id":1603807200,"open":13392.6,"close":13398.2,"high":13415.8,"low":13344.8,"amount":12.892,"vol":12892,"trade_turnover":172618.6864,"count":124},{"id":1603810800,"open":13398.2,"close":13598.5,"high":13626.7,"low":13398.2,"amount":93.22,"vol":93220,"trade_turnover":1262695.5466,"count":476},{"id":1603814400,"open":13595.8,"close":13639.9,"high":13639.9,"low":13520.2,"amount":85.45,"vol":85450,"trade_turnover":1161481.4136,"count":435},{"id":1603818000,"open":13640.0,"close":13688.1,"high":13826.7,"low":13589.0,"amount":191.812,"vol":191812,"trade_turnover":2628428.3788,"count":711},{"id":1603821600,"open":13685.0,"close":13630.1,"high":13745.0,"low":13528.2,"amount":65.434,"vol":65434,"trade_turnover":891541.8394,"count":410},{"id":1603825200,"open":13629.4,"close":13637.1,"high":13659.8,"low":13595.4,"amount":5.788,"vol":5788,"trade_turnover":78836.2578,"count":65},{"id":1603828800,"open":13644.4,"close":13616.6,"high":13805.1,"low":13582.6,"amount":163.104,"vol":163104,"trade_turnover":2234040.3544,"count":537},{"id":1603832400,"open":13609.8,"close":13705.5,"high":13753.5,"low":13609.8,"amount":9.884,"vol":9884,"trade_turnover":135406.4752,"count":101},{"id":1603836000,"open":13705.4,"close":13739.9,"high":13739.9,"low":13658.2,"amount":7.436,"vol":7436,"trade_turnover":101840.3508,"count":100},{"id":1603839600,"open":13739.9,"close":13649.6,"high":13794.6,"low":13582.6,"amount":17.086,"vol":17086,"trade_turnover":233971.8448,"count":234},{"id":1603843200,"open":13645.9,"close":13701.7,"high":13745.2,"low":13618.8,"amount":24.108,"vol":24108,"trade_turnover":330206.5694,"count":177},{"id":1603846800,"open":13702.1,"close":13702.6,"high":13725.6,"low":13647.9,"amount":15.892,"vol":15892,"trade_turnover":217816.7008,"count":151},{"id":1603850400,"open":13701.7,"close":13811.6,"high":13832.2,"low":13680.2,"amount":46.548,"vol":46548,"trade_turnover":640636.0352,"count":274},{"id":1603854000,"open":13818.5,"close":13777.0,"high":13820.3,"low":13717.5,"amount":67.896,"vol":67896,"trade_turnover":935838.2238,"count":320},{"id":1603857600,"open":13767.3,"close":13735.7,"high":13807.2,"low":13710.0,"amount":33.156,"vol":33156,"trade_turnover":455941.234,"count":210},{"id":1603861200,"open":13735.5,"close":13715.8,"high":13753.9,"low":13671.3,"amount":32.076,"vol":32076,"trade_turnover":439612.64,"count":198},{"id":1603864800,"open":13715.9,"close":13701.3,"high":13757.0,"low":13694.9,"amount":14.756,"vol":14756,"trade_turnover":202602.5164,"count":122},{"id":1603868400,"open":13701.2,"close":13674.2,"high":13708.7,"low":13550.0,"amount":155.534,"vol":155534,"trade_turnover":2117935.0928,"count":635},{"id":1603872000,"open":13673.0,"close":13691.7,"high":13691.7,"low":13584.0,"amount":29.846,"vol":29846,"trade_turnover":407073.1398,"count":240},{"id":1603875600,"open":13689.3,"close":13587.1,"high":13707.5,"low":13573.5,"amount":104.542,"vol":104542,"trade_turnover":1425079.9344,"count":377},{"id":1603879200,"open":13584.6,"close":13552.7,"high":13618.0,"low":13504.7,"amount":73.818,"vol":73818,"trade_turnover":1001666.0908,"count":358},{"id":1603882800,"open":13552.6,"close":13336.4,"high":13565.4,"low":13330.0,"amount":176.544,"vol":176544,"trade_turnover":2369166.1492,"count":1004},{"id":1603886400,"open":13331.5,"close":13300.3,"high":13385.0,"low":13173.9,"amount":289.73,"vol":289730,"trade_turnover":3846751.7166,"count":968},{"id":1603890000,"open":13300.2,"close":13129.9,"high":13340.0,"low":13122.9,"amount":139.822,"vol":139822,"trade_turnover":1848876.932,"count":612},{"id":1603893600,"open":13123.4,"close":13082.2,"high":13168.2,"low":12915.9,"amount":367.876,"vol":367876,"trade_turnover":4802516.9818,"count":1168},{"id":1603897200,"open":13077.1,"close":13221.2,"high":13235.2,"low":13052.3,"amount":84.044,"vol":84044,"trade_turnover":1106883.1282,"count":375},{"id":1603900800,"open":13218.7,"close":13145.1,"high":13218.7,"low":13050.0,"amount":29.566,"vol":29566,"trade_turnover":388697.4104,"count":244},{"id":1603904400,"open":13145.1,"close":13176.7,"high":13204.9,"low":13006.6,"amount":53.336,"vol":53336,"trade_turnover":700385.2784,"count":299},{"id":1603908000,"open":13171.0,"close":13196.5,"high":13219.6,"low":13131.0,"amount":34.164,"vol":34164,"trade_turnover":450210.5778,"count":218},{"id":1603911600,"open":13200.0,"close":13154.9,"high":13237.4,"low":13145.0,"amount":22.158,"vol":22158,"trade_turnover":292020.0438,"count":185},{"id":1603915200,"open":13154.5,"close":13198.1,"high":13211.8,"low":13147.4,"amount":4.548,"vol":4548,"trade_turnover":59991.1118,"count":75},{"id":1603918800,"open":13193.5,"close":13190.1,"high":13196.5,"low":13100.2,"amount":3.52,"vol":3520,"trade_turnover":46175.428,"count":68},{"id":1603922400,"open":13185.4,"close":13252.0,"high":13267.5,"low":13185.4,"amount":3.122,"vol":3122,"trade_turnover":41304.2018,"count":72},{"id":1603926000,"open":13242.1,"close":13265.9,"high":13282.3,"low":13235.9,"amount":14.768,"vol":14768,"trade_turnover":195689.0764,"count":86},{"id":1603929600,"open":13253.9,"close":13245.1,"high":13294.7,"low":13237.4,"amount":19.968,"vol":19968,"trade_turnover":264834.1944,"count":98},{"id":1603933200,"open":13244.6,"close":13274.2,"high":13285.3,"low":13166.3,"amount":35.282,"vol":35282,"trade_turnover":465789.6302,"count":192},{"id":1603936800,"open":13275.9,"close":13241.1,"high":13277.7,"low":13212.2,"amount":9.748,"vol":9748,"trade_turnover":129016.0684,"count":119},{"id":1603940400,"open":13237.1,"close":13262.5,"high":13262.5,"low":13174.6,"amount":27.3,"vol":27300,"trade_turnover":360589.8982,"count":199},{"id":1603944000,"open":13269.1,"close":13229.5,"high":13277.7,"low":13229.5,"amount":18.904,"vol":18904,"trade_turnover":250713.2812,"count":109},{"id":1603947600,"open":13228.5,"close":13274.8,"high":13274.8,"low":13228.5,"amount":15.822,"vol":15822,"trade_turnover":209781.909,"count":134},{"id":1603951200,"open":13274.8,"close":13255.0,"high":13323.0,"low":13242.3,"amount":91.246,"vol":91246,"trade_turnover":1211271.2788,"count":294},{"id":1603954800,"open":13255.0,"close":13142.4,"high":13269.3,"low":13123.1,"amount":187.622,"vol":187622,"trade_turnover":2478299.7074,"count":506},{"id":1603958400,"open":13145.9,"close":13124.8,"high":13182.4,"low":13094.1,"amount":69.532,"vol":69532,"trade_turnover":914157.2418,"count":226},{"id":1603962000,"open":13129.5,"close":13183.7,"high":13197.1,"low":13129.5,"amount":23.184,"vol":23184,"trade_turnover":305485.9524,"count":141},{"id":1603965600,"open":13184.8,"close":13105.2,"high":13187.5,"low":13053.1,"amount":121.146,"vol":121146,"trade_turnover":1590026.4416,"count":442},{"id":1603969200,"open":13105.1,"close":13060.1,"high":13171.4,"low":13060.1,"amount":47.498,"vol":47498,"trade_turnover":623578.149,"count":262},{"id":1603972800,"open":13056.9,"close":13131.8,"high":13145.8,"low":12977.9,"amount":126.552,"vol":126552,"trade_turnover":1652549.311,"count":481},{"id":1603976400,"open":13131.7,"close":13230.0,"high":13237.2,"low":13102.0,"amount":100.482,"vol":100482,"trade_turnover":1326403.7206,"count":325},{"id":1603980000,"open":13231.0,"close":13420.8,"high":13476.1,"low":13231.0,"amount":253.258,"vol":253258,"trade_turnover":3384941.438,"count":752},{"id":1603983600,"open":13416.0,"close":13420.6,"high":13458.7,"low":13358.7,"amount":64.71,"vol":64710,"trade_turnover":869052.3804,"count":269},{"id":1603987200,"open":13421.9,"close":13535.9,"high":13594.5,"low":13391.8,"amount":120.24,"vol":120240,"trade_turnover":1626567.8278,"count":570}]} +2024-01-18 11:13:20.076 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:41] - 请求 KLine 数据解析之后的数据为:{"wsid":19750305,"data":[{"amount":0.276,"high":12300.0,"vol":276,"low":11715.8,"count":39,"id":1603270800,"close":12196.7,"tradeTurnover":3315.9104,"open":12198.0},{"amount":0.198,"high":12289.9,"vol":198,"low":12111.0,"count":21,"id":1603274400,"close":12277.9,"tradeTurnover":2420.7728,"open":12196.7},{"amount":0.012,"high":12277.9,"vol":12,"low":12000.0,"count":5,"id":1603278000,"close":12000.0,"tradeTurnover":145.2238,"open":12111.0},{"amount":0.084,"high":12498.0,"vol":84,"low":12078.0,"count":12,"id":1603281600,"close":12497.4,"tradeTurnover":1040.0504,"open":12078.0},{"amount":1.122,"high":12495.6,"vol":1122,"low":12282.9,"count":112,"id":1603285200,"close":12373.5,"tradeTurnover":13905.3124,"open":12495.6},{"amount":5.29,"high":12807.6,"vol":5290,"low":12358.1,"count":155,"id":1603288800,"close":12689.9,"tradeTurnover":66852.128,"open":12412.9},{"amount":1.174,"high":12778.7,"vol":1174,"low":12573.2,"count":113,"id":1603292400,"close":12701.9,"tradeTurnover":14907.367,"open":12692.8},{"amount":1.156,"high":12920.9,"vol":1156,"low":12624.8,"count":115,"id":1603296000,"close":12835.9,"tradeTurnover":14802.449,"open":12679.7},{"amount":1.12,"high":12908.3,"vol":1120,"low":12687.5,"count":115,"id":1603299600,"close":12754.2,"tradeTurnover":14345.7324,"open":12848.3},{"amount":1.106,"high":12849.0,"vol":1106,"low":12668.3,"count":114,"id":1603303200,"close":12740.2,"tradeTurnover":14105.3504,"open":12743.7},{"amount":1.032,"high":12843.1,"vol":1032,"low":12597.2,"count":112,"id":1603306800,"close":12650.3,"tradeTurnover":13125.4568,"open":12729.5},{"amount":1.154,"high":12848.4,"vol":1154,"low":12610.2,"count":116,"id":1603310400,"close":12807.0,"tradeTurnover":14680.638,"open":12666.8},{"amount":1.164,"high":13005.1,"vol":1164,"low":12748.2,"count":114,"id":1603314000,"close":12938.9,"tradeTurnover":14976.9366,"open":12866.0},{"amount":1.174,"high":13211.2,"vol":1174,"low":12865.7,"count":114,"id":1603317600,"close":13122.0,"tradeTurnover":15285.2446,"open":12921.0},{"amount":1.172,"high":13173.2,"vol":1172,"low":12688.6,"count":117,"id":1603321200,"close":12829.8,"tradeTurnover":15060.9938,"open":13153.2},{"amount":1.17,"high":12988.1,"vol":1170,"low":12764.4,"count":117,"id":1603324800,"close":12885.9,"tradeTurnover":15046.2046,"open":12793.1},{"amount":1.158,"high":12972.6,"vol":1158,"low":12757.5,"count":118,"id":1603328400,"close":12757.5,"tradeTurnover":14882.4656,"open":12860.4},{"amount":1.124,"high":12848.0,"vol":1124,"low":12729.0,"count":115,"id":1603332000,"close":12788.8,"tradeTurnover":14368.7948,"open":12824.1},{"amount":1.194,"high":12834.4,"vol":1194,"low":12729.0,"count":111,"id":1603335600,"close":12767.2,"tradeTurnover":15268.9298,"open":12791.7},{"amount":1.152,"high":12778.3,"vol":1152,"low":12729.0,"count":115,"id":1603339200,"close":12762.2,"tradeTurnover":14695.4876,"open":12729.0},{"amount":1.21,"high":12842.0,"vol":1210,"low":12730.6,"count":119,"id":1603342800,"close":12813.8,"tradeTurnover":15440.8162,"open":12763.1},{"amount":1.188,"high":12795.0,"vol":1188,"low":12728.0,"count":123,"id":1603346400,"close":12729.1,"tradeTurnover":15128.0098,"open":12795.0},{"amount":1.266,"high":12730.6,"vol":1266,"low":12728.3,"count":112,"id":1603350000,"close":12730.6,"tradeTurnover":16115.1306,"open":12728.6},{"amount":1.35,"high":12921.5,"vol":1350,"low":12729.9,"count":127,"id":1603353600,"close":12770.1,"tradeTurnover":17233.7326,"open":12730.3},{"amount":0.98,"high":12872.1,"vol":980,"low":12760.1,"count":99,"id":1603357200,"close":12780.4,"tradeTurnover":12553.9826,"open":12824.9},{"amount":0.266,"high":13002.7,"vol":266,"low":12775.6,"count":30,"id":1603360800,"close":12934.2,"tradeTurnover":3415.023,"open":12784.9},{"amount":1.004,"high":13057.0,"vol":1004,"low":12886.6,"count":117,"id":1603364400,"close":13045.0,"tradeTurnover":13020.8576,"open":12977.0},{"amount":1.134,"high":12973.4,"vol":1134,"low":12751.6,"count":111,"id":1603368000,"close":12847.9,"tradeTurnover":14594.2752,"open":12958.5},{"amount":1.152,"high":13000.8,"vol":1152,"low":12743.0,"count":114,"id":1603371600,"close":12931.0,"tradeTurnover":14877.7314,"open":12882.7},{"amount":1.182,"high":12995.3,"vol":1182,"low":12783.9,"count":115,"id":1603375200,"close":12917.8,"tradeTurnover":15224.4716,"open":12890.4},{"amount":1.176,"high":13031.2,"vol":1176,"low":12817.9,"count":117,"id":1603378800,"close":12953.0,"tradeTurnover":15197.208,"open":12918.8},{"amount":1.146,"high":13100.2,"vol":1146,"low":12865.6,"count":119,"id":1603382400,"close":13055.6,"tradeTurnover":14851.9604,"open":12923.1},{"amount":1.534,"high":13105.7,"vol":1534,"low":12835.5,"count":124,"id":1603386000,"close":13082.7,"tradeTurnover":19927.8288,"open":12967.6},{"amount":1.268,"high":13115.0,"vol":1268,"low":12938.7,"count":117,"id":1603389600,"close":13016.4,"tradeTurnover":16505.4738,"open":13020.4},{"amount":1.13,"high":13171.2,"vol":1130,"low":12961.8,"count":112,"id":1603393200,"close":12970.6,"tradeTurnover":14762.952,"open":13028.3},{"amount":1.206,"high":13216.1,"vol":1206,"low":12998.5,"count":117,"id":1603396800,"close":13089.3,"tradeTurnover":15807.1226,"open":13016.7},{"amount":1.332,"high":13203.7,"vol":1332,"low":12932.9,"count":114,"id":1603400400,"close":13092.0,"tradeTurnover":17423.4422,"open":13136.0},{"amount":1.21,"high":13250.5,"vol":1210,"low":12984.7,"count":114,"id":1603404000,"close":13055.9,"tradeTurnover":15876.0632,"open":13119.4},{"amount":1.286,"high":13126.5,"vol":1286,"low":12857.2,"count":116,"id":1603407600,"close":12890.4,"tradeTurnover":16688.422,"open":13059.4},{"amount":1.502,"high":12994.0,"vol":1502,"low":12751.6,"count":131,"id":1603411200,"close":12892.2,"tradeTurnover":19331.1596,"open":12929.7},{"amount":1.386,"high":13003.2,"vol":1386,"low":12786.0,"count":121,"id":1603414800,"close":12898.3,"tradeTurnover":17904.8902,"open":12921.7},{"amount":1.416,"high":13054.0,"vol":1416,"low":12800.7,"count":122,"id":1603418400,"close":12975.1,"tradeTurnover":18306.6204,"open":12951.6},{"amount":1.19,"high":13030.7,"vol":1190,"low":12875.0,"count":118,"id":1603422000,"close":12947.0,"tradeTurnover":15409.7984,"open":12967.3},{"amount":1.022,"high":13047.3,"vol":1022,"low":12832.8,"count":127,"id":1603425600,"close":12852.0,"tradeTurnover":13214.4388,"open":12925.2},{"amount":0.478,"high":12991.7,"vol":478,"low":12841.2,"count":118,"id":1603429200,"close":12931.1,"tradeTurnover":6180.2486,"open":12859.0},{"amount":0.522,"high":13014.1,"vol":522,"low":12871.9,"count":132,"id":1603432800,"close":12939.6,"tradeTurnover":6759.0324,"open":12935.9},{"amount":0.476,"high":12998.9,"vol":476,"low":12917.1,"count":118,"id":1603436400,"close":12925.4,"tradeTurnover":6163.3118,"open":12923.1},{"amount":0.508,"high":13014.0,"vol":508,"low":12916.1,"count":122,"id":1603440000,"close":12962.6,"tradeTurnover":6585.3656,"open":12942.2},{"amount":0.564,"high":13012.5,"vol":564,"low":12909.9,"count":124,"id":1603443600,"close":12926.4,"tradeTurnover":7308.8828,"open":12970.5},{"amount":0.536,"high":13059.5,"vol":536,"low":12925.7,"count":124,"id":1603447200,"close":13007.7,"tradeTurnover":6957.8796,"open":13001.2},{"amount":0.486,"high":13078.4,"vol":486,"low":12906.5,"count":122,"id":1603450800,"close":12970.6,"tradeTurnover":6326.1434,"open":13025.4},{"amount":0.494,"high":13025.0,"vol":494,"low":12850.8,"count":117,"id":1603454400,"close":12935.4,"tradeTurnover":6396.0984,"open":12963.9},{"amount":0.466,"high":13043.3,"vol":466,"low":12911.0,"count":117,"id":1603458000,"close":12951.7,"tradeTurnover":6049.1412,"open":12913.3},{"amount":0.46,"high":13006.4,"vol":460,"low":12840.4,"count":116,"id":1603461600,"close":12858.8,"tradeTurnover":5941.815,"open":12999.6},{"amount":0.492,"high":12932.9,"vol":492,"low":12826.5,"count":117,"id":1603465200,"close":12881.9,"tradeTurnover":6340.214,"open":12885.7},{"amount":0.484,"high":12933.5,"vol":484,"low":12744.4,"count":123,"id":1603468800,"close":12784.1,"tradeTurnover":6205.4138,"open":12854.4},{"amount":0.562,"high":12893.1,"vol":562,"low":12730.1,"count":152,"id":1603472400,"close":12847.7,"tradeTurnover":7218.9184,"open":12832.3},{"amount":0.53,"high":12939.3,"vol":530,"low":12751.4,"count":128,"id":1603476000,"close":12915.7,"tradeTurnover":6825.7004,"open":12874.1},{"amount":0.444,"high":12972.9,"vol":444,"low":12786.6,"count":117,"id":1603479600,"close":12972.9,"tradeTurnover":5727.7452,"open":12867.9},{"amount":0.492,"high":13002.2,"vol":492,"low":12842.9,"count":116,"id":1603483200,"close":12991.6,"tradeTurnover":6375.1566,"open":12956.7},{"amount":0.5,"high":13004.3,"vol":500,"low":12936.6,"count":125,"id":1603486800,"close":12943.5,"tradeTurnover":6485.468,"open":13004.3},{"amount":0.492,"high":13010.3,"vol":492,"low":12884.7,"count":120,"id":1603490400,"close":12989.2,"tradeTurnover":6376.1492,"open":12923.6},{"amount":0.51,"high":13024.4,"vol":510,"low":12884.6,"count":121,"id":1603494000,"close":12884.6,"tradeTurnover":6622.3406,"open":12974.9},{"amount":0.488,"high":13018.3,"vol":488,"low":12811.1,"count":120,"id":1603497600,"close":12953.9,"tradeTurnover":6317.7938,"open":12973.7},{"amount":0.482,"high":13018.1,"vol":482,"low":12872.8,"count":117,"id":1603501200,"close":12934.2,"tradeTurnover":6242.4178,"open":12927.5},{"amount":0.484,"high":13003.9,"vol":484,"low":12903.3,"count":117,"id":1603504800,"close":12989.1,"tradeTurnover":6278.1756,"open":12971.9},{"amount":0.474,"high":13013.4,"vol":474,"low":12938.3,"count":122,"id":1603508400,"close":12975.9,"tradeTurnover":6157.7096,"open":13000.1},{"amount":0.526,"high":13009.4,"vol":526,"low":12905.5,"count":124,"id":1603512000,"close":12963.3,"tradeTurnover":6831.5658,"open":12989.7},{"amount":0.522,"high":13041.8,"vol":522,"low":12875.3,"count":127,"id":1603515600,"close":12989.7,"tradeTurnover":6768.8994,"open":12910.5},{"amount":0.49,"high":13058.1,"vol":490,"low":12908.8,"count":120,"id":1603519200,"close":13003.6,"tradeTurnover":6370.5714,"open":12994.7},{"amount":0.478,"high":13037.8,"vol":478,"low":12981.7,"count":120,"id":1603522800,"close":13004.2,"tradeTurnover":6218.9722,"open":13011.9},{"amount":0.52,"high":13030.6,"vol":520,"low":12899.4,"count":124,"id":1603526400,"close":12998.2,"tradeTurnover":6754.958,"open":13003.0},{"amount":0.454,"high":13020.3,"vol":454,"low":12893.6,"count":115,"id":1603530000,"close":12990.6,"tradeTurnover":5891.0574,"open":12998.2},{"amount":0.502,"high":13059.1,"vol":502,"low":12913.2,"count":124,"id":1603533600,"close":13030.1,"tradeTurnover":6525.9004,"open":12996.4},{"amount":0.468,"high":13068.3,"vol":468,"low":12940.2,"count":119,"id":1603537200,"close":13033.2,"tradeTurnover":6091.0376,"open":12988.4},{"amount":0.468,"high":13071.8,"vol":468,"low":12978.9,"count":123,"id":1603540800,"close":13006.5,"tradeTurnover":6102.5902,"open":13035.3},{"amount":0.534,"high":13066.7,"vol":534,"low":12928.1,"count":123,"id":1603544400,"close":12985.9,"tradeTurnover":6950.4268,"open":13038.8},{"amount":0.47,"high":13100.1,"vol":470,"low":12960.5,"count":100,"id":1603548000,"close":13042.0,"tradeTurnover":6124.2178,"open":12986.3},{"amount":0.456,"high":13196.5,"vol":456,"low":13038.4,"count":120,"id":1603551600,"close":13102.2,"tradeTurnover":5989.6362,"open":13038.4},{"amount":0.458,"high":13176.6,"vol":458,"low":12984.6,"count":121,"id":1603555200,"close":13052.7,"tradeTurnover":5976.331,"open":13136.8},{"amount":0.452,"high":13177.8,"vol":452,"low":13003.2,"count":118,"id":1603558800,"close":13177.8,"tradeTurnover":5911.7058,"open":13006.2},{"amount":0.468,"high":13170.7,"vol":468,"low":13023.0,"count":119,"id":1603562400,"close":13080.8,"tradeTurnover":6122.375,"open":13127.7},{"amount":0.468,"high":13179.3,"vol":468,"low":13014.2,"count":120,"id":1603566000,"close":13148.4,"tradeTurnover":6126.4278,"open":13040.7},{"amount":0.47,"high":13179.6,"vol":470,"low":12992.5,"count":119,"id":1603569600,"close":13090.1,"tradeTurnover":6151.4758,"open":13073.5},{"amount":0.458,"high":13148.7,"vol":458,"low":12980.7,"count":117,"id":1603573200,"close":12993.9,"tradeTurnover":5981.071,"open":13035.4},{"amount":0.478,"high":13112.1,"vol":478,"low":12975.6,"count":118,"id":1603576800,"close":13041.1,"tradeTurnover":6225.4216,"open":13040.7},{"amount":0.472,"high":13184.3,"vol":472,"low":13009.3,"count":118,"id":1603580400,"close":13184.3,"tradeTurnover":6173.4244,"open":13012.6},{"amount":0.46,"high":13170.4,"vol":460,"low":13007.7,"count":115,"id":1603584000,"close":13154.3,"tradeTurnover":6024.09,"open":13080.8},{"amount":0.398,"high":13196.8,"vol":398,"low":13024.0,"count":102,"id":1603587600,"close":13196.1,"tradeTurnover":5217.5364,"open":13092.0},{"amount":0.476,"high":13175.1,"vol":476,"low":13035.0,"count":120,"id":1603591200,"close":13082.4,"tradeTurnover":6228.6596,"open":13124.7},{"amount":0.578,"high":13383.8,"vol":578,"low":13049.1,"count":137,"id":1603594800,"close":13259.0,"tradeTurnover":7629.3886,"open":13049.1},{"amount":0.47,"high":13369.0,"vol":470,"low":13216.0,"count":122,"id":1603598400,"close":13243.4,"tradeTurnover":6247.955,"open":13277.0},{"amount":0.61,"high":13353.3,"vol":610,"low":13010.1,"count":134,"id":1603602000,"close":13017.3,"tradeTurnover":8048.8598,"open":13285.3},{"amount":0.486,"high":13105.7,"vol":486,"low":13018.2,"count":118,"id":1603605600,"close":13060.3,"tradeTurnover":6344.1474,"open":13022.5},{"amount":0.464,"high":13112.1,"vol":464,"low":13022.0,"count":120,"id":1603609200,"close":13078.1,"tradeTurnover":6061.5416,"open":13048.5},{"amount":0.464,"high":13091.0,"vol":464,"low":13017.2,"count":120,"id":1603612800,"close":13046.0,"tradeTurnover":6055.3734,"open":13077.2},{"amount":0.478,"high":13084.0,"vol":478,"low":13014.2,"count":117,"id":1603616400,"close":13040.8,"tradeTurnover":6235.7882,"open":13065.1},{"amount":0.478,"high":13064.2,"vol":478,"low":13010.2,"count":125,"id":1603620000,"close":13028.5,"tradeTurnover":6232.2428,"open":13047.1},{"amount":0.534,"high":13061.5,"vol":534,"low":12852.9,"count":123,"id":1603623600,"close":12897.6,"tradeTurnover":6918.1226,"open":13061.5},{"amount":0.444,"high":13069.7,"vol":444,"low":12893.2,"count":117,"id":1603627200,"close":12964.3,"tradeTurnover":5755.8712,"open":12908.3},{"amount":0.498,"high":13071.9,"vol":498,"low":12891.8,"count":119,"id":1603630800,"close":12949.3,"tradeTurnover":6465.078,"open":13001.3},{"amount":0.468,"high":13077.7,"vol":468,"low":12900.0,"count":116,"id":1603634400,"close":12946.8,"tradeTurnover":6075.4554,"open":12975.8},{"amount":0.47,"high":13069.1,"vol":470,"low":12883.3,"count":119,"id":1603638000,"close":12883.3,"tradeTurnover":6097.1072,"open":12975.2},{"amount":0.482,"high":13067.9,"vol":482,"low":12877.5,"count":118,"id":1603641600,"close":12978.7,"tradeTurnover":6256.4472,"open":12916.2},{"amount":0.47,"high":13087.5,"vol":470,"low":12922.7,"count":117,"id":1603645200,"close":13004.4,"tradeTurnover":6108.3892,"open":13008.0},{"amount":0.468,"high":13067.6,"vol":468,"low":12893.6,"count":118,"id":1603648800,"close":12957.2,"tradeTurnover":6079.1484,"open":12972.8},{"amount":0.442,"high":13066.9,"vol":442,"low":12916.6,"count":118,"id":1603652400,"close":13021.8,"tradeTurnover":5746.5548,"open":12996.5},{"amount":0.508,"high":13081.5,"vol":508,"low":12944.9,"count":120,"id":1603656000,"close":12985.4,"tradeTurnover":6616.9872,"open":12992.9},{"amount":0.508,"high":13068.6,"vol":508,"low":12921.4,"count":122,"id":1603659600,"close":13011.2,"tradeTurnover":6614.816,"open":12999.9},{"amount":0.486,"high":13073.8,"vol":486,"low":12911.9,"count":121,"id":1603663200,"close":12959.4,"tradeTurnover":6320.907,"open":12979.6},{"amount":0.452,"high":13085.2,"vol":452,"low":12927.8,"count":113,"id":1603666800,"close":13032.1,"tradeTurnover":5878.6442,"open":12963.4},{"amount":0.482,"high":13076.7,"vol":482,"low":12918.3,"count":121,"id":1603670400,"close":13001.0,"tradeTurnover":6263.698,"open":12964.2},{"amount":0.478,"high":13096.4,"vol":478,"low":12991.2,"count":124,"id":1603674000,"close":13053.7,"tradeTurnover":6232.2328,"open":13040.0},{"amount":0.488,"high":13185.7,"vol":488,"low":12985.1,"count":121,"id":1603677600,"close":13064.4,"tradeTurnover":6387.534,"open":13060.6},{"amount":0.486,"high":13187.2,"vol":486,"low":12984.1,"count":135,"id":1603681200,"close":13092.8,"tradeTurnover":6369.0272,"open":13032.3},{"amount":0.51,"high":13181.6,"vol":510,"low":12962.3,"count":131,"id":1603684800,"close":13132.6,"tradeTurnover":6679.829,"open":13092.0},{"amount":0.506,"high":13205.3,"vol":506,"low":13025.3,"count":126,"id":1603688400,"close":13092.1,"tradeTurnover":6641.2128,"open":13129.2},{"amount":1.616,"high":13188.1,"vol":1616,"low":12989.8,"count":141,"id":1603692000,"close":13071.4,"tradeTurnover":21170.8224,"open":13121.8},{"amount":3.746,"high":13100.0,"vol":3746,"low":12965.2,"count":110,"id":1603695600,"close":13038.7,"tradeTurnover":48924.8902,"open":13061.0},{"amount":8.966,"high":13102.0,"vol":8966,"low":12852.8,"count":173,"id":1603699200,"close":13039.3,"tradeTurnover":116525.5534,"open":13030.9},{"amount":4.48,"high":13088.4,"vol":4480,"low":13039.8,"count":124,"id":1603702800,"close":13075.9,"tradeTurnover":58521.1714,"open":13047.1},{"amount":4.272,"high":13100.0,"vol":4272,"low":13060.2,"count":130,"id":1603706400,"close":13100.0,"tradeTurnover":55895.9778,"open":13072.1},{"amount":29.798,"high":13159.0,"vol":29798,"low":13100.0,"count":230,"id":1603710000,"close":13138.4,"tradeTurnover":391138.024,"open":13100.0},{"amount":5.154,"high":13200.0,"vol":5154,"low":13100.0,"count":188,"id":1603713600,"close":13149.8,"tradeTurnover":67694.652,"open":13138.8},{"amount":35.608,"high":13351.5,"vol":35608,"low":13133.1,"count":328,"id":1603717200,"close":13205.8,"tradeTurnover":472780.3394,"open":13150.0},{"amount":31.748,"high":13280.0,"vol":31748,"low":13144.1,"count":235,"id":1603720800,"close":13166.1,"tradeTurnover":418744.5588,"open":13203.0},{"amount":36.53,"high":13165.2,"vol":36530,"low":12903.8,"count":384,"id":1603724400,"close":12978.0,"tradeTurnover":476940.3296,"open":13159.0},{"amount":35.018,"high":13069.8,"vol":35018,"low":12850.5,"count":323,"id":1603728000,"close":12869.6,"tradeTurnover":453288.918,"open":12965.0},{"amount":92.628,"high":12941.5,"vol":92628,"low":12583.9,"count":560,"id":1603731600,"close":12873.8,"tradeTurnover":1185973.467,"open":12879.2},{"amount":4.302,"high":12954.5,"vol":4302,"low":12820.4,"count":128,"id":1603735200,"close":12946.8,"tradeTurnover":55481.0054,"open":12856.2},{"amount":13.83,"high":12953.5,"vol":13830,"low":12914.1,"count":118,"id":1603738800,"close":12953.4,"tradeTurnover":179112.1598,"open":12945.6},{"amount":17.172,"high":13007.5,"vol":17172,"low":12953.5,"count":132,"id":1603742400,"close":12983.4,"tradeTurnover":223230.2122,"open":12953.5},{"amount":3.212,"high":13007.5,"vol":3212,"low":12982.7,"count":59,"id":1603746000,"close":12993.8,"tradeTurnover":41767.8906,"open":12983.1},{"amount":1.504,"high":13007.5,"vol":1504,"low":12974.0,"count":74,"id":1603749600,"close":13007.5,"tradeTurnover":19543.3568,"open":13002.1},{"amount":3.454,"high":13061.2,"vol":3454,"low":13007.5,"count":101,"id":1603753200,"close":13033.7,"tradeTurnover":45001.601,"open":13007.5},{"amount":8.784,"high":13105.0,"vol":8784,"low":13028.3,"count":98,"id":1603756800,"close":13067.1,"tradeTurnover":114871.8246,"open":13029.2},{"amount":11.592,"high":13074.4,"vol":11592,"low":13051.5,"count":66,"id":1603760400,"close":13061.7,"tradeTurnover":151386.9038,"open":13074.3},{"amount":19.298,"high":13097.6,"vol":19298,"low":13040.1,"count":109,"id":1603764000,"close":13049.7,"tradeTurnover":252061.019,"open":13061.7},{"amount":22.992,"high":13080.0,"vol":22992,"low":13057.1,"count":69,"id":1603767600,"close":13070.4,"tradeTurnover":300453.9788,"open":13057.6},{"amount":14.396,"high":13175.0,"vol":14396,"low":13079.6,"count":59,"id":1603771200,"close":13103.3,"tradeTurnover":188461.9156,"open":13080.0},{"amount":5.058,"high":13121.3,"vol":5058,"low":13069.7,"count":44,"id":1603774800,"close":13073.6,"tradeTurnover":66201.3552,"open":13121.3},{"amount":9.106,"high":13149.0,"vol":9106,"low":13069.6,"count":107,"id":1603778400,"close":13103.4,"tradeTurnover":119104.8906,"open":13074.9},{"amount":73.95,"high":13169.8,"vol":73950,"low":12992.4,"count":305,"id":1603782000,"close":13130.0,"tradeTurnover":968195.155,"open":13103.3},{"amount":18.732,"high":13148.4,"vol":18732,"low":13044.0,"count":135,"id":1603785600,"close":13123.8,"tradeTurnover":245533.5448,"open":13135.1},{"amount":13.756,"high":13131.8,"vol":13756,"low":13075.7,"count":102,"id":1603789200,"close":13131.7,"tradeTurnover":180253.7708,"open":13115.5},{"amount":154.108,"high":13252.0,"vol":154108,"low":13063.4,"count":525,"id":1603792800,"close":13216.9,"tradeTurnover":2029983.656,"open":13134.8},{"amount":170.09,"high":13590.1,"vol":170090,"low":13213.5,"count":591,"id":1603796400,"close":13395.8,"tradeTurnover":2276279.742,"open":13218.8},{"amount":48.928,"high":13414.0,"vol":48928,"low":13331.7,"count":216,"id":1603800000,"close":13376.9,"tradeTurnover":654585.9108,"open":13395.9},{"amount":63.294,"high":13490.9,"vol":63294,"low":13329.8,"count":316,"id":1603803600,"close":13384.3,"tradeTurnover":848130.9212,"open":13376.5},{"amount":12.892,"high":13415.8,"vol":12892,"low":13344.8,"count":124,"id":1603807200,"close":13398.2,"tradeTurnover":172618.6864,"open":13392.6},{"amount":93.22,"high":13626.7,"vol":93220,"low":13398.2,"count":476,"id":1603810800,"close":13598.5,"tradeTurnover":1262695.5466,"open":13398.2},{"amount":85.45,"high":13639.9,"vol":85450,"low":13520.2,"count":435,"id":1603814400,"close":13639.9,"tradeTurnover":1161481.4136,"open":13595.8},{"amount":191.812,"high":13826.7,"vol":191812,"low":13589.0,"count":711,"id":1603818000,"close":13688.1,"tradeTurnover":2628428.3788,"open":13640.0},{"amount":65.434,"high":13745.0,"vol":65434,"low":13528.2,"count":410,"id":1603821600,"close":13630.1,"tradeTurnover":891541.8394,"open":13685.0},{"amount":5.788,"high":13659.8,"vol":5788,"low":13595.4,"count":65,"id":1603825200,"close":13637.1,"tradeTurnover":78836.2578,"open":13629.4},{"amount":163.104,"high":13805.1,"vol":163104,"low":13582.6,"count":537,"id":1603828800,"close":13616.6,"tradeTurnover":2234040.3544,"open":13644.4},{"amount":9.884,"high":13753.5,"vol":9884,"low":13609.8,"count":101,"id":1603832400,"close":13705.5,"tradeTurnover":135406.4752,"open":13609.8},{"amount":7.436,"high":13739.9,"vol":7436,"low":13658.2,"count":100,"id":1603836000,"close":13739.9,"tradeTurnover":101840.3508,"open":13705.4},{"amount":17.086,"high":13794.6,"vol":17086,"low":13582.6,"count":234,"id":1603839600,"close":13649.6,"tradeTurnover":233971.8448,"open":13739.9},{"amount":24.108,"high":13745.2,"vol":24108,"low":13618.8,"count":177,"id":1603843200,"close":13701.7,"tradeTurnover":330206.5694,"open":13645.9},{"amount":15.892,"high":13725.6,"vol":15892,"low":13647.9,"count":151,"id":1603846800,"close":13702.6,"tradeTurnover":217816.7008,"open":13702.1},{"amount":46.548,"high":13832.2,"vol":46548,"low":13680.2,"count":274,"id":1603850400,"close":13811.6,"tradeTurnover":640636.0352,"open":13701.7},{"amount":67.896,"high":13820.3,"vol":67896,"low":13717.5,"count":320,"id":1603854000,"close":13777.0,"tradeTurnover":935838.2238,"open":13818.5},{"amount":33.156,"high":13807.2,"vol":33156,"low":13710.0,"count":210,"id":1603857600,"close":13735.7,"tradeTurnover":455941.234,"open":13767.3},{"amount":32.076,"high":13753.9,"vol":32076,"low":13671.3,"count":198,"id":1603861200,"close":13715.8,"tradeTurnover":439612.64,"open":13735.5},{"amount":14.756,"high":13757.0,"vol":14756,"low":13694.9,"count":122,"id":1603864800,"close":13701.3,"tradeTurnover":202602.5164,"open":13715.9},{"amount":155.534,"high":13708.7,"vol":155534,"low":13550.0,"count":635,"id":1603868400,"close":13674.2,"tradeTurnover":2117935.0928,"open":13701.2},{"amount":29.846,"high":13691.7,"vol":29846,"low":13584.0,"count":240,"id":1603872000,"close":13691.7,"tradeTurnover":407073.1398,"open":13673.0},{"amount":104.542,"high":13707.5,"vol":104542,"low":13573.5,"count":377,"id":1603875600,"close":13587.1,"tradeTurnover":1425079.9344,"open":13689.3},{"amount":73.818,"high":13618.0,"vol":73818,"low":13504.7,"count":358,"id":1603879200,"close":13552.7,"tradeTurnover":1001666.0908,"open":13584.6},{"amount":176.544,"high":13565.4,"vol":176544,"low":13330.0,"count":1004,"id":1603882800,"close":13336.4,"tradeTurnover":2369166.1492,"open":13552.6},{"amount":289.73,"high":13385.0,"vol":289730,"low":13173.9,"count":968,"id":1603886400,"close":13300.3,"tradeTurnover":3846751.7166,"open":13331.5},{"amount":139.822,"high":13340.0,"vol":139822,"low":13122.9,"count":612,"id":1603890000,"close":13129.9,"tradeTurnover":1848876.932,"open":13300.2},{"amount":367.876,"high":13168.2,"vol":367876,"low":12915.9,"count":1168,"id":1603893600,"close":13082.2,"tradeTurnover":4802516.9818,"open":13123.4},{"amount":84.044,"high":13235.2,"vol":84044,"low":13052.3,"count":375,"id":1603897200,"close":13221.2,"tradeTurnover":1106883.1282,"open":13077.1},{"amount":29.566,"high":13218.7,"vol":29566,"low":13050.0,"count":244,"id":1603900800,"close":13145.1,"tradeTurnover":388697.4104,"open":13218.7},{"amount":53.336,"high":13204.9,"vol":53336,"low":13006.6,"count":299,"id":1603904400,"close":13176.7,"tradeTurnover":700385.2784,"open":13145.1},{"amount":34.164,"high":13219.6,"vol":34164,"low":13131.0,"count":218,"id":1603908000,"close":13196.5,"tradeTurnover":450210.5778,"open":13171.0},{"amount":22.158,"high":13237.4,"vol":22158,"low":13145.0,"count":185,"id":1603911600,"close":13154.9,"tradeTurnover":292020.0438,"open":13200.0},{"amount":4.548,"high":13211.8,"vol":4548,"low":13147.4,"count":75,"id":1603915200,"close":13198.1,"tradeTurnover":59991.1118,"open":13154.5},{"amount":3.52,"high":13196.5,"vol":3520,"low":13100.2,"count":68,"id":1603918800,"close":13190.1,"tradeTurnover":46175.428,"open":13193.5},{"amount":3.122,"high":13267.5,"vol":3122,"low":13185.4,"count":72,"id":1603922400,"close":13252.0,"tradeTurnover":41304.2018,"open":13185.4},{"amount":14.768,"high":13282.3,"vol":14768,"low":13235.9,"count":86,"id":1603926000,"close":13265.9,"tradeTurnover":195689.0764,"open":13242.1},{"amount":19.968,"high":13294.7,"vol":19968,"low":13237.4,"count":98,"id":1603929600,"close":13245.1,"tradeTurnover":264834.1944,"open":13253.9},{"amount":35.282,"high":13285.3,"vol":35282,"low":13166.3,"count":192,"id":1603933200,"close":13274.2,"tradeTurnover":465789.6302,"open":13244.6},{"amount":9.748,"high":13277.7,"vol":9748,"low":13212.2,"count":119,"id":1603936800,"close":13241.1,"tradeTurnover":129016.0684,"open":13275.9},{"amount":27.3,"high":13262.5,"vol":27300,"low":13174.6,"count":199,"id":1603940400,"close":13262.5,"tradeTurnover":360589.8982,"open":13237.1},{"amount":18.904,"high":13277.7,"vol":18904,"low":13229.5,"count":109,"id":1603944000,"close":13229.5,"tradeTurnover":250713.2812,"open":13269.1},{"amount":15.822,"high":13274.8,"vol":15822,"low":13228.5,"count":134,"id":1603947600,"close":13274.8,"tradeTurnover":209781.909,"open":13228.5},{"amount":91.246,"high":13323.0,"vol":91246,"low":13242.3,"count":294,"id":1603951200,"close":13255.0,"tradeTurnover":1211271.2788,"open":13274.8},{"amount":187.622,"high":13269.3,"vol":187622,"low":13123.1,"count":506,"id":1603954800,"close":13142.4,"tradeTurnover":2478299.7074,"open":13255.0},{"amount":69.532,"high":13182.4,"vol":69532,"low":13094.1,"count":226,"id":1603958400,"close":13124.8,"tradeTurnover":914157.2418,"open":13145.9},{"amount":23.184,"high":13197.1,"vol":23184,"low":13129.5,"count":141,"id":1603962000,"close":13183.7,"tradeTurnover":305485.9524,"open":13129.5},{"amount":121.146,"high":13187.5,"vol":121146,"low":13053.1,"count":442,"id":1603965600,"close":13105.2,"tradeTurnover":1590026.4416,"open":13184.8},{"amount":47.498,"high":13171.4,"vol":47498,"low":13060.1,"count":262,"id":1603969200,"close":13060.1,"tradeTurnover":623578.149,"open":13105.1},{"amount":126.552,"high":13145.8,"vol":126552,"low":12977.9,"count":481,"id":1603972800,"close":13131.8,"tradeTurnover":1652549.311,"open":13056.9},{"amount":100.482,"high":13237.2,"vol":100482,"low":13102.0,"count":325,"id":1603976400,"close":13230.0,"tradeTurnover":1326403.7206,"open":13131.7},{"amount":253.258,"high":13476.1,"vol":253258,"low":13231.0,"count":752,"id":1603980000,"close":13420.8,"tradeTurnover":3384941.438,"open":13231.0},{"amount":64.71,"high":13458.7,"vol":64710,"low":13358.7,"count":269,"id":1603983600,"close":13420.6,"tradeTurnover":869052.3804,"open":13416.0},{"amount":120.24,"high":13594.5,"vol":120240,"low":13391.8,"count":570,"id":1603987200,"close":13535.9,"tradeTurnover":1626567.8278,"open":13421.9}],"id":"","rep":"market.BTC-USDT.kline.60min","status":"ok"} +2024-01-18 11:13:20.170 [DEBUG] [WebSocketConnectReadThread-12] [com.huobi.wss.handle.WssMarketReqHandle.dealPing:129] - 发送pong:{"pong":1705547600170} +2024-01-18 11:13:21.081 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:39] - 请求 KLine 数据用户收到的原始数据:{"id":"","rep":"market.BTC-USDT.kline.60min","ts":1705547599990,"wsid":19750305,"status":"ok","data":[{"id":1603270800,"open":12198.0,"close":12196.7,"high":12300.0,"low":11715.8,"amount":0.276,"vol":276,"trade_turnover":3315.9104,"count":39},{"id":1603274400,"open":12196.7,"close":12277.9,"high":12289.9,"low":12111.0,"amount":0.198,"vol":198,"trade_turnover":2420.7728,"count":21},{"id":1603278000,"open":12111.0,"close":12000.0,"high":12277.9,"low":12000.0,"amount":0.012,"vol":12,"trade_turnover":145.2238,"count":5},{"id":1603281600,"open":12078.0,"close":12497.4,"high":12498.0,"low":12078.0,"amount":0.084,"vol":84,"trade_turnover":1040.0504,"count":12},{"id":1603285200,"open":12495.6,"close":12373.5,"high":12495.6,"low":12282.9,"amount":1.122,"vol":1122,"trade_turnover":13905.3124,"count":112},{"id":1603288800,"open":12412.9,"close":12689.9,"high":12807.6,"low":12358.1,"amount":5.29,"vol":5290,"trade_turnover":66852.128,"count":155},{"id":1603292400,"open":12692.8,"close":12701.9,"high":12778.7,"low":12573.2,"amount":1.174,"vol":1174,"trade_turnover":14907.367,"count":113},{"id":1603296000,"open":12679.7,"close":12835.9,"high":12920.9,"low":12624.8,"amount":1.156,"vol":1156,"trade_turnover":14802.449,"count":115},{"id":1603299600,"open":12848.3,"close":12754.2,"high":12908.3,"low":12687.5,"amount":1.12,"vol":1120,"trade_turnover":14345.7324,"count":115},{"id":1603303200,"open":12743.7,"close":12740.2,"high":12849.0,"low":12668.3,"amount":1.106,"vol":1106,"trade_turnover":14105.3504,"count":114},{"id":1603306800,"open":12729.5,"close":12650.3,"high":12843.1,"low":12597.2,"amount":1.032,"vol":1032,"trade_turnover":13125.4568,"count":112},{"id":1603310400,"open":12666.8,"close":12807.0,"high":12848.4,"low":12610.2,"amount":1.154,"vol":1154,"trade_turnover":14680.638,"count":116},{"id":1603314000,"open":12866.0,"close":12938.9,"high":13005.1,"low":12748.2,"amount":1.164,"vol":1164,"trade_turnover":14976.9366,"count":114},{"id":1603317600,"open":12921.0,"close":13122.0,"high":13211.2,"low":12865.7,"amount":1.174,"vol":1174,"trade_turnover":15285.2446,"count":114},{"id":1603321200,"open":13153.2,"close":12829.8,"high":13173.2,"low":12688.6,"amount":1.172,"vol":1172,"trade_turnover":15060.9938,"count":117},{"id":1603324800,"open":12793.1,"close":12885.9,"high":12988.1,"low":12764.4,"amount":1.17,"vol":1170,"trade_turnover":15046.2046,"count":117},{"id":1603328400,"open":12860.4,"close":12757.5,"high":12972.6,"low":12757.5,"amount":1.158,"vol":1158,"trade_turnover":14882.4656,"count":118},{"id":1603332000,"open":12824.1,"close":12788.8,"high":12848.0,"low":12729.0,"amount":1.124,"vol":1124,"trade_turnover":14368.7948,"count":115},{"id":1603335600,"open":12791.7,"close":12767.2,"high":12834.4,"low":12729.0,"amount":1.194,"vol":1194,"trade_turnover":15268.9298,"count":111},{"id":1603339200,"open":12729.0,"close":12762.2,"high":12778.3,"low":12729.0,"amount":1.152,"vol":1152,"trade_turnover":14695.4876,"count":115},{"id":1603342800,"open":12763.1,"close":12813.8,"high":12842.0,"low":12730.6,"amount":1.21,"vol":1210,"trade_turnover":15440.8162,"count":119},{"id":1603346400,"open":12795.0,"close":12729.1,"high":12795.0,"low":12728.0,"amount":1.188,"vol":1188,"trade_turnover":15128.0098,"count":123},{"id":1603350000,"open":12728.6,"close":12730.6,"high":12730.6,"low":12728.3,"amount":1.266,"vol":1266,"trade_turnover":16115.1306,"count":112},{"id":1603353600,"open":12730.3,"close":12770.1,"high":12921.5,"low":12729.9,"amount":1.35,"vol":1350,"trade_turnover":17233.7326,"count":127},{"id":1603357200,"open":12824.9,"close":12780.4,"high":12872.1,"low":12760.1,"amount":0.98,"vol":980,"trade_turnover":12553.9826,"count":99},{"id":1603360800,"open":12784.9,"close":12934.2,"high":13002.7,"low":12775.6,"amount":0.266,"vol":266,"trade_turnover":3415.023,"count":30},{"id":1603364400,"open":12977.0,"close":13045.0,"high":13057.0,"low":12886.6,"amount":1.004,"vol":1004,"trade_turnover":13020.8576,"count":117},{"id":1603368000,"open":12958.5,"close":12847.9,"high":12973.4,"low":12751.6,"amount":1.134,"vol":1134,"trade_turnover":14594.2752,"count":111},{"id":1603371600,"open":12882.7,"close":12931.0,"high":13000.8,"low":12743.0,"amount":1.152,"vol":1152,"trade_turnover":14877.7314,"count":114},{"id":1603375200,"open":12890.4,"close":12917.8,"high":12995.3,"low":12783.9,"amount":1.182,"vol":1182,"trade_turnover":15224.4716,"count":115},{"id":1603378800,"open":12918.8,"close":12953.0,"high":13031.2,"low":12817.9,"amount":1.176,"vol":1176,"trade_turnover":15197.208,"count":117},{"id":1603382400,"open":12923.1,"close":13055.6,"high":13100.2,"low":12865.6,"amount":1.146,"vol":1146,"trade_turnover":14851.9604,"count":119},{"id":1603386000,"open":12967.6,"close":13082.7,"high":13105.7,"low":12835.5,"amount":1.534,"vol":1534,"trade_turnover":19927.8288,"count":124},{"id":1603389600,"open":13020.4,"close":13016.4,"high":13115.0,"low":12938.7,"amount":1.268,"vol":1268,"trade_turnover":16505.4738,"count":117},{"id":1603393200,"open":13028.3,"close":12970.6,"high":13171.2,"low":12961.8,"amount":1.13,"vol":1130,"trade_turnover":14762.952,"count":112},{"id":1603396800,"open":13016.7,"close":13089.3,"high":13216.1,"low":12998.5,"amount":1.206,"vol":1206,"trade_turnover":15807.1226,"count":117},{"id":1603400400,"open":13136.0,"close":13092.0,"high":13203.7,"low":12932.9,"amount":1.332,"vol":1332,"trade_turnover":17423.4422,"count":114},{"id":1603404000,"open":13119.4,"close":13055.9,"high":13250.5,"low":12984.7,"amount":1.21,"vol":1210,"trade_turnover":15876.0632,"count":114},{"id":1603407600,"open":13059.4,"close":12890.4,"high":13126.5,"low":12857.2,"amount":1.286,"vol":1286,"trade_turnover":16688.422,"count":116},{"id":1603411200,"open":12929.7,"close":12892.2,"high":12994.0,"low":12751.6,"amount":1.502,"vol":1502,"trade_turnover":19331.1596,"count":131},{"id":1603414800,"open":12921.7,"close":12898.3,"high":13003.2,"low":12786.0,"amount":1.386,"vol":1386,"trade_turnover":17904.8902,"count":121},{"id":1603418400,"open":12951.6,"close":12975.1,"high":13054.0,"low":12800.7,"amount":1.416,"vol":1416,"trade_turnover":18306.6204,"count":122},{"id":1603422000,"open":12967.3,"close":12947.0,"high":13030.7,"low":12875.0,"amount":1.19,"vol":1190,"trade_turnover":15409.7984,"count":118},{"id":1603425600,"open":12925.2,"close":12852.0,"high":13047.3,"low":12832.8,"amount":1.022,"vol":1022,"trade_turnover":13214.4388,"count":127},{"id":1603429200,"open":12859.0,"close":12931.1,"high":12991.7,"low":12841.2,"amount":0.478,"vol":478,"trade_turnover":6180.2486,"count":118},{"id":1603432800,"open":12935.9,"close":12939.6,"high":13014.1,"low":12871.9,"amount":0.522,"vol":522,"trade_turnover":6759.0324,"count":132},{"id":1603436400,"open":12923.1,"close":12925.4,"high":12998.9,"low":12917.1,"amount":0.476,"vol":476,"trade_turnover":6163.3118,"count":118},{"id":1603440000,"open":12942.2,"close":12962.6,"high":13014.0,"low":12916.1,"amount":0.508,"vol":508,"trade_turnover":6585.3656,"count":122},{"id":1603443600,"open":12970.5,"close":12926.4,"high":13012.5,"low":12909.9,"amount":0.564,"vol":564,"trade_turnover":7308.8828,"count":124},{"id":1603447200,"open":13001.2,"close":13007.7,"high":13059.5,"low":12925.7,"amount":0.536,"vol":536,"trade_turnover":6957.8796,"count":124},{"id":1603450800,"open":13025.4,"close":12970.6,"high":13078.4,"low":12906.5,"amount":0.486,"vol":486,"trade_turnover":6326.1434,"count":122},{"id":1603454400,"open":12963.9,"close":12935.4,"high":13025.0,"low":12850.8,"amount":0.494,"vol":494,"trade_turnover":6396.0984,"count":117},{"id":1603458000,"open":12913.3,"close":12951.7,"high":13043.3,"low":12911.0,"amount":0.466,"vol":466,"trade_turnover":6049.1412,"count":117},{"id":1603461600,"open":12999.6,"close":12858.8,"high":13006.4,"low":12840.4,"amount":0.46,"vol":460,"trade_turnover":5941.815,"count":116},{"id":1603465200,"open":12885.7,"close":12881.9,"high":12932.9,"low":12826.5,"amount":0.492,"vol":492,"trade_turnover":6340.214,"count":117},{"id":1603468800,"open":12854.4,"close":12784.1,"high":12933.5,"low":12744.4,"amount":0.484,"vol":484,"trade_turnover":6205.4138,"count":123},{"id":1603472400,"open":12832.3,"close":12847.7,"high":12893.1,"low":12730.1,"amount":0.562,"vol":562,"trade_turnover":7218.9184,"count":152},{"id":1603476000,"open":12874.1,"close":12915.7,"high":12939.3,"low":12751.4,"amount":0.53,"vol":530,"trade_turnover":6825.7004,"count":128},{"id":1603479600,"open":12867.9,"close":12972.9,"high":12972.9,"low":12786.6,"amount":0.444,"vol":444,"trade_turnover":5727.7452,"count":117},{"id":1603483200,"open":12956.7,"close":12991.6,"high":13002.2,"low":12842.9,"amount":0.492,"vol":492,"trade_turnover":6375.1566,"count":116},{"id":1603486800,"open":13004.3,"close":12943.5,"high":13004.3,"low":12936.6,"amount":0.5,"vol":500,"trade_turnover":6485.468,"count":125},{"id":1603490400,"open":12923.6,"close":12989.2,"high":13010.3,"low":12884.7,"amount":0.492,"vol":492,"trade_turnover":6376.1492,"count":120},{"id":1603494000,"open":12974.9,"close":12884.6,"high":13024.4,"low":12884.6,"amount":0.51,"vol":510,"trade_turnover":6622.3406,"count":121},{"id":1603497600,"open":12973.7,"close":12953.9,"high":13018.3,"low":12811.1,"amount":0.488,"vol":488,"trade_turnover":6317.7938,"count":120},{"id":1603501200,"open":12927.5,"close":12934.2,"high":13018.1,"low":12872.8,"amount":0.482,"vol":482,"trade_turnover":6242.4178,"count":117},{"id":1603504800,"open":12971.9,"close":12989.1,"high":13003.9,"low":12903.3,"amount":0.484,"vol":484,"trade_turnover":6278.1756,"count":117},{"id":1603508400,"open":13000.1,"close":12975.9,"high":13013.4,"low":12938.3,"amount":0.474,"vol":474,"trade_turnover":6157.7096,"count":122},{"id":1603512000,"open":12989.7,"close":12963.3,"high":13009.4,"low":12905.5,"amount":0.526,"vol":526,"trade_turnover":6831.5658,"count":124},{"id":1603515600,"open":12910.5,"close":12989.7,"high":13041.8,"low":12875.3,"amount":0.522,"vol":522,"trade_turnover":6768.8994,"count":127},{"id":1603519200,"open":12994.7,"close":13003.6,"high":13058.1,"low":12908.8,"amount":0.49,"vol":490,"trade_turnover":6370.5714,"count":120},{"id":1603522800,"open":13011.9,"close":13004.2,"high":13037.8,"low":12981.7,"amount":0.478,"vol":478,"trade_turnover":6218.9722,"count":120},{"id":1603526400,"open":13003.0,"close":12998.2,"high":13030.6,"low":12899.4,"amount":0.52,"vol":520,"trade_turnover":6754.958,"count":124},{"id":1603530000,"open":12998.2,"close":12990.6,"high":13020.3,"low":12893.6,"amount":0.454,"vol":454,"trade_turnover":5891.0574,"count":115},{"id":1603533600,"open":12996.4,"close":13030.1,"high":13059.1,"low":12913.2,"amount":0.502,"vol":502,"trade_turnover":6525.9004,"count":124},{"id":1603537200,"open":12988.4,"close":13033.2,"high":13068.3,"low":12940.2,"amount":0.468,"vol":468,"trade_turnover":6091.0376,"count":119},{"id":1603540800,"open":13035.3,"close":13006.5,"high":13071.8,"low":12978.9,"amount":0.468,"vol":468,"trade_turnover":6102.5902,"count":123},{"id":1603544400,"open":13038.8,"close":12985.9,"high":13066.7,"low":12928.1,"amount":0.534,"vol":534,"trade_turnover":6950.4268,"count":123},{"id":1603548000,"open":12986.3,"close":13042.0,"high":13100.1,"low":12960.5,"amount":0.47,"vol":470,"trade_turnover":6124.2178,"count":100},{"id":1603551600,"open":13038.4,"close":13102.2,"high":13196.5,"low":13038.4,"amount":0.456,"vol":456,"trade_turnover":5989.6362,"count":120},{"id":1603555200,"open":13136.8,"close":13052.7,"high":13176.6,"low":12984.6,"amount":0.458,"vol":458,"trade_turnover":5976.331,"count":121},{"id":1603558800,"open":13006.2,"close":13177.8,"high":13177.8,"low":13003.2,"amount":0.452,"vol":452,"trade_turnover":5911.7058,"count":118},{"id":1603562400,"open":13127.7,"close":13080.8,"high":13170.7,"low":13023.0,"amount":0.468,"vol":468,"trade_turnover":6122.375,"count":119},{"id":1603566000,"open":13040.7,"close":13148.4,"high":13179.3,"low":13014.2,"amount":0.468,"vol":468,"trade_turnover":6126.4278,"count":120},{"id":1603569600,"open":13073.5,"close":13090.1,"high":13179.6,"low":12992.5,"amount":0.47,"vol":470,"trade_turnover":6151.4758,"count":119},{"id":1603573200,"open":13035.4,"close":12993.9,"high":13148.7,"low":12980.7,"amount":0.458,"vol":458,"trade_turnover":5981.071,"count":117},{"id":1603576800,"open":13040.7,"close":13041.1,"high":13112.1,"low":12975.6,"amount":0.478,"vol":478,"trade_turnover":6225.4216,"count":118},{"id":1603580400,"open":13012.6,"close":13184.3,"high":13184.3,"low":13009.3,"amount":0.472,"vol":472,"trade_turnover":6173.4244,"count":118},{"id":1603584000,"open":13080.8,"close":13154.3,"high":13170.4,"low":13007.7,"amount":0.46,"vol":460,"trade_turnover":6024.09,"count":115},{"id":1603587600,"open":13092.0,"close":13196.1,"high":13196.8,"low":13024.0,"amount":0.398,"vol":398,"trade_turnover":5217.5364,"count":102},{"id":1603591200,"open":13124.7,"close":13082.4,"high":13175.1,"low":13035.0,"amount":0.476,"vol":476,"trade_turnover":6228.6596,"count":120},{"id":1603594800,"open":13049.1,"close":13259.0,"high":13383.8,"low":13049.1,"amount":0.578,"vol":578,"trade_turnover":7629.3886,"count":137},{"id":1603598400,"open":13277.0,"close":13243.4,"high":13369.0,"low":13216.0,"amount":0.47,"vol":470,"trade_turnover":6247.955,"count":122},{"id":1603602000,"open":13285.3,"close":13017.3,"high":13353.3,"low":13010.1,"amount":0.61,"vol":610,"trade_turnover":8048.8598,"count":134},{"id":1603605600,"open":13022.5,"close":13060.3,"high":13105.7,"low":13018.2,"amount":0.486,"vol":486,"trade_turnover":6344.1474,"count":118},{"id":1603609200,"open":13048.5,"close":13078.1,"high":13112.1,"low":13022.0,"amount":0.464,"vol":464,"trade_turnover":6061.5416,"count":120},{"id":1603612800,"open":13077.2,"close":13046.0,"high":13091.0,"low":13017.2,"amount":0.464,"vol":464,"trade_turnover":6055.3734,"count":120},{"id":1603616400,"open":13065.1,"close":13040.8,"high":13084.0,"low":13014.2,"amount":0.478,"vol":478,"trade_turnover":6235.7882,"count":117},{"id":1603620000,"open":13047.1,"close":13028.5,"high":13064.2,"low":13010.2,"amount":0.478,"vol":478,"trade_turnover":6232.2428,"count":125},{"id":1603623600,"open":13061.5,"close":12897.6,"high":13061.5,"low":12852.9,"amount":0.534,"vol":534,"trade_turnover":6918.1226,"count":123},{"id":1603627200,"open":12908.3,"close":12964.3,"high":13069.7,"low":12893.2,"amount":0.444,"vol":444,"trade_turnover":5755.8712,"count":117},{"id":1603630800,"open":13001.3,"close":12949.3,"high":13071.9,"low":12891.8,"amount":0.498,"vol":498,"trade_turnover":6465.078,"count":119},{"id":1603634400,"open":12975.8,"close":12946.8,"high":13077.7,"low":12900.0,"amount":0.468,"vol":468,"trade_turnover":6075.4554,"count":116},{"id":1603638000,"open":12975.2,"close":12883.3,"high":13069.1,"low":12883.3,"amount":0.47,"vol":470,"trade_turnover":6097.1072,"count":119},{"id":1603641600,"open":12916.2,"close":12978.7,"high":13067.9,"low":12877.5,"amount":0.482,"vol":482,"trade_turnover":6256.4472,"count":118},{"id":1603645200,"open":13008.0,"close":13004.4,"high":13087.5,"low":12922.7,"amount":0.47,"vol":470,"trade_turnover":6108.3892,"count":117},{"id":1603648800,"open":12972.8,"close":12957.2,"high":13067.6,"low":12893.6,"amount":0.468,"vol":468,"trade_turnover":6079.1484,"count":118},{"id":1603652400,"open":12996.5,"close":13021.8,"high":13066.9,"low":12916.6,"amount":0.442,"vol":442,"trade_turnover":5746.5548,"count":118},{"id":1603656000,"open":12992.9,"close":12985.4,"high":13081.5,"low":12944.9,"amount":0.508,"vol":508,"trade_turnover":6616.9872,"count":120},{"id":1603659600,"open":12999.9,"close":13011.2,"high":13068.6,"low":12921.4,"amount":0.508,"vol":508,"trade_turnover":6614.816,"count":122},{"id":1603663200,"open":12979.6,"close":12959.4,"high":13073.8,"low":12911.9,"amount":0.486,"vol":486,"trade_turnover":6320.907,"count":121},{"id":1603666800,"open":12963.4,"close":13032.1,"high":13085.2,"low":12927.8,"amount":0.452,"vol":452,"trade_turnover":5878.6442,"count":113},{"id":1603670400,"open":12964.2,"close":13001.0,"high":13076.7,"low":12918.3,"amount":0.482,"vol":482,"trade_turnover":6263.698,"count":121},{"id":1603674000,"open":13040.0,"close":13053.7,"high":13096.4,"low":12991.2,"amount":0.478,"vol":478,"trade_turnover":6232.2328,"count":124},{"id":1603677600,"open":13060.6,"close":13064.4,"high":13185.7,"low":12985.1,"amount":0.488,"vol":488,"trade_turnover":6387.534,"count":121},{"id":1603681200,"open":13032.3,"close":13092.8,"high":13187.2,"low":12984.1,"amount":0.486,"vol":486,"trade_turnover":6369.0272,"count":135},{"id":1603684800,"open":13092.0,"close":13132.6,"high":13181.6,"low":12962.3,"amount":0.51,"vol":510,"trade_turnover":6679.829,"count":131},{"id":1603688400,"open":13129.2,"close":13092.1,"high":13205.3,"low":13025.3,"amount":0.506,"vol":506,"trade_turnover":6641.2128,"count":126},{"id":1603692000,"open":13121.8,"close":13071.4,"high":13188.1,"low":12989.8,"amount":1.616,"vol":1616,"trade_turnover":21170.8224,"count":141},{"id":1603695600,"open":13061.0,"close":13038.7,"high":13100.0,"low":12965.2,"amount":3.746,"vol":3746,"trade_turnover":48924.8902,"count":110},{"id":1603699200,"open":13030.9,"close":13039.3,"high":13102.0,"low":12852.8,"amount":8.966,"vol":8966,"trade_turnover":116525.5534,"count":173},{"id":1603702800,"open":13047.1,"close":13075.9,"high":13088.4,"low":13039.8,"amount":4.48,"vol":4480,"trade_turnover":58521.1714,"count":124},{"id":1603706400,"open":13072.1,"close":13100.0,"high":13100.0,"low":13060.2,"amount":4.272,"vol":4272,"trade_turnover":55895.9778,"count":130},{"id":1603710000,"open":13100.0,"close":13138.4,"high":13159.0,"low":13100.0,"amount":29.798,"vol":29798,"trade_turnover":391138.024,"count":230},{"id":1603713600,"open":13138.8,"close":13149.8,"high":13200.0,"low":13100.0,"amount":5.154,"vol":5154,"trade_turnover":67694.652,"count":188},{"id":1603717200,"open":13150.0,"close":13205.8,"high":13351.5,"low":13133.1,"amount":35.608,"vol":35608,"trade_turnover":472780.3394,"count":328},{"id":1603720800,"open":13203.0,"close":13166.1,"high":13280.0,"low":13144.1,"amount":31.748,"vol":31748,"trade_turnover":418744.5588,"count":235},{"id":1603724400,"open":13159.0,"close":12978.0,"high":13165.2,"low":12903.8,"amount":36.53,"vol":36530,"trade_turnover":476940.3296,"count":384},{"id":1603728000,"open":12965.0,"close":12869.6,"high":13069.8,"low":12850.5,"amount":35.018,"vol":35018,"trade_turnover":453288.918,"count":323},{"id":1603731600,"open":12879.2,"close":12873.8,"high":12941.5,"low":12583.9,"amount":92.628,"vol":92628,"trade_turnover":1185973.467,"count":560},{"id":1603735200,"open":12856.2,"close":12946.8,"high":12954.5,"low":12820.4,"amount":4.302,"vol":4302,"trade_turnover":55481.0054,"count":128},{"id":1603738800,"open":12945.6,"close":12953.4,"high":12953.5,"low":12914.1,"amount":13.83,"vol":13830,"trade_turnover":179112.1598,"count":118},{"id":1603742400,"open":12953.5,"close":12983.4,"high":13007.5,"low":12953.5,"amount":17.172,"vol":17172,"trade_turnover":223230.2122,"count":132},{"id":1603746000,"open":12983.1,"close":12993.8,"high":13007.5,"low":12982.7,"amount":3.212,"vol":3212,"trade_turnover":41767.8906,"count":59},{"id":1603749600,"open":13002.1,"close":13007.5,"high":13007.5,"low":12974.0,"amount":1.504,"vol":1504,"trade_turnover":19543.3568,"count":74},{"id":1603753200,"open":13007.5,"close":13033.7,"high":13061.2,"low":13007.5,"amount":3.454,"vol":3454,"trade_turnover":45001.601,"count":101},{"id":1603756800,"open":13029.2,"close":13067.1,"high":13105.0,"low":13028.3,"amount":8.784,"vol":8784,"trade_turnover":114871.8246,"count":98},{"id":1603760400,"open":13074.3,"close":13061.7,"high":13074.4,"low":13051.5,"amount":11.592,"vol":11592,"trade_turnover":151386.9038,"count":66},{"id":1603764000,"open":13061.7,"close":13049.7,"high":13097.6,"low":13040.1,"amount":19.298,"vol":19298,"trade_turnover":252061.019,"count":109},{"id":1603767600,"open":13057.6,"close":13070.4,"high":13080.0,"low":13057.1,"amount":22.992,"vol":22992,"trade_turnover":300453.9788,"count":69},{"id":1603771200,"open":13080.0,"close":13103.3,"high":13175.0,"low":13079.6,"amount":14.396,"vol":14396,"trade_turnover":188461.9156,"count":59},{"id":1603774800,"open":13121.3,"close":13073.6,"high":13121.3,"low":13069.7,"amount":5.058,"vol":5058,"trade_turnover":66201.3552,"count":44},{"id":1603778400,"open":13074.9,"close":13103.4,"high":13149.0,"low":13069.6,"amount":9.106,"vol":9106,"trade_turnover":119104.8906,"count":107},{"id":1603782000,"open":13103.3,"close":13130.0,"high":13169.8,"low":12992.4,"amount":73.95,"vol":73950,"trade_turnover":968195.155,"count":305},{"id":1603785600,"open":13135.1,"close":13123.8,"high":13148.4,"low":13044.0,"amount":18.732,"vol":18732,"trade_turnover":245533.5448,"count":135},{"id":1603789200,"open":13115.5,"close":13131.7,"high":13131.8,"low":13075.7,"amount":13.756,"vol":13756,"trade_turnover":180253.7708,"count":102},{"id":1603792800,"open":13134.8,"close":13216.9,"high":13252.0,"low":13063.4,"amount":154.108,"vol":154108,"trade_turnover":2029983.656,"count":525},{"id":1603796400,"open":13218.8,"close":13395.8,"high":13590.1,"low":13213.5,"amount":170.09,"vol":170090,"trade_turnover":2276279.742,"count":591},{"id":1603800000,"open":13395.9,"close":13376.9,"high":13414.0,"low":13331.7,"amount":48.928,"vol":48928,"trade_turnover":654585.9108,"count":216},{"id":1603803600,"open":13376.5,"close":13384.3,"high":13490.9,"low":13329.8,"amount":63.294,"vol":63294,"trade_turnover":848130.9212,"count":316},{"id":1603807200,"open":13392.6,"close":13398.2,"high":13415.8,"low":13344.8,"amount":12.892,"vol":12892,"trade_turnover":172618.6864,"count":124},{"id":1603810800,"open":13398.2,"close":13598.5,"high":13626.7,"low":13398.2,"amount":93.22,"vol":93220,"trade_turnover":1262695.5466,"count":476},{"id":1603814400,"open":13595.8,"close":13639.9,"high":13639.9,"low":13520.2,"amount":85.45,"vol":85450,"trade_turnover":1161481.4136,"count":435},{"id":1603818000,"open":13640.0,"close":13688.1,"high":13826.7,"low":13589.0,"amount":191.812,"vol":191812,"trade_turnover":2628428.3788,"count":711},{"id":1603821600,"open":13685.0,"close":13630.1,"high":13745.0,"low":13528.2,"amount":65.434,"vol":65434,"trade_turnover":891541.8394,"count":410},{"id":1603825200,"open":13629.4,"close":13637.1,"high":13659.8,"low":13595.4,"amount":5.788,"vol":5788,"trade_turnover":78836.2578,"count":65},{"id":1603828800,"open":13644.4,"close":13616.6,"high":13805.1,"low":13582.6,"amount":163.104,"vol":163104,"trade_turnover":2234040.3544,"count":537},{"id":1603832400,"open":13609.8,"close":13705.5,"high":13753.5,"low":13609.8,"amount":9.884,"vol":9884,"trade_turnover":135406.4752,"count":101},{"id":1603836000,"open":13705.4,"close":13739.9,"high":13739.9,"low":13658.2,"amount":7.436,"vol":7436,"trade_turnover":101840.3508,"count":100},{"id":1603839600,"open":13739.9,"close":13649.6,"high":13794.6,"low":13582.6,"amount":17.086,"vol":17086,"trade_turnover":233971.8448,"count":234},{"id":1603843200,"open":13645.9,"close":13701.7,"high":13745.2,"low":13618.8,"amount":24.108,"vol":24108,"trade_turnover":330206.5694,"count":177},{"id":1603846800,"open":13702.1,"close":13702.6,"high":13725.6,"low":13647.9,"amount":15.892,"vol":15892,"trade_turnover":217816.7008,"count":151},{"id":1603850400,"open":13701.7,"close":13811.6,"high":13832.2,"low":13680.2,"amount":46.548,"vol":46548,"trade_turnover":640636.0352,"count":274},{"id":1603854000,"open":13818.5,"close":13777.0,"high":13820.3,"low":13717.5,"amount":67.896,"vol":67896,"trade_turnover":935838.2238,"count":320},{"id":1603857600,"open":13767.3,"close":13735.7,"high":13807.2,"low":13710.0,"amount":33.156,"vol":33156,"trade_turnover":455941.234,"count":210},{"id":1603861200,"open":13735.5,"close":13715.8,"high":13753.9,"low":13671.3,"amount":32.076,"vol":32076,"trade_turnover":439612.64,"count":198},{"id":1603864800,"open":13715.9,"close":13701.3,"high":13757.0,"low":13694.9,"amount":14.756,"vol":14756,"trade_turnover":202602.5164,"count":122},{"id":1603868400,"open":13701.2,"close":13674.2,"high":13708.7,"low":13550.0,"amount":155.534,"vol":155534,"trade_turnover":2117935.0928,"count":635},{"id":1603872000,"open":13673.0,"close":13691.7,"high":13691.7,"low":13584.0,"amount":29.846,"vol":29846,"trade_turnover":407073.1398,"count":240},{"id":1603875600,"open":13689.3,"close":13587.1,"high":13707.5,"low":13573.5,"amount":104.542,"vol":104542,"trade_turnover":1425079.9344,"count":377},{"id":1603879200,"open":13584.6,"close":13552.7,"high":13618.0,"low":13504.7,"amount":73.818,"vol":73818,"trade_turnover":1001666.0908,"count":358},{"id":1603882800,"open":13552.6,"close":13336.4,"high":13565.4,"low":13330.0,"amount":176.544,"vol":176544,"trade_turnover":2369166.1492,"count":1004},{"id":1603886400,"open":13331.5,"close":13300.3,"high":13385.0,"low":13173.9,"amount":289.73,"vol":289730,"trade_turnover":3846751.7166,"count":968},{"id":1603890000,"open":13300.2,"close":13129.9,"high":13340.0,"low":13122.9,"amount":139.822,"vol":139822,"trade_turnover":1848876.932,"count":612},{"id":1603893600,"open":13123.4,"close":13082.2,"high":13168.2,"low":12915.9,"amount":367.876,"vol":367876,"trade_turnover":4802516.9818,"count":1168},{"id":1603897200,"open":13077.1,"close":13221.2,"high":13235.2,"low":13052.3,"amount":84.044,"vol":84044,"trade_turnover":1106883.1282,"count":375},{"id":1603900800,"open":13218.7,"close":13145.1,"high":13218.7,"low":13050.0,"amount":29.566,"vol":29566,"trade_turnover":388697.4104,"count":244},{"id":1603904400,"open":13145.1,"close":13176.7,"high":13204.9,"low":13006.6,"amount":53.336,"vol":53336,"trade_turnover":700385.2784,"count":299},{"id":1603908000,"open":13171.0,"close":13196.5,"high":13219.6,"low":13131.0,"amount":34.164,"vol":34164,"trade_turnover":450210.5778,"count":218},{"id":1603911600,"open":13200.0,"close":13154.9,"high":13237.4,"low":13145.0,"amount":22.158,"vol":22158,"trade_turnover":292020.0438,"count":185},{"id":1603915200,"open":13154.5,"close":13198.1,"high":13211.8,"low":13147.4,"amount":4.548,"vol":4548,"trade_turnover":59991.1118,"count":75},{"id":1603918800,"open":13193.5,"close":13190.1,"high":13196.5,"low":13100.2,"amount":3.52,"vol":3520,"trade_turnover":46175.428,"count":68},{"id":1603922400,"open":13185.4,"close":13252.0,"high":13267.5,"low":13185.4,"amount":3.122,"vol":3122,"trade_turnover":41304.2018,"count":72},{"id":1603926000,"open":13242.1,"close":13265.9,"high":13282.3,"low":13235.9,"amount":14.768,"vol":14768,"trade_turnover":195689.0764,"count":86},{"id":1603929600,"open":13253.9,"close":13245.1,"high":13294.7,"low":13237.4,"amount":19.968,"vol":19968,"trade_turnover":264834.1944,"count":98},{"id":1603933200,"open":13244.6,"close":13274.2,"high":13285.3,"low":13166.3,"amount":35.282,"vol":35282,"trade_turnover":465789.6302,"count":192},{"id":1603936800,"open":13275.9,"close":13241.1,"high":13277.7,"low":13212.2,"amount":9.748,"vol":9748,"trade_turnover":129016.0684,"count":119},{"id":1603940400,"open":13237.1,"close":13262.5,"high":13262.5,"low":13174.6,"amount":27.3,"vol":27300,"trade_turnover":360589.8982,"count":199},{"id":1603944000,"open":13269.1,"close":13229.5,"high":13277.7,"low":13229.5,"amount":18.904,"vol":18904,"trade_turnover":250713.2812,"count":109},{"id":1603947600,"open":13228.5,"close":13274.8,"high":13274.8,"low":13228.5,"amount":15.822,"vol":15822,"trade_turnover":209781.909,"count":134},{"id":1603951200,"open":13274.8,"close":13255.0,"high":13323.0,"low":13242.3,"amount":91.246,"vol":91246,"trade_turnover":1211271.2788,"count":294},{"id":1603954800,"open":13255.0,"close":13142.4,"high":13269.3,"low":13123.1,"amount":187.622,"vol":187622,"trade_turnover":2478299.7074,"count":506},{"id":1603958400,"open":13145.9,"close":13124.8,"high":13182.4,"low":13094.1,"amount":69.532,"vol":69532,"trade_turnover":914157.2418,"count":226},{"id":1603962000,"open":13129.5,"close":13183.7,"high":13197.1,"low":13129.5,"amount":23.184,"vol":23184,"trade_turnover":305485.9524,"count":141},{"id":1603965600,"open":13184.8,"close":13105.2,"high":13187.5,"low":13053.1,"amount":121.146,"vol":121146,"trade_turnover":1590026.4416,"count":442},{"id":1603969200,"open":13105.1,"close":13060.1,"high":13171.4,"low":13060.1,"amount":47.498,"vol":47498,"trade_turnover":623578.149,"count":262},{"id":1603972800,"open":13056.9,"close":13131.8,"high":13145.8,"low":12977.9,"amount":126.552,"vol":126552,"trade_turnover":1652549.311,"count":481},{"id":1603976400,"open":13131.7,"close":13230.0,"high":13237.2,"low":13102.0,"amount":100.482,"vol":100482,"trade_turnover":1326403.7206,"count":325},{"id":1603980000,"open":13231.0,"close":13420.8,"high":13476.1,"low":13231.0,"amount":253.258,"vol":253258,"trade_turnover":3384941.438,"count":752},{"id":1603983600,"open":13416.0,"close":13420.6,"high":13458.7,"low":13358.7,"amount":64.71,"vol":64710,"trade_turnover":869052.3804,"count":269},{"id":1603987200,"open":13421.9,"close":13535.9,"high":13594.5,"low":13391.8,"amount":120.24,"vol":120240,"trade_turnover":1626567.8278,"count":570}]} +2024-01-18 11:13:21.083 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:41] - 请求 KLine 数据解析之后的数据为:{"wsid":19750305,"data":[{"amount":0.276,"high":12300.0,"vol":276,"low":11715.8,"count":39,"id":1603270800,"close":12196.7,"tradeTurnover":3315.9104,"open":12198.0},{"amount":0.198,"high":12289.9,"vol":198,"low":12111.0,"count":21,"id":1603274400,"close":12277.9,"tradeTurnover":2420.7728,"open":12196.7},{"amount":0.012,"high":12277.9,"vol":12,"low":12000.0,"count":5,"id":1603278000,"close":12000.0,"tradeTurnover":145.2238,"open":12111.0},{"amount":0.084,"high":12498.0,"vol":84,"low":12078.0,"count":12,"id":1603281600,"close":12497.4,"tradeTurnover":1040.0504,"open":12078.0},{"amount":1.122,"high":12495.6,"vol":1122,"low":12282.9,"count":112,"id":1603285200,"close":12373.5,"tradeTurnover":13905.3124,"open":12495.6},{"amount":5.29,"high":12807.6,"vol":5290,"low":12358.1,"count":155,"id":1603288800,"close":12689.9,"tradeTurnover":66852.128,"open":12412.9},{"amount":1.174,"high":12778.7,"vol":1174,"low":12573.2,"count":113,"id":1603292400,"close":12701.9,"tradeTurnover":14907.367,"open":12692.8},{"amount":1.156,"high":12920.9,"vol":1156,"low":12624.8,"count":115,"id":1603296000,"close":12835.9,"tradeTurnover":14802.449,"open":12679.7},{"amount":1.12,"high":12908.3,"vol":1120,"low":12687.5,"count":115,"id":1603299600,"close":12754.2,"tradeTurnover":14345.7324,"open":12848.3},{"amount":1.106,"high":12849.0,"vol":1106,"low":12668.3,"count":114,"id":1603303200,"close":12740.2,"tradeTurnover":14105.3504,"open":12743.7},{"amount":1.032,"high":12843.1,"vol":1032,"low":12597.2,"count":112,"id":1603306800,"close":12650.3,"tradeTurnover":13125.4568,"open":12729.5},{"amount":1.154,"high":12848.4,"vol":1154,"low":12610.2,"count":116,"id":1603310400,"close":12807.0,"tradeTurnover":14680.638,"open":12666.8},{"amount":1.164,"high":13005.1,"vol":1164,"low":12748.2,"count":114,"id":1603314000,"close":12938.9,"tradeTurnover":14976.9366,"open":12866.0},{"amount":1.174,"high":13211.2,"vol":1174,"low":12865.7,"count":114,"id":1603317600,"close":13122.0,"tradeTurnover":15285.2446,"open":12921.0},{"amount":1.172,"high":13173.2,"vol":1172,"low":12688.6,"count":117,"id":1603321200,"close":12829.8,"tradeTurnover":15060.9938,"open":13153.2},{"amount":1.17,"high":12988.1,"vol":1170,"low":12764.4,"count":117,"id":1603324800,"close":12885.9,"tradeTurnover":15046.2046,"open":12793.1},{"amount":1.158,"high":12972.6,"vol":1158,"low":12757.5,"count":118,"id":1603328400,"close":12757.5,"tradeTurnover":14882.4656,"open":12860.4},{"amount":1.124,"high":12848.0,"vol":1124,"low":12729.0,"count":115,"id":1603332000,"close":12788.8,"tradeTurnover":14368.7948,"open":12824.1},{"amount":1.194,"high":12834.4,"vol":1194,"low":12729.0,"count":111,"id":1603335600,"close":12767.2,"tradeTurnover":15268.9298,"open":12791.7},{"amount":1.152,"high":12778.3,"vol":1152,"low":12729.0,"count":115,"id":1603339200,"close":12762.2,"tradeTurnover":14695.4876,"open":12729.0},{"amount":1.21,"high":12842.0,"vol":1210,"low":12730.6,"count":119,"id":1603342800,"close":12813.8,"tradeTurnover":15440.8162,"open":12763.1},{"amount":1.188,"high":12795.0,"vol":1188,"low":12728.0,"count":123,"id":1603346400,"close":12729.1,"tradeTurnover":15128.0098,"open":12795.0},{"amount":1.266,"high":12730.6,"vol":1266,"low":12728.3,"count":112,"id":1603350000,"close":12730.6,"tradeTurnover":16115.1306,"open":12728.6},{"amount":1.35,"high":12921.5,"vol":1350,"low":12729.9,"count":127,"id":1603353600,"close":12770.1,"tradeTurnover":17233.7326,"open":12730.3},{"amount":0.98,"high":12872.1,"vol":980,"low":12760.1,"count":99,"id":1603357200,"close":12780.4,"tradeTurnover":12553.9826,"open":12824.9},{"amount":0.266,"high":13002.7,"vol":266,"low":12775.6,"count":30,"id":1603360800,"close":12934.2,"tradeTurnover":3415.023,"open":12784.9},{"amount":1.004,"high":13057.0,"vol":1004,"low":12886.6,"count":117,"id":1603364400,"close":13045.0,"tradeTurnover":13020.8576,"open":12977.0},{"amount":1.134,"high":12973.4,"vol":1134,"low":12751.6,"count":111,"id":1603368000,"close":12847.9,"tradeTurnover":14594.2752,"open":12958.5},{"amount":1.152,"high":13000.8,"vol":1152,"low":12743.0,"count":114,"id":1603371600,"close":12931.0,"tradeTurnover":14877.7314,"open":12882.7},{"amount":1.182,"high":12995.3,"vol":1182,"low":12783.9,"count":115,"id":1603375200,"close":12917.8,"tradeTurnover":15224.4716,"open":12890.4},{"amount":1.176,"high":13031.2,"vol":1176,"low":12817.9,"count":117,"id":1603378800,"close":12953.0,"tradeTurnover":15197.208,"open":12918.8},{"amount":1.146,"high":13100.2,"vol":1146,"low":12865.6,"count":119,"id":1603382400,"close":13055.6,"tradeTurnover":14851.9604,"open":12923.1},{"amount":1.534,"high":13105.7,"vol":1534,"low":12835.5,"count":124,"id":1603386000,"close":13082.7,"tradeTurnover":19927.8288,"open":12967.6},{"amount":1.268,"high":13115.0,"vol":1268,"low":12938.7,"count":117,"id":1603389600,"close":13016.4,"tradeTurnover":16505.4738,"open":13020.4},{"amount":1.13,"high":13171.2,"vol":1130,"low":12961.8,"count":112,"id":1603393200,"close":12970.6,"tradeTurnover":14762.952,"open":13028.3},{"amount":1.206,"high":13216.1,"vol":1206,"low":12998.5,"count":117,"id":1603396800,"close":13089.3,"tradeTurnover":15807.1226,"open":13016.7},{"amount":1.332,"high":13203.7,"vol":1332,"low":12932.9,"count":114,"id":1603400400,"close":13092.0,"tradeTurnover":17423.4422,"open":13136.0},{"amount":1.21,"high":13250.5,"vol":1210,"low":12984.7,"count":114,"id":1603404000,"close":13055.9,"tradeTurnover":15876.0632,"open":13119.4},{"amount":1.286,"high":13126.5,"vol":1286,"low":12857.2,"count":116,"id":1603407600,"close":12890.4,"tradeTurnover":16688.422,"open":13059.4},{"amount":1.502,"high":12994.0,"vol":1502,"low":12751.6,"count":131,"id":1603411200,"close":12892.2,"tradeTurnover":19331.1596,"open":12929.7},{"amount":1.386,"high":13003.2,"vol":1386,"low":12786.0,"count":121,"id":1603414800,"close":12898.3,"tradeTurnover":17904.8902,"open":12921.7},{"amount":1.416,"high":13054.0,"vol":1416,"low":12800.7,"count":122,"id":1603418400,"close":12975.1,"tradeTurnover":18306.6204,"open":12951.6},{"amount":1.19,"high":13030.7,"vol":1190,"low":12875.0,"count":118,"id":1603422000,"close":12947.0,"tradeTurnover":15409.7984,"open":12967.3},{"amount":1.022,"high":13047.3,"vol":1022,"low":12832.8,"count":127,"id":1603425600,"close":12852.0,"tradeTurnover":13214.4388,"open":12925.2},{"amount":0.478,"high":12991.7,"vol":478,"low":12841.2,"count":118,"id":1603429200,"close":12931.1,"tradeTurnover":6180.2486,"open":12859.0},{"amount":0.522,"high":13014.1,"vol":522,"low":12871.9,"count":132,"id":1603432800,"close":12939.6,"tradeTurnover":6759.0324,"open":12935.9},{"amount":0.476,"high":12998.9,"vol":476,"low":12917.1,"count":118,"id":1603436400,"close":12925.4,"tradeTurnover":6163.3118,"open":12923.1},{"amount":0.508,"high":13014.0,"vol":508,"low":12916.1,"count":122,"id":1603440000,"close":12962.6,"tradeTurnover":6585.3656,"open":12942.2},{"amount":0.564,"high":13012.5,"vol":564,"low":12909.9,"count":124,"id":1603443600,"close":12926.4,"tradeTurnover":7308.8828,"open":12970.5},{"amount":0.536,"high":13059.5,"vol":536,"low":12925.7,"count":124,"id":1603447200,"close":13007.7,"tradeTurnover":6957.8796,"open":13001.2},{"amount":0.486,"high":13078.4,"vol":486,"low":12906.5,"count":122,"id":1603450800,"close":12970.6,"tradeTurnover":6326.1434,"open":13025.4},{"amount":0.494,"high":13025.0,"vol":494,"low":12850.8,"count":117,"id":1603454400,"close":12935.4,"tradeTurnover":6396.0984,"open":12963.9},{"amount":0.466,"high":13043.3,"vol":466,"low":12911.0,"count":117,"id":1603458000,"close":12951.7,"tradeTurnover":6049.1412,"open":12913.3},{"amount":0.46,"high":13006.4,"vol":460,"low":12840.4,"count":116,"id":1603461600,"close":12858.8,"tradeTurnover":5941.815,"open":12999.6},{"amount":0.492,"high":12932.9,"vol":492,"low":12826.5,"count":117,"id":1603465200,"close":12881.9,"tradeTurnover":6340.214,"open":12885.7},{"amount":0.484,"high":12933.5,"vol":484,"low":12744.4,"count":123,"id":1603468800,"close":12784.1,"tradeTurnover":6205.4138,"open":12854.4},{"amount":0.562,"high":12893.1,"vol":562,"low":12730.1,"count":152,"id":1603472400,"close":12847.7,"tradeTurnover":7218.9184,"open":12832.3},{"amount":0.53,"high":12939.3,"vol":530,"low":12751.4,"count":128,"id":1603476000,"close":12915.7,"tradeTurnover":6825.7004,"open":12874.1},{"amount":0.444,"high":12972.9,"vol":444,"low":12786.6,"count":117,"id":1603479600,"close":12972.9,"tradeTurnover":5727.7452,"open":12867.9},{"amount":0.492,"high":13002.2,"vol":492,"low":12842.9,"count":116,"id":1603483200,"close":12991.6,"tradeTurnover":6375.1566,"open":12956.7},{"amount":0.5,"high":13004.3,"vol":500,"low":12936.6,"count":125,"id":1603486800,"close":12943.5,"tradeTurnover":6485.468,"open":13004.3},{"amount":0.492,"high":13010.3,"vol":492,"low":12884.7,"count":120,"id":1603490400,"close":12989.2,"tradeTurnover":6376.1492,"open":12923.6},{"amount":0.51,"high":13024.4,"vol":510,"low":12884.6,"count":121,"id":1603494000,"close":12884.6,"tradeTurnover":6622.3406,"open":12974.9},{"amount":0.488,"high":13018.3,"vol":488,"low":12811.1,"count":120,"id":1603497600,"close":12953.9,"tradeTurnover":6317.7938,"open":12973.7},{"amount":0.482,"high":13018.1,"vol":482,"low":12872.8,"count":117,"id":1603501200,"close":12934.2,"tradeTurnover":6242.4178,"open":12927.5},{"amount":0.484,"high":13003.9,"vol":484,"low":12903.3,"count":117,"id":1603504800,"close":12989.1,"tradeTurnover":6278.1756,"open":12971.9},{"amount":0.474,"high":13013.4,"vol":474,"low":12938.3,"count":122,"id":1603508400,"close":12975.9,"tradeTurnover":6157.7096,"open":13000.1},{"amount":0.526,"high":13009.4,"vol":526,"low":12905.5,"count":124,"id":1603512000,"close":12963.3,"tradeTurnover":6831.5658,"open":12989.7},{"amount":0.522,"high":13041.8,"vol":522,"low":12875.3,"count":127,"id":1603515600,"close":12989.7,"tradeTurnover":6768.8994,"open":12910.5},{"amount":0.49,"high":13058.1,"vol":490,"low":12908.8,"count":120,"id":1603519200,"close":13003.6,"tradeTurnover":6370.5714,"open":12994.7},{"amount":0.478,"high":13037.8,"vol":478,"low":12981.7,"count":120,"id":1603522800,"close":13004.2,"tradeTurnover":6218.9722,"open":13011.9},{"amount":0.52,"high":13030.6,"vol":520,"low":12899.4,"count":124,"id":1603526400,"close":12998.2,"tradeTurnover":6754.958,"open":13003.0},{"amount":0.454,"high":13020.3,"vol":454,"low":12893.6,"count":115,"id":1603530000,"close":12990.6,"tradeTurnover":5891.0574,"open":12998.2},{"amount":0.502,"high":13059.1,"vol":502,"low":12913.2,"count":124,"id":1603533600,"close":13030.1,"tradeTurnover":6525.9004,"open":12996.4},{"amount":0.468,"high":13068.3,"vol":468,"low":12940.2,"count":119,"id":1603537200,"close":13033.2,"tradeTurnover":6091.0376,"open":12988.4},{"amount":0.468,"high":13071.8,"vol":468,"low":12978.9,"count":123,"id":1603540800,"close":13006.5,"tradeTurnover":6102.5902,"open":13035.3},{"amount":0.534,"high":13066.7,"vol":534,"low":12928.1,"count":123,"id":1603544400,"close":12985.9,"tradeTurnover":6950.4268,"open":13038.8},{"amount":0.47,"high":13100.1,"vol":470,"low":12960.5,"count":100,"id":1603548000,"close":13042.0,"tradeTurnover":6124.2178,"open":12986.3},{"amount":0.456,"high":13196.5,"vol":456,"low":13038.4,"count":120,"id":1603551600,"close":13102.2,"tradeTurnover":5989.6362,"open":13038.4},{"amount":0.458,"high":13176.6,"vol":458,"low":12984.6,"count":121,"id":1603555200,"close":13052.7,"tradeTurnover":5976.331,"open":13136.8},{"amount":0.452,"high":13177.8,"vol":452,"low":13003.2,"count":118,"id":1603558800,"close":13177.8,"tradeTurnover":5911.7058,"open":13006.2},{"amount":0.468,"high":13170.7,"vol":468,"low":13023.0,"count":119,"id":1603562400,"close":13080.8,"tradeTurnover":6122.375,"open":13127.7},{"amount":0.468,"high":13179.3,"vol":468,"low":13014.2,"count":120,"id":1603566000,"close":13148.4,"tradeTurnover":6126.4278,"open":13040.7},{"amount":0.47,"high":13179.6,"vol":470,"low":12992.5,"count":119,"id":1603569600,"close":13090.1,"tradeTurnover":6151.4758,"open":13073.5},{"amount":0.458,"high":13148.7,"vol":458,"low":12980.7,"count":117,"id":1603573200,"close":12993.9,"tradeTurnover":5981.071,"open":13035.4},{"amount":0.478,"high":13112.1,"vol":478,"low":12975.6,"count":118,"id":1603576800,"close":13041.1,"tradeTurnover":6225.4216,"open":13040.7},{"amount":0.472,"high":13184.3,"vol":472,"low":13009.3,"count":118,"id":1603580400,"close":13184.3,"tradeTurnover":6173.4244,"open":13012.6},{"amount":0.46,"high":13170.4,"vol":460,"low":13007.7,"count":115,"id":1603584000,"close":13154.3,"tradeTurnover":6024.09,"open":13080.8},{"amount":0.398,"high":13196.8,"vol":398,"low":13024.0,"count":102,"id":1603587600,"close":13196.1,"tradeTurnover":5217.5364,"open":13092.0},{"amount":0.476,"high":13175.1,"vol":476,"low":13035.0,"count":120,"id":1603591200,"close":13082.4,"tradeTurnover":6228.6596,"open":13124.7},{"amount":0.578,"high":13383.8,"vol":578,"low":13049.1,"count":137,"id":1603594800,"close":13259.0,"tradeTurnover":7629.3886,"open":13049.1},{"amount":0.47,"high":13369.0,"vol":470,"low":13216.0,"count":122,"id":1603598400,"close":13243.4,"tradeTurnover":6247.955,"open":13277.0},{"amount":0.61,"high":13353.3,"vol":610,"low":13010.1,"count":134,"id":1603602000,"close":13017.3,"tradeTurnover":8048.8598,"open":13285.3},{"amount":0.486,"high":13105.7,"vol":486,"low":13018.2,"count":118,"id":1603605600,"close":13060.3,"tradeTurnover":6344.1474,"open":13022.5},{"amount":0.464,"high":13112.1,"vol":464,"low":13022.0,"count":120,"id":1603609200,"close":13078.1,"tradeTurnover":6061.5416,"open":13048.5},{"amount":0.464,"high":13091.0,"vol":464,"low":13017.2,"count":120,"id":1603612800,"close":13046.0,"tradeTurnover":6055.3734,"open":13077.2},{"amount":0.478,"high":13084.0,"vol":478,"low":13014.2,"count":117,"id":1603616400,"close":13040.8,"tradeTurnover":6235.7882,"open":13065.1},{"amount":0.478,"high":13064.2,"vol":478,"low":13010.2,"count":125,"id":1603620000,"close":13028.5,"tradeTurnover":6232.2428,"open":13047.1},{"amount":0.534,"high":13061.5,"vol":534,"low":12852.9,"count":123,"id":1603623600,"close":12897.6,"tradeTurnover":6918.1226,"open":13061.5},{"amount":0.444,"high":13069.7,"vol":444,"low":12893.2,"count":117,"id":1603627200,"close":12964.3,"tradeTurnover":5755.8712,"open":12908.3},{"amount":0.498,"high":13071.9,"vol":498,"low":12891.8,"count":119,"id":1603630800,"close":12949.3,"tradeTurnover":6465.078,"open":13001.3},{"amount":0.468,"high":13077.7,"vol":468,"low":12900.0,"count":116,"id":1603634400,"close":12946.8,"tradeTurnover":6075.4554,"open":12975.8},{"amount":0.47,"high":13069.1,"vol":470,"low":12883.3,"count":119,"id":1603638000,"close":12883.3,"tradeTurnover":6097.1072,"open":12975.2},{"amount":0.482,"high":13067.9,"vol":482,"low":12877.5,"count":118,"id":1603641600,"close":12978.7,"tradeTurnover":6256.4472,"open":12916.2},{"amount":0.47,"high":13087.5,"vol":470,"low":12922.7,"count":117,"id":1603645200,"close":13004.4,"tradeTurnover":6108.3892,"open":13008.0},{"amount":0.468,"high":13067.6,"vol":468,"low":12893.6,"count":118,"id":1603648800,"close":12957.2,"tradeTurnover":6079.1484,"open":12972.8},{"amount":0.442,"high":13066.9,"vol":442,"low":12916.6,"count":118,"id":1603652400,"close":13021.8,"tradeTurnover":5746.5548,"open":12996.5},{"amount":0.508,"high":13081.5,"vol":508,"low":12944.9,"count":120,"id":1603656000,"close":12985.4,"tradeTurnover":6616.9872,"open":12992.9},{"amount":0.508,"high":13068.6,"vol":508,"low":12921.4,"count":122,"id":1603659600,"close":13011.2,"tradeTurnover":6614.816,"open":12999.9},{"amount":0.486,"high":13073.8,"vol":486,"low":12911.9,"count":121,"id":1603663200,"close":12959.4,"tradeTurnover":6320.907,"open":12979.6},{"amount":0.452,"high":13085.2,"vol":452,"low":12927.8,"count":113,"id":1603666800,"close":13032.1,"tradeTurnover":5878.6442,"open":12963.4},{"amount":0.482,"high":13076.7,"vol":482,"low":12918.3,"count":121,"id":1603670400,"close":13001.0,"tradeTurnover":6263.698,"open":12964.2},{"amount":0.478,"high":13096.4,"vol":478,"low":12991.2,"count":124,"id":1603674000,"close":13053.7,"tradeTurnover":6232.2328,"open":13040.0},{"amount":0.488,"high":13185.7,"vol":488,"low":12985.1,"count":121,"id":1603677600,"close":13064.4,"tradeTurnover":6387.534,"open":13060.6},{"amount":0.486,"high":13187.2,"vol":486,"low":12984.1,"count":135,"id":1603681200,"close":13092.8,"tradeTurnover":6369.0272,"open":13032.3},{"amount":0.51,"high":13181.6,"vol":510,"low":12962.3,"count":131,"id":1603684800,"close":13132.6,"tradeTurnover":6679.829,"open":13092.0},{"amount":0.506,"high":13205.3,"vol":506,"low":13025.3,"count":126,"id":1603688400,"close":13092.1,"tradeTurnover":6641.2128,"open":13129.2},{"amount":1.616,"high":13188.1,"vol":1616,"low":12989.8,"count":141,"id":1603692000,"close":13071.4,"tradeTurnover":21170.8224,"open":13121.8},{"amount":3.746,"high":13100.0,"vol":3746,"low":12965.2,"count":110,"id":1603695600,"close":13038.7,"tradeTurnover":48924.8902,"open":13061.0},{"amount":8.966,"high":13102.0,"vol":8966,"low":12852.8,"count":173,"id":1603699200,"close":13039.3,"tradeTurnover":116525.5534,"open":13030.9},{"amount":4.48,"high":13088.4,"vol":4480,"low":13039.8,"count":124,"id":1603702800,"close":13075.9,"tradeTurnover":58521.1714,"open":13047.1},{"amount":4.272,"high":13100.0,"vol":4272,"low":13060.2,"count":130,"id":1603706400,"close":13100.0,"tradeTurnover":55895.9778,"open":13072.1},{"amount":29.798,"high":13159.0,"vol":29798,"low":13100.0,"count":230,"id":1603710000,"close":13138.4,"tradeTurnover":391138.024,"open":13100.0},{"amount":5.154,"high":13200.0,"vol":5154,"low":13100.0,"count":188,"id":1603713600,"close":13149.8,"tradeTurnover":67694.652,"open":13138.8},{"amount":35.608,"high":13351.5,"vol":35608,"low":13133.1,"count":328,"id":1603717200,"close":13205.8,"tradeTurnover":472780.3394,"open":13150.0},{"amount":31.748,"high":13280.0,"vol":31748,"low":13144.1,"count":235,"id":1603720800,"close":13166.1,"tradeTurnover":418744.5588,"open":13203.0},{"amount":36.53,"high":13165.2,"vol":36530,"low":12903.8,"count":384,"id":1603724400,"close":12978.0,"tradeTurnover":476940.3296,"open":13159.0},{"amount":35.018,"high":13069.8,"vol":35018,"low":12850.5,"count":323,"id":1603728000,"close":12869.6,"tradeTurnover":453288.918,"open":12965.0},{"amount":92.628,"high":12941.5,"vol":92628,"low":12583.9,"count":560,"id":1603731600,"close":12873.8,"tradeTurnover":1185973.467,"open":12879.2},{"amount":4.302,"high":12954.5,"vol":4302,"low":12820.4,"count":128,"id":1603735200,"close":12946.8,"tradeTurnover":55481.0054,"open":12856.2},{"amount":13.83,"high":12953.5,"vol":13830,"low":12914.1,"count":118,"id":1603738800,"close":12953.4,"tradeTurnover":179112.1598,"open":12945.6},{"amount":17.172,"high":13007.5,"vol":17172,"low":12953.5,"count":132,"id":1603742400,"close":12983.4,"tradeTurnover":223230.2122,"open":12953.5},{"amount":3.212,"high":13007.5,"vol":3212,"low":12982.7,"count":59,"id":1603746000,"close":12993.8,"tradeTurnover":41767.8906,"open":12983.1},{"amount":1.504,"high":13007.5,"vol":1504,"low":12974.0,"count":74,"id":1603749600,"close":13007.5,"tradeTurnover":19543.3568,"open":13002.1},{"amount":3.454,"high":13061.2,"vol":3454,"low":13007.5,"count":101,"id":1603753200,"close":13033.7,"tradeTurnover":45001.601,"open":13007.5},{"amount":8.784,"high":13105.0,"vol":8784,"low":13028.3,"count":98,"id":1603756800,"close":13067.1,"tradeTurnover":114871.8246,"open":13029.2},{"amount":11.592,"high":13074.4,"vol":11592,"low":13051.5,"count":66,"id":1603760400,"close":13061.7,"tradeTurnover":151386.9038,"open":13074.3},{"amount":19.298,"high":13097.6,"vol":19298,"low":13040.1,"count":109,"id":1603764000,"close":13049.7,"tradeTurnover":252061.019,"open":13061.7},{"amount":22.992,"high":13080.0,"vol":22992,"low":13057.1,"count":69,"id":1603767600,"close":13070.4,"tradeTurnover":300453.9788,"open":13057.6},{"amount":14.396,"high":13175.0,"vol":14396,"low":13079.6,"count":59,"id":1603771200,"close":13103.3,"tradeTurnover":188461.9156,"open":13080.0},{"amount":5.058,"high":13121.3,"vol":5058,"low":13069.7,"count":44,"id":1603774800,"close":13073.6,"tradeTurnover":66201.3552,"open":13121.3},{"amount":9.106,"high":13149.0,"vol":9106,"low":13069.6,"count":107,"id":1603778400,"close":13103.4,"tradeTurnover":119104.8906,"open":13074.9},{"amount":73.95,"high":13169.8,"vol":73950,"low":12992.4,"count":305,"id":1603782000,"close":13130.0,"tradeTurnover":968195.155,"open":13103.3},{"amount":18.732,"high":13148.4,"vol":18732,"low":13044.0,"count":135,"id":1603785600,"close":13123.8,"tradeTurnover":245533.5448,"open":13135.1},{"amount":13.756,"high":13131.8,"vol":13756,"low":13075.7,"count":102,"id":1603789200,"close":13131.7,"tradeTurnover":180253.7708,"open":13115.5},{"amount":154.108,"high":13252.0,"vol":154108,"low":13063.4,"count":525,"id":1603792800,"close":13216.9,"tradeTurnover":2029983.656,"open":13134.8},{"amount":170.09,"high":13590.1,"vol":170090,"low":13213.5,"count":591,"id":1603796400,"close":13395.8,"tradeTurnover":2276279.742,"open":13218.8},{"amount":48.928,"high":13414.0,"vol":48928,"low":13331.7,"count":216,"id":1603800000,"close":13376.9,"tradeTurnover":654585.9108,"open":13395.9},{"amount":63.294,"high":13490.9,"vol":63294,"low":13329.8,"count":316,"id":1603803600,"close":13384.3,"tradeTurnover":848130.9212,"open":13376.5},{"amount":12.892,"high":13415.8,"vol":12892,"low":13344.8,"count":124,"id":1603807200,"close":13398.2,"tradeTurnover":172618.6864,"open":13392.6},{"amount":93.22,"high":13626.7,"vol":93220,"low":13398.2,"count":476,"id":1603810800,"close":13598.5,"tradeTurnover":1262695.5466,"open":13398.2},{"amount":85.45,"high":13639.9,"vol":85450,"low":13520.2,"count":435,"id":1603814400,"close":13639.9,"tradeTurnover":1161481.4136,"open":13595.8},{"amount":191.812,"high":13826.7,"vol":191812,"low":13589.0,"count":711,"id":1603818000,"close":13688.1,"tradeTurnover":2628428.3788,"open":13640.0},{"amount":65.434,"high":13745.0,"vol":65434,"low":13528.2,"count":410,"id":1603821600,"close":13630.1,"tradeTurnover":891541.8394,"open":13685.0},{"amount":5.788,"high":13659.8,"vol":5788,"low":13595.4,"count":65,"id":1603825200,"close":13637.1,"tradeTurnover":78836.2578,"open":13629.4},{"amount":163.104,"high":13805.1,"vol":163104,"low":13582.6,"count":537,"id":1603828800,"close":13616.6,"tradeTurnover":2234040.3544,"open":13644.4},{"amount":9.884,"high":13753.5,"vol":9884,"low":13609.8,"count":101,"id":1603832400,"close":13705.5,"tradeTurnover":135406.4752,"open":13609.8},{"amount":7.436,"high":13739.9,"vol":7436,"low":13658.2,"count":100,"id":1603836000,"close":13739.9,"tradeTurnover":101840.3508,"open":13705.4},{"amount":17.086,"high":13794.6,"vol":17086,"low":13582.6,"count":234,"id":1603839600,"close":13649.6,"tradeTurnover":233971.8448,"open":13739.9},{"amount":24.108,"high":13745.2,"vol":24108,"low":13618.8,"count":177,"id":1603843200,"close":13701.7,"tradeTurnover":330206.5694,"open":13645.9},{"amount":15.892,"high":13725.6,"vol":15892,"low":13647.9,"count":151,"id":1603846800,"close":13702.6,"tradeTurnover":217816.7008,"open":13702.1},{"amount":46.548,"high":13832.2,"vol":46548,"low":13680.2,"count":274,"id":1603850400,"close":13811.6,"tradeTurnover":640636.0352,"open":13701.7},{"amount":67.896,"high":13820.3,"vol":67896,"low":13717.5,"count":320,"id":1603854000,"close":13777.0,"tradeTurnover":935838.2238,"open":13818.5},{"amount":33.156,"high":13807.2,"vol":33156,"low":13710.0,"count":210,"id":1603857600,"close":13735.7,"tradeTurnover":455941.234,"open":13767.3},{"amount":32.076,"high":13753.9,"vol":32076,"low":13671.3,"count":198,"id":1603861200,"close":13715.8,"tradeTurnover":439612.64,"open":13735.5},{"amount":14.756,"high":13757.0,"vol":14756,"low":13694.9,"count":122,"id":1603864800,"close":13701.3,"tradeTurnover":202602.5164,"open":13715.9},{"amount":155.534,"high":13708.7,"vol":155534,"low":13550.0,"count":635,"id":1603868400,"close":13674.2,"tradeTurnover":2117935.0928,"open":13701.2},{"amount":29.846,"high":13691.7,"vol":29846,"low":13584.0,"count":240,"id":1603872000,"close":13691.7,"tradeTurnover":407073.1398,"open":13673.0},{"amount":104.542,"high":13707.5,"vol":104542,"low":13573.5,"count":377,"id":1603875600,"close":13587.1,"tradeTurnover":1425079.9344,"open":13689.3},{"amount":73.818,"high":13618.0,"vol":73818,"low":13504.7,"count":358,"id":1603879200,"close":13552.7,"tradeTurnover":1001666.0908,"open":13584.6},{"amount":176.544,"high":13565.4,"vol":176544,"low":13330.0,"count":1004,"id":1603882800,"close":13336.4,"tradeTurnover":2369166.1492,"open":13552.6},{"amount":289.73,"high":13385.0,"vol":289730,"low":13173.9,"count":968,"id":1603886400,"close":13300.3,"tradeTurnover":3846751.7166,"open":13331.5},{"amount":139.822,"high":13340.0,"vol":139822,"low":13122.9,"count":612,"id":1603890000,"close":13129.9,"tradeTurnover":1848876.932,"open":13300.2},{"amount":367.876,"high":13168.2,"vol":367876,"low":12915.9,"count":1168,"id":1603893600,"close":13082.2,"tradeTurnover":4802516.9818,"open":13123.4},{"amount":84.044,"high":13235.2,"vol":84044,"low":13052.3,"count":375,"id":1603897200,"close":13221.2,"tradeTurnover":1106883.1282,"open":13077.1},{"amount":29.566,"high":13218.7,"vol":29566,"low":13050.0,"count":244,"id":1603900800,"close":13145.1,"tradeTurnover":388697.4104,"open":13218.7},{"amount":53.336,"high":13204.9,"vol":53336,"low":13006.6,"count":299,"id":1603904400,"close":13176.7,"tradeTurnover":700385.2784,"open":13145.1},{"amount":34.164,"high":13219.6,"vol":34164,"low":13131.0,"count":218,"id":1603908000,"close":13196.5,"tradeTurnover":450210.5778,"open":13171.0},{"amount":22.158,"high":13237.4,"vol":22158,"low":13145.0,"count":185,"id":1603911600,"close":13154.9,"tradeTurnover":292020.0438,"open":13200.0},{"amount":4.548,"high":13211.8,"vol":4548,"low":13147.4,"count":75,"id":1603915200,"close":13198.1,"tradeTurnover":59991.1118,"open":13154.5},{"amount":3.52,"high":13196.5,"vol":3520,"low":13100.2,"count":68,"id":1603918800,"close":13190.1,"tradeTurnover":46175.428,"open":13193.5},{"amount":3.122,"high":13267.5,"vol":3122,"low":13185.4,"count":72,"id":1603922400,"close":13252.0,"tradeTurnover":41304.2018,"open":13185.4},{"amount":14.768,"high":13282.3,"vol":14768,"low":13235.9,"count":86,"id":1603926000,"close":13265.9,"tradeTurnover":195689.0764,"open":13242.1},{"amount":19.968,"high":13294.7,"vol":19968,"low":13237.4,"count":98,"id":1603929600,"close":13245.1,"tradeTurnover":264834.1944,"open":13253.9},{"amount":35.282,"high":13285.3,"vol":35282,"low":13166.3,"count":192,"id":1603933200,"close":13274.2,"tradeTurnover":465789.6302,"open":13244.6},{"amount":9.748,"high":13277.7,"vol":9748,"low":13212.2,"count":119,"id":1603936800,"close":13241.1,"tradeTurnover":129016.0684,"open":13275.9},{"amount":27.3,"high":13262.5,"vol":27300,"low":13174.6,"count":199,"id":1603940400,"close":13262.5,"tradeTurnover":360589.8982,"open":13237.1},{"amount":18.904,"high":13277.7,"vol":18904,"low":13229.5,"count":109,"id":1603944000,"close":13229.5,"tradeTurnover":250713.2812,"open":13269.1},{"amount":15.822,"high":13274.8,"vol":15822,"low":13228.5,"count":134,"id":1603947600,"close":13274.8,"tradeTurnover":209781.909,"open":13228.5},{"amount":91.246,"high":13323.0,"vol":91246,"low":13242.3,"count":294,"id":1603951200,"close":13255.0,"tradeTurnover":1211271.2788,"open":13274.8},{"amount":187.622,"high":13269.3,"vol":187622,"low":13123.1,"count":506,"id":1603954800,"close":13142.4,"tradeTurnover":2478299.7074,"open":13255.0},{"amount":69.532,"high":13182.4,"vol":69532,"low":13094.1,"count":226,"id":1603958400,"close":13124.8,"tradeTurnover":914157.2418,"open":13145.9},{"amount":23.184,"high":13197.1,"vol":23184,"low":13129.5,"count":141,"id":1603962000,"close":13183.7,"tradeTurnover":305485.9524,"open":13129.5},{"amount":121.146,"high":13187.5,"vol":121146,"low":13053.1,"count":442,"id":1603965600,"close":13105.2,"tradeTurnover":1590026.4416,"open":13184.8},{"amount":47.498,"high":13171.4,"vol":47498,"low":13060.1,"count":262,"id":1603969200,"close":13060.1,"tradeTurnover":623578.149,"open":13105.1},{"amount":126.552,"high":13145.8,"vol":126552,"low":12977.9,"count":481,"id":1603972800,"close":13131.8,"tradeTurnover":1652549.311,"open":13056.9},{"amount":100.482,"high":13237.2,"vol":100482,"low":13102.0,"count":325,"id":1603976400,"close":13230.0,"tradeTurnover":1326403.7206,"open":13131.7},{"amount":253.258,"high":13476.1,"vol":253258,"low":13231.0,"count":752,"id":1603980000,"close":13420.8,"tradeTurnover":3384941.438,"open":13231.0},{"amount":64.71,"high":13458.7,"vol":64710,"low":13358.7,"count":269,"id":1603983600,"close":13420.6,"tradeTurnover":869052.3804,"open":13416.0},{"amount":120.24,"high":13594.5,"vol":120240,"low":13391.8,"count":570,"id":1603987200,"close":13535.9,"tradeTurnover":1626567.8278,"open":13421.9}],"id":"","rep":"market.BTC-USDT.kline.60min","status":"ok"} +2024-01-18 11:13:22.080 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:39] - 请求 KLine 数据用户收到的原始数据:{"id":"","rep":"market.BTC-USDT.kline.60min","ts":1705547600990,"wsid":19750305,"status":"ok","data":[{"id":1603270800,"open":12198.0,"close":12196.7,"high":12300.0,"low":11715.8,"amount":0.276,"vol":276,"trade_turnover":3315.9104,"count":39},{"id":1603274400,"open":12196.7,"close":12277.9,"high":12289.9,"low":12111.0,"amount":0.198,"vol":198,"trade_turnover":2420.7728,"count":21},{"id":1603278000,"open":12111.0,"close":12000.0,"high":12277.9,"low":12000.0,"amount":0.012,"vol":12,"trade_turnover":145.2238,"count":5},{"id":1603281600,"open":12078.0,"close":12497.4,"high":12498.0,"low":12078.0,"amount":0.084,"vol":84,"trade_turnover":1040.0504,"count":12},{"id":1603285200,"open":12495.6,"close":12373.5,"high":12495.6,"low":12282.9,"amount":1.122,"vol":1122,"trade_turnover":13905.3124,"count":112},{"id":1603288800,"open":12412.9,"close":12689.9,"high":12807.6,"low":12358.1,"amount":5.29,"vol":5290,"trade_turnover":66852.128,"count":155},{"id":1603292400,"open":12692.8,"close":12701.9,"high":12778.7,"low":12573.2,"amount":1.174,"vol":1174,"trade_turnover":14907.367,"count":113},{"id":1603296000,"open":12679.7,"close":12835.9,"high":12920.9,"low":12624.8,"amount":1.156,"vol":1156,"trade_turnover":14802.449,"count":115},{"id":1603299600,"open":12848.3,"close":12754.2,"high":12908.3,"low":12687.5,"amount":1.12,"vol":1120,"trade_turnover":14345.7324,"count":115},{"id":1603303200,"open":12743.7,"close":12740.2,"high":12849.0,"low":12668.3,"amount":1.106,"vol":1106,"trade_turnover":14105.3504,"count":114},{"id":1603306800,"open":12729.5,"close":12650.3,"high":12843.1,"low":12597.2,"amount":1.032,"vol":1032,"trade_turnover":13125.4568,"count":112},{"id":1603310400,"open":12666.8,"close":12807.0,"high":12848.4,"low":12610.2,"amount":1.154,"vol":1154,"trade_turnover":14680.638,"count":116},{"id":1603314000,"open":12866.0,"close":12938.9,"high":13005.1,"low":12748.2,"amount":1.164,"vol":1164,"trade_turnover":14976.9366,"count":114},{"id":1603317600,"open":12921.0,"close":13122.0,"high":13211.2,"low":12865.7,"amount":1.174,"vol":1174,"trade_turnover":15285.2446,"count":114},{"id":1603321200,"open":13153.2,"close":12829.8,"high":13173.2,"low":12688.6,"amount":1.172,"vol":1172,"trade_turnover":15060.9938,"count":117},{"id":1603324800,"open":12793.1,"close":12885.9,"high":12988.1,"low":12764.4,"amount":1.17,"vol":1170,"trade_turnover":15046.2046,"count":117},{"id":1603328400,"open":12860.4,"close":12757.5,"high":12972.6,"low":12757.5,"amount":1.158,"vol":1158,"trade_turnover":14882.4656,"count":118},{"id":1603332000,"open":12824.1,"close":12788.8,"high":12848.0,"low":12729.0,"amount":1.124,"vol":1124,"trade_turnover":14368.7948,"count":115},{"id":1603335600,"open":12791.7,"close":12767.2,"high":12834.4,"low":12729.0,"amount":1.194,"vol":1194,"trade_turnover":15268.9298,"count":111},{"id":1603339200,"open":12729.0,"close":12762.2,"high":12778.3,"low":12729.0,"amount":1.152,"vol":1152,"trade_turnover":14695.4876,"count":115},{"id":1603342800,"open":12763.1,"close":12813.8,"high":12842.0,"low":12730.6,"amount":1.21,"vol":1210,"trade_turnover":15440.8162,"count":119},{"id":1603346400,"open":12795.0,"close":12729.1,"high":12795.0,"low":12728.0,"amount":1.188,"vol":1188,"trade_turnover":15128.0098,"count":123},{"id":1603350000,"open":12728.6,"close":12730.6,"high":12730.6,"low":12728.3,"amount":1.266,"vol":1266,"trade_turnover":16115.1306,"count":112},{"id":1603353600,"open":12730.3,"close":12770.1,"high":12921.5,"low":12729.9,"amount":1.35,"vol":1350,"trade_turnover":17233.7326,"count":127},{"id":1603357200,"open":12824.9,"close":12780.4,"high":12872.1,"low":12760.1,"amount":0.98,"vol":980,"trade_turnover":12553.9826,"count":99},{"id":1603360800,"open":12784.9,"close":12934.2,"high":13002.7,"low":12775.6,"amount":0.266,"vol":266,"trade_turnover":3415.023,"count":30},{"id":1603364400,"open":12977.0,"close":13045.0,"high":13057.0,"low":12886.6,"amount":1.004,"vol":1004,"trade_turnover":13020.8576,"count":117},{"id":1603368000,"open":12958.5,"close":12847.9,"high":12973.4,"low":12751.6,"amount":1.134,"vol":1134,"trade_turnover":14594.2752,"count":111},{"id":1603371600,"open":12882.7,"close":12931.0,"high":13000.8,"low":12743.0,"amount":1.152,"vol":1152,"trade_turnover":14877.7314,"count":114},{"id":1603375200,"open":12890.4,"close":12917.8,"high":12995.3,"low":12783.9,"amount":1.182,"vol":1182,"trade_turnover":15224.4716,"count":115},{"id":1603378800,"open":12918.8,"close":12953.0,"high":13031.2,"low":12817.9,"amount":1.176,"vol":1176,"trade_turnover":15197.208,"count":117},{"id":1603382400,"open":12923.1,"close":13055.6,"high":13100.2,"low":12865.6,"amount":1.146,"vol":1146,"trade_turnover":14851.9604,"count":119},{"id":1603386000,"open":12967.6,"close":13082.7,"high":13105.7,"low":12835.5,"amount":1.534,"vol":1534,"trade_turnover":19927.8288,"count":124},{"id":1603389600,"open":13020.4,"close":13016.4,"high":13115.0,"low":12938.7,"amount":1.268,"vol":1268,"trade_turnover":16505.4738,"count":117},{"id":1603393200,"open":13028.3,"close":12970.6,"high":13171.2,"low":12961.8,"amount":1.13,"vol":1130,"trade_turnover":14762.952,"count":112},{"id":1603396800,"open":13016.7,"close":13089.3,"high":13216.1,"low":12998.5,"amount":1.206,"vol":1206,"trade_turnover":15807.1226,"count":117},{"id":1603400400,"open":13136.0,"close":13092.0,"high":13203.7,"low":12932.9,"amount":1.332,"vol":1332,"trade_turnover":17423.4422,"count":114},{"id":1603404000,"open":13119.4,"close":13055.9,"high":13250.5,"low":12984.7,"amount":1.21,"vol":1210,"trade_turnover":15876.0632,"count":114},{"id":1603407600,"open":13059.4,"close":12890.4,"high":13126.5,"low":12857.2,"amount":1.286,"vol":1286,"trade_turnover":16688.422,"count":116},{"id":1603411200,"open":12929.7,"close":12892.2,"high":12994.0,"low":12751.6,"amount":1.502,"vol":1502,"trade_turnover":19331.1596,"count":131},{"id":1603414800,"open":12921.7,"close":12898.3,"high":13003.2,"low":12786.0,"amount":1.386,"vol":1386,"trade_turnover":17904.8902,"count":121},{"id":1603418400,"open":12951.6,"close":12975.1,"high":13054.0,"low":12800.7,"amount":1.416,"vol":1416,"trade_turnover":18306.6204,"count":122},{"id":1603422000,"open":12967.3,"close":12947.0,"high":13030.7,"low":12875.0,"amount":1.19,"vol":1190,"trade_turnover":15409.7984,"count":118},{"id":1603425600,"open":12925.2,"close":12852.0,"high":13047.3,"low":12832.8,"amount":1.022,"vol":1022,"trade_turnover":13214.4388,"count":127},{"id":1603429200,"open":12859.0,"close":12931.1,"high":12991.7,"low":12841.2,"amount":0.478,"vol":478,"trade_turnover":6180.2486,"count":118},{"id":1603432800,"open":12935.9,"close":12939.6,"high":13014.1,"low":12871.9,"amount":0.522,"vol":522,"trade_turnover":6759.0324,"count":132},{"id":1603436400,"open":12923.1,"close":12925.4,"high":12998.9,"low":12917.1,"amount":0.476,"vol":476,"trade_turnover":6163.3118,"count":118},{"id":1603440000,"open":12942.2,"close":12962.6,"high":13014.0,"low":12916.1,"amount":0.508,"vol":508,"trade_turnover":6585.3656,"count":122},{"id":1603443600,"open":12970.5,"close":12926.4,"high":13012.5,"low":12909.9,"amount":0.564,"vol":564,"trade_turnover":7308.8828,"count":124},{"id":1603447200,"open":13001.2,"close":13007.7,"high":13059.5,"low":12925.7,"amount":0.536,"vol":536,"trade_turnover":6957.8796,"count":124},{"id":1603450800,"open":13025.4,"close":12970.6,"high":13078.4,"low":12906.5,"amount":0.486,"vol":486,"trade_turnover":6326.1434,"count":122},{"id":1603454400,"open":12963.9,"close":12935.4,"high":13025.0,"low":12850.8,"amount":0.494,"vol":494,"trade_turnover":6396.0984,"count":117},{"id":1603458000,"open":12913.3,"close":12951.7,"high":13043.3,"low":12911.0,"amount":0.466,"vol":466,"trade_turnover":6049.1412,"count":117},{"id":1603461600,"open":12999.6,"close":12858.8,"high":13006.4,"low":12840.4,"amount":0.46,"vol":460,"trade_turnover":5941.815,"count":116},{"id":1603465200,"open":12885.7,"close":12881.9,"high":12932.9,"low":12826.5,"amount":0.492,"vol":492,"trade_turnover":6340.214,"count":117},{"id":1603468800,"open":12854.4,"close":12784.1,"high":12933.5,"low":12744.4,"amount":0.484,"vol":484,"trade_turnover":6205.4138,"count":123},{"id":1603472400,"open":12832.3,"close":12847.7,"high":12893.1,"low":12730.1,"amount":0.562,"vol":562,"trade_turnover":7218.9184,"count":152},{"id":1603476000,"open":12874.1,"close":12915.7,"high":12939.3,"low":12751.4,"amount":0.53,"vol":530,"trade_turnover":6825.7004,"count":128},{"id":1603479600,"open":12867.9,"close":12972.9,"high":12972.9,"low":12786.6,"amount":0.444,"vol":444,"trade_turnover":5727.7452,"count":117},{"id":1603483200,"open":12956.7,"close":12991.6,"high":13002.2,"low":12842.9,"amount":0.492,"vol":492,"trade_turnover":6375.1566,"count":116},{"id":1603486800,"open":13004.3,"close":12943.5,"high":13004.3,"low":12936.6,"amount":0.5,"vol":500,"trade_turnover":6485.468,"count":125},{"id":1603490400,"open":12923.6,"close":12989.2,"high":13010.3,"low":12884.7,"amount":0.492,"vol":492,"trade_turnover":6376.1492,"count":120},{"id":1603494000,"open":12974.9,"close":12884.6,"high":13024.4,"low":12884.6,"amount":0.51,"vol":510,"trade_turnover":6622.3406,"count":121},{"id":1603497600,"open":12973.7,"close":12953.9,"high":13018.3,"low":12811.1,"amount":0.488,"vol":488,"trade_turnover":6317.7938,"count":120},{"id":1603501200,"open":12927.5,"close":12934.2,"high":13018.1,"low":12872.8,"amount":0.482,"vol":482,"trade_turnover":6242.4178,"count":117},{"id":1603504800,"open":12971.9,"close":12989.1,"high":13003.9,"low":12903.3,"amount":0.484,"vol":484,"trade_turnover":6278.1756,"count":117},{"id":1603508400,"open":13000.1,"close":12975.9,"high":13013.4,"low":12938.3,"amount":0.474,"vol":474,"trade_turnover":6157.7096,"count":122},{"id":1603512000,"open":12989.7,"close":12963.3,"high":13009.4,"low":12905.5,"amount":0.526,"vol":526,"trade_turnover":6831.5658,"count":124},{"id":1603515600,"open":12910.5,"close":12989.7,"high":13041.8,"low":12875.3,"amount":0.522,"vol":522,"trade_turnover":6768.8994,"count":127},{"id":1603519200,"open":12994.7,"close":13003.6,"high":13058.1,"low":12908.8,"amount":0.49,"vol":490,"trade_turnover":6370.5714,"count":120},{"id":1603522800,"open":13011.9,"close":13004.2,"high":13037.8,"low":12981.7,"amount":0.478,"vol":478,"trade_turnover":6218.9722,"count":120},{"id":1603526400,"open":13003.0,"close":12998.2,"high":13030.6,"low":12899.4,"amount":0.52,"vol":520,"trade_turnover":6754.958,"count":124},{"id":1603530000,"open":12998.2,"close":12990.6,"high":13020.3,"low":12893.6,"amount":0.454,"vol":454,"trade_turnover":5891.0574,"count":115},{"id":1603533600,"open":12996.4,"close":13030.1,"high":13059.1,"low":12913.2,"amount":0.502,"vol":502,"trade_turnover":6525.9004,"count":124},{"id":1603537200,"open":12988.4,"close":13033.2,"high":13068.3,"low":12940.2,"amount":0.468,"vol":468,"trade_turnover":6091.0376,"count":119},{"id":1603540800,"open":13035.3,"close":13006.5,"high":13071.8,"low":12978.9,"amount":0.468,"vol":468,"trade_turnover":6102.5902,"count":123},{"id":1603544400,"open":13038.8,"close":12985.9,"high":13066.7,"low":12928.1,"amount":0.534,"vol":534,"trade_turnover":6950.4268,"count":123},{"id":1603548000,"open":12986.3,"close":13042.0,"high":13100.1,"low":12960.5,"amount":0.47,"vol":470,"trade_turnover":6124.2178,"count":100},{"id":1603551600,"open":13038.4,"close":13102.2,"high":13196.5,"low":13038.4,"amount":0.456,"vol":456,"trade_turnover":5989.6362,"count":120},{"id":1603555200,"open":13136.8,"close":13052.7,"high":13176.6,"low":12984.6,"amount":0.458,"vol":458,"trade_turnover":5976.331,"count":121},{"id":1603558800,"open":13006.2,"close":13177.8,"high":13177.8,"low":13003.2,"amount":0.452,"vol":452,"trade_turnover":5911.7058,"count":118},{"id":1603562400,"open":13127.7,"close":13080.8,"high":13170.7,"low":13023.0,"amount":0.468,"vol":468,"trade_turnover":6122.375,"count":119},{"id":1603566000,"open":13040.7,"close":13148.4,"high":13179.3,"low":13014.2,"amount":0.468,"vol":468,"trade_turnover":6126.4278,"count":120},{"id":1603569600,"open":13073.5,"close":13090.1,"high":13179.6,"low":12992.5,"amount":0.47,"vol":470,"trade_turnover":6151.4758,"count":119},{"id":1603573200,"open":13035.4,"close":12993.9,"high":13148.7,"low":12980.7,"amount":0.458,"vol":458,"trade_turnover":5981.071,"count":117},{"id":1603576800,"open":13040.7,"close":13041.1,"high":13112.1,"low":12975.6,"amount":0.478,"vol":478,"trade_turnover":6225.4216,"count":118},{"id":1603580400,"open":13012.6,"close":13184.3,"high":13184.3,"low":13009.3,"amount":0.472,"vol":472,"trade_turnover":6173.4244,"count":118},{"id":1603584000,"open":13080.8,"close":13154.3,"high":13170.4,"low":13007.7,"amount":0.46,"vol":460,"trade_turnover":6024.09,"count":115},{"id":1603587600,"open":13092.0,"close":13196.1,"high":13196.8,"low":13024.0,"amount":0.398,"vol":398,"trade_turnover":5217.5364,"count":102},{"id":1603591200,"open":13124.7,"close":13082.4,"high":13175.1,"low":13035.0,"amount":0.476,"vol":476,"trade_turnover":6228.6596,"count":120},{"id":1603594800,"open":13049.1,"close":13259.0,"high":13383.8,"low":13049.1,"amount":0.578,"vol":578,"trade_turnover":7629.3886,"count":137},{"id":1603598400,"open":13277.0,"close":13243.4,"high":13369.0,"low":13216.0,"amount":0.47,"vol":470,"trade_turnover":6247.955,"count":122},{"id":1603602000,"open":13285.3,"close":13017.3,"high":13353.3,"low":13010.1,"amount":0.61,"vol":610,"trade_turnover":8048.8598,"count":134},{"id":1603605600,"open":13022.5,"close":13060.3,"high":13105.7,"low":13018.2,"amount":0.486,"vol":486,"trade_turnover":6344.1474,"count":118},{"id":1603609200,"open":13048.5,"close":13078.1,"high":13112.1,"low":13022.0,"amount":0.464,"vol":464,"trade_turnover":6061.5416,"count":120},{"id":1603612800,"open":13077.2,"close":13046.0,"high":13091.0,"low":13017.2,"amount":0.464,"vol":464,"trade_turnover":6055.3734,"count":120},{"id":1603616400,"open":13065.1,"close":13040.8,"high":13084.0,"low":13014.2,"amount":0.478,"vol":478,"trade_turnover":6235.7882,"count":117},{"id":1603620000,"open":13047.1,"close":13028.5,"high":13064.2,"low":13010.2,"amount":0.478,"vol":478,"trade_turnover":6232.2428,"count":125},{"id":1603623600,"open":13061.5,"close":12897.6,"high":13061.5,"low":12852.9,"amount":0.534,"vol":534,"trade_turnover":6918.1226,"count":123},{"id":1603627200,"open":12908.3,"close":12964.3,"high":13069.7,"low":12893.2,"amount":0.444,"vol":444,"trade_turnover":5755.8712,"count":117},{"id":1603630800,"open":13001.3,"close":12949.3,"high":13071.9,"low":12891.8,"amount":0.498,"vol":498,"trade_turnover":6465.078,"count":119},{"id":1603634400,"open":12975.8,"close":12946.8,"high":13077.7,"low":12900.0,"amount":0.468,"vol":468,"trade_turnover":6075.4554,"count":116},{"id":1603638000,"open":12975.2,"close":12883.3,"high":13069.1,"low":12883.3,"amount":0.47,"vol":470,"trade_turnover":6097.1072,"count":119},{"id":1603641600,"open":12916.2,"close":12978.7,"high":13067.9,"low":12877.5,"amount":0.482,"vol":482,"trade_turnover":6256.4472,"count":118},{"id":1603645200,"open":13008.0,"close":13004.4,"high":13087.5,"low":12922.7,"amount":0.47,"vol":470,"trade_turnover":6108.3892,"count":117},{"id":1603648800,"open":12972.8,"close":12957.2,"high":13067.6,"low":12893.6,"amount":0.468,"vol":468,"trade_turnover":6079.1484,"count":118},{"id":1603652400,"open":12996.5,"close":13021.8,"high":13066.9,"low":12916.6,"amount":0.442,"vol":442,"trade_turnover":5746.5548,"count":118},{"id":1603656000,"open":12992.9,"close":12985.4,"high":13081.5,"low":12944.9,"amount":0.508,"vol":508,"trade_turnover":6616.9872,"count":120},{"id":1603659600,"open":12999.9,"close":13011.2,"high":13068.6,"low":12921.4,"amount":0.508,"vol":508,"trade_turnover":6614.816,"count":122},{"id":1603663200,"open":12979.6,"close":12959.4,"high":13073.8,"low":12911.9,"amount":0.486,"vol":486,"trade_turnover":6320.907,"count":121},{"id":1603666800,"open":12963.4,"close":13032.1,"high":13085.2,"low":12927.8,"amount":0.452,"vol":452,"trade_turnover":5878.6442,"count":113},{"id":1603670400,"open":12964.2,"close":13001.0,"high":13076.7,"low":12918.3,"amount":0.482,"vol":482,"trade_turnover":6263.698,"count":121},{"id":1603674000,"open":13040.0,"close":13053.7,"high":13096.4,"low":12991.2,"amount":0.478,"vol":478,"trade_turnover":6232.2328,"count":124},{"id":1603677600,"open":13060.6,"close":13064.4,"high":13185.7,"low":12985.1,"amount":0.488,"vol":488,"trade_turnover":6387.534,"count":121},{"id":1603681200,"open":13032.3,"close":13092.8,"high":13187.2,"low":12984.1,"amount":0.486,"vol":486,"trade_turnover":6369.0272,"count":135},{"id":1603684800,"open":13092.0,"close":13132.6,"high":13181.6,"low":12962.3,"amount":0.51,"vol":510,"trade_turnover":6679.829,"count":131},{"id":1603688400,"open":13129.2,"close":13092.1,"high":13205.3,"low":13025.3,"amount":0.506,"vol":506,"trade_turnover":6641.2128,"count":126},{"id":1603692000,"open":13121.8,"close":13071.4,"high":13188.1,"low":12989.8,"amount":1.616,"vol":1616,"trade_turnover":21170.8224,"count":141},{"id":1603695600,"open":13061.0,"close":13038.7,"high":13100.0,"low":12965.2,"amount":3.746,"vol":3746,"trade_turnover":48924.8902,"count":110},{"id":1603699200,"open":13030.9,"close":13039.3,"high":13102.0,"low":12852.8,"amount":8.966,"vol":8966,"trade_turnover":116525.5534,"count":173},{"id":1603702800,"open":13047.1,"close":13075.9,"high":13088.4,"low":13039.8,"amount":4.48,"vol":4480,"trade_turnover":58521.1714,"count":124},{"id":1603706400,"open":13072.1,"close":13100.0,"high":13100.0,"low":13060.2,"amount":4.272,"vol":4272,"trade_turnover":55895.9778,"count":130},{"id":1603710000,"open":13100.0,"close":13138.4,"high":13159.0,"low":13100.0,"amount":29.798,"vol":29798,"trade_turnover":391138.024,"count":230},{"id":1603713600,"open":13138.8,"close":13149.8,"high":13200.0,"low":13100.0,"amount":5.154,"vol":5154,"trade_turnover":67694.652,"count":188},{"id":1603717200,"open":13150.0,"close":13205.8,"high":13351.5,"low":13133.1,"amount":35.608,"vol":35608,"trade_turnover":472780.3394,"count":328},{"id":1603720800,"open":13203.0,"close":13166.1,"high":13280.0,"low":13144.1,"amount":31.748,"vol":31748,"trade_turnover":418744.5588,"count":235},{"id":1603724400,"open":13159.0,"close":12978.0,"high":13165.2,"low":12903.8,"amount":36.53,"vol":36530,"trade_turnover":476940.3296,"count":384},{"id":1603728000,"open":12965.0,"close":12869.6,"high":13069.8,"low":12850.5,"amount":35.018,"vol":35018,"trade_turnover":453288.918,"count":323},{"id":1603731600,"open":12879.2,"close":12873.8,"high":12941.5,"low":12583.9,"amount":92.628,"vol":92628,"trade_turnover":1185973.467,"count":560},{"id":1603735200,"open":12856.2,"close":12946.8,"high":12954.5,"low":12820.4,"amount":4.302,"vol":4302,"trade_turnover":55481.0054,"count":128},{"id":1603738800,"open":12945.6,"close":12953.4,"high":12953.5,"low":12914.1,"amount":13.83,"vol":13830,"trade_turnover":179112.1598,"count":118},{"id":1603742400,"open":12953.5,"close":12983.4,"high":13007.5,"low":12953.5,"amount":17.172,"vol":17172,"trade_turnover":223230.2122,"count":132},{"id":1603746000,"open":12983.1,"close":12993.8,"high":13007.5,"low":12982.7,"amount":3.212,"vol":3212,"trade_turnover":41767.8906,"count":59},{"id":1603749600,"open":13002.1,"close":13007.5,"high":13007.5,"low":12974.0,"amount":1.504,"vol":1504,"trade_turnover":19543.3568,"count":74},{"id":1603753200,"open":13007.5,"close":13033.7,"high":13061.2,"low":13007.5,"amount":3.454,"vol":3454,"trade_turnover":45001.601,"count":101},{"id":1603756800,"open":13029.2,"close":13067.1,"high":13105.0,"low":13028.3,"amount":8.784,"vol":8784,"trade_turnover":114871.8246,"count":98},{"id":1603760400,"open":13074.3,"close":13061.7,"high":13074.4,"low":13051.5,"amount":11.592,"vol":11592,"trade_turnover":151386.9038,"count":66},{"id":1603764000,"open":13061.7,"close":13049.7,"high":13097.6,"low":13040.1,"amount":19.298,"vol":19298,"trade_turnover":252061.019,"count":109},{"id":1603767600,"open":13057.6,"close":13070.4,"high":13080.0,"low":13057.1,"amount":22.992,"vol":22992,"trade_turnover":300453.9788,"count":69},{"id":1603771200,"open":13080.0,"close":13103.3,"high":13175.0,"low":13079.6,"amount":14.396,"vol":14396,"trade_turnover":188461.9156,"count":59},{"id":1603774800,"open":13121.3,"close":13073.6,"high":13121.3,"low":13069.7,"amount":5.058,"vol":5058,"trade_turnover":66201.3552,"count":44},{"id":1603778400,"open":13074.9,"close":13103.4,"high":13149.0,"low":13069.6,"amount":9.106,"vol":9106,"trade_turnover":119104.8906,"count":107},{"id":1603782000,"open":13103.3,"close":13130.0,"high":13169.8,"low":12992.4,"amount":73.95,"vol":73950,"trade_turnover":968195.155,"count":305},{"id":1603785600,"open":13135.1,"close":13123.8,"high":13148.4,"low":13044.0,"amount":18.732,"vol":18732,"trade_turnover":245533.5448,"count":135},{"id":1603789200,"open":13115.5,"close":13131.7,"high":13131.8,"low":13075.7,"amount":13.756,"vol":13756,"trade_turnover":180253.7708,"count":102},{"id":1603792800,"open":13134.8,"close":13216.9,"high":13252.0,"low":13063.4,"amount":154.108,"vol":154108,"trade_turnover":2029983.656,"count":525},{"id":1603796400,"open":13218.8,"close":13395.8,"high":13590.1,"low":13213.5,"amount":170.09,"vol":170090,"trade_turnover":2276279.742,"count":591},{"id":1603800000,"open":13395.9,"close":13376.9,"high":13414.0,"low":13331.7,"amount":48.928,"vol":48928,"trade_turnover":654585.9108,"count":216},{"id":1603803600,"open":13376.5,"close":13384.3,"high":13490.9,"low":13329.8,"amount":63.294,"vol":63294,"trade_turnover":848130.9212,"count":316},{"id":1603807200,"open":13392.6,"close":13398.2,"high":13415.8,"low":13344.8,"amount":12.892,"vol":12892,"trade_turnover":172618.6864,"count":124},{"id":1603810800,"open":13398.2,"close":13598.5,"high":13626.7,"low":13398.2,"amount":93.22,"vol":93220,"trade_turnover":1262695.5466,"count":476},{"id":1603814400,"open":13595.8,"close":13639.9,"high":13639.9,"low":13520.2,"amount":85.45,"vol":85450,"trade_turnover":1161481.4136,"count":435},{"id":1603818000,"open":13640.0,"close":13688.1,"high":13826.7,"low":13589.0,"amount":191.812,"vol":191812,"trade_turnover":2628428.3788,"count":711},{"id":1603821600,"open":13685.0,"close":13630.1,"high":13745.0,"low":13528.2,"amount":65.434,"vol":65434,"trade_turnover":891541.8394,"count":410},{"id":1603825200,"open":13629.4,"close":13637.1,"high":13659.8,"low":13595.4,"amount":5.788,"vol":5788,"trade_turnover":78836.2578,"count":65},{"id":1603828800,"open":13644.4,"close":13616.6,"high":13805.1,"low":13582.6,"amount":163.104,"vol":163104,"trade_turnover":2234040.3544,"count":537},{"id":1603832400,"open":13609.8,"close":13705.5,"high":13753.5,"low":13609.8,"amount":9.884,"vol":9884,"trade_turnover":135406.4752,"count":101},{"id":1603836000,"open":13705.4,"close":13739.9,"high":13739.9,"low":13658.2,"amount":7.436,"vol":7436,"trade_turnover":101840.3508,"count":100},{"id":1603839600,"open":13739.9,"close":13649.6,"high":13794.6,"low":13582.6,"amount":17.086,"vol":17086,"trade_turnover":233971.8448,"count":234},{"id":1603843200,"open":13645.9,"close":13701.7,"high":13745.2,"low":13618.8,"amount":24.108,"vol":24108,"trade_turnover":330206.5694,"count":177},{"id":1603846800,"open":13702.1,"close":13702.6,"high":13725.6,"low":13647.9,"amount":15.892,"vol":15892,"trade_turnover":217816.7008,"count":151},{"id":1603850400,"open":13701.7,"close":13811.6,"high":13832.2,"low":13680.2,"amount":46.548,"vol":46548,"trade_turnover":640636.0352,"count":274},{"id":1603854000,"open":13818.5,"close":13777.0,"high":13820.3,"low":13717.5,"amount":67.896,"vol":67896,"trade_turnover":935838.2238,"count":320},{"id":1603857600,"open":13767.3,"close":13735.7,"high":13807.2,"low":13710.0,"amount":33.156,"vol":33156,"trade_turnover":455941.234,"count":210},{"id":1603861200,"open":13735.5,"close":13715.8,"high":13753.9,"low":13671.3,"amount":32.076,"vol":32076,"trade_turnover":439612.64,"count":198},{"id":1603864800,"open":13715.9,"close":13701.3,"high":13757.0,"low":13694.9,"amount":14.756,"vol":14756,"trade_turnover":202602.5164,"count":122},{"id":1603868400,"open":13701.2,"close":13674.2,"high":13708.7,"low":13550.0,"amount":155.534,"vol":155534,"trade_turnover":2117935.0928,"count":635},{"id":1603872000,"open":13673.0,"close":13691.7,"high":13691.7,"low":13584.0,"amount":29.846,"vol":29846,"trade_turnover":407073.1398,"count":240},{"id":1603875600,"open":13689.3,"close":13587.1,"high":13707.5,"low":13573.5,"amount":104.542,"vol":104542,"trade_turnover":1425079.9344,"count":377},{"id":1603879200,"open":13584.6,"close":13552.7,"high":13618.0,"low":13504.7,"amount":73.818,"vol":73818,"trade_turnover":1001666.0908,"count":358},{"id":1603882800,"open":13552.6,"close":13336.4,"high":13565.4,"low":13330.0,"amount":176.544,"vol":176544,"trade_turnover":2369166.1492,"count":1004},{"id":1603886400,"open":13331.5,"close":13300.3,"high":13385.0,"low":13173.9,"amount":289.73,"vol":289730,"trade_turnover":3846751.7166,"count":968},{"id":1603890000,"open":13300.2,"close":13129.9,"high":13340.0,"low":13122.9,"amount":139.822,"vol":139822,"trade_turnover":1848876.932,"count":612},{"id":1603893600,"open":13123.4,"close":13082.2,"high":13168.2,"low":12915.9,"amount":367.876,"vol":367876,"trade_turnover":4802516.9818,"count":1168},{"id":1603897200,"open":13077.1,"close":13221.2,"high":13235.2,"low":13052.3,"amount":84.044,"vol":84044,"trade_turnover":1106883.1282,"count":375},{"id":1603900800,"open":13218.7,"close":13145.1,"high":13218.7,"low":13050.0,"amount":29.566,"vol":29566,"trade_turnover":388697.4104,"count":244},{"id":1603904400,"open":13145.1,"close":13176.7,"high":13204.9,"low":13006.6,"amount":53.336,"vol":53336,"trade_turnover":700385.2784,"count":299},{"id":1603908000,"open":13171.0,"close":13196.5,"high":13219.6,"low":13131.0,"amount":34.164,"vol":34164,"trade_turnover":450210.5778,"count":218},{"id":1603911600,"open":13200.0,"close":13154.9,"high":13237.4,"low":13145.0,"amount":22.158,"vol":22158,"trade_turnover":292020.0438,"count":185},{"id":1603915200,"open":13154.5,"close":13198.1,"high":13211.8,"low":13147.4,"amount":4.548,"vol":4548,"trade_turnover":59991.1118,"count":75},{"id":1603918800,"open":13193.5,"close":13190.1,"high":13196.5,"low":13100.2,"amount":3.52,"vol":3520,"trade_turnover":46175.428,"count":68},{"id":1603922400,"open":13185.4,"close":13252.0,"high":13267.5,"low":13185.4,"amount":3.122,"vol":3122,"trade_turnover":41304.2018,"count":72},{"id":1603926000,"open":13242.1,"close":13265.9,"high":13282.3,"low":13235.9,"amount":14.768,"vol":14768,"trade_turnover":195689.0764,"count":86},{"id":1603929600,"open":13253.9,"close":13245.1,"high":13294.7,"low":13237.4,"amount":19.968,"vol":19968,"trade_turnover":264834.1944,"count":98},{"id":1603933200,"open":13244.6,"close":13274.2,"high":13285.3,"low":13166.3,"amount":35.282,"vol":35282,"trade_turnover":465789.6302,"count":192},{"id":1603936800,"open":13275.9,"close":13241.1,"high":13277.7,"low":13212.2,"amount":9.748,"vol":9748,"trade_turnover":129016.0684,"count":119},{"id":1603940400,"open":13237.1,"close":13262.5,"high":13262.5,"low":13174.6,"amount":27.3,"vol":27300,"trade_turnover":360589.8982,"count":199},{"id":1603944000,"open":13269.1,"close":13229.5,"high":13277.7,"low":13229.5,"amount":18.904,"vol":18904,"trade_turnover":250713.2812,"count":109},{"id":1603947600,"open":13228.5,"close":13274.8,"high":13274.8,"low":13228.5,"amount":15.822,"vol":15822,"trade_turnover":209781.909,"count":134},{"id":1603951200,"open":13274.8,"close":13255.0,"high":13323.0,"low":13242.3,"amount":91.246,"vol":91246,"trade_turnover":1211271.2788,"count":294},{"id":1603954800,"open":13255.0,"close":13142.4,"high":13269.3,"low":13123.1,"amount":187.622,"vol":187622,"trade_turnover":2478299.7074,"count":506},{"id":1603958400,"open":13145.9,"close":13124.8,"high":13182.4,"low":13094.1,"amount":69.532,"vol":69532,"trade_turnover":914157.2418,"count":226},{"id":1603962000,"open":13129.5,"close":13183.7,"high":13197.1,"low":13129.5,"amount":23.184,"vol":23184,"trade_turnover":305485.9524,"count":141},{"id":1603965600,"open":13184.8,"close":13105.2,"high":13187.5,"low":13053.1,"amount":121.146,"vol":121146,"trade_turnover":1590026.4416,"count":442},{"id":1603969200,"open":13105.1,"close":13060.1,"high":13171.4,"low":13060.1,"amount":47.498,"vol":47498,"trade_turnover":623578.149,"count":262},{"id":1603972800,"open":13056.9,"close":13131.8,"high":13145.8,"low":12977.9,"amount":126.552,"vol":126552,"trade_turnover":1652549.311,"count":481},{"id":1603976400,"open":13131.7,"close":13230.0,"high":13237.2,"low":13102.0,"amount":100.482,"vol":100482,"trade_turnover":1326403.7206,"count":325},{"id":1603980000,"open":13231.0,"close":13420.8,"high":13476.1,"low":13231.0,"amount":253.258,"vol":253258,"trade_turnover":3384941.438,"count":752},{"id":1603983600,"open":13416.0,"close":13420.6,"high":13458.7,"low":13358.7,"amount":64.71,"vol":64710,"trade_turnover":869052.3804,"count":269},{"id":1603987200,"open":13421.9,"close":13535.9,"high":13594.5,"low":13391.8,"amount":120.24,"vol":120240,"trade_turnover":1626567.8278,"count":570}]} +2024-01-18 11:13:22.082 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:41] - 请求 KLine 数据解析之后的数据为:{"wsid":19750305,"data":[{"amount":0.276,"high":12300.0,"vol":276,"low":11715.8,"count":39,"id":1603270800,"close":12196.7,"tradeTurnover":3315.9104,"open":12198.0},{"amount":0.198,"high":12289.9,"vol":198,"low":12111.0,"count":21,"id":1603274400,"close":12277.9,"tradeTurnover":2420.7728,"open":12196.7},{"amount":0.012,"high":12277.9,"vol":12,"low":12000.0,"count":5,"id":1603278000,"close":12000.0,"tradeTurnover":145.2238,"open":12111.0},{"amount":0.084,"high":12498.0,"vol":84,"low":12078.0,"count":12,"id":1603281600,"close":12497.4,"tradeTurnover":1040.0504,"open":12078.0},{"amount":1.122,"high":12495.6,"vol":1122,"low":12282.9,"count":112,"id":1603285200,"close":12373.5,"tradeTurnover":13905.3124,"open":12495.6},{"amount":5.29,"high":12807.6,"vol":5290,"low":12358.1,"count":155,"id":1603288800,"close":12689.9,"tradeTurnover":66852.128,"open":12412.9},{"amount":1.174,"high":12778.7,"vol":1174,"low":12573.2,"count":113,"id":1603292400,"close":12701.9,"tradeTurnover":14907.367,"open":12692.8},{"amount":1.156,"high":12920.9,"vol":1156,"low":12624.8,"count":115,"id":1603296000,"close":12835.9,"tradeTurnover":14802.449,"open":12679.7},{"amount":1.12,"high":12908.3,"vol":1120,"low":12687.5,"count":115,"id":1603299600,"close":12754.2,"tradeTurnover":14345.7324,"open":12848.3},{"amount":1.106,"high":12849.0,"vol":1106,"low":12668.3,"count":114,"id":1603303200,"close":12740.2,"tradeTurnover":14105.3504,"open":12743.7},{"amount":1.032,"high":12843.1,"vol":1032,"low":12597.2,"count":112,"id":1603306800,"close":12650.3,"tradeTurnover":13125.4568,"open":12729.5},{"amount":1.154,"high":12848.4,"vol":1154,"low":12610.2,"count":116,"id":1603310400,"close":12807.0,"tradeTurnover":14680.638,"open":12666.8},{"amount":1.164,"high":13005.1,"vol":1164,"low":12748.2,"count":114,"id":1603314000,"close":12938.9,"tradeTurnover":14976.9366,"open":12866.0},{"amount":1.174,"high":13211.2,"vol":1174,"low":12865.7,"count":114,"id":1603317600,"close":13122.0,"tradeTurnover":15285.2446,"open":12921.0},{"amount":1.172,"high":13173.2,"vol":1172,"low":12688.6,"count":117,"id":1603321200,"close":12829.8,"tradeTurnover":15060.9938,"open":13153.2},{"amount":1.17,"high":12988.1,"vol":1170,"low":12764.4,"count":117,"id":1603324800,"close":12885.9,"tradeTurnover":15046.2046,"open":12793.1},{"amount":1.158,"high":12972.6,"vol":1158,"low":12757.5,"count":118,"id":1603328400,"close":12757.5,"tradeTurnover":14882.4656,"open":12860.4},{"amount":1.124,"high":12848.0,"vol":1124,"low":12729.0,"count":115,"id":1603332000,"close":12788.8,"tradeTurnover":14368.7948,"open":12824.1},{"amount":1.194,"high":12834.4,"vol":1194,"low":12729.0,"count":111,"id":1603335600,"close":12767.2,"tradeTurnover":15268.9298,"open":12791.7},{"amount":1.152,"high":12778.3,"vol":1152,"low":12729.0,"count":115,"id":1603339200,"close":12762.2,"tradeTurnover":14695.4876,"open":12729.0},{"amount":1.21,"high":12842.0,"vol":1210,"low":12730.6,"count":119,"id":1603342800,"close":12813.8,"tradeTurnover":15440.8162,"open":12763.1},{"amount":1.188,"high":12795.0,"vol":1188,"low":12728.0,"count":123,"id":1603346400,"close":12729.1,"tradeTurnover":15128.0098,"open":12795.0},{"amount":1.266,"high":12730.6,"vol":1266,"low":12728.3,"count":112,"id":1603350000,"close":12730.6,"tradeTurnover":16115.1306,"open":12728.6},{"amount":1.35,"high":12921.5,"vol":1350,"low":12729.9,"count":127,"id":1603353600,"close":12770.1,"tradeTurnover":17233.7326,"open":12730.3},{"amount":0.98,"high":12872.1,"vol":980,"low":12760.1,"count":99,"id":1603357200,"close":12780.4,"tradeTurnover":12553.9826,"open":12824.9},{"amount":0.266,"high":13002.7,"vol":266,"low":12775.6,"count":30,"id":1603360800,"close":12934.2,"tradeTurnover":3415.023,"open":12784.9},{"amount":1.004,"high":13057.0,"vol":1004,"low":12886.6,"count":117,"id":1603364400,"close":13045.0,"tradeTurnover":13020.8576,"open":12977.0},{"amount":1.134,"high":12973.4,"vol":1134,"low":12751.6,"count":111,"id":1603368000,"close":12847.9,"tradeTurnover":14594.2752,"open":12958.5},{"amount":1.152,"high":13000.8,"vol":1152,"low":12743.0,"count":114,"id":1603371600,"close":12931.0,"tradeTurnover":14877.7314,"open":12882.7},{"amount":1.182,"high":12995.3,"vol":1182,"low":12783.9,"count":115,"id":1603375200,"close":12917.8,"tradeTurnover":15224.4716,"open":12890.4},{"amount":1.176,"high":13031.2,"vol":1176,"low":12817.9,"count":117,"id":1603378800,"close":12953.0,"tradeTurnover":15197.208,"open":12918.8},{"amount":1.146,"high":13100.2,"vol":1146,"low":12865.6,"count":119,"id":1603382400,"close":13055.6,"tradeTurnover":14851.9604,"open":12923.1},{"amount":1.534,"high":13105.7,"vol":1534,"low":12835.5,"count":124,"id":1603386000,"close":13082.7,"tradeTurnover":19927.8288,"open":12967.6},{"amount":1.268,"high":13115.0,"vol":1268,"low":12938.7,"count":117,"id":1603389600,"close":13016.4,"tradeTurnover":16505.4738,"open":13020.4},{"amount":1.13,"high":13171.2,"vol":1130,"low":12961.8,"count":112,"id":1603393200,"close":12970.6,"tradeTurnover":14762.952,"open":13028.3},{"amount":1.206,"high":13216.1,"vol":1206,"low":12998.5,"count":117,"id":1603396800,"close":13089.3,"tradeTurnover":15807.1226,"open":13016.7},{"amount":1.332,"high":13203.7,"vol":1332,"low":12932.9,"count":114,"id":1603400400,"close":13092.0,"tradeTurnover":17423.4422,"open":13136.0},{"amount":1.21,"high":13250.5,"vol":1210,"low":12984.7,"count":114,"id":1603404000,"close":13055.9,"tradeTurnover":15876.0632,"open":13119.4},{"amount":1.286,"high":13126.5,"vol":1286,"low":12857.2,"count":116,"id":1603407600,"close":12890.4,"tradeTurnover":16688.422,"open":13059.4},{"amount":1.502,"high":12994.0,"vol":1502,"low":12751.6,"count":131,"id":1603411200,"close":12892.2,"tradeTurnover":19331.1596,"open":12929.7},{"amount":1.386,"high":13003.2,"vol":1386,"low":12786.0,"count":121,"id":1603414800,"close":12898.3,"tradeTurnover":17904.8902,"open":12921.7},{"amount":1.416,"high":13054.0,"vol":1416,"low":12800.7,"count":122,"id":1603418400,"close":12975.1,"tradeTurnover":18306.6204,"open":12951.6},{"amount":1.19,"high":13030.7,"vol":1190,"low":12875.0,"count":118,"id":1603422000,"close":12947.0,"tradeTurnover":15409.7984,"open":12967.3},{"amount":1.022,"high":13047.3,"vol":1022,"low":12832.8,"count":127,"id":1603425600,"close":12852.0,"tradeTurnover":13214.4388,"open":12925.2},{"amount":0.478,"high":12991.7,"vol":478,"low":12841.2,"count":118,"id":1603429200,"close":12931.1,"tradeTurnover":6180.2486,"open":12859.0},{"amount":0.522,"high":13014.1,"vol":522,"low":12871.9,"count":132,"id":1603432800,"close":12939.6,"tradeTurnover":6759.0324,"open":12935.9},{"amount":0.476,"high":12998.9,"vol":476,"low":12917.1,"count":118,"id":1603436400,"close":12925.4,"tradeTurnover":6163.3118,"open":12923.1},{"amount":0.508,"high":13014.0,"vol":508,"low":12916.1,"count":122,"id":1603440000,"close":12962.6,"tradeTurnover":6585.3656,"open":12942.2},{"amount":0.564,"high":13012.5,"vol":564,"low":12909.9,"count":124,"id":1603443600,"close":12926.4,"tradeTurnover":7308.8828,"open":12970.5},{"amount":0.536,"high":13059.5,"vol":536,"low":12925.7,"count":124,"id":1603447200,"close":13007.7,"tradeTurnover":6957.8796,"open":13001.2},{"amount":0.486,"high":13078.4,"vol":486,"low":12906.5,"count":122,"id":1603450800,"close":12970.6,"tradeTurnover":6326.1434,"open":13025.4},{"amount":0.494,"high":13025.0,"vol":494,"low":12850.8,"count":117,"id":1603454400,"close":12935.4,"tradeTurnover":6396.0984,"open":12963.9},{"amount":0.466,"high":13043.3,"vol":466,"low":12911.0,"count":117,"id":1603458000,"close":12951.7,"tradeTurnover":6049.1412,"open":12913.3},{"amount":0.46,"high":13006.4,"vol":460,"low":12840.4,"count":116,"id":1603461600,"close":12858.8,"tradeTurnover":5941.815,"open":12999.6},{"amount":0.492,"high":12932.9,"vol":492,"low":12826.5,"count":117,"id":1603465200,"close":12881.9,"tradeTurnover":6340.214,"open":12885.7},{"amount":0.484,"high":12933.5,"vol":484,"low":12744.4,"count":123,"id":1603468800,"close":12784.1,"tradeTurnover":6205.4138,"open":12854.4},{"amount":0.562,"high":12893.1,"vol":562,"low":12730.1,"count":152,"id":1603472400,"close":12847.7,"tradeTurnover":7218.9184,"open":12832.3},{"amount":0.53,"high":12939.3,"vol":530,"low":12751.4,"count":128,"id":1603476000,"close":12915.7,"tradeTurnover":6825.7004,"open":12874.1},{"amount":0.444,"high":12972.9,"vol":444,"low":12786.6,"count":117,"id":1603479600,"close":12972.9,"tradeTurnover":5727.7452,"open":12867.9},{"amount":0.492,"high":13002.2,"vol":492,"low":12842.9,"count":116,"id":1603483200,"close":12991.6,"tradeTurnover":6375.1566,"open":12956.7},{"amount":0.5,"high":13004.3,"vol":500,"low":12936.6,"count":125,"id":1603486800,"close":12943.5,"tradeTurnover":6485.468,"open":13004.3},{"amount":0.492,"high":13010.3,"vol":492,"low":12884.7,"count":120,"id":1603490400,"close":12989.2,"tradeTurnover":6376.1492,"open":12923.6},{"amount":0.51,"high":13024.4,"vol":510,"low":12884.6,"count":121,"id":1603494000,"close":12884.6,"tradeTurnover":6622.3406,"open":12974.9},{"amount":0.488,"high":13018.3,"vol":488,"low":12811.1,"count":120,"id":1603497600,"close":12953.9,"tradeTurnover":6317.7938,"open":12973.7},{"amount":0.482,"high":13018.1,"vol":482,"low":12872.8,"count":117,"id":1603501200,"close":12934.2,"tradeTurnover":6242.4178,"open":12927.5},{"amount":0.484,"high":13003.9,"vol":484,"low":12903.3,"count":117,"id":1603504800,"close":12989.1,"tradeTurnover":6278.1756,"open":12971.9},{"amount":0.474,"high":13013.4,"vol":474,"low":12938.3,"count":122,"id":1603508400,"close":12975.9,"tradeTurnover":6157.7096,"open":13000.1},{"amount":0.526,"high":13009.4,"vol":526,"low":12905.5,"count":124,"id":1603512000,"close":12963.3,"tradeTurnover":6831.5658,"open":12989.7},{"amount":0.522,"high":13041.8,"vol":522,"low":12875.3,"count":127,"id":1603515600,"close":12989.7,"tradeTurnover":6768.8994,"open":12910.5},{"amount":0.49,"high":13058.1,"vol":490,"low":12908.8,"count":120,"id":1603519200,"close":13003.6,"tradeTurnover":6370.5714,"open":12994.7},{"amount":0.478,"high":13037.8,"vol":478,"low":12981.7,"count":120,"id":1603522800,"close":13004.2,"tradeTurnover":6218.9722,"open":13011.9},{"amount":0.52,"high":13030.6,"vol":520,"low":12899.4,"count":124,"id":1603526400,"close":12998.2,"tradeTurnover":6754.958,"open":13003.0},{"amount":0.454,"high":13020.3,"vol":454,"low":12893.6,"count":115,"id":1603530000,"close":12990.6,"tradeTurnover":5891.0574,"open":12998.2},{"amount":0.502,"high":13059.1,"vol":502,"low":12913.2,"count":124,"id":1603533600,"close":13030.1,"tradeTurnover":6525.9004,"open":12996.4},{"amount":0.468,"high":13068.3,"vol":468,"low":12940.2,"count":119,"id":1603537200,"close":13033.2,"tradeTurnover":6091.0376,"open":12988.4},{"amount":0.468,"high":13071.8,"vol":468,"low":12978.9,"count":123,"id":1603540800,"close":13006.5,"tradeTurnover":6102.5902,"open":13035.3},{"amount":0.534,"high":13066.7,"vol":534,"low":12928.1,"count":123,"id":1603544400,"close":12985.9,"tradeTurnover":6950.4268,"open":13038.8},{"amount":0.47,"high":13100.1,"vol":470,"low":12960.5,"count":100,"id":1603548000,"close":13042.0,"tradeTurnover":6124.2178,"open":12986.3},{"amount":0.456,"high":13196.5,"vol":456,"low":13038.4,"count":120,"id":1603551600,"close":13102.2,"tradeTurnover":5989.6362,"open":13038.4},{"amount":0.458,"high":13176.6,"vol":458,"low":12984.6,"count":121,"id":1603555200,"close":13052.7,"tradeTurnover":5976.331,"open":13136.8},{"amount":0.452,"high":13177.8,"vol":452,"low":13003.2,"count":118,"id":1603558800,"close":13177.8,"tradeTurnover":5911.7058,"open":13006.2},{"amount":0.468,"high":13170.7,"vol":468,"low":13023.0,"count":119,"id":1603562400,"close":13080.8,"tradeTurnover":6122.375,"open":13127.7},{"amount":0.468,"high":13179.3,"vol":468,"low":13014.2,"count":120,"id":1603566000,"close":13148.4,"tradeTurnover":6126.4278,"open":13040.7},{"amount":0.47,"high":13179.6,"vol":470,"low":12992.5,"count":119,"id":1603569600,"close":13090.1,"tradeTurnover":6151.4758,"open":13073.5},{"amount":0.458,"high":13148.7,"vol":458,"low":12980.7,"count":117,"id":1603573200,"close":12993.9,"tradeTurnover":5981.071,"open":13035.4},{"amount":0.478,"high":13112.1,"vol":478,"low":12975.6,"count":118,"id":1603576800,"close":13041.1,"tradeTurnover":6225.4216,"open":13040.7},{"amount":0.472,"high":13184.3,"vol":472,"low":13009.3,"count":118,"id":1603580400,"close":13184.3,"tradeTurnover":6173.4244,"open":13012.6},{"amount":0.46,"high":13170.4,"vol":460,"low":13007.7,"count":115,"id":1603584000,"close":13154.3,"tradeTurnover":6024.09,"open":13080.8},{"amount":0.398,"high":13196.8,"vol":398,"low":13024.0,"count":102,"id":1603587600,"close":13196.1,"tradeTurnover":5217.5364,"open":13092.0},{"amount":0.476,"high":13175.1,"vol":476,"low":13035.0,"count":120,"id":1603591200,"close":13082.4,"tradeTurnover":6228.6596,"open":13124.7},{"amount":0.578,"high":13383.8,"vol":578,"low":13049.1,"count":137,"id":1603594800,"close":13259.0,"tradeTurnover":7629.3886,"open":13049.1},{"amount":0.47,"high":13369.0,"vol":470,"low":13216.0,"count":122,"id":1603598400,"close":13243.4,"tradeTurnover":6247.955,"open":13277.0},{"amount":0.61,"high":13353.3,"vol":610,"low":13010.1,"count":134,"id":1603602000,"close":13017.3,"tradeTurnover":8048.8598,"open":13285.3},{"amount":0.486,"high":13105.7,"vol":486,"low":13018.2,"count":118,"id":1603605600,"close":13060.3,"tradeTurnover":6344.1474,"open":13022.5},{"amount":0.464,"high":13112.1,"vol":464,"low":13022.0,"count":120,"id":1603609200,"close":13078.1,"tradeTurnover":6061.5416,"open":13048.5},{"amount":0.464,"high":13091.0,"vol":464,"low":13017.2,"count":120,"id":1603612800,"close":13046.0,"tradeTurnover":6055.3734,"open":13077.2},{"amount":0.478,"high":13084.0,"vol":478,"low":13014.2,"count":117,"id":1603616400,"close":13040.8,"tradeTurnover":6235.7882,"open":13065.1},{"amount":0.478,"high":13064.2,"vol":478,"low":13010.2,"count":125,"id":1603620000,"close":13028.5,"tradeTurnover":6232.2428,"open":13047.1},{"amount":0.534,"high":13061.5,"vol":534,"low":12852.9,"count":123,"id":1603623600,"close":12897.6,"tradeTurnover":6918.1226,"open":13061.5},{"amount":0.444,"high":13069.7,"vol":444,"low":12893.2,"count":117,"id":1603627200,"close":12964.3,"tradeTurnover":5755.8712,"open":12908.3},{"amount":0.498,"high":13071.9,"vol":498,"low":12891.8,"count":119,"id":1603630800,"close":12949.3,"tradeTurnover":6465.078,"open":13001.3},{"amount":0.468,"high":13077.7,"vol":468,"low":12900.0,"count":116,"id":1603634400,"close":12946.8,"tradeTurnover":6075.4554,"open":12975.8},{"amount":0.47,"high":13069.1,"vol":470,"low":12883.3,"count":119,"id":1603638000,"close":12883.3,"tradeTurnover":6097.1072,"open":12975.2},{"amount":0.482,"high":13067.9,"vol":482,"low":12877.5,"count":118,"id":1603641600,"close":12978.7,"tradeTurnover":6256.4472,"open":12916.2},{"amount":0.47,"high":13087.5,"vol":470,"low":12922.7,"count":117,"id":1603645200,"close":13004.4,"tradeTurnover":6108.3892,"open":13008.0},{"amount":0.468,"high":13067.6,"vol":468,"low":12893.6,"count":118,"id":1603648800,"close":12957.2,"tradeTurnover":6079.1484,"open":12972.8},{"amount":0.442,"high":13066.9,"vol":442,"low":12916.6,"count":118,"id":1603652400,"close":13021.8,"tradeTurnover":5746.5548,"open":12996.5},{"amount":0.508,"high":13081.5,"vol":508,"low":12944.9,"count":120,"id":1603656000,"close":12985.4,"tradeTurnover":6616.9872,"open":12992.9},{"amount":0.508,"high":13068.6,"vol":508,"low":12921.4,"count":122,"id":1603659600,"close":13011.2,"tradeTurnover":6614.816,"open":12999.9},{"amount":0.486,"high":13073.8,"vol":486,"low":12911.9,"count":121,"id":1603663200,"close":12959.4,"tradeTurnover":6320.907,"open":12979.6},{"amount":0.452,"high":13085.2,"vol":452,"low":12927.8,"count":113,"id":1603666800,"close":13032.1,"tradeTurnover":5878.6442,"open":12963.4},{"amount":0.482,"high":13076.7,"vol":482,"low":12918.3,"count":121,"id":1603670400,"close":13001.0,"tradeTurnover":6263.698,"open":12964.2},{"amount":0.478,"high":13096.4,"vol":478,"low":12991.2,"count":124,"id":1603674000,"close":13053.7,"tradeTurnover":6232.2328,"open":13040.0},{"amount":0.488,"high":13185.7,"vol":488,"low":12985.1,"count":121,"id":1603677600,"close":13064.4,"tradeTurnover":6387.534,"open":13060.6},{"amount":0.486,"high":13187.2,"vol":486,"low":12984.1,"count":135,"id":1603681200,"close":13092.8,"tradeTurnover":6369.0272,"open":13032.3},{"amount":0.51,"high":13181.6,"vol":510,"low":12962.3,"count":131,"id":1603684800,"close":13132.6,"tradeTurnover":6679.829,"open":13092.0},{"amount":0.506,"high":13205.3,"vol":506,"low":13025.3,"count":126,"id":1603688400,"close":13092.1,"tradeTurnover":6641.2128,"open":13129.2},{"amount":1.616,"high":13188.1,"vol":1616,"low":12989.8,"count":141,"id":1603692000,"close":13071.4,"tradeTurnover":21170.8224,"open":13121.8},{"amount":3.746,"high":13100.0,"vol":3746,"low":12965.2,"count":110,"id":1603695600,"close":13038.7,"tradeTurnover":48924.8902,"open":13061.0},{"amount":8.966,"high":13102.0,"vol":8966,"low":12852.8,"count":173,"id":1603699200,"close":13039.3,"tradeTurnover":116525.5534,"open":13030.9},{"amount":4.48,"high":13088.4,"vol":4480,"low":13039.8,"count":124,"id":1603702800,"close":13075.9,"tradeTurnover":58521.1714,"open":13047.1},{"amount":4.272,"high":13100.0,"vol":4272,"low":13060.2,"count":130,"id":1603706400,"close":13100.0,"tradeTurnover":55895.9778,"open":13072.1},{"amount":29.798,"high":13159.0,"vol":29798,"low":13100.0,"count":230,"id":1603710000,"close":13138.4,"tradeTurnover":391138.024,"open":13100.0},{"amount":5.154,"high":13200.0,"vol":5154,"low":13100.0,"count":188,"id":1603713600,"close":13149.8,"tradeTurnover":67694.652,"open":13138.8},{"amount":35.608,"high":13351.5,"vol":35608,"low":13133.1,"count":328,"id":1603717200,"close":13205.8,"tradeTurnover":472780.3394,"open":13150.0},{"amount":31.748,"high":13280.0,"vol":31748,"low":13144.1,"count":235,"id":1603720800,"close":13166.1,"tradeTurnover":418744.5588,"open":13203.0},{"amount":36.53,"high":13165.2,"vol":36530,"low":12903.8,"count":384,"id":1603724400,"close":12978.0,"tradeTurnover":476940.3296,"open":13159.0},{"amount":35.018,"high":13069.8,"vol":35018,"low":12850.5,"count":323,"id":1603728000,"close":12869.6,"tradeTurnover":453288.918,"open":12965.0},{"amount":92.628,"high":12941.5,"vol":92628,"low":12583.9,"count":560,"id":1603731600,"close":12873.8,"tradeTurnover":1185973.467,"open":12879.2},{"amount":4.302,"high":12954.5,"vol":4302,"low":12820.4,"count":128,"id":1603735200,"close":12946.8,"tradeTurnover":55481.0054,"open":12856.2},{"amount":13.83,"high":12953.5,"vol":13830,"low":12914.1,"count":118,"id":1603738800,"close":12953.4,"tradeTurnover":179112.1598,"open":12945.6},{"amount":17.172,"high":13007.5,"vol":17172,"low":12953.5,"count":132,"id":1603742400,"close":12983.4,"tradeTurnover":223230.2122,"open":12953.5},{"amount":3.212,"high":13007.5,"vol":3212,"low":12982.7,"count":59,"id":1603746000,"close":12993.8,"tradeTurnover":41767.8906,"open":12983.1},{"amount":1.504,"high":13007.5,"vol":1504,"low":12974.0,"count":74,"id":1603749600,"close":13007.5,"tradeTurnover":19543.3568,"open":13002.1},{"amount":3.454,"high":13061.2,"vol":3454,"low":13007.5,"count":101,"id":1603753200,"close":13033.7,"tradeTurnover":45001.601,"open":13007.5},{"amount":8.784,"high":13105.0,"vol":8784,"low":13028.3,"count":98,"id":1603756800,"close":13067.1,"tradeTurnover":114871.8246,"open":13029.2},{"amount":11.592,"high":13074.4,"vol":11592,"low":13051.5,"count":66,"id":1603760400,"close":13061.7,"tradeTurnover":151386.9038,"open":13074.3},{"amount":19.298,"high":13097.6,"vol":19298,"low":13040.1,"count":109,"id":1603764000,"close":13049.7,"tradeTurnover":252061.019,"open":13061.7},{"amount":22.992,"high":13080.0,"vol":22992,"low":13057.1,"count":69,"id":1603767600,"close":13070.4,"tradeTurnover":300453.9788,"open":13057.6},{"amount":14.396,"high":13175.0,"vol":14396,"low":13079.6,"count":59,"id":1603771200,"close":13103.3,"tradeTurnover":188461.9156,"open":13080.0},{"amount":5.058,"high":13121.3,"vol":5058,"low":13069.7,"count":44,"id":1603774800,"close":13073.6,"tradeTurnover":66201.3552,"open":13121.3},{"amount":9.106,"high":13149.0,"vol":9106,"low":13069.6,"count":107,"id":1603778400,"close":13103.4,"tradeTurnover":119104.8906,"open":13074.9},{"amount":73.95,"high":13169.8,"vol":73950,"low":12992.4,"count":305,"id":1603782000,"close":13130.0,"tradeTurnover":968195.155,"open":13103.3},{"amount":18.732,"high":13148.4,"vol":18732,"low":13044.0,"count":135,"id":1603785600,"close":13123.8,"tradeTurnover":245533.5448,"open":13135.1},{"amount":13.756,"high":13131.8,"vol":13756,"low":13075.7,"count":102,"id":1603789200,"close":13131.7,"tradeTurnover":180253.7708,"open":13115.5},{"amount":154.108,"high":13252.0,"vol":154108,"low":13063.4,"count":525,"id":1603792800,"close":13216.9,"tradeTurnover":2029983.656,"open":13134.8},{"amount":170.09,"high":13590.1,"vol":170090,"low":13213.5,"count":591,"id":1603796400,"close":13395.8,"tradeTurnover":2276279.742,"open":13218.8},{"amount":48.928,"high":13414.0,"vol":48928,"low":13331.7,"count":216,"id":1603800000,"close":13376.9,"tradeTurnover":654585.9108,"open":13395.9},{"amount":63.294,"high":13490.9,"vol":63294,"low":13329.8,"count":316,"id":1603803600,"close":13384.3,"tradeTurnover":848130.9212,"open":13376.5},{"amount":12.892,"high":13415.8,"vol":12892,"low":13344.8,"count":124,"id":1603807200,"close":13398.2,"tradeTurnover":172618.6864,"open":13392.6},{"amount":93.22,"high":13626.7,"vol":93220,"low":13398.2,"count":476,"id":1603810800,"close":13598.5,"tradeTurnover":1262695.5466,"open":13398.2},{"amount":85.45,"high":13639.9,"vol":85450,"low":13520.2,"count":435,"id":1603814400,"close":13639.9,"tradeTurnover":1161481.4136,"open":13595.8},{"amount":191.812,"high":13826.7,"vol":191812,"low":13589.0,"count":711,"id":1603818000,"close":13688.1,"tradeTurnover":2628428.3788,"open":13640.0},{"amount":65.434,"high":13745.0,"vol":65434,"low":13528.2,"count":410,"id":1603821600,"close":13630.1,"tradeTurnover":891541.8394,"open":13685.0},{"amount":5.788,"high":13659.8,"vol":5788,"low":13595.4,"count":65,"id":1603825200,"close":13637.1,"tradeTurnover":78836.2578,"open":13629.4},{"amount":163.104,"high":13805.1,"vol":163104,"low":13582.6,"count":537,"id":1603828800,"close":13616.6,"tradeTurnover":2234040.3544,"open":13644.4},{"amount":9.884,"high":13753.5,"vol":9884,"low":13609.8,"count":101,"id":1603832400,"close":13705.5,"tradeTurnover":135406.4752,"open":13609.8},{"amount":7.436,"high":13739.9,"vol":7436,"low":13658.2,"count":100,"id":1603836000,"close":13739.9,"tradeTurnover":101840.3508,"open":13705.4},{"amount":17.086,"high":13794.6,"vol":17086,"low":13582.6,"count":234,"id":1603839600,"close":13649.6,"tradeTurnover":233971.8448,"open":13739.9},{"amount":24.108,"high":13745.2,"vol":24108,"low":13618.8,"count":177,"id":1603843200,"close":13701.7,"tradeTurnover":330206.5694,"open":13645.9},{"amount":15.892,"high":13725.6,"vol":15892,"low":13647.9,"count":151,"id":1603846800,"close":13702.6,"tradeTurnover":217816.7008,"open":13702.1},{"amount":46.548,"high":13832.2,"vol":46548,"low":13680.2,"count":274,"id":1603850400,"close":13811.6,"tradeTurnover":640636.0352,"open":13701.7},{"amount":67.896,"high":13820.3,"vol":67896,"low":13717.5,"count":320,"id":1603854000,"close":13777.0,"tradeTurnover":935838.2238,"open":13818.5},{"amount":33.156,"high":13807.2,"vol":33156,"low":13710.0,"count":210,"id":1603857600,"close":13735.7,"tradeTurnover":455941.234,"open":13767.3},{"amount":32.076,"high":13753.9,"vol":32076,"low":13671.3,"count":198,"id":1603861200,"close":13715.8,"tradeTurnover":439612.64,"open":13735.5},{"amount":14.756,"high":13757.0,"vol":14756,"low":13694.9,"count":122,"id":1603864800,"close":13701.3,"tradeTurnover":202602.5164,"open":13715.9},{"amount":155.534,"high":13708.7,"vol":155534,"low":13550.0,"count":635,"id":1603868400,"close":13674.2,"tradeTurnover":2117935.0928,"open":13701.2},{"amount":29.846,"high":13691.7,"vol":29846,"low":13584.0,"count":240,"id":1603872000,"close":13691.7,"tradeTurnover":407073.1398,"open":13673.0},{"amount":104.542,"high":13707.5,"vol":104542,"low":13573.5,"count":377,"id":1603875600,"close":13587.1,"tradeTurnover":1425079.9344,"open":13689.3},{"amount":73.818,"high":13618.0,"vol":73818,"low":13504.7,"count":358,"id":1603879200,"close":13552.7,"tradeTurnover":1001666.0908,"open":13584.6},{"amount":176.544,"high":13565.4,"vol":176544,"low":13330.0,"count":1004,"id":1603882800,"close":13336.4,"tradeTurnover":2369166.1492,"open":13552.6},{"amount":289.73,"high":13385.0,"vol":289730,"low":13173.9,"count":968,"id":1603886400,"close":13300.3,"tradeTurnover":3846751.7166,"open":13331.5},{"amount":139.822,"high":13340.0,"vol":139822,"low":13122.9,"count":612,"id":1603890000,"close":13129.9,"tradeTurnover":1848876.932,"open":13300.2},{"amount":367.876,"high":13168.2,"vol":367876,"low":12915.9,"count":1168,"id":1603893600,"close":13082.2,"tradeTurnover":4802516.9818,"open":13123.4},{"amount":84.044,"high":13235.2,"vol":84044,"low":13052.3,"count":375,"id":1603897200,"close":13221.2,"tradeTurnover":1106883.1282,"open":13077.1},{"amount":29.566,"high":13218.7,"vol":29566,"low":13050.0,"count":244,"id":1603900800,"close":13145.1,"tradeTurnover":388697.4104,"open":13218.7},{"amount":53.336,"high":13204.9,"vol":53336,"low":13006.6,"count":299,"id":1603904400,"close":13176.7,"tradeTurnover":700385.2784,"open":13145.1},{"amount":34.164,"high":13219.6,"vol":34164,"low":13131.0,"count":218,"id":1603908000,"close":13196.5,"tradeTurnover":450210.5778,"open":13171.0},{"amount":22.158,"high":13237.4,"vol":22158,"low":13145.0,"count":185,"id":1603911600,"close":13154.9,"tradeTurnover":292020.0438,"open":13200.0},{"amount":4.548,"high":13211.8,"vol":4548,"low":13147.4,"count":75,"id":1603915200,"close":13198.1,"tradeTurnover":59991.1118,"open":13154.5},{"amount":3.52,"high":13196.5,"vol":3520,"low":13100.2,"count":68,"id":1603918800,"close":13190.1,"tradeTurnover":46175.428,"open":13193.5},{"amount":3.122,"high":13267.5,"vol":3122,"low":13185.4,"count":72,"id":1603922400,"close":13252.0,"tradeTurnover":41304.2018,"open":13185.4},{"amount":14.768,"high":13282.3,"vol":14768,"low":13235.9,"count":86,"id":1603926000,"close":13265.9,"tradeTurnover":195689.0764,"open":13242.1},{"amount":19.968,"high":13294.7,"vol":19968,"low":13237.4,"count":98,"id":1603929600,"close":13245.1,"tradeTurnover":264834.1944,"open":13253.9},{"amount":35.282,"high":13285.3,"vol":35282,"low":13166.3,"count":192,"id":1603933200,"close":13274.2,"tradeTurnover":465789.6302,"open":13244.6},{"amount":9.748,"high":13277.7,"vol":9748,"low":13212.2,"count":119,"id":1603936800,"close":13241.1,"tradeTurnover":129016.0684,"open":13275.9},{"amount":27.3,"high":13262.5,"vol":27300,"low":13174.6,"count":199,"id":1603940400,"close":13262.5,"tradeTurnover":360589.8982,"open":13237.1},{"amount":18.904,"high":13277.7,"vol":18904,"low":13229.5,"count":109,"id":1603944000,"close":13229.5,"tradeTurnover":250713.2812,"open":13269.1},{"amount":15.822,"high":13274.8,"vol":15822,"low":13228.5,"count":134,"id":1603947600,"close":13274.8,"tradeTurnover":209781.909,"open":13228.5},{"amount":91.246,"high":13323.0,"vol":91246,"low":13242.3,"count":294,"id":1603951200,"close":13255.0,"tradeTurnover":1211271.2788,"open":13274.8},{"amount":187.622,"high":13269.3,"vol":187622,"low":13123.1,"count":506,"id":1603954800,"close":13142.4,"tradeTurnover":2478299.7074,"open":13255.0},{"amount":69.532,"high":13182.4,"vol":69532,"low":13094.1,"count":226,"id":1603958400,"close":13124.8,"tradeTurnover":914157.2418,"open":13145.9},{"amount":23.184,"high":13197.1,"vol":23184,"low":13129.5,"count":141,"id":1603962000,"close":13183.7,"tradeTurnover":305485.9524,"open":13129.5},{"amount":121.146,"high":13187.5,"vol":121146,"low":13053.1,"count":442,"id":1603965600,"close":13105.2,"tradeTurnover":1590026.4416,"open":13184.8},{"amount":47.498,"high":13171.4,"vol":47498,"low":13060.1,"count":262,"id":1603969200,"close":13060.1,"tradeTurnover":623578.149,"open":13105.1},{"amount":126.552,"high":13145.8,"vol":126552,"low":12977.9,"count":481,"id":1603972800,"close":13131.8,"tradeTurnover":1652549.311,"open":13056.9},{"amount":100.482,"high":13237.2,"vol":100482,"low":13102.0,"count":325,"id":1603976400,"close":13230.0,"tradeTurnover":1326403.7206,"open":13131.7},{"amount":253.258,"high":13476.1,"vol":253258,"low":13231.0,"count":752,"id":1603980000,"close":13420.8,"tradeTurnover":3384941.438,"open":13231.0},{"amount":64.71,"high":13458.7,"vol":64710,"low":13358.7,"count":269,"id":1603983600,"close":13420.6,"tradeTurnover":869052.3804,"open":13416.0},{"amount":120.24,"high":13594.5,"vol":120240,"low":13391.8,"count":570,"id":1603987200,"close":13535.9,"tradeTurnover":1626567.8278,"open":13421.9}],"id":"","rep":"market.BTC-USDT.kline.60min","status":"ok"} diff --git a/log/debug/debug.2024-01-18_12.log b/log/debug/debug.2024-01-18_12.log new file mode 100644 index 0000000..727140f --- /dev/null +++ b/log/debug/debug.2024-01-18_12.log @@ -0,0 +1,212 @@ +2024-01-18 12:37:36.506 [ERROR] [WebSocketConnectReadThread-12] [com.huobi.wss.handle.WssMarketHandle.onError:98] - onError: +java.net.ConnectException: Connection timed out: connect + at java.net.DualStackPlainSocketImpl.connect0(Native Method) + at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:75) + at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:476) + at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:218) + at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:200) + at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:162) + at java.net.Socket.connect(Socket.java:606) + at org.java_websocket.client.WebSocketClient.run(WebSocketClient.java:395) + at java.lang.Thread.run(Thread.java:750) +2024-01-18 12:37:36.516 [ERROR] [WebSocketConnectReadThread-12] [com.huobi.wss.handle.WssMarketHandle.onClose:93] - onClose i:-1,s:Connection timed out: connect,b:false +2024-01-18 12:39:13.702 [ERROR] [WebSocketConnectReadThread-12] [com.huobi.wss.handle.WssMarketHandle.onError:98] - onError: +java.net.ConnectException: Connection timed out: connect + at java.net.DualStackPlainSocketImpl.connect0(Native Method) + at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:75) + at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:476) + at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:218) + at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:200) + at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:162) + at java.net.Socket.connect(Socket.java:606) + at org.java_websocket.client.WebSocketClient.run(WebSocketClient.java:395) + at java.lang.Thread.run(Thread.java:750) +2024-01-18 12:39:13.706 [ERROR] [WebSocketConnectReadThread-12] [com.huobi.wss.handle.WssMarketHandle.onClose:93] - onClose i:-1,s:Connection timed out: connect,b:false +2024-01-18 12:39:53.209 [ERROR] [WebSocketConnectReadThread-12] [com.huobi.wss.handle.WssMarketHandle.onError:98] - onError: +java.net.ConnectException: Connection timed out: connect + at java.net.DualStackPlainSocketImpl.connect0(Native Method) + at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:75) + at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:476) + at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:218) + at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:200) + at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:162) + at java.net.Socket.connect(Socket.java:606) + at org.java_websocket.client.WebSocketClient.run(WebSocketClient.java:395) + at java.lang.Thread.run(Thread.java:750) +2024-01-18 12:39:53.212 [ERROR] [WebSocketConnectReadThread-12] [com.huobi.wss.handle.WssMarketHandle.onClose:93] - onClose i:-1,s:Connection timed out: connect,b:false +2024-01-18 12:40:37.079 [DEBUG] [WebSocketConnectReadThread-12] [com.huobi.wss.handle.WssMarketHandle.onOpen:57] - onOpen Success +2024-01-18 12:40:37.310 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552835109,"tick":{"mrid":100021894695098,"id":1705552835,"bid":[42709.9,4856],"ask":[42710,1225],"ts":1705552835106,"version":100021894695098,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:37.324 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552835109,当前的时间戳为:1705552837311,时间间隔为:2202毫秒 +2024-01-18 12:40:37.715 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552836320,"tick":{"mrid":100021894695315,"id":1705552836,"bid":[42709.9,4853],"ask":[42710,1225],"ts":1705552836318,"version":100021894695315,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:37.716 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552836320,当前的时间戳为:1705552837716,时间间隔为:1396毫秒 +2024-01-18 12:40:37.866 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552836468,"tick":{"mrid":100021894695351,"id":1705552836,"bid":[42709.9,4853],"ask":[42710,1090],"ts":1705552836465,"version":100021894695351,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:37.866 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552836468,当前的时间戳为:1705552837866,时间间隔为:1398毫秒 +2024-01-18 12:40:37.867 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552836469,"tick":{"mrid":100021894695352,"id":1705552836,"bid":[42709.9,4853],"ask":[42710,1015],"ts":1705552836465,"version":100021894695352,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:37.868 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552836469,当前的时间戳为:1705552837867,时间间隔为:1398毫秒 +2024-01-18 12:40:37.892 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552836493,"tick":{"mrid":100021894695360,"id":1705552836,"bid":[42709.9,4853],"ask":[42710,1573],"ts":1705552836491,"version":100021894695360,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:37.893 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552836493,当前的时间戳为:1705552837893,时间间隔为:1400毫秒 +2024-01-18 12:40:38.491 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552837099,"tick":{"mrid":100021894695477,"id":1705552837,"bid":[42709.9,4852],"ask":[42710,1573],"ts":1705552837097,"version":100021894695477,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:38.492 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552837099,当前的时间戳为:1705552838492,时间间隔为:1393毫秒 +2024-01-18 12:40:38.588 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552837193,"tick":{"mrid":100021894695517,"id":1705552837,"bid":[42709.9,4853],"ask":[42710,1573],"ts":1705552837192,"version":100021894695517,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:38.588 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552837193,当前的时间戳为:1705552838588,时间间隔为:1395毫秒 +2024-01-18 12:40:38.929 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552837528,"tick":{"mrid":100021894695594,"id":1705552837,"bid":[42709.9,4849],"ask":[42710,1573],"ts":1705552837525,"version":100021894695594,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:38.930 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552837528,当前的时间戳为:1705552838930,时间间隔为:1402毫秒 +2024-01-18 12:40:39.028 [DEBUG] [pool-2-thread-1] [com.huobi.wss.handle.WssMarketHandle.dealPing:125] - 发送pong:{"pong":1} +2024-01-18 12:40:39.262 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552837868,"tick":{"mrid":100021894695718,"id":1705552837,"bid":[42709.9,4853],"ask":[42710,1573],"ts":1705552837866,"version":100021894695718,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:39.263 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552837868,当前的时间戳为:1705552839263,时间间隔为:1395毫秒 +2024-01-18 12:40:39.498 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552838105,"tick":{"mrid":100021894695763,"id":1705552838,"bid":[42709.9,4852],"ask":[42710,1573],"ts":1705552838103,"version":100021894695763,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:39.498 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552838105,当前的时间戳为:1705552839498,时间间隔为:1393毫秒 +2024-01-18 12:40:39.601 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552838208,"tick":{"mrid":100021894695787,"id":1705552838,"bid":[42709.9,4853],"ask":[42710,1573],"ts":1705552838206,"version":100021894695787,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:39.602 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552838208,当前的时间戳为:1705552839602,时间间隔为:1394毫秒 +2024-01-18 12:40:40.493 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552839098,"tick":{"mrid":100021894695927,"id":1705552839,"bid":[42709.9,4852],"ask":[42710,1573],"ts":1705552839096,"version":100021894695927,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:40.495 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552839098,当前的时间戳为:1705552840495,时间间隔为:1397毫秒 +2024-01-18 12:40:40.597 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552839205,"tick":{"mrid":100021894695962,"id":1705552839,"bid":[42709.9,4853],"ask":[42710,1573],"ts":1705552839203,"version":100021894695962,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:40.598 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552839205,当前的时间戳为:1705552840598,时间间隔为:1393毫秒 +2024-01-18 12:40:41.276 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552839880,"tick":{"mrid":100021894696121,"id":1705552839,"bid":[42709.9,4853],"ask":[42710,1015],"ts":1705552839879,"version":100021894696121,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:41.276 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552839880,当前的时间戳为:1705552841276,时间间隔为:1396毫秒 +2024-01-18 12:40:41.277 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552839883,"tick":{"mrid":100021894696122,"id":1705552839,"bid":[42709.9,4853],"ask":[42710,889],"ts":1705552839881,"version":100021894696122,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:41.277 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552839883,当前的时间戳为:1705552841277,时间间隔为:1394毫秒 +2024-01-18 12:40:41.284 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552839888,"tick":{"mrid":100021894696125,"id":1705552839,"bid":[42709.9,4953],"ask":[42710,889],"ts":1705552839885,"version":100021894696125,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:41.285 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552839888,当前的时间戳为:1705552841284,时间间隔为:1396毫秒 +2024-01-18 12:40:41.302 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552839904,"tick":{"mrid":100021894696137,"id":1705552839,"bid":[42709.9,4953],"ask":[42710,703],"ts":1705552839899,"version":100021894696137,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:41.303 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552839904,当前的时间戳为:1705552841303,时间间隔为:1399毫秒 +2024-01-18 12:40:41.310 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552839915,"tick":{"mrid":100021894696150,"id":1705552839,"bid":[42709.9,4953],"ask":[42713.1,843],"ts":1705552839912,"version":100021894696150,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:41.310 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552839915,当前的时间戳为:1705552841310,时间间隔为:1395毫秒 +2024-01-18 12:40:41.310 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552839916,"tick":{"mrid":100021894696153,"id":1705552839,"bid":[42713,117],"ask":[42713.1,843],"ts":1705552839914,"version":100021894696153,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:41.311 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552839916,当前的时间戳为:1705552841311,时间间隔为:1395毫秒 +2024-01-18 12:40:41.315 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552839922,"tick":{"mrid":100021894696156,"id":1705552839,"bid":[42713,117],"ask":[42714,1],"ts":1705552839919,"version":100021894696156,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:41.316 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552839922,当前的时间戳为:1705552841316,时间间隔为:1394毫秒 +2024-01-18 12:40:41.329 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552839928,"tick":{"mrid":100021894696170,"id":1705552839,"bid":[42713,234],"ask":[42714,1],"ts":1705552839924,"version":100021894696170,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:41.329 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552839928,当前的时间戳为:1705552841329,时间间隔为:1401毫秒 +2024-01-18 12:40:41.330 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552839928,"tick":{"mrid":100021894696171,"id":1705552839,"bid":[42713.9,24],"ask":[42714,1],"ts":1705552839925,"version":100021894696171,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:41.330 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552839928,当前的时间戳为:1705552841330,时间间隔为:1402毫秒 +2024-01-18 12:40:41.330 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552839937,"tick":{"mrid":100021894696196,"id":1705552839,"bid":[42713.9,24],"ask":[42714,136],"ts":1705552839934,"version":100021894696196,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:41.330 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552839937,当前的时间戳为:1705552841330,时间间隔为:1393毫秒 +2024-01-18 12:40:41.334 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552839938,"tick":{"mrid":100021894696202,"id":1705552839,"bid":[42713.9,25],"ask":[42714,136],"ts":1705552839935,"version":100021894696202,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:41.334 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552839938,当前的时间戳为:1705552841334,时间间隔为:1396毫秒 +2024-01-18 12:40:41.335 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552839939,"tick":{"mrid":100021894696203,"id":1705552839,"bid":[42713.9,1602],"ask":[42714,136],"ts":1705552839936,"version":100021894696203,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:41.335 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552839939,当前的时间戳为:1705552841335,时间间隔为:1396毫秒 +2024-01-18 12:40:41.335 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552839939,"tick":{"mrid":100021894696209,"id":1705552839,"bid":[42713.9,1718],"ask":[42714,136],"ts":1705552839937,"version":100021894696209,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:41.336 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552839939,当前的时间戳为:1705552841335,时间间隔为:1396毫秒 +2024-01-18 12:40:41.341 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552839942,"tick":{"mrid":100021894696216,"id":1705552839,"bid":[42713.9,1867],"ask":[42714,136],"ts":1705552839938,"version":100021894696216,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:41.341 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552839942,当前的时间戳为:1705552841341,时间间隔为:1399毫秒 +2024-01-18 12:40:41.342 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552839945,"tick":{"mrid":100021894696236,"id":1705552839,"bid":[42713.9,2302],"ask":[42714,136],"ts":1705552839943,"version":100021894696236,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:41.342 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552839945,当前的时间戳为:1705552841342,时间间隔为:1397毫秒 +2024-01-18 12:40:41.342 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552839947,"tick":{"mrid":100021894696240,"id":1705552839,"bid":[42713.9,2302],"ask":[42714,694],"ts":1705552839943,"version":100021894696240,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:41.342 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552839947,当前的时间戳为:1705552841342,时间间隔为:1395毫秒 +2024-01-18 12:40:41.346 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552839951,"tick":{"mrid":100021894696255,"id":1705552839,"bid":[42713.9,2303],"ask":[42714,694],"ts":1705552839948,"version":100021894696255,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:41.347 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552839951,当前的时间戳为:1705552841347,时间间隔为:1396毫秒 +2024-01-18 12:40:41.347 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552839951,"tick":{"mrid":100021894696256,"id":1705552839,"bid":[42713.9,2407],"ask":[42714,694],"ts":1705552839948,"version":100021894696256,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:41.347 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552839951,当前的时间戳为:1705552841347,时间间隔为:1396毫秒 +2024-01-18 12:40:41.348 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552839951,"tick":{"mrid":100021894696260,"id":1705552839,"bid":[42713.9,2508],"ask":[42714,694],"ts":1705552839949,"version":100021894696260,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:41.348 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552839951,当前的时间戳为:1705552841348,时间间隔为:1397毫秒 +2024-01-18 12:40:41.348 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552839953,"tick":{"mrid":100021894696266,"id":1705552839,"bid":[42713.9,2730],"ask":[42714,694],"ts":1705552839951,"version":100021894696266,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:41.348 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552839953,当前的时间戳为:1705552841348,时间间隔为:1395毫秒 +2024-01-18 12:40:41.355 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552839956,"tick":{"mrid":100021894696275,"id":1705552839,"bid":[42713.9,2730],"ask":[42714,874],"ts":1705552839953,"version":100021894696275,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:41.356 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552839956,当前的时间戳为:1705552841356,时间间隔为:1400毫秒 +2024-01-18 12:40:41.356 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552839957,"tick":{"mrid":100021894696282,"id":1705552839,"bid":[42713.9,2844],"ask":[42714,874],"ts":1705552839954,"version":100021894696282,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:41.357 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552839957,当前的时间戳为:1705552841356,时间间隔为:1399毫秒 +2024-01-18 12:40:41.357 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552839957,"tick":{"mrid":100021894696284,"id":1705552839,"bid":[42713.9,4044],"ask":[42714,874],"ts":1705552839955,"version":100021894696284,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:41.357 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552839957,当前的时间戳为:1705552841357,时间间隔为:1400毫秒 +2024-01-18 12:40:41.357 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552839958,"tick":{"mrid":100021894696290,"id":1705552839,"bid":[42713.9,4252],"ask":[42714,874],"ts":1705552839955,"version":100021894696290,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:41.357 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552839958,当前的时间戳为:1705552841357,时间间隔为:1399毫秒 +2024-01-18 12:40:41.358 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552839959,"tick":{"mrid":100021894696291,"id":1705552839,"bid":[42713.9,4252],"ask":[42714,1577],"ts":1705552839956,"version":100021894696291,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:41.358 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552839959,当前的时间戳为:1705552841358,时间间隔为:1399毫秒 +2024-01-18 12:40:41.358 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552839962,"tick":{"mrid":100021894696298,"id":1705552839,"bid":[42713.9,4537],"ask":[42714,1577],"ts":1705552839959,"version":100021894696298,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:41.358 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552839962,当前的时间戳为:1705552841358,时间间隔为:1396毫秒 +2024-01-18 12:40:41.358 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552839962,"tick":{"mrid":100021894696300,"id":1705552839,"bid":[42713.9,4541],"ask":[42714,1577],"ts":1705552839959,"version":100021894696300,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:41.359 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552839962,当前的时间戳为:1705552841358,时间间隔为:1396毫秒 +2024-01-18 12:40:41.362 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552839963,"tick":{"mrid":100021894696303,"id":1705552839,"bid":[42713.9,4617],"ask":[42714,1577],"ts":1705552839960,"version":100021894696303,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:41.363 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552839963,当前的时间戳为:1705552841363,时间间隔为:1400毫秒 +2024-01-18 12:40:41.365 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552839966,"tick":{"mrid":100021894696313,"id":1705552839,"bid":[42713.9,4815],"ask":[42714,1577],"ts":1705552839963,"version":100021894696313,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:41.365 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552839966,当前的时间戳为:1705552841365,时间间隔为:1399毫秒 +2024-01-18 12:40:41.372 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552839976,"tick":{"mrid":100021894696329,"id":1705552839,"bid":[42713.9,3238],"ask":[42714,1577],"ts":1705552839973,"version":100021894696329,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:41.373 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552839976,当前的时间戳为:1705552841372,时间间隔为:1396毫秒 +2024-01-18 12:40:41.373 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552839976,"tick":{"mrid":100021894696331,"id":1705552839,"bid":[42713.9,4262],"ask":[42714,1577],"ts":1705552839974,"version":100021894696331,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:41.373 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552839976,当前的时间戳为:1705552841373,时间间隔为:1397毫秒 +2024-01-18 12:40:41.373 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552839977,"tick":{"mrid":100021894696332,"id":1705552839,"bid":[42713.9,4262],"ask":[42714,1727],"ts":1705552839975,"version":100021894696332,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:41.373 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552839977,当前的时间戳为:1705552841373,时间间隔为:1396毫秒 +2024-01-18 12:40:41.383 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552839988,"tick":{"mrid":100021894696343,"id":1705552839,"bid":[42713.9,4598],"ask":[42714,1727],"ts":1705552839986,"version":100021894696343,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:41.384 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552839988,当前的时间戳为:1705552841383,时间间隔为:1395毫秒 +2024-01-18 12:40:41.400 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552840003,"tick":{"mrid":100021894696357,"id":1705552839,"bid":[42713.9,4598],"ask":[42714,1853],"ts":1705552839999,"version":100021894696357,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:41.400 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552840003,当前的时间戳为:1705552841400,时间间隔为:1397毫秒 +2024-01-18 12:40:41.401 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552840004,"tick":{"mrid":100021894696358,"id":1705552840,"bid":[42713.9,5571],"ask":[42714,1853],"ts":1705552840002,"version":100021894696358,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:41.402 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552840004,当前的时间戳为:1705552841402,时间间隔为:1398毫秒 +2024-01-18 12:40:41.408 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552840010,"tick":{"mrid":100021894696368,"id":1705552840,"bid":[42713.9,4598],"ask":[42714,1853],"ts":1705552840007,"version":100021894696368,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:41.408 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552840010,当前的时间戳为:1705552841408,时间间隔为:1398毫秒 +2024-01-18 12:40:41.408 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552840010,"tick":{"mrid":100021894696370,"id":1705552840,"bid":[42713.9,4658],"ask":[42714,1853],"ts":1705552840008,"version":100021894696370,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:41.408 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552840010,当前的时间戳为:1705552841408,时间间隔为:1398毫秒 +2024-01-18 12:40:41.426 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552840015,"tick":{"mrid":100021894696376,"id":1705552840,"bid":[42713.9,4450],"ask":[42714,1853],"ts":1705552840012,"version":100021894696376,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:41.426 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552840015,当前的时间戳为:1705552841426,时间间隔为:1411毫秒 +2024-01-18 12:40:41.429 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552840034,"tick":{"mrid":100021894696389,"id":1705552840,"bid":[42713.9,4566],"ask":[42714,1853],"ts":1705552840032,"version":100021894696389,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:41.429 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552840034,当前的时间戳为:1705552841429,时间间隔为:1395毫秒 +2024-01-18 12:40:41.443 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552840046,"tick":{"mrid":100021894696398,"id":1705552840,"bid":[42713.9,5539],"ask":[42714,1853],"ts":1705552840044,"version":100021894696398,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:41.444 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552840046,当前的时间戳为:1705552841444,时间间隔为:1398毫秒 +2024-01-18 12:40:41.505 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552840109,"tick":{"mrid":100021894696424,"id":1705552840,"bid":[42713.9,6160],"ask":[42714,1853],"ts":1705552840107,"version":100021894696424,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:41.505 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552840109,当前的时间戳为:1705552841505,时间间隔为:1396毫秒 +2024-01-18 12:40:41.587 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552840194,"tick":{"mrid":100021894696440,"id":1705552840,"bid":[42713.9,6161],"ask":[42714,1853],"ts":1705552840192,"version":100021894696440,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:41.588 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552840194,当前的时间戳为:1705552841588,时间间隔为:1394毫秒 +2024-01-18 12:40:41.689 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552840287,"tick":{"mrid":100021894696469,"id":1705552840,"bid":[42713.9,6719],"ask":[42714,1853],"ts":1705552840283,"version":100021894696469,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:41.689 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552840287,当前的时间戳为:1705552841689,时间间隔为:1402毫秒 +2024-01-18 12:40:42.612 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552841095,"tick":{"mrid":100021894696626,"id":1705552841,"bid":[42713.9,6718],"ask":[42714,1853],"ts":1705552841093,"version":100021894696626,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:42.612 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552841095,当前的时间戳为:1705552842612,时间间隔为:1517毫秒 +2024-01-18 12:40:42.613 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552841194,"tick":{"mrid":100021894696675,"id":1705552841,"bid":[42713.9,6718],"ask":[42714,2877],"ts":1705552841191,"version":100021894696675,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:42.613 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552841194,当前的时间戳为:1705552842613,时间间隔为:1419毫秒 +2024-01-18 12:40:42.613 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552841198,"tick":{"mrid":100021894696677,"id":1705552841,"bid":[42713.9,6719],"ask":[42714,2877],"ts":1705552841195,"version":100021894696677,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:42.613 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552841198,当前的时间戳为:1705552842613,时间间隔为:1415毫秒 +2024-01-18 12:40:42.769 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552841375,"tick":{"mrid":100021894696723,"id":1705552841,"bid":[42713.9,6721],"ask":[42714,2877],"ts":1705552841373,"version":100021894696723,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:42.770 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552841375,当前的时间戳为:1705552842769,时间间隔为:1394毫秒 +2024-01-18 12:40:42.913 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552841516,"tick":{"mrid":100021894696756,"id":1705552841,"bid":[42713.9,6725],"ask":[42714,2877],"ts":1705552841514,"version":100021894696756,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:42.914 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552841516,当前的时间戳为:1705552842913,时间间隔为:1397毫秒 +2024-01-18 12:40:43.374 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552841980,"tick":{"mrid":100021894696851,"id":1705552841,"bid":[42713.9,6725],"ask":[42714,3079],"ts":1705552841978,"version":100021894696851,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:43.376 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552841980,当前的时间戳为:1705552843376,时间间隔为:1396毫秒 +2024-01-18 12:40:43.431 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552842035,"tick":{"mrid":100021894696879,"id":1705552842,"bid":[42713.9,6503],"ask":[42714,3079],"ts":1705552842033,"version":100021894696879,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:43.432 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552842035,当前的时间戳为:1705552843431,时间间隔为:1396毫秒 +2024-01-18 12:40:43.464 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552842068,"tick":{"mrid":100021894696887,"id":1705552842,"bid":[42713.9,6305],"ask":[42714,3079],"ts":1705552842064,"version":100021894696887,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:43.464 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552842068,当前的时间戳为:1705552843464,时间间隔为:1396毫秒 +2024-01-18 12:40:43.466 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552842071,"tick":{"mrid":100021894696890,"id":1705552842,"bid":[42713.9,5747],"ask":[42714,3079],"ts":1705552842069,"version":100021894696890,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:43.466 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552842071,当前的时间戳为:1705552843466,时间间隔为:1395毫秒 +2024-01-18 12:40:43.482 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552842083,"tick":{"mrid":100021894696897,"id":1705552842,"bid":[42713.9,5743],"ask":[42714,3079],"ts":1705552842081,"version":100021894696897,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:43.483 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552842083,当前的时间戳为:1705552843482,时间间隔为:1399毫秒 +2024-01-18 12:40:43.496 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552842099,"tick":{"mrid":100021894696903,"id":1705552842,"bid":[42713.9,5742],"ask":[42714,3079],"ts":1705552842096,"version":100021894696903,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:43.496 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552842099,当前的时间戳为:1705552843496,时间间隔为:1397毫秒 +2024-01-18 12:40:43.555 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552842158,"tick":{"mrid":100021894696916,"id":1705552842,"bid":[42713.9,4769],"ask":[42714,3079],"ts":1705552842156,"version":100021894696916,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:43.556 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552842158,当前的时间戳为:1705552843556,时间间隔为:1398毫秒 +2024-01-18 12:40:43.585 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552842190,"tick":{"mrid":100021894696921,"id":1705552842,"bid":[42713.9,4770],"ask":[42714,3079],"ts":1705552842188,"version":100021894696921,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:43.586 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552842190,当前的时间戳为:1705552843585,时间间隔为:1395毫秒 +2024-01-18 12:40:43.667 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552842270,"tick":{"mrid":100021894696944,"id":1705552842,"bid":[42713.9,4968],"ask":[42714,3079],"ts":1705552842268,"version":100021894696944,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:43.667 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552842270,当前的时间戳为:1705552843667,时间间隔为:1397毫秒 +2024-01-18 12:40:43.696 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552842298,"tick":{"mrid":100021894696959,"id":1705552842,"bid":[42713.9,4970],"ask":[42714,3079],"ts":1705552842296,"version":100021894696959,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:43.697 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552842298,当前的时间戳为:1705552843697,时间间隔为:1399毫秒 +2024-01-18 12:40:43.847 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552842449,"tick":{"mrid":100021894696993,"id":1705552842,"bid":[42713.9,5943],"ask":[42714,3079],"ts":1705552842447,"version":100021894696993,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:43.847 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552842449,当前的时间戳为:1705552843847,时间间隔为:1398毫秒 +2024-01-18 12:40:43.901 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552842507,"tick":{"mrid":100021894697000,"id":1705552842,"bid":[42713.9,4970],"ask":[42714,3079],"ts":1705552842505,"version":100021894697000,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:43.902 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552842507,当前的时间戳为:1705552843902,时间间隔为:1395毫秒 +2024-01-18 12:40:44.028 [DEBUG] [pool-2-thread-1] [com.huobi.wss.handle.WssMarketHandle.dealPing:125] - 发送pong:{"pong":2} +2024-01-18 12:40:44.050 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552842657,"tick":{"mrid":100021894697028,"id":1705552842,"bid":[42713.9,4969],"ask":[42714,3079],"ts":1705552842655,"version":100021894697028,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:44.051 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552842657,当前的时间戳为:1705552844051,时间间隔为:1394毫秒 +2024-01-18 12:40:44.376 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552842980,"tick":{"mrid":100021894697094,"id":1705552842,"bid":[42713.9,4969],"ask":[42714,3160],"ts":1705552842978,"version":100021894697094,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:44.376 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552842980,当前的时间戳为:1705552844376,时间间隔为:1396毫秒 +2024-01-18 12:40:44.493 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552843100,"tick":{"mrid":100021894697123,"id":1705552843,"bid":[42713.9,4968],"ask":[42714,3160],"ts":1705552843098,"version":100021894697123,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:44.494 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552843100,当前的时间戳为:1705552844494,时间间隔为:1394毫秒 +2024-01-18 12:40:44.589 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552843196,"tick":{"mrid":100021894697188,"id":1705552843,"bid":[42713.9,4969],"ask":[42714,3160],"ts":1705552843194,"version":100021894697188,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:44.589 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552843196,当前的时间戳为:1705552844589,时间间隔为:1393毫秒 +2024-01-18 12:40:44.773 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552843378,"tick":{"mrid":100021894697228,"id":1705552843,"bid":[42713.9,5527],"ask":[42714,3160],"ts":1705552843375,"version":100021894697228,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:44.774 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552843378,当前的时间戳为:1705552844774,时间间隔为:1396毫秒 +2024-01-18 12:40:45.157 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552843763,"tick":{"mrid":100021894697311,"id":1705552843,"bid":[42713.9,7026],"ask":[42714,3160],"ts":1705552843761,"version":100021894697311,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:45.158 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552843763,当前的时间戳为:1705552845157,时间间隔为:1394毫秒 +2024-01-18 12:40:45.491 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552844097,"tick":{"mrid":100021894697388,"id":1705552844,"bid":[42713.9,7025],"ask":[42714,3160],"ts":1705552844094,"version":100021894697388,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:45.492 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552844097,当前的时间戳为:1705552845492,时间间隔为:1395毫秒 +2024-01-18 12:40:45.584 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552844190,"tick":{"mrid":100021894697419,"id":1705552844,"bid":[42713.9,7026],"ask":[42714,3160],"ts":1705552844188,"version":100021894697419,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:45.584 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552844190,当前的时间戳为:1705552845584,时间间隔为:1394毫秒 +2024-01-18 12:40:59.890 [DEBUG] [WebSocketConnectReadThread-12] [com.huobi.wss.handle.WssMarketHandle.onOpen:57] - onOpen Success +2024-01-18 12:41:03.630 [DEBUG] [pool-2-thread-1] [com.huobi.wss.handle.WssMarketHandle.dealPing:125] - 发送pong:{"pong":1} +2024-01-18 12:41:08.624 [DEBUG] [pool-2-thread-1] [com.huobi.wss.handle.WssMarketHandle.dealPing:125] - 发送pong:{"pong":2} +2024-01-18 12:41:13.624 [DEBUG] [pool-2-thread-1] [com.huobi.wss.handle.WssMarketHandle.dealPing:125] - 发送pong:{"pong":3} +2024-01-18 12:41:18.626 [DEBUG] [pool-2-thread-1] [com.huobi.wss.handle.WssMarketHandle.dealPing:125] - 发送pong:{"pong":4} +2024-01-18 12:41:23.637 [DEBUG] [pool-2-thread-1] [com.huobi.wss.handle.WssMarketHandle.dealPing:125] - 发送pong:{"pong":5} +2024-01-18 12:41:28.624 [DEBUG] [pool-2-thread-1] [com.huobi.wss.handle.WssMarketHandle.dealPing:125] - 发送pong:{"pong":6} +2024-01-18 12:41:33.625 [DEBUG] [pool-2-thread-1] [com.huobi.wss.handle.WssMarketHandle.dealPing:125] - 发送pong:{"pong":7} +2024-01-18 12:41:38.628 [DEBUG] [pool-2-thread-1] [com.huobi.wss.handle.WssMarketHandle.dealPing:125] - 发送pong:{"pong":8} +2024-01-18 12:41:43.630 [DEBUG] [pool-2-thread-1] [com.huobi.wss.handle.WssMarketHandle.dealPing:125] - 发送pong:{"pong":9} +2024-01-18 12:41:48.631 [DEBUG] [pool-2-thread-1] [com.huobi.wss.handle.WssMarketHandle.dealPing:125] - 发送pong:{"pong":10} diff --git a/log/debug/debug.2024-01-18_13.log b/log/debug/debug.2024-01-18_13.log new file mode 100644 index 0000000..7925e87 --- /dev/null +++ b/log/debug/debug.2024-01-18_13.log @@ -0,0 +1,124 @@ +2024-01-18 13:06:02.966 [ERROR] [WebSocketConnectReadThread-12] [com.huobi.wss.handle.WssMarketHandle.onError:98] - onError: +java.net.ConnectException: Connection timed out: connect + at java.net.DualStackPlainSocketImpl.connect0(Native Method) + at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:75) + at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:476) + at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:218) + at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:200) + at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:162) + at java.net.Socket.connect(Socket.java:606) + at org.java_websocket.client.WebSocketClient.run(WebSocketClient.java:395) + at java.lang.Thread.run(Thread.java:750) +2024-01-18 13:06:02.981 [ERROR] [WebSocketConnectReadThread-12] [com.huobi.wss.handle.WssMarketHandle.onClose:93] - onClose i:-1,s:Connection timed out: connect,b:false +2024-01-18 13:06:21.204 [DEBUG] [WebSocketConnectReadThread-12] [com.huobi.wss.handle.WssMarketHandle.onOpen:57] - onOpen Success +2024-01-18 13:06:21.404 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:25] - 订阅(sub)指数K线数据用户收到的数据===============:{"ch":"market.BTC-USDT.index.1min","ts":1705554379120,"tick":{"id":1705554360,"open":"42636.71","close":"42636.68","high":"42636.71333333333","low":"42636.676666666666","amount":"0","vol":"0","count":0}} +2024-01-18 13:06:21.418 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:28] - 订阅(sub)指数K线数据的ts为:1705554379120,当前的时间戳为:1705554381405,时间间隔为:2285毫秒 +2024-01-18 13:06:21.590 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:25] - 订阅(sub)指数K线数据用户收到的数据===============:{"ch":"market.BTC-USDT.index.1min","ts":1705554380119,"tick":{"id":1705554360,"open":"42636.71","close":"42636.68","high":"42636.71333333333","low":"42636.676666666666","amount":"0","vol":"0","count":0}} +2024-01-18 13:06:21.591 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:28] - 订阅(sub)指数K线数据的ts为:1705554380119,当前的时间戳为:1705554381591,时间间隔为:1472毫秒 +2024-01-18 13:06:22.572 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:25] - 订阅(sub)指数K线数据用户收到的数据===============:{"ch":"market.BTC-USDT.index.1min","ts":1705554381108,"tick":{"id":1705554360,"open":"42636.71","close":"42636.676666666666","high":"42636.71333333333","low":"42636.676666666666","amount":"0","vol":"0","count":0}} +2024-01-18 13:06:22.573 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:28] - 订阅(sub)指数K线数据的ts为:1705554381108,当前的时间戳为:1705554382573,时间间隔为:1465毫秒 +2024-01-18 13:06:23.586 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:25] - 订阅(sub)指数K线数据用户收到的数据===============:{"ch":"market.BTC-USDT.index.1min","ts":1705554382122,"tick":{"id":1705554360,"open":"42636.71","close":"42636.71","high":"42636.71333333333","low":"42636.676666666666","amount":"0","vol":"0","count":0}} +2024-01-18 13:06:23.588 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:28] - 订阅(sub)指数K线数据的ts为:1705554382122,当前的时间戳为:1705554383588,时间间隔为:1466毫秒 +2024-01-18 13:06:24.675 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:25] - 订阅(sub)指数K线数据用户收到的数据===============:{"ch":"market.BTC-USDT.index.1min","ts":1705554383199,"tick":{"id":1705554360,"open":"42636.71","close":"42636.71","high":"42636.71333333333","low":"42636.676666666666","amount":"0","vol":"0","count":0}} +2024-01-18 13:06:24.675 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:28] - 订阅(sub)指数K线数据的ts为:1705554383199,当前的时间戳为:1705554384675,时间间隔为:1476毫秒 +2024-01-18 13:06:25.587 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:25] - 订阅(sub)指数K线数据用户收到的数据===============:{"ch":"market.BTC-USDT.index.1min","ts":1705554384115,"tick":{"id":1705554360,"open":"42636.71","close":"42636.71","high":"42636.71333333333","low":"42636.676666666666","amount":"0","vol":"0","count":0}} +2024-01-18 13:06:25.588 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:28] - 订阅(sub)指数K线数据的ts为:1705554384115,当前的时间戳为:1705554385587,时间间隔为:1472毫秒 +2024-01-18 13:06:26.205 [DEBUG] [pool-2-thread-1] [com.huobi.wss.handle.WssMarketHandle.dealPing:125] - 发送pong:{"pong":1} +2024-01-18 13:06:26.590 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:25] - 订阅(sub)指数K线数据用户收到的数据===============:{"ch":"market.BTC-USDT.index.1min","ts":1705554385124,"tick":{"id":1705554360,"open":"42636.71","close":"42636.71","high":"42636.71333333333","low":"42636.676666666666","amount":"0","vol":"0","count":0}} +2024-01-18 13:06:26.591 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:28] - 订阅(sub)指数K线数据的ts为:1705554385124,当前的时间戳为:1705554386591,时间间隔为:1467毫秒 +2024-01-18 13:06:27.589 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:25] - 订阅(sub)指数K线数据用户收到的数据===============:{"ch":"market.BTC-USDT.index.1min","ts":1705554386121,"tick":{"id":1705554360,"open":"42636.71","close":"42636.71333333333","high":"42636.71333333333","low":"42636.676666666666","amount":"0","vol":"0","count":0}} +2024-01-18 13:06:27.590 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:28] - 订阅(sub)指数K线数据的ts为:1705554386121,当前的时间戳为:1705554387590,时间间隔为:1469毫秒 +2024-01-18 13:06:28.698 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:25] - 订阅(sub)指数K线数据用户收到的数据===============:{"ch":"market.BTC-USDT.index.1min","ts":1705554387117,"tick":{"id":1705554360,"open":"42636.71","close":"42636.71333333333","high":"42636.71333333333","low":"42636.676666666666","amount":"0","vol":"0","count":0}} +2024-01-18 13:06:28.699 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:28] - 订阅(sub)指数K线数据的ts为:1705554387117,当前的时间戳为:1705554388699,时间间隔为:1582毫秒 +2024-01-18 13:06:29.592 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:25] - 订阅(sub)指数K线数据用户收到的数据===============:{"ch":"market.BTC-USDT.index.1min","ts":1705554388122,"tick":{"id":1705554360,"open":"42636.71","close":"42636.71","high":"42636.71333333333","low":"42636.676666666666","amount":"0","vol":"0","count":0}} +2024-01-18 13:06:29.593 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:28] - 订阅(sub)指数K线数据的ts为:1705554388122,当前的时间戳为:1705554389593,时间间隔为:1471毫秒 +2024-01-18 13:06:30.608 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:25] - 订阅(sub)指数K线数据用户收到的数据===============:{"ch":"market.BTC-USDT.index.1min","ts":1705554389141,"tick":{"id":1705554360,"open":"42636.71","close":"42636.71","high":"42636.71333333333","low":"42636.676666666666","amount":"0","vol":"0","count":0}} +2024-01-18 13:06:30.609 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:28] - 订阅(sub)指数K线数据的ts为:1705554389141,当前的时间戳为:1705554390609,时间间隔为:1468毫秒 +2024-01-18 13:06:31.196 [DEBUG] [pool-2-thread-1] [com.huobi.wss.handle.WssMarketHandle.dealPing:125] - 发送pong:{"pong":2} +2024-01-18 13:06:31.587 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:25] - 订阅(sub)指数K线数据用户收到的数据===============:{"ch":"market.BTC-USDT.index.1min","ts":1705554390115,"tick":{"id":1705554360,"open":"42636.71","close":"42636.71","high":"42636.71333333333","low":"42636.676666666666","amount":"0","vol":"0","count":0}} +2024-01-18 13:06:31.587 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:28] - 订阅(sub)指数K线数据的ts为:1705554390115,当前的时间戳为:1705554391587,时间间隔为:1472毫秒 +2024-01-18 13:06:32.592 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:25] - 订阅(sub)指数K线数据用户收到的数据===============:{"ch":"market.BTC-USDT.index.1min","ts":1705554391120,"tick":{"id":1705554360,"open":"42636.71","close":"42636.71333333333","high":"42636.71333333333","low":"42636.676666666666","amount":"0","vol":"0","count":0}} +2024-01-18 13:06:32.593 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:28] - 订阅(sub)指数K线数据的ts为:1705554391120,当前的时间戳为:1705554392593,时间间隔为:1473毫秒 +2024-01-18 13:06:33.586 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:25] - 订阅(sub)指数K线数据用户收到的数据===============:{"ch":"market.BTC-USDT.index.1min","ts":1705554392119,"tick":{"id":1705554360,"open":"42636.71","close":"42636.71","high":"42636.71333333333","low":"42636.676666666666","amount":"0","vol":"0","count":0}} +2024-01-18 13:06:33.587 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:28] - 订阅(sub)指数K线数据的ts为:1705554392119,当前的时间戳为:1705554393586,时间间隔为:1467毫秒 +2024-01-18 13:06:34.584 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:25] - 订阅(sub)指数K线数据用户收到的数据===============:{"ch":"market.BTC-USDT.index.1min","ts":1705554393119,"tick":{"id":1705554360,"open":"42636.71","close":"42636.71","high":"42636.71333333333","low":"42636.676666666666","amount":"0","vol":"0","count":0}} +2024-01-18 13:06:34.585 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:28] - 订阅(sub)指数K线数据的ts为:1705554393119,当前的时间戳为:1705554394585,时间间隔为:1466毫秒 +2024-01-18 13:06:35.585 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:25] - 订阅(sub)指数K线数据用户收到的数据===============:{"ch":"market.BTC-USDT.index.1min","ts":1705554394119,"tick":{"id":1705554360,"open":"42636.71","close":"42636.71333333333","high":"42636.71333333333","low":"42636.676666666666","amount":"0","vol":"0","count":0}} +2024-01-18 13:06:35.586 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:28] - 订阅(sub)指数K线数据的ts为:1705554394119,当前的时间戳为:1705554395585,时间间隔为:1466毫秒 +2024-01-18 13:06:36.196 [DEBUG] [pool-2-thread-1] [com.huobi.wss.handle.WssMarketHandle.dealPing:125] - 发送pong:{"pong":3} +2024-01-18 13:06:36.590 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:25] - 订阅(sub)指数K线数据用户收到的数据===============:{"ch":"market.BTC-USDT.index.1min","ts":1705554395119,"tick":{"id":1705554360,"open":"42636.71","close":"42636.71","high":"42636.71333333333","low":"42636.676666666666","amount":"0","vol":"0","count":0}} +2024-01-18 13:06:36.591 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:28] - 订阅(sub)指数K线数据的ts为:1705554395119,当前的时间戳为:1705554396591,时间间隔为:1472毫秒 +2024-01-18 13:06:37.580 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:25] - 订阅(sub)指数K线数据用户收到的数据===============:{"ch":"market.BTC-USDT.index.1min","ts":1705554396113,"tick":{"id":1705554360,"open":"42636.71","close":"42636.71","high":"42636.71333333333","low":"42636.676666666666","amount":"0","vol":"0","count":0}} +2024-01-18 13:06:37.580 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:28] - 订阅(sub)指数K线数据的ts为:1705554396113,当前的时间戳为:1705554397580,时间间隔为:1467毫秒 +2024-01-18 13:06:38.587 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:25] - 订阅(sub)指数K线数据用户收到的数据===============:{"ch":"market.BTC-USDT.index.1min","ts":1705554397119,"tick":{"id":1705554360,"open":"42636.71","close":"42636.71333333333","high":"42636.71333333333","low":"42636.676666666666","amount":"0","vol":"0","count":0}} +2024-01-18 13:06:38.589 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:28] - 订阅(sub)指数K线数据的ts为:1705554397119,当前的时间戳为:1705554398589,时间间隔为:1470毫秒 +2024-01-18 13:06:39.589 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:25] - 订阅(sub)指数K线数据用户收到的数据===============:{"ch":"market.BTC-USDT.index.1min","ts":1705554398122,"tick":{"id":1705554360,"open":"42636.71","close":"42636.71","high":"42636.71333333333","low":"42636.676666666666","amount":"0","vol":"0","count":0}} +2024-01-18 13:06:39.589 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:28] - 订阅(sub)指数K线数据的ts为:1705554398122,当前的时间戳为:1705554399589,时间间隔为:1467毫秒 +2024-01-18 13:06:40.588 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:25] - 订阅(sub)指数K线数据用户收到的数据===============:{"ch":"market.BTC-USDT.index.1min","ts":1705554399118,"tick":{"id":1705554360,"open":"42636.71","close":"42636.71","high":"42636.71333333333","low":"42636.676666666666","amount":"0","vol":"0","count":0}} +2024-01-18 13:06:40.588 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:28] - 订阅(sub)指数K线数据的ts为:1705554399118,当前的时间戳为:1705554400588,时间间隔为:1470毫秒 +2024-01-18 13:06:41.197 [DEBUG] [pool-2-thread-1] [com.huobi.wss.handle.WssMarketHandle.dealPing:125] - 发送pong:{"pong":4} +2024-01-18 13:06:41.598 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:25] - 订阅(sub)指数K线数据用户收到的数据===============:{"ch":"market.BTC-USDT.index.1min","ts":1705554400117,"tick":{"id":1705554360,"open":"42636.71","close":"42636.71","high":"42636.71333333333","low":"42636.676666666666","amount":"0","vol":"0","count":0}} +2024-01-18 13:06:41.598 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:28] - 订阅(sub)指数K线数据的ts为:1705554400117,当前的时间戳为:1705554401598,时间间隔为:1481毫秒 +2024-01-18 13:06:42.599 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:25] - 订阅(sub)指数K线数据用户收到的数据===============:{"ch":"market.BTC-USDT.index.1min","ts":1705554401119,"tick":{"id":1705554360,"open":"42636.71","close":"42636.71333333333","high":"42636.71333333333","low":"42636.676666666666","amount":"0","vol":"0","count":0}} +2024-01-18 13:06:42.599 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:28] - 订阅(sub)指数K线数据的ts为:1705554401119,当前的时间戳为:1705554402599,时间间隔为:1480毫秒 +2024-01-18 13:06:43.590 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:25] - 订阅(sub)指数K线数据用户收到的数据===============:{"ch":"market.BTC-USDT.index.1min","ts":1705554402115,"tick":{"id":1705554360,"open":"42636.71","close":"42636.71","high":"42636.71333333333","low":"42636.676666666666","amount":"0","vol":"0","count":0}} +2024-01-18 13:06:43.590 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:28] - 订阅(sub)指数K线数据的ts为:1705554402115,当前的时间戳为:1705554403590,时间间隔为:1475毫秒 +2024-01-18 13:06:44.582 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:25] - 订阅(sub)指数K线数据用户收到的数据===============:{"ch":"market.BTC-USDT.index.1min","ts":1705554403115,"tick":{"id":1705554360,"open":"42636.71","close":"42636.71","high":"42636.71333333333","low":"42636.676666666666","amount":"0","vol":"0","count":0}} +2024-01-18 13:06:44.582 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:28] - 订阅(sub)指数K线数据的ts为:1705554403115,当前的时间戳为:1705554404582,时间间隔为:1467毫秒 +2024-01-18 13:06:45.586 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:25] - 订阅(sub)指数K线数据用户收到的数据===============:{"ch":"market.BTC-USDT.index.1min","ts":1705554404113,"tick":{"id":1705554360,"open":"42636.71","close":"42636.71333333333","high":"42636.71333333333","low":"42636.676666666666","amount":"0","vol":"0","count":0}} +2024-01-18 13:06:45.586 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:28] - 订阅(sub)指数K线数据的ts为:1705554404113,当前的时间戳为:1705554405586,时间间隔为:1473毫秒 +2024-01-18 13:06:46.194 [DEBUG] [pool-2-thread-1] [com.huobi.wss.handle.WssMarketHandle.dealPing:125] - 发送pong:{"pong":5} +2024-01-18 13:06:46.587 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:25] - 订阅(sub)指数K线数据用户收到的数据===============:{"ch":"market.BTC-USDT.index.1min","ts":1705554405117,"tick":{"id":1705554360,"open":"42636.71","close":"42636.71","high":"42636.71333333333","low":"42636.676666666666","amount":"0","vol":"0","count":0}} +2024-01-18 13:06:46.588 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:28] - 订阅(sub)指数K线数据的ts为:1705554405117,当前的时间戳为:1705554406588,时间间隔为:1471毫秒 +2024-01-18 13:06:47.592 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:25] - 订阅(sub)指数K线数据用户收到的数据===============:{"ch":"market.BTC-USDT.index.1min","ts":1705554406125,"tick":{"id":1705554360,"open":"42636.71","close":"42636.71","high":"42636.71333333333","low":"42636.676666666666","amount":"0","vol":"0","count":0}} +2024-01-18 13:06:47.593 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:28] - 订阅(sub)指数K线数据的ts为:1705554406125,当前的时间戳为:1705554407593,时间间隔为:1468毫秒 +2024-01-18 13:06:48.728 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:25] - 订阅(sub)指数K线数据用户收到的数据===============:{"ch":"market.BTC-USDT.index.1min","ts":1705554407263,"tick":{"id":1705554360,"open":"42636.71","close":"42636.71","high":"42636.71333333333","low":"42636.676666666666","amount":"0","vol":"0","count":0}} +2024-01-18 13:06:48.729 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:28] - 订阅(sub)指数K线数据的ts为:1705554407263,当前的时间戳为:1705554408729,时间间隔为:1466毫秒 +2024-01-18 13:06:49.779 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:25] - 订阅(sub)指数K线数据用户收到的数据===============:{"ch":"market.BTC-USDT.index.1min","ts":1705554408313,"tick":{"id":1705554360,"open":"42636.71","close":"42636.71","high":"42636.71333333333","low":"42636.676666666666","amount":"0","vol":"0","count":0}} +2024-01-18 13:06:49.780 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:28] - 订阅(sub)指数K线数据的ts为:1705554408313,当前的时间戳为:1705554409780,时间间隔为:1467毫秒 +2024-01-18 13:07:36.521 [DEBUG] [WebSocketConnectReadThread-14] [com.huobi.wss.handle.WssMarketHandle.onOpen:57] - onOpen Success +2024-01-18 13:07:36.753 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:25] - 订阅(sub)指数K线数据用户收到的数据===============:{"ch":"market.BTC-USDT.index.1min","ts":1705554455116,"tick":{"id":1705554420,"open":"42635.12666666666","close":"42634.80333333334","high":"42635.12666666666","low":"42634.77333333333","amount":"0","vol":"0","count":0}} +2024-01-18 13:07:46.893 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:28] - 订阅(sub)指数K线数据的ts为:1705554455116,当前的时间戳为:1705554456756,时间间隔为:1640毫秒 +2024-01-18 13:07:46.894 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:25] - 订阅(sub)指数K线数据用户收到的数据===============:{"ch":"market.BTC-USDT.index.1min","ts":1705554456108,"tick":{"id":1705554420,"open":"42635.12666666666","close":"42634.806666666664","high":"42635.12666666666","low":"42634.77333333333","amount":"0","vol":"0","count":0}} +2024-01-18 13:07:46.895 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:28] - 订阅(sub)指数K线数据的ts为:1705554456108,当前的时间戳为:1705554466895,时间间隔为:10787毫秒 +2024-01-18 13:07:46.895 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:25] - 订阅(sub)指数K线数据用户收到的数据===============:{"ch":"market.BTC-USDT.index.1min","ts":1705554457113,"tick":{"id":1705554420,"open":"42635.12666666666","close":"42634.806666666664","high":"42635.12666666666","low":"42634.77333333333","amount":"0","vol":"0","count":0}} +2024-01-18 13:07:46.895 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:28] - 订阅(sub)指数K线数据的ts为:1705554457113,当前的时间戳为:1705554466895,时间间隔为:9782毫秒 +2024-01-18 13:07:46.896 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:25] - 订阅(sub)指数K线数据用户收到的数据===============:{"ch":"market.BTC-USDT.index.1min","ts":1705554458116,"tick":{"id":1705554420,"open":"42635.12666666666","close":"42634.80333333334","high":"42635.12666666666","low":"42634.77333333333","amount":"0","vol":"0","count":0}} +2024-01-18 13:07:46.896 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:28] - 订阅(sub)指数K线数据的ts为:1705554458116,当前的时间戳为:1705554466896,时间间隔为:8780毫秒 +2024-01-18 13:07:46.896 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:25] - 订阅(sub)指数K线数据用户收到的数据===============:{"ch":"market.BTC-USDT.index.1min","ts":1705554459114,"tick":{"id":1705554420,"open":"42635.12666666666","close":"42634.806666666664","high":"42635.12666666666","low":"42634.77333333333","amount":"0","vol":"0","count":0}} +2024-01-18 13:07:46.896 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:28] - 订阅(sub)指数K线数据的ts为:1705554459114,当前的时间戳为:1705554466896,时间间隔为:7782毫秒 +2024-01-18 13:07:46.897 [DEBUG] [pool-2-thread-1] [com.huobi.wss.handle.WssMarketHandle.dealPing:125] - 发送pong:{"pong":1} +2024-01-18 13:07:46.897 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:25] - 订阅(sub)指数K线数据用户收到的数据===============:{"ch":"market.BTC-USDT.index.1min","ts":1705554460114,"tick":{"id":1705554420,"open":"42635.12666666666","close":"42634.84","high":"42635.12666666666","low":"42634.77333333333","amount":"0","vol":"0","count":0}} +2024-01-18 13:07:46.897 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:28] - 订阅(sub)指数K线数据的ts为:1705554460114,当前的时间戳为:1705554466897,时间间隔为:6783毫秒 +2024-01-18 13:07:46.897 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:25] - 订阅(sub)指数K线数据用户收到的数据===============:{"ch":"market.BTC-USDT.index.1min","ts":1705554461120,"tick":{"id":1705554420,"open":"42635.12666666666","close":"42634.83666666667","high":"42635.12666666666","low":"42634.77333333333","amount":"0","vol":"0","count":0}} +2024-01-18 13:07:46.898 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:28] - 订阅(sub)指数K线数据的ts为:1705554461120,当前的时间戳为:1705554466898,时间间隔为:5778毫秒 +2024-01-18 13:07:46.898 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:25] - 订阅(sub)指数K线数据用户收到的数据===============:{"ch":"market.BTC-USDT.index.1min","ts":1705554462115,"tick":{"id":1705554420,"open":"42635.12666666666","close":"42634.83666666667","high":"42635.12666666666","low":"42634.77333333333","amount":"0","vol":"0","count":0}} +2024-01-18 13:07:46.898 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:28] - 订阅(sub)指数K线数据的ts为:1705554462115,当前的时间戳为:1705554466898,时间间隔为:4783毫秒 +2024-01-18 13:07:46.898 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:25] - 订阅(sub)指数K线数据用户收到的数据===============:{"ch":"market.BTC-USDT.index.1min","ts":1705554463314,"tick":{"id":1705554420,"open":"42635.12666666666","close":"42634.84","high":"42635.12666666666","low":"42634.77333333333","amount":"0","vol":"0","count":0}} +2024-01-18 13:07:46.899 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:28] - 订阅(sub)指数K线数据的ts为:1705554463314,当前的时间戳为:1705554466898,时间间隔为:3584毫秒 +2024-01-18 13:07:46.899 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:25] - 订阅(sub)指数K线数据用户收到的数据===============:{"ch":"market.BTC-USDT.index.1min","ts":1705554464121,"tick":{"id":1705554420,"open":"42635.12666666666","close":"42634.84","high":"42635.12666666666","low":"42634.77333333333","amount":"0","vol":"0","count":0}} +2024-01-18 13:07:46.899 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:28] - 订阅(sub)指数K线数据的ts为:1705554464121,当前的时间戳为:1705554466899,时间间隔为:2778毫秒 +2024-01-18 13:07:46.899 [DEBUG] [pool-2-thread-1] [com.huobi.wss.handle.WssMarketHandle.dealPing:125] - 发送pong:{"pong":2} +2024-01-18 13:07:46.899 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:25] - 订阅(sub)指数K线数据用户收到的数据===============:{"ch":"market.BTC-USDT.index.1min","ts":1705554465118,"tick":{"id":1705554420,"open":"42635.12666666666","close":"42634.84","high":"42635.12666666666","low":"42634.77333333333","amount":"0","vol":"0","count":0}} +2024-01-18 13:07:46.900 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:28] - 订阅(sub)指数K线数据的ts为:1705554465118,当前的时间戳为:1705554466900,时间间隔为:1782毫秒 +2024-01-18 13:50:31.614 [DEBUG] [WebSocketConnectReadThread-12] [com.huobi.wss.handle.WssMarketReqHandle.onOpen:41] - onOpen Success +2024-01-18 13:50:31.663 [DEBUG] [WebSocketConnectReadThread-12] [com.huobi.wss.handle.WssMarketReqHandle.dealPing:129] - 发送pong:{"pong":1705557031627} +2024-01-18 13:50:36.622 [DEBUG] [WebSocketConnectReadThread-12] [com.huobi.wss.handle.WssMarketReqHandle.dealPing:129] - 发送pong:{"pong":1705557036621} +2024-01-18 13:50:41.605 [DEBUG] [WebSocketConnectReadThread-12] [com.huobi.wss.handle.WssMarketReqHandle.dealPing:129] - 发送pong:{"pong":1705557041605} +2024-01-18 13:50:46.602 [DEBUG] [WebSocketConnectReadThread-12] [com.huobi.wss.handle.WssMarketReqHandle.dealPing:129] - 发送pong:{"pong":1705557046602} +2024-01-18 13:50:51.603 [DEBUG] [WebSocketConnectReadThread-12] [com.huobi.wss.handle.WssMarketReqHandle.dealPing:129] - 发送pong:{"pong":1705557051603} +2024-01-18 13:50:56.604 [DEBUG] [WebSocketConnectReadThread-12] [com.huobi.wss.handle.WssMarketReqHandle.dealPing:129] - 发送pong:{"pong":1705557056604} +2024-01-18 13:51:01.605 [DEBUG] [WebSocketConnectReadThread-12] [com.huobi.wss.handle.WssMarketReqHandle.dealPing:129] - 发送pong:{"pong":1705557061605} +2024-01-18 13:51:06.603 [DEBUG] [WebSocketConnectReadThread-12] [com.huobi.wss.handle.WssMarketReqHandle.dealPing:129] - 发送pong:{"pong":1705557066602} +2024-01-18 13:51:11.602 [DEBUG] [WebSocketConnectReadThread-12] [com.huobi.wss.handle.WssMarketReqHandle.dealPing:129] - 发送pong:{"pong":1705557071602} +2024-01-18 13:51:16.602 [DEBUG] [WebSocketConnectReadThread-12] [com.huobi.wss.handle.WssMarketReqHandle.dealPing:129] - 发送pong:{"pong":1705557076602} +2024-01-18 13:51:21.602 [DEBUG] [WebSocketConnectReadThread-12] [com.huobi.wss.handle.WssMarketReqHandle.dealPing:129] - 发送pong:{"pong":1705557081602} +2024-01-18 13:51:26.603 [DEBUG] [WebSocketConnectReadThread-12] [com.huobi.wss.handle.WssMarketReqHandle.dealPing:129] - 发送pong:{"pong":1705557086603} +2024-01-18 13:51:31.604 [DEBUG] [WebSocketConnectReadThread-12] [com.huobi.wss.handle.WssMarketReqHandle.dealPing:129] - 发送pong:{"pong":1705557091604} +2024-01-18 13:51:36.609 [DEBUG] [WebSocketConnectReadThread-12] [com.huobi.wss.handle.WssMarketReqHandle.dealPing:129] - 发送pong:{"pong":1705557096609} +2024-01-18 13:51:41.603 [DEBUG] [WebSocketConnectReadThread-12] [com.huobi.wss.handle.WssMarketReqHandle.dealPing:129] - 发送pong:{"pong":1705557101603} +2024-01-18 13:51:46.611 [DEBUG] [WebSocketConnectReadThread-12] [com.huobi.wss.handle.WssMarketReqHandle.dealPing:129] - 发送pong:{"pong":1705557106611} +2024-01-18 13:52:18.172 [DEBUG] [WebSocketConnectReadThread-14] [com.huobi.wss.handle.WssMarketReqHandle.onOpen:41] - onOpen Success +2024-01-18 13:52:18.238 [DEBUG] [WebSocketConnectReadThread-14] [com.huobi.wss.handle.WssMarketReqHandle.dealPing:129] - 发送pong:{"pong":1705557138194} +2024-01-18 13:52:23.160 [DEBUG] [WebSocketConnectReadThread-14] [com.huobi.wss.handle.WssMarketReqHandle.dealPing:129] - 发送pong:{"pong":1705557143160} +2024-01-18 13:52:28.162 [DEBUG] [WebSocketConnectReadThread-14] [com.huobi.wss.handle.WssMarketReqHandle.dealPing:129] - 发送pong:{"pong":1705557148162} diff --git a/log/debug/debug.2024-01-19_16.log b/log/debug/debug.2024-01-19_16.log new file mode 100644 index 0000000..45217a5 --- /dev/null +++ b/log/debug/debug.2024-01-19_16.log @@ -0,0 +1,28 @@ +2024-01-19 16:29:09.898 [DEBUG] [main] [com.huobi.api.service.usdt.market.MarketAPIServiceImpl.getSwapContractInfo:47] - body:{"status":"ok","data":[{"symbol":"BTC","contract_code":"BTC-USDT","contract_size":0.001000000000000000,"price_tick":0.100000000000000000,"delivery_date":"","delivery_time":"","create_date":"20201021","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"BTC-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"ETH","contract_code":"ETH-USDT","contract_size":0.010000000000000000,"price_tick":0.010000000000000000,"delivery_date":"","delivery_time":"","create_date":"20201021","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"ETH-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"LTC","contract_code":"LTC-USDT","contract_size":0.100000000000000000,"price_tick":0.010000000000000000,"delivery_date":"","delivery_time":"","create_date":"20201111","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"LTC-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"DOGE","contract_code":"DOGE-USDT","contract_size":100.000000000000000000,"price_tick":0.000001000000000000,"delivery_date":"","delivery_time":"","create_date":"20210113","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"DOGE-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"SHIB","contract_code":"SHIB-USDT","contract_size":1000.000000000000000000,"price_tick":1.000000000E-9,"delivery_date":"","delivery_time":"","create_date":"20210511","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"SHIB-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"ICP","contract_code":"ICP-USDT","contract_size":0.100000000000000000,"price_tick":0.001000000000000000,"delivery_date":"","delivery_time":"","create_date":"20231219","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"ICP-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"XRP","contract_code":"XRP-USDT","contract_size":10.000000000000000000,"price_tick":0.000010000000000000,"delivery_date":"","delivery_time":"","create_date":"20201111","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"XRP-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"LINK","contract_code":"LINK-USDT","contract_size":0.100000000000000000,"price_tick":0.000100000000000000,"delivery_date":"","delivery_time":"","create_date":"20201021","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"LINK-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"TRX","contract_code":"TRX-USDT","contract_size":100.000000000000000000,"price_tick":0.000001000000000000,"delivery_date":"","delivery_time":"","create_date":"20201111","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"TRX-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"DOT","contract_code":"DOT-USDT","contract_size":1.000000000000000000,"price_tick":0.000100000000000000,"delivery_date":"","delivery_time":"","create_date":"20201021","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"DOT-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"ADA","contract_code":"ADA-USDT","contract_size":10.000000000000000000,"price_tick":0.000001000000000000,"delivery_date":"","delivery_time":"","create_date":"20201120","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"ADA-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"EOS","contract_code":"EOS-USDT","contract_size":1.000000000000000000,"price_tick":0.000100000000000000,"delivery_date":"","delivery_time":"","create_date":"20201111","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"EOS-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"BCH","contract_code":"BCH-USDT","contract_size":0.010000000000000000,"price_tick":0.010000000000000000,"delivery_date":"","delivery_time":"","create_date":"20201021","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"BCH-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"BSV","contract_code":"BSV-USDT","contract_size":0.010000000000000000,"price_tick":0.010000000000000000,"delivery_date":"","delivery_time":"","create_date":"20230626","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"BSV-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"YFI","contract_code":"YFI-USDT","contract_size":0.000100000000000000,"price_tick":0.100000000000000000,"delivery_date":"","delivery_time":"","create_date":"20201021","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"YFI-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"UNI","contract_code":"UNI-USDT","contract_size":1.000000000000000000,"price_tick":0.000100000000000000,"delivery_date":"","delivery_time":"","create_date":"20201021","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"UNI-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"FIL","contract_code":"FIL-USDT","contract_size":0.100000000000000000,"price_tick":0.001000000000000000,"delivery_date":"","delivery_time":"","create_date":"20201021","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"FIL-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"SNX","contract_code":"SNX-USDT","contract_size":1.000000000000000000,"price_tick":0.000100000000000000,"delivery_date":"","delivery_time":"","create_date":"20201223","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"SNX-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"BNB","contract_code":"BNB-USDT","contract_size":0.100000000000000000,"price_tick":0.001000000000000000,"delivery_date":"","delivery_time":"","create_date":"20201021","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"BNB-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"ETC","contract_code":"ETC-USDT","contract_size":1.000000000000000000,"price_tick":0.000100000000000000,"delivery_date":"","delivery_time":"","create_date":"20201120","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"ETC-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"THETA","contract_code":"THETA-USDT","contract_size":10.000000000000000000,"price_tick":0.000010000000000000,"delivery_date":"","delivery_time":"","create_date":"20201216","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"THETA-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"KSM","contract_code":"KSM-USDT","contract_size":0.100000000000000000,"price_tick":0.001000000000000000,"delivery_date":"","delivery_time":"","create_date":"20201216","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"KSM-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"ATOM","contract_code":"ATOM-USDT","contract_size":1.000000000000000000,"price_tick":0.000100000000000000,"delivery_date":"","delivery_time":"","create_date":"20201126","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"ATOM-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"AAVE","contract_code":"AAVE-USDT","contract_size":0.100000000000000000,"price_tick":0.001000000000000000,"delivery_date":"","delivery_time":"","create_date":"20201120","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"AAVE-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"XLM","contract_code":"XLM-USDT","contract_size":10.000000000000000000,"price_tick":0.000010000000000000,"delivery_date":"","delivery_time":"","create_date":"20230721","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"XLM-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"SUSHI","contract_code":"SUSHI-USDT","contract_size":1.000000000000000000,"price_tick":0.000100000000000000,"delivery_date":"","delivery_time":"","create_date":"20201120","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"SUSHI-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"GRT","contract_code":"GRT-USDT","contract_size":10.000000000000000000,"price_tick":0.000010000000000000,"delivery_date":"","delivery_time":"","create_date":"20201223","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"GRT-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"1INCH","contract_code":"1INCH-USDT","contract_size":1.000000000000000000,"price_tick":0.000100000000000000,"delivery_date":"","delivery_time":"","create_date":"20201229","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"1INCH-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"CRV","contract_code":"CRV-USDT","contract_size":1.000000000000000000,"price_tick":0.000100000000000000,"delivery_date":"","delivery_time":"","create_date":"20201120","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"CRV-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"ALGO","contract_code":"ALGO-USDT","contract_size":10.000000000000000000,"price_tick":0.000010000000000000,"delivery_date":"","delivery_time":"","create_date":"20201204","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"ALGO-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"WAVES","contract_code":"WAVES-USDT","contract_size":1.000000000000000000,"price_tick":0.000100000000000000,"delivery_date":"","delivery_time":"","create_date":"20201126","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"WAVES-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"COMP","contract_code":"COMP-USDT","contract_size":0.010000000000000000,"price_tick":0.010000000000000000,"delivery_date":"","delivery_time":"","create_date":"20230717","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"COMP-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"XMR","contract_code":"XMR-USDT","contract_size":0.010000000000000000,"price_tick":0.010000000000000000,"delivery_date":"","delivery_time":"","create_date":"20230613","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"XMR-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"KAVA","contract_code":"KAVA-USDT","contract_size":1.000000000000000000,"price_tick":0.000100000000000000,"delivery_date":"","delivery_time":"","create_date":"20201126","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"KAVA-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"AVAX","contract_code":"AVAX-USDT","contract_size":1.000000000000000000,"price_tick":0.000100000000000000,"delivery_date":"","delivery_time":"","create_date":"20201223","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"AVAX-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"MATIC","contract_code":"MATIC-USDT","contract_size":100.000000000000000000,"price_tick":0.000010000000000000,"delivery_date":"","delivery_time":"","create_date":"20210113","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"MATIC-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"LINA","contract_code":"LINA-USDT","contract_size":10.000000000000000000,"price_tick":0.000010000000000000,"delivery_date":"","delivery_time":"","create_date":"20230601","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"LINA-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"SOL","contract_code":"SOL-USDT","contract_size":1.000000000000000000,"price_tick":0.000100000000000000,"delivery_date":"","delivery_time":"","create_date":"20210113","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"SOL-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"IOTA","contract_code":"IOTA-USDT","contract_size":1.000000000000000000,"price_tick":0.000100000000000000,"delivery_date":"","delivery_time":"","create_date":"20231204","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"IOTA-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"MKR","contract_code":"MKR-USDT","contract_size":0.001000000000000000,"price_tick":0.100000000000000000,"delivery_date":"","delivery_time":"","create_date":"20230314","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"MKR-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"SAND","contract_code":"SAND-USDT","contract_size":10.000000000000000000,"price_tick":0.000001000000000000,"delivery_date":"","delivery_time":"","create_date":"20210129","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"SAND-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"MASK","contract_code":"MASK-USDT","contract_size":0.100000000000000000,"price_tick":0.001000000000000000,"delivery_date":"","delivery_time":"","create_date":"20230216","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"MASK-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"NEAR","contract_code":"NEAR-USDT","contract_size":1.000000000000000000,"price_tick":0.001000000000000000,"delivery_date":"","delivery_time":"","create_date":"20210120","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"NEAR-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"MANA","contract_code":"MANA-USDT","contract_size":10.000000000000000000,"price_tick":0.000100000000000000,"delivery_date":"","delivery_time":"","create_date":"20210129","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"MANA-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"BNT","contract_code":"BNT-USDT","contract_size":1.000000000000000000,"price_tick":0.000100000000000000,"delivery_date":"","delivery_time":"","create_date":"20231009","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"BNT-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"LUNA","contract_code":"LUNA-USDT","contract_size":1.000000000000000000,"price_tick":0.000100000000000000,"delivery_date":"","delivery_time":"","create_date":"20220603","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"LUNA-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"WOO","contract_code":"WOO-USDT","contract_size":10.000000000000000000,"price_tick":0.000010000000000000,"delivery_date":"","delivery_time":"","create_date":"20230307","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"WOO-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"CHZ","contract_code":"CHZ-USDT","contract_size":10.000000000000000000,"price_tick":0.000010000000000000,"delivery_date":"","delivery_time":"","create_date":"20210312","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"CHZ-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"ONE","contract_code":"ONE-USDT","contract_size":100.000000000000000000,"price_tick":0.000001000000000000,"delivery_date":"","delivery_time":"","create_date":"20210319","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"ONE-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"STORJ","contract_code":"STORJ-USDT","contract_size":1.000000000000000000,"price_tick":0.000100000000000000,"delivery_date":"","delivery_time":"","create_date":"20230911","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"STORJ-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"BTT","contract_code":"BTT-USDT","contract_size":1000000.000000000000000000,"price_tick":1.000000000E-9,"delivery_date":"","delivery_time":"","create_date":"20231212","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"BTT-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"AXS","contract_code":"AXS-USDT","contract_size":0.100000000000000000,"price_tick":0.000100000000000000,"delivery_date":"","delivery_time":"","create_date":"20210804","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"AXS-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"ACH","contract_code":"ACH-USDT","contract_size":10.000000000000000000,"price_tick":0.000010000000000000,"delivery_date":"","delivery_time":"","create_date":"20230222","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"ACH-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"LRC","contract_code":"LRC-USDT","contract_size":10.000000000000000000,"price_tick":0.000010000000000000,"delivery_date":"","delivery_time":"","create_date":"20210113","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"LRC-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"YGG","contract_code":"YGG-USDT","contract_size":1.000000000000000000,"price_tick":0.000100000000000000,"delivery_date":"","delivery_time":"","create_date":"20230807","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"YGG-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"DYDX","contract_code":"DYDX-USDT","contract_size":0.100000000000000000,"price_tick":0.001000000000000000,"delivery_date":"","delivery_time":"","create_date":"20210908","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"DYDX-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"FTT","contract_code":"FTT-USDT","contract_size":1.000000000000000000,"price_tick":0.001000000000000000,"delivery_date":"","delivery_time":"","create_date":"20230630","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"FTT-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"GALA","contract_code":"GALA-USDT","contract_size":10.000000000000000000,"price_tick":0.000010000000000000,"delivery_date":"","delivery_time":"","create_date":"20230424","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"GALA-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"IMX","contract_code":"IMX-USDT","contract_size":0.100000000000000000,"price_tick":0.000100000000000000,"delivery_date":"","delivery_time":"","create_date":"20211118","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"IMX-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"MINA","contract_code":"MINA-USDT","contract_size":1.000000000000000000,"price_tick":0.000100000000000000,"delivery_date":"","delivery_time":"","create_date":"20231025","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"MINA-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"ENS","contract_code":"ENS-USDT","contract_size":0.100000000000000000,"price_tick":0.001000000000000000,"delivery_date":"","delivery_time":"","create_date":"20240111","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"ENS-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"RNDR","contract_code":"RNDR-USDT","contract_size":1.000000000000000000,"price_tick":0.000100000000000000,"delivery_date":"","delivery_time":"","create_date":"20230313","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"RNDR-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"PEOPLE","contract_code":"PEOPLE-USDT","contract_size":10.000000000000000000,"price_tick":0.000010000000000000,"delivery_date":"","delivery_time":"","create_date":"20240108","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"PEOPLE-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"JST","contract_code":"JST-USDT","contract_size":10.000000000000000000,"price_tick":0.000001000000000000,"delivery_date":"","delivery_time":"","create_date":"20220119","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"JST-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"LPT","contract_code":"LPT-USDT","contract_size":0.100000000000000000,"price_tick":0.001000000000000000,"delivery_date":"","delivery_time":"","create_date":"20230814","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"LPT-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"FTM","contract_code":"FTM-USDT","contract_size":1.000000000000000000,"price_tick":0.000100000000000000,"delivery_date":"","delivery_time":"","create_date":"20211124","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"FTM-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"FRONT","contract_code":"FRONT-USDT","contract_size":1.000000000000000000,"price_tick":0.000100000000000000,"delivery_date":"","delivery_time":"","create_date":"20230923","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"FRONT-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"BLZ","contract_code":"BLZ-USDT","contract_size":10.000000000000000000,"price_tick":0.000010000000000000,"delivery_date":"","delivery_time":"","create_date":"20230814","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"BLZ-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"OGN","contract_code":"OGN-USDT","contract_size":1.000000000000000000,"price_tick":0.000100000000000000,"delivery_date":"","delivery_time":"","create_date":"20230724","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"OGN-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"EGLD","contract_code":"EGLD-USDT","contract_size":0.010000000000000000,"price_tick":0.010000000000000000,"delivery_date":"","delivery_time":"","create_date":"20231106","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"EGLD-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"ARK","contract_code":"ARK-USDT","contract_size":1.000000000000000000,"price_tick":0.000100000000000000,"delivery_date":"","delivery_time":"","create_date":"20231031","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"ARK-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"STEEM","contract_code":"STEEM-USDT","contract_size":1.000000000000000000,"price_tick":0.000100000000000000,"delivery_date":"","delivery_time":"","create_date":"20231109","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"STEEM-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"LOOM","contract_code":"LOOM-USDT","contract_size":1.000000000000000000,"price_tick":0.000100000000000000,"delivery_date":"","delivery_time":"","create_date":"20231013","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"LOOM-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"SNT","contract_code":"SNT-USDT","contract_size":10.000000000000000000,"price_tick":0.000010000000000000,"delivery_date":"","delivery_time":"","create_date":"20231102","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"SNT-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"TRB","contract_code":"TRB-USDT","contract_size":0.100000000000000000,"price_tick":0.001000000000000000,"delivery_date":"","delivery_time":"","create_date":"20230828","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"TRB-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"GAS","contract_code":"GAS-USDT","contract_size":0.100000000000000000,"price_tick":0.001000000000000000,"delivery_date":"","delivery_time":"","create_date":"20231105","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"GAS-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"MEME","contract_code":"MEME-USDT","contract_size":10.000000000000000000,"price_tick":0.000001000000000000,"delivery_date":"","delivery_time":"","create_date":"20231104","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"MEME-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"INJ","contract_code":"INJ-USDT","contract_size":0.100000000000000000,"price_tick":0.001000000000000000,"delivery_date":"","delivery_time":"","create_date":"20231109","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"INJ-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"JTO","contract_code":"JTO-USDT","contract_size":0.100000000000000000,"price_tick":0.000100000000000000,"delivery_date":"","delivery_time":"","create_date":"20231208","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"JTO-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"BONK","contract_code":"BONK-USDT","contract_size":100000.000000000000000000,"price_tick":1.000000000E-9,"delivery_date":"","delivery_time":"","create_date":"20231122","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"BONK-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"APT","contract_code":"APT-USDT","contract_size":0.100000000000000000,"price_tick":0.001000000000000000,"delivery_date":"","delivery_time":"","create_date":"20221019","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"APT-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"LDO","contract_code":"LDO-USDT","contract_size":1.000000000000000000,"price_tick":0.000100000000000000,"delivery_date":"","delivery_time":"","create_date":"20230216","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"LDO-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"FET","contract_code":"FET-USDT","contract_size":1.000000000000000000,"price_tick":0.000100000000000000,"delivery_date":"","delivery_time":"","create_date":"20230313","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"FET-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"TON","contract_code":"TON-USDT","contract_size":0.100000000000000000,"price_tick":0.000100000000000000,"delivery_date":"","delivery_time":"","create_date":"20230109","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"TON-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"SEI","contract_code":"SEI-USDT","contract_size":1.000000000000000000,"price_tick":0.000100000000000000,"delivery_date":"","delivery_time":"","create_date":"20230816","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"SEI-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"RATS","contract_code":"RATS-USDT","contract_size":1000.000000000000000000,"price_tick":1.00000000000E-7,"delivery_date":"","delivery_time":"","create_date":"20231214","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"RATS-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"ARB","contract_code":"ARB-USDT","contract_size":1.000000000000000000,"price_tick":0.000100000000000000,"delivery_date":"","delivery_time":"","create_date":"20230323","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"ARB-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"POLYX","contract_code":"POLYX-USDT","contract_size":1.000000000000000000,"price_tick":0.000100000000000000,"delivery_date":"","delivery_time":"","create_date":"20231025","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"POLYX-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"RDNT","contract_code":"RDNT-USDT","contract_size":1.000000000000000000,"price_tick":0.000100000000000000,"delivery_date":"","delivery_time":"","create_date":"20230404","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"RDNT-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"BIGTIME","contract_code":"BIGTIME-USDT","contract_size":1.000000000000000000,"price_tick":0.000100000000000000,"delivery_date":"","delivery_time":"","create_date":"20231013","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"BIGTIME-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"METIS","contract_code":"METIS-USDT","contract_size":0.010000000000000000,"price_tick":0.010000000000000000,"delivery_date":"","delivery_time":"","create_date":"20240117","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"METIS-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"TIA","contract_code":"TIA-USDT","contract_size":0.100000000000000000,"price_tick":0.001000000000000000,"delivery_date":"","delivery_time":"","create_date":"20231114","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"TIA-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"LADYS","contract_code":"LADYS-USDT","contract_size":1000000.000000000000000000,"price_tick":1.0000000E-11,"delivery_date":"","delivery_time":"","create_date":"20230511","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"LADYS-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"CFX","contract_code":"CFX-USDT","contract_size":1.000000000000000000,"price_tick":0.000100000000000000,"delivery_date":"","delivery_time":"","create_date":"20230221","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"CFX-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"PEPE","contract_code":"PEPE-USDT","contract_size":1000000.000000000000000000,"price_tick":1.00000000E-10,"delivery_date":"","delivery_time":"","create_date":"20230426","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"PEPE-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"XAI","contract_code":"XAI-USDT","contract_size":1.000000000000000000,"price_tick":0.000100000000000000,"delivery_date":"","delivery_time":"","create_date":"20240111","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"XAI-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"AGIX","contract_code":"AGIX-USDT","contract_size":1.000000000000000000,"price_tick":0.000100000000000000,"delivery_date":"","delivery_time":"","create_date":"20230313","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"AGIX-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"SATS","contract_code":"SATS-USDT","contract_size":1000000.000000000000000000,"price_tick":1.00000000E-10,"delivery_date":"","delivery_time":"","create_date":"20231212","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"SATS-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"ACE","contract_code":"ACE-USDT","contract_size":0.100000000000000000,"price_tick":0.001000000000000000,"delivery_date":"","delivery_time":"","create_date":"20231218","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"ACE-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"WLD","contract_code":"WLD-USDT","contract_size":1.000000000000000000,"price_tick":0.000100000000000000,"delivery_date":"","delivery_time":"","create_date":"20230724","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"WLD-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"OP","contract_code":"OP-USDT","contract_size":0.100000000000000000,"price_tick":0.000100000000000000,"delivery_date":"","delivery_time":"","create_date":"20220601","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"OP-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"BLUR","contract_code":"BLUR-USDT","contract_size":1.000000000000000000,"price_tick":0.000100000000000000,"delivery_date":"","delivery_time":"","create_date":"20230215","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"BLUR-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"LUNC","contract_code":"LUNC-USDT","contract_size":10000.000000000000000000,"price_tick":1.0000000000E-8,"delivery_date":"","delivery_time":"","create_date":"20220601","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"LUNC-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"SUI","contract_code":"SUI-USDT","contract_size":1.000000000000000000,"price_tick":0.000100000000000000,"delivery_date":"","delivery_time":"","create_date":"20230503","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"SUI-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"STG","contract_code":"STG-USDT","contract_size":1.000000000000000000,"price_tick":0.000100000000000000,"delivery_date":"","delivery_time":"","create_date":"20230404","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"STG-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"MTL","contract_code":"MTL-USDT","contract_size":1.000000000000000000,"price_tick":0.000100000000000000,"delivery_date":"","delivery_time":"","create_date":"20230614","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"MTL-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"BAKE","contract_code":"BAKE-USDT","contract_size":1.000000000000000000,"price_tick":0.000100000000000000,"delivery_date":"","delivery_time":"","create_date":"20231222","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"BAKE-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"PYTH","contract_code":"PYTH-USDT","contract_size":1.000000000000000000,"price_tick":0.000100000000000000,"delivery_date":"","delivery_time":"","create_date":"20231121","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"PYTH-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"AIDOGE","contract_code":"AIDOGE-USDT","contract_size":1000000000.000000000000000000,"price_tick":1.00000E-13,"delivery_date":"","delivery_time":"","create_date":"20230427","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"AIDOGE-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"USTC","contract_code":"USTC-USDT","contract_size":10.000000000000000000,"price_tick":0.000010000000000000,"delivery_date":"","delivery_time":"","create_date":"20231128","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"USTC-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"TOKEN","contract_code":"TOKEN-USDT","contract_size":10.000000000000000000,"price_tick":0.000010000000000000,"delivery_date":"","delivery_time":"","create_date":"20231204","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"TOKEN-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"ORDI","contract_code":"ORDI-USDT","contract_size":0.100000000000000000,"price_tick":0.001000000000000000,"delivery_date":"","delivery_time":"","create_date":"20230520","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"ORDI-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"SSV","contract_code":"SSV-USDT","contract_size":0.010000000000000000,"price_tick":0.001000000000000000,"delivery_date":"","delivery_time":"","create_date":"20230301","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"SSV-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"CYBER","contract_code":"CYBER-USDT","contract_size":0.100000000000000000,"price_tick":0.001000000000000000,"delivery_date":"","delivery_time":"","create_date":"20230821","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"CYBER-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"CORE","contract_code":"CORE-USDT","contract_size":0.100000000000000000,"price_tick":0.000100000000000000,"delivery_date":"","delivery_time":"","create_date":"20230209","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"CORE-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"AI","contract_code":"AI-USDT","contract_size":1.000000000000000000,"price_tick":0.000100000000000000,"delivery_date":"","delivery_time":"","create_date":"20240117","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"AI-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"MANTA","contract_code":"MANTA-USDT","contract_size":0.1,"price_tick":0.001,"delivery_date":"","delivery_time":"","create_date":"20240119","contract_status":4,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"MANTA-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"CAKE","contract_code":"CAKE-USDT","contract_size":0.100000000000000000,"price_tick":0.000100000000000000,"delivery_date":"","delivery_time":"","create_date":"20231106","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"CAKE-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"GAL","contract_code":"GAL-USDT","contract_size":0.100000000000000000,"price_tick":0.000100000000000000,"delivery_date":"","delivery_time":"","create_date":"20220505","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"GAL-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"FLOKI","contract_code":"FLOKI-USDT","contract_size":10000.000000000000000000,"price_tick":1.0000000000E-8,"delivery_date":"","delivery_time":"","create_date":"20230301","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"FLOKI-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"STX","contract_code":"STX-USDT","contract_size":1.000000000000000000,"price_tick":0.000100000000000000,"delivery_date":"","delivery_time":"","create_date":"20231205","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"STX-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"WIN","contract_code":"WIN-USDT","contract_size":10000.000000000000000000,"price_tick":1.0000000000E-8,"delivery_date":"","delivery_time":"","create_date":"20220316","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"WIN-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"APE","contract_code":"APE-USDT","contract_size":1.000000000000000000,"price_tick":0.000100000000000000,"delivery_date":"","delivery_time":"","create_date":"20220317","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"APE-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"GMT","contract_code":"GMT-USDT","contract_size":1.000000000000000000,"price_tick":0.000010000000000000,"delivery_date":"","delivery_time":"","create_date":"20220331","contract_status":1,"settlement_date":"1705680000000","support_margin_mode":"all","business_type":"swap","pair":"GMT-USDT","contract_type":"swap","trade_partition":"USDT"}],"ts":1705652949773} +2024-01-19 16:29:10.028 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.getSwapContractInfo:23] - 1.获取合约信息:{"data":[{"businessType":"swap","contractCode":"BTC-USDT","contractSize":0.001000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20201021","deliveryDate":"","pair":"BTC-USDT","priceTick":0.100000000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"BTC","tradePartition":"USDT"},{"businessType":"swap","contractCode":"ETH-USDT","contractSize":0.010000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20201021","deliveryDate":"","pair":"ETH-USDT","priceTick":0.010000000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"ETH","tradePartition":"USDT"},{"businessType":"swap","contractCode":"LTC-USDT","contractSize":0.100000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20201111","deliveryDate":"","pair":"LTC-USDT","priceTick":0.010000000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"LTC","tradePartition":"USDT"},{"businessType":"swap","contractCode":"DOGE-USDT","contractSize":100.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20210113","deliveryDate":"","pair":"DOGE-USDT","priceTick":0.000001000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"DOGE","tradePartition":"USDT"},{"businessType":"swap","contractCode":"SHIB-USDT","contractSize":1000.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20210511","deliveryDate":"","pair":"SHIB-USDT","priceTick":1.000000000E-9,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"SHIB","tradePartition":"USDT"},{"businessType":"swap","contractCode":"ICP-USDT","contractSize":0.100000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20231219","deliveryDate":"","pair":"ICP-USDT","priceTick":0.001000000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"ICP","tradePartition":"USDT"},{"businessType":"swap","contractCode":"XRP-USDT","contractSize":10.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20201111","deliveryDate":"","pair":"XRP-USDT","priceTick":0.000010000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"XRP","tradePartition":"USDT"},{"businessType":"swap","contractCode":"LINK-USDT","contractSize":0.100000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20201021","deliveryDate":"","pair":"LINK-USDT","priceTick":0.000100000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"LINK","tradePartition":"USDT"},{"businessType":"swap","contractCode":"TRX-USDT","contractSize":100.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20201111","deliveryDate":"","pair":"TRX-USDT","priceTick":0.000001000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"TRX","tradePartition":"USDT"},{"businessType":"swap","contractCode":"DOT-USDT","contractSize":1.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20201021","deliveryDate":"","pair":"DOT-USDT","priceTick":0.000100000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"DOT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"ADA-USDT","contractSize":10.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20201120","deliveryDate":"","pair":"ADA-USDT","priceTick":0.000001000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"ADA","tradePartition":"USDT"},{"businessType":"swap","contractCode":"EOS-USDT","contractSize":1.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20201111","deliveryDate":"","pair":"EOS-USDT","priceTick":0.000100000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"EOS","tradePartition":"USDT"},{"businessType":"swap","contractCode":"BCH-USDT","contractSize":0.010000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20201021","deliveryDate":"","pair":"BCH-USDT","priceTick":0.010000000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"BCH","tradePartition":"USDT"},{"businessType":"swap","contractCode":"BSV-USDT","contractSize":0.010000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20230626","deliveryDate":"","pair":"BSV-USDT","priceTick":0.010000000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"BSV","tradePartition":"USDT"},{"businessType":"swap","contractCode":"YFI-USDT","contractSize":0.000100000000000000,"contractStatus":1,"contractType":"swap","createDate":"20201021","deliveryDate":"","pair":"YFI-USDT","priceTick":0.100000000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"YFI","tradePartition":"USDT"},{"businessType":"swap","contractCode":"UNI-USDT","contractSize":1.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20201021","deliveryDate":"","pair":"UNI-USDT","priceTick":0.000100000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"UNI","tradePartition":"USDT"},{"businessType":"swap","contractCode":"FIL-USDT","contractSize":0.100000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20201021","deliveryDate":"","pair":"FIL-USDT","priceTick":0.001000000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"FIL","tradePartition":"USDT"},{"businessType":"swap","contractCode":"SNX-USDT","contractSize":1.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20201223","deliveryDate":"","pair":"SNX-USDT","priceTick":0.000100000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"SNX","tradePartition":"USDT"},{"businessType":"swap","contractCode":"BNB-USDT","contractSize":0.100000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20201021","deliveryDate":"","pair":"BNB-USDT","priceTick":0.001000000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"BNB","tradePartition":"USDT"},{"businessType":"swap","contractCode":"ETC-USDT","contractSize":1.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20201120","deliveryDate":"","pair":"ETC-USDT","priceTick":0.000100000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"ETC","tradePartition":"USDT"},{"businessType":"swap","contractCode":"THETA-USDT","contractSize":10.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20201216","deliveryDate":"","pair":"THETA-USDT","priceTick":0.000010000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"THETA","tradePartition":"USDT"},{"businessType":"swap","contractCode":"KSM-USDT","contractSize":0.100000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20201216","deliveryDate":"","pair":"KSM-USDT","priceTick":0.001000000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"KSM","tradePartition":"USDT"},{"businessType":"swap","contractCode":"ATOM-USDT","contractSize":1.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20201126","deliveryDate":"","pair":"ATOM-USDT","priceTick":0.000100000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"ATOM","tradePartition":"USDT"},{"businessType":"swap","contractCode":"AAVE-USDT","contractSize":0.100000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20201120","deliveryDate":"","pair":"AAVE-USDT","priceTick":0.001000000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"AAVE","tradePartition":"USDT"},{"businessType":"swap","contractCode":"XLM-USDT","contractSize":10.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20230721","deliveryDate":"","pair":"XLM-USDT","priceTick":0.000010000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"XLM","tradePartition":"USDT"},{"businessType":"swap","contractCode":"SUSHI-USDT","contractSize":1.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20201120","deliveryDate":"","pair":"SUSHI-USDT","priceTick":0.000100000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"SUSHI","tradePartition":"USDT"},{"businessType":"swap","contractCode":"GRT-USDT","contractSize":10.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20201223","deliveryDate":"","pair":"GRT-USDT","priceTick":0.000010000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"GRT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"1INCH-USDT","contractSize":1.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20201229","deliveryDate":"","pair":"1INCH-USDT","priceTick":0.000100000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"1INCH","tradePartition":"USDT"},{"businessType":"swap","contractCode":"CRV-USDT","contractSize":1.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20201120","deliveryDate":"","pair":"CRV-USDT","priceTick":0.000100000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"CRV","tradePartition":"USDT"},{"businessType":"swap","contractCode":"ALGO-USDT","contractSize":10.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20201204","deliveryDate":"","pair":"ALGO-USDT","priceTick":0.000010000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"ALGO","tradePartition":"USDT"},{"businessType":"swap","contractCode":"WAVES-USDT","contractSize":1.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20201126","deliveryDate":"","pair":"WAVES-USDT","priceTick":0.000100000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"WAVES","tradePartition":"USDT"},{"businessType":"swap","contractCode":"COMP-USDT","contractSize":0.010000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20230717","deliveryDate":"","pair":"COMP-USDT","priceTick":0.010000000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"COMP","tradePartition":"USDT"},{"businessType":"swap","contractCode":"XMR-USDT","contractSize":0.010000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20230613","deliveryDate":"","pair":"XMR-USDT","priceTick":0.010000000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"XMR","tradePartition":"USDT"},{"businessType":"swap","contractCode":"KAVA-USDT","contractSize":1.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20201126","deliveryDate":"","pair":"KAVA-USDT","priceTick":0.000100000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"KAVA","tradePartition":"USDT"},{"businessType":"swap","contractCode":"AVAX-USDT","contractSize":1.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20201223","deliveryDate":"","pair":"AVAX-USDT","priceTick":0.000100000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"AVAX","tradePartition":"USDT"},{"businessType":"swap","contractCode":"MATIC-USDT","contractSize":100.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20210113","deliveryDate":"","pair":"MATIC-USDT","priceTick":0.000010000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"MATIC","tradePartition":"USDT"},{"businessType":"swap","contractCode":"LINA-USDT","contractSize":10.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20230601","deliveryDate":"","pair":"LINA-USDT","priceTick":0.000010000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"LINA","tradePartition":"USDT"},{"businessType":"swap","contractCode":"SOL-USDT","contractSize":1.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20210113","deliveryDate":"","pair":"SOL-USDT","priceTick":0.000100000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"SOL","tradePartition":"USDT"},{"businessType":"swap","contractCode":"IOTA-USDT","contractSize":1.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20231204","deliveryDate":"","pair":"IOTA-USDT","priceTick":0.000100000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"IOTA","tradePartition":"USDT"},{"businessType":"swap","contractCode":"MKR-USDT","contractSize":0.001000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20230314","deliveryDate":"","pair":"MKR-USDT","priceTick":0.100000000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"MKR","tradePartition":"USDT"},{"businessType":"swap","contractCode":"SAND-USDT","contractSize":10.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20210129","deliveryDate":"","pair":"SAND-USDT","priceTick":0.000001000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"SAND","tradePartition":"USDT"},{"businessType":"swap","contractCode":"MASK-USDT","contractSize":0.100000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20230216","deliveryDate":"","pair":"MASK-USDT","priceTick":0.001000000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"MASK","tradePartition":"USDT"},{"businessType":"swap","contractCode":"NEAR-USDT","contractSize":1.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20210120","deliveryDate":"","pair":"NEAR-USDT","priceTick":0.001000000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"NEAR","tradePartition":"USDT"},{"businessType":"swap","contractCode":"MANA-USDT","contractSize":10.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20210129","deliveryDate":"","pair":"MANA-USDT","priceTick":0.000100000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"MANA","tradePartition":"USDT"},{"businessType":"swap","contractCode":"BNT-USDT","contractSize":1.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20231009","deliveryDate":"","pair":"BNT-USDT","priceTick":0.000100000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"BNT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"LUNA-USDT","contractSize":1.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20220603","deliveryDate":"","pair":"LUNA-USDT","priceTick":0.000100000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"LUNA","tradePartition":"USDT"},{"businessType":"swap","contractCode":"WOO-USDT","contractSize":10.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20230307","deliveryDate":"","pair":"WOO-USDT","priceTick":0.000010000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"WOO","tradePartition":"USDT"},{"businessType":"swap","contractCode":"CHZ-USDT","contractSize":10.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20210312","deliveryDate":"","pair":"CHZ-USDT","priceTick":0.000010000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"CHZ","tradePartition":"USDT"},{"businessType":"swap","contractCode":"ONE-USDT","contractSize":100.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20210319","deliveryDate":"","pair":"ONE-USDT","priceTick":0.000001000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"ONE","tradePartition":"USDT"},{"businessType":"swap","contractCode":"STORJ-USDT","contractSize":1.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20230911","deliveryDate":"","pair":"STORJ-USDT","priceTick":0.000100000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"STORJ","tradePartition":"USDT"},{"businessType":"swap","contractCode":"BTT-USDT","contractSize":1000000.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20231212","deliveryDate":"","pair":"BTT-USDT","priceTick":1.000000000E-9,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"BTT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"AXS-USDT","contractSize":0.100000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20210804","deliveryDate":"","pair":"AXS-USDT","priceTick":0.000100000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"AXS","tradePartition":"USDT"},{"businessType":"swap","contractCode":"ACH-USDT","contractSize":10.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20230222","deliveryDate":"","pair":"ACH-USDT","priceTick":0.000010000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"ACH","tradePartition":"USDT"},{"businessType":"swap","contractCode":"LRC-USDT","contractSize":10.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20210113","deliveryDate":"","pair":"LRC-USDT","priceTick":0.000010000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"LRC","tradePartition":"USDT"},{"businessType":"swap","contractCode":"YGG-USDT","contractSize":1.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20230807","deliveryDate":"","pair":"YGG-USDT","priceTick":0.000100000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"YGG","tradePartition":"USDT"},{"businessType":"swap","contractCode":"DYDX-USDT","contractSize":0.100000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20210908","deliveryDate":"","pair":"DYDX-USDT","priceTick":0.001000000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"DYDX","tradePartition":"USDT"},{"businessType":"swap","contractCode":"FTT-USDT","contractSize":1.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20230630","deliveryDate":"","pair":"FTT-USDT","priceTick":0.001000000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"FTT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"GALA-USDT","contractSize":10.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20230424","deliveryDate":"","pair":"GALA-USDT","priceTick":0.000010000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"GALA","tradePartition":"USDT"},{"businessType":"swap","contractCode":"IMX-USDT","contractSize":0.100000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20211118","deliveryDate":"","pair":"IMX-USDT","priceTick":0.000100000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"IMX","tradePartition":"USDT"},{"businessType":"swap","contractCode":"MINA-USDT","contractSize":1.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20231025","deliveryDate":"","pair":"MINA-USDT","priceTick":0.000100000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"MINA","tradePartition":"USDT"},{"businessType":"swap","contractCode":"ENS-USDT","contractSize":0.100000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20240111","deliveryDate":"","pair":"ENS-USDT","priceTick":0.001000000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"ENS","tradePartition":"USDT"},{"businessType":"swap","contractCode":"RNDR-USDT","contractSize":1.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20230313","deliveryDate":"","pair":"RNDR-USDT","priceTick":0.000100000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"RNDR","tradePartition":"USDT"},{"businessType":"swap","contractCode":"PEOPLE-USDT","contractSize":10.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20240108","deliveryDate":"","pair":"PEOPLE-USDT","priceTick":0.000010000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"PEOPLE","tradePartition":"USDT"},{"businessType":"swap","contractCode":"JST-USDT","contractSize":10.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20220119","deliveryDate":"","pair":"JST-USDT","priceTick":0.000001000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"JST","tradePartition":"USDT"},{"businessType":"swap","contractCode":"LPT-USDT","contractSize":0.100000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20230814","deliveryDate":"","pair":"LPT-USDT","priceTick":0.001000000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"LPT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"FTM-USDT","contractSize":1.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20211124","deliveryDate":"","pair":"FTM-USDT","priceTick":0.000100000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"FTM","tradePartition":"USDT"},{"businessType":"swap","contractCode":"FRONT-USDT","contractSize":1.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20230923","deliveryDate":"","pair":"FRONT-USDT","priceTick":0.000100000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"FRONT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"BLZ-USDT","contractSize":10.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20230814","deliveryDate":"","pair":"BLZ-USDT","priceTick":0.000010000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"BLZ","tradePartition":"USDT"},{"businessType":"swap","contractCode":"OGN-USDT","contractSize":1.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20230724","deliveryDate":"","pair":"OGN-USDT","priceTick":0.000100000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"OGN","tradePartition":"USDT"},{"businessType":"swap","contractCode":"EGLD-USDT","contractSize":0.010000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20231106","deliveryDate":"","pair":"EGLD-USDT","priceTick":0.010000000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"EGLD","tradePartition":"USDT"},{"businessType":"swap","contractCode":"ARK-USDT","contractSize":1.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20231031","deliveryDate":"","pair":"ARK-USDT","priceTick":0.000100000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"ARK","tradePartition":"USDT"},{"businessType":"swap","contractCode":"STEEM-USDT","contractSize":1.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20231109","deliveryDate":"","pair":"STEEM-USDT","priceTick":0.000100000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"STEEM","tradePartition":"USDT"},{"businessType":"swap","contractCode":"LOOM-USDT","contractSize":1.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20231013","deliveryDate":"","pair":"LOOM-USDT","priceTick":0.000100000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"LOOM","tradePartition":"USDT"},{"businessType":"swap","contractCode":"SNT-USDT","contractSize":10.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20231102","deliveryDate":"","pair":"SNT-USDT","priceTick":0.000010000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"SNT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"TRB-USDT","contractSize":0.100000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20230828","deliveryDate":"","pair":"TRB-USDT","priceTick":0.001000000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"TRB","tradePartition":"USDT"},{"businessType":"swap","contractCode":"GAS-USDT","contractSize":0.100000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20231105","deliveryDate":"","pair":"GAS-USDT","priceTick":0.001000000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"GAS","tradePartition":"USDT"},{"businessType":"swap","contractCode":"MEME-USDT","contractSize":10.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20231104","deliveryDate":"","pair":"MEME-USDT","priceTick":0.000001000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"MEME","tradePartition":"USDT"},{"businessType":"swap","contractCode":"INJ-USDT","contractSize":0.100000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20231109","deliveryDate":"","pair":"INJ-USDT","priceTick":0.001000000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"INJ","tradePartition":"USDT"},{"businessType":"swap","contractCode":"JTO-USDT","contractSize":0.100000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20231208","deliveryDate":"","pair":"JTO-USDT","priceTick":0.000100000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"JTO","tradePartition":"USDT"},{"businessType":"swap","contractCode":"BONK-USDT","contractSize":100000.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20231122","deliveryDate":"","pair":"BONK-USDT","priceTick":1.000000000E-9,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"BONK","tradePartition":"USDT"},{"businessType":"swap","contractCode":"APT-USDT","contractSize":0.100000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20221019","deliveryDate":"","pair":"APT-USDT","priceTick":0.001000000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"APT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"LDO-USDT","contractSize":1.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20230216","deliveryDate":"","pair":"LDO-USDT","priceTick":0.000100000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"LDO","tradePartition":"USDT"},{"businessType":"swap","contractCode":"FET-USDT","contractSize":1.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20230313","deliveryDate":"","pair":"FET-USDT","priceTick":0.000100000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"FET","tradePartition":"USDT"},{"businessType":"swap","contractCode":"TON-USDT","contractSize":0.100000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20230109","deliveryDate":"","pair":"TON-USDT","priceTick":0.000100000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"TON","tradePartition":"USDT"},{"businessType":"swap","contractCode":"SEI-USDT","contractSize":1.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20230816","deliveryDate":"","pair":"SEI-USDT","priceTick":0.000100000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"SEI","tradePartition":"USDT"},{"businessType":"swap","contractCode":"RATS-USDT","contractSize":1000.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20231214","deliveryDate":"","pair":"RATS-USDT","priceTick":1.00000000000E-7,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"RATS","tradePartition":"USDT"},{"businessType":"swap","contractCode":"ARB-USDT","contractSize":1.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20230323","deliveryDate":"","pair":"ARB-USDT","priceTick":0.000100000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"ARB","tradePartition":"USDT"},{"businessType":"swap","contractCode":"POLYX-USDT","contractSize":1.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20231025","deliveryDate":"","pair":"POLYX-USDT","priceTick":0.000100000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"POLYX","tradePartition":"USDT"},{"businessType":"swap","contractCode":"RDNT-USDT","contractSize":1.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20230404","deliveryDate":"","pair":"RDNT-USDT","priceTick":0.000100000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"RDNT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"BIGTIME-USDT","contractSize":1.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20231013","deliveryDate":"","pair":"BIGTIME-USDT","priceTick":0.000100000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"BIGTIME","tradePartition":"USDT"},{"businessType":"swap","contractCode":"METIS-USDT","contractSize":0.010000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20240117","deliveryDate":"","pair":"METIS-USDT","priceTick":0.010000000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"METIS","tradePartition":"USDT"},{"businessType":"swap","contractCode":"TIA-USDT","contractSize":0.100000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20231114","deliveryDate":"","pair":"TIA-USDT","priceTick":0.001000000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"TIA","tradePartition":"USDT"},{"businessType":"swap","contractCode":"LADYS-USDT","contractSize":1000000.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20230511","deliveryDate":"","pair":"LADYS-USDT","priceTick":1.0000000E-11,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"LADYS","tradePartition":"USDT"},{"businessType":"swap","contractCode":"CFX-USDT","contractSize":1.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20230221","deliveryDate":"","pair":"CFX-USDT","priceTick":0.000100000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"CFX","tradePartition":"USDT"},{"businessType":"swap","contractCode":"PEPE-USDT","contractSize":1000000.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20230426","deliveryDate":"","pair":"PEPE-USDT","priceTick":1.00000000E-10,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"PEPE","tradePartition":"USDT"},{"businessType":"swap","contractCode":"XAI-USDT","contractSize":1.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20240111","deliveryDate":"","pair":"XAI-USDT","priceTick":0.000100000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"XAI","tradePartition":"USDT"},{"businessType":"swap","contractCode":"AGIX-USDT","contractSize":1.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20230313","deliveryDate":"","pair":"AGIX-USDT","priceTick":0.000100000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"AGIX","tradePartition":"USDT"},{"businessType":"swap","contractCode":"SATS-USDT","contractSize":1000000.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20231212","deliveryDate":"","pair":"SATS-USDT","priceTick":1.00000000E-10,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"SATS","tradePartition":"USDT"},{"businessType":"swap","contractCode":"ACE-USDT","contractSize":0.100000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20231218","deliveryDate":"","pair":"ACE-USDT","priceTick":0.001000000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"ACE","tradePartition":"USDT"},{"businessType":"swap","contractCode":"WLD-USDT","contractSize":1.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20230724","deliveryDate":"","pair":"WLD-USDT","priceTick":0.000100000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"WLD","tradePartition":"USDT"},{"businessType":"swap","contractCode":"OP-USDT","contractSize":0.100000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20220601","deliveryDate":"","pair":"OP-USDT","priceTick":0.000100000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"OP","tradePartition":"USDT"},{"businessType":"swap","contractCode":"BLUR-USDT","contractSize":1.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20230215","deliveryDate":"","pair":"BLUR-USDT","priceTick":0.000100000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"BLUR","tradePartition":"USDT"},{"businessType":"swap","contractCode":"LUNC-USDT","contractSize":10000.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20220601","deliveryDate":"","pair":"LUNC-USDT","priceTick":1.0000000000E-8,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"LUNC","tradePartition":"USDT"},{"businessType":"swap","contractCode":"SUI-USDT","contractSize":1.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20230503","deliveryDate":"","pair":"SUI-USDT","priceTick":0.000100000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"SUI","tradePartition":"USDT"},{"businessType":"swap","contractCode":"STG-USDT","contractSize":1.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20230404","deliveryDate":"","pair":"STG-USDT","priceTick":0.000100000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"STG","tradePartition":"USDT"},{"businessType":"swap","contractCode":"MTL-USDT","contractSize":1.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20230614","deliveryDate":"","pair":"MTL-USDT","priceTick":0.000100000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"MTL","tradePartition":"USDT"},{"businessType":"swap","contractCode":"BAKE-USDT","contractSize":1.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20231222","deliveryDate":"","pair":"BAKE-USDT","priceTick":0.000100000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"BAKE","tradePartition":"USDT"},{"businessType":"swap","contractCode":"PYTH-USDT","contractSize":1.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20231121","deliveryDate":"","pair":"PYTH-USDT","priceTick":0.000100000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"PYTH","tradePartition":"USDT"},{"businessType":"swap","contractCode":"AIDOGE-USDT","contractSize":1000000000.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20230427","deliveryDate":"","pair":"AIDOGE-USDT","priceTick":1.00000E-13,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"AIDOGE","tradePartition":"USDT"},{"businessType":"swap","contractCode":"USTC-USDT","contractSize":10.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20231128","deliveryDate":"","pair":"USTC-USDT","priceTick":0.000010000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"USTC","tradePartition":"USDT"},{"businessType":"swap","contractCode":"TOKEN-USDT","contractSize":10.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20231204","deliveryDate":"","pair":"TOKEN-USDT","priceTick":0.000010000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"TOKEN","tradePartition":"USDT"},{"businessType":"swap","contractCode":"ORDI-USDT","contractSize":0.100000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20230520","deliveryDate":"","pair":"ORDI-USDT","priceTick":0.001000000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"ORDI","tradePartition":"USDT"},{"businessType":"swap","contractCode":"SSV-USDT","contractSize":0.010000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20230301","deliveryDate":"","pair":"SSV-USDT","priceTick":0.001000000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"SSV","tradePartition":"USDT"},{"businessType":"swap","contractCode":"CYBER-USDT","contractSize":0.100000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20230821","deliveryDate":"","pair":"CYBER-USDT","priceTick":0.001000000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"CYBER","tradePartition":"USDT"},{"businessType":"swap","contractCode":"CORE-USDT","contractSize":0.100000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20230209","deliveryDate":"","pair":"CORE-USDT","priceTick":0.000100000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"CORE","tradePartition":"USDT"},{"businessType":"swap","contractCode":"AI-USDT","contractSize":1.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20240117","deliveryDate":"","pair":"AI-USDT","priceTick":0.000100000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"AI","tradePartition":"USDT"},{"businessType":"swap","contractCode":"MANTA-USDT","contractSize":0.1,"contractStatus":4,"contractType":"swap","createDate":"20240119","deliveryDate":"","pair":"MANTA-USDT","priceTick":0.001,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"MANTA","tradePartition":"USDT"},{"businessType":"swap","contractCode":"CAKE-USDT","contractSize":0.100000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20231106","deliveryDate":"","pair":"CAKE-USDT","priceTick":0.000100000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"CAKE","tradePartition":"USDT"},{"businessType":"swap","contractCode":"GAL-USDT","contractSize":0.100000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20220505","deliveryDate":"","pair":"GAL-USDT","priceTick":0.000100000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"GAL","tradePartition":"USDT"},{"businessType":"swap","contractCode":"FLOKI-USDT","contractSize":10000.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20230301","deliveryDate":"","pair":"FLOKI-USDT","priceTick":1.0000000000E-8,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"FLOKI","tradePartition":"USDT"},{"businessType":"swap","contractCode":"STX-USDT","contractSize":1.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20231205","deliveryDate":"","pair":"STX-USDT","priceTick":0.000100000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"STX","tradePartition":"USDT"},{"businessType":"swap","contractCode":"WIN-USDT","contractSize":10000.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20220316","deliveryDate":"","pair":"WIN-USDT","priceTick":1.0000000000E-8,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"WIN","tradePartition":"USDT"},{"businessType":"swap","contractCode":"APE-USDT","contractSize":1.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20220317","deliveryDate":"","pair":"APE-USDT","priceTick":0.000100000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"APE","tradePartition":"USDT"},{"businessType":"swap","contractCode":"GMT-USDT","contractSize":1.000000000000000000,"contractStatus":1,"contractType":"swap","createDate":"20220331","deliveryDate":"","pair":"GMT-USDT","priceTick":0.000010000000000000,"settlementDate":"1705680000000","supportMarginMode":"all","symbol":"GMT","tradePartition":"USDT"}],"status":"ok","ts":1705652949773} +2024-01-19 16:30:09.246 [DEBUG] [main] [com.huobi.api.service.usdt.market.MarketAPIServiceImpl.getSwapIndex:72] - body:{"status":"ok","data":[{"index_price":41188.733333333333333333,"index_ts":1705653008011,"contract_code":"BTC-USDT","trade_partition":"USDT"}],"ts":1705653009122} +2024-01-19 16:30:09.348 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.getSwapIndex:31] - 2.获取合约指数信息:{"data":[{"contractCode":"BTC-USDT","indexPrice":41188.733333333333333333,"indexTs":1705653008011,"tradePartition":"USDT"}],"status":"ok","ts":1705653009122} +2024-01-19 16:30:09.962 [DEBUG] [main] [com.huobi.api.service.usdt.market.MarketAPIServiceImpl.getSwapIndex:72] - body:{"status":"ok","data":[{"index_price":5.62645200000E-7,"index_ts":1705653008011,"contract_code":"SATS-USDT","trade_partition":"USDT"},{"index_price":0.04295,"index_ts":1705653008011,"contract_code":"QRDO-USDT","trade_partition":"USDT"},{"index_price":7.946300000000000000,"index_ts":1705653008011,"contract_code":"ACE-USDT","trade_partition":"USDT"},{"index_price":0.678975000000000000,"index_ts":1705653008011,"contract_code":"LUNA-USDT","trade_partition":"USDT"},{"index_price":2.863050000000000000,"index_ts":1705653008011,"contract_code":"CVX-USDT","trade_partition":"USDT"},{"index_price":2.081198000000000000,"index_ts":1705653008011,"contract_code":"JTO-USDT","trade_partition":"USDT"},{"index_price":2.524525000000000000,"index_ts":1705653008011,"contract_code":"WLD-USDT","trade_partition":"USDT"},{"index_price":3.226550000000000000,"index_ts":1705653008011,"contract_code":"OP-USDT","trade_partition":"USDT"},{"index_price":0.642850000000000000,"index_ts":1705653008011,"contract_code":"BLUR-USDT","trade_partition":"USDT"},{"index_price":0.000112536666666666,"index_ts":1705653008011,"contract_code":"LUNC-USDT","trade_partition":"USDT"},{"index_price":0.227633333333333333,"index_ts":1705653008011,"contract_code":"IOTA-USDT","trade_partition":"USDT"},{"index_price":1.121166666666666666,"index_ts":1705653008011,"contract_code":"SUI-USDT","trade_partition":"USDT"},{"index_price":0.000011761460000000,"index_ts":1705653008011,"contract_code":"BONK-USDT","trade_partition":"USDT"},{"index_price":11.191400000000000000,"index_ts":1705653008011,"contract_code":"ICP-USDT","trade_partition":"USDT"},{"index_price":0.537433333333333333,"index_ts":1705653008011,"contract_code":"STG-USDT","trade_partition":"USDT"},{"index_price":0.082520500000000000,"index_ts":1705653008011,"contract_code":"TENET-USDT","trade_partition":"USDT"},{"index_price":74.322975000000000000,"index_ts":1705653008011,"contract_code":"BSV-USDT","trade_partition":"USDT"},{"index_price":151.513333333333333333,"index_ts":1705653008011,"contract_code":"XMR-USDT","trade_partition":"USDT"},{"index_price":7.676255818333333333,"index_ts":1705653008011,"contract_code":"AXS-USDT","trade_partition":"USDT"},{"index_price":0.008272000000000000,"index_ts":1705653008011,"contract_code":"LINA-USDT","trade_partition":"USDT"},{"index_price":23.888882379833333333,"index_ts":1705653008011,"contract_code":"ETC-USDT","trade_partition":"USDT"},{"index_price":0.310932500000000000,"index_ts":1705653008011,"contract_code":"MPLX-USDT","trade_partition":"USDT"},{"index_price":0.364452100666666666,"index_ts":1705653008011,"contract_code":"FTM-USDT","trade_partition":"USDT"},{"index_price":236.754700510833333333,"index_ts":1705653008011,"contract_code":"BCH-USDT","trade_partition":"USDT"},{"index_price":0.108655000000000000,"index_ts":1705653008011,"contract_code":"OPUL-USDT","trade_partition":"USDT"},{"index_price":0.705370234346666666,"index_ts":1705653008011,"contract_code":"KAVA-USDT","trade_partition":"USDT"},{"index_price":7.257340000000000000,"index_ts":1705653008011,"contract_code":"GAS-USDT","trade_partition":"USDT"},{"index_price":1.474466666666666666,"index_ts":1705653008011,"contract_code":"MTL-USDT","trade_partition":"USDT"},{"index_price":8.592466666666666666,"index_ts":1705653008011,"contract_code":"APT-USDT","trade_partition":"USDT"},{"index_price":0.403052400000000000,"index_ts":1705653008011,"contract_code":"FRONT-USDT","trade_partition":"USDT"},{"index_price":0.108563297283333333,"index_ts":1705653008011,"contract_code":"TRX-USDT","trade_partition":"USDT"},{"index_price":0.238680000000000000,"index_ts":1705653008011,"contract_code":"LRC-USDT","trade_partition":"USDT"},{"index_price":2.828266666666666666,"index_ts":1705653008011,"contract_code":"DYDX-USDT","trade_partition":"USDT"},{"index_price":0.477811076666666666,"index_ts":1705653008011,"contract_code":"SAND-USDT","trade_partition":"USDT"},{"index_price":0.329832500000000000,"index_ts":1705653008011,"contract_code":"BAKE-USDT","trade_partition":"USDT"},{"index_price":0.329206200000000000,"index_ts":1705653008011,"contract_code":"PYTH-USDT","trade_partition":"USDT"},{"index_price":94.031222189111111111,"index_ts":1705653008011,"contract_code":"SOL-USDT","trade_partition":"USDT"},{"index_price":7456.310537279221112171,"index_ts":1705653008011,"contract_code":"YFI-USDT","trade_partition":"USDT"},{"index_price":3.041200000000000000,"index_ts":1705653008011,"contract_code":"LDO-USDT","trade_partition":"USDT"},{"index_price":0.332422500000000000,"index_ts":1705653008011,"contract_code":"BLZ-USDT","trade_partition":"USDT"},{"index_price":5.469391057333333333,"index_ts":1705653008011,"contract_code":"FIL-USDT","trade_partition":"USDT"},{"index_price":0.621226714690971482,"index_ts":1705653008011,"contract_code":"FET-USDT","trade_partition":"USDT"},{"index_price":2.220233333333333333,"index_ts":1705653008011,"contract_code":"TON-USDT","trade_partition":"USDT"},{"index_price":96.256666666666666666,"index_ts":1705653008011,"contract_code":"AAVE-USDT","trade_partition":"USDT"},{"index_price":133.428100000000000000,"index_ts":1705653008011,"contract_code":"TRB-USDT","trade_partition":"USDT"},{"index_price":0.784656108374999999,"index_ts":1705653008011,"contract_code":"MATIC-USDT","trade_partition":"USDT"},{"index_price":0.078017666666666666,"index_ts":1705653008011,"contract_code":"DOGE-USDT","trade_partition":"USDT"},{"index_price":0.098916666666666666,"index_ts":1705653008011,"contract_code":"LOOM-USDT","trade_partition":"USDT"},{"index_price":2.681620000000000000,"index_ts":1705653008011,"contract_code":"FTT-USDT","trade_partition":"USDT"},{"index_price":0.718030000000000000,"index_ts":1705653008011,"contract_code":"SEI-USDT","trade_partition":"USDT"},{"index_price":0.546500504683333333,"index_ts":1705653008011,"contract_code":"XRP-USDT","trade_partition":"USDT"},{"index_price":0.000268662500000000,"index_ts":1705653008011,"contract_code":"RATS-USDT","trade_partition":"USDT"},{"index_price":19.497240000000000000,"index_ts":1705653008011,"contract_code":"ENS-USDT","trade_partition":"USDT"},{"index_price":1.55515000E-10,"index_ts":1705653008011,"contract_code":"AIDOGE-USDT","trade_partition":"USDT"},{"index_price":7.270619889937224277,"index_ts":1705653008011,"contract_code":"LPT-USDT","trade_partition":"USDT"},{"index_price":312.325750351666666666,"index_ts":1705653008011,"contract_code":"BNB-USDT","trade_partition":"USDT"},{"index_price":0.027469072000000000,"index_ts":1705653008011,"contract_code":"USTC-USDT","trade_partition":"USDT"},{"index_price":0.025862500000000000,"index_ts":1705653008011,"contract_code":"TOKEN-USDT","trade_partition":"USDT"},{"index_price":0.510500000000000000,"index_ts":1705653008011,"contract_code":"CRV-USDT","trade_partition":"USDT"},{"index_price":1.860820000000000000,"index_ts":1705653008011,"contract_code":"ARB-USDT","trade_partition":"USDT"},{"index_price":0.113911391740476433,"index_ts":1705653008011,"contract_code":"XLM-USDT","trade_partition":"USDT"},{"index_price":3.370039383249999999,"index_ts":1705653008011,"contract_code":"SNX-USDT","trade_partition":"USDT"},{"index_price":50.797280000000000000,"index_ts":1705653008011,"contract_code":"EGLD-USDT","trade_partition":"USDT"},{"index_price":0.505860000000000000,"index_ts":1705653008011,"contract_code":"YGG-USDT","trade_partition":"USDT"},{"index_price":0.002729750000000000,"index_ts":1705653008011,"contract_code":"DOSE-USDT","trade_partition":"USDT"},{"index_price":36.342475000000000000,"index_ts":1705653008011,"contract_code":"INJ-USDT","trade_partition":"USDT"},{"index_price":9.638165899999999999,"index_ts":1705653008011,"contract_code":"ATOM-USDT","trade_partition":"USDT"},{"index_price":0.733299698057922817,"index_ts":1705653008011,"contract_code":"BNT-USDT","trade_partition":"USDT"},{"index_price":0.448233363733333333,"index_ts":1705653008011,"contract_code":"MANA-USDT","trade_partition":"USDT"},{"index_price":0.091908968833333333,"index_ts":1705653008011,"contract_code":"CHZ-USDT","trade_partition":"USDT"},{"index_price":6.967983419999999999,"index_ts":1705653008011,"contract_code":"DOT-USDT","trade_partition":"USDT"},{"index_price":0.163133333333333333,"index_ts":1705653008011,"contract_code":"POLYX-USDT","trade_partition":"USDT"},{"index_price":1.175580000000000000,"index_ts":1705653008011,"contract_code":"MINA-USDT","trade_partition":"USDT"},{"index_price":0.714534117133333333,"index_ts":1705653008011,"contract_code":"EOS-USDT","trade_partition":"USDT"},{"index_price":0.152698053258333333,"index_ts":1705653008011,"contract_code":"GRT-USDT","trade_partition":"USDT"},{"index_price":0.000705700000000000,"index_ts":1705653008011,"contract_code":"UNB-USDT","trade_partition":"USDT"},{"index_price":0.225125000000000000,"index_ts":1705653008011,"contract_code":"STEEM-USDT","trade_partition":"USDT"},{"index_price":69.299266666666666666,"index_ts":1705653008011,"contract_code":"ORDI-USDT","trade_partition":"USDT"},{"index_price":0.173366666666666666,"index_ts":1705653008011,"contract_code":"FSN-USDT","trade_partition":"USDT"},{"index_price":31.636900000000000000,"index_ts":1705653008011,"contract_code":"SSV-USDT","trade_partition":"USDT"},{"index_price":39.498420000000000000,"index_ts":1705653008011,"contract_code":"KSM-USDT","trade_partition":"USDT"},{"index_price":2462.476666666666666666,"index_ts":1705653009011,"contract_code":"ETH-USDT","trade_partition":"USDT"},{"index_price":0.348980000000000000,"index_ts":1705653008011,"contract_code":"RDNT-USDT","trade_partition":"USDT"},{"index_price":0.561200000000000000,"index_ts":1705653008011,"contract_code":"STORJ-USDT","trade_partition":"USDT"},{"index_price":0.292233333333333333,"index_ts":1705653008011,"contract_code":"GMT-USDT","trade_partition":"USDT"},{"index_price":41188.733333333333333333,"index_ts":1705653009011,"contract_code":"BTC-USDT","trade_partition":"USDT"},{"index_price":0.399450000000000000,"index_ts":1705653008011,"contract_code":"WOO-USDT","trade_partition":"USDT"},{"index_price":0.031287200000000000,"index_ts":1705653008011,"contract_code":"PEOPLE-USDT","trade_partition":"USDT"},{"index_price":0.018215036740900809,"index_ts":1705653008011,"contract_code":"ACH-USDT","trade_partition":"USDT"},{"index_price":1.391866666666666666,"index_ts":1705653008011,"contract_code":"APE-USDT","trade_partition":"USDT"},{"index_price":0.386213069951341269,"index_ts":1705653008011,"contract_code":"BIGTIME-USDT","trade_partition":"USDT"},{"index_price":91.492500000000000000,"index_ts":1705653008011,"contract_code":"METIS-USDT","trade_partition":"USDT"},{"index_price":1.890536000000000000,"index_ts":1705653008011,"contract_code":"IMX-USDT","trade_partition":"USDT"},{"index_price":0.185305000000000000,"index_ts":1705653008011,"contract_code":"DUSK-USDT","trade_partition":"USDT"},{"index_price":54.273561000489279360,"index_ts":1705653008011,"contract_code":"COMP-USDT","trade_partition":"USDT"},{"index_price":0.176046944666666666,"index_ts":1705653008011,"contract_code":"ALGO-USDT","trade_partition":"USDT"},{"index_price":7.851325000000000000,"index_ts":1705653008011,"contract_code":"CYBER-USDT","trade_partition":"USDT"},{"index_price":2.292440045449999999,"index_ts":1705653008011,"contract_code":"WAVES-USDT","trade_partition":"USDT"},{"index_price":0.030747750000000000,"index_ts":1705653008011,"contract_code":"GARI-USDT","trade_partition":"USDT"},{"index_price":17.099480000000000000,"index_ts":1705653008011,"contract_code":"TIA-USDT","trade_partition":"USDT"},{"index_price":0.498024330519999999,"index_ts":1705653008011,"contract_code":"ADA-USDT","trade_partition":"USDT"},{"index_price":5.9190000000E-8,"index_ts":1705653008011,"contract_code":"LADYS-USDT","trade_partition":"USDT"},{"index_price":0.000009208000000000,"index_ts":1705653008011,"contract_code":"SHIB-USDT","trade_partition":"USDT"},{"index_price":0.040126400000000000,"index_ts":1705653008011,"contract_code":"SNT-USDT","trade_partition":"USDT"},{"index_price":0.192620000000000000,"index_ts":1705653008011,"contract_code":"CFX-USDT","trade_partition":"USDT"},{"index_price":6.302100000000000000,"index_ts":1705653008011,"contract_code":"UNI-USDT","trade_partition":"USDT"},{"index_price":0.000001132778000000,"index_ts":1705653008011,"contract_code":"PEPE-USDT","trade_partition":"USDT"},{"index_price":0.390350000000000000,"index_ts":1705653008011,"contract_code":"SDAO-USDT","trade_partition":"USDT"},{"index_price":0.526080500000000000,"index_ts":1705653008011,"contract_code":"CORE-USDT","trade_partition":"USDT"},{"index_price":1.055125000000000000,"index_ts":1705653008011,"contract_code":"AI-USDT","trade_partition":"USDT"},{"index_price":0.029265333333333333,"index_ts":1705653008011,"contract_code":"JST-USDT","trade_partition":"USDT"},{"index_price":0.006944000000000000,"index_ts":1705653008011,"contract_code":"RLY-USDT","trade_partition":"USDT"},{"index_price":0.420188028499999999,"index_ts":1705653008011,"contract_code":"1INCH-USDT","trade_partition":"USDT"},{"index_price":0.156519448104753312,"index_ts":1705653008011,"contract_code":"OGN-USDT","trade_partition":"USDT"},{"index_price":0.983305673424999999,"index_ts":1705653008011,"contract_code":"THETA-USDT","trade_partition":"USDT"},{"index_price":3.002339725749999999,"index_ts":1705653008011,"contract_code":"NEAR-USDT","trade_partition":"USDT"},{"index_price":1.38190000,"index_ts":1700449834011,"contract_code":"TOMO-USDT","trade_partition":"USDT"},{"index_price":2.145596000000000000,"index_ts":1705653008011,"contract_code":"MANTA-USDT","trade_partition":"USDT"},{"index_price":2.735900000000000000,"index_ts":1705653008011,"contract_code":"CAKE-USDT","trade_partition":"USDT"},{"index_price":9.71880000000E-7,"index_ts":1705653008011,"contract_code":"BTT-USDT","trade_partition":"USDT"},{"index_price":0.863192500000000000,"index_ts":1705653008011,"contract_code":"XAI-USDT","trade_partition":"USDT"},{"index_price":0.024649000000000000,"index_ts":1705653008011,"contract_code":"MEME-USDT","trade_partition":"USDT"},{"index_price":0.013963000000000000,"index_ts":1705653008011,"contract_code":"XETA-USDT","trade_partition":"USDT"},{"index_price":1.787100000000000000,"index_ts":1705653008011,"contract_code":"GAL-USDT","trade_partition":"USDT"},{"index_price":0.014678400000000000,"index_ts":1705653008011,"contract_code":"ONE-USDT","trade_partition":"USDT"},{"index_price":1.044433333333333333,"index_ts":1705653008011,"contract_code":"SUSHI-USDT","trade_partition":"USDT"},{"index_price":1981.156750073242623606,"index_ts":1705653008011,"contract_code":"MKR-USDT","trade_partition":"USDT"},{"index_price":68.377320040666666666,"index_ts":1705653008011,"contract_code":"LTC-USDT","trade_partition":"USDT"},{"index_price":0.000028892500000000,"index_ts":1705653008011,"contract_code":"FLOKI-USDT","trade_partition":"USDT"},{"index_price":0.269160000000000000,"index_ts":1705653008011,"contract_code":"AGIX-USDT","trade_partition":"USDT"},{"index_price":0.023725500000000000,"index_ts":1705653008011,"contract_code":"GALA-USDT","trade_partition":"USDT"},{"index_price":33.335070284266666666,"index_ts":1705653008011,"contract_code":"AVAX-USDT","trade_partition":"USDT"},{"index_price":0.777666666666666666,"index_ts":1705653008011,"contract_code":"ARK-USDT","trade_partition":"USDT"},{"index_price":14.913110386749999999,"index_ts":1705653008011,"contract_code":"LINK-USDT","trade_partition":"USDT"},{"index_price":3.490400000000000000,"index_ts":1705653008011,"contract_code":"MASK-USDT","trade_partition":"USDT"},{"index_price":4.238964427700167892,"index_ts":1705653008011,"contract_code":"RNDR-USDT","trade_partition":"USDT"},{"index_price":0.000091950000000000,"index_ts":1705653008011,"contract_code":"WIN-USDT","trade_partition":"USDT"},{"index_price":1.454734000000000000,"index_ts":1705653008011,"contract_code":"STX-USDT","trade_partition":"USDT"}],"ts":1705653009851} +2024-01-19 16:30:09.977 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.getSwapIndex:34] - 2.获取合约指数信息:{"data":[{"contractCode":"SATS-USDT","indexPrice":5.62645200000E-7,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"QRDO-USDT","indexPrice":0.04295,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"ACE-USDT","indexPrice":7.946300000000000000,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"LUNA-USDT","indexPrice":0.678975000000000000,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"CVX-USDT","indexPrice":2.863050000000000000,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"JTO-USDT","indexPrice":2.081198000000000000,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"WLD-USDT","indexPrice":2.524525000000000000,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"OP-USDT","indexPrice":3.226550000000000000,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"BLUR-USDT","indexPrice":0.642850000000000000,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"LUNC-USDT","indexPrice":0.000112536666666666,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"IOTA-USDT","indexPrice":0.227633333333333333,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"SUI-USDT","indexPrice":1.121166666666666666,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"BONK-USDT","indexPrice":0.000011761460000000,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"ICP-USDT","indexPrice":11.191400000000000000,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"STG-USDT","indexPrice":0.537433333333333333,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"TENET-USDT","indexPrice":0.082520500000000000,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"BSV-USDT","indexPrice":74.322975000000000000,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"XMR-USDT","indexPrice":151.513333333333333333,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"AXS-USDT","indexPrice":7.676255818333333333,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"LINA-USDT","indexPrice":0.008272000000000000,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"ETC-USDT","indexPrice":23.888882379833333333,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"MPLX-USDT","indexPrice":0.310932500000000000,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"FTM-USDT","indexPrice":0.364452100666666666,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"BCH-USDT","indexPrice":236.754700510833333333,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"OPUL-USDT","indexPrice":0.108655000000000000,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"KAVA-USDT","indexPrice":0.705370234346666666,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"GAS-USDT","indexPrice":7.257340000000000000,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"MTL-USDT","indexPrice":1.474466666666666666,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"APT-USDT","indexPrice":8.592466666666666666,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"FRONT-USDT","indexPrice":0.403052400000000000,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"TRX-USDT","indexPrice":0.108563297283333333,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"LRC-USDT","indexPrice":0.238680000000000000,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"DYDX-USDT","indexPrice":2.828266666666666666,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"SAND-USDT","indexPrice":0.477811076666666666,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"BAKE-USDT","indexPrice":0.329832500000000000,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"PYTH-USDT","indexPrice":0.329206200000000000,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"SOL-USDT","indexPrice":94.031222189111111111,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"YFI-USDT","indexPrice":7456.310537279221112171,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"LDO-USDT","indexPrice":3.041200000000000000,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"BLZ-USDT","indexPrice":0.332422500000000000,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"FIL-USDT","indexPrice":5.469391057333333333,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"FET-USDT","indexPrice":0.621226714690971482,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"TON-USDT","indexPrice":2.220233333333333333,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"AAVE-USDT","indexPrice":96.256666666666666666,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"TRB-USDT","indexPrice":133.428100000000000000,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"MATIC-USDT","indexPrice":0.784656108374999999,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"DOGE-USDT","indexPrice":0.078017666666666666,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"LOOM-USDT","indexPrice":0.098916666666666666,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"FTT-USDT","indexPrice":2.681620000000000000,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"SEI-USDT","indexPrice":0.718030000000000000,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"XRP-USDT","indexPrice":0.546500504683333333,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"RATS-USDT","indexPrice":0.000268662500000000,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"ENS-USDT","indexPrice":19.497240000000000000,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"AIDOGE-USDT","indexPrice":1.55515000E-10,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"LPT-USDT","indexPrice":7.270619889937224277,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"BNB-USDT","indexPrice":312.325750351666666666,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"USTC-USDT","indexPrice":0.027469072000000000,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"TOKEN-USDT","indexPrice":0.025862500000000000,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"CRV-USDT","indexPrice":0.510500000000000000,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"ARB-USDT","indexPrice":1.860820000000000000,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"XLM-USDT","indexPrice":0.113911391740476433,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"SNX-USDT","indexPrice":3.370039383249999999,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"EGLD-USDT","indexPrice":50.797280000000000000,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"YGG-USDT","indexPrice":0.505860000000000000,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"DOSE-USDT","indexPrice":0.002729750000000000,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"INJ-USDT","indexPrice":36.342475000000000000,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"ATOM-USDT","indexPrice":9.638165899999999999,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"BNT-USDT","indexPrice":0.733299698057922817,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"MANA-USDT","indexPrice":0.448233363733333333,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"CHZ-USDT","indexPrice":0.091908968833333333,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"DOT-USDT","indexPrice":6.967983419999999999,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"POLYX-USDT","indexPrice":0.163133333333333333,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"MINA-USDT","indexPrice":1.175580000000000000,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"EOS-USDT","indexPrice":0.714534117133333333,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"GRT-USDT","indexPrice":0.152698053258333333,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"UNB-USDT","indexPrice":0.000705700000000000,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"STEEM-USDT","indexPrice":0.225125000000000000,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"ORDI-USDT","indexPrice":69.299266666666666666,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"FSN-USDT","indexPrice":0.173366666666666666,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"SSV-USDT","indexPrice":31.636900000000000000,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"KSM-USDT","indexPrice":39.498420000000000000,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"ETH-USDT","indexPrice":2462.476666666666666666,"indexTs":1705653009011,"tradePartition":"USDT"},{"contractCode":"RDNT-USDT","indexPrice":0.348980000000000000,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"STORJ-USDT","indexPrice":0.561200000000000000,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"GMT-USDT","indexPrice":0.292233333333333333,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"BTC-USDT","indexPrice":41188.733333333333333333,"indexTs":1705653009011,"tradePartition":"USDT"},{"contractCode":"WOO-USDT","indexPrice":0.399450000000000000,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"PEOPLE-USDT","indexPrice":0.031287200000000000,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"ACH-USDT","indexPrice":0.018215036740900809,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"APE-USDT","indexPrice":1.391866666666666666,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"BIGTIME-USDT","indexPrice":0.386213069951341269,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"METIS-USDT","indexPrice":91.492500000000000000,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"IMX-USDT","indexPrice":1.890536000000000000,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"DUSK-USDT","indexPrice":0.185305000000000000,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"COMP-USDT","indexPrice":54.273561000489279360,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"ALGO-USDT","indexPrice":0.176046944666666666,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"CYBER-USDT","indexPrice":7.851325000000000000,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"WAVES-USDT","indexPrice":2.292440045449999999,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"GARI-USDT","indexPrice":0.030747750000000000,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"TIA-USDT","indexPrice":17.099480000000000000,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"ADA-USDT","indexPrice":0.498024330519999999,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"LADYS-USDT","indexPrice":5.9190000000E-8,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"SHIB-USDT","indexPrice":0.000009208000000000,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"SNT-USDT","indexPrice":0.040126400000000000,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"CFX-USDT","indexPrice":0.192620000000000000,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"UNI-USDT","indexPrice":6.302100000000000000,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"PEPE-USDT","indexPrice":0.000001132778000000,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"SDAO-USDT","indexPrice":0.390350000000000000,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"CORE-USDT","indexPrice":0.526080500000000000,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"AI-USDT","indexPrice":1.055125000000000000,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"JST-USDT","indexPrice":0.029265333333333333,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"RLY-USDT","indexPrice":0.006944000000000000,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"1INCH-USDT","indexPrice":0.420188028499999999,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"OGN-USDT","indexPrice":0.156519448104753312,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"THETA-USDT","indexPrice":0.983305673424999999,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"NEAR-USDT","indexPrice":3.002339725749999999,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"TOMO-USDT","indexPrice":1.38190000,"indexTs":1700449834011,"tradePartition":"USDT"},{"contractCode":"MANTA-USDT","indexPrice":2.145596000000000000,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"CAKE-USDT","indexPrice":2.735900000000000000,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"BTT-USDT","indexPrice":9.71880000000E-7,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"XAI-USDT","indexPrice":0.863192500000000000,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"MEME-USDT","indexPrice":0.024649000000000000,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"XETA-USDT","indexPrice":0.013963000000000000,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"GAL-USDT","indexPrice":1.787100000000000000,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"ONE-USDT","indexPrice":0.014678400000000000,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"SUSHI-USDT","indexPrice":1.044433333333333333,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"MKR-USDT","indexPrice":1981.156750073242623606,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"LTC-USDT","indexPrice":68.377320040666666666,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"FLOKI-USDT","indexPrice":0.000028892500000000,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"AGIX-USDT","indexPrice":0.269160000000000000,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"GALA-USDT","indexPrice":0.023725500000000000,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"AVAX-USDT","indexPrice":33.335070284266666666,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"ARK-USDT","indexPrice":0.777666666666666666,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"LINK-USDT","indexPrice":14.913110386749999999,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"MASK-USDT","indexPrice":3.490400000000000000,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"RNDR-USDT","indexPrice":4.238964427700167892,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"WIN-USDT","indexPrice":0.000091950000000000,"indexTs":1705653008011,"tradePartition":"USDT"},{"contractCode":"STX-USDT","indexPrice":1.454734000000000000,"indexTs":1705653008011,"tradePartition":"USDT"}],"status":"ok","ts":1705653009851} +2024-01-19 16:31:07.861 [DEBUG] [main] [com.huobi.api.service.usdt.market.MarketAPIServiceImpl.getSwapPriceLimit:105] - body:{"status":"ok","data":[{"symbol":"DOSE","contract_code":"DOSE-USDT-240126","high_limit":0.002522751000000000000000000000000000000000000000000000,"low_limit":0.002402620000000000000000000000000000,"business_type":"futures","pair":"DOSE-USDT","contract_type":"this_week","trade_partition":"USDT"},{"symbol":"DOSE","contract_code":"DOSE-USDT-240202","high_limit":0.002522751000000000000000000000000000000000000000000000,"low_limit":0.002402620000000000000000000000000000,"business_type":"futures","pair":"DOSE-USDT","contract_type":"next_week","trade_partition":"USDT"},{"symbol":"DOSE","contract_code":"DOSE-USDT-240329","high_limit":0.003057880000000000000000000000000000,"low_limit":0.002904986000000000000000000000000000000000000000000000,"business_type":"futures","pair":"DOSE-USDT","contract_type":"quarter","trade_partition":"USDT"},{"symbol":"BTC","contract_code":"BTC-USDT","high_limit":42044.000000000000000000000000000000000000,"low_limit":40395.300000000000000000000000000000000000,"business_type":"swap","pair":"BTC-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"CVX","contract_code":"CVX-USDT-240126","high_limit":3.206000000000000000000000000000000000,"low_limit":3.047000000000000000000000000000000000000000000000000000,"business_type":"futures","pair":"CVX-USDT","contract_type":"this_week","trade_partition":"USDT"},{"symbol":"CVX","contract_code":"CVX-USDT-240202","high_limit":3.206000000000000000000000000000000000,"low_limit":3.047000000000000000000000000000000000000000000000000000,"business_type":"futures","pair":"CVX-USDT","contract_type":"next_week","trade_partition":"USDT"},{"symbol":"CVX","contract_code":"CVX-USDT-240329","high_limit":3.206000000000000000000000000000000000,"low_limit":3.047000000000000000000000000000000000000000000000000000,"business_type":"futures","pair":"CVX-USDT","contract_type":"quarter","trade_partition":"USDT"},{"symbol":"BTC","contract_code":"BTC-USDT-240126","high_limit":42112.800000000000000000000000000000000000,"low_limit":40461.400000000000000000000000000000000000,"business_type":"futures","pair":"BTC-USDT","contract_type":"this_week","trade_partition":"USDT"},{"symbol":"BTC","contract_code":"BTC-USDT-240202","high_limit":42192.700000000000000000000000000000000000,"low_limit":40538.200000000000000000000000000000000000,"business_type":"futures","pair":"BTC-USDT","contract_type":"next_week","trade_partition":"USDT"},{"symbol":"TOMO","contract_code":"TOMO-USDT-240126","high_limit":1.27687000000000000000000000000000000000000000,"low_limit":1.21608000000000000000000000,"business_type":"futures","pair":"TOMO-USDT","contract_type":"this_week","trade_partition":"USDT"},{"symbol":"TOMO","contract_code":"TOMO-USDT-240202","high_limit":1.27687000000000000000000000000000000000000000,"low_limit":1.21608000000000000000000000,"business_type":"futures","pair":"TOMO-USDT","contract_type":"next_week","trade_partition":"USDT"},{"symbol":"TOMO","contract_code":"TOMO-USDT-240329","high_limit":1.27687000000000000000000000000000000000000000,"low_limit":1.21608000000000000000000000,"business_type":"futures","pair":"TOMO-USDT","contract_type":"quarter","trade_partition":"USDT"},{"symbol":"DUSK","contract_code":"DUSK-USDT-240126","high_limit":0.001851000000000000000000000000000000000000000000000000,"low_limit":0.000001000000000000000000000000000000,"business_type":"futures","pair":"DUSK-USDT","contract_type":"this_week","trade_partition":"USDT"},{"symbol":"DUSK","contract_code":"DUSK-USDT-240202","high_limit":0.001851000000000000000000000000000000000000000000000000,"low_limit":0.000001000000000000000000000000000000,"business_type":"futures","pair":"DUSK-USDT","contract_type":"next_week","trade_partition":"USDT"},{"symbol":"DUSK","contract_code":"DUSK-USDT-240329","high_limit":129641.370011000000000000000000000000000000,"low_limit":0.000001000000000000000000000000000000,"business_type":"futures","pair":"DUSK-USDT","contract_type":"quarter","trade_partition":"USDT"},{"symbol":"ETH","contract_code":"ETH-USDT-240126","high_limit":2518.750000000000000000000000000000000000,"low_limit":2419.990000000000000000000000000000000000,"business_type":"futures","pair":"ETH-USDT","contract_type":"this_week","trade_partition":"USDT"},{"symbol":"ETH","contract_code":"ETH-USDT-240202","high_limit":2521.330000000000000000000000000000000000,"low_limit":2422.460000000000000000000000000000000000,"business_type":"futures","pair":"ETH-USDT","contract_type":"next_week","trade_partition":"USDT"},{"symbol":"ETH","contract_code":"ETH-USDT","high_limit":2537.120000000000000000000000000000000000,"low_limit":2389.340000000000000000000000000000000000,"business_type":"swap","pair":"ETH-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"LTC","contract_code":"LTC-USDT","high_limit":70.490000000000000000000000000000000000,"low_limit":66.390000000000000000000000000000000000,"business_type":"swap","pair":"LTC-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"DOGE","contract_code":"DOGE-USDT","high_limit":0.082030000000000000000000000000000000,"low_limit":0.074219000000000000000000000000000000,"business_type":"swap","pair":"DOGE-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"SHIB","contract_code":"SHIB-USDT","high_limit":0.000009696000000000000000000000000000,"low_limit":0.000008774000000000000000000000000000,"business_type":"swap","pair":"SHIB-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"ICP","contract_code":"ICP-USDT","high_limit":11.739000000000000000000000000000000000,"low_limit":10.622000000000000000000000000000000000,"business_type":"swap","pair":"ICP-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"XRP","contract_code":"XRP-USDT","high_limit":0.573950000000000000000000000000000000,"low_limit":0.519300000000000000000000000000000000,"business_type":"swap","pair":"XRP-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"LINK","contract_code":"LINK-USDT","high_limit":15.648000000000000000000000000000000000,"low_limit":14.157800000000000000000000000000000000,"business_type":"swap","pair":"LINK-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"TRX","contract_code":"TRX-USDT","high_limit":0.111827000000000000000000000000000000,"low_limit":0.105313000000000000000000000000000000,"business_type":"swap","pair":"TRX-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"DOT","contract_code":"DOT-USDT","high_limit":7.320000000000000000000000000000000000,"low_limit":6.623000000000000000000000000000000000,"business_type":"swap","pair":"DOT-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"ADA","contract_code":"ADA-USDT","high_limit":0.522806000000000000000000000000000000,"low_limit":0.473016000000000000000000000000000000,"business_type":"swap","pair":"ADA-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"EOS","contract_code":"EOS-USDT","high_limit":0.736100000000000000000000000000000000,"low_limit":0.693300000000000000000000000000000000,"business_type":"swap","pair":"EOS-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"BCH","contract_code":"BCH-USDT","high_limit":243.790000000000000000000000000000000000,"low_limit":229.600000000000000000000000000000000000,"business_type":"swap","pair":"BCH-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"BSV","contract_code":"BSV-USDT","high_limit":78.120000000000000000000000000000000000,"low_limit":70.690000000000000000000000000000000000,"business_type":"swap","pair":"BSV-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"YFI","contract_code":"YFI-USDT","high_limit":7839.700000000000000000000000000000000000,"low_limit":7093.200000000000000000000000000000000000,"business_type":"swap","pair":"YFI-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"UNI","contract_code":"UNI-USDT","high_limit":6.618800000000000000000000000000000000,"low_limit":5.988500000000000000000000000000000000,"business_type":"swap","pair":"UNI-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"FIL","contract_code":"FIL-USDT","high_limit":5.747000000000000000000000000000000000,"low_limit":5.201000000000000000000000000000000000,"business_type":"swap","pair":"FIL-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"SNX","contract_code":"SNX-USDT","high_limit":3.539600000000000000000000000000000000,"low_limit":3.202600000000000000000000000000000000,"business_type":"swap","pair":"SNX-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"BNB","contract_code":"BNB-USDT","high_limit":327.565000000000000000000000000000000000,"low_limit":296.369000000000000000000000000000000000,"business_type":"swap","pair":"BNB-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"ETC","contract_code":"ETC-USDT","high_limit":24.613500000000000000000000000000000000,"low_limit":23.179800000000000000000000000000000000,"business_type":"swap","pair":"ETC-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"THETA","contract_code":"THETA-USDT","high_limit":1.032830000000000000000000000000000000,"low_limit":0.934470000000000000000000000000000000,"business_type":"swap","pair":"THETA-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"KSM","contract_code":"KSM-USDT","high_limit":41.431000000000000000000000000000000000,"low_limit":37.486000000000000000000000000000000000,"business_type":"swap","pair":"KSM-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"ATOM","contract_code":"ATOM-USDT","high_limit":10.112800000000000000000000000000000000,"low_limit":9.149700000000000000000000000000000000,"business_type":"swap","pair":"ATOM-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"AAVE","contract_code":"AAVE-USDT","high_limit":101.053000000000000000000000000000000000,"low_limit":91.430000000000000000000000000000000000,"business_type":"swap","pair":"AAVE-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"XLM","contract_code":"XLM-USDT","high_limit":0.118940000000000000000000000000000000,"low_limit":0.107620000000000000000000000000000000,"business_type":"swap","pair":"XLM-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"SUSHI","contract_code":"SUSHI-USDT","high_limit":1.096300000000000000000000000000000000,"low_limit":0.992000000000000000000000000000000000,"business_type":"swap","pair":"SUSHI-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"GRT","contract_code":"GRT-USDT","high_limit":0.160330000000000000000000000000000000,"low_limit":0.145070000000000000000000000000000000,"business_type":"swap","pair":"GRT-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"1INCH","contract_code":"1INCH-USDT","high_limit":0.441400000000000000000000000000000000,"low_limit":0.399500000000000000000000000000000000,"business_type":"swap","pair":"1INCH-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"CRV","contract_code":"CRV-USDT","high_limit":0.536300000000000000000000000000000000,"low_limit":0.485300000000000000000000000000000000,"business_type":"swap","pair":"CRV-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"ALGO","contract_code":"ALGO-USDT","high_limit":0.184990000000000000000000000000000000,"low_limit":0.167380000000000000000000000000000000,"business_type":"swap","pair":"ALGO-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"WAVES","contract_code":"WAVES-USDT","high_limit":2.412700000000000000000000000000000000,"low_limit":2.183100000000000000000000000000000000,"business_type":"swap","pair":"WAVES-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"COMP","contract_code":"COMP-USDT","high_limit":56.990000000000000000000000000000000000,"low_limit":51.580000000000000000000000000000000000,"business_type":"swap","pair":"COMP-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"XMR","contract_code":"XMR-USDT","high_limit":159.660000000000000000000000000000000000,"low_limit":144.460000000000000000000000000000000000,"business_type":"swap","pair":"XMR-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"KAVA","contract_code":"KAVA-USDT","high_limit":0.740400000000000000000000000000000000,"low_limit":0.670000000000000000000000000000000000,"business_type":"swap","pair":"KAVA-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"AVAX","contract_code":"AVAX-USDT","high_limit":34.982400000000000000000000000000000000,"low_limit":31.650900000000000000000000000000000000,"business_type":"swap","pair":"AVAX-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"MATIC","contract_code":"MATIC-USDT","high_limit":0.825010000000000000000000000000000000,"low_limit":0.746450000000000000000000000000000000,"business_type":"swap","pair":"MATIC-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"LINA","contract_code":"LINA-USDT","high_limit":0.008660000000000000000000000000000000,"low_limit":0.007840000000000000000000000000000000,"business_type":"swap","pair":"LINA-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"SOL","contract_code":"SOL-USDT","high_limit":98.755000000000000000000000000000000000,"low_limit":89.349800000000000000000000000000000000,"business_type":"swap","pair":"SOL-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"IOTA","contract_code":"IOTA-USDT","high_limit":0.239600000000000000000000000000000000,"low_limit":0.216800000000000000000000000000000000,"business_type":"swap","pair":"IOTA-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"MKR","contract_code":"MKR-USDT","high_limit":2080.400000000000000000000000000000000000,"low_limit":1882.400000000000000000000000000000000000,"business_type":"swap","pair":"MKR-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"SAND","contract_code":"SAND-USDT","high_limit":0.501764000000000000000000000000000000,"low_limit":0.453978000000000000000000000000000000,"business_type":"swap","pair":"SAND-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"MASK","contract_code":"MASK-USDT","high_limit":3.664000000000000000000000000000000000,"low_limit":3.316000000000000000000000000000000000,"business_type":"swap","pair":"MASK-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"NEAR","contract_code":"NEAR-USDT","high_limit":3.150000000000000000000000000000000000,"low_limit":2.851000000000000000000000000000000000,"business_type":"swap","pair":"NEAR-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"MANA","contract_code":"MANA-USDT","high_limit":0.471600000000000000000000000000000000,"low_limit":0.426800000000000000000000000000000000,"business_type":"swap","pair":"MANA-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"BNT","contract_code":"BNT-USDT","high_limit":0.769800000000000000000000000000000000,"low_limit":0.696600000000000000000000000000000000,"business_type":"swap","pair":"BNT-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"LUNA","contract_code":"LUNA-USDT","high_limit":0.713300000000000000000000000000000000,"low_limit":0.645500000000000000000000000000000000,"business_type":"swap","pair":"LUNA-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"WOO","contract_code":"WOO-USDT","high_limit":0.418920000000000000000000000000000000,"low_limit":0.379030000000000000000000000000000000,"business_type":"swap","pair":"WOO-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"CHZ","contract_code":"CHZ-USDT","high_limit":0.096480000000000000000000000000000000,"low_limit":0.087300000000000000000000000000000000,"business_type":"swap","pair":"CHZ-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"ONE","contract_code":"ONE-USDT","high_limit":0.015448000000000000000000000000000000,"low_limit":0.013978000000000000000000000000000000,"business_type":"swap","pair":"ONE-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"STORJ","contract_code":"STORJ-USDT","high_limit":0.589500000000000000000000000000000000,"low_limit":0.533400000000000000000000000000000000,"business_type":"swap","pair":"STORJ-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"BTT","contract_code":"BTT-USDT","high_limit":0.000001017000000000000000000000000000,"low_limit":9.21000000000000000000000000000E-7,"business_type":"swap","pair":"BTT-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"AXS","contract_code":"AXS-USDT","high_limit":8.042300000000000000000000000000000000,"low_limit":7.276400000000000000000000000000000000,"business_type":"swap","pair":"AXS-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"ACH","contract_code":"ACH-USDT","high_limit":0.019140000000000000000000000000000000,"low_limit":0.017330000000000000000000000000000000,"business_type":"swap","pair":"ACH-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"LRC","contract_code":"LRC-USDT","high_limit":0.250770000000000000000000000000000000,"low_limit":0.226900000000000000000000000000000000,"business_type":"swap","pair":"LRC-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"YGG","contract_code":"YGG-USDT","high_limit":0.531600000000000000000000000000000000,"low_limit":0.481100000000000000000000000000000000,"business_type":"swap","pair":"YGG-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"DYDX","contract_code":"DYDX-USDT","high_limit":2.978000000000000000000000000000000000,"low_limit":2.695000000000000000000000000000000000,"business_type":"swap","pair":"DYDX-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"FTT","contract_code":"FTT-USDT","high_limit":2.828000000000000000000000000000000000,"low_limit":2.560000000000000000000000000000000000,"business_type":"swap","pair":"FTT-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"GALA","contract_code":"GALA-USDT","high_limit":0.024920000000000000000000000000000000,"low_limit":0.022550000000000000000000000000000000,"business_type":"swap","pair":"GALA-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"IMX","contract_code":"IMX-USDT","high_limit":1.986000000000000000000000000000000000,"low_limit":1.796900000000000000000000000000000000,"business_type":"swap","pair":"IMX-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"MINA","contract_code":"MINA-USDT","high_limit":1.234400000000000000000000000000000000,"low_limit":1.117000000000000000000000000000000000,"business_type":"swap","pair":"MINA-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"ENS","contract_code":"ENS-USDT","high_limit":20.493000000000000000000000000000000000,"low_limit":18.543000000000000000000000000000000000,"business_type":"swap","pair":"ENS-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"RNDR","contract_code":"RNDR-USDT","high_limit":4.455300000000000000000000000000000000,"low_limit":4.031100000000000000000000000000000000,"business_type":"swap","pair":"RNDR-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"PEOPLE","contract_code":"PEOPLE-USDT","high_limit":0.032890000000000000000000000000000000,"low_limit":0.029770000000000000000000000000000000,"business_type":"swap","pair":"PEOPLE-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"JST","contract_code":"JST-USDT","high_limit":0.030710000000000000000000000000000000,"low_limit":0.027786000000000000000000000000000000,"business_type":"swap","pair":"JST-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"LPT","contract_code":"LPT-USDT","high_limit":7.645000000000000000000000000000000000,"low_limit":6.918000000000000000000000000000000000,"business_type":"swap","pair":"LPT-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"FTM","contract_code":"FTM-USDT","high_limit":0.382700000000000000000000000000000000,"low_limit":0.346400000000000000000000000000000000,"business_type":"swap","pair":"FTM-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"FRONT","contract_code":"FRONT-USDT","high_limit":0.423800000000000000000000000000000000,"low_limit":0.383500000000000000000000000000000000,"business_type":"swap","pair":"FRONT-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"BLZ","contract_code":"BLZ-USDT","high_limit":0.349510000000000000000000000000000000,"low_limit":0.316230000000000000000000000000000000,"business_type":"swap","pair":"BLZ-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"OGN","contract_code":"OGN-USDT","high_limit":0.164300000000000000000000000000000000,"low_limit":0.148800000000000000000000000000000000,"business_type":"swap","pair":"OGN-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"EGLD","contract_code":"EGLD-USDT","high_limit":53.350000000000000000000000000000000000,"low_limit":48.280000000000000000000000000000000000,"business_type":"swap","pair":"EGLD-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"ARK","contract_code":"ARK-USDT","high_limit":0.817700000000000000000000000000000000,"low_limit":0.739900000000000000000000000000000000,"business_type":"swap","pair":"ARK-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"STEEM","contract_code":"STEEM-USDT","high_limit":0.236900000000000000000000000000000000,"low_limit":0.214400000000000000000000000000000000,"business_type":"swap","pair":"STEEM-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"LOOM","contract_code":"LOOM-USDT","high_limit":0.108900000000000000000000000000000000,"low_limit":0.094100000000000000000000000000000000,"business_type":"swap","pair":"LOOM-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"SNT","contract_code":"SNT-USDT","high_limit":0.042190000000000000000000000000000000,"low_limit":0.038190000000000000000000000000000000,"business_type":"swap","pair":"SNT-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"TRB","contract_code":"TRB-USDT","high_limit":140.052000000000000000000000000000000000,"low_limit":126.715000000000000000000000000000000000,"business_type":"swap","pair":"TRB-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"GAS","contract_code":"GAS-USDT","high_limit":7.660000000000000000000000000000000000,"low_limit":6.931000000000000000000000000000000000,"business_type":"swap","pair":"GAS-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"MEME","contract_code":"MEME-USDT","high_limit":0.025910000000000000000000000000000000,"low_limit":0.023443000000000000000000000000000000,"business_type":"swap","pair":"MEME-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"INJ","contract_code":"INJ-USDT","high_limit":38.152000000000000000000000000000000000,"low_limit":34.519000000000000000000000000000000000,"business_type":"swap","pair":"INJ-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"QRDO","contract_code":"QRDO-USDT","high_limit":0.04808000000000000000000,"low_limit":0.04328000000000000000000000000000000000000,"business_type":"swap","pair":"QRDO-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"CVX","contract_code":"CVX-USDT","high_limit":2.428000000000000000000000000000000000,"low_limit":0.573000000000000000000000000000000000,"business_type":"swap","pair":"CVX-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"JTO","contract_code":"JTO-USDT","high_limit":2.187600000000000000000000000000000000,"low_limit":1.979400000000000000000000000000000000,"business_type":"swap","pair":"JTO-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"BONK","contract_code":"BONK-USDT","high_limit":0.000012391000000000000000000000000000,"low_limit":0.000011212000000000000000000000000000,"business_type":"swap","pair":"BONK-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"MPLX","contract_code":"MPLX-USDT","high_limit":0.300940000000000000000000000000000000000000000000000000,"low_limit":0.273590000000000000000000000000000000,"business_type":"swap","pair":"MPLX-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"OPUL","contract_code":"OPUL-USDT","high_limit":0.121010000000000000000000000000000000,"low_limit":0.099020000000000000000000000000000000,"business_type":"swap","pair":"OPUL-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"APT","contract_code":"APT-USDT","high_limit":9.025000000000000000000000000000000000,"low_limit":8.166000000000000000000000000000000000,"business_type":"swap","pair":"APT-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"LDO","contract_code":"LDO-USDT","high_limit":3.196700000000000000000000000000000000,"low_limit":2.892400000000000000000000000000000000,"business_type":"swap","pair":"LDO-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"FET","contract_code":"FET-USDT","high_limit":0.652100000000000000000000000000000000,"low_limit":0.590100000000000000000000000000000000,"business_type":"swap","pair":"FET-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"TON","contract_code":"TON-USDT","high_limit":2.339200000000000000000000000000000000,"low_limit":2.116500000000000000000000000000000000,"business_type":"swap","pair":"TON-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"SEI","contract_code":"SEI-USDT","high_limit":0.756000000000000000000000000000000000,"low_limit":0.684100000000000000000000000000000000,"business_type":"swap","pair":"SEI-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"RATS","contract_code":"RATS-USDT","high_limit":0.000282900000000000000000000000000000,"low_limit":0.000256000000000000000000000000000000,"business_type":"swap","pair":"RATS-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"ARB","contract_code":"ARB-USDT","high_limit":1.956500000000000000000000000000000000,"low_limit":1.770200000000000000000000000000000000,"business_type":"swap","pair":"ARB-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"DOSE","contract_code":"DOSE-USDT","high_limit":0.002522751000000000000000000000000000000000000000000000,"low_limit":0.002402620000000000000000000000000000,"business_type":"swap","pair":"DOSE-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"POLYX","contract_code":"POLYX-USDT","high_limit":0.171500000000000000000000000000000000,"low_limit":0.155200000000000000000000000000000000,"business_type":"swap","pair":"POLYX-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"UNB","contract_code":"UNB-USDT","high_limit":706.500699400000000000000000000000000000,"low_limit":1.00000000000000000000000000000E-7,"business_type":"swap","pair":"UNB-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"FSN","contract_code":"FSN-USDT","high_limit":0.194090000000000000000000000000000000,"low_limit":0.184400000000000000000000000000000000000000000000000000,"business_type":"swap","pair":"FSN-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"RDNT","contract_code":"RDNT-USDT","high_limit":0.366800000000000000000000000000000000,"low_limit":0.332000000000000000000000000000000000,"business_type":"swap","pair":"RDNT-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"BIGTIME","contract_code":"BIGTIME-USDT","high_limit":0.405700000000000000000000000000000000,"low_limit":0.367100000000000000000000000000000000,"business_type":"swap","pair":"BIGTIME-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"METIS","contract_code":"METIS-USDT","high_limit":95.890000000000000000000000000000000000,"low_limit":86.770000000000000000000000000000000000,"business_type":"swap","pair":"METIS-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"DUSK","contract_code":"DUSK-USDT","high_limit":172581.412522000000000000000000000000000000,"low_limit":0.000001000000000000000000000000000000,"business_type":"swap","pair":"DUSK-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"TIA","contract_code":"TIA-USDT","high_limit":17.979000000000000000000000000000000000,"low_limit":16.268000000000000000000000000000000000,"business_type":"swap","pair":"TIA-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"LADYS","contract_code":"LADYS-USDT","high_limit":6.1920000000000000000000000000E-8,"low_limit":5.6030000000000000000000000000E-8,"business_type":"swap","pair":"LADYS-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"CFX","contract_code":"CFX-USDT","high_limit":0.202600000000000000000000000000000000,"low_limit":0.183400000000000000000000000000000000,"business_type":"swap","pair":"CFX-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"PEPE","contract_code":"PEPE-USDT","high_limit":0.000001189500000000000000000000000000,"low_limit":0.000001076300000000000000000000000000,"business_type":"swap","pair":"PEPE-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"TOMO","contract_code":"TOMO-USDT","high_limit":1.54700000000000000000000000,"low_limit":1.454000000000000000000000000000000000,"business_type":"swap","pair":"TOMO-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"XAI","contract_code":"XAI-USDT","high_limit":0.910700000000000000000000000000000000,"low_limit":0.824000000000000000000000000000000000,"business_type":"swap","pair":"XAI-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"AGIX","contract_code":"AGIX-USDT","high_limit":0.282800000000000000000000000000000000,"low_limit":0.255900000000000000000000000000000000,"business_type":"swap","pair":"AGIX-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"SATS","contract_code":"SATS-USDT","high_limit":5.91800000000000000000000000000E-7,"low_limit":5.35500000000000000000000000000E-7,"business_type":"swap","pair":"SATS-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"ACE","contract_code":"ACE-USDT","high_limit":8.352000000000000000000000000000000000,"low_limit":7.557000000000000000000000000000000000,"business_type":"swap","pair":"ACE-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"WLD","contract_code":"WLD-USDT","high_limit":2.653300000000000000000000000000000000,"low_limit":2.400700000000000000000000000000000000,"business_type":"swap","pair":"WLD-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"OP","contract_code":"OP-USDT","high_limit":3.391300000000000000000000000000000000,"low_limit":3.068400000000000000000000000000000000,"business_type":"swap","pair":"OP-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"BLUR","contract_code":"BLUR-USDT","high_limit":0.674000000000000000000000000000000000,"low_limit":0.609900000000000000000000000000000000,"business_type":"swap","pair":"BLUR-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"LUNC","contract_code":"LUNC-USDT","high_limit":0.000118270000000000000000000000000000,"low_limit":0.000107010000000000000000000000000000,"business_type":"swap","pair":"LUNC-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"SUI","contract_code":"SUI-USDT","high_limit":1.176800000000000000000000000000000000,"low_limit":1.064800000000000000000000000000000000,"business_type":"swap","pair":"SUI-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"STG","contract_code":"STG-USDT","high_limit":0.564700000000000000000000000000000000,"low_limit":0.511100000000000000000000000000000000,"business_type":"swap","pair":"STG-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"TENET","contract_code":"TENET-USDT","high_limit":0.092400000000000000000000000000000000,"low_limit":0.083170000000000000000000000000000000000000000000000000,"business_type":"swap","pair":"TENET-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"MTL","contract_code":"MTL-USDT","high_limit":1.550300000000000000000000000000000000,"low_limit":1.402800000000000000000000000000000000,"business_type":"swap","pair":"MTL-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"BAKE","contract_code":"BAKE-USDT","high_limit":0.347300000000000000000000000000000000,"low_limit":0.314300000000000000000000000000000000,"business_type":"swap","pair":"BAKE-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"PYTH","contract_code":"PYTH-USDT","high_limit":0.346400000000000000000000000000000000,"low_limit":0.313500000000000000000000000000000000,"business_type":"swap","pair":"PYTH-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"AIDOGE","contract_code":"AIDOGE-USDT","high_limit":1.63500000000000000000000000E-10,"low_limit":1.48000000000000000000000000E-10,"business_type":"swap","pair":"AIDOGE-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"USTC","contract_code":"USTC-USDT","high_limit":0.028900000000000000000000000000000000,"low_limit":0.026160000000000000000000000000000000,"business_type":"swap","pair":"USTC-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"TOKEN","contract_code":"TOKEN-USDT","high_limit":0.027220000000000000000000000000000000,"low_limit":0.024630000000000000000000000000000000,"business_type":"swap","pair":"TOKEN-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"ORDI","contract_code":"ORDI-USDT","high_limit":73.008000000000000000000000000000000000,"low_limit":66.056000000000000000000000000000000000,"business_type":"swap","pair":"ORDI-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"SSV","contract_code":"SSV-USDT","high_limit":33.281000000000000000000000000000000000,"low_limit":30.112000000000000000000000000000000000,"business_type":"swap","pair":"SSV-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"CYBER","contract_code":"CYBER-USDT","high_limit":8.255000000000000000000000000000000000,"low_limit":7.470000000000000000000000000000000000,"business_type":"swap","pair":"CYBER-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"GARI","contract_code":"GARI-USDT","high_limit":0.034380000000000000000000000000000000,"low_limit":0.030950000000000000000000000000000000000000000000000000,"business_type":"swap","pair":"GARI-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"CORE","contract_code":"CORE-USDT","high_limit":0.553300000000000000000000000000000000,"low_limit":0.500700000000000000000000000000000000,"business_type":"swap","pair":"CORE-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"SDAO","contract_code":"SDAO-USDT","high_limit":0.437300000000000000000000000000000000,"low_limit":0.393700000000000000000000000000000000000000000000000000,"business_type":"swap","pair":"SDAO-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"AI","contract_code":"AI-USDT","high_limit":1.112700000000000000000000000000000000,"low_limit":1.006800000000000000000000000000000000,"business_type":"swap","pair":"AI-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"RLY","contract_code":"RLY-USDT","high_limit":0.006921000000000000000000000000000000,"low_limit":0.006108000000000000000000000000000000,"business_type":"swap","pair":"RLY-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"MANTA","contract_code":"MANTA-USDT","high_limit":2.343000000000000000000000000000000000,"low_limit":1.918000000000000000000000000000000000,"business_type":"swap","pair":"MANTA-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"CAKE","contract_code":"CAKE-USDT","high_limit":2.881300000000000000000000000000000000,"low_limit":2.607000000000000000000000000000000000,"business_type":"swap","pair":"CAKE-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"XETA","contract_code":"XETA-USDT","high_limit":0.013518000000000000000000000000000000000000000000000000,"low_limit":0.012290000000000000000000000000000000,"business_type":"swap","pair":"XETA-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"GAL","contract_code":"GAL-USDT","high_limit":1.875500000000000000000000000000000000,"low_limit":1.697000000000000000000000000000000000,"business_type":"swap","pair":"GAL-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"FLOKI","contract_code":"FLOKI-USDT","high_limit":0.000030330000000000000000000000000000,"low_limit":0.000027460000000000000000000000000000,"business_type":"swap","pair":"FLOKI-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"STX","contract_code":"STX-USDT","high_limit":1.527000000000000000000000000000000000,"low_limit":1.381700000000000000000000000000000000,"business_type":"swap","pair":"STX-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"WIN","contract_code":"WIN-USDT","high_limit":0.000096820000000000000000000000000000,"low_limit":0.000087610000000000000000000000000000,"business_type":"swap","pair":"WIN-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"APE","contract_code":"APE-USDT","high_limit":1.457000000000000000000000000000000000,"low_limit":1.318300000000000000000000000000000000,"business_type":"swap","pair":"APE-USDT","contract_type":"swap","trade_partition":"USDT"},{"symbol":"GMT","contract_code":"GMT-USDT","high_limit":0.306980000000000000000000000000000000,"low_limit":0.277750000000000000000000000000000000,"business_type":"swap","pair":"GMT-USDT","contract_type":"swap","trade_partition":"USDT"}],"ts":1705653067740} +2024-01-19 16:31:07.985 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.getSwapPriceLimit:41] - 3.获取合约最高限价和最低限价:{"data":[{"businessType":"futures","contractCode":"DOSE-USDT-240126","contractType":"this_week","highLimit":0.002522751000000000000000000000000000000000000000000000,"lowLimit":0.002402620000000000000000000000000000,"pair":"DOSE-USDT","symbol":"DOSE","tradePartition":"USDT"},{"businessType":"futures","contractCode":"DOSE-USDT-240202","contractType":"next_week","highLimit":0.002522751000000000000000000000000000000000000000000000,"lowLimit":0.002402620000000000000000000000000000,"pair":"DOSE-USDT","symbol":"DOSE","tradePartition":"USDT"},{"businessType":"futures","contractCode":"DOSE-USDT-240329","contractType":"quarter","highLimit":0.003057880000000000000000000000000000,"lowLimit":0.002904986000000000000000000000000000000000000000000000,"pair":"DOSE-USDT","symbol":"DOSE","tradePartition":"USDT"},{"businessType":"swap","contractCode":"BTC-USDT","contractType":"swap","highLimit":42044.000000000000000000000000000000000000,"lowLimit":40395.300000000000000000000000000000000000,"pair":"BTC-USDT","symbol":"BTC","tradePartition":"USDT"},{"businessType":"futures","contractCode":"CVX-USDT-240126","contractType":"this_week","highLimit":3.206000000000000000000000000000000000,"lowLimit":3.047000000000000000000000000000000000000000000000000000,"pair":"CVX-USDT","symbol":"CVX","tradePartition":"USDT"},{"businessType":"futures","contractCode":"CVX-USDT-240202","contractType":"next_week","highLimit":3.206000000000000000000000000000000000,"lowLimit":3.047000000000000000000000000000000000000000000000000000,"pair":"CVX-USDT","symbol":"CVX","tradePartition":"USDT"},{"businessType":"futures","contractCode":"CVX-USDT-240329","contractType":"quarter","highLimit":3.206000000000000000000000000000000000,"lowLimit":3.047000000000000000000000000000000000000000000000000000,"pair":"CVX-USDT","symbol":"CVX","tradePartition":"USDT"},{"businessType":"futures","contractCode":"BTC-USDT-240126","contractType":"this_week","highLimit":42112.800000000000000000000000000000000000,"lowLimit":40461.400000000000000000000000000000000000,"pair":"BTC-USDT","symbol":"BTC","tradePartition":"USDT"},{"businessType":"futures","contractCode":"BTC-USDT-240202","contractType":"next_week","highLimit":42192.700000000000000000000000000000000000,"lowLimit":40538.200000000000000000000000000000000000,"pair":"BTC-USDT","symbol":"BTC","tradePartition":"USDT"},{"businessType":"futures","contractCode":"TOMO-USDT-240126","contractType":"this_week","highLimit":1.27687000000000000000000000000000000000000000,"lowLimit":1.21608000000000000000000000,"pair":"TOMO-USDT","symbol":"TOMO","tradePartition":"USDT"},{"businessType":"futures","contractCode":"TOMO-USDT-240202","contractType":"next_week","highLimit":1.27687000000000000000000000000000000000000000,"lowLimit":1.21608000000000000000000000,"pair":"TOMO-USDT","symbol":"TOMO","tradePartition":"USDT"},{"businessType":"futures","contractCode":"TOMO-USDT-240329","contractType":"quarter","highLimit":1.27687000000000000000000000000000000000000000,"lowLimit":1.21608000000000000000000000,"pair":"TOMO-USDT","symbol":"TOMO","tradePartition":"USDT"},{"businessType":"futures","contractCode":"DUSK-USDT-240126","contractType":"this_week","highLimit":0.001851000000000000000000000000000000000000000000000000,"lowLimit":0.000001000000000000000000000000000000,"pair":"DUSK-USDT","symbol":"DUSK","tradePartition":"USDT"},{"businessType":"futures","contractCode":"DUSK-USDT-240202","contractType":"next_week","highLimit":0.001851000000000000000000000000000000000000000000000000,"lowLimit":0.000001000000000000000000000000000000,"pair":"DUSK-USDT","symbol":"DUSK","tradePartition":"USDT"},{"businessType":"futures","contractCode":"DUSK-USDT-240329","contractType":"quarter","highLimit":129641.370011000000000000000000000000000000,"lowLimit":0.000001000000000000000000000000000000,"pair":"DUSK-USDT","symbol":"DUSK","tradePartition":"USDT"},{"businessType":"futures","contractCode":"ETH-USDT-240126","contractType":"this_week","highLimit":2518.750000000000000000000000000000000000,"lowLimit":2419.990000000000000000000000000000000000,"pair":"ETH-USDT","symbol":"ETH","tradePartition":"USDT"},{"businessType":"futures","contractCode":"ETH-USDT-240202","contractType":"next_week","highLimit":2521.330000000000000000000000000000000000,"lowLimit":2422.460000000000000000000000000000000000,"pair":"ETH-USDT","symbol":"ETH","tradePartition":"USDT"},{"businessType":"swap","contractCode":"ETH-USDT","contractType":"swap","highLimit":2537.120000000000000000000000000000000000,"lowLimit":2389.340000000000000000000000000000000000,"pair":"ETH-USDT","symbol":"ETH","tradePartition":"USDT"},{"businessType":"swap","contractCode":"LTC-USDT","contractType":"swap","highLimit":70.490000000000000000000000000000000000,"lowLimit":66.390000000000000000000000000000000000,"pair":"LTC-USDT","symbol":"LTC","tradePartition":"USDT"},{"businessType":"swap","contractCode":"DOGE-USDT","contractType":"swap","highLimit":0.082030000000000000000000000000000000,"lowLimit":0.074219000000000000000000000000000000,"pair":"DOGE-USDT","symbol":"DOGE","tradePartition":"USDT"},{"businessType":"swap","contractCode":"SHIB-USDT","contractType":"swap","highLimit":0.000009696000000000000000000000000000,"lowLimit":0.000008774000000000000000000000000000,"pair":"SHIB-USDT","symbol":"SHIB","tradePartition":"USDT"},{"businessType":"swap","contractCode":"ICP-USDT","contractType":"swap","highLimit":11.739000000000000000000000000000000000,"lowLimit":10.622000000000000000000000000000000000,"pair":"ICP-USDT","symbol":"ICP","tradePartition":"USDT"},{"businessType":"swap","contractCode":"XRP-USDT","contractType":"swap","highLimit":0.573950000000000000000000000000000000,"lowLimit":0.519300000000000000000000000000000000,"pair":"XRP-USDT","symbol":"XRP","tradePartition":"USDT"},{"businessType":"swap","contractCode":"LINK-USDT","contractType":"swap","highLimit":15.648000000000000000000000000000000000,"lowLimit":14.157800000000000000000000000000000000,"pair":"LINK-USDT","symbol":"LINK","tradePartition":"USDT"},{"businessType":"swap","contractCode":"TRX-USDT","contractType":"swap","highLimit":0.111827000000000000000000000000000000,"lowLimit":0.105313000000000000000000000000000000,"pair":"TRX-USDT","symbol":"TRX","tradePartition":"USDT"},{"businessType":"swap","contractCode":"DOT-USDT","contractType":"swap","highLimit":7.320000000000000000000000000000000000,"lowLimit":6.623000000000000000000000000000000000,"pair":"DOT-USDT","symbol":"DOT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"ADA-USDT","contractType":"swap","highLimit":0.522806000000000000000000000000000000,"lowLimit":0.473016000000000000000000000000000000,"pair":"ADA-USDT","symbol":"ADA","tradePartition":"USDT"},{"businessType":"swap","contractCode":"EOS-USDT","contractType":"swap","highLimit":0.736100000000000000000000000000000000,"lowLimit":0.693300000000000000000000000000000000,"pair":"EOS-USDT","symbol":"EOS","tradePartition":"USDT"},{"businessType":"swap","contractCode":"BCH-USDT","contractType":"swap","highLimit":243.790000000000000000000000000000000000,"lowLimit":229.600000000000000000000000000000000000,"pair":"BCH-USDT","symbol":"BCH","tradePartition":"USDT"},{"businessType":"swap","contractCode":"BSV-USDT","contractType":"swap","highLimit":78.120000000000000000000000000000000000,"lowLimit":70.690000000000000000000000000000000000,"pair":"BSV-USDT","symbol":"BSV","tradePartition":"USDT"},{"businessType":"swap","contractCode":"YFI-USDT","contractType":"swap","highLimit":7839.700000000000000000000000000000000000,"lowLimit":7093.200000000000000000000000000000000000,"pair":"YFI-USDT","symbol":"YFI","tradePartition":"USDT"},{"businessType":"swap","contractCode":"UNI-USDT","contractType":"swap","highLimit":6.618800000000000000000000000000000000,"lowLimit":5.988500000000000000000000000000000000,"pair":"UNI-USDT","symbol":"UNI","tradePartition":"USDT"},{"businessType":"swap","contractCode":"FIL-USDT","contractType":"swap","highLimit":5.747000000000000000000000000000000000,"lowLimit":5.201000000000000000000000000000000000,"pair":"FIL-USDT","symbol":"FIL","tradePartition":"USDT"},{"businessType":"swap","contractCode":"SNX-USDT","contractType":"swap","highLimit":3.539600000000000000000000000000000000,"lowLimit":3.202600000000000000000000000000000000,"pair":"SNX-USDT","symbol":"SNX","tradePartition":"USDT"},{"businessType":"swap","contractCode":"BNB-USDT","contractType":"swap","highLimit":327.565000000000000000000000000000000000,"lowLimit":296.369000000000000000000000000000000000,"pair":"BNB-USDT","symbol":"BNB","tradePartition":"USDT"},{"businessType":"swap","contractCode":"ETC-USDT","contractType":"swap","highLimit":24.613500000000000000000000000000000000,"lowLimit":23.179800000000000000000000000000000000,"pair":"ETC-USDT","symbol":"ETC","tradePartition":"USDT"},{"businessType":"swap","contractCode":"THETA-USDT","contractType":"swap","highLimit":1.032830000000000000000000000000000000,"lowLimit":0.934470000000000000000000000000000000,"pair":"THETA-USDT","symbol":"THETA","tradePartition":"USDT"},{"businessType":"swap","contractCode":"KSM-USDT","contractType":"swap","highLimit":41.431000000000000000000000000000000000,"lowLimit":37.486000000000000000000000000000000000,"pair":"KSM-USDT","symbol":"KSM","tradePartition":"USDT"},{"businessType":"swap","contractCode":"ATOM-USDT","contractType":"swap","highLimit":10.112800000000000000000000000000000000,"lowLimit":9.149700000000000000000000000000000000,"pair":"ATOM-USDT","symbol":"ATOM","tradePartition":"USDT"},{"businessType":"swap","contractCode":"AAVE-USDT","contractType":"swap","highLimit":101.053000000000000000000000000000000000,"lowLimit":91.430000000000000000000000000000000000,"pair":"AAVE-USDT","symbol":"AAVE","tradePartition":"USDT"},{"businessType":"swap","contractCode":"XLM-USDT","contractType":"swap","highLimit":0.118940000000000000000000000000000000,"lowLimit":0.107620000000000000000000000000000000,"pair":"XLM-USDT","symbol":"XLM","tradePartition":"USDT"},{"businessType":"swap","contractCode":"SUSHI-USDT","contractType":"swap","highLimit":1.096300000000000000000000000000000000,"lowLimit":0.992000000000000000000000000000000000,"pair":"SUSHI-USDT","symbol":"SUSHI","tradePartition":"USDT"},{"businessType":"swap","contractCode":"GRT-USDT","contractType":"swap","highLimit":0.160330000000000000000000000000000000,"lowLimit":0.145070000000000000000000000000000000,"pair":"GRT-USDT","symbol":"GRT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"1INCH-USDT","contractType":"swap","highLimit":0.441400000000000000000000000000000000,"lowLimit":0.399500000000000000000000000000000000,"pair":"1INCH-USDT","symbol":"1INCH","tradePartition":"USDT"},{"businessType":"swap","contractCode":"CRV-USDT","contractType":"swap","highLimit":0.536300000000000000000000000000000000,"lowLimit":0.485300000000000000000000000000000000,"pair":"CRV-USDT","symbol":"CRV","tradePartition":"USDT"},{"businessType":"swap","contractCode":"ALGO-USDT","contractType":"swap","highLimit":0.184990000000000000000000000000000000,"lowLimit":0.167380000000000000000000000000000000,"pair":"ALGO-USDT","symbol":"ALGO","tradePartition":"USDT"},{"businessType":"swap","contractCode":"WAVES-USDT","contractType":"swap","highLimit":2.412700000000000000000000000000000000,"lowLimit":2.183100000000000000000000000000000000,"pair":"WAVES-USDT","symbol":"WAVES","tradePartition":"USDT"},{"businessType":"swap","contractCode":"COMP-USDT","contractType":"swap","highLimit":56.990000000000000000000000000000000000,"lowLimit":51.580000000000000000000000000000000000,"pair":"COMP-USDT","symbol":"COMP","tradePartition":"USDT"},{"businessType":"swap","contractCode":"XMR-USDT","contractType":"swap","highLimit":159.660000000000000000000000000000000000,"lowLimit":144.460000000000000000000000000000000000,"pair":"XMR-USDT","symbol":"XMR","tradePartition":"USDT"},{"businessType":"swap","contractCode":"KAVA-USDT","contractType":"swap","highLimit":0.740400000000000000000000000000000000,"lowLimit":0.670000000000000000000000000000000000,"pair":"KAVA-USDT","symbol":"KAVA","tradePartition":"USDT"},{"businessType":"swap","contractCode":"AVAX-USDT","contractType":"swap","highLimit":34.982400000000000000000000000000000000,"lowLimit":31.650900000000000000000000000000000000,"pair":"AVAX-USDT","symbol":"AVAX","tradePartition":"USDT"},{"businessType":"swap","contractCode":"MATIC-USDT","contractType":"swap","highLimit":0.825010000000000000000000000000000000,"lowLimit":0.746450000000000000000000000000000000,"pair":"MATIC-USDT","symbol":"MATIC","tradePartition":"USDT"},{"businessType":"swap","contractCode":"LINA-USDT","contractType":"swap","highLimit":0.008660000000000000000000000000000000,"lowLimit":0.007840000000000000000000000000000000,"pair":"LINA-USDT","symbol":"LINA","tradePartition":"USDT"},{"businessType":"swap","contractCode":"SOL-USDT","contractType":"swap","highLimit":98.755000000000000000000000000000000000,"lowLimit":89.349800000000000000000000000000000000,"pair":"SOL-USDT","symbol":"SOL","tradePartition":"USDT"},{"businessType":"swap","contractCode":"IOTA-USDT","contractType":"swap","highLimit":0.239600000000000000000000000000000000,"lowLimit":0.216800000000000000000000000000000000,"pair":"IOTA-USDT","symbol":"IOTA","tradePartition":"USDT"},{"businessType":"swap","contractCode":"MKR-USDT","contractType":"swap","highLimit":2080.400000000000000000000000000000000000,"lowLimit":1882.400000000000000000000000000000000000,"pair":"MKR-USDT","symbol":"MKR","tradePartition":"USDT"},{"businessType":"swap","contractCode":"SAND-USDT","contractType":"swap","highLimit":0.501764000000000000000000000000000000,"lowLimit":0.453978000000000000000000000000000000,"pair":"SAND-USDT","symbol":"SAND","tradePartition":"USDT"},{"businessType":"swap","contractCode":"MASK-USDT","contractType":"swap","highLimit":3.664000000000000000000000000000000000,"lowLimit":3.316000000000000000000000000000000000,"pair":"MASK-USDT","symbol":"MASK","tradePartition":"USDT"},{"businessType":"swap","contractCode":"NEAR-USDT","contractType":"swap","highLimit":3.150000000000000000000000000000000000,"lowLimit":2.851000000000000000000000000000000000,"pair":"NEAR-USDT","symbol":"NEAR","tradePartition":"USDT"},{"businessType":"swap","contractCode":"MANA-USDT","contractType":"swap","highLimit":0.471600000000000000000000000000000000,"lowLimit":0.426800000000000000000000000000000000,"pair":"MANA-USDT","symbol":"MANA","tradePartition":"USDT"},{"businessType":"swap","contractCode":"BNT-USDT","contractType":"swap","highLimit":0.769800000000000000000000000000000000,"lowLimit":0.696600000000000000000000000000000000,"pair":"BNT-USDT","symbol":"BNT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"LUNA-USDT","contractType":"swap","highLimit":0.713300000000000000000000000000000000,"lowLimit":0.645500000000000000000000000000000000,"pair":"LUNA-USDT","symbol":"LUNA","tradePartition":"USDT"},{"businessType":"swap","contractCode":"WOO-USDT","contractType":"swap","highLimit":0.418920000000000000000000000000000000,"lowLimit":0.379030000000000000000000000000000000,"pair":"WOO-USDT","symbol":"WOO","tradePartition":"USDT"},{"businessType":"swap","contractCode":"CHZ-USDT","contractType":"swap","highLimit":0.096480000000000000000000000000000000,"lowLimit":0.087300000000000000000000000000000000,"pair":"CHZ-USDT","symbol":"CHZ","tradePartition":"USDT"},{"businessType":"swap","contractCode":"ONE-USDT","contractType":"swap","highLimit":0.015448000000000000000000000000000000,"lowLimit":0.013978000000000000000000000000000000,"pair":"ONE-USDT","symbol":"ONE","tradePartition":"USDT"},{"businessType":"swap","contractCode":"STORJ-USDT","contractType":"swap","highLimit":0.589500000000000000000000000000000000,"lowLimit":0.533400000000000000000000000000000000,"pair":"STORJ-USDT","symbol":"STORJ","tradePartition":"USDT"},{"businessType":"swap","contractCode":"BTT-USDT","contractType":"swap","highLimit":0.000001017000000000000000000000000000,"lowLimit":9.21000000000000000000000000000E-7,"pair":"BTT-USDT","symbol":"BTT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"AXS-USDT","contractType":"swap","highLimit":8.042300000000000000000000000000000000,"lowLimit":7.276400000000000000000000000000000000,"pair":"AXS-USDT","symbol":"AXS","tradePartition":"USDT"},{"businessType":"swap","contractCode":"ACH-USDT","contractType":"swap","highLimit":0.019140000000000000000000000000000000,"lowLimit":0.017330000000000000000000000000000000,"pair":"ACH-USDT","symbol":"ACH","tradePartition":"USDT"},{"businessType":"swap","contractCode":"LRC-USDT","contractType":"swap","highLimit":0.250770000000000000000000000000000000,"lowLimit":0.226900000000000000000000000000000000,"pair":"LRC-USDT","symbol":"LRC","tradePartition":"USDT"},{"businessType":"swap","contractCode":"YGG-USDT","contractType":"swap","highLimit":0.531600000000000000000000000000000000,"lowLimit":0.481100000000000000000000000000000000,"pair":"YGG-USDT","symbol":"YGG","tradePartition":"USDT"},{"businessType":"swap","contractCode":"DYDX-USDT","contractType":"swap","highLimit":2.978000000000000000000000000000000000,"lowLimit":2.695000000000000000000000000000000000,"pair":"DYDX-USDT","symbol":"DYDX","tradePartition":"USDT"},{"businessType":"swap","contractCode":"FTT-USDT","contractType":"swap","highLimit":2.828000000000000000000000000000000000,"lowLimit":2.560000000000000000000000000000000000,"pair":"FTT-USDT","symbol":"FTT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"GALA-USDT","contractType":"swap","highLimit":0.024920000000000000000000000000000000,"lowLimit":0.022550000000000000000000000000000000,"pair":"GALA-USDT","symbol":"GALA","tradePartition":"USDT"},{"businessType":"swap","contractCode":"IMX-USDT","contractType":"swap","highLimit":1.986000000000000000000000000000000000,"lowLimit":1.796900000000000000000000000000000000,"pair":"IMX-USDT","symbol":"IMX","tradePartition":"USDT"},{"businessType":"swap","contractCode":"MINA-USDT","contractType":"swap","highLimit":1.234400000000000000000000000000000000,"lowLimit":1.117000000000000000000000000000000000,"pair":"MINA-USDT","symbol":"MINA","tradePartition":"USDT"},{"businessType":"swap","contractCode":"ENS-USDT","contractType":"swap","highLimit":20.493000000000000000000000000000000000,"lowLimit":18.543000000000000000000000000000000000,"pair":"ENS-USDT","symbol":"ENS","tradePartition":"USDT"},{"businessType":"swap","contractCode":"RNDR-USDT","contractType":"swap","highLimit":4.455300000000000000000000000000000000,"lowLimit":4.031100000000000000000000000000000000,"pair":"RNDR-USDT","symbol":"RNDR","tradePartition":"USDT"},{"businessType":"swap","contractCode":"PEOPLE-USDT","contractType":"swap","highLimit":0.032890000000000000000000000000000000,"lowLimit":0.029770000000000000000000000000000000,"pair":"PEOPLE-USDT","symbol":"PEOPLE","tradePartition":"USDT"},{"businessType":"swap","contractCode":"JST-USDT","contractType":"swap","highLimit":0.030710000000000000000000000000000000,"lowLimit":0.027786000000000000000000000000000000,"pair":"JST-USDT","symbol":"JST","tradePartition":"USDT"},{"businessType":"swap","contractCode":"LPT-USDT","contractType":"swap","highLimit":7.645000000000000000000000000000000000,"lowLimit":6.918000000000000000000000000000000000,"pair":"LPT-USDT","symbol":"LPT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"FTM-USDT","contractType":"swap","highLimit":0.382700000000000000000000000000000000,"lowLimit":0.346400000000000000000000000000000000,"pair":"FTM-USDT","symbol":"FTM","tradePartition":"USDT"},{"businessType":"swap","contractCode":"FRONT-USDT","contractType":"swap","highLimit":0.423800000000000000000000000000000000,"lowLimit":0.383500000000000000000000000000000000,"pair":"FRONT-USDT","symbol":"FRONT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"BLZ-USDT","contractType":"swap","highLimit":0.349510000000000000000000000000000000,"lowLimit":0.316230000000000000000000000000000000,"pair":"BLZ-USDT","symbol":"BLZ","tradePartition":"USDT"},{"businessType":"swap","contractCode":"OGN-USDT","contractType":"swap","highLimit":0.164300000000000000000000000000000000,"lowLimit":0.148800000000000000000000000000000000,"pair":"OGN-USDT","symbol":"OGN","tradePartition":"USDT"},{"businessType":"swap","contractCode":"EGLD-USDT","contractType":"swap","highLimit":53.350000000000000000000000000000000000,"lowLimit":48.280000000000000000000000000000000000,"pair":"EGLD-USDT","symbol":"EGLD","tradePartition":"USDT"},{"businessType":"swap","contractCode":"ARK-USDT","contractType":"swap","highLimit":0.817700000000000000000000000000000000,"lowLimit":0.739900000000000000000000000000000000,"pair":"ARK-USDT","symbol":"ARK","tradePartition":"USDT"},{"businessType":"swap","contractCode":"STEEM-USDT","contractType":"swap","highLimit":0.236900000000000000000000000000000000,"lowLimit":0.214400000000000000000000000000000000,"pair":"STEEM-USDT","symbol":"STEEM","tradePartition":"USDT"},{"businessType":"swap","contractCode":"LOOM-USDT","contractType":"swap","highLimit":0.108900000000000000000000000000000000,"lowLimit":0.094100000000000000000000000000000000,"pair":"LOOM-USDT","symbol":"LOOM","tradePartition":"USDT"},{"businessType":"swap","contractCode":"SNT-USDT","contractType":"swap","highLimit":0.042190000000000000000000000000000000,"lowLimit":0.038190000000000000000000000000000000,"pair":"SNT-USDT","symbol":"SNT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"TRB-USDT","contractType":"swap","highLimit":140.052000000000000000000000000000000000,"lowLimit":126.715000000000000000000000000000000000,"pair":"TRB-USDT","symbol":"TRB","tradePartition":"USDT"},{"businessType":"swap","contractCode":"GAS-USDT","contractType":"swap","highLimit":7.660000000000000000000000000000000000,"lowLimit":6.931000000000000000000000000000000000,"pair":"GAS-USDT","symbol":"GAS","tradePartition":"USDT"},{"businessType":"swap","contractCode":"MEME-USDT","contractType":"swap","highLimit":0.025910000000000000000000000000000000,"lowLimit":0.023443000000000000000000000000000000,"pair":"MEME-USDT","symbol":"MEME","tradePartition":"USDT"},{"businessType":"swap","contractCode":"INJ-USDT","contractType":"swap","highLimit":38.152000000000000000000000000000000000,"lowLimit":34.519000000000000000000000000000000000,"pair":"INJ-USDT","symbol":"INJ","tradePartition":"USDT"},{"businessType":"swap","contractCode":"QRDO-USDT","contractType":"swap","highLimit":0.04808000000000000000000,"lowLimit":0.04328000000000000000000000000000000000000,"pair":"QRDO-USDT","symbol":"QRDO","tradePartition":"USDT"},{"businessType":"swap","contractCode":"CVX-USDT","contractType":"swap","highLimit":2.428000000000000000000000000000000000,"lowLimit":0.573000000000000000000000000000000000,"pair":"CVX-USDT","symbol":"CVX","tradePartition":"USDT"},{"businessType":"swap","contractCode":"JTO-USDT","contractType":"swap","highLimit":2.187600000000000000000000000000000000,"lowLimit":1.979400000000000000000000000000000000,"pair":"JTO-USDT","symbol":"JTO","tradePartition":"USDT"},{"businessType":"swap","contractCode":"BONK-USDT","contractType":"swap","highLimit":0.000012391000000000000000000000000000,"lowLimit":0.000011212000000000000000000000000000,"pair":"BONK-USDT","symbol":"BONK","tradePartition":"USDT"},{"businessType":"swap","contractCode":"MPLX-USDT","contractType":"swap","highLimit":0.300940000000000000000000000000000000000000000000000000,"lowLimit":0.273590000000000000000000000000000000,"pair":"MPLX-USDT","symbol":"MPLX","tradePartition":"USDT"},{"businessType":"swap","contractCode":"OPUL-USDT","contractType":"swap","highLimit":0.121010000000000000000000000000000000,"lowLimit":0.099020000000000000000000000000000000,"pair":"OPUL-USDT","symbol":"OPUL","tradePartition":"USDT"},{"businessType":"swap","contractCode":"APT-USDT","contractType":"swap","highLimit":9.025000000000000000000000000000000000,"lowLimit":8.166000000000000000000000000000000000,"pair":"APT-USDT","symbol":"APT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"LDO-USDT","contractType":"swap","highLimit":3.196700000000000000000000000000000000,"lowLimit":2.892400000000000000000000000000000000,"pair":"LDO-USDT","symbol":"LDO","tradePartition":"USDT"},{"businessType":"swap","contractCode":"FET-USDT","contractType":"swap","highLimit":0.652100000000000000000000000000000000,"lowLimit":0.590100000000000000000000000000000000,"pair":"FET-USDT","symbol":"FET","tradePartition":"USDT"},{"businessType":"swap","contractCode":"TON-USDT","contractType":"swap","highLimit":2.339200000000000000000000000000000000,"lowLimit":2.116500000000000000000000000000000000,"pair":"TON-USDT","symbol":"TON","tradePartition":"USDT"},{"businessType":"swap","contractCode":"SEI-USDT","contractType":"swap","highLimit":0.756000000000000000000000000000000000,"lowLimit":0.684100000000000000000000000000000000,"pair":"SEI-USDT","symbol":"SEI","tradePartition":"USDT"},{"businessType":"swap","contractCode":"RATS-USDT","contractType":"swap","highLimit":0.000282900000000000000000000000000000,"lowLimit":0.000256000000000000000000000000000000,"pair":"RATS-USDT","symbol":"RATS","tradePartition":"USDT"},{"businessType":"swap","contractCode":"ARB-USDT","contractType":"swap","highLimit":1.956500000000000000000000000000000000,"lowLimit":1.770200000000000000000000000000000000,"pair":"ARB-USDT","symbol":"ARB","tradePartition":"USDT"},{"businessType":"swap","contractCode":"DOSE-USDT","contractType":"swap","highLimit":0.002522751000000000000000000000000000000000000000000000,"lowLimit":0.002402620000000000000000000000000000,"pair":"DOSE-USDT","symbol":"DOSE","tradePartition":"USDT"},{"businessType":"swap","contractCode":"POLYX-USDT","contractType":"swap","highLimit":0.171500000000000000000000000000000000,"lowLimit":0.155200000000000000000000000000000000,"pair":"POLYX-USDT","symbol":"POLYX","tradePartition":"USDT"},{"businessType":"swap","contractCode":"UNB-USDT","contractType":"swap","highLimit":706.500699400000000000000000000000000000,"lowLimit":1.00000000000000000000000000000E-7,"pair":"UNB-USDT","symbol":"UNB","tradePartition":"USDT"},{"businessType":"swap","contractCode":"FSN-USDT","contractType":"swap","highLimit":0.194090000000000000000000000000000000,"lowLimit":0.184400000000000000000000000000000000000000000000000000,"pair":"FSN-USDT","symbol":"FSN","tradePartition":"USDT"},{"businessType":"swap","contractCode":"RDNT-USDT","contractType":"swap","highLimit":0.366800000000000000000000000000000000,"lowLimit":0.332000000000000000000000000000000000,"pair":"RDNT-USDT","symbol":"RDNT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"BIGTIME-USDT","contractType":"swap","highLimit":0.405700000000000000000000000000000000,"lowLimit":0.367100000000000000000000000000000000,"pair":"BIGTIME-USDT","symbol":"BIGTIME","tradePartition":"USDT"},{"businessType":"swap","contractCode":"METIS-USDT","contractType":"swap","highLimit":95.890000000000000000000000000000000000,"lowLimit":86.770000000000000000000000000000000000,"pair":"METIS-USDT","symbol":"METIS","tradePartition":"USDT"},{"businessType":"swap","contractCode":"DUSK-USDT","contractType":"swap","highLimit":172581.412522000000000000000000000000000000,"lowLimit":0.000001000000000000000000000000000000,"pair":"DUSK-USDT","symbol":"DUSK","tradePartition":"USDT"},{"businessType":"swap","contractCode":"TIA-USDT","contractType":"swap","highLimit":17.979000000000000000000000000000000000,"lowLimit":16.268000000000000000000000000000000000,"pair":"TIA-USDT","symbol":"TIA","tradePartition":"USDT"},{"businessType":"swap","contractCode":"LADYS-USDT","contractType":"swap","highLimit":6.1920000000000000000000000000E-8,"lowLimit":5.6030000000000000000000000000E-8,"pair":"LADYS-USDT","symbol":"LADYS","tradePartition":"USDT"},{"businessType":"swap","contractCode":"CFX-USDT","contractType":"swap","highLimit":0.202600000000000000000000000000000000,"lowLimit":0.183400000000000000000000000000000000,"pair":"CFX-USDT","symbol":"CFX","tradePartition":"USDT"},{"businessType":"swap","contractCode":"PEPE-USDT","contractType":"swap","highLimit":0.000001189500000000000000000000000000,"lowLimit":0.000001076300000000000000000000000000,"pair":"PEPE-USDT","symbol":"PEPE","tradePartition":"USDT"},{"businessType":"swap","contractCode":"TOMO-USDT","contractType":"swap","highLimit":1.54700000000000000000000000,"lowLimit":1.454000000000000000000000000000000000,"pair":"TOMO-USDT","symbol":"TOMO","tradePartition":"USDT"},{"businessType":"swap","contractCode":"XAI-USDT","contractType":"swap","highLimit":0.910700000000000000000000000000000000,"lowLimit":0.824000000000000000000000000000000000,"pair":"XAI-USDT","symbol":"XAI","tradePartition":"USDT"},{"businessType":"swap","contractCode":"AGIX-USDT","contractType":"swap","highLimit":0.282800000000000000000000000000000000,"lowLimit":0.255900000000000000000000000000000000,"pair":"AGIX-USDT","symbol":"AGIX","tradePartition":"USDT"},{"businessType":"swap","contractCode":"SATS-USDT","contractType":"swap","highLimit":5.91800000000000000000000000000E-7,"lowLimit":5.35500000000000000000000000000E-7,"pair":"SATS-USDT","symbol":"SATS","tradePartition":"USDT"},{"businessType":"swap","contractCode":"ACE-USDT","contractType":"swap","highLimit":8.352000000000000000000000000000000000,"lowLimit":7.557000000000000000000000000000000000,"pair":"ACE-USDT","symbol":"ACE","tradePartition":"USDT"},{"businessType":"swap","contractCode":"WLD-USDT","contractType":"swap","highLimit":2.653300000000000000000000000000000000,"lowLimit":2.400700000000000000000000000000000000,"pair":"WLD-USDT","symbol":"WLD","tradePartition":"USDT"},{"businessType":"swap","contractCode":"OP-USDT","contractType":"swap","highLimit":3.391300000000000000000000000000000000,"lowLimit":3.068400000000000000000000000000000000,"pair":"OP-USDT","symbol":"OP","tradePartition":"USDT"},{"businessType":"swap","contractCode":"BLUR-USDT","contractType":"swap","highLimit":0.674000000000000000000000000000000000,"lowLimit":0.609900000000000000000000000000000000,"pair":"BLUR-USDT","symbol":"BLUR","tradePartition":"USDT"},{"businessType":"swap","contractCode":"LUNC-USDT","contractType":"swap","highLimit":0.000118270000000000000000000000000000,"lowLimit":0.000107010000000000000000000000000000,"pair":"LUNC-USDT","symbol":"LUNC","tradePartition":"USDT"},{"businessType":"swap","contractCode":"SUI-USDT","contractType":"swap","highLimit":1.176800000000000000000000000000000000,"lowLimit":1.064800000000000000000000000000000000,"pair":"SUI-USDT","symbol":"SUI","tradePartition":"USDT"},{"businessType":"swap","contractCode":"STG-USDT","contractType":"swap","highLimit":0.564700000000000000000000000000000000,"lowLimit":0.511100000000000000000000000000000000,"pair":"STG-USDT","symbol":"STG","tradePartition":"USDT"},{"businessType":"swap","contractCode":"TENET-USDT","contractType":"swap","highLimit":0.092400000000000000000000000000000000,"lowLimit":0.083170000000000000000000000000000000000000000000000000,"pair":"TENET-USDT","symbol":"TENET","tradePartition":"USDT"},{"businessType":"swap","contractCode":"MTL-USDT","contractType":"swap","highLimit":1.550300000000000000000000000000000000,"lowLimit":1.402800000000000000000000000000000000,"pair":"MTL-USDT","symbol":"MTL","tradePartition":"USDT"},{"businessType":"swap","contractCode":"BAKE-USDT","contractType":"swap","highLimit":0.347300000000000000000000000000000000,"lowLimit":0.314300000000000000000000000000000000,"pair":"BAKE-USDT","symbol":"BAKE","tradePartition":"USDT"},{"businessType":"swap","contractCode":"PYTH-USDT","contractType":"swap","highLimit":0.346400000000000000000000000000000000,"lowLimit":0.313500000000000000000000000000000000,"pair":"PYTH-USDT","symbol":"PYTH","tradePartition":"USDT"},{"businessType":"swap","contractCode":"AIDOGE-USDT","contractType":"swap","highLimit":1.63500000000000000000000000E-10,"lowLimit":1.48000000000000000000000000E-10,"pair":"AIDOGE-USDT","symbol":"AIDOGE","tradePartition":"USDT"},{"businessType":"swap","contractCode":"USTC-USDT","contractType":"swap","highLimit":0.028900000000000000000000000000000000,"lowLimit":0.026160000000000000000000000000000000,"pair":"USTC-USDT","symbol":"USTC","tradePartition":"USDT"},{"businessType":"swap","contractCode":"TOKEN-USDT","contractType":"swap","highLimit":0.027220000000000000000000000000000000,"lowLimit":0.024630000000000000000000000000000000,"pair":"TOKEN-USDT","symbol":"TOKEN","tradePartition":"USDT"},{"businessType":"swap","contractCode":"ORDI-USDT","contractType":"swap","highLimit":73.008000000000000000000000000000000000,"lowLimit":66.056000000000000000000000000000000000,"pair":"ORDI-USDT","symbol":"ORDI","tradePartition":"USDT"},{"businessType":"swap","contractCode":"SSV-USDT","contractType":"swap","highLimit":33.281000000000000000000000000000000000,"lowLimit":30.112000000000000000000000000000000000,"pair":"SSV-USDT","symbol":"SSV","tradePartition":"USDT"},{"businessType":"swap","contractCode":"CYBER-USDT","contractType":"swap","highLimit":8.255000000000000000000000000000000000,"lowLimit":7.470000000000000000000000000000000000,"pair":"CYBER-USDT","symbol":"CYBER","tradePartition":"USDT"},{"businessType":"swap","contractCode":"GARI-USDT","contractType":"swap","highLimit":0.034380000000000000000000000000000000,"lowLimit":0.030950000000000000000000000000000000000000000000000000,"pair":"GARI-USDT","symbol":"GARI","tradePartition":"USDT"},{"businessType":"swap","contractCode":"CORE-USDT","contractType":"swap","highLimit":0.553300000000000000000000000000000000,"lowLimit":0.500700000000000000000000000000000000,"pair":"CORE-USDT","symbol":"CORE","tradePartition":"USDT"},{"businessType":"swap","contractCode":"SDAO-USDT","contractType":"swap","highLimit":0.437300000000000000000000000000000000,"lowLimit":0.393700000000000000000000000000000000000000000000000000,"pair":"SDAO-USDT","symbol":"SDAO","tradePartition":"USDT"},{"businessType":"swap","contractCode":"AI-USDT","contractType":"swap","highLimit":1.112700000000000000000000000000000000,"lowLimit":1.006800000000000000000000000000000000,"pair":"AI-USDT","symbol":"AI","tradePartition":"USDT"},{"businessType":"swap","contractCode":"RLY-USDT","contractType":"swap","highLimit":0.006921000000000000000000000000000000,"lowLimit":0.006108000000000000000000000000000000,"pair":"RLY-USDT","symbol":"RLY","tradePartition":"USDT"},{"businessType":"swap","contractCode":"MANTA-USDT","contractType":"swap","highLimit":2.343000000000000000000000000000000000,"lowLimit":1.918000000000000000000000000000000000,"pair":"MANTA-USDT","symbol":"MANTA","tradePartition":"USDT"},{"businessType":"swap","contractCode":"CAKE-USDT","contractType":"swap","highLimit":2.881300000000000000000000000000000000,"lowLimit":2.607000000000000000000000000000000000,"pair":"CAKE-USDT","symbol":"CAKE","tradePartition":"USDT"},{"businessType":"swap","contractCode":"XETA-USDT","contractType":"swap","highLimit":0.013518000000000000000000000000000000000000000000000000,"lowLimit":0.012290000000000000000000000000000000,"pair":"XETA-USDT","symbol":"XETA","tradePartition":"USDT"},{"businessType":"swap","contractCode":"GAL-USDT","contractType":"swap","highLimit":1.875500000000000000000000000000000000,"lowLimit":1.697000000000000000000000000000000000,"pair":"GAL-USDT","symbol":"GAL","tradePartition":"USDT"},{"businessType":"swap","contractCode":"FLOKI-USDT","contractType":"swap","highLimit":0.000030330000000000000000000000000000,"lowLimit":0.000027460000000000000000000000000000,"pair":"FLOKI-USDT","symbol":"FLOKI","tradePartition":"USDT"},{"businessType":"swap","contractCode":"STX-USDT","contractType":"swap","highLimit":1.527000000000000000000000000000000000,"lowLimit":1.381700000000000000000000000000000000,"pair":"STX-USDT","symbol":"STX","tradePartition":"USDT"},{"businessType":"swap","contractCode":"WIN-USDT","contractType":"swap","highLimit":0.000096820000000000000000000000000000,"lowLimit":0.000087610000000000000000000000000000,"pair":"WIN-USDT","symbol":"WIN","tradePartition":"USDT"},{"businessType":"swap","contractCode":"APE-USDT","contractType":"swap","highLimit":1.457000000000000000000000000000000000,"lowLimit":1.318300000000000000000000000000000000,"pair":"APE-USDT","symbol":"APE","tradePartition":"USDT"},{"businessType":"swap","contractCode":"GMT-USDT","contractType":"swap","highLimit":0.306980000000000000000000000000000000,"lowLimit":0.277750000000000000000000000000000000,"pair":"GMT-USDT","symbol":"GMT","tradePartition":"USDT"}],"status":"ok","ts":1705653067740} +2024-01-19 16:33:09.590 [DEBUG] [main] [com.huobi.api.service.usdt.market.MarketAPIServiceImpl.getSwapRiskInfo:277] - body:{"status":"ok","data":[{"contract_code":"SATS-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"SATS-USDT"},{"contract_code":"QRDO-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"QRDO-USDT"},{"contract_code":"ACE-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"ACE-USDT"},{"contract_code":"LUNA-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"LUNA-USDT"},{"contract_code":"CVX-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"CVX-USDT"},{"contract_code":"JTO-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"JTO-USDT"},{"contract_code":"WLD-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"WLD-USDT"},{"contract_code":"OP-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"OP-USDT"},{"contract_code":"BLUR-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"BLUR-USDT"},{"contract_code":"LUNC-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"LUNC-USDT"},{"contract_code":"IOTA-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"IOTA-USDT"},{"contract_code":"SUI-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"SUI-USDT"},{"contract_code":"BONK-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"BONK-USDT"},{"contract_code":"ICP-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"ICP-USDT"},{"contract_code":"STG-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"STG-USDT"},{"contract_code":"TENET-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"TENET-USDT"},{"contract_code":"BSV-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"BSV-USDT"},{"contract_code":"XMR-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"XMR-USDT"},{"contract_code":"AXS-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"AXS-USDT"},{"contract_code":"LINA-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"LINA-USDT"},{"contract_code":"ETC-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"ETC-USDT"},{"contract_code":"MPLX-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"MPLX-USDT"},{"contract_code":"FTM-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"FTM-USDT"},{"contract_code":"BCH-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"BCH-USDT"},{"contract_code":"OPUL-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"OPUL-USDT"},{"contract_code":"KAVA-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"KAVA-USDT"},{"contract_code":"FRONT-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"FRONT-USDT"},{"contract_code":"GAS-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"GAS-USDT"},{"contract_code":"MTL-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"MTL-USDT"},{"contract_code":"APT-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"APT-USDT"},{"contract_code":"TRX-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"TRX-USDT"},{"contract_code":"LRC-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"LRC-USDT"},{"contract_code":"DYDX-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"DYDX-USDT"},{"contract_code":"SAND-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"SAND-USDT"},{"contract_code":"BAKE-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"BAKE-USDT"},{"contract_code":"SOL-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"SOL-USDT"},{"contract_code":"PYTH-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"PYTH-USDT"},{"contract_code":"YFI-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"YFI-USDT"},{"contract_code":"LDO-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"LDO-USDT"},{"contract_code":"BLZ-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"BLZ-USDT"},{"contract_code":"FIL-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"FIL-USDT"},{"contract_code":"FET-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"FET-USDT"},{"contract_code":"TON-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"TON-USDT"},{"contract_code":"AAVE-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"AAVE-USDT"},{"contract_code":"TRB-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"TRB-USDT"},{"contract_code":"MATIC-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"MATIC-USDT"},{"contract_code":"DOGE-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"DOGE-USDT"},{"contract_code":"LOOM-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"LOOM-USDT"},{"contract_code":"FTT-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"FTT-USDT"},{"contract_code":"SEI-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"SEI-USDT"},{"contract_code":"XRP-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"XRP-USDT"},{"contract_code":"ENS-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"ENS-USDT"},{"contract_code":"RATS-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"RATS-USDT"},{"contract_code":"AIDOGE-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"AIDOGE-USDT"},{"contract_code":"LPT-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"LPT-USDT"},{"contract_code":"BNB-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"BNB-USDT"},{"contract_code":"USTC-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"USTC-USDT"},{"contract_code":"TOKEN-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"TOKEN-USDT"},{"contract_code":"CRV-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"CRV-USDT"},{"contract_code":"ARB-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"ARB-USDT"},{"contract_code":"SNX-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"SNX-USDT"},{"contract_code":"XLM-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"XLM-USDT"},{"contract_code":"EGLD-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"EGLD-USDT"},{"contract_code":"YGG-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"YGG-USDT"},{"contract_code":"DOSE-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"DOSE-USDT"},{"contract_code":"INJ-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"INJ-USDT"},{"contract_code":"ATOM-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"ATOM-USDT"},{"contract_code":"BNT-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"BNT-USDT"},{"contract_code":"MANA-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"MANA-USDT"},{"contract_code":"CHZ-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"CHZ-USDT"},{"contract_code":"DOT-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"DOT-USDT"},{"contract_code":"POLYX-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"POLYX-USDT"},{"contract_code":"MINA-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"MINA-USDT"},{"contract_code":"EOS-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"EOS-USDT"},{"contract_code":"GRT-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"GRT-USDT"},{"contract_code":"UNB-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"UNB-USDT"},{"contract_code":"STEEM-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"STEEM-USDT"},{"contract_code":"ORDI-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"ORDI-USDT"},{"contract_code":"FSN-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"FSN-USDT"},{"contract_code":"SSV-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"SSV-USDT"},{"contract_code":"KSM-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"KSM-USDT"},{"contract_code":"ETH-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"ETH-USDT"},{"contract_code":"RDNT-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"RDNT-USDT"},{"contract_code":"STORJ-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"STORJ-USDT"},{"contract_code":"GMT-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"GMT-USDT"},{"contract_code":"BTC-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"BTC-USDT"},{"contract_code":"WOO-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"WOO-USDT"},{"contract_code":"PEOPLE-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"PEOPLE-USDT"},{"contract_code":"ACH-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"ACH-USDT"},{"contract_code":"APE-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"APE-USDT"},{"contract_code":"BIGTIME-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"BIGTIME-USDT"},{"contract_code":"METIS-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"METIS-USDT"},{"contract_code":"IMX-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"IMX-USDT"},{"contract_code":"DUSK-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"DUSK-USDT"},{"contract_code":"COMP-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"COMP-USDT"},{"contract_code":"ALGO-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"ALGO-USDT"},{"contract_code":"CYBER-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"CYBER-USDT"},{"contract_code":"WAVES-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"WAVES-USDT"},{"contract_code":"GARI-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"GARI-USDT"},{"contract_code":"TIA-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"TIA-USDT"},{"contract_code":"ADA-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"ADA-USDT"},{"contract_code":"LADYS-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"LADYS-USDT"},{"contract_code":"SHIB-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"SHIB-USDT"},{"contract_code":"SNT-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"SNT-USDT"},{"contract_code":"CFX-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"CFX-USDT"},{"contract_code":"UNI-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"UNI-USDT"},{"contract_code":"PEPE-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"PEPE-USDT"},{"contract_code":"CORE-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"CORE-USDT"},{"contract_code":"SDAO-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"SDAO-USDT"},{"contract_code":"AI-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"AI-USDT"},{"contract_code":"JST-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"JST-USDT"},{"contract_code":"RLY-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"RLY-USDT"},{"contract_code":"1INCH-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"1INCH-USDT"},{"contract_code":"OGN-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"OGN-USDT"},{"contract_code":"NEAR-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"NEAR-USDT"},{"contract_code":"THETA-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"THETA-USDT"},{"contract_code":"TOMO-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"TOMO-USDT"},{"contract_code":"CAKE-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"CAKE-USDT"},{"contract_code":"BTT-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"BTT-USDT"},{"contract_code":"XAI-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"XAI-USDT"},{"contract_code":"MEME-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"MEME-USDT"},{"contract_code":"XETA-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"XETA-USDT"},{"contract_code":"GAL-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"GAL-USDT"},{"contract_code":"ONE-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"ONE-USDT"},{"contract_code":"SUSHI-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"SUSHI-USDT"},{"contract_code":"MKR-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"MKR-USDT"},{"contract_code":"LTC-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"LTC-USDT"},{"contract_code":"FLOKI-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"FLOKI-USDT"},{"contract_code":"GALA-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"GALA-USDT"},{"contract_code":"AGIX-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"AGIX-USDT"},{"contract_code":"AVAX-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"AVAX-USDT"},{"contract_code":"ARK-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"ARK-USDT"},{"contract_code":"LINK-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"LINK-USDT"},{"contract_code":"MASK-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"MASK-USDT"},{"contract_code":"RNDR-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"RNDR-USDT"},{"contract_code":"WIN-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"WIN-USDT"},{"contract_code":"STX-USDT","insurance_fund":232335164.054127619518501667,"estimated_clawback":0E-18,"trade_partition":"USDT","business_type":"swap","pair":"STX-USDT"}],"ts":1705653189457} +2024-01-19 16:33:09.695 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.getSwapRiskInfoResponse:95] - 10.查询合约风险准备金余额和预估分摊比例:{"data":[{"businessType":"swap","contractCode":"SATS-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"SATS-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"QRDO-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"QRDO-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"ACE-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"ACE-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"LUNA-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"LUNA-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"CVX-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"CVX-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"JTO-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"JTO-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"WLD-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"WLD-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"OP-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"OP-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"BLUR-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"BLUR-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"LUNC-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"LUNC-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"IOTA-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"IOTA-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"SUI-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"SUI-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"BONK-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"BONK-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"ICP-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"ICP-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"STG-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"STG-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"TENET-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"TENET-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"BSV-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"BSV-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"XMR-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"XMR-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"AXS-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"AXS-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"LINA-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"LINA-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"ETC-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"ETC-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"MPLX-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"MPLX-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"FTM-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"FTM-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"BCH-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"BCH-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"OPUL-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"OPUL-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"KAVA-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"KAVA-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"FRONT-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"FRONT-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"GAS-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"GAS-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"MTL-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"MTL-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"APT-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"APT-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"TRX-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"TRX-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"LRC-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"LRC-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"DYDX-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"DYDX-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"SAND-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"SAND-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"BAKE-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"BAKE-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"SOL-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"SOL-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"PYTH-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"PYTH-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"YFI-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"YFI-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"LDO-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"LDO-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"BLZ-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"BLZ-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"FIL-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"FIL-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"FET-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"FET-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"TON-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"TON-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"AAVE-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"AAVE-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"TRB-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"TRB-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"MATIC-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"MATIC-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"DOGE-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"DOGE-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"LOOM-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"LOOM-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"FTT-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"FTT-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"SEI-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"SEI-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"XRP-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"XRP-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"ENS-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"ENS-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"RATS-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"RATS-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"AIDOGE-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"AIDOGE-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"LPT-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"LPT-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"BNB-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"BNB-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"USTC-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"USTC-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"TOKEN-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"TOKEN-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"CRV-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"CRV-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"ARB-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"ARB-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"SNX-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"SNX-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"XLM-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"XLM-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"EGLD-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"EGLD-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"YGG-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"YGG-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"DOSE-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"DOSE-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"INJ-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"INJ-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"ATOM-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"ATOM-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"BNT-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"BNT-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"MANA-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"MANA-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"CHZ-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"CHZ-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"DOT-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"DOT-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"POLYX-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"POLYX-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"MINA-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"MINA-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"EOS-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"EOS-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"GRT-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"GRT-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"UNB-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"UNB-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"STEEM-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"STEEM-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"ORDI-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"ORDI-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"FSN-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"FSN-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"SSV-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"SSV-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"KSM-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"KSM-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"ETH-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"ETH-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"RDNT-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"RDNT-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"STORJ-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"STORJ-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"GMT-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"GMT-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"BTC-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"BTC-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"WOO-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"WOO-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"PEOPLE-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"PEOPLE-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"ACH-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"ACH-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"APE-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"APE-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"BIGTIME-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"BIGTIME-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"METIS-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"METIS-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"IMX-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"IMX-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"DUSK-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"DUSK-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"COMP-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"COMP-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"ALGO-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"ALGO-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"CYBER-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"CYBER-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"WAVES-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"WAVES-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"GARI-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"GARI-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"TIA-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"TIA-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"ADA-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"ADA-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"LADYS-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"LADYS-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"SHIB-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"SHIB-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"SNT-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"SNT-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"CFX-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"CFX-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"UNI-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"UNI-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"PEPE-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"PEPE-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"CORE-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"CORE-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"SDAO-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"SDAO-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"AI-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"AI-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"JST-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"JST-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"RLY-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"RLY-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"1INCH-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"1INCH-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"OGN-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"OGN-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"NEAR-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"NEAR-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"THETA-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"THETA-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"TOMO-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"TOMO-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"CAKE-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"CAKE-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"BTT-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"BTT-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"XAI-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"XAI-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"MEME-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"MEME-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"XETA-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"XETA-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"GAL-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"GAL-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"ONE-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"ONE-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"SUSHI-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"SUSHI-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"MKR-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"MKR-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"LTC-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"LTC-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"FLOKI-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"FLOKI-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"GALA-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"GALA-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"AGIX-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"AGIX-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"AVAX-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"AVAX-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"ARK-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"ARK-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"LINK-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"LINK-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"MASK-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"MASK-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"RNDR-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"RNDR-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"WIN-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"WIN-USDT","tradePartition":"USDT"},{"businessType":"swap","contractCode":"STX-USDT","estimatedClawback":0E-18,"insuranceFund":232335164.054127619518501667,"pair":"STX-USDT","tradePartition":"USDT"}],"status":"ok","ts":1705653189457} +2024-01-19 16:33:42.608 [DEBUG] [main] [com.huobi.api.service.usdt.market.MarketAPIServiceImpl.getSwapOpenInterest:138] - body:{"status":"ok","data":[{"volume":1922390.000000000000000000,"amount":1922.390000000000000000,"symbol":"BTC","value":79269943.889000000000000000,"contract_code":"BTC-USDT","trade_amount":15285.872,"trade_volume":15285872,"trade_turnover":637079172.0342,"business_type":"swap","pair":"BTC-USDT","contract_type":"swap","trade_partition":"USDT"}],"ts":1705653222471} +2024-01-19 16:33:42.704 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.getSwapOpenInterest:48] - 4.获取当前可用合约总持仓量:{"data":[{"amount":1922.390000000000000000,"businessType":"swap","contractCode":"BTC-USDT","contractType":"swap","pair":"BTC-USDT","symbol":"BTC","tradeAmount":15285.872,"tradePartition":"USDT","tradeTurnover":637079172.0342,"tradeVolume":15285872,"value":79269943.889000000000000000,"volume":1922390.000000000000000000}],"status":"ok","ts":1705653222471} +2024-01-19 16:33:43.478 [DEBUG] [main] [com.huobi.api.service.usdt.market.MarketAPIServiceImpl.getSwapOpenInterest:138] - body:{"status":"ok","data":[{"volume":98164.000000000000000000,"amount":981640.000000000000000000,"symbol":"MANA","value":441443.508000000000000000,"contract_code":"MANA-USDT","trade_amount":1146820,"trade_volume":114682,"trade_turnover":509340.974,"business_type":"swap","pair":"MANA-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":729769.000000000000000000,"amount":729769000000.000000000000000000,"symbol":"SATS","value":411005.900800000000000000,"contract_code":"SATS-USDT","trade_amount":5088430000000,"trade_volume":5088430,"trade_turnover":2897057.3994,"business_type":"swap","pair":"SATS-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":180749.000000000000000000,"amount":1807490.000000000000000000,"symbol":"CHZ","value":166379.454500000000000000,"contract_code":"CHZ-USDT","trade_amount":12629460,"trade_volume":1262946,"trade_turnover":1211237.5204,"business_type":"swap","pair":"CHZ-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":173489.000000000000000000,"amount":173489.000000000000000000,"symbol":"DOT","value":1210918.522200000000000000,"contract_code":"DOT-USDT","trade_amount":499706,"trade_volume":499706,"trade_turnover":3509401.7682,"business_type":"swap","pair":"DOT-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":143092.000000000000000000,"amount":143092.000000000000000000,"symbol":"POLYX","value":23395.542000000000000000,"contract_code":"POLYX-USDT","trade_amount":115786,"trade_volume":115786,"trade_turnover":18812.1032,"business_type":"swap","pair":"POLYX-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":5.000000000000000000,"amount":50.000000000000000000,"symbol":"QRDO","value":2.700000000000000000,"contract_code":"QRDO-USDT","trade_amount":0,"trade_volume":0,"trade_turnover":0,"business_type":"swap","pair":"QRDO-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":47955.000000000000000000,"amount":47955.000000000000000000,"symbol":"MINA","value":56577.309000000000000000,"contract_code":"MINA-USDT","trade_amount":228678,"trade_volume":228678,"trade_turnover":280599.1688,"business_type":"swap","pair":"MINA-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":679881.000000000000000000,"amount":679881.000000000000000000,"symbol":"EOS","value":486318.879300000000000000,"contract_code":"EOS-USDT","trade_amount":1717650,"trade_volume":1717650,"trade_turnover":1238863.7252,"business_type":"swap","pair":"EOS-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":50434.000000000000000000,"amount":5043.400000000000000000,"symbol":"ACE","value":40165.637600000000000000,"contract_code":"ACE-USDT","trade_amount":37615.8,"trade_volume":376158,"trade_turnover":311037.4134,"business_type":"swap","pair":"ACE-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":87505.000000000000000000,"amount":87505.000000000000000000,"symbol":"LUNA","value":59564.653500000000000000,"contract_code":"LUNA-USDT","trade_amount":307896,"trade_volume":307896,"trade_turnover":217032.1226,"business_type":"swap","pair":"LUNA-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":85749.000000000000000000,"amount":857490.000000000000000000,"symbol":"GRT","value":131238.844500000000000000,"contract_code":"GRT-USDT","trade_amount":1330780,"trade_volume":133078,"trade_turnover":206740.1658,"business_type":"swap","pair":"GRT-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":0,"amount":0E-18,"symbol":"UNB","value":0,"contract_code":"UNB-USDT","trade_amount":0,"trade_volume":0,"trade_turnover":0,"business_type":"swap","pair":"UNB-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":1.000000000000000000,"amount":0.100000000000000000,"symbol":"CVX","value":0.135000000000000000,"contract_code":"CVX-USDT","trade_amount":0,"trade_volume":0,"trade_turnover":0,"business_type":"swap","pair":"CVX-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":1534065.000000000000000000,"amount":1534065.000000000000000000,"symbol":"STEEM","value":346085.064000000000000000,"contract_code":"STEEM-USDT","trade_amount":7643568,"trade_volume":7643568,"trade_turnover":1854517.8814,"business_type":"swap","pair":"STEEM-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":403535.000000000000000000,"amount":40353.500000000000000000,"symbol":"JTO","value":84532.511800000000000000,"contract_code":"JTO-USDT","trade_amount":371659.8,"trade_volume":3716598,"trade_turnover":856861.97862,"business_type":"swap","pair":"JTO-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":133437.000000000000000000,"amount":133437.000000000000000000,"symbol":"WLD","value":337568.922600000000000000,"contract_code":"WLD-USDT","trade_amount":381450,"trade_volume":381450,"trade_turnover":1003295.846,"business_type":"swap","pair":"WLD-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":3329642.000000000000000000,"amount":332964.200000000000000000,"symbol":"OP","value":1079303.454300000000000000,"contract_code":"OP-USDT","trade_amount":826882.4,"trade_volume":8268824,"trade_turnover":2698676.53232,"business_type":"swap","pair":"OP-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":368310.000000000000000000,"amount":36831.000000000000000000,"symbol":"ORDI","value":2564063.727000000000000000,"contract_code":"ORDI-USDT","trade_amount":271526.6,"trade_volume":2715266,"trade_turnover":18969629.9676,"business_type":"swap","pair":"ORDI-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":2105.000000000000000000,"amount":0.000210500000000000,"symbol":"FSN","value":0.000043152500000000,"contract_code":"FSN-USDT","trade_amount":0,"trade_volume":0,"trade_turnover":0,"business_type":"swap","pair":"FSN-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":181111.000000000000000000,"amount":181111.000000000000000000,"symbol":"BLUR","value":116979.594900000000000000,"contract_code":"BLUR-USDT","trade_amount":5924396,"trade_volume":5924396,"trade_turnover":3950137.0434,"business_type":"swap","pair":"BLUR-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":244877.000000000000000000,"amount":2448770000.000000000000000000,"symbol":"LUNC","value":275829.452800000000000000,"contract_code":"LUNC-USDT","trade_amount":9256620000,"trade_volume":925662,"trade_turnover":1086809.557,"business_type":"swap","pair":"LUNC-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":828636.000000000000000000,"amount":8286.360000000000000000,"symbol":"SSV","value":263340.520800000000000000,"contract_code":"SSV-USDT","trade_amount":7947.08,"trade_volume":794708,"trade_turnover":256218.5233,"business_type":"swap","pair":"SSV-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":335554.000000000000000000,"amount":335554.000000000000000000,"symbol":"IOTA","value":76674.089000000000000000,"contract_code":"IOTA-USDT","trade_amount":1606354,"trade_volume":1606354,"trade_turnover":374666.2538,"business_type":"swap","pair":"IOTA-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":24278.000000000000000000,"amount":2427.800000000000000000,"symbol":"KSM","value":95871.394200000000000000,"contract_code":"KSM-USDT","trade_amount":9952,"trade_volume":99520,"trade_turnover":394215.7232,"business_type":"swap","pair":"KSM-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":600046.000000000000000000,"amount":600046.000000000000000000,"symbol":"SUI","value":671931.510800000000000000,"contract_code":"SUI-USDT","trade_amount":5864248,"trade_volume":5864248,"trade_turnover":6985739.566,"business_type":"swap","pair":"SUI-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":485284.000000000000000000,"amount":48528400000.000000000000000000,"symbol":"BONK","value":573168.932400000000000000,"contract_code":"BONK-USDT","trade_amount":255498400000,"trade_volume":2554984,"trade_turnover":3121026.2812,"business_type":"swap","pair":"BONK-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":157408.000000000000000000,"amount":15740.800000000000000000,"symbol":"ICP","value":176296.960000000000000000,"contract_code":"ICP-USDT","trade_amount":173145,"trade_volume":1731450,"trade_turnover":1989687.8726,"business_type":"swap","pair":"ICP-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":1112061.000000000000000000,"amount":11120.610000000000000000,"symbol":"ETH","value":27407855.406000000000000000,"contract_code":"ETH-USDT","trade_amount":200157.92,"trade_volume":20015792,"trade_turnover":498268638.3254,"business_type":"swap","pair":"ETH-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":308043.000000000000000000,"amount":308043.000000000000000000,"symbol":"RDNT","value":108369.527400000000000000,"contract_code":"RDNT-USDT","trade_amount":1864742,"trade_volume":1864742,"trade_turnover":630973.0684,"business_type":"swap","pair":"RDNT-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":176806.000000000000000000,"amount":176806.000000000000000000,"symbol":"STORJ","value":99329.610800000000000000,"contract_code":"STORJ-USDT","trade_amount":974792,"trade_volume":974792,"trade_turnover":558041.4988,"business_type":"swap","pair":"STORJ-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":672442.000000000000000000,"amount":672442.000000000000000000,"symbol":"GMT","value":196978.435060000000000000,"contract_code":"GMT-USDT","trade_amount":3527728,"trade_volume":3527728,"trade_turnover":1044557.89614,"business_type":"swap","pair":"GMT-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":27725.000000000000000000,"amount":27725.000000000000000000,"symbol":"STG","value":14924.367500000000000000,"contract_code":"STG-USDT","trade_amount":50842,"trade_volume":50842,"trade_turnover":28035.7934,"business_type":"swap","pair":"STG-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":4.000000000000000000,"amount":40.000000000000000000,"symbol":"TENET","value":3.840400000000000000,"contract_code":"TENET-USDT","trade_amount":0,"trade_volume":0,"trade_turnover":0,"business_type":"swap","pair":"TENET-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":395247.000000000000000000,"amount":3952.470000000000000000,"symbol":"BSV","value":294340.440900000000000000,"contract_code":"BSV-USDT","trade_amount":17288.32,"trade_volume":1728832,"trade_turnover":1311969.2522,"business_type":"swap","pair":"BSV-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":1922390.000000000000000000,"amount":1922.390000000000000000,"symbol":"BTC","value":79269943.889000000000000000,"contract_code":"BTC-USDT","trade_amount":15285.872,"trade_volume":15285872,"trade_turnover":637079172.0342,"business_type":"swap","pair":"BTC-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":38141.000000000000000000,"amount":381410.000000000000000000,"symbol":"WOO","value":152548.743600000000000000,"contract_code":"WOO-USDT","trade_amount":861700,"trade_volume":86170,"trade_turnover":360578.507,"business_type":"swap","pair":"WOO-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":140635.000000000000000000,"amount":1406.350000000000000000,"symbol":"XMR","value":213582.374500000000000000,"contract_code":"XMR-USDT","trade_amount":5948.76,"trade_volume":594876,"trade_turnover":941378.7968,"business_type":"swap","pair":"XMR-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":2080593.000000000000000000,"amount":208059.300000000000000000,"symbol":"AXS","value":1593796.655790000000000000,"contract_code":"AXS-USDT","trade_amount":101611.6,"trade_volume":1016116,"trade_turnover":782998.92986,"business_type":"swap","pair":"AXS-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":840345.000000000000000000,"amount":8403450.000000000000000000,"symbol":"LINA","value":69496.531500000000000000,"contract_code":"LINA-USDT","trade_amount":61996340,"trade_volume":6199634,"trade_turnover":515891.0254,"business_type":"swap","pair":"LINA-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":22135.000000000000000000,"amount":22135.000000000000000000,"symbol":"ETC","value":529679.482500000000000000,"contract_code":"ETC-USDT","trade_amount":298426,"trade_volume":298426,"trade_turnover":7348869.7934,"business_type":"swap","pair":"ETC-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":0,"amount":0E-18,"symbol":"MPLX","value":0,"contract_code":"MPLX-USDT","trade_amount":0,"trade_volume":0,"trade_turnover":0,"business_type":"swap","pair":"MPLX-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":560779.000000000000000000,"amount":5607790.000000000000000000,"symbol":"PEOPLE","value":175748.138600000000000000,"contract_code":"PEOPLE-USDT","trade_amount":69962800,"trade_volume":6996280,"trade_turnover":2309121.0228,"business_type":"swap","pair":"PEOPLE-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":693833.000000000000000000,"amount":693833.000000000000000000,"symbol":"FTM","value":253110.278400000000000000,"contract_code":"FTM-USDT","trade_amount":4034490,"trade_volume":4034490,"trade_turnover":1524662.8122,"business_type":"swap","pair":"FTM-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":252653.000000000000000000,"amount":2526530.000000000000000000,"symbol":"ACH","value":46134.437800000000000000,"contract_code":"ACH-USDT","trade_amount":4609400,"trade_volume":460940,"trade_turnover":86698.6366,"business_type":"swap","pair":"ACH-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":608977.000000000000000000,"amount":608977.000000000000000000,"symbol":"APE","value":846356.234600000000000000,"contract_code":"APE-USDT","trade_amount":798476,"trade_volume":798476,"trade_turnover":1132936.254,"business_type":"swap","pair":"APE-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":355630.000000000000000000,"amount":3556.300000000000000000,"symbol":"BCH","value":844727.939000000000000000,"contract_code":"BCH-USDT","trade_amount":11644.28,"trade_volume":1164428,"trade_turnover":2763166.1372,"business_type":"swap","pair":"BCH-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":245737.000000000000000000,"amount":245737.000000000000000000,"symbol":"BIGTIME","value":95149.366400000000000000,"contract_code":"BIGTIME-USDT","trade_amount":1956250,"trade_volume":1956250,"trade_turnover":771067.517,"business_type":"swap","pair":"BIGTIME-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":3.000000000000000000,"amount":30.000000000000000000,"symbol":"OPUL","value":3.300000000000000000,"contract_code":"OPUL-USDT","trade_amount":0,"trade_volume":0,"trade_turnover":0,"business_type":"swap","pair":"OPUL-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":72269.000000000000000000,"amount":722.690000000000000000,"symbol":"METIS","value":66133.361900000000000000,"contract_code":"METIS-USDT","trade_amount":6498.22,"trade_volume":649822,"trade_turnover":629240.3232,"business_type":"swap","pair":"METIS-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":965211.000000000000000000,"amount":96521.100000000000000000,"symbol":"IMX","value":182782.007070000000000000,"contract_code":"IMX-USDT","trade_amount":131882,"trade_volume":1318820,"trade_turnover":256199.4844,"business_type":"swap","pair":"IMX-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":6.000000000000000000,"amount":60.000000000000000000,"symbol":"DUSK","value":10.376400000000000000,"contract_code":"DUSK-USDT","trade_amount":0,"trade_volume":0,"trade_turnover":0,"business_type":"swap","pair":"DUSK-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":101005.000000000000000000,"amount":101005.000000000000000000,"symbol":"KAVA","value":71299.429500000000000000,"contract_code":"KAVA-USDT","trade_amount":141094,"trade_volume":141094,"trade_turnover":102741.8992,"business_type":"swap","pair":"KAVA-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":151372.000000000000000000,"amount":1513.720000000000000000,"symbol":"COMP","value":82210.133200000000000000,"contract_code":"COMP-USDT","trade_amount":2774.66,"trade_volume":277466,"trade_turnover":152153.9764,"business_type":"swap","pair":"COMP-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":88868.000000000000000000,"amount":888680.000000000000000000,"symbol":"ALGO","value":156807.586000000000000000,"contract_code":"ALGO-USDT","trade_amount":1574440,"trade_volume":157444,"trade_turnover":286700.8994,"business_type":"swap","pair":"ALGO-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":111666.000000000000000000,"amount":11166.600000000000000000,"symbol":"CYBER","value":87791.809200000000000000,"contract_code":"CYBER-USDT","trade_amount":501672,"trade_volume":501672,"trade_turnover":4013302.034,"business_type":"swap","pair":"CYBER-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":742004.000000000000000000,"amount":742004.000000000000000000,"symbol":"WAVES","value":1705718.795200000000000000,"contract_code":"WAVES-USDT","trade_amount":2412004,"trade_volume":2412004,"trade_turnover":5743338.694,"business_type":"swap","pair":"WAVES-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":305964.000000000000000000,"amount":30596.400000000000000000,"symbol":"APT","value":263404.407600000000000000,"contract_code":"APT-USDT","trade_amount":141280.2,"trade_volume":1412802,"trade_turnover":1247950.6712,"business_type":"swap","pair":"APT-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":148407.000000000000000000,"amount":148407.000000000000000000,"symbol":"MTL","value":219434.590200000000000000,"contract_code":"MTL-USDT","trade_amount":341444,"trade_volume":341444,"trade_turnover":529900.1608,"business_type":"swap","pair":"MTL-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":77814.000000000000000000,"amount":77814.000000000000000000,"symbol":"FRONT","value":31444.637400000000000000,"contract_code":"FRONT-USDT","trade_amount":318808,"trade_volume":318808,"trade_turnover":133539.8744,"business_type":"swap","pair":"FRONT-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":696492.000000000000000000,"amount":69649.200000000000000000,"symbol":"GAS","value":508648.107600000000000000,"contract_code":"GAS-USDT","trade_amount":1674908.6,"trade_volume":16749086,"trade_turnover":11869589.3058,"business_type":"swap","pair":"GAS-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":47047.000000000000000000,"amount":4704700.000000000000000000,"symbol":"TRX","value":511123.312700000000000000,"contract_code":"TRX-USDT","trade_amount":16731400,"trade_volume":167314,"trade_turnover":1811297.0026,"business_type":"swap","pair":"TRX-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":33063.000000000000000000,"amount":330630.000000000000000000,"symbol":"LRC","value":78980.894400000000000000,"contract_code":"LRC-USDT","trade_amount":361280,"trade_volume":36128,"trade_turnover":88646.0706,"business_type":"swap","pair":"LRC-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":4.000000000000000000,"amount":400.000000000000000000,"symbol":"GARI","value":15.240000000000000000,"contract_code":"GARI-USDT","trade_amount":0,"trade_volume":0,"trade_turnover":0,"business_type":"swap","pair":"GARI-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":2190966.000000000000000000,"amount":219096.600000000000000000,"symbol":"DYDX","value":621577.054200000000000000,"contract_code":"DYDX-USDT","trade_amount":482585.8,"trade_volume":4825858,"trade_turnover":1443298.5332,"business_type":"swap","pair":"DYDX-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":146680.000000000000000000,"amount":14668.000000000000000000,"symbol":"TIA","value":251893.564000000000000000,"contract_code":"TIA-USDT","trade_amount":163091.4,"trade_volume":1630914,"trade_turnover":2809421.8222,"business_type":"swap","pair":"TIA-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":49558.000000000000000000,"amount":495580.000000000000000000,"symbol":"SAND","value":237018.073120000000000000,"contract_code":"SAND-USDT","trade_amount":1239540,"trade_volume":123954,"trade_turnover":598766.28718,"business_type":"swap","pair":"SAND-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":217205.000000000000000000,"amount":2172050.000000000000000000,"symbol":"ADA","value":1083147.033750000000000000,"contract_code":"ADA-USDT","trade_amount":12524760,"trade_volume":1252476,"trade_turnover":6361041.79956,"business_type":"swap","pair":"ADA-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":1448800.000000000000000000,"amount":1448800000000.000000000000000000,"symbol":"LADYS","value":85783.448000000000000000,"contract_code":"LADYS-USDT","trade_amount":8534254000000,"trade_volume":8534254,"trade_turnover":518111.33786,"business_type":"swap","pair":"LADYS-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":259392688.000000000000000000,"amount":259392688000.000000000000000000,"symbol":"SHIB","value":2395232.080992000000000000,"contract_code":"SHIB-USDT","trade_amount":1057184518000,"trade_volume":1057184518,"trade_turnover":9983768.427638,"business_type":"swap","pair":"SHIB-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":467597.000000000000000000,"amount":4675970.000000000000000000,"symbol":"SNT","value":188020.753700000000000000,"contract_code":"SNT-USDT","trade_amount":27215520,"trade_volume":2721552,"trade_turnover":1169722.6312,"business_type":"swap","pair":"SNT-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":235903.000000000000000000,"amount":235903.000000000000000000,"symbol":"BAKE","value":78013.122100000000000000,"contract_code":"BAKE-USDT","trade_amount":789384,"trade_volume":789384,"trade_turnover":281143.2814,"business_type":"swap","pair":"BAKE-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":721413.000000000000000000,"amount":721413.000000000000000000,"symbol":"CFX","value":139376.991600000000000000,"contract_code":"CFX-USDT","trade_amount":16868138,"trade_volume":16868138,"trade_turnover":3627886.6402,"business_type":"swap","pair":"CFX-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":61951.000000000000000000,"amount":61951.000000000000000000,"symbol":"SOL","value":5827210.181600000000000000,"contract_code":"SOL-USDT","trade_amount":586064,"trade_volume":586064,"trade_turnover":55804091.5012,"business_type":"swap","pair":"SOL-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":118584.000000000000000000,"amount":118584.000000000000000000,"symbol":"PYTH","value":39239.445600000000000000,"contract_code":"PYTH-USDT","trade_amount":1931340,"trade_volume":1931340,"trade_turnover":650965.953,"business_type":"swap","pair":"PYTH-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":357284.000000000000000000,"amount":35.728400000000000000,"symbol":"YFI","value":266991.187520000000000000,"contract_code":"YFI-USDT","trade_amount":68.5278,"trade_volume":685278,"trade_turnover":518303.67396,"business_type":"swap","pair":"YFI-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":64578.000000000000000000,"amount":64578.000000000000000000,"symbol":"LDO","value":197376.199200000000000000,"contract_code":"LDO-USDT","trade_amount":215770,"trade_volume":215770,"trade_turnover":658582.9192,"business_type":"swap","pair":"LDO-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":40027.000000000000000000,"amount":40027.000000000000000000,"symbol":"UNI","value":252450.289000000000000000,"contract_code":"UNI-USDT","trade_amount":120296,"trade_volume":120296,"trade_turnover":782552.736,"business_type":"swap","pair":"UNI-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":29816.000000000000000000,"amount":298160.000000000000000000,"symbol":"BLZ","value":99346.912000000000000000,"contract_code":"BLZ-USDT","trade_amount":842440,"trade_volume":84244,"trade_turnover":282404.5826,"business_type":"swap","pair":"BLZ-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":231715.000000000000000000,"amount":231715000000.000000000000000000,"symbol":"PEPE","value":262811.153000000000000000,"contract_code":"PEPE-USDT","trade_amount":1039924000000,"trade_volume":1039924,"trade_turnover":1199221.5882,"business_type":"swap","pair":"PEPE-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":3294030.000000000000000000,"amount":329403.000000000000000000,"symbol":"FIL","value":1804140.231000000000000000,"contract_code":"FIL-USDT","trade_amount":2025693.4,"trade_volume":20256934,"trade_turnover":11401998.8012,"business_type":"swap","pair":"FIL-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":2015722.000000000000000000,"amount":201572.200000000000000000,"symbol":"CORE","value":106329.335500000000000000,"contract_code":"CORE-USDT","trade_amount":1151058.8,"trade_volume":11510588,"trade_turnover":600774.74322,"business_type":"swap","pair":"CORE-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":12.000000000000000000,"amount":12.000000000000000000,"symbol":"SDAO","value":6.960000000000000000,"contract_code":"SDAO-USDT","trade_amount":0,"trade_volume":0,"trade_turnover":0,"business_type":"swap","pair":"SDAO-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":19260.000000000000000000,"amount":19260.000000000000000000,"symbol":"AI","value":20492.640000000000000000,"contract_code":"AI-USDT","trade_amount":673156,"trade_volume":673156,"trade_turnover":765202.1706,"business_type":"swap","pair":"AI-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":172866.000000000000000000,"amount":172866.000000000000000000,"symbol":"FET","value":107557.225200000000000000,"contract_code":"FET-USDT","trade_amount":387500,"trade_volume":387500,"trade_turnover":241361.0572,"business_type":"swap","pair":"FET-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":3603160.000000000000000000,"amount":360316.000000000000000000,"symbol":"TON","value":803756.901200000000000000,"contract_code":"TON-USDT","trade_amount":260207.4,"trade_volume":2602074,"trade_turnover":581428.36866,"business_type":"swap","pair":"TON-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":290318.000000000000000000,"amount":2903180.000000000000000000,"symbol":"JST","value":84958.659520000000000000,"contract_code":"JST-USDT","trade_amount":741280,"trade_volume":74128,"trade_turnover":21933.12566,"business_type":"swap","pair":"JST-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":0,"amount":0E-18,"symbol":"RLY","value":0,"contract_code":"RLY-USDT","trade_amount":0,"trade_volume":0,"trade_turnover":0,"business_type":"swap","pair":"RLY-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":22631.000000000000000000,"amount":2263.100000000000000000,"symbol":"AAVE","value":218045.158800000000000000,"contract_code":"AAVE-USDT","trade_amount":7299.6,"trade_volume":72996,"trade_turnover":712688.2156,"business_type":"swap","pair":"AAVE-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":394431.000000000000000000,"amount":394431.000000000000000000,"symbol":"1INCH","value":165976.564800000000000000,"contract_code":"1INCH-USDT","trade_amount":616306,"trade_volume":616306,"trade_turnover":265203.4318,"business_type":"swap","pair":"1INCH-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":33225.000000000000000000,"amount":3322.500000000000000000,"symbol":"TRB","value":443759.745000000000000000,"contract_code":"TRB-USDT","trade_amount":75817,"trade_volume":758170,"trade_turnover":10590255.0634,"business_type":"swap","pair":"TRB-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":21958.000000000000000000,"amount":2195800.000000000000000000,"symbol":"MATIC","value":1727655.440000000000000000,"contract_code":"MATIC-USDT","trade_amount":7848800,"trade_volume":78488,"trade_turnover":6272268.288,"business_type":"swap","pair":"MATIC-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":206205.000000000000000000,"amount":206205.000000000000000000,"symbol":"OGN","value":32312.323500000000000000,"contract_code":"OGN-USDT","trade_amount":434646,"trade_volume":434646,"trade_turnover":68528.8884,"business_type":"swap","pair":"OGN-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":450711.000000000000000000,"amount":45071100.000000000000000000,"symbol":"DOGE","value":3522847.318200000000000000,"contract_code":"DOGE-USDT","trade_amount":160571800,"trade_volume":1605718,"trade_turnover":12760560.5712,"business_type":"swap","pair":"DOGE-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":4063399.000000000000000000,"amount":4063399.000000000000000000,"symbol":"LOOM","value":403495.520700000000000000,"contract_code":"LOOM-USDT","trade_amount":24343680,"trade_volume":24343680,"trade_turnover":2344797.0556,"business_type":"swap","pair":"LOOM-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":11328.000000000000000000,"amount":113280.000000000000000000,"symbol":"THETA","value":111622.713600000000000000,"contract_code":"THETA-USDT","trade_amount":429140,"trade_volume":42914,"trade_turnover":429689.3132,"business_type":"swap","pair":"THETA-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":111287.000000000000000000,"amount":111287.000000000000000000,"symbol":"NEAR","value":334194.861000000000000000,"contract_code":"NEAR-USDT","trade_amount":630486,"trade_volume":630486,"trade_turnover":1995078.078,"business_type":"swap","pair":"NEAR-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":0,"amount":0E-18,"symbol":"TOMO","value":0,"contract_code":"TOMO-USDT","trade_amount":0,"trade_volume":0,"trade_turnover":0,"business_type":"swap","pair":"TOMO-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":0,"amount":0E-18,"symbol":"MANTA","value":0,"contract_code":"MANTA-USDT","trade_amount":0,"trade_volume":0,"trade_turnover":0,"business_type":"swap","pair":"MANTA-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":124846.000000000000000000,"amount":124846.000000000000000000,"symbol":"FTT","value":337583.584000000000000000,"contract_code":"FTT-USDT","trade_amount":4275.9,"trade_volume":427590,"trade_turnover":11923.4708,"business_type":"swap","pair":"FTT-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":1806360.000000000000000000,"amount":1806360.000000000000000000,"symbol":"SEI","value":1303108.104000000000000000,"contract_code":"SEI-USDT","trade_amount":8767754,"trade_volume":8767754,"trade_turnover":6524992.0378,"business_type":"swap","pair":"SEI-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":462199.000000000000000000,"amount":4621990.000000000000000000,"symbol":"XRP","value":2527904.990700000000000000,"contract_code":"XRP-USDT","trade_amount":12601760,"trade_volume":1260176,"trade_turnover":6999066.1712,"business_type":"swap","pair":"XRP-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":241971.000000000000000000,"amount":24197.100000000000000000,"symbol":"CAKE","value":66442.816890000000000000,"contract_code":"CAKE-USDT","trade_amount":33964.8,"trade_volume":339648,"trade_turnover":93989.24718,"business_type":"swap","pair":"CAKE-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":1004726.000000000000000000,"amount":1004726000.000000000000000000,"symbol":"RATS","value":270874.129600000000000000,"contract_code":"RATS-USDT","trade_amount":18400788000,"trade_volume":18400788,"trade_turnover":5173002.272,"business_type":"swap","pair":"RATS-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":102325.000000000000000000,"amount":10232.500000000000000000,"symbol":"ENS","value":200505.837500000000000000,"contract_code":"ENS-USDT","trade_amount":52173.4,"trade_volume":521734,"trade_turnover":1094330.4282,"business_type":"swap","pair":"ENS-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":27363.000000000000000000,"amount":27363000000.000000000000000000,"symbol":"BTT","value":26596.836000000000000000,"contract_code":"BTT-USDT","trade_amount":74236000000,"trade_volume":74236,"trade_turnover":72646.246,"business_type":"swap","pair":"BTT-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":110216.000000000000000000,"amount":110216.000000000000000000,"symbol":"XAI","value":95722.596000000000000000,"contract_code":"XAI-USDT","trade_amount":3939526,"trade_volume":3939526,"trade_turnover":3811823.5354,"business_type":"swap","pair":"XAI-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":660170.000000000000000000,"amount":660170000000000.000000000000000000,"symbol":"AIDOGE","value":102986.520000000000000000,"contract_code":"AIDOGE-USDT","trade_amount":3346890000000000,"trade_volume":3346890,"trade_turnover":536035.9144,"business_type":"swap","pair":"AIDOGE-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":414519.000000000000000000,"amount":4145190.000000000000000000,"symbol":"MEME","value":102369.612240000000000000,"contract_code":"MEME-USDT","trade_amount":166495020,"trade_volume":16649502,"trade_turnover":4524252.89694,"business_type":"swap","pair":"MEME-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":0,"amount":0E-18,"symbol":"XETA","value":0,"contract_code":"XETA-USDT","trade_amount":0,"trade_volume":0,"trade_turnover":0,"business_type":"swap","pair":"XETA-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":101894.000000000000000000,"amount":10189.400000000000000000,"symbol":"LPT","value":74158.453200000000000000,"contract_code":"LPT-USDT","trade_amount":1417.9,"trade_volume":141790,"trade_turnover":10493.07944,"business_type":"swap","pair":"LPT-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":30031.000000000000000000,"amount":3003.100000000000000000,"symbol":"BNB","value":937021.255800000000000000,"contract_code":"BNB-USDT","trade_amount":4379,"trade_volume":43790,"trade_turnover":1364420.0288,"business_type":"swap","pair":"BNB-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":325611.000000000000000000,"amount":3256110.000000000000000000,"symbol":"USTC","value":89966.319300000000000000,"contract_code":"USTC-USDT","trade_amount":43434420,"trade_volume":4343442,"trade_turnover":1283020.1676,"business_type":"swap","pair":"USTC-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":381597.000000000000000000,"amount":38159.700000000000000000,"symbol":"GAL","value":68191.383900000000000000,"contract_code":"GAL-USDT","trade_amount":37788.8,"trade_volume":377888,"trade_turnover":69226.72038,"business_type":"swap","pair":"GAL-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":58430.000000000000000000,"amount":5843000.000000000000000000,"symbol":"ONE","value":86049.861000000000000000,"contract_code":"ONE-USDT","trade_amount":4606800,"trade_volume":46068,"trade_turnover":69910.9202,"business_type":"swap","pair":"ONE-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":114620.000000000000000000,"amount":114620.000000000000000000,"symbol":"SUSHI","value":119858.134000000000000000,"contract_code":"SUSHI-USDT","trade_amount":452248,"trade_volume":452248,"trade_turnover":482842.6754,"business_type":"swap","pair":"SUSHI-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":22047.000000000000000000,"amount":22.047000000000000000,"symbol":"MKR","value":43683.925800000000000000,"contract_code":"MKR-USDT","trade_amount":345.1,"trade_volume":345100,"trade_turnover":687677.968,"business_type":"swap","pair":"MKR-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":416916.000000000000000000,"amount":41691.600000000000000000,"symbol":"LTC","value":2855874.600000000000000000,"contract_code":"LTC-USDT","trade_amount":252492.2,"trade_volume":2524922,"trade_turnover":17497098.4,"business_type":"swap","pair":"LTC-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":93278.000000000000000000,"amount":932780.000000000000000000,"symbol":"TOKEN","value":24159.002000000000000000,"contract_code":"TOKEN-USDT","trade_amount":2760880,"trade_volume":276088,"trade_turnover":75159.5218,"business_type":"swap","pair":"TOKEN-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":198977.000000000000000000,"amount":1989770000.000000000000000000,"symbol":"FLOKI","value":57524.250700000000000000,"contract_code":"FLOKI-USDT","trade_amount":737020000,"trade_volume":73702,"trade_turnover":21628.2578,"business_type":"swap","pair":"FLOKI-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":311136.000000000000000000,"amount":311136.000000000000000000,"symbol":"AGIX","value":83944.492800000000000000,"contract_code":"AGIX-USDT","trade_amount":79892,"trade_volume":79892,"trade_turnover":21958.0338,"business_type":"swap","pair":"AGIX-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":239138.000000000000000000,"amount":2391380.000000000000000000,"symbol":"GALA","value":56867.016400000000000000,"contract_code":"GALA-USDT","trade_amount":10070180,"trade_volume":1007018,"trade_turnover":243101.7462,"business_type":"swap","pair":"GALA-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":306350.000000000000000000,"amount":306350.000000000000000000,"symbol":"CRV","value":156483.580000000000000000,"contract_code":"CRV-USDT","trade_amount":225134,"trade_volume":225134,"trade_turnover":117081.1564,"business_type":"swap","pair":"CRV-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":552664.000000000000000000,"amount":552664.000000000000000000,"symbol":"ARB","value":1031271.024000000000000000,"contract_code":"ARB-USDT","trade_amount":2017448,"trade_volume":2017448,"trade_turnover":3834825.7386,"business_type":"swap","pair":"ARB-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":20934.000000000000000000,"amount":20934.000000000000000000,"symbol":"AVAX","value":698569.673400000000000000,"contract_code":"AVAX-USDT","trade_amount":125442,"trade_volume":125442,"trade_turnover":4252601.6018,"business_type":"swap","pair":"AVAX-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":10005.000000000000000000,"amount":10005.000000000000000000,"symbol":"ARK","value":7796.896500000000000000,"contract_code":"ARK-USDT","trade_amount":177674,"trade_volume":177674,"trade_turnover":145112.8264,"business_type":"swap","pair":"ARK-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":34355.000000000000000000,"amount":34355.000000000000000000,"symbol":"SNX","value":115944.689500000000000000,"contract_code":"SNX-USDT","trade_amount":94194,"trade_volume":94194,"trade_turnover":321217.4936,"business_type":"swap","pair":"SNX-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":410567.000000000000000000,"amount":4105670.000000000000000000,"symbol":"XLM","value":465090.297600000000000000,"contract_code":"XLM-USDT","trade_amount":410060,"trade_volume":41006,"trade_turnover":46734.7938,"business_type":"swap","pair":"XLM-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":1074680.000000000000000000,"amount":107468.000000000000000000,"symbol":"LINK","value":1607291.408000000000000000,"contract_code":"LINK-USDT","trade_amount":923606,"trade_volume":9236060,"trade_turnover":13833247.277,"business_type":"swap","pair":"LINK-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":346684.000000000000000000,"amount":34668.400000000000000000,"symbol":"MASK","value":121547.410400000000000000,"contract_code":"MASK-USDT","trade_amount":98164.6,"trade_volume":981646,"trade_turnover":346995.437,"business_type":"swap","pair":"MASK-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":145185.000000000000000000,"amount":1451.850000000000000000,"symbol":"EGLD","value":73841.091000000000000000,"contract_code":"EGLD-USDT","trade_amount":1636.94,"trade_volume":163694,"trade_turnover":84922.3372,"business_type":"swap","pair":"EGLD-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":33649.000000000000000000,"amount":33649.000000000000000000,"symbol":"RNDR","value":142900.573200000000000000,"contract_code":"RNDR-USDT","trade_amount":164444,"trade_volume":164444,"trade_turnover":690727.3828,"business_type":"swap","pair":"RNDR-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":125186.000000000000000000,"amount":125186.000000000000000000,"symbol":"YGG","value":63519.376400000000000000,"contract_code":"YGG-USDT","trade_amount":988150,"trade_volume":988150,"trade_turnover":529749.4164,"business_type":"swap","pair":"YGG-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":2637.000000000000000000,"amount":0.026370000000000000,"symbol":"DOSE","value":0.000055377000000000,"contract_code":"DOSE-USDT","trade_amount":0,"trade_volume":0,"trade_turnover":0,"business_type":"swap","pair":"DOSE-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":43534.000000000000000000,"amount":4353.400000000000000000,"symbol":"INJ","value":158350.571600000000000000,"contract_code":"INJ-USDT","trade_amount":12682.2,"trade_volume":126822,"trade_turnover":468450.0118,"business_type":"swap","pair":"INJ-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":83027.000000000000000000,"amount":830270000.000000000000000000,"symbol":"WIN","value":77049.056000000000000000,"contract_code":"WIN-USDT","trade_amount":1039440000,"trade_volume":103944,"trade_turnover":95913.3174,"business_type":"swap","pair":"WIN-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":71505.000000000000000000,"amount":71505.000000000000000000,"symbol":"ATOM","value":689293.899000000000000000,"contract_code":"ATOM-USDT","trade_amount":100656,"trade_volume":100656,"trade_turnover":981896.4288,"business_type":"swap","pair":"ATOM-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":26358.000000000000000000,"amount":26358.000000000000000000,"symbol":"STX","value":38393.062800000000000000,"contract_code":"STX-USDT","trade_amount":177224,"trade_volume":177224,"trade_turnover":268389.6124,"business_type":"swap","pair":"STX-USDT","contract_type":"swap","trade_partition":"USDT"},{"volume":32205.000000000000000000,"amount":32205.000000000000000000,"symbol":"BNT","value":23648.131500000000000000,"contract_code":"BNT-USDT","trade_amount":49850,"trade_volume":49850,"trade_turnover":37101.4448,"business_type":"swap","pair":"BNT-USDT","contract_type":"swap","trade_partition":"USDT"}],"ts":1705653223344} +2024-01-19 16:33:43.503 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.getSwapOpenInterest:50] - 4.获取当前可用合约总持仓量:{"data":[{"amount":981640.000000000000000000,"businessType":"swap","contractCode":"MANA-USDT","contractType":"swap","pair":"MANA-USDT","symbol":"MANA","tradeAmount":1146820,"tradePartition":"USDT","tradeTurnover":509340.974,"tradeVolume":114682,"value":441443.508000000000000000,"volume":98164.000000000000000000},{"amount":729769000000.000000000000000000,"businessType":"swap","contractCode":"SATS-USDT","contractType":"swap","pair":"SATS-USDT","symbol":"SATS","tradeAmount":5088430000000,"tradePartition":"USDT","tradeTurnover":2897057.3994,"tradeVolume":5088430,"value":411005.900800000000000000,"volume":729769.000000000000000000},{"amount":1807490.000000000000000000,"businessType":"swap","contractCode":"CHZ-USDT","contractType":"swap","pair":"CHZ-USDT","symbol":"CHZ","tradeAmount":12629460,"tradePartition":"USDT","tradeTurnover":1211237.5204,"tradeVolume":1262946,"value":166379.454500000000000000,"volume":180749.000000000000000000},{"amount":173489.000000000000000000,"businessType":"swap","contractCode":"DOT-USDT","contractType":"swap","pair":"DOT-USDT","symbol":"DOT","tradeAmount":499706,"tradePartition":"USDT","tradeTurnover":3509401.7682,"tradeVolume":499706,"value":1210918.522200000000000000,"volume":173489.000000000000000000},{"amount":143092.000000000000000000,"businessType":"swap","contractCode":"POLYX-USDT","contractType":"swap","pair":"POLYX-USDT","symbol":"POLYX","tradeAmount":115786,"tradePartition":"USDT","tradeTurnover":18812.1032,"tradeVolume":115786,"value":23395.542000000000000000,"volume":143092.000000000000000000},{"amount":50.000000000000000000,"businessType":"swap","contractCode":"QRDO-USDT","contractType":"swap","pair":"QRDO-USDT","symbol":"QRDO","tradeAmount":0,"tradePartition":"USDT","tradeTurnover":0,"tradeVolume":0,"value":2.700000000000000000,"volume":5.000000000000000000},{"amount":47955.000000000000000000,"businessType":"swap","contractCode":"MINA-USDT","contractType":"swap","pair":"MINA-USDT","symbol":"MINA","tradeAmount":228678,"tradePartition":"USDT","tradeTurnover":280599.1688,"tradeVolume":228678,"value":56577.309000000000000000,"volume":47955.000000000000000000},{"amount":679881.000000000000000000,"businessType":"swap","contractCode":"EOS-USDT","contractType":"swap","pair":"EOS-USDT","symbol":"EOS","tradeAmount":1717650,"tradePartition":"USDT","tradeTurnover":1238863.7252,"tradeVolume":1717650,"value":486318.879300000000000000,"volume":679881.000000000000000000},{"amount":5043.400000000000000000,"businessType":"swap","contractCode":"ACE-USDT","contractType":"swap","pair":"ACE-USDT","symbol":"ACE","tradeAmount":37615.8,"tradePartition":"USDT","tradeTurnover":311037.4134,"tradeVolume":376158,"value":40165.637600000000000000,"volume":50434.000000000000000000},{"amount":87505.000000000000000000,"businessType":"swap","contractCode":"LUNA-USDT","contractType":"swap","pair":"LUNA-USDT","symbol":"LUNA","tradeAmount":307896,"tradePartition":"USDT","tradeTurnover":217032.1226,"tradeVolume":307896,"value":59564.653500000000000000,"volume":87505.000000000000000000},{"amount":857490.000000000000000000,"businessType":"swap","contractCode":"GRT-USDT","contractType":"swap","pair":"GRT-USDT","symbol":"GRT","tradeAmount":1330780,"tradePartition":"USDT","tradeTurnover":206740.1658,"tradeVolume":133078,"value":131238.844500000000000000,"volume":85749.000000000000000000},{"amount":0E-18,"businessType":"swap","contractCode":"UNB-USDT","contractType":"swap","pair":"UNB-USDT","symbol":"UNB","tradeAmount":0,"tradePartition":"USDT","tradeTurnover":0,"tradeVolume":0,"value":0,"volume":0},{"amount":0.100000000000000000,"businessType":"swap","contractCode":"CVX-USDT","contractType":"swap","pair":"CVX-USDT","symbol":"CVX","tradeAmount":0,"tradePartition":"USDT","tradeTurnover":0,"tradeVolume":0,"value":0.135000000000000000,"volume":1.000000000000000000},{"amount":1534065.000000000000000000,"businessType":"swap","contractCode":"STEEM-USDT","contractType":"swap","pair":"STEEM-USDT","symbol":"STEEM","tradeAmount":7643568,"tradePartition":"USDT","tradeTurnover":1854517.8814,"tradeVolume":7643568,"value":346085.064000000000000000,"volume":1534065.000000000000000000},{"amount":40353.500000000000000000,"businessType":"swap","contractCode":"JTO-USDT","contractType":"swap","pair":"JTO-USDT","symbol":"JTO","tradeAmount":371659.8,"tradePartition":"USDT","tradeTurnover":856861.97862,"tradeVolume":3716598,"value":84532.511800000000000000,"volume":403535.000000000000000000},{"amount":133437.000000000000000000,"businessType":"swap","contractCode":"WLD-USDT","contractType":"swap","pair":"WLD-USDT","symbol":"WLD","tradeAmount":381450,"tradePartition":"USDT","tradeTurnover":1003295.846,"tradeVolume":381450,"value":337568.922600000000000000,"volume":133437.000000000000000000},{"amount":332964.200000000000000000,"businessType":"swap","contractCode":"OP-USDT","contractType":"swap","pair":"OP-USDT","symbol":"OP","tradeAmount":826882.4,"tradePartition":"USDT","tradeTurnover":2698676.53232,"tradeVolume":8268824,"value":1079303.454300000000000000,"volume":3329642.000000000000000000},{"amount":36831.000000000000000000,"businessType":"swap","contractCode":"ORDI-USDT","contractType":"swap","pair":"ORDI-USDT","symbol":"ORDI","tradeAmount":271526.6,"tradePartition":"USDT","tradeTurnover":18969629.9676,"tradeVolume":2715266,"value":2564063.727000000000000000,"volume":368310.000000000000000000},{"amount":0.000210500000000000,"businessType":"swap","contractCode":"FSN-USDT","contractType":"swap","pair":"FSN-USDT","symbol":"FSN","tradeAmount":0,"tradePartition":"USDT","tradeTurnover":0,"tradeVolume":0,"value":0.000043152500000000,"volume":2105.000000000000000000},{"amount":181111.000000000000000000,"businessType":"swap","contractCode":"BLUR-USDT","contractType":"swap","pair":"BLUR-USDT","symbol":"BLUR","tradeAmount":5924396,"tradePartition":"USDT","tradeTurnover":3950137.0434,"tradeVolume":5924396,"value":116979.594900000000000000,"volume":181111.000000000000000000},{"amount":2448770000.000000000000000000,"businessType":"swap","contractCode":"LUNC-USDT","contractType":"swap","pair":"LUNC-USDT","symbol":"LUNC","tradeAmount":9256620000,"tradePartition":"USDT","tradeTurnover":1086809.557,"tradeVolume":925662,"value":275829.452800000000000000,"volume":244877.000000000000000000},{"amount":8286.360000000000000000,"businessType":"swap","contractCode":"SSV-USDT","contractType":"swap","pair":"SSV-USDT","symbol":"SSV","tradeAmount":7947.08,"tradePartition":"USDT","tradeTurnover":256218.5233,"tradeVolume":794708,"value":263340.520800000000000000,"volume":828636.000000000000000000},{"amount":335554.000000000000000000,"businessType":"swap","contractCode":"IOTA-USDT","contractType":"swap","pair":"IOTA-USDT","symbol":"IOTA","tradeAmount":1606354,"tradePartition":"USDT","tradeTurnover":374666.2538,"tradeVolume":1606354,"value":76674.089000000000000000,"volume":335554.000000000000000000},{"amount":2427.800000000000000000,"businessType":"swap","contractCode":"KSM-USDT","contractType":"swap","pair":"KSM-USDT","symbol":"KSM","tradeAmount":9952,"tradePartition":"USDT","tradeTurnover":394215.7232,"tradeVolume":99520,"value":95871.394200000000000000,"volume":24278.000000000000000000},{"amount":600046.000000000000000000,"businessType":"swap","contractCode":"SUI-USDT","contractType":"swap","pair":"SUI-USDT","symbol":"SUI","tradeAmount":5864248,"tradePartition":"USDT","tradeTurnover":6985739.566,"tradeVolume":5864248,"value":671931.510800000000000000,"volume":600046.000000000000000000},{"amount":48528400000.000000000000000000,"businessType":"swap","contractCode":"BONK-USDT","contractType":"swap","pair":"BONK-USDT","symbol":"BONK","tradeAmount":255498400000,"tradePartition":"USDT","tradeTurnover":3121026.2812,"tradeVolume":2554984,"value":573168.932400000000000000,"volume":485284.000000000000000000},{"amount":15740.800000000000000000,"businessType":"swap","contractCode":"ICP-USDT","contractType":"swap","pair":"ICP-USDT","symbol":"ICP","tradeAmount":173145,"tradePartition":"USDT","tradeTurnover":1989687.8726,"tradeVolume":1731450,"value":176296.960000000000000000,"volume":157408.000000000000000000},{"amount":11120.610000000000000000,"businessType":"swap","contractCode":"ETH-USDT","contractType":"swap","pair":"ETH-USDT","symbol":"ETH","tradeAmount":200157.92,"tradePartition":"USDT","tradeTurnover":498268638.3254,"tradeVolume":20015792,"value":27407855.406000000000000000,"volume":1112061.000000000000000000},{"amount":308043.000000000000000000,"businessType":"swap","contractCode":"RDNT-USDT","contractType":"swap","pair":"RDNT-USDT","symbol":"RDNT","tradeAmount":1864742,"tradePartition":"USDT","tradeTurnover":630973.0684,"tradeVolume":1864742,"value":108369.527400000000000000,"volume":308043.000000000000000000},{"amount":176806.000000000000000000,"businessType":"swap","contractCode":"STORJ-USDT","contractType":"swap","pair":"STORJ-USDT","symbol":"STORJ","tradeAmount":974792,"tradePartition":"USDT","tradeTurnover":558041.4988,"tradeVolume":974792,"value":99329.610800000000000000,"volume":176806.000000000000000000},{"amount":672442.000000000000000000,"businessType":"swap","contractCode":"GMT-USDT","contractType":"swap","pair":"GMT-USDT","symbol":"GMT","tradeAmount":3527728,"tradePartition":"USDT","tradeTurnover":1044557.89614,"tradeVolume":3527728,"value":196978.435060000000000000,"volume":672442.000000000000000000},{"amount":27725.000000000000000000,"businessType":"swap","contractCode":"STG-USDT","contractType":"swap","pair":"STG-USDT","symbol":"STG","tradeAmount":50842,"tradePartition":"USDT","tradeTurnover":28035.7934,"tradeVolume":50842,"value":14924.367500000000000000,"volume":27725.000000000000000000},{"amount":40.000000000000000000,"businessType":"swap","contractCode":"TENET-USDT","contractType":"swap","pair":"TENET-USDT","symbol":"TENET","tradeAmount":0,"tradePartition":"USDT","tradeTurnover":0,"tradeVolume":0,"value":3.840400000000000000,"volume":4.000000000000000000},{"amount":3952.470000000000000000,"businessType":"swap","contractCode":"BSV-USDT","contractType":"swap","pair":"BSV-USDT","symbol":"BSV","tradeAmount":17288.32,"tradePartition":"USDT","tradeTurnover":1311969.2522,"tradeVolume":1728832,"value":294340.440900000000000000,"volume":395247.000000000000000000},{"amount":1922.390000000000000000,"businessType":"swap","contractCode":"BTC-USDT","contractType":"swap","pair":"BTC-USDT","symbol":"BTC","tradeAmount":15285.872,"tradePartition":"USDT","tradeTurnover":637079172.0342,"tradeVolume":15285872,"value":79269943.889000000000000000,"volume":1922390.000000000000000000},{"amount":381410.000000000000000000,"businessType":"swap","contractCode":"WOO-USDT","contractType":"swap","pair":"WOO-USDT","symbol":"WOO","tradeAmount":861700,"tradePartition":"USDT","tradeTurnover":360578.507,"tradeVolume":86170,"value":152548.743600000000000000,"volume":38141.000000000000000000},{"amount":1406.350000000000000000,"businessType":"swap","contractCode":"XMR-USDT","contractType":"swap","pair":"XMR-USDT","symbol":"XMR","tradeAmount":5948.76,"tradePartition":"USDT","tradeTurnover":941378.7968,"tradeVolume":594876,"value":213582.374500000000000000,"volume":140635.000000000000000000},{"amount":208059.300000000000000000,"businessType":"swap","contractCode":"AXS-USDT","contractType":"swap","pair":"AXS-USDT","symbol":"AXS","tradeAmount":101611.6,"tradePartition":"USDT","tradeTurnover":782998.92986,"tradeVolume":1016116,"value":1593796.655790000000000000,"volume":2080593.000000000000000000},{"amount":8403450.000000000000000000,"businessType":"swap","contractCode":"LINA-USDT","contractType":"swap","pair":"LINA-USDT","symbol":"LINA","tradeAmount":61996340,"tradePartition":"USDT","tradeTurnover":515891.0254,"tradeVolume":6199634,"value":69496.531500000000000000,"volume":840345.000000000000000000},{"amount":22135.000000000000000000,"businessType":"swap","contractCode":"ETC-USDT","contractType":"swap","pair":"ETC-USDT","symbol":"ETC","tradeAmount":298426,"tradePartition":"USDT","tradeTurnover":7348869.7934,"tradeVolume":298426,"value":529679.482500000000000000,"volume":22135.000000000000000000},{"amount":0E-18,"businessType":"swap","contractCode":"MPLX-USDT","contractType":"swap","pair":"MPLX-USDT","symbol":"MPLX","tradeAmount":0,"tradePartition":"USDT","tradeTurnover":0,"tradeVolume":0,"value":0,"volume":0},{"amount":5607790.000000000000000000,"businessType":"swap","contractCode":"PEOPLE-USDT","contractType":"swap","pair":"PEOPLE-USDT","symbol":"PEOPLE","tradeAmount":69962800,"tradePartition":"USDT","tradeTurnover":2309121.0228,"tradeVolume":6996280,"value":175748.138600000000000000,"volume":560779.000000000000000000},{"amount":693833.000000000000000000,"businessType":"swap","contractCode":"FTM-USDT","contractType":"swap","pair":"FTM-USDT","symbol":"FTM","tradeAmount":4034490,"tradePartition":"USDT","tradeTurnover":1524662.8122,"tradeVolume":4034490,"value":253110.278400000000000000,"volume":693833.000000000000000000},{"amount":2526530.000000000000000000,"businessType":"swap","contractCode":"ACH-USDT","contractType":"swap","pair":"ACH-USDT","symbol":"ACH","tradeAmount":4609400,"tradePartition":"USDT","tradeTurnover":86698.6366,"tradeVolume":460940,"value":46134.437800000000000000,"volume":252653.000000000000000000},{"amount":608977.000000000000000000,"businessType":"swap","contractCode":"APE-USDT","contractType":"swap","pair":"APE-USDT","symbol":"APE","tradeAmount":798476,"tradePartition":"USDT","tradeTurnover":1132936.254,"tradeVolume":798476,"value":846356.234600000000000000,"volume":608977.000000000000000000},{"amount":3556.300000000000000000,"businessType":"swap","contractCode":"BCH-USDT","contractType":"swap","pair":"BCH-USDT","symbol":"BCH","tradeAmount":11644.28,"tradePartition":"USDT","tradeTurnover":2763166.1372,"tradeVolume":1164428,"value":844727.939000000000000000,"volume":355630.000000000000000000},{"amount":245737.000000000000000000,"businessType":"swap","contractCode":"BIGTIME-USDT","contractType":"swap","pair":"BIGTIME-USDT","symbol":"BIGTIME","tradeAmount":1956250,"tradePartition":"USDT","tradeTurnover":771067.517,"tradeVolume":1956250,"value":95149.366400000000000000,"volume":245737.000000000000000000},{"amount":30.000000000000000000,"businessType":"swap","contractCode":"OPUL-USDT","contractType":"swap","pair":"OPUL-USDT","symbol":"OPUL","tradeAmount":0,"tradePartition":"USDT","tradeTurnover":0,"tradeVolume":0,"value":3.300000000000000000,"volume":3.000000000000000000},{"amount":722.690000000000000000,"businessType":"swap","contractCode":"METIS-USDT","contractType":"swap","pair":"METIS-USDT","symbol":"METIS","tradeAmount":6498.22,"tradePartition":"USDT","tradeTurnover":629240.3232,"tradeVolume":649822,"value":66133.361900000000000000,"volume":72269.000000000000000000},{"amount":96521.100000000000000000,"businessType":"swap","contractCode":"IMX-USDT","contractType":"swap","pair":"IMX-USDT","symbol":"IMX","tradeAmount":131882,"tradePartition":"USDT","tradeTurnover":256199.4844,"tradeVolume":1318820,"value":182782.007070000000000000,"volume":965211.000000000000000000},{"amount":60.000000000000000000,"businessType":"swap","contractCode":"DUSK-USDT","contractType":"swap","pair":"DUSK-USDT","symbol":"DUSK","tradeAmount":0,"tradePartition":"USDT","tradeTurnover":0,"tradeVolume":0,"value":10.376400000000000000,"volume":6.000000000000000000},{"amount":101005.000000000000000000,"businessType":"swap","contractCode":"KAVA-USDT","contractType":"swap","pair":"KAVA-USDT","symbol":"KAVA","tradeAmount":141094,"tradePartition":"USDT","tradeTurnover":102741.8992,"tradeVolume":141094,"value":71299.429500000000000000,"volume":101005.000000000000000000},{"amount":1513.720000000000000000,"businessType":"swap","contractCode":"COMP-USDT","contractType":"swap","pair":"COMP-USDT","symbol":"COMP","tradeAmount":2774.66,"tradePartition":"USDT","tradeTurnover":152153.9764,"tradeVolume":277466,"value":82210.133200000000000000,"volume":151372.000000000000000000},{"amount":888680.000000000000000000,"businessType":"swap","contractCode":"ALGO-USDT","contractType":"swap","pair":"ALGO-USDT","symbol":"ALGO","tradeAmount":1574440,"tradePartition":"USDT","tradeTurnover":286700.8994,"tradeVolume":157444,"value":156807.586000000000000000,"volume":88868.000000000000000000},{"amount":11166.600000000000000000,"businessType":"swap","contractCode":"CYBER-USDT","contractType":"swap","pair":"CYBER-USDT","symbol":"CYBER","tradeAmount":501672,"tradePartition":"USDT","tradeTurnover":4013302.034,"tradeVolume":501672,"value":87791.809200000000000000,"volume":111666.000000000000000000},{"amount":742004.000000000000000000,"businessType":"swap","contractCode":"WAVES-USDT","contractType":"swap","pair":"WAVES-USDT","symbol":"WAVES","tradeAmount":2412004,"tradePartition":"USDT","tradeTurnover":5743338.694,"tradeVolume":2412004,"value":1705718.795200000000000000,"volume":742004.000000000000000000},{"amount":30596.400000000000000000,"businessType":"swap","contractCode":"APT-USDT","contractType":"swap","pair":"APT-USDT","symbol":"APT","tradeAmount":141280.2,"tradePartition":"USDT","tradeTurnover":1247950.6712,"tradeVolume":1412802,"value":263404.407600000000000000,"volume":305964.000000000000000000},{"amount":148407.000000000000000000,"businessType":"swap","contractCode":"MTL-USDT","contractType":"swap","pair":"MTL-USDT","symbol":"MTL","tradeAmount":341444,"tradePartition":"USDT","tradeTurnover":529900.1608,"tradeVolume":341444,"value":219434.590200000000000000,"volume":148407.000000000000000000},{"amount":77814.000000000000000000,"businessType":"swap","contractCode":"FRONT-USDT","contractType":"swap","pair":"FRONT-USDT","symbol":"FRONT","tradeAmount":318808,"tradePartition":"USDT","tradeTurnover":133539.8744,"tradeVolume":318808,"value":31444.637400000000000000,"volume":77814.000000000000000000},{"amount":69649.200000000000000000,"businessType":"swap","contractCode":"GAS-USDT","contractType":"swap","pair":"GAS-USDT","symbol":"GAS","tradeAmount":1674908.6,"tradePartition":"USDT","tradeTurnover":11869589.3058,"tradeVolume":16749086,"value":508648.107600000000000000,"volume":696492.000000000000000000},{"amount":4704700.000000000000000000,"businessType":"swap","contractCode":"TRX-USDT","contractType":"swap","pair":"TRX-USDT","symbol":"TRX","tradeAmount":16731400,"tradePartition":"USDT","tradeTurnover":1811297.0026,"tradeVolume":167314,"value":511123.312700000000000000,"volume":47047.000000000000000000},{"amount":330630.000000000000000000,"businessType":"swap","contractCode":"LRC-USDT","contractType":"swap","pair":"LRC-USDT","symbol":"LRC","tradeAmount":361280,"tradePartition":"USDT","tradeTurnover":88646.0706,"tradeVolume":36128,"value":78980.894400000000000000,"volume":33063.000000000000000000},{"amount":400.000000000000000000,"businessType":"swap","contractCode":"GARI-USDT","contractType":"swap","pair":"GARI-USDT","symbol":"GARI","tradeAmount":0,"tradePartition":"USDT","tradeTurnover":0,"tradeVolume":0,"value":15.240000000000000000,"volume":4.000000000000000000},{"amount":219096.600000000000000000,"businessType":"swap","contractCode":"DYDX-USDT","contractType":"swap","pair":"DYDX-USDT","symbol":"DYDX","tradeAmount":482585.8,"tradePartition":"USDT","tradeTurnover":1443298.5332,"tradeVolume":4825858,"value":621577.054200000000000000,"volume":2190966.000000000000000000},{"amount":14668.000000000000000000,"businessType":"swap","contractCode":"TIA-USDT","contractType":"swap","pair":"TIA-USDT","symbol":"TIA","tradeAmount":163091.4,"tradePartition":"USDT","tradeTurnover":2809421.8222,"tradeVolume":1630914,"value":251893.564000000000000000,"volume":146680.000000000000000000},{"amount":495580.000000000000000000,"businessType":"swap","contractCode":"SAND-USDT","contractType":"swap","pair":"SAND-USDT","symbol":"SAND","tradeAmount":1239540,"tradePartition":"USDT","tradeTurnover":598766.28718,"tradeVolume":123954,"value":237018.073120000000000000,"volume":49558.000000000000000000},{"amount":2172050.000000000000000000,"businessType":"swap","contractCode":"ADA-USDT","contractType":"swap","pair":"ADA-USDT","symbol":"ADA","tradeAmount":12524760,"tradePartition":"USDT","tradeTurnover":6361041.79956,"tradeVolume":1252476,"value":1083147.033750000000000000,"volume":217205.000000000000000000},{"amount":1448800000000.000000000000000000,"businessType":"swap","contractCode":"LADYS-USDT","contractType":"swap","pair":"LADYS-USDT","symbol":"LADYS","tradeAmount":8534254000000,"tradePartition":"USDT","tradeTurnover":518111.33786,"tradeVolume":8534254,"value":85783.448000000000000000,"volume":1448800.000000000000000000},{"amount":259392688000.000000000000000000,"businessType":"swap","contractCode":"SHIB-USDT","contractType":"swap","pair":"SHIB-USDT","symbol":"SHIB","tradeAmount":1057184518000,"tradePartition":"USDT","tradeTurnover":9983768.427638,"tradeVolume":1057184518,"value":2395232.080992000000000000,"volume":259392688.000000000000000000},{"amount":4675970.000000000000000000,"businessType":"swap","contractCode":"SNT-USDT","contractType":"swap","pair":"SNT-USDT","symbol":"SNT","tradeAmount":27215520,"tradePartition":"USDT","tradeTurnover":1169722.6312,"tradeVolume":2721552,"value":188020.753700000000000000,"volume":467597.000000000000000000},{"amount":235903.000000000000000000,"businessType":"swap","contractCode":"BAKE-USDT","contractType":"swap","pair":"BAKE-USDT","symbol":"BAKE","tradeAmount":789384,"tradePartition":"USDT","tradeTurnover":281143.2814,"tradeVolume":789384,"value":78013.122100000000000000,"volume":235903.000000000000000000},{"amount":721413.000000000000000000,"businessType":"swap","contractCode":"CFX-USDT","contractType":"swap","pair":"CFX-USDT","symbol":"CFX","tradeAmount":16868138,"tradePartition":"USDT","tradeTurnover":3627886.6402,"tradeVolume":16868138,"value":139376.991600000000000000,"volume":721413.000000000000000000},{"amount":61951.000000000000000000,"businessType":"swap","contractCode":"SOL-USDT","contractType":"swap","pair":"SOL-USDT","symbol":"SOL","tradeAmount":586064,"tradePartition":"USDT","tradeTurnover":55804091.5012,"tradeVolume":586064,"value":5827210.181600000000000000,"volume":61951.000000000000000000},{"amount":118584.000000000000000000,"businessType":"swap","contractCode":"PYTH-USDT","contractType":"swap","pair":"PYTH-USDT","symbol":"PYTH","tradeAmount":1931340,"tradePartition":"USDT","tradeTurnover":650965.953,"tradeVolume":1931340,"value":39239.445600000000000000,"volume":118584.000000000000000000},{"amount":35.728400000000000000,"businessType":"swap","contractCode":"YFI-USDT","contractType":"swap","pair":"YFI-USDT","symbol":"YFI","tradeAmount":68.5278,"tradePartition":"USDT","tradeTurnover":518303.67396,"tradeVolume":685278,"value":266991.187520000000000000,"volume":357284.000000000000000000},{"amount":64578.000000000000000000,"businessType":"swap","contractCode":"LDO-USDT","contractType":"swap","pair":"LDO-USDT","symbol":"LDO","tradeAmount":215770,"tradePartition":"USDT","tradeTurnover":658582.9192,"tradeVolume":215770,"value":197376.199200000000000000,"volume":64578.000000000000000000},{"amount":40027.000000000000000000,"businessType":"swap","contractCode":"UNI-USDT","contractType":"swap","pair":"UNI-USDT","symbol":"UNI","tradeAmount":120296,"tradePartition":"USDT","tradeTurnover":782552.736,"tradeVolume":120296,"value":252450.289000000000000000,"volume":40027.000000000000000000},{"amount":298160.000000000000000000,"businessType":"swap","contractCode":"BLZ-USDT","contractType":"swap","pair":"BLZ-USDT","symbol":"BLZ","tradeAmount":842440,"tradePartition":"USDT","tradeTurnover":282404.5826,"tradeVolume":84244,"value":99346.912000000000000000,"volume":29816.000000000000000000},{"amount":231715000000.000000000000000000,"businessType":"swap","contractCode":"PEPE-USDT","contractType":"swap","pair":"PEPE-USDT","symbol":"PEPE","tradeAmount":1039924000000,"tradePartition":"USDT","tradeTurnover":1199221.5882,"tradeVolume":1039924,"value":262811.153000000000000000,"volume":231715.000000000000000000},{"amount":329403.000000000000000000,"businessType":"swap","contractCode":"FIL-USDT","contractType":"swap","pair":"FIL-USDT","symbol":"FIL","tradeAmount":2025693.4,"tradePartition":"USDT","tradeTurnover":11401998.8012,"tradeVolume":20256934,"value":1804140.231000000000000000,"volume":3294030.000000000000000000},{"amount":201572.200000000000000000,"businessType":"swap","contractCode":"CORE-USDT","contractType":"swap","pair":"CORE-USDT","symbol":"CORE","tradeAmount":1151058.8,"tradePartition":"USDT","tradeTurnover":600774.74322,"tradeVolume":11510588,"value":106329.335500000000000000,"volume":2015722.000000000000000000},{"amount":12.000000000000000000,"businessType":"swap","contractCode":"SDAO-USDT","contractType":"swap","pair":"SDAO-USDT","symbol":"SDAO","tradeAmount":0,"tradePartition":"USDT","tradeTurnover":0,"tradeVolume":0,"value":6.960000000000000000,"volume":12.000000000000000000},{"amount":19260.000000000000000000,"businessType":"swap","contractCode":"AI-USDT","contractType":"swap","pair":"AI-USDT","symbol":"AI","tradeAmount":673156,"tradePartition":"USDT","tradeTurnover":765202.1706,"tradeVolume":673156,"value":20492.640000000000000000,"volume":19260.000000000000000000},{"amount":172866.000000000000000000,"businessType":"swap","contractCode":"FET-USDT","contractType":"swap","pair":"FET-USDT","symbol":"FET","tradeAmount":387500,"tradePartition":"USDT","tradeTurnover":241361.0572,"tradeVolume":387500,"value":107557.225200000000000000,"volume":172866.000000000000000000},{"amount":360316.000000000000000000,"businessType":"swap","contractCode":"TON-USDT","contractType":"swap","pair":"TON-USDT","symbol":"TON","tradeAmount":260207.4,"tradePartition":"USDT","tradeTurnover":581428.36866,"tradeVolume":2602074,"value":803756.901200000000000000,"volume":3603160.000000000000000000},{"amount":2903180.000000000000000000,"businessType":"swap","contractCode":"JST-USDT","contractType":"swap","pair":"JST-USDT","symbol":"JST","tradeAmount":741280,"tradePartition":"USDT","tradeTurnover":21933.12566,"tradeVolume":74128,"value":84958.659520000000000000,"volume":290318.000000000000000000},{"amount":0E-18,"businessType":"swap","contractCode":"RLY-USDT","contractType":"swap","pair":"RLY-USDT","symbol":"RLY","tradeAmount":0,"tradePartition":"USDT","tradeTurnover":0,"tradeVolume":0,"value":0,"volume":0},{"amount":2263.100000000000000000,"businessType":"swap","contractCode":"AAVE-USDT","contractType":"swap","pair":"AAVE-USDT","symbol":"AAVE","tradeAmount":7299.6,"tradePartition":"USDT","tradeTurnover":712688.2156,"tradeVolume":72996,"value":218045.158800000000000000,"volume":22631.000000000000000000},{"amount":394431.000000000000000000,"businessType":"swap","contractCode":"1INCH-USDT","contractType":"swap","pair":"1INCH-USDT","symbol":"1INCH","tradeAmount":616306,"tradePartition":"USDT","tradeTurnover":265203.4318,"tradeVolume":616306,"value":165976.564800000000000000,"volume":394431.000000000000000000},{"amount":3322.500000000000000000,"businessType":"swap","contractCode":"TRB-USDT","contractType":"swap","pair":"TRB-USDT","symbol":"TRB","tradeAmount":75817,"tradePartition":"USDT","tradeTurnover":10590255.0634,"tradeVolume":758170,"value":443759.745000000000000000,"volume":33225.000000000000000000},{"amount":2195800.000000000000000000,"businessType":"swap","contractCode":"MATIC-USDT","contractType":"swap","pair":"MATIC-USDT","symbol":"MATIC","tradeAmount":7848800,"tradePartition":"USDT","tradeTurnover":6272268.288,"tradeVolume":78488,"value":1727655.440000000000000000,"volume":21958.000000000000000000},{"amount":206205.000000000000000000,"businessType":"swap","contractCode":"OGN-USDT","contractType":"swap","pair":"OGN-USDT","symbol":"OGN","tradeAmount":434646,"tradePartition":"USDT","tradeTurnover":68528.8884,"tradeVolume":434646,"value":32312.323500000000000000,"volume":206205.000000000000000000},{"amount":45071100.000000000000000000,"businessType":"swap","contractCode":"DOGE-USDT","contractType":"swap","pair":"DOGE-USDT","symbol":"DOGE","tradeAmount":160571800,"tradePartition":"USDT","tradeTurnover":12760560.5712,"tradeVolume":1605718,"value":3522847.318200000000000000,"volume":450711.000000000000000000},{"amount":4063399.000000000000000000,"businessType":"swap","contractCode":"LOOM-USDT","contractType":"swap","pair":"LOOM-USDT","symbol":"LOOM","tradeAmount":24343680,"tradePartition":"USDT","tradeTurnover":2344797.0556,"tradeVolume":24343680,"value":403495.520700000000000000,"volume":4063399.000000000000000000},{"amount":113280.000000000000000000,"businessType":"swap","contractCode":"THETA-USDT","contractType":"swap","pair":"THETA-USDT","symbol":"THETA","tradeAmount":429140,"tradePartition":"USDT","tradeTurnover":429689.3132,"tradeVolume":42914,"value":111622.713600000000000000,"volume":11328.000000000000000000},{"amount":111287.000000000000000000,"businessType":"swap","contractCode":"NEAR-USDT","contractType":"swap","pair":"NEAR-USDT","symbol":"NEAR","tradeAmount":630486,"tradePartition":"USDT","tradeTurnover":1995078.078,"tradeVolume":630486,"value":334194.861000000000000000,"volume":111287.000000000000000000},{"amount":0E-18,"businessType":"swap","contractCode":"TOMO-USDT","contractType":"swap","pair":"TOMO-USDT","symbol":"TOMO","tradeAmount":0,"tradePartition":"USDT","tradeTurnover":0,"tradeVolume":0,"value":0,"volume":0},{"amount":0E-18,"businessType":"swap","contractCode":"MANTA-USDT","contractType":"swap","pair":"MANTA-USDT","symbol":"MANTA","tradeAmount":0,"tradePartition":"USDT","tradeTurnover":0,"tradeVolume":0,"value":0,"volume":0},{"amount":124846.000000000000000000,"businessType":"swap","contractCode":"FTT-USDT","contractType":"swap","pair":"FTT-USDT","symbol":"FTT","tradeAmount":4275.9,"tradePartition":"USDT","tradeTurnover":11923.4708,"tradeVolume":427590,"value":337583.584000000000000000,"volume":124846.000000000000000000},{"amount":1806360.000000000000000000,"businessType":"swap","contractCode":"SEI-USDT","contractType":"swap","pair":"SEI-USDT","symbol":"SEI","tradeAmount":8767754,"tradePartition":"USDT","tradeTurnover":6524992.0378,"tradeVolume":8767754,"value":1303108.104000000000000000,"volume":1806360.000000000000000000},{"amount":4621990.000000000000000000,"businessType":"swap","contractCode":"XRP-USDT","contractType":"swap","pair":"XRP-USDT","symbol":"XRP","tradeAmount":12601760,"tradePartition":"USDT","tradeTurnover":6999066.1712,"tradeVolume":1260176,"value":2527904.990700000000000000,"volume":462199.000000000000000000},{"amount":24197.100000000000000000,"businessType":"swap","contractCode":"CAKE-USDT","contractType":"swap","pair":"CAKE-USDT","symbol":"CAKE","tradeAmount":33964.8,"tradePartition":"USDT","tradeTurnover":93989.24718,"tradeVolume":339648,"value":66442.816890000000000000,"volume":241971.000000000000000000},{"amount":1004726000.000000000000000000,"businessType":"swap","contractCode":"RATS-USDT","contractType":"swap","pair":"RATS-USDT","symbol":"RATS","tradeAmount":18400788000,"tradePartition":"USDT","tradeTurnover":5173002.272,"tradeVolume":18400788,"value":270874.129600000000000000,"volume":1004726.000000000000000000},{"amount":10232.500000000000000000,"businessType":"swap","contractCode":"ENS-USDT","contractType":"swap","pair":"ENS-USDT","symbol":"ENS","tradeAmount":52173.4,"tradePartition":"USDT","tradeTurnover":1094330.4282,"tradeVolume":521734,"value":200505.837500000000000000,"volume":102325.000000000000000000},{"amount":27363000000.000000000000000000,"businessType":"swap","contractCode":"BTT-USDT","contractType":"swap","pair":"BTT-USDT","symbol":"BTT","tradeAmount":74236000000,"tradePartition":"USDT","tradeTurnover":72646.246,"tradeVolume":74236,"value":26596.836000000000000000,"volume":27363.000000000000000000},{"amount":110216.000000000000000000,"businessType":"swap","contractCode":"XAI-USDT","contractType":"swap","pair":"XAI-USDT","symbol":"XAI","tradeAmount":3939526,"tradePartition":"USDT","tradeTurnover":3811823.5354,"tradeVolume":3939526,"value":95722.596000000000000000,"volume":110216.000000000000000000},{"amount":660170000000000.000000000000000000,"businessType":"swap","contractCode":"AIDOGE-USDT","contractType":"swap","pair":"AIDOGE-USDT","symbol":"AIDOGE","tradeAmount":3346890000000000,"tradePartition":"USDT","tradeTurnover":536035.9144,"tradeVolume":3346890,"value":102986.520000000000000000,"volume":660170.000000000000000000},{"amount":4145190.000000000000000000,"businessType":"swap","contractCode":"MEME-USDT","contractType":"swap","pair":"MEME-USDT","symbol":"MEME","tradeAmount":166495020,"tradePartition":"USDT","tradeTurnover":4524252.89694,"tradeVolume":16649502,"value":102369.612240000000000000,"volume":414519.000000000000000000},{"amount":0E-18,"businessType":"swap","contractCode":"XETA-USDT","contractType":"swap","pair":"XETA-USDT","symbol":"XETA","tradeAmount":0,"tradePartition":"USDT","tradeTurnover":0,"tradeVolume":0,"value":0,"volume":0},{"amount":10189.400000000000000000,"businessType":"swap","contractCode":"LPT-USDT","contractType":"swap","pair":"LPT-USDT","symbol":"LPT","tradeAmount":1417.9,"tradePartition":"USDT","tradeTurnover":10493.07944,"tradeVolume":141790,"value":74158.453200000000000000,"volume":101894.000000000000000000},{"amount":3003.100000000000000000,"businessType":"swap","contractCode":"BNB-USDT","contractType":"swap","pair":"BNB-USDT","symbol":"BNB","tradeAmount":4379,"tradePartition":"USDT","tradeTurnover":1364420.0288,"tradeVolume":43790,"value":937021.255800000000000000,"volume":30031.000000000000000000},{"amount":3256110.000000000000000000,"businessType":"swap","contractCode":"USTC-USDT","contractType":"swap","pair":"USTC-USDT","symbol":"USTC","tradeAmount":43434420,"tradePartition":"USDT","tradeTurnover":1283020.1676,"tradeVolume":4343442,"value":89966.319300000000000000,"volume":325611.000000000000000000},{"amount":38159.700000000000000000,"businessType":"swap","contractCode":"GAL-USDT","contractType":"swap","pair":"GAL-USDT","symbol":"GAL","tradeAmount":37788.8,"tradePartition":"USDT","tradeTurnover":69226.72038,"tradeVolume":377888,"value":68191.383900000000000000,"volume":381597.000000000000000000},{"amount":5843000.000000000000000000,"businessType":"swap","contractCode":"ONE-USDT","contractType":"swap","pair":"ONE-USDT","symbol":"ONE","tradeAmount":4606800,"tradePartition":"USDT","tradeTurnover":69910.9202,"tradeVolume":46068,"value":86049.861000000000000000,"volume":58430.000000000000000000},{"amount":114620.000000000000000000,"businessType":"swap","contractCode":"SUSHI-USDT","contractType":"swap","pair":"SUSHI-USDT","symbol":"SUSHI","tradeAmount":452248,"tradePartition":"USDT","tradeTurnover":482842.6754,"tradeVolume":452248,"value":119858.134000000000000000,"volume":114620.000000000000000000},{"amount":22.047000000000000000,"businessType":"swap","contractCode":"MKR-USDT","contractType":"swap","pair":"MKR-USDT","symbol":"MKR","tradeAmount":345.1,"tradePartition":"USDT","tradeTurnover":687677.968,"tradeVolume":345100,"value":43683.925800000000000000,"volume":22047.000000000000000000},{"amount":41691.600000000000000000,"businessType":"swap","contractCode":"LTC-USDT","contractType":"swap","pair":"LTC-USDT","symbol":"LTC","tradeAmount":252492.2,"tradePartition":"USDT","tradeTurnover":17497098.4,"tradeVolume":2524922,"value":2855874.600000000000000000,"volume":416916.000000000000000000},{"amount":932780.000000000000000000,"businessType":"swap","contractCode":"TOKEN-USDT","contractType":"swap","pair":"TOKEN-USDT","symbol":"TOKEN","tradeAmount":2760880,"tradePartition":"USDT","tradeTurnover":75159.5218,"tradeVolume":276088,"value":24159.002000000000000000,"volume":93278.000000000000000000},{"amount":1989770000.000000000000000000,"businessType":"swap","contractCode":"FLOKI-USDT","contractType":"swap","pair":"FLOKI-USDT","symbol":"FLOKI","tradeAmount":737020000,"tradePartition":"USDT","tradeTurnover":21628.2578,"tradeVolume":73702,"value":57524.250700000000000000,"volume":198977.000000000000000000},{"amount":311136.000000000000000000,"businessType":"swap","contractCode":"AGIX-USDT","contractType":"swap","pair":"AGIX-USDT","symbol":"AGIX","tradeAmount":79892,"tradePartition":"USDT","tradeTurnover":21958.0338,"tradeVolume":79892,"value":83944.492800000000000000,"volume":311136.000000000000000000},{"amount":2391380.000000000000000000,"businessType":"swap","contractCode":"GALA-USDT","contractType":"swap","pair":"GALA-USDT","symbol":"GALA","tradeAmount":10070180,"tradePartition":"USDT","tradeTurnover":243101.7462,"tradeVolume":1007018,"value":56867.016400000000000000,"volume":239138.000000000000000000},{"amount":306350.000000000000000000,"businessType":"swap","contractCode":"CRV-USDT","contractType":"swap","pair":"CRV-USDT","symbol":"CRV","tradeAmount":225134,"tradePartition":"USDT","tradeTurnover":117081.1564,"tradeVolume":225134,"value":156483.580000000000000000,"volume":306350.000000000000000000},{"amount":552664.000000000000000000,"businessType":"swap","contractCode":"ARB-USDT","contractType":"swap","pair":"ARB-USDT","symbol":"ARB","tradeAmount":2017448,"tradePartition":"USDT","tradeTurnover":3834825.7386,"tradeVolume":2017448,"value":1031271.024000000000000000,"volume":552664.000000000000000000},{"amount":20934.000000000000000000,"businessType":"swap","contractCode":"AVAX-USDT","contractType":"swap","pair":"AVAX-USDT","symbol":"AVAX","tradeAmount":125442,"tradePartition":"USDT","tradeTurnover":4252601.6018,"tradeVolume":125442,"value":698569.673400000000000000,"volume":20934.000000000000000000},{"amount":10005.000000000000000000,"businessType":"swap","contractCode":"ARK-USDT","contractType":"swap","pair":"ARK-USDT","symbol":"ARK","tradeAmount":177674,"tradePartition":"USDT","tradeTurnover":145112.8264,"tradeVolume":177674,"value":7796.896500000000000000,"volume":10005.000000000000000000},{"amount":34355.000000000000000000,"businessType":"swap","contractCode":"SNX-USDT","contractType":"swap","pair":"SNX-USDT","symbol":"SNX","tradeAmount":94194,"tradePartition":"USDT","tradeTurnover":321217.4936,"tradeVolume":94194,"value":115944.689500000000000000,"volume":34355.000000000000000000},{"amount":4105670.000000000000000000,"businessType":"swap","contractCode":"XLM-USDT","contractType":"swap","pair":"XLM-USDT","symbol":"XLM","tradeAmount":410060,"tradePartition":"USDT","tradeTurnover":46734.7938,"tradeVolume":41006,"value":465090.297600000000000000,"volume":410567.000000000000000000},{"amount":107468.000000000000000000,"businessType":"swap","contractCode":"LINK-USDT","contractType":"swap","pair":"LINK-USDT","symbol":"LINK","tradeAmount":923606,"tradePartition":"USDT","tradeTurnover":13833247.277,"tradeVolume":9236060,"value":1607291.408000000000000000,"volume":1074680.000000000000000000},{"amount":34668.400000000000000000,"businessType":"swap","contractCode":"MASK-USDT","contractType":"swap","pair":"MASK-USDT","symbol":"MASK","tradeAmount":98164.6,"tradePartition":"USDT","tradeTurnover":346995.437,"tradeVolume":981646,"value":121547.410400000000000000,"volume":346684.000000000000000000},{"amount":1451.850000000000000000,"businessType":"swap","contractCode":"EGLD-USDT","contractType":"swap","pair":"EGLD-USDT","symbol":"EGLD","tradeAmount":1636.94,"tradePartition":"USDT","tradeTurnover":84922.3372,"tradeVolume":163694,"value":73841.091000000000000000,"volume":145185.000000000000000000},{"amount":33649.000000000000000000,"businessType":"swap","contractCode":"RNDR-USDT","contractType":"swap","pair":"RNDR-USDT","symbol":"RNDR","tradeAmount":164444,"tradePartition":"USDT","tradeTurnover":690727.3828,"tradeVolume":164444,"value":142900.573200000000000000,"volume":33649.000000000000000000},{"amount":125186.000000000000000000,"businessType":"swap","contractCode":"YGG-USDT","contractType":"swap","pair":"YGG-USDT","symbol":"YGG","tradeAmount":988150,"tradePartition":"USDT","tradeTurnover":529749.4164,"tradeVolume":988150,"value":63519.376400000000000000,"volume":125186.000000000000000000},{"amount":0.026370000000000000,"businessType":"swap","contractCode":"DOSE-USDT","contractType":"swap","pair":"DOSE-USDT","symbol":"DOSE","tradeAmount":0,"tradePartition":"USDT","tradeTurnover":0,"tradeVolume":0,"value":0.000055377000000000,"volume":2637.000000000000000000},{"amount":4353.400000000000000000,"businessType":"swap","contractCode":"INJ-USDT","contractType":"swap","pair":"INJ-USDT","symbol":"INJ","tradeAmount":12682.2,"tradePartition":"USDT","tradeTurnover":468450.0118,"tradeVolume":126822,"value":158350.571600000000000000,"volume":43534.000000000000000000},{"amount":830270000.000000000000000000,"businessType":"swap","contractCode":"WIN-USDT","contractType":"swap","pair":"WIN-USDT","symbol":"WIN","tradeAmount":1039440000,"tradePartition":"USDT","tradeTurnover":95913.3174,"tradeVolume":103944,"value":77049.056000000000000000,"volume":83027.000000000000000000},{"amount":71505.000000000000000000,"businessType":"swap","contractCode":"ATOM-USDT","contractType":"swap","pair":"ATOM-USDT","symbol":"ATOM","tradeAmount":100656,"tradePartition":"USDT","tradeTurnover":981896.4288,"tradeVolume":100656,"value":689293.899000000000000000,"volume":71505.000000000000000000},{"amount":26358.000000000000000000,"businessType":"swap","contractCode":"STX-USDT","contractType":"swap","pair":"STX-USDT","symbol":"STX","tradeAmount":177224,"tradePartition":"USDT","tradeTurnover":268389.6124,"tradeVolume":177224,"value":38393.062800000000000000,"volume":26358.000000000000000000},{"amount":32205.000000000000000000,"businessType":"swap","contractCode":"BNT-USDT","contractType":"swap","pair":"BNT-USDT","symbol":"BNT","tradeAmount":49850,"tradePartition":"USDT","tradeTurnover":37101.4448,"tradeVolume":49850,"value":23648.131500000000000000,"volume":32205.000000000000000000}],"status":"ok","ts":1705653223344} +2024-01-19 16:41:22.646 [DEBUG] [main] [com.huobi.api.service.usdt.market.MarketAPIServiceImpl.getSwapInsuranceFund:301] - body:{"status":"ok","data":{"total_page":12,"current_page":1,"total_size":1183,"symbol":"BTC","contract_code":"BTC-USDT","tick":[{"insurance_fund":232335164.054127619518501667,"ts":1705564800000},{"insurance_fund":232298957.591503426613724059,"ts":1705478400000},{"insurance_fund":232275945.896658184438787394,"ts":1705392000000},{"insurance_fund":232252137.605051135777224091,"ts":1705305600000},{"insurance_fund":232216983.215859069486268280,"ts":1705219200000},{"insurance_fund":232200823.761183168508192225,"ts":1705132800000},{"insurance_fund":232125895.205191572082150390,"ts":1705046400000},{"insurance_fund":232077015.353936503938134448,"ts":1704960000000},{"insurance_fund":232005782.777014284646956414,"ts":1704873600000},{"insurance_fund":231974512.767706014066493953,"ts":1704787200000},{"insurance_fund":231914192.308322438159491746,"ts":1704700800000},{"insurance_fund":231848746.485520723234815902,"ts":1704614400000},{"insurance_fund":231836446.469260617259829973,"ts":1704528000000},{"insurance_fund":231785971.241423618008030645,"ts":1704441600000},{"insurance_fund":231736333.751505418197787070,"ts":1704355200000},{"insurance_fund":230874969.873094217054208324,"ts":1704268800000},{"insurance_fund":230836086.211678801057754870,"ts":1704182400000},{"insurance_fund":230789941.196423763659777346,"ts":1704096000000},{"insurance_fund":230681587.580221283582866266,"ts":1704009600000},{"insurance_fund":230657920.768645087007970148,"ts":1703923200000},{"insurance_fund":230605535.007842504731797750,"ts":1703836800000},{"insurance_fund":230563510.295342112654265047,"ts":1703750400000},{"insurance_fund":230505853.600698726464421446,"ts":1703664000000},{"insurance_fund":230429070.046369919850752135,"ts":1703577600000},{"insurance_fund":230283943.319885053560616315,"ts":1703491200000},{"insurance_fund":230255724.204971708198145604,"ts":1703404800000},{"insurance_fund":230231069.925832134676971563,"ts":1703318400000},{"insurance_fund":230189308.794273848775801624,"ts":1703232000000},{"insurance_fund":230120444.362963410659556366,"ts":1703145600000},{"insurance_fund":230059489.649642129939232668,"ts":1703059200000},{"insurance_fund":230014497.551815622735622626,"ts":1702972800000},{"insurance_fund":229947602.425100163474231585,"ts":1702886400000},{"insurance_fund":229910297.371178518420486078,"ts":1702800000000},{"insurance_fund":229883766.856209765701293113,"ts":1702713600000},{"insurance_fund":229839100.471100518280478812,"ts":1702627200000},{"insurance_fund":229786803.838397000845708210,"ts":1702540800000},{"insurance_fund":229725281.283238541403869028,"ts":1702454400000},{"insurance_fund":229681231.365865201015603532,"ts":1702368000000},{"insurance_fund":229626618.050204219282808893,"ts":1702281600000},{"insurance_fund":229503037.675897753562558722,"ts":1702195200000},{"insurance_fund":229452995.408605939594788946,"ts":1702108800000},{"insurance_fund":229372611.564617425012383677,"ts":1702022400000},{"insurance_fund":229303992.551643668886517232,"ts":1701936000000},{"insurance_fund":229248076.065814754788685479,"ts":1701849600000},{"insurance_fund":229104289.460691746641534220,"ts":1701763200000},{"insurance_fund":229048947.017546933039269776,"ts":1701676800000},{"insurance_fund":228973130.925075976259436725,"ts":1701590400000},{"insurance_fund":228929996.443193546390733145,"ts":1701504000000},{"insurance_fund":228906393.296515904212346220,"ts":1701417600000},{"insurance_fund":228891206.993106735762257464,"ts":1701331200000},{"insurance_fund":228875839.302968798159260334,"ts":1701244800000},{"insurance_fund":228847201.384576722991610692,"ts":1701158400000},{"insurance_fund":228818344.282626804783782399,"ts":1701072000000},{"insurance_fund":228788493.921614956428518092,"ts":1700985600000},{"insurance_fund":228777277.717614619561661540,"ts":1700899200000},{"insurance_fund":228751161.716654165159784887,"ts":1700812800000},{"insurance_fund":228735997.694592527463183351,"ts":1700726400000},{"insurance_fund":228704924.172920231562943860,"ts":1700640000000},{"insurance_fund":228639125.241906312412848644,"ts":1700553600000},{"insurance_fund":228611517.180412667174633026,"ts":1700467200000},{"insurance_fund":228589668.063612333960875260,"ts":1700380800000},{"insurance_fund":228575922.858454668159993432,"ts":1700294400000},{"insurance_fund":228514933.961476344453618702,"ts":1700208000000},{"insurance_fund":228482234.842574265269118994,"ts":1700121600000},{"insurance_fund":228411947.757132051909635280,"ts":1700035200000},{"insurance_fund":228366240.707190335681452802,"ts":1699948800000},{"insurance_fund":228325753.863079457549440206,"ts":1699862400000},{"insurance_fund":228280295.933349229044849860,"ts":1699776000000},{"insurance_fund":228246072.599417202289659132,"ts":1699689600000},{"insurance_fund":228177777.448288350968824739,"ts":1699603200000},{"insurance_fund":228064615.181513563246250162,"ts":1699516800000},{"insurance_fund":228014053.157715027298499802,"ts":1699430400000},{"insurance_fund":227985470.370859358487463899,"ts":1699344000000},{"insurance_fund":227958876.814131520032369304,"ts":1699257600000},{"insurance_fund":227876112.008873817860799594,"ts":1699171200000},{"insurance_fund":227827072.449547334759182579,"ts":1699084800000},{"insurance_fund":227798339.882863828509249229,"ts":1698998400000},{"insurance_fund":227754445.423088261637319411,"ts":1698912000000},{"insurance_fund":227692207.346323532248595871,"ts":1698825600000},{"insurance_fund":227669980.583217583025173977,"ts":1698739200000},{"insurance_fund":227636017.393436034596730977,"ts":1698652800000},{"insurance_fund":227617759.892019294774287237,"ts":1698566400000},{"insurance_fund":227608705.756178046952683114,"ts":1698480000000},{"insurance_fund":227590900.200508123689455266,"ts":1698393600000},{"insurance_fund":227562833.557608464266371573,"ts":1698307200000},{"insurance_fund":227530124.999814570546390803,"ts":1698220800000},{"insurance_fund":227485258.476089721215704054,"ts":1698134400000},{"insurance_fund":227502007.156571076342935503,"ts":1698048000000},{"insurance_fund":227467086.829663621016879343,"ts":1697961600000},{"insurance_fund":227443897.507686680754349626,"ts":1697875200000},{"insurance_fund":227412956.889064381408874348,"ts":1697788800000},{"insurance_fund":227380025.584937241220291603,"ts":1697702400000},{"insurance_fund":227361263.472617909863401124,"ts":1697616000000},{"insurance_fund":227331333.864795544041978798,"ts":1697529600000},{"insurance_fund":227280684.164866259819287077,"ts":1697443200000},{"insurance_fund":227284932.535064700705051335,"ts":1697356800000},{"insurance_fund":227278742.096150274137815146,"ts":1697270400000},{"insurance_fund":227269586.264709586717705980,"ts":1697184000000},{"insurance_fund":227254156.880416423736304737,"ts":1697097600000},{"insurance_fund":227240304.339513299357062657,"ts":1697011200000}],"business_type":"swap","pair":"BTC-USDT","trade_partition":"USDT"},"ts":1705653671609} +2024-01-19 16:43:16.832 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.getSwapInsuranceFundResponse:101] - 11.查询合约风险准备金余额历史数据:{"data":[{"businessType":"swap","contractCode":"BTC-USDT","currentPage":1,"pair":"BTC-USDT","symbol":"BTC","tick":[{"insuranceFund":232335164.054127619518501667,"ts":1705564800000},{"insuranceFund":232298957.591503426613724059,"ts":1705478400000},{"insuranceFund":232275945.896658184438787394,"ts":1705392000000},{"insuranceFund":232252137.605051135777224091,"ts":1705305600000},{"insuranceFund":232216983.215859069486268280,"ts":1705219200000},{"insuranceFund":232200823.761183168508192225,"ts":1705132800000},{"insuranceFund":232125895.205191572082150390,"ts":1705046400000},{"insuranceFund":232077015.353936503938134448,"ts":1704960000000},{"insuranceFund":232005782.777014284646956414,"ts":1704873600000},{"insuranceFund":231974512.767706014066493953,"ts":1704787200000},{"insuranceFund":231914192.308322438159491746,"ts":1704700800000},{"insuranceFund":231848746.485520723234815902,"ts":1704614400000},{"insuranceFund":231836446.469260617259829973,"ts":1704528000000},{"insuranceFund":231785971.241423618008030645,"ts":1704441600000},{"insuranceFund":231736333.751505418197787070,"ts":1704355200000},{"insuranceFund":230874969.873094217054208324,"ts":1704268800000},{"insuranceFund":230836086.211678801057754870,"ts":1704182400000},{"insuranceFund":230789941.196423763659777346,"ts":1704096000000},{"insuranceFund":230681587.580221283582866266,"ts":1704009600000},{"insuranceFund":230657920.768645087007970148,"ts":1703923200000},{"insuranceFund":230605535.007842504731797750,"ts":1703836800000},{"insuranceFund":230563510.295342112654265047,"ts":1703750400000},{"insuranceFund":230505853.600698726464421446,"ts":1703664000000},{"insuranceFund":230429070.046369919850752135,"ts":1703577600000},{"insuranceFund":230283943.319885053560616315,"ts":1703491200000},{"insuranceFund":230255724.204971708198145604,"ts":1703404800000},{"insuranceFund":230231069.925832134676971563,"ts":1703318400000},{"insuranceFund":230189308.794273848775801624,"ts":1703232000000},{"insuranceFund":230120444.362963410659556366,"ts":1703145600000},{"insuranceFund":230059489.649642129939232668,"ts":1703059200000},{"insuranceFund":230014497.551815622735622626,"ts":1702972800000},{"insuranceFund":229947602.425100163474231585,"ts":1702886400000},{"insuranceFund":229910297.371178518420486078,"ts":1702800000000},{"insuranceFund":229883766.856209765701293113,"ts":1702713600000},{"insuranceFund":229839100.471100518280478812,"ts":1702627200000},{"insuranceFund":229786803.838397000845708210,"ts":1702540800000},{"insuranceFund":229725281.283238541403869028,"ts":1702454400000},{"insuranceFund":229681231.365865201015603532,"ts":1702368000000},{"insuranceFund":229626618.050204219282808893,"ts":1702281600000},{"insuranceFund":229503037.675897753562558722,"ts":1702195200000},{"insuranceFund":229452995.408605939594788946,"ts":1702108800000},{"insuranceFund":229372611.564617425012383677,"ts":1702022400000},{"insuranceFund":229303992.551643668886517232,"ts":1701936000000},{"insuranceFund":229248076.065814754788685479,"ts":1701849600000},{"insuranceFund":229104289.460691746641534220,"ts":1701763200000},{"insuranceFund":229048947.017546933039269776,"ts":1701676800000},{"insuranceFund":228973130.925075976259436725,"ts":1701590400000},{"insuranceFund":228929996.443193546390733145,"ts":1701504000000},{"insuranceFund":228906393.296515904212346220,"ts":1701417600000},{"insuranceFund":228891206.993106735762257464,"ts":1701331200000},{"insuranceFund":228875839.302968798159260334,"ts":1701244800000},{"insuranceFund":228847201.384576722991610692,"ts":1701158400000},{"insuranceFund":228818344.282626804783782399,"ts":1701072000000},{"insuranceFund":228788493.921614956428518092,"ts":1700985600000},{"insuranceFund":228777277.717614619561661540,"ts":1700899200000},{"insuranceFund":228751161.716654165159784887,"ts":1700812800000},{"insuranceFund":228735997.694592527463183351,"ts":1700726400000},{"insuranceFund":228704924.172920231562943860,"ts":1700640000000},{"insuranceFund":228639125.241906312412848644,"ts":1700553600000},{"insuranceFund":228611517.180412667174633026,"ts":1700467200000},{"insuranceFund":228589668.063612333960875260,"ts":1700380800000},{"insuranceFund":228575922.858454668159993432,"ts":1700294400000},{"insuranceFund":228514933.961476344453618702,"ts":1700208000000},{"insuranceFund":228482234.842574265269118994,"ts":1700121600000},{"insuranceFund":228411947.757132051909635280,"ts":1700035200000},{"insuranceFund":228366240.707190335681452802,"ts":1699948800000},{"insuranceFund":228325753.863079457549440206,"ts":1699862400000},{"insuranceFund":228280295.933349229044849860,"ts":1699776000000},{"insuranceFund":228246072.599417202289659132,"ts":1699689600000},{"insuranceFund":228177777.448288350968824739,"ts":1699603200000},{"insuranceFund":228064615.181513563246250162,"ts":1699516800000},{"insuranceFund":228014053.157715027298499802,"ts":1699430400000},{"insuranceFund":227985470.370859358487463899,"ts":1699344000000},{"insuranceFund":227958876.814131520032369304,"ts":1699257600000},{"insuranceFund":227876112.008873817860799594,"ts":1699171200000},{"insuranceFund":227827072.449547334759182579,"ts":1699084800000},{"insuranceFund":227798339.882863828509249229,"ts":1698998400000},{"insuranceFund":227754445.423088261637319411,"ts":1698912000000},{"insuranceFund":227692207.346323532248595871,"ts":1698825600000},{"insuranceFund":227669980.583217583025173977,"ts":1698739200000},{"insuranceFund":227636017.393436034596730977,"ts":1698652800000},{"insuranceFund":227617759.892019294774287237,"ts":1698566400000},{"insuranceFund":227608705.756178046952683114,"ts":1698480000000},{"insuranceFund":227590900.200508123689455266,"ts":1698393600000},{"insuranceFund":227562833.557608464266371573,"ts":1698307200000},{"insuranceFund":227530124.999814570546390803,"ts":1698220800000},{"insuranceFund":227485258.476089721215704054,"ts":1698134400000},{"insuranceFund":227502007.156571076342935503,"ts":1698048000000},{"insuranceFund":227467086.829663621016879343,"ts":1697961600000},{"insuranceFund":227443897.507686680754349626,"ts":1697875200000},{"insuranceFund":227412956.889064381408874348,"ts":1697788800000},{"insuranceFund":227380025.584937241220291603,"ts":1697702400000},{"insuranceFund":227361263.472617909863401124,"ts":1697616000000},{"insuranceFund":227331333.864795544041978798,"ts":1697529600000},{"insuranceFund":227280684.164866259819287077,"ts":1697443200000},{"insuranceFund":227284932.535064700705051335,"ts":1697356800000},{"insuranceFund":227278742.096150274137815146,"ts":1697270400000},{"insuranceFund":227269586.264709586717705980,"ts":1697184000000},{"insuranceFund":227254156.880416423736304737,"ts":1697097600000},{"insuranceFund":227240304.339513299357062657,"ts":1697011200000}],"totalPage":12,"totalSize":1183,"tradePartition":"USDT"}],"status":"ok","ts":1705653671609} +2024-01-19 16:49:24.696 [DEBUG] [main] [com.huobi.api.service.usdt.market.MarketAPIServiceImpl.getSwapHisOpenInterest:357] - body:{"status":"ok","data":{"symbol":"BTC","tick":[{"volume":1919075.0000000000000000,"amount_type":1,"ts":1705651200000,"value":79252424.09000000000000000000000000000000000},{"volume":1923590.0000000000000000,"amount_type":1,"ts":1705647600000,"value":79438880.94800000000000000000000000000000000},{"volume":1925242.0000000000000000,"amount_type":1,"ts":1705644000000,"value":79507103.92240000000000000000000000000000000},{"volume":1918106.0000000000000000,"amount_type":1,"ts":1705640400000,"value":79212407.10320000000000000000000000000000000},{"volume":1901838.0000000000000000,"amount_type":1,"ts":1705636800000,"value":78540584.25360000000000000000000000000000000},{"volume":1877547.0000000000000000,"amount_type":1,"ts":1705633200000,"value":77537433.96840000000000000000000000000000000},{"volume":1872321.0000000000000000,"amount_type":1,"ts":1705629600000,"value":77321614.80120000000000000000000000000000000},{"volume":1873160.0000000000000000,"amount_type":1,"ts":1705626000000,"value":77356263.15200000000000000000000000000000000},{"volume":1875037.0000000000000000,"amount_type":1,"ts":1705622400000,"value":77433777.99640000000000000000000000000000000},{"volume":1861228.0000000000000000,"amount_type":1,"ts":1705618800000,"value":76863504.96160000000000000000000000000000000}],"contract_code":"BTC-USDT","business_type":"swap","pair":"BTC-USDT","contract_type":"swap","trade_partition":"USDT"},"ts":1705654150019} +2024-01-19 16:50:12.329 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.getSwapHisOpenInterestResponse:113] - 13.平台持仓量的查询:{"data":[{"businessType":"swap","contractCode":"BTC-USDT","contractType":"swap","pair":"BTC-USDT","symbol":"BTC","tick":[{"amountType":1,"ts":1705651200000,"value":79252424.09000000000000000000000000000000000,"volume":1919075.0000000000000000},{"amountType":1,"ts":1705647600000,"value":79438880.94800000000000000000000000000000000,"volume":1923590.0000000000000000},{"amountType":1,"ts":1705644000000,"value":79507103.92240000000000000000000000000000000,"volume":1925242.0000000000000000},{"amountType":1,"ts":1705640400000,"value":79212407.10320000000000000000000000000000000,"volume":1918106.0000000000000000},{"amountType":1,"ts":1705636800000,"value":78540584.25360000000000000000000000000000000,"volume":1901838.0000000000000000},{"amountType":1,"ts":1705633200000,"value":77537433.96840000000000000000000000000000000,"volume":1877547.0000000000000000},{"amountType":1,"ts":1705629600000,"value":77321614.80120000000000000000000000000000000,"volume":1872321.0000000000000000},{"amountType":1,"ts":1705626000000,"value":77356263.15200000000000000000000000000000000,"volume":1873160.0000000000000000},{"amountType":1,"ts":1705622400000,"value":77433777.99640000000000000000000000000000000,"volume":1875037.0000000000000000},{"amountType":1,"ts":1705618800000,"value":76863504.96160000000000000000000000000000000,"volume":1861228.0000000000000000}],"tradePartition":"USDT"}],"status":"ok","ts":1705654150019} +2024-01-19 16:50:34.152 [DEBUG] [main] [com.huobi.api.service.usdt.market.MarketAPIServiceImpl.getSwapApiState:418] - body:{"status":"ok","data":[{"symbol":"MANA","contract_code":"MANA-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"MANA-USDT","trade_partition":"USDT"},{"symbol":"SATS","contract_code":"SATS-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"SATS-USDT","trade_partition":"USDT"},{"symbol":"CHZ","contract_code":"CHZ-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"CHZ-USDT","trade_partition":"USDT"},{"symbol":"DOT","contract_code":"DOT-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"DOT-USDT","trade_partition":"USDT"},{"symbol":"POLYX","contract_code":"POLYX-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"POLYX-USDT","trade_partition":"USDT"},{"symbol":"QRDO","contract_code":"QRDO-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"QRDO-USDT","trade_partition":"USDT"},{"symbol":"MINA","contract_code":"MINA-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"MINA-USDT","trade_partition":"USDT"},{"symbol":"EOS","contract_code":"EOS-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"EOS-USDT","trade_partition":"USDT"},{"symbol":"ACE","contract_code":"ACE-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"ACE-USDT","trade_partition":"USDT"},{"symbol":"LUNA","contract_code":"LUNA-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"LUNA-USDT","trade_partition":"USDT"},{"symbol":"GRT","contract_code":"GRT-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"GRT-USDT","trade_partition":"USDT"},{"symbol":"UNB","contract_code":"UNB-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"UNB-USDT","trade_partition":"USDT"},{"symbol":"CVX","contract_code":"CVX-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"CVX-USDT","trade_partition":"USDT"},{"symbol":"STEEM","contract_code":"STEEM-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"STEEM-USDT","trade_partition":"USDT"},{"symbol":"JTO","contract_code":"JTO-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"JTO-USDT","trade_partition":"USDT"},{"symbol":"WLD","contract_code":"WLD-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"WLD-USDT","trade_partition":"USDT"},{"symbol":"OP","contract_code":"OP-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"OP-USDT","trade_partition":"USDT"},{"symbol":"ORDI","contract_code":"ORDI-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"ORDI-USDT","trade_partition":"USDT"},{"symbol":"FSN","contract_code":"FSN-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"FSN-USDT","trade_partition":"USDT"},{"symbol":"BLUR","contract_code":"BLUR-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"BLUR-USDT","trade_partition":"USDT"},{"symbol":"LUNC","contract_code":"LUNC-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"LUNC-USDT","trade_partition":"USDT"},{"symbol":"SSV","contract_code":"SSV-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"SSV-USDT","trade_partition":"USDT"},{"symbol":"IOTA","contract_code":"IOTA-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"IOTA-USDT","trade_partition":"USDT"},{"symbol":"KSM","contract_code":"KSM-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"KSM-USDT","trade_partition":"USDT"},{"symbol":"SUI","contract_code":"SUI-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"SUI-USDT","trade_partition":"USDT"},{"symbol":"BONK","contract_code":"BONK-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"BONK-USDT","trade_partition":"USDT"},{"symbol":"ICP","contract_code":"ICP-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"ICP-USDT","trade_partition":"USDT"},{"symbol":"ETH","contract_code":"ETH-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"ETH-USDT","trade_partition":"USDT"},{"symbol":"RDNT","contract_code":"RDNT-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"RDNT-USDT","trade_partition":"USDT"},{"symbol":"STORJ","contract_code":"STORJ-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"STORJ-USDT","trade_partition":"USDT"},{"symbol":"GMT","contract_code":"GMT-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"GMT-USDT","trade_partition":"USDT"},{"symbol":"STG","contract_code":"STG-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"STG-USDT","trade_partition":"USDT"},{"symbol":"TENET","contract_code":"TENET-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"TENET-USDT","trade_partition":"USDT"},{"symbol":"BSV","contract_code":"BSV-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"BSV-USDT","trade_partition":"USDT"},{"symbol":"BTC","contract_code":"BTC-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"BTC-USDT","trade_partition":"USDT"},{"symbol":"WOO","contract_code":"WOO-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"WOO-USDT","trade_partition":"USDT"},{"symbol":"XMR","contract_code":"XMR-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"XMR-USDT","trade_partition":"USDT"},{"symbol":"AXS","contract_code":"AXS-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"AXS-USDT","trade_partition":"USDT"},{"symbol":"LINA","contract_code":"LINA-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"LINA-USDT","trade_partition":"USDT"},{"symbol":"ETC","contract_code":"ETC-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"ETC-USDT","trade_partition":"USDT"},{"symbol":"MPLX","contract_code":"MPLX-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"MPLX-USDT","trade_partition":"USDT"},{"symbol":"PEOPLE","contract_code":"PEOPLE-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"PEOPLE-USDT","trade_partition":"USDT"},{"symbol":"FTM","contract_code":"FTM-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"FTM-USDT","trade_partition":"USDT"},{"symbol":"ACH","contract_code":"ACH-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"ACH-USDT","trade_partition":"USDT"},{"symbol":"APE","contract_code":"APE-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"APE-USDT","trade_partition":"USDT"},{"symbol":"BCH","contract_code":"BCH-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"BCH-USDT","trade_partition":"USDT"},{"symbol":"BIGTIME","contract_code":"BIGTIME-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"BIGTIME-USDT","trade_partition":"USDT"},{"symbol":"OPUL","contract_code":"OPUL-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"OPUL-USDT","trade_partition":"USDT"},{"symbol":"METIS","contract_code":"METIS-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"METIS-USDT","trade_partition":"USDT"},{"symbol":"IMX","contract_code":"IMX-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"IMX-USDT","trade_partition":"USDT"},{"symbol":"DUSK","contract_code":"DUSK-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"DUSK-USDT","trade_partition":"USDT"},{"symbol":"KAVA","contract_code":"KAVA-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"KAVA-USDT","trade_partition":"USDT"},{"symbol":"COMP","contract_code":"COMP-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"COMP-USDT","trade_partition":"USDT"},{"symbol":"ALGO","contract_code":"ALGO-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"ALGO-USDT","trade_partition":"USDT"},{"symbol":"CYBER","contract_code":"CYBER-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"CYBER-USDT","trade_partition":"USDT"},{"symbol":"WAVES","contract_code":"WAVES-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"WAVES-USDT","trade_partition":"USDT"},{"symbol":"APT","contract_code":"APT-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"APT-USDT","trade_partition":"USDT"},{"symbol":"MTL","contract_code":"MTL-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"MTL-USDT","trade_partition":"USDT"},{"symbol":"FRONT","contract_code":"FRONT-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"FRONT-USDT","trade_partition":"USDT"},{"symbol":"GAS","contract_code":"GAS-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"GAS-USDT","trade_partition":"USDT"},{"symbol":"TRX","contract_code":"TRX-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"TRX-USDT","trade_partition":"USDT"},{"symbol":"LRC","contract_code":"LRC-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"LRC-USDT","trade_partition":"USDT"},{"symbol":"GARI","contract_code":"GARI-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"GARI-USDT","trade_partition":"USDT"},{"symbol":"DYDX","contract_code":"DYDX-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"DYDX-USDT","trade_partition":"USDT"},{"symbol":"TIA","contract_code":"TIA-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"TIA-USDT","trade_partition":"USDT"},{"symbol":"SAND","contract_code":"SAND-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"SAND-USDT","trade_partition":"USDT"},{"symbol":"ADA","contract_code":"ADA-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"ADA-USDT","trade_partition":"USDT"},{"symbol":"LADYS","contract_code":"LADYS-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"LADYS-USDT","trade_partition":"USDT"},{"symbol":"SHIB","contract_code":"SHIB-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"SHIB-USDT","trade_partition":"USDT"},{"symbol":"SNT","contract_code":"SNT-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"SNT-USDT","trade_partition":"USDT"},{"symbol":"BAKE","contract_code":"BAKE-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"BAKE-USDT","trade_partition":"USDT"},{"symbol":"CFX","contract_code":"CFX-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"CFX-USDT","trade_partition":"USDT"},{"symbol":"SOL","contract_code":"SOL-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"SOL-USDT","trade_partition":"USDT"},{"symbol":"PYTH","contract_code":"PYTH-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"PYTH-USDT","trade_partition":"USDT"},{"symbol":"YFI","contract_code":"YFI-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"YFI-USDT","trade_partition":"USDT"},{"symbol":"LDO","contract_code":"LDO-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"LDO-USDT","trade_partition":"USDT"},{"symbol":"UNI","contract_code":"UNI-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"UNI-USDT","trade_partition":"USDT"},{"symbol":"BLZ","contract_code":"BLZ-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"BLZ-USDT","trade_partition":"USDT"},{"symbol":"PEPE","contract_code":"PEPE-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"PEPE-USDT","trade_partition":"USDT"},{"symbol":"FIL","contract_code":"FIL-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"FIL-USDT","trade_partition":"USDT"},{"symbol":"CORE","contract_code":"CORE-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"CORE-USDT","trade_partition":"USDT"},{"symbol":"SDAO","contract_code":"SDAO-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"SDAO-USDT","trade_partition":"USDT"},{"symbol":"AI","contract_code":"AI-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"AI-USDT","trade_partition":"USDT"},{"symbol":"FET","contract_code":"FET-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"FET-USDT","trade_partition":"USDT"},{"symbol":"TON","contract_code":"TON-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"TON-USDT","trade_partition":"USDT"},{"symbol":"JST","contract_code":"JST-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"JST-USDT","trade_partition":"USDT"},{"symbol":"RLY","contract_code":"RLY-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"RLY-USDT","trade_partition":"USDT"},{"symbol":"AAVE","contract_code":"AAVE-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"AAVE-USDT","trade_partition":"USDT"},{"symbol":"1INCH","contract_code":"1INCH-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"1INCH-USDT","trade_partition":"USDT"},{"symbol":"TRB","contract_code":"TRB-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"TRB-USDT","trade_partition":"USDT"},{"symbol":"MATIC","contract_code":"MATIC-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"MATIC-USDT","trade_partition":"USDT"},{"symbol":"OGN","contract_code":"OGN-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"OGN-USDT","trade_partition":"USDT"},{"symbol":"DOGE","contract_code":"DOGE-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"DOGE-USDT","trade_partition":"USDT"},{"symbol":"LOOM","contract_code":"LOOM-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"LOOM-USDT","trade_partition":"USDT"},{"symbol":"THETA","contract_code":"THETA-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"THETA-USDT","trade_partition":"USDT"},{"symbol":"NEAR","contract_code":"NEAR-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"NEAR-USDT","trade_partition":"USDT"},{"symbol":"TOMO","contract_code":"TOMO-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"TOMO-USDT","trade_partition":"USDT"},{"symbol":"MANTA","contract_code":"MANTA-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"MANTA-USDT","trade_partition":"USDT"},{"symbol":"FTT","contract_code":"FTT-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"FTT-USDT","trade_partition":"USDT"},{"symbol":"SEI","contract_code":"SEI-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"SEI-USDT","trade_partition":"USDT"},{"symbol":"XRP","contract_code":"XRP-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"XRP-USDT","trade_partition":"USDT"},{"symbol":"CAKE","contract_code":"CAKE-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"CAKE-USDT","trade_partition":"USDT"},{"symbol":"RATS","contract_code":"RATS-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"RATS-USDT","trade_partition":"USDT"},{"symbol":"ENS","contract_code":"ENS-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"ENS-USDT","trade_partition":"USDT"},{"symbol":"BTT","contract_code":"BTT-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"BTT-USDT","trade_partition":"USDT"},{"symbol":"XAI","contract_code":"XAI-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"XAI-USDT","trade_partition":"USDT"},{"symbol":"AIDOGE","contract_code":"AIDOGE-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"AIDOGE-USDT","trade_partition":"USDT"},{"symbol":"MEME","contract_code":"MEME-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"MEME-USDT","trade_partition":"USDT"},{"symbol":"XETA","contract_code":"XETA-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"XETA-USDT","trade_partition":"USDT"},{"symbol":"LPT","contract_code":"LPT-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"LPT-USDT","trade_partition":"USDT"},{"symbol":"BNB","contract_code":"BNB-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"BNB-USDT","trade_partition":"USDT"},{"symbol":"USTC","contract_code":"USTC-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"USTC-USDT","trade_partition":"USDT"},{"symbol":"GAL","contract_code":"GAL-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"GAL-USDT","trade_partition":"USDT"},{"symbol":"ONE","contract_code":"ONE-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"ONE-USDT","trade_partition":"USDT"},{"symbol":"SUSHI","contract_code":"SUSHI-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"SUSHI-USDT","trade_partition":"USDT"},{"symbol":"MKR","contract_code":"MKR-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"MKR-USDT","trade_partition":"USDT"},{"symbol":"LTC","contract_code":"LTC-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"LTC-USDT","trade_partition":"USDT"},{"symbol":"TOKEN","contract_code":"TOKEN-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"TOKEN-USDT","trade_partition":"USDT"},{"symbol":"FLOKI","contract_code":"FLOKI-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"FLOKI-USDT","trade_partition":"USDT"},{"symbol":"AGIX","contract_code":"AGIX-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"AGIX-USDT","trade_partition":"USDT"},{"symbol":"GALA","contract_code":"GALA-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"GALA-USDT","trade_partition":"USDT"},{"symbol":"CRV","contract_code":"CRV-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"CRV-USDT","trade_partition":"USDT"},{"symbol":"ARB","contract_code":"ARB-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"ARB-USDT","trade_partition":"USDT"},{"symbol":"AVAX","contract_code":"AVAX-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"AVAX-USDT","trade_partition":"USDT"},{"symbol":"ARK","contract_code":"ARK-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"ARK-USDT","trade_partition":"USDT"},{"symbol":"SNX","contract_code":"SNX-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"SNX-USDT","trade_partition":"USDT"},{"symbol":"XLM","contract_code":"XLM-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"XLM-USDT","trade_partition":"USDT"},{"symbol":"LINK","contract_code":"LINK-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"LINK-USDT","trade_partition":"USDT"},{"symbol":"MASK","contract_code":"MASK-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"MASK-USDT","trade_partition":"USDT"},{"symbol":"EGLD","contract_code":"EGLD-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"EGLD-USDT","trade_partition":"USDT"},{"symbol":"RNDR","contract_code":"RNDR-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"RNDR-USDT","trade_partition":"USDT"},{"symbol":"YGG","contract_code":"YGG-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"YGG-USDT","trade_partition":"USDT"},{"symbol":"DOSE","contract_code":"DOSE-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"DOSE-USDT","trade_partition":"USDT"},{"symbol":"INJ","contract_code":"INJ-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"INJ-USDT","trade_partition":"USDT"},{"symbol":"WIN","contract_code":"WIN-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"WIN-USDT","trade_partition":"USDT"},{"symbol":"ATOM","contract_code":"ATOM-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"ATOM-USDT","trade_partition":"USDT"},{"symbol":"STX","contract_code":"STX-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"STX-USDT","trade_partition":"USDT"},{"symbol":"BNT","contract_code":"BNT-USDT","open":0,"close":1,"cancel":1,"transfer_in":0,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1,"margin_mode":"isolated","margin_account":"BNT-USDT","trade_partition":"USDT"}],"ts":1705654233980} +2024-01-19 16:50:34.273 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.getSwapApiStateResponse:131] - 16.查询系统状态:{"data":[{"cancel":1,"close":1,"contractCode":"MANA-USDT","marginAccount":"MANA-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"MANA","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"SATS-USDT","marginAccount":"SATS-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"SATS","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"CHZ-USDT","marginAccount":"CHZ-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"CHZ","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"DOT-USDT","marginAccount":"DOT-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"DOT","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"POLYX-USDT","marginAccount":"POLYX-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"POLYX","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"QRDO-USDT","marginAccount":"QRDO-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"QRDO","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"MINA-USDT","marginAccount":"MINA-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"MINA","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"EOS-USDT","marginAccount":"EOS-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"EOS","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"ACE-USDT","marginAccount":"ACE-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"ACE","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"LUNA-USDT","marginAccount":"LUNA-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"LUNA","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"GRT-USDT","marginAccount":"GRT-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"GRT","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"UNB-USDT","marginAccount":"UNB-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"UNB","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"CVX-USDT","marginAccount":"CVX-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"CVX","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"STEEM-USDT","marginAccount":"STEEM-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"STEEM","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"JTO-USDT","marginAccount":"JTO-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"JTO","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"WLD-USDT","marginAccount":"WLD-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"WLD","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"OP-USDT","marginAccount":"OP-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"OP","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"ORDI-USDT","marginAccount":"ORDI-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"ORDI","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"FSN-USDT","marginAccount":"FSN-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"FSN","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"BLUR-USDT","marginAccount":"BLUR-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"BLUR","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"LUNC-USDT","marginAccount":"LUNC-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"LUNC","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"SSV-USDT","marginAccount":"SSV-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"SSV","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"IOTA-USDT","marginAccount":"IOTA-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"IOTA","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"KSM-USDT","marginAccount":"KSM-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"KSM","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"SUI-USDT","marginAccount":"SUI-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"SUI","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"BONK-USDT","marginAccount":"BONK-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"BONK","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"ICP-USDT","marginAccount":"ICP-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"ICP","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"ETH-USDT","marginAccount":"ETH-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"ETH","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"RDNT-USDT","marginAccount":"RDNT-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"RDNT","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"STORJ-USDT","marginAccount":"STORJ-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"STORJ","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"GMT-USDT","marginAccount":"GMT-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"GMT","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"STG-USDT","marginAccount":"STG-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"STG","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"TENET-USDT","marginAccount":"TENET-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"TENET","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"BSV-USDT","marginAccount":"BSV-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"BSV","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"BTC-USDT","marginAccount":"BTC-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"BTC","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"WOO-USDT","marginAccount":"WOO-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"WOO","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"XMR-USDT","marginAccount":"XMR-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"XMR","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"AXS-USDT","marginAccount":"AXS-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"AXS","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"LINA-USDT","marginAccount":"LINA-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"LINA","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"ETC-USDT","marginAccount":"ETC-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"ETC","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"MPLX-USDT","marginAccount":"MPLX-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"MPLX","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"PEOPLE-USDT","marginAccount":"PEOPLE-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"PEOPLE","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"FTM-USDT","marginAccount":"FTM-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"FTM","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"ACH-USDT","marginAccount":"ACH-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"ACH","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"APE-USDT","marginAccount":"APE-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"APE","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"BCH-USDT","marginAccount":"BCH-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"BCH","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"BIGTIME-USDT","marginAccount":"BIGTIME-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"BIGTIME","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"OPUL-USDT","marginAccount":"OPUL-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"OPUL","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"METIS-USDT","marginAccount":"METIS-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"METIS","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"IMX-USDT","marginAccount":"IMX-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"IMX","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"DUSK-USDT","marginAccount":"DUSK-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"DUSK","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"KAVA-USDT","marginAccount":"KAVA-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"KAVA","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"COMP-USDT","marginAccount":"COMP-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"COMP","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"ALGO-USDT","marginAccount":"ALGO-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"ALGO","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"CYBER-USDT","marginAccount":"CYBER-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"CYBER","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"WAVES-USDT","marginAccount":"WAVES-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"WAVES","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"APT-USDT","marginAccount":"APT-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"APT","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"MTL-USDT","marginAccount":"MTL-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"MTL","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"FRONT-USDT","marginAccount":"FRONT-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"FRONT","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"GAS-USDT","marginAccount":"GAS-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"GAS","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"TRX-USDT","marginAccount":"TRX-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"TRX","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"LRC-USDT","marginAccount":"LRC-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"LRC","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"GARI-USDT","marginAccount":"GARI-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"GARI","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"DYDX-USDT","marginAccount":"DYDX-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"DYDX","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"TIA-USDT","marginAccount":"TIA-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"TIA","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"SAND-USDT","marginAccount":"SAND-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"SAND","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"ADA-USDT","marginAccount":"ADA-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"ADA","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"LADYS-USDT","marginAccount":"LADYS-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"LADYS","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"SHIB-USDT","marginAccount":"SHIB-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"SHIB","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"SNT-USDT","marginAccount":"SNT-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"SNT","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"BAKE-USDT","marginAccount":"BAKE-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"BAKE","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"CFX-USDT","marginAccount":"CFX-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"CFX","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"SOL-USDT","marginAccount":"SOL-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"SOL","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"PYTH-USDT","marginAccount":"PYTH-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"PYTH","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"YFI-USDT","marginAccount":"YFI-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"YFI","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"LDO-USDT","marginAccount":"LDO-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"LDO","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"UNI-USDT","marginAccount":"UNI-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"UNI","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"BLZ-USDT","marginAccount":"BLZ-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"BLZ","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"PEPE-USDT","marginAccount":"PEPE-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"PEPE","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"FIL-USDT","marginAccount":"FIL-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"FIL","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"CORE-USDT","marginAccount":"CORE-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"CORE","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"SDAO-USDT","marginAccount":"SDAO-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"SDAO","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"AI-USDT","marginAccount":"AI-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"AI","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"FET-USDT","marginAccount":"FET-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"FET","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"TON-USDT","marginAccount":"TON-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"TON","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"JST-USDT","marginAccount":"JST-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"JST","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"RLY-USDT","marginAccount":"RLY-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"RLY","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"AAVE-USDT","marginAccount":"AAVE-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"AAVE","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"1INCH-USDT","marginAccount":"1INCH-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"1INCH","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"TRB-USDT","marginAccount":"TRB-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"TRB","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"MATIC-USDT","marginAccount":"MATIC-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"MATIC","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"OGN-USDT","marginAccount":"OGN-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"OGN","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"DOGE-USDT","marginAccount":"DOGE-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"DOGE","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"LOOM-USDT","marginAccount":"LOOM-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"LOOM","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"THETA-USDT","marginAccount":"THETA-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"THETA","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"NEAR-USDT","marginAccount":"NEAR-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"NEAR","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"TOMO-USDT","marginAccount":"TOMO-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"TOMO","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"MANTA-USDT","marginAccount":"MANTA-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"MANTA","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"FTT-USDT","marginAccount":"FTT-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"FTT","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"SEI-USDT","marginAccount":"SEI-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"SEI","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"XRP-USDT","marginAccount":"XRP-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"XRP","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"CAKE-USDT","marginAccount":"CAKE-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"CAKE","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"RATS-USDT","marginAccount":"RATS-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"RATS","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"ENS-USDT","marginAccount":"ENS-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"ENS","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"BTT-USDT","marginAccount":"BTT-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"BTT","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"XAI-USDT","marginAccount":"XAI-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"XAI","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"AIDOGE-USDT","marginAccount":"AIDOGE-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"AIDOGE","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"MEME-USDT","marginAccount":"MEME-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"MEME","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"XETA-USDT","marginAccount":"XETA-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"XETA","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"LPT-USDT","marginAccount":"LPT-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"LPT","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"BNB-USDT","marginAccount":"BNB-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"BNB","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"USTC-USDT","marginAccount":"USTC-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"USTC","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"GAL-USDT","marginAccount":"GAL-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"GAL","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"ONE-USDT","marginAccount":"ONE-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"ONE","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"SUSHI-USDT","marginAccount":"SUSHI-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"SUSHI","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"MKR-USDT","marginAccount":"MKR-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"MKR","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"LTC-USDT","marginAccount":"LTC-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"LTC","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"TOKEN-USDT","marginAccount":"TOKEN-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"TOKEN","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"FLOKI-USDT","marginAccount":"FLOKI-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"FLOKI","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"AGIX-USDT","marginAccount":"AGIX-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"AGIX","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"GALA-USDT","marginAccount":"GALA-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"GALA","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"CRV-USDT","marginAccount":"CRV-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"CRV","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"ARB-USDT","marginAccount":"ARB-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"ARB","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"AVAX-USDT","marginAccount":"AVAX-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"AVAX","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"ARK-USDT","marginAccount":"ARK-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"ARK","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"SNX-USDT","marginAccount":"SNX-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"SNX","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"XLM-USDT","marginAccount":"XLM-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"XLM","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"LINK-USDT","marginAccount":"LINK-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"LINK","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"MASK-USDT","marginAccount":"MASK-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"MASK","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"EGLD-USDT","marginAccount":"EGLD-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"EGLD","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"RNDR-USDT","marginAccount":"RNDR-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"RNDR","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"YGG-USDT","marginAccount":"YGG-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"YGG","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"DOSE-USDT","marginAccount":"DOSE-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"DOSE","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"INJ-USDT","marginAccount":"INJ-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"INJ","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"WIN-USDT","marginAccount":"WIN-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"WIN","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"ATOM-USDT","marginAccount":"ATOM-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"ATOM","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"STX-USDT","marginAccount":"STX-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"STX","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1},{"cancel":1,"close":1,"contractCode":"BNT-USDT","marginAccount":"BNT-USDT","marginMode":"isolated","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"open":0,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"symbol":"BNT","tradePartition":"USDT","transferIn":0,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1}],"status":"ok","ts":1705654233980} +2024-01-19 16:50:59.115 [DEBUG] [main] [com.huobi.api.service.usdt.market.MarketAPIServiceImpl.getSwapMarketDepth:157] - body:{"ch":"market.BTC-USDT.depth.step15","status":"ok","tick":{"mrid":100021929837258,"id":1705654258,"bids":[[41350,21752],[41340,10302],[41330,29470],[41320,24141],[41310,9033],[41300,4497],[41290,42013],[41280,5815],[41270,5930],[41260,6943],[41250,12861],[41240,77],[41230,1173],[41220,61467],[41210,6],[41200,196],[41190,8384],[41180,962],[41160,41857],[41150,1248],[41140,276],[41130,31],[41110,113],[41100,15003],[41090,10053],[41080,680],[41060,127],[41050,1127],[41040,4029],[41030,1020],[41020,252],[41010,17881],[41000,6735],[40980,625],[40960,28],[40950,125],[40940,454],[40930,1210],[40920,10],[40910,4005],[40900,865],[40890,64],[40880,341],[40860,301],[40850,276],[40840,12],[40830,208],[40820,35],[40810,106],[40800,2918],[40790,7],[40780,137],[40770,25],[40760,25],[40750,936],[40740,354],[40730,3],[40720,1023],[40710,1],[40700,1329],[40690,70],[40680,159],[40670,21],[40660,1148],[40650,59],[40640,1562],[40630,45],[40620,15],[40610,42],[40600,10575],[40590,130],[40580,148],[40570,2237],[40560,211],[40550,413],[40530,15],[40520,114],[40510,180],[40500,11501],[40490,17],[40480,607],[40470,16],[40460,26],[40450,527],[40440,266],[40430,115],[40420,1],[40400,1441],[40390,9],[40380,42],[40370,1],[40360,229],[40350,115],[40340,1],[40330,1030],[40320,316],[40310,595],[40300,803],[40290,14],[40280,273],[40270,52],[40260,999],[40250,676],[40240,150],[40230,784],[40220,294],[40210,7],[40200,2527],[40190,33],[40180,35],[40170,20],[40160,505],[40150,136],[40140,4],[40130,49],[40120,60],[40110,154],[40100,302],[40090,3000],[40080,300],[40070,54],[40060,361],[40050,115],[40040,11],[40030,99],[40020,9045],[40010,7],[40000,3997],[39990,128],[39970,337],[39960,165],[39950,1001],[39940,179],[39930,125],[39920,161],[39910,1],[39900,199],[39890,700],[39880,347],[39870,8],[39860,6],[39850,272],[39840,7],[39820,129],[39800,601],[39790,150],[39780,5],[39770,54],[39760,26],[39750,199]],"asks":[[41360,135],[41370,9855],[41380,9412],[41390,5687],[41400,42347],[41410,1584],[41420,7052],[41430,10503],[41440,19412],[41450,149],[41460,10654],[41470,12421],[41480,41873],[41490,1101],[41500,462],[41510,773],[41520,9806],[41530,29579],[41540,445],[41550,76],[41560,37],[41570,10607],[41580,8242],[41590,2],[41600,11090],[41610,20],[41620,2134],[41630,4053],[41640,1144],[41650,714],[41660,1],[41670,1],[41680,184],[41690,17721],[41700,1119],[41720,24],[41730,32],[41750,4857],[41760,2],[41770,15],[41780,4015],[41790,6],[41800,7454],[41810,25],[41820,258],[41830,15],[41840,17],[41850,98],[41860,2194],[41880,18],[41890,144],[41900,194],[41930,40],[41940,100],[41950,5],[41960,4],[41970,3000],[41980,656],[41990,4],[42000,610],[42030,5],[42050,5],[42060,27],[42080,155],[42090,103],[42100,40],[42130,9],[42150,69],[42160,1273],[42170,999],[42180,77],[42200,764],[42210,99],[42220,190],[42230,335],[42250,106],[42260,50],[42270,1],[42290,103],[42300,6040],[42310,1928],[42320,57],[42350,188],[42360,10],[42400,316],[42420,13],[42460,4],[42480,1040],[42490,103],[42500,75],[42550,215],[42570,25],[42600,294],[42640,16],[42650,224],[42690,103],[42700,60],[42740,26],[42750,1002],[42790,4],[42800,2080],[42820,1038],[42840,9],[42850,1],[42860,11],[42880,1],[42890,369],[42900,1708],[42910,6],[42920,3],[42930,123],[42950,34],[42960,66],[42970,51],[42980,2],[42990,1030],[43000,1701],[43070,25],[43090,103],[43100,104],[43110,40],[43120,21],[43140,92],[43160,25],[43170,30],[43180,15],[43190,1075],[43200,497],[43220,50],[43230,126],[43240,26],[43250,1],[43260,1],[43270,1],[43280,20],[43290,111],[43300,47],[43310,1],[43320,32],[43330,1],[43340,9],[43350,203],[43360,1],[43370,1],[43380,20],[43390,33],[43400,1902],[43410,25],[43420,14],[43430,204]],"ts":1705654258855,"version":1705654258,"ch":"market.BTC-USDT.depth.step15"},"ts":1705654258931} +2024-01-19 16:50:59.212 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.getSwapMarketDepth:57] - 5.获取行情深度数据:{"ch":"market.BTC-USDT.depth.step15","status":"ok","tick":[{"asks":[[41360,135],[41370,9855],[41380,9412],[41390,5687],[41400,42347],[41410,1584],[41420,7052],[41430,10503],[41440,19412],[41450,149],[41460,10654],[41470,12421],[41480,41873],[41490,1101],[41500,462],[41510,773],[41520,9806],[41530,29579],[41540,445],[41550,76],[41560,37],[41570,10607],[41580,8242],[41590,2],[41600,11090],[41610,20],[41620,2134],[41630,4053],[41640,1144],[41650,714],[41660,1],[41670,1],[41680,184],[41690,17721],[41700,1119],[41720,24],[41730,32],[41750,4857],[41760,2],[41770,15],[41780,4015],[41790,6],[41800,7454],[41810,25],[41820,258],[41830,15],[41840,17],[41850,98],[41860,2194],[41880,18],[41890,144],[41900,194],[41930,40],[41940,100],[41950,5],[41960,4],[41970,3000],[41980,656],[41990,4],[42000,610],[42030,5],[42050,5],[42060,27],[42080,155],[42090,103],[42100,40],[42130,9],[42150,69],[42160,1273],[42170,999],[42180,77],[42200,764],[42210,99],[42220,190],[42230,335],[42250,106],[42260,50],[42270,1],[42290,103],[42300,6040],[42310,1928],[42320,57],[42350,188],[42360,10],[42400,316],[42420,13],[42460,4],[42480,1040],[42490,103],[42500,75],[42550,215],[42570,25],[42600,294],[42640,16],[42650,224],[42690,103],[42700,60],[42740,26],[42750,1002],[42790,4],[42800,2080],[42820,1038],[42840,9],[42850,1],[42860,11],[42880,1],[42890,369],[42900,1708],[42910,6],[42920,3],[42930,123],[42950,34],[42960,66],[42970,51],[42980,2],[42990,1030],[43000,1701],[43070,25],[43090,103],[43100,104],[43110,40],[43120,21],[43140,92],[43160,25],[43170,30],[43180,15],[43190,1075],[43200,497],[43220,50],[43230,126],[43240,26],[43250,1],[43260,1],[43270,1],[43280,20],[43290,111],[43300,47],[43310,1],[43320,32],[43330,1],[43340,9],[43350,203],[43360,1],[43370,1],[43380,20],[43390,33],[43400,1902],[43410,25],[43420,14],[43430,204]],"bids":[[41350,21752],[41340,10302],[41330,29470],[41320,24141],[41310,9033],[41300,4497],[41290,42013],[41280,5815],[41270,5930],[41260,6943],[41250,12861],[41240,77],[41230,1173],[41220,61467],[41210,6],[41200,196],[41190,8384],[41180,962],[41160,41857],[41150,1248],[41140,276],[41130,31],[41110,113],[41100,15003],[41090,10053],[41080,680],[41060,127],[41050,1127],[41040,4029],[41030,1020],[41020,252],[41010,17881],[41000,6735],[40980,625],[40960,28],[40950,125],[40940,454],[40930,1210],[40920,10],[40910,4005],[40900,865],[40890,64],[40880,341],[40860,301],[40850,276],[40840,12],[40830,208],[40820,35],[40810,106],[40800,2918],[40790,7],[40780,137],[40770,25],[40760,25],[40750,936],[40740,354],[40730,3],[40720,1023],[40710,1],[40700,1329],[40690,70],[40680,159],[40670,21],[40660,1148],[40650,59],[40640,1562],[40630,45],[40620,15],[40610,42],[40600,10575],[40590,130],[40580,148],[40570,2237],[40560,211],[40550,413],[40530,15],[40520,114],[40510,180],[40500,11501],[40490,17],[40480,607],[40470,16],[40460,26],[40450,527],[40440,266],[40430,115],[40420,1],[40400,1441],[40390,9],[40380,42],[40370,1],[40360,229],[40350,115],[40340,1],[40330,1030],[40320,316],[40310,595],[40300,803],[40290,14],[40280,273],[40270,52],[40260,999],[40250,676],[40240,150],[40230,784],[40220,294],[40210,7],[40200,2527],[40190,33],[40180,35],[40170,20],[40160,505],[40150,136],[40140,4],[40130,49],[40120,60],[40110,154],[40100,302],[40090,3000],[40080,300],[40070,54],[40060,361],[40050,115],[40040,11],[40030,99],[40020,9045],[40010,7],[40000,3997],[39990,128],[39970,337],[39960,165],[39950,1001],[39940,179],[39930,125],[39920,161],[39910,1],[39900,199],[39890,700],[39880,347],[39870,8],[39860,6],[39850,272],[39840,7],[39820,129],[39800,601],[39790,150],[39780,5],[39770,54],[39760,26],[39750,199]],"ch":"market.BTC-USDT.depth.step15","id":1705654258,"mrid":100021929837258,"ts":1705654258855,"version":1705654258}],"ts":1705654258931} +2024-01-19 16:55:38.025 [DEBUG] [main] [com.huobi.api.service.usdt.market.MarketAPIServiceImpl.getSwapMarketHistoryKline:185] - body:{"ch":"market.BTC-USDT.kline.15min","ts":1705654537834,"status":"ok","data":[{"id":1705653900,"open":41235.7,"close":41383.4,"high":41400.0,"low":41232.6,"amount":71.718,"vol":71718,"trade_turnover":2963828.6192,"count":417}]} +2024-01-19 16:55:38.129 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.getSwapMarketHistoryKline:70] - 6.获取K线数据:{"ch":"market.BTC-USDT.kline.15min","data":[{"amount":71.718,"close":41383.4,"count":417,"high":41400.0,"id":1705653900,"low":41232.6,"open":41235.7,"tradeTurnover":2963828.6192,"vol":71718}],"status":"ok","ts":1705654537834} +2024-01-19 16:56:12.258 [DEBUG] [main] [com.huobi.api.service.usdt.market.MarketAPIServiceImpl.getSwapMarketDetailMerged:204] - body:{"ch":"market.BTC-USDT.detail.merged","status":"ok","tick":{"amount":"15188.66","ask":[41403.6,4173],"bid":[41403.5,2241],"close":"41403.5","count":84715,"high":"42642.1","id":1705654572,"low":"40751.7","open":"42642.1","trade_turnover":"632777616.4666","ts":1705654572075,"vol":"15188660"},"ts":1705654572075} +2024-01-19 16:56:12.381 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.getSwapMarketDetailMergedResponse:77] - 7.获取聚合行情:{"ch":"market.BTC-USDT.detail.merged","status":"ok","tick":[{"amount":"15188.66","ask":[41403.6,4173],"bid":[41403.5,2241],"close":"41403.5","count":84715,"high":"42642.1","id":1705654572,"low":"40751.7","open":"42642.1","tradeTurnover":632777616.4666,"ts":1705654572075,"vol":"15188660"}],"ts":1705654572075} +2024-01-19 16:56:33.621 [DEBUG] [main] [com.huobi.api.service.usdt.market.MarketAPIServiceImpl.getSwapMarketTrade:231] - body:{"ch":"market.BTC-USDT.trade.detail","status":"ok","tick":{"data":[{"amount":"14","quantity":"0.014","trade_turnover":"579.397","ts":1705654592698,"id":1000219299650190000,"price":"41385.5","direction":"buy","contract_code":"BTC-USDT","business_type":"swap","trade_partition":"USDT"}],"id":1705654593429,"ts":1705654593429},"ts":1705654593429} +2024-01-19 16:56:33.744 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.getSwapMarketTradeResponse:83] - 8.获取市场最近成交记录:{"ch":"market.BTC-USDT.trade.detail","status":"ok","tick":[{"data":[{"amount":"14","contractCode":"BTC-USDT","direction":"buy","id":1000219299650190000,"price":"41385.5","quantity":"0.014","tradePartition":"USDT","tradeTurnover":"579.397","ts":1705654592698}],"id":1705654593429,"ts":1705654593429}],"ts":1705654593429} diff --git a/log/debug/debug.2024-01-20_14.log b/log/debug/debug.2024-01-20_14.log new file mode 100644 index 0000000..239e2d0 --- /dev/null +++ b/log/debug/debug.2024-01-20_14.log @@ -0,0 +1,23 @@ +2024-01-20 14:08:09.991 [DEBUG] [main] [com.huobi.api.service.usdt.market.MarketAPIServiceImpl.getSwapMarketHistoryTrade:252] - body:{"ch":"market.BTC-USDT.trade.detail","ts":1705730883173,"status":"ok","data":[{"id":100021959109355,"ts":1705729930054,"data":[{"amount":180,"quantity":0.18,"trade_turnover":7503.174,"ts":1705729930054,"id":1000219591093550000,"price":41684.3,"direction":"sell"},{"amount":180,"quantity":0.18,"trade_turnover":7503.174,"ts":1705729930054,"id":1000219591093550001,"price":41684.3,"direction":"sell"},{"amount":72,"quantity":0.072,"trade_turnover":3001.2696,"ts":1705729930054,"id":1000219591093550002,"price":41684.3,"direction":"sell"},{"amount":156,"quantity":0.156,"trade_turnover":6502.7508,"ts":1705729930054,"id":1000219591093550003,"price":41684.3,"direction":"sell"}]},{"id":100021959112577,"ts":1705729949436,"data":[{"amount":80,"quantity":0.08,"trade_turnover":3334.744,"ts":1705729949436,"id":1000219591125770000,"price":41684.3,"direction":"sell"}]},{"id":100021959112935,"ts":1705729952031,"data":[{"amount":38,"quantity":0.038,"trade_turnover":1584.0034,"ts":1705729952031,"id":1000219591129350000,"price":41684.3,"direction":"sell"}]},{"id":100021959113212,"ts":1705729952893,"data":[{"amount":108,"quantity":0.108,"trade_turnover":4501.872,"ts":1705729952893,"id":1000219591132120000,"price":41684.0,"direction":"sell"}]},{"id":100021959115533,"ts":1705729965777,"data":[{"amount":2,"quantity":0.002,"trade_turnover":83.3572,"ts":1705729965777,"id":1000219591155330000,"price":41678.6,"direction":"sell"},{"amount":2,"quantity":0.002,"trade_turnover":83.3572,"ts":1705729965777,"id":1000219591155330001,"price":41678.6,"direction":"sell"},{"amount":120,"quantity":0.12,"trade_turnover":5001.432,"ts":1705729965777,"id":1000219591155330002,"price":41678.6,"direction":"sell"}]},{"id":100021959117959,"ts":1705729981006,"data":[{"amount":10,"quantity":0.01,"trade_turnover":416.787,"ts":1705729981006,"id":1000219591179590000,"price":41678.7,"direction":"buy"}]},{"id":100021959120977,"ts":1705729996220,"data":[{"amount":2,"quantity":0.002,"trade_turnover":83.3574,"ts":1705729996220,"id":1000219591209770000,"price":41678.7,"direction":"buy"},{"amount":2,"quantity":0.002,"trade_turnover":83.3574,"ts":1705729996220,"id":1000219591209770001,"price":41678.7,"direction":"buy"},{"amount":2,"quantity":0.002,"trade_turnover":83.3574,"ts":1705729996220,"id":1000219591209770002,"price":41678.7,"direction":"buy"}]},{"id":100021959128146,"ts":1705730035901,"data":[{"amount":32,"quantity":0.032,"trade_turnover":1333.7184,"ts":1705730035901,"id":1000219591281460000,"price":41678.7,"direction":"buy"},{"amount":360,"quantity":0.36,"trade_turnover":15004.332,"ts":1705730035901,"id":1000219591281460001,"price":41678.7,"direction":"buy"},{"amount":38,"quantity":0.038,"trade_turnover":1583.7906,"ts":1705730035901,"id":1000219591281460002,"price":41678.7,"direction":"buy"},{"amount":38,"quantity":0.038,"trade_turnover":1583.7906,"ts":1705730035901,"id":1000219591281460003,"price":41678.7,"direction":"buy"},{"amount":56,"quantity":0.056,"trade_turnover":2334.0072,"ts":1705730035901,"id":1000219591281460004,"price":41678.7,"direction":"buy"}]},{"id":100021959129050,"ts":1705730041543,"data":[{"amount":18,"quantity":0.018,"trade_turnover":750.2166,"ts":1705730041543,"id":1000219591290500000,"price":41678.7,"direction":"buy"}]},{"id":100021959130148,"ts":1705730044826,"data":[{"amount":22,"quantity":0.022,"trade_turnover":916.9292,"ts":1705730044826,"id":1000219591301480000,"price":41678.6,"direction":"sell"}]},{"id":100021959130536,"ts":1705730046036,"data":[{"amount":6,"quantity":0.006,"trade_turnover":250.0722,"ts":1705730046036,"id":1000219591305360000,"price":41678.7,"direction":"buy"},{"amount":94,"quantity":0.094,"trade_turnover":3917.7978,"ts":1705730046036,"id":1000219591305360001,"price":41678.7,"direction":"buy"}]},{"id":100021959132143,"ts":1705730050699,"data":[{"amount":20,"quantity":0.02,"trade_turnover":833.574,"ts":1705730050699,"id":1000219591321430000,"price":41678.7,"direction":"buy"}]},{"id":100021959134951,"ts":1705730058025,"data":[{"amount":2,"quantity":0.002,"trade_turnover":83.3574,"ts":1705730058025,"id":1000219591349510000,"price":41678.7,"direction":"buy"},{"amount":498,"quantity":0.498,"trade_turnover":20758.6818,"ts":1705730058025,"id":1000219591349510001,"price":41684.1,"direction":"buy"}]},{"id":100021959137474,"ts":1705730074883,"data":[{"amount":76,"quantity":0.076,"trade_turnover":3167.984,"ts":1705730074883,"id":1000219591374740000,"price":41684.0,"direction":"sell"}]},{"id":100021959140120,"ts":1705730091827,"data":[{"amount":104,"quantity":0.104,"trade_turnover":4335.136,"ts":1705730091827,"id":1000219591401200000,"price":41684.0,"direction":"sell"}]},{"id":100021959140303,"ts":1705730091883,"data":[{"amount":32,"quantity":0.032,"trade_turnover":1333.696,"ts":1705730091883,"id":1000219591403030000,"price":41678.0,"direction":"sell"}]},{"id":100021959140501,"ts":1705730091950,"data":[{"amount":2,"quantity":0.002,"trade_turnover":83.349,"ts":1705730091950,"id":1000219591405010000,"price":41674.5,"direction":"sell"},{"amount":240,"quantity":0.24,"trade_turnover":10001.88,"ts":1705730091950,"id":1000219591405010001,"price":41674.5,"direction":"sell"}]},{"id":100021959140657,"ts":1705730092041,"data":[{"amount":120,"quantity":0.12,"trade_turnover":5000.94,"ts":1705730092041,"id":1000219591406570000,"price":41674.5,"direction":"sell"},{"amount":360,"quantity":0.36,"trade_turnover":15002.82,"ts":1705730092041,"id":1000219591406570001,"price":41674.5,"direction":"sell"}]},{"id":100021959140767,"ts":1705730092146,"data":[{"amount":1116,"quantity":1.116,"trade_turnover":46508.742,"ts":1705730092146,"id":1000219591407670000,"price":41674.5,"direction":"sell"}]},{"id":100021959141698,"ts":1705730096681,"data":[{"amount":22,"quantity":0.022,"trade_turnover":916.6806,"ts":1705730096681,"id":1000219591416980000,"price":41667.3,"direction":"buy"}]},{"id":100021959149726,"ts":1705730139822,"data":[{"amount":240,"quantity":0.24,"trade_turnover":9999.792,"ts":1705730139822,"id":1000219591497260000,"price":41665.8,"direction":"sell"},{"amount":120,"quantity":0.12,"trade_turnover":4999.896,"ts":1705730139822,"id":1000219591497260001,"price":41665.8,"direction":"sell"}]},{"id":100021959152432,"ts":1705730157659,"data":[{"amount":14,"quantity":0.014,"trade_turnover":583.2624,"ts":1705730157659,"id":1000219591524320000,"price":41661.6,"direction":"buy"}]},{"id":100021959152930,"ts":1705730160807,"data":[{"amount":2,"quantity":0.002,"trade_turnover":83.323,"ts":1705730160807,"id":1000219591529300000,"price":41661.5,"direction":"sell"}]},{"id":100021959155984,"ts":1705730180234,"data":[{"amount":4,"quantity":0.004,"trade_turnover":166.646,"ts":1705730180234,"id":1000219591559840000,"price":41661.5,"direction":"sell"}]},{"id":100021959157783,"ts":1705730189460,"data":[{"amount":8,"quantity":0.008,"trade_turnover":333.2928,"ts":1705730189460,"id":1000219591577830000,"price":41661.6,"direction":"buy"}]},{"id":100021959157996,"ts":1705730189972,"data":[{"amount":8,"quantity":0.008,"trade_turnover":333.2928,"ts":1705730189972,"id":1000219591579960000,"price":41661.6,"direction":"buy"}]},{"id":100021959161307,"ts":1705730201402,"data":[{"amount":24,"quantity":0.024,"trade_turnover":999.8784,"ts":1705730201402,"id":1000219591613070000,"price":41661.6,"direction":"buy"}]},{"id":100021959161681,"ts":1705730202217,"data":[{"amount":320,"quantity":0.32,"trade_turnover":13331.712,"ts":1705730202217,"id":1000219591616810000,"price":41661.6,"direction":"buy"}]},{"id":100021959161751,"ts":1705730202250,"data":[{"amount":18,"quantity":0.018,"trade_turnover":749.916,"ts":1705730202250,"id":1000219591617510000,"price":41662.0,"direction":"buy"}]},{"id":100021959161795,"ts":1705730202276,"data":[{"amount":18,"quantity":0.018,"trade_turnover":750.0366,"ts":1705730202276,"id":1000219591617950000,"price":41668.7,"direction":"buy"}]},{"id":100021959161853,"ts":1705730202292,"data":[{"amount":14,"quantity":0.014,"trade_turnover":583.4248,"ts":1705730202292,"id":1000219591618530000,"price":41673.2,"direction":"buy"},{"amount":932,"quantity":0.932,"trade_turnover":38839.4224,"ts":1705730202292,"id":1000219591618530001,"price":41673.2,"direction":"buy"}]},{"id":100021959162020,"ts":1705730202350,"data":[{"amount":1132,"quantity":1.132,"trade_turnover":47168.9684,"ts":1705730202350,"id":1000219591620200000,"price":41668.7,"direction":"buy"}]},{"id":100021959162617,"ts":1705730203594,"data":[{"amount":2,"quantity":0.002,"trade_turnover":83.346,"ts":1705730203594,"id":1000219591626170000,"price":41673.0,"direction":"sell"}]},{"id":100021959165670,"ts":1705730216920,"data":[{"amount":2,"quantity":0.002,"trade_turnover":83.3554,"ts":1705730216920,"id":1000219591656700000,"price":41677.7,"direction":"sell"}]},{"id":100021959166733,"ts":1705730223156,"data":[{"amount":6,"quantity":0.006,"trade_turnover":250.0668,"ts":1705730223156,"id":1000219591667330000,"price":41677.8,"direction":"buy"}]},{"id":100021959172522,"ts":1705730260462,"data":[{"amount":2,"quantity":0.002,"trade_turnover":83.3556,"ts":1705730260462,"id":1000219591725220000,"price":41677.8,"direction":"buy"}]},{"id":100021959172910,"ts":1705730263027,"data":[{"amount":48,"quantity":0.048,"trade_turnover":2000.5344,"ts":1705730263027,"id":1000219591729100000,"price":41677.8,"direction":"buy"}]},{"id":100021959172991,"ts":1705730263540,"data":[{"amount":48,"quantity":0.048,"trade_turnover":2000.5344,"ts":1705730263540,"id":1000219591729910000,"price":41677.8,"direction":"buy"}]},{"id":100021959175680,"ts":1705730280779,"data":[{"amount":16,"quantity":0.016,"trade_turnover":666.8448,"ts":1705730280779,"id":1000219591756800000,"price":41677.8,"direction":"buy"},{"amount":120,"quantity":0.12,"trade_turnover":5001.336,"ts":1705730280779,"id":1000219591756800001,"price":41677.8,"direction":"buy"},{"amount":1078,"quantity":1.078,"trade_turnover":44928.6684,"ts":1705730280779,"id":1000219591756800002,"price":41677.8,"direction":"buy"},{"amount":804,"quantity":0.804,"trade_turnover":33508.9512,"ts":1705730280779,"id":1000219591756800003,"price":41677.8,"direction":"buy"}]},{"id":100021959177943,"ts":1705730295192,"data":[{"amount":12,"quantity":0.012,"trade_turnover":500.178,"ts":1705730295192,"id":1000219591779430000,"price":41681.5,"direction":"sell"},{"amount":66,"quantity":0.066,"trade_turnover":2750.979,"ts":1705730295192,"id":1000219591779430001,"price":41681.5,"direction":"sell"}]},{"id":100021959179513,"ts":1705730305955,"data":[{"amount":246,"quantity":0.246,"trade_turnover":10253.649,"ts":1705730305955,"id":1000219591795130000,"price":41681.5,"direction":"sell"}]},{"id":100021959183539,"ts":1705730325322,"data":[{"amount":8,"quantity":0.008,"trade_turnover":333.4008,"ts":1705730325322,"id":1000219591835390000,"price":41675.1,"direction":"sell"}]},{"id":100021959189630,"ts":1705730361282,"data":[{"amount":8,"quantity":0.008,"trade_turnover":333.42,"ts":1705730361282,"id":1000219591896300000,"price":41677.5,"direction":"buy"}]},{"id":100021959193926,"ts":1705730386997,"data":[{"amount":2,"quantity":0.002,"trade_turnover":83.3548,"ts":1705730386997,"id":1000219591939260000,"price":41677.4,"direction":"sell"},{"amount":220,"quantity":0.22,"trade_turnover":9169.028,"ts":1705730386997,"id":1000219591939260001,"price":41677.4,"direction":"sell"},{"amount":274,"quantity":0.274,"trade_turnover":11419.6076,"ts":1705730386997,"id":1000219591939260002,"price":41677.4,"direction":"sell"}]},{"id":100021959195647,"ts":1705730394478,"data":[{"amount":48,"quantity":0.048,"trade_turnover":2000.952,"ts":1705730394478,"id":1000219591956470000,"price":41686.5,"direction":"sell"}]},{"id":100021959196695,"ts":1705730401483,"data":[{"amount":22,"quantity":0.022,"trade_turnover":917.103,"ts":1705730401483,"id":1000219591966950000,"price":41686.5,"direction":"sell"}]},{"id":100021959199224,"ts":1705730417793,"data":[{"amount":12,"quantity":0.012,"trade_turnover":500.2392,"ts":1705730417793,"id":1000219591992240000,"price":41686.6,"direction":"buy"}]},{"id":100021959200616,"ts":1705730428231,"data":[{"amount":62,"quantity":0.062,"trade_turnover":2584.5692,"ts":1705730428231,"id":1000219592006160000,"price":41686.6,"direction":"buy"},{"amount":144,"quantity":0.144,"trade_turnover":6002.8704,"ts":1705730428231,"id":1000219592006160001,"price":41686.6,"direction":"buy"}]},{"id":100021959204013,"ts":1705730448740,"data":[{"amount":4,"quantity":0.004,"trade_turnover":166.7516,"ts":1705730448740,"id":1000219592040130000,"price":41687.9,"direction":"buy"}]},{"id":100021959205366,"ts":1705730456042,"data":[{"amount":4,"quantity":0.004,"trade_turnover":166.7516,"ts":1705730456042,"id":1000219592053660000,"price":41687.9,"direction":"buy"}]},{"id":100021959206719,"ts":1705730459859,"data":[{"amount":6,"quantity":0.006,"trade_turnover":250.1274,"ts":1705730459859,"id":1000219592067190000,"price":41687.9,"direction":"buy"}]},{"id":100021959207023,"ts":1705730461285,"data":[{"amount":8,"quantity":0.008,"trade_turnover":333.5032,"ts":1705730461285,"id":1000219592070230000,"price":41687.9,"direction":"buy"}]},{"id":100021959208790,"ts":1705730471136,"data":[{"amount":4,"quantity":0.004,"trade_turnover":166.7516,"ts":1705730471136,"id":1000219592087900000,"price":41687.9,"direction":"buy"}]},{"id":100021959210143,"ts":1705730479196,"data":[{"amount":4,"quantity":0.004,"trade_turnover":166.7516,"ts":1705730479196,"id":1000219592101430000,"price":41687.9,"direction":"buy"}]},{"id":100021959213226,"ts":1705730500500,"data":[{"amount":8,"quantity":0.008,"trade_turnover":333.5032,"ts":1705730500500,"id":1000219592132260000,"price":41687.9,"direction":"buy"}]},{"id":100021959214611,"ts":1705730510026,"data":[{"amount":4,"quantity":0.004,"trade_turnover":166.7516,"ts":1705730510026,"id":1000219592146110000,"price":41687.9,"direction":"buy"}]},{"id":100021959217039,"ts":1705730524481,"data":[{"amount":4,"quantity":0.004,"trade_turnover":166.7516,"ts":1705730524481,"id":1000219592170390000,"price":41687.9,"direction":"buy"}]},{"id":100021959219091,"ts":1705730539291,"data":[{"amount":6,"quantity":0.006,"trade_turnover":250.1274,"ts":1705730539291,"id":1000219592190910000,"price":41687.9,"direction":"buy"}]},{"id":100021959220076,"ts":1705730546214,"data":[{"amount":18,"quantity":0.018,"trade_turnover":750.3804,"ts":1705730546214,"id":1000219592200760000,"price":41687.8,"direction":"sell"}]},{"id":100021959220387,"ts":1705730548187,"data":[{"amount":4,"quantity":0.004,"trade_turnover":166.7516,"ts":1705730548187,"id":1000219592203870000,"price":41687.9,"direction":"buy"}]},{"id":100021959221159,"ts":1705730553046,"data":[{"amount":360,"quantity":0.36,"trade_turnover":15007.608,"ts":1705730553046,"id":1000219592211590000,"price":41687.8,"direction":"sell"},{"amount":694,"quantity":0.694,"trade_turnover":28931.3332,"ts":1705730553046,"id":1000219592211590001,"price":41687.8,"direction":"sell"}]},{"id":100021959221574,"ts":1705730554327,"data":[{"amount":6,"quantity":0.006,"trade_turnover":250.1274,"ts":1705730554327,"id":1000219592215740000,"price":41687.9,"direction":"buy"}]},{"id":100021959222120,"ts":1705730555592,"data":[{"amount":280,"quantity":0.28,"trade_turnover":11672.584,"ts":1705730555592,"id":1000219592221200000,"price":41687.8,"direction":"sell"}]},{"id":100021959222332,"ts":1705730555979,"data":[{"amount":142,"quantity":0.142,"trade_turnover":5919.6676,"ts":1705730555979,"id":1000219592223320000,"price":41687.8,"direction":"sell"},{"amount":116,"quantity":0.116,"trade_turnover":4835.7848,"ts":1705730555979,"id":1000219592223320001,"price":41687.8,"direction":"sell"}]},{"id":100021959222685,"ts":1705730556736,"data":[{"amount":48,"quantity":0.048,"trade_turnover":2000.952,"ts":1705730556736,"id":1000219592226850000,"price":41686.5,"direction":"sell"}]},{"id":100021959222904,"ts":1705730557141,"data":[{"amount":192,"quantity":0.192,"trade_turnover":8003.808,"ts":1705730557141,"id":1000219592229040000,"price":41686.5,"direction":"sell"},{"amount":102,"quantity":0.102,"trade_turnover":4252.023,"ts":1705730557141,"id":1000219592229040001,"price":41686.5,"direction":"sell"}]},{"id":100021959223273,"ts":1705730558081,"data":[{"amount":138,"quantity":0.138,"trade_turnover":5752.737,"ts":1705730558081,"id":1000219592232730000,"price":41686.5,"direction":"sell"},{"amount":46,"quantity":0.046,"trade_turnover":1917.579,"ts":1705730558081,"id":1000219592232730001,"price":41686.5,"direction":"sell"},{"amount":62,"quantity":0.062,"trade_turnover":2584.563,"ts":1705730558081,"id":1000219592232730002,"price":41686.5,"direction":"sell"}]},{"id":100021959223726,"ts":1705730559068,"data":[{"amount":110,"quantity":0.11,"trade_turnover":4585.515,"ts":1705730559068,"id":1000219592237260000,"price":41686.5,"direction":"sell"}]},{"id":100021959228167,"ts":1705730586224,"data":[{"amount":18,"quantity":0.018,"trade_turnover":750.222,"ts":1705730586224,"id":1000219592281670000,"price":41679.0,"direction":"buy"}]},{"id":100021959231015,"ts":1705730603911,"data":[{"amount":50,"quantity":0.05,"trade_turnover":2083.945,"ts":1705730603911,"id":1000219592310150000,"price":41678.9,"direction":"sell"}]},{"id":100021959231294,"ts":1705730605476,"data":[{"amount":4,"quantity":0.004,"trade_turnover":166.716,"ts":1705730605476,"id":1000219592312940000,"price":41679.0,"direction":"buy"}]},{"id":100021959232507,"ts":1705730613275,"data":[{"amount":2,"quantity":0.002,"trade_turnover":83.3578,"ts":1705730613275,"id":1000219592325070000,"price":41678.9,"direction":"sell"}]},{"id":100021959233029,"ts":1705730616456,"data":[{"amount":30,"quantity":0.03,"trade_turnover":1250.37,"ts":1705730616456,"id":1000219592330290000,"price":41679.0,"direction":"buy"}]},{"id":100021959234436,"ts":1705730625709,"data":[{"amount":8,"quantity":0.008,"trade_turnover":333.432,"ts":1705730625709,"id":1000219592344360000,"price":41679.0,"direction":"buy"}]},{"id":100021959236650,"ts":1705730640016,"data":[{"amount":8,"quantity":0.008,"trade_turnover":333.432,"ts":1705730640016,"id":1000219592366500000,"price":41679.0,"direction":"buy"}]},{"id":100021959239614,"ts":1705730659732,"data":[{"amount":6,"quantity":0.006,"trade_turnover":250.074,"ts":1705730659732,"id":1000219592396140000,"price":41679.0,"direction":"buy"}]},{"id":100021959241518,"ts":1705730674824,"data":[{"amount":4,"quantity":0.004,"trade_turnover":166.716,"ts":1705730674824,"id":1000219592415180000,"price":41679.0,"direction":"buy"}]},{"id":100021959241682,"ts":1705730675951,"data":[{"amount":8,"quantity":0.008,"trade_turnover":333.432,"ts":1705730675951,"id":1000219592416820000,"price":41679.0,"direction":"buy"}]},{"id":100021959242740,"ts":1705730683460,"data":[{"amount":4,"quantity":0.004,"trade_turnover":166.716,"ts":1705730683460,"id":1000219592427400000,"price":41679.0,"direction":"buy"}]},{"id":100021959245540,"ts":1705730694839,"data":[{"amount":8,"quantity":0.008,"trade_turnover":333.432,"ts":1705730694839,"id":1000219592455400000,"price":41679.0,"direction":"buy"}]},{"id":100021959246185,"ts":1705730699121,"data":[{"amount":2,"quantity":0.002,"trade_turnover":83.358,"ts":1705730699121,"id":1000219592461850000,"price":41679.0,"direction":"buy"}]},{"id":100021959246344,"ts":1705730700032,"data":[{"amount":4,"quantity":0.004,"trade_turnover":166.716,"ts":1705730700032,"id":1000219592463440000,"price":41679.0,"direction":"buy"}]},{"id":100021959249555,"ts":1705730709336,"data":[{"amount":2,"quantity":0.002,"trade_turnover":83.3622,"ts":1705730709336,"id":1000219592495550000,"price":41681.1,"direction":"buy"}]},{"id":100021959250842,"ts":1705730716089,"data":[{"amount":8,"quantity":0.008,"trade_turnover":333.5024,"ts":1705730716089,"id":1000219592508420000,"price":41687.8,"direction":"buy"},{"amount":360,"quantity":0.36,"trade_turnover":15007.608,"ts":1705730716089,"id":1000219592508420001,"price":41687.8,"direction":"buy"},{"amount":76,"quantity":0.076,"trade_turnover":3168.2728,"ts":1705730716089,"id":1000219592508420002,"price":41687.8,"direction":"buy"}]},{"id":100021959252550,"ts":1705730724964,"data":[{"amount":10,"quantity":0.01,"trade_turnover":416.845,"ts":1705730724964,"id":1000219592525500000,"price":41684.5,"direction":"sell"}]},{"id":100021959255847,"ts":1705730736046,"data":[{"amount":22,"quantity":0.022,"trade_turnover":917.026,"ts":1705730736046,"id":1000219592558470000,"price":41683.0,"direction":"buy"}]},{"id":100021959257827,"ts":1705730746713,"data":[{"amount":8,"quantity":0.008,"trade_turnover":333.464,"ts":1705730746713,"id":1000219592578270000,"price":41683.0,"direction":"buy"}]},{"id":100021959258109,"ts":1705730748124,"data":[{"amount":96,"quantity":0.096,"trade_turnover":4001.568,"ts":1705730748124,"id":1000219592581090000,"price":41683.0,"direction":"buy"}]},{"id":100021959259536,"ts":1705730756423,"data":[{"amount":8,"quantity":0.008,"trade_turnover":333.464,"ts":1705730756423,"id":1000219592595360000,"price":41683.0,"direction":"buy"}]},{"id":100021959261073,"ts":1705730765445,"data":[{"amount":8,"quantity":0.008,"trade_turnover":333.464,"ts":1705730765445,"id":1000219592610730000,"price":41683.0,"direction":"buy"}]},{"id":100021959262652,"ts":1705730775582,"data":[{"amount":8,"quantity":0.008,"trade_turnover":333.464,"ts":1705730775582,"id":1000219592626520000,"price":41683.0,"direction":"buy"}]},{"id":100021959263050,"ts":1705730777952,"data":[{"amount":4,"quantity":0.004,"trade_turnover":166.732,"ts":1705730777952,"id":1000219592630500000,"price":41683.0,"direction":"buy"}]},{"id":100021959264518,"ts":1705730782701,"data":[{"amount":8,"quantity":0.008,"trade_turnover":333.4504,"ts":1705730782701,"id":1000219592645180000,"price":41681.3,"direction":"buy"}]},{"id":100021959265744,"ts":1705730789030,"data":[{"amount":8,"quantity":0.008,"trade_turnover":333.4504,"ts":1705730789030,"id":1000219592657440000,"price":41681.3,"direction":"buy"}]},{"id":100021959265996,"ts":1705730790368,"data":[{"amount":2,"quantity":0.002,"trade_turnover":83.3624,"ts":1705730790368,"id":1000219592659960000,"price":41681.2,"direction":"sell"},{"amount":68,"quantity":0.068,"trade_turnover":2834.3216,"ts":1705730790368,"id":1000219592659960001,"price":41681.2,"direction":"sell"}]},{"id":100021959267558,"ts":1705730800248,"data":[{"amount":100,"quantity":0.1,"trade_turnover":4168.12,"ts":1705730800248,"id":1000219592675580000,"price":41681.2,"direction":"sell"}]},{"id":100021959272302,"ts":1705730828777,"data":[{"amount":38,"quantity":0.038,"trade_turnover":1583.8856,"ts":1705730828777,"id":1000219592723020000,"price":41681.2,"direction":"sell"}]},{"id":100021959274000,"ts":1705730839496,"data":[{"amount":4,"quantity":0.004,"trade_turnover":166.7252,"ts":1705730839496,"id":1000219592740000000,"price":41681.3,"direction":"buy"}]},{"id":100021959274761,"ts":1705730845484,"data":[{"amount":2,"quantity":0.002,"trade_turnover":83.3626,"ts":1705730845484,"id":1000219592747610000,"price":41681.3,"direction":"buy"}]},{"id":100021959279207,"ts":1705730870849,"data":[{"amount":4,"quantity":0.004,"trade_turnover":166.7248,"ts":1705730870849,"id":1000219592792070000,"price":41681.2,"direction":"sell"}]}]} +2024-01-20 14:08:10.132 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.getSwapMarketHistoryTradeResponse:89] - 9.批量获取最近的交易记录:{"ch":"market.BTC-USDT.trade.detail","data":[{"data":[{"amount":180,"direction":"sell","id":1000219591093550000,"price":41684.3,"quantity":0.18,"tradeTurnover":7503.174,"ts":1705729930054},{"amount":180,"direction":"sell","id":1000219591093550001,"price":41684.3,"quantity":0.18,"tradeTurnover":7503.174,"ts":1705729930054},{"amount":72,"direction":"sell","id":1000219591093550002,"price":41684.3,"quantity":0.072,"tradeTurnover":3001.2696,"ts":1705729930054},{"amount":156,"direction":"sell","id":1000219591093550003,"price":41684.3,"quantity":0.156,"tradeTurnover":6502.7508,"ts":1705729930054}],"id":100021959109355,"ts":1705729930054},{"data":[{"amount":80,"direction":"sell","id":1000219591125770000,"price":41684.3,"quantity":0.08,"tradeTurnover":3334.744,"ts":1705729949436}],"id":100021959112577,"ts":1705729949436},{"data":[{"amount":38,"direction":"sell","id":1000219591129350000,"price":41684.3,"quantity":0.038,"tradeTurnover":1584.0034,"ts":1705729952031}],"id":100021959112935,"ts":1705729952031},{"data":[{"amount":108,"direction":"sell","id":1000219591132120000,"price":41684.0,"quantity":0.108,"tradeTurnover":4501.872,"ts":1705729952893}],"id":100021959113212,"ts":1705729952893},{"data":[{"amount":2,"direction":"sell","id":1000219591155330000,"price":41678.6,"quantity":0.002,"tradeTurnover":83.3572,"ts":1705729965777},{"amount":2,"direction":"sell","id":1000219591155330001,"price":41678.6,"quantity":0.002,"tradeTurnover":83.3572,"ts":1705729965777},{"amount":120,"direction":"sell","id":1000219591155330002,"price":41678.6,"quantity":0.12,"tradeTurnover":5001.432,"ts":1705729965777}],"id":100021959115533,"ts":1705729965777},{"data":[{"amount":10,"direction":"buy","id":1000219591179590000,"price":41678.7,"quantity":0.01,"tradeTurnover":416.787,"ts":1705729981006}],"id":100021959117959,"ts":1705729981006},{"data":[{"amount":2,"direction":"buy","id":1000219591209770000,"price":41678.7,"quantity":0.002,"tradeTurnover":83.3574,"ts":1705729996220},{"amount":2,"direction":"buy","id":1000219591209770001,"price":41678.7,"quantity":0.002,"tradeTurnover":83.3574,"ts":1705729996220},{"amount":2,"direction":"buy","id":1000219591209770002,"price":41678.7,"quantity":0.002,"tradeTurnover":83.3574,"ts":1705729996220}],"id":100021959120977,"ts":1705729996220},{"data":[{"amount":32,"direction":"buy","id":1000219591281460000,"price":41678.7,"quantity":0.032,"tradeTurnover":1333.7184,"ts":1705730035901},{"amount":360,"direction":"buy","id":1000219591281460001,"price":41678.7,"quantity":0.36,"tradeTurnover":15004.332,"ts":1705730035901},{"amount":38,"direction":"buy","id":1000219591281460002,"price":41678.7,"quantity":0.038,"tradeTurnover":1583.7906,"ts":1705730035901},{"amount":38,"direction":"buy","id":1000219591281460003,"price":41678.7,"quantity":0.038,"tradeTurnover":1583.7906,"ts":1705730035901},{"amount":56,"direction":"buy","id":1000219591281460004,"price":41678.7,"quantity":0.056,"tradeTurnover":2334.0072,"ts":1705730035901}],"id":100021959128146,"ts":1705730035901},{"data":[{"amount":18,"direction":"buy","id":1000219591290500000,"price":41678.7,"quantity":0.018,"tradeTurnover":750.2166,"ts":1705730041543}],"id":100021959129050,"ts":1705730041543},{"data":[{"amount":22,"direction":"sell","id":1000219591301480000,"price":41678.6,"quantity":0.022,"tradeTurnover":916.9292,"ts":1705730044826}],"id":100021959130148,"ts":1705730044826},{"data":[{"amount":6,"direction":"buy","id":1000219591305360000,"price":41678.7,"quantity":0.006,"tradeTurnover":250.0722,"ts":1705730046036},{"amount":94,"direction":"buy","id":1000219591305360001,"price":41678.7,"quantity":0.094,"tradeTurnover":3917.7978,"ts":1705730046036}],"id":100021959130536,"ts":1705730046036},{"data":[{"amount":20,"direction":"buy","id":1000219591321430000,"price":41678.7,"quantity":0.02,"tradeTurnover":833.574,"ts":1705730050699}],"id":100021959132143,"ts":1705730050699},{"data":[{"amount":2,"direction":"buy","id":1000219591349510000,"price":41678.7,"quantity":0.002,"tradeTurnover":83.3574,"ts":1705730058025},{"amount":498,"direction":"buy","id":1000219591349510001,"price":41684.1,"quantity":0.498,"tradeTurnover":20758.6818,"ts":1705730058025}],"id":100021959134951,"ts":1705730058025},{"data":[{"amount":76,"direction":"sell","id":1000219591374740000,"price":41684.0,"quantity":0.076,"tradeTurnover":3167.984,"ts":1705730074883}],"id":100021959137474,"ts":1705730074883},{"data":[{"amount":104,"direction":"sell","id":1000219591401200000,"price":41684.0,"quantity":0.104,"tradeTurnover":4335.136,"ts":1705730091827}],"id":100021959140120,"ts":1705730091827},{"data":[{"amount":32,"direction":"sell","id":1000219591403030000,"price":41678.0,"quantity":0.032,"tradeTurnover":1333.696,"ts":1705730091883}],"id":100021959140303,"ts":1705730091883},{"data":[{"amount":2,"direction":"sell","id":1000219591405010000,"price":41674.5,"quantity":0.002,"tradeTurnover":83.349,"ts":1705730091950},{"amount":240,"direction":"sell","id":1000219591405010001,"price":41674.5,"quantity":0.24,"tradeTurnover":10001.88,"ts":1705730091950}],"id":100021959140501,"ts":1705730091950},{"data":[{"amount":120,"direction":"sell","id":1000219591406570000,"price":41674.5,"quantity":0.12,"tradeTurnover":5000.94,"ts":1705730092041},{"amount":360,"direction":"sell","id":1000219591406570001,"price":41674.5,"quantity":0.36,"tradeTurnover":15002.82,"ts":1705730092041}],"id":100021959140657,"ts":1705730092041},{"data":[{"amount":1116,"direction":"sell","id":1000219591407670000,"price":41674.5,"quantity":1.116,"tradeTurnover":46508.742,"ts":1705730092146}],"id":100021959140767,"ts":1705730092146},{"data":[{"amount":22,"direction":"buy","id":1000219591416980000,"price":41667.3,"quantity":0.022,"tradeTurnover":916.6806,"ts":1705730096681}],"id":100021959141698,"ts":1705730096681},{"data":[{"amount":240,"direction":"sell","id":1000219591497260000,"price":41665.8,"quantity":0.24,"tradeTurnover":9999.792,"ts":1705730139822},{"amount":120,"direction":"sell","id":1000219591497260001,"price":41665.8,"quantity":0.12,"tradeTurnover":4999.896,"ts":1705730139822}],"id":100021959149726,"ts":1705730139822},{"data":[{"amount":14,"direction":"buy","id":1000219591524320000,"price":41661.6,"quantity":0.014,"tradeTurnover":583.2624,"ts":1705730157659}],"id":100021959152432,"ts":1705730157659},{"data":[{"amount":2,"direction":"sell","id":1000219591529300000,"price":41661.5,"quantity":0.002,"tradeTurnover":83.323,"ts":1705730160807}],"id":100021959152930,"ts":1705730160807},{"data":[{"amount":4,"direction":"sell","id":1000219591559840000,"price":41661.5,"quantity":0.004,"tradeTurnover":166.646,"ts":1705730180234}],"id":100021959155984,"ts":1705730180234},{"data":[{"amount":8,"direction":"buy","id":1000219591577830000,"price":41661.6,"quantity":0.008,"tradeTurnover":333.2928,"ts":1705730189460}],"id":100021959157783,"ts":1705730189460},{"data":[{"amount":8,"direction":"buy","id":1000219591579960000,"price":41661.6,"quantity":0.008,"tradeTurnover":333.2928,"ts":1705730189972}],"id":100021959157996,"ts":1705730189972},{"data":[{"amount":24,"direction":"buy","id":1000219591613070000,"price":41661.6,"quantity":0.024,"tradeTurnover":999.8784,"ts":1705730201402}],"id":100021959161307,"ts":1705730201402},{"data":[{"amount":320,"direction":"buy","id":1000219591616810000,"price":41661.6,"quantity":0.32,"tradeTurnover":13331.712,"ts":1705730202217}],"id":100021959161681,"ts":1705730202217},{"data":[{"amount":18,"direction":"buy","id":1000219591617510000,"price":41662.0,"quantity":0.018,"tradeTurnover":749.916,"ts":1705730202250}],"id":100021959161751,"ts":1705730202250},{"data":[{"amount":18,"direction":"buy","id":1000219591617950000,"price":41668.7,"quantity":0.018,"tradeTurnover":750.0366,"ts":1705730202276}],"id":100021959161795,"ts":1705730202276},{"data":[{"amount":14,"direction":"buy","id":1000219591618530000,"price":41673.2,"quantity":0.014,"tradeTurnover":583.4248,"ts":1705730202292},{"amount":932,"direction":"buy","id":1000219591618530001,"price":41673.2,"quantity":0.932,"tradeTurnover":38839.4224,"ts":1705730202292}],"id":100021959161853,"ts":1705730202292},{"data":[{"amount":1132,"direction":"buy","id":1000219591620200000,"price":41668.7,"quantity":1.132,"tradeTurnover":47168.9684,"ts":1705730202350}],"id":100021959162020,"ts":1705730202350},{"data":[{"amount":2,"direction":"sell","id":1000219591626170000,"price":41673.0,"quantity":0.002,"tradeTurnover":83.346,"ts":1705730203594}],"id":100021959162617,"ts":1705730203594},{"data":[{"amount":2,"direction":"sell","id":1000219591656700000,"price":41677.7,"quantity":0.002,"tradeTurnover":83.3554,"ts":1705730216920}],"id":100021959165670,"ts":1705730216920},{"data":[{"amount":6,"direction":"buy","id":1000219591667330000,"price":41677.8,"quantity":0.006,"tradeTurnover":250.0668,"ts":1705730223156}],"id":100021959166733,"ts":1705730223156},{"data":[{"amount":2,"direction":"buy","id":1000219591725220000,"price":41677.8,"quantity":0.002,"tradeTurnover":83.3556,"ts":1705730260462}],"id":100021959172522,"ts":1705730260462},{"data":[{"amount":48,"direction":"buy","id":1000219591729100000,"price":41677.8,"quantity":0.048,"tradeTurnover":2000.5344,"ts":1705730263027}],"id":100021959172910,"ts":1705730263027},{"data":[{"amount":48,"direction":"buy","id":1000219591729910000,"price":41677.8,"quantity":0.048,"tradeTurnover":2000.5344,"ts":1705730263540}],"id":100021959172991,"ts":1705730263540},{"data":[{"amount":16,"direction":"buy","id":1000219591756800000,"price":41677.8,"quantity":0.016,"tradeTurnover":666.8448,"ts":1705730280779},{"amount":120,"direction":"buy","id":1000219591756800001,"price":41677.8,"quantity":0.12,"tradeTurnover":5001.336,"ts":1705730280779},{"amount":1078,"direction":"buy","id":1000219591756800002,"price":41677.8,"quantity":1.078,"tradeTurnover":44928.6684,"ts":1705730280779},{"amount":804,"direction":"buy","id":1000219591756800003,"price":41677.8,"quantity":0.804,"tradeTurnover":33508.9512,"ts":1705730280779}],"id":100021959175680,"ts":1705730280779},{"data":[{"amount":12,"direction":"sell","id":1000219591779430000,"price":41681.5,"quantity":0.012,"tradeTurnover":500.178,"ts":1705730295192},{"amount":66,"direction":"sell","id":1000219591779430001,"price":41681.5,"quantity":0.066,"tradeTurnover":2750.979,"ts":1705730295192}],"id":100021959177943,"ts":1705730295192},{"data":[{"amount":246,"direction":"sell","id":1000219591795130000,"price":41681.5,"quantity":0.246,"tradeTurnover":10253.649,"ts":1705730305955}],"id":100021959179513,"ts":1705730305955},{"data":[{"amount":8,"direction":"sell","id":1000219591835390000,"price":41675.1,"quantity":0.008,"tradeTurnover":333.4008,"ts":1705730325322}],"id":100021959183539,"ts":1705730325322},{"data":[{"amount":8,"direction":"buy","id":1000219591896300000,"price":41677.5,"quantity":0.008,"tradeTurnover":333.42,"ts":1705730361282}],"id":100021959189630,"ts":1705730361282},{"data":[{"amount":2,"direction":"sell","id":1000219591939260000,"price":41677.4,"quantity":0.002,"tradeTurnover":83.3548,"ts":1705730386997},{"amount":220,"direction":"sell","id":1000219591939260001,"price":41677.4,"quantity":0.22,"tradeTurnover":9169.028,"ts":1705730386997},{"amount":274,"direction":"sell","id":1000219591939260002,"price":41677.4,"quantity":0.274,"tradeTurnover":11419.6076,"ts":1705730386997}],"id":100021959193926,"ts":1705730386997},{"data":[{"amount":48,"direction":"sell","id":1000219591956470000,"price":41686.5,"quantity":0.048,"tradeTurnover":2000.952,"ts":1705730394478}],"id":100021959195647,"ts":1705730394478},{"data":[{"amount":22,"direction":"sell","id":1000219591966950000,"price":41686.5,"quantity":0.022,"tradeTurnover":917.103,"ts":1705730401483}],"id":100021959196695,"ts":1705730401483},{"data":[{"amount":12,"direction":"buy","id":1000219591992240000,"price":41686.6,"quantity":0.012,"tradeTurnover":500.2392,"ts":1705730417793}],"id":100021959199224,"ts":1705730417793},{"data":[{"amount":62,"direction":"buy","id":1000219592006160000,"price":41686.6,"quantity":0.062,"tradeTurnover":2584.5692,"ts":1705730428231},{"amount":144,"direction":"buy","id":1000219592006160001,"price":41686.6,"quantity":0.144,"tradeTurnover":6002.8704,"ts":1705730428231}],"id":100021959200616,"ts":1705730428231},{"data":[{"amount":4,"direction":"buy","id":1000219592040130000,"price":41687.9,"quantity":0.004,"tradeTurnover":166.7516,"ts":1705730448740}],"id":100021959204013,"ts":1705730448740},{"data":[{"amount":4,"direction":"buy","id":1000219592053660000,"price":41687.9,"quantity":0.004,"tradeTurnover":166.7516,"ts":1705730456042}],"id":100021959205366,"ts":1705730456042},{"data":[{"amount":6,"direction":"buy","id":1000219592067190000,"price":41687.9,"quantity":0.006,"tradeTurnover":250.1274,"ts":1705730459859}],"id":100021959206719,"ts":1705730459859},{"data":[{"amount":8,"direction":"buy","id":1000219592070230000,"price":41687.9,"quantity":0.008,"tradeTurnover":333.5032,"ts":1705730461285}],"id":100021959207023,"ts":1705730461285},{"data":[{"amount":4,"direction":"buy","id":1000219592087900000,"price":41687.9,"quantity":0.004,"tradeTurnover":166.7516,"ts":1705730471136}],"id":100021959208790,"ts":1705730471136},{"data":[{"amount":4,"direction":"buy","id":1000219592101430000,"price":41687.9,"quantity":0.004,"tradeTurnover":166.7516,"ts":1705730479196}],"id":100021959210143,"ts":1705730479196},{"data":[{"amount":8,"direction":"buy","id":1000219592132260000,"price":41687.9,"quantity":0.008,"tradeTurnover":333.5032,"ts":1705730500500}],"id":100021959213226,"ts":1705730500500},{"data":[{"amount":4,"direction":"buy","id":1000219592146110000,"price":41687.9,"quantity":0.004,"tradeTurnover":166.7516,"ts":1705730510026}],"id":100021959214611,"ts":1705730510026},{"data":[{"amount":4,"direction":"buy","id":1000219592170390000,"price":41687.9,"quantity":0.004,"tradeTurnover":166.7516,"ts":1705730524481}],"id":100021959217039,"ts":1705730524481},{"data":[{"amount":6,"direction":"buy","id":1000219592190910000,"price":41687.9,"quantity":0.006,"tradeTurnover":250.1274,"ts":1705730539291}],"id":100021959219091,"ts":1705730539291},{"data":[{"amount":18,"direction":"sell","id":1000219592200760000,"price":41687.8,"quantity":0.018,"tradeTurnover":750.3804,"ts":1705730546214}],"id":100021959220076,"ts":1705730546214},{"data":[{"amount":4,"direction":"buy","id":1000219592203870000,"price":41687.9,"quantity":0.004,"tradeTurnover":166.7516,"ts":1705730548187}],"id":100021959220387,"ts":1705730548187},{"data":[{"amount":360,"direction":"sell","id":1000219592211590000,"price":41687.8,"quantity":0.36,"tradeTurnover":15007.608,"ts":1705730553046},{"amount":694,"direction":"sell","id":1000219592211590001,"price":41687.8,"quantity":0.694,"tradeTurnover":28931.3332,"ts":1705730553046}],"id":100021959221159,"ts":1705730553046},{"data":[{"amount":6,"direction":"buy","id":1000219592215740000,"price":41687.9,"quantity":0.006,"tradeTurnover":250.1274,"ts":1705730554327}],"id":100021959221574,"ts":1705730554327},{"data":[{"amount":280,"direction":"sell","id":1000219592221200000,"price":41687.8,"quantity":0.28,"tradeTurnover":11672.584,"ts":1705730555592}],"id":100021959222120,"ts":1705730555592},{"data":[{"amount":142,"direction":"sell","id":1000219592223320000,"price":41687.8,"quantity":0.142,"tradeTurnover":5919.6676,"ts":1705730555979},{"amount":116,"direction":"sell","id":1000219592223320001,"price":41687.8,"quantity":0.116,"tradeTurnover":4835.7848,"ts":1705730555979}],"id":100021959222332,"ts":1705730555979},{"data":[{"amount":48,"direction":"sell","id":1000219592226850000,"price":41686.5,"quantity":0.048,"tradeTurnover":2000.952,"ts":1705730556736}],"id":100021959222685,"ts":1705730556736},{"data":[{"amount":192,"direction":"sell","id":1000219592229040000,"price":41686.5,"quantity":0.192,"tradeTurnover":8003.808,"ts":1705730557141},{"amount":102,"direction":"sell","id":1000219592229040001,"price":41686.5,"quantity":0.102,"tradeTurnover":4252.023,"ts":1705730557141}],"id":100021959222904,"ts":1705730557141},{"data":[{"amount":138,"direction":"sell","id":1000219592232730000,"price":41686.5,"quantity":0.138,"tradeTurnover":5752.737,"ts":1705730558081},{"amount":46,"direction":"sell","id":1000219592232730001,"price":41686.5,"quantity":0.046,"tradeTurnover":1917.579,"ts":1705730558081},{"amount":62,"direction":"sell","id":1000219592232730002,"price":41686.5,"quantity":0.062,"tradeTurnover":2584.563,"ts":1705730558081}],"id":100021959223273,"ts":1705730558081},{"data":[{"amount":110,"direction":"sell","id":1000219592237260000,"price":41686.5,"quantity":0.11,"tradeTurnover":4585.515,"ts":1705730559068}],"id":100021959223726,"ts":1705730559068},{"data":[{"amount":18,"direction":"buy","id":1000219592281670000,"price":41679.0,"quantity":0.018,"tradeTurnover":750.222,"ts":1705730586224}],"id":100021959228167,"ts":1705730586224},{"data":[{"amount":50,"direction":"sell","id":1000219592310150000,"price":41678.9,"quantity":0.05,"tradeTurnover":2083.945,"ts":1705730603911}],"id":100021959231015,"ts":1705730603911},{"data":[{"amount":4,"direction":"buy","id":1000219592312940000,"price":41679.0,"quantity":0.004,"tradeTurnover":166.716,"ts":1705730605476}],"id":100021959231294,"ts":1705730605476},{"data":[{"amount":2,"direction":"sell","id":1000219592325070000,"price":41678.9,"quantity":0.002,"tradeTurnover":83.3578,"ts":1705730613275}],"id":100021959232507,"ts":1705730613275},{"data":[{"amount":30,"direction":"buy","id":1000219592330290000,"price":41679.0,"quantity":0.03,"tradeTurnover":1250.37,"ts":1705730616456}],"id":100021959233029,"ts":1705730616456},{"data":[{"amount":8,"direction":"buy","id":1000219592344360000,"price":41679.0,"quantity":0.008,"tradeTurnover":333.432,"ts":1705730625709}],"id":100021959234436,"ts":1705730625709},{"data":[{"amount":8,"direction":"buy","id":1000219592366500000,"price":41679.0,"quantity":0.008,"tradeTurnover":333.432,"ts":1705730640016}],"id":100021959236650,"ts":1705730640016},{"data":[{"amount":6,"direction":"buy","id":1000219592396140000,"price":41679.0,"quantity":0.006,"tradeTurnover":250.074,"ts":1705730659732}],"id":100021959239614,"ts":1705730659732},{"data":[{"amount":4,"direction":"buy","id":1000219592415180000,"price":41679.0,"quantity":0.004,"tradeTurnover":166.716,"ts":1705730674824}],"id":100021959241518,"ts":1705730674824},{"data":[{"amount":8,"direction":"buy","id":1000219592416820000,"price":41679.0,"quantity":0.008,"tradeTurnover":333.432,"ts":1705730675951}],"id":100021959241682,"ts":1705730675951},{"data":[{"amount":4,"direction":"buy","id":1000219592427400000,"price":41679.0,"quantity":0.004,"tradeTurnover":166.716,"ts":1705730683460}],"id":100021959242740,"ts":1705730683460},{"data":[{"amount":8,"direction":"buy","id":1000219592455400000,"price":41679.0,"quantity":0.008,"tradeTurnover":333.432,"ts":1705730694839}],"id":100021959245540,"ts":1705730694839},{"data":[{"amount":2,"direction":"buy","id":1000219592461850000,"price":41679.0,"quantity":0.002,"tradeTurnover":83.358,"ts":1705730699121}],"id":100021959246185,"ts":1705730699121},{"data":[{"amount":4,"direction":"buy","id":1000219592463440000,"price":41679.0,"quantity":0.004,"tradeTurnover":166.716,"ts":1705730700032}],"id":100021959246344,"ts":1705730700032},{"data":[{"amount":2,"direction":"buy","id":1000219592495550000,"price":41681.1,"quantity":0.002,"tradeTurnover":83.3622,"ts":1705730709336}],"id":100021959249555,"ts":1705730709336},{"data":[{"amount":8,"direction":"buy","id":1000219592508420000,"price":41687.8,"quantity":0.008,"tradeTurnover":333.5024,"ts":1705730716089},{"amount":360,"direction":"buy","id":1000219592508420001,"price":41687.8,"quantity":0.36,"tradeTurnover":15007.608,"ts":1705730716089},{"amount":76,"direction":"buy","id":1000219592508420002,"price":41687.8,"quantity":0.076,"tradeTurnover":3168.2728,"ts":1705730716089}],"id":100021959250842,"ts":1705730716089},{"data":[{"amount":10,"direction":"sell","id":1000219592525500000,"price":41684.5,"quantity":0.01,"tradeTurnover":416.845,"ts":1705730724964}],"id":100021959252550,"ts":1705730724964},{"data":[{"amount":22,"direction":"buy","id":1000219592558470000,"price":41683.0,"quantity":0.022,"tradeTurnover":917.026,"ts":1705730736046}],"id":100021959255847,"ts":1705730736046},{"data":[{"amount":8,"direction":"buy","id":1000219592578270000,"price":41683.0,"quantity":0.008,"tradeTurnover":333.464,"ts":1705730746713}],"id":100021959257827,"ts":1705730746713},{"data":[{"amount":96,"direction":"buy","id":1000219592581090000,"price":41683.0,"quantity":0.096,"tradeTurnover":4001.568,"ts":1705730748124}],"id":100021959258109,"ts":1705730748124},{"data":[{"amount":8,"direction":"buy","id":1000219592595360000,"price":41683.0,"quantity":0.008,"tradeTurnover":333.464,"ts":1705730756423}],"id":100021959259536,"ts":1705730756423},{"data":[{"amount":8,"direction":"buy","id":1000219592610730000,"price":41683.0,"quantity":0.008,"tradeTurnover":333.464,"ts":1705730765445}],"id":100021959261073,"ts":1705730765445},{"data":[{"amount":8,"direction":"buy","id":1000219592626520000,"price":41683.0,"quantity":0.008,"tradeTurnover":333.464,"ts":1705730775582}],"id":100021959262652,"ts":1705730775582},{"data":[{"amount":4,"direction":"buy","id":1000219592630500000,"price":41683.0,"quantity":0.004,"tradeTurnover":166.732,"ts":1705730777952}],"id":100021959263050,"ts":1705730777952},{"data":[{"amount":8,"direction":"buy","id":1000219592645180000,"price":41681.3,"quantity":0.008,"tradeTurnover":333.4504,"ts":1705730782701}],"id":100021959264518,"ts":1705730782701},{"data":[{"amount":8,"direction":"buy","id":1000219592657440000,"price":41681.3,"quantity":0.008,"tradeTurnover":333.4504,"ts":1705730789030}],"id":100021959265744,"ts":1705730789030},{"data":[{"amount":2,"direction":"sell","id":1000219592659960000,"price":41681.2,"quantity":0.002,"tradeTurnover":83.3624,"ts":1705730790368},{"amount":68,"direction":"sell","id":1000219592659960001,"price":41681.2,"quantity":0.068,"tradeTurnover":2834.3216,"ts":1705730790368}],"id":100021959265996,"ts":1705730790368},{"data":[{"amount":100,"direction":"sell","id":1000219592675580000,"price":41681.2,"quantity":0.1,"tradeTurnover":4168.12,"ts":1705730800248}],"id":100021959267558,"ts":1705730800248},{"data":[{"amount":38,"direction":"sell","id":1000219592723020000,"price":41681.2,"quantity":0.038,"tradeTurnover":1583.8856,"ts":1705730828777}],"id":100021959272302,"ts":1705730828777},{"data":[{"amount":4,"direction":"buy","id":1000219592740000000,"price":41681.3,"quantity":0.004,"tradeTurnover":166.7252,"ts":1705730839496}],"id":100021959274000,"ts":1705730839496},{"data":[{"amount":2,"direction":"buy","id":1000219592747610000,"price":41681.3,"quantity":0.002,"tradeTurnover":83.3626,"ts":1705730845484}],"id":100021959274761,"ts":1705730845484},{"data":[{"amount":4,"direction":"sell","id":1000219592792070000,"price":41681.2,"quantity":0.004,"tradeTurnover":166.7248,"ts":1705730870849}],"id":100021959279207,"ts":1705730870849}],"status":"ok","ts":1705730883173} +2024-01-20 14:15:01.181 [DEBUG] [main] [com.huobi.api.service.usdt.market.MarketAPIServiceImpl.getSwapAdjustfactor:324] - body:{"status":"ok","data":[{"symbol":"BTC","contract_code":"BTC-USDT","margin_mode":"isolated","trade_partition":"USDT","list":[{"lever_rate":200,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.600000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.650000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.700000000000000000}]},{"lever_rate":199,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.550000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.650000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.700000000000000000}]},{"lever_rate":198,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.550000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.650000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.700000000000000000}]},{"lever_rate":197,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.550000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.650000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.700000000000000000}]},{"lever_rate":196,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.550000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.650000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.700000000000000000}]},{"lever_rate":195,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.550000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.650000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.700000000000000000}]},{"lever_rate":194,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.550000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.650000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.700000000000000000}]},{"lever_rate":193,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.550000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.650000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.700000000000000000}]},{"lever_rate":192,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.550000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.650000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.700000000000000000}]},{"lever_rate":191,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.550000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.650000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.700000000000000000}]},{"lever_rate":190,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.550000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.650000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.700000000000000000}]},{"lever_rate":189,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.550000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.650000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.700000000000000000}]},{"lever_rate":188,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.550000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.650000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.700000000000000000}]},{"lever_rate":187,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.550000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.650000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.700000000000000000}]},{"lever_rate":186,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.550000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.650000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.700000000000000000}]},{"lever_rate":185,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.550000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.650000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.700000000000000000}]},{"lever_rate":184,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.550000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.650000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.700000000000000000}]},{"lever_rate":183,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.550000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.650000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.700000000000000000}]},{"lever_rate":182,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.550000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.650000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.700000000000000000}]},{"lever_rate":181,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.550000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.650000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.700000000000000000}]},{"lever_rate":180,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.550000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.650000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.700000000000000000}]},{"lever_rate":179,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.550000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.650000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.700000000000000000}]},{"lever_rate":178,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.550000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.650000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.700000000000000000}]},{"lever_rate":177,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.550000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.650000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.700000000000000000}]},{"lever_rate":176,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.550000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.650000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.700000000000000000}]},{"lever_rate":175,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.550000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.650000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.700000000000000000}]},{"lever_rate":174,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.550000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.650000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.700000000000000000}]},{"lever_rate":173,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.550000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.650000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.700000000000000000}]},{"lever_rate":172,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.550000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.650000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.700000000000000000}]},{"lever_rate":171,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.550000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.650000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.700000000000000000}]},{"lever_rate":170,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.550000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.650000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.700000000000000000}]},{"lever_rate":169,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.550000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.650000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.700000000000000000}]},{"lever_rate":168,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.550000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.650000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.700000000000000000}]},{"lever_rate":167,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.550000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.650000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.700000000000000000}]},{"lever_rate":166,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.550000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.650000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.700000000000000000}]},{"lever_rate":165,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.550000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.650000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.700000000000000000}]},{"lever_rate":164,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.550000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.650000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.700000000000000000}]},{"lever_rate":163,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.550000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.650000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.700000000000000000}]},{"lever_rate":162,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.550000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.650000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.700000000000000000}]},{"lever_rate":161,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.550000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.650000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.700000000000000000}]},{"lever_rate":160,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.550000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.650000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.700000000000000000}]},{"lever_rate":159,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.550000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.650000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.700000000000000000}]},{"lever_rate":158,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.550000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.650000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.700000000000000000}]},{"lever_rate":157,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.550000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.650000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.700000000000000000}]},{"lever_rate":156,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.550000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.650000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.700000000000000000}]},{"lever_rate":155,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.550000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.650000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.700000000000000000}]},{"lever_rate":154,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.550000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.650000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.700000000000000000}]},{"lever_rate":153,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.550000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.650000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.700000000000000000}]},{"lever_rate":152,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.550000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.650000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.700000000000000000}]},{"lever_rate":151,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.550000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.650000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.700000000000000000}]},{"lever_rate":150,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.550000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.650000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.700000000000000000}]},{"lever_rate":149,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.500000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.600000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.650000000000000000}]},{"lever_rate":148,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.500000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.600000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.650000000000000000}]},{"lever_rate":147,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.500000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.600000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.650000000000000000}]},{"lever_rate":146,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.500000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.600000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.650000000000000000}]},{"lever_rate":145,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.500000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.600000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.650000000000000000}]},{"lever_rate":144,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.500000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.600000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.650000000000000000}]},{"lever_rate":143,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.500000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.600000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.650000000000000000}]},{"lever_rate":142,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.500000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.600000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.650000000000000000}]},{"lever_rate":141,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.500000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.600000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.650000000000000000}]},{"lever_rate":140,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.500000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.600000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.650000000000000000}]},{"lever_rate":139,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.500000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.600000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.650000000000000000}]},{"lever_rate":138,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.500000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.600000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.650000000000000000}]},{"lever_rate":137,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.500000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.600000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.650000000000000000}]},{"lever_rate":136,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.500000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.600000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.650000000000000000}]},{"lever_rate":135,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.500000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.600000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.650000000000000000}]},{"lever_rate":134,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.500000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.600000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.650000000000000000}]},{"lever_rate":133,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.500000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.600000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.650000000000000000}]},{"lever_rate":132,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.500000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.600000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.650000000000000000}]},{"lever_rate":131,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.500000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.600000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.650000000000000000}]},{"lever_rate":130,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.500000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.600000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.650000000000000000}]},{"lever_rate":129,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.500000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.600000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.650000000000000000}]},{"lever_rate":128,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.500000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.600000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.650000000000000000}]},{"lever_rate":127,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.500000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.600000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.650000000000000000}]},{"lever_rate":126,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.500000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.600000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.650000000000000000}]},{"lever_rate":125,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.500000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.600000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.650000000000000000}]},{"lever_rate":124,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.400000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.500000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.600000000000000000}]},{"lever_rate":123,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.400000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.500000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.600000000000000000}]},{"lever_rate":122,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.400000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.500000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.600000000000000000}]},{"lever_rate":121,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.400000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.500000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.600000000000000000}]},{"lever_rate":120,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.400000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.500000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.600000000000000000}]},{"lever_rate":119,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.400000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.500000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.600000000000000000}]},{"lever_rate":118,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.400000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.500000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.600000000000000000}]},{"lever_rate":117,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.400000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.500000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.600000000000000000}]},{"lever_rate":116,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.400000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.500000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.600000000000000000}]},{"lever_rate":115,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.400000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.500000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.600000000000000000}]},{"lever_rate":114,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.400000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.500000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.600000000000000000}]},{"lever_rate":113,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.400000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.500000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.600000000000000000}]},{"lever_rate":112,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.400000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.500000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.600000000000000000}]},{"lever_rate":111,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.400000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.500000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.600000000000000000}]},{"lever_rate":110,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.400000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.500000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.600000000000000000}]},{"lever_rate":109,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.400000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.500000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.600000000000000000}]},{"lever_rate":108,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.400000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.500000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.600000000000000000}]},{"lever_rate":107,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.400000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.500000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.600000000000000000}]},{"lever_rate":106,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.400000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.500000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.600000000000000000}]},{"lever_rate":105,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.400000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.500000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.600000000000000000}]},{"lever_rate":104,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.400000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.500000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.600000000000000000}]},{"lever_rate":103,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.400000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.500000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.600000000000000000}]},{"lever_rate":102,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.400000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.500000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.600000000000000000}]},{"lever_rate":101,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.400000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.500000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.600000000000000000}]},{"lever_rate":100,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.400000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.500000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.600000000000000000}]},{"lever_rate":99,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.300000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.400000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.550000000000000000}]},{"lever_rate":98,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.300000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.400000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.550000000000000000}]},{"lever_rate":97,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.300000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.400000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.550000000000000000}]},{"lever_rate":96,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.300000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.400000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.550000000000000000}]},{"lever_rate":95,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.300000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.400000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.550000000000000000}]},{"lever_rate":94,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.300000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.400000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.550000000000000000}]},{"lever_rate":93,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.300000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.400000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.550000000000000000}]},{"lever_rate":92,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.300000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.400000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.550000000000000000}]},{"lever_rate":91,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.300000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.400000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.550000000000000000}]},{"lever_rate":90,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.300000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.400000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.550000000000000000}]},{"lever_rate":89,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.300000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.400000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.550000000000000000}]},{"lever_rate":88,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.300000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.400000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.550000000000000000}]},{"lever_rate":87,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.300000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.400000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.550000000000000000}]},{"lever_rate":86,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.300000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.400000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.550000000000000000}]},{"lever_rate":85,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.300000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.400000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.550000000000000000}]},{"lever_rate":84,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.300000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.400000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.550000000000000000}]},{"lever_rate":83,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.300000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.400000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.550000000000000000}]},{"lever_rate":82,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.300000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.400000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.550000000000000000}]},{"lever_rate":81,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.300000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.400000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.550000000000000000}]},{"lever_rate":80,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.300000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.400000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.550000000000000000}]},{"lever_rate":79,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.300000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.400000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.550000000000000000}]},{"lever_rate":78,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.300000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.400000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.550000000000000000}]},{"lever_rate":77,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.300000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.400000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.550000000000000000}]},{"lever_rate":76,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.300000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.400000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.550000000000000000}]},{"lever_rate":75,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.300000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.400000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.550000000000000000}]},{"lever_rate":74,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.200000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.350000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.500000000000000000}]},{"lever_rate":73,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.200000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.350000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.500000000000000000}]},{"lever_rate":72,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.200000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.350000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.500000000000000000}]},{"lever_rate":71,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.200000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.350000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.500000000000000000}]},{"lever_rate":70,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.200000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.350000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.500000000000000000}]},{"lever_rate":69,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.200000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.350000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.500000000000000000}]},{"lever_rate":68,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.200000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.350000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.500000000000000000}]},{"lever_rate":67,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.200000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.350000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.500000000000000000}]},{"lever_rate":66,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.200000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.350000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.500000000000000000}]},{"lever_rate":65,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.200000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.350000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.500000000000000000}]},{"lever_rate":64,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.200000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.350000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.500000000000000000}]},{"lever_rate":63,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.200000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.350000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.500000000000000000}]},{"lever_rate":62,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.200000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.350000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.500000000000000000}]},{"lever_rate":61,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.200000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.350000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.500000000000000000}]},{"lever_rate":60,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.200000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.350000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.500000000000000000}]},{"lever_rate":59,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.200000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.350000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.500000000000000000}]},{"lever_rate":58,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.200000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.350000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.500000000000000000}]},{"lever_rate":57,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.200000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.350000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.500000000000000000}]},{"lever_rate":56,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.200000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.350000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.500000000000000000}]},{"lever_rate":55,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.200000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.350000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.500000000000000000}]},{"lever_rate":54,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.200000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.350000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.500000000000000000}]},{"lever_rate":53,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.200000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.350000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.500000000000000000}]},{"lever_rate":52,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.200000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.350000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.500000000000000000}]},{"lever_rate":51,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.200000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.350000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.500000000000000000}]},{"lever_rate":50,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.200000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.350000000000000000},{"ladder":2,"min_size":40000,"max_size":null,"adjust_factor":0.500000000000000000}]},{"lever_rate":49,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.120000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.200000000000000000},{"ladder":2,"min_size":40000,"max_size":79999,"adjust_factor":0.300000000000000000},{"ladder":3,"min_size":80000,"max_size":null,"adjust_factor":0.400000000000000000}]},{"lever_rate":48,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.120000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.200000000000000000},{"ladder":2,"min_size":40000,"max_size":79999,"adjust_factor":0.300000000000000000},{"ladder":3,"min_size":80000,"max_size":null,"adjust_factor":0.400000000000000000}]},{"lever_rate":47,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.120000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.200000000000000000},{"ladder":2,"min_size":40000,"max_size":79999,"adjust_factor":0.300000000000000000},{"ladder":3,"min_size":80000,"max_size":null,"adjust_factor":0.400000000000000000}]},{"lever_rate":46,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.120000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.200000000000000000},{"ladder":2,"min_size":40000,"max_size":79999,"adjust_factor":0.300000000000000000},{"ladder":3,"min_size":80000,"max_size":null,"adjust_factor":0.400000000000000000}]},{"lever_rate":45,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.120000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.200000000000000000},{"ladder":2,"min_size":40000,"max_size":79999,"adjust_factor":0.300000000000000000},{"ladder":3,"min_size":80000,"max_size":null,"adjust_factor":0.400000000000000000}]},{"lever_rate":44,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.120000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.200000000000000000},{"ladder":2,"min_size":40000,"max_size":79999,"adjust_factor":0.300000000000000000},{"ladder":3,"min_size":80000,"max_size":null,"adjust_factor":0.400000000000000000}]},{"lever_rate":43,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.120000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.200000000000000000},{"ladder":2,"min_size":40000,"max_size":79999,"adjust_factor":0.300000000000000000},{"ladder":3,"min_size":80000,"max_size":null,"adjust_factor":0.400000000000000000}]},{"lever_rate":42,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.120000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.200000000000000000},{"ladder":2,"min_size":40000,"max_size":79999,"adjust_factor":0.300000000000000000},{"ladder":3,"min_size":80000,"max_size":null,"adjust_factor":0.400000000000000000}]},{"lever_rate":41,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.120000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.200000000000000000},{"ladder":2,"min_size":40000,"max_size":79999,"adjust_factor":0.300000000000000000},{"ladder":3,"min_size":80000,"max_size":null,"adjust_factor":0.400000000000000000}]},{"lever_rate":40,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.120000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.200000000000000000},{"ladder":2,"min_size":40000,"max_size":79999,"adjust_factor":0.300000000000000000},{"ladder":3,"min_size":80000,"max_size":null,"adjust_factor":0.400000000000000000}]},{"lever_rate":39,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.120000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.200000000000000000},{"ladder":2,"min_size":40000,"max_size":79999,"adjust_factor":0.300000000000000000},{"ladder":3,"min_size":80000,"max_size":null,"adjust_factor":0.400000000000000000}]},{"lever_rate":38,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.120000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.200000000000000000},{"ladder":2,"min_size":40000,"max_size":79999,"adjust_factor":0.300000000000000000},{"ladder":3,"min_size":80000,"max_size":null,"adjust_factor":0.400000000000000000}]},{"lever_rate":37,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.120000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.200000000000000000},{"ladder":2,"min_size":40000,"max_size":79999,"adjust_factor":0.300000000000000000},{"ladder":3,"min_size":80000,"max_size":null,"adjust_factor":0.400000000000000000}]},{"lever_rate":36,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.120000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.200000000000000000},{"ladder":2,"min_size":40000,"max_size":79999,"adjust_factor":0.300000000000000000},{"ladder":3,"min_size":80000,"max_size":null,"adjust_factor":0.400000000000000000}]},{"lever_rate":35,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.120000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.200000000000000000},{"ladder":2,"min_size":40000,"max_size":79999,"adjust_factor":0.300000000000000000},{"ladder":3,"min_size":80000,"max_size":null,"adjust_factor":0.400000000000000000}]},{"lever_rate":34,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.120000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.200000000000000000},{"ladder":2,"min_size":40000,"max_size":79999,"adjust_factor":0.300000000000000000},{"ladder":3,"min_size":80000,"max_size":null,"adjust_factor":0.400000000000000000}]},{"lever_rate":33,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.120000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.200000000000000000},{"ladder":2,"min_size":40000,"max_size":79999,"adjust_factor":0.300000000000000000},{"ladder":3,"min_size":80000,"max_size":null,"adjust_factor":0.400000000000000000}]},{"lever_rate":32,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.120000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.200000000000000000},{"ladder":2,"min_size":40000,"max_size":79999,"adjust_factor":0.300000000000000000},{"ladder":3,"min_size":80000,"max_size":null,"adjust_factor":0.400000000000000000}]},{"lever_rate":31,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.120000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.200000000000000000},{"ladder":2,"min_size":40000,"max_size":79999,"adjust_factor":0.300000000000000000},{"ladder":3,"min_size":80000,"max_size":null,"adjust_factor":0.400000000000000000}]},{"lever_rate":30,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.120000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.200000000000000000},{"ladder":2,"min_size":40000,"max_size":79999,"adjust_factor":0.300000000000000000},{"ladder":3,"min_size":80000,"max_size":null,"adjust_factor":0.400000000000000000}]},{"lever_rate":29,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.080000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.150000000000000000},{"ladder":2,"min_size":40000,"max_size":79999,"adjust_factor":0.200000000000000000},{"ladder":3,"min_size":80000,"max_size":119999,"adjust_factor":0.250000000000000000},{"ladder":4,"min_size":120000,"max_size":null,"adjust_factor":0.350000000000000000}]},{"lever_rate":28,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.080000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.150000000000000000},{"ladder":2,"min_size":40000,"max_size":79999,"adjust_factor":0.200000000000000000},{"ladder":3,"min_size":80000,"max_size":119999,"adjust_factor":0.250000000000000000},{"ladder":4,"min_size":120000,"max_size":null,"adjust_factor":0.350000000000000000}]},{"lever_rate":27,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.080000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.150000000000000000},{"ladder":2,"min_size":40000,"max_size":79999,"adjust_factor":0.200000000000000000},{"ladder":3,"min_size":80000,"max_size":119999,"adjust_factor":0.250000000000000000},{"ladder":4,"min_size":120000,"max_size":null,"adjust_factor":0.350000000000000000}]},{"lever_rate":26,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.080000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.150000000000000000},{"ladder":2,"min_size":40000,"max_size":79999,"adjust_factor":0.200000000000000000},{"ladder":3,"min_size":80000,"max_size":119999,"adjust_factor":0.250000000000000000},{"ladder":4,"min_size":120000,"max_size":null,"adjust_factor":0.350000000000000000}]},{"lever_rate":25,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.080000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.150000000000000000},{"ladder":2,"min_size":40000,"max_size":79999,"adjust_factor":0.200000000000000000},{"ladder":3,"min_size":80000,"max_size":119999,"adjust_factor":0.250000000000000000},{"ladder":4,"min_size":120000,"max_size":null,"adjust_factor":0.350000000000000000}]},{"lever_rate":24,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.080000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.150000000000000000},{"ladder":2,"min_size":40000,"max_size":79999,"adjust_factor":0.200000000000000000},{"ladder":3,"min_size":80000,"max_size":119999,"adjust_factor":0.250000000000000000},{"ladder":4,"min_size":120000,"max_size":null,"adjust_factor":0.350000000000000000}]},{"lever_rate":23,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.080000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.150000000000000000},{"ladder":2,"min_size":40000,"max_size":79999,"adjust_factor":0.200000000000000000},{"ladder":3,"min_size":80000,"max_size":119999,"adjust_factor":0.250000000000000000},{"ladder":4,"min_size":120000,"max_size":null,"adjust_factor":0.350000000000000000}]},{"lever_rate":22,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.080000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.150000000000000000},{"ladder":2,"min_size":40000,"max_size":79999,"adjust_factor":0.200000000000000000},{"ladder":3,"min_size":80000,"max_size":119999,"adjust_factor":0.250000000000000000},{"ladder":4,"min_size":120000,"max_size":null,"adjust_factor":0.350000000000000000}]},{"lever_rate":21,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.080000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.150000000000000000},{"ladder":2,"min_size":40000,"max_size":79999,"adjust_factor":0.200000000000000000},{"ladder":3,"min_size":80000,"max_size":119999,"adjust_factor":0.250000000000000000},{"ladder":4,"min_size":120000,"max_size":null,"adjust_factor":0.350000000000000000}]},{"lever_rate":20,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.080000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.150000000000000000},{"ladder":2,"min_size":40000,"max_size":79999,"adjust_factor":0.200000000000000000},{"ladder":3,"min_size":80000,"max_size":119999,"adjust_factor":0.250000000000000000},{"ladder":4,"min_size":120000,"max_size":null,"adjust_factor":0.350000000000000000}]},{"lever_rate":19,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.040000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.075000000000000000},{"ladder":2,"min_size":40000,"max_size":79999,"adjust_factor":0.100000000000000000},{"ladder":3,"min_size":80000,"max_size":119999,"adjust_factor":0.150000000000000000},{"ladder":4,"min_size":120000,"max_size":null,"adjust_factor":0.250000000000000000}]},{"lever_rate":18,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.040000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.075000000000000000},{"ladder":2,"min_size":40000,"max_size":79999,"adjust_factor":0.100000000000000000},{"ladder":3,"min_size":80000,"max_size":119999,"adjust_factor":0.150000000000000000},{"ladder":4,"min_size":120000,"max_size":null,"adjust_factor":0.250000000000000000}]},{"lever_rate":17,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.040000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.075000000000000000},{"ladder":2,"min_size":40000,"max_size":79999,"adjust_factor":0.100000000000000000},{"ladder":3,"min_size":80000,"max_size":119999,"adjust_factor":0.150000000000000000},{"ladder":4,"min_size":120000,"max_size":null,"adjust_factor":0.250000000000000000}]},{"lever_rate":16,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.040000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.075000000000000000},{"ladder":2,"min_size":40000,"max_size":79999,"adjust_factor":0.100000000000000000},{"ladder":3,"min_size":80000,"max_size":119999,"adjust_factor":0.150000000000000000},{"ladder":4,"min_size":120000,"max_size":null,"adjust_factor":0.250000000000000000}]},{"lever_rate":15,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.040000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.075000000000000000},{"ladder":2,"min_size":40000,"max_size":79999,"adjust_factor":0.100000000000000000},{"ladder":3,"min_size":80000,"max_size":119999,"adjust_factor":0.150000000000000000},{"ladder":4,"min_size":120000,"max_size":null,"adjust_factor":0.250000000000000000}]},{"lever_rate":14,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.040000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.075000000000000000},{"ladder":2,"min_size":40000,"max_size":79999,"adjust_factor":0.100000000000000000},{"ladder":3,"min_size":80000,"max_size":119999,"adjust_factor":0.150000000000000000},{"ladder":4,"min_size":120000,"max_size":null,"adjust_factor":0.250000000000000000}]},{"lever_rate":13,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.040000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.075000000000000000},{"ladder":2,"min_size":40000,"max_size":79999,"adjust_factor":0.100000000000000000},{"ladder":3,"min_size":80000,"max_size":119999,"adjust_factor":0.150000000000000000},{"ladder":4,"min_size":120000,"max_size":null,"adjust_factor":0.250000000000000000}]},{"lever_rate":12,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.040000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.075000000000000000},{"ladder":2,"min_size":40000,"max_size":79999,"adjust_factor":0.100000000000000000},{"ladder":3,"min_size":80000,"max_size":119999,"adjust_factor":0.150000000000000000},{"ladder":4,"min_size":120000,"max_size":null,"adjust_factor":0.250000000000000000}]},{"lever_rate":11,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.040000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.075000000000000000},{"ladder":2,"min_size":40000,"max_size":79999,"adjust_factor":0.100000000000000000},{"ladder":3,"min_size":80000,"max_size":119999,"adjust_factor":0.150000000000000000},{"ladder":4,"min_size":120000,"max_size":null,"adjust_factor":0.250000000000000000}]},{"lever_rate":10,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.040000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.075000000000000000},{"ladder":2,"min_size":40000,"max_size":79999,"adjust_factor":0.100000000000000000},{"ladder":3,"min_size":80000,"max_size":119999,"adjust_factor":0.150000000000000000},{"ladder":4,"min_size":120000,"max_size":null,"adjust_factor":0.250000000000000000}]},{"lever_rate":9,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.020000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.040000000000000000},{"ladder":2,"min_size":40000,"max_size":79999,"adjust_factor":0.050000000000000000},{"ladder":3,"min_size":80000,"max_size":119999,"adjust_factor":0.075000000000000000},{"ladder":4,"min_size":120000,"max_size":null,"adjust_factor":0.125000000000000000}]},{"lever_rate":8,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.020000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.040000000000000000},{"ladder":2,"min_size":40000,"max_size":79999,"adjust_factor":0.050000000000000000},{"ladder":3,"min_size":80000,"max_size":119999,"adjust_factor":0.075000000000000000},{"ladder":4,"min_size":120000,"max_size":null,"adjust_factor":0.125000000000000000}]},{"lever_rate":7,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.020000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.040000000000000000},{"ladder":2,"min_size":40000,"max_size":79999,"adjust_factor":0.050000000000000000},{"ladder":3,"min_size":80000,"max_size":119999,"adjust_factor":0.075000000000000000},{"ladder":4,"min_size":120000,"max_size":null,"adjust_factor":0.125000000000000000}]},{"lever_rate":6,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.020000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.040000000000000000},{"ladder":2,"min_size":40000,"max_size":79999,"adjust_factor":0.050000000000000000},{"ladder":3,"min_size":80000,"max_size":119999,"adjust_factor":0.075000000000000000},{"ladder":4,"min_size":120000,"max_size":null,"adjust_factor":0.125000000000000000}]},{"lever_rate":5,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.020000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.040000000000000000},{"ladder":2,"min_size":40000,"max_size":79999,"adjust_factor":0.050000000000000000},{"ladder":3,"min_size":80000,"max_size":119999,"adjust_factor":0.075000000000000000},{"ladder":4,"min_size":120000,"max_size":null,"adjust_factor":0.125000000000000000}]},{"lever_rate":4,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.015000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.030000000000000000},{"ladder":2,"min_size":40000,"max_size":79999,"adjust_factor":0.040000000000000000},{"ladder":3,"min_size":80000,"max_size":119999,"adjust_factor":0.060000000000000000},{"ladder":4,"min_size":120000,"max_size":null,"adjust_factor":0.075000000000000000}]},{"lever_rate":3,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.015000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.030000000000000000},{"ladder":2,"min_size":40000,"max_size":79999,"adjust_factor":0.040000000000000000},{"ladder":3,"min_size":80000,"max_size":119999,"adjust_factor":0.060000000000000000},{"ladder":4,"min_size":120000,"max_size":null,"adjust_factor":0.075000000000000000}]},{"lever_rate":2,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.010000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.020000000000000000},{"ladder":2,"min_size":40000,"max_size":79999,"adjust_factor":0.025000000000000000},{"ladder":3,"min_size":80000,"max_size":119999,"adjust_factor":0.040000000000000000},{"ladder":4,"min_size":120000,"max_size":null,"adjust_factor":0.050000000000000000}]},{"lever_rate":1,"ladders":[{"ladder":0,"min_size":0,"max_size":3999,"adjust_factor":0.005000000000000000},{"ladder":1,"min_size":4000,"max_size":39999,"adjust_factor":0.010000000000000000},{"ladder":2,"min_size":40000,"max_size":79999,"adjust_factor":0.015000000000000000},{"ladder":3,"min_size":80000,"max_size":119999,"adjust_factor":0.020000000000000000},{"ladder":4,"min_size":120000,"max_size":null,"adjust_factor":0.025000000000000000}]}]}],"ts":1705731294362} +2024-01-20 14:15:01.325 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.getSwapAdjustfactorResponse:107] - 12.查询平台阶梯调整系数:{"data":[{"contractCode":"BTC-USDT","list":[{"ladders":[{"adjustFactor":0.600000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.650000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.700000000000000000,"ladder":2,"minSize":40000}],"leverRate":200},{"ladders":[{"adjustFactor":0.550000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.650000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.700000000000000000,"ladder":2,"minSize":40000}],"leverRate":199},{"ladders":[{"adjustFactor":0.550000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.650000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.700000000000000000,"ladder":2,"minSize":40000}],"leverRate":198},{"ladders":[{"adjustFactor":0.550000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.650000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.700000000000000000,"ladder":2,"minSize":40000}],"leverRate":197},{"ladders":[{"adjustFactor":0.550000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.650000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.700000000000000000,"ladder":2,"minSize":40000}],"leverRate":196},{"ladders":[{"adjustFactor":0.550000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.650000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.700000000000000000,"ladder":2,"minSize":40000}],"leverRate":195},{"ladders":[{"adjustFactor":0.550000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.650000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.700000000000000000,"ladder":2,"minSize":40000}],"leverRate":194},{"ladders":[{"adjustFactor":0.550000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.650000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.700000000000000000,"ladder":2,"minSize":40000}],"leverRate":193},{"ladders":[{"adjustFactor":0.550000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.650000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.700000000000000000,"ladder":2,"minSize":40000}],"leverRate":192},{"ladders":[{"adjustFactor":0.550000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.650000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.700000000000000000,"ladder":2,"minSize":40000}],"leverRate":191},{"ladders":[{"adjustFactor":0.550000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.650000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.700000000000000000,"ladder":2,"minSize":40000}],"leverRate":190},{"ladders":[{"adjustFactor":0.550000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.650000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.700000000000000000,"ladder":2,"minSize":40000}],"leverRate":189},{"ladders":[{"adjustFactor":0.550000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.650000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.700000000000000000,"ladder":2,"minSize":40000}],"leverRate":188},{"ladders":[{"adjustFactor":0.550000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.650000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.700000000000000000,"ladder":2,"minSize":40000}],"leverRate":187},{"ladders":[{"adjustFactor":0.550000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.650000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.700000000000000000,"ladder":2,"minSize":40000}],"leverRate":186},{"ladders":[{"adjustFactor":0.550000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.650000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.700000000000000000,"ladder":2,"minSize":40000}],"leverRate":185},{"ladders":[{"adjustFactor":0.550000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.650000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.700000000000000000,"ladder":2,"minSize":40000}],"leverRate":184},{"ladders":[{"adjustFactor":0.550000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.650000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.700000000000000000,"ladder":2,"minSize":40000}],"leverRate":183},{"ladders":[{"adjustFactor":0.550000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.650000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.700000000000000000,"ladder":2,"minSize":40000}],"leverRate":182},{"ladders":[{"adjustFactor":0.550000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.650000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.700000000000000000,"ladder":2,"minSize":40000}],"leverRate":181},{"ladders":[{"adjustFactor":0.550000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.650000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.700000000000000000,"ladder":2,"minSize":40000}],"leverRate":180},{"ladders":[{"adjustFactor":0.550000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.650000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.700000000000000000,"ladder":2,"minSize":40000}],"leverRate":179},{"ladders":[{"adjustFactor":0.550000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.650000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.700000000000000000,"ladder":2,"minSize":40000}],"leverRate":178},{"ladders":[{"adjustFactor":0.550000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.650000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.700000000000000000,"ladder":2,"minSize":40000}],"leverRate":177},{"ladders":[{"adjustFactor":0.550000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.650000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.700000000000000000,"ladder":2,"minSize":40000}],"leverRate":176},{"ladders":[{"adjustFactor":0.550000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.650000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.700000000000000000,"ladder":2,"minSize":40000}],"leverRate":175},{"ladders":[{"adjustFactor":0.550000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.650000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.700000000000000000,"ladder":2,"minSize":40000}],"leverRate":174},{"ladders":[{"adjustFactor":0.550000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.650000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.700000000000000000,"ladder":2,"minSize":40000}],"leverRate":173},{"ladders":[{"adjustFactor":0.550000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.650000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.700000000000000000,"ladder":2,"minSize":40000}],"leverRate":172},{"ladders":[{"adjustFactor":0.550000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.650000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.700000000000000000,"ladder":2,"minSize":40000}],"leverRate":171},{"ladders":[{"adjustFactor":0.550000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.650000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.700000000000000000,"ladder":2,"minSize":40000}],"leverRate":170},{"ladders":[{"adjustFactor":0.550000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.650000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.700000000000000000,"ladder":2,"minSize":40000}],"leverRate":169},{"ladders":[{"adjustFactor":0.550000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.650000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.700000000000000000,"ladder":2,"minSize":40000}],"leverRate":168},{"ladders":[{"adjustFactor":0.550000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.650000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.700000000000000000,"ladder":2,"minSize":40000}],"leverRate":167},{"ladders":[{"adjustFactor":0.550000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.650000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.700000000000000000,"ladder":2,"minSize":40000}],"leverRate":166},{"ladders":[{"adjustFactor":0.550000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.650000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.700000000000000000,"ladder":2,"minSize":40000}],"leverRate":165},{"ladders":[{"adjustFactor":0.550000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.650000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.700000000000000000,"ladder":2,"minSize":40000}],"leverRate":164},{"ladders":[{"adjustFactor":0.550000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.650000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.700000000000000000,"ladder":2,"minSize":40000}],"leverRate":163},{"ladders":[{"adjustFactor":0.550000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.650000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.700000000000000000,"ladder":2,"minSize":40000}],"leverRate":162},{"ladders":[{"adjustFactor":0.550000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.650000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.700000000000000000,"ladder":2,"minSize":40000}],"leverRate":161},{"ladders":[{"adjustFactor":0.550000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.650000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.700000000000000000,"ladder":2,"minSize":40000}],"leverRate":160},{"ladders":[{"adjustFactor":0.550000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.650000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.700000000000000000,"ladder":2,"minSize":40000}],"leverRate":159},{"ladders":[{"adjustFactor":0.550000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.650000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.700000000000000000,"ladder":2,"minSize":40000}],"leverRate":158},{"ladders":[{"adjustFactor":0.550000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.650000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.700000000000000000,"ladder":2,"minSize":40000}],"leverRate":157},{"ladders":[{"adjustFactor":0.550000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.650000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.700000000000000000,"ladder":2,"minSize":40000}],"leverRate":156},{"ladders":[{"adjustFactor":0.550000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.650000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.700000000000000000,"ladder":2,"minSize":40000}],"leverRate":155},{"ladders":[{"adjustFactor":0.550000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.650000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.700000000000000000,"ladder":2,"minSize":40000}],"leverRate":154},{"ladders":[{"adjustFactor":0.550000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.650000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.700000000000000000,"ladder":2,"minSize":40000}],"leverRate":153},{"ladders":[{"adjustFactor":0.550000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.650000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.700000000000000000,"ladder":2,"minSize":40000}],"leverRate":152},{"ladders":[{"adjustFactor":0.550000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.650000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.700000000000000000,"ladder":2,"minSize":40000}],"leverRate":151},{"ladders":[{"adjustFactor":0.550000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.650000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.700000000000000000,"ladder":2,"minSize":40000}],"leverRate":150},{"ladders":[{"adjustFactor":0.500000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.600000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.650000000000000000,"ladder":2,"minSize":40000}],"leverRate":149},{"ladders":[{"adjustFactor":0.500000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.600000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.650000000000000000,"ladder":2,"minSize":40000}],"leverRate":148},{"ladders":[{"adjustFactor":0.500000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.600000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.650000000000000000,"ladder":2,"minSize":40000}],"leverRate":147},{"ladders":[{"adjustFactor":0.500000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.600000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.650000000000000000,"ladder":2,"minSize":40000}],"leverRate":146},{"ladders":[{"adjustFactor":0.500000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.600000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.650000000000000000,"ladder":2,"minSize":40000}],"leverRate":145},{"ladders":[{"adjustFactor":0.500000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.600000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.650000000000000000,"ladder":2,"minSize":40000}],"leverRate":144},{"ladders":[{"adjustFactor":0.500000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.600000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.650000000000000000,"ladder":2,"minSize":40000}],"leverRate":143},{"ladders":[{"adjustFactor":0.500000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.600000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.650000000000000000,"ladder":2,"minSize":40000}],"leverRate":142},{"ladders":[{"adjustFactor":0.500000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.600000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.650000000000000000,"ladder":2,"minSize":40000}],"leverRate":141},{"ladders":[{"adjustFactor":0.500000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.600000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.650000000000000000,"ladder":2,"minSize":40000}],"leverRate":140},{"ladders":[{"adjustFactor":0.500000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.600000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.650000000000000000,"ladder":2,"minSize":40000}],"leverRate":139},{"ladders":[{"adjustFactor":0.500000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.600000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.650000000000000000,"ladder":2,"minSize":40000}],"leverRate":138},{"ladders":[{"adjustFactor":0.500000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.600000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.650000000000000000,"ladder":2,"minSize":40000}],"leverRate":137},{"ladders":[{"adjustFactor":0.500000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.600000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.650000000000000000,"ladder":2,"minSize":40000}],"leverRate":136},{"ladders":[{"adjustFactor":0.500000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.600000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.650000000000000000,"ladder":2,"minSize":40000}],"leverRate":135},{"ladders":[{"adjustFactor":0.500000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.600000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.650000000000000000,"ladder":2,"minSize":40000}],"leverRate":134},{"ladders":[{"adjustFactor":0.500000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.600000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.650000000000000000,"ladder":2,"minSize":40000}],"leverRate":133},{"ladders":[{"adjustFactor":0.500000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.600000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.650000000000000000,"ladder":2,"minSize":40000}],"leverRate":132},{"ladders":[{"adjustFactor":0.500000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.600000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.650000000000000000,"ladder":2,"minSize":40000}],"leverRate":131},{"ladders":[{"adjustFactor":0.500000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.600000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.650000000000000000,"ladder":2,"minSize":40000}],"leverRate":130},{"ladders":[{"adjustFactor":0.500000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.600000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.650000000000000000,"ladder":2,"minSize":40000}],"leverRate":129},{"ladders":[{"adjustFactor":0.500000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.600000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.650000000000000000,"ladder":2,"minSize":40000}],"leverRate":128},{"ladders":[{"adjustFactor":0.500000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.600000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.650000000000000000,"ladder":2,"minSize":40000}],"leverRate":127},{"ladders":[{"adjustFactor":0.500000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.600000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.650000000000000000,"ladder":2,"minSize":40000}],"leverRate":126},{"ladders":[{"adjustFactor":0.500000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.600000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.650000000000000000,"ladder":2,"minSize":40000}],"leverRate":125},{"ladders":[{"adjustFactor":0.400000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.500000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.600000000000000000,"ladder":2,"minSize":40000}],"leverRate":124},{"ladders":[{"adjustFactor":0.400000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.500000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.600000000000000000,"ladder":2,"minSize":40000}],"leverRate":123},{"ladders":[{"adjustFactor":0.400000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.500000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.600000000000000000,"ladder":2,"minSize":40000}],"leverRate":122},{"ladders":[{"adjustFactor":0.400000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.500000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.600000000000000000,"ladder":2,"minSize":40000}],"leverRate":121},{"ladders":[{"adjustFactor":0.400000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.500000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.600000000000000000,"ladder":2,"minSize":40000}],"leverRate":120},{"ladders":[{"adjustFactor":0.400000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.500000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.600000000000000000,"ladder":2,"minSize":40000}],"leverRate":119},{"ladders":[{"adjustFactor":0.400000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.500000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.600000000000000000,"ladder":2,"minSize":40000}],"leverRate":118},{"ladders":[{"adjustFactor":0.400000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.500000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.600000000000000000,"ladder":2,"minSize":40000}],"leverRate":117},{"ladders":[{"adjustFactor":0.400000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.500000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.600000000000000000,"ladder":2,"minSize":40000}],"leverRate":116},{"ladders":[{"adjustFactor":0.400000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.500000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.600000000000000000,"ladder":2,"minSize":40000}],"leverRate":115},{"ladders":[{"adjustFactor":0.400000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.500000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.600000000000000000,"ladder":2,"minSize":40000}],"leverRate":114},{"ladders":[{"adjustFactor":0.400000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.500000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.600000000000000000,"ladder":2,"minSize":40000}],"leverRate":113},{"ladders":[{"adjustFactor":0.400000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.500000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.600000000000000000,"ladder":2,"minSize":40000}],"leverRate":112},{"ladders":[{"adjustFactor":0.400000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.500000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.600000000000000000,"ladder":2,"minSize":40000}],"leverRate":111},{"ladders":[{"adjustFactor":0.400000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.500000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.600000000000000000,"ladder":2,"minSize":40000}],"leverRate":110},{"ladders":[{"adjustFactor":0.400000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.500000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.600000000000000000,"ladder":2,"minSize":40000}],"leverRate":109},{"ladders":[{"adjustFactor":0.400000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.500000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.600000000000000000,"ladder":2,"minSize":40000}],"leverRate":108},{"ladders":[{"adjustFactor":0.400000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.500000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.600000000000000000,"ladder":2,"minSize":40000}],"leverRate":107},{"ladders":[{"adjustFactor":0.400000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.500000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.600000000000000000,"ladder":2,"minSize":40000}],"leverRate":106},{"ladders":[{"adjustFactor":0.400000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.500000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.600000000000000000,"ladder":2,"minSize":40000}],"leverRate":105},{"ladders":[{"adjustFactor":0.400000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.500000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.600000000000000000,"ladder":2,"minSize":40000}],"leverRate":104},{"ladders":[{"adjustFactor":0.400000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.500000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.600000000000000000,"ladder":2,"minSize":40000}],"leverRate":103},{"ladders":[{"adjustFactor":0.400000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.500000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.600000000000000000,"ladder":2,"minSize":40000}],"leverRate":102},{"ladders":[{"adjustFactor":0.400000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.500000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.600000000000000000,"ladder":2,"minSize":40000}],"leverRate":101},{"ladders":[{"adjustFactor":0.400000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.500000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.600000000000000000,"ladder":2,"minSize":40000}],"leverRate":100},{"ladders":[{"adjustFactor":0.300000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.400000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.550000000000000000,"ladder":2,"minSize":40000}],"leverRate":99},{"ladders":[{"adjustFactor":0.300000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.400000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.550000000000000000,"ladder":2,"minSize":40000}],"leverRate":98},{"ladders":[{"adjustFactor":0.300000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.400000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.550000000000000000,"ladder":2,"minSize":40000}],"leverRate":97},{"ladders":[{"adjustFactor":0.300000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.400000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.550000000000000000,"ladder":2,"minSize":40000}],"leverRate":96},{"ladders":[{"adjustFactor":0.300000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.400000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.550000000000000000,"ladder":2,"minSize":40000}],"leverRate":95},{"ladders":[{"adjustFactor":0.300000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.400000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.550000000000000000,"ladder":2,"minSize":40000}],"leverRate":94},{"ladders":[{"adjustFactor":0.300000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.400000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.550000000000000000,"ladder":2,"minSize":40000}],"leverRate":93},{"ladders":[{"adjustFactor":0.300000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.400000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.550000000000000000,"ladder":2,"minSize":40000}],"leverRate":92},{"ladders":[{"adjustFactor":0.300000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.400000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.550000000000000000,"ladder":2,"minSize":40000}],"leverRate":91},{"ladders":[{"adjustFactor":0.300000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.400000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.550000000000000000,"ladder":2,"minSize":40000}],"leverRate":90},{"ladders":[{"adjustFactor":0.300000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.400000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.550000000000000000,"ladder":2,"minSize":40000}],"leverRate":89},{"ladders":[{"adjustFactor":0.300000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.400000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.550000000000000000,"ladder":2,"minSize":40000}],"leverRate":88},{"ladders":[{"adjustFactor":0.300000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.400000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.550000000000000000,"ladder":2,"minSize":40000}],"leverRate":87},{"ladders":[{"adjustFactor":0.300000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.400000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.550000000000000000,"ladder":2,"minSize":40000}],"leverRate":86},{"ladders":[{"adjustFactor":0.300000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.400000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.550000000000000000,"ladder":2,"minSize":40000}],"leverRate":85},{"ladders":[{"adjustFactor":0.300000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.400000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.550000000000000000,"ladder":2,"minSize":40000}],"leverRate":84},{"ladders":[{"adjustFactor":0.300000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.400000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.550000000000000000,"ladder":2,"minSize":40000}],"leverRate":83},{"ladders":[{"adjustFactor":0.300000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.400000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.550000000000000000,"ladder":2,"minSize":40000}],"leverRate":82},{"ladders":[{"adjustFactor":0.300000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.400000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.550000000000000000,"ladder":2,"minSize":40000}],"leverRate":81},{"ladders":[{"adjustFactor":0.300000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.400000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.550000000000000000,"ladder":2,"minSize":40000}],"leverRate":80},{"ladders":[{"adjustFactor":0.300000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.400000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.550000000000000000,"ladder":2,"minSize":40000}],"leverRate":79},{"ladders":[{"adjustFactor":0.300000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.400000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.550000000000000000,"ladder":2,"minSize":40000}],"leverRate":78},{"ladders":[{"adjustFactor":0.300000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.400000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.550000000000000000,"ladder":2,"minSize":40000}],"leverRate":77},{"ladders":[{"adjustFactor":0.300000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.400000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.550000000000000000,"ladder":2,"minSize":40000}],"leverRate":76},{"ladders":[{"adjustFactor":0.300000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.400000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.550000000000000000,"ladder":2,"minSize":40000}],"leverRate":75},{"ladders":[{"adjustFactor":0.200000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.350000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.500000000000000000,"ladder":2,"minSize":40000}],"leverRate":74},{"ladders":[{"adjustFactor":0.200000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.350000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.500000000000000000,"ladder":2,"minSize":40000}],"leverRate":73},{"ladders":[{"adjustFactor":0.200000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.350000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.500000000000000000,"ladder":2,"minSize":40000}],"leverRate":72},{"ladders":[{"adjustFactor":0.200000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.350000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.500000000000000000,"ladder":2,"minSize":40000}],"leverRate":71},{"ladders":[{"adjustFactor":0.200000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.350000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.500000000000000000,"ladder":2,"minSize":40000}],"leverRate":70},{"ladders":[{"adjustFactor":0.200000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.350000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.500000000000000000,"ladder":2,"minSize":40000}],"leverRate":69},{"ladders":[{"adjustFactor":0.200000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.350000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.500000000000000000,"ladder":2,"minSize":40000}],"leverRate":68},{"ladders":[{"adjustFactor":0.200000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.350000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.500000000000000000,"ladder":2,"minSize":40000}],"leverRate":67},{"ladders":[{"adjustFactor":0.200000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.350000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.500000000000000000,"ladder":2,"minSize":40000}],"leverRate":66},{"ladders":[{"adjustFactor":0.200000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.350000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.500000000000000000,"ladder":2,"minSize":40000}],"leverRate":65},{"ladders":[{"adjustFactor":0.200000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.350000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.500000000000000000,"ladder":2,"minSize":40000}],"leverRate":64},{"ladders":[{"adjustFactor":0.200000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.350000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.500000000000000000,"ladder":2,"minSize":40000}],"leverRate":63},{"ladders":[{"adjustFactor":0.200000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.350000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.500000000000000000,"ladder":2,"minSize":40000}],"leverRate":62},{"ladders":[{"adjustFactor":0.200000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.350000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.500000000000000000,"ladder":2,"minSize":40000}],"leverRate":61},{"ladders":[{"adjustFactor":0.200000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.350000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.500000000000000000,"ladder":2,"minSize":40000}],"leverRate":60},{"ladders":[{"adjustFactor":0.200000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.350000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.500000000000000000,"ladder":2,"minSize":40000}],"leverRate":59},{"ladders":[{"adjustFactor":0.200000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.350000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.500000000000000000,"ladder":2,"minSize":40000}],"leverRate":58},{"ladders":[{"adjustFactor":0.200000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.350000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.500000000000000000,"ladder":2,"minSize":40000}],"leverRate":57},{"ladders":[{"adjustFactor":0.200000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.350000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.500000000000000000,"ladder":2,"minSize":40000}],"leverRate":56},{"ladders":[{"adjustFactor":0.200000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.350000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.500000000000000000,"ladder":2,"minSize":40000}],"leverRate":55},{"ladders":[{"adjustFactor":0.200000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.350000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.500000000000000000,"ladder":2,"minSize":40000}],"leverRate":54},{"ladders":[{"adjustFactor":0.200000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.350000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.500000000000000000,"ladder":2,"minSize":40000}],"leverRate":53},{"ladders":[{"adjustFactor":0.200000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.350000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.500000000000000000,"ladder":2,"minSize":40000}],"leverRate":52},{"ladders":[{"adjustFactor":0.200000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.350000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.500000000000000000,"ladder":2,"minSize":40000}],"leverRate":51},{"ladders":[{"adjustFactor":0.200000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.350000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.500000000000000000,"ladder":2,"minSize":40000}],"leverRate":50},{"ladders":[{"adjustFactor":0.120000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.200000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.300000000000000000,"ladder":2,"maxSize":79999,"minSize":40000},{"adjustFactor":0.400000000000000000,"ladder":3,"minSize":80000}],"leverRate":49},{"ladders":[{"adjustFactor":0.120000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.200000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.300000000000000000,"ladder":2,"maxSize":79999,"minSize":40000},{"adjustFactor":0.400000000000000000,"ladder":3,"minSize":80000}],"leverRate":48},{"ladders":[{"adjustFactor":0.120000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.200000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.300000000000000000,"ladder":2,"maxSize":79999,"minSize":40000},{"adjustFactor":0.400000000000000000,"ladder":3,"minSize":80000}],"leverRate":47},{"ladders":[{"adjustFactor":0.120000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.200000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.300000000000000000,"ladder":2,"maxSize":79999,"minSize":40000},{"adjustFactor":0.400000000000000000,"ladder":3,"minSize":80000}],"leverRate":46},{"ladders":[{"adjustFactor":0.120000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.200000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.300000000000000000,"ladder":2,"maxSize":79999,"minSize":40000},{"adjustFactor":0.400000000000000000,"ladder":3,"minSize":80000}],"leverRate":45},{"ladders":[{"adjustFactor":0.120000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.200000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.300000000000000000,"ladder":2,"maxSize":79999,"minSize":40000},{"adjustFactor":0.400000000000000000,"ladder":3,"minSize":80000}],"leverRate":44},{"ladders":[{"adjustFactor":0.120000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.200000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.300000000000000000,"ladder":2,"maxSize":79999,"minSize":40000},{"adjustFactor":0.400000000000000000,"ladder":3,"minSize":80000}],"leverRate":43},{"ladders":[{"adjustFactor":0.120000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.200000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.300000000000000000,"ladder":2,"maxSize":79999,"minSize":40000},{"adjustFactor":0.400000000000000000,"ladder":3,"minSize":80000}],"leverRate":42},{"ladders":[{"adjustFactor":0.120000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.200000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.300000000000000000,"ladder":2,"maxSize":79999,"minSize":40000},{"adjustFactor":0.400000000000000000,"ladder":3,"minSize":80000}],"leverRate":41},{"ladders":[{"adjustFactor":0.120000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.200000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.300000000000000000,"ladder":2,"maxSize":79999,"minSize":40000},{"adjustFactor":0.400000000000000000,"ladder":3,"minSize":80000}],"leverRate":40},{"ladders":[{"adjustFactor":0.120000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.200000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.300000000000000000,"ladder":2,"maxSize":79999,"minSize":40000},{"adjustFactor":0.400000000000000000,"ladder":3,"minSize":80000}],"leverRate":39},{"ladders":[{"adjustFactor":0.120000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.200000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.300000000000000000,"ladder":2,"maxSize":79999,"minSize":40000},{"adjustFactor":0.400000000000000000,"ladder":3,"minSize":80000}],"leverRate":38},{"ladders":[{"adjustFactor":0.120000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.200000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.300000000000000000,"ladder":2,"maxSize":79999,"minSize":40000},{"adjustFactor":0.400000000000000000,"ladder":3,"minSize":80000}],"leverRate":37},{"ladders":[{"adjustFactor":0.120000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.200000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.300000000000000000,"ladder":2,"maxSize":79999,"minSize":40000},{"adjustFactor":0.400000000000000000,"ladder":3,"minSize":80000}],"leverRate":36},{"ladders":[{"adjustFactor":0.120000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.200000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.300000000000000000,"ladder":2,"maxSize":79999,"minSize":40000},{"adjustFactor":0.400000000000000000,"ladder":3,"minSize":80000}],"leverRate":35},{"ladders":[{"adjustFactor":0.120000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.200000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.300000000000000000,"ladder":2,"maxSize":79999,"minSize":40000},{"adjustFactor":0.400000000000000000,"ladder":3,"minSize":80000}],"leverRate":34},{"ladders":[{"adjustFactor":0.120000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.200000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.300000000000000000,"ladder":2,"maxSize":79999,"minSize":40000},{"adjustFactor":0.400000000000000000,"ladder":3,"minSize":80000}],"leverRate":33},{"ladders":[{"adjustFactor":0.120000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.200000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.300000000000000000,"ladder":2,"maxSize":79999,"minSize":40000},{"adjustFactor":0.400000000000000000,"ladder":3,"minSize":80000}],"leverRate":32},{"ladders":[{"adjustFactor":0.120000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.200000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.300000000000000000,"ladder":2,"maxSize":79999,"minSize":40000},{"adjustFactor":0.400000000000000000,"ladder":3,"minSize":80000}],"leverRate":31},{"ladders":[{"adjustFactor":0.120000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.200000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.300000000000000000,"ladder":2,"maxSize":79999,"minSize":40000},{"adjustFactor":0.400000000000000000,"ladder":3,"minSize":80000}],"leverRate":30},{"ladders":[{"adjustFactor":0.080000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.150000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.200000000000000000,"ladder":2,"maxSize":79999,"minSize":40000},{"adjustFactor":0.250000000000000000,"ladder":3,"maxSize":119999,"minSize":80000},{"adjustFactor":0.350000000000000000,"ladder":4,"minSize":120000}],"leverRate":29},{"ladders":[{"adjustFactor":0.080000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.150000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.200000000000000000,"ladder":2,"maxSize":79999,"minSize":40000},{"adjustFactor":0.250000000000000000,"ladder":3,"maxSize":119999,"minSize":80000},{"adjustFactor":0.350000000000000000,"ladder":4,"minSize":120000}],"leverRate":28},{"ladders":[{"adjustFactor":0.080000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.150000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.200000000000000000,"ladder":2,"maxSize":79999,"minSize":40000},{"adjustFactor":0.250000000000000000,"ladder":3,"maxSize":119999,"minSize":80000},{"adjustFactor":0.350000000000000000,"ladder":4,"minSize":120000}],"leverRate":27},{"ladders":[{"adjustFactor":0.080000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.150000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.200000000000000000,"ladder":2,"maxSize":79999,"minSize":40000},{"adjustFactor":0.250000000000000000,"ladder":3,"maxSize":119999,"minSize":80000},{"adjustFactor":0.350000000000000000,"ladder":4,"minSize":120000}],"leverRate":26},{"ladders":[{"adjustFactor":0.080000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.150000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.200000000000000000,"ladder":2,"maxSize":79999,"minSize":40000},{"adjustFactor":0.250000000000000000,"ladder":3,"maxSize":119999,"minSize":80000},{"adjustFactor":0.350000000000000000,"ladder":4,"minSize":120000}],"leverRate":25},{"ladders":[{"adjustFactor":0.080000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.150000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.200000000000000000,"ladder":2,"maxSize":79999,"minSize":40000},{"adjustFactor":0.250000000000000000,"ladder":3,"maxSize":119999,"minSize":80000},{"adjustFactor":0.350000000000000000,"ladder":4,"minSize":120000}],"leverRate":24},{"ladders":[{"adjustFactor":0.080000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.150000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.200000000000000000,"ladder":2,"maxSize":79999,"minSize":40000},{"adjustFactor":0.250000000000000000,"ladder":3,"maxSize":119999,"minSize":80000},{"adjustFactor":0.350000000000000000,"ladder":4,"minSize":120000}],"leverRate":23},{"ladders":[{"adjustFactor":0.080000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.150000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.200000000000000000,"ladder":2,"maxSize":79999,"minSize":40000},{"adjustFactor":0.250000000000000000,"ladder":3,"maxSize":119999,"minSize":80000},{"adjustFactor":0.350000000000000000,"ladder":4,"minSize":120000}],"leverRate":22},{"ladders":[{"adjustFactor":0.080000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.150000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.200000000000000000,"ladder":2,"maxSize":79999,"minSize":40000},{"adjustFactor":0.250000000000000000,"ladder":3,"maxSize":119999,"minSize":80000},{"adjustFactor":0.350000000000000000,"ladder":4,"minSize":120000}],"leverRate":21},{"ladders":[{"adjustFactor":0.080000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.150000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.200000000000000000,"ladder":2,"maxSize":79999,"minSize":40000},{"adjustFactor":0.250000000000000000,"ladder":3,"maxSize":119999,"minSize":80000},{"adjustFactor":0.350000000000000000,"ladder":4,"minSize":120000}],"leverRate":20},{"ladders":[{"adjustFactor":0.040000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.075000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.100000000000000000,"ladder":2,"maxSize":79999,"minSize":40000},{"adjustFactor":0.150000000000000000,"ladder":3,"maxSize":119999,"minSize":80000},{"adjustFactor":0.250000000000000000,"ladder":4,"minSize":120000}],"leverRate":19},{"ladders":[{"adjustFactor":0.040000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.075000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.100000000000000000,"ladder":2,"maxSize":79999,"minSize":40000},{"adjustFactor":0.150000000000000000,"ladder":3,"maxSize":119999,"minSize":80000},{"adjustFactor":0.250000000000000000,"ladder":4,"minSize":120000}],"leverRate":18},{"ladders":[{"adjustFactor":0.040000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.075000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.100000000000000000,"ladder":2,"maxSize":79999,"minSize":40000},{"adjustFactor":0.150000000000000000,"ladder":3,"maxSize":119999,"minSize":80000},{"adjustFactor":0.250000000000000000,"ladder":4,"minSize":120000}],"leverRate":17},{"ladders":[{"adjustFactor":0.040000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.075000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.100000000000000000,"ladder":2,"maxSize":79999,"minSize":40000},{"adjustFactor":0.150000000000000000,"ladder":3,"maxSize":119999,"minSize":80000},{"adjustFactor":0.250000000000000000,"ladder":4,"minSize":120000}],"leverRate":16},{"ladders":[{"adjustFactor":0.040000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.075000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.100000000000000000,"ladder":2,"maxSize":79999,"minSize":40000},{"adjustFactor":0.150000000000000000,"ladder":3,"maxSize":119999,"minSize":80000},{"adjustFactor":0.250000000000000000,"ladder":4,"minSize":120000}],"leverRate":15},{"ladders":[{"adjustFactor":0.040000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.075000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.100000000000000000,"ladder":2,"maxSize":79999,"minSize":40000},{"adjustFactor":0.150000000000000000,"ladder":3,"maxSize":119999,"minSize":80000},{"adjustFactor":0.250000000000000000,"ladder":4,"minSize":120000}],"leverRate":14},{"ladders":[{"adjustFactor":0.040000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.075000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.100000000000000000,"ladder":2,"maxSize":79999,"minSize":40000},{"adjustFactor":0.150000000000000000,"ladder":3,"maxSize":119999,"minSize":80000},{"adjustFactor":0.250000000000000000,"ladder":4,"minSize":120000}],"leverRate":13},{"ladders":[{"adjustFactor":0.040000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.075000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.100000000000000000,"ladder":2,"maxSize":79999,"minSize":40000},{"adjustFactor":0.150000000000000000,"ladder":3,"maxSize":119999,"minSize":80000},{"adjustFactor":0.250000000000000000,"ladder":4,"minSize":120000}],"leverRate":12},{"ladders":[{"adjustFactor":0.040000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.075000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.100000000000000000,"ladder":2,"maxSize":79999,"minSize":40000},{"adjustFactor":0.150000000000000000,"ladder":3,"maxSize":119999,"minSize":80000},{"adjustFactor":0.250000000000000000,"ladder":4,"minSize":120000}],"leverRate":11},{"ladders":[{"adjustFactor":0.040000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.075000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.100000000000000000,"ladder":2,"maxSize":79999,"minSize":40000},{"adjustFactor":0.150000000000000000,"ladder":3,"maxSize":119999,"minSize":80000},{"adjustFactor":0.250000000000000000,"ladder":4,"minSize":120000}],"leverRate":10},{"ladders":[{"adjustFactor":0.020000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.040000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.050000000000000000,"ladder":2,"maxSize":79999,"minSize":40000},{"adjustFactor":0.075000000000000000,"ladder":3,"maxSize":119999,"minSize":80000},{"adjustFactor":0.125000000000000000,"ladder":4,"minSize":120000}],"leverRate":9},{"ladders":[{"adjustFactor":0.020000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.040000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.050000000000000000,"ladder":2,"maxSize":79999,"minSize":40000},{"adjustFactor":0.075000000000000000,"ladder":3,"maxSize":119999,"minSize":80000},{"adjustFactor":0.125000000000000000,"ladder":4,"minSize":120000}],"leverRate":8},{"ladders":[{"adjustFactor":0.020000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.040000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.050000000000000000,"ladder":2,"maxSize":79999,"minSize":40000},{"adjustFactor":0.075000000000000000,"ladder":3,"maxSize":119999,"minSize":80000},{"adjustFactor":0.125000000000000000,"ladder":4,"minSize":120000}],"leverRate":7},{"ladders":[{"adjustFactor":0.020000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.040000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.050000000000000000,"ladder":2,"maxSize":79999,"minSize":40000},{"adjustFactor":0.075000000000000000,"ladder":3,"maxSize":119999,"minSize":80000},{"adjustFactor":0.125000000000000000,"ladder":4,"minSize":120000}],"leverRate":6},{"ladders":[{"adjustFactor":0.020000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.040000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.050000000000000000,"ladder":2,"maxSize":79999,"minSize":40000},{"adjustFactor":0.075000000000000000,"ladder":3,"maxSize":119999,"minSize":80000},{"adjustFactor":0.125000000000000000,"ladder":4,"minSize":120000}],"leverRate":5},{"ladders":[{"adjustFactor":0.015000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.030000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.040000000000000000,"ladder":2,"maxSize":79999,"minSize":40000},{"adjustFactor":0.060000000000000000,"ladder":3,"maxSize":119999,"minSize":80000},{"adjustFactor":0.075000000000000000,"ladder":4,"minSize":120000}],"leverRate":4},{"ladders":[{"adjustFactor":0.015000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.030000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.040000000000000000,"ladder":2,"maxSize":79999,"minSize":40000},{"adjustFactor":0.060000000000000000,"ladder":3,"maxSize":119999,"minSize":80000},{"adjustFactor":0.075000000000000000,"ladder":4,"minSize":120000}],"leverRate":3},{"ladders":[{"adjustFactor":0.010000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.020000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.025000000000000000,"ladder":2,"maxSize":79999,"minSize":40000},{"adjustFactor":0.040000000000000000,"ladder":3,"maxSize":119999,"minSize":80000},{"adjustFactor":0.050000000000000000,"ladder":4,"minSize":120000}],"leverRate":2},{"ladders":[{"adjustFactor":0.005000000000000000,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.010000000000000000,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.015000000000000000,"ladder":2,"maxSize":79999,"minSize":40000},{"adjustFactor":0.020000000000000000,"ladder":3,"maxSize":119999,"minSize":80000},{"adjustFactor":0.025000000000000000,"ladder":4,"minSize":120000}],"leverRate":1}],"marginMode":"isolated","symbol":"BTC","tradePartition":"USDT"}],"status":"ok","ts":1705731294362} +2024-01-20 14:17:28.913 [DEBUG] [main] [com.huobi.api.service.usdt.market.MarketAPIServiceImpl.getSwapEliteAccountRatio:376] - body:{"status":"ok","data":{"list":[{"buy_ratio":0.5300,"sell_ratio":0.4400,"locked_ratio":0.0300,"ts":1705626000000},{"buy_ratio":0.5500,"sell_ratio":0.4300,"locked_ratio":0.0200,"ts":1705629600000},{"buy_ratio":0.5600,"sell_ratio":0.4300,"locked_ratio":0.0100,"ts":1705633200000},{"buy_ratio":0.5300,"sell_ratio":0.4600,"locked_ratio":0.0100,"ts":1705636800000},{"buy_ratio":0.5500,"sell_ratio":0.4400,"locked_ratio":0.0100,"ts":1705640400000},{"buy_ratio":0.5400,"sell_ratio":0.4500,"locked_ratio":0.0100,"ts":1705644000000},{"buy_ratio":0.5500,"sell_ratio":0.4300,"locked_ratio":0.0200,"ts":1705647600000},{"buy_ratio":0.5500,"sell_ratio":0.4400,"locked_ratio":0.0100,"ts":1705651200000},{"buy_ratio":0.5400,"sell_ratio":0.4400,"locked_ratio":0.0200,"ts":1705654800000},{"buy_ratio":0.5600,"sell_ratio":0.4200,"locked_ratio":0.0200,"ts":1705658400000},{"buy_ratio":0.5500,"sell_ratio":0.4400,"locked_ratio":0.0100,"ts":1705662000000},{"buy_ratio":0.5700,"sell_ratio":0.4200,"locked_ratio":0.0100,"ts":1705665600000},{"buy_ratio":0.5700,"sell_ratio":0.4200,"locked_ratio":0.0100,"ts":1705669200000},{"buy_ratio":0.5500,"sell_ratio":0.4300,"locked_ratio":0.0200,"ts":1705672800000},{"buy_ratio":0.5500,"sell_ratio":0.4400,"locked_ratio":0.0100,"ts":1705676400000},{"buy_ratio":0.5400,"sell_ratio":0.4500,"locked_ratio":0.0100,"ts":1705680000000},{"buy_ratio":0.5100,"sell_ratio":0.4800,"locked_ratio":0.0100,"ts":1705683600000},{"buy_ratio":0.4900,"sell_ratio":0.5000,"locked_ratio":0.0100,"ts":1705687200000},{"buy_ratio":0.5300,"sell_ratio":0.4600,"locked_ratio":0.0100,"ts":1705690800000},{"buy_ratio":0.5000,"sell_ratio":0.4900,"locked_ratio":0.0100,"ts":1705694400000},{"buy_ratio":0.5000,"sell_ratio":0.4800,"locked_ratio":0.0200,"ts":1705698000000},{"buy_ratio":0.4700,"sell_ratio":0.5100,"locked_ratio":0.0200,"ts":1705701600000},{"buy_ratio":0.4900,"sell_ratio":0.4900,"locked_ratio":0.0200,"ts":1705705200000},{"buy_ratio":0.4800,"sell_ratio":0.5000,"locked_ratio":0.0200,"ts":1705708800000},{"buy_ratio":0.4800,"sell_ratio":0.5000,"locked_ratio":0.0200,"ts":1705712400000},{"buy_ratio":0.4800,"sell_ratio":0.5000,"locked_ratio":0.0200,"ts":1705716000000},{"buy_ratio":0.4800,"sell_ratio":0.5000,"locked_ratio":0.0200,"ts":1705719600000},{"buy_ratio":0.4800,"sell_ratio":0.5000,"locked_ratio":0.0200,"ts":1705723200000},{"buy_ratio":0.4900,"sell_ratio":0.4900,"locked_ratio":0.0200,"ts":1705726800000},{"buy_ratio":0.4900,"sell_ratio":0.4900,"locked_ratio":0.0200,"ts":1705730400000}],"symbol":"BTC","contract_code":"BTC-USDT","business_type":"swap","pair":"BTC-USDT","trade_partition":"USDT"},"ts":1705731442083} +2024-01-20 14:17:29.016 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.getSwapEliteAccountRatioResponse:119] - 14.精英账户多空持仓对比-账户数:{"data":[{"businessType":"swap","contractCode":"BTC-USDT","list":[{"buyRatio":0.5300,"lockedRatio":0.0300,"sellRatio":0.4400,"ts":1705626000000},{"buyRatio":0.5500,"lockedRatio":0.0200,"sellRatio":0.4300,"ts":1705629600000},{"buyRatio":0.5600,"lockedRatio":0.0100,"sellRatio":0.4300,"ts":1705633200000},{"buyRatio":0.5300,"lockedRatio":0.0100,"sellRatio":0.4600,"ts":1705636800000},{"buyRatio":0.5500,"lockedRatio":0.0100,"sellRatio":0.4400,"ts":1705640400000},{"buyRatio":0.5400,"lockedRatio":0.0100,"sellRatio":0.4500,"ts":1705644000000},{"buyRatio":0.5500,"lockedRatio":0.0200,"sellRatio":0.4300,"ts":1705647600000},{"buyRatio":0.5500,"lockedRatio":0.0100,"sellRatio":0.4400,"ts":1705651200000},{"buyRatio":0.5400,"lockedRatio":0.0200,"sellRatio":0.4400,"ts":1705654800000},{"buyRatio":0.5600,"lockedRatio":0.0200,"sellRatio":0.4200,"ts":1705658400000},{"buyRatio":0.5500,"lockedRatio":0.0100,"sellRatio":0.4400,"ts":1705662000000},{"buyRatio":0.5700,"lockedRatio":0.0100,"sellRatio":0.4200,"ts":1705665600000},{"buyRatio":0.5700,"lockedRatio":0.0100,"sellRatio":0.4200,"ts":1705669200000},{"buyRatio":0.5500,"lockedRatio":0.0200,"sellRatio":0.4300,"ts":1705672800000},{"buyRatio":0.5500,"lockedRatio":0.0100,"sellRatio":0.4400,"ts":1705676400000},{"buyRatio":0.5400,"lockedRatio":0.0100,"sellRatio":0.4500,"ts":1705680000000},{"buyRatio":0.5100,"lockedRatio":0.0100,"sellRatio":0.4800,"ts":1705683600000},{"buyRatio":0.4900,"lockedRatio":0.0100,"sellRatio":0.5000,"ts":1705687200000},{"buyRatio":0.5300,"lockedRatio":0.0100,"sellRatio":0.4600,"ts":1705690800000},{"buyRatio":0.5000,"lockedRatio":0.0100,"sellRatio":0.4900,"ts":1705694400000},{"buyRatio":0.5000,"lockedRatio":0.0200,"sellRatio":0.4800,"ts":1705698000000},{"buyRatio":0.4700,"lockedRatio":0.0200,"sellRatio":0.5100,"ts":1705701600000},{"buyRatio":0.4900,"lockedRatio":0.0200,"sellRatio":0.4900,"ts":1705705200000},{"buyRatio":0.4800,"lockedRatio":0.0200,"sellRatio":0.5000,"ts":1705708800000},{"buyRatio":0.4800,"lockedRatio":0.0200,"sellRatio":0.5000,"ts":1705712400000},{"buyRatio":0.4800,"lockedRatio":0.0200,"sellRatio":0.5000,"ts":1705716000000},{"buyRatio":0.4800,"lockedRatio":0.0200,"sellRatio":0.5000,"ts":1705719600000},{"buyRatio":0.4800,"lockedRatio":0.0200,"sellRatio":0.5000,"ts":1705723200000},{"buyRatio":0.4900,"lockedRatio":0.0200,"sellRatio":0.4900,"ts":1705726800000},{"buyRatio":0.4900,"lockedRatio":0.0200,"sellRatio":0.4900,"ts":1705730400000}],"pair":"BTC-USDT","symbol":"BTC","tradePartition":"USDT"}],"status":"ok","ts":1705731442083} +2024-01-20 14:18:08.349 [DEBUG] [main] [com.huobi.api.service.usdt.market.MarketAPIServiceImpl.getSwapElitePositionRatio:395] - body:{"status":"ok","data":{"list":[{"buy_ratio":0.4600,"sell_ratio":0.5400,"ts":1705626000000},{"buy_ratio":0.4610,"sell_ratio":0.5390,"ts":1705629600000},{"buy_ratio":0.4600,"sell_ratio":0.5400,"ts":1705633200000},{"buy_ratio":0.4600,"sell_ratio":0.5400,"ts":1705636800000},{"buy_ratio":0.4620,"sell_ratio":0.5380,"ts":1705640400000},{"buy_ratio":0.4610,"sell_ratio":0.5390,"ts":1705644000000},{"buy_ratio":0.4610,"sell_ratio":0.5390,"ts":1705647600000},{"buy_ratio":0.4630,"sell_ratio":0.5370,"ts":1705651200000},{"buy_ratio":0.4610,"sell_ratio":0.5390,"ts":1705654800000},{"buy_ratio":0.4610,"sell_ratio":0.5390,"ts":1705658400000},{"buy_ratio":0.4610,"sell_ratio":0.5390,"ts":1705662000000},{"buy_ratio":0.4630,"sell_ratio":0.5370,"ts":1705665600000},{"buy_ratio":0.4640,"sell_ratio":0.5360,"ts":1705669200000},{"buy_ratio":0.4640,"sell_ratio":0.5360,"ts":1705672800000},{"buy_ratio":0.4650,"sell_ratio":0.5350,"ts":1705676400000},{"buy_ratio":0.4650,"sell_ratio":0.5350,"ts":1705680000000},{"buy_ratio":0.4600,"sell_ratio":0.5400,"ts":1705683600000},{"buy_ratio":0.4630,"sell_ratio":0.5370,"ts":1705687200000},{"buy_ratio":0.4690,"sell_ratio":0.5310,"ts":1705690800000},{"buy_ratio":0.4710,"sell_ratio":0.5290,"ts":1705694400000},{"buy_ratio":0.4730,"sell_ratio":0.5270,"ts":1705698000000},{"buy_ratio":0.4700,"sell_ratio":0.5300,"ts":1705701600000},{"buy_ratio":0.4730,"sell_ratio":0.5270,"ts":1705705200000},{"buy_ratio":0.4760,"sell_ratio":0.5240,"ts":1705708800000},{"buy_ratio":0.4760,"sell_ratio":0.5240,"ts":1705712400000},{"buy_ratio":0.4770,"sell_ratio":0.5230,"ts":1705716000000},{"buy_ratio":0.4760,"sell_ratio":0.5240,"ts":1705719600000},{"buy_ratio":0.4740,"sell_ratio":0.5260,"ts":1705723200000},{"buy_ratio":0.4740,"sell_ratio":0.5260,"ts":1705726800000},{"buy_ratio":0.4760,"sell_ratio":0.5240,"ts":1705730400000}],"symbol":"BTC","contract_code":"BTC-USDT","business_type":"swap","pair":"BTC-USDT","trade_partition":"USDT"},"ts":1705731481522} +2024-01-20 14:18:08.443 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.getSwapElitePositionRatioResponse:125] - 15.精英账户多空持仓对比-持仓量:{"data":[{"businessType":"swap","contractCode":"BTC-USDT","list":[{"buyRatio":0.4600,"sellRatio":0.5400,"ts":1705626000000},{"buyRatio":0.4610,"sellRatio":0.5390,"ts":1705629600000},{"buyRatio":0.4600,"sellRatio":0.5400,"ts":1705633200000},{"buyRatio":0.4600,"sellRatio":0.5400,"ts":1705636800000},{"buyRatio":0.4620,"sellRatio":0.5380,"ts":1705640400000},{"buyRatio":0.4610,"sellRatio":0.5390,"ts":1705644000000},{"buyRatio":0.4610,"sellRatio":0.5390,"ts":1705647600000},{"buyRatio":0.4630,"sellRatio":0.5370,"ts":1705651200000},{"buyRatio":0.4610,"sellRatio":0.5390,"ts":1705654800000},{"buyRatio":0.4610,"sellRatio":0.5390,"ts":1705658400000},{"buyRatio":0.4610,"sellRatio":0.5390,"ts":1705662000000},{"buyRatio":0.4630,"sellRatio":0.5370,"ts":1705665600000},{"buyRatio":0.4640,"sellRatio":0.5360,"ts":1705669200000},{"buyRatio":0.4640,"sellRatio":0.5360,"ts":1705672800000},{"buyRatio":0.4650,"sellRatio":0.5350,"ts":1705676400000},{"buyRatio":0.4650,"sellRatio":0.5350,"ts":1705680000000},{"buyRatio":0.4600,"sellRatio":0.5400,"ts":1705683600000},{"buyRatio":0.4630,"sellRatio":0.5370,"ts":1705687200000},{"buyRatio":0.4690,"sellRatio":0.5310,"ts":1705690800000},{"buyRatio":0.4710,"sellRatio":0.5290,"ts":1705694400000},{"buyRatio":0.4730,"sellRatio":0.5270,"ts":1705698000000},{"buyRatio":0.4700,"sellRatio":0.5300,"ts":1705701600000},{"buyRatio":0.4730,"sellRatio":0.5270,"ts":1705705200000},{"buyRatio":0.4760,"sellRatio":0.5240,"ts":1705708800000},{"buyRatio":0.4760,"sellRatio":0.5240,"ts":1705712400000},{"buyRatio":0.4770,"sellRatio":0.5230,"ts":1705716000000},{"buyRatio":0.4760,"sellRatio":0.5240,"ts":1705719600000},{"buyRatio":0.4740,"sellRatio":0.5260,"ts":1705723200000},{"buyRatio":0.4740,"sellRatio":0.5260,"ts":1705726800000},{"buyRatio":0.4760,"sellRatio":0.5240,"ts":1705730400000}],"pair":"BTC-USDT","symbol":"BTC","tradePartition":"USDT"}],"status":"ok","ts":1705731481522} +2024-01-20 14:25:20.290 [DEBUG] [main] [com.huobi.api.service.usdt.market.MarketAPIServiceImpl.getSwapLiquidationOrders:490] - body:{"status":"error","err_code":10000,"err_msg":"The interface is offline. For details about the address of the new interface, see the following bulletin:https://www.huobi.com.bo/support/en-us/detail/94916436903925","ts":1705731913442} +2024-01-20 14:37:30.869 [DEBUG] [main] [com.huobi.api.service.usdt.market.MarketAPIServiceImpl.getSwapFundingRate:436] - body:{"status":"ok","data":{"estimated_rate":null,"funding_rate":"0.000674895063455343","contract_code":"BTC-USDT","symbol":"BTC","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},"ts":1705732644010} +2024-01-20 14:37:31.005 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.getSwapFundingRateResponse:137] - 17.获取合约的资金费率:{"data":[{"contractCode":"BTC-USDT","feeAsset":"USDT","fundingRate":"0.000674895063455343","fundingTime":"1705737600000","symbol":"BTC","tradePartition":"USDT"}],"status":"ok","ts":1705732644010} +2024-01-20 14:37:52.463 [DEBUG] [main] [com.huobi.api.service.usdt.market.MarketAPIServiceImpl.getSwapHistoricalFundingRate:459] - body:{"status":"ok","data":{"total_page":356,"current_page":1,"total_size":3556,"data":[{"avg_premium_index":"0.000743037508434982","trade_partition":"USDT","funding_rate":"0.000362467564225752","realized_rate":null,"funding_time":"1705708800000","contract_code":"BTC-USDT","symbol":"BTC","fee_asset":"USDT"},{"avg_premium_index":"0.000926863390917055","trade_partition":"USDT","funding_rate":"0.000215634721673310","realized_rate":null,"funding_time":"1705680000000","contract_code":"BTC-USDT","symbol":"BTC","fee_asset":"USDT"},{"avg_premium_index":"0.000544567307604619","trade_partition":"USDT","funding_rate":"0.000260622645388551","realized_rate":null,"funding_time":"1705651200000","contract_code":"BTC-USDT","symbol":"BTC","fee_asset":"USDT"},{"avg_premium_index":"0.000668977809225908","trade_partition":"USDT","funding_rate":"0.000625130064378539","realized_rate":null,"funding_time":"1705622400000","contract_code":"BTC-USDT","symbol":"BTC","fee_asset":"USDT"},{"avg_premium_index":"0.000658547287040672","trade_partition":"USDT","funding_rate":"0.000196907646872975","realized_rate":null,"funding_time":"1705593600000","contract_code":"BTC-USDT","symbol":"BTC","fee_asset":"USDT"},{"avg_premium_index":"0.000351540523045249","trade_partition":"USDT","funding_rate":"0.000144865698794994","realized_rate":null,"funding_time":"1705564800000","contract_code":"BTC-USDT","symbol":"BTC","fee_asset":"USDT"},{"avg_premium_index":"0.000567050940675805","trade_partition":"USDT","funding_rate":"0.000100000000000000","realized_rate":null,"funding_time":"1705536000000","contract_code":"BTC-USDT","symbol":"BTC","fee_asset":"USDT"},{"avg_premium_index":"0.000480803152891076","trade_partition":"USDT","funding_rate":"0.000100000000000000","realized_rate":null,"funding_time":"1705507200000","contract_code":"BTC-USDT","symbol":"BTC","fee_asset":"USDT"},{"avg_premium_index":"0.000170305283982591","trade_partition":"USDT","funding_rate":"0.000100000000000000","realized_rate":null,"funding_time":"1705478400000","contract_code":"BTC-USDT","symbol":"BTC","fee_asset":"USDT"},{"avg_premium_index":"0.000152737838240276","trade_partition":"USDT","funding_rate":"0.000100000000000000","realized_rate":null,"funding_time":"1705449600000","contract_code":"BTC-USDT","symbol":"BTC","fee_asset":"USDT"}]},"ts":1705732665606} +2024-01-20 14:37:52.576 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.getSwapHistoricalFundingRateResponse:143] - 18.获取合约的历史资金费率:{"data":[{"currentPage":1,"data":[{"avgPremiumIndex":"0.000743037508434982","contractCode":"BTC-USDT","feeAsset":"USDT","fundingRate":"0.000362467564225752","fundingTime":"1705708800000","symbol":"BTC","tradePartition":"USDT"},{"avgPremiumIndex":"0.000926863390917055","contractCode":"BTC-USDT","feeAsset":"USDT","fundingRate":"0.000215634721673310","fundingTime":"1705680000000","symbol":"BTC","tradePartition":"USDT"},{"avgPremiumIndex":"0.000544567307604619","contractCode":"BTC-USDT","feeAsset":"USDT","fundingRate":"0.000260622645388551","fundingTime":"1705651200000","symbol":"BTC","tradePartition":"USDT"},{"avgPremiumIndex":"0.000668977809225908","contractCode":"BTC-USDT","feeAsset":"USDT","fundingRate":"0.000625130064378539","fundingTime":"1705622400000","symbol":"BTC","tradePartition":"USDT"},{"avgPremiumIndex":"0.000658547287040672","contractCode":"BTC-USDT","feeAsset":"USDT","fundingRate":"0.000196907646872975","fundingTime":"1705593600000","symbol":"BTC","tradePartition":"USDT"},{"avgPremiumIndex":"0.000351540523045249","contractCode":"BTC-USDT","feeAsset":"USDT","fundingRate":"0.000144865698794994","fundingTime":"1705564800000","symbol":"BTC","tradePartition":"USDT"},{"avgPremiumIndex":"0.000567050940675805","contractCode":"BTC-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705536000000","symbol":"BTC","tradePartition":"USDT"},{"avgPremiumIndex":"0.000480803152891076","contractCode":"BTC-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705507200000","symbol":"BTC","tradePartition":"USDT"},{"avgPremiumIndex":"0.000170305283982591","contractCode":"BTC-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705478400000","symbol":"BTC","tradePartition":"USDT"},{"avgPremiumIndex":"0.000152737838240276","contractCode":"BTC-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705449600000","symbol":"BTC","tradePartition":"USDT"}],"totalPage":356,"totalSize":3556}],"status":"ok","ts":1705732665606} +2024-01-20 14:38:16.858 [DEBUG] [main] [com.huobi.api.service.usdt.market.MarketAPIServiceImpl.getLinearSwapBasis:523] - body:{"ch":"market.BTC-USDT.basis.60min.open","data":[{"basis":"18.353333333332557","basis_rate":"0.00044099882629914576","contract_price":"41636","id":1705698000,"index_price":"41617.64666666667"},{"basis":"29.22666666666919","basis_rate":"0.0007019958684085011","contract_price":"41662.9","id":1705701600,"index_price":"41633.67333333333"},{"basis":"20.056666666670935","basis_rate":"0.00048115010307913525","contract_price":"41704.9","id":1705705200,"index_price":"41684.84333333333"},{"basis":"29.919999999998254","basis_rate":"0.0007182262883303652","contract_price":"41688.1","id":1705708800,"index_price":"41658.18"},{"basis":"45.41666666666424","basis_rate":"0.0010948713013941044","contract_price":"41526.7","id":1705712400,"index_price":"41481.28333333333"},{"basis":"49.14999999999418","basis_rate":"0.0011798723145300537","contract_price":"41706.2","id":1705716000,"index_price":"41657.05"},{"basis":"54.44000000000233","basis_rate":"0.0013079445377699578","contract_price":"41677","id":1705719600,"index_price":"41622.56"},{"basis":"55.94000000000233","basis_rate":"0.0013435856395338504","contract_price":"41690.8","id":1705723200,"index_price":"41634.86"},{"basis":"62.07333333333372","basis_rate":"0.0014918129733414028","contract_price":"41671.4","id":1705726800,"index_price":"41609.32666666667"},{"basis":"56.493333333331975","basis_rate":"0.0013570339727705697","contract_price":"41686.5","id":1705730400,"index_price":"41630.00666666667"}],"status":"ok","ts":1705732689998} +2024-01-20 14:38:16.950 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.getLinearSwapBasisResponse:169] - 22.获取基差数据:{"ch":"market.BTC-USDT.basis.60min.open","data":[{"basis":"18.353333333332557","basisRate":"0.00044099882629914576","contractPrice":"41636","id":1705698000,"indexPrice":"41617.64666666667"},{"basis":"29.22666666666919","basisRate":"0.0007019958684085011","contractPrice":"41662.9","id":1705701600,"indexPrice":"41633.67333333333"},{"basis":"20.056666666670935","basisRate":"0.00048115010307913525","contractPrice":"41704.9","id":1705705200,"indexPrice":"41684.84333333333"},{"basis":"29.919999999998254","basisRate":"0.0007182262883303652","contractPrice":"41688.1","id":1705708800,"indexPrice":"41658.18"},{"basis":"45.41666666666424","basisRate":"0.0010948713013941044","contractPrice":"41526.7","id":1705712400,"indexPrice":"41481.28333333333"},{"basis":"49.14999999999418","basisRate":"0.0011798723145300537","contractPrice":"41706.2","id":1705716000,"indexPrice":"41657.05"},{"basis":"54.44000000000233","basisRate":"0.0013079445377699578","contractPrice":"41677","id":1705719600,"indexPrice":"41622.56"},{"basis":"55.94000000000233","basisRate":"0.0013435856395338504","contractPrice":"41690.8","id":1705723200,"indexPrice":"41634.86"},{"basis":"62.07333333333372","basisRate":"0.0014918129733414028","contractPrice":"41671.4","id":1705726800,"indexPrice":"41609.32666666667"},{"basis":"56.493333333331975","basisRate":"0.0013570339727705697","contractPrice":"41686.5","id":1705730400,"indexPrice":"41630.00666666667"}],"status":"ok","ts":1705732689998} +2024-01-20 14:38:39.202 [DEBUG] [main] [com.huobi.api.service.usdt.market.MarketAPIServiceImpl.getLinearSwapPremiumIndexKline:480] - body:{"ch":"market.BTC-USDT.premium_index.5min","data":[{"amount":"0","close":"0.0010700100161778","count":"0","high":"0.0015421228596588","id":1705729800,"low":"0.0010700100161778","open":"0.0012238456760804","vol":"0"},{"amount":"0","close":"0.0014791616466382","count":"0","high":"0.0014791616466382","id":1705730100,"low":"0.0011562786491365","open":"0.0011678272989983","vol":"0"},{"amount":"0","close":"0.0013352289585718","count":"0","high":"0.0013723857412804","id":1705730400,"low":"0.0011966648495111","open":"0.0013585573781307","vol":"0"},{"amount":"0","close":"0.0012705892262456","count":"0","high":"0.0014782368462145","id":1705730700,"low":"0.0011798026865227","open":"0.0013352289585718","vol":"0"},{"amount":"0","close":"0.0012321931597268","count":"0","high":"0.0014425582219893","id":1705731000,"low":"0.0012155160763249","open":"0.001271390917998","vol":"0"},{"amount":"0","close":"0.0012318596760197","count":"0","high":"0.0014398316164673","id":1705731300,"low":"0.0010193891986352","open":"0.0012315519379651","vol":"0"},{"amount":"0","close":"0.0012040744625501","count":"0","high":"0.0014239715452127","id":1705731600,"low":"0.0011249322868526","open":"0.0012415537377681","vol":"0"},{"amount":"0","close":"0.0011121761932853","count":"0","high":"0.0012564393215339","id":1705731900,"low":"0.0010441817764241","open":"0.0012041545531929","vol":"0"},{"amount":"0","close":"0.0010966209153509","count":"0","high":"0.001348893629588","id":1705732200,"low":"0.0010590755271827","open":"0.0011474170954746","vol":"0"},{"amount":"0","close":"0.0012824422298563","count":"0","high":"0.0013068890533794","id":1705732500,"low":"0.0010392232406012","open":"0.0010392232406012","vol":"0"}],"status":"ok","ts":1705732712345} +2024-01-20 14:38:39.298 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.getLinearSwapPremiumIndexKlineResponse:150] - 20.获取合约的溢价指数K线:{"ch":"market.BTC-USDT.premium_index.5min","data":[{"amount":"0","close":"0.0010700100161778","count":"0","high":"0.0015421228596588","id":1705729800,"low":"0.0010700100161778","open":"0.0012238456760804","vol":"0"},{"amount":"0","close":"0.0014791616466382","count":"0","high":"0.0014791616466382","id":1705730100,"low":"0.0011562786491365","open":"0.0011678272989983","vol":"0"},{"amount":"0","close":"0.0013352289585718","count":"0","high":"0.0013723857412804","id":1705730400,"low":"0.0011966648495111","open":"0.0013585573781307","vol":"0"},{"amount":"0","close":"0.0012705892262456","count":"0","high":"0.0014782368462145","id":1705730700,"low":"0.0011798026865227","open":"0.0013352289585718","vol":"0"},{"amount":"0","close":"0.0012321931597268","count":"0","high":"0.0014425582219893","id":1705731000,"low":"0.0012155160763249","open":"0.001271390917998","vol":"0"},{"amount":"0","close":"0.0012318596760197","count":"0","high":"0.0014398316164673","id":1705731300,"low":"0.0010193891986352","open":"0.0012315519379651","vol":"0"},{"amount":"0","close":"0.0012040744625501","count":"0","high":"0.0014239715452127","id":1705731600,"low":"0.0011249322868526","open":"0.0012415537377681","vol":"0"},{"amount":"0","close":"0.0011121761932853","count":"0","high":"0.0012564393215339","id":1705731900,"low":"0.0010441817764241","open":"0.0012041545531929","vol":"0"},{"amount":"0","close":"0.0010966209153509","count":"0","high":"0.001348893629588","id":1705732200,"low":"0.0010590755271827","open":"0.0011474170954746","vol":"0"},{"amount":"0","close":"0.0012824422298563","count":"0","high":"0.0013068890533794","id":1705732500,"low":"0.0010392232406012","open":"0.0010392232406012","vol":"0"}],"status":"ok","ts":1705732712345} +2024-01-20 14:38:58.680 [DEBUG] [main] [com.huobi.api.service.usdt.market.MarketAPIServiceImpl.getLinearSwapEstimatedRateKline:500] - body:{"ch":"market.BTC-USDT.estimated_rate.5min","data":[{"amount":"0","close":"0.0006611724041464","count":"0","high":"0.0006612381023175","id":1705729800,"low":"0.0006594027074043","open":"0.0006594027074043","vol":"0"},{"amount":"0","close":"0.0006631620561778","count":"0","high":"0.0006631620561778","id":1705730100,"low":"0.0006612489948175","open":"0.0006612489948175","vol":"0"},{"amount":"0","close":"0.0006648363777378","count":"0","high":"0.0006648363777378","id":1705730400,"low":"0.000663135633325","open":"0.000663135633325","vol":"0"},{"amount":"0","close":"0.0006665015582204","count":"0","high":"0.0006665015582204","id":1705730700,"low":"0.0006648649244475","open":"0.0006648649244475","vol":"0"},{"amount":"0","close":"0.000668138085001","count":"0","high":"0.000668138085001","id":1705731000,"low":"0.0006665297672653","open":"0.0006665297672653","vol":"0"},{"amount":"0","close":"0.0006697463583955","count":"0","high":"0.0006697463583955","id":1705731300,"low":"0.0006681650521779","open":"0.0006681650521779","vol":"0"},{"amount":"0","close":"0.0006712873193639","count":"0","high":"0.0006712873193639","id":1705731600,"low":"0.0006697769106587","open":"0.0006697769106587","vol":"0"},{"amount":"0","close":"0.0006727341565438","count":"0","high":"0.0006727575584031","id":1705731900,"low":"0.0006713127566022","open":"0.0006713127566022","vol":"0"},{"amount":"0","close":"0.0006741463893764","count":"0","high":"0.0006741463893764","id":1705732200,"low":"0.000672773320794","open":"0.000672773320794","vol":"0"},{"amount":"0","close":"0.0006752682252336","count":"0","high":"0.0006752682252336","id":1705732500,"low":"0.0006741452445765","open":"0.0006741452445765","vol":"0"}],"status":"ok","ts":1705732731813} +2024-01-20 14:38:58.823 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.getLinearSwapEstimatedRateKlineResponse:157] - 21.获取实时预测资金费率的K线数据:{"ch":"market.BTC-USDT.estimated_rate.5min","data":[{"amount":"0","close":"0.0006611724041464","count":"0","high":"0.0006612381023175","id":1705729800,"low":"0.0006594027074043","open":"0.0006594027074043","vol":"0"},{"amount":"0","close":"0.0006631620561778","count":"0","high":"0.0006631620561778","id":1705730100,"low":"0.0006612489948175","open":"0.0006612489948175","vol":"0"},{"amount":"0","close":"0.0006648363777378","count":"0","high":"0.0006648363777378","id":1705730400,"low":"0.000663135633325","open":"0.000663135633325","vol":"0"},{"amount":"0","close":"0.0006665015582204","count":"0","high":"0.0006665015582204","id":1705730700,"low":"0.0006648649244475","open":"0.0006648649244475","vol":"0"},{"amount":"0","close":"0.000668138085001","count":"0","high":"0.000668138085001","id":1705731000,"low":"0.0006665297672653","open":"0.0006665297672653","vol":"0"},{"amount":"0","close":"0.0006697463583955","count":"0","high":"0.0006697463583955","id":1705731300,"low":"0.0006681650521779","open":"0.0006681650521779","vol":"0"},{"amount":"0","close":"0.0006712873193639","count":"0","high":"0.0006712873193639","id":1705731600,"low":"0.0006697769106587","open":"0.0006697769106587","vol":"0"},{"amount":"0","close":"0.0006727341565438","count":"0","high":"0.0006727575584031","id":1705731900,"low":"0.0006713127566022","open":"0.0006713127566022","vol":"0"},{"amount":"0","close":"0.0006741463893764","count":"0","high":"0.0006741463893764","id":1705732200,"low":"0.000672773320794","open":"0.000672773320794","vol":"0"},{"amount":"0","close":"0.0006752682252336","count":"0","high":"0.0006752682252336","id":1705732500,"low":"0.0006741452445765","open":"0.0006741452445765","vol":"0"}],"status":"ok","ts":1705732731813} +2024-01-20 14:39:20.255 [DEBUG] [main] [com.huobi.api.service.usdt.market.MarketAPIServiceImpl.getSwapEstimatedSettlementPrice:555] - body:{"status":"ok","data":[{"contract_code":"BTC-USDT","estimated_settlement_price":null,"settlement_type":"settlement","business_type":"swap","pair":"BTC-USDT","contract_type":"swap","trade_partition":"USDT"}],"ts":1705732753396} +2024-01-20 14:39:20.342 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.getSwapEstimatedSettlementPriceResponse:176] - 23.获取预估结算价:{"data":[{"businessType":"swap","contractCode":"BTC-USDT","contractType":"swap","pair":"BTC-USDT","settlementType":"settlement","tradePartition":"USDT"}],"status":"ok","ts":1705732753396} +2024-01-20 14:39:41.542 [DEBUG] [main] [com.huobi.api.service.usdt.market.MarketAPIServiceImpl.getBatchMerged:581] - body:{"status":"ok","ticks":[{"id":1705732774,"ts":1705732774586,"ask":[0.4688,856],"bid":[0.4678,922],"trade_partition":"USDT","business_type":"swap","contract_code":"MANA-USDT","open":"0.455","close":"0.4681","low":"0.4345","high":"0.4825","amount":"722060","count":3013,"vol":"72206","trade_turnover":"332523.554"},{"id":1705732774,"ts":1705732774586,"ask":[5.253E-7,52],"bid":[5.25E-7,2285],"trade_partition":"USDT","business_type":"swap","contract_code":"SATS-USDT","open":"5.386E-7","close":"5.25E-7","low":"4.865E-7","high":"5.407E-7","amount":"6775368000000","count":5665,"vol":"6775368","trade_turnover":"3551032.46"},{"id":1705732774,"ts":1705732774586,"ask":[0.09032,3529],"bid":[0.0902,3244],"trade_partition":"USDT","business_type":"swap","contract_code":"CHZ-USDT","open":"0.08932","close":"0.09024","low":"0.08596","high":"0.09091","amount":"4014500","count":3355,"vol":"401450","trade_turnover":"360824.8478"},{"id":1705732774,"ts":1705732774586,"ask":[6.8561,500],"bid":[6.8543,34],"trade_partition":"USDT","business_type":"swap","contract_code":"DOT-USDT","open":"6.7946","close":"6.8562","low":"6.5701","high":"6.9168","amount":"397498","count":5484,"vol":"397498","trade_turnover":"2729875.5998"},{"id":1705732774,"ts":1705732774586,"ask":[0.1655,7642],"bid":[0.1653,2493],"trade_partition":"USDT","business_type":"swap","contract_code":"POLYX-USDT","open":"0.1627","close":"0.1653","low":"0.1561","high":"0.1668","amount":"232024","count":2772,"vol":"232024","trade_turnover":"37933.3542"},{"id":1705732774,"ts":1705732774586,"ask":[0.05255,6],"bid":[0.028,9],"trade_partition":"USDT","business_type":"swap","contract_code":"QRDO-USDT","open":"0.054","close":"0.054","low":"0.054","high":"0.054","amount":"0","count":0,"vol":"0","trade_turnover":"0"},{"id":1705732774,"ts":1705732774586,"ask":[1.1353,95],"bid":[1.1328,291],"trade_partition":"USDT","business_type":"swap","contract_code":"MINA-USDT","open":"1.1539","close":"1.1344","low":"1.1052","high":"1.1907","amount":"102572","count":2777,"vol":"102572","trade_turnover":"119476.0494"},{"id":1705732774,"ts":1705732774586,"ask":[0.7164,136],"bid":[0.7155,2846],"trade_partition":"USDT","business_type":"swap","contract_code":"EOS-USDT","open":"0.7087","close":"0.7161","low":"0.6808","high":"0.7229","amount":"774412","count":3162,"vol":"774412","trade_turnover":"547556.0122"},{"id":1705732774,"ts":1705732774586,"ask":[8.125,320],"bid":[8.111,320],"trade_partition":"USDT","business_type":"swap","contract_code":"ACE-USDT","open":"7.907","close":"8.116","low":"7.367","high":"8.508","amount":"46219","count":3491,"vol":"462190","trade_turnover":"374088.3702"},{"id":1705732774,"ts":1705732774586,"ask":[0.664,138],"bid":[0.6629,12860],"trade_partition":"USDT","business_type":"swap","contract_code":"LUNA-USDT","open":"0.6523","close":"0.6634","low":"0.618","high":"0.668","amount":"383226","count":3233,"vol":"383226","trade_turnover":"256013.5584"},{"id":1705732774,"ts":1705732774586,"ask":[0.15616,3724],"bid":[0.15587,250],"trade_partition":"USDT","business_type":"swap","contract_code":"GRT-USDT","open":"0.15087","close":"0.15606","low":"0.14546","high":"0.15698","amount":"3184780","count":3468,"vol":"318478","trade_turnover":"484669.0838"},{"id":1705732774,"ts":1705732774586,"ask":null,"bid":null,"trade_partition":"USDT","business_type":"swap","contract_code":"UNB-USDT","open":"0.001","close":"0.001","low":"0.001","high":"0.001","amount":"0","count":0,"vol":"0","trade_turnover":"0"},{"id":1705732774,"ts":1705732774586,"ask":null,"bid":null,"trade_partition":"USDT","business_type":"swap","contract_code":"CVX-USDT","open":"1.35","close":"1.35","low":"1.35","high":"1.35","amount":"0","count":0,"vol":"0","trade_turnover":"0"},{"id":1705732774,"ts":1705732774586,"ask":[0.2357,901],"bid":[0.2353,2486],"trade_partition":"USDT","business_type":"swap","contract_code":"STEEM-USDT","open":"0.2259","close":"0.2355","low":"0.2187","high":"0.2634","amount":"18375142","count":10816,"vol":"18375142","trade_turnover":"4390188.79"},{"id":1705732774,"ts":1705732774586,"ask":[2.1664,5908],"bid":[2.1633,2353],"trade_partition":"USDT","business_type":"swap","contract_code":"JTO-USDT","open":"2.1297","close":"2.167","low":"2.014","high":"2.3759","amount":"558927.4","count":4041,"vol":"5589274","trade_turnover":"1255764.43738"},{"id":1705732774,"ts":1705732774586,"ask":[2.5135,167],"bid":[2.5117,750],"trade_partition":"USDT","business_type":"swap","contract_code":"WLD-USDT","open":"2.5104","close":"2.5112","low":"2.3423","high":"2.5551","amount":"418064","count":3932,"vol":"418064","trade_turnover":"1042622.387"},{"id":1705732774,"ts":1705732774586,"ask":[3.1742,111],"bid":[3.1733,4000],"trade_partition":"USDT","business_type":"swap","contract_code":"OP-USDT","open":"3.1573","close":"3.1742","low":"3.0021","high":"3.2352","amount":"1007033.6","count":6578,"vol":"10070336","trade_turnover":"3177191.37384"},{"id":1705732774,"ts":1705732774586,"ask":[0.205,43],"bid":[0.0001,42],"trade_partition":"USDT","business_type":"swap","contract_code":"FSN-USDT","open":"0.205","close":"0.205","low":"0.205","high":"0.205","amount":"0","count":0,"vol":"0","trade_turnover":"0"},{"id":1705732774,"ts":1705732774586,"ask":[68.111,368],"bid":[68.077,8],"trade_partition":"USDT","business_type":"swap","contract_code":"ORDI-USDT","open":"67.414","close":"68.072","low":"62.776","high":"69.55","amount":"242550.8","count":16888,"vol":"2425508","trade_turnover":"16326517.6752"},{"id":1705732774,"ts":1705732774586,"ask":[0.6512,14070],"bid":[0.6499,5184],"trade_partition":"USDT","business_type":"swap","contract_code":"BLUR-USDT","open":"0.6382","close":"0.6504","low":"0.6018","high":"0.691","amount":"3865754","count":7513,"vol":"3865754","trade_turnover":"2537381.459"},{"id":1705732774,"ts":1705732774586,"ask":[0.00011093,599],"bid":[0.00011085,135],"trade_partition":"USDT","business_type":"swap","contract_code":"LUNC-USDT","open":"0.00010901","close":"0.00011087","low":"0.00010248","high":"0.00011241","amount":"4016880000","count":3379,"vol":"401688","trade_turnover":"436630.7136"},{"id":1705732774,"ts":1705732774586,"ask":[30.875,14599],"bid":[30.82,1425],"trade_partition":"USDT","business_type":"swap","contract_code":"SSV-USDT","open":"30.577","close":"30.849","low":"29.212","high":"31.604","amount":"5864.64","count":2858,"vol":"586464","trade_turnover":"180887.3601"},{"id":1705732774,"ts":1705732774586,"ask":[0.2271,5959],"bid":[0.2267,6029],"trade_partition":"USDT","business_type":"swap","contract_code":"IOTA-USDT","open":"0.2249","close":"0.2269","low":"0.2154","high":"0.2294","amount":"366450","count":2798,"vol":"366450","trade_turnover":"82422.7842"},{"id":1705732774,"ts":1705732774586,"ask":[38.946,17],"bid":[38.876,552],"trade_partition":"USDT","business_type":"swap","contract_code":"KSM-USDT","open":"38.52","close":"38.902","low":"36.422","high":"39.116","amount":"11184.8","count":3474,"vol":"111848","trade_turnover":"429768.0636"},{"id":1705732774,"ts":1705732774586,"ask":[1.1085,1000],"bid":[1.1076,78],"trade_partition":"USDT","business_type":"swap","contract_code":"SUI-USDT","open":"1.1455","close":"1.1085","low":"1.0863","high":"1.1937","amount":"3829964","count":8381,"vol":"3829964","trade_turnover":"4381707.3122"},{"id":1705732774,"ts":1705732774586,"ask":[0.0000117,8103],"bid":[0.000011689,1621],"trade_partition":"USDT","business_type":"swap","contract_code":"BONK-USDT","open":"0.000011614","close":"0.000011691","low":"0.000010874","high":"0.000012289","amount":"185093600000","count":4893,"vol":"1850936","trade_turnover":"2147458.1898"},{"id":1705732774,"ts":1705732774586,"ask":[11.227,89],"bid":[11.218,1203],"trade_partition":"USDT","business_type":"swap","contract_code":"ICP-USDT","open":"10.92","close":"11.225","low":"10.474","high":"11.476","amount":"85705","count":4340,"vol":"857050","trade_turnover":"948143.9866"},{"id":1705732774,"ts":1705732774586,"ask":[2479.43,8791],"bid":[2479.42,2513],"trade_partition":"USDT","business_type":"swap","contract_code":"ETH-USDT","open":"2464.62","close":"2479.43","low":"2416.42","high":"2506.39","amount":"181137.36","count":81343,"vol":"18113736","trade_turnover":"447599909.74"},{"id":1705732774,"ts":1705732774586,"ask":[0.328,5042],"bid":[0.3275,3810],"trade_partition":"USDT","business_type":"swap","contract_code":"RDNT-USDT","open":"0.3322","close":"0.3275","low":"0.3172","high":"0.3373","amount":"1511716","count":3440,"vol":"1511716","trade_turnover":"505520.9876"},{"id":1705732774,"ts":1705732774586,"ask":[0.5621,854],"bid":[0.5616,884],"trade_partition":"USDT","business_type":"swap","contract_code":"STORJ-USDT","open":"0.5524","close":"0.5613","low":"0.5293","high":"0.5638","amount":"1216096","count":3492,"vol":"1216096","trade_turnover":"673709.9038"},{"id":1705732774,"ts":1705732774586,"ask":[0.29359,17072],"bid":[0.29315,18466],"trade_partition":"USDT","business_type":"swap","contract_code":"GMT-USDT","open":"0.28751","close":"0.29332","low":"0.27453","high":"0.2962","amount":"2785006","count":3087,"vol":"2785006","trade_turnover":"798570.24722"},{"id":1705732774,"ts":1705732774586,"ask":[0.5437,33],"bid":[0.5422,414],"trade_partition":"USDT","business_type":"swap","contract_code":"STG-USDT","open":"0.5341","close":"0.543","low":"0.5169","high":"0.549","amount":"49206","count":2814,"vol":"49206","trade_turnover":"26341.1698"},{"id":1705732774,"ts":1705732774586,"ask":null,"bid":null,"trade_partition":"USDT","business_type":"swap","contract_code":"TENET-USDT","open":"0.09601","close":"0.09601","low":"0.09601","high":"0.09601","amount":"0","count":0,"vol":"0","trade_turnover":"0"},{"id":1705732774,"ts":1705732774586,"ask":[72.26,4982],"bid":[72.17,516],"trade_partition":"USDT","business_type":"swap","contract_code":"BSV-USDT","open":"72.39","close":"72.21","low":"69.13","high":"74.02","amount":"27994.12","count":4295,"vol":"2799412","trade_turnover":"2031565.3668"},{"id":1705732774,"ts":1705732774586,"ask":[41706.7,2998],"bid":[41706.6,6393],"trade_partition":"USDT","business_type":"swap","contract_code":"BTC-USDT","open":"40935.7","close":"41706.6","low":"40312.2","high":"42219.8","amount":"14920.546","count":74043,"vol":"14920546","trade_turnover":"616496843.3968"},{"id":1705732774,"ts":1705732774586,"ask":[0.41504,566],"bid":[0.41373,103],"trade_partition":"USDT","business_type":"swap","contract_code":"WOO-USDT","open":"0.39351","close":"0.41425","low":"0.37149","high":"0.41792","amount":"772100","count":3654,"vol":"77210","trade_turnover":"308605.8256"},{"id":1705732774,"ts":1705732774586,"ask":[159.72,35],"bid":[159.42,51],"trade_partition":"USDT","business_type":"swap","contract_code":"XMR-USDT","open":"153.66","close":"159.49","low":"150.02","high":"164.2","amount":"7423.98","count":5229,"vol":"742398","trade_turnover":"1171979.5468"},{"id":1705732774,"ts":1705732774586,"ask":[7.6441,5991],"bid":[7.6324,6163],"trade_partition":"USDT","business_type":"swap","contract_code":"AXS-USDT","open":"7.3402","close":"7.6415","low":"7.1086","high":"7.7791","amount":"104824.2","count":3867,"vol":"1048242","trade_turnover":"786789.24406"},{"id":1705732774,"ts":1705732774586,"ask":[0.00829,5395],"bid":[0.00825,16102],"trade_partition":"USDT","business_type":"swap","contract_code":"LINA-USDT","open":"0.00843","close":"0.00827","low":"0.00786","high":"0.00843","amount":"7193160","count":2744,"vol":"719316","trade_turnover":"59348.3106"},{"id":1705732774,"ts":1705732774586,"ask":[24.693,1398],"bid":[24.6893,48],"trade_partition":"USDT","business_type":"swap","contract_code":"ETC-USDT","open":"23.9742","close":"24.7003","low":"22.9589","high":"27.752","amount":"712968","count":17012,"vol":"712968","trade_turnover":"17458669.4198"},{"id":1705732774,"ts":1705732774586,"ask":[0.03208,269],"bid":[0.03206,2846],"trade_partition":"USDT","business_type":"swap","contract_code":"PEOPLE-USDT","open":"0.0312","close":"0.03203","low":"0.02981","high":"0.03295","amount":"60620680","count":4455,"vol":"6062068","trade_turnover":"1930810.3384"},{"id":1705732774,"ts":1705732774586,"ask":null,"bid":null,"trade_partition":"USDT","business_type":"swap","contract_code":"MPLX-USDT","open":"0.091","close":"0.091","low":"0.091","high":"0.091","amount":"0","count":0,"vol":"0","trade_turnover":"0"},{"id":1705732774,"ts":1705732774586,"ask":[0.3643,6665],"bid":[0.3639,2750],"trade_partition":"USDT","business_type":"swap","contract_code":"FTM-USDT","open":"0.3593","close":"0.364","low":"0.3443","high":"0.3682","amount":"939566","count":2961,"vol":"939566","trade_turnover":"336293.2284"},{"id":1705732774,"ts":1705732774586,"ask":[0.01858,5518],"bid":[0.01855,714],"trade_partition":"USDT","business_type":"swap","contract_code":"ACH-USDT","open":"0.01793","close":"0.01855","low":"0.01725","high":"0.0189","amount":"9456620","count":3114,"vol":"945662","trade_turnover":"171368.8014"},{"id":1705732774,"ts":1705732774586,"ask":[235.77,1120],"bid":[235.59,139],"trade_partition":"USDT","business_type":"swap","contract_code":"BCH-USDT","open":"234.26","close":"235.6","low":"226.36","high":"238.07","amount":"6642.1","count":4199,"vol":"664210","trade_turnover":"1553330.1896"},{"id":1705732774,"ts":1705732774586,"ask":[1.3926,1000],"bid":[1.391,1000],"trade_partition":"USDT","business_type":"swap","contract_code":"APE-USDT","open":"1.3643","close":"1.3913","low":"1.3084","high":"1.4195","amount":"417168","count":3066,"vol":"417168","trade_turnover":"569118.8454"},{"id":1705732774,"ts":1705732774586,"ask":[0.3741,613],"bid":[0.3733,5391],"trade_partition":"USDT","business_type":"swap","contract_code":"BIGTIME-USDT","open":"0.3717","close":"0.3736","low":"0.3431","high":"0.3864","amount":"1480814","count":3360,"vol":"1480814","trade_turnover":"544831.8558"},{"id":1705732774,"ts":1705732774586,"ask":null,"bid":null,"trade_partition":"USDT","business_type":"swap","contract_code":"OPUL-USDT","open":"0.11","close":"0.11","low":"0.11","high":"0.11","amount":"0","count":0,"vol":"0","trade_turnover":"0"},{"id":1705732774,"ts":1705732774586,"ask":[95.4,548],"bid":[94.54,1005],"trade_partition":"USDT","business_type":"swap","contract_code":"METIS-USDT","open":"86.09","close":"94.71","low":"83.02","high":"99.99","amount":"7790.4","count":5327,"vol":"779040","trade_turnover":"713833.7308"},{"id":1705732774,"ts":1705732774586,"ask":[1.8996,32814],"bid":[1.8966,871],"trade_partition":"USDT","business_type":"swap","contract_code":"IMX-USDT","open":"1.8598","close":"1.8982","low":"1.8","high":"1.9404","amount":"86503.8","count":2789,"vol":"865038","trade_turnover":"163813.86326"},{"id":1705732774,"ts":1705732774586,"ask":null,"bid":null,"trade_partition":"USDT","business_type":"swap","contract_code":"DUSK-USDT","open":"0.17294","close":"0.17294","low":"0.17294","high":"0.17294","amount":"0","count":0,"vol":"0","trade_turnover":"0"},{"id":1705732774,"ts":1705732774586,"ask":[59.24,228],"bid":[59.17,2236],"trade_partition":"USDT","business_type":"swap","contract_code":"COMP-USDT","open":"55.94","close":"59.25","low":"53.56","high":"59.64","amount":"2468.4","count":2844,"vol":"246840","trade_turnover":"139760.146"},{"id":1705732774,"ts":1705732774586,"ask":[0.7185,4343],"bid":[0.7173,412],"trade_partition":"USDT","business_type":"swap","contract_code":"KAVA-USDT","open":"0.6938","close":"0.7173","low":"0.6695","high":"0.7188","amount":"46390","count":2701,"vol":"46390","trade_turnover":"32537.1482"},{"id":1705732774,"ts":1705732774586,"ask":[0.17262,1747],"bid":[0.17222,2017],"trade_partition":"USDT","business_type":"swap","contract_code":"ALGO-USDT","open":"0.17386","close":"0.17243","low":"0.1676","high":"0.17689","amount":"874120","count":2917,"vol":"87412","trade_turnover":"152206.4434"},{"id":1705732774,"ts":1705732774586,"ask":[7.754,1000],"bid":[7.746,2320],"trade_partition":"USDT","business_type":"swap","contract_code":"CYBER-USDT","open":"7.648","close":"7.745","low":"7.248","high":"7.896","amount":"440042","count":2773,"vol":"440042","trade_turnover":"3375586.772"},{"id":1705732774,"ts":1705732774586,"ask":[2.3927,2711],"bid":[2.3899,58],"trade_partition":"USDT","business_type":"swap","contract_code":"WAVES-USDT","open":"2.3233","close":"2.3932","low":"2.2138","high":"2.6827","amount":"4493190","count":20119,"vol":"4493190","trade_turnover":"10773211.6334"},{"id":1705732774,"ts":1705732774586,"ask":[0.4793,1971],"bid":[0.479,1151],"trade_partition":"USDT","business_type":"swap","contract_code":"FRONT-USDT","open":"0.4221","close":"0.4783","low":"0.4082","high":"0.4935","amount":"1520638","count":3297,"vol":"1520638","trade_turnover":"700683.7728"},{"id":1705732774,"ts":1705732774586,"ask":[6.905,1513],"bid":[6.897,117],"trade_partition":"USDT","business_type":"swap","contract_code":"GAS-USDT","open":"6.72","close":"6.906","low":"6.165","high":"6.947","amount":"792873","count":10928,"vol":"7928730","trade_turnover":"5405611.842"},{"id":1705732774,"ts":1705732774586,"ask":[8.5,4957],"bid":[8.489,4957],"trade_partition":"USDT","business_type":"swap","contract_code":"APT-USDT","open":"8.436","close":"8.494","low":"8.11","high":"8.624","amount":"98131.6","count":3271,"vol":"981316","trade_turnover":"832604.406"},{"id":1705732774,"ts":1705732774586,"ask":[1.5006,136],"bid":[1.4965,64],"trade_partition":"USDT","business_type":"swap","contract_code":"MTL-USDT","open":"1.4735","close":"1.4987","low":"1.4268","high":"1.6761","amount":"1176240","count":7922,"vol":"1176240","trade_turnover":"1791609.75"},{"id":1705732774,"ts":1705732774586,"ask":[0.110368,46],"bid":[0.110367,346],"trade_partition":"USDT","business_type":"swap","contract_code":"TRX-USDT","open":"0.109062","close":"0.11038","low":"0.107846","high":"0.110777","amount":"14019000","count":3576,"vol":"140190","trade_turnover":"1532282.5884"},{"id":1705732774,"ts":1705732774586,"ask":[0.23821,1181],"bid":[0.23774,84],"trade_partition":"USDT","business_type":"swap","contract_code":"LRC-USDT","open":"0.23288","close":"0.23801","low":"0.22393","high":"0.2399","amount":"297740","count":2739,"vol":"29774","trade_turnover":"70018.2784"},{"id":1705732774,"ts":1705732774586,"ask":null,"bid":null,"trade_partition":"USDT","business_type":"swap","contract_code":"GARI-USDT","open":"0.0381","close":"0.0381","low":"0.0381","high":"0.0381","amount":"0","count":0,"vol":"0","trade_turnover":"0"},{"id":1705732774,"ts":1705732774586,"ask":[2.894,9880],"bid":[2.887,2405],"trade_partition":"USDT","business_type":"swap","contract_code":"DYDX-USDT","open":"2.812","close":"2.89","low":"2.68","high":"2.986","amount":"1232784.4","count":6507,"vol":"12327844","trade_turnover":"3570641.1432"},{"id":1705732774,"ts":1705732774586,"ask":[17.452,1302],"bid":[17.433,1470],"trade_partition":"USDT","business_type":"swap","contract_code":"TIA-USDT","open":"17.246","close":"17.453","low":"16.5","high":"18.507","amount":"252860.2","count":7721,"vol":"2528602","trade_turnover":"4485307.9878"},{"id":1705732774,"ts":1705732774586,"ask":[0.487841,880],"bid":[0.487182,200],"trade_partition":"USDT","business_type":"swap","contract_code":"SAND-USDT","open":"0.473424","close":"0.487564","low":"0.454282","high":"0.492886","amount":"1307120","count":4503,"vol":"130712","trade_turnover":"626216.17642"},{"id":1705732774,"ts":1705732774586,"ask":[0.507503,1],"bid":[0.507048,45],"trade_partition":"USDT","business_type":"swap","contract_code":"ADA-USDT","open":"0.488461","close":"0.507048","low":"0.471002","high":"0.566666","amount":"37469000","count":15236,"vol":"3746900","trade_turnover":"19071812.56438"},{"id":1705732774,"ts":1705732774586,"ask":[5.702E-8,525],"bid":[5.678E-8,2730],"trade_partition":"USDT","business_type":"swap","contract_code":"LADYS-USDT","open":"5.664E-8","close":"5.691E-8","low":"5.299E-8","high":"5.768E-8","amount":"5563764000000","count":3744,"vol":"5563764","trade_turnover":"313971.44512"},{"id":1705732774,"ts":1705732774586,"ask":[0.000009434,5625],"bid":[0.000009432,13059],"trade_partition":"USDT","business_type":"swap","contract_code":"SHIB-USDT","open":"0.000009165","close":"0.000009433","low":"0.000008825","high":"0.0000108","amount":"1564390144000","count":35355,"vol":"1564390144","trade_turnover":"14981552.876796"},{"id":1705732774,"ts":1705732774586,"ask":[0.04161,1601],"bid":[0.04137,1601],"trade_partition":"USDT","business_type":"swap","contract_code":"SNT-USDT","open":"0.04013","close":"0.04145","low":"0.03878","high":"0.04392","amount":"32330100","count":6076,"vol":"3233010","trade_turnover":"1356781.3084"},{"id":1705732774,"ts":1705732774586,"ask":[0.3172,2454],"bid":[0.3156,22708],"trade_partition":"USDT","business_type":"swap","contract_code":"BAKE-USDT","open":"0.3285","close":"0.316","low":"0.3057","high":"0.3301","amount":"320570","count":2926,"vol":"320570","trade_turnover":"101654.0988"},{"id":1705732774,"ts":1705732774586,"ask":[0.1869,27026],"bid":[0.1866,23650],"trade_partition":"USDT","business_type":"swap","contract_code":"CFX-USDT","open":"0.1852","close":"0.1867","low":"0.1765","high":"0.1897","amount":"8928730","count":5032,"vol":"8928730","trade_turnover":"1678472.2866"},{"id":1705732774,"ts":1705732774586,"ask":[92.4487,1],"bid":[92.4119,1],"trade_partition":"USDT","business_type":"swap","contract_code":"SOL-USDT","open":"91.2","close":"92.4041","low":"87","high":"94.9906","amount":"812536","count":27872,"vol":"812536","trade_turnover":"75203178.083"},{"id":1705732774,"ts":1705732774586,"ask":[0.3705,4721],"bid":[0.3692,5031],"trade_partition":"USDT","business_type":"swap","contract_code":"PYTH-USDT","open":"0.3237","close":"0.3697","low":"0.305","high":"0.3881","amount":"1894016","count":3368,"vol":"1894016","trade_turnover":"661915.4066"},{"id":1705732774,"ts":1705732774586,"ask":[7463.2,1000],"bid":[7458.5,797],"trade_partition":"USDT","business_type":"swap","contract_code":"YFI-USDT","open":"7388.8","close":"7464.1","low":"7127.6","high":"7501.2","amount":"38.7058","count":3221,"vol":"387058","trade_turnover":"286708.94522"},{"id":1705732774,"ts":1705732774586,"ask":[2.8926,75],"bid":[2.89,954],"trade_partition":"USDT","business_type":"swap","contract_code":"LDO-USDT","open":"2.9571","close":"2.8907","low":"2.8268","high":"3.0087","amount":"166758","count":3062,"vol":"166758","trade_turnover":"497795.632"},{"id":1705732774,"ts":1705732774586,"ask":[6.6024,1],"bid":[6.5903,85],"trade_partition":"USDT","business_type":"swap","contract_code":"UNI-USDT","open":"6.229","close":"6.5921","low":"6.0412","high":"6.7151","amount":"527000","count":5621,"vol":"527000","trade_turnover":"3369577.6064"},{"id":1705732774,"ts":1705732774586,"ask":[0.33374,200],"bid":[0.33344,152],"trade_partition":"USDT","business_type":"swap","contract_code":"BLZ-USDT","open":"0.33245","close":"0.33361","low":"0.33104","high":"0.33593","amount":"678000","count":2779,"vol":"67800","trade_turnover":"225875.2762"},{"id":1705732774,"ts":1705732774586,"ask":[0.0000011254,54],"bid":[0.0000011239,31],"trade_partition":"USDT","business_type":"swap","contract_code":"PEPE-USDT","open":"0.0000011114","close":"0.0000011246","low":"0.0000010563","high":"0.0000011438","amount":"629210000000","count":3753,"vol":"629210","trade_turnover":"699682.0558"},{"id":1705732774,"ts":1705732774586,"ask":[5.435,3546],"bid":[5.434,1],"trade_partition":"USDT","business_type":"swap","contract_code":"FIL-USDT","open":"5.427","close":"5.426","low":"5.158","high":"6.18","amount":"4265236.6","count":20573,"vol":"42652366","trade_turnover":"23624782.5176"},{"id":1705732774,"ts":1705732774586,"ask":[0.5158,20254],"bid":[0.5155,987],"trade_partition":"USDT","business_type":"swap","contract_code":"CORE-USDT","open":"0.5158","close":"0.5156","low":"0.495","high":"0.5213","amount":"866969.6","count":3757,"vol":"8669696","trade_turnover":"451138.21584"},{"id":1705732774,"ts":1705732774586,"ask":null,"bid":null,"trade_partition":"USDT","business_type":"swap","contract_code":"SDAO-USDT","open":"0.58","close":"0.58","low":"0.58","high":"0.58","amount":"0","count":0,"vol":"0","trade_turnover":"0"},{"id":1705732774,"ts":1705732774586,"ask":[1.1051,455],"bid":[1.098,324],"trade_partition":"USDT","business_type":"swap","contract_code":"AI-USDT","open":"1.0701","close":"1.103","low":"0.9878","high":"1.147","amount":"600350","count":3727,"vol":"600350","trade_turnover":"647524.0846"},{"id":1705732774,"ts":1705732774586,"ask":[0.6112,10815],"bid":[0.6102,12187],"trade_partition":"USDT","business_type":"swap","contract_code":"FET-USDT","open":"0.6126","close":"0.6109","low":"0.5819","high":"0.6229","amount":"527628","count":2958,"vol":"527628","trade_turnover":"322830.5904"},{"id":1705732774,"ts":1705732774586,"ask":[2.216,2175],"bid":[2.21,144],"trade_partition":"USDT","business_type":"swap","contract_code":"TON-USDT","open":"2.2272","close":"2.21","low":"2.1479","high":"2.43","amount":"945864.8","count":6876,"vol":"9458648","trade_turnover":"2160984.98954"},{"id":1705732774,"ts":1705732774586,"ask":[0.029184,1960],"bid":[0.029127,391],"trade_partition":"USDT","business_type":"swap","contract_code":"JST-USDT","open":"0.029034","close":"0.029164","low":"0.02851","high":"0.029314","amount":"1872280","count":2800,"vol":"187228","trade_turnover":"54435.3647"},{"id":1705732774,"ts":1705732774586,"ask":null,"bid":null,"trade_partition":"USDT","business_type":"swap","contract_code":"RLY-USDT","open":"0.0063","close":"0.0063","low":"0.0063","high":"0.0063","amount":"0","count":0,"vol":"0","trade_turnover":"0"},{"id":1705732774,"ts":1705732774586,"ask":[97.591,142],"bid":[97.447,141],"trade_partition":"USDT","business_type":"swap","contract_code":"AAVE-USDT","open":"95.106","close":"97.473","low":"91.41","high":"98.24","amount":"5959.8","count":3757,"vol":"59598","trade_turnover":"570340.4116"},{"id":1705732774,"ts":1705732774586,"ask":[0.4146,655],"bid":[0.4139,448],"trade_partition":"USDT","business_type":"swap","contract_code":"1INCH-USDT","open":"0.4114","close":"0.4143","low":"0.3949","high":"0.4209","amount":"550506","count":2988,"vol":"550506","trade_turnover":"227138.181"},{"id":1705732774,"ts":1705732774586,"ask":[125.054,292],"bid":[124.944,200],"trade_partition":"USDT","business_type":"swap","contract_code":"TRB-USDT","open":"128.929","close":"125.034","low":"121.241","high":"129.457","amount":"70465.6","count":11399,"vol":"704656","trade_turnover":"9201255.74"},{"id":1705732774,"ts":1705732774586,"ask":[0.77374,5],"bid":[0.77333,11],"trade_partition":"USDT","business_type":"swap","contract_code":"MATIC-USDT","open":"0.7758","close":"0.77354","low":"0.7441","high":"0.7763","amount":"5306000","count":2755,"vol":"53060","trade_turnover":"4075432.96"},{"id":1705732774,"ts":1705732774586,"ask":[0.1553,26562],"bid":[0.155,26990],"trade_partition":"USDT","business_type":"swap","contract_code":"OGN-USDT","open":"0.1531","close":"0.1552","low":"0.1454","high":"0.1576","amount":"316198","count":2523,"vol":"316198","trade_turnover":"48567.1598"},{"id":1705732774,"ts":1705732774586,"ask":[0.078601,1],"bid":[0.0786,399],"trade_partition":"USDT","business_type":"swap","contract_code":"DOGE-USDT","open":"0.077739","close":"0.0786","low":"0.075089","high":"0.0875","amount":"577559600","count":34129,"vol":"5775596","trade_turnover":"46207313.442"},{"id":1705732774,"ts":1705732774586,"ask":[0.098,768],"bid":[0.0977,6204],"trade_partition":"USDT","business_type":"swap","contract_code":"LOOM-USDT","open":"0.0978","close":"0.0978","low":"0.0935","high":"0.1018","amount":"37244496","count":10417,"vol":"37244496","trade_turnover":"3707397.234"},{"id":1705732774,"ts":1705732774586,"ask":[1.01807,26],"bid":[1.0147,28],"trade_partition":"USDT","business_type":"swap","contract_code":"THETA-USDT","open":"0.97998","close":"1.01653","low":"0.94141","high":"1.02058","amount":"2367140","count":7133,"vol":"236714","trade_turnover":"2366126.334"},{"id":1705732774,"ts":1705732774586,"ask":[2.948,2209],"bid":[2.945,6],"trade_partition":"USDT","business_type":"swap","contract_code":"NEAR-USDT","open":"2.915","close":"2.947","low":"2.789","high":"3.009","amount":"259002","count":3193,"vol":"259002","trade_turnover":"761330.12"},{"id":1705732774,"ts":1705732774586,"ask":null,"bid":null,"trade_partition":"USDT","business_type":"swap","contract_code":"TOMO-USDT","open":"1.53","close":"1.53","low":"1.53","high":"1.53","amount":"0","count":0,"vol":"0","trade_turnover":"0"},{"id":1705732774,"ts":1705732774586,"ask":[2.361,20784],"bid":[2.356,35047],"trade_partition":"USDT","business_type":"swap","contract_code":"MANTA-USDT","open":"2.248","close":"2.347","low":"2.147","high":"2.58","amount":"2084121.4","count":10693,"vol":"20841214","trade_turnover":"4901699.745"},{"id":1705732774,"ts":1705732774586,"ask":[2.675,1646],"bid":[2.67,530],"trade_partition":"USDT","business_type":"swap","contract_code":"FTT-USDT","open":"2.589","close":"2.673","low":"2.428","high":"2.709","amount":"5508.7","count":4718,"vol":"550870","trade_turnover":"14440.9722"},{"id":1705732774,"ts":1705732774586,"ask":[0.6777,1250],"bid":[0.6772,310],"trade_partition":"USDT","business_type":"swap","contract_code":"SEI-USDT","open":"0.7005","close":"0.6774","low":"0.6541","high":"0.7149","amount":"12260998","count":9756,"vol":"12260998","trade_turnover":"8493088.6664"},{"id":1705732774,"ts":1705732774586,"ask":[0.54676,13],"bid":[0.54668,297],"trade_partition":"USDT","business_type":"swap","contract_code":"XRP-USDT","open":"0.53938","close":"0.54672","low":"0.5213","high":"0.6085","amount":"46736320","count":11020,"vol":"4673632","trade_turnover":"25591459.4382"},{"id":1705732774,"ts":1705732774586,"ask":[19.316,942],"bid":[19.236,2079],"trade_partition":"USDT","business_type":"swap","contract_code":"ENS-USDT","open":"19.249","close":"19.285","low":"18.42","high":"20.55","amount":"14672.8","count":2172,"vol":"146728","trade_turnover":"286053.5056"},{"id":1705732774,"ts":1705732774586,"ask":[0.000264,2329],"bid":[0.0002639,215],"trade_partition":"USDT","business_type":"swap","contract_code":"RATS-USDT","open":"0.0002566","close":"0.0002638","low":"0.000231","high":"0.0002763","amount":"24906716000","count":8882,"vol":"24906716","trade_turnover":"6398222.3832"},{"id":1705732774,"ts":1705732774586,"ask":[2.7117,10470],"bid":[2.7063,571],"trade_partition":"USDT","business_type":"swap","contract_code":"CAKE-USDT","open":"2.698","close":"2.7099","low":"2.6057","high":"2.736","amount":"19765.6","count":2713,"vol":"197656","trade_turnover":"53723.61868"},{"id":1705732774,"ts":1705732774586,"ask":[9.85E-7,307],"bid":[9.79E-7,206],"trade_partition":"USDT","business_type":"swap","contract_code":"BTT-USDT","open":"9.75E-7","close":"9.81E-7","low":"9.53E-7","high":"9.95E-7","amount":"37498000000","count":2446,"vol":"37498","trade_turnover":"36667.984"},{"id":1705732774,"ts":1705732774586,"ask":[0.8543,263],"bid":[0.8531,1794],"trade_partition":"USDT","business_type":"swap","contract_code":"XAI-USDT","open":"0.8956","close":"0.8525","low":"0.8105","high":"0.904","amount":"2421218","count":5067,"vol":"2421218","trade_turnover":"2115659.3508"},{"id":1705732774,"ts":1705732774586,"ask":[0.024126,633],"bid":[0.024091,1544],"trade_partition":"USDT","business_type":"swap","contract_code":"MEME-USDT","open":"0.023973","close":"0.024095","low":"0.022747","high":"0.024475","amount":"52195660","count":4726,"vol":"5219566","trade_turnover":"1267568.08458"},{"id":1705732774,"ts":1705732774586,"ask":[1.529E-10,197],"bid":[1.525E-10,7413],"trade_partition":"USDT","business_type":"swap","contract_code":"AIDOGE-USDT","open":"1.527E-10","close":"1.525E-10","low":"1.37E-10","high":"1.543E-10","amount":"2799812000000000","count":3008,"vol":"2799812","trade_turnover":"411627.8956"},{"id":1705732774,"ts":1705732774586,"ask":null,"bid":null,"trade_partition":"USDT","business_type":"swap","contract_code":"XETA-USDT","open":"0.012","close":"0.012","low":"0.012","high":"0.012","amount":"0","count":0,"vol":"0","trade_turnover":"0"},{"id":1705732774,"ts":1705732774586,"ask":[7.365,2739],"bid":[7.35,226],"trade_partition":"USDT","business_type":"swap","contract_code":"LPT-USDT","open":"7.127","close":"7.355","low":"6.801","high":"7.46","amount":"1755.1","count":2801,"vol":"175510","trade_turnover":"12451.1921"},{"id":1705732774,"ts":1705732774586,"ask":[312.792,30],"bid":[312.61,5],"trade_partition":"USDT","business_type":"swap","contract_code":"BNB-USDT","open":"311.114","close":"312.689","low":"304.672","high":"315.229","amount":"4323.2","count":4567,"vol":"43232","trade_turnover":"1350302.214"},{"id":1705732774,"ts":1705732774586,"ask":[0.02721,7297],"bid":[0.02712,7630],"trade_partition":"USDT","business_type":"swap","contract_code":"USTC-USDT","open":"0.02682","close":"0.02718","low":"0.02559","high":"0.02779","amount":"17675880","count":3301,"vol":"1767588","trade_turnover":"479143.291"},{"id":1705732774,"ts":1705732774586,"ask":[2.0024,3444],"bid":[1.9959,23455],"trade_partition":"USDT","business_type":"swap","contract_code":"GAL-USDT","open":"1.7404","close":"1.9974","low":"1.6817","high":"2.128","amount":"172444.2","count":4059,"vol":"1724442","trade_turnover":"335935.38842"},{"id":1705732774,"ts":1705732774586,"ask":[0.014697,292],"bid":[0.014646,326],"trade_partition":"USDT","business_type":"swap","contract_code":"ONE-USDT","open":"0.014515","close":"0.014654","low":"0.0131","high":"0.014928","amount":"8201000","count":2917,"vol":"82010","trade_turnover":"115267.4958"},{"id":1705732774,"ts":1705732774586,"ask":[1.0806,500],"bid":[1.0795,478],"trade_partition":"USDT","business_type":"swap","contract_code":"SUSHI-USDT","open":"1.0434","close":"1.0801","low":"1.0019","high":"1.0854","amount":"283946","count":2835,"vol":"283946","trade_turnover":"298495.0246"},{"id":1705732774,"ts":1705732774586,"ask":[1965.5,331],"bid":[1964.5,446],"trade_partition":"USDT","business_type":"swap","contract_code":"MKR-USDT","open":"1953.7","close":"1964.8","low":"1895.5","high":"1993.9","amount":"205.152","count":3342,"vol":"205152","trade_turnover":"402812.831"},{"id":1705732774,"ts":1705732774586,"ask":[72.37,1281],"bid":[72.33,74],"trade_partition":"USDT","business_type":"swap","contract_code":"LTC-USDT","open":"70.43","close":"72.36","low":"67.6","high":"82.51","amount":"594942.2","count":28898,"vol":"5949422","trade_turnover":"42390271.18"},{"id":1705732774,"ts":1705732774586,"ask":[0.02611,779],"bid":[0.02603,5544],"trade_partition":"USDT","business_type":"swap","contract_code":"TOKEN-USDT","open":"0.02599","close":"0.02609","low":"0.02458","high":"0.02696","amount":"2485820","count":2708,"vol":"248582","trade_turnover":"64125.2286"},{"id":1705732774,"ts":1705732774586,"ask":[0.00002936,10480],"bid":[0.00002929,10597],"trade_partition":"USDT","business_type":"swap","contract_code":"FLOKI-USDT","open":"0.00002857","close":"0.0000293","low":"0.00002752","high":"0.00002967","amount":"835060000","count":2689,"vol":"83506","trade_turnover":"23938.028"},{"id":1705732774,"ts":1705732774586,"ask":[0.02358,17094],"bid":[0.02355,17967],"trade_partition":"USDT","business_type":"swap","contract_code":"GALA-USDT","open":"0.02313","close":"0.02357","low":"0.02212","high":"0.02378","amount":"11785700","count":2829,"vol":"1178570","trade_turnover":"274979.3108"},{"id":1705732774,"ts":1705732774586,"ask":[0.2716,3642],"bid":[0.2711,4061],"trade_partition":"USDT","business_type":"swap","contract_code":"AGIX-USDT","open":"0.2651","close":"0.2714","low":"0.2539","high":"0.2748","amount":"137098","count":2752,"vol":"137098","trade_turnover":"36492.2538"},{"id":1705732774,"ts":1705732774586,"ask":[0.5324,26],"bid":[0.5312,1957],"trade_partition":"USDT","business_type":"swap","contract_code":"CRV-USDT","open":"0.508","close":"0.5318","low":"0.495","high":"0.5338","amount":"171504","count":2777,"vol":"171504","trade_turnover":"88829.907"},{"id":1705732774,"ts":1705732774586,"ask":[1.8213,13],"bid":[1.8205,46],"trade_partition":"USDT","business_type":"swap","contract_code":"ARB-USDT","open":"1.8241","close":"1.821","low":"1.7268","high":"1.8661","amount":"1806212","count":4795,"vol":"1806212","trade_turnover":"3296629.5998"},{"id":1705732774,"ts":1705732774586,"ask":[32.7061,183],"bid":[32.671,30],"trade_partition":"USDT","business_type":"swap","contract_code":"AVAX-USDT","open":"32.635","close":"32.6811","low":"31.1787","high":"33.1425","amount":"86608","count":5476,"vol":"86608","trade_turnover":"2820343.2752"},{"id":1705732774,"ts":1705732774586,"ask":[0.7793,2321],"bid":[0.7745,2321],"trade_partition":"USDT","business_type":"swap","contract_code":"ARK-USDT","open":"0.795","close":"0.7756","low":"0.7405","high":"0.7994","amount":"28836","count":2727,"vol":"28836","trade_turnover":"22504.228"},{"id":1705732774,"ts":1705732774586,"ask":[3.3225,23],"bid":[3.3159,227],"trade_partition":"USDT","business_type":"swap","contract_code":"SNX-USDT","open":"3.3015","close":"3.3201","low":"3.169","high":"3.3899","amount":"505604","count":3646,"vol":"505604","trade_turnover":"1688091.0534"},{"id":1705732774,"ts":1705732774586,"ask":[0.11411,2377],"bid":[0.11394,2598],"trade_partition":"USDT","business_type":"swap","contract_code":"XLM-USDT","open":"0.11222","close":"0.11398","low":"0.10864","high":"0.13178","amount":"14148960","count":4441,"vol":"1414896","trade_turnover":"1640065.227"},{"id":1705732774,"ts":1705732774586,"ask":[16.2736,267],"bid":[16.263,443],"trade_partition":"USDT","business_type":"swap","contract_code":"LINK-USDT","open":"15.2236","close":"16.2675","low":"14.6876","high":"23.501","amount":"4191810","count":76827,"vol":"41918100","trade_turnover":"65817292.38296"},{"id":1705732774,"ts":1705732774586,"ask":[3.511,8153],"bid":[3.492,868],"trade_partition":"USDT","business_type":"swap","contract_code":"MASK-USDT","open":"3.521","close":"3.497","low":"3.332","high":"3.567","amount":"1345332.6","count":7517,"vol":"13453326","trade_turnover":"4742613.6104"},{"id":1705732774,"ts":1705732774586,"ask":[51.37,382],"bid":[51.24,1303],"trade_partition":"USDT","business_type":"swap","contract_code":"EGLD-USDT","open":"49.6","close":"51.3","low":"47.53","high":"51.54","amount":"1769.66","count":3032,"vol":"176966","trade_turnover":"89059.3918"},{"id":1705732774,"ts":1705732774586,"ask":[0.5131,2508],"bid":[0.5123,681],"trade_partition":"USDT","business_type":"swap","contract_code":"YGG-USDT","open":"0.5252","close":"0.5124","low":"0.5007","high":"0.529","amount":"338342","count":3181,"vol":"338342","trade_turnover":"175203.0634"},{"id":1705732774,"ts":1705732774586,"ask":[4.0776,1674],"bid":[4.0693,35],"trade_partition":"USDT","business_type":"swap","contract_code":"RNDR-USDT","open":"3.993","close":"4.0753","low":"3.8092","high":"4.1888","amount":"120374","count":3584,"vol":"120374","trade_turnover":"492208.0424"},{"id":1705732774,"ts":1705732774586,"ask":[0.0021,104],"bid":[1E-8,230],"trade_partition":"USDT","business_type":"swap","contract_code":"DOSE-USDT","open":"0.0021","close":"0.0021","low":"0.0021","high":"0.0021","amount":"0","count":0,"vol":"0","trade_turnover":"0"},{"id":1705732774,"ts":1705732774586,"ask":[35.771,1030],"bid":[35.708,1030],"trade_partition":"USDT","business_type":"swap","contract_code":"INJ-USDT","open":"35.488","close":"35.733","low":"33.729","high":"37.079","amount":"27019.2","count":3893,"vol":"270192","trade_turnover":"980898.9436"},{"id":1705732774,"ts":1705732774586,"ask":[0.00010142,76],"bid":[0.0001004,296],"trade_partition":"USDT","business_type":"swap","contract_code":"WIN-USDT","open":"0.0001005","close":"0.00010118","low":"0.00009432","high":"0.00010482","amount":"2468700000","count":4188,"vol":"246870","trade_turnover":"252234.071"},{"id":1705732774,"ts":1705732774586,"ask":[9.6676,206],"bid":[9.6612,250],"trade_partition":"USDT","business_type":"swap","contract_code":"ATOM-USDT","open":"9.6127","close":"9.6625","low":"9.2691","high":"9.7407","amount":"93186","count":3153,"vol":"93186","trade_turnover":"895806.9292"},{"id":1705732774,"ts":1705732774586,"ask":[1.4626,1633],"bid":[1.4593,1751],"trade_partition":"USDT","business_type":"swap","contract_code":"STX-USDT","open":"1.4585","close":"1.4616","low":"1.3898","high":"1.5241","amount":"195042","count":2898,"vol":"195042","trade_turnover":"289357.1748"},{"id":1705732774,"ts":1705732774586,"ask":[0.7616,278],"bid":[0.7604,265],"trade_partition":"USDT","business_type":"swap","contract_code":"BNT-USDT","open":"0.7301","close":"0.7607","low":"0.7048","high":"0.7639","amount":"119942","count":2782,"vol":"119942","trade_turnover":"88707.253"}],"ts":1705732774586} +2024-01-20 14:47:29.880 [DEBUG] [main] [com.huobi.api.service.usdt.market.MarketAPIServiceImpl.getBatchMerged:581] - body:{"status":"ok","ticks":[{"id":1705733242,"ts":1705733242899,"ask":[0.4685,857],"bid":[0.4675,900],"trade_partition":"USDT","business_type":"swap","contract_code":"MANA-USDT","open":"0.455","close":"0.4681","low":"0.4345","high":"0.4825","amount":"722080","count":3013,"vol":"72208","trade_turnover":"332558.266"},{"id":1705733242,"ts":1705733242899,"ask":[5.289E-7,312],"bid":[5.282E-7,3223],"trade_partition":"USDT","business_type":"swap","contract_code":"SATS-USDT","open":"5.386E-7","close":"5.279E-7","low":"4.865E-7","high":"5.407E-7","amount":"6752260000000","count":5657,"vol":"6752260","trade_turnover":"3537893.9468"},{"id":1705733242,"ts":1705733242899,"ask":[0.09099,3040],"bid":[0.09084,4677],"trade_partition":"USDT","business_type":"swap","contract_code":"CHZ-USDT","open":"0.08932","close":"0.09106","low":"0.08596","high":"0.09109","amount":"4008500","count":3350,"vol":"400850","trade_turnover":"360271.3768"},{"id":1705733242,"ts":1705733242899,"ask":[6.8811,30],"bid":[6.878,29],"trade_partition":"USDT","business_type":"swap","contract_code":"DOT-USDT","open":"6.7946","close":"6.8785","low":"6.5701","high":"6.9168","amount":"397468","count":5491,"vol":"397468","trade_turnover":"2729546.5806"},{"id":1705733242,"ts":1705733242899,"ask":[0.1656,7729],"bid":[0.1654,2229],"trade_partition":"USDT","business_type":"swap","contract_code":"POLYX-USDT","open":"0.1627","close":"0.1654","low":"0.1561","high":"0.1668","amount":"231984","count":2771,"vol":"231984","trade_turnover":"37926.9384"},{"id":1705733242,"ts":1705733242899,"ask":[0.05255,6],"bid":[0.028,9],"trade_partition":"USDT","business_type":"swap","contract_code":"QRDO-USDT","open":"0.054","close":"0.054","low":"0.054","high":"0.054","amount":"0","count":0,"vol":"0","trade_turnover":"0"},{"id":1705733242,"ts":1705733242899,"ask":[1.1388,175],"bid":[1.136,287],"trade_partition":"USDT","business_type":"swap","contract_code":"MINA-USDT","open":"1.1539","close":"1.1376","low":"1.1052","high":"1.1907","amount":"101426","count":2773,"vol":"101426","trade_turnover":"118118.14"},{"id":1705733242,"ts":1705733242899,"ask":[0.7184,198],"bid":[0.7174,15086],"trade_partition":"USDT","business_type":"swap","contract_code":"EOS-USDT","open":"0.7087","close":"0.718","low":"0.6808","high":"0.7229","amount":"774388","count":3161,"vol":"774388","trade_turnover":"547538.5946"},{"id":1705733242,"ts":1705733242899,"ask":[8.15,321],"bid":[8.133,368],"trade_partition":"USDT","business_type":"swap","contract_code":"ACE-USDT","open":"7.907","close":"8.137","low":"7.367","high":"8.508","amount":"46304.6","count":3490,"vol":"463046","trade_turnover":"374791.0638"},{"id":1705733242,"ts":1705733242899,"ask":[0.6664,111],"bid":[0.6652,806],"trade_partition":"USDT","business_type":"swap","contract_code":"LUNA-USDT","open":"0.6523","close":"0.666","low":"0.618","high":"0.668","amount":"381570","count":3226,"vol":"381570","trade_turnover":"254873.645"},{"id":1705733242,"ts":1705733242899,"ask":[0.15651,3724],"bid":[0.15631,3113],"trade_partition":"USDT","business_type":"swap","contract_code":"GRT-USDT","open":"0.15087","close":"0.15642","low":"0.14546","high":"0.15698","amount":"3197000","count":3469,"vol":"319700","trade_turnover":"486581.2258"},{"id":1705733242,"ts":1705733242899,"ask":null,"bid":null,"trade_partition":"USDT","business_type":"swap","contract_code":"UNB-USDT","open":"0.001","close":"0.001","low":"0.001","high":"0.001","amount":"0","count":0,"vol":"0","trade_turnover":"0"},{"id":1705733242,"ts":1705733242899,"ask":null,"bid":null,"trade_partition":"USDT","business_type":"swap","contract_code":"CVX-USDT","open":"1.35","close":"1.35","low":"1.35","high":"1.35","amount":"0","count":0,"vol":"0","trade_turnover":"0"},{"id":1705733242,"ts":1705733242899,"ask":[0.2361,6342],"bid":[0.2357,135],"trade_partition":"USDT","business_type":"swap","contract_code":"STEEM-USDT","open":"0.2259","close":"0.2357","low":"0.2187","high":"0.2634","amount":"18395588","count":10824,"vol":"18395588","trade_turnover":"4395009.3922"},{"id":1705733242,"ts":1705733242899,"ask":[2.1721,5908],"bid":[2.1702,5908],"trade_partition":"USDT","business_type":"swap","contract_code":"JTO-USDT","open":"2.1297","close":"2.1701","low":"2.014","high":"2.3759","amount":"558893.8","count":4040,"vol":"5588938","trade_turnover":"1255694.522"},{"id":1705733242,"ts":1705733242899,"ask":[2.5221,1567],"bid":[2.5205,750],"trade_partition":"USDT","business_type":"swap","contract_code":"WLD-USDT","open":"2.5104","close":"2.5215","low":"2.3423","high":"2.5551","amount":"419592","count":3932,"vol":"419592","trade_turnover":"1046465.4436"},{"id":1705733242,"ts":1705733242899,"ask":[3.1893,1504],"bid":[3.1871,4000],"trade_partition":"USDT","business_type":"swap","contract_code":"OP-USDT","open":"3.1573","close":"3.1881","low":"3.0021","high":"3.2352","amount":"1013200.2","count":6604,"vol":"10132002","trade_turnover":"3196809.81788"},{"id":1705733242,"ts":1705733242899,"ask":[0.205,43],"bid":[0.0001,42],"trade_partition":"USDT","business_type":"swap","contract_code":"FSN-USDT","open":"0.205","close":"0.205","low":"0.205","high":"0.205","amount":"0","count":0,"vol":"0","trade_turnover":"0"},{"id":1705733242,"ts":1705733242899,"ask":[68.301,5],"bid":[68.25,1512],"trade_partition":"USDT","business_type":"swap","contract_code":"ORDI-USDT","open":"67.414","close":"68.265","low":"62.776","high":"69.55","amount":"240976","count":16783,"vol":"2409760","trade_turnover":"16216340.2954"},{"id":1705733242,"ts":1705733242899,"ask":[0.6536,431],"bid":[0.6528,5017],"trade_partition":"USDT","business_type":"swap","contract_code":"BLUR-USDT","open":"0.6382","close":"0.6526","low":"0.6018","high":"0.691","amount":"3853824","count":7503,"vol":"3853824","trade_turnover":"2529727.123"},{"id":1705733242,"ts":1705733242899,"ask":[0.00011134,246],"bid":[0.00011125,277],"trade_partition":"USDT","business_type":"swap","contract_code":"LUNC-USDT","open":"0.00010901","close":"0.00011133","low":"0.00010248","high":"0.00011241","amount":"4022360000","count":3379,"vol":"402236","trade_turnover":"437238.354"},{"id":1705733242,"ts":1705733242899,"ask":[30.956,13514],"bid":[30.899,1868],"trade_partition":"USDT","business_type":"swap","contract_code":"SSV-USDT","open":"30.577","close":"30.93","low":"29.212","high":"31.604","amount":"5871.12","count":2859,"vol":"587112","trade_turnover":"181086.88188"},{"id":1705733242,"ts":1705733242899,"ask":[0.2278,5959],"bid":[0.2274,7421],"trade_partition":"USDT","business_type":"swap","contract_code":"IOTA-USDT","open":"0.2249","close":"0.2275","low":"0.2154","high":"0.2294","amount":"366434","count":2797,"vol":"366434","trade_turnover":"82418.938"},{"id":1705733242,"ts":1705733242899,"ask":[39.084,3],"bid":[39.006,130],"trade_partition":"USDT","business_type":"swap","contract_code":"KSM-USDT","open":"38.52","close":"39.025","low":"36.422","high":"39.116","amount":"11261.8","count":3483,"vol":"112618","trade_turnover":"432768.9058"},{"id":1705733242,"ts":1705733242899,"ask":[1.1187,673],"bid":[1.1186,11],"trade_partition":"USDT","business_type":"swap","contract_code":"SUI-USDT","open":"1.1455","close":"1.1191","low":"1.0863","high":"1.1937","amount":"3831378","count":8391,"vol":"3831378","trade_turnover":"4383134.2022"},{"id":1705733242,"ts":1705733242899,"ask":[0.00001171,103],"bid":[0.000011705,708],"trade_partition":"USDT","business_type":"swap","contract_code":"BONK-USDT","open":"0.000011614","close":"0.000011706","low":"0.000010874","high":"0.000012289","amount":"186629200000","count":4916,"vol":"1866292","trade_turnover":"2165426.4256"},{"id":1705733242,"ts":1705733242899,"ask":[11.238,89],"bid":[11.232,607],"trade_partition":"USDT","business_type":"swap","contract_code":"ICP-USDT","open":"10.92","close":"11.232","low":"10.474","high":"11.476","amount":"85503.4","count":4336,"vol":"855034","trade_turnover":"945865.3588"},{"id":1705733242,"ts":1705733242899,"ask":[2483.94,621],"bid":[2483.93,11144],"trade_partition":"USDT","business_type":"swap","contract_code":"ETH-USDT","open":"2464.62","close":"2483.93","low":"2416.42","high":"2506.39","amount":"181017.6","count":81312,"vol":"18101760","trade_turnover":"447307810.9962"},{"id":1705733242,"ts":1705733242899,"ask":[0.3296,5304],"bid":[0.329,4413],"trade_partition":"USDT","business_type":"swap","contract_code":"RDNT-USDT","open":"0.3322","close":"0.3293","low":"0.3172","high":"0.3373","amount":"1513736","count":3442,"vol":"1513736","trade_turnover":"505912.325"},{"id":1705733242,"ts":1705733242899,"ask":[0.5634,1845],"bid":[0.5628,5763],"trade_partition":"USDT","business_type":"swap","contract_code":"STORJ-USDT","open":"0.5524","close":"0.563","low":"0.5293","high":"0.5638","amount":"1219868","count":3504,"vol":"1219868","trade_turnover":"675831.2766"},{"id":1705733242,"ts":1705733242899,"ask":[0.29424,17072],"bid":[0.29381,18459],"trade_partition":"USDT","business_type":"swap","contract_code":"GMT-USDT","open":"0.28751","close":"0.29409","low":"0.27453","high":"0.2962","amount":"2785012","count":3087,"vol":"2785012","trade_turnover":"798572.20604"},{"id":1705733242,"ts":1705733242899,"ask":[0.5443,101],"bid":[0.5427,1546],"trade_partition":"USDT","business_type":"swap","contract_code":"STG-USDT","open":"0.5341","close":"0.5438","low":"0.5169","high":"0.549","amount":"49202","count":2814,"vol":"49202","trade_turnover":"26338.9088"},{"id":1705733242,"ts":1705733242899,"ask":null,"bid":null,"trade_partition":"USDT","business_type":"swap","contract_code":"TENET-USDT","open":"0.09601","close":"0.09601","low":"0.09601","high":"0.09601","amount":"0","count":0,"vol":"0","trade_turnover":"0"},{"id":1705733242,"ts":1705733242899,"ask":[72.41,515],"bid":[72.33,5497],"trade_partition":"USDT","business_type":"swap","contract_code":"BSV-USDT","open":"72.39","close":"72.39","low":"69.13","high":"74.02","amount":"27766.08","count":4262,"vol":"2776608","trade_turnover":"2014427.8246"},{"id":1705733242,"ts":1705733242899,"ask":[41725.8,2946],"bid":[41725.7,6915],"trade_partition":"USDT","business_type":"swap","contract_code":"BTC-USDT","open":"40935.7","close":"41711.4","low":"40312.2","high":"42219.8","amount":"14848.878","count":73686,"vol":"14848878","trade_turnover":"613538811.8394"},{"id":1705733242,"ts":1705733242899,"ask":[0.41526,558],"bid":[0.41436,8],"trade_partition":"USDT","business_type":"swap","contract_code":"WOO-USDT","open":"0.39351","close":"0.41457","low":"0.37149","high":"0.41792","amount":"771360","count":3655,"vol":"77136","trade_turnover":"308312.7084"},{"id":1705733242,"ts":1705733242899,"ask":[159.76,35],"bid":[159.44,49],"trade_partition":"USDT","business_type":"swap","contract_code":"XMR-USDT","open":"153.66","close":"159.58","low":"150.02","high":"164.2","amount":"7423.78","count":5229,"vol":"742378","trade_turnover":"1171954.8328"},{"id":1705733242,"ts":1705733242899,"ask":[7.6606,5991],"bid":[7.6476,6370],"trade_partition":"USDT","business_type":"swap","contract_code":"AXS-USDT","open":"7.3402","close":"7.6533","low":"7.1086","high":"7.7791","amount":"104763.2","count":3865,"vol":"1047632","trade_turnover":"786285.78458"},{"id":1705733242,"ts":1705733242899,"ask":[0.00832,26173],"bid":[0.00828,2704],"trade_partition":"USDT","business_type":"swap","contract_code":"LINA-USDT","open":"0.00843","close":"0.0083","low":"0.00786","high":"0.00843","amount":"7193320","count":2744,"vol":"719332","trade_turnover":"59349.612"},{"id":1705733242,"ts":1705733242899,"ask":[24.7961,10],"bid":[24.7916,48],"trade_partition":"USDT","business_type":"swap","contract_code":"ETC-USDT","open":"23.9742","close":"24.7936","low":"22.9589","high":"27.752","amount":"713012","count":17014,"vol":"713012","trade_turnover":"17460560.9626"},{"id":1705733242,"ts":1705733242899,"ask":[0.03216,5143],"bid":[0.03214,12064],"trade_partition":"USDT","business_type":"swap","contract_code":"PEOPLE-USDT","open":"0.0312","close":"0.03215","low":"0.02981","high":"0.03295","amount":"61291680","count":4482,"vol":"6129168","trade_turnover":"1952420.6306"},{"id":1705733242,"ts":1705733242899,"ask":null,"bid":null,"trade_partition":"USDT","business_type":"swap","contract_code":"MPLX-USDT","open":"0.091","close":"0.091","low":"0.091","high":"0.091","amount":"0","count":0,"vol":"0","trade_turnover":"0"},{"id":1705733242,"ts":1705733242899,"ask":[0.3657,38890],"bid":[0.3652,6665],"trade_partition":"USDT","business_type":"swap","contract_code":"FTM-USDT","open":"0.3593","close":"0.3654","low":"0.3443","high":"0.3682","amount":"938622","count":2962,"vol":"938622","trade_turnover":"335945.2938"},{"id":1705733242,"ts":1705733242899,"ask":[0.01863,9416],"bid":[0.0186,4617],"trade_partition":"USDT","business_type":"swap","contract_code":"ACH-USDT","open":"0.01793","close":"0.01863","low":"0.01725","high":"0.0189","amount":"9467720","count":3114,"vol":"946772","trade_turnover":"171575.3912"},{"id":1705733242,"ts":1705733242899,"ask":[236.31,1058],"bid":[236.14,118],"trade_partition":"USDT","business_type":"swap","contract_code":"BCH-USDT","open":"234.26","close":"236.2","low":"226.36","high":"238.07","amount":"6642.58","count":4197,"vol":"664258","trade_turnover":"1553441.5036"},{"id":1705733242,"ts":1705733242899,"ask":[1.4037,390],"bid":[1.4015,38],"trade_partition":"USDT","business_type":"swap","contract_code":"APE-USDT","open":"1.3643","close":"1.4021","low":"1.3084","high":"1.4195","amount":"416336","count":3070,"vol":"416336","trade_turnover":"567968.5348"},{"id":1705733242,"ts":1705733242899,"ask":[0.3757,5766],"bid":[0.3748,10455],"trade_partition":"USDT","business_type":"swap","contract_code":"BIGTIME-USDT","open":"0.3717","close":"0.3752","low":"0.3431","high":"0.3864","amount":"1480144","count":3359,"vol":"1480144","trade_turnover":"544568.837"},{"id":1705733242,"ts":1705733242899,"ask":null,"bid":null,"trade_partition":"USDT","business_type":"swap","contract_code":"OPUL-USDT","open":"0.11","close":"0.11","low":"0.11","high":"0.11","amount":"0","count":0,"vol":"0","trade_turnover":"0"},{"id":1705733242,"ts":1705733242899,"ask":[96.1,998],"bid":[95.17,108],"trade_partition":"USDT","business_type":"swap","contract_code":"METIS-USDT","open":"86.09","close":"95.84","low":"83.02","high":"99.99","amount":"7815.76","count":5349,"vol":"781576","trade_turnover":"716270.744"},{"id":1705733242,"ts":1705733242899,"ask":[1.9067,32814],"bid":[1.9043,570],"trade_partition":"USDT","business_type":"swap","contract_code":"IMX-USDT","open":"1.8598","close":"1.9059","low":"1.8","high":"1.9404","amount":"86671","count":2789,"vol":"866710","trade_turnover":"164131.14782"},{"id":1705733242,"ts":1705733242899,"ask":null,"bid":null,"trade_partition":"USDT","business_type":"swap","contract_code":"DUSK-USDT","open":"0.17294","close":"0.17294","low":"0.17294","high":"0.17294","amount":"0","count":0,"vol":"0","trade_turnover":"0"},{"id":1705733242,"ts":1705733242899,"ask":[59.44,2741],"bid":[59.36,6447],"trade_partition":"USDT","business_type":"swap","contract_code":"COMP-USDT","open":"55.94","close":"59.36","low":"53.56","high":"59.64","amount":"2473.12","count":2846,"vol":"247312","trade_turnover":"140043.9744"},{"id":1705733242,"ts":1705733242899,"ask":[0.7197,4064],"bid":[0.7187,405],"trade_partition":"USDT","business_type":"swap","contract_code":"KAVA-USDT","open":"0.6938","close":"0.7194","low":"0.6695","high":"0.7196","amount":"46418","count":2703,"vol":"46418","trade_turnover":"32557.836"},{"id":1705733242,"ts":1705733242899,"ask":[0.17294,1747],"bid":[0.17256,1747],"trade_partition":"USDT","business_type":"swap","contract_code":"ALGO-USDT","open":"0.17386","close":"0.1728","low":"0.1676","high":"0.17689","amount":"873620","count":2919,"vol":"87362","trade_turnover":"152111.362"},{"id":1705733242,"ts":1705733242899,"ask":[7.774,2067],"bid":[7.759,1544],"trade_partition":"USDT","business_type":"swap","contract_code":"CYBER-USDT","open":"7.648","close":"7.769","low":"7.248","high":"7.896","amount":"432934","count":2770,"vol":"432934","trade_turnover":"3319638.76"},{"id":1705733242,"ts":1705733242899,"ask":[2.3927,2711],"bid":[2.3902,100],"trade_partition":"USDT","business_type":"swap","contract_code":"WAVES-USDT","open":"2.3233","close":"2.4039","low":"2.2138","high":"2.6827","amount":"4515848","count":20231,"vol":"4515848","trade_turnover":"10827551.2564"},{"id":1705733242,"ts":1705733242899,"ask":[0.4778,5674],"bid":[0.4768,5674],"trade_partition":"USDT","business_type":"swap","contract_code":"FRONT-USDT","open":"0.4221","close":"0.4776","low":"0.4082","high":"0.4935","amount":"1522718","count":3298,"vol":"1522718","trade_turnover":"701687.6176"},{"id":1705733242,"ts":1705733242899,"ask":[6.854,4907],"bid":[6.846,7136],"trade_partition":"USDT","business_type":"swap","contract_code":"GAS-USDT","open":"6.72","close":"6.858","low":"6.165","high":"6.947","amount":"799679.4","count":11015,"vol":"7996794","trade_turnover":"5451542.4904"},{"id":1705733242,"ts":1705733242899,"ask":[8.53,4957],"bid":[8.518,4957],"trade_partition":"USDT","business_type":"swap","contract_code":"APT-USDT","open":"8.436","close":"8.522","low":"8.11","high":"8.624","amount":"96700.8","count":3270,"vol":"967008","trade_turnover":"820250.629"},{"id":1705733242,"ts":1705733242899,"ask":[1.5006,5],"bid":[1.498,64],"trade_partition":"USDT","business_type":"swap","contract_code":"MTL-USDT","open":"1.4735","close":"1.4997","low":"1.4268","high":"1.6761","amount":"1176232","count":7920,"vol":"1176232","trade_turnover":"1791599.7944"},{"id":1705733242,"ts":1705733242899,"ask":[0.110412,545],"bid":[0.110391,46],"trade_partition":"USDT","business_type":"swap","contract_code":"TRX-USDT","open":"0.109062","close":"0.110404","low":"0.107846","high":"0.110777","amount":"13982800","count":3575,"vol":"139828","trade_turnover":"1528411.5436"},{"id":1705733242,"ts":1705733242899,"ask":[0.23876,895],"bid":[0.23858,1],"trade_partition":"USDT","business_type":"swap","contract_code":"LRC-USDT","open":"0.23288","close":"0.2387","low":"0.22393","high":"0.2399","amount":"297600","count":2738,"vol":"29760","trade_turnover":"69983.0614"},{"id":1705733242,"ts":1705733242899,"ask":null,"bid":null,"trade_partition":"USDT","business_type":"swap","contract_code":"GARI-USDT","open":"0.0381","close":"0.0381","low":"0.0381","high":"0.0381","amount":"0","count":0,"vol":"0","trade_turnover":"0"},{"id":1705733242,"ts":1705733242899,"ask":[2.913,2325],"bid":[2.908,1725],"trade_partition":"USDT","business_type":"swap","contract_code":"DYDX-USDT","open":"2.812","close":"2.908","low":"2.68","high":"2.986","amount":"1236293.2","count":6525,"vol":"12362932","trade_turnover":"3580815.5554"},{"id":1705733242,"ts":1705733242899,"ask":[17.542,600],"bid":[17.534,172],"trade_partition":"USDT","business_type":"swap","contract_code":"TIA-USDT","open":"17.246","close":"17.516","low":"16.5","high":"18.507","amount":"253520.4","count":7731,"vol":"2535204","trade_turnover":"4496879.3618"},{"id":1705733242,"ts":1705733242899,"ask":[0.488618,917],"bid":[0.488032,238],"trade_partition":"USDT","business_type":"swap","contract_code":"SAND-USDT","open":"0.473424","close":"0.488289","low":"0.454282","high":"0.492886","amount":"1306440","count":4498,"vol":"130644","trade_turnover":"625911.39942"},{"id":1705733242,"ts":1705733242899,"ask":[0.510054,136],"bid":[0.509725,44],"trade_partition":"USDT","business_type":"swap","contract_code":"ADA-USDT","open":"0.488461","close":"0.509724","low":"0.471002","high":"0.566666","amount":"37491500","count":15270,"vol":"3749150","trade_turnover":"19083572.58134"},{"id":1705733242,"ts":1705733242899,"ask":[5.722E-8,8],"bid":[5.697E-8,8],"trade_partition":"USDT","business_type":"swap","contract_code":"LADYS-USDT","open":"5.664E-8","close":"5.707E-8","low":"5.299E-8","high":"5.768E-8","amount":"5528466000000","count":3741,"vol":"5528466","trade_turnover":"311885.27494"},{"id":1705733242,"ts":1705733242899,"ask":[0.000009454,47489],"bid":[0.000009453,13962],"trade_partition":"USDT","business_type":"swap","contract_code":"SHIB-USDT","open":"0.000009165","close":"0.000009451","low":"0.000008825","high":"0.0000108","amount":"1564512170000","count":35398,"vol":"1564512170","trade_turnover":"14982770.269176"},{"id":1705733242,"ts":1705733242899,"ask":[0.04167,395],"bid":[0.04138,395],"trade_partition":"USDT","business_type":"swap","contract_code":"SNT-USDT","open":"0.04013","close":"0.04155","low":"0.03878","high":"0.04392","amount":"32330120","count":6075,"vol":"3233012","trade_turnover":"1356783.2816"},{"id":1705733242,"ts":1705733242899,"ask":[0.3188,2454],"bid":[0.3174,2454],"trade_partition":"USDT","business_type":"swap","contract_code":"BAKE-USDT","open":"0.3285","close":"0.3182","low":"0.3057","high":"0.3301","amount":"320432","count":2926,"vol":"320432","trade_turnover":"101605.5988"},{"id":1705733242,"ts":1705733242899,"ask":[0.187,24802],"bid":[0.1867,6044],"trade_partition":"USDT","business_type":"swap","contract_code":"CFX-USDT","open":"0.1852","close":"0.187","low":"0.1765","high":"0.1897","amount":"8790000","count":4995,"vol":"8790000","trade_turnover":"1651014.5756"},{"id":1705733242,"ts":1705733242899,"ask":[92.7066,964],"bid":[92.6758,32],"trade_partition":"USDT","business_type":"swap","contract_code":"SOL-USDT","open":"91.2","close":"92.6628","low":"87","high":"94.9906","amount":"812142","count":27896,"vol":"812142","trade_turnover":"75163941.8342"},{"id":1705733242,"ts":1705733242899,"ask":[0.3719,3347],"bid":[0.3709,3347],"trade_partition":"USDT","business_type":"swap","contract_code":"PYTH-USDT","open":"0.3237","close":"0.3715","low":"0.305","high":"0.3881","amount":"1897322","count":3377,"vol":"1897322","trade_turnover":"663147.1624"},{"id":1705733242,"ts":1705733242899,"ask":[7476.2,1000],"bid":[7473.4,2],"trade_partition":"USDT","business_type":"swap","contract_code":"YFI-USDT","open":"7388.8","close":"7472.4","low":"7127.6","high":"7501.2","amount":"38.7022","count":3218,"vol":"387022","trade_turnover":"286681.66464"},{"id":1705733242,"ts":1705733242899,"ask":[2.9088,38],"bid":[2.9042,1649],"trade_partition":"USDT","business_type":"swap","contract_code":"LDO-USDT","open":"2.9571","close":"2.9074","low":"2.8268","high":"3.0087","amount":"166748","count":3063,"vol":"166748","trade_turnover":"497751.5774"},{"id":1705733242,"ts":1705733242899,"ask":[6.5944,30],"bid":[6.5852,13],"trade_partition":"USDT","business_type":"swap","contract_code":"UNI-USDT","open":"6.229","close":"6.5828","low":"6.0412","high":"6.7151","amount":"531258","count":5683,"vol":"531258","trade_turnover":"3397745.213"},{"id":1705733242,"ts":1705733242899,"ask":[0.33439,200],"bid":[0.33405,51],"trade_partition":"USDT","business_type":"swap","contract_code":"BLZ-USDT","open":"0.33245","close":"0.33401","low":"0.33104","high":"0.33593","amount":"679000","count":2779,"vol":"67900","trade_turnover":"226207.5552"},{"id":1705733242,"ts":1705733242899,"ask":[0.0000011282,77],"bid":[0.0000011272,5],"trade_partition":"USDT","business_type":"swap","contract_code":"PEPE-USDT","open":"0.0000011114","close":"0.0000011272","low":"0.0000010563","high":"0.0000011438","amount":"624462000000","count":3753,"vol":"624462","trade_turnover":"694270.4558"},{"id":1705733242,"ts":1705733242899,"ask":[5.45,2],"bid":[5.449,48074],"trade_partition":"USDT","business_type":"swap","contract_code":"FIL-USDT","open":"5.427","close":"5.45","low":"5.158","high":"6.18","amount":"4269845.4","count":20607,"vol":"42698454","trade_turnover":"23649814.2526"},{"id":1705733242,"ts":1705733242899,"ask":[0.5162,15241],"bid":[0.5155,987],"trade_partition":"USDT","business_type":"swap","contract_code":"CORE-USDT","open":"0.5158","close":"0.516","low":"0.495","high":"0.5213","amount":"866967.6","count":3757,"vol":"8669676","trade_turnover":"451137.04944"},{"id":1705733242,"ts":1705733242899,"ask":null,"bid":null,"trade_partition":"USDT","business_type":"swap","contract_code":"SDAO-USDT","open":"0.58","close":"0.58","low":"0.58","high":"0.58","amount":"0","count":0,"vol":"0","trade_turnover":"0"},{"id":1705733242,"ts":1705733242899,"ask":[1.1021,455],"bid":[1.097,323],"trade_partition":"USDT","business_type":"swap","contract_code":"AI-USDT","open":"1.0701","close":"1.0995","low":"0.9878","high":"1.147","amount":"602056","count":3747,"vol":"602056","trade_turnover":"649406.789"},{"id":1705733242,"ts":1705733242899,"ask":[0.6132,10815],"bid":[0.6123,10577],"trade_partition":"USDT","business_type":"swap","contract_code":"FET-USDT","open":"0.6126","close":"0.6128","low":"0.5819","high":"0.6229","amount":"528078","count":2960,"vol":"528078","trade_turnover":"323105.4082"},{"id":1705733242,"ts":1705733242899,"ask":[2.2151,1000],"bid":[2.2076,53],"trade_partition":"USDT","business_type":"swap","contract_code":"TON-USDT","open":"2.2272","close":"2.2111","low":"2.1479","high":"2.43","amount":"945917.4","count":6878,"vol":"9459174","trade_turnover":"2161101.35476"},{"id":1705733242,"ts":1705733242899,"ask":[0.029242,627],"bid":[0.029154,534],"trade_partition":"USDT","business_type":"swap","contract_code":"JST-USDT","open":"0.029034","close":"0.029187","low":"0.02851","high":"0.029314","amount":"1872300","count":2800,"vol":"187230","trade_turnover":"54435.84324"},{"id":1705733242,"ts":1705733242899,"ask":null,"bid":null,"trade_partition":"USDT","business_type":"swap","contract_code":"RLY-USDT","open":"0.0063","close":"0.0063","low":"0.0063","high":"0.0063","amount":"0","count":0,"vol":"0","trade_turnover":"0"},{"id":1705733242,"ts":1705733242899,"ask":[97.947,141],"bid":[97.806,465],"trade_partition":"USDT","business_type":"swap","contract_code":"AAVE-USDT","open":"95.106","close":"97.876","low":"91.41","high":"98.24","amount":"6007","count":3775,"vol":"60070","trade_turnover":"574958.974"},{"id":1705733242,"ts":1705733242899,"ask":[0.416,151],"bid":[0.4152,162],"trade_partition":"USDT","business_type":"swap","contract_code":"1INCH-USDT","open":"0.4114","close":"0.4154","low":"0.3949","high":"0.4209","amount":"550378","count":2987,"vol":"550378","trade_turnover":"227083.326"},{"id":1705733242,"ts":1705733242899,"ask":[125.495,200],"bid":[125.41,1],"trade_partition":"USDT","business_type":"swap","contract_code":"TRB-USDT","open":"128.929","close":"125.503","low":"121.241","high":"129.457","amount":"70227.4","count":11351,"vol":"702274","trade_turnover":"9169252.5704"},{"id":1705733242,"ts":1705733242899,"ask":[0.77659,2],"bid":[0.7761,383],"trade_partition":"USDT","business_type":"swap","contract_code":"MATIC-USDT","open":"0.7758","close":"0.77659","low":"0.7441","high":"0.77671","amount":"5317000","count":2786,"vol":"53170","trade_turnover":"4083896.712"},{"id":1705733242,"ts":1705733242899,"ask":[0.1559,28495],"bid":[0.1558,3],"trade_partition":"USDT","business_type":"swap","contract_code":"OGN-USDT","open":"0.1531","close":"0.1557","low":"0.1454","high":"0.1576","amount":"313260","count":2524,"vol":"313260","trade_turnover":"48105.427"},{"id":1705733242,"ts":1705733242899,"ask":[0.078941,3],"bid":[0.078928,214],"trade_partition":"USDT","business_type":"swap","contract_code":"DOGE-USDT","open":"0.077739","close":"0.078929","low":"0.075089","high":"0.0875","amount":"582771800","count":34501,"vol":"5827718","trade_turnover":"46618820.8474"},{"id":1705733242,"ts":1705733242899,"ask":[0.0981,847],"bid":[0.0978,6192],"trade_partition":"USDT","business_type":"swap","contract_code":"LOOM-USDT","open":"0.0978","close":"0.0979","low":"0.0935","high":"0.1018","amount":"37204068","count":10404,"vol":"37204068","trade_turnover":"3703385.1632"},{"id":1705733242,"ts":1705733242899,"ask":[1.02043,1],"bid":[1.01772,66],"trade_partition":"USDT","business_type":"swap","contract_code":"THETA-USDT","open":"0.97998","close":"1.01822","low":"0.94141","high":"1.02058","amount":"2367480","count":7138,"vol":"236748","trade_turnover":"2366516.6748"},{"id":1705733242,"ts":1705733242899,"ask":[2.961,2209],"bid":[2.957,2559],"trade_partition":"USDT","business_type":"swap","contract_code":"NEAR-USDT","open":"2.915","close":"2.955","low":"2.789","high":"3.009","amount":"259030","count":3193,"vol":"259030","trade_turnover":"761403.43"},{"id":1705733242,"ts":1705733242899,"ask":null,"bid":null,"trade_partition":"USDT","business_type":"swap","contract_code":"TOMO-USDT","open":"1.53","close":"1.53","low":"1.53","high":"1.53","amount":"0","count":0,"vol":"0","trade_turnover":"0"},{"id":1705733242,"ts":1705733242899,"ask":[2.383,5542],"bid":[2.381,859],"trade_partition":"USDT","business_type":"swap","contract_code":"MANTA-USDT","open":"2.248","close":"2.377","low":"2.147","high":"2.58","amount":"2086227.4","count":10729,"vol":"20862274","trade_turnover":"4906704.513"},{"id":1705733242,"ts":1705733242899,"ask":[2.675,34],"bid":[2.671,14],"trade_partition":"USDT","business_type":"swap","contract_code":"FTT-USDT","open":"2.589","close":"2.671","low":"2.428","high":"2.709","amount":"5505.1","count":4712,"vol":"550510","trade_turnover":"14430.97026"},{"id":1705733242,"ts":1705733242899,"ask":[0.6825,1250],"bid":[0.6822,336],"trade_partition":"USDT","business_type":"swap","contract_code":"SEI-USDT","open":"0.7005","close":"0.6821","low":"0.6541","high":"0.7149","amount":"12282948","count":9774,"vol":"12282948","trade_turnover":"8507820.6518"},{"id":1705733242,"ts":1705733242899,"ask":[0.54723,41],"bid":[0.54715,499],"trade_partition":"USDT","business_type":"swap","contract_code":"XRP-USDT","open":"0.53938","close":"0.54719","low":"0.5213","high":"0.6085","amount":"46781720","count":11040,"vol":"4678172","trade_turnover":"25616221.9988"},{"id":1705733242,"ts":1705733242899,"ask":[19.383,12],"bid":[19.328,2068],"trade_partition":"USDT","business_type":"swap","contract_code":"ENS-USDT","open":"19.249","close":"19.356","low":"18.42","high":"20.55","amount":"14565.4","count":2168,"vol":"145654","trade_turnover":"283883.8642"},{"id":1705733242,"ts":1705733242899,"ask":[0.0002643,1494],"bid":[0.0002639,3791],"trade_partition":"USDT","business_type":"swap","contract_code":"RATS-USDT","open":"0.0002566","close":"0.0002639","low":"0.000231","high":"0.0002763","amount":"24716452000","count":8848,"vol":"24716452","trade_turnover":"6345881.3138"},{"id":1705733242,"ts":1705733242899,"ask":[2.7166,8080],"bid":[2.7132,585],"trade_partition":"USDT","business_type":"swap","contract_code":"CAKE-USDT","open":"2.698","close":"2.7152","low":"2.6057","high":"2.736","amount":"19764.8","count":2713,"vol":"197648","trade_turnover":"53721.09336"},{"id":1705733242,"ts":1705733242899,"ask":[9.87E-7,480],"bid":[9.8E-7,198],"trade_partition":"USDT","business_type":"swap","contract_code":"BTT-USDT","open":"9.75E-7","close":"9.84E-7","low":"9.53E-7","high":"9.95E-7","amount":"37504000000","count":2446,"vol":"37504","trade_turnover":"36674.912"},{"id":1705733242,"ts":1705733242899,"ask":[0.8616,362],"bid":[0.8607,500],"trade_partition":"USDT","business_type":"swap","contract_code":"XAI-USDT","open":"0.8956","close":"0.8593","low":"0.8105","high":"0.904","amount":"2417830","count":5048,"vol":"2417830","trade_turnover":"2112632.5158"},{"id":1705733242,"ts":1705733242899,"ask":[0.024126,633],"bid":[0.024091,9768],"trade_partition":"USDT","business_type":"swap","contract_code":"MEME-USDT","open":"0.023973","close":"0.024104","low":"0.022747","high":"0.024475","amount":"52034040","count":4715,"vol":"5203404","trade_turnover":"1263486.67046"},{"id":1705733242,"ts":1705733242899,"ask":[1.529E-10,181],"bid":[1.523E-10,18198],"trade_partition":"USDT","business_type":"swap","contract_code":"AIDOGE-USDT","open":"1.527E-10","close":"1.527E-10","low":"1.37E-10","high":"1.543E-10","amount":"2798676000000000","count":3005,"vol":"2798676","trade_turnover":"411449.915"},{"id":1705733242,"ts":1705733242899,"ask":null,"bid":null,"trade_partition":"USDT","business_type":"swap","contract_code":"XETA-USDT","open":"0.012","close":"0.012","low":"0.012","high":"0.012","amount":"0","count":0,"vol":"0","trade_turnover":"0"},{"id":1705733242,"ts":1705733242899,"ask":[7.402,2963],"bid":[7.384,2963],"trade_partition":"USDT","business_type":"swap","contract_code":"LPT-USDT","open":"7.127","close":"7.392","low":"6.801","high":"7.46","amount":"1754.98","count":2801,"vol":"175498","trade_turnover":"12450.4058"},{"id":1705733242,"ts":1705733242899,"ask":[313.044,5],"bid":[312.898,80],"trade_partition":"USDT","business_type":"swap","contract_code":"BNB-USDT","open":"311.114","close":"312.991","low":"304.672","high":"315.229","amount":"4304","count":4561,"vol":"43040","trade_turnover":"1344325.8478"},{"id":1705733242,"ts":1705733242899,"ask":[0.02726,4504],"bid":[0.02718,5035],"trade_partition":"USDT","business_type":"swap","contract_code":"USTC-USDT","open":"0.02682","close":"0.02726","low":"0.02559","high":"0.02779","amount":"17679420","count":3302,"vol":"1767942","trade_turnover":"479239.3676"},{"id":1705733242,"ts":1705733242899,"ask":[2.0075,23406],"bid":[1.9991,23459],"trade_partition":"USDT","business_type":"swap","contract_code":"GAL-USDT","open":"1.7404","close":"2.004","low":"1.6817","high":"2.128","amount":"174330","count":4064,"vol":"1743300","trade_turnover":"339890.8262"},{"id":1705733242,"ts":1705733242899,"ask":[0.014698,2],"bid":[0.014679,326],"trade_partition":"USDT","business_type":"swap","contract_code":"ONE-USDT","open":"0.014515","close":"0.014698","low":"0.0131","high":"0.014928","amount":"8197600","count":2916,"vol":"81976","trade_turnover":"115216.1316"},{"id":1705733242,"ts":1705733242899,"ask":[1.0836,500],"bid":[1.0828,473],"trade_partition":"USDT","business_type":"swap","contract_code":"SUSHI-USDT","open":"1.0434","close":"1.0834","low":"1.0019","high":"1.0854","amount":"283696","count":2832,"vol":"283696","trade_turnover":"298235.6876"},{"id":1705733242,"ts":1705733242899,"ask":[1970.9,2048],"bid":[1969.6,298],"trade_partition":"USDT","business_type":"swap","contract_code":"MKR-USDT","open":"1953.7","close":"1970.2","low":"1895.5","high":"1993.9","amount":"205.446","count":3344,"vol":"205446","trade_turnover":"403369.6614"},{"id":1705733242,"ts":1705733242899,"ask":[72.47,19],"bid":[72.44,1419],"trade_partition":"USDT","business_type":"swap","contract_code":"LTC-USDT","open":"70.43","close":"72.35","low":"67.6","high":"82.51","amount":"594207.4","count":28902,"vol":"5942074","trade_turnover":"42340007.152"},{"id":1705733242,"ts":1705733242899,"ask":[0.02614,4447],"bid":[0.02608,779],"trade_partition":"USDT","business_type":"swap","contract_code":"TOKEN-USDT","open":"0.02599","close":"0.02609","low":"0.02458","high":"0.02696","amount":"2485840","count":2709,"vol":"248584","trade_turnover":"64125.7808"},{"id":1705733242,"ts":1705733242899,"ask":[0.00002943,1077],"bid":[0.00002937,10597],"trade_partition":"USDT","business_type":"swap","contract_code":"FLOKI-USDT","open":"0.00002857","close":"0.0000294","low":"0.00002752","high":"0.00002967","amount":"835160000","count":2689,"vol":"83516","trade_turnover":"23941.1492"},{"id":1705733242,"ts":1705733242899,"ask":[0.02367,23262],"bid":[0.02363,17094],"trade_partition":"USDT","business_type":"swap","contract_code":"GALA-USDT","open":"0.02313","close":"0.02364","low":"0.02212","high":"0.02378","amount":"11752160","count":2829,"vol":"1175216","trade_turnover":"274180.5604"},{"id":1705733242,"ts":1705733242899,"ask":[0.2725,3562],"bid":[0.2719,3562],"trade_partition":"USDT","business_type":"swap","contract_code":"AGIX-USDT","open":"0.2651","close":"0.2722","low":"0.2539","high":"0.2748","amount":"137094","count":2753,"vol":"137094","trade_turnover":"36491.1146"},{"id":1705733242,"ts":1705733242899,"ask":[0.5348,26],"bid":[0.534,458],"trade_partition":"USDT","business_type":"swap","contract_code":"CRV-USDT","open":"0.508","close":"0.5343","low":"0.495","high":"0.5345","amount":"171518","count":2778,"vol":"171518","trade_turnover":"88838.9804"},{"id":1705733242,"ts":1705733242899,"ask":[1.836,280],"bid":[1.8343,3026],"trade_partition":"USDT","business_type":"swap","contract_code":"ARB-USDT","open":"1.8241","close":"1.8353","low":"1.7268","high":"1.8661","amount":"1787214","count":4799,"vol":"1787214","trade_turnover":"3260539.38"},{"id":1705733242,"ts":1705733242899,"ask":[32.8348,1],"bid":[32.8101,273],"trade_partition":"USDT","business_type":"swap","contract_code":"AVAX-USDT","open":"32.635","close":"32.8153","low":"31.1787","high":"33.1425","amount":"87494","count":5482,"vol":"87494","trade_turnover":"2849367.2326"},{"id":1705733242,"ts":1705733242899,"ask":[0.7806,256],"bid":[0.7762,1959],"trade_partition":"USDT","business_type":"swap","contract_code":"ARK-USDT","open":"0.795","close":"0.7782","low":"0.7405","high":"0.7994","amount":"28862","count":2729,"vol":"28862","trade_turnover":"22524.1396"},{"id":1705733242,"ts":1705733242899,"ask":[3.3332,24],"bid":[3.3251,157],"trade_partition":"USDT","business_type":"swap","contract_code":"SNX-USDT","open":"3.3015","close":"3.3249","low":"3.169","high":"3.3899","amount":"505588","count":3647,"vol":"505588","trade_turnover":"1688030.1988"},{"id":1705733242,"ts":1705733242899,"ask":[0.11418,2374],"bid":[0.11403,2374],"trade_partition":"USDT","business_type":"swap","contract_code":"XLM-USDT","open":"0.11222","close":"0.1141","low":"0.10864","high":"0.13178","amount":"14149140","count":4441,"vol":"1414914","trade_turnover":"1640086.2028"},{"id":1705733242,"ts":1705733242899,"ask":[16.3726,4721],"bid":[16.3608,98],"trade_partition":"USDT","business_type":"swap","contract_code":"LINK-USDT","open":"15.2236","close":"16.3636","low":"14.6876","high":"23.501","amount":"4196204.4","count":76939,"vol":"41962044","trade_turnover":"65889320.1789"},{"id":1705733242,"ts":1705733242899,"ask":[3.522,8375],"bid":[3.506,268],"trade_partition":"USDT","business_type":"swap","contract_code":"MASK-USDT","open":"3.521","close":"3.516","low":"3.332","high":"3.567","amount":"1345238.2","count":7516,"vol":"13452382","trade_turnover":"4742283.2888"},{"id":1705733242,"ts":1705733242899,"ask":[51.54,382],"bid":[51.4,214],"trade_partition":"USDT","business_type":"swap","contract_code":"EGLD-USDT","open":"49.6","close":"51.47","low":"47.53","high":"51.54","amount":"1769.86","count":3032,"vol":"176986","trade_turnover":"89070.0276"},{"id":1705733242,"ts":1705733242899,"ask":[0.5195,288],"bid":[0.5185,775],"trade_partition":"USDT","business_type":"swap","contract_code":"YGG-USDT","open":"0.5252","close":"0.5187","low":"0.5007","high":"0.529","amount":"338966","count":3188,"vol":"338966","trade_turnover":"175525.114"},{"id":1705733242,"ts":1705733242899,"ask":[4.0935,160],"bid":[4.0832,188],"trade_partition":"USDT","business_type":"swap","contract_code":"RNDR-USDT","open":"3.993","close":"4.0901","low":"3.8092","high":"4.1888","amount":"119766","count":3579,"vol":"119766","trade_turnover":"489582.5794"},{"id":1705733242,"ts":1705733242899,"ask":[0.0021,104],"bid":[1E-8,230],"trade_partition":"USDT","business_type":"swap","contract_code":"DOSE-USDT","open":"0.0021","close":"0.0021","low":"0.0021","high":"0.0021","amount":"0","count":0,"vol":"0","trade_turnover":"0"},{"id":1705733242,"ts":1705733242899,"ask":[35.983,1030],"bid":[35.913,1030],"trade_partition":"USDT","business_type":"swap","contract_code":"INJ-USDT","open":"35.488","close":"35.937","low":"33.729","high":"37.079","amount":"27039.6","count":3891,"vol":"270396","trade_turnover":"981623.7832"},{"id":1705733242,"ts":1705733242899,"ask":[0.00010062,449],"bid":[0.00010002,5],"trade_partition":"USDT","business_type":"swap","contract_code":"WIN-USDT","open":"0.0001005","close":"0.00009978","low":"0.00009432","high":"0.00010482","amount":"2470900000","count":4190,"vol":"247090","trade_turnover":"252464.272"},{"id":1705733242,"ts":1705733242899,"ask":[9.7038,11],"bid":[9.6944,397],"trade_partition":"USDT","business_type":"swap","contract_code":"ATOM-USDT","open":"9.6127","close":"9.6989","low":"9.2691","high":"9.7407","amount":"93188","count":3153,"vol":"93188","trade_turnover":"895832.8722"},{"id":1705733242,"ts":1705733242899,"ask":[1.4702,1633],"bid":[1.4643,1887],"trade_partition":"USDT","business_type":"swap","contract_code":"STX-USDT","open":"1.4585","close":"1.4668","low":"1.3898","high":"1.5241","amount":"195054","count":2898,"vol":"195054","trade_turnover":"289374.5586"},{"id":1705733242,"ts":1705733242899,"ask":[0.7694,37],"bid":[0.7681,3526],"trade_partition":"USDT","business_type":"swap","contract_code":"BNT-USDT","open":"0.7301","close":"0.7685","low":"0.7048","high":"0.7685","amount":"120452","count":2781,"vol":"120452","trade_turnover":"89099.433"}],"ts":1705733242899} diff --git a/log/debug/debug.2024-01-20_15.log b/log/debug/debug.2024-01-20_15.log new file mode 100644 index 0000000..b8a22e2 --- /dev/null +++ b/log/debug/debug.2024-01-20_15.log @@ -0,0 +1,15 @@ +2024-01-20 15:04:15.927 [DEBUG] [main] [com.huobi.api.service.usdt.market.MarketAPIServiceImpl.getLinearSwapMarkPriceKline:601] - body:{"ch":"market.BTC-USDT.mark_price.1min","data":[{"amount":"0","close":"41718.9","count":"0","high":"41719.9","id":1705733700,"low":"41704.5","open":"41719.4","trade_turnover":"0","vol":"0"},{"amount":"0","close":"41722","count":"0","high":"41722","id":1705733760,"low":"41719.9","open":"41719.9","trade_turnover":"0","vol":"0"},{"amount":"0","close":"41710.5","count":"0","high":"41722.1","id":1705733820,"low":"41710.5","open":"41722","trade_turnover":"0","vol":"0"},{"amount":"0","close":"41711.5","count":"0","high":"41711.5","id":1705733880,"low":"41708.9","open":"41709.5","trade_turnover":"0","vol":"0"},{"amount":"0","close":"41721.8","count":"0","high":"41723.3","id":1705733940,"low":"41711.5","open":"41711.5","trade_turnover":"0","vol":"0"},{"amount":"0","close":"41718","count":"0","high":"41720.8","id":1705734000,"low":"41718","open":"41720.8","trade_turnover":"0","vol":"0"},{"amount":"0","close":"41720.3","count":"0","high":"41720.3","id":1705734060,"low":"41718","open":"41718","trade_turnover":"0","vol":"0"},{"amount":"0","close":"41720.3","count":"0","high":"41720.3","id":1705734120,"low":"41720.3","open":"41720.3","trade_turnover":"0","vol":"0"},{"amount":"0","close":"41720.3","count":"0","high":"41720.3","id":1705734180,"low":"41720.3","open":"41720.3","trade_turnover":"0","vol":"0"},{"amount":"0","close":"41720.3","count":"0","high":"41720.3","id":1705734240,"low":"41720.3","open":"41720.3","trade_turnover":"0","vol":"0"}],"status":"ok","ts":1705734249008} +2024-01-20 15:04:16.033 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.getLinearSwapMarkPriceKline:188] - 25、获取标记价格的K线数据:{"data":[{"amount":"0","close":"41718.9","count":"0","high":"41719.9","id":1705733700,"low":"41704.5","open":"41719.4","tradeTurnover":"0","vol":"0"},{"amount":"0","close":"41722","count":"0","high":"41722","id":1705733760,"low":"41719.9","open":"41719.9","tradeTurnover":"0","vol":"0"},{"amount":"0","close":"41710.5","count":"0","high":"41722.1","id":1705733820,"low":"41710.5","open":"41722","tradeTurnover":"0","vol":"0"},{"amount":"0","close":"41711.5","count":"0","high":"41711.5","id":1705733880,"low":"41708.9","open":"41709.5","tradeTurnover":"0","vol":"0"},{"amount":"0","close":"41721.8","count":"0","high":"41723.3","id":1705733940,"low":"41711.5","open":"41711.5","tradeTurnover":"0","vol":"0"},{"amount":"0","close":"41718","count":"0","high":"41720.8","id":1705734000,"low":"41718","open":"41720.8","tradeTurnover":"0","vol":"0"},{"amount":"0","close":"41720.3","count":"0","high":"41720.3","id":1705734060,"low":"41718","open":"41718","tradeTurnover":"0","vol":"0"},{"amount":"0","close":"41720.3","count":"0","high":"41720.3","id":1705734120,"low":"41720.3","open":"41720.3","tradeTurnover":"0","vol":"0"},{"amount":"0","close":"41720.3","count":"0","high":"41720.3","id":1705734180,"low":"41720.3","open":"41720.3","tradeTurnover":"0","vol":"0"},{"amount":"0","close":"41720.3","count":"0","high":"41720.3","id":1705734240,"low":"41720.3","open":"41720.3","tradeTurnover":"0","vol":"0"}],"status":"ok","ts":1705734249008} +2024-01-20 15:08:45.570 [DEBUG] [main] [com.huobi.api.service.usdt.market.MarketAPIServiceImpl.getBatchMerged:581] - body:{"status":"ok","ticks":[{"id":1705734518,"ts":1705734518629,"ask":[41724.4,6157],"bid":[41724.3,4558],"trade_partition":"USDT","business_type":"swap","contract_code":"BTC-USDT","open":"40935.7","close":"41724.3","low":"40312.2","high":"42219.8","amount":"14536.32","count":72259,"vol":"14536320","trade_turnover":"600564832.367"}],"ts":1705734518629} +2024-01-20 15:25:27.682 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjectTest:259] - {"status":"ok","ticks":[{"amount":"14536.32","ask":[41724.4,6157],"bid":[41724.3,4558],"businessType":"swap","close":"41724.3","contractCode":"BTC-USDT","count":72259,"high":"42219.8","id":1705734518,"low":"40312.2","open":"40935.7","tradePartition":"USDT","tradeTurnover":"600564832.367","ts":1705734518629,"vol":"14536320"}],"ts":1705734518629} +2024-01-20 15:27:09.291 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjectTest:231] - {"status":"ok","ticks":[{"amount":"14494.696","ask":[41715.5,180],"bid":[41715.4,8384],"businessType":"swap","close":"41711.5","contractCode":"BTC-USDT","count":71917,"high":"42219.8","id":1705735575,"low":"40312.2","numberOf":"14494696","open":"40935.7","tradePartition":"USDT","ts":1705735575177,"vol":"598849624.0554"}],"ts":1705735575177} +2024-01-20 15:28:38.477 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjectTest:231] - {"status":"ok","ticks":[{"amount":"14494.696","ask":[41715.5,180],"bid":[41715.4,8384],"businessType":"swap","close":"41711.5","contractCode":"BTC-USDT","count":71917,"high":"42219.8","id":1705735575,"low":"40312.2","numberOf":14494696,"open":"40935.7","tradePartition":"USDT","ts":1705735575177,"vol":"598849624.0554"}],"ts":1705735575177} +2024-01-20 15:33:17.482 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjectTest:258] - {"status":"ok","ticks":[{"amount":"6891.566","ask":[39736.6,1285],"bid":[39736.5,6070],"businessType":"swap","close":"39736.6","contractCode":"BTC-USDT","count":48262,"high":"39971.2","id":1650792083,"low":"39316.3","numberOf":"6891566","open":"39760","ts":1650792083179,"vol":"273472535.834"}],"ts":1650792083179} +2024-01-20 15:34:17.289 [DEBUG] [main] [com.huobi.api.service.usdt.market.MarketAPIServiceImpl.getSwapLadderMargin:624] - body:{"status":"ok","data":[{"margin_account":"BTC-USDT","symbol":"BTC","contract_code":"BTC-USDT","margin_mode":"isolated","list":[{"lever_rate":2,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":3,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":4,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":5,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":6,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":7,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":8,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":9,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":10,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":11,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":12,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":13,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":14,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":15,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":16,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":17,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":18,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":19,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":20,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":21,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":22,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":23,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":24,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":25,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":26,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":27,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":28,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":29,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":30,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":31,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":32,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":33,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":34,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":35,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":36,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":37,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":38,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":39,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":40,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":41,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":42,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":43,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":44,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":45,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":46,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":47,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":48,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":49,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":50,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":51,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":52,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":53,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":54,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":55,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":56,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":57,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":58,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":59,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":60,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":61,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":62,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":63,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":64,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":65,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":66,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":67,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":68,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":69,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":70,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":71,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":72,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":73,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":74,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":75,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":76,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":77,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":78,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":79,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":80,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":81,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":82,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":83,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":84,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":85,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":86,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":87,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":88,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":89,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":90,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":91,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":92,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":93,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":94,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":95,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":96,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":97,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":98,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":99,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":100,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":101,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":102,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":103,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":104,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":105,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":106,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":107,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":108,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":109,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":110,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":111,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":112,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":113,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":114,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":115,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":116,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":117,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":118,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":119,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":120,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":121,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":122,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":123,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":124,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":125,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":126,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":127,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":128,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":129,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":130,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":131,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":132,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":133,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":134,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":135,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":136,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":137,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":138,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":139,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":140,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":141,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":142,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":143,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":144,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":145,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":146,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":147,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":148,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":149,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":150,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":151,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":152,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":153,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":154,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":155,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":156,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":157,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":158,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":159,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":160,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":161,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":162,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":163,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":164,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":165,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":166,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":167,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":168,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":169,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":170,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":171,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":172,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":173,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":174,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":175,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":176,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":177,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":178,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":179,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":180,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":181,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":182,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":183,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":184,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":185,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":186,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":187,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":188,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":189,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":190,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":191,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":192,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":193,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":194,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":195,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":196,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":197,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":198,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":199,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]},{"lever_rate":200,"ladders":[{"min_margin_balance":0,"max_margin_balance":null,"min_margin_available":0,"max_margin_available":null}]}],"trade_partition":"USDT"}],"ts":1705736049871} +2024-01-20 15:34:17.404 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.getSwapLadderMargin:194] - 26、获取平台阶梯保证金:{"data":[{"contractCode":"BTC-USDT","list":[{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":2},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":3},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":4},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":5},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":6},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":7},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":8},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":9},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":10},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":11},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":12},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":13},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":14},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":15},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":16},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":17},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":18},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":19},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":20},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":21},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":22},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":23},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":24},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":25},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":26},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":27},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":28},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":29},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":30},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":31},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":32},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":33},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":34},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":35},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":36},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":37},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":38},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":39},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":40},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":41},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":42},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":43},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":44},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":45},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":46},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":47},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":48},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":49},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":50},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":51},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":52},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":53},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":54},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":55},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":56},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":57},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":58},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":59},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":60},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":61},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":62},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":63},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":64},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":65},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":66},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":67},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":68},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":69},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":70},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":71},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":72},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":73},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":74},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":75},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":76},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":77},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":78},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":79},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":80},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":81},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":82},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":83},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":84},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":85},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":86},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":87},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":88},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":89},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":90},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":91},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":92},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":93},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":94},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":95},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":96},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":97},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":98},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":99},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":100},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":101},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":102},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":103},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":104},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":105},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":106},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":107},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":108},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":109},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":110},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":111},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":112},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":113},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":114},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":115},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":116},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":117},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":118},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":119},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":120},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":121},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":122},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":123},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":124},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":125},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":126},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":127},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":128},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":129},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":130},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":131},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":132},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":133},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":134},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":135},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":136},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":137},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":138},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":139},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":140},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":141},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":142},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":143},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":144},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":145},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":146},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":147},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":148},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":149},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":150},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":151},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":152},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":153},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":154},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":155},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":156},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":157},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":158},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":159},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":160},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":161},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":162},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":163},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":164},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":165},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":166},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":167},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":168},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":169},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":170},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":171},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":172},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":173},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":174},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":175},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":176},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":177},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":178},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":179},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":180},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":181},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":182},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":183},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":184},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":185},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":186},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":187},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":188},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":189},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":190},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":191},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":192},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":193},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":194},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":195},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":196},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":197},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":198},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":199},{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":200}],"marginAccount":"BTC-USDT","marginMode":"isolated","symbol":"BTC","tradePartition":"USDT"}],"status":"ok","ts":1705736049871} +2024-01-20 15:34:44.777 [DEBUG] [main] [com.huobi.api.service.usdt.market.MarketAPIServiceImpl.getSwapBatchFundingRate:647] - body:{"status":"ok","data":[{"estimated_rate":null,"funding_rate":"0.000343936259189787","contract_code":"MANA-USDT","symbol":"MANA","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000100000000000000","contract_code":"SATS-USDT","symbol":"SATS","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000100000000000000","contract_code":"CHZ-USDT","symbol":"CHZ","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000100000000000000","contract_code":"DOT-USDT","symbol":"DOT","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":null,"contract_code":"DUSK-USDT-240202","symbol":"DUSK","fee_asset":"USDT","funding_time":null,"next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":null,"contract_code":"DUSK-USDT-240329","symbol":"DUSK","fee_asset":"USDT","funding_time":null,"next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000100000000000000","contract_code":"POLYX-USDT","symbol":"POLYX","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000100000000000000","contract_code":"QRDO-USDT","symbol":"QRDO","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000100000000000000","contract_code":"MINA-USDT","symbol":"MINA","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000100000000000000","contract_code":"EOS-USDT","symbol":"EOS","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000100000000000000","contract_code":"ACE-USDT","symbol":"ACE","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000100000000000000","contract_code":"LUNA-USDT","symbol":"LUNA","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000100000000000000","contract_code":"GRT-USDT","symbol":"GRT","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000100000000000000","contract_code":"UNB-USDT","symbol":"UNB","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"-0.015000000000000000","contract_code":"CVX-USDT","symbol":"CVX","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.009574147834715933","contract_code":"STEEM-USDT","symbol":"STEEM","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":null,"contract_code":"TOMO-USDT-240329","symbol":"TOMO","fee_asset":"USDT","funding_time":null,"next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000100000000000000","contract_code":"JTO-USDT","symbol":"JTO","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000100000000000000","contract_code":"WLD-USDT","symbol":"WLD","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000100000000000000","contract_code":"OP-USDT","symbol":"OP","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000100000000000000","contract_code":"ORDI-USDT","symbol":"ORDI","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000100000000000000","contract_code":"FSN-USDT","symbol":"FSN","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000100000000000000","contract_code":"BLUR-USDT","symbol":"BLUR","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":null,"contract_code":"TOMO-USDT-240202","symbol":"TOMO","fee_asset":"USDT","funding_time":null,"next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000100000000000000","contract_code":"LUNC-USDT","symbol":"LUNC","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000472629275502289","contract_code":"SSV-USDT","symbol":"SSV","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000100000000000000","contract_code":"IOTA-USDT","symbol":"IOTA","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000100000000000000","contract_code":"KSM-USDT","symbol":"KSM","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000100000000000000","contract_code":"SUI-USDT","symbol":"SUI","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000548404092008185","contract_code":"BONK-USDT","symbol":"BONK","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000100000000000000","contract_code":"ICP-USDT","symbol":"ICP","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000100000000000000","contract_code":"ETH-USDT","symbol":"ETH","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000100000000000000","contract_code":"RDNT-USDT","symbol":"RDNT","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000100000000000000","contract_code":"STORJ-USDT","symbol":"STORJ","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":null,"contract_code":"BTC-USDT-240202","symbol":"BTC","fee_asset":"USDT","funding_time":null,"next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000100000000000000","contract_code":"GMT-USDT","symbol":"GMT","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000100000000000000","contract_code":"STG-USDT","symbol":"STG","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000100000000000000","contract_code":"TENET-USDT","symbol":"TENET","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000100000000000000","contract_code":"BSV-USDT","symbol":"BSV","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000686685049081143","contract_code":"BTC-USDT","symbol":"BTC","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000100000000000000","contract_code":"WOO-USDT","symbol":"WOO","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.002104603965845251","contract_code":"XMR-USDT","symbol":"XMR","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"-0.000154551994452808","contract_code":"AXS-USDT","symbol":"AXS","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000100000000000000","contract_code":"LINA-USDT","symbol":"LINA","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.007500000000000000","contract_code":"ETC-USDT","symbol":"ETC","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000100000000000000","contract_code":"MPLX-USDT","symbol":"MPLX","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000100000000000000","contract_code":"PEOPLE-USDT","symbol":"PEOPLE","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000100000000000000","contract_code":"FTM-USDT","symbol":"FTM","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000100000000000000","contract_code":"ACH-USDT","symbol":"ACH","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000100000000000000","contract_code":"APE-USDT","symbol":"APE","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000100000000000000","contract_code":"BCH-USDT","symbol":"BCH","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":null,"contract_code":"DOSE-USDT-240202","symbol":"DOSE","fee_asset":"USDT","funding_time":null,"next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000100000000000000","contract_code":"BIGTIME-USDT","symbol":"BIGTIME","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000100000000000000","contract_code":"OPUL-USDT","symbol":"OPUL","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000100000000000000","contract_code":"METIS-USDT","symbol":"METIS","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000100000000000000","contract_code":"IMX-USDT","symbol":"IMX","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000100000000000000","contract_code":"DUSK-USDT","symbol":"DUSK","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000100000000000000","contract_code":"KAVA-USDT","symbol":"KAVA","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000100000000000000","contract_code":"COMP-USDT","symbol":"COMP","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000100000000000000","contract_code":"ALGO-USDT","symbol":"ALGO","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000100000000000000","contract_code":"CYBER-USDT","symbol":"CYBER","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.011797582284447009","contract_code":"WAVES-USDT","symbol":"WAVES","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000100000000000000","contract_code":"APT-USDT","symbol":"APT","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.002383376228861718","contract_code":"MTL-USDT","symbol":"MTL","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000303875781801413","contract_code":"FRONT-USDT","symbol":"FRONT","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.002625299488655486","contract_code":"GAS-USDT","symbol":"GAS","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":null,"contract_code":"DOSE-USDT-240329","symbol":"DOSE","fee_asset":"USDT","funding_time":null,"next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000100000000000000","contract_code":"TRX-USDT","symbol":"TRX","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000100000000000000","contract_code":"LRC-USDT","symbol":"LRC","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000100000000000000","contract_code":"GARI-USDT","symbol":"GARI","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.005336246333546003","contract_code":"DYDX-USDT","symbol":"DYDX","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":null,"contract_code":"ETH-USDT-240126","symbol":"ETH","fee_asset":"USDT","funding_time":null,"next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000100000000000000","contract_code":"TIA-USDT","symbol":"TIA","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000100000000000000","contract_code":"SAND-USDT","symbol":"SAND","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.007500000000000000","contract_code":"ADA-USDT","symbol":"ADA","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000100000000000000","contract_code":"LADYS-USDT","symbol":"LADYS","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":null,"contract_code":"CVX-USDT-240126","symbol":"CVX","fee_asset":"USDT","funding_time":null,"next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.011869547204046520","contract_code":"SHIB-USDT","symbol":"SHIB","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000505391779173632","contract_code":"SNT-USDT","symbol":"SNT","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":null,"contract_code":"CVX-USDT-240329","symbol":"CVX","fee_asset":"USDT","funding_time":null,"next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000100000000000000","contract_code":"BAKE-USDT","symbol":"BAKE","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000100000000000000","contract_code":"CFX-USDT","symbol":"CFX","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":null,"contract_code":"DUSK-USDT-240126","symbol":"DUSK","fee_asset":"USDT","funding_time":null,"next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000100000000000000","contract_code":"SOL-USDT","symbol":"SOL","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000100000000000000","contract_code":"PYTH-USDT","symbol":"PYTH","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000470726744732626","contract_code":"YFI-USDT","symbol":"YFI","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000100000000000000","contract_code":"LDO-USDT","symbol":"LDO","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.006927922811380240","contract_code":"UNI-USDT","symbol":"UNI","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000100000000000000","contract_code":"BLZ-USDT","symbol":"BLZ","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000100000000000000","contract_code":"PEPE-USDT","symbol":"PEPE","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.011725759581780658","contract_code":"FIL-USDT","symbol":"FIL","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000100000000000000","contract_code":"CORE-USDT","symbol":"CORE","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000100000000000000","contract_code":"SDAO-USDT","symbol":"SDAO","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000100000000000000","contract_code":"AI-USDT","symbol":"AI","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000100000000000000","contract_code":"FET-USDT","symbol":"FET","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.004854785034289784","contract_code":"TON-USDT","symbol":"TON","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000100000000000000","contract_code":"JST-USDT","symbol":"JST","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000025000000000000","contract_code":"RLY-USDT","symbol":"RLY","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000100000000000000","contract_code":"AAVE-USDT","symbol":"AAVE","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":null,"contract_code":"TOMO-USDT-240126","symbol":"TOMO","fee_asset":"USDT","funding_time":null,"next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000100000000000000","contract_code":"1INCH-USDT","symbol":"1INCH","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000100000000000000","contract_code":"TRB-USDT","symbol":"TRB","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.001411119794302542","contract_code":"MATIC-USDT","symbol":"MATIC","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000100000000000000","contract_code":"OGN-USDT","symbol":"OGN","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.015000000000000000","contract_code":"DOGE-USDT","symbol":"DOGE","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.003284496984762330","contract_code":"LOOM-USDT","symbol":"LOOM","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.001893613906905501","contract_code":"THETA-USDT","symbol":"THETA","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000100000000000000","contract_code":"NEAR-USDT","symbol":"NEAR","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000100000000000000","contract_code":"TOMO-USDT","symbol":"TOMO","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000100000000000000","contract_code":"MANTA-USDT","symbol":"MANTA","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000100000000000000","contract_code":"FTT-USDT","symbol":"FTT","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":null,"contract_code":"BTC-USDT-240126","symbol":"BTC","fee_asset":"USDT","funding_time":null,"next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.002219606499366888","contract_code":"SEI-USDT","symbol":"SEI","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.007500000000000000","contract_code":"XRP-USDT","symbol":"XRP","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000561146495035123","contract_code":"CAKE-USDT","symbol":"CAKE","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000100000000000000","contract_code":"RATS-USDT","symbol":"RATS","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000100000000000000","contract_code":"ENS-USDT","symbol":"ENS","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000100000000000000","contract_code":"BTT-USDT","symbol":"BTT","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000100000000000000","contract_code":"XAI-USDT","symbol":"XAI","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000100000000000000","contract_code":"AIDOGE-USDT","symbol":"AIDOGE","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000100000000000000","contract_code":"MEME-USDT","symbol":"MEME","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000100000000000000","contract_code":"XETA-USDT","symbol":"XETA","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000100000000000000","contract_code":"LPT-USDT","symbol":"LPT","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"-0.000130543309471105","contract_code":"BNB-USDT","symbol":"BNB","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000309193146013773","contract_code":"USTC-USDT","symbol":"USTC","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000100000000000000","contract_code":"GAL-USDT","symbol":"GAL","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000100000000000000","contract_code":"ONE-USDT","symbol":"ONE","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000100000000000000","contract_code":"SUSHI-USDT","symbol":"SUSHI","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000100000000000000","contract_code":"MKR-USDT","symbol":"MKR","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.007500000000000000","contract_code":"LTC-USDT","symbol":"LTC","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000100000000000000","contract_code":"TOKEN-USDT","symbol":"TOKEN","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000100000000000000","contract_code":"FLOKI-USDT","symbol":"FLOKI","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000100000000000000","contract_code":"AGIX-USDT","symbol":"AGIX","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000100000000000000","contract_code":"GALA-USDT","symbol":"GALA","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":null,"contract_code":"DOSE-USDT-240126","symbol":"DOSE","fee_asset":"USDT","funding_time":null,"next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000100000000000000","contract_code":"CRV-USDT","symbol":"CRV","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000100000000000000","contract_code":"ARB-USDT","symbol":"ARB","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000100000000000000","contract_code":"AVAX-USDT","symbol":"AVAX","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000100000000000000","contract_code":"ARK-USDT","symbol":"ARK","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.001509345551589268","contract_code":"SNX-USDT","symbol":"SNX","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.001726872745027097","contract_code":"XLM-USDT","symbol":"XLM","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.007500000000000000","contract_code":"LINK-USDT","symbol":"LINK","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.003566896335893730","contract_code":"MASK-USDT","symbol":"MASK","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000100000000000000","contract_code":"EGLD-USDT","symbol":"EGLD","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000100000000000000","contract_code":"RNDR-USDT","symbol":"RNDR","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000100000000000000","contract_code":"YGG-USDT","symbol":"YGG","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000100000000000000","contract_code":"DOSE-USDT","symbol":"DOSE","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000100000000000000","contract_code":"INJ-USDT","symbol":"INJ","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000100000000000000","contract_code":"WIN-USDT","symbol":"WIN","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":null,"contract_code":"ETH-USDT-240202","symbol":"ETH","fee_asset":"USDT","funding_time":null,"next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000100000000000000","contract_code":"ATOM-USDT","symbol":"ATOM","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000100000000000000","contract_code":"STX-USDT","symbol":"STX","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":null,"contract_code":"CVX-USDT-240202","symbol":"CVX","fee_asset":"USDT","funding_time":null,"next_funding_time":null,"trade_partition":"USDT"},{"estimated_rate":null,"funding_rate":"0.000100000000000000","contract_code":"BNT-USDT","symbol":"BNT","fee_asset":"USDT","funding_time":"1705737600000","next_funding_time":null,"trade_partition":"USDT"}],"ts":1705736077715} +2024-01-20 15:34:44.882 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.getSwapBatchFundingRate:200] - 27、批量获取合约资金费率:{"data":[{"contractCode":"MANA-USDT","feeAsset":"USDT","fundingRate":"0.000343936259189787","fundingTime":"1705737600000","symbol":"MANA","tradePartition":"USDT"},{"contractCode":"SATS-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705737600000","symbol":"SATS","tradePartition":"USDT"},{"contractCode":"CHZ-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705737600000","symbol":"CHZ","tradePartition":"USDT"},{"contractCode":"DOT-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705737600000","symbol":"DOT","tradePartition":"USDT"},{"contractCode":"DUSK-USDT-240202","feeAsset":"USDT","symbol":"DUSK","tradePartition":"USDT"},{"contractCode":"DUSK-USDT-240329","feeAsset":"USDT","symbol":"DUSK","tradePartition":"USDT"},{"contractCode":"POLYX-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705737600000","symbol":"POLYX","tradePartition":"USDT"},{"contractCode":"QRDO-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705737600000","symbol":"QRDO","tradePartition":"USDT"},{"contractCode":"MINA-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705737600000","symbol":"MINA","tradePartition":"USDT"},{"contractCode":"EOS-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705737600000","symbol":"EOS","tradePartition":"USDT"},{"contractCode":"ACE-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705737600000","symbol":"ACE","tradePartition":"USDT"},{"contractCode":"LUNA-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705737600000","symbol":"LUNA","tradePartition":"USDT"},{"contractCode":"GRT-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705737600000","symbol":"GRT","tradePartition":"USDT"},{"contractCode":"UNB-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705737600000","symbol":"UNB","tradePartition":"USDT"},{"contractCode":"CVX-USDT","feeAsset":"USDT","fundingRate":"-0.015000000000000000","fundingTime":"1705737600000","symbol":"CVX","tradePartition":"USDT"},{"contractCode":"STEEM-USDT","feeAsset":"USDT","fundingRate":"0.009574147834715933","fundingTime":"1705737600000","symbol":"STEEM","tradePartition":"USDT"},{"contractCode":"TOMO-USDT-240329","feeAsset":"USDT","symbol":"TOMO","tradePartition":"USDT"},{"contractCode":"JTO-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705737600000","symbol":"JTO","tradePartition":"USDT"},{"contractCode":"WLD-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705737600000","symbol":"WLD","tradePartition":"USDT"},{"contractCode":"OP-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705737600000","symbol":"OP","tradePartition":"USDT"},{"contractCode":"ORDI-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705737600000","symbol":"ORDI","tradePartition":"USDT"},{"contractCode":"FSN-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705737600000","symbol":"FSN","tradePartition":"USDT"},{"contractCode":"BLUR-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705737600000","symbol":"BLUR","tradePartition":"USDT"},{"contractCode":"TOMO-USDT-240202","feeAsset":"USDT","symbol":"TOMO","tradePartition":"USDT"},{"contractCode":"LUNC-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705737600000","symbol":"LUNC","tradePartition":"USDT"},{"contractCode":"SSV-USDT","feeAsset":"USDT","fundingRate":"0.000472629275502289","fundingTime":"1705737600000","symbol":"SSV","tradePartition":"USDT"},{"contractCode":"IOTA-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705737600000","symbol":"IOTA","tradePartition":"USDT"},{"contractCode":"KSM-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705737600000","symbol":"KSM","tradePartition":"USDT"},{"contractCode":"SUI-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705737600000","symbol":"SUI","tradePartition":"USDT"},{"contractCode":"BONK-USDT","feeAsset":"USDT","fundingRate":"0.000548404092008185","fundingTime":"1705737600000","symbol":"BONK","tradePartition":"USDT"},{"contractCode":"ICP-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705737600000","symbol":"ICP","tradePartition":"USDT"},{"contractCode":"ETH-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705737600000","symbol":"ETH","tradePartition":"USDT"},{"contractCode":"RDNT-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705737600000","symbol":"RDNT","tradePartition":"USDT"},{"contractCode":"STORJ-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705737600000","symbol":"STORJ","tradePartition":"USDT"},{"contractCode":"BTC-USDT-240202","feeAsset":"USDT","symbol":"BTC","tradePartition":"USDT"},{"contractCode":"GMT-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705737600000","symbol":"GMT","tradePartition":"USDT"},{"contractCode":"STG-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705737600000","symbol":"STG","tradePartition":"USDT"},{"contractCode":"TENET-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705737600000","symbol":"TENET","tradePartition":"USDT"},{"contractCode":"BSV-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705737600000","symbol":"BSV","tradePartition":"USDT"},{"contractCode":"BTC-USDT","feeAsset":"USDT","fundingRate":"0.000686685049081143","fundingTime":"1705737600000","symbol":"BTC","tradePartition":"USDT"},{"contractCode":"WOO-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705737600000","symbol":"WOO","tradePartition":"USDT"},{"contractCode":"XMR-USDT","feeAsset":"USDT","fundingRate":"0.002104603965845251","fundingTime":"1705737600000","symbol":"XMR","tradePartition":"USDT"},{"contractCode":"AXS-USDT","feeAsset":"USDT","fundingRate":"-0.000154551994452808","fundingTime":"1705737600000","symbol":"AXS","tradePartition":"USDT"},{"contractCode":"LINA-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705737600000","symbol":"LINA","tradePartition":"USDT"},{"contractCode":"ETC-USDT","feeAsset":"USDT","fundingRate":"0.007500000000000000","fundingTime":"1705737600000","symbol":"ETC","tradePartition":"USDT"},{"contractCode":"MPLX-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705737600000","symbol":"MPLX","tradePartition":"USDT"},{"contractCode":"PEOPLE-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705737600000","symbol":"PEOPLE","tradePartition":"USDT"},{"contractCode":"FTM-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705737600000","symbol":"FTM","tradePartition":"USDT"},{"contractCode":"ACH-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705737600000","symbol":"ACH","tradePartition":"USDT"},{"contractCode":"APE-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705737600000","symbol":"APE","tradePartition":"USDT"},{"contractCode":"BCH-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705737600000","symbol":"BCH","tradePartition":"USDT"},{"contractCode":"DOSE-USDT-240202","feeAsset":"USDT","symbol":"DOSE","tradePartition":"USDT"},{"contractCode":"BIGTIME-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705737600000","symbol":"BIGTIME","tradePartition":"USDT"},{"contractCode":"OPUL-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705737600000","symbol":"OPUL","tradePartition":"USDT"},{"contractCode":"METIS-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705737600000","symbol":"METIS","tradePartition":"USDT"},{"contractCode":"IMX-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705737600000","symbol":"IMX","tradePartition":"USDT"},{"contractCode":"DUSK-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705737600000","symbol":"DUSK","tradePartition":"USDT"},{"contractCode":"KAVA-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705737600000","symbol":"KAVA","tradePartition":"USDT"},{"contractCode":"COMP-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705737600000","symbol":"COMP","tradePartition":"USDT"},{"contractCode":"ALGO-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705737600000","symbol":"ALGO","tradePartition":"USDT"},{"contractCode":"CYBER-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705737600000","symbol":"CYBER","tradePartition":"USDT"},{"contractCode":"WAVES-USDT","feeAsset":"USDT","fundingRate":"0.011797582284447009","fundingTime":"1705737600000","symbol":"WAVES","tradePartition":"USDT"},{"contractCode":"APT-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705737600000","symbol":"APT","tradePartition":"USDT"},{"contractCode":"MTL-USDT","feeAsset":"USDT","fundingRate":"0.002383376228861718","fundingTime":"1705737600000","symbol":"MTL","tradePartition":"USDT"},{"contractCode":"FRONT-USDT","feeAsset":"USDT","fundingRate":"0.000303875781801413","fundingTime":"1705737600000","symbol":"FRONT","tradePartition":"USDT"},{"contractCode":"GAS-USDT","feeAsset":"USDT","fundingRate":"0.002625299488655486","fundingTime":"1705737600000","symbol":"GAS","tradePartition":"USDT"},{"contractCode":"DOSE-USDT-240329","feeAsset":"USDT","symbol":"DOSE","tradePartition":"USDT"},{"contractCode":"TRX-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705737600000","symbol":"TRX","tradePartition":"USDT"},{"contractCode":"LRC-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705737600000","symbol":"LRC","tradePartition":"USDT"},{"contractCode":"GARI-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705737600000","symbol":"GARI","tradePartition":"USDT"},{"contractCode":"DYDX-USDT","feeAsset":"USDT","fundingRate":"0.005336246333546003","fundingTime":"1705737600000","symbol":"DYDX","tradePartition":"USDT"},{"contractCode":"ETH-USDT-240126","feeAsset":"USDT","symbol":"ETH","tradePartition":"USDT"},{"contractCode":"TIA-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705737600000","symbol":"TIA","tradePartition":"USDT"},{"contractCode":"SAND-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705737600000","symbol":"SAND","tradePartition":"USDT"},{"contractCode":"ADA-USDT","feeAsset":"USDT","fundingRate":"0.007500000000000000","fundingTime":"1705737600000","symbol":"ADA","tradePartition":"USDT"},{"contractCode":"LADYS-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705737600000","symbol":"LADYS","tradePartition":"USDT"},{"contractCode":"CVX-USDT-240126","feeAsset":"USDT","symbol":"CVX","tradePartition":"USDT"},{"contractCode":"SHIB-USDT","feeAsset":"USDT","fundingRate":"0.011869547204046520","fundingTime":"1705737600000","symbol":"SHIB","tradePartition":"USDT"},{"contractCode":"SNT-USDT","feeAsset":"USDT","fundingRate":"0.000505391779173632","fundingTime":"1705737600000","symbol":"SNT","tradePartition":"USDT"},{"contractCode":"CVX-USDT-240329","feeAsset":"USDT","symbol":"CVX","tradePartition":"USDT"},{"contractCode":"BAKE-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705737600000","symbol":"BAKE","tradePartition":"USDT"},{"contractCode":"CFX-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705737600000","symbol":"CFX","tradePartition":"USDT"},{"contractCode":"DUSK-USDT-240126","feeAsset":"USDT","symbol":"DUSK","tradePartition":"USDT"},{"contractCode":"SOL-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705737600000","symbol":"SOL","tradePartition":"USDT"},{"contractCode":"PYTH-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705737600000","symbol":"PYTH","tradePartition":"USDT"},{"contractCode":"YFI-USDT","feeAsset":"USDT","fundingRate":"0.000470726744732626","fundingTime":"1705737600000","symbol":"YFI","tradePartition":"USDT"},{"contractCode":"LDO-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705737600000","symbol":"LDO","tradePartition":"USDT"},{"contractCode":"UNI-USDT","feeAsset":"USDT","fundingRate":"0.006927922811380240","fundingTime":"1705737600000","symbol":"UNI","tradePartition":"USDT"},{"contractCode":"BLZ-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705737600000","symbol":"BLZ","tradePartition":"USDT"},{"contractCode":"PEPE-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705737600000","symbol":"PEPE","tradePartition":"USDT"},{"contractCode":"FIL-USDT","feeAsset":"USDT","fundingRate":"0.011725759581780658","fundingTime":"1705737600000","symbol":"FIL","tradePartition":"USDT"},{"contractCode":"CORE-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705737600000","symbol":"CORE","tradePartition":"USDT"},{"contractCode":"SDAO-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705737600000","symbol":"SDAO","tradePartition":"USDT"},{"contractCode":"AI-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705737600000","symbol":"AI","tradePartition":"USDT"},{"contractCode":"FET-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705737600000","symbol":"FET","tradePartition":"USDT"},{"contractCode":"TON-USDT","feeAsset":"USDT","fundingRate":"0.004854785034289784","fundingTime":"1705737600000","symbol":"TON","tradePartition":"USDT"},{"contractCode":"JST-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705737600000","symbol":"JST","tradePartition":"USDT"},{"contractCode":"RLY-USDT","feeAsset":"USDT","fundingRate":"0.000025000000000000","fundingTime":"1705737600000","symbol":"RLY","tradePartition":"USDT"},{"contractCode":"AAVE-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705737600000","symbol":"AAVE","tradePartition":"USDT"},{"contractCode":"TOMO-USDT-240126","feeAsset":"USDT","symbol":"TOMO","tradePartition":"USDT"},{"contractCode":"1INCH-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705737600000","symbol":"1INCH","tradePartition":"USDT"},{"contractCode":"TRB-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705737600000","symbol":"TRB","tradePartition":"USDT"},{"contractCode":"MATIC-USDT","feeAsset":"USDT","fundingRate":"0.001411119794302542","fundingTime":"1705737600000","symbol":"MATIC","tradePartition":"USDT"},{"contractCode":"OGN-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705737600000","symbol":"OGN","tradePartition":"USDT"},{"contractCode":"DOGE-USDT","feeAsset":"USDT","fundingRate":"0.015000000000000000","fundingTime":"1705737600000","symbol":"DOGE","tradePartition":"USDT"},{"contractCode":"LOOM-USDT","feeAsset":"USDT","fundingRate":"0.003284496984762330","fundingTime":"1705737600000","symbol":"LOOM","tradePartition":"USDT"},{"contractCode":"THETA-USDT","feeAsset":"USDT","fundingRate":"0.001893613906905501","fundingTime":"1705737600000","symbol":"THETA","tradePartition":"USDT"},{"contractCode":"NEAR-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705737600000","symbol":"NEAR","tradePartition":"USDT"},{"contractCode":"TOMO-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705737600000","symbol":"TOMO","tradePartition":"USDT"},{"contractCode":"MANTA-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705737600000","symbol":"MANTA","tradePartition":"USDT"},{"contractCode":"FTT-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705737600000","symbol":"FTT","tradePartition":"USDT"},{"contractCode":"BTC-USDT-240126","feeAsset":"USDT","symbol":"BTC","tradePartition":"USDT"},{"contractCode":"SEI-USDT","feeAsset":"USDT","fundingRate":"0.002219606499366888","fundingTime":"1705737600000","symbol":"SEI","tradePartition":"USDT"},{"contractCode":"XRP-USDT","feeAsset":"USDT","fundingRate":"0.007500000000000000","fundingTime":"1705737600000","symbol":"XRP","tradePartition":"USDT"},{"contractCode":"CAKE-USDT","feeAsset":"USDT","fundingRate":"0.000561146495035123","fundingTime":"1705737600000","symbol":"CAKE","tradePartition":"USDT"},{"contractCode":"RATS-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705737600000","symbol":"RATS","tradePartition":"USDT"},{"contractCode":"ENS-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705737600000","symbol":"ENS","tradePartition":"USDT"},{"contractCode":"BTT-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705737600000","symbol":"BTT","tradePartition":"USDT"},{"contractCode":"XAI-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705737600000","symbol":"XAI","tradePartition":"USDT"},{"contractCode":"AIDOGE-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705737600000","symbol":"AIDOGE","tradePartition":"USDT"},{"contractCode":"MEME-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705737600000","symbol":"MEME","tradePartition":"USDT"},{"contractCode":"XETA-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705737600000","symbol":"XETA","tradePartition":"USDT"},{"contractCode":"LPT-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705737600000","symbol":"LPT","tradePartition":"USDT"},{"contractCode":"BNB-USDT","feeAsset":"USDT","fundingRate":"-0.000130543309471105","fundingTime":"1705737600000","symbol":"BNB","tradePartition":"USDT"},{"contractCode":"USTC-USDT","feeAsset":"USDT","fundingRate":"0.000309193146013773","fundingTime":"1705737600000","symbol":"USTC","tradePartition":"USDT"},{"contractCode":"GAL-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705737600000","symbol":"GAL","tradePartition":"USDT"},{"contractCode":"ONE-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705737600000","symbol":"ONE","tradePartition":"USDT"},{"contractCode":"SUSHI-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705737600000","symbol":"SUSHI","tradePartition":"USDT"},{"contractCode":"MKR-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705737600000","symbol":"MKR","tradePartition":"USDT"},{"contractCode":"LTC-USDT","feeAsset":"USDT","fundingRate":"0.007500000000000000","fundingTime":"1705737600000","symbol":"LTC","tradePartition":"USDT"},{"contractCode":"TOKEN-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705737600000","symbol":"TOKEN","tradePartition":"USDT"},{"contractCode":"FLOKI-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705737600000","symbol":"FLOKI","tradePartition":"USDT"},{"contractCode":"AGIX-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705737600000","symbol":"AGIX","tradePartition":"USDT"},{"contractCode":"GALA-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705737600000","symbol":"GALA","tradePartition":"USDT"},{"contractCode":"DOSE-USDT-240126","feeAsset":"USDT","symbol":"DOSE","tradePartition":"USDT"},{"contractCode":"CRV-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705737600000","symbol":"CRV","tradePartition":"USDT"},{"contractCode":"ARB-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705737600000","symbol":"ARB","tradePartition":"USDT"},{"contractCode":"AVAX-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705737600000","symbol":"AVAX","tradePartition":"USDT"},{"contractCode":"ARK-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705737600000","symbol":"ARK","tradePartition":"USDT"},{"contractCode":"SNX-USDT","feeAsset":"USDT","fundingRate":"0.001509345551589268","fundingTime":"1705737600000","symbol":"SNX","tradePartition":"USDT"},{"contractCode":"XLM-USDT","feeAsset":"USDT","fundingRate":"0.001726872745027097","fundingTime":"1705737600000","symbol":"XLM","tradePartition":"USDT"},{"contractCode":"LINK-USDT","feeAsset":"USDT","fundingRate":"0.007500000000000000","fundingTime":"1705737600000","symbol":"LINK","tradePartition":"USDT"},{"contractCode":"MASK-USDT","feeAsset":"USDT","fundingRate":"0.003566896335893730","fundingTime":"1705737600000","symbol":"MASK","tradePartition":"USDT"},{"contractCode":"EGLD-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705737600000","symbol":"EGLD","tradePartition":"USDT"},{"contractCode":"RNDR-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705737600000","symbol":"RNDR","tradePartition":"USDT"},{"contractCode":"YGG-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705737600000","symbol":"YGG","tradePartition":"USDT"},{"contractCode":"DOSE-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705737600000","symbol":"DOSE","tradePartition":"USDT"},{"contractCode":"INJ-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705737600000","symbol":"INJ","tradePartition":"USDT"},{"contractCode":"WIN-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705737600000","symbol":"WIN","tradePartition":"USDT"},{"contractCode":"ETH-USDT-240202","feeAsset":"USDT","symbol":"ETH","tradePartition":"USDT"},{"contractCode":"ATOM-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705737600000","symbol":"ATOM","tradePartition":"USDT"},{"contractCode":"STX-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705737600000","symbol":"STX","tradePartition":"USDT"},{"contractCode":"CVX-USDT-240202","feeAsset":"USDT","symbol":"CVX","tradePartition":"USDT"},{"contractCode":"BNT-USDT","feeAsset":"USDT","fundingRate":"0.000100000000000000","fundingTime":"1705737600000","symbol":"BNT","tradePartition":"USDT"}],"status":"ok","ts":1705736077715} +2024-01-20 15:35:07.258 [DEBUG] [main] [com.huobi.api.service.usdt.market.MarketAPIServiceImpl.getMarketBbo:673] - body:{"status":"ok","ticks":[{"trade_partition":"USDT","business_type":"swap","contract_code":"MANA-USDT","ask":[0.4684,2],"bid":[0.468,856],"mrid":100000381736653,"ts":1705736097569},{"trade_partition":"USDT","business_type":"swap","contract_code":"SATS-USDT","ask":[5.263E-7,915],"bid":[5.257E-7,3250],"mrid":100000260573819,"ts":1705736094031},{"trade_partition":"USDT","business_type":"swap","contract_code":"CHZ-USDT","ask":[0.09135,144],"bid":[0.09121,4023],"mrid":100000446791977,"ts":1705736098362},{"trade_partition":"USDT","business_type":"swap","contract_code":"DOT-USDT","ask":[6.9335,325],"bid":[6.9317,29],"mrid":100001184381035,"ts":1705736099219},{"trade_partition":"USDT","business_type":"swap","contract_code":"POLYX-USDT","ask":[0.1654,1043],"bid":[0.1652,5791],"mrid":100000269930303,"ts":1705736090829},{"trade_partition":"USDT","business_type":"swap","contract_code":"MINA-USDT","ask":[1.1407,285],"bid":[1.1391,285],"mrid":100000229664519,"ts":1705736094577},{"trade_partition":"USDT","business_type":"swap","contract_code":"EOS-USDT","ask":[0.7214,1923],"bid":[0.7203,657],"mrid":100000462460481,"ts":1705736098847},{"trade_partition":"USDT","business_type":"swap","contract_code":"ACE-USDT","ask":[8.113,320],"bid":[8.102,121],"mrid":100000185666763,"ts":1705736098909},{"trade_partition":"USDT","business_type":"swap","contract_code":"LUNA-USDT","ask":[0.668,81],"bid":[0.6671,1194],"mrid":100000422817400,"ts":1705736098340},{"trade_partition":"USDT","business_type":"swap","contract_code":"GRT-USDT","ask":[0.1582,3],"bid":[0.1579,3113],"mrid":100000765736138,"ts":1705736096164},{"trade_partition":"USDT","business_type":"swap","contract_code":"CVX-USDT","ask":null,"bid":null,"mrid":100000000695730,"ts":1704795135385},{"trade_partition":"USDT","business_type":"swap","contract_code":"STEEM-USDT","ask":[0.2357,4],"bid":[0.235,267],"mrid":100000220499105,"ts":1705736092021},{"trade_partition":"USDT","business_type":"swap","contract_code":"JTO-USDT","ask":[2.1951,1844],"bid":[2.1933,2257],"mrid":100000161119273,"ts":1705736099739},{"trade_partition":"USDT","business_type":"swap","contract_code":"WLD-USDT","ask":[2.5325,85],"bid":[2.5317,752],"mrid":100001767743581,"ts":1705736098490},{"trade_partition":"USDT","business_type":"swap","contract_code":"OP-USDT","ask":[3.1873,406],"bid":[3.1845,13695],"mrid":100001733365967,"ts":1705736099481},{"trade_partition":"USDT","business_type":"swap","contract_code":"FSN-USDT","ask":[0.205,43],"bid":[0.0001,42],"mrid":100000026227227,"ts":1704879999991},{"trade_partition":"USDT","business_type":"swap","contract_code":"ORDI-USDT","ask":[68.472,4],"bid":[68.384,5],"mrid":100002587151157,"ts":1705736098219},{"trade_partition":"USDT","business_type":"swap","contract_code":"BLUR-USDT","ask":[0.6554,4679],"bid":[0.6544,335],"mrid":100001493170987,"ts":1705736098081},{"trade_partition":"USDT","business_type":"swap","contract_code":"LUNC-USDT","ask":[0.00011126,930],"bid":[0.00011111,248],"mrid":100000911734903,"ts":1705736094342},{"trade_partition":"USDT","business_type":"swap","contract_code":"SSV-USDT","ask":[30.937,12689],"bid":[30.89,2024],"mrid":100000565389475,"ts":1705736095290},{"trade_partition":"USDT","business_type":"swap","contract_code":"IOTA-USDT","ask":[0.228,6837],"bid":[0.2276,1462],"mrid":100000134564165,"ts":1705736087393},{"trade_partition":"USDT","business_type":"swap","contract_code":"KSM-USDT","ask":[39.076,4],"bid":[39.02,124],"mrid":100000330735817,"ts":1705736088588},{"trade_partition":"USDT","business_type":"swap","contract_code":"SUI-USDT","ask":[1.1294,5232],"bid":[1.1288,106],"mrid":100001115271312,"ts":1705736097344},{"trade_partition":"USDT","business_type":"swap","contract_code":"BONK-USDT","ask":[0.000011632,11],"bid":[0.000011621,1058],"mrid":100001026420799,"ts":1705736099543},{"trade_partition":"USDT","business_type":"swap","contract_code":"ICP-USDT","ask":[11.218,89],"bid":[11.209,128],"mrid":100000168156810,"ts":1705736095964},{"trade_partition":"USDT","business_type":"swap","contract_code":"ETH-USDT","ask":[2485.71,9210],"bid":[2485.7,899],"mrid":100010879109495,"ts":1705736099566},{"trade_partition":"USDT","business_type":"swap","contract_code":"RDNT-USDT","ask":[0.328,4825],"bid":[0.3277,958],"mrid":100000764314651,"ts":1705736092031},{"trade_partition":"USDT","business_type":"swap","contract_code":"STORJ-USDT","ask":[0.5653,5763],"bid":[0.5646,645],"mrid":100000362531008,"ts":1705736099692},{"trade_partition":"USDT","business_type":"swap","contract_code":"GMT-USDT","ask":[0.29551,18994],"bid":[0.29495,17072],"mrid":100000603132617,"ts":1705736091821},{"trade_partition":"USDT","business_type":"swap","contract_code":"STG-USDT","ask":[0.5466,112],"bid":[0.5446,1702],"mrid":100000912407215,"ts":1705736099709},{"trade_partition":"USDT","business_type":"swap","contract_code":"BSV-USDT","ask":[72.25,216],"bid":[72.21,301],"mrid":100001008660082,"ts":1705736098485},{"trade_partition":"USDT","business_type":"swap","contract_code":"BTC-USDT","ask":[41769.7,6019],"bid":[41769.6,721],"mrid":100021960484165,"ts":1705736098939},{"trade_partition":"USDT","business_type":"swap","contract_code":"WOO-USDT","ask":[0.41483,558],"bid":[0.41409,16],"mrid":100000987316402,"ts":1705736093026},{"trade_partition":"USDT","business_type":"swap","contract_code":"XMR-USDT","ask":[158.97,62],"bid":[158.84,19],"mrid":100000537122514,"ts":1705736093028},{"trade_partition":"USDT","business_type":"swap","contract_code":"AXS-USDT","ask":[7.6703,6216],"bid":[7.6635,50],"mrid":100000644213264,"ts":1705736099372},{"trade_partition":"USDT","business_type":"swap","contract_code":"LINA-USDT","ask":[0.00832,5007],"bid":[0.00829,2413],"mrid":100000441807955,"ts":1705736098380},{"trade_partition":"USDT","business_type":"swap","contract_code":"ETC-USDT","ask":[25.1056,12],"bid":[25.0904,37],"mrid":100001247649294,"ts":1705736099737},{"trade_partition":"USDT","business_type":"swap","contract_code":"PEOPLE-USDT","ask":[0.03205,5143],"bid":[0.032,6030],"mrid":100000207184826,"ts":1705736099242},{"trade_partition":"USDT","business_type":"swap","contract_code":"FTM-USDT","ask":[0.3672,515],"bid":[0.3669,9391],"mrid":100000406262415,"ts":1705736099032},{"trade_partition":"USDT","business_type":"swap","contract_code":"ACH-USDT","ask":[0.01869,4049],"bid":[0.01866,4049],"mrid":100000558653719,"ts":1705736093032},{"trade_partition":"USDT","business_type":"swap","contract_code":"BCH-USDT","ask":[236.99,4454],"bid":[236.98,153],"mrid":100002449152693,"ts":1705736097245},{"trade_partition":"USDT","business_type":"swap","contract_code":"APE-USDT","ask":[1.4056,994],"bid":[1.4051,71],"mrid":100000656578781,"ts":1705736087031},{"trade_partition":"USDT","business_type":"swap","contract_code":"BIGTIME-USDT","ask":[0.374,5391],"bid":[0.3735,1202],"mrid":100000525356535,"ts":1705736093443},{"trade_partition":"USDT","business_type":"swap","contract_code":"METIS-USDT","ask":[95.62,549],"bid":[94.73,549],"mrid":100000021627081,"ts":1705736098707},{"trade_partition":"USDT","business_type":"swap","contract_code":"IMX-USDT","ask":[1.9093,2],"bid":[1.9083,23],"mrid":100000597889281,"ts":1705736096222},{"trade_partition":"USDT","business_type":"swap","contract_code":"COMP-USDT","ask":[59.7,512],"bid":[59.63,2236],"mrid":100000519635438,"ts":1705736098353},{"trade_partition":"USDT","business_type":"swap","contract_code":"KAVA-USDT","ask":[0.7151,4345],"bid":[0.714,381],"mrid":100000281256718,"ts":1705736090036},{"trade_partition":"USDT","business_type":"swap","contract_code":"ALGO-USDT","ask":[0.17394,1747],"bid":[0.17358,29],"mrid":100000306063219,"ts":1705736088285},{"trade_partition":"USDT","business_type":"swap","contract_code":"CYBER-USDT","ask":[7.777,4],"bid":[7.77,1000],"mrid":100001220317002,"ts":1705736099224},{"trade_partition":"USDT","business_type":"swap","contract_code":"WAVES-USDT","ask":[2.3835,56],"bid":[2.3801,29],"mrid":100000894059885,"ts":1705736086596},{"trade_partition":"USDT","business_type":"swap","contract_code":"FRONT-USDT","ask":[0.481,2038],"bid":[0.4801,11233],"mrid":100000298179575,"ts":1705736099140},{"trade_partition":"USDT","business_type":"swap","contract_code":"GAS-USDT","ask":[6.804,2155],"bid":[6.795,4573],"mrid":100000513809449,"ts":1705736099163},{"trade_partition":"USDT","business_type":"swap","contract_code":"APT-USDT","ask":[8.555,1],"bid":[8.547,3662],"mrid":100001118509351,"ts":1705736099212},{"trade_partition":"USDT","business_type":"swap","contract_code":"MTL-USDT","ask":[1.4997,113],"bid":[1.4934,173],"mrid":100000522990053,"ts":1705736099292},{"trade_partition":"USDT","business_type":"swap","contract_code":"TRX-USDT","ask":[0.110302,300],"bid":[0.110267,314],"mrid":100001244373869,"ts":1705736098340},{"trade_partition":"USDT","business_type":"swap","contract_code":"LRC-USDT","ask":[0.23936,895],"bid":[0.239,1],"mrid":100000346128118,"ts":1705736096566},{"trade_partition":"USDT","business_type":"swap","contract_code":"GARI-USDT","ask":null,"bid":null,"mrid":100000000433154,"ts":1705317351071},{"trade_partition":"USDT","business_type":"swap","contract_code":"DYDX-USDT","ask":[2.906,578],"bid":[2.901,10173],"mrid":100000835549909,"ts":1705736098699},{"trade_partition":"USDT","business_type":"swap","contract_code":"TIA-USDT","ask":[17.435,173],"bid":[17.423,1302],"mrid":100000534578823,"ts":1705736099638},{"trade_partition":"USDT","business_type":"swap","contract_code":"SAND-USDT","ask":[0.488818,24],"bid":[0.488226,38],"mrid":100000978352390,"ts":1705736099627},{"trade_partition":"USDT","business_type":"swap","contract_code":"ADA-USDT","ask":[0.518121,1],"bid":[0.517598,604],"mrid":100001454348148,"ts":1705736098661},{"trade_partition":"USDT","business_type":"swap","contract_code":"LADYS-USDT","ask":[5.73E-8,523],"bid":[5.711E-8,8],"mrid":100000923814838,"ts":1705736099733},{"trade_partition":"USDT","business_type":"swap","contract_code":"SHIB-USDT","ask":[0.000009451,10884],"bid":[0.000009446,201],"mrid":100001413214169,"ts":1705736099549},{"trade_partition":"USDT","business_type":"swap","contract_code":"SNT-USDT","ask":[0.0415,1590],"bid":[0.04118,1210],"mrid":100000109671453,"ts":1705736085030},{"trade_partition":"USDT","business_type":"swap","contract_code":"BAKE-USDT","ask":[0.3163,2454],"bid":[0.3151,2454],"mrid":100000092409973,"ts":1705736098495},{"trade_partition":"USDT","business_type":"swap","contract_code":"CFX-USDT","ask":[0.1895,2517],"bid":[0.1892,21302],"mrid":100001007453735,"ts":1705736099439},{"trade_partition":"USDT","business_type":"swap","contract_code":"SOL-USDT","ask":[92.4061,4],"bid":[92.3878,32],"mrid":100005303389365,"ts":1705736098784},{"trade_partition":"USDT","business_type":"swap","contract_code":"PYTH-USDT","ask":[0.3714,3347],"bid":[0.3705,3347],"mrid":100000119128532,"ts":1705736090037},{"trade_partition":"USDT","business_type":"swap","contract_code":"YFI-USDT","ask":[7486.7,1000],"bid":[7482.8,794],"mrid":100000733192969,"ts":1705736099704},{"trade_partition":"USDT","business_type":"swap","contract_code":"LDO-USDT","ask":[2.9222,333],"bid":[2.9169,598],"mrid":100001322482193,"ts":1705736099706},{"trade_partition":"USDT","business_type":"swap","contract_code":"UNI-USDT","ask":[6.5846,353],"bid":[6.5809,217],"mrid":100000556194137,"ts":1705736091303},{"trade_partition":"USDT","business_type":"swap","contract_code":"BLZ-USDT","ask":[0.33442,5],"bid":[0.3342,200],"mrid":100001229639059,"ts":1705736087254},{"trade_partition":"USDT","business_type":"swap","contract_code":"PEPE-USDT","ask":[0.0000011347,170],"bid":[0.0000011332,417],"mrid":100003984449880,"ts":1705736098666},{"trade_partition":"USDT","business_type":"swap","contract_code":"FIL-USDT","ask":[5.457,7554],"bid":[5.456,329],"mrid":100001702077140,"ts":1705736097537},{"trade_partition":"USDT","business_type":"swap","contract_code":"CORE-USDT","ask":[0.5155,4925],"bid":[0.5146,3495],"mrid":100000913784383,"ts":1705736093712},{"trade_partition":"USDT","business_type":"swap","contract_code":"AI-USDT","ask":[1.1193,995],"bid":[1.1178,36],"mrid":100000013382199,"ts":1705736098977},{"trade_partition":"USDT","business_type":"swap","contract_code":"FET-USDT","ask":[0.6128,10577],"bid":[0.6118,11667],"mrid":100000622824881,"ts":1705736097952},{"trade_partition":"USDT","business_type":"swap","contract_code":"TON-USDT","ask":[2.2193,62],"bid":[2.2127,5550],"mrid":100000847246823,"ts":1705736092277},{"trade_partition":"USDT","business_type":"swap","contract_code":"JST-USDT","ask":[0.029246,686],"bid":[0.029131,455],"mrid":100001335048313,"ts":1705736099450},{"trade_partition":"USDT","business_type":"swap","contract_code":"RLY-USDT","ask":null,"bid":null,"mrid":100000000431740,"ts":1705299535782},{"trade_partition":"USDT","business_type":"swap","contract_code":"AAVE-USDT","ask":[98.304,141],"bid":[98.155,406],"mrid":100000838871117,"ts":1705736092805},{"trade_partition":"USDT","business_type":"swap","contract_code":"1INCH-USDT","ask":[0.4178,500],"bid":[0.4171,500],"mrid":100000517915628,"ts":1705736098685},{"trade_partition":"USDT","business_type":"swap","contract_code":"TRB-USDT","ask":[125.374,200],"bid":[125.286,2],"mrid":100002685932337,"ts":1705736099701},{"trade_partition":"USDT","business_type":"swap","contract_code":"MATIC-USDT","ask":[0.78053,10],"bid":[0.78015,338],"mrid":100001993087817,"ts":1705736098395},{"trade_partition":"USDT","business_type":"swap","contract_code":"OGN-USDT","ask":[0.1568,26562],"bid":[0.1565,23762],"mrid":100000481182782,"ts":1705736094487},{"trade_partition":"USDT","business_type":"swap","contract_code":"DOGE-USDT","ask":[0.078603,1],"bid":[0.0786,351],"mrid":100002166778474,"ts":1705736099361},{"trade_partition":"USDT","business_type":"swap","contract_code":"LOOM-USDT","ask":[0.0987,1967],"bid":[0.0985,3086],"mrid":100000265591056,"ts":1705736099313},{"trade_partition":"USDT","business_type":"swap","contract_code":"THETA-USDT","ask":[1.0275,16],"bid":[1.02441,163],"mrid":100000653255113,"ts":1705736095081},{"trade_partition":"USDT","business_type":"swap","contract_code":"NEAR-USDT","ask":[2.971,2377],"bid":[2.966,2589],"mrid":100000340824697,"ts":1705736099658},{"trade_partition":"USDT","business_type":"swap","contract_code":"TOMO-USDT","ask":null,"bid":null,"mrid":100000000695020,"ts":1704701945688},{"trade_partition":"USDT","business_type":"swap","contract_code":"MANTA-USDT","ask":[2.332,14249],"bid":[2.328,62739],"mrid":100000007694133,"ts":1705736099283},{"trade_partition":"USDT","business_type":"swap","contract_code":"FTT-USDT","ask":[2.652,2983],"bid":[2.643,34],"mrid":100000643776423,"ts":1705736089036},{"trade_partition":"USDT","business_type":"swap","contract_code":"SEI-USDT","ask":[0.6839,1250],"bid":[0.6835,2771],"mrid":100000787976499,"ts":1705736099388},{"trade_partition":"USDT","business_type":"swap","contract_code":"XRP-USDT","ask":[0.54948,2774],"bid":[0.54926,534],"mrid":100002401037484,"ts":1705736097812},{"trade_partition":"USDT","business_type":"swap","contract_code":"ENS-USDT","ask":[19.199,2110],"bid":[19.141,4],"mrid":100000080488780,"ts":1705736096201},{"trade_partition":"USDT","business_type":"swap","contract_code":"RATS-USDT","ask":[0.0002618,29619],"bid":[0.0002616,19687],"mrid":100000312767390,"ts":1705736099280},{"trade_partition":"USDT","business_type":"swap","contract_code":"CAKE-USDT","ask":[2.7283,8080],"bid":[2.7237,8080],"mrid":100000218524589,"ts":1705736099277},{"trade_partition":"USDT","business_type":"swap","contract_code":"BTT-USDT","ask":[9.85E-7,121],"bid":[9.81E-7,122],"mrid":100000095779244,"ts":1705736098948},{"trade_partition":"USDT","business_type":"swap","contract_code":"XAI-USDT","ask":[0.8495,170],"bid":[0.8482,1428],"mrid":100000103629275,"ts":1705736099531},{"trade_partition":"USDT","business_type":"swap","contract_code":"MEME-USDT","ask":[0.024028,1289],"bid":[0.024,385],"mrid":100000578090350,"ts":1705736099745},{"trade_partition":"USDT","business_type":"swap","contract_code":"AIDOGE-USDT","ask":[1.53E-10,188],"bid":[1.529E-10,7839],"mrid":100000607658332,"ts":1705736091165},{"trade_partition":"USDT","business_type":"swap","contract_code":"LPT-USDT","ask":[7.348,174],"bid":[7.336,2967],"mrid":100000425582095,"ts":1705736087026},{"trade_partition":"USDT","business_type":"swap","contract_code":"BNB-USDT","ask":[313.515,84],"bid":[313.33,5],"mrid":100000907587464,"ts":1705736085047},{"trade_partition":"USDT","business_type":"swap","contract_code":"USTC-USDT","ask":[0.02698,4228],"bid":[0.02689,7752],"mrid":100000511503027,"ts":1705736099072},{"trade_partition":"USDT","business_type":"swap","contract_code":"GAL-USDT","ask":[2.0195,792],"bid":[2.012,23070],"mrid":100000426506294,"ts":1705736098475},{"trade_partition":"USDT","business_type":"swap","contract_code":"ONE-USDT","ask":[0.014812,10],"bid":[0.014754,328],"mrid":100000224780788,"ts":1705736099397},{"trade_partition":"USDT","business_type":"swap","contract_code":"SUSHI-USDT","ask":[1.0844,500],"bid":[1.0837,500],"mrid":100000659591056,"ts":1705736098764},{"trade_partition":"USDT","business_type":"swap","contract_code":"MKR-USDT","ask":[1972.7,670],"bid":[1971.7,355],"mrid":100001330153209,"ts":1705736098189},{"trade_partition":"USDT","business_type":"swap","contract_code":"LTC-USDT","ask":[72.68,8],"bid":[72.66,162],"mrid":100001796198655,"ts":1705736099423},{"trade_partition":"USDT","business_type":"swap","contract_code":"TOKEN-USDT","ask":[0.02606,4447],"bid":[0.02599,778],"mrid":100000107442285,"ts":1705736092040},{"trade_partition":"USDT","business_type":"swap","contract_code":"FLOKI-USDT","ask":[0.00002947,575],"bid":[0.0000294,11076],"mrid":100000497685572,"ts":1705736096776},{"trade_partition":"USDT","business_type":"swap","contract_code":"GALA-USDT","ask":[0.02373,17218],"bid":[0.02369,17094],"mrid":100000531854938,"ts":1705736094961},{"trade_partition":"USDT","business_type":"swap","contract_code":"AGIX-USDT","ask":[0.2735,80],"bid":[0.2729,5929],"mrid":100000593031572,"ts":1705736092030},{"trade_partition":"USDT","business_type":"swap","contract_code":"CRV-USDT","ask":[0.5325,4059],"bid":[0.5311,15048],"mrid":100000269844678,"ts":1705736097226},{"trade_partition":"USDT","business_type":"swap","contract_code":"ARB-USDT","ask":[1.8399,44],"bid":[1.8383,500],"mrid":100002161289042,"ts":1705736099187},{"trade_partition":"USDT","business_type":"swap","contract_code":"AVAX-USDT","ask":[32.8402,3],"bid":[32.8073,30],"mrid":100001223834571,"ts":1705736097778},{"trade_partition":"USDT","business_type":"swap","contract_code":"ARK-USDT","ask":[0.777,2215],"bid":[0.7724,2053],"mrid":100000230629377,"ts":1705736092841},{"trade_partition":"USDT","business_type":"swap","contract_code":"SNX-USDT","ask":[3.3396,23],"bid":[3.3337,1443],"mrid":100000689445858,"ts":1705736093575},{"trade_partition":"USDT","business_type":"swap","contract_code":"XLM-USDT","ask":[0.11432,667],"bid":[0.11419,63],"mrid":100000643182585,"ts":1705736094031},{"trade_partition":"USDT","business_type":"swap","contract_code":"LINK-USDT","ask":[16.4468,158],"bid":[16.4372,558],"mrid":100002322310730,"ts":1705736099133},{"trade_partition":"USDT","business_type":"swap","contract_code":"MASK-USDT","ask":[3.519,19997],"bid":[3.514,4027],"mrid":100001272530570,"ts":1705736089355},{"trade_partition":"USDT","business_type":"swap","contract_code":"EGLD-USDT","ask":[51.74,1565],"bid":[51.62,4614],"mrid":100000166808385,"ts":1705736098996},{"trade_partition":"USDT","business_type":"swap","contract_code":"YGG-USDT","ask":[0.5167,71],"bid":[0.5162,70],"mrid":100000747927748,"ts":1705736098472},{"trade_partition":"USDT","business_type":"swap","contract_code":"RNDR-USDT","ask":[4.0595,84],"bid":[4.0526,33],"mrid":100001278504871,"ts":1705736099326},{"trade_partition":"USDT","business_type":"swap","contract_code":"DOSE-USDT","ask":[0.0021,104],"bid":[1E-8,230],"mrid":100000077601738,"ts":1704880000628},{"trade_partition":"USDT","business_type":"swap","contract_code":"INJ-USDT","ask":[36.02,130],"bid":[35.998,1],"mrid":100000195164825,"ts":1705736092020},{"trade_partition":"USDT","business_type":"swap","contract_code":"WIN-USDT","ask":[0.00010066,84],"bid":[0.00009964,343],"mrid":100001136426425,"ts":1705736099508},{"trade_partition":"USDT","business_type":"swap","contract_code":"ATOM-USDT","ask":[9.7025,192],"bid":[9.694,250],"mrid":100001334404317,"ts":1705736099687},{"trade_partition":"USDT","business_type":"swap","contract_code":"STX-USDT","ask":[1.4668,1633],"bid":[1.4624,1887],"mrid":100000106054579,"ts":1705736099191},{"trade_partition":"USDT","business_type":"swap","contract_code":"BNT-USDT","ask":[0.7577,364],"bid":[0.7566,3526],"mrid":100000430949064,"ts":1705736098027}],"ts":1705736099764} +2024-01-20 15:43:08.899 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjectTest:231] - {"status":"ok","ticks":[{"ask":[0.4684,2],"bid":[0.468,856],"businessType":"swap","contractCode":"MANA-USDT","mrid":100000381736653,"tradePartition":"USDT","ts":1705736097569},{"ask":[5.263E-7,915],"bid":[5.257E-7,3250],"businessType":"swap","contractCode":"SATS-USDT","mrid":100000260573819,"tradePartition":"USDT","ts":1705736094031},{"ask":[0.09135,144],"bid":[0.09121,4023],"businessType":"swap","contractCode":"CHZ-USDT","mrid":100000446791977,"tradePartition":"USDT","ts":1705736098362},{"ask":[6.9335,325],"bid":[6.9317,29],"businessType":"swap","contractCode":"DOT-USDT","mrid":100001184381035,"tradePartition":"USDT","ts":1705736099219},{"ask":[0.1654,1043],"bid":[0.1652,5791],"businessType":"swap","contractCode":"POLYX-USDT","mrid":100000269930303,"tradePartition":"USDT","ts":1705736090829},{"ask":[1.1407,285],"bid":[1.1391,285],"businessType":"swap","contractCode":"MINA-USDT","mrid":100000229664519,"tradePartition":"USDT","ts":1705736094577},{"ask":[0.7214,1923],"bid":[0.7203,657],"businessType":"swap","contractCode":"EOS-USDT","mrid":100000462460481,"tradePartition":"USDT","ts":1705736098847},{"ask":[8.113,320],"bid":[8.102,121],"businessType":"swap","contractCode":"ACE-USDT","mrid":100000185666763,"tradePartition":"USDT","ts":1705736098909},{"ask":[0.668,81],"bid":[0.6671,1194],"businessType":"swap","contractCode":"LUNA-USDT","mrid":100000422817400,"tradePartition":"USDT","ts":1705736098340},{"ask":[0.1582,3],"bid":[0.1579,3113],"businessType":"swap","contractCode":"GRT-USDT","mrid":100000765736138,"tradePartition":"USDT","ts":1705736096164},{"businessType":"swap","contractCode":"CVX-USDT","mrid":100000000695730,"tradePartition":"USDT","ts":1704795135385},{"ask":[0.2357,4],"bid":[0.235,267],"businessType":"swap","contractCode":"STEEM-USDT","mrid":100000220499105,"tradePartition":"USDT","ts":1705736092021},{"ask":[2.1951,1844],"bid":[2.1933,2257],"businessType":"swap","contractCode":"JTO-USDT","mrid":100000161119273,"tradePartition":"USDT","ts":1705736099739},{"ask":[2.5325,85],"bid":[2.5317,752],"businessType":"swap","contractCode":"WLD-USDT","mrid":100001767743581,"tradePartition":"USDT","ts":1705736098490},{"ask":[3.1873,406],"bid":[3.1845,13695],"businessType":"swap","contractCode":"OP-USDT","mrid":100001733365967,"tradePartition":"USDT","ts":1705736099481},{"ask":[0.205,43],"bid":[0.0001,42],"businessType":"swap","contractCode":"FSN-USDT","mrid":100000026227227,"tradePartition":"USDT","ts":1704879999991},{"ask":[68.472,4],"bid":[68.384,5],"businessType":"swap","contractCode":"ORDI-USDT","mrid":100002587151157,"tradePartition":"USDT","ts":1705736098219},{"ask":[0.6554,4679],"bid":[0.6544,335],"businessType":"swap","contractCode":"BLUR-USDT","mrid":100001493170987,"tradePartition":"USDT","ts":1705736098081},{"ask":[0.00011126,930],"bid":[0.00011111,248],"businessType":"swap","contractCode":"LUNC-USDT","mrid":100000911734903,"tradePartition":"USDT","ts":1705736094342},{"ask":[30.937,12689],"bid":[30.89,2024],"businessType":"swap","contractCode":"SSV-USDT","mrid":100000565389475,"tradePartition":"USDT","ts":1705736095290},{"ask":[0.228,6837],"bid":[0.2276,1462],"businessType":"swap","contractCode":"IOTA-USDT","mrid":100000134564165,"tradePartition":"USDT","ts":1705736087393},{"ask":[39.076,4],"bid":[39.02,124],"businessType":"swap","contractCode":"KSM-USDT","mrid":100000330735817,"tradePartition":"USDT","ts":1705736088588},{"ask":[1.1294,5232],"bid":[1.1288,106],"businessType":"swap","contractCode":"SUI-USDT","mrid":100001115271312,"tradePartition":"USDT","ts":1705736097344},{"ask":[0.000011632,11],"bid":[0.000011621,1058],"businessType":"swap","contractCode":"BONK-USDT","mrid":100001026420799,"tradePartition":"USDT","ts":1705736099543},{"ask":[11.218,89],"bid":[11.209,128],"businessType":"swap","contractCode":"ICP-USDT","mrid":100000168156810,"tradePartition":"USDT","ts":1705736095964},{"ask":[2485.71,9210],"bid":[2485.7,899],"businessType":"swap","contractCode":"ETH-USDT","mrid":100010879109495,"tradePartition":"USDT","ts":1705736099566},{"ask":[0.328,4825],"bid":[0.3277,958],"businessType":"swap","contractCode":"RDNT-USDT","mrid":100000764314651,"tradePartition":"USDT","ts":1705736092031},{"ask":[0.5653,5763],"bid":[0.5646,645],"businessType":"swap","contractCode":"STORJ-USDT","mrid":100000362531008,"tradePartition":"USDT","ts":1705736099692},{"ask":[0.29551,18994],"bid":[0.29495,17072],"businessType":"swap","contractCode":"GMT-USDT","mrid":100000603132617,"tradePartition":"USDT","ts":1705736091821},{"ask":[0.5466,112],"bid":[0.5446,1702],"businessType":"swap","contractCode":"STG-USDT","mrid":100000912407215,"tradePartition":"USDT","ts":1705736099709},{"ask":[72.25,216],"bid":[72.21,301],"businessType":"swap","contractCode":"BSV-USDT","mrid":100001008660082,"tradePartition":"USDT","ts":1705736098485},{"ask":[41769.7,6019],"bid":[41769.6,721],"businessType":"swap","contractCode":"BTC-USDT","mrid":100021960484165,"tradePartition":"USDT","ts":1705736098939},{"ask":[0.41483,558],"bid":[0.41409,16],"businessType":"swap","contractCode":"WOO-USDT","mrid":100000987316402,"tradePartition":"USDT","ts":1705736093026},{"ask":[158.97,62],"bid":[158.84,19],"businessType":"swap","contractCode":"XMR-USDT","mrid":100000537122514,"tradePartition":"USDT","ts":1705736093028},{"ask":[7.6703,6216],"bid":[7.6635,50],"businessType":"swap","contractCode":"AXS-USDT","mrid":100000644213264,"tradePartition":"USDT","ts":1705736099372},{"ask":[0.00832,5007],"bid":[0.00829,2413],"businessType":"swap","contractCode":"LINA-USDT","mrid":100000441807955,"tradePartition":"USDT","ts":1705736098380},{"ask":[25.1056,12],"bid":[25.0904,37],"businessType":"swap","contractCode":"ETC-USDT","mrid":100001247649294,"tradePartition":"USDT","ts":1705736099737},{"ask":[0.03205,5143],"bid":[0.032,6030],"businessType":"swap","contractCode":"PEOPLE-USDT","mrid":100000207184826,"tradePartition":"USDT","ts":1705736099242},{"ask":[0.3672,515],"bid":[0.3669,9391],"businessType":"swap","contractCode":"FTM-USDT","mrid":100000406262415,"tradePartition":"USDT","ts":1705736099032},{"ask":[0.01869,4049],"bid":[0.01866,4049],"businessType":"swap","contractCode":"ACH-USDT","mrid":100000558653719,"tradePartition":"USDT","ts":1705736093032},{"ask":[236.99,4454],"bid":[236.98,153],"businessType":"swap","contractCode":"BCH-USDT","mrid":100002449152693,"tradePartition":"USDT","ts":1705736097245},{"ask":[1.4056,994],"bid":[1.4051,71],"businessType":"swap","contractCode":"APE-USDT","mrid":100000656578781,"tradePartition":"USDT","ts":1705736087031},{"ask":[0.374,5391],"bid":[0.3735,1202],"businessType":"swap","contractCode":"BIGTIME-USDT","mrid":100000525356535,"tradePartition":"USDT","ts":1705736093443},{"ask":[95.62,549],"bid":[94.73,549],"businessType":"swap","contractCode":"METIS-USDT","mrid":100000021627081,"tradePartition":"USDT","ts":1705736098707},{"ask":[1.9093,2],"bid":[1.9083,23],"businessType":"swap","contractCode":"IMX-USDT","mrid":100000597889281,"tradePartition":"USDT","ts":1705736096222},{"ask":[59.7,512],"bid":[59.63,2236],"businessType":"swap","contractCode":"COMP-USDT","mrid":100000519635438,"tradePartition":"USDT","ts":1705736098353},{"ask":[0.7151,4345],"bid":[0.714,381],"businessType":"swap","contractCode":"KAVA-USDT","mrid":100000281256718,"tradePartition":"USDT","ts":1705736090036},{"ask":[0.17394,1747],"bid":[0.17358,29],"businessType":"swap","contractCode":"ALGO-USDT","mrid":100000306063219,"tradePartition":"USDT","ts":1705736088285},{"ask":[7.777,4],"bid":[7.77,1000],"businessType":"swap","contractCode":"CYBER-USDT","mrid":100001220317002,"tradePartition":"USDT","ts":1705736099224},{"ask":[2.3835,56],"bid":[2.3801,29],"businessType":"swap","contractCode":"WAVES-USDT","mrid":100000894059885,"tradePartition":"USDT","ts":1705736086596},{"ask":[0.481,2038],"bid":[0.4801,11233],"businessType":"swap","contractCode":"FRONT-USDT","mrid":100000298179575,"tradePartition":"USDT","ts":1705736099140},{"ask":[6.804,2155],"bid":[6.795,4573],"businessType":"swap","contractCode":"GAS-USDT","mrid":100000513809449,"tradePartition":"USDT","ts":1705736099163},{"ask":[8.555,1],"bid":[8.547,3662],"businessType":"swap","contractCode":"APT-USDT","mrid":100001118509351,"tradePartition":"USDT","ts":1705736099212},{"ask":[1.4997,113],"bid":[1.4934,173],"businessType":"swap","contractCode":"MTL-USDT","mrid":100000522990053,"tradePartition":"USDT","ts":1705736099292},{"ask":[0.110302,300],"bid":[0.110267,314],"businessType":"swap","contractCode":"TRX-USDT","mrid":100001244373869,"tradePartition":"USDT","ts":1705736098340},{"ask":[0.23936,895],"bid":[0.239,1],"businessType":"swap","contractCode":"LRC-USDT","mrid":100000346128118,"tradePartition":"USDT","ts":1705736096566},{"businessType":"swap","contractCode":"GARI-USDT","mrid":100000000433154,"tradePartition":"USDT","ts":1705317351071},{"ask":[2.906,578],"bid":[2.901,10173],"businessType":"swap","contractCode":"DYDX-USDT","mrid":100000835549909,"tradePartition":"USDT","ts":1705736098699},{"ask":[17.435,173],"bid":[17.423,1302],"businessType":"swap","contractCode":"TIA-USDT","mrid":100000534578823,"tradePartition":"USDT","ts":1705736099638},{"ask":[0.488818,24],"bid":[0.488226,38],"businessType":"swap","contractCode":"SAND-USDT","mrid":100000978352390,"tradePartition":"USDT","ts":1705736099627},{"ask":[0.518121,1],"bid":[0.517598,604],"businessType":"swap","contractCode":"ADA-USDT","mrid":100001454348148,"tradePartition":"USDT","ts":1705736098661},{"ask":[5.73E-8,523],"bid":[5.711E-8,8],"businessType":"swap","contractCode":"LADYS-USDT","mrid":100000923814838,"tradePartition":"USDT","ts":1705736099733},{"ask":[0.000009451,10884],"bid":[0.000009446,201],"businessType":"swap","contractCode":"SHIB-USDT","mrid":100001413214169,"tradePartition":"USDT","ts":1705736099549},{"ask":[0.0415,1590],"bid":[0.04118,1210],"businessType":"swap","contractCode":"SNT-USDT","mrid":100000109671453,"tradePartition":"USDT","ts":1705736085030},{"ask":[0.3163,2454],"bid":[0.3151,2454],"businessType":"swap","contractCode":"BAKE-USDT","mrid":100000092409973,"tradePartition":"USDT","ts":1705736098495},{"ask":[0.1895,2517],"bid":[0.1892,21302],"businessType":"swap","contractCode":"CFX-USDT","mrid":100001007453735,"tradePartition":"USDT","ts":1705736099439},{"ask":[92.4061,4],"bid":[92.3878,32],"businessType":"swap","contractCode":"SOL-USDT","mrid":100005303389365,"tradePartition":"USDT","ts":1705736098784},{"ask":[0.3714,3347],"bid":[0.3705,3347],"businessType":"swap","contractCode":"PYTH-USDT","mrid":100000119128532,"tradePartition":"USDT","ts":1705736090037},{"ask":[7486.7,1000],"bid":[7482.8,794],"businessType":"swap","contractCode":"YFI-USDT","mrid":100000733192969,"tradePartition":"USDT","ts":1705736099704},{"ask":[2.9222,333],"bid":[2.9169,598],"businessType":"swap","contractCode":"LDO-USDT","mrid":100001322482193,"tradePartition":"USDT","ts":1705736099706},{"ask":[6.5846,353],"bid":[6.5809,217],"businessType":"swap","contractCode":"UNI-USDT","mrid":100000556194137,"tradePartition":"USDT","ts":1705736091303},{"ask":[0.33442,5],"bid":[0.3342,200],"businessType":"swap","contractCode":"BLZ-USDT","mrid":100001229639059,"tradePartition":"USDT","ts":1705736087254},{"ask":[0.0000011347,170],"bid":[0.0000011332,417],"businessType":"swap","contractCode":"PEPE-USDT","mrid":100003984449880,"tradePartition":"USDT","ts":1705736098666},{"ask":[5.457,7554],"bid":[5.456,329],"businessType":"swap","contractCode":"FIL-USDT","mrid":100001702077140,"tradePartition":"USDT","ts":1705736097537},{"ask":[0.5155,4925],"bid":[0.5146,3495],"businessType":"swap","contractCode":"CORE-USDT","mrid":100000913784383,"tradePartition":"USDT","ts":1705736093712},{"ask":[1.1193,995],"bid":[1.1178,36],"businessType":"swap","contractCode":"AI-USDT","mrid":100000013382199,"tradePartition":"USDT","ts":1705736098977},{"ask":[0.6128,10577],"bid":[0.6118,11667],"businessType":"swap","contractCode":"FET-USDT","mrid":100000622824881,"tradePartition":"USDT","ts":1705736097952},{"ask":[2.2193,62],"bid":[2.2127,5550],"businessType":"swap","contractCode":"TON-USDT","mrid":100000847246823,"tradePartition":"USDT","ts":1705736092277},{"ask":[0.029246,686],"bid":[0.029131,455],"businessType":"swap","contractCode":"JST-USDT","mrid":100001335048313,"tradePartition":"USDT","ts":1705736099450},{"businessType":"swap","contractCode":"RLY-USDT","mrid":100000000431740,"tradePartition":"USDT","ts":1705299535782},{"ask":[98.304,141],"bid":[98.155,406],"businessType":"swap","contractCode":"AAVE-USDT","mrid":100000838871117,"tradePartition":"USDT","ts":1705736092805},{"ask":[0.4178,500],"bid":[0.4171,500],"businessType":"swap","contractCode":"1INCH-USDT","mrid":100000517915628,"tradePartition":"USDT","ts":1705736098685},{"ask":[125.374,200],"bid":[125.286,2],"businessType":"swap","contractCode":"TRB-USDT","mrid":100002685932337,"tradePartition":"USDT","ts":1705736099701},{"ask":[0.78053,10],"bid":[0.78015,338],"businessType":"swap","contractCode":"MATIC-USDT","mrid":100001993087817,"tradePartition":"USDT","ts":1705736098395},{"ask":[0.1568,26562],"bid":[0.1565,23762],"businessType":"swap","contractCode":"OGN-USDT","mrid":100000481182782,"tradePartition":"USDT","ts":1705736094487},{"ask":[0.078603,1],"bid":[0.0786,351],"businessType":"swap","contractCode":"DOGE-USDT","mrid":100002166778474,"tradePartition":"USDT","ts":1705736099361},{"ask":[0.0987,1967],"bid":[0.0985,3086],"businessType":"swap","contractCode":"LOOM-USDT","mrid":100000265591056,"tradePartition":"USDT","ts":1705736099313},{"ask":[1.0275,16],"bid":[1.02441,163],"businessType":"swap","contractCode":"THETA-USDT","mrid":100000653255113,"tradePartition":"USDT","ts":1705736095081},{"ask":[2.971,2377],"bid":[2.966,2589],"businessType":"swap","contractCode":"NEAR-USDT","mrid":100000340824697,"tradePartition":"USDT","ts":1705736099658},{"businessType":"swap","contractCode":"TOMO-USDT","mrid":100000000695020,"tradePartition":"USDT","ts":1704701945688},{"ask":[2.332,14249],"bid":[2.328,62739],"businessType":"swap","contractCode":"MANTA-USDT","mrid":100000007694133,"tradePartition":"USDT","ts":1705736099283},{"ask":[2.652,2983],"bid":[2.643,34],"businessType":"swap","contractCode":"FTT-USDT","mrid":100000643776423,"tradePartition":"USDT","ts":1705736089036},{"ask":[0.6839,1250],"bid":[0.6835,2771],"businessType":"swap","contractCode":"SEI-USDT","mrid":100000787976499,"tradePartition":"USDT","ts":1705736099388},{"ask":[0.54948,2774],"bid":[0.54926,534],"businessType":"swap","contractCode":"XRP-USDT","mrid":100002401037484,"tradePartition":"USDT","ts":1705736097812},{"ask":[19.199,2110],"bid":[19.141,4],"businessType":"swap","contractCode":"ENS-USDT","mrid":100000080488780,"tradePartition":"USDT","ts":1705736096201},{"ask":[0.0002618,29619],"bid":[0.0002616,19687],"businessType":"swap","contractCode":"RATS-USDT","mrid":100000312767390,"tradePartition":"USDT","ts":1705736099280},{"ask":[2.7283,8080],"bid":[2.7237,8080],"businessType":"swap","contractCode":"CAKE-USDT","mrid":100000218524589,"tradePartition":"USDT","ts":1705736099277},{"ask":[9.85E-7,121],"bid":[9.81E-7,122],"businessType":"swap","contractCode":"BTT-USDT","mrid":100000095779244,"tradePartition":"USDT","ts":1705736098948},{"ask":[0.8495,170],"bid":[0.8482,1428],"businessType":"swap","contractCode":"XAI-USDT","mrid":100000103629275,"tradePartition":"USDT","ts":1705736099531},{"ask":[0.024028,1289],"bid":[0.024,385],"businessType":"swap","contractCode":"MEME-USDT","mrid":100000578090350,"tradePartition":"USDT","ts":1705736099745},{"ask":[1.53E-10,188],"bid":[1.529E-10,7839],"businessType":"swap","contractCode":"AIDOGE-USDT","mrid":100000607658332,"tradePartition":"USDT","ts":1705736091165},{"ask":[7.348,174],"bid":[7.336,2967],"businessType":"swap","contractCode":"LPT-USDT","mrid":100000425582095,"tradePartition":"USDT","ts":1705736087026},{"ask":[313.515,84],"bid":[313.33,5],"businessType":"swap","contractCode":"BNB-USDT","mrid":100000907587464,"tradePartition":"USDT","ts":1705736085047},{"ask":[0.02698,4228],"bid":[0.02689,7752],"businessType":"swap","contractCode":"USTC-USDT","mrid":100000511503027,"tradePartition":"USDT","ts":1705736099072},{"ask":[2.0195,792],"bid":[2.012,23070],"businessType":"swap","contractCode":"GAL-USDT","mrid":100000426506294,"tradePartition":"USDT","ts":1705736098475},{"ask":[0.014812,10],"bid":[0.014754,328],"businessType":"swap","contractCode":"ONE-USDT","mrid":100000224780788,"tradePartition":"USDT","ts":1705736099397},{"ask":[1.0844,500],"bid":[1.0837,500],"businessType":"swap","contractCode":"SUSHI-USDT","mrid":100000659591056,"tradePartition":"USDT","ts":1705736098764},{"ask":[1972.7,670],"bid":[1971.7,355],"businessType":"swap","contractCode":"MKR-USDT","mrid":100001330153209,"tradePartition":"USDT","ts":1705736098189},{"ask":[72.68,8],"bid":[72.66,162],"businessType":"swap","contractCode":"LTC-USDT","mrid":100001796198655,"tradePartition":"USDT","ts":1705736099423},{"ask":[0.02606,4447],"bid":[0.02599,778],"businessType":"swap","contractCode":"TOKEN-USDT","mrid":100000107442285,"tradePartition":"USDT","ts":1705736092040},{"ask":[0.00002947,575],"bid":[0.0000294,11076],"businessType":"swap","contractCode":"FLOKI-USDT","mrid":100000497685572,"tradePartition":"USDT","ts":1705736096776},{"ask":[0.02373,17218],"bid":[0.02369,17094],"businessType":"swap","contractCode":"GALA-USDT","mrid":100000531854938,"tradePartition":"USDT","ts":1705736094961},{"ask":[0.2735,80],"bid":[0.2729,5929],"businessType":"swap","contractCode":"AGIX-USDT","mrid":100000593031572,"tradePartition":"USDT","ts":1705736092030},{"ask":[0.5325,4059],"bid":[0.5311,15048],"businessType":"swap","contractCode":"CRV-USDT","mrid":100000269844678,"tradePartition":"USDT","ts":1705736097226},{"ask":[1.8399,44],"bid":[1.8383,500],"businessType":"swap","contractCode":"ARB-USDT","mrid":100002161289042,"tradePartition":"USDT","ts":1705736099187},{"ask":[32.8402,3],"bid":[32.8073,30],"businessType":"swap","contractCode":"AVAX-USDT","mrid":100001223834571,"tradePartition":"USDT","ts":1705736097778},{"ask":[0.777,2215],"bid":[0.7724,2053],"businessType":"swap","contractCode":"ARK-USDT","mrid":100000230629377,"tradePartition":"USDT","ts":1705736092841},{"ask":[3.3396,23],"bid":[3.3337,1443],"businessType":"swap","contractCode":"SNX-USDT","mrid":100000689445858,"tradePartition":"USDT","ts":1705736093575},{"ask":[0.11432,667],"bid":[0.11419,63],"businessType":"swap","contractCode":"XLM-USDT","mrid":100000643182585,"tradePartition":"USDT","ts":1705736094031},{"ask":[16.4468,158],"bid":[16.4372,558],"businessType":"swap","contractCode":"LINK-USDT","mrid":100002322310730,"tradePartition":"USDT","ts":1705736099133},{"ask":[3.519,19997],"bid":[3.514,4027],"businessType":"swap","contractCode":"MASK-USDT","mrid":100001272530570,"tradePartition":"USDT","ts":1705736089355},{"ask":[51.74,1565],"bid":[51.62,4614],"businessType":"swap","contractCode":"EGLD-USDT","mrid":100000166808385,"tradePartition":"USDT","ts":1705736098996},{"ask":[0.5167,71],"bid":[0.5162,70],"businessType":"swap","contractCode":"YGG-USDT","mrid":100000747927748,"tradePartition":"USDT","ts":1705736098472},{"ask":[4.0595,84],"bid":[4.0526,33],"businessType":"swap","contractCode":"RNDR-USDT","mrid":100001278504871,"tradePartition":"USDT","ts":1705736099326},{"ask":[0.0021,104],"bid":[1E-8,230],"businessType":"swap","contractCode":"DOSE-USDT","mrid":100000077601738,"tradePartition":"USDT","ts":1704880000628},{"ask":[36.02,130],"bid":[35.998,1],"businessType":"swap","contractCode":"INJ-USDT","mrid":100000195164825,"tradePartition":"USDT","ts":1705736092020},{"ask":[0.00010066,84],"bid":[0.00009964,343],"businessType":"swap","contractCode":"WIN-USDT","mrid":100001136426425,"tradePartition":"USDT","ts":1705736099508},{"ask":[9.7025,192],"bid":[9.694,250],"businessType":"swap","contractCode":"ATOM-USDT","mrid":100001334404317,"tradePartition":"USDT","ts":1705736099687},{"ask":[1.4668,1633],"bid":[1.4624,1887],"businessType":"swap","contractCode":"STX-USDT","mrid":100000106054579,"tradePartition":"USDT","ts":1705736099191},{"ask":[0.7577,364],"bid":[0.7566,3526],"businessType":"swap","contractCode":"BNT-USDT","mrid":100000430949064,"tradePartition":"USDT","ts":1705736098027}],"ts":1705736099764} +2024-01-20 15:59:11.772 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjectTest:231] - {"status":"ok","ts":1705737485703} +2024-01-20 15:59:36.454 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjectTest:231] - {"data":[{"currentPage":1,"settlementRecord":[{"businessType":"swap","clawbackRatio":0E-18,"contractCode":"BTC-USDT","pair":"BTC-USDT","settlementPrice":41687.497299504046349618,"settlementTime":1705708800000,"settlementType":"settlement","symbol":"BTC","tradePartition":"USDT"},{"businessType":"swap","clawbackRatio":0E-18,"contractCode":"BTC-USDT","pair":"BTC-USDT","settlementPrice":40941.040052651247986280,"settlementTime":1705680000000,"settlementType":"settlement","symbol":"BTC","tradePartition":"USDT"},{"businessType":"swap","clawbackRatio":0E-18,"contractCode":"BTC-USDT","pair":"BTC-USDT","settlementPrice":41311.847086997438836076,"settlementTime":1705651200000,"settlementType":"settlement","symbol":"BTC","tradePartition":"USDT"},{"businessType":"swap","clawbackRatio":0E-18,"contractCode":"BTC-USDT","pair":"BTC-USDT","settlementPrice":41340.110794631228550584,"settlementTime":1705622400000,"settlementType":"settlement","symbol":"BTC","tradePartition":"USDT"},{"businessType":"swap","clawbackRatio":0E-18,"contractCode":"BTC-USDT","pair":"BTC-USDT","settlementPrice":42642.147161280881699571,"settlementTime":1705593600000,"settlementType":"settlement","symbol":"BTC","tradePartition":"USDT"},{"businessType":"swap","clawbackRatio":0E-18,"contractCode":"BTC-USDT","pair":"BTC-USDT","settlementPrice":42925.113458023987642918,"settlementTime":1705564800000,"settlementType":"settlement","symbol":"BTC","tradePartition":"USDT"},{"businessType":"swap","clawbackRatio":0E-18,"contractCode":"BTC-USDT","pair":"BTC-USDT","settlementPrice":42795.462220269302378337,"settlementTime":1705536000000,"settlementType":"settlement","symbol":"BTC","tradePartition":"USDT"},{"businessType":"swap","clawbackRatio":0E-18,"contractCode":"BTC-USDT","pair":"BTC-USDT","settlementPrice":42508.567542599540894208,"settlementTime":1705507200000,"settlementType":"settlement","symbol":"BTC","tradePartition":"USDT"},{"businessType":"swap","clawbackRatio":0E-18,"contractCode":"BTC-USDT","pair":"BTC-USDT","settlementPrice":42667.273326355018184268,"settlementTime":1705478400000,"settlementType":"settlement","symbol":"BTC","tradePartition":"USDT"},{"businessType":"swap","clawbackRatio":0E-18,"contractCode":"BTC-USDT","pair":"BTC-USDT","settlementPrice":43145.733429425804933476,"settlementTime":1705449600000,"settlementType":"settlement","symbol":"BTC","tradePartition":"USDT"},{"businessType":"swap","clawbackRatio":0E-18,"contractCode":"BTC-USDT","pair":"BTC-USDT","settlementPrice":43237.378370788623691757,"settlementTime":1705420800000,"settlementType":"settlement","symbol":"BTC","tradePartition":"USDT"},{"businessType":"swap","clawbackRatio":0E-18,"contractCode":"BTC-USDT","pair":"BTC-USDT","settlementPrice":42773.405163068841378520,"settlementTime":1705392000000,"settlementType":"settlement","symbol":"BTC","tradePartition":"USDT"},{"businessType":"swap","clawbackRatio":0E-18,"contractCode":"BTC-USDT","pair":"BTC-USDT","settlementPrice":42529.081627375033606304,"settlementTime":1705363200000,"settlementType":"settlement","symbol":"BTC","tradePartition":"USDT"},{"businessType":"swap","clawbackRatio":0E-18,"contractCode":"BTC-USDT","pair":"BTC-USDT","settlementPrice":42285.180801137068658944,"settlementTime":1705334400000,"settlementType":"settlement","symbol":"BTC","tradePartition":"USDT"},{"businessType":"swap","clawbackRatio":0E-18,"contractCode":"BTC-USDT","pair":"BTC-USDT","settlementPrice":42729.816342270346254557,"settlementTime":1705305600000,"settlementType":"settlement","symbol":"BTC","tradePartition":"USDT"},{"businessType":"swap","clawbackRatio":0E-18,"contractCode":"BTC-USDT","pair":"BTC-USDT","settlementPrice":41765.000560823976730932,"settlementTime":1705276800000,"settlementType":"settlement","symbol":"BTC","tradePartition":"USDT"},{"businessType":"swap","clawbackRatio":0E-18,"contractCode":"BTC-USDT","pair":"BTC-USDT","settlementPrice":42924.358055864235311436,"settlementTime":1705248000000,"settlementType":"settlement","symbol":"BTC","tradePartition":"USDT"},{"businessType":"swap","clawbackRatio":0E-18,"contractCode":"BTC-USDT","pair":"BTC-USDT","settlementPrice":43017.149066613675803213,"settlementTime":1705219200000,"settlementType":"settlement","symbol":"BTC","tradePartition":"USDT"},{"businessType":"swap","clawbackRatio":0E-18,"contractCode":"BTC-USDT","pair":"BTC-USDT","settlementPrice":42863.824626386350527293,"settlementTime":1705190400000,"settlementType":"settlement","symbol":"BTC","tradePartition":"USDT"},{"businessType":"swap","clawbackRatio":0E-18,"contractCode":"BTC-USDT","pair":"BTC-USDT","settlementPrice":43180.201013319567773217,"settlementTime":1705161600000,"settlementType":"settlement","symbol":"BTC","tradePartition":"USDT"}],"totalPage":14,"totalSize":270}],"status":"ok","ts":1705737485703} diff --git a/log/debug/debug.2024-01-22_23.log b/log/debug/debug.2024-01-22_23.log new file mode 100644 index 0000000..83e160e --- /dev/null +++ b/log/debug/debug.2024-01-22_23.log @@ -0,0 +1,51 @@ +2024-01-22 23:00:06.802 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:177] - {"data":[{"businessType":"futures","contractCode":"BTC-USDT-211210","contractType":"this_week","pair":"BTC-USDT","settlementType":"settlement"},{"businessType":"futures","contractCode":"BTC-USDT-211217","contractType":"next_week","pair":"BTC-USDT","settlementType":"settlement"},{"businessType":"futures","contractCode":"BTC-USDT-211231","contractType":"quarter","pair":"BTC-USDT","settlementType":"settlement"},{"businessType":"swap","contractCode":"BTC-USDT","contractType":"swap","pair":"BTC-USDT","settlementType":"settlement"}],"status":"ok","ts":1638755400222} +2024-01-22 23:00:46.610 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:175] - {"data":[{"contractCode":"BTC-USDT","list":[{"ladders":[{"adjustFactor":0.65,"ladder":0,"maxSize":8999,"minSize":0},{"adjustFactor":0.8,"ladder":1,"maxSize":89999,"minSize":9000},{"adjustFactor":0.85,"ladder":2,"minSize":90000}],"leverRate":125}],"marginMode":"isolated","symbol":"BTC"}],"status":"ok","ts":1603695606565} +2024-01-22 23:01:20.416 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:170] - {"data":[{"businessType":"futures","contractCode":"BTC-USDT-FUTURES","currentPage":1,"pair":"BTC-USDT","symbol":"BTC","tick":[{"insuranceFund":16174.621898868114,"ts":1638691200000},{"insuranceFund":130.91239886811348,"ts":1638604800000},{"insuranceFund":0.00286055422,"ts":1638518400000},{"insuranceFund":0,"ts":1638432000000}],"totalPage":1,"totalSize":4}],"status":"ok","ts":1638754881217} +2024-01-22 23:01:49.566 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:173] - {"data":[{"businessType":"swap","contractCode":"BTC-USDT","estimatedClawback":0,"insuranceFund":16174.621898868114,"pair":"BTC-USDT"},{"businessType":"futures","contractCode":"BTC-USDT-FUTURES","estimatedClawback":0,"insuranceFund":16174.621898868114,"pair":"BTC-USDT"},{"businessType":"swap","contractCode":"ETH-USDT","estimatedClawback":0,"insuranceFund":16174.621898868114,"pair":"ETH-USDT"},{"businessType":"futures","contractCode":"ETH-USDT-FUTURES","estimatedClawback":0,"insuranceFund":16174.621898868114,"pair":"ETH-USDT"}],"status":"ok","ts":1638754774555} +2024-01-22 23:02:15.724 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:181] - {"data":[{"businessType":"swap","contractCode":"BTC-USDT","contractType":"swap","highLimit":49629,"lowLimit":47682.8,"pair":"BTC-USDT","symbol":"BTC"},{"businessType":"futures","contractCode":"BTC-USDT-211210","contractType":"this_week","highLimit":49645.2,"lowLimit":47698.5,"pair":"BTC-USDT","symbol":"BTC"},{"businessType":"futures","contractCode":"BTC-USDT-211217","contractType":"next_week","highLimit":49699.7,"lowLimit":47750.8,"pair":"BTC-USDT","symbol":"BTC"},{"businessType":"futures","contractCode":"BTC-USDT-211231","contractType":"quarter","highLimit":50135.1,"lowLimit":47214.8,"pair":"BTC-USDT","symbol":"BTC"}],"status":"ok","ts":1638753887869} +2024-01-22 23:03:12.934 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:197] - {"data":[{"amount":78.696,"businessType":"swap","contractCode":"BTC-USDT","contractType":"swap","pair":"BTC-USDT","symbol":"BTC","tradeAmount":0,"tradeTurnover":0,"tradeVolume":0,"value":3823138.2456,"volume":78696},{"amount":10.925,"businessType":"futures","contractCode":"BTC-USDT-211217","contractType":"next_week","pair":"BTC-USDT","symbol":"BTC","tradeAmount":0,"tradeTurnover":0,"tradeVolume":0,"value":530662.21,"volume":10925},{"amount":27.104,"businessType":"futures","contractCode":"BTC-USDT-211210","contractType":"this_week","pair":"BTC-USDT","symbol":"BTC","tradeAmount":0,"tradeTurnover":0,"tradeVolume":0,"value":1316937.2832,"volume":27104},{"amount":201.143,"businessType":"futures","contractCode":"BTC-USDT-211231","contractType":"quarter","pair":"BTC-USDT","symbol":"BTC","tradeAmount":0,"tradeTurnover":0,"tradeVolume":0,"value":9775067.0568,"volume":201143}],"status":"ok","ts":1638754059540} +2024-01-22 23:04:00.694 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:205] - {"data":[{"businessType":"futures","contractCode":"BTC-USDT-211203","contractSize":0.001,"contractStatus":1,"contractType":"this_week","createDate":"20211202","deliveryDate":"20211203","deliveryTime":1638518400000,"pair":"BTC-USDT","priceTick":0.1,"settlementDate":"1638518400000","supportMarginMode":"cross","symbol":"BTC"},{"businessType":"futures","contractCode":"BTC-USDT-211210","contractSize":0.001,"contractStatus":1,"contractType":"next_week","createDate":"20211202","deliveryDate":"20211210","deliveryTime":1639123200000,"pair":"BTC-USDT","priceTick":0.1,"settlementDate":"1638518400000","supportMarginMode":"cross","symbol":"BTC"},{"businessType":"futures","contractCode":"BTC-USDT-211231","contractSize":0.001,"contractStatus":1,"contractType":"quarter","createDate":"20211202","deliveryDate":"20211231","deliveryTime":1640937600000,"pair":"BTC-USDT","priceTick":0.1,"settlementDate":"1638518400000","supportMarginMode":"cross","symbol":"BTC"},{"businessType":"swap","contractCode":"BTC-USDT","contractSize":0.001,"contractStatus":1,"contractType":"swap","createDate":"20211202","deliveryDate":"","pair":"BTC-USDT","priceTick":0.1,"settlementDate":"1638518400000","supportMarginMode":"all","symbol":"BTC"}],"status":"ok","ts":1638517765776} +2024-01-22 23:04:27.879 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:150] - {"data":[{"contractCode":"BTC-USDT","indexPrice":13076.32986568,"indexTs":1603694592011}],"status":"ok","ts":1603694596400} +2024-01-22 23:04:56.937 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:291] - {"data":[{"contractCode":"BTC-USDT","contractInfos":[{"contractCode":"BTC-USDT-231222","contractStatus":1,"createDate":"20231208","instrumentType":[1],"settlementDate":"1703232000000"},{"contractCode":"BTC-USDT-231229","contractStatus":1,"createDate":"20230915","instrumentType":[2],"settlementDate":"1703836800000"},{"contractCode":"BTC-USDT","contractStatus":1,"createDate":"20230905","instrumentType":[0],"settlementDate":"1703232000000"}],"crossTransferProfitRatio":1,"fundingRateCap":0.003750000000000000,"fundingRateFloor":-0.003750000000000000,"instrumentIndexCode":"BTC-USDT","instrumentType":[1,2,0],"instrumentValue":"0.001000000000000000","instrumentValues":[{"businessType":1,"price":"0.001000000000000000"},{"businessType":2,"price":"0.001000000000000000"}],"longPositionLimit":200000000.000000000000000000,"maxLevel":200,"minLevel":1,"modeType":2,"normalLimits":[{"close":"999999.990000000000000000","instrumentType":0,"open":"999999.990000000000000000"},{"close":"999999.990000000000000000","instrumentType":1,"open":"999999.990000000000000000"},{"close":"999999.990000000000000000","instrumentType":2,"open":"999999.990000000000000000"}],"offsetOrderLimit":99999999.000000000000000000,"openLimits":[{"close":"999999.990000000000000000","instrumentType":0,"open":"999999.990000000000000000"},{"close":"999999.990000000000000000","instrumentType":1,"open":"999999.990000000000000000"},{"close":"999999.990000000000000000","instrumentType":2,"open":"999999.990000000000000000"}],"openOrderLimit":99999999.000000000000000000,"orderLimits":[{"close":"99999999.000000000000000000","instrumentType":0,"open":"99999999.000000000000000000","openAfterClosing":"99999999.000000000000000000"},{"close":"99999999.000000000000000000","instrumentType":1,"open":"99999999.000000000000000000","openAfterClosing":"99999999.000000000000000000"},{"close":"170000.000000000000000000","instrumentType":2,"open":"170000.000000000000000000","openAfterClosing":"170000.000000000000000000"}],"priceTicks":[{"businessType":1,"price":"0.001000000000000000"},{"businessType":2,"price":"0.100000000000000000"}],"realTimeSettlement":1,"settlePeriod":8,"shortPositionLimit":200000000.000000000000000000,"swapDeliveryType":3,"tradeLimits":[{"close":"999999.990000000000000000","instrumentType":0,"open":"999999.990000000000000000"},{"close":"999999.990000000000000000","instrumentType":1,"open":"999999.990000000000000000"},{"close":"999999.990000000000000000","instrumentType":2,"open":"999999.990000000000000000"}],"tradePartition":"USDT","transferProfitRatio":1}],"status":"ok"} +2024-01-22 23:07:47.846 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:171] - {"ch":"market.BTC-USDT-CQ.depth.step6","status":"ok","tick":[{"asks":[[48611.5,741],[48635.2,792]],"bids":[[48596.4,90],[48585.7,180]],"ch":"market.BTC-USDT-CQ.depth.step6","id":1638754215,"mrid":1250406,"ts":1638754215640,"version":1638754215}],"ts":1638754216092} +2024-01-22 23:08:26.786 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:201] - {"status":"ok","ticks":[{"ask":[48637.3,746],"bid":[48482.5,385],"businessType":"futures","contractCode":"BTC-USDT-CW","mrid":1251224,"ts":1638754357868},{"ask":[48620.1,1000],"bid":[48461,524],"businessType":"futures","contractCode":"BTC-USDT-NW","mrid":1251162,"ts":1638754344746},{"ask":[48630.9,868],"bid":[48577.1,63],"businessType":"futures","contractCode":"BTC-USDT-CQ","mrid":1251236,"ts":1638754359301},{"ask":[48511.6,91],"bid":[48508.9,95],"businessType":"swap","contractCode":"BTC-USDT","mrid":334931,"ts":1638754361719}],"ts":1638754363648} +2024-01-22 23:09:00.699 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:157] - {"data":[{"amount":"0.004","close":"13076.8","count":"1","high":"13076.8","id":1603695060,"low":"13076.8","open":"13076.8","tradeTurnover":"52.3072","vol":"4"}],"status":"ok","ts":1603695099234} +2024-01-22 23:09:24.614 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:168] - {"data":[{"amount":"0","close":"31078.68","count":"0","high":"31078.68","id":1611105300,"low":"31078.68","open":"31078.68","tradeTurnover":"0","vol":"0"},{"amount":"0","close":"31078.68","count":"0","high":"31078.68","id":1611105600,"low":"31078.68","open":"31078.68","tradeTurnover":"0","vol":"0"}],"status":"ok","ts":1611106791703} +2024-01-22 23:10:05.822 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:164] - {"status":"ok","ts":1603695162580} +2024-01-22 23:11:00.765 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:167] - {"status":"ok","ts":1650792083179} +2024-01-22 23:12:09.637 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:164] - {"ch":"market.BTC-USDT.detail.merged","status":"ok","tick":[{"amount":"12.526","ask":[13084.2,131],"bid":[13082.9,38],"close":"13076.8","count":2920,"high":"13205.3","id":1603695162,"low":"12877.5","open":"12916.2","tradeTurnover":163247.3982,"ts":1603695162580,"vol":"12526"}],"ts":1603695162580} +2024-01-22 23:12:59.968 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:167] - {"status":"ok","ticks":[{"amount":"6891.566","ask":[39736.6,1285],"bid":[39736.5,6070],"businessType":"swap","close":"39736.6","contractCode":"BTC-USDT","count":48262,"high":"39971.2","id":1650792083,"low":"39316.3","numberOf":"6891566","open":"39760","ts":1650792083179,"vol":"273472535.834"}],"ts":1650792083179} +2024-01-22 23:13:51.373 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:161] - {"ch":"market.BTC-USDT.trade.detail","data":[{"data":[{"amount":2,"direction":"buy","id":1314767870000,"price":13081.3,"quantity":0.002,"tradeTurnover":26.1626,"ts":1603695383124}],"id":131476787,"ts":1603695383124}],"status":"ok","ts":1603695388965} +2024-01-22 23:14:36.920 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:158] - {"data":[{"businessType":"futures","contractCode":"BTC-USDT-211210","contractType":"this_week","pair":"BTC-USDT","symbol":"BTC","tick":[{"amountType":1,"ts":1638720000000,"value":1321498.5264,"volume":27112}]}],"status":"ok","ts":1638755582116} +2024-01-22 23:15:08.938 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:157] - {"ch":"market.BTC-USDT.premium_index.1min","data":[{"amount":"0","close":"0.0000079166666666","count":"0","high":"0.0000079166666666","id":1603696920,"low":"0.0000079166666666","open":"0.0000079166666666","tradeTurnover":"0","vol":"0"}],"status":"ok","ts":1603696958348} +2024-01-22 23:15:33.468 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:157] - {"ch":"market.BTC-USDT.estimated_rate.1min","data":[{"amount":"0","close":"0.0001","count":"0","high":"0.0001","id":1603697100,"low":"0.0001","open":"0.0001","tradeTurnover":"0","vol":"0"}],"status":"ok","ts":1603697104902} +2024-01-22 23:16:07.803 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:153] - {"ch":"market.BTC-USDT.basis.1min.open","data":[{"basis":"15.29074235666667","basisRate":"0.001170582317307796","contractPrice":"13077.8","id":1603697160,"indexPrice":"13062.509257643333"}],"status":"ok","ts":1603697170804} +2024-01-22 23:16:35.959 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:147] - {"data":[{}],"status":"ok","ts":1614045417046} +2024-01-22 23:17:09.384 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:147] - {"data":[{"balance":"0.378256726579799383","valuationAsset":"BTC"}],"status":"ok","ts":1614045417046} +2024-01-22 23:17:49.610 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:166] - {"data":[{"adjustFactor":0.075,"contractCode":"BTC-USDT","lever_rate":10,"marginAccount":"BTC-USDT","marginAsset":"USDT","marginAvailable":87.02505884,"marginBalance":99.75505884,"marginFrozen":12.73,"marginMode":"isolated","marginPosition":0,"marginStatic":99.75505884,"positionMode":"dual_side","profitReal":0,"profitUnreal":0,"riskRate":7.761218290652003,"symbol":"BTC","tradePartition":"","withdrawAvailable":87.02505884}],"status":"ok","ts":1603697381238} +2024-01-22 23:18:17.663 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:228] - {"data":[{"marginAccount":"USDT","marginAsset":"USDT","marginMode":"cross","positionMode":"dual_side","profitUnreal":0,"withdrawAvailable":10000}],"status":"ok","ts":1638757139907} +2024-01-22 23:19:06.697 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:192] - {"data":[{"adjustFactor":0.075,"adlRiskPercent":3,"contractCode":"BTC-USDT","leverRate":10,"marginAccount":"BTC-USDT","marginAsset":"USDT","marginAvailable":85.71474164,"marginBalance":99.75173164,"marginFrozen":12.73,"marginMode":"isolated","marginPosition":1.30699,"marginStatic":99.74983164,"positionMode":"dual_side","positions":[{"adlRiskPercent":3,"available":1,"contractCode":"BTC-USDT","costHold":13068,"costOpen":13068,"direction":"buy","frozen":0,"lastPrice":13069.9,"leverRate":10,"marginAccount":"BTC-USDT","marginAsset":"USDT","marginMode":"isolated","positionMargin":1.30699,"positionMode":"dual_side","profit":0.0019,"profitRate":0.00145393327211509,"profitUnreal":0.0019,"symbol":"BTC","tradePartition":"","volume":1}],"profitReal":-0.0052272,"profitUnreal":0.0019,"riskRate":7.0313477027482385,"symbol":"BTC","tradePartition":"","withdrawAvailable":85.71284164}],"status":"ok","ts":1603697944138} +2024-01-22 23:19:35.142 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:152] - {"data":[{"errors":[{"errCode":1010,"errMsg":"Account doesnt exist.","subUid":"1234567"}],"successes":"123456789"}],"status":"ok","ts":1612504316476} +2024-01-22 23:19:59.965 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:163] - {"status":"ok","ts":1705391607255} +2024-01-22 23:20:51.448 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:163] - {"status":"ok","ts":1705391607255} +2024-01-22 23:21:09.126 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:163] - {"status":"ok","ts":1705391607255} +2024-01-22 23:22:40.656 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:162] - {"status":"ok","ts":1705391607255} +2024-01-22 23:23:38.220 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:162] - {"data":[{"errors":[{"errCode":"1010","errMsg":"用户不存在","subUid":"117196834"}],"successes":[{"queryId":23512591,"subAuth":"1","subUid":"441618222"},{"queryId":25460798,"subAuth":"1","subUid":"462826107"}]}],"status":"ok","ts":1705391607255} +2024-01-22 23:24:39.795 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:158] - {"data":[{"list":[{"contractCode":"BTC-USDT","marginAccount":"BTC-USDT","marginAsset":"USDT","marginBalance":20,"marginMode":"isolated","symbol":"BTC"}],"subUid":123456789}],"status":"ok","ts":1603698380336} +2024-01-22 23:25:18.007 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:163] - {"data":[{"currentPage":1,"subList":[{"accountInfoList":[{"contractCode":"BTC-USDT","marginAccount":"BTC-USDT","marginAsset":"USDT","marginBalance":0,"marginMode":"isolated","symbol":"BTC"}],"subUid":"123456789"}],"totalPage":1,"totalSize":1}],"status":"ok","ts":1612504756853} +2024-01-22 23:25:54.852 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:165] - {"data":[{"adjustFactor":0.04,"contractCode":"BTC-USDT","leverRate":5,"marginAccount":"BTC-USDT","marginAsset":"USDT","marginAvailable":20,"marginBalance":20,"marginFrozen":0,"marginMode":"isolated","marginPosition":0,"marginStatic":20,"positionMode":"dual_side","profitReal":0,"profitUnreal":0,"symbol":"BTC","tradePartition":"","withdrawAvailable":20}],"status":"ok","ts":1603698523200} +2024-01-22 23:26:26.617 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:166] - {"data":[{"adlRiskPercent":3,"available":1,"contractCode":"BTC-USDT","costHold":13038.7,"costOpen":13038.7,"direction":"buy","frozen":0,"lastPrice":13038.7,"leverRate":10,"marginAccount":"BTC-USDT","marginAsset":"USDT","marginMode":"isolated","positionMargin":1.30387,"positionMode":"dual_side","profit":0,"profitRate":0,"profitUnreal":0,"symbol":"BTC","tradePartition":"","volume":1}],"status":"ok","ts":1603699081114} +2024-01-22 23:27:02.304 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:146] - {} +2024-01-22 23:29:50.452 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:155] - {"code":200,"data":[{"amount":-0.02446485,"asset":"USDT","contractCode":"BTC-USDT-211210","faceMarginAccount":"","id":117840,"marginAccount":"USDT","queryId":138798248,"ts":1638758435635,"type":5}],"msg":"","ts":1604312615051} +2024-01-22 23:30:24.631 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:148] - {"data":[{"availableLevelRate":"1,2,3,5","contractCode":"BTC-USDT","marginMode":"isolated"}],"status":"ok","ts":1603699467348} +2024-01-22 23:31:11.711 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:182] - {"data":[{"list":[{"businessType":"swap","closeLimit":170000.0,"contractCode":"BTC-USDT","contractType":"swap","openLimit":170000.0,"pair":"BTC-USDT","symbol":"BTC"},{"businessType":"futures","closeLimit":170000.0,"contractCode":"BTC-USDT-211217","contractType":"next_week","openLimit":170000.0,"pair":"BTC-USDT","symbol":"BTC"},{"businessType":"futures","closeLimit":170000.0,"contractCode":"BTC-USDT-211210","contractType":"this_week","openLimit":170000.0,"pair":"BTC-USDT","symbol":"BTC"},{"businessType":"futures","closeLimit":170000.0,"contractCode":"BTC-USDT-211231","contractType":"quarter","openLimit":170000.0,"pair":"BTC-USDT","symbol":"BTC"}],"orderPriceType":"limit"}],"status":"ok","ts":1638760136200} +2024-01-22 23:31:55.504 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:195] - {"data":[{"businessType":"swap","closeMakerFee":"0.0002","closeTakerFee":"0.0004","contractCode":"BTC-USDT","contractType":"swap","deliveryFee":"0","feeAsset":"USDT","openMakerFee":"0.0002","openTakerFee":"0.0004","pair":"BTC-USDT","symbol":"BTC"},{"businessType":"futures","closeMakerFee":"0.0002","closeTakerFee":"0.0005","contractCode":"BTC-USDT-211217","contractType":"next_week","deliveryFee":"0.00015","feeAsset":"USDT","openMakerFee":"0.0002","openTakerFee":"0.0005","pair":"BTC-USDT","symbol":"BTC"},{"businessType":"futures","closeMakerFee":"0.0002","closeTakerFee":"0.0005","contractCode":"BTC-USDT-211210","contractType":"this_week","deliveryFee":"0.00015","feeAsset":"USDT","openMakerFee":"0.0002","openTakerFee":"0.0005","pair":"BTC-USDT","symbol":"BTC"},{"businessType":"futures","closeMakerFee":"0.0002","closeTakerFee":"0.0005","contractCode":"BTC-USDT-211231","contractType":"quarter","deliveryFee":"0.00015","feeAsset":"USDT","openMakerFee":"0.0002","openTakerFee":"0.0005","pair":"BTC-USDT","symbol":"BTC"}],"status":"ok","ts":1638760715804} +2024-01-22 23:32:33.060 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:157] - {"data":[{"contractCode":"BTC-USDT","marginAccount":"BTC-USDT","marginMode":"isolated","netTransferInMaxDaily":500000000,"netTransferOutMaxDaily":100000000,"symbol":"BTC","transferInMaxDaily":1000000000,"transferInMaxEach":100000000,"transferInMinEach":1,"transferOutMaxDaily":200000000,"transferOutMaxEach":10000000,"transferOutMinEach":0.000001}],"status":"ok","ts":1603699803580} +2024-01-22 23:33:09.414 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:154] - {"data":[{"contractCode":"BTC-USDT","marginMode":"isolated","symbol":"BTC"}],"status":"ok","ts":1638770954672} +2024-01-22 23:34:17.272 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:157] - {"data":[{"contractCode":"BTC-USDT","marginAccount":"BTC-USDT","marginMode":"isolated","netTransferInMaxDaily":500000000,"netTransferOutMaxDaily":100000000,"symbol":"BTC","transferInMaxDaily":1000000000,"transferInMaxEach":100000000,"transferInMinEach":1,"transferOutMaxDaily":200000000,"transferOutMaxEach":10000000,"transferOutMinEach":0.000001}],"status":"ok","ts":1603699803580} +2024-01-22 23:35:03.607 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:154] - {"data":[{"buyLimit":1026154,"buyLimitValue":50000000,"contractCode":"BTC-USDT","leverRate":5,"marginMode":"isolated","markPrice":48725.6,"sellLimit":1026154,"sellLimitValue":50000000,"symbol":"BTC"}],"status":"ok","ts":1638770954672} +2024-01-22 23:35:50.185 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:155] - {"data":[{"contractCode":"BTC-USDT","list":[{"buyLimitValue":50000000,"leverRate":2,"sellLimitValue":50000000}],"marginMode":"isolated","symbol":"BTC"}],"status":"ok","ts":1638769536897} +2024-01-22 23:37:49.717 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:144] - {"data":[{"orderId":770320047276195840}],"status":"ok","ts":1603700211160} +2024-01-22 23:39:14.433 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:160] - {"data":[{"currentPage":1,"totalPage":2,"totalSize":2,"transferRecord":[{"amount":-10,"asset":"USDT","fromMarginAccount":"BTC-USDT","id":57920,"marginAccount":"BTC-USDT","subAccountName":"tom","subUid":"123436789","toMarginAccount":"BTC-USDT","transferType":34,"ts":1603700211125}]}],"status":"ok","ts":1603700414957} +2024-01-22 23:39:55.040 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:144] - {"data":[{"orderId":770321554893758464}],"status":"ok","ts":1603700570600} +2024-01-22 23:41:23.957 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:165] - {"data":[{"cor":[{"cancelRatio":0.98,"cancelRatioThreshold":0.98,"invalidCancelOrders":150,"isActive":1,"isTrigger":1,"orders":150,"ordersThreshold":150}],"disableInterval":5,"disableReason":"COR","isDisable":1,"orderPriceTypes":"limit,post_only,FOK,IOC","recoveryTime":1,"tdn":[{"disables":3,"disablesThreshold":3,"isActive":1,"isTrigger":1}]}],"status":"ok","ts":158797866555} diff --git a/log/debug/debug.2024-01-23_10.log b/log/debug/debug.2024-01-23_10.log new file mode 100644 index 0000000..9e0ca50 --- /dev/null +++ b/log/debug/debug.2024-01-23_10.log @@ -0,0 +1,3 @@ +2024-01-23 10:54:58.919 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:149] - {"data":[{"marginAccount":"BTC-USDT","positionMode":"single_side"}],"status":"ok","ts":1566899973811} +2024-01-23 10:55:53.265 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:149] - {"data":{"clientOrderId":57012021022,"orderId":770323133537685500,"orderIdStr":"770323133537685504"},"status":"ok","ts":1603700946949} +2024-01-23 10:57:06.814 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:162] - {"data":{"errors":[{"errCode":1050,"errMsg":"Customers order number is repeated. Please try again later.","index":2}],"success":[{"clientOrderId":57012021024,"index":1,"orderId":770323847022211100,"orderIdStr":"770323847022211072"}]},"status":"ok","ts":1603701117058} diff --git a/log/debug/debug.2024-01-23_11.log b/log/debug/debug.2024-01-23_11.log new file mode 100644 index 0000000..84fc3bb --- /dev/null +++ b/log/debug/debug.2024-01-23_11.log @@ -0,0 +1,23 @@ +2024-01-23 11:14:16.640 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:152] - {"data":{"errors":[{"errCode":1071,"errMsg":"Repeated withdraw.","orderId":"770323133537685504"}],"successes":"770323847022211072"},"status":"ok","ts":1603701351602} +2024-01-23 11:15:07.925 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:146] - {"data":{"errors":[],"successes":"768883002062282752,770325103371542528,770325103388319744"},"status":"ok","ts":1603701437838} +2024-01-23 11:16:21.006 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:147] - {"data":{},"status":"ok","ts":1603699417036} +2024-01-23 11:27:45.118 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:179] - {"data":[{"canceledAt":0,"canceledSource":"timeout-canceled-order","clientOrderId":57012021045,"contractCode":"BTC-USDT","createdAt":1603703614712,"direction":"sell","fee":-0.00522392,"feeAmount":11,"feeAsset":"USDT","feeQuoteAmount":11,"isTpsl":0,"leverRate":10,"liquidationType":"0","marginAccount":"BTC-USDT","marginAsset":"USDT","marginFrozen":0,"marginMode":"isolated","offset":"open","orderId":770334322963152900,"orderIdStr":"770334322963152896","orderPriceType":"opponent","orderSource":"api","orderType":"1","price":13059.8,"profit":0,"realProfit":0,"reduceOnly":"0","status":6,"symbol":"BTC","tradeAvgPrice":13059.8,"tradeTurnover":13.0598,"tradeVolume":1,"volume":1}],"status":"ok","ts":1603703631815} +2024-01-23 11:30:25.862 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:198] - {"data":{"adjustValue":0,"canceledAt":0,"canceledSource":"timeout-canceled-order","clientOrderId":57012021045,"contractCode":"BTC-USDT","createdAt":1603703614712,"currentPage":1,"direction":"sell","fee":-0.00522392,"feeAsset":"USDT","finalInterest":0,"instrumentPrice":0,"isTpsl":0,"leverRate":10,"liquidationType":"0","marginAccount":"BTC-USDT","marginAsset":"USDT","marginFrozen":0,"marginMode":"isolated","offset":"open","orderId":770334322963152900,"orderIdStr":"770334322963152896","orderPriceType":"opponent","orderSource":"api","orderType":1,"price":13059.8,"profit":0,"realProfit":0,"reduceOnly":"0","status":6,"symbol":"BTC","totalPage":1,"totalSize":1,"tradeAvgPrice":13059.8,"tradeTurnover":13.0598,"tradeVolume":1,"trades":[{"createdAt":1603703614715,"feeAsset":"USDT","id":"131560927-770334322963152896-1","profit":0,"realProfit":0,"role":"taker","tradeFee":-0.00522392,"tradeId":131560927,"tradePrice":13059.8,"tradeTurnover":13.0598,"tradeVolume":1}],"volume":1},"status":"ok","ts":1603703678477} +2024-01-23 11:33:49.168 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:182] - {"data":{"currentPage":1,"orders":[{"clientOrderId":57012021028,"contractCode":"BTC-USDT","createdAt":1603701640576,"direction":"sell","fee":0,"feeAsset":"USDT","isTpsl":0,"leverRate":10,"marginAccount":"BTC-USDT","marginAsset":"USDT","marginFrozen":1.3329,"marginMode":"isolated","offset":"open","orderId":770326042832437200,"orderIdStr":770326042832437248,"orderPriceType":"limit","orderSource":"api","orderType":1,"price":13329,"profit":0,"realProfit":0,"reduceOnly":"0","status":3,"symbol":"BTC","tradeTurnover":0,"tradeVolume":0,"updateTime":1606975980467,"volume":1}],"totalPage":2,"totalSize":2},"status":"ok","ts":1603703993952} +2024-01-23 11:34:44.610 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:178] - {"code":200,"data":[{"canceledSource":"timeout-canceled-order","contractCode":"BTC-USDT","createDate":1603704221118,"direction":"sell","fee":0,"feeAsset":"USDT","isTpsl":0,"leverRate":10,"liquidationType":"0","marginAccount":"BTC-USDT","marginAsset":"USDT","marginFrozen":0,"marginMode":"isolated","offset":"close","orderId":770336866451992600,"orderIdStr":"770336866451992576","orderPriceType":"6","orderSource":"web","order_type":1,"price":13100,"profit":0,"queryId":13580806498,"realProfit":0,"reduceOnly":0,"status":3,"symbol":"BTC","tradeAvgPrice":0,"tradeTurnover":0,"tradeVolume":0,"updateTime":1603704221118,"volume":1}],"msg":"","ts":1604312615051} +2024-01-23 11:35:41.192 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:178] - {"code":200,"data":[{"canceledSource":"timeout-canceled-order","contractCode":"BTC-USDT","createDate":1603704221118,"direction":"sell","fee":0,"feeAsset":"USDT","isTpsl":0,"leverRate":10,"liquidationType":"0","marginAccount":"BTC-USDT","marginFrozen":0,"marginMode":"isolated","offset":"close","orderId":770336866451992600,"orderIdStr":"770336866451992576","orderPriceType":"6","orderSource":"web","orderType":1,"price":13100,"profit":0,"queryId":13580806498,"realProfit":0,"reduceOnly":0,"status":3,"symbol":"BTC","tradeAvgPrice":0,"tradeTurnover":0,"tradeVolume":0,"volume":1}],"msg":"","ts":1604312615051} +2024-01-23 11:36:34.906 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:176] - {"code":200,"data":[{"contractCode":"BTC-USDT","createDate":1612454517740,"direction":"buy","feeAsset":"BTC-USDT","marginAccount":"BTC-USDT","marginMode":"isolated","offset":"close","orderId":807038270541733900,"orderIdStr":"807038270541733888","orderSource":"android","queryId":13580806498,"realProfit":0.2394,"reduceOnly":0,"symbol":"BTC","tradeTurnover":329.22,"tradeVolume":9}],"msg":"","ts":1604312615051} +2024-01-23 11:37:30.398 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:172] - {"code":200,"data":[{"contractCode":"BTC-USDT-211210","createDate":1639100651577,"direction":"buy","feeAsset":"USDT","id":"2902136-918800256249405440-1","marginAccount":"USDT","marginMode":"cross","matchId":2902136,"offset":"open","offsetProfitloss":0,"orderId":918800256249405400,"orderIdStr":"918800256249405440","orderSource":"api","queryId":452057,"realProfit":0,"reduceOnly":0,"role":"Taker","symbol":"BTC","tradeFee":-2.42778,"tradePrice":48555.6,"tradeTurnover":4855.56,"tradeVolume":100}],"msg":"","ts":1604312615051} +2024-01-23 11:39:17.767 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:147] - {"data":{"clientOrderId":9086,"orderId":9861634,"orderIdStr":"9861634"},"status":"ok","ts":158797866555} +2024-01-23 11:39:57.779 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:170] - {"code":200,"data":[{"contractCode":"BTC-USDT","createDate":1612454517757,"direction":"buy","feeAsset":"USDT","htPrice":"","id":"13752484857-807038270541733888-1","marginAccount":"BTC-USDT","marginMode":"isolated","matchId":13752484857,"offset":"close","offsetProfitloss":0.3636,"orderId":807038270541733900,"orderIdStr":"807038270541733888","orderSource":"android","queryId":138798248,"realProfit":0.2394,"reduceOnly":0,"role":"Taker","symbol":"BTC","tradeFee":-0.131688,"tradePrice":36580,"tradeTurnover":329.22,"tradeVolume":9}],"msg":"","ts":1604312615051} +2024-01-23 11:41:00.487 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:146] - {"data":[{"orderId":35,"orderIdStr":"35"}],"status":"ok","ts":1547521135713} +2024-01-23 11:41:51.641 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:152] - {"data":[{"errors":[{"errCode":1061,"errMsg":"This order doesnt exist.","orderId":"34"}],"successes":"1"}],"status":"ok","ts":1603704887184} +2024-01-23 11:42:30.160 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:146] - {"data":[{"errors":[],"successes":"2"}],"status":"ok","ts":1603704998960} +2024-01-23 11:43:22.136 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:170] - {"data":[{"currentPage":1,"orders":[{"contractCode":"BTC-USDT","createdAt":1603705215654,"direction":"sell","leverRate":10,"marginAccount":"BTC-USDT","marginMode":"isolated","offset":"open","orderId":4,"orderIdStr":"4","orderPrice":13900,"orderPriceType":"limit","orderSource":"api","orderType":1,"reduceOnly":"0","status":2,"symbol":"BTC","triggerPrice":13900,"triggerType":"ge","volume":1}],"totalPage":1,"totalSize":1}],"status":"ok","ts":1603705219567} +2024-01-23 11:43:53.256 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:178] - {"data":[{"currentPage":1,"orders":[{"canceledAt":1603705159520,"contractCode":"BTC-USDT","createdAt":1603705155231,"direction":"sell","leverRate":10,"marginAccount":"BTC-USDT","marginMode":"isolated","offset":"open","orderId":3,"orderIdStr":"3","orderInsertAt":0,"orderPrice":13900,"orderPriceType":"limit","orderSource":"api","orderType":1,"reduceOnly":"0","relationOrderId":"-1","status":6,"symbol":"BTC","triggerPrice":13900,"triggerType":"ge","updateTime":1603705159520,"volume":1}],"totalPage":3,"totalSize":3}],"status":"ok","ts":1603705603369} +2024-01-23 11:44:30.675 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:152] - {"data":[{"slOrder":[{"orderId":795713650665832400,"orderIdStr":"795713650665832448"}],"tpOrder":[{"orderId":795713650661638100,"orderIdStr":"795713650661638144"}]}],"status":"ok","ts":1609754517975} +2024-01-23 11:45:26.506 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:152] - {"data":[{"errors":[{"errCode":1061,"errMsg":"This order doesnt exist.","orderId":795713650661638145}],"successes":"795713650661638144"}],"status":"ok","ts":1609754722004} +2024-01-23 11:46:07.173 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:146] - {"data":[{"errors":[],"successes":"795713650665832448,795714964661583872,795714964661583873"}],"status":"ok","ts":1609754843671} +2024-01-23 11:51:51.100 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:170] - {"data":[{"currentPage":1,"orders":[{"contractCode":"BTC-USDT","createdAt":1609754934244,"direction":"buy","marginAccount":"BTC-USDT","marginMode":"isolated","orderId":795715396674895900,"orderIdStr":"795715396674895872","orderPrice":0,"orderPriceType":"optimal_5","orderSource":"api","orderType":1,"relationTpslOrderId":"795715396674895873","sourceOrderId":"795715396666507264","status":2,"symbol":"BTC","tpslOrderType":"tp","triggerPrice":27000,"triggerType":"le","volume":1}],"totalPage":4,"totalSize":4}],"status":"ok","ts":1609755183516} +2024-01-23 11:54:57.500 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:176] - {"data":[{"currentPage":1,"orders":[{"canceledAt":1609754844420,"contractCode":"BTC-USDT","createdAt":1609754831244,"direction":"sell","marginAccount":"BTC-USDT","marginMode":"isolated","orderId":795714964661583900,"orderIdStr":"795714964661583873","orderPrice":0,"orderPriceType":"optimal_5","orderSource":"api","orderType":1,"relationOrderId":"-1","relationTpslOrderId":"795714964661583872","status":6,"symbol":"BTC","tpslOrderType":"sl","triggerPrice":29000,"triggerType":"le","updateTime":1609754850018,"volume":1}],"totalPage":17,"totalSize":17}],"status":"ok","ts":1609756931689} +2024-01-23 11:58:28.509 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:209] - {"data":[{"canceledAt":0,"contractCode":"BTC-USDT","createdAt":1609810340126,"direction":"buy","fee":-0.01619946,"feeAsset":"USDT","leverRate":75,"marginAccount":"BTC-USDT","marginFrozen":0,"marginMode":"isolated","offset":"open","orderId":795947785812557800,"orderIdStr":"795947785812557824","orderPriceType":"opponent","orderSource":"api","orderType":1,"price":29999,"profit":0,"status":6,"symbol":"BTC","tpslOrderInfo":[{"canceledAt":0,"createdAt":1609810340134,"direction":"sell","orderId":795947785820946400,"orderIdStr":"795947785820946432","orderPrice":0,"orderPriceType":"optimal_5","relationOrderId":"-1","relationTpslOrderId":"795947785820946433","status":1,"tpslOrderType":"tp","triggerPrice":31000,"triggerType":"ge","volume":1},{"canceledAt":0,"createdAt":1609810340134,"direction":"sell","orderId":795947785820946400,"orderIdStr":"795947785820946433","orderPrice":0,"orderPriceType":"optimal_5","relationOrderId":"-1","relationTpslOrderId":"795947785820946432","status":1,"tpslOrderType":"sl","triggerPrice":29100,"triggerType":"le","volume":1}],"tradeAvgPrice":29999,"tradeTurnover":29.999,"tradeVolume":1,"volume":1}],"status":"ok","ts":1609810352828} diff --git a/log/debug/debug.2024-01-23_12.log b/log/debug/debug.2024-01-23_12.log new file mode 100644 index 0000000..8cbe310 --- /dev/null +++ b/log/debug/debug.2024-01-23_12.log @@ -0,0 +1,6 @@ +2024-01-23 12:05:58.717 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:146] - {"data":[{"orderId":826052268312821800,"orderIdStr":"826052268312821760"}],"status":"ok","ts":1616987808080} +2024-01-23 12:06:54.060 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:152] - {"data":[{"errors":[{"errCode":1061,"errMsg":"This order doesnt exist.","orderId":"826052268312821761"}],"successes":"826052268312821760"}],"status":"ok","ts":1616988039695} +2024-01-23 12:09:30.132 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:146] - {"data":[{"errors":[],"successes":"826054603831312384,826054608491184128,826054686706565120"}],"status":"ok","ts":1616988392280} +2024-01-23 12:10:02.599 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:170] - {"data":[{"currentPage":1,"orders":[{"activePrice":48888,"callbackRate":0.03,"contractCode":"BTC-USDT","createdAt":1616988475122,"direction":"buy","isActive":0,"leverRate":5,"offset":"open","orderId":826055066114916400,"orderIdStr":"826055066114916352","orderPriceType":"formula_price","orderSource":"api","orderType":1,"reduceOnly":"0","status":2,"symbol":"BTC","volume":1}],"totalPage":1,"totalSize":1}],"status":"ok","ts":1616988497109} +2024-01-23 12:10:45.082 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:179] - {"data":[{"currentPage":1,"orders":[{"activePrice":51111,"callbackRate":0.03,"canceledAt":1616988393365,"contractCode":"BTC-USDT","createdAt":1616988384665,"direction":"sell","isActive":0,"leverRate":5,"marginAccount":"BTC-USDT","marginMode":"isolated","offset":"open","orderId":826054686706565100,"orderIdStr":"826054686706565120","orderPriceType":"formula_price","orderSource":"api","orderType":1,"realVolume":0,"reduceOnly":"0","relationOrderId":"-1","status":6,"symbol":"BTC","updateTime":1616988430833,"volume":1}],"totalPage":1,"totalSize":4}],"status":"ok","ts":1616989113947} +2024-01-23 12:15:27.394 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:179] - {"data":[{"currentPage":1,"orders":[{"activePrice":51111,"callbackRate":0.03,"canceledAt":1616988393365,"contractCode":"BTC-USDT","createdAt":1616988384665,"direction":"sell","isActive":0,"leverRate":5,"marginAccount":"BTC-USDT","marginMode":"isolated","offset":"open","orderId":826054686706565100,"orderIdStr":"826054686706565120","orderPriceType":"formula_price","orderSource":"api","orderType":1,"realVolume":0,"reduceOnly":"0","relationOrderId":"-1","status":6,"symbol":"BTC","updateTime":1616988430833,"volume":1}],"totalPage":1,"totalSize":4}],"status":"ok","ts":1616989113947} diff --git a/log/debug/debug.2024-01-23_13.log b/log/debug/debug.2024-01-23_13.log new file mode 100644 index 0000000..0530e41 --- /dev/null +++ b/log/debug/debug.2024-01-23_13.log @@ -0,0 +1,10 @@ +2024-01-23 13:47:04.587 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:145] - {"code":200,"data":176104252,"message":"Succeed","success":"true"} +2024-01-23 13:50:23.811 [DEBUG] [main] [com.huobi.api.service.usdt.unified_account.UnifiedAccountAPIServiceImpl.getUnifiedAccountInfo:38] - body:{"code":200,"msg":"ok","data":[{"userId":null,"margin_asset":"HUSD","margin_balance":0,"margin_static":0,"cross_margin_static":0,"cross_profit_unreal":0,"margin_frozen":0,"withdraw_available":0E-18,"cross_risk_rate":null,"cross_swap":[],"cross_future":[],"isolated_swap":[]},{"userId":null,"margin_asset":"HTX","margin_balance":0,"margin_static":0,"cross_margin_static":0,"cross_profit_unreal":0,"margin_frozen":0,"withdraw_available":0E-18,"cross_risk_rate":null,"cross_swap":[],"cross_future":[],"isolated_swap":[]},{"userId":null,"margin_asset":"HT","margin_balance":0,"margin_static":0,"cross_margin_static":0,"cross_profit_unreal":0,"margin_frozen":0,"withdraw_available":0E-18,"cross_risk_rate":null,"cross_swap":[],"cross_future":[],"isolated_swap":[]},{"userId":null,"margin_asset":"USDT","margin_balance":0,"margin_static":0,"cross_margin_static":0,"cross_profit_unreal":0,"margin_frozen":0,"withdraw_available":0E-18,"cross_risk_rate":null,"cross_swap":[{"symbol":"BTC","contract_code":"BTC-USDT","margin_mode":"cross","margin_available":0,"lever_rate":5,"contract_type":"swap","business_type":"swap","cross_max_available":0}],"cross_future":[],"isolated_swap":[{"symbol":"BTC","contract_code":"BTC-USDT","margin_mode":"isolated","withdraw_available":0,"margin_available":0,"lever_rate":5}]}],"ts":1705989017627} +2024-01-23 13:50:23.977 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.getUnifiedAccountInfo:20] - 1.查询统一账户资产:{"code":200,"data":[{"crossMarginStatic":0,"crossProfitUnreal":0,"cross_swap":[],"isolatedSwap":[],"marginAsset":"HUSD","marginBalance":0,"marginFrozen":0,"marginStatic":0,"withdrawAvailable":0E-18},{"crossMarginStatic":0,"crossProfitUnreal":0,"cross_swap":[],"isolatedSwap":[],"marginAsset":"HTX","marginBalance":0,"marginFrozen":0,"marginStatic":0,"withdrawAvailable":0E-18},{"crossMarginStatic":0,"crossProfitUnreal":0,"cross_swap":[],"isolatedSwap":[],"marginAsset":"HT","marginBalance":0,"marginFrozen":0,"marginStatic":0,"withdrawAvailable":0E-18},{"crossMarginStatic":0,"crossProfitUnreal":0,"cross_swap":[{"businessType":"swap","contractCode":"BTC-USDT","contractType":"swap","leverRate":5,"marginAvailable":0,"marginMode":"cross"}],"isolatedSwap":[{"contractCode":"BTC-USDT","leverRate":5,"marginAvailable":0,"marginMode":"isolated","symbol":"BTC","withdrawAvailable":0}],"marginAsset":"USDT","marginBalance":0,"marginFrozen":0,"marginStatic":0,"withdrawAvailable":0E-18}],"msg":"ok","ts":1705989017627} +2024-01-23 13:54:41.247 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:145] - {"code":200,"data":[{}],"msg":"ok","ts":1670844857777} +2024-01-23 13:55:21.177 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:148] - {"code":200,"data":[{"orderId":"1051945088512643072"}],"msg":"ok","ts":1670844857777} +2024-01-23 13:55:51.341 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:155] - {"code":200,"data":[{"amount":0.0,"asset":"USDT","direction":1,"orderId":"1016665644990599168","queryId":1421340514,"symbol":"ETH-USDT","type":2}],"msg":"ok","ts":1670170020265} +2024-01-23 13:56:32.711 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:147] - {"code":200,"data":[{"accountType":2}],"msg":"ok","ts":1668057324200} +2024-01-23 13:58:01.931 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:147] - {"code":200,"data":[{"accountType":1}],"msg":"ok","ts":1668057324200} +2024-01-23 13:58:58.205 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:167] - {"data":[{"businessType":"swap","contractCode":"BTC-USDT","contractType":"swap","list":[{"ladders":[{"minMarginAvailable":0,"minMarginBalance":0}],"leverRate":2}],"marginAccount":"USDT","marginMode":"cross","pair":"BTC-USDT","symbol":"BTC"}],"status":"ok","ts":1638755685337} +2024-01-23 13:59:33.895 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:190] - {"data":[{"businessType":"futures","contractCode":"BTC-USDT-211210","contractType":"this_week","list":[{"ladders":[{"adjustFactor":0.005,"ladder":0,"maxSize":3999,"minSize":0},{"adjustFactor":0.01,"ladder":1,"maxSize":39999,"minSize":4000},{"adjustFactor":0.015,"ladder":2,"maxSize":79999,"minSize":40000},{"adjustFactor":0.02,"ladder":3,"maxSize":119999,"minSize":80000},{"adjustFactor":0.025,"ladder":4,"minSize":120000}],"leverRate":1}],"marginMode":"cross","pair":"BTC-USDT","symbol":"BTC"}],"status":"ok","ts":1638754992327} diff --git a/log/debug/debug.2024-01-23_14.log b/log/debug/debug.2024-01-23_14.log new file mode 100644 index 0000000..3e04e1f --- /dev/null +++ b/log/debug/debug.2024-01-23_14.log @@ -0,0 +1,43 @@ +2024-01-23 14:00:10.572 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:229] - {"data":[{"contractDetail":[{"adjustFactor":0.04,"businessType":"swap","contractCode":"BTC-USDT","contractType":"swap","leverRate":5,"marginAvailable":10000,"marginFrozen":0,"marginPosition":0,"pair":"BTC-USDT","profitUnreal":0,"symbol":"BTC","tradePartition":""}],"futuresContractDetail":[{"adjustFactor":0.04,"businessType":"futures","contractCode":"BTC-USDT-211217","contractType":"next_week","leverRate":5,"marginAvailable":10000,"marginFrozen":0,"marginPosition":0,"pair":"BTC-USDT","profitUnreal":0,"symbol":"BTC","tradePartition":""},{"adjustFactor":0.04,"businessType":"futures","contractCode":"BTC-USDT-211210","contractType":"this_week","leverRate":5,"marginAvailable":10000,"marginFrozen":0,"marginPosition":0,"pair":"BTC-USDT","profitUnreal":0,"symbol":"BTC","tradePartition":""},{"adjustFactor":0.04,"businessType":"futures","contractCode":"BTC-USDT-211231","contractType":"quarter","leverRate":5,"marginAvailable":10000,"marginFrozen":0,"marginPosition":0,"pair":"BTC-USDT","profitUnreal":0,"symbol":"BTC","tradePartition":""}],"marginAccount":"USDT","marginAsset":"USDT","marginBalance":10000,"marginFrozen":0,"marginMode":"cross","marginPosition":0,"marginStatic":10000,"positionMode":"dual_side","profitUnreal":0,"withdrawAvailable":10000}],"status":"ok","ts":1638757139907} +2024-01-23 14:00:56.871 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:193] - {"data":[{"adlRiskPercent":3,"available":1,"businessType":"swap","contractCode":"BTC-USDT","contractType":"swap","costHold":48945.9,"costOpen":48945.9,"direction":"buy","frozen":0,"lastPrice":48942.1,"leverRate":5,"marginAccount":"USDT","marginAsset":"USDT","marginMode":"cross","pair":"BTC-USDT","positionMargin":9.78842,"positionMode":"dual_side","profit":-0.0038,"profitRate":-0.00038818368852141,"profitUnreal":-0.0038,"symbol":"BTC","volume":1},{"adlRiskPercent":3,"available":1,"businessType":"futures","contractCode":"BTC-USDT-211210","contractType":"this_week","costHold":48929.7,"costOpen":48929.7,"direction":"buy","frozen":0,"lastPrice":48879.9,"leverRate":5,"marginAccount":"USDT","marginAsset":"USDT","marginMode":"cross","pair":"BTC-USDT","positionMargin":9.77598,"positionMode":"dual_side","profit":-0.0498,"profitRate":-0.00508893371510555,"profitUnreal":-0.0498,"symbol":"BTC","volume":1}],"status":"ok","ts":1638758525147} +2024-01-23 14:01:34.176 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:281] - {"data":[{"adlRiskPercent":3,"contractDetail":[{"adjustFactor":0.04,"businessType":"swap","contractCode":"BTC-USDT","contractType":"swap","leverRate":5,"marginAvailable":9716.43771679,"marginFrozen":0,"marginPosition":9.79602,"pair":"BTC-USDT","profitUnreal":0.0342,"symbol":"BTC","tradePartition":""}],"futuresContractDetail":[{"adjustFactor":0.04,"businessType":"futures","contractCode":"BTC-USDT-211217","contractType":"next_week","leverRate":5,"marginAvailable":9716.43771679,"marginFrozen":0,"marginPosition":0,"pair":"BTC-USDT","profitUnreal":0,"symbol":"BTC","tradePartition":""},{"adjustFactor":0.04,"businessType":"futures","contractCode":"BTC-USDT-211210","contractType":"this_week","leverRate":5,"marginAvailable":9716.43771679,"marginFrozen":0,"marginPosition":9.79332,"pair":"BTC-USDT","profitUnreal":0.0369,"symbol":"BTC","tradePartition":""},{"adjustFactor":0.005,"businessType":"futures","contractCode":"BTC-USDT-211231","contractType":"quarter","leverRate":1,"marginAvailable":9716.43771679,"marginFrozen":264,"marginPosition":0,"pair":"BTC-USDT","profitUnreal":0,"symbol":"BTC","tradePartition":""}],"marginAccount":"USDT","marginAsset":"USDT","marginBalance":10000.02705679,"marginFrozen":264,"marginMode":"cross","marginPosition":19.58934,"marginStatic":9999.95595679,"newRiskRate":"","positionMode":"dual_side","positions":[{"available":1,"businessType":"swap","contractCode":"BTC-USDT","contractType":"swap","costHold":48945.9,"costOpen":48945.9,"direction":"buy","frozen":0,"lastPrice":48980.1,"leverRate":5,"marginAccount":"USDT","marginAsset":"USDT","marginMode":"cross","pair":"BTC-USDT","positionMargin":9.79602,"positionMode":"dual_side","profit":0.0342,"profitRate":0.00349365319669267,"profitUnreal":0.0342,"symbol":"BTC","tradePartition":"","volume":1},{"available":1,"businessType":"futures","contractCode":"BTC-USDT-211210","contractType":"this_week","costHold":48929.7,"costOpen":48929.7,"direction":"buy","frozen":0,"lastPrice":48966.6,"leverRate":5,"marginAccount":"USDT","marginAsset":"USDT","marginMode":"cross","pair":"BTC-USDT","positionMargin":9.79332,"positionMode":"dual_side","profit":0.0369,"profitRate":0.003770715945530015,"profitUnreal":0.0369,"symbol":"BTC","tradePartition":"","volume":1}],"profitReal":-0.04404321,"profitUnreal":0.0711,"riskRate":4752.827989089614,"withdrawAvailable":9716.36661679}],"status":"ok","ts":1638758699818} +2024-01-23 14:02:19.330 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:157] - {"data":[{"list":[{"marginAccount":"USDT","marginAsset":"USDT","marginBalance":163.56170812955912,"marginMode":"cross","riskRate":78.89672939225149}],"subUid":123456789}],"status":"ok","ts":1606962745633} +2024-01-23 14:02:55.547 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:162] - {"data":[{"currentPage":1,"subList":[{"accountInfoList":[{"marginAccount":"USDT","marginAsset":"USDT","marginBalance":2,"marginMode":"cross"}],"subUid":"12345678"}],"totalPage":1,"totalSize":1}],"status":"ok","ts":1612504845679} +2024-01-23 14:03:25.752 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:229] - {"data":[{"contractDetail":[{"adjustFactor":0.04,"businessType":"swap","contractCode":"BTC-USDT","contractType":"swap","leverRate":5,"marginAvailable":500,"marginFrozen":0,"marginPosition":0,"pair":"BTC-USDT","profitUnreal":0,"symbol":"BTC","tradePartition":""}],"futuresContractDetail":[{"adjustFactor":0.04,"businessType":"futures","contractCode":"BTC-USDT-211217","contractType":"next_week","leverRate":5,"marginAvailable":500,"marginFrozen":0,"marginPosition":0,"pair":"BTC-USDT","profitUnreal":0,"symbol":"BTC","tradePartition":""},{"adjustFactor":0.04,"businessType":"futures","contractCode":"BTC-USDT-211210","contractType":"this_week","leverRate":5,"marginAvailable":500,"marginFrozen":0,"marginPosition":0,"pair":"BTC-USDT","profitUnreal":0,"symbol":"BTC","tradePartition":""},{"adjustFactor":0.04,"businessType":"futures","contractCode":"BTC-USDT-211231","contractType":"quarter","leverRate":5,"marginAvailable":500,"marginFrozen":0,"marginPosition":0,"pair":"BTC-USDT","profitUnreal":0,"symbol":"BTC","tradePartition":""}],"marginAccount":"USDT","marginAsset":"USDT","marginBalance":500,"marginFrozen":0,"marginMode":"cross","marginPosition":0,"marginStatic":500,"positionMode":"dual_side","profitReal":0,"profitUnreal":0,"withdrawAvailable":500}],"status":"ok","ts":1638759191747} +2024-01-23 14:04:10.183 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:171] - {"data":[{"adlRiskPercent":3,"available":1,"businessType":"futures","contractCode":"BTC-USDT-211231","contractType":"quarter","costHold":48886.7,"costOpen":48886.7,"direction":"sell","frozen":0,"lastPrice":48952,"leverRate":1,"marginAccount":"USDT","marginAsset":"USDT","marginMode":"cross","pair":"BTC-USDT","positionMargin":48.952,"positionMode":"dual_side","profit":-0.0653,"profitRate":-0.00133574162297721,"profitUnreal":-0.0653,"symbol":"BTC","tradePartition":"","volume":1}],"status":"ok","ts":1638759509329} +2024-01-23 14:04:42.576 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:177] - {"data":[{"availableLevelRate":"1,2,3,5","businessType":"swap","contractCode":"ETH-USDT","contractType":"swap","marginMode":"cross","pair":"ETH-USDT"},{"availableLevelRate":"1,2,3,5","businessType":"futures","contractCode":"ETH-USDT-211210","contractType":"this_week","marginMode":"cross","pair":"ETH-USDT"},{"availableLevelRate":"1,2,3,5","businessType":"futures","contractCode":"ETH-USDT-211217","contractType":"next_week","marginMode":"cross","pair":"ETH-USDT"},{"availableLevelRate":"1,2,3,5","businessType":"futures","contractCode":"ETH-USDT-211231","contractType":"quarter","marginMode":"cross","pair":"ETH-USDT"}],"status":"ok","ts":1638760001689} +2024-01-23 14:05:34.695 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:157] - {"data":[{"marginAccount":"USDT","marginMode":"cross","netTransferInMaxDaily":900000000100000000,"netTransferOutMaxDaily":123456789012345680,"transferInMaxDaily":900000001000000000,"transferInMaxEach":1000000000000000000,"transferInMinEach":0.0001,"transferOutMaxDaily":900000100000000000,"transferOutMaxEach":1000000000000000000,"transferOutMinEach":0.0001}],"status":"ok","ts":1606964432217} +2024-01-23 14:06:15.807 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:201] - {"data":[{"businessType":"swap","buyLimit":1021671,"buyLimitValue":50000000,"contractCode":"BTC-USDT","contractType":"swap","leverRate":5,"marginMode":"cross","markPrice":48939.4,"pair":"BTC-USDT","sellLimit":1021671,"sellLimitValue":50000000,"symbol":"BTC"},{"businessType":"futures","buyLimit":1021865,"buyLimitValue":50000000,"contractCode":"BTC-USDT-211217","contractType":"next_week","leverRate":5,"marginMode":"cross","markPrice":48930.1,"pair":"BTC-USDT","sellLimit":1021865,"sellLimitValue":50000000,"symbol":"BTC"},{"businessType":"futures","buyLimit":1023478,"buyLimitValue":50000000,"contractCode":"BTC-USDT-211210","contractType":"this_week","leverRate":5,"marginMode":"cross","markPrice":48853,"pair":"BTC-USDT","sellLimit":1023478,"sellLimitValue":50000000,"symbol":"BTC"},{"businessType":"futures","buyLimit":1021867,"buyLimitValue":50000000,"contractCode":"BTC-USDT-211231","contractType":"quarter","leverRate":1,"marginMode":"cross","markPrice":48930,"pair":"BTC-USDT","sellLimit":1021867,"sellLimitValue":50000000,"symbol":"BTC"}],"status":"ok","ts":1638760890261} +2024-01-23 14:06:42.071 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:205] - {"data":[{"businessType":"swap","contractCode":"BTC-USDT","contractType":"swap","list":[{"buyLimitValue":50000000,"leverRate":2,"sellLimitValue":50000000}],"marginMode":"cross","pair":"BTC-USDT","symbol":"BTC"},{"businessType":"futures","contractCode":"BTC-USDT-211217","contractType":"next_week","list":[{"buyLimitValue":50000000,"leverRate":2,"sellLimitValue":50000000}],"marginMode":"cross","pair":"BTC-USDT","symbol":"BTC"},{"businessType":"futures","contractCode":"BTC-USDT-211210","contractType":"this_week","list":[{"buyLimitValue":50000000,"leverRate":2,"sellLimitValue":50000000}],"marginMode":"cross","pair":"BTC-USDT","symbol":"BTC"},{"businessType":"futures","contractCode":"BTC-USDT-211231","contractType":"quarter","list":[{"buyLimitValue":50000000,"leverRate":2,"sellLimitValue":50000000}],"marginMode":"cross","pair":"BTC-USDT","symbol":"BTC"}],"status":"ok","ts":1638769370732} +2024-01-23 14:07:29.345 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:193] - {"data":[{"businessType":"futures","cancel":1,"close":1,"contractCode":"BTC-USDT-211210","contractType":"this_week","marginAccount":"USDT","marginMode":"cross","open":1,"pair":"BTC-USDT","symbol":"BTC"},{"businessType":"futures","cancel":1,"close":1,"contractCode":"BTC-USDT-211217","contractType":"next_week","marginAccount":"USDT","marginMode":"cross","open":1,"pair":"BTC-USDT","symbol":"BTC"},{"businessType":"futures","cancel":1,"close":1,"contractCode":"BTC-USDT-211231","contractType":"quarter","marginAccount":"USDT","marginMode":"cross","open":1,"pair":"BTC-USDT","symbol":"BTC"},{"businessType":"swap","cancel":1,"close":1,"contractCode":"BTC-USDT","contractType":"swap","marginAccount":"USDT","marginMode":"cross","open":1,"pair":"BTC-USDT","symbol":"BTC"}],"status":"ok","ts":1638756343093} +2024-01-23 14:07:58.659 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:149] - {"data":[{"marginAccount":"USDT","positionMode":"single_side"}],"status":"ok","ts":1566899973811} +2024-01-23 14:08:23.232 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:147] - {"data":{"orderId":784017187857760300,"orderIdStr":"784017187857760256"},"status":"ok","ts":1606965863952} +2024-01-23 14:09:05.339 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:159] - {"data":{"errors":[{"errCode":1045,"errMsg":"Unable to switch leverage due to open orders.","index":2}],"success":[{"index":1,"orderId":784022175422087200,"orderIdStr":"784022175422087168"}]},"status":"ok","ts":1606967053089} +2024-01-23 14:33:19.385 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:163] - {"data":{"errors":[],"successes":"784055473531781120,784055473842159616"},"status":"ok","ts":1606974998510} +2024-01-23 14:33:50.578 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:167] - {"data":[{"businessType":"swap","contractCode":"BTC-USDT","contractType":"swap","leverRate":2,"marginMode":"cross","pair":"BTC-USDT"}],"status":"ok","ts":1639099382678} +2024-01-23 14:34:31.353 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:196] - {"data":[{"canceledAt":0,"canceledSource":"timeout-canceled-order","clientOrderId":57012021045,"contractCode":"BTC-USDT","createdAt":1603703614712,"direction":"sell","fee":-0.00522392,"feeAmount":11,"feeAsset":"USDT","feeQuoteAmount":11,"isTpsl":0,"leverRate":10,"liquidationType":"0","marginAccount":"BTC-USDT","marginAsset":"USDT","marginFrozen":0,"marginMode":"isolated","offset":"open","orderId":770334322963152900,"orderIdStr":"770334322963152896","orderPriceType":"opponent","orderSource":"api","orderType":"1","price":13059.8,"profit":0,"realProfit":0,"reduceOnly":"0","status":6,"symbol":"BTC","tradeAvgPrice":13059.8,"tradeTurnover":13.0598,"tradeVolume":1,"volume":1}],"status":"ok","ts":1603703631815} +2024-01-23 14:35:03.071 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:215] - {"data":{"adjustValue":0,"canceledAt":0,"clientOrderId":57012021045,"contractCode":"BTC-USDT","createdAt":1603703614712,"currentPage":1,"direction":"sell","fee":-0.00522392,"feeAsset":"USDT","finalInterest":0,"instrumentPrice":0,"isTpsl":0,"leverRate":10,"liquidationType":"0","marginAccount":"BTC-USDT","marginAsset":"USDT","marginFrozen":0,"marginMode":"isolated","offset":"open","orderId":770334322963152900,"orderIdStr":"770334322963152896","orderPriceType":"opponent","orderSource":"api","orderType":1,"price":13059.8,"profit":0,"realProfit":0,"reduceOnly":"0","status":6,"symbol":"BTC","totalPage":1,"totalSize":1,"tradeAvgPrice":13059.8,"tradeTurnover":13.0598,"tradeVolume":1,"trades":[{"createdAt":1603703614715,"feeAsset":"USDT","id":"131560927-770334322963152896-1","profit":0,"realProfit":0,"role":"taker","tradeFee":-0.00522392,"tradeId":131560927,"tradePrice":13059.8,"tradeTurnover":13.0598,"tradeVolume":1}],"volume":1},"status":"ok","ts":1603703678477} +2024-01-23 14:35:45.090 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:202] - {"data":{"currentPage":1,"orders":[{"businessType":"swap","contractCode":"BTC-USDT","contractType":"swap","createdAt":1639104153393,"direction":"sell","fee":0,"feeAsset":"USDT","isTpsl":0,"leverRate":5,"marginAccount":"USDT","marginAsset":"USDT","marginFrozen":13.2,"marginMode":"cross","offset":"open","orderId":918814943964184600,"orderIdStr":918814943964184578,"orderPriceType":"post_only","orderSource":"api","orderType":1,"pair":"BTC-USDT","price":66000,"profit":0,"realProfit":0,"reduceOnly":"0","status":3,"symbol":"BTC","tradeTurnover":0,"tradeVolume":0,"updateTime":1639104153425,"volume":1}],"totalPage":1,"totalSize":1},"status":"ok","ts":1639104160523} +2024-01-23 14:36:16.772 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:195] - {"code":200,"data":[{"canceledSource":"timeout-canceled-order","contractCode":"BTC-USDT","createDate":1603704221118,"direction":"sell","fee":0,"feeAsset":"USDT","isTpsl":0,"leverRate":10,"liquidationType":"0","marginAccount":"BTC-USDT","marginAsset":"USDT","marginFrozen":0,"marginMode":"isolated","offset":"close","orderId":770336866451992600,"orderIdStr":"770336866451992576","orderPriceType":"6","orderSource":"web","order_type":1,"price":13100,"profit":0,"queryId":13580806498,"realProfit":0,"reduceOnly":0,"status":3,"symbol":"BTC","tradeAvgPrice":0,"tradeTurnover":0,"tradeVolume":0,"updateTime":1603704221118,"volume":1}],"msg":"","ts":1604312615051} +2024-01-23 14:37:27.942 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:193] - {"code":200,"data":[{"canceledSource":"timeout-canceled-order","contractCode":"BTC-USDT","createDate":1612454517740,"direction":"buy","fee":-0.131688,"feeAsset":"BTC-USDT","isTpsl":0,"leverRate":10,"liquidationType":"0","marginAccount":"BTC-USDT","marginFrozen":0,"marginMode":"isolated","offset":"close","orderId":807038270541733900,"orderIdStr":"807038270541733888","orderPriceType":"opponent","orderSource":"android","order_type":1,"price":36580,"profit":0.3636,"queryId":13580806498,"realProfit":0.2394,"reduceOnly":0,"status":6,"symbol":"BTC","tradeAvgPrice":36580,"tradeTurnover":329.22,"tradeVolume":9,"volume":9}],"msg":"","ts":1604312615051} +2024-01-23 14:38:02.973 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:189] - {"code":200,"data":[{"businessType":"futures","contractCode":"BTC-USDT-211210","contractType":"this_week","createDate":1639100651577,"direction":"buy","feeAsset":"USDT","id":"2902136-918800256249405440-1","marginAccount":"USDT","marginMode":"cross","matchId":2902136,"offset":"open","offsetProfitloss":0,"orderId":918800256249405400,"orderIdStr":"918800256249405440","orderSource":"api","pair":"BTC-USDT","queryId":452057,"realProfit":0,"reduceOnly":0,"role":"Taker","symbol":"BTC","tradeFee":-2.42778,"tradePrice":48555.6,"tradeTurnover":4855.56,"tradeVolume":100}],"msg":"","ts":1604312615051} +2024-01-23 14:38:37.384 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:190] - {"code":200,"data":[{"businessType":"futures","contractCode":"BTC-USDT-211210","contractType":"this_week","createDate":1639100651577,"direction":"buy","feeAsset":"USDT","id":"2902136-918800256249405440-1","marginAccount":"USDT","marginMode":"cross","matchId":2902136,"offset":"open","offsetProfitloss":0,"orderId":918800256249405400,"orderIdStr":"918800256249405440","orderSource":"api","pair":"BTC-USDT","queryId":452057,"realProfit":0,"reduceOnly":0,"role":"Taker","symbol":"BTC","tradeFee":-2.42778,"tradePrice":48555.6,"tradeTurnover":4855.56,"tradeVolume":100}],"msg":"","ts":1604312615051} +2024-01-23 14:39:11.668 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:163] - {"data":{"orderId":784063527799226400,"orderIdStr":"784063527799226368"},"status":"ok","ts":1606976912267} +2024-01-23 14:39:36.259 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:165] - {"data":[{"marginAccount":"USDT","positionMode":"single_side"}],"status":"ok","ts":1566899973811} +2024-01-23 14:40:13.308 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:163] - {"data":[{"orderId":1880,"orderIdStr":"1880"}],"status":"ok","ts":1606977456766} +2024-01-23 14:40:47.217 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:169] - {"data":[{"errors":[{"errCode":1061,"errMsg":"This order doesnt exist.","orderId":"1888"}],"successes":"1880"}],"status":"ok","ts":1606977508308} +2024-01-23 14:41:17.279 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:163] - {"data":[{"errors":[],"successes":"1879,1878"}],"status":"ok","ts":1606977712328} +2024-01-23 14:41:43.012 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:190] - {"data":[{"currentPage":1,"orders":[{"businessType":"futures","contractCode":"BTC-USDT-211231","contractType":"quarter","createdAt":1639102649275,"direction":"buy","leverRate":1,"marginAccount":"USDT","marginMode":"cross","offset":"open","orderId":918808635214700500,"orderIdStr":"918808635214700544","orderPrice":40000,"orderPriceType":"limit","orderSource":"api","orderType":1,"pair":"BTC-USDT","reduceOnly":"0","status":2,"symbol":"BTC","triggerPrice":40000,"triggerType":"le","volume":1}],"totalPage":1,"totalSize":1}],"status":"ok","ts":1639102667934} +2024-01-23 14:42:36.811 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:198] - {"data":[{"currentPage":1,"orders":[{"businessType":"futures","canceledAt":1639103205980,"contractCode":"BTC-USDT-211231","contractType":"quarter","createdAt":1639102649275,"direction":"buy","leverRate":1,"marginAccount":"USDT","marginMode":"cross","offset":"open","orderId":918808635214700500,"orderIdStr":"918808635214700544","orderInsertAt":0,"orderPrice":40000,"orderPriceType":"limit","orderSource":"api","orderType":1,"pair":"BTC-USDT","reduceOnly":"0","relationOrderId":"-1","status":6,"symbol":"BTC","triggerPrice":40000,"triggerType":"le","updateTime":"1639103206083","volume":1}],"totalPage":1,"totalSize":1}],"status":"ok","ts":1639103213233} +2024-01-23 14:43:50.024 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:169] - {"data":[{"slOrder":[{"orderId":795714078698750000,"orderIdStr":"795714078698749953"}],"tpOrder":[{"orderId":795714078698750000,"orderIdStr":"795714078698749952"}]}],"status":"ok","ts":1609754620038} +2024-01-23 14:44:16.692 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:169] - {"data":[{"errors":[{"errCode":1061,"errMsg":"This order doesnt exist.","orderId":795714078698749956}],"successes":"795714078698749952"}],"status":"ok","ts":1609754775942} +2024-01-23 14:44:56.439 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:163] - {"data":[{"errors":[],"successes":"795714078698749953,795715192882053120,795715192886247424"}],"status":"ok","ts":1609754894463} +2024-01-23 14:45:32.388 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:214] - {"data":[{"currentPage":1,"orders":[{"businessType":"futures","contractCode":"BTC-USDT-211210","contractType":"this_week","createdAt":1639104640223,"direction":"sell","marginAccount":"USDT","marginMode":"cross","orderId":918816985859559400,"orderIdStr":"918816985859559425","orderPrice":0,"orderPriceType":"optimal_5","orderSource":"api","orderType":1,"pair":"BTC-USDT","relationTpslOrderId":"918816985859559424","status":2,"symbol":"BTC","tpslOrderType":"sl","triggerPrice":40000,"triggerType":"le","volume":1},{"businessType":"futures","contractCode":"BTC-USDT-211210","contractType":"this_week","createdAt":1639104640223,"direction":"sell","marginAccount":"USDT","marginMode":"cross","orderId":918816985859559400,"orderIdStr":"918816985859559424","orderPrice":0,"orderPriceType":"optimal_5","orderSource":"api","orderType":1,"pair":"BTC-USDT","relationTpslOrderId":"918816985859559425","status":2,"symbol":"BTC","tpslOrderType":"tp","triggerPrice":50000,"triggerType":"ge","volume":1}],"totalPage":1,"totalSize":2}],"status":"ok","ts":1639104794491} +2024-01-23 14:46:06.084 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:196] - {"data":[{"currentPage":1,"orders":[{"businessType":"futures","canceledAt":1639104933147,"contractCode":"BTC-USDT-211210","contractType":"this_week","createdAt":1639104640223,"direction":"sell","marginAccount":"USDT","marginMode":"cross","orderId":918816985859559400,"orderIdStr":"918816985859559424","orderPrice":0,"orderPriceType":"optimal_5","orderSource":"api","orderType":1,"pair":"BTC-USDT","relationOrderId":"-1","relationTpslOrderId":"918816985859559425","status":6,"symbol":"BTC","tpslOrderType":"tp","triggerPrice":50000,"triggerType":"ge","updateTime":1639104933172,"volume":1}],"totalPage":1,"totalSize":1}],"status":"ok","ts":1639104940769} +2024-01-23 14:47:10.964 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:229] - {"data":[{"businessType":"futures","canceledAt":0,"contractCode":"BTC-USDT-211210","contractType":"this_week","createdAt":1639105121550,"direction":"buy","fee":-0.0242961,"feeAsset":"USDT","leverRate":5,"marginAccount":"USDT","marginFrozen":0,"marginMode":"cross","offset":"open","orderId":918819004716982300,"orderIdStr":"918819004716982272","orderPriceType":"opponent","orderSource":"api","orderType":1,"pair":"BTC-USDT","price":48592.2,"profit":0,"status":6,"symbol":"BTC","tpslOrderInfo":[{"canceledAt":0,"createdAt":1639105121563,"direction":"sell","orderId":918819004746342400,"orderIdStr":"918819004746342400","orderPrice":0,"orderPriceType":"optimal_5","relationOrderId":"-1","relationTpslOrderId":"918819004750536704","status":2,"tpslOrderType":"tp","triggerPrice":50000,"triggerType":"ge","volume":1},{"canceledAt":0,"createdAt":1639105121564,"direction":"sell","orderId":918819004750536700,"orderIdStr":"918819004750536704","orderPrice":0,"orderPriceType":"optimal_5","relationOrderId":"-1","relationTpslOrderId":"918819004746342400","status":2,"tpslOrderType":"sl","triggerPrice":40000,"triggerType":"le","volume":1}],"tradeAvgPrice":48592.2,"tradeTurnover":48.5922,"tradeVolume":1,"volume":1}],"status":"ok","ts":1639105149621} +2024-01-23 14:47:44.183 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:163] - {"data":[{"orderId":826052906719445000,"orderIdStr":"826052906719444992"}],"status":"ok","ts":1616987960287} +2024-01-23 14:48:27.708 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:169] - {"data":[{"errors":[{"errCode":1061,"errMsg":"This order doesnt exist.","orderId":"826052906719444993"}],"successes":"826053970168446976"}],"status":"ok","ts":1616988232517} +2024-01-23 14:48:53.416 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:163] - {"data":[{"errors":[],"successes":"826054813483597824,826054818734866432,826054867657228288"}],"status":"ok","ts":1616988442893} +2024-01-23 14:49:18.268 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:190] - {"data":[{"currentPage":1,"orders":[{"activePrice":41111,"businessType":"futures","callbackRate":0.03,"contractCode":"BTC-USDT-211231","contractType":"quarter","createdAt":1639105282359,"direction":"buy","isActive":0,"leverRate":1,"offset":"open","orderId":918819679173152800,"orderIdStr":"918819679173152768","orderPriceType":"formula_price","orderSource":"api","orderType":1,"pair":"BTC-USDT","reduceOnly":"0","status":2,"symbol":"BTC","volume":1}],"totalPage":1,"totalSize":1}],"status":"ok","ts":1639105312766} +2024-01-23 14:49:57.547 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:199] - {"data":[{"currentPage":1,"orders":[{"activePrice":41111,"businessType":"futures","callbackRate":0.03,"canceledAt":1639105426208,"contractCode":"BTC-USDT-211231","contractType":"quarter","createdAt":1639105282359,"direction":"buy","isActive":0,"leverRate":1,"marginAccount":"USDT","marginMode":"cross","offset":"open","orderId":918819679173152800,"orderIdStr":"918819679173152768","orderPriceType":"formula_price","orderSource":"api","orderType":1,"pair":"BTC-USDT","realVolume":0,"reduceOnly":"0","relationOrderId":"-1","status":6,"symbol":"BTC","updateTime":1639105426243,"volume":1}],"totalPage":1,"totalSize":1}],"status":"ok","ts":1639105441911} +2024-01-23 14:52:15.006 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:175] - {"data":[{"marginAccount":"USDT","marginMode":"cross","masterTransferSub":1,"masterTransferSubInnerIn":1,"masterTransferSubInnerOut":1,"subTransferMaster":1,"subTransferMasterInnerIn":1,"subTransferMasterInnerOut":1,"transferIn":1,"transferInnerIn":1,"transferInnerOut":1,"transferOut":1}],"status":"ok","ts":1606905619516} diff --git a/log/debug/debug.2024-01-23_15.log b/log/debug/debug.2024-01-23_15.log new file mode 100644 index 0000000..b338e08 --- /dev/null +++ b/log/debug/debug.2024-01-23_15.log @@ -0,0 +1,67 @@ +2024-01-23 15:11:38.608 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:174] - {"data":{"symbol":"BTC","tick":[{"insuranceFund":1909.85257948675,"ts":1604217600000},{"insuranceFund":1907.6465529032641,"ts":1604131200000}]},"status":"ok","ts":1604298695848} +2024-01-23 15:12:07.127 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:192] - {"data":[{"list":[{"ladders":[{"adjustFactor":0.65,"ladder":0,"maxSize":1999,"minSize":0},{"adjustFactor":0.8,"ladder":1,"maxSize":14999,"minSize":2000},{"adjustFactor":0.85,"ladder":2,"minSize":15000}],"lever_rate":125}],"symbol":"BTC"}],"status":"ok","ts":1604298785020} +2024-01-23 15:12:36.686 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:179] - {"data":{"contract_type":"quarter","symbol":"BTC","tick":[{"amountType":1,"ts":1604296800000,"volume":3058980.0000000000000000},{"amountType":1,"ts":1604293200000,"volume":3049899.0000000000000000}]},"status":"ok","ts":1604298943494} +2024-01-23 15:13:06.345 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:202] - {"data":[{"list":[{"ladders":[{"maxMarginAvailable":20,"maxMarginBalance":20,"minMarginAvailable":0,"minMarginBalance":0},{"maxMarginAvailable":50,"maxMarginBalance":80,"minMarginAvailable":20,"minMarginBalance":20},{"maxMarginAvailable":110,"maxMarginBalance":380,"minMarginAvailable":50,"minMarginBalance":80},{"maxMarginAvailable":170,"maxMarginBalance":980,"minMarginAvailable":110,"minMarginBalance":380},{"minMarginAvailable":170,"minMarginBalance":980}],"leverRate":20}],"symbol":"BTC"}],"status":"ok","ts":1612489488052} +2024-01-23 15:13:45.547 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:171] - {"data":{"list":[{"buyRatio":0.52,"lockedRatio":0.03,"sellRatio":0.45,"ts":1604290200000}],"symbol":"BTC"},"status":"ok","ts":1604299070097} +2024-01-23 15:14:12.576 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:175] - {"data":{"list":[{"buyRatio":0.51,"sellRatio":0.49,"ts":1604290500000},{"buyRatio":0.508,"sellRatio":0.492,"ts":1604290800000}],"symbol":"BTC"},"status":"ok","ts":1604299402211} +2024-01-23 15:14:55.305 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:174] - {"code":200,"data":[{"amount":0.13214766383260754,"contractCode":"BTC201225","createdAt":1606293144641,"direction":"buy","offset":"close","price":19674.96,"queryId":111000,"symbol":"BTC","volume":26}],"msg":"","ts":1604312615051} +2024-01-23 15:15:16.941 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:194] - {"data":[{"currentPage":1,"settlementRecord":[{"clawbackRatio":0,"list":[{"contractCode":"BTC201120","settlementPrice":18217.62,"settlementType":"delivery"},{"contractCode":"BTC201127","settlementPrice":18292.24,"settlementType":"settlement"},{"contractCode":"BTC201225","settlementPrice":18490.42,"settlementType":"settlement"},{"contractCode":"BTC210326","settlementPrice":18788.7,"settlementType":"settlement"}],"settlementTime":1605859200000,"symbol":"BTC"}],"totalPage":13,"totalSize":13}],"status":"ok","ts":1606295834648} +2024-01-23 15:15:47.760 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:169] - {"data":[{"contractCode":"BTC210813","contractType":"this_week","highLimit":46365.84,"lowLimit":44547.58,"symbol":"BTC"}],"status":"ok","ts":1628650919495} +2024-01-23 15:16:14.526 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:172] - {"data":[{"amount":877.273288561929,"contractCode":"BTC210813","contractType":"this_week","symbol":"BTC","tradeAmount":4986.528002538939,"tradeTurnover":227286800,"tradeVolume":2272868,"volume":399976}],"status":"ok","ts":1628651933482} +2024-01-23 15:16:40.901 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:163] - {"data":{"deliveryPrice":40883.18927358753},"status":"ok","ts":1628652034810} +2024-01-23 15:17:06.751 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:191] - {"data":[{"list":[{"contractCode":"BTC210122","contractType":"this_week","settlementType":"settlement"},{"contractCode":"BTC210129","contractType":"next_week","settlementType":"settlement"},{"contractCode":"BTC210326","contractType":"quarter","settlementType":"settlement"},{"contractCode":"BTC210625","contractType":"next_quarter","settlementType":"settlement"}],"symbol":"BTC"}],"status":"ok","ts":1609835707183} +2024-01-23 15:17:37.572 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:182] - {"data":[{"cancel":1,"close":1,"masterTransferSub":1,"open":1,"subTransferMaster":1,"symbol":"BTC","transferIn":1,"transferOut":1},{"cancel":1,"close":1,"masterTransferSub":1,"open":1,"subTransferMaster":1,"symbol":"ETH","transferIn":1,"transferOut":1}],"status":"ok","ts":1628652120762} +2024-01-23 15:18:05.339 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:186] - {"data":[{"contractCode":"BTC210813","contractSize":100,"contractStatus":1,"contractType":"this_week","createDate":"20210730","deliveryDate":"20210813","deliveryTime":1628841600000,"priceTick":0.01,"settlementTime":1628668800000,"symbol":"BTC"},{"contractCode":"ETH210813","contractSize":10,"contractStatus":1,"contractType":"this_week","createDate":"20210730","deliveryDate":"20210813","deliveryTime":1628841600000,"priceTick":0.001,"settlementTime":1628668800000,"symbol":"ETH"}],"status":"ok","ts":1628650535608} +2024-01-23 15:18:37.079 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:167] - {"data":[{"indexPrice":13707.26,"indexTs":1604296614010,"symbol":"BTC"}],"status":"ok","ts":1604296620746} +2024-01-23 15:19:03.577 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:262] - {"data":[{"biquarterHigNormalLimit":0,"biquarterHigOpenLimit":0,"biquarterHigTradeLimit":0,"biquarterMinNormalLimit":0,"biquarterMinOpenLimit":0,"biquarterMinTradeLimit":0,"biweekHigNormalLimit":100,"biweekHigOpenLimit":1000,"biweekHigTradeLimit":1000,"biweekMinNormalLimit":1000,"biweekMinOpenLimit":1000,"biweekMinTradeLimit":1000,"contractCode":"ETH","contractInfos":[{"contractCode":"ETH231109","contractStatus":1,"createDate":"20231027","instrumentType":[1]},{"contractCode":"ETH231116","contractStatus":1,"createDate":"20231115","instrumentType":[2]},{"contractCode":"ETH231228","contractStatus":1,"createDate":"20231027","instrumentType":[3]},{"contractCode":"ETH240328","contractStatus":1,"createDate":"20231027","instrumentType":[4]}],"instrumentIndexCode":"ETH-USD","instrumentType":[1,2,3,4],"longPositionLimit":11200000.000000000000000000,"maxLevel":95,"minLevel":1,"offsetOrderLimit":11700.000000000000000000,"openOrderLimit":10008000.000000000000000000,"orderLimits":[{"close":"1900.000000000000000000","instrumentType":1,"open":"1600.000000000000000000"},{"close":"1300.000000000000000000","instrumentType":2,"open":"1000.000000000000000000"},{"close":"2000.000000000000000000","instrumentType":3,"open":"10000000.000000000000000000"},{"close":"6500.000000000000000000","instrumentType":4,"open":"5400.000000000000000000"}],"quarterHigNormalLimit":1,"quarterHigOpenLimit":1,"quarterHigTradeLimit":1,"quarterMinNormalLimit":1,"quarterMinOpenLimit":1,"quarterMinTradeLimit":1,"realTimeSettlement":0,"shortPositionLimit":11200000.000000000000000000,"transferProfitRatio":0,"weekHigNormalLimit":1,"weekHigOpenLimit":1,"weekHigTradeLimit":1,"weekMinNormalLimit":1,"weekMinOpenLimit":1,"weekMinTradeLimit":1}],"status":"ok"} +2024-01-23 15:22:32.319 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:188] - {"ch":"market.BTC_NQ.depth.step6","status":"ok","tick":{"asks":[[14100.87,163],[14100.88,20]],"bids":[[14098.09,53],[14098.08,75]],"ch":"market.BTC_NQ.depth.step6","id":1604297395,"mrid":113765352864,"ts":1604297395012,"version":1604297395},"ts":1604297395085} +2024-01-23 15:23:09.281 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:189] - {"status":"ok","ticks":[{"ask":[45651.21,498],"bid":[45644.31,40],"mrid":144083800866,"symbol":"BTC_CW","ts":1628652339586},{"ask":[45659.01,8],"bid":[45659,184],"mrid":144083799954,"symbol":"BTC_NW","ts":1628652337609}],"ts":1628652339605} +2024-01-23 15:24:05.433 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:184] - {"ch":"market.BTC_CQ.kline.1min","data":[{"amount":2.6471133153472475,"close":45851,"count":50,"high":45880.01,"id":1628652420,"low":45850.93,"open":45875.02,"vol":1214},{"amount":0.6411077350166106,"close":45857.52,"count":7,"high":45863.34,"id":1628652480,"low":45851.87,"open":45863.34,"vol":294}],"status":"ok","ts":1628652530074} +2024-01-23 15:24:30.168 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:184] - {"ch":"market.BTC_CQ.mark_price.5min","data":[{"amount":"0","close":"45853.29","count":"0","high":"45936.25","id":1628652300,"low":"45853.05","open":"45931.25","vol":"0"},{"amount":"0","close":"45862.49","count":"0","high":"45862.49","id":1628652600,"low":"45851.31","open":"45852.5","vol":"0"}],"status":"ok","ts":1628652647728} +2024-01-23 15:25:02.321 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:181] - {"ch":"market.BTC_NQ.detail.merged","status":"ok","tick":{"amount":"4478.2911316482577028620799060719867257944","ask":[14114.01,177],"bid":[14112.71,28],"close":"14114","count":18805,"high":"14299.99","id":1604298319,"low":"14028.78","open":"14229.47","ts":1604298319019,"vol":"633708"},"ts":1604298319019} +2024-01-23 15:25:29.403 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:184] - {"status":"ok","ticks":[{"amount":"2786.4746103477839423822794961288088470112","ask":[39842.79,236],"bid":[39842.78,363],"close":"39849.27","count":12501,"high":"40103.11","id":1650792244,"low":"39416.79","numberOf":"1108476","open":"39878.01","ts":1650792244792,"vol":"110847600"}],"ts":1650792244792} +2024-01-23 15:25:54.967 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:177] - {"ch":"market.*.trade.detail","status":"ok","tick":{"data":[{"amount":"4","direction":"buy","id":50710000,"price":"31000","quantity":"0.0129032258064516129032258064516129032","symbol":"BTC_NQ","ts":1613998847438}],"id":1614068483482,"ts":1614068483482},"ts":1614068483482} +2024-01-23 15:26:16.848 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:192] - {"ch":"market.BTC_NQ.trade.detail","data":[{"data":[{"amount":20,"direction":"sell","id":1236092770490000,"price":39611.13,"quantity":0.05049085951347513,"ts":1612491144090}],"id":123609277049,"ts":1612491144090},{"data":[{"amount":20,"direction":"sell","id":1236092821670000,"price":39614.48,"quantity":0.05048658975203007,"ts":1612491148260}],"id":123609282167,"ts":1612491148260}],"status":"ok","ts":1612491154213} +2024-01-23 15:26:50.241 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:184] - {"ch":"market.BTC-USD.index.60min","data":[{"amount":0,"close":13703.4175,"count":0,"high":13720.84,"id":1604293200,"low":13658.245,"open":13709.6175,"vol":0},{"amount":0,"close":13751.6,"count":0,"high":13771.21,"id":1604296800,"low":13693.16,"open":13703.365,"vol":0}],"status":"ok","ts":1604299755097} +2024-01-23 15:27:16.752 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:178] - {"ch":"market.BTC-USD.basis.5min.open","data":[{"basis":"-2.1850000000013097","basisRate":"-0.00015880531885174013","contractPrice":"13756.8","id":1604299500,"indexPrice":"13758.985"},{"basis":"-4.235000000000582","basisRate":"-0.00030799697602973224","contractPrice":"13745.9","id":1604299800,"indexPrice":"13750.135"}],"status":"ok","ts":1604299816352} +2024-01-23 15:27:51.280 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:168] - {"data":[{"balance":"295098.370590947021036643","valuationAsset":"CNY"}],"status":"ok","ts":1614044220841} +2024-01-23 15:28:29.917 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:182] - {"data":[{"adjustFactor":0.2,"leverRate":10,"marginAvailable":453.1519557807875,"marginBalance":453.1519557807875,"marginFrozen":0,"marginPosition":0,"marginStatic":453.1519557807875,"profitReal":16.356351557512742,"profitUnreal":0,"symbol":"ADA","withdrawAvailable":436.7956042232747}],"status":"ok","ts":1604300060777} +2024-01-23 15:29:04.500 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:186] - {"data":[{"adlRiskPercent":3,"available":1,"contractCode":"ADA201225","contractType":"quarter","costHold":0.0991,"costOpen":0.0991,"direction":"sell","frozen":0,"lastPrice":0.0991,"leverRate":10,"positionMargin":10.090817356205852,"profit":0,"profitRate":0,"profitUnreal":0,"symbol":"ADA","tradePartition":"","volume":1}],"status":"ok","ts":1604301441639} +2024-01-23 15:29:31.923 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:175] - {"data":[{"errors":[{"errCode":1010,"errMsg":"Accountdoesntexist.","subUid":"1234567"}],"successes":"123456789"}],"status":"ok","ts":1612490081318} +2024-01-23 15:29:57.555 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:183] - {"status":"ok","ts":1705391607255} +2024-01-23 15:30:28.408 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:175] - {"data":[{"list":[{"marginBalance":50,"symbol":"ADA"}],"subUid":123456789}],"status":"ok","ts":1604301647427} +2024-01-23 15:30:56.539 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:191] - {"data":[{"currentPage":1,"subList":[{"accountInfoList":[{"marginBalance":0,"symbol":"BCH"}],"subUid":123456789},{"accountInfoList":[{"marginBalance":0,"symbol":"BCH"}],"subUid":12345678}],"totalPage":1,"totalSize":2}],"status":"ok","ts":1612490180078} +2024-01-23 15:31:25.454 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:181] - {"data":[{"adjustFactor":0.1,"leverRate":5,"marginAvailable":50,"marginBalance":50,"marginFrozen":0,"marginPosition":0,"marginStatic":5,"profitReal":0,"profitUnreal":0,"symbol":"ADA","withdrawAvailable":50}],"status":"ok","ts":1604301730723} +2024-01-23 15:33:40.831 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:184] - {"data":[{"adlRiskPercent":3,"available":1,"contractCode":"ADA201225","contractType":"quarter","costHold":0.0991,"costOpen":0.0991,"direction":"buy","frozen":0,"lastPrice":0.099054,"leverRate":5,"positionMargin":20.191006925515374,"profit":-0.04686106551835051,"profitRate":-0.002321965796434265,"profitUnreal":-0.04686106551835051,"symbol":"ADA","volume":1}],"status":"ok","ts":1604302891178} +2024-01-23 15:34:20.220 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:174] - {"code":200,"data":[{"amount":-0.07476635514018691,"contractCode":"ADA201225","id":3662498355,"queryId":111000,"symbol":"ADA","ts":1605014144415,"type":8}],"msg":"","ts":1604312615051} +2024-01-23 15:34:45.521 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:174] - {"code":200,"data":[{"amount":-50,"contractCode":"ADA","id":3657420903,"queryId":111000,"symbol":"ADA","ts":1604301623306,"type":34}],"msg":"","ts":1604312615051} +2024-01-23 15:35:18.135 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:195] - {"data":[{"currentPage":1,"settlementRecords":[{"clawback":0,"deliveryFee":0,"fee":-0.5653571299770925,"feeAsset":"ADA","marginBalance":436.7956042232747,"marginBalanceInit":436.4159070661078,"offsetProfitloss":13.259773191595539,"positions":[{"contractCode":"ADA201225","costHold":0.092423,"costHoldPre":0.098,"costOpen":0.098,"direction":"buy","settlementPrice":0.092423,"settlementProfitUnreal":-12.314718904451516,"settlementType":"settlement","symbol":"ADA","volume":2}],"settlementProfitReal":0.37969715716693053,"settlementTime":1604044800130,"symbol":"ADA"}],"totalPage":13,"totalSize":13}],"status":"ok","ts":1604305358564} +2024-01-23 15:35:58.493 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:192] - {"data":{"list":[{"symbol":"ADA","types":[{"closeLimit":12000,"contractType":"this_week","openLimit":6000},{"closeLimit":12000,"contractType":"next_week","openLimit":6000},{"closeLimit":12000,"contractType":"quarter","openLimit":6000},{"closeLimit":12000,"contractType":"next_quarter","openLimit":6000}]}],"orderPriceType":"limit"},"status":"ok","ts":1604306946036} +2024-01-23 15:36:57.960 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:173] - {"data":[{"closeMakerFee":"0.0002","closeTakerFee":"0.0004","deliveryFee":"0.0005","feeAsset":"ADA","openMakerFee":"0.0002","openTakerFee":"0.0004","symbol":"ADA"}],"status":"ok","ts":1604307012954} +2024-01-23 15:37:20.816 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:175] - {"data":[{"netTransferInMaxDaily":7500000000,"netTransferOutMaxDaily":1500000000,"symbol":"ADA","transferInMaxDaily":15000000000,"transferInMaxEach":1500000000,"transferInMinEach":16,"transferOutMaxDaily":3000000000,"transferOutMaxEach":150000000,"transferOutMinEach":0.000001}],"status":"ok","ts":1604307084954} +2024-01-23 15:37:51.819 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:194] - {"data":[{"list":[{"buyLimit":60000,"contract_type":"this_week","sellLimit":60000},{"buyLimit":60000,"contract_type":"next_week","sellLimit":60000},{"buyLimit":60000,"contract_type":"quarter","sellLimit":60000},{"buyLimit":60000,"contract_type":"next_quarter","sellLimit":60000},{"buyLimit":240000,"contract_type":"all","sellLimit":240000}],"symbol":"ADA"}],"status":"ok","ts":1604307195501} +2024-01-23 15:38:49.137 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:201] - {"data":[{"adjustFactor":0.2,"leverRate":10,"marginAvailable":394.9258717896611,"marginBalance":405.2261241458438,"marginFrozen":0,"marginPosition":10.300252356182726,"marginStatic":403.13177414607503,"positions":[{"adlRiskPercent":3,"available":1,"contractCode":"ADA201225","contractType":"quarter","costHold":0.0991,"costOpen":0.0991,"direction":"sell","frozen":0,"lastPrice":0.097085,"leverRate":10,"positionMargin":10.300252356182726,"profit":2.094349999768738,"profitRate":0.20755008497708194,"profitUnreal":2.094349999768738,"symbol":"ADA","volume":1}],"profitReal":16.33616992280033,"profitUnreal":2.094349999768738,"riskRate":39.14137826269924,"symbol":"ADA","tradePartition":"","withdrawAvailable":386.7956042232747}],"status":"ok","ts":1604307305267} +2024-01-23 15:39:24.516 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:165] - {"data":{"orderId":"772874532490125313"},"status":"ok","ts":1604309247876} +2024-01-23 15:39:52.629 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:187] - {"data":[{"current_page":1,"total_page":1,"total_size":2,"transferRecord":[{"amount":-1,"id":3657499070,"subAccountName":"tom","subUid":"123456789","symbol":"ADA","transferType":34,"ts":1604309247860},{"amount":-50,"id":3657420904,"subAccountName":"tom","subUid":"123456789","symbol":"ADA","transferType":34,"ts":1604301623314}]}],"status":"ok","ts":1604309883224} +2024-01-23 15:40:20.932 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:186] - {"data":[{"cor":[{"cancelRatio":0.98,"cancelRatioThreshold":0.98,"invalidCancelOrders":150,"isActive":1,"isTrigger":1,"orders":150,"ordersThreshold":150}],"disableInterval":5,"disableReason":"COR","isDisable":1,"recoveryTime":1,"tdn":[{"disables":3,"disablesThreshold":3,"isActive":1,"isTrigger":1}]}],"status":"ok","ts":158797866555} +2024-01-23 15:40:49.421 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:168] - {"data":[{"availableLevelRate":"1,2,3,5,10,20,30,50,75","symbol":"ADA"}],"status":"ok","ts":1604312615051} +2024-01-23 15:41:40.977 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:167] - {"data":{"orderId":773119326353580000,"orderIdStr":"773119326353580033"},"status":"ok","ts":1604367611267} +2024-01-23 15:42:14.746 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:180] - {"data":{"errors":[{"errCode":1037,"errMsg":"Theleverageisinvalid.Pleasecontactthecustomerservice.","index":1}],"success":[{"index":2,"orderId":773120304138219500,"orderIdStr":"773120304138219520"}]},"status":"ok","ts":1604367844388} +2024-01-23 15:42:45.454 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:175] - {"data":{"errors":[{"errCode":1061,"errMsg":"Thisorderdoesntexist.","orderId":"769206471845261312"}],"successes":"773120304138219520"},"status":"ok","ts":1604367997451} +2024-01-23 15:43:14.321 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:170] - {"data":{"errors":[],"successes":"773120045672095744,773120045684678656"},"status":"ok","ts":1604369127577} +2024-01-23 15:43:41.101 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:167] - {"data":[{"leverRate":20,"symbol":"ada"}],"status":"ok","ts":1604369902689} +2024-01-23 15:44:17.694 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:194] - {"data":[{"canceledAt":0,"contractCode":"ADA201225","contractType":"quarter","createdAt":1604367611263,"direction":"sell","fee":-0.021436227224008574,"isTpsl":0,"leverRate":10,"marginFrozen":0,"offset":"open","orderId":773119326353580000,"orderIdStr":"773119326353580033","orderPriceType":"post_only","orderSource":"api","orderType":"1","price":0.0933,"profit":0,"realProfit":0,"status":6,"symbol":"ADA","tradeAvgPrice":0.0933,"tradeTurnover":10,"tradeVolume":1,"volume":1}],"status":"ok","ts":1604370179844} +2024-01-23 15:44:58.159 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:212] - {"data":{"adjustValue":0,"contractCode":"ADA201225","contractType":"quarter","createdAt":1604367611263,"currentPage":1,"direction":"sell","finalInterest":0,"instrumentPrice":0,"isTpsl":0,"leverRate":10,"marginFrozen":0,"offset":"open","orderPriceType":"post_only","orderSource":"api","price":0.0933,"profit":0,"realProfit":0,"status":6,"symbol":"ADA","totalPage":1,"totalSize":1,"tradeAvgPrice":0.0933,"trades":[{"createdAt":1604368087894,"id":"113887800667-773119326353580033-1","profit":0,"realProfit":0,"role":"maker","tradeFee":-0.021436227224008574,"tradeId":113887800667,"tradePrice":0.0933,"tradeTurnover":10,"tradeVolume":1}],"volume":1},"status":"ok","ts":1604370259827} +2024-01-23 15:45:37.096 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:200] - {"data":{"currentPage":1,"orders":[{"contractCode":"ADA201225","contractType":"quarter","createdAt":1604370469629,"direction":"buy","fee":0,"feeAsset":"ADA","isTpsl":0,"leverRate":20,"marginFrozen":0,"offset":"close","orderId":773131315209248800,"orderIdStr":773131315209248768,"orderPriceType":"post_only","orderSource":"web","orderType":1,"price":0.0925,"profit":0,"realProfit":0,"status":3,"symbol":"ADA","tradeTurnover":0,"tradeVolume":0,"updateTime":1606975980467,"volume":1}],"totalPage":1,"totalSize":1},"status":"ok","ts":1604370488518} +2024-01-23 15:46:20.850 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:195] - {"code":200,"data":[{"contractCode":"ADA201225","contractType":"quarter","direction":"buy","fee":0,"feeAsset":"ADA","isTpsl":0,"leverRate":20,"liquidationType":"0","marginFrozen":0,"offset":"close","orderId":773131315209248800,"orderIdStr":"773131315209248768","orderPriceType":"6","orderSource":"web","orderType":1,"price":0.0925,"profit":0,"queryId":111000,"realProfit":0,"status":3,"symbol":"ADA","tradeAvgPrice":0,"tradeTurnover":0,"tradeVolume":0,"volume":1}],"msg":"","ts":1604312615051} +2024-01-23 15:47:46.655 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:188] - {"code":200,"data":[{"contractCode":"ADA201225","createDate":1604371703183,"direction":"buy","feeAsset":"ADA","id":"113891764710-773135295142658048-1","matchId":113891764710,"offset":"open","orderID":773135295142658000,"orderIdStr":"773135295142658048","orderSource":"web","queryId":111000,"realProfit":"0","role":"Maker","symbol":"ADA","tradePrice":0.092,"tradeTurnover":10,"tradeVolume":1}],"msg":"","ts":1604312615051} +2024-01-23 15:48:14.107 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:188] - {"code":200,"data":[{"contractCode":"ADA201225","contractType":"quarter","createDate":1604371703183,"direction":"buy","feeAsset":"ADA","id":"113891764710-773135295142658048-1","matchId":113891764710,"offset":"open","offsetProfitloss":0,"orderId":773135295142658000,"orderIdStr":"773135295142658048","orderSource":"web","queryId":111000,"realProfit":0,"role":"Maker","symbol":"ADA","tradePrice":0.092,"tradeTurnover":10,"tradeVolume":1}],"msg":"","ts":1604312615051} +2024-01-23 15:48:41.524 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:168] - {"data":{"clientOrderId":9086,"orderId":633766664829804500,"orderIdStr":"633766664829804544"},"status":"ok","ts":158797866555} +2024-01-23 15:49:13.163 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:167] - {"data":[{"orderId":28312412,"orderIdStr":"28312412"}],"status":"ok","ts":1604372634548} +2024-01-23 15:49:38.263 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:173] - {"data":[{"errors":[{"errCode":1061,"errMsg":"Thisorderdoesntexist.","orderID":"28312406"}],"successes":"28312412"}],"status":"ok","ts":1604372746401} +2024-01-23 15:50:01.795 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:167] - {"data":[{"errors":[],"successes":"28312413,28312414"}],"status":"ok","ts":1604373863946} +2024-01-23 15:50:31.782 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:189] - {"data":[{"currentPage":1,"orders":[{"contractCode":"ADA201225","contractType":"quarter","createdAt":1604374041289,"direction":"buy","leverRate":20,"offset":"open","orderID":28312415,"orderIdStr":"28312415","orderPrice":0.0895,"orderPriceType":"limit","orderSource":"api","orderType":1,"status":2,"symbol":"ADA","triggerPrice":0.0895,"triggerType":"le","volume":1}],"totalPage":1,"totalSize":1}],"status":"ok","ts":1604374215911} +2024-01-23 15:50:56.178 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:197] - {"data":[{"currentPage":1,"orders":[{"canceledAt":0,"contractCode":"ADA201225","contractType":"quarter","createdAt":1604374041289,"direction":"buy","leverRate":20,"offset":"open","orderId":28312415,"orderIdStr":"28312415","orderInsertAt":1604374277124,"orderPrice":0.0895,"orderPriceType":"limit","orderSource":"api","orderType":1,"relationOrderId":"773147284987842560","status":4,"symbol":"ADA","triggerPrice":0.0895,"triggerType":"le","triggeredAt":1604374277082,"triggeredPrice":0.089497,"updateTime":1604374277124,"volume":1}],"totalPage":4,"totalSize":4}],"status":"ok","ts":1604374349086} +2024-01-23 15:51:52.032 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:167] - {"data":[{"orderId":825041038916751400,"orderIdStr":"825041038916751360"}],"status":"ok","ts":1616746712203} +2024-01-23 15:52:27.958 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:164] - {"data":179697972,"status":"ok"} +2024-01-23 15:59:26.609 [DEBUG] [main] [com.huobi.usdt.api.BaseTest.jsonToObjext:198] - {"data":[{"contractCode":"BTC","contractInfos":[{"contractCode":"BTC-USD","contractStatus":1,"createDate":"20221114","settlementDate":"1734710400000"}],"fundingRateCap":0.003750000000000000,"fundingRateFloor":-0.003750000000000000,"higNormalLimit":999999.990000000000000000,"higOpenLimit":999999.990000000000000000,"higTradeLimit":999999.990000000000000000,"instrumentIndexCode":"BTC-USD","instrumentValue":100.000000000000000000,"longPositionLimit":18000000.000000000000000000,"maxLevel":91,"minLevel":1,"minNormalLimit":999999.990000000000000000,"minOpenLimit":999999.990000000000000000,"minTradeLimit":999999.990000000000000000,"offsetOrderLimit":9000.000000000000000000,"openOrderLimit":9000.000000000000000000,"priceTick":0.100000000000000000,"realTimeSettlement":0,"settlePeriod":8,"shortPositionLimit":1800000.000000000000000000,"transferProfitRatio":0}],"status":"ok"} diff --git a/log/debug/debug.2024-10-21_17.log b/log/debug/debug.2024-10-21_17.log new file mode 100644 index 0000000..dbfb645 --- /dev/null +++ b/log/debug/debug.2024-10-21_17.log @@ -0,0 +1,4 @@ +2024-10-21 17:37:51.047 [DEBUG] [main] [com.huobi.api.service.coin_futures.account.AccountAPIServiceImpl.getContractSubAuth:359] - body:{"status":"error","err_code":403,"err_msg":"Incorrect Access key [Access key错误]","ts":1729503471013} +2024-10-21 17:38:09.233 [DEBUG] [main] [com.huobi.api.service.coin_futures.account.AccountAPIServiceImpl.getContractBalanceValuation:405] - body:{"status":"error","err_code":403,"err_msg":"Incorrect Access key [Access key错误]","ts":1729503489147} +2024-10-21 17:39:02.407 [DEBUG] [main] [com.huobi.api.service.coin_futures.account.AccountAPIServiceImpl.getContractFinancialRecordExactV3:475] - body:{"code":403,"msg":"Incorrect Access key [Access key错误]","data":"","ts":1729503542319} +2024-10-21 17:39:40.706 [DEBUG] [main] [com.huobi.api.service.coin_futures.account.AccountAPIServiceImpl.getContractAccountPositionInfo:250] - body:{"status":"error","err_code":403,"err_msg":"Incorrect Access key [Access key错误]","ts":1729503580673} diff --git a/log/debug/debug.2024-10-21_18.log b/log/debug/debug.2024-10-21_18.log new file mode 100644 index 0000000..4fb0bec --- /dev/null +++ b/log/debug/debug.2024-10-21_18.log @@ -0,0 +1 @@ +2024-10-21 18:42:11.309 [DEBUG] [main] [com.huobi.api.service.coin_futures.account.AccountAPIServiceImpl.getContractBalanceValuation:405] - body:{"status":"error","err_code":1004,"err_msg":"System busy. Please try again later.","ts":1729507331356} diff --git a/log/debug/debug.2024-10-22_10.log b/log/debug/debug.2024-10-22_10.log new file mode 100644 index 0000000..68a68e6 --- /dev/null +++ b/log/debug/debug.2024-10-22_10.log @@ -0,0 +1,33 @@ +2024-10-22 10:41:36.627 [DEBUG] [main] [com.huobi.future.api.BaseTest.getContractAccountInfo:28] - 2.获取用户账户信息:{"data":[{"adjustFactor":0.020000000000000000,"leverRate":5,"liquidationPrice":0.088731085969494696,"marginAvailable":154.312931921169842028,"marginBalance":1131.458748067357340102000000000000000000000000000000000000,"marginFrozen":8.171174945595492272,"marginPosition":0.010000000000000000,"marginStatic":1131.449983302710222602,"profitReal":-0.000016701140457742,"profitUnreal":0.008764764647117500000000000000000000000000000000000000,"riskRate":138.280275399501384808,"symbol":"BTC","withdrawAvailable":1080.181758683541776698000000000000000000}],"status":"ok","ts":1729564896724} +2024-10-22 10:41:37.050 [DEBUG] [main] [com.huobi.future.api.BaseTest.getContractAccountInfo:30] - 2.获取用户账户信息:{"data":[{"adjustFactor":0.020000000000000000,"leverRate":5,"liquidationPrice":0.088731085969494696,"marginAvailable":154.312931921169842028,"marginBalance":1131.458748067357340102000000000000000000000000000000000000,"marginFrozen":8.171174945595492272,"marginPosition":0.010000000000000000,"marginStatic":1131.449983302710222602,"profitReal":-0.000016701140457742,"profitUnreal":0.008764764647117500000000000000000000000000000000000000,"riskRate":138.280275399501384808,"symbol":"BTC","withdrawAvailable":1080.181758683541776698000000000000000000},{"adjustFactor":0.100000000000000000,"leverRate":5,"marginAvailable":0,"marginBalance":0,"marginFrozen":0,"marginPosition":0,"marginStatic":0,"profitReal":0,"profitUnreal":0,"symbol":"ETH","withdrawAvailable":0},{"adjustFactor":0.100000000000000000,"leverRate":5,"marginAvailable":0,"marginBalance":0,"marginFrozen":0,"marginPosition":0,"marginStatic":0,"profitReal":0,"profitUnreal":0,"symbol":"EOS","withdrawAvailable":0},{"adjustFactor":0.100000000000000000,"leverRate":5,"marginAvailable":0,"marginBalance":0,"marginFrozen":0,"marginPosition":0,"marginStatic":0,"profitReal":0,"profitUnreal":0,"symbol":"BCH","withdrawAvailable":0},{"adjustFactor":0.100000000000000000,"leverRate":5,"marginAvailable":0,"marginBalance":0,"marginFrozen":0,"marginPosition":0,"marginStatic":0,"profitReal":0,"profitUnreal":0,"symbol":"LTC","withdrawAvailable":0},{"adjustFactor":0.100000000000000000,"leverRate":5,"marginAvailable":0,"marginBalance":0,"marginFrozen":0,"marginPosition":0,"marginStatic":0,"profitReal":0,"profitUnreal":0,"symbol":"LINK","withdrawAvailable":0},{"adjustFactor":0.100000000000000000,"leverRate":5,"marginAvailable":0,"marginBalance":0,"marginFrozen":0,"marginPosition":0,"marginStatic":0,"profitReal":0,"profitUnreal":0,"symbol":"DORA","withdrawAvailable":0}],"status":"ok","ts":1729564897213} +2024-10-22 10:43:23.270 [DEBUG] [main] [com.huobi.api.service.coin_futures.account.AccountAPIServiceImpl.getContractBalanceValuation:406] - body:{"status":"ok","data":[{"valuation_asset":"BTC","balance":"1131.458748067357340102"}],"ts":1729565003436} +2024-10-22 10:43:23.325 [DEBUG] [main] [com.huobi.future.api.BaseTest.getContractBalanceValuation:22] - 1.获取账户总资产估值:{"data":[{"balance":"1131.458748067357340102","valuationAsset":"BTC"}],"status":"ok","ts":1729565003436} +2024-10-22 10:43:29.168 [DEBUG] [main] [com.huobi.future.api.BaseTest.getContractAccountInfo:28] - 2.获取用户账户信息:{"data":[{"adjustFactor":0.020000000000000000,"leverRate":5,"liquidationPrice":0.088731085969494696,"marginAvailable":154.312931921169842028,"marginBalance":1131.458748067357340102000000000000000000000000000000000000,"marginFrozen":8.171174945595492272,"marginPosition":0.010000000000000000,"marginStatic":1131.449983302710222602,"profitReal":-0.000016701140457742,"profitUnreal":0.008764764647117500000000000000000000000000000000000000,"riskRate":138.280275399501384808,"symbol":"BTC","withdrawAvailable":1080.181758683541776698000000000000000000}],"status":"ok","ts":1729565009293} +2024-10-22 10:43:29.722 [DEBUG] [main] [com.huobi.future.api.BaseTest.getContractAccountInfo:30] - 2.获取用户账户信息:{"data":[{"adjustFactor":0.020000000000000000,"leverRate":5,"liquidationPrice":0.088731085969494696,"marginAvailable":154.312931921169842028,"marginBalance":1131.458748067357340102000000000000000000000000000000000000,"marginFrozen":8.171174945595492272,"marginPosition":0.010000000000000000,"marginStatic":1131.449983302710222602,"profitReal":-0.000016701140457742,"profitUnreal":0.008764764647117500000000000000000000000000000000000000,"riskRate":138.280275399501384808,"symbol":"BTC","withdrawAvailable":1080.181758683541776698000000000000000000},{"adjustFactor":0.100000000000000000,"leverRate":5,"marginAvailable":0,"marginBalance":0,"marginFrozen":0,"marginPosition":0,"marginStatic":0,"profitReal":0,"profitUnreal":0,"symbol":"ETH","withdrawAvailable":0},{"adjustFactor":0.100000000000000000,"leverRate":5,"marginAvailable":0,"marginBalance":0,"marginFrozen":0,"marginPosition":0,"marginStatic":0,"profitReal":0,"profitUnreal":0,"symbol":"EOS","withdrawAvailable":0},{"adjustFactor":0.100000000000000000,"leverRate":5,"marginAvailable":0,"marginBalance":0,"marginFrozen":0,"marginPosition":0,"marginStatic":0,"profitReal":0,"profitUnreal":0,"symbol":"BCH","withdrawAvailable":0},{"adjustFactor":0.100000000000000000,"leverRate":5,"marginAvailable":0,"marginBalance":0,"marginFrozen":0,"marginPosition":0,"marginStatic":0,"profitReal":0,"profitUnreal":0,"symbol":"LTC","withdrawAvailable":0},{"adjustFactor":0.100000000000000000,"leverRate":5,"marginAvailable":0,"marginBalance":0,"marginFrozen":0,"marginPosition":0,"marginStatic":0,"profitReal":0,"profitUnreal":0,"symbol":"LINK","withdrawAvailable":0},{"adjustFactor":0.100000000000000000,"leverRate":5,"marginAvailable":0,"marginBalance":0,"marginFrozen":0,"marginPosition":0,"marginStatic":0,"profitReal":0,"profitUnreal":0,"symbol":"DORA","withdrawAvailable":0}],"status":"ok","ts":1729565009874} +2024-10-22 10:43:30.139 [DEBUG] [main] [com.huobi.future.api.BaseTest.getContractPositionInfo:36] - 3.获取用户持仓信息:{"data":[{"adlRiskPercent":3,"available":1.000000000000000000,"contractCode":"BTC240426","contractType":"this_week","costHold":1701.700000000000008515,"costOpen":1701.700000000000008515,"direction":"buy","frozen":0E-18,"lastPrice":2000,"leverRate":5,"liqPx":"0.088731085969494696","positionMargin":0.010000000000000000,"profit":0.008764764647117500000000000000000000000000000000000000,"profitRate":0.745749999999999980,"profitUnreal":0.008764764647117500000000000000000000000000000000000000,"symbol":"BTC","volume":1.000000000000000000}],"status":"ok","ts":1729565010291} +2024-10-22 10:43:30.592 [DEBUG] [main] [com.huobi.future.api.BaseTest.getContractPositionInfo:39] - 3.获取用户持仓信息:{"data":[{"adlRiskPercent":3,"available":1.000000000000000000,"contractCode":"BTC240426","contractType":"this_week","costHold":1701.700000000000008515,"costOpen":1701.700000000000008515,"direction":"buy","frozen":0E-18,"lastPrice":2000,"leverRate":5,"liqPx":"0.088731085969494696","positionMargin":0.010000000000000000,"profit":0.008764764647117500000000000000000000000000000000000000,"profitRate":0.745749999999999980,"profitUnreal":0.008764764647117500000000000000000000000000000000000000,"symbol":"BTC","volume":1.000000000000000000}],"status":"ok","ts":1729565010747} +2024-10-22 10:43:31.240 [DEBUG] [main] [com.huobi.api.service.coin_futures.account.AccountAPIServiceImpl.getContractSubAuth:360] - body:{"status":"ok","data":{"errors":[{"sub_uid":"1234","err_code":1010,"err_msg":"Account doesnt exist."},{"sub_uid":"12344","err_code":1010,"err_msg":"Account doesnt exist."}],"successes":""},"ts":1729565011396} +2024-10-22 10:43:31.258 [DEBUG] [main] [com.huobi.future.api.BaseTest.getContractSubAuth:45] - 4.批量设置子账户交易权限:{"data":[{"errors":[{"errCode":1010,"errMsg":"Account doesnt exist.","subUid":"1234"},{"errCode":1010,"errMsg":"Account doesnt exist.","subUid":"12344"}],"successes":""}],"status":"ok","ts":1729565011396} +2024-10-22 10:43:31.654 [DEBUG] [main] [com.huobi.api.service.coin_futures.account.AccountAPIServiceImpl.getContractSubAuthList:508] - body:{"status":"ok","data":{"errors":[],"successes":[{"query_id":119093,"sub_uid":"413069782","sub_auth":1},{"query_id":118491,"sub_uid":"413062110","sub_auth":1},{"query_id":118032,"sub_uid":"413056463","sub_auth":1},{"query_id":118031,"sub_uid":"413056454","sub_auth":1}]},"ts":1729565011825} +2024-10-22 10:43:31.661 [DEBUG] [main] [com.huobi.future.api.BaseTest.getContractSubAuthList:53] - 5.查询子账户交易权限:{"status":"ok","ts":1729565011825} +2024-10-22 10:43:32.062 [DEBUG] [main] [com.huobi.future.api.BaseTest.getContractFeeResponse:134] - 14.查询用户当前的手续费费率:{"data":[{"closeMakerFee":"0.0002","closeTakerFee":"0.0005","deliveryFee":"0.00015","feeAsset":"BTC","openMakerFee":"0.0002","openTakerFee":"0.0005","symbol":"BTC"}],"status":"ok","ts":1729565012224} +2024-10-22 10:43:32.638 [DEBUG] [main] [com.huobi.future.api.BaseTest.getContractFeeResponse:136] - 14.查询用户当前的手续费费率:{"data":[{"closeMakerFee":"0.0002","closeTakerFee":"0.0005","deliveryFee":"0.00015","feeAsset":"BTC","openMakerFee":"0.0002","openTakerFee":"0.0005","symbol":"BTC"},{"closeMakerFee":"0.0002","closeTakerFee":"0.0005","deliveryFee":"0.0005","feeAsset":"BCH","openMakerFee":"0.0002","openTakerFee":"0.0005","symbol":"BCH"},{"closeMakerFee":"0.0002","closeTakerFee":"0.0005","deliveryFee":"0.0005","feeAsset":"XRP","openMakerFee":"0.0002","openTakerFee":"0.0005","symbol":"XRP"},{"closeMakerFee":"0.0002","closeTakerFee":"0.0005","deliveryFee":"0.0005","feeAsset":"LINK","openMakerFee":"0.0002","openTakerFee":"0.0005","symbol":"LINK"},{"closeMakerFee":"0.0002","closeTakerFee":"0.0005","deliveryFee":"0.00015","feeAsset":"LTC","openMakerFee":"0.0002","openTakerFee":"0.0005","symbol":"LTC"},{"closeMakerFee":"0.0002","closeTakerFee":"0.0005","deliveryFee":"0.0005","feeAsset":"DORA","openMakerFee":"0.0002","openTakerFee":"0.0005","symbol":"DORA"}],"status":"ok","ts":1729565012783} +2024-10-22 10:43:33.098 [DEBUG] [main] [com.huobi.api.service.coin_futures.account.AccountAPIServiceImpl.getContractBalanceValuation:406] - body:{"status":"ok","data":[{"valuation_asset":"BTC","balance":"1131.458748067357340102"}],"ts":1729565013254} +2024-10-22 10:43:33.111 [DEBUG] [main] [com.huobi.future.api.BaseTest.getContractBalanceValuation:22] - 1.获取账户总资产估值:{"data":[{"balance":"1131.458748067357340102","valuationAsset":"BTC"}],"status":"ok","ts":1729565013254} +2024-10-22 10:43:33.920 [DEBUG] [main] [com.huobi.api.service.coin_futures.account.AccountAPIServiceImpl.getContractSubAccountInfoList:386] - body:{"status":"ok","data":{"total_page":1,"current_page":1,"total_size":4,"sub_list":[{"query_id":null,"sub_uid":413056454,"account_info_list":[{"symbol":"BTC","margin_balance":11,"liquidation_price":null,"risk_rate":null}]},{"query_id":null,"sub_uid":413056463,"account_info_list":[]},{"query_id":null,"sub_uid":413062110,"account_info_list":[]},{"query_id":null,"sub_uid":413069782,"account_info_list":[]}]},"ts":1729565014091} +2024-10-22 10:43:33.943 [DEBUG] [main] [com.huobi.future.api.BaseTest.getContractSubAccountInfoLIst:73] - 7.批量获取子账户资产信息:{"data":[{"currentPage":1,"subList":[{"accountInfoList":[{"marginBalance":11,"symbol":"BTC"}],"subUid":413056454},{"accountInfoList":[],"subUid":413056463},{"accountInfoList":[],"subUid":413062110},{"accountInfoList":[],"subUid":413069782}],"totalPage":1,"totalSize":4}],"status":"ok","ts":1729565014091} +2024-10-22 10:43:35.151 [DEBUG] [main] [com.huobi.api.service.coin_futures.account.AccountAPIServiceImpl.getContractFinancialRecordV3:441] - body:{"code":200,"msg":"ok","data":[],"ts":1729565015318} +2024-10-22 10:43:35.162 [DEBUG] [main] [com.huobi.future.api.BaseTest.getContractFinancialRecordV3:97] - 10.查询用户财务记录(新):{"code":200,"data":[],"msg":"ok","ts":1729565015318} +2024-10-22 10:43:35.632 [DEBUG] [main] [com.huobi.api.service.coin_futures.account.AccountAPIServiceImpl.getContractFinancialRecordExactV3:476] - body:{"code":200,"msg":"ok","data":[],"ts":1729565015780} +2024-10-22 10:43:35.643 [DEBUG] [main] [com.huobi.future.api.BaseTest.getContractFinancialRecordExactV3:107] - 11.组合查询用户财务记录(新):{"code":200,"data":[],"msg":"ok","ts":1729565015780} +2024-10-22 10:43:36.561 [DEBUG] [main] [com.huobi.future.api.BaseTest.getContractOrderLimitResponse:126] - 13.查询用户当前的下单量限制:{"data":{"list":[{"symbol":"BTC","types":[{"closeLimit":999999999999999.000000000000000000,"contractType":"this_week","openLimit":999999999999999.000000000000000000},{"closeLimit":620.000000000000000000,"contractType":"next_week","openLimit":520.000000000000000000},{"closeLimit":999999999999999.000000000000000000,"contractType":"quarter","openLimit":999999999999999.000000000000000000},{"closeLimit":31200.000000000000000000,"contractType":"next_quarter","openLimit":26000.000000000000000000}]}],"orderPriceType":"limit"},"status":"ok","ts":1729565016717} +2024-10-22 10:43:37.009 [DEBUG] [main] [com.huobi.future.api.BaseTest.getContractOrderLimitResponse:128] - 13.查询用户当前的下单量限制:{"data":{"list":[{"symbol":"BTC","types":[{"closeLimit":999999999999999.000000000000000000,"contractType":"this_week","openLimit":999999999999999.000000000000000000},{"closeLimit":620.000000000000000000,"contractType":"next_week","openLimit":520.000000000000000000},{"closeLimit":999999999999999.000000000000000000,"contractType":"quarter","openLimit":999999999999999.000000000000000000},{"closeLimit":31200.000000000000000000,"contractType":"next_quarter","openLimit":26000.000000000000000000}]},{"symbol":"BCH","types":[{"closeLimit":6000.000000000000000000,"contractType":"this_week","openLimit":3000.000000000000000000},{"closeLimit":6000.000000000000000000,"contractType":"next_week","openLimit":3000.000000000000000000},{"closeLimit":6000.000000000000000000,"contractType":"quarter","openLimit":3000.000000000000000000},{"closeLimit":6000.000000000000000000,"contractType":"next_quarter","openLimit":3000.000000000000000000}]},{"symbol":"XRP","types":[{"closeLimit":6000.000000000000000000,"contractType":"this_week","openLimit":3000.000000000000000000},{"closeLimit":6000.000000000000000000,"contractType":"quarter","openLimit":3000.000000000000000000},{"closeLimit":6000.000000000000000000,"contractType":"next_quarter","openLimit":3000.000000000000000000}]},{"symbol":"LINK","types":[{"closeLimit":6000.000000000000000000,"contractType":"this_week","openLimit":3000.000000000000000000},{"closeLimit":6000.000000000000000000,"contractType":"next_week","openLimit":3000.000000000000000000},{"closeLimit":6000.000000000000000000,"contractType":"quarter","openLimit":3000.000000000000000000},{"closeLimit":6000.000000000000000000,"contractType":"next_quarter","openLimit":3000.000000000000000000}]},{"symbol":"LTC","types":[{"closeLimit":400.000000000000000000,"contractType":"this_week","openLimit":300.000000000000000000},{"closeLimit":1500.000000000000000000,"contractType":"quarter","openLimit":1300.000000000000000000},{"closeLimit":1500.000000000000000000,"contractType":"next_quarter","openLimit":1300.000000000000000000}]},{"symbol":"DORA","types":[{"closeLimit":6000.000000000000000000,"contractType":"this_week","openLimit":3000.000000000000000000},{"closeLimit":6000.000000000000000000,"contractType":"next_week","openLimit":3000.000000000000000000},{"closeLimit":6000.000000000000000000,"contractType":"quarter","openLimit":3000.000000000000000000},{"closeLimit":6000.000000000000000000,"contractType":"next_quarter","openLimit":3000.000000000000000000}]}],"orderPriceType":"limit"},"status":"ok","ts":1729565017172} +2024-10-22 10:43:37.556 [DEBUG] [main] [com.huobi.future.api.BaseTest.getContractTransferLimitResponse:142] - 15.查询用户当前的划转限制:{"data":[{"netTransferInMaxDaily":999999999999999999.000000000000000000,"netTransferOutMaxDaily":999999999999999999.000000000000000000,"symbol":"BTC","transferInMaxDaily":999999999999999999.000000000000000000,"transferInMaxEach":999999999999999999.000000000000000000,"transferInMinEach":0.000100000000000000,"transferOutMaxDaily":999999999999999999.000000000000000000,"transferOutMaxEach":999999999999999999.000000000000000000,"transferOutMinEach":0.000100000000000000}],"status":"ok","ts":1729565017700} +2024-10-22 10:43:38.008 [DEBUG] [main] [com.huobi.future.api.BaseTest.getContractTransferLimitResponse:144] - 15.查询用户当前的划转限制:{"data":[{"netTransferInMaxDaily":999999999999999999.000000000000000000,"netTransferOutMaxDaily":999999999999999999.000000000000000000,"symbol":"BTC","transferInMaxDaily":999999999999999999.000000000000000000,"transferInMaxEach":999999999999999999.000000000000000000,"transferInMinEach":0.000100000000000000,"transferOutMaxDaily":999999999999999999.000000000000000000,"transferOutMaxEach":999999999999999999.000000000000000000,"transferOutMinEach":0.000100000000000000},{"netTransferInMaxDaily":15000.000000000000000000,"netTransferOutMaxDaily":3000.000000000000000000,"symbol":"BCH","transferInMaxDaily":30000.000000000000000000,"transferInMaxEach":6000.000000000000000000,"transferInMinEach":1.0000000000E-8,"transferOutMaxDaily":6000.000000000000000000,"transferOutMaxEach":600.000000000000000000,"transferOutMinEach":1.0000000000E-8},{"netTransferInMaxDaily":15000.000000000000000000,"netTransferOutMaxDaily":3000.000000000000000000,"symbol":"XRP","transferInMaxDaily":30000.000000000000000000,"transferInMaxEach":6000.000000000000000000,"transferInMinEach":1.0000000000E-8,"transferOutMaxDaily":6000.000000000000000000,"transferOutMaxEach":600.000000000000000000,"transferOutMinEach":1.0000000000E-8},{"netTransferInMaxDaily":500000000.000000000000000000,"netTransferOutMaxDaily":1000000000.000000000000000000,"symbol":"ETH","transferInMaxDaily":10000000000.000000000000000000,"transferInMaxEach":2000000.000000000000000000,"transferInMinEach":1.0000000000E-8,"transferOutMaxDaily":2000000000.000000000000000000,"transferOutMaxEach":20000000.000000000000000000,"transferOutMinEach":1.0000000000E-8},{"netTransferInMaxDaily":250000.000000000000000000,"netTransferOutMaxDaily":50000.000000000000000000,"symbol":"EOS","transferInMaxDaily":500000.000000000000000000,"transferInMaxEach":100000.000000000000000000,"transferInMinEach":1.0000000000E-8,"transferOutMaxDaily":100000.000000000000000000,"transferOutMaxEach":10000.000000000000000000,"transferOutMinEach":1.0000000000E-8},{"netTransferInMaxDaily":15000.000000000000000000,"netTransferOutMaxDaily":3000.000000000000000000,"symbol":"LINK","transferInMaxDaily":30000.000000000000000000,"transferInMaxEach":6000.000000000000000000,"transferInMinEach":0.010000000000000000,"transferOutMaxDaily":6000.000000000000000000,"transferOutMaxEach":600.000000000000000000,"transferOutMinEach":0.010000000000000000},{"netTransferInMaxDaily":25000.000000000000000000,"netTransferOutMaxDaily":50000.000000000000000000,"symbol":"LTC","transferInMaxDaily":50000.000000000000000000,"transferInMaxEach":10000.000000000000000000,"transferInMinEach":1.0000000000E-8,"transferOutMaxDaily":10000.000000000000000000,"transferOutMaxEach":10000.000000000000000000,"transferOutMinEach":1.0000000000E-8},{"netTransferInMaxDaily":60000000000000000.000000000000000000,"netTransferOutMaxDaily":60000000000000000.000000000000000000,"symbol":"DORA","transferInMaxDaily":60000000000000000.000000000000000000,"transferInMaxEach":60000000000000000.000000000000000000,"transferInMinEach":0.010000000000000000,"transferOutMaxDaily":60000000000000000.000000000000000000,"transferOutMaxEach":60000000000000000.000000000000000000,"transferOutMinEach":0.010000000000000000}],"status":"ok","ts":1729565018176} +2024-10-22 10:43:38.365 [DEBUG] [main] [com.huobi.future.api.BaseTest.getContractPositionLimitResponse:150] - 16.用户持仓量限制的查询:{"data":[{"list":[{"buyLimit":999999999999999.000000000000000000,"contract_type":"this_week","sellLimit":999999999999999.000000000000000000},{"buyLimit":999999999999999.000000000000000000,"contract_type":"next_week","sellLimit":999999999999999.000000000000000000},{"buyLimit":999999999999999.000000000000000000,"contract_type":"quarter","sellLimit":999999999999999.000000000000000000},{"buyLimit":999999999999999.000000000000000000,"contract_type":"next_quarter","sellLimit":999999999999999.000000000000000000},{"buyLimit":999999999999999.000000000000000000,"contract_type":"all","sellLimit":999999999999999.000000000000000000}],"symbol":"BTC"}],"status":"ok","ts":1729565018525} +2024-10-22 10:43:38.712 [DEBUG] [main] [com.huobi.future.api.BaseTest.getContractPositionLimitResponse:153] - 16.用户持仓量限制的查询:{"data":[{"list":[{"buyLimit":999999999999999.000000000000000000,"contract_type":"this_week","sellLimit":999999999999999.000000000000000000},{"buyLimit":999999999999999.000000000000000000,"contract_type":"next_week","sellLimit":999999999999999.000000000000000000},{"buyLimit":999999999999999.000000000000000000,"contract_type":"quarter","sellLimit":999999999999999.000000000000000000},{"buyLimit":999999999999999.000000000000000000,"contract_type":"next_quarter","sellLimit":999999999999999.000000000000000000},{"buyLimit":999999999999999.000000000000000000,"contract_type":"all","sellLimit":999999999999999.000000000000000000}],"symbol":"BTC"},{"list":[{"buyLimit":30000.000000000000000000,"contract_type":"this_week","sellLimit":30000.000000000000000000},{"buyLimit":30000.000000000000000000,"contract_type":"next_week","sellLimit":30000.000000000000000000},{"buyLimit":30000.000000000000000000,"contract_type":"quarter","sellLimit":30000.000000000000000000},{"buyLimit":30000.000000000000000000,"contract_type":"next_quarter","sellLimit":30000.000000000000000000},{"buyLimit":120000.000000000000000000,"contract_type":"all","sellLimit":120000.000000000000000000}],"symbol":"BCH"},{"list":[{"buyLimit":16000.000000000000000000,"contract_type":"this_week","sellLimit":16000.000000000000000000},{"buyLimit":54000.000000000000000000,"contract_type":"quarter","sellLimit":54000.000000000000000000},{"buyLimit":54000.000000000000000000,"contract_type":"next_quarter","sellLimit":54000.000000000000000000},{"buyLimit":134000.000000000000000000,"contract_type":"all","sellLimit":134000.000000000000000000}],"symbol":"XRP"},{"list":[{"buyLimit":16000.000000000000000000,"contract_type":"this_week","sellLimit":16000.000000000000000000},{"buyLimit":10000.000000000000000000,"contract_type":"next_week","sellLimit":10000.000000000000000000},{"buyLimit":54000.000000000000000000,"contract_type":"quarter","sellLimit":54000.000000000000000000},{"buyLimit":54000.000000000000000000,"contract_type":"next_quarter","sellLimit":54000.000000000000000000},{"buyLimit":134000.000000000000000000,"contract_type":"all","sellLimit":134000.000000000000000000}],"symbol":"LINK"},{"list":[{"buyLimit":16000.000000000000000000,"contract_type":"this_week","sellLimit":16000.000000000000000000},{"buyLimit":54000.000000000000000000,"contract_type":"quarter","sellLimit":54000.000000000000000000},{"buyLimit":54000.000000000000000000,"contract_type":"next_quarter","sellLimit":54000.000000000000000000},{"buyLimit":134000.000000000000000000,"contract_type":"all","sellLimit":134000.000000000000000000}],"symbol":"LTC"},{"list":[{"buyLimit":16000.000000000000000000,"contract_type":"this_week","sellLimit":16000.000000000000000000},{"buyLimit":10000.000000000000000000,"contract_type":"next_week","sellLimit":10000.000000000000000000},{"buyLimit":54000.000000000000000000,"contract_type":"quarter","sellLimit":54000.000000000000000000},{"buyLimit":54000.000000000000000000,"contract_type":"next_quarter","sellLimit":54000.000000000000000000},{"buyLimit":134000.000000000000000000,"contract_type":"all","sellLimit":134000.000000000000000000}],"symbol":"DORA"}],"status":"ok","ts":1729565018882} +2024-10-22 10:43:39.176 [DEBUG] [main] [com.huobi.api.service.coin_futures.account.AccountAPIServiceImpl.getContractAccountPositionInfo:251] - body:{"status":"error","err_code":1013,"err_msg":"This contract symbol doesnt exist.","ts":1729565019326} +2024-10-22 10:43:39.979 [DEBUG] [main] [com.huobi.api.service.coin_futures.account.AccountAPIServiceImpl.getContractApiTradingStatus:324] - body:{"status":"ok","data":{"is_disable":0,"order_price_types":"","disable_reason":"","disable_interval":0,"recovery_time":0,"COR":{"orders_threshold":0,"orders":0,"invalid_cancel_orders":0,"cancel_ratio_threshold":0,"cancel_ratio":0,"is_trigger":0,"is_active":0},"TDN":{"disables_threshold":0,"disables":0,"is_trigger":0,"is_active":0}},"ts":1729565020134} +2024-10-22 10:43:40.008 [DEBUG] [main] [com.huobi.future.api.BaseTest.getContractApiTradingStatus:190] - 20.获取母账户下的所有母子账户划转记录:{"data":[{"cor":[{"cancelRatio":0,"cancelRatioThreshold":0,"invalidCancelOrders":0,"isActive":0,"isTrigger":0,"orders":0,"ordersThreshold":0}],"disableInterval":0,"disableReason":"","isDisable":0,"recoveryTime":0,"tdn":[{"disables":0,"disablesThreshold":0,"isActive":0,"isTrigger":0}]}],"status":"ok","ts":1729565020134} +2024-10-22 10:43:40.394 [DEBUG] [main] [com.huobi.future.api.BaseTest.getContractAvailableLevelRate:196] - 21.查询用户可用杠杆倍数:{"data":[{"availableLevelRate":"1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125","symbol":"BTC"}],"status":"ok","ts":1729565020555} +2024-10-22 10:47:10.560 [DEBUG] [main] [com.huobi.api.service.coin_futures.account.AccountAPIServiceImpl.getContractBalanceValuation:406] - body:{"status":"error","err_code":403,"err_msg":"Verification failure [校验失败]","ts":1729565230691} diff --git a/log/debug/debug.2024-10-22_14.log b/log/debug/debug.2024-10-22_14.log new file mode 100644 index 0000000..d366e84 --- /dev/null +++ b/log/debug/debug.2024-10-22_14.log @@ -0,0 +1,2 @@ +2024-10-22 14:26:31.194 [DEBUG] [main] [com.huobi.future.api.BaseTest.getContractAccountInfo:28] - 2.获取用户账户信息:{"data":[{"adjustFactor":0.020000000000000000,"leverRate":5,"liquidationPrice":0.088731085969494696,"marginAvailable":154.312931921169842028,"marginBalance":1131.458748067357340102000000000000000000000000000000000000,"marginFrozen":8.171174945595492272,"marginPosition":0.010000000000000000,"marginStatic":1131.449983302710222602,"profitReal":-0.000016701140457742,"profitUnreal":0.008764764647117500000000000000000000000000000000000000,"riskRate":138.280275399501384808,"symbol":"BTC","withdrawAvailable":1080.181758683541776698000000000000000000}],"status":"ok","ts":1729578391157} +2024-10-22 14:26:31.654 [DEBUG] [main] [com.huobi.future.api.BaseTest.getContractAccountInfo:30] - 2.获取用户账户信息:{"data":[{"adjustFactor":0.020000000000000000,"leverRate":5,"liquidationPrice":0.088731085969494696,"marginAvailable":154.312931921169842028,"marginBalance":1131.458748067357340102000000000000000000000000000000000000,"marginFrozen":8.171174945595492272,"marginPosition":0.010000000000000000,"marginStatic":1131.449983302710222602,"profitReal":-0.000016701140457742,"profitUnreal":0.008764764647117500000000000000000000000000000000000000,"riskRate":138.280275399501384808,"symbol":"BTC","withdrawAvailable":1080.181758683541776698000000000000000000},{"adjustFactor":0.100000000000000000,"leverRate":5,"marginAvailable":0,"marginBalance":0,"marginFrozen":0,"marginPosition":0,"marginStatic":0,"profitReal":0,"profitUnreal":0,"symbol":"ETH","withdrawAvailable":0},{"adjustFactor":0.100000000000000000,"leverRate":5,"marginAvailable":0,"marginBalance":0,"marginFrozen":0,"marginPosition":0,"marginStatic":0,"profitReal":0,"profitUnreal":0,"symbol":"EOS","withdrawAvailable":0},{"adjustFactor":0.100000000000000000,"leverRate":5,"marginAvailable":0,"marginBalance":0,"marginFrozen":0,"marginPosition":0,"marginStatic":0,"profitReal":0,"profitUnreal":0,"symbol":"BCH","withdrawAvailable":0},{"adjustFactor":0.100000000000000000,"leverRate":5,"marginAvailable":0,"marginBalance":0,"marginFrozen":0,"marginPosition":0,"marginStatic":0,"profitReal":0,"profitUnreal":0,"symbol":"LTC","withdrawAvailable":0},{"adjustFactor":0.100000000000000000,"leverRate":5,"marginAvailable":0,"marginBalance":0,"marginFrozen":0,"marginPosition":0,"marginStatic":0,"profitReal":0,"profitUnreal":0,"symbol":"LINK","withdrawAvailable":0},{"adjustFactor":0.100000000000000000,"leverRate":5,"marginAvailable":0,"marginBalance":0,"marginFrozen":0,"marginPosition":0,"marginStatic":0,"profitReal":0,"profitUnreal":0,"symbol":"DORA","withdrawAvailable":0}],"status":"ok","ts":1729578391663} diff --git a/log/debug/debug.2024-10-22_15.log b/log/debug/debug.2024-10-22_15.log new file mode 100644 index 0000000..5efcf1c --- /dev/null +++ b/log/debug/debug.2024-10-22_15.log @@ -0,0 +1,602 @@ +2024-10-22 15:07:00.952 [DEBUG] [main] [com.huobi.future.api.BaseTest.getContractAccountInfo:30] - 2.获取用户账户信息:{"data":[{"adjustFactor":0.025000000000000000,"leverRate":5,"marginAvailable":0,"marginBalance":0,"marginFrozen":0,"marginPosition":0,"marginStatic":0,"profitReal":0,"profitUnreal":0,"symbol":"BTC","withdrawAvailable":0}],"status":"ok","ts":1729580820817} +2024-10-22 15:07:09.605 [DEBUG] [main] [com.huobi.future.api.BaseTest.getContractAccountInfo:32] - 2.获取用户账户信息:{"data":[{"adjustFactor":0.025000000000000000,"leverRate":5,"marginAvailable":0,"marginBalance":0,"marginFrozen":0,"marginPosition":0,"marginStatic":0,"profitReal":0,"profitUnreal":0,"symbol":"BTC","withdrawAvailable":0},{"adjustFactor":0.050000000000000000,"leverRate":5,"marginAvailable":0,"marginBalance":0,"marginFrozen":0,"marginPosition":0,"marginStatic":0,"profitReal":0,"profitUnreal":0,"symbol":"ETH","withdrawAvailable":0},{"adjustFactor":0.050000000000000000,"leverRate":5,"marginAvailable":0,"marginBalance":0,"marginFrozen":0,"marginPosition":0,"marginStatic":0,"profitReal":0,"profitUnreal":0,"symbol":"LTC","withdrawAvailable":0},{"adjustFactor":0.050000000000000000,"leverRate":5,"marginAvailable":0,"marginBalance":0,"marginFrozen":0,"marginPosition":0,"marginStatic":0,"profitReal":0,"profitUnreal":0,"symbol":"EOS","withdrawAvailable":0},{"adjustFactor":0.100000000000000000,"leverRate":5,"marginAvailable":0,"marginBalance":0,"marginFrozen":0,"marginPosition":0,"marginStatic":0,"profitReal":0,"profitUnreal":0,"symbol":"LINK","withdrawAvailable":0},{"adjustFactor":0.100000000000000000,"leverRate":5,"marginAvailable":0,"marginBalance":0,"marginFrozen":0,"marginPosition":0,"marginStatic":0,"profitReal":0,"profitUnreal":0,"symbol":"DOT","withdrawAvailable":0},{"adjustFactor":0.075000000000000000,"leverRate":5,"marginAvailable":0,"marginBalance":0,"marginFrozen":0,"marginPosition":0,"marginStatic":0,"profitReal":0,"profitUnreal":0,"symbol":"TRX","withdrawAvailable":0},{"adjustFactor":0.100000000000000000,"leverRate":5,"marginAvailable":0,"marginBalance":0,"marginFrozen":0,"marginPosition":0,"marginStatic":0,"profitReal":0,"profitUnreal":0,"symbol":"ADA","withdrawAvailable":0},{"adjustFactor":0.050000000000000000,"leverRate":5,"marginAvailable":0,"marginBalance":0,"marginFrozen":0,"marginPosition":0,"marginStatic":0,"profitReal":0,"profitUnreal":0,"symbol":"BCH","withdrawAvailable":0},{"adjustFactor":0.050000000000000000,"leverRate":5,"marginAvailable":0,"marginBalance":0,"marginFrozen":0,"marginPosition":0,"marginStatic":0,"profitReal":0,"profitUnreal":0,"symbol":"XRP","withdrawAvailable":0},{"adjustFactor":0.075000000000000000,"leverRate":5,"marginAvailable":0,"marginBalance":0,"marginFrozen":0,"marginPosition":0,"marginStatic":0,"profitReal":0,"profitUnreal":0,"symbol":"BSV","withdrawAvailable":0},{"adjustFactor":0.075000000000000000,"leverRate":5,"marginAvailable":0,"marginBalance":0,"marginFrozen":0,"marginPosition":0,"marginStatic":0,"profitReal":0,"profitUnreal":0,"symbol":"ETC","withdrawAvailable":0},{"adjustFactor":0.100000000000000000,"leverRate":5,"marginAvailable":0,"marginBalance":0,"marginFrozen":0,"marginPosition":0,"marginStatic":0,"profitReal":0,"profitUnreal":0,"symbol":"FIL","withdrawAvailable":0},{"adjustFactor":0.025000000000000000,"leverRate":5,"marginAvailable":0,"marginBalance":0,"marginFrozen":0,"marginPosition":0,"marginStatic":0,"profitReal":0,"profitUnreal":0,"symbol":"USDT","withdrawAvailable":0},{"adjustFactor":0.100000000000000000,"leverRate":5,"marginAvailable":0,"marginBalance":0,"marginFrozen":0,"marginPosition":0,"marginStatic":0,"profitReal":0,"profitUnreal":0,"symbol":"HT","withdrawAvailable":0},{"adjustFactor":0.100000000000000000,"leverRate":5,"marginAvailable":0,"marginBalance":0,"marginFrozen":0,"marginPosition":0,"marginStatic":0,"profitReal":0,"profitUnreal":0,"symbol":"HUSD","withdrawAvailable":0}],"status":"ok","ts":1729580829520} +2024-10-22 15:07:21.151 [DEBUG] [main] [com.huobi.api.service.coin_futures.account.AccountAPIServiceImpl.getContractBalanceValuation:406] - body:{"status":"ok","data":[{"valuation_asset":"BTC","balance":"0"}],"ts":1729580841083} +2024-10-22 15:07:21.202 [DEBUG] [main] [com.huobi.future.api.BaseTest.getContractBalanceValuation:24] - 1.获取账户总资产估值:{"data":[{"balance":"0","valuationAsset":"BTC"}],"status":"ok","ts":1729580841083} +2024-10-22 15:19:35.988 [ERROR] [WebSocketConnectReadThread-11] [com.huobi.wss.handle.WssNotificationHandle.onClose:101] - onClose i:-1,s:,b:true +2024-10-22 15:29:52.916 [ERROR] [WebSocketConnectReadThread-11] [com.huobi.wss.handle.WssNotificationHandle.onClose:101] - onClose i:-1,s:,b:true +2024-10-22 15:30:01.070 [ERROR] [WebSocketConnectReadThread-11] [com.huobi.wss.handle.WssNotificationHandle.onClose:101] - onClose i:-1,s:,b:true +2024-10-22 15:32:05.243 [INFO] [WebSocketConnectReadThread-13] [com.huobi.wss.handle.WssNotificationHandle.addAuth:157] - before send +2024-10-22 15:32:05.254 [INFO] [WebSocketConnectReadThread-13] [com.huobi.wss.handle.WssNotificationHandle.addAuth:159] - after send +2024-10-22 15:32:05.757 [INFO] [pool-2-thread-2] [com.huobi.future.wss.WssCenterNotificationSubHmac256Test.lambda$test1$0:28] - 用户收到的数据===============:{"op":"notify","topic":"public.futures.heartbeat","event":"init","ts":1729582325618,"data":{"heartbeat":1,"estimated_recovery_time":null}} +2024-10-22 15:32:05.819 [INFO] [pool-2-thread-2] [com.huobi.future.wss.WssCenterNotificationSubHmac256Test.lambda$test1$0:31] - ts为:1729582325618,当前的时间戳为:1729582325764,时间间隔为:146毫秒 +2024-10-22 15:32:10.766 [DEBUG] [pool-2-thread-4] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729582330619 +2024-10-22 15:32:16.070 [DEBUG] [pool-2-thread-5] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729582335915 +2024-10-22 15:32:21.341 [DEBUG] [pool-2-thread-6] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729582341216 +2024-10-22 15:32:26.640 [DEBUG] [pool-2-thread-7] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729582346485 +2024-10-22 15:32:31.960 [DEBUG] [pool-2-thread-8] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729582351785 +2024-10-22 15:32:37.251 [DEBUG] [pool-2-thread-9] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729582357103 +2024-10-22 15:32:42.517 [DEBUG] [pool-2-thread-10] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729582362392 +2024-10-22 15:32:47.804 [DEBUG] [pool-2-thread-1] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729582367659 +2024-10-22 15:32:53.088 [DEBUG] [pool-2-thread-3] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729582372946 +2024-10-22 15:32:58.379 [DEBUG] [pool-2-thread-2] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729582378229 +2024-10-22 15:33:03.704 [DEBUG] [pool-2-thread-4] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729582383520 +2024-10-22 15:33:10.408 [DEBUG] [pool-2-thread-5] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729582390259 +2024-10-22 15:33:15.787 [DEBUG] [pool-2-thread-6] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729582395553 +2024-10-22 15:33:21.109 [DEBUG] [pool-2-thread-7] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729582400925 +2024-10-22 15:33:26.365 [DEBUG] [pool-2-thread-8] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729582406246 +2024-10-22 15:33:35.422 [INFO] [WebSocketConnectReadThread-11] [com.huobi.wss.handle.WssNotificationHandle.addAuth:174] - before send +2024-10-22 15:33:35.426 [INFO] [WebSocketConnectReadThread-11] [com.huobi.wss.handle.WssNotificationHandle.addAuth:176] - after send +2024-10-22 15:33:35.932 [INFO] [pool-2-thread-2] [com.huobi.future.wss.WssCenterNotificationSubHmac256Test.lambda$test1$0:30] - 用户收到的数据===============:{"op":"notify","topic":"public.futures.heartbeat","event":"init","ts":1729582415763,"data":{"heartbeat":1,"estimated_recovery_time":null}} +2024-10-22 15:33:35.951 [INFO] [pool-2-thread-2] [com.huobi.future.wss.WssCenterNotificationSubHmac256Test.lambda$test1$0:33] - ts为:1729582415763,当前的时间戳为:1729582415934,时间间隔为:171毫秒 +2024-10-22 15:33:40.976 [DEBUG] [pool-2-thread-4] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729582420764 +2024-10-22 15:33:46.245 [DEBUG] [pool-2-thread-5] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729582426110 +2024-10-22 15:33:51.518 [DEBUG] [pool-2-thread-6] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729582431379 +2024-10-22 15:33:56.781 [DEBUG] [pool-2-thread-7] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729582436651 +2024-10-22 15:34:02.044 [DEBUG] [pool-2-thread-8] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729582441916 +2024-10-22 15:34:07.289 [DEBUG] [pool-2-thread-9] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729582447179 +2024-10-22 15:34:12.512 [DEBUG] [pool-2-thread-10] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729582452423 +2024-10-22 15:34:17.765 [DEBUG] [pool-2-thread-1] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729582457657 +2024-10-22 15:34:22.975 [DEBUG] [pool-2-thread-3] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729582462901 +2024-10-22 15:34:28.240 [DEBUG] [pool-2-thread-2] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729582468110 +2024-10-22 15:34:33.503 [DEBUG] [pool-2-thread-4] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729582473373 +2024-10-22 15:35:05.554 [DEBUG] [WebSocketConnectReadThread-11] [com.huobi.wss.handle.WssMarketReqHandle.onOpen:41] - onOpen Success +2024-10-22 15:35:05.602 [DEBUG] [WebSocketConnectReadThread-11] [com.huobi.wss.handle.WssMarketReqHandle.dealPing:129] - 发送pong:{"pong":1729582505567} +2024-10-22 15:35:06.046 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:26] - 请求(req)指数K线数据用户收到的原始数据:{"id":"","rep":"market.BTC-USD.index.1min","wsid":769372505,"ts":1729582505932,"status":"ok","data":[]} +2024-10-22 15:35:06.064 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:28] - 请求(req)指数K线数据解析之后的数据为:{"wsid":769372505,"data":[],"id":"","status":"ok","ts":"1729582505932"} +2024-10-22 15:35:06.909 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:26] - 请求(req)指数K线数据用户收到的原始数据:{"id":"","rep":"market.BTC-USD.index.1min","wsid":769372505,"ts":1729582506779,"status":"ok","data":[]} +2024-10-22 15:35:06.909 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:28] - 请求(req)指数K线数据解析之后的数据为:{"wsid":769372505,"data":[],"id":"","status":"ok","ts":"1729582506779"} +2024-10-22 15:35:07.929 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:26] - 请求(req)指数K线数据用户收到的原始数据:{"id":"","rep":"market.BTC-USD.index.1min","wsid":769372505,"ts":1729582507785,"status":"ok","data":[]} +2024-10-22 15:35:07.930 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:28] - 请求(req)指数K线数据解析之后的数据为:{"wsid":769372505,"data":[],"id":"","status":"ok","ts":"1729582507785"} +2024-10-22 15:35:08.893 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:26] - 请求(req)指数K线数据用户收到的原始数据:{"id":"","rep":"market.BTC-USD.index.1min","wsid":769372505,"ts":1729582508787,"status":"ok","data":[]} +2024-10-22 15:35:08.893 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:28] - 请求(req)指数K线数据解析之后的数据为:{"wsid":769372505,"data":[],"id":"","status":"ok","ts":"1729582508787"} +2024-10-22 15:35:09.870 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:26] - 请求(req)指数K线数据用户收到的原始数据:{"id":"","rep":"market.BTC-USD.index.1min","wsid":769372505,"ts":1729582509787,"status":"ok","data":[]} +2024-10-22 15:35:09.871 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:28] - 请求(req)指数K线数据解析之后的数据为:{"wsid":769372505,"data":[],"id":"","status":"ok","ts":"1729582509787"} +2024-10-22 15:35:10.577 [DEBUG] [WebSocketConnectReadThread-11] [com.huobi.wss.handle.WssMarketReqHandle.dealPing:129] - 发送pong:{"pong":1729582510577} +2024-10-22 15:35:10.926 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:26] - 请求(req)指数K线数据用户收到的原始数据:{"id":"","rep":"market.BTC-USD.index.1min","wsid":769372505,"ts":1729582510855,"status":"ok","data":[]} +2024-10-22 15:35:10.926 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:28] - 请求(req)指数K线数据解析之后的数据为:{"wsid":769372505,"data":[],"id":"","status":"ok","ts":"1729582510855"} +2024-10-22 15:35:11.947 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:26] - 请求(req)指数K线数据用户收到的原始数据:{"id":"","rep":"market.BTC-USD.index.1min","wsid":769372505,"ts":1729582511795,"status":"ok","data":[]} +2024-10-22 15:35:11.948 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:28] - 请求(req)指数K线数据解析之后的数据为:{"wsid":769372505,"data":[],"id":"","status":"ok","ts":"1729582511795"} +2024-10-22 15:35:12.944 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:26] - 请求(req)指数K线数据用户收到的原始数据:{"id":"","rep":"market.BTC-USD.index.1min","wsid":769372505,"ts":1729582512800,"status":"ok","data":[]} +2024-10-22 15:35:12.945 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:28] - 请求(req)指数K线数据解析之后的数据为:{"wsid":769372505,"data":[],"id":"","status":"ok","ts":"1729582512800"} +2024-10-22 15:35:13.925 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:26] - 请求(req)指数K线数据用户收到的原始数据:{"id":"","rep":"market.BTC-USD.index.1min","wsid":769372505,"ts":1729582513813,"status":"ok","data":[]} +2024-10-22 15:35:13.926 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:28] - 请求(req)指数K线数据解析之后的数据为:{"wsid":769372505,"data":[],"id":"","status":"ok","ts":"1729582513813"} +2024-10-22 15:35:14.907 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:26] - 请求(req)指数K线数据用户收到的原始数据:{"id":"","rep":"market.BTC-USD.index.1min","wsid":769372505,"ts":1729582514816,"status":"ok","data":[]} +2024-10-22 15:35:14.907 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:28] - 请求(req)指数K线数据解析之后的数据为:{"wsid":769372505,"data":[],"id":"","status":"ok","ts":"1729582514816"} +2024-10-22 15:35:15.594 [DEBUG] [WebSocketConnectReadThread-11] [com.huobi.wss.handle.WssMarketReqHandle.dealPing:129] - 发送pong:{"pong":1729582515594} +2024-10-22 15:35:16.077 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:26] - 请求(req)指数K线数据用户收到的原始数据:{"id":"","rep":"market.BTC-USD.index.1min","wsid":769372505,"ts":1729582515918,"status":"ok","data":[]} +2024-10-22 15:35:16.078 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:28] - 请求(req)指数K线数据解析之后的数据为:{"wsid":769372505,"data":[],"id":"","status":"ok","ts":"1729582515918"} +2024-10-22 15:35:16.939 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:26] - 请求(req)指数K线数据用户收到的原始数据:{"id":"","rep":"market.BTC-USD.index.1min","wsid":769372505,"ts":1729582516826,"status":"ok","data":[]} +2024-10-22 15:35:16.940 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:28] - 请求(req)指数K线数据解析之后的数据为:{"wsid":769372505,"data":[],"id":"","status":"ok","ts":"1729582516826"} +2024-10-22 15:35:17.981 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:26] - 请求(req)指数K线数据用户收到的原始数据:{"id":"","rep":"market.BTC-USD.index.1min","wsid":769372505,"ts":1729582517823,"status":"ok","data":[]} +2024-10-22 15:35:17.982 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:28] - 请求(req)指数K线数据解析之后的数据为:{"wsid":769372505,"data":[],"id":"","status":"ok","ts":"1729582517823"} +2024-10-22 15:35:18.941 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:26] - 请求(req)指数K线数据用户收到的原始数据:{"id":"","rep":"market.BTC-USD.index.1min","wsid":769372505,"ts":1729582518824,"status":"ok","data":[]} +2024-10-22 15:35:18.942 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:28] - 请求(req)指数K线数据解析之后的数据为:{"wsid":769372505,"data":[],"id":"","status":"ok","ts":"1729582518824"} +2024-10-22 15:35:19.926 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:26] - 请求(req)指数K线数据用户收到的原始数据:{"id":"","rep":"market.BTC-USD.index.1min","wsid":769372505,"ts":1729582519835,"status":"ok","data":[]} +2024-10-22 15:35:19.927 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:28] - 请求(req)指数K线数据解析之后的数据为:{"wsid":769372505,"data":[],"id":"","status":"ok","ts":"1729582519835"} +2024-10-22 15:35:20.542 [DEBUG] [WebSocketConnectReadThread-11] [com.huobi.wss.handle.WssMarketReqHandle.dealPing:129] - 发送pong:{"pong":1729582520542} +2024-10-22 15:35:21.131 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:26] - 请求(req)指数K线数据用户收到的原始数据:{"id":"","rep":"market.BTC-USD.index.1min","wsid":769372505,"ts":1729582520868,"status":"ok","data":[]} +2024-10-22 15:35:21.134 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:28] - 请求(req)指数K线数据解析之后的数据为:{"wsid":769372505,"data":[],"id":"","status":"ok","ts":"1729582520868"} +2024-10-22 15:35:21.976 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:26] - 请求(req)指数K线数据用户收到的原始数据:{"id":"","rep":"market.BTC-USD.index.1min","wsid":769372505,"ts":1729582521837,"status":"ok","data":[]} +2024-10-22 15:35:21.977 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:28] - 请求(req)指数K线数据解析之后的数据为:{"wsid":769372505,"data":[],"id":"","status":"ok","ts":"1729582521837"} +2024-10-22 15:35:22.941 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:26] - 请求(req)指数K线数据用户收到的原始数据:{"id":"","rep":"market.BTC-USD.index.1min","wsid":769372505,"ts":1729582522839,"status":"ok","data":[]} +2024-10-22 15:35:22.942 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:28] - 请求(req)指数K线数据解析之后的数据为:{"wsid":769372505,"data":[],"id":"","status":"ok","ts":"1729582522839"} +2024-10-22 15:35:23.950 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:26] - 请求(req)指数K线数据用户收到的原始数据:{"id":"","rep":"market.BTC-USD.index.1min","wsid":769372505,"ts":1729582523845,"status":"ok","data":[]} +2024-10-22 15:35:23.950 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:28] - 请求(req)指数K线数据解析之后的数据为:{"wsid":769372505,"data":[],"id":"","status":"ok","ts":"1729582523845"} +2024-10-22 15:35:24.941 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:26] - 请求(req)指数K线数据用户收到的原始数据:{"id":"","rep":"market.BTC-USD.index.1min","wsid":769372505,"ts":1729582524849,"status":"ok","data":[]} +2024-10-22 15:35:24.942 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:28] - 请求(req)指数K线数据解析之后的数据为:{"wsid":769372505,"data":[],"id":"","status":"ok","ts":"1729582524849"} +2024-10-22 15:35:25.520 [DEBUG] [WebSocketConnectReadThread-11] [com.huobi.wss.handle.WssMarketReqHandle.dealPing:129] - 发送pong:{"pong":1729582525520} +2024-10-22 15:35:25.958 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:26] - 请求(req)指数K线数据用户收到的原始数据:{"id":"","rep":"market.BTC-USD.index.1min","wsid":769372505,"ts":1729582525851,"status":"ok","data":[]} +2024-10-22 15:35:25.959 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:28] - 请求(req)指数K线数据解析之后的数据为:{"wsid":769372505,"data":[],"id":"","status":"ok","ts":"1729582525851"} +2024-10-22 15:35:26.936 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:26] - 请求(req)指数K线数据用户收到的原始数据:{"id":"","rep":"market.BTC-USD.index.1min","wsid":769372505,"ts":1729582526854,"status":"ok","data":[]} +2024-10-22 15:35:26.937 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:28] - 请求(req)指数K线数据解析之后的数据为:{"wsid":769372505,"data":[],"id":"","status":"ok","ts":"1729582526854"} +2024-10-22 15:35:27.984 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:26] - 请求(req)指数K线数据用户收到的原始数据:{"id":"","rep":"market.BTC-USD.index.1min","wsid":769372505,"ts":1729582527859,"status":"ok","data":[]} +2024-10-22 15:35:27.984 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:28] - 请求(req)指数K线数据解析之后的数据为:{"wsid":769372505,"data":[],"id":"","status":"ok","ts":"1729582527859"} +2024-10-22 15:35:28.972 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:26] - 请求(req)指数K线数据用户收到的原始数据:{"id":"","rep":"market.BTC-USD.index.1min","wsid":769372505,"ts":1729582528865,"status":"ok","data":[]} +2024-10-22 15:35:28.972 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:28] - 请求(req)指数K线数据解析之后的数据为:{"wsid":769372505,"data":[],"id":"","status":"ok","ts":"1729582528865"} +2024-10-22 15:35:29.964 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:26] - 请求(req)指数K线数据用户收到的原始数据:{"id":"","rep":"market.BTC-USD.index.1min","wsid":769372505,"ts":1729582529873,"status":"ok","data":[]} +2024-10-22 15:35:29.965 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:28] - 请求(req)指数K线数据解析之后的数据为:{"wsid":769372505,"data":[],"id":"","status":"ok","ts":"1729582529873"} +2024-10-22 15:35:30.545 [DEBUG] [WebSocketConnectReadThread-11] [com.huobi.wss.handle.WssMarketReqHandle.dealPing:129] - 发送pong:{"pong":1729582530545} +2024-10-22 15:35:30.998 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:26] - 请求(req)指数K线数据用户收到的原始数据:{"id":"","rep":"market.BTC-USD.index.1min","wsid":769372505,"ts":1729582530866,"status":"ok","data":[]} +2024-10-22 15:35:30.999 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:28] - 请求(req)指数K线数据解析之后的数据为:{"wsid":769372505,"data":[],"id":"","status":"ok","ts":"1729582530866"} +2024-10-22 15:35:32.009 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:26] - 请求(req)指数K线数据用户收到的原始数据:{"id":"","rep":"market.BTC-USD.index.1min","wsid":769372505,"ts":1729582531879,"status":"ok","data":[]} +2024-10-22 15:35:32.010 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:28] - 请求(req)指数K线数据解析之后的数据为:{"wsid":769372505,"data":[],"id":"","status":"ok","ts":"1729582531879"} +2024-10-22 15:35:33.012 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:26] - 请求(req)指数K线数据用户收到的原始数据:{"id":"","rep":"market.BTC-USD.index.1min","wsid":769372505,"ts":1729582532884,"status":"ok","data":[]} +2024-10-22 15:35:33.013 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:28] - 请求(req)指数K线数据解析之后的数据为:{"wsid":769372505,"data":[],"id":"","status":"ok","ts":"1729582532884"} +2024-10-22 15:35:33.974 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:26] - 请求(req)指数K线数据用户收到的原始数据:{"id":"","rep":"market.BTC-USD.index.1min","wsid":769372505,"ts":1729582533887,"status":"ok","data":[]} +2024-10-22 15:35:33.975 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:28] - 请求(req)指数K线数据解析之后的数据为:{"wsid":769372505,"data":[],"id":"","status":"ok","ts":"1729582533887"} +2024-10-22 15:35:35.013 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:26] - 请求(req)指数K线数据用户收到的原始数据:{"id":"","rep":"market.BTC-USD.index.1min","wsid":769372505,"ts":1729582534887,"status":"ok","data":[]} +2024-10-22 15:35:35.014 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:28] - 请求(req)指数K线数据解析之后的数据为:{"wsid":769372505,"data":[],"id":"","status":"ok","ts":"1729582534887"} +2024-10-22 15:35:35.546 [DEBUG] [WebSocketConnectReadThread-11] [com.huobi.wss.handle.WssMarketReqHandle.dealPing:129] - 发送pong:{"pong":1729582535546} +2024-10-22 15:35:36.021 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:26] - 请求(req)指数K线数据用户收到的原始数据:{"id":"","rep":"market.BTC-USD.index.1min","wsid":769372505,"ts":1729582535884,"status":"ok","data":[]} +2024-10-22 15:35:36.022 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:28] - 请求(req)指数K线数据解析之后的数据为:{"wsid":769372505,"data":[],"id":"","status":"ok","ts":"1729582535884"} +2024-10-22 15:35:37.043 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:26] - 请求(req)指数K线数据用户收到的原始数据:{"id":"","rep":"market.BTC-USD.index.1min","wsid":769372505,"ts":1729582536897,"status":"ok","data":[]} +2024-10-22 15:35:37.044 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:28] - 请求(req)指数K线数据解析之后的数据为:{"wsid":769372505,"data":[],"id":"","status":"ok","ts":"1729582536897"} +2024-10-22 15:35:38.044 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:26] - 请求(req)指数K线数据用户收到的原始数据:{"id":"","rep":"market.BTC-USD.index.1min","wsid":769372505,"ts":1729582537895,"status":"ok","data":[]} +2024-10-22 15:35:38.045 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:28] - 请求(req)指数K线数据解析之后的数据为:{"wsid":769372505,"data":[],"id":"","status":"ok","ts":"1729582537895"} +2024-10-22 15:35:38.990 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:26] - 请求(req)指数K线数据用户收到的原始数据:{"id":"","rep":"market.BTC-USD.index.1min","wsid":769372505,"ts":1729582538903,"status":"ok","data":[]} +2024-10-22 15:35:38.991 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:28] - 请求(req)指数K线数据解析之后的数据为:{"wsid":769372505,"data":[],"id":"","status":"ok","ts":"1729582538903"} +2024-10-22 15:35:39.990 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:26] - 请求(req)指数K线数据用户收到的原始数据:{"id":"","rep":"market.BTC-USD.index.1min","wsid":769372505,"ts":1729582539903,"status":"ok","data":[]} +2024-10-22 15:35:39.990 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:28] - 请求(req)指数K线数据解析之后的数据为:{"wsid":769372505,"data":[],"id":"","status":"ok","ts":"1729582539903"} +2024-10-22 15:35:40.586 [DEBUG] [WebSocketConnectReadThread-11] [com.huobi.wss.handle.WssMarketReqHandle.dealPing:129] - 发送pong:{"pong":1729582540586} +2024-10-22 15:35:41.049 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:26] - 请求(req)指数K线数据用户收到的原始数据:{"id":"","rep":"market.BTC-USD.index.1min","wsid":769372505,"ts":1729582540943,"status":"ok","data":[]} +2024-10-22 15:35:41.050 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:28] - 请求(req)指数K线数据解析之后的数据为:{"wsid":769372505,"data":[],"id":"","status":"ok","ts":"1729582540943"} +2024-10-22 15:35:42.005 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:26] - 请求(req)指数K线数据用户收到的原始数据:{"id":"","rep":"market.BTC-USD.index.1min","wsid":769372505,"ts":1729582541910,"status":"ok","data":[]} +2024-10-22 15:35:42.006 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:28] - 请求(req)指数K线数据解析之后的数据为:{"wsid":769372505,"data":[],"id":"","status":"ok","ts":"1729582541910"} +2024-10-22 15:35:43.011 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:26] - 请求(req)指数K线数据用户收到的原始数据:{"id":"","rep":"market.BTC-USD.index.1min","wsid":769372505,"ts":1729582542913,"status":"ok","data":[]} +2024-10-22 15:35:43.011 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:28] - 请求(req)指数K线数据解析之后的数据为:{"wsid":769372505,"data":[],"id":"","status":"ok","ts":"1729582542913"} +2024-10-22 15:35:44.001 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:26] - 请求(req)指数K线数据用户收到的原始数据:{"id":"","rep":"market.BTC-USD.index.1min","wsid":769372505,"ts":1729582543915,"status":"ok","data":[]} +2024-10-22 15:35:44.002 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:28] - 请求(req)指数K线数据解析之后的数据为:{"wsid":769372505,"data":[],"id":"","status":"ok","ts":"1729582543915"} +2024-10-22 15:35:45.055 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:26] - 请求(req)指数K线数据用户收到的原始数据:{"id":"","rep":"market.BTC-USD.index.1min","wsid":769372505,"ts":1729582544916,"status":"ok","data":[]} +2024-10-22 15:35:45.056 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:28] - 请求(req)指数K线数据解析之后的数据为:{"wsid":769372505,"data":[],"id":"","status":"ok","ts":"1729582544916"} +2024-10-22 15:35:45.517 [DEBUG] [WebSocketConnectReadThread-11] [com.huobi.wss.handle.WssMarketReqHandle.dealPing:129] - 发送pong:{"pong":1729582545517} +2024-10-22 15:35:46.012 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:26] - 请求(req)指数K线数据用户收到的原始数据:{"id":"","rep":"market.BTC-USD.index.1min","wsid":769372505,"ts":1729582545918,"status":"ok","data":[]} +2024-10-22 15:35:46.013 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:28] - 请求(req)指数K线数据解析之后的数据为:{"wsid":769372505,"data":[],"id":"","status":"ok","ts":"1729582545918"} +2024-10-22 15:35:47.028 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:26] - 请求(req)指数K线数据用户收到的原始数据:{"id":"","rep":"market.BTC-USD.index.1min","wsid":769372505,"ts":1729582546931,"status":"ok","data":[]} +2024-10-22 15:35:47.028 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:28] - 请求(req)指数K线数据解析之后的数据为:{"wsid":769372505,"data":[],"id":"","status":"ok","ts":"1729582546931"} +2024-10-22 15:35:58.011 [DEBUG] [WebSocketConnectReadThread-11] [com.huobi.wss.handle.WssMarketHandle.onOpen:57] - onOpen Success +2024-10-22 15:35:58.344 [INFO] [pool-2-thread-1] [com.huobi.future.wss.WssIndexSubTest.lambda$test1$0:25] - 订阅(sub)指数K线数据用户收到的数据===============:{"ch":"market.BTC-USD.index.1min","ts":1729582557256,"tick":{"id":1729582500,"open":"67547.4775","close":"67564.045","high":"67564.045","low":"67547.4775","amount":"0","vol":"0","count":0}} +2024-10-22 15:35:58.363 [INFO] [pool-2-thread-1] [com.huobi.future.wss.WssIndexSubTest.lambda$test1$0:28] - 订阅(sub)指数K线数据的ts为:1729582557256,当前的时间戳为:1729582558345,时间间隔为:1089毫秒 +2024-10-22 15:35:58.375 [INFO] [pool-2-thread-1] [com.huobi.future.wss.WssIndexSubTest.lambda$test1$0:25] - 订阅(sub)指数K线数据用户收到的数据===============:{"ch":"market.BTC-USD.index.1min","ts":1729582558256,"tick":{"id":1729582500,"open":"67547.4775","close":"67565.045","high":"67565.045","low":"67547.4775","amount":"0","vol":"0","count":0}} +2024-10-22 15:35:58.376 [INFO] [pool-2-thread-1] [com.huobi.future.wss.WssIndexSubTest.lambda$test1$0:28] - 订阅(sub)指数K线数据的ts为:1729582558256,当前的时间戳为:1729582558376,时间间隔为:120毫秒 +2024-10-22 15:35:59.424 [INFO] [pool-2-thread-1] [com.huobi.future.wss.WssIndexSubTest.lambda$test1$0:25] - 订阅(sub)指数K线数据用户收到的数据===============:{"ch":"market.BTC-USD.index.1min","ts":1729582559256,"tick":{"id":1729582500,"open":"67547.4775","close":"67565.045","high":"67565.045","low":"67547.4775","amount":"0","vol":"0","count":0}} +2024-10-22 15:35:59.425 [INFO] [pool-2-thread-1] [com.huobi.future.wss.WssIndexSubTest.lambda$test1$0:28] - 订阅(sub)指数K线数据的ts为:1729582559256,当前的时间戳为:1729582559425,时间间隔为:169毫秒 +2024-10-22 15:36:00.337 [INFO] [pool-2-thread-1] [com.huobi.future.wss.WssIndexSubTest.lambda$test1$0:25] - 订阅(sub)指数K线数据用户收到的数据===============:{"ch":"market.BTC-USD.index.1min","ts":1729582560255,"tick":{"id":1729582560,"open":"67565.045","close":"67565.045","high":"67565.045","low":"67565.045","amount":"0","vol":"0","count":0}} +2024-10-22 15:36:00.337 [INFO] [pool-2-thread-1] [com.huobi.future.wss.WssIndexSubTest.lambda$test1$0:28] - 订阅(sub)指数K线数据的ts为:1729582560255,当前的时间戳为:1729582560337,时间间隔为:82毫秒 +2024-10-22 15:36:01.468 [INFO] [pool-2-thread-1] [com.huobi.future.wss.WssIndexSubTest.lambda$test1$0:25] - 订阅(sub)指数K线数据用户收到的数据===============:{"ch":"market.BTC-USD.index.1min","ts":1729582561256,"tick":{"id":1729582560,"open":"67565.045","close":"67565.045","high":"67565.045","low":"67565.045","amount":"0","vol":"0","count":0}} +2024-10-22 15:36:01.469 [INFO] [pool-2-thread-1] [com.huobi.future.wss.WssIndexSubTest.lambda$test1$0:28] - 订阅(sub)指数K线数据的ts为:1729582561256,当前的时间戳为:1729582561468,时间间隔为:212毫秒 +2024-10-22 15:36:02.495 [INFO] [pool-2-thread-1] [com.huobi.future.wss.WssIndexSubTest.lambda$test1$0:25] - 订阅(sub)指数K线数据用户收到的数据===============:{"ch":"market.BTC-USD.index.1min","ts":1729582562256,"tick":{"id":1729582560,"open":"67565.045","close":"67560.91","high":"67565.045","low":"67560.91","amount":"0","vol":"0","count":0}} +2024-10-22 15:36:02.496 [INFO] [pool-2-thread-1] [com.huobi.future.wss.WssIndexSubTest.lambda$test1$0:28] - 订阅(sub)指数K线数据的ts为:1729582562256,当前的时间戳为:1729582562495,时间间隔为:239毫秒 +2024-10-22 15:36:02.991 [DEBUG] [pool-2-thread-1] [com.huobi.wss.handle.WssMarketHandle.dealPing:125] - 发送pong:{"pong":1} +2024-10-22 15:36:03.400 [INFO] [pool-2-thread-1] [com.huobi.future.wss.WssIndexSubTest.lambda$test1$0:25] - 订阅(sub)指数K线数据用户收到的数据===============:{"ch":"market.BTC-USD.index.1min","ts":1729582563256,"tick":{"id":1729582560,"open":"67565.045","close":"67560.91","high":"67565.045","low":"67560.91","amount":"0","vol":"0","count":0}} +2024-10-22 15:36:03.401 [INFO] [pool-2-thread-1] [com.huobi.future.wss.WssIndexSubTest.lambda$test1$0:28] - 订阅(sub)指数K线数据的ts为:1729582563256,当前的时间戳为:1729582563400,时间间隔为:144毫秒 +2024-10-22 15:36:04.439 [INFO] [pool-2-thread-1] [com.huobi.future.wss.WssIndexSubTest.lambda$test1$0:25] - 订阅(sub)指数K线数据用户收到的数据===============:{"ch":"market.BTC-USD.index.1min","ts":1729582564256,"tick":{"id":1729582560,"open":"67565.045","close":"67560.91","high":"67565.045","low":"67560.91","amount":"0","vol":"0","count":0}} +2024-10-22 15:36:04.439 [INFO] [pool-2-thread-1] [com.huobi.future.wss.WssIndexSubTest.lambda$test1$0:28] - 订阅(sub)指数K线数据的ts为:1729582564256,当前的时间戳为:1729582564439,时间间隔为:183毫秒 +2024-10-22 15:36:05.463 [INFO] [pool-2-thread-1] [com.huobi.future.wss.WssIndexSubTest.lambda$test1$0:25] - 订阅(sub)指数K线数据用户收到的数据===============:{"ch":"market.BTC-USD.index.1min","ts":1729582565256,"tick":{"id":1729582560,"open":"67565.045","close":"67560.91","high":"67565.045","low":"67560.91","amount":"0","vol":"0","count":0}} +2024-10-22 15:36:05.464 [INFO] [pool-2-thread-1] [com.huobi.future.wss.WssIndexSubTest.lambda$test1$0:28] - 订阅(sub)指数K线数据的ts为:1729582565256,当前的时间戳为:1729582565463,时间间隔为:207毫秒 +2024-10-22 15:36:15.161 [INFO] [WebSocketConnectReadThread-11] [com.huobi.wss.handle.WssNotificationHandle.addAuth:174] - before send +2024-10-22 15:36:15.164 [INFO] [WebSocketConnectReadThread-11] [com.huobi.wss.handle.WssNotificationHandle.addAuth:176] - after send +2024-10-22 15:36:15.535 [INFO] [pool-2-thread-2] [com.huobi.future.wss.WssCenterNotificationSubHmac256Test.lambda$test1$0:30] - 用户收到的数据===============:{"op":"notify","topic":"public.futures.heartbeat","event":"init","ts":1729582575455,"data":{"heartbeat":1,"estimated_recovery_time":null}} +2024-10-22 15:36:15.552 [INFO] [pool-2-thread-2] [com.huobi.future.wss.WssCenterNotificationSubHmac256Test.lambda$test1$0:33] - ts为:1729582575455,当前的时间戳为:1729582575537,时间间隔为:82毫秒 +2024-10-22 15:36:20.614 [DEBUG] [pool-2-thread-4] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729582580456 +2024-10-22 15:36:25.891 [DEBUG] [pool-2-thread-5] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729582585753 +2024-10-22 15:36:30.099 [INFO] [WebSocketConnectReadThread-11] [com.huobi.wss.handle.WssNotificationHandle.addAuth:157] - before send +2024-10-22 15:36:30.111 [INFO] [WebSocketConnectReadThread-11] [com.huobi.wss.handle.WssNotificationHandle.addAuth:159] - after send +2024-10-22 15:36:31.520 [DEBUG] [pool-2-thread-6] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729582591032 +2024-10-22 15:36:36.725 [DEBUG] [pool-2-thread-7] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729582596661 +2024-10-22 15:36:41.895 [DEBUG] [pool-2-thread-8] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729582601866 +2024-10-22 15:36:46.079 [ERROR] [WebSocketConnectReadThread-11] [com.huobi.wss.handle.WssNotificationHandle.onClose:101] - onClose i:1006,s:,b:true +2024-10-22 15:36:47.167 [DEBUG] [pool-2-thread-9] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729582607037 +2024-10-22 15:36:52.459 [DEBUG] [pool-2-thread-10] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729582612308 +2024-10-22 15:36:57.658 [DEBUG] [pool-2-thread-1] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729582617601 +2024-10-22 15:37:02.894 [DEBUG] [pool-2-thread-3] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729582622799 +2024-10-22 15:37:08.126 [DEBUG] [pool-2-thread-2] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729582628036 +2024-10-22 15:37:14.896 [DEBUG] [pool-2-thread-4] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729582633268 +2024-10-22 15:37:20.823 [DEBUG] [pool-2-thread-5] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729582640218 +2024-10-22 15:37:26.146 [DEBUG] [pool-2-thread-6] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729582645965 +2024-10-22 15:37:30.118 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:191] - isClosed:true,isClosing:false,准备重连 +2024-10-22 15:37:31.388 [DEBUG] [pool-2-thread-7] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729582651289 +2024-10-22 15:37:36.655 [DEBUG] [pool-2-thread-8] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729582656534 +2024-10-22 15:37:41.910 [DEBUG] [pool-2-thread-9] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729582661811 +2024-10-22 15:37:47.164 [DEBUG] [pool-2-thread-10] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729582667053 +2024-10-22 15:37:52.467 [DEBUG] [pool-2-thread-1] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729582672309 +2024-10-22 15:37:57.028 [INFO] [WebSocketConnectReadThread-11] [com.huobi.wss.handle.WssNotificationHandle.addAuth:157] - before send +2024-10-22 15:37:57.039 [INFO] [WebSocketConnectReadThread-11] [com.huobi.wss.handle.WssNotificationHandle.addAuth:159] - after send +2024-10-22 15:37:57.717 [DEBUG] [pool-2-thread-3] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729582677609 +2024-10-22 15:38:03.035 [DEBUG] [pool-2-thread-2] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729582682859 +2024-10-22 15:38:08.264 [DEBUG] [pool-2-thread-4] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729582688178 +2024-10-22 15:38:12.311 [ERROR] [WebSocketConnectReadThread-11] [com.huobi.wss.handle.WssNotificationHandle.onClose:101] - onClose i:1006,s:,b:true +2024-10-22 15:38:13.584 [DEBUG] [pool-2-thread-5] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729582693406 +2024-10-22 15:38:20.244 [DEBUG] [pool-2-thread-6] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729582700139 +2024-10-22 15:38:25.542 [DEBUG] [pool-2-thread-7] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729582705387 +2024-10-22 15:38:30.867 [DEBUG] [pool-2-thread-8] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729582710685 +2024-10-22 15:38:36.192 [DEBUG] [pool-2-thread-9] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729582716010 +2024-10-22 15:38:41.466 [DEBUG] [pool-2-thread-10] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729582721339 +2024-10-22 15:38:46.718 [DEBUG] [pool-2-thread-1] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729582726611 +2024-10-22 15:38:51.986 [DEBUG] [pool-2-thread-3] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729582731864 +2024-10-22 15:38:57.045 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:191] - isClosed:true,isClosing:false,准备重连 +2024-10-22 15:38:57.245 [DEBUG] [pool-2-thread-2] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729582737131 +2024-10-22 15:38:58.162 [INFO] [WebSocketConnectReadThread-18] [com.huobi.wss.handle.WssNotificationHandle.addAuth:157] - before send +2024-10-22 15:38:58.163 [INFO] [WebSocketConnectReadThread-18] [com.huobi.wss.handle.WssNotificationHandle.addAuth:159] - after send +2024-10-22 15:38:58.163 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:193] - 重连的结果为:true +2024-10-22 15:39:02.535 [DEBUG] [pool-2-thread-4] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729582742387 +2024-10-22 15:39:07.754 [DEBUG] [pool-2-thread-5] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729582747678 +2024-10-22 15:39:13.005 [DEBUG] [pool-2-thread-6] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729582752899 +2024-10-22 15:39:13.571 [ERROR] [WebSocketConnectReadThread-18] [com.huobi.wss.handle.WssNotificationHandle.onClose:101] - onClose i:1006,s:,b:true +2024-10-22 15:39:17.049 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:191] - isClosed:true,isClosing:false,准备重连 +2024-10-22 15:39:20.239 [DEBUG] [pool-2-thread-7] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729582760136 +2024-10-22 15:39:21.159 [INFO] [WebSocketConnectReadThread-23] [com.huobi.wss.handle.WssNotificationHandle.addAuth:157] - before send +2024-10-22 15:39:21.163 [INFO] [WebSocketConnectReadThread-23] [com.huobi.wss.handle.WssNotificationHandle.addAuth:159] - after send +2024-10-22 15:39:21.164 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:193] - 重连的结果为:true +2024-10-22 15:39:25.474 [DEBUG] [pool-2-thread-8] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729582765390 +2024-10-22 15:39:30.747 [DEBUG] [pool-2-thread-9] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729582770617 +2024-10-22 15:39:35.991 [DEBUG] [pool-2-thread-10] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729582775888 +2024-10-22 15:39:36.569 [ERROR] [WebSocketConnectReadThread-23] [com.huobi.wss.handle.WssNotificationHandle.onClose:101] - onClose i:1006,s:,b:true +2024-10-22 15:39:37.047 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:191] - isClosed:true,isClosing:false,准备重连 +2024-10-22 15:39:38.145 [INFO] [WebSocketConnectReadThread-28] [com.huobi.wss.handle.WssNotificationHandle.addAuth:157] - before send +2024-10-22 15:39:38.146 [INFO] [WebSocketConnectReadThread-28] [com.huobi.wss.handle.WssNotificationHandle.addAuth:159] - after send +2024-10-22 15:39:38.146 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:193] - 重连的结果为:true +2024-10-22 15:39:41.239 [DEBUG] [pool-2-thread-1] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729582781138 +2024-10-22 15:39:46.486 [DEBUG] [pool-2-thread-3] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729582786380 +2024-10-22 15:39:51.734 [DEBUG] [pool-2-thread-2] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729582791626 +2024-10-22 15:39:53.590 [ERROR] [WebSocketConnectReadThread-28] [com.huobi.wss.handle.WssNotificationHandle.onClose:101] - onClose i:1006,s:,b:true +2024-10-22 15:39:56.991 [DEBUG] [pool-2-thread-4] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729582796875 +2024-10-22 15:39:57.050 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:191] - isClosed:true,isClosing:false,准备重连 +2024-10-22 15:39:58.277 [INFO] [WebSocketConnectReadThread-33] [com.huobi.wss.handle.WssNotificationHandle.addAuth:157] - before send +2024-10-22 15:39:58.277 [INFO] [WebSocketConnectReadThread-33] [com.huobi.wss.handle.WssNotificationHandle.addAuth:159] - after send +2024-10-22 15:39:58.278 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:193] - 重连的结果为:true +2024-10-22 15:40:02.282 [DEBUG] [pool-2-thread-5] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729582802132 +2024-10-22 15:40:07.485 [DEBUG] [pool-2-thread-6] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729582807423 +2024-10-22 15:40:12.731 [DEBUG] [pool-2-thread-7] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729582812626 +2024-10-22 15:40:13.693 [ERROR] [WebSocketConnectReadThread-33] [com.huobi.wss.handle.WssNotificationHandle.onClose:101] - onClose i:1006,s:,b:true +2024-10-22 15:40:17.051 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:191] - isClosed:true,isClosing:false,准备重连 +2024-10-22 15:40:17.820 [INFO] [WebSocketConnectReadThread-38] [com.huobi.wss.handle.WssNotificationHandle.addAuth:157] - before send +2024-10-22 15:40:17.820 [INFO] [WebSocketConnectReadThread-38] [com.huobi.wss.handle.WssNotificationHandle.addAuth:159] - after send +2024-10-22 15:40:17.820 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:193] - 重连的结果为:true +2024-10-22 15:40:20.247 [DEBUG] [pool-2-thread-8] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729582820132 +2024-10-22 15:40:25.510 [DEBUG] [pool-2-thread-9] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729582825402 +2024-10-22 15:40:30.757 [DEBUG] [pool-2-thread-10] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729582830654 +2024-10-22 15:40:33.220 [ERROR] [WebSocketConnectReadThread-38] [com.huobi.wss.handle.WssNotificationHandle.onClose:101] - onClose i:1006,s:,b:true +2024-10-22 15:40:35.958 [DEBUG] [pool-2-thread-1] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729582835899 +2024-10-22 15:40:37.051 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:191] - isClosed:true,isClosing:false,准备重连 +2024-10-22 15:40:38.089 [INFO] [WebSocketConnectReadThread-41] [com.huobi.wss.handle.WssNotificationHandle.addAuth:157] - before send +2024-10-22 15:40:38.090 [INFO] [WebSocketConnectReadThread-41] [com.huobi.wss.handle.WssNotificationHandle.addAuth:159] - after send +2024-10-22 15:40:38.091 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:193] - 重连的结果为:true +2024-10-22 15:40:41.191 [DEBUG] [pool-2-thread-3] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729582841098 +2024-10-22 15:40:46.422 [DEBUG] [pool-2-thread-2] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729582846331 +2024-10-22 15:40:51.657 [DEBUG] [pool-2-thread-4] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729582851568 +2024-10-22 15:40:53.495 [ERROR] [WebSocketConnectReadThread-41] [com.huobi.wss.handle.WssNotificationHandle.onClose:101] - onClose i:1006,s:,b:true +2024-10-22 15:40:56.843 [DEBUG] [pool-2-thread-5] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729582856797 +2024-10-22 15:40:57.051 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:191] - isClosed:true,isClosing:false,准备重连 +2024-10-22 15:40:58.189 [INFO] [WebSocketConnectReadThread-44] [com.huobi.wss.handle.WssNotificationHandle.addAuth:157] - before send +2024-10-22 15:40:58.189 [INFO] [WebSocketConnectReadThread-44] [com.huobi.wss.handle.WssNotificationHandle.addAuth:159] - after send +2024-10-22 15:40:58.190 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:193] - 重连的结果为:true +2024-10-22 15:41:02.073 [DEBUG] [pool-2-thread-6] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729582861982 +2024-10-22 15:41:07.308 [DEBUG] [pool-2-thread-7] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729582867213 +2024-10-22 15:41:12.570 [DEBUG] [pool-2-thread-8] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729582872448 +2024-10-22 15:41:20.243 [DEBUG] [pool-2-thread-9] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729582880132 +2024-10-22 15:41:25.484 [DEBUG] [pool-2-thread-10] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729582885383 +2024-10-22 15:41:30.769 [DEBUG] [pool-2-thread-1] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729582890624 +2024-10-22 15:41:36.050 [DEBUG] [pool-2-thread-3] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729582895909 +2024-10-22 15:41:41.293 [DEBUG] [pool-2-thread-2] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729582901192 +2024-10-22 15:41:46.570 [DEBUG] [pool-2-thread-4] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729582906432 +2024-10-22 15:41:51.779 [DEBUG] [pool-2-thread-5] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729582911709 +2024-10-22 15:41:57.003 [DEBUG] [pool-2-thread-6] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729582916918 +2024-10-22 15:42:02.202 [DEBUG] [pool-2-thread-7] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729582922143 +2024-10-22 15:42:07.382 [DEBUG] [pool-2-thread-8] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729582927342 +2024-10-22 15:42:12.570 [DEBUG] [pool-2-thread-9] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729582932520 +2024-10-22 15:42:20.301 [DEBUG] [pool-2-thread-10] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729582940124 +2024-10-22 15:42:25.495 [DEBUG] [pool-2-thread-1] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729582945442 +2024-10-22 15:42:30.749 [DEBUG] [pool-2-thread-3] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729582950634 +2024-10-22 15:42:35.951 [DEBUG] [pool-2-thread-2] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729582955887 +2024-10-22 15:42:41.200 [DEBUG] [pool-2-thread-4] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729582961091 +2024-10-22 15:42:46.437 [DEBUG] [pool-2-thread-5] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729582966338 +2024-10-22 15:42:51.698 [DEBUG] [pool-2-thread-6] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729582971575 +2024-10-22 15:42:56.950 [DEBUG] [pool-2-thread-7] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729582976839 +2024-10-22 15:42:58.194 [ERROR] [WebSocketTimer] [com.huobi.wss.handle.WssNotificationHandle.onClose:101] - onClose i:1006,s:The connection was closed because the other endpoint did not respond with a pong in time. For more information check: https://github.com/TooTallNate/Java-WebSocket/wiki/Lost-connection-detection,b:false +2024-10-22 15:42:58.287 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:191] - isClosed:true,isClosing:false,准备重连 +2024-10-22 15:42:59.248 [INFO] [WebSocketConnectReadThread-47] [com.huobi.wss.handle.WssNotificationHandle.addAuth:157] - before send +2024-10-22 15:42:59.249 [INFO] [WebSocketConnectReadThread-47] [com.huobi.wss.handle.WssNotificationHandle.addAuth:159] - after send +2024-10-22 15:42:59.250 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:193] - 重连的结果为:true +2024-10-22 15:43:02.126 [DEBUG] [pool-2-thread-8] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729582982088 +2024-10-22 15:43:07.330 [DEBUG] [pool-2-thread-9] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729582987269 +2024-10-22 15:43:12.538 [DEBUG] [pool-2-thread-10] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729582992469 +2024-10-22 15:43:14.587 [ERROR] [WebSocketConnectReadThread-47] [com.huobi.wss.handle.WssNotificationHandle.onClose:101] - onClose i:1006,s:,b:true +2024-10-22 15:43:17.055 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:191] - isClosed:true,isClosing:false,准备重连 +2024-10-22 15:43:18.146 [INFO] [WebSocketConnectReadThread-50] [com.huobi.wss.handle.WssNotificationHandle.addAuth:157] - before send +2024-10-22 15:43:18.146 [INFO] [WebSocketConnectReadThread-50] [com.huobi.wss.handle.WssNotificationHandle.addAuth:159] - after send +2024-10-22 15:43:18.146 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:193] - 重连的结果为:true +2024-10-22 15:43:20.213 [DEBUG] [pool-2-thread-1] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583000128 +2024-10-22 15:43:23.403 [INFO] [WebSocketConnectReadThread-11] [com.huobi.wss.handle.WssNotificationHandle.addAuth:157] - before send +2024-10-22 15:43:23.420 [INFO] [WebSocketConnectReadThread-11] [com.huobi.wss.handle.WssNotificationHandle.addAuth:159] - after send +2024-10-22 15:43:25.451 [DEBUG] [pool-2-thread-3] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583005357 +2024-10-22 15:43:30.666 [DEBUG] [pool-2-thread-2] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583010592 +2024-10-22 15:43:35.923 [DEBUG] [pool-2-thread-4] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583015805 +2024-10-22 15:43:38.691 [ERROR] [WebSocketConnectReadThread-11] [com.huobi.wss.handle.WssNotificationHandle.onClose:101] - onClose i:1006,s:,b:true +2024-10-22 15:43:41.090 [DEBUG] [pool-2-thread-5] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583021068 +2024-10-22 15:43:46.271 [DEBUG] [pool-2-thread-6] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583026228 +2024-10-22 15:43:51.447 [DEBUG] [pool-2-thread-7] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583031408 +2024-10-22 15:43:56.642 [DEBUG] [pool-2-thread-8] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583036584 +2024-10-22 15:44:01.848 [DEBUG] [pool-2-thread-9] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583041779 +2024-10-22 15:44:07.064 [DEBUG] [pool-2-thread-10] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583046988 +2024-10-22 15:44:12.283 [DEBUG] [pool-2-thread-1] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583052204 +2024-10-22 15:44:20.223 [DEBUG] [pool-2-thread-3] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583060127 +2024-10-22 15:44:23.461 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:191] - isClosed:true,isClosing:false,准备重连 +2024-10-22 15:44:25.020 [INFO] [WebSocketConnectReadThread-18] [com.huobi.wss.handle.WssNotificationHandle.addAuth:157] - before send +2024-10-22 15:44:25.020 [INFO] [WebSocketConnectReadThread-18] [com.huobi.wss.handle.WssNotificationHandle.addAuth:159] - after send +2024-10-22 15:44:25.021 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:193] - 重连的结果为:true +2024-10-22 15:44:25.433 [DEBUG] [pool-2-thread-2] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583065361 +2024-10-22 15:44:30.643 [DEBUG] [pool-2-thread-4] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583070570 +2024-10-22 15:44:35.884 [DEBUG] [pool-2-thread-5] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583075779 +2024-10-22 15:44:40.301 [ERROR] [WebSocketConnectReadThread-18] [com.huobi.wss.handle.WssNotificationHandle.onClose:101] - onClose i:1006,s:,b:true +2024-10-22 15:44:41.175 [DEBUG] [pool-2-thread-6] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583081021 +2024-10-22 15:44:43.434 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:191] - isClosed:true,isClosing:false,准备重连 +2024-10-22 15:44:46.428 [DEBUG] [pool-2-thread-7] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583086311 +2024-10-22 15:44:51.652 [DEBUG] [pool-2-thread-8] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583091565 +2024-10-22 15:44:56.862 [DEBUG] [pool-2-thread-9] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583096788 +2024-10-22 15:45:02.095 [DEBUG] [pool-2-thread-10] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583101998 +2024-10-22 15:45:07.258 [DEBUG] [pool-2-thread-1] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583107231 +2024-10-22 15:45:12.411 [DEBUG] [pool-2-thread-3] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583112394 +2024-10-22 15:45:20.161 [DEBUG] [pool-2-thread-2] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583120123 +2024-10-22 15:45:25.372 [DEBUG] [pool-2-thread-4] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583125297 +2024-10-22 15:45:30.614 [DEBUG] [pool-2-thread-5] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583130511 +2024-10-22 15:45:35.827 [DEBUG] [pool-2-thread-6] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583135750 +2024-10-22 15:45:41.104 [DEBUG] [pool-2-thread-7] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583140962 +2024-10-22 15:45:46.311 [DEBUG] [pool-2-thread-8] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583146241 +2024-10-22 15:45:51.554 [DEBUG] [pool-2-thread-9] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583151446 +2024-10-22 15:45:56.853 [DEBUG] [pool-2-thread-10] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583156692 +2024-10-22 15:46:02.048 [DEBUG] [pool-2-thread-1] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583161988 +2024-10-22 15:46:07.302 [DEBUG] [pool-2-thread-3] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583167183 +2024-10-22 15:46:12.572 [DEBUG] [pool-2-thread-2] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583172437 +2024-10-22 15:46:20.184 [DEBUG] [pool-2-thread-4] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583180124 +2024-10-22 15:46:25.435 [DEBUG] [pool-2-thread-5] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583185321 +2024-10-22 15:46:30.668 [DEBUG] [pool-2-thread-6] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583190580 +2024-10-22 15:46:35.902 [DEBUG] [pool-2-thread-7] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583195802 +2024-10-22 15:46:41.066 [DEBUG] [pool-2-thread-8] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583201039 +2024-10-22 15:46:46.267 [DEBUG] [pool-2-thread-9] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583206201 +2024-10-22 15:46:51.551 [DEBUG] [pool-2-thread-10] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583211402 +2024-10-22 15:46:56.757 [DEBUG] [pool-2-thread-1] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583216695 +2024-10-22 15:47:01.941 [DEBUG] [pool-2-thread-3] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583221891 +2024-10-22 15:47:07.184 [DEBUG] [pool-2-thread-2] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583227076 +2024-10-22 15:47:12.417 [DEBUG] [pool-2-thread-4] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583232318 +2024-10-22 15:47:19.646 [ERROR] [WebSocketConnectReadThread-23] [com.huobi.wss.handle.WssNotificationHandle.onClose:101] - onClose i:-1,s:,b:true +2024-10-22 15:47:19.647 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:193] - 重连的结果为:false +2024-10-22 15:47:19.651 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:196] - closeBlocking +2024-10-22 15:47:19.651 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:191] - isClosed:true,isClosing:false,准备重连 +2024-10-22 15:47:20.197 [DEBUG] [pool-2-thread-5] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583240125 +2024-10-22 15:47:25.382 [DEBUG] [pool-2-thread-6] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583245331 +2024-10-22 15:47:30.599 [DEBUG] [pool-2-thread-7] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583250516 +2024-10-22 15:47:35.781 [DEBUG] [pool-2-thread-8] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583255735 +2024-10-22 15:47:40.956 [DEBUG] [pool-2-thread-9] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583260915 +2024-10-22 15:47:46.153 [DEBUG] [pool-2-thread-10] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583266089 +2024-10-22 15:47:51.358 [DEBUG] [pool-2-thread-1] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583271286 +2024-10-22 15:47:56.563 [DEBUG] [pool-2-thread-3] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583276492 +2024-10-22 15:48:01.730 [DEBUG] [pool-2-thread-2] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583281697 +2024-10-22 15:48:06.970 [DEBUG] [pool-2-thread-4] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583286864 +2024-10-22 15:48:12.156 [DEBUG] [pool-2-thread-5] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583292104 +2024-10-22 15:48:20.217 [DEBUG] [pool-2-thread-6] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583300122 +2024-10-22 15:48:23.475 [ERROR] [WebSocketConnectReadThread-25] [com.huobi.wss.handle.WssNotificationHandle.onClose:101] - onClose i:-1,s:,b:true +2024-10-22 15:48:23.477 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:193] - 重连的结果为:false +2024-10-22 15:48:23.477 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:196] - closeBlocking +2024-10-22 15:48:23.478 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:191] - isClosed:true,isClosing:false,准备重连 +2024-10-22 15:48:25.432 [DEBUG] [pool-2-thread-7] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583305351 +2024-10-22 15:48:30.623 [DEBUG] [pool-2-thread-8] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583310565 +2024-10-22 15:48:35.826 [DEBUG] [pool-2-thread-9] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583315755 +2024-10-22 15:48:41.045 [DEBUG] [pool-2-thread-10] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583320961 +2024-10-22 15:48:46.215 [DEBUG] [pool-2-thread-1] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583326180 +2024-10-22 15:48:51.423 [DEBUG] [pool-2-thread-3] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583331349 +2024-10-22 15:48:56.605 [DEBUG] [pool-2-thread-2] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583336572 +2024-10-22 15:49:01.774 [DEBUG] [pool-2-thread-4] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583341738 +2024-10-22 15:49:06.963 [DEBUG] [pool-2-thread-5] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583346907 +2024-10-22 15:49:12.168 [DEBUG] [pool-2-thread-6] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583352096 +2024-10-22 15:49:20.172 [DEBUG] [pool-2-thread-7] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583360119 +2024-10-22 15:49:25.343 [DEBUG] [pool-2-thread-8] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583365304 +2024-10-22 15:49:30.505 [DEBUG] [pool-2-thread-9] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583370476 +2024-10-22 15:49:35.651 [DEBUG] [pool-2-thread-10] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583375638 +2024-10-22 15:49:40.797 [DEBUG] [pool-2-thread-1] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583380783 +2024-10-22 15:49:45.963 [DEBUG] [pool-2-thread-3] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583385929 +2024-10-22 15:49:51.138 [DEBUG] [pool-2-thread-2] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583391095 +2024-10-22 15:49:56.311 [DEBUG] [pool-2-thread-4] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583396271 +2024-10-22 15:50:01.499 [DEBUG] [pool-2-thread-5] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583401443 +2024-10-22 15:50:02.557 [ERROR] [WebSocketConnectReadThread-27] [com.huobi.wss.handle.WssNotificationHandle.onClose:101] - onClose i:-1,s:,b:true +2024-10-22 15:50:02.560 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:193] - 重连的结果为:false +2024-10-22 15:50:02.560 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:196] - closeBlocking +2024-10-22 15:50:02.561 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:191] - isClosed:true,isClosing:false,准备重连 +2024-10-22 15:50:06.680 [DEBUG] [pool-2-thread-6] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583406632 +2024-10-22 15:50:11.845 [DEBUG] [pool-2-thread-7] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583411812 +2024-10-22 15:50:20.165 [DEBUG] [pool-2-thread-8] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583420122 +2024-10-22 15:50:22.675 [INFO] [WebSocketConnectReadThread-29] [com.huobi.wss.handle.WssNotificationHandle.addAuth:157] - before send +2024-10-22 15:50:22.677 [INFO] [WebSocketConnectReadThread-29] [com.huobi.wss.handle.WssNotificationHandle.addAuth:159] - after send +2024-10-22 15:50:22.677 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:193] - 重连的结果为:true +2024-10-22 15:50:25.325 [DEBUG] [pool-2-thread-9] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583425297 +2024-10-22 15:50:30.486 [DEBUG] [pool-2-thread-10] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583430456 +2024-10-22 15:50:35.670 [DEBUG] [pool-2-thread-1] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583435634 +2024-10-22 15:50:37.968 [ERROR] [WebSocketConnectReadThread-29] [com.huobi.wss.handle.WssNotificationHandle.onClose:101] - onClose i:1006,s:,b:true +2024-10-22 15:50:40.844 [DEBUG] [pool-2-thread-3] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583440802 +2024-10-22 15:50:43.481 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:191] - isClosed:true,isClosing:false,准备重连 +2024-10-22 15:50:44.050 [INFO] [WebSocketConnectReadThread-34] [com.huobi.wss.handle.WssNotificationHandle.addAuth:157] - before send +2024-10-22 15:50:44.051 [INFO] [WebSocketConnectReadThread-34] [com.huobi.wss.handle.WssNotificationHandle.addAuth:159] - after send +2024-10-22 15:50:44.051 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:193] - 重连的结果为:true +2024-10-22 15:50:46.004 [DEBUG] [pool-2-thread-2] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583445975 +2024-10-22 15:50:51.143 [DEBUG] [pool-2-thread-4] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583451134 +2024-10-22 15:50:56.296 [DEBUG] [pool-2-thread-5] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583456275 +2024-10-22 15:50:59.068 [ERROR] [WebSocketConnectReadThread-34] [com.huobi.wss.handle.WssNotificationHandle.onClose:101] - onClose i:1006,s:,b:true +2024-10-22 15:51:01.418 [DEBUG] [pool-2-thread-6] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583461428 +2024-10-22 15:51:03.443 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:191] - isClosed:true,isClosing:false,准备重连 +2024-10-22 15:51:04.241 [INFO] [WebSocketConnectReadThread-39] [com.huobi.wss.handle.WssNotificationHandle.addAuth:157] - before send +2024-10-22 15:51:04.241 [INFO] [WebSocketConnectReadThread-39] [com.huobi.wss.handle.WssNotificationHandle.addAuth:159] - after send +2024-10-22 15:51:04.242 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:193] - 重连的结果为:true +2024-10-22 15:51:06.568 [DEBUG] [pool-2-thread-7] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583466554 +2024-10-22 15:51:11.731 [DEBUG] [pool-2-thread-8] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583471704 +2024-10-22 15:51:19.229 [ERROR] [WebSocketConnectReadThread-39] [com.huobi.wss.handle.WssNotificationHandle.onClose:101] - onClose i:1006,s:,b:true +2024-10-22 15:51:20.118 [DEBUG] [pool-2-thread-9] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583480121 +2024-10-22 15:51:22.682 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:191] - isClosed:true,isClosing:false,准备重连 +2024-10-22 15:51:25.299 [DEBUG] [pool-2-thread-10] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583485252 +2024-10-22 15:51:30.516 [DEBUG] [pool-2-thread-1] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583490433 +2024-10-22 15:51:35.739 [DEBUG] [pool-2-thread-3] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583495646 +2024-10-22 15:51:40.924 [DEBUG] [pool-2-thread-2] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583500869 +2024-10-22 15:51:46.093 [DEBUG] [pool-2-thread-4] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583506054 +2024-10-22 15:51:51.274 [DEBUG] [pool-2-thread-5] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583511223 +2024-10-22 15:51:56.427 [DEBUG] [pool-2-thread-6] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583516404 +2024-10-22 15:52:01.611 [DEBUG] [pool-2-thread-7] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583521557 +2024-10-22 15:52:06.782 [DEBUG] [pool-2-thread-8] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583526743 +2024-10-22 15:52:11.901 [DEBUG] [pool-2-thread-9] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583531912 +2024-10-22 15:52:20.147 [DEBUG] [pool-2-thread-10] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583540179 +2024-10-22 15:52:25.319 [DEBUG] [pool-2-thread-1] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583545337 +2024-10-22 15:52:30.494 [DEBUG] [pool-2-thread-3] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583550510 +2024-10-22 15:52:35.668 [DEBUG] [pool-2-thread-2] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583555699 +2024-10-22 15:52:37.652 [ERROR] [WebSocketConnectReadThread-44] [com.huobi.wss.handle.WssNotificationHandle.onError:106] - onError:{} +java.net.ConnectException: Operation timed out (Connection timed out) + at java.net.PlainSocketImpl.socketConnect(Native Method) + at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:476) + at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:218) + at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:200) + at java.net.Socket.connect(Socket.java:606) + at org.java_websocket.client.WebSocketClient.run(WebSocketClient.java:395) + at java.lang.Thread.run(Thread.java:750) +2024-10-22 15:52:37.653 [ERROR] [WebSocketConnectReadThread-44] [com.huobi.wss.handle.WssNotificationHandle.onClose:101] - onClose i:-1,s:Operation timed out (Connection timed out),b:false +2024-10-22 15:52:37.654 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:193] - 重连的结果为:false +2024-10-22 15:52:37.654 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:196] - closeBlocking +2024-10-22 15:52:37.655 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:191] - isClosed:true,isClosing:false,准备重连 +2024-10-22 15:52:38.560 [INFO] [WebSocketConnectReadThread-45] [com.huobi.wss.handle.WssNotificationHandle.addAuth:157] - before send +2024-10-22 15:52:38.560 [INFO] [WebSocketConnectReadThread-45] [com.huobi.wss.handle.WssNotificationHandle.addAuth:159] - after send +2024-10-22 15:52:38.561 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:193] - 重连的结果为:true +2024-10-22 15:52:40.836 [DEBUG] [pool-2-thread-4] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583560859 +2024-10-22 15:52:46.011 [DEBUG] [pool-2-thread-5] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583566027 +2024-10-22 15:52:51.190 [DEBUG] [pool-2-thread-6] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583571201 +2024-10-22 15:52:53.868 [ERROR] [WebSocketConnectReadThread-45] [com.huobi.wss.handle.WssNotificationHandle.onClose:101] - onClose i:1006,s:,b:true +2024-10-22 15:52:53.996 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:191] - isClosed:true,isClosing:false,准备重连 +2024-10-22 15:52:56.357 [DEBUG] [pool-2-thread-7] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583576381 +2024-10-22 15:53:00.287 [INFO] [WebSocketConnectReadThread-13] [com.huobi.wss.handle.WssNotificationHandle.addAuth:174] - before send +2024-10-22 15:53:00.292 [INFO] [WebSocketConnectReadThread-13] [com.huobi.wss.handle.WssNotificationHandle.addAuth:176] - after send +2024-10-22 15:53:00.605 [INFO] [pool-2-thread-2] [com.huobi.future.wss.WssCenterNotificationSubHmac256Test.lambda$test1$0:30] - 用户收到的数据===============:{"op":"notify","topic":"public.futures.heartbeat","event":"init","ts":1729583580600,"data":{"heartbeat":1,"estimated_recovery_time":null}} +2024-10-22 15:53:00.629 [INFO] [pool-2-thread-2] [com.huobi.future.wss.WssCenterNotificationSubHmac256Test.lambda$test1$0:33] - ts为:1729583580600,当前的时间戳为:1729583580607,时间间隔为:7毫秒 +2024-10-22 15:53:01.491 [DEBUG] [pool-2-thread-8] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583581550 +2024-10-22 15:53:05.570 [DEBUG] [pool-2-thread-4] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583585601 +2024-10-22 15:53:06.631 [DEBUG] [pool-2-thread-9] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583586681 +2024-10-22 15:53:10.747 [DEBUG] [pool-2-thread-5] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583590761 +2024-10-22 15:53:11.803 [DEBUG] [pool-2-thread-10] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583591822 +2024-10-22 15:53:14.163 [INFO] [WebSocketConnectReadThread-48] [com.huobi.wss.handle.WssNotificationHandle.addAuth:157] - before send +2024-10-22 15:53:14.164 [INFO] [WebSocketConnectReadThread-48] [com.huobi.wss.handle.WssNotificationHandle.addAuth:159] - after send +2024-10-22 15:53:14.165 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:193] - 重连的结果为:true +2024-10-22 15:53:15.912 [DEBUG] [pool-2-thread-6] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583595938 +2024-10-22 15:53:20.135 [DEBUG] [pool-2-thread-1] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583600178 +2024-10-22 15:53:21.152 [DEBUG] [pool-2-thread-7] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583601106 +2024-10-22 15:53:25.277 [DEBUG] [pool-2-thread-3] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583605325 +2024-10-22 15:53:26.353 [DEBUG] [pool-2-thread-8] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583606358 +2024-10-22 15:53:29.486 [ERROR] [WebSocketConnectReadThread-48] [com.huobi.wss.handle.WssNotificationHandle.onClose:101] - onClose i:1006,s:,b:true +2024-10-22 15:53:30.422 [DEBUG] [pool-2-thread-2] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583610468 +2024-10-22 15:53:31.509 [DEBUG] [pool-2-thread-9] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583611544 +2024-10-22 15:53:32.620 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:191] - isClosed:true,isClosing:false,准备重连 +2024-10-22 15:53:35.593 [DEBUG] [pool-2-thread-4] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583615613 +2024-10-22 15:53:36.739 [DEBUG] [pool-2-thread-10] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583616700 +2024-10-22 15:53:40.756 [DEBUG] [pool-2-thread-5] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583620789 +2024-10-22 15:53:41.935 [DEBUG] [pool-2-thread-1] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583621930 +2024-10-22 15:53:45.910 [DEBUG] [pool-2-thread-6] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583625946 +2024-10-22 15:53:47.127 [DEBUG] [pool-2-thread-3] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583627126 +2024-10-22 15:53:51.047 [DEBUG] [pool-2-thread-7] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583631100 +2024-10-22 15:53:52.296 [DEBUG] [pool-2-thread-2] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583632317 +2024-10-22 15:53:56.168 [DEBUG] [pool-2-thread-8] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583636237 +2024-10-22 15:53:57.471 [DEBUG] [pool-2-thread-4] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583637486 +2024-10-22 15:54:00.087 [INFO] [WebSocketConnectReadThread-13] [com.huobi.wss.handle.WssNotificationHandle.addAuth:157] - before send +2024-10-22 15:54:00.092 [INFO] [WebSocketConnectReadThread-13] [com.huobi.wss.handle.WssNotificationHandle.addAuth:159] - after send +2024-10-22 15:54:01.379 [DEBUG] [pool-2-thread-9] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583641358 +2024-10-22 15:54:05.235 [DEBUG] [pool-2-thread-5] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583645256 +2024-10-22 15:54:06.527 [DEBUG] [pool-2-thread-10] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583646576 +2024-10-22 15:54:08.204 [INFO] [WebSocketConnectReadThread-51] [com.huobi.wss.handle.WssNotificationHandle.addAuth:157] - before send +2024-10-22 15:54:08.205 [INFO] [WebSocketConnectReadThread-51] [com.huobi.wss.handle.WssNotificationHandle.addAuth:159] - after send +2024-10-22 15:54:08.205 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:193] - 重连的结果为:true +2024-10-22 15:54:10.367 [DEBUG] [pool-2-thread-6] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583650425 +2024-10-22 15:54:11.663 [DEBUG] [pool-2-thread-1] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583651717 +2024-10-22 15:54:15.360 [ERROR] [WebSocketConnectReadThread-13] [com.huobi.wss.handle.WssNotificationHandle.onClose:101] - onClose i:1006,s:,b:true +2024-10-22 15:54:15.552 [DEBUG] [pool-2-thread-7] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583655557 +2024-10-22 15:54:20.700 [DEBUG] [pool-2-thread-8] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583660742 +2024-10-22 15:54:25.835 [DEBUG] [pool-2-thread-9] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583665896 +2024-10-22 15:54:54.864 [INFO] [WebSocketConnectReadThread-11] [com.huobi.wss.handle.WssNotificationHandle.addAuth:157] - before send +2024-10-22 15:54:54.868 [INFO] [WebSocketConnectReadThread-11] [com.huobi.wss.handle.WssNotificationHandle.addAuth:159] - after send +2024-10-22 15:55:10.115 [ERROR] [WebSocketConnectReadThread-11] [com.huobi.wss.handle.WssNotificationHandle.onClose:101] - onClose i:1006,s:,b:true +2024-10-22 15:55:41.113 [INFO] [WebSocketConnectReadThread-11] [com.huobi.wss.handle.WssNotificationHandle.addAuth:174] - before send +2024-10-22 15:55:41.117 [INFO] [WebSocketConnectReadThread-11] [com.huobi.wss.handle.WssNotificationHandle.addAuth:176] - after send +2024-10-22 15:55:41.364 [INFO] [pool-2-thread-2] [com.huobi.future.wss.WssCenterNotificationSubHmac256Test.lambda$test1$0:30] - 用户收到的数据===============:{"op":"notify","topic":"public.futures.heartbeat","event":"init","ts":1729583741407,"data":{"heartbeat":1,"estimated_recovery_time":null}} +2024-10-22 15:55:41.384 [INFO] [pool-2-thread-2] [com.huobi.future.wss.WssCenterNotificationSubHmac256Test.lambda$test1$0:33] - ts为:1729583741407,当前的时间戳为:1729583741366,时间间隔为:-41毫秒 +2024-10-22 15:55:46.405 [DEBUG] [pool-2-thread-4] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583746408 +2024-10-22 15:55:51.636 [DEBUG] [pool-2-thread-5] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583751595 +2024-10-22 15:55:54.883 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:191] - isClosed:true,isClosing:false,准备重连 +2024-10-22 15:55:56.891 [DEBUG] [pool-2-thread-6] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583756825 +2024-10-22 15:56:02.077 [DEBUG] [pool-2-thread-7] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583762080 +2024-10-22 15:56:07.212 [DEBUG] [pool-2-thread-8] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583767267 +2024-10-22 15:56:12.333 [DEBUG] [pool-2-thread-9] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583772403 +2024-10-22 15:56:33.694 [INFO] [WebSocketConnectReadThread-11] [com.huobi.wss.handle.WssNotificationHandle.addAuth:157] - before send +2024-10-22 15:56:33.706 [INFO] [WebSocketConnectReadThread-11] [com.huobi.wss.handle.WssNotificationHandle.addAuth:159] - after send +2024-10-22 15:56:33.988 [INFO] [pool-2-thread-2] [com.huobi.future.wss.WssCenterNotificationSubHmac256Test.lambda$test1$0:28] - 用户收到的数据===============:{"op":"notify","topic":"public.futures.heartbeat","event":"init","ts":1729583794012,"data":{"heartbeat":1,"estimated_recovery_time":null}} +2024-10-22 15:56:34.006 [INFO] [pool-2-thread-2] [com.huobi.future.wss.WssCenterNotificationSubHmac256Test.lambda$test1$0:31] - ts为:1729583794012,当前的时间戳为:1729583793990,时间间隔为:-22毫秒 +2024-10-22 15:56:39.020 [DEBUG] [pool-2-thread-4] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583799013 +2024-10-22 15:56:44.198 [DEBUG] [pool-2-thread-5] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583804210 +2024-10-22 15:56:49.368 [DEBUG] [pool-2-thread-6] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583809393 +2024-10-22 15:56:54.525 [DEBUG] [pool-2-thread-7] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583814558 +2024-10-22 15:56:59.736 [DEBUG] [pool-2-thread-8] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583819719 +2024-10-22 15:57:04.453 [ERROR] [WebSocketConnectReadThread-11] [com.huobi.wss.handle.WssNotificationHandle.onClose:101] - onClose i:-1,s:,b:true +2024-10-22 15:57:04.921 [DEBUG] [pool-2-thread-9] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583824925 +2024-10-22 15:57:10.112 [DEBUG] [pool-2-thread-10] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583830113 +2024-10-22 15:57:11.049 [ERROR] [WebSocketConnectReadThread-18] [com.huobi.wss.handle.WssNotificationHandle.onClose:101] - onClose i:-1,s:,b:true +2024-10-22 15:57:11.050 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:193] - 重连的结果为:false +2024-10-22 15:57:11.051 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:196] - closeBlocking +2024-10-22 15:57:11.051 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:191] - isClosed:true,isClosing:false,准备重连 +2024-10-22 15:57:12.217 [INFO] [WebSocketConnectReadThread-20] [com.huobi.wss.handle.WssNotificationHandle.addAuth:157] - before send +2024-10-22 15:57:12.217 [INFO] [WebSocketConnectReadThread-20] [com.huobi.wss.handle.WssNotificationHandle.addAuth:159] - after send +2024-10-22 15:57:12.218 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:193] - 重连的结果为:true +2024-10-22 15:57:15.288 [DEBUG] [pool-2-thread-1] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583835301 +2024-10-22 15:57:16.444 [ERROR] [WebSocketConnectReadThread-11] [com.huobi.wss.handle.WssNotificationHandle.onError:106] - onError:{} +java.net.ConnectException: Operation timed out (Connection timed out) + at java.net.PlainSocketImpl.socketConnect(Native Method) + at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:476) + at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:218) + at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:200) + at java.net.Socket.connect(Socket.java:606) + at org.java_websocket.client.WebSocketClient.run(WebSocketClient.java:395) + at java.lang.Thread.run(Thread.java:750) +2024-10-22 15:57:16.448 [ERROR] [WebSocketConnectReadThread-11] [com.huobi.wss.handle.WssNotificationHandle.onClose:101] - onClose i:-1,s:Operation timed out (Connection timed out),b:false +2024-10-22 15:57:20.509 [DEBUG] [pool-2-thread-3] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583840479 +2024-10-22 15:57:25.676 [DEBUG] [pool-2-thread-2] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583845698 +2024-10-22 15:57:27.551 [ERROR] [WebSocketConnectReadThread-20] [com.huobi.wss.handle.WssNotificationHandle.onClose:101] - onClose i:1006,s:,b:true +2024-10-22 15:57:30.865 [DEBUG] [pool-2-thread-4] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583850865 +2024-10-22 15:57:34.879 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:191] - isClosed:true,isClosing:false,准备重连 +2024-10-22 15:57:38.781 [DEBUG] [pool-2-thread-5] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583858837 +2024-10-22 15:57:43.928 [DEBUG] [pool-2-thread-6] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583863972 +2024-10-22 15:57:49.091 [DEBUG] [pool-2-thread-7] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583869117 +2024-10-22 15:57:54.258 [DEBUG] [pool-2-thread-8] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583874279 +2024-10-22 15:57:59.453 [DEBUG] [pool-2-thread-9] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583879446 +2024-10-22 15:58:04.069 [ERROR] [WebSocketConnectReadThread-25] [com.huobi.wss.handle.WssNotificationHandle.onError:106] - onError:{} +java.net.ConnectException: Operation timed out (Connection timed out) + at java.net.PlainSocketImpl.socketConnect(Native Method) + at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:476) + at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:218) + at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:200) + at java.net.Socket.connect(Socket.java:606) + at org.java_websocket.client.WebSocketClient.run(WebSocketClient.java:395) + at java.lang.Thread.run(Thread.java:750) +2024-10-22 15:58:04.073 [ERROR] [WebSocketConnectReadThread-25] [com.huobi.wss.handle.WssNotificationHandle.onClose:101] - onClose i:-1,s:Operation timed out (Connection timed out),b:false +2024-10-22 15:58:04.074 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:193] - 重连的结果为:false +2024-10-22 15:58:04.076 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:196] - closeBlocking +2024-10-22 15:58:04.077 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:191] - isClosed:true,isClosing:false,准备重连 +2024-10-22 15:58:04.621 [DEBUG] [pool-2-thread-10] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583884645 +2024-10-22 15:58:04.903 [INFO] [WebSocketConnectReadThread-26] [com.huobi.wss.handle.WssNotificationHandle.addAuth:157] - before send +2024-10-22 15:58:04.903 [INFO] [WebSocketConnectReadThread-26] [com.huobi.wss.handle.WssNotificationHandle.addAuth:159] - after send +2024-10-22 15:58:04.904 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:193] - 重连的结果为:true +2024-10-22 15:58:09.858 [DEBUG] [pool-2-thread-1] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583889810 +2024-10-22 15:58:15.032 [DEBUG] [pool-2-thread-3] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583895047 +2024-10-22 15:58:19.950 [ERROR] [WebSocketConnectReadThread-26] [com.huobi.wss.handle.WssNotificationHandle.onClose:101] - onClose i:1006,s:,b:true +2024-10-22 15:58:20.224 [DEBUG] [pool-2-thread-2] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583900220 +2024-10-22 15:58:22.223 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:191] - isClosed:true,isClosing:false,准备重连 +2024-10-22 15:58:24.871 [INFO] [WebSocketConnectReadThread-31] [com.huobi.wss.handle.WssNotificationHandle.addAuth:157] - before send +2024-10-22 15:58:24.871 [INFO] [WebSocketConnectReadThread-31] [com.huobi.wss.handle.WssNotificationHandle.addAuth:159] - after send +2024-10-22 15:58:24.872 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:193] - 重连的结果为:true +2024-10-22 15:58:25.454 [DEBUG] [pool-2-thread-4] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583905423 +2024-10-22 15:58:30.683 [DEBUG] [pool-2-thread-5] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583910642 +2024-10-22 15:58:38.872 [DEBUG] [pool-2-thread-6] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583918831 +2024-10-22 15:58:39.905 [ERROR] [WebSocketConnectReadThread-31] [com.huobi.wss.handle.WssNotificationHandle.onClose:101] - onClose i:1006,s:,b:true +2024-10-22 15:58:42.220 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:191] - isClosed:true,isClosing:false,准备重连 +2024-10-22 15:58:43.351 [INFO] [WebSocketConnectReadThread-36] [com.huobi.wss.handle.WssNotificationHandle.addAuth:157] - before send +2024-10-22 15:58:43.351 [INFO] [WebSocketConnectReadThread-36] [com.huobi.wss.handle.WssNotificationHandle.addAuth:159] - after send +2024-10-22 15:58:43.352 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:193] - 重连的结果为:true +2024-10-22 15:58:44.115 [DEBUG] [pool-2-thread-7] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583924060 +2024-10-22 15:58:49.396 [DEBUG] [pool-2-thread-8] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583929307 +2024-10-22 15:58:54.735 [DEBUG] [pool-2-thread-9] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583934584 +2024-10-22 15:58:58.750 [ERROR] [WebSocketConnectReadThread-36] [com.huobi.wss.handle.WssNotificationHandle.onClose:101] - onClose i:1006,s:,b:true +2024-10-22 15:58:59.964 [DEBUG] [pool-2-thread-10] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583939923 +2024-10-22 15:59:02.223 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:191] - isClosed:true,isClosing:false,准备重连 +2024-10-22 15:59:03.092 [INFO] [WebSocketConnectReadThread-41] [com.huobi.wss.handle.WssNotificationHandle.addAuth:157] - before send +2024-10-22 15:59:03.092 [INFO] [WebSocketConnectReadThread-41] [com.huobi.wss.handle.WssNotificationHandle.addAuth:159] - after send +2024-10-22 15:59:03.094 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:193] - 重连的结果为:true +2024-10-22 15:59:05.169 [DEBUG] [pool-2-thread-1] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583945155 +2024-10-22 15:59:10.389 [DEBUG] [pool-2-thread-3] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583950360 +2024-10-22 15:59:15.589 [DEBUG] [pool-2-thread-2] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583955579 +2024-10-22 15:59:18.514 [ERROR] [WebSocketConnectReadThread-41] [com.huobi.wss.handle.WssNotificationHandle.onClose:101] - onClose i:1006,s:,b:true +2024-10-22 15:59:20.825 [DEBUG] [pool-2-thread-4] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583960776 +2024-10-22 15:59:22.220 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:191] - isClosed:true,isClosing:false,准备重连 +2024-10-22 15:59:26.170 [DEBUG] [pool-2-thread-5] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583966013 +2024-10-22 15:59:31.407 [DEBUG] [pool-2-thread-6] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583971357 +2024-10-22 15:59:38.920 [DEBUG] [pool-2-thread-7] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583978832 +2024-10-22 15:59:44.139 [DEBUG] [pool-2-thread-8] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583984108 +2024-10-22 15:59:49.365 [DEBUG] [pool-2-thread-9] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583989327 +2024-10-22 15:59:54.571 [DEBUG] [pool-2-thread-10] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583994553 +2024-10-22 15:59:59.858 [DEBUG] [pool-2-thread-1] [com.huobi.wss.handle.WssNotificationHandle.dealPing:129] - 发送pong:1729583999760 diff --git a/log/error.log b/log/error.log new file mode 100644 index 0000000..11539d9 --- /dev/null +++ b/log/error.log @@ -0,0 +1,124 @@ +2024-10-22 15:19:35.988 [ERROR] [WebSocketConnectReadThread-11] [com.huobi.wss.handle.WssNotificationHandle.onClose:101] - onClose i:-1,s:,b:true +2024-10-22 15:29:52.916 [ERROR] [WebSocketConnectReadThread-11] [com.huobi.wss.handle.WssNotificationHandle.onClose:101] - onClose i:-1,s:,b:true +2024-10-22 15:30:01.070 [ERROR] [WebSocketConnectReadThread-11] [com.huobi.wss.handle.WssNotificationHandle.onClose:101] - onClose i:-1,s:,b:true +2024-10-22 15:36:46.079 [ERROR] [WebSocketConnectReadThread-11] [com.huobi.wss.handle.WssNotificationHandle.onClose:101] - onClose i:1006,s:,b:true +2024-10-22 15:37:30.118 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:191] - isClosed:true,isClosing:false,准备重连 +2024-10-22 15:38:12.311 [ERROR] [WebSocketConnectReadThread-11] [com.huobi.wss.handle.WssNotificationHandle.onClose:101] - onClose i:1006,s:,b:true +2024-10-22 15:38:57.045 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:191] - isClosed:true,isClosing:false,准备重连 +2024-10-22 15:38:58.163 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:193] - 重连的结果为:true +2024-10-22 15:39:13.571 [ERROR] [WebSocketConnectReadThread-18] [com.huobi.wss.handle.WssNotificationHandle.onClose:101] - onClose i:1006,s:,b:true +2024-10-22 15:39:17.049 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:191] - isClosed:true,isClosing:false,准备重连 +2024-10-22 15:39:21.164 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:193] - 重连的结果为:true +2024-10-22 15:39:36.569 [ERROR] [WebSocketConnectReadThread-23] [com.huobi.wss.handle.WssNotificationHandle.onClose:101] - onClose i:1006,s:,b:true +2024-10-22 15:39:37.047 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:191] - isClosed:true,isClosing:false,准备重连 +2024-10-22 15:39:38.146 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:193] - 重连的结果为:true +2024-10-22 15:39:53.590 [ERROR] [WebSocketConnectReadThread-28] [com.huobi.wss.handle.WssNotificationHandle.onClose:101] - onClose i:1006,s:,b:true +2024-10-22 15:39:57.050 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:191] - isClosed:true,isClosing:false,准备重连 +2024-10-22 15:39:58.278 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:193] - 重连的结果为:true +2024-10-22 15:40:13.693 [ERROR] [WebSocketConnectReadThread-33] [com.huobi.wss.handle.WssNotificationHandle.onClose:101] - onClose i:1006,s:,b:true +2024-10-22 15:40:17.051 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:191] - isClosed:true,isClosing:false,准备重连 +2024-10-22 15:40:17.820 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:193] - 重连的结果为:true +2024-10-22 15:40:33.220 [ERROR] [WebSocketConnectReadThread-38] [com.huobi.wss.handle.WssNotificationHandle.onClose:101] - onClose i:1006,s:,b:true +2024-10-22 15:40:37.051 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:191] - isClosed:true,isClosing:false,准备重连 +2024-10-22 15:40:38.091 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:193] - 重连的结果为:true +2024-10-22 15:40:53.495 [ERROR] [WebSocketConnectReadThread-41] [com.huobi.wss.handle.WssNotificationHandle.onClose:101] - onClose i:1006,s:,b:true +2024-10-22 15:40:57.051 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:191] - isClosed:true,isClosing:false,准备重连 +2024-10-22 15:40:58.190 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:193] - 重连的结果为:true +2024-10-22 15:42:58.194 [ERROR] [WebSocketTimer] [com.huobi.wss.handle.WssNotificationHandle.onClose:101] - onClose i:1006,s:The connection was closed because the other endpoint did not respond with a pong in time. For more information check: https://github.com/TooTallNate/Java-WebSocket/wiki/Lost-connection-detection,b:false +2024-10-22 15:42:58.287 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:191] - isClosed:true,isClosing:false,准备重连 +2024-10-22 15:42:59.250 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:193] - 重连的结果为:true +2024-10-22 15:43:14.587 [ERROR] [WebSocketConnectReadThread-47] [com.huobi.wss.handle.WssNotificationHandle.onClose:101] - onClose i:1006,s:,b:true +2024-10-22 15:43:17.055 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:191] - isClosed:true,isClosing:false,准备重连 +2024-10-22 15:43:18.146 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:193] - 重连的结果为:true +2024-10-22 15:43:38.691 [ERROR] [WebSocketConnectReadThread-11] [com.huobi.wss.handle.WssNotificationHandle.onClose:101] - onClose i:1006,s:,b:true +2024-10-22 15:44:23.461 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:191] - isClosed:true,isClosing:false,准备重连 +2024-10-22 15:44:25.021 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:193] - 重连的结果为:true +2024-10-22 15:44:40.301 [ERROR] [WebSocketConnectReadThread-18] [com.huobi.wss.handle.WssNotificationHandle.onClose:101] - onClose i:1006,s:,b:true +2024-10-22 15:44:43.434 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:191] - isClosed:true,isClosing:false,准备重连 +2024-10-22 15:47:19.646 [ERROR] [WebSocketConnectReadThread-23] [com.huobi.wss.handle.WssNotificationHandle.onClose:101] - onClose i:-1,s:,b:true +2024-10-22 15:47:19.647 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:193] - 重连的结果为:false +2024-10-22 15:47:19.651 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:196] - closeBlocking +2024-10-22 15:47:19.651 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:191] - isClosed:true,isClosing:false,准备重连 +2024-10-22 15:48:23.475 [ERROR] [WebSocketConnectReadThread-25] [com.huobi.wss.handle.WssNotificationHandle.onClose:101] - onClose i:-1,s:,b:true +2024-10-22 15:48:23.477 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:193] - 重连的结果为:false +2024-10-22 15:48:23.477 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:196] - closeBlocking +2024-10-22 15:48:23.478 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:191] - isClosed:true,isClosing:false,准备重连 +2024-10-22 15:50:02.557 [ERROR] [WebSocketConnectReadThread-27] [com.huobi.wss.handle.WssNotificationHandle.onClose:101] - onClose i:-1,s:,b:true +2024-10-22 15:50:02.560 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:193] - 重连的结果为:false +2024-10-22 15:50:02.560 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:196] - closeBlocking +2024-10-22 15:50:02.561 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:191] - isClosed:true,isClosing:false,准备重连 +2024-10-22 15:50:22.677 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:193] - 重连的结果为:true +2024-10-22 15:50:37.968 [ERROR] [WebSocketConnectReadThread-29] [com.huobi.wss.handle.WssNotificationHandle.onClose:101] - onClose i:1006,s:,b:true +2024-10-22 15:50:43.481 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:191] - isClosed:true,isClosing:false,准备重连 +2024-10-22 15:50:44.051 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:193] - 重连的结果为:true +2024-10-22 15:50:59.068 [ERROR] [WebSocketConnectReadThread-34] [com.huobi.wss.handle.WssNotificationHandle.onClose:101] - onClose i:1006,s:,b:true +2024-10-22 15:51:03.443 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:191] - isClosed:true,isClosing:false,准备重连 +2024-10-22 15:51:04.242 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:193] - 重连的结果为:true +2024-10-22 15:51:19.229 [ERROR] [WebSocketConnectReadThread-39] [com.huobi.wss.handle.WssNotificationHandle.onClose:101] - onClose i:1006,s:,b:true +2024-10-22 15:51:22.682 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:191] - isClosed:true,isClosing:false,准备重连 +2024-10-22 15:52:37.652 [ERROR] [WebSocketConnectReadThread-44] [com.huobi.wss.handle.WssNotificationHandle.onError:106] - onError:{} +java.net.ConnectException: Operation timed out (Connection timed out) + at java.net.PlainSocketImpl.socketConnect(Native Method) + at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:476) + at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:218) + at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:200) + at java.net.Socket.connect(Socket.java:606) + at org.java_websocket.client.WebSocketClient.run(WebSocketClient.java:395) + at java.lang.Thread.run(Thread.java:750) +2024-10-22 15:52:37.653 [ERROR] [WebSocketConnectReadThread-44] [com.huobi.wss.handle.WssNotificationHandle.onClose:101] - onClose i:-1,s:Operation timed out (Connection timed out),b:false +2024-10-22 15:52:37.654 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:193] - 重连的结果为:false +2024-10-22 15:52:37.654 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:196] - closeBlocking +2024-10-22 15:52:37.655 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:191] - isClosed:true,isClosing:false,准备重连 +2024-10-22 15:52:38.561 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:193] - 重连的结果为:true +2024-10-22 15:52:53.868 [ERROR] [WebSocketConnectReadThread-45] [com.huobi.wss.handle.WssNotificationHandle.onClose:101] - onClose i:1006,s:,b:true +2024-10-22 15:52:53.996 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:191] - isClosed:true,isClosing:false,准备重连 +2024-10-22 15:53:14.165 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:193] - 重连的结果为:true +2024-10-22 15:53:29.486 [ERROR] [WebSocketConnectReadThread-48] [com.huobi.wss.handle.WssNotificationHandle.onClose:101] - onClose i:1006,s:,b:true +2024-10-22 15:53:32.620 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:191] - isClosed:true,isClosing:false,准备重连 +2024-10-22 15:54:08.205 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:193] - 重连的结果为:true +2024-10-22 15:54:15.360 [ERROR] [WebSocketConnectReadThread-13] [com.huobi.wss.handle.WssNotificationHandle.onClose:101] - onClose i:1006,s:,b:true +2024-10-22 15:55:10.115 [ERROR] [WebSocketConnectReadThread-11] [com.huobi.wss.handle.WssNotificationHandle.onClose:101] - onClose i:1006,s:,b:true +2024-10-22 15:55:54.883 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:191] - isClosed:true,isClosing:false,准备重连 +2024-10-22 15:57:04.453 [ERROR] [WebSocketConnectReadThread-11] [com.huobi.wss.handle.WssNotificationHandle.onClose:101] - onClose i:-1,s:,b:true +2024-10-22 15:57:11.049 [ERROR] [WebSocketConnectReadThread-18] [com.huobi.wss.handle.WssNotificationHandle.onClose:101] - onClose i:-1,s:,b:true +2024-10-22 15:57:11.050 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:193] - 重连的结果为:false +2024-10-22 15:57:11.051 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:196] - closeBlocking +2024-10-22 15:57:11.051 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:191] - isClosed:true,isClosing:false,准备重连 +2024-10-22 15:57:12.218 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:193] - 重连的结果为:true +2024-10-22 15:57:16.444 [ERROR] [WebSocketConnectReadThread-11] [com.huobi.wss.handle.WssNotificationHandle.onError:106] - onError:{} +java.net.ConnectException: Operation timed out (Connection timed out) + at java.net.PlainSocketImpl.socketConnect(Native Method) + at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:476) + at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:218) + at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:200) + at java.net.Socket.connect(Socket.java:606) + at org.java_websocket.client.WebSocketClient.run(WebSocketClient.java:395) + at java.lang.Thread.run(Thread.java:750) +2024-10-22 15:57:16.448 [ERROR] [WebSocketConnectReadThread-11] [com.huobi.wss.handle.WssNotificationHandle.onClose:101] - onClose i:-1,s:Operation timed out (Connection timed out),b:false +2024-10-22 15:57:27.551 [ERROR] [WebSocketConnectReadThread-20] [com.huobi.wss.handle.WssNotificationHandle.onClose:101] - onClose i:1006,s:,b:true +2024-10-22 15:57:34.879 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:191] - isClosed:true,isClosing:false,准备重连 +2024-10-22 15:58:04.069 [ERROR] [WebSocketConnectReadThread-25] [com.huobi.wss.handle.WssNotificationHandle.onError:106] - onError:{} +java.net.ConnectException: Operation timed out (Connection timed out) + at java.net.PlainSocketImpl.socketConnect(Native Method) + at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:476) + at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:218) + at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:200) + at java.net.Socket.connect(Socket.java:606) + at org.java_websocket.client.WebSocketClient.run(WebSocketClient.java:395) + at java.lang.Thread.run(Thread.java:750) +2024-10-22 15:58:04.073 [ERROR] [WebSocketConnectReadThread-25] [com.huobi.wss.handle.WssNotificationHandle.onClose:101] - onClose i:-1,s:Operation timed out (Connection timed out),b:false +2024-10-22 15:58:04.074 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:193] - 重连的结果为:false +2024-10-22 15:58:04.076 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:196] - closeBlocking +2024-10-22 15:58:04.077 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:191] - isClosed:true,isClosing:false,准备重连 +2024-10-22 15:58:04.904 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:193] - 重连的结果为:true +2024-10-22 15:58:19.950 [ERROR] [WebSocketConnectReadThread-26] [com.huobi.wss.handle.WssNotificationHandle.onClose:101] - onClose i:1006,s:,b:true +2024-10-22 15:58:22.223 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:191] - isClosed:true,isClosing:false,准备重连 +2024-10-22 15:58:24.872 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:193] - 重连的结果为:true +2024-10-22 15:58:39.905 [ERROR] [WebSocketConnectReadThread-31] [com.huobi.wss.handle.WssNotificationHandle.onClose:101] - onClose i:1006,s:,b:true +2024-10-22 15:58:42.220 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:191] - isClosed:true,isClosing:false,准备重连 +2024-10-22 15:58:43.352 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:193] - 重连的结果为:true +2024-10-22 15:58:58.750 [ERROR] [WebSocketConnectReadThread-36] [com.huobi.wss.handle.WssNotificationHandle.onClose:101] - onClose i:1006,s:,b:true +2024-10-22 15:59:02.223 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:191] - isClosed:true,isClosing:false,准备重连 +2024-10-22 15:59:03.094 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:193] - 重连的结果为:true +2024-10-22 15:59:18.514 [ERROR] [WebSocketConnectReadThread-41] [com.huobi.wss.handle.WssNotificationHandle.onClose:101] - onClose i:1006,s:,b:true +2024-10-22 15:59:22.220 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:191] - isClosed:true,isClosing:false,准备重连 diff --git a/alpha/platforms/__init__.py b/log/error/error.2024-01-16_11.log similarity index 100% rename from alpha/platforms/__init__.py rename to log/error/error.2024-01-16_11.log diff --git a/log/error/error.2024-01-18_12.log b/log/error/error.2024-01-18_12.log new file mode 100644 index 0000000..4bddb6d --- /dev/null +++ b/log/error/error.2024-01-18_12.log @@ -0,0 +1,36 @@ +2024-01-18 12:37:36.506 [ERROR] [WebSocketConnectReadThread-12] [com.huobi.wss.handle.WssMarketHandle.onError:98] - onError: +java.net.ConnectException: Connection timed out: connect + at java.net.DualStackPlainSocketImpl.connect0(Native Method) + at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:75) + at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:476) + at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:218) + at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:200) + at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:162) + at java.net.Socket.connect(Socket.java:606) + at org.java_websocket.client.WebSocketClient.run(WebSocketClient.java:395) + at java.lang.Thread.run(Thread.java:750) +2024-01-18 12:37:36.516 [ERROR] [WebSocketConnectReadThread-12] [com.huobi.wss.handle.WssMarketHandle.onClose:93] - onClose i:-1,s:Connection timed out: connect,b:false +2024-01-18 12:39:13.702 [ERROR] [WebSocketConnectReadThread-12] [com.huobi.wss.handle.WssMarketHandle.onError:98] - onError: +java.net.ConnectException: Connection timed out: connect + at java.net.DualStackPlainSocketImpl.connect0(Native Method) + at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:75) + at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:476) + at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:218) + at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:200) + at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:162) + at java.net.Socket.connect(Socket.java:606) + at org.java_websocket.client.WebSocketClient.run(WebSocketClient.java:395) + at java.lang.Thread.run(Thread.java:750) +2024-01-18 12:39:13.706 [ERROR] [WebSocketConnectReadThread-12] [com.huobi.wss.handle.WssMarketHandle.onClose:93] - onClose i:-1,s:Connection timed out: connect,b:false +2024-01-18 12:39:53.209 [ERROR] [WebSocketConnectReadThread-12] [com.huobi.wss.handle.WssMarketHandle.onError:98] - onError: +java.net.ConnectException: Connection timed out: connect + at java.net.DualStackPlainSocketImpl.connect0(Native Method) + at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:75) + at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:476) + at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:218) + at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:200) + at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:162) + at java.net.Socket.connect(Socket.java:606) + at org.java_websocket.client.WebSocketClient.run(WebSocketClient.java:395) + at java.lang.Thread.run(Thread.java:750) +2024-01-18 12:39:53.212 [ERROR] [WebSocketConnectReadThread-12] [com.huobi.wss.handle.WssMarketHandle.onClose:93] - onClose i:-1,s:Connection timed out: connect,b:false diff --git a/log/error/error.2024-01-18_13.log b/log/error/error.2024-01-18_13.log new file mode 100644 index 0000000..8901f7c --- /dev/null +++ b/log/error/error.2024-01-18_13.log @@ -0,0 +1,12 @@ +2024-01-18 13:06:02.966 [ERROR] [WebSocketConnectReadThread-12] [com.huobi.wss.handle.WssMarketHandle.onError:98] - onError: +java.net.ConnectException: Connection timed out: connect + at java.net.DualStackPlainSocketImpl.connect0(Native Method) + at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:75) + at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:476) + at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:218) + at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:200) + at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:162) + at java.net.Socket.connect(Socket.java:606) + at org.java_websocket.client.WebSocketClient.run(WebSocketClient.java:395) + at java.lang.Thread.run(Thread.java:750) +2024-01-18 13:06:02.981 [ERROR] [WebSocketConnectReadThread-12] [com.huobi.wss.handle.WssMarketHandle.onClose:93] - onClose i:-1,s:Connection timed out: connect,b:false diff --git a/alpha/platforms/huobi_coin_future/__init__.py b/log/error/error.2024-10-21_17.log similarity index 100% rename from alpha/platforms/huobi_coin_future/__init__.py rename to log/error/error.2024-10-21_17.log diff --git a/log/info.log b/log/info.log new file mode 100644 index 0000000..e4e86dc --- /dev/null +++ b/log/info.log @@ -0,0 +1,302 @@ +2024-10-22 15:19:35.988 [ERROR] [WebSocketConnectReadThread-11] [com.huobi.wss.handle.WssNotificationHandle.onClose:101] - onClose i:-1,s:,b:true +2024-10-22 15:29:52.916 [ERROR] [WebSocketConnectReadThread-11] [com.huobi.wss.handle.WssNotificationHandle.onClose:101] - onClose i:-1,s:,b:true +2024-10-22 15:30:01.070 [ERROR] [WebSocketConnectReadThread-11] [com.huobi.wss.handle.WssNotificationHandle.onClose:101] - onClose i:-1,s:,b:true +2024-10-22 15:32:05.243 [INFO] [WebSocketConnectReadThread-13] [com.huobi.wss.handle.WssNotificationHandle.addAuth:157] - before send +2024-10-22 15:32:05.254 [INFO] [WebSocketConnectReadThread-13] [com.huobi.wss.handle.WssNotificationHandle.addAuth:159] - after send +2024-10-22 15:32:05.757 [INFO] [pool-2-thread-2] [com.huobi.future.wss.WssCenterNotificationSubHmac256Test.lambda$test1$0:28] - 用户收到的数据===============:{"op":"notify","topic":"public.futures.heartbeat","event":"init","ts":1729582325618,"data":{"heartbeat":1,"estimated_recovery_time":null}} +2024-10-22 15:32:05.819 [INFO] [pool-2-thread-2] [com.huobi.future.wss.WssCenterNotificationSubHmac256Test.lambda$test1$0:31] - ts为:1729582325618,当前的时间戳为:1729582325764,时间间隔为:146毫秒 +2024-10-22 15:33:35.422 [INFO] [WebSocketConnectReadThread-11] [com.huobi.wss.handle.WssNotificationHandle.addAuth:174] - before send +2024-10-22 15:33:35.426 [INFO] [WebSocketConnectReadThread-11] [com.huobi.wss.handle.WssNotificationHandle.addAuth:176] - after send +2024-10-22 15:33:35.932 [INFO] [pool-2-thread-2] [com.huobi.future.wss.WssCenterNotificationSubHmac256Test.lambda$test1$0:30] - 用户收到的数据===============:{"op":"notify","topic":"public.futures.heartbeat","event":"init","ts":1729582415763,"data":{"heartbeat":1,"estimated_recovery_time":null}} +2024-10-22 15:33:35.951 [INFO] [pool-2-thread-2] [com.huobi.future.wss.WssCenterNotificationSubHmac256Test.lambda$test1$0:33] - ts为:1729582415763,当前的时间戳为:1729582415934,时间间隔为:171毫秒 +2024-10-22 15:35:06.046 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:26] - 请求(req)指数K线数据用户收到的原始数据:{"id":"","rep":"market.BTC-USD.index.1min","wsid":769372505,"ts":1729582505932,"status":"ok","data":[]} +2024-10-22 15:35:06.064 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:28] - 请求(req)指数K线数据解析之后的数据为:{"wsid":769372505,"data":[],"id":"","status":"ok","ts":"1729582505932"} +2024-10-22 15:35:06.909 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:26] - 请求(req)指数K线数据用户收到的原始数据:{"id":"","rep":"market.BTC-USD.index.1min","wsid":769372505,"ts":1729582506779,"status":"ok","data":[]} +2024-10-22 15:35:06.909 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:28] - 请求(req)指数K线数据解析之后的数据为:{"wsid":769372505,"data":[],"id":"","status":"ok","ts":"1729582506779"} +2024-10-22 15:35:07.929 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:26] - 请求(req)指数K线数据用户收到的原始数据:{"id":"","rep":"market.BTC-USD.index.1min","wsid":769372505,"ts":1729582507785,"status":"ok","data":[]} +2024-10-22 15:35:07.930 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:28] - 请求(req)指数K线数据解析之后的数据为:{"wsid":769372505,"data":[],"id":"","status":"ok","ts":"1729582507785"} +2024-10-22 15:35:08.893 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:26] - 请求(req)指数K线数据用户收到的原始数据:{"id":"","rep":"market.BTC-USD.index.1min","wsid":769372505,"ts":1729582508787,"status":"ok","data":[]} +2024-10-22 15:35:08.893 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:28] - 请求(req)指数K线数据解析之后的数据为:{"wsid":769372505,"data":[],"id":"","status":"ok","ts":"1729582508787"} +2024-10-22 15:35:09.870 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:26] - 请求(req)指数K线数据用户收到的原始数据:{"id":"","rep":"market.BTC-USD.index.1min","wsid":769372505,"ts":1729582509787,"status":"ok","data":[]} +2024-10-22 15:35:09.871 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:28] - 请求(req)指数K线数据解析之后的数据为:{"wsid":769372505,"data":[],"id":"","status":"ok","ts":"1729582509787"} +2024-10-22 15:35:10.926 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:26] - 请求(req)指数K线数据用户收到的原始数据:{"id":"","rep":"market.BTC-USD.index.1min","wsid":769372505,"ts":1729582510855,"status":"ok","data":[]} +2024-10-22 15:35:10.926 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:28] - 请求(req)指数K线数据解析之后的数据为:{"wsid":769372505,"data":[],"id":"","status":"ok","ts":"1729582510855"} +2024-10-22 15:35:11.947 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:26] - 请求(req)指数K线数据用户收到的原始数据:{"id":"","rep":"market.BTC-USD.index.1min","wsid":769372505,"ts":1729582511795,"status":"ok","data":[]} +2024-10-22 15:35:11.948 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:28] - 请求(req)指数K线数据解析之后的数据为:{"wsid":769372505,"data":[],"id":"","status":"ok","ts":"1729582511795"} +2024-10-22 15:35:12.944 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:26] - 请求(req)指数K线数据用户收到的原始数据:{"id":"","rep":"market.BTC-USD.index.1min","wsid":769372505,"ts":1729582512800,"status":"ok","data":[]} +2024-10-22 15:35:12.945 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:28] - 请求(req)指数K线数据解析之后的数据为:{"wsid":769372505,"data":[],"id":"","status":"ok","ts":"1729582512800"} +2024-10-22 15:35:13.925 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:26] - 请求(req)指数K线数据用户收到的原始数据:{"id":"","rep":"market.BTC-USD.index.1min","wsid":769372505,"ts":1729582513813,"status":"ok","data":[]} +2024-10-22 15:35:13.926 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:28] - 请求(req)指数K线数据解析之后的数据为:{"wsid":769372505,"data":[],"id":"","status":"ok","ts":"1729582513813"} +2024-10-22 15:35:14.907 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:26] - 请求(req)指数K线数据用户收到的原始数据:{"id":"","rep":"market.BTC-USD.index.1min","wsid":769372505,"ts":1729582514816,"status":"ok","data":[]} +2024-10-22 15:35:14.907 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:28] - 请求(req)指数K线数据解析之后的数据为:{"wsid":769372505,"data":[],"id":"","status":"ok","ts":"1729582514816"} +2024-10-22 15:35:16.077 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:26] - 请求(req)指数K线数据用户收到的原始数据:{"id":"","rep":"market.BTC-USD.index.1min","wsid":769372505,"ts":1729582515918,"status":"ok","data":[]} +2024-10-22 15:35:16.078 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:28] - 请求(req)指数K线数据解析之后的数据为:{"wsid":769372505,"data":[],"id":"","status":"ok","ts":"1729582515918"} +2024-10-22 15:35:16.939 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:26] - 请求(req)指数K线数据用户收到的原始数据:{"id":"","rep":"market.BTC-USD.index.1min","wsid":769372505,"ts":1729582516826,"status":"ok","data":[]} +2024-10-22 15:35:16.940 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:28] - 请求(req)指数K线数据解析之后的数据为:{"wsid":769372505,"data":[],"id":"","status":"ok","ts":"1729582516826"} +2024-10-22 15:35:17.981 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:26] - 请求(req)指数K线数据用户收到的原始数据:{"id":"","rep":"market.BTC-USD.index.1min","wsid":769372505,"ts":1729582517823,"status":"ok","data":[]} +2024-10-22 15:35:17.982 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:28] - 请求(req)指数K线数据解析之后的数据为:{"wsid":769372505,"data":[],"id":"","status":"ok","ts":"1729582517823"} +2024-10-22 15:35:18.941 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:26] - 请求(req)指数K线数据用户收到的原始数据:{"id":"","rep":"market.BTC-USD.index.1min","wsid":769372505,"ts":1729582518824,"status":"ok","data":[]} +2024-10-22 15:35:18.942 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:28] - 请求(req)指数K线数据解析之后的数据为:{"wsid":769372505,"data":[],"id":"","status":"ok","ts":"1729582518824"} +2024-10-22 15:35:19.926 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:26] - 请求(req)指数K线数据用户收到的原始数据:{"id":"","rep":"market.BTC-USD.index.1min","wsid":769372505,"ts":1729582519835,"status":"ok","data":[]} +2024-10-22 15:35:19.927 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:28] - 请求(req)指数K线数据解析之后的数据为:{"wsid":769372505,"data":[],"id":"","status":"ok","ts":"1729582519835"} +2024-10-22 15:35:21.131 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:26] - 请求(req)指数K线数据用户收到的原始数据:{"id":"","rep":"market.BTC-USD.index.1min","wsid":769372505,"ts":1729582520868,"status":"ok","data":[]} +2024-10-22 15:35:21.134 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:28] - 请求(req)指数K线数据解析之后的数据为:{"wsid":769372505,"data":[],"id":"","status":"ok","ts":"1729582520868"} +2024-10-22 15:35:21.976 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:26] - 请求(req)指数K线数据用户收到的原始数据:{"id":"","rep":"market.BTC-USD.index.1min","wsid":769372505,"ts":1729582521837,"status":"ok","data":[]} +2024-10-22 15:35:21.977 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:28] - 请求(req)指数K线数据解析之后的数据为:{"wsid":769372505,"data":[],"id":"","status":"ok","ts":"1729582521837"} +2024-10-22 15:35:22.941 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:26] - 请求(req)指数K线数据用户收到的原始数据:{"id":"","rep":"market.BTC-USD.index.1min","wsid":769372505,"ts":1729582522839,"status":"ok","data":[]} +2024-10-22 15:35:22.942 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:28] - 请求(req)指数K线数据解析之后的数据为:{"wsid":769372505,"data":[],"id":"","status":"ok","ts":"1729582522839"} +2024-10-22 15:35:23.950 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:26] - 请求(req)指数K线数据用户收到的原始数据:{"id":"","rep":"market.BTC-USD.index.1min","wsid":769372505,"ts":1729582523845,"status":"ok","data":[]} +2024-10-22 15:35:23.950 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:28] - 请求(req)指数K线数据解析之后的数据为:{"wsid":769372505,"data":[],"id":"","status":"ok","ts":"1729582523845"} +2024-10-22 15:35:24.941 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:26] - 请求(req)指数K线数据用户收到的原始数据:{"id":"","rep":"market.BTC-USD.index.1min","wsid":769372505,"ts":1729582524849,"status":"ok","data":[]} +2024-10-22 15:35:24.942 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:28] - 请求(req)指数K线数据解析之后的数据为:{"wsid":769372505,"data":[],"id":"","status":"ok","ts":"1729582524849"} +2024-10-22 15:35:25.958 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:26] - 请求(req)指数K线数据用户收到的原始数据:{"id":"","rep":"market.BTC-USD.index.1min","wsid":769372505,"ts":1729582525851,"status":"ok","data":[]} +2024-10-22 15:35:25.959 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:28] - 请求(req)指数K线数据解析之后的数据为:{"wsid":769372505,"data":[],"id":"","status":"ok","ts":"1729582525851"} +2024-10-22 15:35:26.936 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:26] - 请求(req)指数K线数据用户收到的原始数据:{"id":"","rep":"market.BTC-USD.index.1min","wsid":769372505,"ts":1729582526854,"status":"ok","data":[]} +2024-10-22 15:35:26.937 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:28] - 请求(req)指数K线数据解析之后的数据为:{"wsid":769372505,"data":[],"id":"","status":"ok","ts":"1729582526854"} +2024-10-22 15:35:27.984 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:26] - 请求(req)指数K线数据用户收到的原始数据:{"id":"","rep":"market.BTC-USD.index.1min","wsid":769372505,"ts":1729582527859,"status":"ok","data":[]} +2024-10-22 15:35:27.984 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:28] - 请求(req)指数K线数据解析之后的数据为:{"wsid":769372505,"data":[],"id":"","status":"ok","ts":"1729582527859"} +2024-10-22 15:35:28.972 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:26] - 请求(req)指数K线数据用户收到的原始数据:{"id":"","rep":"market.BTC-USD.index.1min","wsid":769372505,"ts":1729582528865,"status":"ok","data":[]} +2024-10-22 15:35:28.972 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:28] - 请求(req)指数K线数据解析之后的数据为:{"wsid":769372505,"data":[],"id":"","status":"ok","ts":"1729582528865"} +2024-10-22 15:35:29.964 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:26] - 请求(req)指数K线数据用户收到的原始数据:{"id":"","rep":"market.BTC-USD.index.1min","wsid":769372505,"ts":1729582529873,"status":"ok","data":[]} +2024-10-22 15:35:29.965 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:28] - 请求(req)指数K线数据解析之后的数据为:{"wsid":769372505,"data":[],"id":"","status":"ok","ts":"1729582529873"} +2024-10-22 15:35:30.998 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:26] - 请求(req)指数K线数据用户收到的原始数据:{"id":"","rep":"market.BTC-USD.index.1min","wsid":769372505,"ts":1729582530866,"status":"ok","data":[]} +2024-10-22 15:35:30.999 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:28] - 请求(req)指数K线数据解析之后的数据为:{"wsid":769372505,"data":[],"id":"","status":"ok","ts":"1729582530866"} +2024-10-22 15:35:32.009 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:26] - 请求(req)指数K线数据用户收到的原始数据:{"id":"","rep":"market.BTC-USD.index.1min","wsid":769372505,"ts":1729582531879,"status":"ok","data":[]} +2024-10-22 15:35:32.010 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:28] - 请求(req)指数K线数据解析之后的数据为:{"wsid":769372505,"data":[],"id":"","status":"ok","ts":"1729582531879"} +2024-10-22 15:35:33.012 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:26] - 请求(req)指数K线数据用户收到的原始数据:{"id":"","rep":"market.BTC-USD.index.1min","wsid":769372505,"ts":1729582532884,"status":"ok","data":[]} +2024-10-22 15:35:33.013 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:28] - 请求(req)指数K线数据解析之后的数据为:{"wsid":769372505,"data":[],"id":"","status":"ok","ts":"1729582532884"} +2024-10-22 15:35:33.974 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:26] - 请求(req)指数K线数据用户收到的原始数据:{"id":"","rep":"market.BTC-USD.index.1min","wsid":769372505,"ts":1729582533887,"status":"ok","data":[]} +2024-10-22 15:35:33.975 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:28] - 请求(req)指数K线数据解析之后的数据为:{"wsid":769372505,"data":[],"id":"","status":"ok","ts":"1729582533887"} +2024-10-22 15:35:35.013 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:26] - 请求(req)指数K线数据用户收到的原始数据:{"id":"","rep":"market.BTC-USD.index.1min","wsid":769372505,"ts":1729582534887,"status":"ok","data":[]} +2024-10-22 15:35:35.014 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:28] - 请求(req)指数K线数据解析之后的数据为:{"wsid":769372505,"data":[],"id":"","status":"ok","ts":"1729582534887"} +2024-10-22 15:35:36.021 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:26] - 请求(req)指数K线数据用户收到的原始数据:{"id":"","rep":"market.BTC-USD.index.1min","wsid":769372505,"ts":1729582535884,"status":"ok","data":[]} +2024-10-22 15:35:36.022 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:28] - 请求(req)指数K线数据解析之后的数据为:{"wsid":769372505,"data":[],"id":"","status":"ok","ts":"1729582535884"} +2024-10-22 15:35:37.043 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:26] - 请求(req)指数K线数据用户收到的原始数据:{"id":"","rep":"market.BTC-USD.index.1min","wsid":769372505,"ts":1729582536897,"status":"ok","data":[]} +2024-10-22 15:35:37.044 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:28] - 请求(req)指数K线数据解析之后的数据为:{"wsid":769372505,"data":[],"id":"","status":"ok","ts":"1729582536897"} +2024-10-22 15:35:38.044 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:26] - 请求(req)指数K线数据用户收到的原始数据:{"id":"","rep":"market.BTC-USD.index.1min","wsid":769372505,"ts":1729582537895,"status":"ok","data":[]} +2024-10-22 15:35:38.045 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:28] - 请求(req)指数K线数据解析之后的数据为:{"wsid":769372505,"data":[],"id":"","status":"ok","ts":"1729582537895"} +2024-10-22 15:35:38.990 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:26] - 请求(req)指数K线数据用户收到的原始数据:{"id":"","rep":"market.BTC-USD.index.1min","wsid":769372505,"ts":1729582538903,"status":"ok","data":[]} +2024-10-22 15:35:38.991 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:28] - 请求(req)指数K线数据解析之后的数据为:{"wsid":769372505,"data":[],"id":"","status":"ok","ts":"1729582538903"} +2024-10-22 15:35:39.990 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:26] - 请求(req)指数K线数据用户收到的原始数据:{"id":"","rep":"market.BTC-USD.index.1min","wsid":769372505,"ts":1729582539903,"status":"ok","data":[]} +2024-10-22 15:35:39.990 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:28] - 请求(req)指数K线数据解析之后的数据为:{"wsid":769372505,"data":[],"id":"","status":"ok","ts":"1729582539903"} +2024-10-22 15:35:41.049 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:26] - 请求(req)指数K线数据用户收到的原始数据:{"id":"","rep":"market.BTC-USD.index.1min","wsid":769372505,"ts":1729582540943,"status":"ok","data":[]} +2024-10-22 15:35:41.050 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:28] - 请求(req)指数K线数据解析之后的数据为:{"wsid":769372505,"data":[],"id":"","status":"ok","ts":"1729582540943"} +2024-10-22 15:35:42.005 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:26] - 请求(req)指数K线数据用户收到的原始数据:{"id":"","rep":"market.BTC-USD.index.1min","wsid":769372505,"ts":1729582541910,"status":"ok","data":[]} +2024-10-22 15:35:42.006 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:28] - 请求(req)指数K线数据解析之后的数据为:{"wsid":769372505,"data":[],"id":"","status":"ok","ts":"1729582541910"} +2024-10-22 15:35:43.011 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:26] - 请求(req)指数K线数据用户收到的原始数据:{"id":"","rep":"market.BTC-USD.index.1min","wsid":769372505,"ts":1729582542913,"status":"ok","data":[]} +2024-10-22 15:35:43.011 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:28] - 请求(req)指数K线数据解析之后的数据为:{"wsid":769372505,"data":[],"id":"","status":"ok","ts":"1729582542913"} +2024-10-22 15:35:44.001 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:26] - 请求(req)指数K线数据用户收到的原始数据:{"id":"","rep":"market.BTC-USD.index.1min","wsid":769372505,"ts":1729582543915,"status":"ok","data":[]} +2024-10-22 15:35:44.002 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:28] - 请求(req)指数K线数据解析之后的数据为:{"wsid":769372505,"data":[],"id":"","status":"ok","ts":"1729582543915"} +2024-10-22 15:35:45.055 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:26] - 请求(req)指数K线数据用户收到的原始数据:{"id":"","rep":"market.BTC-USD.index.1min","wsid":769372505,"ts":1729582544916,"status":"ok","data":[]} +2024-10-22 15:35:45.056 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:28] - 请求(req)指数K线数据解析之后的数据为:{"wsid":769372505,"data":[],"id":"","status":"ok","ts":"1729582544916"} +2024-10-22 15:35:46.012 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:26] - 请求(req)指数K线数据用户收到的原始数据:{"id":"","rep":"market.BTC-USD.index.1min","wsid":769372505,"ts":1729582545918,"status":"ok","data":[]} +2024-10-22 15:35:46.013 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:28] - 请求(req)指数K线数据解析之后的数据为:{"wsid":769372505,"data":[],"id":"","status":"ok","ts":"1729582545918"} +2024-10-22 15:35:47.028 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:26] - 请求(req)指数K线数据用户收到的原始数据:{"id":"","rep":"market.BTC-USD.index.1min","wsid":769372505,"ts":1729582546931,"status":"ok","data":[]} +2024-10-22 15:35:47.028 [INFO] [WebSocketConnectReadThread-11] [com.huobi.future.wss.WssIndexReqTest.lambda$test1$0:28] - 请求(req)指数K线数据解析之后的数据为:{"wsid":769372505,"data":[],"id":"","status":"ok","ts":"1729582546931"} +2024-10-22 15:35:58.344 [INFO] [pool-2-thread-1] [com.huobi.future.wss.WssIndexSubTest.lambda$test1$0:25] - 订阅(sub)指数K线数据用户收到的数据===============:{"ch":"market.BTC-USD.index.1min","ts":1729582557256,"tick":{"id":1729582500,"open":"67547.4775","close":"67564.045","high":"67564.045","low":"67547.4775","amount":"0","vol":"0","count":0}} +2024-10-22 15:35:58.363 [INFO] [pool-2-thread-1] [com.huobi.future.wss.WssIndexSubTest.lambda$test1$0:28] - 订阅(sub)指数K线数据的ts为:1729582557256,当前的时间戳为:1729582558345,时间间隔为:1089毫秒 +2024-10-22 15:35:58.375 [INFO] [pool-2-thread-1] [com.huobi.future.wss.WssIndexSubTest.lambda$test1$0:25] - 订阅(sub)指数K线数据用户收到的数据===============:{"ch":"market.BTC-USD.index.1min","ts":1729582558256,"tick":{"id":1729582500,"open":"67547.4775","close":"67565.045","high":"67565.045","low":"67547.4775","amount":"0","vol":"0","count":0}} +2024-10-22 15:35:58.376 [INFO] [pool-2-thread-1] [com.huobi.future.wss.WssIndexSubTest.lambda$test1$0:28] - 订阅(sub)指数K线数据的ts为:1729582558256,当前的时间戳为:1729582558376,时间间隔为:120毫秒 +2024-10-22 15:35:59.424 [INFO] [pool-2-thread-1] [com.huobi.future.wss.WssIndexSubTest.lambda$test1$0:25] - 订阅(sub)指数K线数据用户收到的数据===============:{"ch":"market.BTC-USD.index.1min","ts":1729582559256,"tick":{"id":1729582500,"open":"67547.4775","close":"67565.045","high":"67565.045","low":"67547.4775","amount":"0","vol":"0","count":0}} +2024-10-22 15:35:59.425 [INFO] [pool-2-thread-1] [com.huobi.future.wss.WssIndexSubTest.lambda$test1$0:28] - 订阅(sub)指数K线数据的ts为:1729582559256,当前的时间戳为:1729582559425,时间间隔为:169毫秒 +2024-10-22 15:36:00.337 [INFO] [pool-2-thread-1] [com.huobi.future.wss.WssIndexSubTest.lambda$test1$0:25] - 订阅(sub)指数K线数据用户收到的数据===============:{"ch":"market.BTC-USD.index.1min","ts":1729582560255,"tick":{"id":1729582560,"open":"67565.045","close":"67565.045","high":"67565.045","low":"67565.045","amount":"0","vol":"0","count":0}} +2024-10-22 15:36:00.337 [INFO] [pool-2-thread-1] [com.huobi.future.wss.WssIndexSubTest.lambda$test1$0:28] - 订阅(sub)指数K线数据的ts为:1729582560255,当前的时间戳为:1729582560337,时间间隔为:82毫秒 +2024-10-22 15:36:01.468 [INFO] [pool-2-thread-1] [com.huobi.future.wss.WssIndexSubTest.lambda$test1$0:25] - 订阅(sub)指数K线数据用户收到的数据===============:{"ch":"market.BTC-USD.index.1min","ts":1729582561256,"tick":{"id":1729582560,"open":"67565.045","close":"67565.045","high":"67565.045","low":"67565.045","amount":"0","vol":"0","count":0}} +2024-10-22 15:36:01.469 [INFO] [pool-2-thread-1] [com.huobi.future.wss.WssIndexSubTest.lambda$test1$0:28] - 订阅(sub)指数K线数据的ts为:1729582561256,当前的时间戳为:1729582561468,时间间隔为:212毫秒 +2024-10-22 15:36:02.495 [INFO] [pool-2-thread-1] [com.huobi.future.wss.WssIndexSubTest.lambda$test1$0:25] - 订阅(sub)指数K线数据用户收到的数据===============:{"ch":"market.BTC-USD.index.1min","ts":1729582562256,"tick":{"id":1729582560,"open":"67565.045","close":"67560.91","high":"67565.045","low":"67560.91","amount":"0","vol":"0","count":0}} +2024-10-22 15:36:02.496 [INFO] [pool-2-thread-1] [com.huobi.future.wss.WssIndexSubTest.lambda$test1$0:28] - 订阅(sub)指数K线数据的ts为:1729582562256,当前的时间戳为:1729582562495,时间间隔为:239毫秒 +2024-10-22 15:36:03.400 [INFO] [pool-2-thread-1] [com.huobi.future.wss.WssIndexSubTest.lambda$test1$0:25] - 订阅(sub)指数K线数据用户收到的数据===============:{"ch":"market.BTC-USD.index.1min","ts":1729582563256,"tick":{"id":1729582560,"open":"67565.045","close":"67560.91","high":"67565.045","low":"67560.91","amount":"0","vol":"0","count":0}} +2024-10-22 15:36:03.401 [INFO] [pool-2-thread-1] [com.huobi.future.wss.WssIndexSubTest.lambda$test1$0:28] - 订阅(sub)指数K线数据的ts为:1729582563256,当前的时间戳为:1729582563400,时间间隔为:144毫秒 +2024-10-22 15:36:04.439 [INFO] [pool-2-thread-1] [com.huobi.future.wss.WssIndexSubTest.lambda$test1$0:25] - 订阅(sub)指数K线数据用户收到的数据===============:{"ch":"market.BTC-USD.index.1min","ts":1729582564256,"tick":{"id":1729582560,"open":"67565.045","close":"67560.91","high":"67565.045","low":"67560.91","amount":"0","vol":"0","count":0}} +2024-10-22 15:36:04.439 [INFO] [pool-2-thread-1] [com.huobi.future.wss.WssIndexSubTest.lambda$test1$0:28] - 订阅(sub)指数K线数据的ts为:1729582564256,当前的时间戳为:1729582564439,时间间隔为:183毫秒 +2024-10-22 15:36:05.463 [INFO] [pool-2-thread-1] [com.huobi.future.wss.WssIndexSubTest.lambda$test1$0:25] - 订阅(sub)指数K线数据用户收到的数据===============:{"ch":"market.BTC-USD.index.1min","ts":1729582565256,"tick":{"id":1729582560,"open":"67565.045","close":"67560.91","high":"67565.045","low":"67560.91","amount":"0","vol":"0","count":0}} +2024-10-22 15:36:05.464 [INFO] [pool-2-thread-1] [com.huobi.future.wss.WssIndexSubTest.lambda$test1$0:28] - 订阅(sub)指数K线数据的ts为:1729582565256,当前的时间戳为:1729582565463,时间间隔为:207毫秒 +2024-10-22 15:36:15.161 [INFO] [WebSocketConnectReadThread-11] [com.huobi.wss.handle.WssNotificationHandle.addAuth:174] - before send +2024-10-22 15:36:15.164 [INFO] [WebSocketConnectReadThread-11] [com.huobi.wss.handle.WssNotificationHandle.addAuth:176] - after send +2024-10-22 15:36:15.535 [INFO] [pool-2-thread-2] [com.huobi.future.wss.WssCenterNotificationSubHmac256Test.lambda$test1$0:30] - 用户收到的数据===============:{"op":"notify","topic":"public.futures.heartbeat","event":"init","ts":1729582575455,"data":{"heartbeat":1,"estimated_recovery_time":null}} +2024-10-22 15:36:15.552 [INFO] [pool-2-thread-2] [com.huobi.future.wss.WssCenterNotificationSubHmac256Test.lambda$test1$0:33] - ts为:1729582575455,当前的时间戳为:1729582575537,时间间隔为:82毫秒 +2024-10-22 15:36:30.099 [INFO] [WebSocketConnectReadThread-11] [com.huobi.wss.handle.WssNotificationHandle.addAuth:157] - before send +2024-10-22 15:36:30.111 [INFO] [WebSocketConnectReadThread-11] [com.huobi.wss.handle.WssNotificationHandle.addAuth:159] - after send +2024-10-22 15:36:46.079 [ERROR] [WebSocketConnectReadThread-11] [com.huobi.wss.handle.WssNotificationHandle.onClose:101] - onClose i:1006,s:,b:true +2024-10-22 15:37:30.118 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:191] - isClosed:true,isClosing:false,准备重连 +2024-10-22 15:37:57.028 [INFO] [WebSocketConnectReadThread-11] [com.huobi.wss.handle.WssNotificationHandle.addAuth:157] - before send +2024-10-22 15:37:57.039 [INFO] [WebSocketConnectReadThread-11] [com.huobi.wss.handle.WssNotificationHandle.addAuth:159] - after send +2024-10-22 15:38:12.311 [ERROR] [WebSocketConnectReadThread-11] [com.huobi.wss.handle.WssNotificationHandle.onClose:101] - onClose i:1006,s:,b:true +2024-10-22 15:38:57.045 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:191] - isClosed:true,isClosing:false,准备重连 +2024-10-22 15:38:58.162 [INFO] [WebSocketConnectReadThread-18] [com.huobi.wss.handle.WssNotificationHandle.addAuth:157] - before send +2024-10-22 15:38:58.163 [INFO] [WebSocketConnectReadThread-18] [com.huobi.wss.handle.WssNotificationHandle.addAuth:159] - after send +2024-10-22 15:38:58.163 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:193] - 重连的结果为:true +2024-10-22 15:39:13.571 [ERROR] [WebSocketConnectReadThread-18] [com.huobi.wss.handle.WssNotificationHandle.onClose:101] - onClose i:1006,s:,b:true +2024-10-22 15:39:17.049 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:191] - isClosed:true,isClosing:false,准备重连 +2024-10-22 15:39:21.159 [INFO] [WebSocketConnectReadThread-23] [com.huobi.wss.handle.WssNotificationHandle.addAuth:157] - before send +2024-10-22 15:39:21.163 [INFO] [WebSocketConnectReadThread-23] [com.huobi.wss.handle.WssNotificationHandle.addAuth:159] - after send +2024-10-22 15:39:21.164 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:193] - 重连的结果为:true +2024-10-22 15:39:36.569 [ERROR] [WebSocketConnectReadThread-23] [com.huobi.wss.handle.WssNotificationHandle.onClose:101] - onClose i:1006,s:,b:true +2024-10-22 15:39:37.047 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:191] - isClosed:true,isClosing:false,准备重连 +2024-10-22 15:39:38.145 [INFO] [WebSocketConnectReadThread-28] [com.huobi.wss.handle.WssNotificationHandle.addAuth:157] - before send +2024-10-22 15:39:38.146 [INFO] [WebSocketConnectReadThread-28] [com.huobi.wss.handle.WssNotificationHandle.addAuth:159] - after send +2024-10-22 15:39:38.146 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:193] - 重连的结果为:true +2024-10-22 15:39:53.590 [ERROR] [WebSocketConnectReadThread-28] [com.huobi.wss.handle.WssNotificationHandle.onClose:101] - onClose i:1006,s:,b:true +2024-10-22 15:39:57.050 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:191] - isClosed:true,isClosing:false,准备重连 +2024-10-22 15:39:58.277 [INFO] [WebSocketConnectReadThread-33] [com.huobi.wss.handle.WssNotificationHandle.addAuth:157] - before send +2024-10-22 15:39:58.277 [INFO] [WebSocketConnectReadThread-33] [com.huobi.wss.handle.WssNotificationHandle.addAuth:159] - after send +2024-10-22 15:39:58.278 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:193] - 重连的结果为:true +2024-10-22 15:40:13.693 [ERROR] [WebSocketConnectReadThread-33] [com.huobi.wss.handle.WssNotificationHandle.onClose:101] - onClose i:1006,s:,b:true +2024-10-22 15:40:17.051 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:191] - isClosed:true,isClosing:false,准备重连 +2024-10-22 15:40:17.820 [INFO] [WebSocketConnectReadThread-38] [com.huobi.wss.handle.WssNotificationHandle.addAuth:157] - before send +2024-10-22 15:40:17.820 [INFO] [WebSocketConnectReadThread-38] [com.huobi.wss.handle.WssNotificationHandle.addAuth:159] - after send +2024-10-22 15:40:17.820 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:193] - 重连的结果为:true +2024-10-22 15:40:33.220 [ERROR] [WebSocketConnectReadThread-38] [com.huobi.wss.handle.WssNotificationHandle.onClose:101] - onClose i:1006,s:,b:true +2024-10-22 15:40:37.051 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:191] - isClosed:true,isClosing:false,准备重连 +2024-10-22 15:40:38.089 [INFO] [WebSocketConnectReadThread-41] [com.huobi.wss.handle.WssNotificationHandle.addAuth:157] - before send +2024-10-22 15:40:38.090 [INFO] [WebSocketConnectReadThread-41] [com.huobi.wss.handle.WssNotificationHandle.addAuth:159] - after send +2024-10-22 15:40:38.091 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:193] - 重连的结果为:true +2024-10-22 15:40:53.495 [ERROR] [WebSocketConnectReadThread-41] [com.huobi.wss.handle.WssNotificationHandle.onClose:101] - onClose i:1006,s:,b:true +2024-10-22 15:40:57.051 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:191] - isClosed:true,isClosing:false,准备重连 +2024-10-22 15:40:58.189 [INFO] [WebSocketConnectReadThread-44] [com.huobi.wss.handle.WssNotificationHandle.addAuth:157] - before send +2024-10-22 15:40:58.189 [INFO] [WebSocketConnectReadThread-44] [com.huobi.wss.handle.WssNotificationHandle.addAuth:159] - after send +2024-10-22 15:40:58.190 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:193] - 重连的结果为:true +2024-10-22 15:42:58.194 [ERROR] [WebSocketTimer] [com.huobi.wss.handle.WssNotificationHandle.onClose:101] - onClose i:1006,s:The connection was closed because the other endpoint did not respond with a pong in time. For more information check: https://github.com/TooTallNate/Java-WebSocket/wiki/Lost-connection-detection,b:false +2024-10-22 15:42:58.287 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:191] - isClosed:true,isClosing:false,准备重连 +2024-10-22 15:42:59.248 [INFO] [WebSocketConnectReadThread-47] [com.huobi.wss.handle.WssNotificationHandle.addAuth:157] - before send +2024-10-22 15:42:59.249 [INFO] [WebSocketConnectReadThread-47] [com.huobi.wss.handle.WssNotificationHandle.addAuth:159] - after send +2024-10-22 15:42:59.250 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:193] - 重连的结果为:true +2024-10-22 15:43:14.587 [ERROR] [WebSocketConnectReadThread-47] [com.huobi.wss.handle.WssNotificationHandle.onClose:101] - onClose i:1006,s:,b:true +2024-10-22 15:43:17.055 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:191] - isClosed:true,isClosing:false,准备重连 +2024-10-22 15:43:18.146 [INFO] [WebSocketConnectReadThread-50] [com.huobi.wss.handle.WssNotificationHandle.addAuth:157] - before send +2024-10-22 15:43:18.146 [INFO] [WebSocketConnectReadThread-50] [com.huobi.wss.handle.WssNotificationHandle.addAuth:159] - after send +2024-10-22 15:43:18.146 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:193] - 重连的结果为:true +2024-10-22 15:43:23.403 [INFO] [WebSocketConnectReadThread-11] [com.huobi.wss.handle.WssNotificationHandle.addAuth:157] - before send +2024-10-22 15:43:23.420 [INFO] [WebSocketConnectReadThread-11] [com.huobi.wss.handle.WssNotificationHandle.addAuth:159] - after send +2024-10-22 15:43:38.691 [ERROR] [WebSocketConnectReadThread-11] [com.huobi.wss.handle.WssNotificationHandle.onClose:101] - onClose i:1006,s:,b:true +2024-10-22 15:44:23.461 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:191] - isClosed:true,isClosing:false,准备重连 +2024-10-22 15:44:25.020 [INFO] [WebSocketConnectReadThread-18] [com.huobi.wss.handle.WssNotificationHandle.addAuth:157] - before send +2024-10-22 15:44:25.020 [INFO] [WebSocketConnectReadThread-18] [com.huobi.wss.handle.WssNotificationHandle.addAuth:159] - after send +2024-10-22 15:44:25.021 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:193] - 重连的结果为:true +2024-10-22 15:44:40.301 [ERROR] [WebSocketConnectReadThread-18] [com.huobi.wss.handle.WssNotificationHandle.onClose:101] - onClose i:1006,s:,b:true +2024-10-22 15:44:43.434 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:191] - isClosed:true,isClosing:false,准备重连 +2024-10-22 15:47:19.646 [ERROR] [WebSocketConnectReadThread-23] [com.huobi.wss.handle.WssNotificationHandle.onClose:101] - onClose i:-1,s:,b:true +2024-10-22 15:47:19.647 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:193] - 重连的结果为:false +2024-10-22 15:47:19.651 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:196] - closeBlocking +2024-10-22 15:47:19.651 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:191] - isClosed:true,isClosing:false,准备重连 +2024-10-22 15:48:23.475 [ERROR] [WebSocketConnectReadThread-25] [com.huobi.wss.handle.WssNotificationHandle.onClose:101] - onClose i:-1,s:,b:true +2024-10-22 15:48:23.477 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:193] - 重连的结果为:false +2024-10-22 15:48:23.477 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:196] - closeBlocking +2024-10-22 15:48:23.478 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:191] - isClosed:true,isClosing:false,准备重连 +2024-10-22 15:50:02.557 [ERROR] [WebSocketConnectReadThread-27] [com.huobi.wss.handle.WssNotificationHandle.onClose:101] - onClose i:-1,s:,b:true +2024-10-22 15:50:02.560 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:193] - 重连的结果为:false +2024-10-22 15:50:02.560 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:196] - closeBlocking +2024-10-22 15:50:02.561 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:191] - isClosed:true,isClosing:false,准备重连 +2024-10-22 15:50:22.675 [INFO] [WebSocketConnectReadThread-29] [com.huobi.wss.handle.WssNotificationHandle.addAuth:157] - before send +2024-10-22 15:50:22.677 [INFO] [WebSocketConnectReadThread-29] [com.huobi.wss.handle.WssNotificationHandle.addAuth:159] - after send +2024-10-22 15:50:22.677 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:193] - 重连的结果为:true +2024-10-22 15:50:37.968 [ERROR] [WebSocketConnectReadThread-29] [com.huobi.wss.handle.WssNotificationHandle.onClose:101] - onClose i:1006,s:,b:true +2024-10-22 15:50:43.481 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:191] - isClosed:true,isClosing:false,准备重连 +2024-10-22 15:50:44.050 [INFO] [WebSocketConnectReadThread-34] [com.huobi.wss.handle.WssNotificationHandle.addAuth:157] - before send +2024-10-22 15:50:44.051 [INFO] [WebSocketConnectReadThread-34] [com.huobi.wss.handle.WssNotificationHandle.addAuth:159] - after send +2024-10-22 15:50:44.051 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:193] - 重连的结果为:true +2024-10-22 15:50:59.068 [ERROR] [WebSocketConnectReadThread-34] [com.huobi.wss.handle.WssNotificationHandle.onClose:101] - onClose i:1006,s:,b:true +2024-10-22 15:51:03.443 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:191] - isClosed:true,isClosing:false,准备重连 +2024-10-22 15:51:04.241 [INFO] [WebSocketConnectReadThread-39] [com.huobi.wss.handle.WssNotificationHandle.addAuth:157] - before send +2024-10-22 15:51:04.241 [INFO] [WebSocketConnectReadThread-39] [com.huobi.wss.handle.WssNotificationHandle.addAuth:159] - after send +2024-10-22 15:51:04.242 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:193] - 重连的结果为:true +2024-10-22 15:51:19.229 [ERROR] [WebSocketConnectReadThread-39] [com.huobi.wss.handle.WssNotificationHandle.onClose:101] - onClose i:1006,s:,b:true +2024-10-22 15:51:22.682 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:191] - isClosed:true,isClosing:false,准备重连 +2024-10-22 15:52:37.652 [ERROR] [WebSocketConnectReadThread-44] [com.huobi.wss.handle.WssNotificationHandle.onError:106] - onError:{} +java.net.ConnectException: Operation timed out (Connection timed out) + at java.net.PlainSocketImpl.socketConnect(Native Method) + at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:476) + at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:218) + at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:200) + at java.net.Socket.connect(Socket.java:606) + at org.java_websocket.client.WebSocketClient.run(WebSocketClient.java:395) + at java.lang.Thread.run(Thread.java:750) +2024-10-22 15:52:37.653 [ERROR] [WebSocketConnectReadThread-44] [com.huobi.wss.handle.WssNotificationHandle.onClose:101] - onClose i:-1,s:Operation timed out (Connection timed out),b:false +2024-10-22 15:52:37.654 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:193] - 重连的结果为:false +2024-10-22 15:52:37.654 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:196] - closeBlocking +2024-10-22 15:52:37.655 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:191] - isClosed:true,isClosing:false,准备重连 +2024-10-22 15:52:38.560 [INFO] [WebSocketConnectReadThread-45] [com.huobi.wss.handle.WssNotificationHandle.addAuth:157] - before send +2024-10-22 15:52:38.560 [INFO] [WebSocketConnectReadThread-45] [com.huobi.wss.handle.WssNotificationHandle.addAuth:159] - after send +2024-10-22 15:52:38.561 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:193] - 重连的结果为:true +2024-10-22 15:52:53.868 [ERROR] [WebSocketConnectReadThread-45] [com.huobi.wss.handle.WssNotificationHandle.onClose:101] - onClose i:1006,s:,b:true +2024-10-22 15:52:53.996 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:191] - isClosed:true,isClosing:false,准备重连 +2024-10-22 15:53:00.287 [INFO] [WebSocketConnectReadThread-13] [com.huobi.wss.handle.WssNotificationHandle.addAuth:174] - before send +2024-10-22 15:53:00.292 [INFO] [WebSocketConnectReadThread-13] [com.huobi.wss.handle.WssNotificationHandle.addAuth:176] - after send +2024-10-22 15:53:00.605 [INFO] [pool-2-thread-2] [com.huobi.future.wss.WssCenterNotificationSubHmac256Test.lambda$test1$0:30] - 用户收到的数据===============:{"op":"notify","topic":"public.futures.heartbeat","event":"init","ts":1729583580600,"data":{"heartbeat":1,"estimated_recovery_time":null}} +2024-10-22 15:53:00.629 [INFO] [pool-2-thread-2] [com.huobi.future.wss.WssCenterNotificationSubHmac256Test.lambda$test1$0:33] - ts为:1729583580600,当前的时间戳为:1729583580607,时间间隔为:7毫秒 +2024-10-22 15:53:14.163 [INFO] [WebSocketConnectReadThread-48] [com.huobi.wss.handle.WssNotificationHandle.addAuth:157] - before send +2024-10-22 15:53:14.164 [INFO] [WebSocketConnectReadThread-48] [com.huobi.wss.handle.WssNotificationHandle.addAuth:159] - after send +2024-10-22 15:53:14.165 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:193] - 重连的结果为:true +2024-10-22 15:53:29.486 [ERROR] [WebSocketConnectReadThread-48] [com.huobi.wss.handle.WssNotificationHandle.onClose:101] - onClose i:1006,s:,b:true +2024-10-22 15:53:32.620 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:191] - isClosed:true,isClosing:false,准备重连 +2024-10-22 15:54:00.087 [INFO] [WebSocketConnectReadThread-13] [com.huobi.wss.handle.WssNotificationHandle.addAuth:157] - before send +2024-10-22 15:54:00.092 [INFO] [WebSocketConnectReadThread-13] [com.huobi.wss.handle.WssNotificationHandle.addAuth:159] - after send +2024-10-22 15:54:08.204 [INFO] [WebSocketConnectReadThread-51] [com.huobi.wss.handle.WssNotificationHandle.addAuth:157] - before send +2024-10-22 15:54:08.205 [INFO] [WebSocketConnectReadThread-51] [com.huobi.wss.handle.WssNotificationHandle.addAuth:159] - after send +2024-10-22 15:54:08.205 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:193] - 重连的结果为:true +2024-10-22 15:54:15.360 [ERROR] [WebSocketConnectReadThread-13] [com.huobi.wss.handle.WssNotificationHandle.onClose:101] - onClose i:1006,s:,b:true +2024-10-22 15:54:54.864 [INFO] [WebSocketConnectReadThread-11] [com.huobi.wss.handle.WssNotificationHandle.addAuth:157] - before send +2024-10-22 15:54:54.868 [INFO] [WebSocketConnectReadThread-11] [com.huobi.wss.handle.WssNotificationHandle.addAuth:159] - after send +2024-10-22 15:55:10.115 [ERROR] [WebSocketConnectReadThread-11] [com.huobi.wss.handle.WssNotificationHandle.onClose:101] - onClose i:1006,s:,b:true +2024-10-22 15:55:41.113 [INFO] [WebSocketConnectReadThread-11] [com.huobi.wss.handle.WssNotificationHandle.addAuth:174] - before send +2024-10-22 15:55:41.117 [INFO] [WebSocketConnectReadThread-11] [com.huobi.wss.handle.WssNotificationHandle.addAuth:176] - after send +2024-10-22 15:55:41.364 [INFO] [pool-2-thread-2] [com.huobi.future.wss.WssCenterNotificationSubHmac256Test.lambda$test1$0:30] - 用户收到的数据===============:{"op":"notify","topic":"public.futures.heartbeat","event":"init","ts":1729583741407,"data":{"heartbeat":1,"estimated_recovery_time":null}} +2024-10-22 15:55:41.384 [INFO] [pool-2-thread-2] [com.huobi.future.wss.WssCenterNotificationSubHmac256Test.lambda$test1$0:33] - ts为:1729583741407,当前的时间戳为:1729583741366,时间间隔为:-41毫秒 +2024-10-22 15:55:54.883 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:191] - isClosed:true,isClosing:false,准备重连 +2024-10-22 15:56:33.694 [INFO] [WebSocketConnectReadThread-11] [com.huobi.wss.handle.WssNotificationHandle.addAuth:157] - before send +2024-10-22 15:56:33.706 [INFO] [WebSocketConnectReadThread-11] [com.huobi.wss.handle.WssNotificationHandle.addAuth:159] - after send +2024-10-22 15:56:33.988 [INFO] [pool-2-thread-2] [com.huobi.future.wss.WssCenterNotificationSubHmac256Test.lambda$test1$0:28] - 用户收到的数据===============:{"op":"notify","topic":"public.futures.heartbeat","event":"init","ts":1729583794012,"data":{"heartbeat":1,"estimated_recovery_time":null}} +2024-10-22 15:56:34.006 [INFO] [pool-2-thread-2] [com.huobi.future.wss.WssCenterNotificationSubHmac256Test.lambda$test1$0:31] - ts为:1729583794012,当前的时间戳为:1729583793990,时间间隔为:-22毫秒 +2024-10-22 15:57:04.453 [ERROR] [WebSocketConnectReadThread-11] [com.huobi.wss.handle.WssNotificationHandle.onClose:101] - onClose i:-1,s:,b:true +2024-10-22 15:57:11.049 [ERROR] [WebSocketConnectReadThread-18] [com.huobi.wss.handle.WssNotificationHandle.onClose:101] - onClose i:-1,s:,b:true +2024-10-22 15:57:11.050 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:193] - 重连的结果为:false +2024-10-22 15:57:11.051 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:196] - closeBlocking +2024-10-22 15:57:11.051 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:191] - isClosed:true,isClosing:false,准备重连 +2024-10-22 15:57:12.217 [INFO] [WebSocketConnectReadThread-20] [com.huobi.wss.handle.WssNotificationHandle.addAuth:157] - before send +2024-10-22 15:57:12.217 [INFO] [WebSocketConnectReadThread-20] [com.huobi.wss.handle.WssNotificationHandle.addAuth:159] - after send +2024-10-22 15:57:12.218 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:193] - 重连的结果为:true +2024-10-22 15:57:16.444 [ERROR] [WebSocketConnectReadThread-11] [com.huobi.wss.handle.WssNotificationHandle.onError:106] - onError:{} +java.net.ConnectException: Operation timed out (Connection timed out) + at java.net.PlainSocketImpl.socketConnect(Native Method) + at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:476) + at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:218) + at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:200) + at java.net.Socket.connect(Socket.java:606) + at org.java_websocket.client.WebSocketClient.run(WebSocketClient.java:395) + at java.lang.Thread.run(Thread.java:750) +2024-10-22 15:57:16.448 [ERROR] [WebSocketConnectReadThread-11] [com.huobi.wss.handle.WssNotificationHandle.onClose:101] - onClose i:-1,s:Operation timed out (Connection timed out),b:false +2024-10-22 15:57:27.551 [ERROR] [WebSocketConnectReadThread-20] [com.huobi.wss.handle.WssNotificationHandle.onClose:101] - onClose i:1006,s:,b:true +2024-10-22 15:57:34.879 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:191] - isClosed:true,isClosing:false,准备重连 +2024-10-22 15:58:04.069 [ERROR] [WebSocketConnectReadThread-25] [com.huobi.wss.handle.WssNotificationHandle.onError:106] - onError:{} +java.net.ConnectException: Operation timed out (Connection timed out) + at java.net.PlainSocketImpl.socketConnect(Native Method) + at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:476) + at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:218) + at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:200) + at java.net.Socket.connect(Socket.java:606) + at org.java_websocket.client.WebSocketClient.run(WebSocketClient.java:395) + at java.lang.Thread.run(Thread.java:750) +2024-10-22 15:58:04.073 [ERROR] [WebSocketConnectReadThread-25] [com.huobi.wss.handle.WssNotificationHandle.onClose:101] - onClose i:-1,s:Operation timed out (Connection timed out),b:false +2024-10-22 15:58:04.074 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:193] - 重连的结果为:false +2024-10-22 15:58:04.076 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:196] - closeBlocking +2024-10-22 15:58:04.077 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:191] - isClosed:true,isClosing:false,准备重连 +2024-10-22 15:58:04.903 [INFO] [WebSocketConnectReadThread-26] [com.huobi.wss.handle.WssNotificationHandle.addAuth:157] - before send +2024-10-22 15:58:04.903 [INFO] [WebSocketConnectReadThread-26] [com.huobi.wss.handle.WssNotificationHandle.addAuth:159] - after send +2024-10-22 15:58:04.904 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:193] - 重连的结果为:true +2024-10-22 15:58:19.950 [ERROR] [WebSocketConnectReadThread-26] [com.huobi.wss.handle.WssNotificationHandle.onClose:101] - onClose i:1006,s:,b:true +2024-10-22 15:58:22.223 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:191] - isClosed:true,isClosing:false,准备重连 +2024-10-22 15:58:24.871 [INFO] [WebSocketConnectReadThread-31] [com.huobi.wss.handle.WssNotificationHandle.addAuth:157] - before send +2024-10-22 15:58:24.871 [INFO] [WebSocketConnectReadThread-31] [com.huobi.wss.handle.WssNotificationHandle.addAuth:159] - after send +2024-10-22 15:58:24.872 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:193] - 重连的结果为:true +2024-10-22 15:58:39.905 [ERROR] [WebSocketConnectReadThread-31] [com.huobi.wss.handle.WssNotificationHandle.onClose:101] - onClose i:1006,s:,b:true +2024-10-22 15:58:42.220 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:191] - isClosed:true,isClosing:false,准备重连 +2024-10-22 15:58:43.351 [INFO] [WebSocketConnectReadThread-36] [com.huobi.wss.handle.WssNotificationHandle.addAuth:157] - before send +2024-10-22 15:58:43.351 [INFO] [WebSocketConnectReadThread-36] [com.huobi.wss.handle.WssNotificationHandle.addAuth:159] - after send +2024-10-22 15:58:43.352 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:193] - 重连的结果为:true +2024-10-22 15:58:58.750 [ERROR] [WebSocketConnectReadThread-36] [com.huobi.wss.handle.WssNotificationHandle.onClose:101] - onClose i:1006,s:,b:true +2024-10-22 15:59:02.223 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:191] - isClosed:true,isClosing:false,准备重连 +2024-10-22 15:59:03.092 [INFO] [WebSocketConnectReadThread-41] [com.huobi.wss.handle.WssNotificationHandle.addAuth:157] - before send +2024-10-22 15:59:03.092 [INFO] [WebSocketConnectReadThread-41] [com.huobi.wss.handle.WssNotificationHandle.addAuth:159] - after send +2024-10-22 15:59:03.094 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:193] - 重连的结果为:true +2024-10-22 15:59:18.514 [ERROR] [WebSocketConnectReadThread-41] [com.huobi.wss.handle.WssNotificationHandle.onClose:101] - onClose i:1006,s:,b:true +2024-10-22 15:59:22.220 [ERROR] [pool-1-thread-1] [com.huobi.wss.handle.WssNotificationHandle.run:191] - isClosed:true,isClosing:false,准备重连 diff --git a/alpha/platforms/huobi_coin_future/websocket/__init__.py b/log/info/info.2024-01-16_11.log similarity index 100% rename from alpha/platforms/huobi_coin_future/websocket/__init__.py rename to log/info/info.2024-01-16_11.log diff --git a/log/info/info.2024-01-18_11.log b/log/info/info.2024-01-18_11.log new file mode 100644 index 0000000..28da1a3 --- /dev/null +++ b/log/info/info.2024-01-18_11.log @@ -0,0 +1,68 @@ +2024-01-18 11:12:48.795 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:39] - 请求 KLine 数据用户收到的原始数据:{"id":"","rep":"market.BTC-USDT.kline.60min","ts":1705547567664,"wsid":19750305,"status":"ok","data":[{"id":1603270800,"open":12198.0,"close":12196.7,"high":12300.0,"low":11715.8,"amount":0.276,"vol":276,"trade_turnover":3315.9104,"count":39},{"id":1603274400,"open":12196.7,"close":12277.9,"high":12289.9,"low":12111.0,"amount":0.198,"vol":198,"trade_turnover":2420.7728,"count":21},{"id":1603278000,"open":12111.0,"close":12000.0,"high":12277.9,"low":12000.0,"amount":0.012,"vol":12,"trade_turnover":145.2238,"count":5},{"id":1603281600,"open":12078.0,"close":12497.4,"high":12498.0,"low":12078.0,"amount":0.084,"vol":84,"trade_turnover":1040.0504,"count":12},{"id":1603285200,"open":12495.6,"close":12373.5,"high":12495.6,"low":12282.9,"amount":1.122,"vol":1122,"trade_turnover":13905.3124,"count":112},{"id":1603288800,"open":12412.9,"close":12689.9,"high":12807.6,"low":12358.1,"amount":5.29,"vol":5290,"trade_turnover":66852.128,"count":155},{"id":1603292400,"open":12692.8,"close":12701.9,"high":12778.7,"low":12573.2,"amount":1.174,"vol":1174,"trade_turnover":14907.367,"count":113},{"id":1603296000,"open":12679.7,"close":12835.9,"high":12920.9,"low":12624.8,"amount":1.156,"vol":1156,"trade_turnover":14802.449,"count":115},{"id":1603299600,"open":12848.3,"close":12754.2,"high":12908.3,"low":12687.5,"amount":1.12,"vol":1120,"trade_turnover":14345.7324,"count":115},{"id":1603303200,"open":12743.7,"close":12740.2,"high":12849.0,"low":12668.3,"amount":1.106,"vol":1106,"trade_turnover":14105.3504,"count":114},{"id":1603306800,"open":12729.5,"close":12650.3,"high":12843.1,"low":12597.2,"amount":1.032,"vol":1032,"trade_turnover":13125.4568,"count":112},{"id":1603310400,"open":12666.8,"close":12807.0,"high":12848.4,"low":12610.2,"amount":1.154,"vol":1154,"trade_turnover":14680.638,"count":116},{"id":1603314000,"open":12866.0,"close":12938.9,"high":13005.1,"low":12748.2,"amount":1.164,"vol":1164,"trade_turnover":14976.9366,"count":114},{"id":1603317600,"open":12921.0,"close":13122.0,"high":13211.2,"low":12865.7,"amount":1.174,"vol":1174,"trade_turnover":15285.2446,"count":114},{"id":1603321200,"open":13153.2,"close":12829.8,"high":13173.2,"low":12688.6,"amount":1.172,"vol":1172,"trade_turnover":15060.9938,"count":117},{"id":1603324800,"open":12793.1,"close":12885.9,"high":12988.1,"low":12764.4,"amount":1.17,"vol":1170,"trade_turnover":15046.2046,"count":117},{"id":1603328400,"open":12860.4,"close":12757.5,"high":12972.6,"low":12757.5,"amount":1.158,"vol":1158,"trade_turnover":14882.4656,"count":118},{"id":1603332000,"open":12824.1,"close":12788.8,"high":12848.0,"low":12729.0,"amount":1.124,"vol":1124,"trade_turnover":14368.7948,"count":115},{"id":1603335600,"open":12791.7,"close":12767.2,"high":12834.4,"low":12729.0,"amount":1.194,"vol":1194,"trade_turnover":15268.9298,"count":111},{"id":1603339200,"open":12729.0,"close":12762.2,"high":12778.3,"low":12729.0,"amount":1.152,"vol":1152,"trade_turnover":14695.4876,"count":115},{"id":1603342800,"open":12763.1,"close":12813.8,"high":12842.0,"low":12730.6,"amount":1.21,"vol":1210,"trade_turnover":15440.8162,"count":119},{"id":1603346400,"open":12795.0,"close":12729.1,"high":12795.0,"low":12728.0,"amount":1.188,"vol":1188,"trade_turnover":15128.0098,"count":123},{"id":1603350000,"open":12728.6,"close":12730.6,"high":12730.6,"low":12728.3,"amount":1.266,"vol":1266,"trade_turnover":16115.1306,"count":112},{"id":1603353600,"open":12730.3,"close":12770.1,"high":12921.5,"low":12729.9,"amount":1.35,"vol":1350,"trade_turnover":17233.7326,"count":127},{"id":1603357200,"open":12824.9,"close":12780.4,"high":12872.1,"low":12760.1,"amount":0.98,"vol":980,"trade_turnover":12553.9826,"count":99},{"id":1603360800,"open":12784.9,"close":12934.2,"high":13002.7,"low":12775.6,"amount":0.266,"vol":266,"trade_turnover":3415.023,"count":30},{"id":1603364400,"open":12977.0,"close":13045.0,"high":13057.0,"low":12886.6,"amount":1.004,"vol":1004,"trade_turnover":13020.8576,"count":117},{"id":1603368000,"open":12958.5,"close":12847.9,"high":12973.4,"low":12751.6,"amount":1.134,"vol":1134,"trade_turnover":14594.2752,"count":111},{"id":1603371600,"open":12882.7,"close":12931.0,"high":13000.8,"low":12743.0,"amount":1.152,"vol":1152,"trade_turnover":14877.7314,"count":114},{"id":1603375200,"open":12890.4,"close":12917.8,"high":12995.3,"low":12783.9,"amount":1.182,"vol":1182,"trade_turnover":15224.4716,"count":115},{"id":1603378800,"open":12918.8,"close":12953.0,"high":13031.2,"low":12817.9,"amount":1.176,"vol":1176,"trade_turnover":15197.208,"count":117},{"id":1603382400,"open":12923.1,"close":13055.6,"high":13100.2,"low":12865.6,"amount":1.146,"vol":1146,"trade_turnover":14851.9604,"count":119},{"id":1603386000,"open":12967.6,"close":13082.7,"high":13105.7,"low":12835.5,"amount":1.534,"vol":1534,"trade_turnover":19927.8288,"count":124},{"id":1603389600,"open":13020.4,"close":13016.4,"high":13115.0,"low":12938.7,"amount":1.268,"vol":1268,"trade_turnover":16505.4738,"count":117},{"id":1603393200,"open":13028.3,"close":12970.6,"high":13171.2,"low":12961.8,"amount":1.13,"vol":1130,"trade_turnover":14762.952,"count":112},{"id":1603396800,"open":13016.7,"close":13089.3,"high":13216.1,"low":12998.5,"amount":1.206,"vol":1206,"trade_turnover":15807.1226,"count":117},{"id":1603400400,"open":13136.0,"close":13092.0,"high":13203.7,"low":12932.9,"amount":1.332,"vol":1332,"trade_turnover":17423.4422,"count":114},{"id":1603404000,"open":13119.4,"close":13055.9,"high":13250.5,"low":12984.7,"amount":1.21,"vol":1210,"trade_turnover":15876.0632,"count":114},{"id":1603407600,"open":13059.4,"close":12890.4,"high":13126.5,"low":12857.2,"amount":1.286,"vol":1286,"trade_turnover":16688.422,"count":116},{"id":1603411200,"open":12929.7,"close":12892.2,"high":12994.0,"low":12751.6,"amount":1.502,"vol":1502,"trade_turnover":19331.1596,"count":131},{"id":1603414800,"open":12921.7,"close":12898.3,"high":13003.2,"low":12786.0,"amount":1.386,"vol":1386,"trade_turnover":17904.8902,"count":121},{"id":1603418400,"open":12951.6,"close":12975.1,"high":13054.0,"low":12800.7,"amount":1.416,"vol":1416,"trade_turnover":18306.6204,"count":122},{"id":1603422000,"open":12967.3,"close":12947.0,"high":13030.7,"low":12875.0,"amount":1.19,"vol":1190,"trade_turnover":15409.7984,"count":118},{"id":1603425600,"open":12925.2,"close":12852.0,"high":13047.3,"low":12832.8,"amount":1.022,"vol":1022,"trade_turnover":13214.4388,"count":127},{"id":1603429200,"open":12859.0,"close":12931.1,"high":12991.7,"low":12841.2,"amount":0.478,"vol":478,"trade_turnover":6180.2486,"count":118},{"id":1603432800,"open":12935.9,"close":12939.6,"high":13014.1,"low":12871.9,"amount":0.522,"vol":522,"trade_turnover":6759.0324,"count":132},{"id":1603436400,"open":12923.1,"close":12925.4,"high":12998.9,"low":12917.1,"amount":0.476,"vol":476,"trade_turnover":6163.3118,"count":118},{"id":1603440000,"open":12942.2,"close":12962.6,"high":13014.0,"low":12916.1,"amount":0.508,"vol":508,"trade_turnover":6585.3656,"count":122},{"id":1603443600,"open":12970.5,"close":12926.4,"high":13012.5,"low":12909.9,"amount":0.564,"vol":564,"trade_turnover":7308.8828,"count":124},{"id":1603447200,"open":13001.2,"close":13007.7,"high":13059.5,"low":12925.7,"amount":0.536,"vol":536,"trade_turnover":6957.8796,"count":124},{"id":1603450800,"open":13025.4,"close":12970.6,"high":13078.4,"low":12906.5,"amount":0.486,"vol":486,"trade_turnover":6326.1434,"count":122},{"id":1603454400,"open":12963.9,"close":12935.4,"high":13025.0,"low":12850.8,"amount":0.494,"vol":494,"trade_turnover":6396.0984,"count":117},{"id":1603458000,"open":12913.3,"close":12951.7,"high":13043.3,"low":12911.0,"amount":0.466,"vol":466,"trade_turnover":6049.1412,"count":117},{"id":1603461600,"open":12999.6,"close":12858.8,"high":13006.4,"low":12840.4,"amount":0.46,"vol":460,"trade_turnover":5941.815,"count":116},{"id":1603465200,"open":12885.7,"close":12881.9,"high":12932.9,"low":12826.5,"amount":0.492,"vol":492,"trade_turnover":6340.214,"count":117},{"id":1603468800,"open":12854.4,"close":12784.1,"high":12933.5,"low":12744.4,"amount":0.484,"vol":484,"trade_turnover":6205.4138,"count":123},{"id":1603472400,"open":12832.3,"close":12847.7,"high":12893.1,"low":12730.1,"amount":0.562,"vol":562,"trade_turnover":7218.9184,"count":152},{"id":1603476000,"open":12874.1,"close":12915.7,"high":12939.3,"low":12751.4,"amount":0.53,"vol":530,"trade_turnover":6825.7004,"count":128},{"id":1603479600,"open":12867.9,"close":12972.9,"high":12972.9,"low":12786.6,"amount":0.444,"vol":444,"trade_turnover":5727.7452,"count":117},{"id":1603483200,"open":12956.7,"close":12991.6,"high":13002.2,"low":12842.9,"amount":0.492,"vol":492,"trade_turnover":6375.1566,"count":116},{"id":1603486800,"open":13004.3,"close":12943.5,"high":13004.3,"low":12936.6,"amount":0.5,"vol":500,"trade_turnover":6485.468,"count":125},{"id":1603490400,"open":12923.6,"close":12989.2,"high":13010.3,"low":12884.7,"amount":0.492,"vol":492,"trade_turnover":6376.1492,"count":120},{"id":1603494000,"open":12974.9,"close":12884.6,"high":13024.4,"low":12884.6,"amount":0.51,"vol":510,"trade_turnover":6622.3406,"count":121},{"id":1603497600,"open":12973.7,"close":12953.9,"high":13018.3,"low":12811.1,"amount":0.488,"vol":488,"trade_turnover":6317.7938,"count":120},{"id":1603501200,"open":12927.5,"close":12934.2,"high":13018.1,"low":12872.8,"amount":0.482,"vol":482,"trade_turnover":6242.4178,"count":117},{"id":1603504800,"open":12971.9,"close":12989.1,"high":13003.9,"low":12903.3,"amount":0.484,"vol":484,"trade_turnover":6278.1756,"count":117},{"id":1603508400,"open":13000.1,"close":12975.9,"high":13013.4,"low":12938.3,"amount":0.474,"vol":474,"trade_turnover":6157.7096,"count":122},{"id":1603512000,"open":12989.7,"close":12963.3,"high":13009.4,"low":12905.5,"amount":0.526,"vol":526,"trade_turnover":6831.5658,"count":124},{"id":1603515600,"open":12910.5,"close":12989.7,"high":13041.8,"low":12875.3,"amount":0.522,"vol":522,"trade_turnover":6768.8994,"count":127},{"id":1603519200,"open":12994.7,"close":13003.6,"high":13058.1,"low":12908.8,"amount":0.49,"vol":490,"trade_turnover":6370.5714,"count":120},{"id":1603522800,"open":13011.9,"close":13004.2,"high":13037.8,"low":12981.7,"amount":0.478,"vol":478,"trade_turnover":6218.9722,"count":120},{"id":1603526400,"open":13003.0,"close":12998.2,"high":13030.6,"low":12899.4,"amount":0.52,"vol":520,"trade_turnover":6754.958,"count":124},{"id":1603530000,"open":12998.2,"close":12990.6,"high":13020.3,"low":12893.6,"amount":0.454,"vol":454,"trade_turnover":5891.0574,"count":115},{"id":1603533600,"open":12996.4,"close":13030.1,"high":13059.1,"low":12913.2,"amount":0.502,"vol":502,"trade_turnover":6525.9004,"count":124},{"id":1603537200,"open":12988.4,"close":13033.2,"high":13068.3,"low":12940.2,"amount":0.468,"vol":468,"trade_turnover":6091.0376,"count":119},{"id":1603540800,"open":13035.3,"close":13006.5,"high":13071.8,"low":12978.9,"amount":0.468,"vol":468,"trade_turnover":6102.5902,"count":123},{"id":1603544400,"open":13038.8,"close":12985.9,"high":13066.7,"low":12928.1,"amount":0.534,"vol":534,"trade_turnover":6950.4268,"count":123},{"id":1603548000,"open":12986.3,"close":13042.0,"high":13100.1,"low":12960.5,"amount":0.47,"vol":470,"trade_turnover":6124.2178,"count":100},{"id":1603551600,"open":13038.4,"close":13102.2,"high":13196.5,"low":13038.4,"amount":0.456,"vol":456,"trade_turnover":5989.6362,"count":120},{"id":1603555200,"open":13136.8,"close":13052.7,"high":13176.6,"low":12984.6,"amount":0.458,"vol":458,"trade_turnover":5976.331,"count":121},{"id":1603558800,"open":13006.2,"close":13177.8,"high":13177.8,"low":13003.2,"amount":0.452,"vol":452,"trade_turnover":5911.7058,"count":118},{"id":1603562400,"open":13127.7,"close":13080.8,"high":13170.7,"low":13023.0,"amount":0.468,"vol":468,"trade_turnover":6122.375,"count":119},{"id":1603566000,"open":13040.7,"close":13148.4,"high":13179.3,"low":13014.2,"amount":0.468,"vol":468,"trade_turnover":6126.4278,"count":120},{"id":1603569600,"open":13073.5,"close":13090.1,"high":13179.6,"low":12992.5,"amount":0.47,"vol":470,"trade_turnover":6151.4758,"count":119},{"id":1603573200,"open":13035.4,"close":12993.9,"high":13148.7,"low":12980.7,"amount":0.458,"vol":458,"trade_turnover":5981.071,"count":117},{"id":1603576800,"open":13040.7,"close":13041.1,"high":13112.1,"low":12975.6,"amount":0.478,"vol":478,"trade_turnover":6225.4216,"count":118},{"id":1603580400,"open":13012.6,"close":13184.3,"high":13184.3,"low":13009.3,"amount":0.472,"vol":472,"trade_turnover":6173.4244,"count":118},{"id":1603584000,"open":13080.8,"close":13154.3,"high":13170.4,"low":13007.7,"amount":0.46,"vol":460,"trade_turnover":6024.09,"count":115},{"id":1603587600,"open":13092.0,"close":13196.1,"high":13196.8,"low":13024.0,"amount":0.398,"vol":398,"trade_turnover":5217.5364,"count":102},{"id":1603591200,"open":13124.7,"close":13082.4,"high":13175.1,"low":13035.0,"amount":0.476,"vol":476,"trade_turnover":6228.6596,"count":120},{"id":1603594800,"open":13049.1,"close":13259.0,"high":13383.8,"low":13049.1,"amount":0.578,"vol":578,"trade_turnover":7629.3886,"count":137},{"id":1603598400,"open":13277.0,"close":13243.4,"high":13369.0,"low":13216.0,"amount":0.47,"vol":470,"trade_turnover":6247.955,"count":122},{"id":1603602000,"open":13285.3,"close":13017.3,"high":13353.3,"low":13010.1,"amount":0.61,"vol":610,"trade_turnover":8048.8598,"count":134},{"id":1603605600,"open":13022.5,"close":13060.3,"high":13105.7,"low":13018.2,"amount":0.486,"vol":486,"trade_turnover":6344.1474,"count":118},{"id":1603609200,"open":13048.5,"close":13078.1,"high":13112.1,"low":13022.0,"amount":0.464,"vol":464,"trade_turnover":6061.5416,"count":120},{"id":1603612800,"open":13077.2,"close":13046.0,"high":13091.0,"low":13017.2,"amount":0.464,"vol":464,"trade_turnover":6055.3734,"count":120},{"id":1603616400,"open":13065.1,"close":13040.8,"high":13084.0,"low":13014.2,"amount":0.478,"vol":478,"trade_turnover":6235.7882,"count":117},{"id":1603620000,"open":13047.1,"close":13028.5,"high":13064.2,"low":13010.2,"amount":0.478,"vol":478,"trade_turnover":6232.2428,"count":125},{"id":1603623600,"open":13061.5,"close":12897.6,"high":13061.5,"low":12852.9,"amount":0.534,"vol":534,"trade_turnover":6918.1226,"count":123},{"id":1603627200,"open":12908.3,"close":12964.3,"high":13069.7,"low":12893.2,"amount":0.444,"vol":444,"trade_turnover":5755.8712,"count":117},{"id":1603630800,"open":13001.3,"close":12949.3,"high":13071.9,"low":12891.8,"amount":0.498,"vol":498,"trade_turnover":6465.078,"count":119},{"id":1603634400,"open":12975.8,"close":12946.8,"high":13077.7,"low":12900.0,"amount":0.468,"vol":468,"trade_turnover":6075.4554,"count":116},{"id":1603638000,"open":12975.2,"close":12883.3,"high":13069.1,"low":12883.3,"amount":0.47,"vol":470,"trade_turnover":6097.1072,"count":119},{"id":1603641600,"open":12916.2,"close":12978.7,"high":13067.9,"low":12877.5,"amount":0.482,"vol":482,"trade_turnover":6256.4472,"count":118},{"id":1603645200,"open":13008.0,"close":13004.4,"high":13087.5,"low":12922.7,"amount":0.47,"vol":470,"trade_turnover":6108.3892,"count":117},{"id":1603648800,"open":12972.8,"close":12957.2,"high":13067.6,"low":12893.6,"amount":0.468,"vol":468,"trade_turnover":6079.1484,"count":118},{"id":1603652400,"open":12996.5,"close":13021.8,"high":13066.9,"low":12916.6,"amount":0.442,"vol":442,"trade_turnover":5746.5548,"count":118},{"id":1603656000,"open":12992.9,"close":12985.4,"high":13081.5,"low":12944.9,"amount":0.508,"vol":508,"trade_turnover":6616.9872,"count":120},{"id":1603659600,"open":12999.9,"close":13011.2,"high":13068.6,"low":12921.4,"amount":0.508,"vol":508,"trade_turnover":6614.816,"count":122},{"id":1603663200,"open":12979.6,"close":12959.4,"high":13073.8,"low":12911.9,"amount":0.486,"vol":486,"trade_turnover":6320.907,"count":121},{"id":1603666800,"open":12963.4,"close":13032.1,"high":13085.2,"low":12927.8,"amount":0.452,"vol":452,"trade_turnover":5878.6442,"count":113},{"id":1603670400,"open":12964.2,"close":13001.0,"high":13076.7,"low":12918.3,"amount":0.482,"vol":482,"trade_turnover":6263.698,"count":121},{"id":1603674000,"open":13040.0,"close":13053.7,"high":13096.4,"low":12991.2,"amount":0.478,"vol":478,"trade_turnover":6232.2328,"count":124},{"id":1603677600,"open":13060.6,"close":13064.4,"high":13185.7,"low":12985.1,"amount":0.488,"vol":488,"trade_turnover":6387.534,"count":121},{"id":1603681200,"open":13032.3,"close":13092.8,"high":13187.2,"low":12984.1,"amount":0.486,"vol":486,"trade_turnover":6369.0272,"count":135},{"id":1603684800,"open":13092.0,"close":13132.6,"high":13181.6,"low":12962.3,"amount":0.51,"vol":510,"trade_turnover":6679.829,"count":131},{"id":1603688400,"open":13129.2,"close":13092.1,"high":13205.3,"low":13025.3,"amount":0.506,"vol":506,"trade_turnover":6641.2128,"count":126},{"id":1603692000,"open":13121.8,"close":13071.4,"high":13188.1,"low":12989.8,"amount":1.616,"vol":1616,"trade_turnover":21170.8224,"count":141},{"id":1603695600,"open":13061.0,"close":13038.7,"high":13100.0,"low":12965.2,"amount":3.746,"vol":3746,"trade_turnover":48924.8902,"count":110},{"id":1603699200,"open":13030.9,"close":13039.3,"high":13102.0,"low":12852.8,"amount":8.966,"vol":8966,"trade_turnover":116525.5534,"count":173},{"id":1603702800,"open":13047.1,"close":13075.9,"high":13088.4,"low":13039.8,"amount":4.48,"vol":4480,"trade_turnover":58521.1714,"count":124},{"id":1603706400,"open":13072.1,"close":13100.0,"high":13100.0,"low":13060.2,"amount":4.272,"vol":4272,"trade_turnover":55895.9778,"count":130},{"id":1603710000,"open":13100.0,"close":13138.4,"high":13159.0,"low":13100.0,"amount":29.798,"vol":29798,"trade_turnover":391138.024,"count":230},{"id":1603713600,"open":13138.8,"close":13149.8,"high":13200.0,"low":13100.0,"amount":5.154,"vol":5154,"trade_turnover":67694.652,"count":188},{"id":1603717200,"open":13150.0,"close":13205.8,"high":13351.5,"low":13133.1,"amount":35.608,"vol":35608,"trade_turnover":472780.3394,"count":328},{"id":1603720800,"open":13203.0,"close":13166.1,"high":13280.0,"low":13144.1,"amount":31.748,"vol":31748,"trade_turnover":418744.5588,"count":235},{"id":1603724400,"open":13159.0,"close":12978.0,"high":13165.2,"low":12903.8,"amount":36.53,"vol":36530,"trade_turnover":476940.3296,"count":384},{"id":1603728000,"open":12965.0,"close":12869.6,"high":13069.8,"low":12850.5,"amount":35.018,"vol":35018,"trade_turnover":453288.918,"count":323},{"id":1603731600,"open":12879.2,"close":12873.8,"high":12941.5,"low":12583.9,"amount":92.628,"vol":92628,"trade_turnover":1185973.467,"count":560},{"id":1603735200,"open":12856.2,"close":12946.8,"high":12954.5,"low":12820.4,"amount":4.302,"vol":4302,"trade_turnover":55481.0054,"count":128},{"id":1603738800,"open":12945.6,"close":12953.4,"high":12953.5,"low":12914.1,"amount":13.83,"vol":13830,"trade_turnover":179112.1598,"count":118},{"id":1603742400,"open":12953.5,"close":12983.4,"high":13007.5,"low":12953.5,"amount":17.172,"vol":17172,"trade_turnover":223230.2122,"count":132},{"id":1603746000,"open":12983.1,"close":12993.8,"high":13007.5,"low":12982.7,"amount":3.212,"vol":3212,"trade_turnover":41767.8906,"count":59},{"id":1603749600,"open":13002.1,"close":13007.5,"high":13007.5,"low":12974.0,"amount":1.504,"vol":1504,"trade_turnover":19543.3568,"count":74},{"id":1603753200,"open":13007.5,"close":13033.7,"high":13061.2,"low":13007.5,"amount":3.454,"vol":3454,"trade_turnover":45001.601,"count":101},{"id":1603756800,"open":13029.2,"close":13067.1,"high":13105.0,"low":13028.3,"amount":8.784,"vol":8784,"trade_turnover":114871.8246,"count":98},{"id":1603760400,"open":13074.3,"close":13061.7,"high":13074.4,"low":13051.5,"amount":11.592,"vol":11592,"trade_turnover":151386.9038,"count":66},{"id":1603764000,"open":13061.7,"close":13049.7,"high":13097.6,"low":13040.1,"amount":19.298,"vol":19298,"trade_turnover":252061.019,"count":109},{"id":1603767600,"open":13057.6,"close":13070.4,"high":13080.0,"low":13057.1,"amount":22.992,"vol":22992,"trade_turnover":300453.9788,"count":69},{"id":1603771200,"open":13080.0,"close":13103.3,"high":13175.0,"low":13079.6,"amount":14.396,"vol":14396,"trade_turnover":188461.9156,"count":59},{"id":1603774800,"open":13121.3,"close":13073.6,"high":13121.3,"low":13069.7,"amount":5.058,"vol":5058,"trade_turnover":66201.3552,"count":44},{"id":1603778400,"open":13074.9,"close":13103.4,"high":13149.0,"low":13069.6,"amount":9.106,"vol":9106,"trade_turnover":119104.8906,"count":107},{"id":1603782000,"open":13103.3,"close":13130.0,"high":13169.8,"low":12992.4,"amount":73.95,"vol":73950,"trade_turnover":968195.155,"count":305},{"id":1603785600,"open":13135.1,"close":13123.8,"high":13148.4,"low":13044.0,"amount":18.732,"vol":18732,"trade_turnover":245533.5448,"count":135},{"id":1603789200,"open":13115.5,"close":13131.7,"high":13131.8,"low":13075.7,"amount":13.756,"vol":13756,"trade_turnover":180253.7708,"count":102},{"id":1603792800,"open":13134.8,"close":13216.9,"high":13252.0,"low":13063.4,"amount":154.108,"vol":154108,"trade_turnover":2029983.656,"count":525},{"id":1603796400,"open":13218.8,"close":13395.8,"high":13590.1,"low":13213.5,"amount":170.09,"vol":170090,"trade_turnover":2276279.742,"count":591},{"id":1603800000,"open":13395.9,"close":13376.9,"high":13414.0,"low":13331.7,"amount":48.928,"vol":48928,"trade_turnover":654585.9108,"count":216},{"id":1603803600,"open":13376.5,"close":13384.3,"high":13490.9,"low":13329.8,"amount":63.294,"vol":63294,"trade_turnover":848130.9212,"count":316},{"id":1603807200,"open":13392.6,"close":13398.2,"high":13415.8,"low":13344.8,"amount":12.892,"vol":12892,"trade_turnover":172618.6864,"count":124},{"id":1603810800,"open":13398.2,"close":13598.5,"high":13626.7,"low":13398.2,"amount":93.22,"vol":93220,"trade_turnover":1262695.5466,"count":476},{"id":1603814400,"open":13595.8,"close":13639.9,"high":13639.9,"low":13520.2,"amount":85.45,"vol":85450,"trade_turnover":1161481.4136,"count":435},{"id":1603818000,"open":13640.0,"close":13688.1,"high":13826.7,"low":13589.0,"amount":191.812,"vol":191812,"trade_turnover":2628428.3788,"count":711},{"id":1603821600,"open":13685.0,"close":13630.1,"high":13745.0,"low":13528.2,"amount":65.434,"vol":65434,"trade_turnover":891541.8394,"count":410},{"id":1603825200,"open":13629.4,"close":13637.1,"high":13659.8,"low":13595.4,"amount":5.788,"vol":5788,"trade_turnover":78836.2578,"count":65},{"id":1603828800,"open":13644.4,"close":13616.6,"high":13805.1,"low":13582.6,"amount":163.104,"vol":163104,"trade_turnover":2234040.3544,"count":537},{"id":1603832400,"open":13609.8,"close":13705.5,"high":13753.5,"low":13609.8,"amount":9.884,"vol":9884,"trade_turnover":135406.4752,"count":101},{"id":1603836000,"open":13705.4,"close":13739.9,"high":13739.9,"low":13658.2,"amount":7.436,"vol":7436,"trade_turnover":101840.3508,"count":100},{"id":1603839600,"open":13739.9,"close":13649.6,"high":13794.6,"low":13582.6,"amount":17.086,"vol":17086,"trade_turnover":233971.8448,"count":234},{"id":1603843200,"open":13645.9,"close":13701.7,"high":13745.2,"low":13618.8,"amount":24.108,"vol":24108,"trade_turnover":330206.5694,"count":177},{"id":1603846800,"open":13702.1,"close":13702.6,"high":13725.6,"low":13647.9,"amount":15.892,"vol":15892,"trade_turnover":217816.7008,"count":151},{"id":1603850400,"open":13701.7,"close":13811.6,"high":13832.2,"low":13680.2,"amount":46.548,"vol":46548,"trade_turnover":640636.0352,"count":274},{"id":1603854000,"open":13818.5,"close":13777.0,"high":13820.3,"low":13717.5,"amount":67.896,"vol":67896,"trade_turnover":935838.2238,"count":320},{"id":1603857600,"open":13767.3,"close":13735.7,"high":13807.2,"low":13710.0,"amount":33.156,"vol":33156,"trade_turnover":455941.234,"count":210},{"id":1603861200,"open":13735.5,"close":13715.8,"high":13753.9,"low":13671.3,"amount":32.076,"vol":32076,"trade_turnover":439612.64,"count":198},{"id":1603864800,"open":13715.9,"close":13701.3,"high":13757.0,"low":13694.9,"amount":14.756,"vol":14756,"trade_turnover":202602.5164,"count":122},{"id":1603868400,"open":13701.2,"close":13674.2,"high":13708.7,"low":13550.0,"amount":155.534,"vol":155534,"trade_turnover":2117935.0928,"count":635},{"id":1603872000,"open":13673.0,"close":13691.7,"high":13691.7,"low":13584.0,"amount":29.846,"vol":29846,"trade_turnover":407073.1398,"count":240},{"id":1603875600,"open":13689.3,"close":13587.1,"high":13707.5,"low":13573.5,"amount":104.542,"vol":104542,"trade_turnover":1425079.9344,"count":377},{"id":1603879200,"open":13584.6,"close":13552.7,"high":13618.0,"low":13504.7,"amount":73.818,"vol":73818,"trade_turnover":1001666.0908,"count":358},{"id":1603882800,"open":13552.6,"close":13336.4,"high":13565.4,"low":13330.0,"amount":176.544,"vol":176544,"trade_turnover":2369166.1492,"count":1004},{"id":1603886400,"open":13331.5,"close":13300.3,"high":13385.0,"low":13173.9,"amount":289.73,"vol":289730,"trade_turnover":3846751.7166,"count":968},{"id":1603890000,"open":13300.2,"close":13129.9,"high":13340.0,"low":13122.9,"amount":139.822,"vol":139822,"trade_turnover":1848876.932,"count":612},{"id":1603893600,"open":13123.4,"close":13082.2,"high":13168.2,"low":12915.9,"amount":367.876,"vol":367876,"trade_turnover":4802516.9818,"count":1168},{"id":1603897200,"open":13077.1,"close":13221.2,"high":13235.2,"low":13052.3,"amount":84.044,"vol":84044,"trade_turnover":1106883.1282,"count":375},{"id":1603900800,"open":13218.7,"close":13145.1,"high":13218.7,"low":13050.0,"amount":29.566,"vol":29566,"trade_turnover":388697.4104,"count":244},{"id":1603904400,"open":13145.1,"close":13176.7,"high":13204.9,"low":13006.6,"amount":53.336,"vol":53336,"trade_turnover":700385.2784,"count":299},{"id":1603908000,"open":13171.0,"close":13196.5,"high":13219.6,"low":13131.0,"amount":34.164,"vol":34164,"trade_turnover":450210.5778,"count":218},{"id":1603911600,"open":13200.0,"close":13154.9,"high":13237.4,"low":13145.0,"amount":22.158,"vol":22158,"trade_turnover":292020.0438,"count":185},{"id":1603915200,"open":13154.5,"close":13198.1,"high":13211.8,"low":13147.4,"amount":4.548,"vol":4548,"trade_turnover":59991.1118,"count":75},{"id":1603918800,"open":13193.5,"close":13190.1,"high":13196.5,"low":13100.2,"amount":3.52,"vol":3520,"trade_turnover":46175.428,"count":68},{"id":1603922400,"open":13185.4,"close":13252.0,"high":13267.5,"low":13185.4,"amount":3.122,"vol":3122,"trade_turnover":41304.2018,"count":72},{"id":1603926000,"open":13242.1,"close":13265.9,"high":13282.3,"low":13235.9,"amount":14.768,"vol":14768,"trade_turnover":195689.0764,"count":86},{"id":1603929600,"open":13253.9,"close":13245.1,"high":13294.7,"low":13237.4,"amount":19.968,"vol":19968,"trade_turnover":264834.1944,"count":98},{"id":1603933200,"open":13244.6,"close":13274.2,"high":13285.3,"low":13166.3,"amount":35.282,"vol":35282,"trade_turnover":465789.6302,"count":192},{"id":1603936800,"open":13275.9,"close":13241.1,"high":13277.7,"low":13212.2,"amount":9.748,"vol":9748,"trade_turnover":129016.0684,"count":119},{"id":1603940400,"open":13237.1,"close":13262.5,"high":13262.5,"low":13174.6,"amount":27.3,"vol":27300,"trade_turnover":360589.8982,"count":199},{"id":1603944000,"open":13269.1,"close":13229.5,"high":13277.7,"low":13229.5,"amount":18.904,"vol":18904,"trade_turnover":250713.2812,"count":109},{"id":1603947600,"open":13228.5,"close":13274.8,"high":13274.8,"low":13228.5,"amount":15.822,"vol":15822,"trade_turnover":209781.909,"count":134},{"id":1603951200,"open":13274.8,"close":13255.0,"high":13323.0,"low":13242.3,"amount":91.246,"vol":91246,"trade_turnover":1211271.2788,"count":294},{"id":1603954800,"open":13255.0,"close":13142.4,"high":13269.3,"low":13123.1,"amount":187.622,"vol":187622,"trade_turnover":2478299.7074,"count":506},{"id":1603958400,"open":13145.9,"close":13124.8,"high":13182.4,"low":13094.1,"amount":69.532,"vol":69532,"trade_turnover":914157.2418,"count":226},{"id":1603962000,"open":13129.5,"close":13183.7,"high":13197.1,"low":13129.5,"amount":23.184,"vol":23184,"trade_turnover":305485.9524,"count":141},{"id":1603965600,"open":13184.8,"close":13105.2,"high":13187.5,"low":13053.1,"amount":121.146,"vol":121146,"trade_turnover":1590026.4416,"count":442},{"id":1603969200,"open":13105.1,"close":13060.1,"high":13171.4,"low":13060.1,"amount":47.498,"vol":47498,"trade_turnover":623578.149,"count":262},{"id":1603972800,"open":13056.9,"close":13131.8,"high":13145.8,"low":12977.9,"amount":126.552,"vol":126552,"trade_turnover":1652549.311,"count":481},{"id":1603976400,"open":13131.7,"close":13230.0,"high":13237.2,"low":13102.0,"amount":100.482,"vol":100482,"trade_turnover":1326403.7206,"count":325},{"id":1603980000,"open":13231.0,"close":13420.8,"high":13476.1,"low":13231.0,"amount":253.258,"vol":253258,"trade_turnover":3384941.438,"count":752},{"id":1603983600,"open":13416.0,"close":13420.6,"high":13458.7,"low":13358.7,"amount":64.71,"vol":64710,"trade_turnover":869052.3804,"count":269},{"id":1603987200,"open":13421.9,"close":13535.9,"high":13594.5,"low":13391.8,"amount":120.24,"vol":120240,"trade_turnover":1626567.8278,"count":570}]} +2024-01-18 11:12:48.852 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:41] - 请求 KLine 数据解析之后的数据为:{"wsid":19750305,"data":[{"amount":0.276,"high":12300.0,"vol":276,"low":11715.8,"count":39,"id":1603270800,"close":12196.7,"tradeTurnover":3315.9104,"open":12198.0},{"amount":0.198,"high":12289.9,"vol":198,"low":12111.0,"count":21,"id":1603274400,"close":12277.9,"tradeTurnover":2420.7728,"open":12196.7},{"amount":0.012,"high":12277.9,"vol":12,"low":12000.0,"count":5,"id":1603278000,"close":12000.0,"tradeTurnover":145.2238,"open":12111.0},{"amount":0.084,"high":12498.0,"vol":84,"low":12078.0,"count":12,"id":1603281600,"close":12497.4,"tradeTurnover":1040.0504,"open":12078.0},{"amount":1.122,"high":12495.6,"vol":1122,"low":12282.9,"count":112,"id":1603285200,"close":12373.5,"tradeTurnover":13905.3124,"open":12495.6},{"amount":5.29,"high":12807.6,"vol":5290,"low":12358.1,"count":155,"id":1603288800,"close":12689.9,"tradeTurnover":66852.128,"open":12412.9},{"amount":1.174,"high":12778.7,"vol":1174,"low":12573.2,"count":113,"id":1603292400,"close":12701.9,"tradeTurnover":14907.367,"open":12692.8},{"amount":1.156,"high":12920.9,"vol":1156,"low":12624.8,"count":115,"id":1603296000,"close":12835.9,"tradeTurnover":14802.449,"open":12679.7},{"amount":1.12,"high":12908.3,"vol":1120,"low":12687.5,"count":115,"id":1603299600,"close":12754.2,"tradeTurnover":14345.7324,"open":12848.3},{"amount":1.106,"high":12849.0,"vol":1106,"low":12668.3,"count":114,"id":1603303200,"close":12740.2,"tradeTurnover":14105.3504,"open":12743.7},{"amount":1.032,"high":12843.1,"vol":1032,"low":12597.2,"count":112,"id":1603306800,"close":12650.3,"tradeTurnover":13125.4568,"open":12729.5},{"amount":1.154,"high":12848.4,"vol":1154,"low":12610.2,"count":116,"id":1603310400,"close":12807.0,"tradeTurnover":14680.638,"open":12666.8},{"amount":1.164,"high":13005.1,"vol":1164,"low":12748.2,"count":114,"id":1603314000,"close":12938.9,"tradeTurnover":14976.9366,"open":12866.0},{"amount":1.174,"high":13211.2,"vol":1174,"low":12865.7,"count":114,"id":1603317600,"close":13122.0,"tradeTurnover":15285.2446,"open":12921.0},{"amount":1.172,"high":13173.2,"vol":1172,"low":12688.6,"count":117,"id":1603321200,"close":12829.8,"tradeTurnover":15060.9938,"open":13153.2},{"amount":1.17,"high":12988.1,"vol":1170,"low":12764.4,"count":117,"id":1603324800,"close":12885.9,"tradeTurnover":15046.2046,"open":12793.1},{"amount":1.158,"high":12972.6,"vol":1158,"low":12757.5,"count":118,"id":1603328400,"close":12757.5,"tradeTurnover":14882.4656,"open":12860.4},{"amount":1.124,"high":12848.0,"vol":1124,"low":12729.0,"count":115,"id":1603332000,"close":12788.8,"tradeTurnover":14368.7948,"open":12824.1},{"amount":1.194,"high":12834.4,"vol":1194,"low":12729.0,"count":111,"id":1603335600,"close":12767.2,"tradeTurnover":15268.9298,"open":12791.7},{"amount":1.152,"high":12778.3,"vol":1152,"low":12729.0,"count":115,"id":1603339200,"close":12762.2,"tradeTurnover":14695.4876,"open":12729.0},{"amount":1.21,"high":12842.0,"vol":1210,"low":12730.6,"count":119,"id":1603342800,"close":12813.8,"tradeTurnover":15440.8162,"open":12763.1},{"amount":1.188,"high":12795.0,"vol":1188,"low":12728.0,"count":123,"id":1603346400,"close":12729.1,"tradeTurnover":15128.0098,"open":12795.0},{"amount":1.266,"high":12730.6,"vol":1266,"low":12728.3,"count":112,"id":1603350000,"close":12730.6,"tradeTurnover":16115.1306,"open":12728.6},{"amount":1.35,"high":12921.5,"vol":1350,"low":12729.9,"count":127,"id":1603353600,"close":12770.1,"tradeTurnover":17233.7326,"open":12730.3},{"amount":0.98,"high":12872.1,"vol":980,"low":12760.1,"count":99,"id":1603357200,"close":12780.4,"tradeTurnover":12553.9826,"open":12824.9},{"amount":0.266,"high":13002.7,"vol":266,"low":12775.6,"count":30,"id":1603360800,"close":12934.2,"tradeTurnover":3415.023,"open":12784.9},{"amount":1.004,"high":13057.0,"vol":1004,"low":12886.6,"count":117,"id":1603364400,"close":13045.0,"tradeTurnover":13020.8576,"open":12977.0},{"amount":1.134,"high":12973.4,"vol":1134,"low":12751.6,"count":111,"id":1603368000,"close":12847.9,"tradeTurnover":14594.2752,"open":12958.5},{"amount":1.152,"high":13000.8,"vol":1152,"low":12743.0,"count":114,"id":1603371600,"close":12931.0,"tradeTurnover":14877.7314,"open":12882.7},{"amount":1.182,"high":12995.3,"vol":1182,"low":12783.9,"count":115,"id":1603375200,"close":12917.8,"tradeTurnover":15224.4716,"open":12890.4},{"amount":1.176,"high":13031.2,"vol":1176,"low":12817.9,"count":117,"id":1603378800,"close":12953.0,"tradeTurnover":15197.208,"open":12918.8},{"amount":1.146,"high":13100.2,"vol":1146,"low":12865.6,"count":119,"id":1603382400,"close":13055.6,"tradeTurnover":14851.9604,"open":12923.1},{"amount":1.534,"high":13105.7,"vol":1534,"low":12835.5,"count":124,"id":1603386000,"close":13082.7,"tradeTurnover":19927.8288,"open":12967.6},{"amount":1.268,"high":13115.0,"vol":1268,"low":12938.7,"count":117,"id":1603389600,"close":13016.4,"tradeTurnover":16505.4738,"open":13020.4},{"amount":1.13,"high":13171.2,"vol":1130,"low":12961.8,"count":112,"id":1603393200,"close":12970.6,"tradeTurnover":14762.952,"open":13028.3},{"amount":1.206,"high":13216.1,"vol":1206,"low":12998.5,"count":117,"id":1603396800,"close":13089.3,"tradeTurnover":15807.1226,"open":13016.7},{"amount":1.332,"high":13203.7,"vol":1332,"low":12932.9,"count":114,"id":1603400400,"close":13092.0,"tradeTurnover":17423.4422,"open":13136.0},{"amount":1.21,"high":13250.5,"vol":1210,"low":12984.7,"count":114,"id":1603404000,"close":13055.9,"tradeTurnover":15876.0632,"open":13119.4},{"amount":1.286,"high":13126.5,"vol":1286,"low":12857.2,"count":116,"id":1603407600,"close":12890.4,"tradeTurnover":16688.422,"open":13059.4},{"amount":1.502,"high":12994.0,"vol":1502,"low":12751.6,"count":131,"id":1603411200,"close":12892.2,"tradeTurnover":19331.1596,"open":12929.7},{"amount":1.386,"high":13003.2,"vol":1386,"low":12786.0,"count":121,"id":1603414800,"close":12898.3,"tradeTurnover":17904.8902,"open":12921.7},{"amount":1.416,"high":13054.0,"vol":1416,"low":12800.7,"count":122,"id":1603418400,"close":12975.1,"tradeTurnover":18306.6204,"open":12951.6},{"amount":1.19,"high":13030.7,"vol":1190,"low":12875.0,"count":118,"id":1603422000,"close":12947.0,"tradeTurnover":15409.7984,"open":12967.3},{"amount":1.022,"high":13047.3,"vol":1022,"low":12832.8,"count":127,"id":1603425600,"close":12852.0,"tradeTurnover":13214.4388,"open":12925.2},{"amount":0.478,"high":12991.7,"vol":478,"low":12841.2,"count":118,"id":1603429200,"close":12931.1,"tradeTurnover":6180.2486,"open":12859.0},{"amount":0.522,"high":13014.1,"vol":522,"low":12871.9,"count":132,"id":1603432800,"close":12939.6,"tradeTurnover":6759.0324,"open":12935.9},{"amount":0.476,"high":12998.9,"vol":476,"low":12917.1,"count":118,"id":1603436400,"close":12925.4,"tradeTurnover":6163.3118,"open":12923.1},{"amount":0.508,"high":13014.0,"vol":508,"low":12916.1,"count":122,"id":1603440000,"close":12962.6,"tradeTurnover":6585.3656,"open":12942.2},{"amount":0.564,"high":13012.5,"vol":564,"low":12909.9,"count":124,"id":1603443600,"close":12926.4,"tradeTurnover":7308.8828,"open":12970.5},{"amount":0.536,"high":13059.5,"vol":536,"low":12925.7,"count":124,"id":1603447200,"close":13007.7,"tradeTurnover":6957.8796,"open":13001.2},{"amount":0.486,"high":13078.4,"vol":486,"low":12906.5,"count":122,"id":1603450800,"close":12970.6,"tradeTurnover":6326.1434,"open":13025.4},{"amount":0.494,"high":13025.0,"vol":494,"low":12850.8,"count":117,"id":1603454400,"close":12935.4,"tradeTurnover":6396.0984,"open":12963.9},{"amount":0.466,"high":13043.3,"vol":466,"low":12911.0,"count":117,"id":1603458000,"close":12951.7,"tradeTurnover":6049.1412,"open":12913.3},{"amount":0.46,"high":13006.4,"vol":460,"low":12840.4,"count":116,"id":1603461600,"close":12858.8,"tradeTurnover":5941.815,"open":12999.6},{"amount":0.492,"high":12932.9,"vol":492,"low":12826.5,"count":117,"id":1603465200,"close":12881.9,"tradeTurnover":6340.214,"open":12885.7},{"amount":0.484,"high":12933.5,"vol":484,"low":12744.4,"count":123,"id":1603468800,"close":12784.1,"tradeTurnover":6205.4138,"open":12854.4},{"amount":0.562,"high":12893.1,"vol":562,"low":12730.1,"count":152,"id":1603472400,"close":12847.7,"tradeTurnover":7218.9184,"open":12832.3},{"amount":0.53,"high":12939.3,"vol":530,"low":12751.4,"count":128,"id":1603476000,"close":12915.7,"tradeTurnover":6825.7004,"open":12874.1},{"amount":0.444,"high":12972.9,"vol":444,"low":12786.6,"count":117,"id":1603479600,"close":12972.9,"tradeTurnover":5727.7452,"open":12867.9},{"amount":0.492,"high":13002.2,"vol":492,"low":12842.9,"count":116,"id":1603483200,"close":12991.6,"tradeTurnover":6375.1566,"open":12956.7},{"amount":0.5,"high":13004.3,"vol":500,"low":12936.6,"count":125,"id":1603486800,"close":12943.5,"tradeTurnover":6485.468,"open":13004.3},{"amount":0.492,"high":13010.3,"vol":492,"low":12884.7,"count":120,"id":1603490400,"close":12989.2,"tradeTurnover":6376.1492,"open":12923.6},{"amount":0.51,"high":13024.4,"vol":510,"low":12884.6,"count":121,"id":1603494000,"close":12884.6,"tradeTurnover":6622.3406,"open":12974.9},{"amount":0.488,"high":13018.3,"vol":488,"low":12811.1,"count":120,"id":1603497600,"close":12953.9,"tradeTurnover":6317.7938,"open":12973.7},{"amount":0.482,"high":13018.1,"vol":482,"low":12872.8,"count":117,"id":1603501200,"close":12934.2,"tradeTurnover":6242.4178,"open":12927.5},{"amount":0.484,"high":13003.9,"vol":484,"low":12903.3,"count":117,"id":1603504800,"close":12989.1,"tradeTurnover":6278.1756,"open":12971.9},{"amount":0.474,"high":13013.4,"vol":474,"low":12938.3,"count":122,"id":1603508400,"close":12975.9,"tradeTurnover":6157.7096,"open":13000.1},{"amount":0.526,"high":13009.4,"vol":526,"low":12905.5,"count":124,"id":1603512000,"close":12963.3,"tradeTurnover":6831.5658,"open":12989.7},{"amount":0.522,"high":13041.8,"vol":522,"low":12875.3,"count":127,"id":1603515600,"close":12989.7,"tradeTurnover":6768.8994,"open":12910.5},{"amount":0.49,"high":13058.1,"vol":490,"low":12908.8,"count":120,"id":1603519200,"close":13003.6,"tradeTurnover":6370.5714,"open":12994.7},{"amount":0.478,"high":13037.8,"vol":478,"low":12981.7,"count":120,"id":1603522800,"close":13004.2,"tradeTurnover":6218.9722,"open":13011.9},{"amount":0.52,"high":13030.6,"vol":520,"low":12899.4,"count":124,"id":1603526400,"close":12998.2,"tradeTurnover":6754.958,"open":13003.0},{"amount":0.454,"high":13020.3,"vol":454,"low":12893.6,"count":115,"id":1603530000,"close":12990.6,"tradeTurnover":5891.0574,"open":12998.2},{"amount":0.502,"high":13059.1,"vol":502,"low":12913.2,"count":124,"id":1603533600,"close":13030.1,"tradeTurnover":6525.9004,"open":12996.4},{"amount":0.468,"high":13068.3,"vol":468,"low":12940.2,"count":119,"id":1603537200,"close":13033.2,"tradeTurnover":6091.0376,"open":12988.4},{"amount":0.468,"high":13071.8,"vol":468,"low":12978.9,"count":123,"id":1603540800,"close":13006.5,"tradeTurnover":6102.5902,"open":13035.3},{"amount":0.534,"high":13066.7,"vol":534,"low":12928.1,"count":123,"id":1603544400,"close":12985.9,"tradeTurnover":6950.4268,"open":13038.8},{"amount":0.47,"high":13100.1,"vol":470,"low":12960.5,"count":100,"id":1603548000,"close":13042.0,"tradeTurnover":6124.2178,"open":12986.3},{"amount":0.456,"high":13196.5,"vol":456,"low":13038.4,"count":120,"id":1603551600,"close":13102.2,"tradeTurnover":5989.6362,"open":13038.4},{"amount":0.458,"high":13176.6,"vol":458,"low":12984.6,"count":121,"id":1603555200,"close":13052.7,"tradeTurnover":5976.331,"open":13136.8},{"amount":0.452,"high":13177.8,"vol":452,"low":13003.2,"count":118,"id":1603558800,"close":13177.8,"tradeTurnover":5911.7058,"open":13006.2},{"amount":0.468,"high":13170.7,"vol":468,"low":13023.0,"count":119,"id":1603562400,"close":13080.8,"tradeTurnover":6122.375,"open":13127.7},{"amount":0.468,"high":13179.3,"vol":468,"low":13014.2,"count":120,"id":1603566000,"close":13148.4,"tradeTurnover":6126.4278,"open":13040.7},{"amount":0.47,"high":13179.6,"vol":470,"low":12992.5,"count":119,"id":1603569600,"close":13090.1,"tradeTurnover":6151.4758,"open":13073.5},{"amount":0.458,"high":13148.7,"vol":458,"low":12980.7,"count":117,"id":1603573200,"close":12993.9,"tradeTurnover":5981.071,"open":13035.4},{"amount":0.478,"high":13112.1,"vol":478,"low":12975.6,"count":118,"id":1603576800,"close":13041.1,"tradeTurnover":6225.4216,"open":13040.7},{"amount":0.472,"high":13184.3,"vol":472,"low":13009.3,"count":118,"id":1603580400,"close":13184.3,"tradeTurnover":6173.4244,"open":13012.6},{"amount":0.46,"high":13170.4,"vol":460,"low":13007.7,"count":115,"id":1603584000,"close":13154.3,"tradeTurnover":6024.09,"open":13080.8},{"amount":0.398,"high":13196.8,"vol":398,"low":13024.0,"count":102,"id":1603587600,"close":13196.1,"tradeTurnover":5217.5364,"open":13092.0},{"amount":0.476,"high":13175.1,"vol":476,"low":13035.0,"count":120,"id":1603591200,"close":13082.4,"tradeTurnover":6228.6596,"open":13124.7},{"amount":0.578,"high":13383.8,"vol":578,"low":13049.1,"count":137,"id":1603594800,"close":13259.0,"tradeTurnover":7629.3886,"open":13049.1},{"amount":0.47,"high":13369.0,"vol":470,"low":13216.0,"count":122,"id":1603598400,"close":13243.4,"tradeTurnover":6247.955,"open":13277.0},{"amount":0.61,"high":13353.3,"vol":610,"low":13010.1,"count":134,"id":1603602000,"close":13017.3,"tradeTurnover":8048.8598,"open":13285.3},{"amount":0.486,"high":13105.7,"vol":486,"low":13018.2,"count":118,"id":1603605600,"close":13060.3,"tradeTurnover":6344.1474,"open":13022.5},{"amount":0.464,"high":13112.1,"vol":464,"low":13022.0,"count":120,"id":1603609200,"close":13078.1,"tradeTurnover":6061.5416,"open":13048.5},{"amount":0.464,"high":13091.0,"vol":464,"low":13017.2,"count":120,"id":1603612800,"close":13046.0,"tradeTurnover":6055.3734,"open":13077.2},{"amount":0.478,"high":13084.0,"vol":478,"low":13014.2,"count":117,"id":1603616400,"close":13040.8,"tradeTurnover":6235.7882,"open":13065.1},{"amount":0.478,"high":13064.2,"vol":478,"low":13010.2,"count":125,"id":1603620000,"close":13028.5,"tradeTurnover":6232.2428,"open":13047.1},{"amount":0.534,"high":13061.5,"vol":534,"low":12852.9,"count":123,"id":1603623600,"close":12897.6,"tradeTurnover":6918.1226,"open":13061.5},{"amount":0.444,"high":13069.7,"vol":444,"low":12893.2,"count":117,"id":1603627200,"close":12964.3,"tradeTurnover":5755.8712,"open":12908.3},{"amount":0.498,"high":13071.9,"vol":498,"low":12891.8,"count":119,"id":1603630800,"close":12949.3,"tradeTurnover":6465.078,"open":13001.3},{"amount":0.468,"high":13077.7,"vol":468,"low":12900.0,"count":116,"id":1603634400,"close":12946.8,"tradeTurnover":6075.4554,"open":12975.8},{"amount":0.47,"high":13069.1,"vol":470,"low":12883.3,"count":119,"id":1603638000,"close":12883.3,"tradeTurnover":6097.1072,"open":12975.2},{"amount":0.482,"high":13067.9,"vol":482,"low":12877.5,"count":118,"id":1603641600,"close":12978.7,"tradeTurnover":6256.4472,"open":12916.2},{"amount":0.47,"high":13087.5,"vol":470,"low":12922.7,"count":117,"id":1603645200,"close":13004.4,"tradeTurnover":6108.3892,"open":13008.0},{"amount":0.468,"high":13067.6,"vol":468,"low":12893.6,"count":118,"id":1603648800,"close":12957.2,"tradeTurnover":6079.1484,"open":12972.8},{"amount":0.442,"high":13066.9,"vol":442,"low":12916.6,"count":118,"id":1603652400,"close":13021.8,"tradeTurnover":5746.5548,"open":12996.5},{"amount":0.508,"high":13081.5,"vol":508,"low":12944.9,"count":120,"id":1603656000,"close":12985.4,"tradeTurnover":6616.9872,"open":12992.9},{"amount":0.508,"high":13068.6,"vol":508,"low":12921.4,"count":122,"id":1603659600,"close":13011.2,"tradeTurnover":6614.816,"open":12999.9},{"amount":0.486,"high":13073.8,"vol":486,"low":12911.9,"count":121,"id":1603663200,"close":12959.4,"tradeTurnover":6320.907,"open":12979.6},{"amount":0.452,"high":13085.2,"vol":452,"low":12927.8,"count":113,"id":1603666800,"close":13032.1,"tradeTurnover":5878.6442,"open":12963.4},{"amount":0.482,"high":13076.7,"vol":482,"low":12918.3,"count":121,"id":1603670400,"close":13001.0,"tradeTurnover":6263.698,"open":12964.2},{"amount":0.478,"high":13096.4,"vol":478,"low":12991.2,"count":124,"id":1603674000,"close":13053.7,"tradeTurnover":6232.2328,"open":13040.0},{"amount":0.488,"high":13185.7,"vol":488,"low":12985.1,"count":121,"id":1603677600,"close":13064.4,"tradeTurnover":6387.534,"open":13060.6},{"amount":0.486,"high":13187.2,"vol":486,"low":12984.1,"count":135,"id":1603681200,"close":13092.8,"tradeTurnover":6369.0272,"open":13032.3},{"amount":0.51,"high":13181.6,"vol":510,"low":12962.3,"count":131,"id":1603684800,"close":13132.6,"tradeTurnover":6679.829,"open":13092.0},{"amount":0.506,"high":13205.3,"vol":506,"low":13025.3,"count":126,"id":1603688400,"close":13092.1,"tradeTurnover":6641.2128,"open":13129.2},{"amount":1.616,"high":13188.1,"vol":1616,"low":12989.8,"count":141,"id":1603692000,"close":13071.4,"tradeTurnover":21170.8224,"open":13121.8},{"amount":3.746,"high":13100.0,"vol":3746,"low":12965.2,"count":110,"id":1603695600,"close":13038.7,"tradeTurnover":48924.8902,"open":13061.0},{"amount":8.966,"high":13102.0,"vol":8966,"low":12852.8,"count":173,"id":1603699200,"close":13039.3,"tradeTurnover":116525.5534,"open":13030.9},{"amount":4.48,"high":13088.4,"vol":4480,"low":13039.8,"count":124,"id":1603702800,"close":13075.9,"tradeTurnover":58521.1714,"open":13047.1},{"amount":4.272,"high":13100.0,"vol":4272,"low":13060.2,"count":130,"id":1603706400,"close":13100.0,"tradeTurnover":55895.9778,"open":13072.1},{"amount":29.798,"high":13159.0,"vol":29798,"low":13100.0,"count":230,"id":1603710000,"close":13138.4,"tradeTurnover":391138.024,"open":13100.0},{"amount":5.154,"high":13200.0,"vol":5154,"low":13100.0,"count":188,"id":1603713600,"close":13149.8,"tradeTurnover":67694.652,"open":13138.8},{"amount":35.608,"high":13351.5,"vol":35608,"low":13133.1,"count":328,"id":1603717200,"close":13205.8,"tradeTurnover":472780.3394,"open":13150.0},{"amount":31.748,"high":13280.0,"vol":31748,"low":13144.1,"count":235,"id":1603720800,"close":13166.1,"tradeTurnover":418744.5588,"open":13203.0},{"amount":36.53,"high":13165.2,"vol":36530,"low":12903.8,"count":384,"id":1603724400,"close":12978.0,"tradeTurnover":476940.3296,"open":13159.0},{"amount":35.018,"high":13069.8,"vol":35018,"low":12850.5,"count":323,"id":1603728000,"close":12869.6,"tradeTurnover":453288.918,"open":12965.0},{"amount":92.628,"high":12941.5,"vol":92628,"low":12583.9,"count":560,"id":1603731600,"close":12873.8,"tradeTurnover":1185973.467,"open":12879.2},{"amount":4.302,"high":12954.5,"vol":4302,"low":12820.4,"count":128,"id":1603735200,"close":12946.8,"tradeTurnover":55481.0054,"open":12856.2},{"amount":13.83,"high":12953.5,"vol":13830,"low":12914.1,"count":118,"id":1603738800,"close":12953.4,"tradeTurnover":179112.1598,"open":12945.6},{"amount":17.172,"high":13007.5,"vol":17172,"low":12953.5,"count":132,"id":1603742400,"close":12983.4,"tradeTurnover":223230.2122,"open":12953.5},{"amount":3.212,"high":13007.5,"vol":3212,"low":12982.7,"count":59,"id":1603746000,"close":12993.8,"tradeTurnover":41767.8906,"open":12983.1},{"amount":1.504,"high":13007.5,"vol":1504,"low":12974.0,"count":74,"id":1603749600,"close":13007.5,"tradeTurnover":19543.3568,"open":13002.1},{"amount":3.454,"high":13061.2,"vol":3454,"low":13007.5,"count":101,"id":1603753200,"close":13033.7,"tradeTurnover":45001.601,"open":13007.5},{"amount":8.784,"high":13105.0,"vol":8784,"low":13028.3,"count":98,"id":1603756800,"close":13067.1,"tradeTurnover":114871.8246,"open":13029.2},{"amount":11.592,"high":13074.4,"vol":11592,"low":13051.5,"count":66,"id":1603760400,"close":13061.7,"tradeTurnover":151386.9038,"open":13074.3},{"amount":19.298,"high":13097.6,"vol":19298,"low":13040.1,"count":109,"id":1603764000,"close":13049.7,"tradeTurnover":252061.019,"open":13061.7},{"amount":22.992,"high":13080.0,"vol":22992,"low":13057.1,"count":69,"id":1603767600,"close":13070.4,"tradeTurnover":300453.9788,"open":13057.6},{"amount":14.396,"high":13175.0,"vol":14396,"low":13079.6,"count":59,"id":1603771200,"close":13103.3,"tradeTurnover":188461.9156,"open":13080.0},{"amount":5.058,"high":13121.3,"vol":5058,"low":13069.7,"count":44,"id":1603774800,"close":13073.6,"tradeTurnover":66201.3552,"open":13121.3},{"amount":9.106,"high":13149.0,"vol":9106,"low":13069.6,"count":107,"id":1603778400,"close":13103.4,"tradeTurnover":119104.8906,"open":13074.9},{"amount":73.95,"high":13169.8,"vol":73950,"low":12992.4,"count":305,"id":1603782000,"close":13130.0,"tradeTurnover":968195.155,"open":13103.3},{"amount":18.732,"high":13148.4,"vol":18732,"low":13044.0,"count":135,"id":1603785600,"close":13123.8,"tradeTurnover":245533.5448,"open":13135.1},{"amount":13.756,"high":13131.8,"vol":13756,"low":13075.7,"count":102,"id":1603789200,"close":13131.7,"tradeTurnover":180253.7708,"open":13115.5},{"amount":154.108,"high":13252.0,"vol":154108,"low":13063.4,"count":525,"id":1603792800,"close":13216.9,"tradeTurnover":2029983.656,"open":13134.8},{"amount":170.09,"high":13590.1,"vol":170090,"low":13213.5,"count":591,"id":1603796400,"close":13395.8,"tradeTurnover":2276279.742,"open":13218.8},{"amount":48.928,"high":13414.0,"vol":48928,"low":13331.7,"count":216,"id":1603800000,"close":13376.9,"tradeTurnover":654585.9108,"open":13395.9},{"amount":63.294,"high":13490.9,"vol":63294,"low":13329.8,"count":316,"id":1603803600,"close":13384.3,"tradeTurnover":848130.9212,"open":13376.5},{"amount":12.892,"high":13415.8,"vol":12892,"low":13344.8,"count":124,"id":1603807200,"close":13398.2,"tradeTurnover":172618.6864,"open":13392.6},{"amount":93.22,"high":13626.7,"vol":93220,"low":13398.2,"count":476,"id":1603810800,"close":13598.5,"tradeTurnover":1262695.5466,"open":13398.2},{"amount":85.45,"high":13639.9,"vol":85450,"low":13520.2,"count":435,"id":1603814400,"close":13639.9,"tradeTurnover":1161481.4136,"open":13595.8},{"amount":191.812,"high":13826.7,"vol":191812,"low":13589.0,"count":711,"id":1603818000,"close":13688.1,"tradeTurnover":2628428.3788,"open":13640.0},{"amount":65.434,"high":13745.0,"vol":65434,"low":13528.2,"count":410,"id":1603821600,"close":13630.1,"tradeTurnover":891541.8394,"open":13685.0},{"amount":5.788,"high":13659.8,"vol":5788,"low":13595.4,"count":65,"id":1603825200,"close":13637.1,"tradeTurnover":78836.2578,"open":13629.4},{"amount":163.104,"high":13805.1,"vol":163104,"low":13582.6,"count":537,"id":1603828800,"close":13616.6,"tradeTurnover":2234040.3544,"open":13644.4},{"amount":9.884,"high":13753.5,"vol":9884,"low":13609.8,"count":101,"id":1603832400,"close":13705.5,"tradeTurnover":135406.4752,"open":13609.8},{"amount":7.436,"high":13739.9,"vol":7436,"low":13658.2,"count":100,"id":1603836000,"close":13739.9,"tradeTurnover":101840.3508,"open":13705.4},{"amount":17.086,"high":13794.6,"vol":17086,"low":13582.6,"count":234,"id":1603839600,"close":13649.6,"tradeTurnover":233971.8448,"open":13739.9},{"amount":24.108,"high":13745.2,"vol":24108,"low":13618.8,"count":177,"id":1603843200,"close":13701.7,"tradeTurnover":330206.5694,"open":13645.9},{"amount":15.892,"high":13725.6,"vol":15892,"low":13647.9,"count":151,"id":1603846800,"close":13702.6,"tradeTurnover":217816.7008,"open":13702.1},{"amount":46.548,"high":13832.2,"vol":46548,"low":13680.2,"count":274,"id":1603850400,"close":13811.6,"tradeTurnover":640636.0352,"open":13701.7},{"amount":67.896,"high":13820.3,"vol":67896,"low":13717.5,"count":320,"id":1603854000,"close":13777.0,"tradeTurnover":935838.2238,"open":13818.5},{"amount":33.156,"high":13807.2,"vol":33156,"low":13710.0,"count":210,"id":1603857600,"close":13735.7,"tradeTurnover":455941.234,"open":13767.3},{"amount":32.076,"high":13753.9,"vol":32076,"low":13671.3,"count":198,"id":1603861200,"close":13715.8,"tradeTurnover":439612.64,"open":13735.5},{"amount":14.756,"high":13757.0,"vol":14756,"low":13694.9,"count":122,"id":1603864800,"close":13701.3,"tradeTurnover":202602.5164,"open":13715.9},{"amount":155.534,"high":13708.7,"vol":155534,"low":13550.0,"count":635,"id":1603868400,"close":13674.2,"tradeTurnover":2117935.0928,"open":13701.2},{"amount":29.846,"high":13691.7,"vol":29846,"low":13584.0,"count":240,"id":1603872000,"close":13691.7,"tradeTurnover":407073.1398,"open":13673.0},{"amount":104.542,"high":13707.5,"vol":104542,"low":13573.5,"count":377,"id":1603875600,"close":13587.1,"tradeTurnover":1425079.9344,"open":13689.3},{"amount":73.818,"high":13618.0,"vol":73818,"low":13504.7,"count":358,"id":1603879200,"close":13552.7,"tradeTurnover":1001666.0908,"open":13584.6},{"amount":176.544,"high":13565.4,"vol":176544,"low":13330.0,"count":1004,"id":1603882800,"close":13336.4,"tradeTurnover":2369166.1492,"open":13552.6},{"amount":289.73,"high":13385.0,"vol":289730,"low":13173.9,"count":968,"id":1603886400,"close":13300.3,"tradeTurnover":3846751.7166,"open":13331.5},{"amount":139.822,"high":13340.0,"vol":139822,"low":13122.9,"count":612,"id":1603890000,"close":13129.9,"tradeTurnover":1848876.932,"open":13300.2},{"amount":367.876,"high":13168.2,"vol":367876,"low":12915.9,"count":1168,"id":1603893600,"close":13082.2,"tradeTurnover":4802516.9818,"open":13123.4},{"amount":84.044,"high":13235.2,"vol":84044,"low":13052.3,"count":375,"id":1603897200,"close":13221.2,"tradeTurnover":1106883.1282,"open":13077.1},{"amount":29.566,"high":13218.7,"vol":29566,"low":13050.0,"count":244,"id":1603900800,"close":13145.1,"tradeTurnover":388697.4104,"open":13218.7},{"amount":53.336,"high":13204.9,"vol":53336,"low":13006.6,"count":299,"id":1603904400,"close":13176.7,"tradeTurnover":700385.2784,"open":13145.1},{"amount":34.164,"high":13219.6,"vol":34164,"low":13131.0,"count":218,"id":1603908000,"close":13196.5,"tradeTurnover":450210.5778,"open":13171.0},{"amount":22.158,"high":13237.4,"vol":22158,"low":13145.0,"count":185,"id":1603911600,"close":13154.9,"tradeTurnover":292020.0438,"open":13200.0},{"amount":4.548,"high":13211.8,"vol":4548,"low":13147.4,"count":75,"id":1603915200,"close":13198.1,"tradeTurnover":59991.1118,"open":13154.5},{"amount":3.52,"high":13196.5,"vol":3520,"low":13100.2,"count":68,"id":1603918800,"close":13190.1,"tradeTurnover":46175.428,"open":13193.5},{"amount":3.122,"high":13267.5,"vol":3122,"low":13185.4,"count":72,"id":1603922400,"close":13252.0,"tradeTurnover":41304.2018,"open":13185.4},{"amount":14.768,"high":13282.3,"vol":14768,"low":13235.9,"count":86,"id":1603926000,"close":13265.9,"tradeTurnover":195689.0764,"open":13242.1},{"amount":19.968,"high":13294.7,"vol":19968,"low":13237.4,"count":98,"id":1603929600,"close":13245.1,"tradeTurnover":264834.1944,"open":13253.9},{"amount":35.282,"high":13285.3,"vol":35282,"low":13166.3,"count":192,"id":1603933200,"close":13274.2,"tradeTurnover":465789.6302,"open":13244.6},{"amount":9.748,"high":13277.7,"vol":9748,"low":13212.2,"count":119,"id":1603936800,"close":13241.1,"tradeTurnover":129016.0684,"open":13275.9},{"amount":27.3,"high":13262.5,"vol":27300,"low":13174.6,"count":199,"id":1603940400,"close":13262.5,"tradeTurnover":360589.8982,"open":13237.1},{"amount":18.904,"high":13277.7,"vol":18904,"low":13229.5,"count":109,"id":1603944000,"close":13229.5,"tradeTurnover":250713.2812,"open":13269.1},{"amount":15.822,"high":13274.8,"vol":15822,"low":13228.5,"count":134,"id":1603947600,"close":13274.8,"tradeTurnover":209781.909,"open":13228.5},{"amount":91.246,"high":13323.0,"vol":91246,"low":13242.3,"count":294,"id":1603951200,"close":13255.0,"tradeTurnover":1211271.2788,"open":13274.8},{"amount":187.622,"high":13269.3,"vol":187622,"low":13123.1,"count":506,"id":1603954800,"close":13142.4,"tradeTurnover":2478299.7074,"open":13255.0},{"amount":69.532,"high":13182.4,"vol":69532,"low":13094.1,"count":226,"id":1603958400,"close":13124.8,"tradeTurnover":914157.2418,"open":13145.9},{"amount":23.184,"high":13197.1,"vol":23184,"low":13129.5,"count":141,"id":1603962000,"close":13183.7,"tradeTurnover":305485.9524,"open":13129.5},{"amount":121.146,"high":13187.5,"vol":121146,"low":13053.1,"count":442,"id":1603965600,"close":13105.2,"tradeTurnover":1590026.4416,"open":13184.8},{"amount":47.498,"high":13171.4,"vol":47498,"low":13060.1,"count":262,"id":1603969200,"close":13060.1,"tradeTurnover":623578.149,"open":13105.1},{"amount":126.552,"high":13145.8,"vol":126552,"low":12977.9,"count":481,"id":1603972800,"close":13131.8,"tradeTurnover":1652549.311,"open":13056.9},{"amount":100.482,"high":13237.2,"vol":100482,"low":13102.0,"count":325,"id":1603976400,"close":13230.0,"tradeTurnover":1326403.7206,"open":13131.7},{"amount":253.258,"high":13476.1,"vol":253258,"low":13231.0,"count":752,"id":1603980000,"close":13420.8,"tradeTurnover":3384941.438,"open":13231.0},{"amount":64.71,"high":13458.7,"vol":64710,"low":13358.7,"count":269,"id":1603983600,"close":13420.6,"tradeTurnover":869052.3804,"open":13416.0},{"amount":120.24,"high":13594.5,"vol":120240,"low":13391.8,"count":570,"id":1603987200,"close":13535.9,"tradeTurnover":1626567.8278,"open":13421.9}],"id":"","rep":"market.BTC-USDT.kline.60min","status":"ok"} +2024-01-18 11:12:49.731 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:39] - 请求 KLine 数据用户收到的原始数据:{"id":"","rep":"market.BTC-USDT.kline.60min","ts":1705547568636,"wsid":19750305,"status":"ok","data":[{"id":1603270800,"open":12198.0,"close":12196.7,"high":12300.0,"low":11715.8,"amount":0.276,"vol":276,"trade_turnover":3315.9104,"count":39},{"id":1603274400,"open":12196.7,"close":12277.9,"high":12289.9,"low":12111.0,"amount":0.198,"vol":198,"trade_turnover":2420.7728,"count":21},{"id":1603278000,"open":12111.0,"close":12000.0,"high":12277.9,"low":12000.0,"amount":0.012,"vol":12,"trade_turnover":145.2238,"count":5},{"id":1603281600,"open":12078.0,"close":12497.4,"high":12498.0,"low":12078.0,"amount":0.084,"vol":84,"trade_turnover":1040.0504,"count":12},{"id":1603285200,"open":12495.6,"close":12373.5,"high":12495.6,"low":12282.9,"amount":1.122,"vol":1122,"trade_turnover":13905.3124,"count":112},{"id":1603288800,"open":12412.9,"close":12689.9,"high":12807.6,"low":12358.1,"amount":5.29,"vol":5290,"trade_turnover":66852.128,"count":155},{"id":1603292400,"open":12692.8,"close":12701.9,"high":12778.7,"low":12573.2,"amount":1.174,"vol":1174,"trade_turnover":14907.367,"count":113},{"id":1603296000,"open":12679.7,"close":12835.9,"high":12920.9,"low":12624.8,"amount":1.156,"vol":1156,"trade_turnover":14802.449,"count":115},{"id":1603299600,"open":12848.3,"close":12754.2,"high":12908.3,"low":12687.5,"amount":1.12,"vol":1120,"trade_turnover":14345.7324,"count":115},{"id":1603303200,"open":12743.7,"close":12740.2,"high":12849.0,"low":12668.3,"amount":1.106,"vol":1106,"trade_turnover":14105.3504,"count":114},{"id":1603306800,"open":12729.5,"close":12650.3,"high":12843.1,"low":12597.2,"amount":1.032,"vol":1032,"trade_turnover":13125.4568,"count":112},{"id":1603310400,"open":12666.8,"close":12807.0,"high":12848.4,"low":12610.2,"amount":1.154,"vol":1154,"trade_turnover":14680.638,"count":116},{"id":1603314000,"open":12866.0,"close":12938.9,"high":13005.1,"low":12748.2,"amount":1.164,"vol":1164,"trade_turnover":14976.9366,"count":114},{"id":1603317600,"open":12921.0,"close":13122.0,"high":13211.2,"low":12865.7,"amount":1.174,"vol":1174,"trade_turnover":15285.2446,"count":114},{"id":1603321200,"open":13153.2,"close":12829.8,"high":13173.2,"low":12688.6,"amount":1.172,"vol":1172,"trade_turnover":15060.9938,"count":117},{"id":1603324800,"open":12793.1,"close":12885.9,"high":12988.1,"low":12764.4,"amount":1.17,"vol":1170,"trade_turnover":15046.2046,"count":117},{"id":1603328400,"open":12860.4,"close":12757.5,"high":12972.6,"low":12757.5,"amount":1.158,"vol":1158,"trade_turnover":14882.4656,"count":118},{"id":1603332000,"open":12824.1,"close":12788.8,"high":12848.0,"low":12729.0,"amount":1.124,"vol":1124,"trade_turnover":14368.7948,"count":115},{"id":1603335600,"open":12791.7,"close":12767.2,"high":12834.4,"low":12729.0,"amount":1.194,"vol":1194,"trade_turnover":15268.9298,"count":111},{"id":1603339200,"open":12729.0,"close":12762.2,"high":12778.3,"low":12729.0,"amount":1.152,"vol":1152,"trade_turnover":14695.4876,"count":115},{"id":1603342800,"open":12763.1,"close":12813.8,"high":12842.0,"low":12730.6,"amount":1.21,"vol":1210,"trade_turnover":15440.8162,"count":119},{"id":1603346400,"open":12795.0,"close":12729.1,"high":12795.0,"low":12728.0,"amount":1.188,"vol":1188,"trade_turnover":15128.0098,"count":123},{"id":1603350000,"open":12728.6,"close":12730.6,"high":12730.6,"low":12728.3,"amount":1.266,"vol":1266,"trade_turnover":16115.1306,"count":112},{"id":1603353600,"open":12730.3,"close":12770.1,"high":12921.5,"low":12729.9,"amount":1.35,"vol":1350,"trade_turnover":17233.7326,"count":127},{"id":1603357200,"open":12824.9,"close":12780.4,"high":12872.1,"low":12760.1,"amount":0.98,"vol":980,"trade_turnover":12553.9826,"count":99},{"id":1603360800,"open":12784.9,"close":12934.2,"high":13002.7,"low":12775.6,"amount":0.266,"vol":266,"trade_turnover":3415.023,"count":30},{"id":1603364400,"open":12977.0,"close":13045.0,"high":13057.0,"low":12886.6,"amount":1.004,"vol":1004,"trade_turnover":13020.8576,"count":117},{"id":1603368000,"open":12958.5,"close":12847.9,"high":12973.4,"low":12751.6,"amount":1.134,"vol":1134,"trade_turnover":14594.2752,"count":111},{"id":1603371600,"open":12882.7,"close":12931.0,"high":13000.8,"low":12743.0,"amount":1.152,"vol":1152,"trade_turnover":14877.7314,"count":114},{"id":1603375200,"open":12890.4,"close":12917.8,"high":12995.3,"low":12783.9,"amount":1.182,"vol":1182,"trade_turnover":15224.4716,"count":115},{"id":1603378800,"open":12918.8,"close":12953.0,"high":13031.2,"low":12817.9,"amount":1.176,"vol":1176,"trade_turnover":15197.208,"count":117},{"id":1603382400,"open":12923.1,"close":13055.6,"high":13100.2,"low":12865.6,"amount":1.146,"vol":1146,"trade_turnover":14851.9604,"count":119},{"id":1603386000,"open":12967.6,"close":13082.7,"high":13105.7,"low":12835.5,"amount":1.534,"vol":1534,"trade_turnover":19927.8288,"count":124},{"id":1603389600,"open":13020.4,"close":13016.4,"high":13115.0,"low":12938.7,"amount":1.268,"vol":1268,"trade_turnover":16505.4738,"count":117},{"id":1603393200,"open":13028.3,"close":12970.6,"high":13171.2,"low":12961.8,"amount":1.13,"vol":1130,"trade_turnover":14762.952,"count":112},{"id":1603396800,"open":13016.7,"close":13089.3,"high":13216.1,"low":12998.5,"amount":1.206,"vol":1206,"trade_turnover":15807.1226,"count":117},{"id":1603400400,"open":13136.0,"close":13092.0,"high":13203.7,"low":12932.9,"amount":1.332,"vol":1332,"trade_turnover":17423.4422,"count":114},{"id":1603404000,"open":13119.4,"close":13055.9,"high":13250.5,"low":12984.7,"amount":1.21,"vol":1210,"trade_turnover":15876.0632,"count":114},{"id":1603407600,"open":13059.4,"close":12890.4,"high":13126.5,"low":12857.2,"amount":1.286,"vol":1286,"trade_turnover":16688.422,"count":116},{"id":1603411200,"open":12929.7,"close":12892.2,"high":12994.0,"low":12751.6,"amount":1.502,"vol":1502,"trade_turnover":19331.1596,"count":131},{"id":1603414800,"open":12921.7,"close":12898.3,"high":13003.2,"low":12786.0,"amount":1.386,"vol":1386,"trade_turnover":17904.8902,"count":121},{"id":1603418400,"open":12951.6,"close":12975.1,"high":13054.0,"low":12800.7,"amount":1.416,"vol":1416,"trade_turnover":18306.6204,"count":122},{"id":1603422000,"open":12967.3,"close":12947.0,"high":13030.7,"low":12875.0,"amount":1.19,"vol":1190,"trade_turnover":15409.7984,"count":118},{"id":1603425600,"open":12925.2,"close":12852.0,"high":13047.3,"low":12832.8,"amount":1.022,"vol":1022,"trade_turnover":13214.4388,"count":127},{"id":1603429200,"open":12859.0,"close":12931.1,"high":12991.7,"low":12841.2,"amount":0.478,"vol":478,"trade_turnover":6180.2486,"count":118},{"id":1603432800,"open":12935.9,"close":12939.6,"high":13014.1,"low":12871.9,"amount":0.522,"vol":522,"trade_turnover":6759.0324,"count":132},{"id":1603436400,"open":12923.1,"close":12925.4,"high":12998.9,"low":12917.1,"amount":0.476,"vol":476,"trade_turnover":6163.3118,"count":118},{"id":1603440000,"open":12942.2,"close":12962.6,"high":13014.0,"low":12916.1,"amount":0.508,"vol":508,"trade_turnover":6585.3656,"count":122},{"id":1603443600,"open":12970.5,"close":12926.4,"high":13012.5,"low":12909.9,"amount":0.564,"vol":564,"trade_turnover":7308.8828,"count":124},{"id":1603447200,"open":13001.2,"close":13007.7,"high":13059.5,"low":12925.7,"amount":0.536,"vol":536,"trade_turnover":6957.8796,"count":124},{"id":1603450800,"open":13025.4,"close":12970.6,"high":13078.4,"low":12906.5,"amount":0.486,"vol":486,"trade_turnover":6326.1434,"count":122},{"id":1603454400,"open":12963.9,"close":12935.4,"high":13025.0,"low":12850.8,"amount":0.494,"vol":494,"trade_turnover":6396.0984,"count":117},{"id":1603458000,"open":12913.3,"close":12951.7,"high":13043.3,"low":12911.0,"amount":0.466,"vol":466,"trade_turnover":6049.1412,"count":117},{"id":1603461600,"open":12999.6,"close":12858.8,"high":13006.4,"low":12840.4,"amount":0.46,"vol":460,"trade_turnover":5941.815,"count":116},{"id":1603465200,"open":12885.7,"close":12881.9,"high":12932.9,"low":12826.5,"amount":0.492,"vol":492,"trade_turnover":6340.214,"count":117},{"id":1603468800,"open":12854.4,"close":12784.1,"high":12933.5,"low":12744.4,"amount":0.484,"vol":484,"trade_turnover":6205.4138,"count":123},{"id":1603472400,"open":12832.3,"close":12847.7,"high":12893.1,"low":12730.1,"amount":0.562,"vol":562,"trade_turnover":7218.9184,"count":152},{"id":1603476000,"open":12874.1,"close":12915.7,"high":12939.3,"low":12751.4,"amount":0.53,"vol":530,"trade_turnover":6825.7004,"count":128},{"id":1603479600,"open":12867.9,"close":12972.9,"high":12972.9,"low":12786.6,"amount":0.444,"vol":444,"trade_turnover":5727.7452,"count":117},{"id":1603483200,"open":12956.7,"close":12991.6,"high":13002.2,"low":12842.9,"amount":0.492,"vol":492,"trade_turnover":6375.1566,"count":116},{"id":1603486800,"open":13004.3,"close":12943.5,"high":13004.3,"low":12936.6,"amount":0.5,"vol":500,"trade_turnover":6485.468,"count":125},{"id":1603490400,"open":12923.6,"close":12989.2,"high":13010.3,"low":12884.7,"amount":0.492,"vol":492,"trade_turnover":6376.1492,"count":120},{"id":1603494000,"open":12974.9,"close":12884.6,"high":13024.4,"low":12884.6,"amount":0.51,"vol":510,"trade_turnover":6622.3406,"count":121},{"id":1603497600,"open":12973.7,"close":12953.9,"high":13018.3,"low":12811.1,"amount":0.488,"vol":488,"trade_turnover":6317.7938,"count":120},{"id":1603501200,"open":12927.5,"close":12934.2,"high":13018.1,"low":12872.8,"amount":0.482,"vol":482,"trade_turnover":6242.4178,"count":117},{"id":1603504800,"open":12971.9,"close":12989.1,"high":13003.9,"low":12903.3,"amount":0.484,"vol":484,"trade_turnover":6278.1756,"count":117},{"id":1603508400,"open":13000.1,"close":12975.9,"high":13013.4,"low":12938.3,"amount":0.474,"vol":474,"trade_turnover":6157.7096,"count":122},{"id":1603512000,"open":12989.7,"close":12963.3,"high":13009.4,"low":12905.5,"amount":0.526,"vol":526,"trade_turnover":6831.5658,"count":124},{"id":1603515600,"open":12910.5,"close":12989.7,"high":13041.8,"low":12875.3,"amount":0.522,"vol":522,"trade_turnover":6768.8994,"count":127},{"id":1603519200,"open":12994.7,"close":13003.6,"high":13058.1,"low":12908.8,"amount":0.49,"vol":490,"trade_turnover":6370.5714,"count":120},{"id":1603522800,"open":13011.9,"close":13004.2,"high":13037.8,"low":12981.7,"amount":0.478,"vol":478,"trade_turnover":6218.9722,"count":120},{"id":1603526400,"open":13003.0,"close":12998.2,"high":13030.6,"low":12899.4,"amount":0.52,"vol":520,"trade_turnover":6754.958,"count":124},{"id":1603530000,"open":12998.2,"close":12990.6,"high":13020.3,"low":12893.6,"amount":0.454,"vol":454,"trade_turnover":5891.0574,"count":115},{"id":1603533600,"open":12996.4,"close":13030.1,"high":13059.1,"low":12913.2,"amount":0.502,"vol":502,"trade_turnover":6525.9004,"count":124},{"id":1603537200,"open":12988.4,"close":13033.2,"high":13068.3,"low":12940.2,"amount":0.468,"vol":468,"trade_turnover":6091.0376,"count":119},{"id":1603540800,"open":13035.3,"close":13006.5,"high":13071.8,"low":12978.9,"amount":0.468,"vol":468,"trade_turnover":6102.5902,"count":123},{"id":1603544400,"open":13038.8,"close":12985.9,"high":13066.7,"low":12928.1,"amount":0.534,"vol":534,"trade_turnover":6950.4268,"count":123},{"id":1603548000,"open":12986.3,"close":13042.0,"high":13100.1,"low":12960.5,"amount":0.47,"vol":470,"trade_turnover":6124.2178,"count":100},{"id":1603551600,"open":13038.4,"close":13102.2,"high":13196.5,"low":13038.4,"amount":0.456,"vol":456,"trade_turnover":5989.6362,"count":120},{"id":1603555200,"open":13136.8,"close":13052.7,"high":13176.6,"low":12984.6,"amount":0.458,"vol":458,"trade_turnover":5976.331,"count":121},{"id":1603558800,"open":13006.2,"close":13177.8,"high":13177.8,"low":13003.2,"amount":0.452,"vol":452,"trade_turnover":5911.7058,"count":118},{"id":1603562400,"open":13127.7,"close":13080.8,"high":13170.7,"low":13023.0,"amount":0.468,"vol":468,"trade_turnover":6122.375,"count":119},{"id":1603566000,"open":13040.7,"close":13148.4,"high":13179.3,"low":13014.2,"amount":0.468,"vol":468,"trade_turnover":6126.4278,"count":120},{"id":1603569600,"open":13073.5,"close":13090.1,"high":13179.6,"low":12992.5,"amount":0.47,"vol":470,"trade_turnover":6151.4758,"count":119},{"id":1603573200,"open":13035.4,"close":12993.9,"high":13148.7,"low":12980.7,"amount":0.458,"vol":458,"trade_turnover":5981.071,"count":117},{"id":1603576800,"open":13040.7,"close":13041.1,"high":13112.1,"low":12975.6,"amount":0.478,"vol":478,"trade_turnover":6225.4216,"count":118},{"id":1603580400,"open":13012.6,"close":13184.3,"high":13184.3,"low":13009.3,"amount":0.472,"vol":472,"trade_turnover":6173.4244,"count":118},{"id":1603584000,"open":13080.8,"close":13154.3,"high":13170.4,"low":13007.7,"amount":0.46,"vol":460,"trade_turnover":6024.09,"count":115},{"id":1603587600,"open":13092.0,"close":13196.1,"high":13196.8,"low":13024.0,"amount":0.398,"vol":398,"trade_turnover":5217.5364,"count":102},{"id":1603591200,"open":13124.7,"close":13082.4,"high":13175.1,"low":13035.0,"amount":0.476,"vol":476,"trade_turnover":6228.6596,"count":120},{"id":1603594800,"open":13049.1,"close":13259.0,"high":13383.8,"low":13049.1,"amount":0.578,"vol":578,"trade_turnover":7629.3886,"count":137},{"id":1603598400,"open":13277.0,"close":13243.4,"high":13369.0,"low":13216.0,"amount":0.47,"vol":470,"trade_turnover":6247.955,"count":122},{"id":1603602000,"open":13285.3,"close":13017.3,"high":13353.3,"low":13010.1,"amount":0.61,"vol":610,"trade_turnover":8048.8598,"count":134},{"id":1603605600,"open":13022.5,"close":13060.3,"high":13105.7,"low":13018.2,"amount":0.486,"vol":486,"trade_turnover":6344.1474,"count":118},{"id":1603609200,"open":13048.5,"close":13078.1,"high":13112.1,"low":13022.0,"amount":0.464,"vol":464,"trade_turnover":6061.5416,"count":120},{"id":1603612800,"open":13077.2,"close":13046.0,"high":13091.0,"low":13017.2,"amount":0.464,"vol":464,"trade_turnover":6055.3734,"count":120},{"id":1603616400,"open":13065.1,"close":13040.8,"high":13084.0,"low":13014.2,"amount":0.478,"vol":478,"trade_turnover":6235.7882,"count":117},{"id":1603620000,"open":13047.1,"close":13028.5,"high":13064.2,"low":13010.2,"amount":0.478,"vol":478,"trade_turnover":6232.2428,"count":125},{"id":1603623600,"open":13061.5,"close":12897.6,"high":13061.5,"low":12852.9,"amount":0.534,"vol":534,"trade_turnover":6918.1226,"count":123},{"id":1603627200,"open":12908.3,"close":12964.3,"high":13069.7,"low":12893.2,"amount":0.444,"vol":444,"trade_turnover":5755.8712,"count":117},{"id":1603630800,"open":13001.3,"close":12949.3,"high":13071.9,"low":12891.8,"amount":0.498,"vol":498,"trade_turnover":6465.078,"count":119},{"id":1603634400,"open":12975.8,"close":12946.8,"high":13077.7,"low":12900.0,"amount":0.468,"vol":468,"trade_turnover":6075.4554,"count":116},{"id":1603638000,"open":12975.2,"close":12883.3,"high":13069.1,"low":12883.3,"amount":0.47,"vol":470,"trade_turnover":6097.1072,"count":119},{"id":1603641600,"open":12916.2,"close":12978.7,"high":13067.9,"low":12877.5,"amount":0.482,"vol":482,"trade_turnover":6256.4472,"count":118},{"id":1603645200,"open":13008.0,"close":13004.4,"high":13087.5,"low":12922.7,"amount":0.47,"vol":470,"trade_turnover":6108.3892,"count":117},{"id":1603648800,"open":12972.8,"close":12957.2,"high":13067.6,"low":12893.6,"amount":0.468,"vol":468,"trade_turnover":6079.1484,"count":118},{"id":1603652400,"open":12996.5,"close":13021.8,"high":13066.9,"low":12916.6,"amount":0.442,"vol":442,"trade_turnover":5746.5548,"count":118},{"id":1603656000,"open":12992.9,"close":12985.4,"high":13081.5,"low":12944.9,"amount":0.508,"vol":508,"trade_turnover":6616.9872,"count":120},{"id":1603659600,"open":12999.9,"close":13011.2,"high":13068.6,"low":12921.4,"amount":0.508,"vol":508,"trade_turnover":6614.816,"count":122},{"id":1603663200,"open":12979.6,"close":12959.4,"high":13073.8,"low":12911.9,"amount":0.486,"vol":486,"trade_turnover":6320.907,"count":121},{"id":1603666800,"open":12963.4,"close":13032.1,"high":13085.2,"low":12927.8,"amount":0.452,"vol":452,"trade_turnover":5878.6442,"count":113},{"id":1603670400,"open":12964.2,"close":13001.0,"high":13076.7,"low":12918.3,"amount":0.482,"vol":482,"trade_turnover":6263.698,"count":121},{"id":1603674000,"open":13040.0,"close":13053.7,"high":13096.4,"low":12991.2,"amount":0.478,"vol":478,"trade_turnover":6232.2328,"count":124},{"id":1603677600,"open":13060.6,"close":13064.4,"high":13185.7,"low":12985.1,"amount":0.488,"vol":488,"trade_turnover":6387.534,"count":121},{"id":1603681200,"open":13032.3,"close":13092.8,"high":13187.2,"low":12984.1,"amount":0.486,"vol":486,"trade_turnover":6369.0272,"count":135},{"id":1603684800,"open":13092.0,"close":13132.6,"high":13181.6,"low":12962.3,"amount":0.51,"vol":510,"trade_turnover":6679.829,"count":131},{"id":1603688400,"open":13129.2,"close":13092.1,"high":13205.3,"low":13025.3,"amount":0.506,"vol":506,"trade_turnover":6641.2128,"count":126},{"id":1603692000,"open":13121.8,"close":13071.4,"high":13188.1,"low":12989.8,"amount":1.616,"vol":1616,"trade_turnover":21170.8224,"count":141},{"id":1603695600,"open":13061.0,"close":13038.7,"high":13100.0,"low":12965.2,"amount":3.746,"vol":3746,"trade_turnover":48924.8902,"count":110},{"id":1603699200,"open":13030.9,"close":13039.3,"high":13102.0,"low":12852.8,"amount":8.966,"vol":8966,"trade_turnover":116525.5534,"count":173},{"id":1603702800,"open":13047.1,"close":13075.9,"high":13088.4,"low":13039.8,"amount":4.48,"vol":4480,"trade_turnover":58521.1714,"count":124},{"id":1603706400,"open":13072.1,"close":13100.0,"high":13100.0,"low":13060.2,"amount":4.272,"vol":4272,"trade_turnover":55895.9778,"count":130},{"id":1603710000,"open":13100.0,"close":13138.4,"high":13159.0,"low":13100.0,"amount":29.798,"vol":29798,"trade_turnover":391138.024,"count":230},{"id":1603713600,"open":13138.8,"close":13149.8,"high":13200.0,"low":13100.0,"amount":5.154,"vol":5154,"trade_turnover":67694.652,"count":188},{"id":1603717200,"open":13150.0,"close":13205.8,"high":13351.5,"low":13133.1,"amount":35.608,"vol":35608,"trade_turnover":472780.3394,"count":328},{"id":1603720800,"open":13203.0,"close":13166.1,"high":13280.0,"low":13144.1,"amount":31.748,"vol":31748,"trade_turnover":418744.5588,"count":235},{"id":1603724400,"open":13159.0,"close":12978.0,"high":13165.2,"low":12903.8,"amount":36.53,"vol":36530,"trade_turnover":476940.3296,"count":384},{"id":1603728000,"open":12965.0,"close":12869.6,"high":13069.8,"low":12850.5,"amount":35.018,"vol":35018,"trade_turnover":453288.918,"count":323},{"id":1603731600,"open":12879.2,"close":12873.8,"high":12941.5,"low":12583.9,"amount":92.628,"vol":92628,"trade_turnover":1185973.467,"count":560},{"id":1603735200,"open":12856.2,"close":12946.8,"high":12954.5,"low":12820.4,"amount":4.302,"vol":4302,"trade_turnover":55481.0054,"count":128},{"id":1603738800,"open":12945.6,"close":12953.4,"high":12953.5,"low":12914.1,"amount":13.83,"vol":13830,"trade_turnover":179112.1598,"count":118},{"id":1603742400,"open":12953.5,"close":12983.4,"high":13007.5,"low":12953.5,"amount":17.172,"vol":17172,"trade_turnover":223230.2122,"count":132},{"id":1603746000,"open":12983.1,"close":12993.8,"high":13007.5,"low":12982.7,"amount":3.212,"vol":3212,"trade_turnover":41767.8906,"count":59},{"id":1603749600,"open":13002.1,"close":13007.5,"high":13007.5,"low":12974.0,"amount":1.504,"vol":1504,"trade_turnover":19543.3568,"count":74},{"id":1603753200,"open":13007.5,"close":13033.7,"high":13061.2,"low":13007.5,"amount":3.454,"vol":3454,"trade_turnover":45001.601,"count":101},{"id":1603756800,"open":13029.2,"close":13067.1,"high":13105.0,"low":13028.3,"amount":8.784,"vol":8784,"trade_turnover":114871.8246,"count":98},{"id":1603760400,"open":13074.3,"close":13061.7,"high":13074.4,"low":13051.5,"amount":11.592,"vol":11592,"trade_turnover":151386.9038,"count":66},{"id":1603764000,"open":13061.7,"close":13049.7,"high":13097.6,"low":13040.1,"amount":19.298,"vol":19298,"trade_turnover":252061.019,"count":109},{"id":1603767600,"open":13057.6,"close":13070.4,"high":13080.0,"low":13057.1,"amount":22.992,"vol":22992,"trade_turnover":300453.9788,"count":69},{"id":1603771200,"open":13080.0,"close":13103.3,"high":13175.0,"low":13079.6,"amount":14.396,"vol":14396,"trade_turnover":188461.9156,"count":59},{"id":1603774800,"open":13121.3,"close":13073.6,"high":13121.3,"low":13069.7,"amount":5.058,"vol":5058,"trade_turnover":66201.3552,"count":44},{"id":1603778400,"open":13074.9,"close":13103.4,"high":13149.0,"low":13069.6,"amount":9.106,"vol":9106,"trade_turnover":119104.8906,"count":107},{"id":1603782000,"open":13103.3,"close":13130.0,"high":13169.8,"low":12992.4,"amount":73.95,"vol":73950,"trade_turnover":968195.155,"count":305},{"id":1603785600,"open":13135.1,"close":13123.8,"high":13148.4,"low":13044.0,"amount":18.732,"vol":18732,"trade_turnover":245533.5448,"count":135},{"id":1603789200,"open":13115.5,"close":13131.7,"high":13131.8,"low":13075.7,"amount":13.756,"vol":13756,"trade_turnover":180253.7708,"count":102},{"id":1603792800,"open":13134.8,"close":13216.9,"high":13252.0,"low":13063.4,"amount":154.108,"vol":154108,"trade_turnover":2029983.656,"count":525},{"id":1603796400,"open":13218.8,"close":13395.8,"high":13590.1,"low":13213.5,"amount":170.09,"vol":170090,"trade_turnover":2276279.742,"count":591},{"id":1603800000,"open":13395.9,"close":13376.9,"high":13414.0,"low":13331.7,"amount":48.928,"vol":48928,"trade_turnover":654585.9108,"count":216},{"id":1603803600,"open":13376.5,"close":13384.3,"high":13490.9,"low":13329.8,"amount":63.294,"vol":63294,"trade_turnover":848130.9212,"count":316},{"id":1603807200,"open":13392.6,"close":13398.2,"high":13415.8,"low":13344.8,"amount":12.892,"vol":12892,"trade_turnover":172618.6864,"count":124},{"id":1603810800,"open":13398.2,"close":13598.5,"high":13626.7,"low":13398.2,"amount":93.22,"vol":93220,"trade_turnover":1262695.5466,"count":476},{"id":1603814400,"open":13595.8,"close":13639.9,"high":13639.9,"low":13520.2,"amount":85.45,"vol":85450,"trade_turnover":1161481.4136,"count":435},{"id":1603818000,"open":13640.0,"close":13688.1,"high":13826.7,"low":13589.0,"amount":191.812,"vol":191812,"trade_turnover":2628428.3788,"count":711},{"id":1603821600,"open":13685.0,"close":13630.1,"high":13745.0,"low":13528.2,"amount":65.434,"vol":65434,"trade_turnover":891541.8394,"count":410},{"id":1603825200,"open":13629.4,"close":13637.1,"high":13659.8,"low":13595.4,"amount":5.788,"vol":5788,"trade_turnover":78836.2578,"count":65},{"id":1603828800,"open":13644.4,"close":13616.6,"high":13805.1,"low":13582.6,"amount":163.104,"vol":163104,"trade_turnover":2234040.3544,"count":537},{"id":1603832400,"open":13609.8,"close":13705.5,"high":13753.5,"low":13609.8,"amount":9.884,"vol":9884,"trade_turnover":135406.4752,"count":101},{"id":1603836000,"open":13705.4,"close":13739.9,"high":13739.9,"low":13658.2,"amount":7.436,"vol":7436,"trade_turnover":101840.3508,"count":100},{"id":1603839600,"open":13739.9,"close":13649.6,"high":13794.6,"low":13582.6,"amount":17.086,"vol":17086,"trade_turnover":233971.8448,"count":234},{"id":1603843200,"open":13645.9,"close":13701.7,"high":13745.2,"low":13618.8,"amount":24.108,"vol":24108,"trade_turnover":330206.5694,"count":177},{"id":1603846800,"open":13702.1,"close":13702.6,"high":13725.6,"low":13647.9,"amount":15.892,"vol":15892,"trade_turnover":217816.7008,"count":151},{"id":1603850400,"open":13701.7,"close":13811.6,"high":13832.2,"low":13680.2,"amount":46.548,"vol":46548,"trade_turnover":640636.0352,"count":274},{"id":1603854000,"open":13818.5,"close":13777.0,"high":13820.3,"low":13717.5,"amount":67.896,"vol":67896,"trade_turnover":935838.2238,"count":320},{"id":1603857600,"open":13767.3,"close":13735.7,"high":13807.2,"low":13710.0,"amount":33.156,"vol":33156,"trade_turnover":455941.234,"count":210},{"id":1603861200,"open":13735.5,"close":13715.8,"high":13753.9,"low":13671.3,"amount":32.076,"vol":32076,"trade_turnover":439612.64,"count":198},{"id":1603864800,"open":13715.9,"close":13701.3,"high":13757.0,"low":13694.9,"amount":14.756,"vol":14756,"trade_turnover":202602.5164,"count":122},{"id":1603868400,"open":13701.2,"close":13674.2,"high":13708.7,"low":13550.0,"amount":155.534,"vol":155534,"trade_turnover":2117935.0928,"count":635},{"id":1603872000,"open":13673.0,"close":13691.7,"high":13691.7,"low":13584.0,"amount":29.846,"vol":29846,"trade_turnover":407073.1398,"count":240},{"id":1603875600,"open":13689.3,"close":13587.1,"high":13707.5,"low":13573.5,"amount":104.542,"vol":104542,"trade_turnover":1425079.9344,"count":377},{"id":1603879200,"open":13584.6,"close":13552.7,"high":13618.0,"low":13504.7,"amount":73.818,"vol":73818,"trade_turnover":1001666.0908,"count":358},{"id":1603882800,"open":13552.6,"close":13336.4,"high":13565.4,"low":13330.0,"amount":176.544,"vol":176544,"trade_turnover":2369166.1492,"count":1004},{"id":1603886400,"open":13331.5,"close":13300.3,"high":13385.0,"low":13173.9,"amount":289.73,"vol":289730,"trade_turnover":3846751.7166,"count":968},{"id":1603890000,"open":13300.2,"close":13129.9,"high":13340.0,"low":13122.9,"amount":139.822,"vol":139822,"trade_turnover":1848876.932,"count":612},{"id":1603893600,"open":13123.4,"close":13082.2,"high":13168.2,"low":12915.9,"amount":367.876,"vol":367876,"trade_turnover":4802516.9818,"count":1168},{"id":1603897200,"open":13077.1,"close":13221.2,"high":13235.2,"low":13052.3,"amount":84.044,"vol":84044,"trade_turnover":1106883.1282,"count":375},{"id":1603900800,"open":13218.7,"close":13145.1,"high":13218.7,"low":13050.0,"amount":29.566,"vol":29566,"trade_turnover":388697.4104,"count":244},{"id":1603904400,"open":13145.1,"close":13176.7,"high":13204.9,"low":13006.6,"amount":53.336,"vol":53336,"trade_turnover":700385.2784,"count":299},{"id":1603908000,"open":13171.0,"close":13196.5,"high":13219.6,"low":13131.0,"amount":34.164,"vol":34164,"trade_turnover":450210.5778,"count":218},{"id":1603911600,"open":13200.0,"close":13154.9,"high":13237.4,"low":13145.0,"amount":22.158,"vol":22158,"trade_turnover":292020.0438,"count":185},{"id":1603915200,"open":13154.5,"close":13198.1,"high":13211.8,"low":13147.4,"amount":4.548,"vol":4548,"trade_turnover":59991.1118,"count":75},{"id":1603918800,"open":13193.5,"close":13190.1,"high":13196.5,"low":13100.2,"amount":3.52,"vol":3520,"trade_turnover":46175.428,"count":68},{"id":1603922400,"open":13185.4,"close":13252.0,"high":13267.5,"low":13185.4,"amount":3.122,"vol":3122,"trade_turnover":41304.2018,"count":72},{"id":1603926000,"open":13242.1,"close":13265.9,"high":13282.3,"low":13235.9,"amount":14.768,"vol":14768,"trade_turnover":195689.0764,"count":86},{"id":1603929600,"open":13253.9,"close":13245.1,"high":13294.7,"low":13237.4,"amount":19.968,"vol":19968,"trade_turnover":264834.1944,"count":98},{"id":1603933200,"open":13244.6,"close":13274.2,"high":13285.3,"low":13166.3,"amount":35.282,"vol":35282,"trade_turnover":465789.6302,"count":192},{"id":1603936800,"open":13275.9,"close":13241.1,"high":13277.7,"low":13212.2,"amount":9.748,"vol":9748,"trade_turnover":129016.0684,"count":119},{"id":1603940400,"open":13237.1,"close":13262.5,"high":13262.5,"low":13174.6,"amount":27.3,"vol":27300,"trade_turnover":360589.8982,"count":199},{"id":1603944000,"open":13269.1,"close":13229.5,"high":13277.7,"low":13229.5,"amount":18.904,"vol":18904,"trade_turnover":250713.2812,"count":109},{"id":1603947600,"open":13228.5,"close":13274.8,"high":13274.8,"low":13228.5,"amount":15.822,"vol":15822,"trade_turnover":209781.909,"count":134},{"id":1603951200,"open":13274.8,"close":13255.0,"high":13323.0,"low":13242.3,"amount":91.246,"vol":91246,"trade_turnover":1211271.2788,"count":294},{"id":1603954800,"open":13255.0,"close":13142.4,"high":13269.3,"low":13123.1,"amount":187.622,"vol":187622,"trade_turnover":2478299.7074,"count":506},{"id":1603958400,"open":13145.9,"close":13124.8,"high":13182.4,"low":13094.1,"amount":69.532,"vol":69532,"trade_turnover":914157.2418,"count":226},{"id":1603962000,"open":13129.5,"close":13183.7,"high":13197.1,"low":13129.5,"amount":23.184,"vol":23184,"trade_turnover":305485.9524,"count":141},{"id":1603965600,"open":13184.8,"close":13105.2,"high":13187.5,"low":13053.1,"amount":121.146,"vol":121146,"trade_turnover":1590026.4416,"count":442},{"id":1603969200,"open":13105.1,"close":13060.1,"high":13171.4,"low":13060.1,"amount":47.498,"vol":47498,"trade_turnover":623578.149,"count":262},{"id":1603972800,"open":13056.9,"close":13131.8,"high":13145.8,"low":12977.9,"amount":126.552,"vol":126552,"trade_turnover":1652549.311,"count":481},{"id":1603976400,"open":13131.7,"close":13230.0,"high":13237.2,"low":13102.0,"amount":100.482,"vol":100482,"trade_turnover":1326403.7206,"count":325},{"id":1603980000,"open":13231.0,"close":13420.8,"high":13476.1,"low":13231.0,"amount":253.258,"vol":253258,"trade_turnover":3384941.438,"count":752},{"id":1603983600,"open":13416.0,"close":13420.6,"high":13458.7,"low":13358.7,"amount":64.71,"vol":64710,"trade_turnover":869052.3804,"count":269},{"id":1603987200,"open":13421.9,"close":13535.9,"high":13594.5,"low":13391.8,"amount":120.24,"vol":120240,"trade_turnover":1626567.8278,"count":570}]} +2024-01-18 11:12:49.739 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:41] - 请求 KLine 数据解析之后的数据为:{"wsid":19750305,"data":[{"amount":0.276,"high":12300.0,"vol":276,"low":11715.8,"count":39,"id":1603270800,"close":12196.7,"tradeTurnover":3315.9104,"open":12198.0},{"amount":0.198,"high":12289.9,"vol":198,"low":12111.0,"count":21,"id":1603274400,"close":12277.9,"tradeTurnover":2420.7728,"open":12196.7},{"amount":0.012,"high":12277.9,"vol":12,"low":12000.0,"count":5,"id":1603278000,"close":12000.0,"tradeTurnover":145.2238,"open":12111.0},{"amount":0.084,"high":12498.0,"vol":84,"low":12078.0,"count":12,"id":1603281600,"close":12497.4,"tradeTurnover":1040.0504,"open":12078.0},{"amount":1.122,"high":12495.6,"vol":1122,"low":12282.9,"count":112,"id":1603285200,"close":12373.5,"tradeTurnover":13905.3124,"open":12495.6},{"amount":5.29,"high":12807.6,"vol":5290,"low":12358.1,"count":155,"id":1603288800,"close":12689.9,"tradeTurnover":66852.128,"open":12412.9},{"amount":1.174,"high":12778.7,"vol":1174,"low":12573.2,"count":113,"id":1603292400,"close":12701.9,"tradeTurnover":14907.367,"open":12692.8},{"amount":1.156,"high":12920.9,"vol":1156,"low":12624.8,"count":115,"id":1603296000,"close":12835.9,"tradeTurnover":14802.449,"open":12679.7},{"amount":1.12,"high":12908.3,"vol":1120,"low":12687.5,"count":115,"id":1603299600,"close":12754.2,"tradeTurnover":14345.7324,"open":12848.3},{"amount":1.106,"high":12849.0,"vol":1106,"low":12668.3,"count":114,"id":1603303200,"close":12740.2,"tradeTurnover":14105.3504,"open":12743.7},{"amount":1.032,"high":12843.1,"vol":1032,"low":12597.2,"count":112,"id":1603306800,"close":12650.3,"tradeTurnover":13125.4568,"open":12729.5},{"amount":1.154,"high":12848.4,"vol":1154,"low":12610.2,"count":116,"id":1603310400,"close":12807.0,"tradeTurnover":14680.638,"open":12666.8},{"amount":1.164,"high":13005.1,"vol":1164,"low":12748.2,"count":114,"id":1603314000,"close":12938.9,"tradeTurnover":14976.9366,"open":12866.0},{"amount":1.174,"high":13211.2,"vol":1174,"low":12865.7,"count":114,"id":1603317600,"close":13122.0,"tradeTurnover":15285.2446,"open":12921.0},{"amount":1.172,"high":13173.2,"vol":1172,"low":12688.6,"count":117,"id":1603321200,"close":12829.8,"tradeTurnover":15060.9938,"open":13153.2},{"amount":1.17,"high":12988.1,"vol":1170,"low":12764.4,"count":117,"id":1603324800,"close":12885.9,"tradeTurnover":15046.2046,"open":12793.1},{"amount":1.158,"high":12972.6,"vol":1158,"low":12757.5,"count":118,"id":1603328400,"close":12757.5,"tradeTurnover":14882.4656,"open":12860.4},{"amount":1.124,"high":12848.0,"vol":1124,"low":12729.0,"count":115,"id":1603332000,"close":12788.8,"tradeTurnover":14368.7948,"open":12824.1},{"amount":1.194,"high":12834.4,"vol":1194,"low":12729.0,"count":111,"id":1603335600,"close":12767.2,"tradeTurnover":15268.9298,"open":12791.7},{"amount":1.152,"high":12778.3,"vol":1152,"low":12729.0,"count":115,"id":1603339200,"close":12762.2,"tradeTurnover":14695.4876,"open":12729.0},{"amount":1.21,"high":12842.0,"vol":1210,"low":12730.6,"count":119,"id":1603342800,"close":12813.8,"tradeTurnover":15440.8162,"open":12763.1},{"amount":1.188,"high":12795.0,"vol":1188,"low":12728.0,"count":123,"id":1603346400,"close":12729.1,"tradeTurnover":15128.0098,"open":12795.0},{"amount":1.266,"high":12730.6,"vol":1266,"low":12728.3,"count":112,"id":1603350000,"close":12730.6,"tradeTurnover":16115.1306,"open":12728.6},{"amount":1.35,"high":12921.5,"vol":1350,"low":12729.9,"count":127,"id":1603353600,"close":12770.1,"tradeTurnover":17233.7326,"open":12730.3},{"amount":0.98,"high":12872.1,"vol":980,"low":12760.1,"count":99,"id":1603357200,"close":12780.4,"tradeTurnover":12553.9826,"open":12824.9},{"amount":0.266,"high":13002.7,"vol":266,"low":12775.6,"count":30,"id":1603360800,"close":12934.2,"tradeTurnover":3415.023,"open":12784.9},{"amount":1.004,"high":13057.0,"vol":1004,"low":12886.6,"count":117,"id":1603364400,"close":13045.0,"tradeTurnover":13020.8576,"open":12977.0},{"amount":1.134,"high":12973.4,"vol":1134,"low":12751.6,"count":111,"id":1603368000,"close":12847.9,"tradeTurnover":14594.2752,"open":12958.5},{"amount":1.152,"high":13000.8,"vol":1152,"low":12743.0,"count":114,"id":1603371600,"close":12931.0,"tradeTurnover":14877.7314,"open":12882.7},{"amount":1.182,"high":12995.3,"vol":1182,"low":12783.9,"count":115,"id":1603375200,"close":12917.8,"tradeTurnover":15224.4716,"open":12890.4},{"amount":1.176,"high":13031.2,"vol":1176,"low":12817.9,"count":117,"id":1603378800,"close":12953.0,"tradeTurnover":15197.208,"open":12918.8},{"amount":1.146,"high":13100.2,"vol":1146,"low":12865.6,"count":119,"id":1603382400,"close":13055.6,"tradeTurnover":14851.9604,"open":12923.1},{"amount":1.534,"high":13105.7,"vol":1534,"low":12835.5,"count":124,"id":1603386000,"close":13082.7,"tradeTurnover":19927.8288,"open":12967.6},{"amount":1.268,"high":13115.0,"vol":1268,"low":12938.7,"count":117,"id":1603389600,"close":13016.4,"tradeTurnover":16505.4738,"open":13020.4},{"amount":1.13,"high":13171.2,"vol":1130,"low":12961.8,"count":112,"id":1603393200,"close":12970.6,"tradeTurnover":14762.952,"open":13028.3},{"amount":1.206,"high":13216.1,"vol":1206,"low":12998.5,"count":117,"id":1603396800,"close":13089.3,"tradeTurnover":15807.1226,"open":13016.7},{"amount":1.332,"high":13203.7,"vol":1332,"low":12932.9,"count":114,"id":1603400400,"close":13092.0,"tradeTurnover":17423.4422,"open":13136.0},{"amount":1.21,"high":13250.5,"vol":1210,"low":12984.7,"count":114,"id":1603404000,"close":13055.9,"tradeTurnover":15876.0632,"open":13119.4},{"amount":1.286,"high":13126.5,"vol":1286,"low":12857.2,"count":116,"id":1603407600,"close":12890.4,"tradeTurnover":16688.422,"open":13059.4},{"amount":1.502,"high":12994.0,"vol":1502,"low":12751.6,"count":131,"id":1603411200,"close":12892.2,"tradeTurnover":19331.1596,"open":12929.7},{"amount":1.386,"high":13003.2,"vol":1386,"low":12786.0,"count":121,"id":1603414800,"close":12898.3,"tradeTurnover":17904.8902,"open":12921.7},{"amount":1.416,"high":13054.0,"vol":1416,"low":12800.7,"count":122,"id":1603418400,"close":12975.1,"tradeTurnover":18306.6204,"open":12951.6},{"amount":1.19,"high":13030.7,"vol":1190,"low":12875.0,"count":118,"id":1603422000,"close":12947.0,"tradeTurnover":15409.7984,"open":12967.3},{"amount":1.022,"high":13047.3,"vol":1022,"low":12832.8,"count":127,"id":1603425600,"close":12852.0,"tradeTurnover":13214.4388,"open":12925.2},{"amount":0.478,"high":12991.7,"vol":478,"low":12841.2,"count":118,"id":1603429200,"close":12931.1,"tradeTurnover":6180.2486,"open":12859.0},{"amount":0.522,"high":13014.1,"vol":522,"low":12871.9,"count":132,"id":1603432800,"close":12939.6,"tradeTurnover":6759.0324,"open":12935.9},{"amount":0.476,"high":12998.9,"vol":476,"low":12917.1,"count":118,"id":1603436400,"close":12925.4,"tradeTurnover":6163.3118,"open":12923.1},{"amount":0.508,"high":13014.0,"vol":508,"low":12916.1,"count":122,"id":1603440000,"close":12962.6,"tradeTurnover":6585.3656,"open":12942.2},{"amount":0.564,"high":13012.5,"vol":564,"low":12909.9,"count":124,"id":1603443600,"close":12926.4,"tradeTurnover":7308.8828,"open":12970.5},{"amount":0.536,"high":13059.5,"vol":536,"low":12925.7,"count":124,"id":1603447200,"close":13007.7,"tradeTurnover":6957.8796,"open":13001.2},{"amount":0.486,"high":13078.4,"vol":486,"low":12906.5,"count":122,"id":1603450800,"close":12970.6,"tradeTurnover":6326.1434,"open":13025.4},{"amount":0.494,"high":13025.0,"vol":494,"low":12850.8,"count":117,"id":1603454400,"close":12935.4,"tradeTurnover":6396.0984,"open":12963.9},{"amount":0.466,"high":13043.3,"vol":466,"low":12911.0,"count":117,"id":1603458000,"close":12951.7,"tradeTurnover":6049.1412,"open":12913.3},{"amount":0.46,"high":13006.4,"vol":460,"low":12840.4,"count":116,"id":1603461600,"close":12858.8,"tradeTurnover":5941.815,"open":12999.6},{"amount":0.492,"high":12932.9,"vol":492,"low":12826.5,"count":117,"id":1603465200,"close":12881.9,"tradeTurnover":6340.214,"open":12885.7},{"amount":0.484,"high":12933.5,"vol":484,"low":12744.4,"count":123,"id":1603468800,"close":12784.1,"tradeTurnover":6205.4138,"open":12854.4},{"amount":0.562,"high":12893.1,"vol":562,"low":12730.1,"count":152,"id":1603472400,"close":12847.7,"tradeTurnover":7218.9184,"open":12832.3},{"amount":0.53,"high":12939.3,"vol":530,"low":12751.4,"count":128,"id":1603476000,"close":12915.7,"tradeTurnover":6825.7004,"open":12874.1},{"amount":0.444,"high":12972.9,"vol":444,"low":12786.6,"count":117,"id":1603479600,"close":12972.9,"tradeTurnover":5727.7452,"open":12867.9},{"amount":0.492,"high":13002.2,"vol":492,"low":12842.9,"count":116,"id":1603483200,"close":12991.6,"tradeTurnover":6375.1566,"open":12956.7},{"amount":0.5,"high":13004.3,"vol":500,"low":12936.6,"count":125,"id":1603486800,"close":12943.5,"tradeTurnover":6485.468,"open":13004.3},{"amount":0.492,"high":13010.3,"vol":492,"low":12884.7,"count":120,"id":1603490400,"close":12989.2,"tradeTurnover":6376.1492,"open":12923.6},{"amount":0.51,"high":13024.4,"vol":510,"low":12884.6,"count":121,"id":1603494000,"close":12884.6,"tradeTurnover":6622.3406,"open":12974.9},{"amount":0.488,"high":13018.3,"vol":488,"low":12811.1,"count":120,"id":1603497600,"close":12953.9,"tradeTurnover":6317.7938,"open":12973.7},{"amount":0.482,"high":13018.1,"vol":482,"low":12872.8,"count":117,"id":1603501200,"close":12934.2,"tradeTurnover":6242.4178,"open":12927.5},{"amount":0.484,"high":13003.9,"vol":484,"low":12903.3,"count":117,"id":1603504800,"close":12989.1,"tradeTurnover":6278.1756,"open":12971.9},{"amount":0.474,"high":13013.4,"vol":474,"low":12938.3,"count":122,"id":1603508400,"close":12975.9,"tradeTurnover":6157.7096,"open":13000.1},{"amount":0.526,"high":13009.4,"vol":526,"low":12905.5,"count":124,"id":1603512000,"close":12963.3,"tradeTurnover":6831.5658,"open":12989.7},{"amount":0.522,"high":13041.8,"vol":522,"low":12875.3,"count":127,"id":1603515600,"close":12989.7,"tradeTurnover":6768.8994,"open":12910.5},{"amount":0.49,"high":13058.1,"vol":490,"low":12908.8,"count":120,"id":1603519200,"close":13003.6,"tradeTurnover":6370.5714,"open":12994.7},{"amount":0.478,"high":13037.8,"vol":478,"low":12981.7,"count":120,"id":1603522800,"close":13004.2,"tradeTurnover":6218.9722,"open":13011.9},{"amount":0.52,"high":13030.6,"vol":520,"low":12899.4,"count":124,"id":1603526400,"close":12998.2,"tradeTurnover":6754.958,"open":13003.0},{"amount":0.454,"high":13020.3,"vol":454,"low":12893.6,"count":115,"id":1603530000,"close":12990.6,"tradeTurnover":5891.0574,"open":12998.2},{"amount":0.502,"high":13059.1,"vol":502,"low":12913.2,"count":124,"id":1603533600,"close":13030.1,"tradeTurnover":6525.9004,"open":12996.4},{"amount":0.468,"high":13068.3,"vol":468,"low":12940.2,"count":119,"id":1603537200,"close":13033.2,"tradeTurnover":6091.0376,"open":12988.4},{"amount":0.468,"high":13071.8,"vol":468,"low":12978.9,"count":123,"id":1603540800,"close":13006.5,"tradeTurnover":6102.5902,"open":13035.3},{"amount":0.534,"high":13066.7,"vol":534,"low":12928.1,"count":123,"id":1603544400,"close":12985.9,"tradeTurnover":6950.4268,"open":13038.8},{"amount":0.47,"high":13100.1,"vol":470,"low":12960.5,"count":100,"id":1603548000,"close":13042.0,"tradeTurnover":6124.2178,"open":12986.3},{"amount":0.456,"high":13196.5,"vol":456,"low":13038.4,"count":120,"id":1603551600,"close":13102.2,"tradeTurnover":5989.6362,"open":13038.4},{"amount":0.458,"high":13176.6,"vol":458,"low":12984.6,"count":121,"id":1603555200,"close":13052.7,"tradeTurnover":5976.331,"open":13136.8},{"amount":0.452,"high":13177.8,"vol":452,"low":13003.2,"count":118,"id":1603558800,"close":13177.8,"tradeTurnover":5911.7058,"open":13006.2},{"amount":0.468,"high":13170.7,"vol":468,"low":13023.0,"count":119,"id":1603562400,"close":13080.8,"tradeTurnover":6122.375,"open":13127.7},{"amount":0.468,"high":13179.3,"vol":468,"low":13014.2,"count":120,"id":1603566000,"close":13148.4,"tradeTurnover":6126.4278,"open":13040.7},{"amount":0.47,"high":13179.6,"vol":470,"low":12992.5,"count":119,"id":1603569600,"close":13090.1,"tradeTurnover":6151.4758,"open":13073.5},{"amount":0.458,"high":13148.7,"vol":458,"low":12980.7,"count":117,"id":1603573200,"close":12993.9,"tradeTurnover":5981.071,"open":13035.4},{"amount":0.478,"high":13112.1,"vol":478,"low":12975.6,"count":118,"id":1603576800,"close":13041.1,"tradeTurnover":6225.4216,"open":13040.7},{"amount":0.472,"high":13184.3,"vol":472,"low":13009.3,"count":118,"id":1603580400,"close":13184.3,"tradeTurnover":6173.4244,"open":13012.6},{"amount":0.46,"high":13170.4,"vol":460,"low":13007.7,"count":115,"id":1603584000,"close":13154.3,"tradeTurnover":6024.09,"open":13080.8},{"amount":0.398,"high":13196.8,"vol":398,"low":13024.0,"count":102,"id":1603587600,"close":13196.1,"tradeTurnover":5217.5364,"open":13092.0},{"amount":0.476,"high":13175.1,"vol":476,"low":13035.0,"count":120,"id":1603591200,"close":13082.4,"tradeTurnover":6228.6596,"open":13124.7},{"amount":0.578,"high":13383.8,"vol":578,"low":13049.1,"count":137,"id":1603594800,"close":13259.0,"tradeTurnover":7629.3886,"open":13049.1},{"amount":0.47,"high":13369.0,"vol":470,"low":13216.0,"count":122,"id":1603598400,"close":13243.4,"tradeTurnover":6247.955,"open":13277.0},{"amount":0.61,"high":13353.3,"vol":610,"low":13010.1,"count":134,"id":1603602000,"close":13017.3,"tradeTurnover":8048.8598,"open":13285.3},{"amount":0.486,"high":13105.7,"vol":486,"low":13018.2,"count":118,"id":1603605600,"close":13060.3,"tradeTurnover":6344.1474,"open":13022.5},{"amount":0.464,"high":13112.1,"vol":464,"low":13022.0,"count":120,"id":1603609200,"close":13078.1,"tradeTurnover":6061.5416,"open":13048.5},{"amount":0.464,"high":13091.0,"vol":464,"low":13017.2,"count":120,"id":1603612800,"close":13046.0,"tradeTurnover":6055.3734,"open":13077.2},{"amount":0.478,"high":13084.0,"vol":478,"low":13014.2,"count":117,"id":1603616400,"close":13040.8,"tradeTurnover":6235.7882,"open":13065.1},{"amount":0.478,"high":13064.2,"vol":478,"low":13010.2,"count":125,"id":1603620000,"close":13028.5,"tradeTurnover":6232.2428,"open":13047.1},{"amount":0.534,"high":13061.5,"vol":534,"low":12852.9,"count":123,"id":1603623600,"close":12897.6,"tradeTurnover":6918.1226,"open":13061.5},{"amount":0.444,"high":13069.7,"vol":444,"low":12893.2,"count":117,"id":1603627200,"close":12964.3,"tradeTurnover":5755.8712,"open":12908.3},{"amount":0.498,"high":13071.9,"vol":498,"low":12891.8,"count":119,"id":1603630800,"close":12949.3,"tradeTurnover":6465.078,"open":13001.3},{"amount":0.468,"high":13077.7,"vol":468,"low":12900.0,"count":116,"id":1603634400,"close":12946.8,"tradeTurnover":6075.4554,"open":12975.8},{"amount":0.47,"high":13069.1,"vol":470,"low":12883.3,"count":119,"id":1603638000,"close":12883.3,"tradeTurnover":6097.1072,"open":12975.2},{"amount":0.482,"high":13067.9,"vol":482,"low":12877.5,"count":118,"id":1603641600,"close":12978.7,"tradeTurnover":6256.4472,"open":12916.2},{"amount":0.47,"high":13087.5,"vol":470,"low":12922.7,"count":117,"id":1603645200,"close":13004.4,"tradeTurnover":6108.3892,"open":13008.0},{"amount":0.468,"high":13067.6,"vol":468,"low":12893.6,"count":118,"id":1603648800,"close":12957.2,"tradeTurnover":6079.1484,"open":12972.8},{"amount":0.442,"high":13066.9,"vol":442,"low":12916.6,"count":118,"id":1603652400,"close":13021.8,"tradeTurnover":5746.5548,"open":12996.5},{"amount":0.508,"high":13081.5,"vol":508,"low":12944.9,"count":120,"id":1603656000,"close":12985.4,"tradeTurnover":6616.9872,"open":12992.9},{"amount":0.508,"high":13068.6,"vol":508,"low":12921.4,"count":122,"id":1603659600,"close":13011.2,"tradeTurnover":6614.816,"open":12999.9},{"amount":0.486,"high":13073.8,"vol":486,"low":12911.9,"count":121,"id":1603663200,"close":12959.4,"tradeTurnover":6320.907,"open":12979.6},{"amount":0.452,"high":13085.2,"vol":452,"low":12927.8,"count":113,"id":1603666800,"close":13032.1,"tradeTurnover":5878.6442,"open":12963.4},{"amount":0.482,"high":13076.7,"vol":482,"low":12918.3,"count":121,"id":1603670400,"close":13001.0,"tradeTurnover":6263.698,"open":12964.2},{"amount":0.478,"high":13096.4,"vol":478,"low":12991.2,"count":124,"id":1603674000,"close":13053.7,"tradeTurnover":6232.2328,"open":13040.0},{"amount":0.488,"high":13185.7,"vol":488,"low":12985.1,"count":121,"id":1603677600,"close":13064.4,"tradeTurnover":6387.534,"open":13060.6},{"amount":0.486,"high":13187.2,"vol":486,"low":12984.1,"count":135,"id":1603681200,"close":13092.8,"tradeTurnover":6369.0272,"open":13032.3},{"amount":0.51,"high":13181.6,"vol":510,"low":12962.3,"count":131,"id":1603684800,"close":13132.6,"tradeTurnover":6679.829,"open":13092.0},{"amount":0.506,"high":13205.3,"vol":506,"low":13025.3,"count":126,"id":1603688400,"close":13092.1,"tradeTurnover":6641.2128,"open":13129.2},{"amount":1.616,"high":13188.1,"vol":1616,"low":12989.8,"count":141,"id":1603692000,"close":13071.4,"tradeTurnover":21170.8224,"open":13121.8},{"amount":3.746,"high":13100.0,"vol":3746,"low":12965.2,"count":110,"id":1603695600,"close":13038.7,"tradeTurnover":48924.8902,"open":13061.0},{"amount":8.966,"high":13102.0,"vol":8966,"low":12852.8,"count":173,"id":1603699200,"close":13039.3,"tradeTurnover":116525.5534,"open":13030.9},{"amount":4.48,"high":13088.4,"vol":4480,"low":13039.8,"count":124,"id":1603702800,"close":13075.9,"tradeTurnover":58521.1714,"open":13047.1},{"amount":4.272,"high":13100.0,"vol":4272,"low":13060.2,"count":130,"id":1603706400,"close":13100.0,"tradeTurnover":55895.9778,"open":13072.1},{"amount":29.798,"high":13159.0,"vol":29798,"low":13100.0,"count":230,"id":1603710000,"close":13138.4,"tradeTurnover":391138.024,"open":13100.0},{"amount":5.154,"high":13200.0,"vol":5154,"low":13100.0,"count":188,"id":1603713600,"close":13149.8,"tradeTurnover":67694.652,"open":13138.8},{"amount":35.608,"high":13351.5,"vol":35608,"low":13133.1,"count":328,"id":1603717200,"close":13205.8,"tradeTurnover":472780.3394,"open":13150.0},{"amount":31.748,"high":13280.0,"vol":31748,"low":13144.1,"count":235,"id":1603720800,"close":13166.1,"tradeTurnover":418744.5588,"open":13203.0},{"amount":36.53,"high":13165.2,"vol":36530,"low":12903.8,"count":384,"id":1603724400,"close":12978.0,"tradeTurnover":476940.3296,"open":13159.0},{"amount":35.018,"high":13069.8,"vol":35018,"low":12850.5,"count":323,"id":1603728000,"close":12869.6,"tradeTurnover":453288.918,"open":12965.0},{"amount":92.628,"high":12941.5,"vol":92628,"low":12583.9,"count":560,"id":1603731600,"close":12873.8,"tradeTurnover":1185973.467,"open":12879.2},{"amount":4.302,"high":12954.5,"vol":4302,"low":12820.4,"count":128,"id":1603735200,"close":12946.8,"tradeTurnover":55481.0054,"open":12856.2},{"amount":13.83,"high":12953.5,"vol":13830,"low":12914.1,"count":118,"id":1603738800,"close":12953.4,"tradeTurnover":179112.1598,"open":12945.6},{"amount":17.172,"high":13007.5,"vol":17172,"low":12953.5,"count":132,"id":1603742400,"close":12983.4,"tradeTurnover":223230.2122,"open":12953.5},{"amount":3.212,"high":13007.5,"vol":3212,"low":12982.7,"count":59,"id":1603746000,"close":12993.8,"tradeTurnover":41767.8906,"open":12983.1},{"amount":1.504,"high":13007.5,"vol":1504,"low":12974.0,"count":74,"id":1603749600,"close":13007.5,"tradeTurnover":19543.3568,"open":13002.1},{"amount":3.454,"high":13061.2,"vol":3454,"low":13007.5,"count":101,"id":1603753200,"close":13033.7,"tradeTurnover":45001.601,"open":13007.5},{"amount":8.784,"high":13105.0,"vol":8784,"low":13028.3,"count":98,"id":1603756800,"close":13067.1,"tradeTurnover":114871.8246,"open":13029.2},{"amount":11.592,"high":13074.4,"vol":11592,"low":13051.5,"count":66,"id":1603760400,"close":13061.7,"tradeTurnover":151386.9038,"open":13074.3},{"amount":19.298,"high":13097.6,"vol":19298,"low":13040.1,"count":109,"id":1603764000,"close":13049.7,"tradeTurnover":252061.019,"open":13061.7},{"amount":22.992,"high":13080.0,"vol":22992,"low":13057.1,"count":69,"id":1603767600,"close":13070.4,"tradeTurnover":300453.9788,"open":13057.6},{"amount":14.396,"high":13175.0,"vol":14396,"low":13079.6,"count":59,"id":1603771200,"close":13103.3,"tradeTurnover":188461.9156,"open":13080.0},{"amount":5.058,"high":13121.3,"vol":5058,"low":13069.7,"count":44,"id":1603774800,"close":13073.6,"tradeTurnover":66201.3552,"open":13121.3},{"amount":9.106,"high":13149.0,"vol":9106,"low":13069.6,"count":107,"id":1603778400,"close":13103.4,"tradeTurnover":119104.8906,"open":13074.9},{"amount":73.95,"high":13169.8,"vol":73950,"low":12992.4,"count":305,"id":1603782000,"close":13130.0,"tradeTurnover":968195.155,"open":13103.3},{"amount":18.732,"high":13148.4,"vol":18732,"low":13044.0,"count":135,"id":1603785600,"close":13123.8,"tradeTurnover":245533.5448,"open":13135.1},{"amount":13.756,"high":13131.8,"vol":13756,"low":13075.7,"count":102,"id":1603789200,"close":13131.7,"tradeTurnover":180253.7708,"open":13115.5},{"amount":154.108,"high":13252.0,"vol":154108,"low":13063.4,"count":525,"id":1603792800,"close":13216.9,"tradeTurnover":2029983.656,"open":13134.8},{"amount":170.09,"high":13590.1,"vol":170090,"low":13213.5,"count":591,"id":1603796400,"close":13395.8,"tradeTurnover":2276279.742,"open":13218.8},{"amount":48.928,"high":13414.0,"vol":48928,"low":13331.7,"count":216,"id":1603800000,"close":13376.9,"tradeTurnover":654585.9108,"open":13395.9},{"amount":63.294,"high":13490.9,"vol":63294,"low":13329.8,"count":316,"id":1603803600,"close":13384.3,"tradeTurnover":848130.9212,"open":13376.5},{"amount":12.892,"high":13415.8,"vol":12892,"low":13344.8,"count":124,"id":1603807200,"close":13398.2,"tradeTurnover":172618.6864,"open":13392.6},{"amount":93.22,"high":13626.7,"vol":93220,"low":13398.2,"count":476,"id":1603810800,"close":13598.5,"tradeTurnover":1262695.5466,"open":13398.2},{"amount":85.45,"high":13639.9,"vol":85450,"low":13520.2,"count":435,"id":1603814400,"close":13639.9,"tradeTurnover":1161481.4136,"open":13595.8},{"amount":191.812,"high":13826.7,"vol":191812,"low":13589.0,"count":711,"id":1603818000,"close":13688.1,"tradeTurnover":2628428.3788,"open":13640.0},{"amount":65.434,"high":13745.0,"vol":65434,"low":13528.2,"count":410,"id":1603821600,"close":13630.1,"tradeTurnover":891541.8394,"open":13685.0},{"amount":5.788,"high":13659.8,"vol":5788,"low":13595.4,"count":65,"id":1603825200,"close":13637.1,"tradeTurnover":78836.2578,"open":13629.4},{"amount":163.104,"high":13805.1,"vol":163104,"low":13582.6,"count":537,"id":1603828800,"close":13616.6,"tradeTurnover":2234040.3544,"open":13644.4},{"amount":9.884,"high":13753.5,"vol":9884,"low":13609.8,"count":101,"id":1603832400,"close":13705.5,"tradeTurnover":135406.4752,"open":13609.8},{"amount":7.436,"high":13739.9,"vol":7436,"low":13658.2,"count":100,"id":1603836000,"close":13739.9,"tradeTurnover":101840.3508,"open":13705.4},{"amount":17.086,"high":13794.6,"vol":17086,"low":13582.6,"count":234,"id":1603839600,"close":13649.6,"tradeTurnover":233971.8448,"open":13739.9},{"amount":24.108,"high":13745.2,"vol":24108,"low":13618.8,"count":177,"id":1603843200,"close":13701.7,"tradeTurnover":330206.5694,"open":13645.9},{"amount":15.892,"high":13725.6,"vol":15892,"low":13647.9,"count":151,"id":1603846800,"close":13702.6,"tradeTurnover":217816.7008,"open":13702.1},{"amount":46.548,"high":13832.2,"vol":46548,"low":13680.2,"count":274,"id":1603850400,"close":13811.6,"tradeTurnover":640636.0352,"open":13701.7},{"amount":67.896,"high":13820.3,"vol":67896,"low":13717.5,"count":320,"id":1603854000,"close":13777.0,"tradeTurnover":935838.2238,"open":13818.5},{"amount":33.156,"high":13807.2,"vol":33156,"low":13710.0,"count":210,"id":1603857600,"close":13735.7,"tradeTurnover":455941.234,"open":13767.3},{"amount":32.076,"high":13753.9,"vol":32076,"low":13671.3,"count":198,"id":1603861200,"close":13715.8,"tradeTurnover":439612.64,"open":13735.5},{"amount":14.756,"high":13757.0,"vol":14756,"low":13694.9,"count":122,"id":1603864800,"close":13701.3,"tradeTurnover":202602.5164,"open":13715.9},{"amount":155.534,"high":13708.7,"vol":155534,"low":13550.0,"count":635,"id":1603868400,"close":13674.2,"tradeTurnover":2117935.0928,"open":13701.2},{"amount":29.846,"high":13691.7,"vol":29846,"low":13584.0,"count":240,"id":1603872000,"close":13691.7,"tradeTurnover":407073.1398,"open":13673.0},{"amount":104.542,"high":13707.5,"vol":104542,"low":13573.5,"count":377,"id":1603875600,"close":13587.1,"tradeTurnover":1425079.9344,"open":13689.3},{"amount":73.818,"high":13618.0,"vol":73818,"low":13504.7,"count":358,"id":1603879200,"close":13552.7,"tradeTurnover":1001666.0908,"open":13584.6},{"amount":176.544,"high":13565.4,"vol":176544,"low":13330.0,"count":1004,"id":1603882800,"close":13336.4,"tradeTurnover":2369166.1492,"open":13552.6},{"amount":289.73,"high":13385.0,"vol":289730,"low":13173.9,"count":968,"id":1603886400,"close":13300.3,"tradeTurnover":3846751.7166,"open":13331.5},{"amount":139.822,"high":13340.0,"vol":139822,"low":13122.9,"count":612,"id":1603890000,"close":13129.9,"tradeTurnover":1848876.932,"open":13300.2},{"amount":367.876,"high":13168.2,"vol":367876,"low":12915.9,"count":1168,"id":1603893600,"close":13082.2,"tradeTurnover":4802516.9818,"open":13123.4},{"amount":84.044,"high":13235.2,"vol":84044,"low":13052.3,"count":375,"id":1603897200,"close":13221.2,"tradeTurnover":1106883.1282,"open":13077.1},{"amount":29.566,"high":13218.7,"vol":29566,"low":13050.0,"count":244,"id":1603900800,"close":13145.1,"tradeTurnover":388697.4104,"open":13218.7},{"amount":53.336,"high":13204.9,"vol":53336,"low":13006.6,"count":299,"id":1603904400,"close":13176.7,"tradeTurnover":700385.2784,"open":13145.1},{"amount":34.164,"high":13219.6,"vol":34164,"low":13131.0,"count":218,"id":1603908000,"close":13196.5,"tradeTurnover":450210.5778,"open":13171.0},{"amount":22.158,"high":13237.4,"vol":22158,"low":13145.0,"count":185,"id":1603911600,"close":13154.9,"tradeTurnover":292020.0438,"open":13200.0},{"amount":4.548,"high":13211.8,"vol":4548,"low":13147.4,"count":75,"id":1603915200,"close":13198.1,"tradeTurnover":59991.1118,"open":13154.5},{"amount":3.52,"high":13196.5,"vol":3520,"low":13100.2,"count":68,"id":1603918800,"close":13190.1,"tradeTurnover":46175.428,"open":13193.5},{"amount":3.122,"high":13267.5,"vol":3122,"low":13185.4,"count":72,"id":1603922400,"close":13252.0,"tradeTurnover":41304.2018,"open":13185.4},{"amount":14.768,"high":13282.3,"vol":14768,"low":13235.9,"count":86,"id":1603926000,"close":13265.9,"tradeTurnover":195689.0764,"open":13242.1},{"amount":19.968,"high":13294.7,"vol":19968,"low":13237.4,"count":98,"id":1603929600,"close":13245.1,"tradeTurnover":264834.1944,"open":13253.9},{"amount":35.282,"high":13285.3,"vol":35282,"low":13166.3,"count":192,"id":1603933200,"close":13274.2,"tradeTurnover":465789.6302,"open":13244.6},{"amount":9.748,"high":13277.7,"vol":9748,"low":13212.2,"count":119,"id":1603936800,"close":13241.1,"tradeTurnover":129016.0684,"open":13275.9},{"amount":27.3,"high":13262.5,"vol":27300,"low":13174.6,"count":199,"id":1603940400,"close":13262.5,"tradeTurnover":360589.8982,"open":13237.1},{"amount":18.904,"high":13277.7,"vol":18904,"low":13229.5,"count":109,"id":1603944000,"close":13229.5,"tradeTurnover":250713.2812,"open":13269.1},{"amount":15.822,"high":13274.8,"vol":15822,"low":13228.5,"count":134,"id":1603947600,"close":13274.8,"tradeTurnover":209781.909,"open":13228.5},{"amount":91.246,"high":13323.0,"vol":91246,"low":13242.3,"count":294,"id":1603951200,"close":13255.0,"tradeTurnover":1211271.2788,"open":13274.8},{"amount":187.622,"high":13269.3,"vol":187622,"low":13123.1,"count":506,"id":1603954800,"close":13142.4,"tradeTurnover":2478299.7074,"open":13255.0},{"amount":69.532,"high":13182.4,"vol":69532,"low":13094.1,"count":226,"id":1603958400,"close":13124.8,"tradeTurnover":914157.2418,"open":13145.9},{"amount":23.184,"high":13197.1,"vol":23184,"low":13129.5,"count":141,"id":1603962000,"close":13183.7,"tradeTurnover":305485.9524,"open":13129.5},{"amount":121.146,"high":13187.5,"vol":121146,"low":13053.1,"count":442,"id":1603965600,"close":13105.2,"tradeTurnover":1590026.4416,"open":13184.8},{"amount":47.498,"high":13171.4,"vol":47498,"low":13060.1,"count":262,"id":1603969200,"close":13060.1,"tradeTurnover":623578.149,"open":13105.1},{"amount":126.552,"high":13145.8,"vol":126552,"low":12977.9,"count":481,"id":1603972800,"close":13131.8,"tradeTurnover":1652549.311,"open":13056.9},{"amount":100.482,"high":13237.2,"vol":100482,"low":13102.0,"count":325,"id":1603976400,"close":13230.0,"tradeTurnover":1326403.7206,"open":13131.7},{"amount":253.258,"high":13476.1,"vol":253258,"low":13231.0,"count":752,"id":1603980000,"close":13420.8,"tradeTurnover":3384941.438,"open":13231.0},{"amount":64.71,"high":13458.7,"vol":64710,"low":13358.7,"count":269,"id":1603983600,"close":13420.6,"tradeTurnover":869052.3804,"open":13416.0},{"amount":120.24,"high":13594.5,"vol":120240,"low":13391.8,"count":570,"id":1603987200,"close":13535.9,"tradeTurnover":1626567.8278,"open":13421.9}],"id":"","rep":"market.BTC-USDT.kline.60min","status":"ok"} +2024-01-18 11:12:50.862 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:39] - 请求 KLine 数据用户收到的原始数据:{"id":"","rep":"market.BTC-USDT.kline.60min","ts":1705547569733,"wsid":19750305,"status":"ok","data":[{"id":1603270800,"open":12198.0,"close":12196.7,"high":12300.0,"low":11715.8,"amount":0.276,"vol":276,"trade_turnover":3315.9104,"count":39},{"id":1603274400,"open":12196.7,"close":12277.9,"high":12289.9,"low":12111.0,"amount":0.198,"vol":198,"trade_turnover":2420.7728,"count":21},{"id":1603278000,"open":12111.0,"close":12000.0,"high":12277.9,"low":12000.0,"amount":0.012,"vol":12,"trade_turnover":145.2238,"count":5},{"id":1603281600,"open":12078.0,"close":12497.4,"high":12498.0,"low":12078.0,"amount":0.084,"vol":84,"trade_turnover":1040.0504,"count":12},{"id":1603285200,"open":12495.6,"close":12373.5,"high":12495.6,"low":12282.9,"amount":1.122,"vol":1122,"trade_turnover":13905.3124,"count":112},{"id":1603288800,"open":12412.9,"close":12689.9,"high":12807.6,"low":12358.1,"amount":5.29,"vol":5290,"trade_turnover":66852.128,"count":155},{"id":1603292400,"open":12692.8,"close":12701.9,"high":12778.7,"low":12573.2,"amount":1.174,"vol":1174,"trade_turnover":14907.367,"count":113},{"id":1603296000,"open":12679.7,"close":12835.9,"high":12920.9,"low":12624.8,"amount":1.156,"vol":1156,"trade_turnover":14802.449,"count":115},{"id":1603299600,"open":12848.3,"close":12754.2,"high":12908.3,"low":12687.5,"amount":1.12,"vol":1120,"trade_turnover":14345.7324,"count":115},{"id":1603303200,"open":12743.7,"close":12740.2,"high":12849.0,"low":12668.3,"amount":1.106,"vol":1106,"trade_turnover":14105.3504,"count":114},{"id":1603306800,"open":12729.5,"close":12650.3,"high":12843.1,"low":12597.2,"amount":1.032,"vol":1032,"trade_turnover":13125.4568,"count":112},{"id":1603310400,"open":12666.8,"close":12807.0,"high":12848.4,"low":12610.2,"amount":1.154,"vol":1154,"trade_turnover":14680.638,"count":116},{"id":1603314000,"open":12866.0,"close":12938.9,"high":13005.1,"low":12748.2,"amount":1.164,"vol":1164,"trade_turnover":14976.9366,"count":114},{"id":1603317600,"open":12921.0,"close":13122.0,"high":13211.2,"low":12865.7,"amount":1.174,"vol":1174,"trade_turnover":15285.2446,"count":114},{"id":1603321200,"open":13153.2,"close":12829.8,"high":13173.2,"low":12688.6,"amount":1.172,"vol":1172,"trade_turnover":15060.9938,"count":117},{"id":1603324800,"open":12793.1,"close":12885.9,"high":12988.1,"low":12764.4,"amount":1.17,"vol":1170,"trade_turnover":15046.2046,"count":117},{"id":1603328400,"open":12860.4,"close":12757.5,"high":12972.6,"low":12757.5,"amount":1.158,"vol":1158,"trade_turnover":14882.4656,"count":118},{"id":1603332000,"open":12824.1,"close":12788.8,"high":12848.0,"low":12729.0,"amount":1.124,"vol":1124,"trade_turnover":14368.7948,"count":115},{"id":1603335600,"open":12791.7,"close":12767.2,"high":12834.4,"low":12729.0,"amount":1.194,"vol":1194,"trade_turnover":15268.9298,"count":111},{"id":1603339200,"open":12729.0,"close":12762.2,"high":12778.3,"low":12729.0,"amount":1.152,"vol":1152,"trade_turnover":14695.4876,"count":115},{"id":1603342800,"open":12763.1,"close":12813.8,"high":12842.0,"low":12730.6,"amount":1.21,"vol":1210,"trade_turnover":15440.8162,"count":119},{"id":1603346400,"open":12795.0,"close":12729.1,"high":12795.0,"low":12728.0,"amount":1.188,"vol":1188,"trade_turnover":15128.0098,"count":123},{"id":1603350000,"open":12728.6,"close":12730.6,"high":12730.6,"low":12728.3,"amount":1.266,"vol":1266,"trade_turnover":16115.1306,"count":112},{"id":1603353600,"open":12730.3,"close":12770.1,"high":12921.5,"low":12729.9,"amount":1.35,"vol":1350,"trade_turnover":17233.7326,"count":127},{"id":1603357200,"open":12824.9,"close":12780.4,"high":12872.1,"low":12760.1,"amount":0.98,"vol":980,"trade_turnover":12553.9826,"count":99},{"id":1603360800,"open":12784.9,"close":12934.2,"high":13002.7,"low":12775.6,"amount":0.266,"vol":266,"trade_turnover":3415.023,"count":30},{"id":1603364400,"open":12977.0,"close":13045.0,"high":13057.0,"low":12886.6,"amount":1.004,"vol":1004,"trade_turnover":13020.8576,"count":117},{"id":1603368000,"open":12958.5,"close":12847.9,"high":12973.4,"low":12751.6,"amount":1.134,"vol":1134,"trade_turnover":14594.2752,"count":111},{"id":1603371600,"open":12882.7,"close":12931.0,"high":13000.8,"low":12743.0,"amount":1.152,"vol":1152,"trade_turnover":14877.7314,"count":114},{"id":1603375200,"open":12890.4,"close":12917.8,"high":12995.3,"low":12783.9,"amount":1.182,"vol":1182,"trade_turnover":15224.4716,"count":115},{"id":1603378800,"open":12918.8,"close":12953.0,"high":13031.2,"low":12817.9,"amount":1.176,"vol":1176,"trade_turnover":15197.208,"count":117},{"id":1603382400,"open":12923.1,"close":13055.6,"high":13100.2,"low":12865.6,"amount":1.146,"vol":1146,"trade_turnover":14851.9604,"count":119},{"id":1603386000,"open":12967.6,"close":13082.7,"high":13105.7,"low":12835.5,"amount":1.534,"vol":1534,"trade_turnover":19927.8288,"count":124},{"id":1603389600,"open":13020.4,"close":13016.4,"high":13115.0,"low":12938.7,"amount":1.268,"vol":1268,"trade_turnover":16505.4738,"count":117},{"id":1603393200,"open":13028.3,"close":12970.6,"high":13171.2,"low":12961.8,"amount":1.13,"vol":1130,"trade_turnover":14762.952,"count":112},{"id":1603396800,"open":13016.7,"close":13089.3,"high":13216.1,"low":12998.5,"amount":1.206,"vol":1206,"trade_turnover":15807.1226,"count":117},{"id":1603400400,"open":13136.0,"close":13092.0,"high":13203.7,"low":12932.9,"amount":1.332,"vol":1332,"trade_turnover":17423.4422,"count":114},{"id":1603404000,"open":13119.4,"close":13055.9,"high":13250.5,"low":12984.7,"amount":1.21,"vol":1210,"trade_turnover":15876.0632,"count":114},{"id":1603407600,"open":13059.4,"close":12890.4,"high":13126.5,"low":12857.2,"amount":1.286,"vol":1286,"trade_turnover":16688.422,"count":116},{"id":1603411200,"open":12929.7,"close":12892.2,"high":12994.0,"low":12751.6,"amount":1.502,"vol":1502,"trade_turnover":19331.1596,"count":131},{"id":1603414800,"open":12921.7,"close":12898.3,"high":13003.2,"low":12786.0,"amount":1.386,"vol":1386,"trade_turnover":17904.8902,"count":121},{"id":1603418400,"open":12951.6,"close":12975.1,"high":13054.0,"low":12800.7,"amount":1.416,"vol":1416,"trade_turnover":18306.6204,"count":122},{"id":1603422000,"open":12967.3,"close":12947.0,"high":13030.7,"low":12875.0,"amount":1.19,"vol":1190,"trade_turnover":15409.7984,"count":118},{"id":1603425600,"open":12925.2,"close":12852.0,"high":13047.3,"low":12832.8,"amount":1.022,"vol":1022,"trade_turnover":13214.4388,"count":127},{"id":1603429200,"open":12859.0,"close":12931.1,"high":12991.7,"low":12841.2,"amount":0.478,"vol":478,"trade_turnover":6180.2486,"count":118},{"id":1603432800,"open":12935.9,"close":12939.6,"high":13014.1,"low":12871.9,"amount":0.522,"vol":522,"trade_turnover":6759.0324,"count":132},{"id":1603436400,"open":12923.1,"close":12925.4,"high":12998.9,"low":12917.1,"amount":0.476,"vol":476,"trade_turnover":6163.3118,"count":118},{"id":1603440000,"open":12942.2,"close":12962.6,"high":13014.0,"low":12916.1,"amount":0.508,"vol":508,"trade_turnover":6585.3656,"count":122},{"id":1603443600,"open":12970.5,"close":12926.4,"high":13012.5,"low":12909.9,"amount":0.564,"vol":564,"trade_turnover":7308.8828,"count":124},{"id":1603447200,"open":13001.2,"close":13007.7,"high":13059.5,"low":12925.7,"amount":0.536,"vol":536,"trade_turnover":6957.8796,"count":124},{"id":1603450800,"open":13025.4,"close":12970.6,"high":13078.4,"low":12906.5,"amount":0.486,"vol":486,"trade_turnover":6326.1434,"count":122},{"id":1603454400,"open":12963.9,"close":12935.4,"high":13025.0,"low":12850.8,"amount":0.494,"vol":494,"trade_turnover":6396.0984,"count":117},{"id":1603458000,"open":12913.3,"close":12951.7,"high":13043.3,"low":12911.0,"amount":0.466,"vol":466,"trade_turnover":6049.1412,"count":117},{"id":1603461600,"open":12999.6,"close":12858.8,"high":13006.4,"low":12840.4,"amount":0.46,"vol":460,"trade_turnover":5941.815,"count":116},{"id":1603465200,"open":12885.7,"close":12881.9,"high":12932.9,"low":12826.5,"amount":0.492,"vol":492,"trade_turnover":6340.214,"count":117},{"id":1603468800,"open":12854.4,"close":12784.1,"high":12933.5,"low":12744.4,"amount":0.484,"vol":484,"trade_turnover":6205.4138,"count":123},{"id":1603472400,"open":12832.3,"close":12847.7,"high":12893.1,"low":12730.1,"amount":0.562,"vol":562,"trade_turnover":7218.9184,"count":152},{"id":1603476000,"open":12874.1,"close":12915.7,"high":12939.3,"low":12751.4,"amount":0.53,"vol":530,"trade_turnover":6825.7004,"count":128},{"id":1603479600,"open":12867.9,"close":12972.9,"high":12972.9,"low":12786.6,"amount":0.444,"vol":444,"trade_turnover":5727.7452,"count":117},{"id":1603483200,"open":12956.7,"close":12991.6,"high":13002.2,"low":12842.9,"amount":0.492,"vol":492,"trade_turnover":6375.1566,"count":116},{"id":1603486800,"open":13004.3,"close":12943.5,"high":13004.3,"low":12936.6,"amount":0.5,"vol":500,"trade_turnover":6485.468,"count":125},{"id":1603490400,"open":12923.6,"close":12989.2,"high":13010.3,"low":12884.7,"amount":0.492,"vol":492,"trade_turnover":6376.1492,"count":120},{"id":1603494000,"open":12974.9,"close":12884.6,"high":13024.4,"low":12884.6,"amount":0.51,"vol":510,"trade_turnover":6622.3406,"count":121},{"id":1603497600,"open":12973.7,"close":12953.9,"high":13018.3,"low":12811.1,"amount":0.488,"vol":488,"trade_turnover":6317.7938,"count":120},{"id":1603501200,"open":12927.5,"close":12934.2,"high":13018.1,"low":12872.8,"amount":0.482,"vol":482,"trade_turnover":6242.4178,"count":117},{"id":1603504800,"open":12971.9,"close":12989.1,"high":13003.9,"low":12903.3,"amount":0.484,"vol":484,"trade_turnover":6278.1756,"count":117},{"id":1603508400,"open":13000.1,"close":12975.9,"high":13013.4,"low":12938.3,"amount":0.474,"vol":474,"trade_turnover":6157.7096,"count":122},{"id":1603512000,"open":12989.7,"close":12963.3,"high":13009.4,"low":12905.5,"amount":0.526,"vol":526,"trade_turnover":6831.5658,"count":124},{"id":1603515600,"open":12910.5,"close":12989.7,"high":13041.8,"low":12875.3,"amount":0.522,"vol":522,"trade_turnover":6768.8994,"count":127},{"id":1603519200,"open":12994.7,"close":13003.6,"high":13058.1,"low":12908.8,"amount":0.49,"vol":490,"trade_turnover":6370.5714,"count":120},{"id":1603522800,"open":13011.9,"close":13004.2,"high":13037.8,"low":12981.7,"amount":0.478,"vol":478,"trade_turnover":6218.9722,"count":120},{"id":1603526400,"open":13003.0,"close":12998.2,"high":13030.6,"low":12899.4,"amount":0.52,"vol":520,"trade_turnover":6754.958,"count":124},{"id":1603530000,"open":12998.2,"close":12990.6,"high":13020.3,"low":12893.6,"amount":0.454,"vol":454,"trade_turnover":5891.0574,"count":115},{"id":1603533600,"open":12996.4,"close":13030.1,"high":13059.1,"low":12913.2,"amount":0.502,"vol":502,"trade_turnover":6525.9004,"count":124},{"id":1603537200,"open":12988.4,"close":13033.2,"high":13068.3,"low":12940.2,"amount":0.468,"vol":468,"trade_turnover":6091.0376,"count":119},{"id":1603540800,"open":13035.3,"close":13006.5,"high":13071.8,"low":12978.9,"amount":0.468,"vol":468,"trade_turnover":6102.5902,"count":123},{"id":1603544400,"open":13038.8,"close":12985.9,"high":13066.7,"low":12928.1,"amount":0.534,"vol":534,"trade_turnover":6950.4268,"count":123},{"id":1603548000,"open":12986.3,"close":13042.0,"high":13100.1,"low":12960.5,"amount":0.47,"vol":470,"trade_turnover":6124.2178,"count":100},{"id":1603551600,"open":13038.4,"close":13102.2,"high":13196.5,"low":13038.4,"amount":0.456,"vol":456,"trade_turnover":5989.6362,"count":120},{"id":1603555200,"open":13136.8,"close":13052.7,"high":13176.6,"low":12984.6,"amount":0.458,"vol":458,"trade_turnover":5976.331,"count":121},{"id":1603558800,"open":13006.2,"close":13177.8,"high":13177.8,"low":13003.2,"amount":0.452,"vol":452,"trade_turnover":5911.7058,"count":118},{"id":1603562400,"open":13127.7,"close":13080.8,"high":13170.7,"low":13023.0,"amount":0.468,"vol":468,"trade_turnover":6122.375,"count":119},{"id":1603566000,"open":13040.7,"close":13148.4,"high":13179.3,"low":13014.2,"amount":0.468,"vol":468,"trade_turnover":6126.4278,"count":120},{"id":1603569600,"open":13073.5,"close":13090.1,"high":13179.6,"low":12992.5,"amount":0.47,"vol":470,"trade_turnover":6151.4758,"count":119},{"id":1603573200,"open":13035.4,"close":12993.9,"high":13148.7,"low":12980.7,"amount":0.458,"vol":458,"trade_turnover":5981.071,"count":117},{"id":1603576800,"open":13040.7,"close":13041.1,"high":13112.1,"low":12975.6,"amount":0.478,"vol":478,"trade_turnover":6225.4216,"count":118},{"id":1603580400,"open":13012.6,"close":13184.3,"high":13184.3,"low":13009.3,"amount":0.472,"vol":472,"trade_turnover":6173.4244,"count":118},{"id":1603584000,"open":13080.8,"close":13154.3,"high":13170.4,"low":13007.7,"amount":0.46,"vol":460,"trade_turnover":6024.09,"count":115},{"id":1603587600,"open":13092.0,"close":13196.1,"high":13196.8,"low":13024.0,"amount":0.398,"vol":398,"trade_turnover":5217.5364,"count":102},{"id":1603591200,"open":13124.7,"close":13082.4,"high":13175.1,"low":13035.0,"amount":0.476,"vol":476,"trade_turnover":6228.6596,"count":120},{"id":1603594800,"open":13049.1,"close":13259.0,"high":13383.8,"low":13049.1,"amount":0.578,"vol":578,"trade_turnover":7629.3886,"count":137},{"id":1603598400,"open":13277.0,"close":13243.4,"high":13369.0,"low":13216.0,"amount":0.47,"vol":470,"trade_turnover":6247.955,"count":122},{"id":1603602000,"open":13285.3,"close":13017.3,"high":13353.3,"low":13010.1,"amount":0.61,"vol":610,"trade_turnover":8048.8598,"count":134},{"id":1603605600,"open":13022.5,"close":13060.3,"high":13105.7,"low":13018.2,"amount":0.486,"vol":486,"trade_turnover":6344.1474,"count":118},{"id":1603609200,"open":13048.5,"close":13078.1,"high":13112.1,"low":13022.0,"amount":0.464,"vol":464,"trade_turnover":6061.5416,"count":120},{"id":1603612800,"open":13077.2,"close":13046.0,"high":13091.0,"low":13017.2,"amount":0.464,"vol":464,"trade_turnover":6055.3734,"count":120},{"id":1603616400,"open":13065.1,"close":13040.8,"high":13084.0,"low":13014.2,"amount":0.478,"vol":478,"trade_turnover":6235.7882,"count":117},{"id":1603620000,"open":13047.1,"close":13028.5,"high":13064.2,"low":13010.2,"amount":0.478,"vol":478,"trade_turnover":6232.2428,"count":125},{"id":1603623600,"open":13061.5,"close":12897.6,"high":13061.5,"low":12852.9,"amount":0.534,"vol":534,"trade_turnover":6918.1226,"count":123},{"id":1603627200,"open":12908.3,"close":12964.3,"high":13069.7,"low":12893.2,"amount":0.444,"vol":444,"trade_turnover":5755.8712,"count":117},{"id":1603630800,"open":13001.3,"close":12949.3,"high":13071.9,"low":12891.8,"amount":0.498,"vol":498,"trade_turnover":6465.078,"count":119},{"id":1603634400,"open":12975.8,"close":12946.8,"high":13077.7,"low":12900.0,"amount":0.468,"vol":468,"trade_turnover":6075.4554,"count":116},{"id":1603638000,"open":12975.2,"close":12883.3,"high":13069.1,"low":12883.3,"amount":0.47,"vol":470,"trade_turnover":6097.1072,"count":119},{"id":1603641600,"open":12916.2,"close":12978.7,"high":13067.9,"low":12877.5,"amount":0.482,"vol":482,"trade_turnover":6256.4472,"count":118},{"id":1603645200,"open":13008.0,"close":13004.4,"high":13087.5,"low":12922.7,"amount":0.47,"vol":470,"trade_turnover":6108.3892,"count":117},{"id":1603648800,"open":12972.8,"close":12957.2,"high":13067.6,"low":12893.6,"amount":0.468,"vol":468,"trade_turnover":6079.1484,"count":118},{"id":1603652400,"open":12996.5,"close":13021.8,"high":13066.9,"low":12916.6,"amount":0.442,"vol":442,"trade_turnover":5746.5548,"count":118},{"id":1603656000,"open":12992.9,"close":12985.4,"high":13081.5,"low":12944.9,"amount":0.508,"vol":508,"trade_turnover":6616.9872,"count":120},{"id":1603659600,"open":12999.9,"close":13011.2,"high":13068.6,"low":12921.4,"amount":0.508,"vol":508,"trade_turnover":6614.816,"count":122},{"id":1603663200,"open":12979.6,"close":12959.4,"high":13073.8,"low":12911.9,"amount":0.486,"vol":486,"trade_turnover":6320.907,"count":121},{"id":1603666800,"open":12963.4,"close":13032.1,"high":13085.2,"low":12927.8,"amount":0.452,"vol":452,"trade_turnover":5878.6442,"count":113},{"id":1603670400,"open":12964.2,"close":13001.0,"high":13076.7,"low":12918.3,"amount":0.482,"vol":482,"trade_turnover":6263.698,"count":121},{"id":1603674000,"open":13040.0,"close":13053.7,"high":13096.4,"low":12991.2,"amount":0.478,"vol":478,"trade_turnover":6232.2328,"count":124},{"id":1603677600,"open":13060.6,"close":13064.4,"high":13185.7,"low":12985.1,"amount":0.488,"vol":488,"trade_turnover":6387.534,"count":121},{"id":1603681200,"open":13032.3,"close":13092.8,"high":13187.2,"low":12984.1,"amount":0.486,"vol":486,"trade_turnover":6369.0272,"count":135},{"id":1603684800,"open":13092.0,"close":13132.6,"high":13181.6,"low":12962.3,"amount":0.51,"vol":510,"trade_turnover":6679.829,"count":131},{"id":1603688400,"open":13129.2,"close":13092.1,"high":13205.3,"low":13025.3,"amount":0.506,"vol":506,"trade_turnover":6641.2128,"count":126},{"id":1603692000,"open":13121.8,"close":13071.4,"high":13188.1,"low":12989.8,"amount":1.616,"vol":1616,"trade_turnover":21170.8224,"count":141},{"id":1603695600,"open":13061.0,"close":13038.7,"high":13100.0,"low":12965.2,"amount":3.746,"vol":3746,"trade_turnover":48924.8902,"count":110},{"id":1603699200,"open":13030.9,"close":13039.3,"high":13102.0,"low":12852.8,"amount":8.966,"vol":8966,"trade_turnover":116525.5534,"count":173},{"id":1603702800,"open":13047.1,"close":13075.9,"high":13088.4,"low":13039.8,"amount":4.48,"vol":4480,"trade_turnover":58521.1714,"count":124},{"id":1603706400,"open":13072.1,"close":13100.0,"high":13100.0,"low":13060.2,"amount":4.272,"vol":4272,"trade_turnover":55895.9778,"count":130},{"id":1603710000,"open":13100.0,"close":13138.4,"high":13159.0,"low":13100.0,"amount":29.798,"vol":29798,"trade_turnover":391138.024,"count":230},{"id":1603713600,"open":13138.8,"close":13149.8,"high":13200.0,"low":13100.0,"amount":5.154,"vol":5154,"trade_turnover":67694.652,"count":188},{"id":1603717200,"open":13150.0,"close":13205.8,"high":13351.5,"low":13133.1,"amount":35.608,"vol":35608,"trade_turnover":472780.3394,"count":328},{"id":1603720800,"open":13203.0,"close":13166.1,"high":13280.0,"low":13144.1,"amount":31.748,"vol":31748,"trade_turnover":418744.5588,"count":235},{"id":1603724400,"open":13159.0,"close":12978.0,"high":13165.2,"low":12903.8,"amount":36.53,"vol":36530,"trade_turnover":476940.3296,"count":384},{"id":1603728000,"open":12965.0,"close":12869.6,"high":13069.8,"low":12850.5,"amount":35.018,"vol":35018,"trade_turnover":453288.918,"count":323},{"id":1603731600,"open":12879.2,"close":12873.8,"high":12941.5,"low":12583.9,"amount":92.628,"vol":92628,"trade_turnover":1185973.467,"count":560},{"id":1603735200,"open":12856.2,"close":12946.8,"high":12954.5,"low":12820.4,"amount":4.302,"vol":4302,"trade_turnover":55481.0054,"count":128},{"id":1603738800,"open":12945.6,"close":12953.4,"high":12953.5,"low":12914.1,"amount":13.83,"vol":13830,"trade_turnover":179112.1598,"count":118},{"id":1603742400,"open":12953.5,"close":12983.4,"high":13007.5,"low":12953.5,"amount":17.172,"vol":17172,"trade_turnover":223230.2122,"count":132},{"id":1603746000,"open":12983.1,"close":12993.8,"high":13007.5,"low":12982.7,"amount":3.212,"vol":3212,"trade_turnover":41767.8906,"count":59},{"id":1603749600,"open":13002.1,"close":13007.5,"high":13007.5,"low":12974.0,"amount":1.504,"vol":1504,"trade_turnover":19543.3568,"count":74},{"id":1603753200,"open":13007.5,"close":13033.7,"high":13061.2,"low":13007.5,"amount":3.454,"vol":3454,"trade_turnover":45001.601,"count":101},{"id":1603756800,"open":13029.2,"close":13067.1,"high":13105.0,"low":13028.3,"amount":8.784,"vol":8784,"trade_turnover":114871.8246,"count":98},{"id":1603760400,"open":13074.3,"close":13061.7,"high":13074.4,"low":13051.5,"amount":11.592,"vol":11592,"trade_turnover":151386.9038,"count":66},{"id":1603764000,"open":13061.7,"close":13049.7,"high":13097.6,"low":13040.1,"amount":19.298,"vol":19298,"trade_turnover":252061.019,"count":109},{"id":1603767600,"open":13057.6,"close":13070.4,"high":13080.0,"low":13057.1,"amount":22.992,"vol":22992,"trade_turnover":300453.9788,"count":69},{"id":1603771200,"open":13080.0,"close":13103.3,"high":13175.0,"low":13079.6,"amount":14.396,"vol":14396,"trade_turnover":188461.9156,"count":59},{"id":1603774800,"open":13121.3,"close":13073.6,"high":13121.3,"low":13069.7,"amount":5.058,"vol":5058,"trade_turnover":66201.3552,"count":44},{"id":1603778400,"open":13074.9,"close":13103.4,"high":13149.0,"low":13069.6,"amount":9.106,"vol":9106,"trade_turnover":119104.8906,"count":107},{"id":1603782000,"open":13103.3,"close":13130.0,"high":13169.8,"low":12992.4,"amount":73.95,"vol":73950,"trade_turnover":968195.155,"count":305},{"id":1603785600,"open":13135.1,"close":13123.8,"high":13148.4,"low":13044.0,"amount":18.732,"vol":18732,"trade_turnover":245533.5448,"count":135},{"id":1603789200,"open":13115.5,"close":13131.7,"high":13131.8,"low":13075.7,"amount":13.756,"vol":13756,"trade_turnover":180253.7708,"count":102},{"id":1603792800,"open":13134.8,"close":13216.9,"high":13252.0,"low":13063.4,"amount":154.108,"vol":154108,"trade_turnover":2029983.656,"count":525},{"id":1603796400,"open":13218.8,"close":13395.8,"high":13590.1,"low":13213.5,"amount":170.09,"vol":170090,"trade_turnover":2276279.742,"count":591},{"id":1603800000,"open":13395.9,"close":13376.9,"high":13414.0,"low":13331.7,"amount":48.928,"vol":48928,"trade_turnover":654585.9108,"count":216},{"id":1603803600,"open":13376.5,"close":13384.3,"high":13490.9,"low":13329.8,"amount":63.294,"vol":63294,"trade_turnover":848130.9212,"count":316},{"id":1603807200,"open":13392.6,"close":13398.2,"high":13415.8,"low":13344.8,"amount":12.892,"vol":12892,"trade_turnover":172618.6864,"count":124},{"id":1603810800,"open":13398.2,"close":13598.5,"high":13626.7,"low":13398.2,"amount":93.22,"vol":93220,"trade_turnover":1262695.5466,"count":476},{"id":1603814400,"open":13595.8,"close":13639.9,"high":13639.9,"low":13520.2,"amount":85.45,"vol":85450,"trade_turnover":1161481.4136,"count":435},{"id":1603818000,"open":13640.0,"close":13688.1,"high":13826.7,"low":13589.0,"amount":191.812,"vol":191812,"trade_turnover":2628428.3788,"count":711},{"id":1603821600,"open":13685.0,"close":13630.1,"high":13745.0,"low":13528.2,"amount":65.434,"vol":65434,"trade_turnover":891541.8394,"count":410},{"id":1603825200,"open":13629.4,"close":13637.1,"high":13659.8,"low":13595.4,"amount":5.788,"vol":5788,"trade_turnover":78836.2578,"count":65},{"id":1603828800,"open":13644.4,"close":13616.6,"high":13805.1,"low":13582.6,"amount":163.104,"vol":163104,"trade_turnover":2234040.3544,"count":537},{"id":1603832400,"open":13609.8,"close":13705.5,"high":13753.5,"low":13609.8,"amount":9.884,"vol":9884,"trade_turnover":135406.4752,"count":101},{"id":1603836000,"open":13705.4,"close":13739.9,"high":13739.9,"low":13658.2,"amount":7.436,"vol":7436,"trade_turnover":101840.3508,"count":100},{"id":1603839600,"open":13739.9,"close":13649.6,"high":13794.6,"low":13582.6,"amount":17.086,"vol":17086,"trade_turnover":233971.8448,"count":234},{"id":1603843200,"open":13645.9,"close":13701.7,"high":13745.2,"low":13618.8,"amount":24.108,"vol":24108,"trade_turnover":330206.5694,"count":177},{"id":1603846800,"open":13702.1,"close":13702.6,"high":13725.6,"low":13647.9,"amount":15.892,"vol":15892,"trade_turnover":217816.7008,"count":151},{"id":1603850400,"open":13701.7,"close":13811.6,"high":13832.2,"low":13680.2,"amount":46.548,"vol":46548,"trade_turnover":640636.0352,"count":274},{"id":1603854000,"open":13818.5,"close":13777.0,"high":13820.3,"low":13717.5,"amount":67.896,"vol":67896,"trade_turnover":935838.2238,"count":320},{"id":1603857600,"open":13767.3,"close":13735.7,"high":13807.2,"low":13710.0,"amount":33.156,"vol":33156,"trade_turnover":455941.234,"count":210},{"id":1603861200,"open":13735.5,"close":13715.8,"high":13753.9,"low":13671.3,"amount":32.076,"vol":32076,"trade_turnover":439612.64,"count":198},{"id":1603864800,"open":13715.9,"close":13701.3,"high":13757.0,"low":13694.9,"amount":14.756,"vol":14756,"trade_turnover":202602.5164,"count":122},{"id":1603868400,"open":13701.2,"close":13674.2,"high":13708.7,"low":13550.0,"amount":155.534,"vol":155534,"trade_turnover":2117935.0928,"count":635},{"id":1603872000,"open":13673.0,"close":13691.7,"high":13691.7,"low":13584.0,"amount":29.846,"vol":29846,"trade_turnover":407073.1398,"count":240},{"id":1603875600,"open":13689.3,"close":13587.1,"high":13707.5,"low":13573.5,"amount":104.542,"vol":104542,"trade_turnover":1425079.9344,"count":377},{"id":1603879200,"open":13584.6,"close":13552.7,"high":13618.0,"low":13504.7,"amount":73.818,"vol":73818,"trade_turnover":1001666.0908,"count":358},{"id":1603882800,"open":13552.6,"close":13336.4,"high":13565.4,"low":13330.0,"amount":176.544,"vol":176544,"trade_turnover":2369166.1492,"count":1004},{"id":1603886400,"open":13331.5,"close":13300.3,"high":13385.0,"low":13173.9,"amount":289.73,"vol":289730,"trade_turnover":3846751.7166,"count":968},{"id":1603890000,"open":13300.2,"close":13129.9,"high":13340.0,"low":13122.9,"amount":139.822,"vol":139822,"trade_turnover":1848876.932,"count":612},{"id":1603893600,"open":13123.4,"close":13082.2,"high":13168.2,"low":12915.9,"amount":367.876,"vol":367876,"trade_turnover":4802516.9818,"count":1168},{"id":1603897200,"open":13077.1,"close":13221.2,"high":13235.2,"low":13052.3,"amount":84.044,"vol":84044,"trade_turnover":1106883.1282,"count":375},{"id":1603900800,"open":13218.7,"close":13145.1,"high":13218.7,"low":13050.0,"amount":29.566,"vol":29566,"trade_turnover":388697.4104,"count":244},{"id":1603904400,"open":13145.1,"close":13176.7,"high":13204.9,"low":13006.6,"amount":53.336,"vol":53336,"trade_turnover":700385.2784,"count":299},{"id":1603908000,"open":13171.0,"close":13196.5,"high":13219.6,"low":13131.0,"amount":34.164,"vol":34164,"trade_turnover":450210.5778,"count":218},{"id":1603911600,"open":13200.0,"close":13154.9,"high":13237.4,"low":13145.0,"amount":22.158,"vol":22158,"trade_turnover":292020.0438,"count":185},{"id":1603915200,"open":13154.5,"close":13198.1,"high":13211.8,"low":13147.4,"amount":4.548,"vol":4548,"trade_turnover":59991.1118,"count":75},{"id":1603918800,"open":13193.5,"close":13190.1,"high":13196.5,"low":13100.2,"amount":3.52,"vol":3520,"trade_turnover":46175.428,"count":68},{"id":1603922400,"open":13185.4,"close":13252.0,"high":13267.5,"low":13185.4,"amount":3.122,"vol":3122,"trade_turnover":41304.2018,"count":72},{"id":1603926000,"open":13242.1,"close":13265.9,"high":13282.3,"low":13235.9,"amount":14.768,"vol":14768,"trade_turnover":195689.0764,"count":86},{"id":1603929600,"open":13253.9,"close":13245.1,"high":13294.7,"low":13237.4,"amount":19.968,"vol":19968,"trade_turnover":264834.1944,"count":98},{"id":1603933200,"open":13244.6,"close":13274.2,"high":13285.3,"low":13166.3,"amount":35.282,"vol":35282,"trade_turnover":465789.6302,"count":192},{"id":1603936800,"open":13275.9,"close":13241.1,"high":13277.7,"low":13212.2,"amount":9.748,"vol":9748,"trade_turnover":129016.0684,"count":119},{"id":1603940400,"open":13237.1,"close":13262.5,"high":13262.5,"low":13174.6,"amount":27.3,"vol":27300,"trade_turnover":360589.8982,"count":199},{"id":1603944000,"open":13269.1,"close":13229.5,"high":13277.7,"low":13229.5,"amount":18.904,"vol":18904,"trade_turnover":250713.2812,"count":109},{"id":1603947600,"open":13228.5,"close":13274.8,"high":13274.8,"low":13228.5,"amount":15.822,"vol":15822,"trade_turnover":209781.909,"count":134},{"id":1603951200,"open":13274.8,"close":13255.0,"high":13323.0,"low":13242.3,"amount":91.246,"vol":91246,"trade_turnover":1211271.2788,"count":294},{"id":1603954800,"open":13255.0,"close":13142.4,"high":13269.3,"low":13123.1,"amount":187.622,"vol":187622,"trade_turnover":2478299.7074,"count":506},{"id":1603958400,"open":13145.9,"close":13124.8,"high":13182.4,"low":13094.1,"amount":69.532,"vol":69532,"trade_turnover":914157.2418,"count":226},{"id":1603962000,"open":13129.5,"close":13183.7,"high":13197.1,"low":13129.5,"amount":23.184,"vol":23184,"trade_turnover":305485.9524,"count":141},{"id":1603965600,"open":13184.8,"close":13105.2,"high":13187.5,"low":13053.1,"amount":121.146,"vol":121146,"trade_turnover":1590026.4416,"count":442},{"id":1603969200,"open":13105.1,"close":13060.1,"high":13171.4,"low":13060.1,"amount":47.498,"vol":47498,"trade_turnover":623578.149,"count":262},{"id":1603972800,"open":13056.9,"close":13131.8,"high":13145.8,"low":12977.9,"amount":126.552,"vol":126552,"trade_turnover":1652549.311,"count":481},{"id":1603976400,"open":13131.7,"close":13230.0,"high":13237.2,"low":13102.0,"amount":100.482,"vol":100482,"trade_turnover":1326403.7206,"count":325},{"id":1603980000,"open":13231.0,"close":13420.8,"high":13476.1,"low":13231.0,"amount":253.258,"vol":253258,"trade_turnover":3384941.438,"count":752},{"id":1603983600,"open":13416.0,"close":13420.6,"high":13458.7,"low":13358.7,"amount":64.71,"vol":64710,"trade_turnover":869052.3804,"count":269},{"id":1603987200,"open":13421.9,"close":13535.9,"high":13594.5,"low":13391.8,"amount":120.24,"vol":120240,"trade_turnover":1626567.8278,"count":570}]} +2024-01-18 11:12:50.868 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:41] - 请求 KLine 数据解析之后的数据为:{"wsid":19750305,"data":[{"amount":0.276,"high":12300.0,"vol":276,"low":11715.8,"count":39,"id":1603270800,"close":12196.7,"tradeTurnover":3315.9104,"open":12198.0},{"amount":0.198,"high":12289.9,"vol":198,"low":12111.0,"count":21,"id":1603274400,"close":12277.9,"tradeTurnover":2420.7728,"open":12196.7},{"amount":0.012,"high":12277.9,"vol":12,"low":12000.0,"count":5,"id":1603278000,"close":12000.0,"tradeTurnover":145.2238,"open":12111.0},{"amount":0.084,"high":12498.0,"vol":84,"low":12078.0,"count":12,"id":1603281600,"close":12497.4,"tradeTurnover":1040.0504,"open":12078.0},{"amount":1.122,"high":12495.6,"vol":1122,"low":12282.9,"count":112,"id":1603285200,"close":12373.5,"tradeTurnover":13905.3124,"open":12495.6},{"amount":5.29,"high":12807.6,"vol":5290,"low":12358.1,"count":155,"id":1603288800,"close":12689.9,"tradeTurnover":66852.128,"open":12412.9},{"amount":1.174,"high":12778.7,"vol":1174,"low":12573.2,"count":113,"id":1603292400,"close":12701.9,"tradeTurnover":14907.367,"open":12692.8},{"amount":1.156,"high":12920.9,"vol":1156,"low":12624.8,"count":115,"id":1603296000,"close":12835.9,"tradeTurnover":14802.449,"open":12679.7},{"amount":1.12,"high":12908.3,"vol":1120,"low":12687.5,"count":115,"id":1603299600,"close":12754.2,"tradeTurnover":14345.7324,"open":12848.3},{"amount":1.106,"high":12849.0,"vol":1106,"low":12668.3,"count":114,"id":1603303200,"close":12740.2,"tradeTurnover":14105.3504,"open":12743.7},{"amount":1.032,"high":12843.1,"vol":1032,"low":12597.2,"count":112,"id":1603306800,"close":12650.3,"tradeTurnover":13125.4568,"open":12729.5},{"amount":1.154,"high":12848.4,"vol":1154,"low":12610.2,"count":116,"id":1603310400,"close":12807.0,"tradeTurnover":14680.638,"open":12666.8},{"amount":1.164,"high":13005.1,"vol":1164,"low":12748.2,"count":114,"id":1603314000,"close":12938.9,"tradeTurnover":14976.9366,"open":12866.0},{"amount":1.174,"high":13211.2,"vol":1174,"low":12865.7,"count":114,"id":1603317600,"close":13122.0,"tradeTurnover":15285.2446,"open":12921.0},{"amount":1.172,"high":13173.2,"vol":1172,"low":12688.6,"count":117,"id":1603321200,"close":12829.8,"tradeTurnover":15060.9938,"open":13153.2},{"amount":1.17,"high":12988.1,"vol":1170,"low":12764.4,"count":117,"id":1603324800,"close":12885.9,"tradeTurnover":15046.2046,"open":12793.1},{"amount":1.158,"high":12972.6,"vol":1158,"low":12757.5,"count":118,"id":1603328400,"close":12757.5,"tradeTurnover":14882.4656,"open":12860.4},{"amount":1.124,"high":12848.0,"vol":1124,"low":12729.0,"count":115,"id":1603332000,"close":12788.8,"tradeTurnover":14368.7948,"open":12824.1},{"amount":1.194,"high":12834.4,"vol":1194,"low":12729.0,"count":111,"id":1603335600,"close":12767.2,"tradeTurnover":15268.9298,"open":12791.7},{"amount":1.152,"high":12778.3,"vol":1152,"low":12729.0,"count":115,"id":1603339200,"close":12762.2,"tradeTurnover":14695.4876,"open":12729.0},{"amount":1.21,"high":12842.0,"vol":1210,"low":12730.6,"count":119,"id":1603342800,"close":12813.8,"tradeTurnover":15440.8162,"open":12763.1},{"amount":1.188,"high":12795.0,"vol":1188,"low":12728.0,"count":123,"id":1603346400,"close":12729.1,"tradeTurnover":15128.0098,"open":12795.0},{"amount":1.266,"high":12730.6,"vol":1266,"low":12728.3,"count":112,"id":1603350000,"close":12730.6,"tradeTurnover":16115.1306,"open":12728.6},{"amount":1.35,"high":12921.5,"vol":1350,"low":12729.9,"count":127,"id":1603353600,"close":12770.1,"tradeTurnover":17233.7326,"open":12730.3},{"amount":0.98,"high":12872.1,"vol":980,"low":12760.1,"count":99,"id":1603357200,"close":12780.4,"tradeTurnover":12553.9826,"open":12824.9},{"amount":0.266,"high":13002.7,"vol":266,"low":12775.6,"count":30,"id":1603360800,"close":12934.2,"tradeTurnover":3415.023,"open":12784.9},{"amount":1.004,"high":13057.0,"vol":1004,"low":12886.6,"count":117,"id":1603364400,"close":13045.0,"tradeTurnover":13020.8576,"open":12977.0},{"amount":1.134,"high":12973.4,"vol":1134,"low":12751.6,"count":111,"id":1603368000,"close":12847.9,"tradeTurnover":14594.2752,"open":12958.5},{"amount":1.152,"high":13000.8,"vol":1152,"low":12743.0,"count":114,"id":1603371600,"close":12931.0,"tradeTurnover":14877.7314,"open":12882.7},{"amount":1.182,"high":12995.3,"vol":1182,"low":12783.9,"count":115,"id":1603375200,"close":12917.8,"tradeTurnover":15224.4716,"open":12890.4},{"amount":1.176,"high":13031.2,"vol":1176,"low":12817.9,"count":117,"id":1603378800,"close":12953.0,"tradeTurnover":15197.208,"open":12918.8},{"amount":1.146,"high":13100.2,"vol":1146,"low":12865.6,"count":119,"id":1603382400,"close":13055.6,"tradeTurnover":14851.9604,"open":12923.1},{"amount":1.534,"high":13105.7,"vol":1534,"low":12835.5,"count":124,"id":1603386000,"close":13082.7,"tradeTurnover":19927.8288,"open":12967.6},{"amount":1.268,"high":13115.0,"vol":1268,"low":12938.7,"count":117,"id":1603389600,"close":13016.4,"tradeTurnover":16505.4738,"open":13020.4},{"amount":1.13,"high":13171.2,"vol":1130,"low":12961.8,"count":112,"id":1603393200,"close":12970.6,"tradeTurnover":14762.952,"open":13028.3},{"amount":1.206,"high":13216.1,"vol":1206,"low":12998.5,"count":117,"id":1603396800,"close":13089.3,"tradeTurnover":15807.1226,"open":13016.7},{"amount":1.332,"high":13203.7,"vol":1332,"low":12932.9,"count":114,"id":1603400400,"close":13092.0,"tradeTurnover":17423.4422,"open":13136.0},{"amount":1.21,"high":13250.5,"vol":1210,"low":12984.7,"count":114,"id":1603404000,"close":13055.9,"tradeTurnover":15876.0632,"open":13119.4},{"amount":1.286,"high":13126.5,"vol":1286,"low":12857.2,"count":116,"id":1603407600,"close":12890.4,"tradeTurnover":16688.422,"open":13059.4},{"amount":1.502,"high":12994.0,"vol":1502,"low":12751.6,"count":131,"id":1603411200,"close":12892.2,"tradeTurnover":19331.1596,"open":12929.7},{"amount":1.386,"high":13003.2,"vol":1386,"low":12786.0,"count":121,"id":1603414800,"close":12898.3,"tradeTurnover":17904.8902,"open":12921.7},{"amount":1.416,"high":13054.0,"vol":1416,"low":12800.7,"count":122,"id":1603418400,"close":12975.1,"tradeTurnover":18306.6204,"open":12951.6},{"amount":1.19,"high":13030.7,"vol":1190,"low":12875.0,"count":118,"id":1603422000,"close":12947.0,"tradeTurnover":15409.7984,"open":12967.3},{"amount":1.022,"high":13047.3,"vol":1022,"low":12832.8,"count":127,"id":1603425600,"close":12852.0,"tradeTurnover":13214.4388,"open":12925.2},{"amount":0.478,"high":12991.7,"vol":478,"low":12841.2,"count":118,"id":1603429200,"close":12931.1,"tradeTurnover":6180.2486,"open":12859.0},{"amount":0.522,"high":13014.1,"vol":522,"low":12871.9,"count":132,"id":1603432800,"close":12939.6,"tradeTurnover":6759.0324,"open":12935.9},{"amount":0.476,"high":12998.9,"vol":476,"low":12917.1,"count":118,"id":1603436400,"close":12925.4,"tradeTurnover":6163.3118,"open":12923.1},{"amount":0.508,"high":13014.0,"vol":508,"low":12916.1,"count":122,"id":1603440000,"close":12962.6,"tradeTurnover":6585.3656,"open":12942.2},{"amount":0.564,"high":13012.5,"vol":564,"low":12909.9,"count":124,"id":1603443600,"close":12926.4,"tradeTurnover":7308.8828,"open":12970.5},{"amount":0.536,"high":13059.5,"vol":536,"low":12925.7,"count":124,"id":1603447200,"close":13007.7,"tradeTurnover":6957.8796,"open":13001.2},{"amount":0.486,"high":13078.4,"vol":486,"low":12906.5,"count":122,"id":1603450800,"close":12970.6,"tradeTurnover":6326.1434,"open":13025.4},{"amount":0.494,"high":13025.0,"vol":494,"low":12850.8,"count":117,"id":1603454400,"close":12935.4,"tradeTurnover":6396.0984,"open":12963.9},{"amount":0.466,"high":13043.3,"vol":466,"low":12911.0,"count":117,"id":1603458000,"close":12951.7,"tradeTurnover":6049.1412,"open":12913.3},{"amount":0.46,"high":13006.4,"vol":460,"low":12840.4,"count":116,"id":1603461600,"close":12858.8,"tradeTurnover":5941.815,"open":12999.6},{"amount":0.492,"high":12932.9,"vol":492,"low":12826.5,"count":117,"id":1603465200,"close":12881.9,"tradeTurnover":6340.214,"open":12885.7},{"amount":0.484,"high":12933.5,"vol":484,"low":12744.4,"count":123,"id":1603468800,"close":12784.1,"tradeTurnover":6205.4138,"open":12854.4},{"amount":0.562,"high":12893.1,"vol":562,"low":12730.1,"count":152,"id":1603472400,"close":12847.7,"tradeTurnover":7218.9184,"open":12832.3},{"amount":0.53,"high":12939.3,"vol":530,"low":12751.4,"count":128,"id":1603476000,"close":12915.7,"tradeTurnover":6825.7004,"open":12874.1},{"amount":0.444,"high":12972.9,"vol":444,"low":12786.6,"count":117,"id":1603479600,"close":12972.9,"tradeTurnover":5727.7452,"open":12867.9},{"amount":0.492,"high":13002.2,"vol":492,"low":12842.9,"count":116,"id":1603483200,"close":12991.6,"tradeTurnover":6375.1566,"open":12956.7},{"amount":0.5,"high":13004.3,"vol":500,"low":12936.6,"count":125,"id":1603486800,"close":12943.5,"tradeTurnover":6485.468,"open":13004.3},{"amount":0.492,"high":13010.3,"vol":492,"low":12884.7,"count":120,"id":1603490400,"close":12989.2,"tradeTurnover":6376.1492,"open":12923.6},{"amount":0.51,"high":13024.4,"vol":510,"low":12884.6,"count":121,"id":1603494000,"close":12884.6,"tradeTurnover":6622.3406,"open":12974.9},{"amount":0.488,"high":13018.3,"vol":488,"low":12811.1,"count":120,"id":1603497600,"close":12953.9,"tradeTurnover":6317.7938,"open":12973.7},{"amount":0.482,"high":13018.1,"vol":482,"low":12872.8,"count":117,"id":1603501200,"close":12934.2,"tradeTurnover":6242.4178,"open":12927.5},{"amount":0.484,"high":13003.9,"vol":484,"low":12903.3,"count":117,"id":1603504800,"close":12989.1,"tradeTurnover":6278.1756,"open":12971.9},{"amount":0.474,"high":13013.4,"vol":474,"low":12938.3,"count":122,"id":1603508400,"close":12975.9,"tradeTurnover":6157.7096,"open":13000.1},{"amount":0.526,"high":13009.4,"vol":526,"low":12905.5,"count":124,"id":1603512000,"close":12963.3,"tradeTurnover":6831.5658,"open":12989.7},{"amount":0.522,"high":13041.8,"vol":522,"low":12875.3,"count":127,"id":1603515600,"close":12989.7,"tradeTurnover":6768.8994,"open":12910.5},{"amount":0.49,"high":13058.1,"vol":490,"low":12908.8,"count":120,"id":1603519200,"close":13003.6,"tradeTurnover":6370.5714,"open":12994.7},{"amount":0.478,"high":13037.8,"vol":478,"low":12981.7,"count":120,"id":1603522800,"close":13004.2,"tradeTurnover":6218.9722,"open":13011.9},{"amount":0.52,"high":13030.6,"vol":520,"low":12899.4,"count":124,"id":1603526400,"close":12998.2,"tradeTurnover":6754.958,"open":13003.0},{"amount":0.454,"high":13020.3,"vol":454,"low":12893.6,"count":115,"id":1603530000,"close":12990.6,"tradeTurnover":5891.0574,"open":12998.2},{"amount":0.502,"high":13059.1,"vol":502,"low":12913.2,"count":124,"id":1603533600,"close":13030.1,"tradeTurnover":6525.9004,"open":12996.4},{"amount":0.468,"high":13068.3,"vol":468,"low":12940.2,"count":119,"id":1603537200,"close":13033.2,"tradeTurnover":6091.0376,"open":12988.4},{"amount":0.468,"high":13071.8,"vol":468,"low":12978.9,"count":123,"id":1603540800,"close":13006.5,"tradeTurnover":6102.5902,"open":13035.3},{"amount":0.534,"high":13066.7,"vol":534,"low":12928.1,"count":123,"id":1603544400,"close":12985.9,"tradeTurnover":6950.4268,"open":13038.8},{"amount":0.47,"high":13100.1,"vol":470,"low":12960.5,"count":100,"id":1603548000,"close":13042.0,"tradeTurnover":6124.2178,"open":12986.3},{"amount":0.456,"high":13196.5,"vol":456,"low":13038.4,"count":120,"id":1603551600,"close":13102.2,"tradeTurnover":5989.6362,"open":13038.4},{"amount":0.458,"high":13176.6,"vol":458,"low":12984.6,"count":121,"id":1603555200,"close":13052.7,"tradeTurnover":5976.331,"open":13136.8},{"amount":0.452,"high":13177.8,"vol":452,"low":13003.2,"count":118,"id":1603558800,"close":13177.8,"tradeTurnover":5911.7058,"open":13006.2},{"amount":0.468,"high":13170.7,"vol":468,"low":13023.0,"count":119,"id":1603562400,"close":13080.8,"tradeTurnover":6122.375,"open":13127.7},{"amount":0.468,"high":13179.3,"vol":468,"low":13014.2,"count":120,"id":1603566000,"close":13148.4,"tradeTurnover":6126.4278,"open":13040.7},{"amount":0.47,"high":13179.6,"vol":470,"low":12992.5,"count":119,"id":1603569600,"close":13090.1,"tradeTurnover":6151.4758,"open":13073.5},{"amount":0.458,"high":13148.7,"vol":458,"low":12980.7,"count":117,"id":1603573200,"close":12993.9,"tradeTurnover":5981.071,"open":13035.4},{"amount":0.478,"high":13112.1,"vol":478,"low":12975.6,"count":118,"id":1603576800,"close":13041.1,"tradeTurnover":6225.4216,"open":13040.7},{"amount":0.472,"high":13184.3,"vol":472,"low":13009.3,"count":118,"id":1603580400,"close":13184.3,"tradeTurnover":6173.4244,"open":13012.6},{"amount":0.46,"high":13170.4,"vol":460,"low":13007.7,"count":115,"id":1603584000,"close":13154.3,"tradeTurnover":6024.09,"open":13080.8},{"amount":0.398,"high":13196.8,"vol":398,"low":13024.0,"count":102,"id":1603587600,"close":13196.1,"tradeTurnover":5217.5364,"open":13092.0},{"amount":0.476,"high":13175.1,"vol":476,"low":13035.0,"count":120,"id":1603591200,"close":13082.4,"tradeTurnover":6228.6596,"open":13124.7},{"amount":0.578,"high":13383.8,"vol":578,"low":13049.1,"count":137,"id":1603594800,"close":13259.0,"tradeTurnover":7629.3886,"open":13049.1},{"amount":0.47,"high":13369.0,"vol":470,"low":13216.0,"count":122,"id":1603598400,"close":13243.4,"tradeTurnover":6247.955,"open":13277.0},{"amount":0.61,"high":13353.3,"vol":610,"low":13010.1,"count":134,"id":1603602000,"close":13017.3,"tradeTurnover":8048.8598,"open":13285.3},{"amount":0.486,"high":13105.7,"vol":486,"low":13018.2,"count":118,"id":1603605600,"close":13060.3,"tradeTurnover":6344.1474,"open":13022.5},{"amount":0.464,"high":13112.1,"vol":464,"low":13022.0,"count":120,"id":1603609200,"close":13078.1,"tradeTurnover":6061.5416,"open":13048.5},{"amount":0.464,"high":13091.0,"vol":464,"low":13017.2,"count":120,"id":1603612800,"close":13046.0,"tradeTurnover":6055.3734,"open":13077.2},{"amount":0.478,"high":13084.0,"vol":478,"low":13014.2,"count":117,"id":1603616400,"close":13040.8,"tradeTurnover":6235.7882,"open":13065.1},{"amount":0.478,"high":13064.2,"vol":478,"low":13010.2,"count":125,"id":1603620000,"close":13028.5,"tradeTurnover":6232.2428,"open":13047.1},{"amount":0.534,"high":13061.5,"vol":534,"low":12852.9,"count":123,"id":1603623600,"close":12897.6,"tradeTurnover":6918.1226,"open":13061.5},{"amount":0.444,"high":13069.7,"vol":444,"low":12893.2,"count":117,"id":1603627200,"close":12964.3,"tradeTurnover":5755.8712,"open":12908.3},{"amount":0.498,"high":13071.9,"vol":498,"low":12891.8,"count":119,"id":1603630800,"close":12949.3,"tradeTurnover":6465.078,"open":13001.3},{"amount":0.468,"high":13077.7,"vol":468,"low":12900.0,"count":116,"id":1603634400,"close":12946.8,"tradeTurnover":6075.4554,"open":12975.8},{"amount":0.47,"high":13069.1,"vol":470,"low":12883.3,"count":119,"id":1603638000,"close":12883.3,"tradeTurnover":6097.1072,"open":12975.2},{"amount":0.482,"high":13067.9,"vol":482,"low":12877.5,"count":118,"id":1603641600,"close":12978.7,"tradeTurnover":6256.4472,"open":12916.2},{"amount":0.47,"high":13087.5,"vol":470,"low":12922.7,"count":117,"id":1603645200,"close":13004.4,"tradeTurnover":6108.3892,"open":13008.0},{"amount":0.468,"high":13067.6,"vol":468,"low":12893.6,"count":118,"id":1603648800,"close":12957.2,"tradeTurnover":6079.1484,"open":12972.8},{"amount":0.442,"high":13066.9,"vol":442,"low":12916.6,"count":118,"id":1603652400,"close":13021.8,"tradeTurnover":5746.5548,"open":12996.5},{"amount":0.508,"high":13081.5,"vol":508,"low":12944.9,"count":120,"id":1603656000,"close":12985.4,"tradeTurnover":6616.9872,"open":12992.9},{"amount":0.508,"high":13068.6,"vol":508,"low":12921.4,"count":122,"id":1603659600,"close":13011.2,"tradeTurnover":6614.816,"open":12999.9},{"amount":0.486,"high":13073.8,"vol":486,"low":12911.9,"count":121,"id":1603663200,"close":12959.4,"tradeTurnover":6320.907,"open":12979.6},{"amount":0.452,"high":13085.2,"vol":452,"low":12927.8,"count":113,"id":1603666800,"close":13032.1,"tradeTurnover":5878.6442,"open":12963.4},{"amount":0.482,"high":13076.7,"vol":482,"low":12918.3,"count":121,"id":1603670400,"close":13001.0,"tradeTurnover":6263.698,"open":12964.2},{"amount":0.478,"high":13096.4,"vol":478,"low":12991.2,"count":124,"id":1603674000,"close":13053.7,"tradeTurnover":6232.2328,"open":13040.0},{"amount":0.488,"high":13185.7,"vol":488,"low":12985.1,"count":121,"id":1603677600,"close":13064.4,"tradeTurnover":6387.534,"open":13060.6},{"amount":0.486,"high":13187.2,"vol":486,"low":12984.1,"count":135,"id":1603681200,"close":13092.8,"tradeTurnover":6369.0272,"open":13032.3},{"amount":0.51,"high":13181.6,"vol":510,"low":12962.3,"count":131,"id":1603684800,"close":13132.6,"tradeTurnover":6679.829,"open":13092.0},{"amount":0.506,"high":13205.3,"vol":506,"low":13025.3,"count":126,"id":1603688400,"close":13092.1,"tradeTurnover":6641.2128,"open":13129.2},{"amount":1.616,"high":13188.1,"vol":1616,"low":12989.8,"count":141,"id":1603692000,"close":13071.4,"tradeTurnover":21170.8224,"open":13121.8},{"amount":3.746,"high":13100.0,"vol":3746,"low":12965.2,"count":110,"id":1603695600,"close":13038.7,"tradeTurnover":48924.8902,"open":13061.0},{"amount":8.966,"high":13102.0,"vol":8966,"low":12852.8,"count":173,"id":1603699200,"close":13039.3,"tradeTurnover":116525.5534,"open":13030.9},{"amount":4.48,"high":13088.4,"vol":4480,"low":13039.8,"count":124,"id":1603702800,"close":13075.9,"tradeTurnover":58521.1714,"open":13047.1},{"amount":4.272,"high":13100.0,"vol":4272,"low":13060.2,"count":130,"id":1603706400,"close":13100.0,"tradeTurnover":55895.9778,"open":13072.1},{"amount":29.798,"high":13159.0,"vol":29798,"low":13100.0,"count":230,"id":1603710000,"close":13138.4,"tradeTurnover":391138.024,"open":13100.0},{"amount":5.154,"high":13200.0,"vol":5154,"low":13100.0,"count":188,"id":1603713600,"close":13149.8,"tradeTurnover":67694.652,"open":13138.8},{"amount":35.608,"high":13351.5,"vol":35608,"low":13133.1,"count":328,"id":1603717200,"close":13205.8,"tradeTurnover":472780.3394,"open":13150.0},{"amount":31.748,"high":13280.0,"vol":31748,"low":13144.1,"count":235,"id":1603720800,"close":13166.1,"tradeTurnover":418744.5588,"open":13203.0},{"amount":36.53,"high":13165.2,"vol":36530,"low":12903.8,"count":384,"id":1603724400,"close":12978.0,"tradeTurnover":476940.3296,"open":13159.0},{"amount":35.018,"high":13069.8,"vol":35018,"low":12850.5,"count":323,"id":1603728000,"close":12869.6,"tradeTurnover":453288.918,"open":12965.0},{"amount":92.628,"high":12941.5,"vol":92628,"low":12583.9,"count":560,"id":1603731600,"close":12873.8,"tradeTurnover":1185973.467,"open":12879.2},{"amount":4.302,"high":12954.5,"vol":4302,"low":12820.4,"count":128,"id":1603735200,"close":12946.8,"tradeTurnover":55481.0054,"open":12856.2},{"amount":13.83,"high":12953.5,"vol":13830,"low":12914.1,"count":118,"id":1603738800,"close":12953.4,"tradeTurnover":179112.1598,"open":12945.6},{"amount":17.172,"high":13007.5,"vol":17172,"low":12953.5,"count":132,"id":1603742400,"close":12983.4,"tradeTurnover":223230.2122,"open":12953.5},{"amount":3.212,"high":13007.5,"vol":3212,"low":12982.7,"count":59,"id":1603746000,"close":12993.8,"tradeTurnover":41767.8906,"open":12983.1},{"amount":1.504,"high":13007.5,"vol":1504,"low":12974.0,"count":74,"id":1603749600,"close":13007.5,"tradeTurnover":19543.3568,"open":13002.1},{"amount":3.454,"high":13061.2,"vol":3454,"low":13007.5,"count":101,"id":1603753200,"close":13033.7,"tradeTurnover":45001.601,"open":13007.5},{"amount":8.784,"high":13105.0,"vol":8784,"low":13028.3,"count":98,"id":1603756800,"close":13067.1,"tradeTurnover":114871.8246,"open":13029.2},{"amount":11.592,"high":13074.4,"vol":11592,"low":13051.5,"count":66,"id":1603760400,"close":13061.7,"tradeTurnover":151386.9038,"open":13074.3},{"amount":19.298,"high":13097.6,"vol":19298,"low":13040.1,"count":109,"id":1603764000,"close":13049.7,"tradeTurnover":252061.019,"open":13061.7},{"amount":22.992,"high":13080.0,"vol":22992,"low":13057.1,"count":69,"id":1603767600,"close":13070.4,"tradeTurnover":300453.9788,"open":13057.6},{"amount":14.396,"high":13175.0,"vol":14396,"low":13079.6,"count":59,"id":1603771200,"close":13103.3,"tradeTurnover":188461.9156,"open":13080.0},{"amount":5.058,"high":13121.3,"vol":5058,"low":13069.7,"count":44,"id":1603774800,"close":13073.6,"tradeTurnover":66201.3552,"open":13121.3},{"amount":9.106,"high":13149.0,"vol":9106,"low":13069.6,"count":107,"id":1603778400,"close":13103.4,"tradeTurnover":119104.8906,"open":13074.9},{"amount":73.95,"high":13169.8,"vol":73950,"low":12992.4,"count":305,"id":1603782000,"close":13130.0,"tradeTurnover":968195.155,"open":13103.3},{"amount":18.732,"high":13148.4,"vol":18732,"low":13044.0,"count":135,"id":1603785600,"close":13123.8,"tradeTurnover":245533.5448,"open":13135.1},{"amount":13.756,"high":13131.8,"vol":13756,"low":13075.7,"count":102,"id":1603789200,"close":13131.7,"tradeTurnover":180253.7708,"open":13115.5},{"amount":154.108,"high":13252.0,"vol":154108,"low":13063.4,"count":525,"id":1603792800,"close":13216.9,"tradeTurnover":2029983.656,"open":13134.8},{"amount":170.09,"high":13590.1,"vol":170090,"low":13213.5,"count":591,"id":1603796400,"close":13395.8,"tradeTurnover":2276279.742,"open":13218.8},{"amount":48.928,"high":13414.0,"vol":48928,"low":13331.7,"count":216,"id":1603800000,"close":13376.9,"tradeTurnover":654585.9108,"open":13395.9},{"amount":63.294,"high":13490.9,"vol":63294,"low":13329.8,"count":316,"id":1603803600,"close":13384.3,"tradeTurnover":848130.9212,"open":13376.5},{"amount":12.892,"high":13415.8,"vol":12892,"low":13344.8,"count":124,"id":1603807200,"close":13398.2,"tradeTurnover":172618.6864,"open":13392.6},{"amount":93.22,"high":13626.7,"vol":93220,"low":13398.2,"count":476,"id":1603810800,"close":13598.5,"tradeTurnover":1262695.5466,"open":13398.2},{"amount":85.45,"high":13639.9,"vol":85450,"low":13520.2,"count":435,"id":1603814400,"close":13639.9,"tradeTurnover":1161481.4136,"open":13595.8},{"amount":191.812,"high":13826.7,"vol":191812,"low":13589.0,"count":711,"id":1603818000,"close":13688.1,"tradeTurnover":2628428.3788,"open":13640.0},{"amount":65.434,"high":13745.0,"vol":65434,"low":13528.2,"count":410,"id":1603821600,"close":13630.1,"tradeTurnover":891541.8394,"open":13685.0},{"amount":5.788,"high":13659.8,"vol":5788,"low":13595.4,"count":65,"id":1603825200,"close":13637.1,"tradeTurnover":78836.2578,"open":13629.4},{"amount":163.104,"high":13805.1,"vol":163104,"low":13582.6,"count":537,"id":1603828800,"close":13616.6,"tradeTurnover":2234040.3544,"open":13644.4},{"amount":9.884,"high":13753.5,"vol":9884,"low":13609.8,"count":101,"id":1603832400,"close":13705.5,"tradeTurnover":135406.4752,"open":13609.8},{"amount":7.436,"high":13739.9,"vol":7436,"low":13658.2,"count":100,"id":1603836000,"close":13739.9,"tradeTurnover":101840.3508,"open":13705.4},{"amount":17.086,"high":13794.6,"vol":17086,"low":13582.6,"count":234,"id":1603839600,"close":13649.6,"tradeTurnover":233971.8448,"open":13739.9},{"amount":24.108,"high":13745.2,"vol":24108,"low":13618.8,"count":177,"id":1603843200,"close":13701.7,"tradeTurnover":330206.5694,"open":13645.9},{"amount":15.892,"high":13725.6,"vol":15892,"low":13647.9,"count":151,"id":1603846800,"close":13702.6,"tradeTurnover":217816.7008,"open":13702.1},{"amount":46.548,"high":13832.2,"vol":46548,"low":13680.2,"count":274,"id":1603850400,"close":13811.6,"tradeTurnover":640636.0352,"open":13701.7},{"amount":67.896,"high":13820.3,"vol":67896,"low":13717.5,"count":320,"id":1603854000,"close":13777.0,"tradeTurnover":935838.2238,"open":13818.5},{"amount":33.156,"high":13807.2,"vol":33156,"low":13710.0,"count":210,"id":1603857600,"close":13735.7,"tradeTurnover":455941.234,"open":13767.3},{"amount":32.076,"high":13753.9,"vol":32076,"low":13671.3,"count":198,"id":1603861200,"close":13715.8,"tradeTurnover":439612.64,"open":13735.5},{"amount":14.756,"high":13757.0,"vol":14756,"low":13694.9,"count":122,"id":1603864800,"close":13701.3,"tradeTurnover":202602.5164,"open":13715.9},{"amount":155.534,"high":13708.7,"vol":155534,"low":13550.0,"count":635,"id":1603868400,"close":13674.2,"tradeTurnover":2117935.0928,"open":13701.2},{"amount":29.846,"high":13691.7,"vol":29846,"low":13584.0,"count":240,"id":1603872000,"close":13691.7,"tradeTurnover":407073.1398,"open":13673.0},{"amount":104.542,"high":13707.5,"vol":104542,"low":13573.5,"count":377,"id":1603875600,"close":13587.1,"tradeTurnover":1425079.9344,"open":13689.3},{"amount":73.818,"high":13618.0,"vol":73818,"low":13504.7,"count":358,"id":1603879200,"close":13552.7,"tradeTurnover":1001666.0908,"open":13584.6},{"amount":176.544,"high":13565.4,"vol":176544,"low":13330.0,"count":1004,"id":1603882800,"close":13336.4,"tradeTurnover":2369166.1492,"open":13552.6},{"amount":289.73,"high":13385.0,"vol":289730,"low":13173.9,"count":968,"id":1603886400,"close":13300.3,"tradeTurnover":3846751.7166,"open":13331.5},{"amount":139.822,"high":13340.0,"vol":139822,"low":13122.9,"count":612,"id":1603890000,"close":13129.9,"tradeTurnover":1848876.932,"open":13300.2},{"amount":367.876,"high":13168.2,"vol":367876,"low":12915.9,"count":1168,"id":1603893600,"close":13082.2,"tradeTurnover":4802516.9818,"open":13123.4},{"amount":84.044,"high":13235.2,"vol":84044,"low":13052.3,"count":375,"id":1603897200,"close":13221.2,"tradeTurnover":1106883.1282,"open":13077.1},{"amount":29.566,"high":13218.7,"vol":29566,"low":13050.0,"count":244,"id":1603900800,"close":13145.1,"tradeTurnover":388697.4104,"open":13218.7},{"amount":53.336,"high":13204.9,"vol":53336,"low":13006.6,"count":299,"id":1603904400,"close":13176.7,"tradeTurnover":700385.2784,"open":13145.1},{"amount":34.164,"high":13219.6,"vol":34164,"low":13131.0,"count":218,"id":1603908000,"close":13196.5,"tradeTurnover":450210.5778,"open":13171.0},{"amount":22.158,"high":13237.4,"vol":22158,"low":13145.0,"count":185,"id":1603911600,"close":13154.9,"tradeTurnover":292020.0438,"open":13200.0},{"amount":4.548,"high":13211.8,"vol":4548,"low":13147.4,"count":75,"id":1603915200,"close":13198.1,"tradeTurnover":59991.1118,"open":13154.5},{"amount":3.52,"high":13196.5,"vol":3520,"low":13100.2,"count":68,"id":1603918800,"close":13190.1,"tradeTurnover":46175.428,"open":13193.5},{"amount":3.122,"high":13267.5,"vol":3122,"low":13185.4,"count":72,"id":1603922400,"close":13252.0,"tradeTurnover":41304.2018,"open":13185.4},{"amount":14.768,"high":13282.3,"vol":14768,"low":13235.9,"count":86,"id":1603926000,"close":13265.9,"tradeTurnover":195689.0764,"open":13242.1},{"amount":19.968,"high":13294.7,"vol":19968,"low":13237.4,"count":98,"id":1603929600,"close":13245.1,"tradeTurnover":264834.1944,"open":13253.9},{"amount":35.282,"high":13285.3,"vol":35282,"low":13166.3,"count":192,"id":1603933200,"close":13274.2,"tradeTurnover":465789.6302,"open":13244.6},{"amount":9.748,"high":13277.7,"vol":9748,"low":13212.2,"count":119,"id":1603936800,"close":13241.1,"tradeTurnover":129016.0684,"open":13275.9},{"amount":27.3,"high":13262.5,"vol":27300,"low":13174.6,"count":199,"id":1603940400,"close":13262.5,"tradeTurnover":360589.8982,"open":13237.1},{"amount":18.904,"high":13277.7,"vol":18904,"low":13229.5,"count":109,"id":1603944000,"close":13229.5,"tradeTurnover":250713.2812,"open":13269.1},{"amount":15.822,"high":13274.8,"vol":15822,"low":13228.5,"count":134,"id":1603947600,"close":13274.8,"tradeTurnover":209781.909,"open":13228.5},{"amount":91.246,"high":13323.0,"vol":91246,"low":13242.3,"count":294,"id":1603951200,"close":13255.0,"tradeTurnover":1211271.2788,"open":13274.8},{"amount":187.622,"high":13269.3,"vol":187622,"low":13123.1,"count":506,"id":1603954800,"close":13142.4,"tradeTurnover":2478299.7074,"open":13255.0},{"amount":69.532,"high":13182.4,"vol":69532,"low":13094.1,"count":226,"id":1603958400,"close":13124.8,"tradeTurnover":914157.2418,"open":13145.9},{"amount":23.184,"high":13197.1,"vol":23184,"low":13129.5,"count":141,"id":1603962000,"close":13183.7,"tradeTurnover":305485.9524,"open":13129.5},{"amount":121.146,"high":13187.5,"vol":121146,"low":13053.1,"count":442,"id":1603965600,"close":13105.2,"tradeTurnover":1590026.4416,"open":13184.8},{"amount":47.498,"high":13171.4,"vol":47498,"low":13060.1,"count":262,"id":1603969200,"close":13060.1,"tradeTurnover":623578.149,"open":13105.1},{"amount":126.552,"high":13145.8,"vol":126552,"low":12977.9,"count":481,"id":1603972800,"close":13131.8,"tradeTurnover":1652549.311,"open":13056.9},{"amount":100.482,"high":13237.2,"vol":100482,"low":13102.0,"count":325,"id":1603976400,"close":13230.0,"tradeTurnover":1326403.7206,"open":13131.7},{"amount":253.258,"high":13476.1,"vol":253258,"low":13231.0,"count":752,"id":1603980000,"close":13420.8,"tradeTurnover":3384941.438,"open":13231.0},{"amount":64.71,"high":13458.7,"vol":64710,"low":13358.7,"count":269,"id":1603983600,"close":13420.6,"tradeTurnover":869052.3804,"open":13416.0},{"amount":120.24,"high":13594.5,"vol":120240,"low":13391.8,"count":570,"id":1603987200,"close":13535.9,"tradeTurnover":1626567.8278,"open":13421.9}],"id":"","rep":"market.BTC-USDT.kline.60min","status":"ok"} +2024-01-18 11:12:51.753 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:39] - 请求 KLine 数据用户收到的原始数据:{"id":"","rep":"market.BTC-USDT.kline.60min","ts":1705547570663,"wsid":19750305,"status":"ok","data":[{"id":1603270800,"open":12198.0,"close":12196.7,"high":12300.0,"low":11715.8,"amount":0.276,"vol":276,"trade_turnover":3315.9104,"count":39},{"id":1603274400,"open":12196.7,"close":12277.9,"high":12289.9,"low":12111.0,"amount":0.198,"vol":198,"trade_turnover":2420.7728,"count":21},{"id":1603278000,"open":12111.0,"close":12000.0,"high":12277.9,"low":12000.0,"amount":0.012,"vol":12,"trade_turnover":145.2238,"count":5},{"id":1603281600,"open":12078.0,"close":12497.4,"high":12498.0,"low":12078.0,"amount":0.084,"vol":84,"trade_turnover":1040.0504,"count":12},{"id":1603285200,"open":12495.6,"close":12373.5,"high":12495.6,"low":12282.9,"amount":1.122,"vol":1122,"trade_turnover":13905.3124,"count":112},{"id":1603288800,"open":12412.9,"close":12689.9,"high":12807.6,"low":12358.1,"amount":5.29,"vol":5290,"trade_turnover":66852.128,"count":155},{"id":1603292400,"open":12692.8,"close":12701.9,"high":12778.7,"low":12573.2,"amount":1.174,"vol":1174,"trade_turnover":14907.367,"count":113},{"id":1603296000,"open":12679.7,"close":12835.9,"high":12920.9,"low":12624.8,"amount":1.156,"vol":1156,"trade_turnover":14802.449,"count":115},{"id":1603299600,"open":12848.3,"close":12754.2,"high":12908.3,"low":12687.5,"amount":1.12,"vol":1120,"trade_turnover":14345.7324,"count":115},{"id":1603303200,"open":12743.7,"close":12740.2,"high":12849.0,"low":12668.3,"amount":1.106,"vol":1106,"trade_turnover":14105.3504,"count":114},{"id":1603306800,"open":12729.5,"close":12650.3,"high":12843.1,"low":12597.2,"amount":1.032,"vol":1032,"trade_turnover":13125.4568,"count":112},{"id":1603310400,"open":12666.8,"close":12807.0,"high":12848.4,"low":12610.2,"amount":1.154,"vol":1154,"trade_turnover":14680.638,"count":116},{"id":1603314000,"open":12866.0,"close":12938.9,"high":13005.1,"low":12748.2,"amount":1.164,"vol":1164,"trade_turnover":14976.9366,"count":114},{"id":1603317600,"open":12921.0,"close":13122.0,"high":13211.2,"low":12865.7,"amount":1.174,"vol":1174,"trade_turnover":15285.2446,"count":114},{"id":1603321200,"open":13153.2,"close":12829.8,"high":13173.2,"low":12688.6,"amount":1.172,"vol":1172,"trade_turnover":15060.9938,"count":117},{"id":1603324800,"open":12793.1,"close":12885.9,"high":12988.1,"low":12764.4,"amount":1.17,"vol":1170,"trade_turnover":15046.2046,"count":117},{"id":1603328400,"open":12860.4,"close":12757.5,"high":12972.6,"low":12757.5,"amount":1.158,"vol":1158,"trade_turnover":14882.4656,"count":118},{"id":1603332000,"open":12824.1,"close":12788.8,"high":12848.0,"low":12729.0,"amount":1.124,"vol":1124,"trade_turnover":14368.7948,"count":115},{"id":1603335600,"open":12791.7,"close":12767.2,"high":12834.4,"low":12729.0,"amount":1.194,"vol":1194,"trade_turnover":15268.9298,"count":111},{"id":1603339200,"open":12729.0,"close":12762.2,"high":12778.3,"low":12729.0,"amount":1.152,"vol":1152,"trade_turnover":14695.4876,"count":115},{"id":1603342800,"open":12763.1,"close":12813.8,"high":12842.0,"low":12730.6,"amount":1.21,"vol":1210,"trade_turnover":15440.8162,"count":119},{"id":1603346400,"open":12795.0,"close":12729.1,"high":12795.0,"low":12728.0,"amount":1.188,"vol":1188,"trade_turnover":15128.0098,"count":123},{"id":1603350000,"open":12728.6,"close":12730.6,"high":12730.6,"low":12728.3,"amount":1.266,"vol":1266,"trade_turnover":16115.1306,"count":112},{"id":1603353600,"open":12730.3,"close":12770.1,"high":12921.5,"low":12729.9,"amount":1.35,"vol":1350,"trade_turnover":17233.7326,"count":127},{"id":1603357200,"open":12824.9,"close":12780.4,"high":12872.1,"low":12760.1,"amount":0.98,"vol":980,"trade_turnover":12553.9826,"count":99},{"id":1603360800,"open":12784.9,"close":12934.2,"high":13002.7,"low":12775.6,"amount":0.266,"vol":266,"trade_turnover":3415.023,"count":30},{"id":1603364400,"open":12977.0,"close":13045.0,"high":13057.0,"low":12886.6,"amount":1.004,"vol":1004,"trade_turnover":13020.8576,"count":117},{"id":1603368000,"open":12958.5,"close":12847.9,"high":12973.4,"low":12751.6,"amount":1.134,"vol":1134,"trade_turnover":14594.2752,"count":111},{"id":1603371600,"open":12882.7,"close":12931.0,"high":13000.8,"low":12743.0,"amount":1.152,"vol":1152,"trade_turnover":14877.7314,"count":114},{"id":1603375200,"open":12890.4,"close":12917.8,"high":12995.3,"low":12783.9,"amount":1.182,"vol":1182,"trade_turnover":15224.4716,"count":115},{"id":1603378800,"open":12918.8,"close":12953.0,"high":13031.2,"low":12817.9,"amount":1.176,"vol":1176,"trade_turnover":15197.208,"count":117},{"id":1603382400,"open":12923.1,"close":13055.6,"high":13100.2,"low":12865.6,"amount":1.146,"vol":1146,"trade_turnover":14851.9604,"count":119},{"id":1603386000,"open":12967.6,"close":13082.7,"high":13105.7,"low":12835.5,"amount":1.534,"vol":1534,"trade_turnover":19927.8288,"count":124},{"id":1603389600,"open":13020.4,"close":13016.4,"high":13115.0,"low":12938.7,"amount":1.268,"vol":1268,"trade_turnover":16505.4738,"count":117},{"id":1603393200,"open":13028.3,"close":12970.6,"high":13171.2,"low":12961.8,"amount":1.13,"vol":1130,"trade_turnover":14762.952,"count":112},{"id":1603396800,"open":13016.7,"close":13089.3,"high":13216.1,"low":12998.5,"amount":1.206,"vol":1206,"trade_turnover":15807.1226,"count":117},{"id":1603400400,"open":13136.0,"close":13092.0,"high":13203.7,"low":12932.9,"amount":1.332,"vol":1332,"trade_turnover":17423.4422,"count":114},{"id":1603404000,"open":13119.4,"close":13055.9,"high":13250.5,"low":12984.7,"amount":1.21,"vol":1210,"trade_turnover":15876.0632,"count":114},{"id":1603407600,"open":13059.4,"close":12890.4,"high":13126.5,"low":12857.2,"amount":1.286,"vol":1286,"trade_turnover":16688.422,"count":116},{"id":1603411200,"open":12929.7,"close":12892.2,"high":12994.0,"low":12751.6,"amount":1.502,"vol":1502,"trade_turnover":19331.1596,"count":131},{"id":1603414800,"open":12921.7,"close":12898.3,"high":13003.2,"low":12786.0,"amount":1.386,"vol":1386,"trade_turnover":17904.8902,"count":121},{"id":1603418400,"open":12951.6,"close":12975.1,"high":13054.0,"low":12800.7,"amount":1.416,"vol":1416,"trade_turnover":18306.6204,"count":122},{"id":1603422000,"open":12967.3,"close":12947.0,"high":13030.7,"low":12875.0,"amount":1.19,"vol":1190,"trade_turnover":15409.7984,"count":118},{"id":1603425600,"open":12925.2,"close":12852.0,"high":13047.3,"low":12832.8,"amount":1.022,"vol":1022,"trade_turnover":13214.4388,"count":127},{"id":1603429200,"open":12859.0,"close":12931.1,"high":12991.7,"low":12841.2,"amount":0.478,"vol":478,"trade_turnover":6180.2486,"count":118},{"id":1603432800,"open":12935.9,"close":12939.6,"high":13014.1,"low":12871.9,"amount":0.522,"vol":522,"trade_turnover":6759.0324,"count":132},{"id":1603436400,"open":12923.1,"close":12925.4,"high":12998.9,"low":12917.1,"amount":0.476,"vol":476,"trade_turnover":6163.3118,"count":118},{"id":1603440000,"open":12942.2,"close":12962.6,"high":13014.0,"low":12916.1,"amount":0.508,"vol":508,"trade_turnover":6585.3656,"count":122},{"id":1603443600,"open":12970.5,"close":12926.4,"high":13012.5,"low":12909.9,"amount":0.564,"vol":564,"trade_turnover":7308.8828,"count":124},{"id":1603447200,"open":13001.2,"close":13007.7,"high":13059.5,"low":12925.7,"amount":0.536,"vol":536,"trade_turnover":6957.8796,"count":124},{"id":1603450800,"open":13025.4,"close":12970.6,"high":13078.4,"low":12906.5,"amount":0.486,"vol":486,"trade_turnover":6326.1434,"count":122},{"id":1603454400,"open":12963.9,"close":12935.4,"high":13025.0,"low":12850.8,"amount":0.494,"vol":494,"trade_turnover":6396.0984,"count":117},{"id":1603458000,"open":12913.3,"close":12951.7,"high":13043.3,"low":12911.0,"amount":0.466,"vol":466,"trade_turnover":6049.1412,"count":117},{"id":1603461600,"open":12999.6,"close":12858.8,"high":13006.4,"low":12840.4,"amount":0.46,"vol":460,"trade_turnover":5941.815,"count":116},{"id":1603465200,"open":12885.7,"close":12881.9,"high":12932.9,"low":12826.5,"amount":0.492,"vol":492,"trade_turnover":6340.214,"count":117},{"id":1603468800,"open":12854.4,"close":12784.1,"high":12933.5,"low":12744.4,"amount":0.484,"vol":484,"trade_turnover":6205.4138,"count":123},{"id":1603472400,"open":12832.3,"close":12847.7,"high":12893.1,"low":12730.1,"amount":0.562,"vol":562,"trade_turnover":7218.9184,"count":152},{"id":1603476000,"open":12874.1,"close":12915.7,"high":12939.3,"low":12751.4,"amount":0.53,"vol":530,"trade_turnover":6825.7004,"count":128},{"id":1603479600,"open":12867.9,"close":12972.9,"high":12972.9,"low":12786.6,"amount":0.444,"vol":444,"trade_turnover":5727.7452,"count":117},{"id":1603483200,"open":12956.7,"close":12991.6,"high":13002.2,"low":12842.9,"amount":0.492,"vol":492,"trade_turnover":6375.1566,"count":116},{"id":1603486800,"open":13004.3,"close":12943.5,"high":13004.3,"low":12936.6,"amount":0.5,"vol":500,"trade_turnover":6485.468,"count":125},{"id":1603490400,"open":12923.6,"close":12989.2,"high":13010.3,"low":12884.7,"amount":0.492,"vol":492,"trade_turnover":6376.1492,"count":120},{"id":1603494000,"open":12974.9,"close":12884.6,"high":13024.4,"low":12884.6,"amount":0.51,"vol":510,"trade_turnover":6622.3406,"count":121},{"id":1603497600,"open":12973.7,"close":12953.9,"high":13018.3,"low":12811.1,"amount":0.488,"vol":488,"trade_turnover":6317.7938,"count":120},{"id":1603501200,"open":12927.5,"close":12934.2,"high":13018.1,"low":12872.8,"amount":0.482,"vol":482,"trade_turnover":6242.4178,"count":117},{"id":1603504800,"open":12971.9,"close":12989.1,"high":13003.9,"low":12903.3,"amount":0.484,"vol":484,"trade_turnover":6278.1756,"count":117},{"id":1603508400,"open":13000.1,"close":12975.9,"high":13013.4,"low":12938.3,"amount":0.474,"vol":474,"trade_turnover":6157.7096,"count":122},{"id":1603512000,"open":12989.7,"close":12963.3,"high":13009.4,"low":12905.5,"amount":0.526,"vol":526,"trade_turnover":6831.5658,"count":124},{"id":1603515600,"open":12910.5,"close":12989.7,"high":13041.8,"low":12875.3,"amount":0.522,"vol":522,"trade_turnover":6768.8994,"count":127},{"id":1603519200,"open":12994.7,"close":13003.6,"high":13058.1,"low":12908.8,"amount":0.49,"vol":490,"trade_turnover":6370.5714,"count":120},{"id":1603522800,"open":13011.9,"close":13004.2,"high":13037.8,"low":12981.7,"amount":0.478,"vol":478,"trade_turnover":6218.9722,"count":120},{"id":1603526400,"open":13003.0,"close":12998.2,"high":13030.6,"low":12899.4,"amount":0.52,"vol":520,"trade_turnover":6754.958,"count":124},{"id":1603530000,"open":12998.2,"close":12990.6,"high":13020.3,"low":12893.6,"amount":0.454,"vol":454,"trade_turnover":5891.0574,"count":115},{"id":1603533600,"open":12996.4,"close":13030.1,"high":13059.1,"low":12913.2,"amount":0.502,"vol":502,"trade_turnover":6525.9004,"count":124},{"id":1603537200,"open":12988.4,"close":13033.2,"high":13068.3,"low":12940.2,"amount":0.468,"vol":468,"trade_turnover":6091.0376,"count":119},{"id":1603540800,"open":13035.3,"close":13006.5,"high":13071.8,"low":12978.9,"amount":0.468,"vol":468,"trade_turnover":6102.5902,"count":123},{"id":1603544400,"open":13038.8,"close":12985.9,"high":13066.7,"low":12928.1,"amount":0.534,"vol":534,"trade_turnover":6950.4268,"count":123},{"id":1603548000,"open":12986.3,"close":13042.0,"high":13100.1,"low":12960.5,"amount":0.47,"vol":470,"trade_turnover":6124.2178,"count":100},{"id":1603551600,"open":13038.4,"close":13102.2,"high":13196.5,"low":13038.4,"amount":0.456,"vol":456,"trade_turnover":5989.6362,"count":120},{"id":1603555200,"open":13136.8,"close":13052.7,"high":13176.6,"low":12984.6,"amount":0.458,"vol":458,"trade_turnover":5976.331,"count":121},{"id":1603558800,"open":13006.2,"close":13177.8,"high":13177.8,"low":13003.2,"amount":0.452,"vol":452,"trade_turnover":5911.7058,"count":118},{"id":1603562400,"open":13127.7,"close":13080.8,"high":13170.7,"low":13023.0,"amount":0.468,"vol":468,"trade_turnover":6122.375,"count":119},{"id":1603566000,"open":13040.7,"close":13148.4,"high":13179.3,"low":13014.2,"amount":0.468,"vol":468,"trade_turnover":6126.4278,"count":120},{"id":1603569600,"open":13073.5,"close":13090.1,"high":13179.6,"low":12992.5,"amount":0.47,"vol":470,"trade_turnover":6151.4758,"count":119},{"id":1603573200,"open":13035.4,"close":12993.9,"high":13148.7,"low":12980.7,"amount":0.458,"vol":458,"trade_turnover":5981.071,"count":117},{"id":1603576800,"open":13040.7,"close":13041.1,"high":13112.1,"low":12975.6,"amount":0.478,"vol":478,"trade_turnover":6225.4216,"count":118},{"id":1603580400,"open":13012.6,"close":13184.3,"high":13184.3,"low":13009.3,"amount":0.472,"vol":472,"trade_turnover":6173.4244,"count":118},{"id":1603584000,"open":13080.8,"close":13154.3,"high":13170.4,"low":13007.7,"amount":0.46,"vol":460,"trade_turnover":6024.09,"count":115},{"id":1603587600,"open":13092.0,"close":13196.1,"high":13196.8,"low":13024.0,"amount":0.398,"vol":398,"trade_turnover":5217.5364,"count":102},{"id":1603591200,"open":13124.7,"close":13082.4,"high":13175.1,"low":13035.0,"amount":0.476,"vol":476,"trade_turnover":6228.6596,"count":120},{"id":1603594800,"open":13049.1,"close":13259.0,"high":13383.8,"low":13049.1,"amount":0.578,"vol":578,"trade_turnover":7629.3886,"count":137},{"id":1603598400,"open":13277.0,"close":13243.4,"high":13369.0,"low":13216.0,"amount":0.47,"vol":470,"trade_turnover":6247.955,"count":122},{"id":1603602000,"open":13285.3,"close":13017.3,"high":13353.3,"low":13010.1,"amount":0.61,"vol":610,"trade_turnover":8048.8598,"count":134},{"id":1603605600,"open":13022.5,"close":13060.3,"high":13105.7,"low":13018.2,"amount":0.486,"vol":486,"trade_turnover":6344.1474,"count":118},{"id":1603609200,"open":13048.5,"close":13078.1,"high":13112.1,"low":13022.0,"amount":0.464,"vol":464,"trade_turnover":6061.5416,"count":120},{"id":1603612800,"open":13077.2,"close":13046.0,"high":13091.0,"low":13017.2,"amount":0.464,"vol":464,"trade_turnover":6055.3734,"count":120},{"id":1603616400,"open":13065.1,"close":13040.8,"high":13084.0,"low":13014.2,"amount":0.478,"vol":478,"trade_turnover":6235.7882,"count":117},{"id":1603620000,"open":13047.1,"close":13028.5,"high":13064.2,"low":13010.2,"amount":0.478,"vol":478,"trade_turnover":6232.2428,"count":125},{"id":1603623600,"open":13061.5,"close":12897.6,"high":13061.5,"low":12852.9,"amount":0.534,"vol":534,"trade_turnover":6918.1226,"count":123},{"id":1603627200,"open":12908.3,"close":12964.3,"high":13069.7,"low":12893.2,"amount":0.444,"vol":444,"trade_turnover":5755.8712,"count":117},{"id":1603630800,"open":13001.3,"close":12949.3,"high":13071.9,"low":12891.8,"amount":0.498,"vol":498,"trade_turnover":6465.078,"count":119},{"id":1603634400,"open":12975.8,"close":12946.8,"high":13077.7,"low":12900.0,"amount":0.468,"vol":468,"trade_turnover":6075.4554,"count":116},{"id":1603638000,"open":12975.2,"close":12883.3,"high":13069.1,"low":12883.3,"amount":0.47,"vol":470,"trade_turnover":6097.1072,"count":119},{"id":1603641600,"open":12916.2,"close":12978.7,"high":13067.9,"low":12877.5,"amount":0.482,"vol":482,"trade_turnover":6256.4472,"count":118},{"id":1603645200,"open":13008.0,"close":13004.4,"high":13087.5,"low":12922.7,"amount":0.47,"vol":470,"trade_turnover":6108.3892,"count":117},{"id":1603648800,"open":12972.8,"close":12957.2,"high":13067.6,"low":12893.6,"amount":0.468,"vol":468,"trade_turnover":6079.1484,"count":118},{"id":1603652400,"open":12996.5,"close":13021.8,"high":13066.9,"low":12916.6,"amount":0.442,"vol":442,"trade_turnover":5746.5548,"count":118},{"id":1603656000,"open":12992.9,"close":12985.4,"high":13081.5,"low":12944.9,"amount":0.508,"vol":508,"trade_turnover":6616.9872,"count":120},{"id":1603659600,"open":12999.9,"close":13011.2,"high":13068.6,"low":12921.4,"amount":0.508,"vol":508,"trade_turnover":6614.816,"count":122},{"id":1603663200,"open":12979.6,"close":12959.4,"high":13073.8,"low":12911.9,"amount":0.486,"vol":486,"trade_turnover":6320.907,"count":121},{"id":1603666800,"open":12963.4,"close":13032.1,"high":13085.2,"low":12927.8,"amount":0.452,"vol":452,"trade_turnover":5878.6442,"count":113},{"id":1603670400,"open":12964.2,"close":13001.0,"high":13076.7,"low":12918.3,"amount":0.482,"vol":482,"trade_turnover":6263.698,"count":121},{"id":1603674000,"open":13040.0,"close":13053.7,"high":13096.4,"low":12991.2,"amount":0.478,"vol":478,"trade_turnover":6232.2328,"count":124},{"id":1603677600,"open":13060.6,"close":13064.4,"high":13185.7,"low":12985.1,"amount":0.488,"vol":488,"trade_turnover":6387.534,"count":121},{"id":1603681200,"open":13032.3,"close":13092.8,"high":13187.2,"low":12984.1,"amount":0.486,"vol":486,"trade_turnover":6369.0272,"count":135},{"id":1603684800,"open":13092.0,"close":13132.6,"high":13181.6,"low":12962.3,"amount":0.51,"vol":510,"trade_turnover":6679.829,"count":131},{"id":1603688400,"open":13129.2,"close":13092.1,"high":13205.3,"low":13025.3,"amount":0.506,"vol":506,"trade_turnover":6641.2128,"count":126},{"id":1603692000,"open":13121.8,"close":13071.4,"high":13188.1,"low":12989.8,"amount":1.616,"vol":1616,"trade_turnover":21170.8224,"count":141},{"id":1603695600,"open":13061.0,"close":13038.7,"high":13100.0,"low":12965.2,"amount":3.746,"vol":3746,"trade_turnover":48924.8902,"count":110},{"id":1603699200,"open":13030.9,"close":13039.3,"high":13102.0,"low":12852.8,"amount":8.966,"vol":8966,"trade_turnover":116525.5534,"count":173},{"id":1603702800,"open":13047.1,"close":13075.9,"high":13088.4,"low":13039.8,"amount":4.48,"vol":4480,"trade_turnover":58521.1714,"count":124},{"id":1603706400,"open":13072.1,"close":13100.0,"high":13100.0,"low":13060.2,"amount":4.272,"vol":4272,"trade_turnover":55895.9778,"count":130},{"id":1603710000,"open":13100.0,"close":13138.4,"high":13159.0,"low":13100.0,"amount":29.798,"vol":29798,"trade_turnover":391138.024,"count":230},{"id":1603713600,"open":13138.8,"close":13149.8,"high":13200.0,"low":13100.0,"amount":5.154,"vol":5154,"trade_turnover":67694.652,"count":188},{"id":1603717200,"open":13150.0,"close":13205.8,"high":13351.5,"low":13133.1,"amount":35.608,"vol":35608,"trade_turnover":472780.3394,"count":328},{"id":1603720800,"open":13203.0,"close":13166.1,"high":13280.0,"low":13144.1,"amount":31.748,"vol":31748,"trade_turnover":418744.5588,"count":235},{"id":1603724400,"open":13159.0,"close":12978.0,"high":13165.2,"low":12903.8,"amount":36.53,"vol":36530,"trade_turnover":476940.3296,"count":384},{"id":1603728000,"open":12965.0,"close":12869.6,"high":13069.8,"low":12850.5,"amount":35.018,"vol":35018,"trade_turnover":453288.918,"count":323},{"id":1603731600,"open":12879.2,"close":12873.8,"high":12941.5,"low":12583.9,"amount":92.628,"vol":92628,"trade_turnover":1185973.467,"count":560},{"id":1603735200,"open":12856.2,"close":12946.8,"high":12954.5,"low":12820.4,"amount":4.302,"vol":4302,"trade_turnover":55481.0054,"count":128},{"id":1603738800,"open":12945.6,"close":12953.4,"high":12953.5,"low":12914.1,"amount":13.83,"vol":13830,"trade_turnover":179112.1598,"count":118},{"id":1603742400,"open":12953.5,"close":12983.4,"high":13007.5,"low":12953.5,"amount":17.172,"vol":17172,"trade_turnover":223230.2122,"count":132},{"id":1603746000,"open":12983.1,"close":12993.8,"high":13007.5,"low":12982.7,"amount":3.212,"vol":3212,"trade_turnover":41767.8906,"count":59},{"id":1603749600,"open":13002.1,"close":13007.5,"high":13007.5,"low":12974.0,"amount":1.504,"vol":1504,"trade_turnover":19543.3568,"count":74},{"id":1603753200,"open":13007.5,"close":13033.7,"high":13061.2,"low":13007.5,"amount":3.454,"vol":3454,"trade_turnover":45001.601,"count":101},{"id":1603756800,"open":13029.2,"close":13067.1,"high":13105.0,"low":13028.3,"amount":8.784,"vol":8784,"trade_turnover":114871.8246,"count":98},{"id":1603760400,"open":13074.3,"close":13061.7,"high":13074.4,"low":13051.5,"amount":11.592,"vol":11592,"trade_turnover":151386.9038,"count":66},{"id":1603764000,"open":13061.7,"close":13049.7,"high":13097.6,"low":13040.1,"amount":19.298,"vol":19298,"trade_turnover":252061.019,"count":109},{"id":1603767600,"open":13057.6,"close":13070.4,"high":13080.0,"low":13057.1,"amount":22.992,"vol":22992,"trade_turnover":300453.9788,"count":69},{"id":1603771200,"open":13080.0,"close":13103.3,"high":13175.0,"low":13079.6,"amount":14.396,"vol":14396,"trade_turnover":188461.9156,"count":59},{"id":1603774800,"open":13121.3,"close":13073.6,"high":13121.3,"low":13069.7,"amount":5.058,"vol":5058,"trade_turnover":66201.3552,"count":44},{"id":1603778400,"open":13074.9,"close":13103.4,"high":13149.0,"low":13069.6,"amount":9.106,"vol":9106,"trade_turnover":119104.8906,"count":107},{"id":1603782000,"open":13103.3,"close":13130.0,"high":13169.8,"low":12992.4,"amount":73.95,"vol":73950,"trade_turnover":968195.155,"count":305},{"id":1603785600,"open":13135.1,"close":13123.8,"high":13148.4,"low":13044.0,"amount":18.732,"vol":18732,"trade_turnover":245533.5448,"count":135},{"id":1603789200,"open":13115.5,"close":13131.7,"high":13131.8,"low":13075.7,"amount":13.756,"vol":13756,"trade_turnover":180253.7708,"count":102},{"id":1603792800,"open":13134.8,"close":13216.9,"high":13252.0,"low":13063.4,"amount":154.108,"vol":154108,"trade_turnover":2029983.656,"count":525},{"id":1603796400,"open":13218.8,"close":13395.8,"high":13590.1,"low":13213.5,"amount":170.09,"vol":170090,"trade_turnover":2276279.742,"count":591},{"id":1603800000,"open":13395.9,"close":13376.9,"high":13414.0,"low":13331.7,"amount":48.928,"vol":48928,"trade_turnover":654585.9108,"count":216},{"id":1603803600,"open":13376.5,"close":13384.3,"high":13490.9,"low":13329.8,"amount":63.294,"vol":63294,"trade_turnover":848130.9212,"count":316},{"id":1603807200,"open":13392.6,"close":13398.2,"high":13415.8,"low":13344.8,"amount":12.892,"vol":12892,"trade_turnover":172618.6864,"count":124},{"id":1603810800,"open":13398.2,"close":13598.5,"high":13626.7,"low":13398.2,"amount":93.22,"vol":93220,"trade_turnover":1262695.5466,"count":476},{"id":1603814400,"open":13595.8,"close":13639.9,"high":13639.9,"low":13520.2,"amount":85.45,"vol":85450,"trade_turnover":1161481.4136,"count":435},{"id":1603818000,"open":13640.0,"close":13688.1,"high":13826.7,"low":13589.0,"amount":191.812,"vol":191812,"trade_turnover":2628428.3788,"count":711},{"id":1603821600,"open":13685.0,"close":13630.1,"high":13745.0,"low":13528.2,"amount":65.434,"vol":65434,"trade_turnover":891541.8394,"count":410},{"id":1603825200,"open":13629.4,"close":13637.1,"high":13659.8,"low":13595.4,"amount":5.788,"vol":5788,"trade_turnover":78836.2578,"count":65},{"id":1603828800,"open":13644.4,"close":13616.6,"high":13805.1,"low":13582.6,"amount":163.104,"vol":163104,"trade_turnover":2234040.3544,"count":537},{"id":1603832400,"open":13609.8,"close":13705.5,"high":13753.5,"low":13609.8,"amount":9.884,"vol":9884,"trade_turnover":135406.4752,"count":101},{"id":1603836000,"open":13705.4,"close":13739.9,"high":13739.9,"low":13658.2,"amount":7.436,"vol":7436,"trade_turnover":101840.3508,"count":100},{"id":1603839600,"open":13739.9,"close":13649.6,"high":13794.6,"low":13582.6,"amount":17.086,"vol":17086,"trade_turnover":233971.8448,"count":234},{"id":1603843200,"open":13645.9,"close":13701.7,"high":13745.2,"low":13618.8,"amount":24.108,"vol":24108,"trade_turnover":330206.5694,"count":177},{"id":1603846800,"open":13702.1,"close":13702.6,"high":13725.6,"low":13647.9,"amount":15.892,"vol":15892,"trade_turnover":217816.7008,"count":151},{"id":1603850400,"open":13701.7,"close":13811.6,"high":13832.2,"low":13680.2,"amount":46.548,"vol":46548,"trade_turnover":640636.0352,"count":274},{"id":1603854000,"open":13818.5,"close":13777.0,"high":13820.3,"low":13717.5,"amount":67.896,"vol":67896,"trade_turnover":935838.2238,"count":320},{"id":1603857600,"open":13767.3,"close":13735.7,"high":13807.2,"low":13710.0,"amount":33.156,"vol":33156,"trade_turnover":455941.234,"count":210},{"id":1603861200,"open":13735.5,"close":13715.8,"high":13753.9,"low":13671.3,"amount":32.076,"vol":32076,"trade_turnover":439612.64,"count":198},{"id":1603864800,"open":13715.9,"close":13701.3,"high":13757.0,"low":13694.9,"amount":14.756,"vol":14756,"trade_turnover":202602.5164,"count":122},{"id":1603868400,"open":13701.2,"close":13674.2,"high":13708.7,"low":13550.0,"amount":155.534,"vol":155534,"trade_turnover":2117935.0928,"count":635},{"id":1603872000,"open":13673.0,"close":13691.7,"high":13691.7,"low":13584.0,"amount":29.846,"vol":29846,"trade_turnover":407073.1398,"count":240},{"id":1603875600,"open":13689.3,"close":13587.1,"high":13707.5,"low":13573.5,"amount":104.542,"vol":104542,"trade_turnover":1425079.9344,"count":377},{"id":1603879200,"open":13584.6,"close":13552.7,"high":13618.0,"low":13504.7,"amount":73.818,"vol":73818,"trade_turnover":1001666.0908,"count":358},{"id":1603882800,"open":13552.6,"close":13336.4,"high":13565.4,"low":13330.0,"amount":176.544,"vol":176544,"trade_turnover":2369166.1492,"count":1004},{"id":1603886400,"open":13331.5,"close":13300.3,"high":13385.0,"low":13173.9,"amount":289.73,"vol":289730,"trade_turnover":3846751.7166,"count":968},{"id":1603890000,"open":13300.2,"close":13129.9,"high":13340.0,"low":13122.9,"amount":139.822,"vol":139822,"trade_turnover":1848876.932,"count":612},{"id":1603893600,"open":13123.4,"close":13082.2,"high":13168.2,"low":12915.9,"amount":367.876,"vol":367876,"trade_turnover":4802516.9818,"count":1168},{"id":1603897200,"open":13077.1,"close":13221.2,"high":13235.2,"low":13052.3,"amount":84.044,"vol":84044,"trade_turnover":1106883.1282,"count":375},{"id":1603900800,"open":13218.7,"close":13145.1,"high":13218.7,"low":13050.0,"amount":29.566,"vol":29566,"trade_turnover":388697.4104,"count":244},{"id":1603904400,"open":13145.1,"close":13176.7,"high":13204.9,"low":13006.6,"amount":53.336,"vol":53336,"trade_turnover":700385.2784,"count":299},{"id":1603908000,"open":13171.0,"close":13196.5,"high":13219.6,"low":13131.0,"amount":34.164,"vol":34164,"trade_turnover":450210.5778,"count":218},{"id":1603911600,"open":13200.0,"close":13154.9,"high":13237.4,"low":13145.0,"amount":22.158,"vol":22158,"trade_turnover":292020.0438,"count":185},{"id":1603915200,"open":13154.5,"close":13198.1,"high":13211.8,"low":13147.4,"amount":4.548,"vol":4548,"trade_turnover":59991.1118,"count":75},{"id":1603918800,"open":13193.5,"close":13190.1,"high":13196.5,"low":13100.2,"amount":3.52,"vol":3520,"trade_turnover":46175.428,"count":68},{"id":1603922400,"open":13185.4,"close":13252.0,"high":13267.5,"low":13185.4,"amount":3.122,"vol":3122,"trade_turnover":41304.2018,"count":72},{"id":1603926000,"open":13242.1,"close":13265.9,"high":13282.3,"low":13235.9,"amount":14.768,"vol":14768,"trade_turnover":195689.0764,"count":86},{"id":1603929600,"open":13253.9,"close":13245.1,"high":13294.7,"low":13237.4,"amount":19.968,"vol":19968,"trade_turnover":264834.1944,"count":98},{"id":1603933200,"open":13244.6,"close":13274.2,"high":13285.3,"low":13166.3,"amount":35.282,"vol":35282,"trade_turnover":465789.6302,"count":192},{"id":1603936800,"open":13275.9,"close":13241.1,"high":13277.7,"low":13212.2,"amount":9.748,"vol":9748,"trade_turnover":129016.0684,"count":119},{"id":1603940400,"open":13237.1,"close":13262.5,"high":13262.5,"low":13174.6,"amount":27.3,"vol":27300,"trade_turnover":360589.8982,"count":199},{"id":1603944000,"open":13269.1,"close":13229.5,"high":13277.7,"low":13229.5,"amount":18.904,"vol":18904,"trade_turnover":250713.2812,"count":109},{"id":1603947600,"open":13228.5,"close":13274.8,"high":13274.8,"low":13228.5,"amount":15.822,"vol":15822,"trade_turnover":209781.909,"count":134},{"id":1603951200,"open":13274.8,"close":13255.0,"high":13323.0,"low":13242.3,"amount":91.246,"vol":91246,"trade_turnover":1211271.2788,"count":294},{"id":1603954800,"open":13255.0,"close":13142.4,"high":13269.3,"low":13123.1,"amount":187.622,"vol":187622,"trade_turnover":2478299.7074,"count":506},{"id":1603958400,"open":13145.9,"close":13124.8,"high":13182.4,"low":13094.1,"amount":69.532,"vol":69532,"trade_turnover":914157.2418,"count":226},{"id":1603962000,"open":13129.5,"close":13183.7,"high":13197.1,"low":13129.5,"amount":23.184,"vol":23184,"trade_turnover":305485.9524,"count":141},{"id":1603965600,"open":13184.8,"close":13105.2,"high":13187.5,"low":13053.1,"amount":121.146,"vol":121146,"trade_turnover":1590026.4416,"count":442},{"id":1603969200,"open":13105.1,"close":13060.1,"high":13171.4,"low":13060.1,"amount":47.498,"vol":47498,"trade_turnover":623578.149,"count":262},{"id":1603972800,"open":13056.9,"close":13131.8,"high":13145.8,"low":12977.9,"amount":126.552,"vol":126552,"trade_turnover":1652549.311,"count":481},{"id":1603976400,"open":13131.7,"close":13230.0,"high":13237.2,"low":13102.0,"amount":100.482,"vol":100482,"trade_turnover":1326403.7206,"count":325},{"id":1603980000,"open":13231.0,"close":13420.8,"high":13476.1,"low":13231.0,"amount":253.258,"vol":253258,"trade_turnover":3384941.438,"count":752},{"id":1603983600,"open":13416.0,"close":13420.6,"high":13458.7,"low":13358.7,"amount":64.71,"vol":64710,"trade_turnover":869052.3804,"count":269},{"id":1603987200,"open":13421.9,"close":13535.9,"high":13594.5,"low":13391.8,"amount":120.24,"vol":120240,"trade_turnover":1626567.8278,"count":570}]} +2024-01-18 11:12:51.756 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:41] - 请求 KLine 数据解析之后的数据为:{"wsid":19750305,"data":[{"amount":0.276,"high":12300.0,"vol":276,"low":11715.8,"count":39,"id":1603270800,"close":12196.7,"tradeTurnover":3315.9104,"open":12198.0},{"amount":0.198,"high":12289.9,"vol":198,"low":12111.0,"count":21,"id":1603274400,"close":12277.9,"tradeTurnover":2420.7728,"open":12196.7},{"amount":0.012,"high":12277.9,"vol":12,"low":12000.0,"count":5,"id":1603278000,"close":12000.0,"tradeTurnover":145.2238,"open":12111.0},{"amount":0.084,"high":12498.0,"vol":84,"low":12078.0,"count":12,"id":1603281600,"close":12497.4,"tradeTurnover":1040.0504,"open":12078.0},{"amount":1.122,"high":12495.6,"vol":1122,"low":12282.9,"count":112,"id":1603285200,"close":12373.5,"tradeTurnover":13905.3124,"open":12495.6},{"amount":5.29,"high":12807.6,"vol":5290,"low":12358.1,"count":155,"id":1603288800,"close":12689.9,"tradeTurnover":66852.128,"open":12412.9},{"amount":1.174,"high":12778.7,"vol":1174,"low":12573.2,"count":113,"id":1603292400,"close":12701.9,"tradeTurnover":14907.367,"open":12692.8},{"amount":1.156,"high":12920.9,"vol":1156,"low":12624.8,"count":115,"id":1603296000,"close":12835.9,"tradeTurnover":14802.449,"open":12679.7},{"amount":1.12,"high":12908.3,"vol":1120,"low":12687.5,"count":115,"id":1603299600,"close":12754.2,"tradeTurnover":14345.7324,"open":12848.3},{"amount":1.106,"high":12849.0,"vol":1106,"low":12668.3,"count":114,"id":1603303200,"close":12740.2,"tradeTurnover":14105.3504,"open":12743.7},{"amount":1.032,"high":12843.1,"vol":1032,"low":12597.2,"count":112,"id":1603306800,"close":12650.3,"tradeTurnover":13125.4568,"open":12729.5},{"amount":1.154,"high":12848.4,"vol":1154,"low":12610.2,"count":116,"id":1603310400,"close":12807.0,"tradeTurnover":14680.638,"open":12666.8},{"amount":1.164,"high":13005.1,"vol":1164,"low":12748.2,"count":114,"id":1603314000,"close":12938.9,"tradeTurnover":14976.9366,"open":12866.0},{"amount":1.174,"high":13211.2,"vol":1174,"low":12865.7,"count":114,"id":1603317600,"close":13122.0,"tradeTurnover":15285.2446,"open":12921.0},{"amount":1.172,"high":13173.2,"vol":1172,"low":12688.6,"count":117,"id":1603321200,"close":12829.8,"tradeTurnover":15060.9938,"open":13153.2},{"amount":1.17,"high":12988.1,"vol":1170,"low":12764.4,"count":117,"id":1603324800,"close":12885.9,"tradeTurnover":15046.2046,"open":12793.1},{"amount":1.158,"high":12972.6,"vol":1158,"low":12757.5,"count":118,"id":1603328400,"close":12757.5,"tradeTurnover":14882.4656,"open":12860.4},{"amount":1.124,"high":12848.0,"vol":1124,"low":12729.0,"count":115,"id":1603332000,"close":12788.8,"tradeTurnover":14368.7948,"open":12824.1},{"amount":1.194,"high":12834.4,"vol":1194,"low":12729.0,"count":111,"id":1603335600,"close":12767.2,"tradeTurnover":15268.9298,"open":12791.7},{"amount":1.152,"high":12778.3,"vol":1152,"low":12729.0,"count":115,"id":1603339200,"close":12762.2,"tradeTurnover":14695.4876,"open":12729.0},{"amount":1.21,"high":12842.0,"vol":1210,"low":12730.6,"count":119,"id":1603342800,"close":12813.8,"tradeTurnover":15440.8162,"open":12763.1},{"amount":1.188,"high":12795.0,"vol":1188,"low":12728.0,"count":123,"id":1603346400,"close":12729.1,"tradeTurnover":15128.0098,"open":12795.0},{"amount":1.266,"high":12730.6,"vol":1266,"low":12728.3,"count":112,"id":1603350000,"close":12730.6,"tradeTurnover":16115.1306,"open":12728.6},{"amount":1.35,"high":12921.5,"vol":1350,"low":12729.9,"count":127,"id":1603353600,"close":12770.1,"tradeTurnover":17233.7326,"open":12730.3},{"amount":0.98,"high":12872.1,"vol":980,"low":12760.1,"count":99,"id":1603357200,"close":12780.4,"tradeTurnover":12553.9826,"open":12824.9},{"amount":0.266,"high":13002.7,"vol":266,"low":12775.6,"count":30,"id":1603360800,"close":12934.2,"tradeTurnover":3415.023,"open":12784.9},{"amount":1.004,"high":13057.0,"vol":1004,"low":12886.6,"count":117,"id":1603364400,"close":13045.0,"tradeTurnover":13020.8576,"open":12977.0},{"amount":1.134,"high":12973.4,"vol":1134,"low":12751.6,"count":111,"id":1603368000,"close":12847.9,"tradeTurnover":14594.2752,"open":12958.5},{"amount":1.152,"high":13000.8,"vol":1152,"low":12743.0,"count":114,"id":1603371600,"close":12931.0,"tradeTurnover":14877.7314,"open":12882.7},{"amount":1.182,"high":12995.3,"vol":1182,"low":12783.9,"count":115,"id":1603375200,"close":12917.8,"tradeTurnover":15224.4716,"open":12890.4},{"amount":1.176,"high":13031.2,"vol":1176,"low":12817.9,"count":117,"id":1603378800,"close":12953.0,"tradeTurnover":15197.208,"open":12918.8},{"amount":1.146,"high":13100.2,"vol":1146,"low":12865.6,"count":119,"id":1603382400,"close":13055.6,"tradeTurnover":14851.9604,"open":12923.1},{"amount":1.534,"high":13105.7,"vol":1534,"low":12835.5,"count":124,"id":1603386000,"close":13082.7,"tradeTurnover":19927.8288,"open":12967.6},{"amount":1.268,"high":13115.0,"vol":1268,"low":12938.7,"count":117,"id":1603389600,"close":13016.4,"tradeTurnover":16505.4738,"open":13020.4},{"amount":1.13,"high":13171.2,"vol":1130,"low":12961.8,"count":112,"id":1603393200,"close":12970.6,"tradeTurnover":14762.952,"open":13028.3},{"amount":1.206,"high":13216.1,"vol":1206,"low":12998.5,"count":117,"id":1603396800,"close":13089.3,"tradeTurnover":15807.1226,"open":13016.7},{"amount":1.332,"high":13203.7,"vol":1332,"low":12932.9,"count":114,"id":1603400400,"close":13092.0,"tradeTurnover":17423.4422,"open":13136.0},{"amount":1.21,"high":13250.5,"vol":1210,"low":12984.7,"count":114,"id":1603404000,"close":13055.9,"tradeTurnover":15876.0632,"open":13119.4},{"amount":1.286,"high":13126.5,"vol":1286,"low":12857.2,"count":116,"id":1603407600,"close":12890.4,"tradeTurnover":16688.422,"open":13059.4},{"amount":1.502,"high":12994.0,"vol":1502,"low":12751.6,"count":131,"id":1603411200,"close":12892.2,"tradeTurnover":19331.1596,"open":12929.7},{"amount":1.386,"high":13003.2,"vol":1386,"low":12786.0,"count":121,"id":1603414800,"close":12898.3,"tradeTurnover":17904.8902,"open":12921.7},{"amount":1.416,"high":13054.0,"vol":1416,"low":12800.7,"count":122,"id":1603418400,"close":12975.1,"tradeTurnover":18306.6204,"open":12951.6},{"amount":1.19,"high":13030.7,"vol":1190,"low":12875.0,"count":118,"id":1603422000,"close":12947.0,"tradeTurnover":15409.7984,"open":12967.3},{"amount":1.022,"high":13047.3,"vol":1022,"low":12832.8,"count":127,"id":1603425600,"close":12852.0,"tradeTurnover":13214.4388,"open":12925.2},{"amount":0.478,"high":12991.7,"vol":478,"low":12841.2,"count":118,"id":1603429200,"close":12931.1,"tradeTurnover":6180.2486,"open":12859.0},{"amount":0.522,"high":13014.1,"vol":522,"low":12871.9,"count":132,"id":1603432800,"close":12939.6,"tradeTurnover":6759.0324,"open":12935.9},{"amount":0.476,"high":12998.9,"vol":476,"low":12917.1,"count":118,"id":1603436400,"close":12925.4,"tradeTurnover":6163.3118,"open":12923.1},{"amount":0.508,"high":13014.0,"vol":508,"low":12916.1,"count":122,"id":1603440000,"close":12962.6,"tradeTurnover":6585.3656,"open":12942.2},{"amount":0.564,"high":13012.5,"vol":564,"low":12909.9,"count":124,"id":1603443600,"close":12926.4,"tradeTurnover":7308.8828,"open":12970.5},{"amount":0.536,"high":13059.5,"vol":536,"low":12925.7,"count":124,"id":1603447200,"close":13007.7,"tradeTurnover":6957.8796,"open":13001.2},{"amount":0.486,"high":13078.4,"vol":486,"low":12906.5,"count":122,"id":1603450800,"close":12970.6,"tradeTurnover":6326.1434,"open":13025.4},{"amount":0.494,"high":13025.0,"vol":494,"low":12850.8,"count":117,"id":1603454400,"close":12935.4,"tradeTurnover":6396.0984,"open":12963.9},{"amount":0.466,"high":13043.3,"vol":466,"low":12911.0,"count":117,"id":1603458000,"close":12951.7,"tradeTurnover":6049.1412,"open":12913.3},{"amount":0.46,"high":13006.4,"vol":460,"low":12840.4,"count":116,"id":1603461600,"close":12858.8,"tradeTurnover":5941.815,"open":12999.6},{"amount":0.492,"high":12932.9,"vol":492,"low":12826.5,"count":117,"id":1603465200,"close":12881.9,"tradeTurnover":6340.214,"open":12885.7},{"amount":0.484,"high":12933.5,"vol":484,"low":12744.4,"count":123,"id":1603468800,"close":12784.1,"tradeTurnover":6205.4138,"open":12854.4},{"amount":0.562,"high":12893.1,"vol":562,"low":12730.1,"count":152,"id":1603472400,"close":12847.7,"tradeTurnover":7218.9184,"open":12832.3},{"amount":0.53,"high":12939.3,"vol":530,"low":12751.4,"count":128,"id":1603476000,"close":12915.7,"tradeTurnover":6825.7004,"open":12874.1},{"amount":0.444,"high":12972.9,"vol":444,"low":12786.6,"count":117,"id":1603479600,"close":12972.9,"tradeTurnover":5727.7452,"open":12867.9},{"amount":0.492,"high":13002.2,"vol":492,"low":12842.9,"count":116,"id":1603483200,"close":12991.6,"tradeTurnover":6375.1566,"open":12956.7},{"amount":0.5,"high":13004.3,"vol":500,"low":12936.6,"count":125,"id":1603486800,"close":12943.5,"tradeTurnover":6485.468,"open":13004.3},{"amount":0.492,"high":13010.3,"vol":492,"low":12884.7,"count":120,"id":1603490400,"close":12989.2,"tradeTurnover":6376.1492,"open":12923.6},{"amount":0.51,"high":13024.4,"vol":510,"low":12884.6,"count":121,"id":1603494000,"close":12884.6,"tradeTurnover":6622.3406,"open":12974.9},{"amount":0.488,"high":13018.3,"vol":488,"low":12811.1,"count":120,"id":1603497600,"close":12953.9,"tradeTurnover":6317.7938,"open":12973.7},{"amount":0.482,"high":13018.1,"vol":482,"low":12872.8,"count":117,"id":1603501200,"close":12934.2,"tradeTurnover":6242.4178,"open":12927.5},{"amount":0.484,"high":13003.9,"vol":484,"low":12903.3,"count":117,"id":1603504800,"close":12989.1,"tradeTurnover":6278.1756,"open":12971.9},{"amount":0.474,"high":13013.4,"vol":474,"low":12938.3,"count":122,"id":1603508400,"close":12975.9,"tradeTurnover":6157.7096,"open":13000.1},{"amount":0.526,"high":13009.4,"vol":526,"low":12905.5,"count":124,"id":1603512000,"close":12963.3,"tradeTurnover":6831.5658,"open":12989.7},{"amount":0.522,"high":13041.8,"vol":522,"low":12875.3,"count":127,"id":1603515600,"close":12989.7,"tradeTurnover":6768.8994,"open":12910.5},{"amount":0.49,"high":13058.1,"vol":490,"low":12908.8,"count":120,"id":1603519200,"close":13003.6,"tradeTurnover":6370.5714,"open":12994.7},{"amount":0.478,"high":13037.8,"vol":478,"low":12981.7,"count":120,"id":1603522800,"close":13004.2,"tradeTurnover":6218.9722,"open":13011.9},{"amount":0.52,"high":13030.6,"vol":520,"low":12899.4,"count":124,"id":1603526400,"close":12998.2,"tradeTurnover":6754.958,"open":13003.0},{"amount":0.454,"high":13020.3,"vol":454,"low":12893.6,"count":115,"id":1603530000,"close":12990.6,"tradeTurnover":5891.0574,"open":12998.2},{"amount":0.502,"high":13059.1,"vol":502,"low":12913.2,"count":124,"id":1603533600,"close":13030.1,"tradeTurnover":6525.9004,"open":12996.4},{"amount":0.468,"high":13068.3,"vol":468,"low":12940.2,"count":119,"id":1603537200,"close":13033.2,"tradeTurnover":6091.0376,"open":12988.4},{"amount":0.468,"high":13071.8,"vol":468,"low":12978.9,"count":123,"id":1603540800,"close":13006.5,"tradeTurnover":6102.5902,"open":13035.3},{"amount":0.534,"high":13066.7,"vol":534,"low":12928.1,"count":123,"id":1603544400,"close":12985.9,"tradeTurnover":6950.4268,"open":13038.8},{"amount":0.47,"high":13100.1,"vol":470,"low":12960.5,"count":100,"id":1603548000,"close":13042.0,"tradeTurnover":6124.2178,"open":12986.3},{"amount":0.456,"high":13196.5,"vol":456,"low":13038.4,"count":120,"id":1603551600,"close":13102.2,"tradeTurnover":5989.6362,"open":13038.4},{"amount":0.458,"high":13176.6,"vol":458,"low":12984.6,"count":121,"id":1603555200,"close":13052.7,"tradeTurnover":5976.331,"open":13136.8},{"amount":0.452,"high":13177.8,"vol":452,"low":13003.2,"count":118,"id":1603558800,"close":13177.8,"tradeTurnover":5911.7058,"open":13006.2},{"amount":0.468,"high":13170.7,"vol":468,"low":13023.0,"count":119,"id":1603562400,"close":13080.8,"tradeTurnover":6122.375,"open":13127.7},{"amount":0.468,"high":13179.3,"vol":468,"low":13014.2,"count":120,"id":1603566000,"close":13148.4,"tradeTurnover":6126.4278,"open":13040.7},{"amount":0.47,"high":13179.6,"vol":470,"low":12992.5,"count":119,"id":1603569600,"close":13090.1,"tradeTurnover":6151.4758,"open":13073.5},{"amount":0.458,"high":13148.7,"vol":458,"low":12980.7,"count":117,"id":1603573200,"close":12993.9,"tradeTurnover":5981.071,"open":13035.4},{"amount":0.478,"high":13112.1,"vol":478,"low":12975.6,"count":118,"id":1603576800,"close":13041.1,"tradeTurnover":6225.4216,"open":13040.7},{"amount":0.472,"high":13184.3,"vol":472,"low":13009.3,"count":118,"id":1603580400,"close":13184.3,"tradeTurnover":6173.4244,"open":13012.6},{"amount":0.46,"high":13170.4,"vol":460,"low":13007.7,"count":115,"id":1603584000,"close":13154.3,"tradeTurnover":6024.09,"open":13080.8},{"amount":0.398,"high":13196.8,"vol":398,"low":13024.0,"count":102,"id":1603587600,"close":13196.1,"tradeTurnover":5217.5364,"open":13092.0},{"amount":0.476,"high":13175.1,"vol":476,"low":13035.0,"count":120,"id":1603591200,"close":13082.4,"tradeTurnover":6228.6596,"open":13124.7},{"amount":0.578,"high":13383.8,"vol":578,"low":13049.1,"count":137,"id":1603594800,"close":13259.0,"tradeTurnover":7629.3886,"open":13049.1},{"amount":0.47,"high":13369.0,"vol":470,"low":13216.0,"count":122,"id":1603598400,"close":13243.4,"tradeTurnover":6247.955,"open":13277.0},{"amount":0.61,"high":13353.3,"vol":610,"low":13010.1,"count":134,"id":1603602000,"close":13017.3,"tradeTurnover":8048.8598,"open":13285.3},{"amount":0.486,"high":13105.7,"vol":486,"low":13018.2,"count":118,"id":1603605600,"close":13060.3,"tradeTurnover":6344.1474,"open":13022.5},{"amount":0.464,"high":13112.1,"vol":464,"low":13022.0,"count":120,"id":1603609200,"close":13078.1,"tradeTurnover":6061.5416,"open":13048.5},{"amount":0.464,"high":13091.0,"vol":464,"low":13017.2,"count":120,"id":1603612800,"close":13046.0,"tradeTurnover":6055.3734,"open":13077.2},{"amount":0.478,"high":13084.0,"vol":478,"low":13014.2,"count":117,"id":1603616400,"close":13040.8,"tradeTurnover":6235.7882,"open":13065.1},{"amount":0.478,"high":13064.2,"vol":478,"low":13010.2,"count":125,"id":1603620000,"close":13028.5,"tradeTurnover":6232.2428,"open":13047.1},{"amount":0.534,"high":13061.5,"vol":534,"low":12852.9,"count":123,"id":1603623600,"close":12897.6,"tradeTurnover":6918.1226,"open":13061.5},{"amount":0.444,"high":13069.7,"vol":444,"low":12893.2,"count":117,"id":1603627200,"close":12964.3,"tradeTurnover":5755.8712,"open":12908.3},{"amount":0.498,"high":13071.9,"vol":498,"low":12891.8,"count":119,"id":1603630800,"close":12949.3,"tradeTurnover":6465.078,"open":13001.3},{"amount":0.468,"high":13077.7,"vol":468,"low":12900.0,"count":116,"id":1603634400,"close":12946.8,"tradeTurnover":6075.4554,"open":12975.8},{"amount":0.47,"high":13069.1,"vol":470,"low":12883.3,"count":119,"id":1603638000,"close":12883.3,"tradeTurnover":6097.1072,"open":12975.2},{"amount":0.482,"high":13067.9,"vol":482,"low":12877.5,"count":118,"id":1603641600,"close":12978.7,"tradeTurnover":6256.4472,"open":12916.2},{"amount":0.47,"high":13087.5,"vol":470,"low":12922.7,"count":117,"id":1603645200,"close":13004.4,"tradeTurnover":6108.3892,"open":13008.0},{"amount":0.468,"high":13067.6,"vol":468,"low":12893.6,"count":118,"id":1603648800,"close":12957.2,"tradeTurnover":6079.1484,"open":12972.8},{"amount":0.442,"high":13066.9,"vol":442,"low":12916.6,"count":118,"id":1603652400,"close":13021.8,"tradeTurnover":5746.5548,"open":12996.5},{"amount":0.508,"high":13081.5,"vol":508,"low":12944.9,"count":120,"id":1603656000,"close":12985.4,"tradeTurnover":6616.9872,"open":12992.9},{"amount":0.508,"high":13068.6,"vol":508,"low":12921.4,"count":122,"id":1603659600,"close":13011.2,"tradeTurnover":6614.816,"open":12999.9},{"amount":0.486,"high":13073.8,"vol":486,"low":12911.9,"count":121,"id":1603663200,"close":12959.4,"tradeTurnover":6320.907,"open":12979.6},{"amount":0.452,"high":13085.2,"vol":452,"low":12927.8,"count":113,"id":1603666800,"close":13032.1,"tradeTurnover":5878.6442,"open":12963.4},{"amount":0.482,"high":13076.7,"vol":482,"low":12918.3,"count":121,"id":1603670400,"close":13001.0,"tradeTurnover":6263.698,"open":12964.2},{"amount":0.478,"high":13096.4,"vol":478,"low":12991.2,"count":124,"id":1603674000,"close":13053.7,"tradeTurnover":6232.2328,"open":13040.0},{"amount":0.488,"high":13185.7,"vol":488,"low":12985.1,"count":121,"id":1603677600,"close":13064.4,"tradeTurnover":6387.534,"open":13060.6},{"amount":0.486,"high":13187.2,"vol":486,"low":12984.1,"count":135,"id":1603681200,"close":13092.8,"tradeTurnover":6369.0272,"open":13032.3},{"amount":0.51,"high":13181.6,"vol":510,"low":12962.3,"count":131,"id":1603684800,"close":13132.6,"tradeTurnover":6679.829,"open":13092.0},{"amount":0.506,"high":13205.3,"vol":506,"low":13025.3,"count":126,"id":1603688400,"close":13092.1,"tradeTurnover":6641.2128,"open":13129.2},{"amount":1.616,"high":13188.1,"vol":1616,"low":12989.8,"count":141,"id":1603692000,"close":13071.4,"tradeTurnover":21170.8224,"open":13121.8},{"amount":3.746,"high":13100.0,"vol":3746,"low":12965.2,"count":110,"id":1603695600,"close":13038.7,"tradeTurnover":48924.8902,"open":13061.0},{"amount":8.966,"high":13102.0,"vol":8966,"low":12852.8,"count":173,"id":1603699200,"close":13039.3,"tradeTurnover":116525.5534,"open":13030.9},{"amount":4.48,"high":13088.4,"vol":4480,"low":13039.8,"count":124,"id":1603702800,"close":13075.9,"tradeTurnover":58521.1714,"open":13047.1},{"amount":4.272,"high":13100.0,"vol":4272,"low":13060.2,"count":130,"id":1603706400,"close":13100.0,"tradeTurnover":55895.9778,"open":13072.1},{"amount":29.798,"high":13159.0,"vol":29798,"low":13100.0,"count":230,"id":1603710000,"close":13138.4,"tradeTurnover":391138.024,"open":13100.0},{"amount":5.154,"high":13200.0,"vol":5154,"low":13100.0,"count":188,"id":1603713600,"close":13149.8,"tradeTurnover":67694.652,"open":13138.8},{"amount":35.608,"high":13351.5,"vol":35608,"low":13133.1,"count":328,"id":1603717200,"close":13205.8,"tradeTurnover":472780.3394,"open":13150.0},{"amount":31.748,"high":13280.0,"vol":31748,"low":13144.1,"count":235,"id":1603720800,"close":13166.1,"tradeTurnover":418744.5588,"open":13203.0},{"amount":36.53,"high":13165.2,"vol":36530,"low":12903.8,"count":384,"id":1603724400,"close":12978.0,"tradeTurnover":476940.3296,"open":13159.0},{"amount":35.018,"high":13069.8,"vol":35018,"low":12850.5,"count":323,"id":1603728000,"close":12869.6,"tradeTurnover":453288.918,"open":12965.0},{"amount":92.628,"high":12941.5,"vol":92628,"low":12583.9,"count":560,"id":1603731600,"close":12873.8,"tradeTurnover":1185973.467,"open":12879.2},{"amount":4.302,"high":12954.5,"vol":4302,"low":12820.4,"count":128,"id":1603735200,"close":12946.8,"tradeTurnover":55481.0054,"open":12856.2},{"amount":13.83,"high":12953.5,"vol":13830,"low":12914.1,"count":118,"id":1603738800,"close":12953.4,"tradeTurnover":179112.1598,"open":12945.6},{"amount":17.172,"high":13007.5,"vol":17172,"low":12953.5,"count":132,"id":1603742400,"close":12983.4,"tradeTurnover":223230.2122,"open":12953.5},{"amount":3.212,"high":13007.5,"vol":3212,"low":12982.7,"count":59,"id":1603746000,"close":12993.8,"tradeTurnover":41767.8906,"open":12983.1},{"amount":1.504,"high":13007.5,"vol":1504,"low":12974.0,"count":74,"id":1603749600,"close":13007.5,"tradeTurnover":19543.3568,"open":13002.1},{"amount":3.454,"high":13061.2,"vol":3454,"low":13007.5,"count":101,"id":1603753200,"close":13033.7,"tradeTurnover":45001.601,"open":13007.5},{"amount":8.784,"high":13105.0,"vol":8784,"low":13028.3,"count":98,"id":1603756800,"close":13067.1,"tradeTurnover":114871.8246,"open":13029.2},{"amount":11.592,"high":13074.4,"vol":11592,"low":13051.5,"count":66,"id":1603760400,"close":13061.7,"tradeTurnover":151386.9038,"open":13074.3},{"amount":19.298,"high":13097.6,"vol":19298,"low":13040.1,"count":109,"id":1603764000,"close":13049.7,"tradeTurnover":252061.019,"open":13061.7},{"amount":22.992,"high":13080.0,"vol":22992,"low":13057.1,"count":69,"id":1603767600,"close":13070.4,"tradeTurnover":300453.9788,"open":13057.6},{"amount":14.396,"high":13175.0,"vol":14396,"low":13079.6,"count":59,"id":1603771200,"close":13103.3,"tradeTurnover":188461.9156,"open":13080.0},{"amount":5.058,"high":13121.3,"vol":5058,"low":13069.7,"count":44,"id":1603774800,"close":13073.6,"tradeTurnover":66201.3552,"open":13121.3},{"amount":9.106,"high":13149.0,"vol":9106,"low":13069.6,"count":107,"id":1603778400,"close":13103.4,"tradeTurnover":119104.8906,"open":13074.9},{"amount":73.95,"high":13169.8,"vol":73950,"low":12992.4,"count":305,"id":1603782000,"close":13130.0,"tradeTurnover":968195.155,"open":13103.3},{"amount":18.732,"high":13148.4,"vol":18732,"low":13044.0,"count":135,"id":1603785600,"close":13123.8,"tradeTurnover":245533.5448,"open":13135.1},{"amount":13.756,"high":13131.8,"vol":13756,"low":13075.7,"count":102,"id":1603789200,"close":13131.7,"tradeTurnover":180253.7708,"open":13115.5},{"amount":154.108,"high":13252.0,"vol":154108,"low":13063.4,"count":525,"id":1603792800,"close":13216.9,"tradeTurnover":2029983.656,"open":13134.8},{"amount":170.09,"high":13590.1,"vol":170090,"low":13213.5,"count":591,"id":1603796400,"close":13395.8,"tradeTurnover":2276279.742,"open":13218.8},{"amount":48.928,"high":13414.0,"vol":48928,"low":13331.7,"count":216,"id":1603800000,"close":13376.9,"tradeTurnover":654585.9108,"open":13395.9},{"amount":63.294,"high":13490.9,"vol":63294,"low":13329.8,"count":316,"id":1603803600,"close":13384.3,"tradeTurnover":848130.9212,"open":13376.5},{"amount":12.892,"high":13415.8,"vol":12892,"low":13344.8,"count":124,"id":1603807200,"close":13398.2,"tradeTurnover":172618.6864,"open":13392.6},{"amount":93.22,"high":13626.7,"vol":93220,"low":13398.2,"count":476,"id":1603810800,"close":13598.5,"tradeTurnover":1262695.5466,"open":13398.2},{"amount":85.45,"high":13639.9,"vol":85450,"low":13520.2,"count":435,"id":1603814400,"close":13639.9,"tradeTurnover":1161481.4136,"open":13595.8},{"amount":191.812,"high":13826.7,"vol":191812,"low":13589.0,"count":711,"id":1603818000,"close":13688.1,"tradeTurnover":2628428.3788,"open":13640.0},{"amount":65.434,"high":13745.0,"vol":65434,"low":13528.2,"count":410,"id":1603821600,"close":13630.1,"tradeTurnover":891541.8394,"open":13685.0},{"amount":5.788,"high":13659.8,"vol":5788,"low":13595.4,"count":65,"id":1603825200,"close":13637.1,"tradeTurnover":78836.2578,"open":13629.4},{"amount":163.104,"high":13805.1,"vol":163104,"low":13582.6,"count":537,"id":1603828800,"close":13616.6,"tradeTurnover":2234040.3544,"open":13644.4},{"amount":9.884,"high":13753.5,"vol":9884,"low":13609.8,"count":101,"id":1603832400,"close":13705.5,"tradeTurnover":135406.4752,"open":13609.8},{"amount":7.436,"high":13739.9,"vol":7436,"low":13658.2,"count":100,"id":1603836000,"close":13739.9,"tradeTurnover":101840.3508,"open":13705.4},{"amount":17.086,"high":13794.6,"vol":17086,"low":13582.6,"count":234,"id":1603839600,"close":13649.6,"tradeTurnover":233971.8448,"open":13739.9},{"amount":24.108,"high":13745.2,"vol":24108,"low":13618.8,"count":177,"id":1603843200,"close":13701.7,"tradeTurnover":330206.5694,"open":13645.9},{"amount":15.892,"high":13725.6,"vol":15892,"low":13647.9,"count":151,"id":1603846800,"close":13702.6,"tradeTurnover":217816.7008,"open":13702.1},{"amount":46.548,"high":13832.2,"vol":46548,"low":13680.2,"count":274,"id":1603850400,"close":13811.6,"tradeTurnover":640636.0352,"open":13701.7},{"amount":67.896,"high":13820.3,"vol":67896,"low":13717.5,"count":320,"id":1603854000,"close":13777.0,"tradeTurnover":935838.2238,"open":13818.5},{"amount":33.156,"high":13807.2,"vol":33156,"low":13710.0,"count":210,"id":1603857600,"close":13735.7,"tradeTurnover":455941.234,"open":13767.3},{"amount":32.076,"high":13753.9,"vol":32076,"low":13671.3,"count":198,"id":1603861200,"close":13715.8,"tradeTurnover":439612.64,"open":13735.5},{"amount":14.756,"high":13757.0,"vol":14756,"low":13694.9,"count":122,"id":1603864800,"close":13701.3,"tradeTurnover":202602.5164,"open":13715.9},{"amount":155.534,"high":13708.7,"vol":155534,"low":13550.0,"count":635,"id":1603868400,"close":13674.2,"tradeTurnover":2117935.0928,"open":13701.2},{"amount":29.846,"high":13691.7,"vol":29846,"low":13584.0,"count":240,"id":1603872000,"close":13691.7,"tradeTurnover":407073.1398,"open":13673.0},{"amount":104.542,"high":13707.5,"vol":104542,"low":13573.5,"count":377,"id":1603875600,"close":13587.1,"tradeTurnover":1425079.9344,"open":13689.3},{"amount":73.818,"high":13618.0,"vol":73818,"low":13504.7,"count":358,"id":1603879200,"close":13552.7,"tradeTurnover":1001666.0908,"open":13584.6},{"amount":176.544,"high":13565.4,"vol":176544,"low":13330.0,"count":1004,"id":1603882800,"close":13336.4,"tradeTurnover":2369166.1492,"open":13552.6},{"amount":289.73,"high":13385.0,"vol":289730,"low":13173.9,"count":968,"id":1603886400,"close":13300.3,"tradeTurnover":3846751.7166,"open":13331.5},{"amount":139.822,"high":13340.0,"vol":139822,"low":13122.9,"count":612,"id":1603890000,"close":13129.9,"tradeTurnover":1848876.932,"open":13300.2},{"amount":367.876,"high":13168.2,"vol":367876,"low":12915.9,"count":1168,"id":1603893600,"close":13082.2,"tradeTurnover":4802516.9818,"open":13123.4},{"amount":84.044,"high":13235.2,"vol":84044,"low":13052.3,"count":375,"id":1603897200,"close":13221.2,"tradeTurnover":1106883.1282,"open":13077.1},{"amount":29.566,"high":13218.7,"vol":29566,"low":13050.0,"count":244,"id":1603900800,"close":13145.1,"tradeTurnover":388697.4104,"open":13218.7},{"amount":53.336,"high":13204.9,"vol":53336,"low":13006.6,"count":299,"id":1603904400,"close":13176.7,"tradeTurnover":700385.2784,"open":13145.1},{"amount":34.164,"high":13219.6,"vol":34164,"low":13131.0,"count":218,"id":1603908000,"close":13196.5,"tradeTurnover":450210.5778,"open":13171.0},{"amount":22.158,"high":13237.4,"vol":22158,"low":13145.0,"count":185,"id":1603911600,"close":13154.9,"tradeTurnover":292020.0438,"open":13200.0},{"amount":4.548,"high":13211.8,"vol":4548,"low":13147.4,"count":75,"id":1603915200,"close":13198.1,"tradeTurnover":59991.1118,"open":13154.5},{"amount":3.52,"high":13196.5,"vol":3520,"low":13100.2,"count":68,"id":1603918800,"close":13190.1,"tradeTurnover":46175.428,"open":13193.5},{"amount":3.122,"high":13267.5,"vol":3122,"low":13185.4,"count":72,"id":1603922400,"close":13252.0,"tradeTurnover":41304.2018,"open":13185.4},{"amount":14.768,"high":13282.3,"vol":14768,"low":13235.9,"count":86,"id":1603926000,"close":13265.9,"tradeTurnover":195689.0764,"open":13242.1},{"amount":19.968,"high":13294.7,"vol":19968,"low":13237.4,"count":98,"id":1603929600,"close":13245.1,"tradeTurnover":264834.1944,"open":13253.9},{"amount":35.282,"high":13285.3,"vol":35282,"low":13166.3,"count":192,"id":1603933200,"close":13274.2,"tradeTurnover":465789.6302,"open":13244.6},{"amount":9.748,"high":13277.7,"vol":9748,"low":13212.2,"count":119,"id":1603936800,"close":13241.1,"tradeTurnover":129016.0684,"open":13275.9},{"amount":27.3,"high":13262.5,"vol":27300,"low":13174.6,"count":199,"id":1603940400,"close":13262.5,"tradeTurnover":360589.8982,"open":13237.1},{"amount":18.904,"high":13277.7,"vol":18904,"low":13229.5,"count":109,"id":1603944000,"close":13229.5,"tradeTurnover":250713.2812,"open":13269.1},{"amount":15.822,"high":13274.8,"vol":15822,"low":13228.5,"count":134,"id":1603947600,"close":13274.8,"tradeTurnover":209781.909,"open":13228.5},{"amount":91.246,"high":13323.0,"vol":91246,"low":13242.3,"count":294,"id":1603951200,"close":13255.0,"tradeTurnover":1211271.2788,"open":13274.8},{"amount":187.622,"high":13269.3,"vol":187622,"low":13123.1,"count":506,"id":1603954800,"close":13142.4,"tradeTurnover":2478299.7074,"open":13255.0},{"amount":69.532,"high":13182.4,"vol":69532,"low":13094.1,"count":226,"id":1603958400,"close":13124.8,"tradeTurnover":914157.2418,"open":13145.9},{"amount":23.184,"high":13197.1,"vol":23184,"low":13129.5,"count":141,"id":1603962000,"close":13183.7,"tradeTurnover":305485.9524,"open":13129.5},{"amount":121.146,"high":13187.5,"vol":121146,"low":13053.1,"count":442,"id":1603965600,"close":13105.2,"tradeTurnover":1590026.4416,"open":13184.8},{"amount":47.498,"high":13171.4,"vol":47498,"low":13060.1,"count":262,"id":1603969200,"close":13060.1,"tradeTurnover":623578.149,"open":13105.1},{"amount":126.552,"high":13145.8,"vol":126552,"low":12977.9,"count":481,"id":1603972800,"close":13131.8,"tradeTurnover":1652549.311,"open":13056.9},{"amount":100.482,"high":13237.2,"vol":100482,"low":13102.0,"count":325,"id":1603976400,"close":13230.0,"tradeTurnover":1326403.7206,"open":13131.7},{"amount":253.258,"high":13476.1,"vol":253258,"low":13231.0,"count":752,"id":1603980000,"close":13420.8,"tradeTurnover":3384941.438,"open":13231.0},{"amount":64.71,"high":13458.7,"vol":64710,"low":13358.7,"count":269,"id":1603983600,"close":13420.6,"tradeTurnover":869052.3804,"open":13416.0},{"amount":120.24,"high":13594.5,"vol":120240,"low":13391.8,"count":570,"id":1603987200,"close":13535.9,"tradeTurnover":1626567.8278,"open":13421.9}],"id":"","rep":"market.BTC-USDT.kline.60min","status":"ok"} +2024-01-18 11:12:52.767 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:39] - 请求 KLine 数据用户收到的原始数据:{"id":"","rep":"market.BTC-USDT.kline.60min","ts":1705547571675,"wsid":19750305,"status":"ok","data":[{"id":1603270800,"open":12198.0,"close":12196.7,"high":12300.0,"low":11715.8,"amount":0.276,"vol":276,"trade_turnover":3315.9104,"count":39},{"id":1603274400,"open":12196.7,"close":12277.9,"high":12289.9,"low":12111.0,"amount":0.198,"vol":198,"trade_turnover":2420.7728,"count":21},{"id":1603278000,"open":12111.0,"close":12000.0,"high":12277.9,"low":12000.0,"amount":0.012,"vol":12,"trade_turnover":145.2238,"count":5},{"id":1603281600,"open":12078.0,"close":12497.4,"high":12498.0,"low":12078.0,"amount":0.084,"vol":84,"trade_turnover":1040.0504,"count":12},{"id":1603285200,"open":12495.6,"close":12373.5,"high":12495.6,"low":12282.9,"amount":1.122,"vol":1122,"trade_turnover":13905.3124,"count":112},{"id":1603288800,"open":12412.9,"close":12689.9,"high":12807.6,"low":12358.1,"amount":5.29,"vol":5290,"trade_turnover":66852.128,"count":155},{"id":1603292400,"open":12692.8,"close":12701.9,"high":12778.7,"low":12573.2,"amount":1.174,"vol":1174,"trade_turnover":14907.367,"count":113},{"id":1603296000,"open":12679.7,"close":12835.9,"high":12920.9,"low":12624.8,"amount":1.156,"vol":1156,"trade_turnover":14802.449,"count":115},{"id":1603299600,"open":12848.3,"close":12754.2,"high":12908.3,"low":12687.5,"amount":1.12,"vol":1120,"trade_turnover":14345.7324,"count":115},{"id":1603303200,"open":12743.7,"close":12740.2,"high":12849.0,"low":12668.3,"amount":1.106,"vol":1106,"trade_turnover":14105.3504,"count":114},{"id":1603306800,"open":12729.5,"close":12650.3,"high":12843.1,"low":12597.2,"amount":1.032,"vol":1032,"trade_turnover":13125.4568,"count":112},{"id":1603310400,"open":12666.8,"close":12807.0,"high":12848.4,"low":12610.2,"amount":1.154,"vol":1154,"trade_turnover":14680.638,"count":116},{"id":1603314000,"open":12866.0,"close":12938.9,"high":13005.1,"low":12748.2,"amount":1.164,"vol":1164,"trade_turnover":14976.9366,"count":114},{"id":1603317600,"open":12921.0,"close":13122.0,"high":13211.2,"low":12865.7,"amount":1.174,"vol":1174,"trade_turnover":15285.2446,"count":114},{"id":1603321200,"open":13153.2,"close":12829.8,"high":13173.2,"low":12688.6,"amount":1.172,"vol":1172,"trade_turnover":15060.9938,"count":117},{"id":1603324800,"open":12793.1,"close":12885.9,"high":12988.1,"low":12764.4,"amount":1.17,"vol":1170,"trade_turnover":15046.2046,"count":117},{"id":1603328400,"open":12860.4,"close":12757.5,"high":12972.6,"low":12757.5,"amount":1.158,"vol":1158,"trade_turnover":14882.4656,"count":118},{"id":1603332000,"open":12824.1,"close":12788.8,"high":12848.0,"low":12729.0,"amount":1.124,"vol":1124,"trade_turnover":14368.7948,"count":115},{"id":1603335600,"open":12791.7,"close":12767.2,"high":12834.4,"low":12729.0,"amount":1.194,"vol":1194,"trade_turnover":15268.9298,"count":111},{"id":1603339200,"open":12729.0,"close":12762.2,"high":12778.3,"low":12729.0,"amount":1.152,"vol":1152,"trade_turnover":14695.4876,"count":115},{"id":1603342800,"open":12763.1,"close":12813.8,"high":12842.0,"low":12730.6,"amount":1.21,"vol":1210,"trade_turnover":15440.8162,"count":119},{"id":1603346400,"open":12795.0,"close":12729.1,"high":12795.0,"low":12728.0,"amount":1.188,"vol":1188,"trade_turnover":15128.0098,"count":123},{"id":1603350000,"open":12728.6,"close":12730.6,"high":12730.6,"low":12728.3,"amount":1.266,"vol":1266,"trade_turnover":16115.1306,"count":112},{"id":1603353600,"open":12730.3,"close":12770.1,"high":12921.5,"low":12729.9,"amount":1.35,"vol":1350,"trade_turnover":17233.7326,"count":127},{"id":1603357200,"open":12824.9,"close":12780.4,"high":12872.1,"low":12760.1,"amount":0.98,"vol":980,"trade_turnover":12553.9826,"count":99},{"id":1603360800,"open":12784.9,"close":12934.2,"high":13002.7,"low":12775.6,"amount":0.266,"vol":266,"trade_turnover":3415.023,"count":30},{"id":1603364400,"open":12977.0,"close":13045.0,"high":13057.0,"low":12886.6,"amount":1.004,"vol":1004,"trade_turnover":13020.8576,"count":117},{"id":1603368000,"open":12958.5,"close":12847.9,"high":12973.4,"low":12751.6,"amount":1.134,"vol":1134,"trade_turnover":14594.2752,"count":111},{"id":1603371600,"open":12882.7,"close":12931.0,"high":13000.8,"low":12743.0,"amount":1.152,"vol":1152,"trade_turnover":14877.7314,"count":114},{"id":1603375200,"open":12890.4,"close":12917.8,"high":12995.3,"low":12783.9,"amount":1.182,"vol":1182,"trade_turnover":15224.4716,"count":115},{"id":1603378800,"open":12918.8,"close":12953.0,"high":13031.2,"low":12817.9,"amount":1.176,"vol":1176,"trade_turnover":15197.208,"count":117},{"id":1603382400,"open":12923.1,"close":13055.6,"high":13100.2,"low":12865.6,"amount":1.146,"vol":1146,"trade_turnover":14851.9604,"count":119},{"id":1603386000,"open":12967.6,"close":13082.7,"high":13105.7,"low":12835.5,"amount":1.534,"vol":1534,"trade_turnover":19927.8288,"count":124},{"id":1603389600,"open":13020.4,"close":13016.4,"high":13115.0,"low":12938.7,"amount":1.268,"vol":1268,"trade_turnover":16505.4738,"count":117},{"id":1603393200,"open":13028.3,"close":12970.6,"high":13171.2,"low":12961.8,"amount":1.13,"vol":1130,"trade_turnover":14762.952,"count":112},{"id":1603396800,"open":13016.7,"close":13089.3,"high":13216.1,"low":12998.5,"amount":1.206,"vol":1206,"trade_turnover":15807.1226,"count":117},{"id":1603400400,"open":13136.0,"close":13092.0,"high":13203.7,"low":12932.9,"amount":1.332,"vol":1332,"trade_turnover":17423.4422,"count":114},{"id":1603404000,"open":13119.4,"close":13055.9,"high":13250.5,"low":12984.7,"amount":1.21,"vol":1210,"trade_turnover":15876.0632,"count":114},{"id":1603407600,"open":13059.4,"close":12890.4,"high":13126.5,"low":12857.2,"amount":1.286,"vol":1286,"trade_turnover":16688.422,"count":116},{"id":1603411200,"open":12929.7,"close":12892.2,"high":12994.0,"low":12751.6,"amount":1.502,"vol":1502,"trade_turnover":19331.1596,"count":131},{"id":1603414800,"open":12921.7,"close":12898.3,"high":13003.2,"low":12786.0,"amount":1.386,"vol":1386,"trade_turnover":17904.8902,"count":121},{"id":1603418400,"open":12951.6,"close":12975.1,"high":13054.0,"low":12800.7,"amount":1.416,"vol":1416,"trade_turnover":18306.6204,"count":122},{"id":1603422000,"open":12967.3,"close":12947.0,"high":13030.7,"low":12875.0,"amount":1.19,"vol":1190,"trade_turnover":15409.7984,"count":118},{"id":1603425600,"open":12925.2,"close":12852.0,"high":13047.3,"low":12832.8,"amount":1.022,"vol":1022,"trade_turnover":13214.4388,"count":127},{"id":1603429200,"open":12859.0,"close":12931.1,"high":12991.7,"low":12841.2,"amount":0.478,"vol":478,"trade_turnover":6180.2486,"count":118},{"id":1603432800,"open":12935.9,"close":12939.6,"high":13014.1,"low":12871.9,"amount":0.522,"vol":522,"trade_turnover":6759.0324,"count":132},{"id":1603436400,"open":12923.1,"close":12925.4,"high":12998.9,"low":12917.1,"amount":0.476,"vol":476,"trade_turnover":6163.3118,"count":118},{"id":1603440000,"open":12942.2,"close":12962.6,"high":13014.0,"low":12916.1,"amount":0.508,"vol":508,"trade_turnover":6585.3656,"count":122},{"id":1603443600,"open":12970.5,"close":12926.4,"high":13012.5,"low":12909.9,"amount":0.564,"vol":564,"trade_turnover":7308.8828,"count":124},{"id":1603447200,"open":13001.2,"close":13007.7,"high":13059.5,"low":12925.7,"amount":0.536,"vol":536,"trade_turnover":6957.8796,"count":124},{"id":1603450800,"open":13025.4,"close":12970.6,"high":13078.4,"low":12906.5,"amount":0.486,"vol":486,"trade_turnover":6326.1434,"count":122},{"id":1603454400,"open":12963.9,"close":12935.4,"high":13025.0,"low":12850.8,"amount":0.494,"vol":494,"trade_turnover":6396.0984,"count":117},{"id":1603458000,"open":12913.3,"close":12951.7,"high":13043.3,"low":12911.0,"amount":0.466,"vol":466,"trade_turnover":6049.1412,"count":117},{"id":1603461600,"open":12999.6,"close":12858.8,"high":13006.4,"low":12840.4,"amount":0.46,"vol":460,"trade_turnover":5941.815,"count":116},{"id":1603465200,"open":12885.7,"close":12881.9,"high":12932.9,"low":12826.5,"amount":0.492,"vol":492,"trade_turnover":6340.214,"count":117},{"id":1603468800,"open":12854.4,"close":12784.1,"high":12933.5,"low":12744.4,"amount":0.484,"vol":484,"trade_turnover":6205.4138,"count":123},{"id":1603472400,"open":12832.3,"close":12847.7,"high":12893.1,"low":12730.1,"amount":0.562,"vol":562,"trade_turnover":7218.9184,"count":152},{"id":1603476000,"open":12874.1,"close":12915.7,"high":12939.3,"low":12751.4,"amount":0.53,"vol":530,"trade_turnover":6825.7004,"count":128},{"id":1603479600,"open":12867.9,"close":12972.9,"high":12972.9,"low":12786.6,"amount":0.444,"vol":444,"trade_turnover":5727.7452,"count":117},{"id":1603483200,"open":12956.7,"close":12991.6,"high":13002.2,"low":12842.9,"amount":0.492,"vol":492,"trade_turnover":6375.1566,"count":116},{"id":1603486800,"open":13004.3,"close":12943.5,"high":13004.3,"low":12936.6,"amount":0.5,"vol":500,"trade_turnover":6485.468,"count":125},{"id":1603490400,"open":12923.6,"close":12989.2,"high":13010.3,"low":12884.7,"amount":0.492,"vol":492,"trade_turnover":6376.1492,"count":120},{"id":1603494000,"open":12974.9,"close":12884.6,"high":13024.4,"low":12884.6,"amount":0.51,"vol":510,"trade_turnover":6622.3406,"count":121},{"id":1603497600,"open":12973.7,"close":12953.9,"high":13018.3,"low":12811.1,"amount":0.488,"vol":488,"trade_turnover":6317.7938,"count":120},{"id":1603501200,"open":12927.5,"close":12934.2,"high":13018.1,"low":12872.8,"amount":0.482,"vol":482,"trade_turnover":6242.4178,"count":117},{"id":1603504800,"open":12971.9,"close":12989.1,"high":13003.9,"low":12903.3,"amount":0.484,"vol":484,"trade_turnover":6278.1756,"count":117},{"id":1603508400,"open":13000.1,"close":12975.9,"high":13013.4,"low":12938.3,"amount":0.474,"vol":474,"trade_turnover":6157.7096,"count":122},{"id":1603512000,"open":12989.7,"close":12963.3,"high":13009.4,"low":12905.5,"amount":0.526,"vol":526,"trade_turnover":6831.5658,"count":124},{"id":1603515600,"open":12910.5,"close":12989.7,"high":13041.8,"low":12875.3,"amount":0.522,"vol":522,"trade_turnover":6768.8994,"count":127},{"id":1603519200,"open":12994.7,"close":13003.6,"high":13058.1,"low":12908.8,"amount":0.49,"vol":490,"trade_turnover":6370.5714,"count":120},{"id":1603522800,"open":13011.9,"close":13004.2,"high":13037.8,"low":12981.7,"amount":0.478,"vol":478,"trade_turnover":6218.9722,"count":120},{"id":1603526400,"open":13003.0,"close":12998.2,"high":13030.6,"low":12899.4,"amount":0.52,"vol":520,"trade_turnover":6754.958,"count":124},{"id":1603530000,"open":12998.2,"close":12990.6,"high":13020.3,"low":12893.6,"amount":0.454,"vol":454,"trade_turnover":5891.0574,"count":115},{"id":1603533600,"open":12996.4,"close":13030.1,"high":13059.1,"low":12913.2,"amount":0.502,"vol":502,"trade_turnover":6525.9004,"count":124},{"id":1603537200,"open":12988.4,"close":13033.2,"high":13068.3,"low":12940.2,"amount":0.468,"vol":468,"trade_turnover":6091.0376,"count":119},{"id":1603540800,"open":13035.3,"close":13006.5,"high":13071.8,"low":12978.9,"amount":0.468,"vol":468,"trade_turnover":6102.5902,"count":123},{"id":1603544400,"open":13038.8,"close":12985.9,"high":13066.7,"low":12928.1,"amount":0.534,"vol":534,"trade_turnover":6950.4268,"count":123},{"id":1603548000,"open":12986.3,"close":13042.0,"high":13100.1,"low":12960.5,"amount":0.47,"vol":470,"trade_turnover":6124.2178,"count":100},{"id":1603551600,"open":13038.4,"close":13102.2,"high":13196.5,"low":13038.4,"amount":0.456,"vol":456,"trade_turnover":5989.6362,"count":120},{"id":1603555200,"open":13136.8,"close":13052.7,"high":13176.6,"low":12984.6,"amount":0.458,"vol":458,"trade_turnover":5976.331,"count":121},{"id":1603558800,"open":13006.2,"close":13177.8,"high":13177.8,"low":13003.2,"amount":0.452,"vol":452,"trade_turnover":5911.7058,"count":118},{"id":1603562400,"open":13127.7,"close":13080.8,"high":13170.7,"low":13023.0,"amount":0.468,"vol":468,"trade_turnover":6122.375,"count":119},{"id":1603566000,"open":13040.7,"close":13148.4,"high":13179.3,"low":13014.2,"amount":0.468,"vol":468,"trade_turnover":6126.4278,"count":120},{"id":1603569600,"open":13073.5,"close":13090.1,"high":13179.6,"low":12992.5,"amount":0.47,"vol":470,"trade_turnover":6151.4758,"count":119},{"id":1603573200,"open":13035.4,"close":12993.9,"high":13148.7,"low":12980.7,"amount":0.458,"vol":458,"trade_turnover":5981.071,"count":117},{"id":1603576800,"open":13040.7,"close":13041.1,"high":13112.1,"low":12975.6,"amount":0.478,"vol":478,"trade_turnover":6225.4216,"count":118},{"id":1603580400,"open":13012.6,"close":13184.3,"high":13184.3,"low":13009.3,"amount":0.472,"vol":472,"trade_turnover":6173.4244,"count":118},{"id":1603584000,"open":13080.8,"close":13154.3,"high":13170.4,"low":13007.7,"amount":0.46,"vol":460,"trade_turnover":6024.09,"count":115},{"id":1603587600,"open":13092.0,"close":13196.1,"high":13196.8,"low":13024.0,"amount":0.398,"vol":398,"trade_turnover":5217.5364,"count":102},{"id":1603591200,"open":13124.7,"close":13082.4,"high":13175.1,"low":13035.0,"amount":0.476,"vol":476,"trade_turnover":6228.6596,"count":120},{"id":1603594800,"open":13049.1,"close":13259.0,"high":13383.8,"low":13049.1,"amount":0.578,"vol":578,"trade_turnover":7629.3886,"count":137},{"id":1603598400,"open":13277.0,"close":13243.4,"high":13369.0,"low":13216.0,"amount":0.47,"vol":470,"trade_turnover":6247.955,"count":122},{"id":1603602000,"open":13285.3,"close":13017.3,"high":13353.3,"low":13010.1,"amount":0.61,"vol":610,"trade_turnover":8048.8598,"count":134},{"id":1603605600,"open":13022.5,"close":13060.3,"high":13105.7,"low":13018.2,"amount":0.486,"vol":486,"trade_turnover":6344.1474,"count":118},{"id":1603609200,"open":13048.5,"close":13078.1,"high":13112.1,"low":13022.0,"amount":0.464,"vol":464,"trade_turnover":6061.5416,"count":120},{"id":1603612800,"open":13077.2,"close":13046.0,"high":13091.0,"low":13017.2,"amount":0.464,"vol":464,"trade_turnover":6055.3734,"count":120},{"id":1603616400,"open":13065.1,"close":13040.8,"high":13084.0,"low":13014.2,"amount":0.478,"vol":478,"trade_turnover":6235.7882,"count":117},{"id":1603620000,"open":13047.1,"close":13028.5,"high":13064.2,"low":13010.2,"amount":0.478,"vol":478,"trade_turnover":6232.2428,"count":125},{"id":1603623600,"open":13061.5,"close":12897.6,"high":13061.5,"low":12852.9,"amount":0.534,"vol":534,"trade_turnover":6918.1226,"count":123},{"id":1603627200,"open":12908.3,"close":12964.3,"high":13069.7,"low":12893.2,"amount":0.444,"vol":444,"trade_turnover":5755.8712,"count":117},{"id":1603630800,"open":13001.3,"close":12949.3,"high":13071.9,"low":12891.8,"amount":0.498,"vol":498,"trade_turnover":6465.078,"count":119},{"id":1603634400,"open":12975.8,"close":12946.8,"high":13077.7,"low":12900.0,"amount":0.468,"vol":468,"trade_turnover":6075.4554,"count":116},{"id":1603638000,"open":12975.2,"close":12883.3,"high":13069.1,"low":12883.3,"amount":0.47,"vol":470,"trade_turnover":6097.1072,"count":119},{"id":1603641600,"open":12916.2,"close":12978.7,"high":13067.9,"low":12877.5,"amount":0.482,"vol":482,"trade_turnover":6256.4472,"count":118},{"id":1603645200,"open":13008.0,"close":13004.4,"high":13087.5,"low":12922.7,"amount":0.47,"vol":470,"trade_turnover":6108.3892,"count":117},{"id":1603648800,"open":12972.8,"close":12957.2,"high":13067.6,"low":12893.6,"amount":0.468,"vol":468,"trade_turnover":6079.1484,"count":118},{"id":1603652400,"open":12996.5,"close":13021.8,"high":13066.9,"low":12916.6,"amount":0.442,"vol":442,"trade_turnover":5746.5548,"count":118},{"id":1603656000,"open":12992.9,"close":12985.4,"high":13081.5,"low":12944.9,"amount":0.508,"vol":508,"trade_turnover":6616.9872,"count":120},{"id":1603659600,"open":12999.9,"close":13011.2,"high":13068.6,"low":12921.4,"amount":0.508,"vol":508,"trade_turnover":6614.816,"count":122},{"id":1603663200,"open":12979.6,"close":12959.4,"high":13073.8,"low":12911.9,"amount":0.486,"vol":486,"trade_turnover":6320.907,"count":121},{"id":1603666800,"open":12963.4,"close":13032.1,"high":13085.2,"low":12927.8,"amount":0.452,"vol":452,"trade_turnover":5878.6442,"count":113},{"id":1603670400,"open":12964.2,"close":13001.0,"high":13076.7,"low":12918.3,"amount":0.482,"vol":482,"trade_turnover":6263.698,"count":121},{"id":1603674000,"open":13040.0,"close":13053.7,"high":13096.4,"low":12991.2,"amount":0.478,"vol":478,"trade_turnover":6232.2328,"count":124},{"id":1603677600,"open":13060.6,"close":13064.4,"high":13185.7,"low":12985.1,"amount":0.488,"vol":488,"trade_turnover":6387.534,"count":121},{"id":1603681200,"open":13032.3,"close":13092.8,"high":13187.2,"low":12984.1,"amount":0.486,"vol":486,"trade_turnover":6369.0272,"count":135},{"id":1603684800,"open":13092.0,"close":13132.6,"high":13181.6,"low":12962.3,"amount":0.51,"vol":510,"trade_turnover":6679.829,"count":131},{"id":1603688400,"open":13129.2,"close":13092.1,"high":13205.3,"low":13025.3,"amount":0.506,"vol":506,"trade_turnover":6641.2128,"count":126},{"id":1603692000,"open":13121.8,"close":13071.4,"high":13188.1,"low":12989.8,"amount":1.616,"vol":1616,"trade_turnover":21170.8224,"count":141},{"id":1603695600,"open":13061.0,"close":13038.7,"high":13100.0,"low":12965.2,"amount":3.746,"vol":3746,"trade_turnover":48924.8902,"count":110},{"id":1603699200,"open":13030.9,"close":13039.3,"high":13102.0,"low":12852.8,"amount":8.966,"vol":8966,"trade_turnover":116525.5534,"count":173},{"id":1603702800,"open":13047.1,"close":13075.9,"high":13088.4,"low":13039.8,"amount":4.48,"vol":4480,"trade_turnover":58521.1714,"count":124},{"id":1603706400,"open":13072.1,"close":13100.0,"high":13100.0,"low":13060.2,"amount":4.272,"vol":4272,"trade_turnover":55895.9778,"count":130},{"id":1603710000,"open":13100.0,"close":13138.4,"high":13159.0,"low":13100.0,"amount":29.798,"vol":29798,"trade_turnover":391138.024,"count":230},{"id":1603713600,"open":13138.8,"close":13149.8,"high":13200.0,"low":13100.0,"amount":5.154,"vol":5154,"trade_turnover":67694.652,"count":188},{"id":1603717200,"open":13150.0,"close":13205.8,"high":13351.5,"low":13133.1,"amount":35.608,"vol":35608,"trade_turnover":472780.3394,"count":328},{"id":1603720800,"open":13203.0,"close":13166.1,"high":13280.0,"low":13144.1,"amount":31.748,"vol":31748,"trade_turnover":418744.5588,"count":235},{"id":1603724400,"open":13159.0,"close":12978.0,"high":13165.2,"low":12903.8,"amount":36.53,"vol":36530,"trade_turnover":476940.3296,"count":384},{"id":1603728000,"open":12965.0,"close":12869.6,"high":13069.8,"low":12850.5,"amount":35.018,"vol":35018,"trade_turnover":453288.918,"count":323},{"id":1603731600,"open":12879.2,"close":12873.8,"high":12941.5,"low":12583.9,"amount":92.628,"vol":92628,"trade_turnover":1185973.467,"count":560},{"id":1603735200,"open":12856.2,"close":12946.8,"high":12954.5,"low":12820.4,"amount":4.302,"vol":4302,"trade_turnover":55481.0054,"count":128},{"id":1603738800,"open":12945.6,"close":12953.4,"high":12953.5,"low":12914.1,"amount":13.83,"vol":13830,"trade_turnover":179112.1598,"count":118},{"id":1603742400,"open":12953.5,"close":12983.4,"high":13007.5,"low":12953.5,"amount":17.172,"vol":17172,"trade_turnover":223230.2122,"count":132},{"id":1603746000,"open":12983.1,"close":12993.8,"high":13007.5,"low":12982.7,"amount":3.212,"vol":3212,"trade_turnover":41767.8906,"count":59},{"id":1603749600,"open":13002.1,"close":13007.5,"high":13007.5,"low":12974.0,"amount":1.504,"vol":1504,"trade_turnover":19543.3568,"count":74},{"id":1603753200,"open":13007.5,"close":13033.7,"high":13061.2,"low":13007.5,"amount":3.454,"vol":3454,"trade_turnover":45001.601,"count":101},{"id":1603756800,"open":13029.2,"close":13067.1,"high":13105.0,"low":13028.3,"amount":8.784,"vol":8784,"trade_turnover":114871.8246,"count":98},{"id":1603760400,"open":13074.3,"close":13061.7,"high":13074.4,"low":13051.5,"amount":11.592,"vol":11592,"trade_turnover":151386.9038,"count":66},{"id":1603764000,"open":13061.7,"close":13049.7,"high":13097.6,"low":13040.1,"amount":19.298,"vol":19298,"trade_turnover":252061.019,"count":109},{"id":1603767600,"open":13057.6,"close":13070.4,"high":13080.0,"low":13057.1,"amount":22.992,"vol":22992,"trade_turnover":300453.9788,"count":69},{"id":1603771200,"open":13080.0,"close":13103.3,"high":13175.0,"low":13079.6,"amount":14.396,"vol":14396,"trade_turnover":188461.9156,"count":59},{"id":1603774800,"open":13121.3,"close":13073.6,"high":13121.3,"low":13069.7,"amount":5.058,"vol":5058,"trade_turnover":66201.3552,"count":44},{"id":1603778400,"open":13074.9,"close":13103.4,"high":13149.0,"low":13069.6,"amount":9.106,"vol":9106,"trade_turnover":119104.8906,"count":107},{"id":1603782000,"open":13103.3,"close":13130.0,"high":13169.8,"low":12992.4,"amount":73.95,"vol":73950,"trade_turnover":968195.155,"count":305},{"id":1603785600,"open":13135.1,"close":13123.8,"high":13148.4,"low":13044.0,"amount":18.732,"vol":18732,"trade_turnover":245533.5448,"count":135},{"id":1603789200,"open":13115.5,"close":13131.7,"high":13131.8,"low":13075.7,"amount":13.756,"vol":13756,"trade_turnover":180253.7708,"count":102},{"id":1603792800,"open":13134.8,"close":13216.9,"high":13252.0,"low":13063.4,"amount":154.108,"vol":154108,"trade_turnover":2029983.656,"count":525},{"id":1603796400,"open":13218.8,"close":13395.8,"high":13590.1,"low":13213.5,"amount":170.09,"vol":170090,"trade_turnover":2276279.742,"count":591},{"id":1603800000,"open":13395.9,"close":13376.9,"high":13414.0,"low":13331.7,"amount":48.928,"vol":48928,"trade_turnover":654585.9108,"count":216},{"id":1603803600,"open":13376.5,"close":13384.3,"high":13490.9,"low":13329.8,"amount":63.294,"vol":63294,"trade_turnover":848130.9212,"count":316},{"id":1603807200,"open":13392.6,"close":13398.2,"high":13415.8,"low":13344.8,"amount":12.892,"vol":12892,"trade_turnover":172618.6864,"count":124},{"id":1603810800,"open":13398.2,"close":13598.5,"high":13626.7,"low":13398.2,"amount":93.22,"vol":93220,"trade_turnover":1262695.5466,"count":476},{"id":1603814400,"open":13595.8,"close":13639.9,"high":13639.9,"low":13520.2,"amount":85.45,"vol":85450,"trade_turnover":1161481.4136,"count":435},{"id":1603818000,"open":13640.0,"close":13688.1,"high":13826.7,"low":13589.0,"amount":191.812,"vol":191812,"trade_turnover":2628428.3788,"count":711},{"id":1603821600,"open":13685.0,"close":13630.1,"high":13745.0,"low":13528.2,"amount":65.434,"vol":65434,"trade_turnover":891541.8394,"count":410},{"id":1603825200,"open":13629.4,"close":13637.1,"high":13659.8,"low":13595.4,"amount":5.788,"vol":5788,"trade_turnover":78836.2578,"count":65},{"id":1603828800,"open":13644.4,"close":13616.6,"high":13805.1,"low":13582.6,"amount":163.104,"vol":163104,"trade_turnover":2234040.3544,"count":537},{"id":1603832400,"open":13609.8,"close":13705.5,"high":13753.5,"low":13609.8,"amount":9.884,"vol":9884,"trade_turnover":135406.4752,"count":101},{"id":1603836000,"open":13705.4,"close":13739.9,"high":13739.9,"low":13658.2,"amount":7.436,"vol":7436,"trade_turnover":101840.3508,"count":100},{"id":1603839600,"open":13739.9,"close":13649.6,"high":13794.6,"low":13582.6,"amount":17.086,"vol":17086,"trade_turnover":233971.8448,"count":234},{"id":1603843200,"open":13645.9,"close":13701.7,"high":13745.2,"low":13618.8,"amount":24.108,"vol":24108,"trade_turnover":330206.5694,"count":177},{"id":1603846800,"open":13702.1,"close":13702.6,"high":13725.6,"low":13647.9,"amount":15.892,"vol":15892,"trade_turnover":217816.7008,"count":151},{"id":1603850400,"open":13701.7,"close":13811.6,"high":13832.2,"low":13680.2,"amount":46.548,"vol":46548,"trade_turnover":640636.0352,"count":274},{"id":1603854000,"open":13818.5,"close":13777.0,"high":13820.3,"low":13717.5,"amount":67.896,"vol":67896,"trade_turnover":935838.2238,"count":320},{"id":1603857600,"open":13767.3,"close":13735.7,"high":13807.2,"low":13710.0,"amount":33.156,"vol":33156,"trade_turnover":455941.234,"count":210},{"id":1603861200,"open":13735.5,"close":13715.8,"high":13753.9,"low":13671.3,"amount":32.076,"vol":32076,"trade_turnover":439612.64,"count":198},{"id":1603864800,"open":13715.9,"close":13701.3,"high":13757.0,"low":13694.9,"amount":14.756,"vol":14756,"trade_turnover":202602.5164,"count":122},{"id":1603868400,"open":13701.2,"close":13674.2,"high":13708.7,"low":13550.0,"amount":155.534,"vol":155534,"trade_turnover":2117935.0928,"count":635},{"id":1603872000,"open":13673.0,"close":13691.7,"high":13691.7,"low":13584.0,"amount":29.846,"vol":29846,"trade_turnover":407073.1398,"count":240},{"id":1603875600,"open":13689.3,"close":13587.1,"high":13707.5,"low":13573.5,"amount":104.542,"vol":104542,"trade_turnover":1425079.9344,"count":377},{"id":1603879200,"open":13584.6,"close":13552.7,"high":13618.0,"low":13504.7,"amount":73.818,"vol":73818,"trade_turnover":1001666.0908,"count":358},{"id":1603882800,"open":13552.6,"close":13336.4,"high":13565.4,"low":13330.0,"amount":176.544,"vol":176544,"trade_turnover":2369166.1492,"count":1004},{"id":1603886400,"open":13331.5,"close":13300.3,"high":13385.0,"low":13173.9,"amount":289.73,"vol":289730,"trade_turnover":3846751.7166,"count":968},{"id":1603890000,"open":13300.2,"close":13129.9,"high":13340.0,"low":13122.9,"amount":139.822,"vol":139822,"trade_turnover":1848876.932,"count":612},{"id":1603893600,"open":13123.4,"close":13082.2,"high":13168.2,"low":12915.9,"amount":367.876,"vol":367876,"trade_turnover":4802516.9818,"count":1168},{"id":1603897200,"open":13077.1,"close":13221.2,"high":13235.2,"low":13052.3,"amount":84.044,"vol":84044,"trade_turnover":1106883.1282,"count":375},{"id":1603900800,"open":13218.7,"close":13145.1,"high":13218.7,"low":13050.0,"amount":29.566,"vol":29566,"trade_turnover":388697.4104,"count":244},{"id":1603904400,"open":13145.1,"close":13176.7,"high":13204.9,"low":13006.6,"amount":53.336,"vol":53336,"trade_turnover":700385.2784,"count":299},{"id":1603908000,"open":13171.0,"close":13196.5,"high":13219.6,"low":13131.0,"amount":34.164,"vol":34164,"trade_turnover":450210.5778,"count":218},{"id":1603911600,"open":13200.0,"close":13154.9,"high":13237.4,"low":13145.0,"amount":22.158,"vol":22158,"trade_turnover":292020.0438,"count":185},{"id":1603915200,"open":13154.5,"close":13198.1,"high":13211.8,"low":13147.4,"amount":4.548,"vol":4548,"trade_turnover":59991.1118,"count":75},{"id":1603918800,"open":13193.5,"close":13190.1,"high":13196.5,"low":13100.2,"amount":3.52,"vol":3520,"trade_turnover":46175.428,"count":68},{"id":1603922400,"open":13185.4,"close":13252.0,"high":13267.5,"low":13185.4,"amount":3.122,"vol":3122,"trade_turnover":41304.2018,"count":72},{"id":1603926000,"open":13242.1,"close":13265.9,"high":13282.3,"low":13235.9,"amount":14.768,"vol":14768,"trade_turnover":195689.0764,"count":86},{"id":1603929600,"open":13253.9,"close":13245.1,"high":13294.7,"low":13237.4,"amount":19.968,"vol":19968,"trade_turnover":264834.1944,"count":98},{"id":1603933200,"open":13244.6,"close":13274.2,"high":13285.3,"low":13166.3,"amount":35.282,"vol":35282,"trade_turnover":465789.6302,"count":192},{"id":1603936800,"open":13275.9,"close":13241.1,"high":13277.7,"low":13212.2,"amount":9.748,"vol":9748,"trade_turnover":129016.0684,"count":119},{"id":1603940400,"open":13237.1,"close":13262.5,"high":13262.5,"low":13174.6,"amount":27.3,"vol":27300,"trade_turnover":360589.8982,"count":199},{"id":1603944000,"open":13269.1,"close":13229.5,"high":13277.7,"low":13229.5,"amount":18.904,"vol":18904,"trade_turnover":250713.2812,"count":109},{"id":1603947600,"open":13228.5,"close":13274.8,"high":13274.8,"low":13228.5,"amount":15.822,"vol":15822,"trade_turnover":209781.909,"count":134},{"id":1603951200,"open":13274.8,"close":13255.0,"high":13323.0,"low":13242.3,"amount":91.246,"vol":91246,"trade_turnover":1211271.2788,"count":294},{"id":1603954800,"open":13255.0,"close":13142.4,"high":13269.3,"low":13123.1,"amount":187.622,"vol":187622,"trade_turnover":2478299.7074,"count":506},{"id":1603958400,"open":13145.9,"close":13124.8,"high":13182.4,"low":13094.1,"amount":69.532,"vol":69532,"trade_turnover":914157.2418,"count":226},{"id":1603962000,"open":13129.5,"close":13183.7,"high":13197.1,"low":13129.5,"amount":23.184,"vol":23184,"trade_turnover":305485.9524,"count":141},{"id":1603965600,"open":13184.8,"close":13105.2,"high":13187.5,"low":13053.1,"amount":121.146,"vol":121146,"trade_turnover":1590026.4416,"count":442},{"id":1603969200,"open":13105.1,"close":13060.1,"high":13171.4,"low":13060.1,"amount":47.498,"vol":47498,"trade_turnover":623578.149,"count":262},{"id":1603972800,"open":13056.9,"close":13131.8,"high":13145.8,"low":12977.9,"amount":126.552,"vol":126552,"trade_turnover":1652549.311,"count":481},{"id":1603976400,"open":13131.7,"close":13230.0,"high":13237.2,"low":13102.0,"amount":100.482,"vol":100482,"trade_turnover":1326403.7206,"count":325},{"id":1603980000,"open":13231.0,"close":13420.8,"high":13476.1,"low":13231.0,"amount":253.258,"vol":253258,"trade_turnover":3384941.438,"count":752},{"id":1603983600,"open":13416.0,"close":13420.6,"high":13458.7,"low":13358.7,"amount":64.71,"vol":64710,"trade_turnover":869052.3804,"count":269},{"id":1603987200,"open":13421.9,"close":13535.9,"high":13594.5,"low":13391.8,"amount":120.24,"vol":120240,"trade_turnover":1626567.8278,"count":570}]} +2024-01-18 11:12:52.769 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:41] - 请求 KLine 数据解析之后的数据为:{"wsid":19750305,"data":[{"amount":0.276,"high":12300.0,"vol":276,"low":11715.8,"count":39,"id":1603270800,"close":12196.7,"tradeTurnover":3315.9104,"open":12198.0},{"amount":0.198,"high":12289.9,"vol":198,"low":12111.0,"count":21,"id":1603274400,"close":12277.9,"tradeTurnover":2420.7728,"open":12196.7},{"amount":0.012,"high":12277.9,"vol":12,"low":12000.0,"count":5,"id":1603278000,"close":12000.0,"tradeTurnover":145.2238,"open":12111.0},{"amount":0.084,"high":12498.0,"vol":84,"low":12078.0,"count":12,"id":1603281600,"close":12497.4,"tradeTurnover":1040.0504,"open":12078.0},{"amount":1.122,"high":12495.6,"vol":1122,"low":12282.9,"count":112,"id":1603285200,"close":12373.5,"tradeTurnover":13905.3124,"open":12495.6},{"amount":5.29,"high":12807.6,"vol":5290,"low":12358.1,"count":155,"id":1603288800,"close":12689.9,"tradeTurnover":66852.128,"open":12412.9},{"amount":1.174,"high":12778.7,"vol":1174,"low":12573.2,"count":113,"id":1603292400,"close":12701.9,"tradeTurnover":14907.367,"open":12692.8},{"amount":1.156,"high":12920.9,"vol":1156,"low":12624.8,"count":115,"id":1603296000,"close":12835.9,"tradeTurnover":14802.449,"open":12679.7},{"amount":1.12,"high":12908.3,"vol":1120,"low":12687.5,"count":115,"id":1603299600,"close":12754.2,"tradeTurnover":14345.7324,"open":12848.3},{"amount":1.106,"high":12849.0,"vol":1106,"low":12668.3,"count":114,"id":1603303200,"close":12740.2,"tradeTurnover":14105.3504,"open":12743.7},{"amount":1.032,"high":12843.1,"vol":1032,"low":12597.2,"count":112,"id":1603306800,"close":12650.3,"tradeTurnover":13125.4568,"open":12729.5},{"amount":1.154,"high":12848.4,"vol":1154,"low":12610.2,"count":116,"id":1603310400,"close":12807.0,"tradeTurnover":14680.638,"open":12666.8},{"amount":1.164,"high":13005.1,"vol":1164,"low":12748.2,"count":114,"id":1603314000,"close":12938.9,"tradeTurnover":14976.9366,"open":12866.0},{"amount":1.174,"high":13211.2,"vol":1174,"low":12865.7,"count":114,"id":1603317600,"close":13122.0,"tradeTurnover":15285.2446,"open":12921.0},{"amount":1.172,"high":13173.2,"vol":1172,"low":12688.6,"count":117,"id":1603321200,"close":12829.8,"tradeTurnover":15060.9938,"open":13153.2},{"amount":1.17,"high":12988.1,"vol":1170,"low":12764.4,"count":117,"id":1603324800,"close":12885.9,"tradeTurnover":15046.2046,"open":12793.1},{"amount":1.158,"high":12972.6,"vol":1158,"low":12757.5,"count":118,"id":1603328400,"close":12757.5,"tradeTurnover":14882.4656,"open":12860.4},{"amount":1.124,"high":12848.0,"vol":1124,"low":12729.0,"count":115,"id":1603332000,"close":12788.8,"tradeTurnover":14368.7948,"open":12824.1},{"amount":1.194,"high":12834.4,"vol":1194,"low":12729.0,"count":111,"id":1603335600,"close":12767.2,"tradeTurnover":15268.9298,"open":12791.7},{"amount":1.152,"high":12778.3,"vol":1152,"low":12729.0,"count":115,"id":1603339200,"close":12762.2,"tradeTurnover":14695.4876,"open":12729.0},{"amount":1.21,"high":12842.0,"vol":1210,"low":12730.6,"count":119,"id":1603342800,"close":12813.8,"tradeTurnover":15440.8162,"open":12763.1},{"amount":1.188,"high":12795.0,"vol":1188,"low":12728.0,"count":123,"id":1603346400,"close":12729.1,"tradeTurnover":15128.0098,"open":12795.0},{"amount":1.266,"high":12730.6,"vol":1266,"low":12728.3,"count":112,"id":1603350000,"close":12730.6,"tradeTurnover":16115.1306,"open":12728.6},{"amount":1.35,"high":12921.5,"vol":1350,"low":12729.9,"count":127,"id":1603353600,"close":12770.1,"tradeTurnover":17233.7326,"open":12730.3},{"amount":0.98,"high":12872.1,"vol":980,"low":12760.1,"count":99,"id":1603357200,"close":12780.4,"tradeTurnover":12553.9826,"open":12824.9},{"amount":0.266,"high":13002.7,"vol":266,"low":12775.6,"count":30,"id":1603360800,"close":12934.2,"tradeTurnover":3415.023,"open":12784.9},{"amount":1.004,"high":13057.0,"vol":1004,"low":12886.6,"count":117,"id":1603364400,"close":13045.0,"tradeTurnover":13020.8576,"open":12977.0},{"amount":1.134,"high":12973.4,"vol":1134,"low":12751.6,"count":111,"id":1603368000,"close":12847.9,"tradeTurnover":14594.2752,"open":12958.5},{"amount":1.152,"high":13000.8,"vol":1152,"low":12743.0,"count":114,"id":1603371600,"close":12931.0,"tradeTurnover":14877.7314,"open":12882.7},{"amount":1.182,"high":12995.3,"vol":1182,"low":12783.9,"count":115,"id":1603375200,"close":12917.8,"tradeTurnover":15224.4716,"open":12890.4},{"amount":1.176,"high":13031.2,"vol":1176,"low":12817.9,"count":117,"id":1603378800,"close":12953.0,"tradeTurnover":15197.208,"open":12918.8},{"amount":1.146,"high":13100.2,"vol":1146,"low":12865.6,"count":119,"id":1603382400,"close":13055.6,"tradeTurnover":14851.9604,"open":12923.1},{"amount":1.534,"high":13105.7,"vol":1534,"low":12835.5,"count":124,"id":1603386000,"close":13082.7,"tradeTurnover":19927.8288,"open":12967.6},{"amount":1.268,"high":13115.0,"vol":1268,"low":12938.7,"count":117,"id":1603389600,"close":13016.4,"tradeTurnover":16505.4738,"open":13020.4},{"amount":1.13,"high":13171.2,"vol":1130,"low":12961.8,"count":112,"id":1603393200,"close":12970.6,"tradeTurnover":14762.952,"open":13028.3},{"amount":1.206,"high":13216.1,"vol":1206,"low":12998.5,"count":117,"id":1603396800,"close":13089.3,"tradeTurnover":15807.1226,"open":13016.7},{"amount":1.332,"high":13203.7,"vol":1332,"low":12932.9,"count":114,"id":1603400400,"close":13092.0,"tradeTurnover":17423.4422,"open":13136.0},{"amount":1.21,"high":13250.5,"vol":1210,"low":12984.7,"count":114,"id":1603404000,"close":13055.9,"tradeTurnover":15876.0632,"open":13119.4},{"amount":1.286,"high":13126.5,"vol":1286,"low":12857.2,"count":116,"id":1603407600,"close":12890.4,"tradeTurnover":16688.422,"open":13059.4},{"amount":1.502,"high":12994.0,"vol":1502,"low":12751.6,"count":131,"id":1603411200,"close":12892.2,"tradeTurnover":19331.1596,"open":12929.7},{"amount":1.386,"high":13003.2,"vol":1386,"low":12786.0,"count":121,"id":1603414800,"close":12898.3,"tradeTurnover":17904.8902,"open":12921.7},{"amount":1.416,"high":13054.0,"vol":1416,"low":12800.7,"count":122,"id":1603418400,"close":12975.1,"tradeTurnover":18306.6204,"open":12951.6},{"amount":1.19,"high":13030.7,"vol":1190,"low":12875.0,"count":118,"id":1603422000,"close":12947.0,"tradeTurnover":15409.7984,"open":12967.3},{"amount":1.022,"high":13047.3,"vol":1022,"low":12832.8,"count":127,"id":1603425600,"close":12852.0,"tradeTurnover":13214.4388,"open":12925.2},{"amount":0.478,"high":12991.7,"vol":478,"low":12841.2,"count":118,"id":1603429200,"close":12931.1,"tradeTurnover":6180.2486,"open":12859.0},{"amount":0.522,"high":13014.1,"vol":522,"low":12871.9,"count":132,"id":1603432800,"close":12939.6,"tradeTurnover":6759.0324,"open":12935.9},{"amount":0.476,"high":12998.9,"vol":476,"low":12917.1,"count":118,"id":1603436400,"close":12925.4,"tradeTurnover":6163.3118,"open":12923.1},{"amount":0.508,"high":13014.0,"vol":508,"low":12916.1,"count":122,"id":1603440000,"close":12962.6,"tradeTurnover":6585.3656,"open":12942.2},{"amount":0.564,"high":13012.5,"vol":564,"low":12909.9,"count":124,"id":1603443600,"close":12926.4,"tradeTurnover":7308.8828,"open":12970.5},{"amount":0.536,"high":13059.5,"vol":536,"low":12925.7,"count":124,"id":1603447200,"close":13007.7,"tradeTurnover":6957.8796,"open":13001.2},{"amount":0.486,"high":13078.4,"vol":486,"low":12906.5,"count":122,"id":1603450800,"close":12970.6,"tradeTurnover":6326.1434,"open":13025.4},{"amount":0.494,"high":13025.0,"vol":494,"low":12850.8,"count":117,"id":1603454400,"close":12935.4,"tradeTurnover":6396.0984,"open":12963.9},{"amount":0.466,"high":13043.3,"vol":466,"low":12911.0,"count":117,"id":1603458000,"close":12951.7,"tradeTurnover":6049.1412,"open":12913.3},{"amount":0.46,"high":13006.4,"vol":460,"low":12840.4,"count":116,"id":1603461600,"close":12858.8,"tradeTurnover":5941.815,"open":12999.6},{"amount":0.492,"high":12932.9,"vol":492,"low":12826.5,"count":117,"id":1603465200,"close":12881.9,"tradeTurnover":6340.214,"open":12885.7},{"amount":0.484,"high":12933.5,"vol":484,"low":12744.4,"count":123,"id":1603468800,"close":12784.1,"tradeTurnover":6205.4138,"open":12854.4},{"amount":0.562,"high":12893.1,"vol":562,"low":12730.1,"count":152,"id":1603472400,"close":12847.7,"tradeTurnover":7218.9184,"open":12832.3},{"amount":0.53,"high":12939.3,"vol":530,"low":12751.4,"count":128,"id":1603476000,"close":12915.7,"tradeTurnover":6825.7004,"open":12874.1},{"amount":0.444,"high":12972.9,"vol":444,"low":12786.6,"count":117,"id":1603479600,"close":12972.9,"tradeTurnover":5727.7452,"open":12867.9},{"amount":0.492,"high":13002.2,"vol":492,"low":12842.9,"count":116,"id":1603483200,"close":12991.6,"tradeTurnover":6375.1566,"open":12956.7},{"amount":0.5,"high":13004.3,"vol":500,"low":12936.6,"count":125,"id":1603486800,"close":12943.5,"tradeTurnover":6485.468,"open":13004.3},{"amount":0.492,"high":13010.3,"vol":492,"low":12884.7,"count":120,"id":1603490400,"close":12989.2,"tradeTurnover":6376.1492,"open":12923.6},{"amount":0.51,"high":13024.4,"vol":510,"low":12884.6,"count":121,"id":1603494000,"close":12884.6,"tradeTurnover":6622.3406,"open":12974.9},{"amount":0.488,"high":13018.3,"vol":488,"low":12811.1,"count":120,"id":1603497600,"close":12953.9,"tradeTurnover":6317.7938,"open":12973.7},{"amount":0.482,"high":13018.1,"vol":482,"low":12872.8,"count":117,"id":1603501200,"close":12934.2,"tradeTurnover":6242.4178,"open":12927.5},{"amount":0.484,"high":13003.9,"vol":484,"low":12903.3,"count":117,"id":1603504800,"close":12989.1,"tradeTurnover":6278.1756,"open":12971.9},{"amount":0.474,"high":13013.4,"vol":474,"low":12938.3,"count":122,"id":1603508400,"close":12975.9,"tradeTurnover":6157.7096,"open":13000.1},{"amount":0.526,"high":13009.4,"vol":526,"low":12905.5,"count":124,"id":1603512000,"close":12963.3,"tradeTurnover":6831.5658,"open":12989.7},{"amount":0.522,"high":13041.8,"vol":522,"low":12875.3,"count":127,"id":1603515600,"close":12989.7,"tradeTurnover":6768.8994,"open":12910.5},{"amount":0.49,"high":13058.1,"vol":490,"low":12908.8,"count":120,"id":1603519200,"close":13003.6,"tradeTurnover":6370.5714,"open":12994.7},{"amount":0.478,"high":13037.8,"vol":478,"low":12981.7,"count":120,"id":1603522800,"close":13004.2,"tradeTurnover":6218.9722,"open":13011.9},{"amount":0.52,"high":13030.6,"vol":520,"low":12899.4,"count":124,"id":1603526400,"close":12998.2,"tradeTurnover":6754.958,"open":13003.0},{"amount":0.454,"high":13020.3,"vol":454,"low":12893.6,"count":115,"id":1603530000,"close":12990.6,"tradeTurnover":5891.0574,"open":12998.2},{"amount":0.502,"high":13059.1,"vol":502,"low":12913.2,"count":124,"id":1603533600,"close":13030.1,"tradeTurnover":6525.9004,"open":12996.4},{"amount":0.468,"high":13068.3,"vol":468,"low":12940.2,"count":119,"id":1603537200,"close":13033.2,"tradeTurnover":6091.0376,"open":12988.4},{"amount":0.468,"high":13071.8,"vol":468,"low":12978.9,"count":123,"id":1603540800,"close":13006.5,"tradeTurnover":6102.5902,"open":13035.3},{"amount":0.534,"high":13066.7,"vol":534,"low":12928.1,"count":123,"id":1603544400,"close":12985.9,"tradeTurnover":6950.4268,"open":13038.8},{"amount":0.47,"high":13100.1,"vol":470,"low":12960.5,"count":100,"id":1603548000,"close":13042.0,"tradeTurnover":6124.2178,"open":12986.3},{"amount":0.456,"high":13196.5,"vol":456,"low":13038.4,"count":120,"id":1603551600,"close":13102.2,"tradeTurnover":5989.6362,"open":13038.4},{"amount":0.458,"high":13176.6,"vol":458,"low":12984.6,"count":121,"id":1603555200,"close":13052.7,"tradeTurnover":5976.331,"open":13136.8},{"amount":0.452,"high":13177.8,"vol":452,"low":13003.2,"count":118,"id":1603558800,"close":13177.8,"tradeTurnover":5911.7058,"open":13006.2},{"amount":0.468,"high":13170.7,"vol":468,"low":13023.0,"count":119,"id":1603562400,"close":13080.8,"tradeTurnover":6122.375,"open":13127.7},{"amount":0.468,"high":13179.3,"vol":468,"low":13014.2,"count":120,"id":1603566000,"close":13148.4,"tradeTurnover":6126.4278,"open":13040.7},{"amount":0.47,"high":13179.6,"vol":470,"low":12992.5,"count":119,"id":1603569600,"close":13090.1,"tradeTurnover":6151.4758,"open":13073.5},{"amount":0.458,"high":13148.7,"vol":458,"low":12980.7,"count":117,"id":1603573200,"close":12993.9,"tradeTurnover":5981.071,"open":13035.4},{"amount":0.478,"high":13112.1,"vol":478,"low":12975.6,"count":118,"id":1603576800,"close":13041.1,"tradeTurnover":6225.4216,"open":13040.7},{"amount":0.472,"high":13184.3,"vol":472,"low":13009.3,"count":118,"id":1603580400,"close":13184.3,"tradeTurnover":6173.4244,"open":13012.6},{"amount":0.46,"high":13170.4,"vol":460,"low":13007.7,"count":115,"id":1603584000,"close":13154.3,"tradeTurnover":6024.09,"open":13080.8},{"amount":0.398,"high":13196.8,"vol":398,"low":13024.0,"count":102,"id":1603587600,"close":13196.1,"tradeTurnover":5217.5364,"open":13092.0},{"amount":0.476,"high":13175.1,"vol":476,"low":13035.0,"count":120,"id":1603591200,"close":13082.4,"tradeTurnover":6228.6596,"open":13124.7},{"amount":0.578,"high":13383.8,"vol":578,"low":13049.1,"count":137,"id":1603594800,"close":13259.0,"tradeTurnover":7629.3886,"open":13049.1},{"amount":0.47,"high":13369.0,"vol":470,"low":13216.0,"count":122,"id":1603598400,"close":13243.4,"tradeTurnover":6247.955,"open":13277.0},{"amount":0.61,"high":13353.3,"vol":610,"low":13010.1,"count":134,"id":1603602000,"close":13017.3,"tradeTurnover":8048.8598,"open":13285.3},{"amount":0.486,"high":13105.7,"vol":486,"low":13018.2,"count":118,"id":1603605600,"close":13060.3,"tradeTurnover":6344.1474,"open":13022.5},{"amount":0.464,"high":13112.1,"vol":464,"low":13022.0,"count":120,"id":1603609200,"close":13078.1,"tradeTurnover":6061.5416,"open":13048.5},{"amount":0.464,"high":13091.0,"vol":464,"low":13017.2,"count":120,"id":1603612800,"close":13046.0,"tradeTurnover":6055.3734,"open":13077.2},{"amount":0.478,"high":13084.0,"vol":478,"low":13014.2,"count":117,"id":1603616400,"close":13040.8,"tradeTurnover":6235.7882,"open":13065.1},{"amount":0.478,"high":13064.2,"vol":478,"low":13010.2,"count":125,"id":1603620000,"close":13028.5,"tradeTurnover":6232.2428,"open":13047.1},{"amount":0.534,"high":13061.5,"vol":534,"low":12852.9,"count":123,"id":1603623600,"close":12897.6,"tradeTurnover":6918.1226,"open":13061.5},{"amount":0.444,"high":13069.7,"vol":444,"low":12893.2,"count":117,"id":1603627200,"close":12964.3,"tradeTurnover":5755.8712,"open":12908.3},{"amount":0.498,"high":13071.9,"vol":498,"low":12891.8,"count":119,"id":1603630800,"close":12949.3,"tradeTurnover":6465.078,"open":13001.3},{"amount":0.468,"high":13077.7,"vol":468,"low":12900.0,"count":116,"id":1603634400,"close":12946.8,"tradeTurnover":6075.4554,"open":12975.8},{"amount":0.47,"high":13069.1,"vol":470,"low":12883.3,"count":119,"id":1603638000,"close":12883.3,"tradeTurnover":6097.1072,"open":12975.2},{"amount":0.482,"high":13067.9,"vol":482,"low":12877.5,"count":118,"id":1603641600,"close":12978.7,"tradeTurnover":6256.4472,"open":12916.2},{"amount":0.47,"high":13087.5,"vol":470,"low":12922.7,"count":117,"id":1603645200,"close":13004.4,"tradeTurnover":6108.3892,"open":13008.0},{"amount":0.468,"high":13067.6,"vol":468,"low":12893.6,"count":118,"id":1603648800,"close":12957.2,"tradeTurnover":6079.1484,"open":12972.8},{"amount":0.442,"high":13066.9,"vol":442,"low":12916.6,"count":118,"id":1603652400,"close":13021.8,"tradeTurnover":5746.5548,"open":12996.5},{"amount":0.508,"high":13081.5,"vol":508,"low":12944.9,"count":120,"id":1603656000,"close":12985.4,"tradeTurnover":6616.9872,"open":12992.9},{"amount":0.508,"high":13068.6,"vol":508,"low":12921.4,"count":122,"id":1603659600,"close":13011.2,"tradeTurnover":6614.816,"open":12999.9},{"amount":0.486,"high":13073.8,"vol":486,"low":12911.9,"count":121,"id":1603663200,"close":12959.4,"tradeTurnover":6320.907,"open":12979.6},{"amount":0.452,"high":13085.2,"vol":452,"low":12927.8,"count":113,"id":1603666800,"close":13032.1,"tradeTurnover":5878.6442,"open":12963.4},{"amount":0.482,"high":13076.7,"vol":482,"low":12918.3,"count":121,"id":1603670400,"close":13001.0,"tradeTurnover":6263.698,"open":12964.2},{"amount":0.478,"high":13096.4,"vol":478,"low":12991.2,"count":124,"id":1603674000,"close":13053.7,"tradeTurnover":6232.2328,"open":13040.0},{"amount":0.488,"high":13185.7,"vol":488,"low":12985.1,"count":121,"id":1603677600,"close":13064.4,"tradeTurnover":6387.534,"open":13060.6},{"amount":0.486,"high":13187.2,"vol":486,"low":12984.1,"count":135,"id":1603681200,"close":13092.8,"tradeTurnover":6369.0272,"open":13032.3},{"amount":0.51,"high":13181.6,"vol":510,"low":12962.3,"count":131,"id":1603684800,"close":13132.6,"tradeTurnover":6679.829,"open":13092.0},{"amount":0.506,"high":13205.3,"vol":506,"low":13025.3,"count":126,"id":1603688400,"close":13092.1,"tradeTurnover":6641.2128,"open":13129.2},{"amount":1.616,"high":13188.1,"vol":1616,"low":12989.8,"count":141,"id":1603692000,"close":13071.4,"tradeTurnover":21170.8224,"open":13121.8},{"amount":3.746,"high":13100.0,"vol":3746,"low":12965.2,"count":110,"id":1603695600,"close":13038.7,"tradeTurnover":48924.8902,"open":13061.0},{"amount":8.966,"high":13102.0,"vol":8966,"low":12852.8,"count":173,"id":1603699200,"close":13039.3,"tradeTurnover":116525.5534,"open":13030.9},{"amount":4.48,"high":13088.4,"vol":4480,"low":13039.8,"count":124,"id":1603702800,"close":13075.9,"tradeTurnover":58521.1714,"open":13047.1},{"amount":4.272,"high":13100.0,"vol":4272,"low":13060.2,"count":130,"id":1603706400,"close":13100.0,"tradeTurnover":55895.9778,"open":13072.1},{"amount":29.798,"high":13159.0,"vol":29798,"low":13100.0,"count":230,"id":1603710000,"close":13138.4,"tradeTurnover":391138.024,"open":13100.0},{"amount":5.154,"high":13200.0,"vol":5154,"low":13100.0,"count":188,"id":1603713600,"close":13149.8,"tradeTurnover":67694.652,"open":13138.8},{"amount":35.608,"high":13351.5,"vol":35608,"low":13133.1,"count":328,"id":1603717200,"close":13205.8,"tradeTurnover":472780.3394,"open":13150.0},{"amount":31.748,"high":13280.0,"vol":31748,"low":13144.1,"count":235,"id":1603720800,"close":13166.1,"tradeTurnover":418744.5588,"open":13203.0},{"amount":36.53,"high":13165.2,"vol":36530,"low":12903.8,"count":384,"id":1603724400,"close":12978.0,"tradeTurnover":476940.3296,"open":13159.0},{"amount":35.018,"high":13069.8,"vol":35018,"low":12850.5,"count":323,"id":1603728000,"close":12869.6,"tradeTurnover":453288.918,"open":12965.0},{"amount":92.628,"high":12941.5,"vol":92628,"low":12583.9,"count":560,"id":1603731600,"close":12873.8,"tradeTurnover":1185973.467,"open":12879.2},{"amount":4.302,"high":12954.5,"vol":4302,"low":12820.4,"count":128,"id":1603735200,"close":12946.8,"tradeTurnover":55481.0054,"open":12856.2},{"amount":13.83,"high":12953.5,"vol":13830,"low":12914.1,"count":118,"id":1603738800,"close":12953.4,"tradeTurnover":179112.1598,"open":12945.6},{"amount":17.172,"high":13007.5,"vol":17172,"low":12953.5,"count":132,"id":1603742400,"close":12983.4,"tradeTurnover":223230.2122,"open":12953.5},{"amount":3.212,"high":13007.5,"vol":3212,"low":12982.7,"count":59,"id":1603746000,"close":12993.8,"tradeTurnover":41767.8906,"open":12983.1},{"amount":1.504,"high":13007.5,"vol":1504,"low":12974.0,"count":74,"id":1603749600,"close":13007.5,"tradeTurnover":19543.3568,"open":13002.1},{"amount":3.454,"high":13061.2,"vol":3454,"low":13007.5,"count":101,"id":1603753200,"close":13033.7,"tradeTurnover":45001.601,"open":13007.5},{"amount":8.784,"high":13105.0,"vol":8784,"low":13028.3,"count":98,"id":1603756800,"close":13067.1,"tradeTurnover":114871.8246,"open":13029.2},{"amount":11.592,"high":13074.4,"vol":11592,"low":13051.5,"count":66,"id":1603760400,"close":13061.7,"tradeTurnover":151386.9038,"open":13074.3},{"amount":19.298,"high":13097.6,"vol":19298,"low":13040.1,"count":109,"id":1603764000,"close":13049.7,"tradeTurnover":252061.019,"open":13061.7},{"amount":22.992,"high":13080.0,"vol":22992,"low":13057.1,"count":69,"id":1603767600,"close":13070.4,"tradeTurnover":300453.9788,"open":13057.6},{"amount":14.396,"high":13175.0,"vol":14396,"low":13079.6,"count":59,"id":1603771200,"close":13103.3,"tradeTurnover":188461.9156,"open":13080.0},{"amount":5.058,"high":13121.3,"vol":5058,"low":13069.7,"count":44,"id":1603774800,"close":13073.6,"tradeTurnover":66201.3552,"open":13121.3},{"amount":9.106,"high":13149.0,"vol":9106,"low":13069.6,"count":107,"id":1603778400,"close":13103.4,"tradeTurnover":119104.8906,"open":13074.9},{"amount":73.95,"high":13169.8,"vol":73950,"low":12992.4,"count":305,"id":1603782000,"close":13130.0,"tradeTurnover":968195.155,"open":13103.3},{"amount":18.732,"high":13148.4,"vol":18732,"low":13044.0,"count":135,"id":1603785600,"close":13123.8,"tradeTurnover":245533.5448,"open":13135.1},{"amount":13.756,"high":13131.8,"vol":13756,"low":13075.7,"count":102,"id":1603789200,"close":13131.7,"tradeTurnover":180253.7708,"open":13115.5},{"amount":154.108,"high":13252.0,"vol":154108,"low":13063.4,"count":525,"id":1603792800,"close":13216.9,"tradeTurnover":2029983.656,"open":13134.8},{"amount":170.09,"high":13590.1,"vol":170090,"low":13213.5,"count":591,"id":1603796400,"close":13395.8,"tradeTurnover":2276279.742,"open":13218.8},{"amount":48.928,"high":13414.0,"vol":48928,"low":13331.7,"count":216,"id":1603800000,"close":13376.9,"tradeTurnover":654585.9108,"open":13395.9},{"amount":63.294,"high":13490.9,"vol":63294,"low":13329.8,"count":316,"id":1603803600,"close":13384.3,"tradeTurnover":848130.9212,"open":13376.5},{"amount":12.892,"high":13415.8,"vol":12892,"low":13344.8,"count":124,"id":1603807200,"close":13398.2,"tradeTurnover":172618.6864,"open":13392.6},{"amount":93.22,"high":13626.7,"vol":93220,"low":13398.2,"count":476,"id":1603810800,"close":13598.5,"tradeTurnover":1262695.5466,"open":13398.2},{"amount":85.45,"high":13639.9,"vol":85450,"low":13520.2,"count":435,"id":1603814400,"close":13639.9,"tradeTurnover":1161481.4136,"open":13595.8},{"amount":191.812,"high":13826.7,"vol":191812,"low":13589.0,"count":711,"id":1603818000,"close":13688.1,"tradeTurnover":2628428.3788,"open":13640.0},{"amount":65.434,"high":13745.0,"vol":65434,"low":13528.2,"count":410,"id":1603821600,"close":13630.1,"tradeTurnover":891541.8394,"open":13685.0},{"amount":5.788,"high":13659.8,"vol":5788,"low":13595.4,"count":65,"id":1603825200,"close":13637.1,"tradeTurnover":78836.2578,"open":13629.4},{"amount":163.104,"high":13805.1,"vol":163104,"low":13582.6,"count":537,"id":1603828800,"close":13616.6,"tradeTurnover":2234040.3544,"open":13644.4},{"amount":9.884,"high":13753.5,"vol":9884,"low":13609.8,"count":101,"id":1603832400,"close":13705.5,"tradeTurnover":135406.4752,"open":13609.8},{"amount":7.436,"high":13739.9,"vol":7436,"low":13658.2,"count":100,"id":1603836000,"close":13739.9,"tradeTurnover":101840.3508,"open":13705.4},{"amount":17.086,"high":13794.6,"vol":17086,"low":13582.6,"count":234,"id":1603839600,"close":13649.6,"tradeTurnover":233971.8448,"open":13739.9},{"amount":24.108,"high":13745.2,"vol":24108,"low":13618.8,"count":177,"id":1603843200,"close":13701.7,"tradeTurnover":330206.5694,"open":13645.9},{"amount":15.892,"high":13725.6,"vol":15892,"low":13647.9,"count":151,"id":1603846800,"close":13702.6,"tradeTurnover":217816.7008,"open":13702.1},{"amount":46.548,"high":13832.2,"vol":46548,"low":13680.2,"count":274,"id":1603850400,"close":13811.6,"tradeTurnover":640636.0352,"open":13701.7},{"amount":67.896,"high":13820.3,"vol":67896,"low":13717.5,"count":320,"id":1603854000,"close":13777.0,"tradeTurnover":935838.2238,"open":13818.5},{"amount":33.156,"high":13807.2,"vol":33156,"low":13710.0,"count":210,"id":1603857600,"close":13735.7,"tradeTurnover":455941.234,"open":13767.3},{"amount":32.076,"high":13753.9,"vol":32076,"low":13671.3,"count":198,"id":1603861200,"close":13715.8,"tradeTurnover":439612.64,"open":13735.5},{"amount":14.756,"high":13757.0,"vol":14756,"low":13694.9,"count":122,"id":1603864800,"close":13701.3,"tradeTurnover":202602.5164,"open":13715.9},{"amount":155.534,"high":13708.7,"vol":155534,"low":13550.0,"count":635,"id":1603868400,"close":13674.2,"tradeTurnover":2117935.0928,"open":13701.2},{"amount":29.846,"high":13691.7,"vol":29846,"low":13584.0,"count":240,"id":1603872000,"close":13691.7,"tradeTurnover":407073.1398,"open":13673.0},{"amount":104.542,"high":13707.5,"vol":104542,"low":13573.5,"count":377,"id":1603875600,"close":13587.1,"tradeTurnover":1425079.9344,"open":13689.3},{"amount":73.818,"high":13618.0,"vol":73818,"low":13504.7,"count":358,"id":1603879200,"close":13552.7,"tradeTurnover":1001666.0908,"open":13584.6},{"amount":176.544,"high":13565.4,"vol":176544,"low":13330.0,"count":1004,"id":1603882800,"close":13336.4,"tradeTurnover":2369166.1492,"open":13552.6},{"amount":289.73,"high":13385.0,"vol":289730,"low":13173.9,"count":968,"id":1603886400,"close":13300.3,"tradeTurnover":3846751.7166,"open":13331.5},{"amount":139.822,"high":13340.0,"vol":139822,"low":13122.9,"count":612,"id":1603890000,"close":13129.9,"tradeTurnover":1848876.932,"open":13300.2},{"amount":367.876,"high":13168.2,"vol":367876,"low":12915.9,"count":1168,"id":1603893600,"close":13082.2,"tradeTurnover":4802516.9818,"open":13123.4},{"amount":84.044,"high":13235.2,"vol":84044,"low":13052.3,"count":375,"id":1603897200,"close":13221.2,"tradeTurnover":1106883.1282,"open":13077.1},{"amount":29.566,"high":13218.7,"vol":29566,"low":13050.0,"count":244,"id":1603900800,"close":13145.1,"tradeTurnover":388697.4104,"open":13218.7},{"amount":53.336,"high":13204.9,"vol":53336,"low":13006.6,"count":299,"id":1603904400,"close":13176.7,"tradeTurnover":700385.2784,"open":13145.1},{"amount":34.164,"high":13219.6,"vol":34164,"low":13131.0,"count":218,"id":1603908000,"close":13196.5,"tradeTurnover":450210.5778,"open":13171.0},{"amount":22.158,"high":13237.4,"vol":22158,"low":13145.0,"count":185,"id":1603911600,"close":13154.9,"tradeTurnover":292020.0438,"open":13200.0},{"amount":4.548,"high":13211.8,"vol":4548,"low":13147.4,"count":75,"id":1603915200,"close":13198.1,"tradeTurnover":59991.1118,"open":13154.5},{"amount":3.52,"high":13196.5,"vol":3520,"low":13100.2,"count":68,"id":1603918800,"close":13190.1,"tradeTurnover":46175.428,"open":13193.5},{"amount":3.122,"high":13267.5,"vol":3122,"low":13185.4,"count":72,"id":1603922400,"close":13252.0,"tradeTurnover":41304.2018,"open":13185.4},{"amount":14.768,"high":13282.3,"vol":14768,"low":13235.9,"count":86,"id":1603926000,"close":13265.9,"tradeTurnover":195689.0764,"open":13242.1},{"amount":19.968,"high":13294.7,"vol":19968,"low":13237.4,"count":98,"id":1603929600,"close":13245.1,"tradeTurnover":264834.1944,"open":13253.9},{"amount":35.282,"high":13285.3,"vol":35282,"low":13166.3,"count":192,"id":1603933200,"close":13274.2,"tradeTurnover":465789.6302,"open":13244.6},{"amount":9.748,"high":13277.7,"vol":9748,"low":13212.2,"count":119,"id":1603936800,"close":13241.1,"tradeTurnover":129016.0684,"open":13275.9},{"amount":27.3,"high":13262.5,"vol":27300,"low":13174.6,"count":199,"id":1603940400,"close":13262.5,"tradeTurnover":360589.8982,"open":13237.1},{"amount":18.904,"high":13277.7,"vol":18904,"low":13229.5,"count":109,"id":1603944000,"close":13229.5,"tradeTurnover":250713.2812,"open":13269.1},{"amount":15.822,"high":13274.8,"vol":15822,"low":13228.5,"count":134,"id":1603947600,"close":13274.8,"tradeTurnover":209781.909,"open":13228.5},{"amount":91.246,"high":13323.0,"vol":91246,"low":13242.3,"count":294,"id":1603951200,"close":13255.0,"tradeTurnover":1211271.2788,"open":13274.8},{"amount":187.622,"high":13269.3,"vol":187622,"low":13123.1,"count":506,"id":1603954800,"close":13142.4,"tradeTurnover":2478299.7074,"open":13255.0},{"amount":69.532,"high":13182.4,"vol":69532,"low":13094.1,"count":226,"id":1603958400,"close":13124.8,"tradeTurnover":914157.2418,"open":13145.9},{"amount":23.184,"high":13197.1,"vol":23184,"low":13129.5,"count":141,"id":1603962000,"close":13183.7,"tradeTurnover":305485.9524,"open":13129.5},{"amount":121.146,"high":13187.5,"vol":121146,"low":13053.1,"count":442,"id":1603965600,"close":13105.2,"tradeTurnover":1590026.4416,"open":13184.8},{"amount":47.498,"high":13171.4,"vol":47498,"low":13060.1,"count":262,"id":1603969200,"close":13060.1,"tradeTurnover":623578.149,"open":13105.1},{"amount":126.552,"high":13145.8,"vol":126552,"low":12977.9,"count":481,"id":1603972800,"close":13131.8,"tradeTurnover":1652549.311,"open":13056.9},{"amount":100.482,"high":13237.2,"vol":100482,"low":13102.0,"count":325,"id":1603976400,"close":13230.0,"tradeTurnover":1326403.7206,"open":13131.7},{"amount":253.258,"high":13476.1,"vol":253258,"low":13231.0,"count":752,"id":1603980000,"close":13420.8,"tradeTurnover":3384941.438,"open":13231.0},{"amount":64.71,"high":13458.7,"vol":64710,"low":13358.7,"count":269,"id":1603983600,"close":13420.6,"tradeTurnover":869052.3804,"open":13416.0},{"amount":120.24,"high":13594.5,"vol":120240,"low":13391.8,"count":570,"id":1603987200,"close":13535.9,"tradeTurnover":1626567.8278,"open":13421.9}],"id":"","rep":"market.BTC-USDT.kline.60min","status":"ok"} +2024-01-18 11:12:53.841 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:39] - 请求 KLine 数据用户收到的原始数据:{"id":"","rep":"market.BTC-USDT.kline.60min","ts":1705547572742,"wsid":19750305,"status":"ok","data":[{"id":1603270800,"open":12198.0,"close":12196.7,"high":12300.0,"low":11715.8,"amount":0.276,"vol":276,"trade_turnover":3315.9104,"count":39},{"id":1603274400,"open":12196.7,"close":12277.9,"high":12289.9,"low":12111.0,"amount":0.198,"vol":198,"trade_turnover":2420.7728,"count":21},{"id":1603278000,"open":12111.0,"close":12000.0,"high":12277.9,"low":12000.0,"amount":0.012,"vol":12,"trade_turnover":145.2238,"count":5},{"id":1603281600,"open":12078.0,"close":12497.4,"high":12498.0,"low":12078.0,"amount":0.084,"vol":84,"trade_turnover":1040.0504,"count":12},{"id":1603285200,"open":12495.6,"close":12373.5,"high":12495.6,"low":12282.9,"amount":1.122,"vol":1122,"trade_turnover":13905.3124,"count":112},{"id":1603288800,"open":12412.9,"close":12689.9,"high":12807.6,"low":12358.1,"amount":5.29,"vol":5290,"trade_turnover":66852.128,"count":155},{"id":1603292400,"open":12692.8,"close":12701.9,"high":12778.7,"low":12573.2,"amount":1.174,"vol":1174,"trade_turnover":14907.367,"count":113},{"id":1603296000,"open":12679.7,"close":12835.9,"high":12920.9,"low":12624.8,"amount":1.156,"vol":1156,"trade_turnover":14802.449,"count":115},{"id":1603299600,"open":12848.3,"close":12754.2,"high":12908.3,"low":12687.5,"amount":1.12,"vol":1120,"trade_turnover":14345.7324,"count":115},{"id":1603303200,"open":12743.7,"close":12740.2,"high":12849.0,"low":12668.3,"amount":1.106,"vol":1106,"trade_turnover":14105.3504,"count":114},{"id":1603306800,"open":12729.5,"close":12650.3,"high":12843.1,"low":12597.2,"amount":1.032,"vol":1032,"trade_turnover":13125.4568,"count":112},{"id":1603310400,"open":12666.8,"close":12807.0,"high":12848.4,"low":12610.2,"amount":1.154,"vol":1154,"trade_turnover":14680.638,"count":116},{"id":1603314000,"open":12866.0,"close":12938.9,"high":13005.1,"low":12748.2,"amount":1.164,"vol":1164,"trade_turnover":14976.9366,"count":114},{"id":1603317600,"open":12921.0,"close":13122.0,"high":13211.2,"low":12865.7,"amount":1.174,"vol":1174,"trade_turnover":15285.2446,"count":114},{"id":1603321200,"open":13153.2,"close":12829.8,"high":13173.2,"low":12688.6,"amount":1.172,"vol":1172,"trade_turnover":15060.9938,"count":117},{"id":1603324800,"open":12793.1,"close":12885.9,"high":12988.1,"low":12764.4,"amount":1.17,"vol":1170,"trade_turnover":15046.2046,"count":117},{"id":1603328400,"open":12860.4,"close":12757.5,"high":12972.6,"low":12757.5,"amount":1.158,"vol":1158,"trade_turnover":14882.4656,"count":118},{"id":1603332000,"open":12824.1,"close":12788.8,"high":12848.0,"low":12729.0,"amount":1.124,"vol":1124,"trade_turnover":14368.7948,"count":115},{"id":1603335600,"open":12791.7,"close":12767.2,"high":12834.4,"low":12729.0,"amount":1.194,"vol":1194,"trade_turnover":15268.9298,"count":111},{"id":1603339200,"open":12729.0,"close":12762.2,"high":12778.3,"low":12729.0,"amount":1.152,"vol":1152,"trade_turnover":14695.4876,"count":115},{"id":1603342800,"open":12763.1,"close":12813.8,"high":12842.0,"low":12730.6,"amount":1.21,"vol":1210,"trade_turnover":15440.8162,"count":119},{"id":1603346400,"open":12795.0,"close":12729.1,"high":12795.0,"low":12728.0,"amount":1.188,"vol":1188,"trade_turnover":15128.0098,"count":123},{"id":1603350000,"open":12728.6,"close":12730.6,"high":12730.6,"low":12728.3,"amount":1.266,"vol":1266,"trade_turnover":16115.1306,"count":112},{"id":1603353600,"open":12730.3,"close":12770.1,"high":12921.5,"low":12729.9,"amount":1.35,"vol":1350,"trade_turnover":17233.7326,"count":127},{"id":1603357200,"open":12824.9,"close":12780.4,"high":12872.1,"low":12760.1,"amount":0.98,"vol":980,"trade_turnover":12553.9826,"count":99},{"id":1603360800,"open":12784.9,"close":12934.2,"high":13002.7,"low":12775.6,"amount":0.266,"vol":266,"trade_turnover":3415.023,"count":30},{"id":1603364400,"open":12977.0,"close":13045.0,"high":13057.0,"low":12886.6,"amount":1.004,"vol":1004,"trade_turnover":13020.8576,"count":117},{"id":1603368000,"open":12958.5,"close":12847.9,"high":12973.4,"low":12751.6,"amount":1.134,"vol":1134,"trade_turnover":14594.2752,"count":111},{"id":1603371600,"open":12882.7,"close":12931.0,"high":13000.8,"low":12743.0,"amount":1.152,"vol":1152,"trade_turnover":14877.7314,"count":114},{"id":1603375200,"open":12890.4,"close":12917.8,"high":12995.3,"low":12783.9,"amount":1.182,"vol":1182,"trade_turnover":15224.4716,"count":115},{"id":1603378800,"open":12918.8,"close":12953.0,"high":13031.2,"low":12817.9,"amount":1.176,"vol":1176,"trade_turnover":15197.208,"count":117},{"id":1603382400,"open":12923.1,"close":13055.6,"high":13100.2,"low":12865.6,"amount":1.146,"vol":1146,"trade_turnover":14851.9604,"count":119},{"id":1603386000,"open":12967.6,"close":13082.7,"high":13105.7,"low":12835.5,"amount":1.534,"vol":1534,"trade_turnover":19927.8288,"count":124},{"id":1603389600,"open":13020.4,"close":13016.4,"high":13115.0,"low":12938.7,"amount":1.268,"vol":1268,"trade_turnover":16505.4738,"count":117},{"id":1603393200,"open":13028.3,"close":12970.6,"high":13171.2,"low":12961.8,"amount":1.13,"vol":1130,"trade_turnover":14762.952,"count":112},{"id":1603396800,"open":13016.7,"close":13089.3,"high":13216.1,"low":12998.5,"amount":1.206,"vol":1206,"trade_turnover":15807.1226,"count":117},{"id":1603400400,"open":13136.0,"close":13092.0,"high":13203.7,"low":12932.9,"amount":1.332,"vol":1332,"trade_turnover":17423.4422,"count":114},{"id":1603404000,"open":13119.4,"close":13055.9,"high":13250.5,"low":12984.7,"amount":1.21,"vol":1210,"trade_turnover":15876.0632,"count":114},{"id":1603407600,"open":13059.4,"close":12890.4,"high":13126.5,"low":12857.2,"amount":1.286,"vol":1286,"trade_turnover":16688.422,"count":116},{"id":1603411200,"open":12929.7,"close":12892.2,"high":12994.0,"low":12751.6,"amount":1.502,"vol":1502,"trade_turnover":19331.1596,"count":131},{"id":1603414800,"open":12921.7,"close":12898.3,"high":13003.2,"low":12786.0,"amount":1.386,"vol":1386,"trade_turnover":17904.8902,"count":121},{"id":1603418400,"open":12951.6,"close":12975.1,"high":13054.0,"low":12800.7,"amount":1.416,"vol":1416,"trade_turnover":18306.6204,"count":122},{"id":1603422000,"open":12967.3,"close":12947.0,"high":13030.7,"low":12875.0,"amount":1.19,"vol":1190,"trade_turnover":15409.7984,"count":118},{"id":1603425600,"open":12925.2,"close":12852.0,"high":13047.3,"low":12832.8,"amount":1.022,"vol":1022,"trade_turnover":13214.4388,"count":127},{"id":1603429200,"open":12859.0,"close":12931.1,"high":12991.7,"low":12841.2,"amount":0.478,"vol":478,"trade_turnover":6180.2486,"count":118},{"id":1603432800,"open":12935.9,"close":12939.6,"high":13014.1,"low":12871.9,"amount":0.522,"vol":522,"trade_turnover":6759.0324,"count":132},{"id":1603436400,"open":12923.1,"close":12925.4,"high":12998.9,"low":12917.1,"amount":0.476,"vol":476,"trade_turnover":6163.3118,"count":118},{"id":1603440000,"open":12942.2,"close":12962.6,"high":13014.0,"low":12916.1,"amount":0.508,"vol":508,"trade_turnover":6585.3656,"count":122},{"id":1603443600,"open":12970.5,"close":12926.4,"high":13012.5,"low":12909.9,"amount":0.564,"vol":564,"trade_turnover":7308.8828,"count":124},{"id":1603447200,"open":13001.2,"close":13007.7,"high":13059.5,"low":12925.7,"amount":0.536,"vol":536,"trade_turnover":6957.8796,"count":124},{"id":1603450800,"open":13025.4,"close":12970.6,"high":13078.4,"low":12906.5,"amount":0.486,"vol":486,"trade_turnover":6326.1434,"count":122},{"id":1603454400,"open":12963.9,"close":12935.4,"high":13025.0,"low":12850.8,"amount":0.494,"vol":494,"trade_turnover":6396.0984,"count":117},{"id":1603458000,"open":12913.3,"close":12951.7,"high":13043.3,"low":12911.0,"amount":0.466,"vol":466,"trade_turnover":6049.1412,"count":117},{"id":1603461600,"open":12999.6,"close":12858.8,"high":13006.4,"low":12840.4,"amount":0.46,"vol":460,"trade_turnover":5941.815,"count":116},{"id":1603465200,"open":12885.7,"close":12881.9,"high":12932.9,"low":12826.5,"amount":0.492,"vol":492,"trade_turnover":6340.214,"count":117},{"id":1603468800,"open":12854.4,"close":12784.1,"high":12933.5,"low":12744.4,"amount":0.484,"vol":484,"trade_turnover":6205.4138,"count":123},{"id":1603472400,"open":12832.3,"close":12847.7,"high":12893.1,"low":12730.1,"amount":0.562,"vol":562,"trade_turnover":7218.9184,"count":152},{"id":1603476000,"open":12874.1,"close":12915.7,"high":12939.3,"low":12751.4,"amount":0.53,"vol":530,"trade_turnover":6825.7004,"count":128},{"id":1603479600,"open":12867.9,"close":12972.9,"high":12972.9,"low":12786.6,"amount":0.444,"vol":444,"trade_turnover":5727.7452,"count":117},{"id":1603483200,"open":12956.7,"close":12991.6,"high":13002.2,"low":12842.9,"amount":0.492,"vol":492,"trade_turnover":6375.1566,"count":116},{"id":1603486800,"open":13004.3,"close":12943.5,"high":13004.3,"low":12936.6,"amount":0.5,"vol":500,"trade_turnover":6485.468,"count":125},{"id":1603490400,"open":12923.6,"close":12989.2,"high":13010.3,"low":12884.7,"amount":0.492,"vol":492,"trade_turnover":6376.1492,"count":120},{"id":1603494000,"open":12974.9,"close":12884.6,"high":13024.4,"low":12884.6,"amount":0.51,"vol":510,"trade_turnover":6622.3406,"count":121},{"id":1603497600,"open":12973.7,"close":12953.9,"high":13018.3,"low":12811.1,"amount":0.488,"vol":488,"trade_turnover":6317.7938,"count":120},{"id":1603501200,"open":12927.5,"close":12934.2,"high":13018.1,"low":12872.8,"amount":0.482,"vol":482,"trade_turnover":6242.4178,"count":117},{"id":1603504800,"open":12971.9,"close":12989.1,"high":13003.9,"low":12903.3,"amount":0.484,"vol":484,"trade_turnover":6278.1756,"count":117},{"id":1603508400,"open":13000.1,"close":12975.9,"high":13013.4,"low":12938.3,"amount":0.474,"vol":474,"trade_turnover":6157.7096,"count":122},{"id":1603512000,"open":12989.7,"close":12963.3,"high":13009.4,"low":12905.5,"amount":0.526,"vol":526,"trade_turnover":6831.5658,"count":124},{"id":1603515600,"open":12910.5,"close":12989.7,"high":13041.8,"low":12875.3,"amount":0.522,"vol":522,"trade_turnover":6768.8994,"count":127},{"id":1603519200,"open":12994.7,"close":13003.6,"high":13058.1,"low":12908.8,"amount":0.49,"vol":490,"trade_turnover":6370.5714,"count":120},{"id":1603522800,"open":13011.9,"close":13004.2,"high":13037.8,"low":12981.7,"amount":0.478,"vol":478,"trade_turnover":6218.9722,"count":120},{"id":1603526400,"open":13003.0,"close":12998.2,"high":13030.6,"low":12899.4,"amount":0.52,"vol":520,"trade_turnover":6754.958,"count":124},{"id":1603530000,"open":12998.2,"close":12990.6,"high":13020.3,"low":12893.6,"amount":0.454,"vol":454,"trade_turnover":5891.0574,"count":115},{"id":1603533600,"open":12996.4,"close":13030.1,"high":13059.1,"low":12913.2,"amount":0.502,"vol":502,"trade_turnover":6525.9004,"count":124},{"id":1603537200,"open":12988.4,"close":13033.2,"high":13068.3,"low":12940.2,"amount":0.468,"vol":468,"trade_turnover":6091.0376,"count":119},{"id":1603540800,"open":13035.3,"close":13006.5,"high":13071.8,"low":12978.9,"amount":0.468,"vol":468,"trade_turnover":6102.5902,"count":123},{"id":1603544400,"open":13038.8,"close":12985.9,"high":13066.7,"low":12928.1,"amount":0.534,"vol":534,"trade_turnover":6950.4268,"count":123},{"id":1603548000,"open":12986.3,"close":13042.0,"high":13100.1,"low":12960.5,"amount":0.47,"vol":470,"trade_turnover":6124.2178,"count":100},{"id":1603551600,"open":13038.4,"close":13102.2,"high":13196.5,"low":13038.4,"amount":0.456,"vol":456,"trade_turnover":5989.6362,"count":120},{"id":1603555200,"open":13136.8,"close":13052.7,"high":13176.6,"low":12984.6,"amount":0.458,"vol":458,"trade_turnover":5976.331,"count":121},{"id":1603558800,"open":13006.2,"close":13177.8,"high":13177.8,"low":13003.2,"amount":0.452,"vol":452,"trade_turnover":5911.7058,"count":118},{"id":1603562400,"open":13127.7,"close":13080.8,"high":13170.7,"low":13023.0,"amount":0.468,"vol":468,"trade_turnover":6122.375,"count":119},{"id":1603566000,"open":13040.7,"close":13148.4,"high":13179.3,"low":13014.2,"amount":0.468,"vol":468,"trade_turnover":6126.4278,"count":120},{"id":1603569600,"open":13073.5,"close":13090.1,"high":13179.6,"low":12992.5,"amount":0.47,"vol":470,"trade_turnover":6151.4758,"count":119},{"id":1603573200,"open":13035.4,"close":12993.9,"high":13148.7,"low":12980.7,"amount":0.458,"vol":458,"trade_turnover":5981.071,"count":117},{"id":1603576800,"open":13040.7,"close":13041.1,"high":13112.1,"low":12975.6,"amount":0.478,"vol":478,"trade_turnover":6225.4216,"count":118},{"id":1603580400,"open":13012.6,"close":13184.3,"high":13184.3,"low":13009.3,"amount":0.472,"vol":472,"trade_turnover":6173.4244,"count":118},{"id":1603584000,"open":13080.8,"close":13154.3,"high":13170.4,"low":13007.7,"amount":0.46,"vol":460,"trade_turnover":6024.09,"count":115},{"id":1603587600,"open":13092.0,"close":13196.1,"high":13196.8,"low":13024.0,"amount":0.398,"vol":398,"trade_turnover":5217.5364,"count":102},{"id":1603591200,"open":13124.7,"close":13082.4,"high":13175.1,"low":13035.0,"amount":0.476,"vol":476,"trade_turnover":6228.6596,"count":120},{"id":1603594800,"open":13049.1,"close":13259.0,"high":13383.8,"low":13049.1,"amount":0.578,"vol":578,"trade_turnover":7629.3886,"count":137},{"id":1603598400,"open":13277.0,"close":13243.4,"high":13369.0,"low":13216.0,"amount":0.47,"vol":470,"trade_turnover":6247.955,"count":122},{"id":1603602000,"open":13285.3,"close":13017.3,"high":13353.3,"low":13010.1,"amount":0.61,"vol":610,"trade_turnover":8048.8598,"count":134},{"id":1603605600,"open":13022.5,"close":13060.3,"high":13105.7,"low":13018.2,"amount":0.486,"vol":486,"trade_turnover":6344.1474,"count":118},{"id":1603609200,"open":13048.5,"close":13078.1,"high":13112.1,"low":13022.0,"amount":0.464,"vol":464,"trade_turnover":6061.5416,"count":120},{"id":1603612800,"open":13077.2,"close":13046.0,"high":13091.0,"low":13017.2,"amount":0.464,"vol":464,"trade_turnover":6055.3734,"count":120},{"id":1603616400,"open":13065.1,"close":13040.8,"high":13084.0,"low":13014.2,"amount":0.478,"vol":478,"trade_turnover":6235.7882,"count":117},{"id":1603620000,"open":13047.1,"close":13028.5,"high":13064.2,"low":13010.2,"amount":0.478,"vol":478,"trade_turnover":6232.2428,"count":125},{"id":1603623600,"open":13061.5,"close":12897.6,"high":13061.5,"low":12852.9,"amount":0.534,"vol":534,"trade_turnover":6918.1226,"count":123},{"id":1603627200,"open":12908.3,"close":12964.3,"high":13069.7,"low":12893.2,"amount":0.444,"vol":444,"trade_turnover":5755.8712,"count":117},{"id":1603630800,"open":13001.3,"close":12949.3,"high":13071.9,"low":12891.8,"amount":0.498,"vol":498,"trade_turnover":6465.078,"count":119},{"id":1603634400,"open":12975.8,"close":12946.8,"high":13077.7,"low":12900.0,"amount":0.468,"vol":468,"trade_turnover":6075.4554,"count":116},{"id":1603638000,"open":12975.2,"close":12883.3,"high":13069.1,"low":12883.3,"amount":0.47,"vol":470,"trade_turnover":6097.1072,"count":119},{"id":1603641600,"open":12916.2,"close":12978.7,"high":13067.9,"low":12877.5,"amount":0.482,"vol":482,"trade_turnover":6256.4472,"count":118},{"id":1603645200,"open":13008.0,"close":13004.4,"high":13087.5,"low":12922.7,"amount":0.47,"vol":470,"trade_turnover":6108.3892,"count":117},{"id":1603648800,"open":12972.8,"close":12957.2,"high":13067.6,"low":12893.6,"amount":0.468,"vol":468,"trade_turnover":6079.1484,"count":118},{"id":1603652400,"open":12996.5,"close":13021.8,"high":13066.9,"low":12916.6,"amount":0.442,"vol":442,"trade_turnover":5746.5548,"count":118},{"id":1603656000,"open":12992.9,"close":12985.4,"high":13081.5,"low":12944.9,"amount":0.508,"vol":508,"trade_turnover":6616.9872,"count":120},{"id":1603659600,"open":12999.9,"close":13011.2,"high":13068.6,"low":12921.4,"amount":0.508,"vol":508,"trade_turnover":6614.816,"count":122},{"id":1603663200,"open":12979.6,"close":12959.4,"high":13073.8,"low":12911.9,"amount":0.486,"vol":486,"trade_turnover":6320.907,"count":121},{"id":1603666800,"open":12963.4,"close":13032.1,"high":13085.2,"low":12927.8,"amount":0.452,"vol":452,"trade_turnover":5878.6442,"count":113},{"id":1603670400,"open":12964.2,"close":13001.0,"high":13076.7,"low":12918.3,"amount":0.482,"vol":482,"trade_turnover":6263.698,"count":121},{"id":1603674000,"open":13040.0,"close":13053.7,"high":13096.4,"low":12991.2,"amount":0.478,"vol":478,"trade_turnover":6232.2328,"count":124},{"id":1603677600,"open":13060.6,"close":13064.4,"high":13185.7,"low":12985.1,"amount":0.488,"vol":488,"trade_turnover":6387.534,"count":121},{"id":1603681200,"open":13032.3,"close":13092.8,"high":13187.2,"low":12984.1,"amount":0.486,"vol":486,"trade_turnover":6369.0272,"count":135},{"id":1603684800,"open":13092.0,"close":13132.6,"high":13181.6,"low":12962.3,"amount":0.51,"vol":510,"trade_turnover":6679.829,"count":131},{"id":1603688400,"open":13129.2,"close":13092.1,"high":13205.3,"low":13025.3,"amount":0.506,"vol":506,"trade_turnover":6641.2128,"count":126},{"id":1603692000,"open":13121.8,"close":13071.4,"high":13188.1,"low":12989.8,"amount":1.616,"vol":1616,"trade_turnover":21170.8224,"count":141},{"id":1603695600,"open":13061.0,"close":13038.7,"high":13100.0,"low":12965.2,"amount":3.746,"vol":3746,"trade_turnover":48924.8902,"count":110},{"id":1603699200,"open":13030.9,"close":13039.3,"high":13102.0,"low":12852.8,"amount":8.966,"vol":8966,"trade_turnover":116525.5534,"count":173},{"id":1603702800,"open":13047.1,"close":13075.9,"high":13088.4,"low":13039.8,"amount":4.48,"vol":4480,"trade_turnover":58521.1714,"count":124},{"id":1603706400,"open":13072.1,"close":13100.0,"high":13100.0,"low":13060.2,"amount":4.272,"vol":4272,"trade_turnover":55895.9778,"count":130},{"id":1603710000,"open":13100.0,"close":13138.4,"high":13159.0,"low":13100.0,"amount":29.798,"vol":29798,"trade_turnover":391138.024,"count":230},{"id":1603713600,"open":13138.8,"close":13149.8,"high":13200.0,"low":13100.0,"amount":5.154,"vol":5154,"trade_turnover":67694.652,"count":188},{"id":1603717200,"open":13150.0,"close":13205.8,"high":13351.5,"low":13133.1,"amount":35.608,"vol":35608,"trade_turnover":472780.3394,"count":328},{"id":1603720800,"open":13203.0,"close":13166.1,"high":13280.0,"low":13144.1,"amount":31.748,"vol":31748,"trade_turnover":418744.5588,"count":235},{"id":1603724400,"open":13159.0,"close":12978.0,"high":13165.2,"low":12903.8,"amount":36.53,"vol":36530,"trade_turnover":476940.3296,"count":384},{"id":1603728000,"open":12965.0,"close":12869.6,"high":13069.8,"low":12850.5,"amount":35.018,"vol":35018,"trade_turnover":453288.918,"count":323},{"id":1603731600,"open":12879.2,"close":12873.8,"high":12941.5,"low":12583.9,"amount":92.628,"vol":92628,"trade_turnover":1185973.467,"count":560},{"id":1603735200,"open":12856.2,"close":12946.8,"high":12954.5,"low":12820.4,"amount":4.302,"vol":4302,"trade_turnover":55481.0054,"count":128},{"id":1603738800,"open":12945.6,"close":12953.4,"high":12953.5,"low":12914.1,"amount":13.83,"vol":13830,"trade_turnover":179112.1598,"count":118},{"id":1603742400,"open":12953.5,"close":12983.4,"high":13007.5,"low":12953.5,"amount":17.172,"vol":17172,"trade_turnover":223230.2122,"count":132},{"id":1603746000,"open":12983.1,"close":12993.8,"high":13007.5,"low":12982.7,"amount":3.212,"vol":3212,"trade_turnover":41767.8906,"count":59},{"id":1603749600,"open":13002.1,"close":13007.5,"high":13007.5,"low":12974.0,"amount":1.504,"vol":1504,"trade_turnover":19543.3568,"count":74},{"id":1603753200,"open":13007.5,"close":13033.7,"high":13061.2,"low":13007.5,"amount":3.454,"vol":3454,"trade_turnover":45001.601,"count":101},{"id":1603756800,"open":13029.2,"close":13067.1,"high":13105.0,"low":13028.3,"amount":8.784,"vol":8784,"trade_turnover":114871.8246,"count":98},{"id":1603760400,"open":13074.3,"close":13061.7,"high":13074.4,"low":13051.5,"amount":11.592,"vol":11592,"trade_turnover":151386.9038,"count":66},{"id":1603764000,"open":13061.7,"close":13049.7,"high":13097.6,"low":13040.1,"amount":19.298,"vol":19298,"trade_turnover":252061.019,"count":109},{"id":1603767600,"open":13057.6,"close":13070.4,"high":13080.0,"low":13057.1,"amount":22.992,"vol":22992,"trade_turnover":300453.9788,"count":69},{"id":1603771200,"open":13080.0,"close":13103.3,"high":13175.0,"low":13079.6,"amount":14.396,"vol":14396,"trade_turnover":188461.9156,"count":59},{"id":1603774800,"open":13121.3,"close":13073.6,"high":13121.3,"low":13069.7,"amount":5.058,"vol":5058,"trade_turnover":66201.3552,"count":44},{"id":1603778400,"open":13074.9,"close":13103.4,"high":13149.0,"low":13069.6,"amount":9.106,"vol":9106,"trade_turnover":119104.8906,"count":107},{"id":1603782000,"open":13103.3,"close":13130.0,"high":13169.8,"low":12992.4,"amount":73.95,"vol":73950,"trade_turnover":968195.155,"count":305},{"id":1603785600,"open":13135.1,"close":13123.8,"high":13148.4,"low":13044.0,"amount":18.732,"vol":18732,"trade_turnover":245533.5448,"count":135},{"id":1603789200,"open":13115.5,"close":13131.7,"high":13131.8,"low":13075.7,"amount":13.756,"vol":13756,"trade_turnover":180253.7708,"count":102},{"id":1603792800,"open":13134.8,"close":13216.9,"high":13252.0,"low":13063.4,"amount":154.108,"vol":154108,"trade_turnover":2029983.656,"count":525},{"id":1603796400,"open":13218.8,"close":13395.8,"high":13590.1,"low":13213.5,"amount":170.09,"vol":170090,"trade_turnover":2276279.742,"count":591},{"id":1603800000,"open":13395.9,"close":13376.9,"high":13414.0,"low":13331.7,"amount":48.928,"vol":48928,"trade_turnover":654585.9108,"count":216},{"id":1603803600,"open":13376.5,"close":13384.3,"high":13490.9,"low":13329.8,"amount":63.294,"vol":63294,"trade_turnover":848130.9212,"count":316},{"id":1603807200,"open":13392.6,"close":13398.2,"high":13415.8,"low":13344.8,"amount":12.892,"vol":12892,"trade_turnover":172618.6864,"count":124},{"id":1603810800,"open":13398.2,"close":13598.5,"high":13626.7,"low":13398.2,"amount":93.22,"vol":93220,"trade_turnover":1262695.5466,"count":476},{"id":1603814400,"open":13595.8,"close":13639.9,"high":13639.9,"low":13520.2,"amount":85.45,"vol":85450,"trade_turnover":1161481.4136,"count":435},{"id":1603818000,"open":13640.0,"close":13688.1,"high":13826.7,"low":13589.0,"amount":191.812,"vol":191812,"trade_turnover":2628428.3788,"count":711},{"id":1603821600,"open":13685.0,"close":13630.1,"high":13745.0,"low":13528.2,"amount":65.434,"vol":65434,"trade_turnover":891541.8394,"count":410},{"id":1603825200,"open":13629.4,"close":13637.1,"high":13659.8,"low":13595.4,"amount":5.788,"vol":5788,"trade_turnover":78836.2578,"count":65},{"id":1603828800,"open":13644.4,"close":13616.6,"high":13805.1,"low":13582.6,"amount":163.104,"vol":163104,"trade_turnover":2234040.3544,"count":537},{"id":1603832400,"open":13609.8,"close":13705.5,"high":13753.5,"low":13609.8,"amount":9.884,"vol":9884,"trade_turnover":135406.4752,"count":101},{"id":1603836000,"open":13705.4,"close":13739.9,"high":13739.9,"low":13658.2,"amount":7.436,"vol":7436,"trade_turnover":101840.3508,"count":100},{"id":1603839600,"open":13739.9,"close":13649.6,"high":13794.6,"low":13582.6,"amount":17.086,"vol":17086,"trade_turnover":233971.8448,"count":234},{"id":1603843200,"open":13645.9,"close":13701.7,"high":13745.2,"low":13618.8,"amount":24.108,"vol":24108,"trade_turnover":330206.5694,"count":177},{"id":1603846800,"open":13702.1,"close":13702.6,"high":13725.6,"low":13647.9,"amount":15.892,"vol":15892,"trade_turnover":217816.7008,"count":151},{"id":1603850400,"open":13701.7,"close":13811.6,"high":13832.2,"low":13680.2,"amount":46.548,"vol":46548,"trade_turnover":640636.0352,"count":274},{"id":1603854000,"open":13818.5,"close":13777.0,"high":13820.3,"low":13717.5,"amount":67.896,"vol":67896,"trade_turnover":935838.2238,"count":320},{"id":1603857600,"open":13767.3,"close":13735.7,"high":13807.2,"low":13710.0,"amount":33.156,"vol":33156,"trade_turnover":455941.234,"count":210},{"id":1603861200,"open":13735.5,"close":13715.8,"high":13753.9,"low":13671.3,"amount":32.076,"vol":32076,"trade_turnover":439612.64,"count":198},{"id":1603864800,"open":13715.9,"close":13701.3,"high":13757.0,"low":13694.9,"amount":14.756,"vol":14756,"trade_turnover":202602.5164,"count":122},{"id":1603868400,"open":13701.2,"close":13674.2,"high":13708.7,"low":13550.0,"amount":155.534,"vol":155534,"trade_turnover":2117935.0928,"count":635},{"id":1603872000,"open":13673.0,"close":13691.7,"high":13691.7,"low":13584.0,"amount":29.846,"vol":29846,"trade_turnover":407073.1398,"count":240},{"id":1603875600,"open":13689.3,"close":13587.1,"high":13707.5,"low":13573.5,"amount":104.542,"vol":104542,"trade_turnover":1425079.9344,"count":377},{"id":1603879200,"open":13584.6,"close":13552.7,"high":13618.0,"low":13504.7,"amount":73.818,"vol":73818,"trade_turnover":1001666.0908,"count":358},{"id":1603882800,"open":13552.6,"close":13336.4,"high":13565.4,"low":13330.0,"amount":176.544,"vol":176544,"trade_turnover":2369166.1492,"count":1004},{"id":1603886400,"open":13331.5,"close":13300.3,"high":13385.0,"low":13173.9,"amount":289.73,"vol":289730,"trade_turnover":3846751.7166,"count":968},{"id":1603890000,"open":13300.2,"close":13129.9,"high":13340.0,"low":13122.9,"amount":139.822,"vol":139822,"trade_turnover":1848876.932,"count":612},{"id":1603893600,"open":13123.4,"close":13082.2,"high":13168.2,"low":12915.9,"amount":367.876,"vol":367876,"trade_turnover":4802516.9818,"count":1168},{"id":1603897200,"open":13077.1,"close":13221.2,"high":13235.2,"low":13052.3,"amount":84.044,"vol":84044,"trade_turnover":1106883.1282,"count":375},{"id":1603900800,"open":13218.7,"close":13145.1,"high":13218.7,"low":13050.0,"amount":29.566,"vol":29566,"trade_turnover":388697.4104,"count":244},{"id":1603904400,"open":13145.1,"close":13176.7,"high":13204.9,"low":13006.6,"amount":53.336,"vol":53336,"trade_turnover":700385.2784,"count":299},{"id":1603908000,"open":13171.0,"close":13196.5,"high":13219.6,"low":13131.0,"amount":34.164,"vol":34164,"trade_turnover":450210.5778,"count":218},{"id":1603911600,"open":13200.0,"close":13154.9,"high":13237.4,"low":13145.0,"amount":22.158,"vol":22158,"trade_turnover":292020.0438,"count":185},{"id":1603915200,"open":13154.5,"close":13198.1,"high":13211.8,"low":13147.4,"amount":4.548,"vol":4548,"trade_turnover":59991.1118,"count":75},{"id":1603918800,"open":13193.5,"close":13190.1,"high":13196.5,"low":13100.2,"amount":3.52,"vol":3520,"trade_turnover":46175.428,"count":68},{"id":1603922400,"open":13185.4,"close":13252.0,"high":13267.5,"low":13185.4,"amount":3.122,"vol":3122,"trade_turnover":41304.2018,"count":72},{"id":1603926000,"open":13242.1,"close":13265.9,"high":13282.3,"low":13235.9,"amount":14.768,"vol":14768,"trade_turnover":195689.0764,"count":86},{"id":1603929600,"open":13253.9,"close":13245.1,"high":13294.7,"low":13237.4,"amount":19.968,"vol":19968,"trade_turnover":264834.1944,"count":98},{"id":1603933200,"open":13244.6,"close":13274.2,"high":13285.3,"low":13166.3,"amount":35.282,"vol":35282,"trade_turnover":465789.6302,"count":192},{"id":1603936800,"open":13275.9,"close":13241.1,"high":13277.7,"low":13212.2,"amount":9.748,"vol":9748,"trade_turnover":129016.0684,"count":119},{"id":1603940400,"open":13237.1,"close":13262.5,"high":13262.5,"low":13174.6,"amount":27.3,"vol":27300,"trade_turnover":360589.8982,"count":199},{"id":1603944000,"open":13269.1,"close":13229.5,"high":13277.7,"low":13229.5,"amount":18.904,"vol":18904,"trade_turnover":250713.2812,"count":109},{"id":1603947600,"open":13228.5,"close":13274.8,"high":13274.8,"low":13228.5,"amount":15.822,"vol":15822,"trade_turnover":209781.909,"count":134},{"id":1603951200,"open":13274.8,"close":13255.0,"high":13323.0,"low":13242.3,"amount":91.246,"vol":91246,"trade_turnover":1211271.2788,"count":294},{"id":1603954800,"open":13255.0,"close":13142.4,"high":13269.3,"low":13123.1,"amount":187.622,"vol":187622,"trade_turnover":2478299.7074,"count":506},{"id":1603958400,"open":13145.9,"close":13124.8,"high":13182.4,"low":13094.1,"amount":69.532,"vol":69532,"trade_turnover":914157.2418,"count":226},{"id":1603962000,"open":13129.5,"close":13183.7,"high":13197.1,"low":13129.5,"amount":23.184,"vol":23184,"trade_turnover":305485.9524,"count":141},{"id":1603965600,"open":13184.8,"close":13105.2,"high":13187.5,"low":13053.1,"amount":121.146,"vol":121146,"trade_turnover":1590026.4416,"count":442},{"id":1603969200,"open":13105.1,"close":13060.1,"high":13171.4,"low":13060.1,"amount":47.498,"vol":47498,"trade_turnover":623578.149,"count":262},{"id":1603972800,"open":13056.9,"close":13131.8,"high":13145.8,"low":12977.9,"amount":126.552,"vol":126552,"trade_turnover":1652549.311,"count":481},{"id":1603976400,"open":13131.7,"close":13230.0,"high":13237.2,"low":13102.0,"amount":100.482,"vol":100482,"trade_turnover":1326403.7206,"count":325},{"id":1603980000,"open":13231.0,"close":13420.8,"high":13476.1,"low":13231.0,"amount":253.258,"vol":253258,"trade_turnover":3384941.438,"count":752},{"id":1603983600,"open":13416.0,"close":13420.6,"high":13458.7,"low":13358.7,"amount":64.71,"vol":64710,"trade_turnover":869052.3804,"count":269},{"id":1603987200,"open":13421.9,"close":13535.9,"high":13594.5,"low":13391.8,"amount":120.24,"vol":120240,"trade_turnover":1626567.8278,"count":570}]} +2024-01-18 11:12:53.843 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:41] - 请求 KLine 数据解析之后的数据为:{"wsid":19750305,"data":[{"amount":0.276,"high":12300.0,"vol":276,"low":11715.8,"count":39,"id":1603270800,"close":12196.7,"tradeTurnover":3315.9104,"open":12198.0},{"amount":0.198,"high":12289.9,"vol":198,"low":12111.0,"count":21,"id":1603274400,"close":12277.9,"tradeTurnover":2420.7728,"open":12196.7},{"amount":0.012,"high":12277.9,"vol":12,"low":12000.0,"count":5,"id":1603278000,"close":12000.0,"tradeTurnover":145.2238,"open":12111.0},{"amount":0.084,"high":12498.0,"vol":84,"low":12078.0,"count":12,"id":1603281600,"close":12497.4,"tradeTurnover":1040.0504,"open":12078.0},{"amount":1.122,"high":12495.6,"vol":1122,"low":12282.9,"count":112,"id":1603285200,"close":12373.5,"tradeTurnover":13905.3124,"open":12495.6},{"amount":5.29,"high":12807.6,"vol":5290,"low":12358.1,"count":155,"id":1603288800,"close":12689.9,"tradeTurnover":66852.128,"open":12412.9},{"amount":1.174,"high":12778.7,"vol":1174,"low":12573.2,"count":113,"id":1603292400,"close":12701.9,"tradeTurnover":14907.367,"open":12692.8},{"amount":1.156,"high":12920.9,"vol":1156,"low":12624.8,"count":115,"id":1603296000,"close":12835.9,"tradeTurnover":14802.449,"open":12679.7},{"amount":1.12,"high":12908.3,"vol":1120,"low":12687.5,"count":115,"id":1603299600,"close":12754.2,"tradeTurnover":14345.7324,"open":12848.3},{"amount":1.106,"high":12849.0,"vol":1106,"low":12668.3,"count":114,"id":1603303200,"close":12740.2,"tradeTurnover":14105.3504,"open":12743.7},{"amount":1.032,"high":12843.1,"vol":1032,"low":12597.2,"count":112,"id":1603306800,"close":12650.3,"tradeTurnover":13125.4568,"open":12729.5},{"amount":1.154,"high":12848.4,"vol":1154,"low":12610.2,"count":116,"id":1603310400,"close":12807.0,"tradeTurnover":14680.638,"open":12666.8},{"amount":1.164,"high":13005.1,"vol":1164,"low":12748.2,"count":114,"id":1603314000,"close":12938.9,"tradeTurnover":14976.9366,"open":12866.0},{"amount":1.174,"high":13211.2,"vol":1174,"low":12865.7,"count":114,"id":1603317600,"close":13122.0,"tradeTurnover":15285.2446,"open":12921.0},{"amount":1.172,"high":13173.2,"vol":1172,"low":12688.6,"count":117,"id":1603321200,"close":12829.8,"tradeTurnover":15060.9938,"open":13153.2},{"amount":1.17,"high":12988.1,"vol":1170,"low":12764.4,"count":117,"id":1603324800,"close":12885.9,"tradeTurnover":15046.2046,"open":12793.1},{"amount":1.158,"high":12972.6,"vol":1158,"low":12757.5,"count":118,"id":1603328400,"close":12757.5,"tradeTurnover":14882.4656,"open":12860.4},{"amount":1.124,"high":12848.0,"vol":1124,"low":12729.0,"count":115,"id":1603332000,"close":12788.8,"tradeTurnover":14368.7948,"open":12824.1},{"amount":1.194,"high":12834.4,"vol":1194,"low":12729.0,"count":111,"id":1603335600,"close":12767.2,"tradeTurnover":15268.9298,"open":12791.7},{"amount":1.152,"high":12778.3,"vol":1152,"low":12729.0,"count":115,"id":1603339200,"close":12762.2,"tradeTurnover":14695.4876,"open":12729.0},{"amount":1.21,"high":12842.0,"vol":1210,"low":12730.6,"count":119,"id":1603342800,"close":12813.8,"tradeTurnover":15440.8162,"open":12763.1},{"amount":1.188,"high":12795.0,"vol":1188,"low":12728.0,"count":123,"id":1603346400,"close":12729.1,"tradeTurnover":15128.0098,"open":12795.0},{"amount":1.266,"high":12730.6,"vol":1266,"low":12728.3,"count":112,"id":1603350000,"close":12730.6,"tradeTurnover":16115.1306,"open":12728.6},{"amount":1.35,"high":12921.5,"vol":1350,"low":12729.9,"count":127,"id":1603353600,"close":12770.1,"tradeTurnover":17233.7326,"open":12730.3},{"amount":0.98,"high":12872.1,"vol":980,"low":12760.1,"count":99,"id":1603357200,"close":12780.4,"tradeTurnover":12553.9826,"open":12824.9},{"amount":0.266,"high":13002.7,"vol":266,"low":12775.6,"count":30,"id":1603360800,"close":12934.2,"tradeTurnover":3415.023,"open":12784.9},{"amount":1.004,"high":13057.0,"vol":1004,"low":12886.6,"count":117,"id":1603364400,"close":13045.0,"tradeTurnover":13020.8576,"open":12977.0},{"amount":1.134,"high":12973.4,"vol":1134,"low":12751.6,"count":111,"id":1603368000,"close":12847.9,"tradeTurnover":14594.2752,"open":12958.5},{"amount":1.152,"high":13000.8,"vol":1152,"low":12743.0,"count":114,"id":1603371600,"close":12931.0,"tradeTurnover":14877.7314,"open":12882.7},{"amount":1.182,"high":12995.3,"vol":1182,"low":12783.9,"count":115,"id":1603375200,"close":12917.8,"tradeTurnover":15224.4716,"open":12890.4},{"amount":1.176,"high":13031.2,"vol":1176,"low":12817.9,"count":117,"id":1603378800,"close":12953.0,"tradeTurnover":15197.208,"open":12918.8},{"amount":1.146,"high":13100.2,"vol":1146,"low":12865.6,"count":119,"id":1603382400,"close":13055.6,"tradeTurnover":14851.9604,"open":12923.1},{"amount":1.534,"high":13105.7,"vol":1534,"low":12835.5,"count":124,"id":1603386000,"close":13082.7,"tradeTurnover":19927.8288,"open":12967.6},{"amount":1.268,"high":13115.0,"vol":1268,"low":12938.7,"count":117,"id":1603389600,"close":13016.4,"tradeTurnover":16505.4738,"open":13020.4},{"amount":1.13,"high":13171.2,"vol":1130,"low":12961.8,"count":112,"id":1603393200,"close":12970.6,"tradeTurnover":14762.952,"open":13028.3},{"amount":1.206,"high":13216.1,"vol":1206,"low":12998.5,"count":117,"id":1603396800,"close":13089.3,"tradeTurnover":15807.1226,"open":13016.7},{"amount":1.332,"high":13203.7,"vol":1332,"low":12932.9,"count":114,"id":1603400400,"close":13092.0,"tradeTurnover":17423.4422,"open":13136.0},{"amount":1.21,"high":13250.5,"vol":1210,"low":12984.7,"count":114,"id":1603404000,"close":13055.9,"tradeTurnover":15876.0632,"open":13119.4},{"amount":1.286,"high":13126.5,"vol":1286,"low":12857.2,"count":116,"id":1603407600,"close":12890.4,"tradeTurnover":16688.422,"open":13059.4},{"amount":1.502,"high":12994.0,"vol":1502,"low":12751.6,"count":131,"id":1603411200,"close":12892.2,"tradeTurnover":19331.1596,"open":12929.7},{"amount":1.386,"high":13003.2,"vol":1386,"low":12786.0,"count":121,"id":1603414800,"close":12898.3,"tradeTurnover":17904.8902,"open":12921.7},{"amount":1.416,"high":13054.0,"vol":1416,"low":12800.7,"count":122,"id":1603418400,"close":12975.1,"tradeTurnover":18306.6204,"open":12951.6},{"amount":1.19,"high":13030.7,"vol":1190,"low":12875.0,"count":118,"id":1603422000,"close":12947.0,"tradeTurnover":15409.7984,"open":12967.3},{"amount":1.022,"high":13047.3,"vol":1022,"low":12832.8,"count":127,"id":1603425600,"close":12852.0,"tradeTurnover":13214.4388,"open":12925.2},{"amount":0.478,"high":12991.7,"vol":478,"low":12841.2,"count":118,"id":1603429200,"close":12931.1,"tradeTurnover":6180.2486,"open":12859.0},{"amount":0.522,"high":13014.1,"vol":522,"low":12871.9,"count":132,"id":1603432800,"close":12939.6,"tradeTurnover":6759.0324,"open":12935.9},{"amount":0.476,"high":12998.9,"vol":476,"low":12917.1,"count":118,"id":1603436400,"close":12925.4,"tradeTurnover":6163.3118,"open":12923.1},{"amount":0.508,"high":13014.0,"vol":508,"low":12916.1,"count":122,"id":1603440000,"close":12962.6,"tradeTurnover":6585.3656,"open":12942.2},{"amount":0.564,"high":13012.5,"vol":564,"low":12909.9,"count":124,"id":1603443600,"close":12926.4,"tradeTurnover":7308.8828,"open":12970.5},{"amount":0.536,"high":13059.5,"vol":536,"low":12925.7,"count":124,"id":1603447200,"close":13007.7,"tradeTurnover":6957.8796,"open":13001.2},{"amount":0.486,"high":13078.4,"vol":486,"low":12906.5,"count":122,"id":1603450800,"close":12970.6,"tradeTurnover":6326.1434,"open":13025.4},{"amount":0.494,"high":13025.0,"vol":494,"low":12850.8,"count":117,"id":1603454400,"close":12935.4,"tradeTurnover":6396.0984,"open":12963.9},{"amount":0.466,"high":13043.3,"vol":466,"low":12911.0,"count":117,"id":1603458000,"close":12951.7,"tradeTurnover":6049.1412,"open":12913.3},{"amount":0.46,"high":13006.4,"vol":460,"low":12840.4,"count":116,"id":1603461600,"close":12858.8,"tradeTurnover":5941.815,"open":12999.6},{"amount":0.492,"high":12932.9,"vol":492,"low":12826.5,"count":117,"id":1603465200,"close":12881.9,"tradeTurnover":6340.214,"open":12885.7},{"amount":0.484,"high":12933.5,"vol":484,"low":12744.4,"count":123,"id":1603468800,"close":12784.1,"tradeTurnover":6205.4138,"open":12854.4},{"amount":0.562,"high":12893.1,"vol":562,"low":12730.1,"count":152,"id":1603472400,"close":12847.7,"tradeTurnover":7218.9184,"open":12832.3},{"amount":0.53,"high":12939.3,"vol":530,"low":12751.4,"count":128,"id":1603476000,"close":12915.7,"tradeTurnover":6825.7004,"open":12874.1},{"amount":0.444,"high":12972.9,"vol":444,"low":12786.6,"count":117,"id":1603479600,"close":12972.9,"tradeTurnover":5727.7452,"open":12867.9},{"amount":0.492,"high":13002.2,"vol":492,"low":12842.9,"count":116,"id":1603483200,"close":12991.6,"tradeTurnover":6375.1566,"open":12956.7},{"amount":0.5,"high":13004.3,"vol":500,"low":12936.6,"count":125,"id":1603486800,"close":12943.5,"tradeTurnover":6485.468,"open":13004.3},{"amount":0.492,"high":13010.3,"vol":492,"low":12884.7,"count":120,"id":1603490400,"close":12989.2,"tradeTurnover":6376.1492,"open":12923.6},{"amount":0.51,"high":13024.4,"vol":510,"low":12884.6,"count":121,"id":1603494000,"close":12884.6,"tradeTurnover":6622.3406,"open":12974.9},{"amount":0.488,"high":13018.3,"vol":488,"low":12811.1,"count":120,"id":1603497600,"close":12953.9,"tradeTurnover":6317.7938,"open":12973.7},{"amount":0.482,"high":13018.1,"vol":482,"low":12872.8,"count":117,"id":1603501200,"close":12934.2,"tradeTurnover":6242.4178,"open":12927.5},{"amount":0.484,"high":13003.9,"vol":484,"low":12903.3,"count":117,"id":1603504800,"close":12989.1,"tradeTurnover":6278.1756,"open":12971.9},{"amount":0.474,"high":13013.4,"vol":474,"low":12938.3,"count":122,"id":1603508400,"close":12975.9,"tradeTurnover":6157.7096,"open":13000.1},{"amount":0.526,"high":13009.4,"vol":526,"low":12905.5,"count":124,"id":1603512000,"close":12963.3,"tradeTurnover":6831.5658,"open":12989.7},{"amount":0.522,"high":13041.8,"vol":522,"low":12875.3,"count":127,"id":1603515600,"close":12989.7,"tradeTurnover":6768.8994,"open":12910.5},{"amount":0.49,"high":13058.1,"vol":490,"low":12908.8,"count":120,"id":1603519200,"close":13003.6,"tradeTurnover":6370.5714,"open":12994.7},{"amount":0.478,"high":13037.8,"vol":478,"low":12981.7,"count":120,"id":1603522800,"close":13004.2,"tradeTurnover":6218.9722,"open":13011.9},{"amount":0.52,"high":13030.6,"vol":520,"low":12899.4,"count":124,"id":1603526400,"close":12998.2,"tradeTurnover":6754.958,"open":13003.0},{"amount":0.454,"high":13020.3,"vol":454,"low":12893.6,"count":115,"id":1603530000,"close":12990.6,"tradeTurnover":5891.0574,"open":12998.2},{"amount":0.502,"high":13059.1,"vol":502,"low":12913.2,"count":124,"id":1603533600,"close":13030.1,"tradeTurnover":6525.9004,"open":12996.4},{"amount":0.468,"high":13068.3,"vol":468,"low":12940.2,"count":119,"id":1603537200,"close":13033.2,"tradeTurnover":6091.0376,"open":12988.4},{"amount":0.468,"high":13071.8,"vol":468,"low":12978.9,"count":123,"id":1603540800,"close":13006.5,"tradeTurnover":6102.5902,"open":13035.3},{"amount":0.534,"high":13066.7,"vol":534,"low":12928.1,"count":123,"id":1603544400,"close":12985.9,"tradeTurnover":6950.4268,"open":13038.8},{"amount":0.47,"high":13100.1,"vol":470,"low":12960.5,"count":100,"id":1603548000,"close":13042.0,"tradeTurnover":6124.2178,"open":12986.3},{"amount":0.456,"high":13196.5,"vol":456,"low":13038.4,"count":120,"id":1603551600,"close":13102.2,"tradeTurnover":5989.6362,"open":13038.4},{"amount":0.458,"high":13176.6,"vol":458,"low":12984.6,"count":121,"id":1603555200,"close":13052.7,"tradeTurnover":5976.331,"open":13136.8},{"amount":0.452,"high":13177.8,"vol":452,"low":13003.2,"count":118,"id":1603558800,"close":13177.8,"tradeTurnover":5911.7058,"open":13006.2},{"amount":0.468,"high":13170.7,"vol":468,"low":13023.0,"count":119,"id":1603562400,"close":13080.8,"tradeTurnover":6122.375,"open":13127.7},{"amount":0.468,"high":13179.3,"vol":468,"low":13014.2,"count":120,"id":1603566000,"close":13148.4,"tradeTurnover":6126.4278,"open":13040.7},{"amount":0.47,"high":13179.6,"vol":470,"low":12992.5,"count":119,"id":1603569600,"close":13090.1,"tradeTurnover":6151.4758,"open":13073.5},{"amount":0.458,"high":13148.7,"vol":458,"low":12980.7,"count":117,"id":1603573200,"close":12993.9,"tradeTurnover":5981.071,"open":13035.4},{"amount":0.478,"high":13112.1,"vol":478,"low":12975.6,"count":118,"id":1603576800,"close":13041.1,"tradeTurnover":6225.4216,"open":13040.7},{"amount":0.472,"high":13184.3,"vol":472,"low":13009.3,"count":118,"id":1603580400,"close":13184.3,"tradeTurnover":6173.4244,"open":13012.6},{"amount":0.46,"high":13170.4,"vol":460,"low":13007.7,"count":115,"id":1603584000,"close":13154.3,"tradeTurnover":6024.09,"open":13080.8},{"amount":0.398,"high":13196.8,"vol":398,"low":13024.0,"count":102,"id":1603587600,"close":13196.1,"tradeTurnover":5217.5364,"open":13092.0},{"amount":0.476,"high":13175.1,"vol":476,"low":13035.0,"count":120,"id":1603591200,"close":13082.4,"tradeTurnover":6228.6596,"open":13124.7},{"amount":0.578,"high":13383.8,"vol":578,"low":13049.1,"count":137,"id":1603594800,"close":13259.0,"tradeTurnover":7629.3886,"open":13049.1},{"amount":0.47,"high":13369.0,"vol":470,"low":13216.0,"count":122,"id":1603598400,"close":13243.4,"tradeTurnover":6247.955,"open":13277.0},{"amount":0.61,"high":13353.3,"vol":610,"low":13010.1,"count":134,"id":1603602000,"close":13017.3,"tradeTurnover":8048.8598,"open":13285.3},{"amount":0.486,"high":13105.7,"vol":486,"low":13018.2,"count":118,"id":1603605600,"close":13060.3,"tradeTurnover":6344.1474,"open":13022.5},{"amount":0.464,"high":13112.1,"vol":464,"low":13022.0,"count":120,"id":1603609200,"close":13078.1,"tradeTurnover":6061.5416,"open":13048.5},{"amount":0.464,"high":13091.0,"vol":464,"low":13017.2,"count":120,"id":1603612800,"close":13046.0,"tradeTurnover":6055.3734,"open":13077.2},{"amount":0.478,"high":13084.0,"vol":478,"low":13014.2,"count":117,"id":1603616400,"close":13040.8,"tradeTurnover":6235.7882,"open":13065.1},{"amount":0.478,"high":13064.2,"vol":478,"low":13010.2,"count":125,"id":1603620000,"close":13028.5,"tradeTurnover":6232.2428,"open":13047.1},{"amount":0.534,"high":13061.5,"vol":534,"low":12852.9,"count":123,"id":1603623600,"close":12897.6,"tradeTurnover":6918.1226,"open":13061.5},{"amount":0.444,"high":13069.7,"vol":444,"low":12893.2,"count":117,"id":1603627200,"close":12964.3,"tradeTurnover":5755.8712,"open":12908.3},{"amount":0.498,"high":13071.9,"vol":498,"low":12891.8,"count":119,"id":1603630800,"close":12949.3,"tradeTurnover":6465.078,"open":13001.3},{"amount":0.468,"high":13077.7,"vol":468,"low":12900.0,"count":116,"id":1603634400,"close":12946.8,"tradeTurnover":6075.4554,"open":12975.8},{"amount":0.47,"high":13069.1,"vol":470,"low":12883.3,"count":119,"id":1603638000,"close":12883.3,"tradeTurnover":6097.1072,"open":12975.2},{"amount":0.482,"high":13067.9,"vol":482,"low":12877.5,"count":118,"id":1603641600,"close":12978.7,"tradeTurnover":6256.4472,"open":12916.2},{"amount":0.47,"high":13087.5,"vol":470,"low":12922.7,"count":117,"id":1603645200,"close":13004.4,"tradeTurnover":6108.3892,"open":13008.0},{"amount":0.468,"high":13067.6,"vol":468,"low":12893.6,"count":118,"id":1603648800,"close":12957.2,"tradeTurnover":6079.1484,"open":12972.8},{"amount":0.442,"high":13066.9,"vol":442,"low":12916.6,"count":118,"id":1603652400,"close":13021.8,"tradeTurnover":5746.5548,"open":12996.5},{"amount":0.508,"high":13081.5,"vol":508,"low":12944.9,"count":120,"id":1603656000,"close":12985.4,"tradeTurnover":6616.9872,"open":12992.9},{"amount":0.508,"high":13068.6,"vol":508,"low":12921.4,"count":122,"id":1603659600,"close":13011.2,"tradeTurnover":6614.816,"open":12999.9},{"amount":0.486,"high":13073.8,"vol":486,"low":12911.9,"count":121,"id":1603663200,"close":12959.4,"tradeTurnover":6320.907,"open":12979.6},{"amount":0.452,"high":13085.2,"vol":452,"low":12927.8,"count":113,"id":1603666800,"close":13032.1,"tradeTurnover":5878.6442,"open":12963.4},{"amount":0.482,"high":13076.7,"vol":482,"low":12918.3,"count":121,"id":1603670400,"close":13001.0,"tradeTurnover":6263.698,"open":12964.2},{"amount":0.478,"high":13096.4,"vol":478,"low":12991.2,"count":124,"id":1603674000,"close":13053.7,"tradeTurnover":6232.2328,"open":13040.0},{"amount":0.488,"high":13185.7,"vol":488,"low":12985.1,"count":121,"id":1603677600,"close":13064.4,"tradeTurnover":6387.534,"open":13060.6},{"amount":0.486,"high":13187.2,"vol":486,"low":12984.1,"count":135,"id":1603681200,"close":13092.8,"tradeTurnover":6369.0272,"open":13032.3},{"amount":0.51,"high":13181.6,"vol":510,"low":12962.3,"count":131,"id":1603684800,"close":13132.6,"tradeTurnover":6679.829,"open":13092.0},{"amount":0.506,"high":13205.3,"vol":506,"low":13025.3,"count":126,"id":1603688400,"close":13092.1,"tradeTurnover":6641.2128,"open":13129.2},{"amount":1.616,"high":13188.1,"vol":1616,"low":12989.8,"count":141,"id":1603692000,"close":13071.4,"tradeTurnover":21170.8224,"open":13121.8},{"amount":3.746,"high":13100.0,"vol":3746,"low":12965.2,"count":110,"id":1603695600,"close":13038.7,"tradeTurnover":48924.8902,"open":13061.0},{"amount":8.966,"high":13102.0,"vol":8966,"low":12852.8,"count":173,"id":1603699200,"close":13039.3,"tradeTurnover":116525.5534,"open":13030.9},{"amount":4.48,"high":13088.4,"vol":4480,"low":13039.8,"count":124,"id":1603702800,"close":13075.9,"tradeTurnover":58521.1714,"open":13047.1},{"amount":4.272,"high":13100.0,"vol":4272,"low":13060.2,"count":130,"id":1603706400,"close":13100.0,"tradeTurnover":55895.9778,"open":13072.1},{"amount":29.798,"high":13159.0,"vol":29798,"low":13100.0,"count":230,"id":1603710000,"close":13138.4,"tradeTurnover":391138.024,"open":13100.0},{"amount":5.154,"high":13200.0,"vol":5154,"low":13100.0,"count":188,"id":1603713600,"close":13149.8,"tradeTurnover":67694.652,"open":13138.8},{"amount":35.608,"high":13351.5,"vol":35608,"low":13133.1,"count":328,"id":1603717200,"close":13205.8,"tradeTurnover":472780.3394,"open":13150.0},{"amount":31.748,"high":13280.0,"vol":31748,"low":13144.1,"count":235,"id":1603720800,"close":13166.1,"tradeTurnover":418744.5588,"open":13203.0},{"amount":36.53,"high":13165.2,"vol":36530,"low":12903.8,"count":384,"id":1603724400,"close":12978.0,"tradeTurnover":476940.3296,"open":13159.0},{"amount":35.018,"high":13069.8,"vol":35018,"low":12850.5,"count":323,"id":1603728000,"close":12869.6,"tradeTurnover":453288.918,"open":12965.0},{"amount":92.628,"high":12941.5,"vol":92628,"low":12583.9,"count":560,"id":1603731600,"close":12873.8,"tradeTurnover":1185973.467,"open":12879.2},{"amount":4.302,"high":12954.5,"vol":4302,"low":12820.4,"count":128,"id":1603735200,"close":12946.8,"tradeTurnover":55481.0054,"open":12856.2},{"amount":13.83,"high":12953.5,"vol":13830,"low":12914.1,"count":118,"id":1603738800,"close":12953.4,"tradeTurnover":179112.1598,"open":12945.6},{"amount":17.172,"high":13007.5,"vol":17172,"low":12953.5,"count":132,"id":1603742400,"close":12983.4,"tradeTurnover":223230.2122,"open":12953.5},{"amount":3.212,"high":13007.5,"vol":3212,"low":12982.7,"count":59,"id":1603746000,"close":12993.8,"tradeTurnover":41767.8906,"open":12983.1},{"amount":1.504,"high":13007.5,"vol":1504,"low":12974.0,"count":74,"id":1603749600,"close":13007.5,"tradeTurnover":19543.3568,"open":13002.1},{"amount":3.454,"high":13061.2,"vol":3454,"low":13007.5,"count":101,"id":1603753200,"close":13033.7,"tradeTurnover":45001.601,"open":13007.5},{"amount":8.784,"high":13105.0,"vol":8784,"low":13028.3,"count":98,"id":1603756800,"close":13067.1,"tradeTurnover":114871.8246,"open":13029.2},{"amount":11.592,"high":13074.4,"vol":11592,"low":13051.5,"count":66,"id":1603760400,"close":13061.7,"tradeTurnover":151386.9038,"open":13074.3},{"amount":19.298,"high":13097.6,"vol":19298,"low":13040.1,"count":109,"id":1603764000,"close":13049.7,"tradeTurnover":252061.019,"open":13061.7},{"amount":22.992,"high":13080.0,"vol":22992,"low":13057.1,"count":69,"id":1603767600,"close":13070.4,"tradeTurnover":300453.9788,"open":13057.6},{"amount":14.396,"high":13175.0,"vol":14396,"low":13079.6,"count":59,"id":1603771200,"close":13103.3,"tradeTurnover":188461.9156,"open":13080.0},{"amount":5.058,"high":13121.3,"vol":5058,"low":13069.7,"count":44,"id":1603774800,"close":13073.6,"tradeTurnover":66201.3552,"open":13121.3},{"amount":9.106,"high":13149.0,"vol":9106,"low":13069.6,"count":107,"id":1603778400,"close":13103.4,"tradeTurnover":119104.8906,"open":13074.9},{"amount":73.95,"high":13169.8,"vol":73950,"low":12992.4,"count":305,"id":1603782000,"close":13130.0,"tradeTurnover":968195.155,"open":13103.3},{"amount":18.732,"high":13148.4,"vol":18732,"low":13044.0,"count":135,"id":1603785600,"close":13123.8,"tradeTurnover":245533.5448,"open":13135.1},{"amount":13.756,"high":13131.8,"vol":13756,"low":13075.7,"count":102,"id":1603789200,"close":13131.7,"tradeTurnover":180253.7708,"open":13115.5},{"amount":154.108,"high":13252.0,"vol":154108,"low":13063.4,"count":525,"id":1603792800,"close":13216.9,"tradeTurnover":2029983.656,"open":13134.8},{"amount":170.09,"high":13590.1,"vol":170090,"low":13213.5,"count":591,"id":1603796400,"close":13395.8,"tradeTurnover":2276279.742,"open":13218.8},{"amount":48.928,"high":13414.0,"vol":48928,"low":13331.7,"count":216,"id":1603800000,"close":13376.9,"tradeTurnover":654585.9108,"open":13395.9},{"amount":63.294,"high":13490.9,"vol":63294,"low":13329.8,"count":316,"id":1603803600,"close":13384.3,"tradeTurnover":848130.9212,"open":13376.5},{"amount":12.892,"high":13415.8,"vol":12892,"low":13344.8,"count":124,"id":1603807200,"close":13398.2,"tradeTurnover":172618.6864,"open":13392.6},{"amount":93.22,"high":13626.7,"vol":93220,"low":13398.2,"count":476,"id":1603810800,"close":13598.5,"tradeTurnover":1262695.5466,"open":13398.2},{"amount":85.45,"high":13639.9,"vol":85450,"low":13520.2,"count":435,"id":1603814400,"close":13639.9,"tradeTurnover":1161481.4136,"open":13595.8},{"amount":191.812,"high":13826.7,"vol":191812,"low":13589.0,"count":711,"id":1603818000,"close":13688.1,"tradeTurnover":2628428.3788,"open":13640.0},{"amount":65.434,"high":13745.0,"vol":65434,"low":13528.2,"count":410,"id":1603821600,"close":13630.1,"tradeTurnover":891541.8394,"open":13685.0},{"amount":5.788,"high":13659.8,"vol":5788,"low":13595.4,"count":65,"id":1603825200,"close":13637.1,"tradeTurnover":78836.2578,"open":13629.4},{"amount":163.104,"high":13805.1,"vol":163104,"low":13582.6,"count":537,"id":1603828800,"close":13616.6,"tradeTurnover":2234040.3544,"open":13644.4},{"amount":9.884,"high":13753.5,"vol":9884,"low":13609.8,"count":101,"id":1603832400,"close":13705.5,"tradeTurnover":135406.4752,"open":13609.8},{"amount":7.436,"high":13739.9,"vol":7436,"low":13658.2,"count":100,"id":1603836000,"close":13739.9,"tradeTurnover":101840.3508,"open":13705.4},{"amount":17.086,"high":13794.6,"vol":17086,"low":13582.6,"count":234,"id":1603839600,"close":13649.6,"tradeTurnover":233971.8448,"open":13739.9},{"amount":24.108,"high":13745.2,"vol":24108,"low":13618.8,"count":177,"id":1603843200,"close":13701.7,"tradeTurnover":330206.5694,"open":13645.9},{"amount":15.892,"high":13725.6,"vol":15892,"low":13647.9,"count":151,"id":1603846800,"close":13702.6,"tradeTurnover":217816.7008,"open":13702.1},{"amount":46.548,"high":13832.2,"vol":46548,"low":13680.2,"count":274,"id":1603850400,"close":13811.6,"tradeTurnover":640636.0352,"open":13701.7},{"amount":67.896,"high":13820.3,"vol":67896,"low":13717.5,"count":320,"id":1603854000,"close":13777.0,"tradeTurnover":935838.2238,"open":13818.5},{"amount":33.156,"high":13807.2,"vol":33156,"low":13710.0,"count":210,"id":1603857600,"close":13735.7,"tradeTurnover":455941.234,"open":13767.3},{"amount":32.076,"high":13753.9,"vol":32076,"low":13671.3,"count":198,"id":1603861200,"close":13715.8,"tradeTurnover":439612.64,"open":13735.5},{"amount":14.756,"high":13757.0,"vol":14756,"low":13694.9,"count":122,"id":1603864800,"close":13701.3,"tradeTurnover":202602.5164,"open":13715.9},{"amount":155.534,"high":13708.7,"vol":155534,"low":13550.0,"count":635,"id":1603868400,"close":13674.2,"tradeTurnover":2117935.0928,"open":13701.2},{"amount":29.846,"high":13691.7,"vol":29846,"low":13584.0,"count":240,"id":1603872000,"close":13691.7,"tradeTurnover":407073.1398,"open":13673.0},{"amount":104.542,"high":13707.5,"vol":104542,"low":13573.5,"count":377,"id":1603875600,"close":13587.1,"tradeTurnover":1425079.9344,"open":13689.3},{"amount":73.818,"high":13618.0,"vol":73818,"low":13504.7,"count":358,"id":1603879200,"close":13552.7,"tradeTurnover":1001666.0908,"open":13584.6},{"amount":176.544,"high":13565.4,"vol":176544,"low":13330.0,"count":1004,"id":1603882800,"close":13336.4,"tradeTurnover":2369166.1492,"open":13552.6},{"amount":289.73,"high":13385.0,"vol":289730,"low":13173.9,"count":968,"id":1603886400,"close":13300.3,"tradeTurnover":3846751.7166,"open":13331.5},{"amount":139.822,"high":13340.0,"vol":139822,"low":13122.9,"count":612,"id":1603890000,"close":13129.9,"tradeTurnover":1848876.932,"open":13300.2},{"amount":367.876,"high":13168.2,"vol":367876,"low":12915.9,"count":1168,"id":1603893600,"close":13082.2,"tradeTurnover":4802516.9818,"open":13123.4},{"amount":84.044,"high":13235.2,"vol":84044,"low":13052.3,"count":375,"id":1603897200,"close":13221.2,"tradeTurnover":1106883.1282,"open":13077.1},{"amount":29.566,"high":13218.7,"vol":29566,"low":13050.0,"count":244,"id":1603900800,"close":13145.1,"tradeTurnover":388697.4104,"open":13218.7},{"amount":53.336,"high":13204.9,"vol":53336,"low":13006.6,"count":299,"id":1603904400,"close":13176.7,"tradeTurnover":700385.2784,"open":13145.1},{"amount":34.164,"high":13219.6,"vol":34164,"low":13131.0,"count":218,"id":1603908000,"close":13196.5,"tradeTurnover":450210.5778,"open":13171.0},{"amount":22.158,"high":13237.4,"vol":22158,"low":13145.0,"count":185,"id":1603911600,"close":13154.9,"tradeTurnover":292020.0438,"open":13200.0},{"amount":4.548,"high":13211.8,"vol":4548,"low":13147.4,"count":75,"id":1603915200,"close":13198.1,"tradeTurnover":59991.1118,"open":13154.5},{"amount":3.52,"high":13196.5,"vol":3520,"low":13100.2,"count":68,"id":1603918800,"close":13190.1,"tradeTurnover":46175.428,"open":13193.5},{"amount":3.122,"high":13267.5,"vol":3122,"low":13185.4,"count":72,"id":1603922400,"close":13252.0,"tradeTurnover":41304.2018,"open":13185.4},{"amount":14.768,"high":13282.3,"vol":14768,"low":13235.9,"count":86,"id":1603926000,"close":13265.9,"tradeTurnover":195689.0764,"open":13242.1},{"amount":19.968,"high":13294.7,"vol":19968,"low":13237.4,"count":98,"id":1603929600,"close":13245.1,"tradeTurnover":264834.1944,"open":13253.9},{"amount":35.282,"high":13285.3,"vol":35282,"low":13166.3,"count":192,"id":1603933200,"close":13274.2,"tradeTurnover":465789.6302,"open":13244.6},{"amount":9.748,"high":13277.7,"vol":9748,"low":13212.2,"count":119,"id":1603936800,"close":13241.1,"tradeTurnover":129016.0684,"open":13275.9},{"amount":27.3,"high":13262.5,"vol":27300,"low":13174.6,"count":199,"id":1603940400,"close":13262.5,"tradeTurnover":360589.8982,"open":13237.1},{"amount":18.904,"high":13277.7,"vol":18904,"low":13229.5,"count":109,"id":1603944000,"close":13229.5,"tradeTurnover":250713.2812,"open":13269.1},{"amount":15.822,"high":13274.8,"vol":15822,"low":13228.5,"count":134,"id":1603947600,"close":13274.8,"tradeTurnover":209781.909,"open":13228.5},{"amount":91.246,"high":13323.0,"vol":91246,"low":13242.3,"count":294,"id":1603951200,"close":13255.0,"tradeTurnover":1211271.2788,"open":13274.8},{"amount":187.622,"high":13269.3,"vol":187622,"low":13123.1,"count":506,"id":1603954800,"close":13142.4,"tradeTurnover":2478299.7074,"open":13255.0},{"amount":69.532,"high":13182.4,"vol":69532,"low":13094.1,"count":226,"id":1603958400,"close":13124.8,"tradeTurnover":914157.2418,"open":13145.9},{"amount":23.184,"high":13197.1,"vol":23184,"low":13129.5,"count":141,"id":1603962000,"close":13183.7,"tradeTurnover":305485.9524,"open":13129.5},{"amount":121.146,"high":13187.5,"vol":121146,"low":13053.1,"count":442,"id":1603965600,"close":13105.2,"tradeTurnover":1590026.4416,"open":13184.8},{"amount":47.498,"high":13171.4,"vol":47498,"low":13060.1,"count":262,"id":1603969200,"close":13060.1,"tradeTurnover":623578.149,"open":13105.1},{"amount":126.552,"high":13145.8,"vol":126552,"low":12977.9,"count":481,"id":1603972800,"close":13131.8,"tradeTurnover":1652549.311,"open":13056.9},{"amount":100.482,"high":13237.2,"vol":100482,"low":13102.0,"count":325,"id":1603976400,"close":13230.0,"tradeTurnover":1326403.7206,"open":13131.7},{"amount":253.258,"high":13476.1,"vol":253258,"low":13231.0,"count":752,"id":1603980000,"close":13420.8,"tradeTurnover":3384941.438,"open":13231.0},{"amount":64.71,"high":13458.7,"vol":64710,"low":13358.7,"count":269,"id":1603983600,"close":13420.6,"tradeTurnover":869052.3804,"open":13416.0},{"amount":120.24,"high":13594.5,"vol":120240,"low":13391.8,"count":570,"id":1603987200,"close":13535.9,"tradeTurnover":1626567.8278,"open":13421.9}],"id":"","rep":"market.BTC-USDT.kline.60min","status":"ok"} +2024-01-18 11:12:54.791 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:39] - 请求 KLine 数据用户收到的原始数据:{"id":"","rep":"market.BTC-USDT.kline.60min","ts":1705547573702,"wsid":19750305,"status":"ok","data":[{"id":1603270800,"open":12198.0,"close":12196.7,"high":12300.0,"low":11715.8,"amount":0.276,"vol":276,"trade_turnover":3315.9104,"count":39},{"id":1603274400,"open":12196.7,"close":12277.9,"high":12289.9,"low":12111.0,"amount":0.198,"vol":198,"trade_turnover":2420.7728,"count":21},{"id":1603278000,"open":12111.0,"close":12000.0,"high":12277.9,"low":12000.0,"amount":0.012,"vol":12,"trade_turnover":145.2238,"count":5},{"id":1603281600,"open":12078.0,"close":12497.4,"high":12498.0,"low":12078.0,"amount":0.084,"vol":84,"trade_turnover":1040.0504,"count":12},{"id":1603285200,"open":12495.6,"close":12373.5,"high":12495.6,"low":12282.9,"amount":1.122,"vol":1122,"trade_turnover":13905.3124,"count":112},{"id":1603288800,"open":12412.9,"close":12689.9,"high":12807.6,"low":12358.1,"amount":5.29,"vol":5290,"trade_turnover":66852.128,"count":155},{"id":1603292400,"open":12692.8,"close":12701.9,"high":12778.7,"low":12573.2,"amount":1.174,"vol":1174,"trade_turnover":14907.367,"count":113},{"id":1603296000,"open":12679.7,"close":12835.9,"high":12920.9,"low":12624.8,"amount":1.156,"vol":1156,"trade_turnover":14802.449,"count":115},{"id":1603299600,"open":12848.3,"close":12754.2,"high":12908.3,"low":12687.5,"amount":1.12,"vol":1120,"trade_turnover":14345.7324,"count":115},{"id":1603303200,"open":12743.7,"close":12740.2,"high":12849.0,"low":12668.3,"amount":1.106,"vol":1106,"trade_turnover":14105.3504,"count":114},{"id":1603306800,"open":12729.5,"close":12650.3,"high":12843.1,"low":12597.2,"amount":1.032,"vol":1032,"trade_turnover":13125.4568,"count":112},{"id":1603310400,"open":12666.8,"close":12807.0,"high":12848.4,"low":12610.2,"amount":1.154,"vol":1154,"trade_turnover":14680.638,"count":116},{"id":1603314000,"open":12866.0,"close":12938.9,"high":13005.1,"low":12748.2,"amount":1.164,"vol":1164,"trade_turnover":14976.9366,"count":114},{"id":1603317600,"open":12921.0,"close":13122.0,"high":13211.2,"low":12865.7,"amount":1.174,"vol":1174,"trade_turnover":15285.2446,"count":114},{"id":1603321200,"open":13153.2,"close":12829.8,"high":13173.2,"low":12688.6,"amount":1.172,"vol":1172,"trade_turnover":15060.9938,"count":117},{"id":1603324800,"open":12793.1,"close":12885.9,"high":12988.1,"low":12764.4,"amount":1.17,"vol":1170,"trade_turnover":15046.2046,"count":117},{"id":1603328400,"open":12860.4,"close":12757.5,"high":12972.6,"low":12757.5,"amount":1.158,"vol":1158,"trade_turnover":14882.4656,"count":118},{"id":1603332000,"open":12824.1,"close":12788.8,"high":12848.0,"low":12729.0,"amount":1.124,"vol":1124,"trade_turnover":14368.7948,"count":115},{"id":1603335600,"open":12791.7,"close":12767.2,"high":12834.4,"low":12729.0,"amount":1.194,"vol":1194,"trade_turnover":15268.9298,"count":111},{"id":1603339200,"open":12729.0,"close":12762.2,"high":12778.3,"low":12729.0,"amount":1.152,"vol":1152,"trade_turnover":14695.4876,"count":115},{"id":1603342800,"open":12763.1,"close":12813.8,"high":12842.0,"low":12730.6,"amount":1.21,"vol":1210,"trade_turnover":15440.8162,"count":119},{"id":1603346400,"open":12795.0,"close":12729.1,"high":12795.0,"low":12728.0,"amount":1.188,"vol":1188,"trade_turnover":15128.0098,"count":123},{"id":1603350000,"open":12728.6,"close":12730.6,"high":12730.6,"low":12728.3,"amount":1.266,"vol":1266,"trade_turnover":16115.1306,"count":112},{"id":1603353600,"open":12730.3,"close":12770.1,"high":12921.5,"low":12729.9,"amount":1.35,"vol":1350,"trade_turnover":17233.7326,"count":127},{"id":1603357200,"open":12824.9,"close":12780.4,"high":12872.1,"low":12760.1,"amount":0.98,"vol":980,"trade_turnover":12553.9826,"count":99},{"id":1603360800,"open":12784.9,"close":12934.2,"high":13002.7,"low":12775.6,"amount":0.266,"vol":266,"trade_turnover":3415.023,"count":30},{"id":1603364400,"open":12977.0,"close":13045.0,"high":13057.0,"low":12886.6,"amount":1.004,"vol":1004,"trade_turnover":13020.8576,"count":117},{"id":1603368000,"open":12958.5,"close":12847.9,"high":12973.4,"low":12751.6,"amount":1.134,"vol":1134,"trade_turnover":14594.2752,"count":111},{"id":1603371600,"open":12882.7,"close":12931.0,"high":13000.8,"low":12743.0,"amount":1.152,"vol":1152,"trade_turnover":14877.7314,"count":114},{"id":1603375200,"open":12890.4,"close":12917.8,"high":12995.3,"low":12783.9,"amount":1.182,"vol":1182,"trade_turnover":15224.4716,"count":115},{"id":1603378800,"open":12918.8,"close":12953.0,"high":13031.2,"low":12817.9,"amount":1.176,"vol":1176,"trade_turnover":15197.208,"count":117},{"id":1603382400,"open":12923.1,"close":13055.6,"high":13100.2,"low":12865.6,"amount":1.146,"vol":1146,"trade_turnover":14851.9604,"count":119},{"id":1603386000,"open":12967.6,"close":13082.7,"high":13105.7,"low":12835.5,"amount":1.534,"vol":1534,"trade_turnover":19927.8288,"count":124},{"id":1603389600,"open":13020.4,"close":13016.4,"high":13115.0,"low":12938.7,"amount":1.268,"vol":1268,"trade_turnover":16505.4738,"count":117},{"id":1603393200,"open":13028.3,"close":12970.6,"high":13171.2,"low":12961.8,"amount":1.13,"vol":1130,"trade_turnover":14762.952,"count":112},{"id":1603396800,"open":13016.7,"close":13089.3,"high":13216.1,"low":12998.5,"amount":1.206,"vol":1206,"trade_turnover":15807.1226,"count":117},{"id":1603400400,"open":13136.0,"close":13092.0,"high":13203.7,"low":12932.9,"amount":1.332,"vol":1332,"trade_turnover":17423.4422,"count":114},{"id":1603404000,"open":13119.4,"close":13055.9,"high":13250.5,"low":12984.7,"amount":1.21,"vol":1210,"trade_turnover":15876.0632,"count":114},{"id":1603407600,"open":13059.4,"close":12890.4,"high":13126.5,"low":12857.2,"amount":1.286,"vol":1286,"trade_turnover":16688.422,"count":116},{"id":1603411200,"open":12929.7,"close":12892.2,"high":12994.0,"low":12751.6,"amount":1.502,"vol":1502,"trade_turnover":19331.1596,"count":131},{"id":1603414800,"open":12921.7,"close":12898.3,"high":13003.2,"low":12786.0,"amount":1.386,"vol":1386,"trade_turnover":17904.8902,"count":121},{"id":1603418400,"open":12951.6,"close":12975.1,"high":13054.0,"low":12800.7,"amount":1.416,"vol":1416,"trade_turnover":18306.6204,"count":122},{"id":1603422000,"open":12967.3,"close":12947.0,"high":13030.7,"low":12875.0,"amount":1.19,"vol":1190,"trade_turnover":15409.7984,"count":118},{"id":1603425600,"open":12925.2,"close":12852.0,"high":13047.3,"low":12832.8,"amount":1.022,"vol":1022,"trade_turnover":13214.4388,"count":127},{"id":1603429200,"open":12859.0,"close":12931.1,"high":12991.7,"low":12841.2,"amount":0.478,"vol":478,"trade_turnover":6180.2486,"count":118},{"id":1603432800,"open":12935.9,"close":12939.6,"high":13014.1,"low":12871.9,"amount":0.522,"vol":522,"trade_turnover":6759.0324,"count":132},{"id":1603436400,"open":12923.1,"close":12925.4,"high":12998.9,"low":12917.1,"amount":0.476,"vol":476,"trade_turnover":6163.3118,"count":118},{"id":1603440000,"open":12942.2,"close":12962.6,"high":13014.0,"low":12916.1,"amount":0.508,"vol":508,"trade_turnover":6585.3656,"count":122},{"id":1603443600,"open":12970.5,"close":12926.4,"high":13012.5,"low":12909.9,"amount":0.564,"vol":564,"trade_turnover":7308.8828,"count":124},{"id":1603447200,"open":13001.2,"close":13007.7,"high":13059.5,"low":12925.7,"amount":0.536,"vol":536,"trade_turnover":6957.8796,"count":124},{"id":1603450800,"open":13025.4,"close":12970.6,"high":13078.4,"low":12906.5,"amount":0.486,"vol":486,"trade_turnover":6326.1434,"count":122},{"id":1603454400,"open":12963.9,"close":12935.4,"high":13025.0,"low":12850.8,"amount":0.494,"vol":494,"trade_turnover":6396.0984,"count":117},{"id":1603458000,"open":12913.3,"close":12951.7,"high":13043.3,"low":12911.0,"amount":0.466,"vol":466,"trade_turnover":6049.1412,"count":117},{"id":1603461600,"open":12999.6,"close":12858.8,"high":13006.4,"low":12840.4,"amount":0.46,"vol":460,"trade_turnover":5941.815,"count":116},{"id":1603465200,"open":12885.7,"close":12881.9,"high":12932.9,"low":12826.5,"amount":0.492,"vol":492,"trade_turnover":6340.214,"count":117},{"id":1603468800,"open":12854.4,"close":12784.1,"high":12933.5,"low":12744.4,"amount":0.484,"vol":484,"trade_turnover":6205.4138,"count":123},{"id":1603472400,"open":12832.3,"close":12847.7,"high":12893.1,"low":12730.1,"amount":0.562,"vol":562,"trade_turnover":7218.9184,"count":152},{"id":1603476000,"open":12874.1,"close":12915.7,"high":12939.3,"low":12751.4,"amount":0.53,"vol":530,"trade_turnover":6825.7004,"count":128},{"id":1603479600,"open":12867.9,"close":12972.9,"high":12972.9,"low":12786.6,"amount":0.444,"vol":444,"trade_turnover":5727.7452,"count":117},{"id":1603483200,"open":12956.7,"close":12991.6,"high":13002.2,"low":12842.9,"amount":0.492,"vol":492,"trade_turnover":6375.1566,"count":116},{"id":1603486800,"open":13004.3,"close":12943.5,"high":13004.3,"low":12936.6,"amount":0.5,"vol":500,"trade_turnover":6485.468,"count":125},{"id":1603490400,"open":12923.6,"close":12989.2,"high":13010.3,"low":12884.7,"amount":0.492,"vol":492,"trade_turnover":6376.1492,"count":120},{"id":1603494000,"open":12974.9,"close":12884.6,"high":13024.4,"low":12884.6,"amount":0.51,"vol":510,"trade_turnover":6622.3406,"count":121},{"id":1603497600,"open":12973.7,"close":12953.9,"high":13018.3,"low":12811.1,"amount":0.488,"vol":488,"trade_turnover":6317.7938,"count":120},{"id":1603501200,"open":12927.5,"close":12934.2,"high":13018.1,"low":12872.8,"amount":0.482,"vol":482,"trade_turnover":6242.4178,"count":117},{"id":1603504800,"open":12971.9,"close":12989.1,"high":13003.9,"low":12903.3,"amount":0.484,"vol":484,"trade_turnover":6278.1756,"count":117},{"id":1603508400,"open":13000.1,"close":12975.9,"high":13013.4,"low":12938.3,"amount":0.474,"vol":474,"trade_turnover":6157.7096,"count":122},{"id":1603512000,"open":12989.7,"close":12963.3,"high":13009.4,"low":12905.5,"amount":0.526,"vol":526,"trade_turnover":6831.5658,"count":124},{"id":1603515600,"open":12910.5,"close":12989.7,"high":13041.8,"low":12875.3,"amount":0.522,"vol":522,"trade_turnover":6768.8994,"count":127},{"id":1603519200,"open":12994.7,"close":13003.6,"high":13058.1,"low":12908.8,"amount":0.49,"vol":490,"trade_turnover":6370.5714,"count":120},{"id":1603522800,"open":13011.9,"close":13004.2,"high":13037.8,"low":12981.7,"amount":0.478,"vol":478,"trade_turnover":6218.9722,"count":120},{"id":1603526400,"open":13003.0,"close":12998.2,"high":13030.6,"low":12899.4,"amount":0.52,"vol":520,"trade_turnover":6754.958,"count":124},{"id":1603530000,"open":12998.2,"close":12990.6,"high":13020.3,"low":12893.6,"amount":0.454,"vol":454,"trade_turnover":5891.0574,"count":115},{"id":1603533600,"open":12996.4,"close":13030.1,"high":13059.1,"low":12913.2,"amount":0.502,"vol":502,"trade_turnover":6525.9004,"count":124},{"id":1603537200,"open":12988.4,"close":13033.2,"high":13068.3,"low":12940.2,"amount":0.468,"vol":468,"trade_turnover":6091.0376,"count":119},{"id":1603540800,"open":13035.3,"close":13006.5,"high":13071.8,"low":12978.9,"amount":0.468,"vol":468,"trade_turnover":6102.5902,"count":123},{"id":1603544400,"open":13038.8,"close":12985.9,"high":13066.7,"low":12928.1,"amount":0.534,"vol":534,"trade_turnover":6950.4268,"count":123},{"id":1603548000,"open":12986.3,"close":13042.0,"high":13100.1,"low":12960.5,"amount":0.47,"vol":470,"trade_turnover":6124.2178,"count":100},{"id":1603551600,"open":13038.4,"close":13102.2,"high":13196.5,"low":13038.4,"amount":0.456,"vol":456,"trade_turnover":5989.6362,"count":120},{"id":1603555200,"open":13136.8,"close":13052.7,"high":13176.6,"low":12984.6,"amount":0.458,"vol":458,"trade_turnover":5976.331,"count":121},{"id":1603558800,"open":13006.2,"close":13177.8,"high":13177.8,"low":13003.2,"amount":0.452,"vol":452,"trade_turnover":5911.7058,"count":118},{"id":1603562400,"open":13127.7,"close":13080.8,"high":13170.7,"low":13023.0,"amount":0.468,"vol":468,"trade_turnover":6122.375,"count":119},{"id":1603566000,"open":13040.7,"close":13148.4,"high":13179.3,"low":13014.2,"amount":0.468,"vol":468,"trade_turnover":6126.4278,"count":120},{"id":1603569600,"open":13073.5,"close":13090.1,"high":13179.6,"low":12992.5,"amount":0.47,"vol":470,"trade_turnover":6151.4758,"count":119},{"id":1603573200,"open":13035.4,"close":12993.9,"high":13148.7,"low":12980.7,"amount":0.458,"vol":458,"trade_turnover":5981.071,"count":117},{"id":1603576800,"open":13040.7,"close":13041.1,"high":13112.1,"low":12975.6,"amount":0.478,"vol":478,"trade_turnover":6225.4216,"count":118},{"id":1603580400,"open":13012.6,"close":13184.3,"high":13184.3,"low":13009.3,"amount":0.472,"vol":472,"trade_turnover":6173.4244,"count":118},{"id":1603584000,"open":13080.8,"close":13154.3,"high":13170.4,"low":13007.7,"amount":0.46,"vol":460,"trade_turnover":6024.09,"count":115},{"id":1603587600,"open":13092.0,"close":13196.1,"high":13196.8,"low":13024.0,"amount":0.398,"vol":398,"trade_turnover":5217.5364,"count":102},{"id":1603591200,"open":13124.7,"close":13082.4,"high":13175.1,"low":13035.0,"amount":0.476,"vol":476,"trade_turnover":6228.6596,"count":120},{"id":1603594800,"open":13049.1,"close":13259.0,"high":13383.8,"low":13049.1,"amount":0.578,"vol":578,"trade_turnover":7629.3886,"count":137},{"id":1603598400,"open":13277.0,"close":13243.4,"high":13369.0,"low":13216.0,"amount":0.47,"vol":470,"trade_turnover":6247.955,"count":122},{"id":1603602000,"open":13285.3,"close":13017.3,"high":13353.3,"low":13010.1,"amount":0.61,"vol":610,"trade_turnover":8048.8598,"count":134},{"id":1603605600,"open":13022.5,"close":13060.3,"high":13105.7,"low":13018.2,"amount":0.486,"vol":486,"trade_turnover":6344.1474,"count":118},{"id":1603609200,"open":13048.5,"close":13078.1,"high":13112.1,"low":13022.0,"amount":0.464,"vol":464,"trade_turnover":6061.5416,"count":120},{"id":1603612800,"open":13077.2,"close":13046.0,"high":13091.0,"low":13017.2,"amount":0.464,"vol":464,"trade_turnover":6055.3734,"count":120},{"id":1603616400,"open":13065.1,"close":13040.8,"high":13084.0,"low":13014.2,"amount":0.478,"vol":478,"trade_turnover":6235.7882,"count":117},{"id":1603620000,"open":13047.1,"close":13028.5,"high":13064.2,"low":13010.2,"amount":0.478,"vol":478,"trade_turnover":6232.2428,"count":125},{"id":1603623600,"open":13061.5,"close":12897.6,"high":13061.5,"low":12852.9,"amount":0.534,"vol":534,"trade_turnover":6918.1226,"count":123},{"id":1603627200,"open":12908.3,"close":12964.3,"high":13069.7,"low":12893.2,"amount":0.444,"vol":444,"trade_turnover":5755.8712,"count":117},{"id":1603630800,"open":13001.3,"close":12949.3,"high":13071.9,"low":12891.8,"amount":0.498,"vol":498,"trade_turnover":6465.078,"count":119},{"id":1603634400,"open":12975.8,"close":12946.8,"high":13077.7,"low":12900.0,"amount":0.468,"vol":468,"trade_turnover":6075.4554,"count":116},{"id":1603638000,"open":12975.2,"close":12883.3,"high":13069.1,"low":12883.3,"amount":0.47,"vol":470,"trade_turnover":6097.1072,"count":119},{"id":1603641600,"open":12916.2,"close":12978.7,"high":13067.9,"low":12877.5,"amount":0.482,"vol":482,"trade_turnover":6256.4472,"count":118},{"id":1603645200,"open":13008.0,"close":13004.4,"high":13087.5,"low":12922.7,"amount":0.47,"vol":470,"trade_turnover":6108.3892,"count":117},{"id":1603648800,"open":12972.8,"close":12957.2,"high":13067.6,"low":12893.6,"amount":0.468,"vol":468,"trade_turnover":6079.1484,"count":118},{"id":1603652400,"open":12996.5,"close":13021.8,"high":13066.9,"low":12916.6,"amount":0.442,"vol":442,"trade_turnover":5746.5548,"count":118},{"id":1603656000,"open":12992.9,"close":12985.4,"high":13081.5,"low":12944.9,"amount":0.508,"vol":508,"trade_turnover":6616.9872,"count":120},{"id":1603659600,"open":12999.9,"close":13011.2,"high":13068.6,"low":12921.4,"amount":0.508,"vol":508,"trade_turnover":6614.816,"count":122},{"id":1603663200,"open":12979.6,"close":12959.4,"high":13073.8,"low":12911.9,"amount":0.486,"vol":486,"trade_turnover":6320.907,"count":121},{"id":1603666800,"open":12963.4,"close":13032.1,"high":13085.2,"low":12927.8,"amount":0.452,"vol":452,"trade_turnover":5878.6442,"count":113},{"id":1603670400,"open":12964.2,"close":13001.0,"high":13076.7,"low":12918.3,"amount":0.482,"vol":482,"trade_turnover":6263.698,"count":121},{"id":1603674000,"open":13040.0,"close":13053.7,"high":13096.4,"low":12991.2,"amount":0.478,"vol":478,"trade_turnover":6232.2328,"count":124},{"id":1603677600,"open":13060.6,"close":13064.4,"high":13185.7,"low":12985.1,"amount":0.488,"vol":488,"trade_turnover":6387.534,"count":121},{"id":1603681200,"open":13032.3,"close":13092.8,"high":13187.2,"low":12984.1,"amount":0.486,"vol":486,"trade_turnover":6369.0272,"count":135},{"id":1603684800,"open":13092.0,"close":13132.6,"high":13181.6,"low":12962.3,"amount":0.51,"vol":510,"trade_turnover":6679.829,"count":131},{"id":1603688400,"open":13129.2,"close":13092.1,"high":13205.3,"low":13025.3,"amount":0.506,"vol":506,"trade_turnover":6641.2128,"count":126},{"id":1603692000,"open":13121.8,"close":13071.4,"high":13188.1,"low":12989.8,"amount":1.616,"vol":1616,"trade_turnover":21170.8224,"count":141},{"id":1603695600,"open":13061.0,"close":13038.7,"high":13100.0,"low":12965.2,"amount":3.746,"vol":3746,"trade_turnover":48924.8902,"count":110},{"id":1603699200,"open":13030.9,"close":13039.3,"high":13102.0,"low":12852.8,"amount":8.966,"vol":8966,"trade_turnover":116525.5534,"count":173},{"id":1603702800,"open":13047.1,"close":13075.9,"high":13088.4,"low":13039.8,"amount":4.48,"vol":4480,"trade_turnover":58521.1714,"count":124},{"id":1603706400,"open":13072.1,"close":13100.0,"high":13100.0,"low":13060.2,"amount":4.272,"vol":4272,"trade_turnover":55895.9778,"count":130},{"id":1603710000,"open":13100.0,"close":13138.4,"high":13159.0,"low":13100.0,"amount":29.798,"vol":29798,"trade_turnover":391138.024,"count":230},{"id":1603713600,"open":13138.8,"close":13149.8,"high":13200.0,"low":13100.0,"amount":5.154,"vol":5154,"trade_turnover":67694.652,"count":188},{"id":1603717200,"open":13150.0,"close":13205.8,"high":13351.5,"low":13133.1,"amount":35.608,"vol":35608,"trade_turnover":472780.3394,"count":328},{"id":1603720800,"open":13203.0,"close":13166.1,"high":13280.0,"low":13144.1,"amount":31.748,"vol":31748,"trade_turnover":418744.5588,"count":235},{"id":1603724400,"open":13159.0,"close":12978.0,"high":13165.2,"low":12903.8,"amount":36.53,"vol":36530,"trade_turnover":476940.3296,"count":384},{"id":1603728000,"open":12965.0,"close":12869.6,"high":13069.8,"low":12850.5,"amount":35.018,"vol":35018,"trade_turnover":453288.918,"count":323},{"id":1603731600,"open":12879.2,"close":12873.8,"high":12941.5,"low":12583.9,"amount":92.628,"vol":92628,"trade_turnover":1185973.467,"count":560},{"id":1603735200,"open":12856.2,"close":12946.8,"high":12954.5,"low":12820.4,"amount":4.302,"vol":4302,"trade_turnover":55481.0054,"count":128},{"id":1603738800,"open":12945.6,"close":12953.4,"high":12953.5,"low":12914.1,"amount":13.83,"vol":13830,"trade_turnover":179112.1598,"count":118},{"id":1603742400,"open":12953.5,"close":12983.4,"high":13007.5,"low":12953.5,"amount":17.172,"vol":17172,"trade_turnover":223230.2122,"count":132},{"id":1603746000,"open":12983.1,"close":12993.8,"high":13007.5,"low":12982.7,"amount":3.212,"vol":3212,"trade_turnover":41767.8906,"count":59},{"id":1603749600,"open":13002.1,"close":13007.5,"high":13007.5,"low":12974.0,"amount":1.504,"vol":1504,"trade_turnover":19543.3568,"count":74},{"id":1603753200,"open":13007.5,"close":13033.7,"high":13061.2,"low":13007.5,"amount":3.454,"vol":3454,"trade_turnover":45001.601,"count":101},{"id":1603756800,"open":13029.2,"close":13067.1,"high":13105.0,"low":13028.3,"amount":8.784,"vol":8784,"trade_turnover":114871.8246,"count":98},{"id":1603760400,"open":13074.3,"close":13061.7,"high":13074.4,"low":13051.5,"amount":11.592,"vol":11592,"trade_turnover":151386.9038,"count":66},{"id":1603764000,"open":13061.7,"close":13049.7,"high":13097.6,"low":13040.1,"amount":19.298,"vol":19298,"trade_turnover":252061.019,"count":109},{"id":1603767600,"open":13057.6,"close":13070.4,"high":13080.0,"low":13057.1,"amount":22.992,"vol":22992,"trade_turnover":300453.9788,"count":69},{"id":1603771200,"open":13080.0,"close":13103.3,"high":13175.0,"low":13079.6,"amount":14.396,"vol":14396,"trade_turnover":188461.9156,"count":59},{"id":1603774800,"open":13121.3,"close":13073.6,"high":13121.3,"low":13069.7,"amount":5.058,"vol":5058,"trade_turnover":66201.3552,"count":44},{"id":1603778400,"open":13074.9,"close":13103.4,"high":13149.0,"low":13069.6,"amount":9.106,"vol":9106,"trade_turnover":119104.8906,"count":107},{"id":1603782000,"open":13103.3,"close":13130.0,"high":13169.8,"low":12992.4,"amount":73.95,"vol":73950,"trade_turnover":968195.155,"count":305},{"id":1603785600,"open":13135.1,"close":13123.8,"high":13148.4,"low":13044.0,"amount":18.732,"vol":18732,"trade_turnover":245533.5448,"count":135},{"id":1603789200,"open":13115.5,"close":13131.7,"high":13131.8,"low":13075.7,"amount":13.756,"vol":13756,"trade_turnover":180253.7708,"count":102},{"id":1603792800,"open":13134.8,"close":13216.9,"high":13252.0,"low":13063.4,"amount":154.108,"vol":154108,"trade_turnover":2029983.656,"count":525},{"id":1603796400,"open":13218.8,"close":13395.8,"high":13590.1,"low":13213.5,"amount":170.09,"vol":170090,"trade_turnover":2276279.742,"count":591},{"id":1603800000,"open":13395.9,"close":13376.9,"high":13414.0,"low":13331.7,"amount":48.928,"vol":48928,"trade_turnover":654585.9108,"count":216},{"id":1603803600,"open":13376.5,"close":13384.3,"high":13490.9,"low":13329.8,"amount":63.294,"vol":63294,"trade_turnover":848130.9212,"count":316},{"id":1603807200,"open":13392.6,"close":13398.2,"high":13415.8,"low":13344.8,"amount":12.892,"vol":12892,"trade_turnover":172618.6864,"count":124},{"id":1603810800,"open":13398.2,"close":13598.5,"high":13626.7,"low":13398.2,"amount":93.22,"vol":93220,"trade_turnover":1262695.5466,"count":476},{"id":1603814400,"open":13595.8,"close":13639.9,"high":13639.9,"low":13520.2,"amount":85.45,"vol":85450,"trade_turnover":1161481.4136,"count":435},{"id":1603818000,"open":13640.0,"close":13688.1,"high":13826.7,"low":13589.0,"amount":191.812,"vol":191812,"trade_turnover":2628428.3788,"count":711},{"id":1603821600,"open":13685.0,"close":13630.1,"high":13745.0,"low":13528.2,"amount":65.434,"vol":65434,"trade_turnover":891541.8394,"count":410},{"id":1603825200,"open":13629.4,"close":13637.1,"high":13659.8,"low":13595.4,"amount":5.788,"vol":5788,"trade_turnover":78836.2578,"count":65},{"id":1603828800,"open":13644.4,"close":13616.6,"high":13805.1,"low":13582.6,"amount":163.104,"vol":163104,"trade_turnover":2234040.3544,"count":537},{"id":1603832400,"open":13609.8,"close":13705.5,"high":13753.5,"low":13609.8,"amount":9.884,"vol":9884,"trade_turnover":135406.4752,"count":101},{"id":1603836000,"open":13705.4,"close":13739.9,"high":13739.9,"low":13658.2,"amount":7.436,"vol":7436,"trade_turnover":101840.3508,"count":100},{"id":1603839600,"open":13739.9,"close":13649.6,"high":13794.6,"low":13582.6,"amount":17.086,"vol":17086,"trade_turnover":233971.8448,"count":234},{"id":1603843200,"open":13645.9,"close":13701.7,"high":13745.2,"low":13618.8,"amount":24.108,"vol":24108,"trade_turnover":330206.5694,"count":177},{"id":1603846800,"open":13702.1,"close":13702.6,"high":13725.6,"low":13647.9,"amount":15.892,"vol":15892,"trade_turnover":217816.7008,"count":151},{"id":1603850400,"open":13701.7,"close":13811.6,"high":13832.2,"low":13680.2,"amount":46.548,"vol":46548,"trade_turnover":640636.0352,"count":274},{"id":1603854000,"open":13818.5,"close":13777.0,"high":13820.3,"low":13717.5,"amount":67.896,"vol":67896,"trade_turnover":935838.2238,"count":320},{"id":1603857600,"open":13767.3,"close":13735.7,"high":13807.2,"low":13710.0,"amount":33.156,"vol":33156,"trade_turnover":455941.234,"count":210},{"id":1603861200,"open":13735.5,"close":13715.8,"high":13753.9,"low":13671.3,"amount":32.076,"vol":32076,"trade_turnover":439612.64,"count":198},{"id":1603864800,"open":13715.9,"close":13701.3,"high":13757.0,"low":13694.9,"amount":14.756,"vol":14756,"trade_turnover":202602.5164,"count":122},{"id":1603868400,"open":13701.2,"close":13674.2,"high":13708.7,"low":13550.0,"amount":155.534,"vol":155534,"trade_turnover":2117935.0928,"count":635},{"id":1603872000,"open":13673.0,"close":13691.7,"high":13691.7,"low":13584.0,"amount":29.846,"vol":29846,"trade_turnover":407073.1398,"count":240},{"id":1603875600,"open":13689.3,"close":13587.1,"high":13707.5,"low":13573.5,"amount":104.542,"vol":104542,"trade_turnover":1425079.9344,"count":377},{"id":1603879200,"open":13584.6,"close":13552.7,"high":13618.0,"low":13504.7,"amount":73.818,"vol":73818,"trade_turnover":1001666.0908,"count":358},{"id":1603882800,"open":13552.6,"close":13336.4,"high":13565.4,"low":13330.0,"amount":176.544,"vol":176544,"trade_turnover":2369166.1492,"count":1004},{"id":1603886400,"open":13331.5,"close":13300.3,"high":13385.0,"low":13173.9,"amount":289.73,"vol":289730,"trade_turnover":3846751.7166,"count":968},{"id":1603890000,"open":13300.2,"close":13129.9,"high":13340.0,"low":13122.9,"amount":139.822,"vol":139822,"trade_turnover":1848876.932,"count":612},{"id":1603893600,"open":13123.4,"close":13082.2,"high":13168.2,"low":12915.9,"amount":367.876,"vol":367876,"trade_turnover":4802516.9818,"count":1168},{"id":1603897200,"open":13077.1,"close":13221.2,"high":13235.2,"low":13052.3,"amount":84.044,"vol":84044,"trade_turnover":1106883.1282,"count":375},{"id":1603900800,"open":13218.7,"close":13145.1,"high":13218.7,"low":13050.0,"amount":29.566,"vol":29566,"trade_turnover":388697.4104,"count":244},{"id":1603904400,"open":13145.1,"close":13176.7,"high":13204.9,"low":13006.6,"amount":53.336,"vol":53336,"trade_turnover":700385.2784,"count":299},{"id":1603908000,"open":13171.0,"close":13196.5,"high":13219.6,"low":13131.0,"amount":34.164,"vol":34164,"trade_turnover":450210.5778,"count":218},{"id":1603911600,"open":13200.0,"close":13154.9,"high":13237.4,"low":13145.0,"amount":22.158,"vol":22158,"trade_turnover":292020.0438,"count":185},{"id":1603915200,"open":13154.5,"close":13198.1,"high":13211.8,"low":13147.4,"amount":4.548,"vol":4548,"trade_turnover":59991.1118,"count":75},{"id":1603918800,"open":13193.5,"close":13190.1,"high":13196.5,"low":13100.2,"amount":3.52,"vol":3520,"trade_turnover":46175.428,"count":68},{"id":1603922400,"open":13185.4,"close":13252.0,"high":13267.5,"low":13185.4,"amount":3.122,"vol":3122,"trade_turnover":41304.2018,"count":72},{"id":1603926000,"open":13242.1,"close":13265.9,"high":13282.3,"low":13235.9,"amount":14.768,"vol":14768,"trade_turnover":195689.0764,"count":86},{"id":1603929600,"open":13253.9,"close":13245.1,"high":13294.7,"low":13237.4,"amount":19.968,"vol":19968,"trade_turnover":264834.1944,"count":98},{"id":1603933200,"open":13244.6,"close":13274.2,"high":13285.3,"low":13166.3,"amount":35.282,"vol":35282,"trade_turnover":465789.6302,"count":192},{"id":1603936800,"open":13275.9,"close":13241.1,"high":13277.7,"low":13212.2,"amount":9.748,"vol":9748,"trade_turnover":129016.0684,"count":119},{"id":1603940400,"open":13237.1,"close":13262.5,"high":13262.5,"low":13174.6,"amount":27.3,"vol":27300,"trade_turnover":360589.8982,"count":199},{"id":1603944000,"open":13269.1,"close":13229.5,"high":13277.7,"low":13229.5,"amount":18.904,"vol":18904,"trade_turnover":250713.2812,"count":109},{"id":1603947600,"open":13228.5,"close":13274.8,"high":13274.8,"low":13228.5,"amount":15.822,"vol":15822,"trade_turnover":209781.909,"count":134},{"id":1603951200,"open":13274.8,"close":13255.0,"high":13323.0,"low":13242.3,"amount":91.246,"vol":91246,"trade_turnover":1211271.2788,"count":294},{"id":1603954800,"open":13255.0,"close":13142.4,"high":13269.3,"low":13123.1,"amount":187.622,"vol":187622,"trade_turnover":2478299.7074,"count":506},{"id":1603958400,"open":13145.9,"close":13124.8,"high":13182.4,"low":13094.1,"amount":69.532,"vol":69532,"trade_turnover":914157.2418,"count":226},{"id":1603962000,"open":13129.5,"close":13183.7,"high":13197.1,"low":13129.5,"amount":23.184,"vol":23184,"trade_turnover":305485.9524,"count":141},{"id":1603965600,"open":13184.8,"close":13105.2,"high":13187.5,"low":13053.1,"amount":121.146,"vol":121146,"trade_turnover":1590026.4416,"count":442},{"id":1603969200,"open":13105.1,"close":13060.1,"high":13171.4,"low":13060.1,"amount":47.498,"vol":47498,"trade_turnover":623578.149,"count":262},{"id":1603972800,"open":13056.9,"close":13131.8,"high":13145.8,"low":12977.9,"amount":126.552,"vol":126552,"trade_turnover":1652549.311,"count":481},{"id":1603976400,"open":13131.7,"close":13230.0,"high":13237.2,"low":13102.0,"amount":100.482,"vol":100482,"trade_turnover":1326403.7206,"count":325},{"id":1603980000,"open":13231.0,"close":13420.8,"high":13476.1,"low":13231.0,"amount":253.258,"vol":253258,"trade_turnover":3384941.438,"count":752},{"id":1603983600,"open":13416.0,"close":13420.6,"high":13458.7,"low":13358.7,"amount":64.71,"vol":64710,"trade_turnover":869052.3804,"count":269},{"id":1603987200,"open":13421.9,"close":13535.9,"high":13594.5,"low":13391.8,"amount":120.24,"vol":120240,"trade_turnover":1626567.8278,"count":570}]} +2024-01-18 11:12:54.794 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:41] - 请求 KLine 数据解析之后的数据为:{"wsid":19750305,"data":[{"amount":0.276,"high":12300.0,"vol":276,"low":11715.8,"count":39,"id":1603270800,"close":12196.7,"tradeTurnover":3315.9104,"open":12198.0},{"amount":0.198,"high":12289.9,"vol":198,"low":12111.0,"count":21,"id":1603274400,"close":12277.9,"tradeTurnover":2420.7728,"open":12196.7},{"amount":0.012,"high":12277.9,"vol":12,"low":12000.0,"count":5,"id":1603278000,"close":12000.0,"tradeTurnover":145.2238,"open":12111.0},{"amount":0.084,"high":12498.0,"vol":84,"low":12078.0,"count":12,"id":1603281600,"close":12497.4,"tradeTurnover":1040.0504,"open":12078.0},{"amount":1.122,"high":12495.6,"vol":1122,"low":12282.9,"count":112,"id":1603285200,"close":12373.5,"tradeTurnover":13905.3124,"open":12495.6},{"amount":5.29,"high":12807.6,"vol":5290,"low":12358.1,"count":155,"id":1603288800,"close":12689.9,"tradeTurnover":66852.128,"open":12412.9},{"amount":1.174,"high":12778.7,"vol":1174,"low":12573.2,"count":113,"id":1603292400,"close":12701.9,"tradeTurnover":14907.367,"open":12692.8},{"amount":1.156,"high":12920.9,"vol":1156,"low":12624.8,"count":115,"id":1603296000,"close":12835.9,"tradeTurnover":14802.449,"open":12679.7},{"amount":1.12,"high":12908.3,"vol":1120,"low":12687.5,"count":115,"id":1603299600,"close":12754.2,"tradeTurnover":14345.7324,"open":12848.3},{"amount":1.106,"high":12849.0,"vol":1106,"low":12668.3,"count":114,"id":1603303200,"close":12740.2,"tradeTurnover":14105.3504,"open":12743.7},{"amount":1.032,"high":12843.1,"vol":1032,"low":12597.2,"count":112,"id":1603306800,"close":12650.3,"tradeTurnover":13125.4568,"open":12729.5},{"amount":1.154,"high":12848.4,"vol":1154,"low":12610.2,"count":116,"id":1603310400,"close":12807.0,"tradeTurnover":14680.638,"open":12666.8},{"amount":1.164,"high":13005.1,"vol":1164,"low":12748.2,"count":114,"id":1603314000,"close":12938.9,"tradeTurnover":14976.9366,"open":12866.0},{"amount":1.174,"high":13211.2,"vol":1174,"low":12865.7,"count":114,"id":1603317600,"close":13122.0,"tradeTurnover":15285.2446,"open":12921.0},{"amount":1.172,"high":13173.2,"vol":1172,"low":12688.6,"count":117,"id":1603321200,"close":12829.8,"tradeTurnover":15060.9938,"open":13153.2},{"amount":1.17,"high":12988.1,"vol":1170,"low":12764.4,"count":117,"id":1603324800,"close":12885.9,"tradeTurnover":15046.2046,"open":12793.1},{"amount":1.158,"high":12972.6,"vol":1158,"low":12757.5,"count":118,"id":1603328400,"close":12757.5,"tradeTurnover":14882.4656,"open":12860.4},{"amount":1.124,"high":12848.0,"vol":1124,"low":12729.0,"count":115,"id":1603332000,"close":12788.8,"tradeTurnover":14368.7948,"open":12824.1},{"amount":1.194,"high":12834.4,"vol":1194,"low":12729.0,"count":111,"id":1603335600,"close":12767.2,"tradeTurnover":15268.9298,"open":12791.7},{"amount":1.152,"high":12778.3,"vol":1152,"low":12729.0,"count":115,"id":1603339200,"close":12762.2,"tradeTurnover":14695.4876,"open":12729.0},{"amount":1.21,"high":12842.0,"vol":1210,"low":12730.6,"count":119,"id":1603342800,"close":12813.8,"tradeTurnover":15440.8162,"open":12763.1},{"amount":1.188,"high":12795.0,"vol":1188,"low":12728.0,"count":123,"id":1603346400,"close":12729.1,"tradeTurnover":15128.0098,"open":12795.0},{"amount":1.266,"high":12730.6,"vol":1266,"low":12728.3,"count":112,"id":1603350000,"close":12730.6,"tradeTurnover":16115.1306,"open":12728.6},{"amount":1.35,"high":12921.5,"vol":1350,"low":12729.9,"count":127,"id":1603353600,"close":12770.1,"tradeTurnover":17233.7326,"open":12730.3},{"amount":0.98,"high":12872.1,"vol":980,"low":12760.1,"count":99,"id":1603357200,"close":12780.4,"tradeTurnover":12553.9826,"open":12824.9},{"amount":0.266,"high":13002.7,"vol":266,"low":12775.6,"count":30,"id":1603360800,"close":12934.2,"tradeTurnover":3415.023,"open":12784.9},{"amount":1.004,"high":13057.0,"vol":1004,"low":12886.6,"count":117,"id":1603364400,"close":13045.0,"tradeTurnover":13020.8576,"open":12977.0},{"amount":1.134,"high":12973.4,"vol":1134,"low":12751.6,"count":111,"id":1603368000,"close":12847.9,"tradeTurnover":14594.2752,"open":12958.5},{"amount":1.152,"high":13000.8,"vol":1152,"low":12743.0,"count":114,"id":1603371600,"close":12931.0,"tradeTurnover":14877.7314,"open":12882.7},{"amount":1.182,"high":12995.3,"vol":1182,"low":12783.9,"count":115,"id":1603375200,"close":12917.8,"tradeTurnover":15224.4716,"open":12890.4},{"amount":1.176,"high":13031.2,"vol":1176,"low":12817.9,"count":117,"id":1603378800,"close":12953.0,"tradeTurnover":15197.208,"open":12918.8},{"amount":1.146,"high":13100.2,"vol":1146,"low":12865.6,"count":119,"id":1603382400,"close":13055.6,"tradeTurnover":14851.9604,"open":12923.1},{"amount":1.534,"high":13105.7,"vol":1534,"low":12835.5,"count":124,"id":1603386000,"close":13082.7,"tradeTurnover":19927.8288,"open":12967.6},{"amount":1.268,"high":13115.0,"vol":1268,"low":12938.7,"count":117,"id":1603389600,"close":13016.4,"tradeTurnover":16505.4738,"open":13020.4},{"amount":1.13,"high":13171.2,"vol":1130,"low":12961.8,"count":112,"id":1603393200,"close":12970.6,"tradeTurnover":14762.952,"open":13028.3},{"amount":1.206,"high":13216.1,"vol":1206,"low":12998.5,"count":117,"id":1603396800,"close":13089.3,"tradeTurnover":15807.1226,"open":13016.7},{"amount":1.332,"high":13203.7,"vol":1332,"low":12932.9,"count":114,"id":1603400400,"close":13092.0,"tradeTurnover":17423.4422,"open":13136.0},{"amount":1.21,"high":13250.5,"vol":1210,"low":12984.7,"count":114,"id":1603404000,"close":13055.9,"tradeTurnover":15876.0632,"open":13119.4},{"amount":1.286,"high":13126.5,"vol":1286,"low":12857.2,"count":116,"id":1603407600,"close":12890.4,"tradeTurnover":16688.422,"open":13059.4},{"amount":1.502,"high":12994.0,"vol":1502,"low":12751.6,"count":131,"id":1603411200,"close":12892.2,"tradeTurnover":19331.1596,"open":12929.7},{"amount":1.386,"high":13003.2,"vol":1386,"low":12786.0,"count":121,"id":1603414800,"close":12898.3,"tradeTurnover":17904.8902,"open":12921.7},{"amount":1.416,"high":13054.0,"vol":1416,"low":12800.7,"count":122,"id":1603418400,"close":12975.1,"tradeTurnover":18306.6204,"open":12951.6},{"amount":1.19,"high":13030.7,"vol":1190,"low":12875.0,"count":118,"id":1603422000,"close":12947.0,"tradeTurnover":15409.7984,"open":12967.3},{"amount":1.022,"high":13047.3,"vol":1022,"low":12832.8,"count":127,"id":1603425600,"close":12852.0,"tradeTurnover":13214.4388,"open":12925.2},{"amount":0.478,"high":12991.7,"vol":478,"low":12841.2,"count":118,"id":1603429200,"close":12931.1,"tradeTurnover":6180.2486,"open":12859.0},{"amount":0.522,"high":13014.1,"vol":522,"low":12871.9,"count":132,"id":1603432800,"close":12939.6,"tradeTurnover":6759.0324,"open":12935.9},{"amount":0.476,"high":12998.9,"vol":476,"low":12917.1,"count":118,"id":1603436400,"close":12925.4,"tradeTurnover":6163.3118,"open":12923.1},{"amount":0.508,"high":13014.0,"vol":508,"low":12916.1,"count":122,"id":1603440000,"close":12962.6,"tradeTurnover":6585.3656,"open":12942.2},{"amount":0.564,"high":13012.5,"vol":564,"low":12909.9,"count":124,"id":1603443600,"close":12926.4,"tradeTurnover":7308.8828,"open":12970.5},{"amount":0.536,"high":13059.5,"vol":536,"low":12925.7,"count":124,"id":1603447200,"close":13007.7,"tradeTurnover":6957.8796,"open":13001.2},{"amount":0.486,"high":13078.4,"vol":486,"low":12906.5,"count":122,"id":1603450800,"close":12970.6,"tradeTurnover":6326.1434,"open":13025.4},{"amount":0.494,"high":13025.0,"vol":494,"low":12850.8,"count":117,"id":1603454400,"close":12935.4,"tradeTurnover":6396.0984,"open":12963.9},{"amount":0.466,"high":13043.3,"vol":466,"low":12911.0,"count":117,"id":1603458000,"close":12951.7,"tradeTurnover":6049.1412,"open":12913.3},{"amount":0.46,"high":13006.4,"vol":460,"low":12840.4,"count":116,"id":1603461600,"close":12858.8,"tradeTurnover":5941.815,"open":12999.6},{"amount":0.492,"high":12932.9,"vol":492,"low":12826.5,"count":117,"id":1603465200,"close":12881.9,"tradeTurnover":6340.214,"open":12885.7},{"amount":0.484,"high":12933.5,"vol":484,"low":12744.4,"count":123,"id":1603468800,"close":12784.1,"tradeTurnover":6205.4138,"open":12854.4},{"amount":0.562,"high":12893.1,"vol":562,"low":12730.1,"count":152,"id":1603472400,"close":12847.7,"tradeTurnover":7218.9184,"open":12832.3},{"amount":0.53,"high":12939.3,"vol":530,"low":12751.4,"count":128,"id":1603476000,"close":12915.7,"tradeTurnover":6825.7004,"open":12874.1},{"amount":0.444,"high":12972.9,"vol":444,"low":12786.6,"count":117,"id":1603479600,"close":12972.9,"tradeTurnover":5727.7452,"open":12867.9},{"amount":0.492,"high":13002.2,"vol":492,"low":12842.9,"count":116,"id":1603483200,"close":12991.6,"tradeTurnover":6375.1566,"open":12956.7},{"amount":0.5,"high":13004.3,"vol":500,"low":12936.6,"count":125,"id":1603486800,"close":12943.5,"tradeTurnover":6485.468,"open":13004.3},{"amount":0.492,"high":13010.3,"vol":492,"low":12884.7,"count":120,"id":1603490400,"close":12989.2,"tradeTurnover":6376.1492,"open":12923.6},{"amount":0.51,"high":13024.4,"vol":510,"low":12884.6,"count":121,"id":1603494000,"close":12884.6,"tradeTurnover":6622.3406,"open":12974.9},{"amount":0.488,"high":13018.3,"vol":488,"low":12811.1,"count":120,"id":1603497600,"close":12953.9,"tradeTurnover":6317.7938,"open":12973.7},{"amount":0.482,"high":13018.1,"vol":482,"low":12872.8,"count":117,"id":1603501200,"close":12934.2,"tradeTurnover":6242.4178,"open":12927.5},{"amount":0.484,"high":13003.9,"vol":484,"low":12903.3,"count":117,"id":1603504800,"close":12989.1,"tradeTurnover":6278.1756,"open":12971.9},{"amount":0.474,"high":13013.4,"vol":474,"low":12938.3,"count":122,"id":1603508400,"close":12975.9,"tradeTurnover":6157.7096,"open":13000.1},{"amount":0.526,"high":13009.4,"vol":526,"low":12905.5,"count":124,"id":1603512000,"close":12963.3,"tradeTurnover":6831.5658,"open":12989.7},{"amount":0.522,"high":13041.8,"vol":522,"low":12875.3,"count":127,"id":1603515600,"close":12989.7,"tradeTurnover":6768.8994,"open":12910.5},{"amount":0.49,"high":13058.1,"vol":490,"low":12908.8,"count":120,"id":1603519200,"close":13003.6,"tradeTurnover":6370.5714,"open":12994.7},{"amount":0.478,"high":13037.8,"vol":478,"low":12981.7,"count":120,"id":1603522800,"close":13004.2,"tradeTurnover":6218.9722,"open":13011.9},{"amount":0.52,"high":13030.6,"vol":520,"low":12899.4,"count":124,"id":1603526400,"close":12998.2,"tradeTurnover":6754.958,"open":13003.0},{"amount":0.454,"high":13020.3,"vol":454,"low":12893.6,"count":115,"id":1603530000,"close":12990.6,"tradeTurnover":5891.0574,"open":12998.2},{"amount":0.502,"high":13059.1,"vol":502,"low":12913.2,"count":124,"id":1603533600,"close":13030.1,"tradeTurnover":6525.9004,"open":12996.4},{"amount":0.468,"high":13068.3,"vol":468,"low":12940.2,"count":119,"id":1603537200,"close":13033.2,"tradeTurnover":6091.0376,"open":12988.4},{"amount":0.468,"high":13071.8,"vol":468,"low":12978.9,"count":123,"id":1603540800,"close":13006.5,"tradeTurnover":6102.5902,"open":13035.3},{"amount":0.534,"high":13066.7,"vol":534,"low":12928.1,"count":123,"id":1603544400,"close":12985.9,"tradeTurnover":6950.4268,"open":13038.8},{"amount":0.47,"high":13100.1,"vol":470,"low":12960.5,"count":100,"id":1603548000,"close":13042.0,"tradeTurnover":6124.2178,"open":12986.3},{"amount":0.456,"high":13196.5,"vol":456,"low":13038.4,"count":120,"id":1603551600,"close":13102.2,"tradeTurnover":5989.6362,"open":13038.4},{"amount":0.458,"high":13176.6,"vol":458,"low":12984.6,"count":121,"id":1603555200,"close":13052.7,"tradeTurnover":5976.331,"open":13136.8},{"amount":0.452,"high":13177.8,"vol":452,"low":13003.2,"count":118,"id":1603558800,"close":13177.8,"tradeTurnover":5911.7058,"open":13006.2},{"amount":0.468,"high":13170.7,"vol":468,"low":13023.0,"count":119,"id":1603562400,"close":13080.8,"tradeTurnover":6122.375,"open":13127.7},{"amount":0.468,"high":13179.3,"vol":468,"low":13014.2,"count":120,"id":1603566000,"close":13148.4,"tradeTurnover":6126.4278,"open":13040.7},{"amount":0.47,"high":13179.6,"vol":470,"low":12992.5,"count":119,"id":1603569600,"close":13090.1,"tradeTurnover":6151.4758,"open":13073.5},{"amount":0.458,"high":13148.7,"vol":458,"low":12980.7,"count":117,"id":1603573200,"close":12993.9,"tradeTurnover":5981.071,"open":13035.4},{"amount":0.478,"high":13112.1,"vol":478,"low":12975.6,"count":118,"id":1603576800,"close":13041.1,"tradeTurnover":6225.4216,"open":13040.7},{"amount":0.472,"high":13184.3,"vol":472,"low":13009.3,"count":118,"id":1603580400,"close":13184.3,"tradeTurnover":6173.4244,"open":13012.6},{"amount":0.46,"high":13170.4,"vol":460,"low":13007.7,"count":115,"id":1603584000,"close":13154.3,"tradeTurnover":6024.09,"open":13080.8},{"amount":0.398,"high":13196.8,"vol":398,"low":13024.0,"count":102,"id":1603587600,"close":13196.1,"tradeTurnover":5217.5364,"open":13092.0},{"amount":0.476,"high":13175.1,"vol":476,"low":13035.0,"count":120,"id":1603591200,"close":13082.4,"tradeTurnover":6228.6596,"open":13124.7},{"amount":0.578,"high":13383.8,"vol":578,"low":13049.1,"count":137,"id":1603594800,"close":13259.0,"tradeTurnover":7629.3886,"open":13049.1},{"amount":0.47,"high":13369.0,"vol":470,"low":13216.0,"count":122,"id":1603598400,"close":13243.4,"tradeTurnover":6247.955,"open":13277.0},{"amount":0.61,"high":13353.3,"vol":610,"low":13010.1,"count":134,"id":1603602000,"close":13017.3,"tradeTurnover":8048.8598,"open":13285.3},{"amount":0.486,"high":13105.7,"vol":486,"low":13018.2,"count":118,"id":1603605600,"close":13060.3,"tradeTurnover":6344.1474,"open":13022.5},{"amount":0.464,"high":13112.1,"vol":464,"low":13022.0,"count":120,"id":1603609200,"close":13078.1,"tradeTurnover":6061.5416,"open":13048.5},{"amount":0.464,"high":13091.0,"vol":464,"low":13017.2,"count":120,"id":1603612800,"close":13046.0,"tradeTurnover":6055.3734,"open":13077.2},{"amount":0.478,"high":13084.0,"vol":478,"low":13014.2,"count":117,"id":1603616400,"close":13040.8,"tradeTurnover":6235.7882,"open":13065.1},{"amount":0.478,"high":13064.2,"vol":478,"low":13010.2,"count":125,"id":1603620000,"close":13028.5,"tradeTurnover":6232.2428,"open":13047.1},{"amount":0.534,"high":13061.5,"vol":534,"low":12852.9,"count":123,"id":1603623600,"close":12897.6,"tradeTurnover":6918.1226,"open":13061.5},{"amount":0.444,"high":13069.7,"vol":444,"low":12893.2,"count":117,"id":1603627200,"close":12964.3,"tradeTurnover":5755.8712,"open":12908.3},{"amount":0.498,"high":13071.9,"vol":498,"low":12891.8,"count":119,"id":1603630800,"close":12949.3,"tradeTurnover":6465.078,"open":13001.3},{"amount":0.468,"high":13077.7,"vol":468,"low":12900.0,"count":116,"id":1603634400,"close":12946.8,"tradeTurnover":6075.4554,"open":12975.8},{"amount":0.47,"high":13069.1,"vol":470,"low":12883.3,"count":119,"id":1603638000,"close":12883.3,"tradeTurnover":6097.1072,"open":12975.2},{"amount":0.482,"high":13067.9,"vol":482,"low":12877.5,"count":118,"id":1603641600,"close":12978.7,"tradeTurnover":6256.4472,"open":12916.2},{"amount":0.47,"high":13087.5,"vol":470,"low":12922.7,"count":117,"id":1603645200,"close":13004.4,"tradeTurnover":6108.3892,"open":13008.0},{"amount":0.468,"high":13067.6,"vol":468,"low":12893.6,"count":118,"id":1603648800,"close":12957.2,"tradeTurnover":6079.1484,"open":12972.8},{"amount":0.442,"high":13066.9,"vol":442,"low":12916.6,"count":118,"id":1603652400,"close":13021.8,"tradeTurnover":5746.5548,"open":12996.5},{"amount":0.508,"high":13081.5,"vol":508,"low":12944.9,"count":120,"id":1603656000,"close":12985.4,"tradeTurnover":6616.9872,"open":12992.9},{"amount":0.508,"high":13068.6,"vol":508,"low":12921.4,"count":122,"id":1603659600,"close":13011.2,"tradeTurnover":6614.816,"open":12999.9},{"amount":0.486,"high":13073.8,"vol":486,"low":12911.9,"count":121,"id":1603663200,"close":12959.4,"tradeTurnover":6320.907,"open":12979.6},{"amount":0.452,"high":13085.2,"vol":452,"low":12927.8,"count":113,"id":1603666800,"close":13032.1,"tradeTurnover":5878.6442,"open":12963.4},{"amount":0.482,"high":13076.7,"vol":482,"low":12918.3,"count":121,"id":1603670400,"close":13001.0,"tradeTurnover":6263.698,"open":12964.2},{"amount":0.478,"high":13096.4,"vol":478,"low":12991.2,"count":124,"id":1603674000,"close":13053.7,"tradeTurnover":6232.2328,"open":13040.0},{"amount":0.488,"high":13185.7,"vol":488,"low":12985.1,"count":121,"id":1603677600,"close":13064.4,"tradeTurnover":6387.534,"open":13060.6},{"amount":0.486,"high":13187.2,"vol":486,"low":12984.1,"count":135,"id":1603681200,"close":13092.8,"tradeTurnover":6369.0272,"open":13032.3},{"amount":0.51,"high":13181.6,"vol":510,"low":12962.3,"count":131,"id":1603684800,"close":13132.6,"tradeTurnover":6679.829,"open":13092.0},{"amount":0.506,"high":13205.3,"vol":506,"low":13025.3,"count":126,"id":1603688400,"close":13092.1,"tradeTurnover":6641.2128,"open":13129.2},{"amount":1.616,"high":13188.1,"vol":1616,"low":12989.8,"count":141,"id":1603692000,"close":13071.4,"tradeTurnover":21170.8224,"open":13121.8},{"amount":3.746,"high":13100.0,"vol":3746,"low":12965.2,"count":110,"id":1603695600,"close":13038.7,"tradeTurnover":48924.8902,"open":13061.0},{"amount":8.966,"high":13102.0,"vol":8966,"low":12852.8,"count":173,"id":1603699200,"close":13039.3,"tradeTurnover":116525.5534,"open":13030.9},{"amount":4.48,"high":13088.4,"vol":4480,"low":13039.8,"count":124,"id":1603702800,"close":13075.9,"tradeTurnover":58521.1714,"open":13047.1},{"amount":4.272,"high":13100.0,"vol":4272,"low":13060.2,"count":130,"id":1603706400,"close":13100.0,"tradeTurnover":55895.9778,"open":13072.1},{"amount":29.798,"high":13159.0,"vol":29798,"low":13100.0,"count":230,"id":1603710000,"close":13138.4,"tradeTurnover":391138.024,"open":13100.0},{"amount":5.154,"high":13200.0,"vol":5154,"low":13100.0,"count":188,"id":1603713600,"close":13149.8,"tradeTurnover":67694.652,"open":13138.8},{"amount":35.608,"high":13351.5,"vol":35608,"low":13133.1,"count":328,"id":1603717200,"close":13205.8,"tradeTurnover":472780.3394,"open":13150.0},{"amount":31.748,"high":13280.0,"vol":31748,"low":13144.1,"count":235,"id":1603720800,"close":13166.1,"tradeTurnover":418744.5588,"open":13203.0},{"amount":36.53,"high":13165.2,"vol":36530,"low":12903.8,"count":384,"id":1603724400,"close":12978.0,"tradeTurnover":476940.3296,"open":13159.0},{"amount":35.018,"high":13069.8,"vol":35018,"low":12850.5,"count":323,"id":1603728000,"close":12869.6,"tradeTurnover":453288.918,"open":12965.0},{"amount":92.628,"high":12941.5,"vol":92628,"low":12583.9,"count":560,"id":1603731600,"close":12873.8,"tradeTurnover":1185973.467,"open":12879.2},{"amount":4.302,"high":12954.5,"vol":4302,"low":12820.4,"count":128,"id":1603735200,"close":12946.8,"tradeTurnover":55481.0054,"open":12856.2},{"amount":13.83,"high":12953.5,"vol":13830,"low":12914.1,"count":118,"id":1603738800,"close":12953.4,"tradeTurnover":179112.1598,"open":12945.6},{"amount":17.172,"high":13007.5,"vol":17172,"low":12953.5,"count":132,"id":1603742400,"close":12983.4,"tradeTurnover":223230.2122,"open":12953.5},{"amount":3.212,"high":13007.5,"vol":3212,"low":12982.7,"count":59,"id":1603746000,"close":12993.8,"tradeTurnover":41767.8906,"open":12983.1},{"amount":1.504,"high":13007.5,"vol":1504,"low":12974.0,"count":74,"id":1603749600,"close":13007.5,"tradeTurnover":19543.3568,"open":13002.1},{"amount":3.454,"high":13061.2,"vol":3454,"low":13007.5,"count":101,"id":1603753200,"close":13033.7,"tradeTurnover":45001.601,"open":13007.5},{"amount":8.784,"high":13105.0,"vol":8784,"low":13028.3,"count":98,"id":1603756800,"close":13067.1,"tradeTurnover":114871.8246,"open":13029.2},{"amount":11.592,"high":13074.4,"vol":11592,"low":13051.5,"count":66,"id":1603760400,"close":13061.7,"tradeTurnover":151386.9038,"open":13074.3},{"amount":19.298,"high":13097.6,"vol":19298,"low":13040.1,"count":109,"id":1603764000,"close":13049.7,"tradeTurnover":252061.019,"open":13061.7},{"amount":22.992,"high":13080.0,"vol":22992,"low":13057.1,"count":69,"id":1603767600,"close":13070.4,"tradeTurnover":300453.9788,"open":13057.6},{"amount":14.396,"high":13175.0,"vol":14396,"low":13079.6,"count":59,"id":1603771200,"close":13103.3,"tradeTurnover":188461.9156,"open":13080.0},{"amount":5.058,"high":13121.3,"vol":5058,"low":13069.7,"count":44,"id":1603774800,"close":13073.6,"tradeTurnover":66201.3552,"open":13121.3},{"amount":9.106,"high":13149.0,"vol":9106,"low":13069.6,"count":107,"id":1603778400,"close":13103.4,"tradeTurnover":119104.8906,"open":13074.9},{"amount":73.95,"high":13169.8,"vol":73950,"low":12992.4,"count":305,"id":1603782000,"close":13130.0,"tradeTurnover":968195.155,"open":13103.3},{"amount":18.732,"high":13148.4,"vol":18732,"low":13044.0,"count":135,"id":1603785600,"close":13123.8,"tradeTurnover":245533.5448,"open":13135.1},{"amount":13.756,"high":13131.8,"vol":13756,"low":13075.7,"count":102,"id":1603789200,"close":13131.7,"tradeTurnover":180253.7708,"open":13115.5},{"amount":154.108,"high":13252.0,"vol":154108,"low":13063.4,"count":525,"id":1603792800,"close":13216.9,"tradeTurnover":2029983.656,"open":13134.8},{"amount":170.09,"high":13590.1,"vol":170090,"low":13213.5,"count":591,"id":1603796400,"close":13395.8,"tradeTurnover":2276279.742,"open":13218.8},{"amount":48.928,"high":13414.0,"vol":48928,"low":13331.7,"count":216,"id":1603800000,"close":13376.9,"tradeTurnover":654585.9108,"open":13395.9},{"amount":63.294,"high":13490.9,"vol":63294,"low":13329.8,"count":316,"id":1603803600,"close":13384.3,"tradeTurnover":848130.9212,"open":13376.5},{"amount":12.892,"high":13415.8,"vol":12892,"low":13344.8,"count":124,"id":1603807200,"close":13398.2,"tradeTurnover":172618.6864,"open":13392.6},{"amount":93.22,"high":13626.7,"vol":93220,"low":13398.2,"count":476,"id":1603810800,"close":13598.5,"tradeTurnover":1262695.5466,"open":13398.2},{"amount":85.45,"high":13639.9,"vol":85450,"low":13520.2,"count":435,"id":1603814400,"close":13639.9,"tradeTurnover":1161481.4136,"open":13595.8},{"amount":191.812,"high":13826.7,"vol":191812,"low":13589.0,"count":711,"id":1603818000,"close":13688.1,"tradeTurnover":2628428.3788,"open":13640.0},{"amount":65.434,"high":13745.0,"vol":65434,"low":13528.2,"count":410,"id":1603821600,"close":13630.1,"tradeTurnover":891541.8394,"open":13685.0},{"amount":5.788,"high":13659.8,"vol":5788,"low":13595.4,"count":65,"id":1603825200,"close":13637.1,"tradeTurnover":78836.2578,"open":13629.4},{"amount":163.104,"high":13805.1,"vol":163104,"low":13582.6,"count":537,"id":1603828800,"close":13616.6,"tradeTurnover":2234040.3544,"open":13644.4},{"amount":9.884,"high":13753.5,"vol":9884,"low":13609.8,"count":101,"id":1603832400,"close":13705.5,"tradeTurnover":135406.4752,"open":13609.8},{"amount":7.436,"high":13739.9,"vol":7436,"low":13658.2,"count":100,"id":1603836000,"close":13739.9,"tradeTurnover":101840.3508,"open":13705.4},{"amount":17.086,"high":13794.6,"vol":17086,"low":13582.6,"count":234,"id":1603839600,"close":13649.6,"tradeTurnover":233971.8448,"open":13739.9},{"amount":24.108,"high":13745.2,"vol":24108,"low":13618.8,"count":177,"id":1603843200,"close":13701.7,"tradeTurnover":330206.5694,"open":13645.9},{"amount":15.892,"high":13725.6,"vol":15892,"low":13647.9,"count":151,"id":1603846800,"close":13702.6,"tradeTurnover":217816.7008,"open":13702.1},{"amount":46.548,"high":13832.2,"vol":46548,"low":13680.2,"count":274,"id":1603850400,"close":13811.6,"tradeTurnover":640636.0352,"open":13701.7},{"amount":67.896,"high":13820.3,"vol":67896,"low":13717.5,"count":320,"id":1603854000,"close":13777.0,"tradeTurnover":935838.2238,"open":13818.5},{"amount":33.156,"high":13807.2,"vol":33156,"low":13710.0,"count":210,"id":1603857600,"close":13735.7,"tradeTurnover":455941.234,"open":13767.3},{"amount":32.076,"high":13753.9,"vol":32076,"low":13671.3,"count":198,"id":1603861200,"close":13715.8,"tradeTurnover":439612.64,"open":13735.5},{"amount":14.756,"high":13757.0,"vol":14756,"low":13694.9,"count":122,"id":1603864800,"close":13701.3,"tradeTurnover":202602.5164,"open":13715.9},{"amount":155.534,"high":13708.7,"vol":155534,"low":13550.0,"count":635,"id":1603868400,"close":13674.2,"tradeTurnover":2117935.0928,"open":13701.2},{"amount":29.846,"high":13691.7,"vol":29846,"low":13584.0,"count":240,"id":1603872000,"close":13691.7,"tradeTurnover":407073.1398,"open":13673.0},{"amount":104.542,"high":13707.5,"vol":104542,"low":13573.5,"count":377,"id":1603875600,"close":13587.1,"tradeTurnover":1425079.9344,"open":13689.3},{"amount":73.818,"high":13618.0,"vol":73818,"low":13504.7,"count":358,"id":1603879200,"close":13552.7,"tradeTurnover":1001666.0908,"open":13584.6},{"amount":176.544,"high":13565.4,"vol":176544,"low":13330.0,"count":1004,"id":1603882800,"close":13336.4,"tradeTurnover":2369166.1492,"open":13552.6},{"amount":289.73,"high":13385.0,"vol":289730,"low":13173.9,"count":968,"id":1603886400,"close":13300.3,"tradeTurnover":3846751.7166,"open":13331.5},{"amount":139.822,"high":13340.0,"vol":139822,"low":13122.9,"count":612,"id":1603890000,"close":13129.9,"tradeTurnover":1848876.932,"open":13300.2},{"amount":367.876,"high":13168.2,"vol":367876,"low":12915.9,"count":1168,"id":1603893600,"close":13082.2,"tradeTurnover":4802516.9818,"open":13123.4},{"amount":84.044,"high":13235.2,"vol":84044,"low":13052.3,"count":375,"id":1603897200,"close":13221.2,"tradeTurnover":1106883.1282,"open":13077.1},{"amount":29.566,"high":13218.7,"vol":29566,"low":13050.0,"count":244,"id":1603900800,"close":13145.1,"tradeTurnover":388697.4104,"open":13218.7},{"amount":53.336,"high":13204.9,"vol":53336,"low":13006.6,"count":299,"id":1603904400,"close":13176.7,"tradeTurnover":700385.2784,"open":13145.1},{"amount":34.164,"high":13219.6,"vol":34164,"low":13131.0,"count":218,"id":1603908000,"close":13196.5,"tradeTurnover":450210.5778,"open":13171.0},{"amount":22.158,"high":13237.4,"vol":22158,"low":13145.0,"count":185,"id":1603911600,"close":13154.9,"tradeTurnover":292020.0438,"open":13200.0},{"amount":4.548,"high":13211.8,"vol":4548,"low":13147.4,"count":75,"id":1603915200,"close":13198.1,"tradeTurnover":59991.1118,"open":13154.5},{"amount":3.52,"high":13196.5,"vol":3520,"low":13100.2,"count":68,"id":1603918800,"close":13190.1,"tradeTurnover":46175.428,"open":13193.5},{"amount":3.122,"high":13267.5,"vol":3122,"low":13185.4,"count":72,"id":1603922400,"close":13252.0,"tradeTurnover":41304.2018,"open":13185.4},{"amount":14.768,"high":13282.3,"vol":14768,"low":13235.9,"count":86,"id":1603926000,"close":13265.9,"tradeTurnover":195689.0764,"open":13242.1},{"amount":19.968,"high":13294.7,"vol":19968,"low":13237.4,"count":98,"id":1603929600,"close":13245.1,"tradeTurnover":264834.1944,"open":13253.9},{"amount":35.282,"high":13285.3,"vol":35282,"low":13166.3,"count":192,"id":1603933200,"close":13274.2,"tradeTurnover":465789.6302,"open":13244.6},{"amount":9.748,"high":13277.7,"vol":9748,"low":13212.2,"count":119,"id":1603936800,"close":13241.1,"tradeTurnover":129016.0684,"open":13275.9},{"amount":27.3,"high":13262.5,"vol":27300,"low":13174.6,"count":199,"id":1603940400,"close":13262.5,"tradeTurnover":360589.8982,"open":13237.1},{"amount":18.904,"high":13277.7,"vol":18904,"low":13229.5,"count":109,"id":1603944000,"close":13229.5,"tradeTurnover":250713.2812,"open":13269.1},{"amount":15.822,"high":13274.8,"vol":15822,"low":13228.5,"count":134,"id":1603947600,"close":13274.8,"tradeTurnover":209781.909,"open":13228.5},{"amount":91.246,"high":13323.0,"vol":91246,"low":13242.3,"count":294,"id":1603951200,"close":13255.0,"tradeTurnover":1211271.2788,"open":13274.8},{"amount":187.622,"high":13269.3,"vol":187622,"low":13123.1,"count":506,"id":1603954800,"close":13142.4,"tradeTurnover":2478299.7074,"open":13255.0},{"amount":69.532,"high":13182.4,"vol":69532,"low":13094.1,"count":226,"id":1603958400,"close":13124.8,"tradeTurnover":914157.2418,"open":13145.9},{"amount":23.184,"high":13197.1,"vol":23184,"low":13129.5,"count":141,"id":1603962000,"close":13183.7,"tradeTurnover":305485.9524,"open":13129.5},{"amount":121.146,"high":13187.5,"vol":121146,"low":13053.1,"count":442,"id":1603965600,"close":13105.2,"tradeTurnover":1590026.4416,"open":13184.8},{"amount":47.498,"high":13171.4,"vol":47498,"low":13060.1,"count":262,"id":1603969200,"close":13060.1,"tradeTurnover":623578.149,"open":13105.1},{"amount":126.552,"high":13145.8,"vol":126552,"low":12977.9,"count":481,"id":1603972800,"close":13131.8,"tradeTurnover":1652549.311,"open":13056.9},{"amount":100.482,"high":13237.2,"vol":100482,"low":13102.0,"count":325,"id":1603976400,"close":13230.0,"tradeTurnover":1326403.7206,"open":13131.7},{"amount":253.258,"high":13476.1,"vol":253258,"low":13231.0,"count":752,"id":1603980000,"close":13420.8,"tradeTurnover":3384941.438,"open":13231.0},{"amount":64.71,"high":13458.7,"vol":64710,"low":13358.7,"count":269,"id":1603983600,"close":13420.6,"tradeTurnover":869052.3804,"open":13416.0},{"amount":120.24,"high":13594.5,"vol":120240,"low":13391.8,"count":570,"id":1603987200,"close":13535.9,"tradeTurnover":1626567.8278,"open":13421.9}],"id":"","rep":"market.BTC-USDT.kline.60min","status":"ok"} +2024-01-18 11:12:55.796 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:39] - 请求 KLine 数据用户收到的原始数据:{"id":"","rep":"market.BTC-USDT.kline.60min","ts":1705547574706,"wsid":19750305,"status":"ok","data":[{"id":1603270800,"open":12198.0,"close":12196.7,"high":12300.0,"low":11715.8,"amount":0.276,"vol":276,"trade_turnover":3315.9104,"count":39},{"id":1603274400,"open":12196.7,"close":12277.9,"high":12289.9,"low":12111.0,"amount":0.198,"vol":198,"trade_turnover":2420.7728,"count":21},{"id":1603278000,"open":12111.0,"close":12000.0,"high":12277.9,"low":12000.0,"amount":0.012,"vol":12,"trade_turnover":145.2238,"count":5},{"id":1603281600,"open":12078.0,"close":12497.4,"high":12498.0,"low":12078.0,"amount":0.084,"vol":84,"trade_turnover":1040.0504,"count":12},{"id":1603285200,"open":12495.6,"close":12373.5,"high":12495.6,"low":12282.9,"amount":1.122,"vol":1122,"trade_turnover":13905.3124,"count":112},{"id":1603288800,"open":12412.9,"close":12689.9,"high":12807.6,"low":12358.1,"amount":5.29,"vol":5290,"trade_turnover":66852.128,"count":155},{"id":1603292400,"open":12692.8,"close":12701.9,"high":12778.7,"low":12573.2,"amount":1.174,"vol":1174,"trade_turnover":14907.367,"count":113},{"id":1603296000,"open":12679.7,"close":12835.9,"high":12920.9,"low":12624.8,"amount":1.156,"vol":1156,"trade_turnover":14802.449,"count":115},{"id":1603299600,"open":12848.3,"close":12754.2,"high":12908.3,"low":12687.5,"amount":1.12,"vol":1120,"trade_turnover":14345.7324,"count":115},{"id":1603303200,"open":12743.7,"close":12740.2,"high":12849.0,"low":12668.3,"amount":1.106,"vol":1106,"trade_turnover":14105.3504,"count":114},{"id":1603306800,"open":12729.5,"close":12650.3,"high":12843.1,"low":12597.2,"amount":1.032,"vol":1032,"trade_turnover":13125.4568,"count":112},{"id":1603310400,"open":12666.8,"close":12807.0,"high":12848.4,"low":12610.2,"amount":1.154,"vol":1154,"trade_turnover":14680.638,"count":116},{"id":1603314000,"open":12866.0,"close":12938.9,"high":13005.1,"low":12748.2,"amount":1.164,"vol":1164,"trade_turnover":14976.9366,"count":114},{"id":1603317600,"open":12921.0,"close":13122.0,"high":13211.2,"low":12865.7,"amount":1.174,"vol":1174,"trade_turnover":15285.2446,"count":114},{"id":1603321200,"open":13153.2,"close":12829.8,"high":13173.2,"low":12688.6,"amount":1.172,"vol":1172,"trade_turnover":15060.9938,"count":117},{"id":1603324800,"open":12793.1,"close":12885.9,"high":12988.1,"low":12764.4,"amount":1.17,"vol":1170,"trade_turnover":15046.2046,"count":117},{"id":1603328400,"open":12860.4,"close":12757.5,"high":12972.6,"low":12757.5,"amount":1.158,"vol":1158,"trade_turnover":14882.4656,"count":118},{"id":1603332000,"open":12824.1,"close":12788.8,"high":12848.0,"low":12729.0,"amount":1.124,"vol":1124,"trade_turnover":14368.7948,"count":115},{"id":1603335600,"open":12791.7,"close":12767.2,"high":12834.4,"low":12729.0,"amount":1.194,"vol":1194,"trade_turnover":15268.9298,"count":111},{"id":1603339200,"open":12729.0,"close":12762.2,"high":12778.3,"low":12729.0,"amount":1.152,"vol":1152,"trade_turnover":14695.4876,"count":115},{"id":1603342800,"open":12763.1,"close":12813.8,"high":12842.0,"low":12730.6,"amount":1.21,"vol":1210,"trade_turnover":15440.8162,"count":119},{"id":1603346400,"open":12795.0,"close":12729.1,"high":12795.0,"low":12728.0,"amount":1.188,"vol":1188,"trade_turnover":15128.0098,"count":123},{"id":1603350000,"open":12728.6,"close":12730.6,"high":12730.6,"low":12728.3,"amount":1.266,"vol":1266,"trade_turnover":16115.1306,"count":112},{"id":1603353600,"open":12730.3,"close":12770.1,"high":12921.5,"low":12729.9,"amount":1.35,"vol":1350,"trade_turnover":17233.7326,"count":127},{"id":1603357200,"open":12824.9,"close":12780.4,"high":12872.1,"low":12760.1,"amount":0.98,"vol":980,"trade_turnover":12553.9826,"count":99},{"id":1603360800,"open":12784.9,"close":12934.2,"high":13002.7,"low":12775.6,"amount":0.266,"vol":266,"trade_turnover":3415.023,"count":30},{"id":1603364400,"open":12977.0,"close":13045.0,"high":13057.0,"low":12886.6,"amount":1.004,"vol":1004,"trade_turnover":13020.8576,"count":117},{"id":1603368000,"open":12958.5,"close":12847.9,"high":12973.4,"low":12751.6,"amount":1.134,"vol":1134,"trade_turnover":14594.2752,"count":111},{"id":1603371600,"open":12882.7,"close":12931.0,"high":13000.8,"low":12743.0,"amount":1.152,"vol":1152,"trade_turnover":14877.7314,"count":114},{"id":1603375200,"open":12890.4,"close":12917.8,"high":12995.3,"low":12783.9,"amount":1.182,"vol":1182,"trade_turnover":15224.4716,"count":115},{"id":1603378800,"open":12918.8,"close":12953.0,"high":13031.2,"low":12817.9,"amount":1.176,"vol":1176,"trade_turnover":15197.208,"count":117},{"id":1603382400,"open":12923.1,"close":13055.6,"high":13100.2,"low":12865.6,"amount":1.146,"vol":1146,"trade_turnover":14851.9604,"count":119},{"id":1603386000,"open":12967.6,"close":13082.7,"high":13105.7,"low":12835.5,"amount":1.534,"vol":1534,"trade_turnover":19927.8288,"count":124},{"id":1603389600,"open":13020.4,"close":13016.4,"high":13115.0,"low":12938.7,"amount":1.268,"vol":1268,"trade_turnover":16505.4738,"count":117},{"id":1603393200,"open":13028.3,"close":12970.6,"high":13171.2,"low":12961.8,"amount":1.13,"vol":1130,"trade_turnover":14762.952,"count":112},{"id":1603396800,"open":13016.7,"close":13089.3,"high":13216.1,"low":12998.5,"amount":1.206,"vol":1206,"trade_turnover":15807.1226,"count":117},{"id":1603400400,"open":13136.0,"close":13092.0,"high":13203.7,"low":12932.9,"amount":1.332,"vol":1332,"trade_turnover":17423.4422,"count":114},{"id":1603404000,"open":13119.4,"close":13055.9,"high":13250.5,"low":12984.7,"amount":1.21,"vol":1210,"trade_turnover":15876.0632,"count":114},{"id":1603407600,"open":13059.4,"close":12890.4,"high":13126.5,"low":12857.2,"amount":1.286,"vol":1286,"trade_turnover":16688.422,"count":116},{"id":1603411200,"open":12929.7,"close":12892.2,"high":12994.0,"low":12751.6,"amount":1.502,"vol":1502,"trade_turnover":19331.1596,"count":131},{"id":1603414800,"open":12921.7,"close":12898.3,"high":13003.2,"low":12786.0,"amount":1.386,"vol":1386,"trade_turnover":17904.8902,"count":121},{"id":1603418400,"open":12951.6,"close":12975.1,"high":13054.0,"low":12800.7,"amount":1.416,"vol":1416,"trade_turnover":18306.6204,"count":122},{"id":1603422000,"open":12967.3,"close":12947.0,"high":13030.7,"low":12875.0,"amount":1.19,"vol":1190,"trade_turnover":15409.7984,"count":118},{"id":1603425600,"open":12925.2,"close":12852.0,"high":13047.3,"low":12832.8,"amount":1.022,"vol":1022,"trade_turnover":13214.4388,"count":127},{"id":1603429200,"open":12859.0,"close":12931.1,"high":12991.7,"low":12841.2,"amount":0.478,"vol":478,"trade_turnover":6180.2486,"count":118},{"id":1603432800,"open":12935.9,"close":12939.6,"high":13014.1,"low":12871.9,"amount":0.522,"vol":522,"trade_turnover":6759.0324,"count":132},{"id":1603436400,"open":12923.1,"close":12925.4,"high":12998.9,"low":12917.1,"amount":0.476,"vol":476,"trade_turnover":6163.3118,"count":118},{"id":1603440000,"open":12942.2,"close":12962.6,"high":13014.0,"low":12916.1,"amount":0.508,"vol":508,"trade_turnover":6585.3656,"count":122},{"id":1603443600,"open":12970.5,"close":12926.4,"high":13012.5,"low":12909.9,"amount":0.564,"vol":564,"trade_turnover":7308.8828,"count":124},{"id":1603447200,"open":13001.2,"close":13007.7,"high":13059.5,"low":12925.7,"amount":0.536,"vol":536,"trade_turnover":6957.8796,"count":124},{"id":1603450800,"open":13025.4,"close":12970.6,"high":13078.4,"low":12906.5,"amount":0.486,"vol":486,"trade_turnover":6326.1434,"count":122},{"id":1603454400,"open":12963.9,"close":12935.4,"high":13025.0,"low":12850.8,"amount":0.494,"vol":494,"trade_turnover":6396.0984,"count":117},{"id":1603458000,"open":12913.3,"close":12951.7,"high":13043.3,"low":12911.0,"amount":0.466,"vol":466,"trade_turnover":6049.1412,"count":117},{"id":1603461600,"open":12999.6,"close":12858.8,"high":13006.4,"low":12840.4,"amount":0.46,"vol":460,"trade_turnover":5941.815,"count":116},{"id":1603465200,"open":12885.7,"close":12881.9,"high":12932.9,"low":12826.5,"amount":0.492,"vol":492,"trade_turnover":6340.214,"count":117},{"id":1603468800,"open":12854.4,"close":12784.1,"high":12933.5,"low":12744.4,"amount":0.484,"vol":484,"trade_turnover":6205.4138,"count":123},{"id":1603472400,"open":12832.3,"close":12847.7,"high":12893.1,"low":12730.1,"amount":0.562,"vol":562,"trade_turnover":7218.9184,"count":152},{"id":1603476000,"open":12874.1,"close":12915.7,"high":12939.3,"low":12751.4,"amount":0.53,"vol":530,"trade_turnover":6825.7004,"count":128},{"id":1603479600,"open":12867.9,"close":12972.9,"high":12972.9,"low":12786.6,"amount":0.444,"vol":444,"trade_turnover":5727.7452,"count":117},{"id":1603483200,"open":12956.7,"close":12991.6,"high":13002.2,"low":12842.9,"amount":0.492,"vol":492,"trade_turnover":6375.1566,"count":116},{"id":1603486800,"open":13004.3,"close":12943.5,"high":13004.3,"low":12936.6,"amount":0.5,"vol":500,"trade_turnover":6485.468,"count":125},{"id":1603490400,"open":12923.6,"close":12989.2,"high":13010.3,"low":12884.7,"amount":0.492,"vol":492,"trade_turnover":6376.1492,"count":120},{"id":1603494000,"open":12974.9,"close":12884.6,"high":13024.4,"low":12884.6,"amount":0.51,"vol":510,"trade_turnover":6622.3406,"count":121},{"id":1603497600,"open":12973.7,"close":12953.9,"high":13018.3,"low":12811.1,"amount":0.488,"vol":488,"trade_turnover":6317.7938,"count":120},{"id":1603501200,"open":12927.5,"close":12934.2,"high":13018.1,"low":12872.8,"amount":0.482,"vol":482,"trade_turnover":6242.4178,"count":117},{"id":1603504800,"open":12971.9,"close":12989.1,"high":13003.9,"low":12903.3,"amount":0.484,"vol":484,"trade_turnover":6278.1756,"count":117},{"id":1603508400,"open":13000.1,"close":12975.9,"high":13013.4,"low":12938.3,"amount":0.474,"vol":474,"trade_turnover":6157.7096,"count":122},{"id":1603512000,"open":12989.7,"close":12963.3,"high":13009.4,"low":12905.5,"amount":0.526,"vol":526,"trade_turnover":6831.5658,"count":124},{"id":1603515600,"open":12910.5,"close":12989.7,"high":13041.8,"low":12875.3,"amount":0.522,"vol":522,"trade_turnover":6768.8994,"count":127},{"id":1603519200,"open":12994.7,"close":13003.6,"high":13058.1,"low":12908.8,"amount":0.49,"vol":490,"trade_turnover":6370.5714,"count":120},{"id":1603522800,"open":13011.9,"close":13004.2,"high":13037.8,"low":12981.7,"amount":0.478,"vol":478,"trade_turnover":6218.9722,"count":120},{"id":1603526400,"open":13003.0,"close":12998.2,"high":13030.6,"low":12899.4,"amount":0.52,"vol":520,"trade_turnover":6754.958,"count":124},{"id":1603530000,"open":12998.2,"close":12990.6,"high":13020.3,"low":12893.6,"amount":0.454,"vol":454,"trade_turnover":5891.0574,"count":115},{"id":1603533600,"open":12996.4,"close":13030.1,"high":13059.1,"low":12913.2,"amount":0.502,"vol":502,"trade_turnover":6525.9004,"count":124},{"id":1603537200,"open":12988.4,"close":13033.2,"high":13068.3,"low":12940.2,"amount":0.468,"vol":468,"trade_turnover":6091.0376,"count":119},{"id":1603540800,"open":13035.3,"close":13006.5,"high":13071.8,"low":12978.9,"amount":0.468,"vol":468,"trade_turnover":6102.5902,"count":123},{"id":1603544400,"open":13038.8,"close":12985.9,"high":13066.7,"low":12928.1,"amount":0.534,"vol":534,"trade_turnover":6950.4268,"count":123},{"id":1603548000,"open":12986.3,"close":13042.0,"high":13100.1,"low":12960.5,"amount":0.47,"vol":470,"trade_turnover":6124.2178,"count":100},{"id":1603551600,"open":13038.4,"close":13102.2,"high":13196.5,"low":13038.4,"amount":0.456,"vol":456,"trade_turnover":5989.6362,"count":120},{"id":1603555200,"open":13136.8,"close":13052.7,"high":13176.6,"low":12984.6,"amount":0.458,"vol":458,"trade_turnover":5976.331,"count":121},{"id":1603558800,"open":13006.2,"close":13177.8,"high":13177.8,"low":13003.2,"amount":0.452,"vol":452,"trade_turnover":5911.7058,"count":118},{"id":1603562400,"open":13127.7,"close":13080.8,"high":13170.7,"low":13023.0,"amount":0.468,"vol":468,"trade_turnover":6122.375,"count":119},{"id":1603566000,"open":13040.7,"close":13148.4,"high":13179.3,"low":13014.2,"amount":0.468,"vol":468,"trade_turnover":6126.4278,"count":120},{"id":1603569600,"open":13073.5,"close":13090.1,"high":13179.6,"low":12992.5,"amount":0.47,"vol":470,"trade_turnover":6151.4758,"count":119},{"id":1603573200,"open":13035.4,"close":12993.9,"high":13148.7,"low":12980.7,"amount":0.458,"vol":458,"trade_turnover":5981.071,"count":117},{"id":1603576800,"open":13040.7,"close":13041.1,"high":13112.1,"low":12975.6,"amount":0.478,"vol":478,"trade_turnover":6225.4216,"count":118},{"id":1603580400,"open":13012.6,"close":13184.3,"high":13184.3,"low":13009.3,"amount":0.472,"vol":472,"trade_turnover":6173.4244,"count":118},{"id":1603584000,"open":13080.8,"close":13154.3,"high":13170.4,"low":13007.7,"amount":0.46,"vol":460,"trade_turnover":6024.09,"count":115},{"id":1603587600,"open":13092.0,"close":13196.1,"high":13196.8,"low":13024.0,"amount":0.398,"vol":398,"trade_turnover":5217.5364,"count":102},{"id":1603591200,"open":13124.7,"close":13082.4,"high":13175.1,"low":13035.0,"amount":0.476,"vol":476,"trade_turnover":6228.6596,"count":120},{"id":1603594800,"open":13049.1,"close":13259.0,"high":13383.8,"low":13049.1,"amount":0.578,"vol":578,"trade_turnover":7629.3886,"count":137},{"id":1603598400,"open":13277.0,"close":13243.4,"high":13369.0,"low":13216.0,"amount":0.47,"vol":470,"trade_turnover":6247.955,"count":122},{"id":1603602000,"open":13285.3,"close":13017.3,"high":13353.3,"low":13010.1,"amount":0.61,"vol":610,"trade_turnover":8048.8598,"count":134},{"id":1603605600,"open":13022.5,"close":13060.3,"high":13105.7,"low":13018.2,"amount":0.486,"vol":486,"trade_turnover":6344.1474,"count":118},{"id":1603609200,"open":13048.5,"close":13078.1,"high":13112.1,"low":13022.0,"amount":0.464,"vol":464,"trade_turnover":6061.5416,"count":120},{"id":1603612800,"open":13077.2,"close":13046.0,"high":13091.0,"low":13017.2,"amount":0.464,"vol":464,"trade_turnover":6055.3734,"count":120},{"id":1603616400,"open":13065.1,"close":13040.8,"high":13084.0,"low":13014.2,"amount":0.478,"vol":478,"trade_turnover":6235.7882,"count":117},{"id":1603620000,"open":13047.1,"close":13028.5,"high":13064.2,"low":13010.2,"amount":0.478,"vol":478,"trade_turnover":6232.2428,"count":125},{"id":1603623600,"open":13061.5,"close":12897.6,"high":13061.5,"low":12852.9,"amount":0.534,"vol":534,"trade_turnover":6918.1226,"count":123},{"id":1603627200,"open":12908.3,"close":12964.3,"high":13069.7,"low":12893.2,"amount":0.444,"vol":444,"trade_turnover":5755.8712,"count":117},{"id":1603630800,"open":13001.3,"close":12949.3,"high":13071.9,"low":12891.8,"amount":0.498,"vol":498,"trade_turnover":6465.078,"count":119},{"id":1603634400,"open":12975.8,"close":12946.8,"high":13077.7,"low":12900.0,"amount":0.468,"vol":468,"trade_turnover":6075.4554,"count":116},{"id":1603638000,"open":12975.2,"close":12883.3,"high":13069.1,"low":12883.3,"amount":0.47,"vol":470,"trade_turnover":6097.1072,"count":119},{"id":1603641600,"open":12916.2,"close":12978.7,"high":13067.9,"low":12877.5,"amount":0.482,"vol":482,"trade_turnover":6256.4472,"count":118},{"id":1603645200,"open":13008.0,"close":13004.4,"high":13087.5,"low":12922.7,"amount":0.47,"vol":470,"trade_turnover":6108.3892,"count":117},{"id":1603648800,"open":12972.8,"close":12957.2,"high":13067.6,"low":12893.6,"amount":0.468,"vol":468,"trade_turnover":6079.1484,"count":118},{"id":1603652400,"open":12996.5,"close":13021.8,"high":13066.9,"low":12916.6,"amount":0.442,"vol":442,"trade_turnover":5746.5548,"count":118},{"id":1603656000,"open":12992.9,"close":12985.4,"high":13081.5,"low":12944.9,"amount":0.508,"vol":508,"trade_turnover":6616.9872,"count":120},{"id":1603659600,"open":12999.9,"close":13011.2,"high":13068.6,"low":12921.4,"amount":0.508,"vol":508,"trade_turnover":6614.816,"count":122},{"id":1603663200,"open":12979.6,"close":12959.4,"high":13073.8,"low":12911.9,"amount":0.486,"vol":486,"trade_turnover":6320.907,"count":121},{"id":1603666800,"open":12963.4,"close":13032.1,"high":13085.2,"low":12927.8,"amount":0.452,"vol":452,"trade_turnover":5878.6442,"count":113},{"id":1603670400,"open":12964.2,"close":13001.0,"high":13076.7,"low":12918.3,"amount":0.482,"vol":482,"trade_turnover":6263.698,"count":121},{"id":1603674000,"open":13040.0,"close":13053.7,"high":13096.4,"low":12991.2,"amount":0.478,"vol":478,"trade_turnover":6232.2328,"count":124},{"id":1603677600,"open":13060.6,"close":13064.4,"high":13185.7,"low":12985.1,"amount":0.488,"vol":488,"trade_turnover":6387.534,"count":121},{"id":1603681200,"open":13032.3,"close":13092.8,"high":13187.2,"low":12984.1,"amount":0.486,"vol":486,"trade_turnover":6369.0272,"count":135},{"id":1603684800,"open":13092.0,"close":13132.6,"high":13181.6,"low":12962.3,"amount":0.51,"vol":510,"trade_turnover":6679.829,"count":131},{"id":1603688400,"open":13129.2,"close":13092.1,"high":13205.3,"low":13025.3,"amount":0.506,"vol":506,"trade_turnover":6641.2128,"count":126},{"id":1603692000,"open":13121.8,"close":13071.4,"high":13188.1,"low":12989.8,"amount":1.616,"vol":1616,"trade_turnover":21170.8224,"count":141},{"id":1603695600,"open":13061.0,"close":13038.7,"high":13100.0,"low":12965.2,"amount":3.746,"vol":3746,"trade_turnover":48924.8902,"count":110},{"id":1603699200,"open":13030.9,"close":13039.3,"high":13102.0,"low":12852.8,"amount":8.966,"vol":8966,"trade_turnover":116525.5534,"count":173},{"id":1603702800,"open":13047.1,"close":13075.9,"high":13088.4,"low":13039.8,"amount":4.48,"vol":4480,"trade_turnover":58521.1714,"count":124},{"id":1603706400,"open":13072.1,"close":13100.0,"high":13100.0,"low":13060.2,"amount":4.272,"vol":4272,"trade_turnover":55895.9778,"count":130},{"id":1603710000,"open":13100.0,"close":13138.4,"high":13159.0,"low":13100.0,"amount":29.798,"vol":29798,"trade_turnover":391138.024,"count":230},{"id":1603713600,"open":13138.8,"close":13149.8,"high":13200.0,"low":13100.0,"amount":5.154,"vol":5154,"trade_turnover":67694.652,"count":188},{"id":1603717200,"open":13150.0,"close":13205.8,"high":13351.5,"low":13133.1,"amount":35.608,"vol":35608,"trade_turnover":472780.3394,"count":328},{"id":1603720800,"open":13203.0,"close":13166.1,"high":13280.0,"low":13144.1,"amount":31.748,"vol":31748,"trade_turnover":418744.5588,"count":235},{"id":1603724400,"open":13159.0,"close":12978.0,"high":13165.2,"low":12903.8,"amount":36.53,"vol":36530,"trade_turnover":476940.3296,"count":384},{"id":1603728000,"open":12965.0,"close":12869.6,"high":13069.8,"low":12850.5,"amount":35.018,"vol":35018,"trade_turnover":453288.918,"count":323},{"id":1603731600,"open":12879.2,"close":12873.8,"high":12941.5,"low":12583.9,"amount":92.628,"vol":92628,"trade_turnover":1185973.467,"count":560},{"id":1603735200,"open":12856.2,"close":12946.8,"high":12954.5,"low":12820.4,"amount":4.302,"vol":4302,"trade_turnover":55481.0054,"count":128},{"id":1603738800,"open":12945.6,"close":12953.4,"high":12953.5,"low":12914.1,"amount":13.83,"vol":13830,"trade_turnover":179112.1598,"count":118},{"id":1603742400,"open":12953.5,"close":12983.4,"high":13007.5,"low":12953.5,"amount":17.172,"vol":17172,"trade_turnover":223230.2122,"count":132},{"id":1603746000,"open":12983.1,"close":12993.8,"high":13007.5,"low":12982.7,"amount":3.212,"vol":3212,"trade_turnover":41767.8906,"count":59},{"id":1603749600,"open":13002.1,"close":13007.5,"high":13007.5,"low":12974.0,"amount":1.504,"vol":1504,"trade_turnover":19543.3568,"count":74},{"id":1603753200,"open":13007.5,"close":13033.7,"high":13061.2,"low":13007.5,"amount":3.454,"vol":3454,"trade_turnover":45001.601,"count":101},{"id":1603756800,"open":13029.2,"close":13067.1,"high":13105.0,"low":13028.3,"amount":8.784,"vol":8784,"trade_turnover":114871.8246,"count":98},{"id":1603760400,"open":13074.3,"close":13061.7,"high":13074.4,"low":13051.5,"amount":11.592,"vol":11592,"trade_turnover":151386.9038,"count":66},{"id":1603764000,"open":13061.7,"close":13049.7,"high":13097.6,"low":13040.1,"amount":19.298,"vol":19298,"trade_turnover":252061.019,"count":109},{"id":1603767600,"open":13057.6,"close":13070.4,"high":13080.0,"low":13057.1,"amount":22.992,"vol":22992,"trade_turnover":300453.9788,"count":69},{"id":1603771200,"open":13080.0,"close":13103.3,"high":13175.0,"low":13079.6,"amount":14.396,"vol":14396,"trade_turnover":188461.9156,"count":59},{"id":1603774800,"open":13121.3,"close":13073.6,"high":13121.3,"low":13069.7,"amount":5.058,"vol":5058,"trade_turnover":66201.3552,"count":44},{"id":1603778400,"open":13074.9,"close":13103.4,"high":13149.0,"low":13069.6,"amount":9.106,"vol":9106,"trade_turnover":119104.8906,"count":107},{"id":1603782000,"open":13103.3,"close":13130.0,"high":13169.8,"low":12992.4,"amount":73.95,"vol":73950,"trade_turnover":968195.155,"count":305},{"id":1603785600,"open":13135.1,"close":13123.8,"high":13148.4,"low":13044.0,"amount":18.732,"vol":18732,"trade_turnover":245533.5448,"count":135},{"id":1603789200,"open":13115.5,"close":13131.7,"high":13131.8,"low":13075.7,"amount":13.756,"vol":13756,"trade_turnover":180253.7708,"count":102},{"id":1603792800,"open":13134.8,"close":13216.9,"high":13252.0,"low":13063.4,"amount":154.108,"vol":154108,"trade_turnover":2029983.656,"count":525},{"id":1603796400,"open":13218.8,"close":13395.8,"high":13590.1,"low":13213.5,"amount":170.09,"vol":170090,"trade_turnover":2276279.742,"count":591},{"id":1603800000,"open":13395.9,"close":13376.9,"high":13414.0,"low":13331.7,"amount":48.928,"vol":48928,"trade_turnover":654585.9108,"count":216},{"id":1603803600,"open":13376.5,"close":13384.3,"high":13490.9,"low":13329.8,"amount":63.294,"vol":63294,"trade_turnover":848130.9212,"count":316},{"id":1603807200,"open":13392.6,"close":13398.2,"high":13415.8,"low":13344.8,"amount":12.892,"vol":12892,"trade_turnover":172618.6864,"count":124},{"id":1603810800,"open":13398.2,"close":13598.5,"high":13626.7,"low":13398.2,"amount":93.22,"vol":93220,"trade_turnover":1262695.5466,"count":476},{"id":1603814400,"open":13595.8,"close":13639.9,"high":13639.9,"low":13520.2,"amount":85.45,"vol":85450,"trade_turnover":1161481.4136,"count":435},{"id":1603818000,"open":13640.0,"close":13688.1,"high":13826.7,"low":13589.0,"amount":191.812,"vol":191812,"trade_turnover":2628428.3788,"count":711},{"id":1603821600,"open":13685.0,"close":13630.1,"high":13745.0,"low":13528.2,"amount":65.434,"vol":65434,"trade_turnover":891541.8394,"count":410},{"id":1603825200,"open":13629.4,"close":13637.1,"high":13659.8,"low":13595.4,"amount":5.788,"vol":5788,"trade_turnover":78836.2578,"count":65},{"id":1603828800,"open":13644.4,"close":13616.6,"high":13805.1,"low":13582.6,"amount":163.104,"vol":163104,"trade_turnover":2234040.3544,"count":537},{"id":1603832400,"open":13609.8,"close":13705.5,"high":13753.5,"low":13609.8,"amount":9.884,"vol":9884,"trade_turnover":135406.4752,"count":101},{"id":1603836000,"open":13705.4,"close":13739.9,"high":13739.9,"low":13658.2,"amount":7.436,"vol":7436,"trade_turnover":101840.3508,"count":100},{"id":1603839600,"open":13739.9,"close":13649.6,"high":13794.6,"low":13582.6,"amount":17.086,"vol":17086,"trade_turnover":233971.8448,"count":234},{"id":1603843200,"open":13645.9,"close":13701.7,"high":13745.2,"low":13618.8,"amount":24.108,"vol":24108,"trade_turnover":330206.5694,"count":177},{"id":1603846800,"open":13702.1,"close":13702.6,"high":13725.6,"low":13647.9,"amount":15.892,"vol":15892,"trade_turnover":217816.7008,"count":151},{"id":1603850400,"open":13701.7,"close":13811.6,"high":13832.2,"low":13680.2,"amount":46.548,"vol":46548,"trade_turnover":640636.0352,"count":274},{"id":1603854000,"open":13818.5,"close":13777.0,"high":13820.3,"low":13717.5,"amount":67.896,"vol":67896,"trade_turnover":935838.2238,"count":320},{"id":1603857600,"open":13767.3,"close":13735.7,"high":13807.2,"low":13710.0,"amount":33.156,"vol":33156,"trade_turnover":455941.234,"count":210},{"id":1603861200,"open":13735.5,"close":13715.8,"high":13753.9,"low":13671.3,"amount":32.076,"vol":32076,"trade_turnover":439612.64,"count":198},{"id":1603864800,"open":13715.9,"close":13701.3,"high":13757.0,"low":13694.9,"amount":14.756,"vol":14756,"trade_turnover":202602.5164,"count":122},{"id":1603868400,"open":13701.2,"close":13674.2,"high":13708.7,"low":13550.0,"amount":155.534,"vol":155534,"trade_turnover":2117935.0928,"count":635},{"id":1603872000,"open":13673.0,"close":13691.7,"high":13691.7,"low":13584.0,"amount":29.846,"vol":29846,"trade_turnover":407073.1398,"count":240},{"id":1603875600,"open":13689.3,"close":13587.1,"high":13707.5,"low":13573.5,"amount":104.542,"vol":104542,"trade_turnover":1425079.9344,"count":377},{"id":1603879200,"open":13584.6,"close":13552.7,"high":13618.0,"low":13504.7,"amount":73.818,"vol":73818,"trade_turnover":1001666.0908,"count":358},{"id":1603882800,"open":13552.6,"close":13336.4,"high":13565.4,"low":13330.0,"amount":176.544,"vol":176544,"trade_turnover":2369166.1492,"count":1004},{"id":1603886400,"open":13331.5,"close":13300.3,"high":13385.0,"low":13173.9,"amount":289.73,"vol":289730,"trade_turnover":3846751.7166,"count":968},{"id":1603890000,"open":13300.2,"close":13129.9,"high":13340.0,"low":13122.9,"amount":139.822,"vol":139822,"trade_turnover":1848876.932,"count":612},{"id":1603893600,"open":13123.4,"close":13082.2,"high":13168.2,"low":12915.9,"amount":367.876,"vol":367876,"trade_turnover":4802516.9818,"count":1168},{"id":1603897200,"open":13077.1,"close":13221.2,"high":13235.2,"low":13052.3,"amount":84.044,"vol":84044,"trade_turnover":1106883.1282,"count":375},{"id":1603900800,"open":13218.7,"close":13145.1,"high":13218.7,"low":13050.0,"amount":29.566,"vol":29566,"trade_turnover":388697.4104,"count":244},{"id":1603904400,"open":13145.1,"close":13176.7,"high":13204.9,"low":13006.6,"amount":53.336,"vol":53336,"trade_turnover":700385.2784,"count":299},{"id":1603908000,"open":13171.0,"close":13196.5,"high":13219.6,"low":13131.0,"amount":34.164,"vol":34164,"trade_turnover":450210.5778,"count":218},{"id":1603911600,"open":13200.0,"close":13154.9,"high":13237.4,"low":13145.0,"amount":22.158,"vol":22158,"trade_turnover":292020.0438,"count":185},{"id":1603915200,"open":13154.5,"close":13198.1,"high":13211.8,"low":13147.4,"amount":4.548,"vol":4548,"trade_turnover":59991.1118,"count":75},{"id":1603918800,"open":13193.5,"close":13190.1,"high":13196.5,"low":13100.2,"amount":3.52,"vol":3520,"trade_turnover":46175.428,"count":68},{"id":1603922400,"open":13185.4,"close":13252.0,"high":13267.5,"low":13185.4,"amount":3.122,"vol":3122,"trade_turnover":41304.2018,"count":72},{"id":1603926000,"open":13242.1,"close":13265.9,"high":13282.3,"low":13235.9,"amount":14.768,"vol":14768,"trade_turnover":195689.0764,"count":86},{"id":1603929600,"open":13253.9,"close":13245.1,"high":13294.7,"low":13237.4,"amount":19.968,"vol":19968,"trade_turnover":264834.1944,"count":98},{"id":1603933200,"open":13244.6,"close":13274.2,"high":13285.3,"low":13166.3,"amount":35.282,"vol":35282,"trade_turnover":465789.6302,"count":192},{"id":1603936800,"open":13275.9,"close":13241.1,"high":13277.7,"low":13212.2,"amount":9.748,"vol":9748,"trade_turnover":129016.0684,"count":119},{"id":1603940400,"open":13237.1,"close":13262.5,"high":13262.5,"low":13174.6,"amount":27.3,"vol":27300,"trade_turnover":360589.8982,"count":199},{"id":1603944000,"open":13269.1,"close":13229.5,"high":13277.7,"low":13229.5,"amount":18.904,"vol":18904,"trade_turnover":250713.2812,"count":109},{"id":1603947600,"open":13228.5,"close":13274.8,"high":13274.8,"low":13228.5,"amount":15.822,"vol":15822,"trade_turnover":209781.909,"count":134},{"id":1603951200,"open":13274.8,"close":13255.0,"high":13323.0,"low":13242.3,"amount":91.246,"vol":91246,"trade_turnover":1211271.2788,"count":294},{"id":1603954800,"open":13255.0,"close":13142.4,"high":13269.3,"low":13123.1,"amount":187.622,"vol":187622,"trade_turnover":2478299.7074,"count":506},{"id":1603958400,"open":13145.9,"close":13124.8,"high":13182.4,"low":13094.1,"amount":69.532,"vol":69532,"trade_turnover":914157.2418,"count":226},{"id":1603962000,"open":13129.5,"close":13183.7,"high":13197.1,"low":13129.5,"amount":23.184,"vol":23184,"trade_turnover":305485.9524,"count":141},{"id":1603965600,"open":13184.8,"close":13105.2,"high":13187.5,"low":13053.1,"amount":121.146,"vol":121146,"trade_turnover":1590026.4416,"count":442},{"id":1603969200,"open":13105.1,"close":13060.1,"high":13171.4,"low":13060.1,"amount":47.498,"vol":47498,"trade_turnover":623578.149,"count":262},{"id":1603972800,"open":13056.9,"close":13131.8,"high":13145.8,"low":12977.9,"amount":126.552,"vol":126552,"trade_turnover":1652549.311,"count":481},{"id":1603976400,"open":13131.7,"close":13230.0,"high":13237.2,"low":13102.0,"amount":100.482,"vol":100482,"trade_turnover":1326403.7206,"count":325},{"id":1603980000,"open":13231.0,"close":13420.8,"high":13476.1,"low":13231.0,"amount":253.258,"vol":253258,"trade_turnover":3384941.438,"count":752},{"id":1603983600,"open":13416.0,"close":13420.6,"high":13458.7,"low":13358.7,"amount":64.71,"vol":64710,"trade_turnover":869052.3804,"count":269},{"id":1603987200,"open":13421.9,"close":13535.9,"high":13594.5,"low":13391.8,"amount":120.24,"vol":120240,"trade_turnover":1626567.8278,"count":570}]} +2024-01-18 11:12:55.797 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:41] - 请求 KLine 数据解析之后的数据为:{"wsid":19750305,"data":[{"amount":0.276,"high":12300.0,"vol":276,"low":11715.8,"count":39,"id":1603270800,"close":12196.7,"tradeTurnover":3315.9104,"open":12198.0},{"amount":0.198,"high":12289.9,"vol":198,"low":12111.0,"count":21,"id":1603274400,"close":12277.9,"tradeTurnover":2420.7728,"open":12196.7},{"amount":0.012,"high":12277.9,"vol":12,"low":12000.0,"count":5,"id":1603278000,"close":12000.0,"tradeTurnover":145.2238,"open":12111.0},{"amount":0.084,"high":12498.0,"vol":84,"low":12078.0,"count":12,"id":1603281600,"close":12497.4,"tradeTurnover":1040.0504,"open":12078.0},{"amount":1.122,"high":12495.6,"vol":1122,"low":12282.9,"count":112,"id":1603285200,"close":12373.5,"tradeTurnover":13905.3124,"open":12495.6},{"amount":5.29,"high":12807.6,"vol":5290,"low":12358.1,"count":155,"id":1603288800,"close":12689.9,"tradeTurnover":66852.128,"open":12412.9},{"amount":1.174,"high":12778.7,"vol":1174,"low":12573.2,"count":113,"id":1603292400,"close":12701.9,"tradeTurnover":14907.367,"open":12692.8},{"amount":1.156,"high":12920.9,"vol":1156,"low":12624.8,"count":115,"id":1603296000,"close":12835.9,"tradeTurnover":14802.449,"open":12679.7},{"amount":1.12,"high":12908.3,"vol":1120,"low":12687.5,"count":115,"id":1603299600,"close":12754.2,"tradeTurnover":14345.7324,"open":12848.3},{"amount":1.106,"high":12849.0,"vol":1106,"low":12668.3,"count":114,"id":1603303200,"close":12740.2,"tradeTurnover":14105.3504,"open":12743.7},{"amount":1.032,"high":12843.1,"vol":1032,"low":12597.2,"count":112,"id":1603306800,"close":12650.3,"tradeTurnover":13125.4568,"open":12729.5},{"amount":1.154,"high":12848.4,"vol":1154,"low":12610.2,"count":116,"id":1603310400,"close":12807.0,"tradeTurnover":14680.638,"open":12666.8},{"amount":1.164,"high":13005.1,"vol":1164,"low":12748.2,"count":114,"id":1603314000,"close":12938.9,"tradeTurnover":14976.9366,"open":12866.0},{"amount":1.174,"high":13211.2,"vol":1174,"low":12865.7,"count":114,"id":1603317600,"close":13122.0,"tradeTurnover":15285.2446,"open":12921.0},{"amount":1.172,"high":13173.2,"vol":1172,"low":12688.6,"count":117,"id":1603321200,"close":12829.8,"tradeTurnover":15060.9938,"open":13153.2},{"amount":1.17,"high":12988.1,"vol":1170,"low":12764.4,"count":117,"id":1603324800,"close":12885.9,"tradeTurnover":15046.2046,"open":12793.1},{"amount":1.158,"high":12972.6,"vol":1158,"low":12757.5,"count":118,"id":1603328400,"close":12757.5,"tradeTurnover":14882.4656,"open":12860.4},{"amount":1.124,"high":12848.0,"vol":1124,"low":12729.0,"count":115,"id":1603332000,"close":12788.8,"tradeTurnover":14368.7948,"open":12824.1},{"amount":1.194,"high":12834.4,"vol":1194,"low":12729.0,"count":111,"id":1603335600,"close":12767.2,"tradeTurnover":15268.9298,"open":12791.7},{"amount":1.152,"high":12778.3,"vol":1152,"low":12729.0,"count":115,"id":1603339200,"close":12762.2,"tradeTurnover":14695.4876,"open":12729.0},{"amount":1.21,"high":12842.0,"vol":1210,"low":12730.6,"count":119,"id":1603342800,"close":12813.8,"tradeTurnover":15440.8162,"open":12763.1},{"amount":1.188,"high":12795.0,"vol":1188,"low":12728.0,"count":123,"id":1603346400,"close":12729.1,"tradeTurnover":15128.0098,"open":12795.0},{"amount":1.266,"high":12730.6,"vol":1266,"low":12728.3,"count":112,"id":1603350000,"close":12730.6,"tradeTurnover":16115.1306,"open":12728.6},{"amount":1.35,"high":12921.5,"vol":1350,"low":12729.9,"count":127,"id":1603353600,"close":12770.1,"tradeTurnover":17233.7326,"open":12730.3},{"amount":0.98,"high":12872.1,"vol":980,"low":12760.1,"count":99,"id":1603357200,"close":12780.4,"tradeTurnover":12553.9826,"open":12824.9},{"amount":0.266,"high":13002.7,"vol":266,"low":12775.6,"count":30,"id":1603360800,"close":12934.2,"tradeTurnover":3415.023,"open":12784.9},{"amount":1.004,"high":13057.0,"vol":1004,"low":12886.6,"count":117,"id":1603364400,"close":13045.0,"tradeTurnover":13020.8576,"open":12977.0},{"amount":1.134,"high":12973.4,"vol":1134,"low":12751.6,"count":111,"id":1603368000,"close":12847.9,"tradeTurnover":14594.2752,"open":12958.5},{"amount":1.152,"high":13000.8,"vol":1152,"low":12743.0,"count":114,"id":1603371600,"close":12931.0,"tradeTurnover":14877.7314,"open":12882.7},{"amount":1.182,"high":12995.3,"vol":1182,"low":12783.9,"count":115,"id":1603375200,"close":12917.8,"tradeTurnover":15224.4716,"open":12890.4},{"amount":1.176,"high":13031.2,"vol":1176,"low":12817.9,"count":117,"id":1603378800,"close":12953.0,"tradeTurnover":15197.208,"open":12918.8},{"amount":1.146,"high":13100.2,"vol":1146,"low":12865.6,"count":119,"id":1603382400,"close":13055.6,"tradeTurnover":14851.9604,"open":12923.1},{"amount":1.534,"high":13105.7,"vol":1534,"low":12835.5,"count":124,"id":1603386000,"close":13082.7,"tradeTurnover":19927.8288,"open":12967.6},{"amount":1.268,"high":13115.0,"vol":1268,"low":12938.7,"count":117,"id":1603389600,"close":13016.4,"tradeTurnover":16505.4738,"open":13020.4},{"amount":1.13,"high":13171.2,"vol":1130,"low":12961.8,"count":112,"id":1603393200,"close":12970.6,"tradeTurnover":14762.952,"open":13028.3},{"amount":1.206,"high":13216.1,"vol":1206,"low":12998.5,"count":117,"id":1603396800,"close":13089.3,"tradeTurnover":15807.1226,"open":13016.7},{"amount":1.332,"high":13203.7,"vol":1332,"low":12932.9,"count":114,"id":1603400400,"close":13092.0,"tradeTurnover":17423.4422,"open":13136.0},{"amount":1.21,"high":13250.5,"vol":1210,"low":12984.7,"count":114,"id":1603404000,"close":13055.9,"tradeTurnover":15876.0632,"open":13119.4},{"amount":1.286,"high":13126.5,"vol":1286,"low":12857.2,"count":116,"id":1603407600,"close":12890.4,"tradeTurnover":16688.422,"open":13059.4},{"amount":1.502,"high":12994.0,"vol":1502,"low":12751.6,"count":131,"id":1603411200,"close":12892.2,"tradeTurnover":19331.1596,"open":12929.7},{"amount":1.386,"high":13003.2,"vol":1386,"low":12786.0,"count":121,"id":1603414800,"close":12898.3,"tradeTurnover":17904.8902,"open":12921.7},{"amount":1.416,"high":13054.0,"vol":1416,"low":12800.7,"count":122,"id":1603418400,"close":12975.1,"tradeTurnover":18306.6204,"open":12951.6},{"amount":1.19,"high":13030.7,"vol":1190,"low":12875.0,"count":118,"id":1603422000,"close":12947.0,"tradeTurnover":15409.7984,"open":12967.3},{"amount":1.022,"high":13047.3,"vol":1022,"low":12832.8,"count":127,"id":1603425600,"close":12852.0,"tradeTurnover":13214.4388,"open":12925.2},{"amount":0.478,"high":12991.7,"vol":478,"low":12841.2,"count":118,"id":1603429200,"close":12931.1,"tradeTurnover":6180.2486,"open":12859.0},{"amount":0.522,"high":13014.1,"vol":522,"low":12871.9,"count":132,"id":1603432800,"close":12939.6,"tradeTurnover":6759.0324,"open":12935.9},{"amount":0.476,"high":12998.9,"vol":476,"low":12917.1,"count":118,"id":1603436400,"close":12925.4,"tradeTurnover":6163.3118,"open":12923.1},{"amount":0.508,"high":13014.0,"vol":508,"low":12916.1,"count":122,"id":1603440000,"close":12962.6,"tradeTurnover":6585.3656,"open":12942.2},{"amount":0.564,"high":13012.5,"vol":564,"low":12909.9,"count":124,"id":1603443600,"close":12926.4,"tradeTurnover":7308.8828,"open":12970.5},{"amount":0.536,"high":13059.5,"vol":536,"low":12925.7,"count":124,"id":1603447200,"close":13007.7,"tradeTurnover":6957.8796,"open":13001.2},{"amount":0.486,"high":13078.4,"vol":486,"low":12906.5,"count":122,"id":1603450800,"close":12970.6,"tradeTurnover":6326.1434,"open":13025.4},{"amount":0.494,"high":13025.0,"vol":494,"low":12850.8,"count":117,"id":1603454400,"close":12935.4,"tradeTurnover":6396.0984,"open":12963.9},{"amount":0.466,"high":13043.3,"vol":466,"low":12911.0,"count":117,"id":1603458000,"close":12951.7,"tradeTurnover":6049.1412,"open":12913.3},{"amount":0.46,"high":13006.4,"vol":460,"low":12840.4,"count":116,"id":1603461600,"close":12858.8,"tradeTurnover":5941.815,"open":12999.6},{"amount":0.492,"high":12932.9,"vol":492,"low":12826.5,"count":117,"id":1603465200,"close":12881.9,"tradeTurnover":6340.214,"open":12885.7},{"amount":0.484,"high":12933.5,"vol":484,"low":12744.4,"count":123,"id":1603468800,"close":12784.1,"tradeTurnover":6205.4138,"open":12854.4},{"amount":0.562,"high":12893.1,"vol":562,"low":12730.1,"count":152,"id":1603472400,"close":12847.7,"tradeTurnover":7218.9184,"open":12832.3},{"amount":0.53,"high":12939.3,"vol":530,"low":12751.4,"count":128,"id":1603476000,"close":12915.7,"tradeTurnover":6825.7004,"open":12874.1},{"amount":0.444,"high":12972.9,"vol":444,"low":12786.6,"count":117,"id":1603479600,"close":12972.9,"tradeTurnover":5727.7452,"open":12867.9},{"amount":0.492,"high":13002.2,"vol":492,"low":12842.9,"count":116,"id":1603483200,"close":12991.6,"tradeTurnover":6375.1566,"open":12956.7},{"amount":0.5,"high":13004.3,"vol":500,"low":12936.6,"count":125,"id":1603486800,"close":12943.5,"tradeTurnover":6485.468,"open":13004.3},{"amount":0.492,"high":13010.3,"vol":492,"low":12884.7,"count":120,"id":1603490400,"close":12989.2,"tradeTurnover":6376.1492,"open":12923.6},{"amount":0.51,"high":13024.4,"vol":510,"low":12884.6,"count":121,"id":1603494000,"close":12884.6,"tradeTurnover":6622.3406,"open":12974.9},{"amount":0.488,"high":13018.3,"vol":488,"low":12811.1,"count":120,"id":1603497600,"close":12953.9,"tradeTurnover":6317.7938,"open":12973.7},{"amount":0.482,"high":13018.1,"vol":482,"low":12872.8,"count":117,"id":1603501200,"close":12934.2,"tradeTurnover":6242.4178,"open":12927.5},{"amount":0.484,"high":13003.9,"vol":484,"low":12903.3,"count":117,"id":1603504800,"close":12989.1,"tradeTurnover":6278.1756,"open":12971.9},{"amount":0.474,"high":13013.4,"vol":474,"low":12938.3,"count":122,"id":1603508400,"close":12975.9,"tradeTurnover":6157.7096,"open":13000.1},{"amount":0.526,"high":13009.4,"vol":526,"low":12905.5,"count":124,"id":1603512000,"close":12963.3,"tradeTurnover":6831.5658,"open":12989.7},{"amount":0.522,"high":13041.8,"vol":522,"low":12875.3,"count":127,"id":1603515600,"close":12989.7,"tradeTurnover":6768.8994,"open":12910.5},{"amount":0.49,"high":13058.1,"vol":490,"low":12908.8,"count":120,"id":1603519200,"close":13003.6,"tradeTurnover":6370.5714,"open":12994.7},{"amount":0.478,"high":13037.8,"vol":478,"low":12981.7,"count":120,"id":1603522800,"close":13004.2,"tradeTurnover":6218.9722,"open":13011.9},{"amount":0.52,"high":13030.6,"vol":520,"low":12899.4,"count":124,"id":1603526400,"close":12998.2,"tradeTurnover":6754.958,"open":13003.0},{"amount":0.454,"high":13020.3,"vol":454,"low":12893.6,"count":115,"id":1603530000,"close":12990.6,"tradeTurnover":5891.0574,"open":12998.2},{"amount":0.502,"high":13059.1,"vol":502,"low":12913.2,"count":124,"id":1603533600,"close":13030.1,"tradeTurnover":6525.9004,"open":12996.4},{"amount":0.468,"high":13068.3,"vol":468,"low":12940.2,"count":119,"id":1603537200,"close":13033.2,"tradeTurnover":6091.0376,"open":12988.4},{"amount":0.468,"high":13071.8,"vol":468,"low":12978.9,"count":123,"id":1603540800,"close":13006.5,"tradeTurnover":6102.5902,"open":13035.3},{"amount":0.534,"high":13066.7,"vol":534,"low":12928.1,"count":123,"id":1603544400,"close":12985.9,"tradeTurnover":6950.4268,"open":13038.8},{"amount":0.47,"high":13100.1,"vol":470,"low":12960.5,"count":100,"id":1603548000,"close":13042.0,"tradeTurnover":6124.2178,"open":12986.3},{"amount":0.456,"high":13196.5,"vol":456,"low":13038.4,"count":120,"id":1603551600,"close":13102.2,"tradeTurnover":5989.6362,"open":13038.4},{"amount":0.458,"high":13176.6,"vol":458,"low":12984.6,"count":121,"id":1603555200,"close":13052.7,"tradeTurnover":5976.331,"open":13136.8},{"amount":0.452,"high":13177.8,"vol":452,"low":13003.2,"count":118,"id":1603558800,"close":13177.8,"tradeTurnover":5911.7058,"open":13006.2},{"amount":0.468,"high":13170.7,"vol":468,"low":13023.0,"count":119,"id":1603562400,"close":13080.8,"tradeTurnover":6122.375,"open":13127.7},{"amount":0.468,"high":13179.3,"vol":468,"low":13014.2,"count":120,"id":1603566000,"close":13148.4,"tradeTurnover":6126.4278,"open":13040.7},{"amount":0.47,"high":13179.6,"vol":470,"low":12992.5,"count":119,"id":1603569600,"close":13090.1,"tradeTurnover":6151.4758,"open":13073.5},{"amount":0.458,"high":13148.7,"vol":458,"low":12980.7,"count":117,"id":1603573200,"close":12993.9,"tradeTurnover":5981.071,"open":13035.4},{"amount":0.478,"high":13112.1,"vol":478,"low":12975.6,"count":118,"id":1603576800,"close":13041.1,"tradeTurnover":6225.4216,"open":13040.7},{"amount":0.472,"high":13184.3,"vol":472,"low":13009.3,"count":118,"id":1603580400,"close":13184.3,"tradeTurnover":6173.4244,"open":13012.6},{"amount":0.46,"high":13170.4,"vol":460,"low":13007.7,"count":115,"id":1603584000,"close":13154.3,"tradeTurnover":6024.09,"open":13080.8},{"amount":0.398,"high":13196.8,"vol":398,"low":13024.0,"count":102,"id":1603587600,"close":13196.1,"tradeTurnover":5217.5364,"open":13092.0},{"amount":0.476,"high":13175.1,"vol":476,"low":13035.0,"count":120,"id":1603591200,"close":13082.4,"tradeTurnover":6228.6596,"open":13124.7},{"amount":0.578,"high":13383.8,"vol":578,"low":13049.1,"count":137,"id":1603594800,"close":13259.0,"tradeTurnover":7629.3886,"open":13049.1},{"amount":0.47,"high":13369.0,"vol":470,"low":13216.0,"count":122,"id":1603598400,"close":13243.4,"tradeTurnover":6247.955,"open":13277.0},{"amount":0.61,"high":13353.3,"vol":610,"low":13010.1,"count":134,"id":1603602000,"close":13017.3,"tradeTurnover":8048.8598,"open":13285.3},{"amount":0.486,"high":13105.7,"vol":486,"low":13018.2,"count":118,"id":1603605600,"close":13060.3,"tradeTurnover":6344.1474,"open":13022.5},{"amount":0.464,"high":13112.1,"vol":464,"low":13022.0,"count":120,"id":1603609200,"close":13078.1,"tradeTurnover":6061.5416,"open":13048.5},{"amount":0.464,"high":13091.0,"vol":464,"low":13017.2,"count":120,"id":1603612800,"close":13046.0,"tradeTurnover":6055.3734,"open":13077.2},{"amount":0.478,"high":13084.0,"vol":478,"low":13014.2,"count":117,"id":1603616400,"close":13040.8,"tradeTurnover":6235.7882,"open":13065.1},{"amount":0.478,"high":13064.2,"vol":478,"low":13010.2,"count":125,"id":1603620000,"close":13028.5,"tradeTurnover":6232.2428,"open":13047.1},{"amount":0.534,"high":13061.5,"vol":534,"low":12852.9,"count":123,"id":1603623600,"close":12897.6,"tradeTurnover":6918.1226,"open":13061.5},{"amount":0.444,"high":13069.7,"vol":444,"low":12893.2,"count":117,"id":1603627200,"close":12964.3,"tradeTurnover":5755.8712,"open":12908.3},{"amount":0.498,"high":13071.9,"vol":498,"low":12891.8,"count":119,"id":1603630800,"close":12949.3,"tradeTurnover":6465.078,"open":13001.3},{"amount":0.468,"high":13077.7,"vol":468,"low":12900.0,"count":116,"id":1603634400,"close":12946.8,"tradeTurnover":6075.4554,"open":12975.8},{"amount":0.47,"high":13069.1,"vol":470,"low":12883.3,"count":119,"id":1603638000,"close":12883.3,"tradeTurnover":6097.1072,"open":12975.2},{"amount":0.482,"high":13067.9,"vol":482,"low":12877.5,"count":118,"id":1603641600,"close":12978.7,"tradeTurnover":6256.4472,"open":12916.2},{"amount":0.47,"high":13087.5,"vol":470,"low":12922.7,"count":117,"id":1603645200,"close":13004.4,"tradeTurnover":6108.3892,"open":13008.0},{"amount":0.468,"high":13067.6,"vol":468,"low":12893.6,"count":118,"id":1603648800,"close":12957.2,"tradeTurnover":6079.1484,"open":12972.8},{"amount":0.442,"high":13066.9,"vol":442,"low":12916.6,"count":118,"id":1603652400,"close":13021.8,"tradeTurnover":5746.5548,"open":12996.5},{"amount":0.508,"high":13081.5,"vol":508,"low":12944.9,"count":120,"id":1603656000,"close":12985.4,"tradeTurnover":6616.9872,"open":12992.9},{"amount":0.508,"high":13068.6,"vol":508,"low":12921.4,"count":122,"id":1603659600,"close":13011.2,"tradeTurnover":6614.816,"open":12999.9},{"amount":0.486,"high":13073.8,"vol":486,"low":12911.9,"count":121,"id":1603663200,"close":12959.4,"tradeTurnover":6320.907,"open":12979.6},{"amount":0.452,"high":13085.2,"vol":452,"low":12927.8,"count":113,"id":1603666800,"close":13032.1,"tradeTurnover":5878.6442,"open":12963.4},{"amount":0.482,"high":13076.7,"vol":482,"low":12918.3,"count":121,"id":1603670400,"close":13001.0,"tradeTurnover":6263.698,"open":12964.2},{"amount":0.478,"high":13096.4,"vol":478,"low":12991.2,"count":124,"id":1603674000,"close":13053.7,"tradeTurnover":6232.2328,"open":13040.0},{"amount":0.488,"high":13185.7,"vol":488,"low":12985.1,"count":121,"id":1603677600,"close":13064.4,"tradeTurnover":6387.534,"open":13060.6},{"amount":0.486,"high":13187.2,"vol":486,"low":12984.1,"count":135,"id":1603681200,"close":13092.8,"tradeTurnover":6369.0272,"open":13032.3},{"amount":0.51,"high":13181.6,"vol":510,"low":12962.3,"count":131,"id":1603684800,"close":13132.6,"tradeTurnover":6679.829,"open":13092.0},{"amount":0.506,"high":13205.3,"vol":506,"low":13025.3,"count":126,"id":1603688400,"close":13092.1,"tradeTurnover":6641.2128,"open":13129.2},{"amount":1.616,"high":13188.1,"vol":1616,"low":12989.8,"count":141,"id":1603692000,"close":13071.4,"tradeTurnover":21170.8224,"open":13121.8},{"amount":3.746,"high":13100.0,"vol":3746,"low":12965.2,"count":110,"id":1603695600,"close":13038.7,"tradeTurnover":48924.8902,"open":13061.0},{"amount":8.966,"high":13102.0,"vol":8966,"low":12852.8,"count":173,"id":1603699200,"close":13039.3,"tradeTurnover":116525.5534,"open":13030.9},{"amount":4.48,"high":13088.4,"vol":4480,"low":13039.8,"count":124,"id":1603702800,"close":13075.9,"tradeTurnover":58521.1714,"open":13047.1},{"amount":4.272,"high":13100.0,"vol":4272,"low":13060.2,"count":130,"id":1603706400,"close":13100.0,"tradeTurnover":55895.9778,"open":13072.1},{"amount":29.798,"high":13159.0,"vol":29798,"low":13100.0,"count":230,"id":1603710000,"close":13138.4,"tradeTurnover":391138.024,"open":13100.0},{"amount":5.154,"high":13200.0,"vol":5154,"low":13100.0,"count":188,"id":1603713600,"close":13149.8,"tradeTurnover":67694.652,"open":13138.8},{"amount":35.608,"high":13351.5,"vol":35608,"low":13133.1,"count":328,"id":1603717200,"close":13205.8,"tradeTurnover":472780.3394,"open":13150.0},{"amount":31.748,"high":13280.0,"vol":31748,"low":13144.1,"count":235,"id":1603720800,"close":13166.1,"tradeTurnover":418744.5588,"open":13203.0},{"amount":36.53,"high":13165.2,"vol":36530,"low":12903.8,"count":384,"id":1603724400,"close":12978.0,"tradeTurnover":476940.3296,"open":13159.0},{"amount":35.018,"high":13069.8,"vol":35018,"low":12850.5,"count":323,"id":1603728000,"close":12869.6,"tradeTurnover":453288.918,"open":12965.0},{"amount":92.628,"high":12941.5,"vol":92628,"low":12583.9,"count":560,"id":1603731600,"close":12873.8,"tradeTurnover":1185973.467,"open":12879.2},{"amount":4.302,"high":12954.5,"vol":4302,"low":12820.4,"count":128,"id":1603735200,"close":12946.8,"tradeTurnover":55481.0054,"open":12856.2},{"amount":13.83,"high":12953.5,"vol":13830,"low":12914.1,"count":118,"id":1603738800,"close":12953.4,"tradeTurnover":179112.1598,"open":12945.6},{"amount":17.172,"high":13007.5,"vol":17172,"low":12953.5,"count":132,"id":1603742400,"close":12983.4,"tradeTurnover":223230.2122,"open":12953.5},{"amount":3.212,"high":13007.5,"vol":3212,"low":12982.7,"count":59,"id":1603746000,"close":12993.8,"tradeTurnover":41767.8906,"open":12983.1},{"amount":1.504,"high":13007.5,"vol":1504,"low":12974.0,"count":74,"id":1603749600,"close":13007.5,"tradeTurnover":19543.3568,"open":13002.1},{"amount":3.454,"high":13061.2,"vol":3454,"low":13007.5,"count":101,"id":1603753200,"close":13033.7,"tradeTurnover":45001.601,"open":13007.5},{"amount":8.784,"high":13105.0,"vol":8784,"low":13028.3,"count":98,"id":1603756800,"close":13067.1,"tradeTurnover":114871.8246,"open":13029.2},{"amount":11.592,"high":13074.4,"vol":11592,"low":13051.5,"count":66,"id":1603760400,"close":13061.7,"tradeTurnover":151386.9038,"open":13074.3},{"amount":19.298,"high":13097.6,"vol":19298,"low":13040.1,"count":109,"id":1603764000,"close":13049.7,"tradeTurnover":252061.019,"open":13061.7},{"amount":22.992,"high":13080.0,"vol":22992,"low":13057.1,"count":69,"id":1603767600,"close":13070.4,"tradeTurnover":300453.9788,"open":13057.6},{"amount":14.396,"high":13175.0,"vol":14396,"low":13079.6,"count":59,"id":1603771200,"close":13103.3,"tradeTurnover":188461.9156,"open":13080.0},{"amount":5.058,"high":13121.3,"vol":5058,"low":13069.7,"count":44,"id":1603774800,"close":13073.6,"tradeTurnover":66201.3552,"open":13121.3},{"amount":9.106,"high":13149.0,"vol":9106,"low":13069.6,"count":107,"id":1603778400,"close":13103.4,"tradeTurnover":119104.8906,"open":13074.9},{"amount":73.95,"high":13169.8,"vol":73950,"low":12992.4,"count":305,"id":1603782000,"close":13130.0,"tradeTurnover":968195.155,"open":13103.3},{"amount":18.732,"high":13148.4,"vol":18732,"low":13044.0,"count":135,"id":1603785600,"close":13123.8,"tradeTurnover":245533.5448,"open":13135.1},{"amount":13.756,"high":13131.8,"vol":13756,"low":13075.7,"count":102,"id":1603789200,"close":13131.7,"tradeTurnover":180253.7708,"open":13115.5},{"amount":154.108,"high":13252.0,"vol":154108,"low":13063.4,"count":525,"id":1603792800,"close":13216.9,"tradeTurnover":2029983.656,"open":13134.8},{"amount":170.09,"high":13590.1,"vol":170090,"low":13213.5,"count":591,"id":1603796400,"close":13395.8,"tradeTurnover":2276279.742,"open":13218.8},{"amount":48.928,"high":13414.0,"vol":48928,"low":13331.7,"count":216,"id":1603800000,"close":13376.9,"tradeTurnover":654585.9108,"open":13395.9},{"amount":63.294,"high":13490.9,"vol":63294,"low":13329.8,"count":316,"id":1603803600,"close":13384.3,"tradeTurnover":848130.9212,"open":13376.5},{"amount":12.892,"high":13415.8,"vol":12892,"low":13344.8,"count":124,"id":1603807200,"close":13398.2,"tradeTurnover":172618.6864,"open":13392.6},{"amount":93.22,"high":13626.7,"vol":93220,"low":13398.2,"count":476,"id":1603810800,"close":13598.5,"tradeTurnover":1262695.5466,"open":13398.2},{"amount":85.45,"high":13639.9,"vol":85450,"low":13520.2,"count":435,"id":1603814400,"close":13639.9,"tradeTurnover":1161481.4136,"open":13595.8},{"amount":191.812,"high":13826.7,"vol":191812,"low":13589.0,"count":711,"id":1603818000,"close":13688.1,"tradeTurnover":2628428.3788,"open":13640.0},{"amount":65.434,"high":13745.0,"vol":65434,"low":13528.2,"count":410,"id":1603821600,"close":13630.1,"tradeTurnover":891541.8394,"open":13685.0},{"amount":5.788,"high":13659.8,"vol":5788,"low":13595.4,"count":65,"id":1603825200,"close":13637.1,"tradeTurnover":78836.2578,"open":13629.4},{"amount":163.104,"high":13805.1,"vol":163104,"low":13582.6,"count":537,"id":1603828800,"close":13616.6,"tradeTurnover":2234040.3544,"open":13644.4},{"amount":9.884,"high":13753.5,"vol":9884,"low":13609.8,"count":101,"id":1603832400,"close":13705.5,"tradeTurnover":135406.4752,"open":13609.8},{"amount":7.436,"high":13739.9,"vol":7436,"low":13658.2,"count":100,"id":1603836000,"close":13739.9,"tradeTurnover":101840.3508,"open":13705.4},{"amount":17.086,"high":13794.6,"vol":17086,"low":13582.6,"count":234,"id":1603839600,"close":13649.6,"tradeTurnover":233971.8448,"open":13739.9},{"amount":24.108,"high":13745.2,"vol":24108,"low":13618.8,"count":177,"id":1603843200,"close":13701.7,"tradeTurnover":330206.5694,"open":13645.9},{"amount":15.892,"high":13725.6,"vol":15892,"low":13647.9,"count":151,"id":1603846800,"close":13702.6,"tradeTurnover":217816.7008,"open":13702.1},{"amount":46.548,"high":13832.2,"vol":46548,"low":13680.2,"count":274,"id":1603850400,"close":13811.6,"tradeTurnover":640636.0352,"open":13701.7},{"amount":67.896,"high":13820.3,"vol":67896,"low":13717.5,"count":320,"id":1603854000,"close":13777.0,"tradeTurnover":935838.2238,"open":13818.5},{"amount":33.156,"high":13807.2,"vol":33156,"low":13710.0,"count":210,"id":1603857600,"close":13735.7,"tradeTurnover":455941.234,"open":13767.3},{"amount":32.076,"high":13753.9,"vol":32076,"low":13671.3,"count":198,"id":1603861200,"close":13715.8,"tradeTurnover":439612.64,"open":13735.5},{"amount":14.756,"high":13757.0,"vol":14756,"low":13694.9,"count":122,"id":1603864800,"close":13701.3,"tradeTurnover":202602.5164,"open":13715.9},{"amount":155.534,"high":13708.7,"vol":155534,"low":13550.0,"count":635,"id":1603868400,"close":13674.2,"tradeTurnover":2117935.0928,"open":13701.2},{"amount":29.846,"high":13691.7,"vol":29846,"low":13584.0,"count":240,"id":1603872000,"close":13691.7,"tradeTurnover":407073.1398,"open":13673.0},{"amount":104.542,"high":13707.5,"vol":104542,"low":13573.5,"count":377,"id":1603875600,"close":13587.1,"tradeTurnover":1425079.9344,"open":13689.3},{"amount":73.818,"high":13618.0,"vol":73818,"low":13504.7,"count":358,"id":1603879200,"close":13552.7,"tradeTurnover":1001666.0908,"open":13584.6},{"amount":176.544,"high":13565.4,"vol":176544,"low":13330.0,"count":1004,"id":1603882800,"close":13336.4,"tradeTurnover":2369166.1492,"open":13552.6},{"amount":289.73,"high":13385.0,"vol":289730,"low":13173.9,"count":968,"id":1603886400,"close":13300.3,"tradeTurnover":3846751.7166,"open":13331.5},{"amount":139.822,"high":13340.0,"vol":139822,"low":13122.9,"count":612,"id":1603890000,"close":13129.9,"tradeTurnover":1848876.932,"open":13300.2},{"amount":367.876,"high":13168.2,"vol":367876,"low":12915.9,"count":1168,"id":1603893600,"close":13082.2,"tradeTurnover":4802516.9818,"open":13123.4},{"amount":84.044,"high":13235.2,"vol":84044,"low":13052.3,"count":375,"id":1603897200,"close":13221.2,"tradeTurnover":1106883.1282,"open":13077.1},{"amount":29.566,"high":13218.7,"vol":29566,"low":13050.0,"count":244,"id":1603900800,"close":13145.1,"tradeTurnover":388697.4104,"open":13218.7},{"amount":53.336,"high":13204.9,"vol":53336,"low":13006.6,"count":299,"id":1603904400,"close":13176.7,"tradeTurnover":700385.2784,"open":13145.1},{"amount":34.164,"high":13219.6,"vol":34164,"low":13131.0,"count":218,"id":1603908000,"close":13196.5,"tradeTurnover":450210.5778,"open":13171.0},{"amount":22.158,"high":13237.4,"vol":22158,"low":13145.0,"count":185,"id":1603911600,"close":13154.9,"tradeTurnover":292020.0438,"open":13200.0},{"amount":4.548,"high":13211.8,"vol":4548,"low":13147.4,"count":75,"id":1603915200,"close":13198.1,"tradeTurnover":59991.1118,"open":13154.5},{"amount":3.52,"high":13196.5,"vol":3520,"low":13100.2,"count":68,"id":1603918800,"close":13190.1,"tradeTurnover":46175.428,"open":13193.5},{"amount":3.122,"high":13267.5,"vol":3122,"low":13185.4,"count":72,"id":1603922400,"close":13252.0,"tradeTurnover":41304.2018,"open":13185.4},{"amount":14.768,"high":13282.3,"vol":14768,"low":13235.9,"count":86,"id":1603926000,"close":13265.9,"tradeTurnover":195689.0764,"open":13242.1},{"amount":19.968,"high":13294.7,"vol":19968,"low":13237.4,"count":98,"id":1603929600,"close":13245.1,"tradeTurnover":264834.1944,"open":13253.9},{"amount":35.282,"high":13285.3,"vol":35282,"low":13166.3,"count":192,"id":1603933200,"close":13274.2,"tradeTurnover":465789.6302,"open":13244.6},{"amount":9.748,"high":13277.7,"vol":9748,"low":13212.2,"count":119,"id":1603936800,"close":13241.1,"tradeTurnover":129016.0684,"open":13275.9},{"amount":27.3,"high":13262.5,"vol":27300,"low":13174.6,"count":199,"id":1603940400,"close":13262.5,"tradeTurnover":360589.8982,"open":13237.1},{"amount":18.904,"high":13277.7,"vol":18904,"low":13229.5,"count":109,"id":1603944000,"close":13229.5,"tradeTurnover":250713.2812,"open":13269.1},{"amount":15.822,"high":13274.8,"vol":15822,"low":13228.5,"count":134,"id":1603947600,"close":13274.8,"tradeTurnover":209781.909,"open":13228.5},{"amount":91.246,"high":13323.0,"vol":91246,"low":13242.3,"count":294,"id":1603951200,"close":13255.0,"tradeTurnover":1211271.2788,"open":13274.8},{"amount":187.622,"high":13269.3,"vol":187622,"low":13123.1,"count":506,"id":1603954800,"close":13142.4,"tradeTurnover":2478299.7074,"open":13255.0},{"amount":69.532,"high":13182.4,"vol":69532,"low":13094.1,"count":226,"id":1603958400,"close":13124.8,"tradeTurnover":914157.2418,"open":13145.9},{"amount":23.184,"high":13197.1,"vol":23184,"low":13129.5,"count":141,"id":1603962000,"close":13183.7,"tradeTurnover":305485.9524,"open":13129.5},{"amount":121.146,"high":13187.5,"vol":121146,"low":13053.1,"count":442,"id":1603965600,"close":13105.2,"tradeTurnover":1590026.4416,"open":13184.8},{"amount":47.498,"high":13171.4,"vol":47498,"low":13060.1,"count":262,"id":1603969200,"close":13060.1,"tradeTurnover":623578.149,"open":13105.1},{"amount":126.552,"high":13145.8,"vol":126552,"low":12977.9,"count":481,"id":1603972800,"close":13131.8,"tradeTurnover":1652549.311,"open":13056.9},{"amount":100.482,"high":13237.2,"vol":100482,"low":13102.0,"count":325,"id":1603976400,"close":13230.0,"tradeTurnover":1326403.7206,"open":13131.7},{"amount":253.258,"high":13476.1,"vol":253258,"low":13231.0,"count":752,"id":1603980000,"close":13420.8,"tradeTurnover":3384941.438,"open":13231.0},{"amount":64.71,"high":13458.7,"vol":64710,"low":13358.7,"count":269,"id":1603983600,"close":13420.6,"tradeTurnover":869052.3804,"open":13416.0},{"amount":120.24,"high":13594.5,"vol":120240,"low":13391.8,"count":570,"id":1603987200,"close":13535.9,"tradeTurnover":1626567.8278,"open":13421.9}],"id":"","rep":"market.BTC-USDT.kline.60min","status":"ok"} +2024-01-18 11:12:56.809 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:39] - 请求 KLine 数据用户收到的原始数据:{"id":"","rep":"market.BTC-USDT.kline.60min","ts":1705547575717,"wsid":19750305,"status":"ok","data":[{"id":1603270800,"open":12198.0,"close":12196.7,"high":12300.0,"low":11715.8,"amount":0.276,"vol":276,"trade_turnover":3315.9104,"count":39},{"id":1603274400,"open":12196.7,"close":12277.9,"high":12289.9,"low":12111.0,"amount":0.198,"vol":198,"trade_turnover":2420.7728,"count":21},{"id":1603278000,"open":12111.0,"close":12000.0,"high":12277.9,"low":12000.0,"amount":0.012,"vol":12,"trade_turnover":145.2238,"count":5},{"id":1603281600,"open":12078.0,"close":12497.4,"high":12498.0,"low":12078.0,"amount":0.084,"vol":84,"trade_turnover":1040.0504,"count":12},{"id":1603285200,"open":12495.6,"close":12373.5,"high":12495.6,"low":12282.9,"amount":1.122,"vol":1122,"trade_turnover":13905.3124,"count":112},{"id":1603288800,"open":12412.9,"close":12689.9,"high":12807.6,"low":12358.1,"amount":5.29,"vol":5290,"trade_turnover":66852.128,"count":155},{"id":1603292400,"open":12692.8,"close":12701.9,"high":12778.7,"low":12573.2,"amount":1.174,"vol":1174,"trade_turnover":14907.367,"count":113},{"id":1603296000,"open":12679.7,"close":12835.9,"high":12920.9,"low":12624.8,"amount":1.156,"vol":1156,"trade_turnover":14802.449,"count":115},{"id":1603299600,"open":12848.3,"close":12754.2,"high":12908.3,"low":12687.5,"amount":1.12,"vol":1120,"trade_turnover":14345.7324,"count":115},{"id":1603303200,"open":12743.7,"close":12740.2,"high":12849.0,"low":12668.3,"amount":1.106,"vol":1106,"trade_turnover":14105.3504,"count":114},{"id":1603306800,"open":12729.5,"close":12650.3,"high":12843.1,"low":12597.2,"amount":1.032,"vol":1032,"trade_turnover":13125.4568,"count":112},{"id":1603310400,"open":12666.8,"close":12807.0,"high":12848.4,"low":12610.2,"amount":1.154,"vol":1154,"trade_turnover":14680.638,"count":116},{"id":1603314000,"open":12866.0,"close":12938.9,"high":13005.1,"low":12748.2,"amount":1.164,"vol":1164,"trade_turnover":14976.9366,"count":114},{"id":1603317600,"open":12921.0,"close":13122.0,"high":13211.2,"low":12865.7,"amount":1.174,"vol":1174,"trade_turnover":15285.2446,"count":114},{"id":1603321200,"open":13153.2,"close":12829.8,"high":13173.2,"low":12688.6,"amount":1.172,"vol":1172,"trade_turnover":15060.9938,"count":117},{"id":1603324800,"open":12793.1,"close":12885.9,"high":12988.1,"low":12764.4,"amount":1.17,"vol":1170,"trade_turnover":15046.2046,"count":117},{"id":1603328400,"open":12860.4,"close":12757.5,"high":12972.6,"low":12757.5,"amount":1.158,"vol":1158,"trade_turnover":14882.4656,"count":118},{"id":1603332000,"open":12824.1,"close":12788.8,"high":12848.0,"low":12729.0,"amount":1.124,"vol":1124,"trade_turnover":14368.7948,"count":115},{"id":1603335600,"open":12791.7,"close":12767.2,"high":12834.4,"low":12729.0,"amount":1.194,"vol":1194,"trade_turnover":15268.9298,"count":111},{"id":1603339200,"open":12729.0,"close":12762.2,"high":12778.3,"low":12729.0,"amount":1.152,"vol":1152,"trade_turnover":14695.4876,"count":115},{"id":1603342800,"open":12763.1,"close":12813.8,"high":12842.0,"low":12730.6,"amount":1.21,"vol":1210,"trade_turnover":15440.8162,"count":119},{"id":1603346400,"open":12795.0,"close":12729.1,"high":12795.0,"low":12728.0,"amount":1.188,"vol":1188,"trade_turnover":15128.0098,"count":123},{"id":1603350000,"open":12728.6,"close":12730.6,"high":12730.6,"low":12728.3,"amount":1.266,"vol":1266,"trade_turnover":16115.1306,"count":112},{"id":1603353600,"open":12730.3,"close":12770.1,"high":12921.5,"low":12729.9,"amount":1.35,"vol":1350,"trade_turnover":17233.7326,"count":127},{"id":1603357200,"open":12824.9,"close":12780.4,"high":12872.1,"low":12760.1,"amount":0.98,"vol":980,"trade_turnover":12553.9826,"count":99},{"id":1603360800,"open":12784.9,"close":12934.2,"high":13002.7,"low":12775.6,"amount":0.266,"vol":266,"trade_turnover":3415.023,"count":30},{"id":1603364400,"open":12977.0,"close":13045.0,"high":13057.0,"low":12886.6,"amount":1.004,"vol":1004,"trade_turnover":13020.8576,"count":117},{"id":1603368000,"open":12958.5,"close":12847.9,"high":12973.4,"low":12751.6,"amount":1.134,"vol":1134,"trade_turnover":14594.2752,"count":111},{"id":1603371600,"open":12882.7,"close":12931.0,"high":13000.8,"low":12743.0,"amount":1.152,"vol":1152,"trade_turnover":14877.7314,"count":114},{"id":1603375200,"open":12890.4,"close":12917.8,"high":12995.3,"low":12783.9,"amount":1.182,"vol":1182,"trade_turnover":15224.4716,"count":115},{"id":1603378800,"open":12918.8,"close":12953.0,"high":13031.2,"low":12817.9,"amount":1.176,"vol":1176,"trade_turnover":15197.208,"count":117},{"id":1603382400,"open":12923.1,"close":13055.6,"high":13100.2,"low":12865.6,"amount":1.146,"vol":1146,"trade_turnover":14851.9604,"count":119},{"id":1603386000,"open":12967.6,"close":13082.7,"high":13105.7,"low":12835.5,"amount":1.534,"vol":1534,"trade_turnover":19927.8288,"count":124},{"id":1603389600,"open":13020.4,"close":13016.4,"high":13115.0,"low":12938.7,"amount":1.268,"vol":1268,"trade_turnover":16505.4738,"count":117},{"id":1603393200,"open":13028.3,"close":12970.6,"high":13171.2,"low":12961.8,"amount":1.13,"vol":1130,"trade_turnover":14762.952,"count":112},{"id":1603396800,"open":13016.7,"close":13089.3,"high":13216.1,"low":12998.5,"amount":1.206,"vol":1206,"trade_turnover":15807.1226,"count":117},{"id":1603400400,"open":13136.0,"close":13092.0,"high":13203.7,"low":12932.9,"amount":1.332,"vol":1332,"trade_turnover":17423.4422,"count":114},{"id":1603404000,"open":13119.4,"close":13055.9,"high":13250.5,"low":12984.7,"amount":1.21,"vol":1210,"trade_turnover":15876.0632,"count":114},{"id":1603407600,"open":13059.4,"close":12890.4,"high":13126.5,"low":12857.2,"amount":1.286,"vol":1286,"trade_turnover":16688.422,"count":116},{"id":1603411200,"open":12929.7,"close":12892.2,"high":12994.0,"low":12751.6,"amount":1.502,"vol":1502,"trade_turnover":19331.1596,"count":131},{"id":1603414800,"open":12921.7,"close":12898.3,"high":13003.2,"low":12786.0,"amount":1.386,"vol":1386,"trade_turnover":17904.8902,"count":121},{"id":1603418400,"open":12951.6,"close":12975.1,"high":13054.0,"low":12800.7,"amount":1.416,"vol":1416,"trade_turnover":18306.6204,"count":122},{"id":1603422000,"open":12967.3,"close":12947.0,"high":13030.7,"low":12875.0,"amount":1.19,"vol":1190,"trade_turnover":15409.7984,"count":118},{"id":1603425600,"open":12925.2,"close":12852.0,"high":13047.3,"low":12832.8,"amount":1.022,"vol":1022,"trade_turnover":13214.4388,"count":127},{"id":1603429200,"open":12859.0,"close":12931.1,"high":12991.7,"low":12841.2,"amount":0.478,"vol":478,"trade_turnover":6180.2486,"count":118},{"id":1603432800,"open":12935.9,"close":12939.6,"high":13014.1,"low":12871.9,"amount":0.522,"vol":522,"trade_turnover":6759.0324,"count":132},{"id":1603436400,"open":12923.1,"close":12925.4,"high":12998.9,"low":12917.1,"amount":0.476,"vol":476,"trade_turnover":6163.3118,"count":118},{"id":1603440000,"open":12942.2,"close":12962.6,"high":13014.0,"low":12916.1,"amount":0.508,"vol":508,"trade_turnover":6585.3656,"count":122},{"id":1603443600,"open":12970.5,"close":12926.4,"high":13012.5,"low":12909.9,"amount":0.564,"vol":564,"trade_turnover":7308.8828,"count":124},{"id":1603447200,"open":13001.2,"close":13007.7,"high":13059.5,"low":12925.7,"amount":0.536,"vol":536,"trade_turnover":6957.8796,"count":124},{"id":1603450800,"open":13025.4,"close":12970.6,"high":13078.4,"low":12906.5,"amount":0.486,"vol":486,"trade_turnover":6326.1434,"count":122},{"id":1603454400,"open":12963.9,"close":12935.4,"high":13025.0,"low":12850.8,"amount":0.494,"vol":494,"trade_turnover":6396.0984,"count":117},{"id":1603458000,"open":12913.3,"close":12951.7,"high":13043.3,"low":12911.0,"amount":0.466,"vol":466,"trade_turnover":6049.1412,"count":117},{"id":1603461600,"open":12999.6,"close":12858.8,"high":13006.4,"low":12840.4,"amount":0.46,"vol":460,"trade_turnover":5941.815,"count":116},{"id":1603465200,"open":12885.7,"close":12881.9,"high":12932.9,"low":12826.5,"amount":0.492,"vol":492,"trade_turnover":6340.214,"count":117},{"id":1603468800,"open":12854.4,"close":12784.1,"high":12933.5,"low":12744.4,"amount":0.484,"vol":484,"trade_turnover":6205.4138,"count":123},{"id":1603472400,"open":12832.3,"close":12847.7,"high":12893.1,"low":12730.1,"amount":0.562,"vol":562,"trade_turnover":7218.9184,"count":152},{"id":1603476000,"open":12874.1,"close":12915.7,"high":12939.3,"low":12751.4,"amount":0.53,"vol":530,"trade_turnover":6825.7004,"count":128},{"id":1603479600,"open":12867.9,"close":12972.9,"high":12972.9,"low":12786.6,"amount":0.444,"vol":444,"trade_turnover":5727.7452,"count":117},{"id":1603483200,"open":12956.7,"close":12991.6,"high":13002.2,"low":12842.9,"amount":0.492,"vol":492,"trade_turnover":6375.1566,"count":116},{"id":1603486800,"open":13004.3,"close":12943.5,"high":13004.3,"low":12936.6,"amount":0.5,"vol":500,"trade_turnover":6485.468,"count":125},{"id":1603490400,"open":12923.6,"close":12989.2,"high":13010.3,"low":12884.7,"amount":0.492,"vol":492,"trade_turnover":6376.1492,"count":120},{"id":1603494000,"open":12974.9,"close":12884.6,"high":13024.4,"low":12884.6,"amount":0.51,"vol":510,"trade_turnover":6622.3406,"count":121},{"id":1603497600,"open":12973.7,"close":12953.9,"high":13018.3,"low":12811.1,"amount":0.488,"vol":488,"trade_turnover":6317.7938,"count":120},{"id":1603501200,"open":12927.5,"close":12934.2,"high":13018.1,"low":12872.8,"amount":0.482,"vol":482,"trade_turnover":6242.4178,"count":117},{"id":1603504800,"open":12971.9,"close":12989.1,"high":13003.9,"low":12903.3,"amount":0.484,"vol":484,"trade_turnover":6278.1756,"count":117},{"id":1603508400,"open":13000.1,"close":12975.9,"high":13013.4,"low":12938.3,"amount":0.474,"vol":474,"trade_turnover":6157.7096,"count":122},{"id":1603512000,"open":12989.7,"close":12963.3,"high":13009.4,"low":12905.5,"amount":0.526,"vol":526,"trade_turnover":6831.5658,"count":124},{"id":1603515600,"open":12910.5,"close":12989.7,"high":13041.8,"low":12875.3,"amount":0.522,"vol":522,"trade_turnover":6768.8994,"count":127},{"id":1603519200,"open":12994.7,"close":13003.6,"high":13058.1,"low":12908.8,"amount":0.49,"vol":490,"trade_turnover":6370.5714,"count":120},{"id":1603522800,"open":13011.9,"close":13004.2,"high":13037.8,"low":12981.7,"amount":0.478,"vol":478,"trade_turnover":6218.9722,"count":120},{"id":1603526400,"open":13003.0,"close":12998.2,"high":13030.6,"low":12899.4,"amount":0.52,"vol":520,"trade_turnover":6754.958,"count":124},{"id":1603530000,"open":12998.2,"close":12990.6,"high":13020.3,"low":12893.6,"amount":0.454,"vol":454,"trade_turnover":5891.0574,"count":115},{"id":1603533600,"open":12996.4,"close":13030.1,"high":13059.1,"low":12913.2,"amount":0.502,"vol":502,"trade_turnover":6525.9004,"count":124},{"id":1603537200,"open":12988.4,"close":13033.2,"high":13068.3,"low":12940.2,"amount":0.468,"vol":468,"trade_turnover":6091.0376,"count":119},{"id":1603540800,"open":13035.3,"close":13006.5,"high":13071.8,"low":12978.9,"amount":0.468,"vol":468,"trade_turnover":6102.5902,"count":123},{"id":1603544400,"open":13038.8,"close":12985.9,"high":13066.7,"low":12928.1,"amount":0.534,"vol":534,"trade_turnover":6950.4268,"count":123},{"id":1603548000,"open":12986.3,"close":13042.0,"high":13100.1,"low":12960.5,"amount":0.47,"vol":470,"trade_turnover":6124.2178,"count":100},{"id":1603551600,"open":13038.4,"close":13102.2,"high":13196.5,"low":13038.4,"amount":0.456,"vol":456,"trade_turnover":5989.6362,"count":120},{"id":1603555200,"open":13136.8,"close":13052.7,"high":13176.6,"low":12984.6,"amount":0.458,"vol":458,"trade_turnover":5976.331,"count":121},{"id":1603558800,"open":13006.2,"close":13177.8,"high":13177.8,"low":13003.2,"amount":0.452,"vol":452,"trade_turnover":5911.7058,"count":118},{"id":1603562400,"open":13127.7,"close":13080.8,"high":13170.7,"low":13023.0,"amount":0.468,"vol":468,"trade_turnover":6122.375,"count":119},{"id":1603566000,"open":13040.7,"close":13148.4,"high":13179.3,"low":13014.2,"amount":0.468,"vol":468,"trade_turnover":6126.4278,"count":120},{"id":1603569600,"open":13073.5,"close":13090.1,"high":13179.6,"low":12992.5,"amount":0.47,"vol":470,"trade_turnover":6151.4758,"count":119},{"id":1603573200,"open":13035.4,"close":12993.9,"high":13148.7,"low":12980.7,"amount":0.458,"vol":458,"trade_turnover":5981.071,"count":117},{"id":1603576800,"open":13040.7,"close":13041.1,"high":13112.1,"low":12975.6,"amount":0.478,"vol":478,"trade_turnover":6225.4216,"count":118},{"id":1603580400,"open":13012.6,"close":13184.3,"high":13184.3,"low":13009.3,"amount":0.472,"vol":472,"trade_turnover":6173.4244,"count":118},{"id":1603584000,"open":13080.8,"close":13154.3,"high":13170.4,"low":13007.7,"amount":0.46,"vol":460,"trade_turnover":6024.09,"count":115},{"id":1603587600,"open":13092.0,"close":13196.1,"high":13196.8,"low":13024.0,"amount":0.398,"vol":398,"trade_turnover":5217.5364,"count":102},{"id":1603591200,"open":13124.7,"close":13082.4,"high":13175.1,"low":13035.0,"amount":0.476,"vol":476,"trade_turnover":6228.6596,"count":120},{"id":1603594800,"open":13049.1,"close":13259.0,"high":13383.8,"low":13049.1,"amount":0.578,"vol":578,"trade_turnover":7629.3886,"count":137},{"id":1603598400,"open":13277.0,"close":13243.4,"high":13369.0,"low":13216.0,"amount":0.47,"vol":470,"trade_turnover":6247.955,"count":122},{"id":1603602000,"open":13285.3,"close":13017.3,"high":13353.3,"low":13010.1,"amount":0.61,"vol":610,"trade_turnover":8048.8598,"count":134},{"id":1603605600,"open":13022.5,"close":13060.3,"high":13105.7,"low":13018.2,"amount":0.486,"vol":486,"trade_turnover":6344.1474,"count":118},{"id":1603609200,"open":13048.5,"close":13078.1,"high":13112.1,"low":13022.0,"amount":0.464,"vol":464,"trade_turnover":6061.5416,"count":120},{"id":1603612800,"open":13077.2,"close":13046.0,"high":13091.0,"low":13017.2,"amount":0.464,"vol":464,"trade_turnover":6055.3734,"count":120},{"id":1603616400,"open":13065.1,"close":13040.8,"high":13084.0,"low":13014.2,"amount":0.478,"vol":478,"trade_turnover":6235.7882,"count":117},{"id":1603620000,"open":13047.1,"close":13028.5,"high":13064.2,"low":13010.2,"amount":0.478,"vol":478,"trade_turnover":6232.2428,"count":125},{"id":1603623600,"open":13061.5,"close":12897.6,"high":13061.5,"low":12852.9,"amount":0.534,"vol":534,"trade_turnover":6918.1226,"count":123},{"id":1603627200,"open":12908.3,"close":12964.3,"high":13069.7,"low":12893.2,"amount":0.444,"vol":444,"trade_turnover":5755.8712,"count":117},{"id":1603630800,"open":13001.3,"close":12949.3,"high":13071.9,"low":12891.8,"amount":0.498,"vol":498,"trade_turnover":6465.078,"count":119},{"id":1603634400,"open":12975.8,"close":12946.8,"high":13077.7,"low":12900.0,"amount":0.468,"vol":468,"trade_turnover":6075.4554,"count":116},{"id":1603638000,"open":12975.2,"close":12883.3,"high":13069.1,"low":12883.3,"amount":0.47,"vol":470,"trade_turnover":6097.1072,"count":119},{"id":1603641600,"open":12916.2,"close":12978.7,"high":13067.9,"low":12877.5,"amount":0.482,"vol":482,"trade_turnover":6256.4472,"count":118},{"id":1603645200,"open":13008.0,"close":13004.4,"high":13087.5,"low":12922.7,"amount":0.47,"vol":470,"trade_turnover":6108.3892,"count":117},{"id":1603648800,"open":12972.8,"close":12957.2,"high":13067.6,"low":12893.6,"amount":0.468,"vol":468,"trade_turnover":6079.1484,"count":118},{"id":1603652400,"open":12996.5,"close":13021.8,"high":13066.9,"low":12916.6,"amount":0.442,"vol":442,"trade_turnover":5746.5548,"count":118},{"id":1603656000,"open":12992.9,"close":12985.4,"high":13081.5,"low":12944.9,"amount":0.508,"vol":508,"trade_turnover":6616.9872,"count":120},{"id":1603659600,"open":12999.9,"close":13011.2,"high":13068.6,"low":12921.4,"amount":0.508,"vol":508,"trade_turnover":6614.816,"count":122},{"id":1603663200,"open":12979.6,"close":12959.4,"high":13073.8,"low":12911.9,"amount":0.486,"vol":486,"trade_turnover":6320.907,"count":121},{"id":1603666800,"open":12963.4,"close":13032.1,"high":13085.2,"low":12927.8,"amount":0.452,"vol":452,"trade_turnover":5878.6442,"count":113},{"id":1603670400,"open":12964.2,"close":13001.0,"high":13076.7,"low":12918.3,"amount":0.482,"vol":482,"trade_turnover":6263.698,"count":121},{"id":1603674000,"open":13040.0,"close":13053.7,"high":13096.4,"low":12991.2,"amount":0.478,"vol":478,"trade_turnover":6232.2328,"count":124},{"id":1603677600,"open":13060.6,"close":13064.4,"high":13185.7,"low":12985.1,"amount":0.488,"vol":488,"trade_turnover":6387.534,"count":121},{"id":1603681200,"open":13032.3,"close":13092.8,"high":13187.2,"low":12984.1,"amount":0.486,"vol":486,"trade_turnover":6369.0272,"count":135},{"id":1603684800,"open":13092.0,"close":13132.6,"high":13181.6,"low":12962.3,"amount":0.51,"vol":510,"trade_turnover":6679.829,"count":131},{"id":1603688400,"open":13129.2,"close":13092.1,"high":13205.3,"low":13025.3,"amount":0.506,"vol":506,"trade_turnover":6641.2128,"count":126},{"id":1603692000,"open":13121.8,"close":13071.4,"high":13188.1,"low":12989.8,"amount":1.616,"vol":1616,"trade_turnover":21170.8224,"count":141},{"id":1603695600,"open":13061.0,"close":13038.7,"high":13100.0,"low":12965.2,"amount":3.746,"vol":3746,"trade_turnover":48924.8902,"count":110},{"id":1603699200,"open":13030.9,"close":13039.3,"high":13102.0,"low":12852.8,"amount":8.966,"vol":8966,"trade_turnover":116525.5534,"count":173},{"id":1603702800,"open":13047.1,"close":13075.9,"high":13088.4,"low":13039.8,"amount":4.48,"vol":4480,"trade_turnover":58521.1714,"count":124},{"id":1603706400,"open":13072.1,"close":13100.0,"high":13100.0,"low":13060.2,"amount":4.272,"vol":4272,"trade_turnover":55895.9778,"count":130},{"id":1603710000,"open":13100.0,"close":13138.4,"high":13159.0,"low":13100.0,"amount":29.798,"vol":29798,"trade_turnover":391138.024,"count":230},{"id":1603713600,"open":13138.8,"close":13149.8,"high":13200.0,"low":13100.0,"amount":5.154,"vol":5154,"trade_turnover":67694.652,"count":188},{"id":1603717200,"open":13150.0,"close":13205.8,"high":13351.5,"low":13133.1,"amount":35.608,"vol":35608,"trade_turnover":472780.3394,"count":328},{"id":1603720800,"open":13203.0,"close":13166.1,"high":13280.0,"low":13144.1,"amount":31.748,"vol":31748,"trade_turnover":418744.5588,"count":235},{"id":1603724400,"open":13159.0,"close":12978.0,"high":13165.2,"low":12903.8,"amount":36.53,"vol":36530,"trade_turnover":476940.3296,"count":384},{"id":1603728000,"open":12965.0,"close":12869.6,"high":13069.8,"low":12850.5,"amount":35.018,"vol":35018,"trade_turnover":453288.918,"count":323},{"id":1603731600,"open":12879.2,"close":12873.8,"high":12941.5,"low":12583.9,"amount":92.628,"vol":92628,"trade_turnover":1185973.467,"count":560},{"id":1603735200,"open":12856.2,"close":12946.8,"high":12954.5,"low":12820.4,"amount":4.302,"vol":4302,"trade_turnover":55481.0054,"count":128},{"id":1603738800,"open":12945.6,"close":12953.4,"high":12953.5,"low":12914.1,"amount":13.83,"vol":13830,"trade_turnover":179112.1598,"count":118},{"id":1603742400,"open":12953.5,"close":12983.4,"high":13007.5,"low":12953.5,"amount":17.172,"vol":17172,"trade_turnover":223230.2122,"count":132},{"id":1603746000,"open":12983.1,"close":12993.8,"high":13007.5,"low":12982.7,"amount":3.212,"vol":3212,"trade_turnover":41767.8906,"count":59},{"id":1603749600,"open":13002.1,"close":13007.5,"high":13007.5,"low":12974.0,"amount":1.504,"vol":1504,"trade_turnover":19543.3568,"count":74},{"id":1603753200,"open":13007.5,"close":13033.7,"high":13061.2,"low":13007.5,"amount":3.454,"vol":3454,"trade_turnover":45001.601,"count":101},{"id":1603756800,"open":13029.2,"close":13067.1,"high":13105.0,"low":13028.3,"amount":8.784,"vol":8784,"trade_turnover":114871.8246,"count":98},{"id":1603760400,"open":13074.3,"close":13061.7,"high":13074.4,"low":13051.5,"amount":11.592,"vol":11592,"trade_turnover":151386.9038,"count":66},{"id":1603764000,"open":13061.7,"close":13049.7,"high":13097.6,"low":13040.1,"amount":19.298,"vol":19298,"trade_turnover":252061.019,"count":109},{"id":1603767600,"open":13057.6,"close":13070.4,"high":13080.0,"low":13057.1,"amount":22.992,"vol":22992,"trade_turnover":300453.9788,"count":69},{"id":1603771200,"open":13080.0,"close":13103.3,"high":13175.0,"low":13079.6,"amount":14.396,"vol":14396,"trade_turnover":188461.9156,"count":59},{"id":1603774800,"open":13121.3,"close":13073.6,"high":13121.3,"low":13069.7,"amount":5.058,"vol":5058,"trade_turnover":66201.3552,"count":44},{"id":1603778400,"open":13074.9,"close":13103.4,"high":13149.0,"low":13069.6,"amount":9.106,"vol":9106,"trade_turnover":119104.8906,"count":107},{"id":1603782000,"open":13103.3,"close":13130.0,"high":13169.8,"low":12992.4,"amount":73.95,"vol":73950,"trade_turnover":968195.155,"count":305},{"id":1603785600,"open":13135.1,"close":13123.8,"high":13148.4,"low":13044.0,"amount":18.732,"vol":18732,"trade_turnover":245533.5448,"count":135},{"id":1603789200,"open":13115.5,"close":13131.7,"high":13131.8,"low":13075.7,"amount":13.756,"vol":13756,"trade_turnover":180253.7708,"count":102},{"id":1603792800,"open":13134.8,"close":13216.9,"high":13252.0,"low":13063.4,"amount":154.108,"vol":154108,"trade_turnover":2029983.656,"count":525},{"id":1603796400,"open":13218.8,"close":13395.8,"high":13590.1,"low":13213.5,"amount":170.09,"vol":170090,"trade_turnover":2276279.742,"count":591},{"id":1603800000,"open":13395.9,"close":13376.9,"high":13414.0,"low":13331.7,"amount":48.928,"vol":48928,"trade_turnover":654585.9108,"count":216},{"id":1603803600,"open":13376.5,"close":13384.3,"high":13490.9,"low":13329.8,"amount":63.294,"vol":63294,"trade_turnover":848130.9212,"count":316},{"id":1603807200,"open":13392.6,"close":13398.2,"high":13415.8,"low":13344.8,"amount":12.892,"vol":12892,"trade_turnover":172618.6864,"count":124},{"id":1603810800,"open":13398.2,"close":13598.5,"high":13626.7,"low":13398.2,"amount":93.22,"vol":93220,"trade_turnover":1262695.5466,"count":476},{"id":1603814400,"open":13595.8,"close":13639.9,"high":13639.9,"low":13520.2,"amount":85.45,"vol":85450,"trade_turnover":1161481.4136,"count":435},{"id":1603818000,"open":13640.0,"close":13688.1,"high":13826.7,"low":13589.0,"amount":191.812,"vol":191812,"trade_turnover":2628428.3788,"count":711},{"id":1603821600,"open":13685.0,"close":13630.1,"high":13745.0,"low":13528.2,"amount":65.434,"vol":65434,"trade_turnover":891541.8394,"count":410},{"id":1603825200,"open":13629.4,"close":13637.1,"high":13659.8,"low":13595.4,"amount":5.788,"vol":5788,"trade_turnover":78836.2578,"count":65},{"id":1603828800,"open":13644.4,"close":13616.6,"high":13805.1,"low":13582.6,"amount":163.104,"vol":163104,"trade_turnover":2234040.3544,"count":537},{"id":1603832400,"open":13609.8,"close":13705.5,"high":13753.5,"low":13609.8,"amount":9.884,"vol":9884,"trade_turnover":135406.4752,"count":101},{"id":1603836000,"open":13705.4,"close":13739.9,"high":13739.9,"low":13658.2,"amount":7.436,"vol":7436,"trade_turnover":101840.3508,"count":100},{"id":1603839600,"open":13739.9,"close":13649.6,"high":13794.6,"low":13582.6,"amount":17.086,"vol":17086,"trade_turnover":233971.8448,"count":234},{"id":1603843200,"open":13645.9,"close":13701.7,"high":13745.2,"low":13618.8,"amount":24.108,"vol":24108,"trade_turnover":330206.5694,"count":177},{"id":1603846800,"open":13702.1,"close":13702.6,"high":13725.6,"low":13647.9,"amount":15.892,"vol":15892,"trade_turnover":217816.7008,"count":151},{"id":1603850400,"open":13701.7,"close":13811.6,"high":13832.2,"low":13680.2,"amount":46.548,"vol":46548,"trade_turnover":640636.0352,"count":274},{"id":1603854000,"open":13818.5,"close":13777.0,"high":13820.3,"low":13717.5,"amount":67.896,"vol":67896,"trade_turnover":935838.2238,"count":320},{"id":1603857600,"open":13767.3,"close":13735.7,"high":13807.2,"low":13710.0,"amount":33.156,"vol":33156,"trade_turnover":455941.234,"count":210},{"id":1603861200,"open":13735.5,"close":13715.8,"high":13753.9,"low":13671.3,"amount":32.076,"vol":32076,"trade_turnover":439612.64,"count":198},{"id":1603864800,"open":13715.9,"close":13701.3,"high":13757.0,"low":13694.9,"amount":14.756,"vol":14756,"trade_turnover":202602.5164,"count":122},{"id":1603868400,"open":13701.2,"close":13674.2,"high":13708.7,"low":13550.0,"amount":155.534,"vol":155534,"trade_turnover":2117935.0928,"count":635},{"id":1603872000,"open":13673.0,"close":13691.7,"high":13691.7,"low":13584.0,"amount":29.846,"vol":29846,"trade_turnover":407073.1398,"count":240},{"id":1603875600,"open":13689.3,"close":13587.1,"high":13707.5,"low":13573.5,"amount":104.542,"vol":104542,"trade_turnover":1425079.9344,"count":377},{"id":1603879200,"open":13584.6,"close":13552.7,"high":13618.0,"low":13504.7,"amount":73.818,"vol":73818,"trade_turnover":1001666.0908,"count":358},{"id":1603882800,"open":13552.6,"close":13336.4,"high":13565.4,"low":13330.0,"amount":176.544,"vol":176544,"trade_turnover":2369166.1492,"count":1004},{"id":1603886400,"open":13331.5,"close":13300.3,"high":13385.0,"low":13173.9,"amount":289.73,"vol":289730,"trade_turnover":3846751.7166,"count":968},{"id":1603890000,"open":13300.2,"close":13129.9,"high":13340.0,"low":13122.9,"amount":139.822,"vol":139822,"trade_turnover":1848876.932,"count":612},{"id":1603893600,"open":13123.4,"close":13082.2,"high":13168.2,"low":12915.9,"amount":367.876,"vol":367876,"trade_turnover":4802516.9818,"count":1168},{"id":1603897200,"open":13077.1,"close":13221.2,"high":13235.2,"low":13052.3,"amount":84.044,"vol":84044,"trade_turnover":1106883.1282,"count":375},{"id":1603900800,"open":13218.7,"close":13145.1,"high":13218.7,"low":13050.0,"amount":29.566,"vol":29566,"trade_turnover":388697.4104,"count":244},{"id":1603904400,"open":13145.1,"close":13176.7,"high":13204.9,"low":13006.6,"amount":53.336,"vol":53336,"trade_turnover":700385.2784,"count":299},{"id":1603908000,"open":13171.0,"close":13196.5,"high":13219.6,"low":13131.0,"amount":34.164,"vol":34164,"trade_turnover":450210.5778,"count":218},{"id":1603911600,"open":13200.0,"close":13154.9,"high":13237.4,"low":13145.0,"amount":22.158,"vol":22158,"trade_turnover":292020.0438,"count":185},{"id":1603915200,"open":13154.5,"close":13198.1,"high":13211.8,"low":13147.4,"amount":4.548,"vol":4548,"trade_turnover":59991.1118,"count":75},{"id":1603918800,"open":13193.5,"close":13190.1,"high":13196.5,"low":13100.2,"amount":3.52,"vol":3520,"trade_turnover":46175.428,"count":68},{"id":1603922400,"open":13185.4,"close":13252.0,"high":13267.5,"low":13185.4,"amount":3.122,"vol":3122,"trade_turnover":41304.2018,"count":72},{"id":1603926000,"open":13242.1,"close":13265.9,"high":13282.3,"low":13235.9,"amount":14.768,"vol":14768,"trade_turnover":195689.0764,"count":86},{"id":1603929600,"open":13253.9,"close":13245.1,"high":13294.7,"low":13237.4,"amount":19.968,"vol":19968,"trade_turnover":264834.1944,"count":98},{"id":1603933200,"open":13244.6,"close":13274.2,"high":13285.3,"low":13166.3,"amount":35.282,"vol":35282,"trade_turnover":465789.6302,"count":192},{"id":1603936800,"open":13275.9,"close":13241.1,"high":13277.7,"low":13212.2,"amount":9.748,"vol":9748,"trade_turnover":129016.0684,"count":119},{"id":1603940400,"open":13237.1,"close":13262.5,"high":13262.5,"low":13174.6,"amount":27.3,"vol":27300,"trade_turnover":360589.8982,"count":199},{"id":1603944000,"open":13269.1,"close":13229.5,"high":13277.7,"low":13229.5,"amount":18.904,"vol":18904,"trade_turnover":250713.2812,"count":109},{"id":1603947600,"open":13228.5,"close":13274.8,"high":13274.8,"low":13228.5,"amount":15.822,"vol":15822,"trade_turnover":209781.909,"count":134},{"id":1603951200,"open":13274.8,"close":13255.0,"high":13323.0,"low":13242.3,"amount":91.246,"vol":91246,"trade_turnover":1211271.2788,"count":294},{"id":1603954800,"open":13255.0,"close":13142.4,"high":13269.3,"low":13123.1,"amount":187.622,"vol":187622,"trade_turnover":2478299.7074,"count":506},{"id":1603958400,"open":13145.9,"close":13124.8,"high":13182.4,"low":13094.1,"amount":69.532,"vol":69532,"trade_turnover":914157.2418,"count":226},{"id":1603962000,"open":13129.5,"close":13183.7,"high":13197.1,"low":13129.5,"amount":23.184,"vol":23184,"trade_turnover":305485.9524,"count":141},{"id":1603965600,"open":13184.8,"close":13105.2,"high":13187.5,"low":13053.1,"amount":121.146,"vol":121146,"trade_turnover":1590026.4416,"count":442},{"id":1603969200,"open":13105.1,"close":13060.1,"high":13171.4,"low":13060.1,"amount":47.498,"vol":47498,"trade_turnover":623578.149,"count":262},{"id":1603972800,"open":13056.9,"close":13131.8,"high":13145.8,"low":12977.9,"amount":126.552,"vol":126552,"trade_turnover":1652549.311,"count":481},{"id":1603976400,"open":13131.7,"close":13230.0,"high":13237.2,"low":13102.0,"amount":100.482,"vol":100482,"trade_turnover":1326403.7206,"count":325},{"id":1603980000,"open":13231.0,"close":13420.8,"high":13476.1,"low":13231.0,"amount":253.258,"vol":253258,"trade_turnover":3384941.438,"count":752},{"id":1603983600,"open":13416.0,"close":13420.6,"high":13458.7,"low":13358.7,"amount":64.71,"vol":64710,"trade_turnover":869052.3804,"count":269},{"id":1603987200,"open":13421.9,"close":13535.9,"high":13594.5,"low":13391.8,"amount":120.24,"vol":120240,"trade_turnover":1626567.8278,"count":570}]} +2024-01-18 11:12:56.810 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:41] - 请求 KLine 数据解析之后的数据为:{"wsid":19750305,"data":[{"amount":0.276,"high":12300.0,"vol":276,"low":11715.8,"count":39,"id":1603270800,"close":12196.7,"tradeTurnover":3315.9104,"open":12198.0},{"amount":0.198,"high":12289.9,"vol":198,"low":12111.0,"count":21,"id":1603274400,"close":12277.9,"tradeTurnover":2420.7728,"open":12196.7},{"amount":0.012,"high":12277.9,"vol":12,"low":12000.0,"count":5,"id":1603278000,"close":12000.0,"tradeTurnover":145.2238,"open":12111.0},{"amount":0.084,"high":12498.0,"vol":84,"low":12078.0,"count":12,"id":1603281600,"close":12497.4,"tradeTurnover":1040.0504,"open":12078.0},{"amount":1.122,"high":12495.6,"vol":1122,"low":12282.9,"count":112,"id":1603285200,"close":12373.5,"tradeTurnover":13905.3124,"open":12495.6},{"amount":5.29,"high":12807.6,"vol":5290,"low":12358.1,"count":155,"id":1603288800,"close":12689.9,"tradeTurnover":66852.128,"open":12412.9},{"amount":1.174,"high":12778.7,"vol":1174,"low":12573.2,"count":113,"id":1603292400,"close":12701.9,"tradeTurnover":14907.367,"open":12692.8},{"amount":1.156,"high":12920.9,"vol":1156,"low":12624.8,"count":115,"id":1603296000,"close":12835.9,"tradeTurnover":14802.449,"open":12679.7},{"amount":1.12,"high":12908.3,"vol":1120,"low":12687.5,"count":115,"id":1603299600,"close":12754.2,"tradeTurnover":14345.7324,"open":12848.3},{"amount":1.106,"high":12849.0,"vol":1106,"low":12668.3,"count":114,"id":1603303200,"close":12740.2,"tradeTurnover":14105.3504,"open":12743.7},{"amount":1.032,"high":12843.1,"vol":1032,"low":12597.2,"count":112,"id":1603306800,"close":12650.3,"tradeTurnover":13125.4568,"open":12729.5},{"amount":1.154,"high":12848.4,"vol":1154,"low":12610.2,"count":116,"id":1603310400,"close":12807.0,"tradeTurnover":14680.638,"open":12666.8},{"amount":1.164,"high":13005.1,"vol":1164,"low":12748.2,"count":114,"id":1603314000,"close":12938.9,"tradeTurnover":14976.9366,"open":12866.0},{"amount":1.174,"high":13211.2,"vol":1174,"low":12865.7,"count":114,"id":1603317600,"close":13122.0,"tradeTurnover":15285.2446,"open":12921.0},{"amount":1.172,"high":13173.2,"vol":1172,"low":12688.6,"count":117,"id":1603321200,"close":12829.8,"tradeTurnover":15060.9938,"open":13153.2},{"amount":1.17,"high":12988.1,"vol":1170,"low":12764.4,"count":117,"id":1603324800,"close":12885.9,"tradeTurnover":15046.2046,"open":12793.1},{"amount":1.158,"high":12972.6,"vol":1158,"low":12757.5,"count":118,"id":1603328400,"close":12757.5,"tradeTurnover":14882.4656,"open":12860.4},{"amount":1.124,"high":12848.0,"vol":1124,"low":12729.0,"count":115,"id":1603332000,"close":12788.8,"tradeTurnover":14368.7948,"open":12824.1},{"amount":1.194,"high":12834.4,"vol":1194,"low":12729.0,"count":111,"id":1603335600,"close":12767.2,"tradeTurnover":15268.9298,"open":12791.7},{"amount":1.152,"high":12778.3,"vol":1152,"low":12729.0,"count":115,"id":1603339200,"close":12762.2,"tradeTurnover":14695.4876,"open":12729.0},{"amount":1.21,"high":12842.0,"vol":1210,"low":12730.6,"count":119,"id":1603342800,"close":12813.8,"tradeTurnover":15440.8162,"open":12763.1},{"amount":1.188,"high":12795.0,"vol":1188,"low":12728.0,"count":123,"id":1603346400,"close":12729.1,"tradeTurnover":15128.0098,"open":12795.0},{"amount":1.266,"high":12730.6,"vol":1266,"low":12728.3,"count":112,"id":1603350000,"close":12730.6,"tradeTurnover":16115.1306,"open":12728.6},{"amount":1.35,"high":12921.5,"vol":1350,"low":12729.9,"count":127,"id":1603353600,"close":12770.1,"tradeTurnover":17233.7326,"open":12730.3},{"amount":0.98,"high":12872.1,"vol":980,"low":12760.1,"count":99,"id":1603357200,"close":12780.4,"tradeTurnover":12553.9826,"open":12824.9},{"amount":0.266,"high":13002.7,"vol":266,"low":12775.6,"count":30,"id":1603360800,"close":12934.2,"tradeTurnover":3415.023,"open":12784.9},{"amount":1.004,"high":13057.0,"vol":1004,"low":12886.6,"count":117,"id":1603364400,"close":13045.0,"tradeTurnover":13020.8576,"open":12977.0},{"amount":1.134,"high":12973.4,"vol":1134,"low":12751.6,"count":111,"id":1603368000,"close":12847.9,"tradeTurnover":14594.2752,"open":12958.5},{"amount":1.152,"high":13000.8,"vol":1152,"low":12743.0,"count":114,"id":1603371600,"close":12931.0,"tradeTurnover":14877.7314,"open":12882.7},{"amount":1.182,"high":12995.3,"vol":1182,"low":12783.9,"count":115,"id":1603375200,"close":12917.8,"tradeTurnover":15224.4716,"open":12890.4},{"amount":1.176,"high":13031.2,"vol":1176,"low":12817.9,"count":117,"id":1603378800,"close":12953.0,"tradeTurnover":15197.208,"open":12918.8},{"amount":1.146,"high":13100.2,"vol":1146,"low":12865.6,"count":119,"id":1603382400,"close":13055.6,"tradeTurnover":14851.9604,"open":12923.1},{"amount":1.534,"high":13105.7,"vol":1534,"low":12835.5,"count":124,"id":1603386000,"close":13082.7,"tradeTurnover":19927.8288,"open":12967.6},{"amount":1.268,"high":13115.0,"vol":1268,"low":12938.7,"count":117,"id":1603389600,"close":13016.4,"tradeTurnover":16505.4738,"open":13020.4},{"amount":1.13,"high":13171.2,"vol":1130,"low":12961.8,"count":112,"id":1603393200,"close":12970.6,"tradeTurnover":14762.952,"open":13028.3},{"amount":1.206,"high":13216.1,"vol":1206,"low":12998.5,"count":117,"id":1603396800,"close":13089.3,"tradeTurnover":15807.1226,"open":13016.7},{"amount":1.332,"high":13203.7,"vol":1332,"low":12932.9,"count":114,"id":1603400400,"close":13092.0,"tradeTurnover":17423.4422,"open":13136.0},{"amount":1.21,"high":13250.5,"vol":1210,"low":12984.7,"count":114,"id":1603404000,"close":13055.9,"tradeTurnover":15876.0632,"open":13119.4},{"amount":1.286,"high":13126.5,"vol":1286,"low":12857.2,"count":116,"id":1603407600,"close":12890.4,"tradeTurnover":16688.422,"open":13059.4},{"amount":1.502,"high":12994.0,"vol":1502,"low":12751.6,"count":131,"id":1603411200,"close":12892.2,"tradeTurnover":19331.1596,"open":12929.7},{"amount":1.386,"high":13003.2,"vol":1386,"low":12786.0,"count":121,"id":1603414800,"close":12898.3,"tradeTurnover":17904.8902,"open":12921.7},{"amount":1.416,"high":13054.0,"vol":1416,"low":12800.7,"count":122,"id":1603418400,"close":12975.1,"tradeTurnover":18306.6204,"open":12951.6},{"amount":1.19,"high":13030.7,"vol":1190,"low":12875.0,"count":118,"id":1603422000,"close":12947.0,"tradeTurnover":15409.7984,"open":12967.3},{"amount":1.022,"high":13047.3,"vol":1022,"low":12832.8,"count":127,"id":1603425600,"close":12852.0,"tradeTurnover":13214.4388,"open":12925.2},{"amount":0.478,"high":12991.7,"vol":478,"low":12841.2,"count":118,"id":1603429200,"close":12931.1,"tradeTurnover":6180.2486,"open":12859.0},{"amount":0.522,"high":13014.1,"vol":522,"low":12871.9,"count":132,"id":1603432800,"close":12939.6,"tradeTurnover":6759.0324,"open":12935.9},{"amount":0.476,"high":12998.9,"vol":476,"low":12917.1,"count":118,"id":1603436400,"close":12925.4,"tradeTurnover":6163.3118,"open":12923.1},{"amount":0.508,"high":13014.0,"vol":508,"low":12916.1,"count":122,"id":1603440000,"close":12962.6,"tradeTurnover":6585.3656,"open":12942.2},{"amount":0.564,"high":13012.5,"vol":564,"low":12909.9,"count":124,"id":1603443600,"close":12926.4,"tradeTurnover":7308.8828,"open":12970.5},{"amount":0.536,"high":13059.5,"vol":536,"low":12925.7,"count":124,"id":1603447200,"close":13007.7,"tradeTurnover":6957.8796,"open":13001.2},{"amount":0.486,"high":13078.4,"vol":486,"low":12906.5,"count":122,"id":1603450800,"close":12970.6,"tradeTurnover":6326.1434,"open":13025.4},{"amount":0.494,"high":13025.0,"vol":494,"low":12850.8,"count":117,"id":1603454400,"close":12935.4,"tradeTurnover":6396.0984,"open":12963.9},{"amount":0.466,"high":13043.3,"vol":466,"low":12911.0,"count":117,"id":1603458000,"close":12951.7,"tradeTurnover":6049.1412,"open":12913.3},{"amount":0.46,"high":13006.4,"vol":460,"low":12840.4,"count":116,"id":1603461600,"close":12858.8,"tradeTurnover":5941.815,"open":12999.6},{"amount":0.492,"high":12932.9,"vol":492,"low":12826.5,"count":117,"id":1603465200,"close":12881.9,"tradeTurnover":6340.214,"open":12885.7},{"amount":0.484,"high":12933.5,"vol":484,"low":12744.4,"count":123,"id":1603468800,"close":12784.1,"tradeTurnover":6205.4138,"open":12854.4},{"amount":0.562,"high":12893.1,"vol":562,"low":12730.1,"count":152,"id":1603472400,"close":12847.7,"tradeTurnover":7218.9184,"open":12832.3},{"amount":0.53,"high":12939.3,"vol":530,"low":12751.4,"count":128,"id":1603476000,"close":12915.7,"tradeTurnover":6825.7004,"open":12874.1},{"amount":0.444,"high":12972.9,"vol":444,"low":12786.6,"count":117,"id":1603479600,"close":12972.9,"tradeTurnover":5727.7452,"open":12867.9},{"amount":0.492,"high":13002.2,"vol":492,"low":12842.9,"count":116,"id":1603483200,"close":12991.6,"tradeTurnover":6375.1566,"open":12956.7},{"amount":0.5,"high":13004.3,"vol":500,"low":12936.6,"count":125,"id":1603486800,"close":12943.5,"tradeTurnover":6485.468,"open":13004.3},{"amount":0.492,"high":13010.3,"vol":492,"low":12884.7,"count":120,"id":1603490400,"close":12989.2,"tradeTurnover":6376.1492,"open":12923.6},{"amount":0.51,"high":13024.4,"vol":510,"low":12884.6,"count":121,"id":1603494000,"close":12884.6,"tradeTurnover":6622.3406,"open":12974.9},{"amount":0.488,"high":13018.3,"vol":488,"low":12811.1,"count":120,"id":1603497600,"close":12953.9,"tradeTurnover":6317.7938,"open":12973.7},{"amount":0.482,"high":13018.1,"vol":482,"low":12872.8,"count":117,"id":1603501200,"close":12934.2,"tradeTurnover":6242.4178,"open":12927.5},{"amount":0.484,"high":13003.9,"vol":484,"low":12903.3,"count":117,"id":1603504800,"close":12989.1,"tradeTurnover":6278.1756,"open":12971.9},{"amount":0.474,"high":13013.4,"vol":474,"low":12938.3,"count":122,"id":1603508400,"close":12975.9,"tradeTurnover":6157.7096,"open":13000.1},{"amount":0.526,"high":13009.4,"vol":526,"low":12905.5,"count":124,"id":1603512000,"close":12963.3,"tradeTurnover":6831.5658,"open":12989.7},{"amount":0.522,"high":13041.8,"vol":522,"low":12875.3,"count":127,"id":1603515600,"close":12989.7,"tradeTurnover":6768.8994,"open":12910.5},{"amount":0.49,"high":13058.1,"vol":490,"low":12908.8,"count":120,"id":1603519200,"close":13003.6,"tradeTurnover":6370.5714,"open":12994.7},{"amount":0.478,"high":13037.8,"vol":478,"low":12981.7,"count":120,"id":1603522800,"close":13004.2,"tradeTurnover":6218.9722,"open":13011.9},{"amount":0.52,"high":13030.6,"vol":520,"low":12899.4,"count":124,"id":1603526400,"close":12998.2,"tradeTurnover":6754.958,"open":13003.0},{"amount":0.454,"high":13020.3,"vol":454,"low":12893.6,"count":115,"id":1603530000,"close":12990.6,"tradeTurnover":5891.0574,"open":12998.2},{"amount":0.502,"high":13059.1,"vol":502,"low":12913.2,"count":124,"id":1603533600,"close":13030.1,"tradeTurnover":6525.9004,"open":12996.4},{"amount":0.468,"high":13068.3,"vol":468,"low":12940.2,"count":119,"id":1603537200,"close":13033.2,"tradeTurnover":6091.0376,"open":12988.4},{"amount":0.468,"high":13071.8,"vol":468,"low":12978.9,"count":123,"id":1603540800,"close":13006.5,"tradeTurnover":6102.5902,"open":13035.3},{"amount":0.534,"high":13066.7,"vol":534,"low":12928.1,"count":123,"id":1603544400,"close":12985.9,"tradeTurnover":6950.4268,"open":13038.8},{"amount":0.47,"high":13100.1,"vol":470,"low":12960.5,"count":100,"id":1603548000,"close":13042.0,"tradeTurnover":6124.2178,"open":12986.3},{"amount":0.456,"high":13196.5,"vol":456,"low":13038.4,"count":120,"id":1603551600,"close":13102.2,"tradeTurnover":5989.6362,"open":13038.4},{"amount":0.458,"high":13176.6,"vol":458,"low":12984.6,"count":121,"id":1603555200,"close":13052.7,"tradeTurnover":5976.331,"open":13136.8},{"amount":0.452,"high":13177.8,"vol":452,"low":13003.2,"count":118,"id":1603558800,"close":13177.8,"tradeTurnover":5911.7058,"open":13006.2},{"amount":0.468,"high":13170.7,"vol":468,"low":13023.0,"count":119,"id":1603562400,"close":13080.8,"tradeTurnover":6122.375,"open":13127.7},{"amount":0.468,"high":13179.3,"vol":468,"low":13014.2,"count":120,"id":1603566000,"close":13148.4,"tradeTurnover":6126.4278,"open":13040.7},{"amount":0.47,"high":13179.6,"vol":470,"low":12992.5,"count":119,"id":1603569600,"close":13090.1,"tradeTurnover":6151.4758,"open":13073.5},{"amount":0.458,"high":13148.7,"vol":458,"low":12980.7,"count":117,"id":1603573200,"close":12993.9,"tradeTurnover":5981.071,"open":13035.4},{"amount":0.478,"high":13112.1,"vol":478,"low":12975.6,"count":118,"id":1603576800,"close":13041.1,"tradeTurnover":6225.4216,"open":13040.7},{"amount":0.472,"high":13184.3,"vol":472,"low":13009.3,"count":118,"id":1603580400,"close":13184.3,"tradeTurnover":6173.4244,"open":13012.6},{"amount":0.46,"high":13170.4,"vol":460,"low":13007.7,"count":115,"id":1603584000,"close":13154.3,"tradeTurnover":6024.09,"open":13080.8},{"amount":0.398,"high":13196.8,"vol":398,"low":13024.0,"count":102,"id":1603587600,"close":13196.1,"tradeTurnover":5217.5364,"open":13092.0},{"amount":0.476,"high":13175.1,"vol":476,"low":13035.0,"count":120,"id":1603591200,"close":13082.4,"tradeTurnover":6228.6596,"open":13124.7},{"amount":0.578,"high":13383.8,"vol":578,"low":13049.1,"count":137,"id":1603594800,"close":13259.0,"tradeTurnover":7629.3886,"open":13049.1},{"amount":0.47,"high":13369.0,"vol":470,"low":13216.0,"count":122,"id":1603598400,"close":13243.4,"tradeTurnover":6247.955,"open":13277.0},{"amount":0.61,"high":13353.3,"vol":610,"low":13010.1,"count":134,"id":1603602000,"close":13017.3,"tradeTurnover":8048.8598,"open":13285.3},{"amount":0.486,"high":13105.7,"vol":486,"low":13018.2,"count":118,"id":1603605600,"close":13060.3,"tradeTurnover":6344.1474,"open":13022.5},{"amount":0.464,"high":13112.1,"vol":464,"low":13022.0,"count":120,"id":1603609200,"close":13078.1,"tradeTurnover":6061.5416,"open":13048.5},{"amount":0.464,"high":13091.0,"vol":464,"low":13017.2,"count":120,"id":1603612800,"close":13046.0,"tradeTurnover":6055.3734,"open":13077.2},{"amount":0.478,"high":13084.0,"vol":478,"low":13014.2,"count":117,"id":1603616400,"close":13040.8,"tradeTurnover":6235.7882,"open":13065.1},{"amount":0.478,"high":13064.2,"vol":478,"low":13010.2,"count":125,"id":1603620000,"close":13028.5,"tradeTurnover":6232.2428,"open":13047.1},{"amount":0.534,"high":13061.5,"vol":534,"low":12852.9,"count":123,"id":1603623600,"close":12897.6,"tradeTurnover":6918.1226,"open":13061.5},{"amount":0.444,"high":13069.7,"vol":444,"low":12893.2,"count":117,"id":1603627200,"close":12964.3,"tradeTurnover":5755.8712,"open":12908.3},{"amount":0.498,"high":13071.9,"vol":498,"low":12891.8,"count":119,"id":1603630800,"close":12949.3,"tradeTurnover":6465.078,"open":13001.3},{"amount":0.468,"high":13077.7,"vol":468,"low":12900.0,"count":116,"id":1603634400,"close":12946.8,"tradeTurnover":6075.4554,"open":12975.8},{"amount":0.47,"high":13069.1,"vol":470,"low":12883.3,"count":119,"id":1603638000,"close":12883.3,"tradeTurnover":6097.1072,"open":12975.2},{"amount":0.482,"high":13067.9,"vol":482,"low":12877.5,"count":118,"id":1603641600,"close":12978.7,"tradeTurnover":6256.4472,"open":12916.2},{"amount":0.47,"high":13087.5,"vol":470,"low":12922.7,"count":117,"id":1603645200,"close":13004.4,"tradeTurnover":6108.3892,"open":13008.0},{"amount":0.468,"high":13067.6,"vol":468,"low":12893.6,"count":118,"id":1603648800,"close":12957.2,"tradeTurnover":6079.1484,"open":12972.8},{"amount":0.442,"high":13066.9,"vol":442,"low":12916.6,"count":118,"id":1603652400,"close":13021.8,"tradeTurnover":5746.5548,"open":12996.5},{"amount":0.508,"high":13081.5,"vol":508,"low":12944.9,"count":120,"id":1603656000,"close":12985.4,"tradeTurnover":6616.9872,"open":12992.9},{"amount":0.508,"high":13068.6,"vol":508,"low":12921.4,"count":122,"id":1603659600,"close":13011.2,"tradeTurnover":6614.816,"open":12999.9},{"amount":0.486,"high":13073.8,"vol":486,"low":12911.9,"count":121,"id":1603663200,"close":12959.4,"tradeTurnover":6320.907,"open":12979.6},{"amount":0.452,"high":13085.2,"vol":452,"low":12927.8,"count":113,"id":1603666800,"close":13032.1,"tradeTurnover":5878.6442,"open":12963.4},{"amount":0.482,"high":13076.7,"vol":482,"low":12918.3,"count":121,"id":1603670400,"close":13001.0,"tradeTurnover":6263.698,"open":12964.2},{"amount":0.478,"high":13096.4,"vol":478,"low":12991.2,"count":124,"id":1603674000,"close":13053.7,"tradeTurnover":6232.2328,"open":13040.0},{"amount":0.488,"high":13185.7,"vol":488,"low":12985.1,"count":121,"id":1603677600,"close":13064.4,"tradeTurnover":6387.534,"open":13060.6},{"amount":0.486,"high":13187.2,"vol":486,"low":12984.1,"count":135,"id":1603681200,"close":13092.8,"tradeTurnover":6369.0272,"open":13032.3},{"amount":0.51,"high":13181.6,"vol":510,"low":12962.3,"count":131,"id":1603684800,"close":13132.6,"tradeTurnover":6679.829,"open":13092.0},{"amount":0.506,"high":13205.3,"vol":506,"low":13025.3,"count":126,"id":1603688400,"close":13092.1,"tradeTurnover":6641.2128,"open":13129.2},{"amount":1.616,"high":13188.1,"vol":1616,"low":12989.8,"count":141,"id":1603692000,"close":13071.4,"tradeTurnover":21170.8224,"open":13121.8},{"amount":3.746,"high":13100.0,"vol":3746,"low":12965.2,"count":110,"id":1603695600,"close":13038.7,"tradeTurnover":48924.8902,"open":13061.0},{"amount":8.966,"high":13102.0,"vol":8966,"low":12852.8,"count":173,"id":1603699200,"close":13039.3,"tradeTurnover":116525.5534,"open":13030.9},{"amount":4.48,"high":13088.4,"vol":4480,"low":13039.8,"count":124,"id":1603702800,"close":13075.9,"tradeTurnover":58521.1714,"open":13047.1},{"amount":4.272,"high":13100.0,"vol":4272,"low":13060.2,"count":130,"id":1603706400,"close":13100.0,"tradeTurnover":55895.9778,"open":13072.1},{"amount":29.798,"high":13159.0,"vol":29798,"low":13100.0,"count":230,"id":1603710000,"close":13138.4,"tradeTurnover":391138.024,"open":13100.0},{"amount":5.154,"high":13200.0,"vol":5154,"low":13100.0,"count":188,"id":1603713600,"close":13149.8,"tradeTurnover":67694.652,"open":13138.8},{"amount":35.608,"high":13351.5,"vol":35608,"low":13133.1,"count":328,"id":1603717200,"close":13205.8,"tradeTurnover":472780.3394,"open":13150.0},{"amount":31.748,"high":13280.0,"vol":31748,"low":13144.1,"count":235,"id":1603720800,"close":13166.1,"tradeTurnover":418744.5588,"open":13203.0},{"amount":36.53,"high":13165.2,"vol":36530,"low":12903.8,"count":384,"id":1603724400,"close":12978.0,"tradeTurnover":476940.3296,"open":13159.0},{"amount":35.018,"high":13069.8,"vol":35018,"low":12850.5,"count":323,"id":1603728000,"close":12869.6,"tradeTurnover":453288.918,"open":12965.0},{"amount":92.628,"high":12941.5,"vol":92628,"low":12583.9,"count":560,"id":1603731600,"close":12873.8,"tradeTurnover":1185973.467,"open":12879.2},{"amount":4.302,"high":12954.5,"vol":4302,"low":12820.4,"count":128,"id":1603735200,"close":12946.8,"tradeTurnover":55481.0054,"open":12856.2},{"amount":13.83,"high":12953.5,"vol":13830,"low":12914.1,"count":118,"id":1603738800,"close":12953.4,"tradeTurnover":179112.1598,"open":12945.6},{"amount":17.172,"high":13007.5,"vol":17172,"low":12953.5,"count":132,"id":1603742400,"close":12983.4,"tradeTurnover":223230.2122,"open":12953.5},{"amount":3.212,"high":13007.5,"vol":3212,"low":12982.7,"count":59,"id":1603746000,"close":12993.8,"tradeTurnover":41767.8906,"open":12983.1},{"amount":1.504,"high":13007.5,"vol":1504,"low":12974.0,"count":74,"id":1603749600,"close":13007.5,"tradeTurnover":19543.3568,"open":13002.1},{"amount":3.454,"high":13061.2,"vol":3454,"low":13007.5,"count":101,"id":1603753200,"close":13033.7,"tradeTurnover":45001.601,"open":13007.5},{"amount":8.784,"high":13105.0,"vol":8784,"low":13028.3,"count":98,"id":1603756800,"close":13067.1,"tradeTurnover":114871.8246,"open":13029.2},{"amount":11.592,"high":13074.4,"vol":11592,"low":13051.5,"count":66,"id":1603760400,"close":13061.7,"tradeTurnover":151386.9038,"open":13074.3},{"amount":19.298,"high":13097.6,"vol":19298,"low":13040.1,"count":109,"id":1603764000,"close":13049.7,"tradeTurnover":252061.019,"open":13061.7},{"amount":22.992,"high":13080.0,"vol":22992,"low":13057.1,"count":69,"id":1603767600,"close":13070.4,"tradeTurnover":300453.9788,"open":13057.6},{"amount":14.396,"high":13175.0,"vol":14396,"low":13079.6,"count":59,"id":1603771200,"close":13103.3,"tradeTurnover":188461.9156,"open":13080.0},{"amount":5.058,"high":13121.3,"vol":5058,"low":13069.7,"count":44,"id":1603774800,"close":13073.6,"tradeTurnover":66201.3552,"open":13121.3},{"amount":9.106,"high":13149.0,"vol":9106,"low":13069.6,"count":107,"id":1603778400,"close":13103.4,"tradeTurnover":119104.8906,"open":13074.9},{"amount":73.95,"high":13169.8,"vol":73950,"low":12992.4,"count":305,"id":1603782000,"close":13130.0,"tradeTurnover":968195.155,"open":13103.3},{"amount":18.732,"high":13148.4,"vol":18732,"low":13044.0,"count":135,"id":1603785600,"close":13123.8,"tradeTurnover":245533.5448,"open":13135.1},{"amount":13.756,"high":13131.8,"vol":13756,"low":13075.7,"count":102,"id":1603789200,"close":13131.7,"tradeTurnover":180253.7708,"open":13115.5},{"amount":154.108,"high":13252.0,"vol":154108,"low":13063.4,"count":525,"id":1603792800,"close":13216.9,"tradeTurnover":2029983.656,"open":13134.8},{"amount":170.09,"high":13590.1,"vol":170090,"low":13213.5,"count":591,"id":1603796400,"close":13395.8,"tradeTurnover":2276279.742,"open":13218.8},{"amount":48.928,"high":13414.0,"vol":48928,"low":13331.7,"count":216,"id":1603800000,"close":13376.9,"tradeTurnover":654585.9108,"open":13395.9},{"amount":63.294,"high":13490.9,"vol":63294,"low":13329.8,"count":316,"id":1603803600,"close":13384.3,"tradeTurnover":848130.9212,"open":13376.5},{"amount":12.892,"high":13415.8,"vol":12892,"low":13344.8,"count":124,"id":1603807200,"close":13398.2,"tradeTurnover":172618.6864,"open":13392.6},{"amount":93.22,"high":13626.7,"vol":93220,"low":13398.2,"count":476,"id":1603810800,"close":13598.5,"tradeTurnover":1262695.5466,"open":13398.2},{"amount":85.45,"high":13639.9,"vol":85450,"low":13520.2,"count":435,"id":1603814400,"close":13639.9,"tradeTurnover":1161481.4136,"open":13595.8},{"amount":191.812,"high":13826.7,"vol":191812,"low":13589.0,"count":711,"id":1603818000,"close":13688.1,"tradeTurnover":2628428.3788,"open":13640.0},{"amount":65.434,"high":13745.0,"vol":65434,"low":13528.2,"count":410,"id":1603821600,"close":13630.1,"tradeTurnover":891541.8394,"open":13685.0},{"amount":5.788,"high":13659.8,"vol":5788,"low":13595.4,"count":65,"id":1603825200,"close":13637.1,"tradeTurnover":78836.2578,"open":13629.4},{"amount":163.104,"high":13805.1,"vol":163104,"low":13582.6,"count":537,"id":1603828800,"close":13616.6,"tradeTurnover":2234040.3544,"open":13644.4},{"amount":9.884,"high":13753.5,"vol":9884,"low":13609.8,"count":101,"id":1603832400,"close":13705.5,"tradeTurnover":135406.4752,"open":13609.8},{"amount":7.436,"high":13739.9,"vol":7436,"low":13658.2,"count":100,"id":1603836000,"close":13739.9,"tradeTurnover":101840.3508,"open":13705.4},{"amount":17.086,"high":13794.6,"vol":17086,"low":13582.6,"count":234,"id":1603839600,"close":13649.6,"tradeTurnover":233971.8448,"open":13739.9},{"amount":24.108,"high":13745.2,"vol":24108,"low":13618.8,"count":177,"id":1603843200,"close":13701.7,"tradeTurnover":330206.5694,"open":13645.9},{"amount":15.892,"high":13725.6,"vol":15892,"low":13647.9,"count":151,"id":1603846800,"close":13702.6,"tradeTurnover":217816.7008,"open":13702.1},{"amount":46.548,"high":13832.2,"vol":46548,"low":13680.2,"count":274,"id":1603850400,"close":13811.6,"tradeTurnover":640636.0352,"open":13701.7},{"amount":67.896,"high":13820.3,"vol":67896,"low":13717.5,"count":320,"id":1603854000,"close":13777.0,"tradeTurnover":935838.2238,"open":13818.5},{"amount":33.156,"high":13807.2,"vol":33156,"low":13710.0,"count":210,"id":1603857600,"close":13735.7,"tradeTurnover":455941.234,"open":13767.3},{"amount":32.076,"high":13753.9,"vol":32076,"low":13671.3,"count":198,"id":1603861200,"close":13715.8,"tradeTurnover":439612.64,"open":13735.5},{"amount":14.756,"high":13757.0,"vol":14756,"low":13694.9,"count":122,"id":1603864800,"close":13701.3,"tradeTurnover":202602.5164,"open":13715.9},{"amount":155.534,"high":13708.7,"vol":155534,"low":13550.0,"count":635,"id":1603868400,"close":13674.2,"tradeTurnover":2117935.0928,"open":13701.2},{"amount":29.846,"high":13691.7,"vol":29846,"low":13584.0,"count":240,"id":1603872000,"close":13691.7,"tradeTurnover":407073.1398,"open":13673.0},{"amount":104.542,"high":13707.5,"vol":104542,"low":13573.5,"count":377,"id":1603875600,"close":13587.1,"tradeTurnover":1425079.9344,"open":13689.3},{"amount":73.818,"high":13618.0,"vol":73818,"low":13504.7,"count":358,"id":1603879200,"close":13552.7,"tradeTurnover":1001666.0908,"open":13584.6},{"amount":176.544,"high":13565.4,"vol":176544,"low":13330.0,"count":1004,"id":1603882800,"close":13336.4,"tradeTurnover":2369166.1492,"open":13552.6},{"amount":289.73,"high":13385.0,"vol":289730,"low":13173.9,"count":968,"id":1603886400,"close":13300.3,"tradeTurnover":3846751.7166,"open":13331.5},{"amount":139.822,"high":13340.0,"vol":139822,"low":13122.9,"count":612,"id":1603890000,"close":13129.9,"tradeTurnover":1848876.932,"open":13300.2},{"amount":367.876,"high":13168.2,"vol":367876,"low":12915.9,"count":1168,"id":1603893600,"close":13082.2,"tradeTurnover":4802516.9818,"open":13123.4},{"amount":84.044,"high":13235.2,"vol":84044,"low":13052.3,"count":375,"id":1603897200,"close":13221.2,"tradeTurnover":1106883.1282,"open":13077.1},{"amount":29.566,"high":13218.7,"vol":29566,"low":13050.0,"count":244,"id":1603900800,"close":13145.1,"tradeTurnover":388697.4104,"open":13218.7},{"amount":53.336,"high":13204.9,"vol":53336,"low":13006.6,"count":299,"id":1603904400,"close":13176.7,"tradeTurnover":700385.2784,"open":13145.1},{"amount":34.164,"high":13219.6,"vol":34164,"low":13131.0,"count":218,"id":1603908000,"close":13196.5,"tradeTurnover":450210.5778,"open":13171.0},{"amount":22.158,"high":13237.4,"vol":22158,"low":13145.0,"count":185,"id":1603911600,"close":13154.9,"tradeTurnover":292020.0438,"open":13200.0},{"amount":4.548,"high":13211.8,"vol":4548,"low":13147.4,"count":75,"id":1603915200,"close":13198.1,"tradeTurnover":59991.1118,"open":13154.5},{"amount":3.52,"high":13196.5,"vol":3520,"low":13100.2,"count":68,"id":1603918800,"close":13190.1,"tradeTurnover":46175.428,"open":13193.5},{"amount":3.122,"high":13267.5,"vol":3122,"low":13185.4,"count":72,"id":1603922400,"close":13252.0,"tradeTurnover":41304.2018,"open":13185.4},{"amount":14.768,"high":13282.3,"vol":14768,"low":13235.9,"count":86,"id":1603926000,"close":13265.9,"tradeTurnover":195689.0764,"open":13242.1},{"amount":19.968,"high":13294.7,"vol":19968,"low":13237.4,"count":98,"id":1603929600,"close":13245.1,"tradeTurnover":264834.1944,"open":13253.9},{"amount":35.282,"high":13285.3,"vol":35282,"low":13166.3,"count":192,"id":1603933200,"close":13274.2,"tradeTurnover":465789.6302,"open":13244.6},{"amount":9.748,"high":13277.7,"vol":9748,"low":13212.2,"count":119,"id":1603936800,"close":13241.1,"tradeTurnover":129016.0684,"open":13275.9},{"amount":27.3,"high":13262.5,"vol":27300,"low":13174.6,"count":199,"id":1603940400,"close":13262.5,"tradeTurnover":360589.8982,"open":13237.1},{"amount":18.904,"high":13277.7,"vol":18904,"low":13229.5,"count":109,"id":1603944000,"close":13229.5,"tradeTurnover":250713.2812,"open":13269.1},{"amount":15.822,"high":13274.8,"vol":15822,"low":13228.5,"count":134,"id":1603947600,"close":13274.8,"tradeTurnover":209781.909,"open":13228.5},{"amount":91.246,"high":13323.0,"vol":91246,"low":13242.3,"count":294,"id":1603951200,"close":13255.0,"tradeTurnover":1211271.2788,"open":13274.8},{"amount":187.622,"high":13269.3,"vol":187622,"low":13123.1,"count":506,"id":1603954800,"close":13142.4,"tradeTurnover":2478299.7074,"open":13255.0},{"amount":69.532,"high":13182.4,"vol":69532,"low":13094.1,"count":226,"id":1603958400,"close":13124.8,"tradeTurnover":914157.2418,"open":13145.9},{"amount":23.184,"high":13197.1,"vol":23184,"low":13129.5,"count":141,"id":1603962000,"close":13183.7,"tradeTurnover":305485.9524,"open":13129.5},{"amount":121.146,"high":13187.5,"vol":121146,"low":13053.1,"count":442,"id":1603965600,"close":13105.2,"tradeTurnover":1590026.4416,"open":13184.8},{"amount":47.498,"high":13171.4,"vol":47498,"low":13060.1,"count":262,"id":1603969200,"close":13060.1,"tradeTurnover":623578.149,"open":13105.1},{"amount":126.552,"high":13145.8,"vol":126552,"low":12977.9,"count":481,"id":1603972800,"close":13131.8,"tradeTurnover":1652549.311,"open":13056.9},{"amount":100.482,"high":13237.2,"vol":100482,"low":13102.0,"count":325,"id":1603976400,"close":13230.0,"tradeTurnover":1326403.7206,"open":13131.7},{"amount":253.258,"high":13476.1,"vol":253258,"low":13231.0,"count":752,"id":1603980000,"close":13420.8,"tradeTurnover":3384941.438,"open":13231.0},{"amount":64.71,"high":13458.7,"vol":64710,"low":13358.7,"count":269,"id":1603983600,"close":13420.6,"tradeTurnover":869052.3804,"open":13416.0},{"amount":120.24,"high":13594.5,"vol":120240,"low":13391.8,"count":570,"id":1603987200,"close":13535.9,"tradeTurnover":1626567.8278,"open":13421.9}],"id":"","rep":"market.BTC-USDT.kline.60min","status":"ok"} +2024-01-18 11:12:57.825 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:39] - 请求 KLine 数据用户收到的原始数据:{"id":"","rep":"market.BTC-USDT.kline.60min","ts":1705547576728,"wsid":19750305,"status":"ok","data":[{"id":1603270800,"open":12198.0,"close":12196.7,"high":12300.0,"low":11715.8,"amount":0.276,"vol":276,"trade_turnover":3315.9104,"count":39},{"id":1603274400,"open":12196.7,"close":12277.9,"high":12289.9,"low":12111.0,"amount":0.198,"vol":198,"trade_turnover":2420.7728,"count":21},{"id":1603278000,"open":12111.0,"close":12000.0,"high":12277.9,"low":12000.0,"amount":0.012,"vol":12,"trade_turnover":145.2238,"count":5},{"id":1603281600,"open":12078.0,"close":12497.4,"high":12498.0,"low":12078.0,"amount":0.084,"vol":84,"trade_turnover":1040.0504,"count":12},{"id":1603285200,"open":12495.6,"close":12373.5,"high":12495.6,"low":12282.9,"amount":1.122,"vol":1122,"trade_turnover":13905.3124,"count":112},{"id":1603288800,"open":12412.9,"close":12689.9,"high":12807.6,"low":12358.1,"amount":5.29,"vol":5290,"trade_turnover":66852.128,"count":155},{"id":1603292400,"open":12692.8,"close":12701.9,"high":12778.7,"low":12573.2,"amount":1.174,"vol":1174,"trade_turnover":14907.367,"count":113},{"id":1603296000,"open":12679.7,"close":12835.9,"high":12920.9,"low":12624.8,"amount":1.156,"vol":1156,"trade_turnover":14802.449,"count":115},{"id":1603299600,"open":12848.3,"close":12754.2,"high":12908.3,"low":12687.5,"amount":1.12,"vol":1120,"trade_turnover":14345.7324,"count":115},{"id":1603303200,"open":12743.7,"close":12740.2,"high":12849.0,"low":12668.3,"amount":1.106,"vol":1106,"trade_turnover":14105.3504,"count":114},{"id":1603306800,"open":12729.5,"close":12650.3,"high":12843.1,"low":12597.2,"amount":1.032,"vol":1032,"trade_turnover":13125.4568,"count":112},{"id":1603310400,"open":12666.8,"close":12807.0,"high":12848.4,"low":12610.2,"amount":1.154,"vol":1154,"trade_turnover":14680.638,"count":116},{"id":1603314000,"open":12866.0,"close":12938.9,"high":13005.1,"low":12748.2,"amount":1.164,"vol":1164,"trade_turnover":14976.9366,"count":114},{"id":1603317600,"open":12921.0,"close":13122.0,"high":13211.2,"low":12865.7,"amount":1.174,"vol":1174,"trade_turnover":15285.2446,"count":114},{"id":1603321200,"open":13153.2,"close":12829.8,"high":13173.2,"low":12688.6,"amount":1.172,"vol":1172,"trade_turnover":15060.9938,"count":117},{"id":1603324800,"open":12793.1,"close":12885.9,"high":12988.1,"low":12764.4,"amount":1.17,"vol":1170,"trade_turnover":15046.2046,"count":117},{"id":1603328400,"open":12860.4,"close":12757.5,"high":12972.6,"low":12757.5,"amount":1.158,"vol":1158,"trade_turnover":14882.4656,"count":118},{"id":1603332000,"open":12824.1,"close":12788.8,"high":12848.0,"low":12729.0,"amount":1.124,"vol":1124,"trade_turnover":14368.7948,"count":115},{"id":1603335600,"open":12791.7,"close":12767.2,"high":12834.4,"low":12729.0,"amount":1.194,"vol":1194,"trade_turnover":15268.9298,"count":111},{"id":1603339200,"open":12729.0,"close":12762.2,"high":12778.3,"low":12729.0,"amount":1.152,"vol":1152,"trade_turnover":14695.4876,"count":115},{"id":1603342800,"open":12763.1,"close":12813.8,"high":12842.0,"low":12730.6,"amount":1.21,"vol":1210,"trade_turnover":15440.8162,"count":119},{"id":1603346400,"open":12795.0,"close":12729.1,"high":12795.0,"low":12728.0,"amount":1.188,"vol":1188,"trade_turnover":15128.0098,"count":123},{"id":1603350000,"open":12728.6,"close":12730.6,"high":12730.6,"low":12728.3,"amount":1.266,"vol":1266,"trade_turnover":16115.1306,"count":112},{"id":1603353600,"open":12730.3,"close":12770.1,"high":12921.5,"low":12729.9,"amount":1.35,"vol":1350,"trade_turnover":17233.7326,"count":127},{"id":1603357200,"open":12824.9,"close":12780.4,"high":12872.1,"low":12760.1,"amount":0.98,"vol":980,"trade_turnover":12553.9826,"count":99},{"id":1603360800,"open":12784.9,"close":12934.2,"high":13002.7,"low":12775.6,"amount":0.266,"vol":266,"trade_turnover":3415.023,"count":30},{"id":1603364400,"open":12977.0,"close":13045.0,"high":13057.0,"low":12886.6,"amount":1.004,"vol":1004,"trade_turnover":13020.8576,"count":117},{"id":1603368000,"open":12958.5,"close":12847.9,"high":12973.4,"low":12751.6,"amount":1.134,"vol":1134,"trade_turnover":14594.2752,"count":111},{"id":1603371600,"open":12882.7,"close":12931.0,"high":13000.8,"low":12743.0,"amount":1.152,"vol":1152,"trade_turnover":14877.7314,"count":114},{"id":1603375200,"open":12890.4,"close":12917.8,"high":12995.3,"low":12783.9,"amount":1.182,"vol":1182,"trade_turnover":15224.4716,"count":115},{"id":1603378800,"open":12918.8,"close":12953.0,"high":13031.2,"low":12817.9,"amount":1.176,"vol":1176,"trade_turnover":15197.208,"count":117},{"id":1603382400,"open":12923.1,"close":13055.6,"high":13100.2,"low":12865.6,"amount":1.146,"vol":1146,"trade_turnover":14851.9604,"count":119},{"id":1603386000,"open":12967.6,"close":13082.7,"high":13105.7,"low":12835.5,"amount":1.534,"vol":1534,"trade_turnover":19927.8288,"count":124},{"id":1603389600,"open":13020.4,"close":13016.4,"high":13115.0,"low":12938.7,"amount":1.268,"vol":1268,"trade_turnover":16505.4738,"count":117},{"id":1603393200,"open":13028.3,"close":12970.6,"high":13171.2,"low":12961.8,"amount":1.13,"vol":1130,"trade_turnover":14762.952,"count":112},{"id":1603396800,"open":13016.7,"close":13089.3,"high":13216.1,"low":12998.5,"amount":1.206,"vol":1206,"trade_turnover":15807.1226,"count":117},{"id":1603400400,"open":13136.0,"close":13092.0,"high":13203.7,"low":12932.9,"amount":1.332,"vol":1332,"trade_turnover":17423.4422,"count":114},{"id":1603404000,"open":13119.4,"close":13055.9,"high":13250.5,"low":12984.7,"amount":1.21,"vol":1210,"trade_turnover":15876.0632,"count":114},{"id":1603407600,"open":13059.4,"close":12890.4,"high":13126.5,"low":12857.2,"amount":1.286,"vol":1286,"trade_turnover":16688.422,"count":116},{"id":1603411200,"open":12929.7,"close":12892.2,"high":12994.0,"low":12751.6,"amount":1.502,"vol":1502,"trade_turnover":19331.1596,"count":131},{"id":1603414800,"open":12921.7,"close":12898.3,"high":13003.2,"low":12786.0,"amount":1.386,"vol":1386,"trade_turnover":17904.8902,"count":121},{"id":1603418400,"open":12951.6,"close":12975.1,"high":13054.0,"low":12800.7,"amount":1.416,"vol":1416,"trade_turnover":18306.6204,"count":122},{"id":1603422000,"open":12967.3,"close":12947.0,"high":13030.7,"low":12875.0,"amount":1.19,"vol":1190,"trade_turnover":15409.7984,"count":118},{"id":1603425600,"open":12925.2,"close":12852.0,"high":13047.3,"low":12832.8,"amount":1.022,"vol":1022,"trade_turnover":13214.4388,"count":127},{"id":1603429200,"open":12859.0,"close":12931.1,"high":12991.7,"low":12841.2,"amount":0.478,"vol":478,"trade_turnover":6180.2486,"count":118},{"id":1603432800,"open":12935.9,"close":12939.6,"high":13014.1,"low":12871.9,"amount":0.522,"vol":522,"trade_turnover":6759.0324,"count":132},{"id":1603436400,"open":12923.1,"close":12925.4,"high":12998.9,"low":12917.1,"amount":0.476,"vol":476,"trade_turnover":6163.3118,"count":118},{"id":1603440000,"open":12942.2,"close":12962.6,"high":13014.0,"low":12916.1,"amount":0.508,"vol":508,"trade_turnover":6585.3656,"count":122},{"id":1603443600,"open":12970.5,"close":12926.4,"high":13012.5,"low":12909.9,"amount":0.564,"vol":564,"trade_turnover":7308.8828,"count":124},{"id":1603447200,"open":13001.2,"close":13007.7,"high":13059.5,"low":12925.7,"amount":0.536,"vol":536,"trade_turnover":6957.8796,"count":124},{"id":1603450800,"open":13025.4,"close":12970.6,"high":13078.4,"low":12906.5,"amount":0.486,"vol":486,"trade_turnover":6326.1434,"count":122},{"id":1603454400,"open":12963.9,"close":12935.4,"high":13025.0,"low":12850.8,"amount":0.494,"vol":494,"trade_turnover":6396.0984,"count":117},{"id":1603458000,"open":12913.3,"close":12951.7,"high":13043.3,"low":12911.0,"amount":0.466,"vol":466,"trade_turnover":6049.1412,"count":117},{"id":1603461600,"open":12999.6,"close":12858.8,"high":13006.4,"low":12840.4,"amount":0.46,"vol":460,"trade_turnover":5941.815,"count":116},{"id":1603465200,"open":12885.7,"close":12881.9,"high":12932.9,"low":12826.5,"amount":0.492,"vol":492,"trade_turnover":6340.214,"count":117},{"id":1603468800,"open":12854.4,"close":12784.1,"high":12933.5,"low":12744.4,"amount":0.484,"vol":484,"trade_turnover":6205.4138,"count":123},{"id":1603472400,"open":12832.3,"close":12847.7,"high":12893.1,"low":12730.1,"amount":0.562,"vol":562,"trade_turnover":7218.9184,"count":152},{"id":1603476000,"open":12874.1,"close":12915.7,"high":12939.3,"low":12751.4,"amount":0.53,"vol":530,"trade_turnover":6825.7004,"count":128},{"id":1603479600,"open":12867.9,"close":12972.9,"high":12972.9,"low":12786.6,"amount":0.444,"vol":444,"trade_turnover":5727.7452,"count":117},{"id":1603483200,"open":12956.7,"close":12991.6,"high":13002.2,"low":12842.9,"amount":0.492,"vol":492,"trade_turnover":6375.1566,"count":116},{"id":1603486800,"open":13004.3,"close":12943.5,"high":13004.3,"low":12936.6,"amount":0.5,"vol":500,"trade_turnover":6485.468,"count":125},{"id":1603490400,"open":12923.6,"close":12989.2,"high":13010.3,"low":12884.7,"amount":0.492,"vol":492,"trade_turnover":6376.1492,"count":120},{"id":1603494000,"open":12974.9,"close":12884.6,"high":13024.4,"low":12884.6,"amount":0.51,"vol":510,"trade_turnover":6622.3406,"count":121},{"id":1603497600,"open":12973.7,"close":12953.9,"high":13018.3,"low":12811.1,"amount":0.488,"vol":488,"trade_turnover":6317.7938,"count":120},{"id":1603501200,"open":12927.5,"close":12934.2,"high":13018.1,"low":12872.8,"amount":0.482,"vol":482,"trade_turnover":6242.4178,"count":117},{"id":1603504800,"open":12971.9,"close":12989.1,"high":13003.9,"low":12903.3,"amount":0.484,"vol":484,"trade_turnover":6278.1756,"count":117},{"id":1603508400,"open":13000.1,"close":12975.9,"high":13013.4,"low":12938.3,"amount":0.474,"vol":474,"trade_turnover":6157.7096,"count":122},{"id":1603512000,"open":12989.7,"close":12963.3,"high":13009.4,"low":12905.5,"amount":0.526,"vol":526,"trade_turnover":6831.5658,"count":124},{"id":1603515600,"open":12910.5,"close":12989.7,"high":13041.8,"low":12875.3,"amount":0.522,"vol":522,"trade_turnover":6768.8994,"count":127},{"id":1603519200,"open":12994.7,"close":13003.6,"high":13058.1,"low":12908.8,"amount":0.49,"vol":490,"trade_turnover":6370.5714,"count":120},{"id":1603522800,"open":13011.9,"close":13004.2,"high":13037.8,"low":12981.7,"amount":0.478,"vol":478,"trade_turnover":6218.9722,"count":120},{"id":1603526400,"open":13003.0,"close":12998.2,"high":13030.6,"low":12899.4,"amount":0.52,"vol":520,"trade_turnover":6754.958,"count":124},{"id":1603530000,"open":12998.2,"close":12990.6,"high":13020.3,"low":12893.6,"amount":0.454,"vol":454,"trade_turnover":5891.0574,"count":115},{"id":1603533600,"open":12996.4,"close":13030.1,"high":13059.1,"low":12913.2,"amount":0.502,"vol":502,"trade_turnover":6525.9004,"count":124},{"id":1603537200,"open":12988.4,"close":13033.2,"high":13068.3,"low":12940.2,"amount":0.468,"vol":468,"trade_turnover":6091.0376,"count":119},{"id":1603540800,"open":13035.3,"close":13006.5,"high":13071.8,"low":12978.9,"amount":0.468,"vol":468,"trade_turnover":6102.5902,"count":123},{"id":1603544400,"open":13038.8,"close":12985.9,"high":13066.7,"low":12928.1,"amount":0.534,"vol":534,"trade_turnover":6950.4268,"count":123},{"id":1603548000,"open":12986.3,"close":13042.0,"high":13100.1,"low":12960.5,"amount":0.47,"vol":470,"trade_turnover":6124.2178,"count":100},{"id":1603551600,"open":13038.4,"close":13102.2,"high":13196.5,"low":13038.4,"amount":0.456,"vol":456,"trade_turnover":5989.6362,"count":120},{"id":1603555200,"open":13136.8,"close":13052.7,"high":13176.6,"low":12984.6,"amount":0.458,"vol":458,"trade_turnover":5976.331,"count":121},{"id":1603558800,"open":13006.2,"close":13177.8,"high":13177.8,"low":13003.2,"amount":0.452,"vol":452,"trade_turnover":5911.7058,"count":118},{"id":1603562400,"open":13127.7,"close":13080.8,"high":13170.7,"low":13023.0,"amount":0.468,"vol":468,"trade_turnover":6122.375,"count":119},{"id":1603566000,"open":13040.7,"close":13148.4,"high":13179.3,"low":13014.2,"amount":0.468,"vol":468,"trade_turnover":6126.4278,"count":120},{"id":1603569600,"open":13073.5,"close":13090.1,"high":13179.6,"low":12992.5,"amount":0.47,"vol":470,"trade_turnover":6151.4758,"count":119},{"id":1603573200,"open":13035.4,"close":12993.9,"high":13148.7,"low":12980.7,"amount":0.458,"vol":458,"trade_turnover":5981.071,"count":117},{"id":1603576800,"open":13040.7,"close":13041.1,"high":13112.1,"low":12975.6,"amount":0.478,"vol":478,"trade_turnover":6225.4216,"count":118},{"id":1603580400,"open":13012.6,"close":13184.3,"high":13184.3,"low":13009.3,"amount":0.472,"vol":472,"trade_turnover":6173.4244,"count":118},{"id":1603584000,"open":13080.8,"close":13154.3,"high":13170.4,"low":13007.7,"amount":0.46,"vol":460,"trade_turnover":6024.09,"count":115},{"id":1603587600,"open":13092.0,"close":13196.1,"high":13196.8,"low":13024.0,"amount":0.398,"vol":398,"trade_turnover":5217.5364,"count":102},{"id":1603591200,"open":13124.7,"close":13082.4,"high":13175.1,"low":13035.0,"amount":0.476,"vol":476,"trade_turnover":6228.6596,"count":120},{"id":1603594800,"open":13049.1,"close":13259.0,"high":13383.8,"low":13049.1,"amount":0.578,"vol":578,"trade_turnover":7629.3886,"count":137},{"id":1603598400,"open":13277.0,"close":13243.4,"high":13369.0,"low":13216.0,"amount":0.47,"vol":470,"trade_turnover":6247.955,"count":122},{"id":1603602000,"open":13285.3,"close":13017.3,"high":13353.3,"low":13010.1,"amount":0.61,"vol":610,"trade_turnover":8048.8598,"count":134},{"id":1603605600,"open":13022.5,"close":13060.3,"high":13105.7,"low":13018.2,"amount":0.486,"vol":486,"trade_turnover":6344.1474,"count":118},{"id":1603609200,"open":13048.5,"close":13078.1,"high":13112.1,"low":13022.0,"amount":0.464,"vol":464,"trade_turnover":6061.5416,"count":120},{"id":1603612800,"open":13077.2,"close":13046.0,"high":13091.0,"low":13017.2,"amount":0.464,"vol":464,"trade_turnover":6055.3734,"count":120},{"id":1603616400,"open":13065.1,"close":13040.8,"high":13084.0,"low":13014.2,"amount":0.478,"vol":478,"trade_turnover":6235.7882,"count":117},{"id":1603620000,"open":13047.1,"close":13028.5,"high":13064.2,"low":13010.2,"amount":0.478,"vol":478,"trade_turnover":6232.2428,"count":125},{"id":1603623600,"open":13061.5,"close":12897.6,"high":13061.5,"low":12852.9,"amount":0.534,"vol":534,"trade_turnover":6918.1226,"count":123},{"id":1603627200,"open":12908.3,"close":12964.3,"high":13069.7,"low":12893.2,"amount":0.444,"vol":444,"trade_turnover":5755.8712,"count":117},{"id":1603630800,"open":13001.3,"close":12949.3,"high":13071.9,"low":12891.8,"amount":0.498,"vol":498,"trade_turnover":6465.078,"count":119},{"id":1603634400,"open":12975.8,"close":12946.8,"high":13077.7,"low":12900.0,"amount":0.468,"vol":468,"trade_turnover":6075.4554,"count":116},{"id":1603638000,"open":12975.2,"close":12883.3,"high":13069.1,"low":12883.3,"amount":0.47,"vol":470,"trade_turnover":6097.1072,"count":119},{"id":1603641600,"open":12916.2,"close":12978.7,"high":13067.9,"low":12877.5,"amount":0.482,"vol":482,"trade_turnover":6256.4472,"count":118},{"id":1603645200,"open":13008.0,"close":13004.4,"high":13087.5,"low":12922.7,"amount":0.47,"vol":470,"trade_turnover":6108.3892,"count":117},{"id":1603648800,"open":12972.8,"close":12957.2,"high":13067.6,"low":12893.6,"amount":0.468,"vol":468,"trade_turnover":6079.1484,"count":118},{"id":1603652400,"open":12996.5,"close":13021.8,"high":13066.9,"low":12916.6,"amount":0.442,"vol":442,"trade_turnover":5746.5548,"count":118},{"id":1603656000,"open":12992.9,"close":12985.4,"high":13081.5,"low":12944.9,"amount":0.508,"vol":508,"trade_turnover":6616.9872,"count":120},{"id":1603659600,"open":12999.9,"close":13011.2,"high":13068.6,"low":12921.4,"amount":0.508,"vol":508,"trade_turnover":6614.816,"count":122},{"id":1603663200,"open":12979.6,"close":12959.4,"high":13073.8,"low":12911.9,"amount":0.486,"vol":486,"trade_turnover":6320.907,"count":121},{"id":1603666800,"open":12963.4,"close":13032.1,"high":13085.2,"low":12927.8,"amount":0.452,"vol":452,"trade_turnover":5878.6442,"count":113},{"id":1603670400,"open":12964.2,"close":13001.0,"high":13076.7,"low":12918.3,"amount":0.482,"vol":482,"trade_turnover":6263.698,"count":121},{"id":1603674000,"open":13040.0,"close":13053.7,"high":13096.4,"low":12991.2,"amount":0.478,"vol":478,"trade_turnover":6232.2328,"count":124},{"id":1603677600,"open":13060.6,"close":13064.4,"high":13185.7,"low":12985.1,"amount":0.488,"vol":488,"trade_turnover":6387.534,"count":121},{"id":1603681200,"open":13032.3,"close":13092.8,"high":13187.2,"low":12984.1,"amount":0.486,"vol":486,"trade_turnover":6369.0272,"count":135},{"id":1603684800,"open":13092.0,"close":13132.6,"high":13181.6,"low":12962.3,"amount":0.51,"vol":510,"trade_turnover":6679.829,"count":131},{"id":1603688400,"open":13129.2,"close":13092.1,"high":13205.3,"low":13025.3,"amount":0.506,"vol":506,"trade_turnover":6641.2128,"count":126},{"id":1603692000,"open":13121.8,"close":13071.4,"high":13188.1,"low":12989.8,"amount":1.616,"vol":1616,"trade_turnover":21170.8224,"count":141},{"id":1603695600,"open":13061.0,"close":13038.7,"high":13100.0,"low":12965.2,"amount":3.746,"vol":3746,"trade_turnover":48924.8902,"count":110},{"id":1603699200,"open":13030.9,"close":13039.3,"high":13102.0,"low":12852.8,"amount":8.966,"vol":8966,"trade_turnover":116525.5534,"count":173},{"id":1603702800,"open":13047.1,"close":13075.9,"high":13088.4,"low":13039.8,"amount":4.48,"vol":4480,"trade_turnover":58521.1714,"count":124},{"id":1603706400,"open":13072.1,"close":13100.0,"high":13100.0,"low":13060.2,"amount":4.272,"vol":4272,"trade_turnover":55895.9778,"count":130},{"id":1603710000,"open":13100.0,"close":13138.4,"high":13159.0,"low":13100.0,"amount":29.798,"vol":29798,"trade_turnover":391138.024,"count":230},{"id":1603713600,"open":13138.8,"close":13149.8,"high":13200.0,"low":13100.0,"amount":5.154,"vol":5154,"trade_turnover":67694.652,"count":188},{"id":1603717200,"open":13150.0,"close":13205.8,"high":13351.5,"low":13133.1,"amount":35.608,"vol":35608,"trade_turnover":472780.3394,"count":328},{"id":1603720800,"open":13203.0,"close":13166.1,"high":13280.0,"low":13144.1,"amount":31.748,"vol":31748,"trade_turnover":418744.5588,"count":235},{"id":1603724400,"open":13159.0,"close":12978.0,"high":13165.2,"low":12903.8,"amount":36.53,"vol":36530,"trade_turnover":476940.3296,"count":384},{"id":1603728000,"open":12965.0,"close":12869.6,"high":13069.8,"low":12850.5,"amount":35.018,"vol":35018,"trade_turnover":453288.918,"count":323},{"id":1603731600,"open":12879.2,"close":12873.8,"high":12941.5,"low":12583.9,"amount":92.628,"vol":92628,"trade_turnover":1185973.467,"count":560},{"id":1603735200,"open":12856.2,"close":12946.8,"high":12954.5,"low":12820.4,"amount":4.302,"vol":4302,"trade_turnover":55481.0054,"count":128},{"id":1603738800,"open":12945.6,"close":12953.4,"high":12953.5,"low":12914.1,"amount":13.83,"vol":13830,"trade_turnover":179112.1598,"count":118},{"id":1603742400,"open":12953.5,"close":12983.4,"high":13007.5,"low":12953.5,"amount":17.172,"vol":17172,"trade_turnover":223230.2122,"count":132},{"id":1603746000,"open":12983.1,"close":12993.8,"high":13007.5,"low":12982.7,"amount":3.212,"vol":3212,"trade_turnover":41767.8906,"count":59},{"id":1603749600,"open":13002.1,"close":13007.5,"high":13007.5,"low":12974.0,"amount":1.504,"vol":1504,"trade_turnover":19543.3568,"count":74},{"id":1603753200,"open":13007.5,"close":13033.7,"high":13061.2,"low":13007.5,"amount":3.454,"vol":3454,"trade_turnover":45001.601,"count":101},{"id":1603756800,"open":13029.2,"close":13067.1,"high":13105.0,"low":13028.3,"amount":8.784,"vol":8784,"trade_turnover":114871.8246,"count":98},{"id":1603760400,"open":13074.3,"close":13061.7,"high":13074.4,"low":13051.5,"amount":11.592,"vol":11592,"trade_turnover":151386.9038,"count":66},{"id":1603764000,"open":13061.7,"close":13049.7,"high":13097.6,"low":13040.1,"amount":19.298,"vol":19298,"trade_turnover":252061.019,"count":109},{"id":1603767600,"open":13057.6,"close":13070.4,"high":13080.0,"low":13057.1,"amount":22.992,"vol":22992,"trade_turnover":300453.9788,"count":69},{"id":1603771200,"open":13080.0,"close":13103.3,"high":13175.0,"low":13079.6,"amount":14.396,"vol":14396,"trade_turnover":188461.9156,"count":59},{"id":1603774800,"open":13121.3,"close":13073.6,"high":13121.3,"low":13069.7,"amount":5.058,"vol":5058,"trade_turnover":66201.3552,"count":44},{"id":1603778400,"open":13074.9,"close":13103.4,"high":13149.0,"low":13069.6,"amount":9.106,"vol":9106,"trade_turnover":119104.8906,"count":107},{"id":1603782000,"open":13103.3,"close":13130.0,"high":13169.8,"low":12992.4,"amount":73.95,"vol":73950,"trade_turnover":968195.155,"count":305},{"id":1603785600,"open":13135.1,"close":13123.8,"high":13148.4,"low":13044.0,"amount":18.732,"vol":18732,"trade_turnover":245533.5448,"count":135},{"id":1603789200,"open":13115.5,"close":13131.7,"high":13131.8,"low":13075.7,"amount":13.756,"vol":13756,"trade_turnover":180253.7708,"count":102},{"id":1603792800,"open":13134.8,"close":13216.9,"high":13252.0,"low":13063.4,"amount":154.108,"vol":154108,"trade_turnover":2029983.656,"count":525},{"id":1603796400,"open":13218.8,"close":13395.8,"high":13590.1,"low":13213.5,"amount":170.09,"vol":170090,"trade_turnover":2276279.742,"count":591},{"id":1603800000,"open":13395.9,"close":13376.9,"high":13414.0,"low":13331.7,"amount":48.928,"vol":48928,"trade_turnover":654585.9108,"count":216},{"id":1603803600,"open":13376.5,"close":13384.3,"high":13490.9,"low":13329.8,"amount":63.294,"vol":63294,"trade_turnover":848130.9212,"count":316},{"id":1603807200,"open":13392.6,"close":13398.2,"high":13415.8,"low":13344.8,"amount":12.892,"vol":12892,"trade_turnover":172618.6864,"count":124},{"id":1603810800,"open":13398.2,"close":13598.5,"high":13626.7,"low":13398.2,"amount":93.22,"vol":93220,"trade_turnover":1262695.5466,"count":476},{"id":1603814400,"open":13595.8,"close":13639.9,"high":13639.9,"low":13520.2,"amount":85.45,"vol":85450,"trade_turnover":1161481.4136,"count":435},{"id":1603818000,"open":13640.0,"close":13688.1,"high":13826.7,"low":13589.0,"amount":191.812,"vol":191812,"trade_turnover":2628428.3788,"count":711},{"id":1603821600,"open":13685.0,"close":13630.1,"high":13745.0,"low":13528.2,"amount":65.434,"vol":65434,"trade_turnover":891541.8394,"count":410},{"id":1603825200,"open":13629.4,"close":13637.1,"high":13659.8,"low":13595.4,"amount":5.788,"vol":5788,"trade_turnover":78836.2578,"count":65},{"id":1603828800,"open":13644.4,"close":13616.6,"high":13805.1,"low":13582.6,"amount":163.104,"vol":163104,"trade_turnover":2234040.3544,"count":537},{"id":1603832400,"open":13609.8,"close":13705.5,"high":13753.5,"low":13609.8,"amount":9.884,"vol":9884,"trade_turnover":135406.4752,"count":101},{"id":1603836000,"open":13705.4,"close":13739.9,"high":13739.9,"low":13658.2,"amount":7.436,"vol":7436,"trade_turnover":101840.3508,"count":100},{"id":1603839600,"open":13739.9,"close":13649.6,"high":13794.6,"low":13582.6,"amount":17.086,"vol":17086,"trade_turnover":233971.8448,"count":234},{"id":1603843200,"open":13645.9,"close":13701.7,"high":13745.2,"low":13618.8,"amount":24.108,"vol":24108,"trade_turnover":330206.5694,"count":177},{"id":1603846800,"open":13702.1,"close":13702.6,"high":13725.6,"low":13647.9,"amount":15.892,"vol":15892,"trade_turnover":217816.7008,"count":151},{"id":1603850400,"open":13701.7,"close":13811.6,"high":13832.2,"low":13680.2,"amount":46.548,"vol":46548,"trade_turnover":640636.0352,"count":274},{"id":1603854000,"open":13818.5,"close":13777.0,"high":13820.3,"low":13717.5,"amount":67.896,"vol":67896,"trade_turnover":935838.2238,"count":320},{"id":1603857600,"open":13767.3,"close":13735.7,"high":13807.2,"low":13710.0,"amount":33.156,"vol":33156,"trade_turnover":455941.234,"count":210},{"id":1603861200,"open":13735.5,"close":13715.8,"high":13753.9,"low":13671.3,"amount":32.076,"vol":32076,"trade_turnover":439612.64,"count":198},{"id":1603864800,"open":13715.9,"close":13701.3,"high":13757.0,"low":13694.9,"amount":14.756,"vol":14756,"trade_turnover":202602.5164,"count":122},{"id":1603868400,"open":13701.2,"close":13674.2,"high":13708.7,"low":13550.0,"amount":155.534,"vol":155534,"trade_turnover":2117935.0928,"count":635},{"id":1603872000,"open":13673.0,"close":13691.7,"high":13691.7,"low":13584.0,"amount":29.846,"vol":29846,"trade_turnover":407073.1398,"count":240},{"id":1603875600,"open":13689.3,"close":13587.1,"high":13707.5,"low":13573.5,"amount":104.542,"vol":104542,"trade_turnover":1425079.9344,"count":377},{"id":1603879200,"open":13584.6,"close":13552.7,"high":13618.0,"low":13504.7,"amount":73.818,"vol":73818,"trade_turnover":1001666.0908,"count":358},{"id":1603882800,"open":13552.6,"close":13336.4,"high":13565.4,"low":13330.0,"amount":176.544,"vol":176544,"trade_turnover":2369166.1492,"count":1004},{"id":1603886400,"open":13331.5,"close":13300.3,"high":13385.0,"low":13173.9,"amount":289.73,"vol":289730,"trade_turnover":3846751.7166,"count":968},{"id":1603890000,"open":13300.2,"close":13129.9,"high":13340.0,"low":13122.9,"amount":139.822,"vol":139822,"trade_turnover":1848876.932,"count":612},{"id":1603893600,"open":13123.4,"close":13082.2,"high":13168.2,"low":12915.9,"amount":367.876,"vol":367876,"trade_turnover":4802516.9818,"count":1168},{"id":1603897200,"open":13077.1,"close":13221.2,"high":13235.2,"low":13052.3,"amount":84.044,"vol":84044,"trade_turnover":1106883.1282,"count":375},{"id":1603900800,"open":13218.7,"close":13145.1,"high":13218.7,"low":13050.0,"amount":29.566,"vol":29566,"trade_turnover":388697.4104,"count":244},{"id":1603904400,"open":13145.1,"close":13176.7,"high":13204.9,"low":13006.6,"amount":53.336,"vol":53336,"trade_turnover":700385.2784,"count":299},{"id":1603908000,"open":13171.0,"close":13196.5,"high":13219.6,"low":13131.0,"amount":34.164,"vol":34164,"trade_turnover":450210.5778,"count":218},{"id":1603911600,"open":13200.0,"close":13154.9,"high":13237.4,"low":13145.0,"amount":22.158,"vol":22158,"trade_turnover":292020.0438,"count":185},{"id":1603915200,"open":13154.5,"close":13198.1,"high":13211.8,"low":13147.4,"amount":4.548,"vol":4548,"trade_turnover":59991.1118,"count":75},{"id":1603918800,"open":13193.5,"close":13190.1,"high":13196.5,"low":13100.2,"amount":3.52,"vol":3520,"trade_turnover":46175.428,"count":68},{"id":1603922400,"open":13185.4,"close":13252.0,"high":13267.5,"low":13185.4,"amount":3.122,"vol":3122,"trade_turnover":41304.2018,"count":72},{"id":1603926000,"open":13242.1,"close":13265.9,"high":13282.3,"low":13235.9,"amount":14.768,"vol":14768,"trade_turnover":195689.0764,"count":86},{"id":1603929600,"open":13253.9,"close":13245.1,"high":13294.7,"low":13237.4,"amount":19.968,"vol":19968,"trade_turnover":264834.1944,"count":98},{"id":1603933200,"open":13244.6,"close":13274.2,"high":13285.3,"low":13166.3,"amount":35.282,"vol":35282,"trade_turnover":465789.6302,"count":192},{"id":1603936800,"open":13275.9,"close":13241.1,"high":13277.7,"low":13212.2,"amount":9.748,"vol":9748,"trade_turnover":129016.0684,"count":119},{"id":1603940400,"open":13237.1,"close":13262.5,"high":13262.5,"low":13174.6,"amount":27.3,"vol":27300,"trade_turnover":360589.8982,"count":199},{"id":1603944000,"open":13269.1,"close":13229.5,"high":13277.7,"low":13229.5,"amount":18.904,"vol":18904,"trade_turnover":250713.2812,"count":109},{"id":1603947600,"open":13228.5,"close":13274.8,"high":13274.8,"low":13228.5,"amount":15.822,"vol":15822,"trade_turnover":209781.909,"count":134},{"id":1603951200,"open":13274.8,"close":13255.0,"high":13323.0,"low":13242.3,"amount":91.246,"vol":91246,"trade_turnover":1211271.2788,"count":294},{"id":1603954800,"open":13255.0,"close":13142.4,"high":13269.3,"low":13123.1,"amount":187.622,"vol":187622,"trade_turnover":2478299.7074,"count":506},{"id":1603958400,"open":13145.9,"close":13124.8,"high":13182.4,"low":13094.1,"amount":69.532,"vol":69532,"trade_turnover":914157.2418,"count":226},{"id":1603962000,"open":13129.5,"close":13183.7,"high":13197.1,"low":13129.5,"amount":23.184,"vol":23184,"trade_turnover":305485.9524,"count":141},{"id":1603965600,"open":13184.8,"close":13105.2,"high":13187.5,"low":13053.1,"amount":121.146,"vol":121146,"trade_turnover":1590026.4416,"count":442},{"id":1603969200,"open":13105.1,"close":13060.1,"high":13171.4,"low":13060.1,"amount":47.498,"vol":47498,"trade_turnover":623578.149,"count":262},{"id":1603972800,"open":13056.9,"close":13131.8,"high":13145.8,"low":12977.9,"amount":126.552,"vol":126552,"trade_turnover":1652549.311,"count":481},{"id":1603976400,"open":13131.7,"close":13230.0,"high":13237.2,"low":13102.0,"amount":100.482,"vol":100482,"trade_turnover":1326403.7206,"count":325},{"id":1603980000,"open":13231.0,"close":13420.8,"high":13476.1,"low":13231.0,"amount":253.258,"vol":253258,"trade_turnover":3384941.438,"count":752},{"id":1603983600,"open":13416.0,"close":13420.6,"high":13458.7,"low":13358.7,"amount":64.71,"vol":64710,"trade_turnover":869052.3804,"count":269},{"id":1603987200,"open":13421.9,"close":13535.9,"high":13594.5,"low":13391.8,"amount":120.24,"vol":120240,"trade_turnover":1626567.8278,"count":570}]} +2024-01-18 11:12:57.827 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:41] - 请求 KLine 数据解析之后的数据为:{"wsid":19750305,"data":[{"amount":0.276,"high":12300.0,"vol":276,"low":11715.8,"count":39,"id":1603270800,"close":12196.7,"tradeTurnover":3315.9104,"open":12198.0},{"amount":0.198,"high":12289.9,"vol":198,"low":12111.0,"count":21,"id":1603274400,"close":12277.9,"tradeTurnover":2420.7728,"open":12196.7},{"amount":0.012,"high":12277.9,"vol":12,"low":12000.0,"count":5,"id":1603278000,"close":12000.0,"tradeTurnover":145.2238,"open":12111.0},{"amount":0.084,"high":12498.0,"vol":84,"low":12078.0,"count":12,"id":1603281600,"close":12497.4,"tradeTurnover":1040.0504,"open":12078.0},{"amount":1.122,"high":12495.6,"vol":1122,"low":12282.9,"count":112,"id":1603285200,"close":12373.5,"tradeTurnover":13905.3124,"open":12495.6},{"amount":5.29,"high":12807.6,"vol":5290,"low":12358.1,"count":155,"id":1603288800,"close":12689.9,"tradeTurnover":66852.128,"open":12412.9},{"amount":1.174,"high":12778.7,"vol":1174,"low":12573.2,"count":113,"id":1603292400,"close":12701.9,"tradeTurnover":14907.367,"open":12692.8},{"amount":1.156,"high":12920.9,"vol":1156,"low":12624.8,"count":115,"id":1603296000,"close":12835.9,"tradeTurnover":14802.449,"open":12679.7},{"amount":1.12,"high":12908.3,"vol":1120,"low":12687.5,"count":115,"id":1603299600,"close":12754.2,"tradeTurnover":14345.7324,"open":12848.3},{"amount":1.106,"high":12849.0,"vol":1106,"low":12668.3,"count":114,"id":1603303200,"close":12740.2,"tradeTurnover":14105.3504,"open":12743.7},{"amount":1.032,"high":12843.1,"vol":1032,"low":12597.2,"count":112,"id":1603306800,"close":12650.3,"tradeTurnover":13125.4568,"open":12729.5},{"amount":1.154,"high":12848.4,"vol":1154,"low":12610.2,"count":116,"id":1603310400,"close":12807.0,"tradeTurnover":14680.638,"open":12666.8},{"amount":1.164,"high":13005.1,"vol":1164,"low":12748.2,"count":114,"id":1603314000,"close":12938.9,"tradeTurnover":14976.9366,"open":12866.0},{"amount":1.174,"high":13211.2,"vol":1174,"low":12865.7,"count":114,"id":1603317600,"close":13122.0,"tradeTurnover":15285.2446,"open":12921.0},{"amount":1.172,"high":13173.2,"vol":1172,"low":12688.6,"count":117,"id":1603321200,"close":12829.8,"tradeTurnover":15060.9938,"open":13153.2},{"amount":1.17,"high":12988.1,"vol":1170,"low":12764.4,"count":117,"id":1603324800,"close":12885.9,"tradeTurnover":15046.2046,"open":12793.1},{"amount":1.158,"high":12972.6,"vol":1158,"low":12757.5,"count":118,"id":1603328400,"close":12757.5,"tradeTurnover":14882.4656,"open":12860.4},{"amount":1.124,"high":12848.0,"vol":1124,"low":12729.0,"count":115,"id":1603332000,"close":12788.8,"tradeTurnover":14368.7948,"open":12824.1},{"amount":1.194,"high":12834.4,"vol":1194,"low":12729.0,"count":111,"id":1603335600,"close":12767.2,"tradeTurnover":15268.9298,"open":12791.7},{"amount":1.152,"high":12778.3,"vol":1152,"low":12729.0,"count":115,"id":1603339200,"close":12762.2,"tradeTurnover":14695.4876,"open":12729.0},{"amount":1.21,"high":12842.0,"vol":1210,"low":12730.6,"count":119,"id":1603342800,"close":12813.8,"tradeTurnover":15440.8162,"open":12763.1},{"amount":1.188,"high":12795.0,"vol":1188,"low":12728.0,"count":123,"id":1603346400,"close":12729.1,"tradeTurnover":15128.0098,"open":12795.0},{"amount":1.266,"high":12730.6,"vol":1266,"low":12728.3,"count":112,"id":1603350000,"close":12730.6,"tradeTurnover":16115.1306,"open":12728.6},{"amount":1.35,"high":12921.5,"vol":1350,"low":12729.9,"count":127,"id":1603353600,"close":12770.1,"tradeTurnover":17233.7326,"open":12730.3},{"amount":0.98,"high":12872.1,"vol":980,"low":12760.1,"count":99,"id":1603357200,"close":12780.4,"tradeTurnover":12553.9826,"open":12824.9},{"amount":0.266,"high":13002.7,"vol":266,"low":12775.6,"count":30,"id":1603360800,"close":12934.2,"tradeTurnover":3415.023,"open":12784.9},{"amount":1.004,"high":13057.0,"vol":1004,"low":12886.6,"count":117,"id":1603364400,"close":13045.0,"tradeTurnover":13020.8576,"open":12977.0},{"amount":1.134,"high":12973.4,"vol":1134,"low":12751.6,"count":111,"id":1603368000,"close":12847.9,"tradeTurnover":14594.2752,"open":12958.5},{"amount":1.152,"high":13000.8,"vol":1152,"low":12743.0,"count":114,"id":1603371600,"close":12931.0,"tradeTurnover":14877.7314,"open":12882.7},{"amount":1.182,"high":12995.3,"vol":1182,"low":12783.9,"count":115,"id":1603375200,"close":12917.8,"tradeTurnover":15224.4716,"open":12890.4},{"amount":1.176,"high":13031.2,"vol":1176,"low":12817.9,"count":117,"id":1603378800,"close":12953.0,"tradeTurnover":15197.208,"open":12918.8},{"amount":1.146,"high":13100.2,"vol":1146,"low":12865.6,"count":119,"id":1603382400,"close":13055.6,"tradeTurnover":14851.9604,"open":12923.1},{"amount":1.534,"high":13105.7,"vol":1534,"low":12835.5,"count":124,"id":1603386000,"close":13082.7,"tradeTurnover":19927.8288,"open":12967.6},{"amount":1.268,"high":13115.0,"vol":1268,"low":12938.7,"count":117,"id":1603389600,"close":13016.4,"tradeTurnover":16505.4738,"open":13020.4},{"amount":1.13,"high":13171.2,"vol":1130,"low":12961.8,"count":112,"id":1603393200,"close":12970.6,"tradeTurnover":14762.952,"open":13028.3},{"amount":1.206,"high":13216.1,"vol":1206,"low":12998.5,"count":117,"id":1603396800,"close":13089.3,"tradeTurnover":15807.1226,"open":13016.7},{"amount":1.332,"high":13203.7,"vol":1332,"low":12932.9,"count":114,"id":1603400400,"close":13092.0,"tradeTurnover":17423.4422,"open":13136.0},{"amount":1.21,"high":13250.5,"vol":1210,"low":12984.7,"count":114,"id":1603404000,"close":13055.9,"tradeTurnover":15876.0632,"open":13119.4},{"amount":1.286,"high":13126.5,"vol":1286,"low":12857.2,"count":116,"id":1603407600,"close":12890.4,"tradeTurnover":16688.422,"open":13059.4},{"amount":1.502,"high":12994.0,"vol":1502,"low":12751.6,"count":131,"id":1603411200,"close":12892.2,"tradeTurnover":19331.1596,"open":12929.7},{"amount":1.386,"high":13003.2,"vol":1386,"low":12786.0,"count":121,"id":1603414800,"close":12898.3,"tradeTurnover":17904.8902,"open":12921.7},{"amount":1.416,"high":13054.0,"vol":1416,"low":12800.7,"count":122,"id":1603418400,"close":12975.1,"tradeTurnover":18306.6204,"open":12951.6},{"amount":1.19,"high":13030.7,"vol":1190,"low":12875.0,"count":118,"id":1603422000,"close":12947.0,"tradeTurnover":15409.7984,"open":12967.3},{"amount":1.022,"high":13047.3,"vol":1022,"low":12832.8,"count":127,"id":1603425600,"close":12852.0,"tradeTurnover":13214.4388,"open":12925.2},{"amount":0.478,"high":12991.7,"vol":478,"low":12841.2,"count":118,"id":1603429200,"close":12931.1,"tradeTurnover":6180.2486,"open":12859.0},{"amount":0.522,"high":13014.1,"vol":522,"low":12871.9,"count":132,"id":1603432800,"close":12939.6,"tradeTurnover":6759.0324,"open":12935.9},{"amount":0.476,"high":12998.9,"vol":476,"low":12917.1,"count":118,"id":1603436400,"close":12925.4,"tradeTurnover":6163.3118,"open":12923.1},{"amount":0.508,"high":13014.0,"vol":508,"low":12916.1,"count":122,"id":1603440000,"close":12962.6,"tradeTurnover":6585.3656,"open":12942.2},{"amount":0.564,"high":13012.5,"vol":564,"low":12909.9,"count":124,"id":1603443600,"close":12926.4,"tradeTurnover":7308.8828,"open":12970.5},{"amount":0.536,"high":13059.5,"vol":536,"low":12925.7,"count":124,"id":1603447200,"close":13007.7,"tradeTurnover":6957.8796,"open":13001.2},{"amount":0.486,"high":13078.4,"vol":486,"low":12906.5,"count":122,"id":1603450800,"close":12970.6,"tradeTurnover":6326.1434,"open":13025.4},{"amount":0.494,"high":13025.0,"vol":494,"low":12850.8,"count":117,"id":1603454400,"close":12935.4,"tradeTurnover":6396.0984,"open":12963.9},{"amount":0.466,"high":13043.3,"vol":466,"low":12911.0,"count":117,"id":1603458000,"close":12951.7,"tradeTurnover":6049.1412,"open":12913.3},{"amount":0.46,"high":13006.4,"vol":460,"low":12840.4,"count":116,"id":1603461600,"close":12858.8,"tradeTurnover":5941.815,"open":12999.6},{"amount":0.492,"high":12932.9,"vol":492,"low":12826.5,"count":117,"id":1603465200,"close":12881.9,"tradeTurnover":6340.214,"open":12885.7},{"amount":0.484,"high":12933.5,"vol":484,"low":12744.4,"count":123,"id":1603468800,"close":12784.1,"tradeTurnover":6205.4138,"open":12854.4},{"amount":0.562,"high":12893.1,"vol":562,"low":12730.1,"count":152,"id":1603472400,"close":12847.7,"tradeTurnover":7218.9184,"open":12832.3},{"amount":0.53,"high":12939.3,"vol":530,"low":12751.4,"count":128,"id":1603476000,"close":12915.7,"tradeTurnover":6825.7004,"open":12874.1},{"amount":0.444,"high":12972.9,"vol":444,"low":12786.6,"count":117,"id":1603479600,"close":12972.9,"tradeTurnover":5727.7452,"open":12867.9},{"amount":0.492,"high":13002.2,"vol":492,"low":12842.9,"count":116,"id":1603483200,"close":12991.6,"tradeTurnover":6375.1566,"open":12956.7},{"amount":0.5,"high":13004.3,"vol":500,"low":12936.6,"count":125,"id":1603486800,"close":12943.5,"tradeTurnover":6485.468,"open":13004.3},{"amount":0.492,"high":13010.3,"vol":492,"low":12884.7,"count":120,"id":1603490400,"close":12989.2,"tradeTurnover":6376.1492,"open":12923.6},{"amount":0.51,"high":13024.4,"vol":510,"low":12884.6,"count":121,"id":1603494000,"close":12884.6,"tradeTurnover":6622.3406,"open":12974.9},{"amount":0.488,"high":13018.3,"vol":488,"low":12811.1,"count":120,"id":1603497600,"close":12953.9,"tradeTurnover":6317.7938,"open":12973.7},{"amount":0.482,"high":13018.1,"vol":482,"low":12872.8,"count":117,"id":1603501200,"close":12934.2,"tradeTurnover":6242.4178,"open":12927.5},{"amount":0.484,"high":13003.9,"vol":484,"low":12903.3,"count":117,"id":1603504800,"close":12989.1,"tradeTurnover":6278.1756,"open":12971.9},{"amount":0.474,"high":13013.4,"vol":474,"low":12938.3,"count":122,"id":1603508400,"close":12975.9,"tradeTurnover":6157.7096,"open":13000.1},{"amount":0.526,"high":13009.4,"vol":526,"low":12905.5,"count":124,"id":1603512000,"close":12963.3,"tradeTurnover":6831.5658,"open":12989.7},{"amount":0.522,"high":13041.8,"vol":522,"low":12875.3,"count":127,"id":1603515600,"close":12989.7,"tradeTurnover":6768.8994,"open":12910.5},{"amount":0.49,"high":13058.1,"vol":490,"low":12908.8,"count":120,"id":1603519200,"close":13003.6,"tradeTurnover":6370.5714,"open":12994.7},{"amount":0.478,"high":13037.8,"vol":478,"low":12981.7,"count":120,"id":1603522800,"close":13004.2,"tradeTurnover":6218.9722,"open":13011.9},{"amount":0.52,"high":13030.6,"vol":520,"low":12899.4,"count":124,"id":1603526400,"close":12998.2,"tradeTurnover":6754.958,"open":13003.0},{"amount":0.454,"high":13020.3,"vol":454,"low":12893.6,"count":115,"id":1603530000,"close":12990.6,"tradeTurnover":5891.0574,"open":12998.2},{"amount":0.502,"high":13059.1,"vol":502,"low":12913.2,"count":124,"id":1603533600,"close":13030.1,"tradeTurnover":6525.9004,"open":12996.4},{"amount":0.468,"high":13068.3,"vol":468,"low":12940.2,"count":119,"id":1603537200,"close":13033.2,"tradeTurnover":6091.0376,"open":12988.4},{"amount":0.468,"high":13071.8,"vol":468,"low":12978.9,"count":123,"id":1603540800,"close":13006.5,"tradeTurnover":6102.5902,"open":13035.3},{"amount":0.534,"high":13066.7,"vol":534,"low":12928.1,"count":123,"id":1603544400,"close":12985.9,"tradeTurnover":6950.4268,"open":13038.8},{"amount":0.47,"high":13100.1,"vol":470,"low":12960.5,"count":100,"id":1603548000,"close":13042.0,"tradeTurnover":6124.2178,"open":12986.3},{"amount":0.456,"high":13196.5,"vol":456,"low":13038.4,"count":120,"id":1603551600,"close":13102.2,"tradeTurnover":5989.6362,"open":13038.4},{"amount":0.458,"high":13176.6,"vol":458,"low":12984.6,"count":121,"id":1603555200,"close":13052.7,"tradeTurnover":5976.331,"open":13136.8},{"amount":0.452,"high":13177.8,"vol":452,"low":13003.2,"count":118,"id":1603558800,"close":13177.8,"tradeTurnover":5911.7058,"open":13006.2},{"amount":0.468,"high":13170.7,"vol":468,"low":13023.0,"count":119,"id":1603562400,"close":13080.8,"tradeTurnover":6122.375,"open":13127.7},{"amount":0.468,"high":13179.3,"vol":468,"low":13014.2,"count":120,"id":1603566000,"close":13148.4,"tradeTurnover":6126.4278,"open":13040.7},{"amount":0.47,"high":13179.6,"vol":470,"low":12992.5,"count":119,"id":1603569600,"close":13090.1,"tradeTurnover":6151.4758,"open":13073.5},{"amount":0.458,"high":13148.7,"vol":458,"low":12980.7,"count":117,"id":1603573200,"close":12993.9,"tradeTurnover":5981.071,"open":13035.4},{"amount":0.478,"high":13112.1,"vol":478,"low":12975.6,"count":118,"id":1603576800,"close":13041.1,"tradeTurnover":6225.4216,"open":13040.7},{"amount":0.472,"high":13184.3,"vol":472,"low":13009.3,"count":118,"id":1603580400,"close":13184.3,"tradeTurnover":6173.4244,"open":13012.6},{"amount":0.46,"high":13170.4,"vol":460,"low":13007.7,"count":115,"id":1603584000,"close":13154.3,"tradeTurnover":6024.09,"open":13080.8},{"amount":0.398,"high":13196.8,"vol":398,"low":13024.0,"count":102,"id":1603587600,"close":13196.1,"tradeTurnover":5217.5364,"open":13092.0},{"amount":0.476,"high":13175.1,"vol":476,"low":13035.0,"count":120,"id":1603591200,"close":13082.4,"tradeTurnover":6228.6596,"open":13124.7},{"amount":0.578,"high":13383.8,"vol":578,"low":13049.1,"count":137,"id":1603594800,"close":13259.0,"tradeTurnover":7629.3886,"open":13049.1},{"amount":0.47,"high":13369.0,"vol":470,"low":13216.0,"count":122,"id":1603598400,"close":13243.4,"tradeTurnover":6247.955,"open":13277.0},{"amount":0.61,"high":13353.3,"vol":610,"low":13010.1,"count":134,"id":1603602000,"close":13017.3,"tradeTurnover":8048.8598,"open":13285.3},{"amount":0.486,"high":13105.7,"vol":486,"low":13018.2,"count":118,"id":1603605600,"close":13060.3,"tradeTurnover":6344.1474,"open":13022.5},{"amount":0.464,"high":13112.1,"vol":464,"low":13022.0,"count":120,"id":1603609200,"close":13078.1,"tradeTurnover":6061.5416,"open":13048.5},{"amount":0.464,"high":13091.0,"vol":464,"low":13017.2,"count":120,"id":1603612800,"close":13046.0,"tradeTurnover":6055.3734,"open":13077.2},{"amount":0.478,"high":13084.0,"vol":478,"low":13014.2,"count":117,"id":1603616400,"close":13040.8,"tradeTurnover":6235.7882,"open":13065.1},{"amount":0.478,"high":13064.2,"vol":478,"low":13010.2,"count":125,"id":1603620000,"close":13028.5,"tradeTurnover":6232.2428,"open":13047.1},{"amount":0.534,"high":13061.5,"vol":534,"low":12852.9,"count":123,"id":1603623600,"close":12897.6,"tradeTurnover":6918.1226,"open":13061.5},{"amount":0.444,"high":13069.7,"vol":444,"low":12893.2,"count":117,"id":1603627200,"close":12964.3,"tradeTurnover":5755.8712,"open":12908.3},{"amount":0.498,"high":13071.9,"vol":498,"low":12891.8,"count":119,"id":1603630800,"close":12949.3,"tradeTurnover":6465.078,"open":13001.3},{"amount":0.468,"high":13077.7,"vol":468,"low":12900.0,"count":116,"id":1603634400,"close":12946.8,"tradeTurnover":6075.4554,"open":12975.8},{"amount":0.47,"high":13069.1,"vol":470,"low":12883.3,"count":119,"id":1603638000,"close":12883.3,"tradeTurnover":6097.1072,"open":12975.2},{"amount":0.482,"high":13067.9,"vol":482,"low":12877.5,"count":118,"id":1603641600,"close":12978.7,"tradeTurnover":6256.4472,"open":12916.2},{"amount":0.47,"high":13087.5,"vol":470,"low":12922.7,"count":117,"id":1603645200,"close":13004.4,"tradeTurnover":6108.3892,"open":13008.0},{"amount":0.468,"high":13067.6,"vol":468,"low":12893.6,"count":118,"id":1603648800,"close":12957.2,"tradeTurnover":6079.1484,"open":12972.8},{"amount":0.442,"high":13066.9,"vol":442,"low":12916.6,"count":118,"id":1603652400,"close":13021.8,"tradeTurnover":5746.5548,"open":12996.5},{"amount":0.508,"high":13081.5,"vol":508,"low":12944.9,"count":120,"id":1603656000,"close":12985.4,"tradeTurnover":6616.9872,"open":12992.9},{"amount":0.508,"high":13068.6,"vol":508,"low":12921.4,"count":122,"id":1603659600,"close":13011.2,"tradeTurnover":6614.816,"open":12999.9},{"amount":0.486,"high":13073.8,"vol":486,"low":12911.9,"count":121,"id":1603663200,"close":12959.4,"tradeTurnover":6320.907,"open":12979.6},{"amount":0.452,"high":13085.2,"vol":452,"low":12927.8,"count":113,"id":1603666800,"close":13032.1,"tradeTurnover":5878.6442,"open":12963.4},{"amount":0.482,"high":13076.7,"vol":482,"low":12918.3,"count":121,"id":1603670400,"close":13001.0,"tradeTurnover":6263.698,"open":12964.2},{"amount":0.478,"high":13096.4,"vol":478,"low":12991.2,"count":124,"id":1603674000,"close":13053.7,"tradeTurnover":6232.2328,"open":13040.0},{"amount":0.488,"high":13185.7,"vol":488,"low":12985.1,"count":121,"id":1603677600,"close":13064.4,"tradeTurnover":6387.534,"open":13060.6},{"amount":0.486,"high":13187.2,"vol":486,"low":12984.1,"count":135,"id":1603681200,"close":13092.8,"tradeTurnover":6369.0272,"open":13032.3},{"amount":0.51,"high":13181.6,"vol":510,"low":12962.3,"count":131,"id":1603684800,"close":13132.6,"tradeTurnover":6679.829,"open":13092.0},{"amount":0.506,"high":13205.3,"vol":506,"low":13025.3,"count":126,"id":1603688400,"close":13092.1,"tradeTurnover":6641.2128,"open":13129.2},{"amount":1.616,"high":13188.1,"vol":1616,"low":12989.8,"count":141,"id":1603692000,"close":13071.4,"tradeTurnover":21170.8224,"open":13121.8},{"amount":3.746,"high":13100.0,"vol":3746,"low":12965.2,"count":110,"id":1603695600,"close":13038.7,"tradeTurnover":48924.8902,"open":13061.0},{"amount":8.966,"high":13102.0,"vol":8966,"low":12852.8,"count":173,"id":1603699200,"close":13039.3,"tradeTurnover":116525.5534,"open":13030.9},{"amount":4.48,"high":13088.4,"vol":4480,"low":13039.8,"count":124,"id":1603702800,"close":13075.9,"tradeTurnover":58521.1714,"open":13047.1},{"amount":4.272,"high":13100.0,"vol":4272,"low":13060.2,"count":130,"id":1603706400,"close":13100.0,"tradeTurnover":55895.9778,"open":13072.1},{"amount":29.798,"high":13159.0,"vol":29798,"low":13100.0,"count":230,"id":1603710000,"close":13138.4,"tradeTurnover":391138.024,"open":13100.0},{"amount":5.154,"high":13200.0,"vol":5154,"low":13100.0,"count":188,"id":1603713600,"close":13149.8,"tradeTurnover":67694.652,"open":13138.8},{"amount":35.608,"high":13351.5,"vol":35608,"low":13133.1,"count":328,"id":1603717200,"close":13205.8,"tradeTurnover":472780.3394,"open":13150.0},{"amount":31.748,"high":13280.0,"vol":31748,"low":13144.1,"count":235,"id":1603720800,"close":13166.1,"tradeTurnover":418744.5588,"open":13203.0},{"amount":36.53,"high":13165.2,"vol":36530,"low":12903.8,"count":384,"id":1603724400,"close":12978.0,"tradeTurnover":476940.3296,"open":13159.0},{"amount":35.018,"high":13069.8,"vol":35018,"low":12850.5,"count":323,"id":1603728000,"close":12869.6,"tradeTurnover":453288.918,"open":12965.0},{"amount":92.628,"high":12941.5,"vol":92628,"low":12583.9,"count":560,"id":1603731600,"close":12873.8,"tradeTurnover":1185973.467,"open":12879.2},{"amount":4.302,"high":12954.5,"vol":4302,"low":12820.4,"count":128,"id":1603735200,"close":12946.8,"tradeTurnover":55481.0054,"open":12856.2},{"amount":13.83,"high":12953.5,"vol":13830,"low":12914.1,"count":118,"id":1603738800,"close":12953.4,"tradeTurnover":179112.1598,"open":12945.6},{"amount":17.172,"high":13007.5,"vol":17172,"low":12953.5,"count":132,"id":1603742400,"close":12983.4,"tradeTurnover":223230.2122,"open":12953.5},{"amount":3.212,"high":13007.5,"vol":3212,"low":12982.7,"count":59,"id":1603746000,"close":12993.8,"tradeTurnover":41767.8906,"open":12983.1},{"amount":1.504,"high":13007.5,"vol":1504,"low":12974.0,"count":74,"id":1603749600,"close":13007.5,"tradeTurnover":19543.3568,"open":13002.1},{"amount":3.454,"high":13061.2,"vol":3454,"low":13007.5,"count":101,"id":1603753200,"close":13033.7,"tradeTurnover":45001.601,"open":13007.5},{"amount":8.784,"high":13105.0,"vol":8784,"low":13028.3,"count":98,"id":1603756800,"close":13067.1,"tradeTurnover":114871.8246,"open":13029.2},{"amount":11.592,"high":13074.4,"vol":11592,"low":13051.5,"count":66,"id":1603760400,"close":13061.7,"tradeTurnover":151386.9038,"open":13074.3},{"amount":19.298,"high":13097.6,"vol":19298,"low":13040.1,"count":109,"id":1603764000,"close":13049.7,"tradeTurnover":252061.019,"open":13061.7},{"amount":22.992,"high":13080.0,"vol":22992,"low":13057.1,"count":69,"id":1603767600,"close":13070.4,"tradeTurnover":300453.9788,"open":13057.6},{"amount":14.396,"high":13175.0,"vol":14396,"low":13079.6,"count":59,"id":1603771200,"close":13103.3,"tradeTurnover":188461.9156,"open":13080.0},{"amount":5.058,"high":13121.3,"vol":5058,"low":13069.7,"count":44,"id":1603774800,"close":13073.6,"tradeTurnover":66201.3552,"open":13121.3},{"amount":9.106,"high":13149.0,"vol":9106,"low":13069.6,"count":107,"id":1603778400,"close":13103.4,"tradeTurnover":119104.8906,"open":13074.9},{"amount":73.95,"high":13169.8,"vol":73950,"low":12992.4,"count":305,"id":1603782000,"close":13130.0,"tradeTurnover":968195.155,"open":13103.3},{"amount":18.732,"high":13148.4,"vol":18732,"low":13044.0,"count":135,"id":1603785600,"close":13123.8,"tradeTurnover":245533.5448,"open":13135.1},{"amount":13.756,"high":13131.8,"vol":13756,"low":13075.7,"count":102,"id":1603789200,"close":13131.7,"tradeTurnover":180253.7708,"open":13115.5},{"amount":154.108,"high":13252.0,"vol":154108,"low":13063.4,"count":525,"id":1603792800,"close":13216.9,"tradeTurnover":2029983.656,"open":13134.8},{"amount":170.09,"high":13590.1,"vol":170090,"low":13213.5,"count":591,"id":1603796400,"close":13395.8,"tradeTurnover":2276279.742,"open":13218.8},{"amount":48.928,"high":13414.0,"vol":48928,"low":13331.7,"count":216,"id":1603800000,"close":13376.9,"tradeTurnover":654585.9108,"open":13395.9},{"amount":63.294,"high":13490.9,"vol":63294,"low":13329.8,"count":316,"id":1603803600,"close":13384.3,"tradeTurnover":848130.9212,"open":13376.5},{"amount":12.892,"high":13415.8,"vol":12892,"low":13344.8,"count":124,"id":1603807200,"close":13398.2,"tradeTurnover":172618.6864,"open":13392.6},{"amount":93.22,"high":13626.7,"vol":93220,"low":13398.2,"count":476,"id":1603810800,"close":13598.5,"tradeTurnover":1262695.5466,"open":13398.2},{"amount":85.45,"high":13639.9,"vol":85450,"low":13520.2,"count":435,"id":1603814400,"close":13639.9,"tradeTurnover":1161481.4136,"open":13595.8},{"amount":191.812,"high":13826.7,"vol":191812,"low":13589.0,"count":711,"id":1603818000,"close":13688.1,"tradeTurnover":2628428.3788,"open":13640.0},{"amount":65.434,"high":13745.0,"vol":65434,"low":13528.2,"count":410,"id":1603821600,"close":13630.1,"tradeTurnover":891541.8394,"open":13685.0},{"amount":5.788,"high":13659.8,"vol":5788,"low":13595.4,"count":65,"id":1603825200,"close":13637.1,"tradeTurnover":78836.2578,"open":13629.4},{"amount":163.104,"high":13805.1,"vol":163104,"low":13582.6,"count":537,"id":1603828800,"close":13616.6,"tradeTurnover":2234040.3544,"open":13644.4},{"amount":9.884,"high":13753.5,"vol":9884,"low":13609.8,"count":101,"id":1603832400,"close":13705.5,"tradeTurnover":135406.4752,"open":13609.8},{"amount":7.436,"high":13739.9,"vol":7436,"low":13658.2,"count":100,"id":1603836000,"close":13739.9,"tradeTurnover":101840.3508,"open":13705.4},{"amount":17.086,"high":13794.6,"vol":17086,"low":13582.6,"count":234,"id":1603839600,"close":13649.6,"tradeTurnover":233971.8448,"open":13739.9},{"amount":24.108,"high":13745.2,"vol":24108,"low":13618.8,"count":177,"id":1603843200,"close":13701.7,"tradeTurnover":330206.5694,"open":13645.9},{"amount":15.892,"high":13725.6,"vol":15892,"low":13647.9,"count":151,"id":1603846800,"close":13702.6,"tradeTurnover":217816.7008,"open":13702.1},{"amount":46.548,"high":13832.2,"vol":46548,"low":13680.2,"count":274,"id":1603850400,"close":13811.6,"tradeTurnover":640636.0352,"open":13701.7},{"amount":67.896,"high":13820.3,"vol":67896,"low":13717.5,"count":320,"id":1603854000,"close":13777.0,"tradeTurnover":935838.2238,"open":13818.5},{"amount":33.156,"high":13807.2,"vol":33156,"low":13710.0,"count":210,"id":1603857600,"close":13735.7,"tradeTurnover":455941.234,"open":13767.3},{"amount":32.076,"high":13753.9,"vol":32076,"low":13671.3,"count":198,"id":1603861200,"close":13715.8,"tradeTurnover":439612.64,"open":13735.5},{"amount":14.756,"high":13757.0,"vol":14756,"low":13694.9,"count":122,"id":1603864800,"close":13701.3,"tradeTurnover":202602.5164,"open":13715.9},{"amount":155.534,"high":13708.7,"vol":155534,"low":13550.0,"count":635,"id":1603868400,"close":13674.2,"tradeTurnover":2117935.0928,"open":13701.2},{"amount":29.846,"high":13691.7,"vol":29846,"low":13584.0,"count":240,"id":1603872000,"close":13691.7,"tradeTurnover":407073.1398,"open":13673.0},{"amount":104.542,"high":13707.5,"vol":104542,"low":13573.5,"count":377,"id":1603875600,"close":13587.1,"tradeTurnover":1425079.9344,"open":13689.3},{"amount":73.818,"high":13618.0,"vol":73818,"low":13504.7,"count":358,"id":1603879200,"close":13552.7,"tradeTurnover":1001666.0908,"open":13584.6},{"amount":176.544,"high":13565.4,"vol":176544,"low":13330.0,"count":1004,"id":1603882800,"close":13336.4,"tradeTurnover":2369166.1492,"open":13552.6},{"amount":289.73,"high":13385.0,"vol":289730,"low":13173.9,"count":968,"id":1603886400,"close":13300.3,"tradeTurnover":3846751.7166,"open":13331.5},{"amount":139.822,"high":13340.0,"vol":139822,"low":13122.9,"count":612,"id":1603890000,"close":13129.9,"tradeTurnover":1848876.932,"open":13300.2},{"amount":367.876,"high":13168.2,"vol":367876,"low":12915.9,"count":1168,"id":1603893600,"close":13082.2,"tradeTurnover":4802516.9818,"open":13123.4},{"amount":84.044,"high":13235.2,"vol":84044,"low":13052.3,"count":375,"id":1603897200,"close":13221.2,"tradeTurnover":1106883.1282,"open":13077.1},{"amount":29.566,"high":13218.7,"vol":29566,"low":13050.0,"count":244,"id":1603900800,"close":13145.1,"tradeTurnover":388697.4104,"open":13218.7},{"amount":53.336,"high":13204.9,"vol":53336,"low":13006.6,"count":299,"id":1603904400,"close":13176.7,"tradeTurnover":700385.2784,"open":13145.1},{"amount":34.164,"high":13219.6,"vol":34164,"low":13131.0,"count":218,"id":1603908000,"close":13196.5,"tradeTurnover":450210.5778,"open":13171.0},{"amount":22.158,"high":13237.4,"vol":22158,"low":13145.0,"count":185,"id":1603911600,"close":13154.9,"tradeTurnover":292020.0438,"open":13200.0},{"amount":4.548,"high":13211.8,"vol":4548,"low":13147.4,"count":75,"id":1603915200,"close":13198.1,"tradeTurnover":59991.1118,"open":13154.5},{"amount":3.52,"high":13196.5,"vol":3520,"low":13100.2,"count":68,"id":1603918800,"close":13190.1,"tradeTurnover":46175.428,"open":13193.5},{"amount":3.122,"high":13267.5,"vol":3122,"low":13185.4,"count":72,"id":1603922400,"close":13252.0,"tradeTurnover":41304.2018,"open":13185.4},{"amount":14.768,"high":13282.3,"vol":14768,"low":13235.9,"count":86,"id":1603926000,"close":13265.9,"tradeTurnover":195689.0764,"open":13242.1},{"amount":19.968,"high":13294.7,"vol":19968,"low":13237.4,"count":98,"id":1603929600,"close":13245.1,"tradeTurnover":264834.1944,"open":13253.9},{"amount":35.282,"high":13285.3,"vol":35282,"low":13166.3,"count":192,"id":1603933200,"close":13274.2,"tradeTurnover":465789.6302,"open":13244.6},{"amount":9.748,"high":13277.7,"vol":9748,"low":13212.2,"count":119,"id":1603936800,"close":13241.1,"tradeTurnover":129016.0684,"open":13275.9},{"amount":27.3,"high":13262.5,"vol":27300,"low":13174.6,"count":199,"id":1603940400,"close":13262.5,"tradeTurnover":360589.8982,"open":13237.1},{"amount":18.904,"high":13277.7,"vol":18904,"low":13229.5,"count":109,"id":1603944000,"close":13229.5,"tradeTurnover":250713.2812,"open":13269.1},{"amount":15.822,"high":13274.8,"vol":15822,"low":13228.5,"count":134,"id":1603947600,"close":13274.8,"tradeTurnover":209781.909,"open":13228.5},{"amount":91.246,"high":13323.0,"vol":91246,"low":13242.3,"count":294,"id":1603951200,"close":13255.0,"tradeTurnover":1211271.2788,"open":13274.8},{"amount":187.622,"high":13269.3,"vol":187622,"low":13123.1,"count":506,"id":1603954800,"close":13142.4,"tradeTurnover":2478299.7074,"open":13255.0},{"amount":69.532,"high":13182.4,"vol":69532,"low":13094.1,"count":226,"id":1603958400,"close":13124.8,"tradeTurnover":914157.2418,"open":13145.9},{"amount":23.184,"high":13197.1,"vol":23184,"low":13129.5,"count":141,"id":1603962000,"close":13183.7,"tradeTurnover":305485.9524,"open":13129.5},{"amount":121.146,"high":13187.5,"vol":121146,"low":13053.1,"count":442,"id":1603965600,"close":13105.2,"tradeTurnover":1590026.4416,"open":13184.8},{"amount":47.498,"high":13171.4,"vol":47498,"low":13060.1,"count":262,"id":1603969200,"close":13060.1,"tradeTurnover":623578.149,"open":13105.1},{"amount":126.552,"high":13145.8,"vol":126552,"low":12977.9,"count":481,"id":1603972800,"close":13131.8,"tradeTurnover":1652549.311,"open":13056.9},{"amount":100.482,"high":13237.2,"vol":100482,"low":13102.0,"count":325,"id":1603976400,"close":13230.0,"tradeTurnover":1326403.7206,"open":13131.7},{"amount":253.258,"high":13476.1,"vol":253258,"low":13231.0,"count":752,"id":1603980000,"close":13420.8,"tradeTurnover":3384941.438,"open":13231.0},{"amount":64.71,"high":13458.7,"vol":64710,"low":13358.7,"count":269,"id":1603983600,"close":13420.6,"tradeTurnover":869052.3804,"open":13416.0},{"amount":120.24,"high":13594.5,"vol":120240,"low":13391.8,"count":570,"id":1603987200,"close":13535.9,"tradeTurnover":1626567.8278,"open":13421.9}],"id":"","rep":"market.BTC-USDT.kline.60min","status":"ok"} +2024-01-18 11:12:58.848 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:39] - 请求 KLine 数据用户收到的原始数据:{"id":"","rep":"market.BTC-USDT.kline.60min","ts":1705547577752,"wsid":19750305,"status":"ok","data":[{"id":1603270800,"open":12198.0,"close":12196.7,"high":12300.0,"low":11715.8,"amount":0.276,"vol":276,"trade_turnover":3315.9104,"count":39},{"id":1603274400,"open":12196.7,"close":12277.9,"high":12289.9,"low":12111.0,"amount":0.198,"vol":198,"trade_turnover":2420.7728,"count":21},{"id":1603278000,"open":12111.0,"close":12000.0,"high":12277.9,"low":12000.0,"amount":0.012,"vol":12,"trade_turnover":145.2238,"count":5},{"id":1603281600,"open":12078.0,"close":12497.4,"high":12498.0,"low":12078.0,"amount":0.084,"vol":84,"trade_turnover":1040.0504,"count":12},{"id":1603285200,"open":12495.6,"close":12373.5,"high":12495.6,"low":12282.9,"amount":1.122,"vol":1122,"trade_turnover":13905.3124,"count":112},{"id":1603288800,"open":12412.9,"close":12689.9,"high":12807.6,"low":12358.1,"amount":5.29,"vol":5290,"trade_turnover":66852.128,"count":155},{"id":1603292400,"open":12692.8,"close":12701.9,"high":12778.7,"low":12573.2,"amount":1.174,"vol":1174,"trade_turnover":14907.367,"count":113},{"id":1603296000,"open":12679.7,"close":12835.9,"high":12920.9,"low":12624.8,"amount":1.156,"vol":1156,"trade_turnover":14802.449,"count":115},{"id":1603299600,"open":12848.3,"close":12754.2,"high":12908.3,"low":12687.5,"amount":1.12,"vol":1120,"trade_turnover":14345.7324,"count":115},{"id":1603303200,"open":12743.7,"close":12740.2,"high":12849.0,"low":12668.3,"amount":1.106,"vol":1106,"trade_turnover":14105.3504,"count":114},{"id":1603306800,"open":12729.5,"close":12650.3,"high":12843.1,"low":12597.2,"amount":1.032,"vol":1032,"trade_turnover":13125.4568,"count":112},{"id":1603310400,"open":12666.8,"close":12807.0,"high":12848.4,"low":12610.2,"amount":1.154,"vol":1154,"trade_turnover":14680.638,"count":116},{"id":1603314000,"open":12866.0,"close":12938.9,"high":13005.1,"low":12748.2,"amount":1.164,"vol":1164,"trade_turnover":14976.9366,"count":114},{"id":1603317600,"open":12921.0,"close":13122.0,"high":13211.2,"low":12865.7,"amount":1.174,"vol":1174,"trade_turnover":15285.2446,"count":114},{"id":1603321200,"open":13153.2,"close":12829.8,"high":13173.2,"low":12688.6,"amount":1.172,"vol":1172,"trade_turnover":15060.9938,"count":117},{"id":1603324800,"open":12793.1,"close":12885.9,"high":12988.1,"low":12764.4,"amount":1.17,"vol":1170,"trade_turnover":15046.2046,"count":117},{"id":1603328400,"open":12860.4,"close":12757.5,"high":12972.6,"low":12757.5,"amount":1.158,"vol":1158,"trade_turnover":14882.4656,"count":118},{"id":1603332000,"open":12824.1,"close":12788.8,"high":12848.0,"low":12729.0,"amount":1.124,"vol":1124,"trade_turnover":14368.7948,"count":115},{"id":1603335600,"open":12791.7,"close":12767.2,"high":12834.4,"low":12729.0,"amount":1.194,"vol":1194,"trade_turnover":15268.9298,"count":111},{"id":1603339200,"open":12729.0,"close":12762.2,"high":12778.3,"low":12729.0,"amount":1.152,"vol":1152,"trade_turnover":14695.4876,"count":115},{"id":1603342800,"open":12763.1,"close":12813.8,"high":12842.0,"low":12730.6,"amount":1.21,"vol":1210,"trade_turnover":15440.8162,"count":119},{"id":1603346400,"open":12795.0,"close":12729.1,"high":12795.0,"low":12728.0,"amount":1.188,"vol":1188,"trade_turnover":15128.0098,"count":123},{"id":1603350000,"open":12728.6,"close":12730.6,"high":12730.6,"low":12728.3,"amount":1.266,"vol":1266,"trade_turnover":16115.1306,"count":112},{"id":1603353600,"open":12730.3,"close":12770.1,"high":12921.5,"low":12729.9,"amount":1.35,"vol":1350,"trade_turnover":17233.7326,"count":127},{"id":1603357200,"open":12824.9,"close":12780.4,"high":12872.1,"low":12760.1,"amount":0.98,"vol":980,"trade_turnover":12553.9826,"count":99},{"id":1603360800,"open":12784.9,"close":12934.2,"high":13002.7,"low":12775.6,"amount":0.266,"vol":266,"trade_turnover":3415.023,"count":30},{"id":1603364400,"open":12977.0,"close":13045.0,"high":13057.0,"low":12886.6,"amount":1.004,"vol":1004,"trade_turnover":13020.8576,"count":117},{"id":1603368000,"open":12958.5,"close":12847.9,"high":12973.4,"low":12751.6,"amount":1.134,"vol":1134,"trade_turnover":14594.2752,"count":111},{"id":1603371600,"open":12882.7,"close":12931.0,"high":13000.8,"low":12743.0,"amount":1.152,"vol":1152,"trade_turnover":14877.7314,"count":114},{"id":1603375200,"open":12890.4,"close":12917.8,"high":12995.3,"low":12783.9,"amount":1.182,"vol":1182,"trade_turnover":15224.4716,"count":115},{"id":1603378800,"open":12918.8,"close":12953.0,"high":13031.2,"low":12817.9,"amount":1.176,"vol":1176,"trade_turnover":15197.208,"count":117},{"id":1603382400,"open":12923.1,"close":13055.6,"high":13100.2,"low":12865.6,"amount":1.146,"vol":1146,"trade_turnover":14851.9604,"count":119},{"id":1603386000,"open":12967.6,"close":13082.7,"high":13105.7,"low":12835.5,"amount":1.534,"vol":1534,"trade_turnover":19927.8288,"count":124},{"id":1603389600,"open":13020.4,"close":13016.4,"high":13115.0,"low":12938.7,"amount":1.268,"vol":1268,"trade_turnover":16505.4738,"count":117},{"id":1603393200,"open":13028.3,"close":12970.6,"high":13171.2,"low":12961.8,"amount":1.13,"vol":1130,"trade_turnover":14762.952,"count":112},{"id":1603396800,"open":13016.7,"close":13089.3,"high":13216.1,"low":12998.5,"amount":1.206,"vol":1206,"trade_turnover":15807.1226,"count":117},{"id":1603400400,"open":13136.0,"close":13092.0,"high":13203.7,"low":12932.9,"amount":1.332,"vol":1332,"trade_turnover":17423.4422,"count":114},{"id":1603404000,"open":13119.4,"close":13055.9,"high":13250.5,"low":12984.7,"amount":1.21,"vol":1210,"trade_turnover":15876.0632,"count":114},{"id":1603407600,"open":13059.4,"close":12890.4,"high":13126.5,"low":12857.2,"amount":1.286,"vol":1286,"trade_turnover":16688.422,"count":116},{"id":1603411200,"open":12929.7,"close":12892.2,"high":12994.0,"low":12751.6,"amount":1.502,"vol":1502,"trade_turnover":19331.1596,"count":131},{"id":1603414800,"open":12921.7,"close":12898.3,"high":13003.2,"low":12786.0,"amount":1.386,"vol":1386,"trade_turnover":17904.8902,"count":121},{"id":1603418400,"open":12951.6,"close":12975.1,"high":13054.0,"low":12800.7,"amount":1.416,"vol":1416,"trade_turnover":18306.6204,"count":122},{"id":1603422000,"open":12967.3,"close":12947.0,"high":13030.7,"low":12875.0,"amount":1.19,"vol":1190,"trade_turnover":15409.7984,"count":118},{"id":1603425600,"open":12925.2,"close":12852.0,"high":13047.3,"low":12832.8,"amount":1.022,"vol":1022,"trade_turnover":13214.4388,"count":127},{"id":1603429200,"open":12859.0,"close":12931.1,"high":12991.7,"low":12841.2,"amount":0.478,"vol":478,"trade_turnover":6180.2486,"count":118},{"id":1603432800,"open":12935.9,"close":12939.6,"high":13014.1,"low":12871.9,"amount":0.522,"vol":522,"trade_turnover":6759.0324,"count":132},{"id":1603436400,"open":12923.1,"close":12925.4,"high":12998.9,"low":12917.1,"amount":0.476,"vol":476,"trade_turnover":6163.3118,"count":118},{"id":1603440000,"open":12942.2,"close":12962.6,"high":13014.0,"low":12916.1,"amount":0.508,"vol":508,"trade_turnover":6585.3656,"count":122},{"id":1603443600,"open":12970.5,"close":12926.4,"high":13012.5,"low":12909.9,"amount":0.564,"vol":564,"trade_turnover":7308.8828,"count":124},{"id":1603447200,"open":13001.2,"close":13007.7,"high":13059.5,"low":12925.7,"amount":0.536,"vol":536,"trade_turnover":6957.8796,"count":124},{"id":1603450800,"open":13025.4,"close":12970.6,"high":13078.4,"low":12906.5,"amount":0.486,"vol":486,"trade_turnover":6326.1434,"count":122},{"id":1603454400,"open":12963.9,"close":12935.4,"high":13025.0,"low":12850.8,"amount":0.494,"vol":494,"trade_turnover":6396.0984,"count":117},{"id":1603458000,"open":12913.3,"close":12951.7,"high":13043.3,"low":12911.0,"amount":0.466,"vol":466,"trade_turnover":6049.1412,"count":117},{"id":1603461600,"open":12999.6,"close":12858.8,"high":13006.4,"low":12840.4,"amount":0.46,"vol":460,"trade_turnover":5941.815,"count":116},{"id":1603465200,"open":12885.7,"close":12881.9,"high":12932.9,"low":12826.5,"amount":0.492,"vol":492,"trade_turnover":6340.214,"count":117},{"id":1603468800,"open":12854.4,"close":12784.1,"high":12933.5,"low":12744.4,"amount":0.484,"vol":484,"trade_turnover":6205.4138,"count":123},{"id":1603472400,"open":12832.3,"close":12847.7,"high":12893.1,"low":12730.1,"amount":0.562,"vol":562,"trade_turnover":7218.9184,"count":152},{"id":1603476000,"open":12874.1,"close":12915.7,"high":12939.3,"low":12751.4,"amount":0.53,"vol":530,"trade_turnover":6825.7004,"count":128},{"id":1603479600,"open":12867.9,"close":12972.9,"high":12972.9,"low":12786.6,"amount":0.444,"vol":444,"trade_turnover":5727.7452,"count":117},{"id":1603483200,"open":12956.7,"close":12991.6,"high":13002.2,"low":12842.9,"amount":0.492,"vol":492,"trade_turnover":6375.1566,"count":116},{"id":1603486800,"open":13004.3,"close":12943.5,"high":13004.3,"low":12936.6,"amount":0.5,"vol":500,"trade_turnover":6485.468,"count":125},{"id":1603490400,"open":12923.6,"close":12989.2,"high":13010.3,"low":12884.7,"amount":0.492,"vol":492,"trade_turnover":6376.1492,"count":120},{"id":1603494000,"open":12974.9,"close":12884.6,"high":13024.4,"low":12884.6,"amount":0.51,"vol":510,"trade_turnover":6622.3406,"count":121},{"id":1603497600,"open":12973.7,"close":12953.9,"high":13018.3,"low":12811.1,"amount":0.488,"vol":488,"trade_turnover":6317.7938,"count":120},{"id":1603501200,"open":12927.5,"close":12934.2,"high":13018.1,"low":12872.8,"amount":0.482,"vol":482,"trade_turnover":6242.4178,"count":117},{"id":1603504800,"open":12971.9,"close":12989.1,"high":13003.9,"low":12903.3,"amount":0.484,"vol":484,"trade_turnover":6278.1756,"count":117},{"id":1603508400,"open":13000.1,"close":12975.9,"high":13013.4,"low":12938.3,"amount":0.474,"vol":474,"trade_turnover":6157.7096,"count":122},{"id":1603512000,"open":12989.7,"close":12963.3,"high":13009.4,"low":12905.5,"amount":0.526,"vol":526,"trade_turnover":6831.5658,"count":124},{"id":1603515600,"open":12910.5,"close":12989.7,"high":13041.8,"low":12875.3,"amount":0.522,"vol":522,"trade_turnover":6768.8994,"count":127},{"id":1603519200,"open":12994.7,"close":13003.6,"high":13058.1,"low":12908.8,"amount":0.49,"vol":490,"trade_turnover":6370.5714,"count":120},{"id":1603522800,"open":13011.9,"close":13004.2,"high":13037.8,"low":12981.7,"amount":0.478,"vol":478,"trade_turnover":6218.9722,"count":120},{"id":1603526400,"open":13003.0,"close":12998.2,"high":13030.6,"low":12899.4,"amount":0.52,"vol":520,"trade_turnover":6754.958,"count":124},{"id":1603530000,"open":12998.2,"close":12990.6,"high":13020.3,"low":12893.6,"amount":0.454,"vol":454,"trade_turnover":5891.0574,"count":115},{"id":1603533600,"open":12996.4,"close":13030.1,"high":13059.1,"low":12913.2,"amount":0.502,"vol":502,"trade_turnover":6525.9004,"count":124},{"id":1603537200,"open":12988.4,"close":13033.2,"high":13068.3,"low":12940.2,"amount":0.468,"vol":468,"trade_turnover":6091.0376,"count":119},{"id":1603540800,"open":13035.3,"close":13006.5,"high":13071.8,"low":12978.9,"amount":0.468,"vol":468,"trade_turnover":6102.5902,"count":123},{"id":1603544400,"open":13038.8,"close":12985.9,"high":13066.7,"low":12928.1,"amount":0.534,"vol":534,"trade_turnover":6950.4268,"count":123},{"id":1603548000,"open":12986.3,"close":13042.0,"high":13100.1,"low":12960.5,"amount":0.47,"vol":470,"trade_turnover":6124.2178,"count":100},{"id":1603551600,"open":13038.4,"close":13102.2,"high":13196.5,"low":13038.4,"amount":0.456,"vol":456,"trade_turnover":5989.6362,"count":120},{"id":1603555200,"open":13136.8,"close":13052.7,"high":13176.6,"low":12984.6,"amount":0.458,"vol":458,"trade_turnover":5976.331,"count":121},{"id":1603558800,"open":13006.2,"close":13177.8,"high":13177.8,"low":13003.2,"amount":0.452,"vol":452,"trade_turnover":5911.7058,"count":118},{"id":1603562400,"open":13127.7,"close":13080.8,"high":13170.7,"low":13023.0,"amount":0.468,"vol":468,"trade_turnover":6122.375,"count":119},{"id":1603566000,"open":13040.7,"close":13148.4,"high":13179.3,"low":13014.2,"amount":0.468,"vol":468,"trade_turnover":6126.4278,"count":120},{"id":1603569600,"open":13073.5,"close":13090.1,"high":13179.6,"low":12992.5,"amount":0.47,"vol":470,"trade_turnover":6151.4758,"count":119},{"id":1603573200,"open":13035.4,"close":12993.9,"high":13148.7,"low":12980.7,"amount":0.458,"vol":458,"trade_turnover":5981.071,"count":117},{"id":1603576800,"open":13040.7,"close":13041.1,"high":13112.1,"low":12975.6,"amount":0.478,"vol":478,"trade_turnover":6225.4216,"count":118},{"id":1603580400,"open":13012.6,"close":13184.3,"high":13184.3,"low":13009.3,"amount":0.472,"vol":472,"trade_turnover":6173.4244,"count":118},{"id":1603584000,"open":13080.8,"close":13154.3,"high":13170.4,"low":13007.7,"amount":0.46,"vol":460,"trade_turnover":6024.09,"count":115},{"id":1603587600,"open":13092.0,"close":13196.1,"high":13196.8,"low":13024.0,"amount":0.398,"vol":398,"trade_turnover":5217.5364,"count":102},{"id":1603591200,"open":13124.7,"close":13082.4,"high":13175.1,"low":13035.0,"amount":0.476,"vol":476,"trade_turnover":6228.6596,"count":120},{"id":1603594800,"open":13049.1,"close":13259.0,"high":13383.8,"low":13049.1,"amount":0.578,"vol":578,"trade_turnover":7629.3886,"count":137},{"id":1603598400,"open":13277.0,"close":13243.4,"high":13369.0,"low":13216.0,"amount":0.47,"vol":470,"trade_turnover":6247.955,"count":122},{"id":1603602000,"open":13285.3,"close":13017.3,"high":13353.3,"low":13010.1,"amount":0.61,"vol":610,"trade_turnover":8048.8598,"count":134},{"id":1603605600,"open":13022.5,"close":13060.3,"high":13105.7,"low":13018.2,"amount":0.486,"vol":486,"trade_turnover":6344.1474,"count":118},{"id":1603609200,"open":13048.5,"close":13078.1,"high":13112.1,"low":13022.0,"amount":0.464,"vol":464,"trade_turnover":6061.5416,"count":120},{"id":1603612800,"open":13077.2,"close":13046.0,"high":13091.0,"low":13017.2,"amount":0.464,"vol":464,"trade_turnover":6055.3734,"count":120},{"id":1603616400,"open":13065.1,"close":13040.8,"high":13084.0,"low":13014.2,"amount":0.478,"vol":478,"trade_turnover":6235.7882,"count":117},{"id":1603620000,"open":13047.1,"close":13028.5,"high":13064.2,"low":13010.2,"amount":0.478,"vol":478,"trade_turnover":6232.2428,"count":125},{"id":1603623600,"open":13061.5,"close":12897.6,"high":13061.5,"low":12852.9,"amount":0.534,"vol":534,"trade_turnover":6918.1226,"count":123},{"id":1603627200,"open":12908.3,"close":12964.3,"high":13069.7,"low":12893.2,"amount":0.444,"vol":444,"trade_turnover":5755.8712,"count":117},{"id":1603630800,"open":13001.3,"close":12949.3,"high":13071.9,"low":12891.8,"amount":0.498,"vol":498,"trade_turnover":6465.078,"count":119},{"id":1603634400,"open":12975.8,"close":12946.8,"high":13077.7,"low":12900.0,"amount":0.468,"vol":468,"trade_turnover":6075.4554,"count":116},{"id":1603638000,"open":12975.2,"close":12883.3,"high":13069.1,"low":12883.3,"amount":0.47,"vol":470,"trade_turnover":6097.1072,"count":119},{"id":1603641600,"open":12916.2,"close":12978.7,"high":13067.9,"low":12877.5,"amount":0.482,"vol":482,"trade_turnover":6256.4472,"count":118},{"id":1603645200,"open":13008.0,"close":13004.4,"high":13087.5,"low":12922.7,"amount":0.47,"vol":470,"trade_turnover":6108.3892,"count":117},{"id":1603648800,"open":12972.8,"close":12957.2,"high":13067.6,"low":12893.6,"amount":0.468,"vol":468,"trade_turnover":6079.1484,"count":118},{"id":1603652400,"open":12996.5,"close":13021.8,"high":13066.9,"low":12916.6,"amount":0.442,"vol":442,"trade_turnover":5746.5548,"count":118},{"id":1603656000,"open":12992.9,"close":12985.4,"high":13081.5,"low":12944.9,"amount":0.508,"vol":508,"trade_turnover":6616.9872,"count":120},{"id":1603659600,"open":12999.9,"close":13011.2,"high":13068.6,"low":12921.4,"amount":0.508,"vol":508,"trade_turnover":6614.816,"count":122},{"id":1603663200,"open":12979.6,"close":12959.4,"high":13073.8,"low":12911.9,"amount":0.486,"vol":486,"trade_turnover":6320.907,"count":121},{"id":1603666800,"open":12963.4,"close":13032.1,"high":13085.2,"low":12927.8,"amount":0.452,"vol":452,"trade_turnover":5878.6442,"count":113},{"id":1603670400,"open":12964.2,"close":13001.0,"high":13076.7,"low":12918.3,"amount":0.482,"vol":482,"trade_turnover":6263.698,"count":121},{"id":1603674000,"open":13040.0,"close":13053.7,"high":13096.4,"low":12991.2,"amount":0.478,"vol":478,"trade_turnover":6232.2328,"count":124},{"id":1603677600,"open":13060.6,"close":13064.4,"high":13185.7,"low":12985.1,"amount":0.488,"vol":488,"trade_turnover":6387.534,"count":121},{"id":1603681200,"open":13032.3,"close":13092.8,"high":13187.2,"low":12984.1,"amount":0.486,"vol":486,"trade_turnover":6369.0272,"count":135},{"id":1603684800,"open":13092.0,"close":13132.6,"high":13181.6,"low":12962.3,"amount":0.51,"vol":510,"trade_turnover":6679.829,"count":131},{"id":1603688400,"open":13129.2,"close":13092.1,"high":13205.3,"low":13025.3,"amount":0.506,"vol":506,"trade_turnover":6641.2128,"count":126},{"id":1603692000,"open":13121.8,"close":13071.4,"high":13188.1,"low":12989.8,"amount":1.616,"vol":1616,"trade_turnover":21170.8224,"count":141},{"id":1603695600,"open":13061.0,"close":13038.7,"high":13100.0,"low":12965.2,"amount":3.746,"vol":3746,"trade_turnover":48924.8902,"count":110},{"id":1603699200,"open":13030.9,"close":13039.3,"high":13102.0,"low":12852.8,"amount":8.966,"vol":8966,"trade_turnover":116525.5534,"count":173},{"id":1603702800,"open":13047.1,"close":13075.9,"high":13088.4,"low":13039.8,"amount":4.48,"vol":4480,"trade_turnover":58521.1714,"count":124},{"id":1603706400,"open":13072.1,"close":13100.0,"high":13100.0,"low":13060.2,"amount":4.272,"vol":4272,"trade_turnover":55895.9778,"count":130},{"id":1603710000,"open":13100.0,"close":13138.4,"high":13159.0,"low":13100.0,"amount":29.798,"vol":29798,"trade_turnover":391138.024,"count":230},{"id":1603713600,"open":13138.8,"close":13149.8,"high":13200.0,"low":13100.0,"amount":5.154,"vol":5154,"trade_turnover":67694.652,"count":188},{"id":1603717200,"open":13150.0,"close":13205.8,"high":13351.5,"low":13133.1,"amount":35.608,"vol":35608,"trade_turnover":472780.3394,"count":328},{"id":1603720800,"open":13203.0,"close":13166.1,"high":13280.0,"low":13144.1,"amount":31.748,"vol":31748,"trade_turnover":418744.5588,"count":235},{"id":1603724400,"open":13159.0,"close":12978.0,"high":13165.2,"low":12903.8,"amount":36.53,"vol":36530,"trade_turnover":476940.3296,"count":384},{"id":1603728000,"open":12965.0,"close":12869.6,"high":13069.8,"low":12850.5,"amount":35.018,"vol":35018,"trade_turnover":453288.918,"count":323},{"id":1603731600,"open":12879.2,"close":12873.8,"high":12941.5,"low":12583.9,"amount":92.628,"vol":92628,"trade_turnover":1185973.467,"count":560},{"id":1603735200,"open":12856.2,"close":12946.8,"high":12954.5,"low":12820.4,"amount":4.302,"vol":4302,"trade_turnover":55481.0054,"count":128},{"id":1603738800,"open":12945.6,"close":12953.4,"high":12953.5,"low":12914.1,"amount":13.83,"vol":13830,"trade_turnover":179112.1598,"count":118},{"id":1603742400,"open":12953.5,"close":12983.4,"high":13007.5,"low":12953.5,"amount":17.172,"vol":17172,"trade_turnover":223230.2122,"count":132},{"id":1603746000,"open":12983.1,"close":12993.8,"high":13007.5,"low":12982.7,"amount":3.212,"vol":3212,"trade_turnover":41767.8906,"count":59},{"id":1603749600,"open":13002.1,"close":13007.5,"high":13007.5,"low":12974.0,"amount":1.504,"vol":1504,"trade_turnover":19543.3568,"count":74},{"id":1603753200,"open":13007.5,"close":13033.7,"high":13061.2,"low":13007.5,"amount":3.454,"vol":3454,"trade_turnover":45001.601,"count":101},{"id":1603756800,"open":13029.2,"close":13067.1,"high":13105.0,"low":13028.3,"amount":8.784,"vol":8784,"trade_turnover":114871.8246,"count":98},{"id":1603760400,"open":13074.3,"close":13061.7,"high":13074.4,"low":13051.5,"amount":11.592,"vol":11592,"trade_turnover":151386.9038,"count":66},{"id":1603764000,"open":13061.7,"close":13049.7,"high":13097.6,"low":13040.1,"amount":19.298,"vol":19298,"trade_turnover":252061.019,"count":109},{"id":1603767600,"open":13057.6,"close":13070.4,"high":13080.0,"low":13057.1,"amount":22.992,"vol":22992,"trade_turnover":300453.9788,"count":69},{"id":1603771200,"open":13080.0,"close":13103.3,"high":13175.0,"low":13079.6,"amount":14.396,"vol":14396,"trade_turnover":188461.9156,"count":59},{"id":1603774800,"open":13121.3,"close":13073.6,"high":13121.3,"low":13069.7,"amount":5.058,"vol":5058,"trade_turnover":66201.3552,"count":44},{"id":1603778400,"open":13074.9,"close":13103.4,"high":13149.0,"low":13069.6,"amount":9.106,"vol":9106,"trade_turnover":119104.8906,"count":107},{"id":1603782000,"open":13103.3,"close":13130.0,"high":13169.8,"low":12992.4,"amount":73.95,"vol":73950,"trade_turnover":968195.155,"count":305},{"id":1603785600,"open":13135.1,"close":13123.8,"high":13148.4,"low":13044.0,"amount":18.732,"vol":18732,"trade_turnover":245533.5448,"count":135},{"id":1603789200,"open":13115.5,"close":13131.7,"high":13131.8,"low":13075.7,"amount":13.756,"vol":13756,"trade_turnover":180253.7708,"count":102},{"id":1603792800,"open":13134.8,"close":13216.9,"high":13252.0,"low":13063.4,"amount":154.108,"vol":154108,"trade_turnover":2029983.656,"count":525},{"id":1603796400,"open":13218.8,"close":13395.8,"high":13590.1,"low":13213.5,"amount":170.09,"vol":170090,"trade_turnover":2276279.742,"count":591},{"id":1603800000,"open":13395.9,"close":13376.9,"high":13414.0,"low":13331.7,"amount":48.928,"vol":48928,"trade_turnover":654585.9108,"count":216},{"id":1603803600,"open":13376.5,"close":13384.3,"high":13490.9,"low":13329.8,"amount":63.294,"vol":63294,"trade_turnover":848130.9212,"count":316},{"id":1603807200,"open":13392.6,"close":13398.2,"high":13415.8,"low":13344.8,"amount":12.892,"vol":12892,"trade_turnover":172618.6864,"count":124},{"id":1603810800,"open":13398.2,"close":13598.5,"high":13626.7,"low":13398.2,"amount":93.22,"vol":93220,"trade_turnover":1262695.5466,"count":476},{"id":1603814400,"open":13595.8,"close":13639.9,"high":13639.9,"low":13520.2,"amount":85.45,"vol":85450,"trade_turnover":1161481.4136,"count":435},{"id":1603818000,"open":13640.0,"close":13688.1,"high":13826.7,"low":13589.0,"amount":191.812,"vol":191812,"trade_turnover":2628428.3788,"count":711},{"id":1603821600,"open":13685.0,"close":13630.1,"high":13745.0,"low":13528.2,"amount":65.434,"vol":65434,"trade_turnover":891541.8394,"count":410},{"id":1603825200,"open":13629.4,"close":13637.1,"high":13659.8,"low":13595.4,"amount":5.788,"vol":5788,"trade_turnover":78836.2578,"count":65},{"id":1603828800,"open":13644.4,"close":13616.6,"high":13805.1,"low":13582.6,"amount":163.104,"vol":163104,"trade_turnover":2234040.3544,"count":537},{"id":1603832400,"open":13609.8,"close":13705.5,"high":13753.5,"low":13609.8,"amount":9.884,"vol":9884,"trade_turnover":135406.4752,"count":101},{"id":1603836000,"open":13705.4,"close":13739.9,"high":13739.9,"low":13658.2,"amount":7.436,"vol":7436,"trade_turnover":101840.3508,"count":100},{"id":1603839600,"open":13739.9,"close":13649.6,"high":13794.6,"low":13582.6,"amount":17.086,"vol":17086,"trade_turnover":233971.8448,"count":234},{"id":1603843200,"open":13645.9,"close":13701.7,"high":13745.2,"low":13618.8,"amount":24.108,"vol":24108,"trade_turnover":330206.5694,"count":177},{"id":1603846800,"open":13702.1,"close":13702.6,"high":13725.6,"low":13647.9,"amount":15.892,"vol":15892,"trade_turnover":217816.7008,"count":151},{"id":1603850400,"open":13701.7,"close":13811.6,"high":13832.2,"low":13680.2,"amount":46.548,"vol":46548,"trade_turnover":640636.0352,"count":274},{"id":1603854000,"open":13818.5,"close":13777.0,"high":13820.3,"low":13717.5,"amount":67.896,"vol":67896,"trade_turnover":935838.2238,"count":320},{"id":1603857600,"open":13767.3,"close":13735.7,"high":13807.2,"low":13710.0,"amount":33.156,"vol":33156,"trade_turnover":455941.234,"count":210},{"id":1603861200,"open":13735.5,"close":13715.8,"high":13753.9,"low":13671.3,"amount":32.076,"vol":32076,"trade_turnover":439612.64,"count":198},{"id":1603864800,"open":13715.9,"close":13701.3,"high":13757.0,"low":13694.9,"amount":14.756,"vol":14756,"trade_turnover":202602.5164,"count":122},{"id":1603868400,"open":13701.2,"close":13674.2,"high":13708.7,"low":13550.0,"amount":155.534,"vol":155534,"trade_turnover":2117935.0928,"count":635},{"id":1603872000,"open":13673.0,"close":13691.7,"high":13691.7,"low":13584.0,"amount":29.846,"vol":29846,"trade_turnover":407073.1398,"count":240},{"id":1603875600,"open":13689.3,"close":13587.1,"high":13707.5,"low":13573.5,"amount":104.542,"vol":104542,"trade_turnover":1425079.9344,"count":377},{"id":1603879200,"open":13584.6,"close":13552.7,"high":13618.0,"low":13504.7,"amount":73.818,"vol":73818,"trade_turnover":1001666.0908,"count":358},{"id":1603882800,"open":13552.6,"close":13336.4,"high":13565.4,"low":13330.0,"amount":176.544,"vol":176544,"trade_turnover":2369166.1492,"count":1004},{"id":1603886400,"open":13331.5,"close":13300.3,"high":13385.0,"low":13173.9,"amount":289.73,"vol":289730,"trade_turnover":3846751.7166,"count":968},{"id":1603890000,"open":13300.2,"close":13129.9,"high":13340.0,"low":13122.9,"amount":139.822,"vol":139822,"trade_turnover":1848876.932,"count":612},{"id":1603893600,"open":13123.4,"close":13082.2,"high":13168.2,"low":12915.9,"amount":367.876,"vol":367876,"trade_turnover":4802516.9818,"count":1168},{"id":1603897200,"open":13077.1,"close":13221.2,"high":13235.2,"low":13052.3,"amount":84.044,"vol":84044,"trade_turnover":1106883.1282,"count":375},{"id":1603900800,"open":13218.7,"close":13145.1,"high":13218.7,"low":13050.0,"amount":29.566,"vol":29566,"trade_turnover":388697.4104,"count":244},{"id":1603904400,"open":13145.1,"close":13176.7,"high":13204.9,"low":13006.6,"amount":53.336,"vol":53336,"trade_turnover":700385.2784,"count":299},{"id":1603908000,"open":13171.0,"close":13196.5,"high":13219.6,"low":13131.0,"amount":34.164,"vol":34164,"trade_turnover":450210.5778,"count":218},{"id":1603911600,"open":13200.0,"close":13154.9,"high":13237.4,"low":13145.0,"amount":22.158,"vol":22158,"trade_turnover":292020.0438,"count":185},{"id":1603915200,"open":13154.5,"close":13198.1,"high":13211.8,"low":13147.4,"amount":4.548,"vol":4548,"trade_turnover":59991.1118,"count":75},{"id":1603918800,"open":13193.5,"close":13190.1,"high":13196.5,"low":13100.2,"amount":3.52,"vol":3520,"trade_turnover":46175.428,"count":68},{"id":1603922400,"open":13185.4,"close":13252.0,"high":13267.5,"low":13185.4,"amount":3.122,"vol":3122,"trade_turnover":41304.2018,"count":72},{"id":1603926000,"open":13242.1,"close":13265.9,"high":13282.3,"low":13235.9,"amount":14.768,"vol":14768,"trade_turnover":195689.0764,"count":86},{"id":1603929600,"open":13253.9,"close":13245.1,"high":13294.7,"low":13237.4,"amount":19.968,"vol":19968,"trade_turnover":264834.1944,"count":98},{"id":1603933200,"open":13244.6,"close":13274.2,"high":13285.3,"low":13166.3,"amount":35.282,"vol":35282,"trade_turnover":465789.6302,"count":192},{"id":1603936800,"open":13275.9,"close":13241.1,"high":13277.7,"low":13212.2,"amount":9.748,"vol":9748,"trade_turnover":129016.0684,"count":119},{"id":1603940400,"open":13237.1,"close":13262.5,"high":13262.5,"low":13174.6,"amount":27.3,"vol":27300,"trade_turnover":360589.8982,"count":199},{"id":1603944000,"open":13269.1,"close":13229.5,"high":13277.7,"low":13229.5,"amount":18.904,"vol":18904,"trade_turnover":250713.2812,"count":109},{"id":1603947600,"open":13228.5,"close":13274.8,"high":13274.8,"low":13228.5,"amount":15.822,"vol":15822,"trade_turnover":209781.909,"count":134},{"id":1603951200,"open":13274.8,"close":13255.0,"high":13323.0,"low":13242.3,"amount":91.246,"vol":91246,"trade_turnover":1211271.2788,"count":294},{"id":1603954800,"open":13255.0,"close":13142.4,"high":13269.3,"low":13123.1,"amount":187.622,"vol":187622,"trade_turnover":2478299.7074,"count":506},{"id":1603958400,"open":13145.9,"close":13124.8,"high":13182.4,"low":13094.1,"amount":69.532,"vol":69532,"trade_turnover":914157.2418,"count":226},{"id":1603962000,"open":13129.5,"close":13183.7,"high":13197.1,"low":13129.5,"amount":23.184,"vol":23184,"trade_turnover":305485.9524,"count":141},{"id":1603965600,"open":13184.8,"close":13105.2,"high":13187.5,"low":13053.1,"amount":121.146,"vol":121146,"trade_turnover":1590026.4416,"count":442},{"id":1603969200,"open":13105.1,"close":13060.1,"high":13171.4,"low":13060.1,"amount":47.498,"vol":47498,"trade_turnover":623578.149,"count":262},{"id":1603972800,"open":13056.9,"close":13131.8,"high":13145.8,"low":12977.9,"amount":126.552,"vol":126552,"trade_turnover":1652549.311,"count":481},{"id":1603976400,"open":13131.7,"close":13230.0,"high":13237.2,"low":13102.0,"amount":100.482,"vol":100482,"trade_turnover":1326403.7206,"count":325},{"id":1603980000,"open":13231.0,"close":13420.8,"high":13476.1,"low":13231.0,"amount":253.258,"vol":253258,"trade_turnover":3384941.438,"count":752},{"id":1603983600,"open":13416.0,"close":13420.6,"high":13458.7,"low":13358.7,"amount":64.71,"vol":64710,"trade_turnover":869052.3804,"count":269},{"id":1603987200,"open":13421.9,"close":13535.9,"high":13594.5,"low":13391.8,"amount":120.24,"vol":120240,"trade_turnover":1626567.8278,"count":570}]} +2024-01-18 11:12:58.849 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:41] - 请求 KLine 数据解析之后的数据为:{"wsid":19750305,"data":[{"amount":0.276,"high":12300.0,"vol":276,"low":11715.8,"count":39,"id":1603270800,"close":12196.7,"tradeTurnover":3315.9104,"open":12198.0},{"amount":0.198,"high":12289.9,"vol":198,"low":12111.0,"count":21,"id":1603274400,"close":12277.9,"tradeTurnover":2420.7728,"open":12196.7},{"amount":0.012,"high":12277.9,"vol":12,"low":12000.0,"count":5,"id":1603278000,"close":12000.0,"tradeTurnover":145.2238,"open":12111.0},{"amount":0.084,"high":12498.0,"vol":84,"low":12078.0,"count":12,"id":1603281600,"close":12497.4,"tradeTurnover":1040.0504,"open":12078.0},{"amount":1.122,"high":12495.6,"vol":1122,"low":12282.9,"count":112,"id":1603285200,"close":12373.5,"tradeTurnover":13905.3124,"open":12495.6},{"amount":5.29,"high":12807.6,"vol":5290,"low":12358.1,"count":155,"id":1603288800,"close":12689.9,"tradeTurnover":66852.128,"open":12412.9},{"amount":1.174,"high":12778.7,"vol":1174,"low":12573.2,"count":113,"id":1603292400,"close":12701.9,"tradeTurnover":14907.367,"open":12692.8},{"amount":1.156,"high":12920.9,"vol":1156,"low":12624.8,"count":115,"id":1603296000,"close":12835.9,"tradeTurnover":14802.449,"open":12679.7},{"amount":1.12,"high":12908.3,"vol":1120,"low":12687.5,"count":115,"id":1603299600,"close":12754.2,"tradeTurnover":14345.7324,"open":12848.3},{"amount":1.106,"high":12849.0,"vol":1106,"low":12668.3,"count":114,"id":1603303200,"close":12740.2,"tradeTurnover":14105.3504,"open":12743.7},{"amount":1.032,"high":12843.1,"vol":1032,"low":12597.2,"count":112,"id":1603306800,"close":12650.3,"tradeTurnover":13125.4568,"open":12729.5},{"amount":1.154,"high":12848.4,"vol":1154,"low":12610.2,"count":116,"id":1603310400,"close":12807.0,"tradeTurnover":14680.638,"open":12666.8},{"amount":1.164,"high":13005.1,"vol":1164,"low":12748.2,"count":114,"id":1603314000,"close":12938.9,"tradeTurnover":14976.9366,"open":12866.0},{"amount":1.174,"high":13211.2,"vol":1174,"low":12865.7,"count":114,"id":1603317600,"close":13122.0,"tradeTurnover":15285.2446,"open":12921.0},{"amount":1.172,"high":13173.2,"vol":1172,"low":12688.6,"count":117,"id":1603321200,"close":12829.8,"tradeTurnover":15060.9938,"open":13153.2},{"amount":1.17,"high":12988.1,"vol":1170,"low":12764.4,"count":117,"id":1603324800,"close":12885.9,"tradeTurnover":15046.2046,"open":12793.1},{"amount":1.158,"high":12972.6,"vol":1158,"low":12757.5,"count":118,"id":1603328400,"close":12757.5,"tradeTurnover":14882.4656,"open":12860.4},{"amount":1.124,"high":12848.0,"vol":1124,"low":12729.0,"count":115,"id":1603332000,"close":12788.8,"tradeTurnover":14368.7948,"open":12824.1},{"amount":1.194,"high":12834.4,"vol":1194,"low":12729.0,"count":111,"id":1603335600,"close":12767.2,"tradeTurnover":15268.9298,"open":12791.7},{"amount":1.152,"high":12778.3,"vol":1152,"low":12729.0,"count":115,"id":1603339200,"close":12762.2,"tradeTurnover":14695.4876,"open":12729.0},{"amount":1.21,"high":12842.0,"vol":1210,"low":12730.6,"count":119,"id":1603342800,"close":12813.8,"tradeTurnover":15440.8162,"open":12763.1},{"amount":1.188,"high":12795.0,"vol":1188,"low":12728.0,"count":123,"id":1603346400,"close":12729.1,"tradeTurnover":15128.0098,"open":12795.0},{"amount":1.266,"high":12730.6,"vol":1266,"low":12728.3,"count":112,"id":1603350000,"close":12730.6,"tradeTurnover":16115.1306,"open":12728.6},{"amount":1.35,"high":12921.5,"vol":1350,"low":12729.9,"count":127,"id":1603353600,"close":12770.1,"tradeTurnover":17233.7326,"open":12730.3},{"amount":0.98,"high":12872.1,"vol":980,"low":12760.1,"count":99,"id":1603357200,"close":12780.4,"tradeTurnover":12553.9826,"open":12824.9},{"amount":0.266,"high":13002.7,"vol":266,"low":12775.6,"count":30,"id":1603360800,"close":12934.2,"tradeTurnover":3415.023,"open":12784.9},{"amount":1.004,"high":13057.0,"vol":1004,"low":12886.6,"count":117,"id":1603364400,"close":13045.0,"tradeTurnover":13020.8576,"open":12977.0},{"amount":1.134,"high":12973.4,"vol":1134,"low":12751.6,"count":111,"id":1603368000,"close":12847.9,"tradeTurnover":14594.2752,"open":12958.5},{"amount":1.152,"high":13000.8,"vol":1152,"low":12743.0,"count":114,"id":1603371600,"close":12931.0,"tradeTurnover":14877.7314,"open":12882.7},{"amount":1.182,"high":12995.3,"vol":1182,"low":12783.9,"count":115,"id":1603375200,"close":12917.8,"tradeTurnover":15224.4716,"open":12890.4},{"amount":1.176,"high":13031.2,"vol":1176,"low":12817.9,"count":117,"id":1603378800,"close":12953.0,"tradeTurnover":15197.208,"open":12918.8},{"amount":1.146,"high":13100.2,"vol":1146,"low":12865.6,"count":119,"id":1603382400,"close":13055.6,"tradeTurnover":14851.9604,"open":12923.1},{"amount":1.534,"high":13105.7,"vol":1534,"low":12835.5,"count":124,"id":1603386000,"close":13082.7,"tradeTurnover":19927.8288,"open":12967.6},{"amount":1.268,"high":13115.0,"vol":1268,"low":12938.7,"count":117,"id":1603389600,"close":13016.4,"tradeTurnover":16505.4738,"open":13020.4},{"amount":1.13,"high":13171.2,"vol":1130,"low":12961.8,"count":112,"id":1603393200,"close":12970.6,"tradeTurnover":14762.952,"open":13028.3},{"amount":1.206,"high":13216.1,"vol":1206,"low":12998.5,"count":117,"id":1603396800,"close":13089.3,"tradeTurnover":15807.1226,"open":13016.7},{"amount":1.332,"high":13203.7,"vol":1332,"low":12932.9,"count":114,"id":1603400400,"close":13092.0,"tradeTurnover":17423.4422,"open":13136.0},{"amount":1.21,"high":13250.5,"vol":1210,"low":12984.7,"count":114,"id":1603404000,"close":13055.9,"tradeTurnover":15876.0632,"open":13119.4},{"amount":1.286,"high":13126.5,"vol":1286,"low":12857.2,"count":116,"id":1603407600,"close":12890.4,"tradeTurnover":16688.422,"open":13059.4},{"amount":1.502,"high":12994.0,"vol":1502,"low":12751.6,"count":131,"id":1603411200,"close":12892.2,"tradeTurnover":19331.1596,"open":12929.7},{"amount":1.386,"high":13003.2,"vol":1386,"low":12786.0,"count":121,"id":1603414800,"close":12898.3,"tradeTurnover":17904.8902,"open":12921.7},{"amount":1.416,"high":13054.0,"vol":1416,"low":12800.7,"count":122,"id":1603418400,"close":12975.1,"tradeTurnover":18306.6204,"open":12951.6},{"amount":1.19,"high":13030.7,"vol":1190,"low":12875.0,"count":118,"id":1603422000,"close":12947.0,"tradeTurnover":15409.7984,"open":12967.3},{"amount":1.022,"high":13047.3,"vol":1022,"low":12832.8,"count":127,"id":1603425600,"close":12852.0,"tradeTurnover":13214.4388,"open":12925.2},{"amount":0.478,"high":12991.7,"vol":478,"low":12841.2,"count":118,"id":1603429200,"close":12931.1,"tradeTurnover":6180.2486,"open":12859.0},{"amount":0.522,"high":13014.1,"vol":522,"low":12871.9,"count":132,"id":1603432800,"close":12939.6,"tradeTurnover":6759.0324,"open":12935.9},{"amount":0.476,"high":12998.9,"vol":476,"low":12917.1,"count":118,"id":1603436400,"close":12925.4,"tradeTurnover":6163.3118,"open":12923.1},{"amount":0.508,"high":13014.0,"vol":508,"low":12916.1,"count":122,"id":1603440000,"close":12962.6,"tradeTurnover":6585.3656,"open":12942.2},{"amount":0.564,"high":13012.5,"vol":564,"low":12909.9,"count":124,"id":1603443600,"close":12926.4,"tradeTurnover":7308.8828,"open":12970.5},{"amount":0.536,"high":13059.5,"vol":536,"low":12925.7,"count":124,"id":1603447200,"close":13007.7,"tradeTurnover":6957.8796,"open":13001.2},{"amount":0.486,"high":13078.4,"vol":486,"low":12906.5,"count":122,"id":1603450800,"close":12970.6,"tradeTurnover":6326.1434,"open":13025.4},{"amount":0.494,"high":13025.0,"vol":494,"low":12850.8,"count":117,"id":1603454400,"close":12935.4,"tradeTurnover":6396.0984,"open":12963.9},{"amount":0.466,"high":13043.3,"vol":466,"low":12911.0,"count":117,"id":1603458000,"close":12951.7,"tradeTurnover":6049.1412,"open":12913.3},{"amount":0.46,"high":13006.4,"vol":460,"low":12840.4,"count":116,"id":1603461600,"close":12858.8,"tradeTurnover":5941.815,"open":12999.6},{"amount":0.492,"high":12932.9,"vol":492,"low":12826.5,"count":117,"id":1603465200,"close":12881.9,"tradeTurnover":6340.214,"open":12885.7},{"amount":0.484,"high":12933.5,"vol":484,"low":12744.4,"count":123,"id":1603468800,"close":12784.1,"tradeTurnover":6205.4138,"open":12854.4},{"amount":0.562,"high":12893.1,"vol":562,"low":12730.1,"count":152,"id":1603472400,"close":12847.7,"tradeTurnover":7218.9184,"open":12832.3},{"amount":0.53,"high":12939.3,"vol":530,"low":12751.4,"count":128,"id":1603476000,"close":12915.7,"tradeTurnover":6825.7004,"open":12874.1},{"amount":0.444,"high":12972.9,"vol":444,"low":12786.6,"count":117,"id":1603479600,"close":12972.9,"tradeTurnover":5727.7452,"open":12867.9},{"amount":0.492,"high":13002.2,"vol":492,"low":12842.9,"count":116,"id":1603483200,"close":12991.6,"tradeTurnover":6375.1566,"open":12956.7},{"amount":0.5,"high":13004.3,"vol":500,"low":12936.6,"count":125,"id":1603486800,"close":12943.5,"tradeTurnover":6485.468,"open":13004.3},{"amount":0.492,"high":13010.3,"vol":492,"low":12884.7,"count":120,"id":1603490400,"close":12989.2,"tradeTurnover":6376.1492,"open":12923.6},{"amount":0.51,"high":13024.4,"vol":510,"low":12884.6,"count":121,"id":1603494000,"close":12884.6,"tradeTurnover":6622.3406,"open":12974.9},{"amount":0.488,"high":13018.3,"vol":488,"low":12811.1,"count":120,"id":1603497600,"close":12953.9,"tradeTurnover":6317.7938,"open":12973.7},{"amount":0.482,"high":13018.1,"vol":482,"low":12872.8,"count":117,"id":1603501200,"close":12934.2,"tradeTurnover":6242.4178,"open":12927.5},{"amount":0.484,"high":13003.9,"vol":484,"low":12903.3,"count":117,"id":1603504800,"close":12989.1,"tradeTurnover":6278.1756,"open":12971.9},{"amount":0.474,"high":13013.4,"vol":474,"low":12938.3,"count":122,"id":1603508400,"close":12975.9,"tradeTurnover":6157.7096,"open":13000.1},{"amount":0.526,"high":13009.4,"vol":526,"low":12905.5,"count":124,"id":1603512000,"close":12963.3,"tradeTurnover":6831.5658,"open":12989.7},{"amount":0.522,"high":13041.8,"vol":522,"low":12875.3,"count":127,"id":1603515600,"close":12989.7,"tradeTurnover":6768.8994,"open":12910.5},{"amount":0.49,"high":13058.1,"vol":490,"low":12908.8,"count":120,"id":1603519200,"close":13003.6,"tradeTurnover":6370.5714,"open":12994.7},{"amount":0.478,"high":13037.8,"vol":478,"low":12981.7,"count":120,"id":1603522800,"close":13004.2,"tradeTurnover":6218.9722,"open":13011.9},{"amount":0.52,"high":13030.6,"vol":520,"low":12899.4,"count":124,"id":1603526400,"close":12998.2,"tradeTurnover":6754.958,"open":13003.0},{"amount":0.454,"high":13020.3,"vol":454,"low":12893.6,"count":115,"id":1603530000,"close":12990.6,"tradeTurnover":5891.0574,"open":12998.2},{"amount":0.502,"high":13059.1,"vol":502,"low":12913.2,"count":124,"id":1603533600,"close":13030.1,"tradeTurnover":6525.9004,"open":12996.4},{"amount":0.468,"high":13068.3,"vol":468,"low":12940.2,"count":119,"id":1603537200,"close":13033.2,"tradeTurnover":6091.0376,"open":12988.4},{"amount":0.468,"high":13071.8,"vol":468,"low":12978.9,"count":123,"id":1603540800,"close":13006.5,"tradeTurnover":6102.5902,"open":13035.3},{"amount":0.534,"high":13066.7,"vol":534,"low":12928.1,"count":123,"id":1603544400,"close":12985.9,"tradeTurnover":6950.4268,"open":13038.8},{"amount":0.47,"high":13100.1,"vol":470,"low":12960.5,"count":100,"id":1603548000,"close":13042.0,"tradeTurnover":6124.2178,"open":12986.3},{"amount":0.456,"high":13196.5,"vol":456,"low":13038.4,"count":120,"id":1603551600,"close":13102.2,"tradeTurnover":5989.6362,"open":13038.4},{"amount":0.458,"high":13176.6,"vol":458,"low":12984.6,"count":121,"id":1603555200,"close":13052.7,"tradeTurnover":5976.331,"open":13136.8},{"amount":0.452,"high":13177.8,"vol":452,"low":13003.2,"count":118,"id":1603558800,"close":13177.8,"tradeTurnover":5911.7058,"open":13006.2},{"amount":0.468,"high":13170.7,"vol":468,"low":13023.0,"count":119,"id":1603562400,"close":13080.8,"tradeTurnover":6122.375,"open":13127.7},{"amount":0.468,"high":13179.3,"vol":468,"low":13014.2,"count":120,"id":1603566000,"close":13148.4,"tradeTurnover":6126.4278,"open":13040.7},{"amount":0.47,"high":13179.6,"vol":470,"low":12992.5,"count":119,"id":1603569600,"close":13090.1,"tradeTurnover":6151.4758,"open":13073.5},{"amount":0.458,"high":13148.7,"vol":458,"low":12980.7,"count":117,"id":1603573200,"close":12993.9,"tradeTurnover":5981.071,"open":13035.4},{"amount":0.478,"high":13112.1,"vol":478,"low":12975.6,"count":118,"id":1603576800,"close":13041.1,"tradeTurnover":6225.4216,"open":13040.7},{"amount":0.472,"high":13184.3,"vol":472,"low":13009.3,"count":118,"id":1603580400,"close":13184.3,"tradeTurnover":6173.4244,"open":13012.6},{"amount":0.46,"high":13170.4,"vol":460,"low":13007.7,"count":115,"id":1603584000,"close":13154.3,"tradeTurnover":6024.09,"open":13080.8},{"amount":0.398,"high":13196.8,"vol":398,"low":13024.0,"count":102,"id":1603587600,"close":13196.1,"tradeTurnover":5217.5364,"open":13092.0},{"amount":0.476,"high":13175.1,"vol":476,"low":13035.0,"count":120,"id":1603591200,"close":13082.4,"tradeTurnover":6228.6596,"open":13124.7},{"amount":0.578,"high":13383.8,"vol":578,"low":13049.1,"count":137,"id":1603594800,"close":13259.0,"tradeTurnover":7629.3886,"open":13049.1},{"amount":0.47,"high":13369.0,"vol":470,"low":13216.0,"count":122,"id":1603598400,"close":13243.4,"tradeTurnover":6247.955,"open":13277.0},{"amount":0.61,"high":13353.3,"vol":610,"low":13010.1,"count":134,"id":1603602000,"close":13017.3,"tradeTurnover":8048.8598,"open":13285.3},{"amount":0.486,"high":13105.7,"vol":486,"low":13018.2,"count":118,"id":1603605600,"close":13060.3,"tradeTurnover":6344.1474,"open":13022.5},{"amount":0.464,"high":13112.1,"vol":464,"low":13022.0,"count":120,"id":1603609200,"close":13078.1,"tradeTurnover":6061.5416,"open":13048.5},{"amount":0.464,"high":13091.0,"vol":464,"low":13017.2,"count":120,"id":1603612800,"close":13046.0,"tradeTurnover":6055.3734,"open":13077.2},{"amount":0.478,"high":13084.0,"vol":478,"low":13014.2,"count":117,"id":1603616400,"close":13040.8,"tradeTurnover":6235.7882,"open":13065.1},{"amount":0.478,"high":13064.2,"vol":478,"low":13010.2,"count":125,"id":1603620000,"close":13028.5,"tradeTurnover":6232.2428,"open":13047.1},{"amount":0.534,"high":13061.5,"vol":534,"low":12852.9,"count":123,"id":1603623600,"close":12897.6,"tradeTurnover":6918.1226,"open":13061.5},{"amount":0.444,"high":13069.7,"vol":444,"low":12893.2,"count":117,"id":1603627200,"close":12964.3,"tradeTurnover":5755.8712,"open":12908.3},{"amount":0.498,"high":13071.9,"vol":498,"low":12891.8,"count":119,"id":1603630800,"close":12949.3,"tradeTurnover":6465.078,"open":13001.3},{"amount":0.468,"high":13077.7,"vol":468,"low":12900.0,"count":116,"id":1603634400,"close":12946.8,"tradeTurnover":6075.4554,"open":12975.8},{"amount":0.47,"high":13069.1,"vol":470,"low":12883.3,"count":119,"id":1603638000,"close":12883.3,"tradeTurnover":6097.1072,"open":12975.2},{"amount":0.482,"high":13067.9,"vol":482,"low":12877.5,"count":118,"id":1603641600,"close":12978.7,"tradeTurnover":6256.4472,"open":12916.2},{"amount":0.47,"high":13087.5,"vol":470,"low":12922.7,"count":117,"id":1603645200,"close":13004.4,"tradeTurnover":6108.3892,"open":13008.0},{"amount":0.468,"high":13067.6,"vol":468,"low":12893.6,"count":118,"id":1603648800,"close":12957.2,"tradeTurnover":6079.1484,"open":12972.8},{"amount":0.442,"high":13066.9,"vol":442,"low":12916.6,"count":118,"id":1603652400,"close":13021.8,"tradeTurnover":5746.5548,"open":12996.5},{"amount":0.508,"high":13081.5,"vol":508,"low":12944.9,"count":120,"id":1603656000,"close":12985.4,"tradeTurnover":6616.9872,"open":12992.9},{"amount":0.508,"high":13068.6,"vol":508,"low":12921.4,"count":122,"id":1603659600,"close":13011.2,"tradeTurnover":6614.816,"open":12999.9},{"amount":0.486,"high":13073.8,"vol":486,"low":12911.9,"count":121,"id":1603663200,"close":12959.4,"tradeTurnover":6320.907,"open":12979.6},{"amount":0.452,"high":13085.2,"vol":452,"low":12927.8,"count":113,"id":1603666800,"close":13032.1,"tradeTurnover":5878.6442,"open":12963.4},{"amount":0.482,"high":13076.7,"vol":482,"low":12918.3,"count":121,"id":1603670400,"close":13001.0,"tradeTurnover":6263.698,"open":12964.2},{"amount":0.478,"high":13096.4,"vol":478,"low":12991.2,"count":124,"id":1603674000,"close":13053.7,"tradeTurnover":6232.2328,"open":13040.0},{"amount":0.488,"high":13185.7,"vol":488,"low":12985.1,"count":121,"id":1603677600,"close":13064.4,"tradeTurnover":6387.534,"open":13060.6},{"amount":0.486,"high":13187.2,"vol":486,"low":12984.1,"count":135,"id":1603681200,"close":13092.8,"tradeTurnover":6369.0272,"open":13032.3},{"amount":0.51,"high":13181.6,"vol":510,"low":12962.3,"count":131,"id":1603684800,"close":13132.6,"tradeTurnover":6679.829,"open":13092.0},{"amount":0.506,"high":13205.3,"vol":506,"low":13025.3,"count":126,"id":1603688400,"close":13092.1,"tradeTurnover":6641.2128,"open":13129.2},{"amount":1.616,"high":13188.1,"vol":1616,"low":12989.8,"count":141,"id":1603692000,"close":13071.4,"tradeTurnover":21170.8224,"open":13121.8},{"amount":3.746,"high":13100.0,"vol":3746,"low":12965.2,"count":110,"id":1603695600,"close":13038.7,"tradeTurnover":48924.8902,"open":13061.0},{"amount":8.966,"high":13102.0,"vol":8966,"low":12852.8,"count":173,"id":1603699200,"close":13039.3,"tradeTurnover":116525.5534,"open":13030.9},{"amount":4.48,"high":13088.4,"vol":4480,"low":13039.8,"count":124,"id":1603702800,"close":13075.9,"tradeTurnover":58521.1714,"open":13047.1},{"amount":4.272,"high":13100.0,"vol":4272,"low":13060.2,"count":130,"id":1603706400,"close":13100.0,"tradeTurnover":55895.9778,"open":13072.1},{"amount":29.798,"high":13159.0,"vol":29798,"low":13100.0,"count":230,"id":1603710000,"close":13138.4,"tradeTurnover":391138.024,"open":13100.0},{"amount":5.154,"high":13200.0,"vol":5154,"low":13100.0,"count":188,"id":1603713600,"close":13149.8,"tradeTurnover":67694.652,"open":13138.8},{"amount":35.608,"high":13351.5,"vol":35608,"low":13133.1,"count":328,"id":1603717200,"close":13205.8,"tradeTurnover":472780.3394,"open":13150.0},{"amount":31.748,"high":13280.0,"vol":31748,"low":13144.1,"count":235,"id":1603720800,"close":13166.1,"tradeTurnover":418744.5588,"open":13203.0},{"amount":36.53,"high":13165.2,"vol":36530,"low":12903.8,"count":384,"id":1603724400,"close":12978.0,"tradeTurnover":476940.3296,"open":13159.0},{"amount":35.018,"high":13069.8,"vol":35018,"low":12850.5,"count":323,"id":1603728000,"close":12869.6,"tradeTurnover":453288.918,"open":12965.0},{"amount":92.628,"high":12941.5,"vol":92628,"low":12583.9,"count":560,"id":1603731600,"close":12873.8,"tradeTurnover":1185973.467,"open":12879.2},{"amount":4.302,"high":12954.5,"vol":4302,"low":12820.4,"count":128,"id":1603735200,"close":12946.8,"tradeTurnover":55481.0054,"open":12856.2},{"amount":13.83,"high":12953.5,"vol":13830,"low":12914.1,"count":118,"id":1603738800,"close":12953.4,"tradeTurnover":179112.1598,"open":12945.6},{"amount":17.172,"high":13007.5,"vol":17172,"low":12953.5,"count":132,"id":1603742400,"close":12983.4,"tradeTurnover":223230.2122,"open":12953.5},{"amount":3.212,"high":13007.5,"vol":3212,"low":12982.7,"count":59,"id":1603746000,"close":12993.8,"tradeTurnover":41767.8906,"open":12983.1},{"amount":1.504,"high":13007.5,"vol":1504,"low":12974.0,"count":74,"id":1603749600,"close":13007.5,"tradeTurnover":19543.3568,"open":13002.1},{"amount":3.454,"high":13061.2,"vol":3454,"low":13007.5,"count":101,"id":1603753200,"close":13033.7,"tradeTurnover":45001.601,"open":13007.5},{"amount":8.784,"high":13105.0,"vol":8784,"low":13028.3,"count":98,"id":1603756800,"close":13067.1,"tradeTurnover":114871.8246,"open":13029.2},{"amount":11.592,"high":13074.4,"vol":11592,"low":13051.5,"count":66,"id":1603760400,"close":13061.7,"tradeTurnover":151386.9038,"open":13074.3},{"amount":19.298,"high":13097.6,"vol":19298,"low":13040.1,"count":109,"id":1603764000,"close":13049.7,"tradeTurnover":252061.019,"open":13061.7},{"amount":22.992,"high":13080.0,"vol":22992,"low":13057.1,"count":69,"id":1603767600,"close":13070.4,"tradeTurnover":300453.9788,"open":13057.6},{"amount":14.396,"high":13175.0,"vol":14396,"low":13079.6,"count":59,"id":1603771200,"close":13103.3,"tradeTurnover":188461.9156,"open":13080.0},{"amount":5.058,"high":13121.3,"vol":5058,"low":13069.7,"count":44,"id":1603774800,"close":13073.6,"tradeTurnover":66201.3552,"open":13121.3},{"amount":9.106,"high":13149.0,"vol":9106,"low":13069.6,"count":107,"id":1603778400,"close":13103.4,"tradeTurnover":119104.8906,"open":13074.9},{"amount":73.95,"high":13169.8,"vol":73950,"low":12992.4,"count":305,"id":1603782000,"close":13130.0,"tradeTurnover":968195.155,"open":13103.3},{"amount":18.732,"high":13148.4,"vol":18732,"low":13044.0,"count":135,"id":1603785600,"close":13123.8,"tradeTurnover":245533.5448,"open":13135.1},{"amount":13.756,"high":13131.8,"vol":13756,"low":13075.7,"count":102,"id":1603789200,"close":13131.7,"tradeTurnover":180253.7708,"open":13115.5},{"amount":154.108,"high":13252.0,"vol":154108,"low":13063.4,"count":525,"id":1603792800,"close":13216.9,"tradeTurnover":2029983.656,"open":13134.8},{"amount":170.09,"high":13590.1,"vol":170090,"low":13213.5,"count":591,"id":1603796400,"close":13395.8,"tradeTurnover":2276279.742,"open":13218.8},{"amount":48.928,"high":13414.0,"vol":48928,"low":13331.7,"count":216,"id":1603800000,"close":13376.9,"tradeTurnover":654585.9108,"open":13395.9},{"amount":63.294,"high":13490.9,"vol":63294,"low":13329.8,"count":316,"id":1603803600,"close":13384.3,"tradeTurnover":848130.9212,"open":13376.5},{"amount":12.892,"high":13415.8,"vol":12892,"low":13344.8,"count":124,"id":1603807200,"close":13398.2,"tradeTurnover":172618.6864,"open":13392.6},{"amount":93.22,"high":13626.7,"vol":93220,"low":13398.2,"count":476,"id":1603810800,"close":13598.5,"tradeTurnover":1262695.5466,"open":13398.2},{"amount":85.45,"high":13639.9,"vol":85450,"low":13520.2,"count":435,"id":1603814400,"close":13639.9,"tradeTurnover":1161481.4136,"open":13595.8},{"amount":191.812,"high":13826.7,"vol":191812,"low":13589.0,"count":711,"id":1603818000,"close":13688.1,"tradeTurnover":2628428.3788,"open":13640.0},{"amount":65.434,"high":13745.0,"vol":65434,"low":13528.2,"count":410,"id":1603821600,"close":13630.1,"tradeTurnover":891541.8394,"open":13685.0},{"amount":5.788,"high":13659.8,"vol":5788,"low":13595.4,"count":65,"id":1603825200,"close":13637.1,"tradeTurnover":78836.2578,"open":13629.4},{"amount":163.104,"high":13805.1,"vol":163104,"low":13582.6,"count":537,"id":1603828800,"close":13616.6,"tradeTurnover":2234040.3544,"open":13644.4},{"amount":9.884,"high":13753.5,"vol":9884,"low":13609.8,"count":101,"id":1603832400,"close":13705.5,"tradeTurnover":135406.4752,"open":13609.8},{"amount":7.436,"high":13739.9,"vol":7436,"low":13658.2,"count":100,"id":1603836000,"close":13739.9,"tradeTurnover":101840.3508,"open":13705.4},{"amount":17.086,"high":13794.6,"vol":17086,"low":13582.6,"count":234,"id":1603839600,"close":13649.6,"tradeTurnover":233971.8448,"open":13739.9},{"amount":24.108,"high":13745.2,"vol":24108,"low":13618.8,"count":177,"id":1603843200,"close":13701.7,"tradeTurnover":330206.5694,"open":13645.9},{"amount":15.892,"high":13725.6,"vol":15892,"low":13647.9,"count":151,"id":1603846800,"close":13702.6,"tradeTurnover":217816.7008,"open":13702.1},{"amount":46.548,"high":13832.2,"vol":46548,"low":13680.2,"count":274,"id":1603850400,"close":13811.6,"tradeTurnover":640636.0352,"open":13701.7},{"amount":67.896,"high":13820.3,"vol":67896,"low":13717.5,"count":320,"id":1603854000,"close":13777.0,"tradeTurnover":935838.2238,"open":13818.5},{"amount":33.156,"high":13807.2,"vol":33156,"low":13710.0,"count":210,"id":1603857600,"close":13735.7,"tradeTurnover":455941.234,"open":13767.3},{"amount":32.076,"high":13753.9,"vol":32076,"low":13671.3,"count":198,"id":1603861200,"close":13715.8,"tradeTurnover":439612.64,"open":13735.5},{"amount":14.756,"high":13757.0,"vol":14756,"low":13694.9,"count":122,"id":1603864800,"close":13701.3,"tradeTurnover":202602.5164,"open":13715.9},{"amount":155.534,"high":13708.7,"vol":155534,"low":13550.0,"count":635,"id":1603868400,"close":13674.2,"tradeTurnover":2117935.0928,"open":13701.2},{"amount":29.846,"high":13691.7,"vol":29846,"low":13584.0,"count":240,"id":1603872000,"close":13691.7,"tradeTurnover":407073.1398,"open":13673.0},{"amount":104.542,"high":13707.5,"vol":104542,"low":13573.5,"count":377,"id":1603875600,"close":13587.1,"tradeTurnover":1425079.9344,"open":13689.3},{"amount":73.818,"high":13618.0,"vol":73818,"low":13504.7,"count":358,"id":1603879200,"close":13552.7,"tradeTurnover":1001666.0908,"open":13584.6},{"amount":176.544,"high":13565.4,"vol":176544,"low":13330.0,"count":1004,"id":1603882800,"close":13336.4,"tradeTurnover":2369166.1492,"open":13552.6},{"amount":289.73,"high":13385.0,"vol":289730,"low":13173.9,"count":968,"id":1603886400,"close":13300.3,"tradeTurnover":3846751.7166,"open":13331.5},{"amount":139.822,"high":13340.0,"vol":139822,"low":13122.9,"count":612,"id":1603890000,"close":13129.9,"tradeTurnover":1848876.932,"open":13300.2},{"amount":367.876,"high":13168.2,"vol":367876,"low":12915.9,"count":1168,"id":1603893600,"close":13082.2,"tradeTurnover":4802516.9818,"open":13123.4},{"amount":84.044,"high":13235.2,"vol":84044,"low":13052.3,"count":375,"id":1603897200,"close":13221.2,"tradeTurnover":1106883.1282,"open":13077.1},{"amount":29.566,"high":13218.7,"vol":29566,"low":13050.0,"count":244,"id":1603900800,"close":13145.1,"tradeTurnover":388697.4104,"open":13218.7},{"amount":53.336,"high":13204.9,"vol":53336,"low":13006.6,"count":299,"id":1603904400,"close":13176.7,"tradeTurnover":700385.2784,"open":13145.1},{"amount":34.164,"high":13219.6,"vol":34164,"low":13131.0,"count":218,"id":1603908000,"close":13196.5,"tradeTurnover":450210.5778,"open":13171.0},{"amount":22.158,"high":13237.4,"vol":22158,"low":13145.0,"count":185,"id":1603911600,"close":13154.9,"tradeTurnover":292020.0438,"open":13200.0},{"amount":4.548,"high":13211.8,"vol":4548,"low":13147.4,"count":75,"id":1603915200,"close":13198.1,"tradeTurnover":59991.1118,"open":13154.5},{"amount":3.52,"high":13196.5,"vol":3520,"low":13100.2,"count":68,"id":1603918800,"close":13190.1,"tradeTurnover":46175.428,"open":13193.5},{"amount":3.122,"high":13267.5,"vol":3122,"low":13185.4,"count":72,"id":1603922400,"close":13252.0,"tradeTurnover":41304.2018,"open":13185.4},{"amount":14.768,"high":13282.3,"vol":14768,"low":13235.9,"count":86,"id":1603926000,"close":13265.9,"tradeTurnover":195689.0764,"open":13242.1},{"amount":19.968,"high":13294.7,"vol":19968,"low":13237.4,"count":98,"id":1603929600,"close":13245.1,"tradeTurnover":264834.1944,"open":13253.9},{"amount":35.282,"high":13285.3,"vol":35282,"low":13166.3,"count":192,"id":1603933200,"close":13274.2,"tradeTurnover":465789.6302,"open":13244.6},{"amount":9.748,"high":13277.7,"vol":9748,"low":13212.2,"count":119,"id":1603936800,"close":13241.1,"tradeTurnover":129016.0684,"open":13275.9},{"amount":27.3,"high":13262.5,"vol":27300,"low":13174.6,"count":199,"id":1603940400,"close":13262.5,"tradeTurnover":360589.8982,"open":13237.1},{"amount":18.904,"high":13277.7,"vol":18904,"low":13229.5,"count":109,"id":1603944000,"close":13229.5,"tradeTurnover":250713.2812,"open":13269.1},{"amount":15.822,"high":13274.8,"vol":15822,"low":13228.5,"count":134,"id":1603947600,"close":13274.8,"tradeTurnover":209781.909,"open":13228.5},{"amount":91.246,"high":13323.0,"vol":91246,"low":13242.3,"count":294,"id":1603951200,"close":13255.0,"tradeTurnover":1211271.2788,"open":13274.8},{"amount":187.622,"high":13269.3,"vol":187622,"low":13123.1,"count":506,"id":1603954800,"close":13142.4,"tradeTurnover":2478299.7074,"open":13255.0},{"amount":69.532,"high":13182.4,"vol":69532,"low":13094.1,"count":226,"id":1603958400,"close":13124.8,"tradeTurnover":914157.2418,"open":13145.9},{"amount":23.184,"high":13197.1,"vol":23184,"low":13129.5,"count":141,"id":1603962000,"close":13183.7,"tradeTurnover":305485.9524,"open":13129.5},{"amount":121.146,"high":13187.5,"vol":121146,"low":13053.1,"count":442,"id":1603965600,"close":13105.2,"tradeTurnover":1590026.4416,"open":13184.8},{"amount":47.498,"high":13171.4,"vol":47498,"low":13060.1,"count":262,"id":1603969200,"close":13060.1,"tradeTurnover":623578.149,"open":13105.1},{"amount":126.552,"high":13145.8,"vol":126552,"low":12977.9,"count":481,"id":1603972800,"close":13131.8,"tradeTurnover":1652549.311,"open":13056.9},{"amount":100.482,"high":13237.2,"vol":100482,"low":13102.0,"count":325,"id":1603976400,"close":13230.0,"tradeTurnover":1326403.7206,"open":13131.7},{"amount":253.258,"high":13476.1,"vol":253258,"low":13231.0,"count":752,"id":1603980000,"close":13420.8,"tradeTurnover":3384941.438,"open":13231.0},{"amount":64.71,"high":13458.7,"vol":64710,"low":13358.7,"count":269,"id":1603983600,"close":13420.6,"tradeTurnover":869052.3804,"open":13416.0},{"amount":120.24,"high":13594.5,"vol":120240,"low":13391.8,"count":570,"id":1603987200,"close":13535.9,"tradeTurnover":1626567.8278,"open":13421.9}],"id":"","rep":"market.BTC-USDT.kline.60min","status":"ok"} +2024-01-18 11:12:59.840 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:39] - 请求 KLine 数据用户收到的原始数据:{"id":"","rep":"market.BTC-USDT.kline.60min","ts":1705547578749,"wsid":19750305,"status":"ok","data":[{"id":1603270800,"open":12198.0,"close":12196.7,"high":12300.0,"low":11715.8,"amount":0.276,"vol":276,"trade_turnover":3315.9104,"count":39},{"id":1603274400,"open":12196.7,"close":12277.9,"high":12289.9,"low":12111.0,"amount":0.198,"vol":198,"trade_turnover":2420.7728,"count":21},{"id":1603278000,"open":12111.0,"close":12000.0,"high":12277.9,"low":12000.0,"amount":0.012,"vol":12,"trade_turnover":145.2238,"count":5},{"id":1603281600,"open":12078.0,"close":12497.4,"high":12498.0,"low":12078.0,"amount":0.084,"vol":84,"trade_turnover":1040.0504,"count":12},{"id":1603285200,"open":12495.6,"close":12373.5,"high":12495.6,"low":12282.9,"amount":1.122,"vol":1122,"trade_turnover":13905.3124,"count":112},{"id":1603288800,"open":12412.9,"close":12689.9,"high":12807.6,"low":12358.1,"amount":5.29,"vol":5290,"trade_turnover":66852.128,"count":155},{"id":1603292400,"open":12692.8,"close":12701.9,"high":12778.7,"low":12573.2,"amount":1.174,"vol":1174,"trade_turnover":14907.367,"count":113},{"id":1603296000,"open":12679.7,"close":12835.9,"high":12920.9,"low":12624.8,"amount":1.156,"vol":1156,"trade_turnover":14802.449,"count":115},{"id":1603299600,"open":12848.3,"close":12754.2,"high":12908.3,"low":12687.5,"amount":1.12,"vol":1120,"trade_turnover":14345.7324,"count":115},{"id":1603303200,"open":12743.7,"close":12740.2,"high":12849.0,"low":12668.3,"amount":1.106,"vol":1106,"trade_turnover":14105.3504,"count":114},{"id":1603306800,"open":12729.5,"close":12650.3,"high":12843.1,"low":12597.2,"amount":1.032,"vol":1032,"trade_turnover":13125.4568,"count":112},{"id":1603310400,"open":12666.8,"close":12807.0,"high":12848.4,"low":12610.2,"amount":1.154,"vol":1154,"trade_turnover":14680.638,"count":116},{"id":1603314000,"open":12866.0,"close":12938.9,"high":13005.1,"low":12748.2,"amount":1.164,"vol":1164,"trade_turnover":14976.9366,"count":114},{"id":1603317600,"open":12921.0,"close":13122.0,"high":13211.2,"low":12865.7,"amount":1.174,"vol":1174,"trade_turnover":15285.2446,"count":114},{"id":1603321200,"open":13153.2,"close":12829.8,"high":13173.2,"low":12688.6,"amount":1.172,"vol":1172,"trade_turnover":15060.9938,"count":117},{"id":1603324800,"open":12793.1,"close":12885.9,"high":12988.1,"low":12764.4,"amount":1.17,"vol":1170,"trade_turnover":15046.2046,"count":117},{"id":1603328400,"open":12860.4,"close":12757.5,"high":12972.6,"low":12757.5,"amount":1.158,"vol":1158,"trade_turnover":14882.4656,"count":118},{"id":1603332000,"open":12824.1,"close":12788.8,"high":12848.0,"low":12729.0,"amount":1.124,"vol":1124,"trade_turnover":14368.7948,"count":115},{"id":1603335600,"open":12791.7,"close":12767.2,"high":12834.4,"low":12729.0,"amount":1.194,"vol":1194,"trade_turnover":15268.9298,"count":111},{"id":1603339200,"open":12729.0,"close":12762.2,"high":12778.3,"low":12729.0,"amount":1.152,"vol":1152,"trade_turnover":14695.4876,"count":115},{"id":1603342800,"open":12763.1,"close":12813.8,"high":12842.0,"low":12730.6,"amount":1.21,"vol":1210,"trade_turnover":15440.8162,"count":119},{"id":1603346400,"open":12795.0,"close":12729.1,"high":12795.0,"low":12728.0,"amount":1.188,"vol":1188,"trade_turnover":15128.0098,"count":123},{"id":1603350000,"open":12728.6,"close":12730.6,"high":12730.6,"low":12728.3,"amount":1.266,"vol":1266,"trade_turnover":16115.1306,"count":112},{"id":1603353600,"open":12730.3,"close":12770.1,"high":12921.5,"low":12729.9,"amount":1.35,"vol":1350,"trade_turnover":17233.7326,"count":127},{"id":1603357200,"open":12824.9,"close":12780.4,"high":12872.1,"low":12760.1,"amount":0.98,"vol":980,"trade_turnover":12553.9826,"count":99},{"id":1603360800,"open":12784.9,"close":12934.2,"high":13002.7,"low":12775.6,"amount":0.266,"vol":266,"trade_turnover":3415.023,"count":30},{"id":1603364400,"open":12977.0,"close":13045.0,"high":13057.0,"low":12886.6,"amount":1.004,"vol":1004,"trade_turnover":13020.8576,"count":117},{"id":1603368000,"open":12958.5,"close":12847.9,"high":12973.4,"low":12751.6,"amount":1.134,"vol":1134,"trade_turnover":14594.2752,"count":111},{"id":1603371600,"open":12882.7,"close":12931.0,"high":13000.8,"low":12743.0,"amount":1.152,"vol":1152,"trade_turnover":14877.7314,"count":114},{"id":1603375200,"open":12890.4,"close":12917.8,"high":12995.3,"low":12783.9,"amount":1.182,"vol":1182,"trade_turnover":15224.4716,"count":115},{"id":1603378800,"open":12918.8,"close":12953.0,"high":13031.2,"low":12817.9,"amount":1.176,"vol":1176,"trade_turnover":15197.208,"count":117},{"id":1603382400,"open":12923.1,"close":13055.6,"high":13100.2,"low":12865.6,"amount":1.146,"vol":1146,"trade_turnover":14851.9604,"count":119},{"id":1603386000,"open":12967.6,"close":13082.7,"high":13105.7,"low":12835.5,"amount":1.534,"vol":1534,"trade_turnover":19927.8288,"count":124},{"id":1603389600,"open":13020.4,"close":13016.4,"high":13115.0,"low":12938.7,"amount":1.268,"vol":1268,"trade_turnover":16505.4738,"count":117},{"id":1603393200,"open":13028.3,"close":12970.6,"high":13171.2,"low":12961.8,"amount":1.13,"vol":1130,"trade_turnover":14762.952,"count":112},{"id":1603396800,"open":13016.7,"close":13089.3,"high":13216.1,"low":12998.5,"amount":1.206,"vol":1206,"trade_turnover":15807.1226,"count":117},{"id":1603400400,"open":13136.0,"close":13092.0,"high":13203.7,"low":12932.9,"amount":1.332,"vol":1332,"trade_turnover":17423.4422,"count":114},{"id":1603404000,"open":13119.4,"close":13055.9,"high":13250.5,"low":12984.7,"amount":1.21,"vol":1210,"trade_turnover":15876.0632,"count":114},{"id":1603407600,"open":13059.4,"close":12890.4,"high":13126.5,"low":12857.2,"amount":1.286,"vol":1286,"trade_turnover":16688.422,"count":116},{"id":1603411200,"open":12929.7,"close":12892.2,"high":12994.0,"low":12751.6,"amount":1.502,"vol":1502,"trade_turnover":19331.1596,"count":131},{"id":1603414800,"open":12921.7,"close":12898.3,"high":13003.2,"low":12786.0,"amount":1.386,"vol":1386,"trade_turnover":17904.8902,"count":121},{"id":1603418400,"open":12951.6,"close":12975.1,"high":13054.0,"low":12800.7,"amount":1.416,"vol":1416,"trade_turnover":18306.6204,"count":122},{"id":1603422000,"open":12967.3,"close":12947.0,"high":13030.7,"low":12875.0,"amount":1.19,"vol":1190,"trade_turnover":15409.7984,"count":118},{"id":1603425600,"open":12925.2,"close":12852.0,"high":13047.3,"low":12832.8,"amount":1.022,"vol":1022,"trade_turnover":13214.4388,"count":127},{"id":1603429200,"open":12859.0,"close":12931.1,"high":12991.7,"low":12841.2,"amount":0.478,"vol":478,"trade_turnover":6180.2486,"count":118},{"id":1603432800,"open":12935.9,"close":12939.6,"high":13014.1,"low":12871.9,"amount":0.522,"vol":522,"trade_turnover":6759.0324,"count":132},{"id":1603436400,"open":12923.1,"close":12925.4,"high":12998.9,"low":12917.1,"amount":0.476,"vol":476,"trade_turnover":6163.3118,"count":118},{"id":1603440000,"open":12942.2,"close":12962.6,"high":13014.0,"low":12916.1,"amount":0.508,"vol":508,"trade_turnover":6585.3656,"count":122},{"id":1603443600,"open":12970.5,"close":12926.4,"high":13012.5,"low":12909.9,"amount":0.564,"vol":564,"trade_turnover":7308.8828,"count":124},{"id":1603447200,"open":13001.2,"close":13007.7,"high":13059.5,"low":12925.7,"amount":0.536,"vol":536,"trade_turnover":6957.8796,"count":124},{"id":1603450800,"open":13025.4,"close":12970.6,"high":13078.4,"low":12906.5,"amount":0.486,"vol":486,"trade_turnover":6326.1434,"count":122},{"id":1603454400,"open":12963.9,"close":12935.4,"high":13025.0,"low":12850.8,"amount":0.494,"vol":494,"trade_turnover":6396.0984,"count":117},{"id":1603458000,"open":12913.3,"close":12951.7,"high":13043.3,"low":12911.0,"amount":0.466,"vol":466,"trade_turnover":6049.1412,"count":117},{"id":1603461600,"open":12999.6,"close":12858.8,"high":13006.4,"low":12840.4,"amount":0.46,"vol":460,"trade_turnover":5941.815,"count":116},{"id":1603465200,"open":12885.7,"close":12881.9,"high":12932.9,"low":12826.5,"amount":0.492,"vol":492,"trade_turnover":6340.214,"count":117},{"id":1603468800,"open":12854.4,"close":12784.1,"high":12933.5,"low":12744.4,"amount":0.484,"vol":484,"trade_turnover":6205.4138,"count":123},{"id":1603472400,"open":12832.3,"close":12847.7,"high":12893.1,"low":12730.1,"amount":0.562,"vol":562,"trade_turnover":7218.9184,"count":152},{"id":1603476000,"open":12874.1,"close":12915.7,"high":12939.3,"low":12751.4,"amount":0.53,"vol":530,"trade_turnover":6825.7004,"count":128},{"id":1603479600,"open":12867.9,"close":12972.9,"high":12972.9,"low":12786.6,"amount":0.444,"vol":444,"trade_turnover":5727.7452,"count":117},{"id":1603483200,"open":12956.7,"close":12991.6,"high":13002.2,"low":12842.9,"amount":0.492,"vol":492,"trade_turnover":6375.1566,"count":116},{"id":1603486800,"open":13004.3,"close":12943.5,"high":13004.3,"low":12936.6,"amount":0.5,"vol":500,"trade_turnover":6485.468,"count":125},{"id":1603490400,"open":12923.6,"close":12989.2,"high":13010.3,"low":12884.7,"amount":0.492,"vol":492,"trade_turnover":6376.1492,"count":120},{"id":1603494000,"open":12974.9,"close":12884.6,"high":13024.4,"low":12884.6,"amount":0.51,"vol":510,"trade_turnover":6622.3406,"count":121},{"id":1603497600,"open":12973.7,"close":12953.9,"high":13018.3,"low":12811.1,"amount":0.488,"vol":488,"trade_turnover":6317.7938,"count":120},{"id":1603501200,"open":12927.5,"close":12934.2,"high":13018.1,"low":12872.8,"amount":0.482,"vol":482,"trade_turnover":6242.4178,"count":117},{"id":1603504800,"open":12971.9,"close":12989.1,"high":13003.9,"low":12903.3,"amount":0.484,"vol":484,"trade_turnover":6278.1756,"count":117},{"id":1603508400,"open":13000.1,"close":12975.9,"high":13013.4,"low":12938.3,"amount":0.474,"vol":474,"trade_turnover":6157.7096,"count":122},{"id":1603512000,"open":12989.7,"close":12963.3,"high":13009.4,"low":12905.5,"amount":0.526,"vol":526,"trade_turnover":6831.5658,"count":124},{"id":1603515600,"open":12910.5,"close":12989.7,"high":13041.8,"low":12875.3,"amount":0.522,"vol":522,"trade_turnover":6768.8994,"count":127},{"id":1603519200,"open":12994.7,"close":13003.6,"high":13058.1,"low":12908.8,"amount":0.49,"vol":490,"trade_turnover":6370.5714,"count":120},{"id":1603522800,"open":13011.9,"close":13004.2,"high":13037.8,"low":12981.7,"amount":0.478,"vol":478,"trade_turnover":6218.9722,"count":120},{"id":1603526400,"open":13003.0,"close":12998.2,"high":13030.6,"low":12899.4,"amount":0.52,"vol":520,"trade_turnover":6754.958,"count":124},{"id":1603530000,"open":12998.2,"close":12990.6,"high":13020.3,"low":12893.6,"amount":0.454,"vol":454,"trade_turnover":5891.0574,"count":115},{"id":1603533600,"open":12996.4,"close":13030.1,"high":13059.1,"low":12913.2,"amount":0.502,"vol":502,"trade_turnover":6525.9004,"count":124},{"id":1603537200,"open":12988.4,"close":13033.2,"high":13068.3,"low":12940.2,"amount":0.468,"vol":468,"trade_turnover":6091.0376,"count":119},{"id":1603540800,"open":13035.3,"close":13006.5,"high":13071.8,"low":12978.9,"amount":0.468,"vol":468,"trade_turnover":6102.5902,"count":123},{"id":1603544400,"open":13038.8,"close":12985.9,"high":13066.7,"low":12928.1,"amount":0.534,"vol":534,"trade_turnover":6950.4268,"count":123},{"id":1603548000,"open":12986.3,"close":13042.0,"high":13100.1,"low":12960.5,"amount":0.47,"vol":470,"trade_turnover":6124.2178,"count":100},{"id":1603551600,"open":13038.4,"close":13102.2,"high":13196.5,"low":13038.4,"amount":0.456,"vol":456,"trade_turnover":5989.6362,"count":120},{"id":1603555200,"open":13136.8,"close":13052.7,"high":13176.6,"low":12984.6,"amount":0.458,"vol":458,"trade_turnover":5976.331,"count":121},{"id":1603558800,"open":13006.2,"close":13177.8,"high":13177.8,"low":13003.2,"amount":0.452,"vol":452,"trade_turnover":5911.7058,"count":118},{"id":1603562400,"open":13127.7,"close":13080.8,"high":13170.7,"low":13023.0,"amount":0.468,"vol":468,"trade_turnover":6122.375,"count":119},{"id":1603566000,"open":13040.7,"close":13148.4,"high":13179.3,"low":13014.2,"amount":0.468,"vol":468,"trade_turnover":6126.4278,"count":120},{"id":1603569600,"open":13073.5,"close":13090.1,"high":13179.6,"low":12992.5,"amount":0.47,"vol":470,"trade_turnover":6151.4758,"count":119},{"id":1603573200,"open":13035.4,"close":12993.9,"high":13148.7,"low":12980.7,"amount":0.458,"vol":458,"trade_turnover":5981.071,"count":117},{"id":1603576800,"open":13040.7,"close":13041.1,"high":13112.1,"low":12975.6,"amount":0.478,"vol":478,"trade_turnover":6225.4216,"count":118},{"id":1603580400,"open":13012.6,"close":13184.3,"high":13184.3,"low":13009.3,"amount":0.472,"vol":472,"trade_turnover":6173.4244,"count":118},{"id":1603584000,"open":13080.8,"close":13154.3,"high":13170.4,"low":13007.7,"amount":0.46,"vol":460,"trade_turnover":6024.09,"count":115},{"id":1603587600,"open":13092.0,"close":13196.1,"high":13196.8,"low":13024.0,"amount":0.398,"vol":398,"trade_turnover":5217.5364,"count":102},{"id":1603591200,"open":13124.7,"close":13082.4,"high":13175.1,"low":13035.0,"amount":0.476,"vol":476,"trade_turnover":6228.6596,"count":120},{"id":1603594800,"open":13049.1,"close":13259.0,"high":13383.8,"low":13049.1,"amount":0.578,"vol":578,"trade_turnover":7629.3886,"count":137},{"id":1603598400,"open":13277.0,"close":13243.4,"high":13369.0,"low":13216.0,"amount":0.47,"vol":470,"trade_turnover":6247.955,"count":122},{"id":1603602000,"open":13285.3,"close":13017.3,"high":13353.3,"low":13010.1,"amount":0.61,"vol":610,"trade_turnover":8048.8598,"count":134},{"id":1603605600,"open":13022.5,"close":13060.3,"high":13105.7,"low":13018.2,"amount":0.486,"vol":486,"trade_turnover":6344.1474,"count":118},{"id":1603609200,"open":13048.5,"close":13078.1,"high":13112.1,"low":13022.0,"amount":0.464,"vol":464,"trade_turnover":6061.5416,"count":120},{"id":1603612800,"open":13077.2,"close":13046.0,"high":13091.0,"low":13017.2,"amount":0.464,"vol":464,"trade_turnover":6055.3734,"count":120},{"id":1603616400,"open":13065.1,"close":13040.8,"high":13084.0,"low":13014.2,"amount":0.478,"vol":478,"trade_turnover":6235.7882,"count":117},{"id":1603620000,"open":13047.1,"close":13028.5,"high":13064.2,"low":13010.2,"amount":0.478,"vol":478,"trade_turnover":6232.2428,"count":125},{"id":1603623600,"open":13061.5,"close":12897.6,"high":13061.5,"low":12852.9,"amount":0.534,"vol":534,"trade_turnover":6918.1226,"count":123},{"id":1603627200,"open":12908.3,"close":12964.3,"high":13069.7,"low":12893.2,"amount":0.444,"vol":444,"trade_turnover":5755.8712,"count":117},{"id":1603630800,"open":13001.3,"close":12949.3,"high":13071.9,"low":12891.8,"amount":0.498,"vol":498,"trade_turnover":6465.078,"count":119},{"id":1603634400,"open":12975.8,"close":12946.8,"high":13077.7,"low":12900.0,"amount":0.468,"vol":468,"trade_turnover":6075.4554,"count":116},{"id":1603638000,"open":12975.2,"close":12883.3,"high":13069.1,"low":12883.3,"amount":0.47,"vol":470,"trade_turnover":6097.1072,"count":119},{"id":1603641600,"open":12916.2,"close":12978.7,"high":13067.9,"low":12877.5,"amount":0.482,"vol":482,"trade_turnover":6256.4472,"count":118},{"id":1603645200,"open":13008.0,"close":13004.4,"high":13087.5,"low":12922.7,"amount":0.47,"vol":470,"trade_turnover":6108.3892,"count":117},{"id":1603648800,"open":12972.8,"close":12957.2,"high":13067.6,"low":12893.6,"amount":0.468,"vol":468,"trade_turnover":6079.1484,"count":118},{"id":1603652400,"open":12996.5,"close":13021.8,"high":13066.9,"low":12916.6,"amount":0.442,"vol":442,"trade_turnover":5746.5548,"count":118},{"id":1603656000,"open":12992.9,"close":12985.4,"high":13081.5,"low":12944.9,"amount":0.508,"vol":508,"trade_turnover":6616.9872,"count":120},{"id":1603659600,"open":12999.9,"close":13011.2,"high":13068.6,"low":12921.4,"amount":0.508,"vol":508,"trade_turnover":6614.816,"count":122},{"id":1603663200,"open":12979.6,"close":12959.4,"high":13073.8,"low":12911.9,"amount":0.486,"vol":486,"trade_turnover":6320.907,"count":121},{"id":1603666800,"open":12963.4,"close":13032.1,"high":13085.2,"low":12927.8,"amount":0.452,"vol":452,"trade_turnover":5878.6442,"count":113},{"id":1603670400,"open":12964.2,"close":13001.0,"high":13076.7,"low":12918.3,"amount":0.482,"vol":482,"trade_turnover":6263.698,"count":121},{"id":1603674000,"open":13040.0,"close":13053.7,"high":13096.4,"low":12991.2,"amount":0.478,"vol":478,"trade_turnover":6232.2328,"count":124},{"id":1603677600,"open":13060.6,"close":13064.4,"high":13185.7,"low":12985.1,"amount":0.488,"vol":488,"trade_turnover":6387.534,"count":121},{"id":1603681200,"open":13032.3,"close":13092.8,"high":13187.2,"low":12984.1,"amount":0.486,"vol":486,"trade_turnover":6369.0272,"count":135},{"id":1603684800,"open":13092.0,"close":13132.6,"high":13181.6,"low":12962.3,"amount":0.51,"vol":510,"trade_turnover":6679.829,"count":131},{"id":1603688400,"open":13129.2,"close":13092.1,"high":13205.3,"low":13025.3,"amount":0.506,"vol":506,"trade_turnover":6641.2128,"count":126},{"id":1603692000,"open":13121.8,"close":13071.4,"high":13188.1,"low":12989.8,"amount":1.616,"vol":1616,"trade_turnover":21170.8224,"count":141},{"id":1603695600,"open":13061.0,"close":13038.7,"high":13100.0,"low":12965.2,"amount":3.746,"vol":3746,"trade_turnover":48924.8902,"count":110},{"id":1603699200,"open":13030.9,"close":13039.3,"high":13102.0,"low":12852.8,"amount":8.966,"vol":8966,"trade_turnover":116525.5534,"count":173},{"id":1603702800,"open":13047.1,"close":13075.9,"high":13088.4,"low":13039.8,"amount":4.48,"vol":4480,"trade_turnover":58521.1714,"count":124},{"id":1603706400,"open":13072.1,"close":13100.0,"high":13100.0,"low":13060.2,"amount":4.272,"vol":4272,"trade_turnover":55895.9778,"count":130},{"id":1603710000,"open":13100.0,"close":13138.4,"high":13159.0,"low":13100.0,"amount":29.798,"vol":29798,"trade_turnover":391138.024,"count":230},{"id":1603713600,"open":13138.8,"close":13149.8,"high":13200.0,"low":13100.0,"amount":5.154,"vol":5154,"trade_turnover":67694.652,"count":188},{"id":1603717200,"open":13150.0,"close":13205.8,"high":13351.5,"low":13133.1,"amount":35.608,"vol":35608,"trade_turnover":472780.3394,"count":328},{"id":1603720800,"open":13203.0,"close":13166.1,"high":13280.0,"low":13144.1,"amount":31.748,"vol":31748,"trade_turnover":418744.5588,"count":235},{"id":1603724400,"open":13159.0,"close":12978.0,"high":13165.2,"low":12903.8,"amount":36.53,"vol":36530,"trade_turnover":476940.3296,"count":384},{"id":1603728000,"open":12965.0,"close":12869.6,"high":13069.8,"low":12850.5,"amount":35.018,"vol":35018,"trade_turnover":453288.918,"count":323},{"id":1603731600,"open":12879.2,"close":12873.8,"high":12941.5,"low":12583.9,"amount":92.628,"vol":92628,"trade_turnover":1185973.467,"count":560},{"id":1603735200,"open":12856.2,"close":12946.8,"high":12954.5,"low":12820.4,"amount":4.302,"vol":4302,"trade_turnover":55481.0054,"count":128},{"id":1603738800,"open":12945.6,"close":12953.4,"high":12953.5,"low":12914.1,"amount":13.83,"vol":13830,"trade_turnover":179112.1598,"count":118},{"id":1603742400,"open":12953.5,"close":12983.4,"high":13007.5,"low":12953.5,"amount":17.172,"vol":17172,"trade_turnover":223230.2122,"count":132},{"id":1603746000,"open":12983.1,"close":12993.8,"high":13007.5,"low":12982.7,"amount":3.212,"vol":3212,"trade_turnover":41767.8906,"count":59},{"id":1603749600,"open":13002.1,"close":13007.5,"high":13007.5,"low":12974.0,"amount":1.504,"vol":1504,"trade_turnover":19543.3568,"count":74},{"id":1603753200,"open":13007.5,"close":13033.7,"high":13061.2,"low":13007.5,"amount":3.454,"vol":3454,"trade_turnover":45001.601,"count":101},{"id":1603756800,"open":13029.2,"close":13067.1,"high":13105.0,"low":13028.3,"amount":8.784,"vol":8784,"trade_turnover":114871.8246,"count":98},{"id":1603760400,"open":13074.3,"close":13061.7,"high":13074.4,"low":13051.5,"amount":11.592,"vol":11592,"trade_turnover":151386.9038,"count":66},{"id":1603764000,"open":13061.7,"close":13049.7,"high":13097.6,"low":13040.1,"amount":19.298,"vol":19298,"trade_turnover":252061.019,"count":109},{"id":1603767600,"open":13057.6,"close":13070.4,"high":13080.0,"low":13057.1,"amount":22.992,"vol":22992,"trade_turnover":300453.9788,"count":69},{"id":1603771200,"open":13080.0,"close":13103.3,"high":13175.0,"low":13079.6,"amount":14.396,"vol":14396,"trade_turnover":188461.9156,"count":59},{"id":1603774800,"open":13121.3,"close":13073.6,"high":13121.3,"low":13069.7,"amount":5.058,"vol":5058,"trade_turnover":66201.3552,"count":44},{"id":1603778400,"open":13074.9,"close":13103.4,"high":13149.0,"low":13069.6,"amount":9.106,"vol":9106,"trade_turnover":119104.8906,"count":107},{"id":1603782000,"open":13103.3,"close":13130.0,"high":13169.8,"low":12992.4,"amount":73.95,"vol":73950,"trade_turnover":968195.155,"count":305},{"id":1603785600,"open":13135.1,"close":13123.8,"high":13148.4,"low":13044.0,"amount":18.732,"vol":18732,"trade_turnover":245533.5448,"count":135},{"id":1603789200,"open":13115.5,"close":13131.7,"high":13131.8,"low":13075.7,"amount":13.756,"vol":13756,"trade_turnover":180253.7708,"count":102},{"id":1603792800,"open":13134.8,"close":13216.9,"high":13252.0,"low":13063.4,"amount":154.108,"vol":154108,"trade_turnover":2029983.656,"count":525},{"id":1603796400,"open":13218.8,"close":13395.8,"high":13590.1,"low":13213.5,"amount":170.09,"vol":170090,"trade_turnover":2276279.742,"count":591},{"id":1603800000,"open":13395.9,"close":13376.9,"high":13414.0,"low":13331.7,"amount":48.928,"vol":48928,"trade_turnover":654585.9108,"count":216},{"id":1603803600,"open":13376.5,"close":13384.3,"high":13490.9,"low":13329.8,"amount":63.294,"vol":63294,"trade_turnover":848130.9212,"count":316},{"id":1603807200,"open":13392.6,"close":13398.2,"high":13415.8,"low":13344.8,"amount":12.892,"vol":12892,"trade_turnover":172618.6864,"count":124},{"id":1603810800,"open":13398.2,"close":13598.5,"high":13626.7,"low":13398.2,"amount":93.22,"vol":93220,"trade_turnover":1262695.5466,"count":476},{"id":1603814400,"open":13595.8,"close":13639.9,"high":13639.9,"low":13520.2,"amount":85.45,"vol":85450,"trade_turnover":1161481.4136,"count":435},{"id":1603818000,"open":13640.0,"close":13688.1,"high":13826.7,"low":13589.0,"amount":191.812,"vol":191812,"trade_turnover":2628428.3788,"count":711},{"id":1603821600,"open":13685.0,"close":13630.1,"high":13745.0,"low":13528.2,"amount":65.434,"vol":65434,"trade_turnover":891541.8394,"count":410},{"id":1603825200,"open":13629.4,"close":13637.1,"high":13659.8,"low":13595.4,"amount":5.788,"vol":5788,"trade_turnover":78836.2578,"count":65},{"id":1603828800,"open":13644.4,"close":13616.6,"high":13805.1,"low":13582.6,"amount":163.104,"vol":163104,"trade_turnover":2234040.3544,"count":537},{"id":1603832400,"open":13609.8,"close":13705.5,"high":13753.5,"low":13609.8,"amount":9.884,"vol":9884,"trade_turnover":135406.4752,"count":101},{"id":1603836000,"open":13705.4,"close":13739.9,"high":13739.9,"low":13658.2,"amount":7.436,"vol":7436,"trade_turnover":101840.3508,"count":100},{"id":1603839600,"open":13739.9,"close":13649.6,"high":13794.6,"low":13582.6,"amount":17.086,"vol":17086,"trade_turnover":233971.8448,"count":234},{"id":1603843200,"open":13645.9,"close":13701.7,"high":13745.2,"low":13618.8,"amount":24.108,"vol":24108,"trade_turnover":330206.5694,"count":177},{"id":1603846800,"open":13702.1,"close":13702.6,"high":13725.6,"low":13647.9,"amount":15.892,"vol":15892,"trade_turnover":217816.7008,"count":151},{"id":1603850400,"open":13701.7,"close":13811.6,"high":13832.2,"low":13680.2,"amount":46.548,"vol":46548,"trade_turnover":640636.0352,"count":274},{"id":1603854000,"open":13818.5,"close":13777.0,"high":13820.3,"low":13717.5,"amount":67.896,"vol":67896,"trade_turnover":935838.2238,"count":320},{"id":1603857600,"open":13767.3,"close":13735.7,"high":13807.2,"low":13710.0,"amount":33.156,"vol":33156,"trade_turnover":455941.234,"count":210},{"id":1603861200,"open":13735.5,"close":13715.8,"high":13753.9,"low":13671.3,"amount":32.076,"vol":32076,"trade_turnover":439612.64,"count":198},{"id":1603864800,"open":13715.9,"close":13701.3,"high":13757.0,"low":13694.9,"amount":14.756,"vol":14756,"trade_turnover":202602.5164,"count":122},{"id":1603868400,"open":13701.2,"close":13674.2,"high":13708.7,"low":13550.0,"amount":155.534,"vol":155534,"trade_turnover":2117935.0928,"count":635},{"id":1603872000,"open":13673.0,"close":13691.7,"high":13691.7,"low":13584.0,"amount":29.846,"vol":29846,"trade_turnover":407073.1398,"count":240},{"id":1603875600,"open":13689.3,"close":13587.1,"high":13707.5,"low":13573.5,"amount":104.542,"vol":104542,"trade_turnover":1425079.9344,"count":377},{"id":1603879200,"open":13584.6,"close":13552.7,"high":13618.0,"low":13504.7,"amount":73.818,"vol":73818,"trade_turnover":1001666.0908,"count":358},{"id":1603882800,"open":13552.6,"close":13336.4,"high":13565.4,"low":13330.0,"amount":176.544,"vol":176544,"trade_turnover":2369166.1492,"count":1004},{"id":1603886400,"open":13331.5,"close":13300.3,"high":13385.0,"low":13173.9,"amount":289.73,"vol":289730,"trade_turnover":3846751.7166,"count":968},{"id":1603890000,"open":13300.2,"close":13129.9,"high":13340.0,"low":13122.9,"amount":139.822,"vol":139822,"trade_turnover":1848876.932,"count":612},{"id":1603893600,"open":13123.4,"close":13082.2,"high":13168.2,"low":12915.9,"amount":367.876,"vol":367876,"trade_turnover":4802516.9818,"count":1168},{"id":1603897200,"open":13077.1,"close":13221.2,"high":13235.2,"low":13052.3,"amount":84.044,"vol":84044,"trade_turnover":1106883.1282,"count":375},{"id":1603900800,"open":13218.7,"close":13145.1,"high":13218.7,"low":13050.0,"amount":29.566,"vol":29566,"trade_turnover":388697.4104,"count":244},{"id":1603904400,"open":13145.1,"close":13176.7,"high":13204.9,"low":13006.6,"amount":53.336,"vol":53336,"trade_turnover":700385.2784,"count":299},{"id":1603908000,"open":13171.0,"close":13196.5,"high":13219.6,"low":13131.0,"amount":34.164,"vol":34164,"trade_turnover":450210.5778,"count":218},{"id":1603911600,"open":13200.0,"close":13154.9,"high":13237.4,"low":13145.0,"amount":22.158,"vol":22158,"trade_turnover":292020.0438,"count":185},{"id":1603915200,"open":13154.5,"close":13198.1,"high":13211.8,"low":13147.4,"amount":4.548,"vol":4548,"trade_turnover":59991.1118,"count":75},{"id":1603918800,"open":13193.5,"close":13190.1,"high":13196.5,"low":13100.2,"amount":3.52,"vol":3520,"trade_turnover":46175.428,"count":68},{"id":1603922400,"open":13185.4,"close":13252.0,"high":13267.5,"low":13185.4,"amount":3.122,"vol":3122,"trade_turnover":41304.2018,"count":72},{"id":1603926000,"open":13242.1,"close":13265.9,"high":13282.3,"low":13235.9,"amount":14.768,"vol":14768,"trade_turnover":195689.0764,"count":86},{"id":1603929600,"open":13253.9,"close":13245.1,"high":13294.7,"low":13237.4,"amount":19.968,"vol":19968,"trade_turnover":264834.1944,"count":98},{"id":1603933200,"open":13244.6,"close":13274.2,"high":13285.3,"low":13166.3,"amount":35.282,"vol":35282,"trade_turnover":465789.6302,"count":192},{"id":1603936800,"open":13275.9,"close":13241.1,"high":13277.7,"low":13212.2,"amount":9.748,"vol":9748,"trade_turnover":129016.0684,"count":119},{"id":1603940400,"open":13237.1,"close":13262.5,"high":13262.5,"low":13174.6,"amount":27.3,"vol":27300,"trade_turnover":360589.8982,"count":199},{"id":1603944000,"open":13269.1,"close":13229.5,"high":13277.7,"low":13229.5,"amount":18.904,"vol":18904,"trade_turnover":250713.2812,"count":109},{"id":1603947600,"open":13228.5,"close":13274.8,"high":13274.8,"low":13228.5,"amount":15.822,"vol":15822,"trade_turnover":209781.909,"count":134},{"id":1603951200,"open":13274.8,"close":13255.0,"high":13323.0,"low":13242.3,"amount":91.246,"vol":91246,"trade_turnover":1211271.2788,"count":294},{"id":1603954800,"open":13255.0,"close":13142.4,"high":13269.3,"low":13123.1,"amount":187.622,"vol":187622,"trade_turnover":2478299.7074,"count":506},{"id":1603958400,"open":13145.9,"close":13124.8,"high":13182.4,"low":13094.1,"amount":69.532,"vol":69532,"trade_turnover":914157.2418,"count":226},{"id":1603962000,"open":13129.5,"close":13183.7,"high":13197.1,"low":13129.5,"amount":23.184,"vol":23184,"trade_turnover":305485.9524,"count":141},{"id":1603965600,"open":13184.8,"close":13105.2,"high":13187.5,"low":13053.1,"amount":121.146,"vol":121146,"trade_turnover":1590026.4416,"count":442},{"id":1603969200,"open":13105.1,"close":13060.1,"high":13171.4,"low":13060.1,"amount":47.498,"vol":47498,"trade_turnover":623578.149,"count":262},{"id":1603972800,"open":13056.9,"close":13131.8,"high":13145.8,"low":12977.9,"amount":126.552,"vol":126552,"trade_turnover":1652549.311,"count":481},{"id":1603976400,"open":13131.7,"close":13230.0,"high":13237.2,"low":13102.0,"amount":100.482,"vol":100482,"trade_turnover":1326403.7206,"count":325},{"id":1603980000,"open":13231.0,"close":13420.8,"high":13476.1,"low":13231.0,"amount":253.258,"vol":253258,"trade_turnover":3384941.438,"count":752},{"id":1603983600,"open":13416.0,"close":13420.6,"high":13458.7,"low":13358.7,"amount":64.71,"vol":64710,"trade_turnover":869052.3804,"count":269},{"id":1603987200,"open":13421.9,"close":13535.9,"high":13594.5,"low":13391.8,"amount":120.24,"vol":120240,"trade_turnover":1626567.8278,"count":570}]} +2024-01-18 11:12:59.842 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:41] - 请求 KLine 数据解析之后的数据为:{"wsid":19750305,"data":[{"amount":0.276,"high":12300.0,"vol":276,"low":11715.8,"count":39,"id":1603270800,"close":12196.7,"tradeTurnover":3315.9104,"open":12198.0},{"amount":0.198,"high":12289.9,"vol":198,"low":12111.0,"count":21,"id":1603274400,"close":12277.9,"tradeTurnover":2420.7728,"open":12196.7},{"amount":0.012,"high":12277.9,"vol":12,"low":12000.0,"count":5,"id":1603278000,"close":12000.0,"tradeTurnover":145.2238,"open":12111.0},{"amount":0.084,"high":12498.0,"vol":84,"low":12078.0,"count":12,"id":1603281600,"close":12497.4,"tradeTurnover":1040.0504,"open":12078.0},{"amount":1.122,"high":12495.6,"vol":1122,"low":12282.9,"count":112,"id":1603285200,"close":12373.5,"tradeTurnover":13905.3124,"open":12495.6},{"amount":5.29,"high":12807.6,"vol":5290,"low":12358.1,"count":155,"id":1603288800,"close":12689.9,"tradeTurnover":66852.128,"open":12412.9},{"amount":1.174,"high":12778.7,"vol":1174,"low":12573.2,"count":113,"id":1603292400,"close":12701.9,"tradeTurnover":14907.367,"open":12692.8},{"amount":1.156,"high":12920.9,"vol":1156,"low":12624.8,"count":115,"id":1603296000,"close":12835.9,"tradeTurnover":14802.449,"open":12679.7},{"amount":1.12,"high":12908.3,"vol":1120,"low":12687.5,"count":115,"id":1603299600,"close":12754.2,"tradeTurnover":14345.7324,"open":12848.3},{"amount":1.106,"high":12849.0,"vol":1106,"low":12668.3,"count":114,"id":1603303200,"close":12740.2,"tradeTurnover":14105.3504,"open":12743.7},{"amount":1.032,"high":12843.1,"vol":1032,"low":12597.2,"count":112,"id":1603306800,"close":12650.3,"tradeTurnover":13125.4568,"open":12729.5},{"amount":1.154,"high":12848.4,"vol":1154,"low":12610.2,"count":116,"id":1603310400,"close":12807.0,"tradeTurnover":14680.638,"open":12666.8},{"amount":1.164,"high":13005.1,"vol":1164,"low":12748.2,"count":114,"id":1603314000,"close":12938.9,"tradeTurnover":14976.9366,"open":12866.0},{"amount":1.174,"high":13211.2,"vol":1174,"low":12865.7,"count":114,"id":1603317600,"close":13122.0,"tradeTurnover":15285.2446,"open":12921.0},{"amount":1.172,"high":13173.2,"vol":1172,"low":12688.6,"count":117,"id":1603321200,"close":12829.8,"tradeTurnover":15060.9938,"open":13153.2},{"amount":1.17,"high":12988.1,"vol":1170,"low":12764.4,"count":117,"id":1603324800,"close":12885.9,"tradeTurnover":15046.2046,"open":12793.1},{"amount":1.158,"high":12972.6,"vol":1158,"low":12757.5,"count":118,"id":1603328400,"close":12757.5,"tradeTurnover":14882.4656,"open":12860.4},{"amount":1.124,"high":12848.0,"vol":1124,"low":12729.0,"count":115,"id":1603332000,"close":12788.8,"tradeTurnover":14368.7948,"open":12824.1},{"amount":1.194,"high":12834.4,"vol":1194,"low":12729.0,"count":111,"id":1603335600,"close":12767.2,"tradeTurnover":15268.9298,"open":12791.7},{"amount":1.152,"high":12778.3,"vol":1152,"low":12729.0,"count":115,"id":1603339200,"close":12762.2,"tradeTurnover":14695.4876,"open":12729.0},{"amount":1.21,"high":12842.0,"vol":1210,"low":12730.6,"count":119,"id":1603342800,"close":12813.8,"tradeTurnover":15440.8162,"open":12763.1},{"amount":1.188,"high":12795.0,"vol":1188,"low":12728.0,"count":123,"id":1603346400,"close":12729.1,"tradeTurnover":15128.0098,"open":12795.0},{"amount":1.266,"high":12730.6,"vol":1266,"low":12728.3,"count":112,"id":1603350000,"close":12730.6,"tradeTurnover":16115.1306,"open":12728.6},{"amount":1.35,"high":12921.5,"vol":1350,"low":12729.9,"count":127,"id":1603353600,"close":12770.1,"tradeTurnover":17233.7326,"open":12730.3},{"amount":0.98,"high":12872.1,"vol":980,"low":12760.1,"count":99,"id":1603357200,"close":12780.4,"tradeTurnover":12553.9826,"open":12824.9},{"amount":0.266,"high":13002.7,"vol":266,"low":12775.6,"count":30,"id":1603360800,"close":12934.2,"tradeTurnover":3415.023,"open":12784.9},{"amount":1.004,"high":13057.0,"vol":1004,"low":12886.6,"count":117,"id":1603364400,"close":13045.0,"tradeTurnover":13020.8576,"open":12977.0},{"amount":1.134,"high":12973.4,"vol":1134,"low":12751.6,"count":111,"id":1603368000,"close":12847.9,"tradeTurnover":14594.2752,"open":12958.5},{"amount":1.152,"high":13000.8,"vol":1152,"low":12743.0,"count":114,"id":1603371600,"close":12931.0,"tradeTurnover":14877.7314,"open":12882.7},{"amount":1.182,"high":12995.3,"vol":1182,"low":12783.9,"count":115,"id":1603375200,"close":12917.8,"tradeTurnover":15224.4716,"open":12890.4},{"amount":1.176,"high":13031.2,"vol":1176,"low":12817.9,"count":117,"id":1603378800,"close":12953.0,"tradeTurnover":15197.208,"open":12918.8},{"amount":1.146,"high":13100.2,"vol":1146,"low":12865.6,"count":119,"id":1603382400,"close":13055.6,"tradeTurnover":14851.9604,"open":12923.1},{"amount":1.534,"high":13105.7,"vol":1534,"low":12835.5,"count":124,"id":1603386000,"close":13082.7,"tradeTurnover":19927.8288,"open":12967.6},{"amount":1.268,"high":13115.0,"vol":1268,"low":12938.7,"count":117,"id":1603389600,"close":13016.4,"tradeTurnover":16505.4738,"open":13020.4},{"amount":1.13,"high":13171.2,"vol":1130,"low":12961.8,"count":112,"id":1603393200,"close":12970.6,"tradeTurnover":14762.952,"open":13028.3},{"amount":1.206,"high":13216.1,"vol":1206,"low":12998.5,"count":117,"id":1603396800,"close":13089.3,"tradeTurnover":15807.1226,"open":13016.7},{"amount":1.332,"high":13203.7,"vol":1332,"low":12932.9,"count":114,"id":1603400400,"close":13092.0,"tradeTurnover":17423.4422,"open":13136.0},{"amount":1.21,"high":13250.5,"vol":1210,"low":12984.7,"count":114,"id":1603404000,"close":13055.9,"tradeTurnover":15876.0632,"open":13119.4},{"amount":1.286,"high":13126.5,"vol":1286,"low":12857.2,"count":116,"id":1603407600,"close":12890.4,"tradeTurnover":16688.422,"open":13059.4},{"amount":1.502,"high":12994.0,"vol":1502,"low":12751.6,"count":131,"id":1603411200,"close":12892.2,"tradeTurnover":19331.1596,"open":12929.7},{"amount":1.386,"high":13003.2,"vol":1386,"low":12786.0,"count":121,"id":1603414800,"close":12898.3,"tradeTurnover":17904.8902,"open":12921.7},{"amount":1.416,"high":13054.0,"vol":1416,"low":12800.7,"count":122,"id":1603418400,"close":12975.1,"tradeTurnover":18306.6204,"open":12951.6},{"amount":1.19,"high":13030.7,"vol":1190,"low":12875.0,"count":118,"id":1603422000,"close":12947.0,"tradeTurnover":15409.7984,"open":12967.3},{"amount":1.022,"high":13047.3,"vol":1022,"low":12832.8,"count":127,"id":1603425600,"close":12852.0,"tradeTurnover":13214.4388,"open":12925.2},{"amount":0.478,"high":12991.7,"vol":478,"low":12841.2,"count":118,"id":1603429200,"close":12931.1,"tradeTurnover":6180.2486,"open":12859.0},{"amount":0.522,"high":13014.1,"vol":522,"low":12871.9,"count":132,"id":1603432800,"close":12939.6,"tradeTurnover":6759.0324,"open":12935.9},{"amount":0.476,"high":12998.9,"vol":476,"low":12917.1,"count":118,"id":1603436400,"close":12925.4,"tradeTurnover":6163.3118,"open":12923.1},{"amount":0.508,"high":13014.0,"vol":508,"low":12916.1,"count":122,"id":1603440000,"close":12962.6,"tradeTurnover":6585.3656,"open":12942.2},{"amount":0.564,"high":13012.5,"vol":564,"low":12909.9,"count":124,"id":1603443600,"close":12926.4,"tradeTurnover":7308.8828,"open":12970.5},{"amount":0.536,"high":13059.5,"vol":536,"low":12925.7,"count":124,"id":1603447200,"close":13007.7,"tradeTurnover":6957.8796,"open":13001.2},{"amount":0.486,"high":13078.4,"vol":486,"low":12906.5,"count":122,"id":1603450800,"close":12970.6,"tradeTurnover":6326.1434,"open":13025.4},{"amount":0.494,"high":13025.0,"vol":494,"low":12850.8,"count":117,"id":1603454400,"close":12935.4,"tradeTurnover":6396.0984,"open":12963.9},{"amount":0.466,"high":13043.3,"vol":466,"low":12911.0,"count":117,"id":1603458000,"close":12951.7,"tradeTurnover":6049.1412,"open":12913.3},{"amount":0.46,"high":13006.4,"vol":460,"low":12840.4,"count":116,"id":1603461600,"close":12858.8,"tradeTurnover":5941.815,"open":12999.6},{"amount":0.492,"high":12932.9,"vol":492,"low":12826.5,"count":117,"id":1603465200,"close":12881.9,"tradeTurnover":6340.214,"open":12885.7},{"amount":0.484,"high":12933.5,"vol":484,"low":12744.4,"count":123,"id":1603468800,"close":12784.1,"tradeTurnover":6205.4138,"open":12854.4},{"amount":0.562,"high":12893.1,"vol":562,"low":12730.1,"count":152,"id":1603472400,"close":12847.7,"tradeTurnover":7218.9184,"open":12832.3},{"amount":0.53,"high":12939.3,"vol":530,"low":12751.4,"count":128,"id":1603476000,"close":12915.7,"tradeTurnover":6825.7004,"open":12874.1},{"amount":0.444,"high":12972.9,"vol":444,"low":12786.6,"count":117,"id":1603479600,"close":12972.9,"tradeTurnover":5727.7452,"open":12867.9},{"amount":0.492,"high":13002.2,"vol":492,"low":12842.9,"count":116,"id":1603483200,"close":12991.6,"tradeTurnover":6375.1566,"open":12956.7},{"amount":0.5,"high":13004.3,"vol":500,"low":12936.6,"count":125,"id":1603486800,"close":12943.5,"tradeTurnover":6485.468,"open":13004.3},{"amount":0.492,"high":13010.3,"vol":492,"low":12884.7,"count":120,"id":1603490400,"close":12989.2,"tradeTurnover":6376.1492,"open":12923.6},{"amount":0.51,"high":13024.4,"vol":510,"low":12884.6,"count":121,"id":1603494000,"close":12884.6,"tradeTurnover":6622.3406,"open":12974.9},{"amount":0.488,"high":13018.3,"vol":488,"low":12811.1,"count":120,"id":1603497600,"close":12953.9,"tradeTurnover":6317.7938,"open":12973.7},{"amount":0.482,"high":13018.1,"vol":482,"low":12872.8,"count":117,"id":1603501200,"close":12934.2,"tradeTurnover":6242.4178,"open":12927.5},{"amount":0.484,"high":13003.9,"vol":484,"low":12903.3,"count":117,"id":1603504800,"close":12989.1,"tradeTurnover":6278.1756,"open":12971.9},{"amount":0.474,"high":13013.4,"vol":474,"low":12938.3,"count":122,"id":1603508400,"close":12975.9,"tradeTurnover":6157.7096,"open":13000.1},{"amount":0.526,"high":13009.4,"vol":526,"low":12905.5,"count":124,"id":1603512000,"close":12963.3,"tradeTurnover":6831.5658,"open":12989.7},{"amount":0.522,"high":13041.8,"vol":522,"low":12875.3,"count":127,"id":1603515600,"close":12989.7,"tradeTurnover":6768.8994,"open":12910.5},{"amount":0.49,"high":13058.1,"vol":490,"low":12908.8,"count":120,"id":1603519200,"close":13003.6,"tradeTurnover":6370.5714,"open":12994.7},{"amount":0.478,"high":13037.8,"vol":478,"low":12981.7,"count":120,"id":1603522800,"close":13004.2,"tradeTurnover":6218.9722,"open":13011.9},{"amount":0.52,"high":13030.6,"vol":520,"low":12899.4,"count":124,"id":1603526400,"close":12998.2,"tradeTurnover":6754.958,"open":13003.0},{"amount":0.454,"high":13020.3,"vol":454,"low":12893.6,"count":115,"id":1603530000,"close":12990.6,"tradeTurnover":5891.0574,"open":12998.2},{"amount":0.502,"high":13059.1,"vol":502,"low":12913.2,"count":124,"id":1603533600,"close":13030.1,"tradeTurnover":6525.9004,"open":12996.4},{"amount":0.468,"high":13068.3,"vol":468,"low":12940.2,"count":119,"id":1603537200,"close":13033.2,"tradeTurnover":6091.0376,"open":12988.4},{"amount":0.468,"high":13071.8,"vol":468,"low":12978.9,"count":123,"id":1603540800,"close":13006.5,"tradeTurnover":6102.5902,"open":13035.3},{"amount":0.534,"high":13066.7,"vol":534,"low":12928.1,"count":123,"id":1603544400,"close":12985.9,"tradeTurnover":6950.4268,"open":13038.8},{"amount":0.47,"high":13100.1,"vol":470,"low":12960.5,"count":100,"id":1603548000,"close":13042.0,"tradeTurnover":6124.2178,"open":12986.3},{"amount":0.456,"high":13196.5,"vol":456,"low":13038.4,"count":120,"id":1603551600,"close":13102.2,"tradeTurnover":5989.6362,"open":13038.4},{"amount":0.458,"high":13176.6,"vol":458,"low":12984.6,"count":121,"id":1603555200,"close":13052.7,"tradeTurnover":5976.331,"open":13136.8},{"amount":0.452,"high":13177.8,"vol":452,"low":13003.2,"count":118,"id":1603558800,"close":13177.8,"tradeTurnover":5911.7058,"open":13006.2},{"amount":0.468,"high":13170.7,"vol":468,"low":13023.0,"count":119,"id":1603562400,"close":13080.8,"tradeTurnover":6122.375,"open":13127.7},{"amount":0.468,"high":13179.3,"vol":468,"low":13014.2,"count":120,"id":1603566000,"close":13148.4,"tradeTurnover":6126.4278,"open":13040.7},{"amount":0.47,"high":13179.6,"vol":470,"low":12992.5,"count":119,"id":1603569600,"close":13090.1,"tradeTurnover":6151.4758,"open":13073.5},{"amount":0.458,"high":13148.7,"vol":458,"low":12980.7,"count":117,"id":1603573200,"close":12993.9,"tradeTurnover":5981.071,"open":13035.4},{"amount":0.478,"high":13112.1,"vol":478,"low":12975.6,"count":118,"id":1603576800,"close":13041.1,"tradeTurnover":6225.4216,"open":13040.7},{"amount":0.472,"high":13184.3,"vol":472,"low":13009.3,"count":118,"id":1603580400,"close":13184.3,"tradeTurnover":6173.4244,"open":13012.6},{"amount":0.46,"high":13170.4,"vol":460,"low":13007.7,"count":115,"id":1603584000,"close":13154.3,"tradeTurnover":6024.09,"open":13080.8},{"amount":0.398,"high":13196.8,"vol":398,"low":13024.0,"count":102,"id":1603587600,"close":13196.1,"tradeTurnover":5217.5364,"open":13092.0},{"amount":0.476,"high":13175.1,"vol":476,"low":13035.0,"count":120,"id":1603591200,"close":13082.4,"tradeTurnover":6228.6596,"open":13124.7},{"amount":0.578,"high":13383.8,"vol":578,"low":13049.1,"count":137,"id":1603594800,"close":13259.0,"tradeTurnover":7629.3886,"open":13049.1},{"amount":0.47,"high":13369.0,"vol":470,"low":13216.0,"count":122,"id":1603598400,"close":13243.4,"tradeTurnover":6247.955,"open":13277.0},{"amount":0.61,"high":13353.3,"vol":610,"low":13010.1,"count":134,"id":1603602000,"close":13017.3,"tradeTurnover":8048.8598,"open":13285.3},{"amount":0.486,"high":13105.7,"vol":486,"low":13018.2,"count":118,"id":1603605600,"close":13060.3,"tradeTurnover":6344.1474,"open":13022.5},{"amount":0.464,"high":13112.1,"vol":464,"low":13022.0,"count":120,"id":1603609200,"close":13078.1,"tradeTurnover":6061.5416,"open":13048.5},{"amount":0.464,"high":13091.0,"vol":464,"low":13017.2,"count":120,"id":1603612800,"close":13046.0,"tradeTurnover":6055.3734,"open":13077.2},{"amount":0.478,"high":13084.0,"vol":478,"low":13014.2,"count":117,"id":1603616400,"close":13040.8,"tradeTurnover":6235.7882,"open":13065.1},{"amount":0.478,"high":13064.2,"vol":478,"low":13010.2,"count":125,"id":1603620000,"close":13028.5,"tradeTurnover":6232.2428,"open":13047.1},{"amount":0.534,"high":13061.5,"vol":534,"low":12852.9,"count":123,"id":1603623600,"close":12897.6,"tradeTurnover":6918.1226,"open":13061.5},{"amount":0.444,"high":13069.7,"vol":444,"low":12893.2,"count":117,"id":1603627200,"close":12964.3,"tradeTurnover":5755.8712,"open":12908.3},{"amount":0.498,"high":13071.9,"vol":498,"low":12891.8,"count":119,"id":1603630800,"close":12949.3,"tradeTurnover":6465.078,"open":13001.3},{"amount":0.468,"high":13077.7,"vol":468,"low":12900.0,"count":116,"id":1603634400,"close":12946.8,"tradeTurnover":6075.4554,"open":12975.8},{"amount":0.47,"high":13069.1,"vol":470,"low":12883.3,"count":119,"id":1603638000,"close":12883.3,"tradeTurnover":6097.1072,"open":12975.2},{"amount":0.482,"high":13067.9,"vol":482,"low":12877.5,"count":118,"id":1603641600,"close":12978.7,"tradeTurnover":6256.4472,"open":12916.2},{"amount":0.47,"high":13087.5,"vol":470,"low":12922.7,"count":117,"id":1603645200,"close":13004.4,"tradeTurnover":6108.3892,"open":13008.0},{"amount":0.468,"high":13067.6,"vol":468,"low":12893.6,"count":118,"id":1603648800,"close":12957.2,"tradeTurnover":6079.1484,"open":12972.8},{"amount":0.442,"high":13066.9,"vol":442,"low":12916.6,"count":118,"id":1603652400,"close":13021.8,"tradeTurnover":5746.5548,"open":12996.5},{"amount":0.508,"high":13081.5,"vol":508,"low":12944.9,"count":120,"id":1603656000,"close":12985.4,"tradeTurnover":6616.9872,"open":12992.9},{"amount":0.508,"high":13068.6,"vol":508,"low":12921.4,"count":122,"id":1603659600,"close":13011.2,"tradeTurnover":6614.816,"open":12999.9},{"amount":0.486,"high":13073.8,"vol":486,"low":12911.9,"count":121,"id":1603663200,"close":12959.4,"tradeTurnover":6320.907,"open":12979.6},{"amount":0.452,"high":13085.2,"vol":452,"low":12927.8,"count":113,"id":1603666800,"close":13032.1,"tradeTurnover":5878.6442,"open":12963.4},{"amount":0.482,"high":13076.7,"vol":482,"low":12918.3,"count":121,"id":1603670400,"close":13001.0,"tradeTurnover":6263.698,"open":12964.2},{"amount":0.478,"high":13096.4,"vol":478,"low":12991.2,"count":124,"id":1603674000,"close":13053.7,"tradeTurnover":6232.2328,"open":13040.0},{"amount":0.488,"high":13185.7,"vol":488,"low":12985.1,"count":121,"id":1603677600,"close":13064.4,"tradeTurnover":6387.534,"open":13060.6},{"amount":0.486,"high":13187.2,"vol":486,"low":12984.1,"count":135,"id":1603681200,"close":13092.8,"tradeTurnover":6369.0272,"open":13032.3},{"amount":0.51,"high":13181.6,"vol":510,"low":12962.3,"count":131,"id":1603684800,"close":13132.6,"tradeTurnover":6679.829,"open":13092.0},{"amount":0.506,"high":13205.3,"vol":506,"low":13025.3,"count":126,"id":1603688400,"close":13092.1,"tradeTurnover":6641.2128,"open":13129.2},{"amount":1.616,"high":13188.1,"vol":1616,"low":12989.8,"count":141,"id":1603692000,"close":13071.4,"tradeTurnover":21170.8224,"open":13121.8},{"amount":3.746,"high":13100.0,"vol":3746,"low":12965.2,"count":110,"id":1603695600,"close":13038.7,"tradeTurnover":48924.8902,"open":13061.0},{"amount":8.966,"high":13102.0,"vol":8966,"low":12852.8,"count":173,"id":1603699200,"close":13039.3,"tradeTurnover":116525.5534,"open":13030.9},{"amount":4.48,"high":13088.4,"vol":4480,"low":13039.8,"count":124,"id":1603702800,"close":13075.9,"tradeTurnover":58521.1714,"open":13047.1},{"amount":4.272,"high":13100.0,"vol":4272,"low":13060.2,"count":130,"id":1603706400,"close":13100.0,"tradeTurnover":55895.9778,"open":13072.1},{"amount":29.798,"high":13159.0,"vol":29798,"low":13100.0,"count":230,"id":1603710000,"close":13138.4,"tradeTurnover":391138.024,"open":13100.0},{"amount":5.154,"high":13200.0,"vol":5154,"low":13100.0,"count":188,"id":1603713600,"close":13149.8,"tradeTurnover":67694.652,"open":13138.8},{"amount":35.608,"high":13351.5,"vol":35608,"low":13133.1,"count":328,"id":1603717200,"close":13205.8,"tradeTurnover":472780.3394,"open":13150.0},{"amount":31.748,"high":13280.0,"vol":31748,"low":13144.1,"count":235,"id":1603720800,"close":13166.1,"tradeTurnover":418744.5588,"open":13203.0},{"amount":36.53,"high":13165.2,"vol":36530,"low":12903.8,"count":384,"id":1603724400,"close":12978.0,"tradeTurnover":476940.3296,"open":13159.0},{"amount":35.018,"high":13069.8,"vol":35018,"low":12850.5,"count":323,"id":1603728000,"close":12869.6,"tradeTurnover":453288.918,"open":12965.0},{"amount":92.628,"high":12941.5,"vol":92628,"low":12583.9,"count":560,"id":1603731600,"close":12873.8,"tradeTurnover":1185973.467,"open":12879.2},{"amount":4.302,"high":12954.5,"vol":4302,"low":12820.4,"count":128,"id":1603735200,"close":12946.8,"tradeTurnover":55481.0054,"open":12856.2},{"amount":13.83,"high":12953.5,"vol":13830,"low":12914.1,"count":118,"id":1603738800,"close":12953.4,"tradeTurnover":179112.1598,"open":12945.6},{"amount":17.172,"high":13007.5,"vol":17172,"low":12953.5,"count":132,"id":1603742400,"close":12983.4,"tradeTurnover":223230.2122,"open":12953.5},{"amount":3.212,"high":13007.5,"vol":3212,"low":12982.7,"count":59,"id":1603746000,"close":12993.8,"tradeTurnover":41767.8906,"open":12983.1},{"amount":1.504,"high":13007.5,"vol":1504,"low":12974.0,"count":74,"id":1603749600,"close":13007.5,"tradeTurnover":19543.3568,"open":13002.1},{"amount":3.454,"high":13061.2,"vol":3454,"low":13007.5,"count":101,"id":1603753200,"close":13033.7,"tradeTurnover":45001.601,"open":13007.5},{"amount":8.784,"high":13105.0,"vol":8784,"low":13028.3,"count":98,"id":1603756800,"close":13067.1,"tradeTurnover":114871.8246,"open":13029.2},{"amount":11.592,"high":13074.4,"vol":11592,"low":13051.5,"count":66,"id":1603760400,"close":13061.7,"tradeTurnover":151386.9038,"open":13074.3},{"amount":19.298,"high":13097.6,"vol":19298,"low":13040.1,"count":109,"id":1603764000,"close":13049.7,"tradeTurnover":252061.019,"open":13061.7},{"amount":22.992,"high":13080.0,"vol":22992,"low":13057.1,"count":69,"id":1603767600,"close":13070.4,"tradeTurnover":300453.9788,"open":13057.6},{"amount":14.396,"high":13175.0,"vol":14396,"low":13079.6,"count":59,"id":1603771200,"close":13103.3,"tradeTurnover":188461.9156,"open":13080.0},{"amount":5.058,"high":13121.3,"vol":5058,"low":13069.7,"count":44,"id":1603774800,"close":13073.6,"tradeTurnover":66201.3552,"open":13121.3},{"amount":9.106,"high":13149.0,"vol":9106,"low":13069.6,"count":107,"id":1603778400,"close":13103.4,"tradeTurnover":119104.8906,"open":13074.9},{"amount":73.95,"high":13169.8,"vol":73950,"low":12992.4,"count":305,"id":1603782000,"close":13130.0,"tradeTurnover":968195.155,"open":13103.3},{"amount":18.732,"high":13148.4,"vol":18732,"low":13044.0,"count":135,"id":1603785600,"close":13123.8,"tradeTurnover":245533.5448,"open":13135.1},{"amount":13.756,"high":13131.8,"vol":13756,"low":13075.7,"count":102,"id":1603789200,"close":13131.7,"tradeTurnover":180253.7708,"open":13115.5},{"amount":154.108,"high":13252.0,"vol":154108,"low":13063.4,"count":525,"id":1603792800,"close":13216.9,"tradeTurnover":2029983.656,"open":13134.8},{"amount":170.09,"high":13590.1,"vol":170090,"low":13213.5,"count":591,"id":1603796400,"close":13395.8,"tradeTurnover":2276279.742,"open":13218.8},{"amount":48.928,"high":13414.0,"vol":48928,"low":13331.7,"count":216,"id":1603800000,"close":13376.9,"tradeTurnover":654585.9108,"open":13395.9},{"amount":63.294,"high":13490.9,"vol":63294,"low":13329.8,"count":316,"id":1603803600,"close":13384.3,"tradeTurnover":848130.9212,"open":13376.5},{"amount":12.892,"high":13415.8,"vol":12892,"low":13344.8,"count":124,"id":1603807200,"close":13398.2,"tradeTurnover":172618.6864,"open":13392.6},{"amount":93.22,"high":13626.7,"vol":93220,"low":13398.2,"count":476,"id":1603810800,"close":13598.5,"tradeTurnover":1262695.5466,"open":13398.2},{"amount":85.45,"high":13639.9,"vol":85450,"low":13520.2,"count":435,"id":1603814400,"close":13639.9,"tradeTurnover":1161481.4136,"open":13595.8},{"amount":191.812,"high":13826.7,"vol":191812,"low":13589.0,"count":711,"id":1603818000,"close":13688.1,"tradeTurnover":2628428.3788,"open":13640.0},{"amount":65.434,"high":13745.0,"vol":65434,"low":13528.2,"count":410,"id":1603821600,"close":13630.1,"tradeTurnover":891541.8394,"open":13685.0},{"amount":5.788,"high":13659.8,"vol":5788,"low":13595.4,"count":65,"id":1603825200,"close":13637.1,"tradeTurnover":78836.2578,"open":13629.4},{"amount":163.104,"high":13805.1,"vol":163104,"low":13582.6,"count":537,"id":1603828800,"close":13616.6,"tradeTurnover":2234040.3544,"open":13644.4},{"amount":9.884,"high":13753.5,"vol":9884,"low":13609.8,"count":101,"id":1603832400,"close":13705.5,"tradeTurnover":135406.4752,"open":13609.8},{"amount":7.436,"high":13739.9,"vol":7436,"low":13658.2,"count":100,"id":1603836000,"close":13739.9,"tradeTurnover":101840.3508,"open":13705.4},{"amount":17.086,"high":13794.6,"vol":17086,"low":13582.6,"count":234,"id":1603839600,"close":13649.6,"tradeTurnover":233971.8448,"open":13739.9},{"amount":24.108,"high":13745.2,"vol":24108,"low":13618.8,"count":177,"id":1603843200,"close":13701.7,"tradeTurnover":330206.5694,"open":13645.9},{"amount":15.892,"high":13725.6,"vol":15892,"low":13647.9,"count":151,"id":1603846800,"close":13702.6,"tradeTurnover":217816.7008,"open":13702.1},{"amount":46.548,"high":13832.2,"vol":46548,"low":13680.2,"count":274,"id":1603850400,"close":13811.6,"tradeTurnover":640636.0352,"open":13701.7},{"amount":67.896,"high":13820.3,"vol":67896,"low":13717.5,"count":320,"id":1603854000,"close":13777.0,"tradeTurnover":935838.2238,"open":13818.5},{"amount":33.156,"high":13807.2,"vol":33156,"low":13710.0,"count":210,"id":1603857600,"close":13735.7,"tradeTurnover":455941.234,"open":13767.3},{"amount":32.076,"high":13753.9,"vol":32076,"low":13671.3,"count":198,"id":1603861200,"close":13715.8,"tradeTurnover":439612.64,"open":13735.5},{"amount":14.756,"high":13757.0,"vol":14756,"low":13694.9,"count":122,"id":1603864800,"close":13701.3,"tradeTurnover":202602.5164,"open":13715.9},{"amount":155.534,"high":13708.7,"vol":155534,"low":13550.0,"count":635,"id":1603868400,"close":13674.2,"tradeTurnover":2117935.0928,"open":13701.2},{"amount":29.846,"high":13691.7,"vol":29846,"low":13584.0,"count":240,"id":1603872000,"close":13691.7,"tradeTurnover":407073.1398,"open":13673.0},{"amount":104.542,"high":13707.5,"vol":104542,"low":13573.5,"count":377,"id":1603875600,"close":13587.1,"tradeTurnover":1425079.9344,"open":13689.3},{"amount":73.818,"high":13618.0,"vol":73818,"low":13504.7,"count":358,"id":1603879200,"close":13552.7,"tradeTurnover":1001666.0908,"open":13584.6},{"amount":176.544,"high":13565.4,"vol":176544,"low":13330.0,"count":1004,"id":1603882800,"close":13336.4,"tradeTurnover":2369166.1492,"open":13552.6},{"amount":289.73,"high":13385.0,"vol":289730,"low":13173.9,"count":968,"id":1603886400,"close":13300.3,"tradeTurnover":3846751.7166,"open":13331.5},{"amount":139.822,"high":13340.0,"vol":139822,"low":13122.9,"count":612,"id":1603890000,"close":13129.9,"tradeTurnover":1848876.932,"open":13300.2},{"amount":367.876,"high":13168.2,"vol":367876,"low":12915.9,"count":1168,"id":1603893600,"close":13082.2,"tradeTurnover":4802516.9818,"open":13123.4},{"amount":84.044,"high":13235.2,"vol":84044,"low":13052.3,"count":375,"id":1603897200,"close":13221.2,"tradeTurnover":1106883.1282,"open":13077.1},{"amount":29.566,"high":13218.7,"vol":29566,"low":13050.0,"count":244,"id":1603900800,"close":13145.1,"tradeTurnover":388697.4104,"open":13218.7},{"amount":53.336,"high":13204.9,"vol":53336,"low":13006.6,"count":299,"id":1603904400,"close":13176.7,"tradeTurnover":700385.2784,"open":13145.1},{"amount":34.164,"high":13219.6,"vol":34164,"low":13131.0,"count":218,"id":1603908000,"close":13196.5,"tradeTurnover":450210.5778,"open":13171.0},{"amount":22.158,"high":13237.4,"vol":22158,"low":13145.0,"count":185,"id":1603911600,"close":13154.9,"tradeTurnover":292020.0438,"open":13200.0},{"amount":4.548,"high":13211.8,"vol":4548,"low":13147.4,"count":75,"id":1603915200,"close":13198.1,"tradeTurnover":59991.1118,"open":13154.5},{"amount":3.52,"high":13196.5,"vol":3520,"low":13100.2,"count":68,"id":1603918800,"close":13190.1,"tradeTurnover":46175.428,"open":13193.5},{"amount":3.122,"high":13267.5,"vol":3122,"low":13185.4,"count":72,"id":1603922400,"close":13252.0,"tradeTurnover":41304.2018,"open":13185.4},{"amount":14.768,"high":13282.3,"vol":14768,"low":13235.9,"count":86,"id":1603926000,"close":13265.9,"tradeTurnover":195689.0764,"open":13242.1},{"amount":19.968,"high":13294.7,"vol":19968,"low":13237.4,"count":98,"id":1603929600,"close":13245.1,"tradeTurnover":264834.1944,"open":13253.9},{"amount":35.282,"high":13285.3,"vol":35282,"low":13166.3,"count":192,"id":1603933200,"close":13274.2,"tradeTurnover":465789.6302,"open":13244.6},{"amount":9.748,"high":13277.7,"vol":9748,"low":13212.2,"count":119,"id":1603936800,"close":13241.1,"tradeTurnover":129016.0684,"open":13275.9},{"amount":27.3,"high":13262.5,"vol":27300,"low":13174.6,"count":199,"id":1603940400,"close":13262.5,"tradeTurnover":360589.8982,"open":13237.1},{"amount":18.904,"high":13277.7,"vol":18904,"low":13229.5,"count":109,"id":1603944000,"close":13229.5,"tradeTurnover":250713.2812,"open":13269.1},{"amount":15.822,"high":13274.8,"vol":15822,"low":13228.5,"count":134,"id":1603947600,"close":13274.8,"tradeTurnover":209781.909,"open":13228.5},{"amount":91.246,"high":13323.0,"vol":91246,"low":13242.3,"count":294,"id":1603951200,"close":13255.0,"tradeTurnover":1211271.2788,"open":13274.8},{"amount":187.622,"high":13269.3,"vol":187622,"low":13123.1,"count":506,"id":1603954800,"close":13142.4,"tradeTurnover":2478299.7074,"open":13255.0},{"amount":69.532,"high":13182.4,"vol":69532,"low":13094.1,"count":226,"id":1603958400,"close":13124.8,"tradeTurnover":914157.2418,"open":13145.9},{"amount":23.184,"high":13197.1,"vol":23184,"low":13129.5,"count":141,"id":1603962000,"close":13183.7,"tradeTurnover":305485.9524,"open":13129.5},{"amount":121.146,"high":13187.5,"vol":121146,"low":13053.1,"count":442,"id":1603965600,"close":13105.2,"tradeTurnover":1590026.4416,"open":13184.8},{"amount":47.498,"high":13171.4,"vol":47498,"low":13060.1,"count":262,"id":1603969200,"close":13060.1,"tradeTurnover":623578.149,"open":13105.1},{"amount":126.552,"high":13145.8,"vol":126552,"low":12977.9,"count":481,"id":1603972800,"close":13131.8,"tradeTurnover":1652549.311,"open":13056.9},{"amount":100.482,"high":13237.2,"vol":100482,"low":13102.0,"count":325,"id":1603976400,"close":13230.0,"tradeTurnover":1326403.7206,"open":13131.7},{"amount":253.258,"high":13476.1,"vol":253258,"low":13231.0,"count":752,"id":1603980000,"close":13420.8,"tradeTurnover":3384941.438,"open":13231.0},{"amount":64.71,"high":13458.7,"vol":64710,"low":13358.7,"count":269,"id":1603983600,"close":13420.6,"tradeTurnover":869052.3804,"open":13416.0},{"amount":120.24,"high":13594.5,"vol":120240,"low":13391.8,"count":570,"id":1603987200,"close":13535.9,"tradeTurnover":1626567.8278,"open":13421.9}],"id":"","rep":"market.BTC-USDT.kline.60min","status":"ok"} +2024-01-18 11:13:00.851 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:39] - 请求 KLine 数据用户收到的原始数据:{"id":"","rep":"market.BTC-USDT.kline.60min","ts":1705547579760,"wsid":19750305,"status":"ok","data":[{"id":1603270800,"open":12198.0,"close":12196.7,"high":12300.0,"low":11715.8,"amount":0.276,"vol":276,"trade_turnover":3315.9104,"count":39},{"id":1603274400,"open":12196.7,"close":12277.9,"high":12289.9,"low":12111.0,"amount":0.198,"vol":198,"trade_turnover":2420.7728,"count":21},{"id":1603278000,"open":12111.0,"close":12000.0,"high":12277.9,"low":12000.0,"amount":0.012,"vol":12,"trade_turnover":145.2238,"count":5},{"id":1603281600,"open":12078.0,"close":12497.4,"high":12498.0,"low":12078.0,"amount":0.084,"vol":84,"trade_turnover":1040.0504,"count":12},{"id":1603285200,"open":12495.6,"close":12373.5,"high":12495.6,"low":12282.9,"amount":1.122,"vol":1122,"trade_turnover":13905.3124,"count":112},{"id":1603288800,"open":12412.9,"close":12689.9,"high":12807.6,"low":12358.1,"amount":5.29,"vol":5290,"trade_turnover":66852.128,"count":155},{"id":1603292400,"open":12692.8,"close":12701.9,"high":12778.7,"low":12573.2,"amount":1.174,"vol":1174,"trade_turnover":14907.367,"count":113},{"id":1603296000,"open":12679.7,"close":12835.9,"high":12920.9,"low":12624.8,"amount":1.156,"vol":1156,"trade_turnover":14802.449,"count":115},{"id":1603299600,"open":12848.3,"close":12754.2,"high":12908.3,"low":12687.5,"amount":1.12,"vol":1120,"trade_turnover":14345.7324,"count":115},{"id":1603303200,"open":12743.7,"close":12740.2,"high":12849.0,"low":12668.3,"amount":1.106,"vol":1106,"trade_turnover":14105.3504,"count":114},{"id":1603306800,"open":12729.5,"close":12650.3,"high":12843.1,"low":12597.2,"amount":1.032,"vol":1032,"trade_turnover":13125.4568,"count":112},{"id":1603310400,"open":12666.8,"close":12807.0,"high":12848.4,"low":12610.2,"amount":1.154,"vol":1154,"trade_turnover":14680.638,"count":116},{"id":1603314000,"open":12866.0,"close":12938.9,"high":13005.1,"low":12748.2,"amount":1.164,"vol":1164,"trade_turnover":14976.9366,"count":114},{"id":1603317600,"open":12921.0,"close":13122.0,"high":13211.2,"low":12865.7,"amount":1.174,"vol":1174,"trade_turnover":15285.2446,"count":114},{"id":1603321200,"open":13153.2,"close":12829.8,"high":13173.2,"low":12688.6,"amount":1.172,"vol":1172,"trade_turnover":15060.9938,"count":117},{"id":1603324800,"open":12793.1,"close":12885.9,"high":12988.1,"low":12764.4,"amount":1.17,"vol":1170,"trade_turnover":15046.2046,"count":117},{"id":1603328400,"open":12860.4,"close":12757.5,"high":12972.6,"low":12757.5,"amount":1.158,"vol":1158,"trade_turnover":14882.4656,"count":118},{"id":1603332000,"open":12824.1,"close":12788.8,"high":12848.0,"low":12729.0,"amount":1.124,"vol":1124,"trade_turnover":14368.7948,"count":115},{"id":1603335600,"open":12791.7,"close":12767.2,"high":12834.4,"low":12729.0,"amount":1.194,"vol":1194,"trade_turnover":15268.9298,"count":111},{"id":1603339200,"open":12729.0,"close":12762.2,"high":12778.3,"low":12729.0,"amount":1.152,"vol":1152,"trade_turnover":14695.4876,"count":115},{"id":1603342800,"open":12763.1,"close":12813.8,"high":12842.0,"low":12730.6,"amount":1.21,"vol":1210,"trade_turnover":15440.8162,"count":119},{"id":1603346400,"open":12795.0,"close":12729.1,"high":12795.0,"low":12728.0,"amount":1.188,"vol":1188,"trade_turnover":15128.0098,"count":123},{"id":1603350000,"open":12728.6,"close":12730.6,"high":12730.6,"low":12728.3,"amount":1.266,"vol":1266,"trade_turnover":16115.1306,"count":112},{"id":1603353600,"open":12730.3,"close":12770.1,"high":12921.5,"low":12729.9,"amount":1.35,"vol":1350,"trade_turnover":17233.7326,"count":127},{"id":1603357200,"open":12824.9,"close":12780.4,"high":12872.1,"low":12760.1,"amount":0.98,"vol":980,"trade_turnover":12553.9826,"count":99},{"id":1603360800,"open":12784.9,"close":12934.2,"high":13002.7,"low":12775.6,"amount":0.266,"vol":266,"trade_turnover":3415.023,"count":30},{"id":1603364400,"open":12977.0,"close":13045.0,"high":13057.0,"low":12886.6,"amount":1.004,"vol":1004,"trade_turnover":13020.8576,"count":117},{"id":1603368000,"open":12958.5,"close":12847.9,"high":12973.4,"low":12751.6,"amount":1.134,"vol":1134,"trade_turnover":14594.2752,"count":111},{"id":1603371600,"open":12882.7,"close":12931.0,"high":13000.8,"low":12743.0,"amount":1.152,"vol":1152,"trade_turnover":14877.7314,"count":114},{"id":1603375200,"open":12890.4,"close":12917.8,"high":12995.3,"low":12783.9,"amount":1.182,"vol":1182,"trade_turnover":15224.4716,"count":115},{"id":1603378800,"open":12918.8,"close":12953.0,"high":13031.2,"low":12817.9,"amount":1.176,"vol":1176,"trade_turnover":15197.208,"count":117},{"id":1603382400,"open":12923.1,"close":13055.6,"high":13100.2,"low":12865.6,"amount":1.146,"vol":1146,"trade_turnover":14851.9604,"count":119},{"id":1603386000,"open":12967.6,"close":13082.7,"high":13105.7,"low":12835.5,"amount":1.534,"vol":1534,"trade_turnover":19927.8288,"count":124},{"id":1603389600,"open":13020.4,"close":13016.4,"high":13115.0,"low":12938.7,"amount":1.268,"vol":1268,"trade_turnover":16505.4738,"count":117},{"id":1603393200,"open":13028.3,"close":12970.6,"high":13171.2,"low":12961.8,"amount":1.13,"vol":1130,"trade_turnover":14762.952,"count":112},{"id":1603396800,"open":13016.7,"close":13089.3,"high":13216.1,"low":12998.5,"amount":1.206,"vol":1206,"trade_turnover":15807.1226,"count":117},{"id":1603400400,"open":13136.0,"close":13092.0,"high":13203.7,"low":12932.9,"amount":1.332,"vol":1332,"trade_turnover":17423.4422,"count":114},{"id":1603404000,"open":13119.4,"close":13055.9,"high":13250.5,"low":12984.7,"amount":1.21,"vol":1210,"trade_turnover":15876.0632,"count":114},{"id":1603407600,"open":13059.4,"close":12890.4,"high":13126.5,"low":12857.2,"amount":1.286,"vol":1286,"trade_turnover":16688.422,"count":116},{"id":1603411200,"open":12929.7,"close":12892.2,"high":12994.0,"low":12751.6,"amount":1.502,"vol":1502,"trade_turnover":19331.1596,"count":131},{"id":1603414800,"open":12921.7,"close":12898.3,"high":13003.2,"low":12786.0,"amount":1.386,"vol":1386,"trade_turnover":17904.8902,"count":121},{"id":1603418400,"open":12951.6,"close":12975.1,"high":13054.0,"low":12800.7,"amount":1.416,"vol":1416,"trade_turnover":18306.6204,"count":122},{"id":1603422000,"open":12967.3,"close":12947.0,"high":13030.7,"low":12875.0,"amount":1.19,"vol":1190,"trade_turnover":15409.7984,"count":118},{"id":1603425600,"open":12925.2,"close":12852.0,"high":13047.3,"low":12832.8,"amount":1.022,"vol":1022,"trade_turnover":13214.4388,"count":127},{"id":1603429200,"open":12859.0,"close":12931.1,"high":12991.7,"low":12841.2,"amount":0.478,"vol":478,"trade_turnover":6180.2486,"count":118},{"id":1603432800,"open":12935.9,"close":12939.6,"high":13014.1,"low":12871.9,"amount":0.522,"vol":522,"trade_turnover":6759.0324,"count":132},{"id":1603436400,"open":12923.1,"close":12925.4,"high":12998.9,"low":12917.1,"amount":0.476,"vol":476,"trade_turnover":6163.3118,"count":118},{"id":1603440000,"open":12942.2,"close":12962.6,"high":13014.0,"low":12916.1,"amount":0.508,"vol":508,"trade_turnover":6585.3656,"count":122},{"id":1603443600,"open":12970.5,"close":12926.4,"high":13012.5,"low":12909.9,"amount":0.564,"vol":564,"trade_turnover":7308.8828,"count":124},{"id":1603447200,"open":13001.2,"close":13007.7,"high":13059.5,"low":12925.7,"amount":0.536,"vol":536,"trade_turnover":6957.8796,"count":124},{"id":1603450800,"open":13025.4,"close":12970.6,"high":13078.4,"low":12906.5,"amount":0.486,"vol":486,"trade_turnover":6326.1434,"count":122},{"id":1603454400,"open":12963.9,"close":12935.4,"high":13025.0,"low":12850.8,"amount":0.494,"vol":494,"trade_turnover":6396.0984,"count":117},{"id":1603458000,"open":12913.3,"close":12951.7,"high":13043.3,"low":12911.0,"amount":0.466,"vol":466,"trade_turnover":6049.1412,"count":117},{"id":1603461600,"open":12999.6,"close":12858.8,"high":13006.4,"low":12840.4,"amount":0.46,"vol":460,"trade_turnover":5941.815,"count":116},{"id":1603465200,"open":12885.7,"close":12881.9,"high":12932.9,"low":12826.5,"amount":0.492,"vol":492,"trade_turnover":6340.214,"count":117},{"id":1603468800,"open":12854.4,"close":12784.1,"high":12933.5,"low":12744.4,"amount":0.484,"vol":484,"trade_turnover":6205.4138,"count":123},{"id":1603472400,"open":12832.3,"close":12847.7,"high":12893.1,"low":12730.1,"amount":0.562,"vol":562,"trade_turnover":7218.9184,"count":152},{"id":1603476000,"open":12874.1,"close":12915.7,"high":12939.3,"low":12751.4,"amount":0.53,"vol":530,"trade_turnover":6825.7004,"count":128},{"id":1603479600,"open":12867.9,"close":12972.9,"high":12972.9,"low":12786.6,"amount":0.444,"vol":444,"trade_turnover":5727.7452,"count":117},{"id":1603483200,"open":12956.7,"close":12991.6,"high":13002.2,"low":12842.9,"amount":0.492,"vol":492,"trade_turnover":6375.1566,"count":116},{"id":1603486800,"open":13004.3,"close":12943.5,"high":13004.3,"low":12936.6,"amount":0.5,"vol":500,"trade_turnover":6485.468,"count":125},{"id":1603490400,"open":12923.6,"close":12989.2,"high":13010.3,"low":12884.7,"amount":0.492,"vol":492,"trade_turnover":6376.1492,"count":120},{"id":1603494000,"open":12974.9,"close":12884.6,"high":13024.4,"low":12884.6,"amount":0.51,"vol":510,"trade_turnover":6622.3406,"count":121},{"id":1603497600,"open":12973.7,"close":12953.9,"high":13018.3,"low":12811.1,"amount":0.488,"vol":488,"trade_turnover":6317.7938,"count":120},{"id":1603501200,"open":12927.5,"close":12934.2,"high":13018.1,"low":12872.8,"amount":0.482,"vol":482,"trade_turnover":6242.4178,"count":117},{"id":1603504800,"open":12971.9,"close":12989.1,"high":13003.9,"low":12903.3,"amount":0.484,"vol":484,"trade_turnover":6278.1756,"count":117},{"id":1603508400,"open":13000.1,"close":12975.9,"high":13013.4,"low":12938.3,"amount":0.474,"vol":474,"trade_turnover":6157.7096,"count":122},{"id":1603512000,"open":12989.7,"close":12963.3,"high":13009.4,"low":12905.5,"amount":0.526,"vol":526,"trade_turnover":6831.5658,"count":124},{"id":1603515600,"open":12910.5,"close":12989.7,"high":13041.8,"low":12875.3,"amount":0.522,"vol":522,"trade_turnover":6768.8994,"count":127},{"id":1603519200,"open":12994.7,"close":13003.6,"high":13058.1,"low":12908.8,"amount":0.49,"vol":490,"trade_turnover":6370.5714,"count":120},{"id":1603522800,"open":13011.9,"close":13004.2,"high":13037.8,"low":12981.7,"amount":0.478,"vol":478,"trade_turnover":6218.9722,"count":120},{"id":1603526400,"open":13003.0,"close":12998.2,"high":13030.6,"low":12899.4,"amount":0.52,"vol":520,"trade_turnover":6754.958,"count":124},{"id":1603530000,"open":12998.2,"close":12990.6,"high":13020.3,"low":12893.6,"amount":0.454,"vol":454,"trade_turnover":5891.0574,"count":115},{"id":1603533600,"open":12996.4,"close":13030.1,"high":13059.1,"low":12913.2,"amount":0.502,"vol":502,"trade_turnover":6525.9004,"count":124},{"id":1603537200,"open":12988.4,"close":13033.2,"high":13068.3,"low":12940.2,"amount":0.468,"vol":468,"trade_turnover":6091.0376,"count":119},{"id":1603540800,"open":13035.3,"close":13006.5,"high":13071.8,"low":12978.9,"amount":0.468,"vol":468,"trade_turnover":6102.5902,"count":123},{"id":1603544400,"open":13038.8,"close":12985.9,"high":13066.7,"low":12928.1,"amount":0.534,"vol":534,"trade_turnover":6950.4268,"count":123},{"id":1603548000,"open":12986.3,"close":13042.0,"high":13100.1,"low":12960.5,"amount":0.47,"vol":470,"trade_turnover":6124.2178,"count":100},{"id":1603551600,"open":13038.4,"close":13102.2,"high":13196.5,"low":13038.4,"amount":0.456,"vol":456,"trade_turnover":5989.6362,"count":120},{"id":1603555200,"open":13136.8,"close":13052.7,"high":13176.6,"low":12984.6,"amount":0.458,"vol":458,"trade_turnover":5976.331,"count":121},{"id":1603558800,"open":13006.2,"close":13177.8,"high":13177.8,"low":13003.2,"amount":0.452,"vol":452,"trade_turnover":5911.7058,"count":118},{"id":1603562400,"open":13127.7,"close":13080.8,"high":13170.7,"low":13023.0,"amount":0.468,"vol":468,"trade_turnover":6122.375,"count":119},{"id":1603566000,"open":13040.7,"close":13148.4,"high":13179.3,"low":13014.2,"amount":0.468,"vol":468,"trade_turnover":6126.4278,"count":120},{"id":1603569600,"open":13073.5,"close":13090.1,"high":13179.6,"low":12992.5,"amount":0.47,"vol":470,"trade_turnover":6151.4758,"count":119},{"id":1603573200,"open":13035.4,"close":12993.9,"high":13148.7,"low":12980.7,"amount":0.458,"vol":458,"trade_turnover":5981.071,"count":117},{"id":1603576800,"open":13040.7,"close":13041.1,"high":13112.1,"low":12975.6,"amount":0.478,"vol":478,"trade_turnover":6225.4216,"count":118},{"id":1603580400,"open":13012.6,"close":13184.3,"high":13184.3,"low":13009.3,"amount":0.472,"vol":472,"trade_turnover":6173.4244,"count":118},{"id":1603584000,"open":13080.8,"close":13154.3,"high":13170.4,"low":13007.7,"amount":0.46,"vol":460,"trade_turnover":6024.09,"count":115},{"id":1603587600,"open":13092.0,"close":13196.1,"high":13196.8,"low":13024.0,"amount":0.398,"vol":398,"trade_turnover":5217.5364,"count":102},{"id":1603591200,"open":13124.7,"close":13082.4,"high":13175.1,"low":13035.0,"amount":0.476,"vol":476,"trade_turnover":6228.6596,"count":120},{"id":1603594800,"open":13049.1,"close":13259.0,"high":13383.8,"low":13049.1,"amount":0.578,"vol":578,"trade_turnover":7629.3886,"count":137},{"id":1603598400,"open":13277.0,"close":13243.4,"high":13369.0,"low":13216.0,"amount":0.47,"vol":470,"trade_turnover":6247.955,"count":122},{"id":1603602000,"open":13285.3,"close":13017.3,"high":13353.3,"low":13010.1,"amount":0.61,"vol":610,"trade_turnover":8048.8598,"count":134},{"id":1603605600,"open":13022.5,"close":13060.3,"high":13105.7,"low":13018.2,"amount":0.486,"vol":486,"trade_turnover":6344.1474,"count":118},{"id":1603609200,"open":13048.5,"close":13078.1,"high":13112.1,"low":13022.0,"amount":0.464,"vol":464,"trade_turnover":6061.5416,"count":120},{"id":1603612800,"open":13077.2,"close":13046.0,"high":13091.0,"low":13017.2,"amount":0.464,"vol":464,"trade_turnover":6055.3734,"count":120},{"id":1603616400,"open":13065.1,"close":13040.8,"high":13084.0,"low":13014.2,"amount":0.478,"vol":478,"trade_turnover":6235.7882,"count":117},{"id":1603620000,"open":13047.1,"close":13028.5,"high":13064.2,"low":13010.2,"amount":0.478,"vol":478,"trade_turnover":6232.2428,"count":125},{"id":1603623600,"open":13061.5,"close":12897.6,"high":13061.5,"low":12852.9,"amount":0.534,"vol":534,"trade_turnover":6918.1226,"count":123},{"id":1603627200,"open":12908.3,"close":12964.3,"high":13069.7,"low":12893.2,"amount":0.444,"vol":444,"trade_turnover":5755.8712,"count":117},{"id":1603630800,"open":13001.3,"close":12949.3,"high":13071.9,"low":12891.8,"amount":0.498,"vol":498,"trade_turnover":6465.078,"count":119},{"id":1603634400,"open":12975.8,"close":12946.8,"high":13077.7,"low":12900.0,"amount":0.468,"vol":468,"trade_turnover":6075.4554,"count":116},{"id":1603638000,"open":12975.2,"close":12883.3,"high":13069.1,"low":12883.3,"amount":0.47,"vol":470,"trade_turnover":6097.1072,"count":119},{"id":1603641600,"open":12916.2,"close":12978.7,"high":13067.9,"low":12877.5,"amount":0.482,"vol":482,"trade_turnover":6256.4472,"count":118},{"id":1603645200,"open":13008.0,"close":13004.4,"high":13087.5,"low":12922.7,"amount":0.47,"vol":470,"trade_turnover":6108.3892,"count":117},{"id":1603648800,"open":12972.8,"close":12957.2,"high":13067.6,"low":12893.6,"amount":0.468,"vol":468,"trade_turnover":6079.1484,"count":118},{"id":1603652400,"open":12996.5,"close":13021.8,"high":13066.9,"low":12916.6,"amount":0.442,"vol":442,"trade_turnover":5746.5548,"count":118},{"id":1603656000,"open":12992.9,"close":12985.4,"high":13081.5,"low":12944.9,"amount":0.508,"vol":508,"trade_turnover":6616.9872,"count":120},{"id":1603659600,"open":12999.9,"close":13011.2,"high":13068.6,"low":12921.4,"amount":0.508,"vol":508,"trade_turnover":6614.816,"count":122},{"id":1603663200,"open":12979.6,"close":12959.4,"high":13073.8,"low":12911.9,"amount":0.486,"vol":486,"trade_turnover":6320.907,"count":121},{"id":1603666800,"open":12963.4,"close":13032.1,"high":13085.2,"low":12927.8,"amount":0.452,"vol":452,"trade_turnover":5878.6442,"count":113},{"id":1603670400,"open":12964.2,"close":13001.0,"high":13076.7,"low":12918.3,"amount":0.482,"vol":482,"trade_turnover":6263.698,"count":121},{"id":1603674000,"open":13040.0,"close":13053.7,"high":13096.4,"low":12991.2,"amount":0.478,"vol":478,"trade_turnover":6232.2328,"count":124},{"id":1603677600,"open":13060.6,"close":13064.4,"high":13185.7,"low":12985.1,"amount":0.488,"vol":488,"trade_turnover":6387.534,"count":121},{"id":1603681200,"open":13032.3,"close":13092.8,"high":13187.2,"low":12984.1,"amount":0.486,"vol":486,"trade_turnover":6369.0272,"count":135},{"id":1603684800,"open":13092.0,"close":13132.6,"high":13181.6,"low":12962.3,"amount":0.51,"vol":510,"trade_turnover":6679.829,"count":131},{"id":1603688400,"open":13129.2,"close":13092.1,"high":13205.3,"low":13025.3,"amount":0.506,"vol":506,"trade_turnover":6641.2128,"count":126},{"id":1603692000,"open":13121.8,"close":13071.4,"high":13188.1,"low":12989.8,"amount":1.616,"vol":1616,"trade_turnover":21170.8224,"count":141},{"id":1603695600,"open":13061.0,"close":13038.7,"high":13100.0,"low":12965.2,"amount":3.746,"vol":3746,"trade_turnover":48924.8902,"count":110},{"id":1603699200,"open":13030.9,"close":13039.3,"high":13102.0,"low":12852.8,"amount":8.966,"vol":8966,"trade_turnover":116525.5534,"count":173},{"id":1603702800,"open":13047.1,"close":13075.9,"high":13088.4,"low":13039.8,"amount":4.48,"vol":4480,"trade_turnover":58521.1714,"count":124},{"id":1603706400,"open":13072.1,"close":13100.0,"high":13100.0,"low":13060.2,"amount":4.272,"vol":4272,"trade_turnover":55895.9778,"count":130},{"id":1603710000,"open":13100.0,"close":13138.4,"high":13159.0,"low":13100.0,"amount":29.798,"vol":29798,"trade_turnover":391138.024,"count":230},{"id":1603713600,"open":13138.8,"close":13149.8,"high":13200.0,"low":13100.0,"amount":5.154,"vol":5154,"trade_turnover":67694.652,"count":188},{"id":1603717200,"open":13150.0,"close":13205.8,"high":13351.5,"low":13133.1,"amount":35.608,"vol":35608,"trade_turnover":472780.3394,"count":328},{"id":1603720800,"open":13203.0,"close":13166.1,"high":13280.0,"low":13144.1,"amount":31.748,"vol":31748,"trade_turnover":418744.5588,"count":235},{"id":1603724400,"open":13159.0,"close":12978.0,"high":13165.2,"low":12903.8,"amount":36.53,"vol":36530,"trade_turnover":476940.3296,"count":384},{"id":1603728000,"open":12965.0,"close":12869.6,"high":13069.8,"low":12850.5,"amount":35.018,"vol":35018,"trade_turnover":453288.918,"count":323},{"id":1603731600,"open":12879.2,"close":12873.8,"high":12941.5,"low":12583.9,"amount":92.628,"vol":92628,"trade_turnover":1185973.467,"count":560},{"id":1603735200,"open":12856.2,"close":12946.8,"high":12954.5,"low":12820.4,"amount":4.302,"vol":4302,"trade_turnover":55481.0054,"count":128},{"id":1603738800,"open":12945.6,"close":12953.4,"high":12953.5,"low":12914.1,"amount":13.83,"vol":13830,"trade_turnover":179112.1598,"count":118},{"id":1603742400,"open":12953.5,"close":12983.4,"high":13007.5,"low":12953.5,"amount":17.172,"vol":17172,"trade_turnover":223230.2122,"count":132},{"id":1603746000,"open":12983.1,"close":12993.8,"high":13007.5,"low":12982.7,"amount":3.212,"vol":3212,"trade_turnover":41767.8906,"count":59},{"id":1603749600,"open":13002.1,"close":13007.5,"high":13007.5,"low":12974.0,"amount":1.504,"vol":1504,"trade_turnover":19543.3568,"count":74},{"id":1603753200,"open":13007.5,"close":13033.7,"high":13061.2,"low":13007.5,"amount":3.454,"vol":3454,"trade_turnover":45001.601,"count":101},{"id":1603756800,"open":13029.2,"close":13067.1,"high":13105.0,"low":13028.3,"amount":8.784,"vol":8784,"trade_turnover":114871.8246,"count":98},{"id":1603760400,"open":13074.3,"close":13061.7,"high":13074.4,"low":13051.5,"amount":11.592,"vol":11592,"trade_turnover":151386.9038,"count":66},{"id":1603764000,"open":13061.7,"close":13049.7,"high":13097.6,"low":13040.1,"amount":19.298,"vol":19298,"trade_turnover":252061.019,"count":109},{"id":1603767600,"open":13057.6,"close":13070.4,"high":13080.0,"low":13057.1,"amount":22.992,"vol":22992,"trade_turnover":300453.9788,"count":69},{"id":1603771200,"open":13080.0,"close":13103.3,"high":13175.0,"low":13079.6,"amount":14.396,"vol":14396,"trade_turnover":188461.9156,"count":59},{"id":1603774800,"open":13121.3,"close":13073.6,"high":13121.3,"low":13069.7,"amount":5.058,"vol":5058,"trade_turnover":66201.3552,"count":44},{"id":1603778400,"open":13074.9,"close":13103.4,"high":13149.0,"low":13069.6,"amount":9.106,"vol":9106,"trade_turnover":119104.8906,"count":107},{"id":1603782000,"open":13103.3,"close":13130.0,"high":13169.8,"low":12992.4,"amount":73.95,"vol":73950,"trade_turnover":968195.155,"count":305},{"id":1603785600,"open":13135.1,"close":13123.8,"high":13148.4,"low":13044.0,"amount":18.732,"vol":18732,"trade_turnover":245533.5448,"count":135},{"id":1603789200,"open":13115.5,"close":13131.7,"high":13131.8,"low":13075.7,"amount":13.756,"vol":13756,"trade_turnover":180253.7708,"count":102},{"id":1603792800,"open":13134.8,"close":13216.9,"high":13252.0,"low":13063.4,"amount":154.108,"vol":154108,"trade_turnover":2029983.656,"count":525},{"id":1603796400,"open":13218.8,"close":13395.8,"high":13590.1,"low":13213.5,"amount":170.09,"vol":170090,"trade_turnover":2276279.742,"count":591},{"id":1603800000,"open":13395.9,"close":13376.9,"high":13414.0,"low":13331.7,"amount":48.928,"vol":48928,"trade_turnover":654585.9108,"count":216},{"id":1603803600,"open":13376.5,"close":13384.3,"high":13490.9,"low":13329.8,"amount":63.294,"vol":63294,"trade_turnover":848130.9212,"count":316},{"id":1603807200,"open":13392.6,"close":13398.2,"high":13415.8,"low":13344.8,"amount":12.892,"vol":12892,"trade_turnover":172618.6864,"count":124},{"id":1603810800,"open":13398.2,"close":13598.5,"high":13626.7,"low":13398.2,"amount":93.22,"vol":93220,"trade_turnover":1262695.5466,"count":476},{"id":1603814400,"open":13595.8,"close":13639.9,"high":13639.9,"low":13520.2,"amount":85.45,"vol":85450,"trade_turnover":1161481.4136,"count":435},{"id":1603818000,"open":13640.0,"close":13688.1,"high":13826.7,"low":13589.0,"amount":191.812,"vol":191812,"trade_turnover":2628428.3788,"count":711},{"id":1603821600,"open":13685.0,"close":13630.1,"high":13745.0,"low":13528.2,"amount":65.434,"vol":65434,"trade_turnover":891541.8394,"count":410},{"id":1603825200,"open":13629.4,"close":13637.1,"high":13659.8,"low":13595.4,"amount":5.788,"vol":5788,"trade_turnover":78836.2578,"count":65},{"id":1603828800,"open":13644.4,"close":13616.6,"high":13805.1,"low":13582.6,"amount":163.104,"vol":163104,"trade_turnover":2234040.3544,"count":537},{"id":1603832400,"open":13609.8,"close":13705.5,"high":13753.5,"low":13609.8,"amount":9.884,"vol":9884,"trade_turnover":135406.4752,"count":101},{"id":1603836000,"open":13705.4,"close":13739.9,"high":13739.9,"low":13658.2,"amount":7.436,"vol":7436,"trade_turnover":101840.3508,"count":100},{"id":1603839600,"open":13739.9,"close":13649.6,"high":13794.6,"low":13582.6,"amount":17.086,"vol":17086,"trade_turnover":233971.8448,"count":234},{"id":1603843200,"open":13645.9,"close":13701.7,"high":13745.2,"low":13618.8,"amount":24.108,"vol":24108,"trade_turnover":330206.5694,"count":177},{"id":1603846800,"open":13702.1,"close":13702.6,"high":13725.6,"low":13647.9,"amount":15.892,"vol":15892,"trade_turnover":217816.7008,"count":151},{"id":1603850400,"open":13701.7,"close":13811.6,"high":13832.2,"low":13680.2,"amount":46.548,"vol":46548,"trade_turnover":640636.0352,"count":274},{"id":1603854000,"open":13818.5,"close":13777.0,"high":13820.3,"low":13717.5,"amount":67.896,"vol":67896,"trade_turnover":935838.2238,"count":320},{"id":1603857600,"open":13767.3,"close":13735.7,"high":13807.2,"low":13710.0,"amount":33.156,"vol":33156,"trade_turnover":455941.234,"count":210},{"id":1603861200,"open":13735.5,"close":13715.8,"high":13753.9,"low":13671.3,"amount":32.076,"vol":32076,"trade_turnover":439612.64,"count":198},{"id":1603864800,"open":13715.9,"close":13701.3,"high":13757.0,"low":13694.9,"amount":14.756,"vol":14756,"trade_turnover":202602.5164,"count":122},{"id":1603868400,"open":13701.2,"close":13674.2,"high":13708.7,"low":13550.0,"amount":155.534,"vol":155534,"trade_turnover":2117935.0928,"count":635},{"id":1603872000,"open":13673.0,"close":13691.7,"high":13691.7,"low":13584.0,"amount":29.846,"vol":29846,"trade_turnover":407073.1398,"count":240},{"id":1603875600,"open":13689.3,"close":13587.1,"high":13707.5,"low":13573.5,"amount":104.542,"vol":104542,"trade_turnover":1425079.9344,"count":377},{"id":1603879200,"open":13584.6,"close":13552.7,"high":13618.0,"low":13504.7,"amount":73.818,"vol":73818,"trade_turnover":1001666.0908,"count":358},{"id":1603882800,"open":13552.6,"close":13336.4,"high":13565.4,"low":13330.0,"amount":176.544,"vol":176544,"trade_turnover":2369166.1492,"count":1004},{"id":1603886400,"open":13331.5,"close":13300.3,"high":13385.0,"low":13173.9,"amount":289.73,"vol":289730,"trade_turnover":3846751.7166,"count":968},{"id":1603890000,"open":13300.2,"close":13129.9,"high":13340.0,"low":13122.9,"amount":139.822,"vol":139822,"trade_turnover":1848876.932,"count":612},{"id":1603893600,"open":13123.4,"close":13082.2,"high":13168.2,"low":12915.9,"amount":367.876,"vol":367876,"trade_turnover":4802516.9818,"count":1168},{"id":1603897200,"open":13077.1,"close":13221.2,"high":13235.2,"low":13052.3,"amount":84.044,"vol":84044,"trade_turnover":1106883.1282,"count":375},{"id":1603900800,"open":13218.7,"close":13145.1,"high":13218.7,"low":13050.0,"amount":29.566,"vol":29566,"trade_turnover":388697.4104,"count":244},{"id":1603904400,"open":13145.1,"close":13176.7,"high":13204.9,"low":13006.6,"amount":53.336,"vol":53336,"trade_turnover":700385.2784,"count":299},{"id":1603908000,"open":13171.0,"close":13196.5,"high":13219.6,"low":13131.0,"amount":34.164,"vol":34164,"trade_turnover":450210.5778,"count":218},{"id":1603911600,"open":13200.0,"close":13154.9,"high":13237.4,"low":13145.0,"amount":22.158,"vol":22158,"trade_turnover":292020.0438,"count":185},{"id":1603915200,"open":13154.5,"close":13198.1,"high":13211.8,"low":13147.4,"amount":4.548,"vol":4548,"trade_turnover":59991.1118,"count":75},{"id":1603918800,"open":13193.5,"close":13190.1,"high":13196.5,"low":13100.2,"amount":3.52,"vol":3520,"trade_turnover":46175.428,"count":68},{"id":1603922400,"open":13185.4,"close":13252.0,"high":13267.5,"low":13185.4,"amount":3.122,"vol":3122,"trade_turnover":41304.2018,"count":72},{"id":1603926000,"open":13242.1,"close":13265.9,"high":13282.3,"low":13235.9,"amount":14.768,"vol":14768,"trade_turnover":195689.0764,"count":86},{"id":1603929600,"open":13253.9,"close":13245.1,"high":13294.7,"low":13237.4,"amount":19.968,"vol":19968,"trade_turnover":264834.1944,"count":98},{"id":1603933200,"open":13244.6,"close":13274.2,"high":13285.3,"low":13166.3,"amount":35.282,"vol":35282,"trade_turnover":465789.6302,"count":192},{"id":1603936800,"open":13275.9,"close":13241.1,"high":13277.7,"low":13212.2,"amount":9.748,"vol":9748,"trade_turnover":129016.0684,"count":119},{"id":1603940400,"open":13237.1,"close":13262.5,"high":13262.5,"low":13174.6,"amount":27.3,"vol":27300,"trade_turnover":360589.8982,"count":199},{"id":1603944000,"open":13269.1,"close":13229.5,"high":13277.7,"low":13229.5,"amount":18.904,"vol":18904,"trade_turnover":250713.2812,"count":109},{"id":1603947600,"open":13228.5,"close":13274.8,"high":13274.8,"low":13228.5,"amount":15.822,"vol":15822,"trade_turnover":209781.909,"count":134},{"id":1603951200,"open":13274.8,"close":13255.0,"high":13323.0,"low":13242.3,"amount":91.246,"vol":91246,"trade_turnover":1211271.2788,"count":294},{"id":1603954800,"open":13255.0,"close":13142.4,"high":13269.3,"low":13123.1,"amount":187.622,"vol":187622,"trade_turnover":2478299.7074,"count":506},{"id":1603958400,"open":13145.9,"close":13124.8,"high":13182.4,"low":13094.1,"amount":69.532,"vol":69532,"trade_turnover":914157.2418,"count":226},{"id":1603962000,"open":13129.5,"close":13183.7,"high":13197.1,"low":13129.5,"amount":23.184,"vol":23184,"trade_turnover":305485.9524,"count":141},{"id":1603965600,"open":13184.8,"close":13105.2,"high":13187.5,"low":13053.1,"amount":121.146,"vol":121146,"trade_turnover":1590026.4416,"count":442},{"id":1603969200,"open":13105.1,"close":13060.1,"high":13171.4,"low":13060.1,"amount":47.498,"vol":47498,"trade_turnover":623578.149,"count":262},{"id":1603972800,"open":13056.9,"close":13131.8,"high":13145.8,"low":12977.9,"amount":126.552,"vol":126552,"trade_turnover":1652549.311,"count":481},{"id":1603976400,"open":13131.7,"close":13230.0,"high":13237.2,"low":13102.0,"amount":100.482,"vol":100482,"trade_turnover":1326403.7206,"count":325},{"id":1603980000,"open":13231.0,"close":13420.8,"high":13476.1,"low":13231.0,"amount":253.258,"vol":253258,"trade_turnover":3384941.438,"count":752},{"id":1603983600,"open":13416.0,"close":13420.6,"high":13458.7,"low":13358.7,"amount":64.71,"vol":64710,"trade_turnover":869052.3804,"count":269},{"id":1603987200,"open":13421.9,"close":13535.9,"high":13594.5,"low":13391.8,"amount":120.24,"vol":120240,"trade_turnover":1626567.8278,"count":570}]} +2024-01-18 11:13:00.852 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:41] - 请求 KLine 数据解析之后的数据为:{"wsid":19750305,"data":[{"amount":0.276,"high":12300.0,"vol":276,"low":11715.8,"count":39,"id":1603270800,"close":12196.7,"tradeTurnover":3315.9104,"open":12198.0},{"amount":0.198,"high":12289.9,"vol":198,"low":12111.0,"count":21,"id":1603274400,"close":12277.9,"tradeTurnover":2420.7728,"open":12196.7},{"amount":0.012,"high":12277.9,"vol":12,"low":12000.0,"count":5,"id":1603278000,"close":12000.0,"tradeTurnover":145.2238,"open":12111.0},{"amount":0.084,"high":12498.0,"vol":84,"low":12078.0,"count":12,"id":1603281600,"close":12497.4,"tradeTurnover":1040.0504,"open":12078.0},{"amount":1.122,"high":12495.6,"vol":1122,"low":12282.9,"count":112,"id":1603285200,"close":12373.5,"tradeTurnover":13905.3124,"open":12495.6},{"amount":5.29,"high":12807.6,"vol":5290,"low":12358.1,"count":155,"id":1603288800,"close":12689.9,"tradeTurnover":66852.128,"open":12412.9},{"amount":1.174,"high":12778.7,"vol":1174,"low":12573.2,"count":113,"id":1603292400,"close":12701.9,"tradeTurnover":14907.367,"open":12692.8},{"amount":1.156,"high":12920.9,"vol":1156,"low":12624.8,"count":115,"id":1603296000,"close":12835.9,"tradeTurnover":14802.449,"open":12679.7},{"amount":1.12,"high":12908.3,"vol":1120,"low":12687.5,"count":115,"id":1603299600,"close":12754.2,"tradeTurnover":14345.7324,"open":12848.3},{"amount":1.106,"high":12849.0,"vol":1106,"low":12668.3,"count":114,"id":1603303200,"close":12740.2,"tradeTurnover":14105.3504,"open":12743.7},{"amount":1.032,"high":12843.1,"vol":1032,"low":12597.2,"count":112,"id":1603306800,"close":12650.3,"tradeTurnover":13125.4568,"open":12729.5},{"amount":1.154,"high":12848.4,"vol":1154,"low":12610.2,"count":116,"id":1603310400,"close":12807.0,"tradeTurnover":14680.638,"open":12666.8},{"amount":1.164,"high":13005.1,"vol":1164,"low":12748.2,"count":114,"id":1603314000,"close":12938.9,"tradeTurnover":14976.9366,"open":12866.0},{"amount":1.174,"high":13211.2,"vol":1174,"low":12865.7,"count":114,"id":1603317600,"close":13122.0,"tradeTurnover":15285.2446,"open":12921.0},{"amount":1.172,"high":13173.2,"vol":1172,"low":12688.6,"count":117,"id":1603321200,"close":12829.8,"tradeTurnover":15060.9938,"open":13153.2},{"amount":1.17,"high":12988.1,"vol":1170,"low":12764.4,"count":117,"id":1603324800,"close":12885.9,"tradeTurnover":15046.2046,"open":12793.1},{"amount":1.158,"high":12972.6,"vol":1158,"low":12757.5,"count":118,"id":1603328400,"close":12757.5,"tradeTurnover":14882.4656,"open":12860.4},{"amount":1.124,"high":12848.0,"vol":1124,"low":12729.0,"count":115,"id":1603332000,"close":12788.8,"tradeTurnover":14368.7948,"open":12824.1},{"amount":1.194,"high":12834.4,"vol":1194,"low":12729.0,"count":111,"id":1603335600,"close":12767.2,"tradeTurnover":15268.9298,"open":12791.7},{"amount":1.152,"high":12778.3,"vol":1152,"low":12729.0,"count":115,"id":1603339200,"close":12762.2,"tradeTurnover":14695.4876,"open":12729.0},{"amount":1.21,"high":12842.0,"vol":1210,"low":12730.6,"count":119,"id":1603342800,"close":12813.8,"tradeTurnover":15440.8162,"open":12763.1},{"amount":1.188,"high":12795.0,"vol":1188,"low":12728.0,"count":123,"id":1603346400,"close":12729.1,"tradeTurnover":15128.0098,"open":12795.0},{"amount":1.266,"high":12730.6,"vol":1266,"low":12728.3,"count":112,"id":1603350000,"close":12730.6,"tradeTurnover":16115.1306,"open":12728.6},{"amount":1.35,"high":12921.5,"vol":1350,"low":12729.9,"count":127,"id":1603353600,"close":12770.1,"tradeTurnover":17233.7326,"open":12730.3},{"amount":0.98,"high":12872.1,"vol":980,"low":12760.1,"count":99,"id":1603357200,"close":12780.4,"tradeTurnover":12553.9826,"open":12824.9},{"amount":0.266,"high":13002.7,"vol":266,"low":12775.6,"count":30,"id":1603360800,"close":12934.2,"tradeTurnover":3415.023,"open":12784.9},{"amount":1.004,"high":13057.0,"vol":1004,"low":12886.6,"count":117,"id":1603364400,"close":13045.0,"tradeTurnover":13020.8576,"open":12977.0},{"amount":1.134,"high":12973.4,"vol":1134,"low":12751.6,"count":111,"id":1603368000,"close":12847.9,"tradeTurnover":14594.2752,"open":12958.5},{"amount":1.152,"high":13000.8,"vol":1152,"low":12743.0,"count":114,"id":1603371600,"close":12931.0,"tradeTurnover":14877.7314,"open":12882.7},{"amount":1.182,"high":12995.3,"vol":1182,"low":12783.9,"count":115,"id":1603375200,"close":12917.8,"tradeTurnover":15224.4716,"open":12890.4},{"amount":1.176,"high":13031.2,"vol":1176,"low":12817.9,"count":117,"id":1603378800,"close":12953.0,"tradeTurnover":15197.208,"open":12918.8},{"amount":1.146,"high":13100.2,"vol":1146,"low":12865.6,"count":119,"id":1603382400,"close":13055.6,"tradeTurnover":14851.9604,"open":12923.1},{"amount":1.534,"high":13105.7,"vol":1534,"low":12835.5,"count":124,"id":1603386000,"close":13082.7,"tradeTurnover":19927.8288,"open":12967.6},{"amount":1.268,"high":13115.0,"vol":1268,"low":12938.7,"count":117,"id":1603389600,"close":13016.4,"tradeTurnover":16505.4738,"open":13020.4},{"amount":1.13,"high":13171.2,"vol":1130,"low":12961.8,"count":112,"id":1603393200,"close":12970.6,"tradeTurnover":14762.952,"open":13028.3},{"amount":1.206,"high":13216.1,"vol":1206,"low":12998.5,"count":117,"id":1603396800,"close":13089.3,"tradeTurnover":15807.1226,"open":13016.7},{"amount":1.332,"high":13203.7,"vol":1332,"low":12932.9,"count":114,"id":1603400400,"close":13092.0,"tradeTurnover":17423.4422,"open":13136.0},{"amount":1.21,"high":13250.5,"vol":1210,"low":12984.7,"count":114,"id":1603404000,"close":13055.9,"tradeTurnover":15876.0632,"open":13119.4},{"amount":1.286,"high":13126.5,"vol":1286,"low":12857.2,"count":116,"id":1603407600,"close":12890.4,"tradeTurnover":16688.422,"open":13059.4},{"amount":1.502,"high":12994.0,"vol":1502,"low":12751.6,"count":131,"id":1603411200,"close":12892.2,"tradeTurnover":19331.1596,"open":12929.7},{"amount":1.386,"high":13003.2,"vol":1386,"low":12786.0,"count":121,"id":1603414800,"close":12898.3,"tradeTurnover":17904.8902,"open":12921.7},{"amount":1.416,"high":13054.0,"vol":1416,"low":12800.7,"count":122,"id":1603418400,"close":12975.1,"tradeTurnover":18306.6204,"open":12951.6},{"amount":1.19,"high":13030.7,"vol":1190,"low":12875.0,"count":118,"id":1603422000,"close":12947.0,"tradeTurnover":15409.7984,"open":12967.3},{"amount":1.022,"high":13047.3,"vol":1022,"low":12832.8,"count":127,"id":1603425600,"close":12852.0,"tradeTurnover":13214.4388,"open":12925.2},{"amount":0.478,"high":12991.7,"vol":478,"low":12841.2,"count":118,"id":1603429200,"close":12931.1,"tradeTurnover":6180.2486,"open":12859.0},{"amount":0.522,"high":13014.1,"vol":522,"low":12871.9,"count":132,"id":1603432800,"close":12939.6,"tradeTurnover":6759.0324,"open":12935.9},{"amount":0.476,"high":12998.9,"vol":476,"low":12917.1,"count":118,"id":1603436400,"close":12925.4,"tradeTurnover":6163.3118,"open":12923.1},{"amount":0.508,"high":13014.0,"vol":508,"low":12916.1,"count":122,"id":1603440000,"close":12962.6,"tradeTurnover":6585.3656,"open":12942.2},{"amount":0.564,"high":13012.5,"vol":564,"low":12909.9,"count":124,"id":1603443600,"close":12926.4,"tradeTurnover":7308.8828,"open":12970.5},{"amount":0.536,"high":13059.5,"vol":536,"low":12925.7,"count":124,"id":1603447200,"close":13007.7,"tradeTurnover":6957.8796,"open":13001.2},{"amount":0.486,"high":13078.4,"vol":486,"low":12906.5,"count":122,"id":1603450800,"close":12970.6,"tradeTurnover":6326.1434,"open":13025.4},{"amount":0.494,"high":13025.0,"vol":494,"low":12850.8,"count":117,"id":1603454400,"close":12935.4,"tradeTurnover":6396.0984,"open":12963.9},{"amount":0.466,"high":13043.3,"vol":466,"low":12911.0,"count":117,"id":1603458000,"close":12951.7,"tradeTurnover":6049.1412,"open":12913.3},{"amount":0.46,"high":13006.4,"vol":460,"low":12840.4,"count":116,"id":1603461600,"close":12858.8,"tradeTurnover":5941.815,"open":12999.6},{"amount":0.492,"high":12932.9,"vol":492,"low":12826.5,"count":117,"id":1603465200,"close":12881.9,"tradeTurnover":6340.214,"open":12885.7},{"amount":0.484,"high":12933.5,"vol":484,"low":12744.4,"count":123,"id":1603468800,"close":12784.1,"tradeTurnover":6205.4138,"open":12854.4},{"amount":0.562,"high":12893.1,"vol":562,"low":12730.1,"count":152,"id":1603472400,"close":12847.7,"tradeTurnover":7218.9184,"open":12832.3},{"amount":0.53,"high":12939.3,"vol":530,"low":12751.4,"count":128,"id":1603476000,"close":12915.7,"tradeTurnover":6825.7004,"open":12874.1},{"amount":0.444,"high":12972.9,"vol":444,"low":12786.6,"count":117,"id":1603479600,"close":12972.9,"tradeTurnover":5727.7452,"open":12867.9},{"amount":0.492,"high":13002.2,"vol":492,"low":12842.9,"count":116,"id":1603483200,"close":12991.6,"tradeTurnover":6375.1566,"open":12956.7},{"amount":0.5,"high":13004.3,"vol":500,"low":12936.6,"count":125,"id":1603486800,"close":12943.5,"tradeTurnover":6485.468,"open":13004.3},{"amount":0.492,"high":13010.3,"vol":492,"low":12884.7,"count":120,"id":1603490400,"close":12989.2,"tradeTurnover":6376.1492,"open":12923.6},{"amount":0.51,"high":13024.4,"vol":510,"low":12884.6,"count":121,"id":1603494000,"close":12884.6,"tradeTurnover":6622.3406,"open":12974.9},{"amount":0.488,"high":13018.3,"vol":488,"low":12811.1,"count":120,"id":1603497600,"close":12953.9,"tradeTurnover":6317.7938,"open":12973.7},{"amount":0.482,"high":13018.1,"vol":482,"low":12872.8,"count":117,"id":1603501200,"close":12934.2,"tradeTurnover":6242.4178,"open":12927.5},{"amount":0.484,"high":13003.9,"vol":484,"low":12903.3,"count":117,"id":1603504800,"close":12989.1,"tradeTurnover":6278.1756,"open":12971.9},{"amount":0.474,"high":13013.4,"vol":474,"low":12938.3,"count":122,"id":1603508400,"close":12975.9,"tradeTurnover":6157.7096,"open":13000.1},{"amount":0.526,"high":13009.4,"vol":526,"low":12905.5,"count":124,"id":1603512000,"close":12963.3,"tradeTurnover":6831.5658,"open":12989.7},{"amount":0.522,"high":13041.8,"vol":522,"low":12875.3,"count":127,"id":1603515600,"close":12989.7,"tradeTurnover":6768.8994,"open":12910.5},{"amount":0.49,"high":13058.1,"vol":490,"low":12908.8,"count":120,"id":1603519200,"close":13003.6,"tradeTurnover":6370.5714,"open":12994.7},{"amount":0.478,"high":13037.8,"vol":478,"low":12981.7,"count":120,"id":1603522800,"close":13004.2,"tradeTurnover":6218.9722,"open":13011.9},{"amount":0.52,"high":13030.6,"vol":520,"low":12899.4,"count":124,"id":1603526400,"close":12998.2,"tradeTurnover":6754.958,"open":13003.0},{"amount":0.454,"high":13020.3,"vol":454,"low":12893.6,"count":115,"id":1603530000,"close":12990.6,"tradeTurnover":5891.0574,"open":12998.2},{"amount":0.502,"high":13059.1,"vol":502,"low":12913.2,"count":124,"id":1603533600,"close":13030.1,"tradeTurnover":6525.9004,"open":12996.4},{"amount":0.468,"high":13068.3,"vol":468,"low":12940.2,"count":119,"id":1603537200,"close":13033.2,"tradeTurnover":6091.0376,"open":12988.4},{"amount":0.468,"high":13071.8,"vol":468,"low":12978.9,"count":123,"id":1603540800,"close":13006.5,"tradeTurnover":6102.5902,"open":13035.3},{"amount":0.534,"high":13066.7,"vol":534,"low":12928.1,"count":123,"id":1603544400,"close":12985.9,"tradeTurnover":6950.4268,"open":13038.8},{"amount":0.47,"high":13100.1,"vol":470,"low":12960.5,"count":100,"id":1603548000,"close":13042.0,"tradeTurnover":6124.2178,"open":12986.3},{"amount":0.456,"high":13196.5,"vol":456,"low":13038.4,"count":120,"id":1603551600,"close":13102.2,"tradeTurnover":5989.6362,"open":13038.4},{"amount":0.458,"high":13176.6,"vol":458,"low":12984.6,"count":121,"id":1603555200,"close":13052.7,"tradeTurnover":5976.331,"open":13136.8},{"amount":0.452,"high":13177.8,"vol":452,"low":13003.2,"count":118,"id":1603558800,"close":13177.8,"tradeTurnover":5911.7058,"open":13006.2},{"amount":0.468,"high":13170.7,"vol":468,"low":13023.0,"count":119,"id":1603562400,"close":13080.8,"tradeTurnover":6122.375,"open":13127.7},{"amount":0.468,"high":13179.3,"vol":468,"low":13014.2,"count":120,"id":1603566000,"close":13148.4,"tradeTurnover":6126.4278,"open":13040.7},{"amount":0.47,"high":13179.6,"vol":470,"low":12992.5,"count":119,"id":1603569600,"close":13090.1,"tradeTurnover":6151.4758,"open":13073.5},{"amount":0.458,"high":13148.7,"vol":458,"low":12980.7,"count":117,"id":1603573200,"close":12993.9,"tradeTurnover":5981.071,"open":13035.4},{"amount":0.478,"high":13112.1,"vol":478,"low":12975.6,"count":118,"id":1603576800,"close":13041.1,"tradeTurnover":6225.4216,"open":13040.7},{"amount":0.472,"high":13184.3,"vol":472,"low":13009.3,"count":118,"id":1603580400,"close":13184.3,"tradeTurnover":6173.4244,"open":13012.6},{"amount":0.46,"high":13170.4,"vol":460,"low":13007.7,"count":115,"id":1603584000,"close":13154.3,"tradeTurnover":6024.09,"open":13080.8},{"amount":0.398,"high":13196.8,"vol":398,"low":13024.0,"count":102,"id":1603587600,"close":13196.1,"tradeTurnover":5217.5364,"open":13092.0},{"amount":0.476,"high":13175.1,"vol":476,"low":13035.0,"count":120,"id":1603591200,"close":13082.4,"tradeTurnover":6228.6596,"open":13124.7},{"amount":0.578,"high":13383.8,"vol":578,"low":13049.1,"count":137,"id":1603594800,"close":13259.0,"tradeTurnover":7629.3886,"open":13049.1},{"amount":0.47,"high":13369.0,"vol":470,"low":13216.0,"count":122,"id":1603598400,"close":13243.4,"tradeTurnover":6247.955,"open":13277.0},{"amount":0.61,"high":13353.3,"vol":610,"low":13010.1,"count":134,"id":1603602000,"close":13017.3,"tradeTurnover":8048.8598,"open":13285.3},{"amount":0.486,"high":13105.7,"vol":486,"low":13018.2,"count":118,"id":1603605600,"close":13060.3,"tradeTurnover":6344.1474,"open":13022.5},{"amount":0.464,"high":13112.1,"vol":464,"low":13022.0,"count":120,"id":1603609200,"close":13078.1,"tradeTurnover":6061.5416,"open":13048.5},{"amount":0.464,"high":13091.0,"vol":464,"low":13017.2,"count":120,"id":1603612800,"close":13046.0,"tradeTurnover":6055.3734,"open":13077.2},{"amount":0.478,"high":13084.0,"vol":478,"low":13014.2,"count":117,"id":1603616400,"close":13040.8,"tradeTurnover":6235.7882,"open":13065.1},{"amount":0.478,"high":13064.2,"vol":478,"low":13010.2,"count":125,"id":1603620000,"close":13028.5,"tradeTurnover":6232.2428,"open":13047.1},{"amount":0.534,"high":13061.5,"vol":534,"low":12852.9,"count":123,"id":1603623600,"close":12897.6,"tradeTurnover":6918.1226,"open":13061.5},{"amount":0.444,"high":13069.7,"vol":444,"low":12893.2,"count":117,"id":1603627200,"close":12964.3,"tradeTurnover":5755.8712,"open":12908.3},{"amount":0.498,"high":13071.9,"vol":498,"low":12891.8,"count":119,"id":1603630800,"close":12949.3,"tradeTurnover":6465.078,"open":13001.3},{"amount":0.468,"high":13077.7,"vol":468,"low":12900.0,"count":116,"id":1603634400,"close":12946.8,"tradeTurnover":6075.4554,"open":12975.8},{"amount":0.47,"high":13069.1,"vol":470,"low":12883.3,"count":119,"id":1603638000,"close":12883.3,"tradeTurnover":6097.1072,"open":12975.2},{"amount":0.482,"high":13067.9,"vol":482,"low":12877.5,"count":118,"id":1603641600,"close":12978.7,"tradeTurnover":6256.4472,"open":12916.2},{"amount":0.47,"high":13087.5,"vol":470,"low":12922.7,"count":117,"id":1603645200,"close":13004.4,"tradeTurnover":6108.3892,"open":13008.0},{"amount":0.468,"high":13067.6,"vol":468,"low":12893.6,"count":118,"id":1603648800,"close":12957.2,"tradeTurnover":6079.1484,"open":12972.8},{"amount":0.442,"high":13066.9,"vol":442,"low":12916.6,"count":118,"id":1603652400,"close":13021.8,"tradeTurnover":5746.5548,"open":12996.5},{"amount":0.508,"high":13081.5,"vol":508,"low":12944.9,"count":120,"id":1603656000,"close":12985.4,"tradeTurnover":6616.9872,"open":12992.9},{"amount":0.508,"high":13068.6,"vol":508,"low":12921.4,"count":122,"id":1603659600,"close":13011.2,"tradeTurnover":6614.816,"open":12999.9},{"amount":0.486,"high":13073.8,"vol":486,"low":12911.9,"count":121,"id":1603663200,"close":12959.4,"tradeTurnover":6320.907,"open":12979.6},{"amount":0.452,"high":13085.2,"vol":452,"low":12927.8,"count":113,"id":1603666800,"close":13032.1,"tradeTurnover":5878.6442,"open":12963.4},{"amount":0.482,"high":13076.7,"vol":482,"low":12918.3,"count":121,"id":1603670400,"close":13001.0,"tradeTurnover":6263.698,"open":12964.2},{"amount":0.478,"high":13096.4,"vol":478,"low":12991.2,"count":124,"id":1603674000,"close":13053.7,"tradeTurnover":6232.2328,"open":13040.0},{"amount":0.488,"high":13185.7,"vol":488,"low":12985.1,"count":121,"id":1603677600,"close":13064.4,"tradeTurnover":6387.534,"open":13060.6},{"amount":0.486,"high":13187.2,"vol":486,"low":12984.1,"count":135,"id":1603681200,"close":13092.8,"tradeTurnover":6369.0272,"open":13032.3},{"amount":0.51,"high":13181.6,"vol":510,"low":12962.3,"count":131,"id":1603684800,"close":13132.6,"tradeTurnover":6679.829,"open":13092.0},{"amount":0.506,"high":13205.3,"vol":506,"low":13025.3,"count":126,"id":1603688400,"close":13092.1,"tradeTurnover":6641.2128,"open":13129.2},{"amount":1.616,"high":13188.1,"vol":1616,"low":12989.8,"count":141,"id":1603692000,"close":13071.4,"tradeTurnover":21170.8224,"open":13121.8},{"amount":3.746,"high":13100.0,"vol":3746,"low":12965.2,"count":110,"id":1603695600,"close":13038.7,"tradeTurnover":48924.8902,"open":13061.0},{"amount":8.966,"high":13102.0,"vol":8966,"low":12852.8,"count":173,"id":1603699200,"close":13039.3,"tradeTurnover":116525.5534,"open":13030.9},{"amount":4.48,"high":13088.4,"vol":4480,"low":13039.8,"count":124,"id":1603702800,"close":13075.9,"tradeTurnover":58521.1714,"open":13047.1},{"amount":4.272,"high":13100.0,"vol":4272,"low":13060.2,"count":130,"id":1603706400,"close":13100.0,"tradeTurnover":55895.9778,"open":13072.1},{"amount":29.798,"high":13159.0,"vol":29798,"low":13100.0,"count":230,"id":1603710000,"close":13138.4,"tradeTurnover":391138.024,"open":13100.0},{"amount":5.154,"high":13200.0,"vol":5154,"low":13100.0,"count":188,"id":1603713600,"close":13149.8,"tradeTurnover":67694.652,"open":13138.8},{"amount":35.608,"high":13351.5,"vol":35608,"low":13133.1,"count":328,"id":1603717200,"close":13205.8,"tradeTurnover":472780.3394,"open":13150.0},{"amount":31.748,"high":13280.0,"vol":31748,"low":13144.1,"count":235,"id":1603720800,"close":13166.1,"tradeTurnover":418744.5588,"open":13203.0},{"amount":36.53,"high":13165.2,"vol":36530,"low":12903.8,"count":384,"id":1603724400,"close":12978.0,"tradeTurnover":476940.3296,"open":13159.0},{"amount":35.018,"high":13069.8,"vol":35018,"low":12850.5,"count":323,"id":1603728000,"close":12869.6,"tradeTurnover":453288.918,"open":12965.0},{"amount":92.628,"high":12941.5,"vol":92628,"low":12583.9,"count":560,"id":1603731600,"close":12873.8,"tradeTurnover":1185973.467,"open":12879.2},{"amount":4.302,"high":12954.5,"vol":4302,"low":12820.4,"count":128,"id":1603735200,"close":12946.8,"tradeTurnover":55481.0054,"open":12856.2},{"amount":13.83,"high":12953.5,"vol":13830,"low":12914.1,"count":118,"id":1603738800,"close":12953.4,"tradeTurnover":179112.1598,"open":12945.6},{"amount":17.172,"high":13007.5,"vol":17172,"low":12953.5,"count":132,"id":1603742400,"close":12983.4,"tradeTurnover":223230.2122,"open":12953.5},{"amount":3.212,"high":13007.5,"vol":3212,"low":12982.7,"count":59,"id":1603746000,"close":12993.8,"tradeTurnover":41767.8906,"open":12983.1},{"amount":1.504,"high":13007.5,"vol":1504,"low":12974.0,"count":74,"id":1603749600,"close":13007.5,"tradeTurnover":19543.3568,"open":13002.1},{"amount":3.454,"high":13061.2,"vol":3454,"low":13007.5,"count":101,"id":1603753200,"close":13033.7,"tradeTurnover":45001.601,"open":13007.5},{"amount":8.784,"high":13105.0,"vol":8784,"low":13028.3,"count":98,"id":1603756800,"close":13067.1,"tradeTurnover":114871.8246,"open":13029.2},{"amount":11.592,"high":13074.4,"vol":11592,"low":13051.5,"count":66,"id":1603760400,"close":13061.7,"tradeTurnover":151386.9038,"open":13074.3},{"amount":19.298,"high":13097.6,"vol":19298,"low":13040.1,"count":109,"id":1603764000,"close":13049.7,"tradeTurnover":252061.019,"open":13061.7},{"amount":22.992,"high":13080.0,"vol":22992,"low":13057.1,"count":69,"id":1603767600,"close":13070.4,"tradeTurnover":300453.9788,"open":13057.6},{"amount":14.396,"high":13175.0,"vol":14396,"low":13079.6,"count":59,"id":1603771200,"close":13103.3,"tradeTurnover":188461.9156,"open":13080.0},{"amount":5.058,"high":13121.3,"vol":5058,"low":13069.7,"count":44,"id":1603774800,"close":13073.6,"tradeTurnover":66201.3552,"open":13121.3},{"amount":9.106,"high":13149.0,"vol":9106,"low":13069.6,"count":107,"id":1603778400,"close":13103.4,"tradeTurnover":119104.8906,"open":13074.9},{"amount":73.95,"high":13169.8,"vol":73950,"low":12992.4,"count":305,"id":1603782000,"close":13130.0,"tradeTurnover":968195.155,"open":13103.3},{"amount":18.732,"high":13148.4,"vol":18732,"low":13044.0,"count":135,"id":1603785600,"close":13123.8,"tradeTurnover":245533.5448,"open":13135.1},{"amount":13.756,"high":13131.8,"vol":13756,"low":13075.7,"count":102,"id":1603789200,"close":13131.7,"tradeTurnover":180253.7708,"open":13115.5},{"amount":154.108,"high":13252.0,"vol":154108,"low":13063.4,"count":525,"id":1603792800,"close":13216.9,"tradeTurnover":2029983.656,"open":13134.8},{"amount":170.09,"high":13590.1,"vol":170090,"low":13213.5,"count":591,"id":1603796400,"close":13395.8,"tradeTurnover":2276279.742,"open":13218.8},{"amount":48.928,"high":13414.0,"vol":48928,"low":13331.7,"count":216,"id":1603800000,"close":13376.9,"tradeTurnover":654585.9108,"open":13395.9},{"amount":63.294,"high":13490.9,"vol":63294,"low":13329.8,"count":316,"id":1603803600,"close":13384.3,"tradeTurnover":848130.9212,"open":13376.5},{"amount":12.892,"high":13415.8,"vol":12892,"low":13344.8,"count":124,"id":1603807200,"close":13398.2,"tradeTurnover":172618.6864,"open":13392.6},{"amount":93.22,"high":13626.7,"vol":93220,"low":13398.2,"count":476,"id":1603810800,"close":13598.5,"tradeTurnover":1262695.5466,"open":13398.2},{"amount":85.45,"high":13639.9,"vol":85450,"low":13520.2,"count":435,"id":1603814400,"close":13639.9,"tradeTurnover":1161481.4136,"open":13595.8},{"amount":191.812,"high":13826.7,"vol":191812,"low":13589.0,"count":711,"id":1603818000,"close":13688.1,"tradeTurnover":2628428.3788,"open":13640.0},{"amount":65.434,"high":13745.0,"vol":65434,"low":13528.2,"count":410,"id":1603821600,"close":13630.1,"tradeTurnover":891541.8394,"open":13685.0},{"amount":5.788,"high":13659.8,"vol":5788,"low":13595.4,"count":65,"id":1603825200,"close":13637.1,"tradeTurnover":78836.2578,"open":13629.4},{"amount":163.104,"high":13805.1,"vol":163104,"low":13582.6,"count":537,"id":1603828800,"close":13616.6,"tradeTurnover":2234040.3544,"open":13644.4},{"amount":9.884,"high":13753.5,"vol":9884,"low":13609.8,"count":101,"id":1603832400,"close":13705.5,"tradeTurnover":135406.4752,"open":13609.8},{"amount":7.436,"high":13739.9,"vol":7436,"low":13658.2,"count":100,"id":1603836000,"close":13739.9,"tradeTurnover":101840.3508,"open":13705.4},{"amount":17.086,"high":13794.6,"vol":17086,"low":13582.6,"count":234,"id":1603839600,"close":13649.6,"tradeTurnover":233971.8448,"open":13739.9},{"amount":24.108,"high":13745.2,"vol":24108,"low":13618.8,"count":177,"id":1603843200,"close":13701.7,"tradeTurnover":330206.5694,"open":13645.9},{"amount":15.892,"high":13725.6,"vol":15892,"low":13647.9,"count":151,"id":1603846800,"close":13702.6,"tradeTurnover":217816.7008,"open":13702.1},{"amount":46.548,"high":13832.2,"vol":46548,"low":13680.2,"count":274,"id":1603850400,"close":13811.6,"tradeTurnover":640636.0352,"open":13701.7},{"amount":67.896,"high":13820.3,"vol":67896,"low":13717.5,"count":320,"id":1603854000,"close":13777.0,"tradeTurnover":935838.2238,"open":13818.5},{"amount":33.156,"high":13807.2,"vol":33156,"low":13710.0,"count":210,"id":1603857600,"close":13735.7,"tradeTurnover":455941.234,"open":13767.3},{"amount":32.076,"high":13753.9,"vol":32076,"low":13671.3,"count":198,"id":1603861200,"close":13715.8,"tradeTurnover":439612.64,"open":13735.5},{"amount":14.756,"high":13757.0,"vol":14756,"low":13694.9,"count":122,"id":1603864800,"close":13701.3,"tradeTurnover":202602.5164,"open":13715.9},{"amount":155.534,"high":13708.7,"vol":155534,"low":13550.0,"count":635,"id":1603868400,"close":13674.2,"tradeTurnover":2117935.0928,"open":13701.2},{"amount":29.846,"high":13691.7,"vol":29846,"low":13584.0,"count":240,"id":1603872000,"close":13691.7,"tradeTurnover":407073.1398,"open":13673.0},{"amount":104.542,"high":13707.5,"vol":104542,"low":13573.5,"count":377,"id":1603875600,"close":13587.1,"tradeTurnover":1425079.9344,"open":13689.3},{"amount":73.818,"high":13618.0,"vol":73818,"low":13504.7,"count":358,"id":1603879200,"close":13552.7,"tradeTurnover":1001666.0908,"open":13584.6},{"amount":176.544,"high":13565.4,"vol":176544,"low":13330.0,"count":1004,"id":1603882800,"close":13336.4,"tradeTurnover":2369166.1492,"open":13552.6},{"amount":289.73,"high":13385.0,"vol":289730,"low":13173.9,"count":968,"id":1603886400,"close":13300.3,"tradeTurnover":3846751.7166,"open":13331.5},{"amount":139.822,"high":13340.0,"vol":139822,"low":13122.9,"count":612,"id":1603890000,"close":13129.9,"tradeTurnover":1848876.932,"open":13300.2},{"amount":367.876,"high":13168.2,"vol":367876,"low":12915.9,"count":1168,"id":1603893600,"close":13082.2,"tradeTurnover":4802516.9818,"open":13123.4},{"amount":84.044,"high":13235.2,"vol":84044,"low":13052.3,"count":375,"id":1603897200,"close":13221.2,"tradeTurnover":1106883.1282,"open":13077.1},{"amount":29.566,"high":13218.7,"vol":29566,"low":13050.0,"count":244,"id":1603900800,"close":13145.1,"tradeTurnover":388697.4104,"open":13218.7},{"amount":53.336,"high":13204.9,"vol":53336,"low":13006.6,"count":299,"id":1603904400,"close":13176.7,"tradeTurnover":700385.2784,"open":13145.1},{"amount":34.164,"high":13219.6,"vol":34164,"low":13131.0,"count":218,"id":1603908000,"close":13196.5,"tradeTurnover":450210.5778,"open":13171.0},{"amount":22.158,"high":13237.4,"vol":22158,"low":13145.0,"count":185,"id":1603911600,"close":13154.9,"tradeTurnover":292020.0438,"open":13200.0},{"amount":4.548,"high":13211.8,"vol":4548,"low":13147.4,"count":75,"id":1603915200,"close":13198.1,"tradeTurnover":59991.1118,"open":13154.5},{"amount":3.52,"high":13196.5,"vol":3520,"low":13100.2,"count":68,"id":1603918800,"close":13190.1,"tradeTurnover":46175.428,"open":13193.5},{"amount":3.122,"high":13267.5,"vol":3122,"low":13185.4,"count":72,"id":1603922400,"close":13252.0,"tradeTurnover":41304.2018,"open":13185.4},{"amount":14.768,"high":13282.3,"vol":14768,"low":13235.9,"count":86,"id":1603926000,"close":13265.9,"tradeTurnover":195689.0764,"open":13242.1},{"amount":19.968,"high":13294.7,"vol":19968,"low":13237.4,"count":98,"id":1603929600,"close":13245.1,"tradeTurnover":264834.1944,"open":13253.9},{"amount":35.282,"high":13285.3,"vol":35282,"low":13166.3,"count":192,"id":1603933200,"close":13274.2,"tradeTurnover":465789.6302,"open":13244.6},{"amount":9.748,"high":13277.7,"vol":9748,"low":13212.2,"count":119,"id":1603936800,"close":13241.1,"tradeTurnover":129016.0684,"open":13275.9},{"amount":27.3,"high":13262.5,"vol":27300,"low":13174.6,"count":199,"id":1603940400,"close":13262.5,"tradeTurnover":360589.8982,"open":13237.1},{"amount":18.904,"high":13277.7,"vol":18904,"low":13229.5,"count":109,"id":1603944000,"close":13229.5,"tradeTurnover":250713.2812,"open":13269.1},{"amount":15.822,"high":13274.8,"vol":15822,"low":13228.5,"count":134,"id":1603947600,"close":13274.8,"tradeTurnover":209781.909,"open":13228.5},{"amount":91.246,"high":13323.0,"vol":91246,"low":13242.3,"count":294,"id":1603951200,"close":13255.0,"tradeTurnover":1211271.2788,"open":13274.8},{"amount":187.622,"high":13269.3,"vol":187622,"low":13123.1,"count":506,"id":1603954800,"close":13142.4,"tradeTurnover":2478299.7074,"open":13255.0},{"amount":69.532,"high":13182.4,"vol":69532,"low":13094.1,"count":226,"id":1603958400,"close":13124.8,"tradeTurnover":914157.2418,"open":13145.9},{"amount":23.184,"high":13197.1,"vol":23184,"low":13129.5,"count":141,"id":1603962000,"close":13183.7,"tradeTurnover":305485.9524,"open":13129.5},{"amount":121.146,"high":13187.5,"vol":121146,"low":13053.1,"count":442,"id":1603965600,"close":13105.2,"tradeTurnover":1590026.4416,"open":13184.8},{"amount":47.498,"high":13171.4,"vol":47498,"low":13060.1,"count":262,"id":1603969200,"close":13060.1,"tradeTurnover":623578.149,"open":13105.1},{"amount":126.552,"high":13145.8,"vol":126552,"low":12977.9,"count":481,"id":1603972800,"close":13131.8,"tradeTurnover":1652549.311,"open":13056.9},{"amount":100.482,"high":13237.2,"vol":100482,"low":13102.0,"count":325,"id":1603976400,"close":13230.0,"tradeTurnover":1326403.7206,"open":13131.7},{"amount":253.258,"high":13476.1,"vol":253258,"low":13231.0,"count":752,"id":1603980000,"close":13420.8,"tradeTurnover":3384941.438,"open":13231.0},{"amount":64.71,"high":13458.7,"vol":64710,"low":13358.7,"count":269,"id":1603983600,"close":13420.6,"tradeTurnover":869052.3804,"open":13416.0},{"amount":120.24,"high":13594.5,"vol":120240,"low":13391.8,"count":570,"id":1603987200,"close":13535.9,"tradeTurnover":1626567.8278,"open":13421.9}],"id":"","rep":"market.BTC-USDT.kline.60min","status":"ok"} +2024-01-18 11:13:01.868 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:39] - 请求 KLine 数据用户收到的原始数据:{"id":"","rep":"market.BTC-USDT.kline.60min","ts":1705547580778,"wsid":19750305,"status":"ok","data":[{"id":1603270800,"open":12198.0,"close":12196.7,"high":12300.0,"low":11715.8,"amount":0.276,"vol":276,"trade_turnover":3315.9104,"count":39},{"id":1603274400,"open":12196.7,"close":12277.9,"high":12289.9,"low":12111.0,"amount":0.198,"vol":198,"trade_turnover":2420.7728,"count":21},{"id":1603278000,"open":12111.0,"close":12000.0,"high":12277.9,"low":12000.0,"amount":0.012,"vol":12,"trade_turnover":145.2238,"count":5},{"id":1603281600,"open":12078.0,"close":12497.4,"high":12498.0,"low":12078.0,"amount":0.084,"vol":84,"trade_turnover":1040.0504,"count":12},{"id":1603285200,"open":12495.6,"close":12373.5,"high":12495.6,"low":12282.9,"amount":1.122,"vol":1122,"trade_turnover":13905.3124,"count":112},{"id":1603288800,"open":12412.9,"close":12689.9,"high":12807.6,"low":12358.1,"amount":5.29,"vol":5290,"trade_turnover":66852.128,"count":155},{"id":1603292400,"open":12692.8,"close":12701.9,"high":12778.7,"low":12573.2,"amount":1.174,"vol":1174,"trade_turnover":14907.367,"count":113},{"id":1603296000,"open":12679.7,"close":12835.9,"high":12920.9,"low":12624.8,"amount":1.156,"vol":1156,"trade_turnover":14802.449,"count":115},{"id":1603299600,"open":12848.3,"close":12754.2,"high":12908.3,"low":12687.5,"amount":1.12,"vol":1120,"trade_turnover":14345.7324,"count":115},{"id":1603303200,"open":12743.7,"close":12740.2,"high":12849.0,"low":12668.3,"amount":1.106,"vol":1106,"trade_turnover":14105.3504,"count":114},{"id":1603306800,"open":12729.5,"close":12650.3,"high":12843.1,"low":12597.2,"amount":1.032,"vol":1032,"trade_turnover":13125.4568,"count":112},{"id":1603310400,"open":12666.8,"close":12807.0,"high":12848.4,"low":12610.2,"amount":1.154,"vol":1154,"trade_turnover":14680.638,"count":116},{"id":1603314000,"open":12866.0,"close":12938.9,"high":13005.1,"low":12748.2,"amount":1.164,"vol":1164,"trade_turnover":14976.9366,"count":114},{"id":1603317600,"open":12921.0,"close":13122.0,"high":13211.2,"low":12865.7,"amount":1.174,"vol":1174,"trade_turnover":15285.2446,"count":114},{"id":1603321200,"open":13153.2,"close":12829.8,"high":13173.2,"low":12688.6,"amount":1.172,"vol":1172,"trade_turnover":15060.9938,"count":117},{"id":1603324800,"open":12793.1,"close":12885.9,"high":12988.1,"low":12764.4,"amount":1.17,"vol":1170,"trade_turnover":15046.2046,"count":117},{"id":1603328400,"open":12860.4,"close":12757.5,"high":12972.6,"low":12757.5,"amount":1.158,"vol":1158,"trade_turnover":14882.4656,"count":118},{"id":1603332000,"open":12824.1,"close":12788.8,"high":12848.0,"low":12729.0,"amount":1.124,"vol":1124,"trade_turnover":14368.7948,"count":115},{"id":1603335600,"open":12791.7,"close":12767.2,"high":12834.4,"low":12729.0,"amount":1.194,"vol":1194,"trade_turnover":15268.9298,"count":111},{"id":1603339200,"open":12729.0,"close":12762.2,"high":12778.3,"low":12729.0,"amount":1.152,"vol":1152,"trade_turnover":14695.4876,"count":115},{"id":1603342800,"open":12763.1,"close":12813.8,"high":12842.0,"low":12730.6,"amount":1.21,"vol":1210,"trade_turnover":15440.8162,"count":119},{"id":1603346400,"open":12795.0,"close":12729.1,"high":12795.0,"low":12728.0,"amount":1.188,"vol":1188,"trade_turnover":15128.0098,"count":123},{"id":1603350000,"open":12728.6,"close":12730.6,"high":12730.6,"low":12728.3,"amount":1.266,"vol":1266,"trade_turnover":16115.1306,"count":112},{"id":1603353600,"open":12730.3,"close":12770.1,"high":12921.5,"low":12729.9,"amount":1.35,"vol":1350,"trade_turnover":17233.7326,"count":127},{"id":1603357200,"open":12824.9,"close":12780.4,"high":12872.1,"low":12760.1,"amount":0.98,"vol":980,"trade_turnover":12553.9826,"count":99},{"id":1603360800,"open":12784.9,"close":12934.2,"high":13002.7,"low":12775.6,"amount":0.266,"vol":266,"trade_turnover":3415.023,"count":30},{"id":1603364400,"open":12977.0,"close":13045.0,"high":13057.0,"low":12886.6,"amount":1.004,"vol":1004,"trade_turnover":13020.8576,"count":117},{"id":1603368000,"open":12958.5,"close":12847.9,"high":12973.4,"low":12751.6,"amount":1.134,"vol":1134,"trade_turnover":14594.2752,"count":111},{"id":1603371600,"open":12882.7,"close":12931.0,"high":13000.8,"low":12743.0,"amount":1.152,"vol":1152,"trade_turnover":14877.7314,"count":114},{"id":1603375200,"open":12890.4,"close":12917.8,"high":12995.3,"low":12783.9,"amount":1.182,"vol":1182,"trade_turnover":15224.4716,"count":115},{"id":1603378800,"open":12918.8,"close":12953.0,"high":13031.2,"low":12817.9,"amount":1.176,"vol":1176,"trade_turnover":15197.208,"count":117},{"id":1603382400,"open":12923.1,"close":13055.6,"high":13100.2,"low":12865.6,"amount":1.146,"vol":1146,"trade_turnover":14851.9604,"count":119},{"id":1603386000,"open":12967.6,"close":13082.7,"high":13105.7,"low":12835.5,"amount":1.534,"vol":1534,"trade_turnover":19927.8288,"count":124},{"id":1603389600,"open":13020.4,"close":13016.4,"high":13115.0,"low":12938.7,"amount":1.268,"vol":1268,"trade_turnover":16505.4738,"count":117},{"id":1603393200,"open":13028.3,"close":12970.6,"high":13171.2,"low":12961.8,"amount":1.13,"vol":1130,"trade_turnover":14762.952,"count":112},{"id":1603396800,"open":13016.7,"close":13089.3,"high":13216.1,"low":12998.5,"amount":1.206,"vol":1206,"trade_turnover":15807.1226,"count":117},{"id":1603400400,"open":13136.0,"close":13092.0,"high":13203.7,"low":12932.9,"amount":1.332,"vol":1332,"trade_turnover":17423.4422,"count":114},{"id":1603404000,"open":13119.4,"close":13055.9,"high":13250.5,"low":12984.7,"amount":1.21,"vol":1210,"trade_turnover":15876.0632,"count":114},{"id":1603407600,"open":13059.4,"close":12890.4,"high":13126.5,"low":12857.2,"amount":1.286,"vol":1286,"trade_turnover":16688.422,"count":116},{"id":1603411200,"open":12929.7,"close":12892.2,"high":12994.0,"low":12751.6,"amount":1.502,"vol":1502,"trade_turnover":19331.1596,"count":131},{"id":1603414800,"open":12921.7,"close":12898.3,"high":13003.2,"low":12786.0,"amount":1.386,"vol":1386,"trade_turnover":17904.8902,"count":121},{"id":1603418400,"open":12951.6,"close":12975.1,"high":13054.0,"low":12800.7,"amount":1.416,"vol":1416,"trade_turnover":18306.6204,"count":122},{"id":1603422000,"open":12967.3,"close":12947.0,"high":13030.7,"low":12875.0,"amount":1.19,"vol":1190,"trade_turnover":15409.7984,"count":118},{"id":1603425600,"open":12925.2,"close":12852.0,"high":13047.3,"low":12832.8,"amount":1.022,"vol":1022,"trade_turnover":13214.4388,"count":127},{"id":1603429200,"open":12859.0,"close":12931.1,"high":12991.7,"low":12841.2,"amount":0.478,"vol":478,"trade_turnover":6180.2486,"count":118},{"id":1603432800,"open":12935.9,"close":12939.6,"high":13014.1,"low":12871.9,"amount":0.522,"vol":522,"trade_turnover":6759.0324,"count":132},{"id":1603436400,"open":12923.1,"close":12925.4,"high":12998.9,"low":12917.1,"amount":0.476,"vol":476,"trade_turnover":6163.3118,"count":118},{"id":1603440000,"open":12942.2,"close":12962.6,"high":13014.0,"low":12916.1,"amount":0.508,"vol":508,"trade_turnover":6585.3656,"count":122},{"id":1603443600,"open":12970.5,"close":12926.4,"high":13012.5,"low":12909.9,"amount":0.564,"vol":564,"trade_turnover":7308.8828,"count":124},{"id":1603447200,"open":13001.2,"close":13007.7,"high":13059.5,"low":12925.7,"amount":0.536,"vol":536,"trade_turnover":6957.8796,"count":124},{"id":1603450800,"open":13025.4,"close":12970.6,"high":13078.4,"low":12906.5,"amount":0.486,"vol":486,"trade_turnover":6326.1434,"count":122},{"id":1603454400,"open":12963.9,"close":12935.4,"high":13025.0,"low":12850.8,"amount":0.494,"vol":494,"trade_turnover":6396.0984,"count":117},{"id":1603458000,"open":12913.3,"close":12951.7,"high":13043.3,"low":12911.0,"amount":0.466,"vol":466,"trade_turnover":6049.1412,"count":117},{"id":1603461600,"open":12999.6,"close":12858.8,"high":13006.4,"low":12840.4,"amount":0.46,"vol":460,"trade_turnover":5941.815,"count":116},{"id":1603465200,"open":12885.7,"close":12881.9,"high":12932.9,"low":12826.5,"amount":0.492,"vol":492,"trade_turnover":6340.214,"count":117},{"id":1603468800,"open":12854.4,"close":12784.1,"high":12933.5,"low":12744.4,"amount":0.484,"vol":484,"trade_turnover":6205.4138,"count":123},{"id":1603472400,"open":12832.3,"close":12847.7,"high":12893.1,"low":12730.1,"amount":0.562,"vol":562,"trade_turnover":7218.9184,"count":152},{"id":1603476000,"open":12874.1,"close":12915.7,"high":12939.3,"low":12751.4,"amount":0.53,"vol":530,"trade_turnover":6825.7004,"count":128},{"id":1603479600,"open":12867.9,"close":12972.9,"high":12972.9,"low":12786.6,"amount":0.444,"vol":444,"trade_turnover":5727.7452,"count":117},{"id":1603483200,"open":12956.7,"close":12991.6,"high":13002.2,"low":12842.9,"amount":0.492,"vol":492,"trade_turnover":6375.1566,"count":116},{"id":1603486800,"open":13004.3,"close":12943.5,"high":13004.3,"low":12936.6,"amount":0.5,"vol":500,"trade_turnover":6485.468,"count":125},{"id":1603490400,"open":12923.6,"close":12989.2,"high":13010.3,"low":12884.7,"amount":0.492,"vol":492,"trade_turnover":6376.1492,"count":120},{"id":1603494000,"open":12974.9,"close":12884.6,"high":13024.4,"low":12884.6,"amount":0.51,"vol":510,"trade_turnover":6622.3406,"count":121},{"id":1603497600,"open":12973.7,"close":12953.9,"high":13018.3,"low":12811.1,"amount":0.488,"vol":488,"trade_turnover":6317.7938,"count":120},{"id":1603501200,"open":12927.5,"close":12934.2,"high":13018.1,"low":12872.8,"amount":0.482,"vol":482,"trade_turnover":6242.4178,"count":117},{"id":1603504800,"open":12971.9,"close":12989.1,"high":13003.9,"low":12903.3,"amount":0.484,"vol":484,"trade_turnover":6278.1756,"count":117},{"id":1603508400,"open":13000.1,"close":12975.9,"high":13013.4,"low":12938.3,"amount":0.474,"vol":474,"trade_turnover":6157.7096,"count":122},{"id":1603512000,"open":12989.7,"close":12963.3,"high":13009.4,"low":12905.5,"amount":0.526,"vol":526,"trade_turnover":6831.5658,"count":124},{"id":1603515600,"open":12910.5,"close":12989.7,"high":13041.8,"low":12875.3,"amount":0.522,"vol":522,"trade_turnover":6768.8994,"count":127},{"id":1603519200,"open":12994.7,"close":13003.6,"high":13058.1,"low":12908.8,"amount":0.49,"vol":490,"trade_turnover":6370.5714,"count":120},{"id":1603522800,"open":13011.9,"close":13004.2,"high":13037.8,"low":12981.7,"amount":0.478,"vol":478,"trade_turnover":6218.9722,"count":120},{"id":1603526400,"open":13003.0,"close":12998.2,"high":13030.6,"low":12899.4,"amount":0.52,"vol":520,"trade_turnover":6754.958,"count":124},{"id":1603530000,"open":12998.2,"close":12990.6,"high":13020.3,"low":12893.6,"amount":0.454,"vol":454,"trade_turnover":5891.0574,"count":115},{"id":1603533600,"open":12996.4,"close":13030.1,"high":13059.1,"low":12913.2,"amount":0.502,"vol":502,"trade_turnover":6525.9004,"count":124},{"id":1603537200,"open":12988.4,"close":13033.2,"high":13068.3,"low":12940.2,"amount":0.468,"vol":468,"trade_turnover":6091.0376,"count":119},{"id":1603540800,"open":13035.3,"close":13006.5,"high":13071.8,"low":12978.9,"amount":0.468,"vol":468,"trade_turnover":6102.5902,"count":123},{"id":1603544400,"open":13038.8,"close":12985.9,"high":13066.7,"low":12928.1,"amount":0.534,"vol":534,"trade_turnover":6950.4268,"count":123},{"id":1603548000,"open":12986.3,"close":13042.0,"high":13100.1,"low":12960.5,"amount":0.47,"vol":470,"trade_turnover":6124.2178,"count":100},{"id":1603551600,"open":13038.4,"close":13102.2,"high":13196.5,"low":13038.4,"amount":0.456,"vol":456,"trade_turnover":5989.6362,"count":120},{"id":1603555200,"open":13136.8,"close":13052.7,"high":13176.6,"low":12984.6,"amount":0.458,"vol":458,"trade_turnover":5976.331,"count":121},{"id":1603558800,"open":13006.2,"close":13177.8,"high":13177.8,"low":13003.2,"amount":0.452,"vol":452,"trade_turnover":5911.7058,"count":118},{"id":1603562400,"open":13127.7,"close":13080.8,"high":13170.7,"low":13023.0,"amount":0.468,"vol":468,"trade_turnover":6122.375,"count":119},{"id":1603566000,"open":13040.7,"close":13148.4,"high":13179.3,"low":13014.2,"amount":0.468,"vol":468,"trade_turnover":6126.4278,"count":120},{"id":1603569600,"open":13073.5,"close":13090.1,"high":13179.6,"low":12992.5,"amount":0.47,"vol":470,"trade_turnover":6151.4758,"count":119},{"id":1603573200,"open":13035.4,"close":12993.9,"high":13148.7,"low":12980.7,"amount":0.458,"vol":458,"trade_turnover":5981.071,"count":117},{"id":1603576800,"open":13040.7,"close":13041.1,"high":13112.1,"low":12975.6,"amount":0.478,"vol":478,"trade_turnover":6225.4216,"count":118},{"id":1603580400,"open":13012.6,"close":13184.3,"high":13184.3,"low":13009.3,"amount":0.472,"vol":472,"trade_turnover":6173.4244,"count":118},{"id":1603584000,"open":13080.8,"close":13154.3,"high":13170.4,"low":13007.7,"amount":0.46,"vol":460,"trade_turnover":6024.09,"count":115},{"id":1603587600,"open":13092.0,"close":13196.1,"high":13196.8,"low":13024.0,"amount":0.398,"vol":398,"trade_turnover":5217.5364,"count":102},{"id":1603591200,"open":13124.7,"close":13082.4,"high":13175.1,"low":13035.0,"amount":0.476,"vol":476,"trade_turnover":6228.6596,"count":120},{"id":1603594800,"open":13049.1,"close":13259.0,"high":13383.8,"low":13049.1,"amount":0.578,"vol":578,"trade_turnover":7629.3886,"count":137},{"id":1603598400,"open":13277.0,"close":13243.4,"high":13369.0,"low":13216.0,"amount":0.47,"vol":470,"trade_turnover":6247.955,"count":122},{"id":1603602000,"open":13285.3,"close":13017.3,"high":13353.3,"low":13010.1,"amount":0.61,"vol":610,"trade_turnover":8048.8598,"count":134},{"id":1603605600,"open":13022.5,"close":13060.3,"high":13105.7,"low":13018.2,"amount":0.486,"vol":486,"trade_turnover":6344.1474,"count":118},{"id":1603609200,"open":13048.5,"close":13078.1,"high":13112.1,"low":13022.0,"amount":0.464,"vol":464,"trade_turnover":6061.5416,"count":120},{"id":1603612800,"open":13077.2,"close":13046.0,"high":13091.0,"low":13017.2,"amount":0.464,"vol":464,"trade_turnover":6055.3734,"count":120},{"id":1603616400,"open":13065.1,"close":13040.8,"high":13084.0,"low":13014.2,"amount":0.478,"vol":478,"trade_turnover":6235.7882,"count":117},{"id":1603620000,"open":13047.1,"close":13028.5,"high":13064.2,"low":13010.2,"amount":0.478,"vol":478,"trade_turnover":6232.2428,"count":125},{"id":1603623600,"open":13061.5,"close":12897.6,"high":13061.5,"low":12852.9,"amount":0.534,"vol":534,"trade_turnover":6918.1226,"count":123},{"id":1603627200,"open":12908.3,"close":12964.3,"high":13069.7,"low":12893.2,"amount":0.444,"vol":444,"trade_turnover":5755.8712,"count":117},{"id":1603630800,"open":13001.3,"close":12949.3,"high":13071.9,"low":12891.8,"amount":0.498,"vol":498,"trade_turnover":6465.078,"count":119},{"id":1603634400,"open":12975.8,"close":12946.8,"high":13077.7,"low":12900.0,"amount":0.468,"vol":468,"trade_turnover":6075.4554,"count":116},{"id":1603638000,"open":12975.2,"close":12883.3,"high":13069.1,"low":12883.3,"amount":0.47,"vol":470,"trade_turnover":6097.1072,"count":119},{"id":1603641600,"open":12916.2,"close":12978.7,"high":13067.9,"low":12877.5,"amount":0.482,"vol":482,"trade_turnover":6256.4472,"count":118},{"id":1603645200,"open":13008.0,"close":13004.4,"high":13087.5,"low":12922.7,"amount":0.47,"vol":470,"trade_turnover":6108.3892,"count":117},{"id":1603648800,"open":12972.8,"close":12957.2,"high":13067.6,"low":12893.6,"amount":0.468,"vol":468,"trade_turnover":6079.1484,"count":118},{"id":1603652400,"open":12996.5,"close":13021.8,"high":13066.9,"low":12916.6,"amount":0.442,"vol":442,"trade_turnover":5746.5548,"count":118},{"id":1603656000,"open":12992.9,"close":12985.4,"high":13081.5,"low":12944.9,"amount":0.508,"vol":508,"trade_turnover":6616.9872,"count":120},{"id":1603659600,"open":12999.9,"close":13011.2,"high":13068.6,"low":12921.4,"amount":0.508,"vol":508,"trade_turnover":6614.816,"count":122},{"id":1603663200,"open":12979.6,"close":12959.4,"high":13073.8,"low":12911.9,"amount":0.486,"vol":486,"trade_turnover":6320.907,"count":121},{"id":1603666800,"open":12963.4,"close":13032.1,"high":13085.2,"low":12927.8,"amount":0.452,"vol":452,"trade_turnover":5878.6442,"count":113},{"id":1603670400,"open":12964.2,"close":13001.0,"high":13076.7,"low":12918.3,"amount":0.482,"vol":482,"trade_turnover":6263.698,"count":121},{"id":1603674000,"open":13040.0,"close":13053.7,"high":13096.4,"low":12991.2,"amount":0.478,"vol":478,"trade_turnover":6232.2328,"count":124},{"id":1603677600,"open":13060.6,"close":13064.4,"high":13185.7,"low":12985.1,"amount":0.488,"vol":488,"trade_turnover":6387.534,"count":121},{"id":1603681200,"open":13032.3,"close":13092.8,"high":13187.2,"low":12984.1,"amount":0.486,"vol":486,"trade_turnover":6369.0272,"count":135},{"id":1603684800,"open":13092.0,"close":13132.6,"high":13181.6,"low":12962.3,"amount":0.51,"vol":510,"trade_turnover":6679.829,"count":131},{"id":1603688400,"open":13129.2,"close":13092.1,"high":13205.3,"low":13025.3,"amount":0.506,"vol":506,"trade_turnover":6641.2128,"count":126},{"id":1603692000,"open":13121.8,"close":13071.4,"high":13188.1,"low":12989.8,"amount":1.616,"vol":1616,"trade_turnover":21170.8224,"count":141},{"id":1603695600,"open":13061.0,"close":13038.7,"high":13100.0,"low":12965.2,"amount":3.746,"vol":3746,"trade_turnover":48924.8902,"count":110},{"id":1603699200,"open":13030.9,"close":13039.3,"high":13102.0,"low":12852.8,"amount":8.966,"vol":8966,"trade_turnover":116525.5534,"count":173},{"id":1603702800,"open":13047.1,"close":13075.9,"high":13088.4,"low":13039.8,"amount":4.48,"vol":4480,"trade_turnover":58521.1714,"count":124},{"id":1603706400,"open":13072.1,"close":13100.0,"high":13100.0,"low":13060.2,"amount":4.272,"vol":4272,"trade_turnover":55895.9778,"count":130},{"id":1603710000,"open":13100.0,"close":13138.4,"high":13159.0,"low":13100.0,"amount":29.798,"vol":29798,"trade_turnover":391138.024,"count":230},{"id":1603713600,"open":13138.8,"close":13149.8,"high":13200.0,"low":13100.0,"amount":5.154,"vol":5154,"trade_turnover":67694.652,"count":188},{"id":1603717200,"open":13150.0,"close":13205.8,"high":13351.5,"low":13133.1,"amount":35.608,"vol":35608,"trade_turnover":472780.3394,"count":328},{"id":1603720800,"open":13203.0,"close":13166.1,"high":13280.0,"low":13144.1,"amount":31.748,"vol":31748,"trade_turnover":418744.5588,"count":235},{"id":1603724400,"open":13159.0,"close":12978.0,"high":13165.2,"low":12903.8,"amount":36.53,"vol":36530,"trade_turnover":476940.3296,"count":384},{"id":1603728000,"open":12965.0,"close":12869.6,"high":13069.8,"low":12850.5,"amount":35.018,"vol":35018,"trade_turnover":453288.918,"count":323},{"id":1603731600,"open":12879.2,"close":12873.8,"high":12941.5,"low":12583.9,"amount":92.628,"vol":92628,"trade_turnover":1185973.467,"count":560},{"id":1603735200,"open":12856.2,"close":12946.8,"high":12954.5,"low":12820.4,"amount":4.302,"vol":4302,"trade_turnover":55481.0054,"count":128},{"id":1603738800,"open":12945.6,"close":12953.4,"high":12953.5,"low":12914.1,"amount":13.83,"vol":13830,"trade_turnover":179112.1598,"count":118},{"id":1603742400,"open":12953.5,"close":12983.4,"high":13007.5,"low":12953.5,"amount":17.172,"vol":17172,"trade_turnover":223230.2122,"count":132},{"id":1603746000,"open":12983.1,"close":12993.8,"high":13007.5,"low":12982.7,"amount":3.212,"vol":3212,"trade_turnover":41767.8906,"count":59},{"id":1603749600,"open":13002.1,"close":13007.5,"high":13007.5,"low":12974.0,"amount":1.504,"vol":1504,"trade_turnover":19543.3568,"count":74},{"id":1603753200,"open":13007.5,"close":13033.7,"high":13061.2,"low":13007.5,"amount":3.454,"vol":3454,"trade_turnover":45001.601,"count":101},{"id":1603756800,"open":13029.2,"close":13067.1,"high":13105.0,"low":13028.3,"amount":8.784,"vol":8784,"trade_turnover":114871.8246,"count":98},{"id":1603760400,"open":13074.3,"close":13061.7,"high":13074.4,"low":13051.5,"amount":11.592,"vol":11592,"trade_turnover":151386.9038,"count":66},{"id":1603764000,"open":13061.7,"close":13049.7,"high":13097.6,"low":13040.1,"amount":19.298,"vol":19298,"trade_turnover":252061.019,"count":109},{"id":1603767600,"open":13057.6,"close":13070.4,"high":13080.0,"low":13057.1,"amount":22.992,"vol":22992,"trade_turnover":300453.9788,"count":69},{"id":1603771200,"open":13080.0,"close":13103.3,"high":13175.0,"low":13079.6,"amount":14.396,"vol":14396,"trade_turnover":188461.9156,"count":59},{"id":1603774800,"open":13121.3,"close":13073.6,"high":13121.3,"low":13069.7,"amount":5.058,"vol":5058,"trade_turnover":66201.3552,"count":44},{"id":1603778400,"open":13074.9,"close":13103.4,"high":13149.0,"low":13069.6,"amount":9.106,"vol":9106,"trade_turnover":119104.8906,"count":107},{"id":1603782000,"open":13103.3,"close":13130.0,"high":13169.8,"low":12992.4,"amount":73.95,"vol":73950,"trade_turnover":968195.155,"count":305},{"id":1603785600,"open":13135.1,"close":13123.8,"high":13148.4,"low":13044.0,"amount":18.732,"vol":18732,"trade_turnover":245533.5448,"count":135},{"id":1603789200,"open":13115.5,"close":13131.7,"high":13131.8,"low":13075.7,"amount":13.756,"vol":13756,"trade_turnover":180253.7708,"count":102},{"id":1603792800,"open":13134.8,"close":13216.9,"high":13252.0,"low":13063.4,"amount":154.108,"vol":154108,"trade_turnover":2029983.656,"count":525},{"id":1603796400,"open":13218.8,"close":13395.8,"high":13590.1,"low":13213.5,"amount":170.09,"vol":170090,"trade_turnover":2276279.742,"count":591},{"id":1603800000,"open":13395.9,"close":13376.9,"high":13414.0,"low":13331.7,"amount":48.928,"vol":48928,"trade_turnover":654585.9108,"count":216},{"id":1603803600,"open":13376.5,"close":13384.3,"high":13490.9,"low":13329.8,"amount":63.294,"vol":63294,"trade_turnover":848130.9212,"count":316},{"id":1603807200,"open":13392.6,"close":13398.2,"high":13415.8,"low":13344.8,"amount":12.892,"vol":12892,"trade_turnover":172618.6864,"count":124},{"id":1603810800,"open":13398.2,"close":13598.5,"high":13626.7,"low":13398.2,"amount":93.22,"vol":93220,"trade_turnover":1262695.5466,"count":476},{"id":1603814400,"open":13595.8,"close":13639.9,"high":13639.9,"low":13520.2,"amount":85.45,"vol":85450,"trade_turnover":1161481.4136,"count":435},{"id":1603818000,"open":13640.0,"close":13688.1,"high":13826.7,"low":13589.0,"amount":191.812,"vol":191812,"trade_turnover":2628428.3788,"count":711},{"id":1603821600,"open":13685.0,"close":13630.1,"high":13745.0,"low":13528.2,"amount":65.434,"vol":65434,"trade_turnover":891541.8394,"count":410},{"id":1603825200,"open":13629.4,"close":13637.1,"high":13659.8,"low":13595.4,"amount":5.788,"vol":5788,"trade_turnover":78836.2578,"count":65},{"id":1603828800,"open":13644.4,"close":13616.6,"high":13805.1,"low":13582.6,"amount":163.104,"vol":163104,"trade_turnover":2234040.3544,"count":537},{"id":1603832400,"open":13609.8,"close":13705.5,"high":13753.5,"low":13609.8,"amount":9.884,"vol":9884,"trade_turnover":135406.4752,"count":101},{"id":1603836000,"open":13705.4,"close":13739.9,"high":13739.9,"low":13658.2,"amount":7.436,"vol":7436,"trade_turnover":101840.3508,"count":100},{"id":1603839600,"open":13739.9,"close":13649.6,"high":13794.6,"low":13582.6,"amount":17.086,"vol":17086,"trade_turnover":233971.8448,"count":234},{"id":1603843200,"open":13645.9,"close":13701.7,"high":13745.2,"low":13618.8,"amount":24.108,"vol":24108,"trade_turnover":330206.5694,"count":177},{"id":1603846800,"open":13702.1,"close":13702.6,"high":13725.6,"low":13647.9,"amount":15.892,"vol":15892,"trade_turnover":217816.7008,"count":151},{"id":1603850400,"open":13701.7,"close":13811.6,"high":13832.2,"low":13680.2,"amount":46.548,"vol":46548,"trade_turnover":640636.0352,"count":274},{"id":1603854000,"open":13818.5,"close":13777.0,"high":13820.3,"low":13717.5,"amount":67.896,"vol":67896,"trade_turnover":935838.2238,"count":320},{"id":1603857600,"open":13767.3,"close":13735.7,"high":13807.2,"low":13710.0,"amount":33.156,"vol":33156,"trade_turnover":455941.234,"count":210},{"id":1603861200,"open":13735.5,"close":13715.8,"high":13753.9,"low":13671.3,"amount":32.076,"vol":32076,"trade_turnover":439612.64,"count":198},{"id":1603864800,"open":13715.9,"close":13701.3,"high":13757.0,"low":13694.9,"amount":14.756,"vol":14756,"trade_turnover":202602.5164,"count":122},{"id":1603868400,"open":13701.2,"close":13674.2,"high":13708.7,"low":13550.0,"amount":155.534,"vol":155534,"trade_turnover":2117935.0928,"count":635},{"id":1603872000,"open":13673.0,"close":13691.7,"high":13691.7,"low":13584.0,"amount":29.846,"vol":29846,"trade_turnover":407073.1398,"count":240},{"id":1603875600,"open":13689.3,"close":13587.1,"high":13707.5,"low":13573.5,"amount":104.542,"vol":104542,"trade_turnover":1425079.9344,"count":377},{"id":1603879200,"open":13584.6,"close":13552.7,"high":13618.0,"low":13504.7,"amount":73.818,"vol":73818,"trade_turnover":1001666.0908,"count":358},{"id":1603882800,"open":13552.6,"close":13336.4,"high":13565.4,"low":13330.0,"amount":176.544,"vol":176544,"trade_turnover":2369166.1492,"count":1004},{"id":1603886400,"open":13331.5,"close":13300.3,"high":13385.0,"low":13173.9,"amount":289.73,"vol":289730,"trade_turnover":3846751.7166,"count":968},{"id":1603890000,"open":13300.2,"close":13129.9,"high":13340.0,"low":13122.9,"amount":139.822,"vol":139822,"trade_turnover":1848876.932,"count":612},{"id":1603893600,"open":13123.4,"close":13082.2,"high":13168.2,"low":12915.9,"amount":367.876,"vol":367876,"trade_turnover":4802516.9818,"count":1168},{"id":1603897200,"open":13077.1,"close":13221.2,"high":13235.2,"low":13052.3,"amount":84.044,"vol":84044,"trade_turnover":1106883.1282,"count":375},{"id":1603900800,"open":13218.7,"close":13145.1,"high":13218.7,"low":13050.0,"amount":29.566,"vol":29566,"trade_turnover":388697.4104,"count":244},{"id":1603904400,"open":13145.1,"close":13176.7,"high":13204.9,"low":13006.6,"amount":53.336,"vol":53336,"trade_turnover":700385.2784,"count":299},{"id":1603908000,"open":13171.0,"close":13196.5,"high":13219.6,"low":13131.0,"amount":34.164,"vol":34164,"trade_turnover":450210.5778,"count":218},{"id":1603911600,"open":13200.0,"close":13154.9,"high":13237.4,"low":13145.0,"amount":22.158,"vol":22158,"trade_turnover":292020.0438,"count":185},{"id":1603915200,"open":13154.5,"close":13198.1,"high":13211.8,"low":13147.4,"amount":4.548,"vol":4548,"trade_turnover":59991.1118,"count":75},{"id":1603918800,"open":13193.5,"close":13190.1,"high":13196.5,"low":13100.2,"amount":3.52,"vol":3520,"trade_turnover":46175.428,"count":68},{"id":1603922400,"open":13185.4,"close":13252.0,"high":13267.5,"low":13185.4,"amount":3.122,"vol":3122,"trade_turnover":41304.2018,"count":72},{"id":1603926000,"open":13242.1,"close":13265.9,"high":13282.3,"low":13235.9,"amount":14.768,"vol":14768,"trade_turnover":195689.0764,"count":86},{"id":1603929600,"open":13253.9,"close":13245.1,"high":13294.7,"low":13237.4,"amount":19.968,"vol":19968,"trade_turnover":264834.1944,"count":98},{"id":1603933200,"open":13244.6,"close":13274.2,"high":13285.3,"low":13166.3,"amount":35.282,"vol":35282,"trade_turnover":465789.6302,"count":192},{"id":1603936800,"open":13275.9,"close":13241.1,"high":13277.7,"low":13212.2,"amount":9.748,"vol":9748,"trade_turnover":129016.0684,"count":119},{"id":1603940400,"open":13237.1,"close":13262.5,"high":13262.5,"low":13174.6,"amount":27.3,"vol":27300,"trade_turnover":360589.8982,"count":199},{"id":1603944000,"open":13269.1,"close":13229.5,"high":13277.7,"low":13229.5,"amount":18.904,"vol":18904,"trade_turnover":250713.2812,"count":109},{"id":1603947600,"open":13228.5,"close":13274.8,"high":13274.8,"low":13228.5,"amount":15.822,"vol":15822,"trade_turnover":209781.909,"count":134},{"id":1603951200,"open":13274.8,"close":13255.0,"high":13323.0,"low":13242.3,"amount":91.246,"vol":91246,"trade_turnover":1211271.2788,"count":294},{"id":1603954800,"open":13255.0,"close":13142.4,"high":13269.3,"low":13123.1,"amount":187.622,"vol":187622,"trade_turnover":2478299.7074,"count":506},{"id":1603958400,"open":13145.9,"close":13124.8,"high":13182.4,"low":13094.1,"amount":69.532,"vol":69532,"trade_turnover":914157.2418,"count":226},{"id":1603962000,"open":13129.5,"close":13183.7,"high":13197.1,"low":13129.5,"amount":23.184,"vol":23184,"trade_turnover":305485.9524,"count":141},{"id":1603965600,"open":13184.8,"close":13105.2,"high":13187.5,"low":13053.1,"amount":121.146,"vol":121146,"trade_turnover":1590026.4416,"count":442},{"id":1603969200,"open":13105.1,"close":13060.1,"high":13171.4,"low":13060.1,"amount":47.498,"vol":47498,"trade_turnover":623578.149,"count":262},{"id":1603972800,"open":13056.9,"close":13131.8,"high":13145.8,"low":12977.9,"amount":126.552,"vol":126552,"trade_turnover":1652549.311,"count":481},{"id":1603976400,"open":13131.7,"close":13230.0,"high":13237.2,"low":13102.0,"amount":100.482,"vol":100482,"trade_turnover":1326403.7206,"count":325},{"id":1603980000,"open":13231.0,"close":13420.8,"high":13476.1,"low":13231.0,"amount":253.258,"vol":253258,"trade_turnover":3384941.438,"count":752},{"id":1603983600,"open":13416.0,"close":13420.6,"high":13458.7,"low":13358.7,"amount":64.71,"vol":64710,"trade_turnover":869052.3804,"count":269},{"id":1603987200,"open":13421.9,"close":13535.9,"high":13594.5,"low":13391.8,"amount":120.24,"vol":120240,"trade_turnover":1626567.8278,"count":570}]} +2024-01-18 11:13:01.871 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:41] - 请求 KLine 数据解析之后的数据为:{"wsid":19750305,"data":[{"amount":0.276,"high":12300.0,"vol":276,"low":11715.8,"count":39,"id":1603270800,"close":12196.7,"tradeTurnover":3315.9104,"open":12198.0},{"amount":0.198,"high":12289.9,"vol":198,"low":12111.0,"count":21,"id":1603274400,"close":12277.9,"tradeTurnover":2420.7728,"open":12196.7},{"amount":0.012,"high":12277.9,"vol":12,"low":12000.0,"count":5,"id":1603278000,"close":12000.0,"tradeTurnover":145.2238,"open":12111.0},{"amount":0.084,"high":12498.0,"vol":84,"low":12078.0,"count":12,"id":1603281600,"close":12497.4,"tradeTurnover":1040.0504,"open":12078.0},{"amount":1.122,"high":12495.6,"vol":1122,"low":12282.9,"count":112,"id":1603285200,"close":12373.5,"tradeTurnover":13905.3124,"open":12495.6},{"amount":5.29,"high":12807.6,"vol":5290,"low":12358.1,"count":155,"id":1603288800,"close":12689.9,"tradeTurnover":66852.128,"open":12412.9},{"amount":1.174,"high":12778.7,"vol":1174,"low":12573.2,"count":113,"id":1603292400,"close":12701.9,"tradeTurnover":14907.367,"open":12692.8},{"amount":1.156,"high":12920.9,"vol":1156,"low":12624.8,"count":115,"id":1603296000,"close":12835.9,"tradeTurnover":14802.449,"open":12679.7},{"amount":1.12,"high":12908.3,"vol":1120,"low":12687.5,"count":115,"id":1603299600,"close":12754.2,"tradeTurnover":14345.7324,"open":12848.3},{"amount":1.106,"high":12849.0,"vol":1106,"low":12668.3,"count":114,"id":1603303200,"close":12740.2,"tradeTurnover":14105.3504,"open":12743.7},{"amount":1.032,"high":12843.1,"vol":1032,"low":12597.2,"count":112,"id":1603306800,"close":12650.3,"tradeTurnover":13125.4568,"open":12729.5},{"amount":1.154,"high":12848.4,"vol":1154,"low":12610.2,"count":116,"id":1603310400,"close":12807.0,"tradeTurnover":14680.638,"open":12666.8},{"amount":1.164,"high":13005.1,"vol":1164,"low":12748.2,"count":114,"id":1603314000,"close":12938.9,"tradeTurnover":14976.9366,"open":12866.0},{"amount":1.174,"high":13211.2,"vol":1174,"low":12865.7,"count":114,"id":1603317600,"close":13122.0,"tradeTurnover":15285.2446,"open":12921.0},{"amount":1.172,"high":13173.2,"vol":1172,"low":12688.6,"count":117,"id":1603321200,"close":12829.8,"tradeTurnover":15060.9938,"open":13153.2},{"amount":1.17,"high":12988.1,"vol":1170,"low":12764.4,"count":117,"id":1603324800,"close":12885.9,"tradeTurnover":15046.2046,"open":12793.1},{"amount":1.158,"high":12972.6,"vol":1158,"low":12757.5,"count":118,"id":1603328400,"close":12757.5,"tradeTurnover":14882.4656,"open":12860.4},{"amount":1.124,"high":12848.0,"vol":1124,"low":12729.0,"count":115,"id":1603332000,"close":12788.8,"tradeTurnover":14368.7948,"open":12824.1},{"amount":1.194,"high":12834.4,"vol":1194,"low":12729.0,"count":111,"id":1603335600,"close":12767.2,"tradeTurnover":15268.9298,"open":12791.7},{"amount":1.152,"high":12778.3,"vol":1152,"low":12729.0,"count":115,"id":1603339200,"close":12762.2,"tradeTurnover":14695.4876,"open":12729.0},{"amount":1.21,"high":12842.0,"vol":1210,"low":12730.6,"count":119,"id":1603342800,"close":12813.8,"tradeTurnover":15440.8162,"open":12763.1},{"amount":1.188,"high":12795.0,"vol":1188,"low":12728.0,"count":123,"id":1603346400,"close":12729.1,"tradeTurnover":15128.0098,"open":12795.0},{"amount":1.266,"high":12730.6,"vol":1266,"low":12728.3,"count":112,"id":1603350000,"close":12730.6,"tradeTurnover":16115.1306,"open":12728.6},{"amount":1.35,"high":12921.5,"vol":1350,"low":12729.9,"count":127,"id":1603353600,"close":12770.1,"tradeTurnover":17233.7326,"open":12730.3},{"amount":0.98,"high":12872.1,"vol":980,"low":12760.1,"count":99,"id":1603357200,"close":12780.4,"tradeTurnover":12553.9826,"open":12824.9},{"amount":0.266,"high":13002.7,"vol":266,"low":12775.6,"count":30,"id":1603360800,"close":12934.2,"tradeTurnover":3415.023,"open":12784.9},{"amount":1.004,"high":13057.0,"vol":1004,"low":12886.6,"count":117,"id":1603364400,"close":13045.0,"tradeTurnover":13020.8576,"open":12977.0},{"amount":1.134,"high":12973.4,"vol":1134,"low":12751.6,"count":111,"id":1603368000,"close":12847.9,"tradeTurnover":14594.2752,"open":12958.5},{"amount":1.152,"high":13000.8,"vol":1152,"low":12743.0,"count":114,"id":1603371600,"close":12931.0,"tradeTurnover":14877.7314,"open":12882.7},{"amount":1.182,"high":12995.3,"vol":1182,"low":12783.9,"count":115,"id":1603375200,"close":12917.8,"tradeTurnover":15224.4716,"open":12890.4},{"amount":1.176,"high":13031.2,"vol":1176,"low":12817.9,"count":117,"id":1603378800,"close":12953.0,"tradeTurnover":15197.208,"open":12918.8},{"amount":1.146,"high":13100.2,"vol":1146,"low":12865.6,"count":119,"id":1603382400,"close":13055.6,"tradeTurnover":14851.9604,"open":12923.1},{"amount":1.534,"high":13105.7,"vol":1534,"low":12835.5,"count":124,"id":1603386000,"close":13082.7,"tradeTurnover":19927.8288,"open":12967.6},{"amount":1.268,"high":13115.0,"vol":1268,"low":12938.7,"count":117,"id":1603389600,"close":13016.4,"tradeTurnover":16505.4738,"open":13020.4},{"amount":1.13,"high":13171.2,"vol":1130,"low":12961.8,"count":112,"id":1603393200,"close":12970.6,"tradeTurnover":14762.952,"open":13028.3},{"amount":1.206,"high":13216.1,"vol":1206,"low":12998.5,"count":117,"id":1603396800,"close":13089.3,"tradeTurnover":15807.1226,"open":13016.7},{"amount":1.332,"high":13203.7,"vol":1332,"low":12932.9,"count":114,"id":1603400400,"close":13092.0,"tradeTurnover":17423.4422,"open":13136.0},{"amount":1.21,"high":13250.5,"vol":1210,"low":12984.7,"count":114,"id":1603404000,"close":13055.9,"tradeTurnover":15876.0632,"open":13119.4},{"amount":1.286,"high":13126.5,"vol":1286,"low":12857.2,"count":116,"id":1603407600,"close":12890.4,"tradeTurnover":16688.422,"open":13059.4},{"amount":1.502,"high":12994.0,"vol":1502,"low":12751.6,"count":131,"id":1603411200,"close":12892.2,"tradeTurnover":19331.1596,"open":12929.7},{"amount":1.386,"high":13003.2,"vol":1386,"low":12786.0,"count":121,"id":1603414800,"close":12898.3,"tradeTurnover":17904.8902,"open":12921.7},{"amount":1.416,"high":13054.0,"vol":1416,"low":12800.7,"count":122,"id":1603418400,"close":12975.1,"tradeTurnover":18306.6204,"open":12951.6},{"amount":1.19,"high":13030.7,"vol":1190,"low":12875.0,"count":118,"id":1603422000,"close":12947.0,"tradeTurnover":15409.7984,"open":12967.3},{"amount":1.022,"high":13047.3,"vol":1022,"low":12832.8,"count":127,"id":1603425600,"close":12852.0,"tradeTurnover":13214.4388,"open":12925.2},{"amount":0.478,"high":12991.7,"vol":478,"low":12841.2,"count":118,"id":1603429200,"close":12931.1,"tradeTurnover":6180.2486,"open":12859.0},{"amount":0.522,"high":13014.1,"vol":522,"low":12871.9,"count":132,"id":1603432800,"close":12939.6,"tradeTurnover":6759.0324,"open":12935.9},{"amount":0.476,"high":12998.9,"vol":476,"low":12917.1,"count":118,"id":1603436400,"close":12925.4,"tradeTurnover":6163.3118,"open":12923.1},{"amount":0.508,"high":13014.0,"vol":508,"low":12916.1,"count":122,"id":1603440000,"close":12962.6,"tradeTurnover":6585.3656,"open":12942.2},{"amount":0.564,"high":13012.5,"vol":564,"low":12909.9,"count":124,"id":1603443600,"close":12926.4,"tradeTurnover":7308.8828,"open":12970.5},{"amount":0.536,"high":13059.5,"vol":536,"low":12925.7,"count":124,"id":1603447200,"close":13007.7,"tradeTurnover":6957.8796,"open":13001.2},{"amount":0.486,"high":13078.4,"vol":486,"low":12906.5,"count":122,"id":1603450800,"close":12970.6,"tradeTurnover":6326.1434,"open":13025.4},{"amount":0.494,"high":13025.0,"vol":494,"low":12850.8,"count":117,"id":1603454400,"close":12935.4,"tradeTurnover":6396.0984,"open":12963.9},{"amount":0.466,"high":13043.3,"vol":466,"low":12911.0,"count":117,"id":1603458000,"close":12951.7,"tradeTurnover":6049.1412,"open":12913.3},{"amount":0.46,"high":13006.4,"vol":460,"low":12840.4,"count":116,"id":1603461600,"close":12858.8,"tradeTurnover":5941.815,"open":12999.6},{"amount":0.492,"high":12932.9,"vol":492,"low":12826.5,"count":117,"id":1603465200,"close":12881.9,"tradeTurnover":6340.214,"open":12885.7},{"amount":0.484,"high":12933.5,"vol":484,"low":12744.4,"count":123,"id":1603468800,"close":12784.1,"tradeTurnover":6205.4138,"open":12854.4},{"amount":0.562,"high":12893.1,"vol":562,"low":12730.1,"count":152,"id":1603472400,"close":12847.7,"tradeTurnover":7218.9184,"open":12832.3},{"amount":0.53,"high":12939.3,"vol":530,"low":12751.4,"count":128,"id":1603476000,"close":12915.7,"tradeTurnover":6825.7004,"open":12874.1},{"amount":0.444,"high":12972.9,"vol":444,"low":12786.6,"count":117,"id":1603479600,"close":12972.9,"tradeTurnover":5727.7452,"open":12867.9},{"amount":0.492,"high":13002.2,"vol":492,"low":12842.9,"count":116,"id":1603483200,"close":12991.6,"tradeTurnover":6375.1566,"open":12956.7},{"amount":0.5,"high":13004.3,"vol":500,"low":12936.6,"count":125,"id":1603486800,"close":12943.5,"tradeTurnover":6485.468,"open":13004.3},{"amount":0.492,"high":13010.3,"vol":492,"low":12884.7,"count":120,"id":1603490400,"close":12989.2,"tradeTurnover":6376.1492,"open":12923.6},{"amount":0.51,"high":13024.4,"vol":510,"low":12884.6,"count":121,"id":1603494000,"close":12884.6,"tradeTurnover":6622.3406,"open":12974.9},{"amount":0.488,"high":13018.3,"vol":488,"low":12811.1,"count":120,"id":1603497600,"close":12953.9,"tradeTurnover":6317.7938,"open":12973.7},{"amount":0.482,"high":13018.1,"vol":482,"low":12872.8,"count":117,"id":1603501200,"close":12934.2,"tradeTurnover":6242.4178,"open":12927.5},{"amount":0.484,"high":13003.9,"vol":484,"low":12903.3,"count":117,"id":1603504800,"close":12989.1,"tradeTurnover":6278.1756,"open":12971.9},{"amount":0.474,"high":13013.4,"vol":474,"low":12938.3,"count":122,"id":1603508400,"close":12975.9,"tradeTurnover":6157.7096,"open":13000.1},{"amount":0.526,"high":13009.4,"vol":526,"low":12905.5,"count":124,"id":1603512000,"close":12963.3,"tradeTurnover":6831.5658,"open":12989.7},{"amount":0.522,"high":13041.8,"vol":522,"low":12875.3,"count":127,"id":1603515600,"close":12989.7,"tradeTurnover":6768.8994,"open":12910.5},{"amount":0.49,"high":13058.1,"vol":490,"low":12908.8,"count":120,"id":1603519200,"close":13003.6,"tradeTurnover":6370.5714,"open":12994.7},{"amount":0.478,"high":13037.8,"vol":478,"low":12981.7,"count":120,"id":1603522800,"close":13004.2,"tradeTurnover":6218.9722,"open":13011.9},{"amount":0.52,"high":13030.6,"vol":520,"low":12899.4,"count":124,"id":1603526400,"close":12998.2,"tradeTurnover":6754.958,"open":13003.0},{"amount":0.454,"high":13020.3,"vol":454,"low":12893.6,"count":115,"id":1603530000,"close":12990.6,"tradeTurnover":5891.0574,"open":12998.2},{"amount":0.502,"high":13059.1,"vol":502,"low":12913.2,"count":124,"id":1603533600,"close":13030.1,"tradeTurnover":6525.9004,"open":12996.4},{"amount":0.468,"high":13068.3,"vol":468,"low":12940.2,"count":119,"id":1603537200,"close":13033.2,"tradeTurnover":6091.0376,"open":12988.4},{"amount":0.468,"high":13071.8,"vol":468,"low":12978.9,"count":123,"id":1603540800,"close":13006.5,"tradeTurnover":6102.5902,"open":13035.3},{"amount":0.534,"high":13066.7,"vol":534,"low":12928.1,"count":123,"id":1603544400,"close":12985.9,"tradeTurnover":6950.4268,"open":13038.8},{"amount":0.47,"high":13100.1,"vol":470,"low":12960.5,"count":100,"id":1603548000,"close":13042.0,"tradeTurnover":6124.2178,"open":12986.3},{"amount":0.456,"high":13196.5,"vol":456,"low":13038.4,"count":120,"id":1603551600,"close":13102.2,"tradeTurnover":5989.6362,"open":13038.4},{"amount":0.458,"high":13176.6,"vol":458,"low":12984.6,"count":121,"id":1603555200,"close":13052.7,"tradeTurnover":5976.331,"open":13136.8},{"amount":0.452,"high":13177.8,"vol":452,"low":13003.2,"count":118,"id":1603558800,"close":13177.8,"tradeTurnover":5911.7058,"open":13006.2},{"amount":0.468,"high":13170.7,"vol":468,"low":13023.0,"count":119,"id":1603562400,"close":13080.8,"tradeTurnover":6122.375,"open":13127.7},{"amount":0.468,"high":13179.3,"vol":468,"low":13014.2,"count":120,"id":1603566000,"close":13148.4,"tradeTurnover":6126.4278,"open":13040.7},{"amount":0.47,"high":13179.6,"vol":470,"low":12992.5,"count":119,"id":1603569600,"close":13090.1,"tradeTurnover":6151.4758,"open":13073.5},{"amount":0.458,"high":13148.7,"vol":458,"low":12980.7,"count":117,"id":1603573200,"close":12993.9,"tradeTurnover":5981.071,"open":13035.4},{"amount":0.478,"high":13112.1,"vol":478,"low":12975.6,"count":118,"id":1603576800,"close":13041.1,"tradeTurnover":6225.4216,"open":13040.7},{"amount":0.472,"high":13184.3,"vol":472,"low":13009.3,"count":118,"id":1603580400,"close":13184.3,"tradeTurnover":6173.4244,"open":13012.6},{"amount":0.46,"high":13170.4,"vol":460,"low":13007.7,"count":115,"id":1603584000,"close":13154.3,"tradeTurnover":6024.09,"open":13080.8},{"amount":0.398,"high":13196.8,"vol":398,"low":13024.0,"count":102,"id":1603587600,"close":13196.1,"tradeTurnover":5217.5364,"open":13092.0},{"amount":0.476,"high":13175.1,"vol":476,"low":13035.0,"count":120,"id":1603591200,"close":13082.4,"tradeTurnover":6228.6596,"open":13124.7},{"amount":0.578,"high":13383.8,"vol":578,"low":13049.1,"count":137,"id":1603594800,"close":13259.0,"tradeTurnover":7629.3886,"open":13049.1},{"amount":0.47,"high":13369.0,"vol":470,"low":13216.0,"count":122,"id":1603598400,"close":13243.4,"tradeTurnover":6247.955,"open":13277.0},{"amount":0.61,"high":13353.3,"vol":610,"low":13010.1,"count":134,"id":1603602000,"close":13017.3,"tradeTurnover":8048.8598,"open":13285.3},{"amount":0.486,"high":13105.7,"vol":486,"low":13018.2,"count":118,"id":1603605600,"close":13060.3,"tradeTurnover":6344.1474,"open":13022.5},{"amount":0.464,"high":13112.1,"vol":464,"low":13022.0,"count":120,"id":1603609200,"close":13078.1,"tradeTurnover":6061.5416,"open":13048.5},{"amount":0.464,"high":13091.0,"vol":464,"low":13017.2,"count":120,"id":1603612800,"close":13046.0,"tradeTurnover":6055.3734,"open":13077.2},{"amount":0.478,"high":13084.0,"vol":478,"low":13014.2,"count":117,"id":1603616400,"close":13040.8,"tradeTurnover":6235.7882,"open":13065.1},{"amount":0.478,"high":13064.2,"vol":478,"low":13010.2,"count":125,"id":1603620000,"close":13028.5,"tradeTurnover":6232.2428,"open":13047.1},{"amount":0.534,"high":13061.5,"vol":534,"low":12852.9,"count":123,"id":1603623600,"close":12897.6,"tradeTurnover":6918.1226,"open":13061.5},{"amount":0.444,"high":13069.7,"vol":444,"low":12893.2,"count":117,"id":1603627200,"close":12964.3,"tradeTurnover":5755.8712,"open":12908.3},{"amount":0.498,"high":13071.9,"vol":498,"low":12891.8,"count":119,"id":1603630800,"close":12949.3,"tradeTurnover":6465.078,"open":13001.3},{"amount":0.468,"high":13077.7,"vol":468,"low":12900.0,"count":116,"id":1603634400,"close":12946.8,"tradeTurnover":6075.4554,"open":12975.8},{"amount":0.47,"high":13069.1,"vol":470,"low":12883.3,"count":119,"id":1603638000,"close":12883.3,"tradeTurnover":6097.1072,"open":12975.2},{"amount":0.482,"high":13067.9,"vol":482,"low":12877.5,"count":118,"id":1603641600,"close":12978.7,"tradeTurnover":6256.4472,"open":12916.2},{"amount":0.47,"high":13087.5,"vol":470,"low":12922.7,"count":117,"id":1603645200,"close":13004.4,"tradeTurnover":6108.3892,"open":13008.0},{"amount":0.468,"high":13067.6,"vol":468,"low":12893.6,"count":118,"id":1603648800,"close":12957.2,"tradeTurnover":6079.1484,"open":12972.8},{"amount":0.442,"high":13066.9,"vol":442,"low":12916.6,"count":118,"id":1603652400,"close":13021.8,"tradeTurnover":5746.5548,"open":12996.5},{"amount":0.508,"high":13081.5,"vol":508,"low":12944.9,"count":120,"id":1603656000,"close":12985.4,"tradeTurnover":6616.9872,"open":12992.9},{"amount":0.508,"high":13068.6,"vol":508,"low":12921.4,"count":122,"id":1603659600,"close":13011.2,"tradeTurnover":6614.816,"open":12999.9},{"amount":0.486,"high":13073.8,"vol":486,"low":12911.9,"count":121,"id":1603663200,"close":12959.4,"tradeTurnover":6320.907,"open":12979.6},{"amount":0.452,"high":13085.2,"vol":452,"low":12927.8,"count":113,"id":1603666800,"close":13032.1,"tradeTurnover":5878.6442,"open":12963.4},{"amount":0.482,"high":13076.7,"vol":482,"low":12918.3,"count":121,"id":1603670400,"close":13001.0,"tradeTurnover":6263.698,"open":12964.2},{"amount":0.478,"high":13096.4,"vol":478,"low":12991.2,"count":124,"id":1603674000,"close":13053.7,"tradeTurnover":6232.2328,"open":13040.0},{"amount":0.488,"high":13185.7,"vol":488,"low":12985.1,"count":121,"id":1603677600,"close":13064.4,"tradeTurnover":6387.534,"open":13060.6},{"amount":0.486,"high":13187.2,"vol":486,"low":12984.1,"count":135,"id":1603681200,"close":13092.8,"tradeTurnover":6369.0272,"open":13032.3},{"amount":0.51,"high":13181.6,"vol":510,"low":12962.3,"count":131,"id":1603684800,"close":13132.6,"tradeTurnover":6679.829,"open":13092.0},{"amount":0.506,"high":13205.3,"vol":506,"low":13025.3,"count":126,"id":1603688400,"close":13092.1,"tradeTurnover":6641.2128,"open":13129.2},{"amount":1.616,"high":13188.1,"vol":1616,"low":12989.8,"count":141,"id":1603692000,"close":13071.4,"tradeTurnover":21170.8224,"open":13121.8},{"amount":3.746,"high":13100.0,"vol":3746,"low":12965.2,"count":110,"id":1603695600,"close":13038.7,"tradeTurnover":48924.8902,"open":13061.0},{"amount":8.966,"high":13102.0,"vol":8966,"low":12852.8,"count":173,"id":1603699200,"close":13039.3,"tradeTurnover":116525.5534,"open":13030.9},{"amount":4.48,"high":13088.4,"vol":4480,"low":13039.8,"count":124,"id":1603702800,"close":13075.9,"tradeTurnover":58521.1714,"open":13047.1},{"amount":4.272,"high":13100.0,"vol":4272,"low":13060.2,"count":130,"id":1603706400,"close":13100.0,"tradeTurnover":55895.9778,"open":13072.1},{"amount":29.798,"high":13159.0,"vol":29798,"low":13100.0,"count":230,"id":1603710000,"close":13138.4,"tradeTurnover":391138.024,"open":13100.0},{"amount":5.154,"high":13200.0,"vol":5154,"low":13100.0,"count":188,"id":1603713600,"close":13149.8,"tradeTurnover":67694.652,"open":13138.8},{"amount":35.608,"high":13351.5,"vol":35608,"low":13133.1,"count":328,"id":1603717200,"close":13205.8,"tradeTurnover":472780.3394,"open":13150.0},{"amount":31.748,"high":13280.0,"vol":31748,"low":13144.1,"count":235,"id":1603720800,"close":13166.1,"tradeTurnover":418744.5588,"open":13203.0},{"amount":36.53,"high":13165.2,"vol":36530,"low":12903.8,"count":384,"id":1603724400,"close":12978.0,"tradeTurnover":476940.3296,"open":13159.0},{"amount":35.018,"high":13069.8,"vol":35018,"low":12850.5,"count":323,"id":1603728000,"close":12869.6,"tradeTurnover":453288.918,"open":12965.0},{"amount":92.628,"high":12941.5,"vol":92628,"low":12583.9,"count":560,"id":1603731600,"close":12873.8,"tradeTurnover":1185973.467,"open":12879.2},{"amount":4.302,"high":12954.5,"vol":4302,"low":12820.4,"count":128,"id":1603735200,"close":12946.8,"tradeTurnover":55481.0054,"open":12856.2},{"amount":13.83,"high":12953.5,"vol":13830,"low":12914.1,"count":118,"id":1603738800,"close":12953.4,"tradeTurnover":179112.1598,"open":12945.6},{"amount":17.172,"high":13007.5,"vol":17172,"low":12953.5,"count":132,"id":1603742400,"close":12983.4,"tradeTurnover":223230.2122,"open":12953.5},{"amount":3.212,"high":13007.5,"vol":3212,"low":12982.7,"count":59,"id":1603746000,"close":12993.8,"tradeTurnover":41767.8906,"open":12983.1},{"amount":1.504,"high":13007.5,"vol":1504,"low":12974.0,"count":74,"id":1603749600,"close":13007.5,"tradeTurnover":19543.3568,"open":13002.1},{"amount":3.454,"high":13061.2,"vol":3454,"low":13007.5,"count":101,"id":1603753200,"close":13033.7,"tradeTurnover":45001.601,"open":13007.5},{"amount":8.784,"high":13105.0,"vol":8784,"low":13028.3,"count":98,"id":1603756800,"close":13067.1,"tradeTurnover":114871.8246,"open":13029.2},{"amount":11.592,"high":13074.4,"vol":11592,"low":13051.5,"count":66,"id":1603760400,"close":13061.7,"tradeTurnover":151386.9038,"open":13074.3},{"amount":19.298,"high":13097.6,"vol":19298,"low":13040.1,"count":109,"id":1603764000,"close":13049.7,"tradeTurnover":252061.019,"open":13061.7},{"amount":22.992,"high":13080.0,"vol":22992,"low":13057.1,"count":69,"id":1603767600,"close":13070.4,"tradeTurnover":300453.9788,"open":13057.6},{"amount":14.396,"high":13175.0,"vol":14396,"low":13079.6,"count":59,"id":1603771200,"close":13103.3,"tradeTurnover":188461.9156,"open":13080.0},{"amount":5.058,"high":13121.3,"vol":5058,"low":13069.7,"count":44,"id":1603774800,"close":13073.6,"tradeTurnover":66201.3552,"open":13121.3},{"amount":9.106,"high":13149.0,"vol":9106,"low":13069.6,"count":107,"id":1603778400,"close":13103.4,"tradeTurnover":119104.8906,"open":13074.9},{"amount":73.95,"high":13169.8,"vol":73950,"low":12992.4,"count":305,"id":1603782000,"close":13130.0,"tradeTurnover":968195.155,"open":13103.3},{"amount":18.732,"high":13148.4,"vol":18732,"low":13044.0,"count":135,"id":1603785600,"close":13123.8,"tradeTurnover":245533.5448,"open":13135.1},{"amount":13.756,"high":13131.8,"vol":13756,"low":13075.7,"count":102,"id":1603789200,"close":13131.7,"tradeTurnover":180253.7708,"open":13115.5},{"amount":154.108,"high":13252.0,"vol":154108,"low":13063.4,"count":525,"id":1603792800,"close":13216.9,"tradeTurnover":2029983.656,"open":13134.8},{"amount":170.09,"high":13590.1,"vol":170090,"low":13213.5,"count":591,"id":1603796400,"close":13395.8,"tradeTurnover":2276279.742,"open":13218.8},{"amount":48.928,"high":13414.0,"vol":48928,"low":13331.7,"count":216,"id":1603800000,"close":13376.9,"tradeTurnover":654585.9108,"open":13395.9},{"amount":63.294,"high":13490.9,"vol":63294,"low":13329.8,"count":316,"id":1603803600,"close":13384.3,"tradeTurnover":848130.9212,"open":13376.5},{"amount":12.892,"high":13415.8,"vol":12892,"low":13344.8,"count":124,"id":1603807200,"close":13398.2,"tradeTurnover":172618.6864,"open":13392.6},{"amount":93.22,"high":13626.7,"vol":93220,"low":13398.2,"count":476,"id":1603810800,"close":13598.5,"tradeTurnover":1262695.5466,"open":13398.2},{"amount":85.45,"high":13639.9,"vol":85450,"low":13520.2,"count":435,"id":1603814400,"close":13639.9,"tradeTurnover":1161481.4136,"open":13595.8},{"amount":191.812,"high":13826.7,"vol":191812,"low":13589.0,"count":711,"id":1603818000,"close":13688.1,"tradeTurnover":2628428.3788,"open":13640.0},{"amount":65.434,"high":13745.0,"vol":65434,"low":13528.2,"count":410,"id":1603821600,"close":13630.1,"tradeTurnover":891541.8394,"open":13685.0},{"amount":5.788,"high":13659.8,"vol":5788,"low":13595.4,"count":65,"id":1603825200,"close":13637.1,"tradeTurnover":78836.2578,"open":13629.4},{"amount":163.104,"high":13805.1,"vol":163104,"low":13582.6,"count":537,"id":1603828800,"close":13616.6,"tradeTurnover":2234040.3544,"open":13644.4},{"amount":9.884,"high":13753.5,"vol":9884,"low":13609.8,"count":101,"id":1603832400,"close":13705.5,"tradeTurnover":135406.4752,"open":13609.8},{"amount":7.436,"high":13739.9,"vol":7436,"low":13658.2,"count":100,"id":1603836000,"close":13739.9,"tradeTurnover":101840.3508,"open":13705.4},{"amount":17.086,"high":13794.6,"vol":17086,"low":13582.6,"count":234,"id":1603839600,"close":13649.6,"tradeTurnover":233971.8448,"open":13739.9},{"amount":24.108,"high":13745.2,"vol":24108,"low":13618.8,"count":177,"id":1603843200,"close":13701.7,"tradeTurnover":330206.5694,"open":13645.9},{"amount":15.892,"high":13725.6,"vol":15892,"low":13647.9,"count":151,"id":1603846800,"close":13702.6,"tradeTurnover":217816.7008,"open":13702.1},{"amount":46.548,"high":13832.2,"vol":46548,"low":13680.2,"count":274,"id":1603850400,"close":13811.6,"tradeTurnover":640636.0352,"open":13701.7},{"amount":67.896,"high":13820.3,"vol":67896,"low":13717.5,"count":320,"id":1603854000,"close":13777.0,"tradeTurnover":935838.2238,"open":13818.5},{"amount":33.156,"high":13807.2,"vol":33156,"low":13710.0,"count":210,"id":1603857600,"close":13735.7,"tradeTurnover":455941.234,"open":13767.3},{"amount":32.076,"high":13753.9,"vol":32076,"low":13671.3,"count":198,"id":1603861200,"close":13715.8,"tradeTurnover":439612.64,"open":13735.5},{"amount":14.756,"high":13757.0,"vol":14756,"low":13694.9,"count":122,"id":1603864800,"close":13701.3,"tradeTurnover":202602.5164,"open":13715.9},{"amount":155.534,"high":13708.7,"vol":155534,"low":13550.0,"count":635,"id":1603868400,"close":13674.2,"tradeTurnover":2117935.0928,"open":13701.2},{"amount":29.846,"high":13691.7,"vol":29846,"low":13584.0,"count":240,"id":1603872000,"close":13691.7,"tradeTurnover":407073.1398,"open":13673.0},{"amount":104.542,"high":13707.5,"vol":104542,"low":13573.5,"count":377,"id":1603875600,"close":13587.1,"tradeTurnover":1425079.9344,"open":13689.3},{"amount":73.818,"high":13618.0,"vol":73818,"low":13504.7,"count":358,"id":1603879200,"close":13552.7,"tradeTurnover":1001666.0908,"open":13584.6},{"amount":176.544,"high":13565.4,"vol":176544,"low":13330.0,"count":1004,"id":1603882800,"close":13336.4,"tradeTurnover":2369166.1492,"open":13552.6},{"amount":289.73,"high":13385.0,"vol":289730,"low":13173.9,"count":968,"id":1603886400,"close":13300.3,"tradeTurnover":3846751.7166,"open":13331.5},{"amount":139.822,"high":13340.0,"vol":139822,"low":13122.9,"count":612,"id":1603890000,"close":13129.9,"tradeTurnover":1848876.932,"open":13300.2},{"amount":367.876,"high":13168.2,"vol":367876,"low":12915.9,"count":1168,"id":1603893600,"close":13082.2,"tradeTurnover":4802516.9818,"open":13123.4},{"amount":84.044,"high":13235.2,"vol":84044,"low":13052.3,"count":375,"id":1603897200,"close":13221.2,"tradeTurnover":1106883.1282,"open":13077.1},{"amount":29.566,"high":13218.7,"vol":29566,"low":13050.0,"count":244,"id":1603900800,"close":13145.1,"tradeTurnover":388697.4104,"open":13218.7},{"amount":53.336,"high":13204.9,"vol":53336,"low":13006.6,"count":299,"id":1603904400,"close":13176.7,"tradeTurnover":700385.2784,"open":13145.1},{"amount":34.164,"high":13219.6,"vol":34164,"low":13131.0,"count":218,"id":1603908000,"close":13196.5,"tradeTurnover":450210.5778,"open":13171.0},{"amount":22.158,"high":13237.4,"vol":22158,"low":13145.0,"count":185,"id":1603911600,"close":13154.9,"tradeTurnover":292020.0438,"open":13200.0},{"amount":4.548,"high":13211.8,"vol":4548,"low":13147.4,"count":75,"id":1603915200,"close":13198.1,"tradeTurnover":59991.1118,"open":13154.5},{"amount":3.52,"high":13196.5,"vol":3520,"low":13100.2,"count":68,"id":1603918800,"close":13190.1,"tradeTurnover":46175.428,"open":13193.5},{"amount":3.122,"high":13267.5,"vol":3122,"low":13185.4,"count":72,"id":1603922400,"close":13252.0,"tradeTurnover":41304.2018,"open":13185.4},{"amount":14.768,"high":13282.3,"vol":14768,"low":13235.9,"count":86,"id":1603926000,"close":13265.9,"tradeTurnover":195689.0764,"open":13242.1},{"amount":19.968,"high":13294.7,"vol":19968,"low":13237.4,"count":98,"id":1603929600,"close":13245.1,"tradeTurnover":264834.1944,"open":13253.9},{"amount":35.282,"high":13285.3,"vol":35282,"low":13166.3,"count":192,"id":1603933200,"close":13274.2,"tradeTurnover":465789.6302,"open":13244.6},{"amount":9.748,"high":13277.7,"vol":9748,"low":13212.2,"count":119,"id":1603936800,"close":13241.1,"tradeTurnover":129016.0684,"open":13275.9},{"amount":27.3,"high":13262.5,"vol":27300,"low":13174.6,"count":199,"id":1603940400,"close":13262.5,"tradeTurnover":360589.8982,"open":13237.1},{"amount":18.904,"high":13277.7,"vol":18904,"low":13229.5,"count":109,"id":1603944000,"close":13229.5,"tradeTurnover":250713.2812,"open":13269.1},{"amount":15.822,"high":13274.8,"vol":15822,"low":13228.5,"count":134,"id":1603947600,"close":13274.8,"tradeTurnover":209781.909,"open":13228.5},{"amount":91.246,"high":13323.0,"vol":91246,"low":13242.3,"count":294,"id":1603951200,"close":13255.0,"tradeTurnover":1211271.2788,"open":13274.8},{"amount":187.622,"high":13269.3,"vol":187622,"low":13123.1,"count":506,"id":1603954800,"close":13142.4,"tradeTurnover":2478299.7074,"open":13255.0},{"amount":69.532,"high":13182.4,"vol":69532,"low":13094.1,"count":226,"id":1603958400,"close":13124.8,"tradeTurnover":914157.2418,"open":13145.9},{"amount":23.184,"high":13197.1,"vol":23184,"low":13129.5,"count":141,"id":1603962000,"close":13183.7,"tradeTurnover":305485.9524,"open":13129.5},{"amount":121.146,"high":13187.5,"vol":121146,"low":13053.1,"count":442,"id":1603965600,"close":13105.2,"tradeTurnover":1590026.4416,"open":13184.8},{"amount":47.498,"high":13171.4,"vol":47498,"low":13060.1,"count":262,"id":1603969200,"close":13060.1,"tradeTurnover":623578.149,"open":13105.1},{"amount":126.552,"high":13145.8,"vol":126552,"low":12977.9,"count":481,"id":1603972800,"close":13131.8,"tradeTurnover":1652549.311,"open":13056.9},{"amount":100.482,"high":13237.2,"vol":100482,"low":13102.0,"count":325,"id":1603976400,"close":13230.0,"tradeTurnover":1326403.7206,"open":13131.7},{"amount":253.258,"high":13476.1,"vol":253258,"low":13231.0,"count":752,"id":1603980000,"close":13420.8,"tradeTurnover":3384941.438,"open":13231.0},{"amount":64.71,"high":13458.7,"vol":64710,"low":13358.7,"count":269,"id":1603983600,"close":13420.6,"tradeTurnover":869052.3804,"open":13416.0},{"amount":120.24,"high":13594.5,"vol":120240,"low":13391.8,"count":570,"id":1603987200,"close":13535.9,"tradeTurnover":1626567.8278,"open":13421.9}],"id":"","rep":"market.BTC-USDT.kline.60min","status":"ok"} +2024-01-18 11:13:02.877 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:39] - 请求 KLine 数据用户收到的原始数据:{"id":"","rep":"market.BTC-USDT.kline.60min","ts":1705547581785,"wsid":19750305,"status":"ok","data":[{"id":1603270800,"open":12198.0,"close":12196.7,"high":12300.0,"low":11715.8,"amount":0.276,"vol":276,"trade_turnover":3315.9104,"count":39},{"id":1603274400,"open":12196.7,"close":12277.9,"high":12289.9,"low":12111.0,"amount":0.198,"vol":198,"trade_turnover":2420.7728,"count":21},{"id":1603278000,"open":12111.0,"close":12000.0,"high":12277.9,"low":12000.0,"amount":0.012,"vol":12,"trade_turnover":145.2238,"count":5},{"id":1603281600,"open":12078.0,"close":12497.4,"high":12498.0,"low":12078.0,"amount":0.084,"vol":84,"trade_turnover":1040.0504,"count":12},{"id":1603285200,"open":12495.6,"close":12373.5,"high":12495.6,"low":12282.9,"amount":1.122,"vol":1122,"trade_turnover":13905.3124,"count":112},{"id":1603288800,"open":12412.9,"close":12689.9,"high":12807.6,"low":12358.1,"amount":5.29,"vol":5290,"trade_turnover":66852.128,"count":155},{"id":1603292400,"open":12692.8,"close":12701.9,"high":12778.7,"low":12573.2,"amount":1.174,"vol":1174,"trade_turnover":14907.367,"count":113},{"id":1603296000,"open":12679.7,"close":12835.9,"high":12920.9,"low":12624.8,"amount":1.156,"vol":1156,"trade_turnover":14802.449,"count":115},{"id":1603299600,"open":12848.3,"close":12754.2,"high":12908.3,"low":12687.5,"amount":1.12,"vol":1120,"trade_turnover":14345.7324,"count":115},{"id":1603303200,"open":12743.7,"close":12740.2,"high":12849.0,"low":12668.3,"amount":1.106,"vol":1106,"trade_turnover":14105.3504,"count":114},{"id":1603306800,"open":12729.5,"close":12650.3,"high":12843.1,"low":12597.2,"amount":1.032,"vol":1032,"trade_turnover":13125.4568,"count":112},{"id":1603310400,"open":12666.8,"close":12807.0,"high":12848.4,"low":12610.2,"amount":1.154,"vol":1154,"trade_turnover":14680.638,"count":116},{"id":1603314000,"open":12866.0,"close":12938.9,"high":13005.1,"low":12748.2,"amount":1.164,"vol":1164,"trade_turnover":14976.9366,"count":114},{"id":1603317600,"open":12921.0,"close":13122.0,"high":13211.2,"low":12865.7,"amount":1.174,"vol":1174,"trade_turnover":15285.2446,"count":114},{"id":1603321200,"open":13153.2,"close":12829.8,"high":13173.2,"low":12688.6,"amount":1.172,"vol":1172,"trade_turnover":15060.9938,"count":117},{"id":1603324800,"open":12793.1,"close":12885.9,"high":12988.1,"low":12764.4,"amount":1.17,"vol":1170,"trade_turnover":15046.2046,"count":117},{"id":1603328400,"open":12860.4,"close":12757.5,"high":12972.6,"low":12757.5,"amount":1.158,"vol":1158,"trade_turnover":14882.4656,"count":118},{"id":1603332000,"open":12824.1,"close":12788.8,"high":12848.0,"low":12729.0,"amount":1.124,"vol":1124,"trade_turnover":14368.7948,"count":115},{"id":1603335600,"open":12791.7,"close":12767.2,"high":12834.4,"low":12729.0,"amount":1.194,"vol":1194,"trade_turnover":15268.9298,"count":111},{"id":1603339200,"open":12729.0,"close":12762.2,"high":12778.3,"low":12729.0,"amount":1.152,"vol":1152,"trade_turnover":14695.4876,"count":115},{"id":1603342800,"open":12763.1,"close":12813.8,"high":12842.0,"low":12730.6,"amount":1.21,"vol":1210,"trade_turnover":15440.8162,"count":119},{"id":1603346400,"open":12795.0,"close":12729.1,"high":12795.0,"low":12728.0,"amount":1.188,"vol":1188,"trade_turnover":15128.0098,"count":123},{"id":1603350000,"open":12728.6,"close":12730.6,"high":12730.6,"low":12728.3,"amount":1.266,"vol":1266,"trade_turnover":16115.1306,"count":112},{"id":1603353600,"open":12730.3,"close":12770.1,"high":12921.5,"low":12729.9,"amount":1.35,"vol":1350,"trade_turnover":17233.7326,"count":127},{"id":1603357200,"open":12824.9,"close":12780.4,"high":12872.1,"low":12760.1,"amount":0.98,"vol":980,"trade_turnover":12553.9826,"count":99},{"id":1603360800,"open":12784.9,"close":12934.2,"high":13002.7,"low":12775.6,"amount":0.266,"vol":266,"trade_turnover":3415.023,"count":30},{"id":1603364400,"open":12977.0,"close":13045.0,"high":13057.0,"low":12886.6,"amount":1.004,"vol":1004,"trade_turnover":13020.8576,"count":117},{"id":1603368000,"open":12958.5,"close":12847.9,"high":12973.4,"low":12751.6,"amount":1.134,"vol":1134,"trade_turnover":14594.2752,"count":111},{"id":1603371600,"open":12882.7,"close":12931.0,"high":13000.8,"low":12743.0,"amount":1.152,"vol":1152,"trade_turnover":14877.7314,"count":114},{"id":1603375200,"open":12890.4,"close":12917.8,"high":12995.3,"low":12783.9,"amount":1.182,"vol":1182,"trade_turnover":15224.4716,"count":115},{"id":1603378800,"open":12918.8,"close":12953.0,"high":13031.2,"low":12817.9,"amount":1.176,"vol":1176,"trade_turnover":15197.208,"count":117},{"id":1603382400,"open":12923.1,"close":13055.6,"high":13100.2,"low":12865.6,"amount":1.146,"vol":1146,"trade_turnover":14851.9604,"count":119},{"id":1603386000,"open":12967.6,"close":13082.7,"high":13105.7,"low":12835.5,"amount":1.534,"vol":1534,"trade_turnover":19927.8288,"count":124},{"id":1603389600,"open":13020.4,"close":13016.4,"high":13115.0,"low":12938.7,"amount":1.268,"vol":1268,"trade_turnover":16505.4738,"count":117},{"id":1603393200,"open":13028.3,"close":12970.6,"high":13171.2,"low":12961.8,"amount":1.13,"vol":1130,"trade_turnover":14762.952,"count":112},{"id":1603396800,"open":13016.7,"close":13089.3,"high":13216.1,"low":12998.5,"amount":1.206,"vol":1206,"trade_turnover":15807.1226,"count":117},{"id":1603400400,"open":13136.0,"close":13092.0,"high":13203.7,"low":12932.9,"amount":1.332,"vol":1332,"trade_turnover":17423.4422,"count":114},{"id":1603404000,"open":13119.4,"close":13055.9,"high":13250.5,"low":12984.7,"amount":1.21,"vol":1210,"trade_turnover":15876.0632,"count":114},{"id":1603407600,"open":13059.4,"close":12890.4,"high":13126.5,"low":12857.2,"amount":1.286,"vol":1286,"trade_turnover":16688.422,"count":116},{"id":1603411200,"open":12929.7,"close":12892.2,"high":12994.0,"low":12751.6,"amount":1.502,"vol":1502,"trade_turnover":19331.1596,"count":131},{"id":1603414800,"open":12921.7,"close":12898.3,"high":13003.2,"low":12786.0,"amount":1.386,"vol":1386,"trade_turnover":17904.8902,"count":121},{"id":1603418400,"open":12951.6,"close":12975.1,"high":13054.0,"low":12800.7,"amount":1.416,"vol":1416,"trade_turnover":18306.6204,"count":122},{"id":1603422000,"open":12967.3,"close":12947.0,"high":13030.7,"low":12875.0,"amount":1.19,"vol":1190,"trade_turnover":15409.7984,"count":118},{"id":1603425600,"open":12925.2,"close":12852.0,"high":13047.3,"low":12832.8,"amount":1.022,"vol":1022,"trade_turnover":13214.4388,"count":127},{"id":1603429200,"open":12859.0,"close":12931.1,"high":12991.7,"low":12841.2,"amount":0.478,"vol":478,"trade_turnover":6180.2486,"count":118},{"id":1603432800,"open":12935.9,"close":12939.6,"high":13014.1,"low":12871.9,"amount":0.522,"vol":522,"trade_turnover":6759.0324,"count":132},{"id":1603436400,"open":12923.1,"close":12925.4,"high":12998.9,"low":12917.1,"amount":0.476,"vol":476,"trade_turnover":6163.3118,"count":118},{"id":1603440000,"open":12942.2,"close":12962.6,"high":13014.0,"low":12916.1,"amount":0.508,"vol":508,"trade_turnover":6585.3656,"count":122},{"id":1603443600,"open":12970.5,"close":12926.4,"high":13012.5,"low":12909.9,"amount":0.564,"vol":564,"trade_turnover":7308.8828,"count":124},{"id":1603447200,"open":13001.2,"close":13007.7,"high":13059.5,"low":12925.7,"amount":0.536,"vol":536,"trade_turnover":6957.8796,"count":124},{"id":1603450800,"open":13025.4,"close":12970.6,"high":13078.4,"low":12906.5,"amount":0.486,"vol":486,"trade_turnover":6326.1434,"count":122},{"id":1603454400,"open":12963.9,"close":12935.4,"high":13025.0,"low":12850.8,"amount":0.494,"vol":494,"trade_turnover":6396.0984,"count":117},{"id":1603458000,"open":12913.3,"close":12951.7,"high":13043.3,"low":12911.0,"amount":0.466,"vol":466,"trade_turnover":6049.1412,"count":117},{"id":1603461600,"open":12999.6,"close":12858.8,"high":13006.4,"low":12840.4,"amount":0.46,"vol":460,"trade_turnover":5941.815,"count":116},{"id":1603465200,"open":12885.7,"close":12881.9,"high":12932.9,"low":12826.5,"amount":0.492,"vol":492,"trade_turnover":6340.214,"count":117},{"id":1603468800,"open":12854.4,"close":12784.1,"high":12933.5,"low":12744.4,"amount":0.484,"vol":484,"trade_turnover":6205.4138,"count":123},{"id":1603472400,"open":12832.3,"close":12847.7,"high":12893.1,"low":12730.1,"amount":0.562,"vol":562,"trade_turnover":7218.9184,"count":152},{"id":1603476000,"open":12874.1,"close":12915.7,"high":12939.3,"low":12751.4,"amount":0.53,"vol":530,"trade_turnover":6825.7004,"count":128},{"id":1603479600,"open":12867.9,"close":12972.9,"high":12972.9,"low":12786.6,"amount":0.444,"vol":444,"trade_turnover":5727.7452,"count":117},{"id":1603483200,"open":12956.7,"close":12991.6,"high":13002.2,"low":12842.9,"amount":0.492,"vol":492,"trade_turnover":6375.1566,"count":116},{"id":1603486800,"open":13004.3,"close":12943.5,"high":13004.3,"low":12936.6,"amount":0.5,"vol":500,"trade_turnover":6485.468,"count":125},{"id":1603490400,"open":12923.6,"close":12989.2,"high":13010.3,"low":12884.7,"amount":0.492,"vol":492,"trade_turnover":6376.1492,"count":120},{"id":1603494000,"open":12974.9,"close":12884.6,"high":13024.4,"low":12884.6,"amount":0.51,"vol":510,"trade_turnover":6622.3406,"count":121},{"id":1603497600,"open":12973.7,"close":12953.9,"high":13018.3,"low":12811.1,"amount":0.488,"vol":488,"trade_turnover":6317.7938,"count":120},{"id":1603501200,"open":12927.5,"close":12934.2,"high":13018.1,"low":12872.8,"amount":0.482,"vol":482,"trade_turnover":6242.4178,"count":117},{"id":1603504800,"open":12971.9,"close":12989.1,"high":13003.9,"low":12903.3,"amount":0.484,"vol":484,"trade_turnover":6278.1756,"count":117},{"id":1603508400,"open":13000.1,"close":12975.9,"high":13013.4,"low":12938.3,"amount":0.474,"vol":474,"trade_turnover":6157.7096,"count":122},{"id":1603512000,"open":12989.7,"close":12963.3,"high":13009.4,"low":12905.5,"amount":0.526,"vol":526,"trade_turnover":6831.5658,"count":124},{"id":1603515600,"open":12910.5,"close":12989.7,"high":13041.8,"low":12875.3,"amount":0.522,"vol":522,"trade_turnover":6768.8994,"count":127},{"id":1603519200,"open":12994.7,"close":13003.6,"high":13058.1,"low":12908.8,"amount":0.49,"vol":490,"trade_turnover":6370.5714,"count":120},{"id":1603522800,"open":13011.9,"close":13004.2,"high":13037.8,"low":12981.7,"amount":0.478,"vol":478,"trade_turnover":6218.9722,"count":120},{"id":1603526400,"open":13003.0,"close":12998.2,"high":13030.6,"low":12899.4,"amount":0.52,"vol":520,"trade_turnover":6754.958,"count":124},{"id":1603530000,"open":12998.2,"close":12990.6,"high":13020.3,"low":12893.6,"amount":0.454,"vol":454,"trade_turnover":5891.0574,"count":115},{"id":1603533600,"open":12996.4,"close":13030.1,"high":13059.1,"low":12913.2,"amount":0.502,"vol":502,"trade_turnover":6525.9004,"count":124},{"id":1603537200,"open":12988.4,"close":13033.2,"high":13068.3,"low":12940.2,"amount":0.468,"vol":468,"trade_turnover":6091.0376,"count":119},{"id":1603540800,"open":13035.3,"close":13006.5,"high":13071.8,"low":12978.9,"amount":0.468,"vol":468,"trade_turnover":6102.5902,"count":123},{"id":1603544400,"open":13038.8,"close":12985.9,"high":13066.7,"low":12928.1,"amount":0.534,"vol":534,"trade_turnover":6950.4268,"count":123},{"id":1603548000,"open":12986.3,"close":13042.0,"high":13100.1,"low":12960.5,"amount":0.47,"vol":470,"trade_turnover":6124.2178,"count":100},{"id":1603551600,"open":13038.4,"close":13102.2,"high":13196.5,"low":13038.4,"amount":0.456,"vol":456,"trade_turnover":5989.6362,"count":120},{"id":1603555200,"open":13136.8,"close":13052.7,"high":13176.6,"low":12984.6,"amount":0.458,"vol":458,"trade_turnover":5976.331,"count":121},{"id":1603558800,"open":13006.2,"close":13177.8,"high":13177.8,"low":13003.2,"amount":0.452,"vol":452,"trade_turnover":5911.7058,"count":118},{"id":1603562400,"open":13127.7,"close":13080.8,"high":13170.7,"low":13023.0,"amount":0.468,"vol":468,"trade_turnover":6122.375,"count":119},{"id":1603566000,"open":13040.7,"close":13148.4,"high":13179.3,"low":13014.2,"amount":0.468,"vol":468,"trade_turnover":6126.4278,"count":120},{"id":1603569600,"open":13073.5,"close":13090.1,"high":13179.6,"low":12992.5,"amount":0.47,"vol":470,"trade_turnover":6151.4758,"count":119},{"id":1603573200,"open":13035.4,"close":12993.9,"high":13148.7,"low":12980.7,"amount":0.458,"vol":458,"trade_turnover":5981.071,"count":117},{"id":1603576800,"open":13040.7,"close":13041.1,"high":13112.1,"low":12975.6,"amount":0.478,"vol":478,"trade_turnover":6225.4216,"count":118},{"id":1603580400,"open":13012.6,"close":13184.3,"high":13184.3,"low":13009.3,"amount":0.472,"vol":472,"trade_turnover":6173.4244,"count":118},{"id":1603584000,"open":13080.8,"close":13154.3,"high":13170.4,"low":13007.7,"amount":0.46,"vol":460,"trade_turnover":6024.09,"count":115},{"id":1603587600,"open":13092.0,"close":13196.1,"high":13196.8,"low":13024.0,"amount":0.398,"vol":398,"trade_turnover":5217.5364,"count":102},{"id":1603591200,"open":13124.7,"close":13082.4,"high":13175.1,"low":13035.0,"amount":0.476,"vol":476,"trade_turnover":6228.6596,"count":120},{"id":1603594800,"open":13049.1,"close":13259.0,"high":13383.8,"low":13049.1,"amount":0.578,"vol":578,"trade_turnover":7629.3886,"count":137},{"id":1603598400,"open":13277.0,"close":13243.4,"high":13369.0,"low":13216.0,"amount":0.47,"vol":470,"trade_turnover":6247.955,"count":122},{"id":1603602000,"open":13285.3,"close":13017.3,"high":13353.3,"low":13010.1,"amount":0.61,"vol":610,"trade_turnover":8048.8598,"count":134},{"id":1603605600,"open":13022.5,"close":13060.3,"high":13105.7,"low":13018.2,"amount":0.486,"vol":486,"trade_turnover":6344.1474,"count":118},{"id":1603609200,"open":13048.5,"close":13078.1,"high":13112.1,"low":13022.0,"amount":0.464,"vol":464,"trade_turnover":6061.5416,"count":120},{"id":1603612800,"open":13077.2,"close":13046.0,"high":13091.0,"low":13017.2,"amount":0.464,"vol":464,"trade_turnover":6055.3734,"count":120},{"id":1603616400,"open":13065.1,"close":13040.8,"high":13084.0,"low":13014.2,"amount":0.478,"vol":478,"trade_turnover":6235.7882,"count":117},{"id":1603620000,"open":13047.1,"close":13028.5,"high":13064.2,"low":13010.2,"amount":0.478,"vol":478,"trade_turnover":6232.2428,"count":125},{"id":1603623600,"open":13061.5,"close":12897.6,"high":13061.5,"low":12852.9,"amount":0.534,"vol":534,"trade_turnover":6918.1226,"count":123},{"id":1603627200,"open":12908.3,"close":12964.3,"high":13069.7,"low":12893.2,"amount":0.444,"vol":444,"trade_turnover":5755.8712,"count":117},{"id":1603630800,"open":13001.3,"close":12949.3,"high":13071.9,"low":12891.8,"amount":0.498,"vol":498,"trade_turnover":6465.078,"count":119},{"id":1603634400,"open":12975.8,"close":12946.8,"high":13077.7,"low":12900.0,"amount":0.468,"vol":468,"trade_turnover":6075.4554,"count":116},{"id":1603638000,"open":12975.2,"close":12883.3,"high":13069.1,"low":12883.3,"amount":0.47,"vol":470,"trade_turnover":6097.1072,"count":119},{"id":1603641600,"open":12916.2,"close":12978.7,"high":13067.9,"low":12877.5,"amount":0.482,"vol":482,"trade_turnover":6256.4472,"count":118},{"id":1603645200,"open":13008.0,"close":13004.4,"high":13087.5,"low":12922.7,"amount":0.47,"vol":470,"trade_turnover":6108.3892,"count":117},{"id":1603648800,"open":12972.8,"close":12957.2,"high":13067.6,"low":12893.6,"amount":0.468,"vol":468,"trade_turnover":6079.1484,"count":118},{"id":1603652400,"open":12996.5,"close":13021.8,"high":13066.9,"low":12916.6,"amount":0.442,"vol":442,"trade_turnover":5746.5548,"count":118},{"id":1603656000,"open":12992.9,"close":12985.4,"high":13081.5,"low":12944.9,"amount":0.508,"vol":508,"trade_turnover":6616.9872,"count":120},{"id":1603659600,"open":12999.9,"close":13011.2,"high":13068.6,"low":12921.4,"amount":0.508,"vol":508,"trade_turnover":6614.816,"count":122},{"id":1603663200,"open":12979.6,"close":12959.4,"high":13073.8,"low":12911.9,"amount":0.486,"vol":486,"trade_turnover":6320.907,"count":121},{"id":1603666800,"open":12963.4,"close":13032.1,"high":13085.2,"low":12927.8,"amount":0.452,"vol":452,"trade_turnover":5878.6442,"count":113},{"id":1603670400,"open":12964.2,"close":13001.0,"high":13076.7,"low":12918.3,"amount":0.482,"vol":482,"trade_turnover":6263.698,"count":121},{"id":1603674000,"open":13040.0,"close":13053.7,"high":13096.4,"low":12991.2,"amount":0.478,"vol":478,"trade_turnover":6232.2328,"count":124},{"id":1603677600,"open":13060.6,"close":13064.4,"high":13185.7,"low":12985.1,"amount":0.488,"vol":488,"trade_turnover":6387.534,"count":121},{"id":1603681200,"open":13032.3,"close":13092.8,"high":13187.2,"low":12984.1,"amount":0.486,"vol":486,"trade_turnover":6369.0272,"count":135},{"id":1603684800,"open":13092.0,"close":13132.6,"high":13181.6,"low":12962.3,"amount":0.51,"vol":510,"trade_turnover":6679.829,"count":131},{"id":1603688400,"open":13129.2,"close":13092.1,"high":13205.3,"low":13025.3,"amount":0.506,"vol":506,"trade_turnover":6641.2128,"count":126},{"id":1603692000,"open":13121.8,"close":13071.4,"high":13188.1,"low":12989.8,"amount":1.616,"vol":1616,"trade_turnover":21170.8224,"count":141},{"id":1603695600,"open":13061.0,"close":13038.7,"high":13100.0,"low":12965.2,"amount":3.746,"vol":3746,"trade_turnover":48924.8902,"count":110},{"id":1603699200,"open":13030.9,"close":13039.3,"high":13102.0,"low":12852.8,"amount":8.966,"vol":8966,"trade_turnover":116525.5534,"count":173},{"id":1603702800,"open":13047.1,"close":13075.9,"high":13088.4,"low":13039.8,"amount":4.48,"vol":4480,"trade_turnover":58521.1714,"count":124},{"id":1603706400,"open":13072.1,"close":13100.0,"high":13100.0,"low":13060.2,"amount":4.272,"vol":4272,"trade_turnover":55895.9778,"count":130},{"id":1603710000,"open":13100.0,"close":13138.4,"high":13159.0,"low":13100.0,"amount":29.798,"vol":29798,"trade_turnover":391138.024,"count":230},{"id":1603713600,"open":13138.8,"close":13149.8,"high":13200.0,"low":13100.0,"amount":5.154,"vol":5154,"trade_turnover":67694.652,"count":188},{"id":1603717200,"open":13150.0,"close":13205.8,"high":13351.5,"low":13133.1,"amount":35.608,"vol":35608,"trade_turnover":472780.3394,"count":328},{"id":1603720800,"open":13203.0,"close":13166.1,"high":13280.0,"low":13144.1,"amount":31.748,"vol":31748,"trade_turnover":418744.5588,"count":235},{"id":1603724400,"open":13159.0,"close":12978.0,"high":13165.2,"low":12903.8,"amount":36.53,"vol":36530,"trade_turnover":476940.3296,"count":384},{"id":1603728000,"open":12965.0,"close":12869.6,"high":13069.8,"low":12850.5,"amount":35.018,"vol":35018,"trade_turnover":453288.918,"count":323},{"id":1603731600,"open":12879.2,"close":12873.8,"high":12941.5,"low":12583.9,"amount":92.628,"vol":92628,"trade_turnover":1185973.467,"count":560},{"id":1603735200,"open":12856.2,"close":12946.8,"high":12954.5,"low":12820.4,"amount":4.302,"vol":4302,"trade_turnover":55481.0054,"count":128},{"id":1603738800,"open":12945.6,"close":12953.4,"high":12953.5,"low":12914.1,"amount":13.83,"vol":13830,"trade_turnover":179112.1598,"count":118},{"id":1603742400,"open":12953.5,"close":12983.4,"high":13007.5,"low":12953.5,"amount":17.172,"vol":17172,"trade_turnover":223230.2122,"count":132},{"id":1603746000,"open":12983.1,"close":12993.8,"high":13007.5,"low":12982.7,"amount":3.212,"vol":3212,"trade_turnover":41767.8906,"count":59},{"id":1603749600,"open":13002.1,"close":13007.5,"high":13007.5,"low":12974.0,"amount":1.504,"vol":1504,"trade_turnover":19543.3568,"count":74},{"id":1603753200,"open":13007.5,"close":13033.7,"high":13061.2,"low":13007.5,"amount":3.454,"vol":3454,"trade_turnover":45001.601,"count":101},{"id":1603756800,"open":13029.2,"close":13067.1,"high":13105.0,"low":13028.3,"amount":8.784,"vol":8784,"trade_turnover":114871.8246,"count":98},{"id":1603760400,"open":13074.3,"close":13061.7,"high":13074.4,"low":13051.5,"amount":11.592,"vol":11592,"trade_turnover":151386.9038,"count":66},{"id":1603764000,"open":13061.7,"close":13049.7,"high":13097.6,"low":13040.1,"amount":19.298,"vol":19298,"trade_turnover":252061.019,"count":109},{"id":1603767600,"open":13057.6,"close":13070.4,"high":13080.0,"low":13057.1,"amount":22.992,"vol":22992,"trade_turnover":300453.9788,"count":69},{"id":1603771200,"open":13080.0,"close":13103.3,"high":13175.0,"low":13079.6,"amount":14.396,"vol":14396,"trade_turnover":188461.9156,"count":59},{"id":1603774800,"open":13121.3,"close":13073.6,"high":13121.3,"low":13069.7,"amount":5.058,"vol":5058,"trade_turnover":66201.3552,"count":44},{"id":1603778400,"open":13074.9,"close":13103.4,"high":13149.0,"low":13069.6,"amount":9.106,"vol":9106,"trade_turnover":119104.8906,"count":107},{"id":1603782000,"open":13103.3,"close":13130.0,"high":13169.8,"low":12992.4,"amount":73.95,"vol":73950,"trade_turnover":968195.155,"count":305},{"id":1603785600,"open":13135.1,"close":13123.8,"high":13148.4,"low":13044.0,"amount":18.732,"vol":18732,"trade_turnover":245533.5448,"count":135},{"id":1603789200,"open":13115.5,"close":13131.7,"high":13131.8,"low":13075.7,"amount":13.756,"vol":13756,"trade_turnover":180253.7708,"count":102},{"id":1603792800,"open":13134.8,"close":13216.9,"high":13252.0,"low":13063.4,"amount":154.108,"vol":154108,"trade_turnover":2029983.656,"count":525},{"id":1603796400,"open":13218.8,"close":13395.8,"high":13590.1,"low":13213.5,"amount":170.09,"vol":170090,"trade_turnover":2276279.742,"count":591},{"id":1603800000,"open":13395.9,"close":13376.9,"high":13414.0,"low":13331.7,"amount":48.928,"vol":48928,"trade_turnover":654585.9108,"count":216},{"id":1603803600,"open":13376.5,"close":13384.3,"high":13490.9,"low":13329.8,"amount":63.294,"vol":63294,"trade_turnover":848130.9212,"count":316},{"id":1603807200,"open":13392.6,"close":13398.2,"high":13415.8,"low":13344.8,"amount":12.892,"vol":12892,"trade_turnover":172618.6864,"count":124},{"id":1603810800,"open":13398.2,"close":13598.5,"high":13626.7,"low":13398.2,"amount":93.22,"vol":93220,"trade_turnover":1262695.5466,"count":476},{"id":1603814400,"open":13595.8,"close":13639.9,"high":13639.9,"low":13520.2,"amount":85.45,"vol":85450,"trade_turnover":1161481.4136,"count":435},{"id":1603818000,"open":13640.0,"close":13688.1,"high":13826.7,"low":13589.0,"amount":191.812,"vol":191812,"trade_turnover":2628428.3788,"count":711},{"id":1603821600,"open":13685.0,"close":13630.1,"high":13745.0,"low":13528.2,"amount":65.434,"vol":65434,"trade_turnover":891541.8394,"count":410},{"id":1603825200,"open":13629.4,"close":13637.1,"high":13659.8,"low":13595.4,"amount":5.788,"vol":5788,"trade_turnover":78836.2578,"count":65},{"id":1603828800,"open":13644.4,"close":13616.6,"high":13805.1,"low":13582.6,"amount":163.104,"vol":163104,"trade_turnover":2234040.3544,"count":537},{"id":1603832400,"open":13609.8,"close":13705.5,"high":13753.5,"low":13609.8,"amount":9.884,"vol":9884,"trade_turnover":135406.4752,"count":101},{"id":1603836000,"open":13705.4,"close":13739.9,"high":13739.9,"low":13658.2,"amount":7.436,"vol":7436,"trade_turnover":101840.3508,"count":100},{"id":1603839600,"open":13739.9,"close":13649.6,"high":13794.6,"low":13582.6,"amount":17.086,"vol":17086,"trade_turnover":233971.8448,"count":234},{"id":1603843200,"open":13645.9,"close":13701.7,"high":13745.2,"low":13618.8,"amount":24.108,"vol":24108,"trade_turnover":330206.5694,"count":177},{"id":1603846800,"open":13702.1,"close":13702.6,"high":13725.6,"low":13647.9,"amount":15.892,"vol":15892,"trade_turnover":217816.7008,"count":151},{"id":1603850400,"open":13701.7,"close":13811.6,"high":13832.2,"low":13680.2,"amount":46.548,"vol":46548,"trade_turnover":640636.0352,"count":274},{"id":1603854000,"open":13818.5,"close":13777.0,"high":13820.3,"low":13717.5,"amount":67.896,"vol":67896,"trade_turnover":935838.2238,"count":320},{"id":1603857600,"open":13767.3,"close":13735.7,"high":13807.2,"low":13710.0,"amount":33.156,"vol":33156,"trade_turnover":455941.234,"count":210},{"id":1603861200,"open":13735.5,"close":13715.8,"high":13753.9,"low":13671.3,"amount":32.076,"vol":32076,"trade_turnover":439612.64,"count":198},{"id":1603864800,"open":13715.9,"close":13701.3,"high":13757.0,"low":13694.9,"amount":14.756,"vol":14756,"trade_turnover":202602.5164,"count":122},{"id":1603868400,"open":13701.2,"close":13674.2,"high":13708.7,"low":13550.0,"amount":155.534,"vol":155534,"trade_turnover":2117935.0928,"count":635},{"id":1603872000,"open":13673.0,"close":13691.7,"high":13691.7,"low":13584.0,"amount":29.846,"vol":29846,"trade_turnover":407073.1398,"count":240},{"id":1603875600,"open":13689.3,"close":13587.1,"high":13707.5,"low":13573.5,"amount":104.542,"vol":104542,"trade_turnover":1425079.9344,"count":377},{"id":1603879200,"open":13584.6,"close":13552.7,"high":13618.0,"low":13504.7,"amount":73.818,"vol":73818,"trade_turnover":1001666.0908,"count":358},{"id":1603882800,"open":13552.6,"close":13336.4,"high":13565.4,"low":13330.0,"amount":176.544,"vol":176544,"trade_turnover":2369166.1492,"count":1004},{"id":1603886400,"open":13331.5,"close":13300.3,"high":13385.0,"low":13173.9,"amount":289.73,"vol":289730,"trade_turnover":3846751.7166,"count":968},{"id":1603890000,"open":13300.2,"close":13129.9,"high":13340.0,"low":13122.9,"amount":139.822,"vol":139822,"trade_turnover":1848876.932,"count":612},{"id":1603893600,"open":13123.4,"close":13082.2,"high":13168.2,"low":12915.9,"amount":367.876,"vol":367876,"trade_turnover":4802516.9818,"count":1168},{"id":1603897200,"open":13077.1,"close":13221.2,"high":13235.2,"low":13052.3,"amount":84.044,"vol":84044,"trade_turnover":1106883.1282,"count":375},{"id":1603900800,"open":13218.7,"close":13145.1,"high":13218.7,"low":13050.0,"amount":29.566,"vol":29566,"trade_turnover":388697.4104,"count":244},{"id":1603904400,"open":13145.1,"close":13176.7,"high":13204.9,"low":13006.6,"amount":53.336,"vol":53336,"trade_turnover":700385.2784,"count":299},{"id":1603908000,"open":13171.0,"close":13196.5,"high":13219.6,"low":13131.0,"amount":34.164,"vol":34164,"trade_turnover":450210.5778,"count":218},{"id":1603911600,"open":13200.0,"close":13154.9,"high":13237.4,"low":13145.0,"amount":22.158,"vol":22158,"trade_turnover":292020.0438,"count":185},{"id":1603915200,"open":13154.5,"close":13198.1,"high":13211.8,"low":13147.4,"amount":4.548,"vol":4548,"trade_turnover":59991.1118,"count":75},{"id":1603918800,"open":13193.5,"close":13190.1,"high":13196.5,"low":13100.2,"amount":3.52,"vol":3520,"trade_turnover":46175.428,"count":68},{"id":1603922400,"open":13185.4,"close":13252.0,"high":13267.5,"low":13185.4,"amount":3.122,"vol":3122,"trade_turnover":41304.2018,"count":72},{"id":1603926000,"open":13242.1,"close":13265.9,"high":13282.3,"low":13235.9,"amount":14.768,"vol":14768,"trade_turnover":195689.0764,"count":86},{"id":1603929600,"open":13253.9,"close":13245.1,"high":13294.7,"low":13237.4,"amount":19.968,"vol":19968,"trade_turnover":264834.1944,"count":98},{"id":1603933200,"open":13244.6,"close":13274.2,"high":13285.3,"low":13166.3,"amount":35.282,"vol":35282,"trade_turnover":465789.6302,"count":192},{"id":1603936800,"open":13275.9,"close":13241.1,"high":13277.7,"low":13212.2,"amount":9.748,"vol":9748,"trade_turnover":129016.0684,"count":119},{"id":1603940400,"open":13237.1,"close":13262.5,"high":13262.5,"low":13174.6,"amount":27.3,"vol":27300,"trade_turnover":360589.8982,"count":199},{"id":1603944000,"open":13269.1,"close":13229.5,"high":13277.7,"low":13229.5,"amount":18.904,"vol":18904,"trade_turnover":250713.2812,"count":109},{"id":1603947600,"open":13228.5,"close":13274.8,"high":13274.8,"low":13228.5,"amount":15.822,"vol":15822,"trade_turnover":209781.909,"count":134},{"id":1603951200,"open":13274.8,"close":13255.0,"high":13323.0,"low":13242.3,"amount":91.246,"vol":91246,"trade_turnover":1211271.2788,"count":294},{"id":1603954800,"open":13255.0,"close":13142.4,"high":13269.3,"low":13123.1,"amount":187.622,"vol":187622,"trade_turnover":2478299.7074,"count":506},{"id":1603958400,"open":13145.9,"close":13124.8,"high":13182.4,"low":13094.1,"amount":69.532,"vol":69532,"trade_turnover":914157.2418,"count":226},{"id":1603962000,"open":13129.5,"close":13183.7,"high":13197.1,"low":13129.5,"amount":23.184,"vol":23184,"trade_turnover":305485.9524,"count":141},{"id":1603965600,"open":13184.8,"close":13105.2,"high":13187.5,"low":13053.1,"amount":121.146,"vol":121146,"trade_turnover":1590026.4416,"count":442},{"id":1603969200,"open":13105.1,"close":13060.1,"high":13171.4,"low":13060.1,"amount":47.498,"vol":47498,"trade_turnover":623578.149,"count":262},{"id":1603972800,"open":13056.9,"close":13131.8,"high":13145.8,"low":12977.9,"amount":126.552,"vol":126552,"trade_turnover":1652549.311,"count":481},{"id":1603976400,"open":13131.7,"close":13230.0,"high":13237.2,"low":13102.0,"amount":100.482,"vol":100482,"trade_turnover":1326403.7206,"count":325},{"id":1603980000,"open":13231.0,"close":13420.8,"high":13476.1,"low":13231.0,"amount":253.258,"vol":253258,"trade_turnover":3384941.438,"count":752},{"id":1603983600,"open":13416.0,"close":13420.6,"high":13458.7,"low":13358.7,"amount":64.71,"vol":64710,"trade_turnover":869052.3804,"count":269},{"id":1603987200,"open":13421.9,"close":13535.9,"high":13594.5,"low":13391.8,"amount":120.24,"vol":120240,"trade_turnover":1626567.8278,"count":570}]} +2024-01-18 11:13:02.879 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:41] - 请求 KLine 数据解析之后的数据为:{"wsid":19750305,"data":[{"amount":0.276,"high":12300.0,"vol":276,"low":11715.8,"count":39,"id":1603270800,"close":12196.7,"tradeTurnover":3315.9104,"open":12198.0},{"amount":0.198,"high":12289.9,"vol":198,"low":12111.0,"count":21,"id":1603274400,"close":12277.9,"tradeTurnover":2420.7728,"open":12196.7},{"amount":0.012,"high":12277.9,"vol":12,"low":12000.0,"count":5,"id":1603278000,"close":12000.0,"tradeTurnover":145.2238,"open":12111.0},{"amount":0.084,"high":12498.0,"vol":84,"low":12078.0,"count":12,"id":1603281600,"close":12497.4,"tradeTurnover":1040.0504,"open":12078.0},{"amount":1.122,"high":12495.6,"vol":1122,"low":12282.9,"count":112,"id":1603285200,"close":12373.5,"tradeTurnover":13905.3124,"open":12495.6},{"amount":5.29,"high":12807.6,"vol":5290,"low":12358.1,"count":155,"id":1603288800,"close":12689.9,"tradeTurnover":66852.128,"open":12412.9},{"amount":1.174,"high":12778.7,"vol":1174,"low":12573.2,"count":113,"id":1603292400,"close":12701.9,"tradeTurnover":14907.367,"open":12692.8},{"amount":1.156,"high":12920.9,"vol":1156,"low":12624.8,"count":115,"id":1603296000,"close":12835.9,"tradeTurnover":14802.449,"open":12679.7},{"amount":1.12,"high":12908.3,"vol":1120,"low":12687.5,"count":115,"id":1603299600,"close":12754.2,"tradeTurnover":14345.7324,"open":12848.3},{"amount":1.106,"high":12849.0,"vol":1106,"low":12668.3,"count":114,"id":1603303200,"close":12740.2,"tradeTurnover":14105.3504,"open":12743.7},{"amount":1.032,"high":12843.1,"vol":1032,"low":12597.2,"count":112,"id":1603306800,"close":12650.3,"tradeTurnover":13125.4568,"open":12729.5},{"amount":1.154,"high":12848.4,"vol":1154,"low":12610.2,"count":116,"id":1603310400,"close":12807.0,"tradeTurnover":14680.638,"open":12666.8},{"amount":1.164,"high":13005.1,"vol":1164,"low":12748.2,"count":114,"id":1603314000,"close":12938.9,"tradeTurnover":14976.9366,"open":12866.0},{"amount":1.174,"high":13211.2,"vol":1174,"low":12865.7,"count":114,"id":1603317600,"close":13122.0,"tradeTurnover":15285.2446,"open":12921.0},{"amount":1.172,"high":13173.2,"vol":1172,"low":12688.6,"count":117,"id":1603321200,"close":12829.8,"tradeTurnover":15060.9938,"open":13153.2},{"amount":1.17,"high":12988.1,"vol":1170,"low":12764.4,"count":117,"id":1603324800,"close":12885.9,"tradeTurnover":15046.2046,"open":12793.1},{"amount":1.158,"high":12972.6,"vol":1158,"low":12757.5,"count":118,"id":1603328400,"close":12757.5,"tradeTurnover":14882.4656,"open":12860.4},{"amount":1.124,"high":12848.0,"vol":1124,"low":12729.0,"count":115,"id":1603332000,"close":12788.8,"tradeTurnover":14368.7948,"open":12824.1},{"amount":1.194,"high":12834.4,"vol":1194,"low":12729.0,"count":111,"id":1603335600,"close":12767.2,"tradeTurnover":15268.9298,"open":12791.7},{"amount":1.152,"high":12778.3,"vol":1152,"low":12729.0,"count":115,"id":1603339200,"close":12762.2,"tradeTurnover":14695.4876,"open":12729.0},{"amount":1.21,"high":12842.0,"vol":1210,"low":12730.6,"count":119,"id":1603342800,"close":12813.8,"tradeTurnover":15440.8162,"open":12763.1},{"amount":1.188,"high":12795.0,"vol":1188,"low":12728.0,"count":123,"id":1603346400,"close":12729.1,"tradeTurnover":15128.0098,"open":12795.0},{"amount":1.266,"high":12730.6,"vol":1266,"low":12728.3,"count":112,"id":1603350000,"close":12730.6,"tradeTurnover":16115.1306,"open":12728.6},{"amount":1.35,"high":12921.5,"vol":1350,"low":12729.9,"count":127,"id":1603353600,"close":12770.1,"tradeTurnover":17233.7326,"open":12730.3},{"amount":0.98,"high":12872.1,"vol":980,"low":12760.1,"count":99,"id":1603357200,"close":12780.4,"tradeTurnover":12553.9826,"open":12824.9},{"amount":0.266,"high":13002.7,"vol":266,"low":12775.6,"count":30,"id":1603360800,"close":12934.2,"tradeTurnover":3415.023,"open":12784.9},{"amount":1.004,"high":13057.0,"vol":1004,"low":12886.6,"count":117,"id":1603364400,"close":13045.0,"tradeTurnover":13020.8576,"open":12977.0},{"amount":1.134,"high":12973.4,"vol":1134,"low":12751.6,"count":111,"id":1603368000,"close":12847.9,"tradeTurnover":14594.2752,"open":12958.5},{"amount":1.152,"high":13000.8,"vol":1152,"low":12743.0,"count":114,"id":1603371600,"close":12931.0,"tradeTurnover":14877.7314,"open":12882.7},{"amount":1.182,"high":12995.3,"vol":1182,"low":12783.9,"count":115,"id":1603375200,"close":12917.8,"tradeTurnover":15224.4716,"open":12890.4},{"amount":1.176,"high":13031.2,"vol":1176,"low":12817.9,"count":117,"id":1603378800,"close":12953.0,"tradeTurnover":15197.208,"open":12918.8},{"amount":1.146,"high":13100.2,"vol":1146,"low":12865.6,"count":119,"id":1603382400,"close":13055.6,"tradeTurnover":14851.9604,"open":12923.1},{"amount":1.534,"high":13105.7,"vol":1534,"low":12835.5,"count":124,"id":1603386000,"close":13082.7,"tradeTurnover":19927.8288,"open":12967.6},{"amount":1.268,"high":13115.0,"vol":1268,"low":12938.7,"count":117,"id":1603389600,"close":13016.4,"tradeTurnover":16505.4738,"open":13020.4},{"amount":1.13,"high":13171.2,"vol":1130,"low":12961.8,"count":112,"id":1603393200,"close":12970.6,"tradeTurnover":14762.952,"open":13028.3},{"amount":1.206,"high":13216.1,"vol":1206,"low":12998.5,"count":117,"id":1603396800,"close":13089.3,"tradeTurnover":15807.1226,"open":13016.7},{"amount":1.332,"high":13203.7,"vol":1332,"low":12932.9,"count":114,"id":1603400400,"close":13092.0,"tradeTurnover":17423.4422,"open":13136.0},{"amount":1.21,"high":13250.5,"vol":1210,"low":12984.7,"count":114,"id":1603404000,"close":13055.9,"tradeTurnover":15876.0632,"open":13119.4},{"amount":1.286,"high":13126.5,"vol":1286,"low":12857.2,"count":116,"id":1603407600,"close":12890.4,"tradeTurnover":16688.422,"open":13059.4},{"amount":1.502,"high":12994.0,"vol":1502,"low":12751.6,"count":131,"id":1603411200,"close":12892.2,"tradeTurnover":19331.1596,"open":12929.7},{"amount":1.386,"high":13003.2,"vol":1386,"low":12786.0,"count":121,"id":1603414800,"close":12898.3,"tradeTurnover":17904.8902,"open":12921.7},{"amount":1.416,"high":13054.0,"vol":1416,"low":12800.7,"count":122,"id":1603418400,"close":12975.1,"tradeTurnover":18306.6204,"open":12951.6},{"amount":1.19,"high":13030.7,"vol":1190,"low":12875.0,"count":118,"id":1603422000,"close":12947.0,"tradeTurnover":15409.7984,"open":12967.3},{"amount":1.022,"high":13047.3,"vol":1022,"low":12832.8,"count":127,"id":1603425600,"close":12852.0,"tradeTurnover":13214.4388,"open":12925.2},{"amount":0.478,"high":12991.7,"vol":478,"low":12841.2,"count":118,"id":1603429200,"close":12931.1,"tradeTurnover":6180.2486,"open":12859.0},{"amount":0.522,"high":13014.1,"vol":522,"low":12871.9,"count":132,"id":1603432800,"close":12939.6,"tradeTurnover":6759.0324,"open":12935.9},{"amount":0.476,"high":12998.9,"vol":476,"low":12917.1,"count":118,"id":1603436400,"close":12925.4,"tradeTurnover":6163.3118,"open":12923.1},{"amount":0.508,"high":13014.0,"vol":508,"low":12916.1,"count":122,"id":1603440000,"close":12962.6,"tradeTurnover":6585.3656,"open":12942.2},{"amount":0.564,"high":13012.5,"vol":564,"low":12909.9,"count":124,"id":1603443600,"close":12926.4,"tradeTurnover":7308.8828,"open":12970.5},{"amount":0.536,"high":13059.5,"vol":536,"low":12925.7,"count":124,"id":1603447200,"close":13007.7,"tradeTurnover":6957.8796,"open":13001.2},{"amount":0.486,"high":13078.4,"vol":486,"low":12906.5,"count":122,"id":1603450800,"close":12970.6,"tradeTurnover":6326.1434,"open":13025.4},{"amount":0.494,"high":13025.0,"vol":494,"low":12850.8,"count":117,"id":1603454400,"close":12935.4,"tradeTurnover":6396.0984,"open":12963.9},{"amount":0.466,"high":13043.3,"vol":466,"low":12911.0,"count":117,"id":1603458000,"close":12951.7,"tradeTurnover":6049.1412,"open":12913.3},{"amount":0.46,"high":13006.4,"vol":460,"low":12840.4,"count":116,"id":1603461600,"close":12858.8,"tradeTurnover":5941.815,"open":12999.6},{"amount":0.492,"high":12932.9,"vol":492,"low":12826.5,"count":117,"id":1603465200,"close":12881.9,"tradeTurnover":6340.214,"open":12885.7},{"amount":0.484,"high":12933.5,"vol":484,"low":12744.4,"count":123,"id":1603468800,"close":12784.1,"tradeTurnover":6205.4138,"open":12854.4},{"amount":0.562,"high":12893.1,"vol":562,"low":12730.1,"count":152,"id":1603472400,"close":12847.7,"tradeTurnover":7218.9184,"open":12832.3},{"amount":0.53,"high":12939.3,"vol":530,"low":12751.4,"count":128,"id":1603476000,"close":12915.7,"tradeTurnover":6825.7004,"open":12874.1},{"amount":0.444,"high":12972.9,"vol":444,"low":12786.6,"count":117,"id":1603479600,"close":12972.9,"tradeTurnover":5727.7452,"open":12867.9},{"amount":0.492,"high":13002.2,"vol":492,"low":12842.9,"count":116,"id":1603483200,"close":12991.6,"tradeTurnover":6375.1566,"open":12956.7},{"amount":0.5,"high":13004.3,"vol":500,"low":12936.6,"count":125,"id":1603486800,"close":12943.5,"tradeTurnover":6485.468,"open":13004.3},{"amount":0.492,"high":13010.3,"vol":492,"low":12884.7,"count":120,"id":1603490400,"close":12989.2,"tradeTurnover":6376.1492,"open":12923.6},{"amount":0.51,"high":13024.4,"vol":510,"low":12884.6,"count":121,"id":1603494000,"close":12884.6,"tradeTurnover":6622.3406,"open":12974.9},{"amount":0.488,"high":13018.3,"vol":488,"low":12811.1,"count":120,"id":1603497600,"close":12953.9,"tradeTurnover":6317.7938,"open":12973.7},{"amount":0.482,"high":13018.1,"vol":482,"low":12872.8,"count":117,"id":1603501200,"close":12934.2,"tradeTurnover":6242.4178,"open":12927.5},{"amount":0.484,"high":13003.9,"vol":484,"low":12903.3,"count":117,"id":1603504800,"close":12989.1,"tradeTurnover":6278.1756,"open":12971.9},{"amount":0.474,"high":13013.4,"vol":474,"low":12938.3,"count":122,"id":1603508400,"close":12975.9,"tradeTurnover":6157.7096,"open":13000.1},{"amount":0.526,"high":13009.4,"vol":526,"low":12905.5,"count":124,"id":1603512000,"close":12963.3,"tradeTurnover":6831.5658,"open":12989.7},{"amount":0.522,"high":13041.8,"vol":522,"low":12875.3,"count":127,"id":1603515600,"close":12989.7,"tradeTurnover":6768.8994,"open":12910.5},{"amount":0.49,"high":13058.1,"vol":490,"low":12908.8,"count":120,"id":1603519200,"close":13003.6,"tradeTurnover":6370.5714,"open":12994.7},{"amount":0.478,"high":13037.8,"vol":478,"low":12981.7,"count":120,"id":1603522800,"close":13004.2,"tradeTurnover":6218.9722,"open":13011.9},{"amount":0.52,"high":13030.6,"vol":520,"low":12899.4,"count":124,"id":1603526400,"close":12998.2,"tradeTurnover":6754.958,"open":13003.0},{"amount":0.454,"high":13020.3,"vol":454,"low":12893.6,"count":115,"id":1603530000,"close":12990.6,"tradeTurnover":5891.0574,"open":12998.2},{"amount":0.502,"high":13059.1,"vol":502,"low":12913.2,"count":124,"id":1603533600,"close":13030.1,"tradeTurnover":6525.9004,"open":12996.4},{"amount":0.468,"high":13068.3,"vol":468,"low":12940.2,"count":119,"id":1603537200,"close":13033.2,"tradeTurnover":6091.0376,"open":12988.4},{"amount":0.468,"high":13071.8,"vol":468,"low":12978.9,"count":123,"id":1603540800,"close":13006.5,"tradeTurnover":6102.5902,"open":13035.3},{"amount":0.534,"high":13066.7,"vol":534,"low":12928.1,"count":123,"id":1603544400,"close":12985.9,"tradeTurnover":6950.4268,"open":13038.8},{"amount":0.47,"high":13100.1,"vol":470,"low":12960.5,"count":100,"id":1603548000,"close":13042.0,"tradeTurnover":6124.2178,"open":12986.3},{"amount":0.456,"high":13196.5,"vol":456,"low":13038.4,"count":120,"id":1603551600,"close":13102.2,"tradeTurnover":5989.6362,"open":13038.4},{"amount":0.458,"high":13176.6,"vol":458,"low":12984.6,"count":121,"id":1603555200,"close":13052.7,"tradeTurnover":5976.331,"open":13136.8},{"amount":0.452,"high":13177.8,"vol":452,"low":13003.2,"count":118,"id":1603558800,"close":13177.8,"tradeTurnover":5911.7058,"open":13006.2},{"amount":0.468,"high":13170.7,"vol":468,"low":13023.0,"count":119,"id":1603562400,"close":13080.8,"tradeTurnover":6122.375,"open":13127.7},{"amount":0.468,"high":13179.3,"vol":468,"low":13014.2,"count":120,"id":1603566000,"close":13148.4,"tradeTurnover":6126.4278,"open":13040.7},{"amount":0.47,"high":13179.6,"vol":470,"low":12992.5,"count":119,"id":1603569600,"close":13090.1,"tradeTurnover":6151.4758,"open":13073.5},{"amount":0.458,"high":13148.7,"vol":458,"low":12980.7,"count":117,"id":1603573200,"close":12993.9,"tradeTurnover":5981.071,"open":13035.4},{"amount":0.478,"high":13112.1,"vol":478,"low":12975.6,"count":118,"id":1603576800,"close":13041.1,"tradeTurnover":6225.4216,"open":13040.7},{"amount":0.472,"high":13184.3,"vol":472,"low":13009.3,"count":118,"id":1603580400,"close":13184.3,"tradeTurnover":6173.4244,"open":13012.6},{"amount":0.46,"high":13170.4,"vol":460,"low":13007.7,"count":115,"id":1603584000,"close":13154.3,"tradeTurnover":6024.09,"open":13080.8},{"amount":0.398,"high":13196.8,"vol":398,"low":13024.0,"count":102,"id":1603587600,"close":13196.1,"tradeTurnover":5217.5364,"open":13092.0},{"amount":0.476,"high":13175.1,"vol":476,"low":13035.0,"count":120,"id":1603591200,"close":13082.4,"tradeTurnover":6228.6596,"open":13124.7},{"amount":0.578,"high":13383.8,"vol":578,"low":13049.1,"count":137,"id":1603594800,"close":13259.0,"tradeTurnover":7629.3886,"open":13049.1},{"amount":0.47,"high":13369.0,"vol":470,"low":13216.0,"count":122,"id":1603598400,"close":13243.4,"tradeTurnover":6247.955,"open":13277.0},{"amount":0.61,"high":13353.3,"vol":610,"low":13010.1,"count":134,"id":1603602000,"close":13017.3,"tradeTurnover":8048.8598,"open":13285.3},{"amount":0.486,"high":13105.7,"vol":486,"low":13018.2,"count":118,"id":1603605600,"close":13060.3,"tradeTurnover":6344.1474,"open":13022.5},{"amount":0.464,"high":13112.1,"vol":464,"low":13022.0,"count":120,"id":1603609200,"close":13078.1,"tradeTurnover":6061.5416,"open":13048.5},{"amount":0.464,"high":13091.0,"vol":464,"low":13017.2,"count":120,"id":1603612800,"close":13046.0,"tradeTurnover":6055.3734,"open":13077.2},{"amount":0.478,"high":13084.0,"vol":478,"low":13014.2,"count":117,"id":1603616400,"close":13040.8,"tradeTurnover":6235.7882,"open":13065.1},{"amount":0.478,"high":13064.2,"vol":478,"low":13010.2,"count":125,"id":1603620000,"close":13028.5,"tradeTurnover":6232.2428,"open":13047.1},{"amount":0.534,"high":13061.5,"vol":534,"low":12852.9,"count":123,"id":1603623600,"close":12897.6,"tradeTurnover":6918.1226,"open":13061.5},{"amount":0.444,"high":13069.7,"vol":444,"low":12893.2,"count":117,"id":1603627200,"close":12964.3,"tradeTurnover":5755.8712,"open":12908.3},{"amount":0.498,"high":13071.9,"vol":498,"low":12891.8,"count":119,"id":1603630800,"close":12949.3,"tradeTurnover":6465.078,"open":13001.3},{"amount":0.468,"high":13077.7,"vol":468,"low":12900.0,"count":116,"id":1603634400,"close":12946.8,"tradeTurnover":6075.4554,"open":12975.8},{"amount":0.47,"high":13069.1,"vol":470,"low":12883.3,"count":119,"id":1603638000,"close":12883.3,"tradeTurnover":6097.1072,"open":12975.2},{"amount":0.482,"high":13067.9,"vol":482,"low":12877.5,"count":118,"id":1603641600,"close":12978.7,"tradeTurnover":6256.4472,"open":12916.2},{"amount":0.47,"high":13087.5,"vol":470,"low":12922.7,"count":117,"id":1603645200,"close":13004.4,"tradeTurnover":6108.3892,"open":13008.0},{"amount":0.468,"high":13067.6,"vol":468,"low":12893.6,"count":118,"id":1603648800,"close":12957.2,"tradeTurnover":6079.1484,"open":12972.8},{"amount":0.442,"high":13066.9,"vol":442,"low":12916.6,"count":118,"id":1603652400,"close":13021.8,"tradeTurnover":5746.5548,"open":12996.5},{"amount":0.508,"high":13081.5,"vol":508,"low":12944.9,"count":120,"id":1603656000,"close":12985.4,"tradeTurnover":6616.9872,"open":12992.9},{"amount":0.508,"high":13068.6,"vol":508,"low":12921.4,"count":122,"id":1603659600,"close":13011.2,"tradeTurnover":6614.816,"open":12999.9},{"amount":0.486,"high":13073.8,"vol":486,"low":12911.9,"count":121,"id":1603663200,"close":12959.4,"tradeTurnover":6320.907,"open":12979.6},{"amount":0.452,"high":13085.2,"vol":452,"low":12927.8,"count":113,"id":1603666800,"close":13032.1,"tradeTurnover":5878.6442,"open":12963.4},{"amount":0.482,"high":13076.7,"vol":482,"low":12918.3,"count":121,"id":1603670400,"close":13001.0,"tradeTurnover":6263.698,"open":12964.2},{"amount":0.478,"high":13096.4,"vol":478,"low":12991.2,"count":124,"id":1603674000,"close":13053.7,"tradeTurnover":6232.2328,"open":13040.0},{"amount":0.488,"high":13185.7,"vol":488,"low":12985.1,"count":121,"id":1603677600,"close":13064.4,"tradeTurnover":6387.534,"open":13060.6},{"amount":0.486,"high":13187.2,"vol":486,"low":12984.1,"count":135,"id":1603681200,"close":13092.8,"tradeTurnover":6369.0272,"open":13032.3},{"amount":0.51,"high":13181.6,"vol":510,"low":12962.3,"count":131,"id":1603684800,"close":13132.6,"tradeTurnover":6679.829,"open":13092.0},{"amount":0.506,"high":13205.3,"vol":506,"low":13025.3,"count":126,"id":1603688400,"close":13092.1,"tradeTurnover":6641.2128,"open":13129.2},{"amount":1.616,"high":13188.1,"vol":1616,"low":12989.8,"count":141,"id":1603692000,"close":13071.4,"tradeTurnover":21170.8224,"open":13121.8},{"amount":3.746,"high":13100.0,"vol":3746,"low":12965.2,"count":110,"id":1603695600,"close":13038.7,"tradeTurnover":48924.8902,"open":13061.0},{"amount":8.966,"high":13102.0,"vol":8966,"low":12852.8,"count":173,"id":1603699200,"close":13039.3,"tradeTurnover":116525.5534,"open":13030.9},{"amount":4.48,"high":13088.4,"vol":4480,"low":13039.8,"count":124,"id":1603702800,"close":13075.9,"tradeTurnover":58521.1714,"open":13047.1},{"amount":4.272,"high":13100.0,"vol":4272,"low":13060.2,"count":130,"id":1603706400,"close":13100.0,"tradeTurnover":55895.9778,"open":13072.1},{"amount":29.798,"high":13159.0,"vol":29798,"low":13100.0,"count":230,"id":1603710000,"close":13138.4,"tradeTurnover":391138.024,"open":13100.0},{"amount":5.154,"high":13200.0,"vol":5154,"low":13100.0,"count":188,"id":1603713600,"close":13149.8,"tradeTurnover":67694.652,"open":13138.8},{"amount":35.608,"high":13351.5,"vol":35608,"low":13133.1,"count":328,"id":1603717200,"close":13205.8,"tradeTurnover":472780.3394,"open":13150.0},{"amount":31.748,"high":13280.0,"vol":31748,"low":13144.1,"count":235,"id":1603720800,"close":13166.1,"tradeTurnover":418744.5588,"open":13203.0},{"amount":36.53,"high":13165.2,"vol":36530,"low":12903.8,"count":384,"id":1603724400,"close":12978.0,"tradeTurnover":476940.3296,"open":13159.0},{"amount":35.018,"high":13069.8,"vol":35018,"low":12850.5,"count":323,"id":1603728000,"close":12869.6,"tradeTurnover":453288.918,"open":12965.0},{"amount":92.628,"high":12941.5,"vol":92628,"low":12583.9,"count":560,"id":1603731600,"close":12873.8,"tradeTurnover":1185973.467,"open":12879.2},{"amount":4.302,"high":12954.5,"vol":4302,"low":12820.4,"count":128,"id":1603735200,"close":12946.8,"tradeTurnover":55481.0054,"open":12856.2},{"amount":13.83,"high":12953.5,"vol":13830,"low":12914.1,"count":118,"id":1603738800,"close":12953.4,"tradeTurnover":179112.1598,"open":12945.6},{"amount":17.172,"high":13007.5,"vol":17172,"low":12953.5,"count":132,"id":1603742400,"close":12983.4,"tradeTurnover":223230.2122,"open":12953.5},{"amount":3.212,"high":13007.5,"vol":3212,"low":12982.7,"count":59,"id":1603746000,"close":12993.8,"tradeTurnover":41767.8906,"open":12983.1},{"amount":1.504,"high":13007.5,"vol":1504,"low":12974.0,"count":74,"id":1603749600,"close":13007.5,"tradeTurnover":19543.3568,"open":13002.1},{"amount":3.454,"high":13061.2,"vol":3454,"low":13007.5,"count":101,"id":1603753200,"close":13033.7,"tradeTurnover":45001.601,"open":13007.5},{"amount":8.784,"high":13105.0,"vol":8784,"low":13028.3,"count":98,"id":1603756800,"close":13067.1,"tradeTurnover":114871.8246,"open":13029.2},{"amount":11.592,"high":13074.4,"vol":11592,"low":13051.5,"count":66,"id":1603760400,"close":13061.7,"tradeTurnover":151386.9038,"open":13074.3},{"amount":19.298,"high":13097.6,"vol":19298,"low":13040.1,"count":109,"id":1603764000,"close":13049.7,"tradeTurnover":252061.019,"open":13061.7},{"amount":22.992,"high":13080.0,"vol":22992,"low":13057.1,"count":69,"id":1603767600,"close":13070.4,"tradeTurnover":300453.9788,"open":13057.6},{"amount":14.396,"high":13175.0,"vol":14396,"low":13079.6,"count":59,"id":1603771200,"close":13103.3,"tradeTurnover":188461.9156,"open":13080.0},{"amount":5.058,"high":13121.3,"vol":5058,"low":13069.7,"count":44,"id":1603774800,"close":13073.6,"tradeTurnover":66201.3552,"open":13121.3},{"amount":9.106,"high":13149.0,"vol":9106,"low":13069.6,"count":107,"id":1603778400,"close":13103.4,"tradeTurnover":119104.8906,"open":13074.9},{"amount":73.95,"high":13169.8,"vol":73950,"low":12992.4,"count":305,"id":1603782000,"close":13130.0,"tradeTurnover":968195.155,"open":13103.3},{"amount":18.732,"high":13148.4,"vol":18732,"low":13044.0,"count":135,"id":1603785600,"close":13123.8,"tradeTurnover":245533.5448,"open":13135.1},{"amount":13.756,"high":13131.8,"vol":13756,"low":13075.7,"count":102,"id":1603789200,"close":13131.7,"tradeTurnover":180253.7708,"open":13115.5},{"amount":154.108,"high":13252.0,"vol":154108,"low":13063.4,"count":525,"id":1603792800,"close":13216.9,"tradeTurnover":2029983.656,"open":13134.8},{"amount":170.09,"high":13590.1,"vol":170090,"low":13213.5,"count":591,"id":1603796400,"close":13395.8,"tradeTurnover":2276279.742,"open":13218.8},{"amount":48.928,"high":13414.0,"vol":48928,"low":13331.7,"count":216,"id":1603800000,"close":13376.9,"tradeTurnover":654585.9108,"open":13395.9},{"amount":63.294,"high":13490.9,"vol":63294,"low":13329.8,"count":316,"id":1603803600,"close":13384.3,"tradeTurnover":848130.9212,"open":13376.5},{"amount":12.892,"high":13415.8,"vol":12892,"low":13344.8,"count":124,"id":1603807200,"close":13398.2,"tradeTurnover":172618.6864,"open":13392.6},{"amount":93.22,"high":13626.7,"vol":93220,"low":13398.2,"count":476,"id":1603810800,"close":13598.5,"tradeTurnover":1262695.5466,"open":13398.2},{"amount":85.45,"high":13639.9,"vol":85450,"low":13520.2,"count":435,"id":1603814400,"close":13639.9,"tradeTurnover":1161481.4136,"open":13595.8},{"amount":191.812,"high":13826.7,"vol":191812,"low":13589.0,"count":711,"id":1603818000,"close":13688.1,"tradeTurnover":2628428.3788,"open":13640.0},{"amount":65.434,"high":13745.0,"vol":65434,"low":13528.2,"count":410,"id":1603821600,"close":13630.1,"tradeTurnover":891541.8394,"open":13685.0},{"amount":5.788,"high":13659.8,"vol":5788,"low":13595.4,"count":65,"id":1603825200,"close":13637.1,"tradeTurnover":78836.2578,"open":13629.4},{"amount":163.104,"high":13805.1,"vol":163104,"low":13582.6,"count":537,"id":1603828800,"close":13616.6,"tradeTurnover":2234040.3544,"open":13644.4},{"amount":9.884,"high":13753.5,"vol":9884,"low":13609.8,"count":101,"id":1603832400,"close":13705.5,"tradeTurnover":135406.4752,"open":13609.8},{"amount":7.436,"high":13739.9,"vol":7436,"low":13658.2,"count":100,"id":1603836000,"close":13739.9,"tradeTurnover":101840.3508,"open":13705.4},{"amount":17.086,"high":13794.6,"vol":17086,"low":13582.6,"count":234,"id":1603839600,"close":13649.6,"tradeTurnover":233971.8448,"open":13739.9},{"amount":24.108,"high":13745.2,"vol":24108,"low":13618.8,"count":177,"id":1603843200,"close":13701.7,"tradeTurnover":330206.5694,"open":13645.9},{"amount":15.892,"high":13725.6,"vol":15892,"low":13647.9,"count":151,"id":1603846800,"close":13702.6,"tradeTurnover":217816.7008,"open":13702.1},{"amount":46.548,"high":13832.2,"vol":46548,"low":13680.2,"count":274,"id":1603850400,"close":13811.6,"tradeTurnover":640636.0352,"open":13701.7},{"amount":67.896,"high":13820.3,"vol":67896,"low":13717.5,"count":320,"id":1603854000,"close":13777.0,"tradeTurnover":935838.2238,"open":13818.5},{"amount":33.156,"high":13807.2,"vol":33156,"low":13710.0,"count":210,"id":1603857600,"close":13735.7,"tradeTurnover":455941.234,"open":13767.3},{"amount":32.076,"high":13753.9,"vol":32076,"low":13671.3,"count":198,"id":1603861200,"close":13715.8,"tradeTurnover":439612.64,"open":13735.5},{"amount":14.756,"high":13757.0,"vol":14756,"low":13694.9,"count":122,"id":1603864800,"close":13701.3,"tradeTurnover":202602.5164,"open":13715.9},{"amount":155.534,"high":13708.7,"vol":155534,"low":13550.0,"count":635,"id":1603868400,"close":13674.2,"tradeTurnover":2117935.0928,"open":13701.2},{"amount":29.846,"high":13691.7,"vol":29846,"low":13584.0,"count":240,"id":1603872000,"close":13691.7,"tradeTurnover":407073.1398,"open":13673.0},{"amount":104.542,"high":13707.5,"vol":104542,"low":13573.5,"count":377,"id":1603875600,"close":13587.1,"tradeTurnover":1425079.9344,"open":13689.3},{"amount":73.818,"high":13618.0,"vol":73818,"low":13504.7,"count":358,"id":1603879200,"close":13552.7,"tradeTurnover":1001666.0908,"open":13584.6},{"amount":176.544,"high":13565.4,"vol":176544,"low":13330.0,"count":1004,"id":1603882800,"close":13336.4,"tradeTurnover":2369166.1492,"open":13552.6},{"amount":289.73,"high":13385.0,"vol":289730,"low":13173.9,"count":968,"id":1603886400,"close":13300.3,"tradeTurnover":3846751.7166,"open":13331.5},{"amount":139.822,"high":13340.0,"vol":139822,"low":13122.9,"count":612,"id":1603890000,"close":13129.9,"tradeTurnover":1848876.932,"open":13300.2},{"amount":367.876,"high":13168.2,"vol":367876,"low":12915.9,"count":1168,"id":1603893600,"close":13082.2,"tradeTurnover":4802516.9818,"open":13123.4},{"amount":84.044,"high":13235.2,"vol":84044,"low":13052.3,"count":375,"id":1603897200,"close":13221.2,"tradeTurnover":1106883.1282,"open":13077.1},{"amount":29.566,"high":13218.7,"vol":29566,"low":13050.0,"count":244,"id":1603900800,"close":13145.1,"tradeTurnover":388697.4104,"open":13218.7},{"amount":53.336,"high":13204.9,"vol":53336,"low":13006.6,"count":299,"id":1603904400,"close":13176.7,"tradeTurnover":700385.2784,"open":13145.1},{"amount":34.164,"high":13219.6,"vol":34164,"low":13131.0,"count":218,"id":1603908000,"close":13196.5,"tradeTurnover":450210.5778,"open":13171.0},{"amount":22.158,"high":13237.4,"vol":22158,"low":13145.0,"count":185,"id":1603911600,"close":13154.9,"tradeTurnover":292020.0438,"open":13200.0},{"amount":4.548,"high":13211.8,"vol":4548,"low":13147.4,"count":75,"id":1603915200,"close":13198.1,"tradeTurnover":59991.1118,"open":13154.5},{"amount":3.52,"high":13196.5,"vol":3520,"low":13100.2,"count":68,"id":1603918800,"close":13190.1,"tradeTurnover":46175.428,"open":13193.5},{"amount":3.122,"high":13267.5,"vol":3122,"low":13185.4,"count":72,"id":1603922400,"close":13252.0,"tradeTurnover":41304.2018,"open":13185.4},{"amount":14.768,"high":13282.3,"vol":14768,"low":13235.9,"count":86,"id":1603926000,"close":13265.9,"tradeTurnover":195689.0764,"open":13242.1},{"amount":19.968,"high":13294.7,"vol":19968,"low":13237.4,"count":98,"id":1603929600,"close":13245.1,"tradeTurnover":264834.1944,"open":13253.9},{"amount":35.282,"high":13285.3,"vol":35282,"low":13166.3,"count":192,"id":1603933200,"close":13274.2,"tradeTurnover":465789.6302,"open":13244.6},{"amount":9.748,"high":13277.7,"vol":9748,"low":13212.2,"count":119,"id":1603936800,"close":13241.1,"tradeTurnover":129016.0684,"open":13275.9},{"amount":27.3,"high":13262.5,"vol":27300,"low":13174.6,"count":199,"id":1603940400,"close":13262.5,"tradeTurnover":360589.8982,"open":13237.1},{"amount":18.904,"high":13277.7,"vol":18904,"low":13229.5,"count":109,"id":1603944000,"close":13229.5,"tradeTurnover":250713.2812,"open":13269.1},{"amount":15.822,"high":13274.8,"vol":15822,"low":13228.5,"count":134,"id":1603947600,"close":13274.8,"tradeTurnover":209781.909,"open":13228.5},{"amount":91.246,"high":13323.0,"vol":91246,"low":13242.3,"count":294,"id":1603951200,"close":13255.0,"tradeTurnover":1211271.2788,"open":13274.8},{"amount":187.622,"high":13269.3,"vol":187622,"low":13123.1,"count":506,"id":1603954800,"close":13142.4,"tradeTurnover":2478299.7074,"open":13255.0},{"amount":69.532,"high":13182.4,"vol":69532,"low":13094.1,"count":226,"id":1603958400,"close":13124.8,"tradeTurnover":914157.2418,"open":13145.9},{"amount":23.184,"high":13197.1,"vol":23184,"low":13129.5,"count":141,"id":1603962000,"close":13183.7,"tradeTurnover":305485.9524,"open":13129.5},{"amount":121.146,"high":13187.5,"vol":121146,"low":13053.1,"count":442,"id":1603965600,"close":13105.2,"tradeTurnover":1590026.4416,"open":13184.8},{"amount":47.498,"high":13171.4,"vol":47498,"low":13060.1,"count":262,"id":1603969200,"close":13060.1,"tradeTurnover":623578.149,"open":13105.1},{"amount":126.552,"high":13145.8,"vol":126552,"low":12977.9,"count":481,"id":1603972800,"close":13131.8,"tradeTurnover":1652549.311,"open":13056.9},{"amount":100.482,"high":13237.2,"vol":100482,"low":13102.0,"count":325,"id":1603976400,"close":13230.0,"tradeTurnover":1326403.7206,"open":13131.7},{"amount":253.258,"high":13476.1,"vol":253258,"low":13231.0,"count":752,"id":1603980000,"close":13420.8,"tradeTurnover":3384941.438,"open":13231.0},{"amount":64.71,"high":13458.7,"vol":64710,"low":13358.7,"count":269,"id":1603983600,"close":13420.6,"tradeTurnover":869052.3804,"open":13416.0},{"amount":120.24,"high":13594.5,"vol":120240,"low":13391.8,"count":570,"id":1603987200,"close":13535.9,"tradeTurnover":1626567.8278,"open":13421.9}],"id":"","rep":"market.BTC-USDT.kline.60min","status":"ok"} +2024-01-18 11:13:03.905 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:39] - 请求 KLine 数据用户收到的原始数据:{"id":"","rep":"market.BTC-USDT.kline.60min","ts":1705547582805,"wsid":19750305,"status":"ok","data":[{"id":1603270800,"open":12198.0,"close":12196.7,"high":12300.0,"low":11715.8,"amount":0.276,"vol":276,"trade_turnover":3315.9104,"count":39},{"id":1603274400,"open":12196.7,"close":12277.9,"high":12289.9,"low":12111.0,"amount":0.198,"vol":198,"trade_turnover":2420.7728,"count":21},{"id":1603278000,"open":12111.0,"close":12000.0,"high":12277.9,"low":12000.0,"amount":0.012,"vol":12,"trade_turnover":145.2238,"count":5},{"id":1603281600,"open":12078.0,"close":12497.4,"high":12498.0,"low":12078.0,"amount":0.084,"vol":84,"trade_turnover":1040.0504,"count":12},{"id":1603285200,"open":12495.6,"close":12373.5,"high":12495.6,"low":12282.9,"amount":1.122,"vol":1122,"trade_turnover":13905.3124,"count":112},{"id":1603288800,"open":12412.9,"close":12689.9,"high":12807.6,"low":12358.1,"amount":5.29,"vol":5290,"trade_turnover":66852.128,"count":155},{"id":1603292400,"open":12692.8,"close":12701.9,"high":12778.7,"low":12573.2,"amount":1.174,"vol":1174,"trade_turnover":14907.367,"count":113},{"id":1603296000,"open":12679.7,"close":12835.9,"high":12920.9,"low":12624.8,"amount":1.156,"vol":1156,"trade_turnover":14802.449,"count":115},{"id":1603299600,"open":12848.3,"close":12754.2,"high":12908.3,"low":12687.5,"amount":1.12,"vol":1120,"trade_turnover":14345.7324,"count":115},{"id":1603303200,"open":12743.7,"close":12740.2,"high":12849.0,"low":12668.3,"amount":1.106,"vol":1106,"trade_turnover":14105.3504,"count":114},{"id":1603306800,"open":12729.5,"close":12650.3,"high":12843.1,"low":12597.2,"amount":1.032,"vol":1032,"trade_turnover":13125.4568,"count":112},{"id":1603310400,"open":12666.8,"close":12807.0,"high":12848.4,"low":12610.2,"amount":1.154,"vol":1154,"trade_turnover":14680.638,"count":116},{"id":1603314000,"open":12866.0,"close":12938.9,"high":13005.1,"low":12748.2,"amount":1.164,"vol":1164,"trade_turnover":14976.9366,"count":114},{"id":1603317600,"open":12921.0,"close":13122.0,"high":13211.2,"low":12865.7,"amount":1.174,"vol":1174,"trade_turnover":15285.2446,"count":114},{"id":1603321200,"open":13153.2,"close":12829.8,"high":13173.2,"low":12688.6,"amount":1.172,"vol":1172,"trade_turnover":15060.9938,"count":117},{"id":1603324800,"open":12793.1,"close":12885.9,"high":12988.1,"low":12764.4,"amount":1.17,"vol":1170,"trade_turnover":15046.2046,"count":117},{"id":1603328400,"open":12860.4,"close":12757.5,"high":12972.6,"low":12757.5,"amount":1.158,"vol":1158,"trade_turnover":14882.4656,"count":118},{"id":1603332000,"open":12824.1,"close":12788.8,"high":12848.0,"low":12729.0,"amount":1.124,"vol":1124,"trade_turnover":14368.7948,"count":115},{"id":1603335600,"open":12791.7,"close":12767.2,"high":12834.4,"low":12729.0,"amount":1.194,"vol":1194,"trade_turnover":15268.9298,"count":111},{"id":1603339200,"open":12729.0,"close":12762.2,"high":12778.3,"low":12729.0,"amount":1.152,"vol":1152,"trade_turnover":14695.4876,"count":115},{"id":1603342800,"open":12763.1,"close":12813.8,"high":12842.0,"low":12730.6,"amount":1.21,"vol":1210,"trade_turnover":15440.8162,"count":119},{"id":1603346400,"open":12795.0,"close":12729.1,"high":12795.0,"low":12728.0,"amount":1.188,"vol":1188,"trade_turnover":15128.0098,"count":123},{"id":1603350000,"open":12728.6,"close":12730.6,"high":12730.6,"low":12728.3,"amount":1.266,"vol":1266,"trade_turnover":16115.1306,"count":112},{"id":1603353600,"open":12730.3,"close":12770.1,"high":12921.5,"low":12729.9,"amount":1.35,"vol":1350,"trade_turnover":17233.7326,"count":127},{"id":1603357200,"open":12824.9,"close":12780.4,"high":12872.1,"low":12760.1,"amount":0.98,"vol":980,"trade_turnover":12553.9826,"count":99},{"id":1603360800,"open":12784.9,"close":12934.2,"high":13002.7,"low":12775.6,"amount":0.266,"vol":266,"trade_turnover":3415.023,"count":30},{"id":1603364400,"open":12977.0,"close":13045.0,"high":13057.0,"low":12886.6,"amount":1.004,"vol":1004,"trade_turnover":13020.8576,"count":117},{"id":1603368000,"open":12958.5,"close":12847.9,"high":12973.4,"low":12751.6,"amount":1.134,"vol":1134,"trade_turnover":14594.2752,"count":111},{"id":1603371600,"open":12882.7,"close":12931.0,"high":13000.8,"low":12743.0,"amount":1.152,"vol":1152,"trade_turnover":14877.7314,"count":114},{"id":1603375200,"open":12890.4,"close":12917.8,"high":12995.3,"low":12783.9,"amount":1.182,"vol":1182,"trade_turnover":15224.4716,"count":115},{"id":1603378800,"open":12918.8,"close":12953.0,"high":13031.2,"low":12817.9,"amount":1.176,"vol":1176,"trade_turnover":15197.208,"count":117},{"id":1603382400,"open":12923.1,"close":13055.6,"high":13100.2,"low":12865.6,"amount":1.146,"vol":1146,"trade_turnover":14851.9604,"count":119},{"id":1603386000,"open":12967.6,"close":13082.7,"high":13105.7,"low":12835.5,"amount":1.534,"vol":1534,"trade_turnover":19927.8288,"count":124},{"id":1603389600,"open":13020.4,"close":13016.4,"high":13115.0,"low":12938.7,"amount":1.268,"vol":1268,"trade_turnover":16505.4738,"count":117},{"id":1603393200,"open":13028.3,"close":12970.6,"high":13171.2,"low":12961.8,"amount":1.13,"vol":1130,"trade_turnover":14762.952,"count":112},{"id":1603396800,"open":13016.7,"close":13089.3,"high":13216.1,"low":12998.5,"amount":1.206,"vol":1206,"trade_turnover":15807.1226,"count":117},{"id":1603400400,"open":13136.0,"close":13092.0,"high":13203.7,"low":12932.9,"amount":1.332,"vol":1332,"trade_turnover":17423.4422,"count":114},{"id":1603404000,"open":13119.4,"close":13055.9,"high":13250.5,"low":12984.7,"amount":1.21,"vol":1210,"trade_turnover":15876.0632,"count":114},{"id":1603407600,"open":13059.4,"close":12890.4,"high":13126.5,"low":12857.2,"amount":1.286,"vol":1286,"trade_turnover":16688.422,"count":116},{"id":1603411200,"open":12929.7,"close":12892.2,"high":12994.0,"low":12751.6,"amount":1.502,"vol":1502,"trade_turnover":19331.1596,"count":131},{"id":1603414800,"open":12921.7,"close":12898.3,"high":13003.2,"low":12786.0,"amount":1.386,"vol":1386,"trade_turnover":17904.8902,"count":121},{"id":1603418400,"open":12951.6,"close":12975.1,"high":13054.0,"low":12800.7,"amount":1.416,"vol":1416,"trade_turnover":18306.6204,"count":122},{"id":1603422000,"open":12967.3,"close":12947.0,"high":13030.7,"low":12875.0,"amount":1.19,"vol":1190,"trade_turnover":15409.7984,"count":118},{"id":1603425600,"open":12925.2,"close":12852.0,"high":13047.3,"low":12832.8,"amount":1.022,"vol":1022,"trade_turnover":13214.4388,"count":127},{"id":1603429200,"open":12859.0,"close":12931.1,"high":12991.7,"low":12841.2,"amount":0.478,"vol":478,"trade_turnover":6180.2486,"count":118},{"id":1603432800,"open":12935.9,"close":12939.6,"high":13014.1,"low":12871.9,"amount":0.522,"vol":522,"trade_turnover":6759.0324,"count":132},{"id":1603436400,"open":12923.1,"close":12925.4,"high":12998.9,"low":12917.1,"amount":0.476,"vol":476,"trade_turnover":6163.3118,"count":118},{"id":1603440000,"open":12942.2,"close":12962.6,"high":13014.0,"low":12916.1,"amount":0.508,"vol":508,"trade_turnover":6585.3656,"count":122},{"id":1603443600,"open":12970.5,"close":12926.4,"high":13012.5,"low":12909.9,"amount":0.564,"vol":564,"trade_turnover":7308.8828,"count":124},{"id":1603447200,"open":13001.2,"close":13007.7,"high":13059.5,"low":12925.7,"amount":0.536,"vol":536,"trade_turnover":6957.8796,"count":124},{"id":1603450800,"open":13025.4,"close":12970.6,"high":13078.4,"low":12906.5,"amount":0.486,"vol":486,"trade_turnover":6326.1434,"count":122},{"id":1603454400,"open":12963.9,"close":12935.4,"high":13025.0,"low":12850.8,"amount":0.494,"vol":494,"trade_turnover":6396.0984,"count":117},{"id":1603458000,"open":12913.3,"close":12951.7,"high":13043.3,"low":12911.0,"amount":0.466,"vol":466,"trade_turnover":6049.1412,"count":117},{"id":1603461600,"open":12999.6,"close":12858.8,"high":13006.4,"low":12840.4,"amount":0.46,"vol":460,"trade_turnover":5941.815,"count":116},{"id":1603465200,"open":12885.7,"close":12881.9,"high":12932.9,"low":12826.5,"amount":0.492,"vol":492,"trade_turnover":6340.214,"count":117},{"id":1603468800,"open":12854.4,"close":12784.1,"high":12933.5,"low":12744.4,"amount":0.484,"vol":484,"trade_turnover":6205.4138,"count":123},{"id":1603472400,"open":12832.3,"close":12847.7,"high":12893.1,"low":12730.1,"amount":0.562,"vol":562,"trade_turnover":7218.9184,"count":152},{"id":1603476000,"open":12874.1,"close":12915.7,"high":12939.3,"low":12751.4,"amount":0.53,"vol":530,"trade_turnover":6825.7004,"count":128},{"id":1603479600,"open":12867.9,"close":12972.9,"high":12972.9,"low":12786.6,"amount":0.444,"vol":444,"trade_turnover":5727.7452,"count":117},{"id":1603483200,"open":12956.7,"close":12991.6,"high":13002.2,"low":12842.9,"amount":0.492,"vol":492,"trade_turnover":6375.1566,"count":116},{"id":1603486800,"open":13004.3,"close":12943.5,"high":13004.3,"low":12936.6,"amount":0.5,"vol":500,"trade_turnover":6485.468,"count":125},{"id":1603490400,"open":12923.6,"close":12989.2,"high":13010.3,"low":12884.7,"amount":0.492,"vol":492,"trade_turnover":6376.1492,"count":120},{"id":1603494000,"open":12974.9,"close":12884.6,"high":13024.4,"low":12884.6,"amount":0.51,"vol":510,"trade_turnover":6622.3406,"count":121},{"id":1603497600,"open":12973.7,"close":12953.9,"high":13018.3,"low":12811.1,"amount":0.488,"vol":488,"trade_turnover":6317.7938,"count":120},{"id":1603501200,"open":12927.5,"close":12934.2,"high":13018.1,"low":12872.8,"amount":0.482,"vol":482,"trade_turnover":6242.4178,"count":117},{"id":1603504800,"open":12971.9,"close":12989.1,"high":13003.9,"low":12903.3,"amount":0.484,"vol":484,"trade_turnover":6278.1756,"count":117},{"id":1603508400,"open":13000.1,"close":12975.9,"high":13013.4,"low":12938.3,"amount":0.474,"vol":474,"trade_turnover":6157.7096,"count":122},{"id":1603512000,"open":12989.7,"close":12963.3,"high":13009.4,"low":12905.5,"amount":0.526,"vol":526,"trade_turnover":6831.5658,"count":124},{"id":1603515600,"open":12910.5,"close":12989.7,"high":13041.8,"low":12875.3,"amount":0.522,"vol":522,"trade_turnover":6768.8994,"count":127},{"id":1603519200,"open":12994.7,"close":13003.6,"high":13058.1,"low":12908.8,"amount":0.49,"vol":490,"trade_turnover":6370.5714,"count":120},{"id":1603522800,"open":13011.9,"close":13004.2,"high":13037.8,"low":12981.7,"amount":0.478,"vol":478,"trade_turnover":6218.9722,"count":120},{"id":1603526400,"open":13003.0,"close":12998.2,"high":13030.6,"low":12899.4,"amount":0.52,"vol":520,"trade_turnover":6754.958,"count":124},{"id":1603530000,"open":12998.2,"close":12990.6,"high":13020.3,"low":12893.6,"amount":0.454,"vol":454,"trade_turnover":5891.0574,"count":115},{"id":1603533600,"open":12996.4,"close":13030.1,"high":13059.1,"low":12913.2,"amount":0.502,"vol":502,"trade_turnover":6525.9004,"count":124},{"id":1603537200,"open":12988.4,"close":13033.2,"high":13068.3,"low":12940.2,"amount":0.468,"vol":468,"trade_turnover":6091.0376,"count":119},{"id":1603540800,"open":13035.3,"close":13006.5,"high":13071.8,"low":12978.9,"amount":0.468,"vol":468,"trade_turnover":6102.5902,"count":123},{"id":1603544400,"open":13038.8,"close":12985.9,"high":13066.7,"low":12928.1,"amount":0.534,"vol":534,"trade_turnover":6950.4268,"count":123},{"id":1603548000,"open":12986.3,"close":13042.0,"high":13100.1,"low":12960.5,"amount":0.47,"vol":470,"trade_turnover":6124.2178,"count":100},{"id":1603551600,"open":13038.4,"close":13102.2,"high":13196.5,"low":13038.4,"amount":0.456,"vol":456,"trade_turnover":5989.6362,"count":120},{"id":1603555200,"open":13136.8,"close":13052.7,"high":13176.6,"low":12984.6,"amount":0.458,"vol":458,"trade_turnover":5976.331,"count":121},{"id":1603558800,"open":13006.2,"close":13177.8,"high":13177.8,"low":13003.2,"amount":0.452,"vol":452,"trade_turnover":5911.7058,"count":118},{"id":1603562400,"open":13127.7,"close":13080.8,"high":13170.7,"low":13023.0,"amount":0.468,"vol":468,"trade_turnover":6122.375,"count":119},{"id":1603566000,"open":13040.7,"close":13148.4,"high":13179.3,"low":13014.2,"amount":0.468,"vol":468,"trade_turnover":6126.4278,"count":120},{"id":1603569600,"open":13073.5,"close":13090.1,"high":13179.6,"low":12992.5,"amount":0.47,"vol":470,"trade_turnover":6151.4758,"count":119},{"id":1603573200,"open":13035.4,"close":12993.9,"high":13148.7,"low":12980.7,"amount":0.458,"vol":458,"trade_turnover":5981.071,"count":117},{"id":1603576800,"open":13040.7,"close":13041.1,"high":13112.1,"low":12975.6,"amount":0.478,"vol":478,"trade_turnover":6225.4216,"count":118},{"id":1603580400,"open":13012.6,"close":13184.3,"high":13184.3,"low":13009.3,"amount":0.472,"vol":472,"trade_turnover":6173.4244,"count":118},{"id":1603584000,"open":13080.8,"close":13154.3,"high":13170.4,"low":13007.7,"amount":0.46,"vol":460,"trade_turnover":6024.09,"count":115},{"id":1603587600,"open":13092.0,"close":13196.1,"high":13196.8,"low":13024.0,"amount":0.398,"vol":398,"trade_turnover":5217.5364,"count":102},{"id":1603591200,"open":13124.7,"close":13082.4,"high":13175.1,"low":13035.0,"amount":0.476,"vol":476,"trade_turnover":6228.6596,"count":120},{"id":1603594800,"open":13049.1,"close":13259.0,"high":13383.8,"low":13049.1,"amount":0.578,"vol":578,"trade_turnover":7629.3886,"count":137},{"id":1603598400,"open":13277.0,"close":13243.4,"high":13369.0,"low":13216.0,"amount":0.47,"vol":470,"trade_turnover":6247.955,"count":122},{"id":1603602000,"open":13285.3,"close":13017.3,"high":13353.3,"low":13010.1,"amount":0.61,"vol":610,"trade_turnover":8048.8598,"count":134},{"id":1603605600,"open":13022.5,"close":13060.3,"high":13105.7,"low":13018.2,"amount":0.486,"vol":486,"trade_turnover":6344.1474,"count":118},{"id":1603609200,"open":13048.5,"close":13078.1,"high":13112.1,"low":13022.0,"amount":0.464,"vol":464,"trade_turnover":6061.5416,"count":120},{"id":1603612800,"open":13077.2,"close":13046.0,"high":13091.0,"low":13017.2,"amount":0.464,"vol":464,"trade_turnover":6055.3734,"count":120},{"id":1603616400,"open":13065.1,"close":13040.8,"high":13084.0,"low":13014.2,"amount":0.478,"vol":478,"trade_turnover":6235.7882,"count":117},{"id":1603620000,"open":13047.1,"close":13028.5,"high":13064.2,"low":13010.2,"amount":0.478,"vol":478,"trade_turnover":6232.2428,"count":125},{"id":1603623600,"open":13061.5,"close":12897.6,"high":13061.5,"low":12852.9,"amount":0.534,"vol":534,"trade_turnover":6918.1226,"count":123},{"id":1603627200,"open":12908.3,"close":12964.3,"high":13069.7,"low":12893.2,"amount":0.444,"vol":444,"trade_turnover":5755.8712,"count":117},{"id":1603630800,"open":13001.3,"close":12949.3,"high":13071.9,"low":12891.8,"amount":0.498,"vol":498,"trade_turnover":6465.078,"count":119},{"id":1603634400,"open":12975.8,"close":12946.8,"high":13077.7,"low":12900.0,"amount":0.468,"vol":468,"trade_turnover":6075.4554,"count":116},{"id":1603638000,"open":12975.2,"close":12883.3,"high":13069.1,"low":12883.3,"amount":0.47,"vol":470,"trade_turnover":6097.1072,"count":119},{"id":1603641600,"open":12916.2,"close":12978.7,"high":13067.9,"low":12877.5,"amount":0.482,"vol":482,"trade_turnover":6256.4472,"count":118},{"id":1603645200,"open":13008.0,"close":13004.4,"high":13087.5,"low":12922.7,"amount":0.47,"vol":470,"trade_turnover":6108.3892,"count":117},{"id":1603648800,"open":12972.8,"close":12957.2,"high":13067.6,"low":12893.6,"amount":0.468,"vol":468,"trade_turnover":6079.1484,"count":118},{"id":1603652400,"open":12996.5,"close":13021.8,"high":13066.9,"low":12916.6,"amount":0.442,"vol":442,"trade_turnover":5746.5548,"count":118},{"id":1603656000,"open":12992.9,"close":12985.4,"high":13081.5,"low":12944.9,"amount":0.508,"vol":508,"trade_turnover":6616.9872,"count":120},{"id":1603659600,"open":12999.9,"close":13011.2,"high":13068.6,"low":12921.4,"amount":0.508,"vol":508,"trade_turnover":6614.816,"count":122},{"id":1603663200,"open":12979.6,"close":12959.4,"high":13073.8,"low":12911.9,"amount":0.486,"vol":486,"trade_turnover":6320.907,"count":121},{"id":1603666800,"open":12963.4,"close":13032.1,"high":13085.2,"low":12927.8,"amount":0.452,"vol":452,"trade_turnover":5878.6442,"count":113},{"id":1603670400,"open":12964.2,"close":13001.0,"high":13076.7,"low":12918.3,"amount":0.482,"vol":482,"trade_turnover":6263.698,"count":121},{"id":1603674000,"open":13040.0,"close":13053.7,"high":13096.4,"low":12991.2,"amount":0.478,"vol":478,"trade_turnover":6232.2328,"count":124},{"id":1603677600,"open":13060.6,"close":13064.4,"high":13185.7,"low":12985.1,"amount":0.488,"vol":488,"trade_turnover":6387.534,"count":121},{"id":1603681200,"open":13032.3,"close":13092.8,"high":13187.2,"low":12984.1,"amount":0.486,"vol":486,"trade_turnover":6369.0272,"count":135},{"id":1603684800,"open":13092.0,"close":13132.6,"high":13181.6,"low":12962.3,"amount":0.51,"vol":510,"trade_turnover":6679.829,"count":131},{"id":1603688400,"open":13129.2,"close":13092.1,"high":13205.3,"low":13025.3,"amount":0.506,"vol":506,"trade_turnover":6641.2128,"count":126},{"id":1603692000,"open":13121.8,"close":13071.4,"high":13188.1,"low":12989.8,"amount":1.616,"vol":1616,"trade_turnover":21170.8224,"count":141},{"id":1603695600,"open":13061.0,"close":13038.7,"high":13100.0,"low":12965.2,"amount":3.746,"vol":3746,"trade_turnover":48924.8902,"count":110},{"id":1603699200,"open":13030.9,"close":13039.3,"high":13102.0,"low":12852.8,"amount":8.966,"vol":8966,"trade_turnover":116525.5534,"count":173},{"id":1603702800,"open":13047.1,"close":13075.9,"high":13088.4,"low":13039.8,"amount":4.48,"vol":4480,"trade_turnover":58521.1714,"count":124},{"id":1603706400,"open":13072.1,"close":13100.0,"high":13100.0,"low":13060.2,"amount":4.272,"vol":4272,"trade_turnover":55895.9778,"count":130},{"id":1603710000,"open":13100.0,"close":13138.4,"high":13159.0,"low":13100.0,"amount":29.798,"vol":29798,"trade_turnover":391138.024,"count":230},{"id":1603713600,"open":13138.8,"close":13149.8,"high":13200.0,"low":13100.0,"amount":5.154,"vol":5154,"trade_turnover":67694.652,"count":188},{"id":1603717200,"open":13150.0,"close":13205.8,"high":13351.5,"low":13133.1,"amount":35.608,"vol":35608,"trade_turnover":472780.3394,"count":328},{"id":1603720800,"open":13203.0,"close":13166.1,"high":13280.0,"low":13144.1,"amount":31.748,"vol":31748,"trade_turnover":418744.5588,"count":235},{"id":1603724400,"open":13159.0,"close":12978.0,"high":13165.2,"low":12903.8,"amount":36.53,"vol":36530,"trade_turnover":476940.3296,"count":384},{"id":1603728000,"open":12965.0,"close":12869.6,"high":13069.8,"low":12850.5,"amount":35.018,"vol":35018,"trade_turnover":453288.918,"count":323},{"id":1603731600,"open":12879.2,"close":12873.8,"high":12941.5,"low":12583.9,"amount":92.628,"vol":92628,"trade_turnover":1185973.467,"count":560},{"id":1603735200,"open":12856.2,"close":12946.8,"high":12954.5,"low":12820.4,"amount":4.302,"vol":4302,"trade_turnover":55481.0054,"count":128},{"id":1603738800,"open":12945.6,"close":12953.4,"high":12953.5,"low":12914.1,"amount":13.83,"vol":13830,"trade_turnover":179112.1598,"count":118},{"id":1603742400,"open":12953.5,"close":12983.4,"high":13007.5,"low":12953.5,"amount":17.172,"vol":17172,"trade_turnover":223230.2122,"count":132},{"id":1603746000,"open":12983.1,"close":12993.8,"high":13007.5,"low":12982.7,"amount":3.212,"vol":3212,"trade_turnover":41767.8906,"count":59},{"id":1603749600,"open":13002.1,"close":13007.5,"high":13007.5,"low":12974.0,"amount":1.504,"vol":1504,"trade_turnover":19543.3568,"count":74},{"id":1603753200,"open":13007.5,"close":13033.7,"high":13061.2,"low":13007.5,"amount":3.454,"vol":3454,"trade_turnover":45001.601,"count":101},{"id":1603756800,"open":13029.2,"close":13067.1,"high":13105.0,"low":13028.3,"amount":8.784,"vol":8784,"trade_turnover":114871.8246,"count":98},{"id":1603760400,"open":13074.3,"close":13061.7,"high":13074.4,"low":13051.5,"amount":11.592,"vol":11592,"trade_turnover":151386.9038,"count":66},{"id":1603764000,"open":13061.7,"close":13049.7,"high":13097.6,"low":13040.1,"amount":19.298,"vol":19298,"trade_turnover":252061.019,"count":109},{"id":1603767600,"open":13057.6,"close":13070.4,"high":13080.0,"low":13057.1,"amount":22.992,"vol":22992,"trade_turnover":300453.9788,"count":69},{"id":1603771200,"open":13080.0,"close":13103.3,"high":13175.0,"low":13079.6,"amount":14.396,"vol":14396,"trade_turnover":188461.9156,"count":59},{"id":1603774800,"open":13121.3,"close":13073.6,"high":13121.3,"low":13069.7,"amount":5.058,"vol":5058,"trade_turnover":66201.3552,"count":44},{"id":1603778400,"open":13074.9,"close":13103.4,"high":13149.0,"low":13069.6,"amount":9.106,"vol":9106,"trade_turnover":119104.8906,"count":107},{"id":1603782000,"open":13103.3,"close":13130.0,"high":13169.8,"low":12992.4,"amount":73.95,"vol":73950,"trade_turnover":968195.155,"count":305},{"id":1603785600,"open":13135.1,"close":13123.8,"high":13148.4,"low":13044.0,"amount":18.732,"vol":18732,"trade_turnover":245533.5448,"count":135},{"id":1603789200,"open":13115.5,"close":13131.7,"high":13131.8,"low":13075.7,"amount":13.756,"vol":13756,"trade_turnover":180253.7708,"count":102},{"id":1603792800,"open":13134.8,"close":13216.9,"high":13252.0,"low":13063.4,"amount":154.108,"vol":154108,"trade_turnover":2029983.656,"count":525},{"id":1603796400,"open":13218.8,"close":13395.8,"high":13590.1,"low":13213.5,"amount":170.09,"vol":170090,"trade_turnover":2276279.742,"count":591},{"id":1603800000,"open":13395.9,"close":13376.9,"high":13414.0,"low":13331.7,"amount":48.928,"vol":48928,"trade_turnover":654585.9108,"count":216},{"id":1603803600,"open":13376.5,"close":13384.3,"high":13490.9,"low":13329.8,"amount":63.294,"vol":63294,"trade_turnover":848130.9212,"count":316},{"id":1603807200,"open":13392.6,"close":13398.2,"high":13415.8,"low":13344.8,"amount":12.892,"vol":12892,"trade_turnover":172618.6864,"count":124},{"id":1603810800,"open":13398.2,"close":13598.5,"high":13626.7,"low":13398.2,"amount":93.22,"vol":93220,"trade_turnover":1262695.5466,"count":476},{"id":1603814400,"open":13595.8,"close":13639.9,"high":13639.9,"low":13520.2,"amount":85.45,"vol":85450,"trade_turnover":1161481.4136,"count":435},{"id":1603818000,"open":13640.0,"close":13688.1,"high":13826.7,"low":13589.0,"amount":191.812,"vol":191812,"trade_turnover":2628428.3788,"count":711},{"id":1603821600,"open":13685.0,"close":13630.1,"high":13745.0,"low":13528.2,"amount":65.434,"vol":65434,"trade_turnover":891541.8394,"count":410},{"id":1603825200,"open":13629.4,"close":13637.1,"high":13659.8,"low":13595.4,"amount":5.788,"vol":5788,"trade_turnover":78836.2578,"count":65},{"id":1603828800,"open":13644.4,"close":13616.6,"high":13805.1,"low":13582.6,"amount":163.104,"vol":163104,"trade_turnover":2234040.3544,"count":537},{"id":1603832400,"open":13609.8,"close":13705.5,"high":13753.5,"low":13609.8,"amount":9.884,"vol":9884,"trade_turnover":135406.4752,"count":101},{"id":1603836000,"open":13705.4,"close":13739.9,"high":13739.9,"low":13658.2,"amount":7.436,"vol":7436,"trade_turnover":101840.3508,"count":100},{"id":1603839600,"open":13739.9,"close":13649.6,"high":13794.6,"low":13582.6,"amount":17.086,"vol":17086,"trade_turnover":233971.8448,"count":234},{"id":1603843200,"open":13645.9,"close":13701.7,"high":13745.2,"low":13618.8,"amount":24.108,"vol":24108,"trade_turnover":330206.5694,"count":177},{"id":1603846800,"open":13702.1,"close":13702.6,"high":13725.6,"low":13647.9,"amount":15.892,"vol":15892,"trade_turnover":217816.7008,"count":151},{"id":1603850400,"open":13701.7,"close":13811.6,"high":13832.2,"low":13680.2,"amount":46.548,"vol":46548,"trade_turnover":640636.0352,"count":274},{"id":1603854000,"open":13818.5,"close":13777.0,"high":13820.3,"low":13717.5,"amount":67.896,"vol":67896,"trade_turnover":935838.2238,"count":320},{"id":1603857600,"open":13767.3,"close":13735.7,"high":13807.2,"low":13710.0,"amount":33.156,"vol":33156,"trade_turnover":455941.234,"count":210},{"id":1603861200,"open":13735.5,"close":13715.8,"high":13753.9,"low":13671.3,"amount":32.076,"vol":32076,"trade_turnover":439612.64,"count":198},{"id":1603864800,"open":13715.9,"close":13701.3,"high":13757.0,"low":13694.9,"amount":14.756,"vol":14756,"trade_turnover":202602.5164,"count":122},{"id":1603868400,"open":13701.2,"close":13674.2,"high":13708.7,"low":13550.0,"amount":155.534,"vol":155534,"trade_turnover":2117935.0928,"count":635},{"id":1603872000,"open":13673.0,"close":13691.7,"high":13691.7,"low":13584.0,"amount":29.846,"vol":29846,"trade_turnover":407073.1398,"count":240},{"id":1603875600,"open":13689.3,"close":13587.1,"high":13707.5,"low":13573.5,"amount":104.542,"vol":104542,"trade_turnover":1425079.9344,"count":377},{"id":1603879200,"open":13584.6,"close":13552.7,"high":13618.0,"low":13504.7,"amount":73.818,"vol":73818,"trade_turnover":1001666.0908,"count":358},{"id":1603882800,"open":13552.6,"close":13336.4,"high":13565.4,"low":13330.0,"amount":176.544,"vol":176544,"trade_turnover":2369166.1492,"count":1004},{"id":1603886400,"open":13331.5,"close":13300.3,"high":13385.0,"low":13173.9,"amount":289.73,"vol":289730,"trade_turnover":3846751.7166,"count":968},{"id":1603890000,"open":13300.2,"close":13129.9,"high":13340.0,"low":13122.9,"amount":139.822,"vol":139822,"trade_turnover":1848876.932,"count":612},{"id":1603893600,"open":13123.4,"close":13082.2,"high":13168.2,"low":12915.9,"amount":367.876,"vol":367876,"trade_turnover":4802516.9818,"count":1168},{"id":1603897200,"open":13077.1,"close":13221.2,"high":13235.2,"low":13052.3,"amount":84.044,"vol":84044,"trade_turnover":1106883.1282,"count":375},{"id":1603900800,"open":13218.7,"close":13145.1,"high":13218.7,"low":13050.0,"amount":29.566,"vol":29566,"trade_turnover":388697.4104,"count":244},{"id":1603904400,"open":13145.1,"close":13176.7,"high":13204.9,"low":13006.6,"amount":53.336,"vol":53336,"trade_turnover":700385.2784,"count":299},{"id":1603908000,"open":13171.0,"close":13196.5,"high":13219.6,"low":13131.0,"amount":34.164,"vol":34164,"trade_turnover":450210.5778,"count":218},{"id":1603911600,"open":13200.0,"close":13154.9,"high":13237.4,"low":13145.0,"amount":22.158,"vol":22158,"trade_turnover":292020.0438,"count":185},{"id":1603915200,"open":13154.5,"close":13198.1,"high":13211.8,"low":13147.4,"amount":4.548,"vol":4548,"trade_turnover":59991.1118,"count":75},{"id":1603918800,"open":13193.5,"close":13190.1,"high":13196.5,"low":13100.2,"amount":3.52,"vol":3520,"trade_turnover":46175.428,"count":68},{"id":1603922400,"open":13185.4,"close":13252.0,"high":13267.5,"low":13185.4,"amount":3.122,"vol":3122,"trade_turnover":41304.2018,"count":72},{"id":1603926000,"open":13242.1,"close":13265.9,"high":13282.3,"low":13235.9,"amount":14.768,"vol":14768,"trade_turnover":195689.0764,"count":86},{"id":1603929600,"open":13253.9,"close":13245.1,"high":13294.7,"low":13237.4,"amount":19.968,"vol":19968,"trade_turnover":264834.1944,"count":98},{"id":1603933200,"open":13244.6,"close":13274.2,"high":13285.3,"low":13166.3,"amount":35.282,"vol":35282,"trade_turnover":465789.6302,"count":192},{"id":1603936800,"open":13275.9,"close":13241.1,"high":13277.7,"low":13212.2,"amount":9.748,"vol":9748,"trade_turnover":129016.0684,"count":119},{"id":1603940400,"open":13237.1,"close":13262.5,"high":13262.5,"low":13174.6,"amount":27.3,"vol":27300,"trade_turnover":360589.8982,"count":199},{"id":1603944000,"open":13269.1,"close":13229.5,"high":13277.7,"low":13229.5,"amount":18.904,"vol":18904,"trade_turnover":250713.2812,"count":109},{"id":1603947600,"open":13228.5,"close":13274.8,"high":13274.8,"low":13228.5,"amount":15.822,"vol":15822,"trade_turnover":209781.909,"count":134},{"id":1603951200,"open":13274.8,"close":13255.0,"high":13323.0,"low":13242.3,"amount":91.246,"vol":91246,"trade_turnover":1211271.2788,"count":294},{"id":1603954800,"open":13255.0,"close":13142.4,"high":13269.3,"low":13123.1,"amount":187.622,"vol":187622,"trade_turnover":2478299.7074,"count":506},{"id":1603958400,"open":13145.9,"close":13124.8,"high":13182.4,"low":13094.1,"amount":69.532,"vol":69532,"trade_turnover":914157.2418,"count":226},{"id":1603962000,"open":13129.5,"close":13183.7,"high":13197.1,"low":13129.5,"amount":23.184,"vol":23184,"trade_turnover":305485.9524,"count":141},{"id":1603965600,"open":13184.8,"close":13105.2,"high":13187.5,"low":13053.1,"amount":121.146,"vol":121146,"trade_turnover":1590026.4416,"count":442},{"id":1603969200,"open":13105.1,"close":13060.1,"high":13171.4,"low":13060.1,"amount":47.498,"vol":47498,"trade_turnover":623578.149,"count":262},{"id":1603972800,"open":13056.9,"close":13131.8,"high":13145.8,"low":12977.9,"amount":126.552,"vol":126552,"trade_turnover":1652549.311,"count":481},{"id":1603976400,"open":13131.7,"close":13230.0,"high":13237.2,"low":13102.0,"amount":100.482,"vol":100482,"trade_turnover":1326403.7206,"count":325},{"id":1603980000,"open":13231.0,"close":13420.8,"high":13476.1,"low":13231.0,"amount":253.258,"vol":253258,"trade_turnover":3384941.438,"count":752},{"id":1603983600,"open":13416.0,"close":13420.6,"high":13458.7,"low":13358.7,"amount":64.71,"vol":64710,"trade_turnover":869052.3804,"count":269},{"id":1603987200,"open":13421.9,"close":13535.9,"high":13594.5,"low":13391.8,"amount":120.24,"vol":120240,"trade_turnover":1626567.8278,"count":570}]} +2024-01-18 11:13:03.909 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:41] - 请求 KLine 数据解析之后的数据为:{"wsid":19750305,"data":[{"amount":0.276,"high":12300.0,"vol":276,"low":11715.8,"count":39,"id":1603270800,"close":12196.7,"tradeTurnover":3315.9104,"open":12198.0},{"amount":0.198,"high":12289.9,"vol":198,"low":12111.0,"count":21,"id":1603274400,"close":12277.9,"tradeTurnover":2420.7728,"open":12196.7},{"amount":0.012,"high":12277.9,"vol":12,"low":12000.0,"count":5,"id":1603278000,"close":12000.0,"tradeTurnover":145.2238,"open":12111.0},{"amount":0.084,"high":12498.0,"vol":84,"low":12078.0,"count":12,"id":1603281600,"close":12497.4,"tradeTurnover":1040.0504,"open":12078.0},{"amount":1.122,"high":12495.6,"vol":1122,"low":12282.9,"count":112,"id":1603285200,"close":12373.5,"tradeTurnover":13905.3124,"open":12495.6},{"amount":5.29,"high":12807.6,"vol":5290,"low":12358.1,"count":155,"id":1603288800,"close":12689.9,"tradeTurnover":66852.128,"open":12412.9},{"amount":1.174,"high":12778.7,"vol":1174,"low":12573.2,"count":113,"id":1603292400,"close":12701.9,"tradeTurnover":14907.367,"open":12692.8},{"amount":1.156,"high":12920.9,"vol":1156,"low":12624.8,"count":115,"id":1603296000,"close":12835.9,"tradeTurnover":14802.449,"open":12679.7},{"amount":1.12,"high":12908.3,"vol":1120,"low":12687.5,"count":115,"id":1603299600,"close":12754.2,"tradeTurnover":14345.7324,"open":12848.3},{"amount":1.106,"high":12849.0,"vol":1106,"low":12668.3,"count":114,"id":1603303200,"close":12740.2,"tradeTurnover":14105.3504,"open":12743.7},{"amount":1.032,"high":12843.1,"vol":1032,"low":12597.2,"count":112,"id":1603306800,"close":12650.3,"tradeTurnover":13125.4568,"open":12729.5},{"amount":1.154,"high":12848.4,"vol":1154,"low":12610.2,"count":116,"id":1603310400,"close":12807.0,"tradeTurnover":14680.638,"open":12666.8},{"amount":1.164,"high":13005.1,"vol":1164,"low":12748.2,"count":114,"id":1603314000,"close":12938.9,"tradeTurnover":14976.9366,"open":12866.0},{"amount":1.174,"high":13211.2,"vol":1174,"low":12865.7,"count":114,"id":1603317600,"close":13122.0,"tradeTurnover":15285.2446,"open":12921.0},{"amount":1.172,"high":13173.2,"vol":1172,"low":12688.6,"count":117,"id":1603321200,"close":12829.8,"tradeTurnover":15060.9938,"open":13153.2},{"amount":1.17,"high":12988.1,"vol":1170,"low":12764.4,"count":117,"id":1603324800,"close":12885.9,"tradeTurnover":15046.2046,"open":12793.1},{"amount":1.158,"high":12972.6,"vol":1158,"low":12757.5,"count":118,"id":1603328400,"close":12757.5,"tradeTurnover":14882.4656,"open":12860.4},{"amount":1.124,"high":12848.0,"vol":1124,"low":12729.0,"count":115,"id":1603332000,"close":12788.8,"tradeTurnover":14368.7948,"open":12824.1},{"amount":1.194,"high":12834.4,"vol":1194,"low":12729.0,"count":111,"id":1603335600,"close":12767.2,"tradeTurnover":15268.9298,"open":12791.7},{"amount":1.152,"high":12778.3,"vol":1152,"low":12729.0,"count":115,"id":1603339200,"close":12762.2,"tradeTurnover":14695.4876,"open":12729.0},{"amount":1.21,"high":12842.0,"vol":1210,"low":12730.6,"count":119,"id":1603342800,"close":12813.8,"tradeTurnover":15440.8162,"open":12763.1},{"amount":1.188,"high":12795.0,"vol":1188,"low":12728.0,"count":123,"id":1603346400,"close":12729.1,"tradeTurnover":15128.0098,"open":12795.0},{"amount":1.266,"high":12730.6,"vol":1266,"low":12728.3,"count":112,"id":1603350000,"close":12730.6,"tradeTurnover":16115.1306,"open":12728.6},{"amount":1.35,"high":12921.5,"vol":1350,"low":12729.9,"count":127,"id":1603353600,"close":12770.1,"tradeTurnover":17233.7326,"open":12730.3},{"amount":0.98,"high":12872.1,"vol":980,"low":12760.1,"count":99,"id":1603357200,"close":12780.4,"tradeTurnover":12553.9826,"open":12824.9},{"amount":0.266,"high":13002.7,"vol":266,"low":12775.6,"count":30,"id":1603360800,"close":12934.2,"tradeTurnover":3415.023,"open":12784.9},{"amount":1.004,"high":13057.0,"vol":1004,"low":12886.6,"count":117,"id":1603364400,"close":13045.0,"tradeTurnover":13020.8576,"open":12977.0},{"amount":1.134,"high":12973.4,"vol":1134,"low":12751.6,"count":111,"id":1603368000,"close":12847.9,"tradeTurnover":14594.2752,"open":12958.5},{"amount":1.152,"high":13000.8,"vol":1152,"low":12743.0,"count":114,"id":1603371600,"close":12931.0,"tradeTurnover":14877.7314,"open":12882.7},{"amount":1.182,"high":12995.3,"vol":1182,"low":12783.9,"count":115,"id":1603375200,"close":12917.8,"tradeTurnover":15224.4716,"open":12890.4},{"amount":1.176,"high":13031.2,"vol":1176,"low":12817.9,"count":117,"id":1603378800,"close":12953.0,"tradeTurnover":15197.208,"open":12918.8},{"amount":1.146,"high":13100.2,"vol":1146,"low":12865.6,"count":119,"id":1603382400,"close":13055.6,"tradeTurnover":14851.9604,"open":12923.1},{"amount":1.534,"high":13105.7,"vol":1534,"low":12835.5,"count":124,"id":1603386000,"close":13082.7,"tradeTurnover":19927.8288,"open":12967.6},{"amount":1.268,"high":13115.0,"vol":1268,"low":12938.7,"count":117,"id":1603389600,"close":13016.4,"tradeTurnover":16505.4738,"open":13020.4},{"amount":1.13,"high":13171.2,"vol":1130,"low":12961.8,"count":112,"id":1603393200,"close":12970.6,"tradeTurnover":14762.952,"open":13028.3},{"amount":1.206,"high":13216.1,"vol":1206,"low":12998.5,"count":117,"id":1603396800,"close":13089.3,"tradeTurnover":15807.1226,"open":13016.7},{"amount":1.332,"high":13203.7,"vol":1332,"low":12932.9,"count":114,"id":1603400400,"close":13092.0,"tradeTurnover":17423.4422,"open":13136.0},{"amount":1.21,"high":13250.5,"vol":1210,"low":12984.7,"count":114,"id":1603404000,"close":13055.9,"tradeTurnover":15876.0632,"open":13119.4},{"amount":1.286,"high":13126.5,"vol":1286,"low":12857.2,"count":116,"id":1603407600,"close":12890.4,"tradeTurnover":16688.422,"open":13059.4},{"amount":1.502,"high":12994.0,"vol":1502,"low":12751.6,"count":131,"id":1603411200,"close":12892.2,"tradeTurnover":19331.1596,"open":12929.7},{"amount":1.386,"high":13003.2,"vol":1386,"low":12786.0,"count":121,"id":1603414800,"close":12898.3,"tradeTurnover":17904.8902,"open":12921.7},{"amount":1.416,"high":13054.0,"vol":1416,"low":12800.7,"count":122,"id":1603418400,"close":12975.1,"tradeTurnover":18306.6204,"open":12951.6},{"amount":1.19,"high":13030.7,"vol":1190,"low":12875.0,"count":118,"id":1603422000,"close":12947.0,"tradeTurnover":15409.7984,"open":12967.3},{"amount":1.022,"high":13047.3,"vol":1022,"low":12832.8,"count":127,"id":1603425600,"close":12852.0,"tradeTurnover":13214.4388,"open":12925.2},{"amount":0.478,"high":12991.7,"vol":478,"low":12841.2,"count":118,"id":1603429200,"close":12931.1,"tradeTurnover":6180.2486,"open":12859.0},{"amount":0.522,"high":13014.1,"vol":522,"low":12871.9,"count":132,"id":1603432800,"close":12939.6,"tradeTurnover":6759.0324,"open":12935.9},{"amount":0.476,"high":12998.9,"vol":476,"low":12917.1,"count":118,"id":1603436400,"close":12925.4,"tradeTurnover":6163.3118,"open":12923.1},{"amount":0.508,"high":13014.0,"vol":508,"low":12916.1,"count":122,"id":1603440000,"close":12962.6,"tradeTurnover":6585.3656,"open":12942.2},{"amount":0.564,"high":13012.5,"vol":564,"low":12909.9,"count":124,"id":1603443600,"close":12926.4,"tradeTurnover":7308.8828,"open":12970.5},{"amount":0.536,"high":13059.5,"vol":536,"low":12925.7,"count":124,"id":1603447200,"close":13007.7,"tradeTurnover":6957.8796,"open":13001.2},{"amount":0.486,"high":13078.4,"vol":486,"low":12906.5,"count":122,"id":1603450800,"close":12970.6,"tradeTurnover":6326.1434,"open":13025.4},{"amount":0.494,"high":13025.0,"vol":494,"low":12850.8,"count":117,"id":1603454400,"close":12935.4,"tradeTurnover":6396.0984,"open":12963.9},{"amount":0.466,"high":13043.3,"vol":466,"low":12911.0,"count":117,"id":1603458000,"close":12951.7,"tradeTurnover":6049.1412,"open":12913.3},{"amount":0.46,"high":13006.4,"vol":460,"low":12840.4,"count":116,"id":1603461600,"close":12858.8,"tradeTurnover":5941.815,"open":12999.6},{"amount":0.492,"high":12932.9,"vol":492,"low":12826.5,"count":117,"id":1603465200,"close":12881.9,"tradeTurnover":6340.214,"open":12885.7},{"amount":0.484,"high":12933.5,"vol":484,"low":12744.4,"count":123,"id":1603468800,"close":12784.1,"tradeTurnover":6205.4138,"open":12854.4},{"amount":0.562,"high":12893.1,"vol":562,"low":12730.1,"count":152,"id":1603472400,"close":12847.7,"tradeTurnover":7218.9184,"open":12832.3},{"amount":0.53,"high":12939.3,"vol":530,"low":12751.4,"count":128,"id":1603476000,"close":12915.7,"tradeTurnover":6825.7004,"open":12874.1},{"amount":0.444,"high":12972.9,"vol":444,"low":12786.6,"count":117,"id":1603479600,"close":12972.9,"tradeTurnover":5727.7452,"open":12867.9},{"amount":0.492,"high":13002.2,"vol":492,"low":12842.9,"count":116,"id":1603483200,"close":12991.6,"tradeTurnover":6375.1566,"open":12956.7},{"amount":0.5,"high":13004.3,"vol":500,"low":12936.6,"count":125,"id":1603486800,"close":12943.5,"tradeTurnover":6485.468,"open":13004.3},{"amount":0.492,"high":13010.3,"vol":492,"low":12884.7,"count":120,"id":1603490400,"close":12989.2,"tradeTurnover":6376.1492,"open":12923.6},{"amount":0.51,"high":13024.4,"vol":510,"low":12884.6,"count":121,"id":1603494000,"close":12884.6,"tradeTurnover":6622.3406,"open":12974.9},{"amount":0.488,"high":13018.3,"vol":488,"low":12811.1,"count":120,"id":1603497600,"close":12953.9,"tradeTurnover":6317.7938,"open":12973.7},{"amount":0.482,"high":13018.1,"vol":482,"low":12872.8,"count":117,"id":1603501200,"close":12934.2,"tradeTurnover":6242.4178,"open":12927.5},{"amount":0.484,"high":13003.9,"vol":484,"low":12903.3,"count":117,"id":1603504800,"close":12989.1,"tradeTurnover":6278.1756,"open":12971.9},{"amount":0.474,"high":13013.4,"vol":474,"low":12938.3,"count":122,"id":1603508400,"close":12975.9,"tradeTurnover":6157.7096,"open":13000.1},{"amount":0.526,"high":13009.4,"vol":526,"low":12905.5,"count":124,"id":1603512000,"close":12963.3,"tradeTurnover":6831.5658,"open":12989.7},{"amount":0.522,"high":13041.8,"vol":522,"low":12875.3,"count":127,"id":1603515600,"close":12989.7,"tradeTurnover":6768.8994,"open":12910.5},{"amount":0.49,"high":13058.1,"vol":490,"low":12908.8,"count":120,"id":1603519200,"close":13003.6,"tradeTurnover":6370.5714,"open":12994.7},{"amount":0.478,"high":13037.8,"vol":478,"low":12981.7,"count":120,"id":1603522800,"close":13004.2,"tradeTurnover":6218.9722,"open":13011.9},{"amount":0.52,"high":13030.6,"vol":520,"low":12899.4,"count":124,"id":1603526400,"close":12998.2,"tradeTurnover":6754.958,"open":13003.0},{"amount":0.454,"high":13020.3,"vol":454,"low":12893.6,"count":115,"id":1603530000,"close":12990.6,"tradeTurnover":5891.0574,"open":12998.2},{"amount":0.502,"high":13059.1,"vol":502,"low":12913.2,"count":124,"id":1603533600,"close":13030.1,"tradeTurnover":6525.9004,"open":12996.4},{"amount":0.468,"high":13068.3,"vol":468,"low":12940.2,"count":119,"id":1603537200,"close":13033.2,"tradeTurnover":6091.0376,"open":12988.4},{"amount":0.468,"high":13071.8,"vol":468,"low":12978.9,"count":123,"id":1603540800,"close":13006.5,"tradeTurnover":6102.5902,"open":13035.3},{"amount":0.534,"high":13066.7,"vol":534,"low":12928.1,"count":123,"id":1603544400,"close":12985.9,"tradeTurnover":6950.4268,"open":13038.8},{"amount":0.47,"high":13100.1,"vol":470,"low":12960.5,"count":100,"id":1603548000,"close":13042.0,"tradeTurnover":6124.2178,"open":12986.3},{"amount":0.456,"high":13196.5,"vol":456,"low":13038.4,"count":120,"id":1603551600,"close":13102.2,"tradeTurnover":5989.6362,"open":13038.4},{"amount":0.458,"high":13176.6,"vol":458,"low":12984.6,"count":121,"id":1603555200,"close":13052.7,"tradeTurnover":5976.331,"open":13136.8},{"amount":0.452,"high":13177.8,"vol":452,"low":13003.2,"count":118,"id":1603558800,"close":13177.8,"tradeTurnover":5911.7058,"open":13006.2},{"amount":0.468,"high":13170.7,"vol":468,"low":13023.0,"count":119,"id":1603562400,"close":13080.8,"tradeTurnover":6122.375,"open":13127.7},{"amount":0.468,"high":13179.3,"vol":468,"low":13014.2,"count":120,"id":1603566000,"close":13148.4,"tradeTurnover":6126.4278,"open":13040.7},{"amount":0.47,"high":13179.6,"vol":470,"low":12992.5,"count":119,"id":1603569600,"close":13090.1,"tradeTurnover":6151.4758,"open":13073.5},{"amount":0.458,"high":13148.7,"vol":458,"low":12980.7,"count":117,"id":1603573200,"close":12993.9,"tradeTurnover":5981.071,"open":13035.4},{"amount":0.478,"high":13112.1,"vol":478,"low":12975.6,"count":118,"id":1603576800,"close":13041.1,"tradeTurnover":6225.4216,"open":13040.7},{"amount":0.472,"high":13184.3,"vol":472,"low":13009.3,"count":118,"id":1603580400,"close":13184.3,"tradeTurnover":6173.4244,"open":13012.6},{"amount":0.46,"high":13170.4,"vol":460,"low":13007.7,"count":115,"id":1603584000,"close":13154.3,"tradeTurnover":6024.09,"open":13080.8},{"amount":0.398,"high":13196.8,"vol":398,"low":13024.0,"count":102,"id":1603587600,"close":13196.1,"tradeTurnover":5217.5364,"open":13092.0},{"amount":0.476,"high":13175.1,"vol":476,"low":13035.0,"count":120,"id":1603591200,"close":13082.4,"tradeTurnover":6228.6596,"open":13124.7},{"amount":0.578,"high":13383.8,"vol":578,"low":13049.1,"count":137,"id":1603594800,"close":13259.0,"tradeTurnover":7629.3886,"open":13049.1},{"amount":0.47,"high":13369.0,"vol":470,"low":13216.0,"count":122,"id":1603598400,"close":13243.4,"tradeTurnover":6247.955,"open":13277.0},{"amount":0.61,"high":13353.3,"vol":610,"low":13010.1,"count":134,"id":1603602000,"close":13017.3,"tradeTurnover":8048.8598,"open":13285.3},{"amount":0.486,"high":13105.7,"vol":486,"low":13018.2,"count":118,"id":1603605600,"close":13060.3,"tradeTurnover":6344.1474,"open":13022.5},{"amount":0.464,"high":13112.1,"vol":464,"low":13022.0,"count":120,"id":1603609200,"close":13078.1,"tradeTurnover":6061.5416,"open":13048.5},{"amount":0.464,"high":13091.0,"vol":464,"low":13017.2,"count":120,"id":1603612800,"close":13046.0,"tradeTurnover":6055.3734,"open":13077.2},{"amount":0.478,"high":13084.0,"vol":478,"low":13014.2,"count":117,"id":1603616400,"close":13040.8,"tradeTurnover":6235.7882,"open":13065.1},{"amount":0.478,"high":13064.2,"vol":478,"low":13010.2,"count":125,"id":1603620000,"close":13028.5,"tradeTurnover":6232.2428,"open":13047.1},{"amount":0.534,"high":13061.5,"vol":534,"low":12852.9,"count":123,"id":1603623600,"close":12897.6,"tradeTurnover":6918.1226,"open":13061.5},{"amount":0.444,"high":13069.7,"vol":444,"low":12893.2,"count":117,"id":1603627200,"close":12964.3,"tradeTurnover":5755.8712,"open":12908.3},{"amount":0.498,"high":13071.9,"vol":498,"low":12891.8,"count":119,"id":1603630800,"close":12949.3,"tradeTurnover":6465.078,"open":13001.3},{"amount":0.468,"high":13077.7,"vol":468,"low":12900.0,"count":116,"id":1603634400,"close":12946.8,"tradeTurnover":6075.4554,"open":12975.8},{"amount":0.47,"high":13069.1,"vol":470,"low":12883.3,"count":119,"id":1603638000,"close":12883.3,"tradeTurnover":6097.1072,"open":12975.2},{"amount":0.482,"high":13067.9,"vol":482,"low":12877.5,"count":118,"id":1603641600,"close":12978.7,"tradeTurnover":6256.4472,"open":12916.2},{"amount":0.47,"high":13087.5,"vol":470,"low":12922.7,"count":117,"id":1603645200,"close":13004.4,"tradeTurnover":6108.3892,"open":13008.0},{"amount":0.468,"high":13067.6,"vol":468,"low":12893.6,"count":118,"id":1603648800,"close":12957.2,"tradeTurnover":6079.1484,"open":12972.8},{"amount":0.442,"high":13066.9,"vol":442,"low":12916.6,"count":118,"id":1603652400,"close":13021.8,"tradeTurnover":5746.5548,"open":12996.5},{"amount":0.508,"high":13081.5,"vol":508,"low":12944.9,"count":120,"id":1603656000,"close":12985.4,"tradeTurnover":6616.9872,"open":12992.9},{"amount":0.508,"high":13068.6,"vol":508,"low":12921.4,"count":122,"id":1603659600,"close":13011.2,"tradeTurnover":6614.816,"open":12999.9},{"amount":0.486,"high":13073.8,"vol":486,"low":12911.9,"count":121,"id":1603663200,"close":12959.4,"tradeTurnover":6320.907,"open":12979.6},{"amount":0.452,"high":13085.2,"vol":452,"low":12927.8,"count":113,"id":1603666800,"close":13032.1,"tradeTurnover":5878.6442,"open":12963.4},{"amount":0.482,"high":13076.7,"vol":482,"low":12918.3,"count":121,"id":1603670400,"close":13001.0,"tradeTurnover":6263.698,"open":12964.2},{"amount":0.478,"high":13096.4,"vol":478,"low":12991.2,"count":124,"id":1603674000,"close":13053.7,"tradeTurnover":6232.2328,"open":13040.0},{"amount":0.488,"high":13185.7,"vol":488,"low":12985.1,"count":121,"id":1603677600,"close":13064.4,"tradeTurnover":6387.534,"open":13060.6},{"amount":0.486,"high":13187.2,"vol":486,"low":12984.1,"count":135,"id":1603681200,"close":13092.8,"tradeTurnover":6369.0272,"open":13032.3},{"amount":0.51,"high":13181.6,"vol":510,"low":12962.3,"count":131,"id":1603684800,"close":13132.6,"tradeTurnover":6679.829,"open":13092.0},{"amount":0.506,"high":13205.3,"vol":506,"low":13025.3,"count":126,"id":1603688400,"close":13092.1,"tradeTurnover":6641.2128,"open":13129.2},{"amount":1.616,"high":13188.1,"vol":1616,"low":12989.8,"count":141,"id":1603692000,"close":13071.4,"tradeTurnover":21170.8224,"open":13121.8},{"amount":3.746,"high":13100.0,"vol":3746,"low":12965.2,"count":110,"id":1603695600,"close":13038.7,"tradeTurnover":48924.8902,"open":13061.0},{"amount":8.966,"high":13102.0,"vol":8966,"low":12852.8,"count":173,"id":1603699200,"close":13039.3,"tradeTurnover":116525.5534,"open":13030.9},{"amount":4.48,"high":13088.4,"vol":4480,"low":13039.8,"count":124,"id":1603702800,"close":13075.9,"tradeTurnover":58521.1714,"open":13047.1},{"amount":4.272,"high":13100.0,"vol":4272,"low":13060.2,"count":130,"id":1603706400,"close":13100.0,"tradeTurnover":55895.9778,"open":13072.1},{"amount":29.798,"high":13159.0,"vol":29798,"low":13100.0,"count":230,"id":1603710000,"close":13138.4,"tradeTurnover":391138.024,"open":13100.0},{"amount":5.154,"high":13200.0,"vol":5154,"low":13100.0,"count":188,"id":1603713600,"close":13149.8,"tradeTurnover":67694.652,"open":13138.8},{"amount":35.608,"high":13351.5,"vol":35608,"low":13133.1,"count":328,"id":1603717200,"close":13205.8,"tradeTurnover":472780.3394,"open":13150.0},{"amount":31.748,"high":13280.0,"vol":31748,"low":13144.1,"count":235,"id":1603720800,"close":13166.1,"tradeTurnover":418744.5588,"open":13203.0},{"amount":36.53,"high":13165.2,"vol":36530,"low":12903.8,"count":384,"id":1603724400,"close":12978.0,"tradeTurnover":476940.3296,"open":13159.0},{"amount":35.018,"high":13069.8,"vol":35018,"low":12850.5,"count":323,"id":1603728000,"close":12869.6,"tradeTurnover":453288.918,"open":12965.0},{"amount":92.628,"high":12941.5,"vol":92628,"low":12583.9,"count":560,"id":1603731600,"close":12873.8,"tradeTurnover":1185973.467,"open":12879.2},{"amount":4.302,"high":12954.5,"vol":4302,"low":12820.4,"count":128,"id":1603735200,"close":12946.8,"tradeTurnover":55481.0054,"open":12856.2},{"amount":13.83,"high":12953.5,"vol":13830,"low":12914.1,"count":118,"id":1603738800,"close":12953.4,"tradeTurnover":179112.1598,"open":12945.6},{"amount":17.172,"high":13007.5,"vol":17172,"low":12953.5,"count":132,"id":1603742400,"close":12983.4,"tradeTurnover":223230.2122,"open":12953.5},{"amount":3.212,"high":13007.5,"vol":3212,"low":12982.7,"count":59,"id":1603746000,"close":12993.8,"tradeTurnover":41767.8906,"open":12983.1},{"amount":1.504,"high":13007.5,"vol":1504,"low":12974.0,"count":74,"id":1603749600,"close":13007.5,"tradeTurnover":19543.3568,"open":13002.1},{"amount":3.454,"high":13061.2,"vol":3454,"low":13007.5,"count":101,"id":1603753200,"close":13033.7,"tradeTurnover":45001.601,"open":13007.5},{"amount":8.784,"high":13105.0,"vol":8784,"low":13028.3,"count":98,"id":1603756800,"close":13067.1,"tradeTurnover":114871.8246,"open":13029.2},{"amount":11.592,"high":13074.4,"vol":11592,"low":13051.5,"count":66,"id":1603760400,"close":13061.7,"tradeTurnover":151386.9038,"open":13074.3},{"amount":19.298,"high":13097.6,"vol":19298,"low":13040.1,"count":109,"id":1603764000,"close":13049.7,"tradeTurnover":252061.019,"open":13061.7},{"amount":22.992,"high":13080.0,"vol":22992,"low":13057.1,"count":69,"id":1603767600,"close":13070.4,"tradeTurnover":300453.9788,"open":13057.6},{"amount":14.396,"high":13175.0,"vol":14396,"low":13079.6,"count":59,"id":1603771200,"close":13103.3,"tradeTurnover":188461.9156,"open":13080.0},{"amount":5.058,"high":13121.3,"vol":5058,"low":13069.7,"count":44,"id":1603774800,"close":13073.6,"tradeTurnover":66201.3552,"open":13121.3},{"amount":9.106,"high":13149.0,"vol":9106,"low":13069.6,"count":107,"id":1603778400,"close":13103.4,"tradeTurnover":119104.8906,"open":13074.9},{"amount":73.95,"high":13169.8,"vol":73950,"low":12992.4,"count":305,"id":1603782000,"close":13130.0,"tradeTurnover":968195.155,"open":13103.3},{"amount":18.732,"high":13148.4,"vol":18732,"low":13044.0,"count":135,"id":1603785600,"close":13123.8,"tradeTurnover":245533.5448,"open":13135.1},{"amount":13.756,"high":13131.8,"vol":13756,"low":13075.7,"count":102,"id":1603789200,"close":13131.7,"tradeTurnover":180253.7708,"open":13115.5},{"amount":154.108,"high":13252.0,"vol":154108,"low":13063.4,"count":525,"id":1603792800,"close":13216.9,"tradeTurnover":2029983.656,"open":13134.8},{"amount":170.09,"high":13590.1,"vol":170090,"low":13213.5,"count":591,"id":1603796400,"close":13395.8,"tradeTurnover":2276279.742,"open":13218.8},{"amount":48.928,"high":13414.0,"vol":48928,"low":13331.7,"count":216,"id":1603800000,"close":13376.9,"tradeTurnover":654585.9108,"open":13395.9},{"amount":63.294,"high":13490.9,"vol":63294,"low":13329.8,"count":316,"id":1603803600,"close":13384.3,"tradeTurnover":848130.9212,"open":13376.5},{"amount":12.892,"high":13415.8,"vol":12892,"low":13344.8,"count":124,"id":1603807200,"close":13398.2,"tradeTurnover":172618.6864,"open":13392.6},{"amount":93.22,"high":13626.7,"vol":93220,"low":13398.2,"count":476,"id":1603810800,"close":13598.5,"tradeTurnover":1262695.5466,"open":13398.2},{"amount":85.45,"high":13639.9,"vol":85450,"low":13520.2,"count":435,"id":1603814400,"close":13639.9,"tradeTurnover":1161481.4136,"open":13595.8},{"amount":191.812,"high":13826.7,"vol":191812,"low":13589.0,"count":711,"id":1603818000,"close":13688.1,"tradeTurnover":2628428.3788,"open":13640.0},{"amount":65.434,"high":13745.0,"vol":65434,"low":13528.2,"count":410,"id":1603821600,"close":13630.1,"tradeTurnover":891541.8394,"open":13685.0},{"amount":5.788,"high":13659.8,"vol":5788,"low":13595.4,"count":65,"id":1603825200,"close":13637.1,"tradeTurnover":78836.2578,"open":13629.4},{"amount":163.104,"high":13805.1,"vol":163104,"low":13582.6,"count":537,"id":1603828800,"close":13616.6,"tradeTurnover":2234040.3544,"open":13644.4},{"amount":9.884,"high":13753.5,"vol":9884,"low":13609.8,"count":101,"id":1603832400,"close":13705.5,"tradeTurnover":135406.4752,"open":13609.8},{"amount":7.436,"high":13739.9,"vol":7436,"low":13658.2,"count":100,"id":1603836000,"close":13739.9,"tradeTurnover":101840.3508,"open":13705.4},{"amount":17.086,"high":13794.6,"vol":17086,"low":13582.6,"count":234,"id":1603839600,"close":13649.6,"tradeTurnover":233971.8448,"open":13739.9},{"amount":24.108,"high":13745.2,"vol":24108,"low":13618.8,"count":177,"id":1603843200,"close":13701.7,"tradeTurnover":330206.5694,"open":13645.9},{"amount":15.892,"high":13725.6,"vol":15892,"low":13647.9,"count":151,"id":1603846800,"close":13702.6,"tradeTurnover":217816.7008,"open":13702.1},{"amount":46.548,"high":13832.2,"vol":46548,"low":13680.2,"count":274,"id":1603850400,"close":13811.6,"tradeTurnover":640636.0352,"open":13701.7},{"amount":67.896,"high":13820.3,"vol":67896,"low":13717.5,"count":320,"id":1603854000,"close":13777.0,"tradeTurnover":935838.2238,"open":13818.5},{"amount":33.156,"high":13807.2,"vol":33156,"low":13710.0,"count":210,"id":1603857600,"close":13735.7,"tradeTurnover":455941.234,"open":13767.3},{"amount":32.076,"high":13753.9,"vol":32076,"low":13671.3,"count":198,"id":1603861200,"close":13715.8,"tradeTurnover":439612.64,"open":13735.5},{"amount":14.756,"high":13757.0,"vol":14756,"low":13694.9,"count":122,"id":1603864800,"close":13701.3,"tradeTurnover":202602.5164,"open":13715.9},{"amount":155.534,"high":13708.7,"vol":155534,"low":13550.0,"count":635,"id":1603868400,"close":13674.2,"tradeTurnover":2117935.0928,"open":13701.2},{"amount":29.846,"high":13691.7,"vol":29846,"low":13584.0,"count":240,"id":1603872000,"close":13691.7,"tradeTurnover":407073.1398,"open":13673.0},{"amount":104.542,"high":13707.5,"vol":104542,"low":13573.5,"count":377,"id":1603875600,"close":13587.1,"tradeTurnover":1425079.9344,"open":13689.3},{"amount":73.818,"high":13618.0,"vol":73818,"low":13504.7,"count":358,"id":1603879200,"close":13552.7,"tradeTurnover":1001666.0908,"open":13584.6},{"amount":176.544,"high":13565.4,"vol":176544,"low":13330.0,"count":1004,"id":1603882800,"close":13336.4,"tradeTurnover":2369166.1492,"open":13552.6},{"amount":289.73,"high":13385.0,"vol":289730,"low":13173.9,"count":968,"id":1603886400,"close":13300.3,"tradeTurnover":3846751.7166,"open":13331.5},{"amount":139.822,"high":13340.0,"vol":139822,"low":13122.9,"count":612,"id":1603890000,"close":13129.9,"tradeTurnover":1848876.932,"open":13300.2},{"amount":367.876,"high":13168.2,"vol":367876,"low":12915.9,"count":1168,"id":1603893600,"close":13082.2,"tradeTurnover":4802516.9818,"open":13123.4},{"amount":84.044,"high":13235.2,"vol":84044,"low":13052.3,"count":375,"id":1603897200,"close":13221.2,"tradeTurnover":1106883.1282,"open":13077.1},{"amount":29.566,"high":13218.7,"vol":29566,"low":13050.0,"count":244,"id":1603900800,"close":13145.1,"tradeTurnover":388697.4104,"open":13218.7},{"amount":53.336,"high":13204.9,"vol":53336,"low":13006.6,"count":299,"id":1603904400,"close":13176.7,"tradeTurnover":700385.2784,"open":13145.1},{"amount":34.164,"high":13219.6,"vol":34164,"low":13131.0,"count":218,"id":1603908000,"close":13196.5,"tradeTurnover":450210.5778,"open":13171.0},{"amount":22.158,"high":13237.4,"vol":22158,"low":13145.0,"count":185,"id":1603911600,"close":13154.9,"tradeTurnover":292020.0438,"open":13200.0},{"amount":4.548,"high":13211.8,"vol":4548,"low":13147.4,"count":75,"id":1603915200,"close":13198.1,"tradeTurnover":59991.1118,"open":13154.5},{"amount":3.52,"high":13196.5,"vol":3520,"low":13100.2,"count":68,"id":1603918800,"close":13190.1,"tradeTurnover":46175.428,"open":13193.5},{"amount":3.122,"high":13267.5,"vol":3122,"low":13185.4,"count":72,"id":1603922400,"close":13252.0,"tradeTurnover":41304.2018,"open":13185.4},{"amount":14.768,"high":13282.3,"vol":14768,"low":13235.9,"count":86,"id":1603926000,"close":13265.9,"tradeTurnover":195689.0764,"open":13242.1},{"amount":19.968,"high":13294.7,"vol":19968,"low":13237.4,"count":98,"id":1603929600,"close":13245.1,"tradeTurnover":264834.1944,"open":13253.9},{"amount":35.282,"high":13285.3,"vol":35282,"low":13166.3,"count":192,"id":1603933200,"close":13274.2,"tradeTurnover":465789.6302,"open":13244.6},{"amount":9.748,"high":13277.7,"vol":9748,"low":13212.2,"count":119,"id":1603936800,"close":13241.1,"tradeTurnover":129016.0684,"open":13275.9},{"amount":27.3,"high":13262.5,"vol":27300,"low":13174.6,"count":199,"id":1603940400,"close":13262.5,"tradeTurnover":360589.8982,"open":13237.1},{"amount":18.904,"high":13277.7,"vol":18904,"low":13229.5,"count":109,"id":1603944000,"close":13229.5,"tradeTurnover":250713.2812,"open":13269.1},{"amount":15.822,"high":13274.8,"vol":15822,"low":13228.5,"count":134,"id":1603947600,"close":13274.8,"tradeTurnover":209781.909,"open":13228.5},{"amount":91.246,"high":13323.0,"vol":91246,"low":13242.3,"count":294,"id":1603951200,"close":13255.0,"tradeTurnover":1211271.2788,"open":13274.8},{"amount":187.622,"high":13269.3,"vol":187622,"low":13123.1,"count":506,"id":1603954800,"close":13142.4,"tradeTurnover":2478299.7074,"open":13255.0},{"amount":69.532,"high":13182.4,"vol":69532,"low":13094.1,"count":226,"id":1603958400,"close":13124.8,"tradeTurnover":914157.2418,"open":13145.9},{"amount":23.184,"high":13197.1,"vol":23184,"low":13129.5,"count":141,"id":1603962000,"close":13183.7,"tradeTurnover":305485.9524,"open":13129.5},{"amount":121.146,"high":13187.5,"vol":121146,"low":13053.1,"count":442,"id":1603965600,"close":13105.2,"tradeTurnover":1590026.4416,"open":13184.8},{"amount":47.498,"high":13171.4,"vol":47498,"low":13060.1,"count":262,"id":1603969200,"close":13060.1,"tradeTurnover":623578.149,"open":13105.1},{"amount":126.552,"high":13145.8,"vol":126552,"low":12977.9,"count":481,"id":1603972800,"close":13131.8,"tradeTurnover":1652549.311,"open":13056.9},{"amount":100.482,"high":13237.2,"vol":100482,"low":13102.0,"count":325,"id":1603976400,"close":13230.0,"tradeTurnover":1326403.7206,"open":13131.7},{"amount":253.258,"high":13476.1,"vol":253258,"low":13231.0,"count":752,"id":1603980000,"close":13420.8,"tradeTurnover":3384941.438,"open":13231.0},{"amount":64.71,"high":13458.7,"vol":64710,"low":13358.7,"count":269,"id":1603983600,"close":13420.6,"tradeTurnover":869052.3804,"open":13416.0},{"amount":120.24,"high":13594.5,"vol":120240,"low":13391.8,"count":570,"id":1603987200,"close":13535.9,"tradeTurnover":1626567.8278,"open":13421.9}],"id":"","rep":"market.BTC-USDT.kline.60min","status":"ok"} +2024-01-18 11:13:04.902 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:39] - 请求 KLine 数据用户收到的原始数据:{"id":"","rep":"market.BTC-USDT.kline.60min","ts":1705547583811,"wsid":19750305,"status":"ok","data":[{"id":1603270800,"open":12198.0,"close":12196.7,"high":12300.0,"low":11715.8,"amount":0.276,"vol":276,"trade_turnover":3315.9104,"count":39},{"id":1603274400,"open":12196.7,"close":12277.9,"high":12289.9,"low":12111.0,"amount":0.198,"vol":198,"trade_turnover":2420.7728,"count":21},{"id":1603278000,"open":12111.0,"close":12000.0,"high":12277.9,"low":12000.0,"amount":0.012,"vol":12,"trade_turnover":145.2238,"count":5},{"id":1603281600,"open":12078.0,"close":12497.4,"high":12498.0,"low":12078.0,"amount":0.084,"vol":84,"trade_turnover":1040.0504,"count":12},{"id":1603285200,"open":12495.6,"close":12373.5,"high":12495.6,"low":12282.9,"amount":1.122,"vol":1122,"trade_turnover":13905.3124,"count":112},{"id":1603288800,"open":12412.9,"close":12689.9,"high":12807.6,"low":12358.1,"amount":5.29,"vol":5290,"trade_turnover":66852.128,"count":155},{"id":1603292400,"open":12692.8,"close":12701.9,"high":12778.7,"low":12573.2,"amount":1.174,"vol":1174,"trade_turnover":14907.367,"count":113},{"id":1603296000,"open":12679.7,"close":12835.9,"high":12920.9,"low":12624.8,"amount":1.156,"vol":1156,"trade_turnover":14802.449,"count":115},{"id":1603299600,"open":12848.3,"close":12754.2,"high":12908.3,"low":12687.5,"amount":1.12,"vol":1120,"trade_turnover":14345.7324,"count":115},{"id":1603303200,"open":12743.7,"close":12740.2,"high":12849.0,"low":12668.3,"amount":1.106,"vol":1106,"trade_turnover":14105.3504,"count":114},{"id":1603306800,"open":12729.5,"close":12650.3,"high":12843.1,"low":12597.2,"amount":1.032,"vol":1032,"trade_turnover":13125.4568,"count":112},{"id":1603310400,"open":12666.8,"close":12807.0,"high":12848.4,"low":12610.2,"amount":1.154,"vol":1154,"trade_turnover":14680.638,"count":116},{"id":1603314000,"open":12866.0,"close":12938.9,"high":13005.1,"low":12748.2,"amount":1.164,"vol":1164,"trade_turnover":14976.9366,"count":114},{"id":1603317600,"open":12921.0,"close":13122.0,"high":13211.2,"low":12865.7,"amount":1.174,"vol":1174,"trade_turnover":15285.2446,"count":114},{"id":1603321200,"open":13153.2,"close":12829.8,"high":13173.2,"low":12688.6,"amount":1.172,"vol":1172,"trade_turnover":15060.9938,"count":117},{"id":1603324800,"open":12793.1,"close":12885.9,"high":12988.1,"low":12764.4,"amount":1.17,"vol":1170,"trade_turnover":15046.2046,"count":117},{"id":1603328400,"open":12860.4,"close":12757.5,"high":12972.6,"low":12757.5,"amount":1.158,"vol":1158,"trade_turnover":14882.4656,"count":118},{"id":1603332000,"open":12824.1,"close":12788.8,"high":12848.0,"low":12729.0,"amount":1.124,"vol":1124,"trade_turnover":14368.7948,"count":115},{"id":1603335600,"open":12791.7,"close":12767.2,"high":12834.4,"low":12729.0,"amount":1.194,"vol":1194,"trade_turnover":15268.9298,"count":111},{"id":1603339200,"open":12729.0,"close":12762.2,"high":12778.3,"low":12729.0,"amount":1.152,"vol":1152,"trade_turnover":14695.4876,"count":115},{"id":1603342800,"open":12763.1,"close":12813.8,"high":12842.0,"low":12730.6,"amount":1.21,"vol":1210,"trade_turnover":15440.8162,"count":119},{"id":1603346400,"open":12795.0,"close":12729.1,"high":12795.0,"low":12728.0,"amount":1.188,"vol":1188,"trade_turnover":15128.0098,"count":123},{"id":1603350000,"open":12728.6,"close":12730.6,"high":12730.6,"low":12728.3,"amount":1.266,"vol":1266,"trade_turnover":16115.1306,"count":112},{"id":1603353600,"open":12730.3,"close":12770.1,"high":12921.5,"low":12729.9,"amount":1.35,"vol":1350,"trade_turnover":17233.7326,"count":127},{"id":1603357200,"open":12824.9,"close":12780.4,"high":12872.1,"low":12760.1,"amount":0.98,"vol":980,"trade_turnover":12553.9826,"count":99},{"id":1603360800,"open":12784.9,"close":12934.2,"high":13002.7,"low":12775.6,"amount":0.266,"vol":266,"trade_turnover":3415.023,"count":30},{"id":1603364400,"open":12977.0,"close":13045.0,"high":13057.0,"low":12886.6,"amount":1.004,"vol":1004,"trade_turnover":13020.8576,"count":117},{"id":1603368000,"open":12958.5,"close":12847.9,"high":12973.4,"low":12751.6,"amount":1.134,"vol":1134,"trade_turnover":14594.2752,"count":111},{"id":1603371600,"open":12882.7,"close":12931.0,"high":13000.8,"low":12743.0,"amount":1.152,"vol":1152,"trade_turnover":14877.7314,"count":114},{"id":1603375200,"open":12890.4,"close":12917.8,"high":12995.3,"low":12783.9,"amount":1.182,"vol":1182,"trade_turnover":15224.4716,"count":115},{"id":1603378800,"open":12918.8,"close":12953.0,"high":13031.2,"low":12817.9,"amount":1.176,"vol":1176,"trade_turnover":15197.208,"count":117},{"id":1603382400,"open":12923.1,"close":13055.6,"high":13100.2,"low":12865.6,"amount":1.146,"vol":1146,"trade_turnover":14851.9604,"count":119},{"id":1603386000,"open":12967.6,"close":13082.7,"high":13105.7,"low":12835.5,"amount":1.534,"vol":1534,"trade_turnover":19927.8288,"count":124},{"id":1603389600,"open":13020.4,"close":13016.4,"high":13115.0,"low":12938.7,"amount":1.268,"vol":1268,"trade_turnover":16505.4738,"count":117},{"id":1603393200,"open":13028.3,"close":12970.6,"high":13171.2,"low":12961.8,"amount":1.13,"vol":1130,"trade_turnover":14762.952,"count":112},{"id":1603396800,"open":13016.7,"close":13089.3,"high":13216.1,"low":12998.5,"amount":1.206,"vol":1206,"trade_turnover":15807.1226,"count":117},{"id":1603400400,"open":13136.0,"close":13092.0,"high":13203.7,"low":12932.9,"amount":1.332,"vol":1332,"trade_turnover":17423.4422,"count":114},{"id":1603404000,"open":13119.4,"close":13055.9,"high":13250.5,"low":12984.7,"amount":1.21,"vol":1210,"trade_turnover":15876.0632,"count":114},{"id":1603407600,"open":13059.4,"close":12890.4,"high":13126.5,"low":12857.2,"amount":1.286,"vol":1286,"trade_turnover":16688.422,"count":116},{"id":1603411200,"open":12929.7,"close":12892.2,"high":12994.0,"low":12751.6,"amount":1.502,"vol":1502,"trade_turnover":19331.1596,"count":131},{"id":1603414800,"open":12921.7,"close":12898.3,"high":13003.2,"low":12786.0,"amount":1.386,"vol":1386,"trade_turnover":17904.8902,"count":121},{"id":1603418400,"open":12951.6,"close":12975.1,"high":13054.0,"low":12800.7,"amount":1.416,"vol":1416,"trade_turnover":18306.6204,"count":122},{"id":1603422000,"open":12967.3,"close":12947.0,"high":13030.7,"low":12875.0,"amount":1.19,"vol":1190,"trade_turnover":15409.7984,"count":118},{"id":1603425600,"open":12925.2,"close":12852.0,"high":13047.3,"low":12832.8,"amount":1.022,"vol":1022,"trade_turnover":13214.4388,"count":127},{"id":1603429200,"open":12859.0,"close":12931.1,"high":12991.7,"low":12841.2,"amount":0.478,"vol":478,"trade_turnover":6180.2486,"count":118},{"id":1603432800,"open":12935.9,"close":12939.6,"high":13014.1,"low":12871.9,"amount":0.522,"vol":522,"trade_turnover":6759.0324,"count":132},{"id":1603436400,"open":12923.1,"close":12925.4,"high":12998.9,"low":12917.1,"amount":0.476,"vol":476,"trade_turnover":6163.3118,"count":118},{"id":1603440000,"open":12942.2,"close":12962.6,"high":13014.0,"low":12916.1,"amount":0.508,"vol":508,"trade_turnover":6585.3656,"count":122},{"id":1603443600,"open":12970.5,"close":12926.4,"high":13012.5,"low":12909.9,"amount":0.564,"vol":564,"trade_turnover":7308.8828,"count":124},{"id":1603447200,"open":13001.2,"close":13007.7,"high":13059.5,"low":12925.7,"amount":0.536,"vol":536,"trade_turnover":6957.8796,"count":124},{"id":1603450800,"open":13025.4,"close":12970.6,"high":13078.4,"low":12906.5,"amount":0.486,"vol":486,"trade_turnover":6326.1434,"count":122},{"id":1603454400,"open":12963.9,"close":12935.4,"high":13025.0,"low":12850.8,"amount":0.494,"vol":494,"trade_turnover":6396.0984,"count":117},{"id":1603458000,"open":12913.3,"close":12951.7,"high":13043.3,"low":12911.0,"amount":0.466,"vol":466,"trade_turnover":6049.1412,"count":117},{"id":1603461600,"open":12999.6,"close":12858.8,"high":13006.4,"low":12840.4,"amount":0.46,"vol":460,"trade_turnover":5941.815,"count":116},{"id":1603465200,"open":12885.7,"close":12881.9,"high":12932.9,"low":12826.5,"amount":0.492,"vol":492,"trade_turnover":6340.214,"count":117},{"id":1603468800,"open":12854.4,"close":12784.1,"high":12933.5,"low":12744.4,"amount":0.484,"vol":484,"trade_turnover":6205.4138,"count":123},{"id":1603472400,"open":12832.3,"close":12847.7,"high":12893.1,"low":12730.1,"amount":0.562,"vol":562,"trade_turnover":7218.9184,"count":152},{"id":1603476000,"open":12874.1,"close":12915.7,"high":12939.3,"low":12751.4,"amount":0.53,"vol":530,"trade_turnover":6825.7004,"count":128},{"id":1603479600,"open":12867.9,"close":12972.9,"high":12972.9,"low":12786.6,"amount":0.444,"vol":444,"trade_turnover":5727.7452,"count":117},{"id":1603483200,"open":12956.7,"close":12991.6,"high":13002.2,"low":12842.9,"amount":0.492,"vol":492,"trade_turnover":6375.1566,"count":116},{"id":1603486800,"open":13004.3,"close":12943.5,"high":13004.3,"low":12936.6,"amount":0.5,"vol":500,"trade_turnover":6485.468,"count":125},{"id":1603490400,"open":12923.6,"close":12989.2,"high":13010.3,"low":12884.7,"amount":0.492,"vol":492,"trade_turnover":6376.1492,"count":120},{"id":1603494000,"open":12974.9,"close":12884.6,"high":13024.4,"low":12884.6,"amount":0.51,"vol":510,"trade_turnover":6622.3406,"count":121},{"id":1603497600,"open":12973.7,"close":12953.9,"high":13018.3,"low":12811.1,"amount":0.488,"vol":488,"trade_turnover":6317.7938,"count":120},{"id":1603501200,"open":12927.5,"close":12934.2,"high":13018.1,"low":12872.8,"amount":0.482,"vol":482,"trade_turnover":6242.4178,"count":117},{"id":1603504800,"open":12971.9,"close":12989.1,"high":13003.9,"low":12903.3,"amount":0.484,"vol":484,"trade_turnover":6278.1756,"count":117},{"id":1603508400,"open":13000.1,"close":12975.9,"high":13013.4,"low":12938.3,"amount":0.474,"vol":474,"trade_turnover":6157.7096,"count":122},{"id":1603512000,"open":12989.7,"close":12963.3,"high":13009.4,"low":12905.5,"amount":0.526,"vol":526,"trade_turnover":6831.5658,"count":124},{"id":1603515600,"open":12910.5,"close":12989.7,"high":13041.8,"low":12875.3,"amount":0.522,"vol":522,"trade_turnover":6768.8994,"count":127},{"id":1603519200,"open":12994.7,"close":13003.6,"high":13058.1,"low":12908.8,"amount":0.49,"vol":490,"trade_turnover":6370.5714,"count":120},{"id":1603522800,"open":13011.9,"close":13004.2,"high":13037.8,"low":12981.7,"amount":0.478,"vol":478,"trade_turnover":6218.9722,"count":120},{"id":1603526400,"open":13003.0,"close":12998.2,"high":13030.6,"low":12899.4,"amount":0.52,"vol":520,"trade_turnover":6754.958,"count":124},{"id":1603530000,"open":12998.2,"close":12990.6,"high":13020.3,"low":12893.6,"amount":0.454,"vol":454,"trade_turnover":5891.0574,"count":115},{"id":1603533600,"open":12996.4,"close":13030.1,"high":13059.1,"low":12913.2,"amount":0.502,"vol":502,"trade_turnover":6525.9004,"count":124},{"id":1603537200,"open":12988.4,"close":13033.2,"high":13068.3,"low":12940.2,"amount":0.468,"vol":468,"trade_turnover":6091.0376,"count":119},{"id":1603540800,"open":13035.3,"close":13006.5,"high":13071.8,"low":12978.9,"amount":0.468,"vol":468,"trade_turnover":6102.5902,"count":123},{"id":1603544400,"open":13038.8,"close":12985.9,"high":13066.7,"low":12928.1,"amount":0.534,"vol":534,"trade_turnover":6950.4268,"count":123},{"id":1603548000,"open":12986.3,"close":13042.0,"high":13100.1,"low":12960.5,"amount":0.47,"vol":470,"trade_turnover":6124.2178,"count":100},{"id":1603551600,"open":13038.4,"close":13102.2,"high":13196.5,"low":13038.4,"amount":0.456,"vol":456,"trade_turnover":5989.6362,"count":120},{"id":1603555200,"open":13136.8,"close":13052.7,"high":13176.6,"low":12984.6,"amount":0.458,"vol":458,"trade_turnover":5976.331,"count":121},{"id":1603558800,"open":13006.2,"close":13177.8,"high":13177.8,"low":13003.2,"amount":0.452,"vol":452,"trade_turnover":5911.7058,"count":118},{"id":1603562400,"open":13127.7,"close":13080.8,"high":13170.7,"low":13023.0,"amount":0.468,"vol":468,"trade_turnover":6122.375,"count":119},{"id":1603566000,"open":13040.7,"close":13148.4,"high":13179.3,"low":13014.2,"amount":0.468,"vol":468,"trade_turnover":6126.4278,"count":120},{"id":1603569600,"open":13073.5,"close":13090.1,"high":13179.6,"low":12992.5,"amount":0.47,"vol":470,"trade_turnover":6151.4758,"count":119},{"id":1603573200,"open":13035.4,"close":12993.9,"high":13148.7,"low":12980.7,"amount":0.458,"vol":458,"trade_turnover":5981.071,"count":117},{"id":1603576800,"open":13040.7,"close":13041.1,"high":13112.1,"low":12975.6,"amount":0.478,"vol":478,"trade_turnover":6225.4216,"count":118},{"id":1603580400,"open":13012.6,"close":13184.3,"high":13184.3,"low":13009.3,"amount":0.472,"vol":472,"trade_turnover":6173.4244,"count":118},{"id":1603584000,"open":13080.8,"close":13154.3,"high":13170.4,"low":13007.7,"amount":0.46,"vol":460,"trade_turnover":6024.09,"count":115},{"id":1603587600,"open":13092.0,"close":13196.1,"high":13196.8,"low":13024.0,"amount":0.398,"vol":398,"trade_turnover":5217.5364,"count":102},{"id":1603591200,"open":13124.7,"close":13082.4,"high":13175.1,"low":13035.0,"amount":0.476,"vol":476,"trade_turnover":6228.6596,"count":120},{"id":1603594800,"open":13049.1,"close":13259.0,"high":13383.8,"low":13049.1,"amount":0.578,"vol":578,"trade_turnover":7629.3886,"count":137},{"id":1603598400,"open":13277.0,"close":13243.4,"high":13369.0,"low":13216.0,"amount":0.47,"vol":470,"trade_turnover":6247.955,"count":122},{"id":1603602000,"open":13285.3,"close":13017.3,"high":13353.3,"low":13010.1,"amount":0.61,"vol":610,"trade_turnover":8048.8598,"count":134},{"id":1603605600,"open":13022.5,"close":13060.3,"high":13105.7,"low":13018.2,"amount":0.486,"vol":486,"trade_turnover":6344.1474,"count":118},{"id":1603609200,"open":13048.5,"close":13078.1,"high":13112.1,"low":13022.0,"amount":0.464,"vol":464,"trade_turnover":6061.5416,"count":120},{"id":1603612800,"open":13077.2,"close":13046.0,"high":13091.0,"low":13017.2,"amount":0.464,"vol":464,"trade_turnover":6055.3734,"count":120},{"id":1603616400,"open":13065.1,"close":13040.8,"high":13084.0,"low":13014.2,"amount":0.478,"vol":478,"trade_turnover":6235.7882,"count":117},{"id":1603620000,"open":13047.1,"close":13028.5,"high":13064.2,"low":13010.2,"amount":0.478,"vol":478,"trade_turnover":6232.2428,"count":125},{"id":1603623600,"open":13061.5,"close":12897.6,"high":13061.5,"low":12852.9,"amount":0.534,"vol":534,"trade_turnover":6918.1226,"count":123},{"id":1603627200,"open":12908.3,"close":12964.3,"high":13069.7,"low":12893.2,"amount":0.444,"vol":444,"trade_turnover":5755.8712,"count":117},{"id":1603630800,"open":13001.3,"close":12949.3,"high":13071.9,"low":12891.8,"amount":0.498,"vol":498,"trade_turnover":6465.078,"count":119},{"id":1603634400,"open":12975.8,"close":12946.8,"high":13077.7,"low":12900.0,"amount":0.468,"vol":468,"trade_turnover":6075.4554,"count":116},{"id":1603638000,"open":12975.2,"close":12883.3,"high":13069.1,"low":12883.3,"amount":0.47,"vol":470,"trade_turnover":6097.1072,"count":119},{"id":1603641600,"open":12916.2,"close":12978.7,"high":13067.9,"low":12877.5,"amount":0.482,"vol":482,"trade_turnover":6256.4472,"count":118},{"id":1603645200,"open":13008.0,"close":13004.4,"high":13087.5,"low":12922.7,"amount":0.47,"vol":470,"trade_turnover":6108.3892,"count":117},{"id":1603648800,"open":12972.8,"close":12957.2,"high":13067.6,"low":12893.6,"amount":0.468,"vol":468,"trade_turnover":6079.1484,"count":118},{"id":1603652400,"open":12996.5,"close":13021.8,"high":13066.9,"low":12916.6,"amount":0.442,"vol":442,"trade_turnover":5746.5548,"count":118},{"id":1603656000,"open":12992.9,"close":12985.4,"high":13081.5,"low":12944.9,"amount":0.508,"vol":508,"trade_turnover":6616.9872,"count":120},{"id":1603659600,"open":12999.9,"close":13011.2,"high":13068.6,"low":12921.4,"amount":0.508,"vol":508,"trade_turnover":6614.816,"count":122},{"id":1603663200,"open":12979.6,"close":12959.4,"high":13073.8,"low":12911.9,"amount":0.486,"vol":486,"trade_turnover":6320.907,"count":121},{"id":1603666800,"open":12963.4,"close":13032.1,"high":13085.2,"low":12927.8,"amount":0.452,"vol":452,"trade_turnover":5878.6442,"count":113},{"id":1603670400,"open":12964.2,"close":13001.0,"high":13076.7,"low":12918.3,"amount":0.482,"vol":482,"trade_turnover":6263.698,"count":121},{"id":1603674000,"open":13040.0,"close":13053.7,"high":13096.4,"low":12991.2,"amount":0.478,"vol":478,"trade_turnover":6232.2328,"count":124},{"id":1603677600,"open":13060.6,"close":13064.4,"high":13185.7,"low":12985.1,"amount":0.488,"vol":488,"trade_turnover":6387.534,"count":121},{"id":1603681200,"open":13032.3,"close":13092.8,"high":13187.2,"low":12984.1,"amount":0.486,"vol":486,"trade_turnover":6369.0272,"count":135},{"id":1603684800,"open":13092.0,"close":13132.6,"high":13181.6,"low":12962.3,"amount":0.51,"vol":510,"trade_turnover":6679.829,"count":131},{"id":1603688400,"open":13129.2,"close":13092.1,"high":13205.3,"low":13025.3,"amount":0.506,"vol":506,"trade_turnover":6641.2128,"count":126},{"id":1603692000,"open":13121.8,"close":13071.4,"high":13188.1,"low":12989.8,"amount":1.616,"vol":1616,"trade_turnover":21170.8224,"count":141},{"id":1603695600,"open":13061.0,"close":13038.7,"high":13100.0,"low":12965.2,"amount":3.746,"vol":3746,"trade_turnover":48924.8902,"count":110},{"id":1603699200,"open":13030.9,"close":13039.3,"high":13102.0,"low":12852.8,"amount":8.966,"vol":8966,"trade_turnover":116525.5534,"count":173},{"id":1603702800,"open":13047.1,"close":13075.9,"high":13088.4,"low":13039.8,"amount":4.48,"vol":4480,"trade_turnover":58521.1714,"count":124},{"id":1603706400,"open":13072.1,"close":13100.0,"high":13100.0,"low":13060.2,"amount":4.272,"vol":4272,"trade_turnover":55895.9778,"count":130},{"id":1603710000,"open":13100.0,"close":13138.4,"high":13159.0,"low":13100.0,"amount":29.798,"vol":29798,"trade_turnover":391138.024,"count":230},{"id":1603713600,"open":13138.8,"close":13149.8,"high":13200.0,"low":13100.0,"amount":5.154,"vol":5154,"trade_turnover":67694.652,"count":188},{"id":1603717200,"open":13150.0,"close":13205.8,"high":13351.5,"low":13133.1,"amount":35.608,"vol":35608,"trade_turnover":472780.3394,"count":328},{"id":1603720800,"open":13203.0,"close":13166.1,"high":13280.0,"low":13144.1,"amount":31.748,"vol":31748,"trade_turnover":418744.5588,"count":235},{"id":1603724400,"open":13159.0,"close":12978.0,"high":13165.2,"low":12903.8,"amount":36.53,"vol":36530,"trade_turnover":476940.3296,"count":384},{"id":1603728000,"open":12965.0,"close":12869.6,"high":13069.8,"low":12850.5,"amount":35.018,"vol":35018,"trade_turnover":453288.918,"count":323},{"id":1603731600,"open":12879.2,"close":12873.8,"high":12941.5,"low":12583.9,"amount":92.628,"vol":92628,"trade_turnover":1185973.467,"count":560},{"id":1603735200,"open":12856.2,"close":12946.8,"high":12954.5,"low":12820.4,"amount":4.302,"vol":4302,"trade_turnover":55481.0054,"count":128},{"id":1603738800,"open":12945.6,"close":12953.4,"high":12953.5,"low":12914.1,"amount":13.83,"vol":13830,"trade_turnover":179112.1598,"count":118},{"id":1603742400,"open":12953.5,"close":12983.4,"high":13007.5,"low":12953.5,"amount":17.172,"vol":17172,"trade_turnover":223230.2122,"count":132},{"id":1603746000,"open":12983.1,"close":12993.8,"high":13007.5,"low":12982.7,"amount":3.212,"vol":3212,"trade_turnover":41767.8906,"count":59},{"id":1603749600,"open":13002.1,"close":13007.5,"high":13007.5,"low":12974.0,"amount":1.504,"vol":1504,"trade_turnover":19543.3568,"count":74},{"id":1603753200,"open":13007.5,"close":13033.7,"high":13061.2,"low":13007.5,"amount":3.454,"vol":3454,"trade_turnover":45001.601,"count":101},{"id":1603756800,"open":13029.2,"close":13067.1,"high":13105.0,"low":13028.3,"amount":8.784,"vol":8784,"trade_turnover":114871.8246,"count":98},{"id":1603760400,"open":13074.3,"close":13061.7,"high":13074.4,"low":13051.5,"amount":11.592,"vol":11592,"trade_turnover":151386.9038,"count":66},{"id":1603764000,"open":13061.7,"close":13049.7,"high":13097.6,"low":13040.1,"amount":19.298,"vol":19298,"trade_turnover":252061.019,"count":109},{"id":1603767600,"open":13057.6,"close":13070.4,"high":13080.0,"low":13057.1,"amount":22.992,"vol":22992,"trade_turnover":300453.9788,"count":69},{"id":1603771200,"open":13080.0,"close":13103.3,"high":13175.0,"low":13079.6,"amount":14.396,"vol":14396,"trade_turnover":188461.9156,"count":59},{"id":1603774800,"open":13121.3,"close":13073.6,"high":13121.3,"low":13069.7,"amount":5.058,"vol":5058,"trade_turnover":66201.3552,"count":44},{"id":1603778400,"open":13074.9,"close":13103.4,"high":13149.0,"low":13069.6,"amount":9.106,"vol":9106,"trade_turnover":119104.8906,"count":107},{"id":1603782000,"open":13103.3,"close":13130.0,"high":13169.8,"low":12992.4,"amount":73.95,"vol":73950,"trade_turnover":968195.155,"count":305},{"id":1603785600,"open":13135.1,"close":13123.8,"high":13148.4,"low":13044.0,"amount":18.732,"vol":18732,"trade_turnover":245533.5448,"count":135},{"id":1603789200,"open":13115.5,"close":13131.7,"high":13131.8,"low":13075.7,"amount":13.756,"vol":13756,"trade_turnover":180253.7708,"count":102},{"id":1603792800,"open":13134.8,"close":13216.9,"high":13252.0,"low":13063.4,"amount":154.108,"vol":154108,"trade_turnover":2029983.656,"count":525},{"id":1603796400,"open":13218.8,"close":13395.8,"high":13590.1,"low":13213.5,"amount":170.09,"vol":170090,"trade_turnover":2276279.742,"count":591},{"id":1603800000,"open":13395.9,"close":13376.9,"high":13414.0,"low":13331.7,"amount":48.928,"vol":48928,"trade_turnover":654585.9108,"count":216},{"id":1603803600,"open":13376.5,"close":13384.3,"high":13490.9,"low":13329.8,"amount":63.294,"vol":63294,"trade_turnover":848130.9212,"count":316},{"id":1603807200,"open":13392.6,"close":13398.2,"high":13415.8,"low":13344.8,"amount":12.892,"vol":12892,"trade_turnover":172618.6864,"count":124},{"id":1603810800,"open":13398.2,"close":13598.5,"high":13626.7,"low":13398.2,"amount":93.22,"vol":93220,"trade_turnover":1262695.5466,"count":476},{"id":1603814400,"open":13595.8,"close":13639.9,"high":13639.9,"low":13520.2,"amount":85.45,"vol":85450,"trade_turnover":1161481.4136,"count":435},{"id":1603818000,"open":13640.0,"close":13688.1,"high":13826.7,"low":13589.0,"amount":191.812,"vol":191812,"trade_turnover":2628428.3788,"count":711},{"id":1603821600,"open":13685.0,"close":13630.1,"high":13745.0,"low":13528.2,"amount":65.434,"vol":65434,"trade_turnover":891541.8394,"count":410},{"id":1603825200,"open":13629.4,"close":13637.1,"high":13659.8,"low":13595.4,"amount":5.788,"vol":5788,"trade_turnover":78836.2578,"count":65},{"id":1603828800,"open":13644.4,"close":13616.6,"high":13805.1,"low":13582.6,"amount":163.104,"vol":163104,"trade_turnover":2234040.3544,"count":537},{"id":1603832400,"open":13609.8,"close":13705.5,"high":13753.5,"low":13609.8,"amount":9.884,"vol":9884,"trade_turnover":135406.4752,"count":101},{"id":1603836000,"open":13705.4,"close":13739.9,"high":13739.9,"low":13658.2,"amount":7.436,"vol":7436,"trade_turnover":101840.3508,"count":100},{"id":1603839600,"open":13739.9,"close":13649.6,"high":13794.6,"low":13582.6,"amount":17.086,"vol":17086,"trade_turnover":233971.8448,"count":234},{"id":1603843200,"open":13645.9,"close":13701.7,"high":13745.2,"low":13618.8,"amount":24.108,"vol":24108,"trade_turnover":330206.5694,"count":177},{"id":1603846800,"open":13702.1,"close":13702.6,"high":13725.6,"low":13647.9,"amount":15.892,"vol":15892,"trade_turnover":217816.7008,"count":151},{"id":1603850400,"open":13701.7,"close":13811.6,"high":13832.2,"low":13680.2,"amount":46.548,"vol":46548,"trade_turnover":640636.0352,"count":274},{"id":1603854000,"open":13818.5,"close":13777.0,"high":13820.3,"low":13717.5,"amount":67.896,"vol":67896,"trade_turnover":935838.2238,"count":320},{"id":1603857600,"open":13767.3,"close":13735.7,"high":13807.2,"low":13710.0,"amount":33.156,"vol":33156,"trade_turnover":455941.234,"count":210},{"id":1603861200,"open":13735.5,"close":13715.8,"high":13753.9,"low":13671.3,"amount":32.076,"vol":32076,"trade_turnover":439612.64,"count":198},{"id":1603864800,"open":13715.9,"close":13701.3,"high":13757.0,"low":13694.9,"amount":14.756,"vol":14756,"trade_turnover":202602.5164,"count":122},{"id":1603868400,"open":13701.2,"close":13674.2,"high":13708.7,"low":13550.0,"amount":155.534,"vol":155534,"trade_turnover":2117935.0928,"count":635},{"id":1603872000,"open":13673.0,"close":13691.7,"high":13691.7,"low":13584.0,"amount":29.846,"vol":29846,"trade_turnover":407073.1398,"count":240},{"id":1603875600,"open":13689.3,"close":13587.1,"high":13707.5,"low":13573.5,"amount":104.542,"vol":104542,"trade_turnover":1425079.9344,"count":377},{"id":1603879200,"open":13584.6,"close":13552.7,"high":13618.0,"low":13504.7,"amount":73.818,"vol":73818,"trade_turnover":1001666.0908,"count":358},{"id":1603882800,"open":13552.6,"close":13336.4,"high":13565.4,"low":13330.0,"amount":176.544,"vol":176544,"trade_turnover":2369166.1492,"count":1004},{"id":1603886400,"open":13331.5,"close":13300.3,"high":13385.0,"low":13173.9,"amount":289.73,"vol":289730,"trade_turnover":3846751.7166,"count":968},{"id":1603890000,"open":13300.2,"close":13129.9,"high":13340.0,"low":13122.9,"amount":139.822,"vol":139822,"trade_turnover":1848876.932,"count":612},{"id":1603893600,"open":13123.4,"close":13082.2,"high":13168.2,"low":12915.9,"amount":367.876,"vol":367876,"trade_turnover":4802516.9818,"count":1168},{"id":1603897200,"open":13077.1,"close":13221.2,"high":13235.2,"low":13052.3,"amount":84.044,"vol":84044,"trade_turnover":1106883.1282,"count":375},{"id":1603900800,"open":13218.7,"close":13145.1,"high":13218.7,"low":13050.0,"amount":29.566,"vol":29566,"trade_turnover":388697.4104,"count":244},{"id":1603904400,"open":13145.1,"close":13176.7,"high":13204.9,"low":13006.6,"amount":53.336,"vol":53336,"trade_turnover":700385.2784,"count":299},{"id":1603908000,"open":13171.0,"close":13196.5,"high":13219.6,"low":13131.0,"amount":34.164,"vol":34164,"trade_turnover":450210.5778,"count":218},{"id":1603911600,"open":13200.0,"close":13154.9,"high":13237.4,"low":13145.0,"amount":22.158,"vol":22158,"trade_turnover":292020.0438,"count":185},{"id":1603915200,"open":13154.5,"close":13198.1,"high":13211.8,"low":13147.4,"amount":4.548,"vol":4548,"trade_turnover":59991.1118,"count":75},{"id":1603918800,"open":13193.5,"close":13190.1,"high":13196.5,"low":13100.2,"amount":3.52,"vol":3520,"trade_turnover":46175.428,"count":68},{"id":1603922400,"open":13185.4,"close":13252.0,"high":13267.5,"low":13185.4,"amount":3.122,"vol":3122,"trade_turnover":41304.2018,"count":72},{"id":1603926000,"open":13242.1,"close":13265.9,"high":13282.3,"low":13235.9,"amount":14.768,"vol":14768,"trade_turnover":195689.0764,"count":86},{"id":1603929600,"open":13253.9,"close":13245.1,"high":13294.7,"low":13237.4,"amount":19.968,"vol":19968,"trade_turnover":264834.1944,"count":98},{"id":1603933200,"open":13244.6,"close":13274.2,"high":13285.3,"low":13166.3,"amount":35.282,"vol":35282,"trade_turnover":465789.6302,"count":192},{"id":1603936800,"open":13275.9,"close":13241.1,"high":13277.7,"low":13212.2,"amount":9.748,"vol":9748,"trade_turnover":129016.0684,"count":119},{"id":1603940400,"open":13237.1,"close":13262.5,"high":13262.5,"low":13174.6,"amount":27.3,"vol":27300,"trade_turnover":360589.8982,"count":199},{"id":1603944000,"open":13269.1,"close":13229.5,"high":13277.7,"low":13229.5,"amount":18.904,"vol":18904,"trade_turnover":250713.2812,"count":109},{"id":1603947600,"open":13228.5,"close":13274.8,"high":13274.8,"low":13228.5,"amount":15.822,"vol":15822,"trade_turnover":209781.909,"count":134},{"id":1603951200,"open":13274.8,"close":13255.0,"high":13323.0,"low":13242.3,"amount":91.246,"vol":91246,"trade_turnover":1211271.2788,"count":294},{"id":1603954800,"open":13255.0,"close":13142.4,"high":13269.3,"low":13123.1,"amount":187.622,"vol":187622,"trade_turnover":2478299.7074,"count":506},{"id":1603958400,"open":13145.9,"close":13124.8,"high":13182.4,"low":13094.1,"amount":69.532,"vol":69532,"trade_turnover":914157.2418,"count":226},{"id":1603962000,"open":13129.5,"close":13183.7,"high":13197.1,"low":13129.5,"amount":23.184,"vol":23184,"trade_turnover":305485.9524,"count":141},{"id":1603965600,"open":13184.8,"close":13105.2,"high":13187.5,"low":13053.1,"amount":121.146,"vol":121146,"trade_turnover":1590026.4416,"count":442},{"id":1603969200,"open":13105.1,"close":13060.1,"high":13171.4,"low":13060.1,"amount":47.498,"vol":47498,"trade_turnover":623578.149,"count":262},{"id":1603972800,"open":13056.9,"close":13131.8,"high":13145.8,"low":12977.9,"amount":126.552,"vol":126552,"trade_turnover":1652549.311,"count":481},{"id":1603976400,"open":13131.7,"close":13230.0,"high":13237.2,"low":13102.0,"amount":100.482,"vol":100482,"trade_turnover":1326403.7206,"count":325},{"id":1603980000,"open":13231.0,"close":13420.8,"high":13476.1,"low":13231.0,"amount":253.258,"vol":253258,"trade_turnover":3384941.438,"count":752},{"id":1603983600,"open":13416.0,"close":13420.6,"high":13458.7,"low":13358.7,"amount":64.71,"vol":64710,"trade_turnover":869052.3804,"count":269},{"id":1603987200,"open":13421.9,"close":13535.9,"high":13594.5,"low":13391.8,"amount":120.24,"vol":120240,"trade_turnover":1626567.8278,"count":570}]} +2024-01-18 11:13:04.904 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:41] - 请求 KLine 数据解析之后的数据为:{"wsid":19750305,"data":[{"amount":0.276,"high":12300.0,"vol":276,"low":11715.8,"count":39,"id":1603270800,"close":12196.7,"tradeTurnover":3315.9104,"open":12198.0},{"amount":0.198,"high":12289.9,"vol":198,"low":12111.0,"count":21,"id":1603274400,"close":12277.9,"tradeTurnover":2420.7728,"open":12196.7},{"amount":0.012,"high":12277.9,"vol":12,"low":12000.0,"count":5,"id":1603278000,"close":12000.0,"tradeTurnover":145.2238,"open":12111.0},{"amount":0.084,"high":12498.0,"vol":84,"low":12078.0,"count":12,"id":1603281600,"close":12497.4,"tradeTurnover":1040.0504,"open":12078.0},{"amount":1.122,"high":12495.6,"vol":1122,"low":12282.9,"count":112,"id":1603285200,"close":12373.5,"tradeTurnover":13905.3124,"open":12495.6},{"amount":5.29,"high":12807.6,"vol":5290,"low":12358.1,"count":155,"id":1603288800,"close":12689.9,"tradeTurnover":66852.128,"open":12412.9},{"amount":1.174,"high":12778.7,"vol":1174,"low":12573.2,"count":113,"id":1603292400,"close":12701.9,"tradeTurnover":14907.367,"open":12692.8},{"amount":1.156,"high":12920.9,"vol":1156,"low":12624.8,"count":115,"id":1603296000,"close":12835.9,"tradeTurnover":14802.449,"open":12679.7},{"amount":1.12,"high":12908.3,"vol":1120,"low":12687.5,"count":115,"id":1603299600,"close":12754.2,"tradeTurnover":14345.7324,"open":12848.3},{"amount":1.106,"high":12849.0,"vol":1106,"low":12668.3,"count":114,"id":1603303200,"close":12740.2,"tradeTurnover":14105.3504,"open":12743.7},{"amount":1.032,"high":12843.1,"vol":1032,"low":12597.2,"count":112,"id":1603306800,"close":12650.3,"tradeTurnover":13125.4568,"open":12729.5},{"amount":1.154,"high":12848.4,"vol":1154,"low":12610.2,"count":116,"id":1603310400,"close":12807.0,"tradeTurnover":14680.638,"open":12666.8},{"amount":1.164,"high":13005.1,"vol":1164,"low":12748.2,"count":114,"id":1603314000,"close":12938.9,"tradeTurnover":14976.9366,"open":12866.0},{"amount":1.174,"high":13211.2,"vol":1174,"low":12865.7,"count":114,"id":1603317600,"close":13122.0,"tradeTurnover":15285.2446,"open":12921.0},{"amount":1.172,"high":13173.2,"vol":1172,"low":12688.6,"count":117,"id":1603321200,"close":12829.8,"tradeTurnover":15060.9938,"open":13153.2},{"amount":1.17,"high":12988.1,"vol":1170,"low":12764.4,"count":117,"id":1603324800,"close":12885.9,"tradeTurnover":15046.2046,"open":12793.1},{"amount":1.158,"high":12972.6,"vol":1158,"low":12757.5,"count":118,"id":1603328400,"close":12757.5,"tradeTurnover":14882.4656,"open":12860.4},{"amount":1.124,"high":12848.0,"vol":1124,"low":12729.0,"count":115,"id":1603332000,"close":12788.8,"tradeTurnover":14368.7948,"open":12824.1},{"amount":1.194,"high":12834.4,"vol":1194,"low":12729.0,"count":111,"id":1603335600,"close":12767.2,"tradeTurnover":15268.9298,"open":12791.7},{"amount":1.152,"high":12778.3,"vol":1152,"low":12729.0,"count":115,"id":1603339200,"close":12762.2,"tradeTurnover":14695.4876,"open":12729.0},{"amount":1.21,"high":12842.0,"vol":1210,"low":12730.6,"count":119,"id":1603342800,"close":12813.8,"tradeTurnover":15440.8162,"open":12763.1},{"amount":1.188,"high":12795.0,"vol":1188,"low":12728.0,"count":123,"id":1603346400,"close":12729.1,"tradeTurnover":15128.0098,"open":12795.0},{"amount":1.266,"high":12730.6,"vol":1266,"low":12728.3,"count":112,"id":1603350000,"close":12730.6,"tradeTurnover":16115.1306,"open":12728.6},{"amount":1.35,"high":12921.5,"vol":1350,"low":12729.9,"count":127,"id":1603353600,"close":12770.1,"tradeTurnover":17233.7326,"open":12730.3},{"amount":0.98,"high":12872.1,"vol":980,"low":12760.1,"count":99,"id":1603357200,"close":12780.4,"tradeTurnover":12553.9826,"open":12824.9},{"amount":0.266,"high":13002.7,"vol":266,"low":12775.6,"count":30,"id":1603360800,"close":12934.2,"tradeTurnover":3415.023,"open":12784.9},{"amount":1.004,"high":13057.0,"vol":1004,"low":12886.6,"count":117,"id":1603364400,"close":13045.0,"tradeTurnover":13020.8576,"open":12977.0},{"amount":1.134,"high":12973.4,"vol":1134,"low":12751.6,"count":111,"id":1603368000,"close":12847.9,"tradeTurnover":14594.2752,"open":12958.5},{"amount":1.152,"high":13000.8,"vol":1152,"low":12743.0,"count":114,"id":1603371600,"close":12931.0,"tradeTurnover":14877.7314,"open":12882.7},{"amount":1.182,"high":12995.3,"vol":1182,"low":12783.9,"count":115,"id":1603375200,"close":12917.8,"tradeTurnover":15224.4716,"open":12890.4},{"amount":1.176,"high":13031.2,"vol":1176,"low":12817.9,"count":117,"id":1603378800,"close":12953.0,"tradeTurnover":15197.208,"open":12918.8},{"amount":1.146,"high":13100.2,"vol":1146,"low":12865.6,"count":119,"id":1603382400,"close":13055.6,"tradeTurnover":14851.9604,"open":12923.1},{"amount":1.534,"high":13105.7,"vol":1534,"low":12835.5,"count":124,"id":1603386000,"close":13082.7,"tradeTurnover":19927.8288,"open":12967.6},{"amount":1.268,"high":13115.0,"vol":1268,"low":12938.7,"count":117,"id":1603389600,"close":13016.4,"tradeTurnover":16505.4738,"open":13020.4},{"amount":1.13,"high":13171.2,"vol":1130,"low":12961.8,"count":112,"id":1603393200,"close":12970.6,"tradeTurnover":14762.952,"open":13028.3},{"amount":1.206,"high":13216.1,"vol":1206,"low":12998.5,"count":117,"id":1603396800,"close":13089.3,"tradeTurnover":15807.1226,"open":13016.7},{"amount":1.332,"high":13203.7,"vol":1332,"low":12932.9,"count":114,"id":1603400400,"close":13092.0,"tradeTurnover":17423.4422,"open":13136.0},{"amount":1.21,"high":13250.5,"vol":1210,"low":12984.7,"count":114,"id":1603404000,"close":13055.9,"tradeTurnover":15876.0632,"open":13119.4},{"amount":1.286,"high":13126.5,"vol":1286,"low":12857.2,"count":116,"id":1603407600,"close":12890.4,"tradeTurnover":16688.422,"open":13059.4},{"amount":1.502,"high":12994.0,"vol":1502,"low":12751.6,"count":131,"id":1603411200,"close":12892.2,"tradeTurnover":19331.1596,"open":12929.7},{"amount":1.386,"high":13003.2,"vol":1386,"low":12786.0,"count":121,"id":1603414800,"close":12898.3,"tradeTurnover":17904.8902,"open":12921.7},{"amount":1.416,"high":13054.0,"vol":1416,"low":12800.7,"count":122,"id":1603418400,"close":12975.1,"tradeTurnover":18306.6204,"open":12951.6},{"amount":1.19,"high":13030.7,"vol":1190,"low":12875.0,"count":118,"id":1603422000,"close":12947.0,"tradeTurnover":15409.7984,"open":12967.3},{"amount":1.022,"high":13047.3,"vol":1022,"low":12832.8,"count":127,"id":1603425600,"close":12852.0,"tradeTurnover":13214.4388,"open":12925.2},{"amount":0.478,"high":12991.7,"vol":478,"low":12841.2,"count":118,"id":1603429200,"close":12931.1,"tradeTurnover":6180.2486,"open":12859.0},{"amount":0.522,"high":13014.1,"vol":522,"low":12871.9,"count":132,"id":1603432800,"close":12939.6,"tradeTurnover":6759.0324,"open":12935.9},{"amount":0.476,"high":12998.9,"vol":476,"low":12917.1,"count":118,"id":1603436400,"close":12925.4,"tradeTurnover":6163.3118,"open":12923.1},{"amount":0.508,"high":13014.0,"vol":508,"low":12916.1,"count":122,"id":1603440000,"close":12962.6,"tradeTurnover":6585.3656,"open":12942.2},{"amount":0.564,"high":13012.5,"vol":564,"low":12909.9,"count":124,"id":1603443600,"close":12926.4,"tradeTurnover":7308.8828,"open":12970.5},{"amount":0.536,"high":13059.5,"vol":536,"low":12925.7,"count":124,"id":1603447200,"close":13007.7,"tradeTurnover":6957.8796,"open":13001.2},{"amount":0.486,"high":13078.4,"vol":486,"low":12906.5,"count":122,"id":1603450800,"close":12970.6,"tradeTurnover":6326.1434,"open":13025.4},{"amount":0.494,"high":13025.0,"vol":494,"low":12850.8,"count":117,"id":1603454400,"close":12935.4,"tradeTurnover":6396.0984,"open":12963.9},{"amount":0.466,"high":13043.3,"vol":466,"low":12911.0,"count":117,"id":1603458000,"close":12951.7,"tradeTurnover":6049.1412,"open":12913.3},{"amount":0.46,"high":13006.4,"vol":460,"low":12840.4,"count":116,"id":1603461600,"close":12858.8,"tradeTurnover":5941.815,"open":12999.6},{"amount":0.492,"high":12932.9,"vol":492,"low":12826.5,"count":117,"id":1603465200,"close":12881.9,"tradeTurnover":6340.214,"open":12885.7},{"amount":0.484,"high":12933.5,"vol":484,"low":12744.4,"count":123,"id":1603468800,"close":12784.1,"tradeTurnover":6205.4138,"open":12854.4},{"amount":0.562,"high":12893.1,"vol":562,"low":12730.1,"count":152,"id":1603472400,"close":12847.7,"tradeTurnover":7218.9184,"open":12832.3},{"amount":0.53,"high":12939.3,"vol":530,"low":12751.4,"count":128,"id":1603476000,"close":12915.7,"tradeTurnover":6825.7004,"open":12874.1},{"amount":0.444,"high":12972.9,"vol":444,"low":12786.6,"count":117,"id":1603479600,"close":12972.9,"tradeTurnover":5727.7452,"open":12867.9},{"amount":0.492,"high":13002.2,"vol":492,"low":12842.9,"count":116,"id":1603483200,"close":12991.6,"tradeTurnover":6375.1566,"open":12956.7},{"amount":0.5,"high":13004.3,"vol":500,"low":12936.6,"count":125,"id":1603486800,"close":12943.5,"tradeTurnover":6485.468,"open":13004.3},{"amount":0.492,"high":13010.3,"vol":492,"low":12884.7,"count":120,"id":1603490400,"close":12989.2,"tradeTurnover":6376.1492,"open":12923.6},{"amount":0.51,"high":13024.4,"vol":510,"low":12884.6,"count":121,"id":1603494000,"close":12884.6,"tradeTurnover":6622.3406,"open":12974.9},{"amount":0.488,"high":13018.3,"vol":488,"low":12811.1,"count":120,"id":1603497600,"close":12953.9,"tradeTurnover":6317.7938,"open":12973.7},{"amount":0.482,"high":13018.1,"vol":482,"low":12872.8,"count":117,"id":1603501200,"close":12934.2,"tradeTurnover":6242.4178,"open":12927.5},{"amount":0.484,"high":13003.9,"vol":484,"low":12903.3,"count":117,"id":1603504800,"close":12989.1,"tradeTurnover":6278.1756,"open":12971.9},{"amount":0.474,"high":13013.4,"vol":474,"low":12938.3,"count":122,"id":1603508400,"close":12975.9,"tradeTurnover":6157.7096,"open":13000.1},{"amount":0.526,"high":13009.4,"vol":526,"low":12905.5,"count":124,"id":1603512000,"close":12963.3,"tradeTurnover":6831.5658,"open":12989.7},{"amount":0.522,"high":13041.8,"vol":522,"low":12875.3,"count":127,"id":1603515600,"close":12989.7,"tradeTurnover":6768.8994,"open":12910.5},{"amount":0.49,"high":13058.1,"vol":490,"low":12908.8,"count":120,"id":1603519200,"close":13003.6,"tradeTurnover":6370.5714,"open":12994.7},{"amount":0.478,"high":13037.8,"vol":478,"low":12981.7,"count":120,"id":1603522800,"close":13004.2,"tradeTurnover":6218.9722,"open":13011.9},{"amount":0.52,"high":13030.6,"vol":520,"low":12899.4,"count":124,"id":1603526400,"close":12998.2,"tradeTurnover":6754.958,"open":13003.0},{"amount":0.454,"high":13020.3,"vol":454,"low":12893.6,"count":115,"id":1603530000,"close":12990.6,"tradeTurnover":5891.0574,"open":12998.2},{"amount":0.502,"high":13059.1,"vol":502,"low":12913.2,"count":124,"id":1603533600,"close":13030.1,"tradeTurnover":6525.9004,"open":12996.4},{"amount":0.468,"high":13068.3,"vol":468,"low":12940.2,"count":119,"id":1603537200,"close":13033.2,"tradeTurnover":6091.0376,"open":12988.4},{"amount":0.468,"high":13071.8,"vol":468,"low":12978.9,"count":123,"id":1603540800,"close":13006.5,"tradeTurnover":6102.5902,"open":13035.3},{"amount":0.534,"high":13066.7,"vol":534,"low":12928.1,"count":123,"id":1603544400,"close":12985.9,"tradeTurnover":6950.4268,"open":13038.8},{"amount":0.47,"high":13100.1,"vol":470,"low":12960.5,"count":100,"id":1603548000,"close":13042.0,"tradeTurnover":6124.2178,"open":12986.3},{"amount":0.456,"high":13196.5,"vol":456,"low":13038.4,"count":120,"id":1603551600,"close":13102.2,"tradeTurnover":5989.6362,"open":13038.4},{"amount":0.458,"high":13176.6,"vol":458,"low":12984.6,"count":121,"id":1603555200,"close":13052.7,"tradeTurnover":5976.331,"open":13136.8},{"amount":0.452,"high":13177.8,"vol":452,"low":13003.2,"count":118,"id":1603558800,"close":13177.8,"tradeTurnover":5911.7058,"open":13006.2},{"amount":0.468,"high":13170.7,"vol":468,"low":13023.0,"count":119,"id":1603562400,"close":13080.8,"tradeTurnover":6122.375,"open":13127.7},{"amount":0.468,"high":13179.3,"vol":468,"low":13014.2,"count":120,"id":1603566000,"close":13148.4,"tradeTurnover":6126.4278,"open":13040.7},{"amount":0.47,"high":13179.6,"vol":470,"low":12992.5,"count":119,"id":1603569600,"close":13090.1,"tradeTurnover":6151.4758,"open":13073.5},{"amount":0.458,"high":13148.7,"vol":458,"low":12980.7,"count":117,"id":1603573200,"close":12993.9,"tradeTurnover":5981.071,"open":13035.4},{"amount":0.478,"high":13112.1,"vol":478,"low":12975.6,"count":118,"id":1603576800,"close":13041.1,"tradeTurnover":6225.4216,"open":13040.7},{"amount":0.472,"high":13184.3,"vol":472,"low":13009.3,"count":118,"id":1603580400,"close":13184.3,"tradeTurnover":6173.4244,"open":13012.6},{"amount":0.46,"high":13170.4,"vol":460,"low":13007.7,"count":115,"id":1603584000,"close":13154.3,"tradeTurnover":6024.09,"open":13080.8},{"amount":0.398,"high":13196.8,"vol":398,"low":13024.0,"count":102,"id":1603587600,"close":13196.1,"tradeTurnover":5217.5364,"open":13092.0},{"amount":0.476,"high":13175.1,"vol":476,"low":13035.0,"count":120,"id":1603591200,"close":13082.4,"tradeTurnover":6228.6596,"open":13124.7},{"amount":0.578,"high":13383.8,"vol":578,"low":13049.1,"count":137,"id":1603594800,"close":13259.0,"tradeTurnover":7629.3886,"open":13049.1},{"amount":0.47,"high":13369.0,"vol":470,"low":13216.0,"count":122,"id":1603598400,"close":13243.4,"tradeTurnover":6247.955,"open":13277.0},{"amount":0.61,"high":13353.3,"vol":610,"low":13010.1,"count":134,"id":1603602000,"close":13017.3,"tradeTurnover":8048.8598,"open":13285.3},{"amount":0.486,"high":13105.7,"vol":486,"low":13018.2,"count":118,"id":1603605600,"close":13060.3,"tradeTurnover":6344.1474,"open":13022.5},{"amount":0.464,"high":13112.1,"vol":464,"low":13022.0,"count":120,"id":1603609200,"close":13078.1,"tradeTurnover":6061.5416,"open":13048.5},{"amount":0.464,"high":13091.0,"vol":464,"low":13017.2,"count":120,"id":1603612800,"close":13046.0,"tradeTurnover":6055.3734,"open":13077.2},{"amount":0.478,"high":13084.0,"vol":478,"low":13014.2,"count":117,"id":1603616400,"close":13040.8,"tradeTurnover":6235.7882,"open":13065.1},{"amount":0.478,"high":13064.2,"vol":478,"low":13010.2,"count":125,"id":1603620000,"close":13028.5,"tradeTurnover":6232.2428,"open":13047.1},{"amount":0.534,"high":13061.5,"vol":534,"low":12852.9,"count":123,"id":1603623600,"close":12897.6,"tradeTurnover":6918.1226,"open":13061.5},{"amount":0.444,"high":13069.7,"vol":444,"low":12893.2,"count":117,"id":1603627200,"close":12964.3,"tradeTurnover":5755.8712,"open":12908.3},{"amount":0.498,"high":13071.9,"vol":498,"low":12891.8,"count":119,"id":1603630800,"close":12949.3,"tradeTurnover":6465.078,"open":13001.3},{"amount":0.468,"high":13077.7,"vol":468,"low":12900.0,"count":116,"id":1603634400,"close":12946.8,"tradeTurnover":6075.4554,"open":12975.8},{"amount":0.47,"high":13069.1,"vol":470,"low":12883.3,"count":119,"id":1603638000,"close":12883.3,"tradeTurnover":6097.1072,"open":12975.2},{"amount":0.482,"high":13067.9,"vol":482,"low":12877.5,"count":118,"id":1603641600,"close":12978.7,"tradeTurnover":6256.4472,"open":12916.2},{"amount":0.47,"high":13087.5,"vol":470,"low":12922.7,"count":117,"id":1603645200,"close":13004.4,"tradeTurnover":6108.3892,"open":13008.0},{"amount":0.468,"high":13067.6,"vol":468,"low":12893.6,"count":118,"id":1603648800,"close":12957.2,"tradeTurnover":6079.1484,"open":12972.8},{"amount":0.442,"high":13066.9,"vol":442,"low":12916.6,"count":118,"id":1603652400,"close":13021.8,"tradeTurnover":5746.5548,"open":12996.5},{"amount":0.508,"high":13081.5,"vol":508,"low":12944.9,"count":120,"id":1603656000,"close":12985.4,"tradeTurnover":6616.9872,"open":12992.9},{"amount":0.508,"high":13068.6,"vol":508,"low":12921.4,"count":122,"id":1603659600,"close":13011.2,"tradeTurnover":6614.816,"open":12999.9},{"amount":0.486,"high":13073.8,"vol":486,"low":12911.9,"count":121,"id":1603663200,"close":12959.4,"tradeTurnover":6320.907,"open":12979.6},{"amount":0.452,"high":13085.2,"vol":452,"low":12927.8,"count":113,"id":1603666800,"close":13032.1,"tradeTurnover":5878.6442,"open":12963.4},{"amount":0.482,"high":13076.7,"vol":482,"low":12918.3,"count":121,"id":1603670400,"close":13001.0,"tradeTurnover":6263.698,"open":12964.2},{"amount":0.478,"high":13096.4,"vol":478,"low":12991.2,"count":124,"id":1603674000,"close":13053.7,"tradeTurnover":6232.2328,"open":13040.0},{"amount":0.488,"high":13185.7,"vol":488,"low":12985.1,"count":121,"id":1603677600,"close":13064.4,"tradeTurnover":6387.534,"open":13060.6},{"amount":0.486,"high":13187.2,"vol":486,"low":12984.1,"count":135,"id":1603681200,"close":13092.8,"tradeTurnover":6369.0272,"open":13032.3},{"amount":0.51,"high":13181.6,"vol":510,"low":12962.3,"count":131,"id":1603684800,"close":13132.6,"tradeTurnover":6679.829,"open":13092.0},{"amount":0.506,"high":13205.3,"vol":506,"low":13025.3,"count":126,"id":1603688400,"close":13092.1,"tradeTurnover":6641.2128,"open":13129.2},{"amount":1.616,"high":13188.1,"vol":1616,"low":12989.8,"count":141,"id":1603692000,"close":13071.4,"tradeTurnover":21170.8224,"open":13121.8},{"amount":3.746,"high":13100.0,"vol":3746,"low":12965.2,"count":110,"id":1603695600,"close":13038.7,"tradeTurnover":48924.8902,"open":13061.0},{"amount":8.966,"high":13102.0,"vol":8966,"low":12852.8,"count":173,"id":1603699200,"close":13039.3,"tradeTurnover":116525.5534,"open":13030.9},{"amount":4.48,"high":13088.4,"vol":4480,"low":13039.8,"count":124,"id":1603702800,"close":13075.9,"tradeTurnover":58521.1714,"open":13047.1},{"amount":4.272,"high":13100.0,"vol":4272,"low":13060.2,"count":130,"id":1603706400,"close":13100.0,"tradeTurnover":55895.9778,"open":13072.1},{"amount":29.798,"high":13159.0,"vol":29798,"low":13100.0,"count":230,"id":1603710000,"close":13138.4,"tradeTurnover":391138.024,"open":13100.0},{"amount":5.154,"high":13200.0,"vol":5154,"low":13100.0,"count":188,"id":1603713600,"close":13149.8,"tradeTurnover":67694.652,"open":13138.8},{"amount":35.608,"high":13351.5,"vol":35608,"low":13133.1,"count":328,"id":1603717200,"close":13205.8,"tradeTurnover":472780.3394,"open":13150.0},{"amount":31.748,"high":13280.0,"vol":31748,"low":13144.1,"count":235,"id":1603720800,"close":13166.1,"tradeTurnover":418744.5588,"open":13203.0},{"amount":36.53,"high":13165.2,"vol":36530,"low":12903.8,"count":384,"id":1603724400,"close":12978.0,"tradeTurnover":476940.3296,"open":13159.0},{"amount":35.018,"high":13069.8,"vol":35018,"low":12850.5,"count":323,"id":1603728000,"close":12869.6,"tradeTurnover":453288.918,"open":12965.0},{"amount":92.628,"high":12941.5,"vol":92628,"low":12583.9,"count":560,"id":1603731600,"close":12873.8,"tradeTurnover":1185973.467,"open":12879.2},{"amount":4.302,"high":12954.5,"vol":4302,"low":12820.4,"count":128,"id":1603735200,"close":12946.8,"tradeTurnover":55481.0054,"open":12856.2},{"amount":13.83,"high":12953.5,"vol":13830,"low":12914.1,"count":118,"id":1603738800,"close":12953.4,"tradeTurnover":179112.1598,"open":12945.6},{"amount":17.172,"high":13007.5,"vol":17172,"low":12953.5,"count":132,"id":1603742400,"close":12983.4,"tradeTurnover":223230.2122,"open":12953.5},{"amount":3.212,"high":13007.5,"vol":3212,"low":12982.7,"count":59,"id":1603746000,"close":12993.8,"tradeTurnover":41767.8906,"open":12983.1},{"amount":1.504,"high":13007.5,"vol":1504,"low":12974.0,"count":74,"id":1603749600,"close":13007.5,"tradeTurnover":19543.3568,"open":13002.1},{"amount":3.454,"high":13061.2,"vol":3454,"low":13007.5,"count":101,"id":1603753200,"close":13033.7,"tradeTurnover":45001.601,"open":13007.5},{"amount":8.784,"high":13105.0,"vol":8784,"low":13028.3,"count":98,"id":1603756800,"close":13067.1,"tradeTurnover":114871.8246,"open":13029.2},{"amount":11.592,"high":13074.4,"vol":11592,"low":13051.5,"count":66,"id":1603760400,"close":13061.7,"tradeTurnover":151386.9038,"open":13074.3},{"amount":19.298,"high":13097.6,"vol":19298,"low":13040.1,"count":109,"id":1603764000,"close":13049.7,"tradeTurnover":252061.019,"open":13061.7},{"amount":22.992,"high":13080.0,"vol":22992,"low":13057.1,"count":69,"id":1603767600,"close":13070.4,"tradeTurnover":300453.9788,"open":13057.6},{"amount":14.396,"high":13175.0,"vol":14396,"low":13079.6,"count":59,"id":1603771200,"close":13103.3,"tradeTurnover":188461.9156,"open":13080.0},{"amount":5.058,"high":13121.3,"vol":5058,"low":13069.7,"count":44,"id":1603774800,"close":13073.6,"tradeTurnover":66201.3552,"open":13121.3},{"amount":9.106,"high":13149.0,"vol":9106,"low":13069.6,"count":107,"id":1603778400,"close":13103.4,"tradeTurnover":119104.8906,"open":13074.9},{"amount":73.95,"high":13169.8,"vol":73950,"low":12992.4,"count":305,"id":1603782000,"close":13130.0,"tradeTurnover":968195.155,"open":13103.3},{"amount":18.732,"high":13148.4,"vol":18732,"low":13044.0,"count":135,"id":1603785600,"close":13123.8,"tradeTurnover":245533.5448,"open":13135.1},{"amount":13.756,"high":13131.8,"vol":13756,"low":13075.7,"count":102,"id":1603789200,"close":13131.7,"tradeTurnover":180253.7708,"open":13115.5},{"amount":154.108,"high":13252.0,"vol":154108,"low":13063.4,"count":525,"id":1603792800,"close":13216.9,"tradeTurnover":2029983.656,"open":13134.8},{"amount":170.09,"high":13590.1,"vol":170090,"low":13213.5,"count":591,"id":1603796400,"close":13395.8,"tradeTurnover":2276279.742,"open":13218.8},{"amount":48.928,"high":13414.0,"vol":48928,"low":13331.7,"count":216,"id":1603800000,"close":13376.9,"tradeTurnover":654585.9108,"open":13395.9},{"amount":63.294,"high":13490.9,"vol":63294,"low":13329.8,"count":316,"id":1603803600,"close":13384.3,"tradeTurnover":848130.9212,"open":13376.5},{"amount":12.892,"high":13415.8,"vol":12892,"low":13344.8,"count":124,"id":1603807200,"close":13398.2,"tradeTurnover":172618.6864,"open":13392.6},{"amount":93.22,"high":13626.7,"vol":93220,"low":13398.2,"count":476,"id":1603810800,"close":13598.5,"tradeTurnover":1262695.5466,"open":13398.2},{"amount":85.45,"high":13639.9,"vol":85450,"low":13520.2,"count":435,"id":1603814400,"close":13639.9,"tradeTurnover":1161481.4136,"open":13595.8},{"amount":191.812,"high":13826.7,"vol":191812,"low":13589.0,"count":711,"id":1603818000,"close":13688.1,"tradeTurnover":2628428.3788,"open":13640.0},{"amount":65.434,"high":13745.0,"vol":65434,"low":13528.2,"count":410,"id":1603821600,"close":13630.1,"tradeTurnover":891541.8394,"open":13685.0},{"amount":5.788,"high":13659.8,"vol":5788,"low":13595.4,"count":65,"id":1603825200,"close":13637.1,"tradeTurnover":78836.2578,"open":13629.4},{"amount":163.104,"high":13805.1,"vol":163104,"low":13582.6,"count":537,"id":1603828800,"close":13616.6,"tradeTurnover":2234040.3544,"open":13644.4},{"amount":9.884,"high":13753.5,"vol":9884,"low":13609.8,"count":101,"id":1603832400,"close":13705.5,"tradeTurnover":135406.4752,"open":13609.8},{"amount":7.436,"high":13739.9,"vol":7436,"low":13658.2,"count":100,"id":1603836000,"close":13739.9,"tradeTurnover":101840.3508,"open":13705.4},{"amount":17.086,"high":13794.6,"vol":17086,"low":13582.6,"count":234,"id":1603839600,"close":13649.6,"tradeTurnover":233971.8448,"open":13739.9},{"amount":24.108,"high":13745.2,"vol":24108,"low":13618.8,"count":177,"id":1603843200,"close":13701.7,"tradeTurnover":330206.5694,"open":13645.9},{"amount":15.892,"high":13725.6,"vol":15892,"low":13647.9,"count":151,"id":1603846800,"close":13702.6,"tradeTurnover":217816.7008,"open":13702.1},{"amount":46.548,"high":13832.2,"vol":46548,"low":13680.2,"count":274,"id":1603850400,"close":13811.6,"tradeTurnover":640636.0352,"open":13701.7},{"amount":67.896,"high":13820.3,"vol":67896,"low":13717.5,"count":320,"id":1603854000,"close":13777.0,"tradeTurnover":935838.2238,"open":13818.5},{"amount":33.156,"high":13807.2,"vol":33156,"low":13710.0,"count":210,"id":1603857600,"close":13735.7,"tradeTurnover":455941.234,"open":13767.3},{"amount":32.076,"high":13753.9,"vol":32076,"low":13671.3,"count":198,"id":1603861200,"close":13715.8,"tradeTurnover":439612.64,"open":13735.5},{"amount":14.756,"high":13757.0,"vol":14756,"low":13694.9,"count":122,"id":1603864800,"close":13701.3,"tradeTurnover":202602.5164,"open":13715.9},{"amount":155.534,"high":13708.7,"vol":155534,"low":13550.0,"count":635,"id":1603868400,"close":13674.2,"tradeTurnover":2117935.0928,"open":13701.2},{"amount":29.846,"high":13691.7,"vol":29846,"low":13584.0,"count":240,"id":1603872000,"close":13691.7,"tradeTurnover":407073.1398,"open":13673.0},{"amount":104.542,"high":13707.5,"vol":104542,"low":13573.5,"count":377,"id":1603875600,"close":13587.1,"tradeTurnover":1425079.9344,"open":13689.3},{"amount":73.818,"high":13618.0,"vol":73818,"low":13504.7,"count":358,"id":1603879200,"close":13552.7,"tradeTurnover":1001666.0908,"open":13584.6},{"amount":176.544,"high":13565.4,"vol":176544,"low":13330.0,"count":1004,"id":1603882800,"close":13336.4,"tradeTurnover":2369166.1492,"open":13552.6},{"amount":289.73,"high":13385.0,"vol":289730,"low":13173.9,"count":968,"id":1603886400,"close":13300.3,"tradeTurnover":3846751.7166,"open":13331.5},{"amount":139.822,"high":13340.0,"vol":139822,"low":13122.9,"count":612,"id":1603890000,"close":13129.9,"tradeTurnover":1848876.932,"open":13300.2},{"amount":367.876,"high":13168.2,"vol":367876,"low":12915.9,"count":1168,"id":1603893600,"close":13082.2,"tradeTurnover":4802516.9818,"open":13123.4},{"amount":84.044,"high":13235.2,"vol":84044,"low":13052.3,"count":375,"id":1603897200,"close":13221.2,"tradeTurnover":1106883.1282,"open":13077.1},{"amount":29.566,"high":13218.7,"vol":29566,"low":13050.0,"count":244,"id":1603900800,"close":13145.1,"tradeTurnover":388697.4104,"open":13218.7},{"amount":53.336,"high":13204.9,"vol":53336,"low":13006.6,"count":299,"id":1603904400,"close":13176.7,"tradeTurnover":700385.2784,"open":13145.1},{"amount":34.164,"high":13219.6,"vol":34164,"low":13131.0,"count":218,"id":1603908000,"close":13196.5,"tradeTurnover":450210.5778,"open":13171.0},{"amount":22.158,"high":13237.4,"vol":22158,"low":13145.0,"count":185,"id":1603911600,"close":13154.9,"tradeTurnover":292020.0438,"open":13200.0},{"amount":4.548,"high":13211.8,"vol":4548,"low":13147.4,"count":75,"id":1603915200,"close":13198.1,"tradeTurnover":59991.1118,"open":13154.5},{"amount":3.52,"high":13196.5,"vol":3520,"low":13100.2,"count":68,"id":1603918800,"close":13190.1,"tradeTurnover":46175.428,"open":13193.5},{"amount":3.122,"high":13267.5,"vol":3122,"low":13185.4,"count":72,"id":1603922400,"close":13252.0,"tradeTurnover":41304.2018,"open":13185.4},{"amount":14.768,"high":13282.3,"vol":14768,"low":13235.9,"count":86,"id":1603926000,"close":13265.9,"tradeTurnover":195689.0764,"open":13242.1},{"amount":19.968,"high":13294.7,"vol":19968,"low":13237.4,"count":98,"id":1603929600,"close":13245.1,"tradeTurnover":264834.1944,"open":13253.9},{"amount":35.282,"high":13285.3,"vol":35282,"low":13166.3,"count":192,"id":1603933200,"close":13274.2,"tradeTurnover":465789.6302,"open":13244.6},{"amount":9.748,"high":13277.7,"vol":9748,"low":13212.2,"count":119,"id":1603936800,"close":13241.1,"tradeTurnover":129016.0684,"open":13275.9},{"amount":27.3,"high":13262.5,"vol":27300,"low":13174.6,"count":199,"id":1603940400,"close":13262.5,"tradeTurnover":360589.8982,"open":13237.1},{"amount":18.904,"high":13277.7,"vol":18904,"low":13229.5,"count":109,"id":1603944000,"close":13229.5,"tradeTurnover":250713.2812,"open":13269.1},{"amount":15.822,"high":13274.8,"vol":15822,"low":13228.5,"count":134,"id":1603947600,"close":13274.8,"tradeTurnover":209781.909,"open":13228.5},{"amount":91.246,"high":13323.0,"vol":91246,"low":13242.3,"count":294,"id":1603951200,"close":13255.0,"tradeTurnover":1211271.2788,"open":13274.8},{"amount":187.622,"high":13269.3,"vol":187622,"low":13123.1,"count":506,"id":1603954800,"close":13142.4,"tradeTurnover":2478299.7074,"open":13255.0},{"amount":69.532,"high":13182.4,"vol":69532,"low":13094.1,"count":226,"id":1603958400,"close":13124.8,"tradeTurnover":914157.2418,"open":13145.9},{"amount":23.184,"high":13197.1,"vol":23184,"low":13129.5,"count":141,"id":1603962000,"close":13183.7,"tradeTurnover":305485.9524,"open":13129.5},{"amount":121.146,"high":13187.5,"vol":121146,"low":13053.1,"count":442,"id":1603965600,"close":13105.2,"tradeTurnover":1590026.4416,"open":13184.8},{"amount":47.498,"high":13171.4,"vol":47498,"low":13060.1,"count":262,"id":1603969200,"close":13060.1,"tradeTurnover":623578.149,"open":13105.1},{"amount":126.552,"high":13145.8,"vol":126552,"low":12977.9,"count":481,"id":1603972800,"close":13131.8,"tradeTurnover":1652549.311,"open":13056.9},{"amount":100.482,"high":13237.2,"vol":100482,"low":13102.0,"count":325,"id":1603976400,"close":13230.0,"tradeTurnover":1326403.7206,"open":13131.7},{"amount":253.258,"high":13476.1,"vol":253258,"low":13231.0,"count":752,"id":1603980000,"close":13420.8,"tradeTurnover":3384941.438,"open":13231.0},{"amount":64.71,"high":13458.7,"vol":64710,"low":13358.7,"count":269,"id":1603983600,"close":13420.6,"tradeTurnover":869052.3804,"open":13416.0},{"amount":120.24,"high":13594.5,"vol":120240,"low":13391.8,"count":570,"id":1603987200,"close":13535.9,"tradeTurnover":1626567.8278,"open":13421.9}],"id":"","rep":"market.BTC-USDT.kline.60min","status":"ok"} +2024-01-18 11:13:05.913 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:39] - 请求 KLine 数据用户收到的原始数据:{"id":"","rep":"market.BTC-USDT.kline.60min","ts":1705547584822,"wsid":19750305,"status":"ok","data":[{"id":1603270800,"open":12198.0,"close":12196.7,"high":12300.0,"low":11715.8,"amount":0.276,"vol":276,"trade_turnover":3315.9104,"count":39},{"id":1603274400,"open":12196.7,"close":12277.9,"high":12289.9,"low":12111.0,"amount":0.198,"vol":198,"trade_turnover":2420.7728,"count":21},{"id":1603278000,"open":12111.0,"close":12000.0,"high":12277.9,"low":12000.0,"amount":0.012,"vol":12,"trade_turnover":145.2238,"count":5},{"id":1603281600,"open":12078.0,"close":12497.4,"high":12498.0,"low":12078.0,"amount":0.084,"vol":84,"trade_turnover":1040.0504,"count":12},{"id":1603285200,"open":12495.6,"close":12373.5,"high":12495.6,"low":12282.9,"amount":1.122,"vol":1122,"trade_turnover":13905.3124,"count":112},{"id":1603288800,"open":12412.9,"close":12689.9,"high":12807.6,"low":12358.1,"amount":5.29,"vol":5290,"trade_turnover":66852.128,"count":155},{"id":1603292400,"open":12692.8,"close":12701.9,"high":12778.7,"low":12573.2,"amount":1.174,"vol":1174,"trade_turnover":14907.367,"count":113},{"id":1603296000,"open":12679.7,"close":12835.9,"high":12920.9,"low":12624.8,"amount":1.156,"vol":1156,"trade_turnover":14802.449,"count":115},{"id":1603299600,"open":12848.3,"close":12754.2,"high":12908.3,"low":12687.5,"amount":1.12,"vol":1120,"trade_turnover":14345.7324,"count":115},{"id":1603303200,"open":12743.7,"close":12740.2,"high":12849.0,"low":12668.3,"amount":1.106,"vol":1106,"trade_turnover":14105.3504,"count":114},{"id":1603306800,"open":12729.5,"close":12650.3,"high":12843.1,"low":12597.2,"amount":1.032,"vol":1032,"trade_turnover":13125.4568,"count":112},{"id":1603310400,"open":12666.8,"close":12807.0,"high":12848.4,"low":12610.2,"amount":1.154,"vol":1154,"trade_turnover":14680.638,"count":116},{"id":1603314000,"open":12866.0,"close":12938.9,"high":13005.1,"low":12748.2,"amount":1.164,"vol":1164,"trade_turnover":14976.9366,"count":114},{"id":1603317600,"open":12921.0,"close":13122.0,"high":13211.2,"low":12865.7,"amount":1.174,"vol":1174,"trade_turnover":15285.2446,"count":114},{"id":1603321200,"open":13153.2,"close":12829.8,"high":13173.2,"low":12688.6,"amount":1.172,"vol":1172,"trade_turnover":15060.9938,"count":117},{"id":1603324800,"open":12793.1,"close":12885.9,"high":12988.1,"low":12764.4,"amount":1.17,"vol":1170,"trade_turnover":15046.2046,"count":117},{"id":1603328400,"open":12860.4,"close":12757.5,"high":12972.6,"low":12757.5,"amount":1.158,"vol":1158,"trade_turnover":14882.4656,"count":118},{"id":1603332000,"open":12824.1,"close":12788.8,"high":12848.0,"low":12729.0,"amount":1.124,"vol":1124,"trade_turnover":14368.7948,"count":115},{"id":1603335600,"open":12791.7,"close":12767.2,"high":12834.4,"low":12729.0,"amount":1.194,"vol":1194,"trade_turnover":15268.9298,"count":111},{"id":1603339200,"open":12729.0,"close":12762.2,"high":12778.3,"low":12729.0,"amount":1.152,"vol":1152,"trade_turnover":14695.4876,"count":115},{"id":1603342800,"open":12763.1,"close":12813.8,"high":12842.0,"low":12730.6,"amount":1.21,"vol":1210,"trade_turnover":15440.8162,"count":119},{"id":1603346400,"open":12795.0,"close":12729.1,"high":12795.0,"low":12728.0,"amount":1.188,"vol":1188,"trade_turnover":15128.0098,"count":123},{"id":1603350000,"open":12728.6,"close":12730.6,"high":12730.6,"low":12728.3,"amount":1.266,"vol":1266,"trade_turnover":16115.1306,"count":112},{"id":1603353600,"open":12730.3,"close":12770.1,"high":12921.5,"low":12729.9,"amount":1.35,"vol":1350,"trade_turnover":17233.7326,"count":127},{"id":1603357200,"open":12824.9,"close":12780.4,"high":12872.1,"low":12760.1,"amount":0.98,"vol":980,"trade_turnover":12553.9826,"count":99},{"id":1603360800,"open":12784.9,"close":12934.2,"high":13002.7,"low":12775.6,"amount":0.266,"vol":266,"trade_turnover":3415.023,"count":30},{"id":1603364400,"open":12977.0,"close":13045.0,"high":13057.0,"low":12886.6,"amount":1.004,"vol":1004,"trade_turnover":13020.8576,"count":117},{"id":1603368000,"open":12958.5,"close":12847.9,"high":12973.4,"low":12751.6,"amount":1.134,"vol":1134,"trade_turnover":14594.2752,"count":111},{"id":1603371600,"open":12882.7,"close":12931.0,"high":13000.8,"low":12743.0,"amount":1.152,"vol":1152,"trade_turnover":14877.7314,"count":114},{"id":1603375200,"open":12890.4,"close":12917.8,"high":12995.3,"low":12783.9,"amount":1.182,"vol":1182,"trade_turnover":15224.4716,"count":115},{"id":1603378800,"open":12918.8,"close":12953.0,"high":13031.2,"low":12817.9,"amount":1.176,"vol":1176,"trade_turnover":15197.208,"count":117},{"id":1603382400,"open":12923.1,"close":13055.6,"high":13100.2,"low":12865.6,"amount":1.146,"vol":1146,"trade_turnover":14851.9604,"count":119},{"id":1603386000,"open":12967.6,"close":13082.7,"high":13105.7,"low":12835.5,"amount":1.534,"vol":1534,"trade_turnover":19927.8288,"count":124},{"id":1603389600,"open":13020.4,"close":13016.4,"high":13115.0,"low":12938.7,"amount":1.268,"vol":1268,"trade_turnover":16505.4738,"count":117},{"id":1603393200,"open":13028.3,"close":12970.6,"high":13171.2,"low":12961.8,"amount":1.13,"vol":1130,"trade_turnover":14762.952,"count":112},{"id":1603396800,"open":13016.7,"close":13089.3,"high":13216.1,"low":12998.5,"amount":1.206,"vol":1206,"trade_turnover":15807.1226,"count":117},{"id":1603400400,"open":13136.0,"close":13092.0,"high":13203.7,"low":12932.9,"amount":1.332,"vol":1332,"trade_turnover":17423.4422,"count":114},{"id":1603404000,"open":13119.4,"close":13055.9,"high":13250.5,"low":12984.7,"amount":1.21,"vol":1210,"trade_turnover":15876.0632,"count":114},{"id":1603407600,"open":13059.4,"close":12890.4,"high":13126.5,"low":12857.2,"amount":1.286,"vol":1286,"trade_turnover":16688.422,"count":116},{"id":1603411200,"open":12929.7,"close":12892.2,"high":12994.0,"low":12751.6,"amount":1.502,"vol":1502,"trade_turnover":19331.1596,"count":131},{"id":1603414800,"open":12921.7,"close":12898.3,"high":13003.2,"low":12786.0,"amount":1.386,"vol":1386,"trade_turnover":17904.8902,"count":121},{"id":1603418400,"open":12951.6,"close":12975.1,"high":13054.0,"low":12800.7,"amount":1.416,"vol":1416,"trade_turnover":18306.6204,"count":122},{"id":1603422000,"open":12967.3,"close":12947.0,"high":13030.7,"low":12875.0,"amount":1.19,"vol":1190,"trade_turnover":15409.7984,"count":118},{"id":1603425600,"open":12925.2,"close":12852.0,"high":13047.3,"low":12832.8,"amount":1.022,"vol":1022,"trade_turnover":13214.4388,"count":127},{"id":1603429200,"open":12859.0,"close":12931.1,"high":12991.7,"low":12841.2,"amount":0.478,"vol":478,"trade_turnover":6180.2486,"count":118},{"id":1603432800,"open":12935.9,"close":12939.6,"high":13014.1,"low":12871.9,"amount":0.522,"vol":522,"trade_turnover":6759.0324,"count":132},{"id":1603436400,"open":12923.1,"close":12925.4,"high":12998.9,"low":12917.1,"amount":0.476,"vol":476,"trade_turnover":6163.3118,"count":118},{"id":1603440000,"open":12942.2,"close":12962.6,"high":13014.0,"low":12916.1,"amount":0.508,"vol":508,"trade_turnover":6585.3656,"count":122},{"id":1603443600,"open":12970.5,"close":12926.4,"high":13012.5,"low":12909.9,"amount":0.564,"vol":564,"trade_turnover":7308.8828,"count":124},{"id":1603447200,"open":13001.2,"close":13007.7,"high":13059.5,"low":12925.7,"amount":0.536,"vol":536,"trade_turnover":6957.8796,"count":124},{"id":1603450800,"open":13025.4,"close":12970.6,"high":13078.4,"low":12906.5,"amount":0.486,"vol":486,"trade_turnover":6326.1434,"count":122},{"id":1603454400,"open":12963.9,"close":12935.4,"high":13025.0,"low":12850.8,"amount":0.494,"vol":494,"trade_turnover":6396.0984,"count":117},{"id":1603458000,"open":12913.3,"close":12951.7,"high":13043.3,"low":12911.0,"amount":0.466,"vol":466,"trade_turnover":6049.1412,"count":117},{"id":1603461600,"open":12999.6,"close":12858.8,"high":13006.4,"low":12840.4,"amount":0.46,"vol":460,"trade_turnover":5941.815,"count":116},{"id":1603465200,"open":12885.7,"close":12881.9,"high":12932.9,"low":12826.5,"amount":0.492,"vol":492,"trade_turnover":6340.214,"count":117},{"id":1603468800,"open":12854.4,"close":12784.1,"high":12933.5,"low":12744.4,"amount":0.484,"vol":484,"trade_turnover":6205.4138,"count":123},{"id":1603472400,"open":12832.3,"close":12847.7,"high":12893.1,"low":12730.1,"amount":0.562,"vol":562,"trade_turnover":7218.9184,"count":152},{"id":1603476000,"open":12874.1,"close":12915.7,"high":12939.3,"low":12751.4,"amount":0.53,"vol":530,"trade_turnover":6825.7004,"count":128},{"id":1603479600,"open":12867.9,"close":12972.9,"high":12972.9,"low":12786.6,"amount":0.444,"vol":444,"trade_turnover":5727.7452,"count":117},{"id":1603483200,"open":12956.7,"close":12991.6,"high":13002.2,"low":12842.9,"amount":0.492,"vol":492,"trade_turnover":6375.1566,"count":116},{"id":1603486800,"open":13004.3,"close":12943.5,"high":13004.3,"low":12936.6,"amount":0.5,"vol":500,"trade_turnover":6485.468,"count":125},{"id":1603490400,"open":12923.6,"close":12989.2,"high":13010.3,"low":12884.7,"amount":0.492,"vol":492,"trade_turnover":6376.1492,"count":120},{"id":1603494000,"open":12974.9,"close":12884.6,"high":13024.4,"low":12884.6,"amount":0.51,"vol":510,"trade_turnover":6622.3406,"count":121},{"id":1603497600,"open":12973.7,"close":12953.9,"high":13018.3,"low":12811.1,"amount":0.488,"vol":488,"trade_turnover":6317.7938,"count":120},{"id":1603501200,"open":12927.5,"close":12934.2,"high":13018.1,"low":12872.8,"amount":0.482,"vol":482,"trade_turnover":6242.4178,"count":117},{"id":1603504800,"open":12971.9,"close":12989.1,"high":13003.9,"low":12903.3,"amount":0.484,"vol":484,"trade_turnover":6278.1756,"count":117},{"id":1603508400,"open":13000.1,"close":12975.9,"high":13013.4,"low":12938.3,"amount":0.474,"vol":474,"trade_turnover":6157.7096,"count":122},{"id":1603512000,"open":12989.7,"close":12963.3,"high":13009.4,"low":12905.5,"amount":0.526,"vol":526,"trade_turnover":6831.5658,"count":124},{"id":1603515600,"open":12910.5,"close":12989.7,"high":13041.8,"low":12875.3,"amount":0.522,"vol":522,"trade_turnover":6768.8994,"count":127},{"id":1603519200,"open":12994.7,"close":13003.6,"high":13058.1,"low":12908.8,"amount":0.49,"vol":490,"trade_turnover":6370.5714,"count":120},{"id":1603522800,"open":13011.9,"close":13004.2,"high":13037.8,"low":12981.7,"amount":0.478,"vol":478,"trade_turnover":6218.9722,"count":120},{"id":1603526400,"open":13003.0,"close":12998.2,"high":13030.6,"low":12899.4,"amount":0.52,"vol":520,"trade_turnover":6754.958,"count":124},{"id":1603530000,"open":12998.2,"close":12990.6,"high":13020.3,"low":12893.6,"amount":0.454,"vol":454,"trade_turnover":5891.0574,"count":115},{"id":1603533600,"open":12996.4,"close":13030.1,"high":13059.1,"low":12913.2,"amount":0.502,"vol":502,"trade_turnover":6525.9004,"count":124},{"id":1603537200,"open":12988.4,"close":13033.2,"high":13068.3,"low":12940.2,"amount":0.468,"vol":468,"trade_turnover":6091.0376,"count":119},{"id":1603540800,"open":13035.3,"close":13006.5,"high":13071.8,"low":12978.9,"amount":0.468,"vol":468,"trade_turnover":6102.5902,"count":123},{"id":1603544400,"open":13038.8,"close":12985.9,"high":13066.7,"low":12928.1,"amount":0.534,"vol":534,"trade_turnover":6950.4268,"count":123},{"id":1603548000,"open":12986.3,"close":13042.0,"high":13100.1,"low":12960.5,"amount":0.47,"vol":470,"trade_turnover":6124.2178,"count":100},{"id":1603551600,"open":13038.4,"close":13102.2,"high":13196.5,"low":13038.4,"amount":0.456,"vol":456,"trade_turnover":5989.6362,"count":120},{"id":1603555200,"open":13136.8,"close":13052.7,"high":13176.6,"low":12984.6,"amount":0.458,"vol":458,"trade_turnover":5976.331,"count":121},{"id":1603558800,"open":13006.2,"close":13177.8,"high":13177.8,"low":13003.2,"amount":0.452,"vol":452,"trade_turnover":5911.7058,"count":118},{"id":1603562400,"open":13127.7,"close":13080.8,"high":13170.7,"low":13023.0,"amount":0.468,"vol":468,"trade_turnover":6122.375,"count":119},{"id":1603566000,"open":13040.7,"close":13148.4,"high":13179.3,"low":13014.2,"amount":0.468,"vol":468,"trade_turnover":6126.4278,"count":120},{"id":1603569600,"open":13073.5,"close":13090.1,"high":13179.6,"low":12992.5,"amount":0.47,"vol":470,"trade_turnover":6151.4758,"count":119},{"id":1603573200,"open":13035.4,"close":12993.9,"high":13148.7,"low":12980.7,"amount":0.458,"vol":458,"trade_turnover":5981.071,"count":117},{"id":1603576800,"open":13040.7,"close":13041.1,"high":13112.1,"low":12975.6,"amount":0.478,"vol":478,"trade_turnover":6225.4216,"count":118},{"id":1603580400,"open":13012.6,"close":13184.3,"high":13184.3,"low":13009.3,"amount":0.472,"vol":472,"trade_turnover":6173.4244,"count":118},{"id":1603584000,"open":13080.8,"close":13154.3,"high":13170.4,"low":13007.7,"amount":0.46,"vol":460,"trade_turnover":6024.09,"count":115},{"id":1603587600,"open":13092.0,"close":13196.1,"high":13196.8,"low":13024.0,"amount":0.398,"vol":398,"trade_turnover":5217.5364,"count":102},{"id":1603591200,"open":13124.7,"close":13082.4,"high":13175.1,"low":13035.0,"amount":0.476,"vol":476,"trade_turnover":6228.6596,"count":120},{"id":1603594800,"open":13049.1,"close":13259.0,"high":13383.8,"low":13049.1,"amount":0.578,"vol":578,"trade_turnover":7629.3886,"count":137},{"id":1603598400,"open":13277.0,"close":13243.4,"high":13369.0,"low":13216.0,"amount":0.47,"vol":470,"trade_turnover":6247.955,"count":122},{"id":1603602000,"open":13285.3,"close":13017.3,"high":13353.3,"low":13010.1,"amount":0.61,"vol":610,"trade_turnover":8048.8598,"count":134},{"id":1603605600,"open":13022.5,"close":13060.3,"high":13105.7,"low":13018.2,"amount":0.486,"vol":486,"trade_turnover":6344.1474,"count":118},{"id":1603609200,"open":13048.5,"close":13078.1,"high":13112.1,"low":13022.0,"amount":0.464,"vol":464,"trade_turnover":6061.5416,"count":120},{"id":1603612800,"open":13077.2,"close":13046.0,"high":13091.0,"low":13017.2,"amount":0.464,"vol":464,"trade_turnover":6055.3734,"count":120},{"id":1603616400,"open":13065.1,"close":13040.8,"high":13084.0,"low":13014.2,"amount":0.478,"vol":478,"trade_turnover":6235.7882,"count":117},{"id":1603620000,"open":13047.1,"close":13028.5,"high":13064.2,"low":13010.2,"amount":0.478,"vol":478,"trade_turnover":6232.2428,"count":125},{"id":1603623600,"open":13061.5,"close":12897.6,"high":13061.5,"low":12852.9,"amount":0.534,"vol":534,"trade_turnover":6918.1226,"count":123},{"id":1603627200,"open":12908.3,"close":12964.3,"high":13069.7,"low":12893.2,"amount":0.444,"vol":444,"trade_turnover":5755.8712,"count":117},{"id":1603630800,"open":13001.3,"close":12949.3,"high":13071.9,"low":12891.8,"amount":0.498,"vol":498,"trade_turnover":6465.078,"count":119},{"id":1603634400,"open":12975.8,"close":12946.8,"high":13077.7,"low":12900.0,"amount":0.468,"vol":468,"trade_turnover":6075.4554,"count":116},{"id":1603638000,"open":12975.2,"close":12883.3,"high":13069.1,"low":12883.3,"amount":0.47,"vol":470,"trade_turnover":6097.1072,"count":119},{"id":1603641600,"open":12916.2,"close":12978.7,"high":13067.9,"low":12877.5,"amount":0.482,"vol":482,"trade_turnover":6256.4472,"count":118},{"id":1603645200,"open":13008.0,"close":13004.4,"high":13087.5,"low":12922.7,"amount":0.47,"vol":470,"trade_turnover":6108.3892,"count":117},{"id":1603648800,"open":12972.8,"close":12957.2,"high":13067.6,"low":12893.6,"amount":0.468,"vol":468,"trade_turnover":6079.1484,"count":118},{"id":1603652400,"open":12996.5,"close":13021.8,"high":13066.9,"low":12916.6,"amount":0.442,"vol":442,"trade_turnover":5746.5548,"count":118},{"id":1603656000,"open":12992.9,"close":12985.4,"high":13081.5,"low":12944.9,"amount":0.508,"vol":508,"trade_turnover":6616.9872,"count":120},{"id":1603659600,"open":12999.9,"close":13011.2,"high":13068.6,"low":12921.4,"amount":0.508,"vol":508,"trade_turnover":6614.816,"count":122},{"id":1603663200,"open":12979.6,"close":12959.4,"high":13073.8,"low":12911.9,"amount":0.486,"vol":486,"trade_turnover":6320.907,"count":121},{"id":1603666800,"open":12963.4,"close":13032.1,"high":13085.2,"low":12927.8,"amount":0.452,"vol":452,"trade_turnover":5878.6442,"count":113},{"id":1603670400,"open":12964.2,"close":13001.0,"high":13076.7,"low":12918.3,"amount":0.482,"vol":482,"trade_turnover":6263.698,"count":121},{"id":1603674000,"open":13040.0,"close":13053.7,"high":13096.4,"low":12991.2,"amount":0.478,"vol":478,"trade_turnover":6232.2328,"count":124},{"id":1603677600,"open":13060.6,"close":13064.4,"high":13185.7,"low":12985.1,"amount":0.488,"vol":488,"trade_turnover":6387.534,"count":121},{"id":1603681200,"open":13032.3,"close":13092.8,"high":13187.2,"low":12984.1,"amount":0.486,"vol":486,"trade_turnover":6369.0272,"count":135},{"id":1603684800,"open":13092.0,"close":13132.6,"high":13181.6,"low":12962.3,"amount":0.51,"vol":510,"trade_turnover":6679.829,"count":131},{"id":1603688400,"open":13129.2,"close":13092.1,"high":13205.3,"low":13025.3,"amount":0.506,"vol":506,"trade_turnover":6641.2128,"count":126},{"id":1603692000,"open":13121.8,"close":13071.4,"high":13188.1,"low":12989.8,"amount":1.616,"vol":1616,"trade_turnover":21170.8224,"count":141},{"id":1603695600,"open":13061.0,"close":13038.7,"high":13100.0,"low":12965.2,"amount":3.746,"vol":3746,"trade_turnover":48924.8902,"count":110},{"id":1603699200,"open":13030.9,"close":13039.3,"high":13102.0,"low":12852.8,"amount":8.966,"vol":8966,"trade_turnover":116525.5534,"count":173},{"id":1603702800,"open":13047.1,"close":13075.9,"high":13088.4,"low":13039.8,"amount":4.48,"vol":4480,"trade_turnover":58521.1714,"count":124},{"id":1603706400,"open":13072.1,"close":13100.0,"high":13100.0,"low":13060.2,"amount":4.272,"vol":4272,"trade_turnover":55895.9778,"count":130},{"id":1603710000,"open":13100.0,"close":13138.4,"high":13159.0,"low":13100.0,"amount":29.798,"vol":29798,"trade_turnover":391138.024,"count":230},{"id":1603713600,"open":13138.8,"close":13149.8,"high":13200.0,"low":13100.0,"amount":5.154,"vol":5154,"trade_turnover":67694.652,"count":188},{"id":1603717200,"open":13150.0,"close":13205.8,"high":13351.5,"low":13133.1,"amount":35.608,"vol":35608,"trade_turnover":472780.3394,"count":328},{"id":1603720800,"open":13203.0,"close":13166.1,"high":13280.0,"low":13144.1,"amount":31.748,"vol":31748,"trade_turnover":418744.5588,"count":235},{"id":1603724400,"open":13159.0,"close":12978.0,"high":13165.2,"low":12903.8,"amount":36.53,"vol":36530,"trade_turnover":476940.3296,"count":384},{"id":1603728000,"open":12965.0,"close":12869.6,"high":13069.8,"low":12850.5,"amount":35.018,"vol":35018,"trade_turnover":453288.918,"count":323},{"id":1603731600,"open":12879.2,"close":12873.8,"high":12941.5,"low":12583.9,"amount":92.628,"vol":92628,"trade_turnover":1185973.467,"count":560},{"id":1603735200,"open":12856.2,"close":12946.8,"high":12954.5,"low":12820.4,"amount":4.302,"vol":4302,"trade_turnover":55481.0054,"count":128},{"id":1603738800,"open":12945.6,"close":12953.4,"high":12953.5,"low":12914.1,"amount":13.83,"vol":13830,"trade_turnover":179112.1598,"count":118},{"id":1603742400,"open":12953.5,"close":12983.4,"high":13007.5,"low":12953.5,"amount":17.172,"vol":17172,"trade_turnover":223230.2122,"count":132},{"id":1603746000,"open":12983.1,"close":12993.8,"high":13007.5,"low":12982.7,"amount":3.212,"vol":3212,"trade_turnover":41767.8906,"count":59},{"id":1603749600,"open":13002.1,"close":13007.5,"high":13007.5,"low":12974.0,"amount":1.504,"vol":1504,"trade_turnover":19543.3568,"count":74},{"id":1603753200,"open":13007.5,"close":13033.7,"high":13061.2,"low":13007.5,"amount":3.454,"vol":3454,"trade_turnover":45001.601,"count":101},{"id":1603756800,"open":13029.2,"close":13067.1,"high":13105.0,"low":13028.3,"amount":8.784,"vol":8784,"trade_turnover":114871.8246,"count":98},{"id":1603760400,"open":13074.3,"close":13061.7,"high":13074.4,"low":13051.5,"amount":11.592,"vol":11592,"trade_turnover":151386.9038,"count":66},{"id":1603764000,"open":13061.7,"close":13049.7,"high":13097.6,"low":13040.1,"amount":19.298,"vol":19298,"trade_turnover":252061.019,"count":109},{"id":1603767600,"open":13057.6,"close":13070.4,"high":13080.0,"low":13057.1,"amount":22.992,"vol":22992,"trade_turnover":300453.9788,"count":69},{"id":1603771200,"open":13080.0,"close":13103.3,"high":13175.0,"low":13079.6,"amount":14.396,"vol":14396,"trade_turnover":188461.9156,"count":59},{"id":1603774800,"open":13121.3,"close":13073.6,"high":13121.3,"low":13069.7,"amount":5.058,"vol":5058,"trade_turnover":66201.3552,"count":44},{"id":1603778400,"open":13074.9,"close":13103.4,"high":13149.0,"low":13069.6,"amount":9.106,"vol":9106,"trade_turnover":119104.8906,"count":107},{"id":1603782000,"open":13103.3,"close":13130.0,"high":13169.8,"low":12992.4,"amount":73.95,"vol":73950,"trade_turnover":968195.155,"count":305},{"id":1603785600,"open":13135.1,"close":13123.8,"high":13148.4,"low":13044.0,"amount":18.732,"vol":18732,"trade_turnover":245533.5448,"count":135},{"id":1603789200,"open":13115.5,"close":13131.7,"high":13131.8,"low":13075.7,"amount":13.756,"vol":13756,"trade_turnover":180253.7708,"count":102},{"id":1603792800,"open":13134.8,"close":13216.9,"high":13252.0,"low":13063.4,"amount":154.108,"vol":154108,"trade_turnover":2029983.656,"count":525},{"id":1603796400,"open":13218.8,"close":13395.8,"high":13590.1,"low":13213.5,"amount":170.09,"vol":170090,"trade_turnover":2276279.742,"count":591},{"id":1603800000,"open":13395.9,"close":13376.9,"high":13414.0,"low":13331.7,"amount":48.928,"vol":48928,"trade_turnover":654585.9108,"count":216},{"id":1603803600,"open":13376.5,"close":13384.3,"high":13490.9,"low":13329.8,"amount":63.294,"vol":63294,"trade_turnover":848130.9212,"count":316},{"id":1603807200,"open":13392.6,"close":13398.2,"high":13415.8,"low":13344.8,"amount":12.892,"vol":12892,"trade_turnover":172618.6864,"count":124},{"id":1603810800,"open":13398.2,"close":13598.5,"high":13626.7,"low":13398.2,"amount":93.22,"vol":93220,"trade_turnover":1262695.5466,"count":476},{"id":1603814400,"open":13595.8,"close":13639.9,"high":13639.9,"low":13520.2,"amount":85.45,"vol":85450,"trade_turnover":1161481.4136,"count":435},{"id":1603818000,"open":13640.0,"close":13688.1,"high":13826.7,"low":13589.0,"amount":191.812,"vol":191812,"trade_turnover":2628428.3788,"count":711},{"id":1603821600,"open":13685.0,"close":13630.1,"high":13745.0,"low":13528.2,"amount":65.434,"vol":65434,"trade_turnover":891541.8394,"count":410},{"id":1603825200,"open":13629.4,"close":13637.1,"high":13659.8,"low":13595.4,"amount":5.788,"vol":5788,"trade_turnover":78836.2578,"count":65},{"id":1603828800,"open":13644.4,"close":13616.6,"high":13805.1,"low":13582.6,"amount":163.104,"vol":163104,"trade_turnover":2234040.3544,"count":537},{"id":1603832400,"open":13609.8,"close":13705.5,"high":13753.5,"low":13609.8,"amount":9.884,"vol":9884,"trade_turnover":135406.4752,"count":101},{"id":1603836000,"open":13705.4,"close":13739.9,"high":13739.9,"low":13658.2,"amount":7.436,"vol":7436,"trade_turnover":101840.3508,"count":100},{"id":1603839600,"open":13739.9,"close":13649.6,"high":13794.6,"low":13582.6,"amount":17.086,"vol":17086,"trade_turnover":233971.8448,"count":234},{"id":1603843200,"open":13645.9,"close":13701.7,"high":13745.2,"low":13618.8,"amount":24.108,"vol":24108,"trade_turnover":330206.5694,"count":177},{"id":1603846800,"open":13702.1,"close":13702.6,"high":13725.6,"low":13647.9,"amount":15.892,"vol":15892,"trade_turnover":217816.7008,"count":151},{"id":1603850400,"open":13701.7,"close":13811.6,"high":13832.2,"low":13680.2,"amount":46.548,"vol":46548,"trade_turnover":640636.0352,"count":274},{"id":1603854000,"open":13818.5,"close":13777.0,"high":13820.3,"low":13717.5,"amount":67.896,"vol":67896,"trade_turnover":935838.2238,"count":320},{"id":1603857600,"open":13767.3,"close":13735.7,"high":13807.2,"low":13710.0,"amount":33.156,"vol":33156,"trade_turnover":455941.234,"count":210},{"id":1603861200,"open":13735.5,"close":13715.8,"high":13753.9,"low":13671.3,"amount":32.076,"vol":32076,"trade_turnover":439612.64,"count":198},{"id":1603864800,"open":13715.9,"close":13701.3,"high":13757.0,"low":13694.9,"amount":14.756,"vol":14756,"trade_turnover":202602.5164,"count":122},{"id":1603868400,"open":13701.2,"close":13674.2,"high":13708.7,"low":13550.0,"amount":155.534,"vol":155534,"trade_turnover":2117935.0928,"count":635},{"id":1603872000,"open":13673.0,"close":13691.7,"high":13691.7,"low":13584.0,"amount":29.846,"vol":29846,"trade_turnover":407073.1398,"count":240},{"id":1603875600,"open":13689.3,"close":13587.1,"high":13707.5,"low":13573.5,"amount":104.542,"vol":104542,"trade_turnover":1425079.9344,"count":377},{"id":1603879200,"open":13584.6,"close":13552.7,"high":13618.0,"low":13504.7,"amount":73.818,"vol":73818,"trade_turnover":1001666.0908,"count":358},{"id":1603882800,"open":13552.6,"close":13336.4,"high":13565.4,"low":13330.0,"amount":176.544,"vol":176544,"trade_turnover":2369166.1492,"count":1004},{"id":1603886400,"open":13331.5,"close":13300.3,"high":13385.0,"low":13173.9,"amount":289.73,"vol":289730,"trade_turnover":3846751.7166,"count":968},{"id":1603890000,"open":13300.2,"close":13129.9,"high":13340.0,"low":13122.9,"amount":139.822,"vol":139822,"trade_turnover":1848876.932,"count":612},{"id":1603893600,"open":13123.4,"close":13082.2,"high":13168.2,"low":12915.9,"amount":367.876,"vol":367876,"trade_turnover":4802516.9818,"count":1168},{"id":1603897200,"open":13077.1,"close":13221.2,"high":13235.2,"low":13052.3,"amount":84.044,"vol":84044,"trade_turnover":1106883.1282,"count":375},{"id":1603900800,"open":13218.7,"close":13145.1,"high":13218.7,"low":13050.0,"amount":29.566,"vol":29566,"trade_turnover":388697.4104,"count":244},{"id":1603904400,"open":13145.1,"close":13176.7,"high":13204.9,"low":13006.6,"amount":53.336,"vol":53336,"trade_turnover":700385.2784,"count":299},{"id":1603908000,"open":13171.0,"close":13196.5,"high":13219.6,"low":13131.0,"amount":34.164,"vol":34164,"trade_turnover":450210.5778,"count":218},{"id":1603911600,"open":13200.0,"close":13154.9,"high":13237.4,"low":13145.0,"amount":22.158,"vol":22158,"trade_turnover":292020.0438,"count":185},{"id":1603915200,"open":13154.5,"close":13198.1,"high":13211.8,"low":13147.4,"amount":4.548,"vol":4548,"trade_turnover":59991.1118,"count":75},{"id":1603918800,"open":13193.5,"close":13190.1,"high":13196.5,"low":13100.2,"amount":3.52,"vol":3520,"trade_turnover":46175.428,"count":68},{"id":1603922400,"open":13185.4,"close":13252.0,"high":13267.5,"low":13185.4,"amount":3.122,"vol":3122,"trade_turnover":41304.2018,"count":72},{"id":1603926000,"open":13242.1,"close":13265.9,"high":13282.3,"low":13235.9,"amount":14.768,"vol":14768,"trade_turnover":195689.0764,"count":86},{"id":1603929600,"open":13253.9,"close":13245.1,"high":13294.7,"low":13237.4,"amount":19.968,"vol":19968,"trade_turnover":264834.1944,"count":98},{"id":1603933200,"open":13244.6,"close":13274.2,"high":13285.3,"low":13166.3,"amount":35.282,"vol":35282,"trade_turnover":465789.6302,"count":192},{"id":1603936800,"open":13275.9,"close":13241.1,"high":13277.7,"low":13212.2,"amount":9.748,"vol":9748,"trade_turnover":129016.0684,"count":119},{"id":1603940400,"open":13237.1,"close":13262.5,"high":13262.5,"low":13174.6,"amount":27.3,"vol":27300,"trade_turnover":360589.8982,"count":199},{"id":1603944000,"open":13269.1,"close":13229.5,"high":13277.7,"low":13229.5,"amount":18.904,"vol":18904,"trade_turnover":250713.2812,"count":109},{"id":1603947600,"open":13228.5,"close":13274.8,"high":13274.8,"low":13228.5,"amount":15.822,"vol":15822,"trade_turnover":209781.909,"count":134},{"id":1603951200,"open":13274.8,"close":13255.0,"high":13323.0,"low":13242.3,"amount":91.246,"vol":91246,"trade_turnover":1211271.2788,"count":294},{"id":1603954800,"open":13255.0,"close":13142.4,"high":13269.3,"low":13123.1,"amount":187.622,"vol":187622,"trade_turnover":2478299.7074,"count":506},{"id":1603958400,"open":13145.9,"close":13124.8,"high":13182.4,"low":13094.1,"amount":69.532,"vol":69532,"trade_turnover":914157.2418,"count":226},{"id":1603962000,"open":13129.5,"close":13183.7,"high":13197.1,"low":13129.5,"amount":23.184,"vol":23184,"trade_turnover":305485.9524,"count":141},{"id":1603965600,"open":13184.8,"close":13105.2,"high":13187.5,"low":13053.1,"amount":121.146,"vol":121146,"trade_turnover":1590026.4416,"count":442},{"id":1603969200,"open":13105.1,"close":13060.1,"high":13171.4,"low":13060.1,"amount":47.498,"vol":47498,"trade_turnover":623578.149,"count":262},{"id":1603972800,"open":13056.9,"close":13131.8,"high":13145.8,"low":12977.9,"amount":126.552,"vol":126552,"trade_turnover":1652549.311,"count":481},{"id":1603976400,"open":13131.7,"close":13230.0,"high":13237.2,"low":13102.0,"amount":100.482,"vol":100482,"trade_turnover":1326403.7206,"count":325},{"id":1603980000,"open":13231.0,"close":13420.8,"high":13476.1,"low":13231.0,"amount":253.258,"vol":253258,"trade_turnover":3384941.438,"count":752},{"id":1603983600,"open":13416.0,"close":13420.6,"high":13458.7,"low":13358.7,"amount":64.71,"vol":64710,"trade_turnover":869052.3804,"count":269},{"id":1603987200,"open":13421.9,"close":13535.9,"high":13594.5,"low":13391.8,"amount":120.24,"vol":120240,"trade_turnover":1626567.8278,"count":570}]} +2024-01-18 11:13:05.915 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:41] - 请求 KLine 数据解析之后的数据为:{"wsid":19750305,"data":[{"amount":0.276,"high":12300.0,"vol":276,"low":11715.8,"count":39,"id":1603270800,"close":12196.7,"tradeTurnover":3315.9104,"open":12198.0},{"amount":0.198,"high":12289.9,"vol":198,"low":12111.0,"count":21,"id":1603274400,"close":12277.9,"tradeTurnover":2420.7728,"open":12196.7},{"amount":0.012,"high":12277.9,"vol":12,"low":12000.0,"count":5,"id":1603278000,"close":12000.0,"tradeTurnover":145.2238,"open":12111.0},{"amount":0.084,"high":12498.0,"vol":84,"low":12078.0,"count":12,"id":1603281600,"close":12497.4,"tradeTurnover":1040.0504,"open":12078.0},{"amount":1.122,"high":12495.6,"vol":1122,"low":12282.9,"count":112,"id":1603285200,"close":12373.5,"tradeTurnover":13905.3124,"open":12495.6},{"amount":5.29,"high":12807.6,"vol":5290,"low":12358.1,"count":155,"id":1603288800,"close":12689.9,"tradeTurnover":66852.128,"open":12412.9},{"amount":1.174,"high":12778.7,"vol":1174,"low":12573.2,"count":113,"id":1603292400,"close":12701.9,"tradeTurnover":14907.367,"open":12692.8},{"amount":1.156,"high":12920.9,"vol":1156,"low":12624.8,"count":115,"id":1603296000,"close":12835.9,"tradeTurnover":14802.449,"open":12679.7},{"amount":1.12,"high":12908.3,"vol":1120,"low":12687.5,"count":115,"id":1603299600,"close":12754.2,"tradeTurnover":14345.7324,"open":12848.3},{"amount":1.106,"high":12849.0,"vol":1106,"low":12668.3,"count":114,"id":1603303200,"close":12740.2,"tradeTurnover":14105.3504,"open":12743.7},{"amount":1.032,"high":12843.1,"vol":1032,"low":12597.2,"count":112,"id":1603306800,"close":12650.3,"tradeTurnover":13125.4568,"open":12729.5},{"amount":1.154,"high":12848.4,"vol":1154,"low":12610.2,"count":116,"id":1603310400,"close":12807.0,"tradeTurnover":14680.638,"open":12666.8},{"amount":1.164,"high":13005.1,"vol":1164,"low":12748.2,"count":114,"id":1603314000,"close":12938.9,"tradeTurnover":14976.9366,"open":12866.0},{"amount":1.174,"high":13211.2,"vol":1174,"low":12865.7,"count":114,"id":1603317600,"close":13122.0,"tradeTurnover":15285.2446,"open":12921.0},{"amount":1.172,"high":13173.2,"vol":1172,"low":12688.6,"count":117,"id":1603321200,"close":12829.8,"tradeTurnover":15060.9938,"open":13153.2},{"amount":1.17,"high":12988.1,"vol":1170,"low":12764.4,"count":117,"id":1603324800,"close":12885.9,"tradeTurnover":15046.2046,"open":12793.1},{"amount":1.158,"high":12972.6,"vol":1158,"low":12757.5,"count":118,"id":1603328400,"close":12757.5,"tradeTurnover":14882.4656,"open":12860.4},{"amount":1.124,"high":12848.0,"vol":1124,"low":12729.0,"count":115,"id":1603332000,"close":12788.8,"tradeTurnover":14368.7948,"open":12824.1},{"amount":1.194,"high":12834.4,"vol":1194,"low":12729.0,"count":111,"id":1603335600,"close":12767.2,"tradeTurnover":15268.9298,"open":12791.7},{"amount":1.152,"high":12778.3,"vol":1152,"low":12729.0,"count":115,"id":1603339200,"close":12762.2,"tradeTurnover":14695.4876,"open":12729.0},{"amount":1.21,"high":12842.0,"vol":1210,"low":12730.6,"count":119,"id":1603342800,"close":12813.8,"tradeTurnover":15440.8162,"open":12763.1},{"amount":1.188,"high":12795.0,"vol":1188,"low":12728.0,"count":123,"id":1603346400,"close":12729.1,"tradeTurnover":15128.0098,"open":12795.0},{"amount":1.266,"high":12730.6,"vol":1266,"low":12728.3,"count":112,"id":1603350000,"close":12730.6,"tradeTurnover":16115.1306,"open":12728.6},{"amount":1.35,"high":12921.5,"vol":1350,"low":12729.9,"count":127,"id":1603353600,"close":12770.1,"tradeTurnover":17233.7326,"open":12730.3},{"amount":0.98,"high":12872.1,"vol":980,"low":12760.1,"count":99,"id":1603357200,"close":12780.4,"tradeTurnover":12553.9826,"open":12824.9},{"amount":0.266,"high":13002.7,"vol":266,"low":12775.6,"count":30,"id":1603360800,"close":12934.2,"tradeTurnover":3415.023,"open":12784.9},{"amount":1.004,"high":13057.0,"vol":1004,"low":12886.6,"count":117,"id":1603364400,"close":13045.0,"tradeTurnover":13020.8576,"open":12977.0},{"amount":1.134,"high":12973.4,"vol":1134,"low":12751.6,"count":111,"id":1603368000,"close":12847.9,"tradeTurnover":14594.2752,"open":12958.5},{"amount":1.152,"high":13000.8,"vol":1152,"low":12743.0,"count":114,"id":1603371600,"close":12931.0,"tradeTurnover":14877.7314,"open":12882.7},{"amount":1.182,"high":12995.3,"vol":1182,"low":12783.9,"count":115,"id":1603375200,"close":12917.8,"tradeTurnover":15224.4716,"open":12890.4},{"amount":1.176,"high":13031.2,"vol":1176,"low":12817.9,"count":117,"id":1603378800,"close":12953.0,"tradeTurnover":15197.208,"open":12918.8},{"amount":1.146,"high":13100.2,"vol":1146,"low":12865.6,"count":119,"id":1603382400,"close":13055.6,"tradeTurnover":14851.9604,"open":12923.1},{"amount":1.534,"high":13105.7,"vol":1534,"low":12835.5,"count":124,"id":1603386000,"close":13082.7,"tradeTurnover":19927.8288,"open":12967.6},{"amount":1.268,"high":13115.0,"vol":1268,"low":12938.7,"count":117,"id":1603389600,"close":13016.4,"tradeTurnover":16505.4738,"open":13020.4},{"amount":1.13,"high":13171.2,"vol":1130,"low":12961.8,"count":112,"id":1603393200,"close":12970.6,"tradeTurnover":14762.952,"open":13028.3},{"amount":1.206,"high":13216.1,"vol":1206,"low":12998.5,"count":117,"id":1603396800,"close":13089.3,"tradeTurnover":15807.1226,"open":13016.7},{"amount":1.332,"high":13203.7,"vol":1332,"low":12932.9,"count":114,"id":1603400400,"close":13092.0,"tradeTurnover":17423.4422,"open":13136.0},{"amount":1.21,"high":13250.5,"vol":1210,"low":12984.7,"count":114,"id":1603404000,"close":13055.9,"tradeTurnover":15876.0632,"open":13119.4},{"amount":1.286,"high":13126.5,"vol":1286,"low":12857.2,"count":116,"id":1603407600,"close":12890.4,"tradeTurnover":16688.422,"open":13059.4},{"amount":1.502,"high":12994.0,"vol":1502,"low":12751.6,"count":131,"id":1603411200,"close":12892.2,"tradeTurnover":19331.1596,"open":12929.7},{"amount":1.386,"high":13003.2,"vol":1386,"low":12786.0,"count":121,"id":1603414800,"close":12898.3,"tradeTurnover":17904.8902,"open":12921.7},{"amount":1.416,"high":13054.0,"vol":1416,"low":12800.7,"count":122,"id":1603418400,"close":12975.1,"tradeTurnover":18306.6204,"open":12951.6},{"amount":1.19,"high":13030.7,"vol":1190,"low":12875.0,"count":118,"id":1603422000,"close":12947.0,"tradeTurnover":15409.7984,"open":12967.3},{"amount":1.022,"high":13047.3,"vol":1022,"low":12832.8,"count":127,"id":1603425600,"close":12852.0,"tradeTurnover":13214.4388,"open":12925.2},{"amount":0.478,"high":12991.7,"vol":478,"low":12841.2,"count":118,"id":1603429200,"close":12931.1,"tradeTurnover":6180.2486,"open":12859.0},{"amount":0.522,"high":13014.1,"vol":522,"low":12871.9,"count":132,"id":1603432800,"close":12939.6,"tradeTurnover":6759.0324,"open":12935.9},{"amount":0.476,"high":12998.9,"vol":476,"low":12917.1,"count":118,"id":1603436400,"close":12925.4,"tradeTurnover":6163.3118,"open":12923.1},{"amount":0.508,"high":13014.0,"vol":508,"low":12916.1,"count":122,"id":1603440000,"close":12962.6,"tradeTurnover":6585.3656,"open":12942.2},{"amount":0.564,"high":13012.5,"vol":564,"low":12909.9,"count":124,"id":1603443600,"close":12926.4,"tradeTurnover":7308.8828,"open":12970.5},{"amount":0.536,"high":13059.5,"vol":536,"low":12925.7,"count":124,"id":1603447200,"close":13007.7,"tradeTurnover":6957.8796,"open":13001.2},{"amount":0.486,"high":13078.4,"vol":486,"low":12906.5,"count":122,"id":1603450800,"close":12970.6,"tradeTurnover":6326.1434,"open":13025.4},{"amount":0.494,"high":13025.0,"vol":494,"low":12850.8,"count":117,"id":1603454400,"close":12935.4,"tradeTurnover":6396.0984,"open":12963.9},{"amount":0.466,"high":13043.3,"vol":466,"low":12911.0,"count":117,"id":1603458000,"close":12951.7,"tradeTurnover":6049.1412,"open":12913.3},{"amount":0.46,"high":13006.4,"vol":460,"low":12840.4,"count":116,"id":1603461600,"close":12858.8,"tradeTurnover":5941.815,"open":12999.6},{"amount":0.492,"high":12932.9,"vol":492,"low":12826.5,"count":117,"id":1603465200,"close":12881.9,"tradeTurnover":6340.214,"open":12885.7},{"amount":0.484,"high":12933.5,"vol":484,"low":12744.4,"count":123,"id":1603468800,"close":12784.1,"tradeTurnover":6205.4138,"open":12854.4},{"amount":0.562,"high":12893.1,"vol":562,"low":12730.1,"count":152,"id":1603472400,"close":12847.7,"tradeTurnover":7218.9184,"open":12832.3},{"amount":0.53,"high":12939.3,"vol":530,"low":12751.4,"count":128,"id":1603476000,"close":12915.7,"tradeTurnover":6825.7004,"open":12874.1},{"amount":0.444,"high":12972.9,"vol":444,"low":12786.6,"count":117,"id":1603479600,"close":12972.9,"tradeTurnover":5727.7452,"open":12867.9},{"amount":0.492,"high":13002.2,"vol":492,"low":12842.9,"count":116,"id":1603483200,"close":12991.6,"tradeTurnover":6375.1566,"open":12956.7},{"amount":0.5,"high":13004.3,"vol":500,"low":12936.6,"count":125,"id":1603486800,"close":12943.5,"tradeTurnover":6485.468,"open":13004.3},{"amount":0.492,"high":13010.3,"vol":492,"low":12884.7,"count":120,"id":1603490400,"close":12989.2,"tradeTurnover":6376.1492,"open":12923.6},{"amount":0.51,"high":13024.4,"vol":510,"low":12884.6,"count":121,"id":1603494000,"close":12884.6,"tradeTurnover":6622.3406,"open":12974.9},{"amount":0.488,"high":13018.3,"vol":488,"low":12811.1,"count":120,"id":1603497600,"close":12953.9,"tradeTurnover":6317.7938,"open":12973.7},{"amount":0.482,"high":13018.1,"vol":482,"low":12872.8,"count":117,"id":1603501200,"close":12934.2,"tradeTurnover":6242.4178,"open":12927.5},{"amount":0.484,"high":13003.9,"vol":484,"low":12903.3,"count":117,"id":1603504800,"close":12989.1,"tradeTurnover":6278.1756,"open":12971.9},{"amount":0.474,"high":13013.4,"vol":474,"low":12938.3,"count":122,"id":1603508400,"close":12975.9,"tradeTurnover":6157.7096,"open":13000.1},{"amount":0.526,"high":13009.4,"vol":526,"low":12905.5,"count":124,"id":1603512000,"close":12963.3,"tradeTurnover":6831.5658,"open":12989.7},{"amount":0.522,"high":13041.8,"vol":522,"low":12875.3,"count":127,"id":1603515600,"close":12989.7,"tradeTurnover":6768.8994,"open":12910.5},{"amount":0.49,"high":13058.1,"vol":490,"low":12908.8,"count":120,"id":1603519200,"close":13003.6,"tradeTurnover":6370.5714,"open":12994.7},{"amount":0.478,"high":13037.8,"vol":478,"low":12981.7,"count":120,"id":1603522800,"close":13004.2,"tradeTurnover":6218.9722,"open":13011.9},{"amount":0.52,"high":13030.6,"vol":520,"low":12899.4,"count":124,"id":1603526400,"close":12998.2,"tradeTurnover":6754.958,"open":13003.0},{"amount":0.454,"high":13020.3,"vol":454,"low":12893.6,"count":115,"id":1603530000,"close":12990.6,"tradeTurnover":5891.0574,"open":12998.2},{"amount":0.502,"high":13059.1,"vol":502,"low":12913.2,"count":124,"id":1603533600,"close":13030.1,"tradeTurnover":6525.9004,"open":12996.4},{"amount":0.468,"high":13068.3,"vol":468,"low":12940.2,"count":119,"id":1603537200,"close":13033.2,"tradeTurnover":6091.0376,"open":12988.4},{"amount":0.468,"high":13071.8,"vol":468,"low":12978.9,"count":123,"id":1603540800,"close":13006.5,"tradeTurnover":6102.5902,"open":13035.3},{"amount":0.534,"high":13066.7,"vol":534,"low":12928.1,"count":123,"id":1603544400,"close":12985.9,"tradeTurnover":6950.4268,"open":13038.8},{"amount":0.47,"high":13100.1,"vol":470,"low":12960.5,"count":100,"id":1603548000,"close":13042.0,"tradeTurnover":6124.2178,"open":12986.3},{"amount":0.456,"high":13196.5,"vol":456,"low":13038.4,"count":120,"id":1603551600,"close":13102.2,"tradeTurnover":5989.6362,"open":13038.4},{"amount":0.458,"high":13176.6,"vol":458,"low":12984.6,"count":121,"id":1603555200,"close":13052.7,"tradeTurnover":5976.331,"open":13136.8},{"amount":0.452,"high":13177.8,"vol":452,"low":13003.2,"count":118,"id":1603558800,"close":13177.8,"tradeTurnover":5911.7058,"open":13006.2},{"amount":0.468,"high":13170.7,"vol":468,"low":13023.0,"count":119,"id":1603562400,"close":13080.8,"tradeTurnover":6122.375,"open":13127.7},{"amount":0.468,"high":13179.3,"vol":468,"low":13014.2,"count":120,"id":1603566000,"close":13148.4,"tradeTurnover":6126.4278,"open":13040.7},{"amount":0.47,"high":13179.6,"vol":470,"low":12992.5,"count":119,"id":1603569600,"close":13090.1,"tradeTurnover":6151.4758,"open":13073.5},{"amount":0.458,"high":13148.7,"vol":458,"low":12980.7,"count":117,"id":1603573200,"close":12993.9,"tradeTurnover":5981.071,"open":13035.4},{"amount":0.478,"high":13112.1,"vol":478,"low":12975.6,"count":118,"id":1603576800,"close":13041.1,"tradeTurnover":6225.4216,"open":13040.7},{"amount":0.472,"high":13184.3,"vol":472,"low":13009.3,"count":118,"id":1603580400,"close":13184.3,"tradeTurnover":6173.4244,"open":13012.6},{"amount":0.46,"high":13170.4,"vol":460,"low":13007.7,"count":115,"id":1603584000,"close":13154.3,"tradeTurnover":6024.09,"open":13080.8},{"amount":0.398,"high":13196.8,"vol":398,"low":13024.0,"count":102,"id":1603587600,"close":13196.1,"tradeTurnover":5217.5364,"open":13092.0},{"amount":0.476,"high":13175.1,"vol":476,"low":13035.0,"count":120,"id":1603591200,"close":13082.4,"tradeTurnover":6228.6596,"open":13124.7},{"amount":0.578,"high":13383.8,"vol":578,"low":13049.1,"count":137,"id":1603594800,"close":13259.0,"tradeTurnover":7629.3886,"open":13049.1},{"amount":0.47,"high":13369.0,"vol":470,"low":13216.0,"count":122,"id":1603598400,"close":13243.4,"tradeTurnover":6247.955,"open":13277.0},{"amount":0.61,"high":13353.3,"vol":610,"low":13010.1,"count":134,"id":1603602000,"close":13017.3,"tradeTurnover":8048.8598,"open":13285.3},{"amount":0.486,"high":13105.7,"vol":486,"low":13018.2,"count":118,"id":1603605600,"close":13060.3,"tradeTurnover":6344.1474,"open":13022.5},{"amount":0.464,"high":13112.1,"vol":464,"low":13022.0,"count":120,"id":1603609200,"close":13078.1,"tradeTurnover":6061.5416,"open":13048.5},{"amount":0.464,"high":13091.0,"vol":464,"low":13017.2,"count":120,"id":1603612800,"close":13046.0,"tradeTurnover":6055.3734,"open":13077.2},{"amount":0.478,"high":13084.0,"vol":478,"low":13014.2,"count":117,"id":1603616400,"close":13040.8,"tradeTurnover":6235.7882,"open":13065.1},{"amount":0.478,"high":13064.2,"vol":478,"low":13010.2,"count":125,"id":1603620000,"close":13028.5,"tradeTurnover":6232.2428,"open":13047.1},{"amount":0.534,"high":13061.5,"vol":534,"low":12852.9,"count":123,"id":1603623600,"close":12897.6,"tradeTurnover":6918.1226,"open":13061.5},{"amount":0.444,"high":13069.7,"vol":444,"low":12893.2,"count":117,"id":1603627200,"close":12964.3,"tradeTurnover":5755.8712,"open":12908.3},{"amount":0.498,"high":13071.9,"vol":498,"low":12891.8,"count":119,"id":1603630800,"close":12949.3,"tradeTurnover":6465.078,"open":13001.3},{"amount":0.468,"high":13077.7,"vol":468,"low":12900.0,"count":116,"id":1603634400,"close":12946.8,"tradeTurnover":6075.4554,"open":12975.8},{"amount":0.47,"high":13069.1,"vol":470,"low":12883.3,"count":119,"id":1603638000,"close":12883.3,"tradeTurnover":6097.1072,"open":12975.2},{"amount":0.482,"high":13067.9,"vol":482,"low":12877.5,"count":118,"id":1603641600,"close":12978.7,"tradeTurnover":6256.4472,"open":12916.2},{"amount":0.47,"high":13087.5,"vol":470,"low":12922.7,"count":117,"id":1603645200,"close":13004.4,"tradeTurnover":6108.3892,"open":13008.0},{"amount":0.468,"high":13067.6,"vol":468,"low":12893.6,"count":118,"id":1603648800,"close":12957.2,"tradeTurnover":6079.1484,"open":12972.8},{"amount":0.442,"high":13066.9,"vol":442,"low":12916.6,"count":118,"id":1603652400,"close":13021.8,"tradeTurnover":5746.5548,"open":12996.5},{"amount":0.508,"high":13081.5,"vol":508,"low":12944.9,"count":120,"id":1603656000,"close":12985.4,"tradeTurnover":6616.9872,"open":12992.9},{"amount":0.508,"high":13068.6,"vol":508,"low":12921.4,"count":122,"id":1603659600,"close":13011.2,"tradeTurnover":6614.816,"open":12999.9},{"amount":0.486,"high":13073.8,"vol":486,"low":12911.9,"count":121,"id":1603663200,"close":12959.4,"tradeTurnover":6320.907,"open":12979.6},{"amount":0.452,"high":13085.2,"vol":452,"low":12927.8,"count":113,"id":1603666800,"close":13032.1,"tradeTurnover":5878.6442,"open":12963.4},{"amount":0.482,"high":13076.7,"vol":482,"low":12918.3,"count":121,"id":1603670400,"close":13001.0,"tradeTurnover":6263.698,"open":12964.2},{"amount":0.478,"high":13096.4,"vol":478,"low":12991.2,"count":124,"id":1603674000,"close":13053.7,"tradeTurnover":6232.2328,"open":13040.0},{"amount":0.488,"high":13185.7,"vol":488,"low":12985.1,"count":121,"id":1603677600,"close":13064.4,"tradeTurnover":6387.534,"open":13060.6},{"amount":0.486,"high":13187.2,"vol":486,"low":12984.1,"count":135,"id":1603681200,"close":13092.8,"tradeTurnover":6369.0272,"open":13032.3},{"amount":0.51,"high":13181.6,"vol":510,"low":12962.3,"count":131,"id":1603684800,"close":13132.6,"tradeTurnover":6679.829,"open":13092.0},{"amount":0.506,"high":13205.3,"vol":506,"low":13025.3,"count":126,"id":1603688400,"close":13092.1,"tradeTurnover":6641.2128,"open":13129.2},{"amount":1.616,"high":13188.1,"vol":1616,"low":12989.8,"count":141,"id":1603692000,"close":13071.4,"tradeTurnover":21170.8224,"open":13121.8},{"amount":3.746,"high":13100.0,"vol":3746,"low":12965.2,"count":110,"id":1603695600,"close":13038.7,"tradeTurnover":48924.8902,"open":13061.0},{"amount":8.966,"high":13102.0,"vol":8966,"low":12852.8,"count":173,"id":1603699200,"close":13039.3,"tradeTurnover":116525.5534,"open":13030.9},{"amount":4.48,"high":13088.4,"vol":4480,"low":13039.8,"count":124,"id":1603702800,"close":13075.9,"tradeTurnover":58521.1714,"open":13047.1},{"amount":4.272,"high":13100.0,"vol":4272,"low":13060.2,"count":130,"id":1603706400,"close":13100.0,"tradeTurnover":55895.9778,"open":13072.1},{"amount":29.798,"high":13159.0,"vol":29798,"low":13100.0,"count":230,"id":1603710000,"close":13138.4,"tradeTurnover":391138.024,"open":13100.0},{"amount":5.154,"high":13200.0,"vol":5154,"low":13100.0,"count":188,"id":1603713600,"close":13149.8,"tradeTurnover":67694.652,"open":13138.8},{"amount":35.608,"high":13351.5,"vol":35608,"low":13133.1,"count":328,"id":1603717200,"close":13205.8,"tradeTurnover":472780.3394,"open":13150.0},{"amount":31.748,"high":13280.0,"vol":31748,"low":13144.1,"count":235,"id":1603720800,"close":13166.1,"tradeTurnover":418744.5588,"open":13203.0},{"amount":36.53,"high":13165.2,"vol":36530,"low":12903.8,"count":384,"id":1603724400,"close":12978.0,"tradeTurnover":476940.3296,"open":13159.0},{"amount":35.018,"high":13069.8,"vol":35018,"low":12850.5,"count":323,"id":1603728000,"close":12869.6,"tradeTurnover":453288.918,"open":12965.0},{"amount":92.628,"high":12941.5,"vol":92628,"low":12583.9,"count":560,"id":1603731600,"close":12873.8,"tradeTurnover":1185973.467,"open":12879.2},{"amount":4.302,"high":12954.5,"vol":4302,"low":12820.4,"count":128,"id":1603735200,"close":12946.8,"tradeTurnover":55481.0054,"open":12856.2},{"amount":13.83,"high":12953.5,"vol":13830,"low":12914.1,"count":118,"id":1603738800,"close":12953.4,"tradeTurnover":179112.1598,"open":12945.6},{"amount":17.172,"high":13007.5,"vol":17172,"low":12953.5,"count":132,"id":1603742400,"close":12983.4,"tradeTurnover":223230.2122,"open":12953.5},{"amount":3.212,"high":13007.5,"vol":3212,"low":12982.7,"count":59,"id":1603746000,"close":12993.8,"tradeTurnover":41767.8906,"open":12983.1},{"amount":1.504,"high":13007.5,"vol":1504,"low":12974.0,"count":74,"id":1603749600,"close":13007.5,"tradeTurnover":19543.3568,"open":13002.1},{"amount":3.454,"high":13061.2,"vol":3454,"low":13007.5,"count":101,"id":1603753200,"close":13033.7,"tradeTurnover":45001.601,"open":13007.5},{"amount":8.784,"high":13105.0,"vol":8784,"low":13028.3,"count":98,"id":1603756800,"close":13067.1,"tradeTurnover":114871.8246,"open":13029.2},{"amount":11.592,"high":13074.4,"vol":11592,"low":13051.5,"count":66,"id":1603760400,"close":13061.7,"tradeTurnover":151386.9038,"open":13074.3},{"amount":19.298,"high":13097.6,"vol":19298,"low":13040.1,"count":109,"id":1603764000,"close":13049.7,"tradeTurnover":252061.019,"open":13061.7},{"amount":22.992,"high":13080.0,"vol":22992,"low":13057.1,"count":69,"id":1603767600,"close":13070.4,"tradeTurnover":300453.9788,"open":13057.6},{"amount":14.396,"high":13175.0,"vol":14396,"low":13079.6,"count":59,"id":1603771200,"close":13103.3,"tradeTurnover":188461.9156,"open":13080.0},{"amount":5.058,"high":13121.3,"vol":5058,"low":13069.7,"count":44,"id":1603774800,"close":13073.6,"tradeTurnover":66201.3552,"open":13121.3},{"amount":9.106,"high":13149.0,"vol":9106,"low":13069.6,"count":107,"id":1603778400,"close":13103.4,"tradeTurnover":119104.8906,"open":13074.9},{"amount":73.95,"high":13169.8,"vol":73950,"low":12992.4,"count":305,"id":1603782000,"close":13130.0,"tradeTurnover":968195.155,"open":13103.3},{"amount":18.732,"high":13148.4,"vol":18732,"low":13044.0,"count":135,"id":1603785600,"close":13123.8,"tradeTurnover":245533.5448,"open":13135.1},{"amount":13.756,"high":13131.8,"vol":13756,"low":13075.7,"count":102,"id":1603789200,"close":13131.7,"tradeTurnover":180253.7708,"open":13115.5},{"amount":154.108,"high":13252.0,"vol":154108,"low":13063.4,"count":525,"id":1603792800,"close":13216.9,"tradeTurnover":2029983.656,"open":13134.8},{"amount":170.09,"high":13590.1,"vol":170090,"low":13213.5,"count":591,"id":1603796400,"close":13395.8,"tradeTurnover":2276279.742,"open":13218.8},{"amount":48.928,"high":13414.0,"vol":48928,"low":13331.7,"count":216,"id":1603800000,"close":13376.9,"tradeTurnover":654585.9108,"open":13395.9},{"amount":63.294,"high":13490.9,"vol":63294,"low":13329.8,"count":316,"id":1603803600,"close":13384.3,"tradeTurnover":848130.9212,"open":13376.5},{"amount":12.892,"high":13415.8,"vol":12892,"low":13344.8,"count":124,"id":1603807200,"close":13398.2,"tradeTurnover":172618.6864,"open":13392.6},{"amount":93.22,"high":13626.7,"vol":93220,"low":13398.2,"count":476,"id":1603810800,"close":13598.5,"tradeTurnover":1262695.5466,"open":13398.2},{"amount":85.45,"high":13639.9,"vol":85450,"low":13520.2,"count":435,"id":1603814400,"close":13639.9,"tradeTurnover":1161481.4136,"open":13595.8},{"amount":191.812,"high":13826.7,"vol":191812,"low":13589.0,"count":711,"id":1603818000,"close":13688.1,"tradeTurnover":2628428.3788,"open":13640.0},{"amount":65.434,"high":13745.0,"vol":65434,"low":13528.2,"count":410,"id":1603821600,"close":13630.1,"tradeTurnover":891541.8394,"open":13685.0},{"amount":5.788,"high":13659.8,"vol":5788,"low":13595.4,"count":65,"id":1603825200,"close":13637.1,"tradeTurnover":78836.2578,"open":13629.4},{"amount":163.104,"high":13805.1,"vol":163104,"low":13582.6,"count":537,"id":1603828800,"close":13616.6,"tradeTurnover":2234040.3544,"open":13644.4},{"amount":9.884,"high":13753.5,"vol":9884,"low":13609.8,"count":101,"id":1603832400,"close":13705.5,"tradeTurnover":135406.4752,"open":13609.8},{"amount":7.436,"high":13739.9,"vol":7436,"low":13658.2,"count":100,"id":1603836000,"close":13739.9,"tradeTurnover":101840.3508,"open":13705.4},{"amount":17.086,"high":13794.6,"vol":17086,"low":13582.6,"count":234,"id":1603839600,"close":13649.6,"tradeTurnover":233971.8448,"open":13739.9},{"amount":24.108,"high":13745.2,"vol":24108,"low":13618.8,"count":177,"id":1603843200,"close":13701.7,"tradeTurnover":330206.5694,"open":13645.9},{"amount":15.892,"high":13725.6,"vol":15892,"low":13647.9,"count":151,"id":1603846800,"close":13702.6,"tradeTurnover":217816.7008,"open":13702.1},{"amount":46.548,"high":13832.2,"vol":46548,"low":13680.2,"count":274,"id":1603850400,"close":13811.6,"tradeTurnover":640636.0352,"open":13701.7},{"amount":67.896,"high":13820.3,"vol":67896,"low":13717.5,"count":320,"id":1603854000,"close":13777.0,"tradeTurnover":935838.2238,"open":13818.5},{"amount":33.156,"high":13807.2,"vol":33156,"low":13710.0,"count":210,"id":1603857600,"close":13735.7,"tradeTurnover":455941.234,"open":13767.3},{"amount":32.076,"high":13753.9,"vol":32076,"low":13671.3,"count":198,"id":1603861200,"close":13715.8,"tradeTurnover":439612.64,"open":13735.5},{"amount":14.756,"high":13757.0,"vol":14756,"low":13694.9,"count":122,"id":1603864800,"close":13701.3,"tradeTurnover":202602.5164,"open":13715.9},{"amount":155.534,"high":13708.7,"vol":155534,"low":13550.0,"count":635,"id":1603868400,"close":13674.2,"tradeTurnover":2117935.0928,"open":13701.2},{"amount":29.846,"high":13691.7,"vol":29846,"low":13584.0,"count":240,"id":1603872000,"close":13691.7,"tradeTurnover":407073.1398,"open":13673.0},{"amount":104.542,"high":13707.5,"vol":104542,"low":13573.5,"count":377,"id":1603875600,"close":13587.1,"tradeTurnover":1425079.9344,"open":13689.3},{"amount":73.818,"high":13618.0,"vol":73818,"low":13504.7,"count":358,"id":1603879200,"close":13552.7,"tradeTurnover":1001666.0908,"open":13584.6},{"amount":176.544,"high":13565.4,"vol":176544,"low":13330.0,"count":1004,"id":1603882800,"close":13336.4,"tradeTurnover":2369166.1492,"open":13552.6},{"amount":289.73,"high":13385.0,"vol":289730,"low":13173.9,"count":968,"id":1603886400,"close":13300.3,"tradeTurnover":3846751.7166,"open":13331.5},{"amount":139.822,"high":13340.0,"vol":139822,"low":13122.9,"count":612,"id":1603890000,"close":13129.9,"tradeTurnover":1848876.932,"open":13300.2},{"amount":367.876,"high":13168.2,"vol":367876,"low":12915.9,"count":1168,"id":1603893600,"close":13082.2,"tradeTurnover":4802516.9818,"open":13123.4},{"amount":84.044,"high":13235.2,"vol":84044,"low":13052.3,"count":375,"id":1603897200,"close":13221.2,"tradeTurnover":1106883.1282,"open":13077.1},{"amount":29.566,"high":13218.7,"vol":29566,"low":13050.0,"count":244,"id":1603900800,"close":13145.1,"tradeTurnover":388697.4104,"open":13218.7},{"amount":53.336,"high":13204.9,"vol":53336,"low":13006.6,"count":299,"id":1603904400,"close":13176.7,"tradeTurnover":700385.2784,"open":13145.1},{"amount":34.164,"high":13219.6,"vol":34164,"low":13131.0,"count":218,"id":1603908000,"close":13196.5,"tradeTurnover":450210.5778,"open":13171.0},{"amount":22.158,"high":13237.4,"vol":22158,"low":13145.0,"count":185,"id":1603911600,"close":13154.9,"tradeTurnover":292020.0438,"open":13200.0},{"amount":4.548,"high":13211.8,"vol":4548,"low":13147.4,"count":75,"id":1603915200,"close":13198.1,"tradeTurnover":59991.1118,"open":13154.5},{"amount":3.52,"high":13196.5,"vol":3520,"low":13100.2,"count":68,"id":1603918800,"close":13190.1,"tradeTurnover":46175.428,"open":13193.5},{"amount":3.122,"high":13267.5,"vol":3122,"low":13185.4,"count":72,"id":1603922400,"close":13252.0,"tradeTurnover":41304.2018,"open":13185.4},{"amount":14.768,"high":13282.3,"vol":14768,"low":13235.9,"count":86,"id":1603926000,"close":13265.9,"tradeTurnover":195689.0764,"open":13242.1},{"amount":19.968,"high":13294.7,"vol":19968,"low":13237.4,"count":98,"id":1603929600,"close":13245.1,"tradeTurnover":264834.1944,"open":13253.9},{"amount":35.282,"high":13285.3,"vol":35282,"low":13166.3,"count":192,"id":1603933200,"close":13274.2,"tradeTurnover":465789.6302,"open":13244.6},{"amount":9.748,"high":13277.7,"vol":9748,"low":13212.2,"count":119,"id":1603936800,"close":13241.1,"tradeTurnover":129016.0684,"open":13275.9},{"amount":27.3,"high":13262.5,"vol":27300,"low":13174.6,"count":199,"id":1603940400,"close":13262.5,"tradeTurnover":360589.8982,"open":13237.1},{"amount":18.904,"high":13277.7,"vol":18904,"low":13229.5,"count":109,"id":1603944000,"close":13229.5,"tradeTurnover":250713.2812,"open":13269.1},{"amount":15.822,"high":13274.8,"vol":15822,"low":13228.5,"count":134,"id":1603947600,"close":13274.8,"tradeTurnover":209781.909,"open":13228.5},{"amount":91.246,"high":13323.0,"vol":91246,"low":13242.3,"count":294,"id":1603951200,"close":13255.0,"tradeTurnover":1211271.2788,"open":13274.8},{"amount":187.622,"high":13269.3,"vol":187622,"low":13123.1,"count":506,"id":1603954800,"close":13142.4,"tradeTurnover":2478299.7074,"open":13255.0},{"amount":69.532,"high":13182.4,"vol":69532,"low":13094.1,"count":226,"id":1603958400,"close":13124.8,"tradeTurnover":914157.2418,"open":13145.9},{"amount":23.184,"high":13197.1,"vol":23184,"low":13129.5,"count":141,"id":1603962000,"close":13183.7,"tradeTurnover":305485.9524,"open":13129.5},{"amount":121.146,"high":13187.5,"vol":121146,"low":13053.1,"count":442,"id":1603965600,"close":13105.2,"tradeTurnover":1590026.4416,"open":13184.8},{"amount":47.498,"high":13171.4,"vol":47498,"low":13060.1,"count":262,"id":1603969200,"close":13060.1,"tradeTurnover":623578.149,"open":13105.1},{"amount":126.552,"high":13145.8,"vol":126552,"low":12977.9,"count":481,"id":1603972800,"close":13131.8,"tradeTurnover":1652549.311,"open":13056.9},{"amount":100.482,"high":13237.2,"vol":100482,"low":13102.0,"count":325,"id":1603976400,"close":13230.0,"tradeTurnover":1326403.7206,"open":13131.7},{"amount":253.258,"high":13476.1,"vol":253258,"low":13231.0,"count":752,"id":1603980000,"close":13420.8,"tradeTurnover":3384941.438,"open":13231.0},{"amount":64.71,"high":13458.7,"vol":64710,"low":13358.7,"count":269,"id":1603983600,"close":13420.6,"tradeTurnover":869052.3804,"open":13416.0},{"amount":120.24,"high":13594.5,"vol":120240,"low":13391.8,"count":570,"id":1603987200,"close":13535.9,"tradeTurnover":1626567.8278,"open":13421.9}],"id":"","rep":"market.BTC-USDT.kline.60min","status":"ok"} +2024-01-18 11:13:06.921 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:39] - 请求 KLine 数据用户收到的原始数据:{"id":"","rep":"market.BTC-USDT.kline.60min","ts":1705547585831,"wsid":19750305,"status":"ok","data":[{"id":1603270800,"open":12198.0,"close":12196.7,"high":12300.0,"low":11715.8,"amount":0.276,"vol":276,"trade_turnover":3315.9104,"count":39},{"id":1603274400,"open":12196.7,"close":12277.9,"high":12289.9,"low":12111.0,"amount":0.198,"vol":198,"trade_turnover":2420.7728,"count":21},{"id":1603278000,"open":12111.0,"close":12000.0,"high":12277.9,"low":12000.0,"amount":0.012,"vol":12,"trade_turnover":145.2238,"count":5},{"id":1603281600,"open":12078.0,"close":12497.4,"high":12498.0,"low":12078.0,"amount":0.084,"vol":84,"trade_turnover":1040.0504,"count":12},{"id":1603285200,"open":12495.6,"close":12373.5,"high":12495.6,"low":12282.9,"amount":1.122,"vol":1122,"trade_turnover":13905.3124,"count":112},{"id":1603288800,"open":12412.9,"close":12689.9,"high":12807.6,"low":12358.1,"amount":5.29,"vol":5290,"trade_turnover":66852.128,"count":155},{"id":1603292400,"open":12692.8,"close":12701.9,"high":12778.7,"low":12573.2,"amount":1.174,"vol":1174,"trade_turnover":14907.367,"count":113},{"id":1603296000,"open":12679.7,"close":12835.9,"high":12920.9,"low":12624.8,"amount":1.156,"vol":1156,"trade_turnover":14802.449,"count":115},{"id":1603299600,"open":12848.3,"close":12754.2,"high":12908.3,"low":12687.5,"amount":1.12,"vol":1120,"trade_turnover":14345.7324,"count":115},{"id":1603303200,"open":12743.7,"close":12740.2,"high":12849.0,"low":12668.3,"amount":1.106,"vol":1106,"trade_turnover":14105.3504,"count":114},{"id":1603306800,"open":12729.5,"close":12650.3,"high":12843.1,"low":12597.2,"amount":1.032,"vol":1032,"trade_turnover":13125.4568,"count":112},{"id":1603310400,"open":12666.8,"close":12807.0,"high":12848.4,"low":12610.2,"amount":1.154,"vol":1154,"trade_turnover":14680.638,"count":116},{"id":1603314000,"open":12866.0,"close":12938.9,"high":13005.1,"low":12748.2,"amount":1.164,"vol":1164,"trade_turnover":14976.9366,"count":114},{"id":1603317600,"open":12921.0,"close":13122.0,"high":13211.2,"low":12865.7,"amount":1.174,"vol":1174,"trade_turnover":15285.2446,"count":114},{"id":1603321200,"open":13153.2,"close":12829.8,"high":13173.2,"low":12688.6,"amount":1.172,"vol":1172,"trade_turnover":15060.9938,"count":117},{"id":1603324800,"open":12793.1,"close":12885.9,"high":12988.1,"low":12764.4,"amount":1.17,"vol":1170,"trade_turnover":15046.2046,"count":117},{"id":1603328400,"open":12860.4,"close":12757.5,"high":12972.6,"low":12757.5,"amount":1.158,"vol":1158,"trade_turnover":14882.4656,"count":118},{"id":1603332000,"open":12824.1,"close":12788.8,"high":12848.0,"low":12729.0,"amount":1.124,"vol":1124,"trade_turnover":14368.7948,"count":115},{"id":1603335600,"open":12791.7,"close":12767.2,"high":12834.4,"low":12729.0,"amount":1.194,"vol":1194,"trade_turnover":15268.9298,"count":111},{"id":1603339200,"open":12729.0,"close":12762.2,"high":12778.3,"low":12729.0,"amount":1.152,"vol":1152,"trade_turnover":14695.4876,"count":115},{"id":1603342800,"open":12763.1,"close":12813.8,"high":12842.0,"low":12730.6,"amount":1.21,"vol":1210,"trade_turnover":15440.8162,"count":119},{"id":1603346400,"open":12795.0,"close":12729.1,"high":12795.0,"low":12728.0,"amount":1.188,"vol":1188,"trade_turnover":15128.0098,"count":123},{"id":1603350000,"open":12728.6,"close":12730.6,"high":12730.6,"low":12728.3,"amount":1.266,"vol":1266,"trade_turnover":16115.1306,"count":112},{"id":1603353600,"open":12730.3,"close":12770.1,"high":12921.5,"low":12729.9,"amount":1.35,"vol":1350,"trade_turnover":17233.7326,"count":127},{"id":1603357200,"open":12824.9,"close":12780.4,"high":12872.1,"low":12760.1,"amount":0.98,"vol":980,"trade_turnover":12553.9826,"count":99},{"id":1603360800,"open":12784.9,"close":12934.2,"high":13002.7,"low":12775.6,"amount":0.266,"vol":266,"trade_turnover":3415.023,"count":30},{"id":1603364400,"open":12977.0,"close":13045.0,"high":13057.0,"low":12886.6,"amount":1.004,"vol":1004,"trade_turnover":13020.8576,"count":117},{"id":1603368000,"open":12958.5,"close":12847.9,"high":12973.4,"low":12751.6,"amount":1.134,"vol":1134,"trade_turnover":14594.2752,"count":111},{"id":1603371600,"open":12882.7,"close":12931.0,"high":13000.8,"low":12743.0,"amount":1.152,"vol":1152,"trade_turnover":14877.7314,"count":114},{"id":1603375200,"open":12890.4,"close":12917.8,"high":12995.3,"low":12783.9,"amount":1.182,"vol":1182,"trade_turnover":15224.4716,"count":115},{"id":1603378800,"open":12918.8,"close":12953.0,"high":13031.2,"low":12817.9,"amount":1.176,"vol":1176,"trade_turnover":15197.208,"count":117},{"id":1603382400,"open":12923.1,"close":13055.6,"high":13100.2,"low":12865.6,"amount":1.146,"vol":1146,"trade_turnover":14851.9604,"count":119},{"id":1603386000,"open":12967.6,"close":13082.7,"high":13105.7,"low":12835.5,"amount":1.534,"vol":1534,"trade_turnover":19927.8288,"count":124},{"id":1603389600,"open":13020.4,"close":13016.4,"high":13115.0,"low":12938.7,"amount":1.268,"vol":1268,"trade_turnover":16505.4738,"count":117},{"id":1603393200,"open":13028.3,"close":12970.6,"high":13171.2,"low":12961.8,"amount":1.13,"vol":1130,"trade_turnover":14762.952,"count":112},{"id":1603396800,"open":13016.7,"close":13089.3,"high":13216.1,"low":12998.5,"amount":1.206,"vol":1206,"trade_turnover":15807.1226,"count":117},{"id":1603400400,"open":13136.0,"close":13092.0,"high":13203.7,"low":12932.9,"amount":1.332,"vol":1332,"trade_turnover":17423.4422,"count":114},{"id":1603404000,"open":13119.4,"close":13055.9,"high":13250.5,"low":12984.7,"amount":1.21,"vol":1210,"trade_turnover":15876.0632,"count":114},{"id":1603407600,"open":13059.4,"close":12890.4,"high":13126.5,"low":12857.2,"amount":1.286,"vol":1286,"trade_turnover":16688.422,"count":116},{"id":1603411200,"open":12929.7,"close":12892.2,"high":12994.0,"low":12751.6,"amount":1.502,"vol":1502,"trade_turnover":19331.1596,"count":131},{"id":1603414800,"open":12921.7,"close":12898.3,"high":13003.2,"low":12786.0,"amount":1.386,"vol":1386,"trade_turnover":17904.8902,"count":121},{"id":1603418400,"open":12951.6,"close":12975.1,"high":13054.0,"low":12800.7,"amount":1.416,"vol":1416,"trade_turnover":18306.6204,"count":122},{"id":1603422000,"open":12967.3,"close":12947.0,"high":13030.7,"low":12875.0,"amount":1.19,"vol":1190,"trade_turnover":15409.7984,"count":118},{"id":1603425600,"open":12925.2,"close":12852.0,"high":13047.3,"low":12832.8,"amount":1.022,"vol":1022,"trade_turnover":13214.4388,"count":127},{"id":1603429200,"open":12859.0,"close":12931.1,"high":12991.7,"low":12841.2,"amount":0.478,"vol":478,"trade_turnover":6180.2486,"count":118},{"id":1603432800,"open":12935.9,"close":12939.6,"high":13014.1,"low":12871.9,"amount":0.522,"vol":522,"trade_turnover":6759.0324,"count":132},{"id":1603436400,"open":12923.1,"close":12925.4,"high":12998.9,"low":12917.1,"amount":0.476,"vol":476,"trade_turnover":6163.3118,"count":118},{"id":1603440000,"open":12942.2,"close":12962.6,"high":13014.0,"low":12916.1,"amount":0.508,"vol":508,"trade_turnover":6585.3656,"count":122},{"id":1603443600,"open":12970.5,"close":12926.4,"high":13012.5,"low":12909.9,"amount":0.564,"vol":564,"trade_turnover":7308.8828,"count":124},{"id":1603447200,"open":13001.2,"close":13007.7,"high":13059.5,"low":12925.7,"amount":0.536,"vol":536,"trade_turnover":6957.8796,"count":124},{"id":1603450800,"open":13025.4,"close":12970.6,"high":13078.4,"low":12906.5,"amount":0.486,"vol":486,"trade_turnover":6326.1434,"count":122},{"id":1603454400,"open":12963.9,"close":12935.4,"high":13025.0,"low":12850.8,"amount":0.494,"vol":494,"trade_turnover":6396.0984,"count":117},{"id":1603458000,"open":12913.3,"close":12951.7,"high":13043.3,"low":12911.0,"amount":0.466,"vol":466,"trade_turnover":6049.1412,"count":117},{"id":1603461600,"open":12999.6,"close":12858.8,"high":13006.4,"low":12840.4,"amount":0.46,"vol":460,"trade_turnover":5941.815,"count":116},{"id":1603465200,"open":12885.7,"close":12881.9,"high":12932.9,"low":12826.5,"amount":0.492,"vol":492,"trade_turnover":6340.214,"count":117},{"id":1603468800,"open":12854.4,"close":12784.1,"high":12933.5,"low":12744.4,"amount":0.484,"vol":484,"trade_turnover":6205.4138,"count":123},{"id":1603472400,"open":12832.3,"close":12847.7,"high":12893.1,"low":12730.1,"amount":0.562,"vol":562,"trade_turnover":7218.9184,"count":152},{"id":1603476000,"open":12874.1,"close":12915.7,"high":12939.3,"low":12751.4,"amount":0.53,"vol":530,"trade_turnover":6825.7004,"count":128},{"id":1603479600,"open":12867.9,"close":12972.9,"high":12972.9,"low":12786.6,"amount":0.444,"vol":444,"trade_turnover":5727.7452,"count":117},{"id":1603483200,"open":12956.7,"close":12991.6,"high":13002.2,"low":12842.9,"amount":0.492,"vol":492,"trade_turnover":6375.1566,"count":116},{"id":1603486800,"open":13004.3,"close":12943.5,"high":13004.3,"low":12936.6,"amount":0.5,"vol":500,"trade_turnover":6485.468,"count":125},{"id":1603490400,"open":12923.6,"close":12989.2,"high":13010.3,"low":12884.7,"amount":0.492,"vol":492,"trade_turnover":6376.1492,"count":120},{"id":1603494000,"open":12974.9,"close":12884.6,"high":13024.4,"low":12884.6,"amount":0.51,"vol":510,"trade_turnover":6622.3406,"count":121},{"id":1603497600,"open":12973.7,"close":12953.9,"high":13018.3,"low":12811.1,"amount":0.488,"vol":488,"trade_turnover":6317.7938,"count":120},{"id":1603501200,"open":12927.5,"close":12934.2,"high":13018.1,"low":12872.8,"amount":0.482,"vol":482,"trade_turnover":6242.4178,"count":117},{"id":1603504800,"open":12971.9,"close":12989.1,"high":13003.9,"low":12903.3,"amount":0.484,"vol":484,"trade_turnover":6278.1756,"count":117},{"id":1603508400,"open":13000.1,"close":12975.9,"high":13013.4,"low":12938.3,"amount":0.474,"vol":474,"trade_turnover":6157.7096,"count":122},{"id":1603512000,"open":12989.7,"close":12963.3,"high":13009.4,"low":12905.5,"amount":0.526,"vol":526,"trade_turnover":6831.5658,"count":124},{"id":1603515600,"open":12910.5,"close":12989.7,"high":13041.8,"low":12875.3,"amount":0.522,"vol":522,"trade_turnover":6768.8994,"count":127},{"id":1603519200,"open":12994.7,"close":13003.6,"high":13058.1,"low":12908.8,"amount":0.49,"vol":490,"trade_turnover":6370.5714,"count":120},{"id":1603522800,"open":13011.9,"close":13004.2,"high":13037.8,"low":12981.7,"amount":0.478,"vol":478,"trade_turnover":6218.9722,"count":120},{"id":1603526400,"open":13003.0,"close":12998.2,"high":13030.6,"low":12899.4,"amount":0.52,"vol":520,"trade_turnover":6754.958,"count":124},{"id":1603530000,"open":12998.2,"close":12990.6,"high":13020.3,"low":12893.6,"amount":0.454,"vol":454,"trade_turnover":5891.0574,"count":115},{"id":1603533600,"open":12996.4,"close":13030.1,"high":13059.1,"low":12913.2,"amount":0.502,"vol":502,"trade_turnover":6525.9004,"count":124},{"id":1603537200,"open":12988.4,"close":13033.2,"high":13068.3,"low":12940.2,"amount":0.468,"vol":468,"trade_turnover":6091.0376,"count":119},{"id":1603540800,"open":13035.3,"close":13006.5,"high":13071.8,"low":12978.9,"amount":0.468,"vol":468,"trade_turnover":6102.5902,"count":123},{"id":1603544400,"open":13038.8,"close":12985.9,"high":13066.7,"low":12928.1,"amount":0.534,"vol":534,"trade_turnover":6950.4268,"count":123},{"id":1603548000,"open":12986.3,"close":13042.0,"high":13100.1,"low":12960.5,"amount":0.47,"vol":470,"trade_turnover":6124.2178,"count":100},{"id":1603551600,"open":13038.4,"close":13102.2,"high":13196.5,"low":13038.4,"amount":0.456,"vol":456,"trade_turnover":5989.6362,"count":120},{"id":1603555200,"open":13136.8,"close":13052.7,"high":13176.6,"low":12984.6,"amount":0.458,"vol":458,"trade_turnover":5976.331,"count":121},{"id":1603558800,"open":13006.2,"close":13177.8,"high":13177.8,"low":13003.2,"amount":0.452,"vol":452,"trade_turnover":5911.7058,"count":118},{"id":1603562400,"open":13127.7,"close":13080.8,"high":13170.7,"low":13023.0,"amount":0.468,"vol":468,"trade_turnover":6122.375,"count":119},{"id":1603566000,"open":13040.7,"close":13148.4,"high":13179.3,"low":13014.2,"amount":0.468,"vol":468,"trade_turnover":6126.4278,"count":120},{"id":1603569600,"open":13073.5,"close":13090.1,"high":13179.6,"low":12992.5,"amount":0.47,"vol":470,"trade_turnover":6151.4758,"count":119},{"id":1603573200,"open":13035.4,"close":12993.9,"high":13148.7,"low":12980.7,"amount":0.458,"vol":458,"trade_turnover":5981.071,"count":117},{"id":1603576800,"open":13040.7,"close":13041.1,"high":13112.1,"low":12975.6,"amount":0.478,"vol":478,"trade_turnover":6225.4216,"count":118},{"id":1603580400,"open":13012.6,"close":13184.3,"high":13184.3,"low":13009.3,"amount":0.472,"vol":472,"trade_turnover":6173.4244,"count":118},{"id":1603584000,"open":13080.8,"close":13154.3,"high":13170.4,"low":13007.7,"amount":0.46,"vol":460,"trade_turnover":6024.09,"count":115},{"id":1603587600,"open":13092.0,"close":13196.1,"high":13196.8,"low":13024.0,"amount":0.398,"vol":398,"trade_turnover":5217.5364,"count":102},{"id":1603591200,"open":13124.7,"close":13082.4,"high":13175.1,"low":13035.0,"amount":0.476,"vol":476,"trade_turnover":6228.6596,"count":120},{"id":1603594800,"open":13049.1,"close":13259.0,"high":13383.8,"low":13049.1,"amount":0.578,"vol":578,"trade_turnover":7629.3886,"count":137},{"id":1603598400,"open":13277.0,"close":13243.4,"high":13369.0,"low":13216.0,"amount":0.47,"vol":470,"trade_turnover":6247.955,"count":122},{"id":1603602000,"open":13285.3,"close":13017.3,"high":13353.3,"low":13010.1,"amount":0.61,"vol":610,"trade_turnover":8048.8598,"count":134},{"id":1603605600,"open":13022.5,"close":13060.3,"high":13105.7,"low":13018.2,"amount":0.486,"vol":486,"trade_turnover":6344.1474,"count":118},{"id":1603609200,"open":13048.5,"close":13078.1,"high":13112.1,"low":13022.0,"amount":0.464,"vol":464,"trade_turnover":6061.5416,"count":120},{"id":1603612800,"open":13077.2,"close":13046.0,"high":13091.0,"low":13017.2,"amount":0.464,"vol":464,"trade_turnover":6055.3734,"count":120},{"id":1603616400,"open":13065.1,"close":13040.8,"high":13084.0,"low":13014.2,"amount":0.478,"vol":478,"trade_turnover":6235.7882,"count":117},{"id":1603620000,"open":13047.1,"close":13028.5,"high":13064.2,"low":13010.2,"amount":0.478,"vol":478,"trade_turnover":6232.2428,"count":125},{"id":1603623600,"open":13061.5,"close":12897.6,"high":13061.5,"low":12852.9,"amount":0.534,"vol":534,"trade_turnover":6918.1226,"count":123},{"id":1603627200,"open":12908.3,"close":12964.3,"high":13069.7,"low":12893.2,"amount":0.444,"vol":444,"trade_turnover":5755.8712,"count":117},{"id":1603630800,"open":13001.3,"close":12949.3,"high":13071.9,"low":12891.8,"amount":0.498,"vol":498,"trade_turnover":6465.078,"count":119},{"id":1603634400,"open":12975.8,"close":12946.8,"high":13077.7,"low":12900.0,"amount":0.468,"vol":468,"trade_turnover":6075.4554,"count":116},{"id":1603638000,"open":12975.2,"close":12883.3,"high":13069.1,"low":12883.3,"amount":0.47,"vol":470,"trade_turnover":6097.1072,"count":119},{"id":1603641600,"open":12916.2,"close":12978.7,"high":13067.9,"low":12877.5,"amount":0.482,"vol":482,"trade_turnover":6256.4472,"count":118},{"id":1603645200,"open":13008.0,"close":13004.4,"high":13087.5,"low":12922.7,"amount":0.47,"vol":470,"trade_turnover":6108.3892,"count":117},{"id":1603648800,"open":12972.8,"close":12957.2,"high":13067.6,"low":12893.6,"amount":0.468,"vol":468,"trade_turnover":6079.1484,"count":118},{"id":1603652400,"open":12996.5,"close":13021.8,"high":13066.9,"low":12916.6,"amount":0.442,"vol":442,"trade_turnover":5746.5548,"count":118},{"id":1603656000,"open":12992.9,"close":12985.4,"high":13081.5,"low":12944.9,"amount":0.508,"vol":508,"trade_turnover":6616.9872,"count":120},{"id":1603659600,"open":12999.9,"close":13011.2,"high":13068.6,"low":12921.4,"amount":0.508,"vol":508,"trade_turnover":6614.816,"count":122},{"id":1603663200,"open":12979.6,"close":12959.4,"high":13073.8,"low":12911.9,"amount":0.486,"vol":486,"trade_turnover":6320.907,"count":121},{"id":1603666800,"open":12963.4,"close":13032.1,"high":13085.2,"low":12927.8,"amount":0.452,"vol":452,"trade_turnover":5878.6442,"count":113},{"id":1603670400,"open":12964.2,"close":13001.0,"high":13076.7,"low":12918.3,"amount":0.482,"vol":482,"trade_turnover":6263.698,"count":121},{"id":1603674000,"open":13040.0,"close":13053.7,"high":13096.4,"low":12991.2,"amount":0.478,"vol":478,"trade_turnover":6232.2328,"count":124},{"id":1603677600,"open":13060.6,"close":13064.4,"high":13185.7,"low":12985.1,"amount":0.488,"vol":488,"trade_turnover":6387.534,"count":121},{"id":1603681200,"open":13032.3,"close":13092.8,"high":13187.2,"low":12984.1,"amount":0.486,"vol":486,"trade_turnover":6369.0272,"count":135},{"id":1603684800,"open":13092.0,"close":13132.6,"high":13181.6,"low":12962.3,"amount":0.51,"vol":510,"trade_turnover":6679.829,"count":131},{"id":1603688400,"open":13129.2,"close":13092.1,"high":13205.3,"low":13025.3,"amount":0.506,"vol":506,"trade_turnover":6641.2128,"count":126},{"id":1603692000,"open":13121.8,"close":13071.4,"high":13188.1,"low":12989.8,"amount":1.616,"vol":1616,"trade_turnover":21170.8224,"count":141},{"id":1603695600,"open":13061.0,"close":13038.7,"high":13100.0,"low":12965.2,"amount":3.746,"vol":3746,"trade_turnover":48924.8902,"count":110},{"id":1603699200,"open":13030.9,"close":13039.3,"high":13102.0,"low":12852.8,"amount":8.966,"vol":8966,"trade_turnover":116525.5534,"count":173},{"id":1603702800,"open":13047.1,"close":13075.9,"high":13088.4,"low":13039.8,"amount":4.48,"vol":4480,"trade_turnover":58521.1714,"count":124},{"id":1603706400,"open":13072.1,"close":13100.0,"high":13100.0,"low":13060.2,"amount":4.272,"vol":4272,"trade_turnover":55895.9778,"count":130},{"id":1603710000,"open":13100.0,"close":13138.4,"high":13159.0,"low":13100.0,"amount":29.798,"vol":29798,"trade_turnover":391138.024,"count":230},{"id":1603713600,"open":13138.8,"close":13149.8,"high":13200.0,"low":13100.0,"amount":5.154,"vol":5154,"trade_turnover":67694.652,"count":188},{"id":1603717200,"open":13150.0,"close":13205.8,"high":13351.5,"low":13133.1,"amount":35.608,"vol":35608,"trade_turnover":472780.3394,"count":328},{"id":1603720800,"open":13203.0,"close":13166.1,"high":13280.0,"low":13144.1,"amount":31.748,"vol":31748,"trade_turnover":418744.5588,"count":235},{"id":1603724400,"open":13159.0,"close":12978.0,"high":13165.2,"low":12903.8,"amount":36.53,"vol":36530,"trade_turnover":476940.3296,"count":384},{"id":1603728000,"open":12965.0,"close":12869.6,"high":13069.8,"low":12850.5,"amount":35.018,"vol":35018,"trade_turnover":453288.918,"count":323},{"id":1603731600,"open":12879.2,"close":12873.8,"high":12941.5,"low":12583.9,"amount":92.628,"vol":92628,"trade_turnover":1185973.467,"count":560},{"id":1603735200,"open":12856.2,"close":12946.8,"high":12954.5,"low":12820.4,"amount":4.302,"vol":4302,"trade_turnover":55481.0054,"count":128},{"id":1603738800,"open":12945.6,"close":12953.4,"high":12953.5,"low":12914.1,"amount":13.83,"vol":13830,"trade_turnover":179112.1598,"count":118},{"id":1603742400,"open":12953.5,"close":12983.4,"high":13007.5,"low":12953.5,"amount":17.172,"vol":17172,"trade_turnover":223230.2122,"count":132},{"id":1603746000,"open":12983.1,"close":12993.8,"high":13007.5,"low":12982.7,"amount":3.212,"vol":3212,"trade_turnover":41767.8906,"count":59},{"id":1603749600,"open":13002.1,"close":13007.5,"high":13007.5,"low":12974.0,"amount":1.504,"vol":1504,"trade_turnover":19543.3568,"count":74},{"id":1603753200,"open":13007.5,"close":13033.7,"high":13061.2,"low":13007.5,"amount":3.454,"vol":3454,"trade_turnover":45001.601,"count":101},{"id":1603756800,"open":13029.2,"close":13067.1,"high":13105.0,"low":13028.3,"amount":8.784,"vol":8784,"trade_turnover":114871.8246,"count":98},{"id":1603760400,"open":13074.3,"close":13061.7,"high":13074.4,"low":13051.5,"amount":11.592,"vol":11592,"trade_turnover":151386.9038,"count":66},{"id":1603764000,"open":13061.7,"close":13049.7,"high":13097.6,"low":13040.1,"amount":19.298,"vol":19298,"trade_turnover":252061.019,"count":109},{"id":1603767600,"open":13057.6,"close":13070.4,"high":13080.0,"low":13057.1,"amount":22.992,"vol":22992,"trade_turnover":300453.9788,"count":69},{"id":1603771200,"open":13080.0,"close":13103.3,"high":13175.0,"low":13079.6,"amount":14.396,"vol":14396,"trade_turnover":188461.9156,"count":59},{"id":1603774800,"open":13121.3,"close":13073.6,"high":13121.3,"low":13069.7,"amount":5.058,"vol":5058,"trade_turnover":66201.3552,"count":44},{"id":1603778400,"open":13074.9,"close":13103.4,"high":13149.0,"low":13069.6,"amount":9.106,"vol":9106,"trade_turnover":119104.8906,"count":107},{"id":1603782000,"open":13103.3,"close":13130.0,"high":13169.8,"low":12992.4,"amount":73.95,"vol":73950,"trade_turnover":968195.155,"count":305},{"id":1603785600,"open":13135.1,"close":13123.8,"high":13148.4,"low":13044.0,"amount":18.732,"vol":18732,"trade_turnover":245533.5448,"count":135},{"id":1603789200,"open":13115.5,"close":13131.7,"high":13131.8,"low":13075.7,"amount":13.756,"vol":13756,"trade_turnover":180253.7708,"count":102},{"id":1603792800,"open":13134.8,"close":13216.9,"high":13252.0,"low":13063.4,"amount":154.108,"vol":154108,"trade_turnover":2029983.656,"count":525},{"id":1603796400,"open":13218.8,"close":13395.8,"high":13590.1,"low":13213.5,"amount":170.09,"vol":170090,"trade_turnover":2276279.742,"count":591},{"id":1603800000,"open":13395.9,"close":13376.9,"high":13414.0,"low":13331.7,"amount":48.928,"vol":48928,"trade_turnover":654585.9108,"count":216},{"id":1603803600,"open":13376.5,"close":13384.3,"high":13490.9,"low":13329.8,"amount":63.294,"vol":63294,"trade_turnover":848130.9212,"count":316},{"id":1603807200,"open":13392.6,"close":13398.2,"high":13415.8,"low":13344.8,"amount":12.892,"vol":12892,"trade_turnover":172618.6864,"count":124},{"id":1603810800,"open":13398.2,"close":13598.5,"high":13626.7,"low":13398.2,"amount":93.22,"vol":93220,"trade_turnover":1262695.5466,"count":476},{"id":1603814400,"open":13595.8,"close":13639.9,"high":13639.9,"low":13520.2,"amount":85.45,"vol":85450,"trade_turnover":1161481.4136,"count":435},{"id":1603818000,"open":13640.0,"close":13688.1,"high":13826.7,"low":13589.0,"amount":191.812,"vol":191812,"trade_turnover":2628428.3788,"count":711},{"id":1603821600,"open":13685.0,"close":13630.1,"high":13745.0,"low":13528.2,"amount":65.434,"vol":65434,"trade_turnover":891541.8394,"count":410},{"id":1603825200,"open":13629.4,"close":13637.1,"high":13659.8,"low":13595.4,"amount":5.788,"vol":5788,"trade_turnover":78836.2578,"count":65},{"id":1603828800,"open":13644.4,"close":13616.6,"high":13805.1,"low":13582.6,"amount":163.104,"vol":163104,"trade_turnover":2234040.3544,"count":537},{"id":1603832400,"open":13609.8,"close":13705.5,"high":13753.5,"low":13609.8,"amount":9.884,"vol":9884,"trade_turnover":135406.4752,"count":101},{"id":1603836000,"open":13705.4,"close":13739.9,"high":13739.9,"low":13658.2,"amount":7.436,"vol":7436,"trade_turnover":101840.3508,"count":100},{"id":1603839600,"open":13739.9,"close":13649.6,"high":13794.6,"low":13582.6,"amount":17.086,"vol":17086,"trade_turnover":233971.8448,"count":234},{"id":1603843200,"open":13645.9,"close":13701.7,"high":13745.2,"low":13618.8,"amount":24.108,"vol":24108,"trade_turnover":330206.5694,"count":177},{"id":1603846800,"open":13702.1,"close":13702.6,"high":13725.6,"low":13647.9,"amount":15.892,"vol":15892,"trade_turnover":217816.7008,"count":151},{"id":1603850400,"open":13701.7,"close":13811.6,"high":13832.2,"low":13680.2,"amount":46.548,"vol":46548,"trade_turnover":640636.0352,"count":274},{"id":1603854000,"open":13818.5,"close":13777.0,"high":13820.3,"low":13717.5,"amount":67.896,"vol":67896,"trade_turnover":935838.2238,"count":320},{"id":1603857600,"open":13767.3,"close":13735.7,"high":13807.2,"low":13710.0,"amount":33.156,"vol":33156,"trade_turnover":455941.234,"count":210},{"id":1603861200,"open":13735.5,"close":13715.8,"high":13753.9,"low":13671.3,"amount":32.076,"vol":32076,"trade_turnover":439612.64,"count":198},{"id":1603864800,"open":13715.9,"close":13701.3,"high":13757.0,"low":13694.9,"amount":14.756,"vol":14756,"trade_turnover":202602.5164,"count":122},{"id":1603868400,"open":13701.2,"close":13674.2,"high":13708.7,"low":13550.0,"amount":155.534,"vol":155534,"trade_turnover":2117935.0928,"count":635},{"id":1603872000,"open":13673.0,"close":13691.7,"high":13691.7,"low":13584.0,"amount":29.846,"vol":29846,"trade_turnover":407073.1398,"count":240},{"id":1603875600,"open":13689.3,"close":13587.1,"high":13707.5,"low":13573.5,"amount":104.542,"vol":104542,"trade_turnover":1425079.9344,"count":377},{"id":1603879200,"open":13584.6,"close":13552.7,"high":13618.0,"low":13504.7,"amount":73.818,"vol":73818,"trade_turnover":1001666.0908,"count":358},{"id":1603882800,"open":13552.6,"close":13336.4,"high":13565.4,"low":13330.0,"amount":176.544,"vol":176544,"trade_turnover":2369166.1492,"count":1004},{"id":1603886400,"open":13331.5,"close":13300.3,"high":13385.0,"low":13173.9,"amount":289.73,"vol":289730,"trade_turnover":3846751.7166,"count":968},{"id":1603890000,"open":13300.2,"close":13129.9,"high":13340.0,"low":13122.9,"amount":139.822,"vol":139822,"trade_turnover":1848876.932,"count":612},{"id":1603893600,"open":13123.4,"close":13082.2,"high":13168.2,"low":12915.9,"amount":367.876,"vol":367876,"trade_turnover":4802516.9818,"count":1168},{"id":1603897200,"open":13077.1,"close":13221.2,"high":13235.2,"low":13052.3,"amount":84.044,"vol":84044,"trade_turnover":1106883.1282,"count":375},{"id":1603900800,"open":13218.7,"close":13145.1,"high":13218.7,"low":13050.0,"amount":29.566,"vol":29566,"trade_turnover":388697.4104,"count":244},{"id":1603904400,"open":13145.1,"close":13176.7,"high":13204.9,"low":13006.6,"amount":53.336,"vol":53336,"trade_turnover":700385.2784,"count":299},{"id":1603908000,"open":13171.0,"close":13196.5,"high":13219.6,"low":13131.0,"amount":34.164,"vol":34164,"trade_turnover":450210.5778,"count":218},{"id":1603911600,"open":13200.0,"close":13154.9,"high":13237.4,"low":13145.0,"amount":22.158,"vol":22158,"trade_turnover":292020.0438,"count":185},{"id":1603915200,"open":13154.5,"close":13198.1,"high":13211.8,"low":13147.4,"amount":4.548,"vol":4548,"trade_turnover":59991.1118,"count":75},{"id":1603918800,"open":13193.5,"close":13190.1,"high":13196.5,"low":13100.2,"amount":3.52,"vol":3520,"trade_turnover":46175.428,"count":68},{"id":1603922400,"open":13185.4,"close":13252.0,"high":13267.5,"low":13185.4,"amount":3.122,"vol":3122,"trade_turnover":41304.2018,"count":72},{"id":1603926000,"open":13242.1,"close":13265.9,"high":13282.3,"low":13235.9,"amount":14.768,"vol":14768,"trade_turnover":195689.0764,"count":86},{"id":1603929600,"open":13253.9,"close":13245.1,"high":13294.7,"low":13237.4,"amount":19.968,"vol":19968,"trade_turnover":264834.1944,"count":98},{"id":1603933200,"open":13244.6,"close":13274.2,"high":13285.3,"low":13166.3,"amount":35.282,"vol":35282,"trade_turnover":465789.6302,"count":192},{"id":1603936800,"open":13275.9,"close":13241.1,"high":13277.7,"low":13212.2,"amount":9.748,"vol":9748,"trade_turnover":129016.0684,"count":119},{"id":1603940400,"open":13237.1,"close":13262.5,"high":13262.5,"low":13174.6,"amount":27.3,"vol":27300,"trade_turnover":360589.8982,"count":199},{"id":1603944000,"open":13269.1,"close":13229.5,"high":13277.7,"low":13229.5,"amount":18.904,"vol":18904,"trade_turnover":250713.2812,"count":109},{"id":1603947600,"open":13228.5,"close":13274.8,"high":13274.8,"low":13228.5,"amount":15.822,"vol":15822,"trade_turnover":209781.909,"count":134},{"id":1603951200,"open":13274.8,"close":13255.0,"high":13323.0,"low":13242.3,"amount":91.246,"vol":91246,"trade_turnover":1211271.2788,"count":294},{"id":1603954800,"open":13255.0,"close":13142.4,"high":13269.3,"low":13123.1,"amount":187.622,"vol":187622,"trade_turnover":2478299.7074,"count":506},{"id":1603958400,"open":13145.9,"close":13124.8,"high":13182.4,"low":13094.1,"amount":69.532,"vol":69532,"trade_turnover":914157.2418,"count":226},{"id":1603962000,"open":13129.5,"close":13183.7,"high":13197.1,"low":13129.5,"amount":23.184,"vol":23184,"trade_turnover":305485.9524,"count":141},{"id":1603965600,"open":13184.8,"close":13105.2,"high":13187.5,"low":13053.1,"amount":121.146,"vol":121146,"trade_turnover":1590026.4416,"count":442},{"id":1603969200,"open":13105.1,"close":13060.1,"high":13171.4,"low":13060.1,"amount":47.498,"vol":47498,"trade_turnover":623578.149,"count":262},{"id":1603972800,"open":13056.9,"close":13131.8,"high":13145.8,"low":12977.9,"amount":126.552,"vol":126552,"trade_turnover":1652549.311,"count":481},{"id":1603976400,"open":13131.7,"close":13230.0,"high":13237.2,"low":13102.0,"amount":100.482,"vol":100482,"trade_turnover":1326403.7206,"count":325},{"id":1603980000,"open":13231.0,"close":13420.8,"high":13476.1,"low":13231.0,"amount":253.258,"vol":253258,"trade_turnover":3384941.438,"count":752},{"id":1603983600,"open":13416.0,"close":13420.6,"high":13458.7,"low":13358.7,"amount":64.71,"vol":64710,"trade_turnover":869052.3804,"count":269},{"id":1603987200,"open":13421.9,"close":13535.9,"high":13594.5,"low":13391.8,"amount":120.24,"vol":120240,"trade_turnover":1626567.8278,"count":570}]} +2024-01-18 11:13:06.928 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:41] - 请求 KLine 数据解析之后的数据为:{"wsid":19750305,"data":[{"amount":0.276,"high":12300.0,"vol":276,"low":11715.8,"count":39,"id":1603270800,"close":12196.7,"tradeTurnover":3315.9104,"open":12198.0},{"amount":0.198,"high":12289.9,"vol":198,"low":12111.0,"count":21,"id":1603274400,"close":12277.9,"tradeTurnover":2420.7728,"open":12196.7},{"amount":0.012,"high":12277.9,"vol":12,"low":12000.0,"count":5,"id":1603278000,"close":12000.0,"tradeTurnover":145.2238,"open":12111.0},{"amount":0.084,"high":12498.0,"vol":84,"low":12078.0,"count":12,"id":1603281600,"close":12497.4,"tradeTurnover":1040.0504,"open":12078.0},{"amount":1.122,"high":12495.6,"vol":1122,"low":12282.9,"count":112,"id":1603285200,"close":12373.5,"tradeTurnover":13905.3124,"open":12495.6},{"amount":5.29,"high":12807.6,"vol":5290,"low":12358.1,"count":155,"id":1603288800,"close":12689.9,"tradeTurnover":66852.128,"open":12412.9},{"amount":1.174,"high":12778.7,"vol":1174,"low":12573.2,"count":113,"id":1603292400,"close":12701.9,"tradeTurnover":14907.367,"open":12692.8},{"amount":1.156,"high":12920.9,"vol":1156,"low":12624.8,"count":115,"id":1603296000,"close":12835.9,"tradeTurnover":14802.449,"open":12679.7},{"amount":1.12,"high":12908.3,"vol":1120,"low":12687.5,"count":115,"id":1603299600,"close":12754.2,"tradeTurnover":14345.7324,"open":12848.3},{"amount":1.106,"high":12849.0,"vol":1106,"low":12668.3,"count":114,"id":1603303200,"close":12740.2,"tradeTurnover":14105.3504,"open":12743.7},{"amount":1.032,"high":12843.1,"vol":1032,"low":12597.2,"count":112,"id":1603306800,"close":12650.3,"tradeTurnover":13125.4568,"open":12729.5},{"amount":1.154,"high":12848.4,"vol":1154,"low":12610.2,"count":116,"id":1603310400,"close":12807.0,"tradeTurnover":14680.638,"open":12666.8},{"amount":1.164,"high":13005.1,"vol":1164,"low":12748.2,"count":114,"id":1603314000,"close":12938.9,"tradeTurnover":14976.9366,"open":12866.0},{"amount":1.174,"high":13211.2,"vol":1174,"low":12865.7,"count":114,"id":1603317600,"close":13122.0,"tradeTurnover":15285.2446,"open":12921.0},{"amount":1.172,"high":13173.2,"vol":1172,"low":12688.6,"count":117,"id":1603321200,"close":12829.8,"tradeTurnover":15060.9938,"open":13153.2},{"amount":1.17,"high":12988.1,"vol":1170,"low":12764.4,"count":117,"id":1603324800,"close":12885.9,"tradeTurnover":15046.2046,"open":12793.1},{"amount":1.158,"high":12972.6,"vol":1158,"low":12757.5,"count":118,"id":1603328400,"close":12757.5,"tradeTurnover":14882.4656,"open":12860.4},{"amount":1.124,"high":12848.0,"vol":1124,"low":12729.0,"count":115,"id":1603332000,"close":12788.8,"tradeTurnover":14368.7948,"open":12824.1},{"amount":1.194,"high":12834.4,"vol":1194,"low":12729.0,"count":111,"id":1603335600,"close":12767.2,"tradeTurnover":15268.9298,"open":12791.7},{"amount":1.152,"high":12778.3,"vol":1152,"low":12729.0,"count":115,"id":1603339200,"close":12762.2,"tradeTurnover":14695.4876,"open":12729.0},{"amount":1.21,"high":12842.0,"vol":1210,"low":12730.6,"count":119,"id":1603342800,"close":12813.8,"tradeTurnover":15440.8162,"open":12763.1},{"amount":1.188,"high":12795.0,"vol":1188,"low":12728.0,"count":123,"id":1603346400,"close":12729.1,"tradeTurnover":15128.0098,"open":12795.0},{"amount":1.266,"high":12730.6,"vol":1266,"low":12728.3,"count":112,"id":1603350000,"close":12730.6,"tradeTurnover":16115.1306,"open":12728.6},{"amount":1.35,"high":12921.5,"vol":1350,"low":12729.9,"count":127,"id":1603353600,"close":12770.1,"tradeTurnover":17233.7326,"open":12730.3},{"amount":0.98,"high":12872.1,"vol":980,"low":12760.1,"count":99,"id":1603357200,"close":12780.4,"tradeTurnover":12553.9826,"open":12824.9},{"amount":0.266,"high":13002.7,"vol":266,"low":12775.6,"count":30,"id":1603360800,"close":12934.2,"tradeTurnover":3415.023,"open":12784.9},{"amount":1.004,"high":13057.0,"vol":1004,"low":12886.6,"count":117,"id":1603364400,"close":13045.0,"tradeTurnover":13020.8576,"open":12977.0},{"amount":1.134,"high":12973.4,"vol":1134,"low":12751.6,"count":111,"id":1603368000,"close":12847.9,"tradeTurnover":14594.2752,"open":12958.5},{"amount":1.152,"high":13000.8,"vol":1152,"low":12743.0,"count":114,"id":1603371600,"close":12931.0,"tradeTurnover":14877.7314,"open":12882.7},{"amount":1.182,"high":12995.3,"vol":1182,"low":12783.9,"count":115,"id":1603375200,"close":12917.8,"tradeTurnover":15224.4716,"open":12890.4},{"amount":1.176,"high":13031.2,"vol":1176,"low":12817.9,"count":117,"id":1603378800,"close":12953.0,"tradeTurnover":15197.208,"open":12918.8},{"amount":1.146,"high":13100.2,"vol":1146,"low":12865.6,"count":119,"id":1603382400,"close":13055.6,"tradeTurnover":14851.9604,"open":12923.1},{"amount":1.534,"high":13105.7,"vol":1534,"low":12835.5,"count":124,"id":1603386000,"close":13082.7,"tradeTurnover":19927.8288,"open":12967.6},{"amount":1.268,"high":13115.0,"vol":1268,"low":12938.7,"count":117,"id":1603389600,"close":13016.4,"tradeTurnover":16505.4738,"open":13020.4},{"amount":1.13,"high":13171.2,"vol":1130,"low":12961.8,"count":112,"id":1603393200,"close":12970.6,"tradeTurnover":14762.952,"open":13028.3},{"amount":1.206,"high":13216.1,"vol":1206,"low":12998.5,"count":117,"id":1603396800,"close":13089.3,"tradeTurnover":15807.1226,"open":13016.7},{"amount":1.332,"high":13203.7,"vol":1332,"low":12932.9,"count":114,"id":1603400400,"close":13092.0,"tradeTurnover":17423.4422,"open":13136.0},{"amount":1.21,"high":13250.5,"vol":1210,"low":12984.7,"count":114,"id":1603404000,"close":13055.9,"tradeTurnover":15876.0632,"open":13119.4},{"amount":1.286,"high":13126.5,"vol":1286,"low":12857.2,"count":116,"id":1603407600,"close":12890.4,"tradeTurnover":16688.422,"open":13059.4},{"amount":1.502,"high":12994.0,"vol":1502,"low":12751.6,"count":131,"id":1603411200,"close":12892.2,"tradeTurnover":19331.1596,"open":12929.7},{"amount":1.386,"high":13003.2,"vol":1386,"low":12786.0,"count":121,"id":1603414800,"close":12898.3,"tradeTurnover":17904.8902,"open":12921.7},{"amount":1.416,"high":13054.0,"vol":1416,"low":12800.7,"count":122,"id":1603418400,"close":12975.1,"tradeTurnover":18306.6204,"open":12951.6},{"amount":1.19,"high":13030.7,"vol":1190,"low":12875.0,"count":118,"id":1603422000,"close":12947.0,"tradeTurnover":15409.7984,"open":12967.3},{"amount":1.022,"high":13047.3,"vol":1022,"low":12832.8,"count":127,"id":1603425600,"close":12852.0,"tradeTurnover":13214.4388,"open":12925.2},{"amount":0.478,"high":12991.7,"vol":478,"low":12841.2,"count":118,"id":1603429200,"close":12931.1,"tradeTurnover":6180.2486,"open":12859.0},{"amount":0.522,"high":13014.1,"vol":522,"low":12871.9,"count":132,"id":1603432800,"close":12939.6,"tradeTurnover":6759.0324,"open":12935.9},{"amount":0.476,"high":12998.9,"vol":476,"low":12917.1,"count":118,"id":1603436400,"close":12925.4,"tradeTurnover":6163.3118,"open":12923.1},{"amount":0.508,"high":13014.0,"vol":508,"low":12916.1,"count":122,"id":1603440000,"close":12962.6,"tradeTurnover":6585.3656,"open":12942.2},{"amount":0.564,"high":13012.5,"vol":564,"low":12909.9,"count":124,"id":1603443600,"close":12926.4,"tradeTurnover":7308.8828,"open":12970.5},{"amount":0.536,"high":13059.5,"vol":536,"low":12925.7,"count":124,"id":1603447200,"close":13007.7,"tradeTurnover":6957.8796,"open":13001.2},{"amount":0.486,"high":13078.4,"vol":486,"low":12906.5,"count":122,"id":1603450800,"close":12970.6,"tradeTurnover":6326.1434,"open":13025.4},{"amount":0.494,"high":13025.0,"vol":494,"low":12850.8,"count":117,"id":1603454400,"close":12935.4,"tradeTurnover":6396.0984,"open":12963.9},{"amount":0.466,"high":13043.3,"vol":466,"low":12911.0,"count":117,"id":1603458000,"close":12951.7,"tradeTurnover":6049.1412,"open":12913.3},{"amount":0.46,"high":13006.4,"vol":460,"low":12840.4,"count":116,"id":1603461600,"close":12858.8,"tradeTurnover":5941.815,"open":12999.6},{"amount":0.492,"high":12932.9,"vol":492,"low":12826.5,"count":117,"id":1603465200,"close":12881.9,"tradeTurnover":6340.214,"open":12885.7},{"amount":0.484,"high":12933.5,"vol":484,"low":12744.4,"count":123,"id":1603468800,"close":12784.1,"tradeTurnover":6205.4138,"open":12854.4},{"amount":0.562,"high":12893.1,"vol":562,"low":12730.1,"count":152,"id":1603472400,"close":12847.7,"tradeTurnover":7218.9184,"open":12832.3},{"amount":0.53,"high":12939.3,"vol":530,"low":12751.4,"count":128,"id":1603476000,"close":12915.7,"tradeTurnover":6825.7004,"open":12874.1},{"amount":0.444,"high":12972.9,"vol":444,"low":12786.6,"count":117,"id":1603479600,"close":12972.9,"tradeTurnover":5727.7452,"open":12867.9},{"amount":0.492,"high":13002.2,"vol":492,"low":12842.9,"count":116,"id":1603483200,"close":12991.6,"tradeTurnover":6375.1566,"open":12956.7},{"amount":0.5,"high":13004.3,"vol":500,"low":12936.6,"count":125,"id":1603486800,"close":12943.5,"tradeTurnover":6485.468,"open":13004.3},{"amount":0.492,"high":13010.3,"vol":492,"low":12884.7,"count":120,"id":1603490400,"close":12989.2,"tradeTurnover":6376.1492,"open":12923.6},{"amount":0.51,"high":13024.4,"vol":510,"low":12884.6,"count":121,"id":1603494000,"close":12884.6,"tradeTurnover":6622.3406,"open":12974.9},{"amount":0.488,"high":13018.3,"vol":488,"low":12811.1,"count":120,"id":1603497600,"close":12953.9,"tradeTurnover":6317.7938,"open":12973.7},{"amount":0.482,"high":13018.1,"vol":482,"low":12872.8,"count":117,"id":1603501200,"close":12934.2,"tradeTurnover":6242.4178,"open":12927.5},{"amount":0.484,"high":13003.9,"vol":484,"low":12903.3,"count":117,"id":1603504800,"close":12989.1,"tradeTurnover":6278.1756,"open":12971.9},{"amount":0.474,"high":13013.4,"vol":474,"low":12938.3,"count":122,"id":1603508400,"close":12975.9,"tradeTurnover":6157.7096,"open":13000.1},{"amount":0.526,"high":13009.4,"vol":526,"low":12905.5,"count":124,"id":1603512000,"close":12963.3,"tradeTurnover":6831.5658,"open":12989.7},{"amount":0.522,"high":13041.8,"vol":522,"low":12875.3,"count":127,"id":1603515600,"close":12989.7,"tradeTurnover":6768.8994,"open":12910.5},{"amount":0.49,"high":13058.1,"vol":490,"low":12908.8,"count":120,"id":1603519200,"close":13003.6,"tradeTurnover":6370.5714,"open":12994.7},{"amount":0.478,"high":13037.8,"vol":478,"low":12981.7,"count":120,"id":1603522800,"close":13004.2,"tradeTurnover":6218.9722,"open":13011.9},{"amount":0.52,"high":13030.6,"vol":520,"low":12899.4,"count":124,"id":1603526400,"close":12998.2,"tradeTurnover":6754.958,"open":13003.0},{"amount":0.454,"high":13020.3,"vol":454,"low":12893.6,"count":115,"id":1603530000,"close":12990.6,"tradeTurnover":5891.0574,"open":12998.2},{"amount":0.502,"high":13059.1,"vol":502,"low":12913.2,"count":124,"id":1603533600,"close":13030.1,"tradeTurnover":6525.9004,"open":12996.4},{"amount":0.468,"high":13068.3,"vol":468,"low":12940.2,"count":119,"id":1603537200,"close":13033.2,"tradeTurnover":6091.0376,"open":12988.4},{"amount":0.468,"high":13071.8,"vol":468,"low":12978.9,"count":123,"id":1603540800,"close":13006.5,"tradeTurnover":6102.5902,"open":13035.3},{"amount":0.534,"high":13066.7,"vol":534,"low":12928.1,"count":123,"id":1603544400,"close":12985.9,"tradeTurnover":6950.4268,"open":13038.8},{"amount":0.47,"high":13100.1,"vol":470,"low":12960.5,"count":100,"id":1603548000,"close":13042.0,"tradeTurnover":6124.2178,"open":12986.3},{"amount":0.456,"high":13196.5,"vol":456,"low":13038.4,"count":120,"id":1603551600,"close":13102.2,"tradeTurnover":5989.6362,"open":13038.4},{"amount":0.458,"high":13176.6,"vol":458,"low":12984.6,"count":121,"id":1603555200,"close":13052.7,"tradeTurnover":5976.331,"open":13136.8},{"amount":0.452,"high":13177.8,"vol":452,"low":13003.2,"count":118,"id":1603558800,"close":13177.8,"tradeTurnover":5911.7058,"open":13006.2},{"amount":0.468,"high":13170.7,"vol":468,"low":13023.0,"count":119,"id":1603562400,"close":13080.8,"tradeTurnover":6122.375,"open":13127.7},{"amount":0.468,"high":13179.3,"vol":468,"low":13014.2,"count":120,"id":1603566000,"close":13148.4,"tradeTurnover":6126.4278,"open":13040.7},{"amount":0.47,"high":13179.6,"vol":470,"low":12992.5,"count":119,"id":1603569600,"close":13090.1,"tradeTurnover":6151.4758,"open":13073.5},{"amount":0.458,"high":13148.7,"vol":458,"low":12980.7,"count":117,"id":1603573200,"close":12993.9,"tradeTurnover":5981.071,"open":13035.4},{"amount":0.478,"high":13112.1,"vol":478,"low":12975.6,"count":118,"id":1603576800,"close":13041.1,"tradeTurnover":6225.4216,"open":13040.7},{"amount":0.472,"high":13184.3,"vol":472,"low":13009.3,"count":118,"id":1603580400,"close":13184.3,"tradeTurnover":6173.4244,"open":13012.6},{"amount":0.46,"high":13170.4,"vol":460,"low":13007.7,"count":115,"id":1603584000,"close":13154.3,"tradeTurnover":6024.09,"open":13080.8},{"amount":0.398,"high":13196.8,"vol":398,"low":13024.0,"count":102,"id":1603587600,"close":13196.1,"tradeTurnover":5217.5364,"open":13092.0},{"amount":0.476,"high":13175.1,"vol":476,"low":13035.0,"count":120,"id":1603591200,"close":13082.4,"tradeTurnover":6228.6596,"open":13124.7},{"amount":0.578,"high":13383.8,"vol":578,"low":13049.1,"count":137,"id":1603594800,"close":13259.0,"tradeTurnover":7629.3886,"open":13049.1},{"amount":0.47,"high":13369.0,"vol":470,"low":13216.0,"count":122,"id":1603598400,"close":13243.4,"tradeTurnover":6247.955,"open":13277.0},{"amount":0.61,"high":13353.3,"vol":610,"low":13010.1,"count":134,"id":1603602000,"close":13017.3,"tradeTurnover":8048.8598,"open":13285.3},{"amount":0.486,"high":13105.7,"vol":486,"low":13018.2,"count":118,"id":1603605600,"close":13060.3,"tradeTurnover":6344.1474,"open":13022.5},{"amount":0.464,"high":13112.1,"vol":464,"low":13022.0,"count":120,"id":1603609200,"close":13078.1,"tradeTurnover":6061.5416,"open":13048.5},{"amount":0.464,"high":13091.0,"vol":464,"low":13017.2,"count":120,"id":1603612800,"close":13046.0,"tradeTurnover":6055.3734,"open":13077.2},{"amount":0.478,"high":13084.0,"vol":478,"low":13014.2,"count":117,"id":1603616400,"close":13040.8,"tradeTurnover":6235.7882,"open":13065.1},{"amount":0.478,"high":13064.2,"vol":478,"low":13010.2,"count":125,"id":1603620000,"close":13028.5,"tradeTurnover":6232.2428,"open":13047.1},{"amount":0.534,"high":13061.5,"vol":534,"low":12852.9,"count":123,"id":1603623600,"close":12897.6,"tradeTurnover":6918.1226,"open":13061.5},{"amount":0.444,"high":13069.7,"vol":444,"low":12893.2,"count":117,"id":1603627200,"close":12964.3,"tradeTurnover":5755.8712,"open":12908.3},{"amount":0.498,"high":13071.9,"vol":498,"low":12891.8,"count":119,"id":1603630800,"close":12949.3,"tradeTurnover":6465.078,"open":13001.3},{"amount":0.468,"high":13077.7,"vol":468,"low":12900.0,"count":116,"id":1603634400,"close":12946.8,"tradeTurnover":6075.4554,"open":12975.8},{"amount":0.47,"high":13069.1,"vol":470,"low":12883.3,"count":119,"id":1603638000,"close":12883.3,"tradeTurnover":6097.1072,"open":12975.2},{"amount":0.482,"high":13067.9,"vol":482,"low":12877.5,"count":118,"id":1603641600,"close":12978.7,"tradeTurnover":6256.4472,"open":12916.2},{"amount":0.47,"high":13087.5,"vol":470,"low":12922.7,"count":117,"id":1603645200,"close":13004.4,"tradeTurnover":6108.3892,"open":13008.0},{"amount":0.468,"high":13067.6,"vol":468,"low":12893.6,"count":118,"id":1603648800,"close":12957.2,"tradeTurnover":6079.1484,"open":12972.8},{"amount":0.442,"high":13066.9,"vol":442,"low":12916.6,"count":118,"id":1603652400,"close":13021.8,"tradeTurnover":5746.5548,"open":12996.5},{"amount":0.508,"high":13081.5,"vol":508,"low":12944.9,"count":120,"id":1603656000,"close":12985.4,"tradeTurnover":6616.9872,"open":12992.9},{"amount":0.508,"high":13068.6,"vol":508,"low":12921.4,"count":122,"id":1603659600,"close":13011.2,"tradeTurnover":6614.816,"open":12999.9},{"amount":0.486,"high":13073.8,"vol":486,"low":12911.9,"count":121,"id":1603663200,"close":12959.4,"tradeTurnover":6320.907,"open":12979.6},{"amount":0.452,"high":13085.2,"vol":452,"low":12927.8,"count":113,"id":1603666800,"close":13032.1,"tradeTurnover":5878.6442,"open":12963.4},{"amount":0.482,"high":13076.7,"vol":482,"low":12918.3,"count":121,"id":1603670400,"close":13001.0,"tradeTurnover":6263.698,"open":12964.2},{"amount":0.478,"high":13096.4,"vol":478,"low":12991.2,"count":124,"id":1603674000,"close":13053.7,"tradeTurnover":6232.2328,"open":13040.0},{"amount":0.488,"high":13185.7,"vol":488,"low":12985.1,"count":121,"id":1603677600,"close":13064.4,"tradeTurnover":6387.534,"open":13060.6},{"amount":0.486,"high":13187.2,"vol":486,"low":12984.1,"count":135,"id":1603681200,"close":13092.8,"tradeTurnover":6369.0272,"open":13032.3},{"amount":0.51,"high":13181.6,"vol":510,"low":12962.3,"count":131,"id":1603684800,"close":13132.6,"tradeTurnover":6679.829,"open":13092.0},{"amount":0.506,"high":13205.3,"vol":506,"low":13025.3,"count":126,"id":1603688400,"close":13092.1,"tradeTurnover":6641.2128,"open":13129.2},{"amount":1.616,"high":13188.1,"vol":1616,"low":12989.8,"count":141,"id":1603692000,"close":13071.4,"tradeTurnover":21170.8224,"open":13121.8},{"amount":3.746,"high":13100.0,"vol":3746,"low":12965.2,"count":110,"id":1603695600,"close":13038.7,"tradeTurnover":48924.8902,"open":13061.0},{"amount":8.966,"high":13102.0,"vol":8966,"low":12852.8,"count":173,"id":1603699200,"close":13039.3,"tradeTurnover":116525.5534,"open":13030.9},{"amount":4.48,"high":13088.4,"vol":4480,"low":13039.8,"count":124,"id":1603702800,"close":13075.9,"tradeTurnover":58521.1714,"open":13047.1},{"amount":4.272,"high":13100.0,"vol":4272,"low":13060.2,"count":130,"id":1603706400,"close":13100.0,"tradeTurnover":55895.9778,"open":13072.1},{"amount":29.798,"high":13159.0,"vol":29798,"low":13100.0,"count":230,"id":1603710000,"close":13138.4,"tradeTurnover":391138.024,"open":13100.0},{"amount":5.154,"high":13200.0,"vol":5154,"low":13100.0,"count":188,"id":1603713600,"close":13149.8,"tradeTurnover":67694.652,"open":13138.8},{"amount":35.608,"high":13351.5,"vol":35608,"low":13133.1,"count":328,"id":1603717200,"close":13205.8,"tradeTurnover":472780.3394,"open":13150.0},{"amount":31.748,"high":13280.0,"vol":31748,"low":13144.1,"count":235,"id":1603720800,"close":13166.1,"tradeTurnover":418744.5588,"open":13203.0},{"amount":36.53,"high":13165.2,"vol":36530,"low":12903.8,"count":384,"id":1603724400,"close":12978.0,"tradeTurnover":476940.3296,"open":13159.0},{"amount":35.018,"high":13069.8,"vol":35018,"low":12850.5,"count":323,"id":1603728000,"close":12869.6,"tradeTurnover":453288.918,"open":12965.0},{"amount":92.628,"high":12941.5,"vol":92628,"low":12583.9,"count":560,"id":1603731600,"close":12873.8,"tradeTurnover":1185973.467,"open":12879.2},{"amount":4.302,"high":12954.5,"vol":4302,"low":12820.4,"count":128,"id":1603735200,"close":12946.8,"tradeTurnover":55481.0054,"open":12856.2},{"amount":13.83,"high":12953.5,"vol":13830,"low":12914.1,"count":118,"id":1603738800,"close":12953.4,"tradeTurnover":179112.1598,"open":12945.6},{"amount":17.172,"high":13007.5,"vol":17172,"low":12953.5,"count":132,"id":1603742400,"close":12983.4,"tradeTurnover":223230.2122,"open":12953.5},{"amount":3.212,"high":13007.5,"vol":3212,"low":12982.7,"count":59,"id":1603746000,"close":12993.8,"tradeTurnover":41767.8906,"open":12983.1},{"amount":1.504,"high":13007.5,"vol":1504,"low":12974.0,"count":74,"id":1603749600,"close":13007.5,"tradeTurnover":19543.3568,"open":13002.1},{"amount":3.454,"high":13061.2,"vol":3454,"low":13007.5,"count":101,"id":1603753200,"close":13033.7,"tradeTurnover":45001.601,"open":13007.5},{"amount":8.784,"high":13105.0,"vol":8784,"low":13028.3,"count":98,"id":1603756800,"close":13067.1,"tradeTurnover":114871.8246,"open":13029.2},{"amount":11.592,"high":13074.4,"vol":11592,"low":13051.5,"count":66,"id":1603760400,"close":13061.7,"tradeTurnover":151386.9038,"open":13074.3},{"amount":19.298,"high":13097.6,"vol":19298,"low":13040.1,"count":109,"id":1603764000,"close":13049.7,"tradeTurnover":252061.019,"open":13061.7},{"amount":22.992,"high":13080.0,"vol":22992,"low":13057.1,"count":69,"id":1603767600,"close":13070.4,"tradeTurnover":300453.9788,"open":13057.6},{"amount":14.396,"high":13175.0,"vol":14396,"low":13079.6,"count":59,"id":1603771200,"close":13103.3,"tradeTurnover":188461.9156,"open":13080.0},{"amount":5.058,"high":13121.3,"vol":5058,"low":13069.7,"count":44,"id":1603774800,"close":13073.6,"tradeTurnover":66201.3552,"open":13121.3},{"amount":9.106,"high":13149.0,"vol":9106,"low":13069.6,"count":107,"id":1603778400,"close":13103.4,"tradeTurnover":119104.8906,"open":13074.9},{"amount":73.95,"high":13169.8,"vol":73950,"low":12992.4,"count":305,"id":1603782000,"close":13130.0,"tradeTurnover":968195.155,"open":13103.3},{"amount":18.732,"high":13148.4,"vol":18732,"low":13044.0,"count":135,"id":1603785600,"close":13123.8,"tradeTurnover":245533.5448,"open":13135.1},{"amount":13.756,"high":13131.8,"vol":13756,"low":13075.7,"count":102,"id":1603789200,"close":13131.7,"tradeTurnover":180253.7708,"open":13115.5},{"amount":154.108,"high":13252.0,"vol":154108,"low":13063.4,"count":525,"id":1603792800,"close":13216.9,"tradeTurnover":2029983.656,"open":13134.8},{"amount":170.09,"high":13590.1,"vol":170090,"low":13213.5,"count":591,"id":1603796400,"close":13395.8,"tradeTurnover":2276279.742,"open":13218.8},{"amount":48.928,"high":13414.0,"vol":48928,"low":13331.7,"count":216,"id":1603800000,"close":13376.9,"tradeTurnover":654585.9108,"open":13395.9},{"amount":63.294,"high":13490.9,"vol":63294,"low":13329.8,"count":316,"id":1603803600,"close":13384.3,"tradeTurnover":848130.9212,"open":13376.5},{"amount":12.892,"high":13415.8,"vol":12892,"low":13344.8,"count":124,"id":1603807200,"close":13398.2,"tradeTurnover":172618.6864,"open":13392.6},{"amount":93.22,"high":13626.7,"vol":93220,"low":13398.2,"count":476,"id":1603810800,"close":13598.5,"tradeTurnover":1262695.5466,"open":13398.2},{"amount":85.45,"high":13639.9,"vol":85450,"low":13520.2,"count":435,"id":1603814400,"close":13639.9,"tradeTurnover":1161481.4136,"open":13595.8},{"amount":191.812,"high":13826.7,"vol":191812,"low":13589.0,"count":711,"id":1603818000,"close":13688.1,"tradeTurnover":2628428.3788,"open":13640.0},{"amount":65.434,"high":13745.0,"vol":65434,"low":13528.2,"count":410,"id":1603821600,"close":13630.1,"tradeTurnover":891541.8394,"open":13685.0},{"amount":5.788,"high":13659.8,"vol":5788,"low":13595.4,"count":65,"id":1603825200,"close":13637.1,"tradeTurnover":78836.2578,"open":13629.4},{"amount":163.104,"high":13805.1,"vol":163104,"low":13582.6,"count":537,"id":1603828800,"close":13616.6,"tradeTurnover":2234040.3544,"open":13644.4},{"amount":9.884,"high":13753.5,"vol":9884,"low":13609.8,"count":101,"id":1603832400,"close":13705.5,"tradeTurnover":135406.4752,"open":13609.8},{"amount":7.436,"high":13739.9,"vol":7436,"low":13658.2,"count":100,"id":1603836000,"close":13739.9,"tradeTurnover":101840.3508,"open":13705.4},{"amount":17.086,"high":13794.6,"vol":17086,"low":13582.6,"count":234,"id":1603839600,"close":13649.6,"tradeTurnover":233971.8448,"open":13739.9},{"amount":24.108,"high":13745.2,"vol":24108,"low":13618.8,"count":177,"id":1603843200,"close":13701.7,"tradeTurnover":330206.5694,"open":13645.9},{"amount":15.892,"high":13725.6,"vol":15892,"low":13647.9,"count":151,"id":1603846800,"close":13702.6,"tradeTurnover":217816.7008,"open":13702.1},{"amount":46.548,"high":13832.2,"vol":46548,"low":13680.2,"count":274,"id":1603850400,"close":13811.6,"tradeTurnover":640636.0352,"open":13701.7},{"amount":67.896,"high":13820.3,"vol":67896,"low":13717.5,"count":320,"id":1603854000,"close":13777.0,"tradeTurnover":935838.2238,"open":13818.5},{"amount":33.156,"high":13807.2,"vol":33156,"low":13710.0,"count":210,"id":1603857600,"close":13735.7,"tradeTurnover":455941.234,"open":13767.3},{"amount":32.076,"high":13753.9,"vol":32076,"low":13671.3,"count":198,"id":1603861200,"close":13715.8,"tradeTurnover":439612.64,"open":13735.5},{"amount":14.756,"high":13757.0,"vol":14756,"low":13694.9,"count":122,"id":1603864800,"close":13701.3,"tradeTurnover":202602.5164,"open":13715.9},{"amount":155.534,"high":13708.7,"vol":155534,"low":13550.0,"count":635,"id":1603868400,"close":13674.2,"tradeTurnover":2117935.0928,"open":13701.2},{"amount":29.846,"high":13691.7,"vol":29846,"low":13584.0,"count":240,"id":1603872000,"close":13691.7,"tradeTurnover":407073.1398,"open":13673.0},{"amount":104.542,"high":13707.5,"vol":104542,"low":13573.5,"count":377,"id":1603875600,"close":13587.1,"tradeTurnover":1425079.9344,"open":13689.3},{"amount":73.818,"high":13618.0,"vol":73818,"low":13504.7,"count":358,"id":1603879200,"close":13552.7,"tradeTurnover":1001666.0908,"open":13584.6},{"amount":176.544,"high":13565.4,"vol":176544,"low":13330.0,"count":1004,"id":1603882800,"close":13336.4,"tradeTurnover":2369166.1492,"open":13552.6},{"amount":289.73,"high":13385.0,"vol":289730,"low":13173.9,"count":968,"id":1603886400,"close":13300.3,"tradeTurnover":3846751.7166,"open":13331.5},{"amount":139.822,"high":13340.0,"vol":139822,"low":13122.9,"count":612,"id":1603890000,"close":13129.9,"tradeTurnover":1848876.932,"open":13300.2},{"amount":367.876,"high":13168.2,"vol":367876,"low":12915.9,"count":1168,"id":1603893600,"close":13082.2,"tradeTurnover":4802516.9818,"open":13123.4},{"amount":84.044,"high":13235.2,"vol":84044,"low":13052.3,"count":375,"id":1603897200,"close":13221.2,"tradeTurnover":1106883.1282,"open":13077.1},{"amount":29.566,"high":13218.7,"vol":29566,"low":13050.0,"count":244,"id":1603900800,"close":13145.1,"tradeTurnover":388697.4104,"open":13218.7},{"amount":53.336,"high":13204.9,"vol":53336,"low":13006.6,"count":299,"id":1603904400,"close":13176.7,"tradeTurnover":700385.2784,"open":13145.1},{"amount":34.164,"high":13219.6,"vol":34164,"low":13131.0,"count":218,"id":1603908000,"close":13196.5,"tradeTurnover":450210.5778,"open":13171.0},{"amount":22.158,"high":13237.4,"vol":22158,"low":13145.0,"count":185,"id":1603911600,"close":13154.9,"tradeTurnover":292020.0438,"open":13200.0},{"amount":4.548,"high":13211.8,"vol":4548,"low":13147.4,"count":75,"id":1603915200,"close":13198.1,"tradeTurnover":59991.1118,"open":13154.5},{"amount":3.52,"high":13196.5,"vol":3520,"low":13100.2,"count":68,"id":1603918800,"close":13190.1,"tradeTurnover":46175.428,"open":13193.5},{"amount":3.122,"high":13267.5,"vol":3122,"low":13185.4,"count":72,"id":1603922400,"close":13252.0,"tradeTurnover":41304.2018,"open":13185.4},{"amount":14.768,"high":13282.3,"vol":14768,"low":13235.9,"count":86,"id":1603926000,"close":13265.9,"tradeTurnover":195689.0764,"open":13242.1},{"amount":19.968,"high":13294.7,"vol":19968,"low":13237.4,"count":98,"id":1603929600,"close":13245.1,"tradeTurnover":264834.1944,"open":13253.9},{"amount":35.282,"high":13285.3,"vol":35282,"low":13166.3,"count":192,"id":1603933200,"close":13274.2,"tradeTurnover":465789.6302,"open":13244.6},{"amount":9.748,"high":13277.7,"vol":9748,"low":13212.2,"count":119,"id":1603936800,"close":13241.1,"tradeTurnover":129016.0684,"open":13275.9},{"amount":27.3,"high":13262.5,"vol":27300,"low":13174.6,"count":199,"id":1603940400,"close":13262.5,"tradeTurnover":360589.8982,"open":13237.1},{"amount":18.904,"high":13277.7,"vol":18904,"low":13229.5,"count":109,"id":1603944000,"close":13229.5,"tradeTurnover":250713.2812,"open":13269.1},{"amount":15.822,"high":13274.8,"vol":15822,"low":13228.5,"count":134,"id":1603947600,"close":13274.8,"tradeTurnover":209781.909,"open":13228.5},{"amount":91.246,"high":13323.0,"vol":91246,"low":13242.3,"count":294,"id":1603951200,"close":13255.0,"tradeTurnover":1211271.2788,"open":13274.8},{"amount":187.622,"high":13269.3,"vol":187622,"low":13123.1,"count":506,"id":1603954800,"close":13142.4,"tradeTurnover":2478299.7074,"open":13255.0},{"amount":69.532,"high":13182.4,"vol":69532,"low":13094.1,"count":226,"id":1603958400,"close":13124.8,"tradeTurnover":914157.2418,"open":13145.9},{"amount":23.184,"high":13197.1,"vol":23184,"low":13129.5,"count":141,"id":1603962000,"close":13183.7,"tradeTurnover":305485.9524,"open":13129.5},{"amount":121.146,"high":13187.5,"vol":121146,"low":13053.1,"count":442,"id":1603965600,"close":13105.2,"tradeTurnover":1590026.4416,"open":13184.8},{"amount":47.498,"high":13171.4,"vol":47498,"low":13060.1,"count":262,"id":1603969200,"close":13060.1,"tradeTurnover":623578.149,"open":13105.1},{"amount":126.552,"high":13145.8,"vol":126552,"low":12977.9,"count":481,"id":1603972800,"close":13131.8,"tradeTurnover":1652549.311,"open":13056.9},{"amount":100.482,"high":13237.2,"vol":100482,"low":13102.0,"count":325,"id":1603976400,"close":13230.0,"tradeTurnover":1326403.7206,"open":13131.7},{"amount":253.258,"high":13476.1,"vol":253258,"low":13231.0,"count":752,"id":1603980000,"close":13420.8,"tradeTurnover":3384941.438,"open":13231.0},{"amount":64.71,"high":13458.7,"vol":64710,"low":13358.7,"count":269,"id":1603983600,"close":13420.6,"tradeTurnover":869052.3804,"open":13416.0},{"amount":120.24,"high":13594.5,"vol":120240,"low":13391.8,"count":570,"id":1603987200,"close":13535.9,"tradeTurnover":1626567.8278,"open":13421.9}],"id":"","rep":"market.BTC-USDT.kline.60min","status":"ok"} +2024-01-18 11:13:07.943 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:39] - 请求 KLine 数据用户收到的原始数据:{"id":"","rep":"market.BTC-USDT.kline.60min","ts":1705547586850,"wsid":19750305,"status":"ok","data":[{"id":1603270800,"open":12198.0,"close":12196.7,"high":12300.0,"low":11715.8,"amount":0.276,"vol":276,"trade_turnover":3315.9104,"count":39},{"id":1603274400,"open":12196.7,"close":12277.9,"high":12289.9,"low":12111.0,"amount":0.198,"vol":198,"trade_turnover":2420.7728,"count":21},{"id":1603278000,"open":12111.0,"close":12000.0,"high":12277.9,"low":12000.0,"amount":0.012,"vol":12,"trade_turnover":145.2238,"count":5},{"id":1603281600,"open":12078.0,"close":12497.4,"high":12498.0,"low":12078.0,"amount":0.084,"vol":84,"trade_turnover":1040.0504,"count":12},{"id":1603285200,"open":12495.6,"close":12373.5,"high":12495.6,"low":12282.9,"amount":1.122,"vol":1122,"trade_turnover":13905.3124,"count":112},{"id":1603288800,"open":12412.9,"close":12689.9,"high":12807.6,"low":12358.1,"amount":5.29,"vol":5290,"trade_turnover":66852.128,"count":155},{"id":1603292400,"open":12692.8,"close":12701.9,"high":12778.7,"low":12573.2,"amount":1.174,"vol":1174,"trade_turnover":14907.367,"count":113},{"id":1603296000,"open":12679.7,"close":12835.9,"high":12920.9,"low":12624.8,"amount":1.156,"vol":1156,"trade_turnover":14802.449,"count":115},{"id":1603299600,"open":12848.3,"close":12754.2,"high":12908.3,"low":12687.5,"amount":1.12,"vol":1120,"trade_turnover":14345.7324,"count":115},{"id":1603303200,"open":12743.7,"close":12740.2,"high":12849.0,"low":12668.3,"amount":1.106,"vol":1106,"trade_turnover":14105.3504,"count":114},{"id":1603306800,"open":12729.5,"close":12650.3,"high":12843.1,"low":12597.2,"amount":1.032,"vol":1032,"trade_turnover":13125.4568,"count":112},{"id":1603310400,"open":12666.8,"close":12807.0,"high":12848.4,"low":12610.2,"amount":1.154,"vol":1154,"trade_turnover":14680.638,"count":116},{"id":1603314000,"open":12866.0,"close":12938.9,"high":13005.1,"low":12748.2,"amount":1.164,"vol":1164,"trade_turnover":14976.9366,"count":114},{"id":1603317600,"open":12921.0,"close":13122.0,"high":13211.2,"low":12865.7,"amount":1.174,"vol":1174,"trade_turnover":15285.2446,"count":114},{"id":1603321200,"open":13153.2,"close":12829.8,"high":13173.2,"low":12688.6,"amount":1.172,"vol":1172,"trade_turnover":15060.9938,"count":117},{"id":1603324800,"open":12793.1,"close":12885.9,"high":12988.1,"low":12764.4,"amount":1.17,"vol":1170,"trade_turnover":15046.2046,"count":117},{"id":1603328400,"open":12860.4,"close":12757.5,"high":12972.6,"low":12757.5,"amount":1.158,"vol":1158,"trade_turnover":14882.4656,"count":118},{"id":1603332000,"open":12824.1,"close":12788.8,"high":12848.0,"low":12729.0,"amount":1.124,"vol":1124,"trade_turnover":14368.7948,"count":115},{"id":1603335600,"open":12791.7,"close":12767.2,"high":12834.4,"low":12729.0,"amount":1.194,"vol":1194,"trade_turnover":15268.9298,"count":111},{"id":1603339200,"open":12729.0,"close":12762.2,"high":12778.3,"low":12729.0,"amount":1.152,"vol":1152,"trade_turnover":14695.4876,"count":115},{"id":1603342800,"open":12763.1,"close":12813.8,"high":12842.0,"low":12730.6,"amount":1.21,"vol":1210,"trade_turnover":15440.8162,"count":119},{"id":1603346400,"open":12795.0,"close":12729.1,"high":12795.0,"low":12728.0,"amount":1.188,"vol":1188,"trade_turnover":15128.0098,"count":123},{"id":1603350000,"open":12728.6,"close":12730.6,"high":12730.6,"low":12728.3,"amount":1.266,"vol":1266,"trade_turnover":16115.1306,"count":112},{"id":1603353600,"open":12730.3,"close":12770.1,"high":12921.5,"low":12729.9,"amount":1.35,"vol":1350,"trade_turnover":17233.7326,"count":127},{"id":1603357200,"open":12824.9,"close":12780.4,"high":12872.1,"low":12760.1,"amount":0.98,"vol":980,"trade_turnover":12553.9826,"count":99},{"id":1603360800,"open":12784.9,"close":12934.2,"high":13002.7,"low":12775.6,"amount":0.266,"vol":266,"trade_turnover":3415.023,"count":30},{"id":1603364400,"open":12977.0,"close":13045.0,"high":13057.0,"low":12886.6,"amount":1.004,"vol":1004,"trade_turnover":13020.8576,"count":117},{"id":1603368000,"open":12958.5,"close":12847.9,"high":12973.4,"low":12751.6,"amount":1.134,"vol":1134,"trade_turnover":14594.2752,"count":111},{"id":1603371600,"open":12882.7,"close":12931.0,"high":13000.8,"low":12743.0,"amount":1.152,"vol":1152,"trade_turnover":14877.7314,"count":114},{"id":1603375200,"open":12890.4,"close":12917.8,"high":12995.3,"low":12783.9,"amount":1.182,"vol":1182,"trade_turnover":15224.4716,"count":115},{"id":1603378800,"open":12918.8,"close":12953.0,"high":13031.2,"low":12817.9,"amount":1.176,"vol":1176,"trade_turnover":15197.208,"count":117},{"id":1603382400,"open":12923.1,"close":13055.6,"high":13100.2,"low":12865.6,"amount":1.146,"vol":1146,"trade_turnover":14851.9604,"count":119},{"id":1603386000,"open":12967.6,"close":13082.7,"high":13105.7,"low":12835.5,"amount":1.534,"vol":1534,"trade_turnover":19927.8288,"count":124},{"id":1603389600,"open":13020.4,"close":13016.4,"high":13115.0,"low":12938.7,"amount":1.268,"vol":1268,"trade_turnover":16505.4738,"count":117},{"id":1603393200,"open":13028.3,"close":12970.6,"high":13171.2,"low":12961.8,"amount":1.13,"vol":1130,"trade_turnover":14762.952,"count":112},{"id":1603396800,"open":13016.7,"close":13089.3,"high":13216.1,"low":12998.5,"amount":1.206,"vol":1206,"trade_turnover":15807.1226,"count":117},{"id":1603400400,"open":13136.0,"close":13092.0,"high":13203.7,"low":12932.9,"amount":1.332,"vol":1332,"trade_turnover":17423.4422,"count":114},{"id":1603404000,"open":13119.4,"close":13055.9,"high":13250.5,"low":12984.7,"amount":1.21,"vol":1210,"trade_turnover":15876.0632,"count":114},{"id":1603407600,"open":13059.4,"close":12890.4,"high":13126.5,"low":12857.2,"amount":1.286,"vol":1286,"trade_turnover":16688.422,"count":116},{"id":1603411200,"open":12929.7,"close":12892.2,"high":12994.0,"low":12751.6,"amount":1.502,"vol":1502,"trade_turnover":19331.1596,"count":131},{"id":1603414800,"open":12921.7,"close":12898.3,"high":13003.2,"low":12786.0,"amount":1.386,"vol":1386,"trade_turnover":17904.8902,"count":121},{"id":1603418400,"open":12951.6,"close":12975.1,"high":13054.0,"low":12800.7,"amount":1.416,"vol":1416,"trade_turnover":18306.6204,"count":122},{"id":1603422000,"open":12967.3,"close":12947.0,"high":13030.7,"low":12875.0,"amount":1.19,"vol":1190,"trade_turnover":15409.7984,"count":118},{"id":1603425600,"open":12925.2,"close":12852.0,"high":13047.3,"low":12832.8,"amount":1.022,"vol":1022,"trade_turnover":13214.4388,"count":127},{"id":1603429200,"open":12859.0,"close":12931.1,"high":12991.7,"low":12841.2,"amount":0.478,"vol":478,"trade_turnover":6180.2486,"count":118},{"id":1603432800,"open":12935.9,"close":12939.6,"high":13014.1,"low":12871.9,"amount":0.522,"vol":522,"trade_turnover":6759.0324,"count":132},{"id":1603436400,"open":12923.1,"close":12925.4,"high":12998.9,"low":12917.1,"amount":0.476,"vol":476,"trade_turnover":6163.3118,"count":118},{"id":1603440000,"open":12942.2,"close":12962.6,"high":13014.0,"low":12916.1,"amount":0.508,"vol":508,"trade_turnover":6585.3656,"count":122},{"id":1603443600,"open":12970.5,"close":12926.4,"high":13012.5,"low":12909.9,"amount":0.564,"vol":564,"trade_turnover":7308.8828,"count":124},{"id":1603447200,"open":13001.2,"close":13007.7,"high":13059.5,"low":12925.7,"amount":0.536,"vol":536,"trade_turnover":6957.8796,"count":124},{"id":1603450800,"open":13025.4,"close":12970.6,"high":13078.4,"low":12906.5,"amount":0.486,"vol":486,"trade_turnover":6326.1434,"count":122},{"id":1603454400,"open":12963.9,"close":12935.4,"high":13025.0,"low":12850.8,"amount":0.494,"vol":494,"trade_turnover":6396.0984,"count":117},{"id":1603458000,"open":12913.3,"close":12951.7,"high":13043.3,"low":12911.0,"amount":0.466,"vol":466,"trade_turnover":6049.1412,"count":117},{"id":1603461600,"open":12999.6,"close":12858.8,"high":13006.4,"low":12840.4,"amount":0.46,"vol":460,"trade_turnover":5941.815,"count":116},{"id":1603465200,"open":12885.7,"close":12881.9,"high":12932.9,"low":12826.5,"amount":0.492,"vol":492,"trade_turnover":6340.214,"count":117},{"id":1603468800,"open":12854.4,"close":12784.1,"high":12933.5,"low":12744.4,"amount":0.484,"vol":484,"trade_turnover":6205.4138,"count":123},{"id":1603472400,"open":12832.3,"close":12847.7,"high":12893.1,"low":12730.1,"amount":0.562,"vol":562,"trade_turnover":7218.9184,"count":152},{"id":1603476000,"open":12874.1,"close":12915.7,"high":12939.3,"low":12751.4,"amount":0.53,"vol":530,"trade_turnover":6825.7004,"count":128},{"id":1603479600,"open":12867.9,"close":12972.9,"high":12972.9,"low":12786.6,"amount":0.444,"vol":444,"trade_turnover":5727.7452,"count":117},{"id":1603483200,"open":12956.7,"close":12991.6,"high":13002.2,"low":12842.9,"amount":0.492,"vol":492,"trade_turnover":6375.1566,"count":116},{"id":1603486800,"open":13004.3,"close":12943.5,"high":13004.3,"low":12936.6,"amount":0.5,"vol":500,"trade_turnover":6485.468,"count":125},{"id":1603490400,"open":12923.6,"close":12989.2,"high":13010.3,"low":12884.7,"amount":0.492,"vol":492,"trade_turnover":6376.1492,"count":120},{"id":1603494000,"open":12974.9,"close":12884.6,"high":13024.4,"low":12884.6,"amount":0.51,"vol":510,"trade_turnover":6622.3406,"count":121},{"id":1603497600,"open":12973.7,"close":12953.9,"high":13018.3,"low":12811.1,"amount":0.488,"vol":488,"trade_turnover":6317.7938,"count":120},{"id":1603501200,"open":12927.5,"close":12934.2,"high":13018.1,"low":12872.8,"amount":0.482,"vol":482,"trade_turnover":6242.4178,"count":117},{"id":1603504800,"open":12971.9,"close":12989.1,"high":13003.9,"low":12903.3,"amount":0.484,"vol":484,"trade_turnover":6278.1756,"count":117},{"id":1603508400,"open":13000.1,"close":12975.9,"high":13013.4,"low":12938.3,"amount":0.474,"vol":474,"trade_turnover":6157.7096,"count":122},{"id":1603512000,"open":12989.7,"close":12963.3,"high":13009.4,"low":12905.5,"amount":0.526,"vol":526,"trade_turnover":6831.5658,"count":124},{"id":1603515600,"open":12910.5,"close":12989.7,"high":13041.8,"low":12875.3,"amount":0.522,"vol":522,"trade_turnover":6768.8994,"count":127},{"id":1603519200,"open":12994.7,"close":13003.6,"high":13058.1,"low":12908.8,"amount":0.49,"vol":490,"trade_turnover":6370.5714,"count":120},{"id":1603522800,"open":13011.9,"close":13004.2,"high":13037.8,"low":12981.7,"amount":0.478,"vol":478,"trade_turnover":6218.9722,"count":120},{"id":1603526400,"open":13003.0,"close":12998.2,"high":13030.6,"low":12899.4,"amount":0.52,"vol":520,"trade_turnover":6754.958,"count":124},{"id":1603530000,"open":12998.2,"close":12990.6,"high":13020.3,"low":12893.6,"amount":0.454,"vol":454,"trade_turnover":5891.0574,"count":115},{"id":1603533600,"open":12996.4,"close":13030.1,"high":13059.1,"low":12913.2,"amount":0.502,"vol":502,"trade_turnover":6525.9004,"count":124},{"id":1603537200,"open":12988.4,"close":13033.2,"high":13068.3,"low":12940.2,"amount":0.468,"vol":468,"trade_turnover":6091.0376,"count":119},{"id":1603540800,"open":13035.3,"close":13006.5,"high":13071.8,"low":12978.9,"amount":0.468,"vol":468,"trade_turnover":6102.5902,"count":123},{"id":1603544400,"open":13038.8,"close":12985.9,"high":13066.7,"low":12928.1,"amount":0.534,"vol":534,"trade_turnover":6950.4268,"count":123},{"id":1603548000,"open":12986.3,"close":13042.0,"high":13100.1,"low":12960.5,"amount":0.47,"vol":470,"trade_turnover":6124.2178,"count":100},{"id":1603551600,"open":13038.4,"close":13102.2,"high":13196.5,"low":13038.4,"amount":0.456,"vol":456,"trade_turnover":5989.6362,"count":120},{"id":1603555200,"open":13136.8,"close":13052.7,"high":13176.6,"low":12984.6,"amount":0.458,"vol":458,"trade_turnover":5976.331,"count":121},{"id":1603558800,"open":13006.2,"close":13177.8,"high":13177.8,"low":13003.2,"amount":0.452,"vol":452,"trade_turnover":5911.7058,"count":118},{"id":1603562400,"open":13127.7,"close":13080.8,"high":13170.7,"low":13023.0,"amount":0.468,"vol":468,"trade_turnover":6122.375,"count":119},{"id":1603566000,"open":13040.7,"close":13148.4,"high":13179.3,"low":13014.2,"amount":0.468,"vol":468,"trade_turnover":6126.4278,"count":120},{"id":1603569600,"open":13073.5,"close":13090.1,"high":13179.6,"low":12992.5,"amount":0.47,"vol":470,"trade_turnover":6151.4758,"count":119},{"id":1603573200,"open":13035.4,"close":12993.9,"high":13148.7,"low":12980.7,"amount":0.458,"vol":458,"trade_turnover":5981.071,"count":117},{"id":1603576800,"open":13040.7,"close":13041.1,"high":13112.1,"low":12975.6,"amount":0.478,"vol":478,"trade_turnover":6225.4216,"count":118},{"id":1603580400,"open":13012.6,"close":13184.3,"high":13184.3,"low":13009.3,"amount":0.472,"vol":472,"trade_turnover":6173.4244,"count":118},{"id":1603584000,"open":13080.8,"close":13154.3,"high":13170.4,"low":13007.7,"amount":0.46,"vol":460,"trade_turnover":6024.09,"count":115},{"id":1603587600,"open":13092.0,"close":13196.1,"high":13196.8,"low":13024.0,"amount":0.398,"vol":398,"trade_turnover":5217.5364,"count":102},{"id":1603591200,"open":13124.7,"close":13082.4,"high":13175.1,"low":13035.0,"amount":0.476,"vol":476,"trade_turnover":6228.6596,"count":120},{"id":1603594800,"open":13049.1,"close":13259.0,"high":13383.8,"low":13049.1,"amount":0.578,"vol":578,"trade_turnover":7629.3886,"count":137},{"id":1603598400,"open":13277.0,"close":13243.4,"high":13369.0,"low":13216.0,"amount":0.47,"vol":470,"trade_turnover":6247.955,"count":122},{"id":1603602000,"open":13285.3,"close":13017.3,"high":13353.3,"low":13010.1,"amount":0.61,"vol":610,"trade_turnover":8048.8598,"count":134},{"id":1603605600,"open":13022.5,"close":13060.3,"high":13105.7,"low":13018.2,"amount":0.486,"vol":486,"trade_turnover":6344.1474,"count":118},{"id":1603609200,"open":13048.5,"close":13078.1,"high":13112.1,"low":13022.0,"amount":0.464,"vol":464,"trade_turnover":6061.5416,"count":120},{"id":1603612800,"open":13077.2,"close":13046.0,"high":13091.0,"low":13017.2,"amount":0.464,"vol":464,"trade_turnover":6055.3734,"count":120},{"id":1603616400,"open":13065.1,"close":13040.8,"high":13084.0,"low":13014.2,"amount":0.478,"vol":478,"trade_turnover":6235.7882,"count":117},{"id":1603620000,"open":13047.1,"close":13028.5,"high":13064.2,"low":13010.2,"amount":0.478,"vol":478,"trade_turnover":6232.2428,"count":125},{"id":1603623600,"open":13061.5,"close":12897.6,"high":13061.5,"low":12852.9,"amount":0.534,"vol":534,"trade_turnover":6918.1226,"count":123},{"id":1603627200,"open":12908.3,"close":12964.3,"high":13069.7,"low":12893.2,"amount":0.444,"vol":444,"trade_turnover":5755.8712,"count":117},{"id":1603630800,"open":13001.3,"close":12949.3,"high":13071.9,"low":12891.8,"amount":0.498,"vol":498,"trade_turnover":6465.078,"count":119},{"id":1603634400,"open":12975.8,"close":12946.8,"high":13077.7,"low":12900.0,"amount":0.468,"vol":468,"trade_turnover":6075.4554,"count":116},{"id":1603638000,"open":12975.2,"close":12883.3,"high":13069.1,"low":12883.3,"amount":0.47,"vol":470,"trade_turnover":6097.1072,"count":119},{"id":1603641600,"open":12916.2,"close":12978.7,"high":13067.9,"low":12877.5,"amount":0.482,"vol":482,"trade_turnover":6256.4472,"count":118},{"id":1603645200,"open":13008.0,"close":13004.4,"high":13087.5,"low":12922.7,"amount":0.47,"vol":470,"trade_turnover":6108.3892,"count":117},{"id":1603648800,"open":12972.8,"close":12957.2,"high":13067.6,"low":12893.6,"amount":0.468,"vol":468,"trade_turnover":6079.1484,"count":118},{"id":1603652400,"open":12996.5,"close":13021.8,"high":13066.9,"low":12916.6,"amount":0.442,"vol":442,"trade_turnover":5746.5548,"count":118},{"id":1603656000,"open":12992.9,"close":12985.4,"high":13081.5,"low":12944.9,"amount":0.508,"vol":508,"trade_turnover":6616.9872,"count":120},{"id":1603659600,"open":12999.9,"close":13011.2,"high":13068.6,"low":12921.4,"amount":0.508,"vol":508,"trade_turnover":6614.816,"count":122},{"id":1603663200,"open":12979.6,"close":12959.4,"high":13073.8,"low":12911.9,"amount":0.486,"vol":486,"trade_turnover":6320.907,"count":121},{"id":1603666800,"open":12963.4,"close":13032.1,"high":13085.2,"low":12927.8,"amount":0.452,"vol":452,"trade_turnover":5878.6442,"count":113},{"id":1603670400,"open":12964.2,"close":13001.0,"high":13076.7,"low":12918.3,"amount":0.482,"vol":482,"trade_turnover":6263.698,"count":121},{"id":1603674000,"open":13040.0,"close":13053.7,"high":13096.4,"low":12991.2,"amount":0.478,"vol":478,"trade_turnover":6232.2328,"count":124},{"id":1603677600,"open":13060.6,"close":13064.4,"high":13185.7,"low":12985.1,"amount":0.488,"vol":488,"trade_turnover":6387.534,"count":121},{"id":1603681200,"open":13032.3,"close":13092.8,"high":13187.2,"low":12984.1,"amount":0.486,"vol":486,"trade_turnover":6369.0272,"count":135},{"id":1603684800,"open":13092.0,"close":13132.6,"high":13181.6,"low":12962.3,"amount":0.51,"vol":510,"trade_turnover":6679.829,"count":131},{"id":1603688400,"open":13129.2,"close":13092.1,"high":13205.3,"low":13025.3,"amount":0.506,"vol":506,"trade_turnover":6641.2128,"count":126},{"id":1603692000,"open":13121.8,"close":13071.4,"high":13188.1,"low":12989.8,"amount":1.616,"vol":1616,"trade_turnover":21170.8224,"count":141},{"id":1603695600,"open":13061.0,"close":13038.7,"high":13100.0,"low":12965.2,"amount":3.746,"vol":3746,"trade_turnover":48924.8902,"count":110},{"id":1603699200,"open":13030.9,"close":13039.3,"high":13102.0,"low":12852.8,"amount":8.966,"vol":8966,"trade_turnover":116525.5534,"count":173},{"id":1603702800,"open":13047.1,"close":13075.9,"high":13088.4,"low":13039.8,"amount":4.48,"vol":4480,"trade_turnover":58521.1714,"count":124},{"id":1603706400,"open":13072.1,"close":13100.0,"high":13100.0,"low":13060.2,"amount":4.272,"vol":4272,"trade_turnover":55895.9778,"count":130},{"id":1603710000,"open":13100.0,"close":13138.4,"high":13159.0,"low":13100.0,"amount":29.798,"vol":29798,"trade_turnover":391138.024,"count":230},{"id":1603713600,"open":13138.8,"close":13149.8,"high":13200.0,"low":13100.0,"amount":5.154,"vol":5154,"trade_turnover":67694.652,"count":188},{"id":1603717200,"open":13150.0,"close":13205.8,"high":13351.5,"low":13133.1,"amount":35.608,"vol":35608,"trade_turnover":472780.3394,"count":328},{"id":1603720800,"open":13203.0,"close":13166.1,"high":13280.0,"low":13144.1,"amount":31.748,"vol":31748,"trade_turnover":418744.5588,"count":235},{"id":1603724400,"open":13159.0,"close":12978.0,"high":13165.2,"low":12903.8,"amount":36.53,"vol":36530,"trade_turnover":476940.3296,"count":384},{"id":1603728000,"open":12965.0,"close":12869.6,"high":13069.8,"low":12850.5,"amount":35.018,"vol":35018,"trade_turnover":453288.918,"count":323},{"id":1603731600,"open":12879.2,"close":12873.8,"high":12941.5,"low":12583.9,"amount":92.628,"vol":92628,"trade_turnover":1185973.467,"count":560},{"id":1603735200,"open":12856.2,"close":12946.8,"high":12954.5,"low":12820.4,"amount":4.302,"vol":4302,"trade_turnover":55481.0054,"count":128},{"id":1603738800,"open":12945.6,"close":12953.4,"high":12953.5,"low":12914.1,"amount":13.83,"vol":13830,"trade_turnover":179112.1598,"count":118},{"id":1603742400,"open":12953.5,"close":12983.4,"high":13007.5,"low":12953.5,"amount":17.172,"vol":17172,"trade_turnover":223230.2122,"count":132},{"id":1603746000,"open":12983.1,"close":12993.8,"high":13007.5,"low":12982.7,"amount":3.212,"vol":3212,"trade_turnover":41767.8906,"count":59},{"id":1603749600,"open":13002.1,"close":13007.5,"high":13007.5,"low":12974.0,"amount":1.504,"vol":1504,"trade_turnover":19543.3568,"count":74},{"id":1603753200,"open":13007.5,"close":13033.7,"high":13061.2,"low":13007.5,"amount":3.454,"vol":3454,"trade_turnover":45001.601,"count":101},{"id":1603756800,"open":13029.2,"close":13067.1,"high":13105.0,"low":13028.3,"amount":8.784,"vol":8784,"trade_turnover":114871.8246,"count":98},{"id":1603760400,"open":13074.3,"close":13061.7,"high":13074.4,"low":13051.5,"amount":11.592,"vol":11592,"trade_turnover":151386.9038,"count":66},{"id":1603764000,"open":13061.7,"close":13049.7,"high":13097.6,"low":13040.1,"amount":19.298,"vol":19298,"trade_turnover":252061.019,"count":109},{"id":1603767600,"open":13057.6,"close":13070.4,"high":13080.0,"low":13057.1,"amount":22.992,"vol":22992,"trade_turnover":300453.9788,"count":69},{"id":1603771200,"open":13080.0,"close":13103.3,"high":13175.0,"low":13079.6,"amount":14.396,"vol":14396,"trade_turnover":188461.9156,"count":59},{"id":1603774800,"open":13121.3,"close":13073.6,"high":13121.3,"low":13069.7,"amount":5.058,"vol":5058,"trade_turnover":66201.3552,"count":44},{"id":1603778400,"open":13074.9,"close":13103.4,"high":13149.0,"low":13069.6,"amount":9.106,"vol":9106,"trade_turnover":119104.8906,"count":107},{"id":1603782000,"open":13103.3,"close":13130.0,"high":13169.8,"low":12992.4,"amount":73.95,"vol":73950,"trade_turnover":968195.155,"count":305},{"id":1603785600,"open":13135.1,"close":13123.8,"high":13148.4,"low":13044.0,"amount":18.732,"vol":18732,"trade_turnover":245533.5448,"count":135},{"id":1603789200,"open":13115.5,"close":13131.7,"high":13131.8,"low":13075.7,"amount":13.756,"vol":13756,"trade_turnover":180253.7708,"count":102},{"id":1603792800,"open":13134.8,"close":13216.9,"high":13252.0,"low":13063.4,"amount":154.108,"vol":154108,"trade_turnover":2029983.656,"count":525},{"id":1603796400,"open":13218.8,"close":13395.8,"high":13590.1,"low":13213.5,"amount":170.09,"vol":170090,"trade_turnover":2276279.742,"count":591},{"id":1603800000,"open":13395.9,"close":13376.9,"high":13414.0,"low":13331.7,"amount":48.928,"vol":48928,"trade_turnover":654585.9108,"count":216},{"id":1603803600,"open":13376.5,"close":13384.3,"high":13490.9,"low":13329.8,"amount":63.294,"vol":63294,"trade_turnover":848130.9212,"count":316},{"id":1603807200,"open":13392.6,"close":13398.2,"high":13415.8,"low":13344.8,"amount":12.892,"vol":12892,"trade_turnover":172618.6864,"count":124},{"id":1603810800,"open":13398.2,"close":13598.5,"high":13626.7,"low":13398.2,"amount":93.22,"vol":93220,"trade_turnover":1262695.5466,"count":476},{"id":1603814400,"open":13595.8,"close":13639.9,"high":13639.9,"low":13520.2,"amount":85.45,"vol":85450,"trade_turnover":1161481.4136,"count":435},{"id":1603818000,"open":13640.0,"close":13688.1,"high":13826.7,"low":13589.0,"amount":191.812,"vol":191812,"trade_turnover":2628428.3788,"count":711},{"id":1603821600,"open":13685.0,"close":13630.1,"high":13745.0,"low":13528.2,"amount":65.434,"vol":65434,"trade_turnover":891541.8394,"count":410},{"id":1603825200,"open":13629.4,"close":13637.1,"high":13659.8,"low":13595.4,"amount":5.788,"vol":5788,"trade_turnover":78836.2578,"count":65},{"id":1603828800,"open":13644.4,"close":13616.6,"high":13805.1,"low":13582.6,"amount":163.104,"vol":163104,"trade_turnover":2234040.3544,"count":537},{"id":1603832400,"open":13609.8,"close":13705.5,"high":13753.5,"low":13609.8,"amount":9.884,"vol":9884,"trade_turnover":135406.4752,"count":101},{"id":1603836000,"open":13705.4,"close":13739.9,"high":13739.9,"low":13658.2,"amount":7.436,"vol":7436,"trade_turnover":101840.3508,"count":100},{"id":1603839600,"open":13739.9,"close":13649.6,"high":13794.6,"low":13582.6,"amount":17.086,"vol":17086,"trade_turnover":233971.8448,"count":234},{"id":1603843200,"open":13645.9,"close":13701.7,"high":13745.2,"low":13618.8,"amount":24.108,"vol":24108,"trade_turnover":330206.5694,"count":177},{"id":1603846800,"open":13702.1,"close":13702.6,"high":13725.6,"low":13647.9,"amount":15.892,"vol":15892,"trade_turnover":217816.7008,"count":151},{"id":1603850400,"open":13701.7,"close":13811.6,"high":13832.2,"low":13680.2,"amount":46.548,"vol":46548,"trade_turnover":640636.0352,"count":274},{"id":1603854000,"open":13818.5,"close":13777.0,"high":13820.3,"low":13717.5,"amount":67.896,"vol":67896,"trade_turnover":935838.2238,"count":320},{"id":1603857600,"open":13767.3,"close":13735.7,"high":13807.2,"low":13710.0,"amount":33.156,"vol":33156,"trade_turnover":455941.234,"count":210},{"id":1603861200,"open":13735.5,"close":13715.8,"high":13753.9,"low":13671.3,"amount":32.076,"vol":32076,"trade_turnover":439612.64,"count":198},{"id":1603864800,"open":13715.9,"close":13701.3,"high":13757.0,"low":13694.9,"amount":14.756,"vol":14756,"trade_turnover":202602.5164,"count":122},{"id":1603868400,"open":13701.2,"close":13674.2,"high":13708.7,"low":13550.0,"amount":155.534,"vol":155534,"trade_turnover":2117935.0928,"count":635},{"id":1603872000,"open":13673.0,"close":13691.7,"high":13691.7,"low":13584.0,"amount":29.846,"vol":29846,"trade_turnover":407073.1398,"count":240},{"id":1603875600,"open":13689.3,"close":13587.1,"high":13707.5,"low":13573.5,"amount":104.542,"vol":104542,"trade_turnover":1425079.9344,"count":377},{"id":1603879200,"open":13584.6,"close":13552.7,"high":13618.0,"low":13504.7,"amount":73.818,"vol":73818,"trade_turnover":1001666.0908,"count":358},{"id":1603882800,"open":13552.6,"close":13336.4,"high":13565.4,"low":13330.0,"amount":176.544,"vol":176544,"trade_turnover":2369166.1492,"count":1004},{"id":1603886400,"open":13331.5,"close":13300.3,"high":13385.0,"low":13173.9,"amount":289.73,"vol":289730,"trade_turnover":3846751.7166,"count":968},{"id":1603890000,"open":13300.2,"close":13129.9,"high":13340.0,"low":13122.9,"amount":139.822,"vol":139822,"trade_turnover":1848876.932,"count":612},{"id":1603893600,"open":13123.4,"close":13082.2,"high":13168.2,"low":12915.9,"amount":367.876,"vol":367876,"trade_turnover":4802516.9818,"count":1168},{"id":1603897200,"open":13077.1,"close":13221.2,"high":13235.2,"low":13052.3,"amount":84.044,"vol":84044,"trade_turnover":1106883.1282,"count":375},{"id":1603900800,"open":13218.7,"close":13145.1,"high":13218.7,"low":13050.0,"amount":29.566,"vol":29566,"trade_turnover":388697.4104,"count":244},{"id":1603904400,"open":13145.1,"close":13176.7,"high":13204.9,"low":13006.6,"amount":53.336,"vol":53336,"trade_turnover":700385.2784,"count":299},{"id":1603908000,"open":13171.0,"close":13196.5,"high":13219.6,"low":13131.0,"amount":34.164,"vol":34164,"trade_turnover":450210.5778,"count":218},{"id":1603911600,"open":13200.0,"close":13154.9,"high":13237.4,"low":13145.0,"amount":22.158,"vol":22158,"trade_turnover":292020.0438,"count":185},{"id":1603915200,"open":13154.5,"close":13198.1,"high":13211.8,"low":13147.4,"amount":4.548,"vol":4548,"trade_turnover":59991.1118,"count":75},{"id":1603918800,"open":13193.5,"close":13190.1,"high":13196.5,"low":13100.2,"amount":3.52,"vol":3520,"trade_turnover":46175.428,"count":68},{"id":1603922400,"open":13185.4,"close":13252.0,"high":13267.5,"low":13185.4,"amount":3.122,"vol":3122,"trade_turnover":41304.2018,"count":72},{"id":1603926000,"open":13242.1,"close":13265.9,"high":13282.3,"low":13235.9,"amount":14.768,"vol":14768,"trade_turnover":195689.0764,"count":86},{"id":1603929600,"open":13253.9,"close":13245.1,"high":13294.7,"low":13237.4,"amount":19.968,"vol":19968,"trade_turnover":264834.1944,"count":98},{"id":1603933200,"open":13244.6,"close":13274.2,"high":13285.3,"low":13166.3,"amount":35.282,"vol":35282,"trade_turnover":465789.6302,"count":192},{"id":1603936800,"open":13275.9,"close":13241.1,"high":13277.7,"low":13212.2,"amount":9.748,"vol":9748,"trade_turnover":129016.0684,"count":119},{"id":1603940400,"open":13237.1,"close":13262.5,"high":13262.5,"low":13174.6,"amount":27.3,"vol":27300,"trade_turnover":360589.8982,"count":199},{"id":1603944000,"open":13269.1,"close":13229.5,"high":13277.7,"low":13229.5,"amount":18.904,"vol":18904,"trade_turnover":250713.2812,"count":109},{"id":1603947600,"open":13228.5,"close":13274.8,"high":13274.8,"low":13228.5,"amount":15.822,"vol":15822,"trade_turnover":209781.909,"count":134},{"id":1603951200,"open":13274.8,"close":13255.0,"high":13323.0,"low":13242.3,"amount":91.246,"vol":91246,"trade_turnover":1211271.2788,"count":294},{"id":1603954800,"open":13255.0,"close":13142.4,"high":13269.3,"low":13123.1,"amount":187.622,"vol":187622,"trade_turnover":2478299.7074,"count":506},{"id":1603958400,"open":13145.9,"close":13124.8,"high":13182.4,"low":13094.1,"amount":69.532,"vol":69532,"trade_turnover":914157.2418,"count":226},{"id":1603962000,"open":13129.5,"close":13183.7,"high":13197.1,"low":13129.5,"amount":23.184,"vol":23184,"trade_turnover":305485.9524,"count":141},{"id":1603965600,"open":13184.8,"close":13105.2,"high":13187.5,"low":13053.1,"amount":121.146,"vol":121146,"trade_turnover":1590026.4416,"count":442},{"id":1603969200,"open":13105.1,"close":13060.1,"high":13171.4,"low":13060.1,"amount":47.498,"vol":47498,"trade_turnover":623578.149,"count":262},{"id":1603972800,"open":13056.9,"close":13131.8,"high":13145.8,"low":12977.9,"amount":126.552,"vol":126552,"trade_turnover":1652549.311,"count":481},{"id":1603976400,"open":13131.7,"close":13230.0,"high":13237.2,"low":13102.0,"amount":100.482,"vol":100482,"trade_turnover":1326403.7206,"count":325},{"id":1603980000,"open":13231.0,"close":13420.8,"high":13476.1,"low":13231.0,"amount":253.258,"vol":253258,"trade_turnover":3384941.438,"count":752},{"id":1603983600,"open":13416.0,"close":13420.6,"high":13458.7,"low":13358.7,"amount":64.71,"vol":64710,"trade_turnover":869052.3804,"count":269},{"id":1603987200,"open":13421.9,"close":13535.9,"high":13594.5,"low":13391.8,"amount":120.24,"vol":120240,"trade_turnover":1626567.8278,"count":570}]} +2024-01-18 11:13:07.946 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:41] - 请求 KLine 数据解析之后的数据为:{"wsid":19750305,"data":[{"amount":0.276,"high":12300.0,"vol":276,"low":11715.8,"count":39,"id":1603270800,"close":12196.7,"tradeTurnover":3315.9104,"open":12198.0},{"amount":0.198,"high":12289.9,"vol":198,"low":12111.0,"count":21,"id":1603274400,"close":12277.9,"tradeTurnover":2420.7728,"open":12196.7},{"amount":0.012,"high":12277.9,"vol":12,"low":12000.0,"count":5,"id":1603278000,"close":12000.0,"tradeTurnover":145.2238,"open":12111.0},{"amount":0.084,"high":12498.0,"vol":84,"low":12078.0,"count":12,"id":1603281600,"close":12497.4,"tradeTurnover":1040.0504,"open":12078.0},{"amount":1.122,"high":12495.6,"vol":1122,"low":12282.9,"count":112,"id":1603285200,"close":12373.5,"tradeTurnover":13905.3124,"open":12495.6},{"amount":5.29,"high":12807.6,"vol":5290,"low":12358.1,"count":155,"id":1603288800,"close":12689.9,"tradeTurnover":66852.128,"open":12412.9},{"amount":1.174,"high":12778.7,"vol":1174,"low":12573.2,"count":113,"id":1603292400,"close":12701.9,"tradeTurnover":14907.367,"open":12692.8},{"amount":1.156,"high":12920.9,"vol":1156,"low":12624.8,"count":115,"id":1603296000,"close":12835.9,"tradeTurnover":14802.449,"open":12679.7},{"amount":1.12,"high":12908.3,"vol":1120,"low":12687.5,"count":115,"id":1603299600,"close":12754.2,"tradeTurnover":14345.7324,"open":12848.3},{"amount":1.106,"high":12849.0,"vol":1106,"low":12668.3,"count":114,"id":1603303200,"close":12740.2,"tradeTurnover":14105.3504,"open":12743.7},{"amount":1.032,"high":12843.1,"vol":1032,"low":12597.2,"count":112,"id":1603306800,"close":12650.3,"tradeTurnover":13125.4568,"open":12729.5},{"amount":1.154,"high":12848.4,"vol":1154,"low":12610.2,"count":116,"id":1603310400,"close":12807.0,"tradeTurnover":14680.638,"open":12666.8},{"amount":1.164,"high":13005.1,"vol":1164,"low":12748.2,"count":114,"id":1603314000,"close":12938.9,"tradeTurnover":14976.9366,"open":12866.0},{"amount":1.174,"high":13211.2,"vol":1174,"low":12865.7,"count":114,"id":1603317600,"close":13122.0,"tradeTurnover":15285.2446,"open":12921.0},{"amount":1.172,"high":13173.2,"vol":1172,"low":12688.6,"count":117,"id":1603321200,"close":12829.8,"tradeTurnover":15060.9938,"open":13153.2},{"amount":1.17,"high":12988.1,"vol":1170,"low":12764.4,"count":117,"id":1603324800,"close":12885.9,"tradeTurnover":15046.2046,"open":12793.1},{"amount":1.158,"high":12972.6,"vol":1158,"low":12757.5,"count":118,"id":1603328400,"close":12757.5,"tradeTurnover":14882.4656,"open":12860.4},{"amount":1.124,"high":12848.0,"vol":1124,"low":12729.0,"count":115,"id":1603332000,"close":12788.8,"tradeTurnover":14368.7948,"open":12824.1},{"amount":1.194,"high":12834.4,"vol":1194,"low":12729.0,"count":111,"id":1603335600,"close":12767.2,"tradeTurnover":15268.9298,"open":12791.7},{"amount":1.152,"high":12778.3,"vol":1152,"low":12729.0,"count":115,"id":1603339200,"close":12762.2,"tradeTurnover":14695.4876,"open":12729.0},{"amount":1.21,"high":12842.0,"vol":1210,"low":12730.6,"count":119,"id":1603342800,"close":12813.8,"tradeTurnover":15440.8162,"open":12763.1},{"amount":1.188,"high":12795.0,"vol":1188,"low":12728.0,"count":123,"id":1603346400,"close":12729.1,"tradeTurnover":15128.0098,"open":12795.0},{"amount":1.266,"high":12730.6,"vol":1266,"low":12728.3,"count":112,"id":1603350000,"close":12730.6,"tradeTurnover":16115.1306,"open":12728.6},{"amount":1.35,"high":12921.5,"vol":1350,"low":12729.9,"count":127,"id":1603353600,"close":12770.1,"tradeTurnover":17233.7326,"open":12730.3},{"amount":0.98,"high":12872.1,"vol":980,"low":12760.1,"count":99,"id":1603357200,"close":12780.4,"tradeTurnover":12553.9826,"open":12824.9},{"amount":0.266,"high":13002.7,"vol":266,"low":12775.6,"count":30,"id":1603360800,"close":12934.2,"tradeTurnover":3415.023,"open":12784.9},{"amount":1.004,"high":13057.0,"vol":1004,"low":12886.6,"count":117,"id":1603364400,"close":13045.0,"tradeTurnover":13020.8576,"open":12977.0},{"amount":1.134,"high":12973.4,"vol":1134,"low":12751.6,"count":111,"id":1603368000,"close":12847.9,"tradeTurnover":14594.2752,"open":12958.5},{"amount":1.152,"high":13000.8,"vol":1152,"low":12743.0,"count":114,"id":1603371600,"close":12931.0,"tradeTurnover":14877.7314,"open":12882.7},{"amount":1.182,"high":12995.3,"vol":1182,"low":12783.9,"count":115,"id":1603375200,"close":12917.8,"tradeTurnover":15224.4716,"open":12890.4},{"amount":1.176,"high":13031.2,"vol":1176,"low":12817.9,"count":117,"id":1603378800,"close":12953.0,"tradeTurnover":15197.208,"open":12918.8},{"amount":1.146,"high":13100.2,"vol":1146,"low":12865.6,"count":119,"id":1603382400,"close":13055.6,"tradeTurnover":14851.9604,"open":12923.1},{"amount":1.534,"high":13105.7,"vol":1534,"low":12835.5,"count":124,"id":1603386000,"close":13082.7,"tradeTurnover":19927.8288,"open":12967.6},{"amount":1.268,"high":13115.0,"vol":1268,"low":12938.7,"count":117,"id":1603389600,"close":13016.4,"tradeTurnover":16505.4738,"open":13020.4},{"amount":1.13,"high":13171.2,"vol":1130,"low":12961.8,"count":112,"id":1603393200,"close":12970.6,"tradeTurnover":14762.952,"open":13028.3},{"amount":1.206,"high":13216.1,"vol":1206,"low":12998.5,"count":117,"id":1603396800,"close":13089.3,"tradeTurnover":15807.1226,"open":13016.7},{"amount":1.332,"high":13203.7,"vol":1332,"low":12932.9,"count":114,"id":1603400400,"close":13092.0,"tradeTurnover":17423.4422,"open":13136.0},{"amount":1.21,"high":13250.5,"vol":1210,"low":12984.7,"count":114,"id":1603404000,"close":13055.9,"tradeTurnover":15876.0632,"open":13119.4},{"amount":1.286,"high":13126.5,"vol":1286,"low":12857.2,"count":116,"id":1603407600,"close":12890.4,"tradeTurnover":16688.422,"open":13059.4},{"amount":1.502,"high":12994.0,"vol":1502,"low":12751.6,"count":131,"id":1603411200,"close":12892.2,"tradeTurnover":19331.1596,"open":12929.7},{"amount":1.386,"high":13003.2,"vol":1386,"low":12786.0,"count":121,"id":1603414800,"close":12898.3,"tradeTurnover":17904.8902,"open":12921.7},{"amount":1.416,"high":13054.0,"vol":1416,"low":12800.7,"count":122,"id":1603418400,"close":12975.1,"tradeTurnover":18306.6204,"open":12951.6},{"amount":1.19,"high":13030.7,"vol":1190,"low":12875.0,"count":118,"id":1603422000,"close":12947.0,"tradeTurnover":15409.7984,"open":12967.3},{"amount":1.022,"high":13047.3,"vol":1022,"low":12832.8,"count":127,"id":1603425600,"close":12852.0,"tradeTurnover":13214.4388,"open":12925.2},{"amount":0.478,"high":12991.7,"vol":478,"low":12841.2,"count":118,"id":1603429200,"close":12931.1,"tradeTurnover":6180.2486,"open":12859.0},{"amount":0.522,"high":13014.1,"vol":522,"low":12871.9,"count":132,"id":1603432800,"close":12939.6,"tradeTurnover":6759.0324,"open":12935.9},{"amount":0.476,"high":12998.9,"vol":476,"low":12917.1,"count":118,"id":1603436400,"close":12925.4,"tradeTurnover":6163.3118,"open":12923.1},{"amount":0.508,"high":13014.0,"vol":508,"low":12916.1,"count":122,"id":1603440000,"close":12962.6,"tradeTurnover":6585.3656,"open":12942.2},{"amount":0.564,"high":13012.5,"vol":564,"low":12909.9,"count":124,"id":1603443600,"close":12926.4,"tradeTurnover":7308.8828,"open":12970.5},{"amount":0.536,"high":13059.5,"vol":536,"low":12925.7,"count":124,"id":1603447200,"close":13007.7,"tradeTurnover":6957.8796,"open":13001.2},{"amount":0.486,"high":13078.4,"vol":486,"low":12906.5,"count":122,"id":1603450800,"close":12970.6,"tradeTurnover":6326.1434,"open":13025.4},{"amount":0.494,"high":13025.0,"vol":494,"low":12850.8,"count":117,"id":1603454400,"close":12935.4,"tradeTurnover":6396.0984,"open":12963.9},{"amount":0.466,"high":13043.3,"vol":466,"low":12911.0,"count":117,"id":1603458000,"close":12951.7,"tradeTurnover":6049.1412,"open":12913.3},{"amount":0.46,"high":13006.4,"vol":460,"low":12840.4,"count":116,"id":1603461600,"close":12858.8,"tradeTurnover":5941.815,"open":12999.6},{"amount":0.492,"high":12932.9,"vol":492,"low":12826.5,"count":117,"id":1603465200,"close":12881.9,"tradeTurnover":6340.214,"open":12885.7},{"amount":0.484,"high":12933.5,"vol":484,"low":12744.4,"count":123,"id":1603468800,"close":12784.1,"tradeTurnover":6205.4138,"open":12854.4},{"amount":0.562,"high":12893.1,"vol":562,"low":12730.1,"count":152,"id":1603472400,"close":12847.7,"tradeTurnover":7218.9184,"open":12832.3},{"amount":0.53,"high":12939.3,"vol":530,"low":12751.4,"count":128,"id":1603476000,"close":12915.7,"tradeTurnover":6825.7004,"open":12874.1},{"amount":0.444,"high":12972.9,"vol":444,"low":12786.6,"count":117,"id":1603479600,"close":12972.9,"tradeTurnover":5727.7452,"open":12867.9},{"amount":0.492,"high":13002.2,"vol":492,"low":12842.9,"count":116,"id":1603483200,"close":12991.6,"tradeTurnover":6375.1566,"open":12956.7},{"amount":0.5,"high":13004.3,"vol":500,"low":12936.6,"count":125,"id":1603486800,"close":12943.5,"tradeTurnover":6485.468,"open":13004.3},{"amount":0.492,"high":13010.3,"vol":492,"low":12884.7,"count":120,"id":1603490400,"close":12989.2,"tradeTurnover":6376.1492,"open":12923.6},{"amount":0.51,"high":13024.4,"vol":510,"low":12884.6,"count":121,"id":1603494000,"close":12884.6,"tradeTurnover":6622.3406,"open":12974.9},{"amount":0.488,"high":13018.3,"vol":488,"low":12811.1,"count":120,"id":1603497600,"close":12953.9,"tradeTurnover":6317.7938,"open":12973.7},{"amount":0.482,"high":13018.1,"vol":482,"low":12872.8,"count":117,"id":1603501200,"close":12934.2,"tradeTurnover":6242.4178,"open":12927.5},{"amount":0.484,"high":13003.9,"vol":484,"low":12903.3,"count":117,"id":1603504800,"close":12989.1,"tradeTurnover":6278.1756,"open":12971.9},{"amount":0.474,"high":13013.4,"vol":474,"low":12938.3,"count":122,"id":1603508400,"close":12975.9,"tradeTurnover":6157.7096,"open":13000.1},{"amount":0.526,"high":13009.4,"vol":526,"low":12905.5,"count":124,"id":1603512000,"close":12963.3,"tradeTurnover":6831.5658,"open":12989.7},{"amount":0.522,"high":13041.8,"vol":522,"low":12875.3,"count":127,"id":1603515600,"close":12989.7,"tradeTurnover":6768.8994,"open":12910.5},{"amount":0.49,"high":13058.1,"vol":490,"low":12908.8,"count":120,"id":1603519200,"close":13003.6,"tradeTurnover":6370.5714,"open":12994.7},{"amount":0.478,"high":13037.8,"vol":478,"low":12981.7,"count":120,"id":1603522800,"close":13004.2,"tradeTurnover":6218.9722,"open":13011.9},{"amount":0.52,"high":13030.6,"vol":520,"low":12899.4,"count":124,"id":1603526400,"close":12998.2,"tradeTurnover":6754.958,"open":13003.0},{"amount":0.454,"high":13020.3,"vol":454,"low":12893.6,"count":115,"id":1603530000,"close":12990.6,"tradeTurnover":5891.0574,"open":12998.2},{"amount":0.502,"high":13059.1,"vol":502,"low":12913.2,"count":124,"id":1603533600,"close":13030.1,"tradeTurnover":6525.9004,"open":12996.4},{"amount":0.468,"high":13068.3,"vol":468,"low":12940.2,"count":119,"id":1603537200,"close":13033.2,"tradeTurnover":6091.0376,"open":12988.4},{"amount":0.468,"high":13071.8,"vol":468,"low":12978.9,"count":123,"id":1603540800,"close":13006.5,"tradeTurnover":6102.5902,"open":13035.3},{"amount":0.534,"high":13066.7,"vol":534,"low":12928.1,"count":123,"id":1603544400,"close":12985.9,"tradeTurnover":6950.4268,"open":13038.8},{"amount":0.47,"high":13100.1,"vol":470,"low":12960.5,"count":100,"id":1603548000,"close":13042.0,"tradeTurnover":6124.2178,"open":12986.3},{"amount":0.456,"high":13196.5,"vol":456,"low":13038.4,"count":120,"id":1603551600,"close":13102.2,"tradeTurnover":5989.6362,"open":13038.4},{"amount":0.458,"high":13176.6,"vol":458,"low":12984.6,"count":121,"id":1603555200,"close":13052.7,"tradeTurnover":5976.331,"open":13136.8},{"amount":0.452,"high":13177.8,"vol":452,"low":13003.2,"count":118,"id":1603558800,"close":13177.8,"tradeTurnover":5911.7058,"open":13006.2},{"amount":0.468,"high":13170.7,"vol":468,"low":13023.0,"count":119,"id":1603562400,"close":13080.8,"tradeTurnover":6122.375,"open":13127.7},{"amount":0.468,"high":13179.3,"vol":468,"low":13014.2,"count":120,"id":1603566000,"close":13148.4,"tradeTurnover":6126.4278,"open":13040.7},{"amount":0.47,"high":13179.6,"vol":470,"low":12992.5,"count":119,"id":1603569600,"close":13090.1,"tradeTurnover":6151.4758,"open":13073.5},{"amount":0.458,"high":13148.7,"vol":458,"low":12980.7,"count":117,"id":1603573200,"close":12993.9,"tradeTurnover":5981.071,"open":13035.4},{"amount":0.478,"high":13112.1,"vol":478,"low":12975.6,"count":118,"id":1603576800,"close":13041.1,"tradeTurnover":6225.4216,"open":13040.7},{"amount":0.472,"high":13184.3,"vol":472,"low":13009.3,"count":118,"id":1603580400,"close":13184.3,"tradeTurnover":6173.4244,"open":13012.6},{"amount":0.46,"high":13170.4,"vol":460,"low":13007.7,"count":115,"id":1603584000,"close":13154.3,"tradeTurnover":6024.09,"open":13080.8},{"amount":0.398,"high":13196.8,"vol":398,"low":13024.0,"count":102,"id":1603587600,"close":13196.1,"tradeTurnover":5217.5364,"open":13092.0},{"amount":0.476,"high":13175.1,"vol":476,"low":13035.0,"count":120,"id":1603591200,"close":13082.4,"tradeTurnover":6228.6596,"open":13124.7},{"amount":0.578,"high":13383.8,"vol":578,"low":13049.1,"count":137,"id":1603594800,"close":13259.0,"tradeTurnover":7629.3886,"open":13049.1},{"amount":0.47,"high":13369.0,"vol":470,"low":13216.0,"count":122,"id":1603598400,"close":13243.4,"tradeTurnover":6247.955,"open":13277.0},{"amount":0.61,"high":13353.3,"vol":610,"low":13010.1,"count":134,"id":1603602000,"close":13017.3,"tradeTurnover":8048.8598,"open":13285.3},{"amount":0.486,"high":13105.7,"vol":486,"low":13018.2,"count":118,"id":1603605600,"close":13060.3,"tradeTurnover":6344.1474,"open":13022.5},{"amount":0.464,"high":13112.1,"vol":464,"low":13022.0,"count":120,"id":1603609200,"close":13078.1,"tradeTurnover":6061.5416,"open":13048.5},{"amount":0.464,"high":13091.0,"vol":464,"low":13017.2,"count":120,"id":1603612800,"close":13046.0,"tradeTurnover":6055.3734,"open":13077.2},{"amount":0.478,"high":13084.0,"vol":478,"low":13014.2,"count":117,"id":1603616400,"close":13040.8,"tradeTurnover":6235.7882,"open":13065.1},{"amount":0.478,"high":13064.2,"vol":478,"low":13010.2,"count":125,"id":1603620000,"close":13028.5,"tradeTurnover":6232.2428,"open":13047.1},{"amount":0.534,"high":13061.5,"vol":534,"low":12852.9,"count":123,"id":1603623600,"close":12897.6,"tradeTurnover":6918.1226,"open":13061.5},{"amount":0.444,"high":13069.7,"vol":444,"low":12893.2,"count":117,"id":1603627200,"close":12964.3,"tradeTurnover":5755.8712,"open":12908.3},{"amount":0.498,"high":13071.9,"vol":498,"low":12891.8,"count":119,"id":1603630800,"close":12949.3,"tradeTurnover":6465.078,"open":13001.3},{"amount":0.468,"high":13077.7,"vol":468,"low":12900.0,"count":116,"id":1603634400,"close":12946.8,"tradeTurnover":6075.4554,"open":12975.8},{"amount":0.47,"high":13069.1,"vol":470,"low":12883.3,"count":119,"id":1603638000,"close":12883.3,"tradeTurnover":6097.1072,"open":12975.2},{"amount":0.482,"high":13067.9,"vol":482,"low":12877.5,"count":118,"id":1603641600,"close":12978.7,"tradeTurnover":6256.4472,"open":12916.2},{"amount":0.47,"high":13087.5,"vol":470,"low":12922.7,"count":117,"id":1603645200,"close":13004.4,"tradeTurnover":6108.3892,"open":13008.0},{"amount":0.468,"high":13067.6,"vol":468,"low":12893.6,"count":118,"id":1603648800,"close":12957.2,"tradeTurnover":6079.1484,"open":12972.8},{"amount":0.442,"high":13066.9,"vol":442,"low":12916.6,"count":118,"id":1603652400,"close":13021.8,"tradeTurnover":5746.5548,"open":12996.5},{"amount":0.508,"high":13081.5,"vol":508,"low":12944.9,"count":120,"id":1603656000,"close":12985.4,"tradeTurnover":6616.9872,"open":12992.9},{"amount":0.508,"high":13068.6,"vol":508,"low":12921.4,"count":122,"id":1603659600,"close":13011.2,"tradeTurnover":6614.816,"open":12999.9},{"amount":0.486,"high":13073.8,"vol":486,"low":12911.9,"count":121,"id":1603663200,"close":12959.4,"tradeTurnover":6320.907,"open":12979.6},{"amount":0.452,"high":13085.2,"vol":452,"low":12927.8,"count":113,"id":1603666800,"close":13032.1,"tradeTurnover":5878.6442,"open":12963.4},{"amount":0.482,"high":13076.7,"vol":482,"low":12918.3,"count":121,"id":1603670400,"close":13001.0,"tradeTurnover":6263.698,"open":12964.2},{"amount":0.478,"high":13096.4,"vol":478,"low":12991.2,"count":124,"id":1603674000,"close":13053.7,"tradeTurnover":6232.2328,"open":13040.0},{"amount":0.488,"high":13185.7,"vol":488,"low":12985.1,"count":121,"id":1603677600,"close":13064.4,"tradeTurnover":6387.534,"open":13060.6},{"amount":0.486,"high":13187.2,"vol":486,"low":12984.1,"count":135,"id":1603681200,"close":13092.8,"tradeTurnover":6369.0272,"open":13032.3},{"amount":0.51,"high":13181.6,"vol":510,"low":12962.3,"count":131,"id":1603684800,"close":13132.6,"tradeTurnover":6679.829,"open":13092.0},{"amount":0.506,"high":13205.3,"vol":506,"low":13025.3,"count":126,"id":1603688400,"close":13092.1,"tradeTurnover":6641.2128,"open":13129.2},{"amount":1.616,"high":13188.1,"vol":1616,"low":12989.8,"count":141,"id":1603692000,"close":13071.4,"tradeTurnover":21170.8224,"open":13121.8},{"amount":3.746,"high":13100.0,"vol":3746,"low":12965.2,"count":110,"id":1603695600,"close":13038.7,"tradeTurnover":48924.8902,"open":13061.0},{"amount":8.966,"high":13102.0,"vol":8966,"low":12852.8,"count":173,"id":1603699200,"close":13039.3,"tradeTurnover":116525.5534,"open":13030.9},{"amount":4.48,"high":13088.4,"vol":4480,"low":13039.8,"count":124,"id":1603702800,"close":13075.9,"tradeTurnover":58521.1714,"open":13047.1},{"amount":4.272,"high":13100.0,"vol":4272,"low":13060.2,"count":130,"id":1603706400,"close":13100.0,"tradeTurnover":55895.9778,"open":13072.1},{"amount":29.798,"high":13159.0,"vol":29798,"low":13100.0,"count":230,"id":1603710000,"close":13138.4,"tradeTurnover":391138.024,"open":13100.0},{"amount":5.154,"high":13200.0,"vol":5154,"low":13100.0,"count":188,"id":1603713600,"close":13149.8,"tradeTurnover":67694.652,"open":13138.8},{"amount":35.608,"high":13351.5,"vol":35608,"low":13133.1,"count":328,"id":1603717200,"close":13205.8,"tradeTurnover":472780.3394,"open":13150.0},{"amount":31.748,"high":13280.0,"vol":31748,"low":13144.1,"count":235,"id":1603720800,"close":13166.1,"tradeTurnover":418744.5588,"open":13203.0},{"amount":36.53,"high":13165.2,"vol":36530,"low":12903.8,"count":384,"id":1603724400,"close":12978.0,"tradeTurnover":476940.3296,"open":13159.0},{"amount":35.018,"high":13069.8,"vol":35018,"low":12850.5,"count":323,"id":1603728000,"close":12869.6,"tradeTurnover":453288.918,"open":12965.0},{"amount":92.628,"high":12941.5,"vol":92628,"low":12583.9,"count":560,"id":1603731600,"close":12873.8,"tradeTurnover":1185973.467,"open":12879.2},{"amount":4.302,"high":12954.5,"vol":4302,"low":12820.4,"count":128,"id":1603735200,"close":12946.8,"tradeTurnover":55481.0054,"open":12856.2},{"amount":13.83,"high":12953.5,"vol":13830,"low":12914.1,"count":118,"id":1603738800,"close":12953.4,"tradeTurnover":179112.1598,"open":12945.6},{"amount":17.172,"high":13007.5,"vol":17172,"low":12953.5,"count":132,"id":1603742400,"close":12983.4,"tradeTurnover":223230.2122,"open":12953.5},{"amount":3.212,"high":13007.5,"vol":3212,"low":12982.7,"count":59,"id":1603746000,"close":12993.8,"tradeTurnover":41767.8906,"open":12983.1},{"amount":1.504,"high":13007.5,"vol":1504,"low":12974.0,"count":74,"id":1603749600,"close":13007.5,"tradeTurnover":19543.3568,"open":13002.1},{"amount":3.454,"high":13061.2,"vol":3454,"low":13007.5,"count":101,"id":1603753200,"close":13033.7,"tradeTurnover":45001.601,"open":13007.5},{"amount":8.784,"high":13105.0,"vol":8784,"low":13028.3,"count":98,"id":1603756800,"close":13067.1,"tradeTurnover":114871.8246,"open":13029.2},{"amount":11.592,"high":13074.4,"vol":11592,"low":13051.5,"count":66,"id":1603760400,"close":13061.7,"tradeTurnover":151386.9038,"open":13074.3},{"amount":19.298,"high":13097.6,"vol":19298,"low":13040.1,"count":109,"id":1603764000,"close":13049.7,"tradeTurnover":252061.019,"open":13061.7},{"amount":22.992,"high":13080.0,"vol":22992,"low":13057.1,"count":69,"id":1603767600,"close":13070.4,"tradeTurnover":300453.9788,"open":13057.6},{"amount":14.396,"high":13175.0,"vol":14396,"low":13079.6,"count":59,"id":1603771200,"close":13103.3,"tradeTurnover":188461.9156,"open":13080.0},{"amount":5.058,"high":13121.3,"vol":5058,"low":13069.7,"count":44,"id":1603774800,"close":13073.6,"tradeTurnover":66201.3552,"open":13121.3},{"amount":9.106,"high":13149.0,"vol":9106,"low":13069.6,"count":107,"id":1603778400,"close":13103.4,"tradeTurnover":119104.8906,"open":13074.9},{"amount":73.95,"high":13169.8,"vol":73950,"low":12992.4,"count":305,"id":1603782000,"close":13130.0,"tradeTurnover":968195.155,"open":13103.3},{"amount":18.732,"high":13148.4,"vol":18732,"low":13044.0,"count":135,"id":1603785600,"close":13123.8,"tradeTurnover":245533.5448,"open":13135.1},{"amount":13.756,"high":13131.8,"vol":13756,"low":13075.7,"count":102,"id":1603789200,"close":13131.7,"tradeTurnover":180253.7708,"open":13115.5},{"amount":154.108,"high":13252.0,"vol":154108,"low":13063.4,"count":525,"id":1603792800,"close":13216.9,"tradeTurnover":2029983.656,"open":13134.8},{"amount":170.09,"high":13590.1,"vol":170090,"low":13213.5,"count":591,"id":1603796400,"close":13395.8,"tradeTurnover":2276279.742,"open":13218.8},{"amount":48.928,"high":13414.0,"vol":48928,"low":13331.7,"count":216,"id":1603800000,"close":13376.9,"tradeTurnover":654585.9108,"open":13395.9},{"amount":63.294,"high":13490.9,"vol":63294,"low":13329.8,"count":316,"id":1603803600,"close":13384.3,"tradeTurnover":848130.9212,"open":13376.5},{"amount":12.892,"high":13415.8,"vol":12892,"low":13344.8,"count":124,"id":1603807200,"close":13398.2,"tradeTurnover":172618.6864,"open":13392.6},{"amount":93.22,"high":13626.7,"vol":93220,"low":13398.2,"count":476,"id":1603810800,"close":13598.5,"tradeTurnover":1262695.5466,"open":13398.2},{"amount":85.45,"high":13639.9,"vol":85450,"low":13520.2,"count":435,"id":1603814400,"close":13639.9,"tradeTurnover":1161481.4136,"open":13595.8},{"amount":191.812,"high":13826.7,"vol":191812,"low":13589.0,"count":711,"id":1603818000,"close":13688.1,"tradeTurnover":2628428.3788,"open":13640.0},{"amount":65.434,"high":13745.0,"vol":65434,"low":13528.2,"count":410,"id":1603821600,"close":13630.1,"tradeTurnover":891541.8394,"open":13685.0},{"amount":5.788,"high":13659.8,"vol":5788,"low":13595.4,"count":65,"id":1603825200,"close":13637.1,"tradeTurnover":78836.2578,"open":13629.4},{"amount":163.104,"high":13805.1,"vol":163104,"low":13582.6,"count":537,"id":1603828800,"close":13616.6,"tradeTurnover":2234040.3544,"open":13644.4},{"amount":9.884,"high":13753.5,"vol":9884,"low":13609.8,"count":101,"id":1603832400,"close":13705.5,"tradeTurnover":135406.4752,"open":13609.8},{"amount":7.436,"high":13739.9,"vol":7436,"low":13658.2,"count":100,"id":1603836000,"close":13739.9,"tradeTurnover":101840.3508,"open":13705.4},{"amount":17.086,"high":13794.6,"vol":17086,"low":13582.6,"count":234,"id":1603839600,"close":13649.6,"tradeTurnover":233971.8448,"open":13739.9},{"amount":24.108,"high":13745.2,"vol":24108,"low":13618.8,"count":177,"id":1603843200,"close":13701.7,"tradeTurnover":330206.5694,"open":13645.9},{"amount":15.892,"high":13725.6,"vol":15892,"low":13647.9,"count":151,"id":1603846800,"close":13702.6,"tradeTurnover":217816.7008,"open":13702.1},{"amount":46.548,"high":13832.2,"vol":46548,"low":13680.2,"count":274,"id":1603850400,"close":13811.6,"tradeTurnover":640636.0352,"open":13701.7},{"amount":67.896,"high":13820.3,"vol":67896,"low":13717.5,"count":320,"id":1603854000,"close":13777.0,"tradeTurnover":935838.2238,"open":13818.5},{"amount":33.156,"high":13807.2,"vol":33156,"low":13710.0,"count":210,"id":1603857600,"close":13735.7,"tradeTurnover":455941.234,"open":13767.3},{"amount":32.076,"high":13753.9,"vol":32076,"low":13671.3,"count":198,"id":1603861200,"close":13715.8,"tradeTurnover":439612.64,"open":13735.5},{"amount":14.756,"high":13757.0,"vol":14756,"low":13694.9,"count":122,"id":1603864800,"close":13701.3,"tradeTurnover":202602.5164,"open":13715.9},{"amount":155.534,"high":13708.7,"vol":155534,"low":13550.0,"count":635,"id":1603868400,"close":13674.2,"tradeTurnover":2117935.0928,"open":13701.2},{"amount":29.846,"high":13691.7,"vol":29846,"low":13584.0,"count":240,"id":1603872000,"close":13691.7,"tradeTurnover":407073.1398,"open":13673.0},{"amount":104.542,"high":13707.5,"vol":104542,"low":13573.5,"count":377,"id":1603875600,"close":13587.1,"tradeTurnover":1425079.9344,"open":13689.3},{"amount":73.818,"high":13618.0,"vol":73818,"low":13504.7,"count":358,"id":1603879200,"close":13552.7,"tradeTurnover":1001666.0908,"open":13584.6},{"amount":176.544,"high":13565.4,"vol":176544,"low":13330.0,"count":1004,"id":1603882800,"close":13336.4,"tradeTurnover":2369166.1492,"open":13552.6},{"amount":289.73,"high":13385.0,"vol":289730,"low":13173.9,"count":968,"id":1603886400,"close":13300.3,"tradeTurnover":3846751.7166,"open":13331.5},{"amount":139.822,"high":13340.0,"vol":139822,"low":13122.9,"count":612,"id":1603890000,"close":13129.9,"tradeTurnover":1848876.932,"open":13300.2},{"amount":367.876,"high":13168.2,"vol":367876,"low":12915.9,"count":1168,"id":1603893600,"close":13082.2,"tradeTurnover":4802516.9818,"open":13123.4},{"amount":84.044,"high":13235.2,"vol":84044,"low":13052.3,"count":375,"id":1603897200,"close":13221.2,"tradeTurnover":1106883.1282,"open":13077.1},{"amount":29.566,"high":13218.7,"vol":29566,"low":13050.0,"count":244,"id":1603900800,"close":13145.1,"tradeTurnover":388697.4104,"open":13218.7},{"amount":53.336,"high":13204.9,"vol":53336,"low":13006.6,"count":299,"id":1603904400,"close":13176.7,"tradeTurnover":700385.2784,"open":13145.1},{"amount":34.164,"high":13219.6,"vol":34164,"low":13131.0,"count":218,"id":1603908000,"close":13196.5,"tradeTurnover":450210.5778,"open":13171.0},{"amount":22.158,"high":13237.4,"vol":22158,"low":13145.0,"count":185,"id":1603911600,"close":13154.9,"tradeTurnover":292020.0438,"open":13200.0},{"amount":4.548,"high":13211.8,"vol":4548,"low":13147.4,"count":75,"id":1603915200,"close":13198.1,"tradeTurnover":59991.1118,"open":13154.5},{"amount":3.52,"high":13196.5,"vol":3520,"low":13100.2,"count":68,"id":1603918800,"close":13190.1,"tradeTurnover":46175.428,"open":13193.5},{"amount":3.122,"high":13267.5,"vol":3122,"low":13185.4,"count":72,"id":1603922400,"close":13252.0,"tradeTurnover":41304.2018,"open":13185.4},{"amount":14.768,"high":13282.3,"vol":14768,"low":13235.9,"count":86,"id":1603926000,"close":13265.9,"tradeTurnover":195689.0764,"open":13242.1},{"amount":19.968,"high":13294.7,"vol":19968,"low":13237.4,"count":98,"id":1603929600,"close":13245.1,"tradeTurnover":264834.1944,"open":13253.9},{"amount":35.282,"high":13285.3,"vol":35282,"low":13166.3,"count":192,"id":1603933200,"close":13274.2,"tradeTurnover":465789.6302,"open":13244.6},{"amount":9.748,"high":13277.7,"vol":9748,"low":13212.2,"count":119,"id":1603936800,"close":13241.1,"tradeTurnover":129016.0684,"open":13275.9},{"amount":27.3,"high":13262.5,"vol":27300,"low":13174.6,"count":199,"id":1603940400,"close":13262.5,"tradeTurnover":360589.8982,"open":13237.1},{"amount":18.904,"high":13277.7,"vol":18904,"low":13229.5,"count":109,"id":1603944000,"close":13229.5,"tradeTurnover":250713.2812,"open":13269.1},{"amount":15.822,"high":13274.8,"vol":15822,"low":13228.5,"count":134,"id":1603947600,"close":13274.8,"tradeTurnover":209781.909,"open":13228.5},{"amount":91.246,"high":13323.0,"vol":91246,"low":13242.3,"count":294,"id":1603951200,"close":13255.0,"tradeTurnover":1211271.2788,"open":13274.8},{"amount":187.622,"high":13269.3,"vol":187622,"low":13123.1,"count":506,"id":1603954800,"close":13142.4,"tradeTurnover":2478299.7074,"open":13255.0},{"amount":69.532,"high":13182.4,"vol":69532,"low":13094.1,"count":226,"id":1603958400,"close":13124.8,"tradeTurnover":914157.2418,"open":13145.9},{"amount":23.184,"high":13197.1,"vol":23184,"low":13129.5,"count":141,"id":1603962000,"close":13183.7,"tradeTurnover":305485.9524,"open":13129.5},{"amount":121.146,"high":13187.5,"vol":121146,"low":13053.1,"count":442,"id":1603965600,"close":13105.2,"tradeTurnover":1590026.4416,"open":13184.8},{"amount":47.498,"high":13171.4,"vol":47498,"low":13060.1,"count":262,"id":1603969200,"close":13060.1,"tradeTurnover":623578.149,"open":13105.1},{"amount":126.552,"high":13145.8,"vol":126552,"low":12977.9,"count":481,"id":1603972800,"close":13131.8,"tradeTurnover":1652549.311,"open":13056.9},{"amount":100.482,"high":13237.2,"vol":100482,"low":13102.0,"count":325,"id":1603976400,"close":13230.0,"tradeTurnover":1326403.7206,"open":13131.7},{"amount":253.258,"high":13476.1,"vol":253258,"low":13231.0,"count":752,"id":1603980000,"close":13420.8,"tradeTurnover":3384941.438,"open":13231.0},{"amount":64.71,"high":13458.7,"vol":64710,"low":13358.7,"count":269,"id":1603983600,"close":13420.6,"tradeTurnover":869052.3804,"open":13416.0},{"amount":120.24,"high":13594.5,"vol":120240,"low":13391.8,"count":570,"id":1603987200,"close":13535.9,"tradeTurnover":1626567.8278,"open":13421.9}],"id":"","rep":"market.BTC-USDT.kline.60min","status":"ok"} +2024-01-18 11:13:08.950 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:39] - 请求 KLine 数据用户收到的原始数据:{"id":"","rep":"market.BTC-USDT.kline.60min","ts":1705547587853,"wsid":19750305,"status":"ok","data":[{"id":1603270800,"open":12198.0,"close":12196.7,"high":12300.0,"low":11715.8,"amount":0.276,"vol":276,"trade_turnover":3315.9104,"count":39},{"id":1603274400,"open":12196.7,"close":12277.9,"high":12289.9,"low":12111.0,"amount":0.198,"vol":198,"trade_turnover":2420.7728,"count":21},{"id":1603278000,"open":12111.0,"close":12000.0,"high":12277.9,"low":12000.0,"amount":0.012,"vol":12,"trade_turnover":145.2238,"count":5},{"id":1603281600,"open":12078.0,"close":12497.4,"high":12498.0,"low":12078.0,"amount":0.084,"vol":84,"trade_turnover":1040.0504,"count":12},{"id":1603285200,"open":12495.6,"close":12373.5,"high":12495.6,"low":12282.9,"amount":1.122,"vol":1122,"trade_turnover":13905.3124,"count":112},{"id":1603288800,"open":12412.9,"close":12689.9,"high":12807.6,"low":12358.1,"amount":5.29,"vol":5290,"trade_turnover":66852.128,"count":155},{"id":1603292400,"open":12692.8,"close":12701.9,"high":12778.7,"low":12573.2,"amount":1.174,"vol":1174,"trade_turnover":14907.367,"count":113},{"id":1603296000,"open":12679.7,"close":12835.9,"high":12920.9,"low":12624.8,"amount":1.156,"vol":1156,"trade_turnover":14802.449,"count":115},{"id":1603299600,"open":12848.3,"close":12754.2,"high":12908.3,"low":12687.5,"amount":1.12,"vol":1120,"trade_turnover":14345.7324,"count":115},{"id":1603303200,"open":12743.7,"close":12740.2,"high":12849.0,"low":12668.3,"amount":1.106,"vol":1106,"trade_turnover":14105.3504,"count":114},{"id":1603306800,"open":12729.5,"close":12650.3,"high":12843.1,"low":12597.2,"amount":1.032,"vol":1032,"trade_turnover":13125.4568,"count":112},{"id":1603310400,"open":12666.8,"close":12807.0,"high":12848.4,"low":12610.2,"amount":1.154,"vol":1154,"trade_turnover":14680.638,"count":116},{"id":1603314000,"open":12866.0,"close":12938.9,"high":13005.1,"low":12748.2,"amount":1.164,"vol":1164,"trade_turnover":14976.9366,"count":114},{"id":1603317600,"open":12921.0,"close":13122.0,"high":13211.2,"low":12865.7,"amount":1.174,"vol":1174,"trade_turnover":15285.2446,"count":114},{"id":1603321200,"open":13153.2,"close":12829.8,"high":13173.2,"low":12688.6,"amount":1.172,"vol":1172,"trade_turnover":15060.9938,"count":117},{"id":1603324800,"open":12793.1,"close":12885.9,"high":12988.1,"low":12764.4,"amount":1.17,"vol":1170,"trade_turnover":15046.2046,"count":117},{"id":1603328400,"open":12860.4,"close":12757.5,"high":12972.6,"low":12757.5,"amount":1.158,"vol":1158,"trade_turnover":14882.4656,"count":118},{"id":1603332000,"open":12824.1,"close":12788.8,"high":12848.0,"low":12729.0,"amount":1.124,"vol":1124,"trade_turnover":14368.7948,"count":115},{"id":1603335600,"open":12791.7,"close":12767.2,"high":12834.4,"low":12729.0,"amount":1.194,"vol":1194,"trade_turnover":15268.9298,"count":111},{"id":1603339200,"open":12729.0,"close":12762.2,"high":12778.3,"low":12729.0,"amount":1.152,"vol":1152,"trade_turnover":14695.4876,"count":115},{"id":1603342800,"open":12763.1,"close":12813.8,"high":12842.0,"low":12730.6,"amount":1.21,"vol":1210,"trade_turnover":15440.8162,"count":119},{"id":1603346400,"open":12795.0,"close":12729.1,"high":12795.0,"low":12728.0,"amount":1.188,"vol":1188,"trade_turnover":15128.0098,"count":123},{"id":1603350000,"open":12728.6,"close":12730.6,"high":12730.6,"low":12728.3,"amount":1.266,"vol":1266,"trade_turnover":16115.1306,"count":112},{"id":1603353600,"open":12730.3,"close":12770.1,"high":12921.5,"low":12729.9,"amount":1.35,"vol":1350,"trade_turnover":17233.7326,"count":127},{"id":1603357200,"open":12824.9,"close":12780.4,"high":12872.1,"low":12760.1,"amount":0.98,"vol":980,"trade_turnover":12553.9826,"count":99},{"id":1603360800,"open":12784.9,"close":12934.2,"high":13002.7,"low":12775.6,"amount":0.266,"vol":266,"trade_turnover":3415.023,"count":30},{"id":1603364400,"open":12977.0,"close":13045.0,"high":13057.0,"low":12886.6,"amount":1.004,"vol":1004,"trade_turnover":13020.8576,"count":117},{"id":1603368000,"open":12958.5,"close":12847.9,"high":12973.4,"low":12751.6,"amount":1.134,"vol":1134,"trade_turnover":14594.2752,"count":111},{"id":1603371600,"open":12882.7,"close":12931.0,"high":13000.8,"low":12743.0,"amount":1.152,"vol":1152,"trade_turnover":14877.7314,"count":114},{"id":1603375200,"open":12890.4,"close":12917.8,"high":12995.3,"low":12783.9,"amount":1.182,"vol":1182,"trade_turnover":15224.4716,"count":115},{"id":1603378800,"open":12918.8,"close":12953.0,"high":13031.2,"low":12817.9,"amount":1.176,"vol":1176,"trade_turnover":15197.208,"count":117},{"id":1603382400,"open":12923.1,"close":13055.6,"high":13100.2,"low":12865.6,"amount":1.146,"vol":1146,"trade_turnover":14851.9604,"count":119},{"id":1603386000,"open":12967.6,"close":13082.7,"high":13105.7,"low":12835.5,"amount":1.534,"vol":1534,"trade_turnover":19927.8288,"count":124},{"id":1603389600,"open":13020.4,"close":13016.4,"high":13115.0,"low":12938.7,"amount":1.268,"vol":1268,"trade_turnover":16505.4738,"count":117},{"id":1603393200,"open":13028.3,"close":12970.6,"high":13171.2,"low":12961.8,"amount":1.13,"vol":1130,"trade_turnover":14762.952,"count":112},{"id":1603396800,"open":13016.7,"close":13089.3,"high":13216.1,"low":12998.5,"amount":1.206,"vol":1206,"trade_turnover":15807.1226,"count":117},{"id":1603400400,"open":13136.0,"close":13092.0,"high":13203.7,"low":12932.9,"amount":1.332,"vol":1332,"trade_turnover":17423.4422,"count":114},{"id":1603404000,"open":13119.4,"close":13055.9,"high":13250.5,"low":12984.7,"amount":1.21,"vol":1210,"trade_turnover":15876.0632,"count":114},{"id":1603407600,"open":13059.4,"close":12890.4,"high":13126.5,"low":12857.2,"amount":1.286,"vol":1286,"trade_turnover":16688.422,"count":116},{"id":1603411200,"open":12929.7,"close":12892.2,"high":12994.0,"low":12751.6,"amount":1.502,"vol":1502,"trade_turnover":19331.1596,"count":131},{"id":1603414800,"open":12921.7,"close":12898.3,"high":13003.2,"low":12786.0,"amount":1.386,"vol":1386,"trade_turnover":17904.8902,"count":121},{"id":1603418400,"open":12951.6,"close":12975.1,"high":13054.0,"low":12800.7,"amount":1.416,"vol":1416,"trade_turnover":18306.6204,"count":122},{"id":1603422000,"open":12967.3,"close":12947.0,"high":13030.7,"low":12875.0,"amount":1.19,"vol":1190,"trade_turnover":15409.7984,"count":118},{"id":1603425600,"open":12925.2,"close":12852.0,"high":13047.3,"low":12832.8,"amount":1.022,"vol":1022,"trade_turnover":13214.4388,"count":127},{"id":1603429200,"open":12859.0,"close":12931.1,"high":12991.7,"low":12841.2,"amount":0.478,"vol":478,"trade_turnover":6180.2486,"count":118},{"id":1603432800,"open":12935.9,"close":12939.6,"high":13014.1,"low":12871.9,"amount":0.522,"vol":522,"trade_turnover":6759.0324,"count":132},{"id":1603436400,"open":12923.1,"close":12925.4,"high":12998.9,"low":12917.1,"amount":0.476,"vol":476,"trade_turnover":6163.3118,"count":118},{"id":1603440000,"open":12942.2,"close":12962.6,"high":13014.0,"low":12916.1,"amount":0.508,"vol":508,"trade_turnover":6585.3656,"count":122},{"id":1603443600,"open":12970.5,"close":12926.4,"high":13012.5,"low":12909.9,"amount":0.564,"vol":564,"trade_turnover":7308.8828,"count":124},{"id":1603447200,"open":13001.2,"close":13007.7,"high":13059.5,"low":12925.7,"amount":0.536,"vol":536,"trade_turnover":6957.8796,"count":124},{"id":1603450800,"open":13025.4,"close":12970.6,"high":13078.4,"low":12906.5,"amount":0.486,"vol":486,"trade_turnover":6326.1434,"count":122},{"id":1603454400,"open":12963.9,"close":12935.4,"high":13025.0,"low":12850.8,"amount":0.494,"vol":494,"trade_turnover":6396.0984,"count":117},{"id":1603458000,"open":12913.3,"close":12951.7,"high":13043.3,"low":12911.0,"amount":0.466,"vol":466,"trade_turnover":6049.1412,"count":117},{"id":1603461600,"open":12999.6,"close":12858.8,"high":13006.4,"low":12840.4,"amount":0.46,"vol":460,"trade_turnover":5941.815,"count":116},{"id":1603465200,"open":12885.7,"close":12881.9,"high":12932.9,"low":12826.5,"amount":0.492,"vol":492,"trade_turnover":6340.214,"count":117},{"id":1603468800,"open":12854.4,"close":12784.1,"high":12933.5,"low":12744.4,"amount":0.484,"vol":484,"trade_turnover":6205.4138,"count":123},{"id":1603472400,"open":12832.3,"close":12847.7,"high":12893.1,"low":12730.1,"amount":0.562,"vol":562,"trade_turnover":7218.9184,"count":152},{"id":1603476000,"open":12874.1,"close":12915.7,"high":12939.3,"low":12751.4,"amount":0.53,"vol":530,"trade_turnover":6825.7004,"count":128},{"id":1603479600,"open":12867.9,"close":12972.9,"high":12972.9,"low":12786.6,"amount":0.444,"vol":444,"trade_turnover":5727.7452,"count":117},{"id":1603483200,"open":12956.7,"close":12991.6,"high":13002.2,"low":12842.9,"amount":0.492,"vol":492,"trade_turnover":6375.1566,"count":116},{"id":1603486800,"open":13004.3,"close":12943.5,"high":13004.3,"low":12936.6,"amount":0.5,"vol":500,"trade_turnover":6485.468,"count":125},{"id":1603490400,"open":12923.6,"close":12989.2,"high":13010.3,"low":12884.7,"amount":0.492,"vol":492,"trade_turnover":6376.1492,"count":120},{"id":1603494000,"open":12974.9,"close":12884.6,"high":13024.4,"low":12884.6,"amount":0.51,"vol":510,"trade_turnover":6622.3406,"count":121},{"id":1603497600,"open":12973.7,"close":12953.9,"high":13018.3,"low":12811.1,"amount":0.488,"vol":488,"trade_turnover":6317.7938,"count":120},{"id":1603501200,"open":12927.5,"close":12934.2,"high":13018.1,"low":12872.8,"amount":0.482,"vol":482,"trade_turnover":6242.4178,"count":117},{"id":1603504800,"open":12971.9,"close":12989.1,"high":13003.9,"low":12903.3,"amount":0.484,"vol":484,"trade_turnover":6278.1756,"count":117},{"id":1603508400,"open":13000.1,"close":12975.9,"high":13013.4,"low":12938.3,"amount":0.474,"vol":474,"trade_turnover":6157.7096,"count":122},{"id":1603512000,"open":12989.7,"close":12963.3,"high":13009.4,"low":12905.5,"amount":0.526,"vol":526,"trade_turnover":6831.5658,"count":124},{"id":1603515600,"open":12910.5,"close":12989.7,"high":13041.8,"low":12875.3,"amount":0.522,"vol":522,"trade_turnover":6768.8994,"count":127},{"id":1603519200,"open":12994.7,"close":13003.6,"high":13058.1,"low":12908.8,"amount":0.49,"vol":490,"trade_turnover":6370.5714,"count":120},{"id":1603522800,"open":13011.9,"close":13004.2,"high":13037.8,"low":12981.7,"amount":0.478,"vol":478,"trade_turnover":6218.9722,"count":120},{"id":1603526400,"open":13003.0,"close":12998.2,"high":13030.6,"low":12899.4,"amount":0.52,"vol":520,"trade_turnover":6754.958,"count":124},{"id":1603530000,"open":12998.2,"close":12990.6,"high":13020.3,"low":12893.6,"amount":0.454,"vol":454,"trade_turnover":5891.0574,"count":115},{"id":1603533600,"open":12996.4,"close":13030.1,"high":13059.1,"low":12913.2,"amount":0.502,"vol":502,"trade_turnover":6525.9004,"count":124},{"id":1603537200,"open":12988.4,"close":13033.2,"high":13068.3,"low":12940.2,"amount":0.468,"vol":468,"trade_turnover":6091.0376,"count":119},{"id":1603540800,"open":13035.3,"close":13006.5,"high":13071.8,"low":12978.9,"amount":0.468,"vol":468,"trade_turnover":6102.5902,"count":123},{"id":1603544400,"open":13038.8,"close":12985.9,"high":13066.7,"low":12928.1,"amount":0.534,"vol":534,"trade_turnover":6950.4268,"count":123},{"id":1603548000,"open":12986.3,"close":13042.0,"high":13100.1,"low":12960.5,"amount":0.47,"vol":470,"trade_turnover":6124.2178,"count":100},{"id":1603551600,"open":13038.4,"close":13102.2,"high":13196.5,"low":13038.4,"amount":0.456,"vol":456,"trade_turnover":5989.6362,"count":120},{"id":1603555200,"open":13136.8,"close":13052.7,"high":13176.6,"low":12984.6,"amount":0.458,"vol":458,"trade_turnover":5976.331,"count":121},{"id":1603558800,"open":13006.2,"close":13177.8,"high":13177.8,"low":13003.2,"amount":0.452,"vol":452,"trade_turnover":5911.7058,"count":118},{"id":1603562400,"open":13127.7,"close":13080.8,"high":13170.7,"low":13023.0,"amount":0.468,"vol":468,"trade_turnover":6122.375,"count":119},{"id":1603566000,"open":13040.7,"close":13148.4,"high":13179.3,"low":13014.2,"amount":0.468,"vol":468,"trade_turnover":6126.4278,"count":120},{"id":1603569600,"open":13073.5,"close":13090.1,"high":13179.6,"low":12992.5,"amount":0.47,"vol":470,"trade_turnover":6151.4758,"count":119},{"id":1603573200,"open":13035.4,"close":12993.9,"high":13148.7,"low":12980.7,"amount":0.458,"vol":458,"trade_turnover":5981.071,"count":117},{"id":1603576800,"open":13040.7,"close":13041.1,"high":13112.1,"low":12975.6,"amount":0.478,"vol":478,"trade_turnover":6225.4216,"count":118},{"id":1603580400,"open":13012.6,"close":13184.3,"high":13184.3,"low":13009.3,"amount":0.472,"vol":472,"trade_turnover":6173.4244,"count":118},{"id":1603584000,"open":13080.8,"close":13154.3,"high":13170.4,"low":13007.7,"amount":0.46,"vol":460,"trade_turnover":6024.09,"count":115},{"id":1603587600,"open":13092.0,"close":13196.1,"high":13196.8,"low":13024.0,"amount":0.398,"vol":398,"trade_turnover":5217.5364,"count":102},{"id":1603591200,"open":13124.7,"close":13082.4,"high":13175.1,"low":13035.0,"amount":0.476,"vol":476,"trade_turnover":6228.6596,"count":120},{"id":1603594800,"open":13049.1,"close":13259.0,"high":13383.8,"low":13049.1,"amount":0.578,"vol":578,"trade_turnover":7629.3886,"count":137},{"id":1603598400,"open":13277.0,"close":13243.4,"high":13369.0,"low":13216.0,"amount":0.47,"vol":470,"trade_turnover":6247.955,"count":122},{"id":1603602000,"open":13285.3,"close":13017.3,"high":13353.3,"low":13010.1,"amount":0.61,"vol":610,"trade_turnover":8048.8598,"count":134},{"id":1603605600,"open":13022.5,"close":13060.3,"high":13105.7,"low":13018.2,"amount":0.486,"vol":486,"trade_turnover":6344.1474,"count":118},{"id":1603609200,"open":13048.5,"close":13078.1,"high":13112.1,"low":13022.0,"amount":0.464,"vol":464,"trade_turnover":6061.5416,"count":120},{"id":1603612800,"open":13077.2,"close":13046.0,"high":13091.0,"low":13017.2,"amount":0.464,"vol":464,"trade_turnover":6055.3734,"count":120},{"id":1603616400,"open":13065.1,"close":13040.8,"high":13084.0,"low":13014.2,"amount":0.478,"vol":478,"trade_turnover":6235.7882,"count":117},{"id":1603620000,"open":13047.1,"close":13028.5,"high":13064.2,"low":13010.2,"amount":0.478,"vol":478,"trade_turnover":6232.2428,"count":125},{"id":1603623600,"open":13061.5,"close":12897.6,"high":13061.5,"low":12852.9,"amount":0.534,"vol":534,"trade_turnover":6918.1226,"count":123},{"id":1603627200,"open":12908.3,"close":12964.3,"high":13069.7,"low":12893.2,"amount":0.444,"vol":444,"trade_turnover":5755.8712,"count":117},{"id":1603630800,"open":13001.3,"close":12949.3,"high":13071.9,"low":12891.8,"amount":0.498,"vol":498,"trade_turnover":6465.078,"count":119},{"id":1603634400,"open":12975.8,"close":12946.8,"high":13077.7,"low":12900.0,"amount":0.468,"vol":468,"trade_turnover":6075.4554,"count":116},{"id":1603638000,"open":12975.2,"close":12883.3,"high":13069.1,"low":12883.3,"amount":0.47,"vol":470,"trade_turnover":6097.1072,"count":119},{"id":1603641600,"open":12916.2,"close":12978.7,"high":13067.9,"low":12877.5,"amount":0.482,"vol":482,"trade_turnover":6256.4472,"count":118},{"id":1603645200,"open":13008.0,"close":13004.4,"high":13087.5,"low":12922.7,"amount":0.47,"vol":470,"trade_turnover":6108.3892,"count":117},{"id":1603648800,"open":12972.8,"close":12957.2,"high":13067.6,"low":12893.6,"amount":0.468,"vol":468,"trade_turnover":6079.1484,"count":118},{"id":1603652400,"open":12996.5,"close":13021.8,"high":13066.9,"low":12916.6,"amount":0.442,"vol":442,"trade_turnover":5746.5548,"count":118},{"id":1603656000,"open":12992.9,"close":12985.4,"high":13081.5,"low":12944.9,"amount":0.508,"vol":508,"trade_turnover":6616.9872,"count":120},{"id":1603659600,"open":12999.9,"close":13011.2,"high":13068.6,"low":12921.4,"amount":0.508,"vol":508,"trade_turnover":6614.816,"count":122},{"id":1603663200,"open":12979.6,"close":12959.4,"high":13073.8,"low":12911.9,"amount":0.486,"vol":486,"trade_turnover":6320.907,"count":121},{"id":1603666800,"open":12963.4,"close":13032.1,"high":13085.2,"low":12927.8,"amount":0.452,"vol":452,"trade_turnover":5878.6442,"count":113},{"id":1603670400,"open":12964.2,"close":13001.0,"high":13076.7,"low":12918.3,"amount":0.482,"vol":482,"trade_turnover":6263.698,"count":121},{"id":1603674000,"open":13040.0,"close":13053.7,"high":13096.4,"low":12991.2,"amount":0.478,"vol":478,"trade_turnover":6232.2328,"count":124},{"id":1603677600,"open":13060.6,"close":13064.4,"high":13185.7,"low":12985.1,"amount":0.488,"vol":488,"trade_turnover":6387.534,"count":121},{"id":1603681200,"open":13032.3,"close":13092.8,"high":13187.2,"low":12984.1,"amount":0.486,"vol":486,"trade_turnover":6369.0272,"count":135},{"id":1603684800,"open":13092.0,"close":13132.6,"high":13181.6,"low":12962.3,"amount":0.51,"vol":510,"trade_turnover":6679.829,"count":131},{"id":1603688400,"open":13129.2,"close":13092.1,"high":13205.3,"low":13025.3,"amount":0.506,"vol":506,"trade_turnover":6641.2128,"count":126},{"id":1603692000,"open":13121.8,"close":13071.4,"high":13188.1,"low":12989.8,"amount":1.616,"vol":1616,"trade_turnover":21170.8224,"count":141},{"id":1603695600,"open":13061.0,"close":13038.7,"high":13100.0,"low":12965.2,"amount":3.746,"vol":3746,"trade_turnover":48924.8902,"count":110},{"id":1603699200,"open":13030.9,"close":13039.3,"high":13102.0,"low":12852.8,"amount":8.966,"vol":8966,"trade_turnover":116525.5534,"count":173},{"id":1603702800,"open":13047.1,"close":13075.9,"high":13088.4,"low":13039.8,"amount":4.48,"vol":4480,"trade_turnover":58521.1714,"count":124},{"id":1603706400,"open":13072.1,"close":13100.0,"high":13100.0,"low":13060.2,"amount":4.272,"vol":4272,"trade_turnover":55895.9778,"count":130},{"id":1603710000,"open":13100.0,"close":13138.4,"high":13159.0,"low":13100.0,"amount":29.798,"vol":29798,"trade_turnover":391138.024,"count":230},{"id":1603713600,"open":13138.8,"close":13149.8,"high":13200.0,"low":13100.0,"amount":5.154,"vol":5154,"trade_turnover":67694.652,"count":188},{"id":1603717200,"open":13150.0,"close":13205.8,"high":13351.5,"low":13133.1,"amount":35.608,"vol":35608,"trade_turnover":472780.3394,"count":328},{"id":1603720800,"open":13203.0,"close":13166.1,"high":13280.0,"low":13144.1,"amount":31.748,"vol":31748,"trade_turnover":418744.5588,"count":235},{"id":1603724400,"open":13159.0,"close":12978.0,"high":13165.2,"low":12903.8,"amount":36.53,"vol":36530,"trade_turnover":476940.3296,"count":384},{"id":1603728000,"open":12965.0,"close":12869.6,"high":13069.8,"low":12850.5,"amount":35.018,"vol":35018,"trade_turnover":453288.918,"count":323},{"id":1603731600,"open":12879.2,"close":12873.8,"high":12941.5,"low":12583.9,"amount":92.628,"vol":92628,"trade_turnover":1185973.467,"count":560},{"id":1603735200,"open":12856.2,"close":12946.8,"high":12954.5,"low":12820.4,"amount":4.302,"vol":4302,"trade_turnover":55481.0054,"count":128},{"id":1603738800,"open":12945.6,"close":12953.4,"high":12953.5,"low":12914.1,"amount":13.83,"vol":13830,"trade_turnover":179112.1598,"count":118},{"id":1603742400,"open":12953.5,"close":12983.4,"high":13007.5,"low":12953.5,"amount":17.172,"vol":17172,"trade_turnover":223230.2122,"count":132},{"id":1603746000,"open":12983.1,"close":12993.8,"high":13007.5,"low":12982.7,"amount":3.212,"vol":3212,"trade_turnover":41767.8906,"count":59},{"id":1603749600,"open":13002.1,"close":13007.5,"high":13007.5,"low":12974.0,"amount":1.504,"vol":1504,"trade_turnover":19543.3568,"count":74},{"id":1603753200,"open":13007.5,"close":13033.7,"high":13061.2,"low":13007.5,"amount":3.454,"vol":3454,"trade_turnover":45001.601,"count":101},{"id":1603756800,"open":13029.2,"close":13067.1,"high":13105.0,"low":13028.3,"amount":8.784,"vol":8784,"trade_turnover":114871.8246,"count":98},{"id":1603760400,"open":13074.3,"close":13061.7,"high":13074.4,"low":13051.5,"amount":11.592,"vol":11592,"trade_turnover":151386.9038,"count":66},{"id":1603764000,"open":13061.7,"close":13049.7,"high":13097.6,"low":13040.1,"amount":19.298,"vol":19298,"trade_turnover":252061.019,"count":109},{"id":1603767600,"open":13057.6,"close":13070.4,"high":13080.0,"low":13057.1,"amount":22.992,"vol":22992,"trade_turnover":300453.9788,"count":69},{"id":1603771200,"open":13080.0,"close":13103.3,"high":13175.0,"low":13079.6,"amount":14.396,"vol":14396,"trade_turnover":188461.9156,"count":59},{"id":1603774800,"open":13121.3,"close":13073.6,"high":13121.3,"low":13069.7,"amount":5.058,"vol":5058,"trade_turnover":66201.3552,"count":44},{"id":1603778400,"open":13074.9,"close":13103.4,"high":13149.0,"low":13069.6,"amount":9.106,"vol":9106,"trade_turnover":119104.8906,"count":107},{"id":1603782000,"open":13103.3,"close":13130.0,"high":13169.8,"low":12992.4,"amount":73.95,"vol":73950,"trade_turnover":968195.155,"count":305},{"id":1603785600,"open":13135.1,"close":13123.8,"high":13148.4,"low":13044.0,"amount":18.732,"vol":18732,"trade_turnover":245533.5448,"count":135},{"id":1603789200,"open":13115.5,"close":13131.7,"high":13131.8,"low":13075.7,"amount":13.756,"vol":13756,"trade_turnover":180253.7708,"count":102},{"id":1603792800,"open":13134.8,"close":13216.9,"high":13252.0,"low":13063.4,"amount":154.108,"vol":154108,"trade_turnover":2029983.656,"count":525},{"id":1603796400,"open":13218.8,"close":13395.8,"high":13590.1,"low":13213.5,"amount":170.09,"vol":170090,"trade_turnover":2276279.742,"count":591},{"id":1603800000,"open":13395.9,"close":13376.9,"high":13414.0,"low":13331.7,"amount":48.928,"vol":48928,"trade_turnover":654585.9108,"count":216},{"id":1603803600,"open":13376.5,"close":13384.3,"high":13490.9,"low":13329.8,"amount":63.294,"vol":63294,"trade_turnover":848130.9212,"count":316},{"id":1603807200,"open":13392.6,"close":13398.2,"high":13415.8,"low":13344.8,"amount":12.892,"vol":12892,"trade_turnover":172618.6864,"count":124},{"id":1603810800,"open":13398.2,"close":13598.5,"high":13626.7,"low":13398.2,"amount":93.22,"vol":93220,"trade_turnover":1262695.5466,"count":476},{"id":1603814400,"open":13595.8,"close":13639.9,"high":13639.9,"low":13520.2,"amount":85.45,"vol":85450,"trade_turnover":1161481.4136,"count":435},{"id":1603818000,"open":13640.0,"close":13688.1,"high":13826.7,"low":13589.0,"amount":191.812,"vol":191812,"trade_turnover":2628428.3788,"count":711},{"id":1603821600,"open":13685.0,"close":13630.1,"high":13745.0,"low":13528.2,"amount":65.434,"vol":65434,"trade_turnover":891541.8394,"count":410},{"id":1603825200,"open":13629.4,"close":13637.1,"high":13659.8,"low":13595.4,"amount":5.788,"vol":5788,"trade_turnover":78836.2578,"count":65},{"id":1603828800,"open":13644.4,"close":13616.6,"high":13805.1,"low":13582.6,"amount":163.104,"vol":163104,"trade_turnover":2234040.3544,"count":537},{"id":1603832400,"open":13609.8,"close":13705.5,"high":13753.5,"low":13609.8,"amount":9.884,"vol":9884,"trade_turnover":135406.4752,"count":101},{"id":1603836000,"open":13705.4,"close":13739.9,"high":13739.9,"low":13658.2,"amount":7.436,"vol":7436,"trade_turnover":101840.3508,"count":100},{"id":1603839600,"open":13739.9,"close":13649.6,"high":13794.6,"low":13582.6,"amount":17.086,"vol":17086,"trade_turnover":233971.8448,"count":234},{"id":1603843200,"open":13645.9,"close":13701.7,"high":13745.2,"low":13618.8,"amount":24.108,"vol":24108,"trade_turnover":330206.5694,"count":177},{"id":1603846800,"open":13702.1,"close":13702.6,"high":13725.6,"low":13647.9,"amount":15.892,"vol":15892,"trade_turnover":217816.7008,"count":151},{"id":1603850400,"open":13701.7,"close":13811.6,"high":13832.2,"low":13680.2,"amount":46.548,"vol":46548,"trade_turnover":640636.0352,"count":274},{"id":1603854000,"open":13818.5,"close":13777.0,"high":13820.3,"low":13717.5,"amount":67.896,"vol":67896,"trade_turnover":935838.2238,"count":320},{"id":1603857600,"open":13767.3,"close":13735.7,"high":13807.2,"low":13710.0,"amount":33.156,"vol":33156,"trade_turnover":455941.234,"count":210},{"id":1603861200,"open":13735.5,"close":13715.8,"high":13753.9,"low":13671.3,"amount":32.076,"vol":32076,"trade_turnover":439612.64,"count":198},{"id":1603864800,"open":13715.9,"close":13701.3,"high":13757.0,"low":13694.9,"amount":14.756,"vol":14756,"trade_turnover":202602.5164,"count":122},{"id":1603868400,"open":13701.2,"close":13674.2,"high":13708.7,"low":13550.0,"amount":155.534,"vol":155534,"trade_turnover":2117935.0928,"count":635},{"id":1603872000,"open":13673.0,"close":13691.7,"high":13691.7,"low":13584.0,"amount":29.846,"vol":29846,"trade_turnover":407073.1398,"count":240},{"id":1603875600,"open":13689.3,"close":13587.1,"high":13707.5,"low":13573.5,"amount":104.542,"vol":104542,"trade_turnover":1425079.9344,"count":377},{"id":1603879200,"open":13584.6,"close":13552.7,"high":13618.0,"low":13504.7,"amount":73.818,"vol":73818,"trade_turnover":1001666.0908,"count":358},{"id":1603882800,"open":13552.6,"close":13336.4,"high":13565.4,"low":13330.0,"amount":176.544,"vol":176544,"trade_turnover":2369166.1492,"count":1004},{"id":1603886400,"open":13331.5,"close":13300.3,"high":13385.0,"low":13173.9,"amount":289.73,"vol":289730,"trade_turnover":3846751.7166,"count":968},{"id":1603890000,"open":13300.2,"close":13129.9,"high":13340.0,"low":13122.9,"amount":139.822,"vol":139822,"trade_turnover":1848876.932,"count":612},{"id":1603893600,"open":13123.4,"close":13082.2,"high":13168.2,"low":12915.9,"amount":367.876,"vol":367876,"trade_turnover":4802516.9818,"count":1168},{"id":1603897200,"open":13077.1,"close":13221.2,"high":13235.2,"low":13052.3,"amount":84.044,"vol":84044,"trade_turnover":1106883.1282,"count":375},{"id":1603900800,"open":13218.7,"close":13145.1,"high":13218.7,"low":13050.0,"amount":29.566,"vol":29566,"trade_turnover":388697.4104,"count":244},{"id":1603904400,"open":13145.1,"close":13176.7,"high":13204.9,"low":13006.6,"amount":53.336,"vol":53336,"trade_turnover":700385.2784,"count":299},{"id":1603908000,"open":13171.0,"close":13196.5,"high":13219.6,"low":13131.0,"amount":34.164,"vol":34164,"trade_turnover":450210.5778,"count":218},{"id":1603911600,"open":13200.0,"close":13154.9,"high":13237.4,"low":13145.0,"amount":22.158,"vol":22158,"trade_turnover":292020.0438,"count":185},{"id":1603915200,"open":13154.5,"close":13198.1,"high":13211.8,"low":13147.4,"amount":4.548,"vol":4548,"trade_turnover":59991.1118,"count":75},{"id":1603918800,"open":13193.5,"close":13190.1,"high":13196.5,"low":13100.2,"amount":3.52,"vol":3520,"trade_turnover":46175.428,"count":68},{"id":1603922400,"open":13185.4,"close":13252.0,"high":13267.5,"low":13185.4,"amount":3.122,"vol":3122,"trade_turnover":41304.2018,"count":72},{"id":1603926000,"open":13242.1,"close":13265.9,"high":13282.3,"low":13235.9,"amount":14.768,"vol":14768,"trade_turnover":195689.0764,"count":86},{"id":1603929600,"open":13253.9,"close":13245.1,"high":13294.7,"low":13237.4,"amount":19.968,"vol":19968,"trade_turnover":264834.1944,"count":98},{"id":1603933200,"open":13244.6,"close":13274.2,"high":13285.3,"low":13166.3,"amount":35.282,"vol":35282,"trade_turnover":465789.6302,"count":192},{"id":1603936800,"open":13275.9,"close":13241.1,"high":13277.7,"low":13212.2,"amount":9.748,"vol":9748,"trade_turnover":129016.0684,"count":119},{"id":1603940400,"open":13237.1,"close":13262.5,"high":13262.5,"low":13174.6,"amount":27.3,"vol":27300,"trade_turnover":360589.8982,"count":199},{"id":1603944000,"open":13269.1,"close":13229.5,"high":13277.7,"low":13229.5,"amount":18.904,"vol":18904,"trade_turnover":250713.2812,"count":109},{"id":1603947600,"open":13228.5,"close":13274.8,"high":13274.8,"low":13228.5,"amount":15.822,"vol":15822,"trade_turnover":209781.909,"count":134},{"id":1603951200,"open":13274.8,"close":13255.0,"high":13323.0,"low":13242.3,"amount":91.246,"vol":91246,"trade_turnover":1211271.2788,"count":294},{"id":1603954800,"open":13255.0,"close":13142.4,"high":13269.3,"low":13123.1,"amount":187.622,"vol":187622,"trade_turnover":2478299.7074,"count":506},{"id":1603958400,"open":13145.9,"close":13124.8,"high":13182.4,"low":13094.1,"amount":69.532,"vol":69532,"trade_turnover":914157.2418,"count":226},{"id":1603962000,"open":13129.5,"close":13183.7,"high":13197.1,"low":13129.5,"amount":23.184,"vol":23184,"trade_turnover":305485.9524,"count":141},{"id":1603965600,"open":13184.8,"close":13105.2,"high":13187.5,"low":13053.1,"amount":121.146,"vol":121146,"trade_turnover":1590026.4416,"count":442},{"id":1603969200,"open":13105.1,"close":13060.1,"high":13171.4,"low":13060.1,"amount":47.498,"vol":47498,"trade_turnover":623578.149,"count":262},{"id":1603972800,"open":13056.9,"close":13131.8,"high":13145.8,"low":12977.9,"amount":126.552,"vol":126552,"trade_turnover":1652549.311,"count":481},{"id":1603976400,"open":13131.7,"close":13230.0,"high":13237.2,"low":13102.0,"amount":100.482,"vol":100482,"trade_turnover":1326403.7206,"count":325},{"id":1603980000,"open":13231.0,"close":13420.8,"high":13476.1,"low":13231.0,"amount":253.258,"vol":253258,"trade_turnover":3384941.438,"count":752},{"id":1603983600,"open":13416.0,"close":13420.6,"high":13458.7,"low":13358.7,"amount":64.71,"vol":64710,"trade_turnover":869052.3804,"count":269},{"id":1603987200,"open":13421.9,"close":13535.9,"high":13594.5,"low":13391.8,"amount":120.24,"vol":120240,"trade_turnover":1626567.8278,"count":570}]} +2024-01-18 11:13:08.952 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:41] - 请求 KLine 数据解析之后的数据为:{"wsid":19750305,"data":[{"amount":0.276,"high":12300.0,"vol":276,"low":11715.8,"count":39,"id":1603270800,"close":12196.7,"tradeTurnover":3315.9104,"open":12198.0},{"amount":0.198,"high":12289.9,"vol":198,"low":12111.0,"count":21,"id":1603274400,"close":12277.9,"tradeTurnover":2420.7728,"open":12196.7},{"amount":0.012,"high":12277.9,"vol":12,"low":12000.0,"count":5,"id":1603278000,"close":12000.0,"tradeTurnover":145.2238,"open":12111.0},{"amount":0.084,"high":12498.0,"vol":84,"low":12078.0,"count":12,"id":1603281600,"close":12497.4,"tradeTurnover":1040.0504,"open":12078.0},{"amount":1.122,"high":12495.6,"vol":1122,"low":12282.9,"count":112,"id":1603285200,"close":12373.5,"tradeTurnover":13905.3124,"open":12495.6},{"amount":5.29,"high":12807.6,"vol":5290,"low":12358.1,"count":155,"id":1603288800,"close":12689.9,"tradeTurnover":66852.128,"open":12412.9},{"amount":1.174,"high":12778.7,"vol":1174,"low":12573.2,"count":113,"id":1603292400,"close":12701.9,"tradeTurnover":14907.367,"open":12692.8},{"amount":1.156,"high":12920.9,"vol":1156,"low":12624.8,"count":115,"id":1603296000,"close":12835.9,"tradeTurnover":14802.449,"open":12679.7},{"amount":1.12,"high":12908.3,"vol":1120,"low":12687.5,"count":115,"id":1603299600,"close":12754.2,"tradeTurnover":14345.7324,"open":12848.3},{"amount":1.106,"high":12849.0,"vol":1106,"low":12668.3,"count":114,"id":1603303200,"close":12740.2,"tradeTurnover":14105.3504,"open":12743.7},{"amount":1.032,"high":12843.1,"vol":1032,"low":12597.2,"count":112,"id":1603306800,"close":12650.3,"tradeTurnover":13125.4568,"open":12729.5},{"amount":1.154,"high":12848.4,"vol":1154,"low":12610.2,"count":116,"id":1603310400,"close":12807.0,"tradeTurnover":14680.638,"open":12666.8},{"amount":1.164,"high":13005.1,"vol":1164,"low":12748.2,"count":114,"id":1603314000,"close":12938.9,"tradeTurnover":14976.9366,"open":12866.0},{"amount":1.174,"high":13211.2,"vol":1174,"low":12865.7,"count":114,"id":1603317600,"close":13122.0,"tradeTurnover":15285.2446,"open":12921.0},{"amount":1.172,"high":13173.2,"vol":1172,"low":12688.6,"count":117,"id":1603321200,"close":12829.8,"tradeTurnover":15060.9938,"open":13153.2},{"amount":1.17,"high":12988.1,"vol":1170,"low":12764.4,"count":117,"id":1603324800,"close":12885.9,"tradeTurnover":15046.2046,"open":12793.1},{"amount":1.158,"high":12972.6,"vol":1158,"low":12757.5,"count":118,"id":1603328400,"close":12757.5,"tradeTurnover":14882.4656,"open":12860.4},{"amount":1.124,"high":12848.0,"vol":1124,"low":12729.0,"count":115,"id":1603332000,"close":12788.8,"tradeTurnover":14368.7948,"open":12824.1},{"amount":1.194,"high":12834.4,"vol":1194,"low":12729.0,"count":111,"id":1603335600,"close":12767.2,"tradeTurnover":15268.9298,"open":12791.7},{"amount":1.152,"high":12778.3,"vol":1152,"low":12729.0,"count":115,"id":1603339200,"close":12762.2,"tradeTurnover":14695.4876,"open":12729.0},{"amount":1.21,"high":12842.0,"vol":1210,"low":12730.6,"count":119,"id":1603342800,"close":12813.8,"tradeTurnover":15440.8162,"open":12763.1},{"amount":1.188,"high":12795.0,"vol":1188,"low":12728.0,"count":123,"id":1603346400,"close":12729.1,"tradeTurnover":15128.0098,"open":12795.0},{"amount":1.266,"high":12730.6,"vol":1266,"low":12728.3,"count":112,"id":1603350000,"close":12730.6,"tradeTurnover":16115.1306,"open":12728.6},{"amount":1.35,"high":12921.5,"vol":1350,"low":12729.9,"count":127,"id":1603353600,"close":12770.1,"tradeTurnover":17233.7326,"open":12730.3},{"amount":0.98,"high":12872.1,"vol":980,"low":12760.1,"count":99,"id":1603357200,"close":12780.4,"tradeTurnover":12553.9826,"open":12824.9},{"amount":0.266,"high":13002.7,"vol":266,"low":12775.6,"count":30,"id":1603360800,"close":12934.2,"tradeTurnover":3415.023,"open":12784.9},{"amount":1.004,"high":13057.0,"vol":1004,"low":12886.6,"count":117,"id":1603364400,"close":13045.0,"tradeTurnover":13020.8576,"open":12977.0},{"amount":1.134,"high":12973.4,"vol":1134,"low":12751.6,"count":111,"id":1603368000,"close":12847.9,"tradeTurnover":14594.2752,"open":12958.5},{"amount":1.152,"high":13000.8,"vol":1152,"low":12743.0,"count":114,"id":1603371600,"close":12931.0,"tradeTurnover":14877.7314,"open":12882.7},{"amount":1.182,"high":12995.3,"vol":1182,"low":12783.9,"count":115,"id":1603375200,"close":12917.8,"tradeTurnover":15224.4716,"open":12890.4},{"amount":1.176,"high":13031.2,"vol":1176,"low":12817.9,"count":117,"id":1603378800,"close":12953.0,"tradeTurnover":15197.208,"open":12918.8},{"amount":1.146,"high":13100.2,"vol":1146,"low":12865.6,"count":119,"id":1603382400,"close":13055.6,"tradeTurnover":14851.9604,"open":12923.1},{"amount":1.534,"high":13105.7,"vol":1534,"low":12835.5,"count":124,"id":1603386000,"close":13082.7,"tradeTurnover":19927.8288,"open":12967.6},{"amount":1.268,"high":13115.0,"vol":1268,"low":12938.7,"count":117,"id":1603389600,"close":13016.4,"tradeTurnover":16505.4738,"open":13020.4},{"amount":1.13,"high":13171.2,"vol":1130,"low":12961.8,"count":112,"id":1603393200,"close":12970.6,"tradeTurnover":14762.952,"open":13028.3},{"amount":1.206,"high":13216.1,"vol":1206,"low":12998.5,"count":117,"id":1603396800,"close":13089.3,"tradeTurnover":15807.1226,"open":13016.7},{"amount":1.332,"high":13203.7,"vol":1332,"low":12932.9,"count":114,"id":1603400400,"close":13092.0,"tradeTurnover":17423.4422,"open":13136.0},{"amount":1.21,"high":13250.5,"vol":1210,"low":12984.7,"count":114,"id":1603404000,"close":13055.9,"tradeTurnover":15876.0632,"open":13119.4},{"amount":1.286,"high":13126.5,"vol":1286,"low":12857.2,"count":116,"id":1603407600,"close":12890.4,"tradeTurnover":16688.422,"open":13059.4},{"amount":1.502,"high":12994.0,"vol":1502,"low":12751.6,"count":131,"id":1603411200,"close":12892.2,"tradeTurnover":19331.1596,"open":12929.7},{"amount":1.386,"high":13003.2,"vol":1386,"low":12786.0,"count":121,"id":1603414800,"close":12898.3,"tradeTurnover":17904.8902,"open":12921.7},{"amount":1.416,"high":13054.0,"vol":1416,"low":12800.7,"count":122,"id":1603418400,"close":12975.1,"tradeTurnover":18306.6204,"open":12951.6},{"amount":1.19,"high":13030.7,"vol":1190,"low":12875.0,"count":118,"id":1603422000,"close":12947.0,"tradeTurnover":15409.7984,"open":12967.3},{"amount":1.022,"high":13047.3,"vol":1022,"low":12832.8,"count":127,"id":1603425600,"close":12852.0,"tradeTurnover":13214.4388,"open":12925.2},{"amount":0.478,"high":12991.7,"vol":478,"low":12841.2,"count":118,"id":1603429200,"close":12931.1,"tradeTurnover":6180.2486,"open":12859.0},{"amount":0.522,"high":13014.1,"vol":522,"low":12871.9,"count":132,"id":1603432800,"close":12939.6,"tradeTurnover":6759.0324,"open":12935.9},{"amount":0.476,"high":12998.9,"vol":476,"low":12917.1,"count":118,"id":1603436400,"close":12925.4,"tradeTurnover":6163.3118,"open":12923.1},{"amount":0.508,"high":13014.0,"vol":508,"low":12916.1,"count":122,"id":1603440000,"close":12962.6,"tradeTurnover":6585.3656,"open":12942.2},{"amount":0.564,"high":13012.5,"vol":564,"low":12909.9,"count":124,"id":1603443600,"close":12926.4,"tradeTurnover":7308.8828,"open":12970.5},{"amount":0.536,"high":13059.5,"vol":536,"low":12925.7,"count":124,"id":1603447200,"close":13007.7,"tradeTurnover":6957.8796,"open":13001.2},{"amount":0.486,"high":13078.4,"vol":486,"low":12906.5,"count":122,"id":1603450800,"close":12970.6,"tradeTurnover":6326.1434,"open":13025.4},{"amount":0.494,"high":13025.0,"vol":494,"low":12850.8,"count":117,"id":1603454400,"close":12935.4,"tradeTurnover":6396.0984,"open":12963.9},{"amount":0.466,"high":13043.3,"vol":466,"low":12911.0,"count":117,"id":1603458000,"close":12951.7,"tradeTurnover":6049.1412,"open":12913.3},{"amount":0.46,"high":13006.4,"vol":460,"low":12840.4,"count":116,"id":1603461600,"close":12858.8,"tradeTurnover":5941.815,"open":12999.6},{"amount":0.492,"high":12932.9,"vol":492,"low":12826.5,"count":117,"id":1603465200,"close":12881.9,"tradeTurnover":6340.214,"open":12885.7},{"amount":0.484,"high":12933.5,"vol":484,"low":12744.4,"count":123,"id":1603468800,"close":12784.1,"tradeTurnover":6205.4138,"open":12854.4},{"amount":0.562,"high":12893.1,"vol":562,"low":12730.1,"count":152,"id":1603472400,"close":12847.7,"tradeTurnover":7218.9184,"open":12832.3},{"amount":0.53,"high":12939.3,"vol":530,"low":12751.4,"count":128,"id":1603476000,"close":12915.7,"tradeTurnover":6825.7004,"open":12874.1},{"amount":0.444,"high":12972.9,"vol":444,"low":12786.6,"count":117,"id":1603479600,"close":12972.9,"tradeTurnover":5727.7452,"open":12867.9},{"amount":0.492,"high":13002.2,"vol":492,"low":12842.9,"count":116,"id":1603483200,"close":12991.6,"tradeTurnover":6375.1566,"open":12956.7},{"amount":0.5,"high":13004.3,"vol":500,"low":12936.6,"count":125,"id":1603486800,"close":12943.5,"tradeTurnover":6485.468,"open":13004.3},{"amount":0.492,"high":13010.3,"vol":492,"low":12884.7,"count":120,"id":1603490400,"close":12989.2,"tradeTurnover":6376.1492,"open":12923.6},{"amount":0.51,"high":13024.4,"vol":510,"low":12884.6,"count":121,"id":1603494000,"close":12884.6,"tradeTurnover":6622.3406,"open":12974.9},{"amount":0.488,"high":13018.3,"vol":488,"low":12811.1,"count":120,"id":1603497600,"close":12953.9,"tradeTurnover":6317.7938,"open":12973.7},{"amount":0.482,"high":13018.1,"vol":482,"low":12872.8,"count":117,"id":1603501200,"close":12934.2,"tradeTurnover":6242.4178,"open":12927.5},{"amount":0.484,"high":13003.9,"vol":484,"low":12903.3,"count":117,"id":1603504800,"close":12989.1,"tradeTurnover":6278.1756,"open":12971.9},{"amount":0.474,"high":13013.4,"vol":474,"low":12938.3,"count":122,"id":1603508400,"close":12975.9,"tradeTurnover":6157.7096,"open":13000.1},{"amount":0.526,"high":13009.4,"vol":526,"low":12905.5,"count":124,"id":1603512000,"close":12963.3,"tradeTurnover":6831.5658,"open":12989.7},{"amount":0.522,"high":13041.8,"vol":522,"low":12875.3,"count":127,"id":1603515600,"close":12989.7,"tradeTurnover":6768.8994,"open":12910.5},{"amount":0.49,"high":13058.1,"vol":490,"low":12908.8,"count":120,"id":1603519200,"close":13003.6,"tradeTurnover":6370.5714,"open":12994.7},{"amount":0.478,"high":13037.8,"vol":478,"low":12981.7,"count":120,"id":1603522800,"close":13004.2,"tradeTurnover":6218.9722,"open":13011.9},{"amount":0.52,"high":13030.6,"vol":520,"low":12899.4,"count":124,"id":1603526400,"close":12998.2,"tradeTurnover":6754.958,"open":13003.0},{"amount":0.454,"high":13020.3,"vol":454,"low":12893.6,"count":115,"id":1603530000,"close":12990.6,"tradeTurnover":5891.0574,"open":12998.2},{"amount":0.502,"high":13059.1,"vol":502,"low":12913.2,"count":124,"id":1603533600,"close":13030.1,"tradeTurnover":6525.9004,"open":12996.4},{"amount":0.468,"high":13068.3,"vol":468,"low":12940.2,"count":119,"id":1603537200,"close":13033.2,"tradeTurnover":6091.0376,"open":12988.4},{"amount":0.468,"high":13071.8,"vol":468,"low":12978.9,"count":123,"id":1603540800,"close":13006.5,"tradeTurnover":6102.5902,"open":13035.3},{"amount":0.534,"high":13066.7,"vol":534,"low":12928.1,"count":123,"id":1603544400,"close":12985.9,"tradeTurnover":6950.4268,"open":13038.8},{"amount":0.47,"high":13100.1,"vol":470,"low":12960.5,"count":100,"id":1603548000,"close":13042.0,"tradeTurnover":6124.2178,"open":12986.3},{"amount":0.456,"high":13196.5,"vol":456,"low":13038.4,"count":120,"id":1603551600,"close":13102.2,"tradeTurnover":5989.6362,"open":13038.4},{"amount":0.458,"high":13176.6,"vol":458,"low":12984.6,"count":121,"id":1603555200,"close":13052.7,"tradeTurnover":5976.331,"open":13136.8},{"amount":0.452,"high":13177.8,"vol":452,"low":13003.2,"count":118,"id":1603558800,"close":13177.8,"tradeTurnover":5911.7058,"open":13006.2},{"amount":0.468,"high":13170.7,"vol":468,"low":13023.0,"count":119,"id":1603562400,"close":13080.8,"tradeTurnover":6122.375,"open":13127.7},{"amount":0.468,"high":13179.3,"vol":468,"low":13014.2,"count":120,"id":1603566000,"close":13148.4,"tradeTurnover":6126.4278,"open":13040.7},{"amount":0.47,"high":13179.6,"vol":470,"low":12992.5,"count":119,"id":1603569600,"close":13090.1,"tradeTurnover":6151.4758,"open":13073.5},{"amount":0.458,"high":13148.7,"vol":458,"low":12980.7,"count":117,"id":1603573200,"close":12993.9,"tradeTurnover":5981.071,"open":13035.4},{"amount":0.478,"high":13112.1,"vol":478,"low":12975.6,"count":118,"id":1603576800,"close":13041.1,"tradeTurnover":6225.4216,"open":13040.7},{"amount":0.472,"high":13184.3,"vol":472,"low":13009.3,"count":118,"id":1603580400,"close":13184.3,"tradeTurnover":6173.4244,"open":13012.6},{"amount":0.46,"high":13170.4,"vol":460,"low":13007.7,"count":115,"id":1603584000,"close":13154.3,"tradeTurnover":6024.09,"open":13080.8},{"amount":0.398,"high":13196.8,"vol":398,"low":13024.0,"count":102,"id":1603587600,"close":13196.1,"tradeTurnover":5217.5364,"open":13092.0},{"amount":0.476,"high":13175.1,"vol":476,"low":13035.0,"count":120,"id":1603591200,"close":13082.4,"tradeTurnover":6228.6596,"open":13124.7},{"amount":0.578,"high":13383.8,"vol":578,"low":13049.1,"count":137,"id":1603594800,"close":13259.0,"tradeTurnover":7629.3886,"open":13049.1},{"amount":0.47,"high":13369.0,"vol":470,"low":13216.0,"count":122,"id":1603598400,"close":13243.4,"tradeTurnover":6247.955,"open":13277.0},{"amount":0.61,"high":13353.3,"vol":610,"low":13010.1,"count":134,"id":1603602000,"close":13017.3,"tradeTurnover":8048.8598,"open":13285.3},{"amount":0.486,"high":13105.7,"vol":486,"low":13018.2,"count":118,"id":1603605600,"close":13060.3,"tradeTurnover":6344.1474,"open":13022.5},{"amount":0.464,"high":13112.1,"vol":464,"low":13022.0,"count":120,"id":1603609200,"close":13078.1,"tradeTurnover":6061.5416,"open":13048.5},{"amount":0.464,"high":13091.0,"vol":464,"low":13017.2,"count":120,"id":1603612800,"close":13046.0,"tradeTurnover":6055.3734,"open":13077.2},{"amount":0.478,"high":13084.0,"vol":478,"low":13014.2,"count":117,"id":1603616400,"close":13040.8,"tradeTurnover":6235.7882,"open":13065.1},{"amount":0.478,"high":13064.2,"vol":478,"low":13010.2,"count":125,"id":1603620000,"close":13028.5,"tradeTurnover":6232.2428,"open":13047.1},{"amount":0.534,"high":13061.5,"vol":534,"low":12852.9,"count":123,"id":1603623600,"close":12897.6,"tradeTurnover":6918.1226,"open":13061.5},{"amount":0.444,"high":13069.7,"vol":444,"low":12893.2,"count":117,"id":1603627200,"close":12964.3,"tradeTurnover":5755.8712,"open":12908.3},{"amount":0.498,"high":13071.9,"vol":498,"low":12891.8,"count":119,"id":1603630800,"close":12949.3,"tradeTurnover":6465.078,"open":13001.3},{"amount":0.468,"high":13077.7,"vol":468,"low":12900.0,"count":116,"id":1603634400,"close":12946.8,"tradeTurnover":6075.4554,"open":12975.8},{"amount":0.47,"high":13069.1,"vol":470,"low":12883.3,"count":119,"id":1603638000,"close":12883.3,"tradeTurnover":6097.1072,"open":12975.2},{"amount":0.482,"high":13067.9,"vol":482,"low":12877.5,"count":118,"id":1603641600,"close":12978.7,"tradeTurnover":6256.4472,"open":12916.2},{"amount":0.47,"high":13087.5,"vol":470,"low":12922.7,"count":117,"id":1603645200,"close":13004.4,"tradeTurnover":6108.3892,"open":13008.0},{"amount":0.468,"high":13067.6,"vol":468,"low":12893.6,"count":118,"id":1603648800,"close":12957.2,"tradeTurnover":6079.1484,"open":12972.8},{"amount":0.442,"high":13066.9,"vol":442,"low":12916.6,"count":118,"id":1603652400,"close":13021.8,"tradeTurnover":5746.5548,"open":12996.5},{"amount":0.508,"high":13081.5,"vol":508,"low":12944.9,"count":120,"id":1603656000,"close":12985.4,"tradeTurnover":6616.9872,"open":12992.9},{"amount":0.508,"high":13068.6,"vol":508,"low":12921.4,"count":122,"id":1603659600,"close":13011.2,"tradeTurnover":6614.816,"open":12999.9},{"amount":0.486,"high":13073.8,"vol":486,"low":12911.9,"count":121,"id":1603663200,"close":12959.4,"tradeTurnover":6320.907,"open":12979.6},{"amount":0.452,"high":13085.2,"vol":452,"low":12927.8,"count":113,"id":1603666800,"close":13032.1,"tradeTurnover":5878.6442,"open":12963.4},{"amount":0.482,"high":13076.7,"vol":482,"low":12918.3,"count":121,"id":1603670400,"close":13001.0,"tradeTurnover":6263.698,"open":12964.2},{"amount":0.478,"high":13096.4,"vol":478,"low":12991.2,"count":124,"id":1603674000,"close":13053.7,"tradeTurnover":6232.2328,"open":13040.0},{"amount":0.488,"high":13185.7,"vol":488,"low":12985.1,"count":121,"id":1603677600,"close":13064.4,"tradeTurnover":6387.534,"open":13060.6},{"amount":0.486,"high":13187.2,"vol":486,"low":12984.1,"count":135,"id":1603681200,"close":13092.8,"tradeTurnover":6369.0272,"open":13032.3},{"amount":0.51,"high":13181.6,"vol":510,"low":12962.3,"count":131,"id":1603684800,"close":13132.6,"tradeTurnover":6679.829,"open":13092.0},{"amount":0.506,"high":13205.3,"vol":506,"low":13025.3,"count":126,"id":1603688400,"close":13092.1,"tradeTurnover":6641.2128,"open":13129.2},{"amount":1.616,"high":13188.1,"vol":1616,"low":12989.8,"count":141,"id":1603692000,"close":13071.4,"tradeTurnover":21170.8224,"open":13121.8},{"amount":3.746,"high":13100.0,"vol":3746,"low":12965.2,"count":110,"id":1603695600,"close":13038.7,"tradeTurnover":48924.8902,"open":13061.0},{"amount":8.966,"high":13102.0,"vol":8966,"low":12852.8,"count":173,"id":1603699200,"close":13039.3,"tradeTurnover":116525.5534,"open":13030.9},{"amount":4.48,"high":13088.4,"vol":4480,"low":13039.8,"count":124,"id":1603702800,"close":13075.9,"tradeTurnover":58521.1714,"open":13047.1},{"amount":4.272,"high":13100.0,"vol":4272,"low":13060.2,"count":130,"id":1603706400,"close":13100.0,"tradeTurnover":55895.9778,"open":13072.1},{"amount":29.798,"high":13159.0,"vol":29798,"low":13100.0,"count":230,"id":1603710000,"close":13138.4,"tradeTurnover":391138.024,"open":13100.0},{"amount":5.154,"high":13200.0,"vol":5154,"low":13100.0,"count":188,"id":1603713600,"close":13149.8,"tradeTurnover":67694.652,"open":13138.8},{"amount":35.608,"high":13351.5,"vol":35608,"low":13133.1,"count":328,"id":1603717200,"close":13205.8,"tradeTurnover":472780.3394,"open":13150.0},{"amount":31.748,"high":13280.0,"vol":31748,"low":13144.1,"count":235,"id":1603720800,"close":13166.1,"tradeTurnover":418744.5588,"open":13203.0},{"amount":36.53,"high":13165.2,"vol":36530,"low":12903.8,"count":384,"id":1603724400,"close":12978.0,"tradeTurnover":476940.3296,"open":13159.0},{"amount":35.018,"high":13069.8,"vol":35018,"low":12850.5,"count":323,"id":1603728000,"close":12869.6,"tradeTurnover":453288.918,"open":12965.0},{"amount":92.628,"high":12941.5,"vol":92628,"low":12583.9,"count":560,"id":1603731600,"close":12873.8,"tradeTurnover":1185973.467,"open":12879.2},{"amount":4.302,"high":12954.5,"vol":4302,"low":12820.4,"count":128,"id":1603735200,"close":12946.8,"tradeTurnover":55481.0054,"open":12856.2},{"amount":13.83,"high":12953.5,"vol":13830,"low":12914.1,"count":118,"id":1603738800,"close":12953.4,"tradeTurnover":179112.1598,"open":12945.6},{"amount":17.172,"high":13007.5,"vol":17172,"low":12953.5,"count":132,"id":1603742400,"close":12983.4,"tradeTurnover":223230.2122,"open":12953.5},{"amount":3.212,"high":13007.5,"vol":3212,"low":12982.7,"count":59,"id":1603746000,"close":12993.8,"tradeTurnover":41767.8906,"open":12983.1},{"amount":1.504,"high":13007.5,"vol":1504,"low":12974.0,"count":74,"id":1603749600,"close":13007.5,"tradeTurnover":19543.3568,"open":13002.1},{"amount":3.454,"high":13061.2,"vol":3454,"low":13007.5,"count":101,"id":1603753200,"close":13033.7,"tradeTurnover":45001.601,"open":13007.5},{"amount":8.784,"high":13105.0,"vol":8784,"low":13028.3,"count":98,"id":1603756800,"close":13067.1,"tradeTurnover":114871.8246,"open":13029.2},{"amount":11.592,"high":13074.4,"vol":11592,"low":13051.5,"count":66,"id":1603760400,"close":13061.7,"tradeTurnover":151386.9038,"open":13074.3},{"amount":19.298,"high":13097.6,"vol":19298,"low":13040.1,"count":109,"id":1603764000,"close":13049.7,"tradeTurnover":252061.019,"open":13061.7},{"amount":22.992,"high":13080.0,"vol":22992,"low":13057.1,"count":69,"id":1603767600,"close":13070.4,"tradeTurnover":300453.9788,"open":13057.6},{"amount":14.396,"high":13175.0,"vol":14396,"low":13079.6,"count":59,"id":1603771200,"close":13103.3,"tradeTurnover":188461.9156,"open":13080.0},{"amount":5.058,"high":13121.3,"vol":5058,"low":13069.7,"count":44,"id":1603774800,"close":13073.6,"tradeTurnover":66201.3552,"open":13121.3},{"amount":9.106,"high":13149.0,"vol":9106,"low":13069.6,"count":107,"id":1603778400,"close":13103.4,"tradeTurnover":119104.8906,"open":13074.9},{"amount":73.95,"high":13169.8,"vol":73950,"low":12992.4,"count":305,"id":1603782000,"close":13130.0,"tradeTurnover":968195.155,"open":13103.3},{"amount":18.732,"high":13148.4,"vol":18732,"low":13044.0,"count":135,"id":1603785600,"close":13123.8,"tradeTurnover":245533.5448,"open":13135.1},{"amount":13.756,"high":13131.8,"vol":13756,"low":13075.7,"count":102,"id":1603789200,"close":13131.7,"tradeTurnover":180253.7708,"open":13115.5},{"amount":154.108,"high":13252.0,"vol":154108,"low":13063.4,"count":525,"id":1603792800,"close":13216.9,"tradeTurnover":2029983.656,"open":13134.8},{"amount":170.09,"high":13590.1,"vol":170090,"low":13213.5,"count":591,"id":1603796400,"close":13395.8,"tradeTurnover":2276279.742,"open":13218.8},{"amount":48.928,"high":13414.0,"vol":48928,"low":13331.7,"count":216,"id":1603800000,"close":13376.9,"tradeTurnover":654585.9108,"open":13395.9},{"amount":63.294,"high":13490.9,"vol":63294,"low":13329.8,"count":316,"id":1603803600,"close":13384.3,"tradeTurnover":848130.9212,"open":13376.5},{"amount":12.892,"high":13415.8,"vol":12892,"low":13344.8,"count":124,"id":1603807200,"close":13398.2,"tradeTurnover":172618.6864,"open":13392.6},{"amount":93.22,"high":13626.7,"vol":93220,"low":13398.2,"count":476,"id":1603810800,"close":13598.5,"tradeTurnover":1262695.5466,"open":13398.2},{"amount":85.45,"high":13639.9,"vol":85450,"low":13520.2,"count":435,"id":1603814400,"close":13639.9,"tradeTurnover":1161481.4136,"open":13595.8},{"amount":191.812,"high":13826.7,"vol":191812,"low":13589.0,"count":711,"id":1603818000,"close":13688.1,"tradeTurnover":2628428.3788,"open":13640.0},{"amount":65.434,"high":13745.0,"vol":65434,"low":13528.2,"count":410,"id":1603821600,"close":13630.1,"tradeTurnover":891541.8394,"open":13685.0},{"amount":5.788,"high":13659.8,"vol":5788,"low":13595.4,"count":65,"id":1603825200,"close":13637.1,"tradeTurnover":78836.2578,"open":13629.4},{"amount":163.104,"high":13805.1,"vol":163104,"low":13582.6,"count":537,"id":1603828800,"close":13616.6,"tradeTurnover":2234040.3544,"open":13644.4},{"amount":9.884,"high":13753.5,"vol":9884,"low":13609.8,"count":101,"id":1603832400,"close":13705.5,"tradeTurnover":135406.4752,"open":13609.8},{"amount":7.436,"high":13739.9,"vol":7436,"low":13658.2,"count":100,"id":1603836000,"close":13739.9,"tradeTurnover":101840.3508,"open":13705.4},{"amount":17.086,"high":13794.6,"vol":17086,"low":13582.6,"count":234,"id":1603839600,"close":13649.6,"tradeTurnover":233971.8448,"open":13739.9},{"amount":24.108,"high":13745.2,"vol":24108,"low":13618.8,"count":177,"id":1603843200,"close":13701.7,"tradeTurnover":330206.5694,"open":13645.9},{"amount":15.892,"high":13725.6,"vol":15892,"low":13647.9,"count":151,"id":1603846800,"close":13702.6,"tradeTurnover":217816.7008,"open":13702.1},{"amount":46.548,"high":13832.2,"vol":46548,"low":13680.2,"count":274,"id":1603850400,"close":13811.6,"tradeTurnover":640636.0352,"open":13701.7},{"amount":67.896,"high":13820.3,"vol":67896,"low":13717.5,"count":320,"id":1603854000,"close":13777.0,"tradeTurnover":935838.2238,"open":13818.5},{"amount":33.156,"high":13807.2,"vol":33156,"low":13710.0,"count":210,"id":1603857600,"close":13735.7,"tradeTurnover":455941.234,"open":13767.3},{"amount":32.076,"high":13753.9,"vol":32076,"low":13671.3,"count":198,"id":1603861200,"close":13715.8,"tradeTurnover":439612.64,"open":13735.5},{"amount":14.756,"high":13757.0,"vol":14756,"low":13694.9,"count":122,"id":1603864800,"close":13701.3,"tradeTurnover":202602.5164,"open":13715.9},{"amount":155.534,"high":13708.7,"vol":155534,"low":13550.0,"count":635,"id":1603868400,"close":13674.2,"tradeTurnover":2117935.0928,"open":13701.2},{"amount":29.846,"high":13691.7,"vol":29846,"low":13584.0,"count":240,"id":1603872000,"close":13691.7,"tradeTurnover":407073.1398,"open":13673.0},{"amount":104.542,"high":13707.5,"vol":104542,"low":13573.5,"count":377,"id":1603875600,"close":13587.1,"tradeTurnover":1425079.9344,"open":13689.3},{"amount":73.818,"high":13618.0,"vol":73818,"low":13504.7,"count":358,"id":1603879200,"close":13552.7,"tradeTurnover":1001666.0908,"open":13584.6},{"amount":176.544,"high":13565.4,"vol":176544,"low":13330.0,"count":1004,"id":1603882800,"close":13336.4,"tradeTurnover":2369166.1492,"open":13552.6},{"amount":289.73,"high":13385.0,"vol":289730,"low":13173.9,"count":968,"id":1603886400,"close":13300.3,"tradeTurnover":3846751.7166,"open":13331.5},{"amount":139.822,"high":13340.0,"vol":139822,"low":13122.9,"count":612,"id":1603890000,"close":13129.9,"tradeTurnover":1848876.932,"open":13300.2},{"amount":367.876,"high":13168.2,"vol":367876,"low":12915.9,"count":1168,"id":1603893600,"close":13082.2,"tradeTurnover":4802516.9818,"open":13123.4},{"amount":84.044,"high":13235.2,"vol":84044,"low":13052.3,"count":375,"id":1603897200,"close":13221.2,"tradeTurnover":1106883.1282,"open":13077.1},{"amount":29.566,"high":13218.7,"vol":29566,"low":13050.0,"count":244,"id":1603900800,"close":13145.1,"tradeTurnover":388697.4104,"open":13218.7},{"amount":53.336,"high":13204.9,"vol":53336,"low":13006.6,"count":299,"id":1603904400,"close":13176.7,"tradeTurnover":700385.2784,"open":13145.1},{"amount":34.164,"high":13219.6,"vol":34164,"low":13131.0,"count":218,"id":1603908000,"close":13196.5,"tradeTurnover":450210.5778,"open":13171.0},{"amount":22.158,"high":13237.4,"vol":22158,"low":13145.0,"count":185,"id":1603911600,"close":13154.9,"tradeTurnover":292020.0438,"open":13200.0},{"amount":4.548,"high":13211.8,"vol":4548,"low":13147.4,"count":75,"id":1603915200,"close":13198.1,"tradeTurnover":59991.1118,"open":13154.5},{"amount":3.52,"high":13196.5,"vol":3520,"low":13100.2,"count":68,"id":1603918800,"close":13190.1,"tradeTurnover":46175.428,"open":13193.5},{"amount":3.122,"high":13267.5,"vol":3122,"low":13185.4,"count":72,"id":1603922400,"close":13252.0,"tradeTurnover":41304.2018,"open":13185.4},{"amount":14.768,"high":13282.3,"vol":14768,"low":13235.9,"count":86,"id":1603926000,"close":13265.9,"tradeTurnover":195689.0764,"open":13242.1},{"amount":19.968,"high":13294.7,"vol":19968,"low":13237.4,"count":98,"id":1603929600,"close":13245.1,"tradeTurnover":264834.1944,"open":13253.9},{"amount":35.282,"high":13285.3,"vol":35282,"low":13166.3,"count":192,"id":1603933200,"close":13274.2,"tradeTurnover":465789.6302,"open":13244.6},{"amount":9.748,"high":13277.7,"vol":9748,"low":13212.2,"count":119,"id":1603936800,"close":13241.1,"tradeTurnover":129016.0684,"open":13275.9},{"amount":27.3,"high":13262.5,"vol":27300,"low":13174.6,"count":199,"id":1603940400,"close":13262.5,"tradeTurnover":360589.8982,"open":13237.1},{"amount":18.904,"high":13277.7,"vol":18904,"low":13229.5,"count":109,"id":1603944000,"close":13229.5,"tradeTurnover":250713.2812,"open":13269.1},{"amount":15.822,"high":13274.8,"vol":15822,"low":13228.5,"count":134,"id":1603947600,"close":13274.8,"tradeTurnover":209781.909,"open":13228.5},{"amount":91.246,"high":13323.0,"vol":91246,"low":13242.3,"count":294,"id":1603951200,"close":13255.0,"tradeTurnover":1211271.2788,"open":13274.8},{"amount":187.622,"high":13269.3,"vol":187622,"low":13123.1,"count":506,"id":1603954800,"close":13142.4,"tradeTurnover":2478299.7074,"open":13255.0},{"amount":69.532,"high":13182.4,"vol":69532,"low":13094.1,"count":226,"id":1603958400,"close":13124.8,"tradeTurnover":914157.2418,"open":13145.9},{"amount":23.184,"high":13197.1,"vol":23184,"low":13129.5,"count":141,"id":1603962000,"close":13183.7,"tradeTurnover":305485.9524,"open":13129.5},{"amount":121.146,"high":13187.5,"vol":121146,"low":13053.1,"count":442,"id":1603965600,"close":13105.2,"tradeTurnover":1590026.4416,"open":13184.8},{"amount":47.498,"high":13171.4,"vol":47498,"low":13060.1,"count":262,"id":1603969200,"close":13060.1,"tradeTurnover":623578.149,"open":13105.1},{"amount":126.552,"high":13145.8,"vol":126552,"low":12977.9,"count":481,"id":1603972800,"close":13131.8,"tradeTurnover":1652549.311,"open":13056.9},{"amount":100.482,"high":13237.2,"vol":100482,"low":13102.0,"count":325,"id":1603976400,"close":13230.0,"tradeTurnover":1326403.7206,"open":13131.7},{"amount":253.258,"high":13476.1,"vol":253258,"low":13231.0,"count":752,"id":1603980000,"close":13420.8,"tradeTurnover":3384941.438,"open":13231.0},{"amount":64.71,"high":13458.7,"vol":64710,"low":13358.7,"count":269,"id":1603983600,"close":13420.6,"tradeTurnover":869052.3804,"open":13416.0},{"amount":120.24,"high":13594.5,"vol":120240,"low":13391.8,"count":570,"id":1603987200,"close":13535.9,"tradeTurnover":1626567.8278,"open":13421.9}],"id":"","rep":"market.BTC-USDT.kline.60min","status":"ok"} +2024-01-18 11:13:09.953 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:39] - 请求 KLine 数据用户收到的原始数据:{"id":"","rep":"market.BTC-USDT.kline.60min","ts":1705547588863,"wsid":19750305,"status":"ok","data":[{"id":1603270800,"open":12198.0,"close":12196.7,"high":12300.0,"low":11715.8,"amount":0.276,"vol":276,"trade_turnover":3315.9104,"count":39},{"id":1603274400,"open":12196.7,"close":12277.9,"high":12289.9,"low":12111.0,"amount":0.198,"vol":198,"trade_turnover":2420.7728,"count":21},{"id":1603278000,"open":12111.0,"close":12000.0,"high":12277.9,"low":12000.0,"amount":0.012,"vol":12,"trade_turnover":145.2238,"count":5},{"id":1603281600,"open":12078.0,"close":12497.4,"high":12498.0,"low":12078.0,"amount":0.084,"vol":84,"trade_turnover":1040.0504,"count":12},{"id":1603285200,"open":12495.6,"close":12373.5,"high":12495.6,"low":12282.9,"amount":1.122,"vol":1122,"trade_turnover":13905.3124,"count":112},{"id":1603288800,"open":12412.9,"close":12689.9,"high":12807.6,"low":12358.1,"amount":5.29,"vol":5290,"trade_turnover":66852.128,"count":155},{"id":1603292400,"open":12692.8,"close":12701.9,"high":12778.7,"low":12573.2,"amount":1.174,"vol":1174,"trade_turnover":14907.367,"count":113},{"id":1603296000,"open":12679.7,"close":12835.9,"high":12920.9,"low":12624.8,"amount":1.156,"vol":1156,"trade_turnover":14802.449,"count":115},{"id":1603299600,"open":12848.3,"close":12754.2,"high":12908.3,"low":12687.5,"amount":1.12,"vol":1120,"trade_turnover":14345.7324,"count":115},{"id":1603303200,"open":12743.7,"close":12740.2,"high":12849.0,"low":12668.3,"amount":1.106,"vol":1106,"trade_turnover":14105.3504,"count":114},{"id":1603306800,"open":12729.5,"close":12650.3,"high":12843.1,"low":12597.2,"amount":1.032,"vol":1032,"trade_turnover":13125.4568,"count":112},{"id":1603310400,"open":12666.8,"close":12807.0,"high":12848.4,"low":12610.2,"amount":1.154,"vol":1154,"trade_turnover":14680.638,"count":116},{"id":1603314000,"open":12866.0,"close":12938.9,"high":13005.1,"low":12748.2,"amount":1.164,"vol":1164,"trade_turnover":14976.9366,"count":114},{"id":1603317600,"open":12921.0,"close":13122.0,"high":13211.2,"low":12865.7,"amount":1.174,"vol":1174,"trade_turnover":15285.2446,"count":114},{"id":1603321200,"open":13153.2,"close":12829.8,"high":13173.2,"low":12688.6,"amount":1.172,"vol":1172,"trade_turnover":15060.9938,"count":117},{"id":1603324800,"open":12793.1,"close":12885.9,"high":12988.1,"low":12764.4,"amount":1.17,"vol":1170,"trade_turnover":15046.2046,"count":117},{"id":1603328400,"open":12860.4,"close":12757.5,"high":12972.6,"low":12757.5,"amount":1.158,"vol":1158,"trade_turnover":14882.4656,"count":118},{"id":1603332000,"open":12824.1,"close":12788.8,"high":12848.0,"low":12729.0,"amount":1.124,"vol":1124,"trade_turnover":14368.7948,"count":115},{"id":1603335600,"open":12791.7,"close":12767.2,"high":12834.4,"low":12729.0,"amount":1.194,"vol":1194,"trade_turnover":15268.9298,"count":111},{"id":1603339200,"open":12729.0,"close":12762.2,"high":12778.3,"low":12729.0,"amount":1.152,"vol":1152,"trade_turnover":14695.4876,"count":115},{"id":1603342800,"open":12763.1,"close":12813.8,"high":12842.0,"low":12730.6,"amount":1.21,"vol":1210,"trade_turnover":15440.8162,"count":119},{"id":1603346400,"open":12795.0,"close":12729.1,"high":12795.0,"low":12728.0,"amount":1.188,"vol":1188,"trade_turnover":15128.0098,"count":123},{"id":1603350000,"open":12728.6,"close":12730.6,"high":12730.6,"low":12728.3,"amount":1.266,"vol":1266,"trade_turnover":16115.1306,"count":112},{"id":1603353600,"open":12730.3,"close":12770.1,"high":12921.5,"low":12729.9,"amount":1.35,"vol":1350,"trade_turnover":17233.7326,"count":127},{"id":1603357200,"open":12824.9,"close":12780.4,"high":12872.1,"low":12760.1,"amount":0.98,"vol":980,"trade_turnover":12553.9826,"count":99},{"id":1603360800,"open":12784.9,"close":12934.2,"high":13002.7,"low":12775.6,"amount":0.266,"vol":266,"trade_turnover":3415.023,"count":30},{"id":1603364400,"open":12977.0,"close":13045.0,"high":13057.0,"low":12886.6,"amount":1.004,"vol":1004,"trade_turnover":13020.8576,"count":117},{"id":1603368000,"open":12958.5,"close":12847.9,"high":12973.4,"low":12751.6,"amount":1.134,"vol":1134,"trade_turnover":14594.2752,"count":111},{"id":1603371600,"open":12882.7,"close":12931.0,"high":13000.8,"low":12743.0,"amount":1.152,"vol":1152,"trade_turnover":14877.7314,"count":114},{"id":1603375200,"open":12890.4,"close":12917.8,"high":12995.3,"low":12783.9,"amount":1.182,"vol":1182,"trade_turnover":15224.4716,"count":115},{"id":1603378800,"open":12918.8,"close":12953.0,"high":13031.2,"low":12817.9,"amount":1.176,"vol":1176,"trade_turnover":15197.208,"count":117},{"id":1603382400,"open":12923.1,"close":13055.6,"high":13100.2,"low":12865.6,"amount":1.146,"vol":1146,"trade_turnover":14851.9604,"count":119},{"id":1603386000,"open":12967.6,"close":13082.7,"high":13105.7,"low":12835.5,"amount":1.534,"vol":1534,"trade_turnover":19927.8288,"count":124},{"id":1603389600,"open":13020.4,"close":13016.4,"high":13115.0,"low":12938.7,"amount":1.268,"vol":1268,"trade_turnover":16505.4738,"count":117},{"id":1603393200,"open":13028.3,"close":12970.6,"high":13171.2,"low":12961.8,"amount":1.13,"vol":1130,"trade_turnover":14762.952,"count":112},{"id":1603396800,"open":13016.7,"close":13089.3,"high":13216.1,"low":12998.5,"amount":1.206,"vol":1206,"trade_turnover":15807.1226,"count":117},{"id":1603400400,"open":13136.0,"close":13092.0,"high":13203.7,"low":12932.9,"amount":1.332,"vol":1332,"trade_turnover":17423.4422,"count":114},{"id":1603404000,"open":13119.4,"close":13055.9,"high":13250.5,"low":12984.7,"amount":1.21,"vol":1210,"trade_turnover":15876.0632,"count":114},{"id":1603407600,"open":13059.4,"close":12890.4,"high":13126.5,"low":12857.2,"amount":1.286,"vol":1286,"trade_turnover":16688.422,"count":116},{"id":1603411200,"open":12929.7,"close":12892.2,"high":12994.0,"low":12751.6,"amount":1.502,"vol":1502,"trade_turnover":19331.1596,"count":131},{"id":1603414800,"open":12921.7,"close":12898.3,"high":13003.2,"low":12786.0,"amount":1.386,"vol":1386,"trade_turnover":17904.8902,"count":121},{"id":1603418400,"open":12951.6,"close":12975.1,"high":13054.0,"low":12800.7,"amount":1.416,"vol":1416,"trade_turnover":18306.6204,"count":122},{"id":1603422000,"open":12967.3,"close":12947.0,"high":13030.7,"low":12875.0,"amount":1.19,"vol":1190,"trade_turnover":15409.7984,"count":118},{"id":1603425600,"open":12925.2,"close":12852.0,"high":13047.3,"low":12832.8,"amount":1.022,"vol":1022,"trade_turnover":13214.4388,"count":127},{"id":1603429200,"open":12859.0,"close":12931.1,"high":12991.7,"low":12841.2,"amount":0.478,"vol":478,"trade_turnover":6180.2486,"count":118},{"id":1603432800,"open":12935.9,"close":12939.6,"high":13014.1,"low":12871.9,"amount":0.522,"vol":522,"trade_turnover":6759.0324,"count":132},{"id":1603436400,"open":12923.1,"close":12925.4,"high":12998.9,"low":12917.1,"amount":0.476,"vol":476,"trade_turnover":6163.3118,"count":118},{"id":1603440000,"open":12942.2,"close":12962.6,"high":13014.0,"low":12916.1,"amount":0.508,"vol":508,"trade_turnover":6585.3656,"count":122},{"id":1603443600,"open":12970.5,"close":12926.4,"high":13012.5,"low":12909.9,"amount":0.564,"vol":564,"trade_turnover":7308.8828,"count":124},{"id":1603447200,"open":13001.2,"close":13007.7,"high":13059.5,"low":12925.7,"amount":0.536,"vol":536,"trade_turnover":6957.8796,"count":124},{"id":1603450800,"open":13025.4,"close":12970.6,"high":13078.4,"low":12906.5,"amount":0.486,"vol":486,"trade_turnover":6326.1434,"count":122},{"id":1603454400,"open":12963.9,"close":12935.4,"high":13025.0,"low":12850.8,"amount":0.494,"vol":494,"trade_turnover":6396.0984,"count":117},{"id":1603458000,"open":12913.3,"close":12951.7,"high":13043.3,"low":12911.0,"amount":0.466,"vol":466,"trade_turnover":6049.1412,"count":117},{"id":1603461600,"open":12999.6,"close":12858.8,"high":13006.4,"low":12840.4,"amount":0.46,"vol":460,"trade_turnover":5941.815,"count":116},{"id":1603465200,"open":12885.7,"close":12881.9,"high":12932.9,"low":12826.5,"amount":0.492,"vol":492,"trade_turnover":6340.214,"count":117},{"id":1603468800,"open":12854.4,"close":12784.1,"high":12933.5,"low":12744.4,"amount":0.484,"vol":484,"trade_turnover":6205.4138,"count":123},{"id":1603472400,"open":12832.3,"close":12847.7,"high":12893.1,"low":12730.1,"amount":0.562,"vol":562,"trade_turnover":7218.9184,"count":152},{"id":1603476000,"open":12874.1,"close":12915.7,"high":12939.3,"low":12751.4,"amount":0.53,"vol":530,"trade_turnover":6825.7004,"count":128},{"id":1603479600,"open":12867.9,"close":12972.9,"high":12972.9,"low":12786.6,"amount":0.444,"vol":444,"trade_turnover":5727.7452,"count":117},{"id":1603483200,"open":12956.7,"close":12991.6,"high":13002.2,"low":12842.9,"amount":0.492,"vol":492,"trade_turnover":6375.1566,"count":116},{"id":1603486800,"open":13004.3,"close":12943.5,"high":13004.3,"low":12936.6,"amount":0.5,"vol":500,"trade_turnover":6485.468,"count":125},{"id":1603490400,"open":12923.6,"close":12989.2,"high":13010.3,"low":12884.7,"amount":0.492,"vol":492,"trade_turnover":6376.1492,"count":120},{"id":1603494000,"open":12974.9,"close":12884.6,"high":13024.4,"low":12884.6,"amount":0.51,"vol":510,"trade_turnover":6622.3406,"count":121},{"id":1603497600,"open":12973.7,"close":12953.9,"high":13018.3,"low":12811.1,"amount":0.488,"vol":488,"trade_turnover":6317.7938,"count":120},{"id":1603501200,"open":12927.5,"close":12934.2,"high":13018.1,"low":12872.8,"amount":0.482,"vol":482,"trade_turnover":6242.4178,"count":117},{"id":1603504800,"open":12971.9,"close":12989.1,"high":13003.9,"low":12903.3,"amount":0.484,"vol":484,"trade_turnover":6278.1756,"count":117},{"id":1603508400,"open":13000.1,"close":12975.9,"high":13013.4,"low":12938.3,"amount":0.474,"vol":474,"trade_turnover":6157.7096,"count":122},{"id":1603512000,"open":12989.7,"close":12963.3,"high":13009.4,"low":12905.5,"amount":0.526,"vol":526,"trade_turnover":6831.5658,"count":124},{"id":1603515600,"open":12910.5,"close":12989.7,"high":13041.8,"low":12875.3,"amount":0.522,"vol":522,"trade_turnover":6768.8994,"count":127},{"id":1603519200,"open":12994.7,"close":13003.6,"high":13058.1,"low":12908.8,"amount":0.49,"vol":490,"trade_turnover":6370.5714,"count":120},{"id":1603522800,"open":13011.9,"close":13004.2,"high":13037.8,"low":12981.7,"amount":0.478,"vol":478,"trade_turnover":6218.9722,"count":120},{"id":1603526400,"open":13003.0,"close":12998.2,"high":13030.6,"low":12899.4,"amount":0.52,"vol":520,"trade_turnover":6754.958,"count":124},{"id":1603530000,"open":12998.2,"close":12990.6,"high":13020.3,"low":12893.6,"amount":0.454,"vol":454,"trade_turnover":5891.0574,"count":115},{"id":1603533600,"open":12996.4,"close":13030.1,"high":13059.1,"low":12913.2,"amount":0.502,"vol":502,"trade_turnover":6525.9004,"count":124},{"id":1603537200,"open":12988.4,"close":13033.2,"high":13068.3,"low":12940.2,"amount":0.468,"vol":468,"trade_turnover":6091.0376,"count":119},{"id":1603540800,"open":13035.3,"close":13006.5,"high":13071.8,"low":12978.9,"amount":0.468,"vol":468,"trade_turnover":6102.5902,"count":123},{"id":1603544400,"open":13038.8,"close":12985.9,"high":13066.7,"low":12928.1,"amount":0.534,"vol":534,"trade_turnover":6950.4268,"count":123},{"id":1603548000,"open":12986.3,"close":13042.0,"high":13100.1,"low":12960.5,"amount":0.47,"vol":470,"trade_turnover":6124.2178,"count":100},{"id":1603551600,"open":13038.4,"close":13102.2,"high":13196.5,"low":13038.4,"amount":0.456,"vol":456,"trade_turnover":5989.6362,"count":120},{"id":1603555200,"open":13136.8,"close":13052.7,"high":13176.6,"low":12984.6,"amount":0.458,"vol":458,"trade_turnover":5976.331,"count":121},{"id":1603558800,"open":13006.2,"close":13177.8,"high":13177.8,"low":13003.2,"amount":0.452,"vol":452,"trade_turnover":5911.7058,"count":118},{"id":1603562400,"open":13127.7,"close":13080.8,"high":13170.7,"low":13023.0,"amount":0.468,"vol":468,"trade_turnover":6122.375,"count":119},{"id":1603566000,"open":13040.7,"close":13148.4,"high":13179.3,"low":13014.2,"amount":0.468,"vol":468,"trade_turnover":6126.4278,"count":120},{"id":1603569600,"open":13073.5,"close":13090.1,"high":13179.6,"low":12992.5,"amount":0.47,"vol":470,"trade_turnover":6151.4758,"count":119},{"id":1603573200,"open":13035.4,"close":12993.9,"high":13148.7,"low":12980.7,"amount":0.458,"vol":458,"trade_turnover":5981.071,"count":117},{"id":1603576800,"open":13040.7,"close":13041.1,"high":13112.1,"low":12975.6,"amount":0.478,"vol":478,"trade_turnover":6225.4216,"count":118},{"id":1603580400,"open":13012.6,"close":13184.3,"high":13184.3,"low":13009.3,"amount":0.472,"vol":472,"trade_turnover":6173.4244,"count":118},{"id":1603584000,"open":13080.8,"close":13154.3,"high":13170.4,"low":13007.7,"amount":0.46,"vol":460,"trade_turnover":6024.09,"count":115},{"id":1603587600,"open":13092.0,"close":13196.1,"high":13196.8,"low":13024.0,"amount":0.398,"vol":398,"trade_turnover":5217.5364,"count":102},{"id":1603591200,"open":13124.7,"close":13082.4,"high":13175.1,"low":13035.0,"amount":0.476,"vol":476,"trade_turnover":6228.6596,"count":120},{"id":1603594800,"open":13049.1,"close":13259.0,"high":13383.8,"low":13049.1,"amount":0.578,"vol":578,"trade_turnover":7629.3886,"count":137},{"id":1603598400,"open":13277.0,"close":13243.4,"high":13369.0,"low":13216.0,"amount":0.47,"vol":470,"trade_turnover":6247.955,"count":122},{"id":1603602000,"open":13285.3,"close":13017.3,"high":13353.3,"low":13010.1,"amount":0.61,"vol":610,"trade_turnover":8048.8598,"count":134},{"id":1603605600,"open":13022.5,"close":13060.3,"high":13105.7,"low":13018.2,"amount":0.486,"vol":486,"trade_turnover":6344.1474,"count":118},{"id":1603609200,"open":13048.5,"close":13078.1,"high":13112.1,"low":13022.0,"amount":0.464,"vol":464,"trade_turnover":6061.5416,"count":120},{"id":1603612800,"open":13077.2,"close":13046.0,"high":13091.0,"low":13017.2,"amount":0.464,"vol":464,"trade_turnover":6055.3734,"count":120},{"id":1603616400,"open":13065.1,"close":13040.8,"high":13084.0,"low":13014.2,"amount":0.478,"vol":478,"trade_turnover":6235.7882,"count":117},{"id":1603620000,"open":13047.1,"close":13028.5,"high":13064.2,"low":13010.2,"amount":0.478,"vol":478,"trade_turnover":6232.2428,"count":125},{"id":1603623600,"open":13061.5,"close":12897.6,"high":13061.5,"low":12852.9,"amount":0.534,"vol":534,"trade_turnover":6918.1226,"count":123},{"id":1603627200,"open":12908.3,"close":12964.3,"high":13069.7,"low":12893.2,"amount":0.444,"vol":444,"trade_turnover":5755.8712,"count":117},{"id":1603630800,"open":13001.3,"close":12949.3,"high":13071.9,"low":12891.8,"amount":0.498,"vol":498,"trade_turnover":6465.078,"count":119},{"id":1603634400,"open":12975.8,"close":12946.8,"high":13077.7,"low":12900.0,"amount":0.468,"vol":468,"trade_turnover":6075.4554,"count":116},{"id":1603638000,"open":12975.2,"close":12883.3,"high":13069.1,"low":12883.3,"amount":0.47,"vol":470,"trade_turnover":6097.1072,"count":119},{"id":1603641600,"open":12916.2,"close":12978.7,"high":13067.9,"low":12877.5,"amount":0.482,"vol":482,"trade_turnover":6256.4472,"count":118},{"id":1603645200,"open":13008.0,"close":13004.4,"high":13087.5,"low":12922.7,"amount":0.47,"vol":470,"trade_turnover":6108.3892,"count":117},{"id":1603648800,"open":12972.8,"close":12957.2,"high":13067.6,"low":12893.6,"amount":0.468,"vol":468,"trade_turnover":6079.1484,"count":118},{"id":1603652400,"open":12996.5,"close":13021.8,"high":13066.9,"low":12916.6,"amount":0.442,"vol":442,"trade_turnover":5746.5548,"count":118},{"id":1603656000,"open":12992.9,"close":12985.4,"high":13081.5,"low":12944.9,"amount":0.508,"vol":508,"trade_turnover":6616.9872,"count":120},{"id":1603659600,"open":12999.9,"close":13011.2,"high":13068.6,"low":12921.4,"amount":0.508,"vol":508,"trade_turnover":6614.816,"count":122},{"id":1603663200,"open":12979.6,"close":12959.4,"high":13073.8,"low":12911.9,"amount":0.486,"vol":486,"trade_turnover":6320.907,"count":121},{"id":1603666800,"open":12963.4,"close":13032.1,"high":13085.2,"low":12927.8,"amount":0.452,"vol":452,"trade_turnover":5878.6442,"count":113},{"id":1603670400,"open":12964.2,"close":13001.0,"high":13076.7,"low":12918.3,"amount":0.482,"vol":482,"trade_turnover":6263.698,"count":121},{"id":1603674000,"open":13040.0,"close":13053.7,"high":13096.4,"low":12991.2,"amount":0.478,"vol":478,"trade_turnover":6232.2328,"count":124},{"id":1603677600,"open":13060.6,"close":13064.4,"high":13185.7,"low":12985.1,"amount":0.488,"vol":488,"trade_turnover":6387.534,"count":121},{"id":1603681200,"open":13032.3,"close":13092.8,"high":13187.2,"low":12984.1,"amount":0.486,"vol":486,"trade_turnover":6369.0272,"count":135},{"id":1603684800,"open":13092.0,"close":13132.6,"high":13181.6,"low":12962.3,"amount":0.51,"vol":510,"trade_turnover":6679.829,"count":131},{"id":1603688400,"open":13129.2,"close":13092.1,"high":13205.3,"low":13025.3,"amount":0.506,"vol":506,"trade_turnover":6641.2128,"count":126},{"id":1603692000,"open":13121.8,"close":13071.4,"high":13188.1,"low":12989.8,"amount":1.616,"vol":1616,"trade_turnover":21170.8224,"count":141},{"id":1603695600,"open":13061.0,"close":13038.7,"high":13100.0,"low":12965.2,"amount":3.746,"vol":3746,"trade_turnover":48924.8902,"count":110},{"id":1603699200,"open":13030.9,"close":13039.3,"high":13102.0,"low":12852.8,"amount":8.966,"vol":8966,"trade_turnover":116525.5534,"count":173},{"id":1603702800,"open":13047.1,"close":13075.9,"high":13088.4,"low":13039.8,"amount":4.48,"vol":4480,"trade_turnover":58521.1714,"count":124},{"id":1603706400,"open":13072.1,"close":13100.0,"high":13100.0,"low":13060.2,"amount":4.272,"vol":4272,"trade_turnover":55895.9778,"count":130},{"id":1603710000,"open":13100.0,"close":13138.4,"high":13159.0,"low":13100.0,"amount":29.798,"vol":29798,"trade_turnover":391138.024,"count":230},{"id":1603713600,"open":13138.8,"close":13149.8,"high":13200.0,"low":13100.0,"amount":5.154,"vol":5154,"trade_turnover":67694.652,"count":188},{"id":1603717200,"open":13150.0,"close":13205.8,"high":13351.5,"low":13133.1,"amount":35.608,"vol":35608,"trade_turnover":472780.3394,"count":328},{"id":1603720800,"open":13203.0,"close":13166.1,"high":13280.0,"low":13144.1,"amount":31.748,"vol":31748,"trade_turnover":418744.5588,"count":235},{"id":1603724400,"open":13159.0,"close":12978.0,"high":13165.2,"low":12903.8,"amount":36.53,"vol":36530,"trade_turnover":476940.3296,"count":384},{"id":1603728000,"open":12965.0,"close":12869.6,"high":13069.8,"low":12850.5,"amount":35.018,"vol":35018,"trade_turnover":453288.918,"count":323},{"id":1603731600,"open":12879.2,"close":12873.8,"high":12941.5,"low":12583.9,"amount":92.628,"vol":92628,"trade_turnover":1185973.467,"count":560},{"id":1603735200,"open":12856.2,"close":12946.8,"high":12954.5,"low":12820.4,"amount":4.302,"vol":4302,"trade_turnover":55481.0054,"count":128},{"id":1603738800,"open":12945.6,"close":12953.4,"high":12953.5,"low":12914.1,"amount":13.83,"vol":13830,"trade_turnover":179112.1598,"count":118},{"id":1603742400,"open":12953.5,"close":12983.4,"high":13007.5,"low":12953.5,"amount":17.172,"vol":17172,"trade_turnover":223230.2122,"count":132},{"id":1603746000,"open":12983.1,"close":12993.8,"high":13007.5,"low":12982.7,"amount":3.212,"vol":3212,"trade_turnover":41767.8906,"count":59},{"id":1603749600,"open":13002.1,"close":13007.5,"high":13007.5,"low":12974.0,"amount":1.504,"vol":1504,"trade_turnover":19543.3568,"count":74},{"id":1603753200,"open":13007.5,"close":13033.7,"high":13061.2,"low":13007.5,"amount":3.454,"vol":3454,"trade_turnover":45001.601,"count":101},{"id":1603756800,"open":13029.2,"close":13067.1,"high":13105.0,"low":13028.3,"amount":8.784,"vol":8784,"trade_turnover":114871.8246,"count":98},{"id":1603760400,"open":13074.3,"close":13061.7,"high":13074.4,"low":13051.5,"amount":11.592,"vol":11592,"trade_turnover":151386.9038,"count":66},{"id":1603764000,"open":13061.7,"close":13049.7,"high":13097.6,"low":13040.1,"amount":19.298,"vol":19298,"trade_turnover":252061.019,"count":109},{"id":1603767600,"open":13057.6,"close":13070.4,"high":13080.0,"low":13057.1,"amount":22.992,"vol":22992,"trade_turnover":300453.9788,"count":69},{"id":1603771200,"open":13080.0,"close":13103.3,"high":13175.0,"low":13079.6,"amount":14.396,"vol":14396,"trade_turnover":188461.9156,"count":59},{"id":1603774800,"open":13121.3,"close":13073.6,"high":13121.3,"low":13069.7,"amount":5.058,"vol":5058,"trade_turnover":66201.3552,"count":44},{"id":1603778400,"open":13074.9,"close":13103.4,"high":13149.0,"low":13069.6,"amount":9.106,"vol":9106,"trade_turnover":119104.8906,"count":107},{"id":1603782000,"open":13103.3,"close":13130.0,"high":13169.8,"low":12992.4,"amount":73.95,"vol":73950,"trade_turnover":968195.155,"count":305},{"id":1603785600,"open":13135.1,"close":13123.8,"high":13148.4,"low":13044.0,"amount":18.732,"vol":18732,"trade_turnover":245533.5448,"count":135},{"id":1603789200,"open":13115.5,"close":13131.7,"high":13131.8,"low":13075.7,"amount":13.756,"vol":13756,"trade_turnover":180253.7708,"count":102},{"id":1603792800,"open":13134.8,"close":13216.9,"high":13252.0,"low":13063.4,"amount":154.108,"vol":154108,"trade_turnover":2029983.656,"count":525},{"id":1603796400,"open":13218.8,"close":13395.8,"high":13590.1,"low":13213.5,"amount":170.09,"vol":170090,"trade_turnover":2276279.742,"count":591},{"id":1603800000,"open":13395.9,"close":13376.9,"high":13414.0,"low":13331.7,"amount":48.928,"vol":48928,"trade_turnover":654585.9108,"count":216},{"id":1603803600,"open":13376.5,"close":13384.3,"high":13490.9,"low":13329.8,"amount":63.294,"vol":63294,"trade_turnover":848130.9212,"count":316},{"id":1603807200,"open":13392.6,"close":13398.2,"high":13415.8,"low":13344.8,"amount":12.892,"vol":12892,"trade_turnover":172618.6864,"count":124},{"id":1603810800,"open":13398.2,"close":13598.5,"high":13626.7,"low":13398.2,"amount":93.22,"vol":93220,"trade_turnover":1262695.5466,"count":476},{"id":1603814400,"open":13595.8,"close":13639.9,"high":13639.9,"low":13520.2,"amount":85.45,"vol":85450,"trade_turnover":1161481.4136,"count":435},{"id":1603818000,"open":13640.0,"close":13688.1,"high":13826.7,"low":13589.0,"amount":191.812,"vol":191812,"trade_turnover":2628428.3788,"count":711},{"id":1603821600,"open":13685.0,"close":13630.1,"high":13745.0,"low":13528.2,"amount":65.434,"vol":65434,"trade_turnover":891541.8394,"count":410},{"id":1603825200,"open":13629.4,"close":13637.1,"high":13659.8,"low":13595.4,"amount":5.788,"vol":5788,"trade_turnover":78836.2578,"count":65},{"id":1603828800,"open":13644.4,"close":13616.6,"high":13805.1,"low":13582.6,"amount":163.104,"vol":163104,"trade_turnover":2234040.3544,"count":537},{"id":1603832400,"open":13609.8,"close":13705.5,"high":13753.5,"low":13609.8,"amount":9.884,"vol":9884,"trade_turnover":135406.4752,"count":101},{"id":1603836000,"open":13705.4,"close":13739.9,"high":13739.9,"low":13658.2,"amount":7.436,"vol":7436,"trade_turnover":101840.3508,"count":100},{"id":1603839600,"open":13739.9,"close":13649.6,"high":13794.6,"low":13582.6,"amount":17.086,"vol":17086,"trade_turnover":233971.8448,"count":234},{"id":1603843200,"open":13645.9,"close":13701.7,"high":13745.2,"low":13618.8,"amount":24.108,"vol":24108,"trade_turnover":330206.5694,"count":177},{"id":1603846800,"open":13702.1,"close":13702.6,"high":13725.6,"low":13647.9,"amount":15.892,"vol":15892,"trade_turnover":217816.7008,"count":151},{"id":1603850400,"open":13701.7,"close":13811.6,"high":13832.2,"low":13680.2,"amount":46.548,"vol":46548,"trade_turnover":640636.0352,"count":274},{"id":1603854000,"open":13818.5,"close":13777.0,"high":13820.3,"low":13717.5,"amount":67.896,"vol":67896,"trade_turnover":935838.2238,"count":320},{"id":1603857600,"open":13767.3,"close":13735.7,"high":13807.2,"low":13710.0,"amount":33.156,"vol":33156,"trade_turnover":455941.234,"count":210},{"id":1603861200,"open":13735.5,"close":13715.8,"high":13753.9,"low":13671.3,"amount":32.076,"vol":32076,"trade_turnover":439612.64,"count":198},{"id":1603864800,"open":13715.9,"close":13701.3,"high":13757.0,"low":13694.9,"amount":14.756,"vol":14756,"trade_turnover":202602.5164,"count":122},{"id":1603868400,"open":13701.2,"close":13674.2,"high":13708.7,"low":13550.0,"amount":155.534,"vol":155534,"trade_turnover":2117935.0928,"count":635},{"id":1603872000,"open":13673.0,"close":13691.7,"high":13691.7,"low":13584.0,"amount":29.846,"vol":29846,"trade_turnover":407073.1398,"count":240},{"id":1603875600,"open":13689.3,"close":13587.1,"high":13707.5,"low":13573.5,"amount":104.542,"vol":104542,"trade_turnover":1425079.9344,"count":377},{"id":1603879200,"open":13584.6,"close":13552.7,"high":13618.0,"low":13504.7,"amount":73.818,"vol":73818,"trade_turnover":1001666.0908,"count":358},{"id":1603882800,"open":13552.6,"close":13336.4,"high":13565.4,"low":13330.0,"amount":176.544,"vol":176544,"trade_turnover":2369166.1492,"count":1004},{"id":1603886400,"open":13331.5,"close":13300.3,"high":13385.0,"low":13173.9,"amount":289.73,"vol":289730,"trade_turnover":3846751.7166,"count":968},{"id":1603890000,"open":13300.2,"close":13129.9,"high":13340.0,"low":13122.9,"amount":139.822,"vol":139822,"trade_turnover":1848876.932,"count":612},{"id":1603893600,"open":13123.4,"close":13082.2,"high":13168.2,"low":12915.9,"amount":367.876,"vol":367876,"trade_turnover":4802516.9818,"count":1168},{"id":1603897200,"open":13077.1,"close":13221.2,"high":13235.2,"low":13052.3,"amount":84.044,"vol":84044,"trade_turnover":1106883.1282,"count":375},{"id":1603900800,"open":13218.7,"close":13145.1,"high":13218.7,"low":13050.0,"amount":29.566,"vol":29566,"trade_turnover":388697.4104,"count":244},{"id":1603904400,"open":13145.1,"close":13176.7,"high":13204.9,"low":13006.6,"amount":53.336,"vol":53336,"trade_turnover":700385.2784,"count":299},{"id":1603908000,"open":13171.0,"close":13196.5,"high":13219.6,"low":13131.0,"amount":34.164,"vol":34164,"trade_turnover":450210.5778,"count":218},{"id":1603911600,"open":13200.0,"close":13154.9,"high":13237.4,"low":13145.0,"amount":22.158,"vol":22158,"trade_turnover":292020.0438,"count":185},{"id":1603915200,"open":13154.5,"close":13198.1,"high":13211.8,"low":13147.4,"amount":4.548,"vol":4548,"trade_turnover":59991.1118,"count":75},{"id":1603918800,"open":13193.5,"close":13190.1,"high":13196.5,"low":13100.2,"amount":3.52,"vol":3520,"trade_turnover":46175.428,"count":68},{"id":1603922400,"open":13185.4,"close":13252.0,"high":13267.5,"low":13185.4,"amount":3.122,"vol":3122,"trade_turnover":41304.2018,"count":72},{"id":1603926000,"open":13242.1,"close":13265.9,"high":13282.3,"low":13235.9,"amount":14.768,"vol":14768,"trade_turnover":195689.0764,"count":86},{"id":1603929600,"open":13253.9,"close":13245.1,"high":13294.7,"low":13237.4,"amount":19.968,"vol":19968,"trade_turnover":264834.1944,"count":98},{"id":1603933200,"open":13244.6,"close":13274.2,"high":13285.3,"low":13166.3,"amount":35.282,"vol":35282,"trade_turnover":465789.6302,"count":192},{"id":1603936800,"open":13275.9,"close":13241.1,"high":13277.7,"low":13212.2,"amount":9.748,"vol":9748,"trade_turnover":129016.0684,"count":119},{"id":1603940400,"open":13237.1,"close":13262.5,"high":13262.5,"low":13174.6,"amount":27.3,"vol":27300,"trade_turnover":360589.8982,"count":199},{"id":1603944000,"open":13269.1,"close":13229.5,"high":13277.7,"low":13229.5,"amount":18.904,"vol":18904,"trade_turnover":250713.2812,"count":109},{"id":1603947600,"open":13228.5,"close":13274.8,"high":13274.8,"low":13228.5,"amount":15.822,"vol":15822,"trade_turnover":209781.909,"count":134},{"id":1603951200,"open":13274.8,"close":13255.0,"high":13323.0,"low":13242.3,"amount":91.246,"vol":91246,"trade_turnover":1211271.2788,"count":294},{"id":1603954800,"open":13255.0,"close":13142.4,"high":13269.3,"low":13123.1,"amount":187.622,"vol":187622,"trade_turnover":2478299.7074,"count":506},{"id":1603958400,"open":13145.9,"close":13124.8,"high":13182.4,"low":13094.1,"amount":69.532,"vol":69532,"trade_turnover":914157.2418,"count":226},{"id":1603962000,"open":13129.5,"close":13183.7,"high":13197.1,"low":13129.5,"amount":23.184,"vol":23184,"trade_turnover":305485.9524,"count":141},{"id":1603965600,"open":13184.8,"close":13105.2,"high":13187.5,"low":13053.1,"amount":121.146,"vol":121146,"trade_turnover":1590026.4416,"count":442},{"id":1603969200,"open":13105.1,"close":13060.1,"high":13171.4,"low":13060.1,"amount":47.498,"vol":47498,"trade_turnover":623578.149,"count":262},{"id":1603972800,"open":13056.9,"close":13131.8,"high":13145.8,"low":12977.9,"amount":126.552,"vol":126552,"trade_turnover":1652549.311,"count":481},{"id":1603976400,"open":13131.7,"close":13230.0,"high":13237.2,"low":13102.0,"amount":100.482,"vol":100482,"trade_turnover":1326403.7206,"count":325},{"id":1603980000,"open":13231.0,"close":13420.8,"high":13476.1,"low":13231.0,"amount":253.258,"vol":253258,"trade_turnover":3384941.438,"count":752},{"id":1603983600,"open":13416.0,"close":13420.6,"high":13458.7,"low":13358.7,"amount":64.71,"vol":64710,"trade_turnover":869052.3804,"count":269},{"id":1603987200,"open":13421.9,"close":13535.9,"high":13594.5,"low":13391.8,"amount":120.24,"vol":120240,"trade_turnover":1626567.8278,"count":570}]} +2024-01-18 11:13:09.955 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:41] - 请求 KLine 数据解析之后的数据为:{"wsid":19750305,"data":[{"amount":0.276,"high":12300.0,"vol":276,"low":11715.8,"count":39,"id":1603270800,"close":12196.7,"tradeTurnover":3315.9104,"open":12198.0},{"amount":0.198,"high":12289.9,"vol":198,"low":12111.0,"count":21,"id":1603274400,"close":12277.9,"tradeTurnover":2420.7728,"open":12196.7},{"amount":0.012,"high":12277.9,"vol":12,"low":12000.0,"count":5,"id":1603278000,"close":12000.0,"tradeTurnover":145.2238,"open":12111.0},{"amount":0.084,"high":12498.0,"vol":84,"low":12078.0,"count":12,"id":1603281600,"close":12497.4,"tradeTurnover":1040.0504,"open":12078.0},{"amount":1.122,"high":12495.6,"vol":1122,"low":12282.9,"count":112,"id":1603285200,"close":12373.5,"tradeTurnover":13905.3124,"open":12495.6},{"amount":5.29,"high":12807.6,"vol":5290,"low":12358.1,"count":155,"id":1603288800,"close":12689.9,"tradeTurnover":66852.128,"open":12412.9},{"amount":1.174,"high":12778.7,"vol":1174,"low":12573.2,"count":113,"id":1603292400,"close":12701.9,"tradeTurnover":14907.367,"open":12692.8},{"amount":1.156,"high":12920.9,"vol":1156,"low":12624.8,"count":115,"id":1603296000,"close":12835.9,"tradeTurnover":14802.449,"open":12679.7},{"amount":1.12,"high":12908.3,"vol":1120,"low":12687.5,"count":115,"id":1603299600,"close":12754.2,"tradeTurnover":14345.7324,"open":12848.3},{"amount":1.106,"high":12849.0,"vol":1106,"low":12668.3,"count":114,"id":1603303200,"close":12740.2,"tradeTurnover":14105.3504,"open":12743.7},{"amount":1.032,"high":12843.1,"vol":1032,"low":12597.2,"count":112,"id":1603306800,"close":12650.3,"tradeTurnover":13125.4568,"open":12729.5},{"amount":1.154,"high":12848.4,"vol":1154,"low":12610.2,"count":116,"id":1603310400,"close":12807.0,"tradeTurnover":14680.638,"open":12666.8},{"amount":1.164,"high":13005.1,"vol":1164,"low":12748.2,"count":114,"id":1603314000,"close":12938.9,"tradeTurnover":14976.9366,"open":12866.0},{"amount":1.174,"high":13211.2,"vol":1174,"low":12865.7,"count":114,"id":1603317600,"close":13122.0,"tradeTurnover":15285.2446,"open":12921.0},{"amount":1.172,"high":13173.2,"vol":1172,"low":12688.6,"count":117,"id":1603321200,"close":12829.8,"tradeTurnover":15060.9938,"open":13153.2},{"amount":1.17,"high":12988.1,"vol":1170,"low":12764.4,"count":117,"id":1603324800,"close":12885.9,"tradeTurnover":15046.2046,"open":12793.1},{"amount":1.158,"high":12972.6,"vol":1158,"low":12757.5,"count":118,"id":1603328400,"close":12757.5,"tradeTurnover":14882.4656,"open":12860.4},{"amount":1.124,"high":12848.0,"vol":1124,"low":12729.0,"count":115,"id":1603332000,"close":12788.8,"tradeTurnover":14368.7948,"open":12824.1},{"amount":1.194,"high":12834.4,"vol":1194,"low":12729.0,"count":111,"id":1603335600,"close":12767.2,"tradeTurnover":15268.9298,"open":12791.7},{"amount":1.152,"high":12778.3,"vol":1152,"low":12729.0,"count":115,"id":1603339200,"close":12762.2,"tradeTurnover":14695.4876,"open":12729.0},{"amount":1.21,"high":12842.0,"vol":1210,"low":12730.6,"count":119,"id":1603342800,"close":12813.8,"tradeTurnover":15440.8162,"open":12763.1},{"amount":1.188,"high":12795.0,"vol":1188,"low":12728.0,"count":123,"id":1603346400,"close":12729.1,"tradeTurnover":15128.0098,"open":12795.0},{"amount":1.266,"high":12730.6,"vol":1266,"low":12728.3,"count":112,"id":1603350000,"close":12730.6,"tradeTurnover":16115.1306,"open":12728.6},{"amount":1.35,"high":12921.5,"vol":1350,"low":12729.9,"count":127,"id":1603353600,"close":12770.1,"tradeTurnover":17233.7326,"open":12730.3},{"amount":0.98,"high":12872.1,"vol":980,"low":12760.1,"count":99,"id":1603357200,"close":12780.4,"tradeTurnover":12553.9826,"open":12824.9},{"amount":0.266,"high":13002.7,"vol":266,"low":12775.6,"count":30,"id":1603360800,"close":12934.2,"tradeTurnover":3415.023,"open":12784.9},{"amount":1.004,"high":13057.0,"vol":1004,"low":12886.6,"count":117,"id":1603364400,"close":13045.0,"tradeTurnover":13020.8576,"open":12977.0},{"amount":1.134,"high":12973.4,"vol":1134,"low":12751.6,"count":111,"id":1603368000,"close":12847.9,"tradeTurnover":14594.2752,"open":12958.5},{"amount":1.152,"high":13000.8,"vol":1152,"low":12743.0,"count":114,"id":1603371600,"close":12931.0,"tradeTurnover":14877.7314,"open":12882.7},{"amount":1.182,"high":12995.3,"vol":1182,"low":12783.9,"count":115,"id":1603375200,"close":12917.8,"tradeTurnover":15224.4716,"open":12890.4},{"amount":1.176,"high":13031.2,"vol":1176,"low":12817.9,"count":117,"id":1603378800,"close":12953.0,"tradeTurnover":15197.208,"open":12918.8},{"amount":1.146,"high":13100.2,"vol":1146,"low":12865.6,"count":119,"id":1603382400,"close":13055.6,"tradeTurnover":14851.9604,"open":12923.1},{"amount":1.534,"high":13105.7,"vol":1534,"low":12835.5,"count":124,"id":1603386000,"close":13082.7,"tradeTurnover":19927.8288,"open":12967.6},{"amount":1.268,"high":13115.0,"vol":1268,"low":12938.7,"count":117,"id":1603389600,"close":13016.4,"tradeTurnover":16505.4738,"open":13020.4},{"amount":1.13,"high":13171.2,"vol":1130,"low":12961.8,"count":112,"id":1603393200,"close":12970.6,"tradeTurnover":14762.952,"open":13028.3},{"amount":1.206,"high":13216.1,"vol":1206,"low":12998.5,"count":117,"id":1603396800,"close":13089.3,"tradeTurnover":15807.1226,"open":13016.7},{"amount":1.332,"high":13203.7,"vol":1332,"low":12932.9,"count":114,"id":1603400400,"close":13092.0,"tradeTurnover":17423.4422,"open":13136.0},{"amount":1.21,"high":13250.5,"vol":1210,"low":12984.7,"count":114,"id":1603404000,"close":13055.9,"tradeTurnover":15876.0632,"open":13119.4},{"amount":1.286,"high":13126.5,"vol":1286,"low":12857.2,"count":116,"id":1603407600,"close":12890.4,"tradeTurnover":16688.422,"open":13059.4},{"amount":1.502,"high":12994.0,"vol":1502,"low":12751.6,"count":131,"id":1603411200,"close":12892.2,"tradeTurnover":19331.1596,"open":12929.7},{"amount":1.386,"high":13003.2,"vol":1386,"low":12786.0,"count":121,"id":1603414800,"close":12898.3,"tradeTurnover":17904.8902,"open":12921.7},{"amount":1.416,"high":13054.0,"vol":1416,"low":12800.7,"count":122,"id":1603418400,"close":12975.1,"tradeTurnover":18306.6204,"open":12951.6},{"amount":1.19,"high":13030.7,"vol":1190,"low":12875.0,"count":118,"id":1603422000,"close":12947.0,"tradeTurnover":15409.7984,"open":12967.3},{"amount":1.022,"high":13047.3,"vol":1022,"low":12832.8,"count":127,"id":1603425600,"close":12852.0,"tradeTurnover":13214.4388,"open":12925.2},{"amount":0.478,"high":12991.7,"vol":478,"low":12841.2,"count":118,"id":1603429200,"close":12931.1,"tradeTurnover":6180.2486,"open":12859.0},{"amount":0.522,"high":13014.1,"vol":522,"low":12871.9,"count":132,"id":1603432800,"close":12939.6,"tradeTurnover":6759.0324,"open":12935.9},{"amount":0.476,"high":12998.9,"vol":476,"low":12917.1,"count":118,"id":1603436400,"close":12925.4,"tradeTurnover":6163.3118,"open":12923.1},{"amount":0.508,"high":13014.0,"vol":508,"low":12916.1,"count":122,"id":1603440000,"close":12962.6,"tradeTurnover":6585.3656,"open":12942.2},{"amount":0.564,"high":13012.5,"vol":564,"low":12909.9,"count":124,"id":1603443600,"close":12926.4,"tradeTurnover":7308.8828,"open":12970.5},{"amount":0.536,"high":13059.5,"vol":536,"low":12925.7,"count":124,"id":1603447200,"close":13007.7,"tradeTurnover":6957.8796,"open":13001.2},{"amount":0.486,"high":13078.4,"vol":486,"low":12906.5,"count":122,"id":1603450800,"close":12970.6,"tradeTurnover":6326.1434,"open":13025.4},{"amount":0.494,"high":13025.0,"vol":494,"low":12850.8,"count":117,"id":1603454400,"close":12935.4,"tradeTurnover":6396.0984,"open":12963.9},{"amount":0.466,"high":13043.3,"vol":466,"low":12911.0,"count":117,"id":1603458000,"close":12951.7,"tradeTurnover":6049.1412,"open":12913.3},{"amount":0.46,"high":13006.4,"vol":460,"low":12840.4,"count":116,"id":1603461600,"close":12858.8,"tradeTurnover":5941.815,"open":12999.6},{"amount":0.492,"high":12932.9,"vol":492,"low":12826.5,"count":117,"id":1603465200,"close":12881.9,"tradeTurnover":6340.214,"open":12885.7},{"amount":0.484,"high":12933.5,"vol":484,"low":12744.4,"count":123,"id":1603468800,"close":12784.1,"tradeTurnover":6205.4138,"open":12854.4},{"amount":0.562,"high":12893.1,"vol":562,"low":12730.1,"count":152,"id":1603472400,"close":12847.7,"tradeTurnover":7218.9184,"open":12832.3},{"amount":0.53,"high":12939.3,"vol":530,"low":12751.4,"count":128,"id":1603476000,"close":12915.7,"tradeTurnover":6825.7004,"open":12874.1},{"amount":0.444,"high":12972.9,"vol":444,"low":12786.6,"count":117,"id":1603479600,"close":12972.9,"tradeTurnover":5727.7452,"open":12867.9},{"amount":0.492,"high":13002.2,"vol":492,"low":12842.9,"count":116,"id":1603483200,"close":12991.6,"tradeTurnover":6375.1566,"open":12956.7},{"amount":0.5,"high":13004.3,"vol":500,"low":12936.6,"count":125,"id":1603486800,"close":12943.5,"tradeTurnover":6485.468,"open":13004.3},{"amount":0.492,"high":13010.3,"vol":492,"low":12884.7,"count":120,"id":1603490400,"close":12989.2,"tradeTurnover":6376.1492,"open":12923.6},{"amount":0.51,"high":13024.4,"vol":510,"low":12884.6,"count":121,"id":1603494000,"close":12884.6,"tradeTurnover":6622.3406,"open":12974.9},{"amount":0.488,"high":13018.3,"vol":488,"low":12811.1,"count":120,"id":1603497600,"close":12953.9,"tradeTurnover":6317.7938,"open":12973.7},{"amount":0.482,"high":13018.1,"vol":482,"low":12872.8,"count":117,"id":1603501200,"close":12934.2,"tradeTurnover":6242.4178,"open":12927.5},{"amount":0.484,"high":13003.9,"vol":484,"low":12903.3,"count":117,"id":1603504800,"close":12989.1,"tradeTurnover":6278.1756,"open":12971.9},{"amount":0.474,"high":13013.4,"vol":474,"low":12938.3,"count":122,"id":1603508400,"close":12975.9,"tradeTurnover":6157.7096,"open":13000.1},{"amount":0.526,"high":13009.4,"vol":526,"low":12905.5,"count":124,"id":1603512000,"close":12963.3,"tradeTurnover":6831.5658,"open":12989.7},{"amount":0.522,"high":13041.8,"vol":522,"low":12875.3,"count":127,"id":1603515600,"close":12989.7,"tradeTurnover":6768.8994,"open":12910.5},{"amount":0.49,"high":13058.1,"vol":490,"low":12908.8,"count":120,"id":1603519200,"close":13003.6,"tradeTurnover":6370.5714,"open":12994.7},{"amount":0.478,"high":13037.8,"vol":478,"low":12981.7,"count":120,"id":1603522800,"close":13004.2,"tradeTurnover":6218.9722,"open":13011.9},{"amount":0.52,"high":13030.6,"vol":520,"low":12899.4,"count":124,"id":1603526400,"close":12998.2,"tradeTurnover":6754.958,"open":13003.0},{"amount":0.454,"high":13020.3,"vol":454,"low":12893.6,"count":115,"id":1603530000,"close":12990.6,"tradeTurnover":5891.0574,"open":12998.2},{"amount":0.502,"high":13059.1,"vol":502,"low":12913.2,"count":124,"id":1603533600,"close":13030.1,"tradeTurnover":6525.9004,"open":12996.4},{"amount":0.468,"high":13068.3,"vol":468,"low":12940.2,"count":119,"id":1603537200,"close":13033.2,"tradeTurnover":6091.0376,"open":12988.4},{"amount":0.468,"high":13071.8,"vol":468,"low":12978.9,"count":123,"id":1603540800,"close":13006.5,"tradeTurnover":6102.5902,"open":13035.3},{"amount":0.534,"high":13066.7,"vol":534,"low":12928.1,"count":123,"id":1603544400,"close":12985.9,"tradeTurnover":6950.4268,"open":13038.8},{"amount":0.47,"high":13100.1,"vol":470,"low":12960.5,"count":100,"id":1603548000,"close":13042.0,"tradeTurnover":6124.2178,"open":12986.3},{"amount":0.456,"high":13196.5,"vol":456,"low":13038.4,"count":120,"id":1603551600,"close":13102.2,"tradeTurnover":5989.6362,"open":13038.4},{"amount":0.458,"high":13176.6,"vol":458,"low":12984.6,"count":121,"id":1603555200,"close":13052.7,"tradeTurnover":5976.331,"open":13136.8},{"amount":0.452,"high":13177.8,"vol":452,"low":13003.2,"count":118,"id":1603558800,"close":13177.8,"tradeTurnover":5911.7058,"open":13006.2},{"amount":0.468,"high":13170.7,"vol":468,"low":13023.0,"count":119,"id":1603562400,"close":13080.8,"tradeTurnover":6122.375,"open":13127.7},{"amount":0.468,"high":13179.3,"vol":468,"low":13014.2,"count":120,"id":1603566000,"close":13148.4,"tradeTurnover":6126.4278,"open":13040.7},{"amount":0.47,"high":13179.6,"vol":470,"low":12992.5,"count":119,"id":1603569600,"close":13090.1,"tradeTurnover":6151.4758,"open":13073.5},{"amount":0.458,"high":13148.7,"vol":458,"low":12980.7,"count":117,"id":1603573200,"close":12993.9,"tradeTurnover":5981.071,"open":13035.4},{"amount":0.478,"high":13112.1,"vol":478,"low":12975.6,"count":118,"id":1603576800,"close":13041.1,"tradeTurnover":6225.4216,"open":13040.7},{"amount":0.472,"high":13184.3,"vol":472,"low":13009.3,"count":118,"id":1603580400,"close":13184.3,"tradeTurnover":6173.4244,"open":13012.6},{"amount":0.46,"high":13170.4,"vol":460,"low":13007.7,"count":115,"id":1603584000,"close":13154.3,"tradeTurnover":6024.09,"open":13080.8},{"amount":0.398,"high":13196.8,"vol":398,"low":13024.0,"count":102,"id":1603587600,"close":13196.1,"tradeTurnover":5217.5364,"open":13092.0},{"amount":0.476,"high":13175.1,"vol":476,"low":13035.0,"count":120,"id":1603591200,"close":13082.4,"tradeTurnover":6228.6596,"open":13124.7},{"amount":0.578,"high":13383.8,"vol":578,"low":13049.1,"count":137,"id":1603594800,"close":13259.0,"tradeTurnover":7629.3886,"open":13049.1},{"amount":0.47,"high":13369.0,"vol":470,"low":13216.0,"count":122,"id":1603598400,"close":13243.4,"tradeTurnover":6247.955,"open":13277.0},{"amount":0.61,"high":13353.3,"vol":610,"low":13010.1,"count":134,"id":1603602000,"close":13017.3,"tradeTurnover":8048.8598,"open":13285.3},{"amount":0.486,"high":13105.7,"vol":486,"low":13018.2,"count":118,"id":1603605600,"close":13060.3,"tradeTurnover":6344.1474,"open":13022.5},{"amount":0.464,"high":13112.1,"vol":464,"low":13022.0,"count":120,"id":1603609200,"close":13078.1,"tradeTurnover":6061.5416,"open":13048.5},{"amount":0.464,"high":13091.0,"vol":464,"low":13017.2,"count":120,"id":1603612800,"close":13046.0,"tradeTurnover":6055.3734,"open":13077.2},{"amount":0.478,"high":13084.0,"vol":478,"low":13014.2,"count":117,"id":1603616400,"close":13040.8,"tradeTurnover":6235.7882,"open":13065.1},{"amount":0.478,"high":13064.2,"vol":478,"low":13010.2,"count":125,"id":1603620000,"close":13028.5,"tradeTurnover":6232.2428,"open":13047.1},{"amount":0.534,"high":13061.5,"vol":534,"low":12852.9,"count":123,"id":1603623600,"close":12897.6,"tradeTurnover":6918.1226,"open":13061.5},{"amount":0.444,"high":13069.7,"vol":444,"low":12893.2,"count":117,"id":1603627200,"close":12964.3,"tradeTurnover":5755.8712,"open":12908.3},{"amount":0.498,"high":13071.9,"vol":498,"low":12891.8,"count":119,"id":1603630800,"close":12949.3,"tradeTurnover":6465.078,"open":13001.3},{"amount":0.468,"high":13077.7,"vol":468,"low":12900.0,"count":116,"id":1603634400,"close":12946.8,"tradeTurnover":6075.4554,"open":12975.8},{"amount":0.47,"high":13069.1,"vol":470,"low":12883.3,"count":119,"id":1603638000,"close":12883.3,"tradeTurnover":6097.1072,"open":12975.2},{"amount":0.482,"high":13067.9,"vol":482,"low":12877.5,"count":118,"id":1603641600,"close":12978.7,"tradeTurnover":6256.4472,"open":12916.2},{"amount":0.47,"high":13087.5,"vol":470,"low":12922.7,"count":117,"id":1603645200,"close":13004.4,"tradeTurnover":6108.3892,"open":13008.0},{"amount":0.468,"high":13067.6,"vol":468,"low":12893.6,"count":118,"id":1603648800,"close":12957.2,"tradeTurnover":6079.1484,"open":12972.8},{"amount":0.442,"high":13066.9,"vol":442,"low":12916.6,"count":118,"id":1603652400,"close":13021.8,"tradeTurnover":5746.5548,"open":12996.5},{"amount":0.508,"high":13081.5,"vol":508,"low":12944.9,"count":120,"id":1603656000,"close":12985.4,"tradeTurnover":6616.9872,"open":12992.9},{"amount":0.508,"high":13068.6,"vol":508,"low":12921.4,"count":122,"id":1603659600,"close":13011.2,"tradeTurnover":6614.816,"open":12999.9},{"amount":0.486,"high":13073.8,"vol":486,"low":12911.9,"count":121,"id":1603663200,"close":12959.4,"tradeTurnover":6320.907,"open":12979.6},{"amount":0.452,"high":13085.2,"vol":452,"low":12927.8,"count":113,"id":1603666800,"close":13032.1,"tradeTurnover":5878.6442,"open":12963.4},{"amount":0.482,"high":13076.7,"vol":482,"low":12918.3,"count":121,"id":1603670400,"close":13001.0,"tradeTurnover":6263.698,"open":12964.2},{"amount":0.478,"high":13096.4,"vol":478,"low":12991.2,"count":124,"id":1603674000,"close":13053.7,"tradeTurnover":6232.2328,"open":13040.0},{"amount":0.488,"high":13185.7,"vol":488,"low":12985.1,"count":121,"id":1603677600,"close":13064.4,"tradeTurnover":6387.534,"open":13060.6},{"amount":0.486,"high":13187.2,"vol":486,"low":12984.1,"count":135,"id":1603681200,"close":13092.8,"tradeTurnover":6369.0272,"open":13032.3},{"amount":0.51,"high":13181.6,"vol":510,"low":12962.3,"count":131,"id":1603684800,"close":13132.6,"tradeTurnover":6679.829,"open":13092.0},{"amount":0.506,"high":13205.3,"vol":506,"low":13025.3,"count":126,"id":1603688400,"close":13092.1,"tradeTurnover":6641.2128,"open":13129.2},{"amount":1.616,"high":13188.1,"vol":1616,"low":12989.8,"count":141,"id":1603692000,"close":13071.4,"tradeTurnover":21170.8224,"open":13121.8},{"amount":3.746,"high":13100.0,"vol":3746,"low":12965.2,"count":110,"id":1603695600,"close":13038.7,"tradeTurnover":48924.8902,"open":13061.0},{"amount":8.966,"high":13102.0,"vol":8966,"low":12852.8,"count":173,"id":1603699200,"close":13039.3,"tradeTurnover":116525.5534,"open":13030.9},{"amount":4.48,"high":13088.4,"vol":4480,"low":13039.8,"count":124,"id":1603702800,"close":13075.9,"tradeTurnover":58521.1714,"open":13047.1},{"amount":4.272,"high":13100.0,"vol":4272,"low":13060.2,"count":130,"id":1603706400,"close":13100.0,"tradeTurnover":55895.9778,"open":13072.1},{"amount":29.798,"high":13159.0,"vol":29798,"low":13100.0,"count":230,"id":1603710000,"close":13138.4,"tradeTurnover":391138.024,"open":13100.0},{"amount":5.154,"high":13200.0,"vol":5154,"low":13100.0,"count":188,"id":1603713600,"close":13149.8,"tradeTurnover":67694.652,"open":13138.8},{"amount":35.608,"high":13351.5,"vol":35608,"low":13133.1,"count":328,"id":1603717200,"close":13205.8,"tradeTurnover":472780.3394,"open":13150.0},{"amount":31.748,"high":13280.0,"vol":31748,"low":13144.1,"count":235,"id":1603720800,"close":13166.1,"tradeTurnover":418744.5588,"open":13203.0},{"amount":36.53,"high":13165.2,"vol":36530,"low":12903.8,"count":384,"id":1603724400,"close":12978.0,"tradeTurnover":476940.3296,"open":13159.0},{"amount":35.018,"high":13069.8,"vol":35018,"low":12850.5,"count":323,"id":1603728000,"close":12869.6,"tradeTurnover":453288.918,"open":12965.0},{"amount":92.628,"high":12941.5,"vol":92628,"low":12583.9,"count":560,"id":1603731600,"close":12873.8,"tradeTurnover":1185973.467,"open":12879.2},{"amount":4.302,"high":12954.5,"vol":4302,"low":12820.4,"count":128,"id":1603735200,"close":12946.8,"tradeTurnover":55481.0054,"open":12856.2},{"amount":13.83,"high":12953.5,"vol":13830,"low":12914.1,"count":118,"id":1603738800,"close":12953.4,"tradeTurnover":179112.1598,"open":12945.6},{"amount":17.172,"high":13007.5,"vol":17172,"low":12953.5,"count":132,"id":1603742400,"close":12983.4,"tradeTurnover":223230.2122,"open":12953.5},{"amount":3.212,"high":13007.5,"vol":3212,"low":12982.7,"count":59,"id":1603746000,"close":12993.8,"tradeTurnover":41767.8906,"open":12983.1},{"amount":1.504,"high":13007.5,"vol":1504,"low":12974.0,"count":74,"id":1603749600,"close":13007.5,"tradeTurnover":19543.3568,"open":13002.1},{"amount":3.454,"high":13061.2,"vol":3454,"low":13007.5,"count":101,"id":1603753200,"close":13033.7,"tradeTurnover":45001.601,"open":13007.5},{"amount":8.784,"high":13105.0,"vol":8784,"low":13028.3,"count":98,"id":1603756800,"close":13067.1,"tradeTurnover":114871.8246,"open":13029.2},{"amount":11.592,"high":13074.4,"vol":11592,"low":13051.5,"count":66,"id":1603760400,"close":13061.7,"tradeTurnover":151386.9038,"open":13074.3},{"amount":19.298,"high":13097.6,"vol":19298,"low":13040.1,"count":109,"id":1603764000,"close":13049.7,"tradeTurnover":252061.019,"open":13061.7},{"amount":22.992,"high":13080.0,"vol":22992,"low":13057.1,"count":69,"id":1603767600,"close":13070.4,"tradeTurnover":300453.9788,"open":13057.6},{"amount":14.396,"high":13175.0,"vol":14396,"low":13079.6,"count":59,"id":1603771200,"close":13103.3,"tradeTurnover":188461.9156,"open":13080.0},{"amount":5.058,"high":13121.3,"vol":5058,"low":13069.7,"count":44,"id":1603774800,"close":13073.6,"tradeTurnover":66201.3552,"open":13121.3},{"amount":9.106,"high":13149.0,"vol":9106,"low":13069.6,"count":107,"id":1603778400,"close":13103.4,"tradeTurnover":119104.8906,"open":13074.9},{"amount":73.95,"high":13169.8,"vol":73950,"low":12992.4,"count":305,"id":1603782000,"close":13130.0,"tradeTurnover":968195.155,"open":13103.3},{"amount":18.732,"high":13148.4,"vol":18732,"low":13044.0,"count":135,"id":1603785600,"close":13123.8,"tradeTurnover":245533.5448,"open":13135.1},{"amount":13.756,"high":13131.8,"vol":13756,"low":13075.7,"count":102,"id":1603789200,"close":13131.7,"tradeTurnover":180253.7708,"open":13115.5},{"amount":154.108,"high":13252.0,"vol":154108,"low":13063.4,"count":525,"id":1603792800,"close":13216.9,"tradeTurnover":2029983.656,"open":13134.8},{"amount":170.09,"high":13590.1,"vol":170090,"low":13213.5,"count":591,"id":1603796400,"close":13395.8,"tradeTurnover":2276279.742,"open":13218.8},{"amount":48.928,"high":13414.0,"vol":48928,"low":13331.7,"count":216,"id":1603800000,"close":13376.9,"tradeTurnover":654585.9108,"open":13395.9},{"amount":63.294,"high":13490.9,"vol":63294,"low":13329.8,"count":316,"id":1603803600,"close":13384.3,"tradeTurnover":848130.9212,"open":13376.5},{"amount":12.892,"high":13415.8,"vol":12892,"low":13344.8,"count":124,"id":1603807200,"close":13398.2,"tradeTurnover":172618.6864,"open":13392.6},{"amount":93.22,"high":13626.7,"vol":93220,"low":13398.2,"count":476,"id":1603810800,"close":13598.5,"tradeTurnover":1262695.5466,"open":13398.2},{"amount":85.45,"high":13639.9,"vol":85450,"low":13520.2,"count":435,"id":1603814400,"close":13639.9,"tradeTurnover":1161481.4136,"open":13595.8},{"amount":191.812,"high":13826.7,"vol":191812,"low":13589.0,"count":711,"id":1603818000,"close":13688.1,"tradeTurnover":2628428.3788,"open":13640.0},{"amount":65.434,"high":13745.0,"vol":65434,"low":13528.2,"count":410,"id":1603821600,"close":13630.1,"tradeTurnover":891541.8394,"open":13685.0},{"amount":5.788,"high":13659.8,"vol":5788,"low":13595.4,"count":65,"id":1603825200,"close":13637.1,"tradeTurnover":78836.2578,"open":13629.4},{"amount":163.104,"high":13805.1,"vol":163104,"low":13582.6,"count":537,"id":1603828800,"close":13616.6,"tradeTurnover":2234040.3544,"open":13644.4},{"amount":9.884,"high":13753.5,"vol":9884,"low":13609.8,"count":101,"id":1603832400,"close":13705.5,"tradeTurnover":135406.4752,"open":13609.8},{"amount":7.436,"high":13739.9,"vol":7436,"low":13658.2,"count":100,"id":1603836000,"close":13739.9,"tradeTurnover":101840.3508,"open":13705.4},{"amount":17.086,"high":13794.6,"vol":17086,"low":13582.6,"count":234,"id":1603839600,"close":13649.6,"tradeTurnover":233971.8448,"open":13739.9},{"amount":24.108,"high":13745.2,"vol":24108,"low":13618.8,"count":177,"id":1603843200,"close":13701.7,"tradeTurnover":330206.5694,"open":13645.9},{"amount":15.892,"high":13725.6,"vol":15892,"low":13647.9,"count":151,"id":1603846800,"close":13702.6,"tradeTurnover":217816.7008,"open":13702.1},{"amount":46.548,"high":13832.2,"vol":46548,"low":13680.2,"count":274,"id":1603850400,"close":13811.6,"tradeTurnover":640636.0352,"open":13701.7},{"amount":67.896,"high":13820.3,"vol":67896,"low":13717.5,"count":320,"id":1603854000,"close":13777.0,"tradeTurnover":935838.2238,"open":13818.5},{"amount":33.156,"high":13807.2,"vol":33156,"low":13710.0,"count":210,"id":1603857600,"close":13735.7,"tradeTurnover":455941.234,"open":13767.3},{"amount":32.076,"high":13753.9,"vol":32076,"low":13671.3,"count":198,"id":1603861200,"close":13715.8,"tradeTurnover":439612.64,"open":13735.5},{"amount":14.756,"high":13757.0,"vol":14756,"low":13694.9,"count":122,"id":1603864800,"close":13701.3,"tradeTurnover":202602.5164,"open":13715.9},{"amount":155.534,"high":13708.7,"vol":155534,"low":13550.0,"count":635,"id":1603868400,"close":13674.2,"tradeTurnover":2117935.0928,"open":13701.2},{"amount":29.846,"high":13691.7,"vol":29846,"low":13584.0,"count":240,"id":1603872000,"close":13691.7,"tradeTurnover":407073.1398,"open":13673.0},{"amount":104.542,"high":13707.5,"vol":104542,"low":13573.5,"count":377,"id":1603875600,"close":13587.1,"tradeTurnover":1425079.9344,"open":13689.3},{"amount":73.818,"high":13618.0,"vol":73818,"low":13504.7,"count":358,"id":1603879200,"close":13552.7,"tradeTurnover":1001666.0908,"open":13584.6},{"amount":176.544,"high":13565.4,"vol":176544,"low":13330.0,"count":1004,"id":1603882800,"close":13336.4,"tradeTurnover":2369166.1492,"open":13552.6},{"amount":289.73,"high":13385.0,"vol":289730,"low":13173.9,"count":968,"id":1603886400,"close":13300.3,"tradeTurnover":3846751.7166,"open":13331.5},{"amount":139.822,"high":13340.0,"vol":139822,"low":13122.9,"count":612,"id":1603890000,"close":13129.9,"tradeTurnover":1848876.932,"open":13300.2},{"amount":367.876,"high":13168.2,"vol":367876,"low":12915.9,"count":1168,"id":1603893600,"close":13082.2,"tradeTurnover":4802516.9818,"open":13123.4},{"amount":84.044,"high":13235.2,"vol":84044,"low":13052.3,"count":375,"id":1603897200,"close":13221.2,"tradeTurnover":1106883.1282,"open":13077.1},{"amount":29.566,"high":13218.7,"vol":29566,"low":13050.0,"count":244,"id":1603900800,"close":13145.1,"tradeTurnover":388697.4104,"open":13218.7},{"amount":53.336,"high":13204.9,"vol":53336,"low":13006.6,"count":299,"id":1603904400,"close":13176.7,"tradeTurnover":700385.2784,"open":13145.1},{"amount":34.164,"high":13219.6,"vol":34164,"low":13131.0,"count":218,"id":1603908000,"close":13196.5,"tradeTurnover":450210.5778,"open":13171.0},{"amount":22.158,"high":13237.4,"vol":22158,"low":13145.0,"count":185,"id":1603911600,"close":13154.9,"tradeTurnover":292020.0438,"open":13200.0},{"amount":4.548,"high":13211.8,"vol":4548,"low":13147.4,"count":75,"id":1603915200,"close":13198.1,"tradeTurnover":59991.1118,"open":13154.5},{"amount":3.52,"high":13196.5,"vol":3520,"low":13100.2,"count":68,"id":1603918800,"close":13190.1,"tradeTurnover":46175.428,"open":13193.5},{"amount":3.122,"high":13267.5,"vol":3122,"low":13185.4,"count":72,"id":1603922400,"close":13252.0,"tradeTurnover":41304.2018,"open":13185.4},{"amount":14.768,"high":13282.3,"vol":14768,"low":13235.9,"count":86,"id":1603926000,"close":13265.9,"tradeTurnover":195689.0764,"open":13242.1},{"amount":19.968,"high":13294.7,"vol":19968,"low":13237.4,"count":98,"id":1603929600,"close":13245.1,"tradeTurnover":264834.1944,"open":13253.9},{"amount":35.282,"high":13285.3,"vol":35282,"low":13166.3,"count":192,"id":1603933200,"close":13274.2,"tradeTurnover":465789.6302,"open":13244.6},{"amount":9.748,"high":13277.7,"vol":9748,"low":13212.2,"count":119,"id":1603936800,"close":13241.1,"tradeTurnover":129016.0684,"open":13275.9},{"amount":27.3,"high":13262.5,"vol":27300,"low":13174.6,"count":199,"id":1603940400,"close":13262.5,"tradeTurnover":360589.8982,"open":13237.1},{"amount":18.904,"high":13277.7,"vol":18904,"low":13229.5,"count":109,"id":1603944000,"close":13229.5,"tradeTurnover":250713.2812,"open":13269.1},{"amount":15.822,"high":13274.8,"vol":15822,"low":13228.5,"count":134,"id":1603947600,"close":13274.8,"tradeTurnover":209781.909,"open":13228.5},{"amount":91.246,"high":13323.0,"vol":91246,"low":13242.3,"count":294,"id":1603951200,"close":13255.0,"tradeTurnover":1211271.2788,"open":13274.8},{"amount":187.622,"high":13269.3,"vol":187622,"low":13123.1,"count":506,"id":1603954800,"close":13142.4,"tradeTurnover":2478299.7074,"open":13255.0},{"amount":69.532,"high":13182.4,"vol":69532,"low":13094.1,"count":226,"id":1603958400,"close":13124.8,"tradeTurnover":914157.2418,"open":13145.9},{"amount":23.184,"high":13197.1,"vol":23184,"low":13129.5,"count":141,"id":1603962000,"close":13183.7,"tradeTurnover":305485.9524,"open":13129.5},{"amount":121.146,"high":13187.5,"vol":121146,"low":13053.1,"count":442,"id":1603965600,"close":13105.2,"tradeTurnover":1590026.4416,"open":13184.8},{"amount":47.498,"high":13171.4,"vol":47498,"low":13060.1,"count":262,"id":1603969200,"close":13060.1,"tradeTurnover":623578.149,"open":13105.1},{"amount":126.552,"high":13145.8,"vol":126552,"low":12977.9,"count":481,"id":1603972800,"close":13131.8,"tradeTurnover":1652549.311,"open":13056.9},{"amount":100.482,"high":13237.2,"vol":100482,"low":13102.0,"count":325,"id":1603976400,"close":13230.0,"tradeTurnover":1326403.7206,"open":13131.7},{"amount":253.258,"high":13476.1,"vol":253258,"low":13231.0,"count":752,"id":1603980000,"close":13420.8,"tradeTurnover":3384941.438,"open":13231.0},{"amount":64.71,"high":13458.7,"vol":64710,"low":13358.7,"count":269,"id":1603983600,"close":13420.6,"tradeTurnover":869052.3804,"open":13416.0},{"amount":120.24,"high":13594.5,"vol":120240,"low":13391.8,"count":570,"id":1603987200,"close":13535.9,"tradeTurnover":1626567.8278,"open":13421.9}],"id":"","rep":"market.BTC-USDT.kline.60min","status":"ok"} +2024-01-18 11:13:10.988 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:39] - 请求 KLine 数据用户收到的原始数据:{"id":"","rep":"market.BTC-USDT.kline.60min","ts":1705547589874,"wsid":19750305,"status":"ok","data":[{"id":1603270800,"open":12198.0,"close":12196.7,"high":12300.0,"low":11715.8,"amount":0.276,"vol":276,"trade_turnover":3315.9104,"count":39},{"id":1603274400,"open":12196.7,"close":12277.9,"high":12289.9,"low":12111.0,"amount":0.198,"vol":198,"trade_turnover":2420.7728,"count":21},{"id":1603278000,"open":12111.0,"close":12000.0,"high":12277.9,"low":12000.0,"amount":0.012,"vol":12,"trade_turnover":145.2238,"count":5},{"id":1603281600,"open":12078.0,"close":12497.4,"high":12498.0,"low":12078.0,"amount":0.084,"vol":84,"trade_turnover":1040.0504,"count":12},{"id":1603285200,"open":12495.6,"close":12373.5,"high":12495.6,"low":12282.9,"amount":1.122,"vol":1122,"trade_turnover":13905.3124,"count":112},{"id":1603288800,"open":12412.9,"close":12689.9,"high":12807.6,"low":12358.1,"amount":5.29,"vol":5290,"trade_turnover":66852.128,"count":155},{"id":1603292400,"open":12692.8,"close":12701.9,"high":12778.7,"low":12573.2,"amount":1.174,"vol":1174,"trade_turnover":14907.367,"count":113},{"id":1603296000,"open":12679.7,"close":12835.9,"high":12920.9,"low":12624.8,"amount":1.156,"vol":1156,"trade_turnover":14802.449,"count":115},{"id":1603299600,"open":12848.3,"close":12754.2,"high":12908.3,"low":12687.5,"amount":1.12,"vol":1120,"trade_turnover":14345.7324,"count":115},{"id":1603303200,"open":12743.7,"close":12740.2,"high":12849.0,"low":12668.3,"amount":1.106,"vol":1106,"trade_turnover":14105.3504,"count":114},{"id":1603306800,"open":12729.5,"close":12650.3,"high":12843.1,"low":12597.2,"amount":1.032,"vol":1032,"trade_turnover":13125.4568,"count":112},{"id":1603310400,"open":12666.8,"close":12807.0,"high":12848.4,"low":12610.2,"amount":1.154,"vol":1154,"trade_turnover":14680.638,"count":116},{"id":1603314000,"open":12866.0,"close":12938.9,"high":13005.1,"low":12748.2,"amount":1.164,"vol":1164,"trade_turnover":14976.9366,"count":114},{"id":1603317600,"open":12921.0,"close":13122.0,"high":13211.2,"low":12865.7,"amount":1.174,"vol":1174,"trade_turnover":15285.2446,"count":114},{"id":1603321200,"open":13153.2,"close":12829.8,"high":13173.2,"low":12688.6,"amount":1.172,"vol":1172,"trade_turnover":15060.9938,"count":117},{"id":1603324800,"open":12793.1,"close":12885.9,"high":12988.1,"low":12764.4,"amount":1.17,"vol":1170,"trade_turnover":15046.2046,"count":117},{"id":1603328400,"open":12860.4,"close":12757.5,"high":12972.6,"low":12757.5,"amount":1.158,"vol":1158,"trade_turnover":14882.4656,"count":118},{"id":1603332000,"open":12824.1,"close":12788.8,"high":12848.0,"low":12729.0,"amount":1.124,"vol":1124,"trade_turnover":14368.7948,"count":115},{"id":1603335600,"open":12791.7,"close":12767.2,"high":12834.4,"low":12729.0,"amount":1.194,"vol":1194,"trade_turnover":15268.9298,"count":111},{"id":1603339200,"open":12729.0,"close":12762.2,"high":12778.3,"low":12729.0,"amount":1.152,"vol":1152,"trade_turnover":14695.4876,"count":115},{"id":1603342800,"open":12763.1,"close":12813.8,"high":12842.0,"low":12730.6,"amount":1.21,"vol":1210,"trade_turnover":15440.8162,"count":119},{"id":1603346400,"open":12795.0,"close":12729.1,"high":12795.0,"low":12728.0,"amount":1.188,"vol":1188,"trade_turnover":15128.0098,"count":123},{"id":1603350000,"open":12728.6,"close":12730.6,"high":12730.6,"low":12728.3,"amount":1.266,"vol":1266,"trade_turnover":16115.1306,"count":112},{"id":1603353600,"open":12730.3,"close":12770.1,"high":12921.5,"low":12729.9,"amount":1.35,"vol":1350,"trade_turnover":17233.7326,"count":127},{"id":1603357200,"open":12824.9,"close":12780.4,"high":12872.1,"low":12760.1,"amount":0.98,"vol":980,"trade_turnover":12553.9826,"count":99},{"id":1603360800,"open":12784.9,"close":12934.2,"high":13002.7,"low":12775.6,"amount":0.266,"vol":266,"trade_turnover":3415.023,"count":30},{"id":1603364400,"open":12977.0,"close":13045.0,"high":13057.0,"low":12886.6,"amount":1.004,"vol":1004,"trade_turnover":13020.8576,"count":117},{"id":1603368000,"open":12958.5,"close":12847.9,"high":12973.4,"low":12751.6,"amount":1.134,"vol":1134,"trade_turnover":14594.2752,"count":111},{"id":1603371600,"open":12882.7,"close":12931.0,"high":13000.8,"low":12743.0,"amount":1.152,"vol":1152,"trade_turnover":14877.7314,"count":114},{"id":1603375200,"open":12890.4,"close":12917.8,"high":12995.3,"low":12783.9,"amount":1.182,"vol":1182,"trade_turnover":15224.4716,"count":115},{"id":1603378800,"open":12918.8,"close":12953.0,"high":13031.2,"low":12817.9,"amount":1.176,"vol":1176,"trade_turnover":15197.208,"count":117},{"id":1603382400,"open":12923.1,"close":13055.6,"high":13100.2,"low":12865.6,"amount":1.146,"vol":1146,"trade_turnover":14851.9604,"count":119},{"id":1603386000,"open":12967.6,"close":13082.7,"high":13105.7,"low":12835.5,"amount":1.534,"vol":1534,"trade_turnover":19927.8288,"count":124},{"id":1603389600,"open":13020.4,"close":13016.4,"high":13115.0,"low":12938.7,"amount":1.268,"vol":1268,"trade_turnover":16505.4738,"count":117},{"id":1603393200,"open":13028.3,"close":12970.6,"high":13171.2,"low":12961.8,"amount":1.13,"vol":1130,"trade_turnover":14762.952,"count":112},{"id":1603396800,"open":13016.7,"close":13089.3,"high":13216.1,"low":12998.5,"amount":1.206,"vol":1206,"trade_turnover":15807.1226,"count":117},{"id":1603400400,"open":13136.0,"close":13092.0,"high":13203.7,"low":12932.9,"amount":1.332,"vol":1332,"trade_turnover":17423.4422,"count":114},{"id":1603404000,"open":13119.4,"close":13055.9,"high":13250.5,"low":12984.7,"amount":1.21,"vol":1210,"trade_turnover":15876.0632,"count":114},{"id":1603407600,"open":13059.4,"close":12890.4,"high":13126.5,"low":12857.2,"amount":1.286,"vol":1286,"trade_turnover":16688.422,"count":116},{"id":1603411200,"open":12929.7,"close":12892.2,"high":12994.0,"low":12751.6,"amount":1.502,"vol":1502,"trade_turnover":19331.1596,"count":131},{"id":1603414800,"open":12921.7,"close":12898.3,"high":13003.2,"low":12786.0,"amount":1.386,"vol":1386,"trade_turnover":17904.8902,"count":121},{"id":1603418400,"open":12951.6,"close":12975.1,"high":13054.0,"low":12800.7,"amount":1.416,"vol":1416,"trade_turnover":18306.6204,"count":122},{"id":1603422000,"open":12967.3,"close":12947.0,"high":13030.7,"low":12875.0,"amount":1.19,"vol":1190,"trade_turnover":15409.7984,"count":118},{"id":1603425600,"open":12925.2,"close":12852.0,"high":13047.3,"low":12832.8,"amount":1.022,"vol":1022,"trade_turnover":13214.4388,"count":127},{"id":1603429200,"open":12859.0,"close":12931.1,"high":12991.7,"low":12841.2,"amount":0.478,"vol":478,"trade_turnover":6180.2486,"count":118},{"id":1603432800,"open":12935.9,"close":12939.6,"high":13014.1,"low":12871.9,"amount":0.522,"vol":522,"trade_turnover":6759.0324,"count":132},{"id":1603436400,"open":12923.1,"close":12925.4,"high":12998.9,"low":12917.1,"amount":0.476,"vol":476,"trade_turnover":6163.3118,"count":118},{"id":1603440000,"open":12942.2,"close":12962.6,"high":13014.0,"low":12916.1,"amount":0.508,"vol":508,"trade_turnover":6585.3656,"count":122},{"id":1603443600,"open":12970.5,"close":12926.4,"high":13012.5,"low":12909.9,"amount":0.564,"vol":564,"trade_turnover":7308.8828,"count":124},{"id":1603447200,"open":13001.2,"close":13007.7,"high":13059.5,"low":12925.7,"amount":0.536,"vol":536,"trade_turnover":6957.8796,"count":124},{"id":1603450800,"open":13025.4,"close":12970.6,"high":13078.4,"low":12906.5,"amount":0.486,"vol":486,"trade_turnover":6326.1434,"count":122},{"id":1603454400,"open":12963.9,"close":12935.4,"high":13025.0,"low":12850.8,"amount":0.494,"vol":494,"trade_turnover":6396.0984,"count":117},{"id":1603458000,"open":12913.3,"close":12951.7,"high":13043.3,"low":12911.0,"amount":0.466,"vol":466,"trade_turnover":6049.1412,"count":117},{"id":1603461600,"open":12999.6,"close":12858.8,"high":13006.4,"low":12840.4,"amount":0.46,"vol":460,"trade_turnover":5941.815,"count":116},{"id":1603465200,"open":12885.7,"close":12881.9,"high":12932.9,"low":12826.5,"amount":0.492,"vol":492,"trade_turnover":6340.214,"count":117},{"id":1603468800,"open":12854.4,"close":12784.1,"high":12933.5,"low":12744.4,"amount":0.484,"vol":484,"trade_turnover":6205.4138,"count":123},{"id":1603472400,"open":12832.3,"close":12847.7,"high":12893.1,"low":12730.1,"amount":0.562,"vol":562,"trade_turnover":7218.9184,"count":152},{"id":1603476000,"open":12874.1,"close":12915.7,"high":12939.3,"low":12751.4,"amount":0.53,"vol":530,"trade_turnover":6825.7004,"count":128},{"id":1603479600,"open":12867.9,"close":12972.9,"high":12972.9,"low":12786.6,"amount":0.444,"vol":444,"trade_turnover":5727.7452,"count":117},{"id":1603483200,"open":12956.7,"close":12991.6,"high":13002.2,"low":12842.9,"amount":0.492,"vol":492,"trade_turnover":6375.1566,"count":116},{"id":1603486800,"open":13004.3,"close":12943.5,"high":13004.3,"low":12936.6,"amount":0.5,"vol":500,"trade_turnover":6485.468,"count":125},{"id":1603490400,"open":12923.6,"close":12989.2,"high":13010.3,"low":12884.7,"amount":0.492,"vol":492,"trade_turnover":6376.1492,"count":120},{"id":1603494000,"open":12974.9,"close":12884.6,"high":13024.4,"low":12884.6,"amount":0.51,"vol":510,"trade_turnover":6622.3406,"count":121},{"id":1603497600,"open":12973.7,"close":12953.9,"high":13018.3,"low":12811.1,"amount":0.488,"vol":488,"trade_turnover":6317.7938,"count":120},{"id":1603501200,"open":12927.5,"close":12934.2,"high":13018.1,"low":12872.8,"amount":0.482,"vol":482,"trade_turnover":6242.4178,"count":117},{"id":1603504800,"open":12971.9,"close":12989.1,"high":13003.9,"low":12903.3,"amount":0.484,"vol":484,"trade_turnover":6278.1756,"count":117},{"id":1603508400,"open":13000.1,"close":12975.9,"high":13013.4,"low":12938.3,"amount":0.474,"vol":474,"trade_turnover":6157.7096,"count":122},{"id":1603512000,"open":12989.7,"close":12963.3,"high":13009.4,"low":12905.5,"amount":0.526,"vol":526,"trade_turnover":6831.5658,"count":124},{"id":1603515600,"open":12910.5,"close":12989.7,"high":13041.8,"low":12875.3,"amount":0.522,"vol":522,"trade_turnover":6768.8994,"count":127},{"id":1603519200,"open":12994.7,"close":13003.6,"high":13058.1,"low":12908.8,"amount":0.49,"vol":490,"trade_turnover":6370.5714,"count":120},{"id":1603522800,"open":13011.9,"close":13004.2,"high":13037.8,"low":12981.7,"amount":0.478,"vol":478,"trade_turnover":6218.9722,"count":120},{"id":1603526400,"open":13003.0,"close":12998.2,"high":13030.6,"low":12899.4,"amount":0.52,"vol":520,"trade_turnover":6754.958,"count":124},{"id":1603530000,"open":12998.2,"close":12990.6,"high":13020.3,"low":12893.6,"amount":0.454,"vol":454,"trade_turnover":5891.0574,"count":115},{"id":1603533600,"open":12996.4,"close":13030.1,"high":13059.1,"low":12913.2,"amount":0.502,"vol":502,"trade_turnover":6525.9004,"count":124},{"id":1603537200,"open":12988.4,"close":13033.2,"high":13068.3,"low":12940.2,"amount":0.468,"vol":468,"trade_turnover":6091.0376,"count":119},{"id":1603540800,"open":13035.3,"close":13006.5,"high":13071.8,"low":12978.9,"amount":0.468,"vol":468,"trade_turnover":6102.5902,"count":123},{"id":1603544400,"open":13038.8,"close":12985.9,"high":13066.7,"low":12928.1,"amount":0.534,"vol":534,"trade_turnover":6950.4268,"count":123},{"id":1603548000,"open":12986.3,"close":13042.0,"high":13100.1,"low":12960.5,"amount":0.47,"vol":470,"trade_turnover":6124.2178,"count":100},{"id":1603551600,"open":13038.4,"close":13102.2,"high":13196.5,"low":13038.4,"amount":0.456,"vol":456,"trade_turnover":5989.6362,"count":120},{"id":1603555200,"open":13136.8,"close":13052.7,"high":13176.6,"low":12984.6,"amount":0.458,"vol":458,"trade_turnover":5976.331,"count":121},{"id":1603558800,"open":13006.2,"close":13177.8,"high":13177.8,"low":13003.2,"amount":0.452,"vol":452,"trade_turnover":5911.7058,"count":118},{"id":1603562400,"open":13127.7,"close":13080.8,"high":13170.7,"low":13023.0,"amount":0.468,"vol":468,"trade_turnover":6122.375,"count":119},{"id":1603566000,"open":13040.7,"close":13148.4,"high":13179.3,"low":13014.2,"amount":0.468,"vol":468,"trade_turnover":6126.4278,"count":120},{"id":1603569600,"open":13073.5,"close":13090.1,"high":13179.6,"low":12992.5,"amount":0.47,"vol":470,"trade_turnover":6151.4758,"count":119},{"id":1603573200,"open":13035.4,"close":12993.9,"high":13148.7,"low":12980.7,"amount":0.458,"vol":458,"trade_turnover":5981.071,"count":117},{"id":1603576800,"open":13040.7,"close":13041.1,"high":13112.1,"low":12975.6,"amount":0.478,"vol":478,"trade_turnover":6225.4216,"count":118},{"id":1603580400,"open":13012.6,"close":13184.3,"high":13184.3,"low":13009.3,"amount":0.472,"vol":472,"trade_turnover":6173.4244,"count":118},{"id":1603584000,"open":13080.8,"close":13154.3,"high":13170.4,"low":13007.7,"amount":0.46,"vol":460,"trade_turnover":6024.09,"count":115},{"id":1603587600,"open":13092.0,"close":13196.1,"high":13196.8,"low":13024.0,"amount":0.398,"vol":398,"trade_turnover":5217.5364,"count":102},{"id":1603591200,"open":13124.7,"close":13082.4,"high":13175.1,"low":13035.0,"amount":0.476,"vol":476,"trade_turnover":6228.6596,"count":120},{"id":1603594800,"open":13049.1,"close":13259.0,"high":13383.8,"low":13049.1,"amount":0.578,"vol":578,"trade_turnover":7629.3886,"count":137},{"id":1603598400,"open":13277.0,"close":13243.4,"high":13369.0,"low":13216.0,"amount":0.47,"vol":470,"trade_turnover":6247.955,"count":122},{"id":1603602000,"open":13285.3,"close":13017.3,"high":13353.3,"low":13010.1,"amount":0.61,"vol":610,"trade_turnover":8048.8598,"count":134},{"id":1603605600,"open":13022.5,"close":13060.3,"high":13105.7,"low":13018.2,"amount":0.486,"vol":486,"trade_turnover":6344.1474,"count":118},{"id":1603609200,"open":13048.5,"close":13078.1,"high":13112.1,"low":13022.0,"amount":0.464,"vol":464,"trade_turnover":6061.5416,"count":120},{"id":1603612800,"open":13077.2,"close":13046.0,"high":13091.0,"low":13017.2,"amount":0.464,"vol":464,"trade_turnover":6055.3734,"count":120},{"id":1603616400,"open":13065.1,"close":13040.8,"high":13084.0,"low":13014.2,"amount":0.478,"vol":478,"trade_turnover":6235.7882,"count":117},{"id":1603620000,"open":13047.1,"close":13028.5,"high":13064.2,"low":13010.2,"amount":0.478,"vol":478,"trade_turnover":6232.2428,"count":125},{"id":1603623600,"open":13061.5,"close":12897.6,"high":13061.5,"low":12852.9,"amount":0.534,"vol":534,"trade_turnover":6918.1226,"count":123},{"id":1603627200,"open":12908.3,"close":12964.3,"high":13069.7,"low":12893.2,"amount":0.444,"vol":444,"trade_turnover":5755.8712,"count":117},{"id":1603630800,"open":13001.3,"close":12949.3,"high":13071.9,"low":12891.8,"amount":0.498,"vol":498,"trade_turnover":6465.078,"count":119},{"id":1603634400,"open":12975.8,"close":12946.8,"high":13077.7,"low":12900.0,"amount":0.468,"vol":468,"trade_turnover":6075.4554,"count":116},{"id":1603638000,"open":12975.2,"close":12883.3,"high":13069.1,"low":12883.3,"amount":0.47,"vol":470,"trade_turnover":6097.1072,"count":119},{"id":1603641600,"open":12916.2,"close":12978.7,"high":13067.9,"low":12877.5,"amount":0.482,"vol":482,"trade_turnover":6256.4472,"count":118},{"id":1603645200,"open":13008.0,"close":13004.4,"high":13087.5,"low":12922.7,"amount":0.47,"vol":470,"trade_turnover":6108.3892,"count":117},{"id":1603648800,"open":12972.8,"close":12957.2,"high":13067.6,"low":12893.6,"amount":0.468,"vol":468,"trade_turnover":6079.1484,"count":118},{"id":1603652400,"open":12996.5,"close":13021.8,"high":13066.9,"low":12916.6,"amount":0.442,"vol":442,"trade_turnover":5746.5548,"count":118},{"id":1603656000,"open":12992.9,"close":12985.4,"high":13081.5,"low":12944.9,"amount":0.508,"vol":508,"trade_turnover":6616.9872,"count":120},{"id":1603659600,"open":12999.9,"close":13011.2,"high":13068.6,"low":12921.4,"amount":0.508,"vol":508,"trade_turnover":6614.816,"count":122},{"id":1603663200,"open":12979.6,"close":12959.4,"high":13073.8,"low":12911.9,"amount":0.486,"vol":486,"trade_turnover":6320.907,"count":121},{"id":1603666800,"open":12963.4,"close":13032.1,"high":13085.2,"low":12927.8,"amount":0.452,"vol":452,"trade_turnover":5878.6442,"count":113},{"id":1603670400,"open":12964.2,"close":13001.0,"high":13076.7,"low":12918.3,"amount":0.482,"vol":482,"trade_turnover":6263.698,"count":121},{"id":1603674000,"open":13040.0,"close":13053.7,"high":13096.4,"low":12991.2,"amount":0.478,"vol":478,"trade_turnover":6232.2328,"count":124},{"id":1603677600,"open":13060.6,"close":13064.4,"high":13185.7,"low":12985.1,"amount":0.488,"vol":488,"trade_turnover":6387.534,"count":121},{"id":1603681200,"open":13032.3,"close":13092.8,"high":13187.2,"low":12984.1,"amount":0.486,"vol":486,"trade_turnover":6369.0272,"count":135},{"id":1603684800,"open":13092.0,"close":13132.6,"high":13181.6,"low":12962.3,"amount":0.51,"vol":510,"trade_turnover":6679.829,"count":131},{"id":1603688400,"open":13129.2,"close":13092.1,"high":13205.3,"low":13025.3,"amount":0.506,"vol":506,"trade_turnover":6641.2128,"count":126},{"id":1603692000,"open":13121.8,"close":13071.4,"high":13188.1,"low":12989.8,"amount":1.616,"vol":1616,"trade_turnover":21170.8224,"count":141},{"id":1603695600,"open":13061.0,"close":13038.7,"high":13100.0,"low":12965.2,"amount":3.746,"vol":3746,"trade_turnover":48924.8902,"count":110},{"id":1603699200,"open":13030.9,"close":13039.3,"high":13102.0,"low":12852.8,"amount":8.966,"vol":8966,"trade_turnover":116525.5534,"count":173},{"id":1603702800,"open":13047.1,"close":13075.9,"high":13088.4,"low":13039.8,"amount":4.48,"vol":4480,"trade_turnover":58521.1714,"count":124},{"id":1603706400,"open":13072.1,"close":13100.0,"high":13100.0,"low":13060.2,"amount":4.272,"vol":4272,"trade_turnover":55895.9778,"count":130},{"id":1603710000,"open":13100.0,"close":13138.4,"high":13159.0,"low":13100.0,"amount":29.798,"vol":29798,"trade_turnover":391138.024,"count":230},{"id":1603713600,"open":13138.8,"close":13149.8,"high":13200.0,"low":13100.0,"amount":5.154,"vol":5154,"trade_turnover":67694.652,"count":188},{"id":1603717200,"open":13150.0,"close":13205.8,"high":13351.5,"low":13133.1,"amount":35.608,"vol":35608,"trade_turnover":472780.3394,"count":328},{"id":1603720800,"open":13203.0,"close":13166.1,"high":13280.0,"low":13144.1,"amount":31.748,"vol":31748,"trade_turnover":418744.5588,"count":235},{"id":1603724400,"open":13159.0,"close":12978.0,"high":13165.2,"low":12903.8,"amount":36.53,"vol":36530,"trade_turnover":476940.3296,"count":384},{"id":1603728000,"open":12965.0,"close":12869.6,"high":13069.8,"low":12850.5,"amount":35.018,"vol":35018,"trade_turnover":453288.918,"count":323},{"id":1603731600,"open":12879.2,"close":12873.8,"high":12941.5,"low":12583.9,"amount":92.628,"vol":92628,"trade_turnover":1185973.467,"count":560},{"id":1603735200,"open":12856.2,"close":12946.8,"high":12954.5,"low":12820.4,"amount":4.302,"vol":4302,"trade_turnover":55481.0054,"count":128},{"id":1603738800,"open":12945.6,"close":12953.4,"high":12953.5,"low":12914.1,"amount":13.83,"vol":13830,"trade_turnover":179112.1598,"count":118},{"id":1603742400,"open":12953.5,"close":12983.4,"high":13007.5,"low":12953.5,"amount":17.172,"vol":17172,"trade_turnover":223230.2122,"count":132},{"id":1603746000,"open":12983.1,"close":12993.8,"high":13007.5,"low":12982.7,"amount":3.212,"vol":3212,"trade_turnover":41767.8906,"count":59},{"id":1603749600,"open":13002.1,"close":13007.5,"high":13007.5,"low":12974.0,"amount":1.504,"vol":1504,"trade_turnover":19543.3568,"count":74},{"id":1603753200,"open":13007.5,"close":13033.7,"high":13061.2,"low":13007.5,"amount":3.454,"vol":3454,"trade_turnover":45001.601,"count":101},{"id":1603756800,"open":13029.2,"close":13067.1,"high":13105.0,"low":13028.3,"amount":8.784,"vol":8784,"trade_turnover":114871.8246,"count":98},{"id":1603760400,"open":13074.3,"close":13061.7,"high":13074.4,"low":13051.5,"amount":11.592,"vol":11592,"trade_turnover":151386.9038,"count":66},{"id":1603764000,"open":13061.7,"close":13049.7,"high":13097.6,"low":13040.1,"amount":19.298,"vol":19298,"trade_turnover":252061.019,"count":109},{"id":1603767600,"open":13057.6,"close":13070.4,"high":13080.0,"low":13057.1,"amount":22.992,"vol":22992,"trade_turnover":300453.9788,"count":69},{"id":1603771200,"open":13080.0,"close":13103.3,"high":13175.0,"low":13079.6,"amount":14.396,"vol":14396,"trade_turnover":188461.9156,"count":59},{"id":1603774800,"open":13121.3,"close":13073.6,"high":13121.3,"low":13069.7,"amount":5.058,"vol":5058,"trade_turnover":66201.3552,"count":44},{"id":1603778400,"open":13074.9,"close":13103.4,"high":13149.0,"low":13069.6,"amount":9.106,"vol":9106,"trade_turnover":119104.8906,"count":107},{"id":1603782000,"open":13103.3,"close":13130.0,"high":13169.8,"low":12992.4,"amount":73.95,"vol":73950,"trade_turnover":968195.155,"count":305},{"id":1603785600,"open":13135.1,"close":13123.8,"high":13148.4,"low":13044.0,"amount":18.732,"vol":18732,"trade_turnover":245533.5448,"count":135},{"id":1603789200,"open":13115.5,"close":13131.7,"high":13131.8,"low":13075.7,"amount":13.756,"vol":13756,"trade_turnover":180253.7708,"count":102},{"id":1603792800,"open":13134.8,"close":13216.9,"high":13252.0,"low":13063.4,"amount":154.108,"vol":154108,"trade_turnover":2029983.656,"count":525},{"id":1603796400,"open":13218.8,"close":13395.8,"high":13590.1,"low":13213.5,"amount":170.09,"vol":170090,"trade_turnover":2276279.742,"count":591},{"id":1603800000,"open":13395.9,"close":13376.9,"high":13414.0,"low":13331.7,"amount":48.928,"vol":48928,"trade_turnover":654585.9108,"count":216},{"id":1603803600,"open":13376.5,"close":13384.3,"high":13490.9,"low":13329.8,"amount":63.294,"vol":63294,"trade_turnover":848130.9212,"count":316},{"id":1603807200,"open":13392.6,"close":13398.2,"high":13415.8,"low":13344.8,"amount":12.892,"vol":12892,"trade_turnover":172618.6864,"count":124},{"id":1603810800,"open":13398.2,"close":13598.5,"high":13626.7,"low":13398.2,"amount":93.22,"vol":93220,"trade_turnover":1262695.5466,"count":476},{"id":1603814400,"open":13595.8,"close":13639.9,"high":13639.9,"low":13520.2,"amount":85.45,"vol":85450,"trade_turnover":1161481.4136,"count":435},{"id":1603818000,"open":13640.0,"close":13688.1,"high":13826.7,"low":13589.0,"amount":191.812,"vol":191812,"trade_turnover":2628428.3788,"count":711},{"id":1603821600,"open":13685.0,"close":13630.1,"high":13745.0,"low":13528.2,"amount":65.434,"vol":65434,"trade_turnover":891541.8394,"count":410},{"id":1603825200,"open":13629.4,"close":13637.1,"high":13659.8,"low":13595.4,"amount":5.788,"vol":5788,"trade_turnover":78836.2578,"count":65},{"id":1603828800,"open":13644.4,"close":13616.6,"high":13805.1,"low":13582.6,"amount":163.104,"vol":163104,"trade_turnover":2234040.3544,"count":537},{"id":1603832400,"open":13609.8,"close":13705.5,"high":13753.5,"low":13609.8,"amount":9.884,"vol":9884,"trade_turnover":135406.4752,"count":101},{"id":1603836000,"open":13705.4,"close":13739.9,"high":13739.9,"low":13658.2,"amount":7.436,"vol":7436,"trade_turnover":101840.3508,"count":100},{"id":1603839600,"open":13739.9,"close":13649.6,"high":13794.6,"low":13582.6,"amount":17.086,"vol":17086,"trade_turnover":233971.8448,"count":234},{"id":1603843200,"open":13645.9,"close":13701.7,"high":13745.2,"low":13618.8,"amount":24.108,"vol":24108,"trade_turnover":330206.5694,"count":177},{"id":1603846800,"open":13702.1,"close":13702.6,"high":13725.6,"low":13647.9,"amount":15.892,"vol":15892,"trade_turnover":217816.7008,"count":151},{"id":1603850400,"open":13701.7,"close":13811.6,"high":13832.2,"low":13680.2,"amount":46.548,"vol":46548,"trade_turnover":640636.0352,"count":274},{"id":1603854000,"open":13818.5,"close":13777.0,"high":13820.3,"low":13717.5,"amount":67.896,"vol":67896,"trade_turnover":935838.2238,"count":320},{"id":1603857600,"open":13767.3,"close":13735.7,"high":13807.2,"low":13710.0,"amount":33.156,"vol":33156,"trade_turnover":455941.234,"count":210},{"id":1603861200,"open":13735.5,"close":13715.8,"high":13753.9,"low":13671.3,"amount":32.076,"vol":32076,"trade_turnover":439612.64,"count":198},{"id":1603864800,"open":13715.9,"close":13701.3,"high":13757.0,"low":13694.9,"amount":14.756,"vol":14756,"trade_turnover":202602.5164,"count":122},{"id":1603868400,"open":13701.2,"close":13674.2,"high":13708.7,"low":13550.0,"amount":155.534,"vol":155534,"trade_turnover":2117935.0928,"count":635},{"id":1603872000,"open":13673.0,"close":13691.7,"high":13691.7,"low":13584.0,"amount":29.846,"vol":29846,"trade_turnover":407073.1398,"count":240},{"id":1603875600,"open":13689.3,"close":13587.1,"high":13707.5,"low":13573.5,"amount":104.542,"vol":104542,"trade_turnover":1425079.9344,"count":377},{"id":1603879200,"open":13584.6,"close":13552.7,"high":13618.0,"low":13504.7,"amount":73.818,"vol":73818,"trade_turnover":1001666.0908,"count":358},{"id":1603882800,"open":13552.6,"close":13336.4,"high":13565.4,"low":13330.0,"amount":176.544,"vol":176544,"trade_turnover":2369166.1492,"count":1004},{"id":1603886400,"open":13331.5,"close":13300.3,"high":13385.0,"low":13173.9,"amount":289.73,"vol":289730,"trade_turnover":3846751.7166,"count":968},{"id":1603890000,"open":13300.2,"close":13129.9,"high":13340.0,"low":13122.9,"amount":139.822,"vol":139822,"trade_turnover":1848876.932,"count":612},{"id":1603893600,"open":13123.4,"close":13082.2,"high":13168.2,"low":12915.9,"amount":367.876,"vol":367876,"trade_turnover":4802516.9818,"count":1168},{"id":1603897200,"open":13077.1,"close":13221.2,"high":13235.2,"low":13052.3,"amount":84.044,"vol":84044,"trade_turnover":1106883.1282,"count":375},{"id":1603900800,"open":13218.7,"close":13145.1,"high":13218.7,"low":13050.0,"amount":29.566,"vol":29566,"trade_turnover":388697.4104,"count":244},{"id":1603904400,"open":13145.1,"close":13176.7,"high":13204.9,"low":13006.6,"amount":53.336,"vol":53336,"trade_turnover":700385.2784,"count":299},{"id":1603908000,"open":13171.0,"close":13196.5,"high":13219.6,"low":13131.0,"amount":34.164,"vol":34164,"trade_turnover":450210.5778,"count":218},{"id":1603911600,"open":13200.0,"close":13154.9,"high":13237.4,"low":13145.0,"amount":22.158,"vol":22158,"trade_turnover":292020.0438,"count":185},{"id":1603915200,"open":13154.5,"close":13198.1,"high":13211.8,"low":13147.4,"amount":4.548,"vol":4548,"trade_turnover":59991.1118,"count":75},{"id":1603918800,"open":13193.5,"close":13190.1,"high":13196.5,"low":13100.2,"amount":3.52,"vol":3520,"trade_turnover":46175.428,"count":68},{"id":1603922400,"open":13185.4,"close":13252.0,"high":13267.5,"low":13185.4,"amount":3.122,"vol":3122,"trade_turnover":41304.2018,"count":72},{"id":1603926000,"open":13242.1,"close":13265.9,"high":13282.3,"low":13235.9,"amount":14.768,"vol":14768,"trade_turnover":195689.0764,"count":86},{"id":1603929600,"open":13253.9,"close":13245.1,"high":13294.7,"low":13237.4,"amount":19.968,"vol":19968,"trade_turnover":264834.1944,"count":98},{"id":1603933200,"open":13244.6,"close":13274.2,"high":13285.3,"low":13166.3,"amount":35.282,"vol":35282,"trade_turnover":465789.6302,"count":192},{"id":1603936800,"open":13275.9,"close":13241.1,"high":13277.7,"low":13212.2,"amount":9.748,"vol":9748,"trade_turnover":129016.0684,"count":119},{"id":1603940400,"open":13237.1,"close":13262.5,"high":13262.5,"low":13174.6,"amount":27.3,"vol":27300,"trade_turnover":360589.8982,"count":199},{"id":1603944000,"open":13269.1,"close":13229.5,"high":13277.7,"low":13229.5,"amount":18.904,"vol":18904,"trade_turnover":250713.2812,"count":109},{"id":1603947600,"open":13228.5,"close":13274.8,"high":13274.8,"low":13228.5,"amount":15.822,"vol":15822,"trade_turnover":209781.909,"count":134},{"id":1603951200,"open":13274.8,"close":13255.0,"high":13323.0,"low":13242.3,"amount":91.246,"vol":91246,"trade_turnover":1211271.2788,"count":294},{"id":1603954800,"open":13255.0,"close":13142.4,"high":13269.3,"low":13123.1,"amount":187.622,"vol":187622,"trade_turnover":2478299.7074,"count":506},{"id":1603958400,"open":13145.9,"close":13124.8,"high":13182.4,"low":13094.1,"amount":69.532,"vol":69532,"trade_turnover":914157.2418,"count":226},{"id":1603962000,"open":13129.5,"close":13183.7,"high":13197.1,"low":13129.5,"amount":23.184,"vol":23184,"trade_turnover":305485.9524,"count":141},{"id":1603965600,"open":13184.8,"close":13105.2,"high":13187.5,"low":13053.1,"amount":121.146,"vol":121146,"trade_turnover":1590026.4416,"count":442},{"id":1603969200,"open":13105.1,"close":13060.1,"high":13171.4,"low":13060.1,"amount":47.498,"vol":47498,"trade_turnover":623578.149,"count":262},{"id":1603972800,"open":13056.9,"close":13131.8,"high":13145.8,"low":12977.9,"amount":126.552,"vol":126552,"trade_turnover":1652549.311,"count":481},{"id":1603976400,"open":13131.7,"close":13230.0,"high":13237.2,"low":13102.0,"amount":100.482,"vol":100482,"trade_turnover":1326403.7206,"count":325},{"id":1603980000,"open":13231.0,"close":13420.8,"high":13476.1,"low":13231.0,"amount":253.258,"vol":253258,"trade_turnover":3384941.438,"count":752},{"id":1603983600,"open":13416.0,"close":13420.6,"high":13458.7,"low":13358.7,"amount":64.71,"vol":64710,"trade_turnover":869052.3804,"count":269},{"id":1603987200,"open":13421.9,"close":13535.9,"high":13594.5,"low":13391.8,"amount":120.24,"vol":120240,"trade_turnover":1626567.8278,"count":570}]} +2024-01-18 11:13:10.990 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:41] - 请求 KLine 数据解析之后的数据为:{"wsid":19750305,"data":[{"amount":0.276,"high":12300.0,"vol":276,"low":11715.8,"count":39,"id":1603270800,"close":12196.7,"tradeTurnover":3315.9104,"open":12198.0},{"amount":0.198,"high":12289.9,"vol":198,"low":12111.0,"count":21,"id":1603274400,"close":12277.9,"tradeTurnover":2420.7728,"open":12196.7},{"amount":0.012,"high":12277.9,"vol":12,"low":12000.0,"count":5,"id":1603278000,"close":12000.0,"tradeTurnover":145.2238,"open":12111.0},{"amount":0.084,"high":12498.0,"vol":84,"low":12078.0,"count":12,"id":1603281600,"close":12497.4,"tradeTurnover":1040.0504,"open":12078.0},{"amount":1.122,"high":12495.6,"vol":1122,"low":12282.9,"count":112,"id":1603285200,"close":12373.5,"tradeTurnover":13905.3124,"open":12495.6},{"amount":5.29,"high":12807.6,"vol":5290,"low":12358.1,"count":155,"id":1603288800,"close":12689.9,"tradeTurnover":66852.128,"open":12412.9},{"amount":1.174,"high":12778.7,"vol":1174,"low":12573.2,"count":113,"id":1603292400,"close":12701.9,"tradeTurnover":14907.367,"open":12692.8},{"amount":1.156,"high":12920.9,"vol":1156,"low":12624.8,"count":115,"id":1603296000,"close":12835.9,"tradeTurnover":14802.449,"open":12679.7},{"amount":1.12,"high":12908.3,"vol":1120,"low":12687.5,"count":115,"id":1603299600,"close":12754.2,"tradeTurnover":14345.7324,"open":12848.3},{"amount":1.106,"high":12849.0,"vol":1106,"low":12668.3,"count":114,"id":1603303200,"close":12740.2,"tradeTurnover":14105.3504,"open":12743.7},{"amount":1.032,"high":12843.1,"vol":1032,"low":12597.2,"count":112,"id":1603306800,"close":12650.3,"tradeTurnover":13125.4568,"open":12729.5},{"amount":1.154,"high":12848.4,"vol":1154,"low":12610.2,"count":116,"id":1603310400,"close":12807.0,"tradeTurnover":14680.638,"open":12666.8},{"amount":1.164,"high":13005.1,"vol":1164,"low":12748.2,"count":114,"id":1603314000,"close":12938.9,"tradeTurnover":14976.9366,"open":12866.0},{"amount":1.174,"high":13211.2,"vol":1174,"low":12865.7,"count":114,"id":1603317600,"close":13122.0,"tradeTurnover":15285.2446,"open":12921.0},{"amount":1.172,"high":13173.2,"vol":1172,"low":12688.6,"count":117,"id":1603321200,"close":12829.8,"tradeTurnover":15060.9938,"open":13153.2},{"amount":1.17,"high":12988.1,"vol":1170,"low":12764.4,"count":117,"id":1603324800,"close":12885.9,"tradeTurnover":15046.2046,"open":12793.1},{"amount":1.158,"high":12972.6,"vol":1158,"low":12757.5,"count":118,"id":1603328400,"close":12757.5,"tradeTurnover":14882.4656,"open":12860.4},{"amount":1.124,"high":12848.0,"vol":1124,"low":12729.0,"count":115,"id":1603332000,"close":12788.8,"tradeTurnover":14368.7948,"open":12824.1},{"amount":1.194,"high":12834.4,"vol":1194,"low":12729.0,"count":111,"id":1603335600,"close":12767.2,"tradeTurnover":15268.9298,"open":12791.7},{"amount":1.152,"high":12778.3,"vol":1152,"low":12729.0,"count":115,"id":1603339200,"close":12762.2,"tradeTurnover":14695.4876,"open":12729.0},{"amount":1.21,"high":12842.0,"vol":1210,"low":12730.6,"count":119,"id":1603342800,"close":12813.8,"tradeTurnover":15440.8162,"open":12763.1},{"amount":1.188,"high":12795.0,"vol":1188,"low":12728.0,"count":123,"id":1603346400,"close":12729.1,"tradeTurnover":15128.0098,"open":12795.0},{"amount":1.266,"high":12730.6,"vol":1266,"low":12728.3,"count":112,"id":1603350000,"close":12730.6,"tradeTurnover":16115.1306,"open":12728.6},{"amount":1.35,"high":12921.5,"vol":1350,"low":12729.9,"count":127,"id":1603353600,"close":12770.1,"tradeTurnover":17233.7326,"open":12730.3},{"amount":0.98,"high":12872.1,"vol":980,"low":12760.1,"count":99,"id":1603357200,"close":12780.4,"tradeTurnover":12553.9826,"open":12824.9},{"amount":0.266,"high":13002.7,"vol":266,"low":12775.6,"count":30,"id":1603360800,"close":12934.2,"tradeTurnover":3415.023,"open":12784.9},{"amount":1.004,"high":13057.0,"vol":1004,"low":12886.6,"count":117,"id":1603364400,"close":13045.0,"tradeTurnover":13020.8576,"open":12977.0},{"amount":1.134,"high":12973.4,"vol":1134,"low":12751.6,"count":111,"id":1603368000,"close":12847.9,"tradeTurnover":14594.2752,"open":12958.5},{"amount":1.152,"high":13000.8,"vol":1152,"low":12743.0,"count":114,"id":1603371600,"close":12931.0,"tradeTurnover":14877.7314,"open":12882.7},{"amount":1.182,"high":12995.3,"vol":1182,"low":12783.9,"count":115,"id":1603375200,"close":12917.8,"tradeTurnover":15224.4716,"open":12890.4},{"amount":1.176,"high":13031.2,"vol":1176,"low":12817.9,"count":117,"id":1603378800,"close":12953.0,"tradeTurnover":15197.208,"open":12918.8},{"amount":1.146,"high":13100.2,"vol":1146,"low":12865.6,"count":119,"id":1603382400,"close":13055.6,"tradeTurnover":14851.9604,"open":12923.1},{"amount":1.534,"high":13105.7,"vol":1534,"low":12835.5,"count":124,"id":1603386000,"close":13082.7,"tradeTurnover":19927.8288,"open":12967.6},{"amount":1.268,"high":13115.0,"vol":1268,"low":12938.7,"count":117,"id":1603389600,"close":13016.4,"tradeTurnover":16505.4738,"open":13020.4},{"amount":1.13,"high":13171.2,"vol":1130,"low":12961.8,"count":112,"id":1603393200,"close":12970.6,"tradeTurnover":14762.952,"open":13028.3},{"amount":1.206,"high":13216.1,"vol":1206,"low":12998.5,"count":117,"id":1603396800,"close":13089.3,"tradeTurnover":15807.1226,"open":13016.7},{"amount":1.332,"high":13203.7,"vol":1332,"low":12932.9,"count":114,"id":1603400400,"close":13092.0,"tradeTurnover":17423.4422,"open":13136.0},{"amount":1.21,"high":13250.5,"vol":1210,"low":12984.7,"count":114,"id":1603404000,"close":13055.9,"tradeTurnover":15876.0632,"open":13119.4},{"amount":1.286,"high":13126.5,"vol":1286,"low":12857.2,"count":116,"id":1603407600,"close":12890.4,"tradeTurnover":16688.422,"open":13059.4},{"amount":1.502,"high":12994.0,"vol":1502,"low":12751.6,"count":131,"id":1603411200,"close":12892.2,"tradeTurnover":19331.1596,"open":12929.7},{"amount":1.386,"high":13003.2,"vol":1386,"low":12786.0,"count":121,"id":1603414800,"close":12898.3,"tradeTurnover":17904.8902,"open":12921.7},{"amount":1.416,"high":13054.0,"vol":1416,"low":12800.7,"count":122,"id":1603418400,"close":12975.1,"tradeTurnover":18306.6204,"open":12951.6},{"amount":1.19,"high":13030.7,"vol":1190,"low":12875.0,"count":118,"id":1603422000,"close":12947.0,"tradeTurnover":15409.7984,"open":12967.3},{"amount":1.022,"high":13047.3,"vol":1022,"low":12832.8,"count":127,"id":1603425600,"close":12852.0,"tradeTurnover":13214.4388,"open":12925.2},{"amount":0.478,"high":12991.7,"vol":478,"low":12841.2,"count":118,"id":1603429200,"close":12931.1,"tradeTurnover":6180.2486,"open":12859.0},{"amount":0.522,"high":13014.1,"vol":522,"low":12871.9,"count":132,"id":1603432800,"close":12939.6,"tradeTurnover":6759.0324,"open":12935.9},{"amount":0.476,"high":12998.9,"vol":476,"low":12917.1,"count":118,"id":1603436400,"close":12925.4,"tradeTurnover":6163.3118,"open":12923.1},{"amount":0.508,"high":13014.0,"vol":508,"low":12916.1,"count":122,"id":1603440000,"close":12962.6,"tradeTurnover":6585.3656,"open":12942.2},{"amount":0.564,"high":13012.5,"vol":564,"low":12909.9,"count":124,"id":1603443600,"close":12926.4,"tradeTurnover":7308.8828,"open":12970.5},{"amount":0.536,"high":13059.5,"vol":536,"low":12925.7,"count":124,"id":1603447200,"close":13007.7,"tradeTurnover":6957.8796,"open":13001.2},{"amount":0.486,"high":13078.4,"vol":486,"low":12906.5,"count":122,"id":1603450800,"close":12970.6,"tradeTurnover":6326.1434,"open":13025.4},{"amount":0.494,"high":13025.0,"vol":494,"low":12850.8,"count":117,"id":1603454400,"close":12935.4,"tradeTurnover":6396.0984,"open":12963.9},{"amount":0.466,"high":13043.3,"vol":466,"low":12911.0,"count":117,"id":1603458000,"close":12951.7,"tradeTurnover":6049.1412,"open":12913.3},{"amount":0.46,"high":13006.4,"vol":460,"low":12840.4,"count":116,"id":1603461600,"close":12858.8,"tradeTurnover":5941.815,"open":12999.6},{"amount":0.492,"high":12932.9,"vol":492,"low":12826.5,"count":117,"id":1603465200,"close":12881.9,"tradeTurnover":6340.214,"open":12885.7},{"amount":0.484,"high":12933.5,"vol":484,"low":12744.4,"count":123,"id":1603468800,"close":12784.1,"tradeTurnover":6205.4138,"open":12854.4},{"amount":0.562,"high":12893.1,"vol":562,"low":12730.1,"count":152,"id":1603472400,"close":12847.7,"tradeTurnover":7218.9184,"open":12832.3},{"amount":0.53,"high":12939.3,"vol":530,"low":12751.4,"count":128,"id":1603476000,"close":12915.7,"tradeTurnover":6825.7004,"open":12874.1},{"amount":0.444,"high":12972.9,"vol":444,"low":12786.6,"count":117,"id":1603479600,"close":12972.9,"tradeTurnover":5727.7452,"open":12867.9},{"amount":0.492,"high":13002.2,"vol":492,"low":12842.9,"count":116,"id":1603483200,"close":12991.6,"tradeTurnover":6375.1566,"open":12956.7},{"amount":0.5,"high":13004.3,"vol":500,"low":12936.6,"count":125,"id":1603486800,"close":12943.5,"tradeTurnover":6485.468,"open":13004.3},{"amount":0.492,"high":13010.3,"vol":492,"low":12884.7,"count":120,"id":1603490400,"close":12989.2,"tradeTurnover":6376.1492,"open":12923.6},{"amount":0.51,"high":13024.4,"vol":510,"low":12884.6,"count":121,"id":1603494000,"close":12884.6,"tradeTurnover":6622.3406,"open":12974.9},{"amount":0.488,"high":13018.3,"vol":488,"low":12811.1,"count":120,"id":1603497600,"close":12953.9,"tradeTurnover":6317.7938,"open":12973.7},{"amount":0.482,"high":13018.1,"vol":482,"low":12872.8,"count":117,"id":1603501200,"close":12934.2,"tradeTurnover":6242.4178,"open":12927.5},{"amount":0.484,"high":13003.9,"vol":484,"low":12903.3,"count":117,"id":1603504800,"close":12989.1,"tradeTurnover":6278.1756,"open":12971.9},{"amount":0.474,"high":13013.4,"vol":474,"low":12938.3,"count":122,"id":1603508400,"close":12975.9,"tradeTurnover":6157.7096,"open":13000.1},{"amount":0.526,"high":13009.4,"vol":526,"low":12905.5,"count":124,"id":1603512000,"close":12963.3,"tradeTurnover":6831.5658,"open":12989.7},{"amount":0.522,"high":13041.8,"vol":522,"low":12875.3,"count":127,"id":1603515600,"close":12989.7,"tradeTurnover":6768.8994,"open":12910.5},{"amount":0.49,"high":13058.1,"vol":490,"low":12908.8,"count":120,"id":1603519200,"close":13003.6,"tradeTurnover":6370.5714,"open":12994.7},{"amount":0.478,"high":13037.8,"vol":478,"low":12981.7,"count":120,"id":1603522800,"close":13004.2,"tradeTurnover":6218.9722,"open":13011.9},{"amount":0.52,"high":13030.6,"vol":520,"low":12899.4,"count":124,"id":1603526400,"close":12998.2,"tradeTurnover":6754.958,"open":13003.0},{"amount":0.454,"high":13020.3,"vol":454,"low":12893.6,"count":115,"id":1603530000,"close":12990.6,"tradeTurnover":5891.0574,"open":12998.2},{"amount":0.502,"high":13059.1,"vol":502,"low":12913.2,"count":124,"id":1603533600,"close":13030.1,"tradeTurnover":6525.9004,"open":12996.4},{"amount":0.468,"high":13068.3,"vol":468,"low":12940.2,"count":119,"id":1603537200,"close":13033.2,"tradeTurnover":6091.0376,"open":12988.4},{"amount":0.468,"high":13071.8,"vol":468,"low":12978.9,"count":123,"id":1603540800,"close":13006.5,"tradeTurnover":6102.5902,"open":13035.3},{"amount":0.534,"high":13066.7,"vol":534,"low":12928.1,"count":123,"id":1603544400,"close":12985.9,"tradeTurnover":6950.4268,"open":13038.8},{"amount":0.47,"high":13100.1,"vol":470,"low":12960.5,"count":100,"id":1603548000,"close":13042.0,"tradeTurnover":6124.2178,"open":12986.3},{"amount":0.456,"high":13196.5,"vol":456,"low":13038.4,"count":120,"id":1603551600,"close":13102.2,"tradeTurnover":5989.6362,"open":13038.4},{"amount":0.458,"high":13176.6,"vol":458,"low":12984.6,"count":121,"id":1603555200,"close":13052.7,"tradeTurnover":5976.331,"open":13136.8},{"amount":0.452,"high":13177.8,"vol":452,"low":13003.2,"count":118,"id":1603558800,"close":13177.8,"tradeTurnover":5911.7058,"open":13006.2},{"amount":0.468,"high":13170.7,"vol":468,"low":13023.0,"count":119,"id":1603562400,"close":13080.8,"tradeTurnover":6122.375,"open":13127.7},{"amount":0.468,"high":13179.3,"vol":468,"low":13014.2,"count":120,"id":1603566000,"close":13148.4,"tradeTurnover":6126.4278,"open":13040.7},{"amount":0.47,"high":13179.6,"vol":470,"low":12992.5,"count":119,"id":1603569600,"close":13090.1,"tradeTurnover":6151.4758,"open":13073.5},{"amount":0.458,"high":13148.7,"vol":458,"low":12980.7,"count":117,"id":1603573200,"close":12993.9,"tradeTurnover":5981.071,"open":13035.4},{"amount":0.478,"high":13112.1,"vol":478,"low":12975.6,"count":118,"id":1603576800,"close":13041.1,"tradeTurnover":6225.4216,"open":13040.7},{"amount":0.472,"high":13184.3,"vol":472,"low":13009.3,"count":118,"id":1603580400,"close":13184.3,"tradeTurnover":6173.4244,"open":13012.6},{"amount":0.46,"high":13170.4,"vol":460,"low":13007.7,"count":115,"id":1603584000,"close":13154.3,"tradeTurnover":6024.09,"open":13080.8},{"amount":0.398,"high":13196.8,"vol":398,"low":13024.0,"count":102,"id":1603587600,"close":13196.1,"tradeTurnover":5217.5364,"open":13092.0},{"amount":0.476,"high":13175.1,"vol":476,"low":13035.0,"count":120,"id":1603591200,"close":13082.4,"tradeTurnover":6228.6596,"open":13124.7},{"amount":0.578,"high":13383.8,"vol":578,"low":13049.1,"count":137,"id":1603594800,"close":13259.0,"tradeTurnover":7629.3886,"open":13049.1},{"amount":0.47,"high":13369.0,"vol":470,"low":13216.0,"count":122,"id":1603598400,"close":13243.4,"tradeTurnover":6247.955,"open":13277.0},{"amount":0.61,"high":13353.3,"vol":610,"low":13010.1,"count":134,"id":1603602000,"close":13017.3,"tradeTurnover":8048.8598,"open":13285.3},{"amount":0.486,"high":13105.7,"vol":486,"low":13018.2,"count":118,"id":1603605600,"close":13060.3,"tradeTurnover":6344.1474,"open":13022.5},{"amount":0.464,"high":13112.1,"vol":464,"low":13022.0,"count":120,"id":1603609200,"close":13078.1,"tradeTurnover":6061.5416,"open":13048.5},{"amount":0.464,"high":13091.0,"vol":464,"low":13017.2,"count":120,"id":1603612800,"close":13046.0,"tradeTurnover":6055.3734,"open":13077.2},{"amount":0.478,"high":13084.0,"vol":478,"low":13014.2,"count":117,"id":1603616400,"close":13040.8,"tradeTurnover":6235.7882,"open":13065.1},{"amount":0.478,"high":13064.2,"vol":478,"low":13010.2,"count":125,"id":1603620000,"close":13028.5,"tradeTurnover":6232.2428,"open":13047.1},{"amount":0.534,"high":13061.5,"vol":534,"low":12852.9,"count":123,"id":1603623600,"close":12897.6,"tradeTurnover":6918.1226,"open":13061.5},{"amount":0.444,"high":13069.7,"vol":444,"low":12893.2,"count":117,"id":1603627200,"close":12964.3,"tradeTurnover":5755.8712,"open":12908.3},{"amount":0.498,"high":13071.9,"vol":498,"low":12891.8,"count":119,"id":1603630800,"close":12949.3,"tradeTurnover":6465.078,"open":13001.3},{"amount":0.468,"high":13077.7,"vol":468,"low":12900.0,"count":116,"id":1603634400,"close":12946.8,"tradeTurnover":6075.4554,"open":12975.8},{"amount":0.47,"high":13069.1,"vol":470,"low":12883.3,"count":119,"id":1603638000,"close":12883.3,"tradeTurnover":6097.1072,"open":12975.2},{"amount":0.482,"high":13067.9,"vol":482,"low":12877.5,"count":118,"id":1603641600,"close":12978.7,"tradeTurnover":6256.4472,"open":12916.2},{"amount":0.47,"high":13087.5,"vol":470,"low":12922.7,"count":117,"id":1603645200,"close":13004.4,"tradeTurnover":6108.3892,"open":13008.0},{"amount":0.468,"high":13067.6,"vol":468,"low":12893.6,"count":118,"id":1603648800,"close":12957.2,"tradeTurnover":6079.1484,"open":12972.8},{"amount":0.442,"high":13066.9,"vol":442,"low":12916.6,"count":118,"id":1603652400,"close":13021.8,"tradeTurnover":5746.5548,"open":12996.5},{"amount":0.508,"high":13081.5,"vol":508,"low":12944.9,"count":120,"id":1603656000,"close":12985.4,"tradeTurnover":6616.9872,"open":12992.9},{"amount":0.508,"high":13068.6,"vol":508,"low":12921.4,"count":122,"id":1603659600,"close":13011.2,"tradeTurnover":6614.816,"open":12999.9},{"amount":0.486,"high":13073.8,"vol":486,"low":12911.9,"count":121,"id":1603663200,"close":12959.4,"tradeTurnover":6320.907,"open":12979.6},{"amount":0.452,"high":13085.2,"vol":452,"low":12927.8,"count":113,"id":1603666800,"close":13032.1,"tradeTurnover":5878.6442,"open":12963.4},{"amount":0.482,"high":13076.7,"vol":482,"low":12918.3,"count":121,"id":1603670400,"close":13001.0,"tradeTurnover":6263.698,"open":12964.2},{"amount":0.478,"high":13096.4,"vol":478,"low":12991.2,"count":124,"id":1603674000,"close":13053.7,"tradeTurnover":6232.2328,"open":13040.0},{"amount":0.488,"high":13185.7,"vol":488,"low":12985.1,"count":121,"id":1603677600,"close":13064.4,"tradeTurnover":6387.534,"open":13060.6},{"amount":0.486,"high":13187.2,"vol":486,"low":12984.1,"count":135,"id":1603681200,"close":13092.8,"tradeTurnover":6369.0272,"open":13032.3},{"amount":0.51,"high":13181.6,"vol":510,"low":12962.3,"count":131,"id":1603684800,"close":13132.6,"tradeTurnover":6679.829,"open":13092.0},{"amount":0.506,"high":13205.3,"vol":506,"low":13025.3,"count":126,"id":1603688400,"close":13092.1,"tradeTurnover":6641.2128,"open":13129.2},{"amount":1.616,"high":13188.1,"vol":1616,"low":12989.8,"count":141,"id":1603692000,"close":13071.4,"tradeTurnover":21170.8224,"open":13121.8},{"amount":3.746,"high":13100.0,"vol":3746,"low":12965.2,"count":110,"id":1603695600,"close":13038.7,"tradeTurnover":48924.8902,"open":13061.0},{"amount":8.966,"high":13102.0,"vol":8966,"low":12852.8,"count":173,"id":1603699200,"close":13039.3,"tradeTurnover":116525.5534,"open":13030.9},{"amount":4.48,"high":13088.4,"vol":4480,"low":13039.8,"count":124,"id":1603702800,"close":13075.9,"tradeTurnover":58521.1714,"open":13047.1},{"amount":4.272,"high":13100.0,"vol":4272,"low":13060.2,"count":130,"id":1603706400,"close":13100.0,"tradeTurnover":55895.9778,"open":13072.1},{"amount":29.798,"high":13159.0,"vol":29798,"low":13100.0,"count":230,"id":1603710000,"close":13138.4,"tradeTurnover":391138.024,"open":13100.0},{"amount":5.154,"high":13200.0,"vol":5154,"low":13100.0,"count":188,"id":1603713600,"close":13149.8,"tradeTurnover":67694.652,"open":13138.8},{"amount":35.608,"high":13351.5,"vol":35608,"low":13133.1,"count":328,"id":1603717200,"close":13205.8,"tradeTurnover":472780.3394,"open":13150.0},{"amount":31.748,"high":13280.0,"vol":31748,"low":13144.1,"count":235,"id":1603720800,"close":13166.1,"tradeTurnover":418744.5588,"open":13203.0},{"amount":36.53,"high":13165.2,"vol":36530,"low":12903.8,"count":384,"id":1603724400,"close":12978.0,"tradeTurnover":476940.3296,"open":13159.0},{"amount":35.018,"high":13069.8,"vol":35018,"low":12850.5,"count":323,"id":1603728000,"close":12869.6,"tradeTurnover":453288.918,"open":12965.0},{"amount":92.628,"high":12941.5,"vol":92628,"low":12583.9,"count":560,"id":1603731600,"close":12873.8,"tradeTurnover":1185973.467,"open":12879.2},{"amount":4.302,"high":12954.5,"vol":4302,"low":12820.4,"count":128,"id":1603735200,"close":12946.8,"tradeTurnover":55481.0054,"open":12856.2},{"amount":13.83,"high":12953.5,"vol":13830,"low":12914.1,"count":118,"id":1603738800,"close":12953.4,"tradeTurnover":179112.1598,"open":12945.6},{"amount":17.172,"high":13007.5,"vol":17172,"low":12953.5,"count":132,"id":1603742400,"close":12983.4,"tradeTurnover":223230.2122,"open":12953.5},{"amount":3.212,"high":13007.5,"vol":3212,"low":12982.7,"count":59,"id":1603746000,"close":12993.8,"tradeTurnover":41767.8906,"open":12983.1},{"amount":1.504,"high":13007.5,"vol":1504,"low":12974.0,"count":74,"id":1603749600,"close":13007.5,"tradeTurnover":19543.3568,"open":13002.1},{"amount":3.454,"high":13061.2,"vol":3454,"low":13007.5,"count":101,"id":1603753200,"close":13033.7,"tradeTurnover":45001.601,"open":13007.5},{"amount":8.784,"high":13105.0,"vol":8784,"low":13028.3,"count":98,"id":1603756800,"close":13067.1,"tradeTurnover":114871.8246,"open":13029.2},{"amount":11.592,"high":13074.4,"vol":11592,"low":13051.5,"count":66,"id":1603760400,"close":13061.7,"tradeTurnover":151386.9038,"open":13074.3},{"amount":19.298,"high":13097.6,"vol":19298,"low":13040.1,"count":109,"id":1603764000,"close":13049.7,"tradeTurnover":252061.019,"open":13061.7},{"amount":22.992,"high":13080.0,"vol":22992,"low":13057.1,"count":69,"id":1603767600,"close":13070.4,"tradeTurnover":300453.9788,"open":13057.6},{"amount":14.396,"high":13175.0,"vol":14396,"low":13079.6,"count":59,"id":1603771200,"close":13103.3,"tradeTurnover":188461.9156,"open":13080.0},{"amount":5.058,"high":13121.3,"vol":5058,"low":13069.7,"count":44,"id":1603774800,"close":13073.6,"tradeTurnover":66201.3552,"open":13121.3},{"amount":9.106,"high":13149.0,"vol":9106,"low":13069.6,"count":107,"id":1603778400,"close":13103.4,"tradeTurnover":119104.8906,"open":13074.9},{"amount":73.95,"high":13169.8,"vol":73950,"low":12992.4,"count":305,"id":1603782000,"close":13130.0,"tradeTurnover":968195.155,"open":13103.3},{"amount":18.732,"high":13148.4,"vol":18732,"low":13044.0,"count":135,"id":1603785600,"close":13123.8,"tradeTurnover":245533.5448,"open":13135.1},{"amount":13.756,"high":13131.8,"vol":13756,"low":13075.7,"count":102,"id":1603789200,"close":13131.7,"tradeTurnover":180253.7708,"open":13115.5},{"amount":154.108,"high":13252.0,"vol":154108,"low":13063.4,"count":525,"id":1603792800,"close":13216.9,"tradeTurnover":2029983.656,"open":13134.8},{"amount":170.09,"high":13590.1,"vol":170090,"low":13213.5,"count":591,"id":1603796400,"close":13395.8,"tradeTurnover":2276279.742,"open":13218.8},{"amount":48.928,"high":13414.0,"vol":48928,"low":13331.7,"count":216,"id":1603800000,"close":13376.9,"tradeTurnover":654585.9108,"open":13395.9},{"amount":63.294,"high":13490.9,"vol":63294,"low":13329.8,"count":316,"id":1603803600,"close":13384.3,"tradeTurnover":848130.9212,"open":13376.5},{"amount":12.892,"high":13415.8,"vol":12892,"low":13344.8,"count":124,"id":1603807200,"close":13398.2,"tradeTurnover":172618.6864,"open":13392.6},{"amount":93.22,"high":13626.7,"vol":93220,"low":13398.2,"count":476,"id":1603810800,"close":13598.5,"tradeTurnover":1262695.5466,"open":13398.2},{"amount":85.45,"high":13639.9,"vol":85450,"low":13520.2,"count":435,"id":1603814400,"close":13639.9,"tradeTurnover":1161481.4136,"open":13595.8},{"amount":191.812,"high":13826.7,"vol":191812,"low":13589.0,"count":711,"id":1603818000,"close":13688.1,"tradeTurnover":2628428.3788,"open":13640.0},{"amount":65.434,"high":13745.0,"vol":65434,"low":13528.2,"count":410,"id":1603821600,"close":13630.1,"tradeTurnover":891541.8394,"open":13685.0},{"amount":5.788,"high":13659.8,"vol":5788,"low":13595.4,"count":65,"id":1603825200,"close":13637.1,"tradeTurnover":78836.2578,"open":13629.4},{"amount":163.104,"high":13805.1,"vol":163104,"low":13582.6,"count":537,"id":1603828800,"close":13616.6,"tradeTurnover":2234040.3544,"open":13644.4},{"amount":9.884,"high":13753.5,"vol":9884,"low":13609.8,"count":101,"id":1603832400,"close":13705.5,"tradeTurnover":135406.4752,"open":13609.8},{"amount":7.436,"high":13739.9,"vol":7436,"low":13658.2,"count":100,"id":1603836000,"close":13739.9,"tradeTurnover":101840.3508,"open":13705.4},{"amount":17.086,"high":13794.6,"vol":17086,"low":13582.6,"count":234,"id":1603839600,"close":13649.6,"tradeTurnover":233971.8448,"open":13739.9},{"amount":24.108,"high":13745.2,"vol":24108,"low":13618.8,"count":177,"id":1603843200,"close":13701.7,"tradeTurnover":330206.5694,"open":13645.9},{"amount":15.892,"high":13725.6,"vol":15892,"low":13647.9,"count":151,"id":1603846800,"close":13702.6,"tradeTurnover":217816.7008,"open":13702.1},{"amount":46.548,"high":13832.2,"vol":46548,"low":13680.2,"count":274,"id":1603850400,"close":13811.6,"tradeTurnover":640636.0352,"open":13701.7},{"amount":67.896,"high":13820.3,"vol":67896,"low":13717.5,"count":320,"id":1603854000,"close":13777.0,"tradeTurnover":935838.2238,"open":13818.5},{"amount":33.156,"high":13807.2,"vol":33156,"low":13710.0,"count":210,"id":1603857600,"close":13735.7,"tradeTurnover":455941.234,"open":13767.3},{"amount":32.076,"high":13753.9,"vol":32076,"low":13671.3,"count":198,"id":1603861200,"close":13715.8,"tradeTurnover":439612.64,"open":13735.5},{"amount":14.756,"high":13757.0,"vol":14756,"low":13694.9,"count":122,"id":1603864800,"close":13701.3,"tradeTurnover":202602.5164,"open":13715.9},{"amount":155.534,"high":13708.7,"vol":155534,"low":13550.0,"count":635,"id":1603868400,"close":13674.2,"tradeTurnover":2117935.0928,"open":13701.2},{"amount":29.846,"high":13691.7,"vol":29846,"low":13584.0,"count":240,"id":1603872000,"close":13691.7,"tradeTurnover":407073.1398,"open":13673.0},{"amount":104.542,"high":13707.5,"vol":104542,"low":13573.5,"count":377,"id":1603875600,"close":13587.1,"tradeTurnover":1425079.9344,"open":13689.3},{"amount":73.818,"high":13618.0,"vol":73818,"low":13504.7,"count":358,"id":1603879200,"close":13552.7,"tradeTurnover":1001666.0908,"open":13584.6},{"amount":176.544,"high":13565.4,"vol":176544,"low":13330.0,"count":1004,"id":1603882800,"close":13336.4,"tradeTurnover":2369166.1492,"open":13552.6},{"amount":289.73,"high":13385.0,"vol":289730,"low":13173.9,"count":968,"id":1603886400,"close":13300.3,"tradeTurnover":3846751.7166,"open":13331.5},{"amount":139.822,"high":13340.0,"vol":139822,"low":13122.9,"count":612,"id":1603890000,"close":13129.9,"tradeTurnover":1848876.932,"open":13300.2},{"amount":367.876,"high":13168.2,"vol":367876,"low":12915.9,"count":1168,"id":1603893600,"close":13082.2,"tradeTurnover":4802516.9818,"open":13123.4},{"amount":84.044,"high":13235.2,"vol":84044,"low":13052.3,"count":375,"id":1603897200,"close":13221.2,"tradeTurnover":1106883.1282,"open":13077.1},{"amount":29.566,"high":13218.7,"vol":29566,"low":13050.0,"count":244,"id":1603900800,"close":13145.1,"tradeTurnover":388697.4104,"open":13218.7},{"amount":53.336,"high":13204.9,"vol":53336,"low":13006.6,"count":299,"id":1603904400,"close":13176.7,"tradeTurnover":700385.2784,"open":13145.1},{"amount":34.164,"high":13219.6,"vol":34164,"low":13131.0,"count":218,"id":1603908000,"close":13196.5,"tradeTurnover":450210.5778,"open":13171.0},{"amount":22.158,"high":13237.4,"vol":22158,"low":13145.0,"count":185,"id":1603911600,"close":13154.9,"tradeTurnover":292020.0438,"open":13200.0},{"amount":4.548,"high":13211.8,"vol":4548,"low":13147.4,"count":75,"id":1603915200,"close":13198.1,"tradeTurnover":59991.1118,"open":13154.5},{"amount":3.52,"high":13196.5,"vol":3520,"low":13100.2,"count":68,"id":1603918800,"close":13190.1,"tradeTurnover":46175.428,"open":13193.5},{"amount":3.122,"high":13267.5,"vol":3122,"low":13185.4,"count":72,"id":1603922400,"close":13252.0,"tradeTurnover":41304.2018,"open":13185.4},{"amount":14.768,"high":13282.3,"vol":14768,"low":13235.9,"count":86,"id":1603926000,"close":13265.9,"tradeTurnover":195689.0764,"open":13242.1},{"amount":19.968,"high":13294.7,"vol":19968,"low":13237.4,"count":98,"id":1603929600,"close":13245.1,"tradeTurnover":264834.1944,"open":13253.9},{"amount":35.282,"high":13285.3,"vol":35282,"low":13166.3,"count":192,"id":1603933200,"close":13274.2,"tradeTurnover":465789.6302,"open":13244.6},{"amount":9.748,"high":13277.7,"vol":9748,"low":13212.2,"count":119,"id":1603936800,"close":13241.1,"tradeTurnover":129016.0684,"open":13275.9},{"amount":27.3,"high":13262.5,"vol":27300,"low":13174.6,"count":199,"id":1603940400,"close":13262.5,"tradeTurnover":360589.8982,"open":13237.1},{"amount":18.904,"high":13277.7,"vol":18904,"low":13229.5,"count":109,"id":1603944000,"close":13229.5,"tradeTurnover":250713.2812,"open":13269.1},{"amount":15.822,"high":13274.8,"vol":15822,"low":13228.5,"count":134,"id":1603947600,"close":13274.8,"tradeTurnover":209781.909,"open":13228.5},{"amount":91.246,"high":13323.0,"vol":91246,"low":13242.3,"count":294,"id":1603951200,"close":13255.0,"tradeTurnover":1211271.2788,"open":13274.8},{"amount":187.622,"high":13269.3,"vol":187622,"low":13123.1,"count":506,"id":1603954800,"close":13142.4,"tradeTurnover":2478299.7074,"open":13255.0},{"amount":69.532,"high":13182.4,"vol":69532,"low":13094.1,"count":226,"id":1603958400,"close":13124.8,"tradeTurnover":914157.2418,"open":13145.9},{"amount":23.184,"high":13197.1,"vol":23184,"low":13129.5,"count":141,"id":1603962000,"close":13183.7,"tradeTurnover":305485.9524,"open":13129.5},{"amount":121.146,"high":13187.5,"vol":121146,"low":13053.1,"count":442,"id":1603965600,"close":13105.2,"tradeTurnover":1590026.4416,"open":13184.8},{"amount":47.498,"high":13171.4,"vol":47498,"low":13060.1,"count":262,"id":1603969200,"close":13060.1,"tradeTurnover":623578.149,"open":13105.1},{"amount":126.552,"high":13145.8,"vol":126552,"low":12977.9,"count":481,"id":1603972800,"close":13131.8,"tradeTurnover":1652549.311,"open":13056.9},{"amount":100.482,"high":13237.2,"vol":100482,"low":13102.0,"count":325,"id":1603976400,"close":13230.0,"tradeTurnover":1326403.7206,"open":13131.7},{"amount":253.258,"high":13476.1,"vol":253258,"low":13231.0,"count":752,"id":1603980000,"close":13420.8,"tradeTurnover":3384941.438,"open":13231.0},{"amount":64.71,"high":13458.7,"vol":64710,"low":13358.7,"count":269,"id":1603983600,"close":13420.6,"tradeTurnover":869052.3804,"open":13416.0},{"amount":120.24,"high":13594.5,"vol":120240,"low":13391.8,"count":570,"id":1603987200,"close":13535.9,"tradeTurnover":1626567.8278,"open":13421.9}],"id":"","rep":"market.BTC-USDT.kline.60min","status":"ok"} +2024-01-18 11:13:11.978 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:39] - 请求 KLine 数据用户收到的原始数据:{"id":"","rep":"market.BTC-USDT.kline.60min","ts":1705547590885,"wsid":19750305,"status":"ok","data":[{"id":1603270800,"open":12198.0,"close":12196.7,"high":12300.0,"low":11715.8,"amount":0.276,"vol":276,"trade_turnover":3315.9104,"count":39},{"id":1603274400,"open":12196.7,"close":12277.9,"high":12289.9,"low":12111.0,"amount":0.198,"vol":198,"trade_turnover":2420.7728,"count":21},{"id":1603278000,"open":12111.0,"close":12000.0,"high":12277.9,"low":12000.0,"amount":0.012,"vol":12,"trade_turnover":145.2238,"count":5},{"id":1603281600,"open":12078.0,"close":12497.4,"high":12498.0,"low":12078.0,"amount":0.084,"vol":84,"trade_turnover":1040.0504,"count":12},{"id":1603285200,"open":12495.6,"close":12373.5,"high":12495.6,"low":12282.9,"amount":1.122,"vol":1122,"trade_turnover":13905.3124,"count":112},{"id":1603288800,"open":12412.9,"close":12689.9,"high":12807.6,"low":12358.1,"amount":5.29,"vol":5290,"trade_turnover":66852.128,"count":155},{"id":1603292400,"open":12692.8,"close":12701.9,"high":12778.7,"low":12573.2,"amount":1.174,"vol":1174,"trade_turnover":14907.367,"count":113},{"id":1603296000,"open":12679.7,"close":12835.9,"high":12920.9,"low":12624.8,"amount":1.156,"vol":1156,"trade_turnover":14802.449,"count":115},{"id":1603299600,"open":12848.3,"close":12754.2,"high":12908.3,"low":12687.5,"amount":1.12,"vol":1120,"trade_turnover":14345.7324,"count":115},{"id":1603303200,"open":12743.7,"close":12740.2,"high":12849.0,"low":12668.3,"amount":1.106,"vol":1106,"trade_turnover":14105.3504,"count":114},{"id":1603306800,"open":12729.5,"close":12650.3,"high":12843.1,"low":12597.2,"amount":1.032,"vol":1032,"trade_turnover":13125.4568,"count":112},{"id":1603310400,"open":12666.8,"close":12807.0,"high":12848.4,"low":12610.2,"amount":1.154,"vol":1154,"trade_turnover":14680.638,"count":116},{"id":1603314000,"open":12866.0,"close":12938.9,"high":13005.1,"low":12748.2,"amount":1.164,"vol":1164,"trade_turnover":14976.9366,"count":114},{"id":1603317600,"open":12921.0,"close":13122.0,"high":13211.2,"low":12865.7,"amount":1.174,"vol":1174,"trade_turnover":15285.2446,"count":114},{"id":1603321200,"open":13153.2,"close":12829.8,"high":13173.2,"low":12688.6,"amount":1.172,"vol":1172,"trade_turnover":15060.9938,"count":117},{"id":1603324800,"open":12793.1,"close":12885.9,"high":12988.1,"low":12764.4,"amount":1.17,"vol":1170,"trade_turnover":15046.2046,"count":117},{"id":1603328400,"open":12860.4,"close":12757.5,"high":12972.6,"low":12757.5,"amount":1.158,"vol":1158,"trade_turnover":14882.4656,"count":118},{"id":1603332000,"open":12824.1,"close":12788.8,"high":12848.0,"low":12729.0,"amount":1.124,"vol":1124,"trade_turnover":14368.7948,"count":115},{"id":1603335600,"open":12791.7,"close":12767.2,"high":12834.4,"low":12729.0,"amount":1.194,"vol":1194,"trade_turnover":15268.9298,"count":111},{"id":1603339200,"open":12729.0,"close":12762.2,"high":12778.3,"low":12729.0,"amount":1.152,"vol":1152,"trade_turnover":14695.4876,"count":115},{"id":1603342800,"open":12763.1,"close":12813.8,"high":12842.0,"low":12730.6,"amount":1.21,"vol":1210,"trade_turnover":15440.8162,"count":119},{"id":1603346400,"open":12795.0,"close":12729.1,"high":12795.0,"low":12728.0,"amount":1.188,"vol":1188,"trade_turnover":15128.0098,"count":123},{"id":1603350000,"open":12728.6,"close":12730.6,"high":12730.6,"low":12728.3,"amount":1.266,"vol":1266,"trade_turnover":16115.1306,"count":112},{"id":1603353600,"open":12730.3,"close":12770.1,"high":12921.5,"low":12729.9,"amount":1.35,"vol":1350,"trade_turnover":17233.7326,"count":127},{"id":1603357200,"open":12824.9,"close":12780.4,"high":12872.1,"low":12760.1,"amount":0.98,"vol":980,"trade_turnover":12553.9826,"count":99},{"id":1603360800,"open":12784.9,"close":12934.2,"high":13002.7,"low":12775.6,"amount":0.266,"vol":266,"trade_turnover":3415.023,"count":30},{"id":1603364400,"open":12977.0,"close":13045.0,"high":13057.0,"low":12886.6,"amount":1.004,"vol":1004,"trade_turnover":13020.8576,"count":117},{"id":1603368000,"open":12958.5,"close":12847.9,"high":12973.4,"low":12751.6,"amount":1.134,"vol":1134,"trade_turnover":14594.2752,"count":111},{"id":1603371600,"open":12882.7,"close":12931.0,"high":13000.8,"low":12743.0,"amount":1.152,"vol":1152,"trade_turnover":14877.7314,"count":114},{"id":1603375200,"open":12890.4,"close":12917.8,"high":12995.3,"low":12783.9,"amount":1.182,"vol":1182,"trade_turnover":15224.4716,"count":115},{"id":1603378800,"open":12918.8,"close":12953.0,"high":13031.2,"low":12817.9,"amount":1.176,"vol":1176,"trade_turnover":15197.208,"count":117},{"id":1603382400,"open":12923.1,"close":13055.6,"high":13100.2,"low":12865.6,"amount":1.146,"vol":1146,"trade_turnover":14851.9604,"count":119},{"id":1603386000,"open":12967.6,"close":13082.7,"high":13105.7,"low":12835.5,"amount":1.534,"vol":1534,"trade_turnover":19927.8288,"count":124},{"id":1603389600,"open":13020.4,"close":13016.4,"high":13115.0,"low":12938.7,"amount":1.268,"vol":1268,"trade_turnover":16505.4738,"count":117},{"id":1603393200,"open":13028.3,"close":12970.6,"high":13171.2,"low":12961.8,"amount":1.13,"vol":1130,"trade_turnover":14762.952,"count":112},{"id":1603396800,"open":13016.7,"close":13089.3,"high":13216.1,"low":12998.5,"amount":1.206,"vol":1206,"trade_turnover":15807.1226,"count":117},{"id":1603400400,"open":13136.0,"close":13092.0,"high":13203.7,"low":12932.9,"amount":1.332,"vol":1332,"trade_turnover":17423.4422,"count":114},{"id":1603404000,"open":13119.4,"close":13055.9,"high":13250.5,"low":12984.7,"amount":1.21,"vol":1210,"trade_turnover":15876.0632,"count":114},{"id":1603407600,"open":13059.4,"close":12890.4,"high":13126.5,"low":12857.2,"amount":1.286,"vol":1286,"trade_turnover":16688.422,"count":116},{"id":1603411200,"open":12929.7,"close":12892.2,"high":12994.0,"low":12751.6,"amount":1.502,"vol":1502,"trade_turnover":19331.1596,"count":131},{"id":1603414800,"open":12921.7,"close":12898.3,"high":13003.2,"low":12786.0,"amount":1.386,"vol":1386,"trade_turnover":17904.8902,"count":121},{"id":1603418400,"open":12951.6,"close":12975.1,"high":13054.0,"low":12800.7,"amount":1.416,"vol":1416,"trade_turnover":18306.6204,"count":122},{"id":1603422000,"open":12967.3,"close":12947.0,"high":13030.7,"low":12875.0,"amount":1.19,"vol":1190,"trade_turnover":15409.7984,"count":118},{"id":1603425600,"open":12925.2,"close":12852.0,"high":13047.3,"low":12832.8,"amount":1.022,"vol":1022,"trade_turnover":13214.4388,"count":127},{"id":1603429200,"open":12859.0,"close":12931.1,"high":12991.7,"low":12841.2,"amount":0.478,"vol":478,"trade_turnover":6180.2486,"count":118},{"id":1603432800,"open":12935.9,"close":12939.6,"high":13014.1,"low":12871.9,"amount":0.522,"vol":522,"trade_turnover":6759.0324,"count":132},{"id":1603436400,"open":12923.1,"close":12925.4,"high":12998.9,"low":12917.1,"amount":0.476,"vol":476,"trade_turnover":6163.3118,"count":118},{"id":1603440000,"open":12942.2,"close":12962.6,"high":13014.0,"low":12916.1,"amount":0.508,"vol":508,"trade_turnover":6585.3656,"count":122},{"id":1603443600,"open":12970.5,"close":12926.4,"high":13012.5,"low":12909.9,"amount":0.564,"vol":564,"trade_turnover":7308.8828,"count":124},{"id":1603447200,"open":13001.2,"close":13007.7,"high":13059.5,"low":12925.7,"amount":0.536,"vol":536,"trade_turnover":6957.8796,"count":124},{"id":1603450800,"open":13025.4,"close":12970.6,"high":13078.4,"low":12906.5,"amount":0.486,"vol":486,"trade_turnover":6326.1434,"count":122},{"id":1603454400,"open":12963.9,"close":12935.4,"high":13025.0,"low":12850.8,"amount":0.494,"vol":494,"trade_turnover":6396.0984,"count":117},{"id":1603458000,"open":12913.3,"close":12951.7,"high":13043.3,"low":12911.0,"amount":0.466,"vol":466,"trade_turnover":6049.1412,"count":117},{"id":1603461600,"open":12999.6,"close":12858.8,"high":13006.4,"low":12840.4,"amount":0.46,"vol":460,"trade_turnover":5941.815,"count":116},{"id":1603465200,"open":12885.7,"close":12881.9,"high":12932.9,"low":12826.5,"amount":0.492,"vol":492,"trade_turnover":6340.214,"count":117},{"id":1603468800,"open":12854.4,"close":12784.1,"high":12933.5,"low":12744.4,"amount":0.484,"vol":484,"trade_turnover":6205.4138,"count":123},{"id":1603472400,"open":12832.3,"close":12847.7,"high":12893.1,"low":12730.1,"amount":0.562,"vol":562,"trade_turnover":7218.9184,"count":152},{"id":1603476000,"open":12874.1,"close":12915.7,"high":12939.3,"low":12751.4,"amount":0.53,"vol":530,"trade_turnover":6825.7004,"count":128},{"id":1603479600,"open":12867.9,"close":12972.9,"high":12972.9,"low":12786.6,"amount":0.444,"vol":444,"trade_turnover":5727.7452,"count":117},{"id":1603483200,"open":12956.7,"close":12991.6,"high":13002.2,"low":12842.9,"amount":0.492,"vol":492,"trade_turnover":6375.1566,"count":116},{"id":1603486800,"open":13004.3,"close":12943.5,"high":13004.3,"low":12936.6,"amount":0.5,"vol":500,"trade_turnover":6485.468,"count":125},{"id":1603490400,"open":12923.6,"close":12989.2,"high":13010.3,"low":12884.7,"amount":0.492,"vol":492,"trade_turnover":6376.1492,"count":120},{"id":1603494000,"open":12974.9,"close":12884.6,"high":13024.4,"low":12884.6,"amount":0.51,"vol":510,"trade_turnover":6622.3406,"count":121},{"id":1603497600,"open":12973.7,"close":12953.9,"high":13018.3,"low":12811.1,"amount":0.488,"vol":488,"trade_turnover":6317.7938,"count":120},{"id":1603501200,"open":12927.5,"close":12934.2,"high":13018.1,"low":12872.8,"amount":0.482,"vol":482,"trade_turnover":6242.4178,"count":117},{"id":1603504800,"open":12971.9,"close":12989.1,"high":13003.9,"low":12903.3,"amount":0.484,"vol":484,"trade_turnover":6278.1756,"count":117},{"id":1603508400,"open":13000.1,"close":12975.9,"high":13013.4,"low":12938.3,"amount":0.474,"vol":474,"trade_turnover":6157.7096,"count":122},{"id":1603512000,"open":12989.7,"close":12963.3,"high":13009.4,"low":12905.5,"amount":0.526,"vol":526,"trade_turnover":6831.5658,"count":124},{"id":1603515600,"open":12910.5,"close":12989.7,"high":13041.8,"low":12875.3,"amount":0.522,"vol":522,"trade_turnover":6768.8994,"count":127},{"id":1603519200,"open":12994.7,"close":13003.6,"high":13058.1,"low":12908.8,"amount":0.49,"vol":490,"trade_turnover":6370.5714,"count":120},{"id":1603522800,"open":13011.9,"close":13004.2,"high":13037.8,"low":12981.7,"amount":0.478,"vol":478,"trade_turnover":6218.9722,"count":120},{"id":1603526400,"open":13003.0,"close":12998.2,"high":13030.6,"low":12899.4,"amount":0.52,"vol":520,"trade_turnover":6754.958,"count":124},{"id":1603530000,"open":12998.2,"close":12990.6,"high":13020.3,"low":12893.6,"amount":0.454,"vol":454,"trade_turnover":5891.0574,"count":115},{"id":1603533600,"open":12996.4,"close":13030.1,"high":13059.1,"low":12913.2,"amount":0.502,"vol":502,"trade_turnover":6525.9004,"count":124},{"id":1603537200,"open":12988.4,"close":13033.2,"high":13068.3,"low":12940.2,"amount":0.468,"vol":468,"trade_turnover":6091.0376,"count":119},{"id":1603540800,"open":13035.3,"close":13006.5,"high":13071.8,"low":12978.9,"amount":0.468,"vol":468,"trade_turnover":6102.5902,"count":123},{"id":1603544400,"open":13038.8,"close":12985.9,"high":13066.7,"low":12928.1,"amount":0.534,"vol":534,"trade_turnover":6950.4268,"count":123},{"id":1603548000,"open":12986.3,"close":13042.0,"high":13100.1,"low":12960.5,"amount":0.47,"vol":470,"trade_turnover":6124.2178,"count":100},{"id":1603551600,"open":13038.4,"close":13102.2,"high":13196.5,"low":13038.4,"amount":0.456,"vol":456,"trade_turnover":5989.6362,"count":120},{"id":1603555200,"open":13136.8,"close":13052.7,"high":13176.6,"low":12984.6,"amount":0.458,"vol":458,"trade_turnover":5976.331,"count":121},{"id":1603558800,"open":13006.2,"close":13177.8,"high":13177.8,"low":13003.2,"amount":0.452,"vol":452,"trade_turnover":5911.7058,"count":118},{"id":1603562400,"open":13127.7,"close":13080.8,"high":13170.7,"low":13023.0,"amount":0.468,"vol":468,"trade_turnover":6122.375,"count":119},{"id":1603566000,"open":13040.7,"close":13148.4,"high":13179.3,"low":13014.2,"amount":0.468,"vol":468,"trade_turnover":6126.4278,"count":120},{"id":1603569600,"open":13073.5,"close":13090.1,"high":13179.6,"low":12992.5,"amount":0.47,"vol":470,"trade_turnover":6151.4758,"count":119},{"id":1603573200,"open":13035.4,"close":12993.9,"high":13148.7,"low":12980.7,"amount":0.458,"vol":458,"trade_turnover":5981.071,"count":117},{"id":1603576800,"open":13040.7,"close":13041.1,"high":13112.1,"low":12975.6,"amount":0.478,"vol":478,"trade_turnover":6225.4216,"count":118},{"id":1603580400,"open":13012.6,"close":13184.3,"high":13184.3,"low":13009.3,"amount":0.472,"vol":472,"trade_turnover":6173.4244,"count":118},{"id":1603584000,"open":13080.8,"close":13154.3,"high":13170.4,"low":13007.7,"amount":0.46,"vol":460,"trade_turnover":6024.09,"count":115},{"id":1603587600,"open":13092.0,"close":13196.1,"high":13196.8,"low":13024.0,"amount":0.398,"vol":398,"trade_turnover":5217.5364,"count":102},{"id":1603591200,"open":13124.7,"close":13082.4,"high":13175.1,"low":13035.0,"amount":0.476,"vol":476,"trade_turnover":6228.6596,"count":120},{"id":1603594800,"open":13049.1,"close":13259.0,"high":13383.8,"low":13049.1,"amount":0.578,"vol":578,"trade_turnover":7629.3886,"count":137},{"id":1603598400,"open":13277.0,"close":13243.4,"high":13369.0,"low":13216.0,"amount":0.47,"vol":470,"trade_turnover":6247.955,"count":122},{"id":1603602000,"open":13285.3,"close":13017.3,"high":13353.3,"low":13010.1,"amount":0.61,"vol":610,"trade_turnover":8048.8598,"count":134},{"id":1603605600,"open":13022.5,"close":13060.3,"high":13105.7,"low":13018.2,"amount":0.486,"vol":486,"trade_turnover":6344.1474,"count":118},{"id":1603609200,"open":13048.5,"close":13078.1,"high":13112.1,"low":13022.0,"amount":0.464,"vol":464,"trade_turnover":6061.5416,"count":120},{"id":1603612800,"open":13077.2,"close":13046.0,"high":13091.0,"low":13017.2,"amount":0.464,"vol":464,"trade_turnover":6055.3734,"count":120},{"id":1603616400,"open":13065.1,"close":13040.8,"high":13084.0,"low":13014.2,"amount":0.478,"vol":478,"trade_turnover":6235.7882,"count":117},{"id":1603620000,"open":13047.1,"close":13028.5,"high":13064.2,"low":13010.2,"amount":0.478,"vol":478,"trade_turnover":6232.2428,"count":125},{"id":1603623600,"open":13061.5,"close":12897.6,"high":13061.5,"low":12852.9,"amount":0.534,"vol":534,"trade_turnover":6918.1226,"count":123},{"id":1603627200,"open":12908.3,"close":12964.3,"high":13069.7,"low":12893.2,"amount":0.444,"vol":444,"trade_turnover":5755.8712,"count":117},{"id":1603630800,"open":13001.3,"close":12949.3,"high":13071.9,"low":12891.8,"amount":0.498,"vol":498,"trade_turnover":6465.078,"count":119},{"id":1603634400,"open":12975.8,"close":12946.8,"high":13077.7,"low":12900.0,"amount":0.468,"vol":468,"trade_turnover":6075.4554,"count":116},{"id":1603638000,"open":12975.2,"close":12883.3,"high":13069.1,"low":12883.3,"amount":0.47,"vol":470,"trade_turnover":6097.1072,"count":119},{"id":1603641600,"open":12916.2,"close":12978.7,"high":13067.9,"low":12877.5,"amount":0.482,"vol":482,"trade_turnover":6256.4472,"count":118},{"id":1603645200,"open":13008.0,"close":13004.4,"high":13087.5,"low":12922.7,"amount":0.47,"vol":470,"trade_turnover":6108.3892,"count":117},{"id":1603648800,"open":12972.8,"close":12957.2,"high":13067.6,"low":12893.6,"amount":0.468,"vol":468,"trade_turnover":6079.1484,"count":118},{"id":1603652400,"open":12996.5,"close":13021.8,"high":13066.9,"low":12916.6,"amount":0.442,"vol":442,"trade_turnover":5746.5548,"count":118},{"id":1603656000,"open":12992.9,"close":12985.4,"high":13081.5,"low":12944.9,"amount":0.508,"vol":508,"trade_turnover":6616.9872,"count":120},{"id":1603659600,"open":12999.9,"close":13011.2,"high":13068.6,"low":12921.4,"amount":0.508,"vol":508,"trade_turnover":6614.816,"count":122},{"id":1603663200,"open":12979.6,"close":12959.4,"high":13073.8,"low":12911.9,"amount":0.486,"vol":486,"trade_turnover":6320.907,"count":121},{"id":1603666800,"open":12963.4,"close":13032.1,"high":13085.2,"low":12927.8,"amount":0.452,"vol":452,"trade_turnover":5878.6442,"count":113},{"id":1603670400,"open":12964.2,"close":13001.0,"high":13076.7,"low":12918.3,"amount":0.482,"vol":482,"trade_turnover":6263.698,"count":121},{"id":1603674000,"open":13040.0,"close":13053.7,"high":13096.4,"low":12991.2,"amount":0.478,"vol":478,"trade_turnover":6232.2328,"count":124},{"id":1603677600,"open":13060.6,"close":13064.4,"high":13185.7,"low":12985.1,"amount":0.488,"vol":488,"trade_turnover":6387.534,"count":121},{"id":1603681200,"open":13032.3,"close":13092.8,"high":13187.2,"low":12984.1,"amount":0.486,"vol":486,"trade_turnover":6369.0272,"count":135},{"id":1603684800,"open":13092.0,"close":13132.6,"high":13181.6,"low":12962.3,"amount":0.51,"vol":510,"trade_turnover":6679.829,"count":131},{"id":1603688400,"open":13129.2,"close":13092.1,"high":13205.3,"low":13025.3,"amount":0.506,"vol":506,"trade_turnover":6641.2128,"count":126},{"id":1603692000,"open":13121.8,"close":13071.4,"high":13188.1,"low":12989.8,"amount":1.616,"vol":1616,"trade_turnover":21170.8224,"count":141},{"id":1603695600,"open":13061.0,"close":13038.7,"high":13100.0,"low":12965.2,"amount":3.746,"vol":3746,"trade_turnover":48924.8902,"count":110},{"id":1603699200,"open":13030.9,"close":13039.3,"high":13102.0,"low":12852.8,"amount":8.966,"vol":8966,"trade_turnover":116525.5534,"count":173},{"id":1603702800,"open":13047.1,"close":13075.9,"high":13088.4,"low":13039.8,"amount":4.48,"vol":4480,"trade_turnover":58521.1714,"count":124},{"id":1603706400,"open":13072.1,"close":13100.0,"high":13100.0,"low":13060.2,"amount":4.272,"vol":4272,"trade_turnover":55895.9778,"count":130},{"id":1603710000,"open":13100.0,"close":13138.4,"high":13159.0,"low":13100.0,"amount":29.798,"vol":29798,"trade_turnover":391138.024,"count":230},{"id":1603713600,"open":13138.8,"close":13149.8,"high":13200.0,"low":13100.0,"amount":5.154,"vol":5154,"trade_turnover":67694.652,"count":188},{"id":1603717200,"open":13150.0,"close":13205.8,"high":13351.5,"low":13133.1,"amount":35.608,"vol":35608,"trade_turnover":472780.3394,"count":328},{"id":1603720800,"open":13203.0,"close":13166.1,"high":13280.0,"low":13144.1,"amount":31.748,"vol":31748,"trade_turnover":418744.5588,"count":235},{"id":1603724400,"open":13159.0,"close":12978.0,"high":13165.2,"low":12903.8,"amount":36.53,"vol":36530,"trade_turnover":476940.3296,"count":384},{"id":1603728000,"open":12965.0,"close":12869.6,"high":13069.8,"low":12850.5,"amount":35.018,"vol":35018,"trade_turnover":453288.918,"count":323},{"id":1603731600,"open":12879.2,"close":12873.8,"high":12941.5,"low":12583.9,"amount":92.628,"vol":92628,"trade_turnover":1185973.467,"count":560},{"id":1603735200,"open":12856.2,"close":12946.8,"high":12954.5,"low":12820.4,"amount":4.302,"vol":4302,"trade_turnover":55481.0054,"count":128},{"id":1603738800,"open":12945.6,"close":12953.4,"high":12953.5,"low":12914.1,"amount":13.83,"vol":13830,"trade_turnover":179112.1598,"count":118},{"id":1603742400,"open":12953.5,"close":12983.4,"high":13007.5,"low":12953.5,"amount":17.172,"vol":17172,"trade_turnover":223230.2122,"count":132},{"id":1603746000,"open":12983.1,"close":12993.8,"high":13007.5,"low":12982.7,"amount":3.212,"vol":3212,"trade_turnover":41767.8906,"count":59},{"id":1603749600,"open":13002.1,"close":13007.5,"high":13007.5,"low":12974.0,"amount":1.504,"vol":1504,"trade_turnover":19543.3568,"count":74},{"id":1603753200,"open":13007.5,"close":13033.7,"high":13061.2,"low":13007.5,"amount":3.454,"vol":3454,"trade_turnover":45001.601,"count":101},{"id":1603756800,"open":13029.2,"close":13067.1,"high":13105.0,"low":13028.3,"amount":8.784,"vol":8784,"trade_turnover":114871.8246,"count":98},{"id":1603760400,"open":13074.3,"close":13061.7,"high":13074.4,"low":13051.5,"amount":11.592,"vol":11592,"trade_turnover":151386.9038,"count":66},{"id":1603764000,"open":13061.7,"close":13049.7,"high":13097.6,"low":13040.1,"amount":19.298,"vol":19298,"trade_turnover":252061.019,"count":109},{"id":1603767600,"open":13057.6,"close":13070.4,"high":13080.0,"low":13057.1,"amount":22.992,"vol":22992,"trade_turnover":300453.9788,"count":69},{"id":1603771200,"open":13080.0,"close":13103.3,"high":13175.0,"low":13079.6,"amount":14.396,"vol":14396,"trade_turnover":188461.9156,"count":59},{"id":1603774800,"open":13121.3,"close":13073.6,"high":13121.3,"low":13069.7,"amount":5.058,"vol":5058,"trade_turnover":66201.3552,"count":44},{"id":1603778400,"open":13074.9,"close":13103.4,"high":13149.0,"low":13069.6,"amount":9.106,"vol":9106,"trade_turnover":119104.8906,"count":107},{"id":1603782000,"open":13103.3,"close":13130.0,"high":13169.8,"low":12992.4,"amount":73.95,"vol":73950,"trade_turnover":968195.155,"count":305},{"id":1603785600,"open":13135.1,"close":13123.8,"high":13148.4,"low":13044.0,"amount":18.732,"vol":18732,"trade_turnover":245533.5448,"count":135},{"id":1603789200,"open":13115.5,"close":13131.7,"high":13131.8,"low":13075.7,"amount":13.756,"vol":13756,"trade_turnover":180253.7708,"count":102},{"id":1603792800,"open":13134.8,"close":13216.9,"high":13252.0,"low":13063.4,"amount":154.108,"vol":154108,"trade_turnover":2029983.656,"count":525},{"id":1603796400,"open":13218.8,"close":13395.8,"high":13590.1,"low":13213.5,"amount":170.09,"vol":170090,"trade_turnover":2276279.742,"count":591},{"id":1603800000,"open":13395.9,"close":13376.9,"high":13414.0,"low":13331.7,"amount":48.928,"vol":48928,"trade_turnover":654585.9108,"count":216},{"id":1603803600,"open":13376.5,"close":13384.3,"high":13490.9,"low":13329.8,"amount":63.294,"vol":63294,"trade_turnover":848130.9212,"count":316},{"id":1603807200,"open":13392.6,"close":13398.2,"high":13415.8,"low":13344.8,"amount":12.892,"vol":12892,"trade_turnover":172618.6864,"count":124},{"id":1603810800,"open":13398.2,"close":13598.5,"high":13626.7,"low":13398.2,"amount":93.22,"vol":93220,"trade_turnover":1262695.5466,"count":476},{"id":1603814400,"open":13595.8,"close":13639.9,"high":13639.9,"low":13520.2,"amount":85.45,"vol":85450,"trade_turnover":1161481.4136,"count":435},{"id":1603818000,"open":13640.0,"close":13688.1,"high":13826.7,"low":13589.0,"amount":191.812,"vol":191812,"trade_turnover":2628428.3788,"count":711},{"id":1603821600,"open":13685.0,"close":13630.1,"high":13745.0,"low":13528.2,"amount":65.434,"vol":65434,"trade_turnover":891541.8394,"count":410},{"id":1603825200,"open":13629.4,"close":13637.1,"high":13659.8,"low":13595.4,"amount":5.788,"vol":5788,"trade_turnover":78836.2578,"count":65},{"id":1603828800,"open":13644.4,"close":13616.6,"high":13805.1,"low":13582.6,"amount":163.104,"vol":163104,"trade_turnover":2234040.3544,"count":537},{"id":1603832400,"open":13609.8,"close":13705.5,"high":13753.5,"low":13609.8,"amount":9.884,"vol":9884,"trade_turnover":135406.4752,"count":101},{"id":1603836000,"open":13705.4,"close":13739.9,"high":13739.9,"low":13658.2,"amount":7.436,"vol":7436,"trade_turnover":101840.3508,"count":100},{"id":1603839600,"open":13739.9,"close":13649.6,"high":13794.6,"low":13582.6,"amount":17.086,"vol":17086,"trade_turnover":233971.8448,"count":234},{"id":1603843200,"open":13645.9,"close":13701.7,"high":13745.2,"low":13618.8,"amount":24.108,"vol":24108,"trade_turnover":330206.5694,"count":177},{"id":1603846800,"open":13702.1,"close":13702.6,"high":13725.6,"low":13647.9,"amount":15.892,"vol":15892,"trade_turnover":217816.7008,"count":151},{"id":1603850400,"open":13701.7,"close":13811.6,"high":13832.2,"low":13680.2,"amount":46.548,"vol":46548,"trade_turnover":640636.0352,"count":274},{"id":1603854000,"open":13818.5,"close":13777.0,"high":13820.3,"low":13717.5,"amount":67.896,"vol":67896,"trade_turnover":935838.2238,"count":320},{"id":1603857600,"open":13767.3,"close":13735.7,"high":13807.2,"low":13710.0,"amount":33.156,"vol":33156,"trade_turnover":455941.234,"count":210},{"id":1603861200,"open":13735.5,"close":13715.8,"high":13753.9,"low":13671.3,"amount":32.076,"vol":32076,"trade_turnover":439612.64,"count":198},{"id":1603864800,"open":13715.9,"close":13701.3,"high":13757.0,"low":13694.9,"amount":14.756,"vol":14756,"trade_turnover":202602.5164,"count":122},{"id":1603868400,"open":13701.2,"close":13674.2,"high":13708.7,"low":13550.0,"amount":155.534,"vol":155534,"trade_turnover":2117935.0928,"count":635},{"id":1603872000,"open":13673.0,"close":13691.7,"high":13691.7,"low":13584.0,"amount":29.846,"vol":29846,"trade_turnover":407073.1398,"count":240},{"id":1603875600,"open":13689.3,"close":13587.1,"high":13707.5,"low":13573.5,"amount":104.542,"vol":104542,"trade_turnover":1425079.9344,"count":377},{"id":1603879200,"open":13584.6,"close":13552.7,"high":13618.0,"low":13504.7,"amount":73.818,"vol":73818,"trade_turnover":1001666.0908,"count":358},{"id":1603882800,"open":13552.6,"close":13336.4,"high":13565.4,"low":13330.0,"amount":176.544,"vol":176544,"trade_turnover":2369166.1492,"count":1004},{"id":1603886400,"open":13331.5,"close":13300.3,"high":13385.0,"low":13173.9,"amount":289.73,"vol":289730,"trade_turnover":3846751.7166,"count":968},{"id":1603890000,"open":13300.2,"close":13129.9,"high":13340.0,"low":13122.9,"amount":139.822,"vol":139822,"trade_turnover":1848876.932,"count":612},{"id":1603893600,"open":13123.4,"close":13082.2,"high":13168.2,"low":12915.9,"amount":367.876,"vol":367876,"trade_turnover":4802516.9818,"count":1168},{"id":1603897200,"open":13077.1,"close":13221.2,"high":13235.2,"low":13052.3,"amount":84.044,"vol":84044,"trade_turnover":1106883.1282,"count":375},{"id":1603900800,"open":13218.7,"close":13145.1,"high":13218.7,"low":13050.0,"amount":29.566,"vol":29566,"trade_turnover":388697.4104,"count":244},{"id":1603904400,"open":13145.1,"close":13176.7,"high":13204.9,"low":13006.6,"amount":53.336,"vol":53336,"trade_turnover":700385.2784,"count":299},{"id":1603908000,"open":13171.0,"close":13196.5,"high":13219.6,"low":13131.0,"amount":34.164,"vol":34164,"trade_turnover":450210.5778,"count":218},{"id":1603911600,"open":13200.0,"close":13154.9,"high":13237.4,"low":13145.0,"amount":22.158,"vol":22158,"trade_turnover":292020.0438,"count":185},{"id":1603915200,"open":13154.5,"close":13198.1,"high":13211.8,"low":13147.4,"amount":4.548,"vol":4548,"trade_turnover":59991.1118,"count":75},{"id":1603918800,"open":13193.5,"close":13190.1,"high":13196.5,"low":13100.2,"amount":3.52,"vol":3520,"trade_turnover":46175.428,"count":68},{"id":1603922400,"open":13185.4,"close":13252.0,"high":13267.5,"low":13185.4,"amount":3.122,"vol":3122,"trade_turnover":41304.2018,"count":72},{"id":1603926000,"open":13242.1,"close":13265.9,"high":13282.3,"low":13235.9,"amount":14.768,"vol":14768,"trade_turnover":195689.0764,"count":86},{"id":1603929600,"open":13253.9,"close":13245.1,"high":13294.7,"low":13237.4,"amount":19.968,"vol":19968,"trade_turnover":264834.1944,"count":98},{"id":1603933200,"open":13244.6,"close":13274.2,"high":13285.3,"low":13166.3,"amount":35.282,"vol":35282,"trade_turnover":465789.6302,"count":192},{"id":1603936800,"open":13275.9,"close":13241.1,"high":13277.7,"low":13212.2,"amount":9.748,"vol":9748,"trade_turnover":129016.0684,"count":119},{"id":1603940400,"open":13237.1,"close":13262.5,"high":13262.5,"low":13174.6,"amount":27.3,"vol":27300,"trade_turnover":360589.8982,"count":199},{"id":1603944000,"open":13269.1,"close":13229.5,"high":13277.7,"low":13229.5,"amount":18.904,"vol":18904,"trade_turnover":250713.2812,"count":109},{"id":1603947600,"open":13228.5,"close":13274.8,"high":13274.8,"low":13228.5,"amount":15.822,"vol":15822,"trade_turnover":209781.909,"count":134},{"id":1603951200,"open":13274.8,"close":13255.0,"high":13323.0,"low":13242.3,"amount":91.246,"vol":91246,"trade_turnover":1211271.2788,"count":294},{"id":1603954800,"open":13255.0,"close":13142.4,"high":13269.3,"low":13123.1,"amount":187.622,"vol":187622,"trade_turnover":2478299.7074,"count":506},{"id":1603958400,"open":13145.9,"close":13124.8,"high":13182.4,"low":13094.1,"amount":69.532,"vol":69532,"trade_turnover":914157.2418,"count":226},{"id":1603962000,"open":13129.5,"close":13183.7,"high":13197.1,"low":13129.5,"amount":23.184,"vol":23184,"trade_turnover":305485.9524,"count":141},{"id":1603965600,"open":13184.8,"close":13105.2,"high":13187.5,"low":13053.1,"amount":121.146,"vol":121146,"trade_turnover":1590026.4416,"count":442},{"id":1603969200,"open":13105.1,"close":13060.1,"high":13171.4,"low":13060.1,"amount":47.498,"vol":47498,"trade_turnover":623578.149,"count":262},{"id":1603972800,"open":13056.9,"close":13131.8,"high":13145.8,"low":12977.9,"amount":126.552,"vol":126552,"trade_turnover":1652549.311,"count":481},{"id":1603976400,"open":13131.7,"close":13230.0,"high":13237.2,"low":13102.0,"amount":100.482,"vol":100482,"trade_turnover":1326403.7206,"count":325},{"id":1603980000,"open":13231.0,"close":13420.8,"high":13476.1,"low":13231.0,"amount":253.258,"vol":253258,"trade_turnover":3384941.438,"count":752},{"id":1603983600,"open":13416.0,"close":13420.6,"high":13458.7,"low":13358.7,"amount":64.71,"vol":64710,"trade_turnover":869052.3804,"count":269},{"id":1603987200,"open":13421.9,"close":13535.9,"high":13594.5,"low":13391.8,"amount":120.24,"vol":120240,"trade_turnover":1626567.8278,"count":570}]} +2024-01-18 11:13:11.979 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:41] - 请求 KLine 数据解析之后的数据为:{"wsid":19750305,"data":[{"amount":0.276,"high":12300.0,"vol":276,"low":11715.8,"count":39,"id":1603270800,"close":12196.7,"tradeTurnover":3315.9104,"open":12198.0},{"amount":0.198,"high":12289.9,"vol":198,"low":12111.0,"count":21,"id":1603274400,"close":12277.9,"tradeTurnover":2420.7728,"open":12196.7},{"amount":0.012,"high":12277.9,"vol":12,"low":12000.0,"count":5,"id":1603278000,"close":12000.0,"tradeTurnover":145.2238,"open":12111.0},{"amount":0.084,"high":12498.0,"vol":84,"low":12078.0,"count":12,"id":1603281600,"close":12497.4,"tradeTurnover":1040.0504,"open":12078.0},{"amount":1.122,"high":12495.6,"vol":1122,"low":12282.9,"count":112,"id":1603285200,"close":12373.5,"tradeTurnover":13905.3124,"open":12495.6},{"amount":5.29,"high":12807.6,"vol":5290,"low":12358.1,"count":155,"id":1603288800,"close":12689.9,"tradeTurnover":66852.128,"open":12412.9},{"amount":1.174,"high":12778.7,"vol":1174,"low":12573.2,"count":113,"id":1603292400,"close":12701.9,"tradeTurnover":14907.367,"open":12692.8},{"amount":1.156,"high":12920.9,"vol":1156,"low":12624.8,"count":115,"id":1603296000,"close":12835.9,"tradeTurnover":14802.449,"open":12679.7},{"amount":1.12,"high":12908.3,"vol":1120,"low":12687.5,"count":115,"id":1603299600,"close":12754.2,"tradeTurnover":14345.7324,"open":12848.3},{"amount":1.106,"high":12849.0,"vol":1106,"low":12668.3,"count":114,"id":1603303200,"close":12740.2,"tradeTurnover":14105.3504,"open":12743.7},{"amount":1.032,"high":12843.1,"vol":1032,"low":12597.2,"count":112,"id":1603306800,"close":12650.3,"tradeTurnover":13125.4568,"open":12729.5},{"amount":1.154,"high":12848.4,"vol":1154,"low":12610.2,"count":116,"id":1603310400,"close":12807.0,"tradeTurnover":14680.638,"open":12666.8},{"amount":1.164,"high":13005.1,"vol":1164,"low":12748.2,"count":114,"id":1603314000,"close":12938.9,"tradeTurnover":14976.9366,"open":12866.0},{"amount":1.174,"high":13211.2,"vol":1174,"low":12865.7,"count":114,"id":1603317600,"close":13122.0,"tradeTurnover":15285.2446,"open":12921.0},{"amount":1.172,"high":13173.2,"vol":1172,"low":12688.6,"count":117,"id":1603321200,"close":12829.8,"tradeTurnover":15060.9938,"open":13153.2},{"amount":1.17,"high":12988.1,"vol":1170,"low":12764.4,"count":117,"id":1603324800,"close":12885.9,"tradeTurnover":15046.2046,"open":12793.1},{"amount":1.158,"high":12972.6,"vol":1158,"low":12757.5,"count":118,"id":1603328400,"close":12757.5,"tradeTurnover":14882.4656,"open":12860.4},{"amount":1.124,"high":12848.0,"vol":1124,"low":12729.0,"count":115,"id":1603332000,"close":12788.8,"tradeTurnover":14368.7948,"open":12824.1},{"amount":1.194,"high":12834.4,"vol":1194,"low":12729.0,"count":111,"id":1603335600,"close":12767.2,"tradeTurnover":15268.9298,"open":12791.7},{"amount":1.152,"high":12778.3,"vol":1152,"low":12729.0,"count":115,"id":1603339200,"close":12762.2,"tradeTurnover":14695.4876,"open":12729.0},{"amount":1.21,"high":12842.0,"vol":1210,"low":12730.6,"count":119,"id":1603342800,"close":12813.8,"tradeTurnover":15440.8162,"open":12763.1},{"amount":1.188,"high":12795.0,"vol":1188,"low":12728.0,"count":123,"id":1603346400,"close":12729.1,"tradeTurnover":15128.0098,"open":12795.0},{"amount":1.266,"high":12730.6,"vol":1266,"low":12728.3,"count":112,"id":1603350000,"close":12730.6,"tradeTurnover":16115.1306,"open":12728.6},{"amount":1.35,"high":12921.5,"vol":1350,"low":12729.9,"count":127,"id":1603353600,"close":12770.1,"tradeTurnover":17233.7326,"open":12730.3},{"amount":0.98,"high":12872.1,"vol":980,"low":12760.1,"count":99,"id":1603357200,"close":12780.4,"tradeTurnover":12553.9826,"open":12824.9},{"amount":0.266,"high":13002.7,"vol":266,"low":12775.6,"count":30,"id":1603360800,"close":12934.2,"tradeTurnover":3415.023,"open":12784.9},{"amount":1.004,"high":13057.0,"vol":1004,"low":12886.6,"count":117,"id":1603364400,"close":13045.0,"tradeTurnover":13020.8576,"open":12977.0},{"amount":1.134,"high":12973.4,"vol":1134,"low":12751.6,"count":111,"id":1603368000,"close":12847.9,"tradeTurnover":14594.2752,"open":12958.5},{"amount":1.152,"high":13000.8,"vol":1152,"low":12743.0,"count":114,"id":1603371600,"close":12931.0,"tradeTurnover":14877.7314,"open":12882.7},{"amount":1.182,"high":12995.3,"vol":1182,"low":12783.9,"count":115,"id":1603375200,"close":12917.8,"tradeTurnover":15224.4716,"open":12890.4},{"amount":1.176,"high":13031.2,"vol":1176,"low":12817.9,"count":117,"id":1603378800,"close":12953.0,"tradeTurnover":15197.208,"open":12918.8},{"amount":1.146,"high":13100.2,"vol":1146,"low":12865.6,"count":119,"id":1603382400,"close":13055.6,"tradeTurnover":14851.9604,"open":12923.1},{"amount":1.534,"high":13105.7,"vol":1534,"low":12835.5,"count":124,"id":1603386000,"close":13082.7,"tradeTurnover":19927.8288,"open":12967.6},{"amount":1.268,"high":13115.0,"vol":1268,"low":12938.7,"count":117,"id":1603389600,"close":13016.4,"tradeTurnover":16505.4738,"open":13020.4},{"amount":1.13,"high":13171.2,"vol":1130,"low":12961.8,"count":112,"id":1603393200,"close":12970.6,"tradeTurnover":14762.952,"open":13028.3},{"amount":1.206,"high":13216.1,"vol":1206,"low":12998.5,"count":117,"id":1603396800,"close":13089.3,"tradeTurnover":15807.1226,"open":13016.7},{"amount":1.332,"high":13203.7,"vol":1332,"low":12932.9,"count":114,"id":1603400400,"close":13092.0,"tradeTurnover":17423.4422,"open":13136.0},{"amount":1.21,"high":13250.5,"vol":1210,"low":12984.7,"count":114,"id":1603404000,"close":13055.9,"tradeTurnover":15876.0632,"open":13119.4},{"amount":1.286,"high":13126.5,"vol":1286,"low":12857.2,"count":116,"id":1603407600,"close":12890.4,"tradeTurnover":16688.422,"open":13059.4},{"amount":1.502,"high":12994.0,"vol":1502,"low":12751.6,"count":131,"id":1603411200,"close":12892.2,"tradeTurnover":19331.1596,"open":12929.7},{"amount":1.386,"high":13003.2,"vol":1386,"low":12786.0,"count":121,"id":1603414800,"close":12898.3,"tradeTurnover":17904.8902,"open":12921.7},{"amount":1.416,"high":13054.0,"vol":1416,"low":12800.7,"count":122,"id":1603418400,"close":12975.1,"tradeTurnover":18306.6204,"open":12951.6},{"amount":1.19,"high":13030.7,"vol":1190,"low":12875.0,"count":118,"id":1603422000,"close":12947.0,"tradeTurnover":15409.7984,"open":12967.3},{"amount":1.022,"high":13047.3,"vol":1022,"low":12832.8,"count":127,"id":1603425600,"close":12852.0,"tradeTurnover":13214.4388,"open":12925.2},{"amount":0.478,"high":12991.7,"vol":478,"low":12841.2,"count":118,"id":1603429200,"close":12931.1,"tradeTurnover":6180.2486,"open":12859.0},{"amount":0.522,"high":13014.1,"vol":522,"low":12871.9,"count":132,"id":1603432800,"close":12939.6,"tradeTurnover":6759.0324,"open":12935.9},{"amount":0.476,"high":12998.9,"vol":476,"low":12917.1,"count":118,"id":1603436400,"close":12925.4,"tradeTurnover":6163.3118,"open":12923.1},{"amount":0.508,"high":13014.0,"vol":508,"low":12916.1,"count":122,"id":1603440000,"close":12962.6,"tradeTurnover":6585.3656,"open":12942.2},{"amount":0.564,"high":13012.5,"vol":564,"low":12909.9,"count":124,"id":1603443600,"close":12926.4,"tradeTurnover":7308.8828,"open":12970.5},{"amount":0.536,"high":13059.5,"vol":536,"low":12925.7,"count":124,"id":1603447200,"close":13007.7,"tradeTurnover":6957.8796,"open":13001.2},{"amount":0.486,"high":13078.4,"vol":486,"low":12906.5,"count":122,"id":1603450800,"close":12970.6,"tradeTurnover":6326.1434,"open":13025.4},{"amount":0.494,"high":13025.0,"vol":494,"low":12850.8,"count":117,"id":1603454400,"close":12935.4,"tradeTurnover":6396.0984,"open":12963.9},{"amount":0.466,"high":13043.3,"vol":466,"low":12911.0,"count":117,"id":1603458000,"close":12951.7,"tradeTurnover":6049.1412,"open":12913.3},{"amount":0.46,"high":13006.4,"vol":460,"low":12840.4,"count":116,"id":1603461600,"close":12858.8,"tradeTurnover":5941.815,"open":12999.6},{"amount":0.492,"high":12932.9,"vol":492,"low":12826.5,"count":117,"id":1603465200,"close":12881.9,"tradeTurnover":6340.214,"open":12885.7},{"amount":0.484,"high":12933.5,"vol":484,"low":12744.4,"count":123,"id":1603468800,"close":12784.1,"tradeTurnover":6205.4138,"open":12854.4},{"amount":0.562,"high":12893.1,"vol":562,"low":12730.1,"count":152,"id":1603472400,"close":12847.7,"tradeTurnover":7218.9184,"open":12832.3},{"amount":0.53,"high":12939.3,"vol":530,"low":12751.4,"count":128,"id":1603476000,"close":12915.7,"tradeTurnover":6825.7004,"open":12874.1},{"amount":0.444,"high":12972.9,"vol":444,"low":12786.6,"count":117,"id":1603479600,"close":12972.9,"tradeTurnover":5727.7452,"open":12867.9},{"amount":0.492,"high":13002.2,"vol":492,"low":12842.9,"count":116,"id":1603483200,"close":12991.6,"tradeTurnover":6375.1566,"open":12956.7},{"amount":0.5,"high":13004.3,"vol":500,"low":12936.6,"count":125,"id":1603486800,"close":12943.5,"tradeTurnover":6485.468,"open":13004.3},{"amount":0.492,"high":13010.3,"vol":492,"low":12884.7,"count":120,"id":1603490400,"close":12989.2,"tradeTurnover":6376.1492,"open":12923.6},{"amount":0.51,"high":13024.4,"vol":510,"low":12884.6,"count":121,"id":1603494000,"close":12884.6,"tradeTurnover":6622.3406,"open":12974.9},{"amount":0.488,"high":13018.3,"vol":488,"low":12811.1,"count":120,"id":1603497600,"close":12953.9,"tradeTurnover":6317.7938,"open":12973.7},{"amount":0.482,"high":13018.1,"vol":482,"low":12872.8,"count":117,"id":1603501200,"close":12934.2,"tradeTurnover":6242.4178,"open":12927.5},{"amount":0.484,"high":13003.9,"vol":484,"low":12903.3,"count":117,"id":1603504800,"close":12989.1,"tradeTurnover":6278.1756,"open":12971.9},{"amount":0.474,"high":13013.4,"vol":474,"low":12938.3,"count":122,"id":1603508400,"close":12975.9,"tradeTurnover":6157.7096,"open":13000.1},{"amount":0.526,"high":13009.4,"vol":526,"low":12905.5,"count":124,"id":1603512000,"close":12963.3,"tradeTurnover":6831.5658,"open":12989.7},{"amount":0.522,"high":13041.8,"vol":522,"low":12875.3,"count":127,"id":1603515600,"close":12989.7,"tradeTurnover":6768.8994,"open":12910.5},{"amount":0.49,"high":13058.1,"vol":490,"low":12908.8,"count":120,"id":1603519200,"close":13003.6,"tradeTurnover":6370.5714,"open":12994.7},{"amount":0.478,"high":13037.8,"vol":478,"low":12981.7,"count":120,"id":1603522800,"close":13004.2,"tradeTurnover":6218.9722,"open":13011.9},{"amount":0.52,"high":13030.6,"vol":520,"low":12899.4,"count":124,"id":1603526400,"close":12998.2,"tradeTurnover":6754.958,"open":13003.0},{"amount":0.454,"high":13020.3,"vol":454,"low":12893.6,"count":115,"id":1603530000,"close":12990.6,"tradeTurnover":5891.0574,"open":12998.2},{"amount":0.502,"high":13059.1,"vol":502,"low":12913.2,"count":124,"id":1603533600,"close":13030.1,"tradeTurnover":6525.9004,"open":12996.4},{"amount":0.468,"high":13068.3,"vol":468,"low":12940.2,"count":119,"id":1603537200,"close":13033.2,"tradeTurnover":6091.0376,"open":12988.4},{"amount":0.468,"high":13071.8,"vol":468,"low":12978.9,"count":123,"id":1603540800,"close":13006.5,"tradeTurnover":6102.5902,"open":13035.3},{"amount":0.534,"high":13066.7,"vol":534,"low":12928.1,"count":123,"id":1603544400,"close":12985.9,"tradeTurnover":6950.4268,"open":13038.8},{"amount":0.47,"high":13100.1,"vol":470,"low":12960.5,"count":100,"id":1603548000,"close":13042.0,"tradeTurnover":6124.2178,"open":12986.3},{"amount":0.456,"high":13196.5,"vol":456,"low":13038.4,"count":120,"id":1603551600,"close":13102.2,"tradeTurnover":5989.6362,"open":13038.4},{"amount":0.458,"high":13176.6,"vol":458,"low":12984.6,"count":121,"id":1603555200,"close":13052.7,"tradeTurnover":5976.331,"open":13136.8},{"amount":0.452,"high":13177.8,"vol":452,"low":13003.2,"count":118,"id":1603558800,"close":13177.8,"tradeTurnover":5911.7058,"open":13006.2},{"amount":0.468,"high":13170.7,"vol":468,"low":13023.0,"count":119,"id":1603562400,"close":13080.8,"tradeTurnover":6122.375,"open":13127.7},{"amount":0.468,"high":13179.3,"vol":468,"low":13014.2,"count":120,"id":1603566000,"close":13148.4,"tradeTurnover":6126.4278,"open":13040.7},{"amount":0.47,"high":13179.6,"vol":470,"low":12992.5,"count":119,"id":1603569600,"close":13090.1,"tradeTurnover":6151.4758,"open":13073.5},{"amount":0.458,"high":13148.7,"vol":458,"low":12980.7,"count":117,"id":1603573200,"close":12993.9,"tradeTurnover":5981.071,"open":13035.4},{"amount":0.478,"high":13112.1,"vol":478,"low":12975.6,"count":118,"id":1603576800,"close":13041.1,"tradeTurnover":6225.4216,"open":13040.7},{"amount":0.472,"high":13184.3,"vol":472,"low":13009.3,"count":118,"id":1603580400,"close":13184.3,"tradeTurnover":6173.4244,"open":13012.6},{"amount":0.46,"high":13170.4,"vol":460,"low":13007.7,"count":115,"id":1603584000,"close":13154.3,"tradeTurnover":6024.09,"open":13080.8},{"amount":0.398,"high":13196.8,"vol":398,"low":13024.0,"count":102,"id":1603587600,"close":13196.1,"tradeTurnover":5217.5364,"open":13092.0},{"amount":0.476,"high":13175.1,"vol":476,"low":13035.0,"count":120,"id":1603591200,"close":13082.4,"tradeTurnover":6228.6596,"open":13124.7},{"amount":0.578,"high":13383.8,"vol":578,"low":13049.1,"count":137,"id":1603594800,"close":13259.0,"tradeTurnover":7629.3886,"open":13049.1},{"amount":0.47,"high":13369.0,"vol":470,"low":13216.0,"count":122,"id":1603598400,"close":13243.4,"tradeTurnover":6247.955,"open":13277.0},{"amount":0.61,"high":13353.3,"vol":610,"low":13010.1,"count":134,"id":1603602000,"close":13017.3,"tradeTurnover":8048.8598,"open":13285.3},{"amount":0.486,"high":13105.7,"vol":486,"low":13018.2,"count":118,"id":1603605600,"close":13060.3,"tradeTurnover":6344.1474,"open":13022.5},{"amount":0.464,"high":13112.1,"vol":464,"low":13022.0,"count":120,"id":1603609200,"close":13078.1,"tradeTurnover":6061.5416,"open":13048.5},{"amount":0.464,"high":13091.0,"vol":464,"low":13017.2,"count":120,"id":1603612800,"close":13046.0,"tradeTurnover":6055.3734,"open":13077.2},{"amount":0.478,"high":13084.0,"vol":478,"low":13014.2,"count":117,"id":1603616400,"close":13040.8,"tradeTurnover":6235.7882,"open":13065.1},{"amount":0.478,"high":13064.2,"vol":478,"low":13010.2,"count":125,"id":1603620000,"close":13028.5,"tradeTurnover":6232.2428,"open":13047.1},{"amount":0.534,"high":13061.5,"vol":534,"low":12852.9,"count":123,"id":1603623600,"close":12897.6,"tradeTurnover":6918.1226,"open":13061.5},{"amount":0.444,"high":13069.7,"vol":444,"low":12893.2,"count":117,"id":1603627200,"close":12964.3,"tradeTurnover":5755.8712,"open":12908.3},{"amount":0.498,"high":13071.9,"vol":498,"low":12891.8,"count":119,"id":1603630800,"close":12949.3,"tradeTurnover":6465.078,"open":13001.3},{"amount":0.468,"high":13077.7,"vol":468,"low":12900.0,"count":116,"id":1603634400,"close":12946.8,"tradeTurnover":6075.4554,"open":12975.8},{"amount":0.47,"high":13069.1,"vol":470,"low":12883.3,"count":119,"id":1603638000,"close":12883.3,"tradeTurnover":6097.1072,"open":12975.2},{"amount":0.482,"high":13067.9,"vol":482,"low":12877.5,"count":118,"id":1603641600,"close":12978.7,"tradeTurnover":6256.4472,"open":12916.2},{"amount":0.47,"high":13087.5,"vol":470,"low":12922.7,"count":117,"id":1603645200,"close":13004.4,"tradeTurnover":6108.3892,"open":13008.0},{"amount":0.468,"high":13067.6,"vol":468,"low":12893.6,"count":118,"id":1603648800,"close":12957.2,"tradeTurnover":6079.1484,"open":12972.8},{"amount":0.442,"high":13066.9,"vol":442,"low":12916.6,"count":118,"id":1603652400,"close":13021.8,"tradeTurnover":5746.5548,"open":12996.5},{"amount":0.508,"high":13081.5,"vol":508,"low":12944.9,"count":120,"id":1603656000,"close":12985.4,"tradeTurnover":6616.9872,"open":12992.9},{"amount":0.508,"high":13068.6,"vol":508,"low":12921.4,"count":122,"id":1603659600,"close":13011.2,"tradeTurnover":6614.816,"open":12999.9},{"amount":0.486,"high":13073.8,"vol":486,"low":12911.9,"count":121,"id":1603663200,"close":12959.4,"tradeTurnover":6320.907,"open":12979.6},{"amount":0.452,"high":13085.2,"vol":452,"low":12927.8,"count":113,"id":1603666800,"close":13032.1,"tradeTurnover":5878.6442,"open":12963.4},{"amount":0.482,"high":13076.7,"vol":482,"low":12918.3,"count":121,"id":1603670400,"close":13001.0,"tradeTurnover":6263.698,"open":12964.2},{"amount":0.478,"high":13096.4,"vol":478,"low":12991.2,"count":124,"id":1603674000,"close":13053.7,"tradeTurnover":6232.2328,"open":13040.0},{"amount":0.488,"high":13185.7,"vol":488,"low":12985.1,"count":121,"id":1603677600,"close":13064.4,"tradeTurnover":6387.534,"open":13060.6},{"amount":0.486,"high":13187.2,"vol":486,"low":12984.1,"count":135,"id":1603681200,"close":13092.8,"tradeTurnover":6369.0272,"open":13032.3},{"amount":0.51,"high":13181.6,"vol":510,"low":12962.3,"count":131,"id":1603684800,"close":13132.6,"tradeTurnover":6679.829,"open":13092.0},{"amount":0.506,"high":13205.3,"vol":506,"low":13025.3,"count":126,"id":1603688400,"close":13092.1,"tradeTurnover":6641.2128,"open":13129.2},{"amount":1.616,"high":13188.1,"vol":1616,"low":12989.8,"count":141,"id":1603692000,"close":13071.4,"tradeTurnover":21170.8224,"open":13121.8},{"amount":3.746,"high":13100.0,"vol":3746,"low":12965.2,"count":110,"id":1603695600,"close":13038.7,"tradeTurnover":48924.8902,"open":13061.0},{"amount":8.966,"high":13102.0,"vol":8966,"low":12852.8,"count":173,"id":1603699200,"close":13039.3,"tradeTurnover":116525.5534,"open":13030.9},{"amount":4.48,"high":13088.4,"vol":4480,"low":13039.8,"count":124,"id":1603702800,"close":13075.9,"tradeTurnover":58521.1714,"open":13047.1},{"amount":4.272,"high":13100.0,"vol":4272,"low":13060.2,"count":130,"id":1603706400,"close":13100.0,"tradeTurnover":55895.9778,"open":13072.1},{"amount":29.798,"high":13159.0,"vol":29798,"low":13100.0,"count":230,"id":1603710000,"close":13138.4,"tradeTurnover":391138.024,"open":13100.0},{"amount":5.154,"high":13200.0,"vol":5154,"low":13100.0,"count":188,"id":1603713600,"close":13149.8,"tradeTurnover":67694.652,"open":13138.8},{"amount":35.608,"high":13351.5,"vol":35608,"low":13133.1,"count":328,"id":1603717200,"close":13205.8,"tradeTurnover":472780.3394,"open":13150.0},{"amount":31.748,"high":13280.0,"vol":31748,"low":13144.1,"count":235,"id":1603720800,"close":13166.1,"tradeTurnover":418744.5588,"open":13203.0},{"amount":36.53,"high":13165.2,"vol":36530,"low":12903.8,"count":384,"id":1603724400,"close":12978.0,"tradeTurnover":476940.3296,"open":13159.0},{"amount":35.018,"high":13069.8,"vol":35018,"low":12850.5,"count":323,"id":1603728000,"close":12869.6,"tradeTurnover":453288.918,"open":12965.0},{"amount":92.628,"high":12941.5,"vol":92628,"low":12583.9,"count":560,"id":1603731600,"close":12873.8,"tradeTurnover":1185973.467,"open":12879.2},{"amount":4.302,"high":12954.5,"vol":4302,"low":12820.4,"count":128,"id":1603735200,"close":12946.8,"tradeTurnover":55481.0054,"open":12856.2},{"amount":13.83,"high":12953.5,"vol":13830,"low":12914.1,"count":118,"id":1603738800,"close":12953.4,"tradeTurnover":179112.1598,"open":12945.6},{"amount":17.172,"high":13007.5,"vol":17172,"low":12953.5,"count":132,"id":1603742400,"close":12983.4,"tradeTurnover":223230.2122,"open":12953.5},{"amount":3.212,"high":13007.5,"vol":3212,"low":12982.7,"count":59,"id":1603746000,"close":12993.8,"tradeTurnover":41767.8906,"open":12983.1},{"amount":1.504,"high":13007.5,"vol":1504,"low":12974.0,"count":74,"id":1603749600,"close":13007.5,"tradeTurnover":19543.3568,"open":13002.1},{"amount":3.454,"high":13061.2,"vol":3454,"low":13007.5,"count":101,"id":1603753200,"close":13033.7,"tradeTurnover":45001.601,"open":13007.5},{"amount":8.784,"high":13105.0,"vol":8784,"low":13028.3,"count":98,"id":1603756800,"close":13067.1,"tradeTurnover":114871.8246,"open":13029.2},{"amount":11.592,"high":13074.4,"vol":11592,"low":13051.5,"count":66,"id":1603760400,"close":13061.7,"tradeTurnover":151386.9038,"open":13074.3},{"amount":19.298,"high":13097.6,"vol":19298,"low":13040.1,"count":109,"id":1603764000,"close":13049.7,"tradeTurnover":252061.019,"open":13061.7},{"amount":22.992,"high":13080.0,"vol":22992,"low":13057.1,"count":69,"id":1603767600,"close":13070.4,"tradeTurnover":300453.9788,"open":13057.6},{"amount":14.396,"high":13175.0,"vol":14396,"low":13079.6,"count":59,"id":1603771200,"close":13103.3,"tradeTurnover":188461.9156,"open":13080.0},{"amount":5.058,"high":13121.3,"vol":5058,"low":13069.7,"count":44,"id":1603774800,"close":13073.6,"tradeTurnover":66201.3552,"open":13121.3},{"amount":9.106,"high":13149.0,"vol":9106,"low":13069.6,"count":107,"id":1603778400,"close":13103.4,"tradeTurnover":119104.8906,"open":13074.9},{"amount":73.95,"high":13169.8,"vol":73950,"low":12992.4,"count":305,"id":1603782000,"close":13130.0,"tradeTurnover":968195.155,"open":13103.3},{"amount":18.732,"high":13148.4,"vol":18732,"low":13044.0,"count":135,"id":1603785600,"close":13123.8,"tradeTurnover":245533.5448,"open":13135.1},{"amount":13.756,"high":13131.8,"vol":13756,"low":13075.7,"count":102,"id":1603789200,"close":13131.7,"tradeTurnover":180253.7708,"open":13115.5},{"amount":154.108,"high":13252.0,"vol":154108,"low":13063.4,"count":525,"id":1603792800,"close":13216.9,"tradeTurnover":2029983.656,"open":13134.8},{"amount":170.09,"high":13590.1,"vol":170090,"low":13213.5,"count":591,"id":1603796400,"close":13395.8,"tradeTurnover":2276279.742,"open":13218.8},{"amount":48.928,"high":13414.0,"vol":48928,"low":13331.7,"count":216,"id":1603800000,"close":13376.9,"tradeTurnover":654585.9108,"open":13395.9},{"amount":63.294,"high":13490.9,"vol":63294,"low":13329.8,"count":316,"id":1603803600,"close":13384.3,"tradeTurnover":848130.9212,"open":13376.5},{"amount":12.892,"high":13415.8,"vol":12892,"low":13344.8,"count":124,"id":1603807200,"close":13398.2,"tradeTurnover":172618.6864,"open":13392.6},{"amount":93.22,"high":13626.7,"vol":93220,"low":13398.2,"count":476,"id":1603810800,"close":13598.5,"tradeTurnover":1262695.5466,"open":13398.2},{"amount":85.45,"high":13639.9,"vol":85450,"low":13520.2,"count":435,"id":1603814400,"close":13639.9,"tradeTurnover":1161481.4136,"open":13595.8},{"amount":191.812,"high":13826.7,"vol":191812,"low":13589.0,"count":711,"id":1603818000,"close":13688.1,"tradeTurnover":2628428.3788,"open":13640.0},{"amount":65.434,"high":13745.0,"vol":65434,"low":13528.2,"count":410,"id":1603821600,"close":13630.1,"tradeTurnover":891541.8394,"open":13685.0},{"amount":5.788,"high":13659.8,"vol":5788,"low":13595.4,"count":65,"id":1603825200,"close":13637.1,"tradeTurnover":78836.2578,"open":13629.4},{"amount":163.104,"high":13805.1,"vol":163104,"low":13582.6,"count":537,"id":1603828800,"close":13616.6,"tradeTurnover":2234040.3544,"open":13644.4},{"amount":9.884,"high":13753.5,"vol":9884,"low":13609.8,"count":101,"id":1603832400,"close":13705.5,"tradeTurnover":135406.4752,"open":13609.8},{"amount":7.436,"high":13739.9,"vol":7436,"low":13658.2,"count":100,"id":1603836000,"close":13739.9,"tradeTurnover":101840.3508,"open":13705.4},{"amount":17.086,"high":13794.6,"vol":17086,"low":13582.6,"count":234,"id":1603839600,"close":13649.6,"tradeTurnover":233971.8448,"open":13739.9},{"amount":24.108,"high":13745.2,"vol":24108,"low":13618.8,"count":177,"id":1603843200,"close":13701.7,"tradeTurnover":330206.5694,"open":13645.9},{"amount":15.892,"high":13725.6,"vol":15892,"low":13647.9,"count":151,"id":1603846800,"close":13702.6,"tradeTurnover":217816.7008,"open":13702.1},{"amount":46.548,"high":13832.2,"vol":46548,"low":13680.2,"count":274,"id":1603850400,"close":13811.6,"tradeTurnover":640636.0352,"open":13701.7},{"amount":67.896,"high":13820.3,"vol":67896,"low":13717.5,"count":320,"id":1603854000,"close":13777.0,"tradeTurnover":935838.2238,"open":13818.5},{"amount":33.156,"high":13807.2,"vol":33156,"low":13710.0,"count":210,"id":1603857600,"close":13735.7,"tradeTurnover":455941.234,"open":13767.3},{"amount":32.076,"high":13753.9,"vol":32076,"low":13671.3,"count":198,"id":1603861200,"close":13715.8,"tradeTurnover":439612.64,"open":13735.5},{"amount":14.756,"high":13757.0,"vol":14756,"low":13694.9,"count":122,"id":1603864800,"close":13701.3,"tradeTurnover":202602.5164,"open":13715.9},{"amount":155.534,"high":13708.7,"vol":155534,"low":13550.0,"count":635,"id":1603868400,"close":13674.2,"tradeTurnover":2117935.0928,"open":13701.2},{"amount":29.846,"high":13691.7,"vol":29846,"low":13584.0,"count":240,"id":1603872000,"close":13691.7,"tradeTurnover":407073.1398,"open":13673.0},{"amount":104.542,"high":13707.5,"vol":104542,"low":13573.5,"count":377,"id":1603875600,"close":13587.1,"tradeTurnover":1425079.9344,"open":13689.3},{"amount":73.818,"high":13618.0,"vol":73818,"low":13504.7,"count":358,"id":1603879200,"close":13552.7,"tradeTurnover":1001666.0908,"open":13584.6},{"amount":176.544,"high":13565.4,"vol":176544,"low":13330.0,"count":1004,"id":1603882800,"close":13336.4,"tradeTurnover":2369166.1492,"open":13552.6},{"amount":289.73,"high":13385.0,"vol":289730,"low":13173.9,"count":968,"id":1603886400,"close":13300.3,"tradeTurnover":3846751.7166,"open":13331.5},{"amount":139.822,"high":13340.0,"vol":139822,"low":13122.9,"count":612,"id":1603890000,"close":13129.9,"tradeTurnover":1848876.932,"open":13300.2},{"amount":367.876,"high":13168.2,"vol":367876,"low":12915.9,"count":1168,"id":1603893600,"close":13082.2,"tradeTurnover":4802516.9818,"open":13123.4},{"amount":84.044,"high":13235.2,"vol":84044,"low":13052.3,"count":375,"id":1603897200,"close":13221.2,"tradeTurnover":1106883.1282,"open":13077.1},{"amount":29.566,"high":13218.7,"vol":29566,"low":13050.0,"count":244,"id":1603900800,"close":13145.1,"tradeTurnover":388697.4104,"open":13218.7},{"amount":53.336,"high":13204.9,"vol":53336,"low":13006.6,"count":299,"id":1603904400,"close":13176.7,"tradeTurnover":700385.2784,"open":13145.1},{"amount":34.164,"high":13219.6,"vol":34164,"low":13131.0,"count":218,"id":1603908000,"close":13196.5,"tradeTurnover":450210.5778,"open":13171.0},{"amount":22.158,"high":13237.4,"vol":22158,"low":13145.0,"count":185,"id":1603911600,"close":13154.9,"tradeTurnover":292020.0438,"open":13200.0},{"amount":4.548,"high":13211.8,"vol":4548,"low":13147.4,"count":75,"id":1603915200,"close":13198.1,"tradeTurnover":59991.1118,"open":13154.5},{"amount":3.52,"high":13196.5,"vol":3520,"low":13100.2,"count":68,"id":1603918800,"close":13190.1,"tradeTurnover":46175.428,"open":13193.5},{"amount":3.122,"high":13267.5,"vol":3122,"low":13185.4,"count":72,"id":1603922400,"close":13252.0,"tradeTurnover":41304.2018,"open":13185.4},{"amount":14.768,"high":13282.3,"vol":14768,"low":13235.9,"count":86,"id":1603926000,"close":13265.9,"tradeTurnover":195689.0764,"open":13242.1},{"amount":19.968,"high":13294.7,"vol":19968,"low":13237.4,"count":98,"id":1603929600,"close":13245.1,"tradeTurnover":264834.1944,"open":13253.9},{"amount":35.282,"high":13285.3,"vol":35282,"low":13166.3,"count":192,"id":1603933200,"close":13274.2,"tradeTurnover":465789.6302,"open":13244.6},{"amount":9.748,"high":13277.7,"vol":9748,"low":13212.2,"count":119,"id":1603936800,"close":13241.1,"tradeTurnover":129016.0684,"open":13275.9},{"amount":27.3,"high":13262.5,"vol":27300,"low":13174.6,"count":199,"id":1603940400,"close":13262.5,"tradeTurnover":360589.8982,"open":13237.1},{"amount":18.904,"high":13277.7,"vol":18904,"low":13229.5,"count":109,"id":1603944000,"close":13229.5,"tradeTurnover":250713.2812,"open":13269.1},{"amount":15.822,"high":13274.8,"vol":15822,"low":13228.5,"count":134,"id":1603947600,"close":13274.8,"tradeTurnover":209781.909,"open":13228.5},{"amount":91.246,"high":13323.0,"vol":91246,"low":13242.3,"count":294,"id":1603951200,"close":13255.0,"tradeTurnover":1211271.2788,"open":13274.8},{"amount":187.622,"high":13269.3,"vol":187622,"low":13123.1,"count":506,"id":1603954800,"close":13142.4,"tradeTurnover":2478299.7074,"open":13255.0},{"amount":69.532,"high":13182.4,"vol":69532,"low":13094.1,"count":226,"id":1603958400,"close":13124.8,"tradeTurnover":914157.2418,"open":13145.9},{"amount":23.184,"high":13197.1,"vol":23184,"low":13129.5,"count":141,"id":1603962000,"close":13183.7,"tradeTurnover":305485.9524,"open":13129.5},{"amount":121.146,"high":13187.5,"vol":121146,"low":13053.1,"count":442,"id":1603965600,"close":13105.2,"tradeTurnover":1590026.4416,"open":13184.8},{"amount":47.498,"high":13171.4,"vol":47498,"low":13060.1,"count":262,"id":1603969200,"close":13060.1,"tradeTurnover":623578.149,"open":13105.1},{"amount":126.552,"high":13145.8,"vol":126552,"low":12977.9,"count":481,"id":1603972800,"close":13131.8,"tradeTurnover":1652549.311,"open":13056.9},{"amount":100.482,"high":13237.2,"vol":100482,"low":13102.0,"count":325,"id":1603976400,"close":13230.0,"tradeTurnover":1326403.7206,"open":13131.7},{"amount":253.258,"high":13476.1,"vol":253258,"low":13231.0,"count":752,"id":1603980000,"close":13420.8,"tradeTurnover":3384941.438,"open":13231.0},{"amount":64.71,"high":13458.7,"vol":64710,"low":13358.7,"count":269,"id":1603983600,"close":13420.6,"tradeTurnover":869052.3804,"open":13416.0},{"amount":120.24,"high":13594.5,"vol":120240,"low":13391.8,"count":570,"id":1603987200,"close":13535.9,"tradeTurnover":1626567.8278,"open":13421.9}],"id":"","rep":"market.BTC-USDT.kline.60min","status":"ok"} +2024-01-18 11:13:12.995 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:39] - 请求 KLine 数据用户收到的原始数据:{"id":"","rep":"market.BTC-USDT.kline.60min","ts":1705547591905,"wsid":19750305,"status":"ok","data":[{"id":1603270800,"open":12198.0,"close":12196.7,"high":12300.0,"low":11715.8,"amount":0.276,"vol":276,"trade_turnover":3315.9104,"count":39},{"id":1603274400,"open":12196.7,"close":12277.9,"high":12289.9,"low":12111.0,"amount":0.198,"vol":198,"trade_turnover":2420.7728,"count":21},{"id":1603278000,"open":12111.0,"close":12000.0,"high":12277.9,"low":12000.0,"amount":0.012,"vol":12,"trade_turnover":145.2238,"count":5},{"id":1603281600,"open":12078.0,"close":12497.4,"high":12498.0,"low":12078.0,"amount":0.084,"vol":84,"trade_turnover":1040.0504,"count":12},{"id":1603285200,"open":12495.6,"close":12373.5,"high":12495.6,"low":12282.9,"amount":1.122,"vol":1122,"trade_turnover":13905.3124,"count":112},{"id":1603288800,"open":12412.9,"close":12689.9,"high":12807.6,"low":12358.1,"amount":5.29,"vol":5290,"trade_turnover":66852.128,"count":155},{"id":1603292400,"open":12692.8,"close":12701.9,"high":12778.7,"low":12573.2,"amount":1.174,"vol":1174,"trade_turnover":14907.367,"count":113},{"id":1603296000,"open":12679.7,"close":12835.9,"high":12920.9,"low":12624.8,"amount":1.156,"vol":1156,"trade_turnover":14802.449,"count":115},{"id":1603299600,"open":12848.3,"close":12754.2,"high":12908.3,"low":12687.5,"amount":1.12,"vol":1120,"trade_turnover":14345.7324,"count":115},{"id":1603303200,"open":12743.7,"close":12740.2,"high":12849.0,"low":12668.3,"amount":1.106,"vol":1106,"trade_turnover":14105.3504,"count":114},{"id":1603306800,"open":12729.5,"close":12650.3,"high":12843.1,"low":12597.2,"amount":1.032,"vol":1032,"trade_turnover":13125.4568,"count":112},{"id":1603310400,"open":12666.8,"close":12807.0,"high":12848.4,"low":12610.2,"amount":1.154,"vol":1154,"trade_turnover":14680.638,"count":116},{"id":1603314000,"open":12866.0,"close":12938.9,"high":13005.1,"low":12748.2,"amount":1.164,"vol":1164,"trade_turnover":14976.9366,"count":114},{"id":1603317600,"open":12921.0,"close":13122.0,"high":13211.2,"low":12865.7,"amount":1.174,"vol":1174,"trade_turnover":15285.2446,"count":114},{"id":1603321200,"open":13153.2,"close":12829.8,"high":13173.2,"low":12688.6,"amount":1.172,"vol":1172,"trade_turnover":15060.9938,"count":117},{"id":1603324800,"open":12793.1,"close":12885.9,"high":12988.1,"low":12764.4,"amount":1.17,"vol":1170,"trade_turnover":15046.2046,"count":117},{"id":1603328400,"open":12860.4,"close":12757.5,"high":12972.6,"low":12757.5,"amount":1.158,"vol":1158,"trade_turnover":14882.4656,"count":118},{"id":1603332000,"open":12824.1,"close":12788.8,"high":12848.0,"low":12729.0,"amount":1.124,"vol":1124,"trade_turnover":14368.7948,"count":115},{"id":1603335600,"open":12791.7,"close":12767.2,"high":12834.4,"low":12729.0,"amount":1.194,"vol":1194,"trade_turnover":15268.9298,"count":111},{"id":1603339200,"open":12729.0,"close":12762.2,"high":12778.3,"low":12729.0,"amount":1.152,"vol":1152,"trade_turnover":14695.4876,"count":115},{"id":1603342800,"open":12763.1,"close":12813.8,"high":12842.0,"low":12730.6,"amount":1.21,"vol":1210,"trade_turnover":15440.8162,"count":119},{"id":1603346400,"open":12795.0,"close":12729.1,"high":12795.0,"low":12728.0,"amount":1.188,"vol":1188,"trade_turnover":15128.0098,"count":123},{"id":1603350000,"open":12728.6,"close":12730.6,"high":12730.6,"low":12728.3,"amount":1.266,"vol":1266,"trade_turnover":16115.1306,"count":112},{"id":1603353600,"open":12730.3,"close":12770.1,"high":12921.5,"low":12729.9,"amount":1.35,"vol":1350,"trade_turnover":17233.7326,"count":127},{"id":1603357200,"open":12824.9,"close":12780.4,"high":12872.1,"low":12760.1,"amount":0.98,"vol":980,"trade_turnover":12553.9826,"count":99},{"id":1603360800,"open":12784.9,"close":12934.2,"high":13002.7,"low":12775.6,"amount":0.266,"vol":266,"trade_turnover":3415.023,"count":30},{"id":1603364400,"open":12977.0,"close":13045.0,"high":13057.0,"low":12886.6,"amount":1.004,"vol":1004,"trade_turnover":13020.8576,"count":117},{"id":1603368000,"open":12958.5,"close":12847.9,"high":12973.4,"low":12751.6,"amount":1.134,"vol":1134,"trade_turnover":14594.2752,"count":111},{"id":1603371600,"open":12882.7,"close":12931.0,"high":13000.8,"low":12743.0,"amount":1.152,"vol":1152,"trade_turnover":14877.7314,"count":114},{"id":1603375200,"open":12890.4,"close":12917.8,"high":12995.3,"low":12783.9,"amount":1.182,"vol":1182,"trade_turnover":15224.4716,"count":115},{"id":1603378800,"open":12918.8,"close":12953.0,"high":13031.2,"low":12817.9,"amount":1.176,"vol":1176,"trade_turnover":15197.208,"count":117},{"id":1603382400,"open":12923.1,"close":13055.6,"high":13100.2,"low":12865.6,"amount":1.146,"vol":1146,"trade_turnover":14851.9604,"count":119},{"id":1603386000,"open":12967.6,"close":13082.7,"high":13105.7,"low":12835.5,"amount":1.534,"vol":1534,"trade_turnover":19927.8288,"count":124},{"id":1603389600,"open":13020.4,"close":13016.4,"high":13115.0,"low":12938.7,"amount":1.268,"vol":1268,"trade_turnover":16505.4738,"count":117},{"id":1603393200,"open":13028.3,"close":12970.6,"high":13171.2,"low":12961.8,"amount":1.13,"vol":1130,"trade_turnover":14762.952,"count":112},{"id":1603396800,"open":13016.7,"close":13089.3,"high":13216.1,"low":12998.5,"amount":1.206,"vol":1206,"trade_turnover":15807.1226,"count":117},{"id":1603400400,"open":13136.0,"close":13092.0,"high":13203.7,"low":12932.9,"amount":1.332,"vol":1332,"trade_turnover":17423.4422,"count":114},{"id":1603404000,"open":13119.4,"close":13055.9,"high":13250.5,"low":12984.7,"amount":1.21,"vol":1210,"trade_turnover":15876.0632,"count":114},{"id":1603407600,"open":13059.4,"close":12890.4,"high":13126.5,"low":12857.2,"amount":1.286,"vol":1286,"trade_turnover":16688.422,"count":116},{"id":1603411200,"open":12929.7,"close":12892.2,"high":12994.0,"low":12751.6,"amount":1.502,"vol":1502,"trade_turnover":19331.1596,"count":131},{"id":1603414800,"open":12921.7,"close":12898.3,"high":13003.2,"low":12786.0,"amount":1.386,"vol":1386,"trade_turnover":17904.8902,"count":121},{"id":1603418400,"open":12951.6,"close":12975.1,"high":13054.0,"low":12800.7,"amount":1.416,"vol":1416,"trade_turnover":18306.6204,"count":122},{"id":1603422000,"open":12967.3,"close":12947.0,"high":13030.7,"low":12875.0,"amount":1.19,"vol":1190,"trade_turnover":15409.7984,"count":118},{"id":1603425600,"open":12925.2,"close":12852.0,"high":13047.3,"low":12832.8,"amount":1.022,"vol":1022,"trade_turnover":13214.4388,"count":127},{"id":1603429200,"open":12859.0,"close":12931.1,"high":12991.7,"low":12841.2,"amount":0.478,"vol":478,"trade_turnover":6180.2486,"count":118},{"id":1603432800,"open":12935.9,"close":12939.6,"high":13014.1,"low":12871.9,"amount":0.522,"vol":522,"trade_turnover":6759.0324,"count":132},{"id":1603436400,"open":12923.1,"close":12925.4,"high":12998.9,"low":12917.1,"amount":0.476,"vol":476,"trade_turnover":6163.3118,"count":118},{"id":1603440000,"open":12942.2,"close":12962.6,"high":13014.0,"low":12916.1,"amount":0.508,"vol":508,"trade_turnover":6585.3656,"count":122},{"id":1603443600,"open":12970.5,"close":12926.4,"high":13012.5,"low":12909.9,"amount":0.564,"vol":564,"trade_turnover":7308.8828,"count":124},{"id":1603447200,"open":13001.2,"close":13007.7,"high":13059.5,"low":12925.7,"amount":0.536,"vol":536,"trade_turnover":6957.8796,"count":124},{"id":1603450800,"open":13025.4,"close":12970.6,"high":13078.4,"low":12906.5,"amount":0.486,"vol":486,"trade_turnover":6326.1434,"count":122},{"id":1603454400,"open":12963.9,"close":12935.4,"high":13025.0,"low":12850.8,"amount":0.494,"vol":494,"trade_turnover":6396.0984,"count":117},{"id":1603458000,"open":12913.3,"close":12951.7,"high":13043.3,"low":12911.0,"amount":0.466,"vol":466,"trade_turnover":6049.1412,"count":117},{"id":1603461600,"open":12999.6,"close":12858.8,"high":13006.4,"low":12840.4,"amount":0.46,"vol":460,"trade_turnover":5941.815,"count":116},{"id":1603465200,"open":12885.7,"close":12881.9,"high":12932.9,"low":12826.5,"amount":0.492,"vol":492,"trade_turnover":6340.214,"count":117},{"id":1603468800,"open":12854.4,"close":12784.1,"high":12933.5,"low":12744.4,"amount":0.484,"vol":484,"trade_turnover":6205.4138,"count":123},{"id":1603472400,"open":12832.3,"close":12847.7,"high":12893.1,"low":12730.1,"amount":0.562,"vol":562,"trade_turnover":7218.9184,"count":152},{"id":1603476000,"open":12874.1,"close":12915.7,"high":12939.3,"low":12751.4,"amount":0.53,"vol":530,"trade_turnover":6825.7004,"count":128},{"id":1603479600,"open":12867.9,"close":12972.9,"high":12972.9,"low":12786.6,"amount":0.444,"vol":444,"trade_turnover":5727.7452,"count":117},{"id":1603483200,"open":12956.7,"close":12991.6,"high":13002.2,"low":12842.9,"amount":0.492,"vol":492,"trade_turnover":6375.1566,"count":116},{"id":1603486800,"open":13004.3,"close":12943.5,"high":13004.3,"low":12936.6,"amount":0.5,"vol":500,"trade_turnover":6485.468,"count":125},{"id":1603490400,"open":12923.6,"close":12989.2,"high":13010.3,"low":12884.7,"amount":0.492,"vol":492,"trade_turnover":6376.1492,"count":120},{"id":1603494000,"open":12974.9,"close":12884.6,"high":13024.4,"low":12884.6,"amount":0.51,"vol":510,"trade_turnover":6622.3406,"count":121},{"id":1603497600,"open":12973.7,"close":12953.9,"high":13018.3,"low":12811.1,"amount":0.488,"vol":488,"trade_turnover":6317.7938,"count":120},{"id":1603501200,"open":12927.5,"close":12934.2,"high":13018.1,"low":12872.8,"amount":0.482,"vol":482,"trade_turnover":6242.4178,"count":117},{"id":1603504800,"open":12971.9,"close":12989.1,"high":13003.9,"low":12903.3,"amount":0.484,"vol":484,"trade_turnover":6278.1756,"count":117},{"id":1603508400,"open":13000.1,"close":12975.9,"high":13013.4,"low":12938.3,"amount":0.474,"vol":474,"trade_turnover":6157.7096,"count":122},{"id":1603512000,"open":12989.7,"close":12963.3,"high":13009.4,"low":12905.5,"amount":0.526,"vol":526,"trade_turnover":6831.5658,"count":124},{"id":1603515600,"open":12910.5,"close":12989.7,"high":13041.8,"low":12875.3,"amount":0.522,"vol":522,"trade_turnover":6768.8994,"count":127},{"id":1603519200,"open":12994.7,"close":13003.6,"high":13058.1,"low":12908.8,"amount":0.49,"vol":490,"trade_turnover":6370.5714,"count":120},{"id":1603522800,"open":13011.9,"close":13004.2,"high":13037.8,"low":12981.7,"amount":0.478,"vol":478,"trade_turnover":6218.9722,"count":120},{"id":1603526400,"open":13003.0,"close":12998.2,"high":13030.6,"low":12899.4,"amount":0.52,"vol":520,"trade_turnover":6754.958,"count":124},{"id":1603530000,"open":12998.2,"close":12990.6,"high":13020.3,"low":12893.6,"amount":0.454,"vol":454,"trade_turnover":5891.0574,"count":115},{"id":1603533600,"open":12996.4,"close":13030.1,"high":13059.1,"low":12913.2,"amount":0.502,"vol":502,"trade_turnover":6525.9004,"count":124},{"id":1603537200,"open":12988.4,"close":13033.2,"high":13068.3,"low":12940.2,"amount":0.468,"vol":468,"trade_turnover":6091.0376,"count":119},{"id":1603540800,"open":13035.3,"close":13006.5,"high":13071.8,"low":12978.9,"amount":0.468,"vol":468,"trade_turnover":6102.5902,"count":123},{"id":1603544400,"open":13038.8,"close":12985.9,"high":13066.7,"low":12928.1,"amount":0.534,"vol":534,"trade_turnover":6950.4268,"count":123},{"id":1603548000,"open":12986.3,"close":13042.0,"high":13100.1,"low":12960.5,"amount":0.47,"vol":470,"trade_turnover":6124.2178,"count":100},{"id":1603551600,"open":13038.4,"close":13102.2,"high":13196.5,"low":13038.4,"amount":0.456,"vol":456,"trade_turnover":5989.6362,"count":120},{"id":1603555200,"open":13136.8,"close":13052.7,"high":13176.6,"low":12984.6,"amount":0.458,"vol":458,"trade_turnover":5976.331,"count":121},{"id":1603558800,"open":13006.2,"close":13177.8,"high":13177.8,"low":13003.2,"amount":0.452,"vol":452,"trade_turnover":5911.7058,"count":118},{"id":1603562400,"open":13127.7,"close":13080.8,"high":13170.7,"low":13023.0,"amount":0.468,"vol":468,"trade_turnover":6122.375,"count":119},{"id":1603566000,"open":13040.7,"close":13148.4,"high":13179.3,"low":13014.2,"amount":0.468,"vol":468,"trade_turnover":6126.4278,"count":120},{"id":1603569600,"open":13073.5,"close":13090.1,"high":13179.6,"low":12992.5,"amount":0.47,"vol":470,"trade_turnover":6151.4758,"count":119},{"id":1603573200,"open":13035.4,"close":12993.9,"high":13148.7,"low":12980.7,"amount":0.458,"vol":458,"trade_turnover":5981.071,"count":117},{"id":1603576800,"open":13040.7,"close":13041.1,"high":13112.1,"low":12975.6,"amount":0.478,"vol":478,"trade_turnover":6225.4216,"count":118},{"id":1603580400,"open":13012.6,"close":13184.3,"high":13184.3,"low":13009.3,"amount":0.472,"vol":472,"trade_turnover":6173.4244,"count":118},{"id":1603584000,"open":13080.8,"close":13154.3,"high":13170.4,"low":13007.7,"amount":0.46,"vol":460,"trade_turnover":6024.09,"count":115},{"id":1603587600,"open":13092.0,"close":13196.1,"high":13196.8,"low":13024.0,"amount":0.398,"vol":398,"trade_turnover":5217.5364,"count":102},{"id":1603591200,"open":13124.7,"close":13082.4,"high":13175.1,"low":13035.0,"amount":0.476,"vol":476,"trade_turnover":6228.6596,"count":120},{"id":1603594800,"open":13049.1,"close":13259.0,"high":13383.8,"low":13049.1,"amount":0.578,"vol":578,"trade_turnover":7629.3886,"count":137},{"id":1603598400,"open":13277.0,"close":13243.4,"high":13369.0,"low":13216.0,"amount":0.47,"vol":470,"trade_turnover":6247.955,"count":122},{"id":1603602000,"open":13285.3,"close":13017.3,"high":13353.3,"low":13010.1,"amount":0.61,"vol":610,"trade_turnover":8048.8598,"count":134},{"id":1603605600,"open":13022.5,"close":13060.3,"high":13105.7,"low":13018.2,"amount":0.486,"vol":486,"trade_turnover":6344.1474,"count":118},{"id":1603609200,"open":13048.5,"close":13078.1,"high":13112.1,"low":13022.0,"amount":0.464,"vol":464,"trade_turnover":6061.5416,"count":120},{"id":1603612800,"open":13077.2,"close":13046.0,"high":13091.0,"low":13017.2,"amount":0.464,"vol":464,"trade_turnover":6055.3734,"count":120},{"id":1603616400,"open":13065.1,"close":13040.8,"high":13084.0,"low":13014.2,"amount":0.478,"vol":478,"trade_turnover":6235.7882,"count":117},{"id":1603620000,"open":13047.1,"close":13028.5,"high":13064.2,"low":13010.2,"amount":0.478,"vol":478,"trade_turnover":6232.2428,"count":125},{"id":1603623600,"open":13061.5,"close":12897.6,"high":13061.5,"low":12852.9,"amount":0.534,"vol":534,"trade_turnover":6918.1226,"count":123},{"id":1603627200,"open":12908.3,"close":12964.3,"high":13069.7,"low":12893.2,"amount":0.444,"vol":444,"trade_turnover":5755.8712,"count":117},{"id":1603630800,"open":13001.3,"close":12949.3,"high":13071.9,"low":12891.8,"amount":0.498,"vol":498,"trade_turnover":6465.078,"count":119},{"id":1603634400,"open":12975.8,"close":12946.8,"high":13077.7,"low":12900.0,"amount":0.468,"vol":468,"trade_turnover":6075.4554,"count":116},{"id":1603638000,"open":12975.2,"close":12883.3,"high":13069.1,"low":12883.3,"amount":0.47,"vol":470,"trade_turnover":6097.1072,"count":119},{"id":1603641600,"open":12916.2,"close":12978.7,"high":13067.9,"low":12877.5,"amount":0.482,"vol":482,"trade_turnover":6256.4472,"count":118},{"id":1603645200,"open":13008.0,"close":13004.4,"high":13087.5,"low":12922.7,"amount":0.47,"vol":470,"trade_turnover":6108.3892,"count":117},{"id":1603648800,"open":12972.8,"close":12957.2,"high":13067.6,"low":12893.6,"amount":0.468,"vol":468,"trade_turnover":6079.1484,"count":118},{"id":1603652400,"open":12996.5,"close":13021.8,"high":13066.9,"low":12916.6,"amount":0.442,"vol":442,"trade_turnover":5746.5548,"count":118},{"id":1603656000,"open":12992.9,"close":12985.4,"high":13081.5,"low":12944.9,"amount":0.508,"vol":508,"trade_turnover":6616.9872,"count":120},{"id":1603659600,"open":12999.9,"close":13011.2,"high":13068.6,"low":12921.4,"amount":0.508,"vol":508,"trade_turnover":6614.816,"count":122},{"id":1603663200,"open":12979.6,"close":12959.4,"high":13073.8,"low":12911.9,"amount":0.486,"vol":486,"trade_turnover":6320.907,"count":121},{"id":1603666800,"open":12963.4,"close":13032.1,"high":13085.2,"low":12927.8,"amount":0.452,"vol":452,"trade_turnover":5878.6442,"count":113},{"id":1603670400,"open":12964.2,"close":13001.0,"high":13076.7,"low":12918.3,"amount":0.482,"vol":482,"trade_turnover":6263.698,"count":121},{"id":1603674000,"open":13040.0,"close":13053.7,"high":13096.4,"low":12991.2,"amount":0.478,"vol":478,"trade_turnover":6232.2328,"count":124},{"id":1603677600,"open":13060.6,"close":13064.4,"high":13185.7,"low":12985.1,"amount":0.488,"vol":488,"trade_turnover":6387.534,"count":121},{"id":1603681200,"open":13032.3,"close":13092.8,"high":13187.2,"low":12984.1,"amount":0.486,"vol":486,"trade_turnover":6369.0272,"count":135},{"id":1603684800,"open":13092.0,"close":13132.6,"high":13181.6,"low":12962.3,"amount":0.51,"vol":510,"trade_turnover":6679.829,"count":131},{"id":1603688400,"open":13129.2,"close":13092.1,"high":13205.3,"low":13025.3,"amount":0.506,"vol":506,"trade_turnover":6641.2128,"count":126},{"id":1603692000,"open":13121.8,"close":13071.4,"high":13188.1,"low":12989.8,"amount":1.616,"vol":1616,"trade_turnover":21170.8224,"count":141},{"id":1603695600,"open":13061.0,"close":13038.7,"high":13100.0,"low":12965.2,"amount":3.746,"vol":3746,"trade_turnover":48924.8902,"count":110},{"id":1603699200,"open":13030.9,"close":13039.3,"high":13102.0,"low":12852.8,"amount":8.966,"vol":8966,"trade_turnover":116525.5534,"count":173},{"id":1603702800,"open":13047.1,"close":13075.9,"high":13088.4,"low":13039.8,"amount":4.48,"vol":4480,"trade_turnover":58521.1714,"count":124},{"id":1603706400,"open":13072.1,"close":13100.0,"high":13100.0,"low":13060.2,"amount":4.272,"vol":4272,"trade_turnover":55895.9778,"count":130},{"id":1603710000,"open":13100.0,"close":13138.4,"high":13159.0,"low":13100.0,"amount":29.798,"vol":29798,"trade_turnover":391138.024,"count":230},{"id":1603713600,"open":13138.8,"close":13149.8,"high":13200.0,"low":13100.0,"amount":5.154,"vol":5154,"trade_turnover":67694.652,"count":188},{"id":1603717200,"open":13150.0,"close":13205.8,"high":13351.5,"low":13133.1,"amount":35.608,"vol":35608,"trade_turnover":472780.3394,"count":328},{"id":1603720800,"open":13203.0,"close":13166.1,"high":13280.0,"low":13144.1,"amount":31.748,"vol":31748,"trade_turnover":418744.5588,"count":235},{"id":1603724400,"open":13159.0,"close":12978.0,"high":13165.2,"low":12903.8,"amount":36.53,"vol":36530,"trade_turnover":476940.3296,"count":384},{"id":1603728000,"open":12965.0,"close":12869.6,"high":13069.8,"low":12850.5,"amount":35.018,"vol":35018,"trade_turnover":453288.918,"count":323},{"id":1603731600,"open":12879.2,"close":12873.8,"high":12941.5,"low":12583.9,"amount":92.628,"vol":92628,"trade_turnover":1185973.467,"count":560},{"id":1603735200,"open":12856.2,"close":12946.8,"high":12954.5,"low":12820.4,"amount":4.302,"vol":4302,"trade_turnover":55481.0054,"count":128},{"id":1603738800,"open":12945.6,"close":12953.4,"high":12953.5,"low":12914.1,"amount":13.83,"vol":13830,"trade_turnover":179112.1598,"count":118},{"id":1603742400,"open":12953.5,"close":12983.4,"high":13007.5,"low":12953.5,"amount":17.172,"vol":17172,"trade_turnover":223230.2122,"count":132},{"id":1603746000,"open":12983.1,"close":12993.8,"high":13007.5,"low":12982.7,"amount":3.212,"vol":3212,"trade_turnover":41767.8906,"count":59},{"id":1603749600,"open":13002.1,"close":13007.5,"high":13007.5,"low":12974.0,"amount":1.504,"vol":1504,"trade_turnover":19543.3568,"count":74},{"id":1603753200,"open":13007.5,"close":13033.7,"high":13061.2,"low":13007.5,"amount":3.454,"vol":3454,"trade_turnover":45001.601,"count":101},{"id":1603756800,"open":13029.2,"close":13067.1,"high":13105.0,"low":13028.3,"amount":8.784,"vol":8784,"trade_turnover":114871.8246,"count":98},{"id":1603760400,"open":13074.3,"close":13061.7,"high":13074.4,"low":13051.5,"amount":11.592,"vol":11592,"trade_turnover":151386.9038,"count":66},{"id":1603764000,"open":13061.7,"close":13049.7,"high":13097.6,"low":13040.1,"amount":19.298,"vol":19298,"trade_turnover":252061.019,"count":109},{"id":1603767600,"open":13057.6,"close":13070.4,"high":13080.0,"low":13057.1,"amount":22.992,"vol":22992,"trade_turnover":300453.9788,"count":69},{"id":1603771200,"open":13080.0,"close":13103.3,"high":13175.0,"low":13079.6,"amount":14.396,"vol":14396,"trade_turnover":188461.9156,"count":59},{"id":1603774800,"open":13121.3,"close":13073.6,"high":13121.3,"low":13069.7,"amount":5.058,"vol":5058,"trade_turnover":66201.3552,"count":44},{"id":1603778400,"open":13074.9,"close":13103.4,"high":13149.0,"low":13069.6,"amount":9.106,"vol":9106,"trade_turnover":119104.8906,"count":107},{"id":1603782000,"open":13103.3,"close":13130.0,"high":13169.8,"low":12992.4,"amount":73.95,"vol":73950,"trade_turnover":968195.155,"count":305},{"id":1603785600,"open":13135.1,"close":13123.8,"high":13148.4,"low":13044.0,"amount":18.732,"vol":18732,"trade_turnover":245533.5448,"count":135},{"id":1603789200,"open":13115.5,"close":13131.7,"high":13131.8,"low":13075.7,"amount":13.756,"vol":13756,"trade_turnover":180253.7708,"count":102},{"id":1603792800,"open":13134.8,"close":13216.9,"high":13252.0,"low":13063.4,"amount":154.108,"vol":154108,"trade_turnover":2029983.656,"count":525},{"id":1603796400,"open":13218.8,"close":13395.8,"high":13590.1,"low":13213.5,"amount":170.09,"vol":170090,"trade_turnover":2276279.742,"count":591},{"id":1603800000,"open":13395.9,"close":13376.9,"high":13414.0,"low":13331.7,"amount":48.928,"vol":48928,"trade_turnover":654585.9108,"count":216},{"id":1603803600,"open":13376.5,"close":13384.3,"high":13490.9,"low":13329.8,"amount":63.294,"vol":63294,"trade_turnover":848130.9212,"count":316},{"id":1603807200,"open":13392.6,"close":13398.2,"high":13415.8,"low":13344.8,"amount":12.892,"vol":12892,"trade_turnover":172618.6864,"count":124},{"id":1603810800,"open":13398.2,"close":13598.5,"high":13626.7,"low":13398.2,"amount":93.22,"vol":93220,"trade_turnover":1262695.5466,"count":476},{"id":1603814400,"open":13595.8,"close":13639.9,"high":13639.9,"low":13520.2,"amount":85.45,"vol":85450,"trade_turnover":1161481.4136,"count":435},{"id":1603818000,"open":13640.0,"close":13688.1,"high":13826.7,"low":13589.0,"amount":191.812,"vol":191812,"trade_turnover":2628428.3788,"count":711},{"id":1603821600,"open":13685.0,"close":13630.1,"high":13745.0,"low":13528.2,"amount":65.434,"vol":65434,"trade_turnover":891541.8394,"count":410},{"id":1603825200,"open":13629.4,"close":13637.1,"high":13659.8,"low":13595.4,"amount":5.788,"vol":5788,"trade_turnover":78836.2578,"count":65},{"id":1603828800,"open":13644.4,"close":13616.6,"high":13805.1,"low":13582.6,"amount":163.104,"vol":163104,"trade_turnover":2234040.3544,"count":537},{"id":1603832400,"open":13609.8,"close":13705.5,"high":13753.5,"low":13609.8,"amount":9.884,"vol":9884,"trade_turnover":135406.4752,"count":101},{"id":1603836000,"open":13705.4,"close":13739.9,"high":13739.9,"low":13658.2,"amount":7.436,"vol":7436,"trade_turnover":101840.3508,"count":100},{"id":1603839600,"open":13739.9,"close":13649.6,"high":13794.6,"low":13582.6,"amount":17.086,"vol":17086,"trade_turnover":233971.8448,"count":234},{"id":1603843200,"open":13645.9,"close":13701.7,"high":13745.2,"low":13618.8,"amount":24.108,"vol":24108,"trade_turnover":330206.5694,"count":177},{"id":1603846800,"open":13702.1,"close":13702.6,"high":13725.6,"low":13647.9,"amount":15.892,"vol":15892,"trade_turnover":217816.7008,"count":151},{"id":1603850400,"open":13701.7,"close":13811.6,"high":13832.2,"low":13680.2,"amount":46.548,"vol":46548,"trade_turnover":640636.0352,"count":274},{"id":1603854000,"open":13818.5,"close":13777.0,"high":13820.3,"low":13717.5,"amount":67.896,"vol":67896,"trade_turnover":935838.2238,"count":320},{"id":1603857600,"open":13767.3,"close":13735.7,"high":13807.2,"low":13710.0,"amount":33.156,"vol":33156,"trade_turnover":455941.234,"count":210},{"id":1603861200,"open":13735.5,"close":13715.8,"high":13753.9,"low":13671.3,"amount":32.076,"vol":32076,"trade_turnover":439612.64,"count":198},{"id":1603864800,"open":13715.9,"close":13701.3,"high":13757.0,"low":13694.9,"amount":14.756,"vol":14756,"trade_turnover":202602.5164,"count":122},{"id":1603868400,"open":13701.2,"close":13674.2,"high":13708.7,"low":13550.0,"amount":155.534,"vol":155534,"trade_turnover":2117935.0928,"count":635},{"id":1603872000,"open":13673.0,"close":13691.7,"high":13691.7,"low":13584.0,"amount":29.846,"vol":29846,"trade_turnover":407073.1398,"count":240},{"id":1603875600,"open":13689.3,"close":13587.1,"high":13707.5,"low":13573.5,"amount":104.542,"vol":104542,"trade_turnover":1425079.9344,"count":377},{"id":1603879200,"open":13584.6,"close":13552.7,"high":13618.0,"low":13504.7,"amount":73.818,"vol":73818,"trade_turnover":1001666.0908,"count":358},{"id":1603882800,"open":13552.6,"close":13336.4,"high":13565.4,"low":13330.0,"amount":176.544,"vol":176544,"trade_turnover":2369166.1492,"count":1004},{"id":1603886400,"open":13331.5,"close":13300.3,"high":13385.0,"low":13173.9,"amount":289.73,"vol":289730,"trade_turnover":3846751.7166,"count":968},{"id":1603890000,"open":13300.2,"close":13129.9,"high":13340.0,"low":13122.9,"amount":139.822,"vol":139822,"trade_turnover":1848876.932,"count":612},{"id":1603893600,"open":13123.4,"close":13082.2,"high":13168.2,"low":12915.9,"amount":367.876,"vol":367876,"trade_turnover":4802516.9818,"count":1168},{"id":1603897200,"open":13077.1,"close":13221.2,"high":13235.2,"low":13052.3,"amount":84.044,"vol":84044,"trade_turnover":1106883.1282,"count":375},{"id":1603900800,"open":13218.7,"close":13145.1,"high":13218.7,"low":13050.0,"amount":29.566,"vol":29566,"trade_turnover":388697.4104,"count":244},{"id":1603904400,"open":13145.1,"close":13176.7,"high":13204.9,"low":13006.6,"amount":53.336,"vol":53336,"trade_turnover":700385.2784,"count":299},{"id":1603908000,"open":13171.0,"close":13196.5,"high":13219.6,"low":13131.0,"amount":34.164,"vol":34164,"trade_turnover":450210.5778,"count":218},{"id":1603911600,"open":13200.0,"close":13154.9,"high":13237.4,"low":13145.0,"amount":22.158,"vol":22158,"trade_turnover":292020.0438,"count":185},{"id":1603915200,"open":13154.5,"close":13198.1,"high":13211.8,"low":13147.4,"amount":4.548,"vol":4548,"trade_turnover":59991.1118,"count":75},{"id":1603918800,"open":13193.5,"close":13190.1,"high":13196.5,"low":13100.2,"amount":3.52,"vol":3520,"trade_turnover":46175.428,"count":68},{"id":1603922400,"open":13185.4,"close":13252.0,"high":13267.5,"low":13185.4,"amount":3.122,"vol":3122,"trade_turnover":41304.2018,"count":72},{"id":1603926000,"open":13242.1,"close":13265.9,"high":13282.3,"low":13235.9,"amount":14.768,"vol":14768,"trade_turnover":195689.0764,"count":86},{"id":1603929600,"open":13253.9,"close":13245.1,"high":13294.7,"low":13237.4,"amount":19.968,"vol":19968,"trade_turnover":264834.1944,"count":98},{"id":1603933200,"open":13244.6,"close":13274.2,"high":13285.3,"low":13166.3,"amount":35.282,"vol":35282,"trade_turnover":465789.6302,"count":192},{"id":1603936800,"open":13275.9,"close":13241.1,"high":13277.7,"low":13212.2,"amount":9.748,"vol":9748,"trade_turnover":129016.0684,"count":119},{"id":1603940400,"open":13237.1,"close":13262.5,"high":13262.5,"low":13174.6,"amount":27.3,"vol":27300,"trade_turnover":360589.8982,"count":199},{"id":1603944000,"open":13269.1,"close":13229.5,"high":13277.7,"low":13229.5,"amount":18.904,"vol":18904,"trade_turnover":250713.2812,"count":109},{"id":1603947600,"open":13228.5,"close":13274.8,"high":13274.8,"low":13228.5,"amount":15.822,"vol":15822,"trade_turnover":209781.909,"count":134},{"id":1603951200,"open":13274.8,"close":13255.0,"high":13323.0,"low":13242.3,"amount":91.246,"vol":91246,"trade_turnover":1211271.2788,"count":294},{"id":1603954800,"open":13255.0,"close":13142.4,"high":13269.3,"low":13123.1,"amount":187.622,"vol":187622,"trade_turnover":2478299.7074,"count":506},{"id":1603958400,"open":13145.9,"close":13124.8,"high":13182.4,"low":13094.1,"amount":69.532,"vol":69532,"trade_turnover":914157.2418,"count":226},{"id":1603962000,"open":13129.5,"close":13183.7,"high":13197.1,"low":13129.5,"amount":23.184,"vol":23184,"trade_turnover":305485.9524,"count":141},{"id":1603965600,"open":13184.8,"close":13105.2,"high":13187.5,"low":13053.1,"amount":121.146,"vol":121146,"trade_turnover":1590026.4416,"count":442},{"id":1603969200,"open":13105.1,"close":13060.1,"high":13171.4,"low":13060.1,"amount":47.498,"vol":47498,"trade_turnover":623578.149,"count":262},{"id":1603972800,"open":13056.9,"close":13131.8,"high":13145.8,"low":12977.9,"amount":126.552,"vol":126552,"trade_turnover":1652549.311,"count":481},{"id":1603976400,"open":13131.7,"close":13230.0,"high":13237.2,"low":13102.0,"amount":100.482,"vol":100482,"trade_turnover":1326403.7206,"count":325},{"id":1603980000,"open":13231.0,"close":13420.8,"high":13476.1,"low":13231.0,"amount":253.258,"vol":253258,"trade_turnover":3384941.438,"count":752},{"id":1603983600,"open":13416.0,"close":13420.6,"high":13458.7,"low":13358.7,"amount":64.71,"vol":64710,"trade_turnover":869052.3804,"count":269},{"id":1603987200,"open":13421.9,"close":13535.9,"high":13594.5,"low":13391.8,"amount":120.24,"vol":120240,"trade_turnover":1626567.8278,"count":570}]} +2024-01-18 11:13:12.997 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:41] - 请求 KLine 数据解析之后的数据为:{"wsid":19750305,"data":[{"amount":0.276,"high":12300.0,"vol":276,"low":11715.8,"count":39,"id":1603270800,"close":12196.7,"tradeTurnover":3315.9104,"open":12198.0},{"amount":0.198,"high":12289.9,"vol":198,"low":12111.0,"count":21,"id":1603274400,"close":12277.9,"tradeTurnover":2420.7728,"open":12196.7},{"amount":0.012,"high":12277.9,"vol":12,"low":12000.0,"count":5,"id":1603278000,"close":12000.0,"tradeTurnover":145.2238,"open":12111.0},{"amount":0.084,"high":12498.0,"vol":84,"low":12078.0,"count":12,"id":1603281600,"close":12497.4,"tradeTurnover":1040.0504,"open":12078.0},{"amount":1.122,"high":12495.6,"vol":1122,"low":12282.9,"count":112,"id":1603285200,"close":12373.5,"tradeTurnover":13905.3124,"open":12495.6},{"amount":5.29,"high":12807.6,"vol":5290,"low":12358.1,"count":155,"id":1603288800,"close":12689.9,"tradeTurnover":66852.128,"open":12412.9},{"amount":1.174,"high":12778.7,"vol":1174,"low":12573.2,"count":113,"id":1603292400,"close":12701.9,"tradeTurnover":14907.367,"open":12692.8},{"amount":1.156,"high":12920.9,"vol":1156,"low":12624.8,"count":115,"id":1603296000,"close":12835.9,"tradeTurnover":14802.449,"open":12679.7},{"amount":1.12,"high":12908.3,"vol":1120,"low":12687.5,"count":115,"id":1603299600,"close":12754.2,"tradeTurnover":14345.7324,"open":12848.3},{"amount":1.106,"high":12849.0,"vol":1106,"low":12668.3,"count":114,"id":1603303200,"close":12740.2,"tradeTurnover":14105.3504,"open":12743.7},{"amount":1.032,"high":12843.1,"vol":1032,"low":12597.2,"count":112,"id":1603306800,"close":12650.3,"tradeTurnover":13125.4568,"open":12729.5},{"amount":1.154,"high":12848.4,"vol":1154,"low":12610.2,"count":116,"id":1603310400,"close":12807.0,"tradeTurnover":14680.638,"open":12666.8},{"amount":1.164,"high":13005.1,"vol":1164,"low":12748.2,"count":114,"id":1603314000,"close":12938.9,"tradeTurnover":14976.9366,"open":12866.0},{"amount":1.174,"high":13211.2,"vol":1174,"low":12865.7,"count":114,"id":1603317600,"close":13122.0,"tradeTurnover":15285.2446,"open":12921.0},{"amount":1.172,"high":13173.2,"vol":1172,"low":12688.6,"count":117,"id":1603321200,"close":12829.8,"tradeTurnover":15060.9938,"open":13153.2},{"amount":1.17,"high":12988.1,"vol":1170,"low":12764.4,"count":117,"id":1603324800,"close":12885.9,"tradeTurnover":15046.2046,"open":12793.1},{"amount":1.158,"high":12972.6,"vol":1158,"low":12757.5,"count":118,"id":1603328400,"close":12757.5,"tradeTurnover":14882.4656,"open":12860.4},{"amount":1.124,"high":12848.0,"vol":1124,"low":12729.0,"count":115,"id":1603332000,"close":12788.8,"tradeTurnover":14368.7948,"open":12824.1},{"amount":1.194,"high":12834.4,"vol":1194,"low":12729.0,"count":111,"id":1603335600,"close":12767.2,"tradeTurnover":15268.9298,"open":12791.7},{"amount":1.152,"high":12778.3,"vol":1152,"low":12729.0,"count":115,"id":1603339200,"close":12762.2,"tradeTurnover":14695.4876,"open":12729.0},{"amount":1.21,"high":12842.0,"vol":1210,"low":12730.6,"count":119,"id":1603342800,"close":12813.8,"tradeTurnover":15440.8162,"open":12763.1},{"amount":1.188,"high":12795.0,"vol":1188,"low":12728.0,"count":123,"id":1603346400,"close":12729.1,"tradeTurnover":15128.0098,"open":12795.0},{"amount":1.266,"high":12730.6,"vol":1266,"low":12728.3,"count":112,"id":1603350000,"close":12730.6,"tradeTurnover":16115.1306,"open":12728.6},{"amount":1.35,"high":12921.5,"vol":1350,"low":12729.9,"count":127,"id":1603353600,"close":12770.1,"tradeTurnover":17233.7326,"open":12730.3},{"amount":0.98,"high":12872.1,"vol":980,"low":12760.1,"count":99,"id":1603357200,"close":12780.4,"tradeTurnover":12553.9826,"open":12824.9},{"amount":0.266,"high":13002.7,"vol":266,"low":12775.6,"count":30,"id":1603360800,"close":12934.2,"tradeTurnover":3415.023,"open":12784.9},{"amount":1.004,"high":13057.0,"vol":1004,"low":12886.6,"count":117,"id":1603364400,"close":13045.0,"tradeTurnover":13020.8576,"open":12977.0},{"amount":1.134,"high":12973.4,"vol":1134,"low":12751.6,"count":111,"id":1603368000,"close":12847.9,"tradeTurnover":14594.2752,"open":12958.5},{"amount":1.152,"high":13000.8,"vol":1152,"low":12743.0,"count":114,"id":1603371600,"close":12931.0,"tradeTurnover":14877.7314,"open":12882.7},{"amount":1.182,"high":12995.3,"vol":1182,"low":12783.9,"count":115,"id":1603375200,"close":12917.8,"tradeTurnover":15224.4716,"open":12890.4},{"amount":1.176,"high":13031.2,"vol":1176,"low":12817.9,"count":117,"id":1603378800,"close":12953.0,"tradeTurnover":15197.208,"open":12918.8},{"amount":1.146,"high":13100.2,"vol":1146,"low":12865.6,"count":119,"id":1603382400,"close":13055.6,"tradeTurnover":14851.9604,"open":12923.1},{"amount":1.534,"high":13105.7,"vol":1534,"low":12835.5,"count":124,"id":1603386000,"close":13082.7,"tradeTurnover":19927.8288,"open":12967.6},{"amount":1.268,"high":13115.0,"vol":1268,"low":12938.7,"count":117,"id":1603389600,"close":13016.4,"tradeTurnover":16505.4738,"open":13020.4},{"amount":1.13,"high":13171.2,"vol":1130,"low":12961.8,"count":112,"id":1603393200,"close":12970.6,"tradeTurnover":14762.952,"open":13028.3},{"amount":1.206,"high":13216.1,"vol":1206,"low":12998.5,"count":117,"id":1603396800,"close":13089.3,"tradeTurnover":15807.1226,"open":13016.7},{"amount":1.332,"high":13203.7,"vol":1332,"low":12932.9,"count":114,"id":1603400400,"close":13092.0,"tradeTurnover":17423.4422,"open":13136.0},{"amount":1.21,"high":13250.5,"vol":1210,"low":12984.7,"count":114,"id":1603404000,"close":13055.9,"tradeTurnover":15876.0632,"open":13119.4},{"amount":1.286,"high":13126.5,"vol":1286,"low":12857.2,"count":116,"id":1603407600,"close":12890.4,"tradeTurnover":16688.422,"open":13059.4},{"amount":1.502,"high":12994.0,"vol":1502,"low":12751.6,"count":131,"id":1603411200,"close":12892.2,"tradeTurnover":19331.1596,"open":12929.7},{"amount":1.386,"high":13003.2,"vol":1386,"low":12786.0,"count":121,"id":1603414800,"close":12898.3,"tradeTurnover":17904.8902,"open":12921.7},{"amount":1.416,"high":13054.0,"vol":1416,"low":12800.7,"count":122,"id":1603418400,"close":12975.1,"tradeTurnover":18306.6204,"open":12951.6},{"amount":1.19,"high":13030.7,"vol":1190,"low":12875.0,"count":118,"id":1603422000,"close":12947.0,"tradeTurnover":15409.7984,"open":12967.3},{"amount":1.022,"high":13047.3,"vol":1022,"low":12832.8,"count":127,"id":1603425600,"close":12852.0,"tradeTurnover":13214.4388,"open":12925.2},{"amount":0.478,"high":12991.7,"vol":478,"low":12841.2,"count":118,"id":1603429200,"close":12931.1,"tradeTurnover":6180.2486,"open":12859.0},{"amount":0.522,"high":13014.1,"vol":522,"low":12871.9,"count":132,"id":1603432800,"close":12939.6,"tradeTurnover":6759.0324,"open":12935.9},{"amount":0.476,"high":12998.9,"vol":476,"low":12917.1,"count":118,"id":1603436400,"close":12925.4,"tradeTurnover":6163.3118,"open":12923.1},{"amount":0.508,"high":13014.0,"vol":508,"low":12916.1,"count":122,"id":1603440000,"close":12962.6,"tradeTurnover":6585.3656,"open":12942.2},{"amount":0.564,"high":13012.5,"vol":564,"low":12909.9,"count":124,"id":1603443600,"close":12926.4,"tradeTurnover":7308.8828,"open":12970.5},{"amount":0.536,"high":13059.5,"vol":536,"low":12925.7,"count":124,"id":1603447200,"close":13007.7,"tradeTurnover":6957.8796,"open":13001.2},{"amount":0.486,"high":13078.4,"vol":486,"low":12906.5,"count":122,"id":1603450800,"close":12970.6,"tradeTurnover":6326.1434,"open":13025.4},{"amount":0.494,"high":13025.0,"vol":494,"low":12850.8,"count":117,"id":1603454400,"close":12935.4,"tradeTurnover":6396.0984,"open":12963.9},{"amount":0.466,"high":13043.3,"vol":466,"low":12911.0,"count":117,"id":1603458000,"close":12951.7,"tradeTurnover":6049.1412,"open":12913.3},{"amount":0.46,"high":13006.4,"vol":460,"low":12840.4,"count":116,"id":1603461600,"close":12858.8,"tradeTurnover":5941.815,"open":12999.6},{"amount":0.492,"high":12932.9,"vol":492,"low":12826.5,"count":117,"id":1603465200,"close":12881.9,"tradeTurnover":6340.214,"open":12885.7},{"amount":0.484,"high":12933.5,"vol":484,"low":12744.4,"count":123,"id":1603468800,"close":12784.1,"tradeTurnover":6205.4138,"open":12854.4},{"amount":0.562,"high":12893.1,"vol":562,"low":12730.1,"count":152,"id":1603472400,"close":12847.7,"tradeTurnover":7218.9184,"open":12832.3},{"amount":0.53,"high":12939.3,"vol":530,"low":12751.4,"count":128,"id":1603476000,"close":12915.7,"tradeTurnover":6825.7004,"open":12874.1},{"amount":0.444,"high":12972.9,"vol":444,"low":12786.6,"count":117,"id":1603479600,"close":12972.9,"tradeTurnover":5727.7452,"open":12867.9},{"amount":0.492,"high":13002.2,"vol":492,"low":12842.9,"count":116,"id":1603483200,"close":12991.6,"tradeTurnover":6375.1566,"open":12956.7},{"amount":0.5,"high":13004.3,"vol":500,"low":12936.6,"count":125,"id":1603486800,"close":12943.5,"tradeTurnover":6485.468,"open":13004.3},{"amount":0.492,"high":13010.3,"vol":492,"low":12884.7,"count":120,"id":1603490400,"close":12989.2,"tradeTurnover":6376.1492,"open":12923.6},{"amount":0.51,"high":13024.4,"vol":510,"low":12884.6,"count":121,"id":1603494000,"close":12884.6,"tradeTurnover":6622.3406,"open":12974.9},{"amount":0.488,"high":13018.3,"vol":488,"low":12811.1,"count":120,"id":1603497600,"close":12953.9,"tradeTurnover":6317.7938,"open":12973.7},{"amount":0.482,"high":13018.1,"vol":482,"low":12872.8,"count":117,"id":1603501200,"close":12934.2,"tradeTurnover":6242.4178,"open":12927.5},{"amount":0.484,"high":13003.9,"vol":484,"low":12903.3,"count":117,"id":1603504800,"close":12989.1,"tradeTurnover":6278.1756,"open":12971.9},{"amount":0.474,"high":13013.4,"vol":474,"low":12938.3,"count":122,"id":1603508400,"close":12975.9,"tradeTurnover":6157.7096,"open":13000.1},{"amount":0.526,"high":13009.4,"vol":526,"low":12905.5,"count":124,"id":1603512000,"close":12963.3,"tradeTurnover":6831.5658,"open":12989.7},{"amount":0.522,"high":13041.8,"vol":522,"low":12875.3,"count":127,"id":1603515600,"close":12989.7,"tradeTurnover":6768.8994,"open":12910.5},{"amount":0.49,"high":13058.1,"vol":490,"low":12908.8,"count":120,"id":1603519200,"close":13003.6,"tradeTurnover":6370.5714,"open":12994.7},{"amount":0.478,"high":13037.8,"vol":478,"low":12981.7,"count":120,"id":1603522800,"close":13004.2,"tradeTurnover":6218.9722,"open":13011.9},{"amount":0.52,"high":13030.6,"vol":520,"low":12899.4,"count":124,"id":1603526400,"close":12998.2,"tradeTurnover":6754.958,"open":13003.0},{"amount":0.454,"high":13020.3,"vol":454,"low":12893.6,"count":115,"id":1603530000,"close":12990.6,"tradeTurnover":5891.0574,"open":12998.2},{"amount":0.502,"high":13059.1,"vol":502,"low":12913.2,"count":124,"id":1603533600,"close":13030.1,"tradeTurnover":6525.9004,"open":12996.4},{"amount":0.468,"high":13068.3,"vol":468,"low":12940.2,"count":119,"id":1603537200,"close":13033.2,"tradeTurnover":6091.0376,"open":12988.4},{"amount":0.468,"high":13071.8,"vol":468,"low":12978.9,"count":123,"id":1603540800,"close":13006.5,"tradeTurnover":6102.5902,"open":13035.3},{"amount":0.534,"high":13066.7,"vol":534,"low":12928.1,"count":123,"id":1603544400,"close":12985.9,"tradeTurnover":6950.4268,"open":13038.8},{"amount":0.47,"high":13100.1,"vol":470,"low":12960.5,"count":100,"id":1603548000,"close":13042.0,"tradeTurnover":6124.2178,"open":12986.3},{"amount":0.456,"high":13196.5,"vol":456,"low":13038.4,"count":120,"id":1603551600,"close":13102.2,"tradeTurnover":5989.6362,"open":13038.4},{"amount":0.458,"high":13176.6,"vol":458,"low":12984.6,"count":121,"id":1603555200,"close":13052.7,"tradeTurnover":5976.331,"open":13136.8},{"amount":0.452,"high":13177.8,"vol":452,"low":13003.2,"count":118,"id":1603558800,"close":13177.8,"tradeTurnover":5911.7058,"open":13006.2},{"amount":0.468,"high":13170.7,"vol":468,"low":13023.0,"count":119,"id":1603562400,"close":13080.8,"tradeTurnover":6122.375,"open":13127.7},{"amount":0.468,"high":13179.3,"vol":468,"low":13014.2,"count":120,"id":1603566000,"close":13148.4,"tradeTurnover":6126.4278,"open":13040.7},{"amount":0.47,"high":13179.6,"vol":470,"low":12992.5,"count":119,"id":1603569600,"close":13090.1,"tradeTurnover":6151.4758,"open":13073.5},{"amount":0.458,"high":13148.7,"vol":458,"low":12980.7,"count":117,"id":1603573200,"close":12993.9,"tradeTurnover":5981.071,"open":13035.4},{"amount":0.478,"high":13112.1,"vol":478,"low":12975.6,"count":118,"id":1603576800,"close":13041.1,"tradeTurnover":6225.4216,"open":13040.7},{"amount":0.472,"high":13184.3,"vol":472,"low":13009.3,"count":118,"id":1603580400,"close":13184.3,"tradeTurnover":6173.4244,"open":13012.6},{"amount":0.46,"high":13170.4,"vol":460,"low":13007.7,"count":115,"id":1603584000,"close":13154.3,"tradeTurnover":6024.09,"open":13080.8},{"amount":0.398,"high":13196.8,"vol":398,"low":13024.0,"count":102,"id":1603587600,"close":13196.1,"tradeTurnover":5217.5364,"open":13092.0},{"amount":0.476,"high":13175.1,"vol":476,"low":13035.0,"count":120,"id":1603591200,"close":13082.4,"tradeTurnover":6228.6596,"open":13124.7},{"amount":0.578,"high":13383.8,"vol":578,"low":13049.1,"count":137,"id":1603594800,"close":13259.0,"tradeTurnover":7629.3886,"open":13049.1},{"amount":0.47,"high":13369.0,"vol":470,"low":13216.0,"count":122,"id":1603598400,"close":13243.4,"tradeTurnover":6247.955,"open":13277.0},{"amount":0.61,"high":13353.3,"vol":610,"low":13010.1,"count":134,"id":1603602000,"close":13017.3,"tradeTurnover":8048.8598,"open":13285.3},{"amount":0.486,"high":13105.7,"vol":486,"low":13018.2,"count":118,"id":1603605600,"close":13060.3,"tradeTurnover":6344.1474,"open":13022.5},{"amount":0.464,"high":13112.1,"vol":464,"low":13022.0,"count":120,"id":1603609200,"close":13078.1,"tradeTurnover":6061.5416,"open":13048.5},{"amount":0.464,"high":13091.0,"vol":464,"low":13017.2,"count":120,"id":1603612800,"close":13046.0,"tradeTurnover":6055.3734,"open":13077.2},{"amount":0.478,"high":13084.0,"vol":478,"low":13014.2,"count":117,"id":1603616400,"close":13040.8,"tradeTurnover":6235.7882,"open":13065.1},{"amount":0.478,"high":13064.2,"vol":478,"low":13010.2,"count":125,"id":1603620000,"close":13028.5,"tradeTurnover":6232.2428,"open":13047.1},{"amount":0.534,"high":13061.5,"vol":534,"low":12852.9,"count":123,"id":1603623600,"close":12897.6,"tradeTurnover":6918.1226,"open":13061.5},{"amount":0.444,"high":13069.7,"vol":444,"low":12893.2,"count":117,"id":1603627200,"close":12964.3,"tradeTurnover":5755.8712,"open":12908.3},{"amount":0.498,"high":13071.9,"vol":498,"low":12891.8,"count":119,"id":1603630800,"close":12949.3,"tradeTurnover":6465.078,"open":13001.3},{"amount":0.468,"high":13077.7,"vol":468,"low":12900.0,"count":116,"id":1603634400,"close":12946.8,"tradeTurnover":6075.4554,"open":12975.8},{"amount":0.47,"high":13069.1,"vol":470,"low":12883.3,"count":119,"id":1603638000,"close":12883.3,"tradeTurnover":6097.1072,"open":12975.2},{"amount":0.482,"high":13067.9,"vol":482,"low":12877.5,"count":118,"id":1603641600,"close":12978.7,"tradeTurnover":6256.4472,"open":12916.2},{"amount":0.47,"high":13087.5,"vol":470,"low":12922.7,"count":117,"id":1603645200,"close":13004.4,"tradeTurnover":6108.3892,"open":13008.0},{"amount":0.468,"high":13067.6,"vol":468,"low":12893.6,"count":118,"id":1603648800,"close":12957.2,"tradeTurnover":6079.1484,"open":12972.8},{"amount":0.442,"high":13066.9,"vol":442,"low":12916.6,"count":118,"id":1603652400,"close":13021.8,"tradeTurnover":5746.5548,"open":12996.5},{"amount":0.508,"high":13081.5,"vol":508,"low":12944.9,"count":120,"id":1603656000,"close":12985.4,"tradeTurnover":6616.9872,"open":12992.9},{"amount":0.508,"high":13068.6,"vol":508,"low":12921.4,"count":122,"id":1603659600,"close":13011.2,"tradeTurnover":6614.816,"open":12999.9},{"amount":0.486,"high":13073.8,"vol":486,"low":12911.9,"count":121,"id":1603663200,"close":12959.4,"tradeTurnover":6320.907,"open":12979.6},{"amount":0.452,"high":13085.2,"vol":452,"low":12927.8,"count":113,"id":1603666800,"close":13032.1,"tradeTurnover":5878.6442,"open":12963.4},{"amount":0.482,"high":13076.7,"vol":482,"low":12918.3,"count":121,"id":1603670400,"close":13001.0,"tradeTurnover":6263.698,"open":12964.2},{"amount":0.478,"high":13096.4,"vol":478,"low":12991.2,"count":124,"id":1603674000,"close":13053.7,"tradeTurnover":6232.2328,"open":13040.0},{"amount":0.488,"high":13185.7,"vol":488,"low":12985.1,"count":121,"id":1603677600,"close":13064.4,"tradeTurnover":6387.534,"open":13060.6},{"amount":0.486,"high":13187.2,"vol":486,"low":12984.1,"count":135,"id":1603681200,"close":13092.8,"tradeTurnover":6369.0272,"open":13032.3},{"amount":0.51,"high":13181.6,"vol":510,"low":12962.3,"count":131,"id":1603684800,"close":13132.6,"tradeTurnover":6679.829,"open":13092.0},{"amount":0.506,"high":13205.3,"vol":506,"low":13025.3,"count":126,"id":1603688400,"close":13092.1,"tradeTurnover":6641.2128,"open":13129.2},{"amount":1.616,"high":13188.1,"vol":1616,"low":12989.8,"count":141,"id":1603692000,"close":13071.4,"tradeTurnover":21170.8224,"open":13121.8},{"amount":3.746,"high":13100.0,"vol":3746,"low":12965.2,"count":110,"id":1603695600,"close":13038.7,"tradeTurnover":48924.8902,"open":13061.0},{"amount":8.966,"high":13102.0,"vol":8966,"low":12852.8,"count":173,"id":1603699200,"close":13039.3,"tradeTurnover":116525.5534,"open":13030.9},{"amount":4.48,"high":13088.4,"vol":4480,"low":13039.8,"count":124,"id":1603702800,"close":13075.9,"tradeTurnover":58521.1714,"open":13047.1},{"amount":4.272,"high":13100.0,"vol":4272,"low":13060.2,"count":130,"id":1603706400,"close":13100.0,"tradeTurnover":55895.9778,"open":13072.1},{"amount":29.798,"high":13159.0,"vol":29798,"low":13100.0,"count":230,"id":1603710000,"close":13138.4,"tradeTurnover":391138.024,"open":13100.0},{"amount":5.154,"high":13200.0,"vol":5154,"low":13100.0,"count":188,"id":1603713600,"close":13149.8,"tradeTurnover":67694.652,"open":13138.8},{"amount":35.608,"high":13351.5,"vol":35608,"low":13133.1,"count":328,"id":1603717200,"close":13205.8,"tradeTurnover":472780.3394,"open":13150.0},{"amount":31.748,"high":13280.0,"vol":31748,"low":13144.1,"count":235,"id":1603720800,"close":13166.1,"tradeTurnover":418744.5588,"open":13203.0},{"amount":36.53,"high":13165.2,"vol":36530,"low":12903.8,"count":384,"id":1603724400,"close":12978.0,"tradeTurnover":476940.3296,"open":13159.0},{"amount":35.018,"high":13069.8,"vol":35018,"low":12850.5,"count":323,"id":1603728000,"close":12869.6,"tradeTurnover":453288.918,"open":12965.0},{"amount":92.628,"high":12941.5,"vol":92628,"low":12583.9,"count":560,"id":1603731600,"close":12873.8,"tradeTurnover":1185973.467,"open":12879.2},{"amount":4.302,"high":12954.5,"vol":4302,"low":12820.4,"count":128,"id":1603735200,"close":12946.8,"tradeTurnover":55481.0054,"open":12856.2},{"amount":13.83,"high":12953.5,"vol":13830,"low":12914.1,"count":118,"id":1603738800,"close":12953.4,"tradeTurnover":179112.1598,"open":12945.6},{"amount":17.172,"high":13007.5,"vol":17172,"low":12953.5,"count":132,"id":1603742400,"close":12983.4,"tradeTurnover":223230.2122,"open":12953.5},{"amount":3.212,"high":13007.5,"vol":3212,"low":12982.7,"count":59,"id":1603746000,"close":12993.8,"tradeTurnover":41767.8906,"open":12983.1},{"amount":1.504,"high":13007.5,"vol":1504,"low":12974.0,"count":74,"id":1603749600,"close":13007.5,"tradeTurnover":19543.3568,"open":13002.1},{"amount":3.454,"high":13061.2,"vol":3454,"low":13007.5,"count":101,"id":1603753200,"close":13033.7,"tradeTurnover":45001.601,"open":13007.5},{"amount":8.784,"high":13105.0,"vol":8784,"low":13028.3,"count":98,"id":1603756800,"close":13067.1,"tradeTurnover":114871.8246,"open":13029.2},{"amount":11.592,"high":13074.4,"vol":11592,"low":13051.5,"count":66,"id":1603760400,"close":13061.7,"tradeTurnover":151386.9038,"open":13074.3},{"amount":19.298,"high":13097.6,"vol":19298,"low":13040.1,"count":109,"id":1603764000,"close":13049.7,"tradeTurnover":252061.019,"open":13061.7},{"amount":22.992,"high":13080.0,"vol":22992,"low":13057.1,"count":69,"id":1603767600,"close":13070.4,"tradeTurnover":300453.9788,"open":13057.6},{"amount":14.396,"high":13175.0,"vol":14396,"low":13079.6,"count":59,"id":1603771200,"close":13103.3,"tradeTurnover":188461.9156,"open":13080.0},{"amount":5.058,"high":13121.3,"vol":5058,"low":13069.7,"count":44,"id":1603774800,"close":13073.6,"tradeTurnover":66201.3552,"open":13121.3},{"amount":9.106,"high":13149.0,"vol":9106,"low":13069.6,"count":107,"id":1603778400,"close":13103.4,"tradeTurnover":119104.8906,"open":13074.9},{"amount":73.95,"high":13169.8,"vol":73950,"low":12992.4,"count":305,"id":1603782000,"close":13130.0,"tradeTurnover":968195.155,"open":13103.3},{"amount":18.732,"high":13148.4,"vol":18732,"low":13044.0,"count":135,"id":1603785600,"close":13123.8,"tradeTurnover":245533.5448,"open":13135.1},{"amount":13.756,"high":13131.8,"vol":13756,"low":13075.7,"count":102,"id":1603789200,"close":13131.7,"tradeTurnover":180253.7708,"open":13115.5},{"amount":154.108,"high":13252.0,"vol":154108,"low":13063.4,"count":525,"id":1603792800,"close":13216.9,"tradeTurnover":2029983.656,"open":13134.8},{"amount":170.09,"high":13590.1,"vol":170090,"low":13213.5,"count":591,"id":1603796400,"close":13395.8,"tradeTurnover":2276279.742,"open":13218.8},{"amount":48.928,"high":13414.0,"vol":48928,"low":13331.7,"count":216,"id":1603800000,"close":13376.9,"tradeTurnover":654585.9108,"open":13395.9},{"amount":63.294,"high":13490.9,"vol":63294,"low":13329.8,"count":316,"id":1603803600,"close":13384.3,"tradeTurnover":848130.9212,"open":13376.5},{"amount":12.892,"high":13415.8,"vol":12892,"low":13344.8,"count":124,"id":1603807200,"close":13398.2,"tradeTurnover":172618.6864,"open":13392.6},{"amount":93.22,"high":13626.7,"vol":93220,"low":13398.2,"count":476,"id":1603810800,"close":13598.5,"tradeTurnover":1262695.5466,"open":13398.2},{"amount":85.45,"high":13639.9,"vol":85450,"low":13520.2,"count":435,"id":1603814400,"close":13639.9,"tradeTurnover":1161481.4136,"open":13595.8},{"amount":191.812,"high":13826.7,"vol":191812,"low":13589.0,"count":711,"id":1603818000,"close":13688.1,"tradeTurnover":2628428.3788,"open":13640.0},{"amount":65.434,"high":13745.0,"vol":65434,"low":13528.2,"count":410,"id":1603821600,"close":13630.1,"tradeTurnover":891541.8394,"open":13685.0},{"amount":5.788,"high":13659.8,"vol":5788,"low":13595.4,"count":65,"id":1603825200,"close":13637.1,"tradeTurnover":78836.2578,"open":13629.4},{"amount":163.104,"high":13805.1,"vol":163104,"low":13582.6,"count":537,"id":1603828800,"close":13616.6,"tradeTurnover":2234040.3544,"open":13644.4},{"amount":9.884,"high":13753.5,"vol":9884,"low":13609.8,"count":101,"id":1603832400,"close":13705.5,"tradeTurnover":135406.4752,"open":13609.8},{"amount":7.436,"high":13739.9,"vol":7436,"low":13658.2,"count":100,"id":1603836000,"close":13739.9,"tradeTurnover":101840.3508,"open":13705.4},{"amount":17.086,"high":13794.6,"vol":17086,"low":13582.6,"count":234,"id":1603839600,"close":13649.6,"tradeTurnover":233971.8448,"open":13739.9},{"amount":24.108,"high":13745.2,"vol":24108,"low":13618.8,"count":177,"id":1603843200,"close":13701.7,"tradeTurnover":330206.5694,"open":13645.9},{"amount":15.892,"high":13725.6,"vol":15892,"low":13647.9,"count":151,"id":1603846800,"close":13702.6,"tradeTurnover":217816.7008,"open":13702.1},{"amount":46.548,"high":13832.2,"vol":46548,"low":13680.2,"count":274,"id":1603850400,"close":13811.6,"tradeTurnover":640636.0352,"open":13701.7},{"amount":67.896,"high":13820.3,"vol":67896,"low":13717.5,"count":320,"id":1603854000,"close":13777.0,"tradeTurnover":935838.2238,"open":13818.5},{"amount":33.156,"high":13807.2,"vol":33156,"low":13710.0,"count":210,"id":1603857600,"close":13735.7,"tradeTurnover":455941.234,"open":13767.3},{"amount":32.076,"high":13753.9,"vol":32076,"low":13671.3,"count":198,"id":1603861200,"close":13715.8,"tradeTurnover":439612.64,"open":13735.5},{"amount":14.756,"high":13757.0,"vol":14756,"low":13694.9,"count":122,"id":1603864800,"close":13701.3,"tradeTurnover":202602.5164,"open":13715.9},{"amount":155.534,"high":13708.7,"vol":155534,"low":13550.0,"count":635,"id":1603868400,"close":13674.2,"tradeTurnover":2117935.0928,"open":13701.2},{"amount":29.846,"high":13691.7,"vol":29846,"low":13584.0,"count":240,"id":1603872000,"close":13691.7,"tradeTurnover":407073.1398,"open":13673.0},{"amount":104.542,"high":13707.5,"vol":104542,"low":13573.5,"count":377,"id":1603875600,"close":13587.1,"tradeTurnover":1425079.9344,"open":13689.3},{"amount":73.818,"high":13618.0,"vol":73818,"low":13504.7,"count":358,"id":1603879200,"close":13552.7,"tradeTurnover":1001666.0908,"open":13584.6},{"amount":176.544,"high":13565.4,"vol":176544,"low":13330.0,"count":1004,"id":1603882800,"close":13336.4,"tradeTurnover":2369166.1492,"open":13552.6},{"amount":289.73,"high":13385.0,"vol":289730,"low":13173.9,"count":968,"id":1603886400,"close":13300.3,"tradeTurnover":3846751.7166,"open":13331.5},{"amount":139.822,"high":13340.0,"vol":139822,"low":13122.9,"count":612,"id":1603890000,"close":13129.9,"tradeTurnover":1848876.932,"open":13300.2},{"amount":367.876,"high":13168.2,"vol":367876,"low":12915.9,"count":1168,"id":1603893600,"close":13082.2,"tradeTurnover":4802516.9818,"open":13123.4},{"amount":84.044,"high":13235.2,"vol":84044,"low":13052.3,"count":375,"id":1603897200,"close":13221.2,"tradeTurnover":1106883.1282,"open":13077.1},{"amount":29.566,"high":13218.7,"vol":29566,"low":13050.0,"count":244,"id":1603900800,"close":13145.1,"tradeTurnover":388697.4104,"open":13218.7},{"amount":53.336,"high":13204.9,"vol":53336,"low":13006.6,"count":299,"id":1603904400,"close":13176.7,"tradeTurnover":700385.2784,"open":13145.1},{"amount":34.164,"high":13219.6,"vol":34164,"low":13131.0,"count":218,"id":1603908000,"close":13196.5,"tradeTurnover":450210.5778,"open":13171.0},{"amount":22.158,"high":13237.4,"vol":22158,"low":13145.0,"count":185,"id":1603911600,"close":13154.9,"tradeTurnover":292020.0438,"open":13200.0},{"amount":4.548,"high":13211.8,"vol":4548,"low":13147.4,"count":75,"id":1603915200,"close":13198.1,"tradeTurnover":59991.1118,"open":13154.5},{"amount":3.52,"high":13196.5,"vol":3520,"low":13100.2,"count":68,"id":1603918800,"close":13190.1,"tradeTurnover":46175.428,"open":13193.5},{"amount":3.122,"high":13267.5,"vol":3122,"low":13185.4,"count":72,"id":1603922400,"close":13252.0,"tradeTurnover":41304.2018,"open":13185.4},{"amount":14.768,"high":13282.3,"vol":14768,"low":13235.9,"count":86,"id":1603926000,"close":13265.9,"tradeTurnover":195689.0764,"open":13242.1},{"amount":19.968,"high":13294.7,"vol":19968,"low":13237.4,"count":98,"id":1603929600,"close":13245.1,"tradeTurnover":264834.1944,"open":13253.9},{"amount":35.282,"high":13285.3,"vol":35282,"low":13166.3,"count":192,"id":1603933200,"close":13274.2,"tradeTurnover":465789.6302,"open":13244.6},{"amount":9.748,"high":13277.7,"vol":9748,"low":13212.2,"count":119,"id":1603936800,"close":13241.1,"tradeTurnover":129016.0684,"open":13275.9},{"amount":27.3,"high":13262.5,"vol":27300,"low":13174.6,"count":199,"id":1603940400,"close":13262.5,"tradeTurnover":360589.8982,"open":13237.1},{"amount":18.904,"high":13277.7,"vol":18904,"low":13229.5,"count":109,"id":1603944000,"close":13229.5,"tradeTurnover":250713.2812,"open":13269.1},{"amount":15.822,"high":13274.8,"vol":15822,"low":13228.5,"count":134,"id":1603947600,"close":13274.8,"tradeTurnover":209781.909,"open":13228.5},{"amount":91.246,"high":13323.0,"vol":91246,"low":13242.3,"count":294,"id":1603951200,"close":13255.0,"tradeTurnover":1211271.2788,"open":13274.8},{"amount":187.622,"high":13269.3,"vol":187622,"low":13123.1,"count":506,"id":1603954800,"close":13142.4,"tradeTurnover":2478299.7074,"open":13255.0},{"amount":69.532,"high":13182.4,"vol":69532,"low":13094.1,"count":226,"id":1603958400,"close":13124.8,"tradeTurnover":914157.2418,"open":13145.9},{"amount":23.184,"high":13197.1,"vol":23184,"low":13129.5,"count":141,"id":1603962000,"close":13183.7,"tradeTurnover":305485.9524,"open":13129.5},{"amount":121.146,"high":13187.5,"vol":121146,"low":13053.1,"count":442,"id":1603965600,"close":13105.2,"tradeTurnover":1590026.4416,"open":13184.8},{"amount":47.498,"high":13171.4,"vol":47498,"low":13060.1,"count":262,"id":1603969200,"close":13060.1,"tradeTurnover":623578.149,"open":13105.1},{"amount":126.552,"high":13145.8,"vol":126552,"low":12977.9,"count":481,"id":1603972800,"close":13131.8,"tradeTurnover":1652549.311,"open":13056.9},{"amount":100.482,"high":13237.2,"vol":100482,"low":13102.0,"count":325,"id":1603976400,"close":13230.0,"tradeTurnover":1326403.7206,"open":13131.7},{"amount":253.258,"high":13476.1,"vol":253258,"low":13231.0,"count":752,"id":1603980000,"close":13420.8,"tradeTurnover":3384941.438,"open":13231.0},{"amount":64.71,"high":13458.7,"vol":64710,"low":13358.7,"count":269,"id":1603983600,"close":13420.6,"tradeTurnover":869052.3804,"open":13416.0},{"amount":120.24,"high":13594.5,"vol":120240,"low":13391.8,"count":570,"id":1603987200,"close":13535.9,"tradeTurnover":1626567.8278,"open":13421.9}],"id":"","rep":"market.BTC-USDT.kline.60min","status":"ok"} +2024-01-18 11:13:14.011 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:39] - 请求 KLine 数据用户收到的原始数据:{"id":"","rep":"market.BTC-USDT.kline.60min","ts":1705547592921,"wsid":19750305,"status":"ok","data":[{"id":1603270800,"open":12198.0,"close":12196.7,"high":12300.0,"low":11715.8,"amount":0.276,"vol":276,"trade_turnover":3315.9104,"count":39},{"id":1603274400,"open":12196.7,"close":12277.9,"high":12289.9,"low":12111.0,"amount":0.198,"vol":198,"trade_turnover":2420.7728,"count":21},{"id":1603278000,"open":12111.0,"close":12000.0,"high":12277.9,"low":12000.0,"amount":0.012,"vol":12,"trade_turnover":145.2238,"count":5},{"id":1603281600,"open":12078.0,"close":12497.4,"high":12498.0,"low":12078.0,"amount":0.084,"vol":84,"trade_turnover":1040.0504,"count":12},{"id":1603285200,"open":12495.6,"close":12373.5,"high":12495.6,"low":12282.9,"amount":1.122,"vol":1122,"trade_turnover":13905.3124,"count":112},{"id":1603288800,"open":12412.9,"close":12689.9,"high":12807.6,"low":12358.1,"amount":5.29,"vol":5290,"trade_turnover":66852.128,"count":155},{"id":1603292400,"open":12692.8,"close":12701.9,"high":12778.7,"low":12573.2,"amount":1.174,"vol":1174,"trade_turnover":14907.367,"count":113},{"id":1603296000,"open":12679.7,"close":12835.9,"high":12920.9,"low":12624.8,"amount":1.156,"vol":1156,"trade_turnover":14802.449,"count":115},{"id":1603299600,"open":12848.3,"close":12754.2,"high":12908.3,"low":12687.5,"amount":1.12,"vol":1120,"trade_turnover":14345.7324,"count":115},{"id":1603303200,"open":12743.7,"close":12740.2,"high":12849.0,"low":12668.3,"amount":1.106,"vol":1106,"trade_turnover":14105.3504,"count":114},{"id":1603306800,"open":12729.5,"close":12650.3,"high":12843.1,"low":12597.2,"amount":1.032,"vol":1032,"trade_turnover":13125.4568,"count":112},{"id":1603310400,"open":12666.8,"close":12807.0,"high":12848.4,"low":12610.2,"amount":1.154,"vol":1154,"trade_turnover":14680.638,"count":116},{"id":1603314000,"open":12866.0,"close":12938.9,"high":13005.1,"low":12748.2,"amount":1.164,"vol":1164,"trade_turnover":14976.9366,"count":114},{"id":1603317600,"open":12921.0,"close":13122.0,"high":13211.2,"low":12865.7,"amount":1.174,"vol":1174,"trade_turnover":15285.2446,"count":114},{"id":1603321200,"open":13153.2,"close":12829.8,"high":13173.2,"low":12688.6,"amount":1.172,"vol":1172,"trade_turnover":15060.9938,"count":117},{"id":1603324800,"open":12793.1,"close":12885.9,"high":12988.1,"low":12764.4,"amount":1.17,"vol":1170,"trade_turnover":15046.2046,"count":117},{"id":1603328400,"open":12860.4,"close":12757.5,"high":12972.6,"low":12757.5,"amount":1.158,"vol":1158,"trade_turnover":14882.4656,"count":118},{"id":1603332000,"open":12824.1,"close":12788.8,"high":12848.0,"low":12729.0,"amount":1.124,"vol":1124,"trade_turnover":14368.7948,"count":115},{"id":1603335600,"open":12791.7,"close":12767.2,"high":12834.4,"low":12729.0,"amount":1.194,"vol":1194,"trade_turnover":15268.9298,"count":111},{"id":1603339200,"open":12729.0,"close":12762.2,"high":12778.3,"low":12729.0,"amount":1.152,"vol":1152,"trade_turnover":14695.4876,"count":115},{"id":1603342800,"open":12763.1,"close":12813.8,"high":12842.0,"low":12730.6,"amount":1.21,"vol":1210,"trade_turnover":15440.8162,"count":119},{"id":1603346400,"open":12795.0,"close":12729.1,"high":12795.0,"low":12728.0,"amount":1.188,"vol":1188,"trade_turnover":15128.0098,"count":123},{"id":1603350000,"open":12728.6,"close":12730.6,"high":12730.6,"low":12728.3,"amount":1.266,"vol":1266,"trade_turnover":16115.1306,"count":112},{"id":1603353600,"open":12730.3,"close":12770.1,"high":12921.5,"low":12729.9,"amount":1.35,"vol":1350,"trade_turnover":17233.7326,"count":127},{"id":1603357200,"open":12824.9,"close":12780.4,"high":12872.1,"low":12760.1,"amount":0.98,"vol":980,"trade_turnover":12553.9826,"count":99},{"id":1603360800,"open":12784.9,"close":12934.2,"high":13002.7,"low":12775.6,"amount":0.266,"vol":266,"trade_turnover":3415.023,"count":30},{"id":1603364400,"open":12977.0,"close":13045.0,"high":13057.0,"low":12886.6,"amount":1.004,"vol":1004,"trade_turnover":13020.8576,"count":117},{"id":1603368000,"open":12958.5,"close":12847.9,"high":12973.4,"low":12751.6,"amount":1.134,"vol":1134,"trade_turnover":14594.2752,"count":111},{"id":1603371600,"open":12882.7,"close":12931.0,"high":13000.8,"low":12743.0,"amount":1.152,"vol":1152,"trade_turnover":14877.7314,"count":114},{"id":1603375200,"open":12890.4,"close":12917.8,"high":12995.3,"low":12783.9,"amount":1.182,"vol":1182,"trade_turnover":15224.4716,"count":115},{"id":1603378800,"open":12918.8,"close":12953.0,"high":13031.2,"low":12817.9,"amount":1.176,"vol":1176,"trade_turnover":15197.208,"count":117},{"id":1603382400,"open":12923.1,"close":13055.6,"high":13100.2,"low":12865.6,"amount":1.146,"vol":1146,"trade_turnover":14851.9604,"count":119},{"id":1603386000,"open":12967.6,"close":13082.7,"high":13105.7,"low":12835.5,"amount":1.534,"vol":1534,"trade_turnover":19927.8288,"count":124},{"id":1603389600,"open":13020.4,"close":13016.4,"high":13115.0,"low":12938.7,"amount":1.268,"vol":1268,"trade_turnover":16505.4738,"count":117},{"id":1603393200,"open":13028.3,"close":12970.6,"high":13171.2,"low":12961.8,"amount":1.13,"vol":1130,"trade_turnover":14762.952,"count":112},{"id":1603396800,"open":13016.7,"close":13089.3,"high":13216.1,"low":12998.5,"amount":1.206,"vol":1206,"trade_turnover":15807.1226,"count":117},{"id":1603400400,"open":13136.0,"close":13092.0,"high":13203.7,"low":12932.9,"amount":1.332,"vol":1332,"trade_turnover":17423.4422,"count":114},{"id":1603404000,"open":13119.4,"close":13055.9,"high":13250.5,"low":12984.7,"amount":1.21,"vol":1210,"trade_turnover":15876.0632,"count":114},{"id":1603407600,"open":13059.4,"close":12890.4,"high":13126.5,"low":12857.2,"amount":1.286,"vol":1286,"trade_turnover":16688.422,"count":116},{"id":1603411200,"open":12929.7,"close":12892.2,"high":12994.0,"low":12751.6,"amount":1.502,"vol":1502,"trade_turnover":19331.1596,"count":131},{"id":1603414800,"open":12921.7,"close":12898.3,"high":13003.2,"low":12786.0,"amount":1.386,"vol":1386,"trade_turnover":17904.8902,"count":121},{"id":1603418400,"open":12951.6,"close":12975.1,"high":13054.0,"low":12800.7,"amount":1.416,"vol":1416,"trade_turnover":18306.6204,"count":122},{"id":1603422000,"open":12967.3,"close":12947.0,"high":13030.7,"low":12875.0,"amount":1.19,"vol":1190,"trade_turnover":15409.7984,"count":118},{"id":1603425600,"open":12925.2,"close":12852.0,"high":13047.3,"low":12832.8,"amount":1.022,"vol":1022,"trade_turnover":13214.4388,"count":127},{"id":1603429200,"open":12859.0,"close":12931.1,"high":12991.7,"low":12841.2,"amount":0.478,"vol":478,"trade_turnover":6180.2486,"count":118},{"id":1603432800,"open":12935.9,"close":12939.6,"high":13014.1,"low":12871.9,"amount":0.522,"vol":522,"trade_turnover":6759.0324,"count":132},{"id":1603436400,"open":12923.1,"close":12925.4,"high":12998.9,"low":12917.1,"amount":0.476,"vol":476,"trade_turnover":6163.3118,"count":118},{"id":1603440000,"open":12942.2,"close":12962.6,"high":13014.0,"low":12916.1,"amount":0.508,"vol":508,"trade_turnover":6585.3656,"count":122},{"id":1603443600,"open":12970.5,"close":12926.4,"high":13012.5,"low":12909.9,"amount":0.564,"vol":564,"trade_turnover":7308.8828,"count":124},{"id":1603447200,"open":13001.2,"close":13007.7,"high":13059.5,"low":12925.7,"amount":0.536,"vol":536,"trade_turnover":6957.8796,"count":124},{"id":1603450800,"open":13025.4,"close":12970.6,"high":13078.4,"low":12906.5,"amount":0.486,"vol":486,"trade_turnover":6326.1434,"count":122},{"id":1603454400,"open":12963.9,"close":12935.4,"high":13025.0,"low":12850.8,"amount":0.494,"vol":494,"trade_turnover":6396.0984,"count":117},{"id":1603458000,"open":12913.3,"close":12951.7,"high":13043.3,"low":12911.0,"amount":0.466,"vol":466,"trade_turnover":6049.1412,"count":117},{"id":1603461600,"open":12999.6,"close":12858.8,"high":13006.4,"low":12840.4,"amount":0.46,"vol":460,"trade_turnover":5941.815,"count":116},{"id":1603465200,"open":12885.7,"close":12881.9,"high":12932.9,"low":12826.5,"amount":0.492,"vol":492,"trade_turnover":6340.214,"count":117},{"id":1603468800,"open":12854.4,"close":12784.1,"high":12933.5,"low":12744.4,"amount":0.484,"vol":484,"trade_turnover":6205.4138,"count":123},{"id":1603472400,"open":12832.3,"close":12847.7,"high":12893.1,"low":12730.1,"amount":0.562,"vol":562,"trade_turnover":7218.9184,"count":152},{"id":1603476000,"open":12874.1,"close":12915.7,"high":12939.3,"low":12751.4,"amount":0.53,"vol":530,"trade_turnover":6825.7004,"count":128},{"id":1603479600,"open":12867.9,"close":12972.9,"high":12972.9,"low":12786.6,"amount":0.444,"vol":444,"trade_turnover":5727.7452,"count":117},{"id":1603483200,"open":12956.7,"close":12991.6,"high":13002.2,"low":12842.9,"amount":0.492,"vol":492,"trade_turnover":6375.1566,"count":116},{"id":1603486800,"open":13004.3,"close":12943.5,"high":13004.3,"low":12936.6,"amount":0.5,"vol":500,"trade_turnover":6485.468,"count":125},{"id":1603490400,"open":12923.6,"close":12989.2,"high":13010.3,"low":12884.7,"amount":0.492,"vol":492,"trade_turnover":6376.1492,"count":120},{"id":1603494000,"open":12974.9,"close":12884.6,"high":13024.4,"low":12884.6,"amount":0.51,"vol":510,"trade_turnover":6622.3406,"count":121},{"id":1603497600,"open":12973.7,"close":12953.9,"high":13018.3,"low":12811.1,"amount":0.488,"vol":488,"trade_turnover":6317.7938,"count":120},{"id":1603501200,"open":12927.5,"close":12934.2,"high":13018.1,"low":12872.8,"amount":0.482,"vol":482,"trade_turnover":6242.4178,"count":117},{"id":1603504800,"open":12971.9,"close":12989.1,"high":13003.9,"low":12903.3,"amount":0.484,"vol":484,"trade_turnover":6278.1756,"count":117},{"id":1603508400,"open":13000.1,"close":12975.9,"high":13013.4,"low":12938.3,"amount":0.474,"vol":474,"trade_turnover":6157.7096,"count":122},{"id":1603512000,"open":12989.7,"close":12963.3,"high":13009.4,"low":12905.5,"amount":0.526,"vol":526,"trade_turnover":6831.5658,"count":124},{"id":1603515600,"open":12910.5,"close":12989.7,"high":13041.8,"low":12875.3,"amount":0.522,"vol":522,"trade_turnover":6768.8994,"count":127},{"id":1603519200,"open":12994.7,"close":13003.6,"high":13058.1,"low":12908.8,"amount":0.49,"vol":490,"trade_turnover":6370.5714,"count":120},{"id":1603522800,"open":13011.9,"close":13004.2,"high":13037.8,"low":12981.7,"amount":0.478,"vol":478,"trade_turnover":6218.9722,"count":120},{"id":1603526400,"open":13003.0,"close":12998.2,"high":13030.6,"low":12899.4,"amount":0.52,"vol":520,"trade_turnover":6754.958,"count":124},{"id":1603530000,"open":12998.2,"close":12990.6,"high":13020.3,"low":12893.6,"amount":0.454,"vol":454,"trade_turnover":5891.0574,"count":115},{"id":1603533600,"open":12996.4,"close":13030.1,"high":13059.1,"low":12913.2,"amount":0.502,"vol":502,"trade_turnover":6525.9004,"count":124},{"id":1603537200,"open":12988.4,"close":13033.2,"high":13068.3,"low":12940.2,"amount":0.468,"vol":468,"trade_turnover":6091.0376,"count":119},{"id":1603540800,"open":13035.3,"close":13006.5,"high":13071.8,"low":12978.9,"amount":0.468,"vol":468,"trade_turnover":6102.5902,"count":123},{"id":1603544400,"open":13038.8,"close":12985.9,"high":13066.7,"low":12928.1,"amount":0.534,"vol":534,"trade_turnover":6950.4268,"count":123},{"id":1603548000,"open":12986.3,"close":13042.0,"high":13100.1,"low":12960.5,"amount":0.47,"vol":470,"trade_turnover":6124.2178,"count":100},{"id":1603551600,"open":13038.4,"close":13102.2,"high":13196.5,"low":13038.4,"amount":0.456,"vol":456,"trade_turnover":5989.6362,"count":120},{"id":1603555200,"open":13136.8,"close":13052.7,"high":13176.6,"low":12984.6,"amount":0.458,"vol":458,"trade_turnover":5976.331,"count":121},{"id":1603558800,"open":13006.2,"close":13177.8,"high":13177.8,"low":13003.2,"amount":0.452,"vol":452,"trade_turnover":5911.7058,"count":118},{"id":1603562400,"open":13127.7,"close":13080.8,"high":13170.7,"low":13023.0,"amount":0.468,"vol":468,"trade_turnover":6122.375,"count":119},{"id":1603566000,"open":13040.7,"close":13148.4,"high":13179.3,"low":13014.2,"amount":0.468,"vol":468,"trade_turnover":6126.4278,"count":120},{"id":1603569600,"open":13073.5,"close":13090.1,"high":13179.6,"low":12992.5,"amount":0.47,"vol":470,"trade_turnover":6151.4758,"count":119},{"id":1603573200,"open":13035.4,"close":12993.9,"high":13148.7,"low":12980.7,"amount":0.458,"vol":458,"trade_turnover":5981.071,"count":117},{"id":1603576800,"open":13040.7,"close":13041.1,"high":13112.1,"low":12975.6,"amount":0.478,"vol":478,"trade_turnover":6225.4216,"count":118},{"id":1603580400,"open":13012.6,"close":13184.3,"high":13184.3,"low":13009.3,"amount":0.472,"vol":472,"trade_turnover":6173.4244,"count":118},{"id":1603584000,"open":13080.8,"close":13154.3,"high":13170.4,"low":13007.7,"amount":0.46,"vol":460,"trade_turnover":6024.09,"count":115},{"id":1603587600,"open":13092.0,"close":13196.1,"high":13196.8,"low":13024.0,"amount":0.398,"vol":398,"trade_turnover":5217.5364,"count":102},{"id":1603591200,"open":13124.7,"close":13082.4,"high":13175.1,"low":13035.0,"amount":0.476,"vol":476,"trade_turnover":6228.6596,"count":120},{"id":1603594800,"open":13049.1,"close":13259.0,"high":13383.8,"low":13049.1,"amount":0.578,"vol":578,"trade_turnover":7629.3886,"count":137},{"id":1603598400,"open":13277.0,"close":13243.4,"high":13369.0,"low":13216.0,"amount":0.47,"vol":470,"trade_turnover":6247.955,"count":122},{"id":1603602000,"open":13285.3,"close":13017.3,"high":13353.3,"low":13010.1,"amount":0.61,"vol":610,"trade_turnover":8048.8598,"count":134},{"id":1603605600,"open":13022.5,"close":13060.3,"high":13105.7,"low":13018.2,"amount":0.486,"vol":486,"trade_turnover":6344.1474,"count":118},{"id":1603609200,"open":13048.5,"close":13078.1,"high":13112.1,"low":13022.0,"amount":0.464,"vol":464,"trade_turnover":6061.5416,"count":120},{"id":1603612800,"open":13077.2,"close":13046.0,"high":13091.0,"low":13017.2,"amount":0.464,"vol":464,"trade_turnover":6055.3734,"count":120},{"id":1603616400,"open":13065.1,"close":13040.8,"high":13084.0,"low":13014.2,"amount":0.478,"vol":478,"trade_turnover":6235.7882,"count":117},{"id":1603620000,"open":13047.1,"close":13028.5,"high":13064.2,"low":13010.2,"amount":0.478,"vol":478,"trade_turnover":6232.2428,"count":125},{"id":1603623600,"open":13061.5,"close":12897.6,"high":13061.5,"low":12852.9,"amount":0.534,"vol":534,"trade_turnover":6918.1226,"count":123},{"id":1603627200,"open":12908.3,"close":12964.3,"high":13069.7,"low":12893.2,"amount":0.444,"vol":444,"trade_turnover":5755.8712,"count":117},{"id":1603630800,"open":13001.3,"close":12949.3,"high":13071.9,"low":12891.8,"amount":0.498,"vol":498,"trade_turnover":6465.078,"count":119},{"id":1603634400,"open":12975.8,"close":12946.8,"high":13077.7,"low":12900.0,"amount":0.468,"vol":468,"trade_turnover":6075.4554,"count":116},{"id":1603638000,"open":12975.2,"close":12883.3,"high":13069.1,"low":12883.3,"amount":0.47,"vol":470,"trade_turnover":6097.1072,"count":119},{"id":1603641600,"open":12916.2,"close":12978.7,"high":13067.9,"low":12877.5,"amount":0.482,"vol":482,"trade_turnover":6256.4472,"count":118},{"id":1603645200,"open":13008.0,"close":13004.4,"high":13087.5,"low":12922.7,"amount":0.47,"vol":470,"trade_turnover":6108.3892,"count":117},{"id":1603648800,"open":12972.8,"close":12957.2,"high":13067.6,"low":12893.6,"amount":0.468,"vol":468,"trade_turnover":6079.1484,"count":118},{"id":1603652400,"open":12996.5,"close":13021.8,"high":13066.9,"low":12916.6,"amount":0.442,"vol":442,"trade_turnover":5746.5548,"count":118},{"id":1603656000,"open":12992.9,"close":12985.4,"high":13081.5,"low":12944.9,"amount":0.508,"vol":508,"trade_turnover":6616.9872,"count":120},{"id":1603659600,"open":12999.9,"close":13011.2,"high":13068.6,"low":12921.4,"amount":0.508,"vol":508,"trade_turnover":6614.816,"count":122},{"id":1603663200,"open":12979.6,"close":12959.4,"high":13073.8,"low":12911.9,"amount":0.486,"vol":486,"trade_turnover":6320.907,"count":121},{"id":1603666800,"open":12963.4,"close":13032.1,"high":13085.2,"low":12927.8,"amount":0.452,"vol":452,"trade_turnover":5878.6442,"count":113},{"id":1603670400,"open":12964.2,"close":13001.0,"high":13076.7,"low":12918.3,"amount":0.482,"vol":482,"trade_turnover":6263.698,"count":121},{"id":1603674000,"open":13040.0,"close":13053.7,"high":13096.4,"low":12991.2,"amount":0.478,"vol":478,"trade_turnover":6232.2328,"count":124},{"id":1603677600,"open":13060.6,"close":13064.4,"high":13185.7,"low":12985.1,"amount":0.488,"vol":488,"trade_turnover":6387.534,"count":121},{"id":1603681200,"open":13032.3,"close":13092.8,"high":13187.2,"low":12984.1,"amount":0.486,"vol":486,"trade_turnover":6369.0272,"count":135},{"id":1603684800,"open":13092.0,"close":13132.6,"high":13181.6,"low":12962.3,"amount":0.51,"vol":510,"trade_turnover":6679.829,"count":131},{"id":1603688400,"open":13129.2,"close":13092.1,"high":13205.3,"low":13025.3,"amount":0.506,"vol":506,"trade_turnover":6641.2128,"count":126},{"id":1603692000,"open":13121.8,"close":13071.4,"high":13188.1,"low":12989.8,"amount":1.616,"vol":1616,"trade_turnover":21170.8224,"count":141},{"id":1603695600,"open":13061.0,"close":13038.7,"high":13100.0,"low":12965.2,"amount":3.746,"vol":3746,"trade_turnover":48924.8902,"count":110},{"id":1603699200,"open":13030.9,"close":13039.3,"high":13102.0,"low":12852.8,"amount":8.966,"vol":8966,"trade_turnover":116525.5534,"count":173},{"id":1603702800,"open":13047.1,"close":13075.9,"high":13088.4,"low":13039.8,"amount":4.48,"vol":4480,"trade_turnover":58521.1714,"count":124},{"id":1603706400,"open":13072.1,"close":13100.0,"high":13100.0,"low":13060.2,"amount":4.272,"vol":4272,"trade_turnover":55895.9778,"count":130},{"id":1603710000,"open":13100.0,"close":13138.4,"high":13159.0,"low":13100.0,"amount":29.798,"vol":29798,"trade_turnover":391138.024,"count":230},{"id":1603713600,"open":13138.8,"close":13149.8,"high":13200.0,"low":13100.0,"amount":5.154,"vol":5154,"trade_turnover":67694.652,"count":188},{"id":1603717200,"open":13150.0,"close":13205.8,"high":13351.5,"low":13133.1,"amount":35.608,"vol":35608,"trade_turnover":472780.3394,"count":328},{"id":1603720800,"open":13203.0,"close":13166.1,"high":13280.0,"low":13144.1,"amount":31.748,"vol":31748,"trade_turnover":418744.5588,"count":235},{"id":1603724400,"open":13159.0,"close":12978.0,"high":13165.2,"low":12903.8,"amount":36.53,"vol":36530,"trade_turnover":476940.3296,"count":384},{"id":1603728000,"open":12965.0,"close":12869.6,"high":13069.8,"low":12850.5,"amount":35.018,"vol":35018,"trade_turnover":453288.918,"count":323},{"id":1603731600,"open":12879.2,"close":12873.8,"high":12941.5,"low":12583.9,"amount":92.628,"vol":92628,"trade_turnover":1185973.467,"count":560},{"id":1603735200,"open":12856.2,"close":12946.8,"high":12954.5,"low":12820.4,"amount":4.302,"vol":4302,"trade_turnover":55481.0054,"count":128},{"id":1603738800,"open":12945.6,"close":12953.4,"high":12953.5,"low":12914.1,"amount":13.83,"vol":13830,"trade_turnover":179112.1598,"count":118},{"id":1603742400,"open":12953.5,"close":12983.4,"high":13007.5,"low":12953.5,"amount":17.172,"vol":17172,"trade_turnover":223230.2122,"count":132},{"id":1603746000,"open":12983.1,"close":12993.8,"high":13007.5,"low":12982.7,"amount":3.212,"vol":3212,"trade_turnover":41767.8906,"count":59},{"id":1603749600,"open":13002.1,"close":13007.5,"high":13007.5,"low":12974.0,"amount":1.504,"vol":1504,"trade_turnover":19543.3568,"count":74},{"id":1603753200,"open":13007.5,"close":13033.7,"high":13061.2,"low":13007.5,"amount":3.454,"vol":3454,"trade_turnover":45001.601,"count":101},{"id":1603756800,"open":13029.2,"close":13067.1,"high":13105.0,"low":13028.3,"amount":8.784,"vol":8784,"trade_turnover":114871.8246,"count":98},{"id":1603760400,"open":13074.3,"close":13061.7,"high":13074.4,"low":13051.5,"amount":11.592,"vol":11592,"trade_turnover":151386.9038,"count":66},{"id":1603764000,"open":13061.7,"close":13049.7,"high":13097.6,"low":13040.1,"amount":19.298,"vol":19298,"trade_turnover":252061.019,"count":109},{"id":1603767600,"open":13057.6,"close":13070.4,"high":13080.0,"low":13057.1,"amount":22.992,"vol":22992,"trade_turnover":300453.9788,"count":69},{"id":1603771200,"open":13080.0,"close":13103.3,"high":13175.0,"low":13079.6,"amount":14.396,"vol":14396,"trade_turnover":188461.9156,"count":59},{"id":1603774800,"open":13121.3,"close":13073.6,"high":13121.3,"low":13069.7,"amount":5.058,"vol":5058,"trade_turnover":66201.3552,"count":44},{"id":1603778400,"open":13074.9,"close":13103.4,"high":13149.0,"low":13069.6,"amount":9.106,"vol":9106,"trade_turnover":119104.8906,"count":107},{"id":1603782000,"open":13103.3,"close":13130.0,"high":13169.8,"low":12992.4,"amount":73.95,"vol":73950,"trade_turnover":968195.155,"count":305},{"id":1603785600,"open":13135.1,"close":13123.8,"high":13148.4,"low":13044.0,"amount":18.732,"vol":18732,"trade_turnover":245533.5448,"count":135},{"id":1603789200,"open":13115.5,"close":13131.7,"high":13131.8,"low":13075.7,"amount":13.756,"vol":13756,"trade_turnover":180253.7708,"count":102},{"id":1603792800,"open":13134.8,"close":13216.9,"high":13252.0,"low":13063.4,"amount":154.108,"vol":154108,"trade_turnover":2029983.656,"count":525},{"id":1603796400,"open":13218.8,"close":13395.8,"high":13590.1,"low":13213.5,"amount":170.09,"vol":170090,"trade_turnover":2276279.742,"count":591},{"id":1603800000,"open":13395.9,"close":13376.9,"high":13414.0,"low":13331.7,"amount":48.928,"vol":48928,"trade_turnover":654585.9108,"count":216},{"id":1603803600,"open":13376.5,"close":13384.3,"high":13490.9,"low":13329.8,"amount":63.294,"vol":63294,"trade_turnover":848130.9212,"count":316},{"id":1603807200,"open":13392.6,"close":13398.2,"high":13415.8,"low":13344.8,"amount":12.892,"vol":12892,"trade_turnover":172618.6864,"count":124},{"id":1603810800,"open":13398.2,"close":13598.5,"high":13626.7,"low":13398.2,"amount":93.22,"vol":93220,"trade_turnover":1262695.5466,"count":476},{"id":1603814400,"open":13595.8,"close":13639.9,"high":13639.9,"low":13520.2,"amount":85.45,"vol":85450,"trade_turnover":1161481.4136,"count":435},{"id":1603818000,"open":13640.0,"close":13688.1,"high":13826.7,"low":13589.0,"amount":191.812,"vol":191812,"trade_turnover":2628428.3788,"count":711},{"id":1603821600,"open":13685.0,"close":13630.1,"high":13745.0,"low":13528.2,"amount":65.434,"vol":65434,"trade_turnover":891541.8394,"count":410},{"id":1603825200,"open":13629.4,"close":13637.1,"high":13659.8,"low":13595.4,"amount":5.788,"vol":5788,"trade_turnover":78836.2578,"count":65},{"id":1603828800,"open":13644.4,"close":13616.6,"high":13805.1,"low":13582.6,"amount":163.104,"vol":163104,"trade_turnover":2234040.3544,"count":537},{"id":1603832400,"open":13609.8,"close":13705.5,"high":13753.5,"low":13609.8,"amount":9.884,"vol":9884,"trade_turnover":135406.4752,"count":101},{"id":1603836000,"open":13705.4,"close":13739.9,"high":13739.9,"low":13658.2,"amount":7.436,"vol":7436,"trade_turnover":101840.3508,"count":100},{"id":1603839600,"open":13739.9,"close":13649.6,"high":13794.6,"low":13582.6,"amount":17.086,"vol":17086,"trade_turnover":233971.8448,"count":234},{"id":1603843200,"open":13645.9,"close":13701.7,"high":13745.2,"low":13618.8,"amount":24.108,"vol":24108,"trade_turnover":330206.5694,"count":177},{"id":1603846800,"open":13702.1,"close":13702.6,"high":13725.6,"low":13647.9,"amount":15.892,"vol":15892,"trade_turnover":217816.7008,"count":151},{"id":1603850400,"open":13701.7,"close":13811.6,"high":13832.2,"low":13680.2,"amount":46.548,"vol":46548,"trade_turnover":640636.0352,"count":274},{"id":1603854000,"open":13818.5,"close":13777.0,"high":13820.3,"low":13717.5,"amount":67.896,"vol":67896,"trade_turnover":935838.2238,"count":320},{"id":1603857600,"open":13767.3,"close":13735.7,"high":13807.2,"low":13710.0,"amount":33.156,"vol":33156,"trade_turnover":455941.234,"count":210},{"id":1603861200,"open":13735.5,"close":13715.8,"high":13753.9,"low":13671.3,"amount":32.076,"vol":32076,"trade_turnover":439612.64,"count":198},{"id":1603864800,"open":13715.9,"close":13701.3,"high":13757.0,"low":13694.9,"amount":14.756,"vol":14756,"trade_turnover":202602.5164,"count":122},{"id":1603868400,"open":13701.2,"close":13674.2,"high":13708.7,"low":13550.0,"amount":155.534,"vol":155534,"trade_turnover":2117935.0928,"count":635},{"id":1603872000,"open":13673.0,"close":13691.7,"high":13691.7,"low":13584.0,"amount":29.846,"vol":29846,"trade_turnover":407073.1398,"count":240},{"id":1603875600,"open":13689.3,"close":13587.1,"high":13707.5,"low":13573.5,"amount":104.542,"vol":104542,"trade_turnover":1425079.9344,"count":377},{"id":1603879200,"open":13584.6,"close":13552.7,"high":13618.0,"low":13504.7,"amount":73.818,"vol":73818,"trade_turnover":1001666.0908,"count":358},{"id":1603882800,"open":13552.6,"close":13336.4,"high":13565.4,"low":13330.0,"amount":176.544,"vol":176544,"trade_turnover":2369166.1492,"count":1004},{"id":1603886400,"open":13331.5,"close":13300.3,"high":13385.0,"low":13173.9,"amount":289.73,"vol":289730,"trade_turnover":3846751.7166,"count":968},{"id":1603890000,"open":13300.2,"close":13129.9,"high":13340.0,"low":13122.9,"amount":139.822,"vol":139822,"trade_turnover":1848876.932,"count":612},{"id":1603893600,"open":13123.4,"close":13082.2,"high":13168.2,"low":12915.9,"amount":367.876,"vol":367876,"trade_turnover":4802516.9818,"count":1168},{"id":1603897200,"open":13077.1,"close":13221.2,"high":13235.2,"low":13052.3,"amount":84.044,"vol":84044,"trade_turnover":1106883.1282,"count":375},{"id":1603900800,"open":13218.7,"close":13145.1,"high":13218.7,"low":13050.0,"amount":29.566,"vol":29566,"trade_turnover":388697.4104,"count":244},{"id":1603904400,"open":13145.1,"close":13176.7,"high":13204.9,"low":13006.6,"amount":53.336,"vol":53336,"trade_turnover":700385.2784,"count":299},{"id":1603908000,"open":13171.0,"close":13196.5,"high":13219.6,"low":13131.0,"amount":34.164,"vol":34164,"trade_turnover":450210.5778,"count":218},{"id":1603911600,"open":13200.0,"close":13154.9,"high":13237.4,"low":13145.0,"amount":22.158,"vol":22158,"trade_turnover":292020.0438,"count":185},{"id":1603915200,"open":13154.5,"close":13198.1,"high":13211.8,"low":13147.4,"amount":4.548,"vol":4548,"trade_turnover":59991.1118,"count":75},{"id":1603918800,"open":13193.5,"close":13190.1,"high":13196.5,"low":13100.2,"amount":3.52,"vol":3520,"trade_turnover":46175.428,"count":68},{"id":1603922400,"open":13185.4,"close":13252.0,"high":13267.5,"low":13185.4,"amount":3.122,"vol":3122,"trade_turnover":41304.2018,"count":72},{"id":1603926000,"open":13242.1,"close":13265.9,"high":13282.3,"low":13235.9,"amount":14.768,"vol":14768,"trade_turnover":195689.0764,"count":86},{"id":1603929600,"open":13253.9,"close":13245.1,"high":13294.7,"low":13237.4,"amount":19.968,"vol":19968,"trade_turnover":264834.1944,"count":98},{"id":1603933200,"open":13244.6,"close":13274.2,"high":13285.3,"low":13166.3,"amount":35.282,"vol":35282,"trade_turnover":465789.6302,"count":192},{"id":1603936800,"open":13275.9,"close":13241.1,"high":13277.7,"low":13212.2,"amount":9.748,"vol":9748,"trade_turnover":129016.0684,"count":119},{"id":1603940400,"open":13237.1,"close":13262.5,"high":13262.5,"low":13174.6,"amount":27.3,"vol":27300,"trade_turnover":360589.8982,"count":199},{"id":1603944000,"open":13269.1,"close":13229.5,"high":13277.7,"low":13229.5,"amount":18.904,"vol":18904,"trade_turnover":250713.2812,"count":109},{"id":1603947600,"open":13228.5,"close":13274.8,"high":13274.8,"low":13228.5,"amount":15.822,"vol":15822,"trade_turnover":209781.909,"count":134},{"id":1603951200,"open":13274.8,"close":13255.0,"high":13323.0,"low":13242.3,"amount":91.246,"vol":91246,"trade_turnover":1211271.2788,"count":294},{"id":1603954800,"open":13255.0,"close":13142.4,"high":13269.3,"low":13123.1,"amount":187.622,"vol":187622,"trade_turnover":2478299.7074,"count":506},{"id":1603958400,"open":13145.9,"close":13124.8,"high":13182.4,"low":13094.1,"amount":69.532,"vol":69532,"trade_turnover":914157.2418,"count":226},{"id":1603962000,"open":13129.5,"close":13183.7,"high":13197.1,"low":13129.5,"amount":23.184,"vol":23184,"trade_turnover":305485.9524,"count":141},{"id":1603965600,"open":13184.8,"close":13105.2,"high":13187.5,"low":13053.1,"amount":121.146,"vol":121146,"trade_turnover":1590026.4416,"count":442},{"id":1603969200,"open":13105.1,"close":13060.1,"high":13171.4,"low":13060.1,"amount":47.498,"vol":47498,"trade_turnover":623578.149,"count":262},{"id":1603972800,"open":13056.9,"close":13131.8,"high":13145.8,"low":12977.9,"amount":126.552,"vol":126552,"trade_turnover":1652549.311,"count":481},{"id":1603976400,"open":13131.7,"close":13230.0,"high":13237.2,"low":13102.0,"amount":100.482,"vol":100482,"trade_turnover":1326403.7206,"count":325},{"id":1603980000,"open":13231.0,"close":13420.8,"high":13476.1,"low":13231.0,"amount":253.258,"vol":253258,"trade_turnover":3384941.438,"count":752},{"id":1603983600,"open":13416.0,"close":13420.6,"high":13458.7,"low":13358.7,"amount":64.71,"vol":64710,"trade_turnover":869052.3804,"count":269},{"id":1603987200,"open":13421.9,"close":13535.9,"high":13594.5,"low":13391.8,"amount":120.24,"vol":120240,"trade_turnover":1626567.8278,"count":570}]} +2024-01-18 11:13:14.013 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:41] - 请求 KLine 数据解析之后的数据为:{"wsid":19750305,"data":[{"amount":0.276,"high":12300.0,"vol":276,"low":11715.8,"count":39,"id":1603270800,"close":12196.7,"tradeTurnover":3315.9104,"open":12198.0},{"amount":0.198,"high":12289.9,"vol":198,"low":12111.0,"count":21,"id":1603274400,"close":12277.9,"tradeTurnover":2420.7728,"open":12196.7},{"amount":0.012,"high":12277.9,"vol":12,"low":12000.0,"count":5,"id":1603278000,"close":12000.0,"tradeTurnover":145.2238,"open":12111.0},{"amount":0.084,"high":12498.0,"vol":84,"low":12078.0,"count":12,"id":1603281600,"close":12497.4,"tradeTurnover":1040.0504,"open":12078.0},{"amount":1.122,"high":12495.6,"vol":1122,"low":12282.9,"count":112,"id":1603285200,"close":12373.5,"tradeTurnover":13905.3124,"open":12495.6},{"amount":5.29,"high":12807.6,"vol":5290,"low":12358.1,"count":155,"id":1603288800,"close":12689.9,"tradeTurnover":66852.128,"open":12412.9},{"amount":1.174,"high":12778.7,"vol":1174,"low":12573.2,"count":113,"id":1603292400,"close":12701.9,"tradeTurnover":14907.367,"open":12692.8},{"amount":1.156,"high":12920.9,"vol":1156,"low":12624.8,"count":115,"id":1603296000,"close":12835.9,"tradeTurnover":14802.449,"open":12679.7},{"amount":1.12,"high":12908.3,"vol":1120,"low":12687.5,"count":115,"id":1603299600,"close":12754.2,"tradeTurnover":14345.7324,"open":12848.3},{"amount":1.106,"high":12849.0,"vol":1106,"low":12668.3,"count":114,"id":1603303200,"close":12740.2,"tradeTurnover":14105.3504,"open":12743.7},{"amount":1.032,"high":12843.1,"vol":1032,"low":12597.2,"count":112,"id":1603306800,"close":12650.3,"tradeTurnover":13125.4568,"open":12729.5},{"amount":1.154,"high":12848.4,"vol":1154,"low":12610.2,"count":116,"id":1603310400,"close":12807.0,"tradeTurnover":14680.638,"open":12666.8},{"amount":1.164,"high":13005.1,"vol":1164,"low":12748.2,"count":114,"id":1603314000,"close":12938.9,"tradeTurnover":14976.9366,"open":12866.0},{"amount":1.174,"high":13211.2,"vol":1174,"low":12865.7,"count":114,"id":1603317600,"close":13122.0,"tradeTurnover":15285.2446,"open":12921.0},{"amount":1.172,"high":13173.2,"vol":1172,"low":12688.6,"count":117,"id":1603321200,"close":12829.8,"tradeTurnover":15060.9938,"open":13153.2},{"amount":1.17,"high":12988.1,"vol":1170,"low":12764.4,"count":117,"id":1603324800,"close":12885.9,"tradeTurnover":15046.2046,"open":12793.1},{"amount":1.158,"high":12972.6,"vol":1158,"low":12757.5,"count":118,"id":1603328400,"close":12757.5,"tradeTurnover":14882.4656,"open":12860.4},{"amount":1.124,"high":12848.0,"vol":1124,"low":12729.0,"count":115,"id":1603332000,"close":12788.8,"tradeTurnover":14368.7948,"open":12824.1},{"amount":1.194,"high":12834.4,"vol":1194,"low":12729.0,"count":111,"id":1603335600,"close":12767.2,"tradeTurnover":15268.9298,"open":12791.7},{"amount":1.152,"high":12778.3,"vol":1152,"low":12729.0,"count":115,"id":1603339200,"close":12762.2,"tradeTurnover":14695.4876,"open":12729.0},{"amount":1.21,"high":12842.0,"vol":1210,"low":12730.6,"count":119,"id":1603342800,"close":12813.8,"tradeTurnover":15440.8162,"open":12763.1},{"amount":1.188,"high":12795.0,"vol":1188,"low":12728.0,"count":123,"id":1603346400,"close":12729.1,"tradeTurnover":15128.0098,"open":12795.0},{"amount":1.266,"high":12730.6,"vol":1266,"low":12728.3,"count":112,"id":1603350000,"close":12730.6,"tradeTurnover":16115.1306,"open":12728.6},{"amount":1.35,"high":12921.5,"vol":1350,"low":12729.9,"count":127,"id":1603353600,"close":12770.1,"tradeTurnover":17233.7326,"open":12730.3},{"amount":0.98,"high":12872.1,"vol":980,"low":12760.1,"count":99,"id":1603357200,"close":12780.4,"tradeTurnover":12553.9826,"open":12824.9},{"amount":0.266,"high":13002.7,"vol":266,"low":12775.6,"count":30,"id":1603360800,"close":12934.2,"tradeTurnover":3415.023,"open":12784.9},{"amount":1.004,"high":13057.0,"vol":1004,"low":12886.6,"count":117,"id":1603364400,"close":13045.0,"tradeTurnover":13020.8576,"open":12977.0},{"amount":1.134,"high":12973.4,"vol":1134,"low":12751.6,"count":111,"id":1603368000,"close":12847.9,"tradeTurnover":14594.2752,"open":12958.5},{"amount":1.152,"high":13000.8,"vol":1152,"low":12743.0,"count":114,"id":1603371600,"close":12931.0,"tradeTurnover":14877.7314,"open":12882.7},{"amount":1.182,"high":12995.3,"vol":1182,"low":12783.9,"count":115,"id":1603375200,"close":12917.8,"tradeTurnover":15224.4716,"open":12890.4},{"amount":1.176,"high":13031.2,"vol":1176,"low":12817.9,"count":117,"id":1603378800,"close":12953.0,"tradeTurnover":15197.208,"open":12918.8},{"amount":1.146,"high":13100.2,"vol":1146,"low":12865.6,"count":119,"id":1603382400,"close":13055.6,"tradeTurnover":14851.9604,"open":12923.1},{"amount":1.534,"high":13105.7,"vol":1534,"low":12835.5,"count":124,"id":1603386000,"close":13082.7,"tradeTurnover":19927.8288,"open":12967.6},{"amount":1.268,"high":13115.0,"vol":1268,"low":12938.7,"count":117,"id":1603389600,"close":13016.4,"tradeTurnover":16505.4738,"open":13020.4},{"amount":1.13,"high":13171.2,"vol":1130,"low":12961.8,"count":112,"id":1603393200,"close":12970.6,"tradeTurnover":14762.952,"open":13028.3},{"amount":1.206,"high":13216.1,"vol":1206,"low":12998.5,"count":117,"id":1603396800,"close":13089.3,"tradeTurnover":15807.1226,"open":13016.7},{"amount":1.332,"high":13203.7,"vol":1332,"low":12932.9,"count":114,"id":1603400400,"close":13092.0,"tradeTurnover":17423.4422,"open":13136.0},{"amount":1.21,"high":13250.5,"vol":1210,"low":12984.7,"count":114,"id":1603404000,"close":13055.9,"tradeTurnover":15876.0632,"open":13119.4},{"amount":1.286,"high":13126.5,"vol":1286,"low":12857.2,"count":116,"id":1603407600,"close":12890.4,"tradeTurnover":16688.422,"open":13059.4},{"amount":1.502,"high":12994.0,"vol":1502,"low":12751.6,"count":131,"id":1603411200,"close":12892.2,"tradeTurnover":19331.1596,"open":12929.7},{"amount":1.386,"high":13003.2,"vol":1386,"low":12786.0,"count":121,"id":1603414800,"close":12898.3,"tradeTurnover":17904.8902,"open":12921.7},{"amount":1.416,"high":13054.0,"vol":1416,"low":12800.7,"count":122,"id":1603418400,"close":12975.1,"tradeTurnover":18306.6204,"open":12951.6},{"amount":1.19,"high":13030.7,"vol":1190,"low":12875.0,"count":118,"id":1603422000,"close":12947.0,"tradeTurnover":15409.7984,"open":12967.3},{"amount":1.022,"high":13047.3,"vol":1022,"low":12832.8,"count":127,"id":1603425600,"close":12852.0,"tradeTurnover":13214.4388,"open":12925.2},{"amount":0.478,"high":12991.7,"vol":478,"low":12841.2,"count":118,"id":1603429200,"close":12931.1,"tradeTurnover":6180.2486,"open":12859.0},{"amount":0.522,"high":13014.1,"vol":522,"low":12871.9,"count":132,"id":1603432800,"close":12939.6,"tradeTurnover":6759.0324,"open":12935.9},{"amount":0.476,"high":12998.9,"vol":476,"low":12917.1,"count":118,"id":1603436400,"close":12925.4,"tradeTurnover":6163.3118,"open":12923.1},{"amount":0.508,"high":13014.0,"vol":508,"low":12916.1,"count":122,"id":1603440000,"close":12962.6,"tradeTurnover":6585.3656,"open":12942.2},{"amount":0.564,"high":13012.5,"vol":564,"low":12909.9,"count":124,"id":1603443600,"close":12926.4,"tradeTurnover":7308.8828,"open":12970.5},{"amount":0.536,"high":13059.5,"vol":536,"low":12925.7,"count":124,"id":1603447200,"close":13007.7,"tradeTurnover":6957.8796,"open":13001.2},{"amount":0.486,"high":13078.4,"vol":486,"low":12906.5,"count":122,"id":1603450800,"close":12970.6,"tradeTurnover":6326.1434,"open":13025.4},{"amount":0.494,"high":13025.0,"vol":494,"low":12850.8,"count":117,"id":1603454400,"close":12935.4,"tradeTurnover":6396.0984,"open":12963.9},{"amount":0.466,"high":13043.3,"vol":466,"low":12911.0,"count":117,"id":1603458000,"close":12951.7,"tradeTurnover":6049.1412,"open":12913.3},{"amount":0.46,"high":13006.4,"vol":460,"low":12840.4,"count":116,"id":1603461600,"close":12858.8,"tradeTurnover":5941.815,"open":12999.6},{"amount":0.492,"high":12932.9,"vol":492,"low":12826.5,"count":117,"id":1603465200,"close":12881.9,"tradeTurnover":6340.214,"open":12885.7},{"amount":0.484,"high":12933.5,"vol":484,"low":12744.4,"count":123,"id":1603468800,"close":12784.1,"tradeTurnover":6205.4138,"open":12854.4},{"amount":0.562,"high":12893.1,"vol":562,"low":12730.1,"count":152,"id":1603472400,"close":12847.7,"tradeTurnover":7218.9184,"open":12832.3},{"amount":0.53,"high":12939.3,"vol":530,"low":12751.4,"count":128,"id":1603476000,"close":12915.7,"tradeTurnover":6825.7004,"open":12874.1},{"amount":0.444,"high":12972.9,"vol":444,"low":12786.6,"count":117,"id":1603479600,"close":12972.9,"tradeTurnover":5727.7452,"open":12867.9},{"amount":0.492,"high":13002.2,"vol":492,"low":12842.9,"count":116,"id":1603483200,"close":12991.6,"tradeTurnover":6375.1566,"open":12956.7},{"amount":0.5,"high":13004.3,"vol":500,"low":12936.6,"count":125,"id":1603486800,"close":12943.5,"tradeTurnover":6485.468,"open":13004.3},{"amount":0.492,"high":13010.3,"vol":492,"low":12884.7,"count":120,"id":1603490400,"close":12989.2,"tradeTurnover":6376.1492,"open":12923.6},{"amount":0.51,"high":13024.4,"vol":510,"low":12884.6,"count":121,"id":1603494000,"close":12884.6,"tradeTurnover":6622.3406,"open":12974.9},{"amount":0.488,"high":13018.3,"vol":488,"low":12811.1,"count":120,"id":1603497600,"close":12953.9,"tradeTurnover":6317.7938,"open":12973.7},{"amount":0.482,"high":13018.1,"vol":482,"low":12872.8,"count":117,"id":1603501200,"close":12934.2,"tradeTurnover":6242.4178,"open":12927.5},{"amount":0.484,"high":13003.9,"vol":484,"low":12903.3,"count":117,"id":1603504800,"close":12989.1,"tradeTurnover":6278.1756,"open":12971.9},{"amount":0.474,"high":13013.4,"vol":474,"low":12938.3,"count":122,"id":1603508400,"close":12975.9,"tradeTurnover":6157.7096,"open":13000.1},{"amount":0.526,"high":13009.4,"vol":526,"low":12905.5,"count":124,"id":1603512000,"close":12963.3,"tradeTurnover":6831.5658,"open":12989.7},{"amount":0.522,"high":13041.8,"vol":522,"low":12875.3,"count":127,"id":1603515600,"close":12989.7,"tradeTurnover":6768.8994,"open":12910.5},{"amount":0.49,"high":13058.1,"vol":490,"low":12908.8,"count":120,"id":1603519200,"close":13003.6,"tradeTurnover":6370.5714,"open":12994.7},{"amount":0.478,"high":13037.8,"vol":478,"low":12981.7,"count":120,"id":1603522800,"close":13004.2,"tradeTurnover":6218.9722,"open":13011.9},{"amount":0.52,"high":13030.6,"vol":520,"low":12899.4,"count":124,"id":1603526400,"close":12998.2,"tradeTurnover":6754.958,"open":13003.0},{"amount":0.454,"high":13020.3,"vol":454,"low":12893.6,"count":115,"id":1603530000,"close":12990.6,"tradeTurnover":5891.0574,"open":12998.2},{"amount":0.502,"high":13059.1,"vol":502,"low":12913.2,"count":124,"id":1603533600,"close":13030.1,"tradeTurnover":6525.9004,"open":12996.4},{"amount":0.468,"high":13068.3,"vol":468,"low":12940.2,"count":119,"id":1603537200,"close":13033.2,"tradeTurnover":6091.0376,"open":12988.4},{"amount":0.468,"high":13071.8,"vol":468,"low":12978.9,"count":123,"id":1603540800,"close":13006.5,"tradeTurnover":6102.5902,"open":13035.3},{"amount":0.534,"high":13066.7,"vol":534,"low":12928.1,"count":123,"id":1603544400,"close":12985.9,"tradeTurnover":6950.4268,"open":13038.8},{"amount":0.47,"high":13100.1,"vol":470,"low":12960.5,"count":100,"id":1603548000,"close":13042.0,"tradeTurnover":6124.2178,"open":12986.3},{"amount":0.456,"high":13196.5,"vol":456,"low":13038.4,"count":120,"id":1603551600,"close":13102.2,"tradeTurnover":5989.6362,"open":13038.4},{"amount":0.458,"high":13176.6,"vol":458,"low":12984.6,"count":121,"id":1603555200,"close":13052.7,"tradeTurnover":5976.331,"open":13136.8},{"amount":0.452,"high":13177.8,"vol":452,"low":13003.2,"count":118,"id":1603558800,"close":13177.8,"tradeTurnover":5911.7058,"open":13006.2},{"amount":0.468,"high":13170.7,"vol":468,"low":13023.0,"count":119,"id":1603562400,"close":13080.8,"tradeTurnover":6122.375,"open":13127.7},{"amount":0.468,"high":13179.3,"vol":468,"low":13014.2,"count":120,"id":1603566000,"close":13148.4,"tradeTurnover":6126.4278,"open":13040.7},{"amount":0.47,"high":13179.6,"vol":470,"low":12992.5,"count":119,"id":1603569600,"close":13090.1,"tradeTurnover":6151.4758,"open":13073.5},{"amount":0.458,"high":13148.7,"vol":458,"low":12980.7,"count":117,"id":1603573200,"close":12993.9,"tradeTurnover":5981.071,"open":13035.4},{"amount":0.478,"high":13112.1,"vol":478,"low":12975.6,"count":118,"id":1603576800,"close":13041.1,"tradeTurnover":6225.4216,"open":13040.7},{"amount":0.472,"high":13184.3,"vol":472,"low":13009.3,"count":118,"id":1603580400,"close":13184.3,"tradeTurnover":6173.4244,"open":13012.6},{"amount":0.46,"high":13170.4,"vol":460,"low":13007.7,"count":115,"id":1603584000,"close":13154.3,"tradeTurnover":6024.09,"open":13080.8},{"amount":0.398,"high":13196.8,"vol":398,"low":13024.0,"count":102,"id":1603587600,"close":13196.1,"tradeTurnover":5217.5364,"open":13092.0},{"amount":0.476,"high":13175.1,"vol":476,"low":13035.0,"count":120,"id":1603591200,"close":13082.4,"tradeTurnover":6228.6596,"open":13124.7},{"amount":0.578,"high":13383.8,"vol":578,"low":13049.1,"count":137,"id":1603594800,"close":13259.0,"tradeTurnover":7629.3886,"open":13049.1},{"amount":0.47,"high":13369.0,"vol":470,"low":13216.0,"count":122,"id":1603598400,"close":13243.4,"tradeTurnover":6247.955,"open":13277.0},{"amount":0.61,"high":13353.3,"vol":610,"low":13010.1,"count":134,"id":1603602000,"close":13017.3,"tradeTurnover":8048.8598,"open":13285.3},{"amount":0.486,"high":13105.7,"vol":486,"low":13018.2,"count":118,"id":1603605600,"close":13060.3,"tradeTurnover":6344.1474,"open":13022.5},{"amount":0.464,"high":13112.1,"vol":464,"low":13022.0,"count":120,"id":1603609200,"close":13078.1,"tradeTurnover":6061.5416,"open":13048.5},{"amount":0.464,"high":13091.0,"vol":464,"low":13017.2,"count":120,"id":1603612800,"close":13046.0,"tradeTurnover":6055.3734,"open":13077.2},{"amount":0.478,"high":13084.0,"vol":478,"low":13014.2,"count":117,"id":1603616400,"close":13040.8,"tradeTurnover":6235.7882,"open":13065.1},{"amount":0.478,"high":13064.2,"vol":478,"low":13010.2,"count":125,"id":1603620000,"close":13028.5,"tradeTurnover":6232.2428,"open":13047.1},{"amount":0.534,"high":13061.5,"vol":534,"low":12852.9,"count":123,"id":1603623600,"close":12897.6,"tradeTurnover":6918.1226,"open":13061.5},{"amount":0.444,"high":13069.7,"vol":444,"low":12893.2,"count":117,"id":1603627200,"close":12964.3,"tradeTurnover":5755.8712,"open":12908.3},{"amount":0.498,"high":13071.9,"vol":498,"low":12891.8,"count":119,"id":1603630800,"close":12949.3,"tradeTurnover":6465.078,"open":13001.3},{"amount":0.468,"high":13077.7,"vol":468,"low":12900.0,"count":116,"id":1603634400,"close":12946.8,"tradeTurnover":6075.4554,"open":12975.8},{"amount":0.47,"high":13069.1,"vol":470,"low":12883.3,"count":119,"id":1603638000,"close":12883.3,"tradeTurnover":6097.1072,"open":12975.2},{"amount":0.482,"high":13067.9,"vol":482,"low":12877.5,"count":118,"id":1603641600,"close":12978.7,"tradeTurnover":6256.4472,"open":12916.2},{"amount":0.47,"high":13087.5,"vol":470,"low":12922.7,"count":117,"id":1603645200,"close":13004.4,"tradeTurnover":6108.3892,"open":13008.0},{"amount":0.468,"high":13067.6,"vol":468,"low":12893.6,"count":118,"id":1603648800,"close":12957.2,"tradeTurnover":6079.1484,"open":12972.8},{"amount":0.442,"high":13066.9,"vol":442,"low":12916.6,"count":118,"id":1603652400,"close":13021.8,"tradeTurnover":5746.5548,"open":12996.5},{"amount":0.508,"high":13081.5,"vol":508,"low":12944.9,"count":120,"id":1603656000,"close":12985.4,"tradeTurnover":6616.9872,"open":12992.9},{"amount":0.508,"high":13068.6,"vol":508,"low":12921.4,"count":122,"id":1603659600,"close":13011.2,"tradeTurnover":6614.816,"open":12999.9},{"amount":0.486,"high":13073.8,"vol":486,"low":12911.9,"count":121,"id":1603663200,"close":12959.4,"tradeTurnover":6320.907,"open":12979.6},{"amount":0.452,"high":13085.2,"vol":452,"low":12927.8,"count":113,"id":1603666800,"close":13032.1,"tradeTurnover":5878.6442,"open":12963.4},{"amount":0.482,"high":13076.7,"vol":482,"low":12918.3,"count":121,"id":1603670400,"close":13001.0,"tradeTurnover":6263.698,"open":12964.2},{"amount":0.478,"high":13096.4,"vol":478,"low":12991.2,"count":124,"id":1603674000,"close":13053.7,"tradeTurnover":6232.2328,"open":13040.0},{"amount":0.488,"high":13185.7,"vol":488,"low":12985.1,"count":121,"id":1603677600,"close":13064.4,"tradeTurnover":6387.534,"open":13060.6},{"amount":0.486,"high":13187.2,"vol":486,"low":12984.1,"count":135,"id":1603681200,"close":13092.8,"tradeTurnover":6369.0272,"open":13032.3},{"amount":0.51,"high":13181.6,"vol":510,"low":12962.3,"count":131,"id":1603684800,"close":13132.6,"tradeTurnover":6679.829,"open":13092.0},{"amount":0.506,"high":13205.3,"vol":506,"low":13025.3,"count":126,"id":1603688400,"close":13092.1,"tradeTurnover":6641.2128,"open":13129.2},{"amount":1.616,"high":13188.1,"vol":1616,"low":12989.8,"count":141,"id":1603692000,"close":13071.4,"tradeTurnover":21170.8224,"open":13121.8},{"amount":3.746,"high":13100.0,"vol":3746,"low":12965.2,"count":110,"id":1603695600,"close":13038.7,"tradeTurnover":48924.8902,"open":13061.0},{"amount":8.966,"high":13102.0,"vol":8966,"low":12852.8,"count":173,"id":1603699200,"close":13039.3,"tradeTurnover":116525.5534,"open":13030.9},{"amount":4.48,"high":13088.4,"vol":4480,"low":13039.8,"count":124,"id":1603702800,"close":13075.9,"tradeTurnover":58521.1714,"open":13047.1},{"amount":4.272,"high":13100.0,"vol":4272,"low":13060.2,"count":130,"id":1603706400,"close":13100.0,"tradeTurnover":55895.9778,"open":13072.1},{"amount":29.798,"high":13159.0,"vol":29798,"low":13100.0,"count":230,"id":1603710000,"close":13138.4,"tradeTurnover":391138.024,"open":13100.0},{"amount":5.154,"high":13200.0,"vol":5154,"low":13100.0,"count":188,"id":1603713600,"close":13149.8,"tradeTurnover":67694.652,"open":13138.8},{"amount":35.608,"high":13351.5,"vol":35608,"low":13133.1,"count":328,"id":1603717200,"close":13205.8,"tradeTurnover":472780.3394,"open":13150.0},{"amount":31.748,"high":13280.0,"vol":31748,"low":13144.1,"count":235,"id":1603720800,"close":13166.1,"tradeTurnover":418744.5588,"open":13203.0},{"amount":36.53,"high":13165.2,"vol":36530,"low":12903.8,"count":384,"id":1603724400,"close":12978.0,"tradeTurnover":476940.3296,"open":13159.0},{"amount":35.018,"high":13069.8,"vol":35018,"low":12850.5,"count":323,"id":1603728000,"close":12869.6,"tradeTurnover":453288.918,"open":12965.0},{"amount":92.628,"high":12941.5,"vol":92628,"low":12583.9,"count":560,"id":1603731600,"close":12873.8,"tradeTurnover":1185973.467,"open":12879.2},{"amount":4.302,"high":12954.5,"vol":4302,"low":12820.4,"count":128,"id":1603735200,"close":12946.8,"tradeTurnover":55481.0054,"open":12856.2},{"amount":13.83,"high":12953.5,"vol":13830,"low":12914.1,"count":118,"id":1603738800,"close":12953.4,"tradeTurnover":179112.1598,"open":12945.6},{"amount":17.172,"high":13007.5,"vol":17172,"low":12953.5,"count":132,"id":1603742400,"close":12983.4,"tradeTurnover":223230.2122,"open":12953.5},{"amount":3.212,"high":13007.5,"vol":3212,"low":12982.7,"count":59,"id":1603746000,"close":12993.8,"tradeTurnover":41767.8906,"open":12983.1},{"amount":1.504,"high":13007.5,"vol":1504,"low":12974.0,"count":74,"id":1603749600,"close":13007.5,"tradeTurnover":19543.3568,"open":13002.1},{"amount":3.454,"high":13061.2,"vol":3454,"low":13007.5,"count":101,"id":1603753200,"close":13033.7,"tradeTurnover":45001.601,"open":13007.5},{"amount":8.784,"high":13105.0,"vol":8784,"low":13028.3,"count":98,"id":1603756800,"close":13067.1,"tradeTurnover":114871.8246,"open":13029.2},{"amount":11.592,"high":13074.4,"vol":11592,"low":13051.5,"count":66,"id":1603760400,"close":13061.7,"tradeTurnover":151386.9038,"open":13074.3},{"amount":19.298,"high":13097.6,"vol":19298,"low":13040.1,"count":109,"id":1603764000,"close":13049.7,"tradeTurnover":252061.019,"open":13061.7},{"amount":22.992,"high":13080.0,"vol":22992,"low":13057.1,"count":69,"id":1603767600,"close":13070.4,"tradeTurnover":300453.9788,"open":13057.6},{"amount":14.396,"high":13175.0,"vol":14396,"low":13079.6,"count":59,"id":1603771200,"close":13103.3,"tradeTurnover":188461.9156,"open":13080.0},{"amount":5.058,"high":13121.3,"vol":5058,"low":13069.7,"count":44,"id":1603774800,"close":13073.6,"tradeTurnover":66201.3552,"open":13121.3},{"amount":9.106,"high":13149.0,"vol":9106,"low":13069.6,"count":107,"id":1603778400,"close":13103.4,"tradeTurnover":119104.8906,"open":13074.9},{"amount":73.95,"high":13169.8,"vol":73950,"low":12992.4,"count":305,"id":1603782000,"close":13130.0,"tradeTurnover":968195.155,"open":13103.3},{"amount":18.732,"high":13148.4,"vol":18732,"low":13044.0,"count":135,"id":1603785600,"close":13123.8,"tradeTurnover":245533.5448,"open":13135.1},{"amount":13.756,"high":13131.8,"vol":13756,"low":13075.7,"count":102,"id":1603789200,"close":13131.7,"tradeTurnover":180253.7708,"open":13115.5},{"amount":154.108,"high":13252.0,"vol":154108,"low":13063.4,"count":525,"id":1603792800,"close":13216.9,"tradeTurnover":2029983.656,"open":13134.8},{"amount":170.09,"high":13590.1,"vol":170090,"low":13213.5,"count":591,"id":1603796400,"close":13395.8,"tradeTurnover":2276279.742,"open":13218.8},{"amount":48.928,"high":13414.0,"vol":48928,"low":13331.7,"count":216,"id":1603800000,"close":13376.9,"tradeTurnover":654585.9108,"open":13395.9},{"amount":63.294,"high":13490.9,"vol":63294,"low":13329.8,"count":316,"id":1603803600,"close":13384.3,"tradeTurnover":848130.9212,"open":13376.5},{"amount":12.892,"high":13415.8,"vol":12892,"low":13344.8,"count":124,"id":1603807200,"close":13398.2,"tradeTurnover":172618.6864,"open":13392.6},{"amount":93.22,"high":13626.7,"vol":93220,"low":13398.2,"count":476,"id":1603810800,"close":13598.5,"tradeTurnover":1262695.5466,"open":13398.2},{"amount":85.45,"high":13639.9,"vol":85450,"low":13520.2,"count":435,"id":1603814400,"close":13639.9,"tradeTurnover":1161481.4136,"open":13595.8},{"amount":191.812,"high":13826.7,"vol":191812,"low":13589.0,"count":711,"id":1603818000,"close":13688.1,"tradeTurnover":2628428.3788,"open":13640.0},{"amount":65.434,"high":13745.0,"vol":65434,"low":13528.2,"count":410,"id":1603821600,"close":13630.1,"tradeTurnover":891541.8394,"open":13685.0},{"amount":5.788,"high":13659.8,"vol":5788,"low":13595.4,"count":65,"id":1603825200,"close":13637.1,"tradeTurnover":78836.2578,"open":13629.4},{"amount":163.104,"high":13805.1,"vol":163104,"low":13582.6,"count":537,"id":1603828800,"close":13616.6,"tradeTurnover":2234040.3544,"open":13644.4},{"amount":9.884,"high":13753.5,"vol":9884,"low":13609.8,"count":101,"id":1603832400,"close":13705.5,"tradeTurnover":135406.4752,"open":13609.8},{"amount":7.436,"high":13739.9,"vol":7436,"low":13658.2,"count":100,"id":1603836000,"close":13739.9,"tradeTurnover":101840.3508,"open":13705.4},{"amount":17.086,"high":13794.6,"vol":17086,"low":13582.6,"count":234,"id":1603839600,"close":13649.6,"tradeTurnover":233971.8448,"open":13739.9},{"amount":24.108,"high":13745.2,"vol":24108,"low":13618.8,"count":177,"id":1603843200,"close":13701.7,"tradeTurnover":330206.5694,"open":13645.9},{"amount":15.892,"high":13725.6,"vol":15892,"low":13647.9,"count":151,"id":1603846800,"close":13702.6,"tradeTurnover":217816.7008,"open":13702.1},{"amount":46.548,"high":13832.2,"vol":46548,"low":13680.2,"count":274,"id":1603850400,"close":13811.6,"tradeTurnover":640636.0352,"open":13701.7},{"amount":67.896,"high":13820.3,"vol":67896,"low":13717.5,"count":320,"id":1603854000,"close":13777.0,"tradeTurnover":935838.2238,"open":13818.5},{"amount":33.156,"high":13807.2,"vol":33156,"low":13710.0,"count":210,"id":1603857600,"close":13735.7,"tradeTurnover":455941.234,"open":13767.3},{"amount":32.076,"high":13753.9,"vol":32076,"low":13671.3,"count":198,"id":1603861200,"close":13715.8,"tradeTurnover":439612.64,"open":13735.5},{"amount":14.756,"high":13757.0,"vol":14756,"low":13694.9,"count":122,"id":1603864800,"close":13701.3,"tradeTurnover":202602.5164,"open":13715.9},{"amount":155.534,"high":13708.7,"vol":155534,"low":13550.0,"count":635,"id":1603868400,"close":13674.2,"tradeTurnover":2117935.0928,"open":13701.2},{"amount":29.846,"high":13691.7,"vol":29846,"low":13584.0,"count":240,"id":1603872000,"close":13691.7,"tradeTurnover":407073.1398,"open":13673.0},{"amount":104.542,"high":13707.5,"vol":104542,"low":13573.5,"count":377,"id":1603875600,"close":13587.1,"tradeTurnover":1425079.9344,"open":13689.3},{"amount":73.818,"high":13618.0,"vol":73818,"low":13504.7,"count":358,"id":1603879200,"close":13552.7,"tradeTurnover":1001666.0908,"open":13584.6},{"amount":176.544,"high":13565.4,"vol":176544,"low":13330.0,"count":1004,"id":1603882800,"close":13336.4,"tradeTurnover":2369166.1492,"open":13552.6},{"amount":289.73,"high":13385.0,"vol":289730,"low":13173.9,"count":968,"id":1603886400,"close":13300.3,"tradeTurnover":3846751.7166,"open":13331.5},{"amount":139.822,"high":13340.0,"vol":139822,"low":13122.9,"count":612,"id":1603890000,"close":13129.9,"tradeTurnover":1848876.932,"open":13300.2},{"amount":367.876,"high":13168.2,"vol":367876,"low":12915.9,"count":1168,"id":1603893600,"close":13082.2,"tradeTurnover":4802516.9818,"open":13123.4},{"amount":84.044,"high":13235.2,"vol":84044,"low":13052.3,"count":375,"id":1603897200,"close":13221.2,"tradeTurnover":1106883.1282,"open":13077.1},{"amount":29.566,"high":13218.7,"vol":29566,"low":13050.0,"count":244,"id":1603900800,"close":13145.1,"tradeTurnover":388697.4104,"open":13218.7},{"amount":53.336,"high":13204.9,"vol":53336,"low":13006.6,"count":299,"id":1603904400,"close":13176.7,"tradeTurnover":700385.2784,"open":13145.1},{"amount":34.164,"high":13219.6,"vol":34164,"low":13131.0,"count":218,"id":1603908000,"close":13196.5,"tradeTurnover":450210.5778,"open":13171.0},{"amount":22.158,"high":13237.4,"vol":22158,"low":13145.0,"count":185,"id":1603911600,"close":13154.9,"tradeTurnover":292020.0438,"open":13200.0},{"amount":4.548,"high":13211.8,"vol":4548,"low":13147.4,"count":75,"id":1603915200,"close":13198.1,"tradeTurnover":59991.1118,"open":13154.5},{"amount":3.52,"high":13196.5,"vol":3520,"low":13100.2,"count":68,"id":1603918800,"close":13190.1,"tradeTurnover":46175.428,"open":13193.5},{"amount":3.122,"high":13267.5,"vol":3122,"low":13185.4,"count":72,"id":1603922400,"close":13252.0,"tradeTurnover":41304.2018,"open":13185.4},{"amount":14.768,"high":13282.3,"vol":14768,"low":13235.9,"count":86,"id":1603926000,"close":13265.9,"tradeTurnover":195689.0764,"open":13242.1},{"amount":19.968,"high":13294.7,"vol":19968,"low":13237.4,"count":98,"id":1603929600,"close":13245.1,"tradeTurnover":264834.1944,"open":13253.9},{"amount":35.282,"high":13285.3,"vol":35282,"low":13166.3,"count":192,"id":1603933200,"close":13274.2,"tradeTurnover":465789.6302,"open":13244.6},{"amount":9.748,"high":13277.7,"vol":9748,"low":13212.2,"count":119,"id":1603936800,"close":13241.1,"tradeTurnover":129016.0684,"open":13275.9},{"amount":27.3,"high":13262.5,"vol":27300,"low":13174.6,"count":199,"id":1603940400,"close":13262.5,"tradeTurnover":360589.8982,"open":13237.1},{"amount":18.904,"high":13277.7,"vol":18904,"low":13229.5,"count":109,"id":1603944000,"close":13229.5,"tradeTurnover":250713.2812,"open":13269.1},{"amount":15.822,"high":13274.8,"vol":15822,"low":13228.5,"count":134,"id":1603947600,"close":13274.8,"tradeTurnover":209781.909,"open":13228.5},{"amount":91.246,"high":13323.0,"vol":91246,"low":13242.3,"count":294,"id":1603951200,"close":13255.0,"tradeTurnover":1211271.2788,"open":13274.8},{"amount":187.622,"high":13269.3,"vol":187622,"low":13123.1,"count":506,"id":1603954800,"close":13142.4,"tradeTurnover":2478299.7074,"open":13255.0},{"amount":69.532,"high":13182.4,"vol":69532,"low":13094.1,"count":226,"id":1603958400,"close":13124.8,"tradeTurnover":914157.2418,"open":13145.9},{"amount":23.184,"high":13197.1,"vol":23184,"low":13129.5,"count":141,"id":1603962000,"close":13183.7,"tradeTurnover":305485.9524,"open":13129.5},{"amount":121.146,"high":13187.5,"vol":121146,"low":13053.1,"count":442,"id":1603965600,"close":13105.2,"tradeTurnover":1590026.4416,"open":13184.8},{"amount":47.498,"high":13171.4,"vol":47498,"low":13060.1,"count":262,"id":1603969200,"close":13060.1,"tradeTurnover":623578.149,"open":13105.1},{"amount":126.552,"high":13145.8,"vol":126552,"low":12977.9,"count":481,"id":1603972800,"close":13131.8,"tradeTurnover":1652549.311,"open":13056.9},{"amount":100.482,"high":13237.2,"vol":100482,"low":13102.0,"count":325,"id":1603976400,"close":13230.0,"tradeTurnover":1326403.7206,"open":13131.7},{"amount":253.258,"high":13476.1,"vol":253258,"low":13231.0,"count":752,"id":1603980000,"close":13420.8,"tradeTurnover":3384941.438,"open":13231.0},{"amount":64.71,"high":13458.7,"vol":64710,"low":13358.7,"count":269,"id":1603983600,"close":13420.6,"tradeTurnover":869052.3804,"open":13416.0},{"amount":120.24,"high":13594.5,"vol":120240,"low":13391.8,"count":570,"id":1603987200,"close":13535.9,"tradeTurnover":1626567.8278,"open":13421.9}],"id":"","rep":"market.BTC-USDT.kline.60min","status":"ok"} +2024-01-18 11:13:15.012 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:39] - 请求 KLine 数据用户收到的原始数据:{"id":"","rep":"market.BTC-USDT.kline.60min","ts":1705547593921,"wsid":19750305,"status":"ok","data":[{"id":1603270800,"open":12198.0,"close":12196.7,"high":12300.0,"low":11715.8,"amount":0.276,"vol":276,"trade_turnover":3315.9104,"count":39},{"id":1603274400,"open":12196.7,"close":12277.9,"high":12289.9,"low":12111.0,"amount":0.198,"vol":198,"trade_turnover":2420.7728,"count":21},{"id":1603278000,"open":12111.0,"close":12000.0,"high":12277.9,"low":12000.0,"amount":0.012,"vol":12,"trade_turnover":145.2238,"count":5},{"id":1603281600,"open":12078.0,"close":12497.4,"high":12498.0,"low":12078.0,"amount":0.084,"vol":84,"trade_turnover":1040.0504,"count":12},{"id":1603285200,"open":12495.6,"close":12373.5,"high":12495.6,"low":12282.9,"amount":1.122,"vol":1122,"trade_turnover":13905.3124,"count":112},{"id":1603288800,"open":12412.9,"close":12689.9,"high":12807.6,"low":12358.1,"amount":5.29,"vol":5290,"trade_turnover":66852.128,"count":155},{"id":1603292400,"open":12692.8,"close":12701.9,"high":12778.7,"low":12573.2,"amount":1.174,"vol":1174,"trade_turnover":14907.367,"count":113},{"id":1603296000,"open":12679.7,"close":12835.9,"high":12920.9,"low":12624.8,"amount":1.156,"vol":1156,"trade_turnover":14802.449,"count":115},{"id":1603299600,"open":12848.3,"close":12754.2,"high":12908.3,"low":12687.5,"amount":1.12,"vol":1120,"trade_turnover":14345.7324,"count":115},{"id":1603303200,"open":12743.7,"close":12740.2,"high":12849.0,"low":12668.3,"amount":1.106,"vol":1106,"trade_turnover":14105.3504,"count":114},{"id":1603306800,"open":12729.5,"close":12650.3,"high":12843.1,"low":12597.2,"amount":1.032,"vol":1032,"trade_turnover":13125.4568,"count":112},{"id":1603310400,"open":12666.8,"close":12807.0,"high":12848.4,"low":12610.2,"amount":1.154,"vol":1154,"trade_turnover":14680.638,"count":116},{"id":1603314000,"open":12866.0,"close":12938.9,"high":13005.1,"low":12748.2,"amount":1.164,"vol":1164,"trade_turnover":14976.9366,"count":114},{"id":1603317600,"open":12921.0,"close":13122.0,"high":13211.2,"low":12865.7,"amount":1.174,"vol":1174,"trade_turnover":15285.2446,"count":114},{"id":1603321200,"open":13153.2,"close":12829.8,"high":13173.2,"low":12688.6,"amount":1.172,"vol":1172,"trade_turnover":15060.9938,"count":117},{"id":1603324800,"open":12793.1,"close":12885.9,"high":12988.1,"low":12764.4,"amount":1.17,"vol":1170,"trade_turnover":15046.2046,"count":117},{"id":1603328400,"open":12860.4,"close":12757.5,"high":12972.6,"low":12757.5,"amount":1.158,"vol":1158,"trade_turnover":14882.4656,"count":118},{"id":1603332000,"open":12824.1,"close":12788.8,"high":12848.0,"low":12729.0,"amount":1.124,"vol":1124,"trade_turnover":14368.7948,"count":115},{"id":1603335600,"open":12791.7,"close":12767.2,"high":12834.4,"low":12729.0,"amount":1.194,"vol":1194,"trade_turnover":15268.9298,"count":111},{"id":1603339200,"open":12729.0,"close":12762.2,"high":12778.3,"low":12729.0,"amount":1.152,"vol":1152,"trade_turnover":14695.4876,"count":115},{"id":1603342800,"open":12763.1,"close":12813.8,"high":12842.0,"low":12730.6,"amount":1.21,"vol":1210,"trade_turnover":15440.8162,"count":119},{"id":1603346400,"open":12795.0,"close":12729.1,"high":12795.0,"low":12728.0,"amount":1.188,"vol":1188,"trade_turnover":15128.0098,"count":123},{"id":1603350000,"open":12728.6,"close":12730.6,"high":12730.6,"low":12728.3,"amount":1.266,"vol":1266,"trade_turnover":16115.1306,"count":112},{"id":1603353600,"open":12730.3,"close":12770.1,"high":12921.5,"low":12729.9,"amount":1.35,"vol":1350,"trade_turnover":17233.7326,"count":127},{"id":1603357200,"open":12824.9,"close":12780.4,"high":12872.1,"low":12760.1,"amount":0.98,"vol":980,"trade_turnover":12553.9826,"count":99},{"id":1603360800,"open":12784.9,"close":12934.2,"high":13002.7,"low":12775.6,"amount":0.266,"vol":266,"trade_turnover":3415.023,"count":30},{"id":1603364400,"open":12977.0,"close":13045.0,"high":13057.0,"low":12886.6,"amount":1.004,"vol":1004,"trade_turnover":13020.8576,"count":117},{"id":1603368000,"open":12958.5,"close":12847.9,"high":12973.4,"low":12751.6,"amount":1.134,"vol":1134,"trade_turnover":14594.2752,"count":111},{"id":1603371600,"open":12882.7,"close":12931.0,"high":13000.8,"low":12743.0,"amount":1.152,"vol":1152,"trade_turnover":14877.7314,"count":114},{"id":1603375200,"open":12890.4,"close":12917.8,"high":12995.3,"low":12783.9,"amount":1.182,"vol":1182,"trade_turnover":15224.4716,"count":115},{"id":1603378800,"open":12918.8,"close":12953.0,"high":13031.2,"low":12817.9,"amount":1.176,"vol":1176,"trade_turnover":15197.208,"count":117},{"id":1603382400,"open":12923.1,"close":13055.6,"high":13100.2,"low":12865.6,"amount":1.146,"vol":1146,"trade_turnover":14851.9604,"count":119},{"id":1603386000,"open":12967.6,"close":13082.7,"high":13105.7,"low":12835.5,"amount":1.534,"vol":1534,"trade_turnover":19927.8288,"count":124},{"id":1603389600,"open":13020.4,"close":13016.4,"high":13115.0,"low":12938.7,"amount":1.268,"vol":1268,"trade_turnover":16505.4738,"count":117},{"id":1603393200,"open":13028.3,"close":12970.6,"high":13171.2,"low":12961.8,"amount":1.13,"vol":1130,"trade_turnover":14762.952,"count":112},{"id":1603396800,"open":13016.7,"close":13089.3,"high":13216.1,"low":12998.5,"amount":1.206,"vol":1206,"trade_turnover":15807.1226,"count":117},{"id":1603400400,"open":13136.0,"close":13092.0,"high":13203.7,"low":12932.9,"amount":1.332,"vol":1332,"trade_turnover":17423.4422,"count":114},{"id":1603404000,"open":13119.4,"close":13055.9,"high":13250.5,"low":12984.7,"amount":1.21,"vol":1210,"trade_turnover":15876.0632,"count":114},{"id":1603407600,"open":13059.4,"close":12890.4,"high":13126.5,"low":12857.2,"amount":1.286,"vol":1286,"trade_turnover":16688.422,"count":116},{"id":1603411200,"open":12929.7,"close":12892.2,"high":12994.0,"low":12751.6,"amount":1.502,"vol":1502,"trade_turnover":19331.1596,"count":131},{"id":1603414800,"open":12921.7,"close":12898.3,"high":13003.2,"low":12786.0,"amount":1.386,"vol":1386,"trade_turnover":17904.8902,"count":121},{"id":1603418400,"open":12951.6,"close":12975.1,"high":13054.0,"low":12800.7,"amount":1.416,"vol":1416,"trade_turnover":18306.6204,"count":122},{"id":1603422000,"open":12967.3,"close":12947.0,"high":13030.7,"low":12875.0,"amount":1.19,"vol":1190,"trade_turnover":15409.7984,"count":118},{"id":1603425600,"open":12925.2,"close":12852.0,"high":13047.3,"low":12832.8,"amount":1.022,"vol":1022,"trade_turnover":13214.4388,"count":127},{"id":1603429200,"open":12859.0,"close":12931.1,"high":12991.7,"low":12841.2,"amount":0.478,"vol":478,"trade_turnover":6180.2486,"count":118},{"id":1603432800,"open":12935.9,"close":12939.6,"high":13014.1,"low":12871.9,"amount":0.522,"vol":522,"trade_turnover":6759.0324,"count":132},{"id":1603436400,"open":12923.1,"close":12925.4,"high":12998.9,"low":12917.1,"amount":0.476,"vol":476,"trade_turnover":6163.3118,"count":118},{"id":1603440000,"open":12942.2,"close":12962.6,"high":13014.0,"low":12916.1,"amount":0.508,"vol":508,"trade_turnover":6585.3656,"count":122},{"id":1603443600,"open":12970.5,"close":12926.4,"high":13012.5,"low":12909.9,"amount":0.564,"vol":564,"trade_turnover":7308.8828,"count":124},{"id":1603447200,"open":13001.2,"close":13007.7,"high":13059.5,"low":12925.7,"amount":0.536,"vol":536,"trade_turnover":6957.8796,"count":124},{"id":1603450800,"open":13025.4,"close":12970.6,"high":13078.4,"low":12906.5,"amount":0.486,"vol":486,"trade_turnover":6326.1434,"count":122},{"id":1603454400,"open":12963.9,"close":12935.4,"high":13025.0,"low":12850.8,"amount":0.494,"vol":494,"trade_turnover":6396.0984,"count":117},{"id":1603458000,"open":12913.3,"close":12951.7,"high":13043.3,"low":12911.0,"amount":0.466,"vol":466,"trade_turnover":6049.1412,"count":117},{"id":1603461600,"open":12999.6,"close":12858.8,"high":13006.4,"low":12840.4,"amount":0.46,"vol":460,"trade_turnover":5941.815,"count":116},{"id":1603465200,"open":12885.7,"close":12881.9,"high":12932.9,"low":12826.5,"amount":0.492,"vol":492,"trade_turnover":6340.214,"count":117},{"id":1603468800,"open":12854.4,"close":12784.1,"high":12933.5,"low":12744.4,"amount":0.484,"vol":484,"trade_turnover":6205.4138,"count":123},{"id":1603472400,"open":12832.3,"close":12847.7,"high":12893.1,"low":12730.1,"amount":0.562,"vol":562,"trade_turnover":7218.9184,"count":152},{"id":1603476000,"open":12874.1,"close":12915.7,"high":12939.3,"low":12751.4,"amount":0.53,"vol":530,"trade_turnover":6825.7004,"count":128},{"id":1603479600,"open":12867.9,"close":12972.9,"high":12972.9,"low":12786.6,"amount":0.444,"vol":444,"trade_turnover":5727.7452,"count":117},{"id":1603483200,"open":12956.7,"close":12991.6,"high":13002.2,"low":12842.9,"amount":0.492,"vol":492,"trade_turnover":6375.1566,"count":116},{"id":1603486800,"open":13004.3,"close":12943.5,"high":13004.3,"low":12936.6,"amount":0.5,"vol":500,"trade_turnover":6485.468,"count":125},{"id":1603490400,"open":12923.6,"close":12989.2,"high":13010.3,"low":12884.7,"amount":0.492,"vol":492,"trade_turnover":6376.1492,"count":120},{"id":1603494000,"open":12974.9,"close":12884.6,"high":13024.4,"low":12884.6,"amount":0.51,"vol":510,"trade_turnover":6622.3406,"count":121},{"id":1603497600,"open":12973.7,"close":12953.9,"high":13018.3,"low":12811.1,"amount":0.488,"vol":488,"trade_turnover":6317.7938,"count":120},{"id":1603501200,"open":12927.5,"close":12934.2,"high":13018.1,"low":12872.8,"amount":0.482,"vol":482,"trade_turnover":6242.4178,"count":117},{"id":1603504800,"open":12971.9,"close":12989.1,"high":13003.9,"low":12903.3,"amount":0.484,"vol":484,"trade_turnover":6278.1756,"count":117},{"id":1603508400,"open":13000.1,"close":12975.9,"high":13013.4,"low":12938.3,"amount":0.474,"vol":474,"trade_turnover":6157.7096,"count":122},{"id":1603512000,"open":12989.7,"close":12963.3,"high":13009.4,"low":12905.5,"amount":0.526,"vol":526,"trade_turnover":6831.5658,"count":124},{"id":1603515600,"open":12910.5,"close":12989.7,"high":13041.8,"low":12875.3,"amount":0.522,"vol":522,"trade_turnover":6768.8994,"count":127},{"id":1603519200,"open":12994.7,"close":13003.6,"high":13058.1,"low":12908.8,"amount":0.49,"vol":490,"trade_turnover":6370.5714,"count":120},{"id":1603522800,"open":13011.9,"close":13004.2,"high":13037.8,"low":12981.7,"amount":0.478,"vol":478,"trade_turnover":6218.9722,"count":120},{"id":1603526400,"open":13003.0,"close":12998.2,"high":13030.6,"low":12899.4,"amount":0.52,"vol":520,"trade_turnover":6754.958,"count":124},{"id":1603530000,"open":12998.2,"close":12990.6,"high":13020.3,"low":12893.6,"amount":0.454,"vol":454,"trade_turnover":5891.0574,"count":115},{"id":1603533600,"open":12996.4,"close":13030.1,"high":13059.1,"low":12913.2,"amount":0.502,"vol":502,"trade_turnover":6525.9004,"count":124},{"id":1603537200,"open":12988.4,"close":13033.2,"high":13068.3,"low":12940.2,"amount":0.468,"vol":468,"trade_turnover":6091.0376,"count":119},{"id":1603540800,"open":13035.3,"close":13006.5,"high":13071.8,"low":12978.9,"amount":0.468,"vol":468,"trade_turnover":6102.5902,"count":123},{"id":1603544400,"open":13038.8,"close":12985.9,"high":13066.7,"low":12928.1,"amount":0.534,"vol":534,"trade_turnover":6950.4268,"count":123},{"id":1603548000,"open":12986.3,"close":13042.0,"high":13100.1,"low":12960.5,"amount":0.47,"vol":470,"trade_turnover":6124.2178,"count":100},{"id":1603551600,"open":13038.4,"close":13102.2,"high":13196.5,"low":13038.4,"amount":0.456,"vol":456,"trade_turnover":5989.6362,"count":120},{"id":1603555200,"open":13136.8,"close":13052.7,"high":13176.6,"low":12984.6,"amount":0.458,"vol":458,"trade_turnover":5976.331,"count":121},{"id":1603558800,"open":13006.2,"close":13177.8,"high":13177.8,"low":13003.2,"amount":0.452,"vol":452,"trade_turnover":5911.7058,"count":118},{"id":1603562400,"open":13127.7,"close":13080.8,"high":13170.7,"low":13023.0,"amount":0.468,"vol":468,"trade_turnover":6122.375,"count":119},{"id":1603566000,"open":13040.7,"close":13148.4,"high":13179.3,"low":13014.2,"amount":0.468,"vol":468,"trade_turnover":6126.4278,"count":120},{"id":1603569600,"open":13073.5,"close":13090.1,"high":13179.6,"low":12992.5,"amount":0.47,"vol":470,"trade_turnover":6151.4758,"count":119},{"id":1603573200,"open":13035.4,"close":12993.9,"high":13148.7,"low":12980.7,"amount":0.458,"vol":458,"trade_turnover":5981.071,"count":117},{"id":1603576800,"open":13040.7,"close":13041.1,"high":13112.1,"low":12975.6,"amount":0.478,"vol":478,"trade_turnover":6225.4216,"count":118},{"id":1603580400,"open":13012.6,"close":13184.3,"high":13184.3,"low":13009.3,"amount":0.472,"vol":472,"trade_turnover":6173.4244,"count":118},{"id":1603584000,"open":13080.8,"close":13154.3,"high":13170.4,"low":13007.7,"amount":0.46,"vol":460,"trade_turnover":6024.09,"count":115},{"id":1603587600,"open":13092.0,"close":13196.1,"high":13196.8,"low":13024.0,"amount":0.398,"vol":398,"trade_turnover":5217.5364,"count":102},{"id":1603591200,"open":13124.7,"close":13082.4,"high":13175.1,"low":13035.0,"amount":0.476,"vol":476,"trade_turnover":6228.6596,"count":120},{"id":1603594800,"open":13049.1,"close":13259.0,"high":13383.8,"low":13049.1,"amount":0.578,"vol":578,"trade_turnover":7629.3886,"count":137},{"id":1603598400,"open":13277.0,"close":13243.4,"high":13369.0,"low":13216.0,"amount":0.47,"vol":470,"trade_turnover":6247.955,"count":122},{"id":1603602000,"open":13285.3,"close":13017.3,"high":13353.3,"low":13010.1,"amount":0.61,"vol":610,"trade_turnover":8048.8598,"count":134},{"id":1603605600,"open":13022.5,"close":13060.3,"high":13105.7,"low":13018.2,"amount":0.486,"vol":486,"trade_turnover":6344.1474,"count":118},{"id":1603609200,"open":13048.5,"close":13078.1,"high":13112.1,"low":13022.0,"amount":0.464,"vol":464,"trade_turnover":6061.5416,"count":120},{"id":1603612800,"open":13077.2,"close":13046.0,"high":13091.0,"low":13017.2,"amount":0.464,"vol":464,"trade_turnover":6055.3734,"count":120},{"id":1603616400,"open":13065.1,"close":13040.8,"high":13084.0,"low":13014.2,"amount":0.478,"vol":478,"trade_turnover":6235.7882,"count":117},{"id":1603620000,"open":13047.1,"close":13028.5,"high":13064.2,"low":13010.2,"amount":0.478,"vol":478,"trade_turnover":6232.2428,"count":125},{"id":1603623600,"open":13061.5,"close":12897.6,"high":13061.5,"low":12852.9,"amount":0.534,"vol":534,"trade_turnover":6918.1226,"count":123},{"id":1603627200,"open":12908.3,"close":12964.3,"high":13069.7,"low":12893.2,"amount":0.444,"vol":444,"trade_turnover":5755.8712,"count":117},{"id":1603630800,"open":13001.3,"close":12949.3,"high":13071.9,"low":12891.8,"amount":0.498,"vol":498,"trade_turnover":6465.078,"count":119},{"id":1603634400,"open":12975.8,"close":12946.8,"high":13077.7,"low":12900.0,"amount":0.468,"vol":468,"trade_turnover":6075.4554,"count":116},{"id":1603638000,"open":12975.2,"close":12883.3,"high":13069.1,"low":12883.3,"amount":0.47,"vol":470,"trade_turnover":6097.1072,"count":119},{"id":1603641600,"open":12916.2,"close":12978.7,"high":13067.9,"low":12877.5,"amount":0.482,"vol":482,"trade_turnover":6256.4472,"count":118},{"id":1603645200,"open":13008.0,"close":13004.4,"high":13087.5,"low":12922.7,"amount":0.47,"vol":470,"trade_turnover":6108.3892,"count":117},{"id":1603648800,"open":12972.8,"close":12957.2,"high":13067.6,"low":12893.6,"amount":0.468,"vol":468,"trade_turnover":6079.1484,"count":118},{"id":1603652400,"open":12996.5,"close":13021.8,"high":13066.9,"low":12916.6,"amount":0.442,"vol":442,"trade_turnover":5746.5548,"count":118},{"id":1603656000,"open":12992.9,"close":12985.4,"high":13081.5,"low":12944.9,"amount":0.508,"vol":508,"trade_turnover":6616.9872,"count":120},{"id":1603659600,"open":12999.9,"close":13011.2,"high":13068.6,"low":12921.4,"amount":0.508,"vol":508,"trade_turnover":6614.816,"count":122},{"id":1603663200,"open":12979.6,"close":12959.4,"high":13073.8,"low":12911.9,"amount":0.486,"vol":486,"trade_turnover":6320.907,"count":121},{"id":1603666800,"open":12963.4,"close":13032.1,"high":13085.2,"low":12927.8,"amount":0.452,"vol":452,"trade_turnover":5878.6442,"count":113},{"id":1603670400,"open":12964.2,"close":13001.0,"high":13076.7,"low":12918.3,"amount":0.482,"vol":482,"trade_turnover":6263.698,"count":121},{"id":1603674000,"open":13040.0,"close":13053.7,"high":13096.4,"low":12991.2,"amount":0.478,"vol":478,"trade_turnover":6232.2328,"count":124},{"id":1603677600,"open":13060.6,"close":13064.4,"high":13185.7,"low":12985.1,"amount":0.488,"vol":488,"trade_turnover":6387.534,"count":121},{"id":1603681200,"open":13032.3,"close":13092.8,"high":13187.2,"low":12984.1,"amount":0.486,"vol":486,"trade_turnover":6369.0272,"count":135},{"id":1603684800,"open":13092.0,"close":13132.6,"high":13181.6,"low":12962.3,"amount":0.51,"vol":510,"trade_turnover":6679.829,"count":131},{"id":1603688400,"open":13129.2,"close":13092.1,"high":13205.3,"low":13025.3,"amount":0.506,"vol":506,"trade_turnover":6641.2128,"count":126},{"id":1603692000,"open":13121.8,"close":13071.4,"high":13188.1,"low":12989.8,"amount":1.616,"vol":1616,"trade_turnover":21170.8224,"count":141},{"id":1603695600,"open":13061.0,"close":13038.7,"high":13100.0,"low":12965.2,"amount":3.746,"vol":3746,"trade_turnover":48924.8902,"count":110},{"id":1603699200,"open":13030.9,"close":13039.3,"high":13102.0,"low":12852.8,"amount":8.966,"vol":8966,"trade_turnover":116525.5534,"count":173},{"id":1603702800,"open":13047.1,"close":13075.9,"high":13088.4,"low":13039.8,"amount":4.48,"vol":4480,"trade_turnover":58521.1714,"count":124},{"id":1603706400,"open":13072.1,"close":13100.0,"high":13100.0,"low":13060.2,"amount":4.272,"vol":4272,"trade_turnover":55895.9778,"count":130},{"id":1603710000,"open":13100.0,"close":13138.4,"high":13159.0,"low":13100.0,"amount":29.798,"vol":29798,"trade_turnover":391138.024,"count":230},{"id":1603713600,"open":13138.8,"close":13149.8,"high":13200.0,"low":13100.0,"amount":5.154,"vol":5154,"trade_turnover":67694.652,"count":188},{"id":1603717200,"open":13150.0,"close":13205.8,"high":13351.5,"low":13133.1,"amount":35.608,"vol":35608,"trade_turnover":472780.3394,"count":328},{"id":1603720800,"open":13203.0,"close":13166.1,"high":13280.0,"low":13144.1,"amount":31.748,"vol":31748,"trade_turnover":418744.5588,"count":235},{"id":1603724400,"open":13159.0,"close":12978.0,"high":13165.2,"low":12903.8,"amount":36.53,"vol":36530,"trade_turnover":476940.3296,"count":384},{"id":1603728000,"open":12965.0,"close":12869.6,"high":13069.8,"low":12850.5,"amount":35.018,"vol":35018,"trade_turnover":453288.918,"count":323},{"id":1603731600,"open":12879.2,"close":12873.8,"high":12941.5,"low":12583.9,"amount":92.628,"vol":92628,"trade_turnover":1185973.467,"count":560},{"id":1603735200,"open":12856.2,"close":12946.8,"high":12954.5,"low":12820.4,"amount":4.302,"vol":4302,"trade_turnover":55481.0054,"count":128},{"id":1603738800,"open":12945.6,"close":12953.4,"high":12953.5,"low":12914.1,"amount":13.83,"vol":13830,"trade_turnover":179112.1598,"count":118},{"id":1603742400,"open":12953.5,"close":12983.4,"high":13007.5,"low":12953.5,"amount":17.172,"vol":17172,"trade_turnover":223230.2122,"count":132},{"id":1603746000,"open":12983.1,"close":12993.8,"high":13007.5,"low":12982.7,"amount":3.212,"vol":3212,"trade_turnover":41767.8906,"count":59},{"id":1603749600,"open":13002.1,"close":13007.5,"high":13007.5,"low":12974.0,"amount":1.504,"vol":1504,"trade_turnover":19543.3568,"count":74},{"id":1603753200,"open":13007.5,"close":13033.7,"high":13061.2,"low":13007.5,"amount":3.454,"vol":3454,"trade_turnover":45001.601,"count":101},{"id":1603756800,"open":13029.2,"close":13067.1,"high":13105.0,"low":13028.3,"amount":8.784,"vol":8784,"trade_turnover":114871.8246,"count":98},{"id":1603760400,"open":13074.3,"close":13061.7,"high":13074.4,"low":13051.5,"amount":11.592,"vol":11592,"trade_turnover":151386.9038,"count":66},{"id":1603764000,"open":13061.7,"close":13049.7,"high":13097.6,"low":13040.1,"amount":19.298,"vol":19298,"trade_turnover":252061.019,"count":109},{"id":1603767600,"open":13057.6,"close":13070.4,"high":13080.0,"low":13057.1,"amount":22.992,"vol":22992,"trade_turnover":300453.9788,"count":69},{"id":1603771200,"open":13080.0,"close":13103.3,"high":13175.0,"low":13079.6,"amount":14.396,"vol":14396,"trade_turnover":188461.9156,"count":59},{"id":1603774800,"open":13121.3,"close":13073.6,"high":13121.3,"low":13069.7,"amount":5.058,"vol":5058,"trade_turnover":66201.3552,"count":44},{"id":1603778400,"open":13074.9,"close":13103.4,"high":13149.0,"low":13069.6,"amount":9.106,"vol":9106,"trade_turnover":119104.8906,"count":107},{"id":1603782000,"open":13103.3,"close":13130.0,"high":13169.8,"low":12992.4,"amount":73.95,"vol":73950,"trade_turnover":968195.155,"count":305},{"id":1603785600,"open":13135.1,"close":13123.8,"high":13148.4,"low":13044.0,"amount":18.732,"vol":18732,"trade_turnover":245533.5448,"count":135},{"id":1603789200,"open":13115.5,"close":13131.7,"high":13131.8,"low":13075.7,"amount":13.756,"vol":13756,"trade_turnover":180253.7708,"count":102},{"id":1603792800,"open":13134.8,"close":13216.9,"high":13252.0,"low":13063.4,"amount":154.108,"vol":154108,"trade_turnover":2029983.656,"count":525},{"id":1603796400,"open":13218.8,"close":13395.8,"high":13590.1,"low":13213.5,"amount":170.09,"vol":170090,"trade_turnover":2276279.742,"count":591},{"id":1603800000,"open":13395.9,"close":13376.9,"high":13414.0,"low":13331.7,"amount":48.928,"vol":48928,"trade_turnover":654585.9108,"count":216},{"id":1603803600,"open":13376.5,"close":13384.3,"high":13490.9,"low":13329.8,"amount":63.294,"vol":63294,"trade_turnover":848130.9212,"count":316},{"id":1603807200,"open":13392.6,"close":13398.2,"high":13415.8,"low":13344.8,"amount":12.892,"vol":12892,"trade_turnover":172618.6864,"count":124},{"id":1603810800,"open":13398.2,"close":13598.5,"high":13626.7,"low":13398.2,"amount":93.22,"vol":93220,"trade_turnover":1262695.5466,"count":476},{"id":1603814400,"open":13595.8,"close":13639.9,"high":13639.9,"low":13520.2,"amount":85.45,"vol":85450,"trade_turnover":1161481.4136,"count":435},{"id":1603818000,"open":13640.0,"close":13688.1,"high":13826.7,"low":13589.0,"amount":191.812,"vol":191812,"trade_turnover":2628428.3788,"count":711},{"id":1603821600,"open":13685.0,"close":13630.1,"high":13745.0,"low":13528.2,"amount":65.434,"vol":65434,"trade_turnover":891541.8394,"count":410},{"id":1603825200,"open":13629.4,"close":13637.1,"high":13659.8,"low":13595.4,"amount":5.788,"vol":5788,"trade_turnover":78836.2578,"count":65},{"id":1603828800,"open":13644.4,"close":13616.6,"high":13805.1,"low":13582.6,"amount":163.104,"vol":163104,"trade_turnover":2234040.3544,"count":537},{"id":1603832400,"open":13609.8,"close":13705.5,"high":13753.5,"low":13609.8,"amount":9.884,"vol":9884,"trade_turnover":135406.4752,"count":101},{"id":1603836000,"open":13705.4,"close":13739.9,"high":13739.9,"low":13658.2,"amount":7.436,"vol":7436,"trade_turnover":101840.3508,"count":100},{"id":1603839600,"open":13739.9,"close":13649.6,"high":13794.6,"low":13582.6,"amount":17.086,"vol":17086,"trade_turnover":233971.8448,"count":234},{"id":1603843200,"open":13645.9,"close":13701.7,"high":13745.2,"low":13618.8,"amount":24.108,"vol":24108,"trade_turnover":330206.5694,"count":177},{"id":1603846800,"open":13702.1,"close":13702.6,"high":13725.6,"low":13647.9,"amount":15.892,"vol":15892,"trade_turnover":217816.7008,"count":151},{"id":1603850400,"open":13701.7,"close":13811.6,"high":13832.2,"low":13680.2,"amount":46.548,"vol":46548,"trade_turnover":640636.0352,"count":274},{"id":1603854000,"open":13818.5,"close":13777.0,"high":13820.3,"low":13717.5,"amount":67.896,"vol":67896,"trade_turnover":935838.2238,"count":320},{"id":1603857600,"open":13767.3,"close":13735.7,"high":13807.2,"low":13710.0,"amount":33.156,"vol":33156,"trade_turnover":455941.234,"count":210},{"id":1603861200,"open":13735.5,"close":13715.8,"high":13753.9,"low":13671.3,"amount":32.076,"vol":32076,"trade_turnover":439612.64,"count":198},{"id":1603864800,"open":13715.9,"close":13701.3,"high":13757.0,"low":13694.9,"amount":14.756,"vol":14756,"trade_turnover":202602.5164,"count":122},{"id":1603868400,"open":13701.2,"close":13674.2,"high":13708.7,"low":13550.0,"amount":155.534,"vol":155534,"trade_turnover":2117935.0928,"count":635},{"id":1603872000,"open":13673.0,"close":13691.7,"high":13691.7,"low":13584.0,"amount":29.846,"vol":29846,"trade_turnover":407073.1398,"count":240},{"id":1603875600,"open":13689.3,"close":13587.1,"high":13707.5,"low":13573.5,"amount":104.542,"vol":104542,"trade_turnover":1425079.9344,"count":377},{"id":1603879200,"open":13584.6,"close":13552.7,"high":13618.0,"low":13504.7,"amount":73.818,"vol":73818,"trade_turnover":1001666.0908,"count":358},{"id":1603882800,"open":13552.6,"close":13336.4,"high":13565.4,"low":13330.0,"amount":176.544,"vol":176544,"trade_turnover":2369166.1492,"count":1004},{"id":1603886400,"open":13331.5,"close":13300.3,"high":13385.0,"low":13173.9,"amount":289.73,"vol":289730,"trade_turnover":3846751.7166,"count":968},{"id":1603890000,"open":13300.2,"close":13129.9,"high":13340.0,"low":13122.9,"amount":139.822,"vol":139822,"trade_turnover":1848876.932,"count":612},{"id":1603893600,"open":13123.4,"close":13082.2,"high":13168.2,"low":12915.9,"amount":367.876,"vol":367876,"trade_turnover":4802516.9818,"count":1168},{"id":1603897200,"open":13077.1,"close":13221.2,"high":13235.2,"low":13052.3,"amount":84.044,"vol":84044,"trade_turnover":1106883.1282,"count":375},{"id":1603900800,"open":13218.7,"close":13145.1,"high":13218.7,"low":13050.0,"amount":29.566,"vol":29566,"trade_turnover":388697.4104,"count":244},{"id":1603904400,"open":13145.1,"close":13176.7,"high":13204.9,"low":13006.6,"amount":53.336,"vol":53336,"trade_turnover":700385.2784,"count":299},{"id":1603908000,"open":13171.0,"close":13196.5,"high":13219.6,"low":13131.0,"amount":34.164,"vol":34164,"trade_turnover":450210.5778,"count":218},{"id":1603911600,"open":13200.0,"close":13154.9,"high":13237.4,"low":13145.0,"amount":22.158,"vol":22158,"trade_turnover":292020.0438,"count":185},{"id":1603915200,"open":13154.5,"close":13198.1,"high":13211.8,"low":13147.4,"amount":4.548,"vol":4548,"trade_turnover":59991.1118,"count":75},{"id":1603918800,"open":13193.5,"close":13190.1,"high":13196.5,"low":13100.2,"amount":3.52,"vol":3520,"trade_turnover":46175.428,"count":68},{"id":1603922400,"open":13185.4,"close":13252.0,"high":13267.5,"low":13185.4,"amount":3.122,"vol":3122,"trade_turnover":41304.2018,"count":72},{"id":1603926000,"open":13242.1,"close":13265.9,"high":13282.3,"low":13235.9,"amount":14.768,"vol":14768,"trade_turnover":195689.0764,"count":86},{"id":1603929600,"open":13253.9,"close":13245.1,"high":13294.7,"low":13237.4,"amount":19.968,"vol":19968,"trade_turnover":264834.1944,"count":98},{"id":1603933200,"open":13244.6,"close":13274.2,"high":13285.3,"low":13166.3,"amount":35.282,"vol":35282,"trade_turnover":465789.6302,"count":192},{"id":1603936800,"open":13275.9,"close":13241.1,"high":13277.7,"low":13212.2,"amount":9.748,"vol":9748,"trade_turnover":129016.0684,"count":119},{"id":1603940400,"open":13237.1,"close":13262.5,"high":13262.5,"low":13174.6,"amount":27.3,"vol":27300,"trade_turnover":360589.8982,"count":199},{"id":1603944000,"open":13269.1,"close":13229.5,"high":13277.7,"low":13229.5,"amount":18.904,"vol":18904,"trade_turnover":250713.2812,"count":109},{"id":1603947600,"open":13228.5,"close":13274.8,"high":13274.8,"low":13228.5,"amount":15.822,"vol":15822,"trade_turnover":209781.909,"count":134},{"id":1603951200,"open":13274.8,"close":13255.0,"high":13323.0,"low":13242.3,"amount":91.246,"vol":91246,"trade_turnover":1211271.2788,"count":294},{"id":1603954800,"open":13255.0,"close":13142.4,"high":13269.3,"low":13123.1,"amount":187.622,"vol":187622,"trade_turnover":2478299.7074,"count":506},{"id":1603958400,"open":13145.9,"close":13124.8,"high":13182.4,"low":13094.1,"amount":69.532,"vol":69532,"trade_turnover":914157.2418,"count":226},{"id":1603962000,"open":13129.5,"close":13183.7,"high":13197.1,"low":13129.5,"amount":23.184,"vol":23184,"trade_turnover":305485.9524,"count":141},{"id":1603965600,"open":13184.8,"close":13105.2,"high":13187.5,"low":13053.1,"amount":121.146,"vol":121146,"trade_turnover":1590026.4416,"count":442},{"id":1603969200,"open":13105.1,"close":13060.1,"high":13171.4,"low":13060.1,"amount":47.498,"vol":47498,"trade_turnover":623578.149,"count":262},{"id":1603972800,"open":13056.9,"close":13131.8,"high":13145.8,"low":12977.9,"amount":126.552,"vol":126552,"trade_turnover":1652549.311,"count":481},{"id":1603976400,"open":13131.7,"close":13230.0,"high":13237.2,"low":13102.0,"amount":100.482,"vol":100482,"trade_turnover":1326403.7206,"count":325},{"id":1603980000,"open":13231.0,"close":13420.8,"high":13476.1,"low":13231.0,"amount":253.258,"vol":253258,"trade_turnover":3384941.438,"count":752},{"id":1603983600,"open":13416.0,"close":13420.6,"high":13458.7,"low":13358.7,"amount":64.71,"vol":64710,"trade_turnover":869052.3804,"count":269},{"id":1603987200,"open":13421.9,"close":13535.9,"high":13594.5,"low":13391.8,"amount":120.24,"vol":120240,"trade_turnover":1626567.8278,"count":570}]} +2024-01-18 11:13:15.014 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:41] - 请求 KLine 数据解析之后的数据为:{"wsid":19750305,"data":[{"amount":0.276,"high":12300.0,"vol":276,"low":11715.8,"count":39,"id":1603270800,"close":12196.7,"tradeTurnover":3315.9104,"open":12198.0},{"amount":0.198,"high":12289.9,"vol":198,"low":12111.0,"count":21,"id":1603274400,"close":12277.9,"tradeTurnover":2420.7728,"open":12196.7},{"amount":0.012,"high":12277.9,"vol":12,"low":12000.0,"count":5,"id":1603278000,"close":12000.0,"tradeTurnover":145.2238,"open":12111.0},{"amount":0.084,"high":12498.0,"vol":84,"low":12078.0,"count":12,"id":1603281600,"close":12497.4,"tradeTurnover":1040.0504,"open":12078.0},{"amount":1.122,"high":12495.6,"vol":1122,"low":12282.9,"count":112,"id":1603285200,"close":12373.5,"tradeTurnover":13905.3124,"open":12495.6},{"amount":5.29,"high":12807.6,"vol":5290,"low":12358.1,"count":155,"id":1603288800,"close":12689.9,"tradeTurnover":66852.128,"open":12412.9},{"amount":1.174,"high":12778.7,"vol":1174,"low":12573.2,"count":113,"id":1603292400,"close":12701.9,"tradeTurnover":14907.367,"open":12692.8},{"amount":1.156,"high":12920.9,"vol":1156,"low":12624.8,"count":115,"id":1603296000,"close":12835.9,"tradeTurnover":14802.449,"open":12679.7},{"amount":1.12,"high":12908.3,"vol":1120,"low":12687.5,"count":115,"id":1603299600,"close":12754.2,"tradeTurnover":14345.7324,"open":12848.3},{"amount":1.106,"high":12849.0,"vol":1106,"low":12668.3,"count":114,"id":1603303200,"close":12740.2,"tradeTurnover":14105.3504,"open":12743.7},{"amount":1.032,"high":12843.1,"vol":1032,"low":12597.2,"count":112,"id":1603306800,"close":12650.3,"tradeTurnover":13125.4568,"open":12729.5},{"amount":1.154,"high":12848.4,"vol":1154,"low":12610.2,"count":116,"id":1603310400,"close":12807.0,"tradeTurnover":14680.638,"open":12666.8},{"amount":1.164,"high":13005.1,"vol":1164,"low":12748.2,"count":114,"id":1603314000,"close":12938.9,"tradeTurnover":14976.9366,"open":12866.0},{"amount":1.174,"high":13211.2,"vol":1174,"low":12865.7,"count":114,"id":1603317600,"close":13122.0,"tradeTurnover":15285.2446,"open":12921.0},{"amount":1.172,"high":13173.2,"vol":1172,"low":12688.6,"count":117,"id":1603321200,"close":12829.8,"tradeTurnover":15060.9938,"open":13153.2},{"amount":1.17,"high":12988.1,"vol":1170,"low":12764.4,"count":117,"id":1603324800,"close":12885.9,"tradeTurnover":15046.2046,"open":12793.1},{"amount":1.158,"high":12972.6,"vol":1158,"low":12757.5,"count":118,"id":1603328400,"close":12757.5,"tradeTurnover":14882.4656,"open":12860.4},{"amount":1.124,"high":12848.0,"vol":1124,"low":12729.0,"count":115,"id":1603332000,"close":12788.8,"tradeTurnover":14368.7948,"open":12824.1},{"amount":1.194,"high":12834.4,"vol":1194,"low":12729.0,"count":111,"id":1603335600,"close":12767.2,"tradeTurnover":15268.9298,"open":12791.7},{"amount":1.152,"high":12778.3,"vol":1152,"low":12729.0,"count":115,"id":1603339200,"close":12762.2,"tradeTurnover":14695.4876,"open":12729.0},{"amount":1.21,"high":12842.0,"vol":1210,"low":12730.6,"count":119,"id":1603342800,"close":12813.8,"tradeTurnover":15440.8162,"open":12763.1},{"amount":1.188,"high":12795.0,"vol":1188,"low":12728.0,"count":123,"id":1603346400,"close":12729.1,"tradeTurnover":15128.0098,"open":12795.0},{"amount":1.266,"high":12730.6,"vol":1266,"low":12728.3,"count":112,"id":1603350000,"close":12730.6,"tradeTurnover":16115.1306,"open":12728.6},{"amount":1.35,"high":12921.5,"vol":1350,"low":12729.9,"count":127,"id":1603353600,"close":12770.1,"tradeTurnover":17233.7326,"open":12730.3},{"amount":0.98,"high":12872.1,"vol":980,"low":12760.1,"count":99,"id":1603357200,"close":12780.4,"tradeTurnover":12553.9826,"open":12824.9},{"amount":0.266,"high":13002.7,"vol":266,"low":12775.6,"count":30,"id":1603360800,"close":12934.2,"tradeTurnover":3415.023,"open":12784.9},{"amount":1.004,"high":13057.0,"vol":1004,"low":12886.6,"count":117,"id":1603364400,"close":13045.0,"tradeTurnover":13020.8576,"open":12977.0},{"amount":1.134,"high":12973.4,"vol":1134,"low":12751.6,"count":111,"id":1603368000,"close":12847.9,"tradeTurnover":14594.2752,"open":12958.5},{"amount":1.152,"high":13000.8,"vol":1152,"low":12743.0,"count":114,"id":1603371600,"close":12931.0,"tradeTurnover":14877.7314,"open":12882.7},{"amount":1.182,"high":12995.3,"vol":1182,"low":12783.9,"count":115,"id":1603375200,"close":12917.8,"tradeTurnover":15224.4716,"open":12890.4},{"amount":1.176,"high":13031.2,"vol":1176,"low":12817.9,"count":117,"id":1603378800,"close":12953.0,"tradeTurnover":15197.208,"open":12918.8},{"amount":1.146,"high":13100.2,"vol":1146,"low":12865.6,"count":119,"id":1603382400,"close":13055.6,"tradeTurnover":14851.9604,"open":12923.1},{"amount":1.534,"high":13105.7,"vol":1534,"low":12835.5,"count":124,"id":1603386000,"close":13082.7,"tradeTurnover":19927.8288,"open":12967.6},{"amount":1.268,"high":13115.0,"vol":1268,"low":12938.7,"count":117,"id":1603389600,"close":13016.4,"tradeTurnover":16505.4738,"open":13020.4},{"amount":1.13,"high":13171.2,"vol":1130,"low":12961.8,"count":112,"id":1603393200,"close":12970.6,"tradeTurnover":14762.952,"open":13028.3},{"amount":1.206,"high":13216.1,"vol":1206,"low":12998.5,"count":117,"id":1603396800,"close":13089.3,"tradeTurnover":15807.1226,"open":13016.7},{"amount":1.332,"high":13203.7,"vol":1332,"low":12932.9,"count":114,"id":1603400400,"close":13092.0,"tradeTurnover":17423.4422,"open":13136.0},{"amount":1.21,"high":13250.5,"vol":1210,"low":12984.7,"count":114,"id":1603404000,"close":13055.9,"tradeTurnover":15876.0632,"open":13119.4},{"amount":1.286,"high":13126.5,"vol":1286,"low":12857.2,"count":116,"id":1603407600,"close":12890.4,"tradeTurnover":16688.422,"open":13059.4},{"amount":1.502,"high":12994.0,"vol":1502,"low":12751.6,"count":131,"id":1603411200,"close":12892.2,"tradeTurnover":19331.1596,"open":12929.7},{"amount":1.386,"high":13003.2,"vol":1386,"low":12786.0,"count":121,"id":1603414800,"close":12898.3,"tradeTurnover":17904.8902,"open":12921.7},{"amount":1.416,"high":13054.0,"vol":1416,"low":12800.7,"count":122,"id":1603418400,"close":12975.1,"tradeTurnover":18306.6204,"open":12951.6},{"amount":1.19,"high":13030.7,"vol":1190,"low":12875.0,"count":118,"id":1603422000,"close":12947.0,"tradeTurnover":15409.7984,"open":12967.3},{"amount":1.022,"high":13047.3,"vol":1022,"low":12832.8,"count":127,"id":1603425600,"close":12852.0,"tradeTurnover":13214.4388,"open":12925.2},{"amount":0.478,"high":12991.7,"vol":478,"low":12841.2,"count":118,"id":1603429200,"close":12931.1,"tradeTurnover":6180.2486,"open":12859.0},{"amount":0.522,"high":13014.1,"vol":522,"low":12871.9,"count":132,"id":1603432800,"close":12939.6,"tradeTurnover":6759.0324,"open":12935.9},{"amount":0.476,"high":12998.9,"vol":476,"low":12917.1,"count":118,"id":1603436400,"close":12925.4,"tradeTurnover":6163.3118,"open":12923.1},{"amount":0.508,"high":13014.0,"vol":508,"low":12916.1,"count":122,"id":1603440000,"close":12962.6,"tradeTurnover":6585.3656,"open":12942.2},{"amount":0.564,"high":13012.5,"vol":564,"low":12909.9,"count":124,"id":1603443600,"close":12926.4,"tradeTurnover":7308.8828,"open":12970.5},{"amount":0.536,"high":13059.5,"vol":536,"low":12925.7,"count":124,"id":1603447200,"close":13007.7,"tradeTurnover":6957.8796,"open":13001.2},{"amount":0.486,"high":13078.4,"vol":486,"low":12906.5,"count":122,"id":1603450800,"close":12970.6,"tradeTurnover":6326.1434,"open":13025.4},{"amount":0.494,"high":13025.0,"vol":494,"low":12850.8,"count":117,"id":1603454400,"close":12935.4,"tradeTurnover":6396.0984,"open":12963.9},{"amount":0.466,"high":13043.3,"vol":466,"low":12911.0,"count":117,"id":1603458000,"close":12951.7,"tradeTurnover":6049.1412,"open":12913.3},{"amount":0.46,"high":13006.4,"vol":460,"low":12840.4,"count":116,"id":1603461600,"close":12858.8,"tradeTurnover":5941.815,"open":12999.6},{"amount":0.492,"high":12932.9,"vol":492,"low":12826.5,"count":117,"id":1603465200,"close":12881.9,"tradeTurnover":6340.214,"open":12885.7},{"amount":0.484,"high":12933.5,"vol":484,"low":12744.4,"count":123,"id":1603468800,"close":12784.1,"tradeTurnover":6205.4138,"open":12854.4},{"amount":0.562,"high":12893.1,"vol":562,"low":12730.1,"count":152,"id":1603472400,"close":12847.7,"tradeTurnover":7218.9184,"open":12832.3},{"amount":0.53,"high":12939.3,"vol":530,"low":12751.4,"count":128,"id":1603476000,"close":12915.7,"tradeTurnover":6825.7004,"open":12874.1},{"amount":0.444,"high":12972.9,"vol":444,"low":12786.6,"count":117,"id":1603479600,"close":12972.9,"tradeTurnover":5727.7452,"open":12867.9},{"amount":0.492,"high":13002.2,"vol":492,"low":12842.9,"count":116,"id":1603483200,"close":12991.6,"tradeTurnover":6375.1566,"open":12956.7},{"amount":0.5,"high":13004.3,"vol":500,"low":12936.6,"count":125,"id":1603486800,"close":12943.5,"tradeTurnover":6485.468,"open":13004.3},{"amount":0.492,"high":13010.3,"vol":492,"low":12884.7,"count":120,"id":1603490400,"close":12989.2,"tradeTurnover":6376.1492,"open":12923.6},{"amount":0.51,"high":13024.4,"vol":510,"low":12884.6,"count":121,"id":1603494000,"close":12884.6,"tradeTurnover":6622.3406,"open":12974.9},{"amount":0.488,"high":13018.3,"vol":488,"low":12811.1,"count":120,"id":1603497600,"close":12953.9,"tradeTurnover":6317.7938,"open":12973.7},{"amount":0.482,"high":13018.1,"vol":482,"low":12872.8,"count":117,"id":1603501200,"close":12934.2,"tradeTurnover":6242.4178,"open":12927.5},{"amount":0.484,"high":13003.9,"vol":484,"low":12903.3,"count":117,"id":1603504800,"close":12989.1,"tradeTurnover":6278.1756,"open":12971.9},{"amount":0.474,"high":13013.4,"vol":474,"low":12938.3,"count":122,"id":1603508400,"close":12975.9,"tradeTurnover":6157.7096,"open":13000.1},{"amount":0.526,"high":13009.4,"vol":526,"low":12905.5,"count":124,"id":1603512000,"close":12963.3,"tradeTurnover":6831.5658,"open":12989.7},{"amount":0.522,"high":13041.8,"vol":522,"low":12875.3,"count":127,"id":1603515600,"close":12989.7,"tradeTurnover":6768.8994,"open":12910.5},{"amount":0.49,"high":13058.1,"vol":490,"low":12908.8,"count":120,"id":1603519200,"close":13003.6,"tradeTurnover":6370.5714,"open":12994.7},{"amount":0.478,"high":13037.8,"vol":478,"low":12981.7,"count":120,"id":1603522800,"close":13004.2,"tradeTurnover":6218.9722,"open":13011.9},{"amount":0.52,"high":13030.6,"vol":520,"low":12899.4,"count":124,"id":1603526400,"close":12998.2,"tradeTurnover":6754.958,"open":13003.0},{"amount":0.454,"high":13020.3,"vol":454,"low":12893.6,"count":115,"id":1603530000,"close":12990.6,"tradeTurnover":5891.0574,"open":12998.2},{"amount":0.502,"high":13059.1,"vol":502,"low":12913.2,"count":124,"id":1603533600,"close":13030.1,"tradeTurnover":6525.9004,"open":12996.4},{"amount":0.468,"high":13068.3,"vol":468,"low":12940.2,"count":119,"id":1603537200,"close":13033.2,"tradeTurnover":6091.0376,"open":12988.4},{"amount":0.468,"high":13071.8,"vol":468,"low":12978.9,"count":123,"id":1603540800,"close":13006.5,"tradeTurnover":6102.5902,"open":13035.3},{"amount":0.534,"high":13066.7,"vol":534,"low":12928.1,"count":123,"id":1603544400,"close":12985.9,"tradeTurnover":6950.4268,"open":13038.8},{"amount":0.47,"high":13100.1,"vol":470,"low":12960.5,"count":100,"id":1603548000,"close":13042.0,"tradeTurnover":6124.2178,"open":12986.3},{"amount":0.456,"high":13196.5,"vol":456,"low":13038.4,"count":120,"id":1603551600,"close":13102.2,"tradeTurnover":5989.6362,"open":13038.4},{"amount":0.458,"high":13176.6,"vol":458,"low":12984.6,"count":121,"id":1603555200,"close":13052.7,"tradeTurnover":5976.331,"open":13136.8},{"amount":0.452,"high":13177.8,"vol":452,"low":13003.2,"count":118,"id":1603558800,"close":13177.8,"tradeTurnover":5911.7058,"open":13006.2},{"amount":0.468,"high":13170.7,"vol":468,"low":13023.0,"count":119,"id":1603562400,"close":13080.8,"tradeTurnover":6122.375,"open":13127.7},{"amount":0.468,"high":13179.3,"vol":468,"low":13014.2,"count":120,"id":1603566000,"close":13148.4,"tradeTurnover":6126.4278,"open":13040.7},{"amount":0.47,"high":13179.6,"vol":470,"low":12992.5,"count":119,"id":1603569600,"close":13090.1,"tradeTurnover":6151.4758,"open":13073.5},{"amount":0.458,"high":13148.7,"vol":458,"low":12980.7,"count":117,"id":1603573200,"close":12993.9,"tradeTurnover":5981.071,"open":13035.4},{"amount":0.478,"high":13112.1,"vol":478,"low":12975.6,"count":118,"id":1603576800,"close":13041.1,"tradeTurnover":6225.4216,"open":13040.7},{"amount":0.472,"high":13184.3,"vol":472,"low":13009.3,"count":118,"id":1603580400,"close":13184.3,"tradeTurnover":6173.4244,"open":13012.6},{"amount":0.46,"high":13170.4,"vol":460,"low":13007.7,"count":115,"id":1603584000,"close":13154.3,"tradeTurnover":6024.09,"open":13080.8},{"amount":0.398,"high":13196.8,"vol":398,"low":13024.0,"count":102,"id":1603587600,"close":13196.1,"tradeTurnover":5217.5364,"open":13092.0},{"amount":0.476,"high":13175.1,"vol":476,"low":13035.0,"count":120,"id":1603591200,"close":13082.4,"tradeTurnover":6228.6596,"open":13124.7},{"amount":0.578,"high":13383.8,"vol":578,"low":13049.1,"count":137,"id":1603594800,"close":13259.0,"tradeTurnover":7629.3886,"open":13049.1},{"amount":0.47,"high":13369.0,"vol":470,"low":13216.0,"count":122,"id":1603598400,"close":13243.4,"tradeTurnover":6247.955,"open":13277.0},{"amount":0.61,"high":13353.3,"vol":610,"low":13010.1,"count":134,"id":1603602000,"close":13017.3,"tradeTurnover":8048.8598,"open":13285.3},{"amount":0.486,"high":13105.7,"vol":486,"low":13018.2,"count":118,"id":1603605600,"close":13060.3,"tradeTurnover":6344.1474,"open":13022.5},{"amount":0.464,"high":13112.1,"vol":464,"low":13022.0,"count":120,"id":1603609200,"close":13078.1,"tradeTurnover":6061.5416,"open":13048.5},{"amount":0.464,"high":13091.0,"vol":464,"low":13017.2,"count":120,"id":1603612800,"close":13046.0,"tradeTurnover":6055.3734,"open":13077.2},{"amount":0.478,"high":13084.0,"vol":478,"low":13014.2,"count":117,"id":1603616400,"close":13040.8,"tradeTurnover":6235.7882,"open":13065.1},{"amount":0.478,"high":13064.2,"vol":478,"low":13010.2,"count":125,"id":1603620000,"close":13028.5,"tradeTurnover":6232.2428,"open":13047.1},{"amount":0.534,"high":13061.5,"vol":534,"low":12852.9,"count":123,"id":1603623600,"close":12897.6,"tradeTurnover":6918.1226,"open":13061.5},{"amount":0.444,"high":13069.7,"vol":444,"low":12893.2,"count":117,"id":1603627200,"close":12964.3,"tradeTurnover":5755.8712,"open":12908.3},{"amount":0.498,"high":13071.9,"vol":498,"low":12891.8,"count":119,"id":1603630800,"close":12949.3,"tradeTurnover":6465.078,"open":13001.3},{"amount":0.468,"high":13077.7,"vol":468,"low":12900.0,"count":116,"id":1603634400,"close":12946.8,"tradeTurnover":6075.4554,"open":12975.8},{"amount":0.47,"high":13069.1,"vol":470,"low":12883.3,"count":119,"id":1603638000,"close":12883.3,"tradeTurnover":6097.1072,"open":12975.2},{"amount":0.482,"high":13067.9,"vol":482,"low":12877.5,"count":118,"id":1603641600,"close":12978.7,"tradeTurnover":6256.4472,"open":12916.2},{"amount":0.47,"high":13087.5,"vol":470,"low":12922.7,"count":117,"id":1603645200,"close":13004.4,"tradeTurnover":6108.3892,"open":13008.0},{"amount":0.468,"high":13067.6,"vol":468,"low":12893.6,"count":118,"id":1603648800,"close":12957.2,"tradeTurnover":6079.1484,"open":12972.8},{"amount":0.442,"high":13066.9,"vol":442,"low":12916.6,"count":118,"id":1603652400,"close":13021.8,"tradeTurnover":5746.5548,"open":12996.5},{"amount":0.508,"high":13081.5,"vol":508,"low":12944.9,"count":120,"id":1603656000,"close":12985.4,"tradeTurnover":6616.9872,"open":12992.9},{"amount":0.508,"high":13068.6,"vol":508,"low":12921.4,"count":122,"id":1603659600,"close":13011.2,"tradeTurnover":6614.816,"open":12999.9},{"amount":0.486,"high":13073.8,"vol":486,"low":12911.9,"count":121,"id":1603663200,"close":12959.4,"tradeTurnover":6320.907,"open":12979.6},{"amount":0.452,"high":13085.2,"vol":452,"low":12927.8,"count":113,"id":1603666800,"close":13032.1,"tradeTurnover":5878.6442,"open":12963.4},{"amount":0.482,"high":13076.7,"vol":482,"low":12918.3,"count":121,"id":1603670400,"close":13001.0,"tradeTurnover":6263.698,"open":12964.2},{"amount":0.478,"high":13096.4,"vol":478,"low":12991.2,"count":124,"id":1603674000,"close":13053.7,"tradeTurnover":6232.2328,"open":13040.0},{"amount":0.488,"high":13185.7,"vol":488,"low":12985.1,"count":121,"id":1603677600,"close":13064.4,"tradeTurnover":6387.534,"open":13060.6},{"amount":0.486,"high":13187.2,"vol":486,"low":12984.1,"count":135,"id":1603681200,"close":13092.8,"tradeTurnover":6369.0272,"open":13032.3},{"amount":0.51,"high":13181.6,"vol":510,"low":12962.3,"count":131,"id":1603684800,"close":13132.6,"tradeTurnover":6679.829,"open":13092.0},{"amount":0.506,"high":13205.3,"vol":506,"low":13025.3,"count":126,"id":1603688400,"close":13092.1,"tradeTurnover":6641.2128,"open":13129.2},{"amount":1.616,"high":13188.1,"vol":1616,"low":12989.8,"count":141,"id":1603692000,"close":13071.4,"tradeTurnover":21170.8224,"open":13121.8},{"amount":3.746,"high":13100.0,"vol":3746,"low":12965.2,"count":110,"id":1603695600,"close":13038.7,"tradeTurnover":48924.8902,"open":13061.0},{"amount":8.966,"high":13102.0,"vol":8966,"low":12852.8,"count":173,"id":1603699200,"close":13039.3,"tradeTurnover":116525.5534,"open":13030.9},{"amount":4.48,"high":13088.4,"vol":4480,"low":13039.8,"count":124,"id":1603702800,"close":13075.9,"tradeTurnover":58521.1714,"open":13047.1},{"amount":4.272,"high":13100.0,"vol":4272,"low":13060.2,"count":130,"id":1603706400,"close":13100.0,"tradeTurnover":55895.9778,"open":13072.1},{"amount":29.798,"high":13159.0,"vol":29798,"low":13100.0,"count":230,"id":1603710000,"close":13138.4,"tradeTurnover":391138.024,"open":13100.0},{"amount":5.154,"high":13200.0,"vol":5154,"low":13100.0,"count":188,"id":1603713600,"close":13149.8,"tradeTurnover":67694.652,"open":13138.8},{"amount":35.608,"high":13351.5,"vol":35608,"low":13133.1,"count":328,"id":1603717200,"close":13205.8,"tradeTurnover":472780.3394,"open":13150.0},{"amount":31.748,"high":13280.0,"vol":31748,"low":13144.1,"count":235,"id":1603720800,"close":13166.1,"tradeTurnover":418744.5588,"open":13203.0},{"amount":36.53,"high":13165.2,"vol":36530,"low":12903.8,"count":384,"id":1603724400,"close":12978.0,"tradeTurnover":476940.3296,"open":13159.0},{"amount":35.018,"high":13069.8,"vol":35018,"low":12850.5,"count":323,"id":1603728000,"close":12869.6,"tradeTurnover":453288.918,"open":12965.0},{"amount":92.628,"high":12941.5,"vol":92628,"low":12583.9,"count":560,"id":1603731600,"close":12873.8,"tradeTurnover":1185973.467,"open":12879.2},{"amount":4.302,"high":12954.5,"vol":4302,"low":12820.4,"count":128,"id":1603735200,"close":12946.8,"tradeTurnover":55481.0054,"open":12856.2},{"amount":13.83,"high":12953.5,"vol":13830,"low":12914.1,"count":118,"id":1603738800,"close":12953.4,"tradeTurnover":179112.1598,"open":12945.6},{"amount":17.172,"high":13007.5,"vol":17172,"low":12953.5,"count":132,"id":1603742400,"close":12983.4,"tradeTurnover":223230.2122,"open":12953.5},{"amount":3.212,"high":13007.5,"vol":3212,"low":12982.7,"count":59,"id":1603746000,"close":12993.8,"tradeTurnover":41767.8906,"open":12983.1},{"amount":1.504,"high":13007.5,"vol":1504,"low":12974.0,"count":74,"id":1603749600,"close":13007.5,"tradeTurnover":19543.3568,"open":13002.1},{"amount":3.454,"high":13061.2,"vol":3454,"low":13007.5,"count":101,"id":1603753200,"close":13033.7,"tradeTurnover":45001.601,"open":13007.5},{"amount":8.784,"high":13105.0,"vol":8784,"low":13028.3,"count":98,"id":1603756800,"close":13067.1,"tradeTurnover":114871.8246,"open":13029.2},{"amount":11.592,"high":13074.4,"vol":11592,"low":13051.5,"count":66,"id":1603760400,"close":13061.7,"tradeTurnover":151386.9038,"open":13074.3},{"amount":19.298,"high":13097.6,"vol":19298,"low":13040.1,"count":109,"id":1603764000,"close":13049.7,"tradeTurnover":252061.019,"open":13061.7},{"amount":22.992,"high":13080.0,"vol":22992,"low":13057.1,"count":69,"id":1603767600,"close":13070.4,"tradeTurnover":300453.9788,"open":13057.6},{"amount":14.396,"high":13175.0,"vol":14396,"low":13079.6,"count":59,"id":1603771200,"close":13103.3,"tradeTurnover":188461.9156,"open":13080.0},{"amount":5.058,"high":13121.3,"vol":5058,"low":13069.7,"count":44,"id":1603774800,"close":13073.6,"tradeTurnover":66201.3552,"open":13121.3},{"amount":9.106,"high":13149.0,"vol":9106,"low":13069.6,"count":107,"id":1603778400,"close":13103.4,"tradeTurnover":119104.8906,"open":13074.9},{"amount":73.95,"high":13169.8,"vol":73950,"low":12992.4,"count":305,"id":1603782000,"close":13130.0,"tradeTurnover":968195.155,"open":13103.3},{"amount":18.732,"high":13148.4,"vol":18732,"low":13044.0,"count":135,"id":1603785600,"close":13123.8,"tradeTurnover":245533.5448,"open":13135.1},{"amount":13.756,"high":13131.8,"vol":13756,"low":13075.7,"count":102,"id":1603789200,"close":13131.7,"tradeTurnover":180253.7708,"open":13115.5},{"amount":154.108,"high":13252.0,"vol":154108,"low":13063.4,"count":525,"id":1603792800,"close":13216.9,"tradeTurnover":2029983.656,"open":13134.8},{"amount":170.09,"high":13590.1,"vol":170090,"low":13213.5,"count":591,"id":1603796400,"close":13395.8,"tradeTurnover":2276279.742,"open":13218.8},{"amount":48.928,"high":13414.0,"vol":48928,"low":13331.7,"count":216,"id":1603800000,"close":13376.9,"tradeTurnover":654585.9108,"open":13395.9},{"amount":63.294,"high":13490.9,"vol":63294,"low":13329.8,"count":316,"id":1603803600,"close":13384.3,"tradeTurnover":848130.9212,"open":13376.5},{"amount":12.892,"high":13415.8,"vol":12892,"low":13344.8,"count":124,"id":1603807200,"close":13398.2,"tradeTurnover":172618.6864,"open":13392.6},{"amount":93.22,"high":13626.7,"vol":93220,"low":13398.2,"count":476,"id":1603810800,"close":13598.5,"tradeTurnover":1262695.5466,"open":13398.2},{"amount":85.45,"high":13639.9,"vol":85450,"low":13520.2,"count":435,"id":1603814400,"close":13639.9,"tradeTurnover":1161481.4136,"open":13595.8},{"amount":191.812,"high":13826.7,"vol":191812,"low":13589.0,"count":711,"id":1603818000,"close":13688.1,"tradeTurnover":2628428.3788,"open":13640.0},{"amount":65.434,"high":13745.0,"vol":65434,"low":13528.2,"count":410,"id":1603821600,"close":13630.1,"tradeTurnover":891541.8394,"open":13685.0},{"amount":5.788,"high":13659.8,"vol":5788,"low":13595.4,"count":65,"id":1603825200,"close":13637.1,"tradeTurnover":78836.2578,"open":13629.4},{"amount":163.104,"high":13805.1,"vol":163104,"low":13582.6,"count":537,"id":1603828800,"close":13616.6,"tradeTurnover":2234040.3544,"open":13644.4},{"amount":9.884,"high":13753.5,"vol":9884,"low":13609.8,"count":101,"id":1603832400,"close":13705.5,"tradeTurnover":135406.4752,"open":13609.8},{"amount":7.436,"high":13739.9,"vol":7436,"low":13658.2,"count":100,"id":1603836000,"close":13739.9,"tradeTurnover":101840.3508,"open":13705.4},{"amount":17.086,"high":13794.6,"vol":17086,"low":13582.6,"count":234,"id":1603839600,"close":13649.6,"tradeTurnover":233971.8448,"open":13739.9},{"amount":24.108,"high":13745.2,"vol":24108,"low":13618.8,"count":177,"id":1603843200,"close":13701.7,"tradeTurnover":330206.5694,"open":13645.9},{"amount":15.892,"high":13725.6,"vol":15892,"low":13647.9,"count":151,"id":1603846800,"close":13702.6,"tradeTurnover":217816.7008,"open":13702.1},{"amount":46.548,"high":13832.2,"vol":46548,"low":13680.2,"count":274,"id":1603850400,"close":13811.6,"tradeTurnover":640636.0352,"open":13701.7},{"amount":67.896,"high":13820.3,"vol":67896,"low":13717.5,"count":320,"id":1603854000,"close":13777.0,"tradeTurnover":935838.2238,"open":13818.5},{"amount":33.156,"high":13807.2,"vol":33156,"low":13710.0,"count":210,"id":1603857600,"close":13735.7,"tradeTurnover":455941.234,"open":13767.3},{"amount":32.076,"high":13753.9,"vol":32076,"low":13671.3,"count":198,"id":1603861200,"close":13715.8,"tradeTurnover":439612.64,"open":13735.5},{"amount":14.756,"high":13757.0,"vol":14756,"low":13694.9,"count":122,"id":1603864800,"close":13701.3,"tradeTurnover":202602.5164,"open":13715.9},{"amount":155.534,"high":13708.7,"vol":155534,"low":13550.0,"count":635,"id":1603868400,"close":13674.2,"tradeTurnover":2117935.0928,"open":13701.2},{"amount":29.846,"high":13691.7,"vol":29846,"low":13584.0,"count":240,"id":1603872000,"close":13691.7,"tradeTurnover":407073.1398,"open":13673.0},{"amount":104.542,"high":13707.5,"vol":104542,"low":13573.5,"count":377,"id":1603875600,"close":13587.1,"tradeTurnover":1425079.9344,"open":13689.3},{"amount":73.818,"high":13618.0,"vol":73818,"low":13504.7,"count":358,"id":1603879200,"close":13552.7,"tradeTurnover":1001666.0908,"open":13584.6},{"amount":176.544,"high":13565.4,"vol":176544,"low":13330.0,"count":1004,"id":1603882800,"close":13336.4,"tradeTurnover":2369166.1492,"open":13552.6},{"amount":289.73,"high":13385.0,"vol":289730,"low":13173.9,"count":968,"id":1603886400,"close":13300.3,"tradeTurnover":3846751.7166,"open":13331.5},{"amount":139.822,"high":13340.0,"vol":139822,"low":13122.9,"count":612,"id":1603890000,"close":13129.9,"tradeTurnover":1848876.932,"open":13300.2},{"amount":367.876,"high":13168.2,"vol":367876,"low":12915.9,"count":1168,"id":1603893600,"close":13082.2,"tradeTurnover":4802516.9818,"open":13123.4},{"amount":84.044,"high":13235.2,"vol":84044,"low":13052.3,"count":375,"id":1603897200,"close":13221.2,"tradeTurnover":1106883.1282,"open":13077.1},{"amount":29.566,"high":13218.7,"vol":29566,"low":13050.0,"count":244,"id":1603900800,"close":13145.1,"tradeTurnover":388697.4104,"open":13218.7},{"amount":53.336,"high":13204.9,"vol":53336,"low":13006.6,"count":299,"id":1603904400,"close":13176.7,"tradeTurnover":700385.2784,"open":13145.1},{"amount":34.164,"high":13219.6,"vol":34164,"low":13131.0,"count":218,"id":1603908000,"close":13196.5,"tradeTurnover":450210.5778,"open":13171.0},{"amount":22.158,"high":13237.4,"vol":22158,"low":13145.0,"count":185,"id":1603911600,"close":13154.9,"tradeTurnover":292020.0438,"open":13200.0},{"amount":4.548,"high":13211.8,"vol":4548,"low":13147.4,"count":75,"id":1603915200,"close":13198.1,"tradeTurnover":59991.1118,"open":13154.5},{"amount":3.52,"high":13196.5,"vol":3520,"low":13100.2,"count":68,"id":1603918800,"close":13190.1,"tradeTurnover":46175.428,"open":13193.5},{"amount":3.122,"high":13267.5,"vol":3122,"low":13185.4,"count":72,"id":1603922400,"close":13252.0,"tradeTurnover":41304.2018,"open":13185.4},{"amount":14.768,"high":13282.3,"vol":14768,"low":13235.9,"count":86,"id":1603926000,"close":13265.9,"tradeTurnover":195689.0764,"open":13242.1},{"amount":19.968,"high":13294.7,"vol":19968,"low":13237.4,"count":98,"id":1603929600,"close":13245.1,"tradeTurnover":264834.1944,"open":13253.9},{"amount":35.282,"high":13285.3,"vol":35282,"low":13166.3,"count":192,"id":1603933200,"close":13274.2,"tradeTurnover":465789.6302,"open":13244.6},{"amount":9.748,"high":13277.7,"vol":9748,"low":13212.2,"count":119,"id":1603936800,"close":13241.1,"tradeTurnover":129016.0684,"open":13275.9},{"amount":27.3,"high":13262.5,"vol":27300,"low":13174.6,"count":199,"id":1603940400,"close":13262.5,"tradeTurnover":360589.8982,"open":13237.1},{"amount":18.904,"high":13277.7,"vol":18904,"low":13229.5,"count":109,"id":1603944000,"close":13229.5,"tradeTurnover":250713.2812,"open":13269.1},{"amount":15.822,"high":13274.8,"vol":15822,"low":13228.5,"count":134,"id":1603947600,"close":13274.8,"tradeTurnover":209781.909,"open":13228.5},{"amount":91.246,"high":13323.0,"vol":91246,"low":13242.3,"count":294,"id":1603951200,"close":13255.0,"tradeTurnover":1211271.2788,"open":13274.8},{"amount":187.622,"high":13269.3,"vol":187622,"low":13123.1,"count":506,"id":1603954800,"close":13142.4,"tradeTurnover":2478299.7074,"open":13255.0},{"amount":69.532,"high":13182.4,"vol":69532,"low":13094.1,"count":226,"id":1603958400,"close":13124.8,"tradeTurnover":914157.2418,"open":13145.9},{"amount":23.184,"high":13197.1,"vol":23184,"low":13129.5,"count":141,"id":1603962000,"close":13183.7,"tradeTurnover":305485.9524,"open":13129.5},{"amount":121.146,"high":13187.5,"vol":121146,"low":13053.1,"count":442,"id":1603965600,"close":13105.2,"tradeTurnover":1590026.4416,"open":13184.8},{"amount":47.498,"high":13171.4,"vol":47498,"low":13060.1,"count":262,"id":1603969200,"close":13060.1,"tradeTurnover":623578.149,"open":13105.1},{"amount":126.552,"high":13145.8,"vol":126552,"low":12977.9,"count":481,"id":1603972800,"close":13131.8,"tradeTurnover":1652549.311,"open":13056.9},{"amount":100.482,"high":13237.2,"vol":100482,"low":13102.0,"count":325,"id":1603976400,"close":13230.0,"tradeTurnover":1326403.7206,"open":13131.7},{"amount":253.258,"high":13476.1,"vol":253258,"low":13231.0,"count":752,"id":1603980000,"close":13420.8,"tradeTurnover":3384941.438,"open":13231.0},{"amount":64.71,"high":13458.7,"vol":64710,"low":13358.7,"count":269,"id":1603983600,"close":13420.6,"tradeTurnover":869052.3804,"open":13416.0},{"amount":120.24,"high":13594.5,"vol":120240,"low":13391.8,"count":570,"id":1603987200,"close":13535.9,"tradeTurnover":1626567.8278,"open":13421.9}],"id":"","rep":"market.BTC-USDT.kline.60min","status":"ok"} +2024-01-18 11:13:16.035 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:39] - 请求 KLine 数据用户收到的原始数据:{"id":"","rep":"market.BTC-USDT.kline.60min","ts":1705547594945,"wsid":19750305,"status":"ok","data":[{"id":1603270800,"open":12198.0,"close":12196.7,"high":12300.0,"low":11715.8,"amount":0.276,"vol":276,"trade_turnover":3315.9104,"count":39},{"id":1603274400,"open":12196.7,"close":12277.9,"high":12289.9,"low":12111.0,"amount":0.198,"vol":198,"trade_turnover":2420.7728,"count":21},{"id":1603278000,"open":12111.0,"close":12000.0,"high":12277.9,"low":12000.0,"amount":0.012,"vol":12,"trade_turnover":145.2238,"count":5},{"id":1603281600,"open":12078.0,"close":12497.4,"high":12498.0,"low":12078.0,"amount":0.084,"vol":84,"trade_turnover":1040.0504,"count":12},{"id":1603285200,"open":12495.6,"close":12373.5,"high":12495.6,"low":12282.9,"amount":1.122,"vol":1122,"trade_turnover":13905.3124,"count":112},{"id":1603288800,"open":12412.9,"close":12689.9,"high":12807.6,"low":12358.1,"amount":5.29,"vol":5290,"trade_turnover":66852.128,"count":155},{"id":1603292400,"open":12692.8,"close":12701.9,"high":12778.7,"low":12573.2,"amount":1.174,"vol":1174,"trade_turnover":14907.367,"count":113},{"id":1603296000,"open":12679.7,"close":12835.9,"high":12920.9,"low":12624.8,"amount":1.156,"vol":1156,"trade_turnover":14802.449,"count":115},{"id":1603299600,"open":12848.3,"close":12754.2,"high":12908.3,"low":12687.5,"amount":1.12,"vol":1120,"trade_turnover":14345.7324,"count":115},{"id":1603303200,"open":12743.7,"close":12740.2,"high":12849.0,"low":12668.3,"amount":1.106,"vol":1106,"trade_turnover":14105.3504,"count":114},{"id":1603306800,"open":12729.5,"close":12650.3,"high":12843.1,"low":12597.2,"amount":1.032,"vol":1032,"trade_turnover":13125.4568,"count":112},{"id":1603310400,"open":12666.8,"close":12807.0,"high":12848.4,"low":12610.2,"amount":1.154,"vol":1154,"trade_turnover":14680.638,"count":116},{"id":1603314000,"open":12866.0,"close":12938.9,"high":13005.1,"low":12748.2,"amount":1.164,"vol":1164,"trade_turnover":14976.9366,"count":114},{"id":1603317600,"open":12921.0,"close":13122.0,"high":13211.2,"low":12865.7,"amount":1.174,"vol":1174,"trade_turnover":15285.2446,"count":114},{"id":1603321200,"open":13153.2,"close":12829.8,"high":13173.2,"low":12688.6,"amount":1.172,"vol":1172,"trade_turnover":15060.9938,"count":117},{"id":1603324800,"open":12793.1,"close":12885.9,"high":12988.1,"low":12764.4,"amount":1.17,"vol":1170,"trade_turnover":15046.2046,"count":117},{"id":1603328400,"open":12860.4,"close":12757.5,"high":12972.6,"low":12757.5,"amount":1.158,"vol":1158,"trade_turnover":14882.4656,"count":118},{"id":1603332000,"open":12824.1,"close":12788.8,"high":12848.0,"low":12729.0,"amount":1.124,"vol":1124,"trade_turnover":14368.7948,"count":115},{"id":1603335600,"open":12791.7,"close":12767.2,"high":12834.4,"low":12729.0,"amount":1.194,"vol":1194,"trade_turnover":15268.9298,"count":111},{"id":1603339200,"open":12729.0,"close":12762.2,"high":12778.3,"low":12729.0,"amount":1.152,"vol":1152,"trade_turnover":14695.4876,"count":115},{"id":1603342800,"open":12763.1,"close":12813.8,"high":12842.0,"low":12730.6,"amount":1.21,"vol":1210,"trade_turnover":15440.8162,"count":119},{"id":1603346400,"open":12795.0,"close":12729.1,"high":12795.0,"low":12728.0,"amount":1.188,"vol":1188,"trade_turnover":15128.0098,"count":123},{"id":1603350000,"open":12728.6,"close":12730.6,"high":12730.6,"low":12728.3,"amount":1.266,"vol":1266,"trade_turnover":16115.1306,"count":112},{"id":1603353600,"open":12730.3,"close":12770.1,"high":12921.5,"low":12729.9,"amount":1.35,"vol":1350,"trade_turnover":17233.7326,"count":127},{"id":1603357200,"open":12824.9,"close":12780.4,"high":12872.1,"low":12760.1,"amount":0.98,"vol":980,"trade_turnover":12553.9826,"count":99},{"id":1603360800,"open":12784.9,"close":12934.2,"high":13002.7,"low":12775.6,"amount":0.266,"vol":266,"trade_turnover":3415.023,"count":30},{"id":1603364400,"open":12977.0,"close":13045.0,"high":13057.0,"low":12886.6,"amount":1.004,"vol":1004,"trade_turnover":13020.8576,"count":117},{"id":1603368000,"open":12958.5,"close":12847.9,"high":12973.4,"low":12751.6,"amount":1.134,"vol":1134,"trade_turnover":14594.2752,"count":111},{"id":1603371600,"open":12882.7,"close":12931.0,"high":13000.8,"low":12743.0,"amount":1.152,"vol":1152,"trade_turnover":14877.7314,"count":114},{"id":1603375200,"open":12890.4,"close":12917.8,"high":12995.3,"low":12783.9,"amount":1.182,"vol":1182,"trade_turnover":15224.4716,"count":115},{"id":1603378800,"open":12918.8,"close":12953.0,"high":13031.2,"low":12817.9,"amount":1.176,"vol":1176,"trade_turnover":15197.208,"count":117},{"id":1603382400,"open":12923.1,"close":13055.6,"high":13100.2,"low":12865.6,"amount":1.146,"vol":1146,"trade_turnover":14851.9604,"count":119},{"id":1603386000,"open":12967.6,"close":13082.7,"high":13105.7,"low":12835.5,"amount":1.534,"vol":1534,"trade_turnover":19927.8288,"count":124},{"id":1603389600,"open":13020.4,"close":13016.4,"high":13115.0,"low":12938.7,"amount":1.268,"vol":1268,"trade_turnover":16505.4738,"count":117},{"id":1603393200,"open":13028.3,"close":12970.6,"high":13171.2,"low":12961.8,"amount":1.13,"vol":1130,"trade_turnover":14762.952,"count":112},{"id":1603396800,"open":13016.7,"close":13089.3,"high":13216.1,"low":12998.5,"amount":1.206,"vol":1206,"trade_turnover":15807.1226,"count":117},{"id":1603400400,"open":13136.0,"close":13092.0,"high":13203.7,"low":12932.9,"amount":1.332,"vol":1332,"trade_turnover":17423.4422,"count":114},{"id":1603404000,"open":13119.4,"close":13055.9,"high":13250.5,"low":12984.7,"amount":1.21,"vol":1210,"trade_turnover":15876.0632,"count":114},{"id":1603407600,"open":13059.4,"close":12890.4,"high":13126.5,"low":12857.2,"amount":1.286,"vol":1286,"trade_turnover":16688.422,"count":116},{"id":1603411200,"open":12929.7,"close":12892.2,"high":12994.0,"low":12751.6,"amount":1.502,"vol":1502,"trade_turnover":19331.1596,"count":131},{"id":1603414800,"open":12921.7,"close":12898.3,"high":13003.2,"low":12786.0,"amount":1.386,"vol":1386,"trade_turnover":17904.8902,"count":121},{"id":1603418400,"open":12951.6,"close":12975.1,"high":13054.0,"low":12800.7,"amount":1.416,"vol":1416,"trade_turnover":18306.6204,"count":122},{"id":1603422000,"open":12967.3,"close":12947.0,"high":13030.7,"low":12875.0,"amount":1.19,"vol":1190,"trade_turnover":15409.7984,"count":118},{"id":1603425600,"open":12925.2,"close":12852.0,"high":13047.3,"low":12832.8,"amount":1.022,"vol":1022,"trade_turnover":13214.4388,"count":127},{"id":1603429200,"open":12859.0,"close":12931.1,"high":12991.7,"low":12841.2,"amount":0.478,"vol":478,"trade_turnover":6180.2486,"count":118},{"id":1603432800,"open":12935.9,"close":12939.6,"high":13014.1,"low":12871.9,"amount":0.522,"vol":522,"trade_turnover":6759.0324,"count":132},{"id":1603436400,"open":12923.1,"close":12925.4,"high":12998.9,"low":12917.1,"amount":0.476,"vol":476,"trade_turnover":6163.3118,"count":118},{"id":1603440000,"open":12942.2,"close":12962.6,"high":13014.0,"low":12916.1,"amount":0.508,"vol":508,"trade_turnover":6585.3656,"count":122},{"id":1603443600,"open":12970.5,"close":12926.4,"high":13012.5,"low":12909.9,"amount":0.564,"vol":564,"trade_turnover":7308.8828,"count":124},{"id":1603447200,"open":13001.2,"close":13007.7,"high":13059.5,"low":12925.7,"amount":0.536,"vol":536,"trade_turnover":6957.8796,"count":124},{"id":1603450800,"open":13025.4,"close":12970.6,"high":13078.4,"low":12906.5,"amount":0.486,"vol":486,"trade_turnover":6326.1434,"count":122},{"id":1603454400,"open":12963.9,"close":12935.4,"high":13025.0,"low":12850.8,"amount":0.494,"vol":494,"trade_turnover":6396.0984,"count":117},{"id":1603458000,"open":12913.3,"close":12951.7,"high":13043.3,"low":12911.0,"amount":0.466,"vol":466,"trade_turnover":6049.1412,"count":117},{"id":1603461600,"open":12999.6,"close":12858.8,"high":13006.4,"low":12840.4,"amount":0.46,"vol":460,"trade_turnover":5941.815,"count":116},{"id":1603465200,"open":12885.7,"close":12881.9,"high":12932.9,"low":12826.5,"amount":0.492,"vol":492,"trade_turnover":6340.214,"count":117},{"id":1603468800,"open":12854.4,"close":12784.1,"high":12933.5,"low":12744.4,"amount":0.484,"vol":484,"trade_turnover":6205.4138,"count":123},{"id":1603472400,"open":12832.3,"close":12847.7,"high":12893.1,"low":12730.1,"amount":0.562,"vol":562,"trade_turnover":7218.9184,"count":152},{"id":1603476000,"open":12874.1,"close":12915.7,"high":12939.3,"low":12751.4,"amount":0.53,"vol":530,"trade_turnover":6825.7004,"count":128},{"id":1603479600,"open":12867.9,"close":12972.9,"high":12972.9,"low":12786.6,"amount":0.444,"vol":444,"trade_turnover":5727.7452,"count":117},{"id":1603483200,"open":12956.7,"close":12991.6,"high":13002.2,"low":12842.9,"amount":0.492,"vol":492,"trade_turnover":6375.1566,"count":116},{"id":1603486800,"open":13004.3,"close":12943.5,"high":13004.3,"low":12936.6,"amount":0.5,"vol":500,"trade_turnover":6485.468,"count":125},{"id":1603490400,"open":12923.6,"close":12989.2,"high":13010.3,"low":12884.7,"amount":0.492,"vol":492,"trade_turnover":6376.1492,"count":120},{"id":1603494000,"open":12974.9,"close":12884.6,"high":13024.4,"low":12884.6,"amount":0.51,"vol":510,"trade_turnover":6622.3406,"count":121},{"id":1603497600,"open":12973.7,"close":12953.9,"high":13018.3,"low":12811.1,"amount":0.488,"vol":488,"trade_turnover":6317.7938,"count":120},{"id":1603501200,"open":12927.5,"close":12934.2,"high":13018.1,"low":12872.8,"amount":0.482,"vol":482,"trade_turnover":6242.4178,"count":117},{"id":1603504800,"open":12971.9,"close":12989.1,"high":13003.9,"low":12903.3,"amount":0.484,"vol":484,"trade_turnover":6278.1756,"count":117},{"id":1603508400,"open":13000.1,"close":12975.9,"high":13013.4,"low":12938.3,"amount":0.474,"vol":474,"trade_turnover":6157.7096,"count":122},{"id":1603512000,"open":12989.7,"close":12963.3,"high":13009.4,"low":12905.5,"amount":0.526,"vol":526,"trade_turnover":6831.5658,"count":124},{"id":1603515600,"open":12910.5,"close":12989.7,"high":13041.8,"low":12875.3,"amount":0.522,"vol":522,"trade_turnover":6768.8994,"count":127},{"id":1603519200,"open":12994.7,"close":13003.6,"high":13058.1,"low":12908.8,"amount":0.49,"vol":490,"trade_turnover":6370.5714,"count":120},{"id":1603522800,"open":13011.9,"close":13004.2,"high":13037.8,"low":12981.7,"amount":0.478,"vol":478,"trade_turnover":6218.9722,"count":120},{"id":1603526400,"open":13003.0,"close":12998.2,"high":13030.6,"low":12899.4,"amount":0.52,"vol":520,"trade_turnover":6754.958,"count":124},{"id":1603530000,"open":12998.2,"close":12990.6,"high":13020.3,"low":12893.6,"amount":0.454,"vol":454,"trade_turnover":5891.0574,"count":115},{"id":1603533600,"open":12996.4,"close":13030.1,"high":13059.1,"low":12913.2,"amount":0.502,"vol":502,"trade_turnover":6525.9004,"count":124},{"id":1603537200,"open":12988.4,"close":13033.2,"high":13068.3,"low":12940.2,"amount":0.468,"vol":468,"trade_turnover":6091.0376,"count":119},{"id":1603540800,"open":13035.3,"close":13006.5,"high":13071.8,"low":12978.9,"amount":0.468,"vol":468,"trade_turnover":6102.5902,"count":123},{"id":1603544400,"open":13038.8,"close":12985.9,"high":13066.7,"low":12928.1,"amount":0.534,"vol":534,"trade_turnover":6950.4268,"count":123},{"id":1603548000,"open":12986.3,"close":13042.0,"high":13100.1,"low":12960.5,"amount":0.47,"vol":470,"trade_turnover":6124.2178,"count":100},{"id":1603551600,"open":13038.4,"close":13102.2,"high":13196.5,"low":13038.4,"amount":0.456,"vol":456,"trade_turnover":5989.6362,"count":120},{"id":1603555200,"open":13136.8,"close":13052.7,"high":13176.6,"low":12984.6,"amount":0.458,"vol":458,"trade_turnover":5976.331,"count":121},{"id":1603558800,"open":13006.2,"close":13177.8,"high":13177.8,"low":13003.2,"amount":0.452,"vol":452,"trade_turnover":5911.7058,"count":118},{"id":1603562400,"open":13127.7,"close":13080.8,"high":13170.7,"low":13023.0,"amount":0.468,"vol":468,"trade_turnover":6122.375,"count":119},{"id":1603566000,"open":13040.7,"close":13148.4,"high":13179.3,"low":13014.2,"amount":0.468,"vol":468,"trade_turnover":6126.4278,"count":120},{"id":1603569600,"open":13073.5,"close":13090.1,"high":13179.6,"low":12992.5,"amount":0.47,"vol":470,"trade_turnover":6151.4758,"count":119},{"id":1603573200,"open":13035.4,"close":12993.9,"high":13148.7,"low":12980.7,"amount":0.458,"vol":458,"trade_turnover":5981.071,"count":117},{"id":1603576800,"open":13040.7,"close":13041.1,"high":13112.1,"low":12975.6,"amount":0.478,"vol":478,"trade_turnover":6225.4216,"count":118},{"id":1603580400,"open":13012.6,"close":13184.3,"high":13184.3,"low":13009.3,"amount":0.472,"vol":472,"trade_turnover":6173.4244,"count":118},{"id":1603584000,"open":13080.8,"close":13154.3,"high":13170.4,"low":13007.7,"amount":0.46,"vol":460,"trade_turnover":6024.09,"count":115},{"id":1603587600,"open":13092.0,"close":13196.1,"high":13196.8,"low":13024.0,"amount":0.398,"vol":398,"trade_turnover":5217.5364,"count":102},{"id":1603591200,"open":13124.7,"close":13082.4,"high":13175.1,"low":13035.0,"amount":0.476,"vol":476,"trade_turnover":6228.6596,"count":120},{"id":1603594800,"open":13049.1,"close":13259.0,"high":13383.8,"low":13049.1,"amount":0.578,"vol":578,"trade_turnover":7629.3886,"count":137},{"id":1603598400,"open":13277.0,"close":13243.4,"high":13369.0,"low":13216.0,"amount":0.47,"vol":470,"trade_turnover":6247.955,"count":122},{"id":1603602000,"open":13285.3,"close":13017.3,"high":13353.3,"low":13010.1,"amount":0.61,"vol":610,"trade_turnover":8048.8598,"count":134},{"id":1603605600,"open":13022.5,"close":13060.3,"high":13105.7,"low":13018.2,"amount":0.486,"vol":486,"trade_turnover":6344.1474,"count":118},{"id":1603609200,"open":13048.5,"close":13078.1,"high":13112.1,"low":13022.0,"amount":0.464,"vol":464,"trade_turnover":6061.5416,"count":120},{"id":1603612800,"open":13077.2,"close":13046.0,"high":13091.0,"low":13017.2,"amount":0.464,"vol":464,"trade_turnover":6055.3734,"count":120},{"id":1603616400,"open":13065.1,"close":13040.8,"high":13084.0,"low":13014.2,"amount":0.478,"vol":478,"trade_turnover":6235.7882,"count":117},{"id":1603620000,"open":13047.1,"close":13028.5,"high":13064.2,"low":13010.2,"amount":0.478,"vol":478,"trade_turnover":6232.2428,"count":125},{"id":1603623600,"open":13061.5,"close":12897.6,"high":13061.5,"low":12852.9,"amount":0.534,"vol":534,"trade_turnover":6918.1226,"count":123},{"id":1603627200,"open":12908.3,"close":12964.3,"high":13069.7,"low":12893.2,"amount":0.444,"vol":444,"trade_turnover":5755.8712,"count":117},{"id":1603630800,"open":13001.3,"close":12949.3,"high":13071.9,"low":12891.8,"amount":0.498,"vol":498,"trade_turnover":6465.078,"count":119},{"id":1603634400,"open":12975.8,"close":12946.8,"high":13077.7,"low":12900.0,"amount":0.468,"vol":468,"trade_turnover":6075.4554,"count":116},{"id":1603638000,"open":12975.2,"close":12883.3,"high":13069.1,"low":12883.3,"amount":0.47,"vol":470,"trade_turnover":6097.1072,"count":119},{"id":1603641600,"open":12916.2,"close":12978.7,"high":13067.9,"low":12877.5,"amount":0.482,"vol":482,"trade_turnover":6256.4472,"count":118},{"id":1603645200,"open":13008.0,"close":13004.4,"high":13087.5,"low":12922.7,"amount":0.47,"vol":470,"trade_turnover":6108.3892,"count":117},{"id":1603648800,"open":12972.8,"close":12957.2,"high":13067.6,"low":12893.6,"amount":0.468,"vol":468,"trade_turnover":6079.1484,"count":118},{"id":1603652400,"open":12996.5,"close":13021.8,"high":13066.9,"low":12916.6,"amount":0.442,"vol":442,"trade_turnover":5746.5548,"count":118},{"id":1603656000,"open":12992.9,"close":12985.4,"high":13081.5,"low":12944.9,"amount":0.508,"vol":508,"trade_turnover":6616.9872,"count":120},{"id":1603659600,"open":12999.9,"close":13011.2,"high":13068.6,"low":12921.4,"amount":0.508,"vol":508,"trade_turnover":6614.816,"count":122},{"id":1603663200,"open":12979.6,"close":12959.4,"high":13073.8,"low":12911.9,"amount":0.486,"vol":486,"trade_turnover":6320.907,"count":121},{"id":1603666800,"open":12963.4,"close":13032.1,"high":13085.2,"low":12927.8,"amount":0.452,"vol":452,"trade_turnover":5878.6442,"count":113},{"id":1603670400,"open":12964.2,"close":13001.0,"high":13076.7,"low":12918.3,"amount":0.482,"vol":482,"trade_turnover":6263.698,"count":121},{"id":1603674000,"open":13040.0,"close":13053.7,"high":13096.4,"low":12991.2,"amount":0.478,"vol":478,"trade_turnover":6232.2328,"count":124},{"id":1603677600,"open":13060.6,"close":13064.4,"high":13185.7,"low":12985.1,"amount":0.488,"vol":488,"trade_turnover":6387.534,"count":121},{"id":1603681200,"open":13032.3,"close":13092.8,"high":13187.2,"low":12984.1,"amount":0.486,"vol":486,"trade_turnover":6369.0272,"count":135},{"id":1603684800,"open":13092.0,"close":13132.6,"high":13181.6,"low":12962.3,"amount":0.51,"vol":510,"trade_turnover":6679.829,"count":131},{"id":1603688400,"open":13129.2,"close":13092.1,"high":13205.3,"low":13025.3,"amount":0.506,"vol":506,"trade_turnover":6641.2128,"count":126},{"id":1603692000,"open":13121.8,"close":13071.4,"high":13188.1,"low":12989.8,"amount":1.616,"vol":1616,"trade_turnover":21170.8224,"count":141},{"id":1603695600,"open":13061.0,"close":13038.7,"high":13100.0,"low":12965.2,"amount":3.746,"vol":3746,"trade_turnover":48924.8902,"count":110},{"id":1603699200,"open":13030.9,"close":13039.3,"high":13102.0,"low":12852.8,"amount":8.966,"vol":8966,"trade_turnover":116525.5534,"count":173},{"id":1603702800,"open":13047.1,"close":13075.9,"high":13088.4,"low":13039.8,"amount":4.48,"vol":4480,"trade_turnover":58521.1714,"count":124},{"id":1603706400,"open":13072.1,"close":13100.0,"high":13100.0,"low":13060.2,"amount":4.272,"vol":4272,"trade_turnover":55895.9778,"count":130},{"id":1603710000,"open":13100.0,"close":13138.4,"high":13159.0,"low":13100.0,"amount":29.798,"vol":29798,"trade_turnover":391138.024,"count":230},{"id":1603713600,"open":13138.8,"close":13149.8,"high":13200.0,"low":13100.0,"amount":5.154,"vol":5154,"trade_turnover":67694.652,"count":188},{"id":1603717200,"open":13150.0,"close":13205.8,"high":13351.5,"low":13133.1,"amount":35.608,"vol":35608,"trade_turnover":472780.3394,"count":328},{"id":1603720800,"open":13203.0,"close":13166.1,"high":13280.0,"low":13144.1,"amount":31.748,"vol":31748,"trade_turnover":418744.5588,"count":235},{"id":1603724400,"open":13159.0,"close":12978.0,"high":13165.2,"low":12903.8,"amount":36.53,"vol":36530,"trade_turnover":476940.3296,"count":384},{"id":1603728000,"open":12965.0,"close":12869.6,"high":13069.8,"low":12850.5,"amount":35.018,"vol":35018,"trade_turnover":453288.918,"count":323},{"id":1603731600,"open":12879.2,"close":12873.8,"high":12941.5,"low":12583.9,"amount":92.628,"vol":92628,"trade_turnover":1185973.467,"count":560},{"id":1603735200,"open":12856.2,"close":12946.8,"high":12954.5,"low":12820.4,"amount":4.302,"vol":4302,"trade_turnover":55481.0054,"count":128},{"id":1603738800,"open":12945.6,"close":12953.4,"high":12953.5,"low":12914.1,"amount":13.83,"vol":13830,"trade_turnover":179112.1598,"count":118},{"id":1603742400,"open":12953.5,"close":12983.4,"high":13007.5,"low":12953.5,"amount":17.172,"vol":17172,"trade_turnover":223230.2122,"count":132},{"id":1603746000,"open":12983.1,"close":12993.8,"high":13007.5,"low":12982.7,"amount":3.212,"vol":3212,"trade_turnover":41767.8906,"count":59},{"id":1603749600,"open":13002.1,"close":13007.5,"high":13007.5,"low":12974.0,"amount":1.504,"vol":1504,"trade_turnover":19543.3568,"count":74},{"id":1603753200,"open":13007.5,"close":13033.7,"high":13061.2,"low":13007.5,"amount":3.454,"vol":3454,"trade_turnover":45001.601,"count":101},{"id":1603756800,"open":13029.2,"close":13067.1,"high":13105.0,"low":13028.3,"amount":8.784,"vol":8784,"trade_turnover":114871.8246,"count":98},{"id":1603760400,"open":13074.3,"close":13061.7,"high":13074.4,"low":13051.5,"amount":11.592,"vol":11592,"trade_turnover":151386.9038,"count":66},{"id":1603764000,"open":13061.7,"close":13049.7,"high":13097.6,"low":13040.1,"amount":19.298,"vol":19298,"trade_turnover":252061.019,"count":109},{"id":1603767600,"open":13057.6,"close":13070.4,"high":13080.0,"low":13057.1,"amount":22.992,"vol":22992,"trade_turnover":300453.9788,"count":69},{"id":1603771200,"open":13080.0,"close":13103.3,"high":13175.0,"low":13079.6,"amount":14.396,"vol":14396,"trade_turnover":188461.9156,"count":59},{"id":1603774800,"open":13121.3,"close":13073.6,"high":13121.3,"low":13069.7,"amount":5.058,"vol":5058,"trade_turnover":66201.3552,"count":44},{"id":1603778400,"open":13074.9,"close":13103.4,"high":13149.0,"low":13069.6,"amount":9.106,"vol":9106,"trade_turnover":119104.8906,"count":107},{"id":1603782000,"open":13103.3,"close":13130.0,"high":13169.8,"low":12992.4,"amount":73.95,"vol":73950,"trade_turnover":968195.155,"count":305},{"id":1603785600,"open":13135.1,"close":13123.8,"high":13148.4,"low":13044.0,"amount":18.732,"vol":18732,"trade_turnover":245533.5448,"count":135},{"id":1603789200,"open":13115.5,"close":13131.7,"high":13131.8,"low":13075.7,"amount":13.756,"vol":13756,"trade_turnover":180253.7708,"count":102},{"id":1603792800,"open":13134.8,"close":13216.9,"high":13252.0,"low":13063.4,"amount":154.108,"vol":154108,"trade_turnover":2029983.656,"count":525},{"id":1603796400,"open":13218.8,"close":13395.8,"high":13590.1,"low":13213.5,"amount":170.09,"vol":170090,"trade_turnover":2276279.742,"count":591},{"id":1603800000,"open":13395.9,"close":13376.9,"high":13414.0,"low":13331.7,"amount":48.928,"vol":48928,"trade_turnover":654585.9108,"count":216},{"id":1603803600,"open":13376.5,"close":13384.3,"high":13490.9,"low":13329.8,"amount":63.294,"vol":63294,"trade_turnover":848130.9212,"count":316},{"id":1603807200,"open":13392.6,"close":13398.2,"high":13415.8,"low":13344.8,"amount":12.892,"vol":12892,"trade_turnover":172618.6864,"count":124},{"id":1603810800,"open":13398.2,"close":13598.5,"high":13626.7,"low":13398.2,"amount":93.22,"vol":93220,"trade_turnover":1262695.5466,"count":476},{"id":1603814400,"open":13595.8,"close":13639.9,"high":13639.9,"low":13520.2,"amount":85.45,"vol":85450,"trade_turnover":1161481.4136,"count":435},{"id":1603818000,"open":13640.0,"close":13688.1,"high":13826.7,"low":13589.0,"amount":191.812,"vol":191812,"trade_turnover":2628428.3788,"count":711},{"id":1603821600,"open":13685.0,"close":13630.1,"high":13745.0,"low":13528.2,"amount":65.434,"vol":65434,"trade_turnover":891541.8394,"count":410},{"id":1603825200,"open":13629.4,"close":13637.1,"high":13659.8,"low":13595.4,"amount":5.788,"vol":5788,"trade_turnover":78836.2578,"count":65},{"id":1603828800,"open":13644.4,"close":13616.6,"high":13805.1,"low":13582.6,"amount":163.104,"vol":163104,"trade_turnover":2234040.3544,"count":537},{"id":1603832400,"open":13609.8,"close":13705.5,"high":13753.5,"low":13609.8,"amount":9.884,"vol":9884,"trade_turnover":135406.4752,"count":101},{"id":1603836000,"open":13705.4,"close":13739.9,"high":13739.9,"low":13658.2,"amount":7.436,"vol":7436,"trade_turnover":101840.3508,"count":100},{"id":1603839600,"open":13739.9,"close":13649.6,"high":13794.6,"low":13582.6,"amount":17.086,"vol":17086,"trade_turnover":233971.8448,"count":234},{"id":1603843200,"open":13645.9,"close":13701.7,"high":13745.2,"low":13618.8,"amount":24.108,"vol":24108,"trade_turnover":330206.5694,"count":177},{"id":1603846800,"open":13702.1,"close":13702.6,"high":13725.6,"low":13647.9,"amount":15.892,"vol":15892,"trade_turnover":217816.7008,"count":151},{"id":1603850400,"open":13701.7,"close":13811.6,"high":13832.2,"low":13680.2,"amount":46.548,"vol":46548,"trade_turnover":640636.0352,"count":274},{"id":1603854000,"open":13818.5,"close":13777.0,"high":13820.3,"low":13717.5,"amount":67.896,"vol":67896,"trade_turnover":935838.2238,"count":320},{"id":1603857600,"open":13767.3,"close":13735.7,"high":13807.2,"low":13710.0,"amount":33.156,"vol":33156,"trade_turnover":455941.234,"count":210},{"id":1603861200,"open":13735.5,"close":13715.8,"high":13753.9,"low":13671.3,"amount":32.076,"vol":32076,"trade_turnover":439612.64,"count":198},{"id":1603864800,"open":13715.9,"close":13701.3,"high":13757.0,"low":13694.9,"amount":14.756,"vol":14756,"trade_turnover":202602.5164,"count":122},{"id":1603868400,"open":13701.2,"close":13674.2,"high":13708.7,"low":13550.0,"amount":155.534,"vol":155534,"trade_turnover":2117935.0928,"count":635},{"id":1603872000,"open":13673.0,"close":13691.7,"high":13691.7,"low":13584.0,"amount":29.846,"vol":29846,"trade_turnover":407073.1398,"count":240},{"id":1603875600,"open":13689.3,"close":13587.1,"high":13707.5,"low":13573.5,"amount":104.542,"vol":104542,"trade_turnover":1425079.9344,"count":377},{"id":1603879200,"open":13584.6,"close":13552.7,"high":13618.0,"low":13504.7,"amount":73.818,"vol":73818,"trade_turnover":1001666.0908,"count":358},{"id":1603882800,"open":13552.6,"close":13336.4,"high":13565.4,"low":13330.0,"amount":176.544,"vol":176544,"trade_turnover":2369166.1492,"count":1004},{"id":1603886400,"open":13331.5,"close":13300.3,"high":13385.0,"low":13173.9,"amount":289.73,"vol":289730,"trade_turnover":3846751.7166,"count":968},{"id":1603890000,"open":13300.2,"close":13129.9,"high":13340.0,"low":13122.9,"amount":139.822,"vol":139822,"trade_turnover":1848876.932,"count":612},{"id":1603893600,"open":13123.4,"close":13082.2,"high":13168.2,"low":12915.9,"amount":367.876,"vol":367876,"trade_turnover":4802516.9818,"count":1168},{"id":1603897200,"open":13077.1,"close":13221.2,"high":13235.2,"low":13052.3,"amount":84.044,"vol":84044,"trade_turnover":1106883.1282,"count":375},{"id":1603900800,"open":13218.7,"close":13145.1,"high":13218.7,"low":13050.0,"amount":29.566,"vol":29566,"trade_turnover":388697.4104,"count":244},{"id":1603904400,"open":13145.1,"close":13176.7,"high":13204.9,"low":13006.6,"amount":53.336,"vol":53336,"trade_turnover":700385.2784,"count":299},{"id":1603908000,"open":13171.0,"close":13196.5,"high":13219.6,"low":13131.0,"amount":34.164,"vol":34164,"trade_turnover":450210.5778,"count":218},{"id":1603911600,"open":13200.0,"close":13154.9,"high":13237.4,"low":13145.0,"amount":22.158,"vol":22158,"trade_turnover":292020.0438,"count":185},{"id":1603915200,"open":13154.5,"close":13198.1,"high":13211.8,"low":13147.4,"amount":4.548,"vol":4548,"trade_turnover":59991.1118,"count":75},{"id":1603918800,"open":13193.5,"close":13190.1,"high":13196.5,"low":13100.2,"amount":3.52,"vol":3520,"trade_turnover":46175.428,"count":68},{"id":1603922400,"open":13185.4,"close":13252.0,"high":13267.5,"low":13185.4,"amount":3.122,"vol":3122,"trade_turnover":41304.2018,"count":72},{"id":1603926000,"open":13242.1,"close":13265.9,"high":13282.3,"low":13235.9,"amount":14.768,"vol":14768,"trade_turnover":195689.0764,"count":86},{"id":1603929600,"open":13253.9,"close":13245.1,"high":13294.7,"low":13237.4,"amount":19.968,"vol":19968,"trade_turnover":264834.1944,"count":98},{"id":1603933200,"open":13244.6,"close":13274.2,"high":13285.3,"low":13166.3,"amount":35.282,"vol":35282,"trade_turnover":465789.6302,"count":192},{"id":1603936800,"open":13275.9,"close":13241.1,"high":13277.7,"low":13212.2,"amount":9.748,"vol":9748,"trade_turnover":129016.0684,"count":119},{"id":1603940400,"open":13237.1,"close":13262.5,"high":13262.5,"low":13174.6,"amount":27.3,"vol":27300,"trade_turnover":360589.8982,"count":199},{"id":1603944000,"open":13269.1,"close":13229.5,"high":13277.7,"low":13229.5,"amount":18.904,"vol":18904,"trade_turnover":250713.2812,"count":109},{"id":1603947600,"open":13228.5,"close":13274.8,"high":13274.8,"low":13228.5,"amount":15.822,"vol":15822,"trade_turnover":209781.909,"count":134},{"id":1603951200,"open":13274.8,"close":13255.0,"high":13323.0,"low":13242.3,"amount":91.246,"vol":91246,"trade_turnover":1211271.2788,"count":294},{"id":1603954800,"open":13255.0,"close":13142.4,"high":13269.3,"low":13123.1,"amount":187.622,"vol":187622,"trade_turnover":2478299.7074,"count":506},{"id":1603958400,"open":13145.9,"close":13124.8,"high":13182.4,"low":13094.1,"amount":69.532,"vol":69532,"trade_turnover":914157.2418,"count":226},{"id":1603962000,"open":13129.5,"close":13183.7,"high":13197.1,"low":13129.5,"amount":23.184,"vol":23184,"trade_turnover":305485.9524,"count":141},{"id":1603965600,"open":13184.8,"close":13105.2,"high":13187.5,"low":13053.1,"amount":121.146,"vol":121146,"trade_turnover":1590026.4416,"count":442},{"id":1603969200,"open":13105.1,"close":13060.1,"high":13171.4,"low":13060.1,"amount":47.498,"vol":47498,"trade_turnover":623578.149,"count":262},{"id":1603972800,"open":13056.9,"close":13131.8,"high":13145.8,"low":12977.9,"amount":126.552,"vol":126552,"trade_turnover":1652549.311,"count":481},{"id":1603976400,"open":13131.7,"close":13230.0,"high":13237.2,"low":13102.0,"amount":100.482,"vol":100482,"trade_turnover":1326403.7206,"count":325},{"id":1603980000,"open":13231.0,"close":13420.8,"high":13476.1,"low":13231.0,"amount":253.258,"vol":253258,"trade_turnover":3384941.438,"count":752},{"id":1603983600,"open":13416.0,"close":13420.6,"high":13458.7,"low":13358.7,"amount":64.71,"vol":64710,"trade_turnover":869052.3804,"count":269},{"id":1603987200,"open":13421.9,"close":13535.9,"high":13594.5,"low":13391.8,"amount":120.24,"vol":120240,"trade_turnover":1626567.8278,"count":570}]} +2024-01-18 11:13:16.037 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:41] - 请求 KLine 数据解析之后的数据为:{"wsid":19750305,"data":[{"amount":0.276,"high":12300.0,"vol":276,"low":11715.8,"count":39,"id":1603270800,"close":12196.7,"tradeTurnover":3315.9104,"open":12198.0},{"amount":0.198,"high":12289.9,"vol":198,"low":12111.0,"count":21,"id":1603274400,"close":12277.9,"tradeTurnover":2420.7728,"open":12196.7},{"amount":0.012,"high":12277.9,"vol":12,"low":12000.0,"count":5,"id":1603278000,"close":12000.0,"tradeTurnover":145.2238,"open":12111.0},{"amount":0.084,"high":12498.0,"vol":84,"low":12078.0,"count":12,"id":1603281600,"close":12497.4,"tradeTurnover":1040.0504,"open":12078.0},{"amount":1.122,"high":12495.6,"vol":1122,"low":12282.9,"count":112,"id":1603285200,"close":12373.5,"tradeTurnover":13905.3124,"open":12495.6},{"amount":5.29,"high":12807.6,"vol":5290,"low":12358.1,"count":155,"id":1603288800,"close":12689.9,"tradeTurnover":66852.128,"open":12412.9},{"amount":1.174,"high":12778.7,"vol":1174,"low":12573.2,"count":113,"id":1603292400,"close":12701.9,"tradeTurnover":14907.367,"open":12692.8},{"amount":1.156,"high":12920.9,"vol":1156,"low":12624.8,"count":115,"id":1603296000,"close":12835.9,"tradeTurnover":14802.449,"open":12679.7},{"amount":1.12,"high":12908.3,"vol":1120,"low":12687.5,"count":115,"id":1603299600,"close":12754.2,"tradeTurnover":14345.7324,"open":12848.3},{"amount":1.106,"high":12849.0,"vol":1106,"low":12668.3,"count":114,"id":1603303200,"close":12740.2,"tradeTurnover":14105.3504,"open":12743.7},{"amount":1.032,"high":12843.1,"vol":1032,"low":12597.2,"count":112,"id":1603306800,"close":12650.3,"tradeTurnover":13125.4568,"open":12729.5},{"amount":1.154,"high":12848.4,"vol":1154,"low":12610.2,"count":116,"id":1603310400,"close":12807.0,"tradeTurnover":14680.638,"open":12666.8},{"amount":1.164,"high":13005.1,"vol":1164,"low":12748.2,"count":114,"id":1603314000,"close":12938.9,"tradeTurnover":14976.9366,"open":12866.0},{"amount":1.174,"high":13211.2,"vol":1174,"low":12865.7,"count":114,"id":1603317600,"close":13122.0,"tradeTurnover":15285.2446,"open":12921.0},{"amount":1.172,"high":13173.2,"vol":1172,"low":12688.6,"count":117,"id":1603321200,"close":12829.8,"tradeTurnover":15060.9938,"open":13153.2},{"amount":1.17,"high":12988.1,"vol":1170,"low":12764.4,"count":117,"id":1603324800,"close":12885.9,"tradeTurnover":15046.2046,"open":12793.1},{"amount":1.158,"high":12972.6,"vol":1158,"low":12757.5,"count":118,"id":1603328400,"close":12757.5,"tradeTurnover":14882.4656,"open":12860.4},{"amount":1.124,"high":12848.0,"vol":1124,"low":12729.0,"count":115,"id":1603332000,"close":12788.8,"tradeTurnover":14368.7948,"open":12824.1},{"amount":1.194,"high":12834.4,"vol":1194,"low":12729.0,"count":111,"id":1603335600,"close":12767.2,"tradeTurnover":15268.9298,"open":12791.7},{"amount":1.152,"high":12778.3,"vol":1152,"low":12729.0,"count":115,"id":1603339200,"close":12762.2,"tradeTurnover":14695.4876,"open":12729.0},{"amount":1.21,"high":12842.0,"vol":1210,"low":12730.6,"count":119,"id":1603342800,"close":12813.8,"tradeTurnover":15440.8162,"open":12763.1},{"amount":1.188,"high":12795.0,"vol":1188,"low":12728.0,"count":123,"id":1603346400,"close":12729.1,"tradeTurnover":15128.0098,"open":12795.0},{"amount":1.266,"high":12730.6,"vol":1266,"low":12728.3,"count":112,"id":1603350000,"close":12730.6,"tradeTurnover":16115.1306,"open":12728.6},{"amount":1.35,"high":12921.5,"vol":1350,"low":12729.9,"count":127,"id":1603353600,"close":12770.1,"tradeTurnover":17233.7326,"open":12730.3},{"amount":0.98,"high":12872.1,"vol":980,"low":12760.1,"count":99,"id":1603357200,"close":12780.4,"tradeTurnover":12553.9826,"open":12824.9},{"amount":0.266,"high":13002.7,"vol":266,"low":12775.6,"count":30,"id":1603360800,"close":12934.2,"tradeTurnover":3415.023,"open":12784.9},{"amount":1.004,"high":13057.0,"vol":1004,"low":12886.6,"count":117,"id":1603364400,"close":13045.0,"tradeTurnover":13020.8576,"open":12977.0},{"amount":1.134,"high":12973.4,"vol":1134,"low":12751.6,"count":111,"id":1603368000,"close":12847.9,"tradeTurnover":14594.2752,"open":12958.5},{"amount":1.152,"high":13000.8,"vol":1152,"low":12743.0,"count":114,"id":1603371600,"close":12931.0,"tradeTurnover":14877.7314,"open":12882.7},{"amount":1.182,"high":12995.3,"vol":1182,"low":12783.9,"count":115,"id":1603375200,"close":12917.8,"tradeTurnover":15224.4716,"open":12890.4},{"amount":1.176,"high":13031.2,"vol":1176,"low":12817.9,"count":117,"id":1603378800,"close":12953.0,"tradeTurnover":15197.208,"open":12918.8},{"amount":1.146,"high":13100.2,"vol":1146,"low":12865.6,"count":119,"id":1603382400,"close":13055.6,"tradeTurnover":14851.9604,"open":12923.1},{"amount":1.534,"high":13105.7,"vol":1534,"low":12835.5,"count":124,"id":1603386000,"close":13082.7,"tradeTurnover":19927.8288,"open":12967.6},{"amount":1.268,"high":13115.0,"vol":1268,"low":12938.7,"count":117,"id":1603389600,"close":13016.4,"tradeTurnover":16505.4738,"open":13020.4},{"amount":1.13,"high":13171.2,"vol":1130,"low":12961.8,"count":112,"id":1603393200,"close":12970.6,"tradeTurnover":14762.952,"open":13028.3},{"amount":1.206,"high":13216.1,"vol":1206,"low":12998.5,"count":117,"id":1603396800,"close":13089.3,"tradeTurnover":15807.1226,"open":13016.7},{"amount":1.332,"high":13203.7,"vol":1332,"low":12932.9,"count":114,"id":1603400400,"close":13092.0,"tradeTurnover":17423.4422,"open":13136.0},{"amount":1.21,"high":13250.5,"vol":1210,"low":12984.7,"count":114,"id":1603404000,"close":13055.9,"tradeTurnover":15876.0632,"open":13119.4},{"amount":1.286,"high":13126.5,"vol":1286,"low":12857.2,"count":116,"id":1603407600,"close":12890.4,"tradeTurnover":16688.422,"open":13059.4},{"amount":1.502,"high":12994.0,"vol":1502,"low":12751.6,"count":131,"id":1603411200,"close":12892.2,"tradeTurnover":19331.1596,"open":12929.7},{"amount":1.386,"high":13003.2,"vol":1386,"low":12786.0,"count":121,"id":1603414800,"close":12898.3,"tradeTurnover":17904.8902,"open":12921.7},{"amount":1.416,"high":13054.0,"vol":1416,"low":12800.7,"count":122,"id":1603418400,"close":12975.1,"tradeTurnover":18306.6204,"open":12951.6},{"amount":1.19,"high":13030.7,"vol":1190,"low":12875.0,"count":118,"id":1603422000,"close":12947.0,"tradeTurnover":15409.7984,"open":12967.3},{"amount":1.022,"high":13047.3,"vol":1022,"low":12832.8,"count":127,"id":1603425600,"close":12852.0,"tradeTurnover":13214.4388,"open":12925.2},{"amount":0.478,"high":12991.7,"vol":478,"low":12841.2,"count":118,"id":1603429200,"close":12931.1,"tradeTurnover":6180.2486,"open":12859.0},{"amount":0.522,"high":13014.1,"vol":522,"low":12871.9,"count":132,"id":1603432800,"close":12939.6,"tradeTurnover":6759.0324,"open":12935.9},{"amount":0.476,"high":12998.9,"vol":476,"low":12917.1,"count":118,"id":1603436400,"close":12925.4,"tradeTurnover":6163.3118,"open":12923.1},{"amount":0.508,"high":13014.0,"vol":508,"low":12916.1,"count":122,"id":1603440000,"close":12962.6,"tradeTurnover":6585.3656,"open":12942.2},{"amount":0.564,"high":13012.5,"vol":564,"low":12909.9,"count":124,"id":1603443600,"close":12926.4,"tradeTurnover":7308.8828,"open":12970.5},{"amount":0.536,"high":13059.5,"vol":536,"low":12925.7,"count":124,"id":1603447200,"close":13007.7,"tradeTurnover":6957.8796,"open":13001.2},{"amount":0.486,"high":13078.4,"vol":486,"low":12906.5,"count":122,"id":1603450800,"close":12970.6,"tradeTurnover":6326.1434,"open":13025.4},{"amount":0.494,"high":13025.0,"vol":494,"low":12850.8,"count":117,"id":1603454400,"close":12935.4,"tradeTurnover":6396.0984,"open":12963.9},{"amount":0.466,"high":13043.3,"vol":466,"low":12911.0,"count":117,"id":1603458000,"close":12951.7,"tradeTurnover":6049.1412,"open":12913.3},{"amount":0.46,"high":13006.4,"vol":460,"low":12840.4,"count":116,"id":1603461600,"close":12858.8,"tradeTurnover":5941.815,"open":12999.6},{"amount":0.492,"high":12932.9,"vol":492,"low":12826.5,"count":117,"id":1603465200,"close":12881.9,"tradeTurnover":6340.214,"open":12885.7},{"amount":0.484,"high":12933.5,"vol":484,"low":12744.4,"count":123,"id":1603468800,"close":12784.1,"tradeTurnover":6205.4138,"open":12854.4},{"amount":0.562,"high":12893.1,"vol":562,"low":12730.1,"count":152,"id":1603472400,"close":12847.7,"tradeTurnover":7218.9184,"open":12832.3},{"amount":0.53,"high":12939.3,"vol":530,"low":12751.4,"count":128,"id":1603476000,"close":12915.7,"tradeTurnover":6825.7004,"open":12874.1},{"amount":0.444,"high":12972.9,"vol":444,"low":12786.6,"count":117,"id":1603479600,"close":12972.9,"tradeTurnover":5727.7452,"open":12867.9},{"amount":0.492,"high":13002.2,"vol":492,"low":12842.9,"count":116,"id":1603483200,"close":12991.6,"tradeTurnover":6375.1566,"open":12956.7},{"amount":0.5,"high":13004.3,"vol":500,"low":12936.6,"count":125,"id":1603486800,"close":12943.5,"tradeTurnover":6485.468,"open":13004.3},{"amount":0.492,"high":13010.3,"vol":492,"low":12884.7,"count":120,"id":1603490400,"close":12989.2,"tradeTurnover":6376.1492,"open":12923.6},{"amount":0.51,"high":13024.4,"vol":510,"low":12884.6,"count":121,"id":1603494000,"close":12884.6,"tradeTurnover":6622.3406,"open":12974.9},{"amount":0.488,"high":13018.3,"vol":488,"low":12811.1,"count":120,"id":1603497600,"close":12953.9,"tradeTurnover":6317.7938,"open":12973.7},{"amount":0.482,"high":13018.1,"vol":482,"low":12872.8,"count":117,"id":1603501200,"close":12934.2,"tradeTurnover":6242.4178,"open":12927.5},{"amount":0.484,"high":13003.9,"vol":484,"low":12903.3,"count":117,"id":1603504800,"close":12989.1,"tradeTurnover":6278.1756,"open":12971.9},{"amount":0.474,"high":13013.4,"vol":474,"low":12938.3,"count":122,"id":1603508400,"close":12975.9,"tradeTurnover":6157.7096,"open":13000.1},{"amount":0.526,"high":13009.4,"vol":526,"low":12905.5,"count":124,"id":1603512000,"close":12963.3,"tradeTurnover":6831.5658,"open":12989.7},{"amount":0.522,"high":13041.8,"vol":522,"low":12875.3,"count":127,"id":1603515600,"close":12989.7,"tradeTurnover":6768.8994,"open":12910.5},{"amount":0.49,"high":13058.1,"vol":490,"low":12908.8,"count":120,"id":1603519200,"close":13003.6,"tradeTurnover":6370.5714,"open":12994.7},{"amount":0.478,"high":13037.8,"vol":478,"low":12981.7,"count":120,"id":1603522800,"close":13004.2,"tradeTurnover":6218.9722,"open":13011.9},{"amount":0.52,"high":13030.6,"vol":520,"low":12899.4,"count":124,"id":1603526400,"close":12998.2,"tradeTurnover":6754.958,"open":13003.0},{"amount":0.454,"high":13020.3,"vol":454,"low":12893.6,"count":115,"id":1603530000,"close":12990.6,"tradeTurnover":5891.0574,"open":12998.2},{"amount":0.502,"high":13059.1,"vol":502,"low":12913.2,"count":124,"id":1603533600,"close":13030.1,"tradeTurnover":6525.9004,"open":12996.4},{"amount":0.468,"high":13068.3,"vol":468,"low":12940.2,"count":119,"id":1603537200,"close":13033.2,"tradeTurnover":6091.0376,"open":12988.4},{"amount":0.468,"high":13071.8,"vol":468,"low":12978.9,"count":123,"id":1603540800,"close":13006.5,"tradeTurnover":6102.5902,"open":13035.3},{"amount":0.534,"high":13066.7,"vol":534,"low":12928.1,"count":123,"id":1603544400,"close":12985.9,"tradeTurnover":6950.4268,"open":13038.8},{"amount":0.47,"high":13100.1,"vol":470,"low":12960.5,"count":100,"id":1603548000,"close":13042.0,"tradeTurnover":6124.2178,"open":12986.3},{"amount":0.456,"high":13196.5,"vol":456,"low":13038.4,"count":120,"id":1603551600,"close":13102.2,"tradeTurnover":5989.6362,"open":13038.4},{"amount":0.458,"high":13176.6,"vol":458,"low":12984.6,"count":121,"id":1603555200,"close":13052.7,"tradeTurnover":5976.331,"open":13136.8},{"amount":0.452,"high":13177.8,"vol":452,"low":13003.2,"count":118,"id":1603558800,"close":13177.8,"tradeTurnover":5911.7058,"open":13006.2},{"amount":0.468,"high":13170.7,"vol":468,"low":13023.0,"count":119,"id":1603562400,"close":13080.8,"tradeTurnover":6122.375,"open":13127.7},{"amount":0.468,"high":13179.3,"vol":468,"low":13014.2,"count":120,"id":1603566000,"close":13148.4,"tradeTurnover":6126.4278,"open":13040.7},{"amount":0.47,"high":13179.6,"vol":470,"low":12992.5,"count":119,"id":1603569600,"close":13090.1,"tradeTurnover":6151.4758,"open":13073.5},{"amount":0.458,"high":13148.7,"vol":458,"low":12980.7,"count":117,"id":1603573200,"close":12993.9,"tradeTurnover":5981.071,"open":13035.4},{"amount":0.478,"high":13112.1,"vol":478,"low":12975.6,"count":118,"id":1603576800,"close":13041.1,"tradeTurnover":6225.4216,"open":13040.7},{"amount":0.472,"high":13184.3,"vol":472,"low":13009.3,"count":118,"id":1603580400,"close":13184.3,"tradeTurnover":6173.4244,"open":13012.6},{"amount":0.46,"high":13170.4,"vol":460,"low":13007.7,"count":115,"id":1603584000,"close":13154.3,"tradeTurnover":6024.09,"open":13080.8},{"amount":0.398,"high":13196.8,"vol":398,"low":13024.0,"count":102,"id":1603587600,"close":13196.1,"tradeTurnover":5217.5364,"open":13092.0},{"amount":0.476,"high":13175.1,"vol":476,"low":13035.0,"count":120,"id":1603591200,"close":13082.4,"tradeTurnover":6228.6596,"open":13124.7},{"amount":0.578,"high":13383.8,"vol":578,"low":13049.1,"count":137,"id":1603594800,"close":13259.0,"tradeTurnover":7629.3886,"open":13049.1},{"amount":0.47,"high":13369.0,"vol":470,"low":13216.0,"count":122,"id":1603598400,"close":13243.4,"tradeTurnover":6247.955,"open":13277.0},{"amount":0.61,"high":13353.3,"vol":610,"low":13010.1,"count":134,"id":1603602000,"close":13017.3,"tradeTurnover":8048.8598,"open":13285.3},{"amount":0.486,"high":13105.7,"vol":486,"low":13018.2,"count":118,"id":1603605600,"close":13060.3,"tradeTurnover":6344.1474,"open":13022.5},{"amount":0.464,"high":13112.1,"vol":464,"low":13022.0,"count":120,"id":1603609200,"close":13078.1,"tradeTurnover":6061.5416,"open":13048.5},{"amount":0.464,"high":13091.0,"vol":464,"low":13017.2,"count":120,"id":1603612800,"close":13046.0,"tradeTurnover":6055.3734,"open":13077.2},{"amount":0.478,"high":13084.0,"vol":478,"low":13014.2,"count":117,"id":1603616400,"close":13040.8,"tradeTurnover":6235.7882,"open":13065.1},{"amount":0.478,"high":13064.2,"vol":478,"low":13010.2,"count":125,"id":1603620000,"close":13028.5,"tradeTurnover":6232.2428,"open":13047.1},{"amount":0.534,"high":13061.5,"vol":534,"low":12852.9,"count":123,"id":1603623600,"close":12897.6,"tradeTurnover":6918.1226,"open":13061.5},{"amount":0.444,"high":13069.7,"vol":444,"low":12893.2,"count":117,"id":1603627200,"close":12964.3,"tradeTurnover":5755.8712,"open":12908.3},{"amount":0.498,"high":13071.9,"vol":498,"low":12891.8,"count":119,"id":1603630800,"close":12949.3,"tradeTurnover":6465.078,"open":13001.3},{"amount":0.468,"high":13077.7,"vol":468,"low":12900.0,"count":116,"id":1603634400,"close":12946.8,"tradeTurnover":6075.4554,"open":12975.8},{"amount":0.47,"high":13069.1,"vol":470,"low":12883.3,"count":119,"id":1603638000,"close":12883.3,"tradeTurnover":6097.1072,"open":12975.2},{"amount":0.482,"high":13067.9,"vol":482,"low":12877.5,"count":118,"id":1603641600,"close":12978.7,"tradeTurnover":6256.4472,"open":12916.2},{"amount":0.47,"high":13087.5,"vol":470,"low":12922.7,"count":117,"id":1603645200,"close":13004.4,"tradeTurnover":6108.3892,"open":13008.0},{"amount":0.468,"high":13067.6,"vol":468,"low":12893.6,"count":118,"id":1603648800,"close":12957.2,"tradeTurnover":6079.1484,"open":12972.8},{"amount":0.442,"high":13066.9,"vol":442,"low":12916.6,"count":118,"id":1603652400,"close":13021.8,"tradeTurnover":5746.5548,"open":12996.5},{"amount":0.508,"high":13081.5,"vol":508,"low":12944.9,"count":120,"id":1603656000,"close":12985.4,"tradeTurnover":6616.9872,"open":12992.9},{"amount":0.508,"high":13068.6,"vol":508,"low":12921.4,"count":122,"id":1603659600,"close":13011.2,"tradeTurnover":6614.816,"open":12999.9},{"amount":0.486,"high":13073.8,"vol":486,"low":12911.9,"count":121,"id":1603663200,"close":12959.4,"tradeTurnover":6320.907,"open":12979.6},{"amount":0.452,"high":13085.2,"vol":452,"low":12927.8,"count":113,"id":1603666800,"close":13032.1,"tradeTurnover":5878.6442,"open":12963.4},{"amount":0.482,"high":13076.7,"vol":482,"low":12918.3,"count":121,"id":1603670400,"close":13001.0,"tradeTurnover":6263.698,"open":12964.2},{"amount":0.478,"high":13096.4,"vol":478,"low":12991.2,"count":124,"id":1603674000,"close":13053.7,"tradeTurnover":6232.2328,"open":13040.0},{"amount":0.488,"high":13185.7,"vol":488,"low":12985.1,"count":121,"id":1603677600,"close":13064.4,"tradeTurnover":6387.534,"open":13060.6},{"amount":0.486,"high":13187.2,"vol":486,"low":12984.1,"count":135,"id":1603681200,"close":13092.8,"tradeTurnover":6369.0272,"open":13032.3},{"amount":0.51,"high":13181.6,"vol":510,"low":12962.3,"count":131,"id":1603684800,"close":13132.6,"tradeTurnover":6679.829,"open":13092.0},{"amount":0.506,"high":13205.3,"vol":506,"low":13025.3,"count":126,"id":1603688400,"close":13092.1,"tradeTurnover":6641.2128,"open":13129.2},{"amount":1.616,"high":13188.1,"vol":1616,"low":12989.8,"count":141,"id":1603692000,"close":13071.4,"tradeTurnover":21170.8224,"open":13121.8},{"amount":3.746,"high":13100.0,"vol":3746,"low":12965.2,"count":110,"id":1603695600,"close":13038.7,"tradeTurnover":48924.8902,"open":13061.0},{"amount":8.966,"high":13102.0,"vol":8966,"low":12852.8,"count":173,"id":1603699200,"close":13039.3,"tradeTurnover":116525.5534,"open":13030.9},{"amount":4.48,"high":13088.4,"vol":4480,"low":13039.8,"count":124,"id":1603702800,"close":13075.9,"tradeTurnover":58521.1714,"open":13047.1},{"amount":4.272,"high":13100.0,"vol":4272,"low":13060.2,"count":130,"id":1603706400,"close":13100.0,"tradeTurnover":55895.9778,"open":13072.1},{"amount":29.798,"high":13159.0,"vol":29798,"low":13100.0,"count":230,"id":1603710000,"close":13138.4,"tradeTurnover":391138.024,"open":13100.0},{"amount":5.154,"high":13200.0,"vol":5154,"low":13100.0,"count":188,"id":1603713600,"close":13149.8,"tradeTurnover":67694.652,"open":13138.8},{"amount":35.608,"high":13351.5,"vol":35608,"low":13133.1,"count":328,"id":1603717200,"close":13205.8,"tradeTurnover":472780.3394,"open":13150.0},{"amount":31.748,"high":13280.0,"vol":31748,"low":13144.1,"count":235,"id":1603720800,"close":13166.1,"tradeTurnover":418744.5588,"open":13203.0},{"amount":36.53,"high":13165.2,"vol":36530,"low":12903.8,"count":384,"id":1603724400,"close":12978.0,"tradeTurnover":476940.3296,"open":13159.0},{"amount":35.018,"high":13069.8,"vol":35018,"low":12850.5,"count":323,"id":1603728000,"close":12869.6,"tradeTurnover":453288.918,"open":12965.0},{"amount":92.628,"high":12941.5,"vol":92628,"low":12583.9,"count":560,"id":1603731600,"close":12873.8,"tradeTurnover":1185973.467,"open":12879.2},{"amount":4.302,"high":12954.5,"vol":4302,"low":12820.4,"count":128,"id":1603735200,"close":12946.8,"tradeTurnover":55481.0054,"open":12856.2},{"amount":13.83,"high":12953.5,"vol":13830,"low":12914.1,"count":118,"id":1603738800,"close":12953.4,"tradeTurnover":179112.1598,"open":12945.6},{"amount":17.172,"high":13007.5,"vol":17172,"low":12953.5,"count":132,"id":1603742400,"close":12983.4,"tradeTurnover":223230.2122,"open":12953.5},{"amount":3.212,"high":13007.5,"vol":3212,"low":12982.7,"count":59,"id":1603746000,"close":12993.8,"tradeTurnover":41767.8906,"open":12983.1},{"amount":1.504,"high":13007.5,"vol":1504,"low":12974.0,"count":74,"id":1603749600,"close":13007.5,"tradeTurnover":19543.3568,"open":13002.1},{"amount":3.454,"high":13061.2,"vol":3454,"low":13007.5,"count":101,"id":1603753200,"close":13033.7,"tradeTurnover":45001.601,"open":13007.5},{"amount":8.784,"high":13105.0,"vol":8784,"low":13028.3,"count":98,"id":1603756800,"close":13067.1,"tradeTurnover":114871.8246,"open":13029.2},{"amount":11.592,"high":13074.4,"vol":11592,"low":13051.5,"count":66,"id":1603760400,"close":13061.7,"tradeTurnover":151386.9038,"open":13074.3},{"amount":19.298,"high":13097.6,"vol":19298,"low":13040.1,"count":109,"id":1603764000,"close":13049.7,"tradeTurnover":252061.019,"open":13061.7},{"amount":22.992,"high":13080.0,"vol":22992,"low":13057.1,"count":69,"id":1603767600,"close":13070.4,"tradeTurnover":300453.9788,"open":13057.6},{"amount":14.396,"high":13175.0,"vol":14396,"low":13079.6,"count":59,"id":1603771200,"close":13103.3,"tradeTurnover":188461.9156,"open":13080.0},{"amount":5.058,"high":13121.3,"vol":5058,"low":13069.7,"count":44,"id":1603774800,"close":13073.6,"tradeTurnover":66201.3552,"open":13121.3},{"amount":9.106,"high":13149.0,"vol":9106,"low":13069.6,"count":107,"id":1603778400,"close":13103.4,"tradeTurnover":119104.8906,"open":13074.9},{"amount":73.95,"high":13169.8,"vol":73950,"low":12992.4,"count":305,"id":1603782000,"close":13130.0,"tradeTurnover":968195.155,"open":13103.3},{"amount":18.732,"high":13148.4,"vol":18732,"low":13044.0,"count":135,"id":1603785600,"close":13123.8,"tradeTurnover":245533.5448,"open":13135.1},{"amount":13.756,"high":13131.8,"vol":13756,"low":13075.7,"count":102,"id":1603789200,"close":13131.7,"tradeTurnover":180253.7708,"open":13115.5},{"amount":154.108,"high":13252.0,"vol":154108,"low":13063.4,"count":525,"id":1603792800,"close":13216.9,"tradeTurnover":2029983.656,"open":13134.8},{"amount":170.09,"high":13590.1,"vol":170090,"low":13213.5,"count":591,"id":1603796400,"close":13395.8,"tradeTurnover":2276279.742,"open":13218.8},{"amount":48.928,"high":13414.0,"vol":48928,"low":13331.7,"count":216,"id":1603800000,"close":13376.9,"tradeTurnover":654585.9108,"open":13395.9},{"amount":63.294,"high":13490.9,"vol":63294,"low":13329.8,"count":316,"id":1603803600,"close":13384.3,"tradeTurnover":848130.9212,"open":13376.5},{"amount":12.892,"high":13415.8,"vol":12892,"low":13344.8,"count":124,"id":1603807200,"close":13398.2,"tradeTurnover":172618.6864,"open":13392.6},{"amount":93.22,"high":13626.7,"vol":93220,"low":13398.2,"count":476,"id":1603810800,"close":13598.5,"tradeTurnover":1262695.5466,"open":13398.2},{"amount":85.45,"high":13639.9,"vol":85450,"low":13520.2,"count":435,"id":1603814400,"close":13639.9,"tradeTurnover":1161481.4136,"open":13595.8},{"amount":191.812,"high":13826.7,"vol":191812,"low":13589.0,"count":711,"id":1603818000,"close":13688.1,"tradeTurnover":2628428.3788,"open":13640.0},{"amount":65.434,"high":13745.0,"vol":65434,"low":13528.2,"count":410,"id":1603821600,"close":13630.1,"tradeTurnover":891541.8394,"open":13685.0},{"amount":5.788,"high":13659.8,"vol":5788,"low":13595.4,"count":65,"id":1603825200,"close":13637.1,"tradeTurnover":78836.2578,"open":13629.4},{"amount":163.104,"high":13805.1,"vol":163104,"low":13582.6,"count":537,"id":1603828800,"close":13616.6,"tradeTurnover":2234040.3544,"open":13644.4},{"amount":9.884,"high":13753.5,"vol":9884,"low":13609.8,"count":101,"id":1603832400,"close":13705.5,"tradeTurnover":135406.4752,"open":13609.8},{"amount":7.436,"high":13739.9,"vol":7436,"low":13658.2,"count":100,"id":1603836000,"close":13739.9,"tradeTurnover":101840.3508,"open":13705.4},{"amount":17.086,"high":13794.6,"vol":17086,"low":13582.6,"count":234,"id":1603839600,"close":13649.6,"tradeTurnover":233971.8448,"open":13739.9},{"amount":24.108,"high":13745.2,"vol":24108,"low":13618.8,"count":177,"id":1603843200,"close":13701.7,"tradeTurnover":330206.5694,"open":13645.9},{"amount":15.892,"high":13725.6,"vol":15892,"low":13647.9,"count":151,"id":1603846800,"close":13702.6,"tradeTurnover":217816.7008,"open":13702.1},{"amount":46.548,"high":13832.2,"vol":46548,"low":13680.2,"count":274,"id":1603850400,"close":13811.6,"tradeTurnover":640636.0352,"open":13701.7},{"amount":67.896,"high":13820.3,"vol":67896,"low":13717.5,"count":320,"id":1603854000,"close":13777.0,"tradeTurnover":935838.2238,"open":13818.5},{"amount":33.156,"high":13807.2,"vol":33156,"low":13710.0,"count":210,"id":1603857600,"close":13735.7,"tradeTurnover":455941.234,"open":13767.3},{"amount":32.076,"high":13753.9,"vol":32076,"low":13671.3,"count":198,"id":1603861200,"close":13715.8,"tradeTurnover":439612.64,"open":13735.5},{"amount":14.756,"high":13757.0,"vol":14756,"low":13694.9,"count":122,"id":1603864800,"close":13701.3,"tradeTurnover":202602.5164,"open":13715.9},{"amount":155.534,"high":13708.7,"vol":155534,"low":13550.0,"count":635,"id":1603868400,"close":13674.2,"tradeTurnover":2117935.0928,"open":13701.2},{"amount":29.846,"high":13691.7,"vol":29846,"low":13584.0,"count":240,"id":1603872000,"close":13691.7,"tradeTurnover":407073.1398,"open":13673.0},{"amount":104.542,"high":13707.5,"vol":104542,"low":13573.5,"count":377,"id":1603875600,"close":13587.1,"tradeTurnover":1425079.9344,"open":13689.3},{"amount":73.818,"high":13618.0,"vol":73818,"low":13504.7,"count":358,"id":1603879200,"close":13552.7,"tradeTurnover":1001666.0908,"open":13584.6},{"amount":176.544,"high":13565.4,"vol":176544,"low":13330.0,"count":1004,"id":1603882800,"close":13336.4,"tradeTurnover":2369166.1492,"open":13552.6},{"amount":289.73,"high":13385.0,"vol":289730,"low":13173.9,"count":968,"id":1603886400,"close":13300.3,"tradeTurnover":3846751.7166,"open":13331.5},{"amount":139.822,"high":13340.0,"vol":139822,"low":13122.9,"count":612,"id":1603890000,"close":13129.9,"tradeTurnover":1848876.932,"open":13300.2},{"amount":367.876,"high":13168.2,"vol":367876,"low":12915.9,"count":1168,"id":1603893600,"close":13082.2,"tradeTurnover":4802516.9818,"open":13123.4},{"amount":84.044,"high":13235.2,"vol":84044,"low":13052.3,"count":375,"id":1603897200,"close":13221.2,"tradeTurnover":1106883.1282,"open":13077.1},{"amount":29.566,"high":13218.7,"vol":29566,"low":13050.0,"count":244,"id":1603900800,"close":13145.1,"tradeTurnover":388697.4104,"open":13218.7},{"amount":53.336,"high":13204.9,"vol":53336,"low":13006.6,"count":299,"id":1603904400,"close":13176.7,"tradeTurnover":700385.2784,"open":13145.1},{"amount":34.164,"high":13219.6,"vol":34164,"low":13131.0,"count":218,"id":1603908000,"close":13196.5,"tradeTurnover":450210.5778,"open":13171.0},{"amount":22.158,"high":13237.4,"vol":22158,"low":13145.0,"count":185,"id":1603911600,"close":13154.9,"tradeTurnover":292020.0438,"open":13200.0},{"amount":4.548,"high":13211.8,"vol":4548,"low":13147.4,"count":75,"id":1603915200,"close":13198.1,"tradeTurnover":59991.1118,"open":13154.5},{"amount":3.52,"high":13196.5,"vol":3520,"low":13100.2,"count":68,"id":1603918800,"close":13190.1,"tradeTurnover":46175.428,"open":13193.5},{"amount":3.122,"high":13267.5,"vol":3122,"low":13185.4,"count":72,"id":1603922400,"close":13252.0,"tradeTurnover":41304.2018,"open":13185.4},{"amount":14.768,"high":13282.3,"vol":14768,"low":13235.9,"count":86,"id":1603926000,"close":13265.9,"tradeTurnover":195689.0764,"open":13242.1},{"amount":19.968,"high":13294.7,"vol":19968,"low":13237.4,"count":98,"id":1603929600,"close":13245.1,"tradeTurnover":264834.1944,"open":13253.9},{"amount":35.282,"high":13285.3,"vol":35282,"low":13166.3,"count":192,"id":1603933200,"close":13274.2,"tradeTurnover":465789.6302,"open":13244.6},{"amount":9.748,"high":13277.7,"vol":9748,"low":13212.2,"count":119,"id":1603936800,"close":13241.1,"tradeTurnover":129016.0684,"open":13275.9},{"amount":27.3,"high":13262.5,"vol":27300,"low":13174.6,"count":199,"id":1603940400,"close":13262.5,"tradeTurnover":360589.8982,"open":13237.1},{"amount":18.904,"high":13277.7,"vol":18904,"low":13229.5,"count":109,"id":1603944000,"close":13229.5,"tradeTurnover":250713.2812,"open":13269.1},{"amount":15.822,"high":13274.8,"vol":15822,"low":13228.5,"count":134,"id":1603947600,"close":13274.8,"tradeTurnover":209781.909,"open":13228.5},{"amount":91.246,"high":13323.0,"vol":91246,"low":13242.3,"count":294,"id":1603951200,"close":13255.0,"tradeTurnover":1211271.2788,"open":13274.8},{"amount":187.622,"high":13269.3,"vol":187622,"low":13123.1,"count":506,"id":1603954800,"close":13142.4,"tradeTurnover":2478299.7074,"open":13255.0},{"amount":69.532,"high":13182.4,"vol":69532,"low":13094.1,"count":226,"id":1603958400,"close":13124.8,"tradeTurnover":914157.2418,"open":13145.9},{"amount":23.184,"high":13197.1,"vol":23184,"low":13129.5,"count":141,"id":1603962000,"close":13183.7,"tradeTurnover":305485.9524,"open":13129.5},{"amount":121.146,"high":13187.5,"vol":121146,"low":13053.1,"count":442,"id":1603965600,"close":13105.2,"tradeTurnover":1590026.4416,"open":13184.8},{"amount":47.498,"high":13171.4,"vol":47498,"low":13060.1,"count":262,"id":1603969200,"close":13060.1,"tradeTurnover":623578.149,"open":13105.1},{"amount":126.552,"high":13145.8,"vol":126552,"low":12977.9,"count":481,"id":1603972800,"close":13131.8,"tradeTurnover":1652549.311,"open":13056.9},{"amount":100.482,"high":13237.2,"vol":100482,"low":13102.0,"count":325,"id":1603976400,"close":13230.0,"tradeTurnover":1326403.7206,"open":13131.7},{"amount":253.258,"high":13476.1,"vol":253258,"low":13231.0,"count":752,"id":1603980000,"close":13420.8,"tradeTurnover":3384941.438,"open":13231.0},{"amount":64.71,"high":13458.7,"vol":64710,"low":13358.7,"count":269,"id":1603983600,"close":13420.6,"tradeTurnover":869052.3804,"open":13416.0},{"amount":120.24,"high":13594.5,"vol":120240,"low":13391.8,"count":570,"id":1603987200,"close":13535.9,"tradeTurnover":1626567.8278,"open":13421.9}],"id":"","rep":"market.BTC-USDT.kline.60min","status":"ok"} +2024-01-18 11:13:17.045 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:39] - 请求 KLine 数据用户收到的原始数据:{"id":"","rep":"market.BTC-USDT.kline.60min","ts":1705547595945,"wsid":19750305,"status":"ok","data":[{"id":1603270800,"open":12198.0,"close":12196.7,"high":12300.0,"low":11715.8,"amount":0.276,"vol":276,"trade_turnover":3315.9104,"count":39},{"id":1603274400,"open":12196.7,"close":12277.9,"high":12289.9,"low":12111.0,"amount":0.198,"vol":198,"trade_turnover":2420.7728,"count":21},{"id":1603278000,"open":12111.0,"close":12000.0,"high":12277.9,"low":12000.0,"amount":0.012,"vol":12,"trade_turnover":145.2238,"count":5},{"id":1603281600,"open":12078.0,"close":12497.4,"high":12498.0,"low":12078.0,"amount":0.084,"vol":84,"trade_turnover":1040.0504,"count":12},{"id":1603285200,"open":12495.6,"close":12373.5,"high":12495.6,"low":12282.9,"amount":1.122,"vol":1122,"trade_turnover":13905.3124,"count":112},{"id":1603288800,"open":12412.9,"close":12689.9,"high":12807.6,"low":12358.1,"amount":5.29,"vol":5290,"trade_turnover":66852.128,"count":155},{"id":1603292400,"open":12692.8,"close":12701.9,"high":12778.7,"low":12573.2,"amount":1.174,"vol":1174,"trade_turnover":14907.367,"count":113},{"id":1603296000,"open":12679.7,"close":12835.9,"high":12920.9,"low":12624.8,"amount":1.156,"vol":1156,"trade_turnover":14802.449,"count":115},{"id":1603299600,"open":12848.3,"close":12754.2,"high":12908.3,"low":12687.5,"amount":1.12,"vol":1120,"trade_turnover":14345.7324,"count":115},{"id":1603303200,"open":12743.7,"close":12740.2,"high":12849.0,"low":12668.3,"amount":1.106,"vol":1106,"trade_turnover":14105.3504,"count":114},{"id":1603306800,"open":12729.5,"close":12650.3,"high":12843.1,"low":12597.2,"amount":1.032,"vol":1032,"trade_turnover":13125.4568,"count":112},{"id":1603310400,"open":12666.8,"close":12807.0,"high":12848.4,"low":12610.2,"amount":1.154,"vol":1154,"trade_turnover":14680.638,"count":116},{"id":1603314000,"open":12866.0,"close":12938.9,"high":13005.1,"low":12748.2,"amount":1.164,"vol":1164,"trade_turnover":14976.9366,"count":114},{"id":1603317600,"open":12921.0,"close":13122.0,"high":13211.2,"low":12865.7,"amount":1.174,"vol":1174,"trade_turnover":15285.2446,"count":114},{"id":1603321200,"open":13153.2,"close":12829.8,"high":13173.2,"low":12688.6,"amount":1.172,"vol":1172,"trade_turnover":15060.9938,"count":117},{"id":1603324800,"open":12793.1,"close":12885.9,"high":12988.1,"low":12764.4,"amount":1.17,"vol":1170,"trade_turnover":15046.2046,"count":117},{"id":1603328400,"open":12860.4,"close":12757.5,"high":12972.6,"low":12757.5,"amount":1.158,"vol":1158,"trade_turnover":14882.4656,"count":118},{"id":1603332000,"open":12824.1,"close":12788.8,"high":12848.0,"low":12729.0,"amount":1.124,"vol":1124,"trade_turnover":14368.7948,"count":115},{"id":1603335600,"open":12791.7,"close":12767.2,"high":12834.4,"low":12729.0,"amount":1.194,"vol":1194,"trade_turnover":15268.9298,"count":111},{"id":1603339200,"open":12729.0,"close":12762.2,"high":12778.3,"low":12729.0,"amount":1.152,"vol":1152,"trade_turnover":14695.4876,"count":115},{"id":1603342800,"open":12763.1,"close":12813.8,"high":12842.0,"low":12730.6,"amount":1.21,"vol":1210,"trade_turnover":15440.8162,"count":119},{"id":1603346400,"open":12795.0,"close":12729.1,"high":12795.0,"low":12728.0,"amount":1.188,"vol":1188,"trade_turnover":15128.0098,"count":123},{"id":1603350000,"open":12728.6,"close":12730.6,"high":12730.6,"low":12728.3,"amount":1.266,"vol":1266,"trade_turnover":16115.1306,"count":112},{"id":1603353600,"open":12730.3,"close":12770.1,"high":12921.5,"low":12729.9,"amount":1.35,"vol":1350,"trade_turnover":17233.7326,"count":127},{"id":1603357200,"open":12824.9,"close":12780.4,"high":12872.1,"low":12760.1,"amount":0.98,"vol":980,"trade_turnover":12553.9826,"count":99},{"id":1603360800,"open":12784.9,"close":12934.2,"high":13002.7,"low":12775.6,"amount":0.266,"vol":266,"trade_turnover":3415.023,"count":30},{"id":1603364400,"open":12977.0,"close":13045.0,"high":13057.0,"low":12886.6,"amount":1.004,"vol":1004,"trade_turnover":13020.8576,"count":117},{"id":1603368000,"open":12958.5,"close":12847.9,"high":12973.4,"low":12751.6,"amount":1.134,"vol":1134,"trade_turnover":14594.2752,"count":111},{"id":1603371600,"open":12882.7,"close":12931.0,"high":13000.8,"low":12743.0,"amount":1.152,"vol":1152,"trade_turnover":14877.7314,"count":114},{"id":1603375200,"open":12890.4,"close":12917.8,"high":12995.3,"low":12783.9,"amount":1.182,"vol":1182,"trade_turnover":15224.4716,"count":115},{"id":1603378800,"open":12918.8,"close":12953.0,"high":13031.2,"low":12817.9,"amount":1.176,"vol":1176,"trade_turnover":15197.208,"count":117},{"id":1603382400,"open":12923.1,"close":13055.6,"high":13100.2,"low":12865.6,"amount":1.146,"vol":1146,"trade_turnover":14851.9604,"count":119},{"id":1603386000,"open":12967.6,"close":13082.7,"high":13105.7,"low":12835.5,"amount":1.534,"vol":1534,"trade_turnover":19927.8288,"count":124},{"id":1603389600,"open":13020.4,"close":13016.4,"high":13115.0,"low":12938.7,"amount":1.268,"vol":1268,"trade_turnover":16505.4738,"count":117},{"id":1603393200,"open":13028.3,"close":12970.6,"high":13171.2,"low":12961.8,"amount":1.13,"vol":1130,"trade_turnover":14762.952,"count":112},{"id":1603396800,"open":13016.7,"close":13089.3,"high":13216.1,"low":12998.5,"amount":1.206,"vol":1206,"trade_turnover":15807.1226,"count":117},{"id":1603400400,"open":13136.0,"close":13092.0,"high":13203.7,"low":12932.9,"amount":1.332,"vol":1332,"trade_turnover":17423.4422,"count":114},{"id":1603404000,"open":13119.4,"close":13055.9,"high":13250.5,"low":12984.7,"amount":1.21,"vol":1210,"trade_turnover":15876.0632,"count":114},{"id":1603407600,"open":13059.4,"close":12890.4,"high":13126.5,"low":12857.2,"amount":1.286,"vol":1286,"trade_turnover":16688.422,"count":116},{"id":1603411200,"open":12929.7,"close":12892.2,"high":12994.0,"low":12751.6,"amount":1.502,"vol":1502,"trade_turnover":19331.1596,"count":131},{"id":1603414800,"open":12921.7,"close":12898.3,"high":13003.2,"low":12786.0,"amount":1.386,"vol":1386,"trade_turnover":17904.8902,"count":121},{"id":1603418400,"open":12951.6,"close":12975.1,"high":13054.0,"low":12800.7,"amount":1.416,"vol":1416,"trade_turnover":18306.6204,"count":122},{"id":1603422000,"open":12967.3,"close":12947.0,"high":13030.7,"low":12875.0,"amount":1.19,"vol":1190,"trade_turnover":15409.7984,"count":118},{"id":1603425600,"open":12925.2,"close":12852.0,"high":13047.3,"low":12832.8,"amount":1.022,"vol":1022,"trade_turnover":13214.4388,"count":127},{"id":1603429200,"open":12859.0,"close":12931.1,"high":12991.7,"low":12841.2,"amount":0.478,"vol":478,"trade_turnover":6180.2486,"count":118},{"id":1603432800,"open":12935.9,"close":12939.6,"high":13014.1,"low":12871.9,"amount":0.522,"vol":522,"trade_turnover":6759.0324,"count":132},{"id":1603436400,"open":12923.1,"close":12925.4,"high":12998.9,"low":12917.1,"amount":0.476,"vol":476,"trade_turnover":6163.3118,"count":118},{"id":1603440000,"open":12942.2,"close":12962.6,"high":13014.0,"low":12916.1,"amount":0.508,"vol":508,"trade_turnover":6585.3656,"count":122},{"id":1603443600,"open":12970.5,"close":12926.4,"high":13012.5,"low":12909.9,"amount":0.564,"vol":564,"trade_turnover":7308.8828,"count":124},{"id":1603447200,"open":13001.2,"close":13007.7,"high":13059.5,"low":12925.7,"amount":0.536,"vol":536,"trade_turnover":6957.8796,"count":124},{"id":1603450800,"open":13025.4,"close":12970.6,"high":13078.4,"low":12906.5,"amount":0.486,"vol":486,"trade_turnover":6326.1434,"count":122},{"id":1603454400,"open":12963.9,"close":12935.4,"high":13025.0,"low":12850.8,"amount":0.494,"vol":494,"trade_turnover":6396.0984,"count":117},{"id":1603458000,"open":12913.3,"close":12951.7,"high":13043.3,"low":12911.0,"amount":0.466,"vol":466,"trade_turnover":6049.1412,"count":117},{"id":1603461600,"open":12999.6,"close":12858.8,"high":13006.4,"low":12840.4,"amount":0.46,"vol":460,"trade_turnover":5941.815,"count":116},{"id":1603465200,"open":12885.7,"close":12881.9,"high":12932.9,"low":12826.5,"amount":0.492,"vol":492,"trade_turnover":6340.214,"count":117},{"id":1603468800,"open":12854.4,"close":12784.1,"high":12933.5,"low":12744.4,"amount":0.484,"vol":484,"trade_turnover":6205.4138,"count":123},{"id":1603472400,"open":12832.3,"close":12847.7,"high":12893.1,"low":12730.1,"amount":0.562,"vol":562,"trade_turnover":7218.9184,"count":152},{"id":1603476000,"open":12874.1,"close":12915.7,"high":12939.3,"low":12751.4,"amount":0.53,"vol":530,"trade_turnover":6825.7004,"count":128},{"id":1603479600,"open":12867.9,"close":12972.9,"high":12972.9,"low":12786.6,"amount":0.444,"vol":444,"trade_turnover":5727.7452,"count":117},{"id":1603483200,"open":12956.7,"close":12991.6,"high":13002.2,"low":12842.9,"amount":0.492,"vol":492,"trade_turnover":6375.1566,"count":116},{"id":1603486800,"open":13004.3,"close":12943.5,"high":13004.3,"low":12936.6,"amount":0.5,"vol":500,"trade_turnover":6485.468,"count":125},{"id":1603490400,"open":12923.6,"close":12989.2,"high":13010.3,"low":12884.7,"amount":0.492,"vol":492,"trade_turnover":6376.1492,"count":120},{"id":1603494000,"open":12974.9,"close":12884.6,"high":13024.4,"low":12884.6,"amount":0.51,"vol":510,"trade_turnover":6622.3406,"count":121},{"id":1603497600,"open":12973.7,"close":12953.9,"high":13018.3,"low":12811.1,"amount":0.488,"vol":488,"trade_turnover":6317.7938,"count":120},{"id":1603501200,"open":12927.5,"close":12934.2,"high":13018.1,"low":12872.8,"amount":0.482,"vol":482,"trade_turnover":6242.4178,"count":117},{"id":1603504800,"open":12971.9,"close":12989.1,"high":13003.9,"low":12903.3,"amount":0.484,"vol":484,"trade_turnover":6278.1756,"count":117},{"id":1603508400,"open":13000.1,"close":12975.9,"high":13013.4,"low":12938.3,"amount":0.474,"vol":474,"trade_turnover":6157.7096,"count":122},{"id":1603512000,"open":12989.7,"close":12963.3,"high":13009.4,"low":12905.5,"amount":0.526,"vol":526,"trade_turnover":6831.5658,"count":124},{"id":1603515600,"open":12910.5,"close":12989.7,"high":13041.8,"low":12875.3,"amount":0.522,"vol":522,"trade_turnover":6768.8994,"count":127},{"id":1603519200,"open":12994.7,"close":13003.6,"high":13058.1,"low":12908.8,"amount":0.49,"vol":490,"trade_turnover":6370.5714,"count":120},{"id":1603522800,"open":13011.9,"close":13004.2,"high":13037.8,"low":12981.7,"amount":0.478,"vol":478,"trade_turnover":6218.9722,"count":120},{"id":1603526400,"open":13003.0,"close":12998.2,"high":13030.6,"low":12899.4,"amount":0.52,"vol":520,"trade_turnover":6754.958,"count":124},{"id":1603530000,"open":12998.2,"close":12990.6,"high":13020.3,"low":12893.6,"amount":0.454,"vol":454,"trade_turnover":5891.0574,"count":115},{"id":1603533600,"open":12996.4,"close":13030.1,"high":13059.1,"low":12913.2,"amount":0.502,"vol":502,"trade_turnover":6525.9004,"count":124},{"id":1603537200,"open":12988.4,"close":13033.2,"high":13068.3,"low":12940.2,"amount":0.468,"vol":468,"trade_turnover":6091.0376,"count":119},{"id":1603540800,"open":13035.3,"close":13006.5,"high":13071.8,"low":12978.9,"amount":0.468,"vol":468,"trade_turnover":6102.5902,"count":123},{"id":1603544400,"open":13038.8,"close":12985.9,"high":13066.7,"low":12928.1,"amount":0.534,"vol":534,"trade_turnover":6950.4268,"count":123},{"id":1603548000,"open":12986.3,"close":13042.0,"high":13100.1,"low":12960.5,"amount":0.47,"vol":470,"trade_turnover":6124.2178,"count":100},{"id":1603551600,"open":13038.4,"close":13102.2,"high":13196.5,"low":13038.4,"amount":0.456,"vol":456,"trade_turnover":5989.6362,"count":120},{"id":1603555200,"open":13136.8,"close":13052.7,"high":13176.6,"low":12984.6,"amount":0.458,"vol":458,"trade_turnover":5976.331,"count":121},{"id":1603558800,"open":13006.2,"close":13177.8,"high":13177.8,"low":13003.2,"amount":0.452,"vol":452,"trade_turnover":5911.7058,"count":118},{"id":1603562400,"open":13127.7,"close":13080.8,"high":13170.7,"low":13023.0,"amount":0.468,"vol":468,"trade_turnover":6122.375,"count":119},{"id":1603566000,"open":13040.7,"close":13148.4,"high":13179.3,"low":13014.2,"amount":0.468,"vol":468,"trade_turnover":6126.4278,"count":120},{"id":1603569600,"open":13073.5,"close":13090.1,"high":13179.6,"low":12992.5,"amount":0.47,"vol":470,"trade_turnover":6151.4758,"count":119},{"id":1603573200,"open":13035.4,"close":12993.9,"high":13148.7,"low":12980.7,"amount":0.458,"vol":458,"trade_turnover":5981.071,"count":117},{"id":1603576800,"open":13040.7,"close":13041.1,"high":13112.1,"low":12975.6,"amount":0.478,"vol":478,"trade_turnover":6225.4216,"count":118},{"id":1603580400,"open":13012.6,"close":13184.3,"high":13184.3,"low":13009.3,"amount":0.472,"vol":472,"trade_turnover":6173.4244,"count":118},{"id":1603584000,"open":13080.8,"close":13154.3,"high":13170.4,"low":13007.7,"amount":0.46,"vol":460,"trade_turnover":6024.09,"count":115},{"id":1603587600,"open":13092.0,"close":13196.1,"high":13196.8,"low":13024.0,"amount":0.398,"vol":398,"trade_turnover":5217.5364,"count":102},{"id":1603591200,"open":13124.7,"close":13082.4,"high":13175.1,"low":13035.0,"amount":0.476,"vol":476,"trade_turnover":6228.6596,"count":120},{"id":1603594800,"open":13049.1,"close":13259.0,"high":13383.8,"low":13049.1,"amount":0.578,"vol":578,"trade_turnover":7629.3886,"count":137},{"id":1603598400,"open":13277.0,"close":13243.4,"high":13369.0,"low":13216.0,"amount":0.47,"vol":470,"trade_turnover":6247.955,"count":122},{"id":1603602000,"open":13285.3,"close":13017.3,"high":13353.3,"low":13010.1,"amount":0.61,"vol":610,"trade_turnover":8048.8598,"count":134},{"id":1603605600,"open":13022.5,"close":13060.3,"high":13105.7,"low":13018.2,"amount":0.486,"vol":486,"trade_turnover":6344.1474,"count":118},{"id":1603609200,"open":13048.5,"close":13078.1,"high":13112.1,"low":13022.0,"amount":0.464,"vol":464,"trade_turnover":6061.5416,"count":120},{"id":1603612800,"open":13077.2,"close":13046.0,"high":13091.0,"low":13017.2,"amount":0.464,"vol":464,"trade_turnover":6055.3734,"count":120},{"id":1603616400,"open":13065.1,"close":13040.8,"high":13084.0,"low":13014.2,"amount":0.478,"vol":478,"trade_turnover":6235.7882,"count":117},{"id":1603620000,"open":13047.1,"close":13028.5,"high":13064.2,"low":13010.2,"amount":0.478,"vol":478,"trade_turnover":6232.2428,"count":125},{"id":1603623600,"open":13061.5,"close":12897.6,"high":13061.5,"low":12852.9,"amount":0.534,"vol":534,"trade_turnover":6918.1226,"count":123},{"id":1603627200,"open":12908.3,"close":12964.3,"high":13069.7,"low":12893.2,"amount":0.444,"vol":444,"trade_turnover":5755.8712,"count":117},{"id":1603630800,"open":13001.3,"close":12949.3,"high":13071.9,"low":12891.8,"amount":0.498,"vol":498,"trade_turnover":6465.078,"count":119},{"id":1603634400,"open":12975.8,"close":12946.8,"high":13077.7,"low":12900.0,"amount":0.468,"vol":468,"trade_turnover":6075.4554,"count":116},{"id":1603638000,"open":12975.2,"close":12883.3,"high":13069.1,"low":12883.3,"amount":0.47,"vol":470,"trade_turnover":6097.1072,"count":119},{"id":1603641600,"open":12916.2,"close":12978.7,"high":13067.9,"low":12877.5,"amount":0.482,"vol":482,"trade_turnover":6256.4472,"count":118},{"id":1603645200,"open":13008.0,"close":13004.4,"high":13087.5,"low":12922.7,"amount":0.47,"vol":470,"trade_turnover":6108.3892,"count":117},{"id":1603648800,"open":12972.8,"close":12957.2,"high":13067.6,"low":12893.6,"amount":0.468,"vol":468,"trade_turnover":6079.1484,"count":118},{"id":1603652400,"open":12996.5,"close":13021.8,"high":13066.9,"low":12916.6,"amount":0.442,"vol":442,"trade_turnover":5746.5548,"count":118},{"id":1603656000,"open":12992.9,"close":12985.4,"high":13081.5,"low":12944.9,"amount":0.508,"vol":508,"trade_turnover":6616.9872,"count":120},{"id":1603659600,"open":12999.9,"close":13011.2,"high":13068.6,"low":12921.4,"amount":0.508,"vol":508,"trade_turnover":6614.816,"count":122},{"id":1603663200,"open":12979.6,"close":12959.4,"high":13073.8,"low":12911.9,"amount":0.486,"vol":486,"trade_turnover":6320.907,"count":121},{"id":1603666800,"open":12963.4,"close":13032.1,"high":13085.2,"low":12927.8,"amount":0.452,"vol":452,"trade_turnover":5878.6442,"count":113},{"id":1603670400,"open":12964.2,"close":13001.0,"high":13076.7,"low":12918.3,"amount":0.482,"vol":482,"trade_turnover":6263.698,"count":121},{"id":1603674000,"open":13040.0,"close":13053.7,"high":13096.4,"low":12991.2,"amount":0.478,"vol":478,"trade_turnover":6232.2328,"count":124},{"id":1603677600,"open":13060.6,"close":13064.4,"high":13185.7,"low":12985.1,"amount":0.488,"vol":488,"trade_turnover":6387.534,"count":121},{"id":1603681200,"open":13032.3,"close":13092.8,"high":13187.2,"low":12984.1,"amount":0.486,"vol":486,"trade_turnover":6369.0272,"count":135},{"id":1603684800,"open":13092.0,"close":13132.6,"high":13181.6,"low":12962.3,"amount":0.51,"vol":510,"trade_turnover":6679.829,"count":131},{"id":1603688400,"open":13129.2,"close":13092.1,"high":13205.3,"low":13025.3,"amount":0.506,"vol":506,"trade_turnover":6641.2128,"count":126},{"id":1603692000,"open":13121.8,"close":13071.4,"high":13188.1,"low":12989.8,"amount":1.616,"vol":1616,"trade_turnover":21170.8224,"count":141},{"id":1603695600,"open":13061.0,"close":13038.7,"high":13100.0,"low":12965.2,"amount":3.746,"vol":3746,"trade_turnover":48924.8902,"count":110},{"id":1603699200,"open":13030.9,"close":13039.3,"high":13102.0,"low":12852.8,"amount":8.966,"vol":8966,"trade_turnover":116525.5534,"count":173},{"id":1603702800,"open":13047.1,"close":13075.9,"high":13088.4,"low":13039.8,"amount":4.48,"vol":4480,"trade_turnover":58521.1714,"count":124},{"id":1603706400,"open":13072.1,"close":13100.0,"high":13100.0,"low":13060.2,"amount":4.272,"vol":4272,"trade_turnover":55895.9778,"count":130},{"id":1603710000,"open":13100.0,"close":13138.4,"high":13159.0,"low":13100.0,"amount":29.798,"vol":29798,"trade_turnover":391138.024,"count":230},{"id":1603713600,"open":13138.8,"close":13149.8,"high":13200.0,"low":13100.0,"amount":5.154,"vol":5154,"trade_turnover":67694.652,"count":188},{"id":1603717200,"open":13150.0,"close":13205.8,"high":13351.5,"low":13133.1,"amount":35.608,"vol":35608,"trade_turnover":472780.3394,"count":328},{"id":1603720800,"open":13203.0,"close":13166.1,"high":13280.0,"low":13144.1,"amount":31.748,"vol":31748,"trade_turnover":418744.5588,"count":235},{"id":1603724400,"open":13159.0,"close":12978.0,"high":13165.2,"low":12903.8,"amount":36.53,"vol":36530,"trade_turnover":476940.3296,"count":384},{"id":1603728000,"open":12965.0,"close":12869.6,"high":13069.8,"low":12850.5,"amount":35.018,"vol":35018,"trade_turnover":453288.918,"count":323},{"id":1603731600,"open":12879.2,"close":12873.8,"high":12941.5,"low":12583.9,"amount":92.628,"vol":92628,"trade_turnover":1185973.467,"count":560},{"id":1603735200,"open":12856.2,"close":12946.8,"high":12954.5,"low":12820.4,"amount":4.302,"vol":4302,"trade_turnover":55481.0054,"count":128},{"id":1603738800,"open":12945.6,"close":12953.4,"high":12953.5,"low":12914.1,"amount":13.83,"vol":13830,"trade_turnover":179112.1598,"count":118},{"id":1603742400,"open":12953.5,"close":12983.4,"high":13007.5,"low":12953.5,"amount":17.172,"vol":17172,"trade_turnover":223230.2122,"count":132},{"id":1603746000,"open":12983.1,"close":12993.8,"high":13007.5,"low":12982.7,"amount":3.212,"vol":3212,"trade_turnover":41767.8906,"count":59},{"id":1603749600,"open":13002.1,"close":13007.5,"high":13007.5,"low":12974.0,"amount":1.504,"vol":1504,"trade_turnover":19543.3568,"count":74},{"id":1603753200,"open":13007.5,"close":13033.7,"high":13061.2,"low":13007.5,"amount":3.454,"vol":3454,"trade_turnover":45001.601,"count":101},{"id":1603756800,"open":13029.2,"close":13067.1,"high":13105.0,"low":13028.3,"amount":8.784,"vol":8784,"trade_turnover":114871.8246,"count":98},{"id":1603760400,"open":13074.3,"close":13061.7,"high":13074.4,"low":13051.5,"amount":11.592,"vol":11592,"trade_turnover":151386.9038,"count":66},{"id":1603764000,"open":13061.7,"close":13049.7,"high":13097.6,"low":13040.1,"amount":19.298,"vol":19298,"trade_turnover":252061.019,"count":109},{"id":1603767600,"open":13057.6,"close":13070.4,"high":13080.0,"low":13057.1,"amount":22.992,"vol":22992,"trade_turnover":300453.9788,"count":69},{"id":1603771200,"open":13080.0,"close":13103.3,"high":13175.0,"low":13079.6,"amount":14.396,"vol":14396,"trade_turnover":188461.9156,"count":59},{"id":1603774800,"open":13121.3,"close":13073.6,"high":13121.3,"low":13069.7,"amount":5.058,"vol":5058,"trade_turnover":66201.3552,"count":44},{"id":1603778400,"open":13074.9,"close":13103.4,"high":13149.0,"low":13069.6,"amount":9.106,"vol":9106,"trade_turnover":119104.8906,"count":107},{"id":1603782000,"open":13103.3,"close":13130.0,"high":13169.8,"low":12992.4,"amount":73.95,"vol":73950,"trade_turnover":968195.155,"count":305},{"id":1603785600,"open":13135.1,"close":13123.8,"high":13148.4,"low":13044.0,"amount":18.732,"vol":18732,"trade_turnover":245533.5448,"count":135},{"id":1603789200,"open":13115.5,"close":13131.7,"high":13131.8,"low":13075.7,"amount":13.756,"vol":13756,"trade_turnover":180253.7708,"count":102},{"id":1603792800,"open":13134.8,"close":13216.9,"high":13252.0,"low":13063.4,"amount":154.108,"vol":154108,"trade_turnover":2029983.656,"count":525},{"id":1603796400,"open":13218.8,"close":13395.8,"high":13590.1,"low":13213.5,"amount":170.09,"vol":170090,"trade_turnover":2276279.742,"count":591},{"id":1603800000,"open":13395.9,"close":13376.9,"high":13414.0,"low":13331.7,"amount":48.928,"vol":48928,"trade_turnover":654585.9108,"count":216},{"id":1603803600,"open":13376.5,"close":13384.3,"high":13490.9,"low":13329.8,"amount":63.294,"vol":63294,"trade_turnover":848130.9212,"count":316},{"id":1603807200,"open":13392.6,"close":13398.2,"high":13415.8,"low":13344.8,"amount":12.892,"vol":12892,"trade_turnover":172618.6864,"count":124},{"id":1603810800,"open":13398.2,"close":13598.5,"high":13626.7,"low":13398.2,"amount":93.22,"vol":93220,"trade_turnover":1262695.5466,"count":476},{"id":1603814400,"open":13595.8,"close":13639.9,"high":13639.9,"low":13520.2,"amount":85.45,"vol":85450,"trade_turnover":1161481.4136,"count":435},{"id":1603818000,"open":13640.0,"close":13688.1,"high":13826.7,"low":13589.0,"amount":191.812,"vol":191812,"trade_turnover":2628428.3788,"count":711},{"id":1603821600,"open":13685.0,"close":13630.1,"high":13745.0,"low":13528.2,"amount":65.434,"vol":65434,"trade_turnover":891541.8394,"count":410},{"id":1603825200,"open":13629.4,"close":13637.1,"high":13659.8,"low":13595.4,"amount":5.788,"vol":5788,"trade_turnover":78836.2578,"count":65},{"id":1603828800,"open":13644.4,"close":13616.6,"high":13805.1,"low":13582.6,"amount":163.104,"vol":163104,"trade_turnover":2234040.3544,"count":537},{"id":1603832400,"open":13609.8,"close":13705.5,"high":13753.5,"low":13609.8,"amount":9.884,"vol":9884,"trade_turnover":135406.4752,"count":101},{"id":1603836000,"open":13705.4,"close":13739.9,"high":13739.9,"low":13658.2,"amount":7.436,"vol":7436,"trade_turnover":101840.3508,"count":100},{"id":1603839600,"open":13739.9,"close":13649.6,"high":13794.6,"low":13582.6,"amount":17.086,"vol":17086,"trade_turnover":233971.8448,"count":234},{"id":1603843200,"open":13645.9,"close":13701.7,"high":13745.2,"low":13618.8,"amount":24.108,"vol":24108,"trade_turnover":330206.5694,"count":177},{"id":1603846800,"open":13702.1,"close":13702.6,"high":13725.6,"low":13647.9,"amount":15.892,"vol":15892,"trade_turnover":217816.7008,"count":151},{"id":1603850400,"open":13701.7,"close":13811.6,"high":13832.2,"low":13680.2,"amount":46.548,"vol":46548,"trade_turnover":640636.0352,"count":274},{"id":1603854000,"open":13818.5,"close":13777.0,"high":13820.3,"low":13717.5,"amount":67.896,"vol":67896,"trade_turnover":935838.2238,"count":320},{"id":1603857600,"open":13767.3,"close":13735.7,"high":13807.2,"low":13710.0,"amount":33.156,"vol":33156,"trade_turnover":455941.234,"count":210},{"id":1603861200,"open":13735.5,"close":13715.8,"high":13753.9,"low":13671.3,"amount":32.076,"vol":32076,"trade_turnover":439612.64,"count":198},{"id":1603864800,"open":13715.9,"close":13701.3,"high":13757.0,"low":13694.9,"amount":14.756,"vol":14756,"trade_turnover":202602.5164,"count":122},{"id":1603868400,"open":13701.2,"close":13674.2,"high":13708.7,"low":13550.0,"amount":155.534,"vol":155534,"trade_turnover":2117935.0928,"count":635},{"id":1603872000,"open":13673.0,"close":13691.7,"high":13691.7,"low":13584.0,"amount":29.846,"vol":29846,"trade_turnover":407073.1398,"count":240},{"id":1603875600,"open":13689.3,"close":13587.1,"high":13707.5,"low":13573.5,"amount":104.542,"vol":104542,"trade_turnover":1425079.9344,"count":377},{"id":1603879200,"open":13584.6,"close":13552.7,"high":13618.0,"low":13504.7,"amount":73.818,"vol":73818,"trade_turnover":1001666.0908,"count":358},{"id":1603882800,"open":13552.6,"close":13336.4,"high":13565.4,"low":13330.0,"amount":176.544,"vol":176544,"trade_turnover":2369166.1492,"count":1004},{"id":1603886400,"open":13331.5,"close":13300.3,"high":13385.0,"low":13173.9,"amount":289.73,"vol":289730,"trade_turnover":3846751.7166,"count":968},{"id":1603890000,"open":13300.2,"close":13129.9,"high":13340.0,"low":13122.9,"amount":139.822,"vol":139822,"trade_turnover":1848876.932,"count":612},{"id":1603893600,"open":13123.4,"close":13082.2,"high":13168.2,"low":12915.9,"amount":367.876,"vol":367876,"trade_turnover":4802516.9818,"count":1168},{"id":1603897200,"open":13077.1,"close":13221.2,"high":13235.2,"low":13052.3,"amount":84.044,"vol":84044,"trade_turnover":1106883.1282,"count":375},{"id":1603900800,"open":13218.7,"close":13145.1,"high":13218.7,"low":13050.0,"amount":29.566,"vol":29566,"trade_turnover":388697.4104,"count":244},{"id":1603904400,"open":13145.1,"close":13176.7,"high":13204.9,"low":13006.6,"amount":53.336,"vol":53336,"trade_turnover":700385.2784,"count":299},{"id":1603908000,"open":13171.0,"close":13196.5,"high":13219.6,"low":13131.0,"amount":34.164,"vol":34164,"trade_turnover":450210.5778,"count":218},{"id":1603911600,"open":13200.0,"close":13154.9,"high":13237.4,"low":13145.0,"amount":22.158,"vol":22158,"trade_turnover":292020.0438,"count":185},{"id":1603915200,"open":13154.5,"close":13198.1,"high":13211.8,"low":13147.4,"amount":4.548,"vol":4548,"trade_turnover":59991.1118,"count":75},{"id":1603918800,"open":13193.5,"close":13190.1,"high":13196.5,"low":13100.2,"amount":3.52,"vol":3520,"trade_turnover":46175.428,"count":68},{"id":1603922400,"open":13185.4,"close":13252.0,"high":13267.5,"low":13185.4,"amount":3.122,"vol":3122,"trade_turnover":41304.2018,"count":72},{"id":1603926000,"open":13242.1,"close":13265.9,"high":13282.3,"low":13235.9,"amount":14.768,"vol":14768,"trade_turnover":195689.0764,"count":86},{"id":1603929600,"open":13253.9,"close":13245.1,"high":13294.7,"low":13237.4,"amount":19.968,"vol":19968,"trade_turnover":264834.1944,"count":98},{"id":1603933200,"open":13244.6,"close":13274.2,"high":13285.3,"low":13166.3,"amount":35.282,"vol":35282,"trade_turnover":465789.6302,"count":192},{"id":1603936800,"open":13275.9,"close":13241.1,"high":13277.7,"low":13212.2,"amount":9.748,"vol":9748,"trade_turnover":129016.0684,"count":119},{"id":1603940400,"open":13237.1,"close":13262.5,"high":13262.5,"low":13174.6,"amount":27.3,"vol":27300,"trade_turnover":360589.8982,"count":199},{"id":1603944000,"open":13269.1,"close":13229.5,"high":13277.7,"low":13229.5,"amount":18.904,"vol":18904,"trade_turnover":250713.2812,"count":109},{"id":1603947600,"open":13228.5,"close":13274.8,"high":13274.8,"low":13228.5,"amount":15.822,"vol":15822,"trade_turnover":209781.909,"count":134},{"id":1603951200,"open":13274.8,"close":13255.0,"high":13323.0,"low":13242.3,"amount":91.246,"vol":91246,"trade_turnover":1211271.2788,"count":294},{"id":1603954800,"open":13255.0,"close":13142.4,"high":13269.3,"low":13123.1,"amount":187.622,"vol":187622,"trade_turnover":2478299.7074,"count":506},{"id":1603958400,"open":13145.9,"close":13124.8,"high":13182.4,"low":13094.1,"amount":69.532,"vol":69532,"trade_turnover":914157.2418,"count":226},{"id":1603962000,"open":13129.5,"close":13183.7,"high":13197.1,"low":13129.5,"amount":23.184,"vol":23184,"trade_turnover":305485.9524,"count":141},{"id":1603965600,"open":13184.8,"close":13105.2,"high":13187.5,"low":13053.1,"amount":121.146,"vol":121146,"trade_turnover":1590026.4416,"count":442},{"id":1603969200,"open":13105.1,"close":13060.1,"high":13171.4,"low":13060.1,"amount":47.498,"vol":47498,"trade_turnover":623578.149,"count":262},{"id":1603972800,"open":13056.9,"close":13131.8,"high":13145.8,"low":12977.9,"amount":126.552,"vol":126552,"trade_turnover":1652549.311,"count":481},{"id":1603976400,"open":13131.7,"close":13230.0,"high":13237.2,"low":13102.0,"amount":100.482,"vol":100482,"trade_turnover":1326403.7206,"count":325},{"id":1603980000,"open":13231.0,"close":13420.8,"high":13476.1,"low":13231.0,"amount":253.258,"vol":253258,"trade_turnover":3384941.438,"count":752},{"id":1603983600,"open":13416.0,"close":13420.6,"high":13458.7,"low":13358.7,"amount":64.71,"vol":64710,"trade_turnover":869052.3804,"count":269},{"id":1603987200,"open":13421.9,"close":13535.9,"high":13594.5,"low":13391.8,"amount":120.24,"vol":120240,"trade_turnover":1626567.8278,"count":570}]} +2024-01-18 11:13:17.047 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:41] - 请求 KLine 数据解析之后的数据为:{"wsid":19750305,"data":[{"amount":0.276,"high":12300.0,"vol":276,"low":11715.8,"count":39,"id":1603270800,"close":12196.7,"tradeTurnover":3315.9104,"open":12198.0},{"amount":0.198,"high":12289.9,"vol":198,"low":12111.0,"count":21,"id":1603274400,"close":12277.9,"tradeTurnover":2420.7728,"open":12196.7},{"amount":0.012,"high":12277.9,"vol":12,"low":12000.0,"count":5,"id":1603278000,"close":12000.0,"tradeTurnover":145.2238,"open":12111.0},{"amount":0.084,"high":12498.0,"vol":84,"low":12078.0,"count":12,"id":1603281600,"close":12497.4,"tradeTurnover":1040.0504,"open":12078.0},{"amount":1.122,"high":12495.6,"vol":1122,"low":12282.9,"count":112,"id":1603285200,"close":12373.5,"tradeTurnover":13905.3124,"open":12495.6},{"amount":5.29,"high":12807.6,"vol":5290,"low":12358.1,"count":155,"id":1603288800,"close":12689.9,"tradeTurnover":66852.128,"open":12412.9},{"amount":1.174,"high":12778.7,"vol":1174,"low":12573.2,"count":113,"id":1603292400,"close":12701.9,"tradeTurnover":14907.367,"open":12692.8},{"amount":1.156,"high":12920.9,"vol":1156,"low":12624.8,"count":115,"id":1603296000,"close":12835.9,"tradeTurnover":14802.449,"open":12679.7},{"amount":1.12,"high":12908.3,"vol":1120,"low":12687.5,"count":115,"id":1603299600,"close":12754.2,"tradeTurnover":14345.7324,"open":12848.3},{"amount":1.106,"high":12849.0,"vol":1106,"low":12668.3,"count":114,"id":1603303200,"close":12740.2,"tradeTurnover":14105.3504,"open":12743.7},{"amount":1.032,"high":12843.1,"vol":1032,"low":12597.2,"count":112,"id":1603306800,"close":12650.3,"tradeTurnover":13125.4568,"open":12729.5},{"amount":1.154,"high":12848.4,"vol":1154,"low":12610.2,"count":116,"id":1603310400,"close":12807.0,"tradeTurnover":14680.638,"open":12666.8},{"amount":1.164,"high":13005.1,"vol":1164,"low":12748.2,"count":114,"id":1603314000,"close":12938.9,"tradeTurnover":14976.9366,"open":12866.0},{"amount":1.174,"high":13211.2,"vol":1174,"low":12865.7,"count":114,"id":1603317600,"close":13122.0,"tradeTurnover":15285.2446,"open":12921.0},{"amount":1.172,"high":13173.2,"vol":1172,"low":12688.6,"count":117,"id":1603321200,"close":12829.8,"tradeTurnover":15060.9938,"open":13153.2},{"amount":1.17,"high":12988.1,"vol":1170,"low":12764.4,"count":117,"id":1603324800,"close":12885.9,"tradeTurnover":15046.2046,"open":12793.1},{"amount":1.158,"high":12972.6,"vol":1158,"low":12757.5,"count":118,"id":1603328400,"close":12757.5,"tradeTurnover":14882.4656,"open":12860.4},{"amount":1.124,"high":12848.0,"vol":1124,"low":12729.0,"count":115,"id":1603332000,"close":12788.8,"tradeTurnover":14368.7948,"open":12824.1},{"amount":1.194,"high":12834.4,"vol":1194,"low":12729.0,"count":111,"id":1603335600,"close":12767.2,"tradeTurnover":15268.9298,"open":12791.7},{"amount":1.152,"high":12778.3,"vol":1152,"low":12729.0,"count":115,"id":1603339200,"close":12762.2,"tradeTurnover":14695.4876,"open":12729.0},{"amount":1.21,"high":12842.0,"vol":1210,"low":12730.6,"count":119,"id":1603342800,"close":12813.8,"tradeTurnover":15440.8162,"open":12763.1},{"amount":1.188,"high":12795.0,"vol":1188,"low":12728.0,"count":123,"id":1603346400,"close":12729.1,"tradeTurnover":15128.0098,"open":12795.0},{"amount":1.266,"high":12730.6,"vol":1266,"low":12728.3,"count":112,"id":1603350000,"close":12730.6,"tradeTurnover":16115.1306,"open":12728.6},{"amount":1.35,"high":12921.5,"vol":1350,"low":12729.9,"count":127,"id":1603353600,"close":12770.1,"tradeTurnover":17233.7326,"open":12730.3},{"amount":0.98,"high":12872.1,"vol":980,"low":12760.1,"count":99,"id":1603357200,"close":12780.4,"tradeTurnover":12553.9826,"open":12824.9},{"amount":0.266,"high":13002.7,"vol":266,"low":12775.6,"count":30,"id":1603360800,"close":12934.2,"tradeTurnover":3415.023,"open":12784.9},{"amount":1.004,"high":13057.0,"vol":1004,"low":12886.6,"count":117,"id":1603364400,"close":13045.0,"tradeTurnover":13020.8576,"open":12977.0},{"amount":1.134,"high":12973.4,"vol":1134,"low":12751.6,"count":111,"id":1603368000,"close":12847.9,"tradeTurnover":14594.2752,"open":12958.5},{"amount":1.152,"high":13000.8,"vol":1152,"low":12743.0,"count":114,"id":1603371600,"close":12931.0,"tradeTurnover":14877.7314,"open":12882.7},{"amount":1.182,"high":12995.3,"vol":1182,"low":12783.9,"count":115,"id":1603375200,"close":12917.8,"tradeTurnover":15224.4716,"open":12890.4},{"amount":1.176,"high":13031.2,"vol":1176,"low":12817.9,"count":117,"id":1603378800,"close":12953.0,"tradeTurnover":15197.208,"open":12918.8},{"amount":1.146,"high":13100.2,"vol":1146,"low":12865.6,"count":119,"id":1603382400,"close":13055.6,"tradeTurnover":14851.9604,"open":12923.1},{"amount":1.534,"high":13105.7,"vol":1534,"low":12835.5,"count":124,"id":1603386000,"close":13082.7,"tradeTurnover":19927.8288,"open":12967.6},{"amount":1.268,"high":13115.0,"vol":1268,"low":12938.7,"count":117,"id":1603389600,"close":13016.4,"tradeTurnover":16505.4738,"open":13020.4},{"amount":1.13,"high":13171.2,"vol":1130,"low":12961.8,"count":112,"id":1603393200,"close":12970.6,"tradeTurnover":14762.952,"open":13028.3},{"amount":1.206,"high":13216.1,"vol":1206,"low":12998.5,"count":117,"id":1603396800,"close":13089.3,"tradeTurnover":15807.1226,"open":13016.7},{"amount":1.332,"high":13203.7,"vol":1332,"low":12932.9,"count":114,"id":1603400400,"close":13092.0,"tradeTurnover":17423.4422,"open":13136.0},{"amount":1.21,"high":13250.5,"vol":1210,"low":12984.7,"count":114,"id":1603404000,"close":13055.9,"tradeTurnover":15876.0632,"open":13119.4},{"amount":1.286,"high":13126.5,"vol":1286,"low":12857.2,"count":116,"id":1603407600,"close":12890.4,"tradeTurnover":16688.422,"open":13059.4},{"amount":1.502,"high":12994.0,"vol":1502,"low":12751.6,"count":131,"id":1603411200,"close":12892.2,"tradeTurnover":19331.1596,"open":12929.7},{"amount":1.386,"high":13003.2,"vol":1386,"low":12786.0,"count":121,"id":1603414800,"close":12898.3,"tradeTurnover":17904.8902,"open":12921.7},{"amount":1.416,"high":13054.0,"vol":1416,"low":12800.7,"count":122,"id":1603418400,"close":12975.1,"tradeTurnover":18306.6204,"open":12951.6},{"amount":1.19,"high":13030.7,"vol":1190,"low":12875.0,"count":118,"id":1603422000,"close":12947.0,"tradeTurnover":15409.7984,"open":12967.3},{"amount":1.022,"high":13047.3,"vol":1022,"low":12832.8,"count":127,"id":1603425600,"close":12852.0,"tradeTurnover":13214.4388,"open":12925.2},{"amount":0.478,"high":12991.7,"vol":478,"low":12841.2,"count":118,"id":1603429200,"close":12931.1,"tradeTurnover":6180.2486,"open":12859.0},{"amount":0.522,"high":13014.1,"vol":522,"low":12871.9,"count":132,"id":1603432800,"close":12939.6,"tradeTurnover":6759.0324,"open":12935.9},{"amount":0.476,"high":12998.9,"vol":476,"low":12917.1,"count":118,"id":1603436400,"close":12925.4,"tradeTurnover":6163.3118,"open":12923.1},{"amount":0.508,"high":13014.0,"vol":508,"low":12916.1,"count":122,"id":1603440000,"close":12962.6,"tradeTurnover":6585.3656,"open":12942.2},{"amount":0.564,"high":13012.5,"vol":564,"low":12909.9,"count":124,"id":1603443600,"close":12926.4,"tradeTurnover":7308.8828,"open":12970.5},{"amount":0.536,"high":13059.5,"vol":536,"low":12925.7,"count":124,"id":1603447200,"close":13007.7,"tradeTurnover":6957.8796,"open":13001.2},{"amount":0.486,"high":13078.4,"vol":486,"low":12906.5,"count":122,"id":1603450800,"close":12970.6,"tradeTurnover":6326.1434,"open":13025.4},{"amount":0.494,"high":13025.0,"vol":494,"low":12850.8,"count":117,"id":1603454400,"close":12935.4,"tradeTurnover":6396.0984,"open":12963.9},{"amount":0.466,"high":13043.3,"vol":466,"low":12911.0,"count":117,"id":1603458000,"close":12951.7,"tradeTurnover":6049.1412,"open":12913.3},{"amount":0.46,"high":13006.4,"vol":460,"low":12840.4,"count":116,"id":1603461600,"close":12858.8,"tradeTurnover":5941.815,"open":12999.6},{"amount":0.492,"high":12932.9,"vol":492,"low":12826.5,"count":117,"id":1603465200,"close":12881.9,"tradeTurnover":6340.214,"open":12885.7},{"amount":0.484,"high":12933.5,"vol":484,"low":12744.4,"count":123,"id":1603468800,"close":12784.1,"tradeTurnover":6205.4138,"open":12854.4},{"amount":0.562,"high":12893.1,"vol":562,"low":12730.1,"count":152,"id":1603472400,"close":12847.7,"tradeTurnover":7218.9184,"open":12832.3},{"amount":0.53,"high":12939.3,"vol":530,"low":12751.4,"count":128,"id":1603476000,"close":12915.7,"tradeTurnover":6825.7004,"open":12874.1},{"amount":0.444,"high":12972.9,"vol":444,"low":12786.6,"count":117,"id":1603479600,"close":12972.9,"tradeTurnover":5727.7452,"open":12867.9},{"amount":0.492,"high":13002.2,"vol":492,"low":12842.9,"count":116,"id":1603483200,"close":12991.6,"tradeTurnover":6375.1566,"open":12956.7},{"amount":0.5,"high":13004.3,"vol":500,"low":12936.6,"count":125,"id":1603486800,"close":12943.5,"tradeTurnover":6485.468,"open":13004.3},{"amount":0.492,"high":13010.3,"vol":492,"low":12884.7,"count":120,"id":1603490400,"close":12989.2,"tradeTurnover":6376.1492,"open":12923.6},{"amount":0.51,"high":13024.4,"vol":510,"low":12884.6,"count":121,"id":1603494000,"close":12884.6,"tradeTurnover":6622.3406,"open":12974.9},{"amount":0.488,"high":13018.3,"vol":488,"low":12811.1,"count":120,"id":1603497600,"close":12953.9,"tradeTurnover":6317.7938,"open":12973.7},{"amount":0.482,"high":13018.1,"vol":482,"low":12872.8,"count":117,"id":1603501200,"close":12934.2,"tradeTurnover":6242.4178,"open":12927.5},{"amount":0.484,"high":13003.9,"vol":484,"low":12903.3,"count":117,"id":1603504800,"close":12989.1,"tradeTurnover":6278.1756,"open":12971.9},{"amount":0.474,"high":13013.4,"vol":474,"low":12938.3,"count":122,"id":1603508400,"close":12975.9,"tradeTurnover":6157.7096,"open":13000.1},{"amount":0.526,"high":13009.4,"vol":526,"low":12905.5,"count":124,"id":1603512000,"close":12963.3,"tradeTurnover":6831.5658,"open":12989.7},{"amount":0.522,"high":13041.8,"vol":522,"low":12875.3,"count":127,"id":1603515600,"close":12989.7,"tradeTurnover":6768.8994,"open":12910.5},{"amount":0.49,"high":13058.1,"vol":490,"low":12908.8,"count":120,"id":1603519200,"close":13003.6,"tradeTurnover":6370.5714,"open":12994.7},{"amount":0.478,"high":13037.8,"vol":478,"low":12981.7,"count":120,"id":1603522800,"close":13004.2,"tradeTurnover":6218.9722,"open":13011.9},{"amount":0.52,"high":13030.6,"vol":520,"low":12899.4,"count":124,"id":1603526400,"close":12998.2,"tradeTurnover":6754.958,"open":13003.0},{"amount":0.454,"high":13020.3,"vol":454,"low":12893.6,"count":115,"id":1603530000,"close":12990.6,"tradeTurnover":5891.0574,"open":12998.2},{"amount":0.502,"high":13059.1,"vol":502,"low":12913.2,"count":124,"id":1603533600,"close":13030.1,"tradeTurnover":6525.9004,"open":12996.4},{"amount":0.468,"high":13068.3,"vol":468,"low":12940.2,"count":119,"id":1603537200,"close":13033.2,"tradeTurnover":6091.0376,"open":12988.4},{"amount":0.468,"high":13071.8,"vol":468,"low":12978.9,"count":123,"id":1603540800,"close":13006.5,"tradeTurnover":6102.5902,"open":13035.3},{"amount":0.534,"high":13066.7,"vol":534,"low":12928.1,"count":123,"id":1603544400,"close":12985.9,"tradeTurnover":6950.4268,"open":13038.8},{"amount":0.47,"high":13100.1,"vol":470,"low":12960.5,"count":100,"id":1603548000,"close":13042.0,"tradeTurnover":6124.2178,"open":12986.3},{"amount":0.456,"high":13196.5,"vol":456,"low":13038.4,"count":120,"id":1603551600,"close":13102.2,"tradeTurnover":5989.6362,"open":13038.4},{"amount":0.458,"high":13176.6,"vol":458,"low":12984.6,"count":121,"id":1603555200,"close":13052.7,"tradeTurnover":5976.331,"open":13136.8},{"amount":0.452,"high":13177.8,"vol":452,"low":13003.2,"count":118,"id":1603558800,"close":13177.8,"tradeTurnover":5911.7058,"open":13006.2},{"amount":0.468,"high":13170.7,"vol":468,"low":13023.0,"count":119,"id":1603562400,"close":13080.8,"tradeTurnover":6122.375,"open":13127.7},{"amount":0.468,"high":13179.3,"vol":468,"low":13014.2,"count":120,"id":1603566000,"close":13148.4,"tradeTurnover":6126.4278,"open":13040.7},{"amount":0.47,"high":13179.6,"vol":470,"low":12992.5,"count":119,"id":1603569600,"close":13090.1,"tradeTurnover":6151.4758,"open":13073.5},{"amount":0.458,"high":13148.7,"vol":458,"low":12980.7,"count":117,"id":1603573200,"close":12993.9,"tradeTurnover":5981.071,"open":13035.4},{"amount":0.478,"high":13112.1,"vol":478,"low":12975.6,"count":118,"id":1603576800,"close":13041.1,"tradeTurnover":6225.4216,"open":13040.7},{"amount":0.472,"high":13184.3,"vol":472,"low":13009.3,"count":118,"id":1603580400,"close":13184.3,"tradeTurnover":6173.4244,"open":13012.6},{"amount":0.46,"high":13170.4,"vol":460,"low":13007.7,"count":115,"id":1603584000,"close":13154.3,"tradeTurnover":6024.09,"open":13080.8},{"amount":0.398,"high":13196.8,"vol":398,"low":13024.0,"count":102,"id":1603587600,"close":13196.1,"tradeTurnover":5217.5364,"open":13092.0},{"amount":0.476,"high":13175.1,"vol":476,"low":13035.0,"count":120,"id":1603591200,"close":13082.4,"tradeTurnover":6228.6596,"open":13124.7},{"amount":0.578,"high":13383.8,"vol":578,"low":13049.1,"count":137,"id":1603594800,"close":13259.0,"tradeTurnover":7629.3886,"open":13049.1},{"amount":0.47,"high":13369.0,"vol":470,"low":13216.0,"count":122,"id":1603598400,"close":13243.4,"tradeTurnover":6247.955,"open":13277.0},{"amount":0.61,"high":13353.3,"vol":610,"low":13010.1,"count":134,"id":1603602000,"close":13017.3,"tradeTurnover":8048.8598,"open":13285.3},{"amount":0.486,"high":13105.7,"vol":486,"low":13018.2,"count":118,"id":1603605600,"close":13060.3,"tradeTurnover":6344.1474,"open":13022.5},{"amount":0.464,"high":13112.1,"vol":464,"low":13022.0,"count":120,"id":1603609200,"close":13078.1,"tradeTurnover":6061.5416,"open":13048.5},{"amount":0.464,"high":13091.0,"vol":464,"low":13017.2,"count":120,"id":1603612800,"close":13046.0,"tradeTurnover":6055.3734,"open":13077.2},{"amount":0.478,"high":13084.0,"vol":478,"low":13014.2,"count":117,"id":1603616400,"close":13040.8,"tradeTurnover":6235.7882,"open":13065.1},{"amount":0.478,"high":13064.2,"vol":478,"low":13010.2,"count":125,"id":1603620000,"close":13028.5,"tradeTurnover":6232.2428,"open":13047.1},{"amount":0.534,"high":13061.5,"vol":534,"low":12852.9,"count":123,"id":1603623600,"close":12897.6,"tradeTurnover":6918.1226,"open":13061.5},{"amount":0.444,"high":13069.7,"vol":444,"low":12893.2,"count":117,"id":1603627200,"close":12964.3,"tradeTurnover":5755.8712,"open":12908.3},{"amount":0.498,"high":13071.9,"vol":498,"low":12891.8,"count":119,"id":1603630800,"close":12949.3,"tradeTurnover":6465.078,"open":13001.3},{"amount":0.468,"high":13077.7,"vol":468,"low":12900.0,"count":116,"id":1603634400,"close":12946.8,"tradeTurnover":6075.4554,"open":12975.8},{"amount":0.47,"high":13069.1,"vol":470,"low":12883.3,"count":119,"id":1603638000,"close":12883.3,"tradeTurnover":6097.1072,"open":12975.2},{"amount":0.482,"high":13067.9,"vol":482,"low":12877.5,"count":118,"id":1603641600,"close":12978.7,"tradeTurnover":6256.4472,"open":12916.2},{"amount":0.47,"high":13087.5,"vol":470,"low":12922.7,"count":117,"id":1603645200,"close":13004.4,"tradeTurnover":6108.3892,"open":13008.0},{"amount":0.468,"high":13067.6,"vol":468,"low":12893.6,"count":118,"id":1603648800,"close":12957.2,"tradeTurnover":6079.1484,"open":12972.8},{"amount":0.442,"high":13066.9,"vol":442,"low":12916.6,"count":118,"id":1603652400,"close":13021.8,"tradeTurnover":5746.5548,"open":12996.5},{"amount":0.508,"high":13081.5,"vol":508,"low":12944.9,"count":120,"id":1603656000,"close":12985.4,"tradeTurnover":6616.9872,"open":12992.9},{"amount":0.508,"high":13068.6,"vol":508,"low":12921.4,"count":122,"id":1603659600,"close":13011.2,"tradeTurnover":6614.816,"open":12999.9},{"amount":0.486,"high":13073.8,"vol":486,"low":12911.9,"count":121,"id":1603663200,"close":12959.4,"tradeTurnover":6320.907,"open":12979.6},{"amount":0.452,"high":13085.2,"vol":452,"low":12927.8,"count":113,"id":1603666800,"close":13032.1,"tradeTurnover":5878.6442,"open":12963.4},{"amount":0.482,"high":13076.7,"vol":482,"low":12918.3,"count":121,"id":1603670400,"close":13001.0,"tradeTurnover":6263.698,"open":12964.2},{"amount":0.478,"high":13096.4,"vol":478,"low":12991.2,"count":124,"id":1603674000,"close":13053.7,"tradeTurnover":6232.2328,"open":13040.0},{"amount":0.488,"high":13185.7,"vol":488,"low":12985.1,"count":121,"id":1603677600,"close":13064.4,"tradeTurnover":6387.534,"open":13060.6},{"amount":0.486,"high":13187.2,"vol":486,"low":12984.1,"count":135,"id":1603681200,"close":13092.8,"tradeTurnover":6369.0272,"open":13032.3},{"amount":0.51,"high":13181.6,"vol":510,"low":12962.3,"count":131,"id":1603684800,"close":13132.6,"tradeTurnover":6679.829,"open":13092.0},{"amount":0.506,"high":13205.3,"vol":506,"low":13025.3,"count":126,"id":1603688400,"close":13092.1,"tradeTurnover":6641.2128,"open":13129.2},{"amount":1.616,"high":13188.1,"vol":1616,"low":12989.8,"count":141,"id":1603692000,"close":13071.4,"tradeTurnover":21170.8224,"open":13121.8},{"amount":3.746,"high":13100.0,"vol":3746,"low":12965.2,"count":110,"id":1603695600,"close":13038.7,"tradeTurnover":48924.8902,"open":13061.0},{"amount":8.966,"high":13102.0,"vol":8966,"low":12852.8,"count":173,"id":1603699200,"close":13039.3,"tradeTurnover":116525.5534,"open":13030.9},{"amount":4.48,"high":13088.4,"vol":4480,"low":13039.8,"count":124,"id":1603702800,"close":13075.9,"tradeTurnover":58521.1714,"open":13047.1},{"amount":4.272,"high":13100.0,"vol":4272,"low":13060.2,"count":130,"id":1603706400,"close":13100.0,"tradeTurnover":55895.9778,"open":13072.1},{"amount":29.798,"high":13159.0,"vol":29798,"low":13100.0,"count":230,"id":1603710000,"close":13138.4,"tradeTurnover":391138.024,"open":13100.0},{"amount":5.154,"high":13200.0,"vol":5154,"low":13100.0,"count":188,"id":1603713600,"close":13149.8,"tradeTurnover":67694.652,"open":13138.8},{"amount":35.608,"high":13351.5,"vol":35608,"low":13133.1,"count":328,"id":1603717200,"close":13205.8,"tradeTurnover":472780.3394,"open":13150.0},{"amount":31.748,"high":13280.0,"vol":31748,"low":13144.1,"count":235,"id":1603720800,"close":13166.1,"tradeTurnover":418744.5588,"open":13203.0},{"amount":36.53,"high":13165.2,"vol":36530,"low":12903.8,"count":384,"id":1603724400,"close":12978.0,"tradeTurnover":476940.3296,"open":13159.0},{"amount":35.018,"high":13069.8,"vol":35018,"low":12850.5,"count":323,"id":1603728000,"close":12869.6,"tradeTurnover":453288.918,"open":12965.0},{"amount":92.628,"high":12941.5,"vol":92628,"low":12583.9,"count":560,"id":1603731600,"close":12873.8,"tradeTurnover":1185973.467,"open":12879.2},{"amount":4.302,"high":12954.5,"vol":4302,"low":12820.4,"count":128,"id":1603735200,"close":12946.8,"tradeTurnover":55481.0054,"open":12856.2},{"amount":13.83,"high":12953.5,"vol":13830,"low":12914.1,"count":118,"id":1603738800,"close":12953.4,"tradeTurnover":179112.1598,"open":12945.6},{"amount":17.172,"high":13007.5,"vol":17172,"low":12953.5,"count":132,"id":1603742400,"close":12983.4,"tradeTurnover":223230.2122,"open":12953.5},{"amount":3.212,"high":13007.5,"vol":3212,"low":12982.7,"count":59,"id":1603746000,"close":12993.8,"tradeTurnover":41767.8906,"open":12983.1},{"amount":1.504,"high":13007.5,"vol":1504,"low":12974.0,"count":74,"id":1603749600,"close":13007.5,"tradeTurnover":19543.3568,"open":13002.1},{"amount":3.454,"high":13061.2,"vol":3454,"low":13007.5,"count":101,"id":1603753200,"close":13033.7,"tradeTurnover":45001.601,"open":13007.5},{"amount":8.784,"high":13105.0,"vol":8784,"low":13028.3,"count":98,"id":1603756800,"close":13067.1,"tradeTurnover":114871.8246,"open":13029.2},{"amount":11.592,"high":13074.4,"vol":11592,"low":13051.5,"count":66,"id":1603760400,"close":13061.7,"tradeTurnover":151386.9038,"open":13074.3},{"amount":19.298,"high":13097.6,"vol":19298,"low":13040.1,"count":109,"id":1603764000,"close":13049.7,"tradeTurnover":252061.019,"open":13061.7},{"amount":22.992,"high":13080.0,"vol":22992,"low":13057.1,"count":69,"id":1603767600,"close":13070.4,"tradeTurnover":300453.9788,"open":13057.6},{"amount":14.396,"high":13175.0,"vol":14396,"low":13079.6,"count":59,"id":1603771200,"close":13103.3,"tradeTurnover":188461.9156,"open":13080.0},{"amount":5.058,"high":13121.3,"vol":5058,"low":13069.7,"count":44,"id":1603774800,"close":13073.6,"tradeTurnover":66201.3552,"open":13121.3},{"amount":9.106,"high":13149.0,"vol":9106,"low":13069.6,"count":107,"id":1603778400,"close":13103.4,"tradeTurnover":119104.8906,"open":13074.9},{"amount":73.95,"high":13169.8,"vol":73950,"low":12992.4,"count":305,"id":1603782000,"close":13130.0,"tradeTurnover":968195.155,"open":13103.3},{"amount":18.732,"high":13148.4,"vol":18732,"low":13044.0,"count":135,"id":1603785600,"close":13123.8,"tradeTurnover":245533.5448,"open":13135.1},{"amount":13.756,"high":13131.8,"vol":13756,"low":13075.7,"count":102,"id":1603789200,"close":13131.7,"tradeTurnover":180253.7708,"open":13115.5},{"amount":154.108,"high":13252.0,"vol":154108,"low":13063.4,"count":525,"id":1603792800,"close":13216.9,"tradeTurnover":2029983.656,"open":13134.8},{"amount":170.09,"high":13590.1,"vol":170090,"low":13213.5,"count":591,"id":1603796400,"close":13395.8,"tradeTurnover":2276279.742,"open":13218.8},{"amount":48.928,"high":13414.0,"vol":48928,"low":13331.7,"count":216,"id":1603800000,"close":13376.9,"tradeTurnover":654585.9108,"open":13395.9},{"amount":63.294,"high":13490.9,"vol":63294,"low":13329.8,"count":316,"id":1603803600,"close":13384.3,"tradeTurnover":848130.9212,"open":13376.5},{"amount":12.892,"high":13415.8,"vol":12892,"low":13344.8,"count":124,"id":1603807200,"close":13398.2,"tradeTurnover":172618.6864,"open":13392.6},{"amount":93.22,"high":13626.7,"vol":93220,"low":13398.2,"count":476,"id":1603810800,"close":13598.5,"tradeTurnover":1262695.5466,"open":13398.2},{"amount":85.45,"high":13639.9,"vol":85450,"low":13520.2,"count":435,"id":1603814400,"close":13639.9,"tradeTurnover":1161481.4136,"open":13595.8},{"amount":191.812,"high":13826.7,"vol":191812,"low":13589.0,"count":711,"id":1603818000,"close":13688.1,"tradeTurnover":2628428.3788,"open":13640.0},{"amount":65.434,"high":13745.0,"vol":65434,"low":13528.2,"count":410,"id":1603821600,"close":13630.1,"tradeTurnover":891541.8394,"open":13685.0},{"amount":5.788,"high":13659.8,"vol":5788,"low":13595.4,"count":65,"id":1603825200,"close":13637.1,"tradeTurnover":78836.2578,"open":13629.4},{"amount":163.104,"high":13805.1,"vol":163104,"low":13582.6,"count":537,"id":1603828800,"close":13616.6,"tradeTurnover":2234040.3544,"open":13644.4},{"amount":9.884,"high":13753.5,"vol":9884,"low":13609.8,"count":101,"id":1603832400,"close":13705.5,"tradeTurnover":135406.4752,"open":13609.8},{"amount":7.436,"high":13739.9,"vol":7436,"low":13658.2,"count":100,"id":1603836000,"close":13739.9,"tradeTurnover":101840.3508,"open":13705.4},{"amount":17.086,"high":13794.6,"vol":17086,"low":13582.6,"count":234,"id":1603839600,"close":13649.6,"tradeTurnover":233971.8448,"open":13739.9},{"amount":24.108,"high":13745.2,"vol":24108,"low":13618.8,"count":177,"id":1603843200,"close":13701.7,"tradeTurnover":330206.5694,"open":13645.9},{"amount":15.892,"high":13725.6,"vol":15892,"low":13647.9,"count":151,"id":1603846800,"close":13702.6,"tradeTurnover":217816.7008,"open":13702.1},{"amount":46.548,"high":13832.2,"vol":46548,"low":13680.2,"count":274,"id":1603850400,"close":13811.6,"tradeTurnover":640636.0352,"open":13701.7},{"amount":67.896,"high":13820.3,"vol":67896,"low":13717.5,"count":320,"id":1603854000,"close":13777.0,"tradeTurnover":935838.2238,"open":13818.5},{"amount":33.156,"high":13807.2,"vol":33156,"low":13710.0,"count":210,"id":1603857600,"close":13735.7,"tradeTurnover":455941.234,"open":13767.3},{"amount":32.076,"high":13753.9,"vol":32076,"low":13671.3,"count":198,"id":1603861200,"close":13715.8,"tradeTurnover":439612.64,"open":13735.5},{"amount":14.756,"high":13757.0,"vol":14756,"low":13694.9,"count":122,"id":1603864800,"close":13701.3,"tradeTurnover":202602.5164,"open":13715.9},{"amount":155.534,"high":13708.7,"vol":155534,"low":13550.0,"count":635,"id":1603868400,"close":13674.2,"tradeTurnover":2117935.0928,"open":13701.2},{"amount":29.846,"high":13691.7,"vol":29846,"low":13584.0,"count":240,"id":1603872000,"close":13691.7,"tradeTurnover":407073.1398,"open":13673.0},{"amount":104.542,"high":13707.5,"vol":104542,"low":13573.5,"count":377,"id":1603875600,"close":13587.1,"tradeTurnover":1425079.9344,"open":13689.3},{"amount":73.818,"high":13618.0,"vol":73818,"low":13504.7,"count":358,"id":1603879200,"close":13552.7,"tradeTurnover":1001666.0908,"open":13584.6},{"amount":176.544,"high":13565.4,"vol":176544,"low":13330.0,"count":1004,"id":1603882800,"close":13336.4,"tradeTurnover":2369166.1492,"open":13552.6},{"amount":289.73,"high":13385.0,"vol":289730,"low":13173.9,"count":968,"id":1603886400,"close":13300.3,"tradeTurnover":3846751.7166,"open":13331.5},{"amount":139.822,"high":13340.0,"vol":139822,"low":13122.9,"count":612,"id":1603890000,"close":13129.9,"tradeTurnover":1848876.932,"open":13300.2},{"amount":367.876,"high":13168.2,"vol":367876,"low":12915.9,"count":1168,"id":1603893600,"close":13082.2,"tradeTurnover":4802516.9818,"open":13123.4},{"amount":84.044,"high":13235.2,"vol":84044,"low":13052.3,"count":375,"id":1603897200,"close":13221.2,"tradeTurnover":1106883.1282,"open":13077.1},{"amount":29.566,"high":13218.7,"vol":29566,"low":13050.0,"count":244,"id":1603900800,"close":13145.1,"tradeTurnover":388697.4104,"open":13218.7},{"amount":53.336,"high":13204.9,"vol":53336,"low":13006.6,"count":299,"id":1603904400,"close":13176.7,"tradeTurnover":700385.2784,"open":13145.1},{"amount":34.164,"high":13219.6,"vol":34164,"low":13131.0,"count":218,"id":1603908000,"close":13196.5,"tradeTurnover":450210.5778,"open":13171.0},{"amount":22.158,"high":13237.4,"vol":22158,"low":13145.0,"count":185,"id":1603911600,"close":13154.9,"tradeTurnover":292020.0438,"open":13200.0},{"amount":4.548,"high":13211.8,"vol":4548,"low":13147.4,"count":75,"id":1603915200,"close":13198.1,"tradeTurnover":59991.1118,"open":13154.5},{"amount":3.52,"high":13196.5,"vol":3520,"low":13100.2,"count":68,"id":1603918800,"close":13190.1,"tradeTurnover":46175.428,"open":13193.5},{"amount":3.122,"high":13267.5,"vol":3122,"low":13185.4,"count":72,"id":1603922400,"close":13252.0,"tradeTurnover":41304.2018,"open":13185.4},{"amount":14.768,"high":13282.3,"vol":14768,"low":13235.9,"count":86,"id":1603926000,"close":13265.9,"tradeTurnover":195689.0764,"open":13242.1},{"amount":19.968,"high":13294.7,"vol":19968,"low":13237.4,"count":98,"id":1603929600,"close":13245.1,"tradeTurnover":264834.1944,"open":13253.9},{"amount":35.282,"high":13285.3,"vol":35282,"low":13166.3,"count":192,"id":1603933200,"close":13274.2,"tradeTurnover":465789.6302,"open":13244.6},{"amount":9.748,"high":13277.7,"vol":9748,"low":13212.2,"count":119,"id":1603936800,"close":13241.1,"tradeTurnover":129016.0684,"open":13275.9},{"amount":27.3,"high":13262.5,"vol":27300,"low":13174.6,"count":199,"id":1603940400,"close":13262.5,"tradeTurnover":360589.8982,"open":13237.1},{"amount":18.904,"high":13277.7,"vol":18904,"low":13229.5,"count":109,"id":1603944000,"close":13229.5,"tradeTurnover":250713.2812,"open":13269.1},{"amount":15.822,"high":13274.8,"vol":15822,"low":13228.5,"count":134,"id":1603947600,"close":13274.8,"tradeTurnover":209781.909,"open":13228.5},{"amount":91.246,"high":13323.0,"vol":91246,"low":13242.3,"count":294,"id":1603951200,"close":13255.0,"tradeTurnover":1211271.2788,"open":13274.8},{"amount":187.622,"high":13269.3,"vol":187622,"low":13123.1,"count":506,"id":1603954800,"close":13142.4,"tradeTurnover":2478299.7074,"open":13255.0},{"amount":69.532,"high":13182.4,"vol":69532,"low":13094.1,"count":226,"id":1603958400,"close":13124.8,"tradeTurnover":914157.2418,"open":13145.9},{"amount":23.184,"high":13197.1,"vol":23184,"low":13129.5,"count":141,"id":1603962000,"close":13183.7,"tradeTurnover":305485.9524,"open":13129.5},{"amount":121.146,"high":13187.5,"vol":121146,"low":13053.1,"count":442,"id":1603965600,"close":13105.2,"tradeTurnover":1590026.4416,"open":13184.8},{"amount":47.498,"high":13171.4,"vol":47498,"low":13060.1,"count":262,"id":1603969200,"close":13060.1,"tradeTurnover":623578.149,"open":13105.1},{"amount":126.552,"high":13145.8,"vol":126552,"low":12977.9,"count":481,"id":1603972800,"close":13131.8,"tradeTurnover":1652549.311,"open":13056.9},{"amount":100.482,"high":13237.2,"vol":100482,"low":13102.0,"count":325,"id":1603976400,"close":13230.0,"tradeTurnover":1326403.7206,"open":13131.7},{"amount":253.258,"high":13476.1,"vol":253258,"low":13231.0,"count":752,"id":1603980000,"close":13420.8,"tradeTurnover":3384941.438,"open":13231.0},{"amount":64.71,"high":13458.7,"vol":64710,"low":13358.7,"count":269,"id":1603983600,"close":13420.6,"tradeTurnover":869052.3804,"open":13416.0},{"amount":120.24,"high":13594.5,"vol":120240,"low":13391.8,"count":570,"id":1603987200,"close":13535.9,"tradeTurnover":1626567.8278,"open":13421.9}],"id":"","rep":"market.BTC-USDT.kline.60min","status":"ok"} +2024-01-18 11:13:18.053 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:39] - 请求 KLine 数据用户收到的原始数据:{"id":"","rep":"market.BTC-USDT.kline.60min","ts":1705547596956,"wsid":19750305,"status":"ok","data":[{"id":1603270800,"open":12198.0,"close":12196.7,"high":12300.0,"low":11715.8,"amount":0.276,"vol":276,"trade_turnover":3315.9104,"count":39},{"id":1603274400,"open":12196.7,"close":12277.9,"high":12289.9,"low":12111.0,"amount":0.198,"vol":198,"trade_turnover":2420.7728,"count":21},{"id":1603278000,"open":12111.0,"close":12000.0,"high":12277.9,"low":12000.0,"amount":0.012,"vol":12,"trade_turnover":145.2238,"count":5},{"id":1603281600,"open":12078.0,"close":12497.4,"high":12498.0,"low":12078.0,"amount":0.084,"vol":84,"trade_turnover":1040.0504,"count":12},{"id":1603285200,"open":12495.6,"close":12373.5,"high":12495.6,"low":12282.9,"amount":1.122,"vol":1122,"trade_turnover":13905.3124,"count":112},{"id":1603288800,"open":12412.9,"close":12689.9,"high":12807.6,"low":12358.1,"amount":5.29,"vol":5290,"trade_turnover":66852.128,"count":155},{"id":1603292400,"open":12692.8,"close":12701.9,"high":12778.7,"low":12573.2,"amount":1.174,"vol":1174,"trade_turnover":14907.367,"count":113},{"id":1603296000,"open":12679.7,"close":12835.9,"high":12920.9,"low":12624.8,"amount":1.156,"vol":1156,"trade_turnover":14802.449,"count":115},{"id":1603299600,"open":12848.3,"close":12754.2,"high":12908.3,"low":12687.5,"amount":1.12,"vol":1120,"trade_turnover":14345.7324,"count":115},{"id":1603303200,"open":12743.7,"close":12740.2,"high":12849.0,"low":12668.3,"amount":1.106,"vol":1106,"trade_turnover":14105.3504,"count":114},{"id":1603306800,"open":12729.5,"close":12650.3,"high":12843.1,"low":12597.2,"amount":1.032,"vol":1032,"trade_turnover":13125.4568,"count":112},{"id":1603310400,"open":12666.8,"close":12807.0,"high":12848.4,"low":12610.2,"amount":1.154,"vol":1154,"trade_turnover":14680.638,"count":116},{"id":1603314000,"open":12866.0,"close":12938.9,"high":13005.1,"low":12748.2,"amount":1.164,"vol":1164,"trade_turnover":14976.9366,"count":114},{"id":1603317600,"open":12921.0,"close":13122.0,"high":13211.2,"low":12865.7,"amount":1.174,"vol":1174,"trade_turnover":15285.2446,"count":114},{"id":1603321200,"open":13153.2,"close":12829.8,"high":13173.2,"low":12688.6,"amount":1.172,"vol":1172,"trade_turnover":15060.9938,"count":117},{"id":1603324800,"open":12793.1,"close":12885.9,"high":12988.1,"low":12764.4,"amount":1.17,"vol":1170,"trade_turnover":15046.2046,"count":117},{"id":1603328400,"open":12860.4,"close":12757.5,"high":12972.6,"low":12757.5,"amount":1.158,"vol":1158,"trade_turnover":14882.4656,"count":118},{"id":1603332000,"open":12824.1,"close":12788.8,"high":12848.0,"low":12729.0,"amount":1.124,"vol":1124,"trade_turnover":14368.7948,"count":115},{"id":1603335600,"open":12791.7,"close":12767.2,"high":12834.4,"low":12729.0,"amount":1.194,"vol":1194,"trade_turnover":15268.9298,"count":111},{"id":1603339200,"open":12729.0,"close":12762.2,"high":12778.3,"low":12729.0,"amount":1.152,"vol":1152,"trade_turnover":14695.4876,"count":115},{"id":1603342800,"open":12763.1,"close":12813.8,"high":12842.0,"low":12730.6,"amount":1.21,"vol":1210,"trade_turnover":15440.8162,"count":119},{"id":1603346400,"open":12795.0,"close":12729.1,"high":12795.0,"low":12728.0,"amount":1.188,"vol":1188,"trade_turnover":15128.0098,"count":123},{"id":1603350000,"open":12728.6,"close":12730.6,"high":12730.6,"low":12728.3,"amount":1.266,"vol":1266,"trade_turnover":16115.1306,"count":112},{"id":1603353600,"open":12730.3,"close":12770.1,"high":12921.5,"low":12729.9,"amount":1.35,"vol":1350,"trade_turnover":17233.7326,"count":127},{"id":1603357200,"open":12824.9,"close":12780.4,"high":12872.1,"low":12760.1,"amount":0.98,"vol":980,"trade_turnover":12553.9826,"count":99},{"id":1603360800,"open":12784.9,"close":12934.2,"high":13002.7,"low":12775.6,"amount":0.266,"vol":266,"trade_turnover":3415.023,"count":30},{"id":1603364400,"open":12977.0,"close":13045.0,"high":13057.0,"low":12886.6,"amount":1.004,"vol":1004,"trade_turnover":13020.8576,"count":117},{"id":1603368000,"open":12958.5,"close":12847.9,"high":12973.4,"low":12751.6,"amount":1.134,"vol":1134,"trade_turnover":14594.2752,"count":111},{"id":1603371600,"open":12882.7,"close":12931.0,"high":13000.8,"low":12743.0,"amount":1.152,"vol":1152,"trade_turnover":14877.7314,"count":114},{"id":1603375200,"open":12890.4,"close":12917.8,"high":12995.3,"low":12783.9,"amount":1.182,"vol":1182,"trade_turnover":15224.4716,"count":115},{"id":1603378800,"open":12918.8,"close":12953.0,"high":13031.2,"low":12817.9,"amount":1.176,"vol":1176,"trade_turnover":15197.208,"count":117},{"id":1603382400,"open":12923.1,"close":13055.6,"high":13100.2,"low":12865.6,"amount":1.146,"vol":1146,"trade_turnover":14851.9604,"count":119},{"id":1603386000,"open":12967.6,"close":13082.7,"high":13105.7,"low":12835.5,"amount":1.534,"vol":1534,"trade_turnover":19927.8288,"count":124},{"id":1603389600,"open":13020.4,"close":13016.4,"high":13115.0,"low":12938.7,"amount":1.268,"vol":1268,"trade_turnover":16505.4738,"count":117},{"id":1603393200,"open":13028.3,"close":12970.6,"high":13171.2,"low":12961.8,"amount":1.13,"vol":1130,"trade_turnover":14762.952,"count":112},{"id":1603396800,"open":13016.7,"close":13089.3,"high":13216.1,"low":12998.5,"amount":1.206,"vol":1206,"trade_turnover":15807.1226,"count":117},{"id":1603400400,"open":13136.0,"close":13092.0,"high":13203.7,"low":12932.9,"amount":1.332,"vol":1332,"trade_turnover":17423.4422,"count":114},{"id":1603404000,"open":13119.4,"close":13055.9,"high":13250.5,"low":12984.7,"amount":1.21,"vol":1210,"trade_turnover":15876.0632,"count":114},{"id":1603407600,"open":13059.4,"close":12890.4,"high":13126.5,"low":12857.2,"amount":1.286,"vol":1286,"trade_turnover":16688.422,"count":116},{"id":1603411200,"open":12929.7,"close":12892.2,"high":12994.0,"low":12751.6,"amount":1.502,"vol":1502,"trade_turnover":19331.1596,"count":131},{"id":1603414800,"open":12921.7,"close":12898.3,"high":13003.2,"low":12786.0,"amount":1.386,"vol":1386,"trade_turnover":17904.8902,"count":121},{"id":1603418400,"open":12951.6,"close":12975.1,"high":13054.0,"low":12800.7,"amount":1.416,"vol":1416,"trade_turnover":18306.6204,"count":122},{"id":1603422000,"open":12967.3,"close":12947.0,"high":13030.7,"low":12875.0,"amount":1.19,"vol":1190,"trade_turnover":15409.7984,"count":118},{"id":1603425600,"open":12925.2,"close":12852.0,"high":13047.3,"low":12832.8,"amount":1.022,"vol":1022,"trade_turnover":13214.4388,"count":127},{"id":1603429200,"open":12859.0,"close":12931.1,"high":12991.7,"low":12841.2,"amount":0.478,"vol":478,"trade_turnover":6180.2486,"count":118},{"id":1603432800,"open":12935.9,"close":12939.6,"high":13014.1,"low":12871.9,"amount":0.522,"vol":522,"trade_turnover":6759.0324,"count":132},{"id":1603436400,"open":12923.1,"close":12925.4,"high":12998.9,"low":12917.1,"amount":0.476,"vol":476,"trade_turnover":6163.3118,"count":118},{"id":1603440000,"open":12942.2,"close":12962.6,"high":13014.0,"low":12916.1,"amount":0.508,"vol":508,"trade_turnover":6585.3656,"count":122},{"id":1603443600,"open":12970.5,"close":12926.4,"high":13012.5,"low":12909.9,"amount":0.564,"vol":564,"trade_turnover":7308.8828,"count":124},{"id":1603447200,"open":13001.2,"close":13007.7,"high":13059.5,"low":12925.7,"amount":0.536,"vol":536,"trade_turnover":6957.8796,"count":124},{"id":1603450800,"open":13025.4,"close":12970.6,"high":13078.4,"low":12906.5,"amount":0.486,"vol":486,"trade_turnover":6326.1434,"count":122},{"id":1603454400,"open":12963.9,"close":12935.4,"high":13025.0,"low":12850.8,"amount":0.494,"vol":494,"trade_turnover":6396.0984,"count":117},{"id":1603458000,"open":12913.3,"close":12951.7,"high":13043.3,"low":12911.0,"amount":0.466,"vol":466,"trade_turnover":6049.1412,"count":117},{"id":1603461600,"open":12999.6,"close":12858.8,"high":13006.4,"low":12840.4,"amount":0.46,"vol":460,"trade_turnover":5941.815,"count":116},{"id":1603465200,"open":12885.7,"close":12881.9,"high":12932.9,"low":12826.5,"amount":0.492,"vol":492,"trade_turnover":6340.214,"count":117},{"id":1603468800,"open":12854.4,"close":12784.1,"high":12933.5,"low":12744.4,"amount":0.484,"vol":484,"trade_turnover":6205.4138,"count":123},{"id":1603472400,"open":12832.3,"close":12847.7,"high":12893.1,"low":12730.1,"amount":0.562,"vol":562,"trade_turnover":7218.9184,"count":152},{"id":1603476000,"open":12874.1,"close":12915.7,"high":12939.3,"low":12751.4,"amount":0.53,"vol":530,"trade_turnover":6825.7004,"count":128},{"id":1603479600,"open":12867.9,"close":12972.9,"high":12972.9,"low":12786.6,"amount":0.444,"vol":444,"trade_turnover":5727.7452,"count":117},{"id":1603483200,"open":12956.7,"close":12991.6,"high":13002.2,"low":12842.9,"amount":0.492,"vol":492,"trade_turnover":6375.1566,"count":116},{"id":1603486800,"open":13004.3,"close":12943.5,"high":13004.3,"low":12936.6,"amount":0.5,"vol":500,"trade_turnover":6485.468,"count":125},{"id":1603490400,"open":12923.6,"close":12989.2,"high":13010.3,"low":12884.7,"amount":0.492,"vol":492,"trade_turnover":6376.1492,"count":120},{"id":1603494000,"open":12974.9,"close":12884.6,"high":13024.4,"low":12884.6,"amount":0.51,"vol":510,"trade_turnover":6622.3406,"count":121},{"id":1603497600,"open":12973.7,"close":12953.9,"high":13018.3,"low":12811.1,"amount":0.488,"vol":488,"trade_turnover":6317.7938,"count":120},{"id":1603501200,"open":12927.5,"close":12934.2,"high":13018.1,"low":12872.8,"amount":0.482,"vol":482,"trade_turnover":6242.4178,"count":117},{"id":1603504800,"open":12971.9,"close":12989.1,"high":13003.9,"low":12903.3,"amount":0.484,"vol":484,"trade_turnover":6278.1756,"count":117},{"id":1603508400,"open":13000.1,"close":12975.9,"high":13013.4,"low":12938.3,"amount":0.474,"vol":474,"trade_turnover":6157.7096,"count":122},{"id":1603512000,"open":12989.7,"close":12963.3,"high":13009.4,"low":12905.5,"amount":0.526,"vol":526,"trade_turnover":6831.5658,"count":124},{"id":1603515600,"open":12910.5,"close":12989.7,"high":13041.8,"low":12875.3,"amount":0.522,"vol":522,"trade_turnover":6768.8994,"count":127},{"id":1603519200,"open":12994.7,"close":13003.6,"high":13058.1,"low":12908.8,"amount":0.49,"vol":490,"trade_turnover":6370.5714,"count":120},{"id":1603522800,"open":13011.9,"close":13004.2,"high":13037.8,"low":12981.7,"amount":0.478,"vol":478,"trade_turnover":6218.9722,"count":120},{"id":1603526400,"open":13003.0,"close":12998.2,"high":13030.6,"low":12899.4,"amount":0.52,"vol":520,"trade_turnover":6754.958,"count":124},{"id":1603530000,"open":12998.2,"close":12990.6,"high":13020.3,"low":12893.6,"amount":0.454,"vol":454,"trade_turnover":5891.0574,"count":115},{"id":1603533600,"open":12996.4,"close":13030.1,"high":13059.1,"low":12913.2,"amount":0.502,"vol":502,"trade_turnover":6525.9004,"count":124},{"id":1603537200,"open":12988.4,"close":13033.2,"high":13068.3,"low":12940.2,"amount":0.468,"vol":468,"trade_turnover":6091.0376,"count":119},{"id":1603540800,"open":13035.3,"close":13006.5,"high":13071.8,"low":12978.9,"amount":0.468,"vol":468,"trade_turnover":6102.5902,"count":123},{"id":1603544400,"open":13038.8,"close":12985.9,"high":13066.7,"low":12928.1,"amount":0.534,"vol":534,"trade_turnover":6950.4268,"count":123},{"id":1603548000,"open":12986.3,"close":13042.0,"high":13100.1,"low":12960.5,"amount":0.47,"vol":470,"trade_turnover":6124.2178,"count":100},{"id":1603551600,"open":13038.4,"close":13102.2,"high":13196.5,"low":13038.4,"amount":0.456,"vol":456,"trade_turnover":5989.6362,"count":120},{"id":1603555200,"open":13136.8,"close":13052.7,"high":13176.6,"low":12984.6,"amount":0.458,"vol":458,"trade_turnover":5976.331,"count":121},{"id":1603558800,"open":13006.2,"close":13177.8,"high":13177.8,"low":13003.2,"amount":0.452,"vol":452,"trade_turnover":5911.7058,"count":118},{"id":1603562400,"open":13127.7,"close":13080.8,"high":13170.7,"low":13023.0,"amount":0.468,"vol":468,"trade_turnover":6122.375,"count":119},{"id":1603566000,"open":13040.7,"close":13148.4,"high":13179.3,"low":13014.2,"amount":0.468,"vol":468,"trade_turnover":6126.4278,"count":120},{"id":1603569600,"open":13073.5,"close":13090.1,"high":13179.6,"low":12992.5,"amount":0.47,"vol":470,"trade_turnover":6151.4758,"count":119},{"id":1603573200,"open":13035.4,"close":12993.9,"high":13148.7,"low":12980.7,"amount":0.458,"vol":458,"trade_turnover":5981.071,"count":117},{"id":1603576800,"open":13040.7,"close":13041.1,"high":13112.1,"low":12975.6,"amount":0.478,"vol":478,"trade_turnover":6225.4216,"count":118},{"id":1603580400,"open":13012.6,"close":13184.3,"high":13184.3,"low":13009.3,"amount":0.472,"vol":472,"trade_turnover":6173.4244,"count":118},{"id":1603584000,"open":13080.8,"close":13154.3,"high":13170.4,"low":13007.7,"amount":0.46,"vol":460,"trade_turnover":6024.09,"count":115},{"id":1603587600,"open":13092.0,"close":13196.1,"high":13196.8,"low":13024.0,"amount":0.398,"vol":398,"trade_turnover":5217.5364,"count":102},{"id":1603591200,"open":13124.7,"close":13082.4,"high":13175.1,"low":13035.0,"amount":0.476,"vol":476,"trade_turnover":6228.6596,"count":120},{"id":1603594800,"open":13049.1,"close":13259.0,"high":13383.8,"low":13049.1,"amount":0.578,"vol":578,"trade_turnover":7629.3886,"count":137},{"id":1603598400,"open":13277.0,"close":13243.4,"high":13369.0,"low":13216.0,"amount":0.47,"vol":470,"trade_turnover":6247.955,"count":122},{"id":1603602000,"open":13285.3,"close":13017.3,"high":13353.3,"low":13010.1,"amount":0.61,"vol":610,"trade_turnover":8048.8598,"count":134},{"id":1603605600,"open":13022.5,"close":13060.3,"high":13105.7,"low":13018.2,"amount":0.486,"vol":486,"trade_turnover":6344.1474,"count":118},{"id":1603609200,"open":13048.5,"close":13078.1,"high":13112.1,"low":13022.0,"amount":0.464,"vol":464,"trade_turnover":6061.5416,"count":120},{"id":1603612800,"open":13077.2,"close":13046.0,"high":13091.0,"low":13017.2,"amount":0.464,"vol":464,"trade_turnover":6055.3734,"count":120},{"id":1603616400,"open":13065.1,"close":13040.8,"high":13084.0,"low":13014.2,"amount":0.478,"vol":478,"trade_turnover":6235.7882,"count":117},{"id":1603620000,"open":13047.1,"close":13028.5,"high":13064.2,"low":13010.2,"amount":0.478,"vol":478,"trade_turnover":6232.2428,"count":125},{"id":1603623600,"open":13061.5,"close":12897.6,"high":13061.5,"low":12852.9,"amount":0.534,"vol":534,"trade_turnover":6918.1226,"count":123},{"id":1603627200,"open":12908.3,"close":12964.3,"high":13069.7,"low":12893.2,"amount":0.444,"vol":444,"trade_turnover":5755.8712,"count":117},{"id":1603630800,"open":13001.3,"close":12949.3,"high":13071.9,"low":12891.8,"amount":0.498,"vol":498,"trade_turnover":6465.078,"count":119},{"id":1603634400,"open":12975.8,"close":12946.8,"high":13077.7,"low":12900.0,"amount":0.468,"vol":468,"trade_turnover":6075.4554,"count":116},{"id":1603638000,"open":12975.2,"close":12883.3,"high":13069.1,"low":12883.3,"amount":0.47,"vol":470,"trade_turnover":6097.1072,"count":119},{"id":1603641600,"open":12916.2,"close":12978.7,"high":13067.9,"low":12877.5,"amount":0.482,"vol":482,"trade_turnover":6256.4472,"count":118},{"id":1603645200,"open":13008.0,"close":13004.4,"high":13087.5,"low":12922.7,"amount":0.47,"vol":470,"trade_turnover":6108.3892,"count":117},{"id":1603648800,"open":12972.8,"close":12957.2,"high":13067.6,"low":12893.6,"amount":0.468,"vol":468,"trade_turnover":6079.1484,"count":118},{"id":1603652400,"open":12996.5,"close":13021.8,"high":13066.9,"low":12916.6,"amount":0.442,"vol":442,"trade_turnover":5746.5548,"count":118},{"id":1603656000,"open":12992.9,"close":12985.4,"high":13081.5,"low":12944.9,"amount":0.508,"vol":508,"trade_turnover":6616.9872,"count":120},{"id":1603659600,"open":12999.9,"close":13011.2,"high":13068.6,"low":12921.4,"amount":0.508,"vol":508,"trade_turnover":6614.816,"count":122},{"id":1603663200,"open":12979.6,"close":12959.4,"high":13073.8,"low":12911.9,"amount":0.486,"vol":486,"trade_turnover":6320.907,"count":121},{"id":1603666800,"open":12963.4,"close":13032.1,"high":13085.2,"low":12927.8,"amount":0.452,"vol":452,"trade_turnover":5878.6442,"count":113},{"id":1603670400,"open":12964.2,"close":13001.0,"high":13076.7,"low":12918.3,"amount":0.482,"vol":482,"trade_turnover":6263.698,"count":121},{"id":1603674000,"open":13040.0,"close":13053.7,"high":13096.4,"low":12991.2,"amount":0.478,"vol":478,"trade_turnover":6232.2328,"count":124},{"id":1603677600,"open":13060.6,"close":13064.4,"high":13185.7,"low":12985.1,"amount":0.488,"vol":488,"trade_turnover":6387.534,"count":121},{"id":1603681200,"open":13032.3,"close":13092.8,"high":13187.2,"low":12984.1,"amount":0.486,"vol":486,"trade_turnover":6369.0272,"count":135},{"id":1603684800,"open":13092.0,"close":13132.6,"high":13181.6,"low":12962.3,"amount":0.51,"vol":510,"trade_turnover":6679.829,"count":131},{"id":1603688400,"open":13129.2,"close":13092.1,"high":13205.3,"low":13025.3,"amount":0.506,"vol":506,"trade_turnover":6641.2128,"count":126},{"id":1603692000,"open":13121.8,"close":13071.4,"high":13188.1,"low":12989.8,"amount":1.616,"vol":1616,"trade_turnover":21170.8224,"count":141},{"id":1603695600,"open":13061.0,"close":13038.7,"high":13100.0,"low":12965.2,"amount":3.746,"vol":3746,"trade_turnover":48924.8902,"count":110},{"id":1603699200,"open":13030.9,"close":13039.3,"high":13102.0,"low":12852.8,"amount":8.966,"vol":8966,"trade_turnover":116525.5534,"count":173},{"id":1603702800,"open":13047.1,"close":13075.9,"high":13088.4,"low":13039.8,"amount":4.48,"vol":4480,"trade_turnover":58521.1714,"count":124},{"id":1603706400,"open":13072.1,"close":13100.0,"high":13100.0,"low":13060.2,"amount":4.272,"vol":4272,"trade_turnover":55895.9778,"count":130},{"id":1603710000,"open":13100.0,"close":13138.4,"high":13159.0,"low":13100.0,"amount":29.798,"vol":29798,"trade_turnover":391138.024,"count":230},{"id":1603713600,"open":13138.8,"close":13149.8,"high":13200.0,"low":13100.0,"amount":5.154,"vol":5154,"trade_turnover":67694.652,"count":188},{"id":1603717200,"open":13150.0,"close":13205.8,"high":13351.5,"low":13133.1,"amount":35.608,"vol":35608,"trade_turnover":472780.3394,"count":328},{"id":1603720800,"open":13203.0,"close":13166.1,"high":13280.0,"low":13144.1,"amount":31.748,"vol":31748,"trade_turnover":418744.5588,"count":235},{"id":1603724400,"open":13159.0,"close":12978.0,"high":13165.2,"low":12903.8,"amount":36.53,"vol":36530,"trade_turnover":476940.3296,"count":384},{"id":1603728000,"open":12965.0,"close":12869.6,"high":13069.8,"low":12850.5,"amount":35.018,"vol":35018,"trade_turnover":453288.918,"count":323},{"id":1603731600,"open":12879.2,"close":12873.8,"high":12941.5,"low":12583.9,"amount":92.628,"vol":92628,"trade_turnover":1185973.467,"count":560},{"id":1603735200,"open":12856.2,"close":12946.8,"high":12954.5,"low":12820.4,"amount":4.302,"vol":4302,"trade_turnover":55481.0054,"count":128},{"id":1603738800,"open":12945.6,"close":12953.4,"high":12953.5,"low":12914.1,"amount":13.83,"vol":13830,"trade_turnover":179112.1598,"count":118},{"id":1603742400,"open":12953.5,"close":12983.4,"high":13007.5,"low":12953.5,"amount":17.172,"vol":17172,"trade_turnover":223230.2122,"count":132},{"id":1603746000,"open":12983.1,"close":12993.8,"high":13007.5,"low":12982.7,"amount":3.212,"vol":3212,"trade_turnover":41767.8906,"count":59},{"id":1603749600,"open":13002.1,"close":13007.5,"high":13007.5,"low":12974.0,"amount":1.504,"vol":1504,"trade_turnover":19543.3568,"count":74},{"id":1603753200,"open":13007.5,"close":13033.7,"high":13061.2,"low":13007.5,"amount":3.454,"vol":3454,"trade_turnover":45001.601,"count":101},{"id":1603756800,"open":13029.2,"close":13067.1,"high":13105.0,"low":13028.3,"amount":8.784,"vol":8784,"trade_turnover":114871.8246,"count":98},{"id":1603760400,"open":13074.3,"close":13061.7,"high":13074.4,"low":13051.5,"amount":11.592,"vol":11592,"trade_turnover":151386.9038,"count":66},{"id":1603764000,"open":13061.7,"close":13049.7,"high":13097.6,"low":13040.1,"amount":19.298,"vol":19298,"trade_turnover":252061.019,"count":109},{"id":1603767600,"open":13057.6,"close":13070.4,"high":13080.0,"low":13057.1,"amount":22.992,"vol":22992,"trade_turnover":300453.9788,"count":69},{"id":1603771200,"open":13080.0,"close":13103.3,"high":13175.0,"low":13079.6,"amount":14.396,"vol":14396,"trade_turnover":188461.9156,"count":59},{"id":1603774800,"open":13121.3,"close":13073.6,"high":13121.3,"low":13069.7,"amount":5.058,"vol":5058,"trade_turnover":66201.3552,"count":44},{"id":1603778400,"open":13074.9,"close":13103.4,"high":13149.0,"low":13069.6,"amount":9.106,"vol":9106,"trade_turnover":119104.8906,"count":107},{"id":1603782000,"open":13103.3,"close":13130.0,"high":13169.8,"low":12992.4,"amount":73.95,"vol":73950,"trade_turnover":968195.155,"count":305},{"id":1603785600,"open":13135.1,"close":13123.8,"high":13148.4,"low":13044.0,"amount":18.732,"vol":18732,"trade_turnover":245533.5448,"count":135},{"id":1603789200,"open":13115.5,"close":13131.7,"high":13131.8,"low":13075.7,"amount":13.756,"vol":13756,"trade_turnover":180253.7708,"count":102},{"id":1603792800,"open":13134.8,"close":13216.9,"high":13252.0,"low":13063.4,"amount":154.108,"vol":154108,"trade_turnover":2029983.656,"count":525},{"id":1603796400,"open":13218.8,"close":13395.8,"high":13590.1,"low":13213.5,"amount":170.09,"vol":170090,"trade_turnover":2276279.742,"count":591},{"id":1603800000,"open":13395.9,"close":13376.9,"high":13414.0,"low":13331.7,"amount":48.928,"vol":48928,"trade_turnover":654585.9108,"count":216},{"id":1603803600,"open":13376.5,"close":13384.3,"high":13490.9,"low":13329.8,"amount":63.294,"vol":63294,"trade_turnover":848130.9212,"count":316},{"id":1603807200,"open":13392.6,"close":13398.2,"high":13415.8,"low":13344.8,"amount":12.892,"vol":12892,"trade_turnover":172618.6864,"count":124},{"id":1603810800,"open":13398.2,"close":13598.5,"high":13626.7,"low":13398.2,"amount":93.22,"vol":93220,"trade_turnover":1262695.5466,"count":476},{"id":1603814400,"open":13595.8,"close":13639.9,"high":13639.9,"low":13520.2,"amount":85.45,"vol":85450,"trade_turnover":1161481.4136,"count":435},{"id":1603818000,"open":13640.0,"close":13688.1,"high":13826.7,"low":13589.0,"amount":191.812,"vol":191812,"trade_turnover":2628428.3788,"count":711},{"id":1603821600,"open":13685.0,"close":13630.1,"high":13745.0,"low":13528.2,"amount":65.434,"vol":65434,"trade_turnover":891541.8394,"count":410},{"id":1603825200,"open":13629.4,"close":13637.1,"high":13659.8,"low":13595.4,"amount":5.788,"vol":5788,"trade_turnover":78836.2578,"count":65},{"id":1603828800,"open":13644.4,"close":13616.6,"high":13805.1,"low":13582.6,"amount":163.104,"vol":163104,"trade_turnover":2234040.3544,"count":537},{"id":1603832400,"open":13609.8,"close":13705.5,"high":13753.5,"low":13609.8,"amount":9.884,"vol":9884,"trade_turnover":135406.4752,"count":101},{"id":1603836000,"open":13705.4,"close":13739.9,"high":13739.9,"low":13658.2,"amount":7.436,"vol":7436,"trade_turnover":101840.3508,"count":100},{"id":1603839600,"open":13739.9,"close":13649.6,"high":13794.6,"low":13582.6,"amount":17.086,"vol":17086,"trade_turnover":233971.8448,"count":234},{"id":1603843200,"open":13645.9,"close":13701.7,"high":13745.2,"low":13618.8,"amount":24.108,"vol":24108,"trade_turnover":330206.5694,"count":177},{"id":1603846800,"open":13702.1,"close":13702.6,"high":13725.6,"low":13647.9,"amount":15.892,"vol":15892,"trade_turnover":217816.7008,"count":151},{"id":1603850400,"open":13701.7,"close":13811.6,"high":13832.2,"low":13680.2,"amount":46.548,"vol":46548,"trade_turnover":640636.0352,"count":274},{"id":1603854000,"open":13818.5,"close":13777.0,"high":13820.3,"low":13717.5,"amount":67.896,"vol":67896,"trade_turnover":935838.2238,"count":320},{"id":1603857600,"open":13767.3,"close":13735.7,"high":13807.2,"low":13710.0,"amount":33.156,"vol":33156,"trade_turnover":455941.234,"count":210},{"id":1603861200,"open":13735.5,"close":13715.8,"high":13753.9,"low":13671.3,"amount":32.076,"vol":32076,"trade_turnover":439612.64,"count":198},{"id":1603864800,"open":13715.9,"close":13701.3,"high":13757.0,"low":13694.9,"amount":14.756,"vol":14756,"trade_turnover":202602.5164,"count":122},{"id":1603868400,"open":13701.2,"close":13674.2,"high":13708.7,"low":13550.0,"amount":155.534,"vol":155534,"trade_turnover":2117935.0928,"count":635},{"id":1603872000,"open":13673.0,"close":13691.7,"high":13691.7,"low":13584.0,"amount":29.846,"vol":29846,"trade_turnover":407073.1398,"count":240},{"id":1603875600,"open":13689.3,"close":13587.1,"high":13707.5,"low":13573.5,"amount":104.542,"vol":104542,"trade_turnover":1425079.9344,"count":377},{"id":1603879200,"open":13584.6,"close":13552.7,"high":13618.0,"low":13504.7,"amount":73.818,"vol":73818,"trade_turnover":1001666.0908,"count":358},{"id":1603882800,"open":13552.6,"close":13336.4,"high":13565.4,"low":13330.0,"amount":176.544,"vol":176544,"trade_turnover":2369166.1492,"count":1004},{"id":1603886400,"open":13331.5,"close":13300.3,"high":13385.0,"low":13173.9,"amount":289.73,"vol":289730,"trade_turnover":3846751.7166,"count":968},{"id":1603890000,"open":13300.2,"close":13129.9,"high":13340.0,"low":13122.9,"amount":139.822,"vol":139822,"trade_turnover":1848876.932,"count":612},{"id":1603893600,"open":13123.4,"close":13082.2,"high":13168.2,"low":12915.9,"amount":367.876,"vol":367876,"trade_turnover":4802516.9818,"count":1168},{"id":1603897200,"open":13077.1,"close":13221.2,"high":13235.2,"low":13052.3,"amount":84.044,"vol":84044,"trade_turnover":1106883.1282,"count":375},{"id":1603900800,"open":13218.7,"close":13145.1,"high":13218.7,"low":13050.0,"amount":29.566,"vol":29566,"trade_turnover":388697.4104,"count":244},{"id":1603904400,"open":13145.1,"close":13176.7,"high":13204.9,"low":13006.6,"amount":53.336,"vol":53336,"trade_turnover":700385.2784,"count":299},{"id":1603908000,"open":13171.0,"close":13196.5,"high":13219.6,"low":13131.0,"amount":34.164,"vol":34164,"trade_turnover":450210.5778,"count":218},{"id":1603911600,"open":13200.0,"close":13154.9,"high":13237.4,"low":13145.0,"amount":22.158,"vol":22158,"trade_turnover":292020.0438,"count":185},{"id":1603915200,"open":13154.5,"close":13198.1,"high":13211.8,"low":13147.4,"amount":4.548,"vol":4548,"trade_turnover":59991.1118,"count":75},{"id":1603918800,"open":13193.5,"close":13190.1,"high":13196.5,"low":13100.2,"amount":3.52,"vol":3520,"trade_turnover":46175.428,"count":68},{"id":1603922400,"open":13185.4,"close":13252.0,"high":13267.5,"low":13185.4,"amount":3.122,"vol":3122,"trade_turnover":41304.2018,"count":72},{"id":1603926000,"open":13242.1,"close":13265.9,"high":13282.3,"low":13235.9,"amount":14.768,"vol":14768,"trade_turnover":195689.0764,"count":86},{"id":1603929600,"open":13253.9,"close":13245.1,"high":13294.7,"low":13237.4,"amount":19.968,"vol":19968,"trade_turnover":264834.1944,"count":98},{"id":1603933200,"open":13244.6,"close":13274.2,"high":13285.3,"low":13166.3,"amount":35.282,"vol":35282,"trade_turnover":465789.6302,"count":192},{"id":1603936800,"open":13275.9,"close":13241.1,"high":13277.7,"low":13212.2,"amount":9.748,"vol":9748,"trade_turnover":129016.0684,"count":119},{"id":1603940400,"open":13237.1,"close":13262.5,"high":13262.5,"low":13174.6,"amount":27.3,"vol":27300,"trade_turnover":360589.8982,"count":199},{"id":1603944000,"open":13269.1,"close":13229.5,"high":13277.7,"low":13229.5,"amount":18.904,"vol":18904,"trade_turnover":250713.2812,"count":109},{"id":1603947600,"open":13228.5,"close":13274.8,"high":13274.8,"low":13228.5,"amount":15.822,"vol":15822,"trade_turnover":209781.909,"count":134},{"id":1603951200,"open":13274.8,"close":13255.0,"high":13323.0,"low":13242.3,"amount":91.246,"vol":91246,"trade_turnover":1211271.2788,"count":294},{"id":1603954800,"open":13255.0,"close":13142.4,"high":13269.3,"low":13123.1,"amount":187.622,"vol":187622,"trade_turnover":2478299.7074,"count":506},{"id":1603958400,"open":13145.9,"close":13124.8,"high":13182.4,"low":13094.1,"amount":69.532,"vol":69532,"trade_turnover":914157.2418,"count":226},{"id":1603962000,"open":13129.5,"close":13183.7,"high":13197.1,"low":13129.5,"amount":23.184,"vol":23184,"trade_turnover":305485.9524,"count":141},{"id":1603965600,"open":13184.8,"close":13105.2,"high":13187.5,"low":13053.1,"amount":121.146,"vol":121146,"trade_turnover":1590026.4416,"count":442},{"id":1603969200,"open":13105.1,"close":13060.1,"high":13171.4,"low":13060.1,"amount":47.498,"vol":47498,"trade_turnover":623578.149,"count":262},{"id":1603972800,"open":13056.9,"close":13131.8,"high":13145.8,"low":12977.9,"amount":126.552,"vol":126552,"trade_turnover":1652549.311,"count":481},{"id":1603976400,"open":13131.7,"close":13230.0,"high":13237.2,"low":13102.0,"amount":100.482,"vol":100482,"trade_turnover":1326403.7206,"count":325},{"id":1603980000,"open":13231.0,"close":13420.8,"high":13476.1,"low":13231.0,"amount":253.258,"vol":253258,"trade_turnover":3384941.438,"count":752},{"id":1603983600,"open":13416.0,"close":13420.6,"high":13458.7,"low":13358.7,"amount":64.71,"vol":64710,"trade_turnover":869052.3804,"count":269},{"id":1603987200,"open":13421.9,"close":13535.9,"high":13594.5,"low":13391.8,"amount":120.24,"vol":120240,"trade_turnover":1626567.8278,"count":570}]} +2024-01-18 11:13:18.055 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:41] - 请求 KLine 数据解析之后的数据为:{"wsid":19750305,"data":[{"amount":0.276,"high":12300.0,"vol":276,"low":11715.8,"count":39,"id":1603270800,"close":12196.7,"tradeTurnover":3315.9104,"open":12198.0},{"amount":0.198,"high":12289.9,"vol":198,"low":12111.0,"count":21,"id":1603274400,"close":12277.9,"tradeTurnover":2420.7728,"open":12196.7},{"amount":0.012,"high":12277.9,"vol":12,"low":12000.0,"count":5,"id":1603278000,"close":12000.0,"tradeTurnover":145.2238,"open":12111.0},{"amount":0.084,"high":12498.0,"vol":84,"low":12078.0,"count":12,"id":1603281600,"close":12497.4,"tradeTurnover":1040.0504,"open":12078.0},{"amount":1.122,"high":12495.6,"vol":1122,"low":12282.9,"count":112,"id":1603285200,"close":12373.5,"tradeTurnover":13905.3124,"open":12495.6},{"amount":5.29,"high":12807.6,"vol":5290,"low":12358.1,"count":155,"id":1603288800,"close":12689.9,"tradeTurnover":66852.128,"open":12412.9},{"amount":1.174,"high":12778.7,"vol":1174,"low":12573.2,"count":113,"id":1603292400,"close":12701.9,"tradeTurnover":14907.367,"open":12692.8},{"amount":1.156,"high":12920.9,"vol":1156,"low":12624.8,"count":115,"id":1603296000,"close":12835.9,"tradeTurnover":14802.449,"open":12679.7},{"amount":1.12,"high":12908.3,"vol":1120,"low":12687.5,"count":115,"id":1603299600,"close":12754.2,"tradeTurnover":14345.7324,"open":12848.3},{"amount":1.106,"high":12849.0,"vol":1106,"low":12668.3,"count":114,"id":1603303200,"close":12740.2,"tradeTurnover":14105.3504,"open":12743.7},{"amount":1.032,"high":12843.1,"vol":1032,"low":12597.2,"count":112,"id":1603306800,"close":12650.3,"tradeTurnover":13125.4568,"open":12729.5},{"amount":1.154,"high":12848.4,"vol":1154,"low":12610.2,"count":116,"id":1603310400,"close":12807.0,"tradeTurnover":14680.638,"open":12666.8},{"amount":1.164,"high":13005.1,"vol":1164,"low":12748.2,"count":114,"id":1603314000,"close":12938.9,"tradeTurnover":14976.9366,"open":12866.0},{"amount":1.174,"high":13211.2,"vol":1174,"low":12865.7,"count":114,"id":1603317600,"close":13122.0,"tradeTurnover":15285.2446,"open":12921.0},{"amount":1.172,"high":13173.2,"vol":1172,"low":12688.6,"count":117,"id":1603321200,"close":12829.8,"tradeTurnover":15060.9938,"open":13153.2},{"amount":1.17,"high":12988.1,"vol":1170,"low":12764.4,"count":117,"id":1603324800,"close":12885.9,"tradeTurnover":15046.2046,"open":12793.1},{"amount":1.158,"high":12972.6,"vol":1158,"low":12757.5,"count":118,"id":1603328400,"close":12757.5,"tradeTurnover":14882.4656,"open":12860.4},{"amount":1.124,"high":12848.0,"vol":1124,"low":12729.0,"count":115,"id":1603332000,"close":12788.8,"tradeTurnover":14368.7948,"open":12824.1},{"amount":1.194,"high":12834.4,"vol":1194,"low":12729.0,"count":111,"id":1603335600,"close":12767.2,"tradeTurnover":15268.9298,"open":12791.7},{"amount":1.152,"high":12778.3,"vol":1152,"low":12729.0,"count":115,"id":1603339200,"close":12762.2,"tradeTurnover":14695.4876,"open":12729.0},{"amount":1.21,"high":12842.0,"vol":1210,"low":12730.6,"count":119,"id":1603342800,"close":12813.8,"tradeTurnover":15440.8162,"open":12763.1},{"amount":1.188,"high":12795.0,"vol":1188,"low":12728.0,"count":123,"id":1603346400,"close":12729.1,"tradeTurnover":15128.0098,"open":12795.0},{"amount":1.266,"high":12730.6,"vol":1266,"low":12728.3,"count":112,"id":1603350000,"close":12730.6,"tradeTurnover":16115.1306,"open":12728.6},{"amount":1.35,"high":12921.5,"vol":1350,"low":12729.9,"count":127,"id":1603353600,"close":12770.1,"tradeTurnover":17233.7326,"open":12730.3},{"amount":0.98,"high":12872.1,"vol":980,"low":12760.1,"count":99,"id":1603357200,"close":12780.4,"tradeTurnover":12553.9826,"open":12824.9},{"amount":0.266,"high":13002.7,"vol":266,"low":12775.6,"count":30,"id":1603360800,"close":12934.2,"tradeTurnover":3415.023,"open":12784.9},{"amount":1.004,"high":13057.0,"vol":1004,"low":12886.6,"count":117,"id":1603364400,"close":13045.0,"tradeTurnover":13020.8576,"open":12977.0},{"amount":1.134,"high":12973.4,"vol":1134,"low":12751.6,"count":111,"id":1603368000,"close":12847.9,"tradeTurnover":14594.2752,"open":12958.5},{"amount":1.152,"high":13000.8,"vol":1152,"low":12743.0,"count":114,"id":1603371600,"close":12931.0,"tradeTurnover":14877.7314,"open":12882.7},{"amount":1.182,"high":12995.3,"vol":1182,"low":12783.9,"count":115,"id":1603375200,"close":12917.8,"tradeTurnover":15224.4716,"open":12890.4},{"amount":1.176,"high":13031.2,"vol":1176,"low":12817.9,"count":117,"id":1603378800,"close":12953.0,"tradeTurnover":15197.208,"open":12918.8},{"amount":1.146,"high":13100.2,"vol":1146,"low":12865.6,"count":119,"id":1603382400,"close":13055.6,"tradeTurnover":14851.9604,"open":12923.1},{"amount":1.534,"high":13105.7,"vol":1534,"low":12835.5,"count":124,"id":1603386000,"close":13082.7,"tradeTurnover":19927.8288,"open":12967.6},{"amount":1.268,"high":13115.0,"vol":1268,"low":12938.7,"count":117,"id":1603389600,"close":13016.4,"tradeTurnover":16505.4738,"open":13020.4},{"amount":1.13,"high":13171.2,"vol":1130,"low":12961.8,"count":112,"id":1603393200,"close":12970.6,"tradeTurnover":14762.952,"open":13028.3},{"amount":1.206,"high":13216.1,"vol":1206,"low":12998.5,"count":117,"id":1603396800,"close":13089.3,"tradeTurnover":15807.1226,"open":13016.7},{"amount":1.332,"high":13203.7,"vol":1332,"low":12932.9,"count":114,"id":1603400400,"close":13092.0,"tradeTurnover":17423.4422,"open":13136.0},{"amount":1.21,"high":13250.5,"vol":1210,"low":12984.7,"count":114,"id":1603404000,"close":13055.9,"tradeTurnover":15876.0632,"open":13119.4},{"amount":1.286,"high":13126.5,"vol":1286,"low":12857.2,"count":116,"id":1603407600,"close":12890.4,"tradeTurnover":16688.422,"open":13059.4},{"amount":1.502,"high":12994.0,"vol":1502,"low":12751.6,"count":131,"id":1603411200,"close":12892.2,"tradeTurnover":19331.1596,"open":12929.7},{"amount":1.386,"high":13003.2,"vol":1386,"low":12786.0,"count":121,"id":1603414800,"close":12898.3,"tradeTurnover":17904.8902,"open":12921.7},{"amount":1.416,"high":13054.0,"vol":1416,"low":12800.7,"count":122,"id":1603418400,"close":12975.1,"tradeTurnover":18306.6204,"open":12951.6},{"amount":1.19,"high":13030.7,"vol":1190,"low":12875.0,"count":118,"id":1603422000,"close":12947.0,"tradeTurnover":15409.7984,"open":12967.3},{"amount":1.022,"high":13047.3,"vol":1022,"low":12832.8,"count":127,"id":1603425600,"close":12852.0,"tradeTurnover":13214.4388,"open":12925.2},{"amount":0.478,"high":12991.7,"vol":478,"low":12841.2,"count":118,"id":1603429200,"close":12931.1,"tradeTurnover":6180.2486,"open":12859.0},{"amount":0.522,"high":13014.1,"vol":522,"low":12871.9,"count":132,"id":1603432800,"close":12939.6,"tradeTurnover":6759.0324,"open":12935.9},{"amount":0.476,"high":12998.9,"vol":476,"low":12917.1,"count":118,"id":1603436400,"close":12925.4,"tradeTurnover":6163.3118,"open":12923.1},{"amount":0.508,"high":13014.0,"vol":508,"low":12916.1,"count":122,"id":1603440000,"close":12962.6,"tradeTurnover":6585.3656,"open":12942.2},{"amount":0.564,"high":13012.5,"vol":564,"low":12909.9,"count":124,"id":1603443600,"close":12926.4,"tradeTurnover":7308.8828,"open":12970.5},{"amount":0.536,"high":13059.5,"vol":536,"low":12925.7,"count":124,"id":1603447200,"close":13007.7,"tradeTurnover":6957.8796,"open":13001.2},{"amount":0.486,"high":13078.4,"vol":486,"low":12906.5,"count":122,"id":1603450800,"close":12970.6,"tradeTurnover":6326.1434,"open":13025.4},{"amount":0.494,"high":13025.0,"vol":494,"low":12850.8,"count":117,"id":1603454400,"close":12935.4,"tradeTurnover":6396.0984,"open":12963.9},{"amount":0.466,"high":13043.3,"vol":466,"low":12911.0,"count":117,"id":1603458000,"close":12951.7,"tradeTurnover":6049.1412,"open":12913.3},{"amount":0.46,"high":13006.4,"vol":460,"low":12840.4,"count":116,"id":1603461600,"close":12858.8,"tradeTurnover":5941.815,"open":12999.6},{"amount":0.492,"high":12932.9,"vol":492,"low":12826.5,"count":117,"id":1603465200,"close":12881.9,"tradeTurnover":6340.214,"open":12885.7},{"amount":0.484,"high":12933.5,"vol":484,"low":12744.4,"count":123,"id":1603468800,"close":12784.1,"tradeTurnover":6205.4138,"open":12854.4},{"amount":0.562,"high":12893.1,"vol":562,"low":12730.1,"count":152,"id":1603472400,"close":12847.7,"tradeTurnover":7218.9184,"open":12832.3},{"amount":0.53,"high":12939.3,"vol":530,"low":12751.4,"count":128,"id":1603476000,"close":12915.7,"tradeTurnover":6825.7004,"open":12874.1},{"amount":0.444,"high":12972.9,"vol":444,"low":12786.6,"count":117,"id":1603479600,"close":12972.9,"tradeTurnover":5727.7452,"open":12867.9},{"amount":0.492,"high":13002.2,"vol":492,"low":12842.9,"count":116,"id":1603483200,"close":12991.6,"tradeTurnover":6375.1566,"open":12956.7},{"amount":0.5,"high":13004.3,"vol":500,"low":12936.6,"count":125,"id":1603486800,"close":12943.5,"tradeTurnover":6485.468,"open":13004.3},{"amount":0.492,"high":13010.3,"vol":492,"low":12884.7,"count":120,"id":1603490400,"close":12989.2,"tradeTurnover":6376.1492,"open":12923.6},{"amount":0.51,"high":13024.4,"vol":510,"low":12884.6,"count":121,"id":1603494000,"close":12884.6,"tradeTurnover":6622.3406,"open":12974.9},{"amount":0.488,"high":13018.3,"vol":488,"low":12811.1,"count":120,"id":1603497600,"close":12953.9,"tradeTurnover":6317.7938,"open":12973.7},{"amount":0.482,"high":13018.1,"vol":482,"low":12872.8,"count":117,"id":1603501200,"close":12934.2,"tradeTurnover":6242.4178,"open":12927.5},{"amount":0.484,"high":13003.9,"vol":484,"low":12903.3,"count":117,"id":1603504800,"close":12989.1,"tradeTurnover":6278.1756,"open":12971.9},{"amount":0.474,"high":13013.4,"vol":474,"low":12938.3,"count":122,"id":1603508400,"close":12975.9,"tradeTurnover":6157.7096,"open":13000.1},{"amount":0.526,"high":13009.4,"vol":526,"low":12905.5,"count":124,"id":1603512000,"close":12963.3,"tradeTurnover":6831.5658,"open":12989.7},{"amount":0.522,"high":13041.8,"vol":522,"low":12875.3,"count":127,"id":1603515600,"close":12989.7,"tradeTurnover":6768.8994,"open":12910.5},{"amount":0.49,"high":13058.1,"vol":490,"low":12908.8,"count":120,"id":1603519200,"close":13003.6,"tradeTurnover":6370.5714,"open":12994.7},{"amount":0.478,"high":13037.8,"vol":478,"low":12981.7,"count":120,"id":1603522800,"close":13004.2,"tradeTurnover":6218.9722,"open":13011.9},{"amount":0.52,"high":13030.6,"vol":520,"low":12899.4,"count":124,"id":1603526400,"close":12998.2,"tradeTurnover":6754.958,"open":13003.0},{"amount":0.454,"high":13020.3,"vol":454,"low":12893.6,"count":115,"id":1603530000,"close":12990.6,"tradeTurnover":5891.0574,"open":12998.2},{"amount":0.502,"high":13059.1,"vol":502,"low":12913.2,"count":124,"id":1603533600,"close":13030.1,"tradeTurnover":6525.9004,"open":12996.4},{"amount":0.468,"high":13068.3,"vol":468,"low":12940.2,"count":119,"id":1603537200,"close":13033.2,"tradeTurnover":6091.0376,"open":12988.4},{"amount":0.468,"high":13071.8,"vol":468,"low":12978.9,"count":123,"id":1603540800,"close":13006.5,"tradeTurnover":6102.5902,"open":13035.3},{"amount":0.534,"high":13066.7,"vol":534,"low":12928.1,"count":123,"id":1603544400,"close":12985.9,"tradeTurnover":6950.4268,"open":13038.8},{"amount":0.47,"high":13100.1,"vol":470,"low":12960.5,"count":100,"id":1603548000,"close":13042.0,"tradeTurnover":6124.2178,"open":12986.3},{"amount":0.456,"high":13196.5,"vol":456,"low":13038.4,"count":120,"id":1603551600,"close":13102.2,"tradeTurnover":5989.6362,"open":13038.4},{"amount":0.458,"high":13176.6,"vol":458,"low":12984.6,"count":121,"id":1603555200,"close":13052.7,"tradeTurnover":5976.331,"open":13136.8},{"amount":0.452,"high":13177.8,"vol":452,"low":13003.2,"count":118,"id":1603558800,"close":13177.8,"tradeTurnover":5911.7058,"open":13006.2},{"amount":0.468,"high":13170.7,"vol":468,"low":13023.0,"count":119,"id":1603562400,"close":13080.8,"tradeTurnover":6122.375,"open":13127.7},{"amount":0.468,"high":13179.3,"vol":468,"low":13014.2,"count":120,"id":1603566000,"close":13148.4,"tradeTurnover":6126.4278,"open":13040.7},{"amount":0.47,"high":13179.6,"vol":470,"low":12992.5,"count":119,"id":1603569600,"close":13090.1,"tradeTurnover":6151.4758,"open":13073.5},{"amount":0.458,"high":13148.7,"vol":458,"low":12980.7,"count":117,"id":1603573200,"close":12993.9,"tradeTurnover":5981.071,"open":13035.4},{"amount":0.478,"high":13112.1,"vol":478,"low":12975.6,"count":118,"id":1603576800,"close":13041.1,"tradeTurnover":6225.4216,"open":13040.7},{"amount":0.472,"high":13184.3,"vol":472,"low":13009.3,"count":118,"id":1603580400,"close":13184.3,"tradeTurnover":6173.4244,"open":13012.6},{"amount":0.46,"high":13170.4,"vol":460,"low":13007.7,"count":115,"id":1603584000,"close":13154.3,"tradeTurnover":6024.09,"open":13080.8},{"amount":0.398,"high":13196.8,"vol":398,"low":13024.0,"count":102,"id":1603587600,"close":13196.1,"tradeTurnover":5217.5364,"open":13092.0},{"amount":0.476,"high":13175.1,"vol":476,"low":13035.0,"count":120,"id":1603591200,"close":13082.4,"tradeTurnover":6228.6596,"open":13124.7},{"amount":0.578,"high":13383.8,"vol":578,"low":13049.1,"count":137,"id":1603594800,"close":13259.0,"tradeTurnover":7629.3886,"open":13049.1},{"amount":0.47,"high":13369.0,"vol":470,"low":13216.0,"count":122,"id":1603598400,"close":13243.4,"tradeTurnover":6247.955,"open":13277.0},{"amount":0.61,"high":13353.3,"vol":610,"low":13010.1,"count":134,"id":1603602000,"close":13017.3,"tradeTurnover":8048.8598,"open":13285.3},{"amount":0.486,"high":13105.7,"vol":486,"low":13018.2,"count":118,"id":1603605600,"close":13060.3,"tradeTurnover":6344.1474,"open":13022.5},{"amount":0.464,"high":13112.1,"vol":464,"low":13022.0,"count":120,"id":1603609200,"close":13078.1,"tradeTurnover":6061.5416,"open":13048.5},{"amount":0.464,"high":13091.0,"vol":464,"low":13017.2,"count":120,"id":1603612800,"close":13046.0,"tradeTurnover":6055.3734,"open":13077.2},{"amount":0.478,"high":13084.0,"vol":478,"low":13014.2,"count":117,"id":1603616400,"close":13040.8,"tradeTurnover":6235.7882,"open":13065.1},{"amount":0.478,"high":13064.2,"vol":478,"low":13010.2,"count":125,"id":1603620000,"close":13028.5,"tradeTurnover":6232.2428,"open":13047.1},{"amount":0.534,"high":13061.5,"vol":534,"low":12852.9,"count":123,"id":1603623600,"close":12897.6,"tradeTurnover":6918.1226,"open":13061.5},{"amount":0.444,"high":13069.7,"vol":444,"low":12893.2,"count":117,"id":1603627200,"close":12964.3,"tradeTurnover":5755.8712,"open":12908.3},{"amount":0.498,"high":13071.9,"vol":498,"low":12891.8,"count":119,"id":1603630800,"close":12949.3,"tradeTurnover":6465.078,"open":13001.3},{"amount":0.468,"high":13077.7,"vol":468,"low":12900.0,"count":116,"id":1603634400,"close":12946.8,"tradeTurnover":6075.4554,"open":12975.8},{"amount":0.47,"high":13069.1,"vol":470,"low":12883.3,"count":119,"id":1603638000,"close":12883.3,"tradeTurnover":6097.1072,"open":12975.2},{"amount":0.482,"high":13067.9,"vol":482,"low":12877.5,"count":118,"id":1603641600,"close":12978.7,"tradeTurnover":6256.4472,"open":12916.2},{"amount":0.47,"high":13087.5,"vol":470,"low":12922.7,"count":117,"id":1603645200,"close":13004.4,"tradeTurnover":6108.3892,"open":13008.0},{"amount":0.468,"high":13067.6,"vol":468,"low":12893.6,"count":118,"id":1603648800,"close":12957.2,"tradeTurnover":6079.1484,"open":12972.8},{"amount":0.442,"high":13066.9,"vol":442,"low":12916.6,"count":118,"id":1603652400,"close":13021.8,"tradeTurnover":5746.5548,"open":12996.5},{"amount":0.508,"high":13081.5,"vol":508,"low":12944.9,"count":120,"id":1603656000,"close":12985.4,"tradeTurnover":6616.9872,"open":12992.9},{"amount":0.508,"high":13068.6,"vol":508,"low":12921.4,"count":122,"id":1603659600,"close":13011.2,"tradeTurnover":6614.816,"open":12999.9},{"amount":0.486,"high":13073.8,"vol":486,"low":12911.9,"count":121,"id":1603663200,"close":12959.4,"tradeTurnover":6320.907,"open":12979.6},{"amount":0.452,"high":13085.2,"vol":452,"low":12927.8,"count":113,"id":1603666800,"close":13032.1,"tradeTurnover":5878.6442,"open":12963.4},{"amount":0.482,"high":13076.7,"vol":482,"low":12918.3,"count":121,"id":1603670400,"close":13001.0,"tradeTurnover":6263.698,"open":12964.2},{"amount":0.478,"high":13096.4,"vol":478,"low":12991.2,"count":124,"id":1603674000,"close":13053.7,"tradeTurnover":6232.2328,"open":13040.0},{"amount":0.488,"high":13185.7,"vol":488,"low":12985.1,"count":121,"id":1603677600,"close":13064.4,"tradeTurnover":6387.534,"open":13060.6},{"amount":0.486,"high":13187.2,"vol":486,"low":12984.1,"count":135,"id":1603681200,"close":13092.8,"tradeTurnover":6369.0272,"open":13032.3},{"amount":0.51,"high":13181.6,"vol":510,"low":12962.3,"count":131,"id":1603684800,"close":13132.6,"tradeTurnover":6679.829,"open":13092.0},{"amount":0.506,"high":13205.3,"vol":506,"low":13025.3,"count":126,"id":1603688400,"close":13092.1,"tradeTurnover":6641.2128,"open":13129.2},{"amount":1.616,"high":13188.1,"vol":1616,"low":12989.8,"count":141,"id":1603692000,"close":13071.4,"tradeTurnover":21170.8224,"open":13121.8},{"amount":3.746,"high":13100.0,"vol":3746,"low":12965.2,"count":110,"id":1603695600,"close":13038.7,"tradeTurnover":48924.8902,"open":13061.0},{"amount":8.966,"high":13102.0,"vol":8966,"low":12852.8,"count":173,"id":1603699200,"close":13039.3,"tradeTurnover":116525.5534,"open":13030.9},{"amount":4.48,"high":13088.4,"vol":4480,"low":13039.8,"count":124,"id":1603702800,"close":13075.9,"tradeTurnover":58521.1714,"open":13047.1},{"amount":4.272,"high":13100.0,"vol":4272,"low":13060.2,"count":130,"id":1603706400,"close":13100.0,"tradeTurnover":55895.9778,"open":13072.1},{"amount":29.798,"high":13159.0,"vol":29798,"low":13100.0,"count":230,"id":1603710000,"close":13138.4,"tradeTurnover":391138.024,"open":13100.0},{"amount":5.154,"high":13200.0,"vol":5154,"low":13100.0,"count":188,"id":1603713600,"close":13149.8,"tradeTurnover":67694.652,"open":13138.8},{"amount":35.608,"high":13351.5,"vol":35608,"low":13133.1,"count":328,"id":1603717200,"close":13205.8,"tradeTurnover":472780.3394,"open":13150.0},{"amount":31.748,"high":13280.0,"vol":31748,"low":13144.1,"count":235,"id":1603720800,"close":13166.1,"tradeTurnover":418744.5588,"open":13203.0},{"amount":36.53,"high":13165.2,"vol":36530,"low":12903.8,"count":384,"id":1603724400,"close":12978.0,"tradeTurnover":476940.3296,"open":13159.0},{"amount":35.018,"high":13069.8,"vol":35018,"low":12850.5,"count":323,"id":1603728000,"close":12869.6,"tradeTurnover":453288.918,"open":12965.0},{"amount":92.628,"high":12941.5,"vol":92628,"low":12583.9,"count":560,"id":1603731600,"close":12873.8,"tradeTurnover":1185973.467,"open":12879.2},{"amount":4.302,"high":12954.5,"vol":4302,"low":12820.4,"count":128,"id":1603735200,"close":12946.8,"tradeTurnover":55481.0054,"open":12856.2},{"amount":13.83,"high":12953.5,"vol":13830,"low":12914.1,"count":118,"id":1603738800,"close":12953.4,"tradeTurnover":179112.1598,"open":12945.6},{"amount":17.172,"high":13007.5,"vol":17172,"low":12953.5,"count":132,"id":1603742400,"close":12983.4,"tradeTurnover":223230.2122,"open":12953.5},{"amount":3.212,"high":13007.5,"vol":3212,"low":12982.7,"count":59,"id":1603746000,"close":12993.8,"tradeTurnover":41767.8906,"open":12983.1},{"amount":1.504,"high":13007.5,"vol":1504,"low":12974.0,"count":74,"id":1603749600,"close":13007.5,"tradeTurnover":19543.3568,"open":13002.1},{"amount":3.454,"high":13061.2,"vol":3454,"low":13007.5,"count":101,"id":1603753200,"close":13033.7,"tradeTurnover":45001.601,"open":13007.5},{"amount":8.784,"high":13105.0,"vol":8784,"low":13028.3,"count":98,"id":1603756800,"close":13067.1,"tradeTurnover":114871.8246,"open":13029.2},{"amount":11.592,"high":13074.4,"vol":11592,"low":13051.5,"count":66,"id":1603760400,"close":13061.7,"tradeTurnover":151386.9038,"open":13074.3},{"amount":19.298,"high":13097.6,"vol":19298,"low":13040.1,"count":109,"id":1603764000,"close":13049.7,"tradeTurnover":252061.019,"open":13061.7},{"amount":22.992,"high":13080.0,"vol":22992,"low":13057.1,"count":69,"id":1603767600,"close":13070.4,"tradeTurnover":300453.9788,"open":13057.6},{"amount":14.396,"high":13175.0,"vol":14396,"low":13079.6,"count":59,"id":1603771200,"close":13103.3,"tradeTurnover":188461.9156,"open":13080.0},{"amount":5.058,"high":13121.3,"vol":5058,"low":13069.7,"count":44,"id":1603774800,"close":13073.6,"tradeTurnover":66201.3552,"open":13121.3},{"amount":9.106,"high":13149.0,"vol":9106,"low":13069.6,"count":107,"id":1603778400,"close":13103.4,"tradeTurnover":119104.8906,"open":13074.9},{"amount":73.95,"high":13169.8,"vol":73950,"low":12992.4,"count":305,"id":1603782000,"close":13130.0,"tradeTurnover":968195.155,"open":13103.3},{"amount":18.732,"high":13148.4,"vol":18732,"low":13044.0,"count":135,"id":1603785600,"close":13123.8,"tradeTurnover":245533.5448,"open":13135.1},{"amount":13.756,"high":13131.8,"vol":13756,"low":13075.7,"count":102,"id":1603789200,"close":13131.7,"tradeTurnover":180253.7708,"open":13115.5},{"amount":154.108,"high":13252.0,"vol":154108,"low":13063.4,"count":525,"id":1603792800,"close":13216.9,"tradeTurnover":2029983.656,"open":13134.8},{"amount":170.09,"high":13590.1,"vol":170090,"low":13213.5,"count":591,"id":1603796400,"close":13395.8,"tradeTurnover":2276279.742,"open":13218.8},{"amount":48.928,"high":13414.0,"vol":48928,"low":13331.7,"count":216,"id":1603800000,"close":13376.9,"tradeTurnover":654585.9108,"open":13395.9},{"amount":63.294,"high":13490.9,"vol":63294,"low":13329.8,"count":316,"id":1603803600,"close":13384.3,"tradeTurnover":848130.9212,"open":13376.5},{"amount":12.892,"high":13415.8,"vol":12892,"low":13344.8,"count":124,"id":1603807200,"close":13398.2,"tradeTurnover":172618.6864,"open":13392.6},{"amount":93.22,"high":13626.7,"vol":93220,"low":13398.2,"count":476,"id":1603810800,"close":13598.5,"tradeTurnover":1262695.5466,"open":13398.2},{"amount":85.45,"high":13639.9,"vol":85450,"low":13520.2,"count":435,"id":1603814400,"close":13639.9,"tradeTurnover":1161481.4136,"open":13595.8},{"amount":191.812,"high":13826.7,"vol":191812,"low":13589.0,"count":711,"id":1603818000,"close":13688.1,"tradeTurnover":2628428.3788,"open":13640.0},{"amount":65.434,"high":13745.0,"vol":65434,"low":13528.2,"count":410,"id":1603821600,"close":13630.1,"tradeTurnover":891541.8394,"open":13685.0},{"amount":5.788,"high":13659.8,"vol":5788,"low":13595.4,"count":65,"id":1603825200,"close":13637.1,"tradeTurnover":78836.2578,"open":13629.4},{"amount":163.104,"high":13805.1,"vol":163104,"low":13582.6,"count":537,"id":1603828800,"close":13616.6,"tradeTurnover":2234040.3544,"open":13644.4},{"amount":9.884,"high":13753.5,"vol":9884,"low":13609.8,"count":101,"id":1603832400,"close":13705.5,"tradeTurnover":135406.4752,"open":13609.8},{"amount":7.436,"high":13739.9,"vol":7436,"low":13658.2,"count":100,"id":1603836000,"close":13739.9,"tradeTurnover":101840.3508,"open":13705.4},{"amount":17.086,"high":13794.6,"vol":17086,"low":13582.6,"count":234,"id":1603839600,"close":13649.6,"tradeTurnover":233971.8448,"open":13739.9},{"amount":24.108,"high":13745.2,"vol":24108,"low":13618.8,"count":177,"id":1603843200,"close":13701.7,"tradeTurnover":330206.5694,"open":13645.9},{"amount":15.892,"high":13725.6,"vol":15892,"low":13647.9,"count":151,"id":1603846800,"close":13702.6,"tradeTurnover":217816.7008,"open":13702.1},{"amount":46.548,"high":13832.2,"vol":46548,"low":13680.2,"count":274,"id":1603850400,"close":13811.6,"tradeTurnover":640636.0352,"open":13701.7},{"amount":67.896,"high":13820.3,"vol":67896,"low":13717.5,"count":320,"id":1603854000,"close":13777.0,"tradeTurnover":935838.2238,"open":13818.5},{"amount":33.156,"high":13807.2,"vol":33156,"low":13710.0,"count":210,"id":1603857600,"close":13735.7,"tradeTurnover":455941.234,"open":13767.3},{"amount":32.076,"high":13753.9,"vol":32076,"low":13671.3,"count":198,"id":1603861200,"close":13715.8,"tradeTurnover":439612.64,"open":13735.5},{"amount":14.756,"high":13757.0,"vol":14756,"low":13694.9,"count":122,"id":1603864800,"close":13701.3,"tradeTurnover":202602.5164,"open":13715.9},{"amount":155.534,"high":13708.7,"vol":155534,"low":13550.0,"count":635,"id":1603868400,"close":13674.2,"tradeTurnover":2117935.0928,"open":13701.2},{"amount":29.846,"high":13691.7,"vol":29846,"low":13584.0,"count":240,"id":1603872000,"close":13691.7,"tradeTurnover":407073.1398,"open":13673.0},{"amount":104.542,"high":13707.5,"vol":104542,"low":13573.5,"count":377,"id":1603875600,"close":13587.1,"tradeTurnover":1425079.9344,"open":13689.3},{"amount":73.818,"high":13618.0,"vol":73818,"low":13504.7,"count":358,"id":1603879200,"close":13552.7,"tradeTurnover":1001666.0908,"open":13584.6},{"amount":176.544,"high":13565.4,"vol":176544,"low":13330.0,"count":1004,"id":1603882800,"close":13336.4,"tradeTurnover":2369166.1492,"open":13552.6},{"amount":289.73,"high":13385.0,"vol":289730,"low":13173.9,"count":968,"id":1603886400,"close":13300.3,"tradeTurnover":3846751.7166,"open":13331.5},{"amount":139.822,"high":13340.0,"vol":139822,"low":13122.9,"count":612,"id":1603890000,"close":13129.9,"tradeTurnover":1848876.932,"open":13300.2},{"amount":367.876,"high":13168.2,"vol":367876,"low":12915.9,"count":1168,"id":1603893600,"close":13082.2,"tradeTurnover":4802516.9818,"open":13123.4},{"amount":84.044,"high":13235.2,"vol":84044,"low":13052.3,"count":375,"id":1603897200,"close":13221.2,"tradeTurnover":1106883.1282,"open":13077.1},{"amount":29.566,"high":13218.7,"vol":29566,"low":13050.0,"count":244,"id":1603900800,"close":13145.1,"tradeTurnover":388697.4104,"open":13218.7},{"amount":53.336,"high":13204.9,"vol":53336,"low":13006.6,"count":299,"id":1603904400,"close":13176.7,"tradeTurnover":700385.2784,"open":13145.1},{"amount":34.164,"high":13219.6,"vol":34164,"low":13131.0,"count":218,"id":1603908000,"close":13196.5,"tradeTurnover":450210.5778,"open":13171.0},{"amount":22.158,"high":13237.4,"vol":22158,"low":13145.0,"count":185,"id":1603911600,"close":13154.9,"tradeTurnover":292020.0438,"open":13200.0},{"amount":4.548,"high":13211.8,"vol":4548,"low":13147.4,"count":75,"id":1603915200,"close":13198.1,"tradeTurnover":59991.1118,"open":13154.5},{"amount":3.52,"high":13196.5,"vol":3520,"low":13100.2,"count":68,"id":1603918800,"close":13190.1,"tradeTurnover":46175.428,"open":13193.5},{"amount":3.122,"high":13267.5,"vol":3122,"low":13185.4,"count":72,"id":1603922400,"close":13252.0,"tradeTurnover":41304.2018,"open":13185.4},{"amount":14.768,"high":13282.3,"vol":14768,"low":13235.9,"count":86,"id":1603926000,"close":13265.9,"tradeTurnover":195689.0764,"open":13242.1},{"amount":19.968,"high":13294.7,"vol":19968,"low":13237.4,"count":98,"id":1603929600,"close":13245.1,"tradeTurnover":264834.1944,"open":13253.9},{"amount":35.282,"high":13285.3,"vol":35282,"low":13166.3,"count":192,"id":1603933200,"close":13274.2,"tradeTurnover":465789.6302,"open":13244.6},{"amount":9.748,"high":13277.7,"vol":9748,"low":13212.2,"count":119,"id":1603936800,"close":13241.1,"tradeTurnover":129016.0684,"open":13275.9},{"amount":27.3,"high":13262.5,"vol":27300,"low":13174.6,"count":199,"id":1603940400,"close":13262.5,"tradeTurnover":360589.8982,"open":13237.1},{"amount":18.904,"high":13277.7,"vol":18904,"low":13229.5,"count":109,"id":1603944000,"close":13229.5,"tradeTurnover":250713.2812,"open":13269.1},{"amount":15.822,"high":13274.8,"vol":15822,"low":13228.5,"count":134,"id":1603947600,"close":13274.8,"tradeTurnover":209781.909,"open":13228.5},{"amount":91.246,"high":13323.0,"vol":91246,"low":13242.3,"count":294,"id":1603951200,"close":13255.0,"tradeTurnover":1211271.2788,"open":13274.8},{"amount":187.622,"high":13269.3,"vol":187622,"low":13123.1,"count":506,"id":1603954800,"close":13142.4,"tradeTurnover":2478299.7074,"open":13255.0},{"amount":69.532,"high":13182.4,"vol":69532,"low":13094.1,"count":226,"id":1603958400,"close":13124.8,"tradeTurnover":914157.2418,"open":13145.9},{"amount":23.184,"high":13197.1,"vol":23184,"low":13129.5,"count":141,"id":1603962000,"close":13183.7,"tradeTurnover":305485.9524,"open":13129.5},{"amount":121.146,"high":13187.5,"vol":121146,"low":13053.1,"count":442,"id":1603965600,"close":13105.2,"tradeTurnover":1590026.4416,"open":13184.8},{"amount":47.498,"high":13171.4,"vol":47498,"low":13060.1,"count":262,"id":1603969200,"close":13060.1,"tradeTurnover":623578.149,"open":13105.1},{"amount":126.552,"high":13145.8,"vol":126552,"low":12977.9,"count":481,"id":1603972800,"close":13131.8,"tradeTurnover":1652549.311,"open":13056.9},{"amount":100.482,"high":13237.2,"vol":100482,"low":13102.0,"count":325,"id":1603976400,"close":13230.0,"tradeTurnover":1326403.7206,"open":13131.7},{"amount":253.258,"high":13476.1,"vol":253258,"low":13231.0,"count":752,"id":1603980000,"close":13420.8,"tradeTurnover":3384941.438,"open":13231.0},{"amount":64.71,"high":13458.7,"vol":64710,"low":13358.7,"count":269,"id":1603983600,"close":13420.6,"tradeTurnover":869052.3804,"open":13416.0},{"amount":120.24,"high":13594.5,"vol":120240,"low":13391.8,"count":570,"id":1603987200,"close":13535.9,"tradeTurnover":1626567.8278,"open":13421.9}],"id":"","rep":"market.BTC-USDT.kline.60min","status":"ok"} +2024-01-18 11:13:19.059 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:39] - 请求 KLine 数据用户收到的原始数据:{"id":"","rep":"market.BTC-USDT.kline.60min","ts":1705547597969,"wsid":19750305,"status":"ok","data":[{"id":1603270800,"open":12198.0,"close":12196.7,"high":12300.0,"low":11715.8,"amount":0.276,"vol":276,"trade_turnover":3315.9104,"count":39},{"id":1603274400,"open":12196.7,"close":12277.9,"high":12289.9,"low":12111.0,"amount":0.198,"vol":198,"trade_turnover":2420.7728,"count":21},{"id":1603278000,"open":12111.0,"close":12000.0,"high":12277.9,"low":12000.0,"amount":0.012,"vol":12,"trade_turnover":145.2238,"count":5},{"id":1603281600,"open":12078.0,"close":12497.4,"high":12498.0,"low":12078.0,"amount":0.084,"vol":84,"trade_turnover":1040.0504,"count":12},{"id":1603285200,"open":12495.6,"close":12373.5,"high":12495.6,"low":12282.9,"amount":1.122,"vol":1122,"trade_turnover":13905.3124,"count":112},{"id":1603288800,"open":12412.9,"close":12689.9,"high":12807.6,"low":12358.1,"amount":5.29,"vol":5290,"trade_turnover":66852.128,"count":155},{"id":1603292400,"open":12692.8,"close":12701.9,"high":12778.7,"low":12573.2,"amount":1.174,"vol":1174,"trade_turnover":14907.367,"count":113},{"id":1603296000,"open":12679.7,"close":12835.9,"high":12920.9,"low":12624.8,"amount":1.156,"vol":1156,"trade_turnover":14802.449,"count":115},{"id":1603299600,"open":12848.3,"close":12754.2,"high":12908.3,"low":12687.5,"amount":1.12,"vol":1120,"trade_turnover":14345.7324,"count":115},{"id":1603303200,"open":12743.7,"close":12740.2,"high":12849.0,"low":12668.3,"amount":1.106,"vol":1106,"trade_turnover":14105.3504,"count":114},{"id":1603306800,"open":12729.5,"close":12650.3,"high":12843.1,"low":12597.2,"amount":1.032,"vol":1032,"trade_turnover":13125.4568,"count":112},{"id":1603310400,"open":12666.8,"close":12807.0,"high":12848.4,"low":12610.2,"amount":1.154,"vol":1154,"trade_turnover":14680.638,"count":116},{"id":1603314000,"open":12866.0,"close":12938.9,"high":13005.1,"low":12748.2,"amount":1.164,"vol":1164,"trade_turnover":14976.9366,"count":114},{"id":1603317600,"open":12921.0,"close":13122.0,"high":13211.2,"low":12865.7,"amount":1.174,"vol":1174,"trade_turnover":15285.2446,"count":114},{"id":1603321200,"open":13153.2,"close":12829.8,"high":13173.2,"low":12688.6,"amount":1.172,"vol":1172,"trade_turnover":15060.9938,"count":117},{"id":1603324800,"open":12793.1,"close":12885.9,"high":12988.1,"low":12764.4,"amount":1.17,"vol":1170,"trade_turnover":15046.2046,"count":117},{"id":1603328400,"open":12860.4,"close":12757.5,"high":12972.6,"low":12757.5,"amount":1.158,"vol":1158,"trade_turnover":14882.4656,"count":118},{"id":1603332000,"open":12824.1,"close":12788.8,"high":12848.0,"low":12729.0,"amount":1.124,"vol":1124,"trade_turnover":14368.7948,"count":115},{"id":1603335600,"open":12791.7,"close":12767.2,"high":12834.4,"low":12729.0,"amount":1.194,"vol":1194,"trade_turnover":15268.9298,"count":111},{"id":1603339200,"open":12729.0,"close":12762.2,"high":12778.3,"low":12729.0,"amount":1.152,"vol":1152,"trade_turnover":14695.4876,"count":115},{"id":1603342800,"open":12763.1,"close":12813.8,"high":12842.0,"low":12730.6,"amount":1.21,"vol":1210,"trade_turnover":15440.8162,"count":119},{"id":1603346400,"open":12795.0,"close":12729.1,"high":12795.0,"low":12728.0,"amount":1.188,"vol":1188,"trade_turnover":15128.0098,"count":123},{"id":1603350000,"open":12728.6,"close":12730.6,"high":12730.6,"low":12728.3,"amount":1.266,"vol":1266,"trade_turnover":16115.1306,"count":112},{"id":1603353600,"open":12730.3,"close":12770.1,"high":12921.5,"low":12729.9,"amount":1.35,"vol":1350,"trade_turnover":17233.7326,"count":127},{"id":1603357200,"open":12824.9,"close":12780.4,"high":12872.1,"low":12760.1,"amount":0.98,"vol":980,"trade_turnover":12553.9826,"count":99},{"id":1603360800,"open":12784.9,"close":12934.2,"high":13002.7,"low":12775.6,"amount":0.266,"vol":266,"trade_turnover":3415.023,"count":30},{"id":1603364400,"open":12977.0,"close":13045.0,"high":13057.0,"low":12886.6,"amount":1.004,"vol":1004,"trade_turnover":13020.8576,"count":117},{"id":1603368000,"open":12958.5,"close":12847.9,"high":12973.4,"low":12751.6,"amount":1.134,"vol":1134,"trade_turnover":14594.2752,"count":111},{"id":1603371600,"open":12882.7,"close":12931.0,"high":13000.8,"low":12743.0,"amount":1.152,"vol":1152,"trade_turnover":14877.7314,"count":114},{"id":1603375200,"open":12890.4,"close":12917.8,"high":12995.3,"low":12783.9,"amount":1.182,"vol":1182,"trade_turnover":15224.4716,"count":115},{"id":1603378800,"open":12918.8,"close":12953.0,"high":13031.2,"low":12817.9,"amount":1.176,"vol":1176,"trade_turnover":15197.208,"count":117},{"id":1603382400,"open":12923.1,"close":13055.6,"high":13100.2,"low":12865.6,"amount":1.146,"vol":1146,"trade_turnover":14851.9604,"count":119},{"id":1603386000,"open":12967.6,"close":13082.7,"high":13105.7,"low":12835.5,"amount":1.534,"vol":1534,"trade_turnover":19927.8288,"count":124},{"id":1603389600,"open":13020.4,"close":13016.4,"high":13115.0,"low":12938.7,"amount":1.268,"vol":1268,"trade_turnover":16505.4738,"count":117},{"id":1603393200,"open":13028.3,"close":12970.6,"high":13171.2,"low":12961.8,"amount":1.13,"vol":1130,"trade_turnover":14762.952,"count":112},{"id":1603396800,"open":13016.7,"close":13089.3,"high":13216.1,"low":12998.5,"amount":1.206,"vol":1206,"trade_turnover":15807.1226,"count":117},{"id":1603400400,"open":13136.0,"close":13092.0,"high":13203.7,"low":12932.9,"amount":1.332,"vol":1332,"trade_turnover":17423.4422,"count":114},{"id":1603404000,"open":13119.4,"close":13055.9,"high":13250.5,"low":12984.7,"amount":1.21,"vol":1210,"trade_turnover":15876.0632,"count":114},{"id":1603407600,"open":13059.4,"close":12890.4,"high":13126.5,"low":12857.2,"amount":1.286,"vol":1286,"trade_turnover":16688.422,"count":116},{"id":1603411200,"open":12929.7,"close":12892.2,"high":12994.0,"low":12751.6,"amount":1.502,"vol":1502,"trade_turnover":19331.1596,"count":131},{"id":1603414800,"open":12921.7,"close":12898.3,"high":13003.2,"low":12786.0,"amount":1.386,"vol":1386,"trade_turnover":17904.8902,"count":121},{"id":1603418400,"open":12951.6,"close":12975.1,"high":13054.0,"low":12800.7,"amount":1.416,"vol":1416,"trade_turnover":18306.6204,"count":122},{"id":1603422000,"open":12967.3,"close":12947.0,"high":13030.7,"low":12875.0,"amount":1.19,"vol":1190,"trade_turnover":15409.7984,"count":118},{"id":1603425600,"open":12925.2,"close":12852.0,"high":13047.3,"low":12832.8,"amount":1.022,"vol":1022,"trade_turnover":13214.4388,"count":127},{"id":1603429200,"open":12859.0,"close":12931.1,"high":12991.7,"low":12841.2,"amount":0.478,"vol":478,"trade_turnover":6180.2486,"count":118},{"id":1603432800,"open":12935.9,"close":12939.6,"high":13014.1,"low":12871.9,"amount":0.522,"vol":522,"trade_turnover":6759.0324,"count":132},{"id":1603436400,"open":12923.1,"close":12925.4,"high":12998.9,"low":12917.1,"amount":0.476,"vol":476,"trade_turnover":6163.3118,"count":118},{"id":1603440000,"open":12942.2,"close":12962.6,"high":13014.0,"low":12916.1,"amount":0.508,"vol":508,"trade_turnover":6585.3656,"count":122},{"id":1603443600,"open":12970.5,"close":12926.4,"high":13012.5,"low":12909.9,"amount":0.564,"vol":564,"trade_turnover":7308.8828,"count":124},{"id":1603447200,"open":13001.2,"close":13007.7,"high":13059.5,"low":12925.7,"amount":0.536,"vol":536,"trade_turnover":6957.8796,"count":124},{"id":1603450800,"open":13025.4,"close":12970.6,"high":13078.4,"low":12906.5,"amount":0.486,"vol":486,"trade_turnover":6326.1434,"count":122},{"id":1603454400,"open":12963.9,"close":12935.4,"high":13025.0,"low":12850.8,"amount":0.494,"vol":494,"trade_turnover":6396.0984,"count":117},{"id":1603458000,"open":12913.3,"close":12951.7,"high":13043.3,"low":12911.0,"amount":0.466,"vol":466,"trade_turnover":6049.1412,"count":117},{"id":1603461600,"open":12999.6,"close":12858.8,"high":13006.4,"low":12840.4,"amount":0.46,"vol":460,"trade_turnover":5941.815,"count":116},{"id":1603465200,"open":12885.7,"close":12881.9,"high":12932.9,"low":12826.5,"amount":0.492,"vol":492,"trade_turnover":6340.214,"count":117},{"id":1603468800,"open":12854.4,"close":12784.1,"high":12933.5,"low":12744.4,"amount":0.484,"vol":484,"trade_turnover":6205.4138,"count":123},{"id":1603472400,"open":12832.3,"close":12847.7,"high":12893.1,"low":12730.1,"amount":0.562,"vol":562,"trade_turnover":7218.9184,"count":152},{"id":1603476000,"open":12874.1,"close":12915.7,"high":12939.3,"low":12751.4,"amount":0.53,"vol":530,"trade_turnover":6825.7004,"count":128},{"id":1603479600,"open":12867.9,"close":12972.9,"high":12972.9,"low":12786.6,"amount":0.444,"vol":444,"trade_turnover":5727.7452,"count":117},{"id":1603483200,"open":12956.7,"close":12991.6,"high":13002.2,"low":12842.9,"amount":0.492,"vol":492,"trade_turnover":6375.1566,"count":116},{"id":1603486800,"open":13004.3,"close":12943.5,"high":13004.3,"low":12936.6,"amount":0.5,"vol":500,"trade_turnover":6485.468,"count":125},{"id":1603490400,"open":12923.6,"close":12989.2,"high":13010.3,"low":12884.7,"amount":0.492,"vol":492,"trade_turnover":6376.1492,"count":120},{"id":1603494000,"open":12974.9,"close":12884.6,"high":13024.4,"low":12884.6,"amount":0.51,"vol":510,"trade_turnover":6622.3406,"count":121},{"id":1603497600,"open":12973.7,"close":12953.9,"high":13018.3,"low":12811.1,"amount":0.488,"vol":488,"trade_turnover":6317.7938,"count":120},{"id":1603501200,"open":12927.5,"close":12934.2,"high":13018.1,"low":12872.8,"amount":0.482,"vol":482,"trade_turnover":6242.4178,"count":117},{"id":1603504800,"open":12971.9,"close":12989.1,"high":13003.9,"low":12903.3,"amount":0.484,"vol":484,"trade_turnover":6278.1756,"count":117},{"id":1603508400,"open":13000.1,"close":12975.9,"high":13013.4,"low":12938.3,"amount":0.474,"vol":474,"trade_turnover":6157.7096,"count":122},{"id":1603512000,"open":12989.7,"close":12963.3,"high":13009.4,"low":12905.5,"amount":0.526,"vol":526,"trade_turnover":6831.5658,"count":124},{"id":1603515600,"open":12910.5,"close":12989.7,"high":13041.8,"low":12875.3,"amount":0.522,"vol":522,"trade_turnover":6768.8994,"count":127},{"id":1603519200,"open":12994.7,"close":13003.6,"high":13058.1,"low":12908.8,"amount":0.49,"vol":490,"trade_turnover":6370.5714,"count":120},{"id":1603522800,"open":13011.9,"close":13004.2,"high":13037.8,"low":12981.7,"amount":0.478,"vol":478,"trade_turnover":6218.9722,"count":120},{"id":1603526400,"open":13003.0,"close":12998.2,"high":13030.6,"low":12899.4,"amount":0.52,"vol":520,"trade_turnover":6754.958,"count":124},{"id":1603530000,"open":12998.2,"close":12990.6,"high":13020.3,"low":12893.6,"amount":0.454,"vol":454,"trade_turnover":5891.0574,"count":115},{"id":1603533600,"open":12996.4,"close":13030.1,"high":13059.1,"low":12913.2,"amount":0.502,"vol":502,"trade_turnover":6525.9004,"count":124},{"id":1603537200,"open":12988.4,"close":13033.2,"high":13068.3,"low":12940.2,"amount":0.468,"vol":468,"trade_turnover":6091.0376,"count":119},{"id":1603540800,"open":13035.3,"close":13006.5,"high":13071.8,"low":12978.9,"amount":0.468,"vol":468,"trade_turnover":6102.5902,"count":123},{"id":1603544400,"open":13038.8,"close":12985.9,"high":13066.7,"low":12928.1,"amount":0.534,"vol":534,"trade_turnover":6950.4268,"count":123},{"id":1603548000,"open":12986.3,"close":13042.0,"high":13100.1,"low":12960.5,"amount":0.47,"vol":470,"trade_turnover":6124.2178,"count":100},{"id":1603551600,"open":13038.4,"close":13102.2,"high":13196.5,"low":13038.4,"amount":0.456,"vol":456,"trade_turnover":5989.6362,"count":120},{"id":1603555200,"open":13136.8,"close":13052.7,"high":13176.6,"low":12984.6,"amount":0.458,"vol":458,"trade_turnover":5976.331,"count":121},{"id":1603558800,"open":13006.2,"close":13177.8,"high":13177.8,"low":13003.2,"amount":0.452,"vol":452,"trade_turnover":5911.7058,"count":118},{"id":1603562400,"open":13127.7,"close":13080.8,"high":13170.7,"low":13023.0,"amount":0.468,"vol":468,"trade_turnover":6122.375,"count":119},{"id":1603566000,"open":13040.7,"close":13148.4,"high":13179.3,"low":13014.2,"amount":0.468,"vol":468,"trade_turnover":6126.4278,"count":120},{"id":1603569600,"open":13073.5,"close":13090.1,"high":13179.6,"low":12992.5,"amount":0.47,"vol":470,"trade_turnover":6151.4758,"count":119},{"id":1603573200,"open":13035.4,"close":12993.9,"high":13148.7,"low":12980.7,"amount":0.458,"vol":458,"trade_turnover":5981.071,"count":117},{"id":1603576800,"open":13040.7,"close":13041.1,"high":13112.1,"low":12975.6,"amount":0.478,"vol":478,"trade_turnover":6225.4216,"count":118},{"id":1603580400,"open":13012.6,"close":13184.3,"high":13184.3,"low":13009.3,"amount":0.472,"vol":472,"trade_turnover":6173.4244,"count":118},{"id":1603584000,"open":13080.8,"close":13154.3,"high":13170.4,"low":13007.7,"amount":0.46,"vol":460,"trade_turnover":6024.09,"count":115},{"id":1603587600,"open":13092.0,"close":13196.1,"high":13196.8,"low":13024.0,"amount":0.398,"vol":398,"trade_turnover":5217.5364,"count":102},{"id":1603591200,"open":13124.7,"close":13082.4,"high":13175.1,"low":13035.0,"amount":0.476,"vol":476,"trade_turnover":6228.6596,"count":120},{"id":1603594800,"open":13049.1,"close":13259.0,"high":13383.8,"low":13049.1,"amount":0.578,"vol":578,"trade_turnover":7629.3886,"count":137},{"id":1603598400,"open":13277.0,"close":13243.4,"high":13369.0,"low":13216.0,"amount":0.47,"vol":470,"trade_turnover":6247.955,"count":122},{"id":1603602000,"open":13285.3,"close":13017.3,"high":13353.3,"low":13010.1,"amount":0.61,"vol":610,"trade_turnover":8048.8598,"count":134},{"id":1603605600,"open":13022.5,"close":13060.3,"high":13105.7,"low":13018.2,"amount":0.486,"vol":486,"trade_turnover":6344.1474,"count":118},{"id":1603609200,"open":13048.5,"close":13078.1,"high":13112.1,"low":13022.0,"amount":0.464,"vol":464,"trade_turnover":6061.5416,"count":120},{"id":1603612800,"open":13077.2,"close":13046.0,"high":13091.0,"low":13017.2,"amount":0.464,"vol":464,"trade_turnover":6055.3734,"count":120},{"id":1603616400,"open":13065.1,"close":13040.8,"high":13084.0,"low":13014.2,"amount":0.478,"vol":478,"trade_turnover":6235.7882,"count":117},{"id":1603620000,"open":13047.1,"close":13028.5,"high":13064.2,"low":13010.2,"amount":0.478,"vol":478,"trade_turnover":6232.2428,"count":125},{"id":1603623600,"open":13061.5,"close":12897.6,"high":13061.5,"low":12852.9,"amount":0.534,"vol":534,"trade_turnover":6918.1226,"count":123},{"id":1603627200,"open":12908.3,"close":12964.3,"high":13069.7,"low":12893.2,"amount":0.444,"vol":444,"trade_turnover":5755.8712,"count":117},{"id":1603630800,"open":13001.3,"close":12949.3,"high":13071.9,"low":12891.8,"amount":0.498,"vol":498,"trade_turnover":6465.078,"count":119},{"id":1603634400,"open":12975.8,"close":12946.8,"high":13077.7,"low":12900.0,"amount":0.468,"vol":468,"trade_turnover":6075.4554,"count":116},{"id":1603638000,"open":12975.2,"close":12883.3,"high":13069.1,"low":12883.3,"amount":0.47,"vol":470,"trade_turnover":6097.1072,"count":119},{"id":1603641600,"open":12916.2,"close":12978.7,"high":13067.9,"low":12877.5,"amount":0.482,"vol":482,"trade_turnover":6256.4472,"count":118},{"id":1603645200,"open":13008.0,"close":13004.4,"high":13087.5,"low":12922.7,"amount":0.47,"vol":470,"trade_turnover":6108.3892,"count":117},{"id":1603648800,"open":12972.8,"close":12957.2,"high":13067.6,"low":12893.6,"amount":0.468,"vol":468,"trade_turnover":6079.1484,"count":118},{"id":1603652400,"open":12996.5,"close":13021.8,"high":13066.9,"low":12916.6,"amount":0.442,"vol":442,"trade_turnover":5746.5548,"count":118},{"id":1603656000,"open":12992.9,"close":12985.4,"high":13081.5,"low":12944.9,"amount":0.508,"vol":508,"trade_turnover":6616.9872,"count":120},{"id":1603659600,"open":12999.9,"close":13011.2,"high":13068.6,"low":12921.4,"amount":0.508,"vol":508,"trade_turnover":6614.816,"count":122},{"id":1603663200,"open":12979.6,"close":12959.4,"high":13073.8,"low":12911.9,"amount":0.486,"vol":486,"trade_turnover":6320.907,"count":121},{"id":1603666800,"open":12963.4,"close":13032.1,"high":13085.2,"low":12927.8,"amount":0.452,"vol":452,"trade_turnover":5878.6442,"count":113},{"id":1603670400,"open":12964.2,"close":13001.0,"high":13076.7,"low":12918.3,"amount":0.482,"vol":482,"trade_turnover":6263.698,"count":121},{"id":1603674000,"open":13040.0,"close":13053.7,"high":13096.4,"low":12991.2,"amount":0.478,"vol":478,"trade_turnover":6232.2328,"count":124},{"id":1603677600,"open":13060.6,"close":13064.4,"high":13185.7,"low":12985.1,"amount":0.488,"vol":488,"trade_turnover":6387.534,"count":121},{"id":1603681200,"open":13032.3,"close":13092.8,"high":13187.2,"low":12984.1,"amount":0.486,"vol":486,"trade_turnover":6369.0272,"count":135},{"id":1603684800,"open":13092.0,"close":13132.6,"high":13181.6,"low":12962.3,"amount":0.51,"vol":510,"trade_turnover":6679.829,"count":131},{"id":1603688400,"open":13129.2,"close":13092.1,"high":13205.3,"low":13025.3,"amount":0.506,"vol":506,"trade_turnover":6641.2128,"count":126},{"id":1603692000,"open":13121.8,"close":13071.4,"high":13188.1,"low":12989.8,"amount":1.616,"vol":1616,"trade_turnover":21170.8224,"count":141},{"id":1603695600,"open":13061.0,"close":13038.7,"high":13100.0,"low":12965.2,"amount":3.746,"vol":3746,"trade_turnover":48924.8902,"count":110},{"id":1603699200,"open":13030.9,"close":13039.3,"high":13102.0,"low":12852.8,"amount":8.966,"vol":8966,"trade_turnover":116525.5534,"count":173},{"id":1603702800,"open":13047.1,"close":13075.9,"high":13088.4,"low":13039.8,"amount":4.48,"vol":4480,"trade_turnover":58521.1714,"count":124},{"id":1603706400,"open":13072.1,"close":13100.0,"high":13100.0,"low":13060.2,"amount":4.272,"vol":4272,"trade_turnover":55895.9778,"count":130},{"id":1603710000,"open":13100.0,"close":13138.4,"high":13159.0,"low":13100.0,"amount":29.798,"vol":29798,"trade_turnover":391138.024,"count":230},{"id":1603713600,"open":13138.8,"close":13149.8,"high":13200.0,"low":13100.0,"amount":5.154,"vol":5154,"trade_turnover":67694.652,"count":188},{"id":1603717200,"open":13150.0,"close":13205.8,"high":13351.5,"low":13133.1,"amount":35.608,"vol":35608,"trade_turnover":472780.3394,"count":328},{"id":1603720800,"open":13203.0,"close":13166.1,"high":13280.0,"low":13144.1,"amount":31.748,"vol":31748,"trade_turnover":418744.5588,"count":235},{"id":1603724400,"open":13159.0,"close":12978.0,"high":13165.2,"low":12903.8,"amount":36.53,"vol":36530,"trade_turnover":476940.3296,"count":384},{"id":1603728000,"open":12965.0,"close":12869.6,"high":13069.8,"low":12850.5,"amount":35.018,"vol":35018,"trade_turnover":453288.918,"count":323},{"id":1603731600,"open":12879.2,"close":12873.8,"high":12941.5,"low":12583.9,"amount":92.628,"vol":92628,"trade_turnover":1185973.467,"count":560},{"id":1603735200,"open":12856.2,"close":12946.8,"high":12954.5,"low":12820.4,"amount":4.302,"vol":4302,"trade_turnover":55481.0054,"count":128},{"id":1603738800,"open":12945.6,"close":12953.4,"high":12953.5,"low":12914.1,"amount":13.83,"vol":13830,"trade_turnover":179112.1598,"count":118},{"id":1603742400,"open":12953.5,"close":12983.4,"high":13007.5,"low":12953.5,"amount":17.172,"vol":17172,"trade_turnover":223230.2122,"count":132},{"id":1603746000,"open":12983.1,"close":12993.8,"high":13007.5,"low":12982.7,"amount":3.212,"vol":3212,"trade_turnover":41767.8906,"count":59},{"id":1603749600,"open":13002.1,"close":13007.5,"high":13007.5,"low":12974.0,"amount":1.504,"vol":1504,"trade_turnover":19543.3568,"count":74},{"id":1603753200,"open":13007.5,"close":13033.7,"high":13061.2,"low":13007.5,"amount":3.454,"vol":3454,"trade_turnover":45001.601,"count":101},{"id":1603756800,"open":13029.2,"close":13067.1,"high":13105.0,"low":13028.3,"amount":8.784,"vol":8784,"trade_turnover":114871.8246,"count":98},{"id":1603760400,"open":13074.3,"close":13061.7,"high":13074.4,"low":13051.5,"amount":11.592,"vol":11592,"trade_turnover":151386.9038,"count":66},{"id":1603764000,"open":13061.7,"close":13049.7,"high":13097.6,"low":13040.1,"amount":19.298,"vol":19298,"trade_turnover":252061.019,"count":109},{"id":1603767600,"open":13057.6,"close":13070.4,"high":13080.0,"low":13057.1,"amount":22.992,"vol":22992,"trade_turnover":300453.9788,"count":69},{"id":1603771200,"open":13080.0,"close":13103.3,"high":13175.0,"low":13079.6,"amount":14.396,"vol":14396,"trade_turnover":188461.9156,"count":59},{"id":1603774800,"open":13121.3,"close":13073.6,"high":13121.3,"low":13069.7,"amount":5.058,"vol":5058,"trade_turnover":66201.3552,"count":44},{"id":1603778400,"open":13074.9,"close":13103.4,"high":13149.0,"low":13069.6,"amount":9.106,"vol":9106,"trade_turnover":119104.8906,"count":107},{"id":1603782000,"open":13103.3,"close":13130.0,"high":13169.8,"low":12992.4,"amount":73.95,"vol":73950,"trade_turnover":968195.155,"count":305},{"id":1603785600,"open":13135.1,"close":13123.8,"high":13148.4,"low":13044.0,"amount":18.732,"vol":18732,"trade_turnover":245533.5448,"count":135},{"id":1603789200,"open":13115.5,"close":13131.7,"high":13131.8,"low":13075.7,"amount":13.756,"vol":13756,"trade_turnover":180253.7708,"count":102},{"id":1603792800,"open":13134.8,"close":13216.9,"high":13252.0,"low":13063.4,"amount":154.108,"vol":154108,"trade_turnover":2029983.656,"count":525},{"id":1603796400,"open":13218.8,"close":13395.8,"high":13590.1,"low":13213.5,"amount":170.09,"vol":170090,"trade_turnover":2276279.742,"count":591},{"id":1603800000,"open":13395.9,"close":13376.9,"high":13414.0,"low":13331.7,"amount":48.928,"vol":48928,"trade_turnover":654585.9108,"count":216},{"id":1603803600,"open":13376.5,"close":13384.3,"high":13490.9,"low":13329.8,"amount":63.294,"vol":63294,"trade_turnover":848130.9212,"count":316},{"id":1603807200,"open":13392.6,"close":13398.2,"high":13415.8,"low":13344.8,"amount":12.892,"vol":12892,"trade_turnover":172618.6864,"count":124},{"id":1603810800,"open":13398.2,"close":13598.5,"high":13626.7,"low":13398.2,"amount":93.22,"vol":93220,"trade_turnover":1262695.5466,"count":476},{"id":1603814400,"open":13595.8,"close":13639.9,"high":13639.9,"low":13520.2,"amount":85.45,"vol":85450,"trade_turnover":1161481.4136,"count":435},{"id":1603818000,"open":13640.0,"close":13688.1,"high":13826.7,"low":13589.0,"amount":191.812,"vol":191812,"trade_turnover":2628428.3788,"count":711},{"id":1603821600,"open":13685.0,"close":13630.1,"high":13745.0,"low":13528.2,"amount":65.434,"vol":65434,"trade_turnover":891541.8394,"count":410},{"id":1603825200,"open":13629.4,"close":13637.1,"high":13659.8,"low":13595.4,"amount":5.788,"vol":5788,"trade_turnover":78836.2578,"count":65},{"id":1603828800,"open":13644.4,"close":13616.6,"high":13805.1,"low":13582.6,"amount":163.104,"vol":163104,"trade_turnover":2234040.3544,"count":537},{"id":1603832400,"open":13609.8,"close":13705.5,"high":13753.5,"low":13609.8,"amount":9.884,"vol":9884,"trade_turnover":135406.4752,"count":101},{"id":1603836000,"open":13705.4,"close":13739.9,"high":13739.9,"low":13658.2,"amount":7.436,"vol":7436,"trade_turnover":101840.3508,"count":100},{"id":1603839600,"open":13739.9,"close":13649.6,"high":13794.6,"low":13582.6,"amount":17.086,"vol":17086,"trade_turnover":233971.8448,"count":234},{"id":1603843200,"open":13645.9,"close":13701.7,"high":13745.2,"low":13618.8,"amount":24.108,"vol":24108,"trade_turnover":330206.5694,"count":177},{"id":1603846800,"open":13702.1,"close":13702.6,"high":13725.6,"low":13647.9,"amount":15.892,"vol":15892,"trade_turnover":217816.7008,"count":151},{"id":1603850400,"open":13701.7,"close":13811.6,"high":13832.2,"low":13680.2,"amount":46.548,"vol":46548,"trade_turnover":640636.0352,"count":274},{"id":1603854000,"open":13818.5,"close":13777.0,"high":13820.3,"low":13717.5,"amount":67.896,"vol":67896,"trade_turnover":935838.2238,"count":320},{"id":1603857600,"open":13767.3,"close":13735.7,"high":13807.2,"low":13710.0,"amount":33.156,"vol":33156,"trade_turnover":455941.234,"count":210},{"id":1603861200,"open":13735.5,"close":13715.8,"high":13753.9,"low":13671.3,"amount":32.076,"vol":32076,"trade_turnover":439612.64,"count":198},{"id":1603864800,"open":13715.9,"close":13701.3,"high":13757.0,"low":13694.9,"amount":14.756,"vol":14756,"trade_turnover":202602.5164,"count":122},{"id":1603868400,"open":13701.2,"close":13674.2,"high":13708.7,"low":13550.0,"amount":155.534,"vol":155534,"trade_turnover":2117935.0928,"count":635},{"id":1603872000,"open":13673.0,"close":13691.7,"high":13691.7,"low":13584.0,"amount":29.846,"vol":29846,"trade_turnover":407073.1398,"count":240},{"id":1603875600,"open":13689.3,"close":13587.1,"high":13707.5,"low":13573.5,"amount":104.542,"vol":104542,"trade_turnover":1425079.9344,"count":377},{"id":1603879200,"open":13584.6,"close":13552.7,"high":13618.0,"low":13504.7,"amount":73.818,"vol":73818,"trade_turnover":1001666.0908,"count":358},{"id":1603882800,"open":13552.6,"close":13336.4,"high":13565.4,"low":13330.0,"amount":176.544,"vol":176544,"trade_turnover":2369166.1492,"count":1004},{"id":1603886400,"open":13331.5,"close":13300.3,"high":13385.0,"low":13173.9,"amount":289.73,"vol":289730,"trade_turnover":3846751.7166,"count":968},{"id":1603890000,"open":13300.2,"close":13129.9,"high":13340.0,"low":13122.9,"amount":139.822,"vol":139822,"trade_turnover":1848876.932,"count":612},{"id":1603893600,"open":13123.4,"close":13082.2,"high":13168.2,"low":12915.9,"amount":367.876,"vol":367876,"trade_turnover":4802516.9818,"count":1168},{"id":1603897200,"open":13077.1,"close":13221.2,"high":13235.2,"low":13052.3,"amount":84.044,"vol":84044,"trade_turnover":1106883.1282,"count":375},{"id":1603900800,"open":13218.7,"close":13145.1,"high":13218.7,"low":13050.0,"amount":29.566,"vol":29566,"trade_turnover":388697.4104,"count":244},{"id":1603904400,"open":13145.1,"close":13176.7,"high":13204.9,"low":13006.6,"amount":53.336,"vol":53336,"trade_turnover":700385.2784,"count":299},{"id":1603908000,"open":13171.0,"close":13196.5,"high":13219.6,"low":13131.0,"amount":34.164,"vol":34164,"trade_turnover":450210.5778,"count":218},{"id":1603911600,"open":13200.0,"close":13154.9,"high":13237.4,"low":13145.0,"amount":22.158,"vol":22158,"trade_turnover":292020.0438,"count":185},{"id":1603915200,"open":13154.5,"close":13198.1,"high":13211.8,"low":13147.4,"amount":4.548,"vol":4548,"trade_turnover":59991.1118,"count":75},{"id":1603918800,"open":13193.5,"close":13190.1,"high":13196.5,"low":13100.2,"amount":3.52,"vol":3520,"trade_turnover":46175.428,"count":68},{"id":1603922400,"open":13185.4,"close":13252.0,"high":13267.5,"low":13185.4,"amount":3.122,"vol":3122,"trade_turnover":41304.2018,"count":72},{"id":1603926000,"open":13242.1,"close":13265.9,"high":13282.3,"low":13235.9,"amount":14.768,"vol":14768,"trade_turnover":195689.0764,"count":86},{"id":1603929600,"open":13253.9,"close":13245.1,"high":13294.7,"low":13237.4,"amount":19.968,"vol":19968,"trade_turnover":264834.1944,"count":98},{"id":1603933200,"open":13244.6,"close":13274.2,"high":13285.3,"low":13166.3,"amount":35.282,"vol":35282,"trade_turnover":465789.6302,"count":192},{"id":1603936800,"open":13275.9,"close":13241.1,"high":13277.7,"low":13212.2,"amount":9.748,"vol":9748,"trade_turnover":129016.0684,"count":119},{"id":1603940400,"open":13237.1,"close":13262.5,"high":13262.5,"low":13174.6,"amount":27.3,"vol":27300,"trade_turnover":360589.8982,"count":199},{"id":1603944000,"open":13269.1,"close":13229.5,"high":13277.7,"low":13229.5,"amount":18.904,"vol":18904,"trade_turnover":250713.2812,"count":109},{"id":1603947600,"open":13228.5,"close":13274.8,"high":13274.8,"low":13228.5,"amount":15.822,"vol":15822,"trade_turnover":209781.909,"count":134},{"id":1603951200,"open":13274.8,"close":13255.0,"high":13323.0,"low":13242.3,"amount":91.246,"vol":91246,"trade_turnover":1211271.2788,"count":294},{"id":1603954800,"open":13255.0,"close":13142.4,"high":13269.3,"low":13123.1,"amount":187.622,"vol":187622,"trade_turnover":2478299.7074,"count":506},{"id":1603958400,"open":13145.9,"close":13124.8,"high":13182.4,"low":13094.1,"amount":69.532,"vol":69532,"trade_turnover":914157.2418,"count":226},{"id":1603962000,"open":13129.5,"close":13183.7,"high":13197.1,"low":13129.5,"amount":23.184,"vol":23184,"trade_turnover":305485.9524,"count":141},{"id":1603965600,"open":13184.8,"close":13105.2,"high":13187.5,"low":13053.1,"amount":121.146,"vol":121146,"trade_turnover":1590026.4416,"count":442},{"id":1603969200,"open":13105.1,"close":13060.1,"high":13171.4,"low":13060.1,"amount":47.498,"vol":47498,"trade_turnover":623578.149,"count":262},{"id":1603972800,"open":13056.9,"close":13131.8,"high":13145.8,"low":12977.9,"amount":126.552,"vol":126552,"trade_turnover":1652549.311,"count":481},{"id":1603976400,"open":13131.7,"close":13230.0,"high":13237.2,"low":13102.0,"amount":100.482,"vol":100482,"trade_turnover":1326403.7206,"count":325},{"id":1603980000,"open":13231.0,"close":13420.8,"high":13476.1,"low":13231.0,"amount":253.258,"vol":253258,"trade_turnover":3384941.438,"count":752},{"id":1603983600,"open":13416.0,"close":13420.6,"high":13458.7,"low":13358.7,"amount":64.71,"vol":64710,"trade_turnover":869052.3804,"count":269},{"id":1603987200,"open":13421.9,"close":13535.9,"high":13594.5,"low":13391.8,"amount":120.24,"vol":120240,"trade_turnover":1626567.8278,"count":570}]} +2024-01-18 11:13:19.060 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:41] - 请求 KLine 数据解析之后的数据为:{"wsid":19750305,"data":[{"amount":0.276,"high":12300.0,"vol":276,"low":11715.8,"count":39,"id":1603270800,"close":12196.7,"tradeTurnover":3315.9104,"open":12198.0},{"amount":0.198,"high":12289.9,"vol":198,"low":12111.0,"count":21,"id":1603274400,"close":12277.9,"tradeTurnover":2420.7728,"open":12196.7},{"amount":0.012,"high":12277.9,"vol":12,"low":12000.0,"count":5,"id":1603278000,"close":12000.0,"tradeTurnover":145.2238,"open":12111.0},{"amount":0.084,"high":12498.0,"vol":84,"low":12078.0,"count":12,"id":1603281600,"close":12497.4,"tradeTurnover":1040.0504,"open":12078.0},{"amount":1.122,"high":12495.6,"vol":1122,"low":12282.9,"count":112,"id":1603285200,"close":12373.5,"tradeTurnover":13905.3124,"open":12495.6},{"amount":5.29,"high":12807.6,"vol":5290,"low":12358.1,"count":155,"id":1603288800,"close":12689.9,"tradeTurnover":66852.128,"open":12412.9},{"amount":1.174,"high":12778.7,"vol":1174,"low":12573.2,"count":113,"id":1603292400,"close":12701.9,"tradeTurnover":14907.367,"open":12692.8},{"amount":1.156,"high":12920.9,"vol":1156,"low":12624.8,"count":115,"id":1603296000,"close":12835.9,"tradeTurnover":14802.449,"open":12679.7},{"amount":1.12,"high":12908.3,"vol":1120,"low":12687.5,"count":115,"id":1603299600,"close":12754.2,"tradeTurnover":14345.7324,"open":12848.3},{"amount":1.106,"high":12849.0,"vol":1106,"low":12668.3,"count":114,"id":1603303200,"close":12740.2,"tradeTurnover":14105.3504,"open":12743.7},{"amount":1.032,"high":12843.1,"vol":1032,"low":12597.2,"count":112,"id":1603306800,"close":12650.3,"tradeTurnover":13125.4568,"open":12729.5},{"amount":1.154,"high":12848.4,"vol":1154,"low":12610.2,"count":116,"id":1603310400,"close":12807.0,"tradeTurnover":14680.638,"open":12666.8},{"amount":1.164,"high":13005.1,"vol":1164,"low":12748.2,"count":114,"id":1603314000,"close":12938.9,"tradeTurnover":14976.9366,"open":12866.0},{"amount":1.174,"high":13211.2,"vol":1174,"low":12865.7,"count":114,"id":1603317600,"close":13122.0,"tradeTurnover":15285.2446,"open":12921.0},{"amount":1.172,"high":13173.2,"vol":1172,"low":12688.6,"count":117,"id":1603321200,"close":12829.8,"tradeTurnover":15060.9938,"open":13153.2},{"amount":1.17,"high":12988.1,"vol":1170,"low":12764.4,"count":117,"id":1603324800,"close":12885.9,"tradeTurnover":15046.2046,"open":12793.1},{"amount":1.158,"high":12972.6,"vol":1158,"low":12757.5,"count":118,"id":1603328400,"close":12757.5,"tradeTurnover":14882.4656,"open":12860.4},{"amount":1.124,"high":12848.0,"vol":1124,"low":12729.0,"count":115,"id":1603332000,"close":12788.8,"tradeTurnover":14368.7948,"open":12824.1},{"amount":1.194,"high":12834.4,"vol":1194,"low":12729.0,"count":111,"id":1603335600,"close":12767.2,"tradeTurnover":15268.9298,"open":12791.7},{"amount":1.152,"high":12778.3,"vol":1152,"low":12729.0,"count":115,"id":1603339200,"close":12762.2,"tradeTurnover":14695.4876,"open":12729.0},{"amount":1.21,"high":12842.0,"vol":1210,"low":12730.6,"count":119,"id":1603342800,"close":12813.8,"tradeTurnover":15440.8162,"open":12763.1},{"amount":1.188,"high":12795.0,"vol":1188,"low":12728.0,"count":123,"id":1603346400,"close":12729.1,"tradeTurnover":15128.0098,"open":12795.0},{"amount":1.266,"high":12730.6,"vol":1266,"low":12728.3,"count":112,"id":1603350000,"close":12730.6,"tradeTurnover":16115.1306,"open":12728.6},{"amount":1.35,"high":12921.5,"vol":1350,"low":12729.9,"count":127,"id":1603353600,"close":12770.1,"tradeTurnover":17233.7326,"open":12730.3},{"amount":0.98,"high":12872.1,"vol":980,"low":12760.1,"count":99,"id":1603357200,"close":12780.4,"tradeTurnover":12553.9826,"open":12824.9},{"amount":0.266,"high":13002.7,"vol":266,"low":12775.6,"count":30,"id":1603360800,"close":12934.2,"tradeTurnover":3415.023,"open":12784.9},{"amount":1.004,"high":13057.0,"vol":1004,"low":12886.6,"count":117,"id":1603364400,"close":13045.0,"tradeTurnover":13020.8576,"open":12977.0},{"amount":1.134,"high":12973.4,"vol":1134,"low":12751.6,"count":111,"id":1603368000,"close":12847.9,"tradeTurnover":14594.2752,"open":12958.5},{"amount":1.152,"high":13000.8,"vol":1152,"low":12743.0,"count":114,"id":1603371600,"close":12931.0,"tradeTurnover":14877.7314,"open":12882.7},{"amount":1.182,"high":12995.3,"vol":1182,"low":12783.9,"count":115,"id":1603375200,"close":12917.8,"tradeTurnover":15224.4716,"open":12890.4},{"amount":1.176,"high":13031.2,"vol":1176,"low":12817.9,"count":117,"id":1603378800,"close":12953.0,"tradeTurnover":15197.208,"open":12918.8},{"amount":1.146,"high":13100.2,"vol":1146,"low":12865.6,"count":119,"id":1603382400,"close":13055.6,"tradeTurnover":14851.9604,"open":12923.1},{"amount":1.534,"high":13105.7,"vol":1534,"low":12835.5,"count":124,"id":1603386000,"close":13082.7,"tradeTurnover":19927.8288,"open":12967.6},{"amount":1.268,"high":13115.0,"vol":1268,"low":12938.7,"count":117,"id":1603389600,"close":13016.4,"tradeTurnover":16505.4738,"open":13020.4},{"amount":1.13,"high":13171.2,"vol":1130,"low":12961.8,"count":112,"id":1603393200,"close":12970.6,"tradeTurnover":14762.952,"open":13028.3},{"amount":1.206,"high":13216.1,"vol":1206,"low":12998.5,"count":117,"id":1603396800,"close":13089.3,"tradeTurnover":15807.1226,"open":13016.7},{"amount":1.332,"high":13203.7,"vol":1332,"low":12932.9,"count":114,"id":1603400400,"close":13092.0,"tradeTurnover":17423.4422,"open":13136.0},{"amount":1.21,"high":13250.5,"vol":1210,"low":12984.7,"count":114,"id":1603404000,"close":13055.9,"tradeTurnover":15876.0632,"open":13119.4},{"amount":1.286,"high":13126.5,"vol":1286,"low":12857.2,"count":116,"id":1603407600,"close":12890.4,"tradeTurnover":16688.422,"open":13059.4},{"amount":1.502,"high":12994.0,"vol":1502,"low":12751.6,"count":131,"id":1603411200,"close":12892.2,"tradeTurnover":19331.1596,"open":12929.7},{"amount":1.386,"high":13003.2,"vol":1386,"low":12786.0,"count":121,"id":1603414800,"close":12898.3,"tradeTurnover":17904.8902,"open":12921.7},{"amount":1.416,"high":13054.0,"vol":1416,"low":12800.7,"count":122,"id":1603418400,"close":12975.1,"tradeTurnover":18306.6204,"open":12951.6},{"amount":1.19,"high":13030.7,"vol":1190,"low":12875.0,"count":118,"id":1603422000,"close":12947.0,"tradeTurnover":15409.7984,"open":12967.3},{"amount":1.022,"high":13047.3,"vol":1022,"low":12832.8,"count":127,"id":1603425600,"close":12852.0,"tradeTurnover":13214.4388,"open":12925.2},{"amount":0.478,"high":12991.7,"vol":478,"low":12841.2,"count":118,"id":1603429200,"close":12931.1,"tradeTurnover":6180.2486,"open":12859.0},{"amount":0.522,"high":13014.1,"vol":522,"low":12871.9,"count":132,"id":1603432800,"close":12939.6,"tradeTurnover":6759.0324,"open":12935.9},{"amount":0.476,"high":12998.9,"vol":476,"low":12917.1,"count":118,"id":1603436400,"close":12925.4,"tradeTurnover":6163.3118,"open":12923.1},{"amount":0.508,"high":13014.0,"vol":508,"low":12916.1,"count":122,"id":1603440000,"close":12962.6,"tradeTurnover":6585.3656,"open":12942.2},{"amount":0.564,"high":13012.5,"vol":564,"low":12909.9,"count":124,"id":1603443600,"close":12926.4,"tradeTurnover":7308.8828,"open":12970.5},{"amount":0.536,"high":13059.5,"vol":536,"low":12925.7,"count":124,"id":1603447200,"close":13007.7,"tradeTurnover":6957.8796,"open":13001.2},{"amount":0.486,"high":13078.4,"vol":486,"low":12906.5,"count":122,"id":1603450800,"close":12970.6,"tradeTurnover":6326.1434,"open":13025.4},{"amount":0.494,"high":13025.0,"vol":494,"low":12850.8,"count":117,"id":1603454400,"close":12935.4,"tradeTurnover":6396.0984,"open":12963.9},{"amount":0.466,"high":13043.3,"vol":466,"low":12911.0,"count":117,"id":1603458000,"close":12951.7,"tradeTurnover":6049.1412,"open":12913.3},{"amount":0.46,"high":13006.4,"vol":460,"low":12840.4,"count":116,"id":1603461600,"close":12858.8,"tradeTurnover":5941.815,"open":12999.6},{"amount":0.492,"high":12932.9,"vol":492,"low":12826.5,"count":117,"id":1603465200,"close":12881.9,"tradeTurnover":6340.214,"open":12885.7},{"amount":0.484,"high":12933.5,"vol":484,"low":12744.4,"count":123,"id":1603468800,"close":12784.1,"tradeTurnover":6205.4138,"open":12854.4},{"amount":0.562,"high":12893.1,"vol":562,"low":12730.1,"count":152,"id":1603472400,"close":12847.7,"tradeTurnover":7218.9184,"open":12832.3},{"amount":0.53,"high":12939.3,"vol":530,"low":12751.4,"count":128,"id":1603476000,"close":12915.7,"tradeTurnover":6825.7004,"open":12874.1},{"amount":0.444,"high":12972.9,"vol":444,"low":12786.6,"count":117,"id":1603479600,"close":12972.9,"tradeTurnover":5727.7452,"open":12867.9},{"amount":0.492,"high":13002.2,"vol":492,"low":12842.9,"count":116,"id":1603483200,"close":12991.6,"tradeTurnover":6375.1566,"open":12956.7},{"amount":0.5,"high":13004.3,"vol":500,"low":12936.6,"count":125,"id":1603486800,"close":12943.5,"tradeTurnover":6485.468,"open":13004.3},{"amount":0.492,"high":13010.3,"vol":492,"low":12884.7,"count":120,"id":1603490400,"close":12989.2,"tradeTurnover":6376.1492,"open":12923.6},{"amount":0.51,"high":13024.4,"vol":510,"low":12884.6,"count":121,"id":1603494000,"close":12884.6,"tradeTurnover":6622.3406,"open":12974.9},{"amount":0.488,"high":13018.3,"vol":488,"low":12811.1,"count":120,"id":1603497600,"close":12953.9,"tradeTurnover":6317.7938,"open":12973.7},{"amount":0.482,"high":13018.1,"vol":482,"low":12872.8,"count":117,"id":1603501200,"close":12934.2,"tradeTurnover":6242.4178,"open":12927.5},{"amount":0.484,"high":13003.9,"vol":484,"low":12903.3,"count":117,"id":1603504800,"close":12989.1,"tradeTurnover":6278.1756,"open":12971.9},{"amount":0.474,"high":13013.4,"vol":474,"low":12938.3,"count":122,"id":1603508400,"close":12975.9,"tradeTurnover":6157.7096,"open":13000.1},{"amount":0.526,"high":13009.4,"vol":526,"low":12905.5,"count":124,"id":1603512000,"close":12963.3,"tradeTurnover":6831.5658,"open":12989.7},{"amount":0.522,"high":13041.8,"vol":522,"low":12875.3,"count":127,"id":1603515600,"close":12989.7,"tradeTurnover":6768.8994,"open":12910.5},{"amount":0.49,"high":13058.1,"vol":490,"low":12908.8,"count":120,"id":1603519200,"close":13003.6,"tradeTurnover":6370.5714,"open":12994.7},{"amount":0.478,"high":13037.8,"vol":478,"low":12981.7,"count":120,"id":1603522800,"close":13004.2,"tradeTurnover":6218.9722,"open":13011.9},{"amount":0.52,"high":13030.6,"vol":520,"low":12899.4,"count":124,"id":1603526400,"close":12998.2,"tradeTurnover":6754.958,"open":13003.0},{"amount":0.454,"high":13020.3,"vol":454,"low":12893.6,"count":115,"id":1603530000,"close":12990.6,"tradeTurnover":5891.0574,"open":12998.2},{"amount":0.502,"high":13059.1,"vol":502,"low":12913.2,"count":124,"id":1603533600,"close":13030.1,"tradeTurnover":6525.9004,"open":12996.4},{"amount":0.468,"high":13068.3,"vol":468,"low":12940.2,"count":119,"id":1603537200,"close":13033.2,"tradeTurnover":6091.0376,"open":12988.4},{"amount":0.468,"high":13071.8,"vol":468,"low":12978.9,"count":123,"id":1603540800,"close":13006.5,"tradeTurnover":6102.5902,"open":13035.3},{"amount":0.534,"high":13066.7,"vol":534,"low":12928.1,"count":123,"id":1603544400,"close":12985.9,"tradeTurnover":6950.4268,"open":13038.8},{"amount":0.47,"high":13100.1,"vol":470,"low":12960.5,"count":100,"id":1603548000,"close":13042.0,"tradeTurnover":6124.2178,"open":12986.3},{"amount":0.456,"high":13196.5,"vol":456,"low":13038.4,"count":120,"id":1603551600,"close":13102.2,"tradeTurnover":5989.6362,"open":13038.4},{"amount":0.458,"high":13176.6,"vol":458,"low":12984.6,"count":121,"id":1603555200,"close":13052.7,"tradeTurnover":5976.331,"open":13136.8},{"amount":0.452,"high":13177.8,"vol":452,"low":13003.2,"count":118,"id":1603558800,"close":13177.8,"tradeTurnover":5911.7058,"open":13006.2},{"amount":0.468,"high":13170.7,"vol":468,"low":13023.0,"count":119,"id":1603562400,"close":13080.8,"tradeTurnover":6122.375,"open":13127.7},{"amount":0.468,"high":13179.3,"vol":468,"low":13014.2,"count":120,"id":1603566000,"close":13148.4,"tradeTurnover":6126.4278,"open":13040.7},{"amount":0.47,"high":13179.6,"vol":470,"low":12992.5,"count":119,"id":1603569600,"close":13090.1,"tradeTurnover":6151.4758,"open":13073.5},{"amount":0.458,"high":13148.7,"vol":458,"low":12980.7,"count":117,"id":1603573200,"close":12993.9,"tradeTurnover":5981.071,"open":13035.4},{"amount":0.478,"high":13112.1,"vol":478,"low":12975.6,"count":118,"id":1603576800,"close":13041.1,"tradeTurnover":6225.4216,"open":13040.7},{"amount":0.472,"high":13184.3,"vol":472,"low":13009.3,"count":118,"id":1603580400,"close":13184.3,"tradeTurnover":6173.4244,"open":13012.6},{"amount":0.46,"high":13170.4,"vol":460,"low":13007.7,"count":115,"id":1603584000,"close":13154.3,"tradeTurnover":6024.09,"open":13080.8},{"amount":0.398,"high":13196.8,"vol":398,"low":13024.0,"count":102,"id":1603587600,"close":13196.1,"tradeTurnover":5217.5364,"open":13092.0},{"amount":0.476,"high":13175.1,"vol":476,"low":13035.0,"count":120,"id":1603591200,"close":13082.4,"tradeTurnover":6228.6596,"open":13124.7},{"amount":0.578,"high":13383.8,"vol":578,"low":13049.1,"count":137,"id":1603594800,"close":13259.0,"tradeTurnover":7629.3886,"open":13049.1},{"amount":0.47,"high":13369.0,"vol":470,"low":13216.0,"count":122,"id":1603598400,"close":13243.4,"tradeTurnover":6247.955,"open":13277.0},{"amount":0.61,"high":13353.3,"vol":610,"low":13010.1,"count":134,"id":1603602000,"close":13017.3,"tradeTurnover":8048.8598,"open":13285.3},{"amount":0.486,"high":13105.7,"vol":486,"low":13018.2,"count":118,"id":1603605600,"close":13060.3,"tradeTurnover":6344.1474,"open":13022.5},{"amount":0.464,"high":13112.1,"vol":464,"low":13022.0,"count":120,"id":1603609200,"close":13078.1,"tradeTurnover":6061.5416,"open":13048.5},{"amount":0.464,"high":13091.0,"vol":464,"low":13017.2,"count":120,"id":1603612800,"close":13046.0,"tradeTurnover":6055.3734,"open":13077.2},{"amount":0.478,"high":13084.0,"vol":478,"low":13014.2,"count":117,"id":1603616400,"close":13040.8,"tradeTurnover":6235.7882,"open":13065.1},{"amount":0.478,"high":13064.2,"vol":478,"low":13010.2,"count":125,"id":1603620000,"close":13028.5,"tradeTurnover":6232.2428,"open":13047.1},{"amount":0.534,"high":13061.5,"vol":534,"low":12852.9,"count":123,"id":1603623600,"close":12897.6,"tradeTurnover":6918.1226,"open":13061.5},{"amount":0.444,"high":13069.7,"vol":444,"low":12893.2,"count":117,"id":1603627200,"close":12964.3,"tradeTurnover":5755.8712,"open":12908.3},{"amount":0.498,"high":13071.9,"vol":498,"low":12891.8,"count":119,"id":1603630800,"close":12949.3,"tradeTurnover":6465.078,"open":13001.3},{"amount":0.468,"high":13077.7,"vol":468,"low":12900.0,"count":116,"id":1603634400,"close":12946.8,"tradeTurnover":6075.4554,"open":12975.8},{"amount":0.47,"high":13069.1,"vol":470,"low":12883.3,"count":119,"id":1603638000,"close":12883.3,"tradeTurnover":6097.1072,"open":12975.2},{"amount":0.482,"high":13067.9,"vol":482,"low":12877.5,"count":118,"id":1603641600,"close":12978.7,"tradeTurnover":6256.4472,"open":12916.2},{"amount":0.47,"high":13087.5,"vol":470,"low":12922.7,"count":117,"id":1603645200,"close":13004.4,"tradeTurnover":6108.3892,"open":13008.0},{"amount":0.468,"high":13067.6,"vol":468,"low":12893.6,"count":118,"id":1603648800,"close":12957.2,"tradeTurnover":6079.1484,"open":12972.8},{"amount":0.442,"high":13066.9,"vol":442,"low":12916.6,"count":118,"id":1603652400,"close":13021.8,"tradeTurnover":5746.5548,"open":12996.5},{"amount":0.508,"high":13081.5,"vol":508,"low":12944.9,"count":120,"id":1603656000,"close":12985.4,"tradeTurnover":6616.9872,"open":12992.9},{"amount":0.508,"high":13068.6,"vol":508,"low":12921.4,"count":122,"id":1603659600,"close":13011.2,"tradeTurnover":6614.816,"open":12999.9},{"amount":0.486,"high":13073.8,"vol":486,"low":12911.9,"count":121,"id":1603663200,"close":12959.4,"tradeTurnover":6320.907,"open":12979.6},{"amount":0.452,"high":13085.2,"vol":452,"low":12927.8,"count":113,"id":1603666800,"close":13032.1,"tradeTurnover":5878.6442,"open":12963.4},{"amount":0.482,"high":13076.7,"vol":482,"low":12918.3,"count":121,"id":1603670400,"close":13001.0,"tradeTurnover":6263.698,"open":12964.2},{"amount":0.478,"high":13096.4,"vol":478,"low":12991.2,"count":124,"id":1603674000,"close":13053.7,"tradeTurnover":6232.2328,"open":13040.0},{"amount":0.488,"high":13185.7,"vol":488,"low":12985.1,"count":121,"id":1603677600,"close":13064.4,"tradeTurnover":6387.534,"open":13060.6},{"amount":0.486,"high":13187.2,"vol":486,"low":12984.1,"count":135,"id":1603681200,"close":13092.8,"tradeTurnover":6369.0272,"open":13032.3},{"amount":0.51,"high":13181.6,"vol":510,"low":12962.3,"count":131,"id":1603684800,"close":13132.6,"tradeTurnover":6679.829,"open":13092.0},{"amount":0.506,"high":13205.3,"vol":506,"low":13025.3,"count":126,"id":1603688400,"close":13092.1,"tradeTurnover":6641.2128,"open":13129.2},{"amount":1.616,"high":13188.1,"vol":1616,"low":12989.8,"count":141,"id":1603692000,"close":13071.4,"tradeTurnover":21170.8224,"open":13121.8},{"amount":3.746,"high":13100.0,"vol":3746,"low":12965.2,"count":110,"id":1603695600,"close":13038.7,"tradeTurnover":48924.8902,"open":13061.0},{"amount":8.966,"high":13102.0,"vol":8966,"low":12852.8,"count":173,"id":1603699200,"close":13039.3,"tradeTurnover":116525.5534,"open":13030.9},{"amount":4.48,"high":13088.4,"vol":4480,"low":13039.8,"count":124,"id":1603702800,"close":13075.9,"tradeTurnover":58521.1714,"open":13047.1},{"amount":4.272,"high":13100.0,"vol":4272,"low":13060.2,"count":130,"id":1603706400,"close":13100.0,"tradeTurnover":55895.9778,"open":13072.1},{"amount":29.798,"high":13159.0,"vol":29798,"low":13100.0,"count":230,"id":1603710000,"close":13138.4,"tradeTurnover":391138.024,"open":13100.0},{"amount":5.154,"high":13200.0,"vol":5154,"low":13100.0,"count":188,"id":1603713600,"close":13149.8,"tradeTurnover":67694.652,"open":13138.8},{"amount":35.608,"high":13351.5,"vol":35608,"low":13133.1,"count":328,"id":1603717200,"close":13205.8,"tradeTurnover":472780.3394,"open":13150.0},{"amount":31.748,"high":13280.0,"vol":31748,"low":13144.1,"count":235,"id":1603720800,"close":13166.1,"tradeTurnover":418744.5588,"open":13203.0},{"amount":36.53,"high":13165.2,"vol":36530,"low":12903.8,"count":384,"id":1603724400,"close":12978.0,"tradeTurnover":476940.3296,"open":13159.0},{"amount":35.018,"high":13069.8,"vol":35018,"low":12850.5,"count":323,"id":1603728000,"close":12869.6,"tradeTurnover":453288.918,"open":12965.0},{"amount":92.628,"high":12941.5,"vol":92628,"low":12583.9,"count":560,"id":1603731600,"close":12873.8,"tradeTurnover":1185973.467,"open":12879.2},{"amount":4.302,"high":12954.5,"vol":4302,"low":12820.4,"count":128,"id":1603735200,"close":12946.8,"tradeTurnover":55481.0054,"open":12856.2},{"amount":13.83,"high":12953.5,"vol":13830,"low":12914.1,"count":118,"id":1603738800,"close":12953.4,"tradeTurnover":179112.1598,"open":12945.6},{"amount":17.172,"high":13007.5,"vol":17172,"low":12953.5,"count":132,"id":1603742400,"close":12983.4,"tradeTurnover":223230.2122,"open":12953.5},{"amount":3.212,"high":13007.5,"vol":3212,"low":12982.7,"count":59,"id":1603746000,"close":12993.8,"tradeTurnover":41767.8906,"open":12983.1},{"amount":1.504,"high":13007.5,"vol":1504,"low":12974.0,"count":74,"id":1603749600,"close":13007.5,"tradeTurnover":19543.3568,"open":13002.1},{"amount":3.454,"high":13061.2,"vol":3454,"low":13007.5,"count":101,"id":1603753200,"close":13033.7,"tradeTurnover":45001.601,"open":13007.5},{"amount":8.784,"high":13105.0,"vol":8784,"low":13028.3,"count":98,"id":1603756800,"close":13067.1,"tradeTurnover":114871.8246,"open":13029.2},{"amount":11.592,"high":13074.4,"vol":11592,"low":13051.5,"count":66,"id":1603760400,"close":13061.7,"tradeTurnover":151386.9038,"open":13074.3},{"amount":19.298,"high":13097.6,"vol":19298,"low":13040.1,"count":109,"id":1603764000,"close":13049.7,"tradeTurnover":252061.019,"open":13061.7},{"amount":22.992,"high":13080.0,"vol":22992,"low":13057.1,"count":69,"id":1603767600,"close":13070.4,"tradeTurnover":300453.9788,"open":13057.6},{"amount":14.396,"high":13175.0,"vol":14396,"low":13079.6,"count":59,"id":1603771200,"close":13103.3,"tradeTurnover":188461.9156,"open":13080.0},{"amount":5.058,"high":13121.3,"vol":5058,"low":13069.7,"count":44,"id":1603774800,"close":13073.6,"tradeTurnover":66201.3552,"open":13121.3},{"amount":9.106,"high":13149.0,"vol":9106,"low":13069.6,"count":107,"id":1603778400,"close":13103.4,"tradeTurnover":119104.8906,"open":13074.9},{"amount":73.95,"high":13169.8,"vol":73950,"low":12992.4,"count":305,"id":1603782000,"close":13130.0,"tradeTurnover":968195.155,"open":13103.3},{"amount":18.732,"high":13148.4,"vol":18732,"low":13044.0,"count":135,"id":1603785600,"close":13123.8,"tradeTurnover":245533.5448,"open":13135.1},{"amount":13.756,"high":13131.8,"vol":13756,"low":13075.7,"count":102,"id":1603789200,"close":13131.7,"tradeTurnover":180253.7708,"open":13115.5},{"amount":154.108,"high":13252.0,"vol":154108,"low":13063.4,"count":525,"id":1603792800,"close":13216.9,"tradeTurnover":2029983.656,"open":13134.8},{"amount":170.09,"high":13590.1,"vol":170090,"low":13213.5,"count":591,"id":1603796400,"close":13395.8,"tradeTurnover":2276279.742,"open":13218.8},{"amount":48.928,"high":13414.0,"vol":48928,"low":13331.7,"count":216,"id":1603800000,"close":13376.9,"tradeTurnover":654585.9108,"open":13395.9},{"amount":63.294,"high":13490.9,"vol":63294,"low":13329.8,"count":316,"id":1603803600,"close":13384.3,"tradeTurnover":848130.9212,"open":13376.5},{"amount":12.892,"high":13415.8,"vol":12892,"low":13344.8,"count":124,"id":1603807200,"close":13398.2,"tradeTurnover":172618.6864,"open":13392.6},{"amount":93.22,"high":13626.7,"vol":93220,"low":13398.2,"count":476,"id":1603810800,"close":13598.5,"tradeTurnover":1262695.5466,"open":13398.2},{"amount":85.45,"high":13639.9,"vol":85450,"low":13520.2,"count":435,"id":1603814400,"close":13639.9,"tradeTurnover":1161481.4136,"open":13595.8},{"amount":191.812,"high":13826.7,"vol":191812,"low":13589.0,"count":711,"id":1603818000,"close":13688.1,"tradeTurnover":2628428.3788,"open":13640.0},{"amount":65.434,"high":13745.0,"vol":65434,"low":13528.2,"count":410,"id":1603821600,"close":13630.1,"tradeTurnover":891541.8394,"open":13685.0},{"amount":5.788,"high":13659.8,"vol":5788,"low":13595.4,"count":65,"id":1603825200,"close":13637.1,"tradeTurnover":78836.2578,"open":13629.4},{"amount":163.104,"high":13805.1,"vol":163104,"low":13582.6,"count":537,"id":1603828800,"close":13616.6,"tradeTurnover":2234040.3544,"open":13644.4},{"amount":9.884,"high":13753.5,"vol":9884,"low":13609.8,"count":101,"id":1603832400,"close":13705.5,"tradeTurnover":135406.4752,"open":13609.8},{"amount":7.436,"high":13739.9,"vol":7436,"low":13658.2,"count":100,"id":1603836000,"close":13739.9,"tradeTurnover":101840.3508,"open":13705.4},{"amount":17.086,"high":13794.6,"vol":17086,"low":13582.6,"count":234,"id":1603839600,"close":13649.6,"tradeTurnover":233971.8448,"open":13739.9},{"amount":24.108,"high":13745.2,"vol":24108,"low":13618.8,"count":177,"id":1603843200,"close":13701.7,"tradeTurnover":330206.5694,"open":13645.9},{"amount":15.892,"high":13725.6,"vol":15892,"low":13647.9,"count":151,"id":1603846800,"close":13702.6,"tradeTurnover":217816.7008,"open":13702.1},{"amount":46.548,"high":13832.2,"vol":46548,"low":13680.2,"count":274,"id":1603850400,"close":13811.6,"tradeTurnover":640636.0352,"open":13701.7},{"amount":67.896,"high":13820.3,"vol":67896,"low":13717.5,"count":320,"id":1603854000,"close":13777.0,"tradeTurnover":935838.2238,"open":13818.5},{"amount":33.156,"high":13807.2,"vol":33156,"low":13710.0,"count":210,"id":1603857600,"close":13735.7,"tradeTurnover":455941.234,"open":13767.3},{"amount":32.076,"high":13753.9,"vol":32076,"low":13671.3,"count":198,"id":1603861200,"close":13715.8,"tradeTurnover":439612.64,"open":13735.5},{"amount":14.756,"high":13757.0,"vol":14756,"low":13694.9,"count":122,"id":1603864800,"close":13701.3,"tradeTurnover":202602.5164,"open":13715.9},{"amount":155.534,"high":13708.7,"vol":155534,"low":13550.0,"count":635,"id":1603868400,"close":13674.2,"tradeTurnover":2117935.0928,"open":13701.2},{"amount":29.846,"high":13691.7,"vol":29846,"low":13584.0,"count":240,"id":1603872000,"close":13691.7,"tradeTurnover":407073.1398,"open":13673.0},{"amount":104.542,"high":13707.5,"vol":104542,"low":13573.5,"count":377,"id":1603875600,"close":13587.1,"tradeTurnover":1425079.9344,"open":13689.3},{"amount":73.818,"high":13618.0,"vol":73818,"low":13504.7,"count":358,"id":1603879200,"close":13552.7,"tradeTurnover":1001666.0908,"open":13584.6},{"amount":176.544,"high":13565.4,"vol":176544,"low":13330.0,"count":1004,"id":1603882800,"close":13336.4,"tradeTurnover":2369166.1492,"open":13552.6},{"amount":289.73,"high":13385.0,"vol":289730,"low":13173.9,"count":968,"id":1603886400,"close":13300.3,"tradeTurnover":3846751.7166,"open":13331.5},{"amount":139.822,"high":13340.0,"vol":139822,"low":13122.9,"count":612,"id":1603890000,"close":13129.9,"tradeTurnover":1848876.932,"open":13300.2},{"amount":367.876,"high":13168.2,"vol":367876,"low":12915.9,"count":1168,"id":1603893600,"close":13082.2,"tradeTurnover":4802516.9818,"open":13123.4},{"amount":84.044,"high":13235.2,"vol":84044,"low":13052.3,"count":375,"id":1603897200,"close":13221.2,"tradeTurnover":1106883.1282,"open":13077.1},{"amount":29.566,"high":13218.7,"vol":29566,"low":13050.0,"count":244,"id":1603900800,"close":13145.1,"tradeTurnover":388697.4104,"open":13218.7},{"amount":53.336,"high":13204.9,"vol":53336,"low":13006.6,"count":299,"id":1603904400,"close":13176.7,"tradeTurnover":700385.2784,"open":13145.1},{"amount":34.164,"high":13219.6,"vol":34164,"low":13131.0,"count":218,"id":1603908000,"close":13196.5,"tradeTurnover":450210.5778,"open":13171.0},{"amount":22.158,"high":13237.4,"vol":22158,"low":13145.0,"count":185,"id":1603911600,"close":13154.9,"tradeTurnover":292020.0438,"open":13200.0},{"amount":4.548,"high":13211.8,"vol":4548,"low":13147.4,"count":75,"id":1603915200,"close":13198.1,"tradeTurnover":59991.1118,"open":13154.5},{"amount":3.52,"high":13196.5,"vol":3520,"low":13100.2,"count":68,"id":1603918800,"close":13190.1,"tradeTurnover":46175.428,"open":13193.5},{"amount":3.122,"high":13267.5,"vol":3122,"low":13185.4,"count":72,"id":1603922400,"close":13252.0,"tradeTurnover":41304.2018,"open":13185.4},{"amount":14.768,"high":13282.3,"vol":14768,"low":13235.9,"count":86,"id":1603926000,"close":13265.9,"tradeTurnover":195689.0764,"open":13242.1},{"amount":19.968,"high":13294.7,"vol":19968,"low":13237.4,"count":98,"id":1603929600,"close":13245.1,"tradeTurnover":264834.1944,"open":13253.9},{"amount":35.282,"high":13285.3,"vol":35282,"low":13166.3,"count":192,"id":1603933200,"close":13274.2,"tradeTurnover":465789.6302,"open":13244.6},{"amount":9.748,"high":13277.7,"vol":9748,"low":13212.2,"count":119,"id":1603936800,"close":13241.1,"tradeTurnover":129016.0684,"open":13275.9},{"amount":27.3,"high":13262.5,"vol":27300,"low":13174.6,"count":199,"id":1603940400,"close":13262.5,"tradeTurnover":360589.8982,"open":13237.1},{"amount":18.904,"high":13277.7,"vol":18904,"low":13229.5,"count":109,"id":1603944000,"close":13229.5,"tradeTurnover":250713.2812,"open":13269.1},{"amount":15.822,"high":13274.8,"vol":15822,"low":13228.5,"count":134,"id":1603947600,"close":13274.8,"tradeTurnover":209781.909,"open":13228.5},{"amount":91.246,"high":13323.0,"vol":91246,"low":13242.3,"count":294,"id":1603951200,"close":13255.0,"tradeTurnover":1211271.2788,"open":13274.8},{"amount":187.622,"high":13269.3,"vol":187622,"low":13123.1,"count":506,"id":1603954800,"close":13142.4,"tradeTurnover":2478299.7074,"open":13255.0},{"amount":69.532,"high":13182.4,"vol":69532,"low":13094.1,"count":226,"id":1603958400,"close":13124.8,"tradeTurnover":914157.2418,"open":13145.9},{"amount":23.184,"high":13197.1,"vol":23184,"low":13129.5,"count":141,"id":1603962000,"close":13183.7,"tradeTurnover":305485.9524,"open":13129.5},{"amount":121.146,"high":13187.5,"vol":121146,"low":13053.1,"count":442,"id":1603965600,"close":13105.2,"tradeTurnover":1590026.4416,"open":13184.8},{"amount":47.498,"high":13171.4,"vol":47498,"low":13060.1,"count":262,"id":1603969200,"close":13060.1,"tradeTurnover":623578.149,"open":13105.1},{"amount":126.552,"high":13145.8,"vol":126552,"low":12977.9,"count":481,"id":1603972800,"close":13131.8,"tradeTurnover":1652549.311,"open":13056.9},{"amount":100.482,"high":13237.2,"vol":100482,"low":13102.0,"count":325,"id":1603976400,"close":13230.0,"tradeTurnover":1326403.7206,"open":13131.7},{"amount":253.258,"high":13476.1,"vol":253258,"low":13231.0,"count":752,"id":1603980000,"close":13420.8,"tradeTurnover":3384941.438,"open":13231.0},{"amount":64.71,"high":13458.7,"vol":64710,"low":13358.7,"count":269,"id":1603983600,"close":13420.6,"tradeTurnover":869052.3804,"open":13416.0},{"amount":120.24,"high":13594.5,"vol":120240,"low":13391.8,"count":570,"id":1603987200,"close":13535.9,"tradeTurnover":1626567.8278,"open":13421.9}],"id":"","rep":"market.BTC-USDT.kline.60min","status":"ok"} +2024-01-18 11:13:20.075 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:39] - 请求 KLine 数据用户收到的原始数据:{"id":"","rep":"market.BTC-USDT.kline.60min","ts":1705547598983,"wsid":19750305,"status":"ok","data":[{"id":1603270800,"open":12198.0,"close":12196.7,"high":12300.0,"low":11715.8,"amount":0.276,"vol":276,"trade_turnover":3315.9104,"count":39},{"id":1603274400,"open":12196.7,"close":12277.9,"high":12289.9,"low":12111.0,"amount":0.198,"vol":198,"trade_turnover":2420.7728,"count":21},{"id":1603278000,"open":12111.0,"close":12000.0,"high":12277.9,"low":12000.0,"amount":0.012,"vol":12,"trade_turnover":145.2238,"count":5},{"id":1603281600,"open":12078.0,"close":12497.4,"high":12498.0,"low":12078.0,"amount":0.084,"vol":84,"trade_turnover":1040.0504,"count":12},{"id":1603285200,"open":12495.6,"close":12373.5,"high":12495.6,"low":12282.9,"amount":1.122,"vol":1122,"trade_turnover":13905.3124,"count":112},{"id":1603288800,"open":12412.9,"close":12689.9,"high":12807.6,"low":12358.1,"amount":5.29,"vol":5290,"trade_turnover":66852.128,"count":155},{"id":1603292400,"open":12692.8,"close":12701.9,"high":12778.7,"low":12573.2,"amount":1.174,"vol":1174,"trade_turnover":14907.367,"count":113},{"id":1603296000,"open":12679.7,"close":12835.9,"high":12920.9,"low":12624.8,"amount":1.156,"vol":1156,"trade_turnover":14802.449,"count":115},{"id":1603299600,"open":12848.3,"close":12754.2,"high":12908.3,"low":12687.5,"amount":1.12,"vol":1120,"trade_turnover":14345.7324,"count":115},{"id":1603303200,"open":12743.7,"close":12740.2,"high":12849.0,"low":12668.3,"amount":1.106,"vol":1106,"trade_turnover":14105.3504,"count":114},{"id":1603306800,"open":12729.5,"close":12650.3,"high":12843.1,"low":12597.2,"amount":1.032,"vol":1032,"trade_turnover":13125.4568,"count":112},{"id":1603310400,"open":12666.8,"close":12807.0,"high":12848.4,"low":12610.2,"amount":1.154,"vol":1154,"trade_turnover":14680.638,"count":116},{"id":1603314000,"open":12866.0,"close":12938.9,"high":13005.1,"low":12748.2,"amount":1.164,"vol":1164,"trade_turnover":14976.9366,"count":114},{"id":1603317600,"open":12921.0,"close":13122.0,"high":13211.2,"low":12865.7,"amount":1.174,"vol":1174,"trade_turnover":15285.2446,"count":114},{"id":1603321200,"open":13153.2,"close":12829.8,"high":13173.2,"low":12688.6,"amount":1.172,"vol":1172,"trade_turnover":15060.9938,"count":117},{"id":1603324800,"open":12793.1,"close":12885.9,"high":12988.1,"low":12764.4,"amount":1.17,"vol":1170,"trade_turnover":15046.2046,"count":117},{"id":1603328400,"open":12860.4,"close":12757.5,"high":12972.6,"low":12757.5,"amount":1.158,"vol":1158,"trade_turnover":14882.4656,"count":118},{"id":1603332000,"open":12824.1,"close":12788.8,"high":12848.0,"low":12729.0,"amount":1.124,"vol":1124,"trade_turnover":14368.7948,"count":115},{"id":1603335600,"open":12791.7,"close":12767.2,"high":12834.4,"low":12729.0,"amount":1.194,"vol":1194,"trade_turnover":15268.9298,"count":111},{"id":1603339200,"open":12729.0,"close":12762.2,"high":12778.3,"low":12729.0,"amount":1.152,"vol":1152,"trade_turnover":14695.4876,"count":115},{"id":1603342800,"open":12763.1,"close":12813.8,"high":12842.0,"low":12730.6,"amount":1.21,"vol":1210,"trade_turnover":15440.8162,"count":119},{"id":1603346400,"open":12795.0,"close":12729.1,"high":12795.0,"low":12728.0,"amount":1.188,"vol":1188,"trade_turnover":15128.0098,"count":123},{"id":1603350000,"open":12728.6,"close":12730.6,"high":12730.6,"low":12728.3,"amount":1.266,"vol":1266,"trade_turnover":16115.1306,"count":112},{"id":1603353600,"open":12730.3,"close":12770.1,"high":12921.5,"low":12729.9,"amount":1.35,"vol":1350,"trade_turnover":17233.7326,"count":127},{"id":1603357200,"open":12824.9,"close":12780.4,"high":12872.1,"low":12760.1,"amount":0.98,"vol":980,"trade_turnover":12553.9826,"count":99},{"id":1603360800,"open":12784.9,"close":12934.2,"high":13002.7,"low":12775.6,"amount":0.266,"vol":266,"trade_turnover":3415.023,"count":30},{"id":1603364400,"open":12977.0,"close":13045.0,"high":13057.0,"low":12886.6,"amount":1.004,"vol":1004,"trade_turnover":13020.8576,"count":117},{"id":1603368000,"open":12958.5,"close":12847.9,"high":12973.4,"low":12751.6,"amount":1.134,"vol":1134,"trade_turnover":14594.2752,"count":111},{"id":1603371600,"open":12882.7,"close":12931.0,"high":13000.8,"low":12743.0,"amount":1.152,"vol":1152,"trade_turnover":14877.7314,"count":114},{"id":1603375200,"open":12890.4,"close":12917.8,"high":12995.3,"low":12783.9,"amount":1.182,"vol":1182,"trade_turnover":15224.4716,"count":115},{"id":1603378800,"open":12918.8,"close":12953.0,"high":13031.2,"low":12817.9,"amount":1.176,"vol":1176,"trade_turnover":15197.208,"count":117},{"id":1603382400,"open":12923.1,"close":13055.6,"high":13100.2,"low":12865.6,"amount":1.146,"vol":1146,"trade_turnover":14851.9604,"count":119},{"id":1603386000,"open":12967.6,"close":13082.7,"high":13105.7,"low":12835.5,"amount":1.534,"vol":1534,"trade_turnover":19927.8288,"count":124},{"id":1603389600,"open":13020.4,"close":13016.4,"high":13115.0,"low":12938.7,"amount":1.268,"vol":1268,"trade_turnover":16505.4738,"count":117},{"id":1603393200,"open":13028.3,"close":12970.6,"high":13171.2,"low":12961.8,"amount":1.13,"vol":1130,"trade_turnover":14762.952,"count":112},{"id":1603396800,"open":13016.7,"close":13089.3,"high":13216.1,"low":12998.5,"amount":1.206,"vol":1206,"trade_turnover":15807.1226,"count":117},{"id":1603400400,"open":13136.0,"close":13092.0,"high":13203.7,"low":12932.9,"amount":1.332,"vol":1332,"trade_turnover":17423.4422,"count":114},{"id":1603404000,"open":13119.4,"close":13055.9,"high":13250.5,"low":12984.7,"amount":1.21,"vol":1210,"trade_turnover":15876.0632,"count":114},{"id":1603407600,"open":13059.4,"close":12890.4,"high":13126.5,"low":12857.2,"amount":1.286,"vol":1286,"trade_turnover":16688.422,"count":116},{"id":1603411200,"open":12929.7,"close":12892.2,"high":12994.0,"low":12751.6,"amount":1.502,"vol":1502,"trade_turnover":19331.1596,"count":131},{"id":1603414800,"open":12921.7,"close":12898.3,"high":13003.2,"low":12786.0,"amount":1.386,"vol":1386,"trade_turnover":17904.8902,"count":121},{"id":1603418400,"open":12951.6,"close":12975.1,"high":13054.0,"low":12800.7,"amount":1.416,"vol":1416,"trade_turnover":18306.6204,"count":122},{"id":1603422000,"open":12967.3,"close":12947.0,"high":13030.7,"low":12875.0,"amount":1.19,"vol":1190,"trade_turnover":15409.7984,"count":118},{"id":1603425600,"open":12925.2,"close":12852.0,"high":13047.3,"low":12832.8,"amount":1.022,"vol":1022,"trade_turnover":13214.4388,"count":127},{"id":1603429200,"open":12859.0,"close":12931.1,"high":12991.7,"low":12841.2,"amount":0.478,"vol":478,"trade_turnover":6180.2486,"count":118},{"id":1603432800,"open":12935.9,"close":12939.6,"high":13014.1,"low":12871.9,"amount":0.522,"vol":522,"trade_turnover":6759.0324,"count":132},{"id":1603436400,"open":12923.1,"close":12925.4,"high":12998.9,"low":12917.1,"amount":0.476,"vol":476,"trade_turnover":6163.3118,"count":118},{"id":1603440000,"open":12942.2,"close":12962.6,"high":13014.0,"low":12916.1,"amount":0.508,"vol":508,"trade_turnover":6585.3656,"count":122},{"id":1603443600,"open":12970.5,"close":12926.4,"high":13012.5,"low":12909.9,"amount":0.564,"vol":564,"trade_turnover":7308.8828,"count":124},{"id":1603447200,"open":13001.2,"close":13007.7,"high":13059.5,"low":12925.7,"amount":0.536,"vol":536,"trade_turnover":6957.8796,"count":124},{"id":1603450800,"open":13025.4,"close":12970.6,"high":13078.4,"low":12906.5,"amount":0.486,"vol":486,"trade_turnover":6326.1434,"count":122},{"id":1603454400,"open":12963.9,"close":12935.4,"high":13025.0,"low":12850.8,"amount":0.494,"vol":494,"trade_turnover":6396.0984,"count":117},{"id":1603458000,"open":12913.3,"close":12951.7,"high":13043.3,"low":12911.0,"amount":0.466,"vol":466,"trade_turnover":6049.1412,"count":117},{"id":1603461600,"open":12999.6,"close":12858.8,"high":13006.4,"low":12840.4,"amount":0.46,"vol":460,"trade_turnover":5941.815,"count":116},{"id":1603465200,"open":12885.7,"close":12881.9,"high":12932.9,"low":12826.5,"amount":0.492,"vol":492,"trade_turnover":6340.214,"count":117},{"id":1603468800,"open":12854.4,"close":12784.1,"high":12933.5,"low":12744.4,"amount":0.484,"vol":484,"trade_turnover":6205.4138,"count":123},{"id":1603472400,"open":12832.3,"close":12847.7,"high":12893.1,"low":12730.1,"amount":0.562,"vol":562,"trade_turnover":7218.9184,"count":152},{"id":1603476000,"open":12874.1,"close":12915.7,"high":12939.3,"low":12751.4,"amount":0.53,"vol":530,"trade_turnover":6825.7004,"count":128},{"id":1603479600,"open":12867.9,"close":12972.9,"high":12972.9,"low":12786.6,"amount":0.444,"vol":444,"trade_turnover":5727.7452,"count":117},{"id":1603483200,"open":12956.7,"close":12991.6,"high":13002.2,"low":12842.9,"amount":0.492,"vol":492,"trade_turnover":6375.1566,"count":116},{"id":1603486800,"open":13004.3,"close":12943.5,"high":13004.3,"low":12936.6,"amount":0.5,"vol":500,"trade_turnover":6485.468,"count":125},{"id":1603490400,"open":12923.6,"close":12989.2,"high":13010.3,"low":12884.7,"amount":0.492,"vol":492,"trade_turnover":6376.1492,"count":120},{"id":1603494000,"open":12974.9,"close":12884.6,"high":13024.4,"low":12884.6,"amount":0.51,"vol":510,"trade_turnover":6622.3406,"count":121},{"id":1603497600,"open":12973.7,"close":12953.9,"high":13018.3,"low":12811.1,"amount":0.488,"vol":488,"trade_turnover":6317.7938,"count":120},{"id":1603501200,"open":12927.5,"close":12934.2,"high":13018.1,"low":12872.8,"amount":0.482,"vol":482,"trade_turnover":6242.4178,"count":117},{"id":1603504800,"open":12971.9,"close":12989.1,"high":13003.9,"low":12903.3,"amount":0.484,"vol":484,"trade_turnover":6278.1756,"count":117},{"id":1603508400,"open":13000.1,"close":12975.9,"high":13013.4,"low":12938.3,"amount":0.474,"vol":474,"trade_turnover":6157.7096,"count":122},{"id":1603512000,"open":12989.7,"close":12963.3,"high":13009.4,"low":12905.5,"amount":0.526,"vol":526,"trade_turnover":6831.5658,"count":124},{"id":1603515600,"open":12910.5,"close":12989.7,"high":13041.8,"low":12875.3,"amount":0.522,"vol":522,"trade_turnover":6768.8994,"count":127},{"id":1603519200,"open":12994.7,"close":13003.6,"high":13058.1,"low":12908.8,"amount":0.49,"vol":490,"trade_turnover":6370.5714,"count":120},{"id":1603522800,"open":13011.9,"close":13004.2,"high":13037.8,"low":12981.7,"amount":0.478,"vol":478,"trade_turnover":6218.9722,"count":120},{"id":1603526400,"open":13003.0,"close":12998.2,"high":13030.6,"low":12899.4,"amount":0.52,"vol":520,"trade_turnover":6754.958,"count":124},{"id":1603530000,"open":12998.2,"close":12990.6,"high":13020.3,"low":12893.6,"amount":0.454,"vol":454,"trade_turnover":5891.0574,"count":115},{"id":1603533600,"open":12996.4,"close":13030.1,"high":13059.1,"low":12913.2,"amount":0.502,"vol":502,"trade_turnover":6525.9004,"count":124},{"id":1603537200,"open":12988.4,"close":13033.2,"high":13068.3,"low":12940.2,"amount":0.468,"vol":468,"trade_turnover":6091.0376,"count":119},{"id":1603540800,"open":13035.3,"close":13006.5,"high":13071.8,"low":12978.9,"amount":0.468,"vol":468,"trade_turnover":6102.5902,"count":123},{"id":1603544400,"open":13038.8,"close":12985.9,"high":13066.7,"low":12928.1,"amount":0.534,"vol":534,"trade_turnover":6950.4268,"count":123},{"id":1603548000,"open":12986.3,"close":13042.0,"high":13100.1,"low":12960.5,"amount":0.47,"vol":470,"trade_turnover":6124.2178,"count":100},{"id":1603551600,"open":13038.4,"close":13102.2,"high":13196.5,"low":13038.4,"amount":0.456,"vol":456,"trade_turnover":5989.6362,"count":120},{"id":1603555200,"open":13136.8,"close":13052.7,"high":13176.6,"low":12984.6,"amount":0.458,"vol":458,"trade_turnover":5976.331,"count":121},{"id":1603558800,"open":13006.2,"close":13177.8,"high":13177.8,"low":13003.2,"amount":0.452,"vol":452,"trade_turnover":5911.7058,"count":118},{"id":1603562400,"open":13127.7,"close":13080.8,"high":13170.7,"low":13023.0,"amount":0.468,"vol":468,"trade_turnover":6122.375,"count":119},{"id":1603566000,"open":13040.7,"close":13148.4,"high":13179.3,"low":13014.2,"amount":0.468,"vol":468,"trade_turnover":6126.4278,"count":120},{"id":1603569600,"open":13073.5,"close":13090.1,"high":13179.6,"low":12992.5,"amount":0.47,"vol":470,"trade_turnover":6151.4758,"count":119},{"id":1603573200,"open":13035.4,"close":12993.9,"high":13148.7,"low":12980.7,"amount":0.458,"vol":458,"trade_turnover":5981.071,"count":117},{"id":1603576800,"open":13040.7,"close":13041.1,"high":13112.1,"low":12975.6,"amount":0.478,"vol":478,"trade_turnover":6225.4216,"count":118},{"id":1603580400,"open":13012.6,"close":13184.3,"high":13184.3,"low":13009.3,"amount":0.472,"vol":472,"trade_turnover":6173.4244,"count":118},{"id":1603584000,"open":13080.8,"close":13154.3,"high":13170.4,"low":13007.7,"amount":0.46,"vol":460,"trade_turnover":6024.09,"count":115},{"id":1603587600,"open":13092.0,"close":13196.1,"high":13196.8,"low":13024.0,"amount":0.398,"vol":398,"trade_turnover":5217.5364,"count":102},{"id":1603591200,"open":13124.7,"close":13082.4,"high":13175.1,"low":13035.0,"amount":0.476,"vol":476,"trade_turnover":6228.6596,"count":120},{"id":1603594800,"open":13049.1,"close":13259.0,"high":13383.8,"low":13049.1,"amount":0.578,"vol":578,"trade_turnover":7629.3886,"count":137},{"id":1603598400,"open":13277.0,"close":13243.4,"high":13369.0,"low":13216.0,"amount":0.47,"vol":470,"trade_turnover":6247.955,"count":122},{"id":1603602000,"open":13285.3,"close":13017.3,"high":13353.3,"low":13010.1,"amount":0.61,"vol":610,"trade_turnover":8048.8598,"count":134},{"id":1603605600,"open":13022.5,"close":13060.3,"high":13105.7,"low":13018.2,"amount":0.486,"vol":486,"trade_turnover":6344.1474,"count":118},{"id":1603609200,"open":13048.5,"close":13078.1,"high":13112.1,"low":13022.0,"amount":0.464,"vol":464,"trade_turnover":6061.5416,"count":120},{"id":1603612800,"open":13077.2,"close":13046.0,"high":13091.0,"low":13017.2,"amount":0.464,"vol":464,"trade_turnover":6055.3734,"count":120},{"id":1603616400,"open":13065.1,"close":13040.8,"high":13084.0,"low":13014.2,"amount":0.478,"vol":478,"trade_turnover":6235.7882,"count":117},{"id":1603620000,"open":13047.1,"close":13028.5,"high":13064.2,"low":13010.2,"amount":0.478,"vol":478,"trade_turnover":6232.2428,"count":125},{"id":1603623600,"open":13061.5,"close":12897.6,"high":13061.5,"low":12852.9,"amount":0.534,"vol":534,"trade_turnover":6918.1226,"count":123},{"id":1603627200,"open":12908.3,"close":12964.3,"high":13069.7,"low":12893.2,"amount":0.444,"vol":444,"trade_turnover":5755.8712,"count":117},{"id":1603630800,"open":13001.3,"close":12949.3,"high":13071.9,"low":12891.8,"amount":0.498,"vol":498,"trade_turnover":6465.078,"count":119},{"id":1603634400,"open":12975.8,"close":12946.8,"high":13077.7,"low":12900.0,"amount":0.468,"vol":468,"trade_turnover":6075.4554,"count":116},{"id":1603638000,"open":12975.2,"close":12883.3,"high":13069.1,"low":12883.3,"amount":0.47,"vol":470,"trade_turnover":6097.1072,"count":119},{"id":1603641600,"open":12916.2,"close":12978.7,"high":13067.9,"low":12877.5,"amount":0.482,"vol":482,"trade_turnover":6256.4472,"count":118},{"id":1603645200,"open":13008.0,"close":13004.4,"high":13087.5,"low":12922.7,"amount":0.47,"vol":470,"trade_turnover":6108.3892,"count":117},{"id":1603648800,"open":12972.8,"close":12957.2,"high":13067.6,"low":12893.6,"amount":0.468,"vol":468,"trade_turnover":6079.1484,"count":118},{"id":1603652400,"open":12996.5,"close":13021.8,"high":13066.9,"low":12916.6,"amount":0.442,"vol":442,"trade_turnover":5746.5548,"count":118},{"id":1603656000,"open":12992.9,"close":12985.4,"high":13081.5,"low":12944.9,"amount":0.508,"vol":508,"trade_turnover":6616.9872,"count":120},{"id":1603659600,"open":12999.9,"close":13011.2,"high":13068.6,"low":12921.4,"amount":0.508,"vol":508,"trade_turnover":6614.816,"count":122},{"id":1603663200,"open":12979.6,"close":12959.4,"high":13073.8,"low":12911.9,"amount":0.486,"vol":486,"trade_turnover":6320.907,"count":121},{"id":1603666800,"open":12963.4,"close":13032.1,"high":13085.2,"low":12927.8,"amount":0.452,"vol":452,"trade_turnover":5878.6442,"count":113},{"id":1603670400,"open":12964.2,"close":13001.0,"high":13076.7,"low":12918.3,"amount":0.482,"vol":482,"trade_turnover":6263.698,"count":121},{"id":1603674000,"open":13040.0,"close":13053.7,"high":13096.4,"low":12991.2,"amount":0.478,"vol":478,"trade_turnover":6232.2328,"count":124},{"id":1603677600,"open":13060.6,"close":13064.4,"high":13185.7,"low":12985.1,"amount":0.488,"vol":488,"trade_turnover":6387.534,"count":121},{"id":1603681200,"open":13032.3,"close":13092.8,"high":13187.2,"low":12984.1,"amount":0.486,"vol":486,"trade_turnover":6369.0272,"count":135},{"id":1603684800,"open":13092.0,"close":13132.6,"high":13181.6,"low":12962.3,"amount":0.51,"vol":510,"trade_turnover":6679.829,"count":131},{"id":1603688400,"open":13129.2,"close":13092.1,"high":13205.3,"low":13025.3,"amount":0.506,"vol":506,"trade_turnover":6641.2128,"count":126},{"id":1603692000,"open":13121.8,"close":13071.4,"high":13188.1,"low":12989.8,"amount":1.616,"vol":1616,"trade_turnover":21170.8224,"count":141},{"id":1603695600,"open":13061.0,"close":13038.7,"high":13100.0,"low":12965.2,"amount":3.746,"vol":3746,"trade_turnover":48924.8902,"count":110},{"id":1603699200,"open":13030.9,"close":13039.3,"high":13102.0,"low":12852.8,"amount":8.966,"vol":8966,"trade_turnover":116525.5534,"count":173},{"id":1603702800,"open":13047.1,"close":13075.9,"high":13088.4,"low":13039.8,"amount":4.48,"vol":4480,"trade_turnover":58521.1714,"count":124},{"id":1603706400,"open":13072.1,"close":13100.0,"high":13100.0,"low":13060.2,"amount":4.272,"vol":4272,"trade_turnover":55895.9778,"count":130},{"id":1603710000,"open":13100.0,"close":13138.4,"high":13159.0,"low":13100.0,"amount":29.798,"vol":29798,"trade_turnover":391138.024,"count":230},{"id":1603713600,"open":13138.8,"close":13149.8,"high":13200.0,"low":13100.0,"amount":5.154,"vol":5154,"trade_turnover":67694.652,"count":188},{"id":1603717200,"open":13150.0,"close":13205.8,"high":13351.5,"low":13133.1,"amount":35.608,"vol":35608,"trade_turnover":472780.3394,"count":328},{"id":1603720800,"open":13203.0,"close":13166.1,"high":13280.0,"low":13144.1,"amount":31.748,"vol":31748,"trade_turnover":418744.5588,"count":235},{"id":1603724400,"open":13159.0,"close":12978.0,"high":13165.2,"low":12903.8,"amount":36.53,"vol":36530,"trade_turnover":476940.3296,"count":384},{"id":1603728000,"open":12965.0,"close":12869.6,"high":13069.8,"low":12850.5,"amount":35.018,"vol":35018,"trade_turnover":453288.918,"count":323},{"id":1603731600,"open":12879.2,"close":12873.8,"high":12941.5,"low":12583.9,"amount":92.628,"vol":92628,"trade_turnover":1185973.467,"count":560},{"id":1603735200,"open":12856.2,"close":12946.8,"high":12954.5,"low":12820.4,"amount":4.302,"vol":4302,"trade_turnover":55481.0054,"count":128},{"id":1603738800,"open":12945.6,"close":12953.4,"high":12953.5,"low":12914.1,"amount":13.83,"vol":13830,"trade_turnover":179112.1598,"count":118},{"id":1603742400,"open":12953.5,"close":12983.4,"high":13007.5,"low":12953.5,"amount":17.172,"vol":17172,"trade_turnover":223230.2122,"count":132},{"id":1603746000,"open":12983.1,"close":12993.8,"high":13007.5,"low":12982.7,"amount":3.212,"vol":3212,"trade_turnover":41767.8906,"count":59},{"id":1603749600,"open":13002.1,"close":13007.5,"high":13007.5,"low":12974.0,"amount":1.504,"vol":1504,"trade_turnover":19543.3568,"count":74},{"id":1603753200,"open":13007.5,"close":13033.7,"high":13061.2,"low":13007.5,"amount":3.454,"vol":3454,"trade_turnover":45001.601,"count":101},{"id":1603756800,"open":13029.2,"close":13067.1,"high":13105.0,"low":13028.3,"amount":8.784,"vol":8784,"trade_turnover":114871.8246,"count":98},{"id":1603760400,"open":13074.3,"close":13061.7,"high":13074.4,"low":13051.5,"amount":11.592,"vol":11592,"trade_turnover":151386.9038,"count":66},{"id":1603764000,"open":13061.7,"close":13049.7,"high":13097.6,"low":13040.1,"amount":19.298,"vol":19298,"trade_turnover":252061.019,"count":109},{"id":1603767600,"open":13057.6,"close":13070.4,"high":13080.0,"low":13057.1,"amount":22.992,"vol":22992,"trade_turnover":300453.9788,"count":69},{"id":1603771200,"open":13080.0,"close":13103.3,"high":13175.0,"low":13079.6,"amount":14.396,"vol":14396,"trade_turnover":188461.9156,"count":59},{"id":1603774800,"open":13121.3,"close":13073.6,"high":13121.3,"low":13069.7,"amount":5.058,"vol":5058,"trade_turnover":66201.3552,"count":44},{"id":1603778400,"open":13074.9,"close":13103.4,"high":13149.0,"low":13069.6,"amount":9.106,"vol":9106,"trade_turnover":119104.8906,"count":107},{"id":1603782000,"open":13103.3,"close":13130.0,"high":13169.8,"low":12992.4,"amount":73.95,"vol":73950,"trade_turnover":968195.155,"count":305},{"id":1603785600,"open":13135.1,"close":13123.8,"high":13148.4,"low":13044.0,"amount":18.732,"vol":18732,"trade_turnover":245533.5448,"count":135},{"id":1603789200,"open":13115.5,"close":13131.7,"high":13131.8,"low":13075.7,"amount":13.756,"vol":13756,"trade_turnover":180253.7708,"count":102},{"id":1603792800,"open":13134.8,"close":13216.9,"high":13252.0,"low":13063.4,"amount":154.108,"vol":154108,"trade_turnover":2029983.656,"count":525},{"id":1603796400,"open":13218.8,"close":13395.8,"high":13590.1,"low":13213.5,"amount":170.09,"vol":170090,"trade_turnover":2276279.742,"count":591},{"id":1603800000,"open":13395.9,"close":13376.9,"high":13414.0,"low":13331.7,"amount":48.928,"vol":48928,"trade_turnover":654585.9108,"count":216},{"id":1603803600,"open":13376.5,"close":13384.3,"high":13490.9,"low":13329.8,"amount":63.294,"vol":63294,"trade_turnover":848130.9212,"count":316},{"id":1603807200,"open":13392.6,"close":13398.2,"high":13415.8,"low":13344.8,"amount":12.892,"vol":12892,"trade_turnover":172618.6864,"count":124},{"id":1603810800,"open":13398.2,"close":13598.5,"high":13626.7,"low":13398.2,"amount":93.22,"vol":93220,"trade_turnover":1262695.5466,"count":476},{"id":1603814400,"open":13595.8,"close":13639.9,"high":13639.9,"low":13520.2,"amount":85.45,"vol":85450,"trade_turnover":1161481.4136,"count":435},{"id":1603818000,"open":13640.0,"close":13688.1,"high":13826.7,"low":13589.0,"amount":191.812,"vol":191812,"trade_turnover":2628428.3788,"count":711},{"id":1603821600,"open":13685.0,"close":13630.1,"high":13745.0,"low":13528.2,"amount":65.434,"vol":65434,"trade_turnover":891541.8394,"count":410},{"id":1603825200,"open":13629.4,"close":13637.1,"high":13659.8,"low":13595.4,"amount":5.788,"vol":5788,"trade_turnover":78836.2578,"count":65},{"id":1603828800,"open":13644.4,"close":13616.6,"high":13805.1,"low":13582.6,"amount":163.104,"vol":163104,"trade_turnover":2234040.3544,"count":537},{"id":1603832400,"open":13609.8,"close":13705.5,"high":13753.5,"low":13609.8,"amount":9.884,"vol":9884,"trade_turnover":135406.4752,"count":101},{"id":1603836000,"open":13705.4,"close":13739.9,"high":13739.9,"low":13658.2,"amount":7.436,"vol":7436,"trade_turnover":101840.3508,"count":100},{"id":1603839600,"open":13739.9,"close":13649.6,"high":13794.6,"low":13582.6,"amount":17.086,"vol":17086,"trade_turnover":233971.8448,"count":234},{"id":1603843200,"open":13645.9,"close":13701.7,"high":13745.2,"low":13618.8,"amount":24.108,"vol":24108,"trade_turnover":330206.5694,"count":177},{"id":1603846800,"open":13702.1,"close":13702.6,"high":13725.6,"low":13647.9,"amount":15.892,"vol":15892,"trade_turnover":217816.7008,"count":151},{"id":1603850400,"open":13701.7,"close":13811.6,"high":13832.2,"low":13680.2,"amount":46.548,"vol":46548,"trade_turnover":640636.0352,"count":274},{"id":1603854000,"open":13818.5,"close":13777.0,"high":13820.3,"low":13717.5,"amount":67.896,"vol":67896,"trade_turnover":935838.2238,"count":320},{"id":1603857600,"open":13767.3,"close":13735.7,"high":13807.2,"low":13710.0,"amount":33.156,"vol":33156,"trade_turnover":455941.234,"count":210},{"id":1603861200,"open":13735.5,"close":13715.8,"high":13753.9,"low":13671.3,"amount":32.076,"vol":32076,"trade_turnover":439612.64,"count":198},{"id":1603864800,"open":13715.9,"close":13701.3,"high":13757.0,"low":13694.9,"amount":14.756,"vol":14756,"trade_turnover":202602.5164,"count":122},{"id":1603868400,"open":13701.2,"close":13674.2,"high":13708.7,"low":13550.0,"amount":155.534,"vol":155534,"trade_turnover":2117935.0928,"count":635},{"id":1603872000,"open":13673.0,"close":13691.7,"high":13691.7,"low":13584.0,"amount":29.846,"vol":29846,"trade_turnover":407073.1398,"count":240},{"id":1603875600,"open":13689.3,"close":13587.1,"high":13707.5,"low":13573.5,"amount":104.542,"vol":104542,"trade_turnover":1425079.9344,"count":377},{"id":1603879200,"open":13584.6,"close":13552.7,"high":13618.0,"low":13504.7,"amount":73.818,"vol":73818,"trade_turnover":1001666.0908,"count":358},{"id":1603882800,"open":13552.6,"close":13336.4,"high":13565.4,"low":13330.0,"amount":176.544,"vol":176544,"trade_turnover":2369166.1492,"count":1004},{"id":1603886400,"open":13331.5,"close":13300.3,"high":13385.0,"low":13173.9,"amount":289.73,"vol":289730,"trade_turnover":3846751.7166,"count":968},{"id":1603890000,"open":13300.2,"close":13129.9,"high":13340.0,"low":13122.9,"amount":139.822,"vol":139822,"trade_turnover":1848876.932,"count":612},{"id":1603893600,"open":13123.4,"close":13082.2,"high":13168.2,"low":12915.9,"amount":367.876,"vol":367876,"trade_turnover":4802516.9818,"count":1168},{"id":1603897200,"open":13077.1,"close":13221.2,"high":13235.2,"low":13052.3,"amount":84.044,"vol":84044,"trade_turnover":1106883.1282,"count":375},{"id":1603900800,"open":13218.7,"close":13145.1,"high":13218.7,"low":13050.0,"amount":29.566,"vol":29566,"trade_turnover":388697.4104,"count":244},{"id":1603904400,"open":13145.1,"close":13176.7,"high":13204.9,"low":13006.6,"amount":53.336,"vol":53336,"trade_turnover":700385.2784,"count":299},{"id":1603908000,"open":13171.0,"close":13196.5,"high":13219.6,"low":13131.0,"amount":34.164,"vol":34164,"trade_turnover":450210.5778,"count":218},{"id":1603911600,"open":13200.0,"close":13154.9,"high":13237.4,"low":13145.0,"amount":22.158,"vol":22158,"trade_turnover":292020.0438,"count":185},{"id":1603915200,"open":13154.5,"close":13198.1,"high":13211.8,"low":13147.4,"amount":4.548,"vol":4548,"trade_turnover":59991.1118,"count":75},{"id":1603918800,"open":13193.5,"close":13190.1,"high":13196.5,"low":13100.2,"amount":3.52,"vol":3520,"trade_turnover":46175.428,"count":68},{"id":1603922400,"open":13185.4,"close":13252.0,"high":13267.5,"low":13185.4,"amount":3.122,"vol":3122,"trade_turnover":41304.2018,"count":72},{"id":1603926000,"open":13242.1,"close":13265.9,"high":13282.3,"low":13235.9,"amount":14.768,"vol":14768,"trade_turnover":195689.0764,"count":86},{"id":1603929600,"open":13253.9,"close":13245.1,"high":13294.7,"low":13237.4,"amount":19.968,"vol":19968,"trade_turnover":264834.1944,"count":98},{"id":1603933200,"open":13244.6,"close":13274.2,"high":13285.3,"low":13166.3,"amount":35.282,"vol":35282,"trade_turnover":465789.6302,"count":192},{"id":1603936800,"open":13275.9,"close":13241.1,"high":13277.7,"low":13212.2,"amount":9.748,"vol":9748,"trade_turnover":129016.0684,"count":119},{"id":1603940400,"open":13237.1,"close":13262.5,"high":13262.5,"low":13174.6,"amount":27.3,"vol":27300,"trade_turnover":360589.8982,"count":199},{"id":1603944000,"open":13269.1,"close":13229.5,"high":13277.7,"low":13229.5,"amount":18.904,"vol":18904,"trade_turnover":250713.2812,"count":109},{"id":1603947600,"open":13228.5,"close":13274.8,"high":13274.8,"low":13228.5,"amount":15.822,"vol":15822,"trade_turnover":209781.909,"count":134},{"id":1603951200,"open":13274.8,"close":13255.0,"high":13323.0,"low":13242.3,"amount":91.246,"vol":91246,"trade_turnover":1211271.2788,"count":294},{"id":1603954800,"open":13255.0,"close":13142.4,"high":13269.3,"low":13123.1,"amount":187.622,"vol":187622,"trade_turnover":2478299.7074,"count":506},{"id":1603958400,"open":13145.9,"close":13124.8,"high":13182.4,"low":13094.1,"amount":69.532,"vol":69532,"trade_turnover":914157.2418,"count":226},{"id":1603962000,"open":13129.5,"close":13183.7,"high":13197.1,"low":13129.5,"amount":23.184,"vol":23184,"trade_turnover":305485.9524,"count":141},{"id":1603965600,"open":13184.8,"close":13105.2,"high":13187.5,"low":13053.1,"amount":121.146,"vol":121146,"trade_turnover":1590026.4416,"count":442},{"id":1603969200,"open":13105.1,"close":13060.1,"high":13171.4,"low":13060.1,"amount":47.498,"vol":47498,"trade_turnover":623578.149,"count":262},{"id":1603972800,"open":13056.9,"close":13131.8,"high":13145.8,"low":12977.9,"amount":126.552,"vol":126552,"trade_turnover":1652549.311,"count":481},{"id":1603976400,"open":13131.7,"close":13230.0,"high":13237.2,"low":13102.0,"amount":100.482,"vol":100482,"trade_turnover":1326403.7206,"count":325},{"id":1603980000,"open":13231.0,"close":13420.8,"high":13476.1,"low":13231.0,"amount":253.258,"vol":253258,"trade_turnover":3384941.438,"count":752},{"id":1603983600,"open":13416.0,"close":13420.6,"high":13458.7,"low":13358.7,"amount":64.71,"vol":64710,"trade_turnover":869052.3804,"count":269},{"id":1603987200,"open":13421.9,"close":13535.9,"high":13594.5,"low":13391.8,"amount":120.24,"vol":120240,"trade_turnover":1626567.8278,"count":570}]} +2024-01-18 11:13:20.076 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:41] - 请求 KLine 数据解析之后的数据为:{"wsid":19750305,"data":[{"amount":0.276,"high":12300.0,"vol":276,"low":11715.8,"count":39,"id":1603270800,"close":12196.7,"tradeTurnover":3315.9104,"open":12198.0},{"amount":0.198,"high":12289.9,"vol":198,"low":12111.0,"count":21,"id":1603274400,"close":12277.9,"tradeTurnover":2420.7728,"open":12196.7},{"amount":0.012,"high":12277.9,"vol":12,"low":12000.0,"count":5,"id":1603278000,"close":12000.0,"tradeTurnover":145.2238,"open":12111.0},{"amount":0.084,"high":12498.0,"vol":84,"low":12078.0,"count":12,"id":1603281600,"close":12497.4,"tradeTurnover":1040.0504,"open":12078.0},{"amount":1.122,"high":12495.6,"vol":1122,"low":12282.9,"count":112,"id":1603285200,"close":12373.5,"tradeTurnover":13905.3124,"open":12495.6},{"amount":5.29,"high":12807.6,"vol":5290,"low":12358.1,"count":155,"id":1603288800,"close":12689.9,"tradeTurnover":66852.128,"open":12412.9},{"amount":1.174,"high":12778.7,"vol":1174,"low":12573.2,"count":113,"id":1603292400,"close":12701.9,"tradeTurnover":14907.367,"open":12692.8},{"amount":1.156,"high":12920.9,"vol":1156,"low":12624.8,"count":115,"id":1603296000,"close":12835.9,"tradeTurnover":14802.449,"open":12679.7},{"amount":1.12,"high":12908.3,"vol":1120,"low":12687.5,"count":115,"id":1603299600,"close":12754.2,"tradeTurnover":14345.7324,"open":12848.3},{"amount":1.106,"high":12849.0,"vol":1106,"low":12668.3,"count":114,"id":1603303200,"close":12740.2,"tradeTurnover":14105.3504,"open":12743.7},{"amount":1.032,"high":12843.1,"vol":1032,"low":12597.2,"count":112,"id":1603306800,"close":12650.3,"tradeTurnover":13125.4568,"open":12729.5},{"amount":1.154,"high":12848.4,"vol":1154,"low":12610.2,"count":116,"id":1603310400,"close":12807.0,"tradeTurnover":14680.638,"open":12666.8},{"amount":1.164,"high":13005.1,"vol":1164,"low":12748.2,"count":114,"id":1603314000,"close":12938.9,"tradeTurnover":14976.9366,"open":12866.0},{"amount":1.174,"high":13211.2,"vol":1174,"low":12865.7,"count":114,"id":1603317600,"close":13122.0,"tradeTurnover":15285.2446,"open":12921.0},{"amount":1.172,"high":13173.2,"vol":1172,"low":12688.6,"count":117,"id":1603321200,"close":12829.8,"tradeTurnover":15060.9938,"open":13153.2},{"amount":1.17,"high":12988.1,"vol":1170,"low":12764.4,"count":117,"id":1603324800,"close":12885.9,"tradeTurnover":15046.2046,"open":12793.1},{"amount":1.158,"high":12972.6,"vol":1158,"low":12757.5,"count":118,"id":1603328400,"close":12757.5,"tradeTurnover":14882.4656,"open":12860.4},{"amount":1.124,"high":12848.0,"vol":1124,"low":12729.0,"count":115,"id":1603332000,"close":12788.8,"tradeTurnover":14368.7948,"open":12824.1},{"amount":1.194,"high":12834.4,"vol":1194,"low":12729.0,"count":111,"id":1603335600,"close":12767.2,"tradeTurnover":15268.9298,"open":12791.7},{"amount":1.152,"high":12778.3,"vol":1152,"low":12729.0,"count":115,"id":1603339200,"close":12762.2,"tradeTurnover":14695.4876,"open":12729.0},{"amount":1.21,"high":12842.0,"vol":1210,"low":12730.6,"count":119,"id":1603342800,"close":12813.8,"tradeTurnover":15440.8162,"open":12763.1},{"amount":1.188,"high":12795.0,"vol":1188,"low":12728.0,"count":123,"id":1603346400,"close":12729.1,"tradeTurnover":15128.0098,"open":12795.0},{"amount":1.266,"high":12730.6,"vol":1266,"low":12728.3,"count":112,"id":1603350000,"close":12730.6,"tradeTurnover":16115.1306,"open":12728.6},{"amount":1.35,"high":12921.5,"vol":1350,"low":12729.9,"count":127,"id":1603353600,"close":12770.1,"tradeTurnover":17233.7326,"open":12730.3},{"amount":0.98,"high":12872.1,"vol":980,"low":12760.1,"count":99,"id":1603357200,"close":12780.4,"tradeTurnover":12553.9826,"open":12824.9},{"amount":0.266,"high":13002.7,"vol":266,"low":12775.6,"count":30,"id":1603360800,"close":12934.2,"tradeTurnover":3415.023,"open":12784.9},{"amount":1.004,"high":13057.0,"vol":1004,"low":12886.6,"count":117,"id":1603364400,"close":13045.0,"tradeTurnover":13020.8576,"open":12977.0},{"amount":1.134,"high":12973.4,"vol":1134,"low":12751.6,"count":111,"id":1603368000,"close":12847.9,"tradeTurnover":14594.2752,"open":12958.5},{"amount":1.152,"high":13000.8,"vol":1152,"low":12743.0,"count":114,"id":1603371600,"close":12931.0,"tradeTurnover":14877.7314,"open":12882.7},{"amount":1.182,"high":12995.3,"vol":1182,"low":12783.9,"count":115,"id":1603375200,"close":12917.8,"tradeTurnover":15224.4716,"open":12890.4},{"amount":1.176,"high":13031.2,"vol":1176,"low":12817.9,"count":117,"id":1603378800,"close":12953.0,"tradeTurnover":15197.208,"open":12918.8},{"amount":1.146,"high":13100.2,"vol":1146,"low":12865.6,"count":119,"id":1603382400,"close":13055.6,"tradeTurnover":14851.9604,"open":12923.1},{"amount":1.534,"high":13105.7,"vol":1534,"low":12835.5,"count":124,"id":1603386000,"close":13082.7,"tradeTurnover":19927.8288,"open":12967.6},{"amount":1.268,"high":13115.0,"vol":1268,"low":12938.7,"count":117,"id":1603389600,"close":13016.4,"tradeTurnover":16505.4738,"open":13020.4},{"amount":1.13,"high":13171.2,"vol":1130,"low":12961.8,"count":112,"id":1603393200,"close":12970.6,"tradeTurnover":14762.952,"open":13028.3},{"amount":1.206,"high":13216.1,"vol":1206,"low":12998.5,"count":117,"id":1603396800,"close":13089.3,"tradeTurnover":15807.1226,"open":13016.7},{"amount":1.332,"high":13203.7,"vol":1332,"low":12932.9,"count":114,"id":1603400400,"close":13092.0,"tradeTurnover":17423.4422,"open":13136.0},{"amount":1.21,"high":13250.5,"vol":1210,"low":12984.7,"count":114,"id":1603404000,"close":13055.9,"tradeTurnover":15876.0632,"open":13119.4},{"amount":1.286,"high":13126.5,"vol":1286,"low":12857.2,"count":116,"id":1603407600,"close":12890.4,"tradeTurnover":16688.422,"open":13059.4},{"amount":1.502,"high":12994.0,"vol":1502,"low":12751.6,"count":131,"id":1603411200,"close":12892.2,"tradeTurnover":19331.1596,"open":12929.7},{"amount":1.386,"high":13003.2,"vol":1386,"low":12786.0,"count":121,"id":1603414800,"close":12898.3,"tradeTurnover":17904.8902,"open":12921.7},{"amount":1.416,"high":13054.0,"vol":1416,"low":12800.7,"count":122,"id":1603418400,"close":12975.1,"tradeTurnover":18306.6204,"open":12951.6},{"amount":1.19,"high":13030.7,"vol":1190,"low":12875.0,"count":118,"id":1603422000,"close":12947.0,"tradeTurnover":15409.7984,"open":12967.3},{"amount":1.022,"high":13047.3,"vol":1022,"low":12832.8,"count":127,"id":1603425600,"close":12852.0,"tradeTurnover":13214.4388,"open":12925.2},{"amount":0.478,"high":12991.7,"vol":478,"low":12841.2,"count":118,"id":1603429200,"close":12931.1,"tradeTurnover":6180.2486,"open":12859.0},{"amount":0.522,"high":13014.1,"vol":522,"low":12871.9,"count":132,"id":1603432800,"close":12939.6,"tradeTurnover":6759.0324,"open":12935.9},{"amount":0.476,"high":12998.9,"vol":476,"low":12917.1,"count":118,"id":1603436400,"close":12925.4,"tradeTurnover":6163.3118,"open":12923.1},{"amount":0.508,"high":13014.0,"vol":508,"low":12916.1,"count":122,"id":1603440000,"close":12962.6,"tradeTurnover":6585.3656,"open":12942.2},{"amount":0.564,"high":13012.5,"vol":564,"low":12909.9,"count":124,"id":1603443600,"close":12926.4,"tradeTurnover":7308.8828,"open":12970.5},{"amount":0.536,"high":13059.5,"vol":536,"low":12925.7,"count":124,"id":1603447200,"close":13007.7,"tradeTurnover":6957.8796,"open":13001.2},{"amount":0.486,"high":13078.4,"vol":486,"low":12906.5,"count":122,"id":1603450800,"close":12970.6,"tradeTurnover":6326.1434,"open":13025.4},{"amount":0.494,"high":13025.0,"vol":494,"low":12850.8,"count":117,"id":1603454400,"close":12935.4,"tradeTurnover":6396.0984,"open":12963.9},{"amount":0.466,"high":13043.3,"vol":466,"low":12911.0,"count":117,"id":1603458000,"close":12951.7,"tradeTurnover":6049.1412,"open":12913.3},{"amount":0.46,"high":13006.4,"vol":460,"low":12840.4,"count":116,"id":1603461600,"close":12858.8,"tradeTurnover":5941.815,"open":12999.6},{"amount":0.492,"high":12932.9,"vol":492,"low":12826.5,"count":117,"id":1603465200,"close":12881.9,"tradeTurnover":6340.214,"open":12885.7},{"amount":0.484,"high":12933.5,"vol":484,"low":12744.4,"count":123,"id":1603468800,"close":12784.1,"tradeTurnover":6205.4138,"open":12854.4},{"amount":0.562,"high":12893.1,"vol":562,"low":12730.1,"count":152,"id":1603472400,"close":12847.7,"tradeTurnover":7218.9184,"open":12832.3},{"amount":0.53,"high":12939.3,"vol":530,"low":12751.4,"count":128,"id":1603476000,"close":12915.7,"tradeTurnover":6825.7004,"open":12874.1},{"amount":0.444,"high":12972.9,"vol":444,"low":12786.6,"count":117,"id":1603479600,"close":12972.9,"tradeTurnover":5727.7452,"open":12867.9},{"amount":0.492,"high":13002.2,"vol":492,"low":12842.9,"count":116,"id":1603483200,"close":12991.6,"tradeTurnover":6375.1566,"open":12956.7},{"amount":0.5,"high":13004.3,"vol":500,"low":12936.6,"count":125,"id":1603486800,"close":12943.5,"tradeTurnover":6485.468,"open":13004.3},{"amount":0.492,"high":13010.3,"vol":492,"low":12884.7,"count":120,"id":1603490400,"close":12989.2,"tradeTurnover":6376.1492,"open":12923.6},{"amount":0.51,"high":13024.4,"vol":510,"low":12884.6,"count":121,"id":1603494000,"close":12884.6,"tradeTurnover":6622.3406,"open":12974.9},{"amount":0.488,"high":13018.3,"vol":488,"low":12811.1,"count":120,"id":1603497600,"close":12953.9,"tradeTurnover":6317.7938,"open":12973.7},{"amount":0.482,"high":13018.1,"vol":482,"low":12872.8,"count":117,"id":1603501200,"close":12934.2,"tradeTurnover":6242.4178,"open":12927.5},{"amount":0.484,"high":13003.9,"vol":484,"low":12903.3,"count":117,"id":1603504800,"close":12989.1,"tradeTurnover":6278.1756,"open":12971.9},{"amount":0.474,"high":13013.4,"vol":474,"low":12938.3,"count":122,"id":1603508400,"close":12975.9,"tradeTurnover":6157.7096,"open":13000.1},{"amount":0.526,"high":13009.4,"vol":526,"low":12905.5,"count":124,"id":1603512000,"close":12963.3,"tradeTurnover":6831.5658,"open":12989.7},{"amount":0.522,"high":13041.8,"vol":522,"low":12875.3,"count":127,"id":1603515600,"close":12989.7,"tradeTurnover":6768.8994,"open":12910.5},{"amount":0.49,"high":13058.1,"vol":490,"low":12908.8,"count":120,"id":1603519200,"close":13003.6,"tradeTurnover":6370.5714,"open":12994.7},{"amount":0.478,"high":13037.8,"vol":478,"low":12981.7,"count":120,"id":1603522800,"close":13004.2,"tradeTurnover":6218.9722,"open":13011.9},{"amount":0.52,"high":13030.6,"vol":520,"low":12899.4,"count":124,"id":1603526400,"close":12998.2,"tradeTurnover":6754.958,"open":13003.0},{"amount":0.454,"high":13020.3,"vol":454,"low":12893.6,"count":115,"id":1603530000,"close":12990.6,"tradeTurnover":5891.0574,"open":12998.2},{"amount":0.502,"high":13059.1,"vol":502,"low":12913.2,"count":124,"id":1603533600,"close":13030.1,"tradeTurnover":6525.9004,"open":12996.4},{"amount":0.468,"high":13068.3,"vol":468,"low":12940.2,"count":119,"id":1603537200,"close":13033.2,"tradeTurnover":6091.0376,"open":12988.4},{"amount":0.468,"high":13071.8,"vol":468,"low":12978.9,"count":123,"id":1603540800,"close":13006.5,"tradeTurnover":6102.5902,"open":13035.3},{"amount":0.534,"high":13066.7,"vol":534,"low":12928.1,"count":123,"id":1603544400,"close":12985.9,"tradeTurnover":6950.4268,"open":13038.8},{"amount":0.47,"high":13100.1,"vol":470,"low":12960.5,"count":100,"id":1603548000,"close":13042.0,"tradeTurnover":6124.2178,"open":12986.3},{"amount":0.456,"high":13196.5,"vol":456,"low":13038.4,"count":120,"id":1603551600,"close":13102.2,"tradeTurnover":5989.6362,"open":13038.4},{"amount":0.458,"high":13176.6,"vol":458,"low":12984.6,"count":121,"id":1603555200,"close":13052.7,"tradeTurnover":5976.331,"open":13136.8},{"amount":0.452,"high":13177.8,"vol":452,"low":13003.2,"count":118,"id":1603558800,"close":13177.8,"tradeTurnover":5911.7058,"open":13006.2},{"amount":0.468,"high":13170.7,"vol":468,"low":13023.0,"count":119,"id":1603562400,"close":13080.8,"tradeTurnover":6122.375,"open":13127.7},{"amount":0.468,"high":13179.3,"vol":468,"low":13014.2,"count":120,"id":1603566000,"close":13148.4,"tradeTurnover":6126.4278,"open":13040.7},{"amount":0.47,"high":13179.6,"vol":470,"low":12992.5,"count":119,"id":1603569600,"close":13090.1,"tradeTurnover":6151.4758,"open":13073.5},{"amount":0.458,"high":13148.7,"vol":458,"low":12980.7,"count":117,"id":1603573200,"close":12993.9,"tradeTurnover":5981.071,"open":13035.4},{"amount":0.478,"high":13112.1,"vol":478,"low":12975.6,"count":118,"id":1603576800,"close":13041.1,"tradeTurnover":6225.4216,"open":13040.7},{"amount":0.472,"high":13184.3,"vol":472,"low":13009.3,"count":118,"id":1603580400,"close":13184.3,"tradeTurnover":6173.4244,"open":13012.6},{"amount":0.46,"high":13170.4,"vol":460,"low":13007.7,"count":115,"id":1603584000,"close":13154.3,"tradeTurnover":6024.09,"open":13080.8},{"amount":0.398,"high":13196.8,"vol":398,"low":13024.0,"count":102,"id":1603587600,"close":13196.1,"tradeTurnover":5217.5364,"open":13092.0},{"amount":0.476,"high":13175.1,"vol":476,"low":13035.0,"count":120,"id":1603591200,"close":13082.4,"tradeTurnover":6228.6596,"open":13124.7},{"amount":0.578,"high":13383.8,"vol":578,"low":13049.1,"count":137,"id":1603594800,"close":13259.0,"tradeTurnover":7629.3886,"open":13049.1},{"amount":0.47,"high":13369.0,"vol":470,"low":13216.0,"count":122,"id":1603598400,"close":13243.4,"tradeTurnover":6247.955,"open":13277.0},{"amount":0.61,"high":13353.3,"vol":610,"low":13010.1,"count":134,"id":1603602000,"close":13017.3,"tradeTurnover":8048.8598,"open":13285.3},{"amount":0.486,"high":13105.7,"vol":486,"low":13018.2,"count":118,"id":1603605600,"close":13060.3,"tradeTurnover":6344.1474,"open":13022.5},{"amount":0.464,"high":13112.1,"vol":464,"low":13022.0,"count":120,"id":1603609200,"close":13078.1,"tradeTurnover":6061.5416,"open":13048.5},{"amount":0.464,"high":13091.0,"vol":464,"low":13017.2,"count":120,"id":1603612800,"close":13046.0,"tradeTurnover":6055.3734,"open":13077.2},{"amount":0.478,"high":13084.0,"vol":478,"low":13014.2,"count":117,"id":1603616400,"close":13040.8,"tradeTurnover":6235.7882,"open":13065.1},{"amount":0.478,"high":13064.2,"vol":478,"low":13010.2,"count":125,"id":1603620000,"close":13028.5,"tradeTurnover":6232.2428,"open":13047.1},{"amount":0.534,"high":13061.5,"vol":534,"low":12852.9,"count":123,"id":1603623600,"close":12897.6,"tradeTurnover":6918.1226,"open":13061.5},{"amount":0.444,"high":13069.7,"vol":444,"low":12893.2,"count":117,"id":1603627200,"close":12964.3,"tradeTurnover":5755.8712,"open":12908.3},{"amount":0.498,"high":13071.9,"vol":498,"low":12891.8,"count":119,"id":1603630800,"close":12949.3,"tradeTurnover":6465.078,"open":13001.3},{"amount":0.468,"high":13077.7,"vol":468,"low":12900.0,"count":116,"id":1603634400,"close":12946.8,"tradeTurnover":6075.4554,"open":12975.8},{"amount":0.47,"high":13069.1,"vol":470,"low":12883.3,"count":119,"id":1603638000,"close":12883.3,"tradeTurnover":6097.1072,"open":12975.2},{"amount":0.482,"high":13067.9,"vol":482,"low":12877.5,"count":118,"id":1603641600,"close":12978.7,"tradeTurnover":6256.4472,"open":12916.2},{"amount":0.47,"high":13087.5,"vol":470,"low":12922.7,"count":117,"id":1603645200,"close":13004.4,"tradeTurnover":6108.3892,"open":13008.0},{"amount":0.468,"high":13067.6,"vol":468,"low":12893.6,"count":118,"id":1603648800,"close":12957.2,"tradeTurnover":6079.1484,"open":12972.8},{"amount":0.442,"high":13066.9,"vol":442,"low":12916.6,"count":118,"id":1603652400,"close":13021.8,"tradeTurnover":5746.5548,"open":12996.5},{"amount":0.508,"high":13081.5,"vol":508,"low":12944.9,"count":120,"id":1603656000,"close":12985.4,"tradeTurnover":6616.9872,"open":12992.9},{"amount":0.508,"high":13068.6,"vol":508,"low":12921.4,"count":122,"id":1603659600,"close":13011.2,"tradeTurnover":6614.816,"open":12999.9},{"amount":0.486,"high":13073.8,"vol":486,"low":12911.9,"count":121,"id":1603663200,"close":12959.4,"tradeTurnover":6320.907,"open":12979.6},{"amount":0.452,"high":13085.2,"vol":452,"low":12927.8,"count":113,"id":1603666800,"close":13032.1,"tradeTurnover":5878.6442,"open":12963.4},{"amount":0.482,"high":13076.7,"vol":482,"low":12918.3,"count":121,"id":1603670400,"close":13001.0,"tradeTurnover":6263.698,"open":12964.2},{"amount":0.478,"high":13096.4,"vol":478,"low":12991.2,"count":124,"id":1603674000,"close":13053.7,"tradeTurnover":6232.2328,"open":13040.0},{"amount":0.488,"high":13185.7,"vol":488,"low":12985.1,"count":121,"id":1603677600,"close":13064.4,"tradeTurnover":6387.534,"open":13060.6},{"amount":0.486,"high":13187.2,"vol":486,"low":12984.1,"count":135,"id":1603681200,"close":13092.8,"tradeTurnover":6369.0272,"open":13032.3},{"amount":0.51,"high":13181.6,"vol":510,"low":12962.3,"count":131,"id":1603684800,"close":13132.6,"tradeTurnover":6679.829,"open":13092.0},{"amount":0.506,"high":13205.3,"vol":506,"low":13025.3,"count":126,"id":1603688400,"close":13092.1,"tradeTurnover":6641.2128,"open":13129.2},{"amount":1.616,"high":13188.1,"vol":1616,"low":12989.8,"count":141,"id":1603692000,"close":13071.4,"tradeTurnover":21170.8224,"open":13121.8},{"amount":3.746,"high":13100.0,"vol":3746,"low":12965.2,"count":110,"id":1603695600,"close":13038.7,"tradeTurnover":48924.8902,"open":13061.0},{"amount":8.966,"high":13102.0,"vol":8966,"low":12852.8,"count":173,"id":1603699200,"close":13039.3,"tradeTurnover":116525.5534,"open":13030.9},{"amount":4.48,"high":13088.4,"vol":4480,"low":13039.8,"count":124,"id":1603702800,"close":13075.9,"tradeTurnover":58521.1714,"open":13047.1},{"amount":4.272,"high":13100.0,"vol":4272,"low":13060.2,"count":130,"id":1603706400,"close":13100.0,"tradeTurnover":55895.9778,"open":13072.1},{"amount":29.798,"high":13159.0,"vol":29798,"low":13100.0,"count":230,"id":1603710000,"close":13138.4,"tradeTurnover":391138.024,"open":13100.0},{"amount":5.154,"high":13200.0,"vol":5154,"low":13100.0,"count":188,"id":1603713600,"close":13149.8,"tradeTurnover":67694.652,"open":13138.8},{"amount":35.608,"high":13351.5,"vol":35608,"low":13133.1,"count":328,"id":1603717200,"close":13205.8,"tradeTurnover":472780.3394,"open":13150.0},{"amount":31.748,"high":13280.0,"vol":31748,"low":13144.1,"count":235,"id":1603720800,"close":13166.1,"tradeTurnover":418744.5588,"open":13203.0},{"amount":36.53,"high":13165.2,"vol":36530,"low":12903.8,"count":384,"id":1603724400,"close":12978.0,"tradeTurnover":476940.3296,"open":13159.0},{"amount":35.018,"high":13069.8,"vol":35018,"low":12850.5,"count":323,"id":1603728000,"close":12869.6,"tradeTurnover":453288.918,"open":12965.0},{"amount":92.628,"high":12941.5,"vol":92628,"low":12583.9,"count":560,"id":1603731600,"close":12873.8,"tradeTurnover":1185973.467,"open":12879.2},{"amount":4.302,"high":12954.5,"vol":4302,"low":12820.4,"count":128,"id":1603735200,"close":12946.8,"tradeTurnover":55481.0054,"open":12856.2},{"amount":13.83,"high":12953.5,"vol":13830,"low":12914.1,"count":118,"id":1603738800,"close":12953.4,"tradeTurnover":179112.1598,"open":12945.6},{"amount":17.172,"high":13007.5,"vol":17172,"low":12953.5,"count":132,"id":1603742400,"close":12983.4,"tradeTurnover":223230.2122,"open":12953.5},{"amount":3.212,"high":13007.5,"vol":3212,"low":12982.7,"count":59,"id":1603746000,"close":12993.8,"tradeTurnover":41767.8906,"open":12983.1},{"amount":1.504,"high":13007.5,"vol":1504,"low":12974.0,"count":74,"id":1603749600,"close":13007.5,"tradeTurnover":19543.3568,"open":13002.1},{"amount":3.454,"high":13061.2,"vol":3454,"low":13007.5,"count":101,"id":1603753200,"close":13033.7,"tradeTurnover":45001.601,"open":13007.5},{"amount":8.784,"high":13105.0,"vol":8784,"low":13028.3,"count":98,"id":1603756800,"close":13067.1,"tradeTurnover":114871.8246,"open":13029.2},{"amount":11.592,"high":13074.4,"vol":11592,"low":13051.5,"count":66,"id":1603760400,"close":13061.7,"tradeTurnover":151386.9038,"open":13074.3},{"amount":19.298,"high":13097.6,"vol":19298,"low":13040.1,"count":109,"id":1603764000,"close":13049.7,"tradeTurnover":252061.019,"open":13061.7},{"amount":22.992,"high":13080.0,"vol":22992,"low":13057.1,"count":69,"id":1603767600,"close":13070.4,"tradeTurnover":300453.9788,"open":13057.6},{"amount":14.396,"high":13175.0,"vol":14396,"low":13079.6,"count":59,"id":1603771200,"close":13103.3,"tradeTurnover":188461.9156,"open":13080.0},{"amount":5.058,"high":13121.3,"vol":5058,"low":13069.7,"count":44,"id":1603774800,"close":13073.6,"tradeTurnover":66201.3552,"open":13121.3},{"amount":9.106,"high":13149.0,"vol":9106,"low":13069.6,"count":107,"id":1603778400,"close":13103.4,"tradeTurnover":119104.8906,"open":13074.9},{"amount":73.95,"high":13169.8,"vol":73950,"low":12992.4,"count":305,"id":1603782000,"close":13130.0,"tradeTurnover":968195.155,"open":13103.3},{"amount":18.732,"high":13148.4,"vol":18732,"low":13044.0,"count":135,"id":1603785600,"close":13123.8,"tradeTurnover":245533.5448,"open":13135.1},{"amount":13.756,"high":13131.8,"vol":13756,"low":13075.7,"count":102,"id":1603789200,"close":13131.7,"tradeTurnover":180253.7708,"open":13115.5},{"amount":154.108,"high":13252.0,"vol":154108,"low":13063.4,"count":525,"id":1603792800,"close":13216.9,"tradeTurnover":2029983.656,"open":13134.8},{"amount":170.09,"high":13590.1,"vol":170090,"low":13213.5,"count":591,"id":1603796400,"close":13395.8,"tradeTurnover":2276279.742,"open":13218.8},{"amount":48.928,"high":13414.0,"vol":48928,"low":13331.7,"count":216,"id":1603800000,"close":13376.9,"tradeTurnover":654585.9108,"open":13395.9},{"amount":63.294,"high":13490.9,"vol":63294,"low":13329.8,"count":316,"id":1603803600,"close":13384.3,"tradeTurnover":848130.9212,"open":13376.5},{"amount":12.892,"high":13415.8,"vol":12892,"low":13344.8,"count":124,"id":1603807200,"close":13398.2,"tradeTurnover":172618.6864,"open":13392.6},{"amount":93.22,"high":13626.7,"vol":93220,"low":13398.2,"count":476,"id":1603810800,"close":13598.5,"tradeTurnover":1262695.5466,"open":13398.2},{"amount":85.45,"high":13639.9,"vol":85450,"low":13520.2,"count":435,"id":1603814400,"close":13639.9,"tradeTurnover":1161481.4136,"open":13595.8},{"amount":191.812,"high":13826.7,"vol":191812,"low":13589.0,"count":711,"id":1603818000,"close":13688.1,"tradeTurnover":2628428.3788,"open":13640.0},{"amount":65.434,"high":13745.0,"vol":65434,"low":13528.2,"count":410,"id":1603821600,"close":13630.1,"tradeTurnover":891541.8394,"open":13685.0},{"amount":5.788,"high":13659.8,"vol":5788,"low":13595.4,"count":65,"id":1603825200,"close":13637.1,"tradeTurnover":78836.2578,"open":13629.4},{"amount":163.104,"high":13805.1,"vol":163104,"low":13582.6,"count":537,"id":1603828800,"close":13616.6,"tradeTurnover":2234040.3544,"open":13644.4},{"amount":9.884,"high":13753.5,"vol":9884,"low":13609.8,"count":101,"id":1603832400,"close":13705.5,"tradeTurnover":135406.4752,"open":13609.8},{"amount":7.436,"high":13739.9,"vol":7436,"low":13658.2,"count":100,"id":1603836000,"close":13739.9,"tradeTurnover":101840.3508,"open":13705.4},{"amount":17.086,"high":13794.6,"vol":17086,"low":13582.6,"count":234,"id":1603839600,"close":13649.6,"tradeTurnover":233971.8448,"open":13739.9},{"amount":24.108,"high":13745.2,"vol":24108,"low":13618.8,"count":177,"id":1603843200,"close":13701.7,"tradeTurnover":330206.5694,"open":13645.9},{"amount":15.892,"high":13725.6,"vol":15892,"low":13647.9,"count":151,"id":1603846800,"close":13702.6,"tradeTurnover":217816.7008,"open":13702.1},{"amount":46.548,"high":13832.2,"vol":46548,"low":13680.2,"count":274,"id":1603850400,"close":13811.6,"tradeTurnover":640636.0352,"open":13701.7},{"amount":67.896,"high":13820.3,"vol":67896,"low":13717.5,"count":320,"id":1603854000,"close":13777.0,"tradeTurnover":935838.2238,"open":13818.5},{"amount":33.156,"high":13807.2,"vol":33156,"low":13710.0,"count":210,"id":1603857600,"close":13735.7,"tradeTurnover":455941.234,"open":13767.3},{"amount":32.076,"high":13753.9,"vol":32076,"low":13671.3,"count":198,"id":1603861200,"close":13715.8,"tradeTurnover":439612.64,"open":13735.5},{"amount":14.756,"high":13757.0,"vol":14756,"low":13694.9,"count":122,"id":1603864800,"close":13701.3,"tradeTurnover":202602.5164,"open":13715.9},{"amount":155.534,"high":13708.7,"vol":155534,"low":13550.0,"count":635,"id":1603868400,"close":13674.2,"tradeTurnover":2117935.0928,"open":13701.2},{"amount":29.846,"high":13691.7,"vol":29846,"low":13584.0,"count":240,"id":1603872000,"close":13691.7,"tradeTurnover":407073.1398,"open":13673.0},{"amount":104.542,"high":13707.5,"vol":104542,"low":13573.5,"count":377,"id":1603875600,"close":13587.1,"tradeTurnover":1425079.9344,"open":13689.3},{"amount":73.818,"high":13618.0,"vol":73818,"low":13504.7,"count":358,"id":1603879200,"close":13552.7,"tradeTurnover":1001666.0908,"open":13584.6},{"amount":176.544,"high":13565.4,"vol":176544,"low":13330.0,"count":1004,"id":1603882800,"close":13336.4,"tradeTurnover":2369166.1492,"open":13552.6},{"amount":289.73,"high":13385.0,"vol":289730,"low":13173.9,"count":968,"id":1603886400,"close":13300.3,"tradeTurnover":3846751.7166,"open":13331.5},{"amount":139.822,"high":13340.0,"vol":139822,"low":13122.9,"count":612,"id":1603890000,"close":13129.9,"tradeTurnover":1848876.932,"open":13300.2},{"amount":367.876,"high":13168.2,"vol":367876,"low":12915.9,"count":1168,"id":1603893600,"close":13082.2,"tradeTurnover":4802516.9818,"open":13123.4},{"amount":84.044,"high":13235.2,"vol":84044,"low":13052.3,"count":375,"id":1603897200,"close":13221.2,"tradeTurnover":1106883.1282,"open":13077.1},{"amount":29.566,"high":13218.7,"vol":29566,"low":13050.0,"count":244,"id":1603900800,"close":13145.1,"tradeTurnover":388697.4104,"open":13218.7},{"amount":53.336,"high":13204.9,"vol":53336,"low":13006.6,"count":299,"id":1603904400,"close":13176.7,"tradeTurnover":700385.2784,"open":13145.1},{"amount":34.164,"high":13219.6,"vol":34164,"low":13131.0,"count":218,"id":1603908000,"close":13196.5,"tradeTurnover":450210.5778,"open":13171.0},{"amount":22.158,"high":13237.4,"vol":22158,"low":13145.0,"count":185,"id":1603911600,"close":13154.9,"tradeTurnover":292020.0438,"open":13200.0},{"amount":4.548,"high":13211.8,"vol":4548,"low":13147.4,"count":75,"id":1603915200,"close":13198.1,"tradeTurnover":59991.1118,"open":13154.5},{"amount":3.52,"high":13196.5,"vol":3520,"low":13100.2,"count":68,"id":1603918800,"close":13190.1,"tradeTurnover":46175.428,"open":13193.5},{"amount":3.122,"high":13267.5,"vol":3122,"low":13185.4,"count":72,"id":1603922400,"close":13252.0,"tradeTurnover":41304.2018,"open":13185.4},{"amount":14.768,"high":13282.3,"vol":14768,"low":13235.9,"count":86,"id":1603926000,"close":13265.9,"tradeTurnover":195689.0764,"open":13242.1},{"amount":19.968,"high":13294.7,"vol":19968,"low":13237.4,"count":98,"id":1603929600,"close":13245.1,"tradeTurnover":264834.1944,"open":13253.9},{"amount":35.282,"high":13285.3,"vol":35282,"low":13166.3,"count":192,"id":1603933200,"close":13274.2,"tradeTurnover":465789.6302,"open":13244.6},{"amount":9.748,"high":13277.7,"vol":9748,"low":13212.2,"count":119,"id":1603936800,"close":13241.1,"tradeTurnover":129016.0684,"open":13275.9},{"amount":27.3,"high":13262.5,"vol":27300,"low":13174.6,"count":199,"id":1603940400,"close":13262.5,"tradeTurnover":360589.8982,"open":13237.1},{"amount":18.904,"high":13277.7,"vol":18904,"low":13229.5,"count":109,"id":1603944000,"close":13229.5,"tradeTurnover":250713.2812,"open":13269.1},{"amount":15.822,"high":13274.8,"vol":15822,"low":13228.5,"count":134,"id":1603947600,"close":13274.8,"tradeTurnover":209781.909,"open":13228.5},{"amount":91.246,"high":13323.0,"vol":91246,"low":13242.3,"count":294,"id":1603951200,"close":13255.0,"tradeTurnover":1211271.2788,"open":13274.8},{"amount":187.622,"high":13269.3,"vol":187622,"low":13123.1,"count":506,"id":1603954800,"close":13142.4,"tradeTurnover":2478299.7074,"open":13255.0},{"amount":69.532,"high":13182.4,"vol":69532,"low":13094.1,"count":226,"id":1603958400,"close":13124.8,"tradeTurnover":914157.2418,"open":13145.9},{"amount":23.184,"high":13197.1,"vol":23184,"low":13129.5,"count":141,"id":1603962000,"close":13183.7,"tradeTurnover":305485.9524,"open":13129.5},{"amount":121.146,"high":13187.5,"vol":121146,"low":13053.1,"count":442,"id":1603965600,"close":13105.2,"tradeTurnover":1590026.4416,"open":13184.8},{"amount":47.498,"high":13171.4,"vol":47498,"low":13060.1,"count":262,"id":1603969200,"close":13060.1,"tradeTurnover":623578.149,"open":13105.1},{"amount":126.552,"high":13145.8,"vol":126552,"low":12977.9,"count":481,"id":1603972800,"close":13131.8,"tradeTurnover":1652549.311,"open":13056.9},{"amount":100.482,"high":13237.2,"vol":100482,"low":13102.0,"count":325,"id":1603976400,"close":13230.0,"tradeTurnover":1326403.7206,"open":13131.7},{"amount":253.258,"high":13476.1,"vol":253258,"low":13231.0,"count":752,"id":1603980000,"close":13420.8,"tradeTurnover":3384941.438,"open":13231.0},{"amount":64.71,"high":13458.7,"vol":64710,"low":13358.7,"count":269,"id":1603983600,"close":13420.6,"tradeTurnover":869052.3804,"open":13416.0},{"amount":120.24,"high":13594.5,"vol":120240,"low":13391.8,"count":570,"id":1603987200,"close":13535.9,"tradeTurnover":1626567.8278,"open":13421.9}],"id":"","rep":"market.BTC-USDT.kline.60min","status":"ok"} +2024-01-18 11:13:21.081 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:39] - 请求 KLine 数据用户收到的原始数据:{"id":"","rep":"market.BTC-USDT.kline.60min","ts":1705547599990,"wsid":19750305,"status":"ok","data":[{"id":1603270800,"open":12198.0,"close":12196.7,"high":12300.0,"low":11715.8,"amount":0.276,"vol":276,"trade_turnover":3315.9104,"count":39},{"id":1603274400,"open":12196.7,"close":12277.9,"high":12289.9,"low":12111.0,"amount":0.198,"vol":198,"trade_turnover":2420.7728,"count":21},{"id":1603278000,"open":12111.0,"close":12000.0,"high":12277.9,"low":12000.0,"amount":0.012,"vol":12,"trade_turnover":145.2238,"count":5},{"id":1603281600,"open":12078.0,"close":12497.4,"high":12498.0,"low":12078.0,"amount":0.084,"vol":84,"trade_turnover":1040.0504,"count":12},{"id":1603285200,"open":12495.6,"close":12373.5,"high":12495.6,"low":12282.9,"amount":1.122,"vol":1122,"trade_turnover":13905.3124,"count":112},{"id":1603288800,"open":12412.9,"close":12689.9,"high":12807.6,"low":12358.1,"amount":5.29,"vol":5290,"trade_turnover":66852.128,"count":155},{"id":1603292400,"open":12692.8,"close":12701.9,"high":12778.7,"low":12573.2,"amount":1.174,"vol":1174,"trade_turnover":14907.367,"count":113},{"id":1603296000,"open":12679.7,"close":12835.9,"high":12920.9,"low":12624.8,"amount":1.156,"vol":1156,"trade_turnover":14802.449,"count":115},{"id":1603299600,"open":12848.3,"close":12754.2,"high":12908.3,"low":12687.5,"amount":1.12,"vol":1120,"trade_turnover":14345.7324,"count":115},{"id":1603303200,"open":12743.7,"close":12740.2,"high":12849.0,"low":12668.3,"amount":1.106,"vol":1106,"trade_turnover":14105.3504,"count":114},{"id":1603306800,"open":12729.5,"close":12650.3,"high":12843.1,"low":12597.2,"amount":1.032,"vol":1032,"trade_turnover":13125.4568,"count":112},{"id":1603310400,"open":12666.8,"close":12807.0,"high":12848.4,"low":12610.2,"amount":1.154,"vol":1154,"trade_turnover":14680.638,"count":116},{"id":1603314000,"open":12866.0,"close":12938.9,"high":13005.1,"low":12748.2,"amount":1.164,"vol":1164,"trade_turnover":14976.9366,"count":114},{"id":1603317600,"open":12921.0,"close":13122.0,"high":13211.2,"low":12865.7,"amount":1.174,"vol":1174,"trade_turnover":15285.2446,"count":114},{"id":1603321200,"open":13153.2,"close":12829.8,"high":13173.2,"low":12688.6,"amount":1.172,"vol":1172,"trade_turnover":15060.9938,"count":117},{"id":1603324800,"open":12793.1,"close":12885.9,"high":12988.1,"low":12764.4,"amount":1.17,"vol":1170,"trade_turnover":15046.2046,"count":117},{"id":1603328400,"open":12860.4,"close":12757.5,"high":12972.6,"low":12757.5,"amount":1.158,"vol":1158,"trade_turnover":14882.4656,"count":118},{"id":1603332000,"open":12824.1,"close":12788.8,"high":12848.0,"low":12729.0,"amount":1.124,"vol":1124,"trade_turnover":14368.7948,"count":115},{"id":1603335600,"open":12791.7,"close":12767.2,"high":12834.4,"low":12729.0,"amount":1.194,"vol":1194,"trade_turnover":15268.9298,"count":111},{"id":1603339200,"open":12729.0,"close":12762.2,"high":12778.3,"low":12729.0,"amount":1.152,"vol":1152,"trade_turnover":14695.4876,"count":115},{"id":1603342800,"open":12763.1,"close":12813.8,"high":12842.0,"low":12730.6,"amount":1.21,"vol":1210,"trade_turnover":15440.8162,"count":119},{"id":1603346400,"open":12795.0,"close":12729.1,"high":12795.0,"low":12728.0,"amount":1.188,"vol":1188,"trade_turnover":15128.0098,"count":123},{"id":1603350000,"open":12728.6,"close":12730.6,"high":12730.6,"low":12728.3,"amount":1.266,"vol":1266,"trade_turnover":16115.1306,"count":112},{"id":1603353600,"open":12730.3,"close":12770.1,"high":12921.5,"low":12729.9,"amount":1.35,"vol":1350,"trade_turnover":17233.7326,"count":127},{"id":1603357200,"open":12824.9,"close":12780.4,"high":12872.1,"low":12760.1,"amount":0.98,"vol":980,"trade_turnover":12553.9826,"count":99},{"id":1603360800,"open":12784.9,"close":12934.2,"high":13002.7,"low":12775.6,"amount":0.266,"vol":266,"trade_turnover":3415.023,"count":30},{"id":1603364400,"open":12977.0,"close":13045.0,"high":13057.0,"low":12886.6,"amount":1.004,"vol":1004,"trade_turnover":13020.8576,"count":117},{"id":1603368000,"open":12958.5,"close":12847.9,"high":12973.4,"low":12751.6,"amount":1.134,"vol":1134,"trade_turnover":14594.2752,"count":111},{"id":1603371600,"open":12882.7,"close":12931.0,"high":13000.8,"low":12743.0,"amount":1.152,"vol":1152,"trade_turnover":14877.7314,"count":114},{"id":1603375200,"open":12890.4,"close":12917.8,"high":12995.3,"low":12783.9,"amount":1.182,"vol":1182,"trade_turnover":15224.4716,"count":115},{"id":1603378800,"open":12918.8,"close":12953.0,"high":13031.2,"low":12817.9,"amount":1.176,"vol":1176,"trade_turnover":15197.208,"count":117},{"id":1603382400,"open":12923.1,"close":13055.6,"high":13100.2,"low":12865.6,"amount":1.146,"vol":1146,"trade_turnover":14851.9604,"count":119},{"id":1603386000,"open":12967.6,"close":13082.7,"high":13105.7,"low":12835.5,"amount":1.534,"vol":1534,"trade_turnover":19927.8288,"count":124},{"id":1603389600,"open":13020.4,"close":13016.4,"high":13115.0,"low":12938.7,"amount":1.268,"vol":1268,"trade_turnover":16505.4738,"count":117},{"id":1603393200,"open":13028.3,"close":12970.6,"high":13171.2,"low":12961.8,"amount":1.13,"vol":1130,"trade_turnover":14762.952,"count":112},{"id":1603396800,"open":13016.7,"close":13089.3,"high":13216.1,"low":12998.5,"amount":1.206,"vol":1206,"trade_turnover":15807.1226,"count":117},{"id":1603400400,"open":13136.0,"close":13092.0,"high":13203.7,"low":12932.9,"amount":1.332,"vol":1332,"trade_turnover":17423.4422,"count":114},{"id":1603404000,"open":13119.4,"close":13055.9,"high":13250.5,"low":12984.7,"amount":1.21,"vol":1210,"trade_turnover":15876.0632,"count":114},{"id":1603407600,"open":13059.4,"close":12890.4,"high":13126.5,"low":12857.2,"amount":1.286,"vol":1286,"trade_turnover":16688.422,"count":116},{"id":1603411200,"open":12929.7,"close":12892.2,"high":12994.0,"low":12751.6,"amount":1.502,"vol":1502,"trade_turnover":19331.1596,"count":131},{"id":1603414800,"open":12921.7,"close":12898.3,"high":13003.2,"low":12786.0,"amount":1.386,"vol":1386,"trade_turnover":17904.8902,"count":121},{"id":1603418400,"open":12951.6,"close":12975.1,"high":13054.0,"low":12800.7,"amount":1.416,"vol":1416,"trade_turnover":18306.6204,"count":122},{"id":1603422000,"open":12967.3,"close":12947.0,"high":13030.7,"low":12875.0,"amount":1.19,"vol":1190,"trade_turnover":15409.7984,"count":118},{"id":1603425600,"open":12925.2,"close":12852.0,"high":13047.3,"low":12832.8,"amount":1.022,"vol":1022,"trade_turnover":13214.4388,"count":127},{"id":1603429200,"open":12859.0,"close":12931.1,"high":12991.7,"low":12841.2,"amount":0.478,"vol":478,"trade_turnover":6180.2486,"count":118},{"id":1603432800,"open":12935.9,"close":12939.6,"high":13014.1,"low":12871.9,"amount":0.522,"vol":522,"trade_turnover":6759.0324,"count":132},{"id":1603436400,"open":12923.1,"close":12925.4,"high":12998.9,"low":12917.1,"amount":0.476,"vol":476,"trade_turnover":6163.3118,"count":118},{"id":1603440000,"open":12942.2,"close":12962.6,"high":13014.0,"low":12916.1,"amount":0.508,"vol":508,"trade_turnover":6585.3656,"count":122},{"id":1603443600,"open":12970.5,"close":12926.4,"high":13012.5,"low":12909.9,"amount":0.564,"vol":564,"trade_turnover":7308.8828,"count":124},{"id":1603447200,"open":13001.2,"close":13007.7,"high":13059.5,"low":12925.7,"amount":0.536,"vol":536,"trade_turnover":6957.8796,"count":124},{"id":1603450800,"open":13025.4,"close":12970.6,"high":13078.4,"low":12906.5,"amount":0.486,"vol":486,"trade_turnover":6326.1434,"count":122},{"id":1603454400,"open":12963.9,"close":12935.4,"high":13025.0,"low":12850.8,"amount":0.494,"vol":494,"trade_turnover":6396.0984,"count":117},{"id":1603458000,"open":12913.3,"close":12951.7,"high":13043.3,"low":12911.0,"amount":0.466,"vol":466,"trade_turnover":6049.1412,"count":117},{"id":1603461600,"open":12999.6,"close":12858.8,"high":13006.4,"low":12840.4,"amount":0.46,"vol":460,"trade_turnover":5941.815,"count":116},{"id":1603465200,"open":12885.7,"close":12881.9,"high":12932.9,"low":12826.5,"amount":0.492,"vol":492,"trade_turnover":6340.214,"count":117},{"id":1603468800,"open":12854.4,"close":12784.1,"high":12933.5,"low":12744.4,"amount":0.484,"vol":484,"trade_turnover":6205.4138,"count":123},{"id":1603472400,"open":12832.3,"close":12847.7,"high":12893.1,"low":12730.1,"amount":0.562,"vol":562,"trade_turnover":7218.9184,"count":152},{"id":1603476000,"open":12874.1,"close":12915.7,"high":12939.3,"low":12751.4,"amount":0.53,"vol":530,"trade_turnover":6825.7004,"count":128},{"id":1603479600,"open":12867.9,"close":12972.9,"high":12972.9,"low":12786.6,"amount":0.444,"vol":444,"trade_turnover":5727.7452,"count":117},{"id":1603483200,"open":12956.7,"close":12991.6,"high":13002.2,"low":12842.9,"amount":0.492,"vol":492,"trade_turnover":6375.1566,"count":116},{"id":1603486800,"open":13004.3,"close":12943.5,"high":13004.3,"low":12936.6,"amount":0.5,"vol":500,"trade_turnover":6485.468,"count":125},{"id":1603490400,"open":12923.6,"close":12989.2,"high":13010.3,"low":12884.7,"amount":0.492,"vol":492,"trade_turnover":6376.1492,"count":120},{"id":1603494000,"open":12974.9,"close":12884.6,"high":13024.4,"low":12884.6,"amount":0.51,"vol":510,"trade_turnover":6622.3406,"count":121},{"id":1603497600,"open":12973.7,"close":12953.9,"high":13018.3,"low":12811.1,"amount":0.488,"vol":488,"trade_turnover":6317.7938,"count":120},{"id":1603501200,"open":12927.5,"close":12934.2,"high":13018.1,"low":12872.8,"amount":0.482,"vol":482,"trade_turnover":6242.4178,"count":117},{"id":1603504800,"open":12971.9,"close":12989.1,"high":13003.9,"low":12903.3,"amount":0.484,"vol":484,"trade_turnover":6278.1756,"count":117},{"id":1603508400,"open":13000.1,"close":12975.9,"high":13013.4,"low":12938.3,"amount":0.474,"vol":474,"trade_turnover":6157.7096,"count":122},{"id":1603512000,"open":12989.7,"close":12963.3,"high":13009.4,"low":12905.5,"amount":0.526,"vol":526,"trade_turnover":6831.5658,"count":124},{"id":1603515600,"open":12910.5,"close":12989.7,"high":13041.8,"low":12875.3,"amount":0.522,"vol":522,"trade_turnover":6768.8994,"count":127},{"id":1603519200,"open":12994.7,"close":13003.6,"high":13058.1,"low":12908.8,"amount":0.49,"vol":490,"trade_turnover":6370.5714,"count":120},{"id":1603522800,"open":13011.9,"close":13004.2,"high":13037.8,"low":12981.7,"amount":0.478,"vol":478,"trade_turnover":6218.9722,"count":120},{"id":1603526400,"open":13003.0,"close":12998.2,"high":13030.6,"low":12899.4,"amount":0.52,"vol":520,"trade_turnover":6754.958,"count":124},{"id":1603530000,"open":12998.2,"close":12990.6,"high":13020.3,"low":12893.6,"amount":0.454,"vol":454,"trade_turnover":5891.0574,"count":115},{"id":1603533600,"open":12996.4,"close":13030.1,"high":13059.1,"low":12913.2,"amount":0.502,"vol":502,"trade_turnover":6525.9004,"count":124},{"id":1603537200,"open":12988.4,"close":13033.2,"high":13068.3,"low":12940.2,"amount":0.468,"vol":468,"trade_turnover":6091.0376,"count":119},{"id":1603540800,"open":13035.3,"close":13006.5,"high":13071.8,"low":12978.9,"amount":0.468,"vol":468,"trade_turnover":6102.5902,"count":123},{"id":1603544400,"open":13038.8,"close":12985.9,"high":13066.7,"low":12928.1,"amount":0.534,"vol":534,"trade_turnover":6950.4268,"count":123},{"id":1603548000,"open":12986.3,"close":13042.0,"high":13100.1,"low":12960.5,"amount":0.47,"vol":470,"trade_turnover":6124.2178,"count":100},{"id":1603551600,"open":13038.4,"close":13102.2,"high":13196.5,"low":13038.4,"amount":0.456,"vol":456,"trade_turnover":5989.6362,"count":120},{"id":1603555200,"open":13136.8,"close":13052.7,"high":13176.6,"low":12984.6,"amount":0.458,"vol":458,"trade_turnover":5976.331,"count":121},{"id":1603558800,"open":13006.2,"close":13177.8,"high":13177.8,"low":13003.2,"amount":0.452,"vol":452,"trade_turnover":5911.7058,"count":118},{"id":1603562400,"open":13127.7,"close":13080.8,"high":13170.7,"low":13023.0,"amount":0.468,"vol":468,"trade_turnover":6122.375,"count":119},{"id":1603566000,"open":13040.7,"close":13148.4,"high":13179.3,"low":13014.2,"amount":0.468,"vol":468,"trade_turnover":6126.4278,"count":120},{"id":1603569600,"open":13073.5,"close":13090.1,"high":13179.6,"low":12992.5,"amount":0.47,"vol":470,"trade_turnover":6151.4758,"count":119},{"id":1603573200,"open":13035.4,"close":12993.9,"high":13148.7,"low":12980.7,"amount":0.458,"vol":458,"trade_turnover":5981.071,"count":117},{"id":1603576800,"open":13040.7,"close":13041.1,"high":13112.1,"low":12975.6,"amount":0.478,"vol":478,"trade_turnover":6225.4216,"count":118},{"id":1603580400,"open":13012.6,"close":13184.3,"high":13184.3,"low":13009.3,"amount":0.472,"vol":472,"trade_turnover":6173.4244,"count":118},{"id":1603584000,"open":13080.8,"close":13154.3,"high":13170.4,"low":13007.7,"amount":0.46,"vol":460,"trade_turnover":6024.09,"count":115},{"id":1603587600,"open":13092.0,"close":13196.1,"high":13196.8,"low":13024.0,"amount":0.398,"vol":398,"trade_turnover":5217.5364,"count":102},{"id":1603591200,"open":13124.7,"close":13082.4,"high":13175.1,"low":13035.0,"amount":0.476,"vol":476,"trade_turnover":6228.6596,"count":120},{"id":1603594800,"open":13049.1,"close":13259.0,"high":13383.8,"low":13049.1,"amount":0.578,"vol":578,"trade_turnover":7629.3886,"count":137},{"id":1603598400,"open":13277.0,"close":13243.4,"high":13369.0,"low":13216.0,"amount":0.47,"vol":470,"trade_turnover":6247.955,"count":122},{"id":1603602000,"open":13285.3,"close":13017.3,"high":13353.3,"low":13010.1,"amount":0.61,"vol":610,"trade_turnover":8048.8598,"count":134},{"id":1603605600,"open":13022.5,"close":13060.3,"high":13105.7,"low":13018.2,"amount":0.486,"vol":486,"trade_turnover":6344.1474,"count":118},{"id":1603609200,"open":13048.5,"close":13078.1,"high":13112.1,"low":13022.0,"amount":0.464,"vol":464,"trade_turnover":6061.5416,"count":120},{"id":1603612800,"open":13077.2,"close":13046.0,"high":13091.0,"low":13017.2,"amount":0.464,"vol":464,"trade_turnover":6055.3734,"count":120},{"id":1603616400,"open":13065.1,"close":13040.8,"high":13084.0,"low":13014.2,"amount":0.478,"vol":478,"trade_turnover":6235.7882,"count":117},{"id":1603620000,"open":13047.1,"close":13028.5,"high":13064.2,"low":13010.2,"amount":0.478,"vol":478,"trade_turnover":6232.2428,"count":125},{"id":1603623600,"open":13061.5,"close":12897.6,"high":13061.5,"low":12852.9,"amount":0.534,"vol":534,"trade_turnover":6918.1226,"count":123},{"id":1603627200,"open":12908.3,"close":12964.3,"high":13069.7,"low":12893.2,"amount":0.444,"vol":444,"trade_turnover":5755.8712,"count":117},{"id":1603630800,"open":13001.3,"close":12949.3,"high":13071.9,"low":12891.8,"amount":0.498,"vol":498,"trade_turnover":6465.078,"count":119},{"id":1603634400,"open":12975.8,"close":12946.8,"high":13077.7,"low":12900.0,"amount":0.468,"vol":468,"trade_turnover":6075.4554,"count":116},{"id":1603638000,"open":12975.2,"close":12883.3,"high":13069.1,"low":12883.3,"amount":0.47,"vol":470,"trade_turnover":6097.1072,"count":119},{"id":1603641600,"open":12916.2,"close":12978.7,"high":13067.9,"low":12877.5,"amount":0.482,"vol":482,"trade_turnover":6256.4472,"count":118},{"id":1603645200,"open":13008.0,"close":13004.4,"high":13087.5,"low":12922.7,"amount":0.47,"vol":470,"trade_turnover":6108.3892,"count":117},{"id":1603648800,"open":12972.8,"close":12957.2,"high":13067.6,"low":12893.6,"amount":0.468,"vol":468,"trade_turnover":6079.1484,"count":118},{"id":1603652400,"open":12996.5,"close":13021.8,"high":13066.9,"low":12916.6,"amount":0.442,"vol":442,"trade_turnover":5746.5548,"count":118},{"id":1603656000,"open":12992.9,"close":12985.4,"high":13081.5,"low":12944.9,"amount":0.508,"vol":508,"trade_turnover":6616.9872,"count":120},{"id":1603659600,"open":12999.9,"close":13011.2,"high":13068.6,"low":12921.4,"amount":0.508,"vol":508,"trade_turnover":6614.816,"count":122},{"id":1603663200,"open":12979.6,"close":12959.4,"high":13073.8,"low":12911.9,"amount":0.486,"vol":486,"trade_turnover":6320.907,"count":121},{"id":1603666800,"open":12963.4,"close":13032.1,"high":13085.2,"low":12927.8,"amount":0.452,"vol":452,"trade_turnover":5878.6442,"count":113},{"id":1603670400,"open":12964.2,"close":13001.0,"high":13076.7,"low":12918.3,"amount":0.482,"vol":482,"trade_turnover":6263.698,"count":121},{"id":1603674000,"open":13040.0,"close":13053.7,"high":13096.4,"low":12991.2,"amount":0.478,"vol":478,"trade_turnover":6232.2328,"count":124},{"id":1603677600,"open":13060.6,"close":13064.4,"high":13185.7,"low":12985.1,"amount":0.488,"vol":488,"trade_turnover":6387.534,"count":121},{"id":1603681200,"open":13032.3,"close":13092.8,"high":13187.2,"low":12984.1,"amount":0.486,"vol":486,"trade_turnover":6369.0272,"count":135},{"id":1603684800,"open":13092.0,"close":13132.6,"high":13181.6,"low":12962.3,"amount":0.51,"vol":510,"trade_turnover":6679.829,"count":131},{"id":1603688400,"open":13129.2,"close":13092.1,"high":13205.3,"low":13025.3,"amount":0.506,"vol":506,"trade_turnover":6641.2128,"count":126},{"id":1603692000,"open":13121.8,"close":13071.4,"high":13188.1,"low":12989.8,"amount":1.616,"vol":1616,"trade_turnover":21170.8224,"count":141},{"id":1603695600,"open":13061.0,"close":13038.7,"high":13100.0,"low":12965.2,"amount":3.746,"vol":3746,"trade_turnover":48924.8902,"count":110},{"id":1603699200,"open":13030.9,"close":13039.3,"high":13102.0,"low":12852.8,"amount":8.966,"vol":8966,"trade_turnover":116525.5534,"count":173},{"id":1603702800,"open":13047.1,"close":13075.9,"high":13088.4,"low":13039.8,"amount":4.48,"vol":4480,"trade_turnover":58521.1714,"count":124},{"id":1603706400,"open":13072.1,"close":13100.0,"high":13100.0,"low":13060.2,"amount":4.272,"vol":4272,"trade_turnover":55895.9778,"count":130},{"id":1603710000,"open":13100.0,"close":13138.4,"high":13159.0,"low":13100.0,"amount":29.798,"vol":29798,"trade_turnover":391138.024,"count":230},{"id":1603713600,"open":13138.8,"close":13149.8,"high":13200.0,"low":13100.0,"amount":5.154,"vol":5154,"trade_turnover":67694.652,"count":188},{"id":1603717200,"open":13150.0,"close":13205.8,"high":13351.5,"low":13133.1,"amount":35.608,"vol":35608,"trade_turnover":472780.3394,"count":328},{"id":1603720800,"open":13203.0,"close":13166.1,"high":13280.0,"low":13144.1,"amount":31.748,"vol":31748,"trade_turnover":418744.5588,"count":235},{"id":1603724400,"open":13159.0,"close":12978.0,"high":13165.2,"low":12903.8,"amount":36.53,"vol":36530,"trade_turnover":476940.3296,"count":384},{"id":1603728000,"open":12965.0,"close":12869.6,"high":13069.8,"low":12850.5,"amount":35.018,"vol":35018,"trade_turnover":453288.918,"count":323},{"id":1603731600,"open":12879.2,"close":12873.8,"high":12941.5,"low":12583.9,"amount":92.628,"vol":92628,"trade_turnover":1185973.467,"count":560},{"id":1603735200,"open":12856.2,"close":12946.8,"high":12954.5,"low":12820.4,"amount":4.302,"vol":4302,"trade_turnover":55481.0054,"count":128},{"id":1603738800,"open":12945.6,"close":12953.4,"high":12953.5,"low":12914.1,"amount":13.83,"vol":13830,"trade_turnover":179112.1598,"count":118},{"id":1603742400,"open":12953.5,"close":12983.4,"high":13007.5,"low":12953.5,"amount":17.172,"vol":17172,"trade_turnover":223230.2122,"count":132},{"id":1603746000,"open":12983.1,"close":12993.8,"high":13007.5,"low":12982.7,"amount":3.212,"vol":3212,"trade_turnover":41767.8906,"count":59},{"id":1603749600,"open":13002.1,"close":13007.5,"high":13007.5,"low":12974.0,"amount":1.504,"vol":1504,"trade_turnover":19543.3568,"count":74},{"id":1603753200,"open":13007.5,"close":13033.7,"high":13061.2,"low":13007.5,"amount":3.454,"vol":3454,"trade_turnover":45001.601,"count":101},{"id":1603756800,"open":13029.2,"close":13067.1,"high":13105.0,"low":13028.3,"amount":8.784,"vol":8784,"trade_turnover":114871.8246,"count":98},{"id":1603760400,"open":13074.3,"close":13061.7,"high":13074.4,"low":13051.5,"amount":11.592,"vol":11592,"trade_turnover":151386.9038,"count":66},{"id":1603764000,"open":13061.7,"close":13049.7,"high":13097.6,"low":13040.1,"amount":19.298,"vol":19298,"trade_turnover":252061.019,"count":109},{"id":1603767600,"open":13057.6,"close":13070.4,"high":13080.0,"low":13057.1,"amount":22.992,"vol":22992,"trade_turnover":300453.9788,"count":69},{"id":1603771200,"open":13080.0,"close":13103.3,"high":13175.0,"low":13079.6,"amount":14.396,"vol":14396,"trade_turnover":188461.9156,"count":59},{"id":1603774800,"open":13121.3,"close":13073.6,"high":13121.3,"low":13069.7,"amount":5.058,"vol":5058,"trade_turnover":66201.3552,"count":44},{"id":1603778400,"open":13074.9,"close":13103.4,"high":13149.0,"low":13069.6,"amount":9.106,"vol":9106,"trade_turnover":119104.8906,"count":107},{"id":1603782000,"open":13103.3,"close":13130.0,"high":13169.8,"low":12992.4,"amount":73.95,"vol":73950,"trade_turnover":968195.155,"count":305},{"id":1603785600,"open":13135.1,"close":13123.8,"high":13148.4,"low":13044.0,"amount":18.732,"vol":18732,"trade_turnover":245533.5448,"count":135},{"id":1603789200,"open":13115.5,"close":13131.7,"high":13131.8,"low":13075.7,"amount":13.756,"vol":13756,"trade_turnover":180253.7708,"count":102},{"id":1603792800,"open":13134.8,"close":13216.9,"high":13252.0,"low":13063.4,"amount":154.108,"vol":154108,"trade_turnover":2029983.656,"count":525},{"id":1603796400,"open":13218.8,"close":13395.8,"high":13590.1,"low":13213.5,"amount":170.09,"vol":170090,"trade_turnover":2276279.742,"count":591},{"id":1603800000,"open":13395.9,"close":13376.9,"high":13414.0,"low":13331.7,"amount":48.928,"vol":48928,"trade_turnover":654585.9108,"count":216},{"id":1603803600,"open":13376.5,"close":13384.3,"high":13490.9,"low":13329.8,"amount":63.294,"vol":63294,"trade_turnover":848130.9212,"count":316},{"id":1603807200,"open":13392.6,"close":13398.2,"high":13415.8,"low":13344.8,"amount":12.892,"vol":12892,"trade_turnover":172618.6864,"count":124},{"id":1603810800,"open":13398.2,"close":13598.5,"high":13626.7,"low":13398.2,"amount":93.22,"vol":93220,"trade_turnover":1262695.5466,"count":476},{"id":1603814400,"open":13595.8,"close":13639.9,"high":13639.9,"low":13520.2,"amount":85.45,"vol":85450,"trade_turnover":1161481.4136,"count":435},{"id":1603818000,"open":13640.0,"close":13688.1,"high":13826.7,"low":13589.0,"amount":191.812,"vol":191812,"trade_turnover":2628428.3788,"count":711},{"id":1603821600,"open":13685.0,"close":13630.1,"high":13745.0,"low":13528.2,"amount":65.434,"vol":65434,"trade_turnover":891541.8394,"count":410},{"id":1603825200,"open":13629.4,"close":13637.1,"high":13659.8,"low":13595.4,"amount":5.788,"vol":5788,"trade_turnover":78836.2578,"count":65},{"id":1603828800,"open":13644.4,"close":13616.6,"high":13805.1,"low":13582.6,"amount":163.104,"vol":163104,"trade_turnover":2234040.3544,"count":537},{"id":1603832400,"open":13609.8,"close":13705.5,"high":13753.5,"low":13609.8,"amount":9.884,"vol":9884,"trade_turnover":135406.4752,"count":101},{"id":1603836000,"open":13705.4,"close":13739.9,"high":13739.9,"low":13658.2,"amount":7.436,"vol":7436,"trade_turnover":101840.3508,"count":100},{"id":1603839600,"open":13739.9,"close":13649.6,"high":13794.6,"low":13582.6,"amount":17.086,"vol":17086,"trade_turnover":233971.8448,"count":234},{"id":1603843200,"open":13645.9,"close":13701.7,"high":13745.2,"low":13618.8,"amount":24.108,"vol":24108,"trade_turnover":330206.5694,"count":177},{"id":1603846800,"open":13702.1,"close":13702.6,"high":13725.6,"low":13647.9,"amount":15.892,"vol":15892,"trade_turnover":217816.7008,"count":151},{"id":1603850400,"open":13701.7,"close":13811.6,"high":13832.2,"low":13680.2,"amount":46.548,"vol":46548,"trade_turnover":640636.0352,"count":274},{"id":1603854000,"open":13818.5,"close":13777.0,"high":13820.3,"low":13717.5,"amount":67.896,"vol":67896,"trade_turnover":935838.2238,"count":320},{"id":1603857600,"open":13767.3,"close":13735.7,"high":13807.2,"low":13710.0,"amount":33.156,"vol":33156,"trade_turnover":455941.234,"count":210},{"id":1603861200,"open":13735.5,"close":13715.8,"high":13753.9,"low":13671.3,"amount":32.076,"vol":32076,"trade_turnover":439612.64,"count":198},{"id":1603864800,"open":13715.9,"close":13701.3,"high":13757.0,"low":13694.9,"amount":14.756,"vol":14756,"trade_turnover":202602.5164,"count":122},{"id":1603868400,"open":13701.2,"close":13674.2,"high":13708.7,"low":13550.0,"amount":155.534,"vol":155534,"trade_turnover":2117935.0928,"count":635},{"id":1603872000,"open":13673.0,"close":13691.7,"high":13691.7,"low":13584.0,"amount":29.846,"vol":29846,"trade_turnover":407073.1398,"count":240},{"id":1603875600,"open":13689.3,"close":13587.1,"high":13707.5,"low":13573.5,"amount":104.542,"vol":104542,"trade_turnover":1425079.9344,"count":377},{"id":1603879200,"open":13584.6,"close":13552.7,"high":13618.0,"low":13504.7,"amount":73.818,"vol":73818,"trade_turnover":1001666.0908,"count":358},{"id":1603882800,"open":13552.6,"close":13336.4,"high":13565.4,"low":13330.0,"amount":176.544,"vol":176544,"trade_turnover":2369166.1492,"count":1004},{"id":1603886400,"open":13331.5,"close":13300.3,"high":13385.0,"low":13173.9,"amount":289.73,"vol":289730,"trade_turnover":3846751.7166,"count":968},{"id":1603890000,"open":13300.2,"close":13129.9,"high":13340.0,"low":13122.9,"amount":139.822,"vol":139822,"trade_turnover":1848876.932,"count":612},{"id":1603893600,"open":13123.4,"close":13082.2,"high":13168.2,"low":12915.9,"amount":367.876,"vol":367876,"trade_turnover":4802516.9818,"count":1168},{"id":1603897200,"open":13077.1,"close":13221.2,"high":13235.2,"low":13052.3,"amount":84.044,"vol":84044,"trade_turnover":1106883.1282,"count":375},{"id":1603900800,"open":13218.7,"close":13145.1,"high":13218.7,"low":13050.0,"amount":29.566,"vol":29566,"trade_turnover":388697.4104,"count":244},{"id":1603904400,"open":13145.1,"close":13176.7,"high":13204.9,"low":13006.6,"amount":53.336,"vol":53336,"trade_turnover":700385.2784,"count":299},{"id":1603908000,"open":13171.0,"close":13196.5,"high":13219.6,"low":13131.0,"amount":34.164,"vol":34164,"trade_turnover":450210.5778,"count":218},{"id":1603911600,"open":13200.0,"close":13154.9,"high":13237.4,"low":13145.0,"amount":22.158,"vol":22158,"trade_turnover":292020.0438,"count":185},{"id":1603915200,"open":13154.5,"close":13198.1,"high":13211.8,"low":13147.4,"amount":4.548,"vol":4548,"trade_turnover":59991.1118,"count":75},{"id":1603918800,"open":13193.5,"close":13190.1,"high":13196.5,"low":13100.2,"amount":3.52,"vol":3520,"trade_turnover":46175.428,"count":68},{"id":1603922400,"open":13185.4,"close":13252.0,"high":13267.5,"low":13185.4,"amount":3.122,"vol":3122,"trade_turnover":41304.2018,"count":72},{"id":1603926000,"open":13242.1,"close":13265.9,"high":13282.3,"low":13235.9,"amount":14.768,"vol":14768,"trade_turnover":195689.0764,"count":86},{"id":1603929600,"open":13253.9,"close":13245.1,"high":13294.7,"low":13237.4,"amount":19.968,"vol":19968,"trade_turnover":264834.1944,"count":98},{"id":1603933200,"open":13244.6,"close":13274.2,"high":13285.3,"low":13166.3,"amount":35.282,"vol":35282,"trade_turnover":465789.6302,"count":192},{"id":1603936800,"open":13275.9,"close":13241.1,"high":13277.7,"low":13212.2,"amount":9.748,"vol":9748,"trade_turnover":129016.0684,"count":119},{"id":1603940400,"open":13237.1,"close":13262.5,"high":13262.5,"low":13174.6,"amount":27.3,"vol":27300,"trade_turnover":360589.8982,"count":199},{"id":1603944000,"open":13269.1,"close":13229.5,"high":13277.7,"low":13229.5,"amount":18.904,"vol":18904,"trade_turnover":250713.2812,"count":109},{"id":1603947600,"open":13228.5,"close":13274.8,"high":13274.8,"low":13228.5,"amount":15.822,"vol":15822,"trade_turnover":209781.909,"count":134},{"id":1603951200,"open":13274.8,"close":13255.0,"high":13323.0,"low":13242.3,"amount":91.246,"vol":91246,"trade_turnover":1211271.2788,"count":294},{"id":1603954800,"open":13255.0,"close":13142.4,"high":13269.3,"low":13123.1,"amount":187.622,"vol":187622,"trade_turnover":2478299.7074,"count":506},{"id":1603958400,"open":13145.9,"close":13124.8,"high":13182.4,"low":13094.1,"amount":69.532,"vol":69532,"trade_turnover":914157.2418,"count":226},{"id":1603962000,"open":13129.5,"close":13183.7,"high":13197.1,"low":13129.5,"amount":23.184,"vol":23184,"trade_turnover":305485.9524,"count":141},{"id":1603965600,"open":13184.8,"close":13105.2,"high":13187.5,"low":13053.1,"amount":121.146,"vol":121146,"trade_turnover":1590026.4416,"count":442},{"id":1603969200,"open":13105.1,"close":13060.1,"high":13171.4,"low":13060.1,"amount":47.498,"vol":47498,"trade_turnover":623578.149,"count":262},{"id":1603972800,"open":13056.9,"close":13131.8,"high":13145.8,"low":12977.9,"amount":126.552,"vol":126552,"trade_turnover":1652549.311,"count":481},{"id":1603976400,"open":13131.7,"close":13230.0,"high":13237.2,"low":13102.0,"amount":100.482,"vol":100482,"trade_turnover":1326403.7206,"count":325},{"id":1603980000,"open":13231.0,"close":13420.8,"high":13476.1,"low":13231.0,"amount":253.258,"vol":253258,"trade_turnover":3384941.438,"count":752},{"id":1603983600,"open":13416.0,"close":13420.6,"high":13458.7,"low":13358.7,"amount":64.71,"vol":64710,"trade_turnover":869052.3804,"count":269},{"id":1603987200,"open":13421.9,"close":13535.9,"high":13594.5,"low":13391.8,"amount":120.24,"vol":120240,"trade_turnover":1626567.8278,"count":570}]} +2024-01-18 11:13:21.083 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:41] - 请求 KLine 数据解析之后的数据为:{"wsid":19750305,"data":[{"amount":0.276,"high":12300.0,"vol":276,"low":11715.8,"count":39,"id":1603270800,"close":12196.7,"tradeTurnover":3315.9104,"open":12198.0},{"amount":0.198,"high":12289.9,"vol":198,"low":12111.0,"count":21,"id":1603274400,"close":12277.9,"tradeTurnover":2420.7728,"open":12196.7},{"amount":0.012,"high":12277.9,"vol":12,"low":12000.0,"count":5,"id":1603278000,"close":12000.0,"tradeTurnover":145.2238,"open":12111.0},{"amount":0.084,"high":12498.0,"vol":84,"low":12078.0,"count":12,"id":1603281600,"close":12497.4,"tradeTurnover":1040.0504,"open":12078.0},{"amount":1.122,"high":12495.6,"vol":1122,"low":12282.9,"count":112,"id":1603285200,"close":12373.5,"tradeTurnover":13905.3124,"open":12495.6},{"amount":5.29,"high":12807.6,"vol":5290,"low":12358.1,"count":155,"id":1603288800,"close":12689.9,"tradeTurnover":66852.128,"open":12412.9},{"amount":1.174,"high":12778.7,"vol":1174,"low":12573.2,"count":113,"id":1603292400,"close":12701.9,"tradeTurnover":14907.367,"open":12692.8},{"amount":1.156,"high":12920.9,"vol":1156,"low":12624.8,"count":115,"id":1603296000,"close":12835.9,"tradeTurnover":14802.449,"open":12679.7},{"amount":1.12,"high":12908.3,"vol":1120,"low":12687.5,"count":115,"id":1603299600,"close":12754.2,"tradeTurnover":14345.7324,"open":12848.3},{"amount":1.106,"high":12849.0,"vol":1106,"low":12668.3,"count":114,"id":1603303200,"close":12740.2,"tradeTurnover":14105.3504,"open":12743.7},{"amount":1.032,"high":12843.1,"vol":1032,"low":12597.2,"count":112,"id":1603306800,"close":12650.3,"tradeTurnover":13125.4568,"open":12729.5},{"amount":1.154,"high":12848.4,"vol":1154,"low":12610.2,"count":116,"id":1603310400,"close":12807.0,"tradeTurnover":14680.638,"open":12666.8},{"amount":1.164,"high":13005.1,"vol":1164,"low":12748.2,"count":114,"id":1603314000,"close":12938.9,"tradeTurnover":14976.9366,"open":12866.0},{"amount":1.174,"high":13211.2,"vol":1174,"low":12865.7,"count":114,"id":1603317600,"close":13122.0,"tradeTurnover":15285.2446,"open":12921.0},{"amount":1.172,"high":13173.2,"vol":1172,"low":12688.6,"count":117,"id":1603321200,"close":12829.8,"tradeTurnover":15060.9938,"open":13153.2},{"amount":1.17,"high":12988.1,"vol":1170,"low":12764.4,"count":117,"id":1603324800,"close":12885.9,"tradeTurnover":15046.2046,"open":12793.1},{"amount":1.158,"high":12972.6,"vol":1158,"low":12757.5,"count":118,"id":1603328400,"close":12757.5,"tradeTurnover":14882.4656,"open":12860.4},{"amount":1.124,"high":12848.0,"vol":1124,"low":12729.0,"count":115,"id":1603332000,"close":12788.8,"tradeTurnover":14368.7948,"open":12824.1},{"amount":1.194,"high":12834.4,"vol":1194,"low":12729.0,"count":111,"id":1603335600,"close":12767.2,"tradeTurnover":15268.9298,"open":12791.7},{"amount":1.152,"high":12778.3,"vol":1152,"low":12729.0,"count":115,"id":1603339200,"close":12762.2,"tradeTurnover":14695.4876,"open":12729.0},{"amount":1.21,"high":12842.0,"vol":1210,"low":12730.6,"count":119,"id":1603342800,"close":12813.8,"tradeTurnover":15440.8162,"open":12763.1},{"amount":1.188,"high":12795.0,"vol":1188,"low":12728.0,"count":123,"id":1603346400,"close":12729.1,"tradeTurnover":15128.0098,"open":12795.0},{"amount":1.266,"high":12730.6,"vol":1266,"low":12728.3,"count":112,"id":1603350000,"close":12730.6,"tradeTurnover":16115.1306,"open":12728.6},{"amount":1.35,"high":12921.5,"vol":1350,"low":12729.9,"count":127,"id":1603353600,"close":12770.1,"tradeTurnover":17233.7326,"open":12730.3},{"amount":0.98,"high":12872.1,"vol":980,"low":12760.1,"count":99,"id":1603357200,"close":12780.4,"tradeTurnover":12553.9826,"open":12824.9},{"amount":0.266,"high":13002.7,"vol":266,"low":12775.6,"count":30,"id":1603360800,"close":12934.2,"tradeTurnover":3415.023,"open":12784.9},{"amount":1.004,"high":13057.0,"vol":1004,"low":12886.6,"count":117,"id":1603364400,"close":13045.0,"tradeTurnover":13020.8576,"open":12977.0},{"amount":1.134,"high":12973.4,"vol":1134,"low":12751.6,"count":111,"id":1603368000,"close":12847.9,"tradeTurnover":14594.2752,"open":12958.5},{"amount":1.152,"high":13000.8,"vol":1152,"low":12743.0,"count":114,"id":1603371600,"close":12931.0,"tradeTurnover":14877.7314,"open":12882.7},{"amount":1.182,"high":12995.3,"vol":1182,"low":12783.9,"count":115,"id":1603375200,"close":12917.8,"tradeTurnover":15224.4716,"open":12890.4},{"amount":1.176,"high":13031.2,"vol":1176,"low":12817.9,"count":117,"id":1603378800,"close":12953.0,"tradeTurnover":15197.208,"open":12918.8},{"amount":1.146,"high":13100.2,"vol":1146,"low":12865.6,"count":119,"id":1603382400,"close":13055.6,"tradeTurnover":14851.9604,"open":12923.1},{"amount":1.534,"high":13105.7,"vol":1534,"low":12835.5,"count":124,"id":1603386000,"close":13082.7,"tradeTurnover":19927.8288,"open":12967.6},{"amount":1.268,"high":13115.0,"vol":1268,"low":12938.7,"count":117,"id":1603389600,"close":13016.4,"tradeTurnover":16505.4738,"open":13020.4},{"amount":1.13,"high":13171.2,"vol":1130,"low":12961.8,"count":112,"id":1603393200,"close":12970.6,"tradeTurnover":14762.952,"open":13028.3},{"amount":1.206,"high":13216.1,"vol":1206,"low":12998.5,"count":117,"id":1603396800,"close":13089.3,"tradeTurnover":15807.1226,"open":13016.7},{"amount":1.332,"high":13203.7,"vol":1332,"low":12932.9,"count":114,"id":1603400400,"close":13092.0,"tradeTurnover":17423.4422,"open":13136.0},{"amount":1.21,"high":13250.5,"vol":1210,"low":12984.7,"count":114,"id":1603404000,"close":13055.9,"tradeTurnover":15876.0632,"open":13119.4},{"amount":1.286,"high":13126.5,"vol":1286,"low":12857.2,"count":116,"id":1603407600,"close":12890.4,"tradeTurnover":16688.422,"open":13059.4},{"amount":1.502,"high":12994.0,"vol":1502,"low":12751.6,"count":131,"id":1603411200,"close":12892.2,"tradeTurnover":19331.1596,"open":12929.7},{"amount":1.386,"high":13003.2,"vol":1386,"low":12786.0,"count":121,"id":1603414800,"close":12898.3,"tradeTurnover":17904.8902,"open":12921.7},{"amount":1.416,"high":13054.0,"vol":1416,"low":12800.7,"count":122,"id":1603418400,"close":12975.1,"tradeTurnover":18306.6204,"open":12951.6},{"amount":1.19,"high":13030.7,"vol":1190,"low":12875.0,"count":118,"id":1603422000,"close":12947.0,"tradeTurnover":15409.7984,"open":12967.3},{"amount":1.022,"high":13047.3,"vol":1022,"low":12832.8,"count":127,"id":1603425600,"close":12852.0,"tradeTurnover":13214.4388,"open":12925.2},{"amount":0.478,"high":12991.7,"vol":478,"low":12841.2,"count":118,"id":1603429200,"close":12931.1,"tradeTurnover":6180.2486,"open":12859.0},{"amount":0.522,"high":13014.1,"vol":522,"low":12871.9,"count":132,"id":1603432800,"close":12939.6,"tradeTurnover":6759.0324,"open":12935.9},{"amount":0.476,"high":12998.9,"vol":476,"low":12917.1,"count":118,"id":1603436400,"close":12925.4,"tradeTurnover":6163.3118,"open":12923.1},{"amount":0.508,"high":13014.0,"vol":508,"low":12916.1,"count":122,"id":1603440000,"close":12962.6,"tradeTurnover":6585.3656,"open":12942.2},{"amount":0.564,"high":13012.5,"vol":564,"low":12909.9,"count":124,"id":1603443600,"close":12926.4,"tradeTurnover":7308.8828,"open":12970.5},{"amount":0.536,"high":13059.5,"vol":536,"low":12925.7,"count":124,"id":1603447200,"close":13007.7,"tradeTurnover":6957.8796,"open":13001.2},{"amount":0.486,"high":13078.4,"vol":486,"low":12906.5,"count":122,"id":1603450800,"close":12970.6,"tradeTurnover":6326.1434,"open":13025.4},{"amount":0.494,"high":13025.0,"vol":494,"low":12850.8,"count":117,"id":1603454400,"close":12935.4,"tradeTurnover":6396.0984,"open":12963.9},{"amount":0.466,"high":13043.3,"vol":466,"low":12911.0,"count":117,"id":1603458000,"close":12951.7,"tradeTurnover":6049.1412,"open":12913.3},{"amount":0.46,"high":13006.4,"vol":460,"low":12840.4,"count":116,"id":1603461600,"close":12858.8,"tradeTurnover":5941.815,"open":12999.6},{"amount":0.492,"high":12932.9,"vol":492,"low":12826.5,"count":117,"id":1603465200,"close":12881.9,"tradeTurnover":6340.214,"open":12885.7},{"amount":0.484,"high":12933.5,"vol":484,"low":12744.4,"count":123,"id":1603468800,"close":12784.1,"tradeTurnover":6205.4138,"open":12854.4},{"amount":0.562,"high":12893.1,"vol":562,"low":12730.1,"count":152,"id":1603472400,"close":12847.7,"tradeTurnover":7218.9184,"open":12832.3},{"amount":0.53,"high":12939.3,"vol":530,"low":12751.4,"count":128,"id":1603476000,"close":12915.7,"tradeTurnover":6825.7004,"open":12874.1},{"amount":0.444,"high":12972.9,"vol":444,"low":12786.6,"count":117,"id":1603479600,"close":12972.9,"tradeTurnover":5727.7452,"open":12867.9},{"amount":0.492,"high":13002.2,"vol":492,"low":12842.9,"count":116,"id":1603483200,"close":12991.6,"tradeTurnover":6375.1566,"open":12956.7},{"amount":0.5,"high":13004.3,"vol":500,"low":12936.6,"count":125,"id":1603486800,"close":12943.5,"tradeTurnover":6485.468,"open":13004.3},{"amount":0.492,"high":13010.3,"vol":492,"low":12884.7,"count":120,"id":1603490400,"close":12989.2,"tradeTurnover":6376.1492,"open":12923.6},{"amount":0.51,"high":13024.4,"vol":510,"low":12884.6,"count":121,"id":1603494000,"close":12884.6,"tradeTurnover":6622.3406,"open":12974.9},{"amount":0.488,"high":13018.3,"vol":488,"low":12811.1,"count":120,"id":1603497600,"close":12953.9,"tradeTurnover":6317.7938,"open":12973.7},{"amount":0.482,"high":13018.1,"vol":482,"low":12872.8,"count":117,"id":1603501200,"close":12934.2,"tradeTurnover":6242.4178,"open":12927.5},{"amount":0.484,"high":13003.9,"vol":484,"low":12903.3,"count":117,"id":1603504800,"close":12989.1,"tradeTurnover":6278.1756,"open":12971.9},{"amount":0.474,"high":13013.4,"vol":474,"low":12938.3,"count":122,"id":1603508400,"close":12975.9,"tradeTurnover":6157.7096,"open":13000.1},{"amount":0.526,"high":13009.4,"vol":526,"low":12905.5,"count":124,"id":1603512000,"close":12963.3,"tradeTurnover":6831.5658,"open":12989.7},{"amount":0.522,"high":13041.8,"vol":522,"low":12875.3,"count":127,"id":1603515600,"close":12989.7,"tradeTurnover":6768.8994,"open":12910.5},{"amount":0.49,"high":13058.1,"vol":490,"low":12908.8,"count":120,"id":1603519200,"close":13003.6,"tradeTurnover":6370.5714,"open":12994.7},{"amount":0.478,"high":13037.8,"vol":478,"low":12981.7,"count":120,"id":1603522800,"close":13004.2,"tradeTurnover":6218.9722,"open":13011.9},{"amount":0.52,"high":13030.6,"vol":520,"low":12899.4,"count":124,"id":1603526400,"close":12998.2,"tradeTurnover":6754.958,"open":13003.0},{"amount":0.454,"high":13020.3,"vol":454,"low":12893.6,"count":115,"id":1603530000,"close":12990.6,"tradeTurnover":5891.0574,"open":12998.2},{"amount":0.502,"high":13059.1,"vol":502,"low":12913.2,"count":124,"id":1603533600,"close":13030.1,"tradeTurnover":6525.9004,"open":12996.4},{"amount":0.468,"high":13068.3,"vol":468,"low":12940.2,"count":119,"id":1603537200,"close":13033.2,"tradeTurnover":6091.0376,"open":12988.4},{"amount":0.468,"high":13071.8,"vol":468,"low":12978.9,"count":123,"id":1603540800,"close":13006.5,"tradeTurnover":6102.5902,"open":13035.3},{"amount":0.534,"high":13066.7,"vol":534,"low":12928.1,"count":123,"id":1603544400,"close":12985.9,"tradeTurnover":6950.4268,"open":13038.8},{"amount":0.47,"high":13100.1,"vol":470,"low":12960.5,"count":100,"id":1603548000,"close":13042.0,"tradeTurnover":6124.2178,"open":12986.3},{"amount":0.456,"high":13196.5,"vol":456,"low":13038.4,"count":120,"id":1603551600,"close":13102.2,"tradeTurnover":5989.6362,"open":13038.4},{"amount":0.458,"high":13176.6,"vol":458,"low":12984.6,"count":121,"id":1603555200,"close":13052.7,"tradeTurnover":5976.331,"open":13136.8},{"amount":0.452,"high":13177.8,"vol":452,"low":13003.2,"count":118,"id":1603558800,"close":13177.8,"tradeTurnover":5911.7058,"open":13006.2},{"amount":0.468,"high":13170.7,"vol":468,"low":13023.0,"count":119,"id":1603562400,"close":13080.8,"tradeTurnover":6122.375,"open":13127.7},{"amount":0.468,"high":13179.3,"vol":468,"low":13014.2,"count":120,"id":1603566000,"close":13148.4,"tradeTurnover":6126.4278,"open":13040.7},{"amount":0.47,"high":13179.6,"vol":470,"low":12992.5,"count":119,"id":1603569600,"close":13090.1,"tradeTurnover":6151.4758,"open":13073.5},{"amount":0.458,"high":13148.7,"vol":458,"low":12980.7,"count":117,"id":1603573200,"close":12993.9,"tradeTurnover":5981.071,"open":13035.4},{"amount":0.478,"high":13112.1,"vol":478,"low":12975.6,"count":118,"id":1603576800,"close":13041.1,"tradeTurnover":6225.4216,"open":13040.7},{"amount":0.472,"high":13184.3,"vol":472,"low":13009.3,"count":118,"id":1603580400,"close":13184.3,"tradeTurnover":6173.4244,"open":13012.6},{"amount":0.46,"high":13170.4,"vol":460,"low":13007.7,"count":115,"id":1603584000,"close":13154.3,"tradeTurnover":6024.09,"open":13080.8},{"amount":0.398,"high":13196.8,"vol":398,"low":13024.0,"count":102,"id":1603587600,"close":13196.1,"tradeTurnover":5217.5364,"open":13092.0},{"amount":0.476,"high":13175.1,"vol":476,"low":13035.0,"count":120,"id":1603591200,"close":13082.4,"tradeTurnover":6228.6596,"open":13124.7},{"amount":0.578,"high":13383.8,"vol":578,"low":13049.1,"count":137,"id":1603594800,"close":13259.0,"tradeTurnover":7629.3886,"open":13049.1},{"amount":0.47,"high":13369.0,"vol":470,"low":13216.0,"count":122,"id":1603598400,"close":13243.4,"tradeTurnover":6247.955,"open":13277.0},{"amount":0.61,"high":13353.3,"vol":610,"low":13010.1,"count":134,"id":1603602000,"close":13017.3,"tradeTurnover":8048.8598,"open":13285.3},{"amount":0.486,"high":13105.7,"vol":486,"low":13018.2,"count":118,"id":1603605600,"close":13060.3,"tradeTurnover":6344.1474,"open":13022.5},{"amount":0.464,"high":13112.1,"vol":464,"low":13022.0,"count":120,"id":1603609200,"close":13078.1,"tradeTurnover":6061.5416,"open":13048.5},{"amount":0.464,"high":13091.0,"vol":464,"low":13017.2,"count":120,"id":1603612800,"close":13046.0,"tradeTurnover":6055.3734,"open":13077.2},{"amount":0.478,"high":13084.0,"vol":478,"low":13014.2,"count":117,"id":1603616400,"close":13040.8,"tradeTurnover":6235.7882,"open":13065.1},{"amount":0.478,"high":13064.2,"vol":478,"low":13010.2,"count":125,"id":1603620000,"close":13028.5,"tradeTurnover":6232.2428,"open":13047.1},{"amount":0.534,"high":13061.5,"vol":534,"low":12852.9,"count":123,"id":1603623600,"close":12897.6,"tradeTurnover":6918.1226,"open":13061.5},{"amount":0.444,"high":13069.7,"vol":444,"low":12893.2,"count":117,"id":1603627200,"close":12964.3,"tradeTurnover":5755.8712,"open":12908.3},{"amount":0.498,"high":13071.9,"vol":498,"low":12891.8,"count":119,"id":1603630800,"close":12949.3,"tradeTurnover":6465.078,"open":13001.3},{"amount":0.468,"high":13077.7,"vol":468,"low":12900.0,"count":116,"id":1603634400,"close":12946.8,"tradeTurnover":6075.4554,"open":12975.8},{"amount":0.47,"high":13069.1,"vol":470,"low":12883.3,"count":119,"id":1603638000,"close":12883.3,"tradeTurnover":6097.1072,"open":12975.2},{"amount":0.482,"high":13067.9,"vol":482,"low":12877.5,"count":118,"id":1603641600,"close":12978.7,"tradeTurnover":6256.4472,"open":12916.2},{"amount":0.47,"high":13087.5,"vol":470,"low":12922.7,"count":117,"id":1603645200,"close":13004.4,"tradeTurnover":6108.3892,"open":13008.0},{"amount":0.468,"high":13067.6,"vol":468,"low":12893.6,"count":118,"id":1603648800,"close":12957.2,"tradeTurnover":6079.1484,"open":12972.8},{"amount":0.442,"high":13066.9,"vol":442,"low":12916.6,"count":118,"id":1603652400,"close":13021.8,"tradeTurnover":5746.5548,"open":12996.5},{"amount":0.508,"high":13081.5,"vol":508,"low":12944.9,"count":120,"id":1603656000,"close":12985.4,"tradeTurnover":6616.9872,"open":12992.9},{"amount":0.508,"high":13068.6,"vol":508,"low":12921.4,"count":122,"id":1603659600,"close":13011.2,"tradeTurnover":6614.816,"open":12999.9},{"amount":0.486,"high":13073.8,"vol":486,"low":12911.9,"count":121,"id":1603663200,"close":12959.4,"tradeTurnover":6320.907,"open":12979.6},{"amount":0.452,"high":13085.2,"vol":452,"low":12927.8,"count":113,"id":1603666800,"close":13032.1,"tradeTurnover":5878.6442,"open":12963.4},{"amount":0.482,"high":13076.7,"vol":482,"low":12918.3,"count":121,"id":1603670400,"close":13001.0,"tradeTurnover":6263.698,"open":12964.2},{"amount":0.478,"high":13096.4,"vol":478,"low":12991.2,"count":124,"id":1603674000,"close":13053.7,"tradeTurnover":6232.2328,"open":13040.0},{"amount":0.488,"high":13185.7,"vol":488,"low":12985.1,"count":121,"id":1603677600,"close":13064.4,"tradeTurnover":6387.534,"open":13060.6},{"amount":0.486,"high":13187.2,"vol":486,"low":12984.1,"count":135,"id":1603681200,"close":13092.8,"tradeTurnover":6369.0272,"open":13032.3},{"amount":0.51,"high":13181.6,"vol":510,"low":12962.3,"count":131,"id":1603684800,"close":13132.6,"tradeTurnover":6679.829,"open":13092.0},{"amount":0.506,"high":13205.3,"vol":506,"low":13025.3,"count":126,"id":1603688400,"close":13092.1,"tradeTurnover":6641.2128,"open":13129.2},{"amount":1.616,"high":13188.1,"vol":1616,"low":12989.8,"count":141,"id":1603692000,"close":13071.4,"tradeTurnover":21170.8224,"open":13121.8},{"amount":3.746,"high":13100.0,"vol":3746,"low":12965.2,"count":110,"id":1603695600,"close":13038.7,"tradeTurnover":48924.8902,"open":13061.0},{"amount":8.966,"high":13102.0,"vol":8966,"low":12852.8,"count":173,"id":1603699200,"close":13039.3,"tradeTurnover":116525.5534,"open":13030.9},{"amount":4.48,"high":13088.4,"vol":4480,"low":13039.8,"count":124,"id":1603702800,"close":13075.9,"tradeTurnover":58521.1714,"open":13047.1},{"amount":4.272,"high":13100.0,"vol":4272,"low":13060.2,"count":130,"id":1603706400,"close":13100.0,"tradeTurnover":55895.9778,"open":13072.1},{"amount":29.798,"high":13159.0,"vol":29798,"low":13100.0,"count":230,"id":1603710000,"close":13138.4,"tradeTurnover":391138.024,"open":13100.0},{"amount":5.154,"high":13200.0,"vol":5154,"low":13100.0,"count":188,"id":1603713600,"close":13149.8,"tradeTurnover":67694.652,"open":13138.8},{"amount":35.608,"high":13351.5,"vol":35608,"low":13133.1,"count":328,"id":1603717200,"close":13205.8,"tradeTurnover":472780.3394,"open":13150.0},{"amount":31.748,"high":13280.0,"vol":31748,"low":13144.1,"count":235,"id":1603720800,"close":13166.1,"tradeTurnover":418744.5588,"open":13203.0},{"amount":36.53,"high":13165.2,"vol":36530,"low":12903.8,"count":384,"id":1603724400,"close":12978.0,"tradeTurnover":476940.3296,"open":13159.0},{"amount":35.018,"high":13069.8,"vol":35018,"low":12850.5,"count":323,"id":1603728000,"close":12869.6,"tradeTurnover":453288.918,"open":12965.0},{"amount":92.628,"high":12941.5,"vol":92628,"low":12583.9,"count":560,"id":1603731600,"close":12873.8,"tradeTurnover":1185973.467,"open":12879.2},{"amount":4.302,"high":12954.5,"vol":4302,"low":12820.4,"count":128,"id":1603735200,"close":12946.8,"tradeTurnover":55481.0054,"open":12856.2},{"amount":13.83,"high":12953.5,"vol":13830,"low":12914.1,"count":118,"id":1603738800,"close":12953.4,"tradeTurnover":179112.1598,"open":12945.6},{"amount":17.172,"high":13007.5,"vol":17172,"low":12953.5,"count":132,"id":1603742400,"close":12983.4,"tradeTurnover":223230.2122,"open":12953.5},{"amount":3.212,"high":13007.5,"vol":3212,"low":12982.7,"count":59,"id":1603746000,"close":12993.8,"tradeTurnover":41767.8906,"open":12983.1},{"amount":1.504,"high":13007.5,"vol":1504,"low":12974.0,"count":74,"id":1603749600,"close":13007.5,"tradeTurnover":19543.3568,"open":13002.1},{"amount":3.454,"high":13061.2,"vol":3454,"low":13007.5,"count":101,"id":1603753200,"close":13033.7,"tradeTurnover":45001.601,"open":13007.5},{"amount":8.784,"high":13105.0,"vol":8784,"low":13028.3,"count":98,"id":1603756800,"close":13067.1,"tradeTurnover":114871.8246,"open":13029.2},{"amount":11.592,"high":13074.4,"vol":11592,"low":13051.5,"count":66,"id":1603760400,"close":13061.7,"tradeTurnover":151386.9038,"open":13074.3},{"amount":19.298,"high":13097.6,"vol":19298,"low":13040.1,"count":109,"id":1603764000,"close":13049.7,"tradeTurnover":252061.019,"open":13061.7},{"amount":22.992,"high":13080.0,"vol":22992,"low":13057.1,"count":69,"id":1603767600,"close":13070.4,"tradeTurnover":300453.9788,"open":13057.6},{"amount":14.396,"high":13175.0,"vol":14396,"low":13079.6,"count":59,"id":1603771200,"close":13103.3,"tradeTurnover":188461.9156,"open":13080.0},{"amount":5.058,"high":13121.3,"vol":5058,"low":13069.7,"count":44,"id":1603774800,"close":13073.6,"tradeTurnover":66201.3552,"open":13121.3},{"amount":9.106,"high":13149.0,"vol":9106,"low":13069.6,"count":107,"id":1603778400,"close":13103.4,"tradeTurnover":119104.8906,"open":13074.9},{"amount":73.95,"high":13169.8,"vol":73950,"low":12992.4,"count":305,"id":1603782000,"close":13130.0,"tradeTurnover":968195.155,"open":13103.3},{"amount":18.732,"high":13148.4,"vol":18732,"low":13044.0,"count":135,"id":1603785600,"close":13123.8,"tradeTurnover":245533.5448,"open":13135.1},{"amount":13.756,"high":13131.8,"vol":13756,"low":13075.7,"count":102,"id":1603789200,"close":13131.7,"tradeTurnover":180253.7708,"open":13115.5},{"amount":154.108,"high":13252.0,"vol":154108,"low":13063.4,"count":525,"id":1603792800,"close":13216.9,"tradeTurnover":2029983.656,"open":13134.8},{"amount":170.09,"high":13590.1,"vol":170090,"low":13213.5,"count":591,"id":1603796400,"close":13395.8,"tradeTurnover":2276279.742,"open":13218.8},{"amount":48.928,"high":13414.0,"vol":48928,"low":13331.7,"count":216,"id":1603800000,"close":13376.9,"tradeTurnover":654585.9108,"open":13395.9},{"amount":63.294,"high":13490.9,"vol":63294,"low":13329.8,"count":316,"id":1603803600,"close":13384.3,"tradeTurnover":848130.9212,"open":13376.5},{"amount":12.892,"high":13415.8,"vol":12892,"low":13344.8,"count":124,"id":1603807200,"close":13398.2,"tradeTurnover":172618.6864,"open":13392.6},{"amount":93.22,"high":13626.7,"vol":93220,"low":13398.2,"count":476,"id":1603810800,"close":13598.5,"tradeTurnover":1262695.5466,"open":13398.2},{"amount":85.45,"high":13639.9,"vol":85450,"low":13520.2,"count":435,"id":1603814400,"close":13639.9,"tradeTurnover":1161481.4136,"open":13595.8},{"amount":191.812,"high":13826.7,"vol":191812,"low":13589.0,"count":711,"id":1603818000,"close":13688.1,"tradeTurnover":2628428.3788,"open":13640.0},{"amount":65.434,"high":13745.0,"vol":65434,"low":13528.2,"count":410,"id":1603821600,"close":13630.1,"tradeTurnover":891541.8394,"open":13685.0},{"amount":5.788,"high":13659.8,"vol":5788,"low":13595.4,"count":65,"id":1603825200,"close":13637.1,"tradeTurnover":78836.2578,"open":13629.4},{"amount":163.104,"high":13805.1,"vol":163104,"low":13582.6,"count":537,"id":1603828800,"close":13616.6,"tradeTurnover":2234040.3544,"open":13644.4},{"amount":9.884,"high":13753.5,"vol":9884,"low":13609.8,"count":101,"id":1603832400,"close":13705.5,"tradeTurnover":135406.4752,"open":13609.8},{"amount":7.436,"high":13739.9,"vol":7436,"low":13658.2,"count":100,"id":1603836000,"close":13739.9,"tradeTurnover":101840.3508,"open":13705.4},{"amount":17.086,"high":13794.6,"vol":17086,"low":13582.6,"count":234,"id":1603839600,"close":13649.6,"tradeTurnover":233971.8448,"open":13739.9},{"amount":24.108,"high":13745.2,"vol":24108,"low":13618.8,"count":177,"id":1603843200,"close":13701.7,"tradeTurnover":330206.5694,"open":13645.9},{"amount":15.892,"high":13725.6,"vol":15892,"low":13647.9,"count":151,"id":1603846800,"close":13702.6,"tradeTurnover":217816.7008,"open":13702.1},{"amount":46.548,"high":13832.2,"vol":46548,"low":13680.2,"count":274,"id":1603850400,"close":13811.6,"tradeTurnover":640636.0352,"open":13701.7},{"amount":67.896,"high":13820.3,"vol":67896,"low":13717.5,"count":320,"id":1603854000,"close":13777.0,"tradeTurnover":935838.2238,"open":13818.5},{"amount":33.156,"high":13807.2,"vol":33156,"low":13710.0,"count":210,"id":1603857600,"close":13735.7,"tradeTurnover":455941.234,"open":13767.3},{"amount":32.076,"high":13753.9,"vol":32076,"low":13671.3,"count":198,"id":1603861200,"close":13715.8,"tradeTurnover":439612.64,"open":13735.5},{"amount":14.756,"high":13757.0,"vol":14756,"low":13694.9,"count":122,"id":1603864800,"close":13701.3,"tradeTurnover":202602.5164,"open":13715.9},{"amount":155.534,"high":13708.7,"vol":155534,"low":13550.0,"count":635,"id":1603868400,"close":13674.2,"tradeTurnover":2117935.0928,"open":13701.2},{"amount":29.846,"high":13691.7,"vol":29846,"low":13584.0,"count":240,"id":1603872000,"close":13691.7,"tradeTurnover":407073.1398,"open":13673.0},{"amount":104.542,"high":13707.5,"vol":104542,"low":13573.5,"count":377,"id":1603875600,"close":13587.1,"tradeTurnover":1425079.9344,"open":13689.3},{"amount":73.818,"high":13618.0,"vol":73818,"low":13504.7,"count":358,"id":1603879200,"close":13552.7,"tradeTurnover":1001666.0908,"open":13584.6},{"amount":176.544,"high":13565.4,"vol":176544,"low":13330.0,"count":1004,"id":1603882800,"close":13336.4,"tradeTurnover":2369166.1492,"open":13552.6},{"amount":289.73,"high":13385.0,"vol":289730,"low":13173.9,"count":968,"id":1603886400,"close":13300.3,"tradeTurnover":3846751.7166,"open":13331.5},{"amount":139.822,"high":13340.0,"vol":139822,"low":13122.9,"count":612,"id":1603890000,"close":13129.9,"tradeTurnover":1848876.932,"open":13300.2},{"amount":367.876,"high":13168.2,"vol":367876,"low":12915.9,"count":1168,"id":1603893600,"close":13082.2,"tradeTurnover":4802516.9818,"open":13123.4},{"amount":84.044,"high":13235.2,"vol":84044,"low":13052.3,"count":375,"id":1603897200,"close":13221.2,"tradeTurnover":1106883.1282,"open":13077.1},{"amount":29.566,"high":13218.7,"vol":29566,"low":13050.0,"count":244,"id":1603900800,"close":13145.1,"tradeTurnover":388697.4104,"open":13218.7},{"amount":53.336,"high":13204.9,"vol":53336,"low":13006.6,"count":299,"id":1603904400,"close":13176.7,"tradeTurnover":700385.2784,"open":13145.1},{"amount":34.164,"high":13219.6,"vol":34164,"low":13131.0,"count":218,"id":1603908000,"close":13196.5,"tradeTurnover":450210.5778,"open":13171.0},{"amount":22.158,"high":13237.4,"vol":22158,"low":13145.0,"count":185,"id":1603911600,"close":13154.9,"tradeTurnover":292020.0438,"open":13200.0},{"amount":4.548,"high":13211.8,"vol":4548,"low":13147.4,"count":75,"id":1603915200,"close":13198.1,"tradeTurnover":59991.1118,"open":13154.5},{"amount":3.52,"high":13196.5,"vol":3520,"low":13100.2,"count":68,"id":1603918800,"close":13190.1,"tradeTurnover":46175.428,"open":13193.5},{"amount":3.122,"high":13267.5,"vol":3122,"low":13185.4,"count":72,"id":1603922400,"close":13252.0,"tradeTurnover":41304.2018,"open":13185.4},{"amount":14.768,"high":13282.3,"vol":14768,"low":13235.9,"count":86,"id":1603926000,"close":13265.9,"tradeTurnover":195689.0764,"open":13242.1},{"amount":19.968,"high":13294.7,"vol":19968,"low":13237.4,"count":98,"id":1603929600,"close":13245.1,"tradeTurnover":264834.1944,"open":13253.9},{"amount":35.282,"high":13285.3,"vol":35282,"low":13166.3,"count":192,"id":1603933200,"close":13274.2,"tradeTurnover":465789.6302,"open":13244.6},{"amount":9.748,"high":13277.7,"vol":9748,"low":13212.2,"count":119,"id":1603936800,"close":13241.1,"tradeTurnover":129016.0684,"open":13275.9},{"amount":27.3,"high":13262.5,"vol":27300,"low":13174.6,"count":199,"id":1603940400,"close":13262.5,"tradeTurnover":360589.8982,"open":13237.1},{"amount":18.904,"high":13277.7,"vol":18904,"low":13229.5,"count":109,"id":1603944000,"close":13229.5,"tradeTurnover":250713.2812,"open":13269.1},{"amount":15.822,"high":13274.8,"vol":15822,"low":13228.5,"count":134,"id":1603947600,"close":13274.8,"tradeTurnover":209781.909,"open":13228.5},{"amount":91.246,"high":13323.0,"vol":91246,"low":13242.3,"count":294,"id":1603951200,"close":13255.0,"tradeTurnover":1211271.2788,"open":13274.8},{"amount":187.622,"high":13269.3,"vol":187622,"low":13123.1,"count":506,"id":1603954800,"close":13142.4,"tradeTurnover":2478299.7074,"open":13255.0},{"amount":69.532,"high":13182.4,"vol":69532,"low":13094.1,"count":226,"id":1603958400,"close":13124.8,"tradeTurnover":914157.2418,"open":13145.9},{"amount":23.184,"high":13197.1,"vol":23184,"low":13129.5,"count":141,"id":1603962000,"close":13183.7,"tradeTurnover":305485.9524,"open":13129.5},{"amount":121.146,"high":13187.5,"vol":121146,"low":13053.1,"count":442,"id":1603965600,"close":13105.2,"tradeTurnover":1590026.4416,"open":13184.8},{"amount":47.498,"high":13171.4,"vol":47498,"low":13060.1,"count":262,"id":1603969200,"close":13060.1,"tradeTurnover":623578.149,"open":13105.1},{"amount":126.552,"high":13145.8,"vol":126552,"low":12977.9,"count":481,"id":1603972800,"close":13131.8,"tradeTurnover":1652549.311,"open":13056.9},{"amount":100.482,"high":13237.2,"vol":100482,"low":13102.0,"count":325,"id":1603976400,"close":13230.0,"tradeTurnover":1326403.7206,"open":13131.7},{"amount":253.258,"high":13476.1,"vol":253258,"low":13231.0,"count":752,"id":1603980000,"close":13420.8,"tradeTurnover":3384941.438,"open":13231.0},{"amount":64.71,"high":13458.7,"vol":64710,"low":13358.7,"count":269,"id":1603983600,"close":13420.6,"tradeTurnover":869052.3804,"open":13416.0},{"amount":120.24,"high":13594.5,"vol":120240,"low":13391.8,"count":570,"id":1603987200,"close":13535.9,"tradeTurnover":1626567.8278,"open":13421.9}],"id":"","rep":"market.BTC-USDT.kline.60min","status":"ok"} +2024-01-18 11:13:22.080 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:39] - 请求 KLine 数据用户收到的原始数据:{"id":"","rep":"market.BTC-USDT.kline.60min","ts":1705547600990,"wsid":19750305,"status":"ok","data":[{"id":1603270800,"open":12198.0,"close":12196.7,"high":12300.0,"low":11715.8,"amount":0.276,"vol":276,"trade_turnover":3315.9104,"count":39},{"id":1603274400,"open":12196.7,"close":12277.9,"high":12289.9,"low":12111.0,"amount":0.198,"vol":198,"trade_turnover":2420.7728,"count":21},{"id":1603278000,"open":12111.0,"close":12000.0,"high":12277.9,"low":12000.0,"amount":0.012,"vol":12,"trade_turnover":145.2238,"count":5},{"id":1603281600,"open":12078.0,"close":12497.4,"high":12498.0,"low":12078.0,"amount":0.084,"vol":84,"trade_turnover":1040.0504,"count":12},{"id":1603285200,"open":12495.6,"close":12373.5,"high":12495.6,"low":12282.9,"amount":1.122,"vol":1122,"trade_turnover":13905.3124,"count":112},{"id":1603288800,"open":12412.9,"close":12689.9,"high":12807.6,"low":12358.1,"amount":5.29,"vol":5290,"trade_turnover":66852.128,"count":155},{"id":1603292400,"open":12692.8,"close":12701.9,"high":12778.7,"low":12573.2,"amount":1.174,"vol":1174,"trade_turnover":14907.367,"count":113},{"id":1603296000,"open":12679.7,"close":12835.9,"high":12920.9,"low":12624.8,"amount":1.156,"vol":1156,"trade_turnover":14802.449,"count":115},{"id":1603299600,"open":12848.3,"close":12754.2,"high":12908.3,"low":12687.5,"amount":1.12,"vol":1120,"trade_turnover":14345.7324,"count":115},{"id":1603303200,"open":12743.7,"close":12740.2,"high":12849.0,"low":12668.3,"amount":1.106,"vol":1106,"trade_turnover":14105.3504,"count":114},{"id":1603306800,"open":12729.5,"close":12650.3,"high":12843.1,"low":12597.2,"amount":1.032,"vol":1032,"trade_turnover":13125.4568,"count":112},{"id":1603310400,"open":12666.8,"close":12807.0,"high":12848.4,"low":12610.2,"amount":1.154,"vol":1154,"trade_turnover":14680.638,"count":116},{"id":1603314000,"open":12866.0,"close":12938.9,"high":13005.1,"low":12748.2,"amount":1.164,"vol":1164,"trade_turnover":14976.9366,"count":114},{"id":1603317600,"open":12921.0,"close":13122.0,"high":13211.2,"low":12865.7,"amount":1.174,"vol":1174,"trade_turnover":15285.2446,"count":114},{"id":1603321200,"open":13153.2,"close":12829.8,"high":13173.2,"low":12688.6,"amount":1.172,"vol":1172,"trade_turnover":15060.9938,"count":117},{"id":1603324800,"open":12793.1,"close":12885.9,"high":12988.1,"low":12764.4,"amount":1.17,"vol":1170,"trade_turnover":15046.2046,"count":117},{"id":1603328400,"open":12860.4,"close":12757.5,"high":12972.6,"low":12757.5,"amount":1.158,"vol":1158,"trade_turnover":14882.4656,"count":118},{"id":1603332000,"open":12824.1,"close":12788.8,"high":12848.0,"low":12729.0,"amount":1.124,"vol":1124,"trade_turnover":14368.7948,"count":115},{"id":1603335600,"open":12791.7,"close":12767.2,"high":12834.4,"low":12729.0,"amount":1.194,"vol":1194,"trade_turnover":15268.9298,"count":111},{"id":1603339200,"open":12729.0,"close":12762.2,"high":12778.3,"low":12729.0,"amount":1.152,"vol":1152,"trade_turnover":14695.4876,"count":115},{"id":1603342800,"open":12763.1,"close":12813.8,"high":12842.0,"low":12730.6,"amount":1.21,"vol":1210,"trade_turnover":15440.8162,"count":119},{"id":1603346400,"open":12795.0,"close":12729.1,"high":12795.0,"low":12728.0,"amount":1.188,"vol":1188,"trade_turnover":15128.0098,"count":123},{"id":1603350000,"open":12728.6,"close":12730.6,"high":12730.6,"low":12728.3,"amount":1.266,"vol":1266,"trade_turnover":16115.1306,"count":112},{"id":1603353600,"open":12730.3,"close":12770.1,"high":12921.5,"low":12729.9,"amount":1.35,"vol":1350,"trade_turnover":17233.7326,"count":127},{"id":1603357200,"open":12824.9,"close":12780.4,"high":12872.1,"low":12760.1,"amount":0.98,"vol":980,"trade_turnover":12553.9826,"count":99},{"id":1603360800,"open":12784.9,"close":12934.2,"high":13002.7,"low":12775.6,"amount":0.266,"vol":266,"trade_turnover":3415.023,"count":30},{"id":1603364400,"open":12977.0,"close":13045.0,"high":13057.0,"low":12886.6,"amount":1.004,"vol":1004,"trade_turnover":13020.8576,"count":117},{"id":1603368000,"open":12958.5,"close":12847.9,"high":12973.4,"low":12751.6,"amount":1.134,"vol":1134,"trade_turnover":14594.2752,"count":111},{"id":1603371600,"open":12882.7,"close":12931.0,"high":13000.8,"low":12743.0,"amount":1.152,"vol":1152,"trade_turnover":14877.7314,"count":114},{"id":1603375200,"open":12890.4,"close":12917.8,"high":12995.3,"low":12783.9,"amount":1.182,"vol":1182,"trade_turnover":15224.4716,"count":115},{"id":1603378800,"open":12918.8,"close":12953.0,"high":13031.2,"low":12817.9,"amount":1.176,"vol":1176,"trade_turnover":15197.208,"count":117},{"id":1603382400,"open":12923.1,"close":13055.6,"high":13100.2,"low":12865.6,"amount":1.146,"vol":1146,"trade_turnover":14851.9604,"count":119},{"id":1603386000,"open":12967.6,"close":13082.7,"high":13105.7,"low":12835.5,"amount":1.534,"vol":1534,"trade_turnover":19927.8288,"count":124},{"id":1603389600,"open":13020.4,"close":13016.4,"high":13115.0,"low":12938.7,"amount":1.268,"vol":1268,"trade_turnover":16505.4738,"count":117},{"id":1603393200,"open":13028.3,"close":12970.6,"high":13171.2,"low":12961.8,"amount":1.13,"vol":1130,"trade_turnover":14762.952,"count":112},{"id":1603396800,"open":13016.7,"close":13089.3,"high":13216.1,"low":12998.5,"amount":1.206,"vol":1206,"trade_turnover":15807.1226,"count":117},{"id":1603400400,"open":13136.0,"close":13092.0,"high":13203.7,"low":12932.9,"amount":1.332,"vol":1332,"trade_turnover":17423.4422,"count":114},{"id":1603404000,"open":13119.4,"close":13055.9,"high":13250.5,"low":12984.7,"amount":1.21,"vol":1210,"trade_turnover":15876.0632,"count":114},{"id":1603407600,"open":13059.4,"close":12890.4,"high":13126.5,"low":12857.2,"amount":1.286,"vol":1286,"trade_turnover":16688.422,"count":116},{"id":1603411200,"open":12929.7,"close":12892.2,"high":12994.0,"low":12751.6,"amount":1.502,"vol":1502,"trade_turnover":19331.1596,"count":131},{"id":1603414800,"open":12921.7,"close":12898.3,"high":13003.2,"low":12786.0,"amount":1.386,"vol":1386,"trade_turnover":17904.8902,"count":121},{"id":1603418400,"open":12951.6,"close":12975.1,"high":13054.0,"low":12800.7,"amount":1.416,"vol":1416,"trade_turnover":18306.6204,"count":122},{"id":1603422000,"open":12967.3,"close":12947.0,"high":13030.7,"low":12875.0,"amount":1.19,"vol":1190,"trade_turnover":15409.7984,"count":118},{"id":1603425600,"open":12925.2,"close":12852.0,"high":13047.3,"low":12832.8,"amount":1.022,"vol":1022,"trade_turnover":13214.4388,"count":127},{"id":1603429200,"open":12859.0,"close":12931.1,"high":12991.7,"low":12841.2,"amount":0.478,"vol":478,"trade_turnover":6180.2486,"count":118},{"id":1603432800,"open":12935.9,"close":12939.6,"high":13014.1,"low":12871.9,"amount":0.522,"vol":522,"trade_turnover":6759.0324,"count":132},{"id":1603436400,"open":12923.1,"close":12925.4,"high":12998.9,"low":12917.1,"amount":0.476,"vol":476,"trade_turnover":6163.3118,"count":118},{"id":1603440000,"open":12942.2,"close":12962.6,"high":13014.0,"low":12916.1,"amount":0.508,"vol":508,"trade_turnover":6585.3656,"count":122},{"id":1603443600,"open":12970.5,"close":12926.4,"high":13012.5,"low":12909.9,"amount":0.564,"vol":564,"trade_turnover":7308.8828,"count":124},{"id":1603447200,"open":13001.2,"close":13007.7,"high":13059.5,"low":12925.7,"amount":0.536,"vol":536,"trade_turnover":6957.8796,"count":124},{"id":1603450800,"open":13025.4,"close":12970.6,"high":13078.4,"low":12906.5,"amount":0.486,"vol":486,"trade_turnover":6326.1434,"count":122},{"id":1603454400,"open":12963.9,"close":12935.4,"high":13025.0,"low":12850.8,"amount":0.494,"vol":494,"trade_turnover":6396.0984,"count":117},{"id":1603458000,"open":12913.3,"close":12951.7,"high":13043.3,"low":12911.0,"amount":0.466,"vol":466,"trade_turnover":6049.1412,"count":117},{"id":1603461600,"open":12999.6,"close":12858.8,"high":13006.4,"low":12840.4,"amount":0.46,"vol":460,"trade_turnover":5941.815,"count":116},{"id":1603465200,"open":12885.7,"close":12881.9,"high":12932.9,"low":12826.5,"amount":0.492,"vol":492,"trade_turnover":6340.214,"count":117},{"id":1603468800,"open":12854.4,"close":12784.1,"high":12933.5,"low":12744.4,"amount":0.484,"vol":484,"trade_turnover":6205.4138,"count":123},{"id":1603472400,"open":12832.3,"close":12847.7,"high":12893.1,"low":12730.1,"amount":0.562,"vol":562,"trade_turnover":7218.9184,"count":152},{"id":1603476000,"open":12874.1,"close":12915.7,"high":12939.3,"low":12751.4,"amount":0.53,"vol":530,"trade_turnover":6825.7004,"count":128},{"id":1603479600,"open":12867.9,"close":12972.9,"high":12972.9,"low":12786.6,"amount":0.444,"vol":444,"trade_turnover":5727.7452,"count":117},{"id":1603483200,"open":12956.7,"close":12991.6,"high":13002.2,"low":12842.9,"amount":0.492,"vol":492,"trade_turnover":6375.1566,"count":116},{"id":1603486800,"open":13004.3,"close":12943.5,"high":13004.3,"low":12936.6,"amount":0.5,"vol":500,"trade_turnover":6485.468,"count":125},{"id":1603490400,"open":12923.6,"close":12989.2,"high":13010.3,"low":12884.7,"amount":0.492,"vol":492,"trade_turnover":6376.1492,"count":120},{"id":1603494000,"open":12974.9,"close":12884.6,"high":13024.4,"low":12884.6,"amount":0.51,"vol":510,"trade_turnover":6622.3406,"count":121},{"id":1603497600,"open":12973.7,"close":12953.9,"high":13018.3,"low":12811.1,"amount":0.488,"vol":488,"trade_turnover":6317.7938,"count":120},{"id":1603501200,"open":12927.5,"close":12934.2,"high":13018.1,"low":12872.8,"amount":0.482,"vol":482,"trade_turnover":6242.4178,"count":117},{"id":1603504800,"open":12971.9,"close":12989.1,"high":13003.9,"low":12903.3,"amount":0.484,"vol":484,"trade_turnover":6278.1756,"count":117},{"id":1603508400,"open":13000.1,"close":12975.9,"high":13013.4,"low":12938.3,"amount":0.474,"vol":474,"trade_turnover":6157.7096,"count":122},{"id":1603512000,"open":12989.7,"close":12963.3,"high":13009.4,"low":12905.5,"amount":0.526,"vol":526,"trade_turnover":6831.5658,"count":124},{"id":1603515600,"open":12910.5,"close":12989.7,"high":13041.8,"low":12875.3,"amount":0.522,"vol":522,"trade_turnover":6768.8994,"count":127},{"id":1603519200,"open":12994.7,"close":13003.6,"high":13058.1,"low":12908.8,"amount":0.49,"vol":490,"trade_turnover":6370.5714,"count":120},{"id":1603522800,"open":13011.9,"close":13004.2,"high":13037.8,"low":12981.7,"amount":0.478,"vol":478,"trade_turnover":6218.9722,"count":120},{"id":1603526400,"open":13003.0,"close":12998.2,"high":13030.6,"low":12899.4,"amount":0.52,"vol":520,"trade_turnover":6754.958,"count":124},{"id":1603530000,"open":12998.2,"close":12990.6,"high":13020.3,"low":12893.6,"amount":0.454,"vol":454,"trade_turnover":5891.0574,"count":115},{"id":1603533600,"open":12996.4,"close":13030.1,"high":13059.1,"low":12913.2,"amount":0.502,"vol":502,"trade_turnover":6525.9004,"count":124},{"id":1603537200,"open":12988.4,"close":13033.2,"high":13068.3,"low":12940.2,"amount":0.468,"vol":468,"trade_turnover":6091.0376,"count":119},{"id":1603540800,"open":13035.3,"close":13006.5,"high":13071.8,"low":12978.9,"amount":0.468,"vol":468,"trade_turnover":6102.5902,"count":123},{"id":1603544400,"open":13038.8,"close":12985.9,"high":13066.7,"low":12928.1,"amount":0.534,"vol":534,"trade_turnover":6950.4268,"count":123},{"id":1603548000,"open":12986.3,"close":13042.0,"high":13100.1,"low":12960.5,"amount":0.47,"vol":470,"trade_turnover":6124.2178,"count":100},{"id":1603551600,"open":13038.4,"close":13102.2,"high":13196.5,"low":13038.4,"amount":0.456,"vol":456,"trade_turnover":5989.6362,"count":120},{"id":1603555200,"open":13136.8,"close":13052.7,"high":13176.6,"low":12984.6,"amount":0.458,"vol":458,"trade_turnover":5976.331,"count":121},{"id":1603558800,"open":13006.2,"close":13177.8,"high":13177.8,"low":13003.2,"amount":0.452,"vol":452,"trade_turnover":5911.7058,"count":118},{"id":1603562400,"open":13127.7,"close":13080.8,"high":13170.7,"low":13023.0,"amount":0.468,"vol":468,"trade_turnover":6122.375,"count":119},{"id":1603566000,"open":13040.7,"close":13148.4,"high":13179.3,"low":13014.2,"amount":0.468,"vol":468,"trade_turnover":6126.4278,"count":120},{"id":1603569600,"open":13073.5,"close":13090.1,"high":13179.6,"low":12992.5,"amount":0.47,"vol":470,"trade_turnover":6151.4758,"count":119},{"id":1603573200,"open":13035.4,"close":12993.9,"high":13148.7,"low":12980.7,"amount":0.458,"vol":458,"trade_turnover":5981.071,"count":117},{"id":1603576800,"open":13040.7,"close":13041.1,"high":13112.1,"low":12975.6,"amount":0.478,"vol":478,"trade_turnover":6225.4216,"count":118},{"id":1603580400,"open":13012.6,"close":13184.3,"high":13184.3,"low":13009.3,"amount":0.472,"vol":472,"trade_turnover":6173.4244,"count":118},{"id":1603584000,"open":13080.8,"close":13154.3,"high":13170.4,"low":13007.7,"amount":0.46,"vol":460,"trade_turnover":6024.09,"count":115},{"id":1603587600,"open":13092.0,"close":13196.1,"high":13196.8,"low":13024.0,"amount":0.398,"vol":398,"trade_turnover":5217.5364,"count":102},{"id":1603591200,"open":13124.7,"close":13082.4,"high":13175.1,"low":13035.0,"amount":0.476,"vol":476,"trade_turnover":6228.6596,"count":120},{"id":1603594800,"open":13049.1,"close":13259.0,"high":13383.8,"low":13049.1,"amount":0.578,"vol":578,"trade_turnover":7629.3886,"count":137},{"id":1603598400,"open":13277.0,"close":13243.4,"high":13369.0,"low":13216.0,"amount":0.47,"vol":470,"trade_turnover":6247.955,"count":122},{"id":1603602000,"open":13285.3,"close":13017.3,"high":13353.3,"low":13010.1,"amount":0.61,"vol":610,"trade_turnover":8048.8598,"count":134},{"id":1603605600,"open":13022.5,"close":13060.3,"high":13105.7,"low":13018.2,"amount":0.486,"vol":486,"trade_turnover":6344.1474,"count":118},{"id":1603609200,"open":13048.5,"close":13078.1,"high":13112.1,"low":13022.0,"amount":0.464,"vol":464,"trade_turnover":6061.5416,"count":120},{"id":1603612800,"open":13077.2,"close":13046.0,"high":13091.0,"low":13017.2,"amount":0.464,"vol":464,"trade_turnover":6055.3734,"count":120},{"id":1603616400,"open":13065.1,"close":13040.8,"high":13084.0,"low":13014.2,"amount":0.478,"vol":478,"trade_turnover":6235.7882,"count":117},{"id":1603620000,"open":13047.1,"close":13028.5,"high":13064.2,"low":13010.2,"amount":0.478,"vol":478,"trade_turnover":6232.2428,"count":125},{"id":1603623600,"open":13061.5,"close":12897.6,"high":13061.5,"low":12852.9,"amount":0.534,"vol":534,"trade_turnover":6918.1226,"count":123},{"id":1603627200,"open":12908.3,"close":12964.3,"high":13069.7,"low":12893.2,"amount":0.444,"vol":444,"trade_turnover":5755.8712,"count":117},{"id":1603630800,"open":13001.3,"close":12949.3,"high":13071.9,"low":12891.8,"amount":0.498,"vol":498,"trade_turnover":6465.078,"count":119},{"id":1603634400,"open":12975.8,"close":12946.8,"high":13077.7,"low":12900.0,"amount":0.468,"vol":468,"trade_turnover":6075.4554,"count":116},{"id":1603638000,"open":12975.2,"close":12883.3,"high":13069.1,"low":12883.3,"amount":0.47,"vol":470,"trade_turnover":6097.1072,"count":119},{"id":1603641600,"open":12916.2,"close":12978.7,"high":13067.9,"low":12877.5,"amount":0.482,"vol":482,"trade_turnover":6256.4472,"count":118},{"id":1603645200,"open":13008.0,"close":13004.4,"high":13087.5,"low":12922.7,"amount":0.47,"vol":470,"trade_turnover":6108.3892,"count":117},{"id":1603648800,"open":12972.8,"close":12957.2,"high":13067.6,"low":12893.6,"amount":0.468,"vol":468,"trade_turnover":6079.1484,"count":118},{"id":1603652400,"open":12996.5,"close":13021.8,"high":13066.9,"low":12916.6,"amount":0.442,"vol":442,"trade_turnover":5746.5548,"count":118},{"id":1603656000,"open":12992.9,"close":12985.4,"high":13081.5,"low":12944.9,"amount":0.508,"vol":508,"trade_turnover":6616.9872,"count":120},{"id":1603659600,"open":12999.9,"close":13011.2,"high":13068.6,"low":12921.4,"amount":0.508,"vol":508,"trade_turnover":6614.816,"count":122},{"id":1603663200,"open":12979.6,"close":12959.4,"high":13073.8,"low":12911.9,"amount":0.486,"vol":486,"trade_turnover":6320.907,"count":121},{"id":1603666800,"open":12963.4,"close":13032.1,"high":13085.2,"low":12927.8,"amount":0.452,"vol":452,"trade_turnover":5878.6442,"count":113},{"id":1603670400,"open":12964.2,"close":13001.0,"high":13076.7,"low":12918.3,"amount":0.482,"vol":482,"trade_turnover":6263.698,"count":121},{"id":1603674000,"open":13040.0,"close":13053.7,"high":13096.4,"low":12991.2,"amount":0.478,"vol":478,"trade_turnover":6232.2328,"count":124},{"id":1603677600,"open":13060.6,"close":13064.4,"high":13185.7,"low":12985.1,"amount":0.488,"vol":488,"trade_turnover":6387.534,"count":121},{"id":1603681200,"open":13032.3,"close":13092.8,"high":13187.2,"low":12984.1,"amount":0.486,"vol":486,"trade_turnover":6369.0272,"count":135},{"id":1603684800,"open":13092.0,"close":13132.6,"high":13181.6,"low":12962.3,"amount":0.51,"vol":510,"trade_turnover":6679.829,"count":131},{"id":1603688400,"open":13129.2,"close":13092.1,"high":13205.3,"low":13025.3,"amount":0.506,"vol":506,"trade_turnover":6641.2128,"count":126},{"id":1603692000,"open":13121.8,"close":13071.4,"high":13188.1,"low":12989.8,"amount":1.616,"vol":1616,"trade_turnover":21170.8224,"count":141},{"id":1603695600,"open":13061.0,"close":13038.7,"high":13100.0,"low":12965.2,"amount":3.746,"vol":3746,"trade_turnover":48924.8902,"count":110},{"id":1603699200,"open":13030.9,"close":13039.3,"high":13102.0,"low":12852.8,"amount":8.966,"vol":8966,"trade_turnover":116525.5534,"count":173},{"id":1603702800,"open":13047.1,"close":13075.9,"high":13088.4,"low":13039.8,"amount":4.48,"vol":4480,"trade_turnover":58521.1714,"count":124},{"id":1603706400,"open":13072.1,"close":13100.0,"high":13100.0,"low":13060.2,"amount":4.272,"vol":4272,"trade_turnover":55895.9778,"count":130},{"id":1603710000,"open":13100.0,"close":13138.4,"high":13159.0,"low":13100.0,"amount":29.798,"vol":29798,"trade_turnover":391138.024,"count":230},{"id":1603713600,"open":13138.8,"close":13149.8,"high":13200.0,"low":13100.0,"amount":5.154,"vol":5154,"trade_turnover":67694.652,"count":188},{"id":1603717200,"open":13150.0,"close":13205.8,"high":13351.5,"low":13133.1,"amount":35.608,"vol":35608,"trade_turnover":472780.3394,"count":328},{"id":1603720800,"open":13203.0,"close":13166.1,"high":13280.0,"low":13144.1,"amount":31.748,"vol":31748,"trade_turnover":418744.5588,"count":235},{"id":1603724400,"open":13159.0,"close":12978.0,"high":13165.2,"low":12903.8,"amount":36.53,"vol":36530,"trade_turnover":476940.3296,"count":384},{"id":1603728000,"open":12965.0,"close":12869.6,"high":13069.8,"low":12850.5,"amount":35.018,"vol":35018,"trade_turnover":453288.918,"count":323},{"id":1603731600,"open":12879.2,"close":12873.8,"high":12941.5,"low":12583.9,"amount":92.628,"vol":92628,"trade_turnover":1185973.467,"count":560},{"id":1603735200,"open":12856.2,"close":12946.8,"high":12954.5,"low":12820.4,"amount":4.302,"vol":4302,"trade_turnover":55481.0054,"count":128},{"id":1603738800,"open":12945.6,"close":12953.4,"high":12953.5,"low":12914.1,"amount":13.83,"vol":13830,"trade_turnover":179112.1598,"count":118},{"id":1603742400,"open":12953.5,"close":12983.4,"high":13007.5,"low":12953.5,"amount":17.172,"vol":17172,"trade_turnover":223230.2122,"count":132},{"id":1603746000,"open":12983.1,"close":12993.8,"high":13007.5,"low":12982.7,"amount":3.212,"vol":3212,"trade_turnover":41767.8906,"count":59},{"id":1603749600,"open":13002.1,"close":13007.5,"high":13007.5,"low":12974.0,"amount":1.504,"vol":1504,"trade_turnover":19543.3568,"count":74},{"id":1603753200,"open":13007.5,"close":13033.7,"high":13061.2,"low":13007.5,"amount":3.454,"vol":3454,"trade_turnover":45001.601,"count":101},{"id":1603756800,"open":13029.2,"close":13067.1,"high":13105.0,"low":13028.3,"amount":8.784,"vol":8784,"trade_turnover":114871.8246,"count":98},{"id":1603760400,"open":13074.3,"close":13061.7,"high":13074.4,"low":13051.5,"amount":11.592,"vol":11592,"trade_turnover":151386.9038,"count":66},{"id":1603764000,"open":13061.7,"close":13049.7,"high":13097.6,"low":13040.1,"amount":19.298,"vol":19298,"trade_turnover":252061.019,"count":109},{"id":1603767600,"open":13057.6,"close":13070.4,"high":13080.0,"low":13057.1,"amount":22.992,"vol":22992,"trade_turnover":300453.9788,"count":69},{"id":1603771200,"open":13080.0,"close":13103.3,"high":13175.0,"low":13079.6,"amount":14.396,"vol":14396,"trade_turnover":188461.9156,"count":59},{"id":1603774800,"open":13121.3,"close":13073.6,"high":13121.3,"low":13069.7,"amount":5.058,"vol":5058,"trade_turnover":66201.3552,"count":44},{"id":1603778400,"open":13074.9,"close":13103.4,"high":13149.0,"low":13069.6,"amount":9.106,"vol":9106,"trade_turnover":119104.8906,"count":107},{"id":1603782000,"open":13103.3,"close":13130.0,"high":13169.8,"low":12992.4,"amount":73.95,"vol":73950,"trade_turnover":968195.155,"count":305},{"id":1603785600,"open":13135.1,"close":13123.8,"high":13148.4,"low":13044.0,"amount":18.732,"vol":18732,"trade_turnover":245533.5448,"count":135},{"id":1603789200,"open":13115.5,"close":13131.7,"high":13131.8,"low":13075.7,"amount":13.756,"vol":13756,"trade_turnover":180253.7708,"count":102},{"id":1603792800,"open":13134.8,"close":13216.9,"high":13252.0,"low":13063.4,"amount":154.108,"vol":154108,"trade_turnover":2029983.656,"count":525},{"id":1603796400,"open":13218.8,"close":13395.8,"high":13590.1,"low":13213.5,"amount":170.09,"vol":170090,"trade_turnover":2276279.742,"count":591},{"id":1603800000,"open":13395.9,"close":13376.9,"high":13414.0,"low":13331.7,"amount":48.928,"vol":48928,"trade_turnover":654585.9108,"count":216},{"id":1603803600,"open":13376.5,"close":13384.3,"high":13490.9,"low":13329.8,"amount":63.294,"vol":63294,"trade_turnover":848130.9212,"count":316},{"id":1603807200,"open":13392.6,"close":13398.2,"high":13415.8,"low":13344.8,"amount":12.892,"vol":12892,"trade_turnover":172618.6864,"count":124},{"id":1603810800,"open":13398.2,"close":13598.5,"high":13626.7,"low":13398.2,"amount":93.22,"vol":93220,"trade_turnover":1262695.5466,"count":476},{"id":1603814400,"open":13595.8,"close":13639.9,"high":13639.9,"low":13520.2,"amount":85.45,"vol":85450,"trade_turnover":1161481.4136,"count":435},{"id":1603818000,"open":13640.0,"close":13688.1,"high":13826.7,"low":13589.0,"amount":191.812,"vol":191812,"trade_turnover":2628428.3788,"count":711},{"id":1603821600,"open":13685.0,"close":13630.1,"high":13745.0,"low":13528.2,"amount":65.434,"vol":65434,"trade_turnover":891541.8394,"count":410},{"id":1603825200,"open":13629.4,"close":13637.1,"high":13659.8,"low":13595.4,"amount":5.788,"vol":5788,"trade_turnover":78836.2578,"count":65},{"id":1603828800,"open":13644.4,"close":13616.6,"high":13805.1,"low":13582.6,"amount":163.104,"vol":163104,"trade_turnover":2234040.3544,"count":537},{"id":1603832400,"open":13609.8,"close":13705.5,"high":13753.5,"low":13609.8,"amount":9.884,"vol":9884,"trade_turnover":135406.4752,"count":101},{"id":1603836000,"open":13705.4,"close":13739.9,"high":13739.9,"low":13658.2,"amount":7.436,"vol":7436,"trade_turnover":101840.3508,"count":100},{"id":1603839600,"open":13739.9,"close":13649.6,"high":13794.6,"low":13582.6,"amount":17.086,"vol":17086,"trade_turnover":233971.8448,"count":234},{"id":1603843200,"open":13645.9,"close":13701.7,"high":13745.2,"low":13618.8,"amount":24.108,"vol":24108,"trade_turnover":330206.5694,"count":177},{"id":1603846800,"open":13702.1,"close":13702.6,"high":13725.6,"low":13647.9,"amount":15.892,"vol":15892,"trade_turnover":217816.7008,"count":151},{"id":1603850400,"open":13701.7,"close":13811.6,"high":13832.2,"low":13680.2,"amount":46.548,"vol":46548,"trade_turnover":640636.0352,"count":274},{"id":1603854000,"open":13818.5,"close":13777.0,"high":13820.3,"low":13717.5,"amount":67.896,"vol":67896,"trade_turnover":935838.2238,"count":320},{"id":1603857600,"open":13767.3,"close":13735.7,"high":13807.2,"low":13710.0,"amount":33.156,"vol":33156,"trade_turnover":455941.234,"count":210},{"id":1603861200,"open":13735.5,"close":13715.8,"high":13753.9,"low":13671.3,"amount":32.076,"vol":32076,"trade_turnover":439612.64,"count":198},{"id":1603864800,"open":13715.9,"close":13701.3,"high":13757.0,"low":13694.9,"amount":14.756,"vol":14756,"trade_turnover":202602.5164,"count":122},{"id":1603868400,"open":13701.2,"close":13674.2,"high":13708.7,"low":13550.0,"amount":155.534,"vol":155534,"trade_turnover":2117935.0928,"count":635},{"id":1603872000,"open":13673.0,"close":13691.7,"high":13691.7,"low":13584.0,"amount":29.846,"vol":29846,"trade_turnover":407073.1398,"count":240},{"id":1603875600,"open":13689.3,"close":13587.1,"high":13707.5,"low":13573.5,"amount":104.542,"vol":104542,"trade_turnover":1425079.9344,"count":377},{"id":1603879200,"open":13584.6,"close":13552.7,"high":13618.0,"low":13504.7,"amount":73.818,"vol":73818,"trade_turnover":1001666.0908,"count":358},{"id":1603882800,"open":13552.6,"close":13336.4,"high":13565.4,"low":13330.0,"amount":176.544,"vol":176544,"trade_turnover":2369166.1492,"count":1004},{"id":1603886400,"open":13331.5,"close":13300.3,"high":13385.0,"low":13173.9,"amount":289.73,"vol":289730,"trade_turnover":3846751.7166,"count":968},{"id":1603890000,"open":13300.2,"close":13129.9,"high":13340.0,"low":13122.9,"amount":139.822,"vol":139822,"trade_turnover":1848876.932,"count":612},{"id":1603893600,"open":13123.4,"close":13082.2,"high":13168.2,"low":12915.9,"amount":367.876,"vol":367876,"trade_turnover":4802516.9818,"count":1168},{"id":1603897200,"open":13077.1,"close":13221.2,"high":13235.2,"low":13052.3,"amount":84.044,"vol":84044,"trade_turnover":1106883.1282,"count":375},{"id":1603900800,"open":13218.7,"close":13145.1,"high":13218.7,"low":13050.0,"amount":29.566,"vol":29566,"trade_turnover":388697.4104,"count":244},{"id":1603904400,"open":13145.1,"close":13176.7,"high":13204.9,"low":13006.6,"amount":53.336,"vol":53336,"trade_turnover":700385.2784,"count":299},{"id":1603908000,"open":13171.0,"close":13196.5,"high":13219.6,"low":13131.0,"amount":34.164,"vol":34164,"trade_turnover":450210.5778,"count":218},{"id":1603911600,"open":13200.0,"close":13154.9,"high":13237.4,"low":13145.0,"amount":22.158,"vol":22158,"trade_turnover":292020.0438,"count":185},{"id":1603915200,"open":13154.5,"close":13198.1,"high":13211.8,"low":13147.4,"amount":4.548,"vol":4548,"trade_turnover":59991.1118,"count":75},{"id":1603918800,"open":13193.5,"close":13190.1,"high":13196.5,"low":13100.2,"amount":3.52,"vol":3520,"trade_turnover":46175.428,"count":68},{"id":1603922400,"open":13185.4,"close":13252.0,"high":13267.5,"low":13185.4,"amount":3.122,"vol":3122,"trade_turnover":41304.2018,"count":72},{"id":1603926000,"open":13242.1,"close":13265.9,"high":13282.3,"low":13235.9,"amount":14.768,"vol":14768,"trade_turnover":195689.0764,"count":86},{"id":1603929600,"open":13253.9,"close":13245.1,"high":13294.7,"low":13237.4,"amount":19.968,"vol":19968,"trade_turnover":264834.1944,"count":98},{"id":1603933200,"open":13244.6,"close":13274.2,"high":13285.3,"low":13166.3,"amount":35.282,"vol":35282,"trade_turnover":465789.6302,"count":192},{"id":1603936800,"open":13275.9,"close":13241.1,"high":13277.7,"low":13212.2,"amount":9.748,"vol":9748,"trade_turnover":129016.0684,"count":119},{"id":1603940400,"open":13237.1,"close":13262.5,"high":13262.5,"low":13174.6,"amount":27.3,"vol":27300,"trade_turnover":360589.8982,"count":199},{"id":1603944000,"open":13269.1,"close":13229.5,"high":13277.7,"low":13229.5,"amount":18.904,"vol":18904,"trade_turnover":250713.2812,"count":109},{"id":1603947600,"open":13228.5,"close":13274.8,"high":13274.8,"low":13228.5,"amount":15.822,"vol":15822,"trade_turnover":209781.909,"count":134},{"id":1603951200,"open":13274.8,"close":13255.0,"high":13323.0,"low":13242.3,"amount":91.246,"vol":91246,"trade_turnover":1211271.2788,"count":294},{"id":1603954800,"open":13255.0,"close":13142.4,"high":13269.3,"low":13123.1,"amount":187.622,"vol":187622,"trade_turnover":2478299.7074,"count":506},{"id":1603958400,"open":13145.9,"close":13124.8,"high":13182.4,"low":13094.1,"amount":69.532,"vol":69532,"trade_turnover":914157.2418,"count":226},{"id":1603962000,"open":13129.5,"close":13183.7,"high":13197.1,"low":13129.5,"amount":23.184,"vol":23184,"trade_turnover":305485.9524,"count":141},{"id":1603965600,"open":13184.8,"close":13105.2,"high":13187.5,"low":13053.1,"amount":121.146,"vol":121146,"trade_turnover":1590026.4416,"count":442},{"id":1603969200,"open":13105.1,"close":13060.1,"high":13171.4,"low":13060.1,"amount":47.498,"vol":47498,"trade_turnover":623578.149,"count":262},{"id":1603972800,"open":13056.9,"close":13131.8,"high":13145.8,"low":12977.9,"amount":126.552,"vol":126552,"trade_turnover":1652549.311,"count":481},{"id":1603976400,"open":13131.7,"close":13230.0,"high":13237.2,"low":13102.0,"amount":100.482,"vol":100482,"trade_turnover":1326403.7206,"count":325},{"id":1603980000,"open":13231.0,"close":13420.8,"high":13476.1,"low":13231.0,"amount":253.258,"vol":253258,"trade_turnover":3384941.438,"count":752},{"id":1603983600,"open":13416.0,"close":13420.6,"high":13458.7,"low":13358.7,"amount":64.71,"vol":64710,"trade_turnover":869052.3804,"count":269},{"id":1603987200,"open":13421.9,"close":13535.9,"high":13594.5,"low":13391.8,"amount":120.24,"vol":120240,"trade_turnover":1626567.8278,"count":570}]} +2024-01-18 11:13:22.082 [INFO] [WebSocketConnectReadThread-12] [com.huobi.usdt.wss.WssMarketReqTest.lambda$test1$0:41] - 请求 KLine 数据解析之后的数据为:{"wsid":19750305,"data":[{"amount":0.276,"high":12300.0,"vol":276,"low":11715.8,"count":39,"id":1603270800,"close":12196.7,"tradeTurnover":3315.9104,"open":12198.0},{"amount":0.198,"high":12289.9,"vol":198,"low":12111.0,"count":21,"id":1603274400,"close":12277.9,"tradeTurnover":2420.7728,"open":12196.7},{"amount":0.012,"high":12277.9,"vol":12,"low":12000.0,"count":5,"id":1603278000,"close":12000.0,"tradeTurnover":145.2238,"open":12111.0},{"amount":0.084,"high":12498.0,"vol":84,"low":12078.0,"count":12,"id":1603281600,"close":12497.4,"tradeTurnover":1040.0504,"open":12078.0},{"amount":1.122,"high":12495.6,"vol":1122,"low":12282.9,"count":112,"id":1603285200,"close":12373.5,"tradeTurnover":13905.3124,"open":12495.6},{"amount":5.29,"high":12807.6,"vol":5290,"low":12358.1,"count":155,"id":1603288800,"close":12689.9,"tradeTurnover":66852.128,"open":12412.9},{"amount":1.174,"high":12778.7,"vol":1174,"low":12573.2,"count":113,"id":1603292400,"close":12701.9,"tradeTurnover":14907.367,"open":12692.8},{"amount":1.156,"high":12920.9,"vol":1156,"low":12624.8,"count":115,"id":1603296000,"close":12835.9,"tradeTurnover":14802.449,"open":12679.7},{"amount":1.12,"high":12908.3,"vol":1120,"low":12687.5,"count":115,"id":1603299600,"close":12754.2,"tradeTurnover":14345.7324,"open":12848.3},{"amount":1.106,"high":12849.0,"vol":1106,"low":12668.3,"count":114,"id":1603303200,"close":12740.2,"tradeTurnover":14105.3504,"open":12743.7},{"amount":1.032,"high":12843.1,"vol":1032,"low":12597.2,"count":112,"id":1603306800,"close":12650.3,"tradeTurnover":13125.4568,"open":12729.5},{"amount":1.154,"high":12848.4,"vol":1154,"low":12610.2,"count":116,"id":1603310400,"close":12807.0,"tradeTurnover":14680.638,"open":12666.8},{"amount":1.164,"high":13005.1,"vol":1164,"low":12748.2,"count":114,"id":1603314000,"close":12938.9,"tradeTurnover":14976.9366,"open":12866.0},{"amount":1.174,"high":13211.2,"vol":1174,"low":12865.7,"count":114,"id":1603317600,"close":13122.0,"tradeTurnover":15285.2446,"open":12921.0},{"amount":1.172,"high":13173.2,"vol":1172,"low":12688.6,"count":117,"id":1603321200,"close":12829.8,"tradeTurnover":15060.9938,"open":13153.2},{"amount":1.17,"high":12988.1,"vol":1170,"low":12764.4,"count":117,"id":1603324800,"close":12885.9,"tradeTurnover":15046.2046,"open":12793.1},{"amount":1.158,"high":12972.6,"vol":1158,"low":12757.5,"count":118,"id":1603328400,"close":12757.5,"tradeTurnover":14882.4656,"open":12860.4},{"amount":1.124,"high":12848.0,"vol":1124,"low":12729.0,"count":115,"id":1603332000,"close":12788.8,"tradeTurnover":14368.7948,"open":12824.1},{"amount":1.194,"high":12834.4,"vol":1194,"low":12729.0,"count":111,"id":1603335600,"close":12767.2,"tradeTurnover":15268.9298,"open":12791.7},{"amount":1.152,"high":12778.3,"vol":1152,"low":12729.0,"count":115,"id":1603339200,"close":12762.2,"tradeTurnover":14695.4876,"open":12729.0},{"amount":1.21,"high":12842.0,"vol":1210,"low":12730.6,"count":119,"id":1603342800,"close":12813.8,"tradeTurnover":15440.8162,"open":12763.1},{"amount":1.188,"high":12795.0,"vol":1188,"low":12728.0,"count":123,"id":1603346400,"close":12729.1,"tradeTurnover":15128.0098,"open":12795.0},{"amount":1.266,"high":12730.6,"vol":1266,"low":12728.3,"count":112,"id":1603350000,"close":12730.6,"tradeTurnover":16115.1306,"open":12728.6},{"amount":1.35,"high":12921.5,"vol":1350,"low":12729.9,"count":127,"id":1603353600,"close":12770.1,"tradeTurnover":17233.7326,"open":12730.3},{"amount":0.98,"high":12872.1,"vol":980,"low":12760.1,"count":99,"id":1603357200,"close":12780.4,"tradeTurnover":12553.9826,"open":12824.9},{"amount":0.266,"high":13002.7,"vol":266,"low":12775.6,"count":30,"id":1603360800,"close":12934.2,"tradeTurnover":3415.023,"open":12784.9},{"amount":1.004,"high":13057.0,"vol":1004,"low":12886.6,"count":117,"id":1603364400,"close":13045.0,"tradeTurnover":13020.8576,"open":12977.0},{"amount":1.134,"high":12973.4,"vol":1134,"low":12751.6,"count":111,"id":1603368000,"close":12847.9,"tradeTurnover":14594.2752,"open":12958.5},{"amount":1.152,"high":13000.8,"vol":1152,"low":12743.0,"count":114,"id":1603371600,"close":12931.0,"tradeTurnover":14877.7314,"open":12882.7},{"amount":1.182,"high":12995.3,"vol":1182,"low":12783.9,"count":115,"id":1603375200,"close":12917.8,"tradeTurnover":15224.4716,"open":12890.4},{"amount":1.176,"high":13031.2,"vol":1176,"low":12817.9,"count":117,"id":1603378800,"close":12953.0,"tradeTurnover":15197.208,"open":12918.8},{"amount":1.146,"high":13100.2,"vol":1146,"low":12865.6,"count":119,"id":1603382400,"close":13055.6,"tradeTurnover":14851.9604,"open":12923.1},{"amount":1.534,"high":13105.7,"vol":1534,"low":12835.5,"count":124,"id":1603386000,"close":13082.7,"tradeTurnover":19927.8288,"open":12967.6},{"amount":1.268,"high":13115.0,"vol":1268,"low":12938.7,"count":117,"id":1603389600,"close":13016.4,"tradeTurnover":16505.4738,"open":13020.4},{"amount":1.13,"high":13171.2,"vol":1130,"low":12961.8,"count":112,"id":1603393200,"close":12970.6,"tradeTurnover":14762.952,"open":13028.3},{"amount":1.206,"high":13216.1,"vol":1206,"low":12998.5,"count":117,"id":1603396800,"close":13089.3,"tradeTurnover":15807.1226,"open":13016.7},{"amount":1.332,"high":13203.7,"vol":1332,"low":12932.9,"count":114,"id":1603400400,"close":13092.0,"tradeTurnover":17423.4422,"open":13136.0},{"amount":1.21,"high":13250.5,"vol":1210,"low":12984.7,"count":114,"id":1603404000,"close":13055.9,"tradeTurnover":15876.0632,"open":13119.4},{"amount":1.286,"high":13126.5,"vol":1286,"low":12857.2,"count":116,"id":1603407600,"close":12890.4,"tradeTurnover":16688.422,"open":13059.4},{"amount":1.502,"high":12994.0,"vol":1502,"low":12751.6,"count":131,"id":1603411200,"close":12892.2,"tradeTurnover":19331.1596,"open":12929.7},{"amount":1.386,"high":13003.2,"vol":1386,"low":12786.0,"count":121,"id":1603414800,"close":12898.3,"tradeTurnover":17904.8902,"open":12921.7},{"amount":1.416,"high":13054.0,"vol":1416,"low":12800.7,"count":122,"id":1603418400,"close":12975.1,"tradeTurnover":18306.6204,"open":12951.6},{"amount":1.19,"high":13030.7,"vol":1190,"low":12875.0,"count":118,"id":1603422000,"close":12947.0,"tradeTurnover":15409.7984,"open":12967.3},{"amount":1.022,"high":13047.3,"vol":1022,"low":12832.8,"count":127,"id":1603425600,"close":12852.0,"tradeTurnover":13214.4388,"open":12925.2},{"amount":0.478,"high":12991.7,"vol":478,"low":12841.2,"count":118,"id":1603429200,"close":12931.1,"tradeTurnover":6180.2486,"open":12859.0},{"amount":0.522,"high":13014.1,"vol":522,"low":12871.9,"count":132,"id":1603432800,"close":12939.6,"tradeTurnover":6759.0324,"open":12935.9},{"amount":0.476,"high":12998.9,"vol":476,"low":12917.1,"count":118,"id":1603436400,"close":12925.4,"tradeTurnover":6163.3118,"open":12923.1},{"amount":0.508,"high":13014.0,"vol":508,"low":12916.1,"count":122,"id":1603440000,"close":12962.6,"tradeTurnover":6585.3656,"open":12942.2},{"amount":0.564,"high":13012.5,"vol":564,"low":12909.9,"count":124,"id":1603443600,"close":12926.4,"tradeTurnover":7308.8828,"open":12970.5},{"amount":0.536,"high":13059.5,"vol":536,"low":12925.7,"count":124,"id":1603447200,"close":13007.7,"tradeTurnover":6957.8796,"open":13001.2},{"amount":0.486,"high":13078.4,"vol":486,"low":12906.5,"count":122,"id":1603450800,"close":12970.6,"tradeTurnover":6326.1434,"open":13025.4},{"amount":0.494,"high":13025.0,"vol":494,"low":12850.8,"count":117,"id":1603454400,"close":12935.4,"tradeTurnover":6396.0984,"open":12963.9},{"amount":0.466,"high":13043.3,"vol":466,"low":12911.0,"count":117,"id":1603458000,"close":12951.7,"tradeTurnover":6049.1412,"open":12913.3},{"amount":0.46,"high":13006.4,"vol":460,"low":12840.4,"count":116,"id":1603461600,"close":12858.8,"tradeTurnover":5941.815,"open":12999.6},{"amount":0.492,"high":12932.9,"vol":492,"low":12826.5,"count":117,"id":1603465200,"close":12881.9,"tradeTurnover":6340.214,"open":12885.7},{"amount":0.484,"high":12933.5,"vol":484,"low":12744.4,"count":123,"id":1603468800,"close":12784.1,"tradeTurnover":6205.4138,"open":12854.4},{"amount":0.562,"high":12893.1,"vol":562,"low":12730.1,"count":152,"id":1603472400,"close":12847.7,"tradeTurnover":7218.9184,"open":12832.3},{"amount":0.53,"high":12939.3,"vol":530,"low":12751.4,"count":128,"id":1603476000,"close":12915.7,"tradeTurnover":6825.7004,"open":12874.1},{"amount":0.444,"high":12972.9,"vol":444,"low":12786.6,"count":117,"id":1603479600,"close":12972.9,"tradeTurnover":5727.7452,"open":12867.9},{"amount":0.492,"high":13002.2,"vol":492,"low":12842.9,"count":116,"id":1603483200,"close":12991.6,"tradeTurnover":6375.1566,"open":12956.7},{"amount":0.5,"high":13004.3,"vol":500,"low":12936.6,"count":125,"id":1603486800,"close":12943.5,"tradeTurnover":6485.468,"open":13004.3},{"amount":0.492,"high":13010.3,"vol":492,"low":12884.7,"count":120,"id":1603490400,"close":12989.2,"tradeTurnover":6376.1492,"open":12923.6},{"amount":0.51,"high":13024.4,"vol":510,"low":12884.6,"count":121,"id":1603494000,"close":12884.6,"tradeTurnover":6622.3406,"open":12974.9},{"amount":0.488,"high":13018.3,"vol":488,"low":12811.1,"count":120,"id":1603497600,"close":12953.9,"tradeTurnover":6317.7938,"open":12973.7},{"amount":0.482,"high":13018.1,"vol":482,"low":12872.8,"count":117,"id":1603501200,"close":12934.2,"tradeTurnover":6242.4178,"open":12927.5},{"amount":0.484,"high":13003.9,"vol":484,"low":12903.3,"count":117,"id":1603504800,"close":12989.1,"tradeTurnover":6278.1756,"open":12971.9},{"amount":0.474,"high":13013.4,"vol":474,"low":12938.3,"count":122,"id":1603508400,"close":12975.9,"tradeTurnover":6157.7096,"open":13000.1},{"amount":0.526,"high":13009.4,"vol":526,"low":12905.5,"count":124,"id":1603512000,"close":12963.3,"tradeTurnover":6831.5658,"open":12989.7},{"amount":0.522,"high":13041.8,"vol":522,"low":12875.3,"count":127,"id":1603515600,"close":12989.7,"tradeTurnover":6768.8994,"open":12910.5},{"amount":0.49,"high":13058.1,"vol":490,"low":12908.8,"count":120,"id":1603519200,"close":13003.6,"tradeTurnover":6370.5714,"open":12994.7},{"amount":0.478,"high":13037.8,"vol":478,"low":12981.7,"count":120,"id":1603522800,"close":13004.2,"tradeTurnover":6218.9722,"open":13011.9},{"amount":0.52,"high":13030.6,"vol":520,"low":12899.4,"count":124,"id":1603526400,"close":12998.2,"tradeTurnover":6754.958,"open":13003.0},{"amount":0.454,"high":13020.3,"vol":454,"low":12893.6,"count":115,"id":1603530000,"close":12990.6,"tradeTurnover":5891.0574,"open":12998.2},{"amount":0.502,"high":13059.1,"vol":502,"low":12913.2,"count":124,"id":1603533600,"close":13030.1,"tradeTurnover":6525.9004,"open":12996.4},{"amount":0.468,"high":13068.3,"vol":468,"low":12940.2,"count":119,"id":1603537200,"close":13033.2,"tradeTurnover":6091.0376,"open":12988.4},{"amount":0.468,"high":13071.8,"vol":468,"low":12978.9,"count":123,"id":1603540800,"close":13006.5,"tradeTurnover":6102.5902,"open":13035.3},{"amount":0.534,"high":13066.7,"vol":534,"low":12928.1,"count":123,"id":1603544400,"close":12985.9,"tradeTurnover":6950.4268,"open":13038.8},{"amount":0.47,"high":13100.1,"vol":470,"low":12960.5,"count":100,"id":1603548000,"close":13042.0,"tradeTurnover":6124.2178,"open":12986.3},{"amount":0.456,"high":13196.5,"vol":456,"low":13038.4,"count":120,"id":1603551600,"close":13102.2,"tradeTurnover":5989.6362,"open":13038.4},{"amount":0.458,"high":13176.6,"vol":458,"low":12984.6,"count":121,"id":1603555200,"close":13052.7,"tradeTurnover":5976.331,"open":13136.8},{"amount":0.452,"high":13177.8,"vol":452,"low":13003.2,"count":118,"id":1603558800,"close":13177.8,"tradeTurnover":5911.7058,"open":13006.2},{"amount":0.468,"high":13170.7,"vol":468,"low":13023.0,"count":119,"id":1603562400,"close":13080.8,"tradeTurnover":6122.375,"open":13127.7},{"amount":0.468,"high":13179.3,"vol":468,"low":13014.2,"count":120,"id":1603566000,"close":13148.4,"tradeTurnover":6126.4278,"open":13040.7},{"amount":0.47,"high":13179.6,"vol":470,"low":12992.5,"count":119,"id":1603569600,"close":13090.1,"tradeTurnover":6151.4758,"open":13073.5},{"amount":0.458,"high":13148.7,"vol":458,"low":12980.7,"count":117,"id":1603573200,"close":12993.9,"tradeTurnover":5981.071,"open":13035.4},{"amount":0.478,"high":13112.1,"vol":478,"low":12975.6,"count":118,"id":1603576800,"close":13041.1,"tradeTurnover":6225.4216,"open":13040.7},{"amount":0.472,"high":13184.3,"vol":472,"low":13009.3,"count":118,"id":1603580400,"close":13184.3,"tradeTurnover":6173.4244,"open":13012.6},{"amount":0.46,"high":13170.4,"vol":460,"low":13007.7,"count":115,"id":1603584000,"close":13154.3,"tradeTurnover":6024.09,"open":13080.8},{"amount":0.398,"high":13196.8,"vol":398,"low":13024.0,"count":102,"id":1603587600,"close":13196.1,"tradeTurnover":5217.5364,"open":13092.0},{"amount":0.476,"high":13175.1,"vol":476,"low":13035.0,"count":120,"id":1603591200,"close":13082.4,"tradeTurnover":6228.6596,"open":13124.7},{"amount":0.578,"high":13383.8,"vol":578,"low":13049.1,"count":137,"id":1603594800,"close":13259.0,"tradeTurnover":7629.3886,"open":13049.1},{"amount":0.47,"high":13369.0,"vol":470,"low":13216.0,"count":122,"id":1603598400,"close":13243.4,"tradeTurnover":6247.955,"open":13277.0},{"amount":0.61,"high":13353.3,"vol":610,"low":13010.1,"count":134,"id":1603602000,"close":13017.3,"tradeTurnover":8048.8598,"open":13285.3},{"amount":0.486,"high":13105.7,"vol":486,"low":13018.2,"count":118,"id":1603605600,"close":13060.3,"tradeTurnover":6344.1474,"open":13022.5},{"amount":0.464,"high":13112.1,"vol":464,"low":13022.0,"count":120,"id":1603609200,"close":13078.1,"tradeTurnover":6061.5416,"open":13048.5},{"amount":0.464,"high":13091.0,"vol":464,"low":13017.2,"count":120,"id":1603612800,"close":13046.0,"tradeTurnover":6055.3734,"open":13077.2},{"amount":0.478,"high":13084.0,"vol":478,"low":13014.2,"count":117,"id":1603616400,"close":13040.8,"tradeTurnover":6235.7882,"open":13065.1},{"amount":0.478,"high":13064.2,"vol":478,"low":13010.2,"count":125,"id":1603620000,"close":13028.5,"tradeTurnover":6232.2428,"open":13047.1},{"amount":0.534,"high":13061.5,"vol":534,"low":12852.9,"count":123,"id":1603623600,"close":12897.6,"tradeTurnover":6918.1226,"open":13061.5},{"amount":0.444,"high":13069.7,"vol":444,"low":12893.2,"count":117,"id":1603627200,"close":12964.3,"tradeTurnover":5755.8712,"open":12908.3},{"amount":0.498,"high":13071.9,"vol":498,"low":12891.8,"count":119,"id":1603630800,"close":12949.3,"tradeTurnover":6465.078,"open":13001.3},{"amount":0.468,"high":13077.7,"vol":468,"low":12900.0,"count":116,"id":1603634400,"close":12946.8,"tradeTurnover":6075.4554,"open":12975.8},{"amount":0.47,"high":13069.1,"vol":470,"low":12883.3,"count":119,"id":1603638000,"close":12883.3,"tradeTurnover":6097.1072,"open":12975.2},{"amount":0.482,"high":13067.9,"vol":482,"low":12877.5,"count":118,"id":1603641600,"close":12978.7,"tradeTurnover":6256.4472,"open":12916.2},{"amount":0.47,"high":13087.5,"vol":470,"low":12922.7,"count":117,"id":1603645200,"close":13004.4,"tradeTurnover":6108.3892,"open":13008.0},{"amount":0.468,"high":13067.6,"vol":468,"low":12893.6,"count":118,"id":1603648800,"close":12957.2,"tradeTurnover":6079.1484,"open":12972.8},{"amount":0.442,"high":13066.9,"vol":442,"low":12916.6,"count":118,"id":1603652400,"close":13021.8,"tradeTurnover":5746.5548,"open":12996.5},{"amount":0.508,"high":13081.5,"vol":508,"low":12944.9,"count":120,"id":1603656000,"close":12985.4,"tradeTurnover":6616.9872,"open":12992.9},{"amount":0.508,"high":13068.6,"vol":508,"low":12921.4,"count":122,"id":1603659600,"close":13011.2,"tradeTurnover":6614.816,"open":12999.9},{"amount":0.486,"high":13073.8,"vol":486,"low":12911.9,"count":121,"id":1603663200,"close":12959.4,"tradeTurnover":6320.907,"open":12979.6},{"amount":0.452,"high":13085.2,"vol":452,"low":12927.8,"count":113,"id":1603666800,"close":13032.1,"tradeTurnover":5878.6442,"open":12963.4},{"amount":0.482,"high":13076.7,"vol":482,"low":12918.3,"count":121,"id":1603670400,"close":13001.0,"tradeTurnover":6263.698,"open":12964.2},{"amount":0.478,"high":13096.4,"vol":478,"low":12991.2,"count":124,"id":1603674000,"close":13053.7,"tradeTurnover":6232.2328,"open":13040.0},{"amount":0.488,"high":13185.7,"vol":488,"low":12985.1,"count":121,"id":1603677600,"close":13064.4,"tradeTurnover":6387.534,"open":13060.6},{"amount":0.486,"high":13187.2,"vol":486,"low":12984.1,"count":135,"id":1603681200,"close":13092.8,"tradeTurnover":6369.0272,"open":13032.3},{"amount":0.51,"high":13181.6,"vol":510,"low":12962.3,"count":131,"id":1603684800,"close":13132.6,"tradeTurnover":6679.829,"open":13092.0},{"amount":0.506,"high":13205.3,"vol":506,"low":13025.3,"count":126,"id":1603688400,"close":13092.1,"tradeTurnover":6641.2128,"open":13129.2},{"amount":1.616,"high":13188.1,"vol":1616,"low":12989.8,"count":141,"id":1603692000,"close":13071.4,"tradeTurnover":21170.8224,"open":13121.8},{"amount":3.746,"high":13100.0,"vol":3746,"low":12965.2,"count":110,"id":1603695600,"close":13038.7,"tradeTurnover":48924.8902,"open":13061.0},{"amount":8.966,"high":13102.0,"vol":8966,"low":12852.8,"count":173,"id":1603699200,"close":13039.3,"tradeTurnover":116525.5534,"open":13030.9},{"amount":4.48,"high":13088.4,"vol":4480,"low":13039.8,"count":124,"id":1603702800,"close":13075.9,"tradeTurnover":58521.1714,"open":13047.1},{"amount":4.272,"high":13100.0,"vol":4272,"low":13060.2,"count":130,"id":1603706400,"close":13100.0,"tradeTurnover":55895.9778,"open":13072.1},{"amount":29.798,"high":13159.0,"vol":29798,"low":13100.0,"count":230,"id":1603710000,"close":13138.4,"tradeTurnover":391138.024,"open":13100.0},{"amount":5.154,"high":13200.0,"vol":5154,"low":13100.0,"count":188,"id":1603713600,"close":13149.8,"tradeTurnover":67694.652,"open":13138.8},{"amount":35.608,"high":13351.5,"vol":35608,"low":13133.1,"count":328,"id":1603717200,"close":13205.8,"tradeTurnover":472780.3394,"open":13150.0},{"amount":31.748,"high":13280.0,"vol":31748,"low":13144.1,"count":235,"id":1603720800,"close":13166.1,"tradeTurnover":418744.5588,"open":13203.0},{"amount":36.53,"high":13165.2,"vol":36530,"low":12903.8,"count":384,"id":1603724400,"close":12978.0,"tradeTurnover":476940.3296,"open":13159.0},{"amount":35.018,"high":13069.8,"vol":35018,"low":12850.5,"count":323,"id":1603728000,"close":12869.6,"tradeTurnover":453288.918,"open":12965.0},{"amount":92.628,"high":12941.5,"vol":92628,"low":12583.9,"count":560,"id":1603731600,"close":12873.8,"tradeTurnover":1185973.467,"open":12879.2},{"amount":4.302,"high":12954.5,"vol":4302,"low":12820.4,"count":128,"id":1603735200,"close":12946.8,"tradeTurnover":55481.0054,"open":12856.2},{"amount":13.83,"high":12953.5,"vol":13830,"low":12914.1,"count":118,"id":1603738800,"close":12953.4,"tradeTurnover":179112.1598,"open":12945.6},{"amount":17.172,"high":13007.5,"vol":17172,"low":12953.5,"count":132,"id":1603742400,"close":12983.4,"tradeTurnover":223230.2122,"open":12953.5},{"amount":3.212,"high":13007.5,"vol":3212,"low":12982.7,"count":59,"id":1603746000,"close":12993.8,"tradeTurnover":41767.8906,"open":12983.1},{"amount":1.504,"high":13007.5,"vol":1504,"low":12974.0,"count":74,"id":1603749600,"close":13007.5,"tradeTurnover":19543.3568,"open":13002.1},{"amount":3.454,"high":13061.2,"vol":3454,"low":13007.5,"count":101,"id":1603753200,"close":13033.7,"tradeTurnover":45001.601,"open":13007.5},{"amount":8.784,"high":13105.0,"vol":8784,"low":13028.3,"count":98,"id":1603756800,"close":13067.1,"tradeTurnover":114871.8246,"open":13029.2},{"amount":11.592,"high":13074.4,"vol":11592,"low":13051.5,"count":66,"id":1603760400,"close":13061.7,"tradeTurnover":151386.9038,"open":13074.3},{"amount":19.298,"high":13097.6,"vol":19298,"low":13040.1,"count":109,"id":1603764000,"close":13049.7,"tradeTurnover":252061.019,"open":13061.7},{"amount":22.992,"high":13080.0,"vol":22992,"low":13057.1,"count":69,"id":1603767600,"close":13070.4,"tradeTurnover":300453.9788,"open":13057.6},{"amount":14.396,"high":13175.0,"vol":14396,"low":13079.6,"count":59,"id":1603771200,"close":13103.3,"tradeTurnover":188461.9156,"open":13080.0},{"amount":5.058,"high":13121.3,"vol":5058,"low":13069.7,"count":44,"id":1603774800,"close":13073.6,"tradeTurnover":66201.3552,"open":13121.3},{"amount":9.106,"high":13149.0,"vol":9106,"low":13069.6,"count":107,"id":1603778400,"close":13103.4,"tradeTurnover":119104.8906,"open":13074.9},{"amount":73.95,"high":13169.8,"vol":73950,"low":12992.4,"count":305,"id":1603782000,"close":13130.0,"tradeTurnover":968195.155,"open":13103.3},{"amount":18.732,"high":13148.4,"vol":18732,"low":13044.0,"count":135,"id":1603785600,"close":13123.8,"tradeTurnover":245533.5448,"open":13135.1},{"amount":13.756,"high":13131.8,"vol":13756,"low":13075.7,"count":102,"id":1603789200,"close":13131.7,"tradeTurnover":180253.7708,"open":13115.5},{"amount":154.108,"high":13252.0,"vol":154108,"low":13063.4,"count":525,"id":1603792800,"close":13216.9,"tradeTurnover":2029983.656,"open":13134.8},{"amount":170.09,"high":13590.1,"vol":170090,"low":13213.5,"count":591,"id":1603796400,"close":13395.8,"tradeTurnover":2276279.742,"open":13218.8},{"amount":48.928,"high":13414.0,"vol":48928,"low":13331.7,"count":216,"id":1603800000,"close":13376.9,"tradeTurnover":654585.9108,"open":13395.9},{"amount":63.294,"high":13490.9,"vol":63294,"low":13329.8,"count":316,"id":1603803600,"close":13384.3,"tradeTurnover":848130.9212,"open":13376.5},{"amount":12.892,"high":13415.8,"vol":12892,"low":13344.8,"count":124,"id":1603807200,"close":13398.2,"tradeTurnover":172618.6864,"open":13392.6},{"amount":93.22,"high":13626.7,"vol":93220,"low":13398.2,"count":476,"id":1603810800,"close":13598.5,"tradeTurnover":1262695.5466,"open":13398.2},{"amount":85.45,"high":13639.9,"vol":85450,"low":13520.2,"count":435,"id":1603814400,"close":13639.9,"tradeTurnover":1161481.4136,"open":13595.8},{"amount":191.812,"high":13826.7,"vol":191812,"low":13589.0,"count":711,"id":1603818000,"close":13688.1,"tradeTurnover":2628428.3788,"open":13640.0},{"amount":65.434,"high":13745.0,"vol":65434,"low":13528.2,"count":410,"id":1603821600,"close":13630.1,"tradeTurnover":891541.8394,"open":13685.0},{"amount":5.788,"high":13659.8,"vol":5788,"low":13595.4,"count":65,"id":1603825200,"close":13637.1,"tradeTurnover":78836.2578,"open":13629.4},{"amount":163.104,"high":13805.1,"vol":163104,"low":13582.6,"count":537,"id":1603828800,"close":13616.6,"tradeTurnover":2234040.3544,"open":13644.4},{"amount":9.884,"high":13753.5,"vol":9884,"low":13609.8,"count":101,"id":1603832400,"close":13705.5,"tradeTurnover":135406.4752,"open":13609.8},{"amount":7.436,"high":13739.9,"vol":7436,"low":13658.2,"count":100,"id":1603836000,"close":13739.9,"tradeTurnover":101840.3508,"open":13705.4},{"amount":17.086,"high":13794.6,"vol":17086,"low":13582.6,"count":234,"id":1603839600,"close":13649.6,"tradeTurnover":233971.8448,"open":13739.9},{"amount":24.108,"high":13745.2,"vol":24108,"low":13618.8,"count":177,"id":1603843200,"close":13701.7,"tradeTurnover":330206.5694,"open":13645.9},{"amount":15.892,"high":13725.6,"vol":15892,"low":13647.9,"count":151,"id":1603846800,"close":13702.6,"tradeTurnover":217816.7008,"open":13702.1},{"amount":46.548,"high":13832.2,"vol":46548,"low":13680.2,"count":274,"id":1603850400,"close":13811.6,"tradeTurnover":640636.0352,"open":13701.7},{"amount":67.896,"high":13820.3,"vol":67896,"low":13717.5,"count":320,"id":1603854000,"close":13777.0,"tradeTurnover":935838.2238,"open":13818.5},{"amount":33.156,"high":13807.2,"vol":33156,"low":13710.0,"count":210,"id":1603857600,"close":13735.7,"tradeTurnover":455941.234,"open":13767.3},{"amount":32.076,"high":13753.9,"vol":32076,"low":13671.3,"count":198,"id":1603861200,"close":13715.8,"tradeTurnover":439612.64,"open":13735.5},{"amount":14.756,"high":13757.0,"vol":14756,"low":13694.9,"count":122,"id":1603864800,"close":13701.3,"tradeTurnover":202602.5164,"open":13715.9},{"amount":155.534,"high":13708.7,"vol":155534,"low":13550.0,"count":635,"id":1603868400,"close":13674.2,"tradeTurnover":2117935.0928,"open":13701.2},{"amount":29.846,"high":13691.7,"vol":29846,"low":13584.0,"count":240,"id":1603872000,"close":13691.7,"tradeTurnover":407073.1398,"open":13673.0},{"amount":104.542,"high":13707.5,"vol":104542,"low":13573.5,"count":377,"id":1603875600,"close":13587.1,"tradeTurnover":1425079.9344,"open":13689.3},{"amount":73.818,"high":13618.0,"vol":73818,"low":13504.7,"count":358,"id":1603879200,"close":13552.7,"tradeTurnover":1001666.0908,"open":13584.6},{"amount":176.544,"high":13565.4,"vol":176544,"low":13330.0,"count":1004,"id":1603882800,"close":13336.4,"tradeTurnover":2369166.1492,"open":13552.6},{"amount":289.73,"high":13385.0,"vol":289730,"low":13173.9,"count":968,"id":1603886400,"close":13300.3,"tradeTurnover":3846751.7166,"open":13331.5},{"amount":139.822,"high":13340.0,"vol":139822,"low":13122.9,"count":612,"id":1603890000,"close":13129.9,"tradeTurnover":1848876.932,"open":13300.2},{"amount":367.876,"high":13168.2,"vol":367876,"low":12915.9,"count":1168,"id":1603893600,"close":13082.2,"tradeTurnover":4802516.9818,"open":13123.4},{"amount":84.044,"high":13235.2,"vol":84044,"low":13052.3,"count":375,"id":1603897200,"close":13221.2,"tradeTurnover":1106883.1282,"open":13077.1},{"amount":29.566,"high":13218.7,"vol":29566,"low":13050.0,"count":244,"id":1603900800,"close":13145.1,"tradeTurnover":388697.4104,"open":13218.7},{"amount":53.336,"high":13204.9,"vol":53336,"low":13006.6,"count":299,"id":1603904400,"close":13176.7,"tradeTurnover":700385.2784,"open":13145.1},{"amount":34.164,"high":13219.6,"vol":34164,"low":13131.0,"count":218,"id":1603908000,"close":13196.5,"tradeTurnover":450210.5778,"open":13171.0},{"amount":22.158,"high":13237.4,"vol":22158,"low":13145.0,"count":185,"id":1603911600,"close":13154.9,"tradeTurnover":292020.0438,"open":13200.0},{"amount":4.548,"high":13211.8,"vol":4548,"low":13147.4,"count":75,"id":1603915200,"close":13198.1,"tradeTurnover":59991.1118,"open":13154.5},{"amount":3.52,"high":13196.5,"vol":3520,"low":13100.2,"count":68,"id":1603918800,"close":13190.1,"tradeTurnover":46175.428,"open":13193.5},{"amount":3.122,"high":13267.5,"vol":3122,"low":13185.4,"count":72,"id":1603922400,"close":13252.0,"tradeTurnover":41304.2018,"open":13185.4},{"amount":14.768,"high":13282.3,"vol":14768,"low":13235.9,"count":86,"id":1603926000,"close":13265.9,"tradeTurnover":195689.0764,"open":13242.1},{"amount":19.968,"high":13294.7,"vol":19968,"low":13237.4,"count":98,"id":1603929600,"close":13245.1,"tradeTurnover":264834.1944,"open":13253.9},{"amount":35.282,"high":13285.3,"vol":35282,"low":13166.3,"count":192,"id":1603933200,"close":13274.2,"tradeTurnover":465789.6302,"open":13244.6},{"amount":9.748,"high":13277.7,"vol":9748,"low":13212.2,"count":119,"id":1603936800,"close":13241.1,"tradeTurnover":129016.0684,"open":13275.9},{"amount":27.3,"high":13262.5,"vol":27300,"low":13174.6,"count":199,"id":1603940400,"close":13262.5,"tradeTurnover":360589.8982,"open":13237.1},{"amount":18.904,"high":13277.7,"vol":18904,"low":13229.5,"count":109,"id":1603944000,"close":13229.5,"tradeTurnover":250713.2812,"open":13269.1},{"amount":15.822,"high":13274.8,"vol":15822,"low":13228.5,"count":134,"id":1603947600,"close":13274.8,"tradeTurnover":209781.909,"open":13228.5},{"amount":91.246,"high":13323.0,"vol":91246,"low":13242.3,"count":294,"id":1603951200,"close":13255.0,"tradeTurnover":1211271.2788,"open":13274.8},{"amount":187.622,"high":13269.3,"vol":187622,"low":13123.1,"count":506,"id":1603954800,"close":13142.4,"tradeTurnover":2478299.7074,"open":13255.0},{"amount":69.532,"high":13182.4,"vol":69532,"low":13094.1,"count":226,"id":1603958400,"close":13124.8,"tradeTurnover":914157.2418,"open":13145.9},{"amount":23.184,"high":13197.1,"vol":23184,"low":13129.5,"count":141,"id":1603962000,"close":13183.7,"tradeTurnover":305485.9524,"open":13129.5},{"amount":121.146,"high":13187.5,"vol":121146,"low":13053.1,"count":442,"id":1603965600,"close":13105.2,"tradeTurnover":1590026.4416,"open":13184.8},{"amount":47.498,"high":13171.4,"vol":47498,"low":13060.1,"count":262,"id":1603969200,"close":13060.1,"tradeTurnover":623578.149,"open":13105.1},{"amount":126.552,"high":13145.8,"vol":126552,"low":12977.9,"count":481,"id":1603972800,"close":13131.8,"tradeTurnover":1652549.311,"open":13056.9},{"amount":100.482,"high":13237.2,"vol":100482,"low":13102.0,"count":325,"id":1603976400,"close":13230.0,"tradeTurnover":1326403.7206,"open":13131.7},{"amount":253.258,"high":13476.1,"vol":253258,"low":13231.0,"count":752,"id":1603980000,"close":13420.8,"tradeTurnover":3384941.438,"open":13231.0},{"amount":64.71,"high":13458.7,"vol":64710,"low":13358.7,"count":269,"id":1603983600,"close":13420.6,"tradeTurnover":869052.3804,"open":13416.0},{"amount":120.24,"high":13594.5,"vol":120240,"low":13391.8,"count":570,"id":1603987200,"close":13535.9,"tradeTurnover":1626567.8278,"open":13421.9}],"id":"","rep":"market.BTC-USDT.kline.60min","status":"ok"} diff --git a/log/info/info.2024-01-18_12.log b/log/info/info.2024-01-18_12.log new file mode 100644 index 0000000..116c91b --- /dev/null +++ b/log/info/info.2024-01-18_12.log @@ -0,0 +1,198 @@ +2024-01-18 12:37:36.506 [ERROR] [WebSocketConnectReadThread-12] [com.huobi.wss.handle.WssMarketHandle.onError:98] - onError: +java.net.ConnectException: Connection timed out: connect + at java.net.DualStackPlainSocketImpl.connect0(Native Method) + at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:75) + at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:476) + at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:218) + at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:200) + at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:162) + at java.net.Socket.connect(Socket.java:606) + at org.java_websocket.client.WebSocketClient.run(WebSocketClient.java:395) + at java.lang.Thread.run(Thread.java:750) +2024-01-18 12:37:36.516 [ERROR] [WebSocketConnectReadThread-12] [com.huobi.wss.handle.WssMarketHandle.onClose:93] - onClose i:-1,s:Connection timed out: connect,b:false +2024-01-18 12:39:13.702 [ERROR] [WebSocketConnectReadThread-12] [com.huobi.wss.handle.WssMarketHandle.onError:98] - onError: +java.net.ConnectException: Connection timed out: connect + at java.net.DualStackPlainSocketImpl.connect0(Native Method) + at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:75) + at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:476) + at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:218) + at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:200) + at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:162) + at java.net.Socket.connect(Socket.java:606) + at org.java_websocket.client.WebSocketClient.run(WebSocketClient.java:395) + at java.lang.Thread.run(Thread.java:750) +2024-01-18 12:39:13.706 [ERROR] [WebSocketConnectReadThread-12] [com.huobi.wss.handle.WssMarketHandle.onClose:93] - onClose i:-1,s:Connection timed out: connect,b:false +2024-01-18 12:39:53.209 [ERROR] [WebSocketConnectReadThread-12] [com.huobi.wss.handle.WssMarketHandle.onError:98] - onError: +java.net.ConnectException: Connection timed out: connect + at java.net.DualStackPlainSocketImpl.connect0(Native Method) + at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:75) + at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:476) + at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:218) + at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:200) + at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:162) + at java.net.Socket.connect(Socket.java:606) + at org.java_websocket.client.WebSocketClient.run(WebSocketClient.java:395) + at java.lang.Thread.run(Thread.java:750) +2024-01-18 12:39:53.212 [ERROR] [WebSocketConnectReadThread-12] [com.huobi.wss.handle.WssMarketHandle.onClose:93] - onClose i:-1,s:Connection timed out: connect,b:false +2024-01-18 12:40:37.310 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552835109,"tick":{"mrid":100021894695098,"id":1705552835,"bid":[42709.9,4856],"ask":[42710,1225],"ts":1705552835106,"version":100021894695098,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:37.324 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552835109,当前的时间戳为:1705552837311,时间间隔为:2202毫秒 +2024-01-18 12:40:37.715 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552836320,"tick":{"mrid":100021894695315,"id":1705552836,"bid":[42709.9,4853],"ask":[42710,1225],"ts":1705552836318,"version":100021894695315,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:37.716 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552836320,当前的时间戳为:1705552837716,时间间隔为:1396毫秒 +2024-01-18 12:40:37.866 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552836468,"tick":{"mrid":100021894695351,"id":1705552836,"bid":[42709.9,4853],"ask":[42710,1090],"ts":1705552836465,"version":100021894695351,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:37.866 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552836468,当前的时间戳为:1705552837866,时间间隔为:1398毫秒 +2024-01-18 12:40:37.867 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552836469,"tick":{"mrid":100021894695352,"id":1705552836,"bid":[42709.9,4853],"ask":[42710,1015],"ts":1705552836465,"version":100021894695352,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:37.868 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552836469,当前的时间戳为:1705552837867,时间间隔为:1398毫秒 +2024-01-18 12:40:37.892 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552836493,"tick":{"mrid":100021894695360,"id":1705552836,"bid":[42709.9,4853],"ask":[42710,1573],"ts":1705552836491,"version":100021894695360,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:37.893 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552836493,当前的时间戳为:1705552837893,时间间隔为:1400毫秒 +2024-01-18 12:40:38.491 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552837099,"tick":{"mrid":100021894695477,"id":1705552837,"bid":[42709.9,4852],"ask":[42710,1573],"ts":1705552837097,"version":100021894695477,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:38.492 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552837099,当前的时间戳为:1705552838492,时间间隔为:1393毫秒 +2024-01-18 12:40:38.588 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552837193,"tick":{"mrid":100021894695517,"id":1705552837,"bid":[42709.9,4853],"ask":[42710,1573],"ts":1705552837192,"version":100021894695517,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:38.588 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552837193,当前的时间戳为:1705552838588,时间间隔为:1395毫秒 +2024-01-18 12:40:38.929 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552837528,"tick":{"mrid":100021894695594,"id":1705552837,"bid":[42709.9,4849],"ask":[42710,1573],"ts":1705552837525,"version":100021894695594,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:38.930 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552837528,当前的时间戳为:1705552838930,时间间隔为:1402毫秒 +2024-01-18 12:40:39.262 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552837868,"tick":{"mrid":100021894695718,"id":1705552837,"bid":[42709.9,4853],"ask":[42710,1573],"ts":1705552837866,"version":100021894695718,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:39.263 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552837868,当前的时间戳为:1705552839263,时间间隔为:1395毫秒 +2024-01-18 12:40:39.498 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552838105,"tick":{"mrid":100021894695763,"id":1705552838,"bid":[42709.9,4852],"ask":[42710,1573],"ts":1705552838103,"version":100021894695763,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:39.498 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552838105,当前的时间戳为:1705552839498,时间间隔为:1393毫秒 +2024-01-18 12:40:39.601 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552838208,"tick":{"mrid":100021894695787,"id":1705552838,"bid":[42709.9,4853],"ask":[42710,1573],"ts":1705552838206,"version":100021894695787,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:39.602 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552838208,当前的时间戳为:1705552839602,时间间隔为:1394毫秒 +2024-01-18 12:40:40.493 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552839098,"tick":{"mrid":100021894695927,"id":1705552839,"bid":[42709.9,4852],"ask":[42710,1573],"ts":1705552839096,"version":100021894695927,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:40.495 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552839098,当前的时间戳为:1705552840495,时间间隔为:1397毫秒 +2024-01-18 12:40:40.597 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552839205,"tick":{"mrid":100021894695962,"id":1705552839,"bid":[42709.9,4853],"ask":[42710,1573],"ts":1705552839203,"version":100021894695962,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:40.598 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552839205,当前的时间戳为:1705552840598,时间间隔为:1393毫秒 +2024-01-18 12:40:41.276 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552839880,"tick":{"mrid":100021894696121,"id":1705552839,"bid":[42709.9,4853],"ask":[42710,1015],"ts":1705552839879,"version":100021894696121,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:41.276 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552839880,当前的时间戳为:1705552841276,时间间隔为:1396毫秒 +2024-01-18 12:40:41.277 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552839883,"tick":{"mrid":100021894696122,"id":1705552839,"bid":[42709.9,4853],"ask":[42710,889],"ts":1705552839881,"version":100021894696122,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:41.277 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552839883,当前的时间戳为:1705552841277,时间间隔为:1394毫秒 +2024-01-18 12:40:41.284 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552839888,"tick":{"mrid":100021894696125,"id":1705552839,"bid":[42709.9,4953],"ask":[42710,889],"ts":1705552839885,"version":100021894696125,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:41.285 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552839888,当前的时间戳为:1705552841284,时间间隔为:1396毫秒 +2024-01-18 12:40:41.302 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552839904,"tick":{"mrid":100021894696137,"id":1705552839,"bid":[42709.9,4953],"ask":[42710,703],"ts":1705552839899,"version":100021894696137,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:41.303 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552839904,当前的时间戳为:1705552841303,时间间隔为:1399毫秒 +2024-01-18 12:40:41.310 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552839915,"tick":{"mrid":100021894696150,"id":1705552839,"bid":[42709.9,4953],"ask":[42713.1,843],"ts":1705552839912,"version":100021894696150,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:41.310 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552839915,当前的时间戳为:1705552841310,时间间隔为:1395毫秒 +2024-01-18 12:40:41.310 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552839916,"tick":{"mrid":100021894696153,"id":1705552839,"bid":[42713,117],"ask":[42713.1,843],"ts":1705552839914,"version":100021894696153,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:41.311 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552839916,当前的时间戳为:1705552841311,时间间隔为:1395毫秒 +2024-01-18 12:40:41.315 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552839922,"tick":{"mrid":100021894696156,"id":1705552839,"bid":[42713,117],"ask":[42714,1],"ts":1705552839919,"version":100021894696156,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:41.316 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552839922,当前的时间戳为:1705552841316,时间间隔为:1394毫秒 +2024-01-18 12:40:41.329 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552839928,"tick":{"mrid":100021894696170,"id":1705552839,"bid":[42713,234],"ask":[42714,1],"ts":1705552839924,"version":100021894696170,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:41.329 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552839928,当前的时间戳为:1705552841329,时间间隔为:1401毫秒 +2024-01-18 12:40:41.330 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552839928,"tick":{"mrid":100021894696171,"id":1705552839,"bid":[42713.9,24],"ask":[42714,1],"ts":1705552839925,"version":100021894696171,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:41.330 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552839928,当前的时间戳为:1705552841330,时间间隔为:1402毫秒 +2024-01-18 12:40:41.330 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552839937,"tick":{"mrid":100021894696196,"id":1705552839,"bid":[42713.9,24],"ask":[42714,136],"ts":1705552839934,"version":100021894696196,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:41.330 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552839937,当前的时间戳为:1705552841330,时间间隔为:1393毫秒 +2024-01-18 12:40:41.334 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552839938,"tick":{"mrid":100021894696202,"id":1705552839,"bid":[42713.9,25],"ask":[42714,136],"ts":1705552839935,"version":100021894696202,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:41.334 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552839938,当前的时间戳为:1705552841334,时间间隔为:1396毫秒 +2024-01-18 12:40:41.335 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552839939,"tick":{"mrid":100021894696203,"id":1705552839,"bid":[42713.9,1602],"ask":[42714,136],"ts":1705552839936,"version":100021894696203,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:41.335 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552839939,当前的时间戳为:1705552841335,时间间隔为:1396毫秒 +2024-01-18 12:40:41.335 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552839939,"tick":{"mrid":100021894696209,"id":1705552839,"bid":[42713.9,1718],"ask":[42714,136],"ts":1705552839937,"version":100021894696209,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:41.336 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552839939,当前的时间戳为:1705552841335,时间间隔为:1396毫秒 +2024-01-18 12:40:41.341 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552839942,"tick":{"mrid":100021894696216,"id":1705552839,"bid":[42713.9,1867],"ask":[42714,136],"ts":1705552839938,"version":100021894696216,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:41.341 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552839942,当前的时间戳为:1705552841341,时间间隔为:1399毫秒 +2024-01-18 12:40:41.342 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552839945,"tick":{"mrid":100021894696236,"id":1705552839,"bid":[42713.9,2302],"ask":[42714,136],"ts":1705552839943,"version":100021894696236,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:41.342 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552839945,当前的时间戳为:1705552841342,时间间隔为:1397毫秒 +2024-01-18 12:40:41.342 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552839947,"tick":{"mrid":100021894696240,"id":1705552839,"bid":[42713.9,2302],"ask":[42714,694],"ts":1705552839943,"version":100021894696240,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:41.342 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552839947,当前的时间戳为:1705552841342,时间间隔为:1395毫秒 +2024-01-18 12:40:41.346 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552839951,"tick":{"mrid":100021894696255,"id":1705552839,"bid":[42713.9,2303],"ask":[42714,694],"ts":1705552839948,"version":100021894696255,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:41.347 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552839951,当前的时间戳为:1705552841347,时间间隔为:1396毫秒 +2024-01-18 12:40:41.347 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552839951,"tick":{"mrid":100021894696256,"id":1705552839,"bid":[42713.9,2407],"ask":[42714,694],"ts":1705552839948,"version":100021894696256,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:41.347 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552839951,当前的时间戳为:1705552841347,时间间隔为:1396毫秒 +2024-01-18 12:40:41.348 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552839951,"tick":{"mrid":100021894696260,"id":1705552839,"bid":[42713.9,2508],"ask":[42714,694],"ts":1705552839949,"version":100021894696260,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:41.348 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552839951,当前的时间戳为:1705552841348,时间间隔为:1397毫秒 +2024-01-18 12:40:41.348 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552839953,"tick":{"mrid":100021894696266,"id":1705552839,"bid":[42713.9,2730],"ask":[42714,694],"ts":1705552839951,"version":100021894696266,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:41.348 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552839953,当前的时间戳为:1705552841348,时间间隔为:1395毫秒 +2024-01-18 12:40:41.355 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552839956,"tick":{"mrid":100021894696275,"id":1705552839,"bid":[42713.9,2730],"ask":[42714,874],"ts":1705552839953,"version":100021894696275,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:41.356 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552839956,当前的时间戳为:1705552841356,时间间隔为:1400毫秒 +2024-01-18 12:40:41.356 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552839957,"tick":{"mrid":100021894696282,"id":1705552839,"bid":[42713.9,2844],"ask":[42714,874],"ts":1705552839954,"version":100021894696282,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:41.357 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552839957,当前的时间戳为:1705552841356,时间间隔为:1399毫秒 +2024-01-18 12:40:41.357 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552839957,"tick":{"mrid":100021894696284,"id":1705552839,"bid":[42713.9,4044],"ask":[42714,874],"ts":1705552839955,"version":100021894696284,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:41.357 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552839957,当前的时间戳为:1705552841357,时间间隔为:1400毫秒 +2024-01-18 12:40:41.357 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552839958,"tick":{"mrid":100021894696290,"id":1705552839,"bid":[42713.9,4252],"ask":[42714,874],"ts":1705552839955,"version":100021894696290,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:41.357 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552839958,当前的时间戳为:1705552841357,时间间隔为:1399毫秒 +2024-01-18 12:40:41.358 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552839959,"tick":{"mrid":100021894696291,"id":1705552839,"bid":[42713.9,4252],"ask":[42714,1577],"ts":1705552839956,"version":100021894696291,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:41.358 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552839959,当前的时间戳为:1705552841358,时间间隔为:1399毫秒 +2024-01-18 12:40:41.358 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552839962,"tick":{"mrid":100021894696298,"id":1705552839,"bid":[42713.9,4537],"ask":[42714,1577],"ts":1705552839959,"version":100021894696298,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:41.358 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552839962,当前的时间戳为:1705552841358,时间间隔为:1396毫秒 +2024-01-18 12:40:41.358 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552839962,"tick":{"mrid":100021894696300,"id":1705552839,"bid":[42713.9,4541],"ask":[42714,1577],"ts":1705552839959,"version":100021894696300,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:41.359 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552839962,当前的时间戳为:1705552841358,时间间隔为:1396毫秒 +2024-01-18 12:40:41.362 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552839963,"tick":{"mrid":100021894696303,"id":1705552839,"bid":[42713.9,4617],"ask":[42714,1577],"ts":1705552839960,"version":100021894696303,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:41.363 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552839963,当前的时间戳为:1705552841363,时间间隔为:1400毫秒 +2024-01-18 12:40:41.365 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552839966,"tick":{"mrid":100021894696313,"id":1705552839,"bid":[42713.9,4815],"ask":[42714,1577],"ts":1705552839963,"version":100021894696313,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:41.365 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552839966,当前的时间戳为:1705552841365,时间间隔为:1399毫秒 +2024-01-18 12:40:41.372 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552839976,"tick":{"mrid":100021894696329,"id":1705552839,"bid":[42713.9,3238],"ask":[42714,1577],"ts":1705552839973,"version":100021894696329,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:41.373 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552839976,当前的时间戳为:1705552841372,时间间隔为:1396毫秒 +2024-01-18 12:40:41.373 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552839976,"tick":{"mrid":100021894696331,"id":1705552839,"bid":[42713.9,4262],"ask":[42714,1577],"ts":1705552839974,"version":100021894696331,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:41.373 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552839976,当前的时间戳为:1705552841373,时间间隔为:1397毫秒 +2024-01-18 12:40:41.373 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552839977,"tick":{"mrid":100021894696332,"id":1705552839,"bid":[42713.9,4262],"ask":[42714,1727],"ts":1705552839975,"version":100021894696332,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:41.373 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552839977,当前的时间戳为:1705552841373,时间间隔为:1396毫秒 +2024-01-18 12:40:41.383 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552839988,"tick":{"mrid":100021894696343,"id":1705552839,"bid":[42713.9,4598],"ask":[42714,1727],"ts":1705552839986,"version":100021894696343,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:41.384 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552839988,当前的时间戳为:1705552841383,时间间隔为:1395毫秒 +2024-01-18 12:40:41.400 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552840003,"tick":{"mrid":100021894696357,"id":1705552839,"bid":[42713.9,4598],"ask":[42714,1853],"ts":1705552839999,"version":100021894696357,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:41.400 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552840003,当前的时间戳为:1705552841400,时间间隔为:1397毫秒 +2024-01-18 12:40:41.401 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552840004,"tick":{"mrid":100021894696358,"id":1705552840,"bid":[42713.9,5571],"ask":[42714,1853],"ts":1705552840002,"version":100021894696358,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:41.402 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552840004,当前的时间戳为:1705552841402,时间间隔为:1398毫秒 +2024-01-18 12:40:41.408 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552840010,"tick":{"mrid":100021894696368,"id":1705552840,"bid":[42713.9,4598],"ask":[42714,1853],"ts":1705552840007,"version":100021894696368,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:41.408 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552840010,当前的时间戳为:1705552841408,时间间隔为:1398毫秒 +2024-01-18 12:40:41.408 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552840010,"tick":{"mrid":100021894696370,"id":1705552840,"bid":[42713.9,4658],"ask":[42714,1853],"ts":1705552840008,"version":100021894696370,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:41.408 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552840010,当前的时间戳为:1705552841408,时间间隔为:1398毫秒 +2024-01-18 12:40:41.426 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552840015,"tick":{"mrid":100021894696376,"id":1705552840,"bid":[42713.9,4450],"ask":[42714,1853],"ts":1705552840012,"version":100021894696376,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:41.426 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552840015,当前的时间戳为:1705552841426,时间间隔为:1411毫秒 +2024-01-18 12:40:41.429 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552840034,"tick":{"mrid":100021894696389,"id":1705552840,"bid":[42713.9,4566],"ask":[42714,1853],"ts":1705552840032,"version":100021894696389,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:41.429 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552840034,当前的时间戳为:1705552841429,时间间隔为:1395毫秒 +2024-01-18 12:40:41.443 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552840046,"tick":{"mrid":100021894696398,"id":1705552840,"bid":[42713.9,5539],"ask":[42714,1853],"ts":1705552840044,"version":100021894696398,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:41.444 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552840046,当前的时间戳为:1705552841444,时间间隔为:1398毫秒 +2024-01-18 12:40:41.505 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552840109,"tick":{"mrid":100021894696424,"id":1705552840,"bid":[42713.9,6160],"ask":[42714,1853],"ts":1705552840107,"version":100021894696424,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:41.505 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552840109,当前的时间戳为:1705552841505,时间间隔为:1396毫秒 +2024-01-18 12:40:41.587 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552840194,"tick":{"mrid":100021894696440,"id":1705552840,"bid":[42713.9,6161],"ask":[42714,1853],"ts":1705552840192,"version":100021894696440,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:41.588 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552840194,当前的时间戳为:1705552841588,时间间隔为:1394毫秒 +2024-01-18 12:40:41.689 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552840287,"tick":{"mrid":100021894696469,"id":1705552840,"bid":[42713.9,6719],"ask":[42714,1853],"ts":1705552840283,"version":100021894696469,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:41.689 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552840287,当前的时间戳为:1705552841689,时间间隔为:1402毫秒 +2024-01-18 12:40:42.612 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552841095,"tick":{"mrid":100021894696626,"id":1705552841,"bid":[42713.9,6718],"ask":[42714,1853],"ts":1705552841093,"version":100021894696626,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:42.612 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552841095,当前的时间戳为:1705552842612,时间间隔为:1517毫秒 +2024-01-18 12:40:42.613 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552841194,"tick":{"mrid":100021894696675,"id":1705552841,"bid":[42713.9,6718],"ask":[42714,2877],"ts":1705552841191,"version":100021894696675,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:42.613 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552841194,当前的时间戳为:1705552842613,时间间隔为:1419毫秒 +2024-01-18 12:40:42.613 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552841198,"tick":{"mrid":100021894696677,"id":1705552841,"bid":[42713.9,6719],"ask":[42714,2877],"ts":1705552841195,"version":100021894696677,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:42.613 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552841198,当前的时间戳为:1705552842613,时间间隔为:1415毫秒 +2024-01-18 12:40:42.769 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552841375,"tick":{"mrid":100021894696723,"id":1705552841,"bid":[42713.9,6721],"ask":[42714,2877],"ts":1705552841373,"version":100021894696723,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:42.770 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552841375,当前的时间戳为:1705552842769,时间间隔为:1394毫秒 +2024-01-18 12:40:42.913 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552841516,"tick":{"mrid":100021894696756,"id":1705552841,"bid":[42713.9,6725],"ask":[42714,2877],"ts":1705552841514,"version":100021894696756,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:42.914 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552841516,当前的时间戳为:1705552842913,时间间隔为:1397毫秒 +2024-01-18 12:40:43.374 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552841980,"tick":{"mrid":100021894696851,"id":1705552841,"bid":[42713.9,6725],"ask":[42714,3079],"ts":1705552841978,"version":100021894696851,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:43.376 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552841980,当前的时间戳为:1705552843376,时间间隔为:1396毫秒 +2024-01-18 12:40:43.431 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552842035,"tick":{"mrid":100021894696879,"id":1705552842,"bid":[42713.9,6503],"ask":[42714,3079],"ts":1705552842033,"version":100021894696879,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:43.432 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552842035,当前的时间戳为:1705552843431,时间间隔为:1396毫秒 +2024-01-18 12:40:43.464 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552842068,"tick":{"mrid":100021894696887,"id":1705552842,"bid":[42713.9,6305],"ask":[42714,3079],"ts":1705552842064,"version":100021894696887,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:43.464 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552842068,当前的时间戳为:1705552843464,时间间隔为:1396毫秒 +2024-01-18 12:40:43.466 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552842071,"tick":{"mrid":100021894696890,"id":1705552842,"bid":[42713.9,5747],"ask":[42714,3079],"ts":1705552842069,"version":100021894696890,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:43.466 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552842071,当前的时间戳为:1705552843466,时间间隔为:1395毫秒 +2024-01-18 12:40:43.482 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552842083,"tick":{"mrid":100021894696897,"id":1705552842,"bid":[42713.9,5743],"ask":[42714,3079],"ts":1705552842081,"version":100021894696897,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:43.483 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552842083,当前的时间戳为:1705552843482,时间间隔为:1399毫秒 +2024-01-18 12:40:43.496 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552842099,"tick":{"mrid":100021894696903,"id":1705552842,"bid":[42713.9,5742],"ask":[42714,3079],"ts":1705552842096,"version":100021894696903,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:43.496 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552842099,当前的时间戳为:1705552843496,时间间隔为:1397毫秒 +2024-01-18 12:40:43.555 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552842158,"tick":{"mrid":100021894696916,"id":1705552842,"bid":[42713.9,4769],"ask":[42714,3079],"ts":1705552842156,"version":100021894696916,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:43.556 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552842158,当前的时间戳为:1705552843556,时间间隔为:1398毫秒 +2024-01-18 12:40:43.585 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552842190,"tick":{"mrid":100021894696921,"id":1705552842,"bid":[42713.9,4770],"ask":[42714,3079],"ts":1705552842188,"version":100021894696921,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:43.586 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552842190,当前的时间戳为:1705552843585,时间间隔为:1395毫秒 +2024-01-18 12:40:43.667 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552842270,"tick":{"mrid":100021894696944,"id":1705552842,"bid":[42713.9,4968],"ask":[42714,3079],"ts":1705552842268,"version":100021894696944,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:43.667 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552842270,当前的时间戳为:1705552843667,时间间隔为:1397毫秒 +2024-01-18 12:40:43.696 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552842298,"tick":{"mrid":100021894696959,"id":1705552842,"bid":[42713.9,4970],"ask":[42714,3079],"ts":1705552842296,"version":100021894696959,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:43.697 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552842298,当前的时间戳为:1705552843697,时间间隔为:1399毫秒 +2024-01-18 12:40:43.847 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552842449,"tick":{"mrid":100021894696993,"id":1705552842,"bid":[42713.9,5943],"ask":[42714,3079],"ts":1705552842447,"version":100021894696993,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:43.847 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552842449,当前的时间戳为:1705552843847,时间间隔为:1398毫秒 +2024-01-18 12:40:43.901 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552842507,"tick":{"mrid":100021894697000,"id":1705552842,"bid":[42713.9,4970],"ask":[42714,3079],"ts":1705552842505,"version":100021894697000,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:43.902 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552842507,当前的时间戳为:1705552843902,时间间隔为:1395毫秒 +2024-01-18 12:40:44.050 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552842657,"tick":{"mrid":100021894697028,"id":1705552842,"bid":[42713.9,4969],"ask":[42714,3079],"ts":1705552842655,"version":100021894697028,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:44.051 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552842657,当前的时间戳为:1705552844051,时间间隔为:1394毫秒 +2024-01-18 12:40:44.376 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552842980,"tick":{"mrid":100021894697094,"id":1705552842,"bid":[42713.9,4969],"ask":[42714,3160],"ts":1705552842978,"version":100021894697094,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:44.376 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552842980,当前的时间戳为:1705552844376,时间间隔为:1396毫秒 +2024-01-18 12:40:44.493 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552843100,"tick":{"mrid":100021894697123,"id":1705552843,"bid":[42713.9,4968],"ask":[42714,3160],"ts":1705552843098,"version":100021894697123,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:44.494 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552843100,当前的时间戳为:1705552844494,时间间隔为:1394毫秒 +2024-01-18 12:40:44.589 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552843196,"tick":{"mrid":100021894697188,"id":1705552843,"bid":[42713.9,4969],"ask":[42714,3160],"ts":1705552843194,"version":100021894697188,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:44.589 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552843196,当前的时间戳为:1705552844589,时间间隔为:1393毫秒 +2024-01-18 12:40:44.773 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552843378,"tick":{"mrid":100021894697228,"id":1705552843,"bid":[42713.9,5527],"ask":[42714,3160],"ts":1705552843375,"version":100021894697228,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:44.774 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552843378,当前的时间戳为:1705552844774,时间间隔为:1396毫秒 +2024-01-18 12:40:45.157 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552843763,"tick":{"mrid":100021894697311,"id":1705552843,"bid":[42713.9,7026],"ask":[42714,3160],"ts":1705552843761,"version":100021894697311,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:45.158 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552843763,当前的时间戳为:1705552845157,时间间隔为:1394毫秒 +2024-01-18 12:40:45.491 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552844097,"tick":{"mrid":100021894697388,"id":1705552844,"bid":[42713.9,7025],"ask":[42714,3160],"ts":1705552844094,"version":100021894697388,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:45.492 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552844097,当前的时间戳为:1705552845492,时间间隔为:1395毫秒 +2024-01-18 12:40:45.584 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:141] - 订阅买一卖一逐笔行情推送用户收到的数据===============:{"ch":"market.BTC-USDT.bbo","ts":1705552844190,"tick":{"mrid":100021894697419,"id":1705552844,"bid":[42713.9,7026],"ask":[42714,3160],"ts":1705552844188,"version":100021894697419,"ch":"market.BTC-USDT.bbo"}} +2024-01-18 12:40:45.584 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssMarketSubTest.lambda$test6$5:144] - 订阅买一卖一逐笔行情推送的ts为:1705552844190,当前的时间戳为:1705552845584,时间间隔为:1394毫秒 diff --git a/log/info/info.2024-01-18_13.log b/log/info/info.2024-01-18_13.log new file mode 100644 index 0000000..bdb9f62 --- /dev/null +++ b/log/info/info.2024-01-18_13.log @@ -0,0 +1,94 @@ +2024-01-18 13:06:02.966 [ERROR] [WebSocketConnectReadThread-12] [com.huobi.wss.handle.WssMarketHandle.onError:98] - onError: +java.net.ConnectException: Connection timed out: connect + at java.net.DualStackPlainSocketImpl.connect0(Native Method) + at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:75) + at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:476) + at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:218) + at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:200) + at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:162) + at java.net.Socket.connect(Socket.java:606) + at org.java_websocket.client.WebSocketClient.run(WebSocketClient.java:395) + at java.lang.Thread.run(Thread.java:750) +2024-01-18 13:06:02.981 [ERROR] [WebSocketConnectReadThread-12] [com.huobi.wss.handle.WssMarketHandle.onClose:93] - onClose i:-1,s:Connection timed out: connect,b:false +2024-01-18 13:06:21.404 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:25] - 订阅(sub)指数K线数据用户收到的数据===============:{"ch":"market.BTC-USDT.index.1min","ts":1705554379120,"tick":{"id":1705554360,"open":"42636.71","close":"42636.68","high":"42636.71333333333","low":"42636.676666666666","amount":"0","vol":"0","count":0}} +2024-01-18 13:06:21.418 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:28] - 订阅(sub)指数K线数据的ts为:1705554379120,当前的时间戳为:1705554381405,时间间隔为:2285毫秒 +2024-01-18 13:06:21.590 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:25] - 订阅(sub)指数K线数据用户收到的数据===============:{"ch":"market.BTC-USDT.index.1min","ts":1705554380119,"tick":{"id":1705554360,"open":"42636.71","close":"42636.68","high":"42636.71333333333","low":"42636.676666666666","amount":"0","vol":"0","count":0}} +2024-01-18 13:06:21.591 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:28] - 订阅(sub)指数K线数据的ts为:1705554380119,当前的时间戳为:1705554381591,时间间隔为:1472毫秒 +2024-01-18 13:06:22.572 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:25] - 订阅(sub)指数K线数据用户收到的数据===============:{"ch":"market.BTC-USDT.index.1min","ts":1705554381108,"tick":{"id":1705554360,"open":"42636.71","close":"42636.676666666666","high":"42636.71333333333","low":"42636.676666666666","amount":"0","vol":"0","count":0}} +2024-01-18 13:06:22.573 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:28] - 订阅(sub)指数K线数据的ts为:1705554381108,当前的时间戳为:1705554382573,时间间隔为:1465毫秒 +2024-01-18 13:06:23.586 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:25] - 订阅(sub)指数K线数据用户收到的数据===============:{"ch":"market.BTC-USDT.index.1min","ts":1705554382122,"tick":{"id":1705554360,"open":"42636.71","close":"42636.71","high":"42636.71333333333","low":"42636.676666666666","amount":"0","vol":"0","count":0}} +2024-01-18 13:06:23.588 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:28] - 订阅(sub)指数K线数据的ts为:1705554382122,当前的时间戳为:1705554383588,时间间隔为:1466毫秒 +2024-01-18 13:06:24.675 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:25] - 订阅(sub)指数K线数据用户收到的数据===============:{"ch":"market.BTC-USDT.index.1min","ts":1705554383199,"tick":{"id":1705554360,"open":"42636.71","close":"42636.71","high":"42636.71333333333","low":"42636.676666666666","amount":"0","vol":"0","count":0}} +2024-01-18 13:06:24.675 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:28] - 订阅(sub)指数K线数据的ts为:1705554383199,当前的时间戳为:1705554384675,时间间隔为:1476毫秒 +2024-01-18 13:06:25.587 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:25] - 订阅(sub)指数K线数据用户收到的数据===============:{"ch":"market.BTC-USDT.index.1min","ts":1705554384115,"tick":{"id":1705554360,"open":"42636.71","close":"42636.71","high":"42636.71333333333","low":"42636.676666666666","amount":"0","vol":"0","count":0}} +2024-01-18 13:06:25.588 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:28] - 订阅(sub)指数K线数据的ts为:1705554384115,当前的时间戳为:1705554385587,时间间隔为:1472毫秒 +2024-01-18 13:06:26.590 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:25] - 订阅(sub)指数K线数据用户收到的数据===============:{"ch":"market.BTC-USDT.index.1min","ts":1705554385124,"tick":{"id":1705554360,"open":"42636.71","close":"42636.71","high":"42636.71333333333","low":"42636.676666666666","amount":"0","vol":"0","count":0}} +2024-01-18 13:06:26.591 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:28] - 订阅(sub)指数K线数据的ts为:1705554385124,当前的时间戳为:1705554386591,时间间隔为:1467毫秒 +2024-01-18 13:06:27.589 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:25] - 订阅(sub)指数K线数据用户收到的数据===============:{"ch":"market.BTC-USDT.index.1min","ts":1705554386121,"tick":{"id":1705554360,"open":"42636.71","close":"42636.71333333333","high":"42636.71333333333","low":"42636.676666666666","amount":"0","vol":"0","count":0}} +2024-01-18 13:06:27.590 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:28] - 订阅(sub)指数K线数据的ts为:1705554386121,当前的时间戳为:1705554387590,时间间隔为:1469毫秒 +2024-01-18 13:06:28.698 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:25] - 订阅(sub)指数K线数据用户收到的数据===============:{"ch":"market.BTC-USDT.index.1min","ts":1705554387117,"tick":{"id":1705554360,"open":"42636.71","close":"42636.71333333333","high":"42636.71333333333","low":"42636.676666666666","amount":"0","vol":"0","count":0}} +2024-01-18 13:06:28.699 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:28] - 订阅(sub)指数K线数据的ts为:1705554387117,当前的时间戳为:1705554388699,时间间隔为:1582毫秒 +2024-01-18 13:06:29.592 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:25] - 订阅(sub)指数K线数据用户收到的数据===============:{"ch":"market.BTC-USDT.index.1min","ts":1705554388122,"tick":{"id":1705554360,"open":"42636.71","close":"42636.71","high":"42636.71333333333","low":"42636.676666666666","amount":"0","vol":"0","count":0}} +2024-01-18 13:06:29.593 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:28] - 订阅(sub)指数K线数据的ts为:1705554388122,当前的时间戳为:1705554389593,时间间隔为:1471毫秒 +2024-01-18 13:06:30.608 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:25] - 订阅(sub)指数K线数据用户收到的数据===============:{"ch":"market.BTC-USDT.index.1min","ts":1705554389141,"tick":{"id":1705554360,"open":"42636.71","close":"42636.71","high":"42636.71333333333","low":"42636.676666666666","amount":"0","vol":"0","count":0}} +2024-01-18 13:06:30.609 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:28] - 订阅(sub)指数K线数据的ts为:1705554389141,当前的时间戳为:1705554390609,时间间隔为:1468毫秒 +2024-01-18 13:06:31.587 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:25] - 订阅(sub)指数K线数据用户收到的数据===============:{"ch":"market.BTC-USDT.index.1min","ts":1705554390115,"tick":{"id":1705554360,"open":"42636.71","close":"42636.71","high":"42636.71333333333","low":"42636.676666666666","amount":"0","vol":"0","count":0}} +2024-01-18 13:06:31.587 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:28] - 订阅(sub)指数K线数据的ts为:1705554390115,当前的时间戳为:1705554391587,时间间隔为:1472毫秒 +2024-01-18 13:06:32.592 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:25] - 订阅(sub)指数K线数据用户收到的数据===============:{"ch":"market.BTC-USDT.index.1min","ts":1705554391120,"tick":{"id":1705554360,"open":"42636.71","close":"42636.71333333333","high":"42636.71333333333","low":"42636.676666666666","amount":"0","vol":"0","count":0}} +2024-01-18 13:06:32.593 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:28] - 订阅(sub)指数K线数据的ts为:1705554391120,当前的时间戳为:1705554392593,时间间隔为:1473毫秒 +2024-01-18 13:06:33.586 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:25] - 订阅(sub)指数K线数据用户收到的数据===============:{"ch":"market.BTC-USDT.index.1min","ts":1705554392119,"tick":{"id":1705554360,"open":"42636.71","close":"42636.71","high":"42636.71333333333","low":"42636.676666666666","amount":"0","vol":"0","count":0}} +2024-01-18 13:06:33.587 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:28] - 订阅(sub)指数K线数据的ts为:1705554392119,当前的时间戳为:1705554393586,时间间隔为:1467毫秒 +2024-01-18 13:06:34.584 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:25] - 订阅(sub)指数K线数据用户收到的数据===============:{"ch":"market.BTC-USDT.index.1min","ts":1705554393119,"tick":{"id":1705554360,"open":"42636.71","close":"42636.71","high":"42636.71333333333","low":"42636.676666666666","amount":"0","vol":"0","count":0}} +2024-01-18 13:06:34.585 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:28] - 订阅(sub)指数K线数据的ts为:1705554393119,当前的时间戳为:1705554394585,时间间隔为:1466毫秒 +2024-01-18 13:06:35.585 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:25] - 订阅(sub)指数K线数据用户收到的数据===============:{"ch":"market.BTC-USDT.index.1min","ts":1705554394119,"tick":{"id":1705554360,"open":"42636.71","close":"42636.71333333333","high":"42636.71333333333","low":"42636.676666666666","amount":"0","vol":"0","count":0}} +2024-01-18 13:06:35.586 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:28] - 订阅(sub)指数K线数据的ts为:1705554394119,当前的时间戳为:1705554395585,时间间隔为:1466毫秒 +2024-01-18 13:06:36.590 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:25] - 订阅(sub)指数K线数据用户收到的数据===============:{"ch":"market.BTC-USDT.index.1min","ts":1705554395119,"tick":{"id":1705554360,"open":"42636.71","close":"42636.71","high":"42636.71333333333","low":"42636.676666666666","amount":"0","vol":"0","count":0}} +2024-01-18 13:06:36.591 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:28] - 订阅(sub)指数K线数据的ts为:1705554395119,当前的时间戳为:1705554396591,时间间隔为:1472毫秒 +2024-01-18 13:06:37.580 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:25] - 订阅(sub)指数K线数据用户收到的数据===============:{"ch":"market.BTC-USDT.index.1min","ts":1705554396113,"tick":{"id":1705554360,"open":"42636.71","close":"42636.71","high":"42636.71333333333","low":"42636.676666666666","amount":"0","vol":"0","count":0}} +2024-01-18 13:06:37.580 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:28] - 订阅(sub)指数K线数据的ts为:1705554396113,当前的时间戳为:1705554397580,时间间隔为:1467毫秒 +2024-01-18 13:06:38.587 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:25] - 订阅(sub)指数K线数据用户收到的数据===============:{"ch":"market.BTC-USDT.index.1min","ts":1705554397119,"tick":{"id":1705554360,"open":"42636.71","close":"42636.71333333333","high":"42636.71333333333","low":"42636.676666666666","amount":"0","vol":"0","count":0}} +2024-01-18 13:06:38.589 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:28] - 订阅(sub)指数K线数据的ts为:1705554397119,当前的时间戳为:1705554398589,时间间隔为:1470毫秒 +2024-01-18 13:06:39.589 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:25] - 订阅(sub)指数K线数据用户收到的数据===============:{"ch":"market.BTC-USDT.index.1min","ts":1705554398122,"tick":{"id":1705554360,"open":"42636.71","close":"42636.71","high":"42636.71333333333","low":"42636.676666666666","amount":"0","vol":"0","count":0}} +2024-01-18 13:06:39.589 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:28] - 订阅(sub)指数K线数据的ts为:1705554398122,当前的时间戳为:1705554399589,时间间隔为:1467毫秒 +2024-01-18 13:06:40.588 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:25] - 订阅(sub)指数K线数据用户收到的数据===============:{"ch":"market.BTC-USDT.index.1min","ts":1705554399118,"tick":{"id":1705554360,"open":"42636.71","close":"42636.71","high":"42636.71333333333","low":"42636.676666666666","amount":"0","vol":"0","count":0}} +2024-01-18 13:06:40.588 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:28] - 订阅(sub)指数K线数据的ts为:1705554399118,当前的时间戳为:1705554400588,时间间隔为:1470毫秒 +2024-01-18 13:06:41.598 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:25] - 订阅(sub)指数K线数据用户收到的数据===============:{"ch":"market.BTC-USDT.index.1min","ts":1705554400117,"tick":{"id":1705554360,"open":"42636.71","close":"42636.71","high":"42636.71333333333","low":"42636.676666666666","amount":"0","vol":"0","count":0}} +2024-01-18 13:06:41.598 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:28] - 订阅(sub)指数K线数据的ts为:1705554400117,当前的时间戳为:1705554401598,时间间隔为:1481毫秒 +2024-01-18 13:06:42.599 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:25] - 订阅(sub)指数K线数据用户收到的数据===============:{"ch":"market.BTC-USDT.index.1min","ts":1705554401119,"tick":{"id":1705554360,"open":"42636.71","close":"42636.71333333333","high":"42636.71333333333","low":"42636.676666666666","amount":"0","vol":"0","count":0}} +2024-01-18 13:06:42.599 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:28] - 订阅(sub)指数K线数据的ts为:1705554401119,当前的时间戳为:1705554402599,时间间隔为:1480毫秒 +2024-01-18 13:06:43.590 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:25] - 订阅(sub)指数K线数据用户收到的数据===============:{"ch":"market.BTC-USDT.index.1min","ts":1705554402115,"tick":{"id":1705554360,"open":"42636.71","close":"42636.71","high":"42636.71333333333","low":"42636.676666666666","amount":"0","vol":"0","count":0}} +2024-01-18 13:06:43.590 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:28] - 订阅(sub)指数K线数据的ts为:1705554402115,当前的时间戳为:1705554403590,时间间隔为:1475毫秒 +2024-01-18 13:06:44.582 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:25] - 订阅(sub)指数K线数据用户收到的数据===============:{"ch":"market.BTC-USDT.index.1min","ts":1705554403115,"tick":{"id":1705554360,"open":"42636.71","close":"42636.71","high":"42636.71333333333","low":"42636.676666666666","amount":"0","vol":"0","count":0}} +2024-01-18 13:06:44.582 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:28] - 订阅(sub)指数K线数据的ts为:1705554403115,当前的时间戳为:1705554404582,时间间隔为:1467毫秒 +2024-01-18 13:06:45.586 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:25] - 订阅(sub)指数K线数据用户收到的数据===============:{"ch":"market.BTC-USDT.index.1min","ts":1705554404113,"tick":{"id":1705554360,"open":"42636.71","close":"42636.71333333333","high":"42636.71333333333","low":"42636.676666666666","amount":"0","vol":"0","count":0}} +2024-01-18 13:06:45.586 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:28] - 订阅(sub)指数K线数据的ts为:1705554404113,当前的时间戳为:1705554405586,时间间隔为:1473毫秒 +2024-01-18 13:06:46.587 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:25] - 订阅(sub)指数K线数据用户收到的数据===============:{"ch":"market.BTC-USDT.index.1min","ts":1705554405117,"tick":{"id":1705554360,"open":"42636.71","close":"42636.71","high":"42636.71333333333","low":"42636.676666666666","amount":"0","vol":"0","count":0}} +2024-01-18 13:06:46.588 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:28] - 订阅(sub)指数K线数据的ts为:1705554405117,当前的时间戳为:1705554406588,时间间隔为:1471毫秒 +2024-01-18 13:06:47.592 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:25] - 订阅(sub)指数K线数据用户收到的数据===============:{"ch":"market.BTC-USDT.index.1min","ts":1705554406125,"tick":{"id":1705554360,"open":"42636.71","close":"42636.71","high":"42636.71333333333","low":"42636.676666666666","amount":"0","vol":"0","count":0}} +2024-01-18 13:06:47.593 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:28] - 订阅(sub)指数K线数据的ts为:1705554406125,当前的时间戳为:1705554407593,时间间隔为:1468毫秒 +2024-01-18 13:06:48.728 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:25] - 订阅(sub)指数K线数据用户收到的数据===============:{"ch":"market.BTC-USDT.index.1min","ts":1705554407263,"tick":{"id":1705554360,"open":"42636.71","close":"42636.71","high":"42636.71333333333","low":"42636.676666666666","amount":"0","vol":"0","count":0}} +2024-01-18 13:06:48.729 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:28] - 订阅(sub)指数K线数据的ts为:1705554407263,当前的时间戳为:1705554408729,时间间隔为:1466毫秒 +2024-01-18 13:06:49.779 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:25] - 订阅(sub)指数K线数据用户收到的数据===============:{"ch":"market.BTC-USDT.index.1min","ts":1705554408313,"tick":{"id":1705554360,"open":"42636.71","close":"42636.71","high":"42636.71333333333","low":"42636.676666666666","amount":"0","vol":"0","count":0}} +2024-01-18 13:06:49.780 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:28] - 订阅(sub)指数K线数据的ts为:1705554408313,当前的时间戳为:1705554409780,时间间隔为:1467毫秒 +2024-01-18 13:07:36.753 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:25] - 订阅(sub)指数K线数据用户收到的数据===============:{"ch":"market.BTC-USDT.index.1min","ts":1705554455116,"tick":{"id":1705554420,"open":"42635.12666666666","close":"42634.80333333334","high":"42635.12666666666","low":"42634.77333333333","amount":"0","vol":"0","count":0}} +2024-01-18 13:07:46.893 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:28] - 订阅(sub)指数K线数据的ts为:1705554455116,当前的时间戳为:1705554456756,时间间隔为:1640毫秒 +2024-01-18 13:07:46.894 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:25] - 订阅(sub)指数K线数据用户收到的数据===============:{"ch":"market.BTC-USDT.index.1min","ts":1705554456108,"tick":{"id":1705554420,"open":"42635.12666666666","close":"42634.806666666664","high":"42635.12666666666","low":"42634.77333333333","amount":"0","vol":"0","count":0}} +2024-01-18 13:07:46.895 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:28] - 订阅(sub)指数K线数据的ts为:1705554456108,当前的时间戳为:1705554466895,时间间隔为:10787毫秒 +2024-01-18 13:07:46.895 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:25] - 订阅(sub)指数K线数据用户收到的数据===============:{"ch":"market.BTC-USDT.index.1min","ts":1705554457113,"tick":{"id":1705554420,"open":"42635.12666666666","close":"42634.806666666664","high":"42635.12666666666","low":"42634.77333333333","amount":"0","vol":"0","count":0}} +2024-01-18 13:07:46.895 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:28] - 订阅(sub)指数K线数据的ts为:1705554457113,当前的时间戳为:1705554466895,时间间隔为:9782毫秒 +2024-01-18 13:07:46.896 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:25] - 订阅(sub)指数K线数据用户收到的数据===============:{"ch":"market.BTC-USDT.index.1min","ts":1705554458116,"tick":{"id":1705554420,"open":"42635.12666666666","close":"42634.80333333334","high":"42635.12666666666","low":"42634.77333333333","amount":"0","vol":"0","count":0}} +2024-01-18 13:07:46.896 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:28] - 订阅(sub)指数K线数据的ts为:1705554458116,当前的时间戳为:1705554466896,时间间隔为:8780毫秒 +2024-01-18 13:07:46.896 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:25] - 订阅(sub)指数K线数据用户收到的数据===============:{"ch":"market.BTC-USDT.index.1min","ts":1705554459114,"tick":{"id":1705554420,"open":"42635.12666666666","close":"42634.806666666664","high":"42635.12666666666","low":"42634.77333333333","amount":"0","vol":"0","count":0}} +2024-01-18 13:07:46.896 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:28] - 订阅(sub)指数K线数据的ts为:1705554459114,当前的时间戳为:1705554466896,时间间隔为:7782毫秒 +2024-01-18 13:07:46.897 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:25] - 订阅(sub)指数K线数据用户收到的数据===============:{"ch":"market.BTC-USDT.index.1min","ts":1705554460114,"tick":{"id":1705554420,"open":"42635.12666666666","close":"42634.84","high":"42635.12666666666","low":"42634.77333333333","amount":"0","vol":"0","count":0}} +2024-01-18 13:07:46.897 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:28] - 订阅(sub)指数K线数据的ts为:1705554460114,当前的时间戳为:1705554466897,时间间隔为:6783毫秒 +2024-01-18 13:07:46.897 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:25] - 订阅(sub)指数K线数据用户收到的数据===============:{"ch":"market.BTC-USDT.index.1min","ts":1705554461120,"tick":{"id":1705554420,"open":"42635.12666666666","close":"42634.83666666667","high":"42635.12666666666","low":"42634.77333333333","amount":"0","vol":"0","count":0}} +2024-01-18 13:07:46.898 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:28] - 订阅(sub)指数K线数据的ts为:1705554461120,当前的时间戳为:1705554466898,时间间隔为:5778毫秒 +2024-01-18 13:07:46.898 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:25] - 订阅(sub)指数K线数据用户收到的数据===============:{"ch":"market.BTC-USDT.index.1min","ts":1705554462115,"tick":{"id":1705554420,"open":"42635.12666666666","close":"42634.83666666667","high":"42635.12666666666","low":"42634.77333333333","amount":"0","vol":"0","count":0}} +2024-01-18 13:07:46.898 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:28] - 订阅(sub)指数K线数据的ts为:1705554462115,当前的时间戳为:1705554466898,时间间隔为:4783毫秒 +2024-01-18 13:07:46.898 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:25] - 订阅(sub)指数K线数据用户收到的数据===============:{"ch":"market.BTC-USDT.index.1min","ts":1705554463314,"tick":{"id":1705554420,"open":"42635.12666666666","close":"42634.84","high":"42635.12666666666","low":"42634.77333333333","amount":"0","vol":"0","count":0}} +2024-01-18 13:07:46.899 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:28] - 订阅(sub)指数K线数据的ts为:1705554463314,当前的时间戳为:1705554466898,时间间隔为:3584毫秒 +2024-01-18 13:07:46.899 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:25] - 订阅(sub)指数K线数据用户收到的数据===============:{"ch":"market.BTC-USDT.index.1min","ts":1705554464121,"tick":{"id":1705554420,"open":"42635.12666666666","close":"42634.84","high":"42635.12666666666","low":"42634.77333333333","amount":"0","vol":"0","count":0}} +2024-01-18 13:07:46.899 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:28] - 订阅(sub)指数K线数据的ts为:1705554464121,当前的时间戳为:1705554466899,时间间隔为:2778毫秒 +2024-01-18 13:07:46.899 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:25] - 订阅(sub)指数K线数据用户收到的数据===============:{"ch":"market.BTC-USDT.index.1min","ts":1705554465118,"tick":{"id":1705554420,"open":"42635.12666666666","close":"42634.84","high":"42635.12666666666","low":"42634.77333333333","amount":"0","vol":"0","count":0}} +2024-01-18 13:07:46.900 [INFO] [pool-2-thread-1] [com.huobi.usdt.wss.WssIndexSubTest.lambda$test1$0:28] - 订阅(sub)指数K线数据的ts为:1705554465118,当前的时间戳为:1705554466900,时间间隔为:1782毫秒 diff --git a/alpha/platforms/huobi_coin_swap/__init__.py b/log/info/info.2024-10-21_17.log similarity index 100% rename from alpha/platforms/huobi_coin_swap/__init__.py rename to log/info/info.2024-10-21_17.log diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..0df50da --- /dev/null +++ b/pom.xml @@ -0,0 +1,105 @@ + + + 4.0.0 + + org.springframework.boot + spring-boot-starter-parent + 2.1.9.RELEASE + + + + com.huobi.contract.api + huobi_contract_Java + 1.0.1 + + + + + org.springframework.boot + spring-boot-starter + + + org.springframework.boot + spring-boot-starter-test + test + + + org.bouncycastle + bcpkix-jdk15on + 1.70 + + + + + org.apache.commons + commons-lang3 + 3.9 + + + + org.slf4j + slf4j-api + + + + + org.apache.commons + commons-collections4 + 4.4 + + + + + com.squareup.okhttp3 + okhttp + 3.10.0 + + + + + + com.alibaba + fastjson + 1.2.62 + + + + + + com.google.guava + guava + 28.1-jre + + + + + org.projectlombok + lombok + + + + + com.google.code.gson + gson + 2.8.1 + + + + + commons-beanutils + commons-beanutils + 1.9.3 + + + + + org.java-websocket + Java-WebSocket + 1.4.0 + + + + + diff --git a/requirements.txt b/requirements.txt deleted file mode 100644 index becfa18..0000000 --- a/requirements.txt +++ /dev/null @@ -1,17 +0,0 @@ -aiodns==2.0.0 -aiohttp==3.6.2 -async-timeout==3.0.1 -attrs==19.3.0 -brotlipy==0.7.0 -cchardet==2.1.5 -cffi==1.13.2 -chardet==3.0.4 -idna==2.8 -idna-ssl==1.1.0 -multidict==4.7.3 -pycares==3.1.1 -pycparser==2.19 -typing==3.7.4.1 -typing-extensions==3.7.4.1 -yarl==1.4.2 -websocket_client diff --git a/setup.py b/setup.py deleted file mode 100644 index 875bc08..0000000 --- a/setup.py +++ /dev/null @@ -1,27 +0,0 @@ -# -*- coding:utf-8 -*- - -from distutils.core import setup - - -setup( - name="alphaquant", - version="1.1.7", - packages=[ - "alpha", - "alpha.utils", - "alpha.platforms", - ], - description="Asynchronous driven quantitative trading framework.", - url="https://github.com/hbdmapi/hbdm_python", - author="qiaoxiaofeng", - author_email="andyjoe318@gmail.com", - license="MIT", - keywords=[ - "alphaquant", "huobi future", "async", "asynchronous", "btc", - "marketmaker", "huobi", "huobi swap", "strategy" - ], - install_requires=[ - "aiohttp==3.6.2", - "motor==2.0.0" - ], -) diff --git a/src/main/java/com/huobi/api/constants/HuobiCoinMarginedSwapAPIOptions.java b/src/main/java/com/huobi/api/constants/HuobiCoinMarginedSwapAPIOptions.java new file mode 100644 index 0000000..3a4ab96 --- /dev/null +++ b/src/main/java/com/huobi/api/constants/HuobiCoinMarginedSwapAPIOptions.java @@ -0,0 +1,104 @@ +package com.huobi.api.constants; + +public class HuobiCoinMarginedSwapAPIOptions { + //基础信息 + public static final String SWAP_RISK_INFO = "/swap-api/v1/swap_risk_info";// 1.查询合约风险准备金和预估分摊比例 + public static final String SWAP_INSURANCE_FUND = "/swap-api/v1/swap_insurance_fund"; // 2.获取风险准备金历史数据 + public static final String SWAP_ADJUSTFACTOR = "/swap-api/v1/swap_adjustfactor"; // 3.查询平台阶梯调整系数 + public static final String SWAP_HIS_OPEN_INTEREST = "/swap-api/v1/swap_his_open_interest"; // 4.平台持仓量的查询 + public static final String SWAP_LADDER_MARGIN = "/swap-api/v1/swap_ladder_margin"; // 5.获取平台阶梯保证金 + public static final String SWAP_ELITE_ACCOUNT_RATIO = "/swap-api/v1/swap_elite_account_ratio"; // 6.精英账户多空持仓对比-账户数 + public static final String SWAP_ELITE_POSITION_RATIO = "/swap-api/v1/swap_elite_position_ratio"; // 7.精英账户多空持仓对比-持仓量 + public static final String SWAP_ESTIMATED_SETTLEMENT_PRICE = "/swap-api/v1/swap_estimated_settlement_price"; // 8.获取预估结算价 + public static final String SWAP_API_STATE = "/swap-api/v1/swap_api_state"; // 9.查询系统状态 + public static final String SWAP_FUNDING_RATE = "/swap-api/v1/swap_funding_rate"; // 10.获取合约的资金费率 + public static final String SWAP_BATCH_FUNDING_RATE = "/swap-api/v1/swap_batch_funding_rate"; // 11.批量获取合约资金费率 + public static final String SWAP_HISTORICAL_FUNDING_RATE = "/swap-api/v1/swap_historical_funding_rate"; // 12.获取合约的历史资金费率 + public static final String SWAP_LIQUIDATION_ORDERS_V3 = "/swap-api/v3/swap_liquidation_orders"; // 13.获取强平订单(新) + public static final String SWAP_SETTLEMENT_RECORDS = "/swap-api/v1/swap_settlement_records"; // 14.查询平台历史结算记录 + public static final String SWAP_CONTRACT_INFO = "/swap-api/v1/swap_contract_info"; // 15.获取合约信息 + public static final String SWAP_INDEX = "/swap-api/v1/swap_index"; // 16.获取合约指数信息 + public static final String SWAP_QUERY_ELEMENTS = "/swap-api/v1/swap_query_elements"; // 17.合约要素 + public static final String SWAP_PRICE_LIMIT = "/swap-api/v1/swap_price_limit"; // 18.获取合约最高限价和最低限价 + public static final String SWAP_OPEN_INTEREST = "/swap-api/v1/swap_open_interest";// 19.获取当前可用合约总持仓量 + public static final String TIMESTAMP = "/api/v1/timestamp"; // 20.获取当前系统时间戳 + public static final String HEARTBEAT = "/heartbeat/"; // 21.查询系统是否可用 + public static final String SUMMARY = "https://status-swap.huobigroup.com/api/v2/summary.json"; // 22.获取当前系统状态 + + //合约市场行情接口 + public static final String SWAP_MARKET_DEPTH = "/swap-ex/market/depth";// 1.获取行情深度数据 + public static final String MARKET_BBO = "/swap-ex/market/bbo"; // 2.获取市场最优挂单 + public static final String SWAP_MARKET_HISTORY_KLINE = "/swap-ex/market/history/kline";// 3.获取K线数据 + public static final String SWAP_MARK_PRICE_KLINE = "/index/market/history/swap_mark_price_kline"; // 4.获取标记价格的 K 线数据 + public static final String SWAP_MARKET_DETAIL_MERGED = "/swap-ex/market/detail/merged"; // 5.获取聚合行情 + public static final String BATCH_MERGED_V2 = "/v2/swap-ex/market/detail/batch_merged"; // 6.批量获取聚合行情(V2) + public static final String SWAP_MARKET_TRADE = "/swap-ex/market/trade";// 7.获取市场最近成交记录 + public static final String SWAP_MARKET_HISTORY_TRADE = "/swap-ex/market/history/trade"; // 8.批量获取最近的交易记录 + public static final String LINEAR_SWAP_PREMIUM_INDEX_KLINE = "/index/market/history/swap_premium_index_kline"; // 9.获取溢价指数K线数据 + public static final String LINEAR_SWAP_ESTIMATED_RATE_KLINE = "/index/market/history/swap_estimated_rate_kline"; // 10.获取预测资金费率的K线数据 + public static final String LINEAR_SWAP_BASIS = "/index/market/history/swap_basis"; // 11.获取基差数据 + + //合约资产接口 + public static final String SWAP_BALANCE_VALUATION = "/swap-api/v1/swap_balance_valuation"; // 1.获取账户总资产估值 + public static final String SWAP_ACCOUNT_INFO = "/swap-api/v1/swap_account_info"; // 2.获取用户账户信息 + public static final String SWAP_POSITION_INFO = "/swap-api/v1/swap_position_info"; // 3.获取用户持仓信息 + public static final String SWAP_ACCOUNT_POSITION_INFO = "/swap-api/v1/swap_account_position_info";// 4.获取用户资产和持仓信息 + public static final String SWAP_SUB_AUTH = "/swap-api/v1/swap_sub_auth";// 5.批量设置子账户交易权限 + public static final String SWAP_SUB_AUTH_LIST = "/swap-api/v1/swap_sub_auth_list"; // 6.查询子账户交易权限 + public static final String SWAP_SUB_ACCOUNT_LIST = "/swap-api/v1/swap_sub_account_list"; // 7.查询母账户下所有子账户资产信息 + public static final String SWAP_SUB_ACCOUNT_INFO_LIST = "/swap-api/v1/swap_sub_account_info_list";// 8.批量获取子账户资产信息 + public static final String SWAP_SUB_ACCOUNT_INFO = "/swap-api/v1/swap_sub_account_info"; // 9.查询单个子账户资产信息 + public static final String SWAP_SUB_POSITION_INFO = "/swap-api/v1/swap_sub_position_info"; // 10.查询单个子账户持仓信息 + public static final String SWAP_FINANCIAL_RECORD_V3 = "/swap-api/v3/swap_financial_record"; // 11.查询用户财务记录(新) + public static final String SWAP_FINANCIAL_RECORD_EXACT_V3 = "/swap-api/v3/swap_financial_record_exact"; // 12.组合查询用户财务记录(新) + public static final String SWAP_USER_SETTLEMENT_RECORDS = "/swap-api/v1/swap_user_settlement_records";// 13.获取用户API指标禁用信息 + public static final String SWAP_AVAILABLE_LEVEL_RATE = "/swap-api/v1/swap_available_level_rate";// 14.获取合约可用杠杆倍数 + public static final String SWAP_ORDER_LIMIT = "/swap-api/v1/swap_order_limit"; // 15.查询用户当前的下单量限制 + public static final String SWAP_FEE = "/swap-api/v1/swap_fee"; // 16.查询用户当前的手续费费率 + public static final String SWAP_TRANSFER_LIMIT = "/swap-api/v1/swap_transfer_limit"; // 17.查询用户当前的划转限制 + public static final String SWAP_POSITION_LIMIT = "/swap-api/v1/swap_position_limit"; // 18.用户持仓量限制的查询 + public static final String SWAP_MASTER_SUB_TRANSFER = "/swap-api/v1/swap_master_sub_transfer";// 19.母子账户划转 + public static final String SWAP_MASTER_SUB_TRANSFER_RECORD = "/swap-api/v1/swap_master_sub_transfer_record";// 20.获取母账户下的所有母子账户划转记录 + public static final String SWAP_API_TRADING_STATUS = "/swap-api/v1/swap_api_trading_status";// 21.获取用户API指标禁用信息 + + + //合约交易接口 + public static final String SWAP_CANCEL_AFTER = "/swap-api/v1/swap-cancel-after"; // 1.自动撤单 + public static final String SWAP_ORDER = "/swap-api/v1/swap_order"; // 2.合约下单 + public static final String SWAP_BATCHORDER = "/swap-api/v1/swap_batchorder"; // 3.合约批量下单 + public static final String SWAP_CANCEL = "/swap-api/v1/swap_cancel"; // 4.撤销订单 + public static final String SWAP_CANCELALL = "/swap-api/v1/swap_cancelall"; // 5.全部撤单 + public static final String SWAP_SWITCH_LEVER_RATE = "/swap-api/v1/swap_switch_lever_rate";// 6.切换杠杆 + public static final String SWAP_ORDER_INFO = "/swap-api/v1/swap_order_info"; // 7.获取合约订单信息 + public static final String SWAP_ORDER_DETAIL = "/swap-api/v1/swap_order_detail"; // 8.获取订单明细信息 + public static final String SWAP_OPENORDERS = "/swap-api/v1/swap_openorders"; // 9.获取合约当前未成交委托 + public static final String SWAP_HISORDERS_V3 = "/swap-api/v3/swap_hisorders"; // 10.获取合约历史委托(新) + public static final String SWAP_HISORDERS_EXACT_V3 = "/swap-api/v3/swap_hisorders_exact"; // 11.组合查询合约历史委托(新) + public static final String SWAP_MATCHRESULTS_V3 = "/swap-api/v3/swap_matchresults"; // 12.获取历史成交记录(新) + public static final String SWAP_MATCHRESULTS_EXACT_V3 = "/swap-api/v3/swap_matchresults_exact"; // 13.组合查询用户历史成交记录(新) + public static final String SWAP_LIGHTNING_CLOSE_POSITION = "/swap-api/v1/swap_lightning_close_position"; // 14.闪电平仓下单 + + + //合约策略订单接口 + public static final String SWAP_TRIGGER_ORDER = "/swap-api/v1/swap_trigger_order"; // 1.计划委托下单 + public static final String SWAP_TRIGGER_CANCEL = "/swap-api/v1/swap_trigger_cancel";// 2.计划委托撤单 + public static final String SWAP_TRIGGER_CANCELALL = "/swap-api/v1/swap_trigger_cancelall";// 3.计划委托全部撤单 + public static final String SWAP_TRIGGER_OPENORDERS = "/swap-api/v1/swap_trigger_openorders";// 4.获取计划委托当前委托 + public static final String SWAP_TRIGGER_HISORDERS = "/swap-api/v1/swap_trigger_hisorders";// 5.获取计划委托历史委托 + public static final String SWAP_TPSL_ORDER = "/swap-api/v1/swap_tpsl_order";// 6.对仓位设置止盈止损订单 + public static final String SWAP_TPSL_CANCEL = "/swap-api/v1/swap_tpsl_cancel";// 7.止盈止损订单撤单 + public static final String SWAP_TPSL_CANCELALL = "/swap-api/v1/swap_tpsl_cancelall";// 8.止盈止损订单全部撤单 + public static final String SWAP_TPSL_OPENORDERS = "/swap-api/v1/swap_tpsl_openorders";// 9.查询止盈止损订单当前委托 + public static final String SWAP_TPSL_HISORDERS = "/swap-api/v1/swap_tpsl_hisorders";// 10.查询止盈止损订单历史委托 + public static final String SWAP_RELATION_TPSL_ORDER = "/swap-api/v1/swap_relation_tpsl_order";// 11.查询开仓单关联的止盈止损订单详情 + public static final String SWAP_TRACK_ORDER = "/swap-api/v1/swap_track_order"; // 12.跟踪委托订单下单 + public static final String SWAP_TRACK_CANCEL= "/swap-api/v1/swap_track_cancel"; // 13.跟踪委托订单撤单 + public static final String SWAP_TRACK_CANCELALL = "/swap-api/v1/swap_track_cancelall"; // 14.跟踪委托订单全部撤单 + public static final String SWAP_TRACK_OPENORDERS = "/swap-api/v1/swap_track_openorders"; // 15.跟踪委托订单当前委托 + public static final String SWAP_TRACK_HISORDERS = "/swap-api/v1/swap_track_hisorders"; // 16.跟踪委托订单历史委托 + + + //合约划转接口 + public static final String USDT_SWAP_TRANSFER = "/v2/account/transfer"; // 1.现货-USDT永续账户间进行资金的划转 + +} diff --git a/src/main/java/com/huobi/api/constants/HuobiFutureAPIConstants.java b/src/main/java/com/huobi/api/constants/HuobiFutureAPIConstants.java new file mode 100644 index 0000000..a246894 --- /dev/null +++ b/src/main/java/com/huobi/api/constants/HuobiFutureAPIConstants.java @@ -0,0 +1,99 @@ +package com.huobi.api.constants; + +public class HuobiFutureAPIConstants { + //基础信息 + public static final String CONTRACT_RISK_INFO = "/api/v1/contract_risk_info";// 1.查询合约风险准备金余额和预估分摊比例 + public static final String CONTRACT_INSURANCE_FUND = "/api/v1/contract_insurance_fund"; // 2.查询合约风险准备金余额历史数据 + public static final String CONTRACT_ADJUSTFACTOR = "/api/v1/contract_adjustfactor";// 3.查询平台阶梯调整系数 + public static final String CONTRACT_HIS_OPEN_INTEREST = "/api/v1/contract_his_open_interest"; // 4.平台持仓量的查询 + public static final String CONTRACT_LADDER_MARGIN = "/api/v1/contract_ladder_margin"; // 5.获取平台阶梯保证金 + public static final String CONTRACT_ELITE_ACCOUNT_RATIO = "/api/v1/contract_elite_account_ratio"; // 6.精英账户多空持仓对比-账户数 + public static final String CONTRACT_ELITE_POSITION_RATIO = "/api/v1/contract_elite_position_ratio"; // 7.精英账户多空持仓对比-持仓量 + public static final String CONTRACT_LIQUIDATION_ORDERS_V3 = "/api/v3/contract_liquidation_orders"; // 8.获取强平订单(新) + public static final String CONTRACT_SETTLEMENT_RECORDS = "/api/v1/contract_settlement_records"; // 9.查询平台历史结算记录 + public static final String CONTRACT_PRICE_LIMIT = "/api/v1/contract_price_limit"; // 10.获取合约最高限价和最低限价 + public static final String CONTRACT_OPEN_INTEREST = "/api/v1/contract_open_interest";// 11.获取当前可用合约总持仓量 + public static final String CONTRACT_DELIVERY_PRICE = "/api/v1/contract_delivery_price"; // 12.获取预估交割价 + public static final String CONTRACT_ESTIMATED_SETTLEMENT_PRICE = "/api/v1/contract_estimated_settlement_price"; // 13.获取预估结算价 + public static final String CONTRACT_API_STATE = "/api/v1/contract_api_state"; // 14.查询系统状态 + public static final String CONTRACT_CONTRACT_INFO = "/api/v1/contract_contract_info"; // 15.获取合约信息 + public static final String CONTRACT_INDEX = "/api/v1/contract_index"; // 16.获取合约指数信息 + public static final String CONTRACT_QUERY_ELEMENTS = "/api/v1/contract_query_elements"; // 17.合约要素 + + //合约市场行情接口 + public static final String MARKET_DEPTH = "/market/depth";// 1.获取行情深度数据 + public static final String MARKET_BBO = "/market/bbo"; // 2.获取市场最优挂单 + public static final String MARKET_HISTORY_KLINE = "/market/history/kline";// 3.获取K线数据 + public static final String MARK_PRICE_KLINE = "/index/market/history/mark_price_kline"; // 4.获取标记价格的K线数据 + public static final String MARKET_DETAIL_MERGED = "/market/detail/merged"; // 5.获取聚合行情 + public static final String BATCH_MERGED_V2 = "/v2/market/detail/batch_merged"; // 6.批量获取聚合行情(V2) + public static final String MARKET_TRADE = "/market/trade";// 7.获取市场最近成交记录 + public static final String MARKET_HISTORY_TRADE = "/market/history/trade"; // 8.批量获取最近的交易记录 + public static final String MARKET_HISTORY_INDEX = "/index/market/history/index"; // 9.获取指数K线数据 + public static final String MARKET_HISTORY_BASIS = "/index/market/history/basis"; // 10.获取基差数据 + + //合约资产接口 + public static final String CONTRACT_BALANCE_VALUATION = "/api/v1/contract_balance_valuation"; // 1.获取账户总资产估值 + public static final String CONTRACT_ACCOUNT_INFO = "/api/v1/contract_account_info"; // 2.获取用户账户信息 + public static final String CONTRACT_POSITION_INFO = "/api/v1/contract_position_info"; // 3.获取用户持仓信息 + public static final String CONTRACT_SUB_AUTH="/api/v1/contract_sub_auth"; // 4、批量设置子账户交易权限 + public static final String CONTRACT_SUB_AUTH_LIST = "/api/v1/contract_sub_auth_list"; // 5.查询子账户交易权限 + public static final String CONTRACT_SUB_ACCOUNT_LIST = "/api/v1/contract_sub_account_list"; // 6.查询母账户下所有子账户资产信息 + public static final String CONTRACT_SUB_ACCOUNT_INFO_LIST="/api/v1/contract_sub_account_info_list"; // 7、批量获取子账户资产信息 + public static final String CONTRACT_SUB_ACCOUNT_INFO = "/api/v1/contract_sub_account_info"; // 8.查询单个子账户资产信息 + public static final String CONTRACT_SUB_POSITION_INFO = "/api/v1/contract_sub_position_info"; // 9.查询单个子账户持仓信息 + public static final String CONTRACT_FINANCIAL_RECORD_V3 = "/api/v3/contract_financial_record"; // 10.查询用户财务记录(新) + public static final String CONTRACT_FINANCIAL_RECORD_EXACT_V3 = "/api/v3/contract_financial_record_exact"; // 11.组合查询用户财务记录(新) + public static final String CONTRACT_USER_SETTLEMENT_RECORDS = "/api/v1/contract_user_settlement_records";// 12、查询用户结算记录 + public static final String CONTRACT_ORDER_LIMIT = "/api/v1/contract_order_limit"; // 13.查询用户当前的下单量限制 + public static final String CONTRACT_FEE = "/api/v1/contract_fee"; // 14.查询用户当前的手续费费率 + public static final String CONTRACT_TRANSFER_LIMIT = "/api/v1/contract_transfer_limit"; // 15.查询用户当前的划转限制 + public static final String CONTRACT_POSITION_LIMIT = "/api/v1/contract_position_limit"; // 16.用户持仓量限制的查询 + public static final String CONTRACT_ACCOUNT_POSITION_INFO = "/api/v1/contract_account_position_info";// 17、查询用户账户和持仓信息 + public static final String CONTRACT_MASTER_SUB_TRANSFER = "/api/v1/contract_master_sub_transfer";// 18、母子账户划转 + public static final String CONTRACT_MASTER_SUB_TRANSFER_RECORD = "/api/v1/contract_master_sub_transfer_record";// 19、获取母账户下的所有母子账户划转记录 + public static final String CONTRACT_API_TRADING_STATUS="/api/v1/contract_api_trading_status"; // 20、获取用户的API指标禁用信息 + public static final String CONTRACT_AVAILABLE_LEVEL_RATE="/api/v1/contract_available_level_rate"; // 21、查询用户可用杠杆倍数 + + + //合約交易接口 + public static final String CONTRACT_CANCEL_AFTER = "/api/v1/contract-cancel-after"; // 1.自动撤单 + public static final String CONTRACT_ORDER = "/api/v1/contract_order"; // 2.合约下单 + public static final String CONTRACT_BATCHORDER = "/api/v1/contract_batchorder"; // 3.合约批量下单 + public static final String CONTRACT_CANCEL = "/api/v1/contract_cancel"; // 4.撤销订单 + public static final String CONTRACT_CANCELALL = "/api/v1/contract_cancelall"; // 5.全部撤单 + public static final String CONTRACT_SWITCH_LEVER_RATE="/api/v1/contract_switch_lever_rate"; // 6.切换杠杆 + public static final String CONTRACT_ORDER_INFO = "/api/v1/contract_order_info"; // 7.获取合约订单信息 + public static final String CONTRACT_ORDER_DETAIL = "/api/v1/contract_order_detail"; // 8.获取订单明细信息 + public static final String CONTRACT_OPENORDERS = "/api/v1/contract_openorders"; // 9.获取合约当前未成交委托 + public static final String CONTRACT_HISORDERS_V3 = "/api/v3/contract_hisorders"; // 10.获取合约历史委托(新) + public static final String CONTRACT_HISORDERS_EXACT_V3 = "/api/v3/contract_hisorders_exact"; // 11.组合查询合约历史委托(新) + public static final String CONTRACT_MATCHRESULTS_V3 = "/api/v3/contract_matchresults"; // 12.获取历史成交记录(新) + public static final String CONTRACT_MATCHRESULTS_EXACT_V3 = "/api/v3/contract_matchresults_exact"; // 13.组合查询历史成交记录接口(新) + public static final String LIGHTNING_CLOSE_POSITION = "/api/v1/lightning_close_position"; // 14.闪电平仓下单 + + + //合约策略订单接口 + public static final String CONTRACT_TRIGGER_ORDER = "/api/v1/contract_trigger_order";// 1.合约计划委托下单 + public static final String CONTRACT_TRIGGER_CANCEL="/api/v1/contract_trigger_cancel"; // 2.合约计划委托撤单 + public static final String CONTRACT_TRIGGER_CANCELALL="/api/v1/contract_trigger_cancelall";// 3.合约订单委托全部撤单 + public static final String CONTRACT_TRIGGER_OPENORDERS="/api/v1/contract_trigger_openorders"; // 4.获取计划委托当前委托 + public static final String CONTRACT_TRIGGER_HISORDERS="/api/v1/contract_trigger_hisorders"; // 5.获取计划委托历史委托 + public static final String CONTRACT_TPSL_ORDER="/api/v1/contract_tpsl_order"; // 6.对仓位设置止盈止损订单 + public static final String CONTRACT_TPSL_CANCEL="/api/v1/contract_tpsl_cancel"; // 7.止盈止损订单撤单 + public static final String CONTRACT_TPSL_CANCELALL="/api/v1/contract_tpsl_cancelall"; // 8.止盈止损订单全部撤单 + public static final String CONTRACT_TPSL_OPENORDERS="/api/v1/contract_tpsl_openorders"; // 9.查询止盈止损订单当前委托 + public static final String CONTRACT_TPSL_HISORDERS="/api/v1/contract_tpsl_hisorders"; // 10.查询止盈止损订单历史委托 + public static final String CONTRACT_RELATION_TPSL_ORDER="/api/v1/contract_relation_tpsl_order"; // 11.查询开仓单关联的止盈止损订单详情 + public static final String CONTRACT_TRACK_ORDER = "/api/v1/contract_track_order"; // 12.跟踪委托订单下单 + public static final String CONTRACT_TRACK_CANCEL= "/api/v1/contract_track_cancel"; // 13.跟踪委托订单撤单 + public static final String CONTRACT_TRACK_CANCELALL = "/api/v1/contract_track_cancelall"; // 14.跟踪委托订单全部撤单 + public static final String CONTRACT_TRACK_OPENORDERS = "/api/v1/contract_track_openorders"; // 15.跟踪委托订单当前委托 + public static final String CONTRACT_TRACK_HISORDERS = "/api/v1/contract_track_hisorders"; // 16.跟踪委托订单历史委托 + + + //合约划转接口 + public static final String FUTURES_TRANSFER = "/v1/futures/transfer"; // 1.现货-合约账户间进行资金的划转 + public static final String ACCOUNT_TRANSFER = "/v2/account/transfer"; // 2.现货-合约账户进行资金的划转 + +} diff --git a/src/main/java/com/huobi/api/constants/HuobiLinearSwapAPIConstants.java b/src/main/java/com/huobi/api/constants/HuobiLinearSwapAPIConstants.java new file mode 100644 index 0000000..e6fbd2c --- /dev/null +++ b/src/main/java/com/huobi/api/constants/HuobiLinearSwapAPIConstants.java @@ -0,0 +1,109 @@ +package com.huobi.api.constants; + +public class HuobiLinearSwapAPIConstants { + //基础信息 + public static final String SWAP_FUNDING_RATE = "/linear-swap-api/v1/swap_funding_rate"; // 1.获取合约的资金费率 + public static final String SWAP_BATCH_FUNDING_RATE = "/linear-swap-api/v1/swap_batch_funding_rate"; // 2.批量获取合约资金费率 + public static final String SWAP_HISTORICAL_FUNDING_RATE = "/linear-swap-api/v1/swap_historical_funding_rate"; // 3.获取合约的历史资金费率 + public static final String SWAP_LIQUIDATION_ORDERS_V3 = "/linear-swap-api/v3/swap_liquidation_orders"; // 4.获取强平订单(新) + public static final String SWAP_SETTLEMENT_RECORDS="/linear-swap-api/v1/swap_settlement_records";// 5.查询平台历史结算记录 + public static final String SWAP_ELITE_ACCOUNT_RATIO = "/linear-swap-api/v1/swap_elite_account_ratio"; // 6.精英账户多空持仓对比-账户数 + public static final String SWAP_ELITE_POSITION_RATIO = "/linear-swap-api/v1/swap_elite_position_ratio"; // 7.精英账户多空持仓对比-持仓量 + public static final String SWAP_API_STATE = "/linear-swap-api/v1/swap_api_state"; // 8.查询系统状态 + public static final String SWAP_LADDER_MARGIN = "/linear-swap-api/v1/swap_ladder_margin"; // 9.获取平台阶梯保证金 + public static final String SWAP_ESTIMATED_SETTLEMENT_PRICE = "/linear-swap-api/v1/swap_estimated_settlement_price"; // 10.获取预估结算价 + public static final String SWAP_ADJUSTFACTOR = "/linear-swap-api/v1/swap_adjustfactor"; // 11.查询平台阶梯调整系数 + public static final String SWAP_INSURANCE_FUND = "/linear-swap-api/v1/swap_insurance_fund"; // 12.获取风险准备金历史数据 + public static final String SWAP_RISK_INFO = "/linear-swap-api/v1/swap_risk_info";// 13.查询合约风险准备金和预估分摊比例 + public static final String SWAP_PRICE_LIMIT = "/linear-swap-api/v1/swap_price_limit"; // 14.获取合约最高限价和最低限价 + public static final String SWAP_OPEN_INTEREST = "/linear-swap-api/v1/swap_open_interest";// 15.获取当前可用合约总持仓量 + public static final String SWAP_CONTRACT_INFO = "/linear-swap-api/v1/swap_contract_info"; // 16.获取合约信息 + public static final String SWAP_INDEX = "/linear-swap-api/v1/swap_index"; // 17.获取合约指数信息 + public static final String SWAP_QUERY_ELEMENTS = "/linear-swap-api/v1/swap_query_elements"; // 18.合约要素 + + //合约市场行情接口 + public static final String SWAP_MARKET_DEPTH = "/linear-swap-ex/market/depth";// 1.获取行情深度数据 + public static final String MARKET_BBO = "/linear-swap-ex/market/bbo"; // 2.获取市场最优挂单 + public static final String SWAP_MARKET_HISTORY_KLINE = "/linear-swap-ex/market/history/kline";// 3.获取K线数据 + public static final String LINEAR_SWAP_MARK_PRICE_KLINE = "/index/market/history/linear_swap_mark_price_kline"; // 4.获取标记价格的 K 线数据 + public static final String SWAP_MARKET_DETAIL_MERGED = "/linear-swap-ex/market/detail/merged"; // 5.获取聚合行情 + public static final String BATCH_MERGED_V2 = "/v2/linear-swap-ex/market/detail/batch_merged"; // 6.批量获取聚合行情(V2) + public static final String SWAP_MARKET_TRADE = "/linear-swap-ex/market/trade";// 7.获取市场最近成交记录 + public static final String SWAP_MARKET_HISTORY_TRADE = "/linear-swap-ex/market/history/trade"; // 8.批量获取最近的交易记录 + public static final String SWAP_HIS_OPEN_INTEREST = "/linear-swap-api/v1/swap_his_open_interest"; // 9.平台持仓量的查询 + public static final String LINEAR_SWAP_PREMIUM_INDEX_KLINE = "/index/market/history/linear_swap_premium_index_kline"; // 10.获取溢价指数K线数据 + public static final String LINEAR_SWAP_ESTIMATED_RATE_KLINE = "/index/market/history/linear_swap_estimated_rate_kline"; // 11.获取预测资金费率的K线数据 + public static final String LINEAR_SWAP_BASIS = "/index/market/history/linear_swap_basis"; // 12.获取基差数据 + + //合约资产接口 + public static final String SWAP_BALANCE_VALUATION = "/linear-swap-api/v1/swap_balance_valuation"; // 1.获取账户总资产估值 + public static final String SWAP_ACCOUNT_INFO = "/linear-swap-api/v1/swap_account_info"; // 2.获取用户账户信息 + public static final String SWAP_POSITION_INFO = "/linear-swap-api/v1/swap_position_info"; // 3.获取用户持仓信息 + public static final String SWAP_ACCOUNT_POSITION_INFO = "/linear-swap-api/v1/swap_account_position_info";// 4.获取用户资产和持仓信息 + public static final String SWAP_SUB_AUTH = "/linear-swap-api/v1/swap_sub_auth"; // 5.批量设置子账户交易权限 + public static final String SWAP_SUB_AUTH_LIST = "/linear-swap-api/v1/swap_sub_auth_list"; // 6.【通用】查询子账户交易权限 + public static final String SWAP_SUB_ACCOUNT_LIST = "/linear-swap-api/v1/swap_sub_account_list"; // 7.查询母账户下所有子账户资产信息 + public static final String SWAP_SUB_ACCOUNT_INFO_LIST = "/linear-swap-api/v1/swap_sub_account_info_list"; // 8.批量获取子账户资产信息 + public static final String SWAP_SUB_ACCOUNT_INFO = "/linear-swap-api/v1/swap_sub_account_info"; // 9.查询单个子账户资产信息 + public static final String SWAP_SUB_POSITION_INFO = "/linear-swap-api/v1/swap_sub_position_info"; // 10.查询单个子账户持仓信息 + public static final String SWAP_FINANCIAL_RECORD_V3 = "/linear-swap-api/v3/swap_financial_record"; // 11.查询用户财务记录(新) + public static final String SWAP_FINANCIAL_RECORD_EXACT_V3 = "/linear-swap-api/v3/swap_financial_record_exact"; // 12.组合查询用户财务记录 (新) + public static final String SWAP_AVAILABLE_LEVEL_RATE = "/linear-swap-api/v1/swap_available_level_rate";// 13.查询用户可用杠杆倍数 + public static final String SWAP_ORDER_LIMIT = "/linear-swap-api/v1/swap_order_limit"; // 14.查询用户当前的下单量限制 + public static final String SWAP_FEE = "/linear-swap-api/v1/swap_fee"; // 15.查询用户当前的手续费费率 + public static final String SWAP_TRANSFER_LIMIT = "/linear-swap-api/v1/swap_transfer_limit"; // 16.查询用户当前的划转限制 + public static final String SWAP_POSITION_LIMIT = "/linear-swap-api/v1/swap_position_limit"; // 17.用户持仓量限制的查询 + public static final String SWAP_LEVER_POSITION_LIMIT="/linear-swap-api/v1/swap_lever_position_limit";// 18.查询用户所有杠杆持仓量限制 + public static final String SWAP_MASTER_SUB_TRANSFER = "/linear-swap-api/v1/swap_master_sub_transfer";// 19.母子账户划转 + public static final String SWAP_MASTER_SUB_TRANSFER_RECORD = "/linear-swap-api/v1/swap_master_sub_transfer_record";// 20.获取母账户下的所有母子账户划转记录 + public static final String SWAP_TRANSFER_INNER = "/linear-swap-api/v1/swap_transfer_inner";// 21.同账号不同保证金账户的划转 + public static final String SWAP_API_TRADING_STATUS = "/linear-swap-api/v1/swap_api_trading_status";// 22.获取用户API指标禁用信息 + + //合约交易接口 + public static final String LINEAR_CANCEL_AFTER = "/linear-swap-api/v1/linear-cancel-after"; // 1.自动撤单 + public static final String SWAP_SWITCH_POSITION_MODE="/linear-swap-api/v1/swap_switch_position_mode";// 2.切换持仓模式 + public static final String SWAP_ORDER = "/linear-swap-api/v1/swap_order"; // 3.合约下单 + public static final String SWAP_BATCHORDER = "/linear-swap-api/v1/swap_batchorder"; // 4.合约批量下单 + public static final String SWAP_CANCEL = "/linear-swap-api/v1/swap_cancel"; // 5.撤销订单 + public static final String SWAP_CANCELALL = "/linear-swap-api/v1/swap_cancelall"; // 6.全部撤单 + public static final String SWAP_SWITCH_LEVER_RATE = "/linear-swap-api/v1/swap_switch_lever_rate";// 7.切换杠杆 + public static final String SWAP_ORDER_INFO = "/linear-swap-api/v1/swap_order_info"; // 8.获取合约订单信息 + public static final String SWAP_ORDER_DETAIL = "/linear-swap-api/v1/swap_order_detail"; // 9.获取订单明细信息 + public static final String SWAP_OPENORDERS = "/linear-swap-api/v1/swap_openorders"; // 10.获取合约当前未成交委托 + public static final String SWAP_HISORDERS_V3 = "/linear-swap-api/v3/swap_hisorders"; // 11.获取合约历史委托(新) + public static final String SWAP_HISORDERS_EXACT_V3 = "/linear-swap-api/v3/swap_hisorders_exact"; // 12.组合查询合约历史委托(新) + public static final String SWAP_MATCHRESULTS_V3 = "/linear-swap-api/v3/swap_matchresults"; // 13.获取历史成交记录(新) + public static final String SWAP_MATCHRESULTS_EXACT_V3 = "/linear-swap-api/v3/swap_matchresults_exact"; // 14.组合查询用户历史成交记录(新) + public static final String SWAP_LIGHTNING_CLOSE_POSITION = "/linear-swap-api/v1/swap_lightning_close_position"; // 15.闪电平仓下单 + public static final String SWAP_POSITION_SIDE = "/linear-swap-api/v1/swap_position_side"; // 16.查询持仓模式 + + //合约策略订单接口 + public static final String SWAP_TRIGGER_ORDER = "/linear-swap-api/v1/swap_trigger_order"; // 1.计划委托下单 + public static final String SWAP_TRIGGER_CANCEL = "/linear-swap-api/v1/swap_trigger_cancel";// 2.计划委托撤单 + public static final String SWAP_TRIGGER_CANCELALL = "/linear-swap-api/v1/swap_trigger_cancelall";// 3.计划委托全部撤单 + public static final String SWAP_TRIGGER_OPENORDERS = "/linear-swap-api/v1/swap_trigger_openorders";// 4.获取计划委托当前委托 + public static final String SWAP_TRIGGER_HISORDERS = "/linear-swap-api/v1/swap_trigger_hisorders";// 5.获取计划委托历史委托 + public static final String SWAP_TPSL_ORDER = "/linear-swap-api/v1/swap_tpsl_order";// 6.对仓位设置止盈止损订单 + public static final String SWAP_TPSL_CANCEL = "/linear-swap-api/v1/swap_tpsl_cancel";// 7.止盈止损订单撤单 + public static final String SWAP_TPSL_CANCELALL = "/linear-swap-api/v1/swap_tpsl_cancelall";// 8.止盈止损订单全部撤单 + public static final String SWAP_TPSL_OPENORDERS = "/linear-swap-api/v1/swap_tpsl_openorders";// 9.查询止盈止损订单当前委托 + public static final String SWAP_TPSL_HISORDERS = "/linear-swap-api/v1/swap_tpsl_hisorders";// 10.查询止盈止损订单历史委托 + public static final String SWAP_RELATION_TPSL_ORDER = "/linear-swap-api/v1/swap_relation_tpsl_order";// 11.查询开仓单关联的止盈止损订单详情 + public static final String SWAP_TRACK_ORDER = "/linear-swap-api/v1/swap_track_order"; // 12.跟踪委托订单下单 + public static final String SWAP_TRACK_CANCEL= "/linear-swap-api/v1/swap_track_cancel"; // 13.跟踪委托订单撤单 + public static final String SWAP_TRACK_CANCELALL = "/linear-swap-api/v1/swap_track_cancelall"; // 14.跟踪委托订单全部撤单 + public static final String SWAP_TRACK_OPENORDERS = "/linear-swap-api/v1/swap_track_openorders"; // 15.跟踪委托订单当前委托 + public static final String SWAP_TRACK_HISORDERS = "/linear-swap-api/v1/swap_track_hisorders"; // 16.跟踪委托订单历史委托 + + //合约划转接口 + public static final String USDT_SWAP_TRANSFER = "/v2/account/transfer"; // 1.现货-USDT永续账户间进行资金的划转 + + //合约统一账户 + public static final String UNIFIED_ACCOUNT_INFO = "/linear-swap-api/v3/unified_account_info"; // 1.查询统一账户资产 + public static final String LINEAR_SWAP_OVERVIEW_ACCOUNT_INFO = "/linear-swap-api/v3/linear_swap_overview_account_info"; // 2.可抵扣HT资产查询 + public static final String LINEAR_SWAP_FEE_SWITCH = "/linear-swap-api/v3/linear_swap_fee_switch"; // 3.设置U本位合约手续费抵扣方式 + public static final String FIX_POSITION_MARGIN_CHANGE = "/linear-swap-api/v3/fix_position_margin_change"; // 4.调整逐仓持仓保证金 + public static final String FIX_POSITION_MARGIN_CHANGE_RECORD = "/linear-swap-api/v3/fix_position_margin_change_record"; // 5.查询调整逐仓持仓保证金记录 + public static final String SWAP_UNIFIED_ACCOUNT_TYPE = "/linear-swap-api/v3/swap_unified_account_type"; // 6.账户类型查询 + public static final String SWAP_SWITCH_ACCOUNT_TYPE = "/linear-swap-api/v3/swap_switch_account_type"; // 7.账户类型更改接口 +} diff --git a/src/main/java/com/huobi/api/constants/HuobiLinearSwapCrossAPIConstants.java b/src/main/java/com/huobi/api/constants/HuobiLinearSwapCrossAPIConstants.java new file mode 100644 index 0000000..9cb73cf --- /dev/null +++ b/src/main/java/com/huobi/api/constants/HuobiLinearSwapCrossAPIConstants.java @@ -0,0 +1,60 @@ +package com.huobi.api.constants; + +public class HuobiLinearSwapCrossAPIConstants { + //基础信息 + public static final String SWAP_CROSS_LADDER_MARGIN = "/linear-swap-api/v1/swap_cross_ladder_margin"; // 1.【全仓】获取平台阶梯保证金 + public static final String SWAP_CROSS_ADJUSTFACTOR = "/linear-swap-api/v1/swap_cross_adjustfactor"; // 2.【全仓】查询平台阶梯调整系数 + + //合约资产接口 + public static final String SWAP_CROSS_ACCOUNT_INFO = "/linear-swap-api/v1/swap_cross_account_info"; // 1.获取用户账户信息(全仓模式) + public static final String SWAP_CROSS_POSITION_INFO = "/linear-swap-api/v1/swap_cross_position_info"; // 2.获取用户持仓信息(全仓模式) + public static final String SWAP_CROSS_ACCOUNT_POSITION_INFO = "/linear-swap-api/v1/swap_cross_account_position_info";// 3.获取用户资产和持仓信息(全仓模式) + public static final String SWAP_CROSS_SUB_ACCOUNT_LIST = "/linear-swap-api/v1/swap_cross_sub_account_list"; // 4.查询母账户下所有子账户资产信息(全仓模式) + public static final String SWAP_CROSS_SUB_ACCOUNT_INFO_LIST = "/linear-swap-api/v1/swap_cross_sub_account_info_list"; // 5.批量获取子账户资产信息(全仓模式) + public static final String SWAP_CROSS_SUB_ACCOUNT_INFO = "/linear-swap-api/v1/swap_cross_sub_account_info"; // 6.查询单个子账户资产信息(全仓模式) + public static final String SWAP_CROSS_SUB_POSITION_INFO = "/linear-swap-api/v1/swap_cross_sub_position_info"; // 7.查询单个子账户持仓信息(全仓模式) + public static final String SWAP_CROSS_AVAILABLE_LEVEL_RATE = "/linear-swap-api/v1/swap_cross_available_level_rate";// 8.查询用户可用杠杆倍数(全仓模式) + public static final String SWAP_CROSS_TRANSFER_LIMIT = "/linear-swap-api/v1/swap_cross_transfer_limit"; // 9.查询用户当前的划转限制(全仓模式) + public static final String SWAP_CROSS_POSITION_LIMIT = "/linear-swap-api/v1/swap_cross_position_limit"; // 10.用户持仓量限制的查询(全仓模式) + public static final String SWAP_CROSS_LEVER_POSITION_LIMIT="/linear-swap-api/v1/swap_cross_lever_position_limit";// 11.查询用户所有杠杆持仓量限制 + + //合约交易接口 + public static final String SWAP_CROSS_TRADE_STATE = "/linear-swap-api/v1/swap_cross_trade_state"; // 1.【全仓】查询系统交易权限 + public static final String SWAP_CROSS_SWITCH_POSITION_MODE="/linear-swap-api/v1/swap_cross_switch_position_mode";// 2.切换持仓模式 + public static final String SWAP_CROSS_ORDER = "/linear-swap-api/v1/swap_cross_order"; // 3.合约下单(全仓模式) + public static final String SWAP_CROSS_BATCHORDER = "/linear-swap-api/v1/swap_cross_batchorder"; // 4.合约批量下单(全仓模式) + public static final String SWAP_CROSS_CANCEL = "/linear-swap-api/v1/swap_cross_cancel"; // 5.撤销订单(全仓模式) + public static final String SWAP_CROSS_CANCELALL = "/linear-swap-api/v1/swap_cross_cancelall"; // 6.全部撤单(全仓模式) + public static final String SWAP_CROSS_SWITCH_LEVER_RATE = "/linear-swap-api/v1/swap_cross_switch_lever_rate";// 7、切换杠杆(全仓模式) + public static final String SWAP_CROSS_ORDER_INFO = "/linear-swap-api/v1/swap_cross_order_info"; // 8.获取合约订单信息(全仓模式) + public static final String SWAP_CROSS_ORDER_DETAIL = "/linear-swap-api/v1/swap_cross_order_detail"; // 9.获取订单明细信息(全仓模式) + public static final String SWAP_CROSS_OPENORDERS = "/linear-swap-api/v1/swap_cross_openorders"; // 10.获取合约当前未成交委托(全仓模式) + public static final String SWAP_CROSS_HISORDERS_V3 = "/linear-swap-api/v3/swap_cross_hisorders"; // 11.获取合约历史委托(新) + public static final String SWAP_CROSS_HISORDERS_EXACT_V3 = "/linear-swap-api/v3/swap_cross_hisorders_exact"; // 12.组合查询合约历史委托(新) + public static final String SWAP_CROSS_MATCHRESULTS_V3 = "/linear-swap-api/v3/swap_cross_matchresults"; // 13.获取历史成交记录(新) + public static final String SWAP_CROSS_MATCHRESULTS_EXACT_V3 = "/linear-swap-api/v3/swap_cross_matchresults_exact"; // 14.组合查询用户历史成交记录(新) + public static final String SWAP_CROSS_LIGHTNING_CLOSE_POSITION = "/linear-swap-api/v1/swap_cross_lightning_close_position"; // 15.闪电平仓下单(全仓模式) + public static final String SWAP_CROSS_POSITION_SIDE = "/linear-swap-api/v1/swap_cross_position_side"; // 16.查询持仓模式 + + //合约策略订单接口 + public static final String SWAP_CROSS_TRIGGER_ORDER = "/linear-swap-api/v1/swap_cross_trigger_order"; // 1、计划委托下单(全仓模式) + public static final String SWAP_CROSS_TRIGGER_CANCEL = "/linear-swap-api/v1/swap_cross_trigger_cancel";// 2、计划委托撤单(全仓模式) + public static final String SWAP_CROSS_TRIGGER_CANCELALL = "/linear-swap-api/v1/swap_cross_trigger_cancelall";// 3、计划委托全部撤单(全仓模式) + public static final String SWAP_CROSS_TRIGGER_OPENORDERS = "/linear-swap-api/v1/swap_cross_trigger_openorders";// 4、获取计划委托当前委托(全仓模式) + public static final String SWAP_CROSS_TRIGGER_HISORDERS = "/linear-swap-api/v1/swap_cross_trigger_hisorders";// 5、获取计划委托历史委托(全仓模式) + public static final String SWAP_CROSS_TPSL_ORDER = "/linear-swap-api/v1/swap_cross_tpsl_order";// 6.对仓位设置止盈止损订单 + public static final String SWAP_CROSS_TPSL_CANCEL = "/linear-swap-api/v1/swap_cross_tpsl_cancel";// 7.止盈止损订单撤单 + public static final String SWAP_CROSS_TPSL_CANCELALL = "/linear-swap-api/v1/swap_cross_tpsl_cancelall";// 8.止盈止损订单全部撤单 + public static final String SWAP_CROSS_TPSL_OPENORDERS = "/linear-swap-api/v1/swap_cross_tpsl_openorders";// 9.查询止盈止损订单当前委托 + public static final String SWAP_CROSS_TPSL_HISORDERS = "/linear-swap-api/v1/swap_cross_tpsl_hisorders";// 10.查询止盈止损订单历史委托 + public static final String SWAP_CROSS_RELATION_TPSL_ORDER = "/linear-swap-api/v1/swap_cross_relation_tpsl_order";// 11.查询开仓单关联的止盈止损订单详情 + public static final String SWAP_CROSS_TRACK_ORDER = "/linear-swap-api/v1/swap_cross_track_order"; // 12.跟踪委托订单下单 + public static final String SWAP_CROSS_TRACK_CANCEL= "/linear-swap-api/v1/swap_cross_track_cancel"; // 13.跟踪委托订单撤单 + public static final String SWAP_CROSS_TRACK_CANCELALL = "/linear-swap-api/v1/swap_cross_track_cancelall"; // 14.跟踪委托订单全部撤单 + public static final String SWAP_CROSS_TRACK_OPENORDERS = "/linear-swap-api/v1/swap_cross_track_openorders"; // 15.跟踪委托订单当前委托 + public static final String SWAP_CROSS_TRACK_HISORDERS = "/linear-swap-api/v1/swap_cross_track_hisorders"; // 16.跟踪委托订单历史委托 + + //合约划转接口 + public static final String SWAP_CROSS_TRANSFER_STATE = "/linear-swap-api/v1/swap_cross_transfer_state"; // 1.【全仓】查询用户当前的划转限制 + +} diff --git a/src/main/java/com/huobi/api/enums/DirectionEnum.java b/src/main/java/com/huobi/api/enums/DirectionEnum.java new file mode 100644 index 0000000..3280d77 --- /dev/null +++ b/src/main/java/com/huobi/api/enums/DirectionEnum.java @@ -0,0 +1,18 @@ +package com.huobi.api.enums; + +public enum DirectionEnum { + + //"buy":买 "sell":卖 + BUY("buy"), SELL("sell"); + + private String value; + + DirectionEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + +} diff --git a/src/main/java/com/huobi/api/enums/OffsetEnum.java b/src/main/java/com/huobi/api/enums/OffsetEnum.java new file mode 100644 index 0000000..cbe5fb4 --- /dev/null +++ b/src/main/java/com/huobi/api/enums/OffsetEnum.java @@ -0,0 +1,18 @@ +package com.huobi.api.enums; + +public enum OffsetEnum { + //"open":开 "close":平 + OPEN("open"), CLOSE("close"); + + private String value; + + OffsetEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + +} diff --git a/src/main/java/com/huobi/api/enums/OrderPriceTypeEnum.java b/src/main/java/com/huobi/api/enums/OrderPriceTypeEnum.java new file mode 100644 index 0000000..1e86f70 --- /dev/null +++ b/src/main/java/com/huobi/api/enums/OrderPriceTypeEnum.java @@ -0,0 +1,22 @@ +package com.huobi.api.enums; + +/** + * 订单报价类型 "limit":限价, "opponent":对手价, "post_only":只做maker单,post only下单只受用户持仓数量限制, + * optimal_5:最优5档、optimal_10:最优10档、optimal_20:最优20档 + */ +public enum OrderPriceTypeEnum { + + LIMIT("limit"), OPPONENT("opponent"), POST_ONLY("post_only"), + OPTIMAL_5("optimal_5"), OPTIMAL_10("optimal_10"), OPTIMAL_20("optimal_20"); + + private String value; + + OrderPriceTypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + +} diff --git a/src/main/java/com/huobi/api/enums/OrderStatusEnum.java b/src/main/java/com/huobi/api/enums/OrderStatusEnum.java new file mode 100644 index 0000000..2bf0d56 --- /dev/null +++ b/src/main/java/com/huobi/api/enums/OrderStatusEnum.java @@ -0,0 +1,21 @@ +package com.huobi.api.enums; + +/** + * 0:全部,3:未成交, 4: 部分成交,5: 部分成交已撤单,6: 全部成交,7:已撤单 + */ +public enum OrderStatusEnum { + + ALL("0"), UN_DEAL("3"), PART_DEAL("4"), + PART_DEAL_CANCEL("5"), ALL_DEAL("6"), CANCEL("7"); + + private String value; + + OrderStatusEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + +} diff --git a/src/main/java/com/huobi/api/enums/OrderTypeEnum.java b/src/main/java/com/huobi/api/enums/OrderTypeEnum.java new file mode 100644 index 0000000..2cd0ce1 --- /dev/null +++ b/src/main/java/com/huobi/api/enums/OrderTypeEnum.java @@ -0,0 +1,20 @@ +package com.huobi.api.enums; + +/** + * 订单类型,1:报单 、 2:撤单 、 3:强平、4:交割 + */ +public enum OrderTypeEnum { + + DECLARATION("1"), WITHDRAWAL("2"), FORCE_CLOSE("3"), DELIVERY("4"); + + private String value; + + OrderTypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + +} diff --git a/src/main/java/com/huobi/api/enums/TimePeriodTypeEnum.java b/src/main/java/com/huobi/api/enums/TimePeriodTypeEnum.java new file mode 100644 index 0000000..b22d322 --- /dev/null +++ b/src/main/java/com/huobi/api/enums/TimePeriodTypeEnum.java @@ -0,0 +1,19 @@ +package com.huobi.api.enums; + +//1小时:"60min",4小时:"4hour",12小时:"12hour",1天:"1day" +public enum TimePeriodTypeEnum { + + + ONE_HOUR("60min"),FOUR_DAY("4hour"),TWELVE_MON("12hour"),ONE_DAY("1day"); + + + private String value; + + TimePeriodTypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } +} diff --git a/src/main/java/com/huobi/api/enums/TradeTypeEnum.java b/src/main/java/com/huobi/api/enums/TradeTypeEnum.java new file mode 100644 index 0000000..3975a77 --- /dev/null +++ b/src/main/java/com/huobi/api/enums/TradeTypeEnum.java @@ -0,0 +1,22 @@ +package com.huobi.api.enums; + +/** + * 交易类型 + * 0:全部,1:买入开多,2: 卖出开空,3: 买入平空,4: 卖出平多,5: 卖出强平,6: 买入强平,7:交割平多,8: 交割平空 + */ +public enum TradeTypeEnum { + ALL("0"), OPEN_BUY("1"), OPEN_SELL("2"), CLOSE_BUY("3"), CLOSE_SELL("4"), + FORCE_CLOSE_SELL("5"), FORCE_CLOSE_BUY("6"), DELIVERY_CLOSE_BUY("7"), DELIVERY_CLOSE_SELL("8"); + + private String value; + + TradeTypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + +} diff --git a/src/main/java/com/huobi/api/exception/ApiException.java b/src/main/java/com/huobi/api/exception/ApiException.java new file mode 100644 index 0000000..1ef672f --- /dev/null +++ b/src/main/java/com/huobi/api/exception/ApiException.java @@ -0,0 +1,25 @@ +package com.huobi.api.exception; + +public class ApiException extends RuntimeException { + + public ApiException() { + super(); + } + + public ApiException(String message) { + super(message); + } + + public ApiException(String message, Throwable cause) { + super(message, cause); + } + + public ApiException(Throwable cause) { + super(cause); + } + + protected ApiException(String message, Throwable cause, boolean enableSuppression, boolean writableStackTrace) { + super(message, cause, enableSuppression, writableStackTrace); + } + +} diff --git a/src/main/java/com/huobi/api/exception/HttpRequestException.java b/src/main/java/com/huobi/api/exception/HttpRequestException.java new file mode 100644 index 0000000..1b1d7e7 --- /dev/null +++ b/src/main/java/com/huobi/api/exception/HttpRequestException.java @@ -0,0 +1,23 @@ +package com.huobi.api.exception; + +public class HttpRequestException extends RuntimeException{ + + public HttpRequestException() { + } + + public HttpRequestException(String message) { + super(message); + } + + public HttpRequestException(String message, Throwable cause) { + super(message, cause); + } + + public HttpRequestException(Throwable cause) { + super(cause); + } + + public HttpRequestException(String message, Throwable cause, boolean enableSuppression, boolean writableStackTrace) { + super(message, cause, enableSuppression, writableStackTrace); + } +} diff --git a/src/main/java/com/huobi/api/request/coin_futures/account/ContractFinancialRecordExactRequest.java b/src/main/java/com/huobi/api/request/coin_futures/account/ContractFinancialRecordExactRequest.java new file mode 100644 index 0000000..4318682 --- /dev/null +++ b/src/main/java/com/huobi/api/request/coin_futures/account/ContractFinancialRecordExactRequest.java @@ -0,0 +1,18 @@ +package com.huobi.api.request.coin_futures.account; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +@Builder +@AllArgsConstructor +@Data +public class ContractFinancialRecordExactRequest { + private String symbol; + private String type; + private Long startTime; + private Long endTime; + private Long fromId; + private Integer size; + private String direct; +} diff --git a/src/main/java/com/huobi/api/request/coin_futures/account/ContractFinancialRecordExactV3Request.java b/src/main/java/com/huobi/api/request/coin_futures/account/ContractFinancialRecordExactV3Request.java new file mode 100644 index 0000000..e353cd4 --- /dev/null +++ b/src/main/java/com/huobi/api/request/coin_futures/account/ContractFinancialRecordExactV3Request.java @@ -0,0 +1,17 @@ +package com.huobi.api.request.coin_futures.account; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +@AllArgsConstructor +@Data +@Builder +public class ContractFinancialRecordExactV3Request { + private Long startTime; + private Long endTime; + private String direct; + private Long fromId; + private String type; + private String symbol; +} diff --git a/src/main/java/com/huobi/api/request/coin_futures/account/ContractFinancialRecordRequest.java b/src/main/java/com/huobi/api/request/coin_futures/account/ContractFinancialRecordRequest.java new file mode 100644 index 0000000..a79f082 --- /dev/null +++ b/src/main/java/com/huobi/api/request/coin_futures/account/ContractFinancialRecordRequest.java @@ -0,0 +1,16 @@ +package com.huobi.api.request.coin_futures.account; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +@Data +@AllArgsConstructor +@Builder +public class ContractFinancialRecordRequest { + private String symbol;//品种代码 "BTC","ETH"... + private String type;//不填查询全部类型,【查询多类型中间用,隔开】 平多:3,平空:4,开仓手续费-吃单:5,开仓手续费-挂单:6,平仓手续费-吃单:7,平仓手续费-挂单:8,交割平多:9,交割平空:10,交割手续费:11,强制平多:12,强制平空:13,从币币转入:14,转出至币币:15,结算未实现盈亏-多仓:16,结算未实现盈亏-空仓:17,穿仓分摊:19,系统:26,活动奖励:28,返利:29 + private Integer createDate;//7,90 (7天 ,90天) ,不填默认为7 + private Integer pageIndex;//第几页,不填默认第一页 + private Integer pageSize;//不填默认20,不得多于50 +} diff --git a/src/main/java/com/huobi/api/request/coin_futures/account/ContractFinancialRecordV3Request.java b/src/main/java/com/huobi/api/request/coin_futures/account/ContractFinancialRecordV3Request.java new file mode 100644 index 0000000..c983b8e --- /dev/null +++ b/src/main/java/com/huobi/api/request/coin_futures/account/ContractFinancialRecordV3Request.java @@ -0,0 +1,17 @@ +package com.huobi.api.request.coin_futures.account; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +@AllArgsConstructor +@Data +@Builder +public class ContractFinancialRecordV3Request { + private Long startTime; + private Long endTime; + private String direct; + private Long fromId; + private String type; + private String symbol; +} diff --git a/src/main/java/com/huobi/api/request/coin_futures/account/ContractMasterSubTransferRecordRequest.java b/src/main/java/com/huobi/api/request/coin_futures/account/ContractMasterSubTransferRecordRequest.java new file mode 100644 index 0000000..73fe61e --- /dev/null +++ b/src/main/java/com/huobi/api/request/coin_futures/account/ContractMasterSubTransferRecordRequest.java @@ -0,0 +1,17 @@ +package com.huobi.api.request.coin_futures.account; + + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +@AllArgsConstructor +@Builder +@Data +public class ContractMasterSubTransferRecordRequest { + private String symbol; + private String transferType; + private Integer createDate; + private Integer pageIndex; + private Integer pageSize; +} diff --git a/src/main/java/com/huobi/api/request/coin_futures/account/ContractMasterSubTransferRequest.java b/src/main/java/com/huobi/api/request/coin_futures/account/ContractMasterSubTransferRequest.java new file mode 100644 index 0000000..530bda0 --- /dev/null +++ b/src/main/java/com/huobi/api/request/coin_futures/account/ContractMasterSubTransferRequest.java @@ -0,0 +1,18 @@ +package com.huobi.api.request.coin_futures.account; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; + +@Builder +@Data +@AllArgsConstructor +public class ContractMasterSubTransferRequest { + private Long subUid; + private String symbol; + private String type; + private BigDecimal amount; + private Long clientOrderId; +} diff --git a/src/main/java/com/huobi/api/request/coin_futures/account/ContractSettlementRecordsRequest.java b/src/main/java/com/huobi/api/request/coin_futures/account/ContractSettlementRecordsRequest.java new file mode 100644 index 0000000..6edec6f --- /dev/null +++ b/src/main/java/com/huobi/api/request/coin_futures/account/ContractSettlementRecordsRequest.java @@ -0,0 +1,16 @@ +package com.huobi.api.request.coin_futures.account; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +@Builder +@AllArgsConstructor +@Data +public class ContractSettlementRecordsRequest { + private String symbol; + private Long startTime; + private Long endTime; + private Integer pageIndex; + private Integer pageSize; +} diff --git a/src/main/java/com/huobi/api/request/coin_futures/account/ContractSubAccountInfoListRequest.java b/src/main/java/com/huobi/api/request/coin_futures/account/ContractSubAccountInfoListRequest.java new file mode 100644 index 0000000..36b1cce --- /dev/null +++ b/src/main/java/com/huobi/api/request/coin_futures/account/ContractSubAccountInfoListRequest.java @@ -0,0 +1,14 @@ +package com.huobi.api.request.coin_futures.account; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +@Builder +@Data +@AllArgsConstructor +public class ContractSubAccountInfoListRequest { + private String symbol; + private Integer pageIndex; + private Integer pageSize; +} diff --git a/src/main/java/com/huobi/api/request/coin_futures/account/ContractSubAuthListRequest.java b/src/main/java/com/huobi/api/request/coin_futures/account/ContractSubAuthListRequest.java new file mode 100644 index 0000000..136fc3e --- /dev/null +++ b/src/main/java/com/huobi/api/request/coin_futures/account/ContractSubAuthListRequest.java @@ -0,0 +1,16 @@ +package com.huobi.api.request.coin_futures.account; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +@AllArgsConstructor +@Data +@Builder +public class ContractSubAuthListRequest { + private String subUid; + private Long startTime; + private Long endTime; + private String direct; + private Long fromId; +} diff --git a/src/main/java/com/huobi/api/request/coin_futures/account/ContractUserSettlementRecordsRequest.java b/src/main/java/com/huobi/api/request/coin_futures/account/ContractUserSettlementRecordsRequest.java new file mode 100644 index 0000000..48b8e55 --- /dev/null +++ b/src/main/java/com/huobi/api/request/coin_futures/account/ContractUserSettlementRecordsRequest.java @@ -0,0 +1,16 @@ +package com.huobi.api.request.coin_futures.account; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +@AllArgsConstructor +@Builder +@Data +public class ContractUserSettlementRecordsRequest { + private String symbol; + private Long startTime; + private Long endTime; + private Integer pageIndex; + private Integer pageSize; +} diff --git a/src/main/java/com/huobi/api/request/coin_futures/market/ContractLiquidationOrdersV3Request.java b/src/main/java/com/huobi/api/request/coin_futures/market/ContractLiquidationOrdersV3Request.java new file mode 100644 index 0000000..07189be --- /dev/null +++ b/src/main/java/com/huobi/api/request/coin_futures/market/ContractLiquidationOrdersV3Request.java @@ -0,0 +1,17 @@ +package com.huobi.api.request.coin_futures.market; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +@AllArgsConstructor +@Data +@Builder +public class ContractLiquidationOrdersV3Request { + private Long startTime; + private Long endTime; + private String direct; + private Long fromId; + private String symbol; + private Integer tradeType; +} diff --git a/src/main/java/com/huobi/api/request/coin_futures/trade/ContractBatchorderRequest.java b/src/main/java/com/huobi/api/request/coin_futures/trade/ContractBatchorderRequest.java new file mode 100644 index 0000000..484460e --- /dev/null +++ b/src/main/java/com/huobi/api/request/coin_futures/trade/ContractBatchorderRequest.java @@ -0,0 +1,23 @@ +package com.huobi.api.request.coin_futures.trade; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.util.List; + +/** + * 备注 + * 如果contract_code填了值,那就按照contract_code去下单,如果contract_code没有填值,则按照symbol+contract_type去下单。 + *

+ * 对手价下单price价格参数不用传,对手价下单价格是买一和卖一价,optimal_5:最优5档、optimal_10:最优10档、optimal_20:最优20档下单price价格参数不用传,"limit":限价,"post_only":只做maker单 需要传价格。 + *

+ * 一次最多允许20个订单。 + */ +@Data +@AllArgsConstructor +@Builder +public class ContractBatchorderRequest { + private List list; + +} diff --git a/src/main/java/com/huobi/api/request/coin_futures/trade/ContractCancelAfterRequest.java b/src/main/java/com/huobi/api/request/coin_futures/trade/ContractCancelAfterRequest.java new file mode 100644 index 0000000..d9bbc6f --- /dev/null +++ b/src/main/java/com/huobi/api/request/coin_futures/trade/ContractCancelAfterRequest.java @@ -0,0 +1,13 @@ +package com.huobi.api.request.coin_futures.trade; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +@AllArgsConstructor +@Data +@Builder +public class ContractCancelAfterRequest { + private Integer onOff; + private Integer timeOut; +} diff --git a/src/main/java/com/huobi/api/request/coin_futures/trade/ContractCancelRequest.java b/src/main/java/com/huobi/api/request/coin_futures/trade/ContractCancelRequest.java new file mode 100644 index 0000000..d34dfd1 --- /dev/null +++ b/src/main/java/com/huobi/api/request/coin_futures/trade/ContractCancelRequest.java @@ -0,0 +1,22 @@ +package com.huobi.api.request.coin_futures.trade; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + + +/** + * 撤销订单 + * 备注: + * order_id和client_order_id都可以用来撤单,同时只可以设置其中一种,如果设置了两种,默认以order_id来撤单。 + *

+ * 撤单接口返回结果只代表撤单命令发送成功,建议根据订单查询接口查询订单的状态来确定订单是否已真正撤销。 + */ +@Data +@AllArgsConstructor +@Builder +public class ContractCancelRequest { + private String orderId;//订单ID(多个订单ID中间以","分隔,一次最多允许撤消50个订单) + private String clientOrderId;//客户订单ID(多个订单ID中间以","分隔,一次最多允许撤消50个订单) + private String symbol;//"BTC","ETH"... +} diff --git a/src/main/java/com/huobi/api/request/coin_futures/trade/ContractCancelallRequest.java b/src/main/java/com/huobi/api/request/coin_futures/trade/ContractCancelallRequest.java new file mode 100644 index 0000000..83e1a23 --- /dev/null +++ b/src/main/java/com/huobi/api/request/coin_futures/trade/ContractCancelallRequest.java @@ -0,0 +1,25 @@ +package com.huobi.api.request.coin_futures.trade; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + + +/** + * 全部撤单 + * 备注 + * 只传symbol,撤该该品种下所有周期的合约 + * 只要有contract_code,则撤销该code的合约 + * 只传symbol+contract_type, 则撤销二者拼接所成的合约订单 + */ +@Data +@AllArgsConstructor +@Builder +public class ContractCancelallRequest { + private String symbol;//"BTC","ETH"... + private String contractType;//合约类型 ("this_week":当周 "next_week":下周 "quarter":季度) + private String contractCode;//BTC180914 + private String direction; + private String offset; + +} diff --git a/src/main/java/com/huobi/api/request/coin_futures/trade/ContractHisordersExactRequest.java b/src/main/java/com/huobi/api/request/coin_futures/trade/ContractHisordersExactRequest.java new file mode 100644 index 0000000..267bb39 --- /dev/null +++ b/src/main/java/com/huobi/api/request/coin_futures/trade/ContractHisordersExactRequest.java @@ -0,0 +1,22 @@ +package com.huobi.api.request.coin_futures.trade; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +@AllArgsConstructor +@Builder +@Data +public class ContractHisordersExactRequest { + private String symbol; + private Integer tradeType; + private Integer type; + private String status; + private String contractCode; + private String orderPriceType; + private Long startTime; + private Long endTime; + private Long fromId; + private Integer size; + private String direct; +} diff --git a/src/main/java/com/huobi/api/request/coin_futures/trade/ContractHisordersExactV3Request.java b/src/main/java/com/huobi/api/request/coin_futures/trade/ContractHisordersExactV3Request.java new file mode 100644 index 0000000..57796fe --- /dev/null +++ b/src/main/java/com/huobi/api/request/coin_futures/trade/ContractHisordersExactV3Request.java @@ -0,0 +1,21 @@ +package com.huobi.api.request.coin_futures.trade; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +@AllArgsConstructor +@Data +@Builder +public class ContractHisordersExactV3Request { + private Long startTime; + private Long endTime; + private String direct; + private Long fromId; + private Integer type; + private String symbol; + private Integer tradeType; + private String status; + private String contract; + private String orderType; +} diff --git a/src/main/java/com/huobi/api/request/coin_futures/trade/ContractHisordersRequest.java b/src/main/java/com/huobi/api/request/coin_futures/trade/ContractHisordersRequest.java new file mode 100644 index 0000000..6645261 --- /dev/null +++ b/src/main/java/com/huobi/api/request/coin_futures/trade/ContractHisordersRequest.java @@ -0,0 +1,24 @@ +package com.huobi.api.request.coin_futures.trade; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +/** + * 获取合约历史委托 + */ +@Data +@AllArgsConstructor +@Builder +public class ContractHisordersRequest { + private String symbol;//品种代码 "BTC","ETH"... + private Integer tradeType;//交易类型 0:全部,1:买入开多,2: 卖出开空,3: 买入平空,4: 卖出平多,5: 卖出强平,6: 买入强平,7:交割平多,8: 交割平空 + private Integer type;//类型 1:所有订单,2:结束状态的订单 + private Integer status;//订单状态 0:全部,3:未成交, 4: 部分成交,5: 部分成交已撤单,6: 全部成交,7:已撤单 + private Integer createDate;//日期 7,90(7天或者90天) + private String contractCode;//合约代码 + private String orderType;//订单类型 1:限价单、3:对手价、4:闪电平仓、5:计划委托、6:post_only、7:最优5档、8:最优10档、9:最优20档、10:fok、11:ioc + private Integer pageIndex;//页码,不填默认第1页 1 + private Integer pageSize;//每页条数,不填默认20 20 不得多于50 + private String sortBy; +} diff --git a/src/main/java/com/huobi/api/request/coin_futures/trade/ContractHisordersV3Request.java b/src/main/java/com/huobi/api/request/coin_futures/trade/ContractHisordersV3Request.java new file mode 100644 index 0000000..be9db5c --- /dev/null +++ b/src/main/java/com/huobi/api/request/coin_futures/trade/ContractHisordersV3Request.java @@ -0,0 +1,22 @@ +package com.huobi.api.request.coin_futures.trade; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +@AllArgsConstructor +@Data +@Builder +public class ContractHisordersV3Request { + private String symbol;//品种代码 "BTC","ETH"... + private Integer tradeType;//交易类型 0:全部,1:买入开多,2: 卖出开空,3: 买入平空,4: 卖出平多,5: 卖出强平,6: 买入强平,7:交割平多,8: 交割平空 + private Integer type;//类型 1:所有订单,2:结束状态的订单 + private String status; + private String contract;//合约代码 + private String orderType;//订单类型 1:限价单、3:对手价、4:闪电平仓、5:计划委托、6:post_only、7:最优5档、8:最优10档、9:最优20档、10:fok、11:ioc + private String sortBy; + private Long startTime; + private Long endTime; + private String direct; + private Long fromId; +} diff --git a/src/main/java/com/huobi/api/request/coin_futures/trade/ContractMatchResultsExactV3Request.java b/src/main/java/com/huobi/api/request/coin_futures/trade/ContractMatchResultsExactV3Request.java new file mode 100644 index 0000000..0db4324 --- /dev/null +++ b/src/main/java/com/huobi/api/request/coin_futures/trade/ContractMatchResultsExactV3Request.java @@ -0,0 +1,18 @@ +package com.huobi.api.request.coin_futures.trade; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +@AllArgsConstructor +@Data +@Builder +public class ContractMatchResultsExactV3Request { + private Long startTime; + private Long endTime; + private String direct; + private Long fromId; + private Integer tradeType; + private String symbol; + private String contract; +} diff --git a/src/main/java/com/huobi/api/request/coin_futures/trade/ContractMatchResultsV3Request.java b/src/main/java/com/huobi/api/request/coin_futures/trade/ContractMatchResultsV3Request.java new file mode 100644 index 0000000..074acf2 --- /dev/null +++ b/src/main/java/com/huobi/api/request/coin_futures/trade/ContractMatchResultsV3Request.java @@ -0,0 +1,17 @@ +package com.huobi.api.request.coin_futures.trade; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +@AllArgsConstructor +@Data +@Builder +public class ContractMatchResultsV3Request { + private Long startTime; + private Long endTime; + private String direct; + private Long fromId; + private Integer tradeType; + private String symbol; +} diff --git a/src/main/java/com/huobi/api/request/coin_futures/trade/ContractMatchresultsExactRequest.java b/src/main/java/com/huobi/api/request/coin_futures/trade/ContractMatchresultsExactRequest.java new file mode 100644 index 0000000..f16838c --- /dev/null +++ b/src/main/java/com/huobi/api/request/coin_futures/trade/ContractMatchresultsExactRequest.java @@ -0,0 +1,19 @@ +package com.huobi.api.request.coin_futures.trade; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +@AllArgsConstructor +@Builder +@Data +public class ContractMatchresultsExactRequest { + private String symbol; + private Integer tradeType; + private String contractCode; + private Long startTime; + private Long endTime; + private Long fromId; + private Integer size; + private String direct; +} diff --git a/src/main/java/com/huobi/api/request/coin_futures/trade/ContractMatchresultsRequest.java b/src/main/java/com/huobi/api/request/coin_futures/trade/ContractMatchresultsRequest.java new file mode 100644 index 0000000..9e5c116 --- /dev/null +++ b/src/main/java/com/huobi/api/request/coin_futures/trade/ContractMatchresultsRequest.java @@ -0,0 +1,20 @@ +package com.huobi.api.request.coin_futures.trade; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +/** + * 获取历史成交记录 + */ +@Data +@AllArgsConstructor +@Builder +public class ContractMatchresultsRequest { + private String symbol;//品种代码 "BTC","ETH"... + private Integer tradeType;//交易类型 0:全部,1:买入开多,2: 卖出开空,3: 买入平空,4: 卖出平多,5: 卖出强平,6: 买入强平 + private Integer createDate;//日期 7,90(7天或者90天) + private String contractCode;//合约code + private Integer pageIndex;//页码,不填默认第1页 1 + private Integer pageSize;//每页条数,不填默认20 20 不得多于50 +} diff --git a/src/main/java/com/huobi/api/request/coin_futures/trade/ContractOpenordersRequest.java b/src/main/java/com/huobi/api/request/coin_futures/trade/ContractOpenordersRequest.java new file mode 100644 index 0000000..022416d --- /dev/null +++ b/src/main/java/com/huobi/api/request/coin_futures/trade/ContractOpenordersRequest.java @@ -0,0 +1,16 @@ +package com.huobi.api.request.coin_futures.trade; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +@Data +@AllArgsConstructor +@Builder +public class ContractOpenordersRequest { + private String symbol;//"BTC","ETH"... + private Integer pageIndex;//第几页,不填第一页 + private Integer pageSize;//不填默认20,不得多于50 + private String sortBy; + private Integer tradeType; +} diff --git a/src/main/java/com/huobi/api/request/coin_futures/trade/ContractOrderDetailRequest.java b/src/main/java/com/huobi/api/request/coin_futures/trade/ContractOrderDetailRequest.java new file mode 100644 index 0000000..7d5cacb --- /dev/null +++ b/src/main/java/com/huobi/api/request/coin_futures/trade/ContractOrderDetailRequest.java @@ -0,0 +1,20 @@ +package com.huobi.api.request.coin_futures.trade; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +/** + * 获取订单明细信息 + */ +@Data +@AllArgsConstructor +@Builder +public class ContractOrderDetailRequest { + private String symbol;//"BTC","ETH"... + private Long orderId;//订单id + private Long createdAt;//下单时间戳 + private Integer orderType;//订单类型,1:报单 、 2:撤单 、 3:强平、4:交割 + private Integer pageIndex;//第几页,不填第一页 + private Integer pageSize;//不填默认20,不得多于50 +} diff --git a/src/main/java/com/huobi/api/request/coin_futures/trade/ContractOrderInfoRequest.java b/src/main/java/com/huobi/api/request/coin_futures/trade/ContractOrderInfoRequest.java new file mode 100644 index 0000000..74f76f4 --- /dev/null +++ b/src/main/java/com/huobi/api/request/coin_futures/trade/ContractOrderInfoRequest.java @@ -0,0 +1,21 @@ +package com.huobi.api.request.coin_futures.trade; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +/** + * 获取合约订单信息 + * 备注: + * order_id和client_order_id都可以用来查询,同时只可以设置其中一种,如果设置了两种,默认以order_id来查询。周五交割结算后,会把结束状态的订单(5部分成交已撤单 6全部成交 7已撤单)删除掉。 + *

+ * client_order_id,24小时有效,超过24小时的订单根据client_order_id将查询不到。 + */ +@Data +@AllArgsConstructor +@Builder +public class ContractOrderInfoRequest { + private String orderId;//订单ID(多个订单ID中间以","分隔,一次最多允许查询50个订单) + private String clientOrderId;//客户订单ID(多个订单ID中间以","分隔,一次最多允许查询50个订单) + private String symbol;//"BTC","ETH"... +} diff --git a/src/main/java/com/huobi/api/request/coin_futures/trade/ContractOrderRequest.java b/src/main/java/com/huobi/api/request/coin_futures/trade/ContractOrderRequest.java new file mode 100644 index 0000000..4ae2342 --- /dev/null +++ b/src/main/java/com/huobi/api/request/coin_futures/trade/ContractOrderRequest.java @@ -0,0 +1,46 @@ +package com.huobi.api.request.coin_futures.trade; + +import com.huobi.api.enums.DirectionEnum; +import com.huobi.api.enums.OffsetEnum; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; + +/** + * 备注 + * 如果contract_code填了值,那就按照contract_code去下单,如果contract_code没有填值,则按照symbol+contract_type去下单。 + *

+ * 对手价下单price价格参数不用传,对手价下单价格是买一和卖一价,optimal_5:最优5档、optimal_10:最优10档、optimal_20:最优20档下单price价格参数不用传,"limit":限价,"post_only":只做maker单 需要传价格。 + *

+ * 开平方向 + * 开多:买入开多(direction用buy、offset用open) + *

+ * 平多:卖出平多(direction用sell、offset用close) + *

+ * 开空:卖出开空(direction用sell、offset用open) + *

+ * 平空:买入平空(direction用buy、offset用close) + */ +@Data +@AllArgsConstructor +@Builder +public class ContractOrderRequest { + private String symbol;//"BTC","ETH"... + private String contractType;//合约类型 ("this_week":当周 "next_week":下周 "quarter":季度) + private String contractCode;//BTC180914 + private Long clientOrderId;//客户自己填写和维护,必须为数字 + private BigDecimal price;//价格 + private Long volume;//委托数量(张) + private DirectionEnum direction;//"buy":买 "sell":卖 + private OffsetEnum offset;//"open":开 "close":平 + private Integer leverRate;//杠杆倍数[“开仓”若有10倍多单,就不能再下20倍多单] + private String orderPriceType;//订单报价类型 "limit":限价 "opponent":对手价 "post_only":只做maker单,post only下单只受用户持仓数量限制,optimal_5:最优5档、optimal_10:最优10档、optimal_20:最优20档 + private BigDecimal tpTriggerPrice; + private BigDecimal tpOrderPrice; + private String tpOrderPriceType; + private BigDecimal slTriggerPrice; + private BigDecimal slOrderPrice; + private String slOrderPriceType; +} diff --git a/src/main/java/com/huobi/api/request/coin_futures/trade/ContractRelationTpslOrderRequest.java b/src/main/java/com/huobi/api/request/coin_futures/trade/ContractRelationTpslOrderRequest.java new file mode 100644 index 0000000..47cdbfa --- /dev/null +++ b/src/main/java/com/huobi/api/request/coin_futures/trade/ContractRelationTpslOrderRequest.java @@ -0,0 +1,11 @@ +package com.huobi.api.request.coin_futures.trade; + +import lombok.Builder; +import lombok.Data; + +@Data +@Builder +public class ContractRelationTpslOrderRequest { + private String symbol; + private Long orderId; +} diff --git a/src/main/java/com/huobi/api/request/coin_futures/trade/ContractTpslCancelRequest.java b/src/main/java/com/huobi/api/request/coin_futures/trade/ContractTpslCancelRequest.java new file mode 100644 index 0000000..0a29018 --- /dev/null +++ b/src/main/java/com/huobi/api/request/coin_futures/trade/ContractTpslCancelRequest.java @@ -0,0 +1,11 @@ +package com.huobi.api.request.coin_futures.trade; + +import lombok.Builder; +import lombok.Data; + +@Builder +@Data +public class ContractTpslCancelRequest { + private String symbol; + private String orderId; +} diff --git a/src/main/java/com/huobi/api/request/coin_futures/trade/ContractTpslCancelallRequest.java b/src/main/java/com/huobi/api/request/coin_futures/trade/ContractTpslCancelallRequest.java new file mode 100644 index 0000000..73032e7 --- /dev/null +++ b/src/main/java/com/huobi/api/request/coin_futures/trade/ContractTpslCancelallRequest.java @@ -0,0 +1,13 @@ +package com.huobi.api.request.coin_futures.trade; + +import lombok.Builder; +import lombok.Data; + +@Builder +@Data +public class ContractTpslCancelallRequest { + private String symbol; + private String contractCode; + private String contractType; + private String direction; +} diff --git a/src/main/java/com/huobi/api/request/coin_futures/trade/ContractTpslHisordersRequset.java b/src/main/java/com/huobi/api/request/coin_futures/trade/ContractTpslHisordersRequset.java new file mode 100644 index 0000000..4e0e33b --- /dev/null +++ b/src/main/java/com/huobi/api/request/coin_futures/trade/ContractTpslHisordersRequset.java @@ -0,0 +1,16 @@ +package com.huobi.api.request.coin_futures.trade; + +import lombok.Builder; +import lombok.Data; + +@Builder +@Data +public class ContractTpslHisordersRequset { + private String symbol; + private String contractCode; + private String status; + private Long createDate; + private Integer pageIndex; + private Integer pageSize; + private String sortBy; +} diff --git a/src/main/java/com/huobi/api/request/coin_futures/trade/ContractTpslOpenordersRequest.java b/src/main/java/com/huobi/api/request/coin_futures/trade/ContractTpslOpenordersRequest.java new file mode 100644 index 0000000..8d5e0df --- /dev/null +++ b/src/main/java/com/huobi/api/request/coin_futures/trade/ContractTpslOpenordersRequest.java @@ -0,0 +1,15 @@ +package com.huobi.api.request.coin_futures.trade; + +import lombok.Builder; +import lombok.Data; + + +@Builder +@Data +public class ContractTpslOpenordersRequest { + private String symbol; + private String contractCode; + private Integer pageIndex; + private Integer pageSize; + private Integer trade_type; +} diff --git a/src/main/java/com/huobi/api/request/coin_futures/trade/ContractTpslOrderRequest.java b/src/main/java/com/huobi/api/request/coin_futures/trade/ContractTpslOrderRequest.java new file mode 100644 index 0000000..44f43fe --- /dev/null +++ b/src/main/java/com/huobi/api/request/coin_futures/trade/ContractTpslOrderRequest.java @@ -0,0 +1,25 @@ +package com.huobi.api.request.coin_futures.trade; + + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; + +@AllArgsConstructor +@Builder +@Data +public class ContractTpslOrderRequest { + private String symbol; + private String contractType; + private String contractCode; + private String direction; + private String volume; + private BigDecimal tpTriggerPrice; + private BigDecimal tpOrderPrice; + private String tpOrderPriceType; + private BigDecimal slTriggerPrice; + private BigDecimal slOrderPrice; + private String slOrderPriceType; +} diff --git a/src/main/java/com/huobi/api/request/coin_futures/trade/ContractTrackCancelRequest.java b/src/main/java/com/huobi/api/request/coin_futures/trade/ContractTrackCancelRequest.java new file mode 100644 index 0000000..0330b7d --- /dev/null +++ b/src/main/java/com/huobi/api/request/coin_futures/trade/ContractTrackCancelRequest.java @@ -0,0 +1,13 @@ +package com.huobi.api.request.coin_futures.trade; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +@AllArgsConstructor +@Builder +@Data +public class ContractTrackCancelRequest { + private String symbol; + private String orderId; +} diff --git a/src/main/java/com/huobi/api/request/coin_futures/trade/ContractTrackCancelallRequest.java b/src/main/java/com/huobi/api/request/coin_futures/trade/ContractTrackCancelallRequest.java new file mode 100644 index 0000000..b363f74 --- /dev/null +++ b/src/main/java/com/huobi/api/request/coin_futures/trade/ContractTrackCancelallRequest.java @@ -0,0 +1,17 @@ +package com.huobi.api.request.coin_futures.trade; + + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +@AllArgsConstructor +@Data +@Builder +public class ContractTrackCancelallRequest { + private String symbol; + private String contractType; + private String contractCode; + private String direction; + private String offset; +} diff --git a/src/main/java/com/huobi/api/request/coin_futures/trade/ContractTrackHisordersRequest.java b/src/main/java/com/huobi/api/request/coin_futures/trade/ContractTrackHisordersRequest.java new file mode 100644 index 0000000..dbd7db5 --- /dev/null +++ b/src/main/java/com/huobi/api/request/coin_futures/trade/ContractTrackHisordersRequest.java @@ -0,0 +1,20 @@ +package com.huobi.api.request.coin_futures.trade; + + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +@AllArgsConstructor +@Builder +@Data +public class ContractTrackHisordersRequest { + private String symbol; + private String contractCode; + private Integer tradeType; + private String status; + private Long createDate; + private Integer pageIndex; + private Integer pageSize; + private String sortBy; +} diff --git a/src/main/java/com/huobi/api/request/coin_futures/trade/ContractTrackOpenordersRequest.java b/src/main/java/com/huobi/api/request/coin_futures/trade/ContractTrackOpenordersRequest.java new file mode 100644 index 0000000..15d5d14 --- /dev/null +++ b/src/main/java/com/huobi/api/request/coin_futures/trade/ContractTrackOpenordersRequest.java @@ -0,0 +1,16 @@ +package com.huobi.api.request.coin_futures.trade; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +@AllArgsConstructor +@Builder +@Data +public class ContractTrackOpenordersRequest { + private String symbol; + private String contractCode; + private Integer tradeType; + private Integer pageIndex; + private Integer pageSize; +} diff --git a/src/main/java/com/huobi/api/request/coin_futures/trade/ContractTrackOrderRequest.java b/src/main/java/com/huobi/api/request/coin_futures/trade/ContractTrackOrderRequest.java new file mode 100644 index 0000000..4d0dc6f --- /dev/null +++ b/src/main/java/com/huobi/api/request/coin_futures/trade/ContractTrackOrderRequest.java @@ -0,0 +1,24 @@ +package com.huobi.api.request.coin_futures.trade; + + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; + +@AllArgsConstructor +@Builder +@Data +public class ContractTrackOrderRequest { + private String symbol; + private String contractType; + private String contractCode; + private String direction; + private String offset; + private Integer leverRate; + private BigDecimal volume; + private BigDecimal callbackRate; + private BigDecimal activePrice; + private String orderPriceType; +} diff --git a/src/main/java/com/huobi/api/request/coin_futures/trade/ContractTriggerCancelRequest.java b/src/main/java/com/huobi/api/request/coin_futures/trade/ContractTriggerCancelRequest.java new file mode 100644 index 0000000..49bb340 --- /dev/null +++ b/src/main/java/com/huobi/api/request/coin_futures/trade/ContractTriggerCancelRequest.java @@ -0,0 +1,13 @@ +package com.huobi.api.request.coin_futures.trade; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +@AllArgsConstructor +@Data +@Builder +public class ContractTriggerCancelRequest { + private String symbol; + private String orderId; +} diff --git a/src/main/java/com/huobi/api/request/coin_futures/trade/ContractTriggerCancelallRequest.java b/src/main/java/com/huobi/api/request/coin_futures/trade/ContractTriggerCancelallRequest.java new file mode 100644 index 0000000..4c4f22f --- /dev/null +++ b/src/main/java/com/huobi/api/request/coin_futures/trade/ContractTriggerCancelallRequest.java @@ -0,0 +1,16 @@ +package com.huobi.api.request.coin_futures.trade; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +@AllArgsConstructor +@Data +@Builder +public class ContractTriggerCancelallRequest { + private String symbol; + private String contractCode; + private String contractType; + private String direction; + private String offset; +} diff --git a/src/main/java/com/huobi/api/request/coin_futures/trade/ContractTriggerHisordersRequest.java b/src/main/java/com/huobi/api/request/coin_futures/trade/ContractTriggerHisordersRequest.java new file mode 100644 index 0000000..58e41d6 --- /dev/null +++ b/src/main/java/com/huobi/api/request/coin_futures/trade/ContractTriggerHisordersRequest.java @@ -0,0 +1,19 @@ +package com.huobi.api.request.coin_futures.trade; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +@AllArgsConstructor +@Builder +@Data +public class ContractTriggerHisordersRequest { + private String symbol; + private String contractCode; + private Integer tradeType; + private String status; + private Integer createDate; + private Integer pageIndex; + private Integer pageSize; + private String sortBy; +} \ No newline at end of file diff --git a/src/main/java/com/huobi/api/request/coin_futures/trade/ContractTriggerOpenordersRequest.java b/src/main/java/com/huobi/api/request/coin_futures/trade/ContractTriggerOpenordersRequest.java new file mode 100644 index 0000000..ab53a69 --- /dev/null +++ b/src/main/java/com/huobi/api/request/coin_futures/trade/ContractTriggerOpenordersRequest.java @@ -0,0 +1,16 @@ +package com.huobi.api.request.coin_futures.trade; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +@AllArgsConstructor +@Data +@Builder +public class ContractTriggerOpenordersRequest { + private String symbol; + private String contractCode; + private Integer pageIndex; + private Integer pageSize; + private Integer trade_type; +} diff --git a/src/main/java/com/huobi/api/request/coin_futures/trade/ContractTriggerOrderRequest.java b/src/main/java/com/huobi/api/request/coin_futures/trade/ContractTriggerOrderRequest.java new file mode 100644 index 0000000..42f3d69 --- /dev/null +++ b/src/main/java/com/huobi/api/request/coin_futures/trade/ContractTriggerOrderRequest.java @@ -0,0 +1,26 @@ +package com.huobi.api.request.coin_futures.trade; + +import com.huobi.api.enums.DirectionEnum; +import com.huobi.api.enums.OffsetEnum; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +@AllArgsConstructor +@Builder +public class ContractTriggerOrderRequest { + private String symbol ; + private String contractType; + private String contractCode; + private String triggerType; + private BigDecimal triggerPrice; + private BigDecimal orderPrice; + private String orderPriceType; + private Long volume; + private DirectionEnum direction; + private OffsetEnum offset; + private Integer leverRate; +} diff --git a/src/main/java/com/huobi/api/request/coin_futures/trade/LightningClosePositionRequest.java b/src/main/java/com/huobi/api/request/coin_futures/trade/LightningClosePositionRequest.java new file mode 100644 index 0000000..cddfa8d --- /dev/null +++ b/src/main/java/com/huobi/api/request/coin_futures/trade/LightningClosePositionRequest.java @@ -0,0 +1,21 @@ +package com.huobi.api.request.coin_futures.trade; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +/** + * 闪电平仓下单 + */ +@Data +@AllArgsConstructor +@Builder +public class LightningClosePositionRequest { + private String symbol;//品种代码 "BTC","ETH"... + private String contractType;// 合约类型 “this_week”:当周,“next_week”:次周,“quarter”:季度 + private String contractCode;//合约代码 BTC190903 + private Integer volume;//委托数量(张) + private String direction;//“buy”:买,“sell”:卖 + private Long clientOrderId;//(API)客户自己填写和维护,必须保持唯一 + private String orderPriceType; +} diff --git a/src/main/java/com/huobi/api/request/coin_futures/transfer/AccountTransferRequest.java b/src/main/java/com/huobi/api/request/coin_futures/transfer/AccountTransferRequest.java new file mode 100644 index 0000000..2841c92 --- /dev/null +++ b/src/main/java/com/huobi/api/request/coin_futures/transfer/AccountTransferRequest.java @@ -0,0 +1,18 @@ +package com.huobi.api.request.coin_futures.transfer; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; + +@AllArgsConstructor +@Data +@Builder +public class AccountTransferRequest { + private String from; + private String to; + private String currency; + private BigDecimal amount; + private String marginAccount; +} diff --git a/src/main/java/com/huobi/api/request/coin_swap/account/LinearSwapBasisRequest.java b/src/main/java/com/huobi/api/request/coin_swap/account/LinearSwapBasisRequest.java new file mode 100644 index 0000000..ca286b3 --- /dev/null +++ b/src/main/java/com/huobi/api/request/coin_swap/account/LinearSwapBasisRequest.java @@ -0,0 +1,15 @@ +package com.huobi.api.request.coin_swap.account; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +@AllArgsConstructor +@Data +@Builder +public class LinearSwapBasisRequest { + private String contractCode;// 合约代码 如"BTC-USDT" + private String period;//周期 1min,5min, 15min, 30min, 60min,4hour,1day,1week,1mon + private String basisPriceType;//基差价格类型,表示在周期内计算基差使用的价格类型, 不填,默认使用开盘价 开盘价:open,收盘价:close,最高价:high,最低价:low,平均价=(最高价+最低价)/2:average + private Integer size;//基差获取数量,默认 150 [1,2000] +} diff --git a/src/main/java/com/huobi/api/request/coin_swap/account/SwapFinancialRecordExactRequest.java b/src/main/java/com/huobi/api/request/coin_swap/account/SwapFinancialRecordExactRequest.java new file mode 100644 index 0000000..e282ecc --- /dev/null +++ b/src/main/java/com/huobi/api/request/coin_swap/account/SwapFinancialRecordExactRequest.java @@ -0,0 +1,18 @@ +package com.huobi.api.request.coin_swap.account; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +@Builder +@AllArgsConstructor +@Data +public class SwapFinancialRecordExactRequest { + private String contractCode; + private String type; + private Long startTime; + private Long endTime; + private Long fromId; + private Integer size; + private String direct; +} diff --git a/src/main/java/com/huobi/api/request/coin_swap/account/SwapFinancialRecordExactV3Request.java b/src/main/java/com/huobi/api/request/coin_swap/account/SwapFinancialRecordExactV3Request.java new file mode 100644 index 0000000..d6cbdd3 --- /dev/null +++ b/src/main/java/com/huobi/api/request/coin_swap/account/SwapFinancialRecordExactV3Request.java @@ -0,0 +1,17 @@ +package com.huobi.api.request.coin_swap.account; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +@Builder +@AllArgsConstructor +@Data +public class SwapFinancialRecordExactV3Request { + private Long startTime; + private Long endTime; + private String direct; + private Long fromId; + private String type; + private String contract; +} diff --git a/src/main/java/com/huobi/api/request/coin_swap/account/SwapFinancialRecordRequest.java b/src/main/java/com/huobi/api/request/coin_swap/account/SwapFinancialRecordRequest.java new file mode 100644 index 0000000..9dd23a7 --- /dev/null +++ b/src/main/java/com/huobi/api/request/coin_swap/account/SwapFinancialRecordRequest.java @@ -0,0 +1,16 @@ +package com.huobi.api.request.coin_swap.account; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +@Data +@AllArgsConstructor +@Builder +public class SwapFinancialRecordRequest { + private String contractCode;//保证金账户 "BTC-USDT"... + private String type;//不填查询全部类型,【查询多类型中间用,隔开】 平多:3,平空:4,开仓手续费-吃单:5,开仓手续费-挂单:6,平仓手续费-吃单:7,平仓手续费-挂单:8,交割平多:9,交割平空:10,交割手续费:11,强制平多:12,强制平空:13,从币币转入:14,转出至币币:15,结算未实现盈亏-多仓:16,结算未实现盈亏-空仓:17,穿仓分摊:19,系统:26,活动奖励:28,返利:29,资金费-收入:30,资金费-支出:31, 转出到子账号合约账户: 34, 从子账号合约账户转入:35, 转出到母账号合约账户: 36, 从母账号合约账户转入: 37,从其他保证金账户转入:38,转出到其他保证金账户:39 + private Integer createDate;//可随意输入正整数,如果参数超过90则默认查询90天的数据,默认7 + private Integer pageIndex;//第几页,不填默认第一页 + private Integer pageSize;//不填默认20,不得多于50 +} diff --git a/src/main/java/com/huobi/api/request/coin_swap/account/SwapFinancialRecordV3Request.java b/src/main/java/com/huobi/api/request/coin_swap/account/SwapFinancialRecordV3Request.java new file mode 100644 index 0000000..23fed6d --- /dev/null +++ b/src/main/java/com/huobi/api/request/coin_swap/account/SwapFinancialRecordV3Request.java @@ -0,0 +1,17 @@ +package com.huobi.api.request.coin_swap.account; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +@Builder +@AllArgsConstructor +@Data +public class SwapFinancialRecordV3Request { + private Long startTime; + private Long endTime; + private String direct; + private Long fromId; + private String type; + private String contract; +} diff --git a/src/main/java/com/huobi/api/request/coin_swap/account/SwapLiquidationOrdersRequest.java b/src/main/java/com/huobi/api/request/coin_swap/account/SwapLiquidationOrdersRequest.java new file mode 100644 index 0000000..8d28ba4 --- /dev/null +++ b/src/main/java/com/huobi/api/request/coin_swap/account/SwapLiquidationOrdersRequest.java @@ -0,0 +1,16 @@ +package com.huobi.api.request.coin_swap.account; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +@Data +@AllArgsConstructor +@Builder +public class SwapLiquidationOrdersRequest { + private String contractCode;//合约代码 "BTC-USDT" ... + private Integer tradeType;//合约代码 "BTC-USDT" ... + private Integer createDate;//日期 7,90(7天或者90天) + private Integer pageIndex;//页码,不填默认第1页 + private Integer pageSize;//不填默认20,不得多于50 +} diff --git a/src/main/java/com/huobi/api/request/coin_swap/account/SwapMarketHistoryKlineRequest.java b/src/main/java/com/huobi/api/request/coin_swap/account/SwapMarketHistoryKlineRequest.java new file mode 100644 index 0000000..18300b1 --- /dev/null +++ b/src/main/java/com/huobi/api/request/coin_swap/account/SwapMarketHistoryKlineRequest.java @@ -0,0 +1,16 @@ +package com.huobi.api.request.coin_swap.account; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +@Data +@AllArgsConstructor +@Builder +public class SwapMarketHistoryKlineRequest { + private String contractCode;//合约代码 "BTC-USDT" ... + private String period;//K线类型 1min, 5min, 15min, 30min, 60min,4hour,1day,1week,1mon + private Integer size;//获取数量,默认150 [1,2000] + private Integer from;//开始时间戳 10位 单位S + private Integer to;//结束时间戳 10位 单位S +} diff --git a/src/main/java/com/huobi/api/request/coin_swap/account/SwapMasterSubTransferRecordRequest.java b/src/main/java/com/huobi/api/request/coin_swap/account/SwapMasterSubTransferRecordRequest.java new file mode 100644 index 0000000..640ae1a --- /dev/null +++ b/src/main/java/com/huobi/api/request/coin_swap/account/SwapMasterSubTransferRecordRequest.java @@ -0,0 +1,16 @@ +package com.huobi.api.request.coin_swap.account; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +@Data +@AllArgsConstructor +@Builder +public class SwapMasterSubTransferRecordRequest { + private String contractCode;// 保证金账户 "BTC-USDT"... + private String transferType;// 划转类型,不填查询全部类型,【查询多类型中间用,隔开】 转出到子账号合约账户:34, 从子账号合约账户转入:35 + private Integer createDate;// 可随意输入正整数,如果参数超过90则默认查询90天的数据 + private Integer pageIndex;// 页码,不填默认第1页 + private Integer pageSize;// 不填默认20,不得多于50 +} diff --git a/src/main/java/com/huobi/api/request/coin_swap/account/SwapMasterSubTransferRequest.java b/src/main/java/com/huobi/api/request/coin_swap/account/SwapMasterSubTransferRequest.java new file mode 100644 index 0000000..d9a8245 --- /dev/null +++ b/src/main/java/com/huobi/api/request/coin_swap/account/SwapMasterSubTransferRequest.java @@ -0,0 +1,20 @@ +package com.huobi.api.request.coin_swap.account; + + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +@AllArgsConstructor +@Builder +public class SwapMasterSubTransferRequest { + private Long subUid;//子账号uid + private String contractCode;//品种代码 + private BigDecimal amount;//划转金额 + private String type;//划转类型 master_to_sub:母账户划转到子账户, sub_to_master:子账户划转到母账户 + private Long clientOrderId; + +} diff --git a/src/main/java/com/huobi/api/request/coin_swap/account/SwapUserSettlementRecordsRequest.java b/src/main/java/com/huobi/api/request/coin_swap/account/SwapUserSettlementRecordsRequest.java new file mode 100644 index 0000000..e31581d --- /dev/null +++ b/src/main/java/com/huobi/api/request/coin_swap/account/SwapUserSettlementRecordsRequest.java @@ -0,0 +1,16 @@ +package com.huobi.api.request.coin_swap.account; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +@AllArgsConstructor +@Builder +@Data +public class SwapUserSettlementRecordsRequest { + private String contractCode; + private Long startTime; + private Long endTime; + private Integer pageIndex; + private Integer pageSize; +} diff --git a/src/main/java/com/huobi/api/request/coin_swap/market/SwapSettlementRecordsRequest.java b/src/main/java/com/huobi/api/request/coin_swap/market/SwapSettlementRecordsRequest.java new file mode 100644 index 0000000..a1c6fc6 --- /dev/null +++ b/src/main/java/com/huobi/api/request/coin_swap/market/SwapSettlementRecordsRequest.java @@ -0,0 +1,18 @@ +package com.huobi.api.request.coin_swap.market; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +@AllArgsConstructor +@Data +@Builder +public class SwapSettlementRecordsRequest { + + private String contractCode; + private Long startTime; + private Long endTime; + private Integer pageIndex; + private Integer pageSize; +} diff --git a/src/main/java/com/huobi/api/request/coin_swap/trade/SwapBatchorderRequest.java b/src/main/java/com/huobi/api/request/coin_swap/trade/SwapBatchorderRequest.java new file mode 100644 index 0000000..cd9c3c6 --- /dev/null +++ b/src/main/java/com/huobi/api/request/coin_swap/trade/SwapBatchorderRequest.java @@ -0,0 +1,20 @@ +package com.huobi.api.request.coin_swap.trade; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.util.List; + +/** + * 备注 + *"limit":限价,"post_only":只做maker单,ioc:IOC订单,fok:FOK订单 这四种类型需要传价格price,其他订单报价类型不需要传价格price。 + *一次最多允许10个订单。 + */ +@Data +@AllArgsConstructor +@Builder +public class SwapBatchorderRequest { + private List list; + +} diff --git a/src/main/java/com/huobi/api/request/coin_swap/trade/SwapCancelAfterRequest.java b/src/main/java/com/huobi/api/request/coin_swap/trade/SwapCancelAfterRequest.java new file mode 100644 index 0000000..e88e03e --- /dev/null +++ b/src/main/java/com/huobi/api/request/coin_swap/trade/SwapCancelAfterRequest.java @@ -0,0 +1,13 @@ +package com.huobi.api.request.coin_swap.trade; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +@AllArgsConstructor +@Data +@Builder +public class SwapCancelAfterRequest { + private Integer onOff; + private Integer timeOut; +} diff --git a/src/main/java/com/huobi/api/request/coin_swap/trade/SwapCancelRequest.java b/src/main/java/com/huobi/api/request/coin_swap/trade/SwapCancelRequest.java new file mode 100644 index 0000000..3e2a5e8 --- /dev/null +++ b/src/main/java/com/huobi/api/request/coin_swap/trade/SwapCancelRequest.java @@ -0,0 +1,22 @@ +package com.huobi.api.request.coin_swap.trade; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + + +/** + * 撤销订单 + * 备注: + * order_id和client_order_id都可以用来撤单,同时只可以设置其中一种,如果设置了两种,默认以order_id来撤单。 + * + * 撤单接口返回结果只代表撤单命令发送成功,建议根据订单查询接口查询订单的状态来确定订单是否已真正撤销。 + */ +@Data +@AllArgsConstructor +@Builder +public class SwapCancelRequest { + private String orderId;//订单ID(多个订单ID中间以","分隔,一次最多允许撤消10个订单) + private String clientOrderId;//客户订单ID(多个订单ID中间以","分隔,一次最多允许撤消10个订单) + private String contractCode;//合约代码 "BTC-USDT" ... +} diff --git a/src/main/java/com/huobi/api/request/coin_swap/trade/SwapCancelallRequest.java b/src/main/java/com/huobi/api/request/coin_swap/trade/SwapCancelallRequest.java new file mode 100644 index 0000000..ef9a53c --- /dev/null +++ b/src/main/java/com/huobi/api/request/coin_swap/trade/SwapCancelallRequest.java @@ -0,0 +1,21 @@ +package com.huobi.api.request.coin_swap.trade; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + + +/** + * 全部撤单 + * 备注 + * 只要有contract_code,则撤销该code的合约 + */ +@Data +@AllArgsConstructor +@Builder +public class SwapCancelallRequest { + private String contractCode;//合约代码 "BTC-USDT" + private String direction; + private String offset; + +} diff --git a/src/main/java/com/huobi/api/request/coin_swap/trade/SwapHisordersExectRequest.java b/src/main/java/com/huobi/api/request/coin_swap/trade/SwapHisordersExectRequest.java new file mode 100644 index 0000000..fa74a0b --- /dev/null +++ b/src/main/java/com/huobi/api/request/coin_swap/trade/SwapHisordersExectRequest.java @@ -0,0 +1,21 @@ +package com.huobi.api.request.coin_swap.trade; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +@AllArgsConstructor +@Builder +@Data +public class SwapHisordersExectRequest { + private String contractCode; + private Integer tradeType; + private Integer type; + private String status; + private String orderPriceType; + private Long startTime; + private Long endTime; + private Long fromId; + private Integer size; + private String direct; +} diff --git a/src/main/java/com/huobi/api/request/coin_swap/trade/SwapHisordersRequest.java b/src/main/java/com/huobi/api/request/coin_swap/trade/SwapHisordersRequest.java new file mode 100644 index 0000000..6d04d60 --- /dev/null +++ b/src/main/java/com/huobi/api/request/coin_swap/trade/SwapHisordersRequest.java @@ -0,0 +1,22 @@ +package com.huobi.api.request.coin_swap.trade; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +/** + * 获取合约历史委托 + */ +@Data +@AllArgsConstructor +@Builder +public class SwapHisordersRequest { + private Integer tradeType;//交易类型 0:全部,1:买入开多,2: 卖出开空,3: 买入平空,4: 卖出平多,5: 卖出强平,6: 买入强平,7:交割平多,8: 交割平空, 11:减仓平多,12:减仓平空 + private Integer type;//类型 1:所有订单,2:结束状态的订单 + private Integer status;//订单状态 0:全部,3:未成交, 4: 部分成交,5: 部分成交已撤单,6: 全部成交,7:已撤单 + private Integer createDate;//日期 可随意输入正整数,如果参数超过90则默认查询90天的数据 + private String contractCode;//合约代码 支持大小写,"BTC-USDT" ... + private Integer pageIndex;//页码,不填默认第1页 1 + private Integer pageSize;//每页条数,不填默认20 20 不得多于50 + private String sortBy; +} diff --git a/src/main/java/com/huobi/api/request/coin_swap/trade/SwapLightningClosePositionRequest.java b/src/main/java/com/huobi/api/request/coin_swap/trade/SwapLightningClosePositionRequest.java new file mode 100644 index 0000000..b2b61d2 --- /dev/null +++ b/src/main/java/com/huobi/api/request/coin_swap/trade/SwapLightningClosePositionRequest.java @@ -0,0 +1,19 @@ +package com.huobi.api.request.coin_swap.trade; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +/** + * 闪电平仓下单 + */ +@Data +@AllArgsConstructor +@Builder +public class SwapLightningClosePositionRequest { + private String contractCode;//合约代码 "BTC-USDT"... + private Integer volume;//委托数量(张) + private String direction;//“buy”:买,“sell”:卖 + private Long clientOrderId;//(API)客户自己填写和维护,必须保持唯一 + private String orderPriceType;//订单报价类型 不填,默认为“闪电平仓”,"lightning":闪电平仓,"lightning_ioc":闪电平仓-IOC,"lightning_fok":闪电平仓-FOK +} diff --git a/src/main/java/com/huobi/api/request/coin_swap/trade/SwapMatchresultsExactRequest.java b/src/main/java/com/huobi/api/request/coin_swap/trade/SwapMatchresultsExactRequest.java new file mode 100644 index 0000000..e76bb5e --- /dev/null +++ b/src/main/java/com/huobi/api/request/coin_swap/trade/SwapMatchresultsExactRequest.java @@ -0,0 +1,19 @@ +package com.huobi.api.request.coin_swap.trade; + + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +@AllArgsConstructor +@Data +@Builder +public class SwapMatchresultsExactRequest { + private String contractCode; + private Integer tradeType; + private Long startTime; + private Long endTime; + private Long fromId; + private Integer size; + private String direct; +} diff --git a/src/main/java/com/huobi/api/request/coin_swap/trade/SwapMatchresultsRequest.java b/src/main/java/com/huobi/api/request/coin_swap/trade/SwapMatchresultsRequest.java new file mode 100644 index 0000000..89d5692 --- /dev/null +++ b/src/main/java/com/huobi/api/request/coin_swap/trade/SwapMatchresultsRequest.java @@ -0,0 +1,19 @@ +package com.huobi.api.request.coin_swap.trade; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +/** + * 获取历史成交记录 + */ +@Data +@AllArgsConstructor +@Builder +public class SwapMatchresultsRequest { + private Integer tradeType;//交易类型 0:全部,1:买入开多,2: 卖出开空,3: 买入平空,4: 卖出平多,5: 卖出强平,6: 买入强平 + private Integer createDate;//日期 可随意输入正整数,如果参数超过90则默认查询90天的数据 + private String contractCode;//合约代码 "BTC-USDT"... + private Integer pageIndex;//页码,不填默认第1页 1 + private Integer pageSize;//每页条数,不填默认20 20 不得多于50 +} diff --git a/src/main/java/com/huobi/api/request/coin_swap/trade/SwapOpenordersRequest.java b/src/main/java/com/huobi/api/request/coin_swap/trade/SwapOpenordersRequest.java new file mode 100644 index 0000000..6dd9ab9 --- /dev/null +++ b/src/main/java/com/huobi/api/request/coin_swap/trade/SwapOpenordersRequest.java @@ -0,0 +1,20 @@ +package com.huobi.api.request.coin_swap.trade; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +/** + * 获取用户的当前未成交委托 + */ + +@Data +@AllArgsConstructor +@Builder +public class SwapOpenordersRequest { + private String contractCode;//合约代码 "BTC-USDT" ... + private Integer pageIndex;//第几页,不填第一页 + private Integer pageSize;//不填默认20,不得多于50 + private String sortBy; + private Integer tradeType; +} diff --git a/src/main/java/com/huobi/api/request/coin_swap/trade/SwapOrderDetailRequest.java b/src/main/java/com/huobi/api/request/coin_swap/trade/SwapOrderDetailRequest.java new file mode 100644 index 0000000..fef839c --- /dev/null +++ b/src/main/java/com/huobi/api/request/coin_swap/trade/SwapOrderDetailRequest.java @@ -0,0 +1,28 @@ +package com.huobi.api.request.coin_swap.trade; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +/** + * 获取订单明细信息 + * + * 获取订单明细接口查询撤单数据时,如果传“created_at”和“order_type”参数则能查询最近90天数据,如果不传“created_at”和“order_type”参数只能查询到最近24小时数据。 + * + * order_id返回是18位,nodejs和javascript默认解析18有问题,nodejs和javascript里面JSON.parse默认是int,超过18位的数字用json-bigint的包解析。 + * + * created_at使用13位long类型时间戳(包含毫秒时间),如果输入准确的时间戳,查询性能将会提升。例如:"2019/10/18 10:26:22"转换为时间戳为:1571365582123。也可以直接从contract_order下单接口返回的ts中获取时间戳查询对应的订单。 + * + * + */ +@Data +@AllArgsConstructor +@Builder +public class SwapOrderDetailRequest { + private String contractCode;//合约代码 "BTC-USDT"... + private Long orderId;//订单id + private Long createdAt;//下单时间戳 + private Integer orderType;//订单类型,1:报单 、 2:撤单 、4:交割 + private Integer pageIndex;//第几页,不填第一页 + private Integer pageSize;//不填默认20,不得多于50 +} diff --git a/src/main/java/com/huobi/api/request/coin_swap/trade/SwapOrderInfoRequest.java b/src/main/java/com/huobi/api/request/coin_swap/trade/SwapOrderInfoRequest.java new file mode 100644 index 0000000..d82b3c2 --- /dev/null +++ b/src/main/java/com/huobi/api/request/coin_swap/trade/SwapOrderInfoRequest.java @@ -0,0 +1,21 @@ +package com.huobi.api.request.coin_swap.trade; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +/** + * 获取合约订单信息 + * 备注: + * order_id和client_order_id都可以用来查询,同时只可以设置其中一种,如果设置了两种,默认以order_id来查询。周五交割结算后,会把结束状态的订单(5部分成交已撤单 6全部成交 7已撤单)删除掉。 + *

+ * client_order_id,24小时有效,超过24小时的订单根据client_order_id将查询不到。 + */ +@Data +@AllArgsConstructor +@Builder +public class SwapOrderInfoRequest { + private String orderId;//订单ID(多个订单ID中间以","分隔,一次最多允许查询50个订单) + private String clientOrderId;//客户订单ID(多个订单ID中间以","分隔,一次最多允许查询50个订单) + private String contractCode;//合约代码 "BTC-USDT"... +} diff --git a/src/main/java/com/huobi/api/request/coin_swap/trade/SwapOrderRequest.java b/src/main/java/com/huobi/api/request/coin_swap/trade/SwapOrderRequest.java new file mode 100644 index 0000000..e015b85 --- /dev/null +++ b/src/main/java/com/huobi/api/request/coin_swap/trade/SwapOrderRequest.java @@ -0,0 +1,45 @@ +package com.huobi.api.request.coin_swap.trade; + +import com.huobi.api.enums.DirectionEnum; +import com.huobi.api.enums.OffsetEnum; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; + +/** + * 合约下单 + * + * 备注 + * + * "limit":限价,"post_only":只做maker单,ioc:IOC订单,fok:FOK订单 这四种类型需要传价格price,其他订单报价类型不需要传价格price。 + * + * 开平方向 + * 开多:买入开多(direction用buy、offset用open) + * + * 平多:卖出平多(direction用sell、offset用close) + * + * 开空:卖出开空(direction用sell、offset用open) + * + * 平空:买入平空(direction用buy、offset用close) + */ +@Data +@AllArgsConstructor +@Builder +public class SwapOrderRequest { + private String contractCode;//合约代码 "BTC-USDT"... + private Long clientOrderId;//客户自己填写和维护,必须为数字 + private BigDecimal price;//价格 + private Long volume;//委托数量(张) + private DirectionEnum direction;//"buy":买 "sell":卖 + private OffsetEnum offset;//"open":开 "close":平 + private Integer leverRate;//杠杆倍数[“开仓”若有10倍多单,就不能再下20倍多单] + private String orderPriceType;//订单报价类型 "limit":限价 "opponent":对手价 "post_only":只做maker单,post only下单只受用户持仓数量限制,optimal_5:最优5档、optimal_10:最优10档、optimal_20:最优20档,ioc:IOC订单,fok:FOK订单, "opponent_ioc": 对手价-IOC下单,"optimal_5_ioc": 最优5档-IOC下单,"optimal_10_ioc": 最优10档-IOC下单,"optimal_20_ioc":最优20档-IOC下单,"opponent_fok": 对手价-FOK下单,"optimal_5_fok":最优5档-FOK下单,"optimal_10_fok":最优10档-FOK下单,"optimal_20_fok":最优20档-FOK下单 + private BigDecimal tpTriggerPrice; + private BigDecimal tpOrderPrice; + private String tpOrderPriceType; + private BigDecimal slTriggerPrice; + private BigDecimal slOrderPrice; + private String slOrderPriceType; +} diff --git a/src/main/java/com/huobi/api/request/coin_swap/trade/SwapRelationTpslOrderRequest.java b/src/main/java/com/huobi/api/request/coin_swap/trade/SwapRelationTpslOrderRequest.java new file mode 100644 index 0000000..32db956 --- /dev/null +++ b/src/main/java/com/huobi/api/request/coin_swap/trade/SwapRelationTpslOrderRequest.java @@ -0,0 +1,11 @@ +package com.huobi.api.request.coin_swap.trade; + +import lombok.Builder; +import lombok.Data; + +@Data +@Builder +public class SwapRelationTpslOrderRequest { + private String contractCode; + private Long orderId; +} diff --git a/src/main/java/com/huobi/api/request/coin_swap/trade/SwapTpslCancelRequest.java b/src/main/java/com/huobi/api/request/coin_swap/trade/SwapTpslCancelRequest.java new file mode 100644 index 0000000..3b6f58c --- /dev/null +++ b/src/main/java/com/huobi/api/request/coin_swap/trade/SwapTpslCancelRequest.java @@ -0,0 +1,11 @@ +package com.huobi.api.request.coin_swap.trade; + +import lombok.Builder; +import lombok.Data; + +@Builder +@Data +public class SwapTpslCancelRequest { + private String contractCode; + private String orderId; +} diff --git a/src/main/java/com/huobi/api/request/coin_swap/trade/SwapTpslCancelallRequest.java b/src/main/java/com/huobi/api/request/coin_swap/trade/SwapTpslCancelallRequest.java new file mode 100644 index 0000000..52be598 --- /dev/null +++ b/src/main/java/com/huobi/api/request/coin_swap/trade/SwapTpslCancelallRequest.java @@ -0,0 +1,11 @@ +package com.huobi.api.request.coin_swap.trade; + +import lombok.Builder; +import lombok.Data; + +@Builder +@Data +public class SwapTpslCancelallRequest { + private String contractCode; + private String direction; +} diff --git a/src/main/java/com/huobi/api/request/coin_swap/trade/SwapTpslHisordersRequset.java b/src/main/java/com/huobi/api/request/coin_swap/trade/SwapTpslHisordersRequset.java new file mode 100644 index 0000000..a38a179 --- /dev/null +++ b/src/main/java/com/huobi/api/request/coin_swap/trade/SwapTpslHisordersRequset.java @@ -0,0 +1,15 @@ +package com.huobi.api.request.coin_swap.trade; + +import lombok.Builder; +import lombok.Data; + +@Builder +@Data +public class SwapTpslHisordersRequset { + private String contractCode; + private String status; + private Long createDate; + private Integer pageIndex; + private Integer pageSize; + private String sortBy; +} diff --git a/src/main/java/com/huobi/api/request/coin_swap/trade/SwapTpslOpenordersRequest.java b/src/main/java/com/huobi/api/request/coin_swap/trade/SwapTpslOpenordersRequest.java new file mode 100644 index 0000000..568e731 --- /dev/null +++ b/src/main/java/com/huobi/api/request/coin_swap/trade/SwapTpslOpenordersRequest.java @@ -0,0 +1,14 @@ +package com.huobi.api.request.coin_swap.trade; + +import lombok.Builder; +import lombok.Data; + + +@Builder +@Data +public class SwapTpslOpenordersRequest { + private String contractCode; + private Integer pageIndex; + private Integer pageSize; + private Integer tradeType; +} diff --git a/src/main/java/com/huobi/api/request/coin_swap/trade/SwapTpslOrderRequest.java b/src/main/java/com/huobi/api/request/coin_swap/trade/SwapTpslOrderRequest.java new file mode 100644 index 0000000..be74aa4 --- /dev/null +++ b/src/main/java/com/huobi/api/request/coin_swap/trade/SwapTpslOrderRequest.java @@ -0,0 +1,20 @@ +package com.huobi.api.request.coin_swap.trade; + +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; + +@Builder +@Data +public class SwapTpslOrderRequest { + private String contractCode; + private String direction; + private BigDecimal volume; + private BigDecimal tpTriggerPrice; + private BigDecimal tpOrderPrice; + private String tpOrderPriceType; + private BigDecimal slTriggerPrice; + private BigDecimal slOrderPrice; + private String slOrderPriceType; +} diff --git a/src/main/java/com/huobi/api/request/coin_swap/trade/SwapTrackCancelRequest.java b/src/main/java/com/huobi/api/request/coin_swap/trade/SwapTrackCancelRequest.java new file mode 100644 index 0000000..1f5da2e --- /dev/null +++ b/src/main/java/com/huobi/api/request/coin_swap/trade/SwapTrackCancelRequest.java @@ -0,0 +1,13 @@ +package com.huobi.api.request.coin_swap.trade; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +@AllArgsConstructor +@Builder +@Data +public class SwapTrackCancelRequest { + private String contractCode; + private String orderId; +} diff --git a/src/main/java/com/huobi/api/request/coin_swap/trade/SwapTrackCancelallRequest.java b/src/main/java/com/huobi/api/request/coin_swap/trade/SwapTrackCancelallRequest.java new file mode 100644 index 0000000..9f220d9 --- /dev/null +++ b/src/main/java/com/huobi/api/request/coin_swap/trade/SwapTrackCancelallRequest.java @@ -0,0 +1,14 @@ +package com.huobi.api.request.coin_swap.trade; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +@AllArgsConstructor +@Builder +@Data +public class SwapTrackCancelallRequest { + private String contractCode; + private String direction; + private String offset; +} diff --git a/src/main/java/com/huobi/api/request/coin_swap/trade/SwapTrackHisordersRequest.java b/src/main/java/com/huobi/api/request/coin_swap/trade/SwapTrackHisordersRequest.java new file mode 100644 index 0000000..0e87203 --- /dev/null +++ b/src/main/java/com/huobi/api/request/coin_swap/trade/SwapTrackHisordersRequest.java @@ -0,0 +1,19 @@ +package com.huobi.api.request.coin_swap.trade; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +@AllArgsConstructor +@Builder +@Data +public class SwapTrackHisordersRequest { + private String contractCode; + private String status; + private Integer tradeType; + private Long createDate; + private Integer pageIndex; + private Integer pageSize; + private String sortBy; + +} diff --git a/src/main/java/com/huobi/api/request/coin_swap/trade/SwapTrackOpenordersRequest.java b/src/main/java/com/huobi/api/request/coin_swap/trade/SwapTrackOpenordersRequest.java new file mode 100644 index 0000000..b132a54 --- /dev/null +++ b/src/main/java/com/huobi/api/request/coin_swap/trade/SwapTrackOpenordersRequest.java @@ -0,0 +1,15 @@ +package com.huobi.api.request.coin_swap.trade; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +@AllArgsConstructor +@Builder +@Data +public class SwapTrackOpenordersRequest { + private String contractCode; + private Integer tradeType; + private Integer pageIndex; + private Integer pageSize; +} diff --git a/src/main/java/com/huobi/api/request/coin_swap/trade/SwapTrackOrderRequest.java b/src/main/java/com/huobi/api/request/coin_swap/trade/SwapTrackOrderRequest.java new file mode 100644 index 0000000..eb75b85 --- /dev/null +++ b/src/main/java/com/huobi/api/request/coin_swap/trade/SwapTrackOrderRequest.java @@ -0,0 +1,21 @@ +package com.huobi.api.request.coin_swap.trade; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; + +@AllArgsConstructor +@Builder +@Data +public class SwapTrackOrderRequest { + private String contractCode; + private String direction; + private String offset; + private Integer leverRate; + private BigDecimal volume; + private BigDecimal callbackRate; + private BigDecimal activePrice; + private String orderPriceType; +} diff --git a/src/main/java/com/huobi/api/request/coin_swap/trade/SwapTriggerCancelRequest.java b/src/main/java/com/huobi/api/request/coin_swap/trade/SwapTriggerCancelRequest.java new file mode 100644 index 0000000..3cd62ad --- /dev/null +++ b/src/main/java/com/huobi/api/request/coin_swap/trade/SwapTriggerCancelRequest.java @@ -0,0 +1,17 @@ +package com.huobi.api.request.coin_swap.trade; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +/* + * 计划委托撤单 + * */ + +@Data +@AllArgsConstructor +@Builder +public class SwapTriggerCancelRequest { + private String contractCode;//合约代码 "BTC-USDT" + private String orderId;//用户订单ID(多个订单ID中间以","分隔,一次最多允许撤消20个订单 ) +} diff --git a/src/main/java/com/huobi/api/request/coin_swap/trade/SwapTriggerCancelallRequest.java b/src/main/java/com/huobi/api/request/coin_swap/trade/SwapTriggerCancelallRequest.java new file mode 100644 index 0000000..8c6d5c3 --- /dev/null +++ b/src/main/java/com/huobi/api/request/coin_swap/trade/SwapTriggerCancelallRequest.java @@ -0,0 +1,18 @@ +package com.huobi.api.request.coin_swap.trade; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +/* +*计划委托全部撤单 +* */ + +@Data +@AllArgsConstructor +@Builder +public class SwapTriggerCancelallRequest { + private String contractCode;//合约代码 "BTC-USDT" + private String direction; + private String offset; +} diff --git a/src/main/java/com/huobi/api/request/coin_swap/trade/SwapTriggerHisordersRequest.java b/src/main/java/com/huobi/api/request/coin_swap/trade/SwapTriggerHisordersRequest.java new file mode 100644 index 0000000..c8d4fe3 --- /dev/null +++ b/src/main/java/com/huobi/api/request/coin_swap/trade/SwapTriggerHisordersRequest.java @@ -0,0 +1,23 @@ +package com.huobi.api.request.coin_swap.trade; + + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +/** +* 获取计划委托历史委托 +* */ + +@Data +@AllArgsConstructor +@Builder +public class SwapTriggerHisordersRequest { + private String contractCode;//合约代码 BTC-USDT + private Integer tradeType;//交易类型 0:全部,1:买入开多,2: 卖出开空,3: 买入平空,4: 卖出平多;后台是根据该值转换为offset和direction,然后去查询的; 其他值无法查询出结果 + private String status;//多个以英文逗号隔开,计划委托单状态:0:全部(表示全部结束状态的订单)、4:已委托、5:委托失败、6:已撤单 + private Integer createDate;//可随意输入正整数,如果参数超过90则默认查询90天的数据 + private Integer pageIndex;//第几页,不填默认第一页 + private Integer pageSize;//不填默认20,不得多于50 + private String sortBy; +} diff --git a/src/main/java/com/huobi/api/request/coin_swap/trade/SwapTriggerOpenordersRequest.java b/src/main/java/com/huobi/api/request/coin_swap/trade/SwapTriggerOpenordersRequest.java new file mode 100644 index 0000000..d9760ec --- /dev/null +++ b/src/main/java/com/huobi/api/request/coin_swap/trade/SwapTriggerOpenordersRequest.java @@ -0,0 +1,20 @@ +package com.huobi.api.request.coin_swap.trade; + + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +/* +* 获取计划委托当前委托 +* */ + +@Data +@AllArgsConstructor +@Builder +public class SwapTriggerOpenordersRequest { + private String contractCode;//合约代码 BTC-USDT + private Integer pageIndex;//第几页,不填默认第一页 + private Integer pageSize;//不填默认20,不得多于50 + private Integer tradeType; +} diff --git a/src/main/java/com/huobi/api/request/coin_swap/trade/SwapTriggerOrderRequest.java b/src/main/java/com/huobi/api/request/coin_swap/trade/SwapTriggerOrderRequest.java new file mode 100644 index 0000000..45f2cd5 --- /dev/null +++ b/src/main/java/com/huobi/api/request/coin_swap/trade/SwapTriggerOrderRequest.java @@ -0,0 +1,29 @@ +package com.huobi.api.request.coin_swap.trade; + +import com.huobi.api.enums.DirectionEnum; +import com.huobi.api.enums.OffsetEnum; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; + +/* +* 计划委托下单 +* */ + + +@Data +@AllArgsConstructor +@Builder +public class SwapTriggerOrderRequest { + private String contractCode;//合约代码 BTC-USDT + private String triggerType;//触发类型: ge大于等于(触发价比最新价大);le小于(触发价比最新价小) + private BigDecimal triggerPrice;//触发价,精度超过最小变动单位会报错 + private BigDecimal orderPrice;//委托价,精度超过最小变动单位会报错 + private String orderPriceType;//委托类型: 不填默认为limit; 限价:limit ,最优5档:optimal_5,最优10档:optimal_10,最优20档:optimal_20 + private Long volume;//委托数量(张) + private DirectionEnum direction;//buy:买 sell:卖 + private OffsetEnum offset;//open:开 close:平 + private Integer leverRate;//开仓必须填写,平仓可以不填。杠杆倍数[开仓若有10倍多单,就不能再下20倍多单] +} diff --git a/src/main/java/com/huobi/api/request/coin_swap/transfer/UsdtSwapTransferRequest.java b/src/main/java/com/huobi/api/request/coin_swap/transfer/UsdtSwapTransferRequest.java new file mode 100644 index 0000000..8967a7e --- /dev/null +++ b/src/main/java/com/huobi/api/request/coin_swap/transfer/UsdtSwapTransferRequest.java @@ -0,0 +1,21 @@ +package com.huobi.api.request.coin_swap.transfer; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; + +/* +* 现货-期权合约账户间进行资金的划转 +* */ + +@Data +@AllArgsConstructor +@Builder +public class UsdtSwapTransferRequest { + private String from;//来源业务线账户,取值:spot(币币)、swap(币本位永续) e.g. spot + private String to;//目标业务线账户,取值:spot(币币)、swap(币本位永续) e.g. swap + private String currency;//币种,支持大小写 e.g. btc + private BigDecimal amount;//划转金额 +} diff --git a/src/main/java/com/huobi/api/request/usdt/account/FixPositionMarginChangeRecordRequest.java b/src/main/java/com/huobi/api/request/usdt/account/FixPositionMarginChangeRecordRequest.java new file mode 100644 index 0000000..ad700b9 --- /dev/null +++ b/src/main/java/com/huobi/api/request/usdt/account/FixPositionMarginChangeRecordRequest.java @@ -0,0 +1,17 @@ +package com.huobi.api.request.usdt.account; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +@AllArgsConstructor +@Data +@Builder +public class FixPositionMarginChangeRecordRequest { + private Long startTime; + private Long endTime; + private String direct; + private Long fromId; + private String contractCode; + private String asset; +} diff --git a/src/main/java/com/huobi/api/request/usdt/account/FixPositionMarginChangeRequest.java b/src/main/java/com/huobi/api/request/usdt/account/FixPositionMarginChangeRequest.java new file mode 100644 index 0000000..dd45a13 --- /dev/null +++ b/src/main/java/com/huobi/api/request/usdt/account/FixPositionMarginChangeRequest.java @@ -0,0 +1,21 @@ +package com.huobi.api.request.usdt.account; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.time.temporal.TemporalAmount; + +@AllArgsConstructor +@Data +@Builder +public class FixPositionMarginChangeRequest { + private Double amount; + private String asset; + @SerializedName("contract_code") + private String contractCode; + private Integer type; + private Integer direction; + private Long clientOrderId; +} diff --git a/src/main/java/com/huobi/api/request/usdt/account/LinearSwapBasisRequest.java b/src/main/java/com/huobi/api/request/usdt/account/LinearSwapBasisRequest.java new file mode 100644 index 0000000..a492acf --- /dev/null +++ b/src/main/java/com/huobi/api/request/usdt/account/LinearSwapBasisRequest.java @@ -0,0 +1,15 @@ +package com.huobi.api.request.usdt.account; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +@AllArgsConstructor +@Data +@Builder +public class LinearSwapBasisRequest { + private String contractCode;// 合约代码 如"BTC-USDT" + private String period;//周期 1min,5min, 15min, 30min, 60min,4hour,1day,1week,1mon + private String basisPriceType;//基差价格类型,表示在周期内计算基差使用的价格类型, 不填,默认使用开盘价 开盘价:open,收盘价:close,最高价:high,最低价:low,平均价=(最高价+最低价)/2:average + private Integer size;//基差获取数量,默认 150 [1,2000] +} diff --git a/src/main/java/com/huobi/api/request/usdt/account/SwapCrossLeverPositionLimitRequest.java b/src/main/java/com/huobi/api/request/usdt/account/SwapCrossLeverPositionLimitRequest.java new file mode 100644 index 0000000..58acc26 --- /dev/null +++ b/src/main/java/com/huobi/api/request/usdt/account/SwapCrossLeverPositionLimitRequest.java @@ -0,0 +1,17 @@ +package com.huobi.api.request.usdt.account; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +@Data +@AllArgsConstructor +@Builder +public class SwapCrossLeverPositionLimitRequest { + private String businessType; + private String contractType; + private String pair; + private String contractCode; + private Integer leverRate; + private String tradePartition; +} diff --git a/src/main/java/com/huobi/api/request/usdt/account/SwapCrossUserSettlementRecordsRequest.java b/src/main/java/com/huobi/api/request/usdt/account/SwapCrossUserSettlementRecordsRequest.java new file mode 100644 index 0000000..d8d55db --- /dev/null +++ b/src/main/java/com/huobi/api/request/usdt/account/SwapCrossUserSettlementRecordsRequest.java @@ -0,0 +1,16 @@ +package com.huobi.api.request.usdt.account; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +@Builder +@Data +@AllArgsConstructor +public class SwapCrossUserSettlementRecordsRequest { + private String marginAccount; + private Long startTime; + private Long endTime; + private Integer pageIndex; + private Integer pageSize; +} diff --git a/src/main/java/com/huobi/api/request/usdt/account/SwapFinancialRecordExactRequest.java b/src/main/java/com/huobi/api/request/usdt/account/SwapFinancialRecordExactRequest.java new file mode 100644 index 0000000..c2a4774 --- /dev/null +++ b/src/main/java/com/huobi/api/request/usdt/account/SwapFinancialRecordExactRequest.java @@ -0,0 +1,20 @@ +package com.huobi.api.request.usdt.account; + + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +@AllArgsConstructor +@Builder +@Data +public class SwapFinancialRecordExactRequest { + private String marginAccount; + private String contractCode; + private String type; + private Long startTime; + private Long endTime; + private Long fromId; + private Integer size; + private String direct; +} diff --git a/src/main/java/com/huobi/api/request/usdt/account/SwapFinancialRecordExactV3Request.java b/src/main/java/com/huobi/api/request/usdt/account/SwapFinancialRecordExactV3Request.java new file mode 100644 index 0000000..ba6b567 --- /dev/null +++ b/src/main/java/com/huobi/api/request/usdt/account/SwapFinancialRecordExactV3Request.java @@ -0,0 +1,18 @@ +package com.huobi.api.request.usdt.account; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +@AllArgsConstructor +@Data +@Builder +public class SwapFinancialRecordExactV3Request { + private String contract; + private String marAcct; + private String type; + private Long startTime; + private Long endTime; + private String direct; + private Long fromId; +} diff --git a/src/main/java/com/huobi/api/request/usdt/account/SwapFinancialRecordRequest.java b/src/main/java/com/huobi/api/request/usdt/account/SwapFinancialRecordRequest.java new file mode 100644 index 0000000..e52e8ac --- /dev/null +++ b/src/main/java/com/huobi/api/request/usdt/account/SwapFinancialRecordRequest.java @@ -0,0 +1,17 @@ +package com.huobi.api.request.usdt.account; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +@Data +@AllArgsConstructor +@Builder +public class SwapFinancialRecordRequest { + private String marginAccount;//保证金账户 "BTC-USDT"... + private String contractCode;//合约代码 + private String type;//不填查询全部类型,【查询多类型中间用,隔开】 平多:3,平空:4,开仓手续费-吃单:5,开仓手续费-挂单:6,平仓手续费-吃单:7,平仓手续费-挂单:8,交割平多:9,交割平空:10,交割手续费:11,强制平多:12,强制平空:13,从币币转入:14,转出至币币:15,结算未实现盈亏-多仓:16,结算未实现盈亏-空仓:17,穿仓分摊:19,系统:26,活动奖励:28,返利:29,资金费-收入:30,资金费-支出:31, 转出到子账号合约账户: 34, 从子账号合约账户转入:35, 转出到母账号合约账户: 36, 从母账号合约账户转入: 37,从其他保证金账户转入:38,转出到其他保证金账户:39 + private Integer createDate;//可随意输入正整数,如果参数超过90则默认查询90天的数据,默认7 + private Integer pageIndex;//第几页,不填默认第一页 + private Integer pageSize;//不填默认20,不得多于50 +} diff --git a/src/main/java/com/huobi/api/request/usdt/account/SwapFinancialRecordV3Request.java b/src/main/java/com/huobi/api/request/usdt/account/SwapFinancialRecordV3Request.java new file mode 100644 index 0000000..83d353c --- /dev/null +++ b/src/main/java/com/huobi/api/request/usdt/account/SwapFinancialRecordV3Request.java @@ -0,0 +1,19 @@ +package com.huobi.api.request.usdt.account; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +@AllArgsConstructor +@Data +@Builder +public class SwapFinancialRecordV3Request { + private String contract; + private String marAcct; + private String type; + private Long startTime; + private Long endTime; + private String direct; + private Long fromId; + +} diff --git a/src/main/java/com/huobi/api/request/usdt/account/SwapLiquidationOrdersRequest.java b/src/main/java/com/huobi/api/request/usdt/account/SwapLiquidationOrdersRequest.java new file mode 100644 index 0000000..181e369 --- /dev/null +++ b/src/main/java/com/huobi/api/request/usdt/account/SwapLiquidationOrdersRequest.java @@ -0,0 +1,17 @@ +package com.huobi.api.request.usdt.account; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +@Data +@AllArgsConstructor +@Builder +public class SwapLiquidationOrdersRequest { + private String contractCode;//合约代码 "BTC-USDT" ... + private String pair;//交易对 + private Integer tradeType;//合约代码 "BTC-USDT" ... + private Integer createDate;//日期 7,90(7天或者90天) + private Integer pageIndex;//页码,不填默认第1页 + private Integer pageSize;//不填默认20,不得多于50 +} diff --git a/src/main/java/com/huobi/api/request/usdt/account/SwapLiquidationOrdersV3Request.java b/src/main/java/com/huobi/api/request/usdt/account/SwapLiquidationOrdersV3Request.java new file mode 100644 index 0000000..0dcf279 --- /dev/null +++ b/src/main/java/com/huobi/api/request/usdt/account/SwapLiquidationOrdersV3Request.java @@ -0,0 +1,18 @@ +package com.huobi.api.request.usdt.account; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +@AllArgsConstructor +@Data +@Builder +public class SwapLiquidationOrdersV3Request { + private String contract; + private String pair; + private Integer tradeType; + private Long startTime; + private Long endTime; + private String direct; + private Long fromId; +} diff --git a/src/main/java/com/huobi/api/request/usdt/account/SwapMarketHistoryKlineRequest.java b/src/main/java/com/huobi/api/request/usdt/account/SwapMarketHistoryKlineRequest.java new file mode 100644 index 0000000..97e1a07 --- /dev/null +++ b/src/main/java/com/huobi/api/request/usdt/account/SwapMarketHistoryKlineRequest.java @@ -0,0 +1,16 @@ +package com.huobi.api.request.usdt.account; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +@Data +@AllArgsConstructor +@Builder +public class SwapMarketHistoryKlineRequest { + private String contractCode;//合约代码 "BTC-USDT" ... + private String period;//K线类型 1min, 5min, 15min, 30min, 60min,4hour,1day,1week,1mon + private Integer size;//获取数量,默认150 [1,2000] + private Integer from;//开始时间戳 10位 单位S + private Integer to;//结束时间戳 10位 单位S +} diff --git a/src/main/java/com/huobi/api/request/usdt/account/SwapMasterSubTransferRecordRequest.java b/src/main/java/com/huobi/api/request/usdt/account/SwapMasterSubTransferRecordRequest.java new file mode 100644 index 0000000..78a4d89 --- /dev/null +++ b/src/main/java/com/huobi/api/request/usdt/account/SwapMasterSubTransferRecordRequest.java @@ -0,0 +1,16 @@ +package com.huobi.api.request.usdt.account; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +@Data +@AllArgsConstructor +@Builder +public class SwapMasterSubTransferRecordRequest { + private String marginAccount;// 保证金账户 "BTC-USDT"... + private String transferType;// 划转类型,不填查询全部类型,【查询多类型中间用,隔开】 转出到子账号合约账户:34, 从子账号合约账户转入:35 + private Integer createDate;// 可随意输入正整数,如果参数超过90则默认查询90天的数据 + private Integer pageIndex;// 页码,不填默认第1页 + private Integer pageSize;// 不填默认20,不得多于50 +} diff --git a/src/main/java/com/huobi/api/request/usdt/account/SwapMasterSubTransferRequest.java b/src/main/java/com/huobi/api/request/usdt/account/SwapMasterSubTransferRequest.java new file mode 100644 index 0000000..961db38 --- /dev/null +++ b/src/main/java/com/huobi/api/request/usdt/account/SwapMasterSubTransferRequest.java @@ -0,0 +1,21 @@ +package com.huobi.api.request.usdt.account; + + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +@AllArgsConstructor +@Builder +public class SwapMasterSubTransferRequest { + private Long subUid;//子账号uid + private String asset;//币种 "USDT"... + private String fromMarginAccount;//转出的保证金账户 "BTC-USDT"... + private String toMarginAccount;//转入的保证金账户 "BTC-USDT"... + private BigDecimal amount;//划转金额 + private String type;//划转类型 master_to_sub:母账户划转到子账户, sub_to_master:子账户划转到母账户 + private Long clientOrderId; +} diff --git a/src/main/java/com/huobi/api/request/usdt/account/SwapSubAuthListRequest.java b/src/main/java/com/huobi/api/request/usdt/account/SwapSubAuthListRequest.java new file mode 100644 index 0000000..aaf37bf --- /dev/null +++ b/src/main/java/com/huobi/api/request/usdt/account/SwapSubAuthListRequest.java @@ -0,0 +1,16 @@ +package com.huobi.api.request.usdt.account; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +@AllArgsConstructor +@Data +@Builder +public class SwapSubAuthListRequest { + private String subUid; + private Long startTime; + private Long endTime; + private String direct; + private Long fromId; +} diff --git a/src/main/java/com/huobi/api/request/usdt/account/SwapUserSettlementRecordsRequest.java b/src/main/java/com/huobi/api/request/usdt/account/SwapUserSettlementRecordsRequest.java new file mode 100644 index 0000000..f77f158 --- /dev/null +++ b/src/main/java/com/huobi/api/request/usdt/account/SwapUserSettlementRecordsRequest.java @@ -0,0 +1,16 @@ +package com.huobi.api.request.usdt.account; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +@Builder +@Data +@AllArgsConstructor +public class SwapUserSettlementRecordsRequest { + private String contractCode; + private Long startTime; + private Long endTime; + private Integer pageIndex; + private Integer pageSize; +} diff --git a/src/main/java/com/huobi/api/request/usdt/trade/LinearCancelAfterRequest.java b/src/main/java/com/huobi/api/request/usdt/trade/LinearCancelAfterRequest.java new file mode 100644 index 0000000..4380611 --- /dev/null +++ b/src/main/java/com/huobi/api/request/usdt/trade/LinearCancelAfterRequest.java @@ -0,0 +1,14 @@ +package com.huobi.api.request.usdt.trade; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +@AllArgsConstructor +@Builder +@Data +public class LinearCancelAfterRequest { + private Integer onOff; + private Integer timeOut; + +} diff --git a/src/main/java/com/huobi/api/request/usdt/trade/SwapBatchorderRequest.java b/src/main/java/com/huobi/api/request/usdt/trade/SwapBatchorderRequest.java new file mode 100644 index 0000000..91a40fd --- /dev/null +++ b/src/main/java/com/huobi/api/request/usdt/trade/SwapBatchorderRequest.java @@ -0,0 +1,20 @@ +package com.huobi.api.request.usdt.trade; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.util.List; + +/** + * 备注 + *"limit":限价,"post_only":只做maker单,ioc:IOC订单,fok:FOK订单 这四种类型需要传价格price,其他订单报价类型不需要传价格price。 + *一次最多允许10个订单。 + */ +@Data +@AllArgsConstructor +@Builder +public class SwapBatchorderRequest { + private List list; + +} diff --git a/src/main/java/com/huobi/api/request/usdt/trade/SwapCancelRequest.java b/src/main/java/com/huobi/api/request/usdt/trade/SwapCancelRequest.java new file mode 100644 index 0000000..0073c16 --- /dev/null +++ b/src/main/java/com/huobi/api/request/usdt/trade/SwapCancelRequest.java @@ -0,0 +1,22 @@ +package com.huobi.api.request.usdt.trade; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + + +/** + * 撤销订单 + * 备注: + * order_id和client_order_id都可以用来撤单,同时只可以设置其中一种,如果设置了两种,默认以order_id来撤单。 + * + * 撤单接口返回结果只代表撤单命令发送成功,建议根据订单查询接口查询订单的状态来确定订单是否已真正撤销。 + */ +@Data +@AllArgsConstructor +@Builder +public class SwapCancelRequest { + private String orderId;//订单ID(多个订单ID中间以","分隔,一次最多允许撤消10个订单) + private String clientOrderId;//客户订单ID(多个订单ID中间以","分隔,一次最多允许撤消10个订单) + private String contractCode;//合约代码 "BTC-USDT" ... +} diff --git a/src/main/java/com/huobi/api/request/usdt/trade/SwapCancelallRequest.java b/src/main/java/com/huobi/api/request/usdt/trade/SwapCancelallRequest.java new file mode 100644 index 0000000..b642871 --- /dev/null +++ b/src/main/java/com/huobi/api/request/usdt/trade/SwapCancelallRequest.java @@ -0,0 +1,21 @@ +package com.huobi.api.request.usdt.trade; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + + +/** + * 全部撤单 + * 备注 + * 只要有contract_code,则撤销该code的合约 + */ +@Data +@AllArgsConstructor +@Builder +public class SwapCancelallRequest { + private String contractCode;//合约代码 "BTC-USDT" + private String direction; + private String offset; + +} diff --git a/src/main/java/com/huobi/api/request/usdt/trade/SwapCrossBatchorderRequest.java b/src/main/java/com/huobi/api/request/usdt/trade/SwapCrossBatchorderRequest.java new file mode 100644 index 0000000..f5e0a78 --- /dev/null +++ b/src/main/java/com/huobi/api/request/usdt/trade/SwapCrossBatchorderRequest.java @@ -0,0 +1,20 @@ +package com.huobi.api.request.usdt.trade; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.util.List; + +/** + * 备注 + *"limit":限价,"post_only":只做maker单,ioc:IOC订单,fok:FOK订单 这四种类型需要传价格price,其他订单报价类型不需要传价格price。 + *一次最多允许10个订单。 + */ +@Data +@AllArgsConstructor +@Builder +public class SwapCrossBatchorderRequest { + private List list; + +} diff --git a/src/main/java/com/huobi/api/request/usdt/trade/SwapCrossCancelRequest.java b/src/main/java/com/huobi/api/request/usdt/trade/SwapCrossCancelRequest.java new file mode 100644 index 0000000..c9c5e5e --- /dev/null +++ b/src/main/java/com/huobi/api/request/usdt/trade/SwapCrossCancelRequest.java @@ -0,0 +1,24 @@ +package com.huobi.api.request.usdt.trade; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + + +/** + * 撤销订单 + * 备注: + * order_id和client_order_id都可以用来撤单,同时只可以设置其中一种,如果设置了两种,默认以order_id来撤单。 + * + * 撤单接口返回结果只代表撤单命令发送成功,建议根据订单查询接口查询订单的状态来确定订单是否已真正撤销。 + */ +@Data +@AllArgsConstructor +@Builder +public class SwapCrossCancelRequest { + private String orderId;//订单ID(多个订单ID中间以","分隔,一次最多允许撤消10个订单) + private String clientOrderId;//客户订单ID(多个订单ID中间以","分隔,一次最多允许撤消10个订单) + private String contractCode;//合约代码 "BTC-USDT" ... + private String pair; + private String contractType; +} diff --git a/src/main/java/com/huobi/api/request/usdt/trade/SwapCrossCancelallRequest.java b/src/main/java/com/huobi/api/request/usdt/trade/SwapCrossCancelallRequest.java new file mode 100644 index 0000000..e5ea095 --- /dev/null +++ b/src/main/java/com/huobi/api/request/usdt/trade/SwapCrossCancelallRequest.java @@ -0,0 +1,17 @@ +package com.huobi.api.request.usdt.trade; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + + +@Data +@AllArgsConstructor +@Builder +public class SwapCrossCancelallRequest { + private String contractCode;//合约代码 "BTC-USDT" + private String direction; + private String offset; + private String pair; + private String contractType; +} diff --git a/src/main/java/com/huobi/api/request/usdt/trade/SwapCrossHisordersExactV3Request.java b/src/main/java/com/huobi/api/request/usdt/trade/SwapCrossHisordersExactV3Request.java new file mode 100644 index 0000000..7e49488 --- /dev/null +++ b/src/main/java/com/huobi/api/request/usdt/trade/SwapCrossHisordersExactV3Request.java @@ -0,0 +1,21 @@ +package com.huobi.api.request.usdt.trade; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +@AllArgsConstructor +@Data +@Builder +public class SwapCrossHisordersExactV3Request { + private Long startTime; + private Long endTime; + private String direct; + private Long fromId; + private Integer type; + private Integer tradeType; + private String contract; + private String pair; + private String status; + private String priceType; +} diff --git a/src/main/java/com/huobi/api/request/usdt/trade/SwapCrossHisordersRequest.java b/src/main/java/com/huobi/api/request/usdt/trade/SwapCrossHisordersRequest.java new file mode 100644 index 0000000..a106952 --- /dev/null +++ b/src/main/java/com/huobi/api/request/usdt/trade/SwapCrossHisordersRequest.java @@ -0,0 +1,23 @@ +package com.huobi.api.request.usdt.trade; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +/** + * 获取合约历史委托 + */ +@Data +@AllArgsConstructor +@Builder +public class SwapCrossHisordersRequest { + private Integer tradeType;//交易类型 0:全部,1:买入开多,2: 卖出开空,3: 买入平空,4: 卖出平多,5: 卖出强平,6: 买入强平,7:交割平多,8: 交割平空, 11:减仓平多,12:减仓平空 + private Integer type;//类型 1:所有订单,2:结束状态的订单 + private String status;//订单状态 0:全部,3:未成交, 4: 部分成交,5: 部分成交已撤单,6: 全部成交,7:已撤单 + private Integer createDate;//日期 可随意输入正整数,如果参数超过90则默认查询90天的数据 + private String contractCode;//合约代码 支持大小写,"BTC-USDT" ... + private Integer pageIndex;//页码,不填默认第1页 1 + private Integer pageSize;//每页条数,不填默认20 20 不得多于50 + private String sortBy; + private String pair; +} diff --git a/src/main/java/com/huobi/api/request/usdt/trade/SwapCrossHisordersV3Request.java b/src/main/java/com/huobi/api/request/usdt/trade/SwapCrossHisordersV3Request.java new file mode 100644 index 0000000..b476a42 --- /dev/null +++ b/src/main/java/com/huobi/api/request/usdt/trade/SwapCrossHisordersV3Request.java @@ -0,0 +1,20 @@ +package com.huobi.api.request.usdt.trade; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +@AllArgsConstructor +@Data +@Builder +public class SwapCrossHisordersV3Request { + private Long startTime; + private Long endTime; + private String direct; + private Long fromId; + private Integer type; + private Integer tradeType; + private String contract; + private String pair; + private String status; +} diff --git a/src/main/java/com/huobi/api/request/usdt/trade/SwapCrossLightningClosePositionRequest.java b/src/main/java/com/huobi/api/request/usdt/trade/SwapCrossLightningClosePositionRequest.java new file mode 100644 index 0000000..0035c52 --- /dev/null +++ b/src/main/java/com/huobi/api/request/usdt/trade/SwapCrossLightningClosePositionRequest.java @@ -0,0 +1,21 @@ +package com.huobi.api.request.usdt.trade; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +/** + * 闪电平仓下单 + */ +@Data +@AllArgsConstructor +@Builder +public class SwapCrossLightningClosePositionRequest { + private String contractCode;//合约代码 "BTC-USDT"... + private Integer volume;//委托数量(张) + private String direction;//“buy”:买,“sell”:卖 + private Long clientOrderId;//(API)客户自己填写和维护,必须保持唯一 + private String orderPriceType;//订单报价类型 不填,默认为“闪电平仓”,"lightning":闪电平仓,"lightning_ioc":闪电平仓-IOC,"lightning_fok":闪电平仓-FOK + private String pair; + private String contractType; +} diff --git a/src/main/java/com/huobi/api/request/usdt/trade/SwapCrossMatchResultsExactV3Request.java b/src/main/java/com/huobi/api/request/usdt/trade/SwapCrossMatchResultsExactV3Request.java new file mode 100644 index 0000000..0943d65 --- /dev/null +++ b/src/main/java/com/huobi/api/request/usdt/trade/SwapCrossMatchResultsExactV3Request.java @@ -0,0 +1,18 @@ +package com.huobi.api.request.usdt.trade; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +@AllArgsConstructor +@Data +@Builder +public class SwapCrossMatchResultsExactV3Request { + private Long startTime; + private Long endTime; + private String direct; + private Long fromId; + private Integer tradeType; + private String contract; + private String pair; +} diff --git a/src/main/java/com/huobi/api/request/usdt/trade/SwapCrossMatchResultsV3Request.java b/src/main/java/com/huobi/api/request/usdt/trade/SwapCrossMatchResultsV3Request.java new file mode 100644 index 0000000..240e5f8 --- /dev/null +++ b/src/main/java/com/huobi/api/request/usdt/trade/SwapCrossMatchResultsV3Request.java @@ -0,0 +1,18 @@ +package com.huobi.api.request.usdt.trade; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +@AllArgsConstructor +@Data +@Builder +public class SwapCrossMatchResultsV3Request { + private Long startTime; + private Long endTime; + private String direct; + private Long fromId; + private Integer tradeType; + private String contract; + private String pair; +} diff --git a/src/main/java/com/huobi/api/request/usdt/trade/SwapCrossMatchresultsRequest.java b/src/main/java/com/huobi/api/request/usdt/trade/SwapCrossMatchresultsRequest.java new file mode 100644 index 0000000..b87b5bc --- /dev/null +++ b/src/main/java/com/huobi/api/request/usdt/trade/SwapCrossMatchresultsRequest.java @@ -0,0 +1,20 @@ +package com.huobi.api.request.usdt.trade; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +/** + * 获取历史成交记录 + */ +@Data +@AllArgsConstructor +@Builder +public class SwapCrossMatchresultsRequest { + private Integer tradeType;//交易类型 0:全部,1:买入开多,2: 卖出开空,3: 买入平空,4: 卖出平多,5: 卖出强平,6: 买入强平 + private Integer createDate;//日期 可随意输入正整数,如果参数超过90则默认查询90天的数据 + private String contractCode;//合约代码 "BTC-USDT"... + private Integer pageIndex;//页码,不填默认第1页 1 + private Integer pageSize;//每页条数,不填默认20 20 不得多于50 + private String pair; +} diff --git a/src/main/java/com/huobi/api/request/usdt/trade/SwapCrossOpenordersRequest.java b/src/main/java/com/huobi/api/request/usdt/trade/SwapCrossOpenordersRequest.java new file mode 100644 index 0000000..f20305d --- /dev/null +++ b/src/main/java/com/huobi/api/request/usdt/trade/SwapCrossOpenordersRequest.java @@ -0,0 +1,22 @@ +package com.huobi.api.request.usdt.trade; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +/** + * 获取用户的当前未成交委托 + */ + +@Data +@AllArgsConstructor +@Builder +public class SwapCrossOpenordersRequest { + private String contractCode;//合约代码 "BTC-USDT" ... + private Integer pageIndex;//第几页,不填第一页 + private Integer pageSize;//不填默认20,不得多于50 + private String sortBy; + private Integer tradeType; + private String pair; + private String tradePartition; +} diff --git a/src/main/java/com/huobi/api/request/usdt/trade/SwapCrossOrderDetailRequest.java b/src/main/java/com/huobi/api/request/usdt/trade/SwapCrossOrderDetailRequest.java new file mode 100644 index 0000000..9518fc9 --- /dev/null +++ b/src/main/java/com/huobi/api/request/usdt/trade/SwapCrossOrderDetailRequest.java @@ -0,0 +1,18 @@ +package com.huobi.api.request.usdt.trade; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +@Data +@AllArgsConstructor +@Builder +public class SwapCrossOrderDetailRequest { + private String contractCode;//合约代码 "BTC-USDT"... + private Long orderId;//订单id + private Long createdAt;//下单时间戳 + private Integer orderType;//订单类型,1:报单 、 2:撤单 、4:交割 + private Integer pageIndex;//第几页,不填第一页 + private Integer pageSize;//不填默认20,不得多于50 + private String pair; +} diff --git a/src/main/java/com/huobi/api/request/usdt/trade/SwapCrossOrderInfoRequest.java b/src/main/java/com/huobi/api/request/usdt/trade/SwapCrossOrderInfoRequest.java new file mode 100644 index 0000000..016ad35 --- /dev/null +++ b/src/main/java/com/huobi/api/request/usdt/trade/SwapCrossOrderInfoRequest.java @@ -0,0 +1,16 @@ +package com.huobi.api.request.usdt.trade; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + + +@Data +@AllArgsConstructor +@Builder +public class SwapCrossOrderInfoRequest { + private String orderId;//订单ID(多个订单ID中间以","分隔,一次最多允许查询50个订单) + private String clientOrderId;//客户订单ID(多个订单ID中间以","分隔,一次最多允许查询50个订单) + private String contractCode;//合约代码 "BTC-USDT"... + private String pair; +} diff --git a/src/main/java/com/huobi/api/request/usdt/trade/SwapCrossOrderRequest.java b/src/main/java/com/huobi/api/request/usdt/trade/SwapCrossOrderRequest.java new file mode 100644 index 0000000..68c97a2 --- /dev/null +++ b/src/main/java/com/huobi/api/request/usdt/trade/SwapCrossOrderRequest.java @@ -0,0 +1,48 @@ +package com.huobi.api.request.usdt.trade; + +import com.huobi.api.enums.DirectionEnum; +import com.huobi.api.enums.OffsetEnum; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; + +/** + * 合约下单 + * + * 备注 + * + * "limit":限价,"post_only":只做maker单,ioc:IOC订单,fok:FOK订单 这四种类型需要传价格price,其他订单报价类型不需要传价格price。 + * + * 开平方向 + * 开多:买入开多(direction用buy、offset用open) + * + * 平多:卖出平多(direction用sell、offset用close) + * + * 开空:卖出开空(direction用sell、offset用open) + * + * 平空:买入平空(direction用buy、offset用close) + */ +@Data +@AllArgsConstructor +@Builder +public class SwapCrossOrderRequest { + private String contractCode;//合约代码 "BTC-USDT"... + private Long clientOrderId;//客户自己填写和维护,必须为数字 + private BigDecimal price;//价格 + private Long volume;//委托数量(张) + private DirectionEnum direction;//"buy":买 "sell":卖 + private OffsetEnum offset;//"open":开 "close":平 + private Integer leverRate;//杠杆倍数[“开仓”若有10倍多单,就不能再下20倍多单] + private String orderPriceType;//订单报价类型 "limit":限价 "opponent":对手价 "post_only":只做maker单,post only下单只受用户持仓数量限制,optimal_5:最优5档、optimal_10:最优10档、optimal_20:最优20档,ioc:IOC订单,fok:FOK订单, "opponent_ioc": 对手价-IOC下单,"optimal_5_ioc": 最优5档-IOC下单,"optimal_10_ioc": 最优10档-IOC下单,"optimal_20_ioc":最优20档-IOC下单,"opponent_fok": 对手价-FOK下单,"optimal_5_fok":最优5档-FOK下单,"optimal_10_fok":最优10档-FOK下单,"optimal_20_fok":最优20档-FOK下单 + private BigDecimal tpTriggerPrice; + private BigDecimal tpOrderPrice; + private String tpOrderPriceType; + private BigDecimal slTriggerPrice; + private BigDecimal slOrderPrice; + private String slOrderPriceType; + private String pair; + private String contractType; + private Integer reduceOnly; +} diff --git a/src/main/java/com/huobi/api/request/usdt/trade/SwapCrossTriggerCancelRequest.java b/src/main/java/com/huobi/api/request/usdt/trade/SwapCrossTriggerCancelRequest.java new file mode 100644 index 0000000..12d2c32 --- /dev/null +++ b/src/main/java/com/huobi/api/request/usdt/trade/SwapCrossTriggerCancelRequest.java @@ -0,0 +1,19 @@ +package com.huobi.api.request.usdt.trade; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +/* + * 计划委托撤单 + * */ + +@Data +@AllArgsConstructor +@Builder +public class SwapCrossTriggerCancelRequest { + private String contractCode;//合约代码 "BTC-USDT" + private String orderId;//用户订单ID(多个订单ID中间以","分隔,一次最多允许撤消10个订单 ) + private String pair; + private String contractType; +} diff --git a/src/main/java/com/huobi/api/request/usdt/trade/SwapCrossTriggerCancelallRequest.java b/src/main/java/com/huobi/api/request/usdt/trade/SwapCrossTriggerCancelallRequest.java new file mode 100644 index 0000000..f9b59f9 --- /dev/null +++ b/src/main/java/com/huobi/api/request/usdt/trade/SwapCrossTriggerCancelallRequest.java @@ -0,0 +1,20 @@ +package com.huobi.api.request.usdt.trade; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +/* +*计划委托全部撤单 +* */ + +@Data +@AllArgsConstructor +@Builder +public class SwapCrossTriggerCancelallRequest { + private String contractCode;//合约代码 "BTC-USDT" + private String direction; + private String offset; + private String pair; + private String contractType; +} diff --git a/src/main/java/com/huobi/api/request/usdt/trade/SwapCrossTriggerHisordersRequest.java b/src/main/java/com/huobi/api/request/usdt/trade/SwapCrossTriggerHisordersRequest.java new file mode 100644 index 0000000..6e3dcd8 --- /dev/null +++ b/src/main/java/com/huobi/api/request/usdt/trade/SwapCrossTriggerHisordersRequest.java @@ -0,0 +1,20 @@ +package com.huobi.api.request.usdt.trade; + + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +@Data +@AllArgsConstructor +@Builder +public class SwapCrossTriggerHisordersRequest { + private String contractCode;//合约代码 BTC-USDT + private Integer tradeType;//交易类型 0:全部,1:买入开多,2: 卖出开空,3: 买入平空,4: 卖出平多;后台是根据该值转换为offset和direction,然后去查询的; 其他值无法查询出结果 + private String status;//多个以英文逗号隔开,计划委托单状态:0:全部(表示全部结束状态的订单)、4:已委托、5:委托失败、6:已撤单 + private Integer createDate;//可随意输入正整数,如果参数超过90则默认查询90天的数据 + private Integer pageIndex;//第几页,不填默认第一页 + private Integer pageSize;//不填默认20,不得多于50 + private String sortBy; + private String pair; +} diff --git a/src/main/java/com/huobi/api/request/usdt/trade/SwapCrossTriggerOpenordersRequest.java b/src/main/java/com/huobi/api/request/usdt/trade/SwapCrossTriggerOpenordersRequest.java new file mode 100644 index 0000000..06f84e5 --- /dev/null +++ b/src/main/java/com/huobi/api/request/usdt/trade/SwapCrossTriggerOpenordersRequest.java @@ -0,0 +1,22 @@ +package com.huobi.api.request.usdt.trade; + + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +/* +* 获取计划委托当前委托 +* */ + +@Data +@AllArgsConstructor +@Builder +public class SwapCrossTriggerOpenordersRequest { + private String contractCode;//合约代码 BTC-USDT + private Integer pageIndex;//第几页,不填默认第一页 + private Integer pageSize;//不填默认20,不得多于50 + private Integer tradeType; + private String pair; + private String tradePartition; +} diff --git a/src/main/java/com/huobi/api/request/usdt/trade/SwapCrossTriggerOrderRequest.java b/src/main/java/com/huobi/api/request/usdt/trade/SwapCrossTriggerOrderRequest.java new file mode 100644 index 0000000..9b110bb --- /dev/null +++ b/src/main/java/com/huobi/api/request/usdt/trade/SwapCrossTriggerOrderRequest.java @@ -0,0 +1,32 @@ +package com.huobi.api.request.usdt.trade; + +import com.huobi.api.enums.DirectionEnum; +import com.huobi.api.enums.OffsetEnum; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; + +/* +* 计划委托下单 +* */ + + +@Data +@AllArgsConstructor +@Builder +public class SwapCrossTriggerOrderRequest { + private String contractCode;//合约代码 BTC-USDT + private String triggerType;//触发类型: ge大于等于(触发价比最新价大);le小于(触发价比最新价小) + private BigDecimal triggerPrice;//触发价,精度超过最小变动单位会报错 + private BigDecimal orderPrice;//委托价,精度超过最小变动单位会报错 + private String orderPriceType;//委托类型: 不填默认为limit; 限价:limit ,最优5档:optimal_5,最优10档:optimal_10,最优20档:optimal_20 + private BigDecimal volume;//委托数量(张) + private DirectionEnum direction;//buy:买 sell:卖 + private OffsetEnum offset;//open:开 close:平 + private Integer leverRate;//开仓必须填写,平仓可以不填。杠杆倍数[开仓若有10倍多单,就不能再下20倍多单] + private String pair; + private String contractType; + private Integer reduceOnly; +} diff --git a/src/main/java/com/huobi/api/request/usdt/trade/SwapHisordersExactRequest.java b/src/main/java/com/huobi/api/request/usdt/trade/SwapHisordersExactRequest.java new file mode 100644 index 0000000..ba43567 --- /dev/null +++ b/src/main/java/com/huobi/api/request/usdt/trade/SwapHisordersExactRequest.java @@ -0,0 +1,23 @@ +package com.huobi.api.request.usdt.trade; + + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +@AllArgsConstructor +@Builder +@Data +public class SwapHisordersExactRequest { + private String contractCode; + private Integer tradeType; + private Integer type; + private String status; + private String orderPriceType; + private Long startTime; + private Long endTime; + private Long fromId; + private Integer size; + private String direct; + private String pair; +} diff --git a/src/main/java/com/huobi/api/request/usdt/trade/SwapHisordersExactV3Request.java b/src/main/java/com/huobi/api/request/usdt/trade/SwapHisordersExactV3Request.java new file mode 100644 index 0000000..be141c4 --- /dev/null +++ b/src/main/java/com/huobi/api/request/usdt/trade/SwapHisordersExactV3Request.java @@ -0,0 +1,22 @@ +package com.huobi.api.request.usdt.trade; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +@AllArgsConstructor +@Data +@Builder +public class SwapHisordersExactV3Request { + private String contract; + private String pair; + private Integer tradeType; + private Long startTime; + private Long endTime; + private String direct; + private Long fromId; + private Integer type; + private String status; + private String priceType; + +} diff --git a/src/main/java/com/huobi/api/request/usdt/trade/SwapHisordersRequest.java b/src/main/java/com/huobi/api/request/usdt/trade/SwapHisordersRequest.java new file mode 100644 index 0000000..e431ef7 --- /dev/null +++ b/src/main/java/com/huobi/api/request/usdt/trade/SwapHisordersRequest.java @@ -0,0 +1,22 @@ +package com.huobi.api.request.usdt.trade; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +/** + * 获取合约历史委托 + */ +@Data +@AllArgsConstructor +@Builder +public class SwapHisordersRequest { + private Integer tradeType;//交易类型 0:全部,1:买入开多,2: 卖出开空,3: 买入平空,4: 卖出平多,5: 卖出强平,6: 买入强平,7:交割平多,8: 交割平空, 11:减仓平多,12:减仓平空 + private Integer type;//类型 1:所有订单,2:结束状态的订单 + private Integer status;//订单状态 0:全部,3:未成交, 4: 部分成交,5: 部分成交已撤单,6: 全部成交,7:已撤单 + private Integer createDate;//日期 可随意输入正整数,如果参数超过90则默认查询90天的数据 + private String contractCode;//合约代码 支持大小写,"BTC-USDT" ... + private Integer pageIndex;//页码,不填默认第1页 1 + private Integer pageSize;//每页条数,不填默认20 20 不得多于50 + private String sortBy; +} diff --git a/src/main/java/com/huobi/api/request/usdt/trade/SwapHisordersV3Request.java b/src/main/java/com/huobi/api/request/usdt/trade/SwapHisordersV3Request.java new file mode 100644 index 0000000..b33453e --- /dev/null +++ b/src/main/java/com/huobi/api/request/usdt/trade/SwapHisordersV3Request.java @@ -0,0 +1,20 @@ +package com.huobi.api.request.usdt.trade; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +@AllArgsConstructor +@Data +@Builder +public class SwapHisordersV3Request { + private String contract; + private Integer tradeType; + private Long startTime; + private Long endTime; + private String direct; + private Long fromId; + private Integer type; + private String status; + +} diff --git a/src/main/java/com/huobi/api/request/usdt/trade/SwapLightningClosePositionRequest.java b/src/main/java/com/huobi/api/request/usdt/trade/SwapLightningClosePositionRequest.java new file mode 100644 index 0000000..4342e01 --- /dev/null +++ b/src/main/java/com/huobi/api/request/usdt/trade/SwapLightningClosePositionRequest.java @@ -0,0 +1,18 @@ +package com.huobi.api.request.usdt.trade; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +/** + * 闪电平仓下单 + */ +@Data +@AllArgsConstructor +@Builder +public class SwapLightningClosePositionRequest { + private String contractCode;//合约代码 "BTC-USDT"... + private String direction;//“buy”:买,“sell”:卖 + private Long clientOrderId;//(API)客户自己填写和维护,必须保持唯一 + private String orderPriceType;//订单报价类型 不填,默认为“闪电平仓”,"lightning":闪电平仓,"lightning_ioc":闪电平仓-IOC,"lightning_fok":闪电平仓-FOK +} diff --git a/src/main/java/com/huobi/api/request/usdt/trade/SwapMatchResultsExactV3Request.java b/src/main/java/com/huobi/api/request/usdt/trade/SwapMatchResultsExactV3Request.java new file mode 100644 index 0000000..ef4ec93 --- /dev/null +++ b/src/main/java/com/huobi/api/request/usdt/trade/SwapMatchResultsExactV3Request.java @@ -0,0 +1,17 @@ +package com.huobi.api.request.usdt.trade; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +@Data +@AllArgsConstructor +@Builder +public class SwapMatchResultsExactV3Request { + private String contract; + private Integer tradeType; + private Long startTime; + private Long endTime; + private String direct; + private Long fromId; +} diff --git a/src/main/java/com/huobi/api/request/usdt/trade/SwapMatchResultsV3Request.java b/src/main/java/com/huobi/api/request/usdt/trade/SwapMatchResultsV3Request.java new file mode 100644 index 0000000..5d5ee92 --- /dev/null +++ b/src/main/java/com/huobi/api/request/usdt/trade/SwapMatchResultsV3Request.java @@ -0,0 +1,18 @@ +package com.huobi.api.request.usdt.trade; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +@AllArgsConstructor +@Data +@Builder +public class SwapMatchResultsV3Request { + private String contract; + private String pair; + private Integer tradeType; + private Long startTime; + private Long endTime; + private String direct; + private Long fromId; +} diff --git a/src/main/java/com/huobi/api/request/usdt/trade/SwapMatchresultsExactRequest.java b/src/main/java/com/huobi/api/request/usdt/trade/SwapMatchresultsExactRequest.java new file mode 100644 index 0000000..ed98929 --- /dev/null +++ b/src/main/java/com/huobi/api/request/usdt/trade/SwapMatchresultsExactRequest.java @@ -0,0 +1,20 @@ +package com.huobi.api.request.usdt.trade; + + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +@AllArgsConstructor +@Builder +@Data +public class SwapMatchresultsExactRequest { + private String contractCode; + private Integer tradeType; + private Long startTime; + private Long endTime; + private Long fromId; + private Integer size; + private String direct; + private String pair; +} diff --git a/src/main/java/com/huobi/api/request/usdt/trade/SwapMatchresultsRequest.java b/src/main/java/com/huobi/api/request/usdt/trade/SwapMatchresultsRequest.java new file mode 100644 index 0000000..c74bda1 --- /dev/null +++ b/src/main/java/com/huobi/api/request/usdt/trade/SwapMatchresultsRequest.java @@ -0,0 +1,19 @@ +package com.huobi.api.request.usdt.trade; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +/** + * 获取历史成交记录 + */ +@Data +@AllArgsConstructor +@Builder +public class SwapMatchresultsRequest { + private Integer tradeType;//交易类型 0:全部,1:买入开多,2: 卖出开空,3: 买入平空,4: 卖出平多,5: 卖出强平,6: 买入强平 + private Integer createDate;//日期 可随意输入正整数,如果参数超过90则默认查询90天的数据 + private String contractCode;//合约代码 "BTC-USDT"... + private Integer pageIndex;//页码,不填默认第1页 1 + private Integer pageSize;//每页条数,不填默认20 20 不得多于50 +} diff --git a/src/main/java/com/huobi/api/request/usdt/trade/SwapOpenordersRequest.java b/src/main/java/com/huobi/api/request/usdt/trade/SwapOpenordersRequest.java new file mode 100644 index 0000000..e7a5acb --- /dev/null +++ b/src/main/java/com/huobi/api/request/usdt/trade/SwapOpenordersRequest.java @@ -0,0 +1,20 @@ +package com.huobi.api.request.usdt.trade; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +/** + * 获取用户的当前未成交委托 + */ + +@Data +@AllArgsConstructor +@Builder +public class SwapOpenordersRequest { + private String contractCode;//合约代码 "BTC-USDT" ... + private Integer pageIndex;//第几页,不填第一页 + private Integer pageSize;//不填默认20,不得多于50 + private String sortBy; + private Integer tradeType; +} diff --git a/src/main/java/com/huobi/api/request/usdt/trade/SwapOrderDetailRequest.java b/src/main/java/com/huobi/api/request/usdt/trade/SwapOrderDetailRequest.java new file mode 100644 index 0000000..ec28e5f --- /dev/null +++ b/src/main/java/com/huobi/api/request/usdt/trade/SwapOrderDetailRequest.java @@ -0,0 +1,28 @@ +package com.huobi.api.request.usdt.trade; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +/** + * 获取订单明细信息 + * + * 获取订单明细接口查询撤单数据时,如果传“created_at”和“order_type”参数则能查询最近90天数据,如果不传“created_at”和“order_type”参数只能查询到最近24小时数据。 + * + * order_id返回是18位,nodejs和javascript默认解析18有问题,nodejs和javascript里面JSON.parse默认是int,超过18位的数字用json-bigint的包解析。 + * + * created_at使用13位long类型时间戳(包含毫秒时间),如果输入准确的时间戳,查询性能将会提升。例如:"2019/10/18 10:26:22"转换为时间戳为:1571365582123。也可以直接从contract_order下单接口返回的ts中获取时间戳查询对应的订单。 + * + * + */ +@Data +@AllArgsConstructor +@Builder +public class SwapOrderDetailRequest { + private String contractCode;//合约代码 "BTC-USDT"... + private Long orderId;//订单id + private Long createdAt;//下单时间戳 + private Integer orderType;//订单类型,1:报单 、 2:撤单 、4:交割 + private Integer pageIndex;//第几页,不填第一页 + private Integer pageSize;//不填默认20,不得多于50 +} diff --git a/src/main/java/com/huobi/api/request/usdt/trade/SwapOrderInfoRequest.java b/src/main/java/com/huobi/api/request/usdt/trade/SwapOrderInfoRequest.java new file mode 100644 index 0000000..fd9d6cf --- /dev/null +++ b/src/main/java/com/huobi/api/request/usdt/trade/SwapOrderInfoRequest.java @@ -0,0 +1,21 @@ +package com.huobi.api.request.usdt.trade; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +/** + * 获取合约订单信息 + * 备注: + * order_id和client_order_id都可以用来查询,同时只可以设置其中一种,如果设置了两种,默认以order_id来查询。周五交割结算后,会把结束状态的订单(5部分成交已撤单 6全部成交 7已撤单)删除掉。 + *

+ * client_order_id,24小时有效,超过24小时的订单根据client_order_id将查询不到。 + */ +@Data +@AllArgsConstructor +@Builder +public class SwapOrderInfoRequest { + private String orderId;//订单ID(多个订单ID中间以","分隔,一次最多允许查询50个订单) + private String clientOrderId;//客户订单ID(多个订单ID中间以","分隔,一次最多允许查询50个订单) + private String contractCode;//合约代码 "BTC-USDT"... +} diff --git a/src/main/java/com/huobi/api/request/usdt/trade/SwapOrderRequest.java b/src/main/java/com/huobi/api/request/usdt/trade/SwapOrderRequest.java new file mode 100644 index 0000000..25489e4 --- /dev/null +++ b/src/main/java/com/huobi/api/request/usdt/trade/SwapOrderRequest.java @@ -0,0 +1,46 @@ +package com.huobi.api.request.usdt.trade; + +import com.huobi.api.enums.DirectionEnum; +import com.huobi.api.enums.OffsetEnum; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; + +/** + * 合约下单 + * + * 备注 + * + * "limit":限价,"post_only":只做maker单,ioc:IOC订单,fok:FOK订单 这四种类型需要传价格price,其他订单报价类型不需要传价格price。 + * + * 开平方向 + * 开多:买入开多(direction用buy、offset用open) + * + * 平多:卖出平多(direction用sell、offset用close) + * + * 开空:卖出开空(direction用sell、offset用open) + * + * 平空:买入平空(direction用buy、offset用close) + */ +@Data +@AllArgsConstructor +@Builder +public class SwapOrderRequest { + private String contractCode;//合约代码 "BTC-USDT"... + private Long clientOrderId;//客户自己填写和维护,必须为数字 + private BigDecimal price;//价格 + private Long volume;//委托数量(张) + private DirectionEnum direction;//"buy":买 "sell":卖 + private OffsetEnum offset;//"open":开 "close":平 + private Integer leverRate;//杠杆倍数[“开仓”若有10倍多单,就不能再下20倍多单] + private String orderPriceType;//订单报价类型 "limit":限价 "opponent":对手价 "post_only":只做maker单,post only下单只受用户持仓数量限制,optimal_5:最优5档、optimal_10:最优10档、optimal_20:最优20档,ioc:IOC订单,fok:FOK订单, "opponent_ioc": 对手价-IOC下单,"optimal_5_ioc": 最优5档-IOC下单,"optimal_10_ioc": 最优10档-IOC下单,"optimal_20_ioc":最优20档-IOC下单,"opponent_fok": 对手价-FOK下单,"optimal_5_fok":最优5档-FOK下单,"optimal_10_fok":最优10档-FOK下单,"optimal_20_fok":最优20档-FOK下单 + private BigDecimal tpTriggerPrice; + private BigDecimal tpOrderPrice; + private String tpOrderPriceType; + private BigDecimal slTriggerPrice; + private BigDecimal slOrderPrice; + private String slOrderPriceType; + private Integer reduceOnly; +} diff --git a/src/main/java/com/huobi/api/request/usdt/trade/SwapPositionSideRequest.java b/src/main/java/com/huobi/api/request/usdt/trade/SwapPositionSideRequest.java new file mode 100644 index 0000000..18e9fb8 --- /dev/null +++ b/src/main/java/com/huobi/api/request/usdt/trade/SwapPositionSideRequest.java @@ -0,0 +1,12 @@ +package com.huobi.api.request.usdt.trade; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +@AllArgsConstructor +@Data +@Builder +public class SwapPositionSideRequest { + private String marginAccount; +} diff --git a/src/main/java/com/huobi/api/request/usdt/trade/SwapRelationTpslOrderRequest.java b/src/main/java/com/huobi/api/request/usdt/trade/SwapRelationTpslOrderRequest.java new file mode 100644 index 0000000..9bc1de5 --- /dev/null +++ b/src/main/java/com/huobi/api/request/usdt/trade/SwapRelationTpslOrderRequest.java @@ -0,0 +1,12 @@ +package com.huobi.api.request.usdt.trade; + +import lombok.Builder; +import lombok.Data; + +@Data +@Builder +public class SwapRelationTpslOrderRequest { + private String contractCode; + private Long orderId; + private String pair; +} diff --git a/src/main/java/com/huobi/api/request/usdt/trade/SwapTpslCancelRequest.java b/src/main/java/com/huobi/api/request/usdt/trade/SwapTpslCancelRequest.java new file mode 100644 index 0000000..0fc7eef --- /dev/null +++ b/src/main/java/com/huobi/api/request/usdt/trade/SwapTpslCancelRequest.java @@ -0,0 +1,13 @@ +package com.huobi.api.request.usdt.trade; + +import lombok.Builder; +import lombok.Data; + +@Builder +@Data +public class SwapTpslCancelRequest { + private String contractCode; + private String orderId; + private String pair; + private String contractType; +} diff --git a/src/main/java/com/huobi/api/request/usdt/trade/SwapTpslCancelallRequest.java b/src/main/java/com/huobi/api/request/usdt/trade/SwapTpslCancelallRequest.java new file mode 100644 index 0000000..04b93a2 --- /dev/null +++ b/src/main/java/com/huobi/api/request/usdt/trade/SwapTpslCancelallRequest.java @@ -0,0 +1,13 @@ +package com.huobi.api.request.usdt.trade; + +import lombok.Builder; +import lombok.Data; + +@Builder +@Data +public class SwapTpslCancelallRequest { + private String contractCode; + private String direction; + private String pair; + private String contractType; +} diff --git a/src/main/java/com/huobi/api/request/usdt/trade/SwapTpslHisordersRequset.java b/src/main/java/com/huobi/api/request/usdt/trade/SwapTpslHisordersRequset.java new file mode 100644 index 0000000..0e591b3 --- /dev/null +++ b/src/main/java/com/huobi/api/request/usdt/trade/SwapTpslHisordersRequset.java @@ -0,0 +1,16 @@ +package com.huobi.api.request.usdt.trade; + +import lombok.Builder; +import lombok.Data; + +@Builder +@Data +public class SwapTpslHisordersRequset { + private String contractCode; + private String status; + private Long createDate; + private Integer pageIndex; + private Integer pageSize; + private String sortBy; + private String pair; +} diff --git a/src/main/java/com/huobi/api/request/usdt/trade/SwapTpslOpenordersRequest.java b/src/main/java/com/huobi/api/request/usdt/trade/SwapTpslOpenordersRequest.java new file mode 100644 index 0000000..28361bb --- /dev/null +++ b/src/main/java/com/huobi/api/request/usdt/trade/SwapTpslOpenordersRequest.java @@ -0,0 +1,16 @@ +package com.huobi.api.request.usdt.trade; + +import lombok.Builder; +import lombok.Data; + + +@Builder +@Data +public class SwapTpslOpenordersRequest { + private String contractCode; + private Integer pageIndex; + private Integer pageSize; + private Integer tradeType; + private String pair; + private String tradePartition; +} diff --git a/src/main/java/com/huobi/api/request/usdt/trade/SwapTpslOrderRequest.java b/src/main/java/com/huobi/api/request/usdt/trade/SwapTpslOrderRequest.java new file mode 100644 index 0000000..c201cc9 --- /dev/null +++ b/src/main/java/com/huobi/api/request/usdt/trade/SwapTpslOrderRequest.java @@ -0,0 +1,22 @@ +package com.huobi.api.request.usdt.trade; + +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; + +@Builder +@Data +public class SwapTpslOrderRequest { + private String contractCode; + private String direction; + private BigDecimal volume; + private BigDecimal tpTriggerPrice; + private BigDecimal tpOrderPrice; + private String tpOrderPriceType; + private BigDecimal slTriggerPrice; + private BigDecimal slOrderPrice; + private String slOrderPriceType; + private String pair; + private String contractType; +} diff --git a/src/main/java/com/huobi/api/request/usdt/trade/SwapTrackCancelRequest.java b/src/main/java/com/huobi/api/request/usdt/trade/SwapTrackCancelRequest.java new file mode 100644 index 0000000..c43436e --- /dev/null +++ b/src/main/java/com/huobi/api/request/usdt/trade/SwapTrackCancelRequest.java @@ -0,0 +1,15 @@ +package com.huobi.api.request.usdt.trade; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +@AllArgsConstructor +@Builder +@Data +public class SwapTrackCancelRequest { + private String contractCode; + private String orderId; + private String pair; + private String contractType; +} diff --git a/src/main/java/com/huobi/api/request/usdt/trade/SwapTrackCancelallRequest.java b/src/main/java/com/huobi/api/request/usdt/trade/SwapTrackCancelallRequest.java new file mode 100644 index 0000000..4a273a7 --- /dev/null +++ b/src/main/java/com/huobi/api/request/usdt/trade/SwapTrackCancelallRequest.java @@ -0,0 +1,16 @@ +package com.huobi.api.request.usdt.trade; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +@AllArgsConstructor +@Builder +@Data +public class SwapTrackCancelallRequest { + private String contractCode; + private String direction; + private String offset; + private String pair; + private String contractType; +} diff --git a/src/main/java/com/huobi/api/request/usdt/trade/SwapTrackHisordersRequest.java b/src/main/java/com/huobi/api/request/usdt/trade/SwapTrackHisordersRequest.java new file mode 100644 index 0000000..4cbd2a5 --- /dev/null +++ b/src/main/java/com/huobi/api/request/usdt/trade/SwapTrackHisordersRequest.java @@ -0,0 +1,19 @@ +package com.huobi.api.request.usdt.trade; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +@AllArgsConstructor +@Builder +@Data +public class SwapTrackHisordersRequest { + private String contractCode; + private String status; + private Integer tradeType; + private Long createDate; + private Integer pageIndex; + private Integer pageSize; + private String sortBy; + private String pair; +} diff --git a/src/main/java/com/huobi/api/request/usdt/trade/SwapTrackOpenordersRequest.java b/src/main/java/com/huobi/api/request/usdt/trade/SwapTrackOpenordersRequest.java new file mode 100644 index 0000000..6fb0a42 --- /dev/null +++ b/src/main/java/com/huobi/api/request/usdt/trade/SwapTrackOpenordersRequest.java @@ -0,0 +1,17 @@ +package com.huobi.api.request.usdt.trade; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +@AllArgsConstructor +@Builder +@Data +public class SwapTrackOpenordersRequest { + private String contractCode; + private Integer tradeType; + private Integer pageIndex; + private Integer pageSize; + private String pair; + private String tradePartition; +} diff --git a/src/main/java/com/huobi/api/request/usdt/trade/SwapTrackOrderRequest.java b/src/main/java/com/huobi/api/request/usdt/trade/SwapTrackOrderRequest.java new file mode 100644 index 0000000..f551f28 --- /dev/null +++ b/src/main/java/com/huobi/api/request/usdt/trade/SwapTrackOrderRequest.java @@ -0,0 +1,24 @@ +package com.huobi.api.request.usdt.trade; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; + +@AllArgsConstructor +@Builder +@Data +public class SwapTrackOrderRequest { + private String contractCode; + private String direction; + private String offset; + private Integer leverRate; + private BigDecimal volume; + private BigDecimal callbackRate; + private BigDecimal activePrice; + private String orderPriceType; + private String pair; + private String contractType; + private Integer reduceOnly; +} diff --git a/src/main/java/com/huobi/api/request/usdt/trade/SwapTriggerCancelRequest.java b/src/main/java/com/huobi/api/request/usdt/trade/SwapTriggerCancelRequest.java new file mode 100644 index 0000000..c8f2f03 --- /dev/null +++ b/src/main/java/com/huobi/api/request/usdt/trade/SwapTriggerCancelRequest.java @@ -0,0 +1,17 @@ +package com.huobi.api.request.usdt.trade; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +/* + * 计划委托撤单 + * */ + +@Data +@AllArgsConstructor +@Builder +public class SwapTriggerCancelRequest { + private String contractCode;//合约代码 "BTC-USDT" + private String orderId;//用户订单ID(多个订单ID中间以","分隔,一次最多允许撤消20个订单 ) +} diff --git a/src/main/java/com/huobi/api/request/usdt/trade/SwapTriggerCancelallRequest.java b/src/main/java/com/huobi/api/request/usdt/trade/SwapTriggerCancelallRequest.java new file mode 100644 index 0000000..d5770f2 --- /dev/null +++ b/src/main/java/com/huobi/api/request/usdt/trade/SwapTriggerCancelallRequest.java @@ -0,0 +1,18 @@ +package com.huobi.api.request.usdt.trade; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +/* +*计划委托全部撤单 +* */ + +@Data +@AllArgsConstructor +@Builder +public class SwapTriggerCancelallRequest { + private String contractCode;//合约代码 "BTC-USDT" + private String direction; + private String offset; +} diff --git a/src/main/java/com/huobi/api/request/usdt/trade/SwapTriggerHisordersRequest.java b/src/main/java/com/huobi/api/request/usdt/trade/SwapTriggerHisordersRequest.java new file mode 100644 index 0000000..b33facb --- /dev/null +++ b/src/main/java/com/huobi/api/request/usdt/trade/SwapTriggerHisordersRequest.java @@ -0,0 +1,23 @@ +package com.huobi.api.request.usdt.trade; + + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +/** +* 获取计划委托历史委托 +* */ + +@Data +@AllArgsConstructor +@Builder +public class SwapTriggerHisordersRequest { + private String contractCode;//合约代码 BTC-USDT + private Integer tradeType;//交易类型 0:全部,1:买入开多,2: 卖出开空,3: 买入平空,4: 卖出平多;后台是根据该值转换为offset和direction,然后去查询的; 其他值无法查询出结果 + private String status;//多个以英文逗号隔开,计划委托单状态:0:全部(表示全部结束状态的订单)、4:已委托、5:委托失败、6:已撤单 + private Integer createDate;//可随意输入正整数,如果参数超过90则默认查询90天的数据 + private Integer pageIndex;//第几页,不填默认第一页 + private Integer pageSize;//不填默认20,不得多于50 + private String sortBy; +} diff --git a/src/main/java/com/huobi/api/request/usdt/trade/SwapTriggerOpenordersRequest.java b/src/main/java/com/huobi/api/request/usdt/trade/SwapTriggerOpenordersRequest.java new file mode 100644 index 0000000..3833694 --- /dev/null +++ b/src/main/java/com/huobi/api/request/usdt/trade/SwapTriggerOpenordersRequest.java @@ -0,0 +1,20 @@ +package com.huobi.api.request.usdt.trade; + + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +/* +* 获取计划委托当前委托 +* */ + +@Data +@AllArgsConstructor +@Builder +public class SwapTriggerOpenordersRequest { + private String contractCode;//合约代码 BTC-USDT + private Integer pageIndex;//第几页,不填默认第一页 + private Integer pageSize;//不填默认20,不得多于50 + private Integer tradeType; +} diff --git a/src/main/java/com/huobi/api/request/usdt/trade/SwapTriggerOrderRequest.java b/src/main/java/com/huobi/api/request/usdt/trade/SwapTriggerOrderRequest.java new file mode 100644 index 0000000..fff1690 --- /dev/null +++ b/src/main/java/com/huobi/api/request/usdt/trade/SwapTriggerOrderRequest.java @@ -0,0 +1,30 @@ +package com.huobi.api.request.usdt.trade; + +import com.huobi.api.enums.DirectionEnum; +import com.huobi.api.enums.OffsetEnum; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; + +/* +* 计划委托下单 +* */ + + +@Data +@AllArgsConstructor +@Builder +public class SwapTriggerOrderRequest { + private String contractCode;//合约代码 BTC-USDT + private String triggerType;//触发类型: ge大于等于(触发价比最新价大);le小于(触发价比最新价小) + private BigDecimal triggerPrice;//触发价,精度超过最小变动单位会报错 + private BigDecimal orderPrice;//委托价,精度超过最小变动单位会报错 + private String orderPriceType;//委托类型: 不填默认为limit; 限价:limit ,最优5档:optimal_5,最优10档:optimal_10,最优20档:optimal_20 + private BigDecimal volume;//委托数量(张) + private DirectionEnum direction;//buy:买 sell:卖 + private OffsetEnum offset;//open:开 close:平 + private Integer leverRate;//开仓必须填写,平仓可以不填。杠杆倍数[开仓若有10倍多单,就不能再下20倍多单] + private Integer reduceOnly; +} diff --git a/src/main/java/com/huobi/api/request/usdt/transfer/UsdtSwapTransferRequest.java b/src/main/java/com/huobi/api/request/usdt/transfer/UsdtSwapTransferRequest.java new file mode 100644 index 0000000..929ca50 --- /dev/null +++ b/src/main/java/com/huobi/api/request/usdt/transfer/UsdtSwapTransferRequest.java @@ -0,0 +1,22 @@ +package com.huobi.api.request.usdt.transfer; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; + +/* +* 现货-期权合约账户间进行资金的划转 +* */ + +@Data +@AllArgsConstructor +@Builder +public class UsdtSwapTransferRequest { + private String from;//来源业务线账户,取值:spot(币币)、linear-swap(正向永续合约) e.g. spot + private String to;//目标业务线账户,取值:spot(币币)、linear-swap(正向永续合约) e.g. linear-swap + private String currency;//币种,支持大小写 e.g. usdt + private BigDecimal amount;//划转金额 + private String margin_account;//保证金账户 e.g. btc-usdt、eth-usdt +} diff --git a/src/main/java/com/huobi/api/response/coin_futures/account/ContractAccountInfoResponse.java b/src/main/java/com/huobi/api/response/coin_futures/account/ContractAccountInfoResponse.java new file mode 100644 index 0000000..18e1461 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_futures/account/ContractAccountInfoResponse.java @@ -0,0 +1,68 @@ +package com.huobi.api.response.coin_futures.account; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class ContractAccountInfoResponse { + /** + * status : ok + * data : [{"symbol":"BTC","margin_balance":1,"margin_position":0,"margin_frozen":3.33,"margin_available":0.34,"profit_real":3.45,"profit_unreal":7.45,"withdraw_available":4.0989898,"risk_rate":100,"liquidation_price":100,"adjust_factor":0.1,"margin_static":1},{"symbol":"ETH","margin_balance":1,"margin_position":0,"margin_frozen":3.33,"margin_available":0.34,"profit_real":3.45,"profit_unreal":7.45,"withdraw_available":4.7389859,"risk_rate":100,"liquidation_price":100,"adjust_factor":0.1,"margin_static":1}] + * ts : 158797866555 + */ + + private String status; + private Long ts; + private List data; + + @Data + @AllArgsConstructor + public static class DataBean { + /** + * symbol : BTC + * margin_balance : 1 + * margin_position : 0 + * margin_frozen : 3.33 + * margin_available : 0.34 + * profit_real : 3.45 + * profit_unreal : 7.45 + * withdraw_available : 4.0989898 + * risk_rate : 100 + * liquidation_price : 100 + * adjust_factor : 0.1 + * margin_static : 1 + */ + + private String symbol; + @SerializedName("margin_balance") + private BigDecimal marginBalance; + @SerializedName("margin_position") + private BigDecimal marginPosition; + @SerializedName("margin_frozen") + private BigDecimal marginFrozen; + @SerializedName("margin_available") + private BigDecimal marginAvailable; + @SerializedName("profit_real") + private BigDecimal profitReal; + @SerializedName("profit_unreal") + private BigDecimal profitUnreal; + @SerializedName("withdraw_available") + private BigDecimal withdrawAvailable; + @SerializedName("risk_rate") + private BigDecimal riskRate; + @SerializedName("liquidation_price") + private BigDecimal liquidationPrice; + @SerializedName("adjust_factor") + private BigDecimal adjustFactor; + @SerializedName("margin_static") + private BigDecimal marginStatic; + @SerializedName("lever_rate") + private Integer leverRate; + + } +} diff --git a/src/main/java/com/huobi/api/response/coin_futures/account/ContractAccountPositionInfoResponse.java b/src/main/java/com/huobi/api/response/coin_futures/account/ContractAccountPositionInfoResponse.java new file mode 100644 index 0000000..3610be1 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_futures/account/ContractAccountPositionInfoResponse.java @@ -0,0 +1,86 @@ +package com.huobi.api.response.coin_futures.account; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@AllArgsConstructor +@Data +@Builder +public class ContractAccountPositionInfoResponse { + private String status; + private Long ts; + private List data; + + @AllArgsConstructor + @Data + @Builder + public static class DataBean{ + private String symbol; + @SerializedName("margin_balance") + private BigDecimal marginBalance; + @SerializedName("margin_position") + private BigDecimal marginPosition; + @SerializedName("margin_frozen") + private BigDecimal marginFrozen; + @SerializedName("margin_available") + private BigDecimal marginAvailable; + @SerializedName("profit_real") + private BigDecimal profitReal; + @SerializedName("profit_unreal") + private BigDecimal profitUnreal; + @SerializedName("risk_rate") + private BigDecimal riskRate; + @SerializedName("withdraw_available") + private BigDecimal withdrawAvailable; + @SerializedName("liquidation_price") + private BigDecimal liquidationPrice; + @SerializedName("lever_rate") + private Integer leverRate; + @SerializedName("adjust_factor") + private BigDecimal adjustFactor; + @SerializedName("margin_static") + private BigDecimal marginStatic; + @SerializedName("new_risk_rate") + private BigDecimal newRiskRate; + @SerializedName("trade_partition") + private String tradePartition; + private List positions; + + @AllArgsConstructor + @Data + @Builder + public static class PositionsBean{ + private String symbol; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("contract_type") + private String contractType; + private BigDecimal volume; + private BigDecimal available; + private BigDecimal frozen; + @SerializedName("cost_open") + private BigDecimal costOpen; + @SerializedName("cost_hold") + private BigDecimal costHold; + @SerializedName("profit_unreal") + private BigDecimal profitUnreal; + @SerializedName("profit_rate") + private BigDecimal profitRate; + private BigDecimal profit; + @SerializedName("position_margin") + private BigDecimal positionMargin; + @SerializedName("lever_rate") + private Integer leverRate; + private String direction; + @SerializedName("last_price") + private BigDecimal lastPrice; + @SerializedName("adl_risk_percent") + private BigDecimal adlRiskPercent; + } + } +} diff --git a/src/main/java/com/huobi/api/response/coin_futures/account/ContractApiTradingStatusResponse.java b/src/main/java/com/huobi/api/response/coin_futures/account/ContractApiTradingStatusResponse.java new file mode 100644 index 0000000..cbe6410 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_futures/account/ContractApiTradingStatusResponse.java @@ -0,0 +1,69 @@ +package com.huobi.api.response.coin_futures.account; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@AllArgsConstructor +@Data +@Builder +public class ContractApiTradingStatusResponse { + private String status; + private Long ts; + private List data; + + @AllArgsConstructor + @Data + @Builder + public static class DataBean{ + @SerializedName("is_disable") + private Long isDisable; + @SerializedName("order_price_types") + private String orderPriceType; + @SerializedName("disable_reason") + private String disableReason; + @SerializedName("disable_interval") + private Long disableInterval; + @SerializedName("recovery_time") + private Long recoveryTime; + private List cor; + private List tdn; + + @AllArgsConstructor + @Data + @Builder + public static class CORBean{ + @SerializedName("orders_threshold") + private Long ordersThreshold; + private Long orders; + @SerializedName("invalid_cancel_orders") + private Long invalidCancelOrders; + @SerializedName("cancel_ratio_threshold") + private BigDecimal cancelRatioThreshold; + @SerializedName("cancel_ratio") + private BigDecimal cancelRatio; + @SerializedName("is_trigger") + private Integer isTrigger; + @SerializedName("is_active") + private Integer isActive; + } + + @AllArgsConstructor + @Data + @Builder + public static class TDNBean{ + @SerializedName("disables_threshold") + private Long disablesThreshold; + private Long disables; + @SerializedName("is_trigger") + private Long isTrigger; + @SerializedName("is_active") + private Long isActive; + + } + } +} diff --git a/src/main/java/com/huobi/api/response/coin_futures/account/ContractAvailableLevelRateResponse.java b/src/main/java/com/huobi/api/response/coin_futures/account/ContractAvailableLevelRateResponse.java new file mode 100644 index 0000000..d62202e --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_futures/account/ContractAvailableLevelRateResponse.java @@ -0,0 +1,26 @@ +package com.huobi.api.response.coin_futures.account; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.util.List; + +@AllArgsConstructor +@Builder +@Data +public class ContractAvailableLevelRateResponse { + private String status; + private Long ts; + private List data; + + @AllArgsConstructor + @Builder + @Data + public static class DataBean{ + private String symbol; + @SerializedName("available_level_rate") + private String availableLevelRate; + } +} diff --git a/src/main/java/com/huobi/api/response/coin_futures/account/ContractBalanceValuationResponse.java b/src/main/java/com/huobi/api/response/coin_futures/account/ContractBalanceValuationResponse.java new file mode 100644 index 0000000..3975191 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_futures/account/ContractBalanceValuationResponse.java @@ -0,0 +1,26 @@ +package com.huobi.api.response.coin_futures.account; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.util.List; + +@Data +@Builder +@AllArgsConstructor +public class ContractBalanceValuationResponse { + private String status; + private Long ts ; + private List data; + + @Data + @Builder + @AllArgsConstructor + public static class DataBean{ + @SerializedName("valuation_asset") + private String valuationAsset; + private String balance; + } +} diff --git a/src/main/java/com/huobi/api/response/coin_futures/account/ContractFeeResponse.java b/src/main/java/com/huobi/api/response/coin_futures/account/ContractFeeResponse.java new file mode 100644 index 0000000..3136241 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_futures/account/ContractFeeResponse.java @@ -0,0 +1,49 @@ +package com.huobi.api.response.coin_futures.account; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.util.List; + +@Data +@AllArgsConstructor +public class ContractFeeResponse { + /** + * status : ok + * data : [{"symbol":"BTC","open_maker_fee":"-0.00025","open_taker_fee":"0.00075","close_maker_fee":"-0.00025","close_taker_fee":"0.00075","delivery_fee":"0.0005"}] + * ts : 158797866555 + */ + + private String status; + private Long ts; + private List data; + + @Data + @AllArgsConstructor + public static class DataBean { + /** + * symbol : BTC + * open_maker_fee : -0.00025 + * open_taker_fee : 0.00075 + * close_maker_fee : -0.00025 + * close_taker_fee : 0.00075 + * delivery_fee : 0.0005 + */ + + private String symbol; + @SerializedName("open_maker_fee") + private String openMakerFee; + @SerializedName("open_taker_fee") + private String openTakerFee; + @SerializedName("close_maker_fee") + private String closeMakerFee; + @SerializedName("close_taker_fee") + private String closeTakerFee; + @SerializedName("delivery_fee") + private String deliveryFee; + @SerializedName("fee_asset") + private String feeAsset; + + } +} diff --git a/src/main/java/com/huobi/api/response/coin_futures/account/ContractFinancialRecordExactResponse.java b/src/main/java/com/huobi/api/response/coin_futures/account/ContractFinancialRecordExactResponse.java new file mode 100644 index 0000000..b2eb957 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_futures/account/ContractFinancialRecordExactResponse.java @@ -0,0 +1,43 @@ +package com.huobi.api.response.coin_futures.account; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@AllArgsConstructor +@Builder +@Data +public class ContractFinancialRecordExactResponse { + private String status; + private Long ts; + private List data; + + @AllArgsConstructor + @Builder + @Data + public static class DataBean{ + @SerializedName("remain_size") + private Integer remainSize; + @SerializedName("next_id") + private Long nextId; + @SerializedName("financial_record") + private List financialRecord; + + @AllArgsConstructor + @Builder + @Data + public static class FinancialRecordBean{ + private Long id; + private Long ts; + private String symbol; + @SerializedName("contract_code") + private String contractCode; + private Integer type; + private BigDecimal amount; + } + } +} diff --git a/src/main/java/com/huobi/api/response/coin_futures/account/ContractFinancialRecordExactV3Response.java b/src/main/java/com/huobi/api/response/coin_futures/account/ContractFinancialRecordExactV3Response.java new file mode 100644 index 0000000..7997a6f --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_futures/account/ContractFinancialRecordExactV3Response.java @@ -0,0 +1,33 @@ +package com.huobi.api.response.coin_futures.account; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Builder +@AllArgsConstructor +@Data +public class ContractFinancialRecordExactV3Response { + private Integer code; + private String msg; + private Long ts; + private List data; + @AllArgsConstructor + @Builder + @Data + public static class DataBean{ + @SerializedName("query_id") + private Long queryId; + private Long id; + private Long ts; + private String symbol; + @SerializedName("contract_code") + private String contractCode; + private Integer type; + private BigDecimal amount; + } +} diff --git a/src/main/java/com/huobi/api/response/coin_futures/account/ContractFinancialRecordResponse.java b/src/main/java/com/huobi/api/response/coin_futures/account/ContractFinancialRecordResponse.java new file mode 100644 index 0000000..a7d1904 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_futures/account/ContractFinancialRecordResponse.java @@ -0,0 +1,61 @@ +package com.huobi.api.response.coin_futures.account; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class ContractFinancialRecordResponse { + /** + * status : ok + * data : {"financial_record":[{"id":192838272,"ts":1408076414000,"symbol":"BTC","type":1,"amount":1}],"total_page":15,"current_page":3,"total_size":3} + * ts : 1490759594752 + */ + + private String status; + private DataBean data; + private long ts; + + @Data + @AllArgsConstructor + public static class DataBean { + /** + * financial_record : [{"id":192838272,"ts":1408076414000,"symbol":"BTC","type":1,"amount":1}] + * total_page : 15 + * current_page : 3 + * total_size : 3 + */ + + @SerializedName("total_page") + private Integer totalPage; + @SerializedName("current_page") + private Integer currentPage; + @SerializedName("total_size") + private Integer totalSize; + @SerializedName("financial_record") + private List financialRecord; + + @Data + @AllArgsConstructor + public static class FinancialRecordBean { + /** + * id : 192838272 + * ts : 1408076414000 + * symbol : BTC + * type : 1 + * amount : 1 + */ + + private Long id; + private Long ts; + private String symbol; + private Integer type; + private BigDecimal amount; + + } + } +} diff --git a/src/main/java/com/huobi/api/response/coin_futures/account/ContractFinancialRecordV3Response.java b/src/main/java/com/huobi/api/response/coin_futures/account/ContractFinancialRecordV3Response.java new file mode 100644 index 0000000..999e702 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_futures/account/ContractFinancialRecordV3Response.java @@ -0,0 +1,33 @@ +package com.huobi.api.response.coin_futures.account; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Builder +@AllArgsConstructor +@Data +public class ContractFinancialRecordV3Response { + private Integer code; + private String msg; + private Long ts; + private List data; + @AllArgsConstructor + @Builder + @Data + public static class DataBean{ + @SerializedName("query_id") + private Long queryId; + private Long id; + private Long ts; + private String symbol; + @SerializedName("contract_code") + private String contractCode; + private Integer type; + private BigDecimal amount; + } +} diff --git a/src/main/java/com/huobi/api/response/coin_futures/account/ContractMasterSubTransferRecordResponse.java b/src/main/java/com/huobi/api/response/coin_futures/account/ContractMasterSubTransferRecordResponse.java new file mode 100644 index 0000000..a04bc37 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_futures/account/ContractMasterSubTransferRecordResponse.java @@ -0,0 +1,48 @@ +package com.huobi.api.response.coin_futures.account; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@AllArgsConstructor +@Data +@Builder +public class ContractMasterSubTransferRecordResponse { + private String status; + private Long ts; + private List data; + + @AllArgsConstructor + @Data + @Builder + public static class DataBean{ + @SerializedName("total_page") + private Integer total_page; + @SerializedName("total_page") + private Integer current_page; + @SerializedName("total_size") + private Integer total_size; + @SerializedName("transfer_record") + private List transferRecord; + + @AllArgsConstructor + @Data + @Builder + public static class TransferRecordBean{ + private Long id; + private Long ts; + private String symbol; + @SerializedName("sub_uid") + private String subUid; + @SerializedName("sub_account_name") + private String subAccountName; + @SerializedName("transfer_type") + private Integer transferType; + private BigDecimal amount; + } + } +} diff --git a/src/main/java/com/huobi/api/response/coin_futures/account/ContractMasterSubTransferResponse.java b/src/main/java/com/huobi/api/response/coin_futures/account/ContractMasterSubTransferResponse.java new file mode 100644 index 0000000..fea376c --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_futures/account/ContractMasterSubTransferResponse.java @@ -0,0 +1,23 @@ +package com.huobi.api.response.coin_futures.account; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + + +@Data +@AllArgsConstructor +public class ContractMasterSubTransferResponse { + private String status; + private Long ts; + private DataBean data; + + @Data + @AllArgsConstructor + public static class DataBean{ + @SerializedName("order_id") + private String orderId; + @SerializedName("client_order_id") + private Long clientOrderId; + } +} diff --git a/src/main/java/com/huobi/api/response/coin_futures/account/ContractOrderLimitResponse.java b/src/main/java/com/huobi/api/response/coin_futures/account/ContractOrderLimitResponse.java new file mode 100644 index 0000000..ce86472 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_futures/account/ContractOrderLimitResponse.java @@ -0,0 +1,65 @@ +package com.huobi.api.response.coin_futures.account; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class ContractOrderLimitResponse { + /** + * status : ok + * data : {"order_price_type":"limit","list":[{"symbol":"BTC","types":[{"contract_type":"this_week","open_limit":3000,"close_limit":3000},{"contract_type":"next_week","open_limit":3000,"close_limit":3000},{"contract_type":"quarter","open_limit":3000,"close_limit":3000}]}]} + * ts : 158797866555 + */ + + private String status; + private DataBean data; + private Long ts; + + @Data + @AllArgsConstructor + public static class DataBean { + /** + * order_price_type : limit + * list : [{"symbol":"BTC","types":[{"contract_type":"this_week","open_limit":3000,"close_limit":3000},{"contract_type":"next_week","open_limit":3000,"close_limit":3000},{"contract_type":"quarter","open_limit":3000,"close_limit":3000}]}] + */ + + @SerializedName("order_price_type") + private String orderPriceType; + private List list; + + @Data + @AllArgsConstructor + public static class ListBean { + /** + * symbol : BTC + * types : [{"contract_type":"this_week","open_limit":3000,"close_limit":3000},{"contract_type":"next_week","open_limit":3000,"close_limit":3000},{"contract_type":"quarter","open_limit":3000,"close_limit":3000}] + */ + + private String symbol; + private List types; + + @Data + @AllArgsConstructor + public static class TypesBean { + /** + * contract_type : this_week + * open_limit : 3000 + * close_limit : 3000 + */ + + @SerializedName("contract_type") + private String contractType; + @SerializedName("open_limit") + private BigDecimal openLimit; + @SerializedName("close_limit") + private BigDecimal closeLimit; + + } + } + } +} diff --git a/src/main/java/com/huobi/api/response/coin_futures/account/ContractPositionInfoResponse.java b/src/main/java/com/huobi/api/response/coin_futures/account/ContractPositionInfoResponse.java new file mode 100644 index 0000000..4b58067 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_futures/account/ContractPositionInfoResponse.java @@ -0,0 +1,80 @@ +package com.huobi.api.response.coin_futures.account; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class ContractPositionInfoResponse { + + /** + * status : ok + * data : [{"symbol":"BTC","contract_code":"BTC180914","contract_type":"this_week","volume":1,"available":0,"frozen":0.3,"cost_open":422.78,"cost_hold":422.78,"profit_unreal":7.096E-5,"profit_rate":0.07,"profit":0.97,"position_margin":3.4,"lever_rate":10,"direction":"buy","last_price":7900.17}] + * ts : 158797866555 + */ + + private String status; + private Long ts; + private List data; + + @Data + @AllArgsConstructor + public static class DataBean { + /** + * symbol : BTC + * contract_code : BTC180914 + * contract_type : this_week + * volume : 1 + * available : 0 + * frozen : 0.3 + * cost_open : 422.78 + * cost_hold : 422.78 + * profit_unreal : 7.096E-5 + * profit_rate : 0.07 + * profit : 0.97 + * position_margin : 3.4 + * lever_rate : 10 + * direction : buy + * last_price : 7900.17 + */ + + private String symbol; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("contract_type") + private String contractType; + private BigDecimal volume; + private BigDecimal available; + private BigDecimal frozen; + @SerializedName("cost_open") + private BigDecimal costOpen; + @SerializedName("cost_hold") + private BigDecimal costHold; + @SerializedName("profit_unreal") + private BigDecimal profitUnreal; + @SerializedName("profit_rate") + private BigDecimal profitRate; + private BigDecimal profit; + @SerializedName("position_margin") + private BigDecimal positionMargin; + @SerializedName("lever_rate") + private Integer leverRate; + private String direction; + @SerializedName("last_price") + private BigDecimal lastPrice; + @SerializedName("adl_risk_percent") + private BigDecimal adlRiskPercent; + @SerializedName("liq_px") + private String liqPx; + @SerializedName("new_risk_rate") + private BigDecimal newRiskRate; + @SerializedName("trade_partition") + private String tradePartition; + + + } +} diff --git a/src/main/java/com/huobi/api/response/coin_futures/account/ContractPositionLimitResponse.java b/src/main/java/com/huobi/api/response/coin_futures/account/ContractPositionLimitResponse.java new file mode 100644 index 0000000..4e19e47 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_futures/account/ContractPositionLimitResponse.java @@ -0,0 +1,51 @@ +package com.huobi.api.response.coin_futures.account; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class ContractPositionLimitResponse { + /** + * status : ok + * data : [{"symbol":"BTC","list":[{"contract_type":"all","buy_limit":5000,"sell_limit":5000},{"contract_type":"this_week","buy_limit":3000,"sell_limit":3000},{"contract_type":"next_week","buy_limit":3000,"sell_limit":3000},{"contract_type":"quarter","buy_limit":3000,"sell_limit":3000}]}] + * ts : 158797866555 + */ + + private String status; + private long ts; + private List data; + + @Data + @AllArgsConstructor + public static class DataBean { + /** + * symbol : BTC + * list : [{"contract_type":"all","buy_limit":5000,"sell_limit":5000},{"contract_type":"this_week","buy_limit":3000,"sell_limit":3000},{"contract_type":"next_week","buy_limit":3000,"sell_limit":3000},{"contract_type":"quarter","buy_limit":3000,"sell_limit":3000}] + */ + + private String symbol; + private List list; + + @Data + @AllArgsConstructor + public static class ListBean { + /** + * contract_type : all + * buy_limit : 5000 + * sell_limit : 5000 + */ + + private String contract_type; + @SerializedName("buy_limit") + private BigDecimal buyLimit; + @SerializedName("sell_limit") + private BigDecimal sellLimit; + + } + } +} diff --git a/src/main/java/com/huobi/api/response/coin_futures/account/ContractSubAccountInfoListResponse.java b/src/main/java/com/huobi/api/response/coin_futures/account/ContractSubAccountInfoListResponse.java new file mode 100644 index 0000000..1babc88 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_futures/account/ContractSubAccountInfoListResponse.java @@ -0,0 +1,55 @@ +package com.huobi.api.response.coin_futures.account; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Builder +@Data +@AllArgsConstructor +public class ContractSubAccountInfoListResponse { + private String status; + private Long ts; + private List data; + + @Builder + @Data + @AllArgsConstructor + public static class DataBean{ + @SerializedName("current_page") + private Integer currentPage; + @SerializedName("total_page") + private Integer totalPage; + @SerializedName("total_size") + private Integer totalSize; + @SerializedName("sub_list") + private List subList; + + @Builder + @Data + @AllArgsConstructor + public static class SubListBean{ + @SerializedName("sub_uid") + private Long subUid; + @SerializedName("account_info_list") + private List accountInfoList; + + @Builder + @Data + @AllArgsConstructor + public static class AccountInfoList{ + private String symbol; + @SerializedName("margin_balance") + private BigDecimal marginBalance; + @SerializedName("liquidation_price") + private BigDecimal liquidationPrice; + @SerializedName("risk_rate") + private BigDecimal riskRate; + } + } + } +} diff --git a/src/main/java/com/huobi/api/response/coin_futures/account/ContractSubAccountInfoResponse.java b/src/main/java/com/huobi/api/response/coin_futures/account/ContractSubAccountInfoResponse.java new file mode 100644 index 0000000..d9ac5ca --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_futures/account/ContractSubAccountInfoResponse.java @@ -0,0 +1,70 @@ +package com.huobi.api.response.coin_futures.account; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class ContractSubAccountInfoResponse { + + /** + * status : ok + * data : [{"symbol":"BTC","margin_balance":1,"margin_position":0,"margin_frozen":3.33,"margin_available":0.34,"profit_real":3.45,"profit_unreal":7.45,"withdraw_available":4.0989898,"risk_rate":100,"liquidation_price":100,"adjust_factor":0.1}] + * ts : 158797866555 + */ + + private String status; + private long ts; + private List data; + + @Data + @AllArgsConstructor + public static class DataBean { + /** + * symbol : BTC + * margin_balance : 1 + * margin_position : 0 + * margin_frozen : 3.33 + * margin_available : 0.34 + * profit_real : 3.45 + * profit_unreal : 7.45 + * withdraw_available : 4.0989898 + * risk_rate : 100 + * liquidation_price : 100 + * adjust_factor : 0.1 + */ + + private String symbol; + @SerializedName("margin_balance") + private BigDecimal marginBalance; + @SerializedName("margin_position") + private BigDecimal marginPosition; + @SerializedName("margin_frozen") + private BigDecimal marginFrozen; + @SerializedName("margin_available") + private BigDecimal marginAvailable; + @SerializedName("profit_real") + private BigDecimal profitReal; + @SerializedName("profit_unreal") + private BigDecimal profitUnreal; + @SerializedName("withdraw_available") + private BigDecimal withdrawAvailable; + @SerializedName("risk_rate") + private BigDecimal riskRate; + @SerializedName("liquidation_price") + private BigDecimal liquidationPrice; + @SerializedName("adjust_factor") + private BigDecimal adjustFactor; + @SerializedName("lever_rate") + private Integer leverRate; + @SerializedName("margin_static") + private BigDecimal marginStatic; + @SerializedName("new_risk_rate") + private BigDecimal newRiskRate; + + } +} diff --git a/src/main/java/com/huobi/api/response/coin_futures/account/ContractSubAccountListResponse.java b/src/main/java/com/huobi/api/response/coin_futures/account/ContractSubAccountListResponse.java new file mode 100644 index 0000000..4a1aec3 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_futures/account/ContractSubAccountListResponse.java @@ -0,0 +1,58 @@ +package com.huobi.api.response.coin_futures.account; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class ContractSubAccountListResponse { + + /** + * status : ok + * ts : 1499223904680 + * data : [{"sub_uid":9910049,"list":[{"symbol":"BTC","margin_balance":1,"liquidation_price":100,"risk_rate":100},{"symbol":"ETH","margin_balance":1,"liquidation_price":100,"risk_rate":100}]},{"sub_uid":9910048,"list":[{"symbol":"BTC","margin_balance":1,"liquidation_price":100,"risk_rate":100},{"symbol":"ETH","margin_balance":1,"liquidation_price":100,"risk_rate":100}]}] + */ + + private String status; + private long ts; + private List data; + + @Data + @AllArgsConstructor + public static class DataBean { + /** + * sub_uid : 9910049 + * list : [{"symbol":"BTC","margin_balance":1,"liquidation_price":100,"risk_rate":100},{"symbol":"ETH","margin_balance":1,"liquidation_price":100,"risk_rate":100}] + */ + + @SerializedName("sub_uid") + private Long subUid; + private List list; + + @Data + @AllArgsConstructor + public static class ListBean { + /** + * symbol : BTC + * margin_balance : 1 + * liquidation_price : 100 + * risk_rate : 100 + */ + + private String symbol; + @SerializedName("margin_balance") + private BigDecimal marginBalance; + @SerializedName("liquidation_price") + private BigDecimal liquidationPrice; + @SerializedName("risk_rate") + private BigDecimal riskRate; + @SerializedName("query_id") + private Long queryId; + + } + } +} diff --git a/src/main/java/com/huobi/api/response/coin_futures/account/ContractSubAuthListResponse.java b/src/main/java/com/huobi/api/response/coin_futures/account/ContractSubAuthListResponse.java new file mode 100644 index 0000000..f6982df --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_futures/account/ContractSubAuthListResponse.java @@ -0,0 +1,49 @@ +package com.huobi.api.response.coin_futures.account; + +import com.google.gson.annotations.SerializedName; +import com.huobi.api.response.usdt.account.SwapSubAuthListResponse; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.util.List; + +@Builder +@AllArgsConstructor +@Data +public class ContractSubAuthListResponse { + private String status; + private Long ts; + @AllArgsConstructor + @Builder + @Data + public static class DataBean { + private List errors; + private List successes; + @AllArgsConstructor + @Builder + @Data + public static class Error { + @SerializedName("sub_uid") + private String subUid; + + @SerializedName("err_code") + private String errCode; + + @SerializedName("err_msg") + private String errMsg; + } + @AllArgsConstructor + @Builder + @Data + public static class Success { + @SerializedName("sub_uid") + private String subUid; + + @SerializedName("sub_auth") + private String subAuth; + @SerializedName("query_id") + private Long queryId; + } + } +} diff --git a/src/main/java/com/huobi/api/response/coin_futures/account/ContractSubAuthResponse.java b/src/main/java/com/huobi/api/response/coin_futures/account/ContractSubAuthResponse.java new file mode 100644 index 0000000..64dcfb5 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_futures/account/ContractSubAuthResponse.java @@ -0,0 +1,37 @@ +package com.huobi.api.response.coin_futures.account; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.util.List; + +@Builder +@Data +@AllArgsConstructor +public class ContractSubAuthResponse { + private String status; + private Long ts; + private List data; + + @Builder + @Data + @AllArgsConstructor + public static class DataBean{ + private String successes; + private List errors; + + @Builder + @Data + @AllArgsConstructor + public static class ErrorsBean{ + @SerializedName("sub_uid") + private String subUid; + @SerializedName("err_code") + private Integer errCode; + @SerializedName("err_msg") + private String errMsg; + } + } +} diff --git a/src/main/java/com/huobi/api/response/coin_futures/account/ContractSubPositionInfoResponse.java b/src/main/java/com/huobi/api/response/coin_futures/account/ContractSubPositionInfoResponse.java new file mode 100644 index 0000000..2ee72e8 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_futures/account/ContractSubPositionInfoResponse.java @@ -0,0 +1,77 @@ +package com.huobi.api.response.coin_futures.account; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class ContractSubPositionInfoResponse { + + /** + * status : ok + * ts : 158797866555 + * data : [{"symbol":"BTC","contract_code":"BTC180914","contract_type":"this_week","volume":1,"available":0,"frozen":0.3,"cost_open":422.78,"cost_hold":422.78,"profit_unreal":7.096E-5,"profit_rate":0.07,"profit":0.97,"position_margin":3.4,"lever_rate":10,"direction":"buy"}] + */ + + private String status; + private Long ts; + private List data; + + @Data + @AllArgsConstructor + public static class DataBean { + /** + * symbol : BTC + * contract_code : BTC180914 + * contract_type : this_week + * volume : 1 + * available : 0 + * frozen : 0.3 + * cost_open : 422.78 + * cost_hold : 422.78 + * profit_unreal : 7.096E-5 + * profit_rate : 0.07 + * profit : 0.97 + * position_margin : 3.4 + * lever_rate : 10 + * direction : buy + */ + + private String symbol; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("contract_type") + private String contractType; + private BigDecimal volume; + private BigDecimal available; + private BigDecimal frozen; + @SerializedName("cost_open") + private BigDecimal costOpen; + @SerializedName("cost_hold") + private BigDecimal costHold; + @SerializedName("profit_unreal") + private BigDecimal profitUnreal; + @SerializedName("profit_rate") + private BigDecimal profitRate; + private BigDecimal profit; + @SerializedName("position_margin") + private BigDecimal positionMargin; + @SerializedName("lever_rate") + private Integer leverRate; + private String direction; + @SerializedName("last_price") + private BigDecimal lastPrice; + @SerializedName("adl_risk_percent") + private BigDecimal adlRiskPercent; + @SerializedName("liq_px") + private String liqPx; + @SerializedName("new_risk_rate") + private BigDecimal newRiskRate; + + + } +} diff --git a/src/main/java/com/huobi/api/response/coin_futures/account/ContractTransferLimitResponse.java b/src/main/java/com/huobi/api/response/coin_futures/account/ContractTransferLimitResponse.java new file mode 100644 index 0000000..a8ee475 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_futures/account/ContractTransferLimitResponse.java @@ -0,0 +1,57 @@ +package com.huobi.api.response.coin_futures.account; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class ContractTransferLimitResponse { + /** + * status : ok + * data : [{"symbol":"BTC","transfer_in_max_each":5000,"transfer_in_min_each":5000,"transfer_out_max_each":5000,"transfer_out_min_each":5000,"transfer_in_max_daily":5000,"transfer_out_max_daily":5000,"net_transfer_in_max_daily":5000,"net_transfer_out_max_daily":5000}] + * ts : 158797866555 + */ + + private String status; + private long ts; + private List data; + + @Data + @AllArgsConstructor + public static class DataBean { + /** + * symbol : BTC + * transfer_in_max_each : 5000 + * transfer_in_min_each : 5000 + * transfer_out_max_each : 5000 + * transfer_out_min_each : 5000 + * transfer_in_max_daily : 5000 + * transfer_out_max_daily : 5000 + * net_transfer_in_max_daily : 5000 + * net_transfer_out_max_daily : 5000 + */ + + private String symbol; + @SerializedName("transfer_in_max_each") + private BigDecimal transferInMaxEach; + @SerializedName("transfer_in_min_each") + private BigDecimal transferInMinEach; + @SerializedName("transfer_out_max_each") + private BigDecimal transferOutMaxEach; + @SerializedName("transfer_out_min_each") + private BigDecimal transferOutMinEach; + @SerializedName("transfer_in_max_daily") + private BigDecimal transferInMaxDaily; + @SerializedName("transfer_out_max_daily") + private BigDecimal transferOutMaxDaily; + @SerializedName("net_transfer_in_max_daily") + private BigDecimal netTransferInMaxDaily; + @SerializedName("net_transfer_out_max_daily") + private BigDecimal netTransferOutMaxDaily; + + } +} diff --git a/src/main/java/com/huobi/api/response/coin_futures/account/ContractUserSettlementRecordsResponse.java b/src/main/java/com/huobi/api/response/coin_futures/account/ContractUserSettlementRecordsResponse.java new file mode 100644 index 0000000..c76a0c2 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_futures/account/ContractUserSettlementRecordsResponse.java @@ -0,0 +1,80 @@ +package com.huobi.api.response.coin_futures.account; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@AllArgsConstructor +@Builder +@Data +public class ContractUserSettlementRecordsResponse { + private String status; + private Long ts; + private List data; + + @AllArgsConstructor + @Builder + @Data + public static class DataBean{ + @SerializedName("total_page") + private Integer totalPage; + @SerializedName("current_page") + private Integer currentPage; + @SerializedName("total_size") + private Integer totalSize; + @SerializedName("settlement_records") + private List settlementRecords; + + @AllArgsConstructor + @Builder + @Data + public static class SettlementRecordsBean{ + private String symbol; + @SerializedName("margin_balance_init") + private BigDecimal marginBalanceInit; + @SerializedName("margin_balance") + private BigDecimal marginBalance; + @SerializedName("settlement_profit_real") + private BigDecimal settlementProfitReal; + @SerializedName("settlement_time") + private Long settlementTime; + @SerializedName("clawback") + private BigDecimal clawback; + @SerializedName("delivery_fee") + private BigDecimal deliveryFee; + @SerializedName("offset_profitloss") + private BigDecimal offsetProfitloss; + private BigDecimal fee; + @SerializedName("fee_asset") + private String feeAsset; + private List positions; + + @AllArgsConstructor + @Builder + @Data + public static class PositionsBean{ + private String symbol; + @SerializedName("contract_code") + private String contractCode; + private String direction; + private BigDecimal volume; + @SerializedName("cost_open") + private BigDecimal costOpen; + @SerializedName("cost_hold_pre") + private BigDecimal costHoldPre; + @SerializedName("cost_hold") + private BigDecimal costHold; + @SerializedName("settlement_profit_unreal") + private BigDecimal settlementProfitUnreal; + @SerializedName("settlement_price") + private BigDecimal settlementPrice; + @SerializedName("settlement_type") + private String settlementType; + } + } + } +} diff --git a/src/main/java/com/huobi/api/response/coin_futures/market/ContractAdjustfactorResponse.java b/src/main/java/com/huobi/api/response/coin_futures/market/ContractAdjustfactorResponse.java new file mode 100644 index 0000000..e01e597 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_futures/market/ContractAdjustfactorResponse.java @@ -0,0 +1,72 @@ +package com.huobi.api.response.coin_futures.market; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class ContractAdjustfactorResponse { + + + /** + * status : ok + * data : [{"symbol":"BTC","list":[{"lever_rate":5,"ladders":[{"ladder":0,"min_size":0,"max_size":999,"adjust_factor":0.05},{"ladder":1,"min_size":1000,"max_size":9999,"adjust_factor":0.06},{"ladder":2,"min_size":10000,"max_size":null,"adjust_factor":0.08}]},{"lever_rate":20,"ladders":[{"ladder":0,"min_size":0,"max_size":999,"adjust_factor":0.2},{"ladder":1,"min_size":1000,"max_size":9999,"adjust_factor":0.24},{"ladder":2,"min_size":10000,"max_size":null,"adjust_factor":0.28}]},{"lever_rate":10,"ladders":[{"ladder":0,"min_size":0,"max_size":999,"adjust_factor":0.1},{"ladder":1,"min_size":1000,"max_size":9999,"adjust_factor":0.12},{"ladder":2,"min_size":10000,"max_size":null,"adjust_factor":0.14}]},{"lever_rate":1,"ladders":[{"ladder":0,"min_size":0,"max_size":999,"adjust_factor":0.01},{"ladder":1,"min_size":1000,"max_size":9999,"adjust_factor":0.015},{"ladder":2,"min_size":10000,"max_size":null,"adjust_factor":0.02}]}]},{"symbol":"BSV","list":[{"lever_rate":1,"ladders":[{"ladder":0,"min_size":0,"max_size":4999,"adjust_factor":0.015},{"ladder":1,"min_size":5000,"max_size":19999,"adjust_factor":0.015},{"ladder":2,"min_size":20000,"max_size":null,"adjust_factor":0.02}]},{"lever_rate":10,"ladders":[{"ladder":0,"min_size":0,"max_size":4999,"adjust_factor":0.15},{"ladder":1,"min_size":5000,"max_size":19999,"adjust_factor":0.2},{"ladder":2,"min_size":20000,"max_size":null,"adjust_factor":0.25}]},{"lever_rate":5,"ladders":[{"ladder":0,"min_size":0,"max_size":4999,"adjust_factor":0.075},{"ladder":1,"min_size":5000,"max_size":19999,"adjust_factor":0.1},{"ladder":2,"min_size":20000,"max_size":null,"adjust_factor":0.12}]},{"lever_rate":20,"ladders":[{"ladder":0,"min_size":0,"max_size":4999,"adjust_factor":0.35},{"ladder":1,"min_size":5000,"max_size":19999,"adjust_factor":0.4},{"ladder":2,"min_size":20000,"max_size":null,"adjust_factor":0.45}]}]},{"symbol":"BCH","list":[{"lever_rate":10,"ladders":[{"ladder":0,"min_size":0,"max_size":4999,"adjust_factor":0.12},{"ladder":1,"min_size":5000,"max_size":19999,"adjust_factor":0.16},{"ladder":2,"min_size":20000,"max_size":null,"adjust_factor":0.2}]},{"lever_rate":20,"ladders":[{"ladder":0,"min_size":0,"max_size":4999,"adjust_factor":0.28},{"ladder":1,"min_size":5000,"max_size":19999,"adjust_factor":0.32},{"ladder":2,"min_size":20000,"max_size":null,"adjust_factor":0.38}]},{"lever_rate":1,"ladders":[{"ladder":0,"min_size":0,"max_size":4999,"adjust_factor":0.015},{"ladder":1,"min_size":5000,"max_size":19999,"adjust_factor":0.015},{"ladder":2,"min_size":20000,"max_size":null,"adjust_factor":0.02}]},{"lever_rate":5,"ladders":[{"ladder":0,"min_size":0,"max_size":4999,"adjust_factor":0.06},{"ladder":1,"min_size":5000,"max_size":19999,"adjust_factor":0.08},{"ladder":2,"min_size":20000,"max_size":null,"adjust_factor":0.1}]}]},{"symbol":"XRP","list":[{"lever_rate":20,"ladders":[{"ladder":0,"min_size":0,"max_size":4999,"adjust_factor":0.35},{"ladder":1,"min_size":5000,"max_size":19999,"adjust_factor":0.4},{"ladder":2,"min_size":20000,"max_size":null,"adjust_factor":0.45}]},{"lever_rate":10,"ladders":[{"ladder":0,"min_size":0,"max_size":4999,"adjust_factor":0.15},{"ladder":1,"min_size":5000,"max_size":19999,"adjust_factor":0.2},{"ladder":2,"min_size":20000,"max_size":null,"adjust_factor":0.25}]},{"lever_rate":1,"ladders":[{"ladder":0,"min_size":0,"max_size":4999,"adjust_factor":0.015},{"ladder":1,"min_size":5000,"max_size":19999,"adjust_factor":0.015},{"ladder":2,"min_size":20000,"max_size":null,"adjust_factor":0.02}]},{"lever_rate":5,"ladders":[{"ladder":0,"min_size":0,"max_size":4999,"adjust_factor":0.075},{"ladder":1,"min_size":5000,"max_size":19999,"adjust_factor":0.1},{"ladder":2,"min_size":20000,"max_size":null,"adjust_factor":0.12}]}]},{"symbol":"ETH","list":[{"lever_rate":20,"ladders":[{"ladder":0,"min_size":0,"max_size":9999,"adjust_factor":0.28},{"ladder":1,"min_size":10000,"max_size":49999,"adjust_factor":0.32},{"ladder":2,"min_size":50000,"max_size":null,"adjust_factor":0.38}]},{"lever_rate":10,"ladders":[{"ladder":0,"min_size":0,"max_size":9999,"adjust_factor":0.12},{"ladder":1,"min_size":10000,"max_size":49999,"adjust_factor":0.16},{"ladder":2,"min_size":50000,"max_size":null,"adjust_factor":0.2}]},{"lever_rate":5,"ladders":[{"ladder":0,"min_size":0,"max_size":9999,"adjust_factor":0.06},{"ladder":1,"min_size":10000,"max_size":49999,"adjust_factor":0.08},{"ladder":2,"min_size":50000,"max_size":null,"adjust_factor":0.1}]},{"lever_rate":1,"ladders":[{"ladder":0,"min_size":0,"max_size":9999,"adjust_factor":0.015},{"ladder":1,"min_size":10000,"max_size":49999,"adjust_factor":0.015},{"ladder":2,"min_size":50000,"max_size":null,"adjust_factor":0.02}]}]},{"symbol":"EOS","list":[{"lever_rate":20,"ladders":[{"ladder":0,"min_size":0,"max_size":9999,"adjust_factor":0.28},{"ladder":1,"min_size":10000,"max_size":49999,"adjust_factor":0.32},{"ladder":2,"min_size":50000,"max_size":null,"adjust_factor":0.38}]},{"lever_rate":5,"ladders":[{"ladder":0,"min_size":0,"max_size":9999,"adjust_factor":0.06},{"ladder":1,"min_size":10000,"max_size":49999,"adjust_factor":0.08},{"ladder":2,"min_size":50000,"max_size":null,"adjust_factor":0.1}]},{"lever_rate":10,"ladders":[{"ladder":0,"min_size":0,"max_size":9999,"adjust_factor":0.12},{"ladder":1,"min_size":10000,"max_size":49999,"adjust_factor":0.16},{"ladder":2,"min_size":50000,"max_size":null,"adjust_factor":0.2}]},{"lever_rate":1,"ladders":[{"ladder":0,"min_size":0,"max_size":9999,"adjust_factor":0.015},{"ladder":1,"min_size":10000,"max_size":49999,"adjust_factor":0.015},{"ladder":2,"min_size":50000,"max_size":null,"adjust_factor":0.02}]}]},{"symbol":"LTC","list":[{"lever_rate":20,"ladders":[{"ladder":0,"min_size":0,"max_size":4999,"adjust_factor":0.28},{"ladder":1,"min_size":5000,"max_size":19999,"adjust_factor":0.32},{"ladder":2,"min_size":20000,"max_size":null,"adjust_factor":0.38}]},{"lever_rate":10,"ladders":[{"ladder":0,"min_size":0,"max_size":4999,"adjust_factor":0.12},{"ladder":1,"min_size":5000,"max_size":19999,"adjust_factor":0.16},{"ladder":2,"min_size":20000,"max_size":null,"adjust_factor":0.2}]},{"lever_rate":5,"ladders":[{"ladder":0,"min_size":0,"max_size":4999,"adjust_factor":0.06},{"ladder":1,"min_size":5000,"max_size":19999,"adjust_factor":0.08},{"ladder":2,"min_size":20000,"max_size":null,"adjust_factor":0.1}]},{"lever_rate":1,"ladders":[{"ladder":0,"min_size":0,"max_size":4999,"adjust_factor":0.015},{"ladder":1,"min_size":5000,"max_size":19999,"adjust_factor":0.015},{"ladder":2,"min_size":20000,"max_size":null,"adjust_factor":0.02}]}]},{"symbol":"TRX","list":[{"lever_rate":10,"ladders":[{"ladder":0,"min_size":0,"max_size":4999,"adjust_factor":0.15},{"ladder":1,"min_size":5000,"max_size":19999,"adjust_factor":0.2},{"ladder":2,"min_size":20000,"max_size":null,"adjust_factor":0.25}]},{"lever_rate":5,"ladders":[{"ladder":0,"min_size":0,"max_size":4999,"adjust_factor":0.075},{"ladder":1,"min_size":5000,"max_size":19999,"adjust_factor":0.1},{"ladder":2,"min_size":20000,"max_size":null,"adjust_factor":0.12}]},{"lever_rate":20,"ladders":[{"ladder":0,"min_size":0,"max_size":4999,"adjust_factor":0.35},{"ladder":1,"min_size":5000,"max_size":19999,"adjust_factor":0.4},{"ladder":2,"min_size":20000,"max_size":null,"adjust_factor":0.45}]},{"lever_rate":1,"ladders":[{"ladder":0,"min_size":0,"max_size":4999,"adjust_factor":0.015},{"ladder":1,"min_size":5000,"max_size":19999,"adjust_factor":0.015},{"ladder":2,"min_size":20000,"max_size":null,"adjust_factor":0.02}]}]}] + * ts : 1570779915091 + */ + + private String status; + private Long ts; + private List data; + + + @Data + @AllArgsConstructor + public static class DataBean { + /** + * symbol : BTC + * list : [{"lever_rate":5,"ladders":[{"ladder":0,"min_size":0,"max_size":999,"adjust_factor":0.05},{"ladder":1,"min_size":1000,"max_size":9999,"adjust_factor":0.06},{"ladder":2,"min_size":10000,"max_size":null,"adjust_factor":0.08}]},{"lever_rate":20,"ladders":[{"ladder":0,"min_size":0,"max_size":999,"adjust_factor":0.2},{"ladder":1,"min_size":1000,"max_size":9999,"adjust_factor":0.24},{"ladder":2,"min_size":10000,"max_size":null,"adjust_factor":0.28}]},{"lever_rate":10,"ladders":[{"ladder":0,"min_size":0,"max_size":999,"adjust_factor":0.1},{"ladder":1,"min_size":1000,"max_size":9999,"adjust_factor":0.12},{"ladder":2,"min_size":10000,"max_size":null,"adjust_factor":0.14}]},{"lever_rate":1,"ladders":[{"ladder":0,"min_size":0,"max_size":999,"adjust_factor":0.01},{"ladder":1,"min_size":1000,"max_size":9999,"adjust_factor":0.015},{"ladder":2,"min_size":10000,"max_size":null,"adjust_factor":0.02}]}] + */ + + private String symbol; + private List list; + + + + @Data + @AllArgsConstructor + public static class ListBean { + /** + * lever_rate : 5 + * ladders : [{"ladder":0,"min_size":0,"max_size":999,"adjust_factor":0.05},{"ladder":1,"min_size":1000,"max_size":9999,"adjust_factor":0.06},{"ladder":2,"min_size":10000,"max_size":null,"adjust_factor":0.08}] + */ + + private Integer lever_rate; + private List ladders; + + + @Data + @AllArgsConstructor + public static class LaddersBean { + /** + * ladder : 0 + * min_size : 0 + * max_size : 999 + * adjust_factor : 0.05 + */ + + private Integer ladder; + @SerializedName("min_size") + private Integer minSize; + @SerializedName("max_size") + private Integer maxSize; + @SerializedName("adjust_factor") + private BigDecimal adjustFactor; + + } + } + } +} diff --git a/src/main/java/com/huobi/api/response/coin_futures/market/ContractApiStateResponse.java b/src/main/java/com/huobi/api/response/coin_futures/market/ContractApiStateResponse.java new file mode 100644 index 0000000..d24913b --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_futures/market/ContractApiStateResponse.java @@ -0,0 +1,49 @@ +package com.huobi.api.response.coin_futures.market; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.util.List; + +@Data +@AllArgsConstructor +public class ContractApiStateResponse { + + /** + * status : ok + * data : [{"symbol":"BTC","open":1,"close":1,"cancel":1,"transfer_in":1,"transfer_out":1},{"symbol":"BSV","open":1,"close":1,"cancel":1,"transfer_in":1,"transfer_out":1},{"symbol":"BCH","open":1,"close":1,"cancel":1,"transfer_in":1,"transfer_out":1},{"symbol":"XRP","open":1,"close":1,"cancel":1,"transfer_in":1,"transfer_out":1},{"symbol":"ETH","open":1,"close":1,"cancel":1,"transfer_in":1,"transfer_out":1},{"symbol":"EOS","open":1,"close":1,"cancel":1,"transfer_in":1,"transfer_out":1},{"symbol":"LTC","open":1,"close":1,"cancel":1,"transfer_in":1,"transfer_out":1},{"symbol":"TRX","open":1,"close":1,"cancel":1,"transfer_in":1,"transfer_out":1}] + * ts : 1571363224839 + */ + + private String status; + private Long ts; + private List data; + + @Data + @AllArgsConstructor + public static class DataBean { + /** + * symbol : BTC + * open : 1 + * close : 1 + * cancel : 1 + * transfer_in : 1 + * transfer_out : 1 + */ + + private String symbol; + private Integer open; + private Integer close; + private Integer cancel; + @SerializedName("transfer_in") + private Integer transferIn; + @SerializedName("transfer_out") + private Integer transferOut; + @SerializedName("master_transfer_sub") + private Integer masterTransferSub; + @SerializedName("sub_transfer_master") + private Integer subTransferMaster; + + } +} diff --git a/src/main/java/com/huobi/api/response/coin_futures/market/ContractContractInfoResponse.java b/src/main/java/com/huobi/api/response/coin_futures/market/ContractContractInfoResponse.java new file mode 100644 index 0000000..721cb50 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_futures/market/ContractContractInfoResponse.java @@ -0,0 +1,61 @@ +package com.huobi.api.response.coin_futures.market; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class ContractContractInfoResponse { + + + /** + * status : ok + * data : [{"symbol":"BTC","contract_code":"BTC191011","contract_type":"this_week","contract_size":100,"price_tick":0.01,"delivery_date":"20191011","create_date":"20190927","contract_status":1},{"symbol":"BTC","contract_code":"BTC191018","contract_type":"next_week","contract_size":100,"price_tick":0.01,"delivery_date":"20191018","create_date":"20191004","contract_status":1},{"symbol":"BTC","contract_code":"BTC191227","contract_type":"quarter","contract_size":100,"price_tick":0.01,"delivery_date":"20191227","create_date":"20190913","contract_status":1},{"symbol":"ETH","contract_code":"ETH191011","contract_type":"this_week","contract_size":10,"price_tick":0.001,"delivery_date":"20191011","create_date":"20190927","contract_status":1},{"symbol":"ETH","contract_code":"ETH191018","contract_type":"next_week","contract_size":10,"price_tick":0.001,"delivery_date":"20191018","create_date":"20191004","contract_status":1},{"symbol":"ETH","contract_code":"ETH191227","contract_type":"quarter","contract_size":10,"price_tick":0.001,"delivery_date":"20191227","create_date":"20190913","contract_status":1},{"symbol":"EOS","contract_code":"EOS191011","contract_type":"this_week","contract_size":10,"price_tick":0.001,"delivery_date":"20191011","create_date":"20190927","contract_status":1},{"symbol":"EOS","contract_code":"EOS191018","contract_type":"next_week","contract_size":10,"price_tick":0.001,"delivery_date":"20191018","create_date":"20191004","contract_status":1},{"symbol":"EOS","contract_code":"EOS191227","contract_type":"quarter","contract_size":10,"price_tick":0.001,"delivery_date":"20191227","create_date":"20190913","contract_status":1},{"symbol":"LTC","contract_code":"LTC191011","contract_type":"this_week","contract_size":10,"price_tick":0.001,"delivery_date":"20191011","create_date":"20190927","contract_status":1},{"symbol":"LTC","contract_code":"LTC191018","contract_type":"next_week","contract_size":10,"price_tick":0.001,"delivery_date":"20191018","create_date":"20191004","contract_status":1},{"symbol":"LTC","contract_code":"LTC191227","contract_type":"quarter","contract_size":10,"price_tick":0.001,"delivery_date":"20191227","create_date":"20190913","contract_status":1},{"symbol":"BCH","contract_code":"BCH191011","contract_type":"this_week","contract_size":10,"price_tick":0.001,"delivery_date":"20191011","create_date":"20190927","contract_status":1},{"symbol":"BCH","contract_code":"BCH191018","contract_type":"next_week","contract_size":10,"price_tick":0.001,"delivery_date":"20191018","create_date":"20191004","contract_status":1},{"symbol":"BCH","contract_code":"BCH191227","contract_type":"quarter","contract_size":10,"price_tick":0.001,"delivery_date":"20191227","create_date":"20190913","contract_status":1},{"symbol":"XRP","contract_code":"XRP191011","contract_type":"this_week","contract_size":10,"price_tick":1.0E-4,"delivery_date":"20191011","create_date":"20190927","contract_status":1},{"symbol":"XRP","contract_code":"XRP191018","contract_type":"next_week","contract_size":10,"price_tick":1.0E-4,"delivery_date":"20191018","create_date":"20191004","contract_status":1},{"symbol":"XRP","contract_code":"XRP191227","contract_type":"quarter","contract_size":10,"price_tick":1.0E-4,"delivery_date":"20191227","create_date":"20190913","contract_status":1},{"symbol":"TRX","contract_code":"TRX191011","contract_type":"this_week","contract_size":10,"price_tick":1.0E-5,"delivery_date":"20191011","create_date":"20190927","contract_status":1},{"symbol":"TRX","contract_code":"TRX191018","contract_type":"next_week","contract_size":10,"price_tick":1.0E-5,"delivery_date":"20191018","create_date":"20191004","contract_status":1},{"symbol":"TRX","contract_code":"TRX191227","contract_type":"quarter","contract_size":10,"price_tick":1.0E-5,"delivery_date":"20191227","create_date":"20190913","contract_status":1},{"symbol":"BSV","contract_code":"BSV191011","contract_type":"this_week","contract_size":10,"price_tick":0.001,"delivery_date":"20191011","create_date":"20190927","contract_status":1},{"symbol":"BSV","contract_code":"BSV191018","contract_type":"next_week","contract_size":10,"price_tick":0.001,"delivery_date":"20191018","create_date":"20191004","contract_status":1},{"symbol":"BSV","contract_code":"BSV191227","contract_type":"quarter","contract_size":10,"price_tick":0.001,"delivery_date":"20191227","create_date":"20190913","contract_status":1}] + * ts : 1570776917938 + */ + + private String status; + private Long ts; + private List data; + + + @Data + @AllArgsConstructor + public static class DataBean { + /** + * symbol : BTC + * contract_code : BTC191011 + * contract_type : this_week + * contract_size : 100 + * price_tick : 0.01 + * delivery_date : 20191011 + * create_date : 20190927 + * contract_status : 1 + */ + + private String symbol; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("contract_type") + private String contractType; + @SerializedName("contract_size") + private BigDecimal contractSize; + @SerializedName("price_tick") + private BigDecimal priceTick; + @SerializedName("delivery_date") + private String deliveryDate; + @SerializedName("create_date") + private String createDate; + @SerializedName("contract_status") + private Integer contractStatus; + @SerializedName("settlement_time") + private Long settlementTime; + @SerializedName("delivery_time") + private Long deliveryTime; + + } +} diff --git a/src/main/java/com/huobi/api/response/coin_futures/market/ContractDeliveryPriceResponse.java b/src/main/java/com/huobi/api/response/coin_futures/market/ContractDeliveryPriceResponse.java new file mode 100644 index 0000000..a891e58 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_futures/market/ContractDeliveryPriceResponse.java @@ -0,0 +1,35 @@ +package com.huobi.api.response.coin_futures.market; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +@AllArgsConstructor +public class ContractDeliveryPriceResponse { + + + /** + * status : ok + * data : {"delivery_price":8422.236174351585} + * ts : 1570779282124 + */ + + private String status; + private DataBean data; + private Long ts; + + @Data + @AllArgsConstructor + public static class DataBean { + /** + * delivery_price : 8422.236174351585 + */ + + @SerializedName("delivery_price") + private BigDecimal deliveryPrice; + + } +} diff --git a/src/main/java/com/huobi/api/response/coin_futures/market/ContractEliteAccountRatioResponse.java b/src/main/java/com/huobi/api/response/coin_futures/market/ContractEliteAccountRatioResponse.java new file mode 100644 index 0000000..a46672c --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_futures/market/ContractEliteAccountRatioResponse.java @@ -0,0 +1,55 @@ +package com.huobi.api.response.coin_futures.market; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class ContractEliteAccountRatioResponse { + + /** + * status : ok + * data : {"list":[{"buy_ratio":0.58,"sell_ratio":0.39,"locked_ratio":0.03,"ts":1571126400000},{"buy_ratio":0.58,"sell_ratio":0.39,"locked_ratio":0.03,"ts":1571130000000},{"buy_ratio":0.59,"sell_ratio":0.39,"locked_ratio":0.02,"ts":1571133600000},{"buy_ratio":0.58,"sell_ratio":0.38,"locked_ratio":0.04,"ts":1571137200000},{"buy_ratio":0.62,"sell_ratio":0.37,"locked_ratio":0.01,"ts":1571140800000},{"buy_ratio":0.62,"sell_ratio":0.37,"locked_ratio":0.01,"ts":1571144400000},{"buy_ratio":0.61,"sell_ratio":0.38,"locked_ratio":0.01,"ts":1571148000000},{"buy_ratio":0.63,"sell_ratio":0.37,"locked_ratio":0,"ts":1571151600000},{"buy_ratio":0.61,"sell_ratio":0.39,"locked_ratio":0,"ts":1571155200000},{"buy_ratio":0.65,"sell_ratio":0.35,"locked_ratio":0,"ts":1571158800000},{"buy_ratio":0.64,"sell_ratio":0.36,"locked_ratio":0,"ts":1571162400000},{"buy_ratio":0.64,"sell_ratio":0.36,"locked_ratio":0,"ts":1571166000000},{"buy_ratio":0.64,"sell_ratio":0.36,"locked_ratio":0,"ts":1571169600000},{"buy_ratio":0.65,"sell_ratio":0.35,"locked_ratio":0,"ts":1571173200000},{"buy_ratio":0.65,"sell_ratio":0.35,"locked_ratio":0,"ts":1571176800000},{"buy_ratio":0.64,"sell_ratio":0.36,"locked_ratio":0,"ts":1571180400000},{"buy_ratio":0.63,"sell_ratio":0.37,"locked_ratio":0,"ts":1571184000000},{"buy_ratio":0.62,"sell_ratio":0.38,"locked_ratio":0,"ts":1571187600000},{"buy_ratio":0.61,"sell_ratio":0.39,"locked_ratio":0,"ts":1571191200000},{"buy_ratio":0.62,"sell_ratio":0.38,"locked_ratio":0,"ts":1571194800000}],"symbol":"BTC"} + * ts : 1571194993834 + */ + + private String status; + private DataBean data; + private Long ts; + + @Data + @AllArgsConstructor + public static class DataBean { + /** + * list : [{"buy_ratio":0.58,"sell_ratio":0.39,"locked_ratio":0.03,"ts":1571126400000},{"buy_ratio":0.58,"sell_ratio":0.39,"locked_ratio":0.03,"ts":1571130000000},{"buy_ratio":0.59,"sell_ratio":0.39,"locked_ratio":0.02,"ts":1571133600000},{"buy_ratio":0.58,"sell_ratio":0.38,"locked_ratio":0.04,"ts":1571137200000},{"buy_ratio":0.62,"sell_ratio":0.37,"locked_ratio":0.01,"ts":1571140800000},{"buy_ratio":0.62,"sell_ratio":0.37,"locked_ratio":0.01,"ts":1571144400000},{"buy_ratio":0.61,"sell_ratio":0.38,"locked_ratio":0.01,"ts":1571148000000},{"buy_ratio":0.63,"sell_ratio":0.37,"locked_ratio":0,"ts":1571151600000},{"buy_ratio":0.61,"sell_ratio":0.39,"locked_ratio":0,"ts":1571155200000},{"buy_ratio":0.65,"sell_ratio":0.35,"locked_ratio":0,"ts":1571158800000},{"buy_ratio":0.64,"sell_ratio":0.36,"locked_ratio":0,"ts":1571162400000},{"buy_ratio":0.64,"sell_ratio":0.36,"locked_ratio":0,"ts":1571166000000},{"buy_ratio":0.64,"sell_ratio":0.36,"locked_ratio":0,"ts":1571169600000},{"buy_ratio":0.65,"sell_ratio":0.35,"locked_ratio":0,"ts":1571173200000},{"buy_ratio":0.65,"sell_ratio":0.35,"locked_ratio":0,"ts":1571176800000},{"buy_ratio":0.64,"sell_ratio":0.36,"locked_ratio":0,"ts":1571180400000},{"buy_ratio":0.63,"sell_ratio":0.37,"locked_ratio":0,"ts":1571184000000},{"buy_ratio":0.62,"sell_ratio":0.38,"locked_ratio":0,"ts":1571187600000},{"buy_ratio":0.61,"sell_ratio":0.39,"locked_ratio":0,"ts":1571191200000},{"buy_ratio":0.62,"sell_ratio":0.38,"locked_ratio":0,"ts":1571194800000}] + * symbol : BTC + */ + + private String symbol; + private List list; + + @Data + @AllArgsConstructor + public static class ListBean { + /** + * buy_ratio : 0.58 + * sell_ratio : 0.39 + * locked_ratio : 0.03 + * ts : 1571126400000 + */ + + @SerializedName("buy_ratio") + private BigDecimal buyRatio; + @SerializedName("sell_ratio") + private BigDecimal sellRatio; + @SerializedName("locked_ratio") + private BigDecimal lockedRatio; + private Long ts; + + } + } +} diff --git a/src/main/java/com/huobi/api/response/coin_futures/market/ContractElitePositionRatioResponse.java b/src/main/java/com/huobi/api/response/coin_futures/market/ContractElitePositionRatioResponse.java new file mode 100644 index 0000000..ae44626 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_futures/market/ContractElitePositionRatioResponse.java @@ -0,0 +1,52 @@ +package com.huobi.api.response.coin_futures.market; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class ContractElitePositionRatioResponse { + + /** + * status : ok + * data : {"list":[{"buy_ratio":0.442,"sell_ratio":0.558,"ts":1571126400000},{"buy_ratio":0.442,"sell_ratio":0.558,"ts":1571130000000},{"buy_ratio":0.442,"sell_ratio":0.558,"ts":1571133600000},{"buy_ratio":0.439,"sell_ratio":0.561,"ts":1571137200000},{"buy_ratio":0.436,"sell_ratio":0.564,"ts":1571140800000},{"buy_ratio":0.436,"sell_ratio":0.564,"ts":1571144400000},{"buy_ratio":0.433,"sell_ratio":0.567,"ts":1571148000000},{"buy_ratio":0.432,"sell_ratio":0.568,"ts":1571151600000},{"buy_ratio":0.424,"sell_ratio":0.576,"ts":1571155200000},{"buy_ratio":0.42,"sell_ratio":0.58,"ts":1571158800000},{"buy_ratio":0.42,"sell_ratio":0.58,"ts":1571162400000},{"buy_ratio":0.42,"sell_ratio":0.58,"ts":1571166000000},{"buy_ratio":0.42,"sell_ratio":0.58,"ts":1571169600000},{"buy_ratio":0.421,"sell_ratio":0.579,"ts":1571173200000},{"buy_ratio":0.421,"sell_ratio":0.579,"ts":1571176800000},{"buy_ratio":0.415,"sell_ratio":0.585,"ts":1571180400000},{"buy_ratio":0.413,"sell_ratio":0.587,"ts":1571184000000},{"buy_ratio":0.41,"sell_ratio":0.59,"ts":1571187600000},{"buy_ratio":0.408,"sell_ratio":0.592,"ts":1571191200000},{"buy_ratio":0.408,"sell_ratio":0.592,"ts":1571194800000}],"symbol":"BTC"} + * ts : 1571194869285 + */ + + private String status; + private DataBean data; + private Long ts; + + @Data + @AllArgsConstructor + public static class DataBean { + /** + * list : [{"buy_ratio":0.442,"sell_ratio":0.558,"ts":1571126400000},{"buy_ratio":0.442,"sell_ratio":0.558,"ts":1571130000000},{"buy_ratio":0.442,"sell_ratio":0.558,"ts":1571133600000},{"buy_ratio":0.439,"sell_ratio":0.561,"ts":1571137200000},{"buy_ratio":0.436,"sell_ratio":0.564,"ts":1571140800000},{"buy_ratio":0.436,"sell_ratio":0.564,"ts":1571144400000},{"buy_ratio":0.433,"sell_ratio":0.567,"ts":1571148000000},{"buy_ratio":0.432,"sell_ratio":0.568,"ts":1571151600000},{"buy_ratio":0.424,"sell_ratio":0.576,"ts":1571155200000},{"buy_ratio":0.42,"sell_ratio":0.58,"ts":1571158800000},{"buy_ratio":0.42,"sell_ratio":0.58,"ts":1571162400000},{"buy_ratio":0.42,"sell_ratio":0.58,"ts":1571166000000},{"buy_ratio":0.42,"sell_ratio":0.58,"ts":1571169600000},{"buy_ratio":0.421,"sell_ratio":0.579,"ts":1571173200000},{"buy_ratio":0.421,"sell_ratio":0.579,"ts":1571176800000},{"buy_ratio":0.415,"sell_ratio":0.585,"ts":1571180400000},{"buy_ratio":0.413,"sell_ratio":0.587,"ts":1571184000000},{"buy_ratio":0.41,"sell_ratio":0.59,"ts":1571187600000},{"buy_ratio":0.408,"sell_ratio":0.592,"ts":1571191200000},{"buy_ratio":0.408,"sell_ratio":0.592,"ts":1571194800000}] + * symbol : BTC + */ + + private String symbol; + private List list; + + @Data + @AllArgsConstructor + public static class ListBean { + /** + * buy_ratio : 0.442 + * sell_ratio : 0.558 + * ts : 1571126400000 + */ + + @SerializedName("buy_ratio") + private BigDecimal buyRatio; + @SerializedName("sell_ratio") + private BigDecimal sellRatio; + private Long ts; + + } + } +} diff --git a/src/main/java/com/huobi/api/response/coin_futures/market/ContractEstimatedSettlementPriceResponse.java b/src/main/java/com/huobi/api/response/coin_futures/market/ContractEstimatedSettlementPriceResponse.java new file mode 100644 index 0000000..97b2814 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_futures/market/ContractEstimatedSettlementPriceResponse.java @@ -0,0 +1,40 @@ +package com.huobi.api.response.coin_futures.market; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@AllArgsConstructor +@Builder +@Data +public class ContractEstimatedSettlementPriceResponse { + private String status; + private Long ts; + private List data; + + @AllArgsConstructor + @Builder + @Data + public static class BeanData{ + private String symbol; + private List list; + + @AllArgsConstructor + @Builder + @Data + public static class BeanList{ + @SerializedName("contract_type") + private String contractType; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("estimated_settlement_price") + private BigDecimal estimatedSettlementPrice; + @SerializedName("settlement_type") + private String settlementType; + } + } +} diff --git a/src/main/java/com/huobi/api/response/coin_futures/market/ContractHisOpenInterestResponse.java b/src/main/java/com/huobi/api/response/coin_futures/market/ContractHisOpenInterestResponse.java new file mode 100644 index 0000000..bd19318 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_futures/market/ContractHisOpenInterestResponse.java @@ -0,0 +1,53 @@ +package com.huobi.api.response.coin_futures.market; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class ContractHisOpenInterestResponse { + /** + * status : ok + * data : {"symbol":"BTC","contract_type":"this_week","tick":[{"volume":1,"amount_type":1,"ts":1529387842137}]} + * ts : 158797866555 + */ + + private String status; + private DataBean data; + private Long ts; + + + @Data + @AllArgsConstructor + public static class DataBean { + /** + * symbol : BTC + * contract_type : this_week + * tick : [{"volume":1,"amount_type":1,"ts":1529387842137}] + */ + + private String symbol; + private String contract_type; + private List tick; + + @Data + @AllArgsConstructor + public static class TickBean { + /** + * volume : 1 + * amount_type : 1 + * ts : 1529387842137 + */ + + private BigDecimal volume; + @SerializedName("amount_type") + private Integer amountType; + private Long ts; + + } + } +} diff --git a/src/main/java/com/huobi/api/response/coin_futures/market/ContractIndexResponse.java b/src/main/java/com/huobi/api/response/coin_futures/market/ContractIndexResponse.java new file mode 100644 index 0000000..5000d8d --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_futures/market/ContractIndexResponse.java @@ -0,0 +1,42 @@ +package com.huobi.api.response.coin_futures.market; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class ContractIndexResponse { + + + /** + * status : ok + * data : [{"symbol":"BTC","index_price":8456.1525,"index_ts":1570773156009},{"symbol":"BSV","index_price":86.66406256393333,"index_ts":1570773156009},{"symbol":"BCH","index_price":227.80188098,"index_ts":1570773156009},{"symbol":"XRP","index_price":0.2695273939,"index_ts":1570773156009},{"symbol":"ETH","index_price":188.90368889,"index_ts":1570773156009},{"symbol":"EOS","index_price":3.073967118625,"index_ts":1570773156009},{"symbol":"LTC","index_price":56.5775746625,"index_ts":1570773156009},{"symbol":"TRX","index_price":0.01612614503,"index_ts":1570773156009}] + * ts : 1570773159720 + */ + + private String status; + private Long ts; + private List data; + + + @Data + @AllArgsConstructor + public static class DataBean { + /** + * symbol : BTC + * index_price : 8456.1525 + * index_ts : 1570773156009 + */ + + private String symbol; + @SerializedName("index_price") + private BigDecimal indexPrice; + @SerializedName("index_ts") + private Long indexTs; + + } +} diff --git a/src/main/java/com/huobi/api/response/coin_futures/market/ContractInsuranceFundResponse.java b/src/main/java/com/huobi/api/response/coin_futures/market/ContractInsuranceFundResponse.java new file mode 100644 index 0000000..d2b959b --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_futures/market/ContractInsuranceFundResponse.java @@ -0,0 +1,50 @@ +package com.huobi.api.response.coin_futures.market; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class ContractInsuranceFundResponse { + + + /** + * status : ok + * data : {"symbol":"BTC","tick":[{"insurance_fund":457.06542829785315,"ts":1570694400000},{"insurance_fund":445.94871548580835,"ts":1570608000000},{"insurance_fund":445.94871548580835,"ts":1570521600000},{"insurance_fund":443.56765758637135,"ts":1570435200000},{"insurance_fund":441.522062363347,"ts":1570348800000},{"insurance_fund":440.9501380596635,"ts":1570262400000},{"insurance_fund":440.9501380596635,"ts":1570176000000},{"insurance_fund":439.7846020687266,"ts":1570089600000},{"insurance_fund":439.7846020687266,"ts":1570003200000},{"insurance_fund":439.53741289886807,"ts":1569916800000},{"insurance_fund":434.8730055014997,"ts":1569830400000},{"insurance_fund":427.7118061807235,"ts":1569744000000},{"insurance_fund":427.5076806460167,"ts":1569657600000},{"insurance_fund":427.2563625933575,"ts":1569571200000},{"insurance_fund":416.5586898561534,"ts":1569484800000},{"insurance_fund":414.8086186145282,"ts":1569398400000},{"insurance_fund":1209.81231334651,"ts":1569312000000},{"insurance_fund":1207.7427061015262,"ts":1569225600000},{"insurance_fund":1207.7427061015262,"ts":1569139200000},{"insurance_fund":1207.4512202546532,"ts":1569052800000},{"insurance_fund":1207.4512202546532,"ts":1568966400000},{"insurance_fund":1206.390502703743,"ts":1568880000000},{"insurance_fund":1194.5876468063996,"ts":1568793600000},{"insurance_fund":1194.5876468063996,"ts":1568707200000},{"insurance_fund":1194.5876468063996,"ts":1568620800000},{"insurance_fund":1194.5876468063996,"ts":1568534400000},{"insurance_fund":1194.5876468063996,"ts":1568448000000},{"insurance_fund":1194.5876468063996,"ts":1568361600000},{"insurance_fund":1193.8250032738567,"ts":1568275200000},{"insurance_fund":1193.8250032738567,"ts":1568188800000},{"insurance_fund":1184.7975440677938,"ts":1568102400000},{"insurance_fund":1184.492845613117,"ts":1568016000000},{"insurance_fund":1183.1258490529185,"ts":1567929600000},{"insurance_fund":1183.1258490529185,"ts":1567843200000},{"insurance_fund":1167.4246801784147,"ts":1567756800000},{"insurance_fund":1167.4246801784147,"ts":1567670400000},{"insurance_fund":1167.022911815458,"ts":1567584000000},{"insurance_fund":1164.0028593208247,"ts":1567497600000},{"insurance_fund":1146.7326823460824,"ts":1567411200000},{"insurance_fund":1146.6691603419397,"ts":1567324800000},{"insurance_fund":1146.6691603419397,"ts":1567238400000},{"insurance_fund":1146.6691603419397,"ts":1567152000000},{"insurance_fund":1146.6691603419397,"ts":1567065600000},{"insurance_fund":1128.2367640411264,"ts":1566979200000},{"insurance_fund":1128.0957296360282,"ts":1566892800000},{"insurance_fund":1127.9808477654865,"ts":1566806400000},{"insurance_fund":1120.8070265433178,"ts":1566720000000},{"insurance_fund":1116.2675466120304,"ts":1566633600000},{"insurance_fund":1115.7593632306832,"ts":1566547200000},{"insurance_fund":1115.6331649423955,"ts":1566460800000},{"insurance_fund":1108.1286576545156,"ts":1566374400000},{"insurance_fund":1098.069993332201,"ts":1566288000000},{"insurance_fund":1095.292287434189,"ts":1566201600000},{"insurance_fund":1093.90617006378,"ts":1566115200000},{"insurance_fund":1093.288185908317,"ts":1566028800000},{"insurance_fund":1090.3300143595525,"ts":1565942400000},{"insurance_fund":1074.347933462031,"ts":1565856000000},{"insurance_fund":1042.2265429290278,"ts":1565769600000},{"insurance_fund":1015.7804082871266,"ts":1565683200000},{"insurance_fund":1015.7804082871266,"ts":1565596800000},{"insurance_fund":1015.3216258943726,"ts":1565510400000},{"insurance_fund":994.4331838829653,"ts":1565424000000},{"insurance_fund":994.4331838829653,"ts":1565337600000},{"insurance_fund":992.1694257099747,"ts":1565251200000},{"insurance_fund":989.6156252311858,"ts":1565164800000},{"insurance_fund":977.8263994967216,"ts":1565078400000},{"insurance_fund":970.4506715490975,"ts":1564992000000},{"insurance_fund":954.4869876964552,"ts":1564905600000},{"insurance_fund":954.4839043647947,"ts":1564819200000},{"insurance_fund":950.8161759548469,"ts":1564732800000},{"insurance_fund":937.8817974723953,"ts":1564646400000},{"insurance_fund":936.0692432747471,"ts":1564560000000},{"insurance_fund":934.8045731801526,"ts":1564473600000},{"insurance_fund":934.8045731801526,"ts":1564387200000},{"insurance_fund":930.0555128520516,"ts":1564300800000},{"insurance_fund":926.1722238935037,"ts":1564214400000},{"insurance_fund":925.759541501228,"ts":1564128000000},{"insurance_fund":924.3201867204791,"ts":1564041600000},{"insurance_fund":922.6379031244124,"ts":1563955200000},{"insurance_fund":919.3708196209698,"ts":1563868800000},{"insurance_fund":915.2766119791983,"ts":1563782400000},{"insurance_fund":914.7878521259763,"ts":1563696000000},{"insurance_fund":912.3374190212543,"ts":1563609600000},{"insurance_fund":910.7632183581403,"ts":1563523200000},{"insurance_fund":902.6219022153116,"ts":1563436800000},{"insurance_fund":896.4390234317816,"ts":1563350400000},{"insurance_fund":881.9205161825655,"ts":1563264000000},{"insurance_fund":878.6335798598768,"ts":1563177600000},{"insurance_fund":860.9563967218239,"ts":1563091200000},{"insurance_fund":853.7570704992838,"ts":1563004800000},{"insurance_fund":853.52588853097,"ts":1562918400000},{"insurance_fund":849.6671810628,"ts":1562832000000},{"insurance_fund":809.9381713707184,"ts":1562745600000},{"insurance_fund":804.883515749115,"ts":1562659200000},{"insurance_fund":796.565907141137,"ts":1562572800000},{"insurance_fund":796.5437699026531,"ts":1562486400000},{"insurance_fund":794.859165259563,"ts":1562400000000},{"insurance_fund":791.8871481918891,"ts":1562313600000},{"insurance_fund":783.4674702175862,"ts":1562227200000},{"insurance_fund":780.5242623007006,"ts":1562140800000},{"insurance_fund":771.0419325083935,"ts":1562054400000},{"insurance_fund":750.7126319861678,"ts":1561968000000},{"insurance_fund":737.5928685195069,"ts":1561881600000},{"insurance_fund":736.7325194843141,"ts":1561795200000},{"insurance_fund":730.9568067829175,"ts":1561708800000},{"insurance_fund":635.6650482611071,"ts":1561622400000},{"insurance_fund":579.1210396395668,"ts":1561536000000},{"insurance_fund":562.8769403344742,"ts":1561449600000},{"insurance_fund":562.0083446323514,"ts":1561363200000},{"insurance_fund":555.0835402807006,"ts":1561276800000},{"insurance_fund":534.4090723339247,"ts":1561190400000},{"insurance_fund":509.7363020881692,"ts":1561104000000},{"insurance_fund":500.14783821170744,"ts":1561017600000},{"insurance_fund":500.11864933798614,"ts":1560931200000},{"insurance_fund":499.9310368523819,"ts":1560844800000},{"insurance_fund":498.7018051712697,"ts":1560758400000},{"insurance_fund":496.58791200004794,"ts":1560672000000},{"insurance_fund":486.0070120034091,"ts":1560585600000},{"insurance_fund":478.9199176270201,"ts":1560499200000},{"insurance_fund":478.38159926265615,"ts":1560412800000},{"insurance_fund":476.33484564514686,"ts":1560326400000},{"insurance_fund":472.67803625177334,"ts":1560240000000},{"insurance_fund":457.26973714523535,"ts":1560153600000},{"insurance_fund":455.1741029802496,"ts":1560067200000},{"insurance_fund":454.74967827839487,"ts":1559980800000},{"insurance_fund":454.32226758565724,"ts":1559894400000},{"insurance_fund":446.3818146327061,"ts":1559808000000},{"insurance_fund":445.88511777726455,"ts":1559721600000},{"insurance_fund":430.528051297287,"ts":1559635200000},{"insurance_fund":406.3485433083766,"ts":1559548800000},{"insurance_fund":402.3755711653104,"ts":1559462400000},{"insurance_fund":401.7936348091042,"ts":1559376000000},{"insurance_fund":399.65105958729555,"ts":1559289600000},{"insurance_fund":374.11701502653534,"ts":1559203200000},{"insurance_fund":374.0881176949364,"ts":1559116800000},{"insurance_fund":369.22009756346546,"ts":1559030400000},{"insurance_fund":369.04493361079653,"ts":1558944000000},{"insurance_fund":359.913456332549,"ts":1558857600000},{"insurance_fund":359.913456332549,"ts":1558771200000},{"insurance_fund":359.6092723111316,"ts":1558684800000},{"insurance_fund":356.94131599975475,"ts":1558598400000},{"insurance_fund":350.4309827921681,"ts":1558512000000},{"insurance_fund":350.4309827921681,"ts":1558425600000},{"insurance_fund":347.028635520429,"ts":1558339200000},{"insurance_fund":329.5752044487138,"ts":1558252800000},{"insurance_fund":318.80380074125196,"ts":1558166400000},{"insurance_fund":317.1190610358035,"ts":1558080000000},{"insurance_fund":251.7350940823329,"ts":1557993600000},{"insurance_fund":248.50835438605546,"ts":1557907200000},{"insurance_fund":238.3512413451915,"ts":1557820800000},{"insurance_fund":214.93060499452216,"ts":1557734400000},{"insurance_fund":201.34506059363903,"ts":1557648000000},{"insurance_fund":177.30603593366965,"ts":1557561600000},{"insurance_fund":159.51123633904902,"ts":1557475200000},{"insurance_fund":144.9693630838722,"ts":1557388800000},{"insurance_fund":129.67671069483129,"ts":1557302400000},{"insurance_fund":127.81940307261368,"ts":1557216000000},{"insurance_fund":113.69760848867618,"ts":1557129600000},{"insurance_fund":113.61393536411522,"ts":1557043200000},{"insurance_fund":95.7240562297583,"ts":1556956800000},{"insurance_fund":86.84322683742424,"ts":1556870400000},{"insurance_fund":85.3724871830134,"ts":1556784000000},{"insurance_fund":85.34584375001408,"ts":1556697600000},{"insurance_fund":85.3077313138797,"ts":1556611200000},{"insurance_fund":85.3077313138797,"ts":1556524800000},{"insurance_fund":85.3077313138797,"ts":1556438400000},{"insurance_fund":85.3077313138797,"ts":1556352000000},{"insurance_fund":85.27295689602695,"ts":1556265600000},{"insurance_fund":71.1480119032514,"ts":1556179200000},{"insurance_fund":69.52584511672127,"ts":1556092800000},{"insurance_fund":69.34042089845205,"ts":1556006400000},{"insurance_fund":56.2300426609201,"ts":1555920000000},{"insurance_fund":56.2300426609201,"ts":1555833600000},{"insurance_fund":56.2300426609201,"ts":1555747200000},{"insurance_fund":55.256941088123845,"ts":1555660800000},{"insurance_fund":55.220505253546435,"ts":1555574400000},{"insurance_fund":55.01854991501538,"ts":1555488000000},{"insurance_fund":53.37033716390686,"ts":1555401600000},{"insurance_fund":47.275221705637655,"ts":1555315200000},{"insurance_fund":47.13107653949028,"ts":1555228800000},{"insurance_fund":47.13107653949028,"ts":1555142400000},{"insurance_fund":47.130904156015276,"ts":1555056000000},{"insurance_fund":40.2428981143741,"ts":1554969600000},{"insurance_fund":35.47848052031639,"ts":1554883200000},{"insurance_fund":35.47848052031639,"ts":1554796800000},{"insurance_fund":34.6530211631787,"ts":1554710400000},{"insurance_fund":32.86793699699257,"ts":1554624000000},{"insurance_fund":28.5357117344238,"ts":1554537600000},{"insurance_fund":28.5357117344238,"ts":1554451200000},{"insurance_fund":27.058026691306793,"ts":1554364800000},{"insurance_fund":11.531050391567275,"ts":1554278400000},{"insurance_fund":9.728538626835707,"ts":1554192000000},{"insurance_fund":65.3931758050866,"ts":1554105600000},{"insurance_fund":65.3931758050866,"ts":1554019200000},{"insurance_fund":65.3931758050866,"ts":1553932800000},{"insurance_fund":65.3554239572994,"ts":1553846400000},{"insurance_fund":65.33316670917495,"ts":1553760000000},{"insurance_fund":65.19672910233633,"ts":1553673600000},{"insurance_fund":65.14488331696188,"ts":1553587200000},{"insurance_fund":64.3665429089374,"ts":1553500800000},{"insurance_fund":64.3665429089374,"ts":1553414400000},{"insurance_fund":64.3665429089374,"ts":1553328000000},{"insurance_fund":64.3665429089374,"ts":1553241600000},{"insurance_fund":64.3081200940391,"ts":1553155200000},{"insurance_fund":64.26848515672086,"ts":1553068800000},{"insurance_fund":64.26848515672086,"ts":1552982400000},{"insurance_fund":64.26848515672086,"ts":1552896000000},{"insurance_fund":64.26848515672086,"ts":1552809600000},{"insurance_fund":64.26848515672086,"ts":1552723200000},{"insurance_fund":64.101198333734,"ts":1552636800000},{"insurance_fund":64.101198333734,"ts":1552550400000},{"insurance_fund":64.101198333734,"ts":1552464000000},{"insurance_fund":64.101198333734,"ts":1552377600000},{"insurance_fund":64.101198333734,"ts":1552291200000},{"insurance_fund":64.101198333734,"ts":1552204800000},{"insurance_fund":64.09828334999936,"ts":1552118400000},{"insurance_fund":64.09828334999936,"ts":1552032000000},{"insurance_fund":63.998719468052556,"ts":1551945600000},{"insurance_fund":63.993183240650346,"ts":1551859200000},{"insurance_fund":62.94830987864748,"ts":1551772800000},{"insurance_fund":62.63676196719665,"ts":1551686400000},{"insurance_fund":62.586246246472285,"ts":1551600000000},{"insurance_fund":62.586246246472285,"ts":1551513600000},{"insurance_fund":62.586246246472285,"ts":1551427200000},{"insurance_fund":62.56794010664541,"ts":1551340800000},{"insurance_fund":62.34600477747614,"ts":1551254400000},{"insurance_fund":62.34600477747614,"ts":1551168000000},{"insurance_fund":62.34600477747614,"ts":1551081600000},{"insurance_fund":70.07757083244488,"ts":1550995200000},{"insurance_fund":68.2726265454908,"ts":1550908800000},{"insurance_fund":68.2726265454908,"ts":1550822400000},{"insurance_fund":68.2726265454908,"ts":1550736000000},{"insurance_fund":68.27168868249217,"ts":1550649600000},{"insurance_fund":68.27168868249217,"ts":1550563200000},{"insurance_fund":65.30527056817361,"ts":1550476800000},{"insurance_fund":65.87822904856584,"ts":1550390400000},{"insurance_fund":65.87822904856584,"ts":1550304000000},{"insurance_fund":65.87822904856584,"ts":1550217600000},{"insurance_fund":65.87822904856584,"ts":1550131200000},{"insurance_fund":65.87822904856584,"ts":1550044800000},{"insurance_fund":65.87822904856584,"ts":1549958400000},{"insurance_fund":65.87822904856584,"ts":1549872000000},{"insurance_fund":65.87822904856584,"ts":1549785600000},{"insurance_fund":65.87822904856584,"ts":1549699200000},{"insurance_fund":73.65012533539178,"ts":1549612800000},{"insurance_fund":73.65012533539178,"ts":1549526400000},{"insurance_fund":73.62649399298094,"ts":1549440000000},{"insurance_fund":73.59593487794258,"ts":1549353600000},{"insurance_fund":73.59593487794258,"ts":1549267200000},{"insurance_fund":73.59593487794258,"ts":1549180800000},{"insurance_fund":73.57687479546432,"ts":1549094400000},{"insurance_fund":73.57687479546432,"ts":1549008000000},{"insurance_fund":73.57687479546432,"ts":1548921600000},{"insurance_fund":73.57687479546432,"ts":1548835200000},{"insurance_fund":73.57687479546432,"ts":1548748800000},{"insurance_fund":72.9137601914099,"ts":1548662400000},{"insurance_fund":71.31496158064678,"ts":1548576000000},{"insurance_fund":71.31496158064678,"ts":1548489600000},{"insurance_fund":71.27922703957258,"ts":1548403200000},{"insurance_fund":71.27922703957258,"ts":1548316800000},{"insurance_fund":71.27922703957258,"ts":1548230400000},{"insurance_fund":70.51823897714137,"ts":1548144000000},{"insurance_fund":70.51823897714137,"ts":1548057600000},{"insurance_fund":69.82508475248397,"ts":1547971200000},{"insurance_fund":69.52648606375331,"ts":1547884800000},{"insurance_fund":69.56273093380837,"ts":1547798400000},{"insurance_fund":68.59161030119128,"ts":1547712000000},{"insurance_fund":68.59161030119128,"ts":1547625600000},{"insurance_fund":68.59161030119128,"ts":1547539200000},{"insurance_fund":68.20894283226005,"ts":1547452800000},{"insurance_fund":67.0259390439793,"ts":1547366400000},{"insurance_fund":67.0259390439793,"ts":1547280000000},{"insurance_fund":66.89286426579689,"ts":1547193600000},{"insurance_fund":63.70617832868903,"ts":1547107200000},{"insurance_fund":59.619129538300506,"ts":1547020800000},{"insurance_fund":59.61479900788202,"ts":1546934400000},{"insurance_fund":59.61479900788202,"ts":1546848000000},{"insurance_fund":56.47893985446742,"ts":1546761600000},{"insurance_fund":56.47893985446742,"ts":1546675200000},{"insurance_fund":56.47881957856019,"ts":1546588800000},{"insurance_fund":56.462109414594686,"ts":1546502400000},{"insurance_fund":54.67907189551165,"ts":1546416000000},{"insurance_fund":54.61693331510239,"ts":1546329600000},{"insurance_fund":54.48366868600961,"ts":1546243200000},{"insurance_fund":54.48366868600961,"ts":1546156800000},{"insurance_fund":53.55063411866966,"ts":1546070400000},{"insurance_fund":51.103119895532366,"ts":1545984000000},{"insurance_fund":46.715737752247485,"ts":1545897600000},{"insurance_fund":46.21349222285438,"ts":1545811200000},{"insurance_fund":46.12797294356424,"ts":1545724800000},{"insurance_fund":40.96535922068841,"ts":1545638400000},{"insurance_fund":39.81519349900115,"ts":1545552000000},{"insurance_fund":38.69502438281472,"ts":1545465600000},{"insurance_fund":32.15853938056553,"ts":1545379200000},{"insurance_fund":26.987682542015047,"ts":1545292800000},{"insurance_fund":19.078033183828506,"ts":1545206400000},{"insurance_fund":17.726704991329154,"ts":1545120000000},{"insurance_fund":12.74735340574262,"ts":1545033600000},{"insurance_fund":12.744482810562028,"ts":1544947200000},{"insurance_fund":12.728532742771781,"ts":1544860800000},{"insurance_fund":11.32230669974988,"ts":1544774400000},{"insurance_fund":8.757425191957735,"ts":1544688000000},{"insurance_fund":8.65041507596634,"ts":1544601600000},{"insurance_fund":8.568423867512672,"ts":1544515200000},{"insurance_fund":8.568423867512672,"ts":1544428800000},{"insurance_fund":8.260872169597945,"ts":1544342400000},{"insurance_fund":8.24752418876307,"ts":1544256000000},{"insurance_fund":7.590112075414615,"ts":1544169600000},{"insurance_fund":5.079182308030724,"ts":1544083200000},{"insurance_fund":4.289664390798231,"ts":1543996800000},{"insurance_fund":4.27670768771756,"ts":1543910400000},{"insurance_fund":3.709915104859235,"ts":1543824000000},{"insurance_fund":3.563904055588498,"ts":1543737600000},{"insurance_fund":3.1220583038799337,"ts":1543651200000},{"insurance_fund":2.7722398814130313,"ts":1543564800000},{"insurance_fund":2.720943358268492,"ts":1543478400000},{"insurance_fund":2.5104042827226904,"ts":1543392000000},{"insurance_fund":2.2466015155191843,"ts":1543305600000},{"insurance_fund":2.07119421792157,"ts":1543219200000},{"insurance_fund":1.9689418342651073,"ts":1543132800000},{"insurance_fund":0.7928389350084036,"ts":1543046400000},{"insurance_fund":0.7928389350084036,"ts":1542960000000},{"insurance_fund":0.24342972698852133,"ts":1542873600000},{"insurance_fund":0.21085456885143022,"ts":1542787200000},{"insurance_fund":0.12222801226167034,"ts":1542700800000},{"insurance_fund":0.025812785969752085,"ts":1542614400000},{"insurance_fund":0.01256681807200415,"ts":1542528000000},{"insurance_fund":0.01256681807200415,"ts":1542441600000},{"insurance_fund":0.01256681807200415,"ts":1542355200000},{"insurance_fund":0.01256681807200415,"ts":1542268800000},{"insurance_fund":3.295501315421E-6,"ts":1542182400000},{"insurance_fund":3.295501315421E-6,"ts":1542096000000},{"insurance_fund":3.295501315421E-6,"ts":1542009600000},{"insurance_fund":1.661549095452E-6,"ts":1541923200000},{"insurance_fund":0,"ts":1541836800000}]} + * ts : 1570779873941 + */ + + private String status; + private DataBean data; + private Long ts; + + @Data + @AllArgsConstructor + public static class DataBean { + /** + * symbol : BTC + * tick : [{"insurance_fund":457.06542829785315,"ts":1570694400000},{"insurance_fund":445.94871548580835,"ts":1570608000000},{"insurance_fund":445.94871548580835,"ts":1570521600000},{"insurance_fund":443.56765758637135,"ts":1570435200000},{"insurance_fund":441.522062363347,"ts":1570348800000},{"insurance_fund":440.9501380596635,"ts":1570262400000},{"insurance_fund":440.9501380596635,"ts":1570176000000},{"insurance_fund":439.7846020687266,"ts":1570089600000},{"insurance_fund":439.7846020687266,"ts":1570003200000},{"insurance_fund":439.53741289886807,"ts":1569916800000},{"insurance_fund":434.8730055014997,"ts":1569830400000},{"insurance_fund":427.7118061807235,"ts":1569744000000},{"insurance_fund":427.5076806460167,"ts":1569657600000},{"insurance_fund":427.2563625933575,"ts":1569571200000},{"insurance_fund":416.5586898561534,"ts":1569484800000},{"insurance_fund":414.8086186145282,"ts":1569398400000},{"insurance_fund":1209.81231334651,"ts":1569312000000},{"insurance_fund":1207.7427061015262,"ts":1569225600000},{"insurance_fund":1207.7427061015262,"ts":1569139200000},{"insurance_fund":1207.4512202546532,"ts":1569052800000},{"insurance_fund":1207.4512202546532,"ts":1568966400000},{"insurance_fund":1206.390502703743,"ts":1568880000000},{"insurance_fund":1194.5876468063996,"ts":1568793600000},{"insurance_fund":1194.5876468063996,"ts":1568707200000},{"insurance_fund":1194.5876468063996,"ts":1568620800000},{"insurance_fund":1194.5876468063996,"ts":1568534400000},{"insurance_fund":1194.5876468063996,"ts":1568448000000},{"insurance_fund":1194.5876468063996,"ts":1568361600000},{"insurance_fund":1193.8250032738567,"ts":1568275200000},{"insurance_fund":1193.8250032738567,"ts":1568188800000},{"insurance_fund":1184.7975440677938,"ts":1568102400000},{"insurance_fund":1184.492845613117,"ts":1568016000000},{"insurance_fund":1183.1258490529185,"ts":1567929600000},{"insurance_fund":1183.1258490529185,"ts":1567843200000},{"insurance_fund":1167.4246801784147,"ts":1567756800000},{"insurance_fund":1167.4246801784147,"ts":1567670400000},{"insurance_fund":1167.022911815458,"ts":1567584000000},{"insurance_fund":1164.0028593208247,"ts":1567497600000},{"insurance_fund":1146.7326823460824,"ts":1567411200000},{"insurance_fund":1146.6691603419397,"ts":1567324800000},{"insurance_fund":1146.6691603419397,"ts":1567238400000},{"insurance_fund":1146.6691603419397,"ts":1567152000000},{"insurance_fund":1146.6691603419397,"ts":1567065600000},{"insurance_fund":1128.2367640411264,"ts":1566979200000},{"insurance_fund":1128.0957296360282,"ts":1566892800000},{"insurance_fund":1127.9808477654865,"ts":1566806400000},{"insurance_fund":1120.8070265433178,"ts":1566720000000},{"insurance_fund":1116.2675466120304,"ts":1566633600000},{"insurance_fund":1115.7593632306832,"ts":1566547200000},{"insurance_fund":1115.6331649423955,"ts":1566460800000},{"insurance_fund":1108.1286576545156,"ts":1566374400000},{"insurance_fund":1098.069993332201,"ts":1566288000000},{"insurance_fund":1095.292287434189,"ts":1566201600000},{"insurance_fund":1093.90617006378,"ts":1566115200000},{"insurance_fund":1093.288185908317,"ts":1566028800000},{"insurance_fund":1090.3300143595525,"ts":1565942400000},{"insurance_fund":1074.347933462031,"ts":1565856000000},{"insurance_fund":1042.2265429290278,"ts":1565769600000},{"insurance_fund":1015.7804082871266,"ts":1565683200000},{"insurance_fund":1015.7804082871266,"ts":1565596800000},{"insurance_fund":1015.3216258943726,"ts":1565510400000},{"insurance_fund":994.4331838829653,"ts":1565424000000},{"insurance_fund":994.4331838829653,"ts":1565337600000},{"insurance_fund":992.1694257099747,"ts":1565251200000},{"insurance_fund":989.6156252311858,"ts":1565164800000},{"insurance_fund":977.8263994967216,"ts":1565078400000},{"insurance_fund":970.4506715490975,"ts":1564992000000},{"insurance_fund":954.4869876964552,"ts":1564905600000},{"insurance_fund":954.4839043647947,"ts":1564819200000},{"insurance_fund":950.8161759548469,"ts":1564732800000},{"insurance_fund":937.8817974723953,"ts":1564646400000},{"insurance_fund":936.0692432747471,"ts":1564560000000},{"insurance_fund":934.8045731801526,"ts":1564473600000},{"insurance_fund":934.8045731801526,"ts":1564387200000},{"insurance_fund":930.0555128520516,"ts":1564300800000},{"insurance_fund":926.1722238935037,"ts":1564214400000},{"insurance_fund":925.759541501228,"ts":1564128000000},{"insurance_fund":924.3201867204791,"ts":1564041600000},{"insurance_fund":922.6379031244124,"ts":1563955200000},{"insurance_fund":919.3708196209698,"ts":1563868800000},{"insurance_fund":915.2766119791983,"ts":1563782400000},{"insurance_fund":914.7878521259763,"ts":1563696000000},{"insurance_fund":912.3374190212543,"ts":1563609600000},{"insurance_fund":910.7632183581403,"ts":1563523200000},{"insurance_fund":902.6219022153116,"ts":1563436800000},{"insurance_fund":896.4390234317816,"ts":1563350400000},{"insurance_fund":881.9205161825655,"ts":1563264000000},{"insurance_fund":878.6335798598768,"ts":1563177600000},{"insurance_fund":860.9563967218239,"ts":1563091200000},{"insurance_fund":853.7570704992838,"ts":1563004800000},{"insurance_fund":853.52588853097,"ts":1562918400000},{"insurance_fund":849.6671810628,"ts":1562832000000},{"insurance_fund":809.9381713707184,"ts":1562745600000},{"insurance_fund":804.883515749115,"ts":1562659200000},{"insurance_fund":796.565907141137,"ts":1562572800000},{"insurance_fund":796.5437699026531,"ts":1562486400000},{"insurance_fund":794.859165259563,"ts":1562400000000},{"insurance_fund":791.8871481918891,"ts":1562313600000},{"insurance_fund":783.4674702175862,"ts":1562227200000},{"insurance_fund":780.5242623007006,"ts":1562140800000},{"insurance_fund":771.0419325083935,"ts":1562054400000},{"insurance_fund":750.7126319861678,"ts":1561968000000},{"insurance_fund":737.5928685195069,"ts":1561881600000},{"insurance_fund":736.7325194843141,"ts":1561795200000},{"insurance_fund":730.9568067829175,"ts":1561708800000},{"insurance_fund":635.6650482611071,"ts":1561622400000},{"insurance_fund":579.1210396395668,"ts":1561536000000},{"insurance_fund":562.8769403344742,"ts":1561449600000},{"insurance_fund":562.0083446323514,"ts":1561363200000},{"insurance_fund":555.0835402807006,"ts":1561276800000},{"insurance_fund":534.4090723339247,"ts":1561190400000},{"insurance_fund":509.7363020881692,"ts":1561104000000},{"insurance_fund":500.14783821170744,"ts":1561017600000},{"insurance_fund":500.11864933798614,"ts":1560931200000},{"insurance_fund":499.9310368523819,"ts":1560844800000},{"insurance_fund":498.7018051712697,"ts":1560758400000},{"insurance_fund":496.58791200004794,"ts":1560672000000},{"insurance_fund":486.0070120034091,"ts":1560585600000},{"insurance_fund":478.9199176270201,"ts":1560499200000},{"insurance_fund":478.38159926265615,"ts":1560412800000},{"insurance_fund":476.33484564514686,"ts":1560326400000},{"insurance_fund":472.67803625177334,"ts":1560240000000},{"insurance_fund":457.26973714523535,"ts":1560153600000},{"insurance_fund":455.1741029802496,"ts":1560067200000},{"insurance_fund":454.74967827839487,"ts":1559980800000},{"insurance_fund":454.32226758565724,"ts":1559894400000},{"insurance_fund":446.3818146327061,"ts":1559808000000},{"insurance_fund":445.88511777726455,"ts":1559721600000},{"insurance_fund":430.528051297287,"ts":1559635200000},{"insurance_fund":406.3485433083766,"ts":1559548800000},{"insurance_fund":402.3755711653104,"ts":1559462400000},{"insurance_fund":401.7936348091042,"ts":1559376000000},{"insurance_fund":399.65105958729555,"ts":1559289600000},{"insurance_fund":374.11701502653534,"ts":1559203200000},{"insurance_fund":374.0881176949364,"ts":1559116800000},{"insurance_fund":369.22009756346546,"ts":1559030400000},{"insurance_fund":369.04493361079653,"ts":1558944000000},{"insurance_fund":359.913456332549,"ts":1558857600000},{"insurance_fund":359.913456332549,"ts":1558771200000},{"insurance_fund":359.6092723111316,"ts":1558684800000},{"insurance_fund":356.94131599975475,"ts":1558598400000},{"insurance_fund":350.4309827921681,"ts":1558512000000},{"insurance_fund":350.4309827921681,"ts":1558425600000},{"insurance_fund":347.028635520429,"ts":1558339200000},{"insurance_fund":329.5752044487138,"ts":1558252800000},{"insurance_fund":318.80380074125196,"ts":1558166400000},{"insurance_fund":317.1190610358035,"ts":1558080000000},{"insurance_fund":251.7350940823329,"ts":1557993600000},{"insurance_fund":248.50835438605546,"ts":1557907200000},{"insurance_fund":238.3512413451915,"ts":1557820800000},{"insurance_fund":214.93060499452216,"ts":1557734400000},{"insurance_fund":201.34506059363903,"ts":1557648000000},{"insurance_fund":177.30603593366965,"ts":1557561600000},{"insurance_fund":159.51123633904902,"ts":1557475200000},{"insurance_fund":144.9693630838722,"ts":1557388800000},{"insurance_fund":129.67671069483129,"ts":1557302400000},{"insurance_fund":127.81940307261368,"ts":1557216000000},{"insurance_fund":113.69760848867618,"ts":1557129600000},{"insurance_fund":113.61393536411522,"ts":1557043200000},{"insurance_fund":95.7240562297583,"ts":1556956800000},{"insurance_fund":86.84322683742424,"ts":1556870400000},{"insurance_fund":85.3724871830134,"ts":1556784000000},{"insurance_fund":85.34584375001408,"ts":1556697600000},{"insurance_fund":85.3077313138797,"ts":1556611200000},{"insurance_fund":85.3077313138797,"ts":1556524800000},{"insurance_fund":85.3077313138797,"ts":1556438400000},{"insurance_fund":85.3077313138797,"ts":1556352000000},{"insurance_fund":85.27295689602695,"ts":1556265600000},{"insurance_fund":71.1480119032514,"ts":1556179200000},{"insurance_fund":69.52584511672127,"ts":1556092800000},{"insurance_fund":69.34042089845205,"ts":1556006400000},{"insurance_fund":56.2300426609201,"ts":1555920000000},{"insurance_fund":56.2300426609201,"ts":1555833600000},{"insurance_fund":56.2300426609201,"ts":1555747200000},{"insurance_fund":55.256941088123845,"ts":1555660800000},{"insurance_fund":55.220505253546435,"ts":1555574400000},{"insurance_fund":55.01854991501538,"ts":1555488000000},{"insurance_fund":53.37033716390686,"ts":1555401600000},{"insurance_fund":47.275221705637655,"ts":1555315200000},{"insurance_fund":47.13107653949028,"ts":1555228800000},{"insurance_fund":47.13107653949028,"ts":1555142400000},{"insurance_fund":47.130904156015276,"ts":1555056000000},{"insurance_fund":40.2428981143741,"ts":1554969600000},{"insurance_fund":35.47848052031639,"ts":1554883200000},{"insurance_fund":35.47848052031639,"ts":1554796800000},{"insurance_fund":34.6530211631787,"ts":1554710400000},{"insurance_fund":32.86793699699257,"ts":1554624000000},{"insurance_fund":28.5357117344238,"ts":1554537600000},{"insurance_fund":28.5357117344238,"ts":1554451200000},{"insurance_fund":27.058026691306793,"ts":1554364800000},{"insurance_fund":11.531050391567275,"ts":1554278400000},{"insurance_fund":9.728538626835707,"ts":1554192000000},{"insurance_fund":65.3931758050866,"ts":1554105600000},{"insurance_fund":65.3931758050866,"ts":1554019200000},{"insurance_fund":65.3931758050866,"ts":1553932800000},{"insurance_fund":65.3554239572994,"ts":1553846400000},{"insurance_fund":65.33316670917495,"ts":1553760000000},{"insurance_fund":65.19672910233633,"ts":1553673600000},{"insurance_fund":65.14488331696188,"ts":1553587200000},{"insurance_fund":64.3665429089374,"ts":1553500800000},{"insurance_fund":64.3665429089374,"ts":1553414400000},{"insurance_fund":64.3665429089374,"ts":1553328000000},{"insurance_fund":64.3665429089374,"ts":1553241600000},{"insurance_fund":64.3081200940391,"ts":1553155200000},{"insurance_fund":64.26848515672086,"ts":1553068800000},{"insurance_fund":64.26848515672086,"ts":1552982400000},{"insurance_fund":64.26848515672086,"ts":1552896000000},{"insurance_fund":64.26848515672086,"ts":1552809600000},{"insurance_fund":64.26848515672086,"ts":1552723200000},{"insurance_fund":64.101198333734,"ts":1552636800000},{"insurance_fund":64.101198333734,"ts":1552550400000},{"insurance_fund":64.101198333734,"ts":1552464000000},{"insurance_fund":64.101198333734,"ts":1552377600000},{"insurance_fund":64.101198333734,"ts":1552291200000},{"insurance_fund":64.101198333734,"ts":1552204800000},{"insurance_fund":64.09828334999936,"ts":1552118400000},{"insurance_fund":64.09828334999936,"ts":1552032000000},{"insurance_fund":63.998719468052556,"ts":1551945600000},{"insurance_fund":63.993183240650346,"ts":1551859200000},{"insurance_fund":62.94830987864748,"ts":1551772800000},{"insurance_fund":62.63676196719665,"ts":1551686400000},{"insurance_fund":62.586246246472285,"ts":1551600000000},{"insurance_fund":62.586246246472285,"ts":1551513600000},{"insurance_fund":62.586246246472285,"ts":1551427200000},{"insurance_fund":62.56794010664541,"ts":1551340800000},{"insurance_fund":62.34600477747614,"ts":1551254400000},{"insurance_fund":62.34600477747614,"ts":1551168000000},{"insurance_fund":62.34600477747614,"ts":1551081600000},{"insurance_fund":70.07757083244488,"ts":1550995200000},{"insurance_fund":68.2726265454908,"ts":1550908800000},{"insurance_fund":68.2726265454908,"ts":1550822400000},{"insurance_fund":68.2726265454908,"ts":1550736000000},{"insurance_fund":68.27168868249217,"ts":1550649600000},{"insurance_fund":68.27168868249217,"ts":1550563200000},{"insurance_fund":65.30527056817361,"ts":1550476800000},{"insurance_fund":65.87822904856584,"ts":1550390400000},{"insurance_fund":65.87822904856584,"ts":1550304000000},{"insurance_fund":65.87822904856584,"ts":1550217600000},{"insurance_fund":65.87822904856584,"ts":1550131200000},{"insurance_fund":65.87822904856584,"ts":1550044800000},{"insurance_fund":65.87822904856584,"ts":1549958400000},{"insurance_fund":65.87822904856584,"ts":1549872000000},{"insurance_fund":65.87822904856584,"ts":1549785600000},{"insurance_fund":65.87822904856584,"ts":1549699200000},{"insurance_fund":73.65012533539178,"ts":1549612800000},{"insurance_fund":73.65012533539178,"ts":1549526400000},{"insurance_fund":73.62649399298094,"ts":1549440000000},{"insurance_fund":73.59593487794258,"ts":1549353600000},{"insurance_fund":73.59593487794258,"ts":1549267200000},{"insurance_fund":73.59593487794258,"ts":1549180800000},{"insurance_fund":73.57687479546432,"ts":1549094400000},{"insurance_fund":73.57687479546432,"ts":1549008000000},{"insurance_fund":73.57687479546432,"ts":1548921600000},{"insurance_fund":73.57687479546432,"ts":1548835200000},{"insurance_fund":73.57687479546432,"ts":1548748800000},{"insurance_fund":72.9137601914099,"ts":1548662400000},{"insurance_fund":71.31496158064678,"ts":1548576000000},{"insurance_fund":71.31496158064678,"ts":1548489600000},{"insurance_fund":71.27922703957258,"ts":1548403200000},{"insurance_fund":71.27922703957258,"ts":1548316800000},{"insurance_fund":71.27922703957258,"ts":1548230400000},{"insurance_fund":70.51823897714137,"ts":1548144000000},{"insurance_fund":70.51823897714137,"ts":1548057600000},{"insurance_fund":69.82508475248397,"ts":1547971200000},{"insurance_fund":69.52648606375331,"ts":1547884800000},{"insurance_fund":69.56273093380837,"ts":1547798400000},{"insurance_fund":68.59161030119128,"ts":1547712000000},{"insurance_fund":68.59161030119128,"ts":1547625600000},{"insurance_fund":68.59161030119128,"ts":1547539200000},{"insurance_fund":68.20894283226005,"ts":1547452800000},{"insurance_fund":67.0259390439793,"ts":1547366400000},{"insurance_fund":67.0259390439793,"ts":1547280000000},{"insurance_fund":66.89286426579689,"ts":1547193600000},{"insurance_fund":63.70617832868903,"ts":1547107200000},{"insurance_fund":59.619129538300506,"ts":1547020800000},{"insurance_fund":59.61479900788202,"ts":1546934400000},{"insurance_fund":59.61479900788202,"ts":1546848000000},{"insurance_fund":56.47893985446742,"ts":1546761600000},{"insurance_fund":56.47893985446742,"ts":1546675200000},{"insurance_fund":56.47881957856019,"ts":1546588800000},{"insurance_fund":56.462109414594686,"ts":1546502400000},{"insurance_fund":54.67907189551165,"ts":1546416000000},{"insurance_fund":54.61693331510239,"ts":1546329600000},{"insurance_fund":54.48366868600961,"ts":1546243200000},{"insurance_fund":54.48366868600961,"ts":1546156800000},{"insurance_fund":53.55063411866966,"ts":1546070400000},{"insurance_fund":51.103119895532366,"ts":1545984000000},{"insurance_fund":46.715737752247485,"ts":1545897600000},{"insurance_fund":46.21349222285438,"ts":1545811200000},{"insurance_fund":46.12797294356424,"ts":1545724800000},{"insurance_fund":40.96535922068841,"ts":1545638400000},{"insurance_fund":39.81519349900115,"ts":1545552000000},{"insurance_fund":38.69502438281472,"ts":1545465600000},{"insurance_fund":32.15853938056553,"ts":1545379200000},{"insurance_fund":26.987682542015047,"ts":1545292800000},{"insurance_fund":19.078033183828506,"ts":1545206400000},{"insurance_fund":17.726704991329154,"ts":1545120000000},{"insurance_fund":12.74735340574262,"ts":1545033600000},{"insurance_fund":12.744482810562028,"ts":1544947200000},{"insurance_fund":12.728532742771781,"ts":1544860800000},{"insurance_fund":11.32230669974988,"ts":1544774400000},{"insurance_fund":8.757425191957735,"ts":1544688000000},{"insurance_fund":8.65041507596634,"ts":1544601600000},{"insurance_fund":8.568423867512672,"ts":1544515200000},{"insurance_fund":8.568423867512672,"ts":1544428800000},{"insurance_fund":8.260872169597945,"ts":1544342400000},{"insurance_fund":8.24752418876307,"ts":1544256000000},{"insurance_fund":7.590112075414615,"ts":1544169600000},{"insurance_fund":5.079182308030724,"ts":1544083200000},{"insurance_fund":4.289664390798231,"ts":1543996800000},{"insurance_fund":4.27670768771756,"ts":1543910400000},{"insurance_fund":3.709915104859235,"ts":1543824000000},{"insurance_fund":3.563904055588498,"ts":1543737600000},{"insurance_fund":3.1220583038799337,"ts":1543651200000},{"insurance_fund":2.7722398814130313,"ts":1543564800000},{"insurance_fund":2.720943358268492,"ts":1543478400000},{"insurance_fund":2.5104042827226904,"ts":1543392000000},{"insurance_fund":2.2466015155191843,"ts":1543305600000},{"insurance_fund":2.07119421792157,"ts":1543219200000},{"insurance_fund":1.9689418342651073,"ts":1543132800000},{"insurance_fund":0.7928389350084036,"ts":1543046400000},{"insurance_fund":0.7928389350084036,"ts":1542960000000},{"insurance_fund":0.24342972698852133,"ts":1542873600000},{"insurance_fund":0.21085456885143022,"ts":1542787200000},{"insurance_fund":0.12222801226167034,"ts":1542700800000},{"insurance_fund":0.025812785969752085,"ts":1542614400000},{"insurance_fund":0.01256681807200415,"ts":1542528000000},{"insurance_fund":0.01256681807200415,"ts":1542441600000},{"insurance_fund":0.01256681807200415,"ts":1542355200000},{"insurance_fund":0.01256681807200415,"ts":1542268800000},{"insurance_fund":3.295501315421E-6,"ts":1542182400000},{"insurance_fund":3.295501315421E-6,"ts":1542096000000},{"insurance_fund":3.295501315421E-6,"ts":1542009600000},{"insurance_fund":1.661549095452E-6,"ts":1541923200000},{"insurance_fund":0,"ts":1541836800000}] + */ + + private String symbol; + private List tick; + + @Data + @AllArgsConstructor + public static class TickBean { + /** + * insurance_fund : 457.06542829785315 + * ts : 1570694400000 + */ + + @SerializedName("insurance_fund") + private BigDecimal insuranceFund; + private Long ts; + + } + } +} \ No newline at end of file diff --git a/src/main/java/com/huobi/api/response/coin_futures/market/ContractLadderMarginResponse.java b/src/main/java/com/huobi/api/response/coin_futures/market/ContractLadderMarginResponse.java new file mode 100644 index 0000000..8e526a4 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_futures/market/ContractLadderMarginResponse.java @@ -0,0 +1,49 @@ +package com.huobi.api.response.coin_futures.market; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Builder +@AllArgsConstructor +@Data +public class ContractLadderMarginResponse { + private String status; + private Long ts ; + private List data; + + @Builder + @AllArgsConstructor + @Data + public static class DataBean{ + private String symbol; + private List list; + + @Builder + @AllArgsConstructor + @Data + public static class ListBean{ + @SerializedName("lever_rate") + private Integer leverRate; + private List ladders; + + @Builder + @AllArgsConstructor + @Data + public static class LaddersBean{ + @SerializedName("min_margin_balance") + private BigDecimal minMarginBalance; + @SerializedName("max_margin_balance") + private BigDecimal maxMarginBalance; + @SerializedName("min_margin_available") + private BigDecimal minMarginAvailable; + @SerializedName("max_margin_available") + private BigDecimal maxMarginAvailable; + } + } + } +} diff --git a/src/main/java/com/huobi/api/response/coin_futures/market/ContractLiquidationOrdersResponse.java b/src/main/java/com/huobi/api/response/coin_futures/market/ContractLiquidationOrdersResponse.java new file mode 100644 index 0000000..1cb8949 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_futures/market/ContractLiquidationOrdersResponse.java @@ -0,0 +1,66 @@ +package com.huobi.api.response.coin_futures.market; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class ContractLiquidationOrdersResponse { + + /** + * status : ok + * data : {"orders":[{"contract_code":"BTC191227","symbol":"BTC","direction":"sell","offset":"close","volume":138,"price":8110.63,"created_at":1571156173812},{"contract_code":"BTC191227","symbol":"BTC","direction":"sell","offset":"close","volume":6,"price":8099.81,"created_at":1571156168239},{"contract_code":"BTC191227","symbol":"BTC","direction":"sell","offset":"close","volume":14,"price":8140.3,"created_at":1571156157269},{"contract_code":"BTC191227","symbol":"BTC","direction":"sell","offset":"close","volume":2,"price":8110.13,"created_at":1571156155300},{"contract_code":"BTC191227","symbol":"BTC","direction":"sell","offset":"close","volume":3,"price":8105.92,"created_at":1571156154754},{"contract_code":"BTC191227","symbol":"BTC","direction":"sell","offset":"close","volume":58,"price":8098.42,"created_at":1571156153979},{"contract_code":"BTC191227","symbol":"BTC","direction":"sell","offset":"close","volume":13,"price":8124.98,"created_at":1571156153311},{"contract_code":"BTC191227","symbol":"BTC","direction":"sell","offset":"close","volume":25,"price":8095.39,"created_at":1571156149036},{"contract_code":"BTC191227","symbol":"BTC","direction":"sell","offset":"close","volume":100,"price":8107.6,"created_at":1571156147508},{"contract_code":"BTC191227","symbol":"BTC","direction":"sell","offset":"close","volume":82,"price":8103.73,"created_at":1571156147327},{"contract_code":"BTC191227","symbol":"BTC","direction":"sell","offset":"close","volume":90,"price":8100.68,"created_at":1571156147288},{"contract_code":"BTC191227","symbol":"BTC","direction":"sell","offset":"close","volume":2,"price":8130.92,"created_at":1571156146269},{"contract_code":"BTC191227","symbol":"BTC","direction":"sell","offset":"close","volume":130,"price":8115.14,"created_at":1571156146186},{"contract_code":"BTC191227","symbol":"BTC","direction":"sell","offset":"close","volume":23,"price":8116.24,"created_at":1571156146072},{"contract_code":"BTC191227","symbol":"BTC","direction":"sell","offset":"close","volume":3,"price":8103.47,"created_at":1571156145243},{"contract_code":"BTC191227","symbol":"BTC","direction":"sell","offset":"close","volume":2,"price":8117.16,"created_at":1571156145170},{"contract_code":"BTC191227","symbol":"BTC","direction":"sell","offset":"close","volume":24,"price":8121.14,"created_at":1571156140246},{"contract_code":"BTC191227","symbol":"BTC","direction":"sell","offset":"close","volume":2,"price":8116.99,"created_at":1571156138395},{"contract_code":"BTC191227","symbol":"BTC","direction":"sell","offset":"close","volume":65,"price":8135.54,"created_at":1571156132493},{"contract_code":"BTC191227","symbol":"BTC","direction":"sell","offset":"close","volume":5,"price":8147.03,"created_at":1571156132007}],"total_page":27,"current_page":1,"total_size":538} + * ts : 1571194664573 + */ + + private String status; + private DataBean data; + private Long ts; + + @Data + @AllArgsConstructor + public static class DataBean { + /** + * orders : [{"contract_code":"BTC191227","symbol":"BTC","direction":"sell","offset":"close","volume":138,"price":8110.63,"created_at":1571156173812},{"contract_code":"BTC191227","symbol":"BTC","direction":"sell","offset":"close","volume":6,"price":8099.81,"created_at":1571156168239},{"contract_code":"BTC191227","symbol":"BTC","direction":"sell","offset":"close","volume":14,"price":8140.3,"created_at":1571156157269},{"contract_code":"BTC191227","symbol":"BTC","direction":"sell","offset":"close","volume":2,"price":8110.13,"created_at":1571156155300},{"contract_code":"BTC191227","symbol":"BTC","direction":"sell","offset":"close","volume":3,"price":8105.92,"created_at":1571156154754},{"contract_code":"BTC191227","symbol":"BTC","direction":"sell","offset":"close","volume":58,"price":8098.42,"created_at":1571156153979},{"contract_code":"BTC191227","symbol":"BTC","direction":"sell","offset":"close","volume":13,"price":8124.98,"created_at":1571156153311},{"contract_code":"BTC191227","symbol":"BTC","direction":"sell","offset":"close","volume":25,"price":8095.39,"created_at":1571156149036},{"contract_code":"BTC191227","symbol":"BTC","direction":"sell","offset":"close","volume":100,"price":8107.6,"created_at":1571156147508},{"contract_code":"BTC191227","symbol":"BTC","direction":"sell","offset":"close","volume":82,"price":8103.73,"created_at":1571156147327},{"contract_code":"BTC191227","symbol":"BTC","direction":"sell","offset":"close","volume":90,"price":8100.68,"created_at":1571156147288},{"contract_code":"BTC191227","symbol":"BTC","direction":"sell","offset":"close","volume":2,"price":8130.92,"created_at":1571156146269},{"contract_code":"BTC191227","symbol":"BTC","direction":"sell","offset":"close","volume":130,"price":8115.14,"created_at":1571156146186},{"contract_code":"BTC191227","symbol":"BTC","direction":"sell","offset":"close","volume":23,"price":8116.24,"created_at":1571156146072},{"contract_code":"BTC191227","symbol":"BTC","direction":"sell","offset":"close","volume":3,"price":8103.47,"created_at":1571156145243},{"contract_code":"BTC191227","symbol":"BTC","direction":"sell","offset":"close","volume":2,"price":8117.16,"created_at":1571156145170},{"contract_code":"BTC191227","symbol":"BTC","direction":"sell","offset":"close","volume":24,"price":8121.14,"created_at":1571156140246},{"contract_code":"BTC191227","symbol":"BTC","direction":"sell","offset":"close","volume":2,"price":8116.99,"created_at":1571156138395},{"contract_code":"BTC191227","symbol":"BTC","direction":"sell","offset":"close","volume":65,"price":8135.54,"created_at":1571156132493},{"contract_code":"BTC191227","symbol":"BTC","direction":"sell","offset":"close","volume":5,"price":8147.03,"created_at":1571156132007}] + * total_page : 27 + * current_page : 1 + * total_size : 538 + */ + + @SerializedName("total_page") + private Integer totalPage; + @SerializedName("current_page") + private Integer currentPage; + @SerializedName("total_size") + private Integer totalSize; + private List orders; + + @Data + @AllArgsConstructor + public static class OrdersBean { + /** + * contract_code : BTC191227 + * symbol : BTC + * direction : sell + * offset : close + * volume : 138 + * price : 8110.63 + * created_at : 1571156173812 + */ + + @SerializedName("contract_code") + private String contractCode; + private String symbol; + private String direction; + private String offset; + private Integer volume; + private BigDecimal price; + @SerializedName("created_at") + private Long createdAt; + } + } +} diff --git a/src/main/java/com/huobi/api/response/coin_futures/market/ContractLiquidationOrdersV3Response.java b/src/main/java/com/huobi/api/response/coin_futures/market/ContractLiquidationOrdersV3Response.java new file mode 100644 index 0000000..3716e2b --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_futures/market/ContractLiquidationOrdersV3Response.java @@ -0,0 +1,36 @@ +package com.huobi.api.response.coin_futures.market; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Builder +@AllArgsConstructor +@Data +public class ContractLiquidationOrdersV3Response { + private Integer code; + private String msg; + private Long ts; + private List data; + @AllArgsConstructor + @Builder + @Data + public static class DataBean{ + @SerializedName("query_id") + private Long queryId; + private String symbol; + @SerializedName("contract_code") + private String contractCode; + private String direction; + private String offset; + private BigDecimal volume; + private BigDecimal amount; + private BigDecimal price; + @SerializedName("created_at") + private Long createdAt; + } +} diff --git a/src/main/java/com/huobi/api/response/coin_futures/market/ContractOpenInterestResponse.java b/src/main/java/com/huobi/api/response/coin_futures/market/ContractOpenInterestResponse.java new file mode 100644 index 0000000..7e59e94 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_futures/market/ContractOpenInterestResponse.java @@ -0,0 +1,52 @@ +package com.huobi.api.response.coin_futures.market; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class ContractOpenInterestResponse { + + + /** + * status : ok + * data : [{"volume":86299,"amount":1025.1259743561113,"symbol":"BTC","contract_type":"this_week","contract_code":"BTC191011"}] + * ts : 1570779150321 + */ + + private String status; + private Long ts; + private List data; + + + @Data + @AllArgsConstructor + public static class DataBean { + /** + * volume : 86299 + * amount : 1025.1259743561113 + * symbol : BTC + * contract_type : this_week + * contract_code : BTC191011 + */ + + private BigDecimal volume; + private BigDecimal amount; + private String symbol; + @SerializedName("contract_type") + private String contractType; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("trade_amount") + private BigDecimal tradeAmount; + @SerializedName("trade_volume") + private BigDecimal tradeVolume; + @SerializedName("trade_turnover") + private BigDecimal tradeTurnover; + + } +} diff --git a/src/main/java/com/huobi/api/response/coin_futures/market/ContractPriceLimitResponse.java b/src/main/java/com/huobi/api/response/coin_futures/market/ContractPriceLimitResponse.java new file mode 100644 index 0000000..73cf994 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_futures/market/ContractPriceLimitResponse.java @@ -0,0 +1,47 @@ +package com.huobi.api.response.coin_futures.market; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class ContractPriceLimitResponse { + + /** + * status : ok + * data : [{"symbol":"BTC","contract_code":"BTC191011","contract_type":"this_week","high_limit":8750.09,"low_limit":8079.82}] + * ts : 1570775227012 + */ + + private String status; + private Long ts; + private List data; + + + @Data + @AllArgsConstructor + public static class DataBean { + /** + * symbol : BTC + * contract_code : BTC191011 + * contract_type : this_week + * high_limit : 8750.09 + * low_limit : 8079.82 + */ + + private String symbol; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("contract_type") + private String contractType; + @SerializedName("high_limit") + private BigDecimal highLimit; + @SerializedName("low_limit") + private BigDecimal lowLimit; + + } +} diff --git a/src/main/java/com/huobi/api/response/coin_futures/market/ContractQueryElementsResponse.java b/src/main/java/com/huobi/api/response/coin_futures/market/ContractQueryElementsResponse.java new file mode 100644 index 0000000..7ef9e4a --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_futures/market/ContractQueryElementsResponse.java @@ -0,0 +1,137 @@ +package com.huobi.api.response.coin_futures.market; + +import com.google.gson.annotations.SerializedName; +import com.huobi.api.response.usdt.market.SwapQueryElementsResponse; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Builder +@AllArgsConstructor +@Data +public class ContractQueryElementsResponse { + private String status; + private List data; + + @AllArgsConstructor + @Builder + @Data + public static class DataBean{ + @SerializedName("contract_code") + private String contractCode; + @SerializedName("mode_type") + private Integer modeType; + @SerializedName("swap_delivery_type") + private Integer swapDeliveryType; + @SerializedName("instrument_index_code") + private String instrumentIndexCode; + @SerializedName("real_time_settlement") + private Integer realTimeSettlement; + @SerializedName("contract_infos") + private List contractInfos; + @SerializedName("transfer_profit_ratio") + private BigDecimal transferProfitRatio; + @SerializedName("cross_transfer_profit_ratio") + private BigDecimal crossTransferProfitRatio; + @SerializedName("instrument_type") + private List instrumentType; + @SerializedName("trade_partition") + private String tradePartition; + @SerializedName("min_level") + private Integer minLevel; + @SerializedName("max_level") + private Integer maxLevel; + @SerializedName("settle_period") + private Integer settlePeriod; + @SerializedName("funding_rate_cap") + private BigDecimal fundingRateCap; + @SerializedName("funding_rate_floor") + private BigDecimal fundingRateFloor; + @SerializedName("long_position_limit") + private BigDecimal longPositionLimit; + @SerializedName("offset_order_limit") + private BigDecimal offsetOrderLimit; + @SerializedName("open_order_limit") + private BigDecimal openOrderLimit; + @SerializedName("short_position_limit") + private BigDecimal shortPositionLimit; + @SerializedName("week_hig_normal_limit") + private Integer weekHigNormalLimit; + @SerializedName("week_min_normal_limit") + private Integer weekMinNormalLimit; + @SerializedName("week_hig_open_limit") + private Integer weekHigOpenLimit; + @SerializedName("week_min_open_limit") + private Integer weekMinOpenLimit; + @SerializedName("week_hig_trade_limit") + private Integer weekHigTradeLimit; + @SerializedName("week_min_trade_limit") + private Integer weekMinTradeLimit; + @SerializedName("biweek_hig_normal_limit") + private Integer biweekHigNormalLimit; + @SerializedName("biweek_min_normal_limit") + private Integer biweekMinNormalLimit; + @SerializedName("biweek_hig_open_limit") + private Integer biweekHigOpenLimit; + @SerializedName("biweek_min_open_limit") + private Integer biweekMinOpenLimit; + @SerializedName("biweek_hig_trade_limit") + private Integer biweekHigTradeLimit; + @SerializedName("biweek_min_trade_limit") + private Integer biweekMinTradeLimit; + @SerializedName("quarter_hig_normal_limit") + private Integer quarterHigNormalLimit; + @SerializedName("quarter_min_normal_limit") + private Integer quarterMinNormalLimit; + @SerializedName("quarter_hig_open_limit") + private Integer quarterHigOpenLimit; + @SerializedName("quarter_min_open_limit") + private Integer quarterMinOpenLimit; + @SerializedName("quarter_hig_trade_limit") + private Integer quarterHigTradeLimit; + @SerializedName("quarter_min_trade_limit") + private Integer quarterMinTradeLimit; + @SerializedName("biquarter_hig_normal_limit") + private Integer biquarterHigNormalLimit; + @SerializedName("biquarter_min_normal_limit") + private Integer biquarterMinNormalLimit; + @SerializedName("biquarter_hig_open_limit") + private Integer biquarterHigOpenLimit; + @SerializedName("biquarter_min_open_limit") + private Integer biquarterMinOpenLimit; + @SerializedName("biquarter_hig_trade_limit") + private Integer biquarterHigTradeLimit; + @SerializedName("biquarter_min_trade_limit") + private Integer biquarterMinTradeLimit; + @SerializedName("order_limits") + private List orderLimits; + private Long ts; + @AllArgsConstructor + @Builder + @Data + public static class OrderLimits{ + @SerializedName("instrument_type") + private Integer instrumentType; + private String open; + private String close; + } + @AllArgsConstructor + @Builder + @Data + public static class ContractInfos { + @SerializedName("contract_code") + private String contractCode; + @SerializedName("instrument_type") + private List instrumentType; + @SerializedName("settlement_date") + private String settlementDate; + @SerializedName("create_date") + private String createDate; + @SerializedName("contract_status") + private Integer contractStatus; + } + } +} diff --git a/src/main/java/com/huobi/api/response/coin_futures/market/ContractRiskInfoResponse.java b/src/main/java/com/huobi/api/response/coin_futures/market/ContractRiskInfoResponse.java new file mode 100644 index 0000000..4a07526 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_futures/market/ContractRiskInfoResponse.java @@ -0,0 +1,40 @@ +package com.huobi.api.response.coin_futures.market; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class ContractRiskInfoResponse { + + /** + * status : ok + * data : [{"symbol":"BTC","insurance_fund":457.06542829785315,"estimated_clawback":0},{"symbol":"BSV","insurance_fund":135.96936585278442,"estimated_clawback":0},{"symbol":"BCH","insurance_fund":285.9666682903252,"estimated_clawback":0},{"symbol":"XRP","insurance_fund":4972848.682465245,"estimated_clawback":0},{"symbol":"ETH","insurance_fund":22892.41049355472,"estimated_clawback":0},{"symbol":"EOS","insurance_fund":287544.8584444354,"estimated_clawback":0},{"symbol":"LTC","insurance_fund":37127.219091037085,"estimated_clawback":0},{"symbol":"TRX","insurance_fund":1.5535403357534453E7,"estimated_clawback":0}] + * ts : 1570779722680 + */ + + private String status; + private Long ts; + private List data; + + @Data + @AllArgsConstructor + public static class DataBean { + /** + * symbol : BTC + * insurance_fund : 457.06542829785315 + * estimated_clawback : 0 + */ + + private String symbol; + @SerializedName("insurance_fund") + private BigDecimal insuranceFund; + @SerializedName("estimated_clawback") + private Integer estimatedClawback; + + } +} diff --git a/src/main/java/com/huobi/api/response/coin_futures/market/ContractSettlementRecordsResponse.java b/src/main/java/com/huobi/api/response/coin_futures/market/ContractSettlementRecordsResponse.java new file mode 100644 index 0000000..86c1774 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_futures/market/ContractSettlementRecordsResponse.java @@ -0,0 +1,56 @@ +package com.huobi.api.response.coin_futures.market; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Builder +@AllArgsConstructor +@Data +public class ContractSettlementRecordsResponse { + private String status; + private Long ts; + private List data; + + @Builder + @AllArgsConstructor + @Data + public static class DataBean{ + @SerializedName("current_page") + private Integer currentPage; + @SerializedName("total_page") + private Integer totalPage; + @SerializedName("total_size") + private Integer totalSize; + @SerializedName("settlement_record") + private List settlementRecord; + + @Builder + @AllArgsConstructor + @Data + public static class SettlementRecordBean{ + private String symbol; + @SerializedName("settlement_time") + private Long settlementTime; + @SerializedName("clawback_ratio") + private BigDecimal clawbackRatio; + private List list; + + @Builder + @AllArgsConstructor + @Data + public static class ListBean{ + @SerializedName("contract_code") + private String contractCode; + @SerializedName("settlement_price") + private BigDecimal settlementPrice; + @SerializedName("settlement_type") + private String settlementType; + } + } + } +} diff --git a/src/main/java/com/huobi/api/response/coin_futures/market/MarkPriceKlineResponse.java b/src/main/java/com/huobi/api/response/coin_futures/market/MarkPriceKlineResponse.java new file mode 100644 index 0000000..1e2e5fd --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_futures/market/MarkPriceKlineResponse.java @@ -0,0 +1,36 @@ +package com.huobi.api.response.coin_futures.market; + + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.util.List; + +@Builder +@Data +@AllArgsConstructor +public class MarkPriceKlineResponse { + private String status; + private Long ts; + private String ch; + private List data; + + @Builder + @Data + @AllArgsConstructor + public static class DataBean{ + private Long id; + private String vol; + private String count; + private String open; + private String close; + private String low; + private String high; + private String amount; + + } + + +} diff --git a/src/main/java/com/huobi/api/response/coin_futures/market/MarketBatchMergedResponse.java b/src/main/java/com/huobi/api/response/coin_futures/market/MarketBatchMergedResponse.java new file mode 100644 index 0000000..1e73f81 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_futures/market/MarketBatchMergedResponse.java @@ -0,0 +1,35 @@ +package com.huobi.api.response.coin_futures.market; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Builder +@AllArgsConstructor +@Data +public class MarketBatchMergedResponse { + private String status; + private Long ts; + private List ticks; + + @Builder + @AllArgsConstructor + @Data + public static class TicksBean{ + private String symbol; + private Long id; + private String amount; + private BigDecimal[] ask; + private BigDecimal[] bid; + private String open; + private String close; + private BigDecimal count; + private String high; + private String low; + private String vol; + private Long ts; + } +} diff --git a/src/main/java/com/huobi/api/response/coin_futures/market/MarketBboResponse.java b/src/main/java/com/huobi/api/response/coin_futures/market/MarketBboResponse.java new file mode 100644 index 0000000..b330099 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_futures/market/MarketBboResponse.java @@ -0,0 +1,28 @@ +package com.huobi.api.response.coin_futures.market; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Builder +@Data +@AllArgsConstructor +public class MarketBboResponse { + private String status; + private Long ts; + private List ticks; + + @Builder + @Data + @AllArgsConstructor + public static class TicksBean{ + private String symbol; + private Long mrid; + private BigDecimal[] ask; + private BigDecimal[] bid; + private Long ts; + } +} diff --git a/src/main/java/com/huobi/api/response/coin_futures/market/MarketDepthResponse.java b/src/main/java/com/huobi/api/response/coin_futures/market/MarketDepthResponse.java new file mode 100644 index 0000000..3110771 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_futures/market/MarketDepthResponse.java @@ -0,0 +1,47 @@ +package com.huobi.api.response.coin_futures.market; + +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class MarketDepthResponse { + + /** + * ch : market.BTC_CQ.depth.step5 + * status : ok + * tick : {"asks":[[8438.4,3428],[8438.7,2],[8438.8,25],[8438.9,1],[8439.1,25],[8439.3,70],[8439.4,40],[8439.5,1],[8439.8,51],[8440.1,1],[8440.3,54],[8440.4,8],[8440.5,92],[8440.7,1],[8440.8,15],[8440.9,58],[8441,17],[8441.3,43],[8441.4,893],[8441.6,40],[8441.7,20],[8441.8,20],[8441.9,69],[8442,1],[8442.2,10],[8442.4,19],[8442.6,27],[8442.8,284],[8442.9,3],[8443.1,51],[8443.2,4],[8443.4,23],[8443.5,205],[8443.6,196],[8443.7,106],[8443.8,54],[8444,52],[8444.1,52],[8444.2,45],[8444.3,23],[8444.4,1],[8444.5,1],[8444.8,55],[8445,19],[8445.1,188],[8445.2,1],[8445.4,45],[8445.7,11],[8445.8,2],[8446,41],[8446.5,11],[8446.6,51],[8446.7,1],[8446.8,2],[8447,4],[8447.1,1],[8447.2,101],[8447.3,4],[8447.6,3],[8447.8,3],[8447.9,3],[8448,53],[8448.1,1],[8448.2,23],[8448.3,107],[8448.4,33],[8448.5,21],[8448.6,24],[8448.7,2],[8448.8,19],[8449,170],[8449.2,38],[8449.3,1],[8449.5,12],[8449.7,10],[8449.8,4],[8449.9,30],[8450,58],[8450.1,3],[8450.4,3],[8450.8,5],[8450.9,43],[8451.2,110],[8451.3,7],[8451.7,42],[8451.8,405],[8452,400],[8452.1,55],[8452.3,3],[8452.5,1],[8452.6,4],[8452.7,260],[8452.9,3],[8453.2,3],[8453.9,651],[8454.4,40],[8454.6,100],[8454.9,32],[8455,7],[8455.2,415],[8455.7,109],[8455.8,200],[8456.4,88],[8456.7,7],[8456.9,529],[8457.5,1],[8458,27],[8458.2,350],[8458.5,90],[8459,30],[8459.1,2],[8459.4,170],[8459.6,1],[8459.9,1],[8460,182],[8460.7,1],[8460.9,149],[8462.2,541],[8462.9,37],[8463,140],[8464.1,5],[8464.8,88],[8465,1],[8465.6,120],[8465.9,180],[8466,66],[8466.2,42],[8466.4,461],[8467,5],[8467.1,24],[8467.6,37],[8468,6],[8468.2,3],[8468.4,169],[8468.9,85],[8469.4,128],[8470,79],[8470.1,50],[8470.5,50],[8470.8,578],[8472,268],[8472.1,262],[8472.2,50],[8473.2,29],[8473.5,100],[8474,386],[8474.3,309],[8474.5,350],[8475,583],[8475.1,80]],"bids":[[8438.3,2604],[8438,28],[8437.9,156],[8437.7,4],[8437.6,25],[8437.4,1],[8437.1,1410],[8437,40],[8436.8,1],[8436.4,1],[8436.3,7],[8436.2,32],[8436.1,102],[8436,2],[8435.7,1],[8435.4,4],[8435.3,7],[8435.2,10],[8435.1,4],[8435,301],[8434.9,20],[8434.8,1],[8434.6,7],[8434.5,3],[8434.4,1],[8434.1,1],[8434,108],[8433.8,53],[8433.6,1],[8433.5,84],[8433.3,8],[8433.2,40],[8433,8],[8432.8,1154],[8432.7,1],[8432.6,268],[8432.4,21],[8432.3,133],[8432.2,5],[8432.1,10],[8432,378],[8431.9,33],[8431.7,1],[8431.6,4],[8431.5,47],[8431.4,20],[8431.2,140],[8431.1,1],[8430.9,21],[8430.8,1],[8430.7,54],[8430.6,106],[8430.5,1],[8430.2,35],[8430,727],[8429.9,23],[8429.6,36],[8429.5,40],[8429.4,5],[8429.3,19],[8429.2,40],[8429,122],[8428.9,1],[8428.8,1],[8428.6,47],[8428.5,1],[8428.3,1],[8428,457],[8427.7,1],[8427.6,64],[8427.3,21],[8427.2,40],[8426.9,5],[8426.8,1],[8426.6,1],[8426.4,1],[8426.2,20],[8426.1,262],[8425.7,9],[8425.5,83],[8425.3,374],[8425.2,40],[8425,1209],[8424.9,60],[8424.8,20],[8424.2,20],[8424,503],[8423.9,3],[8423.6,229],[8423.2,85],[8423,362],[8422.9,16],[8422.8,16],[8422.7,1],[8422.6,1],[8422,11],[8421.9,89],[8421.4,26],[8421.1,81],[8421,291],[8420.9,100],[8420.7,2],[8420.6,50],[8420.5,170],[8420.2,5],[8420,2160],[8419.1,1],[8419,407],[8418.8,10],[8418.5,41],[8418.1,50],[8418,189],[8417.9,2],[8417.8,201],[8417.6,256],[8417.5,1],[8417.2,16],[8417.1,109],[8417,120],[8416.9,1],[8416.8,100],[8416.5,405],[8416.4,5],[8416.1,1],[8416,85],[8415.6,4],[8415.5,35],[8415.3,22],[8415,122],[8414.7,1],[8414,528],[8413.7,160],[8413.6,3],[8413.2,1],[8413.1,5],[8413,626],[8412.5,1],[8412,313],[8411.4,85],[8411,235],[8410.6,50],[8410.5,188],[8410.4,37],[8410.2,11],[8410.1,10],[8410,1379],[8409.4,16],[8409.1,1],[8409,32],[8408.9,10]],"ch":"market.BTC_CQ.depth.step5","id":1570779332,"mrid":21588539100,"ts":1570779332210,"version":1570779332} + * ts : 1570779332300 + */ + + private String ch; + private String status; + private TickBean tick; + private Long ts; + + @Data + @AllArgsConstructor + public static class TickBean { + /** + * asks : [[8438.4,3428],[8438.7,2],[8438.8,25],[8438.9,1],[8439.1,25],[8439.3,70],[8439.4,40],[8439.5,1],[8439.8,51],[8440.1,1],[8440.3,54],[8440.4,8],[8440.5,92],[8440.7,1],[8440.8,15],[8440.9,58],[8441,17],[8441.3,43],[8441.4,893],[8441.6,40],[8441.7,20],[8441.8,20],[8441.9,69],[8442,1],[8442.2,10],[8442.4,19],[8442.6,27],[8442.8,284],[8442.9,3],[8443.1,51],[8443.2,4],[8443.4,23],[8443.5,205],[8443.6,196],[8443.7,106],[8443.8,54],[8444,52],[8444.1,52],[8444.2,45],[8444.3,23],[8444.4,1],[8444.5,1],[8444.8,55],[8445,19],[8445.1,188],[8445.2,1],[8445.4,45],[8445.7,11],[8445.8,2],[8446,41],[8446.5,11],[8446.6,51],[8446.7,1],[8446.8,2],[8447,4],[8447.1,1],[8447.2,101],[8447.3,4],[8447.6,3],[8447.8,3],[8447.9,3],[8448,53],[8448.1,1],[8448.2,23],[8448.3,107],[8448.4,33],[8448.5,21],[8448.6,24],[8448.7,2],[8448.8,19],[8449,170],[8449.2,38],[8449.3,1],[8449.5,12],[8449.7,10],[8449.8,4],[8449.9,30],[8450,58],[8450.1,3],[8450.4,3],[8450.8,5],[8450.9,43],[8451.2,110],[8451.3,7],[8451.7,42],[8451.8,405],[8452,400],[8452.1,55],[8452.3,3],[8452.5,1],[8452.6,4],[8452.7,260],[8452.9,3],[8453.2,3],[8453.9,651],[8454.4,40],[8454.6,100],[8454.9,32],[8455,7],[8455.2,415],[8455.7,109],[8455.8,200],[8456.4,88],[8456.7,7],[8456.9,529],[8457.5,1],[8458,27],[8458.2,350],[8458.5,90],[8459,30],[8459.1,2],[8459.4,170],[8459.6,1],[8459.9,1],[8460,182],[8460.7,1],[8460.9,149],[8462.2,541],[8462.9,37],[8463,140],[8464.1,5],[8464.8,88],[8465,1],[8465.6,120],[8465.9,180],[8466,66],[8466.2,42],[8466.4,461],[8467,5],[8467.1,24],[8467.6,37],[8468,6],[8468.2,3],[8468.4,169],[8468.9,85],[8469.4,128],[8470,79],[8470.1,50],[8470.5,50],[8470.8,578],[8472,268],[8472.1,262],[8472.2,50],[8473.2,29],[8473.5,100],[8474,386],[8474.3,309],[8474.5,350],[8475,583],[8475.1,80]] + * bids : [[8438.3,2604],[8438,28],[8437.9,156],[8437.7,4],[8437.6,25],[8437.4,1],[8437.1,1410],[8437,40],[8436.8,1],[8436.4,1],[8436.3,7],[8436.2,32],[8436.1,102],[8436,2],[8435.7,1],[8435.4,4],[8435.3,7],[8435.2,10],[8435.1,4],[8435,301],[8434.9,20],[8434.8,1],[8434.6,7],[8434.5,3],[8434.4,1],[8434.1,1],[8434,108],[8433.8,53],[8433.6,1],[8433.5,84],[8433.3,8],[8433.2,40],[8433,8],[8432.8,1154],[8432.7,1],[8432.6,268],[8432.4,21],[8432.3,133],[8432.2,5],[8432.1,10],[8432,378],[8431.9,33],[8431.7,1],[8431.6,4],[8431.5,47],[8431.4,20],[8431.2,140],[8431.1,1],[8430.9,21],[8430.8,1],[8430.7,54],[8430.6,106],[8430.5,1],[8430.2,35],[8430,727],[8429.9,23],[8429.6,36],[8429.5,40],[8429.4,5],[8429.3,19],[8429.2,40],[8429,122],[8428.9,1],[8428.8,1],[8428.6,47],[8428.5,1],[8428.3,1],[8428,457],[8427.7,1],[8427.6,64],[8427.3,21],[8427.2,40],[8426.9,5],[8426.8,1],[8426.6,1],[8426.4,1],[8426.2,20],[8426.1,262],[8425.7,9],[8425.5,83],[8425.3,374],[8425.2,40],[8425,1209],[8424.9,60],[8424.8,20],[8424.2,20],[8424,503],[8423.9,3],[8423.6,229],[8423.2,85],[8423,362],[8422.9,16],[8422.8,16],[8422.7,1],[8422.6,1],[8422,11],[8421.9,89],[8421.4,26],[8421.1,81],[8421,291],[8420.9,100],[8420.7,2],[8420.6,50],[8420.5,170],[8420.2,5],[8420,2160],[8419.1,1],[8419,407],[8418.8,10],[8418.5,41],[8418.1,50],[8418,189],[8417.9,2],[8417.8,201],[8417.6,256],[8417.5,1],[8417.2,16],[8417.1,109],[8417,120],[8416.9,1],[8416.8,100],[8416.5,405],[8416.4,5],[8416.1,1],[8416,85],[8415.6,4],[8415.5,35],[8415.3,22],[8415,122],[8414.7,1],[8414,528],[8413.7,160],[8413.6,3],[8413.2,1],[8413.1,5],[8413,626],[8412.5,1],[8412,313],[8411.4,85],[8411,235],[8410.6,50],[8410.5,188],[8410.4,37],[8410.2,11],[8410.1,10],[8410,1379],[8409.4,16],[8409.1,1],[8409,32],[8408.9,10]] + * ch : market.BTC_CQ.depth.step5 + * id : 1570779332 + * mrid : 21588539100 + * ts : 1570779332210 + * version : 1570779332 + */ + + private String ch; + private Integer id; + private Long mrid; + private Long ts; + private Integer version; + private List asks; + private List bids; + + } +} diff --git a/src/main/java/com/huobi/api/response/coin_futures/market/MarketDetailMergedResponse.java b/src/main/java/com/huobi/api/response/coin_futures/market/MarketDetailMergedResponse.java new file mode 100644 index 0000000..8fb3721 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_futures/market/MarketDetailMergedResponse.java @@ -0,0 +1,55 @@ +package com.huobi.api.response.coin_futures.market; + +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class MarketDetailMergedResponse { + + /** + * ch : market.BTC_CQ.detail.merged + * status : ok + * tick : {"amount":"351515.0554673879065919920182059260577760508","ask":[8444.32,180],"bid":[8444.31,2887],"close":"8444.31","count":622984,"high":"8855","id":1570779412,"low":"8400.01","open":"8610.32","ts":1570779413025,"vol":"30185276"} + * ts : 1570779413025 + */ + + private String ch; + private String status; + private TickBean tick; + private Long ts; + + @Data + @AllArgsConstructor + public static class TickBean { + /** + * amount : 351515.0554673879065919920182059260577760508 + * ask : [8444.32,180] + * bid : [8444.31,2887] + * close : 8444.31 + * count : 622984 + * high : 8855 + * id : 1570779412 + * low : 8400.01 + * open : 8610.32 + * ts : 1570779413025 + * vol : 30185276 + */ + + private String amount; + private String close; + private Integer count; + private String high; + private Integer id; + private String low; + private String open; + private Long ts; + private String vol; + private BigDecimal[] ask; + private BigDecimal[] bid; + + } +} diff --git a/src/main/java/com/huobi/api/response/coin_futures/market/MarketHistoryBasisResponse.java b/src/main/java/com/huobi/api/response/coin_futures/market/MarketHistoryBasisResponse.java new file mode 100644 index 0000000..6ed2866 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_futures/market/MarketHistoryBasisResponse.java @@ -0,0 +1,32 @@ +package com.huobi.api.response.coin_futures.market; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.util.List; + +@AllArgsConstructor +@Builder +@Data +public class MarketHistoryBasisResponse { + private String ch; + private String status; + private Long ts; + private List data; + + @AllArgsConstructor + @Builder + @Data + public static class DataBean{ + private Long id; + @SerializedName("contract_price") + private String contractPrice; + @SerializedName("index_price") + private String indexPrice; + private String basis; + @SerializedName("basis_rate") + private String basisRate; + } +} diff --git a/src/main/java/com/huobi/api/response/coin_futures/market/MarketHistoryIndexResponse.java b/src/main/java/com/huobi/api/response/coin_futures/market/MarketHistoryIndexResponse.java new file mode 100644 index 0000000..4d0c461 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_futures/market/MarketHistoryIndexResponse.java @@ -0,0 +1,32 @@ +package com.huobi.api.response.coin_futures.market; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@AllArgsConstructor +@Data +@Builder +public class MarketHistoryIndexResponse { + private String ch; + private String status; + private Long ts; + public List data; + + @AllArgsConstructor + @Data + @Builder + public static class DataBean{ + private BigDecimal id; + private BigDecimal vol; + private BigDecimal count; + private BigDecimal open; + private BigDecimal close; + private BigDecimal low; + private BigDecimal high; + private BigDecimal amount; + } +} diff --git a/src/main/java/com/huobi/api/response/coin_futures/market/MarketHistoryKlineResponse.java b/src/main/java/com/huobi/api/response/coin_futures/market/MarketHistoryKlineResponse.java new file mode 100644 index 0000000..72e19d2 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_futures/market/MarketHistoryKlineResponse.java @@ -0,0 +1,49 @@ +package com.huobi.api.response.coin_futures.market; + +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class MarketHistoryKlineResponse { + + /** + * ch : market.BTC_CQ.kline.1min + * data : [{"amount":40.93882482347117,"close":8605,"count":96,"high":8608.59,"id":1570767420,"low":8605,"open":8608.58,"vol":3524},{"amount":48.92235173257754,"close":8605.41,"count":145,"high":8606.91,"id":1570767480,"low":8604.03,"open":8605.01,"vol":4210},{"amount":100.52946622223368,"close":8607.5,"count":222,"high":8607.5,"id":1570767540,"low":8605.41,"open":8605.41,"vol":8652},{"amount":17.728214475306725,"close":8604.94,"count":118,"high":8608.25,"id":1570767600,"low":8604.94,"open":8607.5,"vol":1526},{"amount":67.13491423447861,"close":8603.18,"count":177,"high":8604.94,"id":1570767660,"low":8602.14,"open":8604.94,"vol":5776},{"amount":44.13136966592323,"close":8606.21,"count":138,"high":8607.72,"id":1570767720,"low":8603.17,"open":8603.17,"vol":3798},{"amount":68.30976663166845,"close":8610.95,"count":205,"high":8610.96,"id":1570767780,"low":8606.2,"open":8606.2,"vol":5880},{"amount":49.85111586643481,"close":8610.4,"count":135,"high":8611.18,"id":1570767840,"low":8608.85,"open":8610.95,"vol":4292},{"amount":3.7396613695597196,"close":8610.41,"count":22,"high":8610.41,"id":1570767900,"low":8610.4,"open":8610.4,"vol":322},{"amount":117.83552104854992,"close":8603.7,"count":254,"high":8610.4,"id":1570767960,"low":8603.7,"open":8610.4,"vol":10142},{"amount":151.34027686679522,"close":8608.65,"count":252,"high":8608.68,"id":1570768020,"low":8602.2,"open":8603.18,"vol":13026},{"amount":44.51304423058953,"close":8608.89,"count":69,"high":8608.9,"id":1570768080,"low":8608.66,"open":8608.66,"vol":3832},{"amount":94.29812295572887,"close":8615,"count":257,"high":8616.01,"id":1570768140,"low":8608.89,"open":8608.89,"vol":8122},{"amount":36.606128962479126,"close":8617.8,"count":142,"high":8617.8,"id":1570768200,"low":8614.99,"open":8614.99,"vol":3154},{"amount":43.11259882998362,"close":8619.25,"count":189,"high":8619.67,"id":1570768260,"low":8617.8,"open":8617.8,"vol":3716},{"amount":43.94540420938929,"close":8620.62,"count":157,"high":8620.62,"id":1570768320,"low":8619.25,"open":8619.25,"vol":3788},{"amount":77.67713018206896,"close":8615.86,"count":261,"high":8621.12,"id":1570768380,"low":8615.86,"open":8620.62,"vol":6694},{"amount":85.7350107753828,"close":8615.87,"count":112,"high":8615.87,"id":1570768440,"low":8614.66,"open":8615.86,"vol":7386},{"amount":64.69359159194647,"close":8622.21,"count":148,"high":8622.21,"id":1570768500,"low":8615.86,"open":8615.87,"vol":5576},{"amount":39.219605792523566,"close":8621.81,"count":223,"high":8623.81,"id":1570768560,"low":8621.81,"open":8622.21,"vol":3382},{"amount":139.76073454075203,"close":8618.82,"count":187,"high":8621.73,"id":1570768620,"low":8618.82,"open":8621.72,"vol":12048},{"amount":36.99460265410448,"close":8617.98,"count":139,"high":8618.76,"id":1570768680,"low":8617,"open":8618.76,"vol":3188},{"amount":82.51752131060533,"close":8621.73,"count":249,"high":8622.34,"id":1570768740,"low":8617.98,"open":8617.98,"vol":7114},{"amount":48.97439113207192,"close":8622.33,"count":156,"high":8622.33,"id":1570768800,"low":8620.03,"open":8621.73,"vol":4222},{"amount":32.60845269135764,"close":8624.6,"count":166,"high":8624.61,"id":1570768860,"low":8622.32,"open":8622.33,"vol":2812},{"amount":283.1065704933708,"close":8628.33,"count":643,"high":8634.19,"id":1570768920,"low":8624.6,"open":8624.6,"vol":24430},{"amount":565.5301675537501,"close":8645.59,"count":1011,"high":8645.85,"id":1570768980,"low":8628.29,"open":8628.33,"vol":48828},{"amount":1072.4882928278332,"close":8659.95,"count":1932,"high":8659.99,"id":1570769040,"low":8642.66,"open":8644.52,"vol":92808},{"amount":4092.5531878785796,"close":8712.6,"count":5300,"high":8745,"id":1570769100,"low":8659.96,"open":8659.96,"vol":356278},{"amount":4067.3938677836472,"close":8772.8,"count":4325,"high":8799,"id":1570769160,"low":8710.13,"open":8711.9,"vol":356732},{"amount":2672.1747483737527,"close":8762.8,"count":3049,"high":8774.06,"id":1570769220,"low":8741.57,"open":8770,"vol":233984},{"amount":1621.75326757925,"close":8766.29,"count":2116,"high":8771.51,"id":1570769280,"low":8752.54,"open":8762.4,"vol":142080},{"amount":1687.1757094834504,"close":8779.31,"count":2161,"high":8796.05,"id":1570769340,"low":8762.59,"open":8766.79,"vol":148086},{"amount":1156.6544626001917,"close":8758.5,"count":2034,"high":8783.69,"id":1570769400,"low":8757.54,"open":8779.08,"vol":101462},{"amount":915.8719126860121,"close":8750.58,"count":1456,"high":8765.18,"id":1570769460,"low":8750.01,"open":8758.5,"vol":80200},{"amount":1027.862242337609,"close":8773.68,"count":1710,"high":8773.68,"id":1570769520,"low":8747.6,"open":8750.58,"vol":90036},{"amount":793.4763347990128,"close":8766.16,"count":1392,"high":8779.64,"id":1570769580,"low":8763.08,"open":8773.95,"vol":69612},{"amount":1166.7691890575156,"close":8764.8,"count":1534,"high":8778.56,"id":1570769640,"low":8763.47,"open":8766.16,"vol":102350},{"amount":626.6050271562426,"close":8770.51,"count":1268,"high":8779.17,"id":1570769700,"low":8761.13,"open":8764.81,"vol":54946},{"amount":509.3876705110486,"close":8771.49,"count":1059,"high":8779.94,"id":1570769760,"low":8770.51,"open":8770.52,"vol":44700},{"amount":507.2774118507467,"close":8773.14,"count":1119,"high":8775.63,"id":1570769820,"low":8765.3,"open":8771.47,"vol":44490},{"amount":417.15018994305404,"close":8776.97,"count":833,"high":8779.1,"id":1570769880,"low":8772.19,"open":8773.14,"vol":36608},{"amount":548.1078712908351,"close":8769.56,"count":888,"high":8776.97,"id":1570769940,"low":8769.43,"open":8776.97,"vol":48086},{"amount":2365.5065177300303,"close":8807.53,"count":2699,"high":8808,"id":1570770000,"low":8766.83,"open":8769.56,"vol":207926},{"amount":3215.776657368751,"close":8824.47,"count":3745,"high":8855,"id":1570770060,"low":8800,"open":8807.53,"vol":283996},{"amount":1183.4923586412544,"close":8818.56,"count":1842,"high":8831,"id":1570770120,"low":8804.21,"open":8825.93,"vol":104360},{"amount":1170.5035959127938,"close":8811.18,"count":1704,"high":8825.75,"id":1570770180,"low":8810,"open":8818.64,"vol":103192},{"amount":1807.0349312985168,"close":8793.46,"count":2450,"high":8811.18,"id":1570770240,"low":8762,"open":8811.17,"vol":158912},{"amount":1756.914197489326,"close":8756.27,"count":2329,"high":8793.44,"id":1570770300,"low":8756.27,"open":8793.44,"vol":154106},{"amount":1585.9670252892815,"close":8746.39,"count":2231,"high":8768.28,"id":1570770360,"low":8740,"open":8756.28,"vol":138828},{"amount":1005.8716342900044,"close":8748.48,"count":1624,"high":8755.48,"id":1570770420,"low":8743.67,"open":8746.47,"vol":88014},{"amount":1520.3794228150539,"close":8720.87,"count":1753,"high":8751.82,"id":1570770480,"low":8720,"open":8748.47,"vol":132854},{"amount":1303.7993393230172,"close":8736.76,"count":1678,"high":8738.49,"id":1570770540,"low":8710.52,"open":8720.87,"vol":113756},{"amount":1175.0785201516135,"close":8721.17,"count":1669,"high":8736.68,"id":1570770600,"low":8720.36,"open":8736.68,"vol":102540},{"amount":913.2377120101252,"close":8725.96,"count":1185,"high":8735.01,"id":1570770660,"low":8721.36,"open":8721.36,"vol":79690},{"amount":708.0507991528348,"close":8720.97,"count":1277,"high":8726.85,"id":1570770720,"low":8709.03,"open":8726.52,"vol":61716},{"amount":929.5528837499529,"close":8718.89,"count":1318,"high":8726.84,"id":1570770780,"low":8716.68,"open":8720.97,"vol":81070},{"amount":332.42583443885263,"close":8720.56,"count":835,"high":8725,"id":1570770840,"low":8716.7,"open":8718.89,"vol":28990},{"amount":3447.8327634844327,"close":8598.6,"count":3833,"high":8720.56,"id":1570770900,"low":8580,"open":8720.56,"vol":298190},{"amount":4027.0515668190087,"close":8563.85,"count":4404,"high":8626,"id":1570770960,"low":8555,"open":8599.15,"vol":346426},{"amount":5472.721003339776,"close":8573.73,"count":6434,"high":8585.91,"id":1570771020,"low":8498,"open":8560.86,"vol":466860},{"amount":2711.9166776892907,"close":8585.14,"count":3086,"high":8616.08,"id":1570771080,"low":8570.03,"open":8573.73,"vol":233038},{"amount":2377.393625128864,"close":8555.01,"count":2699,"high":8585.14,"id":1570771140,"low":8554,"open":8585.14,"vol":203700},{"amount":1734.2091259753636,"close":8560.4,"count":2418,"high":8573.6,"id":1570771200,"low":8554,"open":8555.01,"vol":148472},{"amount":1628.7823838521938,"close":8568.97,"count":1920,"high":8569.48,"id":1570771260,"low":8551,"open":8560.4,"vol":139408},{"amount":1229.6516395157946,"close":8569.11,"count":1744,"high":8575.36,"id":1570771320,"low":8551,"open":8569.45,"vol":105334},{"amount":1243.3785965747065,"close":8580.63,"count":2068,"high":8582.21,"id":1570771380,"low":8566.77,"open":8569.11,"vol":106610},{"amount":1108.1362025654364,"close":8565,"count":1595,"high":8580.12,"id":1570771440,"low":8563.64,"open":8580.12,"vol":94944},{"amount":1558.7376198494653,"close":8550,"count":2147,"high":8566.82,"id":1570771500,"low":8535,"open":8565,"vol":133310},{"amount":1555.8148070915781,"close":8519.22,"count":2525,"high":8553.03,"id":1570771560,"low":8509.63,"open":8550,"vol":132738},{"amount":6153.482687151659,"close":8449.33,"count":6415,"high":8530,"id":1570771620,"low":8400.01,"open":8519.23,"vol":519978},{"amount":3643.8896498735644,"close":8463.48,"count":4523,"high":8479.59,"id":1570771680,"low":8425.29,"open":8448.75,"vol":307960},{"amount":2661.2576183485307,"close":8458.73,"count":3334,"high":8463.48,"id":1570771740,"low":8410.99,"open":8463.48,"vol":224682},{"amount":2245.4431514733265,"close":8423.93,"count":2776,"high":8459.99,"id":1570771800,"low":8400.02,"open":8458.72,"vol":189114},{"amount":1732.8259513610587,"close":8446.87,"count":2084,"high":8449,"id":1570771860,"low":8420.67,"open":8424.1,"vol":146112},{"amount":1695.6557615556603,"close":8464.1,"count":2034,"high":8470.29,"id":1570771920,"low":8444.14,"open":8446.87,"vol":143440},{"amount":1430.28047932244,"close":8483.74,"count":1919,"high":8483.77,"id":1570771980,"low":8460.6,"open":8463.42,"vol":121214},{"amount":2771.6856108372185,"close":8479.44,"count":3468,"high":8504.58,"id":1570772040,"low":8476.78,"open":8483.74,"vol":235406},{"amount":1014.3074692380453,"close":8471.6,"count":1635,"high":8486.29,"id":1570772100,"low":8470,"open":8479.44,"vol":86000},{"amount":862.5171116022844,"close":8477.67,"count":1353,"high":8479.99,"id":1570772160,"low":8461.55,"open":8471.61,"vol":73060},{"amount":680.1916100041952,"close":8485.55,"count":1312,"high":8491.89,"id":1570772220,"low":8473.47,"open":8477.67,"vol":57680},{"amount":449.24144883858935,"close":8491.35,"count":934,"high":8491.36,"id":1570772280,"low":8480.59,"open":8485.73,"vol":38120},{"amount":842.2808811158105,"close":8487.71,"count":1434,"high":8495.99,"id":1570772340,"low":8480,"open":8491.35,"vol":71496},{"amount":616.0359549385314,"close":8484.07,"count":1181,"high":8487.71,"id":1570772400,"low":8480,"open":8487.7,"vol":52260},{"amount":519.6149619656321,"close":8484.99,"count":1021,"high":8489.22,"id":1570772460,"low":8481.76,"open":8484.06,"vol":44084},{"amount":585.0281156883461,"close":8497.59,"count":884,"high":8499,"id":1570772520,"low":8484.99,"open":8485,"vol":49688},{"amount":1396.523115836698,"close":8496.68,"count":1809,"high":8514.63,"id":1570772580,"low":8492.2,"open":8497.6,"vol":118770},{"amount":848.2789252963123,"close":8505.93,"count":1314,"high":8509.62,"id":1570772640,"low":8496.68,"open":8496.76,"vol":72118},{"amount":721.8973502516261,"close":8482.12,"count":1386,"high":8507.22,"id":1570772700,"low":8481.76,"open":8505.94,"vol":61316},{"amount":416.05424200221853,"close":8487.09,"count":881,"high":8496.65,"id":1570772760,"low":8484.24,"open":8484.58,"vol":35320},{"amount":325.42632693041605,"close":8481.73,"count":699,"high":8488.73,"id":1570772820,"low":8481.72,"open":8488,"vol":27616},{"amount":556.6982138779709,"close":8489.73,"count":1021,"high":8495.11,"id":1570772880,"low":8480,"open":8481.72,"vol":47260},{"amount":382.0989415171517,"close":8497.17,"count":930,"high":8499.99,"id":1570772940,"low":8489.19,"open":8489.54,"vol":32456},{"amount":578.2759418472139,"close":8496.29,"count":972,"high":8500,"id":1570773000,"low":8495.2,"open":8497.41,"vol":49138},{"amount":468.8769924458761,"close":8487.18,"count":984,"high":8496.29,"id":1570773060,"low":8483.18,"open":8496.29,"vol":39798},{"amount":320.25756158173346,"close":8490.48,"count":640,"high":8495,"id":1570773120,"low":8482.07,"open":8487.18,"vol":27188},{"amount":405.22113326736036,"close":8488.59,"count":751,"high":8493.53,"id":1570773180,"low":8485.43,"open":8490.48,"vol":34402},{"amount":299.3249751607068,"close":8481.57,"count":485,"high":8489.88,"id":1570773240,"low":8481.57,"open":8489.88,"vol":25398},{"amount":848.044357480134,"close":8474.7,"count":1247,"high":8483.21,"id":1570773300,"low":8472.4,"open":8480.52,"vol":71888},{"amount":913.3575166183659,"close":8463.53,"count":1485,"high":8474.7,"id":1570773360,"low":8463.29,"open":8474.7,"vol":77340},{"amount":477.2655544635959,"close":8469.73,"count":833,"high":8477.69,"id":1570773420,"low":8463.29,"open":8463.6,"vol":40426},{"amount":315.39703561911466,"close":8471.8,"count":792,"high":8476.5,"id":1570773480,"low":8469.72,"open":8469.73,"vol":26724},{"amount":414.9911997233147,"close":8482.22,"count":849,"high":8484.16,"id":1570773540,"low":8471.25,"open":8472.63,"vol":35180},{"amount":392.15361967205797,"close":8471.23,"count":774,"high":8485,"id":1570773600,"low":8471.23,"open":8481.77,"vol":33238},{"amount":462.92277552401197,"close":8468.99,"count":836,"high":8471.23,"id":1570773660,"low":8460.22,"open":8471.23,"vol":39192},{"amount":618.1352486468161,"close":8464.99,"count":887,"high":8473.84,"id":1570773720,"low":8464.98,"open":8468.99,"vol":52358},{"amount":698.0911570326901,"close":8457.02,"count":1251,"high":8464.99,"id":1570773780,"low":8443.06,"open":8464.99,"vol":59008},{"amount":488.947854302262,"close":8453.82,"count":884,"high":8459.19,"id":1570773840,"low":8451.27,"open":8458.44,"vol":41342},{"amount":584.4247787584497,"close":8450.4,"count":1106,"high":8453.82,"id":1570773900,"low":8431.07,"open":8453.82,"vol":49340},{"amount":491.02422709383865,"close":8439.37,"count":1094,"high":8458.49,"id":1570773960,"low":8437.17,"open":8450.49,"vol":41478},{"amount":855.8990918643054,"close":8437.1,"count":1453,"high":8442.08,"id":1570774020,"low":8428.08,"open":8437.49,"vol":72188},{"amount":793.1747393539364,"close":8442.05,"count":1495,"high":8442.22,"id":1570774080,"low":8430.02,"open":8436.56,"vol":66902},{"amount":497.4836591004412,"close":8452.45,"count":1070,"high":8452.57,"id":1570774140,"low":8435.53,"open":8442.05,"vol":42006},{"amount":597.2256376772661,"close":8469.52,"count":1190,"high":8469.53,"id":1570774200,"low":8450.04,"open":8452.57,"vol":50524},{"amount":362.2302953681036,"close":8464.38,"count":811,"high":8469.53,"id":1570774260,"low":8461.83,"open":8469.53,"vol":30668},{"amount":313.359500077564,"close":8464.31,"count":861,"high":8469.7,"id":1570774320,"low":8459.08,"open":8464.38,"vol":26528},{"amount":260.9997991722298,"close":8467,"count":581,"high":8469,"id":1570774380,"low":8462.07,"open":8464.37,"vol":22094},{"amount":462.7846728424207,"close":8477.99,"count":733,"high":8478,"id":1570774440,"low":8467,"open":8467,"vol":39208},{"amount":326.12046396698764,"close":8468.85,"count":713,"high":8480,"id":1570774500,"low":8468.85,"open":8478,"vol":27644},{"amount":336.50110287234304,"close":8468.87,"count":844,"high":8471.78,"id":1570774560,"low":8460.34,"open":8468.85,"vol":28488},{"amount":313.4435031795563,"close":8461.83,"count":745,"high":8468.87,"id":1570774620,"low":8458.02,"open":8468.87,"vol":26524},{"amount":156.38559693171214,"close":8461.17,"count":501,"high":8463.02,"id":1570774680,"low":8451.88,"open":8461.84,"vol":13228},{"amount":166.44951785624053,"close":8464.96,"count":496,"high":8467.68,"id":1570774740,"low":8461.39,"open":8461.39,"vol":14090},{"amount":104.58179570966836,"close":8457.93,"count":362,"high":8467.67,"id":1570774800,"low":8457.93,"open":8465.13,"vol":8852},{"amount":209.29363003628362,"close":8450.02,"count":520,"high":8459.33,"id":1570774860,"low":8450,"open":8457.93,"vol":17694},{"amount":231.6212226493688,"close":8456.04,"count":651,"high":8462.03,"id":1570774920,"low":8450.31,"open":8450.31,"vol":19592},{"amount":244.15969526676463,"close":8454.08,"count":577,"high":8458.32,"id":1570774980,"low":8450.15,"open":8455.8,"vol":20642},{"amount":146.4792704951729,"close":8457.6,"count":424,"high":8460.36,"id":1570775040,"low":8454.09,"open":8454.09,"vol":12388},{"amount":372.06006777124685,"close":8450.28,"count":611,"high":8457.87,"id":1570775100,"low":8449.79,"open":8457.87,"vol":31446},{"amount":357.40243657491175,"close":8445.71,"count":776,"high":8450.73,"id":1570775160,"low":8442.62,"open":8450.28,"vol":30188},{"amount":351.4234726671332,"close":8448.71,"count":762,"high":8455.99,"id":1570775220,"low":8445.55,"open":8445.7,"vol":29702},{"amount":394.55840171128625,"close":8452.4,"count":992,"high":8458.79,"id":1570775280,"low":8448.71,"open":8448.72,"vol":33358},{"amount":232.37270196455924,"close":8459.94,"count":582,"high":8463.61,"id":1570775340,"low":8452.39,"open":8452.39,"vol":19654},{"amount":208.7981482504291,"close":8460.58,"count":505,"high":8463.76,"id":1570775400,"low":8458.5,"open":8459.25,"vol":17668},{"amount":211.1337515276319,"close":8464.76,"count":504,"high":8464.76,"id":1570775460,"low":8457.56,"open":8460.51,"vol":17864},{"amount":121.42824380590348,"close":8459.04,"count":421,"high":8466,"id":1570775520,"low":8459.01,"open":8464.82,"vol":10276},{"amount":278.3261701077863,"close":8450.01,"count":524,"high":8459.04,"id":1570775580,"low":8450.01,"open":8459.04,"vol":23534},{"amount":194.6587733627506,"close":8450.07,"count":471,"high":8453.55,"id":1570775640,"low":8446.96,"open":8450.02,"vol":16450},{"amount":308.1612107150306,"close":8443.28,"count":633,"high":8450.98,"id":1570775700,"low":8440,"open":8450.98,"vol":26022},{"amount":500.304471618955,"close":8435.36,"count":1054,"high":8446.84,"id":1570775760,"low":8430,"open":8443.29,"vol":42204},{"amount":587.7133178395566,"close":8435.42,"count":1062,"high":8438.9,"id":1570775820,"low":8431,"open":8435.37,"vol":49580},{"amount":250.3444112053888,"close":8450.79,"count":738,"high":8450.81,"id":1570775880,"low":8433.53,"open":8435.42,"vol":21136},{"amount":804.7450328678934,"close":8445.72,"count":1246,"high":8460.77,"id":1570775940,"low":8440.57,"open":8450.79,"vol":67994},{"amount":685.7559476210159,"close":8445.52,"count":757,"high":8446,"id":1570776000,"low":8439.66,"open":8444.68,"vol":57890},{"amount":210.4695410402,"close":8439.68,"count":645,"high":8451.76,"id":1570776060,"low":8437.59,"open":8445.42,"vol":17774},{"amount":760.3485553930483,"close":8425.27,"count":1198,"high":8439.98,"id":1570776120,"low":8420,"open":8439.98,"vol":64094},{"amount":347.56846094213756,"close":8436.14,"count":862,"high":8439.01,"id":1570776180,"low":8423.52,"open":8424.98,"vol":29308},{"amount":253.57206115577975,"close":8451.3,"count":705,"high":8451.95,"id":1570776240,"low":8436.14,"open":8436.14,"vol":21416},{"amount":426.7990357134965,"close":8458.92,"count":942,"high":8463.62,"id":1570776300,"low":8447.82,"open":8451.31,"vol":36092},{"amount":262.45098369029137,"close":8462.15,"count":520,"high":8462.15,"id":1570776360,"low":8454.52,"open":8458.91,"vol":22200},{"amount":451.1776110203476,"close":8459.71,"count":638,"high":8464.22,"id":1570776420,"low":8458.01,"open":8462.48,"vol":38170},{"amount":271.1338879158363,"close":8465,"count":553,"high":8472.17,"id":1570776480,"low":8460.09,"open":8460.09,"vol":22956},{"amount":102.76522146637431,"close":8463.75,"count":271,"high":8465,"id":1570776540,"low":8462.1,"open":8465,"vol":8698},{"amount":254.27975930142352,"close":8472.12,"count":537,"high":8473.6,"id":1570776600,"low":8462.9,"open":8463.74,"vol":21538},{"amount":184.92288963964157,"close":8463.6,"count":458,"high":8472.98,"id":1570776660,"low":8463.59,"open":8472.22,"vol":15664},{"amount":105.73807834544233,"close":8468.66,"count":365,"high":8469.05,"id":1570776720,"low":8463.42,"open":8464.22,"vol":8952},{"amount":391.530511892249,"close":8465.9,"count":560,"high":8475.28,"id":1570776780,"low":8465.89,"open":8468.66,"vol":33176},{"amount":241.14510585385688,"close":8473.11,"count":455,"high":8474.75,"id":1570776840,"low":8465.9,"open":8465.9,"vol":20424},{"amount":300.38692841077176,"close":8477.48,"count":429,"high":8480.27,"id":1570776900,"low":8471.26,"open":8473.11,"vol":25458},{"amount":160.9055637309697,"close":8471.24,"count":451,"high":8477.48,"id":1570776960,"low":8467.71,"open":8477.48,"vol":13632},{"amount":70.78010506055487,"close":8472.99,"count":293,"high":8473,"id":1570777020,"low":8468.26,"open":8471.23,"vol":5996},{"amount":518.8164900194057,"close":8468.73,"count":601,"high":8473.1,"id":1570777080,"low":8468.72,"open":8472.99,"vol":43954},{"amount":94.83512909778764,"close":8469.64,"count":272,"high":8470.4,"id":1570777140,"low":8465.29,"open":8468.73,"vol":8030},{"amount":58.83507104575391,"close":8462.33,"count":250,"high":8469.64,"id":1570777200,"low":8462.33,"open":8469.64,"vol":4980},{"amount":105.80146191204673,"close":8463.15,"count":305,"high":8466.72,"id":1570777260,"low":8460,"open":8462.32,"vol":8954},{"amount":161.58197573176338,"close":8457.93,"count":323,"high":8465.26,"id":1570777320,"low":8457.93,"open":8462.3,"vol":13672},{"amount":163.88489232144528,"close":8454.05,"count":491,"high":8457.93,"id":1570777380,"low":8453.02,"open":8457.93,"vol":13856},{"amount":217.9577402759487,"close":8460.98,"count":473,"high":8461,"id":1570777440,"low":8451.93,"open":8454.05,"vol":18426},{"amount":140.32162399913182,"close":8463.89,"count":254,"high":8465.33,"id":1570777500,"low":8460.97,"open":8460.97,"vol":11874},{"amount":187.77295960716197,"close":8469.98,"count":397,"high":8470.33,"id":1570777560,"low":8463.88,"open":8463.89,"vol":15902},{"amount":156.77621460288054,"close":8466.62,"count":211,"high":8469.99,"id":1570777620,"low":8466.62,"open":8469.99,"vol":13276},{"amount":88.25962689766466,"close":8471.89,"count":253,"high":8471.89,"id":1570777680,"low":8466.62,"open":8466.63,"vol":7474},{"amount":188.79894819870202,"close":8471.99,"count":492,"high":8474.04,"id":1570777740,"low":8471.65,"open":8471.89,"vol":15996},{"amount":301.67664051301256,"close":8476.51,"count":534,"high":8480,"id":1570777800,"low":8470.36,"open":8472,"vol":25570},{"amount":118.75023885524553,"close":8474.97,"count":358,"high":8476.51,"id":1570777860,"low":8472.75,"open":8476.51,"vol":10064},{"amount":59.758168657235075,"close":8473.95,"count":182,"high":8474.96,"id":1570777920,"low":8472.82,"open":8474.96,"vol":5064},{"amount":20.25497320247181,"close":8470.67,"count":124,"high":8473.96,"id":1570777980,"low":8470.65,"open":8473.95,"vol":1716},{"amount":167.2035451486779,"close":8472.26,"count":358,"high":8472.44,"id":1570778040,"low":8465.54,"open":8470.08,"vol":14160},{"amount":64.97689430564314,"close":8473.9,"count":187,"high":8474.1,"id":1570778100,"low":8472.27,"open":8472.27,"vol":5506},{"amount":202.65672254291576,"close":8463.83,"count":406,"high":8473.9,"id":1570778160,"low":8463.83,"open":8473.9,"vol":17162},{"amount":197.4743722563642,"close":8460.01,"count":567,"high":8463.84,"id":1570778220,"low":8455,"open":8463.84,"vol":16706},{"amount":113.63535176809168,"close":8454.5,"count":342,"high":8460.02,"id":1570778280,"low":8454,"open":8460.02,"vol":9610},{"amount":219.18123554366392,"close":8453.19,"count":559,"high":8454.32,"id":1570778340,"low":8446.35,"open":8454.32,"vol":18524},{"amount":245.5226098569779,"close":8449.55,"count":442,"high":8455,"id":1570778400,"low":8449.55,"open":8453.19,"vol":20754},{"amount":143.1533803550675,"close":8455.73,"count":365,"high":8455.73,"id":1570778460,"low":8446.47,"open":8449.25,"vol":12096},{"amount":148.25173249184073,"close":8446.17,"count":448,"high":8455.73,"id":1570778520,"low":8443.71,"open":8455.73,"vol":12528},{"amount":123.73948558124732,"close":8453.82,"count":385,"high":8453.82,"id":1570778580,"low":8446.17,"open":8446.17,"vol":10458},{"amount":149.03800165448305,"close":8447.73,"count":451,"high":8453.82,"id":1570778640,"low":8441.69,"open":8453.82,"vol":12588},{"amount":73.15503089635855,"close":8447.44,"count":314,"high":8452.38,"id":1570778700,"low":8447.14,"open":8447.72,"vol":6182},{"amount":108.59571717591592,"close":8441.46,"count":399,"high":8447.18,"id":1570778760,"low":8441.46,"open":8447.18,"vol":9172},{"amount":314.431433193215,"close":8440.65,"count":559,"high":8443.88,"id":1570778820,"low":8438.63,"open":8441.47,"vol":26540},{"amount":199.26299426008165,"close":8444,"count":495,"high":8444,"id":1570778880,"low":8438.64,"open":8441.52,"vol":16820},{"amount":250.52154660742607,"close":8444.55,"count":309,"high":8444.56,"id":1570778940,"low":8442.19,"open":8444,"vol":21152},{"amount":162.05602433696393,"close":8450.99,"count":366,"high":8451,"id":1570779000,"low":8444.54,"open":8444.55,"vol":13688},{"amount":100.0223573804089,"close":8452.06,"count":391,"high":8453.03,"id":1570779060,"low":8450.01,"open":8451,"vol":8454},{"amount":112.85376921192814,"close":8442.67,"count":345,"high":8452.07,"id":1570779120,"low":8442.67,"open":8452.06,"vol":9534},{"amount":146.1381890387225,"close":8441.65,"count":448,"high":8442.68,"id":1570779180,"low":8438.63,"open":8442.67,"vol":12336},{"amount":234.3810834640799,"close":8436.37,"count":445,"high":8441.67,"id":1570779240,"low":8435,"open":8441.66,"vol":19776},{"amount":139.25621030063937,"close":8445.11,"count":451,"high":8447.88,"id":1570779300,"low":8436.19,"open":8436.2,"vol":11756},{"amount":117.3235008277242,"close":8443.11,"count":127,"high":8445.1,"id":1570779360,"low":8443.1,"open":8445.1,"vol":9906}] + * status : ok + * ts : 1570779383444 + */ + + private String ch; + private String status; + private Long ts; + private List data; + + @Data + @AllArgsConstructor + public static class DataBean { + /** + * amount : 40.93882482347117 + * close : 8605 + * count : 96 + * high : 8608.59 + * id : 1570767420 + * low : 8605 + * open : 8608.58 + * vol : 3524 + */ + + private BigDecimal amount; + private BigDecimal close; + private BigDecimal count; + private BigDecimal high; + private Long id; + private BigDecimal low; + private BigDecimal open; + private BigDecimal vol; + + } +} diff --git a/src/main/java/com/huobi/api/response/coin_futures/market/MarketHistoryTradeResponse.java b/src/main/java/com/huobi/api/response/coin_futures/market/MarketHistoryTradeResponse.java new file mode 100644 index 0000000..bb86947 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_futures/market/MarketHistoryTradeResponse.java @@ -0,0 +1,58 @@ +package com.huobi.api.response.coin_futures.market; + +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class MarketHistoryTradeResponse { + /** + * ch : market.BTC_CQ.trade.detail + * data : [{"data":[{"amount":80,"direction":"buy","id":215887067710000,"price":8435.88,"ts":1570779443905},{"amount":70,"direction":"buy","id":215887067710001,"price":8435.88,"ts":1570779443905}],"id":21588706771,"ts":1570779443905},{"data":[{"amount":4,"direction":"buy","id":215887067890000,"price":8435.88,"ts":1570779443905},{"amount":10,"direction":"buy","id":215887067890001,"price":8435.88,"ts":1570779443905}],"id":21588706789,"ts":1570779443905},{"data":[{"amount":20,"direction":"buy","id":215887067920000,"price":8435.88,"ts":1570779443905}],"id":21588706792,"ts":1570779443905},{"data":[{"amount":10,"direction":"buy","id":215887070470000,"price":8435.88,"ts":1570779444010}],"id":21588707047,"ts":1570779444010},{"data":[{"amount":34,"direction":"buy","id":215887071560000,"price":8435.88,"ts":1570779444123},{"amount":18,"direction":"buy","id":215887071560001,"price":8435.88,"ts":1570779444123}],"id":21588707156,"ts":1570779444123},{"data":[{"amount":20,"direction":"buy","id":215887071570000,"price":8435.88,"ts":1570779444123}],"id":21588707157,"ts":1570779444123},{"data":[{"amount":40,"direction":"buy","id":215887071770000,"price":8435.88,"ts":1570779444123},{"amount":10,"direction":"buy","id":215887071770001,"price":8435.88,"ts":1570779444123},{"amount":26,"direction":"buy","id":215887071770002,"price":8435.88,"ts":1570779444123},{"amount":2,"direction":"buy","id":215887071770003,"price":8435.88,"ts":1570779444123},{"amount":8,"direction":"buy","id":215887071770004,"price":8435.88,"ts":1570779444123},{"amount":6,"direction":"buy","id":215887071770005,"price":8435.88,"ts":1570779444123},{"amount":20,"direction":"buy","id":215887071770006,"price":8435.88,"ts":1570779444123},{"amount":2,"direction":"buy","id":215887071770007,"price":8435.88,"ts":1570779444123},{"amount":2,"direction":"buy","id":215887071770008,"price":8435.88,"ts":1570779444123},{"amount":10,"direction":"buy","id":215887071770009,"price":8435.88,"ts":1570779444123},{"amount":8,"direction":"buy","id":215887071770010,"price":8435.88,"ts":1570779444123},{"amount":2,"direction":"buy","id":215887071770011,"price":8435.88,"ts":1570779444123},{"amount":2,"direction":"buy","id":215887071770012,"price":8435.88,"ts":1570779444123}],"id":21588707177,"ts":1570779444123},{"data":[{"amount":100,"direction":"buy","id":215887074100000,"price":8436.23,"ts":1570779444205}],"id":21588707410,"ts":1570779444205},{"data":[{"amount":400,"direction":"buy","id":215887080750000,"price":8436.42,"ts":1570779444416}],"id":21588708075,"ts":1570779444416},{"data":[{"amount":2,"direction":"buy","id":215887088140000,"price":8436.89,"ts":1570779444698}],"id":21588708814,"ts":1570779444698},{"data":[{"amount":2,"direction":"buy","id":215887088820000,"price":8437.1,"ts":1570779444698}],"id":21588708882,"ts":1570779444698},{"data":[{"amount":4,"direction":"buy","id":215887089030000,"price":8437.1,"ts":1570779444698},{"amount":4,"direction":"buy","id":215887089030001,"price":8437.1,"ts":1570779444698}],"id":21588708903,"ts":1570779444698},{"data":[{"amount":2,"direction":"buy","id":215887090950000,"price":8437.11,"ts":1570779444808},{"amount":38,"direction":"buy","id":215887090950001,"price":8437.11,"ts":1570779444808}],"id":21588709095,"ts":1570779444808},{"data":[{"amount":18,"direction":"buy","id":215887091040000,"price":8437.11,"ts":1570779444808},{"amount":16,"direction":"buy","id":215887091040001,"price":8437.36,"ts":1570779444808}],"id":21588709104,"ts":1570779444808},{"data":[{"amount":2,"direction":"buy","id":215887092500000,"price":8437.66,"ts":1570779444808},{"amount":4,"direction":"buy","id":215887092500001,"price":8437.77,"ts":1570779444808},{"amount":2,"direction":"buy","id":215887092500002,"price":8437.79,"ts":1570779444808},{"amount":2,"direction":"buy","id":215887092500003,"price":8438.12,"ts":1570779444808},{"amount":36,"direction":"buy","id":215887092500004,"price":8438.39,"ts":1570779444808},{"amount":2,"direction":"buy","id":215887092500005,"price":8438.39,"ts":1570779444808},{"amount":50,"direction":"buy","id":215887092500006,"price":8438.42,"ts":1570779444808},{"amount":2,"direction":"buy","id":215887092500007,"price":8438.52,"ts":1570779444808},{"amount":30,"direction":"buy","id":215887092500008,"price":8438.91,"ts":1570779444808},{"amount":34,"direction":"buy","id":215887092500009,"price":8438.91,"ts":1570779444808},{"amount":66,"direction":"buy","id":215887092500010,"price":8438.92,"ts":1570779444808},{"amount":66,"direction":"buy","id":215887092500011,"price":8438.92,"ts":1570779444808},{"amount":80,"direction":"buy","id":215887092500012,"price":8438.92,"ts":1570779444808},{"amount":80,"direction":"buy","id":215887092500013,"price":8438.92,"ts":1570779444808},{"amount":14,"direction":"buy","id":215887092500014,"price":8438.92,"ts":1570779444808},{"amount":2,"direction":"buy","id":215887092500015,"price":8438.99,"ts":1570779444808},{"amount":4,"direction":"buy","id":215887092500016,"price":8439.12,"ts":1570779444808},{"amount":2,"direction":"buy","id":215887092500017,"price":8439.16,"ts":1570779444808},{"amount":280,"direction":"buy","id":215887092500018,"price":8439.2,"ts":1570779444808},{"amount":374,"direction":"buy","id":215887092500019,"price":8439.2,"ts":1570779444808}],"id":21588709250,"ts":1570779444808},{"data":[{"amount":26,"direction":"buy","id":215887096820000,"price":8439.2,"ts":1570779444939},{"amount":4,"direction":"buy","id":215887096820001,"price":8439.25,"ts":1570779444939},{"amount":8,"direction":"buy","id":215887096820002,"price":8439.26,"ts":1570779444939},{"amount":56,"direction":"buy","id":215887096820003,"price":8439.54,"ts":1570779444939},{"amount":56,"direction":"buy","id":215887096820004,"price":8439.54,"ts":1570779444939},{"amount":42,"direction":"buy","id":215887096820005,"price":8439.55,"ts":1570779444939},{"amount":6,"direction":"buy","id":215887096820006,"price":8439.71,"ts":1570779444939},{"amount":80,"direction":"buy","id":215887096820007,"price":8439.8,"ts":1570779444939},{"amount":6,"direction":"buy","id":215887096820008,"price":8440,"ts":1570779444939},{"amount":2,"direction":"buy","id":215887096820009,"price":8440.01,"ts":1570779444939},{"amount":8,"direction":"buy","id":215887096820010,"price":8440.12,"ts":1570779444939},{"amount":76,"direction":"buy","id":215887096820011,"price":8440.15,"ts":1570779444939},{"amount":76,"direction":"buy","id":215887096820012,"price":8440.15,"ts":1570779444939},{"amount":66,"direction":"buy","id":215887096820013,"price":8440.18,"ts":1570779444939},{"amount":80,"direction":"buy","id":215887096820014,"price":8440.2,"ts":1570779444939},{"amount":4,"direction":"buy","id":215887096820015,"price":8440.25,"ts":1570779444939},{"amount":18,"direction":"buy","id":215887096820016,"price":8440.29,"ts":1570779444939},{"amount":18,"direction":"buy","id":215887096820017,"price":8440.29,"ts":1570779444939},{"amount":36,"direction":"buy","id":215887096820018,"price":8440.29,"ts":1570779444939},{"amount":2,"direction":"buy","id":215887096820019,"price":8440.31,"ts":1570779444939},{"amount":122,"direction":"buy","id":215887096820020,"price":8440.39,"ts":1570779444939}],"id":21588709682,"ts":1570779444939},{"data":[{"amount":96,"direction":"buy","id":215887113220000,"price":8439.53,"ts":1570779445353},{"amount":60,"direction":"buy","id":215887113220001,"price":8439.99,"ts":1570779445353}],"id":21588711322,"ts":1570779445353},{"data":[{"amount":14,"direction":"buy","id":215887114880000,"price":8440.11,"ts":1570779445353}],"id":21588711488,"ts":1570779445353},{"data":[{"amount":12,"direction":"buy","id":215887166410000,"price":8440.28,"ts":1570779448421},{"amount":4,"direction":"buy","id":215887166410001,"price":8440.28,"ts":1570779448421},{"amount":4,"direction":"buy","id":215887166410002,"price":8440.28,"ts":1570779448421},{"amount":4,"direction":"buy","id":215887166410003,"price":8440.28,"ts":1570779448421},{"amount":4,"direction":"buy","id":215887166410004,"price":8440.28,"ts":1570779448421},{"amount":4,"direction":"buy","id":215887166410005,"price":8440.28,"ts":1570779448421},{"amount":4,"direction":"buy","id":215887166410006,"price":8440.28,"ts":1570779448421},{"amount":2,"direction":"buy","id":215887166410007,"price":8440.28,"ts":1570779448421},{"amount":4,"direction":"buy","id":215887166410008,"price":8440.28,"ts":1570779448421},{"amount":14,"direction":"buy","id":215887166410009,"price":8440.28,"ts":1570779448421},{"amount":14,"direction":"buy","id":215887166410010,"price":8440.28,"ts":1570779448421},{"amount":2,"direction":"buy","id":215887166410011,"price":8440.28,"ts":1570779448421},{"amount":2,"direction":"buy","id":215887166410012,"price":8440.28,"ts":1570779448421},{"amount":10,"direction":"buy","id":215887166410013,"price":8440.28,"ts":1570779448421}],"id":21588716641,"ts":1570779448421},{"data":[{"amount":6,"direction":"sell","id":215887197380000,"price":8440.27,"ts":1570779450220}],"id":21588719738,"ts":1570779450220},{"data":[{"amount":154,"direction":"sell","id":215887273570000,"price":8440.27,"ts":1570779455732},{"amount":2,"direction":"sell","id":215887273570001,"price":8440.27,"ts":1570779455732},{"amount":62,"direction":"sell","id":215887273570002,"price":8440.27,"ts":1570779455732},{"amount":8,"direction":"sell","id":215887273570003,"price":8440.27,"ts":1570779455732},{"amount":2,"direction":"sell","id":215887273570004,"price":8440.27,"ts":1570779455732},{"amount":24,"direction":"sell","id":215887273570005,"price":8440.27,"ts":1570779455732},{"amount":2,"direction":"sell","id":215887273570006,"price":8440.27,"ts":1570779455732},{"amount":14,"direction":"sell","id":215887273570007,"price":8440.27,"ts":1570779455732},{"amount":180,"direction":"sell","id":215887273570008,"price":8440.27,"ts":1570779455732},{"amount":10,"direction":"sell","id":215887273570009,"price":8440.27,"ts":1570779455732},{"amount":10,"direction":"sell","id":215887273570010,"price":8440.27,"ts":1570779455732},{"amount":40,"direction":"sell","id":215887273570011,"price":8440.27,"ts":1570779455732},{"amount":40,"direction":"sell","id":215887273570012,"price":8440.27,"ts":1570779455732},{"amount":40,"direction":"sell","id":215887273570013,"price":8440.27,"ts":1570779455732},{"amount":2,"direction":"sell","id":215887273570014,"price":8440.27,"ts":1570779455732},{"amount":78,"direction":"sell","id":215887273570015,"price":8440.27,"ts":1570779455732},{"amount":2,"direction":"sell","id":215887273570016,"price":8440.27,"ts":1570779455732},{"amount":2,"direction":"sell","id":215887273570017,"price":8440.27,"ts":1570779455732},{"amount":2,"direction":"sell","id":215887273570018,"price":8440.27,"ts":1570779455732},{"amount":2,"direction":"sell","id":215887273570019,"price":8440.27,"ts":1570779455732},{"amount":2,"direction":"sell","id":215887273570020,"price":8440.27,"ts":1570779455732}],"id":21588727357,"ts":1570779455732},{"data":[{"amount":12,"direction":"buy","id":215887291440000,"price":8440.23,"ts":1570779456878}],"id":21588729144,"ts":1570779456878},{"data":[{"amount":6,"direction":"sell","id":215887296800000,"price":8440.22,"ts":1570779457271},{"amount":4,"direction":"sell","id":215887296800001,"price":8440.22,"ts":1570779457271}],"id":21588729680,"ts":1570779457271},{"data":[{"amount":22,"direction":"sell","id":215887316770000,"price":8439.62,"ts":1570779458386},{"amount":2,"direction":"sell","id":215887316770001,"price":8439.62,"ts":1570779458386},{"amount":6,"direction":"sell","id":215887316770002,"price":8439.62,"ts":1570779458386},{"amount":64,"direction":"sell","id":215887316770003,"price":8439.6,"ts":1570779458386}],"id":21588731677,"ts":1570779458386},{"data":[{"amount":2,"direction":"sell","id":215887321310000,"price":8439.21,"ts":1570779458563},{"amount":6,"direction":"sell","id":215887321310001,"price":8439.19,"ts":1570779458563}],"id":21588732131,"ts":1570779458563},{"data":[{"amount":4,"direction":"sell","id":215887328490000,"price":8438.28,"ts":1570779458850}],"id":21588732849,"ts":1570779458850},{"data":[{"amount":6,"direction":"sell","id":215887352100000,"price":8437.38,"ts":1570779460085},{"amount":6,"direction":"sell","id":215887352100001,"price":8437.38,"ts":1570779460085},{"amount":4,"direction":"sell","id":215887352100002,"price":8437.38,"ts":1570779460085},{"amount":4,"direction":"sell","id":215887352100003,"price":8437.38,"ts":1570779460085},{"amount":6,"direction":"sell","id":215887352100004,"price":8437.38,"ts":1570779460085},{"amount":4,"direction":"sell","id":215887352100005,"price":8437.38,"ts":1570779460085},{"amount":6,"direction":"sell","id":215887352100006,"price":8437.38,"ts":1570779460085},{"amount":6,"direction":"sell","id":215887352100007,"price":8437.38,"ts":1570779460085},{"amount":6,"direction":"sell","id":215887352100008,"price":8437.38,"ts":1570779460085},{"amount":2,"direction":"sell","id":215887352100009,"price":8437.38,"ts":1570779460085},{"amount":4,"direction":"sell","id":215887352100010,"price":8437.38,"ts":1570779460085}],"id":21588735210,"ts":1570779460085},{"data":[{"amount":76,"direction":"sell","id":215887352120000,"price":8437.23,"ts":1570779460085},{"amount":76,"direction":"sell","id":215887352120001,"price":8437.23,"ts":1570779460085},{"amount":14,"direction":"sell","id":215887352120002,"price":8437.18,"ts":1570779460085}],"id":21588735212,"ts":1570779460085},{"data":[{"amount":14,"direction":"sell","id":215887352670000,"price":8437.12,"ts":1570779460085},{"amount":26,"direction":"sell","id":215887352670001,"price":8437.1,"ts":1570779460085}],"id":21588735267,"ts":1570779460085},{"data":[{"amount":14,"direction":"sell","id":215887352700000,"price":8437.1,"ts":1570779460085},{"amount":2,"direction":"sell","id":215887352700001,"price":8437.08,"ts":1570779460085}],"id":21588735270,"ts":1570779460085},{"data":[{"amount":6,"direction":"sell","id":215887355370000,"price":8437.08,"ts":1570779460160},{"amount":2,"direction":"sell","id":215887355370001,"price":8436.94,"ts":1570779460160},{"amount":32,"direction":"sell","id":215887355370002,"price":8436.58,"ts":1570779460160}],"id":21588735537,"ts":1570779460160},{"data":[{"amount":16,"direction":"sell","id":215887355480000,"price":8436.58,"ts":1570779460160}],"id":21588735548,"ts":1570779460160},{"data":[{"amount":24,"direction":"sell","id":215887356640000,"price":8436.71,"ts":1570779460237},{"amount":12,"direction":"sell","id":215887356640001,"price":8436.71,"ts":1570779460237},{"amount":18,"direction":"sell","id":215887356640002,"price":8436.58,"ts":1570779460237},{"amount":6,"direction":"sell","id":215887356640003,"price":8436.58,"ts":1570779460237}],"id":21588735664,"ts":1570779460237},{"data":[{"amount":16,"direction":"sell","id":215887364320000,"price":8436.58,"ts":1570779460475}],"id":21588736432,"ts":1570779460475},{"data":[{"amount":16,"direction":"sell","id":215887364560000,"price":8436.58,"ts":1570779460475}],"id":21588736456,"ts":1570779460475},{"data":[{"amount":40,"direction":"sell","id":215887364660000,"price":8436.58,"ts":1570779460475}],"id":21588736466,"ts":1570779460475},{"data":[{"amount":2,"direction":"sell","id":215887368320000,"price":8436.58,"ts":1570779460629},{"amount":36,"direction":"sell","id":215887368320001,"price":8436.58,"ts":1570779460629}],"id":21588736832,"ts":1570779460629},{"data":[{"amount":6,"direction":"sell","id":215887368840000,"price":8436.58,"ts":1570779460629}],"id":21588736884,"ts":1570779460629},{"data":[{"amount":24,"direction":"sell","id":215887369220000,"price":8436.58,"ts":1570779460629},{"amount":80,"direction":"sell","id":215887369220001,"price":8436.58,"ts":1570779460629}],"id":21588736922,"ts":1570779460629},{"data":[{"amount":20,"direction":"sell","id":215887375510000,"price":8436.23,"ts":1570779460970}],"id":21588737551,"ts":1570779460970},{"data":[{"amount":12,"direction":"sell","id":215887375750000,"price":8436.2,"ts":1570779460970},{"amount":4,"direction":"sell","id":215887375750001,"price":8436.2,"ts":1570779460970}],"id":21588737575,"ts":1570779460970},{"data":[{"amount":2,"direction":"buy","id":215887406610000,"price":8436.22,"ts":1570779462611},{"amount":180,"direction":"buy","id":215887406610001,"price":8436.22,"ts":1570779462611},{"amount":20,"direction":"buy","id":215887406610002,"price":8436.22,"ts":1570779462611},{"amount":14,"direction":"buy","id":215887406610003,"price":8436.22,"ts":1570779462611},{"amount":14,"direction":"buy","id":215887406610004,"price":8436.22,"ts":1570779462611},{"amount":40,"direction":"buy","id":215887406610005,"price":8436.22,"ts":1570779462611},{"amount":20,"direction":"buy","id":215887406610006,"price":8436.22,"ts":1570779462611},{"amount":26,"direction":"buy","id":215887406610007,"price":8436.22,"ts":1570779462611},{"amount":2,"direction":"buy","id":215887406610008,"price":8436.22,"ts":1570779462611},{"amount":2,"direction":"buy","id":215887406610009,"price":8436.22,"ts":1570779462611},{"amount":2,"direction":"buy","id":215887406610010,"price":8436.22,"ts":1570779462611},{"amount":6,"direction":"buy","id":215887406610011,"price":8436.22,"ts":1570779462611},{"amount":2,"direction":"buy","id":215887406610012,"price":8436.22,"ts":1570779462611},{"amount":2,"direction":"buy","id":215887406610013,"price":8436.22,"ts":1570779462611},{"amount":10,"direction":"buy","id":215887406610014,"price":8436.22,"ts":1570779462611},{"amount":20,"direction":"buy","id":215887406610015,"price":8436.22,"ts":1570779462611},{"amount":46,"direction":"buy","id":215887406610016,"price":8436.22,"ts":1570779462611},{"amount":8,"direction":"buy","id":215887406610017,"price":8436.22,"ts":1570779462611},{"amount":4,"direction":"buy","id":215887406610018,"price":8436.22,"ts":1570779462611},{"amount":100,"direction":"buy","id":215887406610019,"price":8436.22,"ts":1570779462611},{"amount":6,"direction":"buy","id":215887406610020,"price":8436.22,"ts":1570779462611},{"amount":4,"direction":"buy","id":215887406610021,"price":8436.22,"ts":1570779462611},{"amount":6,"direction":"buy","id":215887406610022,"price":8436.22,"ts":1570779462611},{"amount":6,"direction":"buy","id":215887406610023,"price":8436.22,"ts":1570779462611},{"amount":180,"direction":"buy","id":215887406610024,"price":8436.22,"ts":1570779462611},{"amount":100,"direction":"buy","id":215887406610025,"price":8436.24,"ts":1570779462611}],"id":21588740661,"ts":1570779462611},{"data":[{"amount":40,"direction":"sell","id":215887439100000,"price":8437.23,"ts":1570779464403}],"id":21588743910,"ts":1570779464403},{"data":[{"amount":16,"direction":"sell","id":215887439190000,"price":8437.23,"ts":1570779464403}],"id":21588743919,"ts":1570779464403},{"data":[{"amount":16,"direction":"sell","id":215887439200000,"price":8437.23,"ts":1570779464403}],"id":21588743920,"ts":1570779464403},{"data":[{"amount":16,"direction":"sell","id":215887439250000,"price":8437.23,"ts":1570779464403}],"id":21588743925,"ts":1570779464403},{"data":[{"amount":16,"direction":"sell","id":215887439560000,"price":8437.23,"ts":1570779464403}],"id":21588743956,"ts":1570779464403},{"data":[{"amount":2,"direction":"buy","id":215887452370000,"price":8437.24,"ts":1570779465115},{"amount":4,"direction":"buy","id":215887452370001,"price":8437.24,"ts":1570779465115},{"amount":2,"direction":"buy","id":215887452370002,"price":8437.24,"ts":1570779465115},{"amount":8,"direction":"buy","id":215887452370003,"price":8437.24,"ts":1570779465115}],"id":21588745237,"ts":1570779465115},{"data":[{"amount":6,"direction":"buy","id":215887455880000,"price":8437.24,"ts":1570779465297},{"amount":10,"direction":"buy","id":215887455880001,"price":8437.24,"ts":1570779465297},{"amount":40,"direction":"buy","id":215887455880002,"price":8437.24,"ts":1570779465297},{"amount":40,"direction":"buy","id":215887455880003,"price":8437.24,"ts":1570779465297},{"amount":40,"direction":"buy","id":215887455880004,"price":8437.24,"ts":1570779465297},{"amount":2,"direction":"buy","id":215887455880005,"price":8437.24,"ts":1570779465297},{"amount":4,"direction":"buy","id":215887455880006,"price":8437.24,"ts":1570779465297},{"amount":2,"direction":"buy","id":215887455880007,"price":8437.24,"ts":1570779465297},{"amount":8,"direction":"buy","id":215887455880008,"price":8437.24,"ts":1570779465297},{"amount":236,"direction":"buy","id":215887455880009,"price":8437.24,"ts":1570779465297},{"amount":12,"direction":"buy","id":215887455880010,"price":8437.24,"ts":1570779465297},{"amount":66,"direction":"buy","id":215887455880011,"price":8437.24,"ts":1570779465297}],"id":21588745588,"ts":1570779465297},{"data":[{"amount":34,"direction":"buy","id":215887456340000,"price":8437.24,"ts":1570779465297},{"amount":2,"direction":"buy","id":215887456340001,"price":8437.24,"ts":1570779465297},{"amount":4,"direction":"buy","id":215887456340002,"price":8437.24,"ts":1570779465297},{"amount":60,"direction":"buy","id":215887456340003,"price":8437.24,"ts":1570779465297}],"id":21588745634,"ts":1570779465297},{"data":[{"amount":10,"direction":"sell","id":215887486990000,"price":8438.23,"ts":1570779467175}],"id":21588748699,"ts":1570779467175},{"data":[{"amount":14,"direction":"sell","id":215887493300000,"price":8438.23,"ts":1570779467802}],"id":21588749330,"ts":1570779467802},{"data":[{"amount":10,"direction":"sell","id":215887493400000,"price":8438.23,"ts":1570779467802}],"id":21588749340,"ts":1570779467802},{"data":[{"amount":20,"direction":"sell","id":215887501470000,"price":8438.23,"ts":1570779468529},{"amount":2,"direction":"sell","id":215887501470001,"price":8438.23,"ts":1570779468529},{"amount":54,"direction":"sell","id":215887501470002,"price":8438.23,"ts":1570779468529},{"amount":6,"direction":"sell","id":215887501470003,"price":8438.23,"ts":1570779468529},{"amount":10,"direction":"sell","id":215887501470004,"price":8438.23,"ts":1570779468529}],"id":21588750147,"ts":1570779468529},{"data":[{"amount":18,"direction":"sell","id":215887501850000,"price":8438.23,"ts":1570779468529},{"amount":2,"direction":"sell","id":215887501850001,"price":8438.23,"ts":1570779468529},{"amount":8,"direction":"sell","id":215887501850002,"price":8438.23,"ts":1570779468529},{"amount":6,"direction":"sell","id":215887501850003,"price":8438.23,"ts":1570779468529},{"amount":100,"direction":"sell","id":215887501850004,"price":8438.23,"ts":1570779468529},{"amount":2,"direction":"sell","id":215887501850005,"price":8438.23,"ts":1570779468529},{"amount":2,"direction":"sell","id":215887501850006,"price":8438.23,"ts":1570779468529},{"amount":40,"direction":"sell","id":215887501850007,"price":8438.23,"ts":1570779468529},{"amount":40,"direction":"sell","id":215887501850008,"price":8438.23,"ts":1570779468529},{"amount":6,"direction":"sell","id":215887501850009,"price":8438.23,"ts":1570779468529},{"amount":4,"direction":"sell","id":215887501850010,"price":8438.23,"ts":1570779468529}],"id":21588750185,"ts":1570779468529},{"data":[{"amount":36,"direction":"sell","id":215887503260000,"price":8438.23,"ts":1570779468626}],"id":21588750326,"ts":1570779468626},{"data":[{"amount":92,"direction":"sell","id":215887508700000,"price":8438.23,"ts":1570779469022}],"id":21588750870,"ts":1570779469022},{"data":[{"amount":4,"direction":"sell","id":215887512170000,"price":8438.23,"ts":1570779469257},{"amount":10,"direction":"sell","id":215887512170001,"price":8438.23,"ts":1570779469257},{"amount":4,"direction":"sell","id":215887512170002,"price":8438.23,"ts":1570779469257},{"amount":4,"direction":"sell","id":215887512170003,"price":8438.23,"ts":1570779469257},{"amount":4,"direction":"sell","id":215887512170004,"price":8438.23,"ts":1570779469257}],"id":21588751217,"ts":1570779469257},{"data":[{"amount":178,"direction":"sell","id":215887528930000,"price":8437.84,"ts":1570779470441},{"amount":2,"direction":"sell","id":215887528930001,"price":8437.84,"ts":1570779470441},{"amount":4,"direction":"sell","id":215887528930002,"price":8437.84,"ts":1570779470441},{"amount":6,"direction":"sell","id":215887528930003,"price":8437.84,"ts":1570779470441},{"amount":2,"direction":"sell","id":215887528930004,"price":8437.84,"ts":1570779470441},{"amount":8,"direction":"sell","id":215887528930005,"price":8437.84,"ts":1570779470441},{"amount":2,"direction":"sell","id":215887528930006,"price":8437.84,"ts":1570779470441},{"amount":2,"direction":"sell","id":215887528930007,"price":8437.84,"ts":1570779470441},{"amount":96,"direction":"sell","id":215887528930008,"price":8437.42,"ts":1570779470441}],"id":21588752893,"ts":1570779470441},{"data":[{"amount":36,"direction":"sell","id":215887533560000,"price":8436.63,"ts":1570779470825},{"amount":64,"direction":"sell","id":215887533560001,"price":8436.52,"ts":1570779470825}],"id":21588753356,"ts":1570779470825},{"data":[{"amount":26,"direction":"sell","id":215887548710000,"price":8436.72,"ts":1570779471756},{"amount":6,"direction":"sell","id":215887548710001,"price":8436.72,"ts":1570779471756},{"amount":2,"direction":"sell","id":215887548710002,"price":8436.72,"ts":1570779471756},{"amount":2,"direction":"sell","id":215887548710003,"price":8436.72,"ts":1570779471756},{"amount":2,"direction":"sell","id":215887548710004,"price":8436.72,"ts":1570779471756},{"amount":2,"direction":"sell","id":215887548710005,"price":8436.72,"ts":1570779471756},{"amount":2,"direction":"sell","id":215887548710006,"price":8436.72,"ts":1570779471756},{"amount":14,"direction":"sell","id":215887548710007,"price":8436.72,"ts":1570779471756},{"amount":2,"direction":"sell","id":215887548710008,"price":8436.72,"ts":1570779471756},{"amount":8,"direction":"sell","id":215887548710009,"price":8436.72,"ts":1570779471756},{"amount":8,"direction":"sell","id":215887548710010,"price":8436.72,"ts":1570779471756},{"amount":2,"direction":"sell","id":215887548710011,"price":8436.72,"ts":1570779471756},{"amount":4,"direction":"sell","id":215887548710012,"price":8436.72,"ts":1570779471756},{"amount":16,"direction":"sell","id":215887548710013,"price":8436.72,"ts":1570779471756},{"amount":4,"direction":"sell","id":215887548710014,"price":8436.72,"ts":1570779471756}],"id":21588754871,"ts":1570779471756},{"data":[{"amount":10,"direction":"buy","id":215887563100000,"price":8436.73,"ts":1570779473003}],"id":21588756310,"ts":1570779473003},{"data":[{"amount":6,"direction":"sell","id":215887565830000,"price":8436.72,"ts":1570779473237},{"amount":4,"direction":"sell","id":215887565830001,"price":8436.72,"ts":1570779473237},{"amount":832,"direction":"sell","id":215887565830002,"price":8436.72,"ts":1570779473237}],"id":21588756583,"ts":1570779473237},{"data":[{"amount":20,"direction":"buy","id":215887598440000,"price":8436.73,"ts":1570779476122}],"id":21588759844,"ts":1570779476122},{"data":[{"amount":2,"direction":"sell","id":215887651170000,"price":8436.72,"ts":1570779480583},{"amount":2,"direction":"sell","id":215887651170001,"price":8436.72,"ts":1570779480583},{"amount":12,"direction":"sell","id":215887651170002,"price":8436.72,"ts":1570779480583}],"id":21588765117,"ts":1570779480583},{"data":[{"amount":4,"direction":"sell","id":215887663180000,"price":8436.72,"ts":1570779481569}],"id":21588766318,"ts":1570779481569},{"data":[{"amount":42,"direction":"buy","id":215887671520000,"price":8436.73,"ts":1570779482188}],"id":21588767152,"ts":1570779482188},{"data":[{"amount":12,"direction":"buy","id":215887675690000,"price":8436.73,"ts":1570779482356}],"id":21588767569,"ts":1570779482356},{"data":[{"amount":20,"direction":"buy","id":215887675730000,"price":8436.73,"ts":1570779482356},{"amount":160,"direction":"buy","id":215887675730001,"price":8436.73,"ts":1570779482356},{"amount":160,"direction":"buy","id":215887675730002,"price":8436.73,"ts":1570779482356},{"amount":52,"direction":"buy","id":215887675730003,"price":8436.73,"ts":1570779482356},{"amount":72,"direction":"buy","id":215887675730004,"price":8436.73,"ts":1570779482356},{"amount":54,"direction":"buy","id":215887675730005,"price":8436.73,"ts":1570779482356},{"amount":2,"direction":"buy","id":215887675730006,"price":8436.73,"ts":1570779482356},{"amount":54,"direction":"buy","id":215887675730007,"price":8436.73,"ts":1570779482356},{"amount":74,"direction":"buy","id":215887675730008,"price":8436.73,"ts":1570779482356},{"amount":74,"direction":"buy","id":215887675730009,"price":8436.73,"ts":1570779482356},{"amount":12,"direction":"buy","id":215887675730010,"price":8436.73,"ts":1570779482356},{"amount":2,"direction":"buy","id":215887675730011,"price":8436.73,"ts":1570779482356},{"amount":12,"direction":"buy","id":215887675730012,"price":8436.73,"ts":1570779482356},{"amount":28,"direction":"buy","id":215887675730013,"price":8436.73,"ts":1570779482356},{"amount":2,"direction":"buy","id":215887675730014,"price":8436.73,"ts":1570779482356},{"amount":20,"direction":"buy","id":215887675730015,"price":8436.73,"ts":1570779482356},{"amount":8,"direction":"buy","id":215887675730016,"price":8436.73,"ts":1570779482356},{"amount":180,"direction":"buy","id":215887675730017,"price":8436.73,"ts":1570779482356},{"amount":180,"direction":"buy","id":215887675730018,"price":8436.73,"ts":1570779482356},{"amount":10,"direction":"buy","id":215887675730019,"price":8436.73,"ts":1570779482356},{"amount":4,"direction":"buy","id":215887675730020,"price":8436.73,"ts":1570779482356},{"amount":2,"direction":"buy","id":215887675730021,"price":8436.73,"ts":1570779482356},{"amount":76,"direction":"buy","id":215887675730022,"price":8436.73,"ts":1570779482356},{"amount":40,"direction":"buy","id":215887675730023,"price":8436.73,"ts":1570779482356},{"amount":2,"direction":"buy","id":215887675730024,"price":8436.73,"ts":1570779482356},{"amount":8,"direction":"buy","id":215887675730025,"price":8436.73,"ts":1570779482356},{"amount":2,"direction":"buy","id":215887675730026,"price":8436.73,"ts":1570779482356},{"amount":6,"direction":"buy","id":215887675730027,"price":8436.73,"ts":1570779482356},{"amount":2,"direction":"buy","id":215887675730028,"price":8436.73,"ts":1570779482356},{"amount":40,"direction":"buy","id":215887675730029,"price":8436.73,"ts":1570779482356},{"amount":40,"direction":"buy","id":215887675730030,"price":8436.73,"ts":1570779482356}],"id":21588767573,"ts":1570779482356},{"data":[{"amount":2,"direction":"buy","id":215887678500000,"price":8436.73,"ts":1570779482533},{"amount":4,"direction":"buy","id":215887678500001,"price":8436.73,"ts":1570779482533},{"amount":6,"direction":"buy","id":215887678500002,"price":8436.73,"ts":1570779482533},{"amount":2,"direction":"buy","id":215887678500003,"price":8436.73,"ts":1570779482533},{"amount":4,"direction":"buy","id":215887678500004,"price":8436.73,"ts":1570779482533}],"id":21588767850,"ts":1570779482533},{"data":[{"amount":2,"direction":"buy","id":215887687810000,"price":8437.03,"ts":1570779483043}],"id":21588768781,"ts":1570779483043},{"data":[{"amount":2,"direction":"buy","id":215887689470000,"price":8437.03,"ts":1570779483124}],"id":21588768947,"ts":1570779483124},{"data":[{"amount":12,"direction":"buy","id":215887691210000,"price":8437.03,"ts":1570779483263},{"amount":2,"direction":"buy","id":215887691210001,"price":8437.03,"ts":1570779483263}],"id":21588769121,"ts":1570779483263},{"data":[{"amount":4,"direction":"buy","id":215887691220000,"price":8437.03,"ts":1570779483263},{"amount":4,"direction":"buy","id":215887691220001,"price":8437.03,"ts":1570779483263}],"id":21588769122,"ts":1570779483263},{"data":[{"amount":6,"direction":"buy","id":215887692730000,"price":8437.03,"ts":1570779483351},{"amount":4,"direction":"buy","id":215887692730001,"price":8437.03,"ts":1570779483351}],"id":21588769273,"ts":1570779483351},{"data":[{"amount":2,"direction":"buy","id":215887693010000,"price":8437.33,"ts":1570779483351},{"amount":2,"direction":"buy","id":215887693010001,"price":8437.53,"ts":1570779483351},{"amount":8,"direction":"buy","id":215887693010002,"price":8437.83,"ts":1570779483351}],"id":21588769301,"ts":1570779483351},{"data":[{"amount":14,"direction":"buy","id":215887700380000,"price":8437.66,"ts":1570779483663}],"id":21588770038,"ts":1570779483663},{"data":[{"amount":4,"direction":"buy","id":215887703160000,"price":8437.66,"ts":1570779483859},{"amount":4,"direction":"buy","id":215887703160001,"price":8437.66,"ts":1570779483859},{"amount":4,"direction":"buy","id":215887703160002,"price":8437.66,"ts":1570779483859},{"amount":6,"direction":"buy","id":215887703160003,"price":8437.66,"ts":1570779483859},{"amount":2,"direction":"buy","id":215887703160004,"price":8437.66,"ts":1570779483859},{"amount":2,"direction":"buy","id":215887703160005,"price":8437.66,"ts":1570779483859},{"amount":4,"direction":"buy","id":215887703160006,"price":8437.66,"ts":1570779483859},{"amount":22,"direction":"buy","id":215887703160007,"price":8437.66,"ts":1570779483859},{"amount":4,"direction":"buy","id":215887703160008,"price":8437.66,"ts":1570779483859},{"amount":16,"direction":"buy","id":215887703160009,"price":8437.66,"ts":1570779483859}],"id":21588770316,"ts":1570779483859},{"data":[{"amount":4,"direction":"sell","id":215887714540000,"price":8437.65,"ts":1570779484454}],"id":21588771454,"ts":1570779484454},{"data":[{"amount":8,"direction":"buy","id":215887721170000,"price":8437.66,"ts":1570779484842},{"amount":6,"direction":"buy","id":215887721170001,"price":8437.66,"ts":1570779484842},{"amount":6,"direction":"buy","id":215887721170002,"price":8437.66,"ts":1570779484842},{"amount":6,"direction":"buy","id":215887721170003,"price":8437.66,"ts":1570779484842},{"amount":20,"direction":"buy","id":215887721170004,"price":8437.66,"ts":1570779484842},{"amount":18,"direction":"buy","id":215887721170005,"price":8437.66,"ts":1570779484842},{"amount":4,"direction":"buy","id":215887721170006,"price":8437.66,"ts":1570779484842},{"amount":2,"direction":"buy","id":215887721170007,"price":8437.66,"ts":1570779484842},{"amount":2,"direction":"buy","id":215887721170008,"price":8437.66,"ts":1570779484842},{"amount":108,"direction":"buy","id":215887721170009,"price":8438.22,"ts":1570779484842},{"amount":4,"direction":"buy","id":215887721170010,"price":8438.24,"ts":1570779484842},{"amount":2,"direction":"buy","id":215887721170011,"price":8438.82,"ts":1570779484842},{"amount":94,"direction":"buy","id":215887721170012,"price":8438.91,"ts":1570779484842}],"id":21588772117,"ts":1570779484842},{"data":[{"amount":14,"direction":"buy","id":215887723370000,"price":8438.92,"ts":1570779484922}],"id":21588772337,"ts":1570779484922},{"data":[{"amount":14,"direction":"buy","id":215887729690000,"price":8438.92,"ts":1570779485320}],"id":21588772969,"ts":1570779485320},{"data":[{"amount":6,"direction":"buy","id":215887731150000,"price":8438.92,"ts":1570779485390},{"amount":6,"direction":"buy","id":215887731150001,"price":8438.92,"ts":1570779485390},{"amount":2,"direction":"buy","id":215887731150002,"price":8438.92,"ts":1570779485390},{"amount":8,"direction":"buy","id":215887731150003,"price":8438.92,"ts":1570779485390},{"amount":6,"direction":"buy","id":215887731150004,"price":8438.92,"ts":1570779485390},{"amount":8,"direction":"buy","id":215887731150005,"price":8438.92,"ts":1570779485390},{"amount":4,"direction":"buy","id":215887731150006,"price":8438.92,"ts":1570779485390}],"id":21588773115,"ts":1570779485390},{"data":[{"amount":6,"direction":"sell","id":215887732000000,"price":8438.91,"ts":1570779485450}],"id":21588773200,"ts":1570779485450},{"data":[{"amount":2,"direction":"buy","id":215887734650000,"price":8438.92,"ts":1570779485586},{"amount":8,"direction":"buy","id":215887734650001,"price":8438.92,"ts":1570779485586},{"amount":8,"direction":"buy","id":215887734650002,"price":8438.92,"ts":1570779485586},{"amount":6,"direction":"buy","id":215887734650003,"price":8438.92,"ts":1570779485586},{"amount":8,"direction":"buy","id":215887734650004,"price":8438.92,"ts":1570779485586},{"amount":28,"direction":"buy","id":215887734650005,"price":8438.92,"ts":1570779485586}],"id":21588773465,"ts":1570779485586},{"data":[{"amount":20,"direction":"buy","id":215887735820000,"price":8438.92,"ts":1570779485655},{"amount":120,"direction":"buy","id":215887735820001,"price":8438.92,"ts":1570779485655},{"amount":26,"direction":"buy","id":215887735820002,"price":8438.92,"ts":1570779485655}],"id":21588773582,"ts":1570779485655},{"data":[{"amount":74,"direction":"buy","id":215887736110000,"price":8438.92,"ts":1570779485655},{"amount":40,"direction":"buy","id":215887736110001,"price":8438.92,"ts":1570779485655},{"amount":36,"direction":"buy","id":215887736110002,"price":8438.92,"ts":1570779485655}],"id":21588773611,"ts":1570779485655},{"data":[{"amount":4,"direction":"buy","id":215887736170000,"price":8438.92,"ts":1570779485655},{"amount":2,"direction":"buy","id":215887736170001,"price":8438.92,"ts":1570779485655},{"amount":2,"direction":"buy","id":215887736170002,"price":8438.92,"ts":1570779485655},{"amount":2,"direction":"buy","id":215887736170003,"price":8438.92,"ts":1570779485655}],"id":21588773617,"ts":1570779485655},{"data":[{"amount":2,"direction":"buy","id":215887737560000,"price":8438.92,"ts":1570779485726}],"id":21588773756,"ts":1570779485726},{"data":[{"amount":16,"direction":"buy","id":215887738440000,"price":8438.92,"ts":1570779485796},{"amount":2,"direction":"buy","id":215887738440001,"price":8438.92,"ts":1570779485796},{"amount":2,"direction":"buy","id":215887738440002,"price":8438.92,"ts":1570779485796}],"id":21588773844,"ts":1570779485796},{"data":[{"amount":4,"direction":"buy","id":215887738580000,"price":8438.93,"ts":1570779485796},{"amount":50,"direction":"buy","id":215887738580001,"price":8438.94,"ts":1570779485796},{"amount":144,"direction":"buy","id":215887738580002,"price":8439.08,"ts":1570779485796}],"id":21588773858,"ts":1570779485796},{"data":[{"amount":8,"direction":"buy","id":215887744320000,"price":8439.24,"ts":1570779486041}],"id":21588774432,"ts":1570779486041},{"data":[{"amount":2,"direction":"buy","id":215887750380000,"price":8439.67,"ts":1570779486250}],"id":21588775038,"ts":1570779486250},{"data":[{"amount":34,"direction":"buy","id":215887754130000,"price":8439.67,"ts":1570779486347},{"amount":2,"direction":"buy","id":215887754130001,"price":8439.67,"ts":1570779486347},{"amount":68,"direction":"buy","id":215887754130002,"price":8439.77,"ts":1570779486347}],"id":21588775413,"ts":1570779486347},{"data":[{"amount":4,"direction":"buy","id":215887758820000,"price":8439.67,"ts":1570779486574},{"amount":2,"direction":"buy","id":215887758820001,"price":8439.67,"ts":1570779486574},{"amount":12,"direction":"buy","id":215887758820002,"price":8439.77,"ts":1570779486574},{"amount":80,"direction":"buy","id":215887758820003,"price":8439.77,"ts":1570779486574},{"amount":66,"direction":"buy","id":215887758820004,"price":8439.77,"ts":1570779486574},{"amount":66,"direction":"buy","id":215887758820005,"price":8439.77,"ts":1570779486574},{"amount":14,"direction":"buy","id":215887758820006,"price":8439.77,"ts":1570779486574}],"id":21588775882,"ts":1570779486574},{"data":[{"amount":2,"direction":"buy","id":215887797110000,"price":8439.67,"ts":1570779489663},{"amount":2,"direction":"buy","id":215887797110001,"price":8439.67,"ts":1570779489663},{"amount":2,"direction":"buy","id":215887797110002,"price":8439.67,"ts":1570779489663},{"amount":4,"direction":"buy","id":215887797110003,"price":8439.67,"ts":1570779489663},{"amount":4,"direction":"buy","id":215887797110004,"price":8439.67,"ts":1570779489663},{"amount":2,"direction":"buy","id":215887797110005,"price":8439.67,"ts":1570779489663},{"amount":2,"direction":"buy","id":215887797110006,"price":8439.67,"ts":1570779489663},{"amount":2,"direction":"buy","id":215887797110007,"price":8439.67,"ts":1570779489663},{"amount":4,"direction":"buy","id":215887797110008,"price":8439.67,"ts":1570779489663},{"amount":2,"direction":"buy","id":215887797110009,"price":8439.67,"ts":1570779489663}],"id":21588779711,"ts":1570779489663},{"data":[{"amount":88,"direction":"sell","id":215887827940000,"price":8439.99,"ts":1570779491537},{"amount":134,"direction":"sell","id":215887827940001,"price":8439.99,"ts":1570779491537},{"amount":132,"direction":"sell","id":215887827940002,"price":8439.99,"ts":1570779491537},{"amount":14,"direction":"sell","id":215887827940003,"price":8439.99,"ts":1570779491537}],"id":21588782794,"ts":1570779491537},{"data":[{"amount":46,"direction":"sell","id":215887832260000,"price":8439.99,"ts":1570779491763}],"id":21588783226,"ts":1570779491763},{"data":[{"amount":28,"direction":"sell","id":215887832280000,"price":8439.99,"ts":1570779491763},{"amount":74,"direction":"sell","id":215887832280001,"price":8439.99,"ts":1570779491763},{"amount":22,"direction":"sell","id":215887832280002,"price":8439.99,"ts":1570779491763},{"amount":12,"direction":"sell","id":215887832280003,"price":8439.99,"ts":1570779491763},{"amount":38,"direction":"sell","id":215887832280004,"price":8439.99,"ts":1570779491763},{"amount":6,"direction":"sell","id":215887832280005,"price":8439.99,"ts":1570779491763},{"amount":10,"direction":"sell","id":215887832280006,"price":8439.99,"ts":1570779491763},{"amount":6,"direction":"sell","id":215887832280007,"price":8439.99,"ts":1570779491763},{"amount":8,"direction":"sell","id":215887832280008,"price":8439.99,"ts":1570779491763},{"amount":34,"direction":"sell","id":215887832280009,"price":8439.99,"ts":1570779491763},{"amount":78,"direction":"sell","id":215887832280010,"price":8439.99,"ts":1570779491763},{"amount":54,"direction":"sell","id":215887832280011,"price":8439.99,"ts":1570779491763},{"amount":12,"direction":"sell","id":215887832280012,"price":8439.99,"ts":1570779491763},{"amount":26,"direction":"sell","id":215887832280013,"price":8439.99,"ts":1570779491763},{"amount":6,"direction":"sell","id":215887832280014,"price":8439.99,"ts":1570779491763},{"amount":12,"direction":"sell","id":215887832280015,"price":8439.99,"ts":1570779491763},{"amount":36,"direction":"sell","id":215887832280016,"price":8439.99,"ts":1570779491763},{"amount":8,"direction":"sell","id":215887832280017,"price":8439.99,"ts":1570779491763},{"amount":180,"direction":"sell","id":215887832280018,"price":8439.99,"ts":1570779491763},{"amount":180,"direction":"sell","id":215887832280019,"price":8439.99,"ts":1570779491763},{"amount":46,"direction":"sell","id":215887832280020,"price":8439.99,"ts":1570779491763},{"amount":2,"direction":"sell","id":215887832280021,"price":8439.99,"ts":1570779491763},{"amount":6,"direction":"sell","id":215887832280022,"price":8439.99,"ts":1570779491763},{"amount":6,"direction":"sell","id":215887832280023,"price":8439.99,"ts":1570779491763},{"amount":2,"direction":"sell","id":215887832280024,"price":8439.99,"ts":1570779491763},{"amount":6,"direction":"sell","id":215887832280025,"price":8439.99,"ts":1570779491763},{"amount":2,"direction":"sell","id":215887832280026,"price":8439.99,"ts":1570779491763},{"amount":2,"direction":"sell","id":215887832280027,"price":8439.99,"ts":1570779491763},{"amount":6,"direction":"sell","id":215887832280028,"price":8439.99,"ts":1570779491763},{"amount":2,"direction":"sell","id":215887832280029,"price":8439.99,"ts":1570779491763},{"amount":2,"direction":"sell","id":215887832280030,"price":8439.99,"ts":1570779491763},{"amount":4,"direction":"sell","id":215887832280031,"price":8439.99,"ts":1570779491763},{"amount":40,"direction":"sell","id":215887832280032,"price":8439.99,"ts":1570779491763},{"amount":40,"direction":"sell","id":215887832280033,"price":8439.99,"ts":1570779491763},{"amount":40,"direction":"sell","id":215887832280034,"price":8439.99,"ts":1570779491763}],"id":21588783228,"ts":1570779491763},{"data":[{"amount":50,"direction":"sell","id":215887842400000,"price":8439.9,"ts":1570779492264},{"amount":2,"direction":"sell","id":215887842400001,"price":8439.9,"ts":1570779492264},{"amount":2,"direction":"sell","id":215887842400002,"price":8439.9,"ts":1570779492264},{"amount":2,"direction":"sell","id":215887842400003,"price":8439.9,"ts":1570779492264},{"amount":88,"direction":"sell","id":215887842400004,"price":8439.77,"ts":1570779492264},{"amount":34,"direction":"sell","id":215887842400005,"price":8439.67,"ts":1570779492264}],"id":21588784240,"ts":1570779492264}] + * status : ok + * ts : 1570779492497 + */ + + private String ch; + private String status; + private Long ts; + private List data; + + @Data + @AllArgsConstructor + public static class DataBeanX { + /** + * data : [{"amount":80,"direction":"buy","id":215887067710000,"price":8435.88,"ts":1570779443905},{"amount":70,"direction":"buy","id":215887067710001,"price":8435.88,"ts":1570779443905}] + * id : 21588706771 + * ts : 1570779443905 + */ + + private Long id; + private Long ts; + private List data; + private String status; + + @Data + @AllArgsConstructor + public static class DataBean { + /** + * amount : 80 + * direction : buy + * id : 215887067710000 + * price : 8435.88 + * ts : 1570779443905 + */ + + private Integer amount; + private String direction; + private Long id; + private BigDecimal price; + private Long ts; + private BigDecimal quantity; + + } + } +} diff --git a/src/main/java/com/huobi/api/response/coin_futures/market/MarketTradeResponse.java b/src/main/java/com/huobi/api/response/coin_futures/market/MarketTradeResponse.java new file mode 100644 index 0000000..ff41a2f --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_futures/market/MarketTradeResponse.java @@ -0,0 +1,57 @@ +package com.huobi.api.response.coin_futures.market; + +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.util.List; + +@Data +@AllArgsConstructor +public class MarketTradeResponse { + /** + * ch : market.BTC_CQ.trade.detail + * status : ok + * tick : {"data":[{"amount":"4","direction":"sell","id":215887296800001,"price":"8440.22","ts":1570779457271}],"id":1570779457791,"ts":1570779457791} + * ts : 1570779457791 + */ + + private String ch; + private String status; + private TickBean tick; + private Long ts; + + @Data + @AllArgsConstructor + public static class TickBean { + /** + * data : [{"amount":"4","direction":"sell","id":215887296800001,"price":"8440.22","ts":1570779457271}] + * id : 1570779457791 + * ts : 1570779457791 + */ + + private Long id; + private Long ts; + private List data; + + @Data + @AllArgsConstructor + public static class DataBean { + /** + * amount : 4 + * direction : sell + * id : 215887296800001 + * price : 8440.22 + * ts : 1570779457271 + */ + + private String amount; + private String direction; + private Long id; + private String price; + private Long ts; + private String symbol; + private String quantity; + + } + } +} diff --git a/src/main/java/com/huobi/api/response/coin_futures/trade/ContractBatchorderResponse.java b/src/main/java/com/huobi/api/response/coin_futures/trade/ContractBatchorderResponse.java new file mode 100644 index 0000000..757389e --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_futures/trade/ContractBatchorderResponse.java @@ -0,0 +1,65 @@ +package com.huobi.api.response.coin_futures.trade; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.util.List; + +@Data +@AllArgsConstructor +public class ContractBatchorderResponse { + + /** + * status : ok + * data : {"errors":[{"index":0,"err_code":200417,"err_msg":"invalid symbol"},{"index":3,"err_code":200415,"err_msg":"invalid symbol"}],"success":[{"index":1,"order_id":161256,"client_order_id":1344567},{"index":2,"order_id":161257,"client_order_id":1344569}]} + * ts : 1490759594752 + */ + + private String status; + private DataBean data; + private Long ts; + + @Data + @AllArgsConstructor + public static class DataBean { + private List errors; + private List success; + + @Data + @AllArgsConstructor + public static class ErrorsBean { + /** + * index : 0 + * err_code : 200417 + * err_msg : invalid symbol + */ + + private Integer index; + @SerializedName("err_code") + private Integer errCode; + @SerializedName("err_msg") + private String errMsg; + + } + + @Data + @AllArgsConstructor + public static class SuccessBean { + /** + * index : 1 + * order_id : 161256 + * client_order_id : 1344567 + */ + + private Integer index; + @SerializedName("order_id") + private Long orderId; + @SerializedName("order_id_str") + private String orderIdStr; + @SerializedName("client_order_id") + private Long clientOrderId; + + } + } +} diff --git a/src/main/java/com/huobi/api/response/coin_futures/trade/ContractCancelAfterResponse.java b/src/main/java/com/huobi/api/response/coin_futures/trade/ContractCancelAfterResponse.java new file mode 100644 index 0000000..fa1f4b6 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_futures/trade/ContractCancelAfterResponse.java @@ -0,0 +1,27 @@ +package com.huobi.api.response.coin_futures.trade; + +import com.google.gson.annotations.SerializedName; +import com.huobi.api.response.coin_swap.trade.SwapCancelAfterResponse; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.util.List; + +@Builder +@AllArgsConstructor +@Data +public class ContractCancelAfterResponse { + private Integer code; + private String msg; + private Long ts; + private List data; + @Data + @AllArgsConstructor + public static class DataBean { + @SerializedName("current_time") + private Long currentTime; + @SerializedName("trigger_time") + private Long triggerTime; + } +} diff --git a/src/main/java/com/huobi/api/response/coin_futures/trade/ContractCancelResponse.java b/src/main/java/com/huobi/api/response/coin_futures/trade/ContractCancelResponse.java new file mode 100644 index 0000000..cdf83a2 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_futures/trade/ContractCancelResponse.java @@ -0,0 +1,49 @@ +package com.huobi.api.response.coin_futures.trade; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.util.List; + +@Data +@AllArgsConstructor +public class ContractCancelResponse { + + /** + * status : ok + * data : {"errors":[{"order_id":"161251","err_code":200417,"err_msg":"invalid symbol"},{"order_id":161253,"err_code":200415,"err_msg":"invalid symbol"}],"successes":"161256"} + * ts : 1490759594752 + */ + + private String status; + private DataBean data; + private Long ts; + + + @Data + @AllArgsConstructor + public static class DataBean { + private List errors; + private String successes; + + + @Data + @AllArgsConstructor + public static class ErrorsBean { + /** + * order_id : 161251 + * err_code : 200417 + * err_msg : invalid symbol + */ + + @SerializedName("order_id") + private String orderId; + @SerializedName("err_code") + private Integer errCode; + @SerializedName("err_msg") + private String errMsg; + + } + } +} diff --git a/src/main/java/com/huobi/api/response/coin_futures/trade/ContractCancelallResponse.java b/src/main/java/com/huobi/api/response/coin_futures/trade/ContractCancelallResponse.java new file mode 100644 index 0000000..f29c8b7 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_futures/trade/ContractCancelallResponse.java @@ -0,0 +1,48 @@ +package com.huobi.api.response.coin_futures.trade; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.util.List; + +@Data +@AllArgsConstructor +public class ContractCancelallResponse { + /** + * status : ok + * data : {"errors":[{"order_id":"161251","err_code":200417,"err_msg":"invalid symbol"},{"order_id":161253,"err_code":200415,"err_msg":"invalid symbol"}],"successes":"161256,1344567"} + * ts : 1490759594752 + */ + + private String status; + private String errCode; + private String errMsg; + private DataBean data; + private Long ts; + + @Data + @AllArgsConstructor + public static class DataBean { + private List errors; + private String successes; + + @Data + @AllArgsConstructor + public static class ErrorsBean { + /** + * order_id : 161251 + * err_code : 200417 + * err_msg : invalid symbol + */ + + @SerializedName("order_id") + private String orderId; + @SerializedName("err_code") + private Integer errCode; + @SerializedName("err_msg") + private String errMsg; + + } + } +} diff --git a/src/main/java/com/huobi/api/response/coin_futures/trade/ContractHisordersExactResponse.java b/src/main/java/com/huobi/api/response/coin_futures/trade/ContractHisordersExactResponse.java new file mode 100644 index 0000000..e6fac7d --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_futures/trade/ContractHisordersExactResponse.java @@ -0,0 +1,79 @@ +package com.huobi.api.response.coin_futures.trade; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@AllArgsConstructor +@Data +@Builder +public class ContractHisordersExactResponse { + private String status; + private Long ts; + private List data; + + @AllArgsConstructor + @Data + @Builder + public static class DataBean{ + @SerializedName("remain_size") + private Integer remainSize; + @SerializedName("next_id") + private Long nextId; + private List orders; + + @AllArgsConstructor + @Data + @Builder + public static class OrdersBean{ + @SerializedName("query_id") + private Long queryId; + @SerializedName("order_id") + private Long orderId; + @SerializedName("order_id_str") + private String orderIdStr; + private String symbol; + @SerializedName("contract_type") + private String contractType; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("lever_rate") + private Integer leverRate; + private String direction; + private String offset; + private BigDecimal volume; + private BigDecimal price; + @SerializedName("create_date") + private Long createData; + @SerializedName("order_source") + private String orderSource; + @SerializedName("order_price_type") + private String orderPriceType; + @SerializedName("margin_frozen") + private BigDecimal marginFrozen; + private BigDecimal profit; + @SerializedName("trade_volume") + private BigDecimal tradeVolume; + @SerializedName("trade_turnover") + private BigDecimal tradeTurnover; + private BigDecimal fee; + @SerializedName("trade_avg_price") + private BigDecimal tradeAvgPrice; + private Integer status; + @SerializedName("order_type") + private Integer orderType; + @SerializedName("fee_asset") + private String feeAsset; + @SerializedName("liquidation_type") + private String liquidationType; + @SerializedName("is_tpsl") + private Integer isTpsl; + @SerializedName("real_profit") + private BigDecimal realProfit; + } + } +} diff --git a/src/main/java/com/huobi/api/response/coin_futures/trade/ContractHisordersExactV3Response.java b/src/main/java/com/huobi/api/response/coin_futures/trade/ContractHisordersExactV3Response.java new file mode 100644 index 0000000..380c2af --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_futures/trade/ContractHisordersExactV3Response.java @@ -0,0 +1,71 @@ +package com.huobi.api.response.coin_futures.trade; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Builder +@AllArgsConstructor +@Data +public class ContractHisordersExactV3Response { + private Integer code; + private String msg; + private Long ts; + private List data; + + @AllArgsConstructor + @Builder + @Data + public static class DataBean{ + @SerializedName("query_id") + private Long queryId; + @SerializedName("order_id") + private Long orderId; + @SerializedName("order_id_str") + private String orderIdStr; + private String symbol; + @SerializedName("contract_type") + private String contractType; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("lever_rate") + private Integer leverRate; + private String direction; + private String offset; + private BigDecimal volume; + private BigDecimal price; + @SerializedName("create_date") + private Long createData; + @SerializedName("order_source") + private String orderSource; + @SerializedName("order_price_type") + private String orderPriceType; + @SerializedName("margin_frozen") + private BigDecimal marginFrozen; + private BigDecimal profit; + @SerializedName("trade_volume") + private BigDecimal tradeVolume; + @SerializedName("trade_turnover") + private BigDecimal tradeTurnover; + private BigDecimal fee; + @SerializedName("trade_avg_price") + private BigDecimal tradeAvgPrice; + private Integer status; + @SerializedName("order_type") + private Integer orderType; + @SerializedName("fee_asset") + private String feeAsset; + @SerializedName("liquidation_type") + private String liquidationType; + @SerializedName("is_tpsl") + private Integer isTpsl; + @SerializedName("real_profit") + private BigDecimal realProfit; + @SerializedName("canceled_source") + private String canceledSource; + } +} diff --git a/src/main/java/com/huobi/api/response/coin_futures/trade/ContractHisordersResponse.java b/src/main/java/com/huobi/api/response/coin_futures/trade/ContractHisordersResponse.java new file mode 100644 index 0000000..83f1021 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_futures/trade/ContractHisordersResponse.java @@ -0,0 +1,108 @@ +package com.huobi.api.response.coin_futures.trade; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; +@Data +@AllArgsConstructor +public class ContractHisordersResponse { + /** + * status : ok + * data : {"orders":[{"symbol":"BTC","contract_type":"this_week","contract_code":"BTC180914","volume":111,"price":1111,"order_price_type":"limit","direction":"buy","offset":"open","lever_rate":10,"order_id":106837,"order_source":"web","created_at":1408076414000,"trade_volume":1,"trade_turnover":1200,"fee":0,"trade_avg_price":10,"margin_frozen":10,"profit":10,"status":1,"order_type":1}],"total_page":15,"current_page":3,"total_size":3} + * ts : 1490759594752 + */ + + private String status; + private DataBean data; + private Long ts; + + @Data + @AllArgsConstructor + public static class DataBean { + /** + * orders : [{"symbol":"BTC","contract_type":"this_week","contract_code":"BTC180914","volume":111,"price":1111,"order_price_type":"limit","direction":"buy","offset":"open","lever_rate":10,"order_id":106837,"order_source":"web","created_at":1408076414000,"trade_volume":1,"trade_turnover":1200,"fee":0,"trade_avg_price":10,"margin_frozen":10,"profit":10,"status":1,"order_type":1}] + * total_page : 15 + * current_page : 3 + * total_size : 3 + */ + + @SerializedName("total_page") + private Integer totalPage; + @SerializedName("current_page") + private Integer currentPage; + @SerializedName("total_size") + private Integer totalSize; + private List orders; + + @Data + @AllArgsConstructor + public static class OrdersBean { + /** + * symbol : BTC + * contract_type : this_week + * contract_code : BTC180914 + * volume : 111 + * price : 1111 + * order_price_type : limit + * direction : buy + * offset : open + * lever_rate : 10 + * order_id : 106837 + * order_source : web + * create_date : 1408076414000 + * trade_volume : 1 + * trade_turnover : 1200 + * fee : 0 + * trade_avg_price : 10 + * margin_frozen : 10 + * profit : 10 + * status : 1 + * order_type : 1 + */ + + private String symbol; + @SerializedName("contract_type") + private String contractType; + @SerializedName("contract_code") + private String contractCode; + private BigDecimal volume; + private BigDecimal price; + @SerializedName("order_price_type") + private String orderPriceType; + private String direction; + private String offset; + @SerializedName("lever_rate") + private Integer leverRate; + @SerializedName("order_id") + private Long orderId; + @SerializedName("order_id_str") + private String orderIdStr; + @SerializedName("order_source") + private String orderSource; + @SerializedName("create_date") + private Long createDate; + @SerializedName("trade_volume") + private BigDecimal tradeVolume; + @SerializedName("trade_turnover") + private BigDecimal tradeTurnover; + private BigDecimal fee; + @SerializedName("trade_avg_price") + private BigDecimal tradeAvgPrice; + @SerializedName("margin_frozen") + private BigDecimal marginFrozen; + private BigDecimal profit; + private Integer status; + @SerializedName("order_type") + private Integer orderType; + @SerializedName("is_tpsl") + private Integer isTpsl; + @SerializedName("update_time") + private Long updateTime; + @SerializedName("real_profit") + private BigDecimal realProfit; + } + } +} diff --git a/src/main/java/com/huobi/api/response/coin_futures/trade/ContractHisordersV3Response.java b/src/main/java/com/huobi/api/response/coin_futures/trade/ContractHisordersV3Response.java new file mode 100644 index 0000000..fa16fa2 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_futures/trade/ContractHisordersV3Response.java @@ -0,0 +1,71 @@ +package com.huobi.api.response.coin_futures.trade; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Builder +@AllArgsConstructor +@Data +public class ContractHisordersV3Response { + private Integer code; + private String msg; + private Long ts; + private List data; + + @AllArgsConstructor + @Builder + @Data + public static class DataBean{ + @SerializedName("query_id") + private Long queryId; + @SerializedName("order_id") + private Long orderId; + @SerializedName("order_id_str") + private String orderIdStr; + private String symbol; + @SerializedName("contract_type") + private String contractType; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("lever_rate") + private Integer leverRate; + private String direction; + private String offset; + private BigDecimal volume; + private BigDecimal price; + @SerializedName("create_date") + private Long createData; + @SerializedName("order_source") + private String orderSource; + @SerializedName("order_price_type") + private String orderPriceType; + @SerializedName("margin_frozen") + private BigDecimal marginFrozen; + private BigDecimal profit; + @SerializedName("trade_volume") + private BigDecimal tradeVolume; + @SerializedName("trade_turnover") + private BigDecimal tradeTurnover; + private BigDecimal fee; + @SerializedName("trade_avg_price") + private BigDecimal tradeAvgPrice; + private Integer status; + @SerializedName("order_type") + private Integer orderType; + @SerializedName("fee_asset") + private String feeAsset; + @SerializedName("liquidation_type") + private String liquidationType; + @SerializedName("is_tpsl") + private Integer isTpsl; + @SerializedName("real_profit") + private BigDecimal realProfit; + @SerializedName("canceled_source") + private String canceledSource; + } +} diff --git a/src/main/java/com/huobi/api/response/coin_futures/trade/ContractMatchResultsExactV3Response.java b/src/main/java/com/huobi/api/response/coin_futures/trade/ContractMatchResultsExactV3Response.java new file mode 100644 index 0000000..13e5623 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_futures/trade/ContractMatchResultsExactV3Response.java @@ -0,0 +1,59 @@ +package com.huobi.api.response.coin_futures.trade; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Builder +@AllArgsConstructor +@Data +public class ContractMatchResultsExactV3Response { + private Integer code; + private String msg; + private Long ts; + private List data; + @AllArgsConstructor + @Builder + @Data + public static class DataBean{ + private String id; + @SerializedName("query_id") + private Long queryId; + @SerializedName("match_id") + private Long matchId; + @SerializedName("order_id") + private Long orderId; + @SerializedName("order_id_str") + private String orderIdStr; + private String symbol; + @SerializedName("contract_type") + private String contractType; + @SerializedName("contract_code") + private String contractCode; + private String direction; + private String offset; + @SerializedName("trade_volume") + private BigDecimal tradeVolume; + @SerializedName("trade_price") + private BigDecimal tradePrice; + @SerializedName("trade_turnover") + private BigDecimal tradeTurnover; + @SerializedName("create_date") + private Long createDate; + @SerializedName("offset_profitloss") + private BigDecimal offsetProfitloss; + @SerializedName("traded_fee") + private BigDecimal tradedFee; + private String role; + @SerializedName("fee_asset") + private String feeAsset; + @SerializedName("order_source") + private String orderSource; + @SerializedName("real_profit") + private BigDecimal realProfit; + } +} diff --git a/src/main/java/com/huobi/api/response/coin_futures/trade/ContractMatchResultsV3Response.java b/src/main/java/com/huobi/api/response/coin_futures/trade/ContractMatchResultsV3Response.java new file mode 100644 index 0000000..bed81d4 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_futures/trade/ContractMatchResultsV3Response.java @@ -0,0 +1,58 @@ +package com.huobi.api.response.coin_futures.trade; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Builder +@AllArgsConstructor +@Data +public class ContractMatchResultsV3Response { + private Integer code; + private String msg; + private Long ts; + private List data; + @AllArgsConstructor + @Builder + @Data + public static class DataBean{ + private String id; + @SerializedName("query_id") + private Long queryId; + @SerializedName("match_id") + private Long matchId; + @SerializedName("order_id") + private Long orderID; + @SerializedName("order_id_str") + private String orderIdStr; + private String symbol; + @SerializedName("contract_code") + private String contractCode; + private String direction; + private String offset; + @SerializedName("trade_volume") + private BigDecimal tradeVolume; + @SerializedName("trade_price") + private BigDecimal tradePrice; + @SerializedName("trade_turnover") + private BigDecimal tradeTurnover; + @SerializedName("create_date") + private Long createDate; + @SerializedName("offset_profitloss") + private BigDecimal offsetProfrtloss; + @SerializedName("traded_fee") + private BigDecimal tradedFee; + private String role; + @SerializedName("fee_asset") + private String feeAsset; + @SerializedName("order_source") + private String orderSource; + @SerializedName("real_profit") + private String realProfit; + } + +} diff --git a/src/main/java/com/huobi/api/response/coin_futures/trade/ContractMatchresultsExactResponse.java b/src/main/java/com/huobi/api/response/coin_futures/trade/ContractMatchresultsExactResponse.java new file mode 100644 index 0000000..f257803 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_futures/trade/ContractMatchresultsExactResponse.java @@ -0,0 +1,71 @@ +package com.huobi.api.response.coin_futures.trade; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@AllArgsConstructor +@Builder +@Data +public class ContractMatchresultsExactResponse { + private String status; + private Long ts; + private List data; + + @AllArgsConstructor + @Builder + @Data + public static class DataBean{ + @SerializedName("remain_size") + private Integer remainSize; + @SerializedName("next_id") + private Long nextId; + private List trades; + + @AllArgsConstructor + @Builder + @Data + public static class TradesBean{ + private String id; + @SerializedName("query_id") + private Long queryId; + @SerializedName("match_id") + private Long matchId; + @SerializedName("order_id") + private Long orderId; + @SerializedName("order_id_str") + private String orderIdStr; + private String symbol; + @SerializedName("contract_type") + private String contractType; + @SerializedName("contract_code") + private String contractCode; + private String direction; + private String offset; + @SerializedName("trade_volume") + private BigDecimal tradeVolume; + @SerializedName("trade_price") + private BigDecimal tradePrice; + @SerializedName("trade_turnover") + private BigDecimal tradeTurnover; + @SerializedName("create_date") + private Long createDate; + @SerializedName("offset_profitloss") + private BigDecimal offsetProfitloss; + @SerializedName("traded_fee") + private BigDecimal tradedFee; + private String role; + @SerializedName("fee_asset") + private String feeAsset; + @SerializedName("order_source") + private String orderSource; + @SerializedName("real_profit") + private BigDecimal realProfit; + } + } + +} diff --git a/src/main/java/com/huobi/api/response/coin_futures/trade/ContractMatchresultsResponse.java b/src/main/java/com/huobi/api/response/coin_futures/trade/ContractMatchresultsResponse.java new file mode 100644 index 0000000..357915b --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_futures/trade/ContractMatchresultsResponse.java @@ -0,0 +1,91 @@ +package com.huobi.api.response.coin_futures.trade; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; +@Data +@AllArgsConstructor +public class ContractMatchresultsResponse { + /** + * data : {"current_page":1,"total_page":1,"total_size":2,"trades":[{"contract_code":"EOS190419","contract_type":"this_week","create_date":1555553626736,"direction":"sell","match_id":3635853382,"offset":"close","offset_profitloss":0.15646398812252696,"order_id":1118,"symbol":"EOS","trade_fee":-0.002897500905469032,"trade_price":5.522,"trade_turnover":80,"role":"maker","trade_volume":8}]} + * status : ok + * ts : 1555654870867 + */ + + private DataBean data; + private String status; + private Long ts; + + @Data + @AllArgsConstructor + public static class DataBean { + /** + * current_page : 1 + * total_page : 1 + * total_size : 2 + * trades : [{"contract_code":"EOS190419","contract_type":"this_week","create_date":1555553626736,"direction":"sell","match_id":3635853382,"offset":"close","offset_profitloss":0.15646398812252696,"order_id":1118,"symbol":"EOS","trade_fee":-0.002897500905469032,"trade_price":5.522,"trade_turnover":80,"role":"maker","trade_volume":8}] + */ + + @SerializedName("current_page") + private Integer currentPage; + @SerializedName("total_page") + private Integer totalPage; + @SerializedName("total_size") + private Integer totalSize; + private List trades; + @Data + @AllArgsConstructor + public static class TradesBean { + /** + * contract_code : EOS190419 + * contract_type : this_week + * create_date : 1555553626736 + * direction : sell + * match_id : 3635853382 + * offset : close + * offset_profitloss : 0.15646398812252696 + * order_id : 1118 + * symbol : EOS + * trade_fee : -0.002897500905469032 + * trade_price : 5.522 + * trade_turnover : 80 + * role : maker + * trade_volume : 8 + */ + + private String id; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("contract_type") + private String contractType; + @SerializedName("create_date") + private Long createDate; + private String direction; + @SerializedName("match_id") + private Long matchId; + private String offset; + @SerializedName("offset_profitloss") + private BigDecimal offsetProfitloss; + @SerializedName("order_id") + private Long orderId; + @SerializedName("order_id_str") + private Long orderIdStr; + private String symbol; + @SerializedName("trade_fee") + private double tradeFee; + @SerializedName("trade_price") + private BigDecimal tradePrice; + @SerializedName("trade_turnover") + private BigDecimal tradeTurnover; + private String role; + @SerializedName("trade_volume") + private BigDecimal tradeVolume; + @SerializedName("order_source") + private String orderSource; + + } + } +} diff --git a/src/main/java/com/huobi/api/response/coin_futures/trade/ContractOpenordersResponse.java b/src/main/java/com/huobi/api/response/coin_futures/trade/ContractOpenordersResponse.java new file mode 100644 index 0000000..bb4ab1d --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_futures/trade/ContractOpenordersResponse.java @@ -0,0 +1,113 @@ +package com.huobi.api.response.coin_futures.trade; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class ContractOpenordersResponse { + /** + * status : ok + * data : {"orders":[{"symbol":"BTC","contract_type":"this_week","contract_code":"BTC180914","volume":111,"price":1111,"order_price_type":"limit","direction":"buy","offset":"open","lever_rate":10,"order_id":106837,"client_order_id":10683,"order_source":"web","created_at":1408076414000,"trade_volume":1,"trade_turnover":1200,"fee":0,"trade_avg_price":10,"margin_frozen":10,"status":1}],"total_page":15,"current_page":3,"total_size":3} + * ts : 1490759594752 + */ + + private String status; + private DataBean data; + private Long ts; + + @Data + @AllArgsConstructor + public static class DataBean { + /** + * orders : [{"symbol":"BTC","contract_type":"this_week","contract_code":"BTC180914","volume":111,"price":1111,"order_price_type":"limit","direction":"buy","offset":"open","lever_rate":10,"order_id":106837,"client_order_id":10683,"order_source":"web","created_at":1408076414000,"trade_volume":1,"trade_turnover":1200,"fee":0,"trade_avg_price":10,"margin_frozen":10,"status":1}] + * total_page : 15 + * current_page : 3 + * total_size : 3 + */ + + @SerializedName("total_page") + private Integer totalPage; + @SerializedName("current_page") + private Integer currentPage; + @SerializedName("total_size") + private Integer totalSize; + private List orders; + + @Data + @AllArgsConstructor + public static class OrdersBean { + /** + * symbol : BTC + * contract_type : this_week + * contract_code : BTC180914 + * volume : 111 + * price : 1111 + * order_price_type : limit + * direction : buy + * offset : open + * lever_rate : 10 + * order_id : 106837 + * client_order_id : 10683 + * order_source : web + * created_at : 1408076414000 + * trade_volume : 1 + * trade_turnover : 1200 + * fee : 0 + * trade_avg_price : 10 + * margin_frozen : 10 + * status : 1 + */ + + private String symbol; + @SerializedName("contract_type") + private String contractType; + @SerializedName("contract_code") + private String contractCode; + private BigDecimal volume; + private BigDecimal price; + @SerializedName("order_price_type") + private String orderPriceType; + private String direction; + private String offset; + @SerializedName("lever_rate") + private Integer leverRate; + @SerializedName("order_id") + private Long orderId; + @SerializedName("order_id_str") + private Long orderIdStr; + @SerializedName("client_order_id") + private Long clientOrderId; + @SerializedName("order_source") + private String orderSource; + @SerializedName("created_at") + private Long createdAt; + @SerializedName("trade_volume") + private BigDecimal tradeVolume; + @SerializedName("trade_turnover") + private BigDecimal tradeTurnover; + private BigDecimal fee; + @SerializedName("trade_avg_price") + private BigDecimal tradeAvgPrice; + @SerializedName("margin_frozen") + private BigDecimal marginFrozen; + private Integer status; + private BigDecimal profit; + @SerializedName("order_type") + private Integer orderType; + @SerializedName("is_tpsl") + private Integer isTpsl; + @SerializedName("real_profit") + private BigDecimal realProfit; + @SerializedName("fee_asset") + private String feeAsset; + @SerializedName("update_time") + private Long updateTime; + + } + } +} diff --git a/src/main/java/com/huobi/api/response/coin_futures/trade/ContractOrderDetailResponse.java b/src/main/java/com/huobi/api/response/coin_futures/trade/ContractOrderDetailResponse.java new file mode 100644 index 0000000..e516987 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_futures/trade/ContractOrderDetailResponse.java @@ -0,0 +1,124 @@ +package com.huobi.api.response.coin_futures.trade; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class ContractOrderDetailResponse { + /** + * status : ok + * data : {"symbol":"BTC","contract_type":"this_week","contract_code":"BTC180914","volume":111,"price":1111,"order_price_type":"limit","direction":"buy","offset":"open","status":1,"lever_rate":10,"trade_avg_price":10,"margin_frozen":10,"profit":10,"order_source":"web","created_at":1408076414000,"instrument_price":10000,"final_interest":0,"adjust_value":0,"trades":[{"trade_id":112,"trade_volume":1,"trade_price":123.4555,"trade_fee":0.234,"trade_turnover":34.123,"role":"maker","created_at":1490759594752}],"total_page":15,"total_size":3,"current_page":3} + * ts : 1490759594752 + */ + + private String status; + private DataBean data; + private Long ts; + + @Data + @AllArgsConstructor + public static class DataBean { + /** + * symbol : BTC + * contract_type : this_week + * contract_code : BTC180914 + * volume : 111 + * price : 1111 + * order_price_type : limit + * direction : buy + * offset : open + * status : 1 + * lever_rate : 10 + * trade_avg_price : 10 + * margin_frozen : 10 + * profit : 10 + * order_source : web + * created_at : 1408076414000 + * instrument_price : 10000 + * final_interest : 0 + * adjust_value : 0 + * trades : [{"trade_id":112,"trade_volume":1,"trade_price":123.4555,"trade_fee":0.234,"trade_turnover":34.123,"role":"maker","created_at":1490759594752}] + * total_page : 15 + * total_size : 3 + * current_page : 3 + */ + + private String symbol; + @SerializedName("contract_type") + private String contractType; + @SerializedName("contract_code") + private String contractCode; + private BigDecimal volume; + private BigDecimal price; + @SerializedName("order_price_type") + private String orderPriceType; + private String direction; + private String offset; + private Integer status; + @SerializedName("lever_rate") + private Integer leverRate; + @SerializedName("trade_avg_price") + private BigDecimal tradeAvgPrice; + @SerializedName("margin_frozen") + private BigDecimal marginFrozen; + private BigDecimal profit; + @SerializedName("order_source") + private String orderSource; + @SerializedName("created_at") + private Long createdAt; + @SerializedName("instrument_price") + private BigDecimal instrumentPrice; + @SerializedName("final_interest") + private BigDecimal finalInterest; + @SerializedName("adjust_value") + private BigDecimal adjustValue; + @SerializedName("total_page") + private Integer totalPage; + @SerializedName("total_size") + private Integer totalSize; + @SerializedName("current_page") + private Integer currentPage; + @SerializedName("is_tpsl") + private Integer isTpsl; + @SerializedName("real_profit") + private BigDecimal realProfit; + private List trades; + + @Data + @AllArgsConstructor + public static class TradesBean { + /** + * trade_id : 112 + * trade_volume : 1 + * trade_price : 123.4555 + * trade_fee : 0.234 + * trade_turnover : 34.123 + * role : maker + * created_at : 1490759594752 + */ + + private String id; + @SerializedName("trade_id") + private Long tradeId; + @SerializedName("trade_volume") + private BigDecimal tradeVolume; + @SerializedName("trade_price") + private BigDecimal tradePrice; + @SerializedName("trade_fee") + private BigDecimal tradeFee; + @SerializedName("trade_turnover") + private BigDecimal tradeTurnover; + private String role; + @SerializedName("created_at") + private Long createdAt; + @SerializedName("real_profit") + private BigDecimal realProfit; + private BigDecimal profit; + } + } +} diff --git a/src/main/java/com/huobi/api/response/coin_futures/trade/ContractOrderInfoResponse.java b/src/main/java/com/huobi/api/response/coin_futures/trade/ContractOrderInfoResponse.java new file mode 100644 index 0000000..3235788 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_futures/trade/ContractOrderInfoResponse.java @@ -0,0 +1,95 @@ +package com.huobi.api.response.coin_futures.trade; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; +@Data +@AllArgsConstructor +public class ContractOrderInfoResponse { + /** + * status : ok + * data : [{"symbol":"BTC","contract_type":"this_week","contract_code":"BTC180914","volume":111,"price":1111,"order_price_type":"limit","direction":"buy","offset":"open","lever_rate":10,"order_id":106837,"client_order_id":10683,"order_source":"web","order_type":"1","created_at":1408076414000,"trade_volume":1,"trade_turnover":1200,"fee":0,"trade_avg_price":10,"margin_frozen":10,"profit ":10,"status":0},{"symbol":"ETH","contract_type":"this_week","contract_code":"ETH180921","volume":111,"price":1111,"order_price_type":"limit","direction":"buy","offset":"open","lever_rate":10,"order_id":106837,"client_order_id":10683,"order_source":"web","order_type":"1","created_at":1408076414000,"trade_volume":1,"trade_turnover":1200,"fee":0,"trade_avg_price":10,"margin_frozen":10,"profit ":10,"status":0}] + * ts : 1490759594752 + */ + + private String status; + private Long ts; + private List data; + + @Data + @AllArgsConstructor + public static class DataBean { + /** + * symbol : BTC + * contract_type : this_week + * contract_code : BTC180914 + * volume : 111 + * price : 1111 + * order_price_type : limit + * direction : buy + * offset : open + * lever_rate : 10 + * order_id : 106837 + * client_order_id : 10683 + * order_source : web + * order_type : 1 + * created_at : 1408076414000 + * trade_volume : 1 + * trade_turnover : 1200 + * fee : 0 + * trade_avg_price : 10 + * margin_frozen : 10 + * profit : 10 + * status : 0 + */ + + private String symbol; + @SerializedName("contract_type") + private String contractType; + @SerializedName("contract_code") + private String contractCode; + private BigDecimal volume; + private BigDecimal price; + @SerializedName("order_price_type") + private String orderPriceType; + private String direction; + private String offset; + @SerializedName("lever_rate") + private Integer leverRate; + @SerializedName("order_id") + private Long orderId; + @SerializedName("order_id_str") + private String orderIdStr; + @SerializedName("client_order_id") + private Long clientOrderId; + @SerializedName("order_source") + private String orderSource; + @SerializedName("order_type") + private String orderType; + @SerializedName("created_at") + private Long createdAt; + @SerializedName("trade_volume") + private BigDecimal tradeVolume; + @SerializedName("trade_turnover") + private BigDecimal tradeTurnover; + private BigDecimal fee; + @SerializedName("trade_avg_price") + private BigDecimal tradeAvgPrice; + @SerializedName("margin_frozen") + private BigDecimal marginFrozen; + private BigDecimal profit; + private Integer status; + @SerializedName("is_tpsl") + private Integer isTpsl; + @SerializedName("real_profit") + private BigDecimal realProfit; + @SerializedName("canceled_at") + private Long canceledAt; + @SerializedName("canceled_source") + private String canceledSource; + + } +} diff --git a/src/main/java/com/huobi/api/response/coin_futures/trade/ContractOrderResponse.java b/src/main/java/com/huobi/api/response/coin_futures/trade/ContractOrderResponse.java new file mode 100644 index 0000000..4c25b77 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_futures/trade/ContractOrderResponse.java @@ -0,0 +1,44 @@ +package com.huobi.api.response.coin_futures.trade; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +/** + * 返回参数 + * 参数名称 是否必须 类型 描述 取值范围 + * status true string 请求处理结果 "ok" , "error" + * order_id true Long 订单ID + * client_order_id true Long 用户下单时填写的客户端订单ID,没填则不返回 + * ts true Long 响应生成时间点,单位:毫秒 + */ +@Data +@AllArgsConstructor +public class ContractOrderResponse { + + /** + * status : ok + * data : {"order_id":88} + * ts : 158797866555 + */ + + private String status; + private DataBean data; + private Long ts; + + @Data + @AllArgsConstructor + public static class DataBean { + /** + * order_id : 88 + */ + + @SerializedName("order_id") + private Long orderId; + @SerializedName("order_id_str") + private String orderIdStr; + @SerializedName("client_order_id") + private Long clientOrderId; + + } +} diff --git a/src/main/java/com/huobi/api/response/coin_futures/trade/ContractRelationTpslOrderResponse.java b/src/main/java/com/huobi/api/response/coin_futures/trade/ContractRelationTpslOrderResponse.java new file mode 100644 index 0000000..9b8aaf0 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_futures/trade/ContractRelationTpslOrderResponse.java @@ -0,0 +1,105 @@ +package com.huobi.api.response.coin_futures.trade; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@AllArgsConstructor +@Builder +@Data +public class ContractRelationTpslOrderResponse { + private String status; + private Long ts; + private List data; + + @AllArgsConstructor + @Builder + @Data + public static class DataBean{ + private String symbol; + @SerializedName("contract_type") + private String contractType; + @SerializedName("contract_code") + private String contractCode; + private BigDecimal volume; + private BigDecimal price; + @SerializedName("order_price_type") + private String orderPriceType; + private String direction; + private String offset; + @SerializedName("lever_rate") + private Integer leverRate; + @SerializedName("order_id") + private Long orderId; + @SerializedName("order_id_str") + private String orderIdStr; + @SerializedName("client_order_id") + private Long clientOrderId; + @SerializedName("created_at") + private Long createdAt; + @SerializedName("trade_volume") + private BigDecimal tradeVolume; + @SerializedName("trade_turnover") + private BigDecimal tradeTurnover; + private BigDecimal fee; + @SerializedName("trade_avg_price") + private BigDecimal tradeAvgPrice; + @SerializedName("margin_frozen") + private BigDecimal marginFrozen; + private BigDecimal profit; + private Integer status; + @SerializedName("order_type") + private Integer orderType; + @SerializedName("order_source") + private String orderSource; + @SerializedName("fee_asset") + private String feeAsset; + @SerializedName("canceled_at") + private Long canceledAt; + @SerializedName("tpsl_order_info") + private List tpslOrderInfo; + + @AllArgsConstructor + @Builder + @Data + public static class TpslOrderInfoBean{ + private BigDecimal volume; + @SerializedName("tpsl_order_type") + private String tpslOrderType; + private String direction; + @SerializedName("order_id") + private Long orderId; + @SerializedName("order_id_str") + private String orderIdStr; + @SerializedName("trigger_type") + private String triggerType; + @SerializedName("trigger_price") + private BigDecimal triggerPrice; + @SerializedName("order_price") + private BigDecimal orderPrice; + @SerializedName("created_at") + private Long createdAt; + @SerializedName("order_price_type") + private String orderPriceType; + private Integer status; + @SerializedName("relation_tpsl_order_id") + private String relationTpslOrderId; + @SerializedName("canceled_at") + private Long canceledAt; + @SerializedName("fail_code") + private Integer failCode; + @SerializedName("fail_reason") + private String failReason; + @SerializedName("triggered_price") + private BigDecimal triggeredPrice; + @SerializedName("relation_order_id") + private String relationOrderId; + } + + + } +} diff --git a/src/main/java/com/huobi/api/response/coin_futures/trade/ContractSwitchLeverRateResponse.java b/src/main/java/com/huobi/api/response/coin_futures/trade/ContractSwitchLeverRateResponse.java new file mode 100644 index 0000000..9ab0af0 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_futures/trade/ContractSwitchLeverRateResponse.java @@ -0,0 +1,30 @@ +package com.huobi.api.response.coin_futures.trade; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.util.List; + +@AllArgsConstructor +@Builder +@Data +public class ContractSwitchLeverRateResponse { + private String status; + private Long ts; + @SerializedName("err_code") + private Integer errCode; + @SerializedName("err_msg") + private String errMsg; + private List data; + + @AllArgsConstructor + @Builder + @Data + public static class DataBean{ + private String symbol; + @SerializedName("lever_rate") + private Integer leverRate; + } +} diff --git a/src/main/java/com/huobi/api/response/coin_futures/trade/ContractTpslCancelResponse.java b/src/main/java/com/huobi/api/response/coin_futures/trade/ContractTpslCancelResponse.java new file mode 100644 index 0000000..513fa41 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_futures/trade/ContractTpslCancelResponse.java @@ -0,0 +1,39 @@ +package com.huobi.api.response.coin_futures.trade; + + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.util.List; + +@Builder +@AllArgsConstructor +@Data +public class ContractTpslCancelResponse { + private String status; + private Long ts; + private List data; + + @Builder + @AllArgsConstructor + @Data + public static class DataBean{ + private List errors; + private String successes; + + @Builder + @AllArgsConstructor + @Data + public static class errorsBean{ + @SerializedName("order_id") + private Long orderId; + @SerializedName("err_code") + private Integer errCode; + @SerializedName("err_msg") + private String errMsg; + } + + } +} diff --git a/src/main/java/com/huobi/api/response/coin_futures/trade/ContractTpslCancelallResponse.java b/src/main/java/com/huobi/api/response/coin_futures/trade/ContractTpslCancelallResponse.java new file mode 100644 index 0000000..097cba5 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_futures/trade/ContractTpslCancelallResponse.java @@ -0,0 +1,39 @@ +package com.huobi.api.response.coin_futures.trade; + + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.util.List; + +@Builder +@AllArgsConstructor +@Data +public class ContractTpslCancelallResponse { + private String status; + private Long ts; + private List data; + + @Builder + @AllArgsConstructor + @Data + public static class DataBean{ + private List errors; + private String successes; + + @Builder + @AllArgsConstructor + @Data + public static class errorsBean{ + @SerializedName("order_id") + private Long orderId; + @SerializedName("err_code") + private Integer errCode; + @SerializedName("err_mag") + private String errMag; + } + + } +} diff --git a/src/main/java/com/huobi/api/response/coin_futures/trade/ContractTpslHisordersResponse.java b/src/main/java/com/huobi/api/response/coin_futures/trade/ContractTpslHisordersResponse.java new file mode 100644 index 0000000..9a0973d --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_futures/trade/ContractTpslHisordersResponse.java @@ -0,0 +1,81 @@ +package com.huobi.api.response.coin_futures.trade; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@AllArgsConstructor +@Builder +@Data +public class ContractTpslHisordersResponse { + private String status; + private Long ts; + private List data; + + @AllArgsConstructor + @Builder + @Data + public static class DataBean{ + @SerializedName("total_page") + private Integer totalPage; + @SerializedName("total_size") + private Integer totalSize; + @SerializedName("current_page") + private Integer currentPage; + private List orders; + + @AllArgsConstructor + @Builder + @Data + public static class OrdersBean{ + private String symbol; + @SerializedName("contract_type") + private String contractType; + @SerializedName("contract_code") + private String contractCode; + private BigDecimal volume; + @SerializedName("order_type") + private Integer orderType; + @SerializedName("tpsl_order_type") + private String tpslOrderType; + private String direction; + @SerializedName("order_id") + private Long orderId; + @SerializedName("order_id_str") + private String orderIdStr; + @SerializedName("order_source") + private String orderSource; + @SerializedName("trigger_type") + private String triggerType; + @SerializedName("trigger_price") + private BigDecimal triggerPrice; + @SerializedName("created_at") + private Long createdAt; + @SerializedName("order_price_type") + private String orderPriceType; + @SerializedName("order_price") + private BigDecimal orderPrice; + private Integer status; + @SerializedName("source_order_id") + private String sourceOrderId; + @SerializedName("relation_tpsl_order_id") + private String relationTpslOrderId; + @SerializedName("canceled_at") + private Long canceledAt; + @SerializedName("fail_code") + private Integer failCode; + @SerializedName("fail_reason") + private String failReason; + @SerializedName("triggered_price") + private BigDecimal triggeredPrice; + @SerializedName("relation_order_id") + private String relationOrderId; + @SerializedName("update_time") + private Long updateTime; + } + } +} diff --git a/src/main/java/com/huobi/api/response/coin_futures/trade/ContractTpslOpenordersResponse.java b/src/main/java/com/huobi/api/response/coin_futures/trade/ContractTpslOpenordersResponse.java new file mode 100644 index 0000000..512d438 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_futures/trade/ContractTpslOpenordersResponse.java @@ -0,0 +1,69 @@ +package com.huobi.api.response.coin_futures.trade; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Builder +@Data +@AllArgsConstructor +public class ContractTpslOpenordersResponse { + private String status; + private Long ts; + private List data; + + @Builder + @Data + @AllArgsConstructor + public static class DataBean{ + @SerializedName("total_page") + private Integer totalPage; + @SerializedName("total_size") + private Integer totalSize; + @SerializedName("current_page") + private Integer currentPage; + private List orders; + + @Builder + @Data + @AllArgsConstructor + public static class OrdersBean{ + private String symbol; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("contract_type") + private String contractType; + private BigDecimal volume; + @SerializedName("order_type") + private Integer orderType; + @SerializedName("tpsl_order_type") + private String tpslOrderType; + private String direction; + @SerializedName("order_id") + private Long orderId; + @SerializedName("order_id_str") + private String orderIdStr; + @SerializedName("order_source") + private String orderSource; + @SerializedName("trigger_type") + private String triggerType; + @SerializedName("trigger_price") + private BigDecimal triggerPrice; + @SerializedName("created_at") + private Long createdAt; + @SerializedName("order_price_type") + private String orderPriceType; + @SerializedName("order_price") + private BigDecimal orderPrice; + private Integer status; + @SerializedName("source_order_id") + private String sourceOrderId; + @SerializedName("relation_tpsl_order_id") + private String relationTpslOrderId; + } + } +} diff --git a/src/main/java/com/huobi/api/response/coin_futures/trade/ContractTpslOrderResponse.java b/src/main/java/com/huobi/api/response/coin_futures/trade/ContractTpslOrderResponse.java new file mode 100644 index 0000000..7b6ad5d --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_futures/trade/ContractTpslOrderResponse.java @@ -0,0 +1,51 @@ +package com.huobi.api.response.coin_futures.trade; + + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.util.List; + +@AllArgsConstructor +@Builder +@Data +public class ContractTpslOrderResponse { + private String status; + private Long ts; + private Integer errCode; + private String errMsg; + private List data; + + @AllArgsConstructor + @Builder + @Data + public static class BeanData{ + @SerializedName("tp_order") + private List tpOrder; + @SerializedName("sl_order") + private List slOrder; + + @AllArgsConstructor + @Builder + @Data + public static class BeanTpOrder{ + @SerializedName("order_id") + private Long orderId; + @SerializedName("order_id_str") + private String orderIdStr; + } + + @AllArgsConstructor + @Builder + @Data + public static class BeanSlOrder{ + @SerializedName("order_id") + private Long orderId; + @SerializedName("order_id_str") + private String orderIdStr; + } + + } +} diff --git a/src/main/java/com/huobi/api/response/coin_futures/trade/ContractTrackCancelResponse.java b/src/main/java/com/huobi/api/response/coin_futures/trade/ContractTrackCancelResponse.java new file mode 100644 index 0000000..fcbd843 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_futures/trade/ContractTrackCancelResponse.java @@ -0,0 +1,38 @@ +package com.huobi.api.response.coin_futures.trade; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.util.List; + +@AllArgsConstructor +@Builder +@Data +public class ContractTrackCancelResponse { + private String status; + private Long ts; + private List data; + + @AllArgsConstructor + @Builder + @Data + public static class DataBean{ + private String successes; + private List errors; + + @AllArgsConstructor + @Builder + @Data + public static class ErrorsBean{ + @SerializedName("order_id") + private String orderId; + @SerializedName("err_msg") + private String errMsg; + @SerializedName("err_code") + private Integer errCode; + } + + } +} diff --git a/src/main/java/com/huobi/api/response/coin_futures/trade/ContractTrackCancelallResponse.java b/src/main/java/com/huobi/api/response/coin_futures/trade/ContractTrackCancelallResponse.java new file mode 100644 index 0000000..f099651 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_futures/trade/ContractTrackCancelallResponse.java @@ -0,0 +1,38 @@ +package com.huobi.api.response.coin_futures.trade; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.util.List; + +@AllArgsConstructor +@Builder +@Data +public class ContractTrackCancelallResponse { + private String status; + private Long ts; + private List data; + + @AllArgsConstructor + @Builder + @Data + public static class DataBean{ + private String successes; + private List errors; + + @AllArgsConstructor + @Builder + @Data + public static class ErrorsBean{ + @SerializedName("order_id") + private String orderId; + @SerializedName("err_msg") + private String errMsg; + @SerializedName("err_code") + private Integer errCode; + } + + } +} diff --git a/src/main/java/com/huobi/api/response/coin_futures/trade/ContractTrackHisordersResponse.java b/src/main/java/com/huobi/api/response/coin_futures/trade/ContractTrackHisordersResponse.java new file mode 100644 index 0000000..9d93164 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_futures/trade/ContractTrackHisordersResponse.java @@ -0,0 +1,84 @@ +package com.huobi.api.response.coin_futures.trade; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@AllArgsConstructor +@Builder +@Data +public class ContractTrackHisordersResponse { + private String status; + private Long ts; + private List data; + + @AllArgsConstructor + @Builder + @Data + public static class DataBean{ + @SerializedName("total_page") + private Integer totalPage; + @SerializedName("total_size") + private Integer totalSize; + @SerializedName("current_page") + private Integer currentPage; + private List orders; + + @AllArgsConstructor + @Builder + @Data + public static class OrdersBean{ + private String symbol; + @SerializedName("contract_type") + private String contractType; + @SerializedName("contract_code") + private String contractCode; + private BigDecimal volume; + @SerializedName("order_type") + private Integer orderType; + private String direction; + private String offset; + @SerializedName("lever_rate") + private Integer leverRate; + @SerializedName("order_id") + private Long orderId; + @SerializedName("order_id_str") + private String orderIdStr; + @SerializedName("order_source") + private String orderSource; + @SerializedName("created_at") + private Long createdAt; + @SerializedName("update_time") + private Long updateTime; + @SerializedName("order_price_type") + private String orderPriceType; + private Integer status; + @SerializedName("canceled_at") + private Long canceledAt; + @SerializedName("fail_code") + private Integer failCode; + @SerializedName("fail_reason") + private String failReason; + @SerializedName("callback_rate") + private BigDecimal callbackRate; + @SerializedName("active_price") + private BigDecimal activePrice; + @SerializedName("is_active") + private Integer isActive; + @SerializedName("market_limit_price") + private BigDecimal marketLimitPrice; + @SerializedName("formula_price") + private BigDecimal formulaPrice; + @SerializedName("real_volume") + private BigDecimal realVolume; + @SerializedName("triggered_price") + private BigDecimal triggeredPrice; + @SerializedName("relation_order_id") + private String relationOrderId; + } + } +} diff --git a/src/main/java/com/huobi/api/response/coin_futures/trade/ContractTrackOpenordersResponse.java b/src/main/java/com/huobi/api/response/coin_futures/trade/ContractTrackOpenordersResponse.java new file mode 100644 index 0000000..76b47ff --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_futures/trade/ContractTrackOpenordersResponse.java @@ -0,0 +1,66 @@ +package com.huobi.api.response.coin_futures.trade; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@AllArgsConstructor +@Builder +@Data +public class ContractTrackOpenordersResponse { + private String status; + private Long ts ; + private List data; + + @AllArgsConstructor + @Builder + @Data + public static class DataBean{ + @SerializedName("total_page") + private Integer totalPage; + @SerializedName("total_size") + private Integer totalSize; + @SerializedName("current_page") + private Integer currentPage; + private List orders; + + @AllArgsConstructor + @Builder + @Data + public static class OrdersBean{ + private String symbol; + @SerializedName("contract_type") + private String contractType; + @SerializedName("contract_code") + private String contractCode; + private BigDecimal volume; + @SerializedName("order_type") + private Integer orderType; + private String direction; + private String offset; + @SerializedName("lever_rate") + private Integer leverRate; + @SerializedName("order_id") + private Long orderId; + @SerializedName("order_id_str") + private String orderIdStr; + @SerializedName("order_source") + private String orderSource; + @SerializedName("created_at") + private Long createdAt; + @SerializedName("order_price_type") + private String orderPriceType; + private Integer status; + @SerializedName("callback_rate") + private BigDecimal callbackType; + @SerializedName("active_price") + private BigDecimal activePrice; + @SerializedName("is_active") + private Integer isActive; + } + } +} diff --git a/src/main/java/com/huobi/api/response/coin_futures/trade/ContractTrackOrderResponse.java b/src/main/java/com/huobi/api/response/coin_futures/trade/ContractTrackOrderResponse.java new file mode 100644 index 0000000..829b04b --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_futures/trade/ContractTrackOrderResponse.java @@ -0,0 +1,28 @@ +package com.huobi.api.response.coin_futures.trade; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.util.List; + +@AllArgsConstructor +@Builder +@Data +public class ContractTrackOrderResponse { + private String status; + private Long ts; + private List data; + + @AllArgsConstructor + @Builder + @Data + public static class DataBean{ + @SerializedName("order_id") + private Long orderId; + @SerializedName("order_id_str") + private String orderIdStr; + } + +} diff --git a/src/main/java/com/huobi/api/response/coin_futures/trade/ContractTriggerCancelResponse.java b/src/main/java/com/huobi/api/response/coin_futures/trade/ContractTriggerCancelResponse.java new file mode 100644 index 0000000..c72bc23 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_futures/trade/ContractTriggerCancelResponse.java @@ -0,0 +1,38 @@ +package com.huobi.api.response.coin_futures.trade; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.util.List; + +@AllArgsConstructor +@Data +@Builder +public class ContractTriggerCancelResponse { + private String status; + private List data; + private Long ts; + + @AllArgsConstructor + @Data + @Builder + public static class DataBean{ + private String successes; + private List errors; + + @AllArgsConstructor + @Data + @Builder + public static class ErrorsData{ + @SerializedName("order_id") + private String orderID; + @SerializedName("err_code") + private Integer errCode; + @SerializedName("err_msg") + private String errMsg; + } + + } +} diff --git a/src/main/java/com/huobi/api/response/coin_futures/trade/ContractTriggerCancelallResponse.java b/src/main/java/com/huobi/api/response/coin_futures/trade/ContractTriggerCancelallResponse.java new file mode 100644 index 0000000..e872ae7 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_futures/trade/ContractTriggerCancelallResponse.java @@ -0,0 +1,38 @@ +package com.huobi.api.response.coin_futures.trade; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.util.List; + +@Builder +@AllArgsConstructor +@Data +public class ContractTriggerCancelallResponse { + private String status; + private List data; + private Long ts; + + @AllArgsConstructor + @Data + @Builder + public static class DataBean{ + private String successes; + private List errors; + + @AllArgsConstructor + @Data + @Builder + public static class ErrorsData{ + @SerializedName("order_id") + private String orderID; + @SerializedName("err_code") + private Integer errCode; + @SerializedName("err_msg") + private String errMsg; + } + + } +} diff --git a/src/main/java/com/huobi/api/response/coin_futures/trade/ContractTriggerHisordersResponse.java b/src/main/java/com/huobi/api/response/coin_futures/trade/ContractTriggerHisordersResponse.java new file mode 100644 index 0000000..67fb9e5 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_futures/trade/ContractTriggerHisordersResponse.java @@ -0,0 +1,82 @@ +package com.huobi.api.response.coin_futures.trade; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@AllArgsConstructor +@Builder +@Data +public class ContractTriggerHisordersResponse { + private String status; + private Long ts; + private List data; + + @AllArgsConstructor + @Builder + @Data + public static class DataBean{ + @SerializedName("total_page") + private Integer totalPage; + @SerializedName("current_page") + private Integer currentPage; + @SerializedName("total_size") + private Integer totalSize; + private List orders; + + @AllArgsConstructor + @Builder + @Data + public static class OrdersBean{ + private String Symbol; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("contract_type") + private String contractType; + @SerializedName("trigger_type") + private String triggerType; + private BigDecimal volume; + @SerializedName("order_type") + private Integer orderType; + private String direction; + private String offset; + @SerializedName("lever_rate") + private Integer leverRate; + @SerializedName("order_id") + private Integer orderId; + @SerializedName("order_id_str") + private String orderIdStr; + @SerializedName("relation_order_id") + private String relationOrderId; + @SerializedName("order_price_type") + private String orderPriceType; + private Integer status; + @SerializedName("order_source") + private String orderSource; + @SerializedName("trigger_price") + private BigDecimal triggerPrice; + @SerializedName("triggered_price") + private BigDecimal triggeredPrice; + @SerializedName("order_price") + private BigDecimal orderPrice; + @SerializedName("created_at") + private Long createdAt; + @SerializedName("triggered_at") + private Long triggeredAt; + @SerializedName("order_insert_at") + private Long orderInsertAt; + @SerializedName("canceled_at") + private Long canceledAt; + @SerializedName("fail_code") + private Integer failCode; + @SerializedName("fail_reason") + private String failReason; + @SerializedName("update_time") + private Long updateTime; + } + } +} diff --git a/src/main/java/com/huobi/api/response/coin_futures/trade/ContractTriggerOpenordersResponse.java b/src/main/java/com/huobi/api/response/coin_futures/trade/ContractTriggerOpenordersResponse.java new file mode 100644 index 0000000..637f91b --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_futures/trade/ContractTriggerOpenordersResponse.java @@ -0,0 +1,67 @@ +package com.huobi.api.response.coin_futures.trade; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@AllArgsConstructor +@Data +@Builder +public class ContractTriggerOpenordersResponse { + private String status; + private List data; + private Long ts; + + @Data + @AllArgsConstructor + @Builder + public static class DataBean{ + @SerializedName("total_page") + private Integer totalPage; + @SerializedName("current_page") + private Integer currentPage; + @SerializedName("total_size") + private Integer totalSize; + private List orders; + + @Data + @AllArgsConstructor + @Builder + public static class OrdersBean{ + private String symbol; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("contract_type") + private String contractType; + @SerializedName("trigger_type") + private String triggerType; + private BigDecimal volume; + @SerializedName("order_type") + private Integer orderType; + private String direction; + private String offset; + @SerializedName("lever_rate") + private Integer leverRate; + @SerializedName("order_id") + private Integer orderID; + @SerializedName("order_id_str") + private String orderIdStr; + @SerializedName("order_source") + private String orderSource; + @SerializedName("trigger_price") + private BigDecimal triggerPrice; + @SerializedName("order_price") + private BigDecimal orderPrice; + @SerializedName("created_at") + private Long createdAt; + @SerializedName("order_price_type") + private String orderPriceType; + private Integer status; + + } + } +} diff --git a/src/main/java/com/huobi/api/response/coin_futures/trade/ContractTriggerOrderResponse.java b/src/main/java/com/huobi/api/response/coin_futures/trade/ContractTriggerOrderResponse.java new file mode 100644 index 0000000..4c34812 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_futures/trade/ContractTriggerOrderResponse.java @@ -0,0 +1,26 @@ +package com.huobi.api.response.coin_futures.trade; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.util.List; + +@Data +@AllArgsConstructor +@Builder +public class ContractTriggerOrderResponse { + private String status; + private Long ts; + private List data; + + @Data + @AllArgsConstructor + public static class DataBean { + @SerializedName("order_id") + private Long orderId; + @SerializedName("order_id_str") + private String orderIdStr; + } +} diff --git a/src/main/java/com/huobi/api/response/coin_futures/trade/LightningClosePositionResponse.java b/src/main/java/com/huobi/api/response/coin_futures/trade/LightningClosePositionResponse.java new file mode 100644 index 0000000..02ef042 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_futures/trade/LightningClosePositionResponse.java @@ -0,0 +1,36 @@ +package com.huobi.api.response.coin_futures.trade; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +@Data +@AllArgsConstructor +public class LightningClosePositionResponse { + /** + * status : ok + * data : {"order_id":986,"client_order_id":9086} + * ts : 158797866555 + */ + + private String status; + private DataBean data; + private Long ts; + + @Data + @AllArgsConstructor + public static class DataBean { + /** + * order_id : 986 + * client_order_id : 9086 + */ + + @SerializedName("order_id") + private Long orderId; + @SerializedName("order_id_str") + private String orderIdStr; + @SerializedName("client_order_id") + private Long clientOrderId; + + } +} diff --git a/src/main/java/com/huobi/api/response/coin_futures/transfer/AccountTransferResponse.java b/src/main/java/com/huobi/api/response/coin_futures/transfer/AccountTransferResponse.java new file mode 100644 index 0000000..c9712bb --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_futures/transfer/AccountTransferResponse.java @@ -0,0 +1,15 @@ +package com.huobi.api.response.coin_futures.transfer; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +@Builder +@AllArgsConstructor +@Data +public class AccountTransferResponse { + private Boolean success; + private Long data; + private Long code; + private String message; +} diff --git a/src/main/java/com/huobi/api/response/coin_futures/transfer/FuturesTransferResponse.java b/src/main/java/com/huobi/api/response/coin_futures/transfer/FuturesTransferResponse.java new file mode 100644 index 0000000..4ba6393 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_futures/transfer/FuturesTransferResponse.java @@ -0,0 +1,25 @@ +package com.huobi.api.response.coin_futures.transfer; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +@Data +@AllArgsConstructor +public class FuturesTransferResponse { + + /** + * status : ok + * data : 48523811 + * err-code : dw-account-transfer-error + * err-msg : 由于其他服务不可用导致的划转失败 + */ + + private String status; + private Object data; + @SerializedName("err-code") + private String errCode; + @SerializedName("err-msg") + private String errMsg; + +} diff --git a/src/main/java/com/huobi/api/response/coin_swap/account/SwapAccountInfoResponse.java b/src/main/java/com/huobi/api/response/coin_swap/account/SwapAccountInfoResponse.java new file mode 100644 index 0000000..1825d87 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_swap/account/SwapAccountInfoResponse.java @@ -0,0 +1,77 @@ +package com.huobi.api.response.coin_swap.account; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class SwapAccountInfoResponse { + /** + * "status": "ok", + * "ts": 1601012593623 + * "data":[{"symbol":"BTC","margin_balance":987751.572823845245237901,"margin_position":8077.364020000000000000,"margin_frozen":22218.000000000000000000,"margin_available":957456.208803845245237901,"profit_real":-11.671496092307692307,"profit_unreal":-72.561788557692307693,"risk_rate":32.564050315149348888,"withdraw_available":957456.208803845245237901000000000000000000,"liquidation_price":289952.498194378595081075,"lever_rate":5,"adjust_factor":0.040000000000000000,"margin_static":987824.134612402937545594,"contract_code":"BTC-USDT","margin_asset":"USDT"}] + */ + private String status; + private Long ts; + private List data; + + @Data + @AllArgsConstructor + public static class DataBean { + /** + * "symbol": "BTC", + * "margin_balance": 987751.572823845245237901, + * "margin_position": 8077.364020000000000000, + * "margin_frozen": 22218.000000000000000000, + * "margin_available": 957456.208803845245237901, + * "profit_real": -11.671496092307692307, + * "profit_unreal": -72.561788557692307693, + * "risk_rate": 32.564050315149348888, + * "withdraw_available": 957456.208803845245237901000000000000000000, + * "liquidation_price": 289952.498194378595081075, + * "lever_rate": 5, + * "adjust_factor": 0.040000000000000000, + * "margin_static": 987824.134612402937545594, + * "contract_code": "BTC-USDT", + * "margin_asset": "USDT" + */ + private String symbol; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("margin_asset") + private String marginAsset; + @SerializedName("margin_balance") + private BigDecimal marginBalance; + @SerializedName("margin_static") + private BigDecimal marginStatic; + @SerializedName("margin_position") + private BigDecimal marginPosition; + @SerializedName("margin_frozen") + private BigDecimal marginFrozen; + @SerializedName("margin_available") + private BigDecimal marginAvailable; + @SerializedName("profit_unreal") + private BigDecimal profitUnreal; + @SerializedName("risk_rate") + private BigDecimal riskRate; + @SerializedName("liquidation_price") + private BigDecimal liquidationPrice; + @SerializedName("withdraw_available") + private BigDecimal withdrawAvailable; + @SerializedName("lever_rate") + private BigDecimal lever_rate; + @SerializedName("adjust_factor") + private BigDecimal adjustFactor; + @SerializedName("new_risk_rate") + private BigDecimal newRiskRate; + @SerializedName("trade_partition") + private String tradePartition; + + + + } +} diff --git a/src/main/java/com/huobi/api/response/coin_swap/account/SwapAccountPositionInfoResponse.java b/src/main/java/com/huobi/api/response/coin_swap/account/SwapAccountPositionInfoResponse.java new file mode 100644 index 0000000..84c7cf4 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_swap/account/SwapAccountPositionInfoResponse.java @@ -0,0 +1,126 @@ +package com.huobi.api.response.coin_swap.account; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class SwapAccountPositionInfoResponse { + /** + * "status":"ok", + * "ts":1601012818626 + * "data":[{"symbol":"ETH","contract_code":"ETH-USDT","margin_balance":5018.308273184124880112,"margin_position":1.739876274000000000,"margin_frozen":0,"margin_available":5007.414260318062440056,"profit_real":0E-18,"profit_unreal":0E-18,"risk_rate":2884.230307406148858210,"withdraw_available":5016.568396910124880112000000000000000000,"liquidation_price":165579.962271216234522793,"lever_rate":5,"adjust_factor":0.060000000000000000,"margin_static":5018.308273184124880112,"positions":[{"symbol":"ETH","contract_code":"ETH-USDT","volume":3.000000000000000000,"available":3.000000000000000000,"frozen":0E-18,"cost_open":393.000000000000000000,"cost_hold":289.979379000000000000,"profit_unreal":0E-18,"profit_rate":1.310694923664122140,"lever_rate":5,"position_margin":1.739876274000000000,"direction":"sell","profit":3.090618630000000000,"last_price":289.979379,"margin_asset":"USDT"}],"margin_asset":"USDT"}] + */ + private String status; + private Long ts; + private List data; + + @Data + @AllArgsConstructor + public static class DataBean { + /** + * "symbol": "ETH", + * "contract_code": "ETH-USDT", + * "margin_balance": 5018.308273184124880112, + * "margin_position": 1.739876274000000000, + * "margin_frozen": 0, + * "margin_available": 5007.414260318062440056, + * "profit_real": 0E-18, + * "profit_unreal": 0E-18, + * "risk_rate": 2884.230307406148858210, + * "withdraw_available": 5016.568396910124880112000000000000000000, + * "liquidation_price": 165579.962271216234522793, + * "lever_rate": 5, + * "adjust_factor": 0.060000000000000000, + * "margin_static": 5018.308273184124880112, + * "margin_asset": "USDT" + * "positions":[{"symbol":"ETH","contract_code":"ETH-USDT","volume":3.000000000000000000,"available":3.000000000000000000,"frozen":0E-18,"cost_open":393.000000000000000000,"cost_hold":289.979379000000000000,"profit_unreal":0E-18,"profit_rate":1.310694923664122140,"lever_rate":5,"position_margin":1.739876274000000000,"direction":"sell","profit":3.090618630000000000,"last_price":289.979379,"margin_asset":"USDT"}] + */ + private String symbol; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("margin_asset") + private String marginAsset; + @SerializedName("margin_balance") + private BigDecimal marginBalance; + @SerializedName("margin_static") + private BigDecimal marginStatic; + @SerializedName("margin_position") + private BigDecimal marginPosition; + @SerializedName("margin_frozen") + private BigDecimal marginFrozen; + @SerializedName("margin_position") + private BigDecimal marginAvailable; + @SerializedName("profit_unreal") + private BigDecimal profitUnreal; + @SerializedName("risk_rate") + private BigDecimal riskRate; + @SerializedName("liquidation_price") + private BigDecimal liquidationPrice; + @SerializedName("withdraw_available") + private BigDecimal withdrawAvailable; + @SerializedName("lever_rate") + private BigDecimal leverRate; + @SerializedName("adjust_factor") + private BigDecimal adjustFactor; + @SerializedName("new_risk_rate") + private BigDecimal newRiskRate; + @SerializedName("trade_partition") + private String tradePartition; + + private List positions; + + @Data + @AllArgsConstructor + public static class Positions { + /** + * "symbol": "ETH", + * "contract_code": "ETH-USDT", + * "volume": 3.000000000000000000, + * "available": 3.000000000000000000, + * "frozen": 0E-18, + * "cost_open": 393.000000000000000000, + * "cost_hold": 289.979379000000000000, + * "profit_unreal": 0E-18, + * "profit_rate": 1.310694923664122140, + * "lever_rate": 5, + * "position_margin": 1.739876274000000000, + * "direction": "sell", + * "profit": 3.090618630000000000, + * "last_price": 289.979379, + * "margin_asset": "USDT" + */ + private String symbol; + @SerializedName("contract_code") + private String contractCode; + private BigDecimal volume; + private BigDecimal available; + private BigDecimal frozen; + @SerializedName("cost_open") + private BigDecimal costOpen; + @SerializedName("cost_hold") + private BigDecimal costHold; + @SerializedName("profit_unreal") + private BigDecimal profitUnreal; + @SerializedName("profit_rate") + private BigDecimal profitRate; + private BigDecimal profit; + @SerializedName("margin_asset") + private String marginAsset; + @SerializedName("position_margin") + private BigDecimal positionMargin; + @SerializedName("lever_rate") + private Integer leverRate; + private String direction; + @SerializedName("last_price") + private BigDecimal lastPrice; + @SerializedName("adl_risk_percent") + private BigDecimal adlRiskPercent; + } + } +} + diff --git a/src/main/java/com/huobi/api/response/coin_swap/account/SwapApiTradingStatusResponse.java b/src/main/java/com/huobi/api/response/coin_swap/account/SwapApiTradingStatusResponse.java new file mode 100644 index 0000000..5bfade9 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_swap/account/SwapApiTradingStatusResponse.java @@ -0,0 +1,106 @@ +package com.huobi.api.response.coin_swap.account; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +@Builder +public class SwapApiTradingStatusResponse { + + /** + * "status":"ok", + * "ts":1601013022262 + * "data":{"is_disable":0,"order_price_types":"","disable_reason":"","disable_interval":0,"recovery_time":0,"COR":{"orders_threshold":3,"orders":0,"invalid_cancel_orders":0,"cancel_ratio_threshold":0.100000000000000000,"cancel_ratio":0,"is_trigger":0,"is_active":1},"TDN":{"disables_threshold":2,"disables":0,"is_trigger":0,"is_active":1}} + */ + + private String status; + private Long ts; + private List data; + + @Data + @AllArgsConstructor + @Builder + public static class DataBean { + /** + * "is_disable": 0, + * "order_price_types": "", + * "disable_reason": "", + * "disable_interval": 0, + * "recovery_time": 0, + * "COR":{"orders_threshold":3,"orders":0,"invalid_cancel_orders":0,"cancel_ratio_threshold":0.100000000000000000,"cancel_ratio":0,"is_trigger":0,"is_active":1} + * "TDN":{"disables_threshold":2,"disables":0,"is_trigger":0,"is_active":1} + */ + + @SerializedName("is_disable") + private Integer isDisable; + @SerializedName("order_price_types") + private String orderPriceTypes; + @SerializedName("disable_reason") + private String DisableReason; + @SerializedName("disable_interval") + private Long disableInterval; + @SerializedName("recovery_time") + private Long recoveryTime; + @SerializedName("COR") + private List cor; + @SerializedName("TDN") + private List tdn; + + @Data + @AllArgsConstructor + @Builder + public static class CORBean { + + /** + * "orders_threshold": 3, + * "orders": 0, + * "invalid_cancel_orders": 0, + * "cancel_ratio_threshold": 0.100000000000000000, + * "cancel_ratio": 0, + * "is_trigger": 0, + * "is_active": 1 + */ + + @SerializedName("orders_threshold") + private Long ordersThreshold; + private Long orders; + @SerializedName("invalid_cancel_orders") + private Long invalidCancelOrders; + @SerializedName("cancel_ratio_threshold") + private BigDecimal cancelRatioThreshold; + @SerializedName("cancel_ratio") + private BigDecimal cancelRatio; + @SerializedName("is_trigger") + private Integer isTrigger; + @SerializedName("is_active") + private Integer isActive; + } + + @Data + @AllArgsConstructor + @Builder + public static class TDNBean { + + /** + * "disables_threshold": 2, + * "disables": 0, + * "is_trigger": 0, + * "is_active": 1 + */ + + @SerializedName("disables_threshold") + private Long disablesThreshold; + private Long disables; + @SerializedName("is_trigger") + private Integer isTrigger; + @SerializedName("is_active") + private Integer isActive; + } + } +} diff --git a/src/main/java/com/huobi/api/response/coin_swap/account/SwapAvailableLevelRateResponse.java b/src/main/java/com/huobi/api/response/coin_swap/account/SwapAvailableLevelRateResponse.java new file mode 100644 index 0000000..c5bf445 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_swap/account/SwapAvailableLevelRateResponse.java @@ -0,0 +1,28 @@ +package com.huobi.api.response.coin_swap.account; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.util.List; + +@AllArgsConstructor +@Data +@Builder +public class SwapAvailableLevelRateResponse { + private String status; + private Long ts; + private List data; + + @AllArgsConstructor + @Data + @Builder + public static class DataBean{ + @SerializedName("contract_code") + private String contractCode; + @SerializedName("available_level_rate") + private String availableLevelRate; + } + +} diff --git a/src/main/java/com/huobi/api/response/coin_swap/account/SwapBalanceValuationResponse.java b/src/main/java/com/huobi/api/response/coin_swap/account/SwapBalanceValuationResponse.java new file mode 100644 index 0000000..74d424b --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_swap/account/SwapBalanceValuationResponse.java @@ -0,0 +1,26 @@ +package com.huobi.api.response.coin_swap.account; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.util.List; + +@Data +@Builder +@AllArgsConstructor +public class SwapBalanceValuationResponse { + private String status; + private Long ts ; + private List data; + + @Data + @Builder + @AllArgsConstructor + public static class DataBean{ + @SerializedName("valuation_asset") + private String valuationAsset; + private String balance; + } +} diff --git a/src/main/java/com/huobi/api/response/coin_swap/account/SwapFeeResponse.java b/src/main/java/com/huobi/api/response/coin_swap/account/SwapFeeResponse.java new file mode 100644 index 0000000..7a484f6 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_swap/account/SwapFeeResponse.java @@ -0,0 +1,51 @@ +package com.huobi.api.response.coin_swap.account; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.util.List; + +@Data +@AllArgsConstructor +public class SwapFeeResponse { + + /** + * "status":"ok", + * "data":[{"symbol":"ETH","contract_code":"ETH-USDT","open_maker_fee":"-0.00022","open_taker_fee":"0.0004","close_maker_fee":"-0.00012","close_taker_fee":"0.0005","fee_asset":"USDT"}], + * "ts":1601013192499 + */ + + private String status; + private Long ts; + private List data; + + @Data + @AllArgsConstructor + public static class DataBean { + + /** + * "symbol": "ETH", + * "contract_code": "ETH-USDT", + * "open_maker_fee": "-0.00022", + * "open_taker_fee": "0.0004", + * "close_maker_fee": "-0.00012", + * "close_taker_fee": "0.0005", + * "fee_asset": "USDT" + */ + private String symbol; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("open_maker_fee") + private String openMakerFee; + @SerializedName("open_taker_fee") + private String openTakerFee; + @SerializedName("close_maker_fee") + private String closeMakerFee; + @SerializedName("close_taker_fee") + private String closeTakerFee; + @SerializedName("fee_asset") + private String feeAsset; + + } +} diff --git a/src/main/java/com/huobi/api/response/coin_swap/account/SwapFinancialRecordExactResponse.java b/src/main/java/com/huobi/api/response/coin_swap/account/SwapFinancialRecordExactResponse.java new file mode 100644 index 0000000..fdaac0b --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_swap/account/SwapFinancialRecordExactResponse.java @@ -0,0 +1,42 @@ +package com.huobi.api.response.coin_swap.account; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +@Builder +public class SwapFinancialRecordExactResponse { + private String status; + private Long ts; + private List data; + + @Data + @AllArgsConstructor + @Builder + public static class DataBean{ + private Integer remainSize; + @SerializedName("next_id") + private Long nextId; + @SerializedName("financial_record") + private List financialRecord; + + @Data + @AllArgsConstructor + @Builder + public static class FinancialRecordBean{ + private Long ts; + private Long id; + private String symbol; + @SerializedName("contract_code") + private String contractCode; + private Integer type; + private BigDecimal amount; + } + } +} diff --git a/src/main/java/com/huobi/api/response/coin_swap/account/SwapFinancialRecordExactV3Response.java b/src/main/java/com/huobi/api/response/coin_swap/account/SwapFinancialRecordExactV3Response.java new file mode 100644 index 0000000..1db1da7 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_swap/account/SwapFinancialRecordExactV3Response.java @@ -0,0 +1,30 @@ +package com.huobi.api.response.coin_swap.account; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +@AllArgsConstructor +public class SwapFinancialRecordExactV3Response { + private Integer code; + private String msg; + private Long ts; + @AllArgsConstructor + @Builder + @Data + public static class DataBean{ + @SerializedName("query_id") + private Long queryId; + private String id; + private Long ts; + private String symbol; + @SerializedName("contract_code") + private String contractCode; + private Integer type; + private BigDecimal amount; + } +} diff --git a/src/main/java/com/huobi/api/response/coin_swap/account/SwapFinancialRecordResponse.java b/src/main/java/com/huobi/api/response/coin_swap/account/SwapFinancialRecordResponse.java new file mode 100644 index 0000000..d679cd6 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_swap/account/SwapFinancialRecordResponse.java @@ -0,0 +1,71 @@ +package com.huobi.api.response.coin_swap.account; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class SwapFinancialRecordResponse { + + /** + * "status": "ok", + * "data":{"total_page":4,"current_page":1,"total_size":78,"financial_record":[{"id":32570,"type":5,"amount":-0.051645550000000000,"ts":1600935837608,"contract_code":"BTC-USDT","asset":"USDT","margin_account":"BTC-USDT","face_margin_account":""},{"id":32465,"type":5,"amount":-0.051645550000000000,"ts":1600926986046,"contract_code":"BTC-USDT","asset":"USDT","margin_account":"BTC-USDT","face_margin_account":""}] + * "ts":1601013304748 + */ + + private String status; + private DataBean data; + private long ts; + + @Data + @AllArgsConstructor + public static class DataBean { + /** + * "total_page": 4, + * "current_page": 1, + * "total_size": 78, + * "financial_record":[{"id":32570,"type":5,"amount":-0.051645550000000000,"ts":1600935837608,"contract_code":"BTC-USDT","asset":"USDT","margin_account":"BTC-USDT","face_margin_account":""},{"id":32465,"type":5,"amount":-0.051645550000000000,"ts":1600926986046,"contract_code":"BTC-USDT","asset":"USDT","margin_account":"BTC-USDT","face_margin_account":""}] + */ + @SerializedName("total_page") + private Integer totalPage; + @SerializedName("current_page") + private Integer currentPage; + @SerializedName("total_size") + private Integer totalSize; + @SerializedName("financial_record") + private List financialRecord; + + @Data + @AllArgsConstructor + public static class FinancialRecordBean { + + /** + * "id": 32570, + * "type": 5, + * "amount": -0.051645550000000000, + * "ts": 1600935837608, + * "contract_code": "BTC-USDT", + * "asset": "USDT", + * "margin_account": "BTC-USDT", + * "face_margin_account": "" + */ + private Long id; + private Long ts; + private String asset; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("margin_account") + private String marginAccount; + @SerializedName("face_margin_account") + private String faceMarginAccount; + private Integer type; + private BigDecimal amount; + + + } + } +} diff --git a/src/main/java/com/huobi/api/response/coin_swap/account/SwapFinancialRecordV3Response.java b/src/main/java/com/huobi/api/response/coin_swap/account/SwapFinancialRecordV3Response.java new file mode 100644 index 0000000..db27982 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_swap/account/SwapFinancialRecordV3Response.java @@ -0,0 +1,31 @@ +package com.huobi.api.response.coin_swap.account; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; + +@AllArgsConstructor +@Data +@Builder +public class SwapFinancialRecordV3Response { + private Integer code; + private String msg; + private Long ts; + @AllArgsConstructor + @Builder + @Data + public static class DataBean{ + @SerializedName("query_id") + private Long queryId; + private String id; + private Long ts; + private String symbol; + @SerializedName("contract_code") + private String contractCode; + private Integer type; + private BigDecimal amount; + } +} diff --git a/src/main/java/com/huobi/api/response/coin_swap/account/SwapMasterSubTransferRecordResponse.java b/src/main/java/com/huobi/api/response/coin_swap/account/SwapMasterSubTransferRecordResponse.java new file mode 100644 index 0000000..339d692 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_swap/account/SwapMasterSubTransferRecordResponse.java @@ -0,0 +1,83 @@ +package com.huobi.api.response.coin_swap.account; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +@Builder +public class SwapMasterSubTransferRecordResponse { + + /** + * "status":"ok", + * "data":{"total_page":1,"current_page":1,"total_size":2,"transfer_record":[{"id":31201,"transfer_type":34,"amount":-50.000000000000000000,"ts":1600914842175,"sub_uid":"114390100","sub_account_name":"xiaowei","margin_account":"BTC-USDT","asset":"USDT","to_margin_account":"BTC-USDT","from_margin_account":"BTC-USDT"},{"id":26988,"transfer_type":34,"amount":-5000.000000000000000000,"ts":1600681596931,"sub_uid":"114390100","sub_account_name":"xiaowei","margin_account":"BTC-USDT","asset":"USDT","to_margin_account":"BTC-USDT","from_margin_account":"BTC-USDT"}]}, + * "ts":1601014410977 + */ + + private String status; + private Long ts; + private DataBean data; + + @Data + @AllArgsConstructor + @Builder + public static class DataBean { + + /** + * "total_page": 1, + * "current_page": 1, + * "total_size": 2, + * "transfer_record":[{"id":31201,"transfer_type":34,"amount":-50.000000000000000000,"ts":1600914842175,"sub_uid":"114390100","sub_account_name":"xiaowei","margin_account":"BTC-USDT","asset":"USDT","to_margin_account":"BTC-USDT","from_margin_account":"BTC-USDT"},{"id":26988,"transfer_type":34,"amount":-5000.000000000000000000,"ts":1600681596931,"sub_uid":"114390100","sub_account_name":"xiaowei","margin_account":"BTC-USDT","asset":"USDT","to_margin_account":"BTC-USDT","from_margin_account":"BTC-USDT"}] + */ + + @SerializedName("transfer_record") + private List transferRecord; + @SerializedName("total_page") + private Integer totalPage; + @SerializedName("current_page") + private Integer currentPage; + @SerializedName("total_size") + private Integer totalSize; + + @Data + @AllArgsConstructor + @Builder + public static class TransferRecord { + + /** + * "id": 31201, + * "transfer_type": 34, + * "amount": -50.000000000000000000, + * "ts": 1600914842175, + * "sub_uid": "114390100", + * "sub_account_name": "wei", + * "margin_account": "BTC-USDT", + * "asset": "USDT", + * "to_margin_account": "BTC-USDT", + * "from_margin_account": "BTC-USDT" + */ + + private Long id; + private Long ts; + private String symbol; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("from_margin_account") + private String fromMarginAccount; + @SerializedName("to_margin_account") + private String toMarginAccount; + @SerializedName("sub_uid") + private String subUid; + @SerializedName("sub_account_name") + private String subAccountName; + @SerializedName("transfer_type") + private Integer transferType; + private BigDecimal amount; + } + } +} diff --git a/src/main/java/com/huobi/api/response/coin_swap/account/SwapMasterSubTransferResponse.java b/src/main/java/com/huobi/api/response/coin_swap/account/SwapMasterSubTransferResponse.java new file mode 100644 index 0000000..c72ebdd --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_swap/account/SwapMasterSubTransferResponse.java @@ -0,0 +1,38 @@ +package com.huobi.api.response.coin_swap.account; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.util.List; + +@Data +@AllArgsConstructor +@Builder +public class SwapMasterSubTransferResponse { + + /** + * {"status":"ok", + * "data":{"order_id":"759056715424780288"}, + * "ts":1601014823718} + */ + + private String status; + private Long ts; + private List data; + + @Data + @AllArgsConstructor + public static class DataBean { + + /** + * "order_id":"759056715424780288" + */ + + @SerializedName("order_id") + private Long orderId; + @SerializedName("client_order_id") + private Long clientOrderId; + } +} diff --git a/src/main/java/com/huobi/api/response/coin_swap/account/SwapOrderLimitResponse.java b/src/main/java/com/huobi/api/response/coin_swap/account/SwapOrderLimitResponse.java new file mode 100644 index 0000000..f6aa55d --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_swap/account/SwapOrderLimitResponse.java @@ -0,0 +1,54 @@ +package com.huobi.api.response.coin_swap.account; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.util.List; + +@Data +@AllArgsConstructor +public class SwapOrderLimitResponse { + + /** + * "status":"ok", + * "data":{"order_price_type":"limit","list":[{"symbol":"ETH","contract_code":"ETH-USDT","open_limit":10001.000000000000000000,"close_limit":20000.000000000000000000},{"symbol":"LTC","contract_code":"LTC-USDT","open_limit":999999999.000000000000000000,"close_limit":100000.000000000000000000},{"symbol":"EOS","contract_code":"EOS-USDT","open_limit":1000000000.000000000000000000,"close_limit":1000000.000000000000000000},{"symbol":"BTC","contract_code":"BTC-USDT","open_limit":40000.000000000000000000,"close_limit":10000.000000000000000000}]}, + * "ts":1601014888426 + */ + + private String status; + private List data; + private Long ts; + + @Data + @AllArgsConstructor + public static class DataBean { + + /** + * "order_price_type":"limit", + * "list":[{"symbol":"ETH","contract_code":"ETH-USDT","open_limit":10001.000000000000000000,"close_limit":20000.000000000000000000}] + */ + + @SerializedName("order_price_type") + private String orderPriceType; + private List list; + + @Data + @AllArgsConstructor + public static class ListBean { + + /** + * "symbol": "ETH", + * "contract_code": "ETH-USDT", + * "open_limit": 10001.000000000000000000, + * "close_limit": 20000.000000000000000000 + */ + + private String symbol; + private String contractCode; + private Float openLimit; + private Float closeLimit; + + } + } +} diff --git a/src/main/java/com/huobi/api/response/coin_swap/account/SwapPositionInfoResponse.java b/src/main/java/com/huobi/api/response/coin_swap/account/SwapPositionInfoResponse.java new file mode 100644 index 0000000..489640a --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_swap/account/SwapPositionInfoResponse.java @@ -0,0 +1,75 @@ +package com.huobi.api.response.coin_swap.account; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class SwapPositionInfoResponse { + /** + * "status":"ok", + * "data":[{"symbol":"ETH","contract_code":"ETH-USDT","volume":3.000000000000000000,"available":3.000000000000000000,"frozen":0E-18,"cost_open":393.000000000000000000,"cost_hold":289.979379000000000000,"profit_unreal":0.299381370000000000,"profit_rate":1.437659033078880410,"lever_rate":5,"position_margin":1.680000000000000000,"direction":"sell","profit":3.390000000000000000,"last_price":280,"margin_asset":"USDT"}], + * "ts":1601015114151 + */ + private String status; + private long ts; + private List data; + + @Data + @AllArgsConstructor + public static class DataBean { + /** + * "symbol": "ETH", + * "contract_code": "ETH-USDT", + * "volume": 3.000000000000000000, + * "available": 3.000000000000000000, + * "frozen": 0E-18, + * "cost_open": 393.000000000000000000, + * "cost_hold": 289.979379000000000000, + * "profit_unreal": 0.299381370000000000, + * "profit_rate": 1.437659033078880410, + * "lever_rate": 5, + * "position_margin": 1.680000000000000000, + * "direction": "sell", + * "profit": 3.390000000000000000, + * "last_price": 280, + * "margin_asset": "USDT" + */ + private String symbol; + @SerializedName("contract_code") + private String contractCode; + private BigDecimal volume; + private BigDecimal available; + private BigDecimal frozen; + @SerializedName("cost_open") + private BigDecimal costOpen; + @SerializedName("cost_hold") + private BigDecimal costHold; + @SerializedName("profit_unreal") + private BigDecimal profitUnreal; + @SerializedName("profit_rate") + private BigDecimal profitRate; + private BigDecimal profit; + @SerializedName("margin_asset") + private String marginAsset; + @SerializedName("position_margin") + private BigDecimal positionMargin; + @SerializedName("lever_rate") + private Integer LeverRate; + private String direction; + @SerializedName("last_price") + private BigDecimal lastPrice; + @SerializedName("adl_risk_percent") + private BigDecimal adlRiskPercent; + @SerializedName("liq_px") + private String liqPx; + @SerializedName("new_risk_rate") + private BigDecimal newRiskRate; + @SerializedName("trade_partition") + private String tradePartition; + } +} diff --git a/src/main/java/com/huobi/api/response/coin_swap/account/SwapPositionLimitResponse.java b/src/main/java/com/huobi/api/response/coin_swap/account/SwapPositionLimitResponse.java new file mode 100644 index 0000000..d7eb9f8 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_swap/account/SwapPositionLimitResponse.java @@ -0,0 +1,43 @@ +package com.huobi.api.response.coin_swap.account; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class SwapPositionLimitResponse { + + /** + * "status":"ok", + * "data":[{"symbol":"ETH","contract_code":"ETH-USDT","buy_limit":1234567.000000000000000000,"sell_limit":7654321.000000000000000000},{"symbol":"LTC","contract_code":"LTC-USDT","buy_limit":20000000.000000000000000000,"sell_limit":9999999999.000000000000000000},{"symbol":"EOS","contract_code":"EOS-USDT","buy_limit":111.000000000000000000,"sell_limit":222.000000000000000000},{"symbol":"BTC","contract_code":"BTC-USDT","buy_limit":98765432.000000000000000000,"sell_limit":999999999.000000000000000000}], + * "ts":1601015282669 + */ + + private String status; + private long ts; + private List data; + + @Data + @AllArgsConstructor + public static class DataBean { + + /** + * "symbol": "ETH", + * "contract_code": "ETH-USDT", + * "buy_limit": 1234567.000000000000000000, + * "sell_limit": 7654321.000000000000000000 + */ + + private String symbol; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("buy_limit") + private BigDecimal buyLimit; + @SerializedName("sell_limit") + private BigDecimal sellLimit; + } +} diff --git a/src/main/java/com/huobi/api/response/coin_swap/account/SwapSubAccountInfoListResponse.java b/src/main/java/com/huobi/api/response/coin_swap/account/SwapSubAccountInfoListResponse.java new file mode 100644 index 0000000..d2505ff --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_swap/account/SwapSubAccountInfoListResponse.java @@ -0,0 +1,58 @@ +package com.huobi.api.response.coin_swap.account; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@AllArgsConstructor +@Builder +@Data +public class SwapSubAccountInfoListResponse { + private String status; + private Long ts; + private List data; + + @AllArgsConstructor + @Builder + @Data + public static class DataBean{ + @SerializedName("current_page") + private Integer currentPage; + @SerializedName("total_page") + private Integer totalPage; + @SerializedName("total_size") + private Integer totalSize; + @SerializedName("sub_list") + private List subList; + + @AllArgsConstructor + @Builder + @Data + public static class SubListBean{ + @SerializedName("sub_uid") + private String subUid; + @SerializedName("account_info_list") + private List accountInfoList; + + @AllArgsConstructor + @Builder + @Data + public static class AccountInfoListBean{ + private String symbol; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("margin_balance") + private BigDecimal marginBalance; + @SerializedName("liquidation_price") + private BigDecimal LiquidationPrice; + @SerializedName("risk_rate") + private BigDecimal riskRate; + + } + } + } +} diff --git a/src/main/java/com/huobi/api/response/coin_swap/account/SwapSubAccountInfoResponse.java b/src/main/java/com/huobi/api/response/coin_swap/account/SwapSubAccountInfoResponse.java new file mode 100644 index 0000000..bd908d2 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_swap/account/SwapSubAccountInfoResponse.java @@ -0,0 +1,79 @@ +package com.huobi.api.response.coin_swap.account; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class SwapSubAccountInfoResponse { + + /** + * "status":"ok", + * "data":[{"symbol":"ETH","margin_balance":10,"margin_position":0,"margin_frozen":0,"margin_available":10.000000000000000000,"profit_real":0,"profit_unreal":0,"risk_rate":null,"withdraw_available":10.000000000000000000,"liquidation_price":null,"lever_rate":5,"adjust_factor":0.060000000000000000,"margin_static":10,"contract_code":"ETH-USDT","margin_asset":"USDT"}], + * "ts":1601015400967 + */ + + private String status; + private long ts; + private List data; + + @Data + @AllArgsConstructor + public static class DataBean { + + /** + * "symbol": "ETH", + * "margin_balance": 10, + * "margin_position": 0, + * "margin_frozen": 0, + * "margin_available": 10.000000000000000000, + * "profit_real": 0, + * "profit_unreal": 0, + * "risk_rate": null, + * "withdraw_available": 10.000000000000000000, + * "liquidation_price": null, + * "lever_rate": 5, + * "adjust_factor": 0.060000000000000000, + * "margin_static": 10, + * "contract_code": "ETH-USDT", + * "margin_asset": "USDT" + */ + + private String symbol; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("margin_asset") + private String marginAsset; + @SerializedName("margin_balance") + private BigDecimal marginBalance; + @SerializedName("margin_position") + private BigDecimal marginPosition; + @SerializedName("margin_frozen") + private BigDecimal marginFrozen; + @SerializedName("margin_available") + private BigDecimal marginAvailable; + @SerializedName("profit_unreal") + private BigDecimal profitUnreal; + @SerializedName("risk_rate") + private BigDecimal riskRate; + @SerializedName("liquidation_price") + private BigDecimal liquidationPrice; + @SerializedName("withdraw_available") + private BigDecimal withdrawAvailable; + @SerializedName("lever_rate") + private BigDecimal leverRate; + @SerializedName("adjust_factor") + private BigDecimal adjustFactor; + @SerializedName("margin_static") + private BigDecimal marginStatic; + @SerializedName("new_risk_rate") + private BigDecimal newRiskRate; + @SerializedName("trade_partition") + private String tradePartition; + + } +} diff --git a/src/main/java/com/huobi/api/response/coin_swap/account/SwapSubAccountListResponse.java b/src/main/java/com/huobi/api/response/coin_swap/account/SwapSubAccountListResponse.java new file mode 100644 index 0000000..4b7706b --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_swap/account/SwapSubAccountListResponse.java @@ -0,0 +1,64 @@ +package com.huobi.api.response.coin_swap.account; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class SwapSubAccountListResponse { + + /** + * "status":"ok", + * "data":[{"sub_uid":114390100,"list":[{"symbol":"BTC","margin_balance":4924.455316934075342434,"liquidation_price":null,"risk_rate":238.337523181284512529,"contract_code":"BTC-USDT","margin_asset":"USDT"}]}], + * "ts":1601015560631 + */ + + private String status; + private long ts; + private List data; + + @Data + @AllArgsConstructor + public static class DataBean { + /** + * "sub_uid":114390100, + * "list":[{"symbol":"BTC","margin_balance":4924.455316934075342434,"liquidation_price":null,"risk_rate":238.337523181284512529,"contract_code":"BTC-USDT","margin_asset":"USDT"}] + */ + + @SerializedName("sub_uid") + private Long subUid; + private List list; + + @Data + @AllArgsConstructor + public static class ListBean { + /** + * "symbol": "BTC", + * "margin_balance": 4924.455316934075342434, + * "liquidation_price": null, + * "risk_rate": 238.337523181284512529, + * "contract_code": "BTC-USDT", + * "margin_asset": "USDT" + */ + + private String symbol; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("margin_asset") + private String marginAsset; + @SerializedName("margin_balance") + private BigDecimal marginBalance; + @SerializedName("liquidation_price") + private BigDecimal liquidationPrice; + @SerializedName("risk_rate") + private BigDecimal riskRate; + @SerializedName("query_id") + private Long queryId; + + } + } +} diff --git a/src/main/java/com/huobi/api/response/coin_swap/account/SwapSubAuthResponse.java b/src/main/java/com/huobi/api/response/coin_swap/account/SwapSubAuthResponse.java new file mode 100644 index 0000000..0c67008 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_swap/account/SwapSubAuthResponse.java @@ -0,0 +1,37 @@ +package com.huobi.api.response.coin_swap.account; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.util.List; + +@AllArgsConstructor +@Builder +@Data +public class SwapSubAuthResponse { + private String status; + private Long ts; + private List data; + + @AllArgsConstructor + @Builder + @Data + public static class DataBean{ + private String successes; + private List errors; + + @AllArgsConstructor + @Builder + @Data + public static class ErrorsBean{ + @SerializedName("sub_uid") + private String subUid; + @SerializedName("err_code") + private Integer errCode; + @SerializedName("err_msg") + private String errMsg; + } + } +} diff --git a/src/main/java/com/huobi/api/response/coin_swap/account/SwapSubPositionInfoResponse.java b/src/main/java/com/huobi/api/response/coin_swap/account/SwapSubPositionInfoResponse.java new file mode 100644 index 0000000..41e9442 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_swap/account/SwapSubPositionInfoResponse.java @@ -0,0 +1,63 @@ +package com.huobi.api.response.coin_swap.account; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class SwapSubPositionInfoResponse { + + /** + * + */ + + private String status; + private Long ts; + private List data; + + @Data + @AllArgsConstructor + public static class DataBean { + /** + * + */ + + private String symbol; + @SerializedName("contract_code") + private String contractCode; + private BigDecimal volume; + private BigDecimal available; + private BigDecimal frozen; + @SerializedName("cost_open") + private BigDecimal costOpen; + @SerializedName("cost_hold") + private BigDecimal costHold; + @SerializedName("profit_unreal") + private BigDecimal profitUnreal; + @SerializedName("profit_rate") + private BigDecimal profitRate; + private BigDecimal profit; + @SerializedName("margin_asset") + private String marginAsset; + @SerializedName("position_margin") + private BigDecimal positionMargin; + @SerializedName("lever_rate") + private Integer leverRate; + private String direction; + @SerializedName("last_price") + private BigDecimal lastPrice; + @SerializedName("adl_risk_percent") + private BigDecimal adlRiskPercent; + @SerializedName("liq_px") + private String liqPx; + @SerializedName("new_risk_rate") + private BigDecimal newRiskRate; + @SerializedName("trade_partition") + private String tradePartition; + + } +} diff --git a/src/main/java/com/huobi/api/response/coin_swap/account/SwapTransferInnerResponse.java b/src/main/java/com/huobi/api/response/coin_swap/account/SwapTransferInnerResponse.java new file mode 100644 index 0000000..dd1f8fc --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_swap/account/SwapTransferInnerResponse.java @@ -0,0 +1,20 @@ +package com.huobi.api.response.coin_swap.account; + +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.util.List; + +@Data +@AllArgsConstructor +public class SwapTransferInnerResponse { + private String status; + private Long ts; + private List data; + + @Data + @AllArgsConstructor + public static class DataBean{ + private Long orderId; + } +} diff --git a/src/main/java/com/huobi/api/response/coin_swap/account/SwapTransferLimitResponse.java b/src/main/java/com/huobi/api/response/coin_swap/account/SwapTransferLimitResponse.java new file mode 100644 index 0000000..611f8b6 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_swap/account/SwapTransferLimitResponse.java @@ -0,0 +1,60 @@ +package com.huobi.api.response.coin_swap.account; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class SwapTransferLimitResponse { + /** + * "status":"ok", + * "data":[{"symbol":"BTC","contract_code":"BTC-USDT","transfer_in_max_each":1000000.000000000000000000,"transfer_in_min_each":2.000000000000000000,"transfer_out_max_each":2000000.000000000000000000,"transfer_out_min_each":1.000000000000000000,"transfer_in_max_daily":800000000.000000000000000000,"transfer_out_max_daily":12345678.000000000000000000,"net_transfer_in_max_daily":4000000000.000000000000000000,"net_transfer_out_max_daily":7000000000.000000000000000000}], + * "ts":1601016197241 + */ + + private String status; + private long ts; + private List data; + + @Data + @AllArgsConstructor + public static class DataBean { + /** + * "symbol": "BTC", + * "contract_code": "BTC-USDT", + * "transfer_in_max_each": 1000000.000000000000000000, + * "transfer_in_min_each": 2.000000000000000000, + * "transfer_out_max_each": 2000000.000000000000000000, + * "transfer_out_min_each": 1.000000000000000000, + * "transfer_in_max_daily": 800000000.000000000000000000, + * "transfer_out_max_daily": 12345678.000000000000000000, + * "net_transfer_in_max_daily": 4000000000.000000000000000000, + * "net_transfer_out_max_daily": 7000000000.000000000000000000 + */ + + private String symbol; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("transfer_in_max_each") + private BigDecimal transferInMaxEach; + @SerializedName("transfer_in_min_each") + private BigDecimal transferInMinEach; + @SerializedName("transfer_out_max_each") + private BigDecimal transferOutMaxEach; + @SerializedName("transfer_out_min_each") + private BigDecimal transferOutMinEach; + @SerializedName("transfer_in_max_daily") + private BigDecimal transferInMaxDaily; + @SerializedName("transfer_out_max_daily") + private BigDecimal transferOutMaxDaily; + @SerializedName("net_transfer_in_max_daily") + private BigDecimal netTransferInMaxDaily; + @SerializedName("net_transfer_out_max_daily") + private BigDecimal netTransferOutMaxDaily; + + } +} diff --git a/src/main/java/com/huobi/api/response/coin_swap/account/SwapUserSettlementRecordsResponse.java b/src/main/java/com/huobi/api/response/coin_swap/account/SwapUserSettlementRecordsResponse.java new file mode 100644 index 0000000..e374e85 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_swap/account/SwapUserSettlementRecordsResponse.java @@ -0,0 +1,81 @@ +package com.huobi.api.response.coin_swap.account; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@AllArgsConstructor +@Data +@Builder +public class SwapUserSettlementRecordsResponse { + private String status; + private Long ts; + private List data; + + @AllArgsConstructor + @Data + @Builder + public static class DataBean{ + @SerializedName("total_size") + private Integer totalPage; + @SerializedName("current_page") + private Integer currentPage; + @SerializedName("total_size") + private Integer totalSize; + @SerializedName("settlement_records") + private List settlementRecords; + + @AllArgsConstructor + @Data + @Builder + public static class SettlementRecordsBean{ + private String symbol; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("contract_code") + private BigDecimal marginBalanceInit; + @SerializedName("margin_balance") + private BigDecimal marginBalance; + @SerializedName("settlement_profit_real") + private BigDecimal settlementProfitReal; + @SerializedName("settlement_time") + private Long settlementTime; + private BigDecimal clawback; + @SerializedName("funding_fee") + private BigDecimal fundingFee; + @SerializedName("offset_profitloss") + private BigDecimal offsetProfitloss; + private BigDecimal fee; + @SerializedName("fee_asset") + private String feeAsset; + private List positions; + + @AllArgsConstructor + @Data + @Builder + public static class PositionsBean{ + private String symbol; + @SerializedName("contract_code") + private String contractCode; + private String direction; + private BigDecimal volume; + @SerializedName("cost_open") + private BigDecimal costOpen; + @SerializedName("cost_hold_pre") + private BigDecimal costHoldPre; + @SerializedName("cost_hold") + private BigDecimal costHold; + @SerializedName("settlement_profit_unreal") + private BigDecimal settlementProfitUnreal; + @SerializedName("settlement_price") + private BigDecimal settlementPrice; + @SerializedName("settlement_type") + private String settlementType; + } + } + } +} diff --git a/src/main/java/com/huobi/api/response/coin_swap/market/BatchMergedResponse.java b/src/main/java/com/huobi/api/response/coin_swap/market/BatchMergedResponse.java new file mode 100644 index 0000000..89f8b66 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_swap/market/BatchMergedResponse.java @@ -0,0 +1,37 @@ +package com.huobi.api.response.coin_swap.market; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@AllArgsConstructor +@Builder +@Data +public class BatchMergedResponse { + private String status; + private Long ts; + private List ticks; + + @Builder + @AllArgsConstructor + @Data + public static class TicksBean{ + @SerializedName("contract_code") + private String contractCode; + private Long id; + private String amount; + private BigDecimal[] ask; + private BigDecimal[] bid; + private String open; + private String close; + private BigDecimal count; + private String high; + private String low; + private String vol; + private Long ts; + } +} diff --git a/src/main/java/com/huobi/api/response/coin_swap/market/HeartBeatResponse.java b/src/main/java/com/huobi/api/response/coin_swap/market/HeartBeatResponse.java new file mode 100644 index 0000000..acfcb51 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_swap/market/HeartBeatResponse.java @@ -0,0 +1,33 @@ +package com.huobi.api.response.coin_swap.market; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.util.List; + +@Builder +@AllArgsConstructor +@Data +public class HeartBeatResponse { + private String status; + private List data; + + @Data + @AllArgsConstructor + public static class DataBean { + private Integer heartbeat; + @SerializedName("swap_heartbeat") + private Integer swapHeartbeat; + + @SerializedName("estimated_recovery_time") + private Long estimatedRecoveryTime; + @SerializedName("swap_estimated_recovery_time") + private Long swapEstimatedRecoveryTime; + @SerializedName("linear_swap_heartbeat") + private Long linearSwapHeartbeat; + @SerializedName("linear_swap_estimated_recovery_time") + private Long linearSwapEstimatedRecoveryTime; + } +} diff --git a/src/main/java/com/huobi/api/response/coin_swap/market/LinearSwapBasisResponse.java b/src/main/java/com/huobi/api/response/coin_swap/market/LinearSwapBasisResponse.java new file mode 100644 index 0000000..ceccfd9 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_swap/market/LinearSwapBasisResponse.java @@ -0,0 +1,42 @@ +package com.huobi.api.response.coin_swap.market; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.util.List; + +@Data +@AllArgsConstructor +public class LinearSwapBasisResponse { + /** + * "ch":"market.BTC-USDT.basis.1min.open", + * "data":[{"basis":"-324.0100000000002","basis_rate":"-0.030414563996275287","contract_price":"10329.11","id":1601016420,"index_price":"10653.12"},{"basis":"-321.39999999999964","basis_rate":"-0.030176958662073424","contract_price":"10329.11","id":1601016480,"index_price":"10650.51"}], + * "status":"ok", + * "ts":1601016487806 + */ + private String status; + private String ch; + private Long ts; + private List data; + + @Data + @AllArgsConstructor + public static class DataBean { + /** + * "basis": "-321.39999999999964", + * "basis_rate": "-0.030176958662073424", + * "contract_price": "10329.11", + * "id": 1601016480, + * "index_price": "10650.51" + */ + private Long id; + @SerializedName("contract_price") + private String contractPrice; + @SerializedName("index_price") + private String indexPrice; + private String basis; + @SerializedName("basis_rate") + private String basisRate; + } +} diff --git a/src/main/java/com/huobi/api/response/coin_swap/market/LinearSwapEstimatedRateKlineResponse.java b/src/main/java/com/huobi/api/response/coin_swap/market/LinearSwapEstimatedRateKlineResponse.java new file mode 100644 index 0000000..9f8d8ac --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_swap/market/LinearSwapEstimatedRateKlineResponse.java @@ -0,0 +1,46 @@ +package com.huobi.api.response.coin_swap.market; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.util.List; + +@Data +@AllArgsConstructor +public class LinearSwapEstimatedRateKlineResponse { + /** + * "ch":"market.BTC-USDT.estimated_rate.1min", + * "data":[{"amount":"0","close":"0.0014892219606765","count":"0","high":"0.0014892219606765","id":1601016600,"low":"0.0014892219606765","open":"0.0014892219606765","trade_turnover":"0","vol":"0"}], + * "status":"ok", + * "ts":1601016635799 + */ + private String ch; + private String status; + private Long ts; + private List data; + + @Data + @AllArgsConstructor + public static class DataBean { + /** + * "amount": "0", + * "close": "0.0014892219606765", + * "count": "0", + * "high": "0.0014892219606765", + * "id": 1601016600, + * "low": "0.0014892219606765", + * "open": "0.0014892219606765", + * "trade_turnover": "0", + * "vol": "0" + */ + private Long id; + private String vol; + private String count; + private String open; + private String close; + private String low; + private String High; + private String amount; + } +} diff --git a/src/main/java/com/huobi/api/response/coin_swap/market/LinearSwapPremiumIndexKlineResponse.java b/src/main/java/com/huobi/api/response/coin_swap/market/LinearSwapPremiumIndexKlineResponse.java new file mode 100644 index 0000000..6225dad --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_swap/market/LinearSwapPremiumIndexKlineResponse.java @@ -0,0 +1,45 @@ +package com.huobi.api.response.coin_swap.market; + +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.util.List; + +@AllArgsConstructor +@Data +public class LinearSwapPremiumIndexKlineResponse { + /** + * "ch":"market.BTC-USDT.premium_index.1min", + * "data":[{"amount":"0","close":"0.0026931683048173","count":"0","high":"0.0026931683048173","id":1601016720,"low":"0.0026931683048173","open":"0.0026931683048173","trade_turnover":"0","vol":"0"}], + * "status":"ok", + * "ts":1601016750315 + */ + private String ch; + private Long ts; + private String status; + private List data; + + @AllArgsConstructor + @Data + public static class DataBean { + /** + * "amount": "0", + * "close": "0.0026931683048173", + * "count": "0", + * "high": "0.0026931683048173", + * "id": 1601016720, + * "low": "0.0026931683048173", + * "open": "0.0026931683048173", + * "trade_turnover": "0", + * "vol": "0" + */ + private Long id; + private String vol; + private String count; + private String open; + private String close; + private String low; + private String High; + private String amount; + } +} diff --git a/src/main/java/com/huobi/api/response/coin_swap/market/MarketBboResponse.java b/src/main/java/com/huobi/api/response/coin_swap/market/MarketBboResponse.java new file mode 100644 index 0000000..f74fa35 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_swap/market/MarketBboResponse.java @@ -0,0 +1,30 @@ +package com.huobi.api.response.coin_swap.market; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Builder +@Data +@AllArgsConstructor +public class MarketBboResponse { + private String status; + private Long ts; + private List ticks; + + @Builder + @Data + @AllArgsConstructor + public static class TicksBean{ + @SerializedName("contract_code") + private String contract_code; + private Long mrid; + private BigDecimal[] ask; + private BigDecimal[] bid; + private Long ts; + } +} diff --git a/src/main/java/com/huobi/api/response/coin_swap/market/SummaryResponse.java b/src/main/java/com/huobi/api/response/coin_swap/market/SummaryResponse.java new file mode 100644 index 0000000..2fb3626 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_swap/market/SummaryResponse.java @@ -0,0 +1,150 @@ +package com.huobi.api.response.coin_swap.market; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.util.List; + +@Builder +@AllArgsConstructor +@Data +public class SummaryResponse { + private Page page; + private List components; + private List incidents; + @SerializedName("scheduled_maintenances") + private List scheduledMaintenances; + private Status status; + @Builder + @Data + @AllArgsConstructor + public static class Page{ + private String id; + private String name; + private String url; + @SerializedName("time_zone") + private String timeZone; + @SerializedName("updated_at") + private String updatedAt; + } + @Builder + @Data + @AllArgsConstructor + public static class Components{ + private String id; + private String name; + private String status; + @SerializedName("created_at") + private String createdAt; + @SerializedName("updated_at") + private String updatedAt; + private Integer position; + private String description; + private Boolean showcase; + @SerializedName("group_id") + private String groupId; + @SerializedName("page_id") + private String pageId; + private Boolean group; + @SerializedName("only_show_if_degraded") + private Boolean onlyShowIfDegraded; + } + @Builder + @Data + @AllArgsConstructor + public static class Incidents{ + private String id; + private String name; + private String status; + @SerializedName("created_at") + private String createdAt; + @SerializedName("updated_at") + private String updatedAt; + @SerializedName("monitoring_at") + private String monitoringAt; + @SerializedName("resolved_at") + private String resolvedAt; + private String impact; + private String shortlink; + @SerializedName("started_at") + private String startedAt; + @SerializedName("page_id") + private String pageId; + @SerializedName("incident_updates") + private List incidentUpdates; + private List components; + } + @Builder + @Data + @AllArgsConstructor + public static class IncidentUpdates{ + private String id; + private String status; + private String body; + @SerializedName("incident_id") + private String incidentId; + @SerializedName("created_at") + private String createdAt; + @SerializedName("updated_at") + private String updatedAt; + @SerializedName("display_at") + private String displayAt; + @SerializedName("affected_components") + private List affectedComponents; + @SerializedName("deliver_notifications") + private Boolean deliverNotifications; + @SerializedName("custom_tweet") + private String customTweet; + @SerializedName("tweet_id") + private String tweetId; + } + @Builder + @Data + @AllArgsConstructor + public static class AffectedComponents{ + private String code; + private String name; + @SerializedName("old_status") + private String oldStatus; + @SerializedName("new_status") + private String newStatus; + } + @Builder + @Data + @AllArgsConstructor + public static class ScheduledMaintenances{ + private String id; + private String name; + private String status; + @SerializedName("created_at") + private String createdAt; + @SerializedName("updated_at") + private String updatedAt; + @SerializedName("monitoring_at") + private String monitoringAt; + @SerializedName("resolved_at") + private String resolvedAt; + private String impact; + private String shortlink; + @SerializedName("started_at") + private String startedAt; + @SerializedName("page_id") + private String pageId; + @SerializedName("incident_updates") + private List incidentUpdates; + private List components; + @SerializedName("scheduled_for") + private String scheduledFor; + @SerializedName("scheduled_until") + private String scheduledUntil; + } + @Builder + @Data + @AllArgsConstructor + public static class Status{ + private String indicator; + private String description; + } +} diff --git a/src/main/java/com/huobi/api/response/coin_swap/market/SwapAdjustfactorResponse.java b/src/main/java/com/huobi/api/response/coin_swap/market/SwapAdjustfactorResponse.java new file mode 100644 index 0000000..7e0498a --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_swap/market/SwapAdjustfactorResponse.java @@ -0,0 +1,68 @@ +package com.huobi.api.response.coin_swap.market; + + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class SwapAdjustfactorResponse { + /** + * "status":"ok", + * "data":[{"symbol":"BTC","contract_code":"BTC-USDT","list":[{"lever_rate":125,"ladders":[{"ladder":0,"min_size":0,"max_size":111,"adjust_factor":0.250000000000000000},{"ladder":1,"min_size":112,"max_size":222,"adjust_factor":0.310000000000000000},{"ladder":2,"min_size":223,"max_size":333,"adjust_factor":0.360000000000000000},{"ladder":3,"min_size":334,"max_size":1999,"adjust_factor":0.410000000000000000},{"ladder":4,"min_size":2000,"max_size":9999,"adjust_factor":0.800000000000000000},{"ladder":5,"min_size":10000,"max_size":null,"adjust_factor":0.950000000000000000}]},{"lever_rate":100,"ladders":[{"ladder":0,"min_size":0,"max_size":1999,"adjust_factor":0.550000000000000000},{"ladder":1,"min_size":2000,"max_size":9999,"adjust_factor":0.700000000000000000},{"ladder":2,"min_size":10000,"max_size":null,"adjust_factor":0.850000000000000000}]},{"lever_rate":75,"ladders":[{"ladder":0,"min_size":0,"max_size":1000,"adjust_factor":0.200000000000000000},{"ladder":1,"min_size":1001,"max_size":2000,"adjust_factor":0.600000000000000000},{"ladder":2,"min_size":2001,"max_size":null,"adjust_factor":0.800000000000000000}]},{"lever_rate":50,"ladders":[{"ladder":0,"min_size":0,"max_size":1999,"adjust_factor":0.350000000000000000},{"ladder":1,"min_size":2000,"max_size":9999,"adjust_factor":0.550000000000000000},{"ladder":2,"min_size":10000,"max_size":null,"adjust_factor":0.750000000000000000}]},{"lever_rate":30,"ladders":[{"ladder":0,"min_size":0,"max_size":99,"adjust_factor":0.050000000000000000},{"ladder":1,"min_size":100,"max_size":999,"adjust_factor":0.100000000000000000},{"ladder":2,"min_size":1000,"max_size":null,"adjust_factor":0.100000000000000000}]},{"lever_rate":20,"ladders":[{"ladder":0,"min_size":0,"max_size":10,"adjust_factor":0.150000000000000000},{"ladder":1,"min_size":11,"max_size":20,"adjust_factor":0.250000000000000000},{"ladder":2,"min_size":21,"max_size":30,"adjust_factor":0.300000000000000000},{"ladder":3,"min_size":31,"max_size":40,"adjust_factor":0.400000000000000000},{"ladder":4,"min_size":41,"max_size":50,"adjust_factor":0.500000000000000000},{"ladder":5,"min_size":51,"max_size":null,"adjust_factor":0.600000000000000000}]},{"lever_rate":10,"ladders":[{"ladder":0,"min_size":0,"max_size":999,"adjust_factor":0.075000000000000000},{"ladder":1,"min_size":1000,"max_size":9999,"adjust_factor":0.125000000000000000},{"ladder":2,"min_size":10000,"max_size":19999,"adjust_factor":0.150000000000000000},{"ladder":3,"min_size":20000,"max_size":29999,"adjust_factor":0.200000000000000000},{"ladder":4,"min_size":30000,"max_size":null,"adjust_factor":0.250000000000000000}]},{"lever_rate":5,"ladders":[{"ladder":0,"min_size":0,"max_size":999,"adjust_factor":0.040000000000000000},{"ladder":1,"min_size":1000,"max_size":9999,"adjust_factor":0.060000000000000000},{"ladder":2,"min_size":10000,"max_size":19999,"adjust_factor":0.075000000000000000},{"ladder":3,"min_size":20000,"max_size":29999,"adjust_factor":0.100000000000000000},{"ladder":4,"min_size":30000,"max_size":null,"adjust_factor":0.125000000000000000}]},{"lever_rate":3,"ladders":[{"ladder":0,"min_size":0,"max_size":999,"adjust_factor":0.025000000000000000},{"ladder":1,"min_size":1000,"max_size":9999,"adjust_factor":0.035000000000000000},{"ladder":2,"min_size":10000,"max_size":19999,"adjust_factor":0.045000000000000000},{"ladder":3,"min_size":20000,"max_size":29999,"adjust_factor":0.060000000000000000},{"ladder":4,"min_size":30000,"max_size":null,"adjust_factor":0.070000000000000000}]},{"lever_rate":2,"ladders":[{"ladder":0,"min_size":0,"max_size":999,"adjust_factor":0.015000000000000000},{"ladder":1,"min_size":1000,"max_size":9999,"adjust_factor":0.025000000000000000},{"ladder":2,"min_size":10000,"max_size":19999,"adjust_factor":0.030000000000000000},{"ladder":3,"min_size":20000,"max_size":29999,"adjust_factor":0.040000000000000000},{"ladder":4,"min_size":30000,"max_size":null,"adjust_factor":0.050000000000000000}]},{"lever_rate":1,"ladders":[{"ladder":0,"min_size":0,"max_size":999,"adjust_factor":0.005000000000000000},{"ladder":1,"min_size":1000,"max_size":9999,"adjust_factor":0.010000000000000000},{"ladder":2,"min_size":10000,"max_size":19999,"adjust_factor":0.015000000000000000},{"ladder":3,"min_size":20000,"max_size":29999,"adjust_factor":0.020000000000000000},{"ladder":4,"min_size":30000,"max_size":null,"adjust_factor":0.025000000000000000}]}]}], + * "ts":1601016942280 + */ + private String status; + private Long ts; + private List data; + + @Data + @AllArgsConstructor + public static class DataBean { + /** + * "symbol":"BTC", + * "contract_code":"BTC-USDT", + * "list":[{"lever_rate":125,"ladders":[{"ladder":0,"min_size":0,"max_size":111,"adjust_factor":0.250000000000000000},{"ladder":1,"min_size":112,"max_size":222,"adjust_factor":0.310000000000000000},{"ladder":2,"min_size":223,"max_size":333,"adjust_factor":0.360000000000000000},{"ladder":3,"min_size":334,"max_size":1999,"adjust_factor":0.410000000000000000},{"ladder":4,"min_size":2000,"max_size":9999,"adjust_factor":0.800000000000000000},{"ladder":5,"min_size":10000,"max_size":null,"adjust_factor":0.950000000000000000}]},{"lever_rate":100,"ladders":[{"ladder":0,"min_size":0,"max_size":1999,"adjust_factor":0.550000000000000000},{"ladder":1,"min_size":2000,"max_size":9999,"adjust_factor":0.700000000000000000},{"ladder":2,"min_size":10000,"max_size":null,"adjust_factor":0.850000000000000000}]},{"lever_rate":75,"ladders":[{"ladder":0,"min_size":0,"max_size":1000,"adjust_factor":0.200000000000000000},{"ladder":1,"min_size":1001,"max_size":2000,"adjust_factor":0.600000000000000000},{"ladder":2,"min_size":2001,"max_size":null,"adjust_factor":0.800000000000000000}]},{"lever_rate":50,"ladders":[{"ladder":0,"min_size":0,"max_size":1999,"adjust_factor":0.350000000000000000},{"ladder":1,"min_size":2000,"max_size":9999,"adjust_factor":0.550000000000000000},{"ladder":2,"min_size":10000,"max_size":null,"adjust_factor":0.750000000000000000}]},{"lever_rate":30,"ladders":[{"ladder":0,"min_size":0,"max_size":99,"adjust_factor":0.050000000000000000},{"ladder":1,"min_size":100,"max_size":999,"adjust_factor":0.100000000000000000},{"ladder":2,"min_size":1000,"max_size":null,"adjust_factor":0.100000000000000000}]},{"lever_rate":20,"ladders":[{"ladder":0,"min_size":0,"max_size":10,"adjust_factor":0.150000000000000000},{"ladder":1,"min_size":11,"max_size":20,"adjust_factor":0.250000000000000000},{"ladder":2,"min_size":21,"max_size":30,"adjust_factor":0.300000000000000000},{"ladder":3,"min_size":31,"max_size":40,"adjust_factor":0.400000000000000000},{"ladder":4,"min_size":41,"max_size":50,"adjust_factor":0.500000000000000000},{"ladder":5,"min_size":51,"max_size":null,"adjust_factor":0.600000000000000000}]},{"lever_rate":10,"ladders":[{"ladder":0,"min_size":0,"max_size":999,"adjust_factor":0.075000000000000000},{"ladder":1,"min_size":1000,"max_size":9999,"adjust_factor":0.125000000000000000},{"ladder":2,"min_size":10000,"max_size":19999,"adjust_factor":0.150000000000000000},{"ladder":3,"min_size":20000,"max_size":29999,"adjust_factor":0.200000000000000000},{"ladder":4,"min_size":30000,"max_size":null,"adjust_factor":0.250000000000000000}]},{"lever_rate":5,"ladders":[{"ladder":0,"min_size":0,"max_size":999,"adjust_factor":0.040000000000000000},{"ladder":1,"min_size":1000,"max_size":9999,"adjust_factor":0.060000000000000000},{"ladder":2,"min_size":10000,"max_size":19999,"adjust_factor":0.075000000000000000},{"ladder":3,"min_size":20000,"max_size":29999,"adjust_factor":0.100000000000000000},{"ladder":4,"min_size":30000,"max_size":null,"adjust_factor":0.125000000000000000}]},{"lever_rate":3,"ladders":[{"ladder":0,"min_size":0,"max_size":999,"adjust_factor":0.025000000000000000},{"ladder":1,"min_size":1000,"max_size":9999,"adjust_factor":0.035000000000000000},{"ladder":2,"min_size":10000,"max_size":19999,"adjust_factor":0.045000000000000000},{"ladder":3,"min_size":20000,"max_size":29999,"adjust_factor":0.060000000000000000},{"ladder":4,"min_size":30000,"max_size":null,"adjust_factor":0.070000000000000000}]},{"lever_rate":2,"ladders":[{"ladder":0,"min_size":0,"max_size":999,"adjust_factor":0.015000000000000000},{"ladder":1,"min_size":1000,"max_size":9999,"adjust_factor":0.025000000000000000},{"ladder":2,"min_size":10000,"max_size":19999,"adjust_factor":0.030000000000000000},{"ladder":3,"min_size":20000,"max_size":29999,"adjust_factor":0.040000000000000000},{"ladder":4,"min_size":30000,"max_size":null,"adjust_factor":0.050000000000000000}]},{"lever_rate":1,"ladders":[{"ladder":0,"min_size":0,"max_size":999,"adjust_factor":0.005000000000000000},{"ladder":1,"min_size":1000,"max_size":9999,"adjust_factor":0.010000000000000000},{"ladder":2,"min_size":10000,"max_size":19999,"adjust_factor":0.015000000000000000},{"ladder":3,"min_size":20000,"max_size":29999,"adjust_factor":0.020000000000000000},{"ladder":4,"min_size":30000,"max_size":null,"adjust_factor":0.025000000000000000}]}] + */ + + private String symbol; + @SerializedName("contract_code") + private String contractCode; + private List list; + + @Data + @AllArgsConstructor + public static class DataList { + /** + * "lever_rate":125, + * "ladders":[{"ladder":0,"min_size":0,"max_size":111,"adjust_factor":0.250000000000000000}] + */ + @SerializedName("lever_rate") + private BigDecimal leverRate; + private List ladders; + + @Data + @AllArgsConstructor + public static class Ladders { + /** + * "ladder":5, + * "min_size":10000, + * "max_size":null, + * "adjust_factor":0.95 + */ + @SerializedName("max_size") + private BigDecimal maxSize; + @SerializedName("min_size") + private BigDecimal minSize; + private Integer ladder; + @SerializedName("adjust_factor") + private BigDecimal adjustFactor; + + } + } + } +} diff --git a/src/main/java/com/huobi/api/response/coin_swap/market/SwapApiStateResponse.java b/src/main/java/com/huobi/api/response/coin_swap/market/SwapApiStateResponse.java new file mode 100644 index 0000000..d79a264 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_swap/market/SwapApiStateResponse.java @@ -0,0 +1,69 @@ +package com.huobi.api.response.coin_swap.market; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.util.List; + +@Data +@AllArgsConstructor +public class SwapApiStateResponse { + /** + * "status":"ok", + * "data":[{"symbol":"ETH","contract_code":"ETH-USDT","open":1,"close":1,"cancel":1,"transfer_in":1,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1},{"symbol":"LTC","contract_code":"LTC-USDT","open":1,"close":1,"cancel":1,"transfer_in":1,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1},{"symbol":"EOS","contract_code":"EOS-USDT","open":1,"close":1,"cancel":1,"transfer_in":1,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1},{"symbol":"BTC","contract_code":"BTC-USDT","open":1,"close":1,"cancel":1,"transfer_in":1,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1}], + * "ts":1601017543003 + */ + public String status; + private Long ts; + private List data; + + @Data + @AllArgsConstructor + public static class DateBean { + /** + * "symbol": "ETH", + * "contract_code": "ETH-USDT", + * "open": 1, + * "close": 1, + * "cancel": 1, + * "transfer_in": 1, + * "transfer_out": 1, + * "master_transfer_sub": 1, + * "sub_transfer_master": 1, + * "master_transfer_sub_inner_in": 1, + * "master_transfer_sub_inner_out": 1, + * "sub_transfer_master_inner_in": 1, + * "sub_transfer_master_inner_out": 1, + * "transfer_inner_in": 1, + * "transfer_inner_out": 1 + */ + private String symbol; + @SerializedName("contract_code") + private String contractCode; + private Integer open; + private Integer close; + private Integer cancel; + @SerializedName("transfer_in") + private Integer transferIn; + @SerializedName("transfer_out") + private Integer transferOut; + @SerializedName("master_transfer_sub") + private Integer masterTransferSub; + @SerializedName("sub_transfer_master") + private Integer subTransferMaster; + @SerializedName("master_transfer_sub_inner_in") + private Integer masterTransferSubInnerIn; + @SerializedName("master_transfer_sub_inner_out") + private Integer masterTransferSubInnerOut; + @SerializedName("sub_transfer_master_inner_in") + private Integer subTransferMasterInnerIn; + @SerializedName("sub_transfer_master_inner_out") + private Integer subTransferMasterInnerOut; + @SerializedName("transfer_inner_in") + private Integer transferInnerIn; + @SerializedName("transfer_inner_out") + private Integer transferInnerOut; + + } +} diff --git a/src/main/java/com/huobi/api/response/coin_swap/market/SwapBatchFundingRateResponse.java b/src/main/java/com/huobi/api/response/coin_swap/market/SwapBatchFundingRateResponse.java new file mode 100644 index 0000000..8be03cd --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_swap/market/SwapBatchFundingRateResponse.java @@ -0,0 +1,36 @@ +package com.huobi.api.response.coin_swap.market; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.util.List; + +@Data +@Builder +@AllArgsConstructor +public class SwapBatchFundingRateResponse { + private String status; + private Long ts; + private List data; + + @Data + @Builder + @AllArgsConstructor + public static class DataBean{ + private String symbol; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("fee_asset") + private String feeAsset; + @SerializedName("funding_time") + private String fundingTime; + @SerializedName("funding_rate") + private String fundingRate; + @SerializedName("estimated_rate") + private String estimatedRate; + @SerializedName("next_funding_time") + private String nextFundingTime; + } +} diff --git a/src/main/java/com/huobi/api/response/coin_swap/market/SwapContractInfoResponse.java b/src/main/java/com/huobi/api/response/coin_swap/market/SwapContractInfoResponse.java new file mode 100644 index 0000000..a0a6159 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_swap/market/SwapContractInfoResponse.java @@ -0,0 +1,55 @@ +package com.huobi.api.response.coin_swap.market; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class SwapContractInfoResponse { + + + /** + * "status":"ok", + * "data":[{"symbol":"BTC","contract_code":"BTC-USDT","contract_size":0.010000000000000000,"price_tick":0.001000000000000000,"create_date":"20200917","contract_status":7,"settlement_date":"1600943400000"}], + * "ts":1601017671678 + */ + + private String status; + private Long ts; + private List data; + + + @Data + @AllArgsConstructor + public static class DataBean { + /** + * "symbol": "BTC", + * "contract_code": "BTC-USDT", + * "contract_size": 0.010000000000000000, + * "price_tick": 0.001000000000000000, + * "create_date": "20200917", + * "contract_status": 7, + * "settlement_date": "1600943400000" + */ + + private String symbol; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("contract_size") + private BigDecimal contractSize; + @SerializedName("price_tick") + private BigDecimal priceTick; + @SerializedName("settlement_date") + private String settlementDate; + @SerializedName("create_date") + private String createDate; + @SerializedName("contract_status") + private Integer contractStatus; + @SerializedName("delivery_time") + private Long deliveryTime; + } +} diff --git a/src/main/java/com/huobi/api/response/coin_swap/market/SwapEliteAccountRatioResponse.java b/src/main/java/com/huobi/api/response/coin_swap/market/SwapEliteAccountRatioResponse.java new file mode 100644 index 0000000..8318cfc --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_swap/market/SwapEliteAccountRatioResponse.java @@ -0,0 +1,53 @@ +package com.huobi.api.response.coin_swap.market; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@AllArgsConstructor +@Data +public class SwapEliteAccountRatioResponse { + /** + * "status":"ok", + * "data":{"list":[{"buy_ratio":0.4440,"sell_ratio":0.5000,"locked_ratio":0.0560,"ts":1600912800000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"locked_ratio":0.0000,"ts":1600916400000},{"buy_ratio":0.4730,"sell_ratio":0.5270,"locked_ratio":0.0000,"ts":1600920000000},{"buy_ratio":0.4730,"sell_ratio":0.5270,"locked_ratio":0.0000,"ts":1600923600000},{"buy_ratio":0.4730,"sell_ratio":0.5270,"locked_ratio":0.0000,"ts":1600927200000},{"buy_ratio":0.4730,"sell_ratio":0.5270,"locked_ratio":0.0000,"ts":1600930800000},{"buy_ratio":0.5260,"sell_ratio":0.4740,"locked_ratio":0.0000,"ts":1600938000000},{"buy_ratio":0.5260,"sell_ratio":0.4740,"locked_ratio":0.0000,"ts":1600945200000},{"buy_ratio":0.5260,"sell_ratio":0.4740,"locked_ratio":0.0000,"ts":1600948800000},{"buy_ratio":0.5260,"sell_ratio":0.4740,"locked_ratio":0.0000,"ts":1600952400000},{"buy_ratio":0.5260,"sell_ratio":0.4740,"locked_ratio":0.0000,"ts":1600956000000},{"buy_ratio":0.5260,"sell_ratio":0.4740,"locked_ratio":0.0000,"ts":1600959600000},{"buy_ratio":0.5260,"sell_ratio":0.4740,"locked_ratio":0.0000,"ts":1600963200000},{"buy_ratio":0.5260,"sell_ratio":0.4740,"locked_ratio":0.0000,"ts":1600966800000},{"buy_ratio":0.5260,"sell_ratio":0.4740,"locked_ratio":0.0000,"ts":1600970400000},{"buy_ratio":0.5260,"sell_ratio":0.4740,"locked_ratio":0.0000,"ts":1600974000000},{"buy_ratio":0.5260,"sell_ratio":0.4740,"locked_ratio":0.0000,"ts":1600977600000},{"buy_ratio":0.5260,"sell_ratio":0.4740,"locked_ratio":0.0000,"ts":1600981200000},{"buy_ratio":0.5260,"sell_ratio":0.4740,"locked_ratio":0.0000,"ts":1600984800000},{"buy_ratio":0.5260,"sell_ratio":0.4740,"locked_ratio":0.0000,"ts":1600988400000},{"buy_ratio":0.5260,"sell_ratio":0.4740,"locked_ratio":0.0000,"ts":1600992000000},{"buy_ratio":0.5260,"sell_ratio":0.4740,"locked_ratio":0.0000,"ts":1600995600000},{"buy_ratio":0.5260,"sell_ratio":0.4740,"locked_ratio":0.0000,"ts":1600999200000},{"buy_ratio":0.5260,"sell_ratio":0.4740,"locked_ratio":0.0000,"ts":1601002800000},{"buy_ratio":0.5260,"sell_ratio":0.4740,"locked_ratio":0.0000,"ts":1601006400000},{"buy_ratio":0.5260,"sell_ratio":0.4740,"locked_ratio":0.0000,"ts":1601010000000},{"buy_ratio":0.5260,"sell_ratio":0.4740,"locked_ratio":0.0000,"ts":1601013600000},{"buy_ratio":0.5260,"sell_ratio":0.4740,"locked_ratio":0.0000,"ts":1601017200000}],"symbol":"BTC","contract_code":"BTC-USDT"}, + * "ts":1601017738890 + */ + private String status; + private Long ts; + private List data; + + @AllArgsConstructor + @Data + public static class DataBean { + /** + * "list":[{"buy_ratio":0.4440,"sell_ratio":0.5000,"locked_ratio":0.0560,"ts":1600912800000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"locked_ratio":0.0000,"ts":1600916400000},{"buy_ratio":0.4730,"sell_ratio":0.5270,"locked_ratio":0.0000,"ts":1600920000000},{"buy_ratio":0.4730,"sell_ratio":0.5270,"locked_ratio":0.0000,"ts":1600923600000},{"buy_ratio":0.4730,"sell_ratio":0.5270,"locked_ratio":0.0000,"ts":1600927200000},{"buy_ratio":0.4730,"sell_ratio":0.5270,"locked_ratio":0.0000,"ts":1600930800000},{"buy_ratio":0.5260,"sell_ratio":0.4740,"locked_ratio":0.0000,"ts":1600938000000},{"buy_ratio":0.5260,"sell_ratio":0.4740,"locked_ratio":0.0000,"ts":1600945200000},{"buy_ratio":0.5260,"sell_ratio":0.4740,"locked_ratio":0.0000,"ts":1600948800000},{"buy_ratio":0.5260,"sell_ratio":0.4740,"locked_ratio":0.0000,"ts":1600952400000},{"buy_ratio":0.5260,"sell_ratio":0.4740,"locked_ratio":0.0000,"ts":1600956000000},{"buy_ratio":0.5260,"sell_ratio":0.4740,"locked_ratio":0.0000,"ts":1600959600000},{"buy_ratio":0.5260,"sell_ratio":0.4740,"locked_ratio":0.0000,"ts":1600963200000},{"buy_ratio":0.5260,"sell_ratio":0.4740,"locked_ratio":0.0000,"ts":1600966800000},{"buy_ratio":0.5260,"sell_ratio":0.4740,"locked_ratio":0.0000,"ts":1600970400000},{"buy_ratio":0.5260,"sell_ratio":0.4740,"locked_ratio":0.0000,"ts":1600974000000},{"buy_ratio":0.5260,"sell_ratio":0.4740,"locked_ratio":0.0000,"ts":1600977600000},{"buy_ratio":0.5260,"sell_ratio":0.4740,"locked_ratio":0.0000,"ts":1600981200000},{"buy_ratio":0.5260,"sell_ratio":0.4740,"locked_ratio":0.0000,"ts":1600984800000},{"buy_ratio":0.5260,"sell_ratio":0.4740,"locked_ratio":0.0000,"ts":1600988400000},{"buy_ratio":0.5260,"sell_ratio":0.4740,"locked_ratio":0.0000,"ts":1600992000000},{"buy_ratio":0.5260,"sell_ratio":0.4740,"locked_ratio":0.0000,"ts":1600995600000},{"buy_ratio":0.5260,"sell_ratio":0.4740,"locked_ratio":0.0000,"ts":1600999200000},{"buy_ratio":0.5260,"sell_ratio":0.4740,"locked_ratio":0.0000,"ts":1601002800000},{"buy_ratio":0.5260,"sell_ratio":0.4740,"locked_ratio":0.0000,"ts":1601006400000},{"buy_ratio":0.5260,"sell_ratio":0.4740,"locked_ratio":0.0000,"ts":1601010000000},{"buy_ratio":0.5260,"sell_ratio":0.4740,"locked_ratio":0.0000,"ts":1601013600000},{"buy_ratio":0.5260,"sell_ratio":0.4740,"locked_ratio":0.0000,"ts":1601017200000}], + * "symbol":"BTC", + * "contract_code":"BTC-USDT" + */ + private String symbol; + @SerializedName("contract_code") + private String contractCode; + private List list; + + @AllArgsConstructor + @Data + public static class DataList { + /** + * "buy_ratio": 0.4440, + * "sell_ratio": 0.5000, + * "locked_ratio": 0.0560, + * "ts": 1600912800000 + */ + @SerializedName("buy_ratio") + private BigDecimal buyRatio; + @SerializedName("sell_ratio") + private BigDecimal sellRatio; + @SerializedName("locked_ratio") + private BigDecimal lockedRatio; + private Long ts; + } + } +} diff --git a/src/main/java/com/huobi/api/response/coin_swap/market/SwapElitePositionRatioResponse.java b/src/main/java/com/huobi/api/response/coin_swap/market/SwapElitePositionRatioResponse.java new file mode 100644 index 0000000..32588b7 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_swap/market/SwapElitePositionRatioResponse.java @@ -0,0 +1,47 @@ +package com.huobi.api.response.coin_swap.market; + + +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class SwapElitePositionRatioResponse { + /** + * "status":"ok", + * "data":{"list":[{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1600912800000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1600916400000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1600920000000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1600923600000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1600927200000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1600930800000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1600938000000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1600945200000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1600948800000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1600952400000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1600956000000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1600959600000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1600963200000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1600966800000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1600970400000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1600974000000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1600977600000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1600981200000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1600984800000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1600988400000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1600992000000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1600995600000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1600999200000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1601002800000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1601006400000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1601010000000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1601013600000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1601017200000}],"symbol":"BTC","contract_code":"BTC-USDT"}, + * "ts":1601017876358 + */ + private String status; + private Long ts; + private List data; + + @Data + @AllArgsConstructor + public static class DataBean { + /** + * "list":[{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1600912800000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1600916400000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1600920000000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1600923600000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1600927200000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1600930800000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1600938000000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1600945200000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1600948800000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1600952400000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1600956000000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1600959600000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1600963200000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1600966800000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1600970400000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1600974000000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1600977600000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1600981200000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1600984800000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1600988400000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1600992000000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1600995600000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1600999200000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1601002800000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1601006400000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1601010000000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1601013600000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1601017200000}], + * "symbol":"BTC", + * "contract_code":"BTC-USDT" + */ + private String symbol; + private String contractCode; + private List list; + + @Data + @AllArgsConstructor + public static class DataList { + /** + * "buy_ratio": 0.5000, + * "sell_ratio": 0.5000, + * "ts": 1600912800000 + */ + private BigDecimal buyRatio; + private BigDecimal sellRatio; + private Long ts; + } + } +} diff --git a/src/main/java/com/huobi/api/response/coin_swap/market/SwapEstimatedSettlementPriceResponse.java b/src/main/java/com/huobi/api/response/coin_swap/market/SwapEstimatedSettlementPriceResponse.java new file mode 100644 index 0000000..1482092 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_swap/market/SwapEstimatedSettlementPriceResponse.java @@ -0,0 +1,30 @@ +package com.huobi.api.response.coin_swap.market; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@AllArgsConstructor +@Builder +@Data +public class SwapEstimatedSettlementPriceResponse { + private String status; + private Long ts; + private List data; + + @AllArgsConstructor + @Builder + @Data + public static class DataBean{ + @SerializedName("contract_code") + private String contractCode; + @SerializedName("estimated_settlement_price") + private BigDecimal estimatedSettlementPrice; + @SerializedName("settlement_type") + private String settlementType; + } +} diff --git a/src/main/java/com/huobi/api/response/coin_swap/market/SwapFundingRateResponse.java b/src/main/java/com/huobi/api/response/coin_swap/market/SwapFundingRateResponse.java new file mode 100644 index 0000000..c896646 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_swap/market/SwapFundingRateResponse.java @@ -0,0 +1,48 @@ +package com.huobi.api.response.coin_swap.market; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.util.List; + +@Data +@AllArgsConstructor +public class SwapFundingRateResponse { + /** + * "status":"ok", + * "data":{"estimated_rate":null,"funding_rate":"-0.003750000000000000","contract_code":"BTC-USDT","symbol":"BTC","fee_asset":"USDT","funding_time":"1600943400000","next_funding_time":"1600972200000"}, + * "ts":1601017977976 + */ + private String status; + private Long ts; + private List data; + + @Data + @AllArgsConstructor + public static class DataBean { + /** + * "estimated_rate": null, + * "funding_rate": "-0.003750000000000000", + * "contract_code": "BTC-USDT", + * "symbol": "BTC", + * "fee_asset": "USDT", + * "funding_time": "1600943400000", + * "next_funding_time": "1600972200000" + */ + private String symbol; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("fee_asset") + private String feeAsset; + @SerializedName("funding_time") + private String fundingTime; + @SerializedName("funding_rate") + private String fundingRate; + @SerializedName("estimated_rate") + private String estimatedRate; + @SerializedName("next_funding_time") + private String nextFundingTime; + + } +} diff --git a/src/main/java/com/huobi/api/response/coin_swap/market/SwapHisOpenInterestResponse.java b/src/main/java/com/huobi/api/response/coin_swap/market/SwapHisOpenInterestResponse.java new file mode 100644 index 0000000..f31cb1c --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_swap/market/SwapHisOpenInterestResponse.java @@ -0,0 +1,50 @@ +package com.huobi.api.response.coin_swap.market; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@AllArgsConstructor +@Data +public class SwapHisOpenInterestResponse { + /** + * "status":"ok", + * "data":{"symbol":"BTC","tick":[{"volume":3019.0000000000000000,"amount_type":1,"ts":1601017200000,"value":311835.830900000000000000000000000000000000},{"volume":3019.0000000000000000,"amount_type":1,"ts":1601013600000,"value":311835.830900000000000000000000000000000000},{"volume":3019.0000000000000000,"amount_type":1,"ts":1601010000000,"value":311835.830900000000000000000000000000000000},{"volume":3019.0000000000000000,"amount_type":1,"ts":1601006400000,"value":311835.830900000000000000000000000000000000},{"volume":3019.0000000000000000,"amount_type":1,"ts":1601002800000,"value":311835.830900000000000000000000000000000000},{"volume":3019.0000000000000000,"amount_type":1,"ts":1600999200000,"value":311835.830900000000000000000000000000000000},{"volume":3019.0000000000000000,"amount_type":1,"ts":1600995600000,"value":311835.830900000000000000000000000000000000},{"volume":3019.0000000000000000,"amount_type":1,"ts":1600992000000,"value":311835.830900000000000000000000000000000000},{"volume":3019.0000000000000000,"amount_type":1,"ts":1600988400000,"value":311835.830900000000000000000000000000000000},{"volume":3019.0000000000000000,"amount_type":1,"ts":1600984800000,"value":311835.830900000000000000000000000000000000},{"volume":3019.0000000000000000,"amount_type":1,"ts":1600981200000,"value":311835.830900000000000000000000000000000000},{"volume":3019.0000000000000000,"amount_type":1,"ts":1600977600000,"value":311835.830900000000000000000000000000000000},{"volume":3019.0000000000000000,"amount_type":1,"ts":1600974000000,"value":311835.830900000000000000000000000000000000},{"volume":3019.0000000000000000,"amount_type":1,"ts":1600970400000,"value":311835.830900000000000000000000000000000000},{"volume":3019.0000000000000000,"amount_type":1,"ts":1600966800000,"value":311835.830900000000000000000000000000000000},{"volume":3019.0000000000000000,"amount_type":1,"ts":1600963200000,"value":311835.830900000000000000000000000000000000},{"volume":3019.0000000000000000,"amount_type":1,"ts":1600959600000,"value":311835.830900000000000000000000000000000000},{"volume":3019.0000000000000000,"amount_type":1,"ts":1600956000000,"value":311835.830900000000000000000000000000000000},{"volume":3019.0000000000000000,"amount_type":1,"ts":1600952400000,"value":311835.830900000000000000000000000000000000},{"volume":3019.0000000000000000,"amount_type":1,"ts":1600948800000,"value":311835.830900000000000000000000000000000000},{"volume":3019.0000000000000000,"amount_type":1,"ts":1600945200000,"value":311835.830900000000000000000000000000000000},{"volume":3019.0000000000000000,"amount_type":1,"ts":1600941600000,"value":311835.830900000000000000000000000000000000},{"volume":3019.0000000000000000,"amount_type":1,"ts":1600938000000,"value":311835.830900000000000000000000000000000000},{"volume":3015.0000000000000000,"amount_type":1,"ts":1600934400000,"value":311422.666500000000000000000000000000000000},{"volume":3015.0000000000000000,"amount_type":1,"ts":1600930800000,"value":311422.666500000000000000000000000000000000},{"volume":3013.0000000000000000,"amount_type":1,"ts":1600927200000,"value":311216.084300000000000000000000000000000000},{"volume":3011.0000000000000000,"amount_type":1,"ts":1600923600000,"value":311009.502100000000000000000000000000000000},{"volume":3011.0000000000000000,"amount_type":1,"ts":1600920000000,"value":311009.502100000000000000000000000000000000},{"volume":1858.0000000000000000,"amount_type":1,"ts":1600916400000,"value":191914.863800000000000000000000000000000000},{"volume":1732.0000000000000000,"amount_type":1,"ts":1600912800000,"value":178900.185200000000000000000000000000000000},{"volume":1732.0000000000000000,"amount_type":1,"ts":1600909200000,"value":178900.185200000000000000000000000000000000},{"volume":1732.0000000000000000,"amount_type":1,"ts":1600905600000,"value":178900.185200000000000000000000000000000000},{"volume":1732.0000000000000000,"amount_type":1,"ts":1600902000000,"value":178900.185200000000000000000000000000000000},{"volume":1732.0000000000000000,"amount_type":1,"ts":1600898400000,"value":178900.185200000000000000000000000000000000},{"volume":1732.0000000000000000,"amount_type":1,"ts":1600894800000,"value":178900.185200000000000000000000000000000000},{"volume":1732.0000000000000000,"amount_type":1,"ts":1600891200000,"value":178900.185200000000000000000000000000000000},{"volume":1732.0000000000000000,"amount_type":1,"ts":1600887600000,"value":178900.185200000000000000000000000000000000},{"volume":1732.0000000000000000,"amount_type":1,"ts":1600884000000,"value":178900.185200000000000000000000000000000000},{"volume":1732.0000000000000000,"amount_type":1,"ts":1600880400000,"value":178900.185200000000000000000000000000000000},{"volume":1732.0000000000000000,"amount_type":1,"ts":1600876800000,"value":178900.185200000000000000000000000000000000},{"volume":1732.0000000000000000,"amount_type":1,"ts":1600873200000,"value":178900.185200000000000000000000000000000000},{"volume":1732.0000000000000000,"amount_type":1,"ts":1600869600000,"value":178900.185200000000000000000000000000000000},{"volume":1712.0000000000000000,"amount_type":1,"ts":1600866000000,"value":176834.363200000000000000000000000000000000},{"volume":1712.0000000000000000,"amount_type":1,"ts":1600862400000,"value":176834.363200000000000000000000000000000000},{"volume":1712.0000000000000000,"amount_type":1,"ts":1600858800000,"value":176834.363200000000000000000000000000000000},{"volume":1712.0000000000000000,"amount_type":1,"ts":1600855200000,"value":176834.363200000000000000000000000000000000},{"volume":1712.0000000000000000,"amount_type":1,"ts":1600851600000,"value":176834.363200000000000000000000000000000000},{"volume":1712.0000000000000000,"amount_type":1,"ts":1600848000000,"value":176834.363200000000000000000000000000000000}],"contract_code":"BTC-USDT"}, + * "ts":1601018052709 + */ + private String status; + private Long ts; + private List data; + + @AllArgsConstructor + @Data + public static class DataBean { + /** + * "symbol":"BTC", + * "tick":[{"volume":3019.0000000000000000,"amount_type":1,"ts":1601017200000,"value":311835.830900000000000000000000000000000000},{"volume":3019.0000000000000000,"amount_type":1,"ts":1601013600000,"value":311835.830900000000000000000000000000000000},{"volume":3019.0000000000000000,"amount_type":1,"ts":1601010000000,"value":311835.830900000000000000000000000000000000},{"volume":3019.0000000000000000,"amount_type":1,"ts":1601006400000,"value":311835.830900000000000000000000000000000000},{"volume":3019.0000000000000000,"amount_type":1,"ts":1601002800000,"value":311835.830900000000000000000000000000000000},{"volume":3019.0000000000000000,"amount_type":1,"ts":1600999200000,"value":311835.830900000000000000000000000000000000},{"volume":3019.0000000000000000,"amount_type":1,"ts":1600995600000,"value":311835.830900000000000000000000000000000000},{"volume":3019.0000000000000000,"amount_type":1,"ts":1600992000000,"value":311835.830900000000000000000000000000000000},{"volume":3019.0000000000000000,"amount_type":1,"ts":1600988400000,"value":311835.830900000000000000000000000000000000},{"volume":3019.0000000000000000,"amount_type":1,"ts":1600984800000,"value":311835.830900000000000000000000000000000000},{"volume":3019.0000000000000000,"amount_type":1,"ts":1600981200000,"value":311835.830900000000000000000000000000000000},{"volume":3019.0000000000000000,"amount_type":1,"ts":1600977600000,"value":311835.830900000000000000000000000000000000},{"volume":3019.0000000000000000,"amount_type":1,"ts":1600974000000,"value":311835.830900000000000000000000000000000000},{"volume":3019.0000000000000000,"amount_type":1,"ts":1600970400000,"value":311835.830900000000000000000000000000000000},{"volume":3019.0000000000000000,"amount_type":1,"ts":1600966800000,"value":311835.830900000000000000000000000000000000},{"volume":3019.0000000000000000,"amount_type":1,"ts":1600963200000,"value":311835.830900000000000000000000000000000000},{"volume":3019.0000000000000000,"amount_type":1,"ts":1600959600000,"value":311835.830900000000000000000000000000000000},{"volume":3019.0000000000000000,"amount_type":1,"ts":1600956000000,"value":311835.830900000000000000000000000000000000},{"volume":3019.0000000000000000,"amount_type":1,"ts":1600952400000,"value":311835.830900000000000000000000000000000000},{"volume":3019.0000000000000000,"amount_type":1,"ts":1600948800000,"value":311835.830900000000000000000000000000000000},{"volume":3019.0000000000000000,"amount_type":1,"ts":1600945200000,"value":311835.830900000000000000000000000000000000},{"volume":3019.0000000000000000,"amount_type":1,"ts":1600941600000,"value":311835.830900000000000000000000000000000000},{"volume":3019.0000000000000000,"amount_type":1,"ts":1600938000000,"value":311835.830900000000000000000000000000000000},{"volume":3015.0000000000000000,"amount_type":1,"ts":1600934400000,"value":311422.666500000000000000000000000000000000},{"volume":3015.0000000000000000,"amount_type":1,"ts":1600930800000,"value":311422.666500000000000000000000000000000000},{"volume":3013.0000000000000000,"amount_type":1,"ts":1600927200000,"value":311216.084300000000000000000000000000000000},{"volume":3011.0000000000000000,"amount_type":1,"ts":1600923600000,"value":311009.502100000000000000000000000000000000},{"volume":3011.0000000000000000,"amount_type":1,"ts":1600920000000,"value":311009.502100000000000000000000000000000000},{"volume":1858.0000000000000000,"amount_type":1,"ts":1600916400000,"value":191914.863800000000000000000000000000000000},{"volume":1732.0000000000000000,"amount_type":1,"ts":1600912800000,"value":178900.185200000000000000000000000000000000},{"volume":1732.0000000000000000,"amount_type":1,"ts":1600909200000,"value":178900.185200000000000000000000000000000000},{"volume":1732.0000000000000000,"amount_type":1,"ts":1600905600000,"value":178900.185200000000000000000000000000000000},{"volume":1732.0000000000000000,"amount_type":1,"ts":1600902000000,"value":178900.185200000000000000000000000000000000},{"volume":1732.0000000000000000,"amount_type":1,"ts":1600898400000,"value":178900.185200000000000000000000000000000000},{"volume":1732.0000000000000000,"amount_type":1,"ts":1600894800000,"value":178900.185200000000000000000000000000000000},{"volume":1732.0000000000000000,"amount_type":1,"ts":1600891200000,"value":178900.185200000000000000000000000000000000},{"volume":1732.0000000000000000,"amount_type":1,"ts":1600887600000,"value":178900.185200000000000000000000000000000000},{"volume":1732.0000000000000000,"amount_type":1,"ts":1600884000000,"value":178900.185200000000000000000000000000000000},{"volume":1732.0000000000000000,"amount_type":1,"ts":1600880400000,"value":178900.185200000000000000000000000000000000},{"volume":1732.0000000000000000,"amount_type":1,"ts":1600876800000,"value":178900.185200000000000000000000000000000000},{"volume":1732.0000000000000000,"amount_type":1,"ts":1600873200000,"value":178900.185200000000000000000000000000000000},{"volume":1732.0000000000000000,"amount_type":1,"ts":1600869600000,"value":178900.185200000000000000000000000000000000},{"volume":1712.0000000000000000,"amount_type":1,"ts":1600866000000,"value":176834.363200000000000000000000000000000000},{"volume":1712.0000000000000000,"amount_type":1,"ts":1600862400000,"value":176834.363200000000000000000000000000000000},{"volume":1712.0000000000000000,"amount_type":1,"ts":1600858800000,"value":176834.363200000000000000000000000000000000},{"volume":1712.0000000000000000,"amount_type":1,"ts":1600855200000,"value":176834.363200000000000000000000000000000000},{"volume":1712.0000000000000000,"amount_type":1,"ts":1600851600000,"value":176834.363200000000000000000000000000000000},{"volume":1712.0000000000000000,"amount_type":1,"ts":1600848000000,"value":176834.363200000000000000000000000000000000}], + * "contract_code":"BTC-USDT" + */ + private String symbol; + @SerializedName("contract_code") + private String contractCode; + private List tick; + + @AllArgsConstructor + @Data + public static class DataTick { + /** + * "volume": 3019.0000000000000000, + * "amount_type": 1, + * "ts": 1601017200000, + * "value": 311835.830900000000000000000000000000000000 + */ + private BigDecimal volume; + @SerializedName("amount_type") + private Integer amountType; + private Long ts; + } + } +} diff --git a/src/main/java/com/huobi/api/response/coin_swap/market/SwapHistoricalFundingRateResponse.java b/src/main/java/com/huobi/api/response/coin_swap/market/SwapHistoricalFundingRateResponse.java new file mode 100644 index 0000000..379d8a4 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_swap/market/SwapHistoricalFundingRateResponse.java @@ -0,0 +1,66 @@ +package com.huobi.api.response.coin_swap.market; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.util.List; + +@Data +@AllArgsConstructor +public class SwapHistoricalFundingRateResponse { + /** + * "status":"ok", + * "data":{"total_page":2,"current_page":1,"total_size":30,"data":[{"avg_premium_index":"-0.010388926169819728","funding_rate":"-0.003750000000000000","realized_rate":"-0.003750000000000000","funding_time":"1600914600000","contract_code":"BTC-USDT","symbol":"BTC","fee_asset":"USDT"},{"avg_premium_index":"-0.016328444933109609","funding_rate":"-0.003750000000000000","realized_rate":"-0.003750000000000000","funding_time":"1600885800000","contract_code":"BTC-USDT","symbol":"BTC","fee_asset":"USDT"},{"avg_premium_index":"-0.014467677432716085","funding_rate":"-0.003750000000000000","realized_rate":"-0.003750000000000000","funding_time":"1600857000000","contract_code":"BTC-USDT","symbol":"BTC","fee_asset":"USDT"},{"avg_premium_index":"-0.021013287840712665","funding_rate":"-0.003750000000000000","realized_rate":"-0.003750000000000000","funding_time":"1600828200000","contract_code":"BTC-USDT","symbol":"BTC","fee_asset":"USDT"},{"avg_premium_index":"-0.036960721322332192","funding_rate":"-0.003750000000000000","realized_rate":"-0.003750000000000000","funding_time":"1600799400000","contract_code":"BTC-USDT","symbol":"BTC","fee_asset":"USDT"},{"avg_premium_index":"-0.031880470548548157","funding_rate":"-0.003750000000000000","realized_rate":"-0.003750000000000000","funding_time":"1600770600000","contract_code":"BTC-USDT","symbol":"BTC","fee_asset":"USDT"},{"avg_premium_index":"-0.016448475555121002","funding_rate":"-0.003750000000000000","realized_rate":"-0.003750000000000000","funding_time":"1600741800000","contract_code":"BTC-USDT","symbol":"BTC","fee_asset":"USDT"},{"avg_premium_index":"-0.031735615415070584","funding_rate":"0.003750000000000000","realized_rate":"0.003750000000000000","funding_time":"1600713000000","contract_code":"BTC-USDT","symbol":"BTC","fee_asset":"USDT"},{"avg_premium_index":"0.376417725484192043","funding_rate":"-0.003750000000000000","realized_rate":"-0.000931996086105675","funding_time":"1600684200000","contract_code":"BTC-USDT","symbol":"BTC","fee_asset":"USDT"},{"avg_premium_index":"-0.012961454875947187","funding_rate":"0.000100000000000000","realized_rate":"0.000042588726513569","funding_time":"1600656000000","contract_code":"BTC-USDT","symbol":"BTC","fee_asset":"USDT"},{"avg_premium_index":"0.000082683823529411","funding_rate":"0.000100000000000000","realized_rate":"0.000100000000000000","funding_time":"1600655400000","contract_code":"BTC-USDT","symbol":"BTC","fee_asset":"USDT"},{"avg_premium_index":"0.000099374999999999","funding_rate":"0.000100000000000000","realized_rate":"0.000100000000000000","funding_time":"1600654200000","contract_code":"BTC-USDT","symbol":"BTC","fee_asset":"USDT"},{"avg_premium_index":"0.000099374999999999","funding_rate":"0.000100000000000000","realized_rate":"0.000100000000000000","funding_time":"1600625400000","contract_code":"BTC-USDT","symbol":"BTC","fee_asset":"USDT"},{"avg_premium_index":"0.000097045898437500","funding_rate":"0.000097656250000001","realized_rate":"0.000097656250000001","funding_time":"1600596600000","contract_code":"BTC-USDT","symbol":"BTC","fee_asset":"USDT"},{"avg_premium_index":"-0.000402343749999999","funding_rate":"-0.003750000000000000","realized_rate":"-0.003750000000000000","funding_time":"1600567800000","contract_code":"BTC-USDT","symbol":"BTC","fee_asset":"USDT"},{"avg_premium_index":"-0.006687521793045953","funding_rate":"-0.003750000000000000","realized_rate":"-0.003750000000000000","funding_time":"1600539000000","contract_code":"BTC-USDT","symbol":"BTC","fee_asset":"USDT"},{"avg_premium_index":"-0.085864269062858537","funding_rate":"-0.003750000000000000","realized_rate":"-0.003750000000000000","funding_time":"1600510200000","contract_code":"BTC-USDT","symbol":"BTC","fee_asset":"USDT"},{"avg_premium_index":"-0.179787704920770161","funding_rate":"-0.003750000000000000","realized_rate":"-0.003750000000000000","funding_time":"1600481400000","contract_code":"BTC-USDT","symbol":"BTC","fee_asset":"USDT"},{"avg_premium_index":"-0.190067851972243281","funding_rate":"-0.003750000000000000","realized_rate":"-0.003750000000000000","funding_time":"1600452600000","contract_code":"BTC-USDT","symbol":"BTC","fee_asset":"USDT"},{"avg_premium_index":"-0.096094761244176491","funding_rate":"-0.002198437499999999","realized_rate":"-0.002198437499999998","funding_time":"1600423800000","contract_code":"BTC-USDT","symbol":"BTC","fee_asset":"USDT"}]}, + * "ts":1601018192135 + */ + private String status; + private Long ts; + private List data; + + @Data + @AllArgsConstructor + public static class DataBean { + /** + * "total_page":2, + * "current_page":1, + * "total_size":30, + * "data":[{"avg_premium_index":"-0.010388926169819728","funding_rate":"-0.003750000000000000","realized_rate":"-0.003750000000000000","funding_time":"1600914600000","contract_code":"BTC-USDT","symbol":"BTC","fee_asset":"USDT"},{"avg_premium_index":"-0.016328444933109609","funding_rate":"-0.003750000000000000","realized_rate":"-0.003750000000000000","funding_time":"1600885800000","contract_code":"BTC-USDT","symbol":"BTC","fee_asset":"USDT"},{"avg_premium_index":"-0.014467677432716085","funding_rate":"-0.003750000000000000","realized_rate":"-0.003750000000000000","funding_time":"1600857000000","contract_code":"BTC-USDT","symbol":"BTC","fee_asset":"USDT"},{"avg_premium_index":"-0.021013287840712665","funding_rate":"-0.003750000000000000","realized_rate":"-0.003750000000000000","funding_time":"1600828200000","contract_code":"BTC-USDT","symbol":"BTC","fee_asset":"USDT"},{"avg_premium_index":"-0.036960721322332192","funding_rate":"-0.003750000000000000","realized_rate":"-0.003750000000000000","funding_time":"1600799400000","contract_code":"BTC-USDT","symbol":"BTC","fee_asset":"USDT"},{"avg_premium_index":"-0.031880470548548157","funding_rate":"-0.003750000000000000","realized_rate":"-0.003750000000000000","funding_time":"1600770600000","contract_code":"BTC-USDT","symbol":"BTC","fee_asset":"USDT"},{"avg_premium_index":"-0.016448475555121002","funding_rate":"-0.003750000000000000","realized_rate":"-0.003750000000000000","funding_time":"1600741800000","contract_code":"BTC-USDT","symbol":"BTC","fee_asset":"USDT"},{"avg_premium_index":"-0.031735615415070584","funding_rate":"0.003750000000000000","realized_rate":"0.003750000000000000","funding_time":"1600713000000","contract_code":"BTC-USDT","symbol":"BTC","fee_asset":"USDT"},{"avg_premium_index":"0.376417725484192043","funding_rate":"-0.003750000000000000","realized_rate":"-0.000931996086105675","funding_time":"1600684200000","contract_code":"BTC-USDT","symbol":"BTC","fee_asset":"USDT"},{"avg_premium_index":"-0.012961454875947187","funding_rate":"0.000100000000000000","realized_rate":"0.000042588726513569","funding_time":"1600656000000","contract_code":"BTC-USDT","symbol":"BTC","fee_asset":"USDT"},{"avg_premium_index":"0.000082683823529411","funding_rate":"0.000100000000000000","realized_rate":"0.000100000000000000","funding_time":"1600655400000","contract_code":"BTC-USDT","symbol":"BTC","fee_asset":"USDT"},{"avg_premium_index":"0.000099374999999999","funding_rate":"0.000100000000000000","realized_rate":"0.000100000000000000","funding_time":"1600654200000","contract_code":"BTC-USDT","symbol":"BTC","fee_asset":"USDT"},{"avg_premium_index":"0.000099374999999999","funding_rate":"0.000100000000000000","realized_rate":"0.000100000000000000","funding_time":"1600625400000","contract_code":"BTC-USDT","symbol":"BTC","fee_asset":"USDT"},{"avg_premium_index":"0.000097045898437500","funding_rate":"0.000097656250000001","realized_rate":"0.000097656250000001","funding_time":"1600596600000","contract_code":"BTC-USDT","symbol":"BTC","fee_asset":"USDT"},{"avg_premium_index":"-0.000402343749999999","funding_rate":"-0.003750000000000000","realized_rate":"-0.003750000000000000","funding_time":"1600567800000","contract_code":"BTC-USDT","symbol":"BTC","fee_asset":"USDT"},{"avg_premium_index":"-0.006687521793045953","funding_rate":"-0.003750000000000000","realized_rate":"-0.003750000000000000","funding_time":"1600539000000","contract_code":"BTC-USDT","symbol":"BTC","fee_asset":"USDT"},{"avg_premium_index":"-0.085864269062858537","funding_rate":"-0.003750000000000000","realized_rate":"-0.003750000000000000","funding_time":"1600510200000","contract_code":"BTC-USDT","symbol":"BTC","fee_asset":"USDT"},{"avg_premium_index":"-0.179787704920770161","funding_rate":"-0.003750000000000000","realized_rate":"-0.003750000000000000","funding_time":"1600481400000","contract_code":"BTC-USDT","symbol":"BTC","fee_asset":"USDT"},{"avg_premium_index":"-0.190067851972243281","funding_rate":"-0.003750000000000000","realized_rate":"-0.003750000000000000","funding_time":"1600452600000","contract_code":"BTC-USDT","symbol":"BTC","fee_asset":"USDT"},{"avg_premium_index":"-0.096094761244176491","funding_rate":"-0.002198437499999999","realized_rate":"-0.002198437499999998","funding_time":"1600423800000","contract_code":"BTC-USDT","symbol":"BTC","fee_asset":"USDT"}] + */ + @SerializedName("current_page") + private Integer currentPage; + @SerializedName("total_page") + private Integer totalPage; + @SerializedName("total_size") + private Integer totalSize; + private List data; + + @Data + @AllArgsConstructor + public static class DataBeanToo { + /** + * "avg_premium_index": "-0.010388926169819728", + * "funding_rate": "-0.003750000000000000", + * "realized_rate": "-0.003750000000000000", + * "funding_time": "1600914600000", + * "contract_code": "BTC-USDT", + * "symbol": "BTC", + * "fee_asset": "USDT" + */ + private String symbol; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("fee_asset") + private String feeAsset; + @SerializedName("funding_time") + private String fundingTime; + @SerializedName("funding_rate") + private String fundingRate; + @SerializedName("realized_rate") + private String realizedRate; + @SerializedName("avg_premium_index") + private String avgPremiumIndex; + + } + } +} diff --git a/src/main/java/com/huobi/api/response/coin_swap/market/SwapIndexResponse.java b/src/main/java/com/huobi/api/response/coin_swap/market/SwapIndexResponse.java new file mode 100644 index 0000000..182fd56 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_swap/market/SwapIndexResponse.java @@ -0,0 +1,44 @@ +package com.huobi.api.response.coin_swap.market; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class SwapIndexResponse { + + + /** + * "status":"ok", + * "data":[{"index_price":2.511570651667777777,"index_ts":1601018304058,"contract_code":"EOS-USDT"},{"index_price":10692.295000000000000000,"index_ts":1601018304058,"contract_code":"BTC-USDT"},{"index_price":343.444333333333333333,"index_ts":1601018304058,"contract_code":"ETH-USDT"},{"index_price":44.668389480000000000,"index_ts":1601018304058,"contract_code":"LTC-USDT"}], + * "ts":1601018311032 + */ + + private String status; + private Long ts; + private List data; + + + @Data + @AllArgsConstructor + public static class DataBean { + /** + * "index_price": 2.511570651667777777, + * "index_ts": 1601018304058, + * "contract_code": "EOS-USDT" + */ + + + @SerializedName("contract_code") + private String contractCode; + @SerializedName("index_price") + private BigDecimal indexPrice; + @SerializedName("index_ts") + private Long indexTs; + + } +} diff --git a/src/main/java/com/huobi/api/response/coin_swap/market/SwapInsuranceFundResponse.java b/src/main/java/com/huobi/api/response/coin_swap/market/SwapInsuranceFundResponse.java new file mode 100644 index 0000000..01f712d --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_swap/market/SwapInsuranceFundResponse.java @@ -0,0 +1,57 @@ +package com.huobi.api.response.coin_swap.market; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@AllArgsConstructor +@Data +public class SwapInsuranceFundResponse { + /** + * "status":"ok", + * "data":{"total_page":1,"current_page":1,"total_size":7,"symbol":"BTC","contract_code":"BTC-USDT","tick":[{"insurance_fund":41963.382117457142308280,"ts":1600848000000},{"insurance_fund":42316.933563632142308280,"ts":1600761600000},{"insurance_fund":0.304558816785937313,"ts":1600675200000},{"insurance_fund":31.571897276974710720,"ts":1600588800000},{"insurance_fund":30.893039931974710720,"ts":1600502400000},{"insurance_fund":177.291633869887498433,"ts":1600416000000},{"insurance_fund":0E-18,"ts":1600329600000}]}, + * "ts":1601018382189 + */ + private String status; + private Long ts; + private List data; + + @AllArgsConstructor + @Data + public static class DataBean { + /** + * "total_page":1, + * "current_page":1, + * "total_size":7, + * "symbol":"BTC", + * "contract_code":"BTC-USDT", + * "tick":[{"insurance_fund":41963.382117457142308280,"ts":1600848000000},{"insurance_fund":42316.933563632142308280,"ts":1600761600000},{"insurance_fund":0.304558816785937313,"ts":1600675200000},{"insurance_fund":31.571897276974710720,"ts":1600588800000},{"insurance_fund":30.893039931974710720,"ts":1600502400000},{"insurance_fund":177.291633869887498433,"ts":1600416000000}] + */ + private String symbol; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("total_page") + private Integer totalPage; + @SerializedName("current_page") + private Integer currentPage; + @SerializedName("total_size") + private Integer totalSize; + private List tick; + + @AllArgsConstructor + @Data + public static class DataTick { + /** + * "insurance_fund": 41963.382117457142308280, + * "ts": 1600848000000 + */ + @SerializedName("insurance_fund") + private BigDecimal insuranceFund; + private Long ts; + } + + } +} diff --git a/src/main/java/com/huobi/api/response/coin_swap/market/SwapLadderMarginResponse.java b/src/main/java/com/huobi/api/response/coin_swap/market/SwapLadderMarginResponse.java new file mode 100644 index 0000000..c48f71a --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_swap/market/SwapLadderMarginResponse.java @@ -0,0 +1,52 @@ +package com.huobi.api.response.coin_swap.market; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Builder +@AllArgsConstructor +@Data +public class SwapLadderMarginResponse { + private String status; + private Long ts; + private List data; + + @Builder + @AllArgsConstructor + @Data + public static class DataBean{ + private String symbol; + @SerializedName("contract_code") + private String contractCode; + private List list; + + @Builder + @AllArgsConstructor + @Data + public static class ListBean{ + @SerializedName("lever_rate") + private Integer leverRate; + private List ladders; + + @Builder + @AllArgsConstructor + @Data + public static class LaddersBean{ + @SerializedName("min_margin_balance") + private BigDecimal minMarginBalance; + @SerializedName("max_margin_balance") + private BigDecimal maxMarginBalance; + @SerializedName("min_margin_available") + private BigDecimal minMarginAvailable; + @SerializedName("max_margin_available") + private BigDecimal maxMarginAvailable; + } + } + + } +} diff --git a/src/main/java/com/huobi/api/response/coin_swap/market/SwapLiquidationOrdersResponse.java b/src/main/java/com/huobi/api/response/coin_swap/market/SwapLiquidationOrdersResponse.java new file mode 100644 index 0000000..79c54d3 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_swap/market/SwapLiquidationOrdersResponse.java @@ -0,0 +1,63 @@ +package com.huobi.api.response.coin_swap.market; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class SwapLiquidationOrdersResponse { + /** + * "status":"ok", + * "data":{"orders":[{"contract_code":"BTC-USDT","symbol":"BTC","direction":"buy","offset":"close","volume":23.000000000000000000,"price":10328.572000000000000000,"created_at":1600830703914},{"contract_code":"BTC-USDT","symbol":"BTC","direction":"buy","offset":"close","volume":25.000000000000000000,"price":10722.568000000000000000,"created_at":1600828041370},{"contract_code":"BTC-USDT","symbol":"BTC","direction":"sell","offset":"close","volume":100.000000000000000000,"price":10002.078000000000000000,"created_at":1600690922043},{"contract_code":"BTC-USDT","symbol":"BTC","direction":"sell","offset":"close","volume":1.000000000000000000,"price":21033.111000000000000000,"created_at":1600679036268},{"contract_code":"BTC-USDT","symbol":"BTC","direction":"buy","offset":"close","volume":1.000000000000000000,"price":19832.308000000000000000,"created_at":1600678799886},{"contract_code":"BTC-USDT","symbol":"BTC","direction":"buy","offset":"close","volume":201.000000000000000000,"price":15632.480000000000000000,"created_at":1600676530877},{"contract_code":"BTC-USDT","symbol":"BTC","direction":"buy","offset":"close","volume":599.000000000000000000,"price":10282.900000000000000000,"created_at":1600657031742},{"contract_code":"BTC-USDT","symbol":"BTC","direction":"sell","offset":"close","volume":471.000000000000000000,"price":10520.375000000000000000,"created_at":1600655949031},{"contract_code":"BTC-USDT","symbol":"BTC","direction":"buy","offset":"close","volume":358.000000000000000000,"price":9194.132000000000000000,"created_at":1600655647171},{"contract_code":"BTC-USDT","symbol":"BTC","direction":"buy","offset":"close","volume":222.000000000000000000,"price":9471.500000000000000000,"created_at":1600655142536},{"contract_code":"BTC-USDT","symbol":"BTC","direction":"sell","offset":"close","volume":21.000000000000000000,"price":9232.214000000000000000,"created_at":1600654913815},{"contract_code":"BTC-USDT","symbol":"BTC","direction":"sell","offset":"close","volume":619.000000000000000000,"price":9919.489000000000000000,"created_at":1600423072360},{"contract_code":"BTC-USDT","symbol":"BTC","direction":"sell","offset":"close","volume":8.000000000000000000,"price":8928.000000000000000000,"created_at":1600422505990}],"total_page":1,"current_page":1,"total_size":13}, + * "ts":1601018556060 + */ + private String status; + private Long ts; + private List data; + + @Data + @AllArgsConstructor + public static class DataBean { + /** + * "orders":[{"contract_code":"BTC-USDT","symbol":"BTC","direction":"buy","offset":"close","volume":23.000000000000000000,"price":10328.572000000000000000,"created_at":1600830703914},{"contract_code":"BTC-USDT","symbol":"BTC","direction":"buy","offset":"close","volume":25.000000000000000000,"price":10722.568000000000000000,"created_at":1600828041370},{"contract_code":"BTC-USDT","symbol":"BTC","direction":"sell","offset":"close","volume":100.000000000000000000,"price":10002.078000000000000000,"created_at":1600690922043},{"contract_code":"BTC-USDT","symbol":"BTC","direction":"sell","offset":"close","volume":1.000000000000000000,"price":21033.111000000000000000,"created_at":1600679036268},{"contract_code":"BTC-USDT","symbol":"BTC","direction":"buy","offset":"close","volume":1.000000000000000000,"price":19832.308000000000000000,"created_at":1600678799886},{"contract_code":"BTC-USDT","symbol":"BTC","direction":"buy","offset":"close","volume":201.000000000000000000,"price":15632.480000000000000000,"created_at":1600676530877},{"contract_code":"BTC-USDT","symbol":"BTC","direction":"buy","offset":"close","volume":599.000000000000000000,"price":10282.900000000000000000,"created_at":1600657031742},{"contract_code":"BTC-USDT","symbol":"BTC","direction":"sell","offset":"close","volume":471.000000000000000000,"price":10520.375000000000000000,"created_at":1600655949031},{"contract_code":"BTC-USDT","symbol":"BTC","direction":"buy","offset":"close","volume":358.000000000000000000,"price":9194.132000000000000000,"created_at":1600655647171},{"contract_code":"BTC-USDT","symbol":"BTC","direction":"buy","offset":"close","volume":222.000000000000000000,"price":9471.500000000000000000,"created_at":1600655142536},{"contract_code":"BTC-USDT","symbol":"BTC","direction":"sell","offset":"close","volume":21.000000000000000000,"price":9232.214000000000000000,"created_at":1600654913815},{"contract_code":"BTC-USDT","symbol":"BTC","direction":"sell","offset":"close","volume":619.000000000000000000,"price":9919.489000000000000000,"created_at":1600423072360},{"contract_code":"BTC-USDT","symbol":"BTC","direction":"sell","offset":"close","volume":8.000000000000000000,"price":8928.000000000000000000,"created_at":1600422505990}], + * "total_page":1, + * "current_page":1, + * "total_size":13 + */ + @SerializedName("total_page") + private Integer totalPage; + @SerializedName("current_page") + private Integer currentPage; + @SerializedName("total_size") + private Integer totalSize; + private List orders; + + @Data + @AllArgsConstructor + public static class Orders { + /** + * "contract_code": "BTC-USDT", + * "symbol": "BTC", + * "direction": "buy", + * "offset": "close", + * "volume": 23.000000000000000000, + * "price": 10328.572000000000000000, + * "created_at": 1600830703914 + */ + private String symbol; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("created_at") + private Long createdAt; + private String direction; + private String offset; + private BigDecimal price; + private BigDecimal volume; + + } + } +} diff --git a/src/main/java/com/huobi/api/response/coin_swap/market/SwapMarkPriceKlineResponse.java b/src/main/java/com/huobi/api/response/coin_swap/market/SwapMarkPriceKlineResponse.java new file mode 100644 index 0000000..309ea2c --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_swap/market/SwapMarkPriceKlineResponse.java @@ -0,0 +1,34 @@ +package com.huobi.api.response.coin_swap.market; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.util.List; + +@AllArgsConstructor +@Builder +@Data +public class SwapMarkPriceKlineResponse { + private String status; + private Long ts ; + private List data; + + @Builder + @Data + @AllArgsConstructor + public static class DataBean{ + private Long id; + private String vol; + private String count; + private String open; + private String close; + private String low; + private String high; + private String amount; + @SerializedName("trade_turnover") + private String tradeTurnover; + + } +} diff --git a/src/main/java/com/huobi/api/response/coin_swap/market/SwapMarketDepthResponse.java b/src/main/java/com/huobi/api/response/coin_swap/market/SwapMarketDepthResponse.java new file mode 100644 index 0000000..d36177d --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_swap/market/SwapMarketDepthResponse.java @@ -0,0 +1,47 @@ +package com.huobi.api.response.coin_swap.market; + +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class SwapMarketDepthResponse { + + /** + * "ch":"market.BTC-USDT.depth.step0", + * "status":"ok", + * "tick":{"asks":[[10329.11,26],[10329.12,100],[10329.13,100],[10329.14,100],[10329.15,100],[10329.16,100],[10329.18,100],[10329.19,100],[10329.2,101],[10329.21,102],[10329.22,101],[10329.222,1000],[10329.23,1100],[10329.24,1100],[10329.25,2000],[10329.26,1000],[10329.27,1000],[10329.3,100],[10329.4,100],[10329.5,100],[10329.6,100],[10329.7,100],[10329.8,100],[10329.9,100],[11100,100],[11100.1,100],[11329,100],[11329.1,100]],"bids":[[10328.993,814],[10328.992,1000],[10328.991,1000],[10328.98,1000],[10328.97,1000],[10328.96,1000],[10328.95,1000],[10328.94,1000],[10328.93,1000],[10328.92,1000],[10328.91,1000],[10328.9,1000],[10328.8,100],[10328.7,100],[10328.6,100],[10328.5,100],[10328.4,100],[10328.3,100],[10328.2,100],[10328.1,100],[10327.9,100],[10327.8,100],[10327.7,100],[10327.6,100],[10327.5,100],[10327.4,100],[10327.3,100],[10327.2,100],[10327.1,100],[10327,1],[10301.137,18],[10000,11],[9999,1000],[6000,85],[1111,1],[222,486]],"ch":"market.BTC-USDT.depth.step0","id":1601018648,"mrid":14502,"ts":1601018648094,"version":1601018648}, + * "ts":1601018648433 + */ + + private String ch; + private String status; + private List tick; + private Long ts; + + @Data + @AllArgsConstructor + public static class TickBean { + /** + * "asks":[[10329.11,26],[10329.12,100],[10329.13,100],[10329.14,100],[10329.15,100],[10329.16,100],[10329.18,100],[10329.19,100],[10329.2,101],[10329.21,102],[10329.22,101],[10329.222,1000],[10329.23,1100],[10329.24,1100],[10329.25,2000],[10329.26,1000],[10329.27,1000],[10329.3,100],[10329.4,100],[10329.5,100],[10329.6,100],[10329.7,100],[10329.8,100],[10329.9,100],[11100,100],[11100.1,100],[11329,100],[11329.1,100]], + * "bids":[[10328.993,814],[10328.992,1000],[10328.991,1000],[10328.98,1000],[10328.97,1000],[10328.96,1000],[10328.95,1000],[10328.94,1000],[10328.93,1000],[10328.92,1000],[10328.91,1000],[10328.9,1000],[10328.8,100],[10328.7,100],[10328.6,100],[10328.5,100],[10328.4,100],[10328.3,100],[10328.2,100],[10328.1,100],[10327.9,100],[10327.8,100],[10327.7,100],[10327.6,100],[10327.5,100],[10327.4,100],[10327.3,100],[10327.2,100],[10327.1,100],[10327,1],[10301.137,18],[10000,11],[9999,1000],[6000,85],[1111,1],[222,486]], + * "ch":"market.BTC-USDT.depth.step0", + * "id":1601018648, + * "mrid":14502, + * "ts":1601018648094, + * "version":1601018648 + */ + + private String ch; + private Integer id; + private Long mrid; + private Long ts; + private Integer version; + private List asks; + private List bids; + + } +} diff --git a/src/main/java/com/huobi/api/response/coin_swap/market/SwapMarketDetailMergedResponse.java b/src/main/java/com/huobi/api/response/coin_swap/market/SwapMarketDetailMergedResponse.java new file mode 100644 index 0000000..f68ae47 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_swap/market/SwapMarketDetailMergedResponse.java @@ -0,0 +1,61 @@ +package com.huobi.api.response.coin_swap.market; + +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class SwapMarketDetailMergedResponse { + + /** + * "ch":"market.BTC-USDT.detail.merged", + * "status":"ok", + * "tick":{"amount":"0.16","ask":[10329.11,26],"bid":[10328.993,814],"close":"10329.11","count":6,"high":"10329.11","id":1601018901,"low":"10329.11","open":"10329.11","trade_turnover":"1652.65526","ts":1601018902224,"vol":"16"}, + * "ts":1601018902224 + */ + + private String ch; + private String status; + private List tick; + private Long ts; + + @Data + @AllArgsConstructor + public static class TickBean { + /** + * "amount":"0.16", + * "ask":[ + * 10329.11, + * 26 + * ], + * "bid":[ + * 10328.993, + * 814 + * ], + * "close":"10329.11", + * "count":6, + * "high":"10329.11", + * "id":1601018901, + * "low":"10329.11", + * "open":"10329.11", + * "trade_turnover":"1652.65526", + * "ts":1601018902224, + * "vol":"16" + */ + + private String amount; + private String close; + private Integer count; + private String high; + private Integer id; + private String low; + private String open; + private Long ts; + private String vol; + private BigDecimal[] ask; + private BigDecimal[] bid; + } +} diff --git a/src/main/java/com/huobi/api/response/coin_swap/market/SwapMarketHistoryKlineResponse.java b/src/main/java/com/huobi/api/response/coin_swap/market/SwapMarketHistoryKlineResponse.java new file mode 100644 index 0000000..556a8c0 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_swap/market/SwapMarketHistoryKlineResponse.java @@ -0,0 +1,50 @@ +package com.huobi.api.response.coin_swap.market; + +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class SwapMarketHistoryKlineResponse { + + /** + * "ch":"market.BTC-USDT.kline.15min", + * "data":[{"amount":0,"close":10329.11,"count":0,"high":10329.11,"id":1601019000,"low":10329.11,"open":10329.11,"trade_turnover":0,"vol":0}], + * "status":"ok", + * "ts":1601019041617 + */ + + private String ch; + private String status; + private Long ts; + private List data; + + @Data + @AllArgsConstructor + public static class DataBean { + /** + * "amount":0, + * "close":10329.11, + * "count":0, + * "high":10329.11, + * "id":1601019000, + * "low":10329.11, + * "open":10329.11, + * "trade_turnover":0, + * "vol":0 + */ + + private BigDecimal amount; + private BigDecimal close; + private BigDecimal count; + private BigDecimal high; + private Long id; + private BigDecimal low; + private BigDecimal open; + private BigDecimal vol; + + } +} diff --git a/src/main/java/com/huobi/api/response/coin_swap/market/SwapMarketHistoryTradeResponse.java b/src/main/java/com/huobi/api/response/coin_swap/market/SwapMarketHistoryTradeResponse.java new file mode 100644 index 0000000..7cdb2bf --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_swap/market/SwapMarketHistoryTradeResponse.java @@ -0,0 +1,56 @@ +package com.huobi.api.response.coin_swap.market; + +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class SwapMarketHistoryTradeResponse { + /** + * {"ch":"market.BTC-USDT.trade.detail", + * "data":[{"data":[{"amount":2,"direction":"sell","id":80000,"price":10000,"ts":1600326764039}],"id":8,"ts":1600326764039}], + * "status":"ok", + * "ts":1601019116673} + */ + + private String ch; + private String status; + private Long ts; + private List data; + + @Data + @AllArgsConstructor + public static class DataBeanX { + /** + * "data":[{"amount":2,"direction":"sell","id":80000,"price":10000,"ts":1600326764039}], + * "id":8, + * "ts":1600326764039 + */ + + private Long id; + private Long ts; + private List data; + + @Data + @AllArgsConstructor + public static class DataBean { + /** + * "amount":2, + * "direction":"sell", + * "id":80000, + * "price":10000, + * "ts":1600326764039 + */ + + private Integer amount; + private String direction; + private Long id; + private BigDecimal price; + private Long ts; + private BigDecimal quantity; + } + } +} diff --git a/src/main/java/com/huobi/api/response/coin_swap/market/SwapMarketTradeResponse.java b/src/main/java/com/huobi/api/response/coin_swap/market/SwapMarketTradeResponse.java new file mode 100644 index 0000000..738c1db --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_swap/market/SwapMarketTradeResponse.java @@ -0,0 +1,58 @@ +package com.huobi.api.response.coin_swap.market; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.util.List; + +@Data +@AllArgsConstructor +public class SwapMarketTradeResponse { + /** + * "ch":"market.BTC-USDT.trade.detail", + * "status":"ok", + * "tick":{"data":[{"amount":"2","ts":1600326764039,"id":80000,"price":"10000","direction":"sell"}],"id":1601019237738,"ts":1601019237738}, + * "ts":1601019237738 + */ + + private String ch; + private String status; + private List tick; + private Long ts; + + @Data + @AllArgsConstructor + public static class TickBean { + /** + * "data":[{"amount":"2","ts":1600326764039,"id":80000,"price":"10000","direction":"sell"}], + * "id":1601019237738, + * "ts":1601019237738 + */ + + private Long id; + private Long ts; + private List data; + + @Data + @AllArgsConstructor + public static class DataBean { + /** + * "amount":"2", + * "ts":1600326764039, + * "id":80000, + * "price":"10000", + * "direction":"sell" + */ + + private String amount; + private String direction; + private Long id; + private String price; + private Long ts; + private String quantity; + @SerializedName("contractCode") + private String contractCode; + } + } +} diff --git a/src/main/java/com/huobi/api/response/coin_swap/market/SwapOpenInterestResponse.java b/src/main/java/com/huobi/api/response/coin_swap/market/SwapOpenInterestResponse.java new file mode 100644 index 0000000..3ccae70 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_swap/market/SwapOpenInterestResponse.java @@ -0,0 +1,47 @@ +package com.huobi.api.response.coin_swap.market; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class SwapOpenInterestResponse { + /** + * {"status":"ok", + * "data":[{"volume":3019.000000000000000000,"amount":30.190000000000000000,"symbol":"BTC","value":311835.830900000000000000,"contract_code":"BTC-USDT"}], + * "ts":1601019319454} + */ + + private String status; + private List data; + private Long ts; + + + @Data + @AllArgsConstructor + public static class DataBean { + /** + * "volume":3019, + * "amount":30.19, + * "symbol":"BTC", + * "value":311835.8309, + * "contract_code":"BTC-USDT" + */ + + private String symbol; + @SerializedName("contract_code") + private String contractCode; + private BigDecimal amount; + private BigDecimal volume; + @SerializedName("trade_amount") + private BigDecimal tradeAmount; + @SerializedName("trade_volume") + private BigDecimal tradeVolume; + @SerializedName("trade_turnover") + private BigDecimal tradeTurnover; + } +} diff --git a/src/main/java/com/huobi/api/response/coin_swap/market/SwapPriceLimitResponse.java b/src/main/java/com/huobi/api/response/coin_swap/market/SwapPriceLimitResponse.java new file mode 100644 index 0000000..081ce3d --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_swap/market/SwapPriceLimitResponse.java @@ -0,0 +1,43 @@ +package com.huobi.api.response.coin_swap.market; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class SwapPriceLimitResponse { + + /** + * "status":"ok", + * "data":[{"symbol":"BTC","contract_code":"BTC-USDT","high_limit":13426.521000000000000000000000000000000000,"low_limit":7229.666000000000000000000000000000000000}], + * "ts":1601019419740 + */ + + private String status; + private Long ts; + private List data; + + + @Data + @AllArgsConstructor + public static class DataBean { + /** + * "symbol":"BTC", + * "contract_code":"BTC-USDT", + * "high_limit":13426.521, + * "low_limit":7229.666 + */ + private String symbol; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("high_limit") + private BigDecimal highLimit; + @SerializedName("low_limit") + private BigDecimal lowLimit; + + } +} diff --git a/src/main/java/com/huobi/api/response/coin_swap/market/SwapRiskInfoResponse.java b/src/main/java/com/huobi/api/response/coin_swap/market/SwapRiskInfoResponse.java new file mode 100644 index 0000000..be5d544 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_swap/market/SwapRiskInfoResponse.java @@ -0,0 +1,37 @@ +package com.huobi.api.response.coin_swap.market; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + + +@Data +@AllArgsConstructor +public class SwapRiskInfoResponse { + /** + * "status":"ok", + * "data":[{"contract_code":"ETH-USDT","insurance_fund":100.782337804006920168,"estimated_clawback":0E-18},{"contract_code":"LTC-USDT","insurance_fund":1.985216184462474471,"estimated_clawback":0E-18},{"contract_code":"EOS-USDT","insurance_fund":105.000000000000000000,"estimated_clawback":0E-18},{"contract_code":"BTC-USDT","insurance_fund":41963.382117457142308280,"estimated_clawback":0E-18}], + * "ts":1601019477530 + */ + private String status; + private Long ts; + private List data; + + @Data + @AllArgsConstructor + public static class DataBean { + /** + * "contract_code":"ETH-USDT", + * "insurance_fund":100.782337804006920168, + * "estimated_clawback":0 + */ + private String contractCode; + @SerializedName("insurance_fund") + private BigDecimal insuranceFund; + @SerializedName("estimated_clawback") + private BigDecimal estimatedClawback; + } +} diff --git a/src/main/java/com/huobi/api/response/coin_swap/market/TimestampReponse.java b/src/main/java/com/huobi/api/response/coin_swap/market/TimestampReponse.java new file mode 100644 index 0000000..15aeb2e --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_swap/market/TimestampReponse.java @@ -0,0 +1,13 @@ +package com.huobi.api.response.coin_swap.market; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +@Builder +@AllArgsConstructor +@Data +public class TimestampReponse { + private String status; + private Long ts; +} diff --git a/src/main/java/com/huobi/api/response/coin_swap/trade/SwapBatchorderResponse.java b/src/main/java/com/huobi/api/response/coin_swap/trade/SwapBatchorderResponse.java new file mode 100644 index 0000000..da9b9ff --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_swap/trade/SwapBatchorderResponse.java @@ -0,0 +1,70 @@ +package com.huobi.api.response.coin_swap.trade; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.util.List; + +@Data +@AllArgsConstructor +public class SwapBatchorderResponse { + + /** + * "status":"ok", + * "data":{"errors":[{"index":1,"err_code":1056,"err_msg":"In settlement. Your order can’t be placed/withdrew currently."}],"success":[{"order_id":759077085095710720,"index":2,"order_id_str":"759077085095710720"}]}, + * "ts":1601019680091 + */ + + private String status; + private DataBean data; + private Long ts; + + @Data + @AllArgsConstructor + public static class DataBean { + /** + * "errors":[{"index":1,"err_code":1056,"err_msg":"In settlement. Your order can’t be placed/withdrew currently."}], + * "success":[{"order_id":759077085095710720,"index":2,"order_id_str":"759077085095710720"} + */ + + private List errors; + private List success; + + @Data + @AllArgsConstructor + public static class ErrorsBean { + /** + * "index":1, + * "err_code":1056, + * "err_msg":"In settlement. Your order can’t be placed/withdrew currently." + */ + + private Integer index; + @SerializedName("err_code") + private Integer errCode; + @SerializedName("err_msg") + private String errMsg; + + } + + @Data + @AllArgsConstructor + public static class SuccessBean { + /** + * "order_id":759077085095710720, + * "index":2, + * "order_id_str":"759077085095710720" + */ + + private Integer index; + @SerializedName("order_id") + private Long orderId; + @SerializedName("order_id_str") + private String orderIdStr; + @SerializedName("client_order_id") + private Long clientOrderId; + + } + } +} diff --git a/src/main/java/com/huobi/api/response/coin_swap/trade/SwapCancelAfterResponse.java b/src/main/java/com/huobi/api/response/coin_swap/trade/SwapCancelAfterResponse.java new file mode 100644 index 0000000..ea43f14 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_swap/trade/SwapCancelAfterResponse.java @@ -0,0 +1,27 @@ +package com.huobi.api.response.coin_swap.trade; + + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.util.List; + +@Builder +@AllArgsConstructor +@Data +public class SwapCancelAfterResponse { + private Integer code; + private String msg; + private Long ts; + private List data; + @Data + @AllArgsConstructor + public static class DataBean { + @SerializedName("current_time") + private Long currentTime; + @SerializedName("trigger_time") + private Long triggerTime; + } +} diff --git a/src/main/java/com/huobi/api/response/coin_swap/trade/SwapCancelResponse.java b/src/main/java/com/huobi/api/response/coin_swap/trade/SwapCancelResponse.java new file mode 100644 index 0000000..262a03e --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_swap/trade/SwapCancelResponse.java @@ -0,0 +1,53 @@ +package com.huobi.api.response.coin_swap.trade; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.util.List; + +@Data +@AllArgsConstructor +public class SwapCancelResponse { + + /** + * "status":"ok", + * "data":{"errors":[],"successes":"759079310895403008"}, + * "ts":1601020241514 + */ + + private String status; + private DataBean data; + private Long ts; + + + @Data + @AllArgsConstructor + public static class DataBean { + + /** + * "errors":[], + * "successes":"759079310895403008" + */ + + private List errors; + private String successes; + + + @Data + @AllArgsConstructor + public static class ErrorsBean { + /** + * + */ + + @SerializedName("order_id") + private String orderId; + @SerializedName("err_code") + private Integer errCode; + @SerializedName("err_msg") + private String errMsg; + + } + } +} diff --git a/src/main/java/com/huobi/api/response/coin_swap/trade/SwapCancelallResponse.java b/src/main/java/com/huobi/api/response/coin_swap/trade/SwapCancelallResponse.java new file mode 100644 index 0000000..7825150 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_swap/trade/SwapCancelallResponse.java @@ -0,0 +1,49 @@ +package com.huobi.api.response.coin_swap.trade; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.util.List; + +@Data +@AllArgsConstructor +public class SwapCancelallResponse { + /** + * "status":"ok", + * "data":{"errors":[],"successes":"759077984358682624"}, + * "ts":1601019981727 + */ + + private String status; + private DataBean data; + private Long ts; + + @Data + @AllArgsConstructor + public static class DataBean { + + /** + * "errors":[], + * "successes":"759077984358682624" + */ + private List errors; + private String successes; + + @Data + @AllArgsConstructor + public static class ErrorsBean { + /** + * + */ + + @SerializedName("order_id") + private String orderId; + @SerializedName("err_code") + private Integer errCode; + @SerializedName("err_msg") + private String errMsg; + + } + } +} diff --git a/src/main/java/com/huobi/api/response/coin_swap/trade/SwapHisordersExactResponse.java b/src/main/java/com/huobi/api/response/coin_swap/trade/SwapHisordersExactResponse.java new file mode 100644 index 0000000..602f2a6 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_swap/trade/SwapHisordersExactResponse.java @@ -0,0 +1,78 @@ +package com.huobi.api.response.coin_swap.trade; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@AllArgsConstructor +@Data +@Builder +public class SwapHisordersExactResponse { + private String status; + private Long ts; + private List data; + + @AllArgsConstructor + @Data + @Builder + public static class DataBean{ + @SerializedName("remain_size") + private Integer remainSize; + @SerializedName("next_id") + private Long nextId; + private List orders; + + @AllArgsConstructor + @Data + @Builder + public static class ordersBean{ + @SerializedName("query_id") + private Long queryId; + @SerializedName("order_id") + private Long orderId; + @SerializedName("order_id_str") + private String orderIdStr; + private String symbol; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("lever_rate") + private Integer leverRate; + private String direction; + private String offset; + private BigDecimal volume; + private BigDecimal price; + @SerializedName("create_date") + private Long creatDate; + @SerializedName("order_source") + private String orderSource; + @SerializedName("order_price_type") + private String orderPriceType; + @SerializedName("margin_frozen") + private BigDecimal marginFrozen; + private BigDecimal profit; + @SerializedName("trade_volume") + private BigDecimal tradeVolume; + @SerializedName("trade_turnover") + private BigDecimal tradeTurnover; + private BigDecimal fee; + @SerializedName("trade_avg_price") + private BigDecimal tradeAvgPrice; + private Integer status; + @SerializedName("order_type") + private Integer orderType; + @SerializedName("fee_asset") + private String feeAsset; + @SerializedName("liquidation_type") + private String liquidationType; + @SerializedName("is_tpsl") + private String isTpsl; + @SerializedName("real_profit") + private String realProfit; + } + } + +} diff --git a/src/main/java/com/huobi/api/response/coin_swap/trade/SwapHisordersResponse.java b/src/main/java/com/huobi/api/response/coin_swap/trade/SwapHisordersResponse.java new file mode 100644 index 0000000..bc69f84 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_swap/trade/SwapHisordersResponse.java @@ -0,0 +1,116 @@ +package com.huobi.api.response.coin_swap.trade; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class SwapHisordersResponse { + /** + * {"status":"ok", + * "data":{"orders":[{"order_id":759079311113506816,"contract_code":"ETH-USDT","symbol":"ETH","lever_rate":5,"direction":"buy","offset":"open","volume":1000.000000000000000000,"price":333.000000000000000000,"create_date":1601020210775,"order_source":"api","order_price_type":1,"order_type":1,"margin_frozen":0E-18,"profit":0E-18,"trade_volume":1000.000000000000000000,"trade_turnover":3320.000000000000000000,"fee":-1.328000000000000000,"trade_avg_price":332.000000,"status":6,"order_id_str":"759079311113506816","fee_asset":"USDT","liquidation_type":"0","margin_asset":"USDT"},{"order_id":759079310895403008,"contract_code":"ETH-USDT","symbol":"ETH","lever_rate":5,"direction":"sell","offset":"open","volume":100.000000000000000000,"price":456.000000000000000000,"create_date":1601020210717,"order_source":"api","order_price_type":1,"order_type":1,"margin_frozen":0E-18,"profit":0E-18,"trade_volume":0E-18,"trade_turnover":0E-18,"fee":0E-18,"trade_avg_price":0,"status":7,"order_id_str":"759079310895403008","fee_asset":"USDT","liquidation_type":"0","margin_asset":"USDT"},{"order_id":759077984358682624,"contract_code":"ETH-USDT","symbol":"ETH","lever_rate":5,"direction":"sell","offset":"open","volume":100.000000000000000000,"price":455.000000000000000000,"create_date":1601019894444,"order_source":"api","order_price_type":1,"order_type":1,"margin_frozen":0E-18,"profit":0E-18,"trade_volume":0E-18,"trade_turnover":0E-18,"fee":0E-18,"trade_avg_price":0,"status":7,"order_id_str":"759077984358682624","fee_asset":"USDT","liquidation_type":"0","margin_asset":"USDT"},{"order_id":759077085095710720,"contract_code":"ETH-USDT","symbol":"ETH","lever_rate":5,"direction":"buy","offset":"open","volume":1000.000000000000000000,"price":333.000000000000000000,"create_date":1601019680045,"order_source":"api","order_price_type":1,"order_type":1,"margin_frozen":0E-18,"profit":0E-18,"trade_volume":1000.000000000000000000,"trade_turnover":3284.209175160000000000,"fee":-1.313683670064000000,"trade_avg_price":328.420917,"status":6,"order_id_str":"759077085095710720","fee_asset":"USDT","liquidation_type":"0","margin_asset":"USDT"},{"order_id":757651577548611584,"contract_code":"ETH-USDT","symbol":"ETH","lever_rate":5,"direction":"sell","offset":"close","volume":9.000000000000000000,"price":400.000000000000000000,"create_date":1600679812556,"order_source":"web","order_price_type":3,"order_type":1,"margin_frozen":0E-18,"profit":-2.211489149999999999,"trade_volume":9.000000000000000000,"trade_turnover":36.000000000000000000,"fee":-0.018000000000000000,"trade_avg_price":400.000000,"status":6,"order_id_str":"757651577548611584","fee_asset":"USDT","liquidation_type":"0","margin_asset":"USDT"}],"total_page":2,"current_page":1,"total_size":10}, + * "ts":1601020316961 + */ + + private String status; + private DataBean data; + private Long ts; + + @Data + @AllArgsConstructor + public static class DataBean { + /** + * "orders":[{"order_id":759079311113506816,"contract_code":"ETH-USDT","symbol":"ETH","lever_rate":5,"direction":"buy","offset":"open","volume":1000.000000000000000000,"price":333.000000000000000000,"create_date":1601020210775,"order_source":"api","order_price_type":1,"order_type":1,"margin_frozen":0E-18,"profit":0E-18,"trade_volume":1000.000000000000000000,"trade_turnover":3320.000000000000000000,"fee":-1.328000000000000000,"trade_avg_price":332.000000,"status":6,"order_id_str":"759079311113506816","fee_asset":"USDT","liquidation_type":"0","margin_asset":"USDT"},{"order_id":759079310895403008,"contract_code":"ETH-USDT","symbol":"ETH","lever_rate":5,"direction":"sell","offset":"open","volume":100.000000000000000000,"price":456.000000000000000000,"create_date":1601020210717,"order_source":"api","order_price_type":1,"order_type":1,"margin_frozen":0E-18,"profit":0E-18,"trade_volume":0E-18,"trade_turnover":0E-18,"fee":0E-18,"trade_avg_price":0,"status":7,"order_id_str":"759079310895403008","fee_asset":"USDT","liquidation_type":"0","margin_asset":"USDT"},{"order_id":759077984358682624,"contract_code":"ETH-USDT","symbol":"ETH","lever_rate":5,"direction":"sell","offset":"open","volume":100.000000000000000000,"price":455.000000000000000000,"create_date":1601019894444,"order_source":"api","order_price_type":1,"order_type":1,"margin_frozen":0E-18,"profit":0E-18,"trade_volume":0E-18,"trade_turnover":0E-18,"fee":0E-18,"trade_avg_price":0,"status":7,"order_id_str":"759077984358682624","fee_asset":"USDT","liquidation_type":"0","margin_asset":"USDT"},{"order_id":759077085095710720,"contract_code":"ETH-USDT","symbol":"ETH","lever_rate":5,"direction":"buy","offset":"open","volume":1000.000000000000000000,"price":333.000000000000000000,"create_date":1601019680045,"order_source":"api","order_price_type":1,"order_type":1,"margin_frozen":0E-18,"profit":0E-18,"trade_volume":1000.000000000000000000,"trade_turnover":3284.209175160000000000,"fee":-1.313683670064000000,"trade_avg_price":328.420917,"status":6,"order_id_str":"759077085095710720","fee_asset":"USDT","liquidation_type":"0","margin_asset":"USDT"},{"order_id":757651577548611584,"contract_code":"ETH-USDT","symbol":"ETH","lever_rate":5,"direction":"sell","offset":"close","volume":9.000000000000000000,"price":400.000000000000000000,"create_date":1600679812556,"order_source":"web","order_price_type":3,"order_type":1,"margin_frozen":0E-18,"profit":-2.211489149999999999,"trade_volume":9.000000000000000000,"trade_turnover":36.000000000000000000,"fee":-0.018000000000000000,"trade_avg_price":400.000000,"status":6,"order_id_str":"757651577548611584","fee_asset":"USDT","liquidation_type":"0","margin_asset":"USDT"}], + * "total_page":2, + * "current_page":1, + * "total_size":10 + */ + + @SerializedName("total_page") + private Integer totalPage; + @SerializedName("current_page") + private Integer currentPage; + @SerializedName("total_size") + private Integer totalSize; + private List orders; + + @Data + @AllArgsConstructor + public static class OrdersBean { + /** + * "order_id":759079311113506816, + * "contract_code":"ETH-USDT", + * "symbol":"ETH", + * "lever_rate":5, + * "direction":"buy", + * "offset":"open", + * "volume":1000, + * "price":333, + * "create_date":1601020210775, + * "order_source":"api", + * "order_price_type":1, + * "order_type":1, + * "margin_frozen":0, + * "profit":0, + * "trade_volume":1000, + * "trade_turnover":3320, + * "fee":-1.328, + * "trade_avg_price":332, + * "status":6, + * "order_id_str":"759079311113506816", + * "fee_asset":"USDT", + * "liquidation_type":"0", + * "margin_asset":"USDT" + */ + @SerializedName("order_id") + private Long orderId; + @SerializedName("order_id_str") + private String orderIdStr; + private String symbol; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("lever_rate") + private Integer leverRate; + private String direction; + private String offset; + private BigDecimal volume; + private BigDecimal price; + @SerializedName("create_date") + private Long createDate; + @SerializedName("order_source") + private String orderSource; + @SerializedName("order_price_type") + private String orderPriceType; + @SerializedName("margin_frozen") + private BigDecimal marginFrozen; + @SerializedName("margin_asset") + private String marginAsset; + private BigDecimal profit; + @SerializedName("trade_volume") + private BigDecimal tradeVolume; + @SerializedName("trade_turnover") + private BigDecimal tradeTurnover; + private BigDecimal fee; + @SerializedName("fee_asset") + private String feeAsset; + @SerializedName("trade_avg_price") + private BigDecimal tradeAvgPrice; + private Integer status; + @SerializedName("order_type") + private Integer orderType; + @SerializedName("liquidation_type") + private String liquidationType; + @SerializedName("is_tpsl") + private String isTpsl; + @SerializedName("update_time") + private Long updateTime; + @SerializedName("real_profit") + private String realProfit; + + } + } +} diff --git a/src/main/java/com/huobi/api/response/coin_swap/trade/SwapLightningClosePositionResponse.java b/src/main/java/com/huobi/api/response/coin_swap/trade/SwapLightningClosePositionResponse.java new file mode 100644 index 0000000..b62da29 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_swap/trade/SwapLightningClosePositionResponse.java @@ -0,0 +1,36 @@ +package com.huobi.api.response.coin_swap.trade; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +@Data +@AllArgsConstructor +public class SwapLightningClosePositionResponse { + /** + * "status":"ok", + * "data":{"order_id":759080404761497600,"order_id_str":"759080404761497600"}, + * "ts":1601020471588 + */ + + private String status; + private DataBean data; + private Long ts; + + @Data + @AllArgsConstructor + public static class DataBean { + /** + * "order_id":759080404761497600, + * "order_id_str":"759080404761497600" + */ + + @SerializedName("order_id") + private Long orderId; + @SerializedName("order_id_str") + private String orderIdStr; + @SerializedName("client_order_id") + private Long clientOrderId; + + } +} diff --git a/src/main/java/com/huobi/api/response/coin_swap/trade/SwapMatchresultsExactResponse.java b/src/main/java/com/huobi/api/response/coin_swap/trade/SwapMatchresultsExactResponse.java new file mode 100644 index 0000000..2259312 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_swap/trade/SwapMatchresultsExactResponse.java @@ -0,0 +1,69 @@ +package com.huobi.api.response.coin_swap.trade; + + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@AllArgsConstructor +@Builder +@Data +public class SwapMatchresultsExactResponse { + private String status; + private Long ts; + private List data; + + @AllArgsConstructor + @Builder + @Data + public static class DataBean{ + @SerializedName("remain_size") + private Integer remainSize; + @SerializedName("next_id") + private Long nextId; + private List trades; + + @AllArgsConstructor + @Builder + @Data + public static class TradesBean{ + private String id; + @SerializedName("query_id") + private Long queryId; + @SerializedName("match_id") + private Long matchId; + @SerializedName("order_id") + private Long orderID; + @SerializedName("order_id_str") + private String orderIdStr; + private String symbol; + @SerializedName("contract_code") + private String contractCode; + private String direction; + private String offset; + @SerializedName("trade_volume") + private BigDecimal tradeVolume; + @SerializedName("trade_price") + private BigDecimal tradePrice; + @SerializedName("trade_turnover") + private BigDecimal tradeTurnover; + @SerializedName("create_date") + private Long createDate; + @SerializedName("offset_profitloss") + private BigDecimal offsetProfrtloss; + @SerializedName("traded_fee") + private BigDecimal tradedFee; + private String role; + @SerializedName("fee_asset") + private String feeAsset; + @SerializedName("order_source") + private String orderSource; + @SerializedName("real_profit") + private String realProfit; + } + } +} diff --git a/src/main/java/com/huobi/api/response/coin_swap/trade/SwapMatchresultsResponse.java b/src/main/java/com/huobi/api/response/coin_swap/trade/SwapMatchresultsResponse.java new file mode 100644 index 0000000..75f9e62 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_swap/trade/SwapMatchresultsResponse.java @@ -0,0 +1,98 @@ +package com.huobi.api.response.coin_swap.trade; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class SwapMatchresultsResponse { + /** + * "status":"ok", + * "data":{"trades":[{"match_id":14499,"order_id":758725403280691200,"symbol":"BTC","contract_code":"BTC-USDT","direction":"buy","offset":"open","trade_volume":1.000000000000000000,"trade_price":10329.110000000000000000,"trade_turnover":103.291100000000000000,"trade_fee":-0.051645550000000000,"offset_profitloss":0E-18,"create_date":1600935837608,"role":"Taker","order_source":"web","order_id_str":"758725403280691200","id":"14499-758725403280691200-1","fee_asset":"USDT"},{"match_id":14470,"order_id":758688290195656704,"symbol":"BTC","contract_code":"BTC-USDT","direction":"buy","offset":"open","trade_volume":1.000000000000000000,"trade_price":10329.110000000000000000,"trade_turnover":103.291100000000000000,"trade_fee":-0.051645550000000000,"offset_profitloss":0E-18,"create_date":1600926986046,"role":"Taker","order_source":"web","order_id_str":"758688290195656704","id":"14470-758688290195656704-1","fee_asset":"USDT"},{"match_id":14469,"order_id":758684042347171840,"symbol":"BTC","contract_code":"BTC-USDT","direction":"buy","offset":"open","trade_volume":1.000000000000000000,"trade_price":10329.110000000000000000,"trade_turnover":103.291100000000000000,"trade_fee":-0.051645550000000000,"offset_profitloss":0E-18,"create_date":1600925972666,"role":"Taker","order_source":"web","order_id_str":"758684042347171840","id":"14469-758684042347171840-1","fee_asset":"USDT"},{"match_id":13670,"order_id":758643126693031936,"symbol":"BTC","contract_code":"BTC-USDT","direction":"buy","offset":"close","trade_volume":25.000000000000000000,"trade_price":10329.110000000000000000,"trade_turnover":2582.277500000000000000,"trade_fee":-1.032911000000000000,"offset_profitloss":-5.319151442307692307,"create_date":1600916217943,"role":"Taker","order_source":"api","order_id_str":"758643126693031936","id":"13670-758643126693031936-1","fee_asset":"USDT"},{"match_id":13657,"order_id":758640801572220928,"symbol":"BTC","contract_code":"BTC-USDT","direction":"sell","offset":"open","trade_volume":100.000000000000000000,"trade_price":10328.994000000000000000,"trade_turnover":10328.994000000000000000,"trade_fee":-5.164497000000000000,"offset_profitloss":0E-18,"create_date":1600915663525,"role":"Taker","order_source":"api","order_id_str":"758640801572220928","id":"13657-758640801572220928-1","fee_asset":"USDT"}],"total_page":8,"current_page":1,"total_size":36}, + * "ts":1601020538552 + */ + + private DataBean data; + private String status; + private Long ts; + + @Data + @AllArgsConstructor + public static class DataBean { + /** + * "trades":[{"match_id":14499,"order_id":758725403280691200,"symbol":"BTC","contract_code":"BTC-USDT","direction":"buy","offset":"open","trade_volume":1.000000000000000000,"trade_price":10329.110000000000000000,"trade_turnover":103.291100000000000000,"trade_fee":-0.051645550000000000,"offset_profitloss":0E-18,"create_date":1600935837608,"role":"Taker","order_source":"web","order_id_str":"758725403280691200","id":"14499-758725403280691200-1","fee_asset":"USDT"},{"match_id":14470,"order_id":758688290195656704,"symbol":"BTC","contract_code":"BTC-USDT","direction":"buy","offset":"open","trade_volume":1.000000000000000000,"trade_price":10329.110000000000000000,"trade_turnover":103.291100000000000000,"trade_fee":-0.051645550000000000,"offset_profitloss":0E-18,"create_date":1600926986046,"role":"Taker","order_source":"web","order_id_str":"758688290195656704","id":"14470-758688290195656704-1","fee_asset":"USDT"},{"match_id":14469,"order_id":758684042347171840,"symbol":"BTC","contract_code":"BTC-USDT","direction":"buy","offset":"open","trade_volume":1.000000000000000000,"trade_price":10329.110000000000000000,"trade_turnover":103.291100000000000000,"trade_fee":-0.051645550000000000,"offset_profitloss":0E-18,"create_date":1600925972666,"role":"Taker","order_source":"web","order_id_str":"758684042347171840","id":"14469-758684042347171840-1","fee_asset":"USDT"},{"match_id":13670,"order_id":758643126693031936,"symbol":"BTC","contract_code":"BTC-USDT","direction":"buy","offset":"close","trade_volume":25.000000000000000000,"trade_price":10329.110000000000000000,"trade_turnover":2582.277500000000000000,"trade_fee":-1.032911000000000000,"offset_profitloss":-5.319151442307692307,"create_date":1600916217943,"role":"Taker","order_source":"api","order_id_str":"758643126693031936","id":"13670-758643126693031936-1","fee_asset":"USDT"},{"match_id":13657,"order_id":758640801572220928,"symbol":"BTC","contract_code":"BTC-USDT","direction":"sell","offset":"open","trade_volume":100.000000000000000000,"trade_price":10328.994000000000000000,"trade_turnover":10328.994000000000000000,"trade_fee":-5.164497000000000000,"offset_profitloss":0E-18,"create_date":1600915663525,"role":"Taker","order_source":"api","order_id_str":"758640801572220928","id":"13657-758640801572220928-1","fee_asset":"USDT"}], + * "total_page":8, + * "current_page":1, + * "total_size":36 + */ + + @SerializedName("current_page") + private Integer currentPage; + @SerializedName("total_page") + private Integer totalPage; + @SerializedName("total_size") + private Integer totalSize; + private List trades; + + @Data + @AllArgsConstructor + public static class TradesBean { + /** + * "match_id":14499, + * "order_id":758725403280691200, + * "symbol":"BTC", + * "contract_code":"BTC-USDT", + * "direction":"buy", + * "offset":"open", + * "trade_volume":1, + * "trade_price":10329.11, + * "trade_turnover":103.2911, + * "trade_fee":-0.05164555, + * "offset_profitloss":0, + * "create_date":1600935837608, + * "role":"Taker", + * "order_source":"web", + * "order_id_str":"758725403280691200", + * "id":"14499-758725403280691200-1", + * "fee_asset":"USDT" + */ + + @SerializedName("match_id") + private Long matchId; + private String id; + @SerializedName("order_id") + private Long orderId; + @SerializedName("order_id_str") + private Long orderIdStr; + private String symbol; + @SerializedName("order_source") + private String orderSource; + @SerializedName("contract_code") + private String contractCode; + private String direction; + private String offset; + @SerializedName("trade_volume") + private BigDecimal tradeVolume; + @SerializedName("trade_price") + private BigDecimal tradePrice; + @SerializedName("trade_turnover") + private BigDecimal tradeTurnover; + @SerializedName("create_date") + private Long createDate; + @SerializedName("offset_profitloss") + private BigDecimal offsetProfitloss; + @SerializedName("trade_fee") + private double tradeFee; + @SerializedName("fee_asset") + private String feeAsset; + private String role; + @SerializedName("real_profit") + private String realProfit; + + } + } +} diff --git a/src/main/java/com/huobi/api/response/coin_swap/trade/SwapOpenordersResponse.java b/src/main/java/com/huobi/api/response/coin_swap/trade/SwapOpenordersResponse.java new file mode 100644 index 0000000..ea5adfa --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_swap/trade/SwapOpenordersResponse.java @@ -0,0 +1,122 @@ +package com.huobi.api.response.coin_swap.trade; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class SwapOpenordersResponse { + /** + * "status":"ok", + * "data":{"orders":[{"symbol":"BTC","contract_code":"BTC-USDT","volume":1000.000000000000000000,"price":9999.000000000000000000,"order_price_type":"limit","order_type":1,"direction":"buy","offset":"open","lever_rate":5,"order_id":758644298405408768,"client_order_id":null,"created_at":1600916495665,"trade_volume":0E-18,"trade_turnover":0E-18,"fee":0E-18,"trade_avg_price":null,"margin_frozen":19998.000000000000000000,"profit":0E-18,"status":3,"order_source":"api","order_id_str":"758644298405408768","fee_asset":"USDT","liquidation_type":null,"canceled_at":null,"margin_asset":"USDT"},{"symbol":"BTC","contract_code":"BTC-USDT","volume":100.000000000000000000,"price":11100.000000000000000000,"order_price_type":"limit","order_type":1,"direction":"sell","offset":"open","lever_rate":5,"order_id":758644298199887872,"client_order_id":null,"created_at":1600916495610,"trade_volume":0E-18,"trade_turnover":0E-18,"fee":0E-18,"trade_avg_price":null,"margin_frozen":2220.000000000000000000,"profit":0E-18,"status":3,"order_source":"api","order_id_str":"758644298199887872","fee_asset":"USDT","liquidation_type":null,"canceled_at":null,"margin_asset":"USDT"}],"total_page":1,"current_page":1,"total_size":2}, + * "ts":1601020656041 + */ + + private String status; + private DataBean data; + private Long ts; + + @Data + @AllArgsConstructor + public static class DataBean { + /** + * "orders":[{"symbol":"BTC","contract_code":"BTC-USDT","volume":1000.000000000000000000,"price":9999.000000000000000000,"order_price_type":"limit","order_type":1,"direction":"buy","offset":"open","lever_rate":5,"order_id":758644298405408768,"client_order_id":null,"created_at":1600916495665,"trade_volume":0E-18,"trade_turnover":0E-18,"fee":0E-18,"trade_avg_price":null,"margin_frozen":19998.000000000000000000,"profit":0E-18,"status":3,"order_source":"api","order_id_str":"758644298405408768","fee_asset":"USDT","liquidation_type":null,"canceled_at":null,"margin_asset":"USDT"},{"symbol":"BTC","contract_code":"BTC-USDT","volume":100.000000000000000000,"price":11100.000000000000000000,"order_price_type":"limit","order_type":1,"direction":"sell","offset":"open","lever_rate":5,"order_id":758644298199887872,"client_order_id":null,"created_at":1600916495610,"trade_volume":0E-18,"trade_turnover":0E-18,"fee":0E-18,"trade_avg_price":null,"margin_frozen":2220.000000000000000000,"profit":0E-18,"status":3,"order_source":"api","order_id_str":"758644298199887872","fee_asset":"USDT","liquidation_type":null,"canceled_at":null,"margin_asset":"USDT"}], + * "total_page":1, + * "current_page":1, + * "total_size":2 + */ + + @SerializedName("total_page") + private Integer totalPage; + @SerializedName("current_page") + private Integer currentPage; + @SerializedName("total_size") + private Integer totalSize; + private List orders; + + @Data + @AllArgsConstructor + public static class OrdersBean { + /** + * "symbol":"BTC", + * "contract_code":"BTC-USDT", + * "volume":100, + * "price":11100, + * "order_price_type":"limit", + * "order_type":1, + * "direction":"sell", + * "offset":"open", + * "lever_rate":5, + * "order_id":758644298199887872, + * "client_order_id":null, + * "created_at":1600916495610, + * "trade_volume":0, + * "trade_turnover":0, + * "fee":0, + * "trade_avg_price":null, + * "margin_frozen":2220, + * "profit":0, + * "status":3, + * "order_source":"api", + * "order_id_str":"758644298199887872", + * "fee_asset":"USDT", + * "liquidation_type":null, + * "canceled_at":null, + * "margin_asset":"USDT" + */ + + private String symbol; + @SerializedName("contract_code") + private String contractCode; + private BigDecimal volume; + private BigDecimal price; + @SerializedName("order_price_type") + private String orderPriceType; + @SerializedName("order_type") + private Integer orderType; + private String direction; + private String offset; + @SerializedName("lever_rate") + private Integer leverRate; + @SerializedName("order_id") + private Long orderId; + @SerializedName("order_id_str") + private Long orderIdStr; + @SerializedName("client_order_id") + private Long clientOrderId; + @SerializedName("created_at") + private Long createdAt; + @SerializedName("trade_volume") + private BigDecimal tradeVolume; + @SerializedName("trade_turnover") + private BigDecimal tradeTurnover; + private BigDecimal fee; + @SerializedName("fee_asset") + private String feeAsset; + @SerializedName("trade_avg_price") + private BigDecimal tradeAvgPrice; + @SerializedName("margin_frozen") + private BigDecimal marginFrozen; + private BigDecimal profit; + private Integer status; + @SerializedName("order_source") + private String orderSource; + @SerializedName("margin_asset") + private String marginAsset; + @SerializedName("liquidation_type") + private String liquidationType; + @SerializedName("canceled_at") + private String canceledAt; + @SerializedName("is_tpsl") + private String isTpsl; + @SerializedName("real_profit") + private String realProfit; + @SerializedName("update_time") + private Long updateTime; + } + } +} diff --git a/src/main/java/com/huobi/api/response/coin_swap/trade/SwapOrderDetailResponse.java b/src/main/java/com/huobi/api/response/coin_swap/trade/SwapOrderDetailResponse.java new file mode 100644 index 0000000..d5d265d --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_swap/trade/SwapOrderDetailResponse.java @@ -0,0 +1,117 @@ +package com.huobi.api.response.coin_swap.trade; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class SwapOrderDetailResponse { + /** + * + */ + + private String status; + private DataBean data; + private Long ts; + + @Data + @AllArgsConstructor + public static class DataBean { + /** + * + */ + + private String symbol; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("lever_rate") + private Integer leverRate; + private String direction; + private String offset; + private BigDecimal volume; + private BigDecimal price; + @SerializedName("created_at") + private Long createdAt; + @SerializedName("canceled_at") + private Long canceledAt; + @SerializedName("order_source") + private String orderSource; + @SerializedName("order_price_type") + private String orderPriceType; + @SerializedName("margin_frozen") + private BigDecimal marginFrozen; + @SerializedName("margin_asset") + private String marginAsset; + private BigDecimal profit; + @SerializedName("instrument_price") + private BigDecimal instrumentPrice; + @SerializedName("final_interest") + private BigDecimal finalInterest; + @SerializedName("adjust_value") + private BigDecimal adjustValue; + private BigDecimal fee; + @SerializedName("fee_asset") + private String feeAsset; + @SerializedName("liquidation_type") + private String liquidationType; + @SerializedName("order_type") + private Integer orderType; + @SerializedName("order_id") + private Long orderId; + @SerializedName("order_id_str") + private String orderIdStr; + @SerializedName("client_order_id") + private Long clientOrderId; + @SerializedName("trade_volume") + private BigDecimal tradeVolume; + @SerializedName("trade_turnover") + private BigDecimal tradeTurnover; + @SerializedName("trade_avg_price") + private BigDecimal tradeAvgPrice; + private Integer status; + @SerializedName("total_page") + private Integer totalPage; + @SerializedName("current_page") + private Integer currentPage; + @SerializedName("total_size") + private Integer totalSize; + @SerializedName("is_tpsl") + private String isTpsl; + @SerializedName("real_profit") + private String realProfit; + private List trades; + + @Data + @AllArgsConstructor + public static class TradesBean { + /** + * + */ + + private String id; + @SerializedName("trade_id") + private Long tradeId; + @SerializedName("trade_price") + private BigDecimal tradePrice; + @SerializedName("trade_volume") + private BigDecimal tradeVolume; + @SerializedName("trade_turnover") + private BigDecimal tradeTurnover; + @SerializedName("trade_fee") + private BigDecimal tradeFee; + private String role; + @SerializedName("created_at") + private Long createdAt; + @SerializedName("fee_asset") + private String feeAsset; + @SerializedName("real_profit") + private String realProfit; + private BigDecimal profit; + + } + } +} diff --git a/src/main/java/com/huobi/api/response/coin_swap/trade/SwapOrderInfoResponse.java b/src/main/java/com/huobi/api/response/coin_swap/trade/SwapOrderInfoResponse.java new file mode 100644 index 0000000..f7cf64c --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_swap/trade/SwapOrderInfoResponse.java @@ -0,0 +1,104 @@ +package com.huobi.api.response.coin_swap.trade; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class SwapOrderInfoResponse { + /** + * "status":"ok", + * "data":[{"symbol":"BTC","contract_code":"BTC-USDT","volume":100.000000000000000000,"price":11100.000000000000000000,"order_price_type":"limit","order_type":1,"direction":"sell","offset":"open","lever_rate":5,"order_id":758644298199887872,"client_order_id":null,"created_at":1600916495610,"trade_volume":0E-18,"trade_turnover":0E-18,"fee":0E-18,"trade_avg_price":null,"margin_frozen":2220.000000000000000000,"profit":0E-18,"status":3,"order_source":"api","order_id_str":"758644298199887872","fee_asset":"USDT","liquidation_type":"0","canceled_at":0,"margin_asset":"USDT"}], + * "ts":1601021229352 + */ + + private String status; + private Long ts; + private List data; + + @Data + @AllArgsConstructor + public static class DataBean { + /** + * "symbol":"BTC", + * "contract_code":"BTC-USDT", + * "volume":100, + * "price":11100, + * "order_price_type":"limit", + * "order_type":1, + * "direction":"sell", + * "offset":"open", + * "lever_rate":5, + * "order_id":758644298199887872, + * "client_order_id":null, + * "created_at":1600916495610, + * "trade_volume":0, + * "trade_turnover":0, + * "fee":0, + * "trade_avg_price":null, + * "margin_frozen":2220, + * "profit":0, + * "status":3, + * "order_source":"api", + * "order_id_str":"758644298199887872", + * "fee_asset":"USDT", + * "liquidation_type":"0", + * "canceled_at":0, + * "margin_asset":"USDT" + */ + + private String symbol; + @SerializedName("contract_code") + private String contractCode; + private BigDecimal volume; + private BigDecimal price; + @SerializedName("order_price_type") + private String orderPriceType; + private String direction; + private String offset; + @SerializedName("lever_rate") + private Integer leverRate; + @SerializedName("order_id") + private Long orderId; + @SerializedName("order_id_str") + private String orderIdStr; + @SerializedName("client_order_id") + private Long clientOrderId; + @SerializedName("created_at") + private Long createdAt; + @SerializedName("trade_volume") + private BigDecimal tradeVolume; + @SerializedName("trade_turnover") + private BigDecimal tradeTurnover; + private BigDecimal fee; + @SerializedName("trade_avg_price") + private BigDecimal tradeAvgPrice; + @SerializedName("margin_asset") + private String marginAsset; + @SerializedName("margin_frozen") + private BigDecimal marginFrozen; + private BigDecimal profit; + private Integer status; + @SerializedName("order_type") + private String orderType; + @SerializedName("order_source") + private String orderSource; + @SerializedName("fee_asset") + private String feeAsset; + @SerializedName("liquidation_type") + private String liquidationType; + @SerializedName("canceled_at") + private Long canceledAt; + @SerializedName("is_tpsl") + private String isTpsl; + @SerializedName("real_profit") + private String realProfit; + @SerializedName("canceled_source") + private String canceledSource; + + } +} diff --git a/src/main/java/com/huobi/api/response/coin_swap/trade/SwapOrderResponse.java b/src/main/java/com/huobi/api/response/coin_swap/trade/SwapOrderResponse.java new file mode 100644 index 0000000..f5ebc39 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_swap/trade/SwapOrderResponse.java @@ -0,0 +1,38 @@ +package com.huobi.api.response.coin_swap.trade; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + + +@Data +@AllArgsConstructor +public class SwapOrderResponse { + + /** + * "status":"ok", + * "data":{"order_id":759077984358682624,"order_id_str":"759077984358682624"}, + * "ts":1601019894532 + */ + + private String status; + private DataBean data; + private Long ts; + + @Data + @AllArgsConstructor + public static class DataBean { + /** + * "order_id":759077984358682624, + * "order_id_str":"759077984358682624" + */ + + @SerializedName("order_id") + private Long orderId; + @SerializedName("order_id_str") + private String orderIdStr; + @SerializedName("client_order_id") + private Long clientOrderId; + + } +} diff --git a/src/main/java/com/huobi/api/response/coin_swap/trade/SwapRelationTpslOrderResponse.java b/src/main/java/com/huobi/api/response/coin_swap/trade/SwapRelationTpslOrderResponse.java new file mode 100644 index 0000000..270e6b3 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_swap/trade/SwapRelationTpslOrderResponse.java @@ -0,0 +1,107 @@ +package com.huobi.api.response.coin_swap.trade; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@AllArgsConstructor +@Builder +@Data +public class SwapRelationTpslOrderResponse { + private String status; + private Long ts; + private List data; + + @AllArgsConstructor + @Builder + @Data + public static class DataBean{ + private String symbol; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("margin_mode") + private String marginMode; + @SerializedName("margin_account") + private String marginAccount; + private BigDecimal volume; + private BigDecimal price; + @SerializedName("order_price_type") + private String orderPriceType; + private String direction; + private String offset; + @SerializedName("lever_rate") + private Integer leverRate; + @SerializedName("order_id") + private Long orderId; + @SerializedName("order_id_str") + private String orderIdStr; + @SerializedName("client_order_id") + private Long clientOrderId; + @SerializedName("created_at") + private Long createdAt; + @SerializedName("trade_volume") + private BigDecimal tradeVolume; + @SerializedName("trade_turnover") + private BigDecimal tradeTurnover; + private BigDecimal fee; + @SerializedName("trade_avg_price") + private BigDecimal tradeAvgPrice; + @SerializedName("margin_frozen") + private BigDecimal marginFrozen; + private BigDecimal profit; + private Integer status; + @SerializedName("order_type") + private Integer orderType; + @SerializedName("order_source") + private String orderSource; + @SerializedName("fee_asset") + private String feeAsset; + @SerializedName("canceled_at") + private Long canceledAt; + @SerializedName("tpsl_order_info") + private List tpslOrderInfo; + + @AllArgsConstructor + @Builder + @Data + public static class TpslOrderInfoBean{ + private BigDecimal volume; + @SerializedName("tpsl_order_type") + private String tpslOrderType; + private String direction; + @SerializedName("order_id") + private Long orderId; + @SerializedName("order_id_str") + private String orderIdStr; + @SerializedName("trigger_type") + private String triggerType; + @SerializedName("trigger_price") + private BigDecimal triggerPrice; + @SerializedName("order_price") + private BigDecimal orderPrice; + @SerializedName("created_at") + private Long createdAt; + @SerializedName("order_price_type") + private String orderPriceType; + private Integer status; + @SerializedName("relation_tpsl_order_id") + private String relationTpslOrderId; + @SerializedName("canceled_at") + private Long canceledAt; + @SerializedName("fail_code") + private Integer failCode; + @SerializedName("fail_reason") + private String failReason; + @SerializedName("triggered_price") + private BigDecimal triggeredPrice; + @SerializedName("relation_order_id") + private String relationOrderId; + } + + + } +} diff --git a/src/main/java/com/huobi/api/response/coin_swap/trade/SwapSwitchLeverRateResponse.java b/src/main/java/com/huobi/api/response/coin_swap/trade/SwapSwitchLeverRateResponse.java new file mode 100644 index 0000000..e2ea805 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_swap/trade/SwapSwitchLeverRateResponse.java @@ -0,0 +1,32 @@ +package com.huobi.api.response.coin_swap.trade; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.util.List; + +@AllArgsConstructor +@Builder +@Data +public class SwapSwitchLeverRateResponse { + private String status; + private Long ts; + @SerializedName("err_code") + private Integer errCode; + @SerializedName("err_mag") + private String err_mag; + + private List data; + + @AllArgsConstructor + @Builder + @Data + public static class DataBean{ + @SerializedName("contract_code") + private String contractCode; + @SerializedName("lever_rate") + private Integer leverRate; + } +} diff --git a/src/main/java/com/huobi/api/response/coin_swap/trade/SwapTpslCancelResponse.java b/src/main/java/com/huobi/api/response/coin_swap/trade/SwapTpslCancelResponse.java new file mode 100644 index 0000000..cb603a4 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_swap/trade/SwapTpslCancelResponse.java @@ -0,0 +1,39 @@ +package com.huobi.api.response.coin_swap.trade; + + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.util.List; + +@Builder +@AllArgsConstructor +@Data +public class SwapTpslCancelResponse { + private String status; + private Long ts; + private List data; + + @Builder + @AllArgsConstructor + @Data + public static class DataBean{ + private List errors; + private String successes; + + @Builder + @AllArgsConstructor + @Data + public static class errorsBean{ + @SerializedName("order_id") + private Long orderId; + @SerializedName("err_code") + private Integer errCode; + @SerializedName("err_msg") + private String errMsg; + } + + } +} diff --git a/src/main/java/com/huobi/api/response/coin_swap/trade/SwapTpslCancelallResponse.java b/src/main/java/com/huobi/api/response/coin_swap/trade/SwapTpslCancelallResponse.java new file mode 100644 index 0000000..813b433 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_swap/trade/SwapTpslCancelallResponse.java @@ -0,0 +1,39 @@ +package com.huobi.api.response.coin_swap.trade; + + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.util.List; + +@Builder +@AllArgsConstructor +@Data +public class SwapTpslCancelallResponse { + private String status; + private Long ts; + private List data; + + @Builder + @AllArgsConstructor + @Data + public static class DataBean{ + private List errors; + private String successes; + + @Builder + @AllArgsConstructor + @Data + public static class errorsBean{ + @SerializedName("order_id") + private Long orderId; + @SerializedName("err_code") + private Integer errCode; + @SerializedName("err_mag") + private String errMag; + } + + } +} diff --git a/src/main/java/com/huobi/api/response/coin_swap/trade/SwapTpslHisordersResponse.java b/src/main/java/com/huobi/api/response/coin_swap/trade/SwapTpslHisordersResponse.java new file mode 100644 index 0000000..ce596d3 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_swap/trade/SwapTpslHisordersResponse.java @@ -0,0 +1,83 @@ +package com.huobi.api.response.coin_swap.trade; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@AllArgsConstructor +@Builder +@Data +public class SwapTpslHisordersResponse { + private String status; + private Long ts; + private List data; + + @AllArgsConstructor + @Builder + @Data + public static class DataBean{ + @SerializedName("total_page") + private Integer totalPage; + @SerializedName("total_size") + private Integer totalSize; + @SerializedName("current_page") + private Integer currentPage; + private List orders; + + @AllArgsConstructor + @Builder + @Data + public static class OrdersBean{ + private String symbol; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("margin_mode") + private String marginMode; + @SerializedName("margin_account") + private String marginAccount; + private BigDecimal volume; + @SerializedName("order_type") + private Integer orderType; + @SerializedName("tpsl_order_type") + private String tpslOrderType; + private String direction; + @SerializedName("order_id") + private Long orderId; + @SerializedName("order_id_str") + private String orderIdStr; + @SerializedName("order_source") + private String orderSource; + @SerializedName("trigger_type") + private String triggerType; + @SerializedName("trigger_price") + private BigDecimal triggerPrice; + @SerializedName("created_at") + private Long createdAt; + @SerializedName("order_price_type") + private String orderPriceType; + @SerializedName("order_price") + private BigDecimal orderPrice; + private Integer status; + @SerializedName("source_order_id") + private String sourceOrderId; + @SerializedName("relation_tpsl_order_id") + private String relationTpslOrderId; + @SerializedName("canceled_at") + private Long canceledAt; + @SerializedName("fail_code") + private Integer failCode; + @SerializedName("fail_reason") + private String failReason; + @SerializedName("triggered_price") + private BigDecimal triggeredPrice; + @SerializedName("relation_order_id") + private String relationOrderId; + @SerializedName("update_time") + private Long updateTime; + } + } +} diff --git a/src/main/java/com/huobi/api/response/coin_swap/trade/SwapTpslOpenordersResponse.java b/src/main/java/com/huobi/api/response/coin_swap/trade/SwapTpslOpenordersResponse.java new file mode 100644 index 0000000..2ec8cee --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_swap/trade/SwapTpslOpenordersResponse.java @@ -0,0 +1,71 @@ +package com.huobi.api.response.coin_swap.trade; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Builder +@Data +@AllArgsConstructor +public class SwapTpslOpenordersResponse { + private String status; + private Long ts; + private List data; + + @Builder + @Data + @AllArgsConstructor + public static class DataBean{ + @SerializedName("total_page") + private Integer totalPage; + @SerializedName("total_size") + private Integer totalSize; + @SerializedName("current_page") + private Integer currentPage; + private List orders; + + @Builder + @Data + @AllArgsConstructor + public static class OrdersBean{ + private String symbol; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("margin_mode") + private String marginMode; + @SerializedName("margin_account") + private String marginAccount; + private BigDecimal volume; + @SerializedName("order_type") + private Integer orderType; + @SerializedName("tpsl_order_type") + private String tpslOrderType; + private String direction; + @SerializedName("order_id") + private Long orderId; + @SerializedName("order_id_str") + private String orderIdStr; + @SerializedName("order_source") + private String orderSource; + @SerializedName("trigger_type") + private String triggerType; + @SerializedName("trigger_price") + private BigDecimal triggerPrice; + @SerializedName("created_at") + private Long createdAt; + @SerializedName("order_price_type") + private String orderPriceType; + @SerializedName("order_price") + private BigDecimal orderPrice; + private Integer status; + @SerializedName("source_order_id") + private String sourceOrderId; + @SerializedName("relation_tpsl_order_id") + private String relationTpslOrderId; + } + } +} diff --git a/src/main/java/com/huobi/api/response/coin_swap/trade/SwapTpslOrderResponse.java b/src/main/java/com/huobi/api/response/coin_swap/trade/SwapTpslOrderResponse.java new file mode 100644 index 0000000..59d7dc5 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_swap/trade/SwapTpslOrderResponse.java @@ -0,0 +1,52 @@ +package com.huobi.api.response.coin_swap.trade; + + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.util.List; + +@Builder +@AllArgsConstructor +@Data +public class SwapTpslOrderResponse { + private String status; + private Long ts; + @SerializedName("err_code") + private Integer errCode; + @SerializedName("err_mag") + private String errMag; + private List data; + + @Builder + @AllArgsConstructor + @Data + public static class DataBean{ + @SerializedName("tp_order") + private List tpOrder; + @SerializedName("sl_order") + private List slOrder; + + @Builder + @AllArgsConstructor + @Data + public static class tpOrderBean{ + @SerializedName("order_id") + private Long orderId; + @SerializedName("order_id_str") + private String orderIdStr; + } + + @Builder + @AllArgsConstructor + @Data + public static class slOrderBean{ + @SerializedName("order_id") + private Long orderId; + @SerializedName("order_id_str") + private String orderIdStr; + } + } +} diff --git a/src/main/java/com/huobi/api/response/coin_swap/trade/SwapTrackCancelResponse.java b/src/main/java/com/huobi/api/response/coin_swap/trade/SwapTrackCancelResponse.java new file mode 100644 index 0000000..4e631a3 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_swap/trade/SwapTrackCancelResponse.java @@ -0,0 +1,38 @@ +package com.huobi.api.response.coin_swap.trade; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.util.List; + +@AllArgsConstructor +@Builder +@Data +public class SwapTrackCancelResponse { + private String status; + private Long ts; + private List data; + + @AllArgsConstructor + @Builder + @Data + public static class DataBean{ + private String successes; + private List errors; + + @AllArgsConstructor + @Builder + @Data + public static class ErrorsBean{ + @SerializedName("order_id") + private String orderId; + @SerializedName("err_code") + private Long errCode; + @SerializedName("err_msg") + private String errMsg; + } + } + +} diff --git a/src/main/java/com/huobi/api/response/coin_swap/trade/SwapTrackCancelallResponse.java b/src/main/java/com/huobi/api/response/coin_swap/trade/SwapTrackCancelallResponse.java new file mode 100644 index 0000000..7d6cc5e --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_swap/trade/SwapTrackCancelallResponse.java @@ -0,0 +1,38 @@ +package com.huobi.api.response.coin_swap.trade; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.util.List; + +@AllArgsConstructor +@Builder +@Data +public class SwapTrackCancelallResponse { + private String status; + private Long ts; + private List data; + + @AllArgsConstructor + @Builder + @Data + public static class DataBean{ + private String successes; + private List errors; + + @AllArgsConstructor + @Builder + @Data + public static class ErrorsBean{ + @SerializedName("order_id") + private String orderId; + @SerializedName("err_code") + private Long errCode; + @SerializedName("err_msg") + private String errMsg; + } + } + +} diff --git a/src/main/java/com/huobi/api/response/coin_swap/trade/SwapTrackHisordersResponse.java b/src/main/java/com/huobi/api/response/coin_swap/trade/SwapTrackHisordersResponse.java new file mode 100644 index 0000000..e423f0f --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_swap/trade/SwapTrackHisordersResponse.java @@ -0,0 +1,84 @@ +package com.huobi.api.response.coin_swap.trade; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@AllArgsConstructor +@Builder +@Data +public class SwapTrackHisordersResponse { + private String status; + private Long ts; + private List data; + + @AllArgsConstructor + @Builder + @Data + public static class DataBean{ + @SerializedName("total_page") + private Integer totalPage; + @SerializedName("total_size") + private Integer totalSize; + @SerializedName("current_page") + private Integer currentPage; + private List orders; + + @AllArgsConstructor + @Builder + @Data + public static class OrdersBean{ + private String symbol; + @SerializedName("contract_code") + private String contractCode; + private BigDecimal volume; + @SerializedName("order_type") + private Integer orderType; + private String direction; + private String offset; + @SerializedName("lever_rate") + private Integer leverRate; + @SerializedName("order_id") + private Long orderId; + @SerializedName("order_id_str") + private String orderIdStr; + @SerializedName("order_source") + private String orderSource; + @SerializedName("created_at") + private Long createdAt; + @SerializedName("update_time") + private Long updateTime; + @SerializedName("order_price_type") + private String orderPriceType; + private Integer status; + @SerializedName("canceled_at") + private Long canceledAt; + @SerializedName("fail_code") + private Integer failCode; + @SerializedName("fail_reason") + private String failReason; + @SerializedName("callback_rate") + private BigDecimal callbackRate; + @SerializedName("active_price") + private BigDecimal activePrice; + @SerializedName("is_active") + private Integer isActive; + @SerializedName("market_limit_price") + private BigDecimal marketLimitPrice; + @SerializedName("formula_price") + private BigDecimal formulaPrice; + @SerializedName("real_volume") + private BigDecimal realVolume; + @SerializedName("triggered_price") + private BigDecimal triggeredPrice; + @SerializedName("relation_order_id") + private String relationOrderId; + + } + + } +} diff --git a/src/main/java/com/huobi/api/response/coin_swap/trade/SwapTrackOpenordersResponse.java b/src/main/java/com/huobi/api/response/coin_swap/trade/SwapTrackOpenordersResponse.java new file mode 100644 index 0000000..8ab9fc8 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_swap/trade/SwapTrackOpenordersResponse.java @@ -0,0 +1,64 @@ +package com.huobi.api.response.coin_swap.trade; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@AllArgsConstructor +@Builder +@Data +public class SwapTrackOpenordersResponse { + private String status; + private Long ts; + private List data; + + @AllArgsConstructor + @Builder + @Data + public static class DataBean{ + @SerializedName("total_page") + private Integer totalPage; + @SerializedName("total_size") + private Integer totalSize; + @SerializedName("current_page") + private Integer currentPage; + private List orders; + + @AllArgsConstructor + @Builder + @Data + public static class OrdersBean{ + private String symbol; + @SerializedName("contract_code") + private String contractCode; + private BigDecimal volume; + @SerializedName("order_type") + private Integer orderType; + private String direction; + private String offset; + @SerializedName("lever_rate") + private Integer leverRate; + @SerializedName("order_id") + private Long orderId; + @SerializedName("order_id_str") + private String orderIdStr; + @SerializedName("order_source") + private String orderSource; + @SerializedName("created_at") + private Long createdAt; + @SerializedName("order_price_type") + private String orderPriceType; + private Integer status; + @SerializedName("callback_rate") + private BigDecimal callbackRate; + @SerializedName("active_price") + private BigDecimal activePrice; + @SerializedName("is_active") + private Integer isActive; + } + } +} diff --git a/src/main/java/com/huobi/api/response/coin_swap/trade/SwapTrackOrderResponse.java b/src/main/java/com/huobi/api/response/coin_swap/trade/SwapTrackOrderResponse.java new file mode 100644 index 0000000..541092d --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_swap/trade/SwapTrackOrderResponse.java @@ -0,0 +1,28 @@ +package com.huobi.api.response.coin_swap.trade; + + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.util.List; + +@AllArgsConstructor +@Builder +@Data +public class SwapTrackOrderResponse { + private String status; + private Long ts; + private List data; + + @AllArgsConstructor + @Builder + @Data + public static class DataBean{ + @SerializedName("order_id") + private Long orderId; + @SerializedName("order_id_str") + private String orderIdStr; + } +} diff --git a/src/main/java/com/huobi/api/response/coin_swap/trade/SwapTriggerCancelResponse.java b/src/main/java/com/huobi/api/response/coin_swap/trade/SwapTriggerCancelResponse.java new file mode 100644 index 0000000..30c0e12 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_swap/trade/SwapTriggerCancelResponse.java @@ -0,0 +1,47 @@ +package com.huobi.api.response.coin_swap.trade; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.util.List; + +@Data +@AllArgsConstructor +@Builder +public class SwapTriggerCancelResponse { + /** + * "status":"ok", + * "data":{"errors":[],"successes":"4697"}, + * "ts":1601021769369 + */ + private String status; + private Long ts; + private List data; + + @Builder + @AllArgsConstructor + @Data + public static class DataBean { + + /** + * "errors":[], + * "successes":"4697" + */ + private String successes; + private List errors; + + @Builder + @AllArgsConstructor + @Data + public static class ErrorsBean { + @SerializedName("order_id") + private String orderId; + @SerializedName("err_code") + private Long errCode; + @SerializedName("err_msg") + private String errMsg; + } + } +} diff --git a/src/main/java/com/huobi/api/response/coin_swap/trade/SwapTriggerCancelallResponse.java b/src/main/java/com/huobi/api/response/coin_swap/trade/SwapTriggerCancelallResponse.java new file mode 100644 index 0000000..4417510 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_swap/trade/SwapTriggerCancelallResponse.java @@ -0,0 +1,53 @@ +package com.huobi.api.response.coin_swap.trade; + + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.util.List; + +@Data +@AllArgsConstructor +@Builder +public class SwapTriggerCancelallResponse { + /** + * "status":"ok", + * "data":{"errors":[],"successes":"4696"}, + * "ts":1601021509092 + */ + private String status; + private Long ts; + private List data; + + @Builder + @AllArgsConstructor + @Data + public static class DataBean { + /** + * "errors":[], + * "successes":"4696" + */ + private String successes; + private List errors; + + @Data + @AllArgsConstructor + @Builder + public static class ErrorsBean { + /** + * "order_id":"3733", + * "err_code":1056, + * "err_msg":"In settlement. Your order can’t be placed/withdrew currently." + */ + @SerializedName("order_id") + private String orderId; + @SerializedName("err_code") + private Long errCode; + @SerializedName("err_msg") + private String errMsg; + } + } + +} diff --git a/src/main/java/com/huobi/api/response/coin_swap/trade/SwapTriggerHisordersResponse.java b/src/main/java/com/huobi/api/response/coin_swap/trade/SwapTriggerHisordersResponse.java new file mode 100644 index 0000000..68f24df --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_swap/trade/SwapTriggerHisordersResponse.java @@ -0,0 +1,119 @@ +package com.huobi.api.response.coin_swap.trade; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +@Builder +public class SwapTriggerHisordersResponse { + /** + * "status":"ok", + * "data":{"orders":[{"symbol":"BTC","contract_code":"BTC-USDT","trigger_type":"le","volume":1.000000000000000000,"order_type":1,"direction":"buy","offset":"open","lever_rate":5,"order_id":3732,"order_id_str":"3732","relation_order_id":"-1","order_price_type":"limit","status":6,"order_source":"api","trigger_price":377.000000000000000000,"triggered_price":null,"order_price":377.000000000000000000,"created_at":1600918640191,"triggered_at":null,"order_insert_at":0,"canceled_at":1600918653036,"fail_code":null,"fail_reason":null}],"total_page":3,"current_page":1,"total_size":3}, + * "ts":1601021858599 + */ + private String status; + private Long ts; + private List data; + + @Data + @AllArgsConstructor + @Builder + public static class DataBean { + /** + * "orders":[{"symbol":"BTC","contract_code":"BTC-USDT","trigger_type":"le","volume":1.000000000000000000,"order_type":1,"direction":"buy","offset":"open","lever_rate":5,"order_id":3732,"order_id_str":"3732","relation_order_id":"-1","order_price_type":"limit","status":6,"order_source":"api","trigger_price":377.000000000000000000,"triggered_price":null,"order_price":377.000000000000000000,"created_at":1600918640191,"triggered_at":null,"order_insert_at":0,"canceled_at":1600918653036,"fail_code":null,"fail_reason":null}], + * "total_page":3, + * "current_page":1, + * "total_size":3 + */ + + @SerializedName("total_page") + private Integer totalPage; + @SerializedName("total_size") + private Integer totalSize; + @SerializedName("current_page") + private Integer currentPage; + private List orders; + + @Data + @AllArgsConstructor + @Builder + public static class OrdersBean { + /** + * "symbol":"BTC", + * "contract_code":"BTC-USDT", + * "trigger_type":"le", + * "volume":1, + * "order_type":1, + * "direction":"buy", + * "offset":"open", + * "lever_rate":5, + * "order_id":3732, + * "order_id_str":"3732", + * "relation_order_id":"-1", + * "order_price_type":"limit", + * "status":6, + * "order_source":"api", + * "trigger_price":377, + * "triggered_price":null, + * "order_price":377, + * "created_at":1600918640191, + * "triggered_at":null, + * "order_insert_at":0, + * "canceled_at":1600918653036, + * "fail_code":null, + * "fail_reason":null + */ + + private String symbol; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("trigger_type") + private String triggerType; + private BigDecimal volume; + @SerializedName("order_type") + private Integer orderType; + private String direction; + private String offset; + @SerializedName("lever_rate") + private Integer leverRate; + @SerializedName("order_id") + private BigDecimal orderId; + @SerializedName("order_id_str") + private String orderIdStr; + @SerializedName("relation_order_id") + private String relationOrderId; + @SerializedName("order_price_type") + private String orderPriceType; + private Integer status; + @SerializedName("order_source") + private String orderSource; + @SerializedName("trigger_price") + private BigDecimal triggerPrice; + @SerializedName("triggered_price") + private BigDecimal triggeredPrice; + @SerializedName("order_price") + private BigDecimal orderPrice; + @SerializedName("created_at") + private Long createdAt; + @SerializedName("triggered_at") + private Long triggeredAt; + @SerializedName("order_insert_at") + private Long orderInsertAt; + @SerializedName("canceled_at") + private Long canceledAt; + @SerializedName("fail_code") + private Integer failCode; + @SerializedName("fail_reason") + private String failReason; + @SerializedName("update_time") + private Long updateTime; + + } + } +} diff --git a/src/main/java/com/huobi/api/response/coin_swap/trade/SwapTriggerOpenordersResponse.java b/src/main/java/com/huobi/api/response/coin_swap/trade/SwapTriggerOpenordersResponse.java new file mode 100644 index 0000000..7025551 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_swap/trade/SwapTriggerOpenordersResponse.java @@ -0,0 +1,97 @@ +package com.huobi.api.response.coin_swap.trade; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +@Builder +public class SwapTriggerOpenordersResponse { + /** + * "status":"ok", + * "data":{"orders":[{"symbol":"BTC","contract_code":"BTC-USDT","trigger_type":"le","volume":10.000000000000000000,"order_type":1,"direction":"buy","offset":"open","lever_rate":5,"order_id":3734,"order_id_str":"3734","order_source":"web","trigger_price":10300.000000000000000000,"order_price":10300.000000000000000000,"created_at":1600918851407,"order_price_type":"limit","status":2},{"symbol":"BTC","contract_code":"BTC-USDT","trigger_type":"le","volume":1.000000000000000000,"order_type":1,"direction":"buy","offset":"open","lever_rate":5,"order_id":3733,"order_id_str":"3733","order_source":"api","trigger_price":377.000000000000000000,"order_price":377.000000000000000000,"created_at":1600918780316,"order_price_type":"limit","status":2}],"total_page":1,"current_page":1,"total_size":2}, + * "ts":1601021973968 + */ + private String status; + private Long ts; + private List data; + + @Data + @AllArgsConstructor + @Builder + public static class DataBean { + /** + * "orders":[{"symbol":"BTC","contract_code":"BTC-USDT","trigger_type":"le","volume":10.000000000000000000,"order_type":1,"direction":"buy","offset":"open","lever_rate":5,"order_id":3734,"order_id_str":"3734","order_source":"web","trigger_price":10300.000000000000000000,"order_price":10300.000000000000000000,"created_at":1600918851407,"order_price_type":"limit","status":2},{"symbol":"BTC","contract_code":"BTC-USDT","trigger_type":"le","volume":1.000000000000000000,"order_type":1,"direction":"buy","offset":"open","lever_rate":5,"order_id":3733,"order_id_str":"3733","order_source":"api","trigger_price":377.000000000000000000,"order_price":377.000000000000000000,"created_at":1600918780316,"order_price_type":"limit","status":2}], + * "total_page":1, + * "current_page":1, + * "total_size":2 + */ + + @SerializedName("total_page") + private Integer totalPage; + @SerializedName("total_size") + private Integer totalSize; + @SerializedName("current_page") + private Integer currentPage; + private List orders; + + @Data + @AllArgsConstructor + @Builder + public static class OrdersBean { + /** + * "symbol":"BTC", + * "contract_code":"BTC-USDT", + * "trigger_type":"le", + * "volume":1, + * "order_type":1, + * "direction":"buy", + * "offset":"open", + * "lever_rate":5, + * "order_id":3733, + * "order_id_str":"3733", + * "order_source":"api", + * "trigger_price":377, + * "order_price":377, + * "created_at":1600918780316, + * "order_price_type":"limit", + * "status":2 + */ + + private String symbol; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("trigger_type") + private String triggerType; + private BigDecimal volume; + @SerializedName("order_type") + private Integer orderType; + private String direction; + private String offset; + @SerializedName("lever_rate") + private Integer leverRate; + @SerializedName("order_id") + private Long orderId; + @SerializedName("order_id_str") + private String orderIdStr; + @SerializedName("order_source") + private String orderSource; + @SerializedName("trigger_price") + private BigDecimal triggerPrice; + @SerializedName("order_price") + private BigDecimal orderPrice; + @SerializedName("created_at") + private Long createdAt; + @SerializedName("order_price_type") + private String orderPriceType; + private Integer status; + + } + + } +} diff --git a/src/main/java/com/huobi/api/response/coin_swap/trade/SwapTriggerOrderResponse.java b/src/main/java/com/huobi/api/response/coin_swap/trade/SwapTriggerOrderResponse.java new file mode 100644 index 0000000..8058c3e --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_swap/trade/SwapTriggerOrderResponse.java @@ -0,0 +1,38 @@ +package com.huobi.api.response.coin_swap.trade; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.util.List; + +@Builder +@Data +@AllArgsConstructor +public class SwapTriggerOrderResponse { + + /** + * "status":"ok", + * "data":{"order_id":4696,"order_id_str":"4696"}, + * "ts":1601021412709 + */ + + private String status; + private Long ts; + private List data; + + @AllArgsConstructor + @Data + public static class DataBean { + /** + * "order_id":4696, + * "order_id_str":"4696" + */ + + @SerializedName("order_id") + private Long orderId; + @SerializedName("order_id_str") + private String orderIdStr; + } +} diff --git a/src/main/java/com/huobi/api/response/coin_swap/transfer/UsdtSwapTransferResponse.java b/src/main/java/com/huobi/api/response/coin_swap/transfer/UsdtSwapTransferResponse.java new file mode 100644 index 0000000..1984371 --- /dev/null +++ b/src/main/java/com/huobi/api/response/coin_swap/transfer/UsdtSwapTransferResponse.java @@ -0,0 +1,23 @@ +package com.huobi.api.response.coin_swap.transfer; + +import lombok.AllArgsConstructor; +import lombok.Data; + +@Data +@AllArgsConstructor +public class UsdtSwapTransferResponse { + + /** + * 参数名称 是否必须 类型 描述 + * code true long 响应码 + * success true boolean true/false + * message true string 响应消息 + * data true long 划转流水ID + */ + + private Long code; + private Boolean success; + private String message; + private Long data; + +} diff --git a/src/main/java/com/huobi/api/response/usdt/account/FixPositionMarginChangeRecordResponse.java b/src/main/java/com/huobi/api/response/usdt/account/FixPositionMarginChangeRecordResponse.java new file mode 100644 index 0000000..c76aeea --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/account/FixPositionMarginChangeRecordResponse.java @@ -0,0 +1,33 @@ +package com.huobi.api.response.usdt.account; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.util.List; + +@Builder +@AllArgsConstructor +@Data +public class FixPositionMarginChangeRecordResponse { + private Integer code; + private String msg; + private Long ts; + private List data; + + @AllArgsConstructor + @Builder + @Data + public static class DataBean { + @SerializedName("query_id") + private Long queryId; + @SerializedName("order_id") + private String orderId; + private Double amount; + private String asset; + private String symbol; + private Integer type; + private Integer direction; + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/account/FixPositionMarginChangeResponse.java b/src/main/java/com/huobi/api/response/usdt/account/FixPositionMarginChangeResponse.java new file mode 100644 index 0000000..7f8b687 --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/account/FixPositionMarginChangeResponse.java @@ -0,0 +1,38 @@ +package com.huobi.api.response.usdt.account; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.util.List; + +@Builder +@AllArgsConstructor +@Data +public class FixPositionMarginChangeResponse { + private Integer code; + private String msg; + private Long ts; + private List data; + + @AllArgsConstructor + @Builder + @Data + public static class DataBean { + @SerializedName("amount") + private Double amount; + @SerializedName("asset") + private String asset; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("type") + private Integer type; + @SerializedName("direction") + private Integer direction; + @SerializedName("order_id") + private String orderId; + @SerializedName("client_order_id") + private Long clientOrderId; + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/account/LinearSwapFeeSwitchResponse.java b/src/main/java/com/huobi/api/response/usdt/account/LinearSwapFeeSwitchResponse.java new file mode 100644 index 0000000..82da665 --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/account/LinearSwapFeeSwitchResponse.java @@ -0,0 +1,24 @@ +package com.huobi.api.response.usdt.account; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.util.List; + +@Builder +@AllArgsConstructor +@Data +public class LinearSwapFeeSwitchResponse { + private Integer code; + private String msg; + private Long ts; + private List data; + + @AllArgsConstructor + @Builder + @Data + public static class DataBean { + + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/account/LinearSwapOverviewAccountInfoResponse.java b/src/main/java/com/huobi/api/response/usdt/account/LinearSwapOverviewAccountInfoResponse.java new file mode 100644 index 0000000..add66f3 --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/account/LinearSwapOverviewAccountInfoResponse.java @@ -0,0 +1,30 @@ +package com.huobi.api.response.usdt.account; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Builder +@AllArgsConstructor +@Data +public class LinearSwapOverviewAccountInfoResponse { + private Integer code; + private String msg; + private Long ts; + private List data; + @AllArgsConstructor + @Builder + @Data + public static class DataBean{ + @SerializedName("margin_asset") + private String marginAsset; + @SerializedName("margin_balance") + private BigDecimal marginBalance; + @SerializedName("margin_available") + private BigDecimal marginAvailable; + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/account/SwapAccountInfoResponse.java b/src/main/java/com/huobi/api/response/usdt/account/SwapAccountInfoResponse.java new file mode 100644 index 0000000..0f5508c --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/account/SwapAccountInfoResponse.java @@ -0,0 +1,83 @@ +package com.huobi.api.response.usdt.account; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class SwapAccountInfoResponse { + /** + * "status": "ok", + * "ts": 1601012593623 + * "data":[{"symbol":"BTC","margin_balance":987751.572823845245237901,"margin_position":8077.364020000000000000,"margin_frozen":22218.000000000000000000,"margin_available":957456.208803845245237901,"profit_real":-11.671496092307692307,"profit_unreal":-72.561788557692307693,"risk_rate":32.564050315149348888,"withdraw_available":957456.208803845245237901000000000000000000,"liquidation_price":289952.498194378595081075,"lever_rate":5,"adjust_factor":0.040000000000000000,"margin_static":987824.134612402937545594,"contract_code":"BTC-USDT","margin_asset":"USDT"}] + */ + private String status; + private Long ts; + private List data; + + @Data + @AllArgsConstructor + public static class DataBean { + /** + * "symbol": "BTC", + * "margin_balance": 987751.572823845245237901, + * "margin_position": 8077.364020000000000000, + * "margin_frozen": 22218.000000000000000000, + * "margin_available": 957456.208803845245237901, + * "profit_real": -11.671496092307692307, + * "profit_unreal": -72.561788557692307693, + * "risk_rate": 32.564050315149348888, + * "withdraw_available": 957456.208803845245237901000000000000000000, + * "liquidation_price": 289952.498194378595081075, + * "lever_rate": 5, + * "adjust_factor": 0.040000000000000000, + * "margin_static": 987824.134612402937545594, + * "contract_code": "BTC-USDT", + * "margin_asset": "USDT", + * "marginAccount":"BTC-USDT", + * "marginMode":"isolated" + */ + private String symbol; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("margin_asset") + private String marginAsset; + @SerializedName("margin_balance") + private BigDecimal marginBalance; + @SerializedName("margin_static") + private BigDecimal marginStatic; + @SerializedName("margin_position") + private BigDecimal marginPosition; + @SerializedName("margin_frozen") + private BigDecimal marginFrozen; + @SerializedName("margin_available") + private BigDecimal marginAvailable; + @SerializedName("profit_real") + private BigDecimal profitReal; + @SerializedName("profit_unreal") + private BigDecimal profitUnreal; + @SerializedName("risk_rate") + private BigDecimal riskRate; + @SerializedName("liquidation_price") + private BigDecimal liquidationPrice; + @SerializedName("withdraw_available") + private BigDecimal withdrawAvailable; + @SerializedName("lever_rate") + private BigDecimal lever_rate; + @SerializedName("adjust_factor") + private BigDecimal adjustFactor; + @SerializedName("margin_mode") + private String marginMode; + @SerializedName("margin_account") + private String marginAccount; + @SerializedName("trade_partition") + private String tradePartition; + @SerializedName("position_mode") + private String positionMode; + + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/account/SwapAccountPositionInfoResponse.java b/src/main/java/com/huobi/api/response/usdt/account/SwapAccountPositionInfoResponse.java new file mode 100644 index 0000000..3d158e1 --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/account/SwapAccountPositionInfoResponse.java @@ -0,0 +1,149 @@ +package com.huobi.api.response.usdt.account; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class SwapAccountPositionInfoResponse { + /** + * "status":"ok", + * "ts":1601012818626 + * "data":[{"symbol":"ETH","contract_code":"ETH-USDT","margin_balance":5018.308273184124880112,"margin_position":1.739876274000000000,"margin_frozen":0,"margin_available":5007.414260318062440056,"profit_real":0E-18,"profit_unreal":0E-18,"risk_rate":2884.230307406148858210,"withdraw_available":5016.568396910124880112000000000000000000,"liquidation_price":165579.962271216234522793,"lever_rate":5,"adjust_factor":0.060000000000000000,"margin_static":5018.308273184124880112,"positions":[{"symbol":"ETH","contract_code":"ETH-USDT","volume":3.000000000000000000,"available":3.000000000000000000,"frozen":0E-18,"cost_open":393.000000000000000000,"cost_hold":289.979379000000000000,"profit_unreal":0E-18,"profit_rate":1.310694923664122140,"lever_rate":5,"position_margin":1.739876274000000000,"direction":"sell","profit":3.090618630000000000,"last_price":289.979379,"margin_asset":"USDT"}],"margin_asset":"USDT"}] + */ + private String status; + private Long ts; + private List data; + + @Data + @AllArgsConstructor + public static class DataBean { + /** + * "symbol": "ETH", + * "contract_code": "ETH-USDT", + * "margin_balance": 5018.308273184124880112, + * "margin_position": 1.739876274000000000, + * "margin_frozen": 0, + * "margin_available": 5007.414260318062440056, + * "profit_real": 0E-18, + * "profit_unreal": 0E-18, + * "risk_rate": 2884.230307406148858210, + * "withdraw_available": 5016.568396910124880112000000000000000000, + * "liquidation_price": 165579.962271216234522793, + * "lever_rate": 5, + * "adjust_factor": 0.060000000000000000, + * "margin_static": 5018.308273184124880112, + * "margin_asset": "USDT" + * "marginAccount":"ETH-USDT", + * "marginMode":"isolated", + * "positions":[{"symbol":"ETH","contract_code":"ETH-USDT","volume":3.000000000000000000,"available":3.000000000000000000,"frozen":0E-18,"cost_open":393.000000000000000000,"cost_hold":289.979379000000000000,"profit_unreal":0E-18,"profit_rate":1.310694923664122140,"lever_rate":5,"position_margin":1.739876274000000000,"direction":"sell","profit":3.090618630000000000,"last_price":289.979379,"margin_asset":"USDT"}] + */ + private String symbol; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("margin_asset") + private String marginAsset; + @SerializedName("margin_balance") + private BigDecimal marginBalance; + @SerializedName("margin_static") + private BigDecimal marginStatic; + @SerializedName("margin_position") + private BigDecimal marginPosition; + @SerializedName("margin_frozen") + private BigDecimal marginFrozen; + @SerializedName("margin_position") + private BigDecimal marginAvailable; + @SerializedName("profit_real") + private BigDecimal profitReal; + @SerializedName("profit_unreal") + private BigDecimal profitUnreal; + @SerializedName("risk_rate") + private BigDecimal riskRate; + @SerializedName("liquidation_price") + private BigDecimal liquidationPrice; + @SerializedName("withdraw_available") + private BigDecimal withdrawAvailable; + @SerializedName("lever_rate") + private BigDecimal leverRate; + @SerializedName("adjust_factor") + private BigDecimal adjustFactor; + @SerializedName("margin_mode") + private String marginMode; + @SerializedName("margin_account") + private String marginAccount; + @SerializedName("trade_partition") + private String tradePartition; + private List positions; + @SerializedName("position_mode") + private String positionMode; + @SerializedName("new_risk_rate") + private BigDecimal newRiskRate; + @SerializedName("adl_risk_percent") + private BigDecimal adlRiskPercent; + + @Data + @AllArgsConstructor + public static class Positions { + /** + * "symbol": "ETH", + * "contract_code": "ETH-USDT", + * "volume": 3.000000000000000000, + * "available": 3.000000000000000000, + * "frozen": 0E-18, + * "cost_open": 393.000000000000000000, + * "cost_hold": 289.979379000000000000, + * "profit_unreal": 0E-18, + * "profit_rate": 1.310694923664122140, + * "lever_rate": 5, + * "position_margin": 1.739876274000000000, + * "direction": "sell", + * "profit": 3.090618630000000000, + * "last_price": 289.979379, + * "margin_asset": "USDT" + * "marginAccount":"ETH-USDT", + * "marginMode":"isolated" + */ + private String symbol; + @SerializedName("contract_code") + private String contractCode; + private BigDecimal volume; + private BigDecimal available; + private BigDecimal frozen; + @SerializedName("cost_open") + private BigDecimal costOpen; + @SerializedName("cost_hold") + private BigDecimal costHold; + @SerializedName("profit_unreal") + private BigDecimal profitUnreal; + @SerializedName("profit_rate") + private BigDecimal profitRate; + private BigDecimal profit; + @SerializedName("margin_asset") + private String marginAsset; + @SerializedName("position_margin") + private BigDecimal positionMargin; + @SerializedName("lever_rate") + private Integer leverRate; + private String direction; + @SerializedName("last_price") + private BigDecimal lastPrice; + @SerializedName("margin_mode") + private String marginMode; + @SerializedName("margin_account") + private String marginAccount; + @SerializedName("trade_partition") + private String tradePartition; + @SerializedName("position_mode") + private String positionMode; + @SerializedName("new_risk_rate") + private BigDecimal newRiskRate; + @SerializedName("adl_risk_percent") + private BigDecimal adlRiskPercent; + } + } +} + diff --git a/src/main/java/com/huobi/api/response/usdt/account/SwapApiTradingStatusResponse.java b/src/main/java/com/huobi/api/response/usdt/account/SwapApiTradingStatusResponse.java new file mode 100644 index 0000000..f00a886 --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/account/SwapApiTradingStatusResponse.java @@ -0,0 +1,106 @@ +package com.huobi.api.response.usdt.account; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +@Builder +public class SwapApiTradingStatusResponse { + + /** + * "status":"ok", + * "ts":1601013022262 + * "data":{"is_disable":0,"order_price_types":"","disable_reason":"","disable_interval":0,"recovery_time":0,"COR":{"orders_threshold":3,"orders":0,"invalid_cancel_orders":0,"cancel_ratio_threshold":0.100000000000000000,"cancel_ratio":0,"is_trigger":0,"is_active":1},"TDN":{"disables_threshold":2,"disables":0,"is_trigger":0,"is_active":1}} + */ + + private String status; + private Long ts; + private List data; + + @Data + @AllArgsConstructor + @Builder + public static class DataBean { + /** + * "is_disable": 0, + * "order_price_types": "", + * "disable_reason": "", + * "disable_interval": 0, + * "recovery_time": 0, + * "COR":{"orders_threshold":3,"orders":0,"invalid_cancel_orders":0,"cancel_ratio_threshold":0.100000000000000000,"cancel_ratio":0,"is_trigger":0,"is_active":1} + * "TDN":{"disables_threshold":2,"disables":0,"is_trigger":0,"is_active":1} + */ + + @SerializedName("is_disable") + private Integer isDisable; + @SerializedName("order_price_types") + private String orderPriceTypes; + @SerializedName("disable_reason") + private String DisableReason; + @SerializedName("disable_interval") + private Long disableInterval; + @SerializedName("recovery_time") + private Long recoveryTime; + @SerializedName("COR") + private List cor; + @SerializedName("TDN") + private List tdn; + + @Data + @AllArgsConstructor + @Builder + public static class CORBean { + + /** + * "orders_threshold": 3, + * "orders": 0, + * "invalid_cancel_orders": 0, + * "cancel_ratio_threshold": 0.100000000000000000, + * "cancel_ratio": 0, + * "is_trigger": 0, + * "is_active": 1 + */ + + @SerializedName("orders_threshold") + private Long ordersThreshold; + private Long orders; + @SerializedName("invalid_cancel_orders") + private Long invalidCancelOrders; + @SerializedName("cancel_ratio_threshold") + private BigDecimal cancelRatioThreshold; + @SerializedName("cancel_ratio") + private BigDecimal cancelRatio; + @SerializedName("is_trigger") + private Integer isTrigger; + @SerializedName("is_active") + private Integer isActive; + } + + @Data + @AllArgsConstructor + @Builder + public static class TDNBean { + + /** + * "disables_threshold": 2, + * "disables": 0, + * "is_trigger": 0, + * "is_active": 1 + */ + + @SerializedName("disables_threshold") + private Long disablesThreshold; + private Long disables; + @SerializedName("is_trigger") + private Integer isTrigger; + @SerializedName("is_active") + private Integer isActive; + } + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/account/SwapAvailableLevelRateResponse.java b/src/main/java/com/huobi/api/response/usdt/account/SwapAvailableLevelRateResponse.java new file mode 100644 index 0000000..db4722b --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/account/SwapAvailableLevelRateResponse.java @@ -0,0 +1,28 @@ +package com.huobi.api.response.usdt.account; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.util.List; + +@Data +@AllArgsConstructor +public class SwapAvailableLevelRateResponse { + private String status; + private Long ts; + private List data; + + @Data + @AllArgsConstructor + public static class DataBean{ + @SerializedName("contract_code") + private String contractCode; + @SerializedName("available_level_rate") + private String availableLevelRate; + @SerializedName("margin_mode") + private String marginMode; + @SerializedName("trade_partition") + private String tradePartition; + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/account/SwapBalanceValuationResponse.java b/src/main/java/com/huobi/api/response/usdt/account/SwapBalanceValuationResponse.java new file mode 100644 index 0000000..2e24955 --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/account/SwapBalanceValuationResponse.java @@ -0,0 +1,26 @@ +package com.huobi.api.response.usdt.account; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.util.List; + +@Data +@Builder +@AllArgsConstructor +public class SwapBalanceValuationResponse { + private String status; + private Long ts ; + private List data; + + @Data + @Builder + @AllArgsConstructor + public static class DataBean{ + @SerializedName("valuation_asset") + private String valuationAsset; + private String balance; + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/account/SwapCrossAccountInfoResponse.java b/src/main/java/com/huobi/api/response/usdt/account/SwapCrossAccountInfoResponse.java new file mode 100644 index 0000000..1df9f2f --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/account/SwapCrossAccountInfoResponse.java @@ -0,0 +1,94 @@ +package com.huobi.api.response.usdt.account; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +@Builder +public class SwapCrossAccountInfoResponse { + + private String status; + private Long ts; + private List data; + + @Data + @AllArgsConstructor + @Builder + public static class DataBean { + @SerializedName("margin_asset") + private String marginAsset; + @SerializedName("margin_balance") + private BigDecimal marginBalance; + @SerializedName("margin_static") + private BigDecimal marginStatic; + @SerializedName("margin_position") + private BigDecimal marginPosition; + @SerializedName("margin_frozen") + private BigDecimal marginFrozen; + @SerializedName("profit_real") + private BigDecimal profitReal; + @SerializedName("profit_unreal") + private BigDecimal profitUnreal; + @SerializedName("withdraw_available") + private BigDecimal withdrawAvailable; + @SerializedName("risk_rate") + private BigDecimal riskRate; + @SerializedName("margin_mode") + private String marginMode; + @SerializedName("margin_account") + private String marginAccount; + @SerializedName("contract_detail") + private List contractDetail; + @SerializedName("futures_contract_detail") + private List futuresContractDetail; + @SerializedName("position_mode") + private String positionMode; + @SerializedName("money_in") + private BigDecimal moneyIn; + @SerializedName("money_out") + private BigDecimal moneyOut; + @SerializedName("new_risk_rate") + private BigDecimal newRiskRate; + + + @Data + @AllArgsConstructor + @Builder + public static class ContractDetailBean { + private String symbol; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("margin_position") + private BigDecimal marginPosition; + @SerializedName("margin_frozen") + private BigDecimal marginFrozen; + @SerializedName("margin_available") + private BigDecimal marginAvailable; + @SerializedName("profit_unreal") + private BigDecimal profitUnreal; + @SerializedName("liquidation_price") + private BigDecimal liquidationPrice; + @SerializedName("lever_rate") + private BigDecimal leverRate; + @SerializedName("adjust_factor") + private BigDecimal adjustFactor; + private String pair; + @SerializedName("business_type") + private String businessType; + @SerializedName("contract_type") + private String contractType; + @SerializedName("trade_partition") + private String tradePartition; + @SerializedName("cross_max_available") + private BigDecimal crossMaxAvailable; + + } + + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/account/SwapCrossAccountPositionInfoResponse.java b/src/main/java/com/huobi/api/response/usdt/account/SwapCrossAccountPositionInfoResponse.java new file mode 100644 index 0000000..a7e8d1c --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/account/SwapCrossAccountPositionInfoResponse.java @@ -0,0 +1,136 @@ +package com.huobi.api.response.usdt.account; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class SwapCrossAccountPositionInfoResponse { + + private String status; + private Long ts; + private List data; + + @Data + @AllArgsConstructor + public static class DataBean { + @SerializedName("margin_mode") + private String marginMode; + @SerializedName("margin_account") + private String marginAccount; + @SerializedName("margin_asset") + private String marginAsset; + @SerializedName("margin_balance") + private BigDecimal marginBalance; + @SerializedName("margin_static") + private BigDecimal marginStatic; + @SerializedName("margin_position") + private BigDecimal marginPosition; + @SerializedName("margin_frozen") + private BigDecimal marginFrozen; + @SerializedName("profit_real") + private BigDecimal profitReal; + @SerializedName("profit_unreal") + private BigDecimal profitUnreal; + @SerializedName("withdraw_available") + private BigDecimal withdrawAvailable; + @SerializedName("risk_rate") + private BigDecimal riskRate; + private List positions; + @SerializedName("contract_detail") + private List contractDetail; + @SerializedName("futures_contract_detail") + private List futuresContractDetail; + @SerializedName("position_mode") + private String positionMode; + @SerializedName("money_in") + private BigDecimal moneyIn; + @SerializedName("money_out") + private BigDecimal moneyOut; + @SerializedName("new_risk_rate") + private String newRiskRate; + @SerializedName("adl_risk_percent") + private BigDecimal adlRiskPercent; + + @Data + @AllArgsConstructor + public static class ContractDetailBean{ + private String symbol; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("margin_position") + private BigDecimal marginPosition; + @SerializedName("margin_frozen") + private BigDecimal marginFrozen; + @SerializedName("margin_available") + private BigDecimal marginAvailable; + @SerializedName("profit_unreal") + private BigDecimal profitUnreal; + @SerializedName("liquidation_price") + private BigDecimal liquidationPrice; + @SerializedName("lever_rate") + private BigDecimal leverRate; + @SerializedName("adjust_factor") + private BigDecimal adjustFactor; + private String pair; + @SerializedName("business_type") + private String businessType; + @SerializedName("contract_type") + private String contractType; + @SerializedName("trade_partition") + private String tradePartition; + @SerializedName("cross_max_available") + private BigDecimal crossMaxAvailable; + + } + + @Data + @AllArgsConstructor + public static class Positions { + private String symbol; + @SerializedName("contract_code") + private String contractCode; + private BigDecimal volume; + private BigDecimal available; + private BigDecimal frozen; + @SerializedName("cost_open") + private BigDecimal costOpen; + @SerializedName("cost_hold") + private BigDecimal costHold; + @SerializedName("profit_unreal") + private BigDecimal profitUnreal; + @SerializedName("profit_rate") + private BigDecimal profitRate; + private BigDecimal profit; + @SerializedName("margin_asset") + private String marginAsset; + @SerializedName("position_margin") + private BigDecimal positionMargin; + @SerializedName("lever_rate") + private Integer leverRate; + private String direction; + @SerializedName("last_price") + private BigDecimal lastPrice; + @SerializedName("margin_mode") + private String marginMode; + @SerializedName("margin_account") + private String marginAccount; + private String pair; + @SerializedName("business_type") + private String businessType; + @SerializedName("contract_type") + private String contractType; + @SerializedName("trade_partition") + private String tradePartition; + @SerializedName("position_mode") + private String positionMode; + @SerializedName("new_risk_rate") + private BigDecimal newRiskRate; + } + } +} + diff --git a/src/main/java/com/huobi/api/response/usdt/account/SwapCrossAvailableLevelRateResponse.java b/src/main/java/com/huobi/api/response/usdt/account/SwapCrossAvailableLevelRateResponse.java new file mode 100644 index 0000000..d223f50 --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/account/SwapCrossAvailableLevelRateResponse.java @@ -0,0 +1,33 @@ +package com.huobi.api.response.usdt.account; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.util.List; + +@Data +@AllArgsConstructor +public class SwapCrossAvailableLevelRateResponse { + private String status; + private Long ts; + private List data; + + @Data + @AllArgsConstructor + public static class DataBean{ + @SerializedName("contract_code") + private String contractCode; + @SerializedName("available_level_rate") + private String availableLevelRate; + @SerializedName("margin_mode") + private String marginMode; + private String pair; + @SerializedName("business_type") + private String businessType; + @SerializedName("contract_type") + private String contractType; + @SerializedName("trade_partition") + private String tradePartition; + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/account/SwapCrossPositionInfoResponse.java b/src/main/java/com/huobi/api/response/usdt/account/SwapCrossPositionInfoResponse.java new file mode 100644 index 0000000..7e478a5 --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/account/SwapCrossPositionInfoResponse.java @@ -0,0 +1,61 @@ +package com.huobi.api.response.usdt.account; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class SwapCrossPositionInfoResponse { + + private String status; + private long ts; + private List data; + + @Data + @AllArgsConstructor + public static class DataBean { + private String symbol; + @SerializedName("contract_code") + private String contractCode; + private BigDecimal volume; + private BigDecimal available; + private BigDecimal frozen; + @SerializedName("cost_open") + private BigDecimal costOpen; + @SerializedName("cost_hold") + private BigDecimal costHold; + @SerializedName("profit_unreal") + private BigDecimal profitUnreal; + @SerializedName("profit_rate") + private BigDecimal profitRate; + private BigDecimal profit; + @SerializedName("margin_asset") + private String marginAsset; + @SerializedName("position_margin") + private BigDecimal positionMargin; + @SerializedName("lever_rate") + private Integer LeverRate; + private String direction; + @SerializedName("last_price") + private BigDecimal lastPrice; + @SerializedName("margin_mode") + private String marginMode; + @SerializedName("margin_account") + private String marginAccount; + private String pair; + @SerializedName("business_type") + private String businessType; + @SerializedName("contract_type") + private String contractType; + @SerializedName("trade_partition") + private String tradePartition; + @SerializedName("position_mode") + private String positionMode; + @SerializedName("adl_risk_percent") + private BigDecimal adlRiskPercent; + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/account/SwapCrossPositionLimitResponse.java b/src/main/java/com/huobi/api/response/usdt/account/SwapCrossPositionLimitResponse.java new file mode 100644 index 0000000..7092b88 --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/account/SwapCrossPositionLimitResponse.java @@ -0,0 +1,47 @@ +package com.huobi.api.response.usdt.account; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class SwapCrossPositionLimitResponse { + + private String status; + private long ts; + private List data; + + @Data + @AllArgsConstructor + public static class DataBean { + + private String symbol; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("margin_mode") + private String marginMode; + @SerializedName("buy_limit") + private BigDecimal buyLimit; + @SerializedName("sell_limit") + private BigDecimal sellLimit; + private String pair; + @SerializedName("business_type") + private String businessType; + @SerializedName("contract_type") + private String contractType; + @SerializedName("lever_rate") + private Integer leverRate; + @SerializedName("buy_limit_value") + private BigDecimal buyLimitValue; + @SerializedName("sell_limit_value") + private BigDecimal sellLimitValue; + @SerializedName("mark_price") + private BigDecimal markPrice; + @SerializedName("trade_partition") + private String tradePartition; + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/account/SwapCrossSubAccountInfoResponse.java b/src/main/java/com/huobi/api/response/usdt/account/SwapCrossSubAccountInfoResponse.java new file mode 100644 index 0000000..577c622 --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/account/SwapCrossSubAccountInfoResponse.java @@ -0,0 +1,89 @@ +package com.huobi.api.response.usdt.account; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class SwapCrossSubAccountInfoResponse { + + private String status; + private long ts; + private List data; + + @Data + @AllArgsConstructor + public static class DataBean { + @SerializedName("margin_mode") + private String marginMode; + @SerializedName("margin_account") + private String marginAccount; + @SerializedName("margin_asset") + private String marginAsset; + @SerializedName("margin_balance") + private BigDecimal marginBalance; + @SerializedName("margin_static") + private BigDecimal marginStatic; + @SerializedName("margin_position") + private BigDecimal marginPosition; + @SerializedName("margin_frozen") + private BigDecimal marginFrozen; + @SerializedName("profit_real") + private BigDecimal profitReal; + @SerializedName("profit_unreal") + private BigDecimal profitUnreal; + @SerializedName("withdraw_available") + private BigDecimal withdrawAvailable; + @SerializedName("risk_rate") + private BigDecimal riskRate; + @SerializedName("contract_detail") + private List contractDetail; + @SerializedName("futures_contract_detail") + private List futuresContractDetail; + @SerializedName("position_mode") + private String positionMode; + @SerializedName("money_in") + private BigDecimal moneyIn; + @SerializedName("money_out") + private BigDecimal moneyOut; + @SerializedName("new_risk_rate") + private BigDecimal newRiskRate; + + @Data + @AllArgsConstructor + public static class ContractDetailBean { + private String symbol; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("margin_position") + private BigDecimal marginPosition; + @SerializedName("margin_frozen") + private BigDecimal marginFrozen; + @SerializedName("margin_available") + private BigDecimal marginAvailable; + @SerializedName("profit_unreal") + private BigDecimal profitUnreal; + @SerializedName("liquidation_price") + private BigDecimal liquidationPrice; + @SerializedName("lever_rate") + private BigDecimal leverRate; + @SerializedName("adjust_factor") + private BigDecimal adjustFactor; + private String pair; + @SerializedName("business_type") + private String businessType; + @SerializedName("contract_type") + private String contractType; + @SerializedName("trade_partition") + private String tradePartition; + @SerializedName("cross_max_available") + private BigDecimal crossMaxAvailable; + + } + + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/account/SwapCrossSubAccountListResponse.java b/src/main/java/com/huobi/api/response/usdt/account/SwapCrossSubAccountListResponse.java new file mode 100644 index 0000000..d037a4b --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/account/SwapCrossSubAccountListResponse.java @@ -0,0 +1,45 @@ +package com.huobi.api.response.usdt.account; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class SwapCrossSubAccountListResponse { + + private String status; + private long ts; + private List data; + + @Data + @AllArgsConstructor + public static class DataBean { + + @SerializedName("sub_uid") + private Long subUid; + private List list; + + @Data + @AllArgsConstructor + public static class ListBean { + @SerializedName("margin_mode") + private String marginMode; + @SerializedName("margin_account") + private String marginAccount; + @SerializedName("margin_asset") + private String marginAsset; + @SerializedName("margin_balance") + private BigDecimal marginBalance; + @SerializedName("risk_rate") + private BigDecimal riskRate; + @SerializedName("trade_partition") + private String tradePartition; + @SerializedName("query_id") + private Long queryId; + } + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/account/SwapCrossSubPositionInfoResponse.java b/src/main/java/com/huobi/api/response/usdt/account/SwapCrossSubPositionInfoResponse.java new file mode 100644 index 0000000..b281ab8 --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/account/SwapCrossSubPositionInfoResponse.java @@ -0,0 +1,65 @@ +package com.huobi.api.response.usdt.account; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class SwapCrossSubPositionInfoResponse { + + + private String status; + private Long ts; + private List data; + + @Data + @AllArgsConstructor + public static class DataBean { + + private String symbol; + @SerializedName("contract_code") + private String contractCode; + private BigDecimal volume; + private BigDecimal available; + private BigDecimal frozen; + @SerializedName("cost_open") + private BigDecimal costOpen; + @SerializedName("cost_hold") + private BigDecimal costHold; + @SerializedName("profit_unreal") + private BigDecimal profitUnreal; + @SerializedName("profit_rate") + private BigDecimal profitRate; + private BigDecimal profit; + @SerializedName("margin_asset") + private String marginAsset; + @SerializedName("position_margin") + private BigDecimal positionMargin; + @SerializedName("lever_rate") + private Integer leverRate; + private String direction; + @SerializedName("last_price") + private BigDecimal lastPrice; + @SerializedName("margin_mode") + private String marginMode; + @SerializedName("margin_account") + private String marginAccount; + private String pair; + @SerializedName("business_type") + private String businessType; + @SerializedName("contract_type") + private String contractType; + @SerializedName("trade_partition") + private String tradePartition; + @SerializedName("position_mode") + private String positionMode; + @SerializedName("adl_risk_percent") + private BigDecimal adlRiskPercent; + @SerializedName("new_risk_rate") + private BigDecimal newRiskRate; + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/account/SwapCrossTransferLimitResponse.java b/src/main/java/com/huobi/api/response/usdt/account/SwapCrossTransferLimitResponse.java new file mode 100644 index 0000000..097e01a --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/account/SwapCrossTransferLimitResponse.java @@ -0,0 +1,44 @@ +package com.huobi.api.response.usdt.account; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class SwapCrossTransferLimitResponse { + + private String status; + private long ts; + private List data; + + @Data + @AllArgsConstructor + public static class DataBean { + @SerializedName("margin_mode") + private String marginMode; + @SerializedName("margin_account") + private String marginAccount; + @SerializedName("transfer_in_max_each") + private BigDecimal transferInMaxEach; + @SerializedName("transfer_in_min_each") + private BigDecimal transferInMinEach; + @SerializedName("transfer_out_max_each") + private BigDecimal transferOutMaxEach; + @SerializedName("transfer_out_min_each") + private BigDecimal transferOutMinEach; + @SerializedName("transfer_in_max_daily") + private BigDecimal transferInMaxDaily; + @SerializedName("transfer_out_max_daily") + private BigDecimal transferOutMaxDaily; + @SerializedName("net_transfer_in_max_daily") + private BigDecimal netTransferInMaxDaily; + @SerializedName("net_transfer_out_max_daily") + private BigDecimal netTransferOutMaxDaily; + @SerializedName("trade_partition") + private String tradePartition; + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/account/SwapCrossUserSettlementRecordsResponse.java b/src/main/java/com/huobi/api/response/usdt/account/SwapCrossUserSettlementRecordsResponse.java new file mode 100644 index 0000000..bf9c517 --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/account/SwapCrossUserSettlementRecordsResponse.java @@ -0,0 +1,103 @@ +package com.huobi.api.response.usdt.account; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Builder +@Data +@AllArgsConstructor +public class SwapCrossUserSettlementRecordsResponse { + private String status; + private Long ts ; + private List data; + + @Builder + @Data + @AllArgsConstructor + public static class DataBean{ + @SerializedName("total_page") + private Integer totalPage; + @SerializedName("total_size") + private Integer totalSize; + @SerializedName("current_page") + private Integer currentPage; + @SerializedName("settlement_records") + private List settlementRecords; + + @Builder + @Data + @AllArgsConstructor + public static class SettlementRecordsBean{ + @SerializedName("margin_mode") + private String marginMode; + @SerializedName("margin_account") + private String marginAccount; + @SerializedName("margin_balance_init") + private BigDecimal marginBalanceInit; + @SerializedName("margin_balance") + private BigDecimal marginBalance; + @SerializedName("settlement_profit_real") + private BigDecimal settlementProfitReal; + @SerializedName("settlement_time") + private Long settlementTime; + private BigDecimal clawback; + @SerializedName("funding_fee") + private BigDecimal fundingFee; + @SerializedName("offset_profitloss") + private BigDecimal offsetProfitloss; + private BigDecimal fee; + @SerializedName("fee_asset") + private String feeAsset; + @SerializedName("contract_detail") + private List contractDetail; + + @Builder + @Data + @AllArgsConstructor + public static class ContractDetailBean{ + private String symbol; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("offset_profitloss") + private BigDecimal offsetProfitloss; + private BigDecimal fee; + @SerializedName("fee_asset") + private String feeAsset; + private String pair; + @SerializedName("trade_partition") + private String tradePartition; + private List positions; + + @Builder + @Data + @AllArgsConstructor + public static class PositionsBean{ + private String symbol; + @SerializedName("contract_code") + private String contractCode; + private String direction; + private BigDecimal volume; + @SerializedName("cost_open") + private BigDecimal costOpen; + @SerializedName("cost_hold_pre") + private BigDecimal costHoldPre; + @SerializedName("cost_hold") + private BigDecimal costHold; + @SerializedName("settlement_profit_unreal") + private BigDecimal settlementProfitUnreal; + @SerializedName("settlement_price") + private BigDecimal settlementPrice; + @SerializedName("settlement_type") + private String settlementType; + private String pair; + } + } + + } + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/account/SwapFeeResponse.java b/src/main/java/com/huobi/api/response/usdt/account/SwapFeeResponse.java new file mode 100644 index 0000000..f1174c8 --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/account/SwapFeeResponse.java @@ -0,0 +1,59 @@ +package com.huobi.api.response.usdt.account; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.util.List; + +@Data +@AllArgsConstructor +public class SwapFeeResponse { + + /** + * "status":"ok", + * "data":[{"symbol":"ETH","contract_code":"ETH-USDT","open_maker_fee":"-0.00022","open_taker_fee":"0.0004","close_maker_fee":"-0.00012","close_taker_fee":"0.0005","fee_asset":"USDT"}], + * "ts":1601013192499 + */ + + private String status; + private Long ts; + private List data; + + @Data + @AllArgsConstructor + public static class DataBean { + + /** + * "symbol": "ETH", + * "contract_code": "ETH-USDT", + * "open_maker_fee": "-0.00022", + * "open_taker_fee": "0.0004", + * "close_maker_fee": "-0.00012", + * "close_taker_fee": "0.0005", + * "fee_asset": "USDT" + */ + private String symbol; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("open_maker_fee") + private String openMakerFee; + @SerializedName("open_taker_fee") + private String openTakerFee; + @SerializedName("close_maker_fee") + private String closeMakerFee; + @SerializedName("close_taker_fee") + private String closeTakerFee; + @SerializedName("fee_asset") + private String feeAsset; + private String pair; + @SerializedName("business_type") + private String businessType; + @SerializedName("contract_type") + private String contractType; + @SerializedName("trade_partition") + private String tradePartition; + @SerializedName("delivery_fee") + private String deliveryFee; + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/account/SwapFinancialRecordExactResponse.java b/src/main/java/com/huobi/api/response/usdt/account/SwapFinancialRecordExactResponse.java new file mode 100644 index 0000000..4e637ae --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/account/SwapFinancialRecordExactResponse.java @@ -0,0 +1,50 @@ +package com.huobi.api.response.usdt.account; + + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@AllArgsConstructor +@Data +@Builder +public class SwapFinancialRecordExactResponse { + private String status; + private Long ts; + private List data; + + @AllArgsConstructor + @Data + @Builder + public static class DataBean{ + @SerializedName("remain_size") + private Integer remainSize; + @SerializedName("next_id") + private Long nextId; + @SerializedName("financial_record") + private List financialRecord; + + @AllArgsConstructor + @Data + @Builder + public static class FinancialRecordBean{ + private Long id; + private Long ts; + private String asset; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("margin_account") + private String marginAccount; + @SerializedName("face_margin_account") + private String faceMarginAccount; + private Integer type; + private BigDecimal amount; + @SerializedName("trade_partition") + private String tradePartition; + } + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/account/SwapFinancialRecordExactV3Response.java b/src/main/java/com/huobi/api/response/usdt/account/SwapFinancialRecordExactV3Response.java new file mode 100644 index 0000000..e21988d --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/account/SwapFinancialRecordExactV3Response.java @@ -0,0 +1,38 @@ +package com.huobi.api.response.usdt.account; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@AllArgsConstructor +@Data +@Builder +public class SwapFinancialRecordExactV3Response { + private Integer code; + private String msg; + private Long ts; + private List data; + @AllArgsConstructor + @Data + @Builder + public static class DataBean { + @SerializedName("query_id") + private Long queryId; + @SerializedName("id") + private Long id; + private Long ts; + private String asset; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("margin_account") + private String marginAccount; + @SerializedName("face_margin_account") + private String faceMarginAccount; + private Integer type; + private BigDecimal amount; + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/account/SwapFinancialRecordResponse.java b/src/main/java/com/huobi/api/response/usdt/account/SwapFinancialRecordResponse.java new file mode 100644 index 0000000..710599f --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/account/SwapFinancialRecordResponse.java @@ -0,0 +1,72 @@ +package com.huobi.api.response.usdt.account; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class SwapFinancialRecordResponse { + + /** + * "status": "ok", + * "data":{"total_page":4,"current_page":1,"total_size":78,"financial_record":[{"id":32570,"type":5,"amount":-0.051645550000000000,"ts":1600935837608,"contract_code":"BTC-USDT","asset":"USDT","margin_account":"BTC-USDT","face_margin_account":""},{"id":32465,"type":5,"amount":-0.051645550000000000,"ts":1600926986046,"contract_code":"BTC-USDT","asset":"USDT","margin_account":"BTC-USDT","face_margin_account":""}] + * "ts":1601013304748 + */ + + private String status; + private DataBean data; + private long ts; + + @Data + @AllArgsConstructor + public static class DataBean { + /** + * "total_page": 4, + * "current_page": 1, + * "total_size": 78, + * "financial_record":[{"id":32570,"type":5,"amount":-0.051645550000000000,"ts":1600935837608,"contract_code":"BTC-USDT","asset":"USDT","margin_account":"BTC-USDT","face_margin_account":""},{"id":32465,"type":5,"amount":-0.051645550000000000,"ts":1600926986046,"contract_code":"BTC-USDT","asset":"USDT","margin_account":"BTC-USDT","face_margin_account":""}] + */ + @SerializedName("total_page") + private Integer totalPage; + @SerializedName("current_page") + private Integer currentPage; + @SerializedName("total_size") + private Integer totalSize; + @SerializedName("financial_record") + private List financialRecord; + + @Data + @AllArgsConstructor + public static class FinancialRecordBean { + + /** + * "id": 32570, + * "type": 5, + * "amount": -0.051645550000000000, + * "ts": 1600935837608, + * "contract_code": "BTC-USDT", + * "asset": "USDT", + * "margin_account": "BTC-USDT", + * "face_margin_account": "" + */ + private Long id; + private Long ts; + private String asset; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("margin_account") + private String marginAccount; + @SerializedName("face_margin_account") + private String faceMarginAccount; + private Integer type; + private BigDecimal amount; + @SerializedName("trade_partition") + private String tradePartition; + + } + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/account/SwapFinancialRecordV3Response.java b/src/main/java/com/huobi/api/response/usdt/account/SwapFinancialRecordV3Response.java new file mode 100644 index 0000000..dfa656a --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/account/SwapFinancialRecordV3Response.java @@ -0,0 +1,36 @@ +package com.huobi.api.response.usdt.account; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; + +@Builder +@AllArgsConstructor +@Data +public class SwapFinancialRecordV3Response { + private Integer code; + private String msg; + private Long ts; + private DataBean data; + @Data + @AllArgsConstructor + public static class DataBean { + @SerializedName("query_id") + private Long queryId; + private Long id; + private Long ts; + private String asset; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("margin_account") + private String marginAccount; + @SerializedName("face_margin_account") + private String faceMarginAccount; + private Integer type; + private BigDecimal amount; + + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/account/SwapLeverPositionLimitResponse.java b/src/main/java/com/huobi/api/response/usdt/account/SwapLeverPositionLimitResponse.java new file mode 100644 index 0000000..305c133 --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/account/SwapLeverPositionLimitResponse.java @@ -0,0 +1,49 @@ +package com.huobi.api.response.usdt.account; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@AllArgsConstructor +@Data +@Builder +public class SwapLeverPositionLimitResponse { + private String status; + private Long ts; + private List data; + + @AllArgsConstructor + @Data + @Builder + public static class DataBean{ + private String symbol; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("trade_partition") + private String tradePartition; + @SerializedName("margin_mode") + private String marginMode; + @SerializedName("business_type") + private String businessType; + @SerializedName("contract_type") + private String contractType; + private String pair; + private List list; + + @AllArgsConstructor + @Data + @Builder + public static class ListBean{ + @SerializedName("lever_rate") + private Long leverRate; + @SerializedName("buy_limit_value") + private BigDecimal buyLimitValue; + @SerializedName("sell_limit_value") + private BigDecimal sellLimitValue; + } + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/account/SwapLiquidationOrdersV3Response.java b/src/main/java/com/huobi/api/response/usdt/account/SwapLiquidationOrdersV3Response.java new file mode 100644 index 0000000..f65c878 --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/account/SwapLiquidationOrdersV3Response.java @@ -0,0 +1,42 @@ +package com.huobi.api.response.usdt.account; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Builder +@AllArgsConstructor +@Data +public class SwapLiquidationOrdersV3Response { + private Integer code; + private String msg; + private Long ts; + private List data; + + @Data + @AllArgsConstructor + public static class DataBean { + @SerializedName("query_id") + private Long queryId; + private String symbol; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("created_at") + private Long createdAt; + private String direction; + private String offset; + private BigDecimal volume; + private BigDecimal amount; + private BigDecimal price; + @SerializedName("trade_turnover") + private BigDecimal tradeTurnover; + private String pair; + @SerializedName("business_type") + private String businessType; + + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/account/SwapMasterSubTransferRecordResponse.java b/src/main/java/com/huobi/api/response/usdt/account/SwapMasterSubTransferRecordResponse.java new file mode 100644 index 0000000..364b2ee --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/account/SwapMasterSubTransferRecordResponse.java @@ -0,0 +1,83 @@ +package com.huobi.api.response.usdt.account; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +@Builder +public class SwapMasterSubTransferRecordResponse { + + /** + * "status":"ok", + * "data":{"total_page":1,"current_page":1,"total_size":2,"transfer_record":[{"id":31201,"transfer_type":34,"amount":-50.000000000000000000,"ts":1600914842175,"sub_uid":"114390100","sub_account_name":"xiaowei","margin_account":"BTC-USDT","asset":"USDT","to_margin_account":"BTC-USDT","from_margin_account":"BTC-USDT"},{"id":26988,"transfer_type":34,"amount":-5000.000000000000000000,"ts":1600681596931,"sub_uid":"114390100","sub_account_name":"xiaowei","margin_account":"BTC-USDT","asset":"USDT","to_margin_account":"BTC-USDT","from_margin_account":"BTC-USDT"}]}, + * "ts":1601014410977 + */ + + private String status; + private Long ts; + private List data; + + @Data + @AllArgsConstructor + @Builder + public static class DataBean { + + /** + * "total_page": 1, + * "current_page": 1, + * "total_size": 2, + * "transfer_record":[{"id":31201,"transfer_type":34,"amount":-50.000000000000000000,"ts":1600914842175,"sub_uid":"114390100","sub_account_name":"xiaowei","margin_account":"BTC-USDT","asset":"USDT","to_margin_account":"BTC-USDT","from_margin_account":"BTC-USDT"},{"id":26988,"transfer_type":34,"amount":-5000.000000000000000000,"ts":1600681596931,"sub_uid":"114390100","sub_account_name":"xiaowei","margin_account":"BTC-USDT","asset":"USDT","to_margin_account":"BTC-USDT","from_margin_account":"BTC-USDT"}] + */ + + @SerializedName("transfer_record") + private List transferRecord; + @SerializedName("total_page") + private Integer totalPage; + @SerializedName("current_page") + private Integer currentPage; + @SerializedName("total_size") + private Integer totalSize; + + @Data + @AllArgsConstructor + @Builder + public static class TransferRecord { + + /** + * "id": 31201, + * "transfer_type": 34, + * "amount": -50.000000000000000000, + * "ts": 1600914842175, + * "sub_uid": "114390100", + * "sub_account_name": "wei", + * "margin_account": "BTC-USDT", + * "asset": "USDT", + * "to_margin_account": "BTC-USDT", + * "from_margin_account": "BTC-USDT" + */ + + private Long id; + private Long ts; + private String asset; + @SerializedName("margin_account") + private String marginAccount; + @SerializedName("from_margin_account") + private String fromMarginAccount; + @SerializedName("to_margin_account") + private String toMarginAccount; + @SerializedName("sub_uid") + private String subUid; + @SerializedName("sub_account_name") + private String subAccountName; + @SerializedName("transfer_type") + private Integer transferType; + private BigDecimal amount; + } + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/account/SwapMasterSubTransferResponse.java b/src/main/java/com/huobi/api/response/usdt/account/SwapMasterSubTransferResponse.java new file mode 100644 index 0000000..08cfca2 --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/account/SwapMasterSubTransferResponse.java @@ -0,0 +1,38 @@ +package com.huobi.api.response.usdt.account; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.util.List; + +@Data +@AllArgsConstructor +@Builder +public class SwapMasterSubTransferResponse { + + /** + * {"status":"ok", + * "data":{"order_id":"759056715424780288"}, + * "ts":1601014823718} + */ + + private String status; + private Long ts; + private List data; + + @Data + @AllArgsConstructor + public static class DataBean { + + /** + * "order_id":"759056715424780288" + */ + + @SerializedName("order_id") + private Long orderId; + @SerializedName("client_order_id") + private Long clientOrderId; + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/account/SwapOrderLimitResponse.java b/src/main/java/com/huobi/api/response/usdt/account/SwapOrderLimitResponse.java new file mode 100644 index 0000000..50f7e4c --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/account/SwapOrderLimitResponse.java @@ -0,0 +1,64 @@ +package com.huobi.api.response.usdt.account; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.util.List; + +@Data +@AllArgsConstructor +public class SwapOrderLimitResponse { + + /** + * "status":"ok", + * "data":{"order_price_type":"limit","list":[{"symbol":"ETH","contract_code":"ETH-USDT","open_limit":10001.000000000000000000,"close_limit":20000.000000000000000000},{"symbol":"LTC","contract_code":"LTC-USDT","open_limit":999999999.000000000000000000,"close_limit":100000.000000000000000000},{"symbol":"EOS","contract_code":"EOS-USDT","open_limit":1000000000.000000000000000000,"close_limit":1000000.000000000000000000},{"symbol":"BTC","contract_code":"BTC-USDT","open_limit":40000.000000000000000000,"close_limit":10000.000000000000000000}]}, + * "ts":1601014888426 + */ + + private String status; + private List data; + private Long ts; + + @Data + @AllArgsConstructor + public static class DataBean { + + /** + * "order_price_type":"limit", + * "list":[{"symbol":"ETH","contract_code":"ETH-USDT","open_limit":10001.000000000000000000,"close_limit":20000.000000000000000000}] + */ + + @SerializedName("order_price_type") + private String orderPriceType; + private List list; + + @Data + @AllArgsConstructor + public static class ListBean { + + /** + * "symbol": "ETH", + * "contract_code": "ETH-USDT", + * "open_limit": 10001.000000000000000000, + * "close_limit": 20000.000000000000000000 + */ + + private String symbol; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("open_limit") + private Float openLimit; + @SerializedName("close_limit") + private Float closeLimit; + private String pair; + @SerializedName("business_type") + private String businessType; + @SerializedName("contract_type") + private String contractType; + @SerializedName("trade_partition") + private String tradePartition; + + } + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/account/SwapPositionInfoResponse.java b/src/main/java/com/huobi/api/response/usdt/account/SwapPositionInfoResponse.java new file mode 100644 index 0000000..3df3ef6 --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/account/SwapPositionInfoResponse.java @@ -0,0 +1,85 @@ +package com.huobi.api.response.usdt.account; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class SwapPositionInfoResponse { + /** + * "status":"ok", + * "data":[{"symbol":"ETH","contract_code":"ETH-USDT","volume":3.000000000000000000,"available":3.000000000000000000,"frozen":0E-18,"cost_open":393.000000000000000000,"cost_hold":289.979379000000000000,"profit_unreal":0.299381370000000000,"profit_rate":1.437659033078880410,"lever_rate":5,"position_margin":1.680000000000000000,"direction":"sell","profit":3.390000000000000000,"last_price":280,"margin_asset":"USDT"}], + * "ts":1601015114151 + */ + private String status; + private long ts; + private List data; + + @Data + @AllArgsConstructor + public static class DataBean { + /** + * "symbol": "ETH", + * "contract_code": "ETH-USDT", + * "volume": 3.000000000000000000, + * "available": 3.000000000000000000, + * "frozen": 0E-18, + * "cost_open": 393.000000000000000000, + * "cost_hold": 289.979379000000000000, + * "profit_unreal": 0.299381370000000000, + * "profit_rate": 1.437659033078880410, + * "lever_rate": 5, + * "position_margin": 1.680000000000000000, + * "direction": "sell", + * "profit": 3.390000000000000000, + * "last_price": 280, + * "margin_mode":"ETH-USDT", + * "margin_account":"isolated", + * "margin_asset": "USDT" + */ + private String symbol; + @SerializedName("contract_code") + private String contractCode; + private BigDecimal volume; + private BigDecimal available; + private BigDecimal frozen; + @SerializedName("cost_open") + private BigDecimal costOpen; + @SerializedName("cost_hold") + private BigDecimal costHold; + @SerializedName("profit_unreal") + private BigDecimal profitUnreal; + @SerializedName("profit_rate") + private BigDecimal profitRate; + private BigDecimal profit; + @SerializedName("margin_asset") + private String marginAsset; + @SerializedName("position_margin") + private BigDecimal positionMargin; + @SerializedName("lever_rate") + private Integer LeverRate; + private String direction; + @SerializedName("last_price") + private BigDecimal lastPrice; + @SerializedName("margin_mode") + private String marginMode; + @SerializedName("margin_account") + private String marginAccount; + @SerializedName("trade_partition") + private String tradePartition; + @SerializedName("position_mode") + private String positionMode; + @SerializedName("withdraw_available") + private BigDecimal withdrawAvailable; + @SerializedName("risk_rate") + private BigDecimal riskRate; + @SerializedName("liquidation_price") + private BigDecimal liquidationPrice; + @SerializedName("adl_risk_percent") + private BigDecimal adl_risk_percent; + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/account/SwapPositionLimitResponse.java b/src/main/java/com/huobi/api/response/usdt/account/SwapPositionLimitResponse.java new file mode 100644 index 0000000..ef69e67 --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/account/SwapPositionLimitResponse.java @@ -0,0 +1,57 @@ +package com.huobi.api.response.usdt.account; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class SwapPositionLimitResponse { + + /** + * "status":"ok", + * "data":[{"symbol":"ETH","contract_code":"ETH-USDT","buy_limit":1234567.000000000000000000,"sell_limit":7654321.000000000000000000},{"symbol":"LTC","contract_code":"LTC-USDT","buy_limit":20000000.000000000000000000,"sell_limit":9999999999.000000000000000000},{"symbol":"EOS","contract_code":"EOS-USDT","buy_limit":111.000000000000000000,"sell_limit":222.000000000000000000},{"symbol":"BTC","contract_code":"BTC-USDT","buy_limit":98765432.000000000000000000,"sell_limit":999999999.000000000000000000}], + * "ts":1601015282669 + */ + + private String status; + private long ts; + private List data; + + @Data + @AllArgsConstructor + public static class DataBean { + + /** + * "symbol": "ETH", + * "contract_code": "ETH-USDT", + * "margin_mode":"isolated", + * "buy_limit": 1234567.000000000000000000, + * "sell_limit": 7654321.000000000000000000 + */ + + private String symbol; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("buy_limit") + private BigDecimal buyLimit; + @SerializedName("sell_limit") + private BigDecimal sellLimit; + @SerializedName("margin_mode") + private String marginMode; + @SerializedName("trade_partition") + private String tradePartition; + @SerializedName("lever_rate") + private Integer leverRate; + @SerializedName("buy_limit_value") + private BigDecimal buyLimitValue; + @SerializedName("sell_limit_value") + private BigDecimal sellLimitValue; + @SerializedName("mark_price") + private BigDecimal markPrice; + + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/account/SwapSubAccountInfoListResponse.java b/src/main/java/com/huobi/api/response/usdt/account/SwapSubAccountInfoListResponse.java new file mode 100644 index 0000000..c4d0c00 --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/account/SwapSubAccountInfoListResponse.java @@ -0,0 +1,66 @@ +package com.huobi.api.response.usdt.account; + + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@AllArgsConstructor +@Builder +@Data +public class SwapSubAccountInfoListResponse { + private String status; + private Long ts; + private List data; + + @AllArgsConstructor + @Builder + @Data + public static class DataBean{ + @SerializedName("current_page") + private Integer currentPage; + @SerializedName("total_page") + private Integer totalPage; + @SerializedName("total_size") + private Integer totalSize; + @SerializedName("sub_list") + private List subList; + + @AllArgsConstructor + @Builder + @Data + public static class SubListBean{ + @SerializedName("sub_uid") + private String subUid; + @SerializedName("account_info_list") + private List accountInfoList; + + @AllArgsConstructor + @Builder + @Data + public static class AccountInfoListBean{ + private String symbol; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("margin_account") + private String marginAccount; + @SerializedName("margin_mode") + private String marginMode; + @SerializedName("margin_asset") + private String marginAsset; + @SerializedName("margin_balance") + private BigDecimal marginBalance; + @SerializedName("liquidation_price") + private BigDecimal LiquidationPrice; + @SerializedName("risk_rate") + private BigDecimal riskRate; + @SerializedName("trade_partition") + private String tradePartition; + } + } + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/account/SwapSubAccountInfoResponse.java b/src/main/java/com/huobi/api/response/usdt/account/SwapSubAccountInfoResponse.java new file mode 100644 index 0000000..864aea1 --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/account/SwapSubAccountInfoResponse.java @@ -0,0 +1,88 @@ +package com.huobi.api.response.usdt.account; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class SwapSubAccountInfoResponse { + + /** + * "status":"ok", + * "data":[{"symbol":"ETH","margin_balance":10,"margin_position":0,"margin_frozen":0,"margin_available":10.000000000000000000,"profit_real":0,"profit_unreal":0,"risk_rate":null,"withdraw_available":10.000000000000000000,"liquidation_price":null,"lever_rate":5,"adjust_factor":0.060000000000000000,"margin_static":10,"contract_code":"ETH-USDT","margin_asset":"USDT"}], + * "ts":1601015400967 + */ + + private String status; + private long ts; + private List data; + + @Data + @AllArgsConstructor + public static class DataBean { + + /** + * "symbol": "ETH", + * "margin_balance": 10, + * "margin_position": 0, + * "margin_frozen": 0, + * "margin_available": 10.000000000000000000, + * "profit_real": 0, + * "profit_unreal": 0, + * "risk_rate": null, + * "withdraw_available": 10.000000000000000000, + * "liquidation_price": null, + * "lever_rate": 5, + * "adjust_factor": 0.060000000000000000, + * "margin_static": 10, + * "contract_code": "ETH-USDT", + * "margin_asset": "USDT" + * "margin_mode":"isolated", + * "margin_account":"ETH-USDT" + */ + + private String symbol; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("margin_asset") + private String marginAsset; + @SerializedName("margin_balance") + private BigDecimal marginBalance; + @SerializedName("margin_position") + private BigDecimal marginPosition; + @SerializedName("margin_frozen") + private BigDecimal marginFrozen; + @SerializedName("margin_available") + private BigDecimal marginAvailable; + @SerializedName("profit_real") + private BigDecimal profitReal; + @SerializedName("profit_unreal") + private BigDecimal profitUnreal; + @SerializedName("risk_rate") + private BigDecimal riskRate; + @SerializedName("liquidation_price") + private BigDecimal liquidationPrice; + @SerializedName("withdraw_available") + private BigDecimal withdrawAvailable; + @SerializedName("lever_rate") + private BigDecimal leverRate; + @SerializedName("adjust_factor") + private BigDecimal adjustFactor; + @SerializedName("margin_static") + private BigDecimal marginStatic; + @SerializedName("margin_mode") + private String marginMode; + @SerializedName("margin_account") + private String marginAccount; + @SerializedName("trade_partition") + private String tradePartition; + @SerializedName("position_mode") + private String positionMode; + @SerializedName("new_risk_rate") + private BigDecimal newRiskRate; + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/account/SwapSubAccountListResponse.java b/src/main/java/com/huobi/api/response/usdt/account/SwapSubAccountListResponse.java new file mode 100644 index 0000000..da4cab8 --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/account/SwapSubAccountListResponse.java @@ -0,0 +1,72 @@ +package com.huobi.api.response.usdt.account; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class SwapSubAccountListResponse { + + /** + * "status":"ok", + * "data":[{"sub_uid":114390100,"list":[{"symbol":"BTC","margin_balance":4924.455316934075342434,"liquidation_price":null,"risk_rate":238.337523181284512529,"contract_code":"BTC-USDT","margin_asset":"USDT"}]}], + * "ts":1601015560631 + */ + + private String status; + private long ts; + private List data; + + @Data + @AllArgsConstructor + public static class DataBean { + /** + * "sub_uid":114390100, + * "list":[{"symbol":"BTC","margin_balance":4924.455316934075342434,"liquidation_price":null,"risk_rate":238.337523181284512529,"contract_code":"BTC-USDT","margin_asset":"USDT"}] + */ + + @SerializedName("sub_uid") + private Long subUid; + private List list; + + @Data + @AllArgsConstructor + public static class ListBean { + /** + * "symbol": "BTC", + * "margin_balance": 4924.455316934075342434, + * "liquidation_price": null, + * "risk_rate": 238.337523181284512529, + * "contract_code": "BTC-USDT", + * "margin_asset": "USDT", + * "margin_mode":"isolated", + * "margin_account":"BTC-USDT" + */ + + private String symbol; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("margin_asset") + private String marginAsset; + @SerializedName("margin_balance") + private BigDecimal marginBalance; + @SerializedName("liquidation_price") + private BigDecimal liquidationPrice; + @SerializedName("risk_rate") + private BigDecimal riskRate; + @SerializedName("margin_mode") + private String marginMode; + @SerializedName("margin_account") + private String marginAccount; + @SerializedName("trade_partition") + private String tradePartition; + @SerializedName("query_id") + private Long queryId; + + } + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/account/SwapSubAuthListResponse.java b/src/main/java/com/huobi/api/response/usdt/account/SwapSubAuthListResponse.java new file mode 100644 index 0000000..b90f090 --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/account/SwapSubAuthListResponse.java @@ -0,0 +1,50 @@ +package com.huobi.api.response.usdt.account; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.util.List; + +@Builder +@AllArgsConstructor +@Data +public class SwapSubAuthListResponse { + private String status; + private Long ts; + + private List data; + @AllArgsConstructor + @Builder + @Data + public static class DataBean { + private List errors; + private List successes; + @AllArgsConstructor + @Builder + @Data + public static class Error { + @SerializedName("sub_uid") + private String subUid; + + @SerializedName("err_code") + private String errCode; + + @SerializedName("err_msg") + private String errMsg; + } + @AllArgsConstructor + @Builder + @Data + public static class Success { + @SerializedName("sub_uid") + private String subUid; + + @SerializedName("sub_auth") + private String subAuth; + @SerializedName("query_id") + private Long queryId; + } + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/account/SwapSubAuthResponse.java b/src/main/java/com/huobi/api/response/usdt/account/SwapSubAuthResponse.java new file mode 100644 index 0000000..da4cac0 --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/account/SwapSubAuthResponse.java @@ -0,0 +1,38 @@ +package com.huobi.api.response.usdt.account; + + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.util.List; + +@AllArgsConstructor +@Builder +@Data +public class SwapSubAuthResponse { + private String status; + private Long ts; + private List data; + + @AllArgsConstructor + @Builder + @Data + public static class DataBean{ + private String successes; + private List errors; + + @AllArgsConstructor + @Builder + @Data + public static class ErrorsBean{ + @SerializedName("sub_uid") + private String subUid; + @SerializedName("err_code") + private Integer errCode; + @SerializedName("err_msg") + private String errMsg; + } + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/account/SwapSubPositionInfoResponse.java b/src/main/java/com/huobi/api/response/usdt/account/SwapSubPositionInfoResponse.java new file mode 100644 index 0000000..c98c3ba --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/account/SwapSubPositionInfoResponse.java @@ -0,0 +1,66 @@ +package com.huobi.api.response.usdt.account; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class SwapSubPositionInfoResponse { + + /** + * + */ + + private String status; + private Long ts; + private List data; + + @Data + @AllArgsConstructor + public static class DataBean { + /** + * + */ + + private String symbol; + @SerializedName("contract_code") + private String contractCode; + private BigDecimal volume; + private BigDecimal available; + private BigDecimal frozen; + @SerializedName("cost_open") + private BigDecimal costOpen; + @SerializedName("cost_hold") + private BigDecimal costHold; + @SerializedName("profit_unreal") + private BigDecimal profitUnreal; + @SerializedName("profit_rate") + private BigDecimal profitRate; + private BigDecimal profit; + @SerializedName("margin_asset") + private String marginAsset; + @SerializedName("position_margin") + private BigDecimal positionMargin; + @SerializedName("lever_rate") + private Integer leverRate; + private String direction; + @SerializedName("last_price") + private BigDecimal lastPrice; + @SerializedName("margin_mode") + private String marginMode; + @SerializedName("margin_account") + private String marginAccount; + @SerializedName("trade_partition") + private String tradePartition; + @SerializedName("position_mode") + private String positionMode; + @SerializedName("adl_risk_percent") + private BigDecimal adlRiskPercent; + @SerializedName("new_risk_rate") + private BigDecimal newRiskRate; + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/account/SwapSwitchAccountTypeResponse.java b/src/main/java/com/huobi/api/response/usdt/account/SwapSwitchAccountTypeResponse.java new file mode 100644 index 0000000..360ab01 --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/account/SwapSwitchAccountTypeResponse.java @@ -0,0 +1,26 @@ +package com.huobi.api.response.usdt.account; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.util.List; + +@Builder +@Data +@AllArgsConstructor +public class SwapSwitchAccountTypeResponse { + private Integer code; + private String msg; + private Long ts; + private List data; + + @AllArgsConstructor + @Builder + @Data + public static class DataBean{ + @SerializedName("account_type") + private Integer accountType; + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/account/SwapSwitchLeverRateResponse.java b/src/main/java/com/huobi/api/response/usdt/account/SwapSwitchLeverRateResponse.java new file mode 100644 index 0000000..5ac7b29 --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/account/SwapSwitchLeverRateResponse.java @@ -0,0 +1,32 @@ +package com.huobi.api.response.usdt.account; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.util.List; + +@AllArgsConstructor +@Data +public class SwapSwitchLeverRateResponse { + private String status; + private Long ts; + @SerializedName("err_code") + private Integer errCode; + @SerializedName("err_msg") + private String errMag; + private List data; + + @AllArgsConstructor + @Data + public static class DataBean{ + @SerializedName("contract_code") + private String contractCode; + @SerializedName("lever_rate") + private Integer leverRate; + @SerializedName("margin_mode") + private String marginMode; + @SerializedName("trade_partition") + private String tradePartition; + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/account/SwapTransferInnerResponse.java b/src/main/java/com/huobi/api/response/usdt/account/SwapTransferInnerResponse.java new file mode 100644 index 0000000..f135c21 --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/account/SwapTransferInnerResponse.java @@ -0,0 +1,24 @@ +package com.huobi.api.response.usdt.account; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.util.List; + +@Data +@AllArgsConstructor +public class SwapTransferInnerResponse { + private String status; + private Long ts; + private List data; + + @Data + @AllArgsConstructor + public static class DataBean{ + @SerializedName("order_id") + private Long orderId; + @SerializedName("client_order_id") + private Long clientOrderId; + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/account/SwapTransferLimitResponse.java b/src/main/java/com/huobi/api/response/usdt/account/SwapTransferLimitResponse.java new file mode 100644 index 0000000..7587754 --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/account/SwapTransferLimitResponse.java @@ -0,0 +1,68 @@ +package com.huobi.api.response.usdt.account; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class SwapTransferLimitResponse { + /** + * "status":"ok", + * "data":[{"symbol":"BTC","contract_code":"BTC-USDT","transfer_in_max_each":1000000.000000000000000000,"transfer_in_min_each":2.000000000000000000,"transfer_out_max_each":2000000.000000000000000000,"transfer_out_min_each":1.000000000000000000,"transfer_in_max_daily":800000000.000000000000000000,"transfer_out_max_daily":12345678.000000000000000000,"net_transfer_in_max_daily":4000000000.000000000000000000,"net_transfer_out_max_daily":7000000000.000000000000000000}], + * "ts":1601016197241 + */ + + private String status; + private long ts; + private List data; + + @Data + @AllArgsConstructor + public static class DataBean { + /** + * "symbol": "BTC", + * "contract_code": "BTC-USDT", + * "margin_mode":"isolated", + * "margin_account":"BTC-USDT" + * "transfer_in_max_each": 1000000.000000000000000000, + * "transfer_in_min_each": 2.000000000000000000, + * "transfer_out_max_each": 2000000.000000000000000000, + * "transfer_out_min_each": 1.000000000000000000, + * "transfer_in_max_daily": 800000000.000000000000000000, + * "transfer_out_max_daily": 12345678.000000000000000000, + * "net_transfer_in_max_daily": 4000000000.000000000000000000, + * "net_transfer_out_max_daily": 7000000000.000000000000000000 + */ + + private String symbol; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("transfer_in_max_each") + private BigDecimal transferInMaxEach; + @SerializedName("transfer_in_min_each") + private BigDecimal transferInMinEach; + @SerializedName("transfer_out_max_each") + private BigDecimal transferOutMaxEach; + @SerializedName("transfer_out_min_each") + private BigDecimal transferOutMinEach; + @SerializedName("transfer_in_max_daily") + private BigDecimal transferInMaxDaily; + @SerializedName("transfer_out_max_daily") + private BigDecimal transferOutMaxDaily; + @SerializedName("net_transfer_in_max_daily") + private BigDecimal netTransferInMaxDaily; + @SerializedName("net_transfer_out_max_daily") + private BigDecimal netTransferOutMaxDaily; + @SerializedName("margin_mode") + private String marginMode; + @SerializedName("margin_account") + private String marginAccount; + @SerializedName("trade_partition") + private String tradePartition; + + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/account/SwapUnifiedAccountTypeResponse.java b/src/main/java/com/huobi/api/response/usdt/account/SwapUnifiedAccountTypeResponse.java new file mode 100644 index 0000000..80c9401 --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/account/SwapUnifiedAccountTypeResponse.java @@ -0,0 +1,25 @@ +package com.huobi.api.response.usdt.account; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.util.List; + +@Builder +@AllArgsConstructor +@Data +public class SwapUnifiedAccountTypeResponse { + private Integer code; + private String msg; + private Long ts; + private List data; + + @AllArgsConstructor + @Data + public static class DataBean { + @SerializedName("account_type") + private Integer accountType; + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/account/SwapUserSettlementRecordsResponse.java b/src/main/java/com/huobi/api/response/usdt/account/SwapUserSettlementRecordsResponse.java new file mode 100644 index 0000000..b3d2aa6 --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/account/SwapUserSettlementRecordsResponse.java @@ -0,0 +1,87 @@ +package com.huobi.api.response.usdt.account; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Builder +@Data +@AllArgsConstructor +public class SwapUserSettlementRecordsResponse { + private String status; + private Long ts; + private List data; + + @Builder + @Data + @AllArgsConstructor + public static class DataBean{ + @SerializedName("total_page") + private Integer totalPage; + @SerializedName("total_size") + private Integer totalSize; + @SerializedName("current_page") + private Integer currentPage; + @SerializedName("settlement_records") + private List settlementRecords; + + @Builder + @Data + @AllArgsConstructor + public static class SettlementRecordsBean{ + private String symbol; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("margin_account") + private String marginAccount; + @SerializedName("margin_mode") + private String marginMode; + @SerializedName("margin_balance_init") + private BigDecimal marginBalanceInit; + @SerializedName("margin_balance") + private BigDecimal marginBalance; + @SerializedName("settlement_profit_real") + private BigDecimal settlementProfitReal; + @SerializedName("settlement_time") + private Long settlementTime; + private BigDecimal clawback; + @SerializedName("funding_fee") + private BigDecimal fundingFee; + @SerializedName("offset_profitloss") + private BigDecimal offsetProfitloss; + private BigDecimal fee; + @SerializedName("fee_asset") + private String feeAsset; + @SerializedName("trade_partition") + private String tradePartition; + private List positions; + + @Builder + @Data + @AllArgsConstructor + public static class PositionsBean{ + private String symbol; + @SerializedName("contract_code") + private String contractCode; + private String direction; + private BigDecimal volume; + @SerializedName("cost_open") + private BigDecimal costOpen; + @SerializedName("cost_hold_pre") + private BigDecimal costHoldPre; + @SerializedName("cost_hold") + private BigDecimal costHold; + @SerializedName("settlement_profit_unreal") + private BigDecimal settlementProfitUnreal; + @SerializedName("settlement_price") + private BigDecimal settlementPrice; + @SerializedName("settlement_type") + private String settlementType; + } + } + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/account/UnifiedAccountInfoResponse.java b/src/main/java/com/huobi/api/response/usdt/account/UnifiedAccountInfoResponse.java new file mode 100644 index 0000000..abc0d96 --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/account/UnifiedAccountInfoResponse.java @@ -0,0 +1,97 @@ +package com.huobi.api.response.usdt.account; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Builder +@AllArgsConstructor +@Data +public class UnifiedAccountInfoResponse { + @SerializedName("cross_max_available") + private Integer crossMaxAvailable; + private Integer code; + private String msg; + private Long ts; + private List data; + @AllArgsConstructor + @Builder + @Data + public static class DataBean{ + @SerializedName("margin_balance") + private BigDecimal marginBalance; + @SerializedName("margin_static") + private BigDecimal marginStatic; + @SerializedName("cross_profit_unreal") + private BigDecimal crossProfitUnreal; + @SerializedName("cross_margin_static") + private BigDecimal crossMarginStatic; + @SerializedName("margin_asset") + private String marginAsset; + @SerializedName("margin_frozen") + private BigDecimal marginFrozen; + @SerializedName("withdraw_available") + private BigDecimal withdrawAvailable; + private BigDecimal crossRiskRate; + private List cross_swap; + private List crossFutures; + private List isolatedSwap; + @AllArgsConstructor + @Builder + @Data + public static class CrossSwap{ + @SerializedName("contract_code") + private String contractCode; + @SerializedName("margin_mode") + private String marginMode; + @SerializedName("margin_available") + private BigDecimal marginAvailable; + @SerializedName("lever_rate") + private BigDecimal leverRate; + @SerializedName("contract_type") + private String contractType; + @SerializedName("business_type") + private String businessType; + } + @AllArgsConstructor + @Builder + @Data + public static class CrossFutures{ + private String symbol; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("margin_mode") + private String marginMode; + @SerializedName("margin_available") + private BigDecimal marginAvailable; + @SerializedName("lever_rate") + private BigDecimal leverRate; + @SerializedName("contract_type") + private String contractType; + @SerializedName("business_type") + private String businessType; + } + @AllArgsConstructor + @Builder + @Data + public static class IsolatedSwap{ + private String symbol; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("margin_mode") + private String marginMode; + @SerializedName("margin_available") + private BigDecimal marginAvailable; + @SerializedName("lever_rate") + private Integer leverRate; + @SerializedName("withdraw_available") + private BigDecimal withdrawAvailable; + @SerializedName("position_mode") + private String positionMode; + } + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/market/BatchMergedResponse.java b/src/main/java/com/huobi/api/response/usdt/market/BatchMergedResponse.java new file mode 100644 index 0000000..b981588 --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/market/BatchMergedResponse.java @@ -0,0 +1,46 @@ +package com.huobi.api.response.usdt.market; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Builder +@AllArgsConstructor +@Data +public class BatchMergedResponse { + private String status; + private Long ts; + private List ticks; + + @Builder + @AllArgsConstructor + @Data + public static class TicksBean{ + @SerializedName("contract_code") + private String contractCode; + private Long id; + private String amount; + private List ask; + private List bid; + private String open; + private String close; + private BigDecimal count; + private String high; + private String low; + private String vol; + @SerializedName("trade_turnover") + private String tradeTurnover; + @SerializedName("number_of") + private String numberOf; + private Long ts; + @SerializedName("trade_partition") + private String tradePartition; + @SerializedName("business_type") + private String businessType; + } + +} diff --git a/src/main/java/com/huobi/api/response/usdt/market/BatchMergedV2Response.java b/src/main/java/com/huobi/api/response/usdt/market/BatchMergedV2Response.java new file mode 100644 index 0000000..6912c47 --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/market/BatchMergedV2Response.java @@ -0,0 +1,45 @@ +package com.huobi.api.response.usdt.market; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Builder +@AllArgsConstructor +@Data +public class BatchMergedV2Response { + private String status; + private Long ts; + private List ticks; + + @Builder + @AllArgsConstructor + @Data + public static class TicksBean{ + @SerializedName("contract_code") + private String contractCode; + private Long id; + private String amount; + private BigDecimal[] ask; + private BigDecimal[] bid; + private String open; + private String close; + private BigDecimal count; + private String high; + private String low; + private String vol; + @SerializedName("trade_turnover") + private String tradeTurnover; + private Long ts; + @SerializedName("trade_partition") + private String tradePartition; + @SerializedName("business_type") + private String businessType; + @SerializedName("number_of") + private String numberOf; + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/market/LinearSwapBasisResponse.java b/src/main/java/com/huobi/api/response/usdt/market/LinearSwapBasisResponse.java new file mode 100644 index 0000000..6356f93 --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/market/LinearSwapBasisResponse.java @@ -0,0 +1,42 @@ +package com.huobi.api.response.usdt.market; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.util.List; + +@Data +@AllArgsConstructor +public class LinearSwapBasisResponse { + /** + * "ch":"market.BTC-USDT.basis.1min.open", + * "data":[{"basis":"-324.0100000000002","basis_rate":"-0.030414563996275287","contract_price":"10329.11","id":1601016420,"index_price":"10653.12"},{"basis":"-321.39999999999964","basis_rate":"-0.030176958662073424","contract_price":"10329.11","id":1601016480,"index_price":"10650.51"}], + * "status":"ok", + * "ts":1601016487806 + */ + private String status; + private String ch; + private Long ts; + private List data; + + @Data + @AllArgsConstructor + public static class DataBean { + /** + * "basis": "-321.39999999999964", + * "basis_rate": "-0.030176958662073424", + * "contract_price": "10329.11", + * "id": 1601016480, + * "index_price": "10650.51" + */ + private Long id; + @SerializedName("contract_price") + private String contractPrice; + @SerializedName("index_price") + private String indexPrice; + private String basis; + @SerializedName("basis_rate") + private String basisRate; + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/market/LinearSwapEstimatedRateKlineResponse.java b/src/main/java/com/huobi/api/response/usdt/market/LinearSwapEstimatedRateKlineResponse.java new file mode 100644 index 0000000..08417a6 --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/market/LinearSwapEstimatedRateKlineResponse.java @@ -0,0 +1,49 @@ +package com.huobi.api.response.usdt.market; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.util.List; + +@Data +@AllArgsConstructor +public class LinearSwapEstimatedRateKlineResponse { + /** + * "ch":"market.BTC-USDT.estimated_rate.1min", + * "data":[{"amount":"0","close":"0.0014892219606765","count":"0","high":"0.0014892219606765","id":1601016600,"low":"0.0014892219606765","open":"0.0014892219606765","trade_turnover":"0","vol":"0"}], + * "status":"ok", + * "ts":1601016635799 + */ + private String ch; + private String status; + private Long ts; + private List data; + + @Data + @AllArgsConstructor + public static class DataBean { + /** + * "amount": "0", + * "close": "0.0014892219606765", + * "count": "0", + * "high": "0.0014892219606765", + * "id": 1601016600, + * "low": "0.0014892219606765", + * "open": "0.0014892219606765", + * "trade_turnover": "0", + * "vol": "0" + */ + private Long id; + private String vol; + private String count; + private String open; + private String close; + private String low; + private String High; + private String amount; + @SerializedName("trade_turnover") + private String tradeTurnover; + + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/market/LinearSwapMarkPriceKlineResponse.java b/src/main/java/com/huobi/api/response/usdt/market/LinearSwapMarkPriceKlineResponse.java new file mode 100644 index 0000000..606d6cf --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/market/LinearSwapMarkPriceKlineResponse.java @@ -0,0 +1,34 @@ +package com.huobi.api.response.usdt.market; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.util.List; + +@Builder +@Data +@AllArgsConstructor +public class LinearSwapMarkPriceKlineResponse { + private String status; + private Long ts ; + private List data; + + @Builder + @Data + @AllArgsConstructor + public static class DataBean{ + private Long id; + private String vol; + private String count; + private String open; + private String close; + private String low; + private String high; + private String amount; + @SerializedName("trade_turnover") + private String tradeTurnover; + + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/market/LinearSwapPremiumIndexKlineResponse.java b/src/main/java/com/huobi/api/response/usdt/market/LinearSwapPremiumIndexKlineResponse.java new file mode 100644 index 0000000..e2f68af --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/market/LinearSwapPremiumIndexKlineResponse.java @@ -0,0 +1,48 @@ +package com.huobi.api.response.usdt.market; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.util.List; + +@AllArgsConstructor +@Data +public class LinearSwapPremiumIndexKlineResponse { + /** + * "ch":"market.BTC-USDT.premium_index.1min", + * "data":[{"amount":"0","close":"0.0026931683048173","count":"0","high":"0.0026931683048173","id":1601016720,"low":"0.0026931683048173","open":"0.0026931683048173","trade_turnover":"0","vol":"0"}], + * "status":"ok", + * "ts":1601016750315 + */ + private String ch; + private Long ts; + private String status; + private List data; + + @AllArgsConstructor + @Data + public static class DataBean { + /** + * "amount": "0", + * "close": "0.0026931683048173", + * "count": "0", + * "high": "0.0026931683048173", + * "id": 1601016720, + * "low": "0.0026931683048173", + * "open": "0.0026931683048173", + * "trade_turnover": "0", + * "vol": "0" + */ + private Long id; + private String vol; + private String count; + private String open; + private String close; + private String low; + private String High; + private String amount; + @SerializedName("trade_turnover") + private String tradeTurnover; + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/market/MarketBboResponse.java b/src/main/java/com/huobi/api/response/usdt/market/MarketBboResponse.java new file mode 100644 index 0000000..8c25b14 --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/market/MarketBboResponse.java @@ -0,0 +1,34 @@ +package com.huobi.api.response.usdt.market; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Builder +@Data +@AllArgsConstructor +public class MarketBboResponse { + private String status; + private Long ts; + private List ticks; + + @Builder + @Data + @AllArgsConstructor + public static class TicksBean{ + @SerializedName("contract_code") + private String contractCode; + private Long mrid; + private BigDecimal[] ask; + private BigDecimal[] bid; + private Long ts; + @SerializedName("business_type") + public String businessType; + @SerializedName("trade_partition") + private String tradePartition; + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/market/SwapAdjustfactorResponse.java b/src/main/java/com/huobi/api/response/usdt/market/SwapAdjustfactorResponse.java new file mode 100644 index 0000000..0170063 --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/market/SwapAdjustfactorResponse.java @@ -0,0 +1,73 @@ +package com.huobi.api.response.usdt.market; + + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class SwapAdjustfactorResponse { + /** + * "status":"ok", + * "data":[{"symbol":"BTC","contract_code":"BTC-USDT","list":[{"lever_rate":125,"ladders":[{"ladder":0,"min_size":0,"max_size":111,"adjust_factor":0.250000000000000000},{"ladder":1,"min_size":112,"max_size":222,"adjust_factor":0.310000000000000000},{"ladder":2,"min_size":223,"max_size":333,"adjust_factor":0.360000000000000000},{"ladder":3,"min_size":334,"max_size":1999,"adjust_factor":0.410000000000000000},{"ladder":4,"min_size":2000,"max_size":9999,"adjust_factor":0.800000000000000000},{"ladder":5,"min_size":10000,"max_size":null,"adjust_factor":0.950000000000000000}]},{"lever_rate":100,"ladders":[{"ladder":0,"min_size":0,"max_size":1999,"adjust_factor":0.550000000000000000},{"ladder":1,"min_size":2000,"max_size":9999,"adjust_factor":0.700000000000000000},{"ladder":2,"min_size":10000,"max_size":null,"adjust_factor":0.850000000000000000}]},{"lever_rate":75,"ladders":[{"ladder":0,"min_size":0,"max_size":1000,"adjust_factor":0.200000000000000000},{"ladder":1,"min_size":1001,"max_size":2000,"adjust_factor":0.600000000000000000},{"ladder":2,"min_size":2001,"max_size":null,"adjust_factor":0.800000000000000000}]},{"lever_rate":50,"ladders":[{"ladder":0,"min_size":0,"max_size":1999,"adjust_factor":0.350000000000000000},{"ladder":1,"min_size":2000,"max_size":9999,"adjust_factor":0.550000000000000000},{"ladder":2,"min_size":10000,"max_size":null,"adjust_factor":0.750000000000000000}]},{"lever_rate":30,"ladders":[{"ladder":0,"min_size":0,"max_size":99,"adjust_factor":0.050000000000000000},{"ladder":1,"min_size":100,"max_size":999,"adjust_factor":0.100000000000000000},{"ladder":2,"min_size":1000,"max_size":null,"adjust_factor":0.100000000000000000}]},{"lever_rate":20,"ladders":[{"ladder":0,"min_size":0,"max_size":10,"adjust_factor":0.150000000000000000},{"ladder":1,"min_size":11,"max_size":20,"adjust_factor":0.250000000000000000},{"ladder":2,"min_size":21,"max_size":30,"adjust_factor":0.300000000000000000},{"ladder":3,"min_size":31,"max_size":40,"adjust_factor":0.400000000000000000},{"ladder":4,"min_size":41,"max_size":50,"adjust_factor":0.500000000000000000},{"ladder":5,"min_size":51,"max_size":null,"adjust_factor":0.600000000000000000}]},{"lever_rate":10,"ladders":[{"ladder":0,"min_size":0,"max_size":999,"adjust_factor":0.075000000000000000},{"ladder":1,"min_size":1000,"max_size":9999,"adjust_factor":0.125000000000000000},{"ladder":2,"min_size":10000,"max_size":19999,"adjust_factor":0.150000000000000000},{"ladder":3,"min_size":20000,"max_size":29999,"adjust_factor":0.200000000000000000},{"ladder":4,"min_size":30000,"max_size":null,"adjust_factor":0.250000000000000000}]},{"lever_rate":5,"ladders":[{"ladder":0,"min_size":0,"max_size":999,"adjust_factor":0.040000000000000000},{"ladder":1,"min_size":1000,"max_size":9999,"adjust_factor":0.060000000000000000},{"ladder":2,"min_size":10000,"max_size":19999,"adjust_factor":0.075000000000000000},{"ladder":3,"min_size":20000,"max_size":29999,"adjust_factor":0.100000000000000000},{"ladder":4,"min_size":30000,"max_size":null,"adjust_factor":0.125000000000000000}]},{"lever_rate":3,"ladders":[{"ladder":0,"min_size":0,"max_size":999,"adjust_factor":0.025000000000000000},{"ladder":1,"min_size":1000,"max_size":9999,"adjust_factor":0.035000000000000000},{"ladder":2,"min_size":10000,"max_size":19999,"adjust_factor":0.045000000000000000},{"ladder":3,"min_size":20000,"max_size":29999,"adjust_factor":0.060000000000000000},{"ladder":4,"min_size":30000,"max_size":null,"adjust_factor":0.070000000000000000}]},{"lever_rate":2,"ladders":[{"ladder":0,"min_size":0,"max_size":999,"adjust_factor":0.015000000000000000},{"ladder":1,"min_size":1000,"max_size":9999,"adjust_factor":0.025000000000000000},{"ladder":2,"min_size":10000,"max_size":19999,"adjust_factor":0.030000000000000000},{"ladder":3,"min_size":20000,"max_size":29999,"adjust_factor":0.040000000000000000},{"ladder":4,"min_size":30000,"max_size":null,"adjust_factor":0.050000000000000000}]},{"lever_rate":1,"ladders":[{"ladder":0,"min_size":0,"max_size":999,"adjust_factor":0.005000000000000000},{"ladder":1,"min_size":1000,"max_size":9999,"adjust_factor":0.010000000000000000},{"ladder":2,"min_size":10000,"max_size":19999,"adjust_factor":0.015000000000000000},{"ladder":3,"min_size":20000,"max_size":29999,"adjust_factor":0.020000000000000000},{"ladder":4,"min_size":30000,"max_size":null,"adjust_factor":0.025000000000000000}]}]}], + * "ts":1601016942280 + */ + private String status; + private Long ts; + private List data; + + @Data + @AllArgsConstructor + public static class DataBean { + /** + * "symbol":"BTC", + * "contract_code":"BTC-USDT", + * "margin_mode":"isolated", + * "list":[{"lever_rate":125,"ladders":[{"ladder":0,"min_size":0,"max_size":111,"adjust_factor":0.250000000000000000},{"ladder":1,"min_size":112,"max_size":222,"adjust_factor":0.310000000000000000},{"ladder":2,"min_size":223,"max_size":333,"adjust_factor":0.360000000000000000},{"ladder":3,"min_size":334,"max_size":1999,"adjust_factor":0.410000000000000000},{"ladder":4,"min_size":2000,"max_size":9999,"adjust_factor":0.800000000000000000},{"ladder":5,"min_size":10000,"max_size":null,"adjust_factor":0.950000000000000000}]},{"lever_rate":100,"ladders":[{"ladder":0,"min_size":0,"max_size":1999,"adjust_factor":0.550000000000000000},{"ladder":1,"min_size":2000,"max_size":9999,"adjust_factor":0.700000000000000000},{"ladder":2,"min_size":10000,"max_size":null,"adjust_factor":0.850000000000000000}]},{"lever_rate":75,"ladders":[{"ladder":0,"min_size":0,"max_size":1000,"adjust_factor":0.200000000000000000},{"ladder":1,"min_size":1001,"max_size":2000,"adjust_factor":0.600000000000000000},{"ladder":2,"min_size":2001,"max_size":null,"adjust_factor":0.800000000000000000}]},{"lever_rate":50,"ladders":[{"ladder":0,"min_size":0,"max_size":1999,"adjust_factor":0.350000000000000000},{"ladder":1,"min_size":2000,"max_size":9999,"adjust_factor":0.550000000000000000},{"ladder":2,"min_size":10000,"max_size":null,"adjust_factor":0.750000000000000000}]},{"lever_rate":30,"ladders":[{"ladder":0,"min_size":0,"max_size":99,"adjust_factor":0.050000000000000000},{"ladder":1,"min_size":100,"max_size":999,"adjust_factor":0.100000000000000000},{"ladder":2,"min_size":1000,"max_size":null,"adjust_factor":0.100000000000000000}]},{"lever_rate":20,"ladders":[{"ladder":0,"min_size":0,"max_size":10,"adjust_factor":0.150000000000000000},{"ladder":1,"min_size":11,"max_size":20,"adjust_factor":0.250000000000000000},{"ladder":2,"min_size":21,"max_size":30,"adjust_factor":0.300000000000000000},{"ladder":3,"min_size":31,"max_size":40,"adjust_factor":0.400000000000000000},{"ladder":4,"min_size":41,"max_size":50,"adjust_factor":0.500000000000000000},{"ladder":5,"min_size":51,"max_size":null,"adjust_factor":0.600000000000000000}]},{"lever_rate":10,"ladders":[{"ladder":0,"min_size":0,"max_size":999,"adjust_factor":0.075000000000000000},{"ladder":1,"min_size":1000,"max_size":9999,"adjust_factor":0.125000000000000000},{"ladder":2,"min_size":10000,"max_size":19999,"adjust_factor":0.150000000000000000},{"ladder":3,"min_size":20000,"max_size":29999,"adjust_factor":0.200000000000000000},{"ladder":4,"min_size":30000,"max_size":null,"adjust_factor":0.250000000000000000}]},{"lever_rate":5,"ladders":[{"ladder":0,"min_size":0,"max_size":999,"adjust_factor":0.040000000000000000},{"ladder":1,"min_size":1000,"max_size":9999,"adjust_factor":0.060000000000000000},{"ladder":2,"min_size":10000,"max_size":19999,"adjust_factor":0.075000000000000000},{"ladder":3,"min_size":20000,"max_size":29999,"adjust_factor":0.100000000000000000},{"ladder":4,"min_size":30000,"max_size":null,"adjust_factor":0.125000000000000000}]},{"lever_rate":3,"ladders":[{"ladder":0,"min_size":0,"max_size":999,"adjust_factor":0.025000000000000000},{"ladder":1,"min_size":1000,"max_size":9999,"adjust_factor":0.035000000000000000},{"ladder":2,"min_size":10000,"max_size":19999,"adjust_factor":0.045000000000000000},{"ladder":3,"min_size":20000,"max_size":29999,"adjust_factor":0.060000000000000000},{"ladder":4,"min_size":30000,"max_size":null,"adjust_factor":0.070000000000000000}]},{"lever_rate":2,"ladders":[{"ladder":0,"min_size":0,"max_size":999,"adjust_factor":0.015000000000000000},{"ladder":1,"min_size":1000,"max_size":9999,"adjust_factor":0.025000000000000000},{"ladder":2,"min_size":10000,"max_size":19999,"adjust_factor":0.030000000000000000},{"ladder":3,"min_size":20000,"max_size":29999,"adjust_factor":0.040000000000000000},{"ladder":4,"min_size":30000,"max_size":null,"adjust_factor":0.050000000000000000}]},{"lever_rate":1,"ladders":[{"ladder":0,"min_size":0,"max_size":999,"adjust_factor":0.005000000000000000},{"ladder":1,"min_size":1000,"max_size":9999,"adjust_factor":0.010000000000000000},{"ladder":2,"min_size":10000,"max_size":19999,"adjust_factor":0.015000000000000000},{"ladder":3,"min_size":20000,"max_size":29999,"adjust_factor":0.020000000000000000},{"ladder":4,"min_size":30000,"max_size":null,"adjust_factor":0.025000000000000000}]}] + */ + + private String symbol; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("margin_mode") + private String marginMode; + @SerializedName("trade_partition") + private String tradePartition; + private List list; + + @Data + @AllArgsConstructor + public static class DataList { + /** + * "lever_rate":125, + * "ladders":[{"ladder":0,"min_size":0,"max_size":111,"adjust_factor":0.250000000000000000}] + */ + @SerializedName("lever_rate") + private BigDecimal leverRate; + private List ladders; + + @Data + @AllArgsConstructor + public static class Ladders { + /** + * "ladder":5, + * "min_size":10000, + * "max_size":null, + * "adjust_factor":0.95 + */ + @SerializedName("max_size") + private BigDecimal maxSize; + @SerializedName("min_size") + private BigDecimal minSize; + private Integer ladder; + @SerializedName("adjust_factor") + private BigDecimal adjustFactor; + + } + } + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/market/SwapApiStateResponse.java b/src/main/java/com/huobi/api/response/usdt/market/SwapApiStateResponse.java new file mode 100644 index 0000000..55d9f0d --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/market/SwapApiStateResponse.java @@ -0,0 +1,76 @@ +package com.huobi.api.response.usdt.market; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.util.List; + +@Data +@AllArgsConstructor +public class SwapApiStateResponse { + /** + * "status":"ok", + * "data":[{"symbol":"ETH","contract_code":"ETH-USDT","open":1,"close":1,"cancel":1,"transfer_in":1,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1},{"symbol":"LTC","contract_code":"LTC-USDT","open":1,"close":1,"cancel":1,"transfer_in":1,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1},{"symbol":"EOS","contract_code":"EOS-USDT","open":1,"close":1,"cancel":1,"transfer_in":1,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1},{"symbol":"BTC","contract_code":"BTC-USDT","open":1,"close":1,"cancel":1,"transfer_in":1,"transfer_out":1,"master_transfer_sub":1,"sub_transfer_master":1,"master_transfer_sub_inner_in":1,"master_transfer_sub_inner_out":1,"sub_transfer_master_inner_in":1,"sub_transfer_master_inner_out":1,"transfer_inner_in":1,"transfer_inner_out":1}], + * "ts":1601017543003 + */ + public String status; + private Long ts; + private List data; + + @Data + @AllArgsConstructor + public static class DateBean { + /** + * "symbol": "ETH", + * "contract_code": "ETH-USDT", + * "open": 1, + * "close": 1, + * "cancel": 1, + * "transfer_in": 1, + * "transfer_out": 1, + * "master_transfer_sub": 1, + * "sub_transfer_master": 1, + * "master_transfer_sub_inner_in": 1, + * "master_transfer_sub_inner_out": 1, + * "sub_transfer_master_inner_in": 1, + * "sub_transfer_master_inner_out": 1, + * "transfer_inner_in": 1, + * "transfer_inner_out": 1 + * "margin_account":"ETH-USDT", + * "margin_mode":"isolated" + */ + private String symbol; + @SerializedName("contract_code") + private String contractCode; + private Integer open; + private Integer close; + private Integer cancel; + @SerializedName("transfer_in") + private Integer transferIn; + @SerializedName("transfer_out") + private Integer transferOut; + @SerializedName("master_transfer_sub") + private Integer masterTransferSub; + @SerializedName("sub_transfer_master") + private Integer subTransferMaster; + @SerializedName("master_transfer_sub_inner_in") + private Integer masterTransferSubInnerIn; + @SerializedName("master_transfer_sub_inner_out") + private Integer masterTransferSubInnerOut; + @SerializedName("sub_transfer_master_inner_in") + private Integer subTransferMasterInnerIn; + @SerializedName("sub_transfer_master_inner_out") + private Integer subTransferMasterInnerOut; + @SerializedName("transfer_inner_in") + private Integer transferInnerIn; + @SerializedName("transfer_inner_out") + private Integer transferInnerOut; + @SerializedName("margin_mode") + private String marginMode; + @SerializedName("margin_account") + private String MarginAccount; + @SerializedName("trade_partition") + private String tradePartition; + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/market/SwapBatchFundingRateResponse.java b/src/main/java/com/huobi/api/response/usdt/market/SwapBatchFundingRateResponse.java new file mode 100644 index 0000000..918bf52 --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/market/SwapBatchFundingRateResponse.java @@ -0,0 +1,38 @@ +package com.huobi.api.response.usdt.market; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.util.List; + +@Data +@Builder +@AllArgsConstructor +public class SwapBatchFundingRateResponse { + private String status; + private Long ts; + private List data; + + @Data + @Builder + @AllArgsConstructor + public static class DataBean{ + private String symbol; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("fee_asset") + private String feeAsset; + @SerializedName("funding_time") + private String fundingTime; + @SerializedName("funding_rate") + private String fundingRate; + @SerializedName("estimated_rate") + private String estimatedRate; + @SerializedName("next_funding_time") + private String nextFundingTime; + @SerializedName("trade_partition") + private String tradePartition; + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/market/SwapContractInfoResponse.java b/src/main/java/com/huobi/api/response/usdt/market/SwapContractInfoResponse.java new file mode 100644 index 0000000..318129f --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/market/SwapContractInfoResponse.java @@ -0,0 +1,68 @@ +package com.huobi.api.response.usdt.market; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class SwapContractInfoResponse { + + + /** + * "status":"ok", + * "data":[{"symbol":"BTC","contract_code":"BTC-USDT","contract_size":0.010000000000000000,"price_tick":0.001000000000000000,"create_date":"20200917","contract_status":7,"settlement_date":"1600943400000"}], + * "ts":1601017671678 + */ + + private String status; + private Long ts; + private List data; + + + @Data + @AllArgsConstructor + public static class DataBean { + /** + * "symbol": "BTC", + * "contract_code": "BTC-USDT", + * "contract_size": 0.010000000000000000, + * "price_tick": 0.001000000000000000, + * "create_date": "20200917", + * "contract_status": 7, + * "settlement_date": "1600943400000", + * "supportMarginMode":"all" + */ + + private String symbol; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("contract_size") + private BigDecimal contractSize; + @SerializedName("price_tick") + private BigDecimal priceTick; + @SerializedName("settlement_date") + private String settlementDate; + @SerializedName("create_date") + private String createDate; + @SerializedName("contract_status") + private Integer contractStatus; + @SerializedName("support_margin_mode") + private String supportMarginMode; + @SerializedName("delivery_time") + private Long deliveryTime; + private String pair; + @SerializedName("business_type") + private String businessType; + @SerializedName("delivery_date") + private String deliveryDate; + @SerializedName("contract_type") + private String contractType; + @SerializedName("trade_partition") + private String tradePartition; + + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/market/SwapCrossAdjustfactorResponse.java b/src/main/java/com/huobi/api/response/usdt/market/SwapCrossAdjustfactorResponse.java new file mode 100644 index 0000000..ee87622 --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/market/SwapCrossAdjustfactorResponse.java @@ -0,0 +1,61 @@ +package com.huobi.api.response.usdt.market; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@AllArgsConstructor +@Builder +@Data +public class SwapCrossAdjustfactorResponse { + private String status; + private Long ts; + private List data; + + @AllArgsConstructor + @Builder + @Data + public static class DataBean{ + private String symbol; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("margin_mode") + private String marginMode; + private String pair; + @SerializedName("business_type") + private String businessType; + @SerializedName("contract_type") + private String contractType; + @SerializedName("trade_partition") + private String tradePartition; + private List list; + + @AllArgsConstructor + @Builder + @Data + public static class ListBean{ + @SerializedName("lever_rate") + private Integer LeverRate; + private List ladders; + + @AllArgsConstructor + @Builder + @Data + public static class LaddersBean{ + @SerializedName("min_size") + private BigDecimal minSize; + @SerializedName("max_size") + private BigDecimal maxSize; + private Integer ladder; + @SerializedName("adjust_factor") + private BigDecimal adjustFactor; + } + } + } + + +} diff --git a/src/main/java/com/huobi/api/response/usdt/market/SwapCrossTradeStateResponse.java b/src/main/java/com/huobi/api/response/usdt/market/SwapCrossTradeStateResponse.java new file mode 100644 index 0000000..6f947c0 --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/market/SwapCrossTradeStateResponse.java @@ -0,0 +1,41 @@ +package com.huobi.api.response.usdt.market; + + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.util.List; + +@AllArgsConstructor +@Builder +@Data +public class SwapCrossTradeStateResponse { + private String status; + private Long ts; + private List data; + + @AllArgsConstructor + @Builder + @Data + public static class DataBean{ + private String symbol; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("margin_mode") + private String marginMode; + @SerializedName("margin_account") + private String marginAccount; + private Integer open; + private Integer close; + private Integer cancel; + private String pair; + @SerializedName("business_type") + private String businessType; + @SerializedName("contract_type") + private String contractType; + @SerializedName("trade_partition") + private String tradePartition; + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/market/SwapCrossTransferStateResponse.java b/src/main/java/com/huobi/api/response/usdt/market/SwapCrossTransferStateResponse.java new file mode 100644 index 0000000..245e676 --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/market/SwapCrossTransferStateResponse.java @@ -0,0 +1,47 @@ +package com.huobi.api.response.usdt.market; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.util.List; + +@AllArgsConstructor +@Builder +@Data +public class SwapCrossTransferStateResponse { + private String status; + private Long ts; + private List data; + + @AllArgsConstructor + @Builder + @Data + public static class DataBean{ + @SerializedName("margin_mode") + private String marginMode; + @SerializedName("margin_account") + private String marginAccount; + @SerializedName("transfer_in") + private Integer transferIn; + @SerializedName("transfer_out") + private Integer transferOut; + @SerializedName("master_transfer_sub") + private Integer masterTransferSub; + @SerializedName("sub_transfer_master") + private Integer subTransferMaster; + @SerializedName("master_transfer_sub_inner_in") + private Integer masterTransferSubInnerIn; + @SerializedName("master_transfer_sub_inner_out") + private Integer masterTransferSubInnerOut; + @SerializedName("sub_transfer_master_inner_in") + private Integer subTransferMasterInnerIn; + @SerializedName("sub_transfer_master_inner_out") + private Integer subTransferMasterInnerOut; + @SerializedName("transfer_inner_in") + private Integer transferInnerIn; + @SerializedName("transfer_inner_out") + private Integer transferInnerOut; + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/market/SwapEliteAccountRatioResponse.java b/src/main/java/com/huobi/api/response/usdt/market/SwapEliteAccountRatioResponse.java new file mode 100644 index 0000000..87c136b --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/market/SwapEliteAccountRatioResponse.java @@ -0,0 +1,58 @@ +package com.huobi.api.response.usdt.market; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@AllArgsConstructor +@Data +public class SwapEliteAccountRatioResponse { + /** + * "status":"ok", + * "data":{"list":[{"buy_ratio":0.4440,"sell_ratio":0.5000,"locked_ratio":0.0560,"ts":1600912800000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"locked_ratio":0.0000,"ts":1600916400000},{"buy_ratio":0.4730,"sell_ratio":0.5270,"locked_ratio":0.0000,"ts":1600920000000},{"buy_ratio":0.4730,"sell_ratio":0.5270,"locked_ratio":0.0000,"ts":1600923600000},{"buy_ratio":0.4730,"sell_ratio":0.5270,"locked_ratio":0.0000,"ts":1600927200000},{"buy_ratio":0.4730,"sell_ratio":0.5270,"locked_ratio":0.0000,"ts":1600930800000},{"buy_ratio":0.5260,"sell_ratio":0.4740,"locked_ratio":0.0000,"ts":1600938000000},{"buy_ratio":0.5260,"sell_ratio":0.4740,"locked_ratio":0.0000,"ts":1600945200000},{"buy_ratio":0.5260,"sell_ratio":0.4740,"locked_ratio":0.0000,"ts":1600948800000},{"buy_ratio":0.5260,"sell_ratio":0.4740,"locked_ratio":0.0000,"ts":1600952400000},{"buy_ratio":0.5260,"sell_ratio":0.4740,"locked_ratio":0.0000,"ts":1600956000000},{"buy_ratio":0.5260,"sell_ratio":0.4740,"locked_ratio":0.0000,"ts":1600959600000},{"buy_ratio":0.5260,"sell_ratio":0.4740,"locked_ratio":0.0000,"ts":1600963200000},{"buy_ratio":0.5260,"sell_ratio":0.4740,"locked_ratio":0.0000,"ts":1600966800000},{"buy_ratio":0.5260,"sell_ratio":0.4740,"locked_ratio":0.0000,"ts":1600970400000},{"buy_ratio":0.5260,"sell_ratio":0.4740,"locked_ratio":0.0000,"ts":1600974000000},{"buy_ratio":0.5260,"sell_ratio":0.4740,"locked_ratio":0.0000,"ts":1600977600000},{"buy_ratio":0.5260,"sell_ratio":0.4740,"locked_ratio":0.0000,"ts":1600981200000},{"buy_ratio":0.5260,"sell_ratio":0.4740,"locked_ratio":0.0000,"ts":1600984800000},{"buy_ratio":0.5260,"sell_ratio":0.4740,"locked_ratio":0.0000,"ts":1600988400000},{"buy_ratio":0.5260,"sell_ratio":0.4740,"locked_ratio":0.0000,"ts":1600992000000},{"buy_ratio":0.5260,"sell_ratio":0.4740,"locked_ratio":0.0000,"ts":1600995600000},{"buy_ratio":0.5260,"sell_ratio":0.4740,"locked_ratio":0.0000,"ts":1600999200000},{"buy_ratio":0.5260,"sell_ratio":0.4740,"locked_ratio":0.0000,"ts":1601002800000},{"buy_ratio":0.5260,"sell_ratio":0.4740,"locked_ratio":0.0000,"ts":1601006400000},{"buy_ratio":0.5260,"sell_ratio":0.4740,"locked_ratio":0.0000,"ts":1601010000000},{"buy_ratio":0.5260,"sell_ratio":0.4740,"locked_ratio":0.0000,"ts":1601013600000},{"buy_ratio":0.5260,"sell_ratio":0.4740,"locked_ratio":0.0000,"ts":1601017200000}],"symbol":"BTC","contract_code":"BTC-USDT"}, + * "ts":1601017738890 + */ + private String status; + private Long ts; + private List data; + + @AllArgsConstructor + @Data + public static class DataBean { + /** + * "list":[{"buy_ratio":0.4440,"sell_ratio":0.5000,"locked_ratio":0.0560,"ts":1600912800000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"locked_ratio":0.0000,"ts":1600916400000},{"buy_ratio":0.4730,"sell_ratio":0.5270,"locked_ratio":0.0000,"ts":1600920000000},{"buy_ratio":0.4730,"sell_ratio":0.5270,"locked_ratio":0.0000,"ts":1600923600000},{"buy_ratio":0.4730,"sell_ratio":0.5270,"locked_ratio":0.0000,"ts":1600927200000},{"buy_ratio":0.4730,"sell_ratio":0.5270,"locked_ratio":0.0000,"ts":1600930800000},{"buy_ratio":0.5260,"sell_ratio":0.4740,"locked_ratio":0.0000,"ts":1600938000000},{"buy_ratio":0.5260,"sell_ratio":0.4740,"locked_ratio":0.0000,"ts":1600945200000},{"buy_ratio":0.5260,"sell_ratio":0.4740,"locked_ratio":0.0000,"ts":1600948800000},{"buy_ratio":0.5260,"sell_ratio":0.4740,"locked_ratio":0.0000,"ts":1600952400000},{"buy_ratio":0.5260,"sell_ratio":0.4740,"locked_ratio":0.0000,"ts":1600956000000},{"buy_ratio":0.5260,"sell_ratio":0.4740,"locked_ratio":0.0000,"ts":1600959600000},{"buy_ratio":0.5260,"sell_ratio":0.4740,"locked_ratio":0.0000,"ts":1600963200000},{"buy_ratio":0.5260,"sell_ratio":0.4740,"locked_ratio":0.0000,"ts":1600966800000},{"buy_ratio":0.5260,"sell_ratio":0.4740,"locked_ratio":0.0000,"ts":1600970400000},{"buy_ratio":0.5260,"sell_ratio":0.4740,"locked_ratio":0.0000,"ts":1600974000000},{"buy_ratio":0.5260,"sell_ratio":0.4740,"locked_ratio":0.0000,"ts":1600977600000},{"buy_ratio":0.5260,"sell_ratio":0.4740,"locked_ratio":0.0000,"ts":1600981200000},{"buy_ratio":0.5260,"sell_ratio":0.4740,"locked_ratio":0.0000,"ts":1600984800000},{"buy_ratio":0.5260,"sell_ratio":0.4740,"locked_ratio":0.0000,"ts":1600988400000},{"buy_ratio":0.5260,"sell_ratio":0.4740,"locked_ratio":0.0000,"ts":1600992000000},{"buy_ratio":0.5260,"sell_ratio":0.4740,"locked_ratio":0.0000,"ts":1600995600000},{"buy_ratio":0.5260,"sell_ratio":0.4740,"locked_ratio":0.0000,"ts":1600999200000},{"buy_ratio":0.5260,"sell_ratio":0.4740,"locked_ratio":0.0000,"ts":1601002800000},{"buy_ratio":0.5260,"sell_ratio":0.4740,"locked_ratio":0.0000,"ts":1601006400000},{"buy_ratio":0.5260,"sell_ratio":0.4740,"locked_ratio":0.0000,"ts":1601010000000},{"buy_ratio":0.5260,"sell_ratio":0.4740,"locked_ratio":0.0000,"ts":1601013600000},{"buy_ratio":0.5260,"sell_ratio":0.4740,"locked_ratio":0.0000,"ts":1601017200000}], + * "symbol":"BTC", + * "contract_code":"BTC-USDT" + */ + private String symbol; + @SerializedName("contract_code") + private String contractCode; + private String pair; + @SerializedName("business_type") + private String businessType; + @SerializedName("trade_partition") + private String tradePartition; + private List list; + + @AllArgsConstructor + @Data + public static class DataList { + /** + * "buy_ratio": 0.4440, + * "sell_ratio": 0.5000, + * "locked_ratio": 0.0560, + * "ts": 1600912800000 + */ + @SerializedName("buy_ratio") + private BigDecimal buyRatio; + @SerializedName("sell_ratio") + private BigDecimal sellRatio; + @SerializedName("locked_ratio") + private BigDecimal lockedRatio; + private Long ts; + } + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/market/SwapElitePositionRatioResponse.java b/src/main/java/com/huobi/api/response/usdt/market/SwapElitePositionRatioResponse.java new file mode 100644 index 0000000..87bf4bd --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/market/SwapElitePositionRatioResponse.java @@ -0,0 +1,56 @@ +package com.huobi.api.response.usdt.market; + + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class SwapElitePositionRatioResponse { + /** + * "status":"ok", + * "data":{"list":[{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1600912800000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1600916400000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1600920000000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1600923600000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1600927200000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1600930800000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1600938000000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1600945200000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1600948800000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1600952400000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1600956000000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1600959600000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1600963200000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1600966800000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1600970400000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1600974000000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1600977600000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1600981200000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1600984800000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1600988400000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1600992000000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1600995600000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1600999200000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1601002800000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1601006400000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1601010000000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1601013600000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1601017200000}],"symbol":"BTC","contract_code":"BTC-USDT"}, + * "ts":1601017876358 + */ + private String status; + private Long ts; + private List data; + + @Data + @AllArgsConstructor + public static class DataBean { + /** + * "list":[{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1600912800000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1600916400000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1600920000000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1600923600000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1600927200000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1600930800000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1600938000000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1600945200000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1600948800000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1600952400000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1600956000000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1600959600000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1600963200000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1600966800000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1600970400000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1600974000000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1600977600000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1600981200000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1600984800000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1600988400000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1600992000000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1600995600000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1600999200000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1601002800000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1601006400000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1601010000000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1601013600000},{"buy_ratio":0.5000,"sell_ratio":0.5000,"ts":1601017200000}], + * "symbol":"BTC", + * "contract_code":"BTC-USDT" + */ + private String symbol; + @SerializedName("contract_code") + private String contractCode; + private String pair; + @SerializedName("business_type") + private String businessType; + @SerializedName("trade_partition") + private String tradePartition; + private List list; + + @Data + @AllArgsConstructor + public static class DataList { + /** + * "buy_ratio": 0.5000, + * "sell_ratio": 0.5000, + * "ts": 1600912800000 + */ + @SerializedName("buy_ratio") + private BigDecimal buyRatio; + @SerializedName("sell_ratio") + private BigDecimal sellRatio; + private Long ts; + } + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/market/SwapEstimatedSettlementPriceResponse.java b/src/main/java/com/huobi/api/response/usdt/market/SwapEstimatedSettlementPriceResponse.java new file mode 100644 index 0000000..f51dce4 --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/market/SwapEstimatedSettlementPriceResponse.java @@ -0,0 +1,37 @@ +package com.huobi.api.response.usdt.market; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@AllArgsConstructor +@Builder +@Data +public class SwapEstimatedSettlementPriceResponse { + private String status; + private Long ts; + private List data; + + @AllArgsConstructor + @Builder + @Data + public static class DataBean{ + @SerializedName("contract_code") + private String contractCode; + @SerializedName("estimated_settlement_price") + private BigDecimal estimatedSettlementPrice; + @SerializedName("settlement_type") + private String settlementType; + private String pair; + @SerializedName("business_type") + private String businessType; + @SerializedName("contract_type") + private String contractType; + @SerializedName("trade_partition") + private String tradePartition; + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/market/SwapFundingRateResponse.java b/src/main/java/com/huobi/api/response/usdt/market/SwapFundingRateResponse.java new file mode 100644 index 0000000..5663474 --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/market/SwapFundingRateResponse.java @@ -0,0 +1,50 @@ +package com.huobi.api.response.usdt.market; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.util.List; + +@Data +@AllArgsConstructor +public class SwapFundingRateResponse { + /** + * "status":"ok", + * "data":{"estimated_rate":null,"funding_rate":"-0.003750000000000000","contract_code":"BTC-USDT","symbol":"BTC","fee_asset":"USDT","funding_time":"1600943400000","next_funding_time":"1600972200000"}, + * "ts":1601017977976 + */ + private String status; + private Long ts; + private List data; + + @Data + @AllArgsConstructor + public static class DataBean { + /** + * "estimated_rate": null, + * "funding_rate": "-0.003750000000000000", + * "contract_code": "BTC-USDT", + * "symbol": "BTC", + * "fee_asset": "USDT", + * "funding_time": "1600943400000", + * "next_funding_time": "1600972200000" + */ + private String symbol; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("fee_asset") + private String feeAsset; + @SerializedName("funding_time") + private String fundingTime; + @SerializedName("funding_rate") + private String fundingRate; + @SerializedName("estimated_rate") + private String estimatedRate; + @SerializedName("next_funding_time") + private String nextFundingTime; + @SerializedName("trade_partition") + private String tradePartition; + + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/market/SwapHisOpenInterestResponse.java b/src/main/java/com/huobi/api/response/usdt/market/SwapHisOpenInterestResponse.java new file mode 100644 index 0000000..6b4590f --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/market/SwapHisOpenInterestResponse.java @@ -0,0 +1,58 @@ +package com.huobi.api.response.usdt.market; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@AllArgsConstructor +@Data +public class SwapHisOpenInterestResponse { + /** + * "status":"ok", + * "data":{"symbol":"BTC","tick":[{"volume":3019.0000000000000000,"amount_type":1,"ts":1601017200000,"value":311835.830900000000000000000000000000000000},{"volume":3019.0000000000000000,"amount_type":1,"ts":1601013600000,"value":311835.830900000000000000000000000000000000},{"volume":3019.0000000000000000,"amount_type":1,"ts":1601010000000,"value":311835.830900000000000000000000000000000000},{"volume":3019.0000000000000000,"amount_type":1,"ts":1601006400000,"value":311835.830900000000000000000000000000000000},{"volume":3019.0000000000000000,"amount_type":1,"ts":1601002800000,"value":311835.830900000000000000000000000000000000},{"volume":3019.0000000000000000,"amount_type":1,"ts":1600999200000,"value":311835.830900000000000000000000000000000000},{"volume":3019.0000000000000000,"amount_type":1,"ts":1600995600000,"value":311835.830900000000000000000000000000000000},{"volume":3019.0000000000000000,"amount_type":1,"ts":1600992000000,"value":311835.830900000000000000000000000000000000},{"volume":3019.0000000000000000,"amount_type":1,"ts":1600988400000,"value":311835.830900000000000000000000000000000000},{"volume":3019.0000000000000000,"amount_type":1,"ts":1600984800000,"value":311835.830900000000000000000000000000000000},{"volume":3019.0000000000000000,"amount_type":1,"ts":1600981200000,"value":311835.830900000000000000000000000000000000},{"volume":3019.0000000000000000,"amount_type":1,"ts":1600977600000,"value":311835.830900000000000000000000000000000000},{"volume":3019.0000000000000000,"amount_type":1,"ts":1600974000000,"value":311835.830900000000000000000000000000000000},{"volume":3019.0000000000000000,"amount_type":1,"ts":1600970400000,"value":311835.830900000000000000000000000000000000},{"volume":3019.0000000000000000,"amount_type":1,"ts":1600966800000,"value":311835.830900000000000000000000000000000000},{"volume":3019.0000000000000000,"amount_type":1,"ts":1600963200000,"value":311835.830900000000000000000000000000000000},{"volume":3019.0000000000000000,"amount_type":1,"ts":1600959600000,"value":311835.830900000000000000000000000000000000},{"volume":3019.0000000000000000,"amount_type":1,"ts":1600956000000,"value":311835.830900000000000000000000000000000000},{"volume":3019.0000000000000000,"amount_type":1,"ts":1600952400000,"value":311835.830900000000000000000000000000000000},{"volume":3019.0000000000000000,"amount_type":1,"ts":1600948800000,"value":311835.830900000000000000000000000000000000},{"volume":3019.0000000000000000,"amount_type":1,"ts":1600945200000,"value":311835.830900000000000000000000000000000000},{"volume":3019.0000000000000000,"amount_type":1,"ts":1600941600000,"value":311835.830900000000000000000000000000000000},{"volume":3019.0000000000000000,"amount_type":1,"ts":1600938000000,"value":311835.830900000000000000000000000000000000},{"volume":3015.0000000000000000,"amount_type":1,"ts":1600934400000,"value":311422.666500000000000000000000000000000000},{"volume":3015.0000000000000000,"amount_type":1,"ts":1600930800000,"value":311422.666500000000000000000000000000000000},{"volume":3013.0000000000000000,"amount_type":1,"ts":1600927200000,"value":311216.084300000000000000000000000000000000},{"volume":3011.0000000000000000,"amount_type":1,"ts":1600923600000,"value":311009.502100000000000000000000000000000000},{"volume":3011.0000000000000000,"amount_type":1,"ts":1600920000000,"value":311009.502100000000000000000000000000000000},{"volume":1858.0000000000000000,"amount_type":1,"ts":1600916400000,"value":191914.863800000000000000000000000000000000},{"volume":1732.0000000000000000,"amount_type":1,"ts":1600912800000,"value":178900.185200000000000000000000000000000000},{"volume":1732.0000000000000000,"amount_type":1,"ts":1600909200000,"value":178900.185200000000000000000000000000000000},{"volume":1732.0000000000000000,"amount_type":1,"ts":1600905600000,"value":178900.185200000000000000000000000000000000},{"volume":1732.0000000000000000,"amount_type":1,"ts":1600902000000,"value":178900.185200000000000000000000000000000000},{"volume":1732.0000000000000000,"amount_type":1,"ts":1600898400000,"value":178900.185200000000000000000000000000000000},{"volume":1732.0000000000000000,"amount_type":1,"ts":1600894800000,"value":178900.185200000000000000000000000000000000},{"volume":1732.0000000000000000,"amount_type":1,"ts":1600891200000,"value":178900.185200000000000000000000000000000000},{"volume":1732.0000000000000000,"amount_type":1,"ts":1600887600000,"value":178900.185200000000000000000000000000000000},{"volume":1732.0000000000000000,"amount_type":1,"ts":1600884000000,"value":178900.185200000000000000000000000000000000},{"volume":1732.0000000000000000,"amount_type":1,"ts":1600880400000,"value":178900.185200000000000000000000000000000000},{"volume":1732.0000000000000000,"amount_type":1,"ts":1600876800000,"value":178900.185200000000000000000000000000000000},{"volume":1732.0000000000000000,"amount_type":1,"ts":1600873200000,"value":178900.185200000000000000000000000000000000},{"volume":1732.0000000000000000,"amount_type":1,"ts":1600869600000,"value":178900.185200000000000000000000000000000000},{"volume":1712.0000000000000000,"amount_type":1,"ts":1600866000000,"value":176834.363200000000000000000000000000000000},{"volume":1712.0000000000000000,"amount_type":1,"ts":1600862400000,"value":176834.363200000000000000000000000000000000},{"volume":1712.0000000000000000,"amount_type":1,"ts":1600858800000,"value":176834.363200000000000000000000000000000000},{"volume":1712.0000000000000000,"amount_type":1,"ts":1600855200000,"value":176834.363200000000000000000000000000000000},{"volume":1712.0000000000000000,"amount_type":1,"ts":1600851600000,"value":176834.363200000000000000000000000000000000},{"volume":1712.0000000000000000,"amount_type":1,"ts":1600848000000,"value":176834.363200000000000000000000000000000000}],"contract_code":"BTC-USDT"}, + * "ts":1601018052709 + */ + private String status; + private Long ts; + private List data; + + @AllArgsConstructor + @Data + public static class DataBean { + /** + * "symbol":"BTC", + * "tick":[{"volume":3019.0000000000000000,"amount_type":1,"ts":1601017200000,"value":311835.830900000000000000000000000000000000},{"volume":3019.0000000000000000,"amount_type":1,"ts":1601013600000,"value":311835.830900000000000000000000000000000000},{"volume":3019.0000000000000000,"amount_type":1,"ts":1601010000000,"value":311835.830900000000000000000000000000000000},{"volume":3019.0000000000000000,"amount_type":1,"ts":1601006400000,"value":311835.830900000000000000000000000000000000},{"volume":3019.0000000000000000,"amount_type":1,"ts":1601002800000,"value":311835.830900000000000000000000000000000000},{"volume":3019.0000000000000000,"amount_type":1,"ts":1600999200000,"value":311835.830900000000000000000000000000000000},{"volume":3019.0000000000000000,"amount_type":1,"ts":1600995600000,"value":311835.830900000000000000000000000000000000},{"volume":3019.0000000000000000,"amount_type":1,"ts":1600992000000,"value":311835.830900000000000000000000000000000000},{"volume":3019.0000000000000000,"amount_type":1,"ts":1600988400000,"value":311835.830900000000000000000000000000000000},{"volume":3019.0000000000000000,"amount_type":1,"ts":1600984800000,"value":311835.830900000000000000000000000000000000},{"volume":3019.0000000000000000,"amount_type":1,"ts":1600981200000,"value":311835.830900000000000000000000000000000000},{"volume":3019.0000000000000000,"amount_type":1,"ts":1600977600000,"value":311835.830900000000000000000000000000000000},{"volume":3019.0000000000000000,"amount_type":1,"ts":1600974000000,"value":311835.830900000000000000000000000000000000},{"volume":3019.0000000000000000,"amount_type":1,"ts":1600970400000,"value":311835.830900000000000000000000000000000000},{"volume":3019.0000000000000000,"amount_type":1,"ts":1600966800000,"value":311835.830900000000000000000000000000000000},{"volume":3019.0000000000000000,"amount_type":1,"ts":1600963200000,"value":311835.830900000000000000000000000000000000},{"volume":3019.0000000000000000,"amount_type":1,"ts":1600959600000,"value":311835.830900000000000000000000000000000000},{"volume":3019.0000000000000000,"amount_type":1,"ts":1600956000000,"value":311835.830900000000000000000000000000000000},{"volume":3019.0000000000000000,"amount_type":1,"ts":1600952400000,"value":311835.830900000000000000000000000000000000},{"volume":3019.0000000000000000,"amount_type":1,"ts":1600948800000,"value":311835.830900000000000000000000000000000000},{"volume":3019.0000000000000000,"amount_type":1,"ts":1600945200000,"value":311835.830900000000000000000000000000000000},{"volume":3019.0000000000000000,"amount_type":1,"ts":1600941600000,"value":311835.830900000000000000000000000000000000},{"volume":3019.0000000000000000,"amount_type":1,"ts":1600938000000,"value":311835.830900000000000000000000000000000000},{"volume":3015.0000000000000000,"amount_type":1,"ts":1600934400000,"value":311422.666500000000000000000000000000000000},{"volume":3015.0000000000000000,"amount_type":1,"ts":1600930800000,"value":311422.666500000000000000000000000000000000},{"volume":3013.0000000000000000,"amount_type":1,"ts":1600927200000,"value":311216.084300000000000000000000000000000000},{"volume":3011.0000000000000000,"amount_type":1,"ts":1600923600000,"value":311009.502100000000000000000000000000000000},{"volume":3011.0000000000000000,"amount_type":1,"ts":1600920000000,"value":311009.502100000000000000000000000000000000},{"volume":1858.0000000000000000,"amount_type":1,"ts":1600916400000,"value":191914.863800000000000000000000000000000000},{"volume":1732.0000000000000000,"amount_type":1,"ts":1600912800000,"value":178900.185200000000000000000000000000000000},{"volume":1732.0000000000000000,"amount_type":1,"ts":1600909200000,"value":178900.185200000000000000000000000000000000},{"volume":1732.0000000000000000,"amount_type":1,"ts":1600905600000,"value":178900.185200000000000000000000000000000000},{"volume":1732.0000000000000000,"amount_type":1,"ts":1600902000000,"value":178900.185200000000000000000000000000000000},{"volume":1732.0000000000000000,"amount_type":1,"ts":1600898400000,"value":178900.185200000000000000000000000000000000},{"volume":1732.0000000000000000,"amount_type":1,"ts":1600894800000,"value":178900.185200000000000000000000000000000000},{"volume":1732.0000000000000000,"amount_type":1,"ts":1600891200000,"value":178900.185200000000000000000000000000000000},{"volume":1732.0000000000000000,"amount_type":1,"ts":1600887600000,"value":178900.185200000000000000000000000000000000},{"volume":1732.0000000000000000,"amount_type":1,"ts":1600884000000,"value":178900.185200000000000000000000000000000000},{"volume":1732.0000000000000000,"amount_type":1,"ts":1600880400000,"value":178900.185200000000000000000000000000000000},{"volume":1732.0000000000000000,"amount_type":1,"ts":1600876800000,"value":178900.185200000000000000000000000000000000},{"volume":1732.0000000000000000,"amount_type":1,"ts":1600873200000,"value":178900.185200000000000000000000000000000000},{"volume":1732.0000000000000000,"amount_type":1,"ts":1600869600000,"value":178900.185200000000000000000000000000000000},{"volume":1712.0000000000000000,"amount_type":1,"ts":1600866000000,"value":176834.363200000000000000000000000000000000},{"volume":1712.0000000000000000,"amount_type":1,"ts":1600862400000,"value":176834.363200000000000000000000000000000000},{"volume":1712.0000000000000000,"amount_type":1,"ts":1600858800000,"value":176834.363200000000000000000000000000000000},{"volume":1712.0000000000000000,"amount_type":1,"ts":1600855200000,"value":176834.363200000000000000000000000000000000},{"volume":1712.0000000000000000,"amount_type":1,"ts":1600851600000,"value":176834.363200000000000000000000000000000000},{"volume":1712.0000000000000000,"amount_type":1,"ts":1600848000000,"value":176834.363200000000000000000000000000000000}], + * "contract_code":"BTC-USDT" + */ + private String symbol; + @SerializedName("contract_code") + private String contractCode; + private String pair; + @SerializedName("business_type") + private String businessType; + @SerializedName("contract_type") + private String contractType; + @SerializedName("trade_partition") + private String tradePartition; + private List tick; + + @AllArgsConstructor + @Data + public static class DataTick { + /** + * "volume": 3019.0000000000000000, + * "amount_type": 1, + * "ts": 1601017200000, + * "value": 311835.830900000000000000000000000000000000 + */ + private BigDecimal volume; + @SerializedName("amount_type") + private Integer amountType; + private BigDecimal value; + private Long ts; + } + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/market/SwapHistoricalFundingRateResponse.java b/src/main/java/com/huobi/api/response/usdt/market/SwapHistoricalFundingRateResponse.java new file mode 100644 index 0000000..421ce5a --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/market/SwapHistoricalFundingRateResponse.java @@ -0,0 +1,64 @@ +package com.huobi.api.response.usdt.market; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.util.List; + +@Data +@AllArgsConstructor +public class SwapHistoricalFundingRateResponse { + /** + * "status":"ok", + * "data":{"total_page":2,"current_page":1,"total_size":30,"data":[{"avg_premium_index":"-0.010388926169819728","funding_rate":"-0.003750000000000000","realized_rate":"-0.003750000000000000","funding_time":"1600914600000","contract_code":"BTC-USDT","symbol":"BTC","fee_asset":"USDT"},{"avg_premium_index":"-0.016328444933109609","funding_rate":"-0.003750000000000000","realized_rate":"-0.003750000000000000","funding_time":"1600885800000","contract_code":"BTC-USDT","symbol":"BTC","fee_asset":"USDT"},{"avg_premium_index":"-0.014467677432716085","funding_rate":"-0.003750000000000000","realized_rate":"-0.003750000000000000","funding_time":"1600857000000","contract_code":"BTC-USDT","symbol":"BTC","fee_asset":"USDT"},{"avg_premium_index":"-0.021013287840712665","funding_rate":"-0.003750000000000000","realized_rate":"-0.003750000000000000","funding_time":"1600828200000","contract_code":"BTC-USDT","symbol":"BTC","fee_asset":"USDT"},{"avg_premium_index":"-0.036960721322332192","funding_rate":"-0.003750000000000000","realized_rate":"-0.003750000000000000","funding_time":"1600799400000","contract_code":"BTC-USDT","symbol":"BTC","fee_asset":"USDT"},{"avg_premium_index":"-0.031880470548548157","funding_rate":"-0.003750000000000000","realized_rate":"-0.003750000000000000","funding_time":"1600770600000","contract_code":"BTC-USDT","symbol":"BTC","fee_asset":"USDT"},{"avg_premium_index":"-0.016448475555121002","funding_rate":"-0.003750000000000000","realized_rate":"-0.003750000000000000","funding_time":"1600741800000","contract_code":"BTC-USDT","symbol":"BTC","fee_asset":"USDT"},{"avg_premium_index":"-0.031735615415070584","funding_rate":"0.003750000000000000","realized_rate":"0.003750000000000000","funding_time":"1600713000000","contract_code":"BTC-USDT","symbol":"BTC","fee_asset":"USDT"},{"avg_premium_index":"0.376417725484192043","funding_rate":"-0.003750000000000000","realized_rate":"-0.000931996086105675","funding_time":"1600684200000","contract_code":"BTC-USDT","symbol":"BTC","fee_asset":"USDT"},{"avg_premium_index":"-0.012961454875947187","funding_rate":"0.000100000000000000","realized_rate":"0.000042588726513569","funding_time":"1600656000000","contract_code":"BTC-USDT","symbol":"BTC","fee_asset":"USDT"},{"avg_premium_index":"0.000082683823529411","funding_rate":"0.000100000000000000","realized_rate":"0.000100000000000000","funding_time":"1600655400000","contract_code":"BTC-USDT","symbol":"BTC","fee_asset":"USDT"},{"avg_premium_index":"0.000099374999999999","funding_rate":"0.000100000000000000","realized_rate":"0.000100000000000000","funding_time":"1600654200000","contract_code":"BTC-USDT","symbol":"BTC","fee_asset":"USDT"},{"avg_premium_index":"0.000099374999999999","funding_rate":"0.000100000000000000","realized_rate":"0.000100000000000000","funding_time":"1600625400000","contract_code":"BTC-USDT","symbol":"BTC","fee_asset":"USDT"},{"avg_premium_index":"0.000097045898437500","funding_rate":"0.000097656250000001","realized_rate":"0.000097656250000001","funding_time":"1600596600000","contract_code":"BTC-USDT","symbol":"BTC","fee_asset":"USDT"},{"avg_premium_index":"-0.000402343749999999","funding_rate":"-0.003750000000000000","realized_rate":"-0.003750000000000000","funding_time":"1600567800000","contract_code":"BTC-USDT","symbol":"BTC","fee_asset":"USDT"},{"avg_premium_index":"-0.006687521793045953","funding_rate":"-0.003750000000000000","realized_rate":"-0.003750000000000000","funding_time":"1600539000000","contract_code":"BTC-USDT","symbol":"BTC","fee_asset":"USDT"},{"avg_premium_index":"-0.085864269062858537","funding_rate":"-0.003750000000000000","realized_rate":"-0.003750000000000000","funding_time":"1600510200000","contract_code":"BTC-USDT","symbol":"BTC","fee_asset":"USDT"},{"avg_premium_index":"-0.179787704920770161","funding_rate":"-0.003750000000000000","realized_rate":"-0.003750000000000000","funding_time":"1600481400000","contract_code":"BTC-USDT","symbol":"BTC","fee_asset":"USDT"},{"avg_premium_index":"-0.190067851972243281","funding_rate":"-0.003750000000000000","realized_rate":"-0.003750000000000000","funding_time":"1600452600000","contract_code":"BTC-USDT","symbol":"BTC","fee_asset":"USDT"},{"avg_premium_index":"-0.096094761244176491","funding_rate":"-0.002198437499999999","realized_rate":"-0.002198437499999998","funding_time":"1600423800000","contract_code":"BTC-USDT","symbol":"BTC","fee_asset":"USDT"}]}, + * "ts":1601018192135 + */ + private String status; + private Long ts; + private List data; + + @Data + @AllArgsConstructor + public static class DataBean { + /** + * "total_page":2, + * "current_page":1, + * "total_size":30, + * "data":[{"avg_premium_index":"-0.010388926169819728","funding_rate":"-0.003750000000000000","realized_rate":"-0.003750000000000000","funding_time":"1600914600000","contract_code":"BTC-USDT","symbol":"BTC","fee_asset":"USDT"},{"avg_premium_index":"-0.016328444933109609","funding_rate":"-0.003750000000000000","realized_rate":"-0.003750000000000000","funding_time":"1600885800000","contract_code":"BTC-USDT","symbol":"BTC","fee_asset":"USDT"},{"avg_premium_index":"-0.014467677432716085","funding_rate":"-0.003750000000000000","realized_rate":"-0.003750000000000000","funding_time":"1600857000000","contract_code":"BTC-USDT","symbol":"BTC","fee_asset":"USDT"},{"avg_premium_index":"-0.021013287840712665","funding_rate":"-0.003750000000000000","realized_rate":"-0.003750000000000000","funding_time":"1600828200000","contract_code":"BTC-USDT","symbol":"BTC","fee_asset":"USDT"},{"avg_premium_index":"-0.036960721322332192","funding_rate":"-0.003750000000000000","realized_rate":"-0.003750000000000000","funding_time":"1600799400000","contract_code":"BTC-USDT","symbol":"BTC","fee_asset":"USDT"},{"avg_premium_index":"-0.031880470548548157","funding_rate":"-0.003750000000000000","realized_rate":"-0.003750000000000000","funding_time":"1600770600000","contract_code":"BTC-USDT","symbol":"BTC","fee_asset":"USDT"},{"avg_premium_index":"-0.016448475555121002","funding_rate":"-0.003750000000000000","realized_rate":"-0.003750000000000000","funding_time":"1600741800000","contract_code":"BTC-USDT","symbol":"BTC","fee_asset":"USDT"},{"avg_premium_index":"-0.031735615415070584","funding_rate":"0.003750000000000000","realized_rate":"0.003750000000000000","funding_time":"1600713000000","contract_code":"BTC-USDT","symbol":"BTC","fee_asset":"USDT"},{"avg_premium_index":"0.376417725484192043","funding_rate":"-0.003750000000000000","realized_rate":"-0.000931996086105675","funding_time":"1600684200000","contract_code":"BTC-USDT","symbol":"BTC","fee_asset":"USDT"},{"avg_premium_index":"-0.012961454875947187","funding_rate":"0.000100000000000000","realized_rate":"0.000042588726513569","funding_time":"1600656000000","contract_code":"BTC-USDT","symbol":"BTC","fee_asset":"USDT"},{"avg_premium_index":"0.000082683823529411","funding_rate":"0.000100000000000000","realized_rate":"0.000100000000000000","funding_time":"1600655400000","contract_code":"BTC-USDT","symbol":"BTC","fee_asset":"USDT"},{"avg_premium_index":"0.000099374999999999","funding_rate":"0.000100000000000000","realized_rate":"0.000100000000000000","funding_time":"1600654200000","contract_code":"BTC-USDT","symbol":"BTC","fee_asset":"USDT"},{"avg_premium_index":"0.000099374999999999","funding_rate":"0.000100000000000000","realized_rate":"0.000100000000000000","funding_time":"1600625400000","contract_code":"BTC-USDT","symbol":"BTC","fee_asset":"USDT"},{"avg_premium_index":"0.000097045898437500","funding_rate":"0.000097656250000001","realized_rate":"0.000097656250000001","funding_time":"1600596600000","contract_code":"BTC-USDT","symbol":"BTC","fee_asset":"USDT"},{"avg_premium_index":"-0.000402343749999999","funding_rate":"-0.003750000000000000","realized_rate":"-0.003750000000000000","funding_time":"1600567800000","contract_code":"BTC-USDT","symbol":"BTC","fee_asset":"USDT"},{"avg_premium_index":"-0.006687521793045953","funding_rate":"-0.003750000000000000","realized_rate":"-0.003750000000000000","funding_time":"1600539000000","contract_code":"BTC-USDT","symbol":"BTC","fee_asset":"USDT"},{"avg_premium_index":"-0.085864269062858537","funding_rate":"-0.003750000000000000","realized_rate":"-0.003750000000000000","funding_time":"1600510200000","contract_code":"BTC-USDT","symbol":"BTC","fee_asset":"USDT"},{"avg_premium_index":"-0.179787704920770161","funding_rate":"-0.003750000000000000","realized_rate":"-0.003750000000000000","funding_time":"1600481400000","contract_code":"BTC-USDT","symbol":"BTC","fee_asset":"USDT"},{"avg_premium_index":"-0.190067851972243281","funding_rate":"-0.003750000000000000","realized_rate":"-0.003750000000000000","funding_time":"1600452600000","contract_code":"BTC-USDT","symbol":"BTC","fee_asset":"USDT"},{"avg_premium_index":"-0.096094761244176491","funding_rate":"-0.002198437499999999","realized_rate":"-0.002198437499999998","funding_time":"1600423800000","contract_code":"BTC-USDT","symbol":"BTC","fee_asset":"USDT"}] + */ + private Integer currentPage; + private Integer totalPage; + private Integer totalSize; + private List data; + + @Data + @AllArgsConstructor + public static class DataBeanToo { + /** + * "avg_premium_index": "-0.010388926169819728", + * "funding_rate": "-0.003750000000000000", + * "realized_rate": "-0.003750000000000000", + * "funding_time": "1600914600000", + * "contract_code": "BTC-USDT", + * "symbol": "BTC", + * "fee_asset": "USDT" + */ + private String symbol; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("fee_asset") + private String feeAsset; + @SerializedName("funding_time") + private String fundingTime; + @SerializedName("funding_rate") + private String fundingRate; + @SerializedName("realized_rate") + private String realizedRate; + @SerializedName("avg_premium_index") + private String avgPremiumIndex; + @SerializedName("trade_partition") + private String tradePartition; + } + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/market/SwapIndexResponse.java b/src/main/java/com/huobi/api/response/usdt/market/SwapIndexResponse.java new file mode 100644 index 0000000..4e93767 --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/market/SwapIndexResponse.java @@ -0,0 +1,45 @@ +package com.huobi.api.response.usdt.market; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class SwapIndexResponse { + + + /** + * "status":"ok", + * "data":[{"index_price":2.511570651667777777,"index_ts":1601018304058,"contract_code":"EOS-USDT"},{"index_price":10692.295000000000000000,"index_ts":1601018304058,"contract_code":"BTC-USDT"},{"index_price":343.444333333333333333,"index_ts":1601018304058,"contract_code":"ETH-USDT"},{"index_price":44.668389480000000000,"index_ts":1601018304058,"contract_code":"LTC-USDT"}], + * "ts":1601018311032 + */ + + private String status; + private Long ts; + private List data; + + + @Data + @AllArgsConstructor + public static class DataBean { + /** + * "index_price": 2.511570651667777777, + * "index_ts": 1601018304058, + * "contract_code": "EOS-USDT" + */ + + + @SerializedName("contract_code") + private String contractCode; + @SerializedName("index_price") + private BigDecimal indexPrice; + @SerializedName("index_ts") + private Long indexTs; + @SerializedName("trade_partition") + private String tradePartition; + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/market/SwapInsuranceFundResponse.java b/src/main/java/com/huobi/api/response/usdt/market/SwapInsuranceFundResponse.java new file mode 100644 index 0000000..8b1101e --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/market/SwapInsuranceFundResponse.java @@ -0,0 +1,64 @@ +package com.huobi.api.response.usdt.market; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@AllArgsConstructor +@Data +public class SwapInsuranceFundResponse { + /** + * "status":"ok", + * "data":{"total_page":1,"current_page":1,"total_size":7,"symbol":"BTC","contract_code":"BTC-USDT","tick":[{"insurance_fund":41963.382117457142308280,"ts":1600848000000},{"insurance_fund":42316.933563632142308280,"ts":1600761600000},{"insurance_fund":0.304558816785937313,"ts":1600675200000},{"insurance_fund":31.571897276974710720,"ts":1600588800000},{"insurance_fund":30.893039931974710720,"ts":1600502400000},{"insurance_fund":177.291633869887498433,"ts":1600416000000},{"insurance_fund":0E-18,"ts":1600329600000}]}, + * "ts":1601018382189 + */ + private String status; + private Long ts; + private List data; + + @AllArgsConstructor + @Data + public static class DataBean { + /** + * "total_page":1, + * "current_page":1, + * "total_size":7, + * "symbol":"BTC", + * "contract_code":"BTC-USDT", + * "tick":[{"insurance_fund":41963.382117457142308280,"ts":1600848000000},{"insurance_fund":42316.933563632142308280,"ts":1600761600000},{"insurance_fund":0.304558816785937313,"ts":1600675200000},{"insurance_fund":31.571897276974710720,"ts":1600588800000},{"insurance_fund":30.893039931974710720,"ts":1600502400000},{"insurance_fund":177.291633869887498433,"ts":1600416000000}] + */ + private String symbol; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("total_page") + private Integer totalPage; + @SerializedName("current_page") + private Integer currentPage; + @SerializedName("total_size") + private Integer totalSize; + private String pair; + @SerializedName("business_type") + private String businessType; + @SerializedName("contract_type") + private String contractType; + @SerializedName("trade_partition") + private String tradePartition; + private List tick; + + @AllArgsConstructor + @Data + public static class DataTick { + /** + * "insurance_fund": 41963.382117457142308280, + * "ts": 1600848000000 + */ + @SerializedName("insurance_fund") + private BigDecimal insuranceFund; + private Long ts; + } + + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/market/SwapLadderMarginResponse.java b/src/main/java/com/huobi/api/response/usdt/market/SwapLadderMarginResponse.java new file mode 100644 index 0000000..69d3fff --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/market/SwapLadderMarginResponse.java @@ -0,0 +1,63 @@ +package com.huobi.api.response.usdt.market; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Builder +@AllArgsConstructor +@Data +public class SwapLadderMarginResponse { + private String status; + private Long ts; + private List data; + + @Builder + @AllArgsConstructor + @Data + public static class DataBean{ + private String symbol; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("margin_account") + private String marginAccount; + @SerializedName("margin_mode") + private String marginMode; + private String pair; + @SerializedName("business_type") + private String businessType; + @SerializedName("contract_type") + private String contractType; + @SerializedName("trade_partition") + private String tradePartition; + private List list; + + @Builder + @AllArgsConstructor + @Data + public static class ListBean{ + @SerializedName("lever_rate") + private Integer leverRate; + private List ladders; + + @Builder + @AllArgsConstructor + @Data + public static class LaddersBean{ + @SerializedName("min_margin_balance") + private BigDecimal minMarginBalance; + @SerializedName("max_margin_balance") + private BigDecimal maxMarginBalance; + @SerializedName("min_margin_available") + private BigDecimal minMarginAvailable; + @SerializedName("max_margin_available") + private BigDecimal maxMarginAvailable; + } + } + + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/market/SwapLiquidationOrdersResponse.java b/src/main/java/com/huobi/api/response/usdt/market/SwapLiquidationOrdersResponse.java new file mode 100644 index 0000000..f92ab2d --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/market/SwapLiquidationOrdersResponse.java @@ -0,0 +1,70 @@ +package com.huobi.api.response.usdt.market; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class SwapLiquidationOrdersResponse { + /** + * "status":"ok", + * "data":{"orders":[{"contract_code":"BTC-USDT","symbol":"BTC","direction":"buy","offset":"close","volume":23.000000000000000000,"price":10328.572000000000000000,"created_at":1600830703914},{"contract_code":"BTC-USDT","symbol":"BTC","direction":"buy","offset":"close","volume":25.000000000000000000,"price":10722.568000000000000000,"created_at":1600828041370},{"contract_code":"BTC-USDT","symbol":"BTC","direction":"sell","offset":"close","volume":100.000000000000000000,"price":10002.078000000000000000,"created_at":1600690922043},{"contract_code":"BTC-USDT","symbol":"BTC","direction":"sell","offset":"close","volume":1.000000000000000000,"price":21033.111000000000000000,"created_at":1600679036268},{"contract_code":"BTC-USDT","symbol":"BTC","direction":"buy","offset":"close","volume":1.000000000000000000,"price":19832.308000000000000000,"created_at":1600678799886},{"contract_code":"BTC-USDT","symbol":"BTC","direction":"buy","offset":"close","volume":201.000000000000000000,"price":15632.480000000000000000,"created_at":1600676530877},{"contract_code":"BTC-USDT","symbol":"BTC","direction":"buy","offset":"close","volume":599.000000000000000000,"price":10282.900000000000000000,"created_at":1600657031742},{"contract_code":"BTC-USDT","symbol":"BTC","direction":"sell","offset":"close","volume":471.000000000000000000,"price":10520.375000000000000000,"created_at":1600655949031},{"contract_code":"BTC-USDT","symbol":"BTC","direction":"buy","offset":"close","volume":358.000000000000000000,"price":9194.132000000000000000,"created_at":1600655647171},{"contract_code":"BTC-USDT","symbol":"BTC","direction":"buy","offset":"close","volume":222.000000000000000000,"price":9471.500000000000000000,"created_at":1600655142536},{"contract_code":"BTC-USDT","symbol":"BTC","direction":"sell","offset":"close","volume":21.000000000000000000,"price":9232.214000000000000000,"created_at":1600654913815},{"contract_code":"BTC-USDT","symbol":"BTC","direction":"sell","offset":"close","volume":619.000000000000000000,"price":9919.489000000000000000,"created_at":1600423072360},{"contract_code":"BTC-USDT","symbol":"BTC","direction":"sell","offset":"close","volume":8.000000000000000000,"price":8928.000000000000000000,"created_at":1600422505990}],"total_page":1,"current_page":1,"total_size":13}, + * "ts":1601018556060 + */ + private String status; + private Long ts; + private List data; + + @Data + @AllArgsConstructor + public static class DataBean { + /** + * "orders":[{"contract_code":"BTC-USDT","symbol":"BTC","direction":"buy","offset":"close","volume":23.000000000000000000,"price":10328.572000000000000000,"created_at":1600830703914},{"contract_code":"BTC-USDT","symbol":"BTC","direction":"buy","offset":"close","volume":25.000000000000000000,"price":10722.568000000000000000,"created_at":1600828041370},{"contract_code":"BTC-USDT","symbol":"BTC","direction":"sell","offset":"close","volume":100.000000000000000000,"price":10002.078000000000000000,"created_at":1600690922043},{"contract_code":"BTC-USDT","symbol":"BTC","direction":"sell","offset":"close","volume":1.000000000000000000,"price":21033.111000000000000000,"created_at":1600679036268},{"contract_code":"BTC-USDT","symbol":"BTC","direction":"buy","offset":"close","volume":1.000000000000000000,"price":19832.308000000000000000,"created_at":1600678799886},{"contract_code":"BTC-USDT","symbol":"BTC","direction":"buy","offset":"close","volume":201.000000000000000000,"price":15632.480000000000000000,"created_at":1600676530877},{"contract_code":"BTC-USDT","symbol":"BTC","direction":"buy","offset":"close","volume":599.000000000000000000,"price":10282.900000000000000000,"created_at":1600657031742},{"contract_code":"BTC-USDT","symbol":"BTC","direction":"sell","offset":"close","volume":471.000000000000000000,"price":10520.375000000000000000,"created_at":1600655949031},{"contract_code":"BTC-USDT","symbol":"BTC","direction":"buy","offset":"close","volume":358.000000000000000000,"price":9194.132000000000000000,"created_at":1600655647171},{"contract_code":"BTC-USDT","symbol":"BTC","direction":"buy","offset":"close","volume":222.000000000000000000,"price":9471.500000000000000000,"created_at":1600655142536},{"contract_code":"BTC-USDT","symbol":"BTC","direction":"sell","offset":"close","volume":21.000000000000000000,"price":9232.214000000000000000,"created_at":1600654913815},{"contract_code":"BTC-USDT","symbol":"BTC","direction":"sell","offset":"close","volume":619.000000000000000000,"price":9919.489000000000000000,"created_at":1600423072360},{"contract_code":"BTC-USDT","symbol":"BTC","direction":"sell","offset":"close","volume":8.000000000000000000,"price":8928.000000000000000000,"created_at":1600422505990}], + * "total_page":1, + * "current_page":1, + * "total_size":13 + */ + @SerializedName("total_page") + private Integer totalPage; + @SerializedName("current_page") + private Integer currentPage; + @SerializedName("total_size") + private Integer totalSize; + private List orders; + + @Data + @AllArgsConstructor + public static class Orders { + /** + * "contract_code": "BTC-USDT", + * "symbol": "BTC", + * "direction": "buy", + * "offset": "close", + * "volume": 23.000000000000000000, + * "price": 10328.572000000000000000, + * "created_at": 1600830703914 + */ + private String symbol; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("created_at") + private Long createdAt; + private String direction; + private String offset; + private BigDecimal price; + private BigDecimal volume; + private String pair; + @SerializedName("business_type") + private String businessType; + @SerializedName("trade_partition") + private String tradePartition; + private BigDecimal amount; + @SerializedName("trade_turnover") + private BigDecimal tradeTurnover; + } + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/market/SwapMarketDepthResponse.java b/src/main/java/com/huobi/api/response/usdt/market/SwapMarketDepthResponse.java new file mode 100644 index 0000000..db879a2 --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/market/SwapMarketDepthResponse.java @@ -0,0 +1,47 @@ +package com.huobi.api.response.usdt.market; + +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class SwapMarketDepthResponse { + + /** + * "ch":"market.BTC-USDT.depth.step0", + * "status":"ok", + * "tick":{"asks":[[10329.11,26],[10329.12,100],[10329.13,100],[10329.14,100],[10329.15,100],[10329.16,100],[10329.18,100],[10329.19,100],[10329.2,101],[10329.21,102],[10329.22,101],[10329.222,1000],[10329.23,1100],[10329.24,1100],[10329.25,2000],[10329.26,1000],[10329.27,1000],[10329.3,100],[10329.4,100],[10329.5,100],[10329.6,100],[10329.7,100],[10329.8,100],[10329.9,100],[11100,100],[11100.1,100],[11329,100],[11329.1,100]],"bids":[[10328.993,814],[10328.992,1000],[10328.991,1000],[10328.98,1000],[10328.97,1000],[10328.96,1000],[10328.95,1000],[10328.94,1000],[10328.93,1000],[10328.92,1000],[10328.91,1000],[10328.9,1000],[10328.8,100],[10328.7,100],[10328.6,100],[10328.5,100],[10328.4,100],[10328.3,100],[10328.2,100],[10328.1,100],[10327.9,100],[10327.8,100],[10327.7,100],[10327.6,100],[10327.5,100],[10327.4,100],[10327.3,100],[10327.2,100],[10327.1,100],[10327,1],[10301.137,18],[10000,11],[9999,1000],[6000,85],[1111,1],[222,486]],"ch":"market.BTC-USDT.depth.step0","id":1601018648,"mrid":14502,"ts":1601018648094,"version":1601018648}, + * "ts":1601018648433 + */ + + private String ch; + private String status; + private List tick; + private Long ts; + + @Data + @AllArgsConstructor + public static class TickBean { + /** + * "asks":[[10329.11,26],[10329.12,100],[10329.13,100],[10329.14,100],[10329.15,100],[10329.16,100],[10329.18,100],[10329.19,100],[10329.2,101],[10329.21,102],[10329.22,101],[10329.222,1000],[10329.23,1100],[10329.24,1100],[10329.25,2000],[10329.26,1000],[10329.27,1000],[10329.3,100],[10329.4,100],[10329.5,100],[10329.6,100],[10329.7,100],[10329.8,100],[10329.9,100],[11100,100],[11100.1,100],[11329,100],[11329.1,100]], + * "bids":[[10328.993,814],[10328.992,1000],[10328.991,1000],[10328.98,1000],[10328.97,1000],[10328.96,1000],[10328.95,1000],[10328.94,1000],[10328.93,1000],[10328.92,1000],[10328.91,1000],[10328.9,1000],[10328.8,100],[10328.7,100],[10328.6,100],[10328.5,100],[10328.4,100],[10328.3,100],[10328.2,100],[10328.1,100],[10327.9,100],[10327.8,100],[10327.7,100],[10327.6,100],[10327.5,100],[10327.4,100],[10327.3,100],[10327.2,100],[10327.1,100],[10327,1],[10301.137,18],[10000,11],[9999,1000],[6000,85],[1111,1],[222,486]], + * "ch":"market.BTC-USDT.depth.step0", + * "id":1601018648, + * "mrid":14502, + * "ts":1601018648094, + * "version":1601018648 + */ + + private String ch; + private Integer id; + private Long mrid; + private Long ts; + private Integer version; + private List asks; + private List bids; + + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/market/SwapMarketDetailMergedResponse.java b/src/main/java/com/huobi/api/response/usdt/market/SwapMarketDetailMergedResponse.java new file mode 100644 index 0000000..5459f15 --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/market/SwapMarketDetailMergedResponse.java @@ -0,0 +1,64 @@ +package com.huobi.api.response.usdt.market; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class SwapMarketDetailMergedResponse { + + /** + * "ch":"market.BTC-USDT.detail.merged", + * "status":"ok", + * "tick":{"amount":"0.16","ask":[10329.11,26],"bid":[10328.993,814],"close":"10329.11","count":6,"high":"10329.11","id":1601018901,"low":"10329.11","open":"10329.11","trade_turnover":"1652.65526","ts":1601018902224,"vol":"16"}, + * "ts":1601018902224 + */ + + private String ch; + private String status; + private List tick; + private Long ts; + @Data + @AllArgsConstructor + public static class TickBean { + /** + * "amount":"0.16", + * "ask":[ + * 10329.11, + * 26 + * ], + * "bid":[ + * 10328.993, + * 814 + * ], + * "close":"10329.11", + * "count":6, + * "high":"10329.11", + * "id":1601018901, + * "low":"10329.11", + * "open":"10329.11", + * "trade_turnover":"1652.65526", + * "ts":1601018902224, + * "vol":"16" + */ + + private String amount; + private String close; + private Integer count; + private String high; + private Integer id; + private String low; + private String open; + private Long ts; + private String vol; + private BigDecimal[] ask; + private BigDecimal[] bid; + @SerializedName("trade_turnover") + private BigDecimal tradeTurnover; + + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/market/SwapMarketHistoryKlineResponse.java b/src/main/java/com/huobi/api/response/usdt/market/SwapMarketHistoryKlineResponse.java new file mode 100644 index 0000000..4c18441 --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/market/SwapMarketHistoryKlineResponse.java @@ -0,0 +1,53 @@ +package com.huobi.api.response.usdt.market; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class SwapMarketHistoryKlineResponse { + + /** + * "ch":"market.BTC-USDT.kline.15min", + * "data":[{"amount":0,"close":10329.11,"count":0,"high":10329.11,"id":1601019000,"low":10329.11,"open":10329.11,"trade_turnover":0,"vol":0}], + * "status":"ok", + * "ts":1601019041617 + */ + + private String ch; + private String status; + private Long ts; + private List data; + + @Data + @AllArgsConstructor + public static class DataBean { + /** + * "amount":0, + * "close":10329.11, + * "count":0, + * "high":10329.11, + * "id":1601019000, + * "low":10329.11, + * "open":10329.11, + * "trade_turnover":0, + * "vol":0 + */ + + private BigDecimal amount; + private BigDecimal close; + private BigDecimal count; + private BigDecimal high; + private Long id; + private BigDecimal low; + private BigDecimal open; + private BigDecimal vol; + @SerializedName("trade_turnover") + private BigDecimal tradeTurnover; + + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/market/SwapMarketHistoryTradeResponse.java b/src/main/java/com/huobi/api/response/usdt/market/SwapMarketHistoryTradeResponse.java new file mode 100644 index 0000000..db3163e --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/market/SwapMarketHistoryTradeResponse.java @@ -0,0 +1,59 @@ +package com.huobi.api.response.usdt.market; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class SwapMarketHistoryTradeResponse { + /** + * {"ch":"market.BTC-USDT.trade.detail", + * "data":[{"data":[{"amount":2,"direction":"sell","id":80000,"price":10000,"ts":1600326764039}],"id":8,"ts":1600326764039}], + * "status":"ok", + * "ts":1601019116673} + */ + + private String ch; + private String status; + private Long ts; + private List data; + + @Data + @AllArgsConstructor + public static class DataBeanX { + /** + * "data":[{"amount":2,"direction":"sell","id":80000,"price":10000,"ts":1600326764039}], + * "id":8, + * "ts":1600326764039 + */ + + private Long id; + private Long ts; + private List data; + + @Data + @AllArgsConstructor + public static class DataBean { + /** + * "amount":2, + * "direction":"sell", + * "id":80000, + * "price":10000, + * "ts":1600326764039 + */ + + private Integer amount; + private String direction; + private Long id; + private BigDecimal price; + private Long ts; + private BigDecimal quantity; + @SerializedName("trade_turnover") + private BigDecimal tradeTurnover; + } + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/market/SwapMarketTradeResponse.java b/src/main/java/com/huobi/api/response/usdt/market/SwapMarketTradeResponse.java new file mode 100644 index 0000000..678ce00 --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/market/SwapMarketTradeResponse.java @@ -0,0 +1,62 @@ +package com.huobi.api.response.usdt.market; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.util.List; + +@Data +@AllArgsConstructor +public class SwapMarketTradeResponse { + /** + * "ch":"market.BTC-USDT.trade.detail", + * "status":"ok", + * "tick":{"data":[{"amount":"2","ts":1600326764039,"id":80000,"price":"10000","direction":"sell"}],"id":1601019237738,"ts":1601019237738}, + * "ts":1601019237738 + */ + + private String ch; + private String status; + private List tick; + private Long ts; + + @Data + @AllArgsConstructor + public static class TickBean { + /** + * "data":[{"amount":"2","ts":1600326764039,"id":80000,"price":"10000","direction":"sell"}], + * "id":1601019237738, + * "ts":1601019237738 + */ + + private Long id; + private Long ts; + private List data; + + @Data + @AllArgsConstructor + public static class DataBean { + /** + * "amount":"2", + * "ts":1600326764039, + * "id":80000, + * "price":"10000", + * "direction":"sell" + */ + + private String amount; + private String direction; + private Long id; + private String price; + private Long ts; + private String quantity; + @SerializedName("trade_turnover") + private String tradeTurnover; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("trade_partition") + private String tradePartition; + } + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/market/SwapOpenInterestResponse.java b/src/main/java/com/huobi/api/response/usdt/market/SwapOpenInterestResponse.java new file mode 100644 index 0000000..ea156ad --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/market/SwapOpenInterestResponse.java @@ -0,0 +1,55 @@ +package com.huobi.api.response.usdt.market; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class SwapOpenInterestResponse { + /** + * {"status":"ok", + * "data":[{"volume":3019.000000000000000000,"amount":30.190000000000000000,"symbol":"BTC","value":311835.830900000000000000,"contract_code":"BTC-USDT"}], + * "ts":1601019319454} + */ + + private String status; + private List data; + private Long ts; + + + @Data + @AllArgsConstructor + public static class DataBean { + /** + * "volume":3019, + * "amount":30.19, + * "symbol":"BTC", + * "value":311835.8309, + * "contract_code":"BTC-USDT" + */ + + private String symbol; + @SerializedName("contract_code") + private String contractCode; + private BigDecimal amount; + private BigDecimal volume; + private BigDecimal value; + @SerializedName("trade_amount") + private BigDecimal tradeAmount; + @SerializedName("trade_volume") + private BigDecimal tradeVolume; + @SerializedName("trade_turnover") + private BigDecimal tradeTurnover; + private String pair; + @SerializedName("business_type") + private String businessType; + @SerializedName("contract_type") + private String contractType; + @SerializedName("trade_partition") + private String tradePartition; + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/market/SwapPriceLimitResponse.java b/src/main/java/com/huobi/api/response/usdt/market/SwapPriceLimitResponse.java new file mode 100644 index 0000000..d3ca877 --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/market/SwapPriceLimitResponse.java @@ -0,0 +1,49 @@ +package com.huobi.api.response.usdt.market; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class SwapPriceLimitResponse { + + /** + * "status":"ok", + * "data":[{"symbol":"BTC","contract_code":"BTC-USDT","high_limit":13426.521000000000000000000000000000000000,"low_limit":7229.666000000000000000000000000000000000}], + * "ts":1601019419740 + */ + + private String status; + private Long ts; + private List data; + + + @Data + @AllArgsConstructor + public static class DataBean { + /** + * "symbol":"BTC", + * "contract_code":"BTC-USDT", + * "high_limit":13426.521, + * "low_limit":7229.666 + */ + private String symbol; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("high_limit") + private BigDecimal highLimit; + @SerializedName("low_limit") + private BigDecimal lowLimit; + private String pair; + @SerializedName("business_type") + private String businessType; + @SerializedName("contract_type") + private String contractType; + @SerializedName("trade_partition") + private String tradePartition; + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/market/SwapQueryElementsResponse.java b/src/main/java/com/huobi/api/response/usdt/market/SwapQueryElementsResponse.java new file mode 100644 index 0000000..171eb23 --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/market/SwapQueryElementsResponse.java @@ -0,0 +1,159 @@ +package com.huobi.api.response.usdt.market; + +import com.google.gson.annotations.SerializedName; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Builder +@AllArgsConstructor +@Data +public class SwapQueryElementsResponse { + private String status; + private List data; + + @AllArgsConstructor + @Builder + @Data + public static class DataBean { + @SerializedName("contract_code") + private String contractCode; + @SerializedName("mode_type") + private Integer modeType; + @SerializedName("swap_delivery_type") + private Integer swapDeliveryType; + @SerializedName("instrument_index_code") + private String instrumentIndexCode; + @SerializedName("real_time_settlement") + private Integer realTimeSettlement; + @SerializedName("transfer_profit_ratio") + private Integer transferProfitRatio; + @SerializedName("cross_transfer_profit_ratio") + private Integer crossTransferProfitRatio; + @SerializedName("instrument_type") + private List instrumentType; + @SerializedName("trade_partition") + private String tradePartition; + @SerializedName("min_level") + private Integer minLevel; + @SerializedName("max_level") + private Integer maxLevel; + @SerializedName("open_order_limit") + private BigDecimal openOrderLimit; + @SerializedName("offset_order_limit") + private BigDecimal offsetOrderLimit; + @SerializedName("long_position_limit") + private BigDecimal longPositionLimit; + @SerializedName("short_position_limit") + private BigDecimal shortPositionLimit; + @SerializedName("price_tick") + private BigDecimal priceTick; + @SerializedName("price_ticks") + private List priceTicks; + @SerializedName("instrument_values") + private List instrumentValues; + @SerializedName("instrument_value") + private BigDecimal instrumentValue; + @SerializedName("settle_period") + private Integer settlePeriod; + @SerializedName("funding_rate_cap") + private BigDecimal fundingRateCap; + @SerializedName("funding_rate_floor") + private BigDecimal fundingRateFloor; + @SerializedName("hig_normal_limit") + private BigDecimal higNormalLimit; + @SerializedName("min_normal_limit") + private BigDecimal minNormalLimit; + @SerializedName("hig_open_limit") + private BigDecimal higOpenLimit; + @SerializedName("min_open_limit") + private BigDecimal minOpenLimit; + @SerializedName("hig_trade_limit") + private BigDecimal higTradeLimit; + @SerializedName("min_trade_limit") + private BigDecimal minTradeLimit; + @SerializedName("contract_infos") + private List contractInfos; + @SerializedName("order_limits") + private List orderLimits; + @SerializedName("normal_limits") + private List normalLimits; + @SerializedName("open_limits") + private List openLimits; + @SerializedName("trade_limits") + private List tradeLimits; + @AllArgsConstructor + @Builder + @Data + public static class ContractInfos { + @SerializedName("contract_code") + private String contractCode; + @SerializedName("instrument_type") + private List instrumentType; + @SerializedName("settlement_date") + private String settlementDate; + @SerializedName("create_date") + private String createDate; + @SerializedName("contract_status") + private Integer contractStatus; + } + @AllArgsConstructor + @Builder + @Data + public static class PriceTicks { + @SerializedName("business_type") + private Integer businessType; + private String price; + } + @AllArgsConstructor + @Builder + @Data + public static class InstrumentValues { + @SerializedName("business_type") + private Integer businessType; + private String price; + } + @AllArgsConstructor + @Builder + @Data + public static class OrderLimits { + @SerializedName("instrument_type") + private Integer instrumentType; + private String open; + private String close; + @SerializedName("open_after_closing") + private String openAfterClosing; + } + @AllArgsConstructor + @Builder + @Data + public static class NormalLimits { + @SerializedName("instrument_type") + private Integer instrumentType; + private String open; + private String close; + } + @AllArgsConstructor + @Builder + @Data + public static class OpenLimits { + @SerializedName("instrument_type") + private Integer instrumentType; + private String open; + private String close; + } + @AllArgsConstructor + @Builder + @Data + public static class TradeLimits { + @SerializedName("instrument_type") + private Integer instrumentType; + private String open; + private String close; + } + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/market/SwapRiskInfoResponse.java b/src/main/java/com/huobi/api/response/usdt/market/SwapRiskInfoResponse.java new file mode 100644 index 0000000..a871d02 --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/market/SwapRiskInfoResponse.java @@ -0,0 +1,45 @@ +package com.huobi.api.response.usdt.market; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + + +@Data +@AllArgsConstructor +public class SwapRiskInfoResponse { + /** + * "status":"ok", + * "data":[{"contract_code":"ETH-USDT","insurance_fund":100.782337804006920168,"estimated_clawback":0E-18},{"contract_code":"LTC-USDT","insurance_fund":1.985216184462474471,"estimated_clawback":0E-18},{"contract_code":"EOS-USDT","insurance_fund":105.000000000000000000,"estimated_clawback":0E-18},{"contract_code":"BTC-USDT","insurance_fund":41963.382117457142308280,"estimated_clawback":0E-18}], + * "ts":1601019477530 + */ + private String status; + private Long ts; + private List data; + + @Data + @AllArgsConstructor + public static class DataBean { + /** + * "contract_code":"ETH-USDT", + * "insurance_fund":100.782337804006920168, + * "estimated_clawback":0 + */ + @SerializedName("contract_code") + private String contractCode; + @SerializedName("insurance_fund") + private BigDecimal insuranceFund; + @SerializedName("estimated_clawback") + private BigDecimal estimatedClawback; + private String pair; + @SerializedName("business_type") + private String businessType; + @SerializedName("contract_type") + private String contractType; + @SerializedName("trade_partition") + private String tradePartition; + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/market/SwapSettlementRecordsResponse.java b/src/main/java/com/huobi/api/response/usdt/market/SwapSettlementRecordsResponse.java new file mode 100644 index 0000000..9b00b91 --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/market/SwapSettlementRecordsResponse.java @@ -0,0 +1,54 @@ +package com.huobi.api.response.usdt.market; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Builder +@AllArgsConstructor +@Data +public class SwapSettlementRecordsResponse { + private String status; + private Long ts; + private List data; + + @Builder + @AllArgsConstructor + @Data + public static class DataBeat{ + @SerializedName("total_page") + private Integer totalPage; + @SerializedName("current_page") + private Integer currentPage; + @SerializedName("total_size") + private Integer totalSize; + @SerializedName("settlement_record") + private List settlementRecord; + + @Builder + @AllArgsConstructor + @Data + public static class SettlementRecordBean{ + private String symbol; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("settlement_time") + private Long settlementTime; + @SerializedName("clawback_ratio") + private BigDecimal clawbackRatio; + @SerializedName("settlement_price") + private BigDecimal settlementPrice; + @SerializedName("settlement_type") + private String settlementType; + private String pair; + @SerializedName("business_type") + private String businessType; + @SerializedName("trade_partition") + private String tradePartition; + } + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/trade/LinearCancelAfterResponse.java b/src/main/java/com/huobi/api/response/usdt/trade/LinearCancelAfterResponse.java new file mode 100644 index 0000000..c1bad10 --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/trade/LinearCancelAfterResponse.java @@ -0,0 +1,28 @@ +package com.huobi.api.response.usdt.trade; + +import com.google.gson.annotations.SerializedName; +import com.huobi.api.response.usdt.market.LinearSwapBasisResponse; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.util.List; + +@Builder +@AllArgsConstructor +@Data +public class LinearCancelAfterResponse { + private Integer code; + private String msg; + private Long ts; + private List data; + + @Data + @AllArgsConstructor + public static class DataBean { + @SerializedName("current_time") + private Long currentTime; + @SerializedName("trigger_time") + private Long triggerTime; + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/trade/SwapBatchorderResponse.java b/src/main/java/com/huobi/api/response/usdt/trade/SwapBatchorderResponse.java new file mode 100644 index 0000000..45a27af --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/trade/SwapBatchorderResponse.java @@ -0,0 +1,70 @@ +package com.huobi.api.response.usdt.trade; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.util.List; + +@Data +@AllArgsConstructor +public class SwapBatchorderResponse { + + /** + * "status":"ok", + * "data":{"errors":[{"index":1,"err_code":1056,"err_msg":"In settlement. Your order can’t be placed/withdrew currently."}],"success":[{"order_id":759077085095710720,"index":2,"order_id_str":"759077085095710720"}]}, + * "ts":1601019680091 + */ + + private String status; + private DataBean data; + private Long ts; + + @Data + @AllArgsConstructor + public static class DataBean { + /** + * "errors":[{"index":1,"err_code":1056,"err_msg":"In settlement. Your order can’t be placed/withdrew currently."}], + * "success":[{"order_id":759077085095710720,"index":2,"order_id_str":"759077085095710720"} + */ + + private List errors; + private List success; + + @Data + @AllArgsConstructor + public static class ErrorsBean { + /** + * "index":1, + * "err_code":1056, + * "err_msg":"In settlement. Your order can’t be placed/withdrew currently." + */ + + private Integer index; + @SerializedName("err_code") + private Integer errCode; + @SerializedName("err_msg") + private String errMsg; + + } + + @Data + @AllArgsConstructor + public static class SuccessBean { + /** + * "order_id":759077085095710720, + * "index":2, + * "order_id_str":"759077085095710720" + */ + + private Integer index; + @SerializedName("order_id") + private Long orderId; + @SerializedName("order_id_str") + private String orderIdStr; + @SerializedName("client_order_id") + private Long clientOrderId; + + } + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/trade/SwapCancelResponse.java b/src/main/java/com/huobi/api/response/usdt/trade/SwapCancelResponse.java new file mode 100644 index 0000000..5db1a97 --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/trade/SwapCancelResponse.java @@ -0,0 +1,53 @@ +package com.huobi.api.response.usdt.trade; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.util.List; + +@Data +@AllArgsConstructor +public class SwapCancelResponse { + + /** + * "status":"ok", + * "data":{"errors":[],"successes":"759079310895403008"}, + * "ts":1601020241514 + */ + + private String status; + private DataBean data; + private Long ts; + + + @Data + @AllArgsConstructor + public static class DataBean { + + /** + * "errors":[], + * "successes":"759079310895403008" + */ + + private List errors; + private String successes; + + + @Data + @AllArgsConstructor + public static class ErrorsBean { + /** + * + */ + + @SerializedName("order_id") + private String orderId; + @SerializedName("err_code") + private Integer errCode; + @SerializedName("err_msg") + private String errMsg; + + } + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/trade/SwapCancelallResponse.java b/src/main/java/com/huobi/api/response/usdt/trade/SwapCancelallResponse.java new file mode 100644 index 0000000..7f08165 --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/trade/SwapCancelallResponse.java @@ -0,0 +1,49 @@ +package com.huobi.api.response.usdt.trade; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.util.List; + +@Data +@AllArgsConstructor +public class SwapCancelallResponse { + /** + * "status":"ok", + * "data":{"errors":[],"successes":"759077984358682624"}, + * "ts":1601019981727 + */ + + private String status; + private DataBean data; + private Long ts; + + @Data + @AllArgsConstructor + public static class DataBean { + + /** + * "errors":[], + * "successes":"759077984358682624" + */ + private List errors; + private String successes; + + @Data + @AllArgsConstructor + public static class ErrorsBean { + /** + * + */ + + @SerializedName("order_id") + private String orderId; + @SerializedName("err_code") + private Integer errCode; + @SerializedName("err_msg") + private String errMsg; + + } + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/trade/SwapCrossBatchorderResponse.java b/src/main/java/com/huobi/api/response/usdt/trade/SwapCrossBatchorderResponse.java new file mode 100644 index 0000000..9eb64af --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/trade/SwapCrossBatchorderResponse.java @@ -0,0 +1,50 @@ +package com.huobi.api.response.usdt.trade; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.util.List; + +@Data +@AllArgsConstructor +public class SwapCrossBatchorderResponse { + + private String status; + private DataBean data; + private Long ts; + + @Data + @AllArgsConstructor + public static class DataBean { + + private List errors; + private List success; + + @Data + @AllArgsConstructor + public static class ErrorsBean { + + private Integer index; + @SerializedName("err_code") + private Integer errCode; + @SerializedName("err_msg") + private String errMsg; + + } + + @Data + @AllArgsConstructor + public static class SuccessBean { + + private Integer index; + @SerializedName("order_id") + private Long orderId; + @SerializedName("order_id_str") + private String orderIdStr; + @SerializedName("client_order_id") + private Long clientOrderId; + + } + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/trade/SwapCrossCancelResponse.java b/src/main/java/com/huobi/api/response/usdt/trade/SwapCrossCancelResponse.java new file mode 100644 index 0000000..d341052 --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/trade/SwapCrossCancelResponse.java @@ -0,0 +1,37 @@ +package com.huobi.api.response.usdt.trade; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.util.List; + +@Data +@AllArgsConstructor +public class SwapCrossCancelResponse { + + private String status; + private DataBean data; + private Long ts; + + + @Data + @AllArgsConstructor + public static class DataBean { + + private List errors; + private String successes; + + @Data + @AllArgsConstructor + public static class ErrorsBean { + @SerializedName("order_id") + private String orderId; + @SerializedName("err_code") + private Integer errCode; + @SerializedName("err_msg") + private String errMsg; + + } + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/trade/SwapCrossCancelallResponse.java b/src/main/java/com/huobi/api/response/usdt/trade/SwapCrossCancelallResponse.java new file mode 100644 index 0000000..afb18c9 --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/trade/SwapCrossCancelallResponse.java @@ -0,0 +1,36 @@ +package com.huobi.api.response.usdt.trade; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.util.List; + +@Data +@AllArgsConstructor +public class SwapCrossCancelallResponse { + private String status; + private DataBean data; + private Long ts; + + @Data + @AllArgsConstructor + public static class DataBean { + + private List errors; + private String successes; + + @Data + @AllArgsConstructor + public static class ErrorsBean { + + @SerializedName("order_id") + private String orderId; + @SerializedName("err_code") + private Integer errCode; + @SerializedName("err_msg") + private String errMsg; + + } + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/trade/SwapCrossHisordersExactV3Response.java b/src/main/java/com/huobi/api/response/usdt/trade/SwapCrossHisordersExactV3Response.java new file mode 100644 index 0000000..07f1844 --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/trade/SwapCrossHisordersExactV3Response.java @@ -0,0 +1,82 @@ +package com.huobi.api.response.usdt.trade; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Builder +@AllArgsConstructor +@Data +public class SwapCrossHisordersExactV3Response { + private Integer code; + private String msg; + private Long ts; + private List data; + @Data + @AllArgsConstructor + public static class DataBean { + @SerializedName("query_id") + private Long queryId; + @SerializedName("order_id") + private Long orderId; + @SerializedName("order_id_str") + private String orderIdStr; + private String symbol; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("lever_rate") + private Integer leverRate; + private String direction; + private String offset; + private BigDecimal volume; + private BigDecimal price; + @SerializedName("create_date") + private Long createDate; + @SerializedName("update_time") + private Long updateTime; + @SerializedName("order_source") + private String orderSource; + @SerializedName("order_price_type") + private String orderPriceType; + @SerializedName("margin_asset") + private String marginAsset; + @SerializedName("margin_frozen") + private BigDecimal marginFrozen; + private BigDecimal profit; + @SerializedName("real_profit") + private BigDecimal realProfit; + @SerializedName("trade_volume") + private BigDecimal tradeVolume; + @SerializedName("trade_turnover") + private BigDecimal tradeTurnover; + private BigDecimal fee; + @SerializedName("trade_avg_price") + private BigDecimal tradeAvgPrice; + private Integer status; + @SerializedName("order_type") + private Integer order_type; + @SerializedName("fee_asset") + private String feeAsset; + @SerializedName("liquidation_type") + private String liquidationType; + @SerializedName("margin_mode") + private String marginMode; + @SerializedName("margin_account") + private String marginAccount; + @SerializedName("is_tpsl") + private Integer isTpsl; + @SerializedName("contract_type") + private String contractType; + private String pair; + @SerializedName("business_type") + private String businessType; + @SerializedName("reduce_only") + private Integer reduceOnly; + @SerializedName("canceled_source") + private String canceledSource; + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/trade/SwapCrossHisordersResponse.java b/src/main/java/com/huobi/api/response/usdt/trade/SwapCrossHisordersResponse.java new file mode 100644 index 0000000..8c0ad9b --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/trade/SwapCrossHisordersResponse.java @@ -0,0 +1,93 @@ +package com.huobi.api.response.usdt.trade; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class SwapCrossHisordersResponse { + + private String status; + private DataBean data; + private Long ts; + + @Data + @AllArgsConstructor + public static class DataBean { + + @SerializedName("total_page") + private Integer totalPage; + @SerializedName("current_page") + private Integer currentPage; + @SerializedName("total_size") + private Integer totalSize; + private List orders; + + @Data + @AllArgsConstructor + public static class OrdersBean { + + @SerializedName("order_id") + private Long orderId; + @SerializedName("order_id_str") + private String orderIdStr; + private String symbol; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("lever_rate") + private Integer leverRate; + private String direction; + private String offset; + private BigDecimal volume; + private BigDecimal price; + @SerializedName("create_date") + private Long createDate; + @SerializedName("order_source") + private String orderSource; + @SerializedName("order_price_type") + private String orderPriceType; + @SerializedName("margin_frozen") + private BigDecimal marginFrozen; + @SerializedName("margin_asset") + private String marginAsset; + private BigDecimal profit; + @SerializedName("trade_volume") + private BigDecimal tradeVolume; + @SerializedName("trade_turnover") + private BigDecimal tradeTurnover; + private BigDecimal fee; + @SerializedName("fee_asset") + private String feeAsset; + @SerializedName("trade_avg_price") + private BigDecimal tradeAvgPrice; + private Integer status; + @SerializedName("order_type") + private Integer orderType; + @SerializedName("liquidation_type") + private String liquidationType; + @SerializedName("margin_mode") + private String marginMode; + @SerializedName("margin_frozen") + private String marginAccount; + @SerializedName("update_time") + private Long updateTime; + @SerializedName("is_tpsl") + private Integer isTpsl; + @SerializedName("real_profit") + private BigDecimal realProfit; + private String pair; + @SerializedName("business_type") + private String businessType; + @SerializedName("contract_type") + private String contractType; + @SerializedName("trade_partition") + private String tradePartition; + @SerializedName("reduce_only") + private String reduceOnly; + } + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/trade/SwapCrossHisordersV3Response.java b/src/main/java/com/huobi/api/response/usdt/trade/SwapCrossHisordersV3Response.java new file mode 100644 index 0000000..e1eccd5 --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/trade/SwapCrossHisordersV3Response.java @@ -0,0 +1,82 @@ +package com.huobi.api.response.usdt.trade; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Builder +@AllArgsConstructor +@Data +public class SwapCrossHisordersV3Response { + private Integer code; + private String msg; + private Long ts; + private List data; + @Data + @AllArgsConstructor + public static class DataBean { + @SerializedName("query_id") + private Long queryId; + @SerializedName("order_id") + private Long orderId; + @SerializedName("order_id_str") + private String orderIdStr; + private String symbol; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("lever_rate") + private Integer leverRate; + private String direction; + private String offset; + private BigDecimal volume; + private BigDecimal price; + @SerializedName("create_date") + private Long createDate; + @SerializedName("update_time") + private Long updateTime; + @SerializedName("order_source") + private String orderSource; + @SerializedName("order_price_type") + private String orderPriceType; + @SerializedName("margin_asset") + private String marginAsset; + @SerializedName("margin_frozen") + private BigDecimal marginFrozen; + private BigDecimal profit; + @SerializedName("real_profit") + private BigDecimal realProfit; + @SerializedName("trade_volume") + private BigDecimal tradeVolume; + @SerializedName("trade_turnover") + private BigDecimal tradeTurnover; + private BigDecimal fee; + @SerializedName("trade_avg_price") + private BigDecimal tradeAvgPrice; + private Integer status; + @SerializedName("order_type") + private Integer order_type; + @SerializedName("fee_asset") + private String feeAsset; + @SerializedName("liquidation_type") + private String liquidationType; + @SerializedName("margin_mode") + private String marginMode; + @SerializedName("margin_account") + private String marginAccount; + @SerializedName("is_tpsl") + private Integer isTpsl; + @SerializedName("contract_type") + private String contractType; + private String pair; + @SerializedName("business_type") + private String businessType; + @SerializedName("reduce_only") + private Integer reduceOnly; + @SerializedName("canceled_source") + private String canceledSource; + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/trade/SwapCrossLightningClosePositionResponse.java b/src/main/java/com/huobi/api/response/usdt/trade/SwapCrossLightningClosePositionResponse.java new file mode 100644 index 0000000..1225153 --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/trade/SwapCrossLightningClosePositionResponse.java @@ -0,0 +1,27 @@ +package com.huobi.api.response.usdt.trade; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +@Data +@AllArgsConstructor +public class SwapCrossLightningClosePositionResponse { + + private String status; + private DataBean data; + private Long ts; + + @Data + @AllArgsConstructor + public static class DataBean { + + @SerializedName("order_id") + private Long orderId; + @SerializedName("order_id_str") + private String orderIdStr; + @SerializedName("client_order_id") + private Long clientOrderId; + + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/trade/SwapCrossMatchResultsExactV3Response.java b/src/main/java/com/huobi/api/response/usdt/trade/SwapCrossMatchResultsExactV3Response.java new file mode 100644 index 0000000..d6a70a8 --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/trade/SwapCrossMatchResultsExactV3Response.java @@ -0,0 +1,69 @@ +package com.huobi.api.response.usdt.trade; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Builder +@AllArgsConstructor +@Data +public class SwapCrossMatchResultsExactV3Response { + private Integer code; + private String msg; + private Long ts; + private List data; + + @Builder + @Data + @AllArgsConstructor + public static class DataBean{ + private String id; + @SerializedName("query_id") + private Long queryId; + @SerializedName("match_id") + private Long matchId; + @SerializedName("order_id") + private Long orderId; + @SerializedName("order_id_str") + private String orderIdStr; + private String symbol; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("margin_mode") + private String marginMode; + @SerializedName("margin_account") + private String marginAccount; + private String direction; + private String offset; + @SerializedName("trade_volume") + private BigDecimal tradeVolume; + @SerializedName("trade_price") + private BigDecimal tradePrice; + @SerializedName("trade_turnover") + private BigDecimal tradeTurnover; + @SerializedName("create_date") + private Long createDate; + @SerializedName("offset_profitloss") + private BigDecimal offsetProfitloss; + @SerializedName("real_profit") + private BigDecimal realProfit; + @SerializedName("trade_fee") + private BigDecimal tradeFee; + private String role; + @SerializedName("fee_asset") + private String feeAsset; + @SerializedName("order_source") + private String orderSource; + @SerializedName("contract_type") + private String contractType; + private String pair; + @SerializedName("business_type") + private String businessType; + @SerializedName("reduce_only") + private Integer reduceOnly; + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/trade/SwapCrossMatchResultsV3Response.java b/src/main/java/com/huobi/api/response/usdt/trade/SwapCrossMatchResultsV3Response.java new file mode 100644 index 0000000..55ab79c --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/trade/SwapCrossMatchResultsV3Response.java @@ -0,0 +1,69 @@ +package com.huobi.api.response.usdt.trade; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Builder +@AllArgsConstructor +@Data +public class SwapCrossMatchResultsV3Response { + private Integer code; + private String msg; + private Long ts; + private List data; + + @Builder + @Data + @AllArgsConstructor + public static class DataBean{ + private String id; + @SerializedName("query_id") + private Long queryId; + @SerializedName("match_id") + private Long matchId; + @SerializedName("order_id") + private Long orderId; + @SerializedName("order_id_str") + private String orderIdStr; + private String symbol; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("margin_mode") + private String marginMode; + @SerializedName("margin_account") + private String marginAccount; + private String direction; + private String offset; + @SerializedName("trade_volume") + private BigDecimal tradeVolume; + @SerializedName("trade_price") + private BigDecimal tradePrice; + @SerializedName("trade_turnover") + private BigDecimal tradeTurnover; + @SerializedName("create_date") + private Long createDate; + @SerializedName("offset_profitloss") + private BigDecimal offsetProfitloss; + @SerializedName("real_profit") + private BigDecimal realProfit; + @SerializedName("trade_fee") + private BigDecimal tradeFee; + private String role; + @SerializedName("fee_asset") + private String feeAsset; + @SerializedName("order_source") + private String orderSource; + @SerializedName("contract_type") + private String contractType; + private String pair; + @SerializedName("business_type") + private String businessType; + @SerializedName("reduce_only") + private Integer reduceOnly; + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/trade/SwapCrossMatchresultsResponse.java b/src/main/java/com/huobi/api/response/usdt/trade/SwapCrossMatchresultsResponse.java new file mode 100644 index 0000000..528dcab --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/trade/SwapCrossMatchresultsResponse.java @@ -0,0 +1,80 @@ +package com.huobi.api.response.usdt.trade; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class SwapCrossMatchresultsResponse { + + private DataBean data; + private String status; + private Long ts; + + @Data + @AllArgsConstructor + public static class DataBean { + + @SerializedName("current_page") + private Integer currentPage; + @SerializedName("total_page") + private Integer totalPage; + @SerializedName("total_size") + private Integer totalSize; + private List trades; + + @Data + @AllArgsConstructor + public static class TradesBean { + + @SerializedName("match_id") + private Long matchId; + private String id; + @SerializedName("order_id") + private Long orderId; + @SerializedName("order_id_str") + private Long orderIdStr; + private String symbol; + @SerializedName("order_source") + private String orderSource; + @SerializedName("contract_code") + private String contractCode; + private String direction; + private String offset; + @SerializedName("trade_volume") + private BigDecimal tradeVolume; + @SerializedName("trade_price") + private BigDecimal tradePrice; + @SerializedName("trade_turnover") + private BigDecimal tradeTurnover; + @SerializedName("create_date") + private Long createDate; + @SerializedName("offset_profitloss") + private BigDecimal offsetProfitloss; + @SerializedName("trade_fee") + private double tradeFee; + @SerializedName("fee_asset") + private String feeAsset; + private String role; + @SerializedName("margin_mode") + private String marginMode; + @SerializedName("margin_frozen") + private String marginAccount; + @SerializedName("real_profit") + private BigDecimal realProfit; + private String pair; + @SerializedName("business_type") + private String businessType; + @SerializedName("contract_type") + private String contractType; + @SerializedName("trade_partition") + private String tradePartition; + @SerializedName("reduce_only") + private String reduceOnly; + } + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/trade/SwapCrossOpenordersResponse.java b/src/main/java/com/huobi/api/response/usdt/trade/SwapCrossOpenordersResponse.java new file mode 100644 index 0000000..e97d034 --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/trade/SwapCrossOpenordersResponse.java @@ -0,0 +1,96 @@ +package com.huobi.api.response.usdt.trade; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class SwapCrossOpenordersResponse { + + private String status; + private DataBean data; + private Long ts; + + @Data + @AllArgsConstructor + public static class DataBean { + + @SerializedName("total_page") + private Integer totalPage; + @SerializedName("current_page") + private Integer currentPage; + @SerializedName("total_size") + private Integer totalSize; + private List orders; + + @Data + @AllArgsConstructor + public static class OrdersBean { + private String symbol; + @SerializedName("contract_code") + private String contractCode; + private BigDecimal volume; + private BigDecimal price; + @SerializedName("order_price_type") + private String orderPriceType; + @SerializedName("order_type") + private Integer orderType; + private String direction; + private String offset; + @SerializedName("lever_rate") + private Integer leverRate; + @SerializedName("order_id") + private Long orderId; + @SerializedName("order_id_str") + private Long orderIdStr; + @SerializedName("client_order_id") + private Long clientOrderId; + @SerializedName("created_at") + private Long createdAt; + @SerializedName("trade_volume") + private BigDecimal tradeVolume; + @SerializedName("trade_turnover") + private BigDecimal tradeTurnover; + private BigDecimal fee; + @SerializedName("fee_asset") + private String feeAsset; + @SerializedName("trade_avg_price") + private BigDecimal tradeAvgPrice; + @SerializedName("margin_frozen") + private BigDecimal marginFrozen; + private BigDecimal profit; + private Integer status; + @SerializedName("order_source") + private String orderSource; + @SerializedName("margin_asset") + private String marginAsset; + @SerializedName("liquidation_type") + private String liquidationType; + @SerializedName("canceled_at") + private String canceledAt; + @SerializedName("margin_mode") + private String marginMode; + @SerializedName("margin_frozen") + private String marginAccount; + @SerializedName("is_tpsl") + private Integer isTpsl; + @SerializedName("real_profit") + private BigDecimal realProfit; + @SerializedName("update_time") + private Long updateTime; + private String pair; + @SerializedName("business_type") + private String businessType; + @SerializedName("contract_type") + private String contractType; + @SerializedName("trade_partition") + private String tradePartition; + @SerializedName("reduce_only") + private String reduceOnly; + } + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/trade/SwapCrossOrderDetailResponse.java b/src/main/java/com/huobi/api/response/usdt/trade/SwapCrossOrderDetailResponse.java new file mode 100644 index 0000000..fec725a --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/trade/SwapCrossOrderDetailResponse.java @@ -0,0 +1,120 @@ +package com.huobi.api.response.usdt.trade; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class SwapCrossOrderDetailResponse { + + private String status; + private DataBean data; + private Long ts; + + @Data + @AllArgsConstructor + public static class DataBean { + + private String symbol; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("margin_mode") + private String marginMode; + @SerializedName("margin_account") + private String marginAccount; + @SerializedName("lever_rate") + private Integer leverRate; + private String direction; + private String offset; + private BigDecimal volume; + private BigDecimal price; + @SerializedName("created_at") + private Long createdAt; + @SerializedName("canceled_at") + private Long canceledAt; + @SerializedName("order_source") + private String orderSource; + @SerializedName("order_price_type") + private String orderPriceType; + @SerializedName("margin_frozen") + private BigDecimal marginFrozen; + @SerializedName("margin_asset") + private String marginAsset; + private BigDecimal profit; + @SerializedName("instrument_price") + private BigDecimal instrumentPrice; + @SerializedName("final_interest") + private BigDecimal finalInterest; + @SerializedName("adjust_value") + private BigDecimal adjustValue; + private BigDecimal fee; + @SerializedName("fee_asset") + private String feeAsset; + @SerializedName("liquidation_type") + private String liquidationType; + @SerializedName("order_type") + private Integer orderType; + @SerializedName("order_id") + private Long orderId; + @SerializedName("order_id_str") + private String orderIdStr; + @SerializedName("client_order_id") + private Long clientOrderId; + @SerializedName("trade_volume") + private BigDecimal tradeVolume; + @SerializedName("trade_turnover") + private BigDecimal tradeTurnover; + @SerializedName("trade_avg_price") + private BigDecimal tradeAvgPrice; + private Integer status; + @SerializedName("total_page") + private Integer totalPage; + @SerializedName("current_page") + private Integer currentPage; + @SerializedName("total_size") + private Integer totalSize; + @SerializedName("is_tpsl") + private Integer isTpsl; + @SerializedName("real_profit") + private BigDecimal realProfit; + private String pair; + @SerializedName("business_type") + private String businessType; + @SerializedName("contract_type") + private String contractType; + @SerializedName("trade_partition") + private String tradePartition; + private List trades; + @SerializedName("reduce_only") + private String reduceOnly; + + @Data + @AllArgsConstructor + public static class TradesBean { + + private String id; + @SerializedName("trade_id") + private Long tradeId; + @SerializedName("trade_price") + private BigDecimal tradePrice; + @SerializedName("trade_volume") + private BigDecimal tradeVolume; + @SerializedName("trade_turnover") + private BigDecimal tradeTurnover; + @SerializedName("trade_fee") + private BigDecimal tradeFee; + private String role; + @SerializedName("created_at") + private Long createdAt; + @SerializedName("fee_asset") + private String feeAsset; + @SerializedName("real_profit") + private BigDecimal realProfit; + private BigDecimal profit; + } + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/trade/SwapCrossOrderInfoResponse.java b/src/main/java/com/huobi/api/response/usdt/trade/SwapCrossOrderInfoResponse.java new file mode 100644 index 0000000..baf2c28 --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/trade/SwapCrossOrderInfoResponse.java @@ -0,0 +1,88 @@ +package com.huobi.api.response.usdt.trade; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class SwapCrossOrderInfoResponse { + + private String status; + private Long ts; + private List data; + + @Data + @AllArgsConstructor + public static class DataBean { + + private String symbol; + @SerializedName("contract_code") + private String contractCode; + private BigDecimal volume; + private BigDecimal price; + @SerializedName("order_price_type") + private String orderPriceType; + private String direction; + private String offset; + @SerializedName("lever_rate") + private Integer leverRate; + @SerializedName("order_id") + private Long orderId; + @SerializedName("order_id_str") + private String orderIdStr; + @SerializedName("client_order_id") + private Long clientOrderId; + @SerializedName("created_at") + private Long createdAt; + @SerializedName("trade_volume") + private BigDecimal tradeVolume; + @SerializedName("trade_turnover") + private BigDecimal tradeTurnover; + private BigDecimal fee; + @SerializedName("trade_avg_price") + private BigDecimal tradeAvgPrice; + @SerializedName("margin_asset") + private String marginAsset; + @SerializedName("margin_frozen") + private BigDecimal marginFrozen; + private BigDecimal profit; + private Integer status; + @SerializedName("order_type") + private String orderType; + @SerializedName("order_source") + private String orderSource; + @SerializedName("fee_asset") + private String feeAsset; + @SerializedName("liquidation_type") + private String liquidationType; + @SerializedName("canceled_at") + private Long canceledAt; + @SerializedName("margin_mode") + private String marginMode; + @SerializedName("margin_account") + private String marginAccount; + @SerializedName("is_tpsl") + private Integer isTpsl; + @SerializedName("real_profit") + private BigDecimal realProfit; + private String pair; + @SerializedName("business_type") + private String businessType; + @SerializedName("contract_type") + private String contractType; + @SerializedName("trade_partition") + private String tradePartition; + @SerializedName("reduce_only") + private String reduceOnly; + @SerializedName("fee_amount") + private BigDecimal feeAmount; + @SerializedName("fee_quote_amount") + private BigDecimal feeQuoteAmount; + @SerializedName("canceled_source") + private String canceledSource; + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/trade/SwapCrossOrderResponse.java b/src/main/java/com/huobi/api/response/usdt/trade/SwapCrossOrderResponse.java new file mode 100644 index 0000000..ada396b --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/trade/SwapCrossOrderResponse.java @@ -0,0 +1,28 @@ +package com.huobi.api.response.usdt.trade; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + + +@Data +@AllArgsConstructor +public class SwapCrossOrderResponse { + + private String status; + private DataBean data; + private Long ts; + + @Data + @AllArgsConstructor + public static class DataBean { + + @SerializedName("order_id") + private Long orderId; + @SerializedName("order_id_str") + private String orderIdStr; + @SerializedName("client_order_id") + private Long clientOrderId; + + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/trade/SwapCrossPositionSideResponse.java b/src/main/java/com/huobi/api/response/usdt/trade/SwapCrossPositionSideResponse.java new file mode 100644 index 0000000..81c9dec --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/trade/SwapCrossPositionSideResponse.java @@ -0,0 +1,26 @@ +package com.huobi.api.response.usdt.trade; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.util.List; + +@Builder +@AllArgsConstructor +@Data +public class SwapCrossPositionSideResponse { + private String status; + private List data; + private Long ts; + @AllArgsConstructor + @Builder + @Data + public static class DataBean{ + @SerializedName("margin_account") + private String marginAccount; + @SerializedName("position_mode") + private String positionMode; + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/trade/SwapCrossSwitchLeverRateResponse.java b/src/main/java/com/huobi/api/response/usdt/trade/SwapCrossSwitchLeverRateResponse.java new file mode 100644 index 0000000..66f2814 --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/trade/SwapCrossSwitchLeverRateResponse.java @@ -0,0 +1,37 @@ +package com.huobi.api.response.usdt.trade; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.util.List; + +@AllArgsConstructor +@Data +public class SwapCrossSwitchLeverRateResponse { + private String status; + private Long ts; + @SerializedName("err_code") + private Integer errCode; + @SerializedName("err_msg") + private String errMag; + private List data; + + @AllArgsConstructor + @Data + public static class DataBean{ + @SerializedName("contract_code") + private String contractCode; + @SerializedName("lever_rate") + private Integer leverRate; + @SerializedName("margin_mode") + private String marginMode; + private String pair; + @SerializedName("business_type") + private String businessType; + @SerializedName("contract_type") + private String contractType; + @SerializedName("trade_partition") + private String tradePartition; + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/trade/SwapCrossTriggerCancelResponse.java b/src/main/java/com/huobi/api/response/usdt/trade/SwapCrossTriggerCancelResponse.java new file mode 100644 index 0000000..2f09f4e --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/trade/SwapCrossTriggerCancelResponse.java @@ -0,0 +1,39 @@ +package com.huobi.api.response.usdt.trade; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.util.List; + +@Data +@AllArgsConstructor +@Builder +public class SwapCrossTriggerCancelResponse { + + private String status; + private Long ts; + private List data; + + @Builder + @AllArgsConstructor + @Data + public static class DataBean { + + private String successes; + private List errors; + + @Builder + @AllArgsConstructor + @Data + public static class ErrorsBean { + @SerializedName("order_id") + private String orderId; + @SerializedName("err_code") + private Long errCode; + @SerializedName("err_msg") + private String errMsg; + } + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/trade/SwapCrossTriggerCancelallResponse.java b/src/main/java/com/huobi/api/response/usdt/trade/SwapCrossTriggerCancelallResponse.java new file mode 100644 index 0000000..c185362 --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/trade/SwapCrossTriggerCancelallResponse.java @@ -0,0 +1,42 @@ +package com.huobi.api.response.usdt.trade; + + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.util.List; + +@Data +@AllArgsConstructor +@Builder +public class SwapCrossTriggerCancelallResponse { + + private String status; + private Long ts; + private List data; + + @Builder + @AllArgsConstructor + @Data + public static class DataBean { + + private String successes; + private List errors; + + @Data + @AllArgsConstructor + @Builder + public static class ErrorsBean { + + @SerializedName("order_id") + private String orderId; + @SerializedName("err_code") + private Long errCode; + @SerializedName("err_msg") + private String errMsg; + } + } + +} diff --git a/src/main/java/com/huobi/api/response/usdt/trade/SwapCrossTriggerHisordersResponse.java b/src/main/java/com/huobi/api/response/usdt/trade/SwapCrossTriggerHisordersResponse.java new file mode 100644 index 0000000..2e97115 --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/trade/SwapCrossTriggerHisordersResponse.java @@ -0,0 +1,96 @@ +package com.huobi.api.response.usdt.trade; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +@Builder +public class SwapCrossTriggerHisordersResponse { + + private String status; + private Long ts; + private List data; + + @Data + @AllArgsConstructor + @Builder + public static class DataBean { + + @SerializedName("total_page") + private Integer totalPage; + @SerializedName("total_size") + private Integer totalSize; + @SerializedName("current_page") + private Integer currentPage; + private List orders; + + @Data + @AllArgsConstructor + @Builder + public static class OrdersBean { + + private String symbol; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("trigger_type") + private String triggerType; + private BigDecimal volume; + @SerializedName("order_type") + private Integer orderType; + private String direction; + private String offset; + @SerializedName("lever_rate") + private Integer leverRate; + @SerializedName("order_id") + private BigDecimal orderId; + @SerializedName("order_id_str") + private String orderIdStr; + @SerializedName("relation_order_id") + private String relationOrderId; + @SerializedName("order_price_type") + private String orderPriceType; + private Integer status; + @SerializedName("order_source") + private String orderSource; + @SerializedName("trigger_price") + private BigDecimal triggerPrice; + @SerializedName("triggered_price") + private BigDecimal triggeredPrice; + @SerializedName("order_price") + private BigDecimal orderPrice; + @SerializedName("created_at") + private Long createdAt; + @SerializedName("triggered_at") + private Long triggeredAt; + @SerializedName("order_insert_at") + private Long orderInsertAt; + @SerializedName("canceled_at") + private Long canceledAt; + @SerializedName("fail_code") + private Integer failCode; + @SerializedName("fail_reason") + private String failReason; + @SerializedName("margin_mode") + private String marginMode; + @SerializedName("margin_frozen") + private String marginAccount; + @SerializedName("update_time") + private String updateTime; + private String pair; + @SerializedName("business_type") + private String businessType; + @SerializedName("contract_type") + private String contractType; + @SerializedName("trade_partition") + private String tradePartition; + @SerializedName("reduce_only") + private String reduceOnly; + } + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/trade/SwapCrossTriggerOpenordersResponse.java b/src/main/java/com/huobi/api/response/usdt/trade/SwapCrossTriggerOpenordersResponse.java new file mode 100644 index 0000000..5da6e61 --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/trade/SwapCrossTriggerOpenordersResponse.java @@ -0,0 +1,81 @@ +package com.huobi.api.response.usdt.trade; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +@Builder +public class SwapCrossTriggerOpenordersResponse { + + private String status; + private Long ts; + private List data; + + @Data + @AllArgsConstructor + @Builder + public static class DataBean { + + @SerializedName("total_page") + private Integer totalPage; + @SerializedName("total_size") + private Integer totalSize; + @SerializedName("current_page") + private Integer currentPage; + private List orders; + + @Data + @AllArgsConstructor + @Builder + public static class OrdersBean { + + private String symbol; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("trigger_type") + private String triggerType; + private BigDecimal volume; + @SerializedName("order_type") + private Integer orderType; + private String direction; + private String offset; + @SerializedName("lever_rate") + private Integer leverRate; + @SerializedName("order_id") + private Long orderId; + @SerializedName("order_id_str") + private String orderIdStr; + @SerializedName("order_source") + private String orderSource; + @SerializedName("trigger_price") + private BigDecimal triggerPrice; + @SerializedName("order_price") + private BigDecimal orderPrice; + @SerializedName("created_at") + private Long createdAt; + @SerializedName("order_price_type") + private String orderPriceType; + private Integer status; + @SerializedName("margin_mode") + private String marginMode; + @SerializedName("margin_frozen") + private String marginAccount; + private String pair; + @SerializedName("business_type") + private String businessType; + @SerializedName("contract_type") + private String contractType; + @SerializedName("trade_partition") + private String tradePartition; + @SerializedName("reduce_only") + private String reduceOnly; + } + + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/trade/SwapCrossTriggerOrderResponse.java b/src/main/java/com/huobi/api/response/usdt/trade/SwapCrossTriggerOrderResponse.java new file mode 100644 index 0000000..6d384fd --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/trade/SwapCrossTriggerOrderResponse.java @@ -0,0 +1,28 @@ +package com.huobi.api.response.usdt.trade; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.util.List; + +@Builder +@Data +@AllArgsConstructor +public class SwapCrossTriggerOrderResponse { + + private String status; + private Long ts; + private List data; + + @AllArgsConstructor + @Data + public static class DataBean { + + @SerializedName("order_id") + private Long orderId; + @SerializedName("order_id_str") + private String orderIdStr; + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/trade/SwapHisordersExactResponse.java b/src/main/java/com/huobi/api/response/usdt/trade/SwapHisordersExactResponse.java new file mode 100644 index 0000000..b47c6f3 --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/trade/SwapHisordersExactResponse.java @@ -0,0 +1,88 @@ +package com.huobi.api.response.usdt.trade; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Builder +@Data +@AllArgsConstructor +public class SwapHisordersExactResponse { + private String status; + private Long ts; + private List data; + + @Builder + @Data + @AllArgsConstructor + public static class DataBean{ + @SerializedName("remain_size") + private Integer remainSize; + @SerializedName("next_id") + private Long nextId; + private List orders; + + @Builder + @Data + @AllArgsConstructor + public static class OrdersBean{ + @SerializedName("query_id") + private Long queryId; + @SerializedName("order_id") + private Long orderId; + @SerializedName("order_id_str") + private String orderIdStr; + private String symbol; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("margin_mode") + private String marginMode; + @SerializedName("margin_account") + private String marginAccount; + @SerializedName("lever_rate") + private Integer leverRate; + private String direction; + private String offset; + private BigDecimal volume; + private BigDecimal price; + @SerializedName("create_date") + private Long createDate; + @SerializedName("order_source") + private String orderSource; + @SerializedName("order_price_type") + private String orderPriceType; + @SerializedName("margin_frozen") + private BigDecimal marginFrozen; + private BigDecimal profit; + @SerializedName("real_profit") + private BigDecimal realProfit; + @SerializedName("trade_volume") + private BigDecimal tradeVolume; + @SerializedName("trade_turnover") + private BigDecimal tradeTurnover; + private BigDecimal fee; + @SerializedName("trade_avg_price") + private BigDecimal tradeAvgPrice; + private Integer status; + @SerializedName("order_type") + private Integer orderType; + @SerializedName("fee_asset") + private String feeAsset; + @SerializedName("liquidation_type") + private String liquidationType; + private String pair; + @SerializedName("business_type") + private String businessType; + @SerializedName("contract_type") + private String contractType; + @SerializedName("trade_partition") + private String tradePartition; + @SerializedName("reduce_only") + private String reduceOnly; + } + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/trade/SwapHisordersExactV3Response.java b/src/main/java/com/huobi/api/response/usdt/trade/SwapHisordersExactV3Response.java new file mode 100644 index 0000000..98d5036 --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/trade/SwapHisordersExactV3Response.java @@ -0,0 +1,74 @@ +package com.huobi.api.response.usdt.trade; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Builder +@AllArgsConstructor +@Data +public class SwapHisordersExactV3Response { + private Integer code; + private String msg; + private Long ts; + private List data; + + @Data + @AllArgsConstructor + public static class DataBean { + @SerializedName("query_id") + private Long queryId; + @SerializedName("order_id") + private Long orderId; + @SerializedName("order_id_str") + private String orderIdStr; + private String symbol; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("margin_mode") + private String marginMode; + @SerializedName("margin_account") + private String marginAccount; + @SerializedName("lever_rate") + private Integer leverRate; + private String direction; + private String offset; + private BigDecimal volume; + private BigDecimal price; + @SerializedName("create_date") + private Long createDate; + @SerializedName("order_source") + private String orderSource; + @SerializedName("order_price_type") + private String orderPriceType; + @SerializedName("margin_frozen") + private BigDecimal marginFrozen; + private BigDecimal profit; + @SerializedName("real_profit") + private BigDecimal realProfit; + @SerializedName("trade_volume") + private BigDecimal tradeVolume; + @SerializedName("trade_turnover") + private BigDecimal tradeTurnover; + private BigDecimal fee; + @SerializedName("trade_avg_price") + private BigDecimal tradeAvgPrice; + private Integer status; + @SerializedName("order_type") + private Integer orderType; + @SerializedName("fee_asset") + private String feeAsset; + @SerializedName("liquidation_type") + private String liquidationType; + @SerializedName("is_tpsl") + private Integer isTpsl; + @SerializedName("reduce_only") + private Integer reduceOnly; + @SerializedName("canceled_source") + private String canceledSource; + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/trade/SwapHisordersResponse.java b/src/main/java/com/huobi/api/response/usdt/trade/SwapHisordersResponse.java new file mode 100644 index 0000000..c839a76 --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/trade/SwapHisordersResponse.java @@ -0,0 +1,125 @@ +package com.huobi.api.response.usdt.trade; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class SwapHisordersResponse { + /** + * {"status":"ok", + * "data":{"orders":[{"order_id":759079311113506816,"contract_code":"ETH-USDT","symbol":"ETH","lever_rate":5,"direction":"buy","offset":"open","volume":1000.000000000000000000,"price":333.000000000000000000,"create_date":1601020210775,"order_source":"api","order_price_type":1,"order_type":1,"margin_frozen":0E-18,"profit":0E-18,"trade_volume":1000.000000000000000000,"trade_turnover":3320.000000000000000000,"fee":-1.328000000000000000,"trade_avg_price":332.000000,"status":6,"order_id_str":"759079311113506816","fee_asset":"USDT","liquidation_type":"0","margin_asset":"USDT"},{"order_id":759079310895403008,"contract_code":"ETH-USDT","symbol":"ETH","lever_rate":5,"direction":"sell","offset":"open","volume":100.000000000000000000,"price":456.000000000000000000,"create_date":1601020210717,"order_source":"api","order_price_type":1,"order_type":1,"margin_frozen":0E-18,"profit":0E-18,"trade_volume":0E-18,"trade_turnover":0E-18,"fee":0E-18,"trade_avg_price":0,"status":7,"order_id_str":"759079310895403008","fee_asset":"USDT","liquidation_type":"0","margin_asset":"USDT"},{"order_id":759077984358682624,"contract_code":"ETH-USDT","symbol":"ETH","lever_rate":5,"direction":"sell","offset":"open","volume":100.000000000000000000,"price":455.000000000000000000,"create_date":1601019894444,"order_source":"api","order_price_type":1,"order_type":1,"margin_frozen":0E-18,"profit":0E-18,"trade_volume":0E-18,"trade_turnover":0E-18,"fee":0E-18,"trade_avg_price":0,"status":7,"order_id_str":"759077984358682624","fee_asset":"USDT","liquidation_type":"0","margin_asset":"USDT"},{"order_id":759077085095710720,"contract_code":"ETH-USDT","symbol":"ETH","lever_rate":5,"direction":"buy","offset":"open","volume":1000.000000000000000000,"price":333.000000000000000000,"create_date":1601019680045,"order_source":"api","order_price_type":1,"order_type":1,"margin_frozen":0E-18,"profit":0E-18,"trade_volume":1000.000000000000000000,"trade_turnover":3284.209175160000000000,"fee":-1.313683670064000000,"trade_avg_price":328.420917,"status":6,"order_id_str":"759077085095710720","fee_asset":"USDT","liquidation_type":"0","margin_asset":"USDT"},{"order_id":757651577548611584,"contract_code":"ETH-USDT","symbol":"ETH","lever_rate":5,"direction":"sell","offset":"close","volume":9.000000000000000000,"price":400.000000000000000000,"create_date":1600679812556,"order_source":"web","order_price_type":3,"order_type":1,"margin_frozen":0E-18,"profit":-2.211489149999999999,"trade_volume":9.000000000000000000,"trade_turnover":36.000000000000000000,"fee":-0.018000000000000000,"trade_avg_price":400.000000,"status":6,"order_id_str":"757651577548611584","fee_asset":"USDT","liquidation_type":"0","margin_asset":"USDT"}],"total_page":2,"current_page":1,"total_size":10}, + * "ts":1601020316961 + */ + + private String status; + private DataBean data; + private Long ts; + + @Data + @AllArgsConstructor + public static class DataBean { + /** + * "orders":[{"order_id":759079311113506816,"contract_code":"ETH-USDT","symbol":"ETH","lever_rate":5,"direction":"buy","offset":"open","volume":1000.000000000000000000,"price":333.000000000000000000,"create_date":1601020210775,"order_source":"api","order_price_type":1,"order_type":1,"margin_frozen":0E-18,"profit":0E-18,"trade_volume":1000.000000000000000000,"trade_turnover":3320.000000000000000000,"fee":-1.328000000000000000,"trade_avg_price":332.000000,"status":6,"order_id_str":"759079311113506816","fee_asset":"USDT","liquidation_type":"0","margin_asset":"USDT"},{"order_id":759079310895403008,"contract_code":"ETH-USDT","symbol":"ETH","lever_rate":5,"direction":"sell","offset":"open","volume":100.000000000000000000,"price":456.000000000000000000,"create_date":1601020210717,"order_source":"api","order_price_type":1,"order_type":1,"margin_frozen":0E-18,"profit":0E-18,"trade_volume":0E-18,"trade_turnover":0E-18,"fee":0E-18,"trade_avg_price":0,"status":7,"order_id_str":"759079310895403008","fee_asset":"USDT","liquidation_type":"0","margin_asset":"USDT"},{"order_id":759077984358682624,"contract_code":"ETH-USDT","symbol":"ETH","lever_rate":5,"direction":"sell","offset":"open","volume":100.000000000000000000,"price":455.000000000000000000,"create_date":1601019894444,"order_source":"api","order_price_type":1,"order_type":1,"margin_frozen":0E-18,"profit":0E-18,"trade_volume":0E-18,"trade_turnover":0E-18,"fee":0E-18,"trade_avg_price":0,"status":7,"order_id_str":"759077984358682624","fee_asset":"USDT","liquidation_type":"0","margin_asset":"USDT"},{"order_id":759077085095710720,"contract_code":"ETH-USDT","symbol":"ETH","lever_rate":5,"direction":"buy","offset":"open","volume":1000.000000000000000000,"price":333.000000000000000000,"create_date":1601019680045,"order_source":"api","order_price_type":1,"order_type":1,"margin_frozen":0E-18,"profit":0E-18,"trade_volume":1000.000000000000000000,"trade_turnover":3284.209175160000000000,"fee":-1.313683670064000000,"trade_avg_price":328.420917,"status":6,"order_id_str":"759077085095710720","fee_asset":"USDT","liquidation_type":"0","margin_asset":"USDT"},{"order_id":757651577548611584,"contract_code":"ETH-USDT","symbol":"ETH","lever_rate":5,"direction":"sell","offset":"close","volume":9.000000000000000000,"price":400.000000000000000000,"create_date":1600679812556,"order_source":"web","order_price_type":3,"order_type":1,"margin_frozen":0E-18,"profit":-2.211489149999999999,"trade_volume":9.000000000000000000,"trade_turnover":36.000000000000000000,"fee":-0.018000000000000000,"trade_avg_price":400.000000,"status":6,"order_id_str":"757651577548611584","fee_asset":"USDT","liquidation_type":"0","margin_asset":"USDT"}], + * "total_page":2, + * "current_page":1, + * "total_size":10 + */ + + @SerializedName("total_page") + private Integer totalPage; + @SerializedName("current_page") + private Integer currentPage; + @SerializedName("total_size") + private Integer totalSize; + private List orders; + + @Data + @AllArgsConstructor + public static class OrdersBean { + /** + * "order_id":759079311113506816, + * "contract_code":"ETH-USDT", + * "symbol":"ETH", + * "lever_rate":5, + * "direction":"buy", + * "offset":"open", + * "volume":1000, + * "price":333, + * "create_date":1601020210775, + * "order_source":"api", + * "order_price_type":1, + * "order_type":1, + * "margin_frozen":0, + * "profit":0, + * "trade_volume":1000, + * "trade_turnover":3320, + * "fee":-1.328, + * "trade_avg_price":332, + * "status":6, + * "order_id_str":"759079311113506816", + * "fee_asset":"USDT", + * "liquidation_type":"0", + * "margin_asset":"USDT", + * "margin_mode":"isolated", + * "margin_account":"ETH-USDT" + */ + @SerializedName("order_id") + private Long orderId; + @SerializedName("order_id_str") + private String orderIdStr; + private String symbol; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("lever_rate") + private Integer leverRate; + private String direction; + private String offset; + private BigDecimal volume; + private BigDecimal price; + @SerializedName("create_date") + private Long createDate; + @SerializedName("order_source") + private String orderSource; + @SerializedName("order_price_type") + private String orderPriceType; + @SerializedName("margin_frozen") + private BigDecimal marginFrozen; + @SerializedName("margin_asset") + private String marginAsset; + private BigDecimal profit; + @SerializedName("trade_volume") + private BigDecimal tradeVolume; + @SerializedName("trade_turnover") + private BigDecimal tradeTurnover; + private BigDecimal fee; + @SerializedName("fee_asset") + private String feeAsset; + @SerializedName("trade_avg_price") + private BigDecimal tradeAvgPrice; + private Integer status; + @SerializedName("order_type") + private Integer orderType; + @SerializedName("liquidation_type") + private String liquidationType; + @SerializedName("margin_mode") + private String marginMode; + @SerializedName("margin_account") + private String marginAccount; + @SerializedName("is_tpsl") + private Integer isTpsl; + @SerializedName("update_time") + private Long updateTime; + @SerializedName("real_profit") + private BigDecimal realProfit; + @SerializedName("trade_partition") + private String tradePartition; + @SerializedName("reduce_only") + private String reduceOnly; + } + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/trade/SwapHisordersV3Response.java b/src/main/java/com/huobi/api/response/usdt/trade/SwapHisordersV3Response.java new file mode 100644 index 0000000..33f3b41 --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/trade/SwapHisordersV3Response.java @@ -0,0 +1,78 @@ +package com.huobi.api.response.usdt.trade; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Builder +@AllArgsConstructor +@Data +public class SwapHisordersV3Response { + private Integer code; + private String msg; + private Long ts; + private List data; + @Data + @AllArgsConstructor + public static class DataBean { + @SerializedName("query_id") + private Long queryId; + @SerializedName("order_id") + private Long orderId; + @SerializedName("order_id_str") + private String orderIdStr; + private String symbol; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("lever_rate") + private Integer leverRate; + private String direction; + private String offset; + private BigDecimal volume; + private BigDecimal price; + @SerializedName("create_date") + private Long createDate; + @SerializedName("update_time") + private Long updateTime; + @SerializedName("order_source") + private String orderSource; + @SerializedName("order_price_type") + private String orderPriceType; + @SerializedName("margin_asset") + private String marginAsset; + @SerializedName("margin_frozen") + private BigDecimal marginFrozen; + private BigDecimal profit; + @SerializedName("real_profit") + private BigDecimal realProfit; + @SerializedName("trade_volume") + private BigDecimal tradeVolume; + @SerializedName("trade_turnover") + private BigDecimal tradeTurnover; + private BigDecimal fee; + @SerializedName("trade_avg_price") + private BigDecimal tradeAvgPrice; + private Integer status; + @SerializedName("order_type") + private Integer order_type; + @SerializedName("fee_asset") + private String feeAsset; + @SerializedName("liquidation_type") + private String liquidationType; + @SerializedName("margin_mode") + private String marginMode; + @SerializedName("margin_account") + private String marginAccount; + @SerializedName("is_tpsl") + private Integer isTpsl; + @SerializedName("reduce_only") + private Integer reduceOnly; + private String canceledSource; + + + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/trade/SwapLightningClosePositionResponse.java b/src/main/java/com/huobi/api/response/usdt/trade/SwapLightningClosePositionResponse.java new file mode 100644 index 0000000..ce4bae2 --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/trade/SwapLightningClosePositionResponse.java @@ -0,0 +1,36 @@ +package com.huobi.api.response.usdt.trade; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +@Data +@AllArgsConstructor +public class SwapLightningClosePositionResponse { + /** + * "status":"ok", + * "data":{"order_id":759080404761497600,"order_id_str":"759080404761497600"}, + * "ts":1601020471588 + */ + + private String status; + private DataBean data; + private Long ts; + + @Data + @AllArgsConstructor + public static class DataBean { + /** + * "order_id":759080404761497600, + * "order_id_str":"759080404761497600" + */ + + @SerializedName("order_id") + private Long orderId; + @SerializedName("order_id_str") + private String orderIdStr; + @SerializedName("client_order_id") + private Long clientOrderId; + + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/trade/SwapMatchResultsExactV3Response.java b/src/main/java/com/huobi/api/response/usdt/trade/SwapMatchResultsExactV3Response.java new file mode 100644 index 0000000..73c1c86 --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/trade/SwapMatchResultsExactV3Response.java @@ -0,0 +1,66 @@ +package com.huobi.api.response.usdt.trade; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Builder +@AllArgsConstructor +@Data +public class SwapMatchResultsExactV3Response { + private Integer code; + private String msg; + private Long ts; + private List data; + + @Builder + @Data + @AllArgsConstructor + public static class DataBean{ + private String id; + @SerializedName("query_id") + private Long queryId; + @SerializedName("match_id") + private Long matchId; + @SerializedName("order_id") + private Long orderId; + @SerializedName("order_id_str") + private String orderIdStr; + private String symbol; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("margin_mode") + private String marginMode; + @SerializedName("margin_account") + private String marginAccount; + private String direction; + private String offset; + @SerializedName("trade_volume") + private BigDecimal tradeVolume; + @SerializedName("trade_price") + private BigDecimal tradePrice; + @SerializedName("trade_turnover") + private BigDecimal tradeTurnover; + @SerializedName("create_date") + private Long createDate; + @SerializedName("offset_profitloss") + private BigDecimal offsetProfitloss; + @SerializedName("real_profit") + private BigDecimal realProfit; + @SerializedName("trade_fee") + private BigDecimal tradeFee; + private String role; + @SerializedName("feeAsset") + private String feeAsset; + @SerializedName("ht_price") + private String htPrice; + @SerializedName("order_source") + private String orderSource; + @SerializedName("reduce_only") + private Integer reduceOnly; + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/trade/SwapMatchResultsV3Response.java b/src/main/java/com/huobi/api/response/usdt/trade/SwapMatchResultsV3Response.java new file mode 100644 index 0000000..ae25e54 --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/trade/SwapMatchResultsV3Response.java @@ -0,0 +1,69 @@ +package com.huobi.api.response.usdt.trade; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Builder +@AllArgsConstructor +@Data +public class SwapMatchResultsV3Response { + private Integer code; + private String msg; + private Long ts; + private List data; + + @Builder + @Data + @AllArgsConstructor + public static class DataBean{ + private String id; + @SerializedName("query_id") + private Long queryId; + @SerializedName("match_id") + private Long matchId; + @SerializedName("order_id") + private Long orderId; + @SerializedName("order_id_str") + private String orderIdStr; + private String symbol; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("margin_mode") + private String marginMode; + @SerializedName("margin_account") + private String marginAccount; + private String direction; + private String offset; + @SerializedName("trade_volume") + private BigDecimal tradeVolume; + @SerializedName("trade_price") + private BigDecimal tradePrice; + @SerializedName("trade_turnover") + private BigDecimal tradeTurnover; + @SerializedName("create_date") + private Long createDate; + @SerializedName("offset_profitloss") + private BigDecimal offsetProfitloss; + @SerializedName("real_profit") + private BigDecimal realProfit; + @SerializedName("trade_fee") + private BigDecimal tradeFee; + private String role; + @SerializedName("fee_asset") + private String feeAsset; + @SerializedName("order_source") + private String orderSource; + @SerializedName("contract_type") + private String contractType; + private String pair; + @SerializedName("business_type") + private String businessType; + @SerializedName("reduce_only") + private Integer reduceOnly; + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/trade/SwapMatchresultsExactResponse.java b/src/main/java/com/huobi/api/response/usdt/trade/SwapMatchresultsExactResponse.java new file mode 100644 index 0000000..607a7d0 --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/trade/SwapMatchresultsExactResponse.java @@ -0,0 +1,81 @@ +package com.huobi.api.response.usdt.trade; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Builder +@Data +@AllArgsConstructor +public class SwapMatchresultsExactResponse { + private String status; + private Long ts; + private List data; + + @Builder + @Data + @AllArgsConstructor + public static class DataBean{ + @SerializedName("remain_size") + private Integer remainSize; + @SerializedName("next_id") + private Long nextId; + private List trades; + + @Builder + @Data + @AllArgsConstructor + public static class TradesBean{ + private String id; + @SerializedName("query_id") + private Long queryId; + @SerializedName("match_id") + private Long matchId; + @SerializedName("order_id") + private Long orderId; + @SerializedName("order_id_str") + private String orderIdStr; + private String symbol; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("margin_mode") + private String marginMode; + @SerializedName("margin_account") + private String marginAccount; + private String direction; + private String offset; + @SerializedName("trade_volume") + private BigDecimal tradeVolume; + @SerializedName("trade_price") + private BigDecimal tradePrice; + @SerializedName("trade_turnover") + private BigDecimal tradeTurnover; + @SerializedName("create_date") + private Long createDate; + @SerializedName("offset_profitloss") + private BigDecimal offsetProfitloss; + @SerializedName("real_profit") + private BigDecimal realProfit; + @SerializedName("trade_fee") + private BigDecimal tradeFee; + private String role; + @SerializedName("fee_asset") + private String feeAsset; + @SerializedName("order_source") + private String orderSource; + private String pair; + @SerializedName("business_type") + private String businessType; + @SerializedName("contract_type") + private String contractType; + @SerializedName("trade_partition") + private String tradePartition; + @SerializedName("reduce_only") + private String reduceOnly; + } + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/trade/SwapMatchresultsResponse.java b/src/main/java/com/huobi/api/response/usdt/trade/SwapMatchresultsResponse.java new file mode 100644 index 0000000..403de77 --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/trade/SwapMatchresultsResponse.java @@ -0,0 +1,107 @@ +package com.huobi.api.response.usdt.trade; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class SwapMatchresultsResponse { + /** + * "status":"ok", + * "data":{"trades":[{"match_id":14499,"order_id":758725403280691200,"symbol":"BTC","contract_code":"BTC-USDT","direction":"buy","offset":"open","trade_volume":1.000000000000000000,"trade_price":10329.110000000000000000,"trade_turnover":103.291100000000000000,"trade_fee":-0.051645550000000000,"offset_profitloss":0E-18,"create_date":1600935837608,"role":"Taker","order_source":"web","order_id_str":"758725403280691200","id":"14499-758725403280691200-1","fee_asset":"USDT"},{"match_id":14470,"order_id":758688290195656704,"symbol":"BTC","contract_code":"BTC-USDT","direction":"buy","offset":"open","trade_volume":1.000000000000000000,"trade_price":10329.110000000000000000,"trade_turnover":103.291100000000000000,"trade_fee":-0.051645550000000000,"offset_profitloss":0E-18,"create_date":1600926986046,"role":"Taker","order_source":"web","order_id_str":"758688290195656704","id":"14470-758688290195656704-1","fee_asset":"USDT"},{"match_id":14469,"order_id":758684042347171840,"symbol":"BTC","contract_code":"BTC-USDT","direction":"buy","offset":"open","trade_volume":1.000000000000000000,"trade_price":10329.110000000000000000,"trade_turnover":103.291100000000000000,"trade_fee":-0.051645550000000000,"offset_profitloss":0E-18,"create_date":1600925972666,"role":"Taker","order_source":"web","order_id_str":"758684042347171840","id":"14469-758684042347171840-1","fee_asset":"USDT"},{"match_id":13670,"order_id":758643126693031936,"symbol":"BTC","contract_code":"BTC-USDT","direction":"buy","offset":"close","trade_volume":25.000000000000000000,"trade_price":10329.110000000000000000,"trade_turnover":2582.277500000000000000,"trade_fee":-1.032911000000000000,"offset_profitloss":-5.319151442307692307,"create_date":1600916217943,"role":"Taker","order_source":"api","order_id_str":"758643126693031936","id":"13670-758643126693031936-1","fee_asset":"USDT"},{"match_id":13657,"order_id":758640801572220928,"symbol":"BTC","contract_code":"BTC-USDT","direction":"sell","offset":"open","trade_volume":100.000000000000000000,"trade_price":10328.994000000000000000,"trade_turnover":10328.994000000000000000,"trade_fee":-5.164497000000000000,"offset_profitloss":0E-18,"create_date":1600915663525,"role":"Taker","order_source":"api","order_id_str":"758640801572220928","id":"13657-758640801572220928-1","fee_asset":"USDT"}],"total_page":8,"current_page":1,"total_size":36}, + * "ts":1601020538552 + */ + + private DataBean data; + private String status; + private Long ts; + + @Data + @AllArgsConstructor + public static class DataBean { + /** + * "trades":[{"match_id":14499,"order_id":758725403280691200,"symbol":"BTC","contract_code":"BTC-USDT","direction":"buy","offset":"open","trade_volume":1.000000000000000000,"trade_price":10329.110000000000000000,"trade_turnover":103.291100000000000000,"trade_fee":-0.051645550000000000,"offset_profitloss":0E-18,"create_date":1600935837608,"role":"Taker","order_source":"web","order_id_str":"758725403280691200","id":"14499-758725403280691200-1","fee_asset":"USDT"},{"match_id":14470,"order_id":758688290195656704,"symbol":"BTC","contract_code":"BTC-USDT","direction":"buy","offset":"open","trade_volume":1.000000000000000000,"trade_price":10329.110000000000000000,"trade_turnover":103.291100000000000000,"trade_fee":-0.051645550000000000,"offset_profitloss":0E-18,"create_date":1600926986046,"role":"Taker","order_source":"web","order_id_str":"758688290195656704","id":"14470-758688290195656704-1","fee_asset":"USDT"},{"match_id":14469,"order_id":758684042347171840,"symbol":"BTC","contract_code":"BTC-USDT","direction":"buy","offset":"open","trade_volume":1.000000000000000000,"trade_price":10329.110000000000000000,"trade_turnover":103.291100000000000000,"trade_fee":-0.051645550000000000,"offset_profitloss":0E-18,"create_date":1600925972666,"role":"Taker","order_source":"web","order_id_str":"758684042347171840","id":"14469-758684042347171840-1","fee_asset":"USDT"},{"match_id":13670,"order_id":758643126693031936,"symbol":"BTC","contract_code":"BTC-USDT","direction":"buy","offset":"close","trade_volume":25.000000000000000000,"trade_price":10329.110000000000000000,"trade_turnover":2582.277500000000000000,"trade_fee":-1.032911000000000000,"offset_profitloss":-5.319151442307692307,"create_date":1600916217943,"role":"Taker","order_source":"api","order_id_str":"758643126693031936","id":"13670-758643126693031936-1","fee_asset":"USDT"},{"match_id":13657,"order_id":758640801572220928,"symbol":"BTC","contract_code":"BTC-USDT","direction":"sell","offset":"open","trade_volume":100.000000000000000000,"trade_price":10328.994000000000000000,"trade_turnover":10328.994000000000000000,"trade_fee":-5.164497000000000000,"offset_profitloss":0E-18,"create_date":1600915663525,"role":"Taker","order_source":"api","order_id_str":"758640801572220928","id":"13657-758640801572220928-1","fee_asset":"USDT"}], + * "total_page":8, + * "current_page":1, + * "total_size":36 + */ + + @SerializedName("current_page") + private Integer currentPage; + @SerializedName("total_page") + private Integer totalPage; + @SerializedName("total_size") + private Integer totalSize; + private List trades; + + @Data + @AllArgsConstructor + public static class TradesBean { + /** + * "match_id":14499, + * "order_id":758725403280691200, + * "symbol":"BTC", + * "contract_code":"BTC-USDT", + * "direction":"buy", + * "offset":"open", + * "trade_volume":1, + * "trade_price":10329.11, + * "trade_turnover":103.2911, + * "trade_fee":-0.05164555, + * "offset_profitloss":0, + * "create_date":1600935837608, + * "role":"Taker", + * "order_source":"web", + * "order_id_str":"758725403280691200", + * "id":"14499-758725403280691200-1", + * "fee_asset":"USDT", + * "margin_mode":"isolated", + * "margin_account":"ETH-USDT" + */ + + @SerializedName("match_id") + private Long matchId; + private String id; + @SerializedName("order_id") + private Long orderId; + @SerializedName("order_id_str") + private Long orderIdStr; + private String symbol; + @SerializedName("order_source") + private String orderSource; + @SerializedName("contract_code") + private String contractCode; + private String direction; + private String offset; + @SerializedName("trade_volume") + private BigDecimal tradeVolume; + @SerializedName("trade_price") + private BigDecimal tradePrice; + @SerializedName("trade_turnover") + private BigDecimal tradeTurnover; + @SerializedName("create_date") + private Long createDate; + @SerializedName("offset_profitloss") + private BigDecimal offsetProfitloss; + @SerializedName("trade_fee") + private double tradeFee; + @SerializedName("fee_asset") + private String feeAsset; + private String role; + @SerializedName("margin_mode") + private String marginMode; + @SerializedName("margin_account") + private String marginAccount; + @SerializedName("real_profit") + private BigDecimal realProfit; + @SerializedName("trade_partition") + private String tradePartition; + @SerializedName("reduce_only") + private String reduceOnly; + } + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/trade/SwapOpenordersResponse.java b/src/main/java/com/huobi/api/response/usdt/trade/SwapOpenordersResponse.java new file mode 100644 index 0000000..d78fdca --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/trade/SwapOpenordersResponse.java @@ -0,0 +1,132 @@ +package com.huobi.api.response.usdt.trade; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class SwapOpenordersResponse { + /** + * "status":"ok", + * "data":{"orders":[{"symbol":"BTC","contract_code":"BTC-USDT","volume":1000.000000000000000000,"price":9999.000000000000000000,"order_price_type":"limit","order_type":1,"direction":"buy","offset":"open","lever_rate":5,"order_id":758644298405408768,"client_order_id":null,"created_at":1600916495665,"trade_volume":0E-18,"trade_turnover":0E-18,"fee":0E-18,"trade_avg_price":null,"margin_frozen":19998.000000000000000000,"profit":0E-18,"status":3,"order_source":"api","order_id_str":"758644298405408768","fee_asset":"USDT","liquidation_type":null,"canceled_at":null,"margin_asset":"USDT"},{"symbol":"BTC","contract_code":"BTC-USDT","volume":100.000000000000000000,"price":11100.000000000000000000,"order_price_type":"limit","order_type":1,"direction":"sell","offset":"open","lever_rate":5,"order_id":758644298199887872,"client_order_id":null,"created_at":1600916495610,"trade_volume":0E-18,"trade_turnover":0E-18,"fee":0E-18,"trade_avg_price":null,"margin_frozen":2220.000000000000000000,"profit":0E-18,"status":3,"order_source":"api","order_id_str":"758644298199887872","fee_asset":"USDT","liquidation_type":null,"canceled_at":null,"margin_asset":"USDT"}],"total_page":1,"current_page":1,"total_size":2}, + * "ts":1601020656041 + */ + + private String status; + private DataBean data; + private Long ts; + + @Data + @AllArgsConstructor + public static class DataBean { + /** + * "orders":[{"symbol":"BTC","contract_code":"BTC-USDT","volume":1000.000000000000000000,"price":9999.000000000000000000,"order_price_type":"limit","order_type":1,"direction":"buy","offset":"open","lever_rate":5,"order_id":758644298405408768,"client_order_id":null,"created_at":1600916495665,"trade_volume":0E-18,"trade_turnover":0E-18,"fee":0E-18,"trade_avg_price":null,"margin_frozen":19998.000000000000000000,"profit":0E-18,"status":3,"order_source":"api","order_id_str":"758644298405408768","fee_asset":"USDT","liquidation_type":null,"canceled_at":null,"margin_asset":"USDT"},{"symbol":"BTC","contract_code":"BTC-USDT","volume":100.000000000000000000,"price":11100.000000000000000000,"order_price_type":"limit","order_type":1,"direction":"sell","offset":"open","lever_rate":5,"order_id":758644298199887872,"client_order_id":null,"created_at":1600916495610,"trade_volume":0E-18,"trade_turnover":0E-18,"fee":0E-18,"trade_avg_price":null,"margin_frozen":2220.000000000000000000,"profit":0E-18,"status":3,"order_source":"api","order_id_str":"758644298199887872","fee_asset":"USDT","liquidation_type":null,"canceled_at":null,"margin_asset":"USDT"}], + * "total_page":1, + * "current_page":1, + * "total_size":2 + */ + + @SerializedName("total_page") + private Integer totalPage; + @SerializedName("current_page") + private Integer currentPage; + @SerializedName("total_size") + private Integer totalSize; + private List orders; + + @Data + @AllArgsConstructor + public static class OrdersBean { + /** + * "symbol":"BTC", + * "contract_code":"BTC-USDT", + * "volume":100, + * "price":11100, + * "order_price_type":"limit", + * "order_type":1, + * "direction":"sell", + * "offset":"open", + * "lever_rate":5, + * "order_id":758644298199887872, + * "client_order_id":null, + * "created_at":1600916495610, + * "trade_volume":0, + * "trade_turnover":0, + * "fee":0, + * "trade_avg_price":null, + * "margin_frozen":2220, + * "profit":0, + * "status":3, + * "order_source":"api", + * "order_id_str":"758644298199887872", + * "fee_asset":"USDT", + * "liquidation_type":null, + * "canceled_at":null, + * "margin_asset":"USDT", + * "margin_mode":"isolated", + * "margin_account":"BTC-USDT" + */ + + private String symbol; + @SerializedName("contract_code") + private String contractCode; + private BigDecimal volume; + private BigDecimal price; + @SerializedName("order_price_type") + private String orderPriceType; + @SerializedName("order_type") + private Integer orderType; + private String direction; + private String offset; + @SerializedName("lever_rate") + private Integer leverRate; + @SerializedName("order_id") + private Long orderId; + @SerializedName("order_id_str") + private Long orderIdStr; + @SerializedName("client_order_id") + private Long clientOrderId; + @SerializedName("created_at") + private Long createdAt; + @SerializedName("trade_volume") + private BigDecimal tradeVolume; + @SerializedName("trade_turnover") + private BigDecimal tradeTurnover; + private BigDecimal fee; + @SerializedName("fee_asset") + private String feeAsset; + @SerializedName("trade_avg_price") + private BigDecimal tradeAvgPrice; + @SerializedName("margin_frozen") + private BigDecimal marginFrozen; + private BigDecimal profit; + private Integer status; + @SerializedName("order_source") + private String orderSource; + @SerializedName("margin_asset") + private String marginAsset; + @SerializedName("liquidation_type") + private String liquidationType; + @SerializedName("canceled_at") + private String canceledAt; + @SerializedName("margin_mode") + private String marginMode; + @SerializedName("margin_account") + private String marginAccount; + @SerializedName("is_tpsl") + private Integer isTpsl; + @SerializedName("update_time") + private Long updateTime; + @SerializedName("real_profit") + private BigDecimal realProfit; + @SerializedName("trade_partition") + private String tradePartition; + @SerializedName("reduce_only") + private String reduceOnly; + } + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/trade/SwapOrderDetailResponse.java b/src/main/java/com/huobi/api/response/usdt/trade/SwapOrderDetailResponse.java new file mode 100644 index 0000000..7bf6e40 --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/trade/SwapOrderDetailResponse.java @@ -0,0 +1,126 @@ +package com.huobi.api.response.usdt.trade; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class SwapOrderDetailResponse { + /** + * + */ + + private String status; + private DataBean data; + private Long ts; + + @Data + @AllArgsConstructor + public static class DataBean { + /** + * + */ + + private String symbol; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("lever_rate") + private Integer leverRate; + private String direction; + private String offset; + private BigDecimal volume; + private BigDecimal price; + @SerializedName("created_at") + private Long createdAt; + @SerializedName("canceled_at") + private Long canceledAt; + @SerializedName("order_source") + private String orderSource; + @SerializedName("order_price_type") + private String orderPriceType; + @SerializedName("margin_frozen") + private BigDecimal marginFrozen; + @SerializedName("margin_asset") + private String marginAsset; + private BigDecimal profit; + @SerializedName("instrument_price") + private BigDecimal instrumentPrice; + @SerializedName("final_interest") + private BigDecimal finalInterest; + @SerializedName("adjust_value") + private BigDecimal adjustValue; + private BigDecimal fee; + @SerializedName("fee_asset") + private String feeAsset; + @SerializedName("liquidation_type") + private String liquidationType; + @SerializedName("order_type") + private Integer orderType; + @SerializedName("order_id") + private Long orderId; + @SerializedName("order_id_str") + private String orderIdStr; + @SerializedName("client_order_id") + private Long clientOrderId; + @SerializedName("trade_volume") + private BigDecimal tradeVolume; + @SerializedName("trade_turnover") + private BigDecimal tradeTurnover; + @SerializedName("trade_avg_price") + private BigDecimal tradeAvgPrice; + private Integer status; + @SerializedName("total_page") + private Integer totalPage; + @SerializedName("current_page") + private Integer currentPage; + @SerializedName("total_size") + private Integer totalSize; + @SerializedName("margin_mode") + private String marginMode; + @SerializedName("margin_account") + private String marginAccount; + @SerializedName("is_tpsl") + private Integer isTpsl; + @SerializedName("real_profit") + private BigDecimal realProfit; + @SerializedName("trade_partition") + private String tradePartition; + private List trades; + @SerializedName("reduce_only") + private String reduceOnly; + @SerializedName("canceled_source") + private String canceledSource; + + @Data + @AllArgsConstructor + public static class TradesBean { + /** + * + */ + + private String id; + @SerializedName("trade_id") + private Long tradeId; + @SerializedName("trade_price") + private BigDecimal tradePrice; + @SerializedName("trade_volume") + private BigDecimal tradeVolume; + @SerializedName("trade_turnover") + private BigDecimal tradeTurnover; + @SerializedName("trade_fee") + private BigDecimal tradeFee; + private String role; + @SerializedName("created_at") + private Long createdAt; + @SerializedName("fee_asset") + private String feeAsset; + @SerializedName("real_profit") + private BigDecimal realProfit; + private BigDecimal profit; + } + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/trade/SwapOrderInfoResponse.java b/src/main/java/com/huobi/api/response/usdt/trade/SwapOrderInfoResponse.java new file mode 100644 index 0000000..b5a90f1 --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/trade/SwapOrderInfoResponse.java @@ -0,0 +1,118 @@ +package com.huobi.api.response.usdt.trade; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class SwapOrderInfoResponse { + /** + * "status":"ok", + * "data":[{"symbol":"BTC","contract_code":"BTC-USDT","volume":100.000000000000000000,"price":11100.000000000000000000,"order_price_type":"limit","order_type":1,"direction":"sell","offset":"open","lever_rate":5,"order_id":758644298199887872,"client_order_id":null,"created_at":1600916495610,"trade_volume":0E-18,"trade_turnover":0E-18,"fee":0E-18,"trade_avg_price":null,"margin_frozen":2220.000000000000000000,"profit":0E-18,"status":3,"order_source":"api","order_id_str":"758644298199887872","fee_asset":"USDT","liquidation_type":"0","canceled_at":0,"margin_asset":"USDT"}], + * "ts":1601021229352 + */ + + private String status; + private Long ts; + private List data; + + @Data + @AllArgsConstructor + public static class DataBean { + /** + * "symbol":"BTC", + * "contract_code":"BTC-USDT", + * "volume":100, + * "price":11100, + * "order_price_type":"limit", + * "order_type":1, + * "direction":"sell", + * "offset":"open", + * "lever_rate":5, + * "order_id":758644298199887872, + * "client_order_id":null, + * "created_at":1600916495610, + * "trade_volume":0, + * "trade_turnover":0, + * "fee":0, + * "trade_avg_price":null, + * "margin_frozen":2220, + * "profit":0, + * "status":3, + * "order_source":"api", + * "order_id_str":"758644298199887872", + * "fee_asset":"USDT", + * "liquidation_type":"0", + * "canceled_at":0, + * "margin_asset":"USDT", + * "margin_mode":"isolated", + * "margin_account":"BTC-USDT" + */ + + private String symbol; + @SerializedName("contract_code") + private String contractCode; + private BigDecimal volume; + private BigDecimal price; + @SerializedName("order_price_type") + private String orderPriceType; + private String direction; + private String offset; + @SerializedName("lever_rate") + private Integer leverRate; + @SerializedName("order_id") + private Long orderId; + @SerializedName("order_id_str") + private String orderIdStr; + @SerializedName("client_order_id") + private Long clientOrderId; + @SerializedName("created_at") + private Long createdAt; + @SerializedName("trade_volume") + private BigDecimal tradeVolume; + @SerializedName("trade_turnover") + private BigDecimal tradeTurnover; + private BigDecimal fee; + @SerializedName("trade_avg_price") + private BigDecimal tradeAvgPrice; + @SerializedName("margin_asset") + private String marginAsset; + @SerializedName("margin_frozen") + private BigDecimal marginFrozen; + private BigDecimal profit; + private Integer status; + @SerializedName("order_type") + private String orderType; + @SerializedName("order_source") + private String orderSource; + @SerializedName("fee_asset") + private String feeAsset; + @SerializedName("liquidation_type") + private String liquidationType; + @SerializedName("canceled_at") + private Long canceledAt; + @SerializedName("margin_mode") + private String marginMode; + @SerializedName("margin_account") + private String marginAccount; + @SerializedName("is_tpsl") + private Integer isTpsl; + @SerializedName("real_profit") + private BigDecimal realProfit; + @SerializedName("trade_partition") + private String tradePartition; + @SerializedName("reduce_only") + private String reduceOnly; + @SerializedName("fee_amount") + private BigDecimal feeAmount; + @SerializedName("fee_quote_amount") + private BigDecimal feeQuoteAmount; + @SerializedName("canceled_source") + private String canceledSource; + + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/trade/SwapOrderResponse.java b/src/main/java/com/huobi/api/response/usdt/trade/SwapOrderResponse.java new file mode 100644 index 0000000..8ca28a1 --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/trade/SwapOrderResponse.java @@ -0,0 +1,38 @@ +package com.huobi.api.response.usdt.trade; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + + +@Data +@AllArgsConstructor +public class SwapOrderResponse { + + /** + * "status":"ok", + * "data":{"order_id":759077984358682624,"order_id_str":"759077984358682624"}, + * "ts":1601019894532 + */ + + private String status; + private DataBean data; + private Long ts; + + @Data + @AllArgsConstructor + public static class DataBean { + /** + * "order_id":759077984358682624, + * "order_id_str":"759077984358682624" + */ + + @SerializedName("order_id") + private Long orderId; + @SerializedName("order_id_str") + private String orderIdStr; + @SerializedName("client_order_id") + private Long clientOrderId; + + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/trade/SwapPositionSideResponse.java b/src/main/java/com/huobi/api/response/usdt/trade/SwapPositionSideResponse.java new file mode 100644 index 0000000..bbc8c11 --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/trade/SwapPositionSideResponse.java @@ -0,0 +1,25 @@ +package com.huobi.api.response.usdt.trade; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.util.List; + +@Builder +@AllArgsConstructor +@Data +public class SwapPositionSideResponse { + private String status; + private List data; + + @AllArgsConstructor + @Data + public static class DataBean { + @SerializedName("margin_account") + private String marginAccount; + @SerializedName("position_mode") + private String positionMode; + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/trade/SwapRelationTpslOrderResponse.java b/src/main/java/com/huobi/api/response/usdt/trade/SwapRelationTpslOrderResponse.java new file mode 100644 index 0000000..774bad6 --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/trade/SwapRelationTpslOrderResponse.java @@ -0,0 +1,114 @@ +package com.huobi.api.response.usdt.trade; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@AllArgsConstructor +@Builder +@Data +public class SwapRelationTpslOrderResponse { + private String status; + private Long ts; + private List data; + + @AllArgsConstructor + @Builder + @Data + public static class DataBean{ + private String symbol; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("margin_mode") + private String marginMode; + @SerializedName("margin_account") + private String marginAccount; + private BigDecimal volume; + private BigDecimal price; + @SerializedName("order_price_type") + private String orderPriceType; + private String direction; + private String offset; + @SerializedName("lever_rate") + private Integer leverRate; + @SerializedName("order_id") + private Long orderId; + @SerializedName("order_id_str") + private String orderIdStr; + @SerializedName("client_order_id") + private Long clientOrderId; + @SerializedName("created_at") + private Long createdAt; + @SerializedName("trade_volume") + private BigDecimal tradeVolume; + @SerializedName("trade_turnover") + private BigDecimal tradeTurnover; + private BigDecimal fee; + @SerializedName("trade_avg_price") + private BigDecimal tradeAvgPrice; + @SerializedName("margin_frozen") + private BigDecimal marginFrozen; + private BigDecimal profit; + private Integer status; + @SerializedName("order_type") + private Integer orderType; + @SerializedName("order_source") + private String orderSource; + @SerializedName("fee_asset") + private String feeAsset; + @SerializedName("canceled_at") + private Long canceledAt; + private String pair; + @SerializedName("business_type") + private String businessType; + @SerializedName("contract_type") + private String contractType; + @SerializedName("trade_partition") + private String tradePartition; + @SerializedName("tpsl_order_info") + private List tpslOrderInfo; + + @AllArgsConstructor + @Builder + @Data + public static class TpslOrderInfoBean{ + private BigDecimal volume; + @SerializedName("tpsl_order_type") + private String tpslOrderType; + private String direction; + @SerializedName("order_id") + private Long orderId; + @SerializedName("order_id_str") + private String orderIdStr; + @SerializedName("trigger_type") + private String triggerType; + @SerializedName("trigger_price") + private BigDecimal triggerPrice; + @SerializedName("order_price") + private BigDecimal orderPrice; + @SerializedName("created_at") + private Long createdAt; + @SerializedName("order_price_type") + private String orderPriceType; + private Integer status; + @SerializedName("relation_tpsl_order_id") + private String relationTpslOrderId; + @SerializedName("canceled_at") + private Long canceledAt; + @SerializedName("fail_code") + private Integer failCode; + @SerializedName("fail_reason") + private String failReason; + @SerializedName("triggered_price") + private BigDecimal triggeredPrice; + @SerializedName("relation_order_id") + private String relationOrderId; + } + + + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/trade/SwapSwitchLeverRateResponse.java b/src/main/java/com/huobi/api/response/usdt/trade/SwapSwitchLeverRateResponse.java new file mode 100644 index 0000000..08a788a --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/trade/SwapSwitchLeverRateResponse.java @@ -0,0 +1,32 @@ +package com.huobi.api.response.usdt.trade; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.util.List; + +@AllArgsConstructor +@Data +public class SwapSwitchLeverRateResponse { + private String status; + private Long ts; + @SerializedName("err_code") + private Integer errCode; + @SerializedName("err_msg") + private String errMag; + private List data; + + @AllArgsConstructor + @Data + public static class DataBean{ + @SerializedName("contract_code") + private String contractCode; + @SerializedName("lever_rate") + private Integer leverRate; + @SerializedName("margin_mode") + private String marginMode; + @SerializedName("trade_partition") + private String tradePartition; + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/trade/SwapSwitchPositionModeResponse.java b/src/main/java/com/huobi/api/response/usdt/trade/SwapSwitchPositionModeResponse.java new file mode 100644 index 0000000..fa98f69 --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/trade/SwapSwitchPositionModeResponse.java @@ -0,0 +1,27 @@ +package com.huobi.api.response.usdt.trade; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.util.List; + +@AllArgsConstructor +@Builder +@Data +public class SwapSwitchPositionModeResponse { + private String status; + private Long ts; + private List data; + + @AllArgsConstructor + @Builder + @Data + public static class DataBean{ + @SerializedName("margin_account") + private String marginAccount; + @SerializedName("position_mode") + private String PositionMode; + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/trade/SwapTpslCancelResponse.java b/src/main/java/com/huobi/api/response/usdt/trade/SwapTpslCancelResponse.java new file mode 100644 index 0000000..e01193a --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/trade/SwapTpslCancelResponse.java @@ -0,0 +1,39 @@ +package com.huobi.api.response.usdt.trade; + + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.util.List; + +@Builder +@AllArgsConstructor +@Data +public class SwapTpslCancelResponse { + private String status; + private Long ts; + private List data; + + @Builder + @AllArgsConstructor + @Data + public static class DataBean{ + private List errors; + private String successes; + + @Builder + @AllArgsConstructor + @Data + public static class errorsBean{ + @SerializedName("order_id") + private Long orderId; + @SerializedName("err_code") + private Integer errCode; + @SerializedName("err_msg") + private String errMsg; + } + + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/trade/SwapTpslCancelallResponse.java b/src/main/java/com/huobi/api/response/usdt/trade/SwapTpslCancelallResponse.java new file mode 100644 index 0000000..e4b1bce --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/trade/SwapTpslCancelallResponse.java @@ -0,0 +1,39 @@ +package com.huobi.api.response.usdt.trade; + + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.util.List; + +@Builder +@AllArgsConstructor +@Data +public class SwapTpslCancelallResponse { + private String status; + private Long ts; + private List data; + + @Builder + @AllArgsConstructor + @Data + public static class DataBean{ + private List errors; + private String successes; + + @Builder + @AllArgsConstructor + @Data + public static class errorsBean{ + @SerializedName("order_id") + private Long orderId; + @SerializedName("err_code") + private Integer errCode; + @SerializedName("err_mag") + private String errMag; + } + + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/trade/SwapTpslHisordersResponse.java b/src/main/java/com/huobi/api/response/usdt/trade/SwapTpslHisordersResponse.java new file mode 100644 index 0000000..7404b88 --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/trade/SwapTpslHisordersResponse.java @@ -0,0 +1,90 @@ +package com.huobi.api.response.usdt.trade; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@AllArgsConstructor +@Builder +@Data +public class SwapTpslHisordersResponse { + private String status; + private Long ts; + private List data; + + @AllArgsConstructor + @Builder + @Data + public static class DataBean{ + @SerializedName("total_page") + private Integer totalPage; + @SerializedName("total_size") + private Integer totalSize; + @SerializedName("current_page") + private Integer currentPage; + private List orders; + + @AllArgsConstructor + @Builder + @Data + public static class OrdersBean{ + private String symbol; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("margin_mode") + private String marginMode; + @SerializedName("margin_account") + private String marginAccount; + private BigDecimal volume; + @SerializedName("order_type") + private Integer orderType; + @SerializedName("tpsl_order_type") + private String tpslOrderType; + private String direction; + @SerializedName("order_id") + private Long orderId; + @SerializedName("order_id_str") + private String orderIdStr; + @SerializedName("order_source") + private String orderSource; + @SerializedName("trigger_type") + private String triggerType; + @SerializedName("trigger_price") + private BigDecimal triggerPrice; + @SerializedName("created_at") + private Long createdAt; + @SerializedName("order_price_type") + private String orderPriceType; + @SerializedName("order_price") + private BigDecimal orderPrice; + private Integer status; + @SerializedName("source_order_id") + private String sourceOrderId; + @SerializedName("relation_tpsl_order_id") + private String relationTpslOrderId; + @SerializedName("canceled_at") + private Long canceledAt; + @SerializedName("fail_code") + private Integer failCode; + @SerializedName("fail_reason") + private String failReason; + @SerializedName("triggered_price") + private BigDecimal triggeredPrice; + @SerializedName("relation_order_id") + private String relationOrderId; + @SerializedName("update_time") + private Long updateTime; + private String pair; + @SerializedName("business_type") + private String businessType; + @SerializedName("contract_type") + private String contractType; + @SerializedName("trade_partition") + private String tradePartition; + } + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/trade/SwapTpslOpenordersResponse.java b/src/main/java/com/huobi/api/response/usdt/trade/SwapTpslOpenordersResponse.java new file mode 100644 index 0000000..51cfaf9 --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/trade/SwapTpslOpenordersResponse.java @@ -0,0 +1,78 @@ +package com.huobi.api.response.usdt.trade; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Builder +@Data +@AllArgsConstructor +public class SwapTpslOpenordersResponse { + private String status; + private Long ts; + private List data; + + @Builder + @Data + @AllArgsConstructor + public static class DataBean{ + @SerializedName("total_page") + private Integer totalPage; + @SerializedName("total_size") + private Integer totalSize; + @SerializedName("current_page") + private Integer currentPage; + private List orders; + + @Builder + @Data + @AllArgsConstructor + public static class OrdersBean{ + private String symbol; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("margin_mode") + private String marginMode; + @SerializedName("margin_account") + private String marginAccount; + private BigDecimal volume; + @SerializedName("order_type") + private Integer orderType; + @SerializedName("tpsl_order_type") + private String tpslOrderType; + private String direction; + @SerializedName("order_id") + private Long orderId; + @SerializedName("order_id_str") + private String orderIdStr; + @SerializedName("order_source") + private String orderSource; + @SerializedName("trigger_type") + private String triggerType; + @SerializedName("trigger_price") + private BigDecimal triggerPrice; + @SerializedName("created_at") + private Long createdAt; + @SerializedName("order_price_type") + private String orderPriceType; + @SerializedName("order_price") + private BigDecimal orderPrice; + private Integer status; + @SerializedName("source_order_id") + private String sourceOrderId; + @SerializedName("relation_tpsl_order_id") + private String relationTpslOrderId; + private String pair; + @SerializedName("business_type") + private String businessType; + @SerializedName("contract_type") + private String contractType; + @SerializedName("trade_partition") + private String tradePartition; + } + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/trade/SwapTpslOrderResponse.java b/src/main/java/com/huobi/api/response/usdt/trade/SwapTpslOrderResponse.java new file mode 100644 index 0000000..cf9013d --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/trade/SwapTpslOrderResponse.java @@ -0,0 +1,52 @@ +package com.huobi.api.response.usdt.trade; + + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.util.List; + +@Builder +@AllArgsConstructor +@Data +public class SwapTpslOrderResponse { + private String status; + private Long ts; + @SerializedName("err_code") + private Integer errCode; + @SerializedName("err_mag") + private String errMag; + private List data; + + @Builder + @AllArgsConstructor + @Data + public static class DataBean{ + @SerializedName("tp_order") + private List tpOrder; + @SerializedName("sl_order") + private List slOrder; + + @Builder + @AllArgsConstructor + @Data + public static class tpOrderBean{ + @SerializedName("order_id") + private Long orderId; + @SerializedName("order_id_str") + private String orderIdStr; + } + + @Builder + @AllArgsConstructor + @Data + public static class slOrderBean{ + @SerializedName("order_id") + private Long orderId; + @SerializedName("order_id_str") + private String orderIdStr; + } + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/trade/SwapTrackCancelResponse.java b/src/main/java/com/huobi/api/response/usdt/trade/SwapTrackCancelResponse.java new file mode 100644 index 0000000..d3f2326 --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/trade/SwapTrackCancelResponse.java @@ -0,0 +1,38 @@ +package com.huobi.api.response.usdt.trade; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.util.List; + +@AllArgsConstructor +@Builder +@Data +public class SwapTrackCancelResponse { + private String status; + private Long ts; + private List data; + + @AllArgsConstructor + @Builder + @Data + public static class DataBean{ + private String successes; + private List errors; + + @AllArgsConstructor + @Builder + @Data + public static class ErrorsBean{ + @SerializedName("order_id") + private String orderId; + @SerializedName("err_code") + private Long errCode; + @SerializedName("err_msg") + private String errMsg; + } + } + +} diff --git a/src/main/java/com/huobi/api/response/usdt/trade/SwapTrackCancelallResponse.java b/src/main/java/com/huobi/api/response/usdt/trade/SwapTrackCancelallResponse.java new file mode 100644 index 0000000..585d341 --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/trade/SwapTrackCancelallResponse.java @@ -0,0 +1,38 @@ +package com.huobi.api.response.usdt.trade; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.util.List; + +@AllArgsConstructor +@Builder +@Data +public class SwapTrackCancelallResponse { + private String status; + private Long ts; + private List data; + + @AllArgsConstructor + @Builder + @Data + public static class DataBean{ + private String successes; + private List errors; + + @AllArgsConstructor + @Builder + @Data + public static class ErrorsBean{ + @SerializedName("order_id") + private String orderId; + @SerializedName("err_code") + private Long errCode; + @SerializedName("err_msg") + private String errMsg; + } + } + +} diff --git a/src/main/java/com/huobi/api/response/usdt/trade/SwapTrackHisordersResponse.java b/src/main/java/com/huobi/api/response/usdt/trade/SwapTrackHisordersResponse.java new file mode 100644 index 0000000..e0e17e4 --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/trade/SwapTrackHisordersResponse.java @@ -0,0 +1,96 @@ +package com.huobi.api.response.usdt.trade; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@AllArgsConstructor +@Builder +@Data +public class SwapTrackHisordersResponse { + private String status; + private Long ts; + private List data; + + @AllArgsConstructor + @Builder + @Data + public static class DataBean{ + @SerializedName("total_page") + private Integer totalPage; + @SerializedName("total_size") + private Integer totalSize; + @SerializedName("current_page") + private Integer currentPage; + private List orders; + + @AllArgsConstructor + @Builder + @Data + public static class OrdersBean{ + private String symbol; + @SerializedName("contract_code") + private String contractCode; + private BigDecimal volume; + @SerializedName("order_type") + private Integer orderType; + private String direction; + private String offset; + @SerializedName("lever_rate") + private Integer leverRate; + @SerializedName("order_id") + private Long orderId; + @SerializedName("order_id_str") + private String orderIdStr; + @SerializedName("order_source") + private String orderSource; + @SerializedName("created_at") + private Long createdAt; + @SerializedName("update_time") + private Long updateTime; + @SerializedName("order_price_type") + private String orderPriceType; + private Integer status; + @SerializedName("canceled_at") + private Long canceledAt; + @SerializedName("fail_code") + private Integer failCode; + @SerializedName("fail_reason") + private String failReason; + @SerializedName("callback_rate") + private BigDecimal callbackRate; + @SerializedName("active_price") + private BigDecimal activePrice; + @SerializedName("is_active") + private Integer isActive; + @SerializedName("market_limit_price") + private BigDecimal marketLimitPrice; + @SerializedName("formula_price") + private BigDecimal formulaPrice; + @SerializedName("real_volume") + private BigDecimal realVolume; + @SerializedName("triggered_price") + private BigDecimal triggeredPrice; + @SerializedName("relation_order_id") + private String relationOrderId; + private String pair; + @SerializedName("business_type") + private String businessType; + @SerializedName("contract_type") + private String contractType; + @SerializedName("trade_partition") + private String tradePartition; + @SerializedName("reduce_only") + private String reduceOnly; + @SerializedName("margin_mode") + private String marginMode; + @SerializedName("margin_account") + private String marginAccount; + } + + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/trade/SwapTrackOpenordersResponse.java b/src/main/java/com/huobi/api/response/usdt/trade/SwapTrackOpenordersResponse.java new file mode 100644 index 0000000..9fe2ae1 --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/trade/SwapTrackOpenordersResponse.java @@ -0,0 +1,73 @@ +package com.huobi.api.response.usdt.trade; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@AllArgsConstructor +@Builder +@Data +public class SwapTrackOpenordersResponse { + private String status; + private Long ts; + private List data; + + @AllArgsConstructor + @Builder + @Data + public static class DataBean{ + @SerializedName("total_page") + private Integer totalPage; + @SerializedName("total_size") + private Integer totalSize; + @SerializedName("current_page") + private Integer currentPage; + private List orders; + + @AllArgsConstructor + @Builder + @Data + public static class OrdersBean{ + private String symbol; + @SerializedName("contract_code") + private String contractCode; + private BigDecimal volume; + @SerializedName("order_type") + private Integer orderType; + private String direction; + private String offset; + @SerializedName("lever_rate") + private Integer leverRate; + @SerializedName("order_id") + private Long orderId; + @SerializedName("order_id_str") + private String orderIdStr; + @SerializedName("order_source") + private String orderSource; + @SerializedName("created_at") + private Long createdAt; + @SerializedName("order_price_type") + private String orderPriceType; + private Integer status; + @SerializedName("callback_rate") + private BigDecimal callbackRate; + @SerializedName("active_price") + private BigDecimal activePrice; + @SerializedName("is_active") + private Integer isActive; + private String pair; + @SerializedName("business_type") + private String businessType; + @SerializedName("contract_type") + private String contractType; + @SerializedName("trade_partition") + private String tradePartition; + @SerializedName("reduce_only") + private String reduceOnly; + } + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/trade/SwapTrackOrderResponse.java b/src/main/java/com/huobi/api/response/usdt/trade/SwapTrackOrderResponse.java new file mode 100644 index 0000000..36e9358 --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/trade/SwapTrackOrderResponse.java @@ -0,0 +1,28 @@ +package com.huobi.api.response.usdt.trade; + + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.util.List; + +@AllArgsConstructor +@Builder +@Data +public class SwapTrackOrderResponse { + private String status; + private Long ts; + private List data; + + @AllArgsConstructor + @Builder + @Data + public static class DataBean{ + @SerializedName("order_id") + private Long orderId; + @SerializedName("order_id_str") + private String orderIdStr; + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/trade/SwapTriggerCancelResponse.java b/src/main/java/com/huobi/api/response/usdt/trade/SwapTriggerCancelResponse.java new file mode 100644 index 0000000..32fd712 --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/trade/SwapTriggerCancelResponse.java @@ -0,0 +1,47 @@ +package com.huobi.api.response.usdt.trade; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.util.List; + +@Data +@AllArgsConstructor +@Builder +public class SwapTriggerCancelResponse { + /** + * "status":"ok", + * "data":{"errors":[],"successes":"4697"}, + * "ts":1601021769369 + */ + private String status; + private Long ts; + private List data; + + @Builder + @AllArgsConstructor + @Data + public static class DataBean { + + /** + * "errors":[], + * "successes":"4697" + */ + private String successes; + private List errors; + + @Builder + @AllArgsConstructor + @Data + public static class ErrorsBean { + @SerializedName("order_id") + private String orderId; + @SerializedName("err_code") + private Long errCode; + @SerializedName("err_msg") + private String errMsg; + } + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/trade/SwapTriggerCancelallResponse.java b/src/main/java/com/huobi/api/response/usdt/trade/SwapTriggerCancelallResponse.java new file mode 100644 index 0000000..a94de2b --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/trade/SwapTriggerCancelallResponse.java @@ -0,0 +1,53 @@ +package com.huobi.api.response.usdt.trade; + + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.util.List; + +@Data +@AllArgsConstructor +@Builder +public class SwapTriggerCancelallResponse { + /** + * "status":"ok", + * "data":{"errors":[],"successes":"4696"}, + * "ts":1601021509092 + */ + private String status; + private Long ts; + private List data; + + @Builder + @AllArgsConstructor + @Data + public static class DataBean { + /** + * "errors":[], + * "successes":"4696" + */ + private String successes; + private List errors; + + @Data + @AllArgsConstructor + @Builder + public static class ErrorsBean { + /** + * "order_id":"3733", + * "err_code":1056, + * "err_msg":"In settlement. Your order can’t be placed/withdrew currently." + */ + @SerializedName("order_id") + private String orderId; + @SerializedName("err_code") + private Long errCode; + @SerializedName("err_msg") + private String errMsg; + } + } + +} diff --git a/src/main/java/com/huobi/api/response/usdt/trade/SwapTriggerHisordersResponse.java b/src/main/java/com/huobi/api/response/usdt/trade/SwapTriggerHisordersResponse.java new file mode 100644 index 0000000..f511322 --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/trade/SwapTriggerHisordersResponse.java @@ -0,0 +1,128 @@ +package com.huobi.api.response.usdt.trade; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +@Builder +public class SwapTriggerHisordersResponse { + /** + * "status":"ok", + * "data":{"orders":[{"symbol":"BTC","contract_code":"BTC-USDT","trigger_type":"le","volume":1.000000000000000000,"order_type":1,"direction":"buy","offset":"open","lever_rate":5,"order_id":3732,"order_id_str":"3732","relation_order_id":"-1","order_price_type":"limit","status":6,"order_source":"api","trigger_price":377.000000000000000000,"triggered_price":null,"order_price":377.000000000000000000,"created_at":1600918640191,"triggered_at":null,"order_insert_at":0,"canceled_at":1600918653036,"fail_code":null,"fail_reason":null}],"total_page":3,"current_page":1,"total_size":3}, + * "ts":1601021858599 + */ + private String status; + private Long ts; + private List data; + + @Data + @AllArgsConstructor + @Builder + public static class DataBean { + /** + * "orders":[{"symbol":"BTC","contract_code":"BTC-USDT","trigger_type":"le","volume":1.000000000000000000,"order_type":1,"direction":"buy","offset":"open","lever_rate":5,"order_id":3732,"order_id_str":"3732","relation_order_id":"-1","order_price_type":"limit","status":6,"order_source":"api","trigger_price":377.000000000000000000,"triggered_price":null,"order_price":377.000000000000000000,"created_at":1600918640191,"triggered_at":null,"order_insert_at":0,"canceled_at":1600918653036,"fail_code":null,"fail_reason":null}], + * "total_page":3, + * "current_page":1, + * "total_size":3 + */ + + @SerializedName("total_page") + private Integer totalPage; + @SerializedName("total_size") + private Integer totalSize; + @SerializedName("current_page") + private Integer currentPage; + private List orders; + + @Data + @AllArgsConstructor + @Builder + public static class OrdersBean { + /** + * "symbol":"BTC", + * "contract_code":"BTC-USDT", + * "trigger_type":"le", + * "volume":1, + * "order_type":1, + * "direction":"buy", + * "offset":"open", + * "lever_rate":5, + * "order_id":3732, + * "order_id_str":"3732", + * "relation_order_id":"-1", + * "order_price_type":"limit", + * "status":6, + * "order_source":"api", + * "trigger_price":377, + * "triggered_price":null, + * "order_price":377, + * "created_at":1600918640191, + * "triggered_at":null, + * "order_insert_at":0, + * "canceled_at":1600918653036, + * "fail_code":null, + * "fail_reason":null, + * "margin_mode":"isolated", + * "margin_account":"BTC-USDT" + */ + + private String symbol; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("trigger_type") + private String triggerType; + private BigDecimal volume; + @SerializedName("order_type") + private Integer orderType; + private String direction; + private String offset; + @SerializedName("lever_rate") + private Integer leverRate; + @SerializedName("order_id") + private BigDecimal orderId; + @SerializedName("order_id_str") + private String orderIdStr; + @SerializedName("relation_order_id") + private String relationOrderId; + @SerializedName("order_price_type") + private String orderPriceType; + private Integer status; + @SerializedName("order_source") + private String orderSource; + @SerializedName("trigger_price") + private BigDecimal triggerPrice; + @SerializedName("triggered_price") + private BigDecimal triggeredPrice; + @SerializedName("order_price") + private BigDecimal orderPrice; + @SerializedName("created_at") + private Long createdAt; + @SerializedName("triggered_at") + private Long triggeredAt; + @SerializedName("order_insert_at") + private Long orderInsertAt; + @SerializedName("canceled_at") + private Long canceledAt; + @SerializedName("fail_code") + private Integer failCode; + @SerializedName("fail_reason") + private String failReason; + @SerializedName("margin_mode") + private String marginMode; + @SerializedName("margin_account") + private String marginAccount; + @SerializedName("update_time") + private Long updateTime; + @SerializedName("trade_partition") + private String tradePartition; + @SerializedName("reduce_only") + private String reduceOnly; + } + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/trade/SwapTriggerOpenordersResponse.java b/src/main/java/com/huobi/api/response/usdt/trade/SwapTriggerOpenordersResponse.java new file mode 100644 index 0000000..b2ff51c --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/trade/SwapTriggerOpenordersResponse.java @@ -0,0 +1,106 @@ +package com.huobi.api.response.usdt.trade; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +@Builder +public class SwapTriggerOpenordersResponse { + /** + * "status":"ok", + * "data":{"orders":[{"symbol":"BTC","contract_code":"BTC-USDT","trigger_type":"le","volume":10.000000000000000000,"order_type":1,"direction":"buy","offset":"open","lever_rate":5,"order_id":3734,"order_id_str":"3734","order_source":"web","trigger_price":10300.000000000000000000,"order_price":10300.000000000000000000,"created_at":1600918851407,"order_price_type":"limit","status":2},{"symbol":"BTC","contract_code":"BTC-USDT","trigger_type":"le","volume":1.000000000000000000,"order_type":1,"direction":"buy","offset":"open","lever_rate":5,"order_id":3733,"order_id_str":"3733","order_source":"api","trigger_price":377.000000000000000000,"order_price":377.000000000000000000,"created_at":1600918780316,"order_price_type":"limit","status":2}],"total_page":1,"current_page":1,"total_size":2}, + * "ts":1601021973968 + */ + private String status; + private Long ts; + private List data; + + @Data + @AllArgsConstructor + @Builder + public static class DataBean { + /** + * "orders":[{"symbol":"BTC","contract_code":"BTC-USDT","trigger_type":"le","volume":10.000000000000000000,"order_type":1,"direction":"buy","offset":"open","lever_rate":5,"order_id":3734,"order_id_str":"3734","order_source":"web","trigger_price":10300.000000000000000000,"order_price":10300.000000000000000000,"created_at":1600918851407,"order_price_type":"limit","status":2},{"symbol":"BTC","contract_code":"BTC-USDT","trigger_type":"le","volume":1.000000000000000000,"order_type":1,"direction":"buy","offset":"open","lever_rate":5,"order_id":3733,"order_id_str":"3733","order_source":"api","trigger_price":377.000000000000000000,"order_price":377.000000000000000000,"created_at":1600918780316,"order_price_type":"limit","status":2}], + * "total_page":1, + * "current_page":1, + * "total_size":2 + */ + + @SerializedName("total_page") + private Integer totalPage; + @SerializedName("total_size") + private Integer totalSize; + @SerializedName("current_page") + private Integer currentPage; + private List orders; + + @Data + @AllArgsConstructor + @Builder + public static class OrdersBean { + /** + * "symbol":"BTC", + * "contract_code":"BTC-USDT", + * "trigger_type":"le", + * "volume":1, + * "order_type":1, + * "direction":"buy", + * "offset":"open", + * "lever_rate":5, + * "order_id":3733, + * "order_id_str":"3733", + * "order_source":"api", + * "trigger_price":377, + * "order_price":377, + * "created_at":1600918780316, + * "order_price_type":"limit", + * "status":2, + * "margin_mode":"isolated", + * "margin_account":"BTC-USDT" + */ + + private String symbol; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("trigger_type") + private String triggerType; + private BigDecimal volume; + @SerializedName("order_type") + private Integer orderType; + private String direction; + private String offset; + @SerializedName("lever_rate") + private Integer leverRate; + @SerializedName("order_id") + private Long orderId; + @SerializedName("order_id_str") + private String orderIdStr; + @SerializedName("order_source") + private String orderSource; + @SerializedName("trigger_price") + private BigDecimal triggerPrice; + @SerializedName("order_price") + private BigDecimal orderPrice; + @SerializedName("created_at") + private Long createdAt; + @SerializedName("order_price_type") + private String orderPriceType; + private Integer status; + @SerializedName("margin_mode") + private String marginMode; + @SerializedName("margin_account") + private String marginAccount; + @SerializedName("trade_partition") + private String tradePartition; + @SerializedName("reduce_only") + private String reduceOnly; + } + + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/trade/SwapTriggerOrderResponse.java b/src/main/java/com/huobi/api/response/usdt/trade/SwapTriggerOrderResponse.java new file mode 100644 index 0000000..b670f28 --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/trade/SwapTriggerOrderResponse.java @@ -0,0 +1,38 @@ +package com.huobi.api.response.usdt.trade; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.util.List; + +@Builder +@Data +@AllArgsConstructor +public class SwapTriggerOrderResponse { + + /** + * "status":"ok", + * "data":{"order_id":4696,"order_id_str":"4696"}, + * "ts":1601021412709 + */ + + private String status; + private Long ts; + private List data; + + @AllArgsConstructor + @Data + public static class DataBean { + /** + * "order_id":4696, + * "order_id_str":"4696" + */ + + @SerializedName("order_id") + private Long orderId; + @SerializedName("order_id_str") + private String orderIdStr; + } +} diff --git a/src/main/java/com/huobi/api/response/usdt/transfer/UsdtSwapTransferResponse.java b/src/main/java/com/huobi/api/response/usdt/transfer/UsdtSwapTransferResponse.java new file mode 100644 index 0000000..59dfbef --- /dev/null +++ b/src/main/java/com/huobi/api/response/usdt/transfer/UsdtSwapTransferResponse.java @@ -0,0 +1,23 @@ +package com.huobi.api.response.usdt.transfer; + +import lombok.AllArgsConstructor; +import lombok.Data; + +@Data +@AllArgsConstructor +public class UsdtSwapTransferResponse { + + /** + * 参数名称 是否必须 类型 描述 取值范围 + * success true string 状态 true/false + * data true long 生成的划转订单id + * code true long 响应码 + * message true string 响应信息 + */ + + private String success; + private Long data; + private Long code; + private String message; + +} diff --git a/src/main/java/com/huobi/api/service/coin_futures/account/AccountAPIService.java b/src/main/java/com/huobi/api/service/coin_futures/account/AccountAPIService.java new file mode 100644 index 0000000..393dad2 --- /dev/null +++ b/src/main/java/com/huobi/api/service/coin_futures/account/AccountAPIService.java @@ -0,0 +1,50 @@ +package com.huobi.api.service.coin_futures.account; + + + +import com.huobi.api.request.coin_futures.account.*; + +import com.huobi.api.response.coin_futures.account.*; + +public interface AccountAPIService { + ContractBalanceValuationResponse getContractBalanceValuation(String ValuationAsset);// 1.获取账户总资产估值 + ContractAccountInfoResponse getContractAccountInfo(String symbol);// 2.获取用户账户信息 + + ContractPositionInfoResponse getContractPositionInfo(String symbol);// 3.获取用户持仓信息 + + ContractSubAuthResponse getContractSubAuth(String subUid,Integer subAuth);// 4、批量设置子账户交易权限 + + ContractSubAuthListResponse getContractSubAuthList(ContractSubAuthListRequest request);// 5.查询子账户交易权限 + + ContractSubAccountListResponse getContractSubAccountList(String symbol, String direct, Long fromId);// 6.查询母账户下所有子账户资产信息 + + ContractSubAccountInfoListResponse getContractSubAccountInfoList(ContractSubAccountInfoListRequest request);// 7、批量获取子账户资产信息 + + ContractSubAccountInfoResponse getContractSubAccountInfo(String symbol, Long subUid);// 8.查询单个子账户资产信息 + + ContractSubPositionInfoResponse getContractSubPositionInfo(String symbol, Long subUid);// 9.查询单个子账户持仓信息 + + ContractFinancialRecordV3Response getContractFinancialRecordV3(ContractFinancialRecordV3Request request);// 10.查询用户财务记录(新) + + ContractFinancialRecordExactV3Response getContractFinancialRecordExactV3(ContractFinancialRecordExactV3Request request);// 11.组合查询用户财务记录(新) + + ContractUserSettlementRecordsResponse getContractUserSettlementRecords(ContractUserSettlementRecordsRequest request);// 12、查询用户结算记录 + + ContractOrderLimitResponse getContractOrderLimitResponse(String symbol, String orderPriceType);// 13.查询用户当前的下单量限制 + + ContractFeeResponse getContractFeeResponse(String symbol);// 14.查询用户当前的手续费费率 + + ContractTransferLimitResponse getContractTransferLimitResponse(String symbol);// 15.查询用户当前的划转限制 + + ContractPositionLimitResponse getContractPositionLimitResponse(String symbol);// 16.用户持仓量限制的查询 + + ContractAccountPositionInfoResponse getContractAccountPositionInfo(String symbol);// 17、查询用户账户和持仓信息 + + ContractMasterSubTransferResponse getContractMasterSubTransfer(ContractMasterSubTransferRequest request);// 18、母子账户划转 + + ContractMasterSubTransferRecordResponse getContractMasterSubTransferRecord(ContractMasterSubTransferRecordRequest request);// 19、获取母账户下的所有母子账户划转记录 + + ContractApiTradingStatusResponse getContractApiTradingStatus();// 20、获取用户的API指标禁用信息 + + ContractAvailableLevelRateResponse getContractAvailableLevelRate(String symbol);// 21、查询用户可用杠杆倍数 +} diff --git a/src/main/java/com/huobi/api/service/coin_futures/account/AccountAPIServiceImpl.java b/src/main/java/com/huobi/api/service/coin_futures/account/AccountAPIServiceImpl.java new file mode 100644 index 0000000..8d8a799 --- /dev/null +++ b/src/main/java/com/huobi/api/service/coin_futures/account/AccountAPIServiceImpl.java @@ -0,0 +1,522 @@ +package com.huobi.api.service.coin_futures.account; + +import com.alibaba.fastjson.JSON; +import com.huobi.api.constants.HuobiFutureAPIConstants; +import com.huobi.api.exception.ApiException; + +import com.huobi.api.request.coin_futures.account.*; + +import com.huobi.api.response.coin_futures.account.*; +import com.huobi.api.util.HbdmHttpClient; +import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.HashMap; +import java.util.Map; + + +public class AccountAPIServiceImpl implements AccountAPIService { + + String api_key = ""; // huobi申请的apiKey + String secret_key = ""; // huobi申请的secretKey +// 这里的sign代表着是使用hmac256签名方法还是Ed25519签名方法。这里的key和secret代表了公钥和私钥。也就是hmac签名里面的accesskey和secretkey。在ed25519签名就是publickey和privatekey +// The sign indicates whether to use the hmac256 signature method or the Ed25519 signature method.Here key and secret stand for public and private keys. The accesskey and secretkey in the hmac signature. In ed25519, signatures are PublicKeys and privateKeys + + String sign = "256"; + String url_prex = "https://api.hbdm.com"; + + Logger logger = LoggerFactory.getLogger(getClass()); + + public AccountAPIServiceImpl(String api_key, String secret_key) { + this.api_key = api_key; + this.secret_key = secret_key; + } + + @Override + public ContractAccountInfoResponse getContractAccountInfo(String symbol) { + String body; + try { + Map params = new HashMap<>(); + if (StringUtils.isNotEmpty(symbol)) { + params.put("symbol", symbol.toUpperCase()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiFutureAPIConstants.CONTRACT_ACCOUNT_INFO, params,sign); + ContractAccountInfoResponse response = JSON.parseObject(body, ContractAccountInfoResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public ContractPositionInfoResponse getContractPositionInfo(String symbol) { + String body; + try { + Map params = new HashMap<>(); + if (StringUtils.isNotEmpty(symbol)) { + params.put("symbol", symbol.toUpperCase()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiFutureAPIConstants.CONTRACT_POSITION_INFO, params,sign); + ContractPositionInfoResponse response = JSON.parseObject(body, ContractPositionInfoResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public ContractSubAccountListResponse getContractSubAccountList(String symbol, String direct, Long fromId) { + String body; + try { + Map params = new HashMap<>(); + if (StringUtils.isNotEmpty(symbol)) { + params.put("symbol", symbol.toUpperCase()); + } + if (StringUtils.isNotEmpty(direct)) { + params.put("direct", direct); + } + if (fromId != null) { + params.put("from_id", fromId); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiFutureAPIConstants.CONTRACT_SUB_ACCOUNT_LIST, params,sign); + ContractSubAccountListResponse response = JSON.parseObject(body, ContractSubAccountListResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public ContractSubAccountInfoResponse getContractSubAccountInfo(String symbol, Long subUid) { + String body; + try { + Map params = new HashMap<>(); + if (StringUtils.isNotEmpty(symbol)) { + params.put("symbol", symbol.toUpperCase()); + } + params.put("sub_uid", subUid); + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiFutureAPIConstants.CONTRACT_SUB_ACCOUNT_INFO, params,sign); + ContractSubAccountInfoResponse response = JSON.parseObject(body, ContractSubAccountInfoResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public ContractSubPositionInfoResponse getContractSubPositionInfo(String symbol, Long subUid) { + String body; + try { + Map params = new HashMap<>(); + if (StringUtils.isNotEmpty(symbol)) { + params.put("symbol", symbol.toUpperCase()); + } + params.put("sub_uid", subUid); + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiFutureAPIConstants.CONTRACT_SUB_POSITION_INFO, params,sign); + ContractSubPositionInfoResponse response = JSON.parseObject(body, ContractSubPositionInfoResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public ContractOrderLimitResponse getContractOrderLimitResponse(String symbol, String orderPriceType) { + String body; + try { + Map params = new HashMap<>(); + if (StringUtils.isNotEmpty(symbol)) { + params.put("symbol", symbol.toUpperCase()); + } + params.put("order_price_type", orderPriceType); + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiFutureAPIConstants.CONTRACT_ORDER_LIMIT, params,sign); + ContractOrderLimitResponse response = JSON.parseObject(body, ContractOrderLimitResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public ContractFeeResponse getContractFeeResponse(String symbol) { + String body; + try { + Map params = new HashMap<>(); + if (StringUtils.isNotEmpty(symbol)) { + params.put("symbol", symbol.toUpperCase()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiFutureAPIConstants.CONTRACT_FEE, params,sign); + ContractFeeResponse response = JSON.parseObject(body, ContractFeeResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public ContractTransferLimitResponse getContractTransferLimitResponse(String symbol) { + String body; + try { + Map params = new HashMap<>(); + if (StringUtils.isNotEmpty(symbol)) { + params.put("symbol", symbol.toUpperCase()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiFutureAPIConstants.CONTRACT_TRANSFER_LIMIT, params,sign); + ContractTransferLimitResponse response = JSON.parseObject(body, ContractTransferLimitResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public ContractPositionLimitResponse getContractPositionLimitResponse(String symbol) { + String body; + try { + Map params = new HashMap<>(); + if (StringUtils.isNotEmpty(symbol)) { + params.put("symbol", symbol.toUpperCase()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiFutureAPIConstants.CONTRACT_POSITION_LIMIT, params,sign); + ContractPositionLimitResponse response = JSON.parseObject(body, ContractPositionLimitResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public ContractMasterSubTransferResponse getContractMasterSubTransfer(ContractMasterSubTransferRequest request) { + String body; + try { + Map params = new HashMap<>(); + params.put("sub_uid", request.getSubUid()); + params.put("symbol", request.getSymbol().toUpperCase()); + params.put("amount", request.getAmount()); + params.put("type", request.getType()); + params.put("client_order_id", request.getClientOrderId()); + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiFutureAPIConstants.CONTRACT_MASTER_SUB_TRANSFER, params,sign); + ContractMasterSubTransferResponse response = JSON.parseObject(body, ContractMasterSubTransferResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public ContractAccountPositionInfoResponse getContractAccountPositionInfo(String symbol) { + String body; + try { + Map params = new HashMap<>(); + params.put("symbol", symbol.toUpperCase()); + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiFutureAPIConstants.CONTRACT_ACCOUNT_POSITION_INFO, params,sign); + ContractAccountPositionInfoResponse response = JSON.parseObject(body, ContractAccountPositionInfoResponse.class); + logger.debug("body:{}", body); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public ContractUserSettlementRecordsResponse getContractUserSettlementRecords(ContractUserSettlementRecordsRequest request) { + String body; + try { + Map params = new HashMap<>(); + params.put("symbol", request.getSymbol().toUpperCase()); + if (request.getStartTime() != null) { + params.put("start_time", request.getStartTime()); + } + if (request.getEndTime() != null) { + params.put("end_time", request.getEndTime()); + } + if (request.getPageIndex() != null) { + params.put("page_index", request.getPageIndex()); + } + if (request.getPageSize() != null) { + params.put("page_size", request.getPageSize()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiFutureAPIConstants.CONTRACT_USER_SETTLEMENT_RECORDS, params,sign); + ContractUserSettlementRecordsResponse response = JSON.parseObject(body, ContractUserSettlementRecordsResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public ContractMasterSubTransferRecordResponse getContractMasterSubTransferRecord(ContractMasterSubTransferRecordRequest request) { + String body; + try { + Map params = new HashMap<>(); + params.put("symbol", request.getSymbol().toUpperCase()); + if (request.getTransferType() != null) { + params.put("transfer_type", request.getTransferType()); + } + params.put("create_date", request.getCreateDate()); + if (request.getPageIndex() != null) { + params.put("page_index", request.getPageIndex()); + } + if (request.getPageSize() != null) { + params.put("page_size", request.getPageSize()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiFutureAPIConstants.CONTRACT_MASTER_SUB_TRANSFER_RECORD, params,sign); + ContractMasterSubTransferRecordResponse response = JSON.parseObject(body, ContractMasterSubTransferRecordResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public ContractApiTradingStatusResponse getContractApiTradingStatus() { + String body; + Map params = new HashMap<>(); + try { + body = HbdmHttpClient.getInstance().doGetKey(api_key, secret_key, url_prex + HuobiFutureAPIConstants.CONTRACT_API_TRADING_STATUS, params); + logger.debug("body:{}", body); + ContractApiTradingStatusResponse response = JSON.parseObject(body, ContractApiTradingStatusResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public ContractAvailableLevelRateResponse getContractAvailableLevelRate(String symbol) { + String body; + try { + Map params = new HashMap<>(); + params.put("symbol", symbol.toUpperCase()); + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiFutureAPIConstants.CONTRACT_AVAILABLE_LEVEL_RATE, params,sign); + ContractAvailableLevelRateResponse response = JSON.parseObject(body, ContractAvailableLevelRateResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public ContractSubAuthResponse getContractSubAuth(String subUid, Integer subAuth) { + String body; + try { + Map params = new HashMap<>(); + params.put("sub_uid", subUid); + params.put("sub_auth",subAuth); + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiFutureAPIConstants.CONTRACT_SUB_AUTH, params,sign); + logger.debug("body:{}",body); + ContractSubAuthResponse response = JSON.parseObject(body, ContractSubAuthResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public ContractSubAccountInfoListResponse getContractSubAccountInfoList(ContractSubAccountInfoListRequest request) { + String body; + try { + Map params = new HashMap<>(); + if (StringUtils.isNotEmpty(request.getSymbol())){ + params.put("symbol",request.getSymbol().toUpperCase()); + } + if (request.getPageIndex()!=null){ + params.put("page_index",request.getPageIndex()); + } + if (request.getPageSize()!=null){ + params.put("page_size",request.getPageSize()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiFutureAPIConstants.CONTRACT_SUB_ACCOUNT_INFO_LIST, params,sign); + logger.debug("body:{}",body); + ContractSubAccountInfoListResponse response = JSON.parseObject(body, ContractSubAccountInfoListResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public ContractBalanceValuationResponse getContractBalanceValuation(String ValuationAsset) { + String body; + try { + Map params = new HashMap<>(); + if (StringUtils.isNotEmpty(ValuationAsset)){ + params.put("valuation_asset",ValuationAsset.toUpperCase()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiFutureAPIConstants.CONTRACT_BALANCE_VALUATION, params,sign); + logger.debug("body:{}",body); + ContractBalanceValuationResponse response = JSON.parseObject(body, ContractBalanceValuationResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public ContractFinancialRecordV3Response getContractFinancialRecordV3(ContractFinancialRecordV3Request request) { + String body; + try { + Map params = new HashMap<>(); + if (request.getStartTime() != null) { + params.put("start_time", request.getStartTime()); + } + if (request.getEndTime() != null) { + params.put("end_time", request.getEndTime()); + } + if (StringUtils.isNotEmpty(request.getDirect())) { + params.put("direct", request.getDirect()); + } + if (request.getFromId() != null) { + params.put("from_id", request.getFromId()); + } + if (StringUtils.isNotEmpty(request.getType())) { + params.put("type", request.getType()); + } + if (StringUtils.isNotEmpty(request.getSymbol())) { + params.put("symbol", request.getSymbol()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiFutureAPIConstants.CONTRACT_FINANCIAL_RECORD_V3, params,sign); + logger.debug("body:{}",body); + ContractFinancialRecordV3Response response = JSON.parseObject(body, ContractFinancialRecordV3Response.class); + if (response.getCode() != null && response.getCode() == 200) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public ContractFinancialRecordExactV3Response getContractFinancialRecordExactV3(ContractFinancialRecordExactV3Request request) { + String body; + try { + Map params = new HashMap<>(); + if (request.getStartTime() != null) { + params.put("start_time", request.getStartTime()); + } + if (request.getEndTime() != null) { + params.put("end_time", request.getEndTime()); + } + if (StringUtils.isNotEmpty(request.getDirect())) { + params.put("direct", request.getDirect()); + } + if (request.getFromId() != null) { + params.put("from_id", request.getFromId()); + } + if (StringUtils.isNotEmpty(request.getType())) { + params.put("type", request.getType()); + } + if (StringUtils.isNotEmpty(request.getSymbol())) { + params.put("symbol", request.getSymbol()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiFutureAPIConstants.CONTRACT_FINANCIAL_RECORD_EXACT_V3, params,sign); + logger.debug("body:{}",body); + ContractFinancialRecordExactV3Response response = JSON.parseObject(body, ContractFinancialRecordExactV3Response.class); + if (response.getCode() != null && response.getCode() == 200) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public ContractSubAuthListResponse getContractSubAuthList(ContractSubAuthListRequest request) { + String body; + try { + Map params = new HashMap<>(); + if (request.getStartTime() != null) { + params.put("start_time", request.getStartTime()); + } + if (request.getEndTime() != null) { + params.put("end_time", request.getEndTime()); + } + if (StringUtils.isNotEmpty(request.getDirect())) { + params.put("direct", request.getDirect()); + } + if (request.getFromId() != null) { + params.put("from_id", request.getFromId()); + } + if (StringUtils.isNotEmpty(request.getSubUid())) { + params.put("sub_uid", request.getSubUid()); + } + body = HbdmHttpClient.getInstance().doGetKey(api_key, secret_key, url_prex + HuobiFutureAPIConstants.CONTRACT_SUB_AUTH_LIST, params); + logger.debug("body:{}",body); + ContractSubAuthListResponse response = JSON.parseObject(body, ContractSubAuthListResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } +} diff --git a/src/main/java/com/huobi/api/service/coin_futures/market/MarketAPIService.java b/src/main/java/com/huobi/api/service/coin_futures/market/MarketAPIService.java new file mode 100644 index 0000000..64507df --- /dev/null +++ b/src/main/java/com/huobi/api/service/coin_futures/market/MarketAPIService.java @@ -0,0 +1,30 @@ +package com.huobi.api.service.coin_futures.market; + +import com.huobi.api.enums.TimePeriodTypeEnum; +import com.huobi.api.request.coin_futures.account.ContractSettlementRecordsRequest; +import com.huobi.api.request.coin_futures.market.ContractLiquidationOrdersV3Request; +import com.huobi.api.response.coin_futures.market.*; +import com.huobi.api.response.usdt.market.BatchMergedV2Response; + + +public interface MarketAPIService { + MarketDepthResponse getMarketDepth(String symbol, String contractType);// 1.获取行情深度数据 + + MarketBboResponse getMarketBbo(String symbol);// 2.获取市场最优挂单 + + MarketHistoryKlineResponse getMarketHistoryKline(String symbol, String period, Integer size, Long from, Long to);// 3.获取K线数据 + + MarkPriceKlineResponse getMarkPriceKline(String symbol,String period,Integer size);// 4.获取标记价格的K线数据 + + MarketDetailMergedResponse getMarketDetailMerged(String symbol);// 5.获取聚合行情 + + BatchMergedV2Response getBatchMergedV2(String symbol);// 6.批量获取聚合行情(V2) + + MarketTradeResponse getMarketTrade(String symbol);// 7.获取市场最近成交记录 + + MarketHistoryTradeResponse getMarketHistoryTrade(String symbol, Integer size);// 8.批量获取最近的交易记录 + + MarketHistoryIndexResponse getMarketHistoryIndex(String symbol,String period,Integer size);// 9.获取指数K线数据 + + MarketHistoryBasisResponse getMarketHistoryBasis(String symbol,String period,String basisPriceType,Integer size);// 10.获取基差数据 +} diff --git a/src/main/java/com/huobi/api/service/coin_futures/market/MarketAPIServiceImpl.java b/src/main/java/com/huobi/api/service/coin_futures/market/MarketAPIServiceImpl.java new file mode 100644 index 0000000..44bcc61 --- /dev/null +++ b/src/main/java/com/huobi/api/service/coin_futures/market/MarketAPIServiceImpl.java @@ -0,0 +1,256 @@ +package com.huobi.api.service.coin_futures.market; + +import com.alibaba.fastjson.JSON; +import com.huobi.api.constants.HuobiFutureAPIConstants; +import com.huobi.api.enums.TimePeriodTypeEnum; +import com.huobi.api.exception.ApiException; +import com.huobi.api.request.coin_futures.account.ContractSettlementRecordsRequest; +import com.huobi.api.request.coin_futures.market.ContractLiquidationOrdersV3Request; +import com.huobi.api.response.coin_futures.market.*; +import com.huobi.api.response.usdt.market.BatchMergedV2Response; +import com.huobi.api.util.HbdmHttpClient; +import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.HashMap; +import java.util.Map; + +public class MarketAPIServiceImpl implements MarketAPIService { + + String url_prex = "https://api.hbdm.com"; + Logger logger = LoggerFactory.getLogger(getClass()); + + @Override + public MarketDepthResponse getMarketDepth(String symbol, String type) { + String body; + try { + Map params = new HashMap<>(); + if (StringUtils.isNotEmpty(symbol)) { + params.put("symbol", symbol.toUpperCase()); + } + if (StringUtils.isNotEmpty(type)) { + params.put("type", type); + } + body = HbdmHttpClient.getInstance().doGet(url_prex + HuobiFutureAPIConstants.MARKET_DEPTH, params); + MarketDepthResponse response = JSON.parseObject(body, MarketDepthResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + + } catch (Exception e) { + body = e.getMessage(); + } + throw new ApiException(body); + } + + /** + * 获取K线数据 + * + * @param symbol 合约名称 如"BTC_CW"表示BTC当周合约,"BTC_NW"表示BTC次周合约,"BTC_CQ"表示BTC季度合约 + * @param period K线类型 1min, 5min, 15min, 30min, 60min,4hour,1day, 1mon + * @param size 获取数量 默认: 150 取值范围:[1,2000] + * @return + */ + @Override + public MarketHistoryKlineResponse getMarketHistoryKline(String symbol, String period, Integer size, Long from, Long to) { + String body; + try { + Map params = new HashMap<>(); + params.put("symbol", symbol.toUpperCase()); + params.put("period", period); + params.put("size", size); + params.put("from", from); + params.put("to", to); + body = HbdmHttpClient.getInstance().doGet(url_prex + HuobiFutureAPIConstants.MARKET_HISTORY_KLINE, params); + MarketHistoryKlineResponse response = JSON.parseObject(body, MarketHistoryKlineResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + + } catch (Exception e) { + body = e.getMessage(); + } + throw new ApiException(body); + } + + @Override + public MarketDetailMergedResponse getMarketDetailMerged(String symbol) { + String body; + try { + Map params = new HashMap<>(); + if (StringUtils.isNotEmpty(symbol)) { + params.put("symbol", symbol.toUpperCase()); + } + body = HbdmHttpClient.getInstance().doGet(url_prex + HuobiFutureAPIConstants.MARKET_DETAIL_MERGED, params); + MarketDetailMergedResponse response = JSON.parseObject(body, MarketDetailMergedResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + + } catch (Exception e) { + body = e.getMessage(); + } + throw new ApiException(body); + } + + @Override + public MarketTradeResponse getMarketTrade(String symbol) { + String body; + try { + Map params = new HashMap<>(); + if (StringUtils.isNotEmpty(symbol)) { + params.put("symbol", symbol.toUpperCase()); + } + body = HbdmHttpClient.getInstance().doGet(url_prex + HuobiFutureAPIConstants.MARKET_TRADE, params); + MarketTradeResponse response = JSON.parseObject(body, MarketTradeResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + + } catch (Exception e) { + body = e.getMessage(); + } + throw new ApiException(body); + } + + @Override + public MarketHistoryTradeResponse getMarketHistoryTrade(String symbol, Integer size) { + String body; + try { + Map params = new HashMap<>(); + if (StringUtils.isNotEmpty(symbol)) { + params.put("symbol", symbol.toUpperCase()); + } + if (size != null) { + params.put("size", size); + } + body = HbdmHttpClient.getInstance().doGet(url_prex + HuobiFutureAPIConstants.MARKET_HISTORY_TRADE, params); + MarketHistoryTradeResponse response = JSON.parseObject(body, MarketHistoryTradeResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + + } catch (Exception e) { + body = e.getMessage(); + } + throw new ApiException(body); + } + + /** + * 查询系统状态 + * + * @param symbol 如果缺省,默认返回所有品种 + * @return + */ + + + @Override + public MarketHistoryIndexResponse getMarketHistoryIndex(String symbol, String period, Integer size) { + String body; + try { + Map params = new HashMap<>(); + params.put("symbol", symbol.toUpperCase()); + params.put("period",period); + params.put("size",size); + body = HbdmHttpClient.getInstance().doGet(url_prex + HuobiFutureAPIConstants.MARKET_HISTORY_INDEX, params); + MarketHistoryIndexResponse response = JSON.parseObject(body, MarketHistoryIndexResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + + } catch (Exception e) { + body = e.getMessage(); + } + throw new ApiException(body); + } + + @Override + public MarketHistoryBasisResponse getMarketHistoryBasis(String symbol, String period, String basisPriceType, Integer size) { + String body; + try { + Map params = new HashMap<>(); + params.put("symbol", symbol.toUpperCase()); + params.put("period",period); + params.put("size",size); + if (basisPriceType!=null){ + params.put("basis_price_type",basisPriceType); + } + body = HbdmHttpClient.getInstance().doGet(url_prex + HuobiFutureAPIConstants.MARKET_HISTORY_BASIS, params); + MarketHistoryBasisResponse response = JSON.parseObject(body, MarketHistoryBasisResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + + } catch (Exception e) { + body = e.getMessage(); + } + throw new ApiException(body); + } + + @Override + public MarkPriceKlineResponse getMarkPriceKline(String symbol, String period, Integer size) { + String body; + try { + Map params = new HashMap<>(); + params.put("symbol",symbol.toUpperCase()); + params.put("period",period); + params.put("size",size); + body = HbdmHttpClient.getInstance().doGet(url_prex + HuobiFutureAPIConstants.MARK_PRICE_KLINE, params); + logger.debug("body:{}",body); + MarkPriceKlineResponse response = JSON.parseObject(body, MarkPriceKlineResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + + } catch (Exception e) { + body = e.getMessage(); + } + throw new ApiException(body); + } + + @Override + public MarketBboResponse getMarketBbo(String symbol) { + String body; + try { + Map params = new HashMap<>(); + if (StringUtils.isNotEmpty(symbol)) { + params.put("symbol", symbol.toUpperCase()); + } + body = HbdmHttpClient.getInstance().doGet(url_prex + HuobiFutureAPIConstants.MARKET_BBO, params); + logger.debug("body:{}",body); + MarketBboResponse response = JSON.parseObject(body, MarketBboResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + + } catch (Exception e) { + body = e.getMessage(); + } + throw new ApiException(body); + } + + + + @Override + public BatchMergedV2Response getBatchMergedV2(String symbol) { + String body; + try { + Map params = new HashMap<>(); + if (StringUtils.isNotEmpty(symbol)) { + params.put("symbol", symbol); + } + body = HbdmHttpClient.getInstance().doGet(url_prex + HuobiFutureAPIConstants.BATCH_MERGED_V2, params); + logger.debug("body:{}",body); + BatchMergedV2Response response = JSON.parseObject(body, BatchMergedV2Response.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + + } catch (Exception e) { + body = e.getMessage(); + } + throw new ApiException(body); + } + +} diff --git a/src/main/java/com/huobi/api/service/coin_futures/reference/ReferenceAPIService.java b/src/main/java/com/huobi/api/service/coin_futures/reference/ReferenceAPIService.java new file mode 100644 index 0000000..116ea6f --- /dev/null +++ b/src/main/java/com/huobi/api/service/coin_futures/reference/ReferenceAPIService.java @@ -0,0 +1,42 @@ +package com.huobi.api.service.coin_futures.reference; + +import com.huobi.api.enums.TimePeriodTypeEnum; +import com.huobi.api.request.coin_futures.account.ContractSettlementRecordsRequest; +import com.huobi.api.request.coin_futures.market.ContractLiquidationOrdersV3Request; +import com.huobi.api.response.coin_futures.market.*; + +public interface ReferenceAPIService { + public ContractRiskInfoResponse getContractRiskInfo(String symbol);// 1.查询合约风险准备金余额和预估分摊比例 + + public ContractInsuranceFundResponse getContractInsuranceFund(String symbol);// 2.查询合约风险准备金余额历史数据 + + public ContractAdjustfactorResponse getContractAdjustfactor(String symbol);// 3.查询平台阶梯调整系数 + + public ContractHisOpenInterestResponse getContractHisOpenInterest(String symbol, String contractType, TimePeriodTypeEnum timePeriodType, Integer size, Integer amountType);// 4.平台持仓量的查询 + + public ContractLadderMarginResponse getContractLadderMargin(String symbol);// 5.获取平台阶梯保证金 + + public ContractEliteAccountRatioResponse getContractEliteAccountRatio(String symbol, String period);// 6.精英账户多空持仓对比-账户数 + + public ContractElitePositionRatioResponse getContractElitePositionRatio(String symbol, String period);// 7.精英账户多空持仓对比-持仓量 + + public ContractLiquidationOrdersV3Response getContractLiquidationOrdersV3(ContractLiquidationOrdersV3Request request);// 8.获取强平订单(新) + + public ContractSettlementRecordsResponse getContractSettlementRecords(ContractSettlementRecordsRequest request);// 9.查询平台历史结算记录 + + public ContractPriceLimitResponse getContractPriceLimit(String symbol, String contractType, String contractCode);// 10.获取合约最高限价和最低限价 + + public ContractOpenInterestResponse getContractOpenInterest(String symbol, String contractType, String contractCode);// 11.获取当前可用合约总持仓量 + + public ContractDeliveryPriceResponse getContractDeliveryPrice(String symbol);// 12.获取预估交割价 + + public ContractEstimatedSettlementPriceResponse getContractEstimatedSettlementPriceResponse(String symbol);// 13.获取预估结算价 + + public ContractApiStateResponse getContractApiState(String symbol);// 14.查询系统状态 + + public ContractContractInfoResponse getContractContractInfo(String symbol, String contractType, String contractCode);// 15.获取合约信息 + + public ContractIndexResponse getContractIndex(String symbol);// 16.获取合约指数信息 + + public ContractQueryElementsResponse getContractQueryElements(String contractCode);// 17.合约要素 +} diff --git a/src/main/java/com/huobi/api/service/coin_futures/reference/ReferenceAPIServiceImpl.java b/src/main/java/com/huobi/api/service/coin_futures/reference/ReferenceAPIServiceImpl.java new file mode 100644 index 0000000..a952942 --- /dev/null +++ b/src/main/java/com/huobi/api/service/coin_futures/reference/ReferenceAPIServiceImpl.java @@ -0,0 +1,426 @@ +package com.huobi.api.service.coin_futures.reference; + +import com.alibaba.fastjson.JSON; +import com.huobi.api.constants.HuobiFutureAPIConstants; +import com.huobi.api.enums.TimePeriodTypeEnum; +import com.huobi.api.exception.ApiException; +import com.huobi.api.request.coin_futures.account.ContractSettlementRecordsRequest; +import com.huobi.api.request.coin_futures.market.ContractLiquidationOrdersV3Request; +import com.huobi.api.response.coin_futures.market.*; +import com.huobi.api.util.HbdmHttpClient; +import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.HashMap; +import java.util.Map; + +public class ReferenceAPIServiceImpl implements ReferenceAPIService{ + String url_prex = "https://api.hbdm.com"; + Logger logger = LoggerFactory.getLogger(getClass()); + + @Override + public ContractRiskInfoResponse getContractRiskInfo(String symbol) { + String body; + try { + Map params = new HashMap<>(); + if (StringUtils.isNotEmpty(symbol)) { + params.put("symbol", symbol); + } + body = HbdmHttpClient.getInstance().doGet(url_prex + HuobiFutureAPIConstants.CONTRACT_RISK_INFO, params); + ContractRiskInfoResponse response = JSON.parseObject(body, ContractRiskInfoResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + body = e.getMessage(); + } + throw new ApiException(body); + } + + @Override + public ContractInsuranceFundResponse getContractInsuranceFund(String symbol) { + String body; + try { + Map params = new HashMap<>(); + if (StringUtils.isNotEmpty(symbol)) { + params.put("symbol", symbol); + } + body = HbdmHttpClient.getInstance().doGet(url_prex + HuobiFutureAPIConstants.CONTRACT_INSURANCE_FUND, params); + ContractInsuranceFundResponse response = JSON.parseObject(body, ContractInsuranceFundResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + body = e.getMessage(); + } + throw new ApiException(body); + } + + @Override + public ContractAdjustfactorResponse getContractAdjustfactor(String symbol) { + String body; + try { + Map params = new HashMap<>(); + if (StringUtils.isNotEmpty(symbol)) { + params.put("symbol", symbol); + } + body = HbdmHttpClient.getInstance().doGet(url_prex + HuobiFutureAPIConstants.CONTRACT_ADJUSTFACTOR, params); + ContractAdjustfactorResponse response = JSON.parseObject(body, ContractAdjustfactorResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + + } catch (Exception e) { + body = e.getMessage(); + } + throw new ApiException(body); + } + + @Override + public ContractHisOpenInterestResponse getContractHisOpenInterest(String symbol, String contractType, TimePeriodTypeEnum timePeriodType, Integer size, Integer amountType) { + String body; + try { + Map params = new HashMap<>(); + if (StringUtils.isNotEmpty(symbol)) { + params.put("symbol", symbol); + } + if (StringUtils.isNotEmpty(contractType)) { + params.put("contract_type", contractType); + } + if (timePeriodType != null) { + params.put("period", timePeriodType.getValue()); + } + + if (size != null) { + params.put("size", size); + } + if (amountType != null) { + params.put("amount_type", amountType); + } + body = HbdmHttpClient.getInstance().doGet(url_prex + HuobiFutureAPIConstants.CONTRACT_HIS_OPEN_INTEREST, params); + ContractHisOpenInterestResponse response = JSON.parseObject(body, ContractHisOpenInterestResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + + } catch (Exception e) { + body = e.getMessage(); + } + throw new ApiException(body); + } + + @Override + public ContractLadderMarginResponse getContractLadderMargin(String symbol) { + String body; + try { + Map params = new HashMap<>(); + if (StringUtils.isNotEmpty(symbol)){ + params.put("symbol",symbol); + } + body = HbdmHttpClient.getInstance().doGet(url_prex + HuobiFutureAPIConstants.CONTRACT_LADDER_MARGIN, params); + logger.debug("body:{}",body); + ContractLadderMarginResponse response = JSON.parseObject(body, ContractLadderMarginResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + + } catch (Exception e) { + body = e.getMessage(); + } + throw new ApiException(body); + } + + @Override + public ContractEliteAccountRatioResponse getContractEliteAccountRatio(String symbol, String period) { + String body; + try { + Map params = new HashMap<>(); + params.put("symbol", symbol); + params.put("period", period); + body = HbdmHttpClient.getInstance().doGet(url_prex + HuobiFutureAPIConstants.CONTRACT_ELITE_ACCOUNT_RATIO, params); + ContractEliteAccountRatioResponse response = JSON.parseObject(body, ContractEliteAccountRatioResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + + } catch (Exception e) { + body = e.getMessage(); + } + throw new ApiException(body); + } + + @Override + public ContractElitePositionRatioResponse getContractElitePositionRatio(String symbol, String period) { + String body; + try { + Map params = new HashMap<>(); + params.put("symbol", symbol); + params.put("period", period); + body = HbdmHttpClient.getInstance().doGet(url_prex + HuobiFutureAPIConstants.CONTRACT_ELITE_POSITION_RATIO, params); + ContractElitePositionRatioResponse response = JSON.parseObject(body, ContractElitePositionRatioResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + + } catch (Exception e) { + body = e.getMessage(); + } + throw new ApiException(body); + } + + @Override + public ContractLiquidationOrdersV3Response getContractLiquidationOrdersV3(ContractLiquidationOrdersV3Request request) { + String body; + try { + Map params = new HashMap<>(); + if (request.getStartTime() != null) { + params.put("start_time", request.getStartTime()); + } + if (request.getEndTime() != null) { + params.put("end_time", request.getEndTime()); + } + if (StringUtils.isNotEmpty(request.getDirect())) { + params.put("direct", request.getDirect()); + } + if (request.getFromId() != null) { + params.put("from_id", request.getFromId()); + } + if (request.getTradeType() != null) { + params.put("trade_type", request.getTradeType()); + } + if (StringUtils.isNotEmpty(request.getSymbol())) { + params.put("symbol", request.getSymbol().toUpperCase()); + } + body = HbdmHttpClient.getInstance().doGet(url_prex + HuobiFutureAPIConstants.CONTRACT_LIQUIDATION_ORDERS_V3, params); + logger.debug("body:{}",body); + ContractLiquidationOrdersV3Response response = JSON.parseObject(body, ContractLiquidationOrdersV3Response.class); + if (response.getCode() != null && response.getCode() == 200) { + return response; + } + + } catch (Exception e) { + body = e.getMessage(); + } + throw new ApiException(body); + } + + @Override + public ContractSettlementRecordsResponse getContractSettlementRecords(ContractSettlementRecordsRequest request) { + String body; + try { + Map params = new HashMap<>(); + params.put("symbol", request.getSymbol().toUpperCase()); + if (request.getStartTime()!=null){ + params.put("start_time",request.getStartTime()); + } + if (request.getEndTime()!=null){ + params.put("end_time",request.getEndTime()); + } + if (request.getPageIndex()!=null){ + params.put("page_index",request.getPageIndex()); + } + if (request.getPageSize()!=null){ + params.put("page_size",request.getPageSize()); + } + body = HbdmHttpClient.getInstance().doGet(url_prex + HuobiFutureAPIConstants.CONTRACT_SETTLEMENT_RECORDS, params); + logger.debug("body:{}",body); + ContractSettlementRecordsResponse response = JSON.parseObject(body, ContractSettlementRecordsResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + + } catch (Exception e) { + body = e.getMessage(); + } + throw new ApiException(body); + } + + @Override + public ContractPriceLimitResponse getContractPriceLimit(String symbol, String contractType, String contractCode) { + String body; + try { + Map params = new HashMap<>(); + if (StringUtils.isNotEmpty(symbol)) { + params.put("symbol", symbol); + } + if (StringUtils.isNotEmpty(contractType)) { + params.put("contract_type", contractType); + } + if (StringUtils.isNotEmpty(symbol)) { + params.put("contract_code", contractCode); + } + body = HbdmHttpClient.getInstance().doGet(url_prex + HuobiFutureAPIConstants.CONTRACT_PRICE_LIMIT, params); + ContractPriceLimitResponse response = JSON.parseObject(body, ContractPriceLimitResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + + } catch (Exception e) { + body = e.getMessage(); + } + throw new ApiException(body); + } + + /** + * 获取当前可用合约总持仓量 + * + * @param symbol "BTC","ETH"... + * @param contractType 合约类型 (当周:"this_week", 次周:"next_week", 季度:"quarter") + * @param contractCode BTC191018 + * @return + */ + @Override + public ContractOpenInterestResponse getContractOpenInterest(String symbol, String contractType, String contractCode) { + String body; + try { + Map params = new HashMap<>(); + if (StringUtils.isNotEmpty(symbol)) { + params.put("symbol", symbol); + } + if (StringUtils.isNotEmpty(contractType)) { + params.put("contract_type", contractType); + } + if (StringUtils.isNotEmpty(contractCode)) { + params.put("contract_code", contractCode); + } + body = HbdmHttpClient.getInstance().doGet(url_prex + HuobiFutureAPIConstants.CONTRACT_OPEN_INTEREST, params); + ContractOpenInterestResponse response = JSON.parseObject(body, ContractOpenInterestResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + + } catch (Exception e) { + body = e.getMessage(); + } + throw new ApiException(body); + } + + @Override + public ContractDeliveryPriceResponse getContractDeliveryPrice(String symbol) { + String body; + try { + Map params = new HashMap<>(); + if (StringUtils.isNotEmpty(symbol)) { + params.put("symbol", symbol.toUpperCase()); + } + body = HbdmHttpClient.getInstance().doGet(url_prex + HuobiFutureAPIConstants.CONTRACT_DELIVERY_PRICE, params); + ContractDeliveryPriceResponse response = JSON.parseObject(body, ContractDeliveryPriceResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + + } catch (Exception e) { + body = e.getMessage(); + } + throw new ApiException(body); + } + + @Override + public ContractEstimatedSettlementPriceResponse getContractEstimatedSettlementPriceResponse(String symbol) { + String body; + try { + Map params = new HashMap<>(); + if (StringUtils.isNotEmpty(symbol)){ + params.put("symbol",symbol); + } + body = HbdmHttpClient.getInstance().doGet(url_prex + HuobiFutureAPIConstants.CONTRACT_ESTIMATED_SETTLEMENT_PRICE, params); + logger.debug("body:{}",body); + ContractEstimatedSettlementPriceResponse response = JSON.parseObject(body, ContractEstimatedSettlementPriceResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + + } catch (Exception e) { + body = e.getMessage(); + } + throw new ApiException(body); + } + + @Override + public ContractApiStateResponse getContractApiState(String symbol) { + String body; + try { + Map params = new HashMap<>(); + if (StringUtils.isNotEmpty(symbol)) { + params.put("symbol", symbol.toUpperCase()); + } + body = HbdmHttpClient.getInstance().doGet(url_prex + HuobiFutureAPIConstants.CONTRACT_API_STATE, params); + ContractApiStateResponse response = JSON.parseObject(body, ContractApiStateResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + + } catch (Exception e) { + body = e.getMessage(); + } + throw new ApiException(body); + } + + @Override + public ContractContractInfoResponse getContractContractInfo(String symbol, String contractType, String contractCode) { + String body; + try { + Map params = new HashMap<>(); + if (StringUtils.isNotEmpty(symbol)) { + params.put("symbol", symbol); + } + if (StringUtils.isNotEmpty(contractType)) { + params.put("contract_type", contractType); + } + if (StringUtils.isNotEmpty(symbol)) { + params.put("contract_code", contractCode); + } + body = HbdmHttpClient.getInstance().doGet(url_prex + HuobiFutureAPIConstants.CONTRACT_CONTRACT_INFO, params); + ContractContractInfoResponse response = JSON.parseObject(body, ContractContractInfoResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public ContractIndexResponse getContractIndex(String symbol) { + String body; + try { + Map params = new HashMap<>(); + if (StringUtils.isNotEmpty(symbol)) { + params.put("symbol", symbol); + } + body = HbdmHttpClient.getInstance().doGet(url_prex + HuobiFutureAPIConstants.CONTRACT_INDEX, params); + ContractIndexResponse response = JSON.parseObject(body, ContractIndexResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + + } catch (Exception e) { + body = e.getMessage(); + } + throw new ApiException(body); + } + + @Override + public ContractQueryElementsResponse getContractQueryElements(String contractCode) { + String body; + try { + Map params = new HashMap<>(); + if (StringUtils.isNotEmpty(contractCode)) { + params.put("contract_code", contractCode); + } + body = HbdmHttpClient.getInstance().doGet(url_prex + HuobiFutureAPIConstants.CONTRACT_QUERY_ELEMENTS, params); + logger.debug("body:{}",body); + ContractQueryElementsResponse response = JSON.parseObject(body, ContractQueryElementsResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + + } catch (Exception e) { + body = e.getMessage(); + } + throw new ApiException(body); + } +} diff --git a/src/main/java/com/huobi/api/service/coin_futures/strategy/StrategyAPIService.java b/src/main/java/com/huobi/api/service/coin_futures/strategy/StrategyAPIService.java new file mode 100644 index 0000000..193cdd9 --- /dev/null +++ b/src/main/java/com/huobi/api/service/coin_futures/strategy/StrategyAPIService.java @@ -0,0 +1,38 @@ +package com.huobi.api.service.coin_futures.strategy; + +import com.huobi.api.request.coin_futures.trade.*; +import com.huobi.api.response.coin_futures.trade.*; + +public interface StrategyAPIService { + public ContractTriggerOrderResponse contractTriggerOrderRequest(ContractTriggerOrderRequest request);// 1.合约计划委托下单 + + public ContractTriggerCancelResponse contractTriggerCancelRequest(ContractTriggerCancelRequest request);// 2.合约计划委托撤单 + + public ContractTriggerCancelallResponse contractTriggerCancelallRequest(ContractTriggerCancelallRequest request);// 3.合约订单委托全部撤单 + + public ContractTriggerOpenordersResponse contractTriggerOpenordersRequest(ContractTriggerOpenordersRequest request);// 4.获取计划委托当前委托 + + public ContractTriggerHisordersResponse contractTriggerHisorders(ContractTriggerHisordersRequest request);// 5.获取计划委托历史委托 + + public ContractTpslOrderResponse contractTpslOrder(ContractTpslOrderRequest request);// 6.对仓位设置止盈止损订单 + + public ContractTpslCancelResponse contractTpslCancelResponse(ContractTpslCancelRequest request);// 7.止盈止损订单撤单 + + public ContractTpslCancelallResponse contractTpslCancelallResponse(ContractTpslCancelallRequest request);// 8.止盈止损订单全部撤单 + + public ContractTpslOpenordersResponse contractTpslOpenordersResponse(ContractTpslOpenordersRequest request);// 9.查询止盈止损订单当前委托 + + public ContractTpslHisordersResponse contractTpslHisordersResponse(ContractTpslHisordersRequset request);// 10.查询止盈止损订单历史委托 + + public ContractRelationTpslOrderResponse contractRelationTpslOrderResponse(ContractRelationTpslOrderRequest request);// 11.查询开仓单关联的止盈止损订单详情 + + public ContractTrackOrderResponse contractTrackOrderResponse(ContractTrackOrderRequest request); // 12.跟踪委托订单下单 + + public ContractTrackCancelResponse contractTrackCancelResponse(ContractTrackCancelRequest request);// 13.跟踪委托订单撤单 + + public ContractTrackCancelallResponse contractTrackCancelallResponse(ContractTrackCancelallRequest request);// 14.跟踪委托订单全部撤单 + + public ContractTrackOpenordersResponse contractTrackOpenordersResponse(ContractTrackOpenordersRequest request);// 15.跟踪委托订单当前委托 + + public ContractTrackHisordersResponse contractTrackHisordersResponse(ContractTrackHisordersRequest request);// 16.跟踪委托订单历史委托 +} diff --git a/src/main/java/com/huobi/api/service/coin_futures/strategy/StrategyAPIServiceImpl.java b/src/main/java/com/huobi/api/service/coin_futures/strategy/StrategyAPIServiceImpl.java new file mode 100644 index 0000000..270094a --- /dev/null +++ b/src/main/java/com/huobi/api/service/coin_futures/strategy/StrategyAPIServiceImpl.java @@ -0,0 +1,500 @@ +package com.huobi.api.service.coin_futures.strategy; + +import com.alibaba.fastjson.JSON; +import com.huobi.api.constants.HuobiFutureAPIConstants; +import com.huobi.api.exception.ApiException; +import com.huobi.api.request.coin_futures.trade.*; +import com.huobi.api.response.coin_futures.trade.*; +import com.huobi.api.util.HbdmHttpClient; +import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.math.BigDecimal; +import java.util.HashMap; +import java.util.Map; + +public class StrategyAPIServiceImpl implements StrategyAPIService{ + String api_key = ""; // huobi申请的apiKey + String secret_key = ""; // huobi申请的secretKey + String sign = ""; + String url_prex = "https://api.hbdm.com"; + Logger logger = LoggerFactory.getLogger(getClass()); + + public StrategyAPIServiceImpl(String api_key, String secret_key) { + this.api_key = api_key; + this.secret_key = secret_key; + } + + @Override + public ContractTriggerOrderResponse contractTriggerOrderRequest(ContractTriggerOrderRequest request){ + String body; + try { + Map params=new HashMap<>(); + if(StringUtils.isNotEmpty(request.getSymbol()) && StringUtils.isNotEmpty(request.getContractType())){ + params.put("symbol",request.getSymbol().toUpperCase()); + params.put("contract_type",request.getContractType()); + } + if(StringUtils.isNotEmpty(request.getContractCode())){ + params.put("contract_code",request.getContractCode().toUpperCase()); + } + params.put("trigger_type",request.getTriggerType()); + params.put("trigger_price",request.getTriggerPrice()); + params.put("order_price",request.getOrderPrice()); + if (request.getOrderPriceType()!=null){ + params.put("order_price_type",request.getOrderPriceType()); + } + params.put("volume",request.getVolume()); + params.put("direction",request.getDirection().getValue()); + params.put("offset",request.getOffset().getValue()); + params.put("lever_rate",request.getLeverRate()); + body= HbdmHttpClient.getInstance().doPost(api_key,secret_key, url_prex + HuobiFutureAPIConstants.CONTRACT_TRIGGER_ORDER,params,sign); + ContractTriggerOrderResponse response= JSON.parseObject(body,ContractTriggerOrderResponse.class); + if("ok".equalsIgnoreCase(response.getStatus())){ + return response; + } + }catch(Exception e){ + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public ContractTriggerCancelResponse contractTriggerCancelRequest(ContractTriggerCancelRequest request){ + String body; + try{ + Map params= new HashMap<>(); + if(StringUtils.isNotEmpty(request.getSymbol())){ + params.put("symbol",request.getSymbol().toUpperCase()); + } + params.put("order_id",request.getOrderId()); + body=HbdmHttpClient.getInstance().doPost(api_key,secret_key,url_prex + HuobiFutureAPIConstants.CONTRACT_TRIGGER_CANCEL,params,sign); + logger.debug("body:{}",body); + ContractTriggerCancelResponse response=JSON.parseObject(body,ContractTriggerCancelResponse.class); + if("ok".equalsIgnoreCase(response.getStatus())){ + return response; + } + }catch(Exception e){ + throw new ApiException(e); + } + throw new ApiException(body); + } + @Override + public ContractTriggerCancelallResponse contractTriggerCancelallRequest(ContractTriggerCancelallRequest request){ + String body; + try{ + Map params=new HashMap<>(); + if(StringUtils.isNotEmpty(request.getSymbol())){ + params.put("symbol",request.getSymbol().toUpperCase()); + } + if (StringUtils.isNotEmpty(request.getContractCode())){ + params.put("contract_code",request.getContractCode().toUpperCase()); + } + if (request.getDirection()!=null){ + params.put("direction",request.getDirection()); + } + if (request.getOffset()!=null){ + params.put("offset",request.getOffset()); + } + if (request.getContractType()!=null) { + params.put("contract_type", request.getContractType()); + } + body=HbdmHttpClient.getInstance().doPost(api_key,secret_key,url_prex+HuobiFutureAPIConstants.CONTRACT_TRIGGER_CANCELALL,params,sign); + ContractTriggerCancelallResponse response=JSON.parseObject(body,ContractTriggerCancelallResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())){ + return response; + } + }catch(Exception e){ + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public ContractTriggerOpenordersResponse contractTriggerOpenordersRequest(ContractTriggerOpenordersRequest request){ + String body; + try{ + Map params=new HashMap<>(); + if (StringUtils.isNotEmpty(request.getSymbol())){ + params.put("symbol",request.getSymbol().toUpperCase()); + } + if (StringUtils.isNotEmpty(request.getContractCode())){ + params.put("contract_code",request.getContractCode().toUpperCase()); + } + if(request.getPageIndex()!=null){ + params.put("page_index",request.getPageIndex()); + } + if(request.getPageSize()!=null){ + params.put("page_size",request.getPageSize()); + } + if (request.getTrade_type()!=null){ + params.put("trade_type",request.getTrade_type()); + } + body=HbdmHttpClient.getInstance().doPost(api_key,secret_key,url_prex + HuobiFutureAPIConstants.CONTRACT_TRIGGER_OPENORDERS,params,sign); + ContractTriggerOpenordersResponse response=JSON.parseObject(body,ContractTriggerOpenordersResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())){ + return response; + } + }catch(Exception e){ + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public ContractTriggerHisordersResponse contractTriggerHisorders(ContractTriggerHisordersRequest request) { + String body; + try{ + Map params=new HashMap<>(); + params.put("symbol",request.getSymbol().toUpperCase()); + params.put("trade_type",request.getTradeType()); + if (StringUtils.isNotEmpty(request.getContractCode())){ + params.put("contract_code",request.getContractCode().toUpperCase()); + } + params.put("status",request.getStatus()); + params.put("create_date",request.getCreateDate()); + if (request.getPageIndex()!=null){ + params.put("page_index",request.getPageIndex()); + } + if (request.getPageSize()!=null){ + params.put("page_size",request.getPageSize()); + } + if (request.getSortBy()!=null){ + params.put("sort_by",request.getSortBy()); + } + body=HbdmHttpClient.getInstance().doPost(api_key,secret_key,url_prex + HuobiFutureAPIConstants.CONTRACT_TRIGGER_HISORDERS,params,sign); + ContractTriggerHisordersResponse response=JSON.parseObject(body,ContractTriggerHisordersResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())){ + return response; + } + }catch(Exception e){ + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public ContractTpslOrderResponse contractTpslOrder(ContractTpslOrderRequest request) { + String body; + try{ + Map params=new HashMap<>(); + if(StringUtils.isNotEmpty(request.getSymbol())) { + params.put("symbol", request.getSymbol().toUpperCase()); + } + if (StringUtils.isNotEmpty(request.getContractType())) { + params.put("contract_type", request.getContractType()); + } + if (StringUtils.isNotEmpty(request.getContractCode())){ + params.put("contract_code",request.getContractCode().toUpperCase()); + } + params.put("direction",request.getDirection()); + params.put("volume",request.getVolume()); + if (request.getTpTriggerPrice()!=null && request.getTpTriggerPrice()!= BigDecimal.valueOf(0)){ + params.put("tp_trigger_price",request.getTpTriggerPrice()); + } + if (request.getTpOrderPrice()!=null && request.getTpOrderPrice()!=BigDecimal.valueOf(0)){ + params.put("tp_order_price",request.getTpOrderPrice()); + } + if (request.getTpOrderPriceType()!=null){ + params.put("tp_order_price_type",request.getTpOrderPriceType()); + } + if (request.getSlOrderPrice()!=null && request.getSlOrderPrice()!=BigDecimal.valueOf(0)){ + params.put("sl_order_price",request.getSlOrderPrice()); + } + if (request.getSlOrderPriceType()!=null){ + params.put("sl_order_price_type",request.getSlOrderPriceType()); + } + if (request.getSlTriggerPrice()!=null && request.getSlTriggerPrice()!=BigDecimal.valueOf(0)){ + params.put("sl_trigger_price",request.getSlTriggerPrice()); + } + body=HbdmHttpClient.getInstance().doPost(api_key,secret_key,url_prex + HuobiFutureAPIConstants.CONTRACT_TPSL_ORDER,params,sign); + ContractTpslOrderResponse response=JSON.parseObject(body,ContractTpslOrderResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())){ + return response; + } + }catch(Exception e){ + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public ContractTpslCancelResponse contractTpslCancelResponse(ContractTpslCancelRequest request) { + String body; + try{ + Map params=new HashMap<>(); + params.put("symbol", request.getSymbol().toUpperCase()); + params.put("order_id", request.getOrderId()); + body=HbdmHttpClient.getInstance().doPost(api_key,secret_key,url_prex + HuobiFutureAPIConstants.CONTRACT_TPSL_CANCEL,params,sign); + logger.debug("body:{}",body); + ContractTpslCancelResponse response=JSON.parseObject(body,ContractTpslCancelResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())){ + return response; + } + }catch(Exception e){ + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public ContractTpslCancelallResponse contractTpslCancelallResponse(ContractTpslCancelallRequest request) { + String body; + try{ + Map params=new HashMap<>(); + if (StringUtils.isNotEmpty(request.getSymbol())) { + params.put("symbol", request.getSymbol().toUpperCase()); + } + if (StringUtils.isNotEmpty(request.getContractCode())){ + params.put("contract_code",request.getContractCode()); + } + if (request.getContractType()!=null){ + params.put("contract_type",request.getContractType()); + } + if (request.getDirection()!=null){ + params.put("direction",request.getDirection()); + } + body=HbdmHttpClient.getInstance().doPost(api_key,secret_key,url_prex + HuobiFutureAPIConstants.CONTRACT_TPSL_CANCELALL,params,sign); + logger.debug("body:{}",body); + ContractTpslCancelallResponse response=JSON.parseObject(body,ContractTpslCancelallResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())){ + return response; + } + }catch(Exception e){ + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public ContractTpslOpenordersResponse contractTpslOpenordersResponse(ContractTpslOpenordersRequest request) { + String body; + try{ + Map params=new HashMap<>(); + params.put("symbol", request.getSymbol().toUpperCase()); + if (StringUtils.isNotEmpty(request.getContractCode())){ + params.put("contract_code",request.getContractCode()); + } + if (request.getPageIndex()!=null){ + params.put("page_index",request.getPageIndex()); + } + if (request.getPageSize()!=null){ + params.put("page_size",request.getPageSize()); + } + if (request.getTrade_type()!=null){ + params.put("trade_type",request.getTrade_type()); + } + body=HbdmHttpClient.getInstance().doPost(api_key,secret_key,url_prex + HuobiFutureAPIConstants.CONTRACT_TPSL_OPENORDERS,params,sign); + ContractTpslOpenordersResponse response=JSON.parseObject(body,ContractTpslOpenordersResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())){ + return response; + } + }catch(Exception e){ + throw new ApiException(e); + } + throw new ApiException(body); + } + @Override + public ContractTpslHisordersResponse contractTpslHisordersResponse(ContractTpslHisordersRequset request) { + String body; + try{ + Map params=new HashMap<>(); + params.put("symbol", request.getSymbol().toUpperCase()); + params.put("status",request.getStatus()); + params.put("create_date",request.getCreateDate()); + if (StringUtils.isNotEmpty(request.getContractCode())){ + params.put("contract_code",request.getContractCode()); + } + if (request.getPageIndex()!=null){ + params.put("page_index",request.getPageIndex()); + } + if (request.getPageSize()!=null){ + params.put("page_size",request.getPageSize()); + } + if (request.getSortBy()!=null){ + params.put("sort_by",request.getSortBy()); + } + body=HbdmHttpClient.getInstance().doPost(api_key,secret_key,url_prex + HuobiFutureAPIConstants.CONTRACT_TPSL_HISORDERS,params,sign); + logger.debug("body:{}",body); + ContractTpslHisordersResponse response=JSON.parseObject(body,ContractTpslHisordersResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())){ + return response; + } + }catch(Exception e){ + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public ContractRelationTpslOrderResponse contractRelationTpslOrderResponse(ContractRelationTpslOrderRequest request) { + String body; + try{ + Map params=new HashMap<>(); + params.put("symbol", request.getSymbol().toUpperCase()); + params.put("order_id",request.getOrderId()); + body=HbdmHttpClient.getInstance().doPost(api_key,secret_key,url_prex + HuobiFutureAPIConstants.CONTRACT_RELATION_TPSL_ORDER,params,sign); + logger.debug("body:{}",body); + ContractRelationTpslOrderResponse response=JSON.parseObject(body,ContractRelationTpslOrderResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())){ + return response; + } + }catch(Exception e){ + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public ContractTrackOrderResponse contractTrackOrderResponse(ContractTrackOrderRequest request) { + String body; + try{ + Map params=new HashMap<>(); + if (StringUtils.isNotEmpty(request.getSymbol())){ + params.put("symbol", request.getSymbol().toUpperCase()); + } + if (StringUtils.isNotEmpty(request.getContractCode())){ + params.put("contract_code", request.getContractCode().toUpperCase()); + } + if (request.getContractType()!=null){ + params.put("contract_type",request.getContractType()); + } + if (request.getLeverRate()!=null){ + params.put("lever_rate",request.getLeverRate()); + } + params.put("direction",request.getDirection()); + params.put("offset",request.getOffset()); + params.put("volume",request.getVolume()); + params.put("callback_rate",request.getCallbackRate()); + params.put("active_price",request.getActivePrice()); + params.put("order_price_type", request.getOrderPriceType()); + body=HbdmHttpClient.getInstance().doPost(api_key,secret_key,url_prex + HuobiFutureAPIConstants.CONTRACT_TRACK_ORDER,params,sign); + logger.debug("body:{}",body); + ContractTrackOrderResponse response=JSON.parseObject(body,ContractTrackOrderResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())){ + return response; + } + }catch(Exception e){ + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public ContractTrackCancelResponse contractTrackCancelResponse(ContractTrackCancelRequest request) { + String body; + try{ + Map params=new HashMap<>(); + params.put("symbol", request.getSymbol().toUpperCase()); + params.put("order_id",request.getOrderId()); + body=HbdmHttpClient.getInstance().doPost(api_key,secret_key,url_prex + HuobiFutureAPIConstants.CONTRACT_TRACK_CANCEL,params,sign); + logger.debug("body:{}",body); + ContractTrackCancelResponse response=JSON.parseObject(body,ContractTrackCancelResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())){ + return response; + } + }catch(Exception e){ + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public ContractTrackCancelallResponse contractTrackCancelallResponse(ContractTrackCancelallRequest request) { + String body; + try{ + Map params=new HashMap<>(); + params.put("symbol", request.getSymbol().toUpperCase()); + if (request.getContractCode()!=null){ + params.put("contract_code",request.getContractCode()); + } + if (request.getContractType()!=null){ + params.put("contract_type",request.getContractType()); + } + if (request.getDirection()!=null){ + params.put("direction",request.getDirection()); + } + if (request.getOffset()!=null){ + params.put("offset",request.getOffset()); + } + body=HbdmHttpClient.getInstance().doPost(api_key,secret_key,url_prex + HuobiFutureAPIConstants.CONTRACT_TRACK_CANCELALL,params,sign); + logger.debug("body:{}",body); + ContractTrackCancelallResponse response=JSON.parseObject(body,ContractTrackCancelallResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())){ + return response; + } + }catch(Exception e){ + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public ContractTrackOpenordersResponse contractTrackOpenordersResponse(ContractTrackOpenordersRequest request) { + String body; + try{ + Map params=new HashMap<>(); + params.put("symbol", request.getSymbol().toUpperCase()); + if (request.getContractCode()!=null) { + params.put("contract_code", request.getContractCode()); + } + if (request.getPageIndex()!=null){ + params.put("page_index",request.getPageIndex()); + } + if (request.getTradeType()!=null){ + params.put("trade_type",request.getTradeType()); + } + if (request.getPageSize()!=null){ + params.put("page_size",request.getPageSize()); + } + body=HbdmHttpClient.getInstance().doPost(api_key,secret_key,url_prex + HuobiFutureAPIConstants.CONTRACT_TRACK_OPENORDERS,params,sign); + logger.debug("body:{}",body); + ContractTrackOpenordersResponse response=JSON.parseObject(body,ContractTrackOpenordersResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())){ + return response; + } + }catch(Exception e){ + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public ContractTrackHisordersResponse contractTrackHisordersResponse(ContractTrackHisordersRequest request) { + String body; + try{ + Map params=new HashMap<>(); + params.put("symbol", request.getSymbol().toUpperCase()); + if (request.getContractCode()!=null) { + params.put("contract_code", request.getContractCode()); + } + if (request.getStatus()!=null){ + params.put("status",request.getStatus()); + } + if (request.getTradeType()!=null){ + params.put("trade_type",request.getTradeType()); + } + if (request.getPageIndex()!=null){ + params.put("page_index",request.getPageIndex()); + } + if (request.getPageSize()!=null){ + params.put("page_size",request.getPageSize()); + } + if (request.getCreateDate()!=null){ + params.put("create_date",request.getCreateDate()); + } + if (request.getSortBy()!=null){ + params.put("sort_by",request.getSortBy()); + } + body=HbdmHttpClient.getInstance().doPost(api_key,secret_key,url_prex + HuobiFutureAPIConstants.CONTRACT_TRACK_HISORDERS,params,sign); + logger.debug("body:{}",body); + ContractTrackHisordersResponse response=JSON.parseObject(body,ContractTrackHisordersResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())){ + return response; + } + }catch(Exception e){ + throw new ApiException(e); + } + throw new ApiException(body); + } +} diff --git a/src/main/java/com/huobi/api/service/coin_futures/trade/TradeAPIService.java b/src/main/java/com/huobi/api/service/coin_futures/trade/TradeAPIService.java new file mode 100644 index 0000000..b7dd8fa --- /dev/null +++ b/src/main/java/com/huobi/api/service/coin_futures/trade/TradeAPIService.java @@ -0,0 +1,34 @@ +package com.huobi.api.service.coin_futures.trade; + +import com.huobi.api.request.coin_futures.trade.*; +import com.huobi.api.response.coin_futures.trade.*; + +public interface TradeAPIService { + ContractCancelAfterResponse contractCancelAfterResponse(ContractCancelAfterRequest request);// 1.自动撤单 + + ContractOrderResponse contractOrderRequest(ContractOrderRequest request);// 2.合约下单 + + ContractBatchorderResponse contractBatchorderRequest(ContractBatchorderRequest request);// 3.合约批量下单 + + ContractCancelResponse contractCancelRequest(ContractCancelRequest request);// 4.撤销订单 + + ContractCancelallResponse contractCancelallRequest(ContractCancelallRequest request);// 5.全部撤单 + + ContractSwitchLeverRateResponse contractSwitchLeverRateRequest(String symbol,Integer leverRate);// 6.切换杠杆 + + ContractOrderInfoResponse contractOrderInfoRequest(ContractOrderInfoRequest request);// 7.获取合约订单信息 + + ContractOrderDetailResponse contractOrderDetailRequest(ContractOrderDetailRequest request);// 8.获取订单明细信息 + + ContractOpenordersResponse contractOpenordersRequest(ContractOpenordersRequest request);// 9.获取合约当前未成交委托 + + ContractHisordersV3Response contractHisordersV3Response(ContractHisordersV3Request request);// 10.获取合约历史委托(新) + + ContractHisordersExactV3Response contractHisordersExactV3Response(ContractHisordersExactV3Request request);// 11.组合查询合约历史委托(新) + + ContractMatchResultsV3Response contractMatchResultsV3Response(ContractMatchResultsV3Request request);// 12.获取历史成交记录(新) + + ContractMatchResultsExactV3Response contractMatchResultsExactV3Response(ContractMatchResultsExactV3Request request);// 13.组合查询历史成交记录接口(新) + + LightningClosePositionResponse lightningClosePositionRequest(LightningClosePositionRequest request);// 14.闪电平仓下单 +} diff --git a/src/main/java/com/huobi/api/service/coin_futures/trade/TradeAPIServiceImpl.java b/src/main/java/com/huobi/api/service/coin_futures/trade/TradeAPIServiceImpl.java new file mode 100644 index 0000000..c27f71e --- /dev/null +++ b/src/main/java/com/huobi/api/service/coin_futures/trade/TradeAPIServiceImpl.java @@ -0,0 +1,564 @@ +package com.huobi.api.service.coin_futures.trade; + +import com.alibaba.fastjson.JSON; +import com.huobi.api.constants.HuobiFutureAPIConstants; +import com.huobi.api.exception.ApiException; + +import com.huobi.api.request.coin_futures.trade.*; +import com.huobi.api.response.coin_futures.trade.*; +import com.huobi.api.util.HbdmHttpClient; +import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import javax.swing.text.rtf.RTFEditorKit; +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class TradeAPIServiceImpl implements TradeAPIService { + + + String api_key = ""; // huobi申请的apiKey + String secret_key = ""; // huobi申请的secretKey + String sign= ""; + String url_prex = "https://api.hbdm.com"; + Logger logger = LoggerFactory.getLogger(getClass()); + + public TradeAPIServiceImpl(String api_key, String secret_key) { + this.api_key = api_key; + this.secret_key = secret_key; + } + + + @Override + public ContractOrderResponse contractOrderRequest(ContractOrderRequest request) { + String body; + try { + Map params = new HashMap<>(); + + params.put("volume", request.getVolume()); + params.put("direction", request.getDirection().getValue()); + params.put("offset", request.getOffset().getValue()); + params.put("lever_rate", request.getLeverRate()); + params.put("order_price_type", request.getOrderPriceType()); + + if (StringUtils.isNotEmpty(request.getSymbol()) && StringUtils.isNotEmpty(request.getContractType())) { + params.put("symbol", request.getSymbol()); + params.put("contract_type", request.getContractType()); + } + if (StringUtils.isNotEmpty(request.getContractCode())) { + params.put("contract_code", request.getContractCode()); + } + if (request.getPrice() != null) { + params.put("price", request.getPrice()); + } + if (request.getClientOrderId() != null) { + params.put("client_order_id", request.getClientOrderId()); + } + if (request.getTpTriggerPrice()!=null && request.getTpTriggerPrice()!= BigDecimal.valueOf(0)){ + params.put("tp_trigger_price",request.getTpTriggerPrice()); + } + if (request.getTpOrderPrice()!=null && request.getTpOrderPrice()!= BigDecimal.valueOf(0)){ + params.put("tp_order_price",request.getTpOrderPrice()); + } + if (request.getTpOrderPriceType()!=null){ + params.put("tp_order_price_type",request.getTpOrderPriceType()); + } + if (request.getSlTriggerPrice()!=null && request.getSlTriggerPrice()!= BigDecimal.valueOf(0)){ + params.put("sl_trigger_price",request.getSlTriggerPrice()); + } + if (request.getSlOrderPrice()!=null && request.getSlOrderPrice()!= BigDecimal.valueOf(0)){ + params.put("sl_order_price",request.getSlOrderPrice()); + } + if (request.getSlOrderPriceType()!=null){ + params.put("sl_order_price_type",request.getSlOrderPriceType()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiFutureAPIConstants.CONTRACT_ORDER, params,sign); + ContractOrderResponse response = JSON.parseObject(body, ContractOrderResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public ContractBatchorderResponse contractBatchorderRequest(ContractBatchorderRequest request) { + List> listMap = new ArrayList<>(); + String body; + try { + + request.getList().stream() + .forEach(e -> { + Map params = new HashMap<>(); + params.put("volume", e.getVolume()); + params.put("direction", e.getDirection().getValue()); + params.put("offset", e.getOffset().getValue()); + params.put("lever_rate", e.getLeverRate()); + params.put("order_price_type", e.getOrderPriceType()); + if (StringUtils.isNotEmpty(e.getSymbol()) && StringUtils.isNotEmpty(e.getContractType())) { + params.put("symbol", e.getSymbol()); + params.put("contract_type", e.getContractType()); + } + if (StringUtils.isNotEmpty(e.getContractCode())) { + params.put("contract_code", e.getContractCode()); + } + if (e.getPrice() != null) { + params.put("price", e.getPrice()); + } + if (e.getClientOrderId() != null) { + params.put("client_order_id", e.getClientOrderId()); + } + if (e.getTpTriggerPrice()!=null && e.getTpTriggerPrice()!= BigDecimal.valueOf(0)){ + params.put("tp_trigger_price",e.getTpTriggerPrice()); + } + if (e.getTpOrderPrice()!=null && e.getTpOrderPrice()!= BigDecimal.valueOf(0)){ + params.put("tp_order_price",e.getTpOrderPrice()); + } + if (e.getTpOrderPriceType()!=null){ + params.put("tp_order_price_type",e.getTpOrderPriceType()); + } + if (e.getSlTriggerPrice()!=null && e.getSlTriggerPrice() != BigDecimal.valueOf(0)){ + params.put("sl_trigger_price",e.getSlTriggerPrice()); + } + if (e.getSlOrderPrice()!=null && e.getSlOrderPrice()!= BigDecimal.valueOf(0)){ + params.put("sl_order_price",e.getSlOrderPrice()); + } + if (e.getSlOrderPriceType()!=null){ + params.put("sl_order_price_type",e.getSlOrderPriceType()); + } + listMap.add(params); + }); + Map params = new HashMap<>(); + + params.put("orders_data", listMap); + + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiFutureAPIConstants.CONTRACT_BATCHORDER, params,sign); + ContractBatchorderResponse response = JSON.parseObject(body, ContractBatchorderResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + /** + * 撤销订单 + * + * @param request 请求数据 + * @return + */ + @Override + public ContractCancelResponse contractCancelRequest(ContractCancelRequest request) { + String body = ""; + try { + Map params = new HashMap<>(); + if (request.getOrderId() != null) { + params.put("order_id", request.getOrderId()); + } + if (request.getClientOrderId() != null) { + params.put("client_order_id", request.getClientOrderId()); + } + params.put("symbol", request.getSymbol().toUpperCase()); + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiFutureAPIConstants.CONTRACT_CANCEL, params,sign); + ContractCancelResponse response = JSON.parseObject(body, ContractCancelResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + + } catch (Exception e) { + System.out.println("body:" + body); + throw new ApiException(e); + } + throw new ApiException(body); + } + + /** + * 全部撤单 + * + * @param request 请求数据 + * @return + */ + @Override + public ContractCancelallResponse contractCancelallRequest(ContractCancelallRequest request) { + String body = ""; + try { + Map params = new HashMap<>(); + params.put("symbol", request.getSymbol().toUpperCase()); + if (StringUtils.isNotEmpty(request.getContractCode())) { + params.put("contract_code", request.getContractCode()); + } + if (StringUtils.isNotEmpty(request.getContractType())) { + params.put("contract_type", request.getContractType()); + } + if (request.getDirection()!=null){ + params.put("direction",request.getDirection()); + } + if (request.getOffset()!=null){ + params.put("offset",request.getOffset()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiFutureAPIConstants.CONTRACT_CANCELALL, params,sign); + ContractCancelallResponse response = JSON.parseObject(body, ContractCancelallResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public ContractOrderInfoResponse contractOrderInfoRequest(ContractOrderInfoRequest request) { + String body; + try { + Map params = new HashMap<>(); + if (StringUtils.isNotEmpty(request.getSymbol())) { + params.put("symbol", request.getSymbol().toUpperCase()); + } + if (request.getClientOrderId() != null) { + params.put("client_order_id", request.getClientOrderId()); + } + if (request.getOrderId() != null) { + params.put("order_id", request.getOrderId()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiFutureAPIConstants.CONTRACT_ORDER_INFO, params,sign); + ContractOrderInfoResponse response = JSON.parseObject(body, ContractOrderInfoResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + /** + * 获取订单明细信息 + * + * @param request 请求数据 + * @return + */ + @Override + public ContractOrderDetailResponse contractOrderDetailRequest(ContractOrderDetailRequest request) { + String body; + try { + Map params = new HashMap<>(); + params.put("symbol", request.getSymbol().toUpperCase()); + params.put("order_id", request.getOrderId()); + if (request.getCreatedAt() != null) { + params.put("created_at", request.getCreatedAt()); + } + params.put("order_type", request.getOrderType()); + if (request.getPageIndex() != null) { + params.put("page_index", request.getPageIndex()); + } + if (request.getPageSize() != null) { + params.put("page_size", request.getPageSize()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiFutureAPIConstants.CONTRACT_ORDER_DETAIL, params,sign); + ContractOrderDetailResponse response = JSON.parseObject(body, ContractOrderDetailResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + /** + * 获取合约当前未成交委托 + * + * @param request 请求数据 + * @return + */ + @Override + public ContractOpenordersResponse contractOpenordersRequest(ContractOpenordersRequest request) { + String body; + try { + Map params = new HashMap<>(); + params.put("symbol", request.getSymbol().toUpperCase()); + if (request.getPageIndex() != null) { + params.put("page_index", request.getPageIndex()); + } + if (request.getPageSize() != null) { + params.put("page_size", request.getPageSize()); + } + if (request.getSortBy()!=null){ + params.put("sort_by",request.getSortBy()); + } + if (request.getTradeType()!=null){ + params.put("trade_type",request.getTradeType()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiFutureAPIConstants.CONTRACT_OPENORDERS, params,sign); + ContractOpenordersResponse response = JSON.parseObject(body, ContractOpenordersResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public LightningClosePositionResponse lightningClosePositionRequest(LightningClosePositionRequest request) { + String body; + try { + Map params = new HashMap<>(); + if (StringUtils.isNotEmpty(request.getSymbol())) { + params.put("symbol", request.getSymbol().toUpperCase()); + } + if (StringUtils.isNotEmpty(request.getContractCode())) { + params.put("contract_code", request.getContractCode()); + } + if (StringUtils.isNotEmpty(request.getContractType())) { + params.put("contract_type", request.getContractType()); + } + params.put("direction", request.getDirection()); + params.put("volume", request.getVolume()); + if (request.getClientOrderId() != null) { + params.put("client_order_id", request.getClientOrderId()); + } + if (request.getOrderPriceType() != null) { + params.put("order_price_type", request.getOrderPriceType()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiFutureAPIConstants.LIGHTNING_CLOSE_POSITION, params,sign); + LightningClosePositionResponse response = JSON.parseObject(body, LightningClosePositionResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public ContractSwitchLeverRateResponse contractSwitchLeverRateRequest(String symbol, Integer leverRate) { + String body; + try{ + Map params=new HashMap<>(); + params.put("symbol",symbol.toUpperCase()); + params.put("lever_rate",leverRate); + body=HbdmHttpClient.getInstance().doPost(api_key,secret_key,url_prex + HuobiFutureAPIConstants.CONTRACT_SWITCH_LEVER_RATE,params,sign); + logger.debug("body:{}",body); + ContractSwitchLeverRateResponse response=JSON.parseObject(body,ContractSwitchLeverRateResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())){ + return response; + } + }catch(Exception e){ + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public ContractCancelAfterResponse contractCancelAfterResponse(ContractCancelAfterRequest request) { + String body; + try{ + Map params=new HashMap<>(); + if (request.getOnOff()!=null) { + params.put("on_off", request.getOnOff()); + } + if (request.getTimeOut()!=null){ + params.put("time_out",request.getTimeOut()); + } + body=HbdmHttpClient.getInstance().doPost(api_key,secret_key,url_prex + HuobiFutureAPIConstants.CONTRACT_CANCEL_AFTER,params,sign); + logger.debug("body:{}",body); + ContractCancelAfterResponse response=JSON.parseObject(body,ContractCancelAfterResponse.class); + if (response.getCode() != null && response.getCode() == 200){ + return response; + } + }catch(Exception e){ + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public ContractHisordersV3Response contractHisordersV3Response(ContractHisordersV3Request request) { + String body; + try{ + Map params=new HashMap<>(); + if (request.getStartTime() != null) { + params.put("start_time", request.getStartTime()); + } + if (request.getEndTime() != null) { + params.put("end_time", request.getEndTime()); + } + if (StringUtils.isNotEmpty(request.getDirect())) { + params.put("direct", request.getDirect()); + } + if (request.getFromId() != null) { + params.put("from_id", request.getFromId()); + } + if (StringUtils.isNotEmpty(request.getContract())) { + params.put("contract", request.getContract().toUpperCase()); + } + if (request.getTradeType() != null) { + params.put("trade_type", request.getTradeType()); + } + if (StringUtils.isNotEmpty(request.getSymbol())) { + params.put("symbol", request.getSymbol()); + } + if (request.getTradeType() != null) { + params.put("type", request.getType()); + } + if (StringUtils.isNotEmpty(request.getStatus())) { + params.put("status", request.getStatus()); + } + if (StringUtils.isNotEmpty(request.getOrderType())) { + params.put("order_type", request.getOrderType()); + } + if (StringUtils.isNotEmpty(request.getSortBy())) { + params.put("sort_by", request.getSortBy()); + } + body=HbdmHttpClient.getInstance().doPost(api_key,secret_key,url_prex + HuobiFutureAPIConstants.CONTRACT_HISORDERS_V3,params,sign); + logger.debug("body:{}",body); + ContractHisordersV3Response response=JSON.parseObject(body,ContractHisordersV3Response.class); + if (response.getCode() != null && response.getCode() == 200){ + return response; + } + }catch(Exception e){ + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public ContractHisordersExactV3Response contractHisordersExactV3Response(ContractHisordersExactV3Request request) { + String body; + try{ + Map params=new HashMap<>(); + if (request.getStartTime() != null) { + params.put("start_time", request.getStartTime()); + } + if (request.getEndTime() != null) { + params.put("end_time", request.getEndTime()); + } + if (StringUtils.isNotEmpty(request.getDirect())) { + params.put("direct", request.getDirect()); + } + if (request.getFromId() != null) { + params.put("from_id", request.getFromId()); + } + if (StringUtils.isNotEmpty(request.getContract())) { + params.put("contract", request.getContract().toUpperCase()); + } + if (request.getTradeType() != null) { + params.put("trade_type", request.getTradeType()); + } + if (StringUtils.isNotEmpty(request.getSymbol())) { + params.put("symbol", request.getSymbol()); + } + if (request.getTradeType() != null) { + params.put("type", request.getType()); + } + if (StringUtils.isNotEmpty(request.getStatus())) { + params.put("status", request.getStatus()); + } + if (StringUtils.isNotEmpty(request.getOrderType())) { + params.put("order_type", request.getOrderType()); + } + body=HbdmHttpClient.getInstance().doPost(api_key,secret_key,url_prex + HuobiFutureAPIConstants.CONTRACT_HISORDERS_EXACT_V3,params,sign); + logger.debug("body:{}",body); + ContractHisordersExactV3Response response=JSON.parseObject(body,ContractHisordersExactV3Response.class); + if (response.getCode() != null && response.getCode() == 200){ + return response; + } + }catch(Exception e){ + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public ContractMatchResultsV3Response contractMatchResultsV3Response(ContractMatchResultsV3Request request) { + String body; + try{ + Map params=new HashMap<>(); + if (request.getStartTime() != null) { + params.put("start_time", request.getStartTime()); + } + if (request.getEndTime() != null) { + params.put("end_time", request.getEndTime()); + } + if (StringUtils.isNotEmpty(request.getDirect())) { + params.put("direct", request.getDirect()); + } + if (request.getFromId() != null) { + params.put("from_id", request.getFromId()); + } + if (request.getTradeType() != null) { + params.put("trade_type", request.getTradeType()); + } + if (StringUtils.isNotEmpty(request.getSymbol())) { + params.put("symbol", request.getSymbol()); + } + body=HbdmHttpClient.getInstance().doPost(api_key,secret_key,url_prex + HuobiFutureAPIConstants.CONTRACT_MATCHRESULTS_V3,params,sign); + logger.debug("body:{}",body); + ContractMatchResultsV3Response response=JSON.parseObject(body,ContractMatchResultsV3Response.class); + if (response.getCode() != null && response.getCode() == 200){ + return response; + } + }catch(Exception e){ + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public ContractMatchResultsExactV3Response contractMatchResultsExactV3Response(ContractMatchResultsExactV3Request request) { + String body; + try{ + Map params=new HashMap<>(); + if (request.getStartTime() != null) { + params.put("start_time", request.getStartTime()); + } + if (request.getEndTime() != null) { + params.put("end_time", request.getEndTime()); + } + if (StringUtils.isNotEmpty(request.getDirect())) { + params.put("direct", request.getDirect()); + } + if (request.getFromId() != null) { + params.put("from_id", request.getFromId()); + } + if (request.getTradeType() != null) { + params.put("trade_type", request.getTradeType()); + } + if (StringUtils.isNotEmpty(request.getSymbol())) { + params.put("symbol", request.getSymbol()); + } + if (StringUtils.isNotEmpty(request.getContract())) { + params.put("contract", request.getContract().toUpperCase()); + } + body=HbdmHttpClient.getInstance().doPost(api_key,secret_key,url_prex + HuobiFutureAPIConstants.CONTRACT_MATCHRESULTS_EXACT_V3,params,sign); + logger.debug("body:{}",body); + ContractMatchResultsExactV3Response response=JSON.parseObject(body,ContractMatchResultsExactV3Response.class); + if (response.getCode() != null && response.getCode() == 200){ + return response; + } + }catch(Exception e){ + throw new ApiException(e); + } + throw new ApiException(body); + } + +} diff --git a/src/main/java/com/huobi/api/service/coin_futures/transfer/TransferApiService.java b/src/main/java/com/huobi/api/service/coin_futures/transfer/TransferApiService.java new file mode 100644 index 0000000..f80e1eb --- /dev/null +++ b/src/main/java/com/huobi/api/service/coin_futures/transfer/TransferApiService.java @@ -0,0 +1,14 @@ +package com.huobi.api.service.coin_futures.transfer; + +import com.huobi.api.request.coin_futures.transfer.AccountTransferRequest; +import com.huobi.api.response.coin_futures.transfer.AccountTransferResponse; +import com.huobi.api.response.coin_futures.transfer.FuturesTransferResponse; + +import java.math.BigDecimal; + +public interface TransferApiService { + + FuturesTransferResponse transfer(String currency, BigDecimal amount, String type);// 1.现货-合约账户间进行资金的划转 + + AccountTransferResponse accountTransfer(AccountTransferRequest request);// 2.现货-合约账户进行资金的划转 +} diff --git a/src/main/java/com/huobi/api/service/coin_futures/transfer/TransferApiServiceImpl.java b/src/main/java/com/huobi/api/service/coin_futures/transfer/TransferApiServiceImpl.java new file mode 100644 index 0000000..f63d761 --- /dev/null +++ b/src/main/java/com/huobi/api/service/coin_futures/transfer/TransferApiServiceImpl.java @@ -0,0 +1,81 @@ +package com.huobi.api.service.coin_futures.transfer; + +import com.alibaba.fastjson.JSON; +import com.huobi.api.constants.HuobiFutureAPIConstants; +import com.huobi.api.exception.ApiException; +import com.huobi.api.request.coin_futures.transfer.AccountTransferRequest; +import com.huobi.api.response.coin_futures.transfer.AccountTransferResponse; +import com.huobi.api.response.coin_futures.transfer.FuturesTransferResponse; +import com.huobi.api.util.HbdmHttpClient; +import org.apache.commons.lang3.StringUtils; + +import java.math.BigDecimal; +import java.sql.Struct; +import java.util.HashMap; +import java.util.Map; + +public class TransferApiServiceImpl implements TransferApiService { + + String api_key = ""; // huobi申请的apiKey + String secret_key = ""; // huobi申请的secretKey + String sign = ""; + String url_prex = "https://api.huobi.pro"; + + public TransferApiServiceImpl(String api_key, String secret_key) { + this.api_key = api_key; + this.secret_key = secret_key; + } + + + /** + * @param currency 币 + * @param amount 金额 注意划转的金额精度 + * @param type 从合约账户到现货账户:“futures-to-pro”,从现货账户到合约账户: “pro-to-futures” + * @return + */ + @Override + public FuturesTransferResponse transfer(String currency, BigDecimal amount, String type) { + String body = ""; + try { + Map params = new HashMap<>(); + params.put("currency", currency.toLowerCase()); + params.put("amount", amount); + params.put("type", type); + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiFutureAPIConstants.FUTURES_TRANSFER, params,sign); + FuturesTransferResponse response = JSON.parseObject(body, FuturesTransferResponse.class); + return response; + + } catch (Exception e) { + throw new ApiException(e); + } + } + + @Override + public AccountTransferResponse accountTransfer(AccountTransferRequest request) { + String body = ""; + try { + Map params = new HashMap<>(); + if (StringUtils.isNotEmpty(request.getFrom())) { + params.put("from", request.getFrom()); + } + if (StringUtils.isNotEmpty(request.getTo())) { + params.put("to", request.getTo()); + } + if (StringUtils.isNotEmpty(request.getCurrency())) { + params.put("currency", request.getCurrency()); + } + if (request.getAmount() != null) { + params.put("amount", request.getAmount()); + } + if (StringUtils.isNotEmpty(request.getMarginAccount())) { + params.put("margin-account", request.getMarginAccount()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiFutureAPIConstants.ACCOUNT_TRANSFER, params,sign); + AccountTransferResponse response = JSON.parseObject(body, AccountTransferResponse.class); + return response; + + } catch (Exception e) { + throw new ApiException(e); + } + } +} diff --git a/src/main/java/com/huobi/api/service/coin_swap/account/AccountAPIService.java b/src/main/java/com/huobi/api/service/coin_swap/account/AccountAPIService.java new file mode 100644 index 0000000..da41a89 --- /dev/null +++ b/src/main/java/com/huobi/api/service/coin_swap/account/AccountAPIService.java @@ -0,0 +1,51 @@ +package com.huobi.api.service.coin_swap.account; + + +import com.huobi.api.request.coin_swap.account.*; +import com.huobi.api.request.usdt.account.SwapSubAuthListRequest; +import com.huobi.api.response.coin_swap.account.*; +import com.huobi.api.response.usdt.account.SwapSubAuthListResponse; + +public interface AccountAPIService { + SwapBalanceValuationResponse getSwapBalanceValuation(String ValuationAsset);// 1.获取账户总资产估值 + + SwapAccountInfoResponse getSwapAccountInfo(String contractCode);// 2.获取用户账户信息 + + SwapPositionInfoResponse getSwapPositionInfo(String contractCode);// 3.获取用户持仓信息 + + SwapAccountPositionInfoResponse getSwapAccountPositionInfo(String contractCode);// 4.查询用户账户和持仓信息 + + SwapSubAuthResponse getSwapSubAuth(String subUid,Integer subAuth);// 5.批量设置子账户交易权限 + + SwapSubAuthListResponse getSwapSubAuthList(SwapSubAuthListRequest request);// 6.查询子账户交易权限 + + SwapSubAccountListResponse getSwapSubAccountList(String contractCode, String direct, Long fromId);// 7.查询母账户下所有子账户资产信息 + + SwapSubAccountInfoListResponse getSwapSubAccountInfoList(String contractCode,Integer pageIndex,Integer pageSize);// 8.批量获取子账户资产信息 + + SwapSubAccountInfoResponse getSwapSubAccountInfo(String contractCode, Long subUid);// 9.查询单个子账户资产信息 + + SwapSubPositionInfoResponse getSwapSubPositionInfo(String contractCode , Long subUid);// 10.查询单个子账户持仓信息 + + SwapFinancialRecordV3Response getSwapFinancialRecordV3(SwapFinancialRecordV3Request request);// 11.查询用户财务记录(新) + + SwapFinancialRecordExactV3Response getSwapFinancialRecordExactV3(SwapFinancialRecordExactV3Request request);// 12.组合查询用户财务记录(新) + + SwapUserSettlementRecordsResponse getSwapUserSettlementRecords(SwapUserSettlementRecordsRequest request);// 13.获取用户API指标禁用信息 + + SwapAvailableLevelRateResponse getSwapAvailableLevelRate(String contractCode);// 14.获取合约可用杠杆倍数 + + SwapOrderLimitResponse getSwapOrderLimitResponse(String contractCode, String orderPriceType);// 15.查询用户当前的下单量限制 + + SwapFeeResponse getSwapFeeResponse(String contractCode);// 16.查询用户当前的手续费费率 + + SwapTransferLimitResponse getSwapTransferLimitResponse(String contractCode);// 17.查询用户当前的划转限制 + + SwapPositionLimitResponse getSwapPositionLimitResponse(String contractCode);// 18.用户持仓量限制的查询 + + SwapMasterSubTransferResponse getSwapMasterSubTransferResponse(SwapMasterSubTransferRequest request);// 19.母子账户划转 + + SwapMasterSubTransferRecordResponse getSwapMasterSubTransferRecordResponse(SwapMasterSubTransferRecordRequest request);// 20.获取母账户下的所有母子账户划转记录 + + SwapApiTradingStatusResponse getSwapApiTradingStatusResponse();// 21.获取用户API指标禁用信息 +} diff --git a/src/main/java/com/huobi/api/service/coin_swap/account/AccountAPIServiceImpl.java b/src/main/java/com/huobi/api/service/coin_swap/account/AccountAPIServiceImpl.java new file mode 100644 index 0000000..fb6fa91 --- /dev/null +++ b/src/main/java/com/huobi/api/service/coin_swap/account/AccountAPIServiceImpl.java @@ -0,0 +1,536 @@ +package com.huobi.api.service.coin_swap.account; + +import com.alibaba.fastjson.JSON; +import com.huobi.api.constants.HuobiCoinMarginedSwapAPIOptions; +import com.huobi.api.exception.ApiException; +import com.huobi.api.request.coin_swap.account.*; +import com.huobi.api.request.usdt.account.SwapSubAuthListRequest; +import com.huobi.api.response.coin_swap.account.*; +import com.huobi.api.response.usdt.account.SwapSubAuthListResponse; +import com.huobi.api.util.HbdmHttpClient; +import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.HashMap; +import java.util.Map; + +public class AccountAPIServiceImpl implements AccountAPIService { + + String api_key = ""; // huobi申请的apiKey + String secret_key = ""; // huobi申请的secretKey + String sign = ""; + String url_prex = "https://api.hbdm.com"; + + Logger logger = LoggerFactory.getLogger(getClass()); + + public AccountAPIServiceImpl(String api_key, String secret_key) { + this.api_key = api_key; + this.secret_key = secret_key; + } + + + @Override + public SwapAccountInfoResponse getSwapAccountInfo(String contractCode) { + String body; + try { + Map params = new HashMap<>(); + if (StringUtils.isNotEmpty(contractCode)) { + params.put("contract_code", contractCode.toUpperCase().toUpperCase()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiCoinMarginedSwapAPIOptions.SWAP_ACCOUNT_INFO, params,sign); + logger.debug("body:{}", body); + SwapAccountInfoResponse response = JSON.parseObject(body, SwapAccountInfoResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapPositionInfoResponse getSwapPositionInfo(String contractCode) { + String body; + try { + Map params = new HashMap<>(); + if (StringUtils.isNotEmpty(contractCode)) { + params.put("contract_code", contractCode.toUpperCase().toUpperCase()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiCoinMarginedSwapAPIOptions.SWAP_POSITION_INFO, params,sign); + logger.debug("body:{}", body); + SwapPositionInfoResponse response = JSON.parseObject(body, SwapPositionInfoResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapAccountPositionInfoResponse getSwapAccountPositionInfo(String contractCode) { + String body; + try { + Map params = new HashMap<>(); + params.put("contract_code", contractCode.toUpperCase().toUpperCase()); + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiCoinMarginedSwapAPIOptions.SWAP_ACCOUNT_POSITION_INFO, params,sign); + logger.debug("body:{}", body); + SwapAccountPositionInfoResponse response = JSON.parseObject(body, SwapAccountPositionInfoResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapSubAccountListResponse getSwapSubAccountList(String contractCode, String direct, Long fromId) { + String body; + try { + Map params = new HashMap<>(); + if (StringUtils.isNotEmpty(contractCode)) { + params.put("contract_code", contractCode.toUpperCase().toUpperCase()); + } + if (StringUtils.isNotEmpty(direct)) { + params.put("direct", direct); + } + if (fromId != null) { + params.put("from_id", fromId); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiCoinMarginedSwapAPIOptions.SWAP_SUB_ACCOUNT_LIST, params,sign); + logger.debug("body:{}", body); + SwapSubAccountListResponse response = JSON.parseObject(body, SwapSubAccountListResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapSubAccountInfoResponse getSwapSubAccountInfo(String contractCode, Long subUid) { + String body; + try { + Map params = new HashMap<>(); + if (StringUtils.isNotEmpty(contractCode)) { + params.put("contract_code", contractCode.toUpperCase().toUpperCase()); + } + params.put("sub_uid", subUid); + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiCoinMarginedSwapAPIOptions.SWAP_SUB_ACCOUNT_INFO, params,sign); + logger.debug("body:{}", body); + SwapSubAccountInfoResponse response = JSON.parseObject(body, SwapSubAccountInfoResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapSubPositionInfoResponse getSwapSubPositionInfo(String contractCode, Long subUid) { + String body; + try { + Map params = new HashMap<>(); + if (StringUtils.isNotEmpty(contractCode)) { + params.put("contract_code", contractCode.toUpperCase().toUpperCase()); + } + params.put("sub_uid", subUid); + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiCoinMarginedSwapAPIOptions.SWAP_SUB_POSITION_INFO, params,sign); + logger.debug("body:{}", body); + SwapSubPositionInfoResponse response = JSON.parseObject(body, SwapSubPositionInfoResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapOrderLimitResponse getSwapOrderLimitResponse(String contractCode, String orderPriceType) { + String body; + try { + Map params = new HashMap<>(); + if (StringUtils.isNoneEmpty(contractCode)) { + params.put("contract_code", contractCode.toUpperCase()); + } + params.put("order_price_type", orderPriceType); + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiCoinMarginedSwapAPIOptions.SWAP_ORDER_LIMIT, params,sign); + logger.debug("body:{}", body); + SwapOrderLimitResponse response = JSON.parseObject(body, SwapOrderLimitResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapFeeResponse getSwapFeeResponse(String contractCode) { + String body; + try { + Map params = new HashMap<>(); + if (StringUtils.isNoneEmpty(contractCode)) { + params.put("contract_code", contractCode.toUpperCase()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiCoinMarginedSwapAPIOptions.SWAP_FEE, params,sign); + logger.debug("body:{}", body); + SwapFeeResponse response = JSON.parseObject(body, SwapFeeResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapTransferLimitResponse getSwapTransferLimitResponse(String contractCode) { + String body; + try { + Map params = new HashMap<>(); + if (StringUtils.isNoneEmpty(contractCode)) { + params.put("contract_code", contractCode.toUpperCase()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiCoinMarginedSwapAPIOptions.SWAP_TRANSFER_LIMIT, params,sign); + logger.debug("body:{}", body); + SwapTransferLimitResponse response = JSON.parseObject(body, SwapTransferLimitResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapPositionLimitResponse getSwapPositionLimitResponse(String contractCode) { + String body; + try { + Map params = new HashMap<>(); + if (StringUtils.isNoneEmpty(contractCode)) { + params.put("contract_code", contractCode.toUpperCase()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiCoinMarginedSwapAPIOptions.SWAP_POSITION_LIMIT, params,sign); + logger.debug("body:{}", body); + SwapPositionLimitResponse response = JSON.parseObject(body, SwapPositionLimitResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapMasterSubTransferResponse getSwapMasterSubTransferResponse(SwapMasterSubTransferRequest request) { + String body; + try { + Map params = new HashMap<>(); + params.put("sub_uid", request.getSubUid()); + params.put("contract_code",request.getContractCode()); + params.put("amount", request.getAmount()); + params.put("type", request.getType()); + params.put("client_order_id", request.getClientOrderId()); + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiCoinMarginedSwapAPIOptions.SWAP_MASTER_SUB_TRANSFER, params,sign); + logger.debug("body:{}", body); + SwapMasterSubTransferResponse response = JSON.parseObject(body, SwapMasterSubTransferResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapMasterSubTransferRecordResponse getSwapMasterSubTransferRecordResponse(SwapMasterSubTransferRecordRequest request) { + String body; + try { + Map params = new HashMap<>(); + params.put("contract_code", request.getContractCode().toUpperCase()); + if (request.getTransferType() != null) { + params.put("transfer_type", request.getTransferType()); + } + params.put("create_date", request.getCreateDate()); + if (request.getPageIndex() != null) { + params.put("page_index", request.getPageIndex()); + } + if (request.getPageSize() != null) { + params.put("page_size", request.getPageSize()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiCoinMarginedSwapAPIOptions.SWAP_MASTER_SUB_TRANSFER_RECORD, params,sign); + logger.debug("body:{}", body); + SwapMasterSubTransferRecordResponse response = JSON.parseObject(body, SwapMasterSubTransferRecordResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + + @Override + public SwapApiTradingStatusResponse getSwapApiTradingStatusResponse() { + String body; + Map params = new HashMap<>(); + try { + body = HbdmHttpClient.getInstance().doGetKey(api_key, secret_key, url_prex + HuobiCoinMarginedSwapAPIOptions.SWAP_API_TRADING_STATUS, params); + logger.debug("body:{}", body); + SwapApiTradingStatusResponse response = JSON.parseObject(body, SwapApiTradingStatusResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapUserSettlementRecordsResponse getSwapUserSettlementRecords(SwapUserSettlementRecordsRequest request) { + String body; + try { + Map params = new HashMap<>(); + params.put("contract_code", request.getContractCode().toUpperCase()); + if (request.getStartTime()!=null) { + params.put("start_time", request.getStartTime()); + } + if (request.getEndTime() != null) { + params.put("end_time", request.getEndTime()); + } + if (request.getPageIndex() != null) { + params.put("page_index", request.getPageIndex()); + } + if (request.getPageSize()!=null){ + params.put("page_size",request.getPageSize()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiCoinMarginedSwapAPIOptions.SWAP_USER_SETTLEMENT_RECORDS, params,sign); + logger.debug("body:{}", body); + SwapUserSettlementRecordsResponse response = JSON.parseObject(body, SwapUserSettlementRecordsResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapAvailableLevelRateResponse getSwapAvailableLevelRate(String contractCode) { + String body; + try { + Map params = new HashMap<>(); + params.put("contract_code", contractCode.toUpperCase()); + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiCoinMarginedSwapAPIOptions.SWAP_AVAILABLE_LEVEL_RATE, params,sign); + logger.debug("body:{}", body); + SwapAvailableLevelRateResponse response = JSON.parseObject(body, SwapAvailableLevelRateResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapSubAuthResponse getSwapSubAuth(String subUid, Integer subAuth) { + String body; + try { + Map params = new HashMap<>(); + params.put("sub_uid", subUid); + params.put("sub_auth", subAuth); + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiCoinMarginedSwapAPIOptions.SWAP_SUB_AUTH, params,sign); + logger.debug("body:{}", body); + SwapSubAuthResponse response = JSON.parseObject(body, SwapSubAuthResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapSubAccountInfoListResponse getSwapSubAccountInfoList(String contractCode, Integer pageIndex, Integer pageSize) { + String body; + try { + Map params = new HashMap<>(); + if (contractCode!=null) { + params.put("contract_code", contractCode.toUpperCase()); + } + if (pageIndex!=null) { + params.put("page_index", pageIndex); + } + if (pageSize!=null){ + params.put("page_size",pageSize); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiCoinMarginedSwapAPIOptions.SWAP_SUB_ACCOUNT_INFO_LIST, params,sign); + logger.debug("body:{}", body); + SwapSubAccountInfoListResponse response = JSON.parseObject(body, SwapSubAccountInfoListResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapBalanceValuationResponse getSwapBalanceValuation(String ValuationAsset) { + String body; + Map params = new HashMap<>(); + try { + if (StringUtils.isNotEmpty(ValuationAsset)){ + params.put("valuation_asset",ValuationAsset.toUpperCase()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiCoinMarginedSwapAPIOptions.SWAP_BALANCE_VALUATION, params,sign); + logger.debug("body:{}", body); + SwapBalanceValuationResponse response = JSON.parseObject(body, SwapBalanceValuationResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapFinancialRecordV3Response getSwapFinancialRecordV3(SwapFinancialRecordV3Request request) { + String body; + Map params = new HashMap<>(); + try { + if (request.getStartTime() != null) { + params.put("start_time", request.getStartTime()); + } + if (request.getEndTime() != null) { + params.put("end_time", request.getEndTime()); + } + if (StringUtils.isNotEmpty(request.getDirect())) { + params.put("direct", request.getDirect()); + } + if (request.getFromId() != null) { + params.put("from_id", request.getFromId()); + } + if (StringUtils.isNotEmpty(request.getContract())) { + params.put("contract", request.getContract().toUpperCase()); + } + if (request.getType() != null) { + params.put("type", request.getType()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiCoinMarginedSwapAPIOptions.SWAP_FINANCIAL_RECORD_V3, params,sign); + logger.debug("body:{}", body); + SwapFinancialRecordV3Response response = JSON.parseObject(body, SwapFinancialRecordV3Response.class); + if (response.getCode() != null && response.getCode() == 200) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapFinancialRecordExactV3Response getSwapFinancialRecordExactV3(SwapFinancialRecordExactV3Request request) { + String body; + Map params = new HashMap<>(); + try { + if (request.getStartTime() != null) { + params.put("start_time", request.getStartTime()); + } + if (request.getEndTime() != null) { + params.put("end_time", request.getEndTime()); + } + if (StringUtils.isNotEmpty(request.getDirect())) { + params.put("direct", request.getDirect()); + } + if (request.getFromId() != null) { + params.put("from_id", request.getFromId()); + } + if (StringUtils.isNotEmpty(request.getContract())) { + params.put("contract", request.getContract().toUpperCase()); + } + if (request.getType() != null) { + params.put("type", request.getType()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiCoinMarginedSwapAPIOptions.SWAP_FINANCIAL_RECORD_EXACT_V3, params,sign); + logger.debug("body:{}", body); + SwapFinancialRecordExactV3Response response = JSON.parseObject(body, SwapFinancialRecordExactV3Response.class); + if (response.getCode() != null && response.getCode() == 200) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapSubAuthListResponse getSwapSubAuthList(SwapSubAuthListRequest request) { + String body; + Map params = new HashMap<>(); + try { + if (request.getStartTime() != null) { + params.put("start_time", request.getStartTime()); + } + if (request.getEndTime() != null) { + params.put("end_time", request.getEndTime()); + } + if (StringUtils.isNotEmpty(request.getDirect())) { + params.put("direct", request.getDirect()); + } + if (request.getFromId() != null) { + params.put("from_id", request.getFromId()); + } + if (StringUtils.isNotEmpty(request.getSubUid())) { + params.put("sub_uid", request.getSubUid()); + } + body = HbdmHttpClient.getInstance().doGetKey(api_key, secret_key, url_prex + HuobiCoinMarginedSwapAPIOptions.SWAP_SUB_AUTH_LIST, params); + logger.debug("body:{}", body); + SwapSubAuthListResponse response = JSON.parseObject(body, SwapSubAuthListResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + +} diff --git a/src/main/java/com/huobi/api/service/coin_swap/market/MarketAPIService.java b/src/main/java/com/huobi/api/service/coin_swap/market/MarketAPIService.java new file mode 100644 index 0000000..7cba51e --- /dev/null +++ b/src/main/java/com/huobi/api/service/coin_swap/market/MarketAPIService.java @@ -0,0 +1,37 @@ +package com.huobi.api.service.coin_swap.market; + + +import com.huobi.api.request.coin_swap.account.LinearSwapBasisRequest; +import com.huobi.api.request.coin_swap.account.SwapLiquidationOrdersRequest; +import com.huobi.api.request.coin_swap.account.SwapMarketHistoryKlineRequest; +import com.huobi.api.request.coin_swap.market.SwapSettlementRecordsRequest; +import com.huobi.api.request.usdt.account.SwapLiquidationOrdersV3Request; +import com.huobi.api.response.coin_swap.market.*; +import com.huobi.api.response.usdt.account.SwapLiquidationOrdersV3Response; +import com.huobi.api.response.usdt.market.BatchMergedV2Response; +import com.huobi.api.response.usdt.market.SwapQueryElementsResponse; +import com.huobi.api.response.usdt.market.SwapSettlementRecordsResponse; + +public interface MarketAPIService { + SwapMarketDepthResponse getSwapMarketDepth(String contractCode, String type);// 1.获取行情深度数据 + + MarketBboResponse getMarketBbo(String contractCode);// 2.获取市场最优挂单 + + SwapMarketHistoryKlineResponse getSwapMarketHistoryKline(SwapMarketHistoryKlineRequest request);// 3.获取K线数据 + + SwapMarkPriceKlineResponse getSwapMarkPriceKline(String contractCode,String period,Integer size);// 4.获取标记价格的 K 线数据 + + SwapMarketDetailMergedResponse getSwapMarketDetailMerged(String contractCode);// 5.获取聚合行情 + + BatchMergedV2Response getBatchMergedV2(String contractCode);// 6.批量获取聚合行情(V2) + + SwapMarketTradeResponse getSwapMarketTrade(String contractCode);// 7.获取市场最近成交记录 + + SwapMarketHistoryTradeResponse getSwapMarketHistoryTrade(String contractCode,Integer size);// 8.批量获取最近的交易记录 + + LinearSwapPremiumIndexKlineResponse getLinearSwapPremiumIndexKline(String contractCode,String period,Integer size);// 9.获取溢价指数K线数据 + + LinearSwapEstimatedRateKlineResponse getLinearSwapEstimatedRateKline(String contractCode,String period,Integer size);// 10.获取预测资金费率的K线数据 + + LinearSwapBasisResponse getLinearSwapBasis(LinearSwapBasisRequest request);// 11.获取基差数据 +} diff --git a/src/main/java/com/huobi/api/service/coin_swap/market/MarketAPIServiceImpl.java b/src/main/java/com/huobi/api/service/coin_swap/market/MarketAPIServiceImpl.java new file mode 100644 index 0000000..65c92b0 --- /dev/null +++ b/src/main/java/com/huobi/api/service/coin_swap/market/MarketAPIServiceImpl.java @@ -0,0 +1,257 @@ +package com.huobi.api.service.coin_swap.market; + +import com.alibaba.fastjson.JSON; +import com.huobi.api.constants.HuobiCoinMarginedSwapAPIOptions; +import com.huobi.api.exception.ApiException; +import com.huobi.api.request.coin_swap.account.LinearSwapBasisRequest; +import com.huobi.api.request.coin_swap.account.SwapLiquidationOrdersRequest; +import com.huobi.api.request.coin_swap.account.SwapMarketHistoryKlineRequest; +import com.huobi.api.request.coin_swap.market.SwapSettlementRecordsRequest; +import com.huobi.api.request.usdt.account.SwapLiquidationOrdersV3Request; +import com.huobi.api.response.coin_swap.market.*; +import com.huobi.api.response.usdt.account.SwapLiquidationOrdersV3Response; +import com.huobi.api.response.usdt.market.BatchMergedV2Response; +import com.huobi.api.response.usdt.market.SwapQueryElementsResponse; +import com.huobi.api.response.usdt.market.SwapSettlementRecordsResponse; +import com.huobi.api.util.HbdmHttpClient; +import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.HashMap; +import java.util.Map; + +public class MarketAPIServiceImpl implements MarketAPIService { + + String url_prex = "https://api.hbdm.com"; + Logger logger = LoggerFactory.getLogger(getClass()); + + @Override + public SwapMarketDepthResponse getSwapMarketDepth(String contractCode, String type) { + String body; + try { + Map params = new HashMap<>(); + params.put("contract_code", contractCode.toUpperCase()); + params.put("type", type); + body = HbdmHttpClient.getInstance().doGet(url_prex + HuobiCoinMarginedSwapAPIOptions.SWAP_MARKET_DEPTH, params); + logger.debug("body:{}", body); + SwapMarketDepthResponse response = JSON.parseObject(body, SwapMarketDepthResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapMarketHistoryKlineResponse getSwapMarketHistoryKline(SwapMarketHistoryKlineRequest request) { + String body; + try { + Map params = new HashMap<>(); + params.put("contract_code", request.getContractCode().toUpperCase()); + params.put("period", request.getPeriod()); + if (request.getSize() != null) { + params.put("size", request.getSize()); + } + if (request.getTo() != null) { + params.put("to", request.getTo()); + } + if (request.getFrom() != null) { + params.put("from", request.getFrom()); + } + body = HbdmHttpClient.getInstance().doGet(url_prex + HuobiCoinMarginedSwapAPIOptions.SWAP_MARKET_HISTORY_KLINE, params); + logger.debug("body:{}", body); + SwapMarketHistoryKlineResponse response = JSON.parseObject(body, SwapMarketHistoryKlineResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + + @Override + public SwapMarketDetailMergedResponse getSwapMarketDetailMerged(String contractCode) { + String body; + try { + Map params = new HashMap<>(); + params.put("contract_code", contractCode.toUpperCase()); + body = HbdmHttpClient.getInstance().doGet(url_prex + HuobiCoinMarginedSwapAPIOptions.SWAP_MARKET_DETAIL_MERGED, params); + logger.debug("body:{}", body); + SwapMarketDetailMergedResponse response = JSON.parseObject(body, SwapMarketDetailMergedResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + + } + + @Override + public SwapMarketTradeResponse getSwapMarketTrade(String contractCode) { + String body; + try { + Map params = new HashMap<>(); + params.put("contract_code", contractCode.toUpperCase()); + body = HbdmHttpClient.getInstance().doGet(url_prex + HuobiCoinMarginedSwapAPIOptions.SWAP_MARKET_TRADE, params); + logger.debug("body:{}", body); + SwapMarketTradeResponse response = JSON.parseObject(body, SwapMarketTradeResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapMarketHistoryTradeResponse getSwapMarketHistoryTrade(String contractCode, Integer size) { + String body; + try { + Map params = new HashMap<>(); + params.put("contract_code", contractCode.toUpperCase()); + if (size != null) { + params.put("size", size); + } + body = HbdmHttpClient.getInstance().doGet(url_prex + HuobiCoinMarginedSwapAPIOptions.SWAP_MARKET_HISTORY_TRADE, params); + logger.debug("body:{}", body); + SwapMarketHistoryTradeResponse response = JSON.parseObject(body, SwapMarketHistoryTradeResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public LinearSwapPremiumIndexKlineResponse getLinearSwapPremiumIndexKline(String contractCode, String period, Integer size) { + String body; + try { + Map params = new HashMap<>(); + params.put("contract_code", contractCode.toUpperCase()); + params.put("period", period); + params.put("size", size); + body = HbdmHttpClient.getInstance().doGet(url_prex + HuobiCoinMarginedSwapAPIOptions.LINEAR_SWAP_PREMIUM_INDEX_KLINE, params); + logger.debug("body:{}", body); + LinearSwapPremiumIndexKlineResponse response = JSON.parseObject(body, LinearSwapPremiumIndexKlineResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public LinearSwapEstimatedRateKlineResponse getLinearSwapEstimatedRateKline(String contractCode, String period, Integer size) { + String body; + try { + Map params = new HashMap<>(); + params.put("contract_code", contractCode.toUpperCase()); + params.put("period", period); + params.put("size", size); + body = HbdmHttpClient.getInstance().doGet(url_prex + HuobiCoinMarginedSwapAPIOptions.LINEAR_SWAP_ESTIMATED_RATE_KLINE, params); + logger.debug("body:{}", body); + LinearSwapEstimatedRateKlineResponse response = JSON.parseObject(body, LinearSwapEstimatedRateKlineResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public LinearSwapBasisResponse getLinearSwapBasis(LinearSwapBasisRequest request) { + String body; + try { + Map params = new HashMap<>(); + params.put("contract_code", request.getContractCode().toUpperCase()); + params.put("period", request.getPeriod()); + params.put("size", request.getSize()); + if (StringUtils.isNoneEmpty(request.getBasisPriceType())) { + params.put("basis_price_type", request.getBasisPriceType()); + } + body = HbdmHttpClient.getInstance().doGet(url_prex + HuobiCoinMarginedSwapAPIOptions.LINEAR_SWAP_BASIS, params); + logger.debug("body:{}", body); + LinearSwapBasisResponse response = JSON.parseObject(body, LinearSwapBasisResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapMarkPriceKlineResponse getSwapMarkPriceKline(String contractCode, String period, Integer size) { + String body; + try { + Map params = new HashMap<>(); + params.put("contract_code", contractCode.toUpperCase()); + params.put("period", period); + params.put("size", size); + body = HbdmHttpClient.getInstance().doGet(url_prex + HuobiCoinMarginedSwapAPIOptions.SWAP_MARK_PRICE_KLINE, params); + logger.debug("body:{}", body); + SwapMarkPriceKlineResponse response = JSON.parseObject(body, SwapMarkPriceKlineResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public MarketBboResponse getMarketBbo(String contractCode) { + String body; + try { + Map params = new HashMap<>(); + if (StringUtils.isNotEmpty(contractCode)) { + params.put("contract_code", contractCode.toUpperCase()); + } + body = HbdmHttpClient.getInstance().doGet(url_prex + HuobiCoinMarginedSwapAPIOptions.MARKET_BBO, params); + logger.debug("body:{}", body); + MarketBboResponse response = JSON.parseObject(body, MarketBboResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public BatchMergedV2Response getBatchMergedV2(String contractCode) { + String body; + try { + Map params = new HashMap<>(); + if (StringUtils.isNotEmpty(contractCode)) { + params.put("contract_code", contractCode); + } + body = HbdmHttpClient.getInstance().doGet(url_prex + HuobiCoinMarginedSwapAPIOptions.BATCH_MERGED_V2, params); + logger.debug("body:{}", body); + BatchMergedV2Response response = JSON.parseObject(body, BatchMergedV2Response.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } +} \ No newline at end of file diff --git a/src/main/java/com/huobi/api/service/coin_swap/reference/ReferenceAPIService.java b/src/main/java/com/huobi/api/service/coin_swap/reference/ReferenceAPIService.java new file mode 100644 index 0000000..b70e996 --- /dev/null +++ b/src/main/java/com/huobi/api/service/coin_swap/reference/ReferenceAPIService.java @@ -0,0 +1,54 @@ +package com.huobi.api.service.coin_swap.reference; + +import com.huobi.api.request.coin_swap.market.SwapSettlementRecordsRequest; +import com.huobi.api.request.usdt.account.SwapLiquidationOrdersV3Request; +import com.huobi.api.response.coin_swap.market.*; +import com.huobi.api.response.usdt.account.SwapLiquidationOrdersV3Response; +import com.huobi.api.response.usdt.market.SwapQueryElementsResponse; +import com.huobi.api.response.usdt.market.SwapSettlementRecordsResponse; + +public interface ReferenceAPIService { + public SwapRiskInfoResponse getSwapRiskInfo(String contractCode);// 1.查询合约风险准备金和预估分摊比例 + + public SwapInsuranceFundResponse getSwapInsuranceFund(String contractCode, Integer pageIndex, Integer pageSize);// 2.获取风险准备金历史数据 + + public SwapAdjustfactorResponse getSwapAdjustfactor(String contractCode);// 3.查询平台阶梯调整系数 + + public SwapHisOpenInterestResponse getSwapHisOpenInterest(String contractCode, String period, Integer size, Integer amountType);// 4.平台持仓量的查询 + + public SwapLadderMarginResponse getSwapLadderMargin(String contractCode);// 5.获取平台阶梯保证金 + + public SwapEliteAccountRatioResponse getSwapEliteAccountRatio(String contractCode, String period);// 6.精英账户多空持仓对比-账户数 + + public SwapElitePositionRatioResponse getSwapElitePositionRatio(String contractCode, String period);// 7.精英账户多空持仓对比-持仓量 + + public SwapEstimatedSettlementPriceResponse getSwapEstimatedSettlementPrice(String contractCode);// 8.获取预估结算价 + + public SwapApiStateResponse getSwapApiState(String contractCode);// 9.查询系统状态 + + public SwapFundingRateResponse getSwapFundingRate(String contractCode);// 10.获取合约的资金费率 + + public SwapBatchFundingRateResponse getSwapBatchFundingRate(String contractCode);// 11.批量获取合约资金费率 + + public SwapHistoricalFundingRateResponse getSwapHistoricalFundingRate(String contractCode, Integer pageIndex, Integer pageSize);// 12.获取合约的历史资金费率 + + public SwapLiquidationOrdersV3Response getSwapLiquidationOrdersV3(SwapLiquidationOrdersV3Request request);// 13.获取强平订单(新) + + public SwapSettlementRecordsResponse getSwapSettlementRecords(SwapSettlementRecordsRequest request);// 14.查询平台历史结算记录 + + public SwapContractInfoResponse getSwapContractInfo(String contractCode);// 15.获取合约信息 + + public SwapIndexResponse getSwapIndex(String contractCode);// 16.获取合约指数信息 + + public SwapQueryElementsResponse getSwapQueryElements(String contractCode);// 17.合约要素 + + public SwapPriceLimitResponse getSwapPriceLimit(String contractCode);// 18.获取合约最高限价和最低限价 + + public SwapOpenInterestResponse getSwapOpenInterest(String contractCode);// 19.获取当前可用合约总持仓量 + + public TimestampReponse getTimestamp();// 20.获取当前系统时间戳 + + public HeartBeatResponse getHeartBeat();// 21.查询系统是否可用 + + public SummaryResponse getSummary();// 22.获取当前系统状态 +} diff --git a/src/main/java/com/huobi/api/service/coin_swap/reference/ReferenceAPIServiceImpl.java b/src/main/java/com/huobi/api/service/coin_swap/reference/ReferenceAPIServiceImpl.java new file mode 100644 index 0000000..8ce075f --- /dev/null +++ b/src/main/java/com/huobi/api/service/coin_swap/reference/ReferenceAPIServiceImpl.java @@ -0,0 +1,484 @@ +package com.huobi.api.service.coin_swap.reference; + +import com.alibaba.fastjson.JSON; +import com.huobi.api.constants.HuobiCoinMarginedSwapAPIOptions; +import com.huobi.api.exception.ApiException; +import com.huobi.api.request.coin_swap.market.SwapSettlementRecordsRequest; +import com.huobi.api.request.usdt.account.SwapLiquidationOrdersV3Request; +import com.huobi.api.response.coin_swap.market.*; +import com.huobi.api.response.usdt.account.SwapLiquidationOrdersV3Response; +import com.huobi.api.response.usdt.market.SwapQueryElementsResponse; +import com.huobi.api.response.usdt.market.SwapSettlementRecordsResponse; +import com.huobi.api.util.HbdmHttpClient; +import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.HashMap; +import java.util.Map; + +public class ReferenceAPIServiceImpl implements ReferenceAPIService{ + String url_prex = "https://api.hbdm.com"; + Logger logger = LoggerFactory.getLogger(getClass()); + @Override + public SwapRiskInfoResponse getSwapRiskInfo(String contractCode) { + String body; + try { + Map params = new HashMap<>(); + params.put("contract_code", contractCode.toUpperCase()); + body = HbdmHttpClient.getInstance().doGet(url_prex + HuobiCoinMarginedSwapAPIOptions.SWAP_RISK_INFO, params); + logger.debug("body:{}", body); + SwapRiskInfoResponse response = JSON.parseObject(body, SwapRiskInfoResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapInsuranceFundResponse getSwapInsuranceFund(String contractCode, Integer pageIndex, Integer pageSize) { + String body; + try { + Map params = new HashMap<>(); + params.put("contract_code", contractCode.toUpperCase()); + if (pageIndex != null) { + params.put("page_index", pageIndex); + } + if (pageSize != null) { + params.put("page_size", pageSize); + } + body = HbdmHttpClient.getInstance().doGet(url_prex + HuobiCoinMarginedSwapAPIOptions.SWAP_INSURANCE_FUND, params); + logger.debug("body:{}", body); + SwapInsuranceFundResponse response = JSON.parseObject(body, SwapInsuranceFundResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + @Override + public SwapAdjustfactorResponse getSwapAdjustfactor(String contractCode) { + String body; + try { + Map params = new HashMap<>(); + if (StringUtils.isNoneEmpty(contractCode)) { + params.put("contract_code", contractCode.toUpperCase()); + } + body = HbdmHttpClient.getInstance().doGet(url_prex + HuobiCoinMarginedSwapAPIOptions.SWAP_ADJUSTFACTOR, params); + logger.debug("body:{}", body); + SwapAdjustfactorResponse response = JSON.parseObject(body, SwapAdjustfactorResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapHisOpenInterestResponse getSwapHisOpenInterest(String contractCode, String period, Integer size, Integer amountType) { + String body; + try { + Map params = new HashMap<>(); + params.put("contract_code", contractCode.toUpperCase()); + params.put("period", period); + if (size != null) { + params.put("size", size); + } + if (amountType != null) { + params.put("amount_type", amountType); + } + body = HbdmHttpClient.getInstance().doGet(url_prex + HuobiCoinMarginedSwapAPIOptions.SWAP_HIS_OPEN_INTEREST, params); + logger.debug("body:{}", body); + SwapHisOpenInterestResponse response = JSON.parseObject(body, SwapHisOpenInterestResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapLadderMarginResponse getSwapLadderMargin(String contractCode) { + String body; + try { + Map params = new HashMap<>(); + if (contractCode!=null) { + params.put("contract_code", contractCode.toUpperCase()); + } + body = HbdmHttpClient.getInstance().doGet(url_prex + HuobiCoinMarginedSwapAPIOptions.SWAP_LADDER_MARGIN, params); + logger.debug("body:{}", body); + SwapLadderMarginResponse response = JSON.parseObject(body, SwapLadderMarginResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapEliteAccountRatioResponse getSwapEliteAccountRatio(String contractCode, String period) { + String body; + try { + Map params = new HashMap<>(); + params.put("contract_code", contractCode.toUpperCase()); + params.put("period", period); + body = HbdmHttpClient.getInstance().doGet(url_prex + HuobiCoinMarginedSwapAPIOptions.SWAP_ELITE_ACCOUNT_RATIO, params); + logger.debug("body:{}", body); + SwapEliteAccountRatioResponse response = JSON.parseObject(body, SwapEliteAccountRatioResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapElitePositionRatioResponse getSwapElitePositionRatio(String contractCode, String period) { + String body; + try { + Map params = new HashMap<>(); + params.put("contract_code", contractCode.toUpperCase()); + params.put("period", period); + body = HbdmHttpClient.getInstance().doGet(url_prex + HuobiCoinMarginedSwapAPIOptions.SWAP_ELITE_POSITION_RATIO, params); + logger.debug("body:{}", body); + SwapElitePositionRatioResponse response = JSON.parseObject(body, SwapElitePositionRatioResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapEstimatedSettlementPriceResponse getSwapEstimatedSettlementPrice(String contractCode) { + String body; + try { + Map params = new HashMap<>(); + if (StringUtils.isNoneEmpty(contractCode)) { + params.put("contract_code", contractCode.toUpperCase()); + } + body = HbdmHttpClient.getInstance().doGet(url_prex + HuobiCoinMarginedSwapAPIOptions.SWAP_ESTIMATED_SETTLEMENT_PRICE, params); + logger.debug("body:{}", body); + SwapEstimatedSettlementPriceResponse response = JSON.parseObject(body, SwapEstimatedSettlementPriceResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapApiStateResponse getSwapApiState(String contractCode) { + String body; + try { + Map params = new HashMap<>(); + if (StringUtils.isNoneEmpty(contractCode)) { + params.put("contract_code", contractCode.toUpperCase()); + } + body = HbdmHttpClient.getInstance().doGet(url_prex + HuobiCoinMarginedSwapAPIOptions.SWAP_API_STATE, params); + logger.debug("body:{}", body); + SwapApiStateResponse response = JSON.parseObject(body, SwapApiStateResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapFundingRateResponse getSwapFundingRate(String contractCode) { + String body; + try { + Map params = new HashMap<>(); + params.put("contract_code", contractCode.toUpperCase()); + body = HbdmHttpClient.getInstance().doGet(url_prex + HuobiCoinMarginedSwapAPIOptions.SWAP_FUNDING_RATE, params); + logger.debug("body:{}", body); + SwapFundingRateResponse response = JSON.parseObject(body, SwapFundingRateResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapBatchFundingRateResponse getSwapBatchFundingRate(String contractCode) { + String body; + try { + Map params = new HashMap<>(); + if (StringUtils.isNotEmpty(contractCode)) { + params.put("contract_code", contractCode.toUpperCase()); + } + body = HbdmHttpClient.getInstance().doGet(url_prex + HuobiCoinMarginedSwapAPIOptions.SWAP_BATCH_FUNDING_RATE, params); + logger.debug("body:{}", body); + SwapBatchFundingRateResponse response = JSON.parseObject(body, SwapBatchFundingRateResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapHistoricalFundingRateResponse getSwapHistoricalFundingRate(String contractCode, Integer pageIndex, Integer pageSize) { + String body; + try { + Map params = new HashMap<>(); + params.put("contract_code", contractCode.toUpperCase()); + if (pageIndex != null) { + params.put("page_index", pageIndex); + } + if (pageSize != null) { + params.put("page_size", pageSize); + } + body = HbdmHttpClient.getInstance().doGet(url_prex + HuobiCoinMarginedSwapAPIOptions.SWAP_HISTORICAL_FUNDING_RATE, params); + logger.debug("body:{}", body); + SwapHistoricalFundingRateResponse response = JSON.parseObject(body, SwapHistoricalFundingRateResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapLiquidationOrdersV3Response getSwapLiquidationOrdersV3(SwapLiquidationOrdersV3Request request) { + String body; + try { + Map params = new HashMap<>(); + if (request.getStartTime() != null) { + params.put("start_time", request.getStartTime()); + } + if (request.getEndTime() != null) { + params.put("end_time", request.getEndTime()); + } + if (StringUtils.isNotEmpty(request.getDirect())) { + params.put("direct", request.getDirect()); + } + if (request.getFromId() != null) { + params.put("from_id", request.getFromId()); + } + if (StringUtils.isNotEmpty(request.getContract())) { + params.put("contract", request.getContract().toUpperCase()); + } + if (request.getTradeType() != null) { + params.put("trade_type", request.getTradeType()); + } + body = HbdmHttpClient.getInstance().doGet(url_prex + HuobiCoinMarginedSwapAPIOptions.SWAP_LIQUIDATION_ORDERS_V3, params); + logger.debug("body:{}", body); + SwapLiquidationOrdersV3Response response = JSON.parseObject(body, SwapLiquidationOrdersV3Response.class); + if (response.getCode() != null && response.getCode() == 200) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapSettlementRecordsResponse getSwapSettlementRecords(SwapSettlementRecordsRequest request) { + String body; + try { + Map params = new HashMap<>(); + if (request.getStartTime() != null) { + params.put("start_time", request.getStartTime()); + } + if (request.getEndTime() != null) { + params.put("end_time", request.getEndTime()); + } + if (StringUtils.isNotEmpty(request.getContractCode())) { + params.put("contract_code", request.getContractCode().toUpperCase()); + } + if (request.getPageIndex() != null) { + params.put("page_index", request.getPageIndex()); + } + if (request.getPageSize() != null) { + params.put("page_size", request.getPageSize()); + } + body = HbdmHttpClient.getInstance().doGet(url_prex + HuobiCoinMarginedSwapAPIOptions.SWAP_SETTLEMENT_RECORDS, params); + logger.debug("body:{}", body); + SwapSettlementRecordsResponse response = JSON.parseObject(body, SwapSettlementRecordsResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapContractInfoResponse getSwapContractInfo(String contractCode) { + String body; + try { + Map params = new HashMap<>(); + if (StringUtils.isNoneEmpty(contractCode)) { + params.put("contract_code", contractCode.toUpperCase()); + } + body = HbdmHttpClient.getInstance().doGet(url_prex + HuobiCoinMarginedSwapAPIOptions.SWAP_CONTRACT_INFO, params); + logger.debug("body:{}", body); + SwapContractInfoResponse response = JSON.parseObject(body, SwapContractInfoResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapIndexResponse getSwapIndex(String contractCode) { + String body; + try { + Map params = new HashMap<>(); + if (StringUtils.isNoneEmpty(contractCode)) { + params.put("contract_code", contractCode.toUpperCase()); + } + body = HbdmHttpClient.getInstance().doGet(url_prex + HuobiCoinMarginedSwapAPIOptions.SWAP_INDEX, params); + logger.debug("body:{}", body); + SwapIndexResponse response = JSON.parseObject(body, SwapIndexResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapQueryElementsResponse getSwapQueryElements(String contractCode) { + String body; + try { + Map params = new HashMap<>(); + if (StringUtils.isNotEmpty(contractCode)) { + params.put("contract_code", contractCode); + } + body = HbdmHttpClient.getInstance().doGet(url_prex + HuobiCoinMarginedSwapAPIOptions.SWAP_QUERY_ELEMENTS, params); + logger.debug("body:{}", body); + SwapQueryElementsResponse response = JSON.parseObject(body, SwapQueryElementsResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapPriceLimitResponse getSwapPriceLimit(String contractCode) { + String body; + try { + Map params = new HashMap<>(); + params.put("contract_code", contractCode.toUpperCase()); + body = HbdmHttpClient.getInstance().doGet(url_prex + HuobiCoinMarginedSwapAPIOptions.SWAP_PRICE_LIMIT, params); + logger.debug("body:{}", body); + SwapPriceLimitResponse response = JSON.parseObject(body, SwapPriceLimitResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapOpenInterestResponse getSwapOpenInterest(String contractCode) { + String body; + try { + Map params = new HashMap<>(); + if (StringUtils.isNoneEmpty(contractCode)) { + params.put("contract_code", contractCode.toUpperCase()); + } + body = HbdmHttpClient.getInstance().doGet(url_prex + HuobiCoinMarginedSwapAPIOptions.SWAP_OPEN_INTEREST, params); + logger.debug("body:{}", body); + SwapOpenInterestResponse response = JSON.parseObject(body, SwapOpenInterestResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public TimestampReponse getTimestamp() { + String body; + try { + Map params = new HashMap<>(); + body = HbdmHttpClient.getInstance().doGet(url_prex + HuobiCoinMarginedSwapAPIOptions.TIMESTAMP, params); + logger.debug("body:{}", body); + TimestampReponse response = JSON.parseObject(body, TimestampReponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public HeartBeatResponse getHeartBeat() { + String body; + try { + Map params = new HashMap<>(); + body = HbdmHttpClient.getInstance().doGet(url_prex + HuobiCoinMarginedSwapAPIOptions.HEARTBEAT, params); + logger.debug("body:{}", body); + HeartBeatResponse response = JSON.parseObject(body, HeartBeatResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SummaryResponse getSummary() { + String body; + try { + Map params = new HashMap<>(); + body = HbdmHttpClient.getInstance().doGet(HuobiCoinMarginedSwapAPIOptions.SUMMARY, params); + logger.debug("body:{}", body); + SummaryResponse response = JSON.parseObject(body, SummaryResponse.class); + return response; + } catch (Exception e) { + throw new ApiException(e); + } + } + +} diff --git a/src/main/java/com/huobi/api/service/coin_swap/strategy/StrategyAPIService.java b/src/main/java/com/huobi/api/service/coin_swap/strategy/StrategyAPIService.java new file mode 100644 index 0000000..1505402 --- /dev/null +++ b/src/main/java/com/huobi/api/service/coin_swap/strategy/StrategyAPIService.java @@ -0,0 +1,38 @@ +package com.huobi.api.service.coin_swap.strategy; + +import com.huobi.api.request.coin_swap.trade.*; +import com.huobi.api.response.coin_swap.trade.*; + +public interface StrategyAPIService { + public SwapTriggerOrderResponse swapTriggerOrderResponse(SwapTriggerOrderRequest request);// 1.计划委托下单 + + public SwapTriggerCancelResponse swapTriggerCancelResponse(SwapTriggerCancelRequest request);// 2.计划委托撤单 + + public SwapTriggerCancelallResponse swapTriggerCancelallResponse(SwapTriggerCancelallRequest request);// 3.计划委托全部撤单 + + public SwapTriggerOpenordersResponse swapTriggerOpenordersResponse(SwapTriggerOpenordersRequest request);// 4.获取计划委托当前委托 + + public SwapTriggerHisordersResponse swapTriggerHisordersResponse(SwapTriggerHisordersRequest request);// 5.获取计划委托历史委托 + + public SwapTpslOrderResponse swapTpslOrderResponse(SwapTpslOrderRequest request);// 6.对仓位设置止盈止损订单 + + public SwapTpslCancelResponse swapTpslCancelResponse(SwapTpslCancelRequest request);// 7.止盈止损订单撤单 + + public SwapTpslCancelallResponse swapTpslCancelallResponse(SwapTpslCancelallRequest request);// 8.止盈止损订单全部撤单 + + public SwapTpslOpenordersResponse swapTpslOpenordersResponse(SwapTpslOpenordersRequest request);// 9.查询止盈止损订单当前委托 + + public SwapTpslHisordersResponse swapTpslHisordersResponse(SwapTpslHisordersRequset request);// 10.查询止盈止损订单历史委托 + + public SwapRelationTpslOrderResponse swapRelationTpslOrderResponse(SwapRelationTpslOrderRequest request);// 11.查询开仓单关联的止盈止损订单详情 + + public SwapTrackOrderResponse swapTrackOrderResponse(SwapTrackOrderRequest request);// 12.跟踪委托订单下单 + + public SwapTrackCancelResponse swapTrackCancelResponse(SwapTrackCancelRequest request);// 13.跟踪委托订单撤单 + + public SwapTrackCancelallResponse swapTrackCancelallResponse(SwapTrackCancelallRequest request);// 14.跟踪委托订单全部撤单 + + public SwapTrackOpenordersResponse swapTrackOpenordersResponse(SwapTrackOpenordersRequest request);// 15.跟踪委托订单当前委托 + + public SwapTrackHisordersResponse swapTrackHisordersResponse(SwapTrackHisordersRequest request);// 16.跟踪委托订单历史委托 +} diff --git a/src/main/java/com/huobi/api/service/coin_swap/strategy/StrategyAPIServiceImpl.java b/src/main/java/com/huobi/api/service/coin_swap/strategy/StrategyAPIServiceImpl.java new file mode 100644 index 0000000..492c96f --- /dev/null +++ b/src/main/java/com/huobi/api/service/coin_swap/strategy/StrategyAPIServiceImpl.java @@ -0,0 +1,442 @@ +package com.huobi.api.service.coin_swap.strategy; + +import com.alibaba.fastjson.JSON; +import com.huobi.api.constants.HuobiCoinMarginedSwapAPIOptions; +import com.huobi.api.exception.ApiException; +import com.huobi.api.request.coin_swap.trade.*; +import com.huobi.api.response.coin_swap.trade.*; +import com.huobi.api.util.HbdmHttpClient; +import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.math.BigDecimal; +import java.util.HashMap; +import java.util.Map; + +public class StrategyAPIServiceImpl implements StrategyAPIService{ + String api_key = ""; // huobi申请的apiKey + String secret_key = ""; // huobi申请的secretKey + String sign = ""; + String url_prex = "https://api.hbdm.com"; + + Logger logger = LoggerFactory.getLogger(getClass()); + + public StrategyAPIServiceImpl(String api_key, String secret_key) { + this.api_key = api_key; + this.secret_key = secret_key; + } + + @Override + public SwapTriggerOrderResponse swapTriggerOrderResponse(SwapTriggerOrderRequest request) { + String body; + try { + Map params = new HashMap<>(); + params.put("contract_code", request.getContractCode().toUpperCase()); + params.put("trigger_type", request.getTriggerType()); + params.put("trigger_price", request.getTriggerPrice()); + params.put("volume", request.getVolume()); + params.put("direction", request.getDirection()); + params.put("offset", request.getOffset()); + if (request.getOrderPrice() != null) { + params.put("order_price", request.getOrderPrice()); + } + if (request.getOrderPriceType() != null) { + params.put("order_price_type", request.getOrderPriceType()); + } + if (request.getLeverRate() != null) { + params.put("lever_rate", request.getLeverRate()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiCoinMarginedSwapAPIOptions.SWAP_TRIGGER_ORDER, params,sign); + logger.debug("body:{}", body); + SwapTriggerOrderResponse response = JSON.parseObject(body, SwapTriggerOrderResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapTriggerCancelResponse swapTriggerCancelResponse(SwapTriggerCancelRequest request) { + String body; + try { + Map params = new HashMap<>(); + params.put("contract_code", request.getContractCode().toUpperCase()); + params.put("order_id", request.getOrderId()); + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiCoinMarginedSwapAPIOptions.SWAP_TRIGGER_CANCEL, params,sign); + logger.debug("body:{}", body); + SwapTriggerCancelResponse response = JSON.parseObject(body, SwapTriggerCancelResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapTriggerCancelallResponse swapTriggerCancelallResponse(SwapTriggerCancelallRequest request) { + String body; + try { + Map params = new HashMap<>(); + params.put("contract_code", request.getContractCode()); + if (request.getDirection()!=null){ + params.put("direction",request.getDirection()); + } + if (request.getOffset()!=null){ + params.put("offset",request.getOffset()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiCoinMarginedSwapAPIOptions.SWAP_TRIGGER_CANCELALL, params,sign); + logger.debug("body:{}", body); + SwapTriggerCancelallResponse response = JSON.parseObject(body, SwapTriggerCancelallResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapTriggerOpenordersResponse swapTriggerOpenordersResponse(SwapTriggerOpenordersRequest request) { + String body; + try { + Map params = new HashMap<>(); + params.put("contract_code", request.getContractCode().toUpperCase()); + if (request.getPageIndex() != null) { + params.put("page_index", request.getPageIndex()); + } + if (request.getPageSize() != null) { + params.put("page_size", request.getPageSize()); + } + if (request.getTradeType()!=null){ + params.put("trade_type",request.getTradeType()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiCoinMarginedSwapAPIOptions.SWAP_TRIGGER_OPENORDERS, params,sign); + logger.debug("body:{}", body); + SwapTriggerOpenordersResponse response = JSON.parseObject(body, SwapTriggerOpenordersResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapTriggerHisordersResponse swapTriggerHisordersResponse(SwapTriggerHisordersRequest request) { + String body; + try { + Map params = new HashMap<>(); + params.put("contract_code", request.getContractCode().toUpperCase()); + params.put("trade_type", request.getTradeType()); + params.put("status", request.getStatus()); + params.put("create_date", request.getCreateDate()); + + if (request.getPageIndex() != null) { + params.put("page_index", request.getPageIndex()); + } + if (request.getPageSize() != null) { + params.put("page_size", request.getPageSize()); + } + if (request.getSortBy()!=null){ + params.put("sort_by",request.getSortBy()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiCoinMarginedSwapAPIOptions.SWAP_TRIGGER_HISORDERS, params,sign); + logger.debug("body:{}", body); + SwapTriggerHisordersResponse response = JSON.parseObject(body, SwapTriggerHisordersResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapTpslOrderResponse swapTpslOrderResponse(SwapTpslOrderRequest request) { + String body; + Map params = new HashMap<>(); + try { + params.put("contract_code",request.getContractCode().toUpperCase()); + params.put("direction",request.getDirection()); + params.put("volume",request.getVolume()); + if (request.getTpTriggerPrice()!=null && request.getTpTriggerPrice()!= BigDecimal.valueOf(0) ){ + params.put("tp_trigger_price",request.getTpTriggerPrice()); + } + if (request.getTpOrderPrice()!=null && request.getTpOrderPrice()!= BigDecimal.valueOf(0) ){ + params.put("tp_order_price",request.getTpOrderPrice()); + } + if (request.getTpOrderPriceType()!=null){ + params.put("tp_order_price_type",request.getTpOrderPriceType()); + } + if (request.getSlTriggerPrice()!=null && request.getSlTriggerPrice()!=BigDecimal.valueOf(0)){ + params.put("sl_trigger_price",request.getSlTriggerPrice()); + } + if (request.getSlOrderPrice()!=null && request.getSlOrderPrice()!=BigDecimal.valueOf(0)){ + params.put("sl_order_price",request.getSlOrderPrice()); + } + if (request.getSlOrderPriceType()!=null){ + params.put("sl_order_price_type",request.getSlOrderPriceType()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiCoinMarginedSwapAPIOptions.SWAP_TPSL_ORDER, params,sign); + logger.debug("body:{}", body); + SwapTpslOrderResponse response = JSON.parseObject(body, SwapTpslOrderResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapTpslCancelResponse swapTpslCancelResponse(SwapTpslCancelRequest request) { + String body; + Map params = new HashMap<>(); + try { + params.put("contract_code",request.getContractCode().toUpperCase()); + params.put("order_id",request.getOrderId()); + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiCoinMarginedSwapAPIOptions.SWAP_TPSL_CANCEL, params,sign); + logger.debug("body:{}", body); + SwapTpslCancelResponse response = JSON.parseObject(body, SwapTpslCancelResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapTpslCancelallResponse swapTpslCancelallResponse(SwapTpslCancelallRequest request) { + String body; + Map params = new HashMap<>(); + try { + params.put("contract_code",request.getContractCode().toUpperCase()); + if (request.getDirection()!=null){ + params.put("direction",request.getDirection()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiCoinMarginedSwapAPIOptions.SWAP_TPSL_CANCELALL, params,sign); + logger.debug("body:{}", body); + SwapTpslCancelallResponse response = JSON.parseObject(body, SwapTpslCancelallResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapTpslOpenordersResponse swapTpslOpenordersResponse(SwapTpslOpenordersRequest request) { + String body; + Map params = new HashMap<>(); + try { + params.put("contract_code",request.getContractCode().toUpperCase()); + if (request.getPageIndex()!=null){ + params.put("page_index",request.getPageIndex()); + } + if (request.getPageSize()!=null){ + params.put("page_size",request.getPageSize()); + } + if (request.getTradeType()!=null){ + params.put("trade_type",request.getTradeType()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiCoinMarginedSwapAPIOptions.SWAP_TPSL_OPENORDERS, params,sign); + logger.debug("body:{}", body); + SwapTpslOpenordersResponse response = JSON.parseObject(body, SwapTpslOpenordersResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapTpslHisordersResponse swapTpslHisordersResponse(SwapTpslHisordersRequset request) { + String body; + Map params = new HashMap<>(); + try { + params.put("contract_code",request.getContractCode().toUpperCase()); + params.put("status",request.getStatus()); + params.put("create_date",request.getCreateDate()); + if (request.getPageIndex()!=null){ + params.put("page_index",request.getPageIndex()); + } + if (request.getPageSize()!=null){ + params.put("page_size",request.getPageSize()); + } + if (StringUtils.isNotEmpty(request.getSortBy())){ + params.put("sort_by",request.getSortBy()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiCoinMarginedSwapAPIOptions.SWAP_TPSL_HISORDERS, params,sign); + logger.debug("body:{}", body); + SwapTpslHisordersResponse response = JSON.parseObject(body, SwapTpslHisordersResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapRelationTpslOrderResponse swapRelationTpslOrderResponse(SwapRelationTpslOrderRequest request) { + String body; + Map params = new HashMap<>(); + try { + params.put("contract_code",request.getContractCode().toUpperCase()); + params.put("order_id",request.getOrderId()); + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiCoinMarginedSwapAPIOptions.SWAP_RELATION_TPSL_ORDER, params,sign); + logger.debug("body:{}", body); + SwapRelationTpslOrderResponse response = JSON.parseObject(body, SwapRelationTpslOrderResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapTrackOrderResponse swapTrackOrderResponse(SwapTrackOrderRequest request) { + String body; + Map params = new HashMap<>(); + try { + params.put("contract_code", request.getContractCode().toUpperCase()); + params.put("direction", request.getDirection()); + params.put("offset", request.getOffset()); + if (request.getLeverRate() != null && request.getLeverRate() != 0) { + params.put("lever_rate", request.getLeverRate()); + } + params.put("volume", request.getVolume()); + params.put("callback_rate", request.getCallbackRate()); + params.put("active_price", request.getActivePrice()); + params.put("order_price_type", request.getOrderPriceType()); + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiCoinMarginedSwapAPIOptions.SWAP_TRACK_ORDER, params,sign); + logger.debug("body:{}", body); + SwapTrackOrderResponse response = JSON.parseObject(body, SwapTrackOrderResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapTrackCancelResponse swapTrackCancelResponse(SwapTrackCancelRequest request) { + String body; + Map params = new HashMap<>(); + try { + params.put("contract_code", request.getContractCode().toUpperCase()); + params.put("order_id", request.getOrderId()); + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiCoinMarginedSwapAPIOptions.SWAP_TRACK_CANCEL, params,sign); + logger.debug("body:{}", body); + SwapTrackCancelResponse response = JSON.parseObject(body, SwapTrackCancelResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())){ + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapTrackCancelallResponse swapTrackCancelallResponse(SwapTrackCancelallRequest request) { + String body; + Map params = new HashMap<>(); + try { + params.put("contract_code", request.getContractCode().toUpperCase()); + if (request.getDirection()!=null) { + params.put("direction", request.getDirection()); + } + if (request.getOffset()!=null) { + params.put("offset", request.getOffset()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiCoinMarginedSwapAPIOptions.SWAP_TRACK_CANCELALL, params,sign); + logger.debug("body:{}", body); + SwapTrackCancelallResponse response = JSON.parseObject(body, SwapTrackCancelallResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())){ + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapTrackOpenordersResponse swapTrackOpenordersResponse(SwapTrackOpenordersRequest request) { + String body; + Map params = new HashMap<>(); + try { + params.put("contract_code", request.getContractCode().toUpperCase()); + if (request.getTradeType()!=null) { + params.put("trade_type", request.getTradeType()); + } + if (request.getPageIndex()!=null) { + params.put("page_index", request.getPageIndex()); + } + if (request.getPageSize()!=null){ + params.put("page_size",request.getPageSize()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiCoinMarginedSwapAPIOptions.SWAP_TRACK_OPENORDERS, params,sign); + logger.debug("body:{}", body); + SwapTrackOpenordersResponse response = JSON.parseObject(body, SwapTrackOpenordersResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())){ + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapTrackHisordersResponse swapTrackHisordersResponse(SwapTrackHisordersRequest request) { + String body; + Map params = new HashMap<>(); + try { + params.put("contract_code", request.getContractCode().toUpperCase()); + params.put("status",request.getStatus()); + params.put("trade_type", request.getTradeType()); + params.put("create_date",request.getCreateDate()); + if (request.getPageIndex()!=null) { + params.put("page_index", request.getPageIndex()); + } + if (request.getPageSize()!=null){ + params.put("page_size",request.getPageSize()); + } + if (request.getSortBy()!=null){ + params.put("sort_by",request.getSortBy()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiCoinMarginedSwapAPIOptions.SWAP_TRACK_HISORDERS, params,sign); + logger.debug("body:{}", body); + SwapTrackHisordersResponse response = JSON.parseObject(body, SwapTrackHisordersResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())){ + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } +} diff --git a/src/main/java/com/huobi/api/service/coin_swap/trade/TradeAPIService.java b/src/main/java/com/huobi/api/service/coin_swap/trade/TradeAPIService.java new file mode 100644 index 0000000..4a15476 --- /dev/null +++ b/src/main/java/com/huobi/api/service/coin_swap/trade/TradeAPIService.java @@ -0,0 +1,43 @@ +package com.huobi.api.service.coin_swap.trade; + + +import com.huobi.api.request.coin_swap.trade.*; +import com.huobi.api.request.usdt.trade.SwapHisordersExactV3Request; +import com.huobi.api.request.usdt.trade.SwapHisordersV3Request; +import com.huobi.api.request.usdt.trade.SwapMatchResultsExactV3Request; +import com.huobi.api.request.usdt.trade.SwapMatchResultsV3Request; +import com.huobi.api.response.coin_swap.trade.*; +import com.huobi.api.response.usdt.trade.SwapHisordersExactV3Response; +import com.huobi.api.response.usdt.trade.SwapHisordersV3Response; +import com.huobi.api.response.usdt.trade.SwapMatchResultsExactV3Response; +import com.huobi.api.response.usdt.trade.SwapMatchResultsV3Response; + +public interface TradeAPIService { + SwapCancelAfterResponse swapCancelAfterResponse(SwapCancelAfterRequest request);// 1.自动撤单 + + SwapOrderResponse swapOrderRequest(SwapOrderRequest request);// 2.合约下单 + + SwapBatchorderResponse swapBatchorderRequest(SwapBatchorderRequest request);// 3.合约批量下单 + + SwapCancelResponse swapCancelRequest(SwapCancelRequest request);// 4.撤销订单 + + SwapCancelallResponse swapCancelallRequest(SwapCancelallRequest request);// 5.全部撤单 + + SwapSwitchLeverRateResponse swapSwitchLeverRateResponse(String contractCdoe,Integer leverRate);// 6.切换杠杆 + + SwapOrderInfoResponse swapOrderInfoRequest(SwapOrderInfoRequest request);// 7.获取合约订单信息 + + SwapOrderDetailResponse swapOrderDetailRequest(SwapOrderDetailRequest request);// 8.获取订单明细信息 + + SwapOpenordersResponse swapOpenordersRequest(SwapOpenordersRequest request);// 9.获取合约当前未成交委托 + + SwapHisordersV3Response swapHisordersV3Response(SwapHisordersV3Request request);// 10.获取合约历史委托(新) + + SwapHisordersExactV3Response swapHisordersExactV3Response(SwapHisordersExactV3Request request);// 11.组合查询合约历史委托(新) + + SwapMatchResultsV3Response swapMatchResultsV3Response(SwapMatchResultsV3Request request);// 12.获取历史成交记录(新) + + SwapMatchResultsExactV3Response swapMatchResultsExactV3Response(SwapMatchResultsExactV3Request request);// 13.组合查询用户历史成交记录(新) + + SwapLightningClosePositionResponse swapLightningClosePositionRequest(SwapLightningClosePositionRequest request); // 14.闪电平仓下单 +} diff --git a/src/main/java/com/huobi/api/service/coin_swap/trade/TradeAPIServiceImpl.java b/src/main/java/com/huobi/api/service/coin_swap/trade/TradeAPIServiceImpl.java new file mode 100644 index 0000000..39c2320 --- /dev/null +++ b/src/main/java/com/huobi/api/service/coin_swap/trade/TradeAPIServiceImpl.java @@ -0,0 +1,529 @@ +package com.huobi.api.service.coin_swap.trade; + +import com.alibaba.fastjson.JSON; +import com.huobi.api.constants.HuobiCoinMarginedSwapAPIOptions; +import com.huobi.api.exception.ApiException; +import com.huobi.api.request.coin_swap.trade.*; +import com.huobi.api.request.usdt.trade.SwapHisordersExactV3Request; +import com.huobi.api.request.usdt.trade.SwapHisordersV3Request; +import com.huobi.api.request.usdt.trade.SwapMatchResultsExactV3Request; +import com.huobi.api.request.usdt.trade.SwapMatchResultsV3Request; +import com.huobi.api.response.coin_swap.trade.*; +import com.huobi.api.response.usdt.trade.SwapHisordersExactV3Response; +import com.huobi.api.response.usdt.trade.SwapHisordersV3Response; +import com.huobi.api.response.usdt.trade.SwapMatchResultsExactV3Response; +import com.huobi.api.response.usdt.trade.SwapMatchResultsV3Response; +import com.huobi.api.util.HbdmHttpClient; +import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class TradeAPIServiceImpl implements TradeAPIService { + + + String api_key = ""; // huobi申请的apiKey + String secret_key = ""; // huobi申请的secretKey + String sign = ""; + String url_prex = "https://api.hbdm.com"; + + Logger logger = LoggerFactory.getLogger(getClass()); + + public TradeAPIServiceImpl(String api_key, String secret_key) { + this.api_key = api_key; + this.secret_key = secret_key; + } + + + @Override + public SwapOrderResponse swapOrderRequest(SwapOrderRequest request) { + String body; + try { + Map params = new HashMap<>(); + + params.put("volume", request.getVolume()); + params.put("direction", request.getDirection().getValue()); + params.put("offset", request.getOffset().getValue()); + params.put("order_price_type", request.getOrderPriceType()); + params.put("lever_rate", request.getLeverRate()); + params.put("contract_code", request.getContractCode().toUpperCase()); + if (request.getPrice() != null) { + params.put("price", request.getPrice()); + } + if (request.getClientOrderId() != null) { + params.put("client_order_id", request.getClientOrderId()); + } + if (request.getTpTriggerPrice()!=null && request.getTpTriggerPrice()!= BigDecimal.valueOf(0) ){ + params.put("tp_trigger_price",request.getTpTriggerPrice()); + } + if (request.getTpOrderPrice()!=null && request.getTpOrderPrice()!= BigDecimal.valueOf(0) ){ + params.put("tp_order_price",request.getTpOrderPrice()); + } + if (request.getTpOrderPriceType()!=null){ + params.put("tp_order_price_type",request.getTpOrderPriceType()); + } + if (request.getSlTriggerPrice()!=null && request.getSlTriggerPrice()!=BigDecimal.valueOf(0)){ + params.put("sl_trigger_price",request.getSlTriggerPrice()); + } + if (request.getSlOrderPrice()!=null && request.getSlOrderPrice()!=BigDecimal.valueOf(0)){ + params.put("sl_order_price",request.getSlOrderPrice()); + } + if (request.getSlOrderPriceType()!=null){ + params.put("sl_order_price_type",request.getSlOrderPriceType()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiCoinMarginedSwapAPIOptions.SWAP_ORDER, params,sign); + logger.debug("body:{}", body); + SwapOrderResponse response = JSON.parseObject(body, SwapOrderResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapBatchorderResponse swapBatchorderRequest(SwapBatchorderRequest request) { + List> listMap = new ArrayList<>(); + String body; + try { + + request.getList().stream() + .forEach(e -> { + Map params = new HashMap<>(); + params.put("volume", e.getVolume()); + params.put("direction", e.getDirection().getValue()); + params.put("offset", e.getOffset().getValue()); + params.put("order_price_type", e.getOrderPriceType()); + params.put("lever_rate", e.getLeverRate()); + params.put("contract_code", e.getContractCode()); + + if (e.getPrice() != null) { + params.put("price", e.getPrice()); + } + if (e.getClientOrderId() != null) { + params.put("client_order_id", e.getClientOrderId()); + } + if (e.getTpTriggerPrice()!=null && e.getTpTriggerPrice()!= BigDecimal.valueOf(0) ){ + params.put("tp_trigger_price",e.getTpTriggerPrice()); + } + if (e.getTpOrderPrice()!=null && e.getTpOrderPrice()!= BigDecimal.valueOf(0) ){ + params.put("tp_order_price",e.getTpOrderPrice()); + } + if (e.getTpOrderPriceType()!=null){ + params.put("tp_order_price_type",e.getTpOrderPriceType()); + } + if (e.getSlTriggerPrice()!=null && e.getSlTriggerPrice()!=BigDecimal.valueOf(0)){ + params.put("sl_trigger_price",e.getSlTriggerPrice()); + } + if (e.getSlOrderPrice()!=null && e.getSlOrderPrice()!=BigDecimal.valueOf(0)){ + params.put("sl_order_price",e.getSlOrderPrice()); + } + if (e.getSlOrderPriceType()!=null){ + params.put("sl_order_price_type",e.getSlOrderPriceType()); + } + + listMap.add(params); + }); + Map params = new HashMap<>(); + + params.put("orders_data", listMap); + + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiCoinMarginedSwapAPIOptions.SWAP_BATCHORDER, params,sign); + logger.debug("body:{}", body); + SwapBatchorderResponse response = JSON.parseObject(body, SwapBatchorderResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + /** + * 撤销订单 + */ + @Override + public SwapCancelResponse swapCancelRequest(SwapCancelRequest request) { + String body = ""; + try { + Map params = new HashMap<>(); + if (request.getOrderId() != null) { + params.put("order_id", request.getOrderId()); + } + if (request.getClientOrderId() != null) { + params.put("client_order_id", request.getClientOrderId()); + } + params.put("contract_code", request.getContractCode().toUpperCase()); + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiCoinMarginedSwapAPIOptions.SWAP_CANCEL, params,sign); + logger.debug("body:{}", body); + SwapCancelResponse response = JSON.parseObject(body, SwapCancelResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + + } catch (Exception e) { + System.out.println("body:" + body); + throw new ApiException(e); + } + throw new ApiException(body); + } + + /** + * 全部撤单 + */ + @Override + public SwapCancelallResponse swapCancelallRequest(SwapCancelallRequest request) { + String body; + try { + Map params = new HashMap<>(); + params.put("contract_code", request.getContractCode()); + if (request.getDirection()!=null){ + params.put("direction",request.getDirection()); + } + if (request.getOffset()!=null){ + params.put("offset",request.getOffset()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiCoinMarginedSwapAPIOptions.SWAP_CANCELALL, params,sign); + logger.debug("body:{}", body); + SwapCancelallResponse response = JSON.parseObject(body, SwapCancelallResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapOrderInfoResponse swapOrderInfoRequest(SwapOrderInfoRequest request) { + String body; + try { + Map params = new HashMap<>(); + params.put("contract_code", request.getContractCode().toUpperCase()); + if (request.getClientOrderId() != null) { + params.put("client_order_id", request.getClientOrderId()); + } + if (request.getOrderId() != null) { + params.put("order_id", request.getOrderId()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiCoinMarginedSwapAPIOptions.SWAP_ORDER_INFO, params,sign); + logger.debug("body:{}", body); + SwapOrderInfoResponse response = JSON.parseObject(body, SwapOrderInfoResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + /** + * 获取订单明细信息 + */ + @Override + public SwapOrderDetailResponse swapOrderDetailRequest(SwapOrderDetailRequest request) { + String body; + try { + Map params = new HashMap<>(); + params.put("contract_code", request.getContractCode().toUpperCase()); + params.put("order_id", request.getOrderId()); + if (request.getCreatedAt() != null) { + params.put("created_at", request.getCreatedAt()); + } + if (request.getOrderType() != null) { + params.put("order_type", request.getOrderType()); + } + if (request.getPageIndex() != null) { + params.put("page_index", request.getPageIndex()); + } + if (request.getPageSize() != null) { + params.put("page_size", request.getPageSize()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiCoinMarginedSwapAPIOptions.SWAP_ORDER_DETAIL, params,sign); + logger.debug("body:{}", body); + SwapOrderDetailResponse response = JSON.parseObject(body, SwapOrderDetailResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + /** + * 获取合约当前未成交委托 + */ + @Override + public SwapOpenordersResponse swapOpenordersRequest(SwapOpenordersRequest request) { + String body; + try { + Map params = new HashMap<>(); + if (request.getPageIndex() != null) { + params.put("page_index", request.getPageIndex()); + } + if (request.getPageSize() != null) { + params.put("page_size", request.getPageSize()); + } + if (request.getSortBy()!=null){ + params.put("sort_by",request.getSortBy()); + } + if (request.getTradeType()!=null){ + params.put("trade_type",request.getTradeType()); + } + params.put("contract_code", request.getContractCode().toUpperCase()); + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiCoinMarginedSwapAPIOptions.SWAP_OPENORDERS, params,sign); + logger.debug("body:{}", body); + SwapOpenordersResponse response = JSON.parseObject(body, SwapOpenordersResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapLightningClosePositionResponse swapLightningClosePositionRequest(SwapLightningClosePositionRequest request) { + String body; + try { + Map params = new HashMap<>(); + if (StringUtils.isNotEmpty(request.getOrderPriceType())) { + params.put("order_price_type", request.getOrderPriceType()); + } + params.put("contract_code", request.getContractCode().toUpperCase()); + params.put("direction", request.getDirection()); + params.put("volume", request.getVolume()); + if (request.getClientOrderId() != null) { + params.put("client_order_id", request.getClientOrderId()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiCoinMarginedSwapAPIOptions.SWAP_LIGHTNING_CLOSE_POSITION, params,sign); + logger.debug("body:{}", body); + SwapLightningClosePositionResponse response = JSON.parseObject(body, SwapLightningClosePositionResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + + + + + @Override + public SwapSwitchLeverRateResponse swapSwitchLeverRateResponse(String contractCdoe, Integer leverRate) { + String body; + try { + Map params = new HashMap<>(); + params.put("contract_code", contractCdoe.toUpperCase()); + params.put("lever_rate", leverRate); + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiCoinMarginedSwapAPIOptions.SWAP_SWITCH_LEVER_RATE, params,sign); + logger.debug("body:{}", body); + SwapSwitchLeverRateResponse response = JSON.parseObject(body, SwapSwitchLeverRateResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapCancelAfterResponse swapCancelAfterResponse(SwapCancelAfterRequest request) { + String body; + Map params = new HashMap<>(); + try { + if (request.getOnOff() != null) { + params.put("on_off", request.getOnOff()); + } + if (request.getTimeOut() != null) { + params.put("time_out", request.getTimeOut()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiCoinMarginedSwapAPIOptions.SWAP_CANCEL_AFTER, params,sign); + logger.debug("body:{}", body); + SwapCancelAfterResponse response = JSON.parseObject(body, SwapCancelAfterResponse.class); + if (response.getCode() != null && response.getCode() == 200){ + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapHisordersV3Response swapHisordersV3Response(SwapHisordersV3Request request) { + String body; + Map params = new HashMap<>(); + try { + if (request.getStartTime() != null) { + params.put("start_time", request.getStartTime()); + } + if (request.getEndTime() != null) { + params.put("end_time", request.getEndTime()); + } + if (StringUtils.isNotEmpty(request.getDirect())) { + params.put("direct", request.getDirect()); + } + if (request.getFromId() != null) { + params.put("from_id", request.getFromId()); + } + if (StringUtils.isNotEmpty(request.getContract())) { + params.put("contract", request.getContract().toUpperCase()); + } + if (request.getTradeType() != null) { + params.put("trade_type", request.getTradeType()); + } + if (request.getType() != null) { + params.put("type", request.getType()); + } + if (StringUtils.isNotEmpty(request.getStatus())) { + params.put("status", request.getStatus()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiCoinMarginedSwapAPIOptions.SWAP_HISORDERS_V3, params,sign); + logger.debug("body:{}", body); + SwapHisordersV3Response response = JSON.parseObject(body, SwapHisordersV3Response.class); + if (response.getCode() != null && response.getCode() == 200){ + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapHisordersExactV3Response swapHisordersExactV3Response(SwapHisordersExactV3Request request) { + String body; + Map params = new HashMap<>(); + try { + if (request.getStartTime() != null) { + params.put("start_time", request.getStartTime()); + } + if (request.getEndTime() != null) { + params.put("end_time", request.getEndTime()); + } + if (StringUtils.isNotEmpty(request.getDirect())) { + params.put("direct", request.getDirect()); + } + if (request.getFromId() != null) { + params.put("from_id", request.getFromId()); + } + if (StringUtils.isNotEmpty(request.getContract())) { + params.put("contract", request.getContract().toUpperCase()); + } + if (request.getTradeType() != null) { + params.put("trade_type", request.getTradeType()); + } + if (request.getType() != null) { + params.put("type", request.getType()); + } + if (StringUtils.isNotEmpty(request.getStatus())) { + params.put("status", request.getStatus()); + } + if (StringUtils.isNotEmpty(request.getPriceType())) { + params.put("price_type", request.getPriceType()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key,url_prex + HuobiCoinMarginedSwapAPIOptions.SWAP_HISORDERS_EXACT_V3, params,sign); + logger.debug("body:{}", body); + SwapHisordersExactV3Response response = JSON.parseObject(body, SwapHisordersExactV3Response.class); + if (response.getCode() != null && response.getCode() == 200){ + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapMatchResultsV3Response swapMatchResultsV3Response(SwapMatchResultsV3Request request) { + String body; + Map params = new HashMap<>(); + try { + if (request.getStartTime() != null) { + params.put("start_time", request.getStartTime()); + } + if (request.getEndTime() != null) { + params.put("end_time", request.getEndTime()); + } + if (StringUtils.isNotEmpty(request.getDirect())) { + params.put("direct", request.getDirect()); + } + if (request.getFromId() != null) { + params.put("from_id", request.getFromId()); + } + if (StringUtils.isNotEmpty(request.getContract())) { + params.put("contract", request.getContract().toUpperCase()); + } + if (request.getTradeType() != null) { + params.put("trade_type", request.getTradeType()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiCoinMarginedSwapAPIOptions.SWAP_MATCHRESULTS_V3, params,sign); + logger.debug("body:{}", body); + SwapMatchResultsV3Response response = JSON.parseObject(body, SwapMatchResultsV3Response.class); + if (response.getCode() != null && response.getCode() == 200){ + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapMatchResultsExactV3Response swapMatchResultsExactV3Response(SwapMatchResultsExactV3Request request) { + String body; + Map params = new HashMap<>(); + try { + if (request.getStartTime() != null) { + params.put("start_time", request.getStartTime()); + } + if (request.getEndTime() != null) { + params.put("end_time", request.getEndTime()); + } + if (StringUtils.isNotEmpty(request.getDirect())) { + params.put("direct", request.getDirect()); + } + if (request.getFromId() != null) { + params.put("from_id", request.getFromId()); + } + if (StringUtils.isNotEmpty(request.getContract())) { + params.put("contract", request.getContract().toUpperCase()); + } + if (request.getTradeType() != null) { + params.put("trade_type", request.getTradeType()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiCoinMarginedSwapAPIOptions.SWAP_MATCHRESULTS_EXACT_V3, params,sign); + logger.debug("body:{}", body); + SwapMatchResultsExactV3Response response = JSON.parseObject(body, SwapMatchResultsExactV3Response.class); + if (response.getCode() != null && response.getCode() == 200){ + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } +} diff --git a/src/main/java/com/huobi/api/service/coin_swap/transfer/TransferApiService.java b/src/main/java/com/huobi/api/service/coin_swap/transfer/TransferApiService.java new file mode 100644 index 0000000..cd9450e --- /dev/null +++ b/src/main/java/com/huobi/api/service/coin_swap/transfer/TransferApiService.java @@ -0,0 +1,9 @@ +package com.huobi.api.service.coin_swap.transfer; + + +import com.huobi.api.request.coin_swap.transfer.UsdtSwapTransferRequest; +import com.huobi.api.response.coin_swap.transfer.UsdtSwapTransferResponse; + +public interface TransferApiService { + UsdtSwapTransferResponse transfer(UsdtSwapTransferRequest request);// 1.现货-USDT永续账户间进行资金的划转 +} diff --git a/src/main/java/com/huobi/api/service/coin_swap/transfer/TransferApiServiceImpl.java b/src/main/java/com/huobi/api/service/coin_swap/transfer/TransferApiServiceImpl.java new file mode 100644 index 0000000..27899da --- /dev/null +++ b/src/main/java/com/huobi/api/service/coin_swap/transfer/TransferApiServiceImpl.java @@ -0,0 +1,46 @@ +package com.huobi.api.service.coin_swap.transfer; + +import com.alibaba.fastjson.JSON; +import com.huobi.api.constants.HuobiCoinMarginedSwapAPIOptions; +import com.huobi.api.exception.ApiException; +import com.huobi.api.request.coin_swap.transfer.UsdtSwapTransferRequest; +import com.huobi.api.response.coin_swap.transfer.UsdtSwapTransferResponse; +import com.huobi.api.util.HbdmHttpClient; + +import java.util.HashMap; +import java.util.Map; + +public class TransferApiServiceImpl implements TransferApiService { + + String api_key = ""; // huobi申请的apiKey + String secret_key = ""; // huobi申请的secretKey + String sign = ""; + String url_prex = "https://api.huobi.pro"; + + public TransferApiServiceImpl(String api_key, String secret_key) { + this.api_key = api_key; + this.secret_key = secret_key; + } + + + /** + + */ + @Override + public UsdtSwapTransferResponse transfer(UsdtSwapTransferRequest request) { + String body = ""; + try { + Map params = new HashMap<>(); + params.put("from", request.getFrom()); + params.put("to", request.getTo()); + params.put("currency",request.getCurrency()); + params.put("amount",request.getAmount()); + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiCoinMarginedSwapAPIOptions.USDT_SWAP_TRANSFER, params,sign); + UsdtSwapTransferResponse response = JSON.parseObject(body, UsdtSwapTransferResponse.class); + return response; + + } catch (Exception e) { + throw new ApiException(e); + } + } +} diff --git a/src/main/java/com/huobi/api/service/usdt/account/AccountAPIService.java b/src/main/java/com/huobi/api/service/usdt/account/AccountAPIService.java new file mode 100644 index 0000000..98d5087 --- /dev/null +++ b/src/main/java/com/huobi/api/service/usdt/account/AccountAPIService.java @@ -0,0 +1,55 @@ +package com.huobi.api.service.usdt.account; + + + + +import com.huobi.api.request.usdt.account.*; +import com.huobi.api.response.usdt.account.*; + +import java.math.BigDecimal; + +public interface AccountAPIService { + SwapBalanceValuationResponse getSwapBalanceValuation(String ValuationAsset);// 1.获取账户总资产估值 + + SwapAccountInfoResponse getSwapAccountInfo(String contractCode);// 2.获取用户账户信息 + + SwapPositionInfoResponse getSwapPositionInfo(String contractCode);// 3.获取用户持仓信息 + + SwapAccountPositionInfoResponse getSwapAccountPositionInfo(String contractCode);// 4.查询用户账户和持仓信息 + + SwapSubAuthResponse getSwapSubAuth(String subUid, Integer subAuth);// 5.批量设置子账户交易权限 + + SwapSubAuthListResponse getSwapSubAuthList(SwapSubAuthListRequest request);// 6.【通用】查询子账户交易权限 + + SwapSubAccountListResponse getSwapSubAccountList(String contractCode, String direct, Long fromId);// 7.查询母账户下所有子账户资产信息 + + SwapSubAccountInfoListResponse getSwapSubAccountInfoList(String contractCode, Integer pageIndex, Integer pageSize);// 8.批量获取子账户资产信息 + + SwapSubAccountInfoResponse getSwapSubAccountInfo(String contractCode, Long subUid);// 9.查询单个子账户资产信息 + + SwapSubPositionInfoResponse getSwapSubPositionInfo(String contractCode, Long subUid);// 10.查询单个子账户持仓信息 + + SwapFinancialRecordV3Response getSwapFinancialRecordV3(SwapFinancialRecordV3Request request);// 11.查询用户财务记录 + + SwapFinancialRecordExactV3Response getSwapFinancialRecordExactV3(SwapFinancialRecordExactV3Request request);// 12.组合查询用户财务记录 (新) + + SwapAvailableLevelRateResponse getSwapAvailableLevelRate(String contractCode);// 13.查询用户可用杠杆倍数 + + SwapOrderLimitResponse getSwapOrderLimitResponse(String contractCode, String orderPriceType,String pair,String contractType,String businessType);// 14.查询用户当前的下单量限制 + + SwapFeeResponse getSwapFeeResponse(String contractCode,String pair,String contractType,String businessType);// 15.查询用户当前的手续费费率 + + SwapTransferLimitResponse getSwapTransferLimitResponse(String contractCode);// 16.查询用户当前的划转限制 + + SwapPositionLimitResponse getSwapPositionLimitResponse(String contractCode);// 17.用户持仓量限制的查询 + + SwapLeverPositionLimitResponse getSwapLeverPositionLimit(String contractCode,Integer leverRate);// 18.查询用户所有杠杆持仓量限制 + + SwapMasterSubTransferResponse getSwapMasterSubTransferResponse(SwapMasterSubTransferRequest request);// 19.母子账户划转 + + SwapMasterSubTransferRecordResponse getSwapMasterSubTransferRecordResponse(SwapMasterSubTransferRecordRequest request);// 20.获取母账户下的所有母子账户划转记录 + + SwapTransferInnerResponse getSwapTransferInner(String asset, String fromMarginAccount, String toMarginAccount, BigDecimal amount,Long clientOrderId);// 21.同账号不同保证金账户的划转 + + SwapApiTradingStatusResponse getSwapApiTradingStatusResponse();// 22.获取用户API指标禁用信息 +} diff --git a/src/main/java/com/huobi/api/service/usdt/account/AccountAPIServiceImpl.java b/src/main/java/com/huobi/api/service/usdt/account/AccountAPIServiceImpl.java new file mode 100644 index 0000000..eeb1014 --- /dev/null +++ b/src/main/java/com/huobi/api/service/usdt/account/AccountAPIServiceImpl.java @@ -0,0 +1,577 @@ +package com.huobi.api.service.usdt.account; + +import com.alibaba.fastjson.JSON; +import com.huobi.api.constants.HuobiLinearSwapAPIConstants; +import com.huobi.api.exception.ApiException; +import com.huobi.api.request.usdt.account.*; +import com.huobi.api.response.usdt.account.*; +import com.huobi.api.util.HbdmHttpClient; +import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.math.BigDecimal; +import java.util.HashMap; +import java.util.Map; + +public class AccountAPIServiceImpl implements AccountAPIService { + + String api_key = ""; // huobi申请的apiKey + String secret_key = ""; // huobi申请的secretKey + String sign = ""; + String url_prex = "https://api.hbdm.com"; + + Logger logger = LoggerFactory.getLogger(getClass()); + + public AccountAPIServiceImpl(String api_key, String secret_key) { + this.api_key = api_key; + this.secret_key = secret_key; + } + + + @Override + public SwapAccountInfoResponse getSwapAccountInfo(String contractCode) { + String body; + try { + Map params = new HashMap<>(); + if (StringUtils.isNotEmpty(contractCode)) { + params.put("contract_code", contractCode.toUpperCase().toUpperCase()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiLinearSwapAPIConstants.SWAP_ACCOUNT_INFO, params,sign); + logger.debug("body:{}", body); + SwapAccountInfoResponse response = JSON.parseObject(body, SwapAccountInfoResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapPositionInfoResponse getSwapPositionInfo(String contractCode) { + String body; + try { + Map params = new HashMap<>(); + if (StringUtils.isNotEmpty(contractCode)) { + params.put("contract_code", contractCode.toUpperCase().toUpperCase()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiLinearSwapAPIConstants.SWAP_POSITION_INFO, params,sign); + logger.debug("body:{}", body); + SwapPositionInfoResponse response = JSON.parseObject(body, SwapPositionInfoResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapAccountPositionInfoResponse getSwapAccountPositionInfo(String contractCode) { + String body; + try { + Map params = new HashMap<>(); + params.put("contract_code", contractCode.toUpperCase().toUpperCase()); + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiLinearSwapAPIConstants.SWAP_ACCOUNT_POSITION_INFO, params,sign); + logger.debug("body:{}", body); + SwapAccountPositionInfoResponse response = JSON.parseObject(body, SwapAccountPositionInfoResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapSubAccountListResponse getSwapSubAccountList(String contractCode, String direct, Long fromId) { + String body; + try { + Map params = new HashMap<>(); + if (StringUtils.isNotEmpty(contractCode)) { + params.put("contract_code", contractCode.toUpperCase().toUpperCase()); + } + if (StringUtils.isNotEmpty(direct)) { + params.put("direct", direct); + } + if (fromId != null) { + params.put("from_id", fromId); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiLinearSwapAPIConstants.SWAP_SUB_ACCOUNT_LIST, params,sign); + logger.debug("body:{}", body); + SwapSubAccountListResponse response = JSON.parseObject(body, SwapSubAccountListResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapSubAccountInfoResponse getSwapSubAccountInfo(String contractCode, Long subUid) { + String body; + try { + Map params = new HashMap<>(); + if (StringUtils.isNotEmpty(contractCode)) { + params.put("contract_code", contractCode.toUpperCase().toUpperCase()); + } + params.put("sub_uid", subUid); + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiLinearSwapAPIConstants.SWAP_SUB_ACCOUNT_INFO, params,sign); + logger.debug("body:{}", body); + SwapSubAccountInfoResponse response = JSON.parseObject(body, SwapSubAccountInfoResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapSubPositionInfoResponse getSwapSubPositionInfo(String contractCode, Long subUid) { + String body; + try { + Map params = new HashMap<>(); + if (StringUtils.isNotEmpty(contractCode)) { + params.put("contract_code", contractCode.toUpperCase().toUpperCase()); + } + params.put("sub_uid", subUid); + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiLinearSwapAPIConstants.SWAP_SUB_POSITION_INFO, params,sign); + logger.debug("body:{}", body); + SwapSubPositionInfoResponse response = JSON.parseObject(body, SwapSubPositionInfoResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapOrderLimitResponse getSwapOrderLimitResponse(String contractCode, String orderPriceType,String pair,String contractType,String businessType) { + String body; + try { + Map params = new HashMap<>(); + if (StringUtils.isNoneEmpty(contractCode)) { + params.put("contract_code", contractCode.toUpperCase()); + } + if(StringUtils.isNotEmpty(pair)){ + params.put("pair",pair.toUpperCase()); + } + if(contractType!=null){ + params.put("contrat_type",contractType); + } + if (businessType!=null){ + params.put("business_type",businessType); + } + params.put("order_price_type", orderPriceType); + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiLinearSwapAPIConstants.SWAP_ORDER_LIMIT, params,sign); + logger.debug("body:{}", body); + SwapOrderLimitResponse response = JSON.parseObject(body, SwapOrderLimitResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapFeeResponse getSwapFeeResponse(String contractCode,String pair,String contractType,String businessType) { + String body; + try { + Map params = new HashMap<>(); + if (StringUtils.isNoneEmpty(contractCode)) { + params.put("contract_code", contractCode.toUpperCase()); + } + if(StringUtils.isNotEmpty(pair)){ + params.put("pair",pair.toUpperCase()); + } + if(contractType!=null){ + params.put("contrat_type",contractType); + } + if (businessType!=null){ + params.put("business_type",businessType); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiLinearSwapAPIConstants.SWAP_FEE, params,sign); + logger.debug("body:{}", body); + SwapFeeResponse response = JSON.parseObject(body, SwapFeeResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapTransferLimitResponse getSwapTransferLimitResponse(String contractCode) { + String body; + try { + Map params = new HashMap<>(); + if (StringUtils.isNoneEmpty(contractCode)) { + params.put("contract_code", contractCode.toUpperCase()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiLinearSwapAPIConstants.SWAP_TRANSFER_LIMIT, params,sign); + logger.debug("body:{}", body); + SwapTransferLimitResponse response = JSON.parseObject(body, SwapTransferLimitResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapPositionLimitResponse getSwapPositionLimitResponse(String contractCode) { + String body; + try { + Map params = new HashMap<>(); + if (StringUtils.isNoneEmpty(contractCode)) { + params.put("contract_code", contractCode.toUpperCase()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiLinearSwapAPIConstants.SWAP_POSITION_LIMIT, params,sign); + logger.debug("body:{}", body); + SwapPositionLimitResponse response = JSON.parseObject(body, SwapPositionLimitResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapMasterSubTransferResponse getSwapMasterSubTransferResponse(SwapMasterSubTransferRequest request) { + String body; + try { + Map params = new HashMap<>(); + params.put("sub_uid", request.getSubUid()); + params.put("asset", request.getAsset().toUpperCase()); + params.put("from_margin_account", request.getFromMarginAccount().toUpperCase()); + params.put("to_margin_account", request.getToMarginAccount().toUpperCase()); + params.put("amount", request.getAmount()); + params.put("type", request.getType()); + if (request.getClientOrderId()!=null && request.getClientOrderId()!=0){ + params.put("client_order_id",request.getClientOrderId()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiLinearSwapAPIConstants.SWAP_MASTER_SUB_TRANSFER, params,sign); + logger.debug("body:{}", body); + SwapMasterSubTransferResponse response = JSON.parseObject(body, SwapMasterSubTransferResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapMasterSubTransferRecordResponse getSwapMasterSubTransferRecordResponse(SwapMasterSubTransferRecordRequest request) { + String body; + try { + Map params = new HashMap<>(); + params.put("margin_account", request.getMarginAccount().toUpperCase()); + if (request.getTransferType() != null) { + params.put("transfer_type", request.getTransferType()); + } + params.put("create_date", request.getCreateDate()); + if (request.getPageIndex() != null) { + params.put("page_index", request.getPageIndex()); + } + if (request.getPageSize() != null) { + params.put("page_size", request.getPageSize()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiLinearSwapAPIConstants.SWAP_MASTER_SUB_TRANSFER_RECORD, params,sign); + logger.debug("body:{}", body); + SwapMasterSubTransferRecordResponse response = JSON.parseObject(body, SwapMasterSubTransferRecordResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapTransferInnerResponse getSwapTransferInner(String asset, String fromMarginAccount, String toMarginAccount, BigDecimal amount, Long clientOrderId) { + String body; + try { + Map params = new HashMap<>(); + params.put("asset", asset); + params.put("from_margin_account", fromMarginAccount); + params.put("to_margin_account", toMarginAccount); + params.put("amount", amount); + if (clientOrderId!=null && clientOrderId!=0){ + params.put("client_order_id",clientOrderId); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiLinearSwapAPIConstants.SWAP_TRANSFER_INNER, params,sign); + logger.debug("body:{}", body); + SwapTransferInnerResponse response = JSON.parseObject(body, SwapTransferInnerResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapApiTradingStatusResponse getSwapApiTradingStatusResponse() { + String body; + Map params = new HashMap<>(); + try { + body = HbdmHttpClient.getInstance().doGetKey(api_key, secret_key, url_prex + HuobiLinearSwapAPIConstants.SWAP_API_TRADING_STATUS, params); + logger.debug("body:{}", body); + SwapApiTradingStatusResponse response = JSON.parseObject(body, SwapApiTradingStatusResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapAvailableLevelRateResponse getSwapAvailableLevelRate(String contractCode) { + String body; + Map params = new HashMap<>(); + try { + if (StringUtils.isNoneEmpty(contractCode)) { + params.put("contract_code", contractCode.toUpperCase()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiLinearSwapAPIConstants.SWAP_AVAILABLE_LEVEL_RATE, params,sign); + logger.debug("body:{}", body); + SwapAvailableLevelRateResponse response = JSON.parseObject(body, SwapAvailableLevelRateResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapSubAuthResponse getSwapSubAuth(String subUid, Integer subAuth) { + String body; + Map params = new HashMap<>(); + try { + params.put("sub_uid", subUid); + params.put("sub_auth", subAuth); + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiLinearSwapAPIConstants.SWAP_SUB_AUTH, params,sign); + logger.debug("body:{}", body); + SwapSubAuthResponse response = JSON.parseObject(body, SwapSubAuthResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapSubAccountInfoListResponse getSwapSubAccountInfoList(String contractCode, Integer pageIndex, Integer pageSize) { + String body; + Map params = new HashMap<>(); + try { + params.put("contract_code", contractCode); + if (pageIndex != null) { + params.put("page_index", pageIndex); + } + if (pageSize != null) { + params.put("page_size", pageSize); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiLinearSwapAPIConstants.SWAP_SUB_ACCOUNT_INFO_LIST, params,sign); + logger.debug("body:{}", body); + SwapSubAccountInfoListResponse response = JSON.parseObject(body, SwapSubAccountInfoListResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapBalanceValuationResponse getSwapBalanceValuation(String ValuationAsset) { + String body; + Map params = new HashMap<>(); + try { + if (StringUtils.isNotEmpty(ValuationAsset)){ + params.put("valuation_asset",ValuationAsset.toUpperCase()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiLinearSwapAPIConstants.SWAP_BALANCE_VALUATION, params,sign); + logger.debug("body:{}", body); + SwapBalanceValuationResponse response = JSON.parseObject(body, SwapBalanceValuationResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapLeverPositionLimitResponse getSwapLeverPositionLimit(String contractCode, Integer leverRate) { + String body; + Map params = new HashMap<>(); + try { + if (StringUtils.isNotEmpty(contractCode)){ + params.put("contract_code",contractCode.toUpperCase()); + } + if (leverRate!=null && leverRate!=0){ + params.put("lever_rate",leverRate); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiLinearSwapAPIConstants.SWAP_LEVER_POSITION_LIMIT, params,sign); + logger.debug("body:{}", body); + SwapLeverPositionLimitResponse response = JSON.parseObject(body, SwapLeverPositionLimitResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapFinancialRecordV3Response getSwapFinancialRecordV3(SwapFinancialRecordV3Request request) { + String body; + try { + Map params = new HashMap<>(); + params.put("contract", request.getContract().toUpperCase()); + if (StringUtils.isNoneEmpty(request.getMarAcct())) { + params.put("mar_acct", request.getMarAcct()); + } + if (StringUtils.isNotEmpty(request.getType())) { + params.put("type", request.getType()); + } + if (request.getStartTime() != null) { + params.put("start_time", request.getStartTime()); + } + if (request.getEndTime() != null) { + params.put("end_time", request.getEndTime()); + } + if (StringUtils.isNotEmpty(request.getDirect())) { + params.put("direct", request.getDirect()); + } + if (request.getFromId() != null) { + params.put("from_id", request.getFromId()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiLinearSwapAPIConstants.SWAP_FINANCIAL_RECORD_V3, params,sign); + logger.debug("body:{}", body); + SwapFinancialRecordV3Response response = JSON.parseObject(body, SwapFinancialRecordV3Response.class); + if (response.getCode() != null && response.getCode() == 200) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapFinancialRecordExactV3Response getSwapFinancialRecordExactV3(SwapFinancialRecordExactV3Request request) { + String body; + Map params = new HashMap<>(); + try { + if (StringUtils.isNotEmpty(request.getContract())) { + params.put("contract", request.getContract().toUpperCase()); + } + if (StringUtils.isNotEmpty(request.getMarAcct())) { + params.put("mar_acct", request.getMarAcct()); + } + if (StringUtils.isNotEmpty(request.getType())) { + params.put("type", request.getType()); + } + if (request.getStartTime() != null) { + params.put("start_time", request.getStartTime()); + } + if (request.getEndTime() != null) { + params.put("end_time", request.getEndTime()); + } + if (StringUtils.isNotEmpty(request.getDirect())) { + params.put("direct", request.getDirect()); + } + if (request.getFromId() != null) { + params.put("from_id", request.getFromId()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiLinearSwapAPIConstants.SWAP_FINANCIAL_RECORD_EXACT_V3, params,sign); + logger.debug("body:{}", body); + SwapFinancialRecordExactV3Response response = JSON.parseObject(body, SwapFinancialRecordExactV3Response.class); + if (response.getCode() != null && response.getCode() == 200) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapSubAuthListResponse getSwapSubAuthList(SwapSubAuthListRequest request) { + String body; + Map params = new HashMap<>(); + try { + if (request.getStartTime() != null) { + params.put("start_time", request.getStartTime()); + } + if (request.getEndTime() != null) { + params.put("end_time", request.getEndTime()); + } + if (StringUtils.isNotEmpty(request.getDirect())) { + params.put("direct", request.getDirect()); + } + if (request.getFromId() != null) { + params.put("from_id", request.getFromId()); + } + if (StringUtils.isNotEmpty(request.getSubUid())) { + params.put("sub_uid", request.getSubUid()); + } + body = HbdmHttpClient.getInstance().doGetKey(api_key, secret_key, url_prex + HuobiLinearSwapAPIConstants.SWAP_SUB_AUTH_LIST, params); + logger.debug("body:{}", body); + SwapSubAuthListResponse response = JSON.parseObject(body, SwapSubAuthListResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + +} diff --git a/src/main/java/com/huobi/api/service/usdt/account/CrossAccountAPIService.java b/src/main/java/com/huobi/api/service/usdt/account/CrossAccountAPIService.java new file mode 100644 index 0000000..6783a16 --- /dev/null +++ b/src/main/java/com/huobi/api/service/usdt/account/CrossAccountAPIService.java @@ -0,0 +1,31 @@ +package com.huobi.api.service.usdt.account; + + +import com.huobi.api.request.usdt.account.SwapCrossLeverPositionLimitRequest; +import com.huobi.api.request.usdt.account.SwapCrossUserSettlementRecordsRequest; +import com.huobi.api.response.usdt.account.*; + +public interface CrossAccountAPIService { + + SwapCrossAccountInfoResponse getSwapCrossAccountInfo(String marginAccount);// 1.获取用户账户信息(全仓模式) + + SwapCrossPositionInfoResponse getSwapCrossPositionInfo(String contractCode, String pair, String contractType);// 2.获取用户持仓信息(全仓模式) + + SwapCrossAccountPositionInfoResponse getSwapCrossAccountPositionInfo(String marginAccount);// 3.查询用户账户和持仓信息(全仓模式) + + SwapCrossSubAccountListResponse getSwapCrossSubAccountList(String marginAccount, String direct, Long fromId);// 4.查询母账户下所有子账户资产信息(全仓模式) + + SwapSubAccountInfoListResponse getSwapCrossSubAccountInfoList(String marginAccount, Integer pageIndex, Integer pagesize);// 5.批量获取子账户资产信息(全仓模式) + + SwapCrossSubAccountInfoResponse getSwapCrossSubAccountInfo(String marginAccount, Long subUid);// 6.查询单个子账户资产信息(全仓模式) + + SwapCrossSubPositionInfoResponse getSwapCrossSubPositionInfo(String contractCode, Long subUid, String pair, String contractType);// 7.查询单个子账户持仓信息(全仓模式) + + SwapCrossAvailableLevelRateResponse getSwapCrossAvailableLevelRate(String contractCode, String pair, String contractType, String businessType);// 8.查询当前可能杠杆倍数(全仓模式) + + SwapCrossTransferLimitResponse getSwapCrossTransferLimitResponse(String marginAccount);// 9.查询用户当前的划转限制(全仓模式) + + SwapCrossPositionLimitResponse getSwapCrossPositionLimitResponse(String contractCode, String pair, String contractType,String businessType);// 10.用户持仓量限制的查询(全仓模式) + + SwapLeverPositionLimitResponse getSwapCrossLeverPositionLimit(SwapCrossLeverPositionLimitRequest request);// 11.查询用户所有杠杆持仓量限制 +} diff --git a/src/main/java/com/huobi/api/service/usdt/account/CrossAccountAPIServiceImpl.java b/src/main/java/com/huobi/api/service/usdt/account/CrossAccountAPIServiceImpl.java new file mode 100644 index 0000000..3c06293 --- /dev/null +++ b/src/main/java/com/huobi/api/service/usdt/account/CrossAccountAPIServiceImpl.java @@ -0,0 +1,312 @@ +package com.huobi.api.service.usdt.account; + +import com.alibaba.fastjson.JSON; +import com.huobi.api.constants.HuobiLinearSwapCrossAPIConstants; +import com.huobi.api.exception.ApiException; +import com.huobi.api.request.usdt.account.SwapCrossLeverPositionLimitRequest; +import com.huobi.api.request.usdt.account.SwapCrossUserSettlementRecordsRequest; +import com.huobi.api.response.usdt.account.*; +import com.huobi.api.util.HbdmHttpClient; +import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.HashMap; +import java.util.Map; + +public class CrossAccountAPIServiceImpl implements CrossAccountAPIService { + + String api_key = ""; // huobi申请的apiKey + String secret_key = ""; // huobi申请的secretKey + String sign = ""; + String url_prex = "https://api.hbdm.com"; + + Logger logger = LoggerFactory.getLogger(getClass()); + + public CrossAccountAPIServiceImpl(String api_key, String secret_key) { + this.api_key = api_key; + this.secret_key = secret_key; + } + + @Override + public SwapCrossAccountInfoResponse getSwapCrossAccountInfo(String marginAccount) { + String body; + try { + Map params = new HashMap<>(); + if (StringUtils.isNotEmpty(marginAccount)) { + params.put("margin_account", marginAccount.toUpperCase().toUpperCase()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiLinearSwapCrossAPIConstants.SWAP_CROSS_ACCOUNT_INFO, params,sign); + logger.debug("body:{}", body); + SwapCrossAccountInfoResponse response = JSON.parseObject(body, SwapCrossAccountInfoResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapCrossPositionInfoResponse getSwapCrossPositionInfo(String contractCode, String pair, String contractType) { + String body; + try { + Map params = new HashMap<>(); + if (StringUtils.isNotEmpty(contractCode)) { + params.put("contract_code", contractCode.toUpperCase().toUpperCase()); + } + if (StringUtils.isNotEmpty(pair)) { + params.put("pair", pair.toUpperCase()); + } + if (StringUtils.isNotEmpty(contractType)) { + params.put("contract_type", contractType); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiLinearSwapCrossAPIConstants.SWAP_CROSS_POSITION_INFO, params,sign); + logger.debug("body:{}", body); + SwapCrossPositionInfoResponse response = JSON.parseObject(body, SwapCrossPositionInfoResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapCrossAccountPositionInfoResponse getSwapCrossAccountPositionInfo(String marginAccount) { + String body; + try { + Map params = new HashMap<>(); + params.put("margin_account", marginAccount.toUpperCase().toUpperCase()); + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiLinearSwapCrossAPIConstants.SWAP_CROSS_ACCOUNT_POSITION_INFO, params,sign); + logger.debug("body:{}", body); + SwapCrossAccountPositionInfoResponse response = JSON.parseObject(body, SwapCrossAccountPositionInfoResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapCrossSubAccountListResponse getSwapCrossSubAccountList(String marginAccount, String direct, Long fromId) { + String body; + try { + Map params = new HashMap<>(); + if (StringUtils.isNotEmpty(marginAccount)) { + params.put("margin_account", marginAccount.toUpperCase().toUpperCase()); + } + if (StringUtils.isNotEmpty(direct)) { + params.put("direct", direct); + } + if (fromId != null) { + params.put("from_id", fromId); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiLinearSwapCrossAPIConstants.SWAP_CROSS_SUB_ACCOUNT_LIST, params,sign); + logger.debug("body:{}", body); + SwapCrossSubAccountListResponse response = JSON.parseObject(body, SwapCrossSubAccountListResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapCrossSubAccountInfoResponse getSwapCrossSubAccountInfo(String marginAccount, Long subUid) { + String body; + try { + Map params = new HashMap<>(); + if (StringUtils.isNotEmpty(marginAccount)) { + params.put("margin_account", marginAccount.toUpperCase().toUpperCase()); + } + params.put("sub_uid", subUid); + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiLinearSwapCrossAPIConstants.SWAP_CROSS_SUB_ACCOUNT_INFO, params,sign); + logger.debug("body:{}", body); + SwapCrossSubAccountInfoResponse response = JSON.parseObject(body, SwapCrossSubAccountInfoResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapCrossSubPositionInfoResponse getSwapCrossSubPositionInfo(String contractCode, Long subUid, String pair, String contractType) { + String body; + try { + Map params = new HashMap<>(); + if (StringUtils.isNotEmpty(contractCode)) { + params.put("contract_code", contractCode.toUpperCase().toUpperCase()); + } + if (StringUtils.isNotEmpty(pair)) { + params.put("pair", pair.toUpperCase()); + } + if (contractType != null) { + params.put("contract_type", contractType); + } + params.put("sub_uid", subUid); + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiLinearSwapCrossAPIConstants.SWAP_CROSS_SUB_POSITION_INFO, params,sign); + logger.debug("body:{}", body); + SwapCrossSubPositionInfoResponse response = JSON.parseObject(body, SwapCrossSubPositionInfoResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + + @Override + public SwapCrossTransferLimitResponse getSwapCrossTransferLimitResponse(String marginAccount) { + String body; + try { + Map params = new HashMap<>(); + if (StringUtils.isNoneEmpty(marginAccount)) { + params.put("margin_account", marginAccount.toUpperCase()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiLinearSwapCrossAPIConstants.SWAP_CROSS_TRANSFER_LIMIT, params,sign); + logger.debug("body:{}", body); + SwapCrossTransferLimitResponse response = JSON.parseObject(body, SwapCrossTransferLimitResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapCrossPositionLimitResponse getSwapCrossPositionLimitResponse(String contractCode, String pair, String contractType,String businessType) { + String body; + try { + Map params = new HashMap<>(); + if (StringUtils.isNoneEmpty(contractCode)) { + params.put("contract_code", contractCode.toUpperCase()); + } + if (StringUtils.isNotEmpty(pair)){ + params.put("pair",pair.toUpperCase()); + } + if (contractType!=null){ + params.put("contract_type",contractType); + } + if (businessType!=null){ + params.put("business_type",businessType); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiLinearSwapCrossAPIConstants.SWAP_CROSS_POSITION_LIMIT, params,sign); + logger.debug("body:{}", body); + SwapCrossPositionLimitResponse response = JSON.parseObject(body, SwapCrossPositionLimitResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + + @Override + public SwapCrossAvailableLevelRateResponse getSwapCrossAvailableLevelRate(String contractCode, String pair, String contractType, String businessType) { + String body; + Map params = new HashMap<>(); + try { + if (StringUtils.isNoneEmpty(contractCode)) { + params.put("contract_code", contractCode.toUpperCase()); + } + if (StringUtils.isNotEmpty(pair)) { + params.put("pair", pair); + } + if (StringUtils.isNotEmpty(contractType)) { + params.put("contract_type", contractType); + } + if (StringUtils.isNotEmpty(businessType)) { + params.put("business_type", businessType); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiLinearSwapCrossAPIConstants.SWAP_CROSS_AVAILABLE_LEVEL_RATE, params,sign); + logger.debug("body:{}", body); + SwapCrossAvailableLevelRateResponse response = JSON.parseObject(body, SwapCrossAvailableLevelRateResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapSubAccountInfoListResponse getSwapCrossSubAccountInfoList(String marginAccount, Integer pageIndex, Integer pagesize) { + String body; + Map params = new HashMap<>(); + try { + params.put("margin_account", marginAccount); + params.put("page_index", pageIndex); + params.put("page_size", pagesize); + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiLinearSwapCrossAPIConstants.SWAP_CROSS_SUB_ACCOUNT_INFO_LIST, params,sign); + logger.debug("body:{}", body); + SwapSubAccountInfoListResponse response = JSON.parseObject(body, SwapSubAccountInfoListResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapLeverPositionLimitResponse getSwapCrossLeverPositionLimit(SwapCrossLeverPositionLimitRequest request) { + String body; + Map params = new HashMap<>(); + try { + if (StringUtils.isNotEmpty(request.getBusinessType())){ + params.put("business_type",request.getBusinessType()); + } + if (StringUtils.isNotEmpty(request.getContractType())){ + params.put("contract_type",request.getContractType()); + } + if (StringUtils.isNotEmpty(request.getPair())){ + params.put("pair",request.getPair()); + } + if (StringUtils.isNotEmpty(request.getContractCode())){ + params.put("contract_code",request.getContractCode()); + } + if (request.getLeverRate()!=null && request.getLeverRate()!=0){ + params.put("lever_rate",request.getLeverRate()); + } + if (StringUtils.isNotEmpty(request.getTradePartition())){ + params.put("trade_partition",request.getTradePartition()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiLinearSwapCrossAPIConstants.SWAP_CROSS_LEVER_POSITION_LIMIT, params,sign); + logger.debug("body:{}", body); + SwapLeverPositionLimitResponse response = JSON.parseObject(body, SwapLeverPositionLimitResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + +} diff --git a/src/main/java/com/huobi/api/service/usdt/market/MarketAPIService.java b/src/main/java/com/huobi/api/service/usdt/market/MarketAPIService.java new file mode 100644 index 0000000..a34f15d --- /dev/null +++ b/src/main/java/com/huobi/api/service/usdt/market/MarketAPIService.java @@ -0,0 +1,32 @@ +package com.huobi.api.service.usdt.market; + +import com.huobi.api.request.usdt.account.LinearSwapBasisRequest; +import com.huobi.api.request.usdt.account.SwapLiquidationOrdersRequest; +import com.huobi.api.request.usdt.account.SwapMarketHistoryKlineRequest; +import com.huobi.api.response.usdt.market.*; + +public interface MarketAPIService { + SwapMarketDepthResponse getSwapMarketDepth(String contractCode, String type);// 1.获取行情深度数据 + + MarketBboResponse getMarketBbo(String contractCode,String businessType);// 2.获取市场最优挂单 + + SwapMarketHistoryKlineResponse getSwapMarketHistoryKline(SwapMarketHistoryKlineRequest request);// 3.获取K线数据 + + LinearSwapMarkPriceKlineResponse getLinearSwapMarkPriceKline(String contractCode, String period, Integer size);// 4.获取标记价格的 K 线数据 + + SwapMarketDetailMergedResponse getSwapMarketDetailMerged(String contractCode); // 5.获取聚合行情 + + BatchMergedV2Response getBatchMergedV2(String contractCode,String businessType);// 6.批量获取聚合行情(V2) + + SwapMarketTradeResponse getSwapMarketTrade(String contractCode,String businessType);// 7.获取市场最近成交记录 + + SwapMarketHistoryTradeResponse getSwapMarketHistoryTrade(String contractCode, Integer size);// 8.批量获取最近的交易记录 + + SwapHisOpenInterestResponse getSwapHisOpenInterest(String contractCode,String pair,String contractType, String period, Integer size, Integer amountType);// 9.平台持仓量的查询 + + LinearSwapPremiumIndexKlineResponse getLinearSwapPremiumIndexKline(String contractCode, String period, Integer size);// 10.获取溢价指数K线数据 + + LinearSwapEstimatedRateKlineResponse getLinearSwapEstimatedRateKline(String contractCode, String period, Integer size);// 11.获取预测资金费率的K线数据 + + LinearSwapBasisResponse getLinearSwapBasis(LinearSwapBasisRequest request);// 12.获取基差数据 +} diff --git a/src/main/java/com/huobi/api/service/usdt/market/MarketAPIServiceImpl.java b/src/main/java/com/huobi/api/service/usdt/market/MarketAPIServiceImpl.java new file mode 100644 index 0000000..7f320c1 --- /dev/null +++ b/src/main/java/com/huobi/api/service/usdt/market/MarketAPIServiceImpl.java @@ -0,0 +1,299 @@ +package com.huobi.api.service.usdt.market; + +import com.alibaba.fastjson.JSON; +import com.huobi.api.constants.HuobiLinearSwapAPIConstants; +import com.huobi.api.exception.ApiException; +import com.huobi.api.request.usdt.account.LinearSwapBasisRequest; +import com.huobi.api.request.usdt.account.SwapLiquidationOrdersRequest; +import com.huobi.api.request.usdt.account.SwapMarketHistoryKlineRequest; +import com.huobi.api.response.usdt.market.*; +import com.huobi.api.util.HbdmHttpClient; +import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.HashMap; +import java.util.Map; + +public class MarketAPIServiceImpl implements MarketAPIService { + + String url_prex = "https://api.hbdm.com"; + Logger logger = LoggerFactory.getLogger(getClass()); + + @Override + public SwapMarketDepthResponse getSwapMarketDepth(String contractCode, String type) { + String body; + try { + Map params = new HashMap<>(); + params.put("contract_code", contractCode.toUpperCase()); + params.put("type", type); + body = HbdmHttpClient.getInstance().doGet(url_prex + HuobiLinearSwapAPIConstants.SWAP_MARKET_DEPTH, params); + logger.debug("body:{}", body); + SwapMarketDepthResponse response = JSON.parseObject(body, SwapMarketDepthResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapMarketHistoryKlineResponse getSwapMarketHistoryKline(SwapMarketHistoryKlineRequest request) { + String body; + try { + Map params = new HashMap<>(); + params.put("contract_code", request.getContractCode().toUpperCase()); + params.put("period", request.getPeriod()); + if (request.getSize() != null) { + params.put("size", request.getSize()); + } + if (request.getTo() != null) { + params.put("to", request.getTo()); + } + if (request.getFrom() != null) { + params.put("from", request.getFrom()); + } + body = HbdmHttpClient.getInstance().doGet(url_prex + HuobiLinearSwapAPIConstants.SWAP_MARKET_HISTORY_KLINE, params); + logger.debug("body:{}", body); + SwapMarketHistoryKlineResponse response = JSON.parseObject(body, SwapMarketHistoryKlineResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + + @Override + public SwapMarketDetailMergedResponse getSwapMarketDetailMerged(String contractCode) { + String body; + try { + Map params = new HashMap<>(); + params.put("contract_code", contractCode.toUpperCase()); + body = HbdmHttpClient.getInstance().doGet(url_prex + HuobiLinearSwapAPIConstants.SWAP_MARKET_DETAIL_MERGED, params); + logger.debug("body:{}", body); + SwapMarketDetailMergedResponse response = JSON.parseObject(body, SwapMarketDetailMergedResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + + } + + @Override + public SwapMarketTradeResponse getSwapMarketTrade(String contractCode,String businessType) { + String body; + try { + Map params = new HashMap<>(); + if (StringUtils.isNotEmpty(contractCode)) { + params.put("contract_code", contractCode.toUpperCase()); + } + if (StringUtils.isNotEmpty(businessType)){ + params.put("business_type",businessType); + } + body = HbdmHttpClient.getInstance().doGet(url_prex + HuobiLinearSwapAPIConstants.SWAP_MARKET_TRADE, params); + logger.debug("body:{}", body); + SwapMarketTradeResponse response = JSON.parseObject(body, SwapMarketTradeResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapMarketHistoryTradeResponse getSwapMarketHistoryTrade(String contractCode, Integer size) { + String body; + try { + Map params = new HashMap<>(); + params.put("contract_code", contractCode.toUpperCase()); + if (size != null) { + params.put("size", size); + } + body = HbdmHttpClient.getInstance().doGet(url_prex + HuobiLinearSwapAPIConstants.SWAP_MARKET_HISTORY_TRADE, params); + logger.debug("body:{}", body); + SwapMarketHistoryTradeResponse response = JSON.parseObject(body, SwapMarketHistoryTradeResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + + + @Override + public SwapHisOpenInterestResponse getSwapHisOpenInterest(String contractCode,String pair,String contractType, String period, Integer size, Integer amountType) { + String body; + try { + Map params = new HashMap<>(); + if (StringUtils.isNotEmpty(contractCode)) { + params.put("contract_code", contractCode.toUpperCase()); + } + if (StringUtils.isNotEmpty(pair)){ + params.put("pair",pair.toUpperCase()); + } + if (StringUtils.isNotEmpty(contractType)){ + params.put("contract_type",contractType); + } + params.put("period", period); + if (size != null) { + params.put("size", size); + } + if (amountType != null) { + params.put("amount_type", amountType); + } + body = HbdmHttpClient.getInstance().doGet(url_prex + HuobiLinearSwapAPIConstants.SWAP_HIS_OPEN_INTEREST, params); + logger.debug("body:{}", body); + SwapHisOpenInterestResponse response = JSON.parseObject(body, SwapHisOpenInterestResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public LinearSwapPremiumIndexKlineResponse getLinearSwapPremiumIndexKline(String contractCode, String period, Integer size) { + String body; + try { + Map params = new HashMap<>(); + params.put("contract_code", contractCode.toUpperCase()); + params.put("period", period); + params.put("size", size); + body = HbdmHttpClient.getInstance().doGet(url_prex + HuobiLinearSwapAPIConstants.LINEAR_SWAP_PREMIUM_INDEX_KLINE, params); + logger.debug("body:{}", body); + LinearSwapPremiumIndexKlineResponse response = JSON.parseObject(body, LinearSwapPremiumIndexKlineResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public LinearSwapEstimatedRateKlineResponse getLinearSwapEstimatedRateKline(String contractCode, String period, Integer size) { + String body; + try { + Map params = new HashMap<>(); + params.put("contract_code", contractCode.toUpperCase()); + params.put("period", period); + params.put("size", size); + body = HbdmHttpClient.getInstance().doGet(url_prex + HuobiLinearSwapAPIConstants.LINEAR_SWAP_ESTIMATED_RATE_KLINE, params); + logger.debug("body:{}", body); + LinearSwapEstimatedRateKlineResponse response = JSON.parseObject(body, LinearSwapEstimatedRateKlineResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public LinearSwapBasisResponse getLinearSwapBasis(LinearSwapBasisRequest request) { + String body; + try { + Map params = new HashMap<>(); + params.put("contract_code", request.getContractCode().toUpperCase()); + params.put("period", request.getPeriod()); + params.put("size", request.getSize()); + if (StringUtils.isNoneEmpty(request.getBasisPriceType())) { + params.put("basis_price_type", request.getBasisPriceType()); + } + body = HbdmHttpClient.getInstance().doGet(url_prex + HuobiLinearSwapAPIConstants.LINEAR_SWAP_BASIS, params); + logger.debug("body:{}", body); + LinearSwapBasisResponse response = JSON.parseObject(body, LinearSwapBasisResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public LinearSwapMarkPriceKlineResponse getLinearSwapMarkPriceKline(String contractCode, String period, Integer size) { + String body; + try { + Map params = new HashMap<>(); + params.put("contract_code", contractCode.toUpperCase()); + params.put("period", period); + params.put("size", size); + body = HbdmHttpClient.getInstance().doGet(url_prex + HuobiLinearSwapAPIConstants.LINEAR_SWAP_MARK_PRICE_KLINE, params); + logger.debug("body:{}", body); + LinearSwapMarkPriceKlineResponse response = JSON.parseObject(body, LinearSwapMarkPriceKlineResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public MarketBboResponse getMarketBbo(String contractCode,String businessType) { + String body; + try { + Map params = new HashMap<>(); + if (StringUtils.isNotEmpty(contractCode)) { + params.put("contract_code", contractCode.toUpperCase()); + } + if (StringUtils.isNotEmpty(businessType)){ + params.put("business_type",businessType); + } + body = HbdmHttpClient.getInstance().doGet(url_prex + HuobiLinearSwapAPIConstants.MARKET_BBO, params); + logger.debug("body:{}", body); + MarketBboResponse response = JSON.parseObject(body, MarketBboResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public BatchMergedV2Response getBatchMergedV2(String contractCode, String businessType) { + String body; + try { + Map params = new HashMap<>(); + if (StringUtils.isNoneEmpty(contractCode)) { + params.put("contract_code", contractCode.toUpperCase()); + } + if (StringUtils.isNotEmpty(businessType)){ + params.put("business_type",businessType); + } + body = HbdmHttpClient.getInstance().doGet(url_prex + HuobiLinearSwapAPIConstants.BATCH_MERGED_V2, params); + logger.debug("body:{}", body); + BatchMergedV2Response response = JSON.parseObject(body, BatchMergedV2Response.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + +} \ No newline at end of file diff --git a/src/main/java/com/huobi/api/service/usdt/reference/CrossReferenceAPIService.java b/src/main/java/com/huobi/api/service/usdt/reference/CrossReferenceAPIService.java new file mode 100644 index 0000000..2aecba5 --- /dev/null +++ b/src/main/java/com/huobi/api/service/usdt/reference/CrossReferenceAPIService.java @@ -0,0 +1,12 @@ +package com.huobi.api.service.usdt.reference; + +import com.huobi.api.response.usdt.market.SwapCrossAdjustfactorResponse; +import com.huobi.api.response.usdt.market.SwapLadderMarginResponse; + +public interface CrossReferenceAPIService { + public SwapLadderMarginResponse getSwapCrossLadderMargin(String contractCode, String contractType, String pair, String businessType);// 1.【全仓】获取平台阶梯保证金 + + public SwapCrossAdjustfactorResponse getSwapCrossAdjustfactor(String contractCode, String contractType, String pair, String businessType);// 2.【全仓】查询平台阶梯调整系数 + + +} diff --git a/src/main/java/com/huobi/api/service/usdt/reference/CrossReferenceAPIServiceImpl.java b/src/main/java/com/huobi/api/service/usdt/reference/CrossReferenceAPIServiceImpl.java new file mode 100644 index 0000000..ef69ea6 --- /dev/null +++ b/src/main/java/com/huobi/api/service/usdt/reference/CrossReferenceAPIServiceImpl.java @@ -0,0 +1,85 @@ +package com.huobi.api.service.usdt.reference; + +import com.alibaba.fastjson.JSON; +import com.huobi.api.constants.HuobiLinearSwapCrossAPIConstants; +import com.huobi.api.exception.ApiException; +import com.huobi.api.response.usdt.market.SwapCrossAdjustfactorResponse; +import com.huobi.api.response.usdt.market.SwapLadderMarginResponse; +import com.huobi.api.util.HbdmHttpClient; +import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.HashMap; +import java.util.Map; + +public class CrossReferenceAPIServiceImpl implements CrossReferenceAPIService{ + String api_key = ""; // huobi申请的apiKey + String secret_key = ""; // huobi申请的secretKey + String url_prex = "https://api.hbdm.com"; + + Logger logger = LoggerFactory.getLogger(getClass()); + + public CrossReferenceAPIServiceImpl(String api_key, String secret_key) { + this.api_key = api_key; + this.secret_key = secret_key; + } + + @Override + public SwapLadderMarginResponse getSwapCrossLadderMargin(String contractCode, String contractType, String pair, String businessType) { + String body; + try { + Map params = new HashMap<>(); + if (StringUtils.isNoneEmpty(contractCode)) { + params.put("contract_code", contractCode.toUpperCase()); + } + if (StringUtils.isNotEmpty(pair)){ + params.put("pair",pair.toUpperCase()); + } + if (StringUtils.isNotEmpty(contractType)){ + params.put("contract_type",contractType); + } + if (StringUtils.isNotEmpty(businessType)){ + params.put("business_type",businessType); + } + body = HbdmHttpClient.getInstance().doGet(url_prex + HuobiLinearSwapCrossAPIConstants.SWAP_CROSS_LADDER_MARGIN, params); + logger.debug("body:{}", body); + SwapLadderMarginResponse response = JSON.parseObject(body, SwapLadderMarginResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapCrossAdjustfactorResponse getSwapCrossAdjustfactor(String contractCode, String contractType, String pair, String businessType) { + String body; + try { + Map params = new HashMap<>(); + if (StringUtils.isNoneEmpty(contractCode)) { + params.put("contract_code", contractCode.toUpperCase()); + } + if (StringUtils.isNotEmpty(pair)){ + params.put("pair",pair.toUpperCase()); + } + if (StringUtils.isNotEmpty(contractType)){ + params.put("contract_type",contractType); + } + if (StringUtils.isNotEmpty(businessType)){ + params.put("business_type",businessType); + } + body = HbdmHttpClient.getInstance().doGet(url_prex + HuobiLinearSwapCrossAPIConstants.SWAP_CROSS_ADJUSTFACTOR, params); + logger.debug("body:{}", body); + SwapCrossAdjustfactorResponse response = JSON.parseObject(body, SwapCrossAdjustfactorResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } +} diff --git a/src/main/java/com/huobi/api/service/usdt/reference/ReferenceAPIService.java b/src/main/java/com/huobi/api/service/usdt/reference/ReferenceAPIService.java new file mode 100644 index 0000000..59f9506 --- /dev/null +++ b/src/main/java/com/huobi/api/service/usdt/reference/ReferenceAPIService.java @@ -0,0 +1,45 @@ +package com.huobi.api.service.usdt.reference; + +import com.huobi.api.request.usdt.account.SwapLiquidationOrdersV3Request; +import com.huobi.api.response.usdt.account.SwapLiquidationOrdersV3Response; +import com.huobi.api.response.usdt.account.SwapSwitchAccountTypeResponse; +import com.huobi.api.response.usdt.account.SwapUnifiedAccountTypeResponse; +import com.huobi.api.response.usdt.market.*; + +public interface ReferenceAPIService { + public SwapFundingRateResponse getSwapFundingRate(String contractCode);// 1.获取合约的资金费率 + + public SwapBatchFundingRateResponse getSwapBatchFundingRate(String contractCode);// 2.批量获取合约资金费率 + + public SwapHistoricalFundingRateResponse getSwapHistoricalFundingRate(String contractCode, Integer pageIndex, Integer pageSize);// 3.获取合约的历史资金费率 + + public SwapLiquidationOrdersV3Response getSwapLiquidationOrdersV3(SwapLiquidationOrdersV3Request request);// 4.获取强平订单(新) + + public SwapSettlementRecordsResponse getSwapSettlementRecords(String contractCode, Long startTime, Long endTime, Integer pageIndex, Integer pageSize);// 5.查询平台历史结算记录 + + public SwapEliteAccountRatioResponse getSwapEliteAccountRatio(String contractCode, String period);// 6.精英账户多空持仓对比-账户数 + + public SwapElitePositionRatioResponse getSwapElitePositionRatio(String contractCode, String period);// 7.精英账户多空持仓对比-持仓量 + + public SwapApiStateResponse getSwapApiState(String contractCode);// 8.查询系统状态 + + public SwapLadderMarginResponse getSwapLadderMargin(String contractCode);// 9.获取平台阶梯保证金 + + public SwapEstimatedSettlementPriceResponse getSwapEstimatedSettlementPrice(String contractCode,String pair,String contractType,String businessType);// 10.获取预估结算价 + + public SwapAdjustfactorResponse getSwapAdjustfactor(String contractCode);// 11.查询平台阶梯调整系数 + + public SwapInsuranceFundResponse getSwapInsuranceFund(String contractCode, Integer pageIndex, Integer pageSize);// 12.获取风险准备金历史数据 + + public SwapRiskInfoResponse getSwapRiskInfo(String contractCode,String businessType);// 13.查询合约风险准备金和预估分摊比例 + + public SwapPriceLimitResponse getSwapPriceLimit(String contractCode, String pair, String contractType, String businessType);// 14.获取合约最高限价和最低限价 + + public SwapOpenInterestResponse getSwapOpenInterest(String contractCode, String pair, String contractType, String businessType);// 15.获取当前可用合约总持仓量 + + public SwapContractInfoResponse getSwapContractInfo(String contractCode, String supportMarginMode, String pair, String contractType, String businessType);// 16.获取合约信息 + + public SwapIndexResponse getSwapIndex(String contractCode);// 17.获取合约指数信息 + + public SwapQueryElementsResponse getSwapQueryElements(String contractCode);// 18.合约要素 +} diff --git a/src/main/java/com/huobi/api/service/usdt/reference/ReferenceAPIServiceImpl.java b/src/main/java/com/huobi/api/service/usdt/reference/ReferenceAPIServiceImpl.java new file mode 100644 index 0000000..b547a67 --- /dev/null +++ b/src/main/java/com/huobi/api/service/usdt/reference/ReferenceAPIServiceImpl.java @@ -0,0 +1,459 @@ +package com.huobi.api.service.usdt.reference; + +import com.alibaba.fastjson.JSON; +import com.huobi.api.constants.HuobiLinearSwapAPIConstants; +import com.huobi.api.exception.ApiException; +import com.huobi.api.request.usdt.account.SwapLiquidationOrdersV3Request; +import com.huobi.api.response.usdt.account.SwapLiquidationOrdersV3Response; +import com.huobi.api.response.usdt.account.SwapSwitchAccountTypeResponse; +import com.huobi.api.response.usdt.account.SwapUnifiedAccountTypeResponse; +import com.huobi.api.response.usdt.market.*; +import com.huobi.api.util.HbdmHttpClient; +import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.HashMap; +import java.util.Map; + +public class ReferenceAPIServiceImpl implements ReferenceAPIService{ + String url_prex = "https://api.hbdm.com"; + + Logger logger = LoggerFactory.getLogger(getClass()); + + + @Override + public SwapFundingRateResponse getSwapFundingRate(String contractCode) { + String body; + try { + Map params = new HashMap<>(); + params.put("contract_code", contractCode.toUpperCase()); + body = HbdmHttpClient.getInstance().doGet(url_prex + HuobiLinearSwapAPIConstants.SWAP_FUNDING_RATE, params); + logger.debug("body:{}", body); + SwapFundingRateResponse response = JSON.parseObject(body, SwapFundingRateResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapBatchFundingRateResponse getSwapBatchFundingRate(String contractCode) { + String body; + try { + Map params = new HashMap<>(); + if (StringUtils.isNotEmpty(contractCode)) { + params.put("contract_code", contractCode.toUpperCase()); + } + body = HbdmHttpClient.getInstance().doGet(url_prex + HuobiLinearSwapAPIConstants.SWAP_BATCH_FUNDING_RATE, params); + logger.debug("body:{}", body); + SwapBatchFundingRateResponse response = JSON.parseObject(body, SwapBatchFundingRateResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + public SwapHistoricalFundingRateResponse getSwapHistoricalFundingRate(String contractCode, Integer pageIndex, Integer pageSize) { + String body; + try { + Map params = new HashMap<>(); + params.put("contract_code", contractCode.toUpperCase()); + if (pageIndex != null) { + params.put("page_index", pageIndex); + } + if (pageSize != null) { + params.put("page_size", pageSize); + } + body = HbdmHttpClient.getInstance().doGet(url_prex + HuobiLinearSwapAPIConstants.SWAP_HISTORICAL_FUNDING_RATE, params); + logger.debug("body:{}", body); + SwapHistoricalFundingRateResponse response = JSON.parseObject(body, SwapHistoricalFundingRateResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapLiquidationOrdersV3Response getSwapLiquidationOrdersV3(SwapLiquidationOrdersV3Request request) { + String body; + Map params = new HashMap<>(); + try { + if (StringUtils.isNotEmpty(request.getContract())) { + params.put("contract", request.getContract()); + } + if (StringUtils.isNotEmpty(request.getPair())) { + params.put("pair", request.getPair()); + } + if (request.getTradeType() != null) { + params.put("trade_type", request.getTradeType()); + } + if (request.getStartTime() != null) { + params.put("start_time", request.getStartTime()); + } + if (request.getEndTime() != null) { + params.put("end_time", request.getEndTime()); + } + if (StringUtils.isNotEmpty(request.getDirect())) { + params.put("direct", request.getDirect()); + } + if (request.getFromId() != null) { + params.put("from_id", request.getFromId()); + } + body = HbdmHttpClient.getInstance().doGet(url_prex + HuobiLinearSwapAPIConstants.SWAP_LIQUIDATION_ORDERS_V3, params); + logger.debug("body:{}", body); + SwapLiquidationOrdersV3Response response = JSON.parseObject(body, SwapLiquidationOrdersV3Response.class); + if (response.getCode() != null && response.getCode() == 200) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapSettlementRecordsResponse getSwapSettlementRecords(String contractCode, Long startTime, Long endTime, Integer pageIndex, Integer pageSize) { + String body; + try { + Map params = new HashMap<>(); + params.put("contract_code", contractCode.toUpperCase()); + if (startTime!=null&startTime!=Long.valueOf(0)){ + params.put("start_time",startTime); + } + if (endTime!=null&endTime!=Long.valueOf(0)){ + params.put("end_time",endTime); + } + if (pageIndex!=null){ + params.put("page_index",pageIndex); + } + if (pageSize!=null){ + params.put("page_size",pageSize); + } + body = HbdmHttpClient.getInstance().doGet(url_prex + HuobiLinearSwapAPIConstants.SWAP_SETTLEMENT_RECORDS, params); + logger.debug("body:{}", body); + SwapSettlementRecordsResponse response = JSON.parseObject(body, SwapSettlementRecordsResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapEliteAccountRatioResponse getSwapEliteAccountRatio(String contractCode, String period) { + String body; + try { + Map params = new HashMap<>(); + params.put("contract_code", contractCode.toUpperCase()); + params.put("period", period); + body = HbdmHttpClient.getInstance().doGet(url_prex + HuobiLinearSwapAPIConstants.SWAP_ELITE_ACCOUNT_RATIO, params); + logger.debug("body:{}", body); + SwapEliteAccountRatioResponse response = JSON.parseObject(body, SwapEliteAccountRatioResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapElitePositionRatioResponse getSwapElitePositionRatio(String contractCode, String period) { + String body; + try { + Map params = new HashMap<>(); + params.put("contract_code", contractCode.toUpperCase()); + params.put("period", period); + body = HbdmHttpClient.getInstance().doGet(url_prex + HuobiLinearSwapAPIConstants.SWAP_ELITE_POSITION_RATIO, params); + logger.debug("body:{}", body); + SwapElitePositionRatioResponse response = JSON.parseObject(body, SwapElitePositionRatioResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapApiStateResponse getSwapApiState(String contractCode) { + String body; + try { + Map params = new HashMap<>(); + if (StringUtils.isNoneEmpty(contractCode)) { + params.put("contract_code", contractCode.toUpperCase()); + } + body = HbdmHttpClient.getInstance().doGet(url_prex + HuobiLinearSwapAPIConstants.SWAP_API_STATE, params); + logger.debug("body:{}", body); + SwapApiStateResponse response = JSON.parseObject(body, SwapApiStateResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapLadderMarginResponse getSwapLadderMargin(String contractCode) { + String body; + try { + Map params = new HashMap<>(); + if (StringUtils.isNotEmpty(contractCode)) { + params.put("contract_code", contractCode.toUpperCase()); + } + body = HbdmHttpClient.getInstance().doGet(url_prex + HuobiLinearSwapAPIConstants.SWAP_LADDER_MARGIN, params); + logger.debug("body:{}", body); + SwapLadderMarginResponse response = JSON.parseObject(body, SwapLadderMarginResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapEstimatedSettlementPriceResponse getSwapEstimatedSettlementPrice(String contractCode,String pair,String contractType,String businessType) { + String body; + try { + Map params = new HashMap<>(); + if (StringUtils.isNoneEmpty(contractCode)) { + params.put("contract_code", contractCode.toUpperCase()); + } + if (StringUtils.isNotEmpty(pair)){ + params.put("pair",pair.toUpperCase()); + } + if (StringUtils.isNotEmpty(contractType)){ + params.put("contract_type",contractType); + } + if (StringUtils.isNotEmpty(businessType)){ + params.put("business_type",businessType); + } + body = HbdmHttpClient.getInstance().doGet(url_prex + HuobiLinearSwapAPIConstants.SWAP_ESTIMATED_SETTLEMENT_PRICE, params); + logger.debug("body:{}", body); + SwapEstimatedSettlementPriceResponse response = JSON.parseObject(body, SwapEstimatedSettlementPriceResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapAdjustfactorResponse getSwapAdjustfactor(String contractCode) { + String body; + try { + Map params = new HashMap<>(); + if (StringUtils.isNoneEmpty(contractCode)) { + params.put("contract_code", contractCode.toUpperCase()); + } + body = HbdmHttpClient.getInstance().doGet(url_prex + HuobiLinearSwapAPIConstants.SWAP_ADJUSTFACTOR, params); + logger.debug("body:{}", body); + SwapAdjustfactorResponse response = JSON.parseObject(body, SwapAdjustfactorResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapInsuranceFundResponse getSwapInsuranceFund(String contractCode, Integer pageIndex, Integer pageSize) { + String body; + try { + Map params = new HashMap<>(); + params.put("contract_code", contractCode.toUpperCase()); + if (pageIndex != null) { + params.put("page_index", pageIndex); + } + if (pageSize != null) { + params.put("page_size", pageSize); + } + body = HbdmHttpClient.getInstance().doGet(url_prex + HuobiLinearSwapAPIConstants.SWAP_INSURANCE_FUND, params); + logger.debug("body:{}", body); + SwapInsuranceFundResponse response = JSON.parseObject(body, SwapInsuranceFundResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapRiskInfoResponse getSwapRiskInfo(String contractCode,String businessType) { + String body; + try { + Map params = new HashMap<>(); + if (StringUtils.isNotEmpty(contractCode)) { + params.put("contract_code", contractCode.toUpperCase()); + } + if (StringUtils.isNotEmpty(businessType)){ + params.put("business_type",businessType); + } + body = HbdmHttpClient.getInstance().doGet(url_prex + HuobiLinearSwapAPIConstants.SWAP_RISK_INFO, params); + logger.debug("body:{}", body); + SwapRiskInfoResponse response = JSON.parseObject(body, SwapRiskInfoResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapPriceLimitResponse getSwapPriceLimit(String contractCode, String pair, String contractType, String businessType) { + String body; + try { + Map params = new HashMap<>(); + if (StringUtils.isNotEmpty(contractCode)) { + params.put("contract_code", contractCode.toUpperCase()); + } + if (StringUtils.isNotEmpty(pair)){ + params.put("pair",pair.toUpperCase()); + } + if (StringUtils.isNotEmpty(contractType)){ + params.put("contract_type",contractType); + } + if (StringUtils.isNotEmpty(businessType)){ + params.put("business_type",businessType); + } + body = HbdmHttpClient.getInstance().doGet(url_prex + HuobiLinearSwapAPIConstants.SWAP_PRICE_LIMIT, params); + logger.debug("body:{}", body); + SwapPriceLimitResponse response = JSON.parseObject(body, SwapPriceLimitResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapOpenInterestResponse getSwapOpenInterest(String contractCode, String pair, String contractType, String businessType) { + String body; + try { + Map params = new HashMap<>(); + if (StringUtils.isNoneEmpty(contractCode)) { + params.put("contract_code", contractCode.toUpperCase()); + } + if (StringUtils.isNotEmpty(pair)){ + params.put("pair",pair.toUpperCase()); + } + if (StringUtils.isNotEmpty(contractType)){ + params.put("contract_type",contractType); + } + if (StringUtils.isNotEmpty(businessType)){ + params.put("business_type",businessType); + } + body = HbdmHttpClient.getInstance().doGet(url_prex + HuobiLinearSwapAPIConstants.SWAP_OPEN_INTEREST, params); + logger.debug("body:{}", body); + SwapOpenInterestResponse response = JSON.parseObject(body, SwapOpenInterestResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapContractInfoResponse getSwapContractInfo(String contractCode, String supportMarginMode, String pair, String contractType, String businessType) { + String body; + try { + Map params = new HashMap<>(); + if (StringUtils.isNoneEmpty(contractCode)) { + params.put("contract_code", contractCode.toUpperCase()); + } + if (StringUtils.isNotEmpty(supportMarginMode)) { + params.put("support_margin_mode", supportMarginMode); + } + if(StringUtils.isNotEmpty(pair)){ + params.put("pair",pair); + } + if (StringUtils.isNotEmpty(contractType)){ + params.put("contract_type",contractType); + } + if (StringUtils.isNotEmpty(businessType)){ + params.put("business_type",businessType); + } + body = HbdmHttpClient.getInstance().doGet(url_prex + HuobiLinearSwapAPIConstants.SWAP_CONTRACT_INFO, params); + logger.debug("body:{}", body); + SwapContractInfoResponse response = JSON.parseObject(body, SwapContractInfoResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapIndexResponse getSwapIndex(String contractCode) { + String body; + try { + Map params = new HashMap<>(); + if (StringUtils.isNoneEmpty(contractCode)) { + params.put("contract_code", contractCode.toUpperCase()); + } + body = HbdmHttpClient.getInstance().doGet(url_prex + HuobiLinearSwapAPIConstants.SWAP_INDEX, params); + logger.debug("body:{}", body); + SwapIndexResponse response = JSON.parseObject(body, SwapIndexResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapQueryElementsResponse getSwapQueryElements(String contractCode) { + String body; + try { + Map params = new HashMap<>(); + if (StringUtils.isNoneEmpty(contractCode)) { + params.put("contract_code", contractCode.toUpperCase()); + } + body = HbdmHttpClient.getInstance().doGet(url_prex + HuobiLinearSwapAPIConstants.SWAP_QUERY_ELEMENTS, params); + logger.debug("body:{}", body); + SwapQueryElementsResponse response = JSON.parseObject(body, SwapQueryElementsResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } +} diff --git a/src/main/java/com/huobi/api/service/usdt/strategy/CrossStrategyAPIService.java b/src/main/java/com/huobi/api/service/usdt/strategy/CrossStrategyAPIService.java new file mode 100644 index 0000000..954bdab --- /dev/null +++ b/src/main/java/com/huobi/api/service/usdt/strategy/CrossStrategyAPIService.java @@ -0,0 +1,38 @@ +package com.huobi.api.service.usdt.strategy; + +import com.huobi.api.request.usdt.trade.*; +import com.huobi.api.response.usdt.trade.*; + +public interface CrossStrategyAPIService { + public SwapCrossTriggerOrderResponse swapCrossTriggerOrderResponse(SwapCrossTriggerOrderRequest request);// 1、计划委托下单(全仓模式) + + public SwapCrossTriggerCancelResponse swapCrossTriggerCancelResponse(SwapCrossTriggerCancelRequest request);// 2、计划委托撤单(全仓模式) + + public SwapCrossTriggerCancelallResponse swapCrossTriggerCancelallResponse(SwapCrossTriggerCancelallRequest request);// 3、计划委托全部撤单(全仓模式) + + public SwapCrossTriggerOpenordersResponse swapCrossTriggerOpenordersResponse(SwapCrossTriggerOpenordersRequest request);// 4、获取计划委托当前委托(全仓模式) + + public SwapCrossTriggerHisordersResponse swapCrossTriggerHisordersResponse(SwapCrossTriggerHisordersRequest request);// 5、获取计划委托历史委托(全仓模式) + + public SwapTpslOrderResponse swapCrossTpslOrderResponse(SwapTpslOrderRequest request);// 6.对仓位设置止盈止损订单 + + public SwapTpslCancelResponse swapCrossTpslCancelResponse(SwapTpslCancelRequest request);// 7.止盈止损订单撤单 + + public SwapTpslCancelallResponse swapCrossTpslCancelallResponse(SwapTpslCancelallRequest request);// 8.止盈止损订单全部撤单 + + public SwapTpslOpenordersResponse swapCrossTpslOpenordersResponse(SwapTpslOpenordersRequest request);// 9.查询止盈止损订单当前委托 + + public SwapTpslHisordersResponse swapCrossTpslHisordersResponse(SwapTpslHisordersRequset request);// 10.查询止盈止损订单历史委托 + + public SwapRelationTpslOrderResponse swapCrossRelationTpslOrderResponse(SwapRelationTpslOrderRequest request);// 11.查询开仓单关联的止盈止损订单详情 + + public SwapTrackOrderResponse swapCrossTrackOrderResponse(SwapTrackOrderRequest request);// 12.跟踪委托订单下单 + + public SwapTrackCancelResponse swapCrossTrackCancelResponse(SwapTrackCancelRequest request);// 13.跟踪委托订单撤单 + + public SwapTrackCancelallResponse swapCrossTrackCancelallResponse(SwapTrackCancelallRequest request);// 14.跟踪委托订单全部撤单 + + public SwapTrackOpenordersResponse swapCrossTrackOpenordersResponse(SwapTrackOpenordersRequest request);// 15.跟踪委托订单当前委托 + + public SwapTrackHisordersResponse swapCrossTrackHisordersResponse(SwapTrackHisordersRequest request);// 16.跟踪委托订单历史委托 +} diff --git a/src/main/java/com/huobi/api/service/usdt/strategy/CrossStrategyAPIServiceImpl.java b/src/main/java/com/huobi/api/service/usdt/strategy/CrossStrategyAPIServiceImpl.java new file mode 100644 index 0000000..74eaa44 --- /dev/null +++ b/src/main/java/com/huobi/api/service/usdt/strategy/CrossStrategyAPIServiceImpl.java @@ -0,0 +1,567 @@ +package com.huobi.api.service.usdt.strategy; + +import com.alibaba.fastjson.JSON; +import com.huobi.api.constants.HuobiLinearSwapCrossAPIConstants; +import com.huobi.api.exception.ApiException; +import com.huobi.api.request.usdt.trade.*; +import com.huobi.api.response.usdt.trade.*; +import com.huobi.api.util.HbdmHttpClient; +import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.math.BigDecimal; +import java.util.HashMap; +import java.util.Map; + +public class CrossStrategyAPIServiceImpl implements CrossStrategyAPIService{ + String api_key = ""; // huobi申请的apiKey + String secret_key = ""; // huobi申请的secretKey + String sign = ""; + String url_prex = "https://api.hbdm.com"; + + Logger logger = LoggerFactory.getLogger(getClass()); + + public CrossStrategyAPIServiceImpl(String api_key, String secret_key) { + this.api_key = api_key; + this.secret_key = secret_key; + } + + @Override + public SwapCrossTriggerOrderResponse swapCrossTriggerOrderResponse(SwapCrossTriggerOrderRequest request) { + String body; + try { + Map params = new HashMap<>(); + if (StringUtils.isNotEmpty(request.getContractCode())) { + params.put("contract_code", request.getContractCode().toUpperCase()); + } + if (StringUtils.isNotEmpty(request.getPair())){ + params.put("pair",request.getPair().toUpperCase()); + } + if (request.getContractType()!=null){ + params.put("contract_type",request.getContractType()); + } + params.put("trigger_type", request.getTriggerType()); + params.put("trigger_price", request.getTriggerPrice()); + params.put("volume", request.getVolume()); + params.put("direction", request.getDirection()); + if (request.getOffset()!=null) { + params.put("offset", request.getOffset()); + } + if (request.getOrderPrice() != null) { + params.put("order_price", request.getOrderPrice()); + } + if (request.getOrderPriceType() != null) { + params.put("order_price_type", request.getOrderPriceType()); + } + if (request.getLeverRate() != null) { + params.put("lever_rate", request.getLeverRate()); + } + if(request.getReduceOnly()!=null){ + params.put("reduce_only",request.getReduceOnly()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiLinearSwapCrossAPIConstants.SWAP_CROSS_TRIGGER_ORDER, params,sign); + logger.debug("body:{}", body); + SwapCrossTriggerOrderResponse response = JSON.parseObject(body, SwapCrossTriggerOrderResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapCrossTriggerCancelResponse swapCrossTriggerCancelResponse(SwapCrossTriggerCancelRequest request) { + String body; + try { + Map params = new HashMap<>(); + if (StringUtils.isNotEmpty(request.getContractCode())) { + params.put("contract_code", request.getContractCode().toUpperCase()); + } + if (StringUtils.isNotEmpty(request.getPair())){ + params.put("pair",request.getPair().toUpperCase()); + } + if (request.getContractType()!=null){ + params.put("contract_type",request.getContractType()); + } + params.put("order_id", request.getOrderId()); + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiLinearSwapCrossAPIConstants.SWAP_CROSS_TRIGGER_CANCEL, params,sign); + logger.debug("body:{}", body); + SwapCrossTriggerCancelResponse response = JSON.parseObject(body, SwapCrossTriggerCancelResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapCrossTriggerCancelallResponse swapCrossTriggerCancelallResponse(SwapCrossTriggerCancelallRequest request) { + String body; + try { + Map params = new HashMap<>(); + if (StringUtils.isNotEmpty(request.getContractCode())) { + params.put("contract_code", request.getContractCode().toUpperCase()); + } + if (StringUtils.isNotEmpty(request.getPair())){ + params.put("pair",request.getPair().toUpperCase()); + } + if (request.getContractType()!=null){ + params.put("contract_type",request.getContractType()); + } + if (request.getDirection() != null) { + params.put("direction", request.getDirection()); + } + if (request.getOffset() != null) { + params.put("offset", request.getOffset()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiLinearSwapCrossAPIConstants.SWAP_CROSS_TRIGGER_CANCELALL, params,sign); + logger.debug("body:{}", body); + SwapCrossTriggerCancelallResponse response = JSON.parseObject(body, SwapCrossTriggerCancelallResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapCrossTriggerOpenordersResponse swapCrossTriggerOpenordersResponse(SwapCrossTriggerOpenordersRequest request) { + String body; + try { + Map params = new HashMap<>(); + if (StringUtils.isNotEmpty(request.getContractCode())) { + params.put("contract_code", request.getContractCode().toUpperCase()); + } + if (StringUtils.isNotEmpty(request.getPair())){ + params.put("pair",request.getPair().toUpperCase()); + } + if (request.getPageIndex() != null) { + params.put("page_index", request.getPageIndex()); + } + if (request.getPageSize() != null) { + params.put("page_size", request.getPageSize()); + } + if (request.getTradeType() != null) { + params.put("trade_type", request.getTradeType()); + } + if (StringUtils.isNotEmpty(request.getTradePartition())){ + params.put("trade_partition",request.getTradePartition()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiLinearSwapCrossAPIConstants.SWAP_CROSS_TRIGGER_OPENORDERS, params,sign); + logger.debug("body:{}", body); + SwapCrossTriggerOpenordersResponse response = JSON.parseObject(body, SwapCrossTriggerOpenordersResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapCrossTriggerHisordersResponse swapCrossTriggerHisordersResponse(SwapCrossTriggerHisordersRequest request) { + String body; + try { + Map params = new HashMap<>(); + if (StringUtils.isNotEmpty(request.getContractCode())) { + params.put("contract_code", request.getContractCode().toUpperCase()); + } + if (StringUtils.isNotEmpty(request.getPair())){ + params.put("pair",request.getPair().toUpperCase()); + } + params.put("trade_type", request.getTradeType()); + params.put("status", request.getStatus()); + params.put("create_date", request.getCreateDate()); + if (request.getPageIndex() != null) { + params.put("page_index", request.getPageIndex()); + } + if (request.getPageSize() != null) { + params.put("page_size", request.getPageSize()); + } + if (request.getSortBy() != null) { + params.put("sort_by", request.getSortBy()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiLinearSwapCrossAPIConstants.SWAP_CROSS_TRIGGER_HISORDERS, params,sign); + logger.debug("body:{}", body); + SwapCrossTriggerHisordersResponse response = JSON.parseObject(body, SwapCrossTriggerHisordersResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapTpslOrderResponse swapCrossTpslOrderResponse(SwapTpslOrderRequest request) { + String body; + Map params = new HashMap<>(); + try { + if (StringUtils.isNotEmpty(request.getContractCode())) { + params.put("contract_code", request.getContractCode().toUpperCase()); + } + if (StringUtils.isNotEmpty(request.getPair())){ + params.put("pair",request.getPair().toUpperCase()); + } + if (request.getContractType()!=null){ + params.put("contract_type",request.getContractType()); + } + params.put("direction", request.getDirection()); + params.put("volume", request.getVolume()); + if (request.getTpTriggerPrice() != null && request.getTpTriggerPrice() != BigDecimal.valueOf(0)) { + params.put("tp_trigger_price", request.getTpTriggerPrice()); + } + if (request.getTpOrderPrice() != null && request.getTpOrderPrice() != BigDecimal.valueOf(0)) { + params.put("tp_order_price", request.getTpOrderPrice()); + } + if (request.getTpOrderPriceType() != null) { + params.put("tp_order_price_type", request.getTpOrderPriceType()); + } + if (request.getSlTriggerPrice() != null && request.getSlTriggerPrice() != BigDecimal.valueOf(0)) { + params.put("sl_trigger_price", request.getSlTriggerPrice()); + } + if (request.getSlOrderPrice() != null && request.getSlOrderPrice() != BigDecimal.valueOf(0)) { + params.put("sl_order_price", request.getSlOrderPrice()); + } + if (request.getSlOrderPriceType() != null) { + params.put("sl_order_price_type", request.getSlOrderPriceType()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiLinearSwapCrossAPIConstants.SWAP_CROSS_TPSL_ORDER, params,sign); + logger.debug("body:{}", body); + SwapTpslOrderResponse response = JSON.parseObject(body, SwapTpslOrderResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapTpslCancelResponse swapCrossTpslCancelResponse(SwapTpslCancelRequest request) { + String body; + Map params = new HashMap<>(); + try { + if (StringUtils.isNotEmpty(request.getContractCode())) { + params.put("contract_code", request.getContractCode().toUpperCase()); + } + if (StringUtils.isNotEmpty(request.getPair())){ + params.put("pair",request.getPair().toUpperCase()); + } + if (request.getContractType()!=null){ + params.put("contract_type",request.getContractType()); + } + params.put("order_id", request.getOrderId()); + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiLinearSwapCrossAPIConstants.SWAP_CROSS_TPSL_CANCEL, params,sign); + logger.debug("body:{}", body); + SwapTpslCancelResponse response = JSON.parseObject(body, SwapTpslCancelResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapTpslCancelallResponse swapCrossTpslCancelallResponse(SwapTpslCancelallRequest request) { + String body; + Map params = new HashMap<>(); + try { + if (StringUtils.isNotEmpty(request.getContractCode())) { + params.put("contract_code", request.getContractCode().toUpperCase()); + } + if (StringUtils.isNotEmpty(request.getPair())){ + params.put("pair",request.getPair().toUpperCase()); + } + if (request.getContractType()!=null){ + params.put("contract_type",request.getContractType()); + } + if (request.getDirection() != null) { + params.put("direction", request.getDirection()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiLinearSwapCrossAPIConstants.SWAP_CROSS_TPSL_CANCELALL, params,sign); + logger.debug("body:{}", body); + SwapTpslCancelallResponse response = JSON.parseObject(body, SwapTpslCancelallResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapTpslOpenordersResponse swapCrossTpslOpenordersResponse(SwapTpslOpenordersRequest request) { + String body; + Map params = new HashMap<>(); + try { + if (StringUtils.isNotEmpty(request.getContractCode())) { + params.put("contract_code", request.getContractCode().toUpperCase()); + } + if (StringUtils.isNotEmpty(request.getPair())){ + params.put("pair",request.getPair().toUpperCase()); + } + if (request.getPageIndex() != null) { + params.put("page_index", request.getPageIndex()); + } + if (request.getPageSize() != null) { + params.put("page_size", request.getPageSize()); + } + if (request.getTradeType() != null) { + params.put("trade_type", request.getTradeType()); + } + if (StringUtils.isNotEmpty(request.getTradePartition())){ + params.put("trade_partition",request.getTradePartition()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiLinearSwapCrossAPIConstants.SWAP_CROSS_TPSL_OPENORDERS, params,sign); + logger.debug("body:{}", body); + SwapTpslOpenordersResponse response = JSON.parseObject(body, SwapTpslOpenordersResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapTpslHisordersResponse swapCrossTpslHisordersResponse(SwapTpslHisordersRequset request) { + String body; + Map params = new HashMap<>(); + try { + if (StringUtils.isNotEmpty(request.getContractCode())) { + params.put("contract_code", request.getContractCode().toUpperCase()); + } + if (StringUtils.isNotEmpty(request.getPair())){ + params.put("pair",request.getPair().toUpperCase()); + } + params.put("status", request.getStatus()); + params.put("create_date", request.getCreateDate()); + if (request.getPageIndex() != null) { + params.put("page_index", request.getPageIndex()); + } + if (request.getPageSize() != null) { + params.put("page_size", request.getPageSize()); + } + if (StringUtils.isNotEmpty(request.getSortBy())) { + params.put("sort_by", request.getSortBy()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiLinearSwapCrossAPIConstants.SWAP_CROSS_TPSL_HISORDERS, params,sign); + logger.debug("body:{}", body); + SwapTpslHisordersResponse response = JSON.parseObject(body, SwapTpslHisordersResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapRelationTpslOrderResponse swapCrossRelationTpslOrderResponse(SwapRelationTpslOrderRequest request) { + String body; + Map params = new HashMap<>(); + try { + if (StringUtils.isNotEmpty(request.getContractCode())) { + params.put("contract_code", request.getContractCode().toUpperCase()); + } + if (StringUtils.isNotEmpty(request.getPair())){ + params.put("pair",request.getPair().toUpperCase()); + } + params.put("order_id", request.getOrderId()); + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiLinearSwapCrossAPIConstants.SWAP_CROSS_RELATION_TPSL_ORDER, params,sign); + logger.debug("body:{}", body); + SwapRelationTpslOrderResponse response = JSON.parseObject(body, SwapRelationTpslOrderResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapTrackOrderResponse swapCrossTrackOrderResponse(SwapTrackOrderRequest request) { + String body; + Map params = new HashMap<>(); + try { + if (StringUtils.isNotEmpty(request.getContractCode())) { + params.put("contract_code", request.getContractCode().toUpperCase()); + } + if (StringUtils.isNotEmpty(request.getPair())) { + params.put("pair", request.getPair().toUpperCase()); + } + if(request.getContractType()!=null){ + params.put("contract_type",request.getContractType()); + } + params.put("direction", request.getDirection()); + if (request.getOffset()!=null) { + params.put("offset", request.getOffset()); + } + if (request.getLeverRate() != null && request.getLeverRate() != 0) { + params.put("lever_rate", request.getLeverRate()); + } + params.put("volume", request.getVolume()); + params.put("callback_rate", request.getCallbackRate()); + params.put("active_price", request.getActivePrice()); + params.put("order_price_type", request.getOrderPriceType()); + if(request.getReduceOnly()!=null){ + params.put("reduce_only",request.getReduceOnly()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiLinearSwapCrossAPIConstants.SWAP_CROSS_TRACK_ORDER, params,sign); + logger.debug("body:{}", body); + SwapTrackOrderResponse response = JSON.parseObject(body, SwapTrackOrderResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapTrackCancelResponse swapCrossTrackCancelResponse(SwapTrackCancelRequest request) { + String body; + Map params = new HashMap<>(); + try { + if (StringUtils.isNotEmpty(request.getContractCode())) { + params.put("contract_code", request.getContractCode().toUpperCase()); + } + if (StringUtils.isNotEmpty(request.getPair())){ + params.put("pair",request.getPair().toUpperCase()); + } + if (request.getContractType()!=null){ + params.put("contract_type",request.getContractType()); + } + params.put("order_id", request.getOrderId()); + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiLinearSwapCrossAPIConstants.SWAP_CROSS_TRACK_CANCEL, params,sign); + logger.debug("body:{}", body); + SwapTrackCancelResponse response = JSON.parseObject(body, SwapTrackCancelResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())){ + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapTrackCancelallResponse swapCrossTrackCancelallResponse(SwapTrackCancelallRequest request) { + String body; + Map params = new HashMap<>(); + try { + if (StringUtils.isNotEmpty(request.getContractCode())) { + params.put("contract_code", request.getContractCode().toUpperCase()); + } + if (StringUtils.isNotEmpty(request.getPair())){ + params.put("pair",request.getPair().toUpperCase()); + } + if (request.getContractType()!=null){ + params.put("contract_type",request.getContractType()); + } + if (request.getDirection()!=null) { + params.put("direction", request.getDirection()); + } + if (request.getOffset()!=null) { + params.put("offset", request.getOffset()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiLinearSwapCrossAPIConstants.SWAP_CROSS_TRACK_CANCELALL, params,sign); + logger.debug("body:{}", body); + SwapTrackCancelallResponse response = JSON.parseObject(body, SwapTrackCancelallResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())){ + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapTrackOpenordersResponse swapCrossTrackOpenordersResponse(SwapTrackOpenordersRequest request) { + String body; + Map params = new HashMap<>(); + try { + if (StringUtils.isNotEmpty(request.getContractCode())) { + params.put("contract_code", request.getContractCode().toUpperCase()); + } + if (StringUtils.isNotEmpty(request.getPair())){ + params.put("pair",request.getPair().toUpperCase()); + } + if (request.getTradeType()!=null) { + params.put("trade_type", request.getTradeType()); + } + if (request.getPageIndex()!=null) { + params.put("page_index", request.getPageIndex()); + } + if (request.getPageSize()!=null){ + params.put("page_size",request.getPageSize()); + } + if (StringUtils.isNotEmpty(request.getTradePartition())){ + params.put("trade_partition",request.getTradePartition()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiLinearSwapCrossAPIConstants.SWAP_CROSS_TRACK_OPENORDERS, params,sign); + logger.debug("body:{}", body); + SwapTrackOpenordersResponse response = JSON.parseObject(body, SwapTrackOpenordersResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())){ + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapTrackHisordersResponse swapCrossTrackHisordersResponse(SwapTrackHisordersRequest request) { + String body; + Map params = new HashMap<>(); + try { + if (StringUtils.isNotEmpty(request.getContractCode())) { + params.put("contract_code", request.getContractCode().toUpperCase()); + } + if (StringUtils.isNotEmpty(request.getPair())){ + params.put("pair",request.getPair().toUpperCase()); + } + params.put("status",request.getStatus()); + params.put("trade_type", request.getTradeType()); + params.put("create_date",request.getCreateDate()); + if (request.getPageIndex()!=null) { + params.put("page_index", request.getPageIndex()); + } + if (request.getPageSize()!=null){ + params.put("page_size",request.getPageSize()); + } + if (request.getSortBy()!=null){ + params.put("sort_by",request.getSortBy()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiLinearSwapCrossAPIConstants.SWAP_CROSS_TRACK_HISORDERS, params,sign); + logger.debug("body:{}", body); + SwapTrackHisordersResponse response = JSON.parseObject(body, SwapTrackHisordersResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())){ + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } +} diff --git a/src/main/java/com/huobi/api/service/usdt/strategy/StrategyAPIService.java b/src/main/java/com/huobi/api/service/usdt/strategy/StrategyAPIService.java new file mode 100644 index 0000000..e46a0b6 --- /dev/null +++ b/src/main/java/com/huobi/api/service/usdt/strategy/StrategyAPIService.java @@ -0,0 +1,38 @@ +package com.huobi.api.service.usdt.strategy; + +import com.huobi.api.request.usdt.trade.*; +import com.huobi.api.response.usdt.trade.*; + +public interface StrategyAPIService { + public SwapTriggerOrderResponse swapTriggerOrderResponse(SwapTriggerOrderRequest request);// 1.计划委托下单 + + public SwapTriggerCancelResponse swapTriggerCancelResponse(SwapTriggerCancelRequest request);// 2.计划委托撤单 + + public SwapTriggerCancelallResponse swapTriggerCancelallResponse(SwapTriggerCancelallRequest request);// 3.计划委托全部撤单 + + public SwapTriggerOpenordersResponse swapTriggerOpenordersResponse(SwapTriggerOpenordersRequest request);// 4.获取计划委托当前委托 + + public SwapTriggerHisordersResponse swapTriggerHisordersResponse(SwapTriggerHisordersRequest request);// 5.获取计划委托历史委托 + + public SwapTpslOrderResponse swapTpslOrderResponse(SwapTpslOrderRequest request);// 6.对仓位设置止盈止损订单 + + public SwapTpslCancelResponse swapTpslCancelResponse(SwapTpslCancelRequest request);// 7.止盈止损订单撤单 + + public SwapTpslCancelallResponse swapTpslCancelallResponse(SwapTpslCancelallRequest request);// 8.止盈止损订单全部撤单 + + public SwapTpslOpenordersResponse swapTpslOpenordersResponse(SwapTpslOpenordersRequest request);// 9.查询止盈止损订单当前委托 + + public SwapTpslHisordersResponse swapTpslHisordersResponse(SwapTpslHisordersRequset request);// 10.查询止盈止损订单历史委托 + + public SwapRelationTpslOrderResponse swapRelationTpslOrderResponse(SwapRelationTpslOrderRequest request);// 11.查询开仓单关联的止盈止损订单详情 + + public SwapTrackOrderResponse swapTrackOrderResponse(SwapTrackOrderRequest request);// 12.跟踪委托订单下单 + + public SwapTrackCancelResponse swapTrackCancelResponse(SwapTrackCancelRequest request);// 13.跟踪委托订单撤单 + + public SwapTrackCancelallResponse swapTrackCancelallResponse(SwapTrackCancelallRequest request);// 14.跟踪委托订单全部撤单 + + public SwapTrackOpenordersResponse swapTrackOpenordersResponse(SwapTrackOpenordersRequest request);// 15.跟踪委托订单当前委托 + + public SwapTrackHisordersResponse swapTrackHisordersResponse(SwapTrackHisordersRequest request);// 16.跟踪委托订单历史委托 +} diff --git a/src/main/java/com/huobi/api/service/usdt/strategy/StrategyAPIServiceImpl.java b/src/main/java/com/huobi/api/service/usdt/strategy/StrategyAPIServiceImpl.java new file mode 100644 index 0000000..e9e5f9a --- /dev/null +++ b/src/main/java/com/huobi/api/service/usdt/strategy/StrategyAPIServiceImpl.java @@ -0,0 +1,452 @@ +package com.huobi.api.service.usdt.strategy; + +import com.alibaba.fastjson.JSON; +import com.huobi.api.constants.HuobiLinearSwapAPIConstants; +import com.huobi.api.exception.ApiException; +import com.huobi.api.request.usdt.trade.*; +import com.huobi.api.response.usdt.trade.*; +import com.huobi.api.util.HbdmHttpClient; +import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.math.BigDecimal; +import java.util.HashMap; +import java.util.Map; + +public class StrategyAPIServiceImpl implements StrategyAPIService{ + String api_key = ""; // huobi申请的apiKey + String secret_key = ""; // huobi申请的secretKey + String sign = ""; + String url_prex = "https://api.hbdm.com"; + + Logger logger = LoggerFactory.getLogger(getClass()); + + public StrategyAPIServiceImpl(String api_key, String secret_key) { + this.api_key = api_key; + this.secret_key = secret_key; + } + + @Override + public SwapTriggerOrderResponse swapTriggerOrderResponse(SwapTriggerOrderRequest request) { + String body; + try { + Map params = new HashMap<>(); + params.put("contract_code", request.getContractCode().toUpperCase()); + params.put("trigger_type", request.getTriggerType()); + params.put("trigger_price", request.getTriggerPrice()); + params.put("volume", request.getVolume()); + params.put("direction", request.getDirection()); + if (request.getOffset()!=null) { + params.put("offset", request.getOffset()); + } + if (request.getOrderPrice() != null) { + params.put("order_price", request.getOrderPrice()); + } + if (request.getOrderPriceType() != null) { + params.put("order_price_type", request.getOrderPriceType()); + } + if (request.getLeverRate() != null) { + params.put("lever_rate", request.getLeverRate()); + } + if(request.getReduceOnly()!=null){ + params.put("reduce_only",request.getReduceOnly()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiLinearSwapAPIConstants.SWAP_TRIGGER_ORDER, params,sign); + logger.debug("body:{}", body); + SwapTriggerOrderResponse response = JSON.parseObject(body, SwapTriggerOrderResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapTriggerCancelResponse swapTriggerCancelResponse(SwapTriggerCancelRequest request) { + String body; + try { + Map params = new HashMap<>(); + params.put("contract_code", request.getContractCode().toUpperCase()); + params.put("order_id", request.getOrderId()); + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiLinearSwapAPIConstants.SWAP_TRIGGER_CANCEL, params,sign); + logger.debug("body:{}", body); + SwapTriggerCancelResponse response = JSON.parseObject(body, SwapTriggerCancelResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapTriggerCancelallResponse swapTriggerCancelallResponse(SwapTriggerCancelallRequest request) { + String body; + try { + Map params = new HashMap<>(); + params.put("contract_code", request.getContractCode()); + if (request.getDirection() != null) { + params.put("direction", request.getDirection()); + } + if (request.getOffset() != null) { + params.put("offset", request.getOffset()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiLinearSwapAPIConstants.SWAP_TRIGGER_CANCELALL, params,sign); + logger.debug("body:{}", body); + SwapTriggerCancelallResponse response = JSON.parseObject(body, SwapTriggerCancelallResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapTriggerOpenordersResponse swapTriggerOpenordersResponse(SwapTriggerOpenordersRequest request) { + String body; + try { + Map params = new HashMap<>(); + params.put("contract_code", request.getContractCode().toUpperCase()); + if (request.getPageIndex() != null) { + params.put("page_index", request.getPageIndex()); + } + if (request.getPageSize() != null) { + params.put("page_size", request.getPageSize()); + } + if (request.getTradeType() != null) { + params.put("trade_type", request.getTradeType()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiLinearSwapAPIConstants.SWAP_TRIGGER_OPENORDERS, params,sign); + logger.debug("body:{}", body); + SwapTriggerOpenordersResponse response = JSON.parseObject(body, SwapTriggerOpenordersResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapTriggerHisordersResponse swapTriggerHisordersResponse(SwapTriggerHisordersRequest request) { + String body; + try { + Map params = new HashMap<>(); + params.put("contract_code", request.getContractCode().toUpperCase()); + params.put("trade_type", request.getTradeType()); + params.put("status", request.getStatus()); + params.put("create_date", request.getCreateDate()); + + if (request.getPageIndex() != null) { + params.put("page_index", request.getPageIndex()); + } + if (request.getPageSize() != null) { + params.put("page_size", request.getPageSize()); + } + if (request.getSortBy() != null) { + params.put("sort_by", request.getSortBy()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiLinearSwapAPIConstants.SWAP_TRIGGER_HISORDERS, params,sign); + logger.debug("body:{}", body); + SwapTriggerHisordersResponse response = JSON.parseObject(body, SwapTriggerHisordersResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapTpslOrderResponse swapTpslOrderResponse(SwapTpslOrderRequest request) { + String body; + Map params = new HashMap<>(); + try { + params.put("contract_code", request.getContractCode().toUpperCase()); + params.put("direction", request.getDirection()); + params.put("volume", request.getVolume()); + if (request.getTpTriggerPrice() != null && request.getTpTriggerPrice() != BigDecimal.valueOf(0)) { + params.put("tp_trigger_price", request.getTpTriggerPrice()); + } + if (request.getTpOrderPrice() != null && request.getTpOrderPrice() != BigDecimal.valueOf(0)) { + params.put("tp_order_price", request.getTpOrderPrice()); + } + if (request.getTpOrderPriceType() != null) { + params.put("tp_order_price_type", request.getTpOrderPriceType()); + } + if (request.getSlTriggerPrice() != null && request.getSlTriggerPrice() != BigDecimal.valueOf(0)) { + params.put("sl_trigger_price", request.getSlTriggerPrice()); + } + if (request.getSlOrderPrice() != null && request.getSlOrderPrice() != BigDecimal.valueOf(0)) { + params.put("sl_order_price", request.getSlOrderPrice()); + } + if (request.getSlOrderPriceType() != null) { + params.put("sl_order_price_type", request.getSlOrderPriceType()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiLinearSwapAPIConstants.SWAP_TPSL_ORDER, params,sign); + logger.debug("body:{}", body); + SwapTpslOrderResponse response = JSON.parseObject(body, SwapTpslOrderResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapTpslCancelResponse swapTpslCancelResponse(SwapTpslCancelRequest request) { + String body; + Map params = new HashMap<>(); + try { + params.put("contract_code", request.getContractCode().toUpperCase()); + params.put("order_id", request.getOrderId()); + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiLinearSwapAPIConstants.SWAP_TPSL_CANCEL, params,sign); + logger.debug("body:{}", body); + SwapTpslCancelResponse response = JSON.parseObject(body, SwapTpslCancelResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapTpslCancelallResponse swapTpslCancelallResponse(SwapTpslCancelallRequest request) { + String body; + Map params = new HashMap<>(); + try { + params.put("contract_code", request.getContractCode().toUpperCase()); + if (request.getDirection() != null) { + params.put("direction", request.getDirection()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiLinearSwapAPIConstants.SWAP_TPSL_CANCELALL, params,sign); + logger.debug("body:{}", body); + SwapTpslCancelallResponse response = JSON.parseObject(body, SwapTpslCancelallResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapTpslOpenordersResponse swapTpslOpenordersResponse(SwapTpslOpenordersRequest request) { + String body; + Map params = new HashMap<>(); + try { + params.put("contract_code", request.getContractCode().toUpperCase()); + if (request.getPageIndex() != null) { + params.put("page_index", request.getPageIndex()); + } + if (request.getPageSize() != null) { + params.put("page_size", request.getPageSize()); + } + if (request.getTradeType() != null) { + params.put("trade_type", request.getTradeType()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiLinearSwapAPIConstants.SWAP_TPSL_OPENORDERS, params,sign); + logger.debug("body:{}", body); + SwapTpslOpenordersResponse response = JSON.parseObject(body, SwapTpslOpenordersResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapTpslHisordersResponse swapTpslHisordersResponse(SwapTpslHisordersRequset request) { + String body; + Map params = new HashMap<>(); + try { + params.put("contract_code", request.getContractCode().toUpperCase()); + params.put("status", request.getStatus()); + params.put("create_date", request.getCreateDate()); + if (request.getPageIndex() != null) { + params.put("page_index", request.getPageIndex()); + } + if (request.getPageSize() != null) { + params.put("page_size", request.getPageSize()); + } + if (StringUtils.isNotEmpty(request.getSortBy())) { + params.put("sort_by", request.getSortBy()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiLinearSwapAPIConstants.SWAP_TPSL_HISORDERS, params,sign); + logger.debug("body:{}", body); + SwapTpslHisordersResponse response = JSON.parseObject(body, SwapTpslHisordersResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapRelationTpslOrderResponse swapRelationTpslOrderResponse(SwapRelationTpslOrderRequest request) { + String body; + Map params = new HashMap<>(); + try { + params.put("contract_code", request.getContractCode().toUpperCase()); + params.put("order_id", request.getOrderId()); + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiLinearSwapAPIConstants.SWAP_RELATION_TPSL_ORDER, params,sign); + logger.debug("body:{}", body); + SwapRelationTpslOrderResponse response = JSON.parseObject(body, SwapRelationTpslOrderResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapTrackOrderResponse swapTrackOrderResponse(SwapTrackOrderRequest request) { + String body; + Map params = new HashMap<>(); + try { + params.put("contract_code", request.getContractCode().toUpperCase()); + params.put("direction", request.getDirection()); + if (request.getOffset()!=null) { + params.put("offset", request.getOffset()); + } + if (request.getLeverRate() != null && request.getLeverRate() != 0) { + params.put("lever_rate", request.getLeverRate()); + } + params.put("volume", request.getVolume()); + params.put("callback_rate", request.getCallbackRate()); + params.put("active_price", request.getActivePrice()); + params.put("order_price_type", request.getOrderPriceType()); + if(request.getReduceOnly()!=null){ + params.put("reduce_only",request.getReduceOnly()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiLinearSwapAPIConstants.SWAP_TRACK_ORDER, params,sign); + logger.debug("body:{}", body); + SwapTrackOrderResponse response = JSON.parseObject(body, SwapTrackOrderResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapTrackCancelResponse swapTrackCancelResponse(SwapTrackCancelRequest request) { + String body; + Map params = new HashMap<>(); + try { + params.put("contract_code", request.getContractCode().toUpperCase()); + params.put("order_id", request.getOrderId()); + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiLinearSwapAPIConstants.SWAP_TRACK_CANCEL, params,sign); + logger.debug("body:{}", body); + SwapTrackCancelResponse response = JSON.parseObject(body, SwapTrackCancelResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())){ + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapTrackCancelallResponse swapTrackCancelallResponse(SwapTrackCancelallRequest request) { + String body; + Map params = new HashMap<>(); + try { + params.put("contract_code", request.getContractCode().toUpperCase()); + if (request.getDirection()!=null) { + params.put("direction", request.getDirection()); + } + if (request.getOffset()!=null) { + params.put("offset", request.getOffset()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiLinearSwapAPIConstants.SWAP_TRACK_CANCELALL, params,sign); + logger.debug("body:{}", body); + SwapTrackCancelallResponse response = JSON.parseObject(body, SwapTrackCancelallResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())){ + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapTrackOpenordersResponse swapTrackOpenordersResponse(SwapTrackOpenordersRequest request) { + String body; + Map params = new HashMap<>(); + try { + params.put("contract_code", request.getContractCode().toUpperCase()); + if (request.getTradeType()!=null) { + params.put("trade_type", request.getTradeType()); + } + if (request.getPageIndex()!=null) { + params.put("page_index", request.getPageIndex()); + } + if (request.getPageSize()!=null){ + params.put("page_size",request.getPageSize()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiLinearSwapAPIConstants.SWAP_TRACK_OPENORDERS, params,sign); + logger.debug("body:{}", body); + SwapTrackOpenordersResponse response = JSON.parseObject(body, SwapTrackOpenordersResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())){ + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapTrackHisordersResponse swapTrackHisordersResponse(SwapTrackHisordersRequest request) { + String body; + Map params = new HashMap<>(); + try { + params.put("contract_code", request.getContractCode().toUpperCase()); + params.put("status",request.getStatus()); + params.put("trade_type", request.getTradeType()); + params.put("create_date",request.getCreateDate()); + if (request.getPageIndex()!=null) { + params.put("page_index", request.getPageIndex()); + } + if (request.getPageSize()!=null){ + params.put("page_size",request.getPageSize()); + } + if (request.getSortBy()!=null){ + params.put("sort_by",request.getSortBy()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiLinearSwapAPIConstants.SWAP_TRACK_HISORDERS, params,sign); + logger.debug("body:{}", body); + SwapTrackHisordersResponse response = JSON.parseObject(body, SwapTrackHisordersResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())){ + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } +} diff --git a/src/main/java/com/huobi/api/service/usdt/trade/CrossTradeAPIService.java b/src/main/java/com/huobi/api/service/usdt/trade/CrossTradeAPIService.java new file mode 100644 index 0000000..ee6c268 --- /dev/null +++ b/src/main/java/com/huobi/api/service/usdt/trade/CrossTradeAPIService.java @@ -0,0 +1,40 @@ +package com.huobi.api.service.usdt.trade; + + +import com.huobi.api.request.usdt.trade.*; +import com.huobi.api.response.usdt.market.SwapCrossTradeStateResponse; +import com.huobi.api.response.usdt.trade.*; + +public interface CrossTradeAPIService { + public SwapCrossTradeStateResponse getSwapCrossTradeState(String contractCode, String contractType, String pair, String businessType);// 1.【全仓】查询系统交易权限 + SwapSwitchPositionModeResponse swapCrossSwitchPositionModeResponse(String marginAccount, String positionMode);// 2.切换持仓模式 + + SwapCrossOrderResponse swapCrossOrderRequest(SwapCrossOrderRequest request);// 3.合约下单(全仓模式) + + SwapCrossBatchorderResponse swapCrossBatchorderRequest(SwapCrossBatchorderRequest request);// 4.合约批量下单(全仓模式) + + SwapCrossCancelResponse swapCrossCancelRequest(SwapCrossCancelRequest request);// 5.撤销订单(全仓模式) + + SwapCrossCancelallResponse swapCrossCancelallRequest(SwapCrossCancelallRequest request);// 6.全部撤单(全仓模式) + + SwapCrossSwitchLeverRateResponse getSwapCrossSwitchLeverRate(String contractCode, Integer lever_rate,String pair,String contractType);// 7.切换杠杆(全仓模式) + + SwapCrossOrderInfoResponse swapCrossOrderInfoRequest(SwapCrossOrderInfoRequest request);// 8.获取合约订单信息(全仓模式) + + SwapCrossOrderDetailResponse swapCrossOrderDetailRequest(SwapCrossOrderDetailRequest request);// 9.获取订单明细信息(全仓模式) + + SwapCrossOpenordersResponse swapCrossOpenordersRequest(SwapCrossOpenordersRequest request);// 10.获取合约当前未成交委托(全仓模式) + + SwapCrossHisordersV3Response swapCrossHisordersV3Response(SwapCrossHisordersV3Request request);// 11.获取合约历史委托(新) + + SwapCrossHisordersExactV3Response swapCrossHisordersExactV3Response(SwapCrossHisordersExactV3Request request);// 12.组合查询合约历史委托(新) + + SwapCrossMatchResultsV3Response swapCrossMatchResultsV3Response(SwapCrossMatchResultsV3Request request);// 13.获取历史成交记录(新) + + SwapCrossMatchResultsExactV3Response swapCrossMatchResultsExactV3Response(SwapCrossMatchResultsExactV3Request request);// 14.组合查询用户历史成交记录(新) + + SwapCrossLightningClosePositionResponse swapCrossLightningClosePositionRequest(SwapCrossLightningClosePositionRequest request);// 15.闪电平仓下单(全仓模式) + + SwapCrossPositionSideResponse swapCrossPositionSideResponse(String marginAccount);// 16.查询持仓模式 + +} diff --git a/src/main/java/com/huobi/api/service/usdt/trade/CrossTradeAPIServiceImpl.java b/src/main/java/com/huobi/api/service/usdt/trade/CrossTradeAPIServiceImpl.java new file mode 100644 index 0000000..60b44c2 --- /dev/null +++ b/src/main/java/com/huobi/api/service/usdt/trade/CrossTradeAPIServiceImpl.java @@ -0,0 +1,652 @@ +package com.huobi.api.service.usdt.trade; + +import com.alibaba.fastjson.JSON; +import com.huobi.api.constants.HuobiLinearSwapCrossAPIConstants; +import com.huobi.api.exception.ApiException; +import com.huobi.api.request.usdt.trade.*; +import com.huobi.api.response.usdt.market.SwapCrossTradeStateResponse; +import com.huobi.api.response.usdt.trade.*; +import com.huobi.api.util.HbdmHttpClient; +import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class CrossTradeAPIServiceImpl implements CrossTradeAPIService { + + + String api_key = ""; // huobi申请的apiKey + String secret_key = ""; // huobi申请的secretKey + String sign = ""; + String url_prex = "https://api.hbdm.com"; + + Logger logger = LoggerFactory.getLogger(getClass()); + + public CrossTradeAPIServiceImpl(String api_key, String secret_key) { + this.api_key = api_key; + this.secret_key = secret_key; + } + + @Override + public SwapCrossTradeStateResponse getSwapCrossTradeState(String contractCode, String contractType, String pair, String businessType) { + String body; + try { + Map params = new HashMap<>(); + if (StringUtils.isNoneEmpty(contractCode)) { + params.put("contract_code", contractCode.toUpperCase()); + } + if (StringUtils.isNotEmpty(contractType)){ + params.put("contract_type",contractType); + } + if (StringUtils.isNotEmpty(pair)){ + params.put("pair",pair.toUpperCase()); + } + if (StringUtils.isNotEmpty(businessType)){ + params.put("business_type",businessType); + } + body = HbdmHttpClient.getInstance().doGet(url_prex + HuobiLinearSwapCrossAPIConstants.SWAP_CROSS_TRADE_STATE, params); + logger.debug("body:{}", body); + SwapCrossTradeStateResponse response = JSON.parseObject(body, SwapCrossTradeStateResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapSwitchPositionModeResponse swapCrossSwitchPositionModeResponse(String marginAccount, String positionMode) { + String body; + try { + Map params = new HashMap<>(); + params.put("margin_account", marginAccount); + params.put("position_mode", positionMode); + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiLinearSwapCrossAPIConstants.SWAP_CROSS_SWITCH_POSITION_MODE, params,sign); + logger.debug("body:{}", body); + SwapSwitchPositionModeResponse response = JSON.parseObject(body, SwapSwitchPositionModeResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapCrossOrderResponse swapCrossOrderRequest(SwapCrossOrderRequest request) { + String body; + try { + Map params = new HashMap<>(); + + params.put("volume", request.getVolume()); + params.put("direction", request.getDirection().getValue()); + if (request.getOffset()!=null) { + params.put("offset", request.getOffset().getValue()); + } + params.put("order_price_type", request.getOrderPriceType()); + params.put("lever_rate", request.getLeverRate()); + if (StringUtils.isNotEmpty(request.getContractCode())) { + params.put("contract_code", request.getContractCode().toUpperCase()); + } + if (StringUtils.isNotEmpty(request.getPair())) { + params.put("pair", request.getPair().toUpperCase()); + } + if (request.getContractType() != null) { + params.put("contract_type", request.getContractType()); + } + if (request.getPrice() != null) { + params.put("price", request.getPrice()); + } + if (request.getClientOrderId() != null) { + params.put("client_order_id", request.getClientOrderId()); + } + if (request.getTpTriggerPrice() != null && request.getTpTriggerPrice() != BigDecimal.valueOf(0)) { + params.put("tp_trigger_price", request.getTpTriggerPrice()); + } + if (request.getTpOrderPrice() != null && request.getTpOrderPrice() != BigDecimal.valueOf(0)) { + params.put("tp_order_price", request.getTpOrderPrice()); + } + if (request.getTpOrderPriceType() != null) { + params.put("tp_order_price_type", request.getTpOrderPriceType()); + } + if (request.getSlTriggerPrice() != null && request.getSlTriggerPrice() != BigDecimal.valueOf(0)) { + params.put("sl_trigger_price", request.getSlTriggerPrice()); + } + if (request.getSlOrderPrice() != null && request.getSlOrderPrice() != BigDecimal.valueOf(0)) { + params.put("sl_order_price", request.getSlOrderPrice()); + } + if (request.getSlOrderPriceType() != null) { + params.put("sl_order_price_type", request.getSlOrderPriceType()); + } + if(request.getReduceOnly()!=null){ + params.put("reduce_only",request.getReduceOnly()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiLinearSwapCrossAPIConstants.SWAP_CROSS_ORDER, params,sign); + logger.debug("body:{}", body); + SwapCrossOrderResponse response = JSON.parseObject(body, SwapCrossOrderResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapCrossBatchorderResponse swapCrossBatchorderRequest(SwapCrossBatchorderRequest request) { + List> listMap = new ArrayList<>(); + String body; + try { + + request.getList().stream() + .forEach(e -> { + Map params = new HashMap<>(); + params.put("volume", e.getVolume()); + params.put("direction", e.getDirection().getValue()); + if (e.getOffset()!=null) { + params.put("offset", e.getOffset().getValue()); + } + params.put("order_price_type", e.getOrderPriceType()); + params.put("lever_rate", e.getLeverRate()); + if (StringUtils.isNotEmpty(e.getContractCode())) { + params.put("contract_code", e.getContractCode().toUpperCase()); + } + if (StringUtils.isNotEmpty(e.getPair())) { + params.put("pair", e.getPair().toUpperCase()); + } + if (e.getContractType() != null) { + params.put("contract_type", e.getContractType()); + } + if (e.getPrice() != null) { + params.put("price", e.getPrice()); + } + if (e.getClientOrderId() != null) { + params.put("client_order_id", e.getClientOrderId()); + } + if (e.getTpTriggerPrice() != null && e.getTpTriggerPrice() != BigDecimal.valueOf(0)) { + params.put("tp_trigger_price", e.getTpTriggerPrice()); + } + if (e.getTpOrderPrice() != null && e.getTpOrderPrice() != BigDecimal.valueOf(0)) { + params.put("tp_order_price", e.getTpOrderPrice()); + } + if (e.getTpOrderPriceType() != null) { + params.put("tp_order_price_type", e.getTpOrderPriceType()); + } + if (e.getSlTriggerPrice() != null && e.getSlTriggerPrice() != BigDecimal.valueOf(0)) { + params.put("sl_trigger_price", e.getSlTriggerPrice()); + } + if (e.getSlOrderPrice() != null && e.getSlOrderPrice() != BigDecimal.valueOf(0)) { + params.put("sl_order_price", e.getSlOrderPrice()); + } + if (e.getSlOrderPriceType() != null) { + params.put("sl_order_price_type", e.getSlOrderPriceType()); + } + if(e.getReduceOnly()!=null){ + params.put("reduce_only",e.getReduceOnly()); + } + listMap.add(params); + }); + Map params = new HashMap<>(); + + params.put("orders_data", listMap); + + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiLinearSwapCrossAPIConstants.SWAP_CROSS_BATCHORDER, params,sign); + logger.debug("body:{}", body); + SwapCrossBatchorderResponse response = JSON.parseObject(body, SwapCrossBatchorderResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + /** + * 撤销订单(全仓模式) + */ + @Override + public SwapCrossCancelResponse swapCrossCancelRequest(SwapCrossCancelRequest request) { + String body = ""; + try { + Map params = new HashMap<>(); + if (request.getOrderId() != null) { + params.put("order_id", request.getOrderId()); + } + if (request.getClientOrderId() != null) { + params.put("client_order_id", request.getClientOrderId()); + } + if (StringUtils.isNotEmpty(request.getContractCode())) { + params.put("contract_code", request.getContractCode().toUpperCase()); + } + if (StringUtils.isNotEmpty(request.getPair())) { + params.put("pair", request.getPair().toUpperCase()); + } + if (request.getContractType() != null) { + params.put("contract_type", request.getContractType()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiLinearSwapCrossAPIConstants.SWAP_CROSS_CANCEL, params,sign); + logger.debug("body:{}", body); + SwapCrossCancelResponse response = JSON.parseObject(body, SwapCrossCancelResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + + } catch (Exception e) { + System.out.println("body:" + body); + throw new ApiException(e); + } + throw new ApiException(body); + } + + /** + * 全部撤单(全仓模式) + */ + @Override + public SwapCrossCancelallResponse swapCrossCancelallRequest(SwapCrossCancelallRequest request) { + String body; + try { + Map params = new HashMap<>(); + if (StringUtils.isNotEmpty(request.getContractCode())) { + params.put("contract_code", request.getContractCode().toUpperCase()); + } + if (StringUtils.isNotEmpty(request.getPair())) { + params.put("pair", request.getPair().toUpperCase()); + } + if (request.getContractType() != null) { + params.put("contract_type", request.getContractType()); + } + if (request.getDirection() != null) { + params.put("direction", request.getDirection()); + } + if (request.getOffset() != null) { + params.put("offset", request.getOffset()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiLinearSwapCrossAPIConstants.SWAP_CROSS_CANCELALL, params,sign); + logger.debug("body:{}", body); + SwapCrossCancelallResponse response = JSON.parseObject(body, SwapCrossCancelallResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapCrossOrderInfoResponse swapCrossOrderInfoRequest(SwapCrossOrderInfoRequest request) { + String body; + try { + Map params = new HashMap<>(); + if (StringUtils.isNotEmpty(request.getContractCode())) { + params.put("contract_code", request.getContractCode().toUpperCase()); + } + if (StringUtils.isNotEmpty(request.getPair())) { + params.put("pair", request.getPair().toUpperCase()); + } + if (request.getClientOrderId() != null) { + params.put("client_order_id", request.getClientOrderId()); + } + if (request.getOrderId() != null) { + params.put("order_id", request.getOrderId()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiLinearSwapCrossAPIConstants.SWAP_CROSS_ORDER_INFO, params,sign); + logger.debug("body:{}", body); + SwapCrossOrderInfoResponse response = JSON.parseObject(body, SwapCrossOrderInfoResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + /** + * 获取订单明细信息(全仓模式) + */ + @Override + public SwapCrossOrderDetailResponse swapCrossOrderDetailRequest(SwapCrossOrderDetailRequest request) { + String body; + try { + Map params = new HashMap<>(); + if (StringUtils.isNotEmpty(request.getContractCode())) { + params.put("contract_code", request.getContractCode().toUpperCase()); + } + if (StringUtils.isNotEmpty(request.getPair())) { + params.put("pair", request.getPair().toUpperCase()); + } + params.put("order_id", request.getOrderId()); + if (request.getCreatedAt() != null) { + params.put("created_at", request.getCreatedAt()); + } + if (request.getOrderType() != null) { + params.put("order_type", request.getOrderType()); + } + if (request.getPageIndex() != null) { + params.put("page_index", request.getPageIndex()); + } + if (request.getPageSize() != null) { + params.put("page_size", request.getPageSize()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiLinearSwapCrossAPIConstants.SWAP_CROSS_ORDER_DETAIL, params,sign); + logger.debug("body:{}", body); + SwapCrossOrderDetailResponse response = JSON.parseObject(body, SwapCrossOrderDetailResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + /** + * 获取合约当前未成交委托(全仓模式) + */ + @Override + public SwapCrossOpenordersResponse swapCrossOpenordersRequest(SwapCrossOpenordersRequest request) { + String body; + try { + Map params = new HashMap<>(); + if (request.getPageIndex() != null) { + params.put("page_index", request.getPageIndex()); + } + if (request.getPageSize() != null) { + params.put("page_size", request.getPageSize()); + } + if (request.getSortBy() != null) { + params.put("sort_by", request.getSortBy()); + } + if (request.getTradeType() != null) { + params.put("trade_type", request.getTradeType()); + } + if (StringUtils.isNotEmpty(request.getContractCode())) { + params.put("contract_code", request.getContractCode().toUpperCase()); + } + if (StringUtils.isNotEmpty(request.getPair())) { + params.put("pair", request.getPair().toUpperCase()); + } + if (StringUtils.isNotEmpty(request.getTradePartition())){ + params.put("trade_partition",request.getTradePartition()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiLinearSwapCrossAPIConstants.SWAP_CROSS_OPENORDERS, params,sign); + logger.debug("body:{}", body); + SwapCrossOpenordersResponse response = JSON.parseObject(body, SwapCrossOpenordersResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapCrossLightningClosePositionResponse swapCrossLightningClosePositionRequest(SwapCrossLightningClosePositionRequest request) { + String body; + try { + Map params = new HashMap<>(); + if (StringUtils.isNotEmpty(request.getOrderPriceType())) { + params.put("order_price_type", request.getOrderPriceType()); + } + if (StringUtils.isNotEmpty(request.getContractCode())) { + params.put("contract_code", request.getContractCode().toUpperCase()); + } + if (StringUtils.isNotEmpty(request.getPair())) { + params.put("pair", request.getPair().toUpperCase()); + } + if (request.getContractType() != null) { + params.put("contract_type", request.getContractType()); + } + params.put("direction", request.getDirection()); + params.put("volume", request.getVolume()); + if (request.getClientOrderId() != null) { + params.put("client_order_id", request.getClientOrderId()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiLinearSwapCrossAPIConstants.SWAP_CROSS_LIGHTNING_CLOSE_POSITION, params,sign); + logger.debug("body:{}", body); + SwapCrossLightningClosePositionResponse response = JSON.parseObject(body, SwapCrossLightningClosePositionResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + + + @Override + public SwapCrossSwitchLeverRateResponse getSwapCrossSwitchLeverRate(String contractCode, Integer leverRate, String pair, String contractType) { + String body; + Map params = new HashMap<>(); + try { + if (StringUtils.isNotEmpty(contractCode)) { + params.put("contract_code", contractCode.toUpperCase()); + } + if (StringUtils.isNotEmpty(pair)) { + params.put("pair", pair.toUpperCase()); + } + if (contractType != null) { + params.put("contract_type", contractType); + } + params.put("lever_rate", leverRate); + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiLinearSwapCrossAPIConstants.SWAP_CROSS_SWITCH_LEVER_RATE, params,sign); + logger.debug("body:{}", body); + SwapCrossSwitchLeverRateResponse response = JSON.parseObject(body, SwapCrossSwitchLeverRateResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapCrossHisordersExactV3Response swapCrossHisordersExactV3Response(SwapCrossHisordersExactV3Request request) { + String body; + Map params = new HashMap<>(); + try { + if (request.getStartTime() != null) { + params.put("start_time", request.getStartTime()); + } + if (request.getEndTime() != null) { + params.put("end_time", request.getEndTime()); + } + if (StringUtils.isNotEmpty(request.getDirect())) { + params.put("direct", request.getDirect()); + } + if (request.getFromId() != null) { + params.put("from_id", request.getFromId()); + } + if (StringUtils.isNotEmpty(request.getContract())) { + params.put("contract", request.getContract().toUpperCase()); + } + if (request.getTradeType() != null) { + params.put("trade_type", request.getTradeType()); + } + if (StringUtils.isNotEmpty(request.getPair())) { + params.put("pair", request.getPair()); + } + if (request.getType() != null) { + params.put("type", request.getType()); + } + if (StringUtils.isNotEmpty(request.getStatus())) { + params.put("status", request.getStatus()); + } + if (StringUtils.isNotEmpty(request.getPriceType())) { + params.put("price_type", request.getPriceType()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiLinearSwapCrossAPIConstants.SWAP_CROSS_HISORDERS_EXACT_V3, params,sign); + logger.debug("body:{}", body); + SwapCrossHisordersExactV3Response response = JSON.parseObject(body, SwapCrossHisordersExactV3Response.class); + if (response.getCode() != null && response.getCode() == 200){ + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapCrossHisordersV3Response swapCrossHisordersV3Response(SwapCrossHisordersV3Request request) { + String body; + Map params = new HashMap<>(); + try { + if (request.getStartTime() != null) { + params.put("start_time", request.getStartTime()); + } + if (request.getEndTime() != null) { + params.put("end_time", request.getEndTime()); + } + if (StringUtils.isNotEmpty(request.getDirect())) { + params.put("direct", request.getDirect()); + } + if (request.getFromId() != null) { + params.put("from_id", request.getFromId()); + } + if (StringUtils.isNotEmpty(request.getContract())) { + params.put("contract", request.getContract().toUpperCase()); + } + if (request.getTradeType() != null) { + params.put("trade_type", request.getTradeType()); + } + if (StringUtils.isNotEmpty(request.getPair())) { + params.put("pair", request.getPair()); + } + if (request.getType() != null) { + params.put("type", request.getType()); + } + if (StringUtils.isNotEmpty(request.getStatus())) { + params.put("status", request.getStatus()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiLinearSwapCrossAPIConstants.SWAP_CROSS_HISORDERS_V3, params,sign); + logger.debug("body:{}", body); + SwapCrossHisordersV3Response response = JSON.parseObject(body, SwapCrossHisordersV3Response.class); + if (response.getCode() != null && response.getCode() == 200){ + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapCrossMatchResultsV3Response swapCrossMatchResultsV3Response(SwapCrossMatchResultsV3Request request) { + String body; + Map params = new HashMap<>(); + try { + if (request.getStartTime() != null) { + params.put("start_time", request.getStartTime()); + } + if (request.getEndTime() != null) { + params.put("end_time", request.getEndTime()); + } + if (StringUtils.isNotEmpty(request.getDirect())) { + params.put("direct", request.getDirect()); + } + if (request.getFromId() != null) { + params.put("from_id", request.getFromId()); + } + if (StringUtils.isNotEmpty(request.getContract())) { + params.put("contract", request.getContract().toUpperCase()); + } + if (request.getTradeType() != null) { + params.put("trade_type", request.getTradeType()); + } + if (StringUtils.isNotEmpty(request.getPair())) { + params.put("pair", request.getPair()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiLinearSwapCrossAPIConstants.SWAP_CROSS_MATCHRESULTS_V3, params,sign); + logger.debug("body:{}", body); + SwapCrossMatchResultsV3Response response = JSON.parseObject(body, SwapCrossMatchResultsV3Response.class); + if (response.getCode() != null && response.getCode() == 200){ + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapCrossMatchResultsExactV3Response swapCrossMatchResultsExactV3Response(SwapCrossMatchResultsExactV3Request request) { + String body; + Map params = new HashMap<>(); + try { + if (request.getStartTime() != null) { + params.put("start_time", request.getStartTime()); + } + if (request.getEndTime() != null) { + params.put("end_time", request.getEndTime()); + } + if (StringUtils.isNotEmpty(request.getDirect())) { + params.put("direct", request.getDirect()); + } + if (request.getFromId() != null) { + params.put("from_id", request.getFromId()); + } + if (StringUtils.isNotEmpty(request.getContract())) { + params.put("contract", request.getContract().toUpperCase()); + } + if (request.getTradeType() != null) { + params.put("trade_type", request.getTradeType()); + } + if (StringUtils.isNotEmpty(request.getPair())) { + params.put("pair", request.getPair()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiLinearSwapCrossAPIConstants.SWAP_CROSS_MATCHRESULTS_EXACT_V3, params,sign); + logger.debug("body:{}", body); + SwapCrossMatchResultsExactV3Response response = JSON.parseObject(body, SwapCrossMatchResultsExactV3Response.class); + if (response.getCode() != null && response.getCode() == 200){ + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapCrossPositionSideResponse swapCrossPositionSideResponse(String marginAccount) { + String body; + Map params = new HashMap<>(); + try { + if (StringUtils.isNotEmpty(marginAccount)) { + params.put("margin_account", marginAccount); + } + body = HbdmHttpClient.getInstance().doGetKey(api_key, secret_key, url_prex + HuobiLinearSwapCrossAPIConstants.SWAP_CROSS_POSITION_SIDE, params); + logger.debug("body:{}", body); + SwapCrossPositionSideResponse response = JSON.parseObject(body, SwapCrossPositionSideResponse.class); + if ("ok".equals(response.getStatus())){ + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } +} diff --git a/src/main/java/com/huobi/api/service/usdt/trade/TradeAPIService.java b/src/main/java/com/huobi/api/service/usdt/trade/TradeAPIService.java new file mode 100644 index 0000000..a6a0295 --- /dev/null +++ b/src/main/java/com/huobi/api/service/usdt/trade/TradeAPIService.java @@ -0,0 +1,39 @@ +package com.huobi.api.service.usdt.trade; + + +import com.huobi.api.request.usdt.trade.*; +import com.huobi.api.response.usdt.trade.*; + +public interface TradeAPIService { + LinearCancelAfterResponse linearCancelAfterResponse(LinearCancelAfterRequest request);// 1.自动撤单 + + SwapSwitchPositionModeResponse swapSwitchPositionModeResponse(String marginAccount, String positionMode);// 2.切换持仓模式 + + SwapOrderResponse swapOrderRequest(SwapOrderRequest request);// 3.合约下单 + + SwapBatchorderResponse swapBatchorderRequest(SwapBatchorderRequest request);// 4.合约批量下单 + + SwapCancelResponse swapCancelRequest(SwapCancelRequest request);// 5.撤销订单 + + SwapCancelallResponse swapCancelallRequest(SwapCancelallRequest request);// 6.全部撤单 + + SwapSwitchLeverRateResponse getSwapSwitchLeverRate(String contractCode, Integer lever_rate);// 7.切换杠杆 + + SwapOrderInfoResponse swapOrderInfoRequest(SwapOrderInfoRequest request);// 8.获取合约订单信息 + + SwapOrderDetailResponse swapOrderDetailRequest(SwapOrderDetailRequest request);// 9.获取订单明细信息 + + SwapOpenordersResponse swapOpenordersRequest(SwapOpenordersRequest request);// 10.获取合约当前未成交委托 + + SwapHisordersV3Response swapHisordersV3Response(SwapHisordersV3Request request);// 11.获取合约历史委托(新) + + SwapHisordersExactV3Response swapHisordersExactV3Response(SwapHisordersExactV3Request request);// 12.组合查询合约历史委托(新) + + SwapMatchResultsV3Response swapMatchResultsV3Response(SwapMatchResultsV3Request request);// 13.获取历史成交记录(新) + + SwapMatchResultsExactV3Response swapMatchResultsExactV3Response(SwapMatchResultsExactV3Request request);// 14.组合查询用户历史成交记录(新) + + SwapLightningClosePositionResponse swapLightningClosePositionRequest(SwapLightningClosePositionRequest request);// 15.闪电平仓下单 + + SwapPositionSideResponse swapPositionSideResponse(SwapPositionSideRequest request); // 16.查询持仓模式 +} diff --git a/src/main/java/com/huobi/api/service/usdt/trade/TradeAPIServiceImpl.java b/src/main/java/com/huobi/api/service/usdt/trade/TradeAPIServiceImpl.java new file mode 100644 index 0000000..6803e76 --- /dev/null +++ b/src/main/java/com/huobi/api/service/usdt/trade/TradeAPIServiceImpl.java @@ -0,0 +1,575 @@ +package com.huobi.api.service.usdt.trade; + +import com.alibaba.fastjson.JSON; +import com.huobi.api.constants.HuobiLinearSwapAPIConstants; +import com.huobi.api.exception.ApiException; +import com.huobi.api.request.usdt.trade.*; +import com.huobi.api.response.usdt.trade.*; +import com.huobi.api.util.HbdmHttpClient; +import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class TradeAPIServiceImpl implements TradeAPIService { + + + String api_key = ""; // huobi申请的apiKey + String secret_key = ""; // huobi申请的secretKey + String sign = ""; + String url_prex = "https://api.hbdm.com"; + + Logger logger = LoggerFactory.getLogger(getClass()); + + public TradeAPIServiceImpl(String api_key, String secret_key) { + this.api_key = api_key; + this.secret_key = secret_key; + } + + + @Override + public SwapSwitchPositionModeResponse swapSwitchPositionModeResponse(String marginAccount, String positionMode) { + String body; + try { + Map params = new HashMap<>(); + + params.put("margin_account", marginAccount); + params.put("position_mode", positionMode); + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiLinearSwapAPIConstants.SWAP_SWITCH_POSITION_MODE, params,sign); + logger.debug("body:{}", body); + SwapSwitchPositionModeResponse response = JSON.parseObject(body, SwapSwitchPositionModeResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapOrderResponse swapOrderRequest(SwapOrderRequest request) { + String body; + try { + Map params = new HashMap<>(); + + params.put("volume", request.getVolume()); + params.put("direction", request.getDirection().getValue()); + if (request.getOffset()!=null) { + params.put("offset", request.getOffset().getValue()); + } + params.put("order_price_type", request.getOrderPriceType()); + params.put("lever_rate", request.getLeverRate()); + params.put("contract_code", request.getContractCode().toUpperCase()); + if (request.getPrice() != null) { + params.put("price", request.getPrice()); + } + if (request.getClientOrderId() != null) { + params.put("client_order_id", request.getClientOrderId()); + } + if (request.getTpTriggerPrice() != null && request.getTpTriggerPrice() != BigDecimal.valueOf(0)) { + params.put("tp_trigger_price", request.getTpTriggerPrice()); + } + if (request.getTpOrderPrice() != null && request.getTpOrderPrice() != BigDecimal.valueOf(0)) { + params.put("tp_order_price", request.getTpOrderPrice()); + } + if (request.getTpOrderPriceType() != null) { + params.put("tp_order_price_type", request.getTpOrderPriceType()); + } + if (request.getSlTriggerPrice() != null && request.getSlTriggerPrice() != BigDecimal.valueOf(0)) { + params.put("sl_trigger_price", request.getSlTriggerPrice()); + } + if (request.getSlOrderPrice() != null && request.getSlOrderPrice() != BigDecimal.valueOf(0)) { + params.put("sl_order_price", request.getSlOrderPrice()); + } + if (request.getSlOrderPriceType() != null) { + params.put("sl_order_price_type", request.getSlOrderPriceType()); + } + if(request.getReduceOnly()!=null){ + params.put("reduce_only",request.getReduceOnly()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiLinearSwapAPIConstants.SWAP_ORDER, params,sign); + logger.debug("body:{}", body); + SwapOrderResponse response = JSON.parseObject(body, SwapOrderResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapBatchorderResponse swapBatchorderRequest(SwapBatchorderRequest request) { + List> listMap = new ArrayList<>(); + String body; + try { + + request.getList().stream() + .forEach(e -> { + Map params = new HashMap<>(); + params.put("volume", e.getVolume()); + params.put("direction", e.getDirection().getValue()); + if (e.getOffset()!=null) { + params.put("offset", e.getOffset().getValue()); + } + params.put("order_price_type", e.getOrderPriceType()); + params.put("lever_rate", e.getLeverRate()); + params.put("contract_code", e.getContractCode()); + + if (e.getPrice() != null) { + params.put("price", e.getPrice()); + } + if (e.getClientOrderId() != null) { + params.put("client_order_id", e.getClientOrderId()); + } + if (e.getTpTriggerPrice() != null && e.getTpTriggerPrice() != BigDecimal.valueOf(0)) { + params.put("tp_trigger_price", e.getTpTriggerPrice()); + } + if (e.getTpOrderPrice() != null && e.getTpOrderPrice() != BigDecimal.valueOf(0)) { + params.put("tp_order_price", e.getTpOrderPrice()); + } + if (e.getTpOrderPriceType() != null) { + params.put("tp_order_price_type", e.getTpOrderPriceType()); + } + if (e.getSlTriggerPrice() != null && e.getSlTriggerPrice() != BigDecimal.valueOf(0)) { + params.put("sl_trigger_price", e.getSlTriggerPrice()); + } + if (e.getSlOrderPrice() != null && e.getSlOrderPrice() != BigDecimal.valueOf(0)) { + params.put("sl_order_price", e.getSlOrderPrice()); + } + if (e.getSlOrderPriceType() != null) { + params.put("sl_order_price_type", e.getSlOrderPriceType()); + } + if(e.getReduceOnly()!=null){ + params.put("reduce_only",e.getReduceOnly()); + } + listMap.add(params); + }); + Map params = new HashMap<>(); + + params.put("orders_data", listMap); + + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiLinearSwapAPIConstants.SWAP_BATCHORDER, params,sign); + logger.debug("body:{}", body); + SwapBatchorderResponse response = JSON.parseObject(body, SwapBatchorderResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + /** + * 撤销订单 + */ + @Override + public SwapCancelResponse swapCancelRequest(SwapCancelRequest request) { + String body = ""; + try { + Map params = new HashMap<>(); + if (request.getOrderId() != null) { + params.put("order_id", request.getOrderId()); + } + if (request.getClientOrderId() != null) { + params.put("client_order_id", request.getClientOrderId()); + } + params.put("contract_code", request.getContractCode().toUpperCase()); + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiLinearSwapAPIConstants.SWAP_CANCEL, params,sign); + logger.debug("body:{}", body); + SwapCancelResponse response = JSON.parseObject(body, SwapCancelResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + + } catch (Exception e) { + System.out.println("body:" + body); + throw new ApiException(e); + } + throw new ApiException(body); + } + + /** + * 全部撤单 + */ + @Override + public SwapCancelallResponse swapCancelallRequest(SwapCancelallRequest request) { + String body; + try { + Map params = new HashMap<>(); + params.put("contract_code", request.getContractCode()); + if (request.getDirection() != null) { + params.put("direction", request.getDirection()); + } + if (request.getOffset() != null) { + params.put("offset", request.getOffset()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiLinearSwapAPIConstants.SWAP_CANCELALL, params,sign); + logger.debug("body:{}", body); + SwapCancelallResponse response = JSON.parseObject(body, SwapCancelallResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapOrderInfoResponse swapOrderInfoRequest(SwapOrderInfoRequest request) { + String body; + try { + Map params = new HashMap<>(); + params.put("contract_code", request.getContractCode().toUpperCase()); + if (request.getClientOrderId() != null) { + params.put("client_order_id", request.getClientOrderId()); + } + if (request.getOrderId() != null) { + params.put("order_id", request.getOrderId()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiLinearSwapAPIConstants.SWAP_ORDER_INFO, params,sign); + logger.debug("body:{}", body); + SwapOrderInfoResponse response = JSON.parseObject(body, SwapOrderInfoResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + /** + * 获取订单明细信息 + */ + @Override + public SwapOrderDetailResponse swapOrderDetailRequest(SwapOrderDetailRequest request) { + String body; + try { + Map params = new HashMap<>(); + params.put("contract_code", request.getContractCode().toUpperCase()); + params.put("order_id", request.getOrderId()); + if (request.getCreatedAt() != null) { + params.put("created_at", request.getCreatedAt()); + } + if (request.getOrderType() != null) { + params.put("order_type", request.getOrderType()); + } + if (request.getPageIndex() != null) { + params.put("page_index", request.getPageIndex()); + } + if (request.getPageSize() != null) { + params.put("page_size", request.getPageSize()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiLinearSwapAPIConstants.SWAP_ORDER_DETAIL, params,sign); + logger.debug("body:{}", body); + SwapOrderDetailResponse response = JSON.parseObject(body, SwapOrderDetailResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + /** + * 获取合约当前未成交委托 + */ + @Override + public SwapOpenordersResponse swapOpenordersRequest(SwapOpenordersRequest request) { + String body; + try { + Map params = new HashMap<>(); + if (request.getPageIndex() != null) { + params.put("page_index", request.getPageIndex()); + } + if (request.getPageSize() != null) { + params.put("page_size", request.getPageSize()); + } + if (request.getSortBy() != null) { + params.put("sort_by", request.getSortBy()); + } + if (request.getTradeType() != null) { + params.put("trade_type", request.getTradeType()); + } + params.put("contract_code", request.getContractCode().toUpperCase()); + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiLinearSwapAPIConstants.SWAP_OPENORDERS, params,sign); + logger.debug("body:{}", body); + SwapOpenordersResponse response = JSON.parseObject(body, SwapOpenordersResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapLightningClosePositionResponse swapLightningClosePositionRequest(SwapLightningClosePositionRequest request) { + String body; + try { + Map params = new HashMap<>(); + if (StringUtils.isNotEmpty(request.getOrderPriceType())) { + params.put("order_price_type", request.getOrderPriceType()); + } + params.put("contract_code", request.getContractCode().toUpperCase()); + params.put("direction", request.getDirection()); + if (request.getClientOrderId() != null) { + params.put("client_order_id", request.getClientOrderId()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiLinearSwapAPIConstants.SWAP_LIGHTNING_CLOSE_POSITION, params,sign); + logger.debug("body:{}", body); + SwapLightningClosePositionResponse response = JSON.parseObject(body, SwapLightningClosePositionResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapSwitchLeverRateResponse getSwapSwitchLeverRate(String contractCode, Integer leverRate) { + String body; + Map params = new HashMap<>(); + try { + params.put("contract_code", contractCode.toUpperCase()); + params.put("lever_rate", leverRate); + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiLinearSwapAPIConstants.SWAP_SWITCH_LEVER_RATE, params,sign); + logger.debug("body:{}", body); + SwapSwitchLeverRateResponse response = JSON.parseObject(body, SwapSwitchLeverRateResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + + + @Override + public LinearCancelAfterResponse linearCancelAfterResponse(LinearCancelAfterRequest request) { + String body; + Map params = new HashMap<>(); + try { + if (request.getOnOff() != null) { + params.put("on_off", request.getOnOff()); + } + if (request.getTimeOut() != null) { + params.put("time_out", request.getTimeOut()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiLinearSwapAPIConstants.LINEAR_CANCEL_AFTER, params,sign); + logger.debug("body:{}", body); + LinearCancelAfterResponse response = JSON.parseObject(body, LinearCancelAfterResponse.class); + if (response.getCode() != null && response.getCode() == 200){ + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapHisordersV3Response swapHisordersV3Response(SwapHisordersV3Request request) { + String body; + Map params = new HashMap<>(); + try { + if (StringUtils.isNotEmpty(request.getContract())) { + params.put("contract", request.getContract().toUpperCase()); + } + if (request.getTradeType() != null) { + params.put("trade_type", request.getTradeType()); + } + if (request.getStartTime() != null) { + params.put("start_time", request.getStartTime()); + } + if (request.getEndTime() != null) { + params.put("end_time", request.getEndTime()); + } + if (StringUtils.isNotEmpty(request.getDirect())) { + params.put("direct", request.getDirect()); + } + if (request.getFromId() != null) { + params.put("from_id", request.getFromId()); + } + if (request.getType() != null) { + params.put("type", request.getType()); + } + if (StringUtils.isNotEmpty(request.getStatus())) { + params.put("status", request.getStatus()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiLinearSwapAPIConstants.SWAP_HISORDERS_V3, params,sign); + logger.debug("body:{}", body); + SwapHisordersV3Response response = JSON.parseObject(body, SwapHisordersV3Response.class); + if (response.getCode() != null && response.getCode() == 200){ + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapHisordersExactV3Response swapHisordersExactV3Response(SwapHisordersExactV3Request request) { + String body; + Map params = new HashMap<>(); + try { + if (StringUtils.isNotEmpty(request.getContract())) { + params.put("contract", request.getContract().toUpperCase()); + } + if (request.getTradeType() != null) { + params.put("trade_type", request.getTradeType()); + } + if (request.getStartTime() != null) { + params.put("start_time", request.getStartTime()); + } + if (request.getEndTime() != null) { + params.put("end_time", request.getEndTime()); + } + if (StringUtils.isNotEmpty(request.getDirect())) { + params.put("direct", request.getDirect()); + } + if (request.getFromId() != null) { + params.put("from_id", request.getFromId()); + } + if (request.getType() != null) { + params.put("type", request.getType()); + } + if (StringUtils.isNotEmpty(request.getStatus())) { + params.put("status", request.getStatus()); + } + if (StringUtils.isNotEmpty(request.getPair())) { + params.put("pair", request.getPair()); + } + if (StringUtils.isNotEmpty(request.getPriceType())) { + params.put("price_type", request.getPriceType()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiLinearSwapAPIConstants.SWAP_HISORDERS_EXACT_V3, params,sign); + logger.debug("body:{}", body); + SwapHisordersExactV3Response response = JSON.parseObject(body, SwapHisordersExactV3Response.class); + if (response.getCode() != null && response.getCode() == 200){ + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapMatchResultsV3Response swapMatchResultsV3Response(SwapMatchResultsV3Request request) { + String body; + Map params = new HashMap<>(); + try { + if (StringUtils.isNotEmpty(request.getContract())) { + params.put("contract", request.getContract().toUpperCase()); + } + if (request.getTradeType() != null) { + params.put("trade_type", request.getTradeType()); + } + if (request.getStartTime() != null) { + params.put("start_time", request.getStartTime()); + } + if (request.getEndTime() != null) { + params.put("end_time", request.getEndTime()); + } + if (StringUtils.isNotEmpty(request.getDirect())) { + params.put("direct", request.getDirect()); + } + if (request.getFromId() != null) { + params.put("from_id", request.getFromId()); + } + if (StringUtils.isNotEmpty(request.getPair())) { + params.put("pair", request.getPair()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiLinearSwapAPIConstants.SWAP_MATCHRESULTS_V3, params,sign); + logger.debug("body:{}", body); + SwapMatchResultsV3Response response = JSON.parseObject(body, SwapMatchResultsV3Response.class); + if (response.getCode() != null && response.getCode() == 200){ + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapMatchResultsExactV3Response swapMatchResultsExactV3Response(SwapMatchResultsExactV3Request request) { + String body; + Map params = new HashMap<>(); + try { + if (StringUtils.isNotEmpty(request.getContract())) { + params.put("contract", request.getContract().toUpperCase()); + } + if (request.getTradeType() != null) { + params.put("trade_type", request.getTradeType()); + } + if (request.getStartTime() != null) { + params.put("start_time", request.getStartTime()); + } + if (request.getEndTime() != null) { + params.put("end_time", request.getEndTime()); + } + if (StringUtils.isNotEmpty(request.getDirect())) { + params.put("direct", request.getDirect()); + } + if (request.getFromId() != null) { + params.put("from_id", request.getFromId()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiLinearSwapAPIConstants.SWAP_MATCHRESULTS_EXACT_V3, params,sign); + logger.debug("body:{}", body); + SwapMatchResultsExactV3Response response = JSON.parseObject(body, SwapMatchResultsExactV3Response.class); + if (response.getCode() != null && response.getCode() == 200){ + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapPositionSideResponse swapPositionSideResponse(SwapPositionSideRequest request) { + String body; + Map params = new HashMap<>(); + try { + if (StringUtils.isNotEmpty(request.getMarginAccount())) { + params.put("margin_account", request.getMarginAccount()); + } + body = HbdmHttpClient.getInstance().doGet(url_prex + HuobiLinearSwapAPIConstants.SWAP_POSITION_SIDE, params); + logger.debug("body:{}", body); + SwapPositionSideResponse response = JSON.parseObject(body, SwapPositionSideResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())){ + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } +} diff --git a/src/main/java/com/huobi/api/service/usdt/transfer/CrossTransferAPIService.java b/src/main/java/com/huobi/api/service/usdt/transfer/CrossTransferAPIService.java new file mode 100644 index 0000000..b8af73f --- /dev/null +++ b/src/main/java/com/huobi/api/service/usdt/transfer/CrossTransferAPIService.java @@ -0,0 +1,7 @@ +package com.huobi.api.service.usdt.transfer; + +import com.huobi.api.response.usdt.market.SwapCrossTransferStateResponse; + +public interface CrossTransferAPIService { + public SwapCrossTransferStateResponse getSwapCrossTransferState(String marginAccount);// 1.【全仓】查询用户当前的划转限制 +} diff --git a/src/main/java/com/huobi/api/service/usdt/transfer/CrossTransferAPIServiceImpl.java b/src/main/java/com/huobi/api/service/usdt/transfer/CrossTransferAPIServiceImpl.java new file mode 100644 index 0000000..0e38637 --- /dev/null +++ b/src/main/java/com/huobi/api/service/usdt/transfer/CrossTransferAPIServiceImpl.java @@ -0,0 +1,45 @@ +package com.huobi.api.service.usdt.transfer; + +import com.alibaba.fastjson.JSON; +import com.huobi.api.constants.HuobiLinearSwapCrossAPIConstants; +import com.huobi.api.exception.ApiException; +import com.huobi.api.response.usdt.market.SwapCrossTransferStateResponse; +import com.huobi.api.util.HbdmHttpClient; +import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.HashMap; +import java.util.Map; + +public class CrossTransferAPIServiceImpl implements CrossTransferAPIService{ + String api_key = ""; // huobi申请的apiKey + String secret_key = ""; // huobi申请的secretKey + String url_prex = "https://api.hbdm.com"; + Logger logger = LoggerFactory.getLogger(getClass()); + + public CrossTransferAPIServiceImpl(String api_key, String secret_key) { + this.api_key = api_key; + this.secret_key = secret_key; + } + + @Override + public SwapCrossTransferStateResponse getSwapCrossTransferState(String marginAccount) { + String body; + try { + Map params = new HashMap<>(); + if (StringUtils.isNoneEmpty(marginAccount)) { + params.put("margin_account", marginAccount.toUpperCase()); + } + body = HbdmHttpClient.getInstance().doGet(url_prex + HuobiLinearSwapCrossAPIConstants.SWAP_CROSS_TRANSFER_STATE, params); + logger.debug("body:{}", body); + SwapCrossTransferStateResponse response = JSON.parseObject(body, SwapCrossTransferStateResponse.class); + if ("ok".equalsIgnoreCase(response.getStatus())) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } +} diff --git a/src/main/java/com/huobi/api/service/usdt/transfer/TransferAPIService.java b/src/main/java/com/huobi/api/service/usdt/transfer/TransferAPIService.java new file mode 100644 index 0000000..3e3b445 --- /dev/null +++ b/src/main/java/com/huobi/api/service/usdt/transfer/TransferAPIService.java @@ -0,0 +1,10 @@ +package com.huobi.api.service.usdt.transfer; + + +import com.huobi.api.request.usdt.transfer.UsdtSwapTransferRequest; +import com.huobi.api.response.usdt.transfer.UsdtSwapTransferResponse; + +public interface TransferAPIService { + + UsdtSwapTransferResponse transfer(UsdtSwapTransferRequest request); // 1.现货-USDT永续账户间进行资金的划转 +} diff --git a/src/main/java/com/huobi/api/service/usdt/transfer/TransferAPIServiceImpl.java b/src/main/java/com/huobi/api/service/usdt/transfer/TransferAPIServiceImpl.java new file mode 100644 index 0000000..d3249c9 --- /dev/null +++ b/src/main/java/com/huobi/api/service/usdt/transfer/TransferAPIServiceImpl.java @@ -0,0 +1,50 @@ +package com.huobi.api.service.usdt.transfer; + +import com.alibaba.fastjson.JSON; +import com.huobi.api.constants.HuobiLinearSwapAPIConstants; +import com.huobi.api.exception.ApiException; +import com.huobi.api.request.usdt.transfer.UsdtSwapTransferRequest; +import com.huobi.api.response.usdt.transfer.UsdtSwapTransferResponse; +import com.huobi.api.util.HbdmHttpClient; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.HashMap; +import java.util.Map; + +public class TransferAPIServiceImpl implements TransferAPIService { + + String api_key = ""; // huobi申请的apiKey + String secret_key = ""; // huobi申请的secretKey + String sign = ""; + String url_prex = "https://api.huobi.pro"; + Logger logger = LoggerFactory.getLogger(getClass()); + + public TransferAPIServiceImpl(String api_key, String secret_key) { + this.api_key = api_key; + this.secret_key = secret_key; + } + + + /** + * + */ + @Override + public UsdtSwapTransferResponse transfer(UsdtSwapTransferRequest request) { + String body = ""; + try { + Map params = new HashMap<>(); + params.put("from", request.getFrom()); + params.put("to", request.getTo()); + params.put("margin-account", request.getMargin_account()); + params.put("currency", request.getCurrency()); + params.put("amount", request.getAmount()); + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiLinearSwapAPIConstants.USDT_SWAP_TRANSFER, params,sign); + UsdtSwapTransferResponse response = JSON.parseObject(body, UsdtSwapTransferResponse.class); + return response; + + } catch (Exception e) { + throw new ApiException(e); + } + } +} diff --git a/src/main/java/com/huobi/api/service/usdt/unified_account/UnifiedAccountAPIService.java b/src/main/java/com/huobi/api/service/usdt/unified_account/UnifiedAccountAPIService.java new file mode 100644 index 0000000..ad7c139 --- /dev/null +++ b/src/main/java/com/huobi/api/service/usdt/unified_account/UnifiedAccountAPIService.java @@ -0,0 +1,21 @@ +package com.huobi.api.service.usdt.unified_account; + +import com.huobi.api.request.usdt.account.FixPositionMarginChangeRecordRequest; +import com.huobi.api.request.usdt.account.FixPositionMarginChangeRequest; +import com.huobi.api.response.usdt.account.*; + +public interface UnifiedAccountAPIService { + public UnifiedAccountInfoResponse getUnifiedAccountInfo(String contractCode);// 1.查询统一账户资产 + + public LinearSwapOverviewAccountInfoResponse getLinearSwapOverviewAccountInfo();// 2.可抵扣HT资产查询 + + public LinearSwapFeeSwitchResponse getLinearSwapFeeSwitch(Integer feeOption);// 3.设置U本位合约手续费抵扣方式 + + public FixPositionMarginChangeResponse getFixPositionMarginChange(FixPositionMarginChangeRequest request);// 4.调整逐仓持仓保证金 + + public FixPositionMarginChangeRecordResponse getFixPositionMarginChangeRecord(FixPositionMarginChangeRecordRequest request); // 5.查询调整逐仓持仓保证金记录 + + public SwapUnifiedAccountTypeResponse getSwapUnifiedAccountType();// 6.账户类型查询 + + public SwapSwitchAccountTypeResponse getSwapSwitchAccountType(Integer accountType);// 7.账户类型更改接口 +} diff --git a/src/main/java/com/huobi/api/service/usdt/unified_account/UnifiedAccountAPIServiceImpl.java b/src/main/java/com/huobi/api/service/usdt/unified_account/UnifiedAccountAPIServiceImpl.java new file mode 100644 index 0000000..f385ef5 --- /dev/null +++ b/src/main/java/com/huobi/api/service/usdt/unified_account/UnifiedAccountAPIServiceImpl.java @@ -0,0 +1,190 @@ +package com.huobi.api.service.usdt.unified_account; + +import com.alibaba.fastjson.JSON; +import com.huobi.api.constants.HuobiLinearSwapAPIConstants; +import com.huobi.api.exception.ApiException; +import com.huobi.api.request.usdt.account.FixPositionMarginChangeRecordRequest; +import com.huobi.api.request.usdt.account.FixPositionMarginChangeRequest; +import com.huobi.api.response.usdt.account.*; +import com.huobi.api.util.HbdmHttpClient; +import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.HashMap; +import java.util.Map; + +public class UnifiedAccountAPIServiceImpl implements UnifiedAccountAPIService{ + String api_key = ""; // huobi申请的apiKey + String secret_key = ""; // huobi申请的secretKey + String sign = ""; + String url_prex = "https://api.hbdm.com"; + + Logger logger = LoggerFactory.getLogger(getClass()); + + public UnifiedAccountAPIServiceImpl(String api_key, String secret_key) { + this.api_key = api_key; + this.secret_key = secret_key; + } + + @Override + public UnifiedAccountInfoResponse getUnifiedAccountInfo(String contractCode) { + String body; + Map params = new HashMap<>(); + try { + if (StringUtils.isNotEmpty(contractCode)) { + params.put("contract_code", contractCode); + } + body = HbdmHttpClient.getInstance().doGetKey(api_key, secret_key, url_prex + HuobiLinearSwapAPIConstants.UNIFIED_ACCOUNT_INFO, params); + logger.debug("body:{}", body); + UnifiedAccountInfoResponse response = JSON.parseObject(body, UnifiedAccountInfoResponse.class); + if (response.getCode() != null && response.getCode() == 200) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public LinearSwapOverviewAccountInfoResponse getLinearSwapOverviewAccountInfo() { + String body; + Map params = new HashMap<>(); + try { + body = HbdmHttpClient.getInstance().doGetKey(api_key, secret_key, url_prex + HuobiLinearSwapAPIConstants.LINEAR_SWAP_OVERVIEW_ACCOUNT_INFO, params); + logger.debug("body:{}", body); + LinearSwapOverviewAccountInfoResponse response = JSON.parseObject(body, LinearSwapOverviewAccountInfoResponse.class); + if (response.getCode() != null && response.getCode() == 200) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public LinearSwapFeeSwitchResponse getLinearSwapFeeSwitch(Integer feeOption) { + String body; + Map params = new HashMap<>(); + try { + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiLinearSwapAPIConstants.LINEAR_SWAP_FEE_SWITCH, params,sign); + logger.debug("body:{}", body); + LinearSwapFeeSwitchResponse response = JSON.parseObject(body, LinearSwapFeeSwitchResponse.class); + if (response.getCode() != null && response.getCode() == 200) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public FixPositionMarginChangeResponse getFixPositionMarginChange(FixPositionMarginChangeRequest request) { + String body; + Map params = new HashMap<>(); + try { + if (request.getAmount() != null) { + params.put("amount", request.getAmount()); + } + if (StringUtils.isNotEmpty(request.getAsset())) { + params.put("asset", request.getAsset()); + } + if (StringUtils.isNotEmpty(request.getContractCode())) { + params.put("contract_code", request.getContractCode().toUpperCase()); + } + if (request.getType() != null) { + params.put("type" ,request.getType()); + } + if (request.getDirection() != null) { + params.put("direction", request.getDirection()); + } + if (request.getClientOrderId() != null) { + params.put("clientOrderId", request.getClientOrderId()); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiLinearSwapAPIConstants.FIX_POSITION_MARGIN_CHANGE, params,sign); + logger.debug("body:{}", body); + FixPositionMarginChangeResponse response = JSON.parseObject(body, FixPositionMarginChangeResponse.class); + if (response.getCode() != null && response.getCode() == 200) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public FixPositionMarginChangeRecordResponse getFixPositionMarginChangeRecord(FixPositionMarginChangeRecordRequest request) { + String body; + Map params = new HashMap<>(); + try { + if (StringUtils.isNotEmpty(request.getAsset())) { + params.put("asset", request.getAsset()); + } + if (StringUtils.isNotEmpty(request.getContractCode())) { + params.put("contract_code", request.getContractCode().toUpperCase()); + } + if (request.getStartTime() != null) { + params.put("start_time", request.getStartTime()); + } + if (request.getEndTime() != null) { + params.put("end_time", request.getEndTime()); + } + if (StringUtils.isNotEmpty(request.getDirect())) { + params.put("direct", request.getDirect()); + } + if (request.getFromId() != null) { + params.put("from_id", request.getFromId()); + } + body = HbdmHttpClient.getInstance().doGetKey(api_key, secret_key, url_prex + HuobiLinearSwapAPIConstants.FIX_POSITION_MARGIN_CHANGE_RECORD, params); + logger.debug("body:{}", body); + FixPositionMarginChangeRecordResponse response = JSON.parseObject(body, FixPositionMarginChangeRecordResponse.class); + if (response.getCode() != null && response.getCode() == 200) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapUnifiedAccountTypeResponse getSwapUnifiedAccountType() { + String body; + Map params = new HashMap<>(); + try { + body = HbdmHttpClient.getInstance().doGetKey(api_key, secret_key, url_prex + HuobiLinearSwapAPIConstants.SWAP_UNIFIED_ACCOUNT_TYPE, params); + logger.debug("body:{}", body); + SwapUnifiedAccountTypeResponse response = JSON.parseObject(body, SwapUnifiedAccountTypeResponse.class); + if (response.getCode() != null && response.getCode() == 200) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } + + @Override + public SwapSwitchAccountTypeResponse getSwapSwitchAccountType(Integer accountType) { + String body; + Map params = new HashMap<>(); + try { + if (accountType != null) { + params.put("account_type", accountType); + } + body = HbdmHttpClient.getInstance().doPost(api_key, secret_key, url_prex + HuobiLinearSwapAPIConstants.SWAP_SWITCH_ACCOUNT_TYPE, params,sign); + logger.debug("body:{}", body); + SwapSwitchAccountTypeResponse response = JSON.parseObject(body, SwapSwitchAccountTypeResponse.class); + if (response.getCode() != null && response.getCode() == 200) { + return response; + } + } catch (Exception e) { + throw new ApiException(e); + } + throw new ApiException(body); + } +} diff --git a/src/main/java/com/huobi/api/util/ApiSignature.java b/src/main/java/com/huobi/api/util/ApiSignature.java new file mode 100644 index 0000000..40886c8 --- /dev/null +++ b/src/main/java/com/huobi/api/util/ApiSignature.java @@ -0,0 +1,106 @@ +package com.huobi.api.util; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import javax.crypto.Mac; +import javax.crypto.spec.SecretKeySpec; +import java.io.UnsupportedEncodingException; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.security.InvalidKeyException; +import java.security.NoSuchAlgorithmException; +import java.time.Instant; +import java.time.ZoneId; +import java.time.format.DateTimeFormatter; +import java.util.Base64; +import java.util.Map; +import java.util.SortedMap; +import java.util.TreeMap; + +public class ApiSignature { + + final Logger log = LoggerFactory.getLogger(getClass()); + + static final DateTimeFormatter DT_FORMAT = DateTimeFormatter.ofPattern("uuuu-MM-dd'T'HH:mm:ss"); + + static final ZoneId ZONE_GMT = ZoneId.of("Z"); + + /** + * 创建一个有效的签名。该方法为客户端调用,将在传入的params中添加AccessKeyId、Timestamp、SignatureVersion、SignatureMethod、Signature参数。 + * + * @param appKey AppKeyId. + * @param appSecretKey AppKeySecret. + * @param method 请求方法,"GET"或"POST" + * @param "host" 请求域名,例如"be.huobi.com" + * @param uri 请求路径,注意不含?以及后的参数,例如"/v1/api/info" + * @param params 原始请求参数,以Key-Value存储,注意Value不要编码 + */ + public void createSignature(String appKey, String appSecretKey, String method, String uri, + Map params) { + StringBuilder sb = new StringBuilder(1024); + int index = uri.indexOf("//"); + String subString = uri.substring(index + 2); + int index2 = subString.indexOf("/"); + String host = subString.substring(0, index2); + String constant = subString.substring(index2); + sb.append(method.toUpperCase()).append('\n') // GET + .append(host.toLowerCase()).append('\n') // Host + .append(constant).append('\n'); // /path + params.remove("Signature"); + params.put("AccessKeyId", appKey); + params.put("SignatureVersion", "2"); + params.put("SignatureMethod", "HmacSHA256"); + params.put("Timestamp", gmtNow()); + // build signature: + SortedMap map = new TreeMap<>(params); + for (Map.Entry entry : map.entrySet()) { + String key = entry.getKey(); + String value = entry.getValue().toString(); + sb.append(key).append('=').append(urlEncode(value)).append('&'); + } + // remove last '&': + sb.deleteCharAt(sb.length() - 1); + // sign: + Mac hmacSha256 = null; + try { + hmacSha256 = Mac.getInstance("HmacSHA256"); + SecretKeySpec secKey = new SecretKeySpec(appSecretKey.getBytes(StandardCharsets.UTF_8), "HmacSHA256"); + hmacSha256.init(secKey); + } catch (NoSuchAlgorithmException e) { + throw new RuntimeException("No such algorithm: " + e.getMessage()); + } catch (InvalidKeyException e) { + throw new RuntimeException("Invalid key: " + e.getMessage()); + } + String payload = sb.toString(); + byte[] hash = hmacSha256.doFinal(payload.getBytes(StandardCharsets.UTF_8)); + String actualSign = Base64.getEncoder().encodeToString(hash); + params.put("Signature", actualSign); + + } + + /** + * 使用标准URL Encode编码。注意和JDK默认的不同,空格被编码为%20而不是+。 + * + * @param s String字符串 + * @return URL编码后的字符串 + */ + public static String urlEncode(String s) { + try { + return URLEncoder.encode(s, "UTF-8").replaceAll("\\+", "%20"); + } catch (UnsupportedEncodingException e) { + throw new IllegalArgumentException("UTF-8 encoding not supported!"); + } + } + + /** + * Return epoch seconds + */ + long epochNow() { + return Instant.now().getEpochSecond(); + } + + String gmtNow() { + return Instant.ofEpochSecond(epochNow()).atZone(ZONE_GMT).format(DT_FORMAT); + } +} diff --git a/src/main/java/com/huobi/api/util/ApiSignatureEd25519.java b/src/main/java/com/huobi/api/util/ApiSignatureEd25519.java new file mode 100644 index 0000000..f70fc09 --- /dev/null +++ b/src/main/java/com/huobi/api/util/ApiSignatureEd25519.java @@ -0,0 +1,129 @@ +package com.huobi.api.util; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import javax.crypto.Mac; +import javax.crypto.spec.SecretKeySpec; +import java.io.StringReader; +import java.io.UnsupportedEncodingException; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.security.InvalidKeyException; +import java.security.NoSuchAlgorithmException; +import java.security.Security; +import java.time.Instant; +import java.time.ZoneId; +import java.time.format.DateTimeFormatter; +import java.util.Base64; +import java.util.Map; +import java.util.SortedMap; +import java.util.TreeMap; +import org.bouncycastle.asn1.pkcs.PrivateKeyInfo; +import org.bouncycastle.crypto.params.Ed25519PrivateKeyParameters; +import org.bouncycastle.crypto.params.Ed25519PublicKeyParameters; +import org.bouncycastle.crypto.signers.Ed25519Signer; +import org.bouncycastle.crypto.util.PrivateKeyFactory; +import org.bouncycastle.crypto.util.PublicKeyFactory; +import org.bouncycastle.jce.provider.BouncyCastleProvider; +import org.bouncycastle.openssl.PEMParser; +import org.bouncycastle.openssl.jcajce.JcaPEMKeyConverter; + +import org.bouncycastle.jce.provider.BouncyCastleProvider; +import org.bouncycastle.openssl.PEMParser; +import org.bouncycastle.openssl.jcajce.JcaPEMKeyConverter; +public class ApiSignatureEd25519 { + + final Logger log = LoggerFactory.getLogger(getClass()); + + static final DateTimeFormatter DT_FORMAT = DateTimeFormatter.ofPattern("uuuu-MM-dd'T'HH:mm:ss"); + + static final ZoneId ZONE_GMT = ZoneId.of("Z"); + + + public void createSignature(String base64PublicKey, String base64PrivateKey, String method, String uri, + Map params) { + // 加载 BouncyCastle 提供者 + Security.addProvider(new BouncyCastleProvider()); + Ed25519PrivateKeyParameters privateKey = null; + + // 从 PEM 格式中提取私钥 + try (PEMParser pemParser = new PEMParser(new StringReader(base64PrivateKey))) { + Object object = pemParser.readObject(); + if (object instanceof PrivateKeyInfo) { + PrivateKeyInfo privateKeyInfo = (PrivateKeyInfo) object; + JcaPEMKeyConverter converter = new JcaPEMKeyConverter(); + java.security.PrivateKey javaPrivateKey = converter.getPrivateKey(privateKeyInfo); + privateKey = (Ed25519PrivateKeyParameters) PrivateKeyFactory.createKey(javaPrivateKey.getEncoded()); + } else { + throw new IllegalArgumentException("Invalid PEM format: not a private key"); + } + } catch (Exception e) { + throw new RuntimeException("Error loading private key: " + e.getMessage(), e); + } + + StringBuilder sb = new StringBuilder(1024); + sb.append(method.toUpperCase()).append('\n'); + + // 提取主机名和 URI + int index = uri.indexOf("//"); + String subString = uri.substring(index + 2); + int index2 = subString.indexOf("/"); + String host = subString.substring(0, index2); + String constant = subString.substring(index2); + + sb.append(host.toLowerCase()).append('\n') // Host + .append(constant).append('\n'); // /path + + // 添加请求参数 + params.remove("Signature"); + params.put("AccessKeyId", base64PublicKey); // 使用公共密钥 + params.put("SignatureVersion", "2"); + params.put("SignatureMethod", "Ed25519"); + params.put("Timestamp", gmtNow()); + + // 构建签名字符串 + SortedMap map = new TreeMap<>(params); + for (Map.Entry entry : map.entrySet()) { + String key = entry.getKey(); + String value = entry.getValue().toString(); + sb.append(key).append('=').append(urlEncode(value)).append('&'); + } + // 去掉最后的 '&' + sb.deleteCharAt(sb.length() - 1); +System.out.println(sb.toString()); + // 使用 Ed25519 进行签名 + Ed25519Signer signer = new Ed25519Signer(); + signer.init(true, privateKey); + signer.update(sb.toString().getBytes(StandardCharsets.UTF_8), 0, sb.length()); + byte[] signatureBytes = signer.generateSignature(); + String actualSign = Base64.getEncoder().encodeToString(signatureBytes); + + params.put("Signature", actualSign); // 将签名放入参数中 + } + + /** + * 使用标准URL Encode编码。注意和JDK默认的不同,空格被编码为%20而不是+。 + * + * @param s String字符串 + * @return URL编码后的字符串 + */ + public static String urlEncode(String s) { + try { + return URLEncoder.encode(s, "UTF-8").replaceAll("\\+", "%20"); + } catch (UnsupportedEncodingException e) { + throw new IllegalArgumentException("UTF-8 encoding not supported!"); + } + } + + /** + * Return epoch seconds + */ + long epochNow() { + return Instant.now().getEpochSecond(); + } + + String gmtNow() { + return Instant.ofEpochSecond(epochNow()).atZone(ZONE_GMT).format(DT_FORMAT); + } +} diff --git a/src/main/java/com/huobi/api/util/HbdmHttpClient.java b/src/main/java/com/huobi/api/util/HbdmHttpClient.java new file mode 100644 index 0000000..fee9f6c --- /dev/null +++ b/src/main/java/com/huobi/api/util/HbdmHttpClient.java @@ -0,0 +1,129 @@ +package com.huobi.api.util; + +import com.alibaba.fastjson.JSON; +import com.huobi.api.exception.HttpRequestException; +import okhttp3.*; +import org.apache.commons.collections4.MapUtils; + +import java.io.IOException; +import java.util.Map; +import java.util.concurrent.TimeUnit; +import java.util.stream.Collectors; + +public class HbdmHttpClient { + + private OkHttpClient httpClient; + + + static final MediaType JSON_TYPE = MediaType.parse("application/json"); + + private HbdmHttpClient() { + OkHttpClient.Builder builder = new OkHttpClient.Builder() + .connectionPool(new ConnectionPool(200, 10, TimeUnit.SECONDS)).connectTimeout(5, TimeUnit.SECONDS) + .readTimeout(5, TimeUnit.SECONDS); + httpClient = builder.build(); + } + + public static HbdmHttpClient getInstance() { + return new HbdmHttpClient(); + } + + public String doGet(String url, Map params) { + Request.Builder reqBuild = new Request.Builder(); + HttpUrl.Builder urlBuilder = HttpUrl.parse(url).newBuilder(); + if (MapUtils.isNotEmpty(params)) { + params.forEach((k, v) -> { + urlBuilder.addQueryParameter(k, v.toString()); + }); + } + reqBuild.url(urlBuilder.build()); + + Response response = null; + try { + response = httpClient.newCall(reqBuild.build()).execute(); + } catch (IOException e) { + throw new HttpRequestException("http执行异常,url=" + url, e); + } + if (response.isSuccessful()) { + try { + return response.body().string(); + } catch (IOException e) { + throw new HttpRequestException("http结果解析异常", e); + } + } else { + int statusCode = response.code(); + throw new HttpRequestException("响应码不为200,返回响应码:" + statusCode + ",url:" + urlBuilder.build()); + } + } + + + public String doPost(String appKey, String appSecretKey, String uri, Map params,String sign2) { + if(sign2.equals("256")){ + ApiSignature sign = new ApiSignature(); + sign.createSignature(appKey, appSecretKey, "POST", uri, params); + try { + RequestBody body = RequestBody.create(JSON_TYPE, JSON.toJSONString(params)); + Request.Builder builder = new Request.Builder().url(uri + "?" + toQueryString(params)).post(body); + Request request = builder.build(); + Response response = httpClient.newCall(request).execute(); + return response.body().string(); + } catch (IOException e) { + throw new RuntimeException("IOException 目标url:" + uri, e); + } + }else{ + ApiSignatureEd25519 sign = new ApiSignatureEd25519(); + sign.createSignature(appKey, appSecretKey, "POST", uri, params); + try { + RequestBody body = RequestBody.create(JSON_TYPE, JSON.toJSONString(params)); + Request.Builder builder = new Request.Builder().url(uri + "?" + toQueryString(params)).post(body); + Request request = builder.build(); + Response response = httpClient.newCall(request).execute(); + return response.body().string(); + } catch (IOException e) { + throw new RuntimeException("IOException 目标url:" + uri, e); + } + } + + + } + + + private String toQueryString(Map params) { + return String.join("&", + params.entrySet().stream() + .map((entry) -> entry.getKey() + "=" + ApiSignature.urlEncode(entry.getValue().toString())) + .collect(Collectors.toList())); + } + + public String doGetKey(String appKey, String appSecretKey, String url, Map params) { + ApiSignature sign = new ApiSignature(); + sign.createSignature(appKey, appSecretKey, "GET", url, params); + + Request.Builder reqBuild = new Request.Builder(); + HttpUrl.Builder urlBuilder = HttpUrl.parse(url).newBuilder(); + if (MapUtils.isNotEmpty(params)) { + params.forEach((k, v) -> { + urlBuilder.addQueryParameter(k, v.toString()); + }); + } + reqBuild.url(urlBuilder.build()); + + Response response = null; + try { + response = httpClient.newCall(reqBuild.build()).execute(); + } catch (IOException e) { + throw new HttpRequestException("http执行异常,url=" + url, e); + } + if (response.isSuccessful()) { + try { + return response.body().string(); + } catch (IOException e) { + throw new HttpRequestException("http结果解析异常", e); + } + } else { + int statusCode = response.code(); + throw new HttpRequestException("响应码不为200,返回响应码:" + statusCode + ",url:" + urlBuilder.build()); + } + } + +} diff --git a/src/main/java/com/huobi/wss/SubscriptionListener.java b/src/main/java/com/huobi/wss/SubscriptionListener.java new file mode 100644 index 0000000..ad5ddc7 --- /dev/null +++ b/src/main/java/com/huobi/wss/SubscriptionListener.java @@ -0,0 +1,18 @@ +package com.huobi.wss; + +/** + * You must implement the SubscriptionListener interface.
The server will push any update to + * the client. if client get the update, the onReceive method will be called. + * + * @param The type of received data. + */ +@FunctionalInterface +public interface SubscriptionListener { + + /** + * onReceive will be called when get the data sent by server. + * + * @param data The data send by server. + */ + void onReceive(String data) throws InterruptedException; +} diff --git a/src/main/java/com/huobi/wss/constants/HuobiFutureWSSConstants.java b/src/main/java/com/huobi/wss/constants/HuobiFutureWSSConstants.java new file mode 100644 index 0000000..e84199e --- /dev/null +++ b/src/main/java/com/huobi/wss/constants/HuobiFutureWSSConstants.java @@ -0,0 +1,41 @@ +package com.huobi.wss.constants; + +public class HuobiFutureWSSConstants { + + //市场行情接口 订阅 + public static final String MARKET_KLINE_PERIOD_SUB = "market.$symbol.kline.$period"; // 1.订阅 KLine 数据 + public static final String MARKET_DEPTH_SUB = "market.$symbol.depth.$type"; // 2.订阅 Market Depth 数据 + public static final String MARKET_DETAIL_SUB = "market.$symbol.detail";// 3.订阅 Market detail 数据 + public static final String MARKET_TRADE_DETAIL_SUB = "market.$symbol.trade.detail";// 4.订阅TradeDetail数据 + public static final String MARKET_DEPTH_DIFF_SUB = "market.$symbol.depth.size_${size}.high_freq"; // 5.订阅MarketDepth增量数据 + public static final String MARKET_BBO_SUB = "market.$symbol.bbo"; // 6.订阅买一卖一逐笔行情数据(BBO) + + + //市场行情接口 请求 + public static final String MARKET_KLINE_PERIOD_REQ = "market.$symbol.kline.$period"; // 1.请求 KLine 数据 + public static final String MARKET_TRADE_DETAIL_REQ = "market.$symbol.trade.detail";// 2.请求TradeDetail数据 + + + //订单和用户数据接口 + public static final String ORDERS_SYMBOL = "orders.$symbol"; // 1.订阅订单成交数据 + public static final String ACCOUNTS_SYMBOL = "accounts.$symbol"; // 2.订阅某个品种下的资产变动信息 + public static final String POSITIONS_SYMBOL = "positions.$symbol"; // 3.订阅某个品种下的持仓变动信息 + public static final String PUBLIC_LIQUIDATION_ORDERS = "public.$symbol.liquidation_orders";// 4.订阅强平订单数据(免鉴权)(sub) + public static final String PUBLIC_CONTRACT_INFO = "public.$symbol.contract_info";// 5.订阅合约信息变动(免鉴权)(sub) + public static final String TRIGGER_ORDER_SYMBOL = "trigger_order.$symbol";// 6.订阅计划委托订单更新 + public static final String MATCHORDERS_SYMBOL = "matchOrders.$symbol";// 7.订阅订单撮合数据(sub) + + //系统状态更新接口 + public static final String PUBLIC_HEARTBEAT = "public.$service.heartbeat";// 1.订阅系统状态更新 + + //指数与基差数据接口 订阅 + public static final String MARKET_INDEX_SUB = "market.$symbol.index.$period"; // 1.订阅(sub)指数K线数据 + public static final String MARKET_BASIS_PRICE_TYPE_SUB = "market.$symbol.basis.$period.$basis_price_type"; // 2.订阅(sub)基差数据 + public static final String MARKET_MARK_PRICE_SUB = "market.$symbol.mark_price.$period"; // 3.请求标记价格K线数据 + + //指数与基差数据接口 请求 + public static final String MARKET_INDEX_REQ = "market.$symbol.index.$period"; // 1.请求(req)指数K线数据 + public static final String MARKET_BASIS_PRICE_TYPE_REQ = "market.$symbol.basis.$period.$basis_price_type";// 2.请求(req)基差数据 + public static final String MARKET_MARK_PRICE_REQ = "market.$symbol.mark_price.$period";// 3.请求标记价格K线数据 + +} diff --git a/src/main/java/com/huobi/wss/constants/HuobiSwapsWSSConstants.java b/src/main/java/com/huobi/wss/constants/HuobiSwapsWSSConstants.java new file mode 100644 index 0000000..309bb6a --- /dev/null +++ b/src/main/java/com/huobi/wss/constants/HuobiSwapsWSSConstants.java @@ -0,0 +1,56 @@ +package com.huobi.wss.constants; + +public class HuobiSwapsWSSConstants { + + //市场行情接口 订阅 + public static final String MARKET_KLINE_PERIOD_SUB = "market.$contract_code.kline.$period"; // 1.订阅 KLine 数据 + public static final String MARKET_DEPTH_SUB = "market.$contract_code.depth.$type"; // 2.订阅 Market Depth 数据 + public static final String MARKET_DETAIL_SUB = "market.$contract_code.detail";// 3.订阅 Market detail 数据 + public static final String TRADE_DETAIL_SUB = "market.$contract_code.trade.detail";// 4.订阅 Market detail 数据 + public static final String MARKET_DEPTH_DIFF_SUB = "market.$contract_code.depth.size_${size}.high_freq";// 5.订阅Market Depth增量数据 + public static final String MARKET_BBO_SUB = "market.$contract_code.bbo";// 6.订阅买一卖一逐笔行情推送 + + + //市场行情接口 请求 + public static final String MARKET_KLINE_PERIOD_REQ = "market.$contract_code.kline.$period"; // 1.请求 KLine 数据 + public static final String TRADE_DETAIL_REQ = "market.$contract_code.trade.detail";// 2.请求 Market detail 数据 + + + //交易接口 + public static final String ORDERS_SYMBOL = "orders.$symbol-$partition"; // 1.订阅订单成交数据 + + + //资产接口 + public static final String ACCOUNTS_SYMBOL = "accounts.$symbol-$partition"; // 1.订阅某个品种下的资产变动信息 + public static final String POSITIONS_SYMBOL = "positions.$symbol-$partition"; // 2.订阅某个品种下的持仓变动信息 + + //订单和用户数据接口 + public static final String ORDERS_CONTRACT_CODE = "orders.$contract_code";// 1.订阅订单成交数据(sub) + public static final String ACCOUNTS_CONTRACT_CODE = "accounts.$contract_code";// 2.资产变动数据(sub) + public static final String POSITIONS_CONTRACT_CODE = "positions.$contract_code";// 3.持仓变动更新数据(sub) + public static final String MATCHORDERS_CONTRACT_CODE = "matchOrders.$contract_code";// 4.订阅合约订单撮合数据(sub) + public static final String PUBLIC_LIQUIDATION_ORDERS = "public.$contract_code.liquidation_orders";// 5.订阅强平订单数据(免鉴权)(sub) + public static final String PUBLIC_FUNDING_RATE = "public.$contract_code.funding_rate";// 6.订阅资金费率推送(免鉴权)(sub) + public static final String PUBLIC_CONTRACT_INFO = "public.$contract_code.contract_info";// 7.订阅合约信息变动(免鉴权)(sub) + public static final String TRIGGER_ORDER_CONTRACT_CODE = "trigger_order.$contract_code";// 8.订阅计划委托订单更新(sub) + + //系统状态更新接口 + public static final String PUBLIC_HEARTBEAT = "public.$service.heartbeat";// 1.订阅系统状态更新 + + //指数与基差数据接口 订阅 + public static final String MARKET_INDEX_SUB = "market.$contract_code.index.$period"; // 1.订阅(sub)指数K线数据 + public static final String MARKET_PREMIUM_INDEX_SUB = "market.$contract_code.premium_index.$period";// 2.订阅溢价指数K线数据 + public static final String MARKET_ESTIMATED_RATE_SUB = "market.$contract_code.estimated_rate.$period";// 3.订阅预测资金费率K线数据 + public static final String MARKET_BASIS_PRICE_TYPE_SUB = "market.$contract_code.basis.$period.$basis_price_type";// 4.订阅基差数据 + public static final String MARKET_MARK_PRICE_SUB = "market.$contract_code.mark_price.$period"; // 5.订阅标记价格K线数据 + + //指数与基差数据接口 请求 + public static final String MARKET_INDEX_REQ = "market.$contract_code.index.$period";// 1.请求(req)指数K线数据 + public static final String MARKET_PREMIUM_INDEX_REQ = "market.$contract_code.premium_index.$period";// 2.请求溢价指数K线数据 + public static final String MARKET_ESTIMATED_RATE_REQ = "market.$contract_code.estimated_rate.$period";// 3.请求预测资金费率K线数据 + public static final String MARKET_BASIS_PRICE_TYPE_REQ = "market.$contract_code.basis.$period.$basis_price_type";// 4.请求基差数据 + public static final String MARKET_MARK_PRICE_REQ = "market.$contract_code.mark_price.$period";// 5.请求标记价格K线数据 + + + +} diff --git a/src/main/java/com/huobi/wss/constants/HuobiUsdtWSSConstants.java b/src/main/java/com/huobi/wss/constants/HuobiUsdtWSSConstants.java new file mode 100644 index 0000000..ccd33a7 --- /dev/null +++ b/src/main/java/com/huobi/wss/constants/HuobiUsdtWSSConstants.java @@ -0,0 +1,58 @@ +package com.huobi.wss.constants; + +public class HuobiUsdtWSSConstants { + + //市场行情接口 订阅 + public static final String MARKET_KLINE_PERIOD_SUB = "market.$contract_code.kline.$period"; // 1.订阅 KLine 数据 + public static final String MARKET_DEPTH_SUB = "market.$contract_code.depth.$type"; // 2.订阅 Market Depth 数据 + public static final String MARKET_DETAIL_SUB = "market.$contract_code.detail";// 3.订阅 Market detail 数据 + public static final String TRADE_DETAIL_SUB = "market.$contract_code.trade.detail"; // 4.订阅 Trade Detail 数据 + public static final String MARKET_DEPTH_DIFF_SUB = "market.$contract_code.depth.size_${size}.high_freq"; // 5.订阅Market Depth增量数据 + public static final String MARKET_BBO_SUB = "market.$contract_code.bbo"; // 6.订阅买一卖一逐笔行情推送 + + //市场行情接口 请求 + public static final String MARKET_KLINE_PERIOD_REQ = "market.$contract_code.kline.$period"; // 1.请求 KLine 数据 + public static final String TRADE_DETAIL_REQ = "market.$contract_code.trade.detail";// 2.请求 Trade detail 数据 + + + //交易接口 + public static final String ORDERS_SYMBOL = "orders.$symbol-$partition"; // 1.订阅订单成交数据 + + + //资产接口 + public static final String ACCOUNTS_SYMBOL = "accounts.$symbol-$partition"; // 1.订阅某个品种下的资产变动信息 + public static final String POSITIONS_SYMBOL = "positions.$symbol-$partition"; // 2.订阅某个品种下的持仓变动信息 + + //订单和用户数据接口 + public static final String ORDERS_CONTRACT_CODE = "orders.$contract_code"; // 1.订阅订单成交数据(sub) + public static final String ORDERS_CROSS_CONTRACT_CODE = "orders_cross.$contract_code"; // 2.订阅订单成交数据(sub) + public static final String ACCOUNTS_CONTRACT_CODE = "accounts.$contract_code"; // 3.资产变动数据(sub) + public static final String ACCOUNTS_CROSS_MARGIN_ACCOUNT = "accounts_cross.$margin_account"; // 4.资产变动数据(sub) + public static final String POSITIONS_CONTRACT_CODE = "positions.$contract_code"; // 5.持仓变动更新数据(sub) + public static final String POSITIONS_CROSS_CONTRACT_CODE = "positions_cross.$contract_code"; // 6.持仓变动更新数据(sub) + public static final String PUBLIC_LIQUIDATION_ORDERS = "public.$contract_code.liquidation_orders"; // 7.订阅强平订单数据(免鉴权)(sub) + public static final String PUBLIC_FUNDING_RATE = "public.$contract_code.funding_rate"; // 8.【通用】订阅资金费率推送(免鉴权)(sub) + public static final String PUBLIC_CONTRACT_INFO = "public.$contract_code.contract_info"; // 9.【通用】订阅合约信息变动(免鉴权)(sub) + public static final String TRIGGER_ORDER_CONTRACT_CODE = "trigger_order.$contract_code"; // 10.【逐仓】订阅计划委托订单更新(sub) + public static final String TRIGGER_ORDER_CROSS_CONTRACT_CODE = "trigger_order_cross.$contract_code"; // 11.【全仓】订阅计划委托订单更新(sub) + public static final String MATCHORDERS_CONTRACT_CODE = "matchOrders.$contract_code"; // 12.【逐仓】订阅合约订单撮合数据(sub) + public static final String MATCHORDERS_CROSS_CONTRACT_CODE = "matchOrders_cross.$contract_code"; // 13.【逐仓】订阅合约订单撮合数据(sub) + + //指数与基差数据接口 订阅 + public static final String MARKET_INDEX_SUB = "market.$contract_code.index.$period"; // 1.订阅(sub)指数K线数据 + public static final String MARKET_PREMIUM_INDEX_SUB = "market.$contract_code.premium_index.$period"; // 2.订阅溢价指数K线数据 + public static final String MARKET_ESTIMATED_RATE_SUB = "market.$contract_code.estimated_rate.$period"; // 3.订阅预测资金费率K线数据 + public static final String MARKET_BASIS_PRICE_TYPE_SUB = "market.$contract_code.basis.$period.$basis_price_type"; // 4.订阅基差数据 + public static final String MARKET_MARK_PRICE_SUB = "market.$contract_code.mark_price.$period"; // 5.订阅标记价格K线数据 + + //指数与基差数据接口 请求 + public static final String MARKET_INDEX_REQ = "market.$contract_code.index.$period"; // 1.请求(req)指数K线数据 + public static final String MARKET_PREMIUM_INDEX_REQ = "market.$contract_code.premium_index.$period"; // 2.请求溢价指数K线数据 + public static final String MARKET_ESTIMATED_RATE_REQ = "market.$contract_code.estimated_rate.$period"; // 3.请求预测资金费率K线数据 + public static final String MARKET_BASIS_PRICE_TYPE_REQ = "market.$contract_code.basis.$period.$basis_price_type"; // 4.请求基差数据 + public static final String MARKET_MARK_PRICE_REQ = "market.$contract_code.mark_price.$period"; // 5.请求标记价格K线数据 + + //系统状态更新接口 + public static final String PUBLIC_HEARTBEAT = "public.$service.heartbeat"; // 1.【通用】订阅系统状态更新 + +} diff --git a/src/main/java/com/huobi/wss/event/AccountCrossSubResponse.java b/src/main/java/com/huobi/wss/event/AccountCrossSubResponse.java new file mode 100644 index 0000000..e8e703f --- /dev/null +++ b/src/main/java/com/huobi/wss/event/AccountCrossSubResponse.java @@ -0,0 +1,103 @@ +package com.huobi.wss.event; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class AccountCrossSubResponse { + private String op; + private String topic; + private Long ts; + private String uid; + private String event; + private List data; + @Data + @AllArgsConstructor + public static class DataBean { + @SerializedName("margin_mode") + private String marginMode; + @SerializedName("margin_account") + private String marginAccount; + @SerializedName("margin_asset") + private String marginAsset; + @SerializedName("margin_balance") + private BigDecimal marginBalance; + @SerializedName("margin_static") + private BigDecimal marginStatic; + @SerializedName("margin_position") + private BigDecimal marginPosition; + @SerializedName("margin_frozen") + private BigDecimal marginFrozen; + @SerializedName("profit_real") + private BigDecimal profitReal; + @SerializedName("profit_unreal") + private BigDecimal profitUnreal; + @SerializedName("withdraw_available") + private BigDecimal withdrawAvailable; + @SerializedName("risk_rate") + private BigDecimal riskRate; + @SerializedName("position_mode") + private String positionMode; + @SerializedName("contract_detail") + private List contractDetail; + @SerializedName("futures_contract_detail") + private List futuresContractDetail; + } + @Data + @AllArgsConstructor + public static class ContractDetailItem { + private String symbol; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("margin_position") + private BigDecimal marginPosition; + @SerializedName("margin_frozen") + private BigDecimal marginFrozen; + @SerializedName("margin_available") + private BigDecimal marginAvailable; + @SerializedName("profit_unreal") + private BigDecimal profitUnreal; + @SerializedName("liquidation_price") + private BigDecimal liquidationPrice; + @SerializedName("lever_rate") + private BigDecimal leverRate; + @SerializedName("adjust_factor") + private BigDecimal adjustFactor; + @SerializedName("contract_type") + private String contractType; + private String pair; + @SerializedName("business_type") + private String businessType; + } + @Data + @AllArgsConstructor + public static class FuturesContractDetailItem { + private String symbol; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("margin_position") + private BigDecimal marginPosition; + @SerializedName("margin_frozen") + private BigDecimal marginFrozen; + @SerializedName("margin_available") + private BigDecimal marginAvailable; + @SerializedName("profit_unreal") + private BigDecimal profitUnreal; + @SerializedName("liquidation_price") + private BigDecimal liquidationPrice; + @SerializedName("lever_rate") + private BigDecimal leverRate; + @SerializedName("adjust_factor") + private BigDecimal adjustFactor; + @SerializedName("contract_type") + private String contractType; + private String pair; + @SerializedName("business_type") + private String businessType; + } +} diff --git a/src/main/java/com/huobi/wss/event/AccountsSubResponse.java b/src/main/java/com/huobi/wss/event/AccountsSubResponse.java new file mode 100644 index 0000000..9d774f6 --- /dev/null +++ b/src/main/java/com/huobi/wss/event/AccountsSubResponse.java @@ -0,0 +1,88 @@ +package com.huobi.wss.event; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class AccountsSubResponse { + + + /** + * op : notify + * topic : accounts + * ts : 1583239414628 + * event : init + * data : [{"symbol":"BTC","margin_balance":1.7535590617661905,"margin_static":1.7355318016108807,"margin_position":0.33021635865066457,"margin_frozen":0,"margin_available":1.423342703115526,"profit_real":0.014472102710629512,"profit_unreal":0.0180272601553096,"risk_rate":5.280333712513856,"liquidation_price":4373.089742505218,"withdraw_available":1.4053154429602162,"lever_rate":5,"adjust_factor":0.03}] + */ + + private String op; + private String topic; + private long ts; + private String event; + private String uid; + private List data; + + + @Data + @AllArgsConstructor + public static class DataBean { + /** + * symbol : BTC + * margin_balance : 1.7535590617661905 + * margin_static : 1.7355318016108807 + * margin_position : 0.33021635865066457 + * margin_frozen : 0.0 + * margin_available : 1.423342703115526 + * profit_real : 0.014472102710629512 + * profit_unreal : 0.0180272601553096 + * risk_rate : 5.280333712513856 + * liquidation_price : 4373.089742505218 + * withdraw_available : 1.4053154429602162 + * lever_rate : 5 + * adjust_factor : 0.03 + */ + + private String symbol; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("margin_asset") + private String marginAsset; + @SerializedName("trade_partition") + private String tradePartition; + @SerializedName("margin_balance") + private BigDecimal marginBalance; + @SerializedName("margin_static") + private BigDecimal marginStatic; + @SerializedName("margin_position") + private BigDecimal marginPosition; + @SerializedName("margin_frozen") + private BigDecimal marginFrozen; + @SerializedName("margin_available") + private BigDecimal marginAvailable; + @SerializedName("profit_real") + private BigDecimal profitReal; + @SerializedName("profit_unreal") + private BigDecimal profitUnreal; + @SerializedName("risk_rate") + private BigDecimal riskRate; + @SerializedName("liquidation_price") + private BigDecimal liquidationPrice; + @SerializedName("withdraw_available") + private BigDecimal withdrawAvailable; + @SerializedName("lever_rate") + private int leverRate; + @SerializedName("adjust_factor") + private BigDecimal adjustFactor; + @SerializedName("margin_mode") + private String marginMode; + @SerializedName("margin_account") + private String marginAccount; + @SerializedName("position_mode") + private String positionMode; + } +} diff --git a/src/main/java/com/huobi/wss/event/ContractElementSubResponse.java b/src/main/java/com/huobi/wss/event/ContractElementSubResponse.java new file mode 100644 index 0000000..04e104e --- /dev/null +++ b/src/main/java/com/huobi/wss/event/ContractElementSubResponse.java @@ -0,0 +1,110 @@ +package com.huobi.wss.event; +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class ContractElementSubResponse { + private String op; + private String topic; + private long ts; + private List data; + public static class DataEntry { + private String contract_code; + private int mode_type; + private int swap_delivery_type; + private String instrument_index_code; + private int real_time_settlement; + private double transfer_profit_ratio; + private double cross_transfer_profit_ratio; + private List instrument_type; + private String trade_partition; + private int min_level; + private int max_level; + private int settle_period; + private int funding_rate_cap; + private int funding_rate_floor; + private ContractInfos contract_infos; + private List price_ticks; + private List instrument_values; + private List order_limits; + private NormalLimit normal_limits; + private OpenLimit open_limits; + private TradeLimit trade_limits; + + // Getters and setters + } + + public static class ContractInfos { + private String contract_code; + private String instrument_type; + private String settlement_date; + private String delivery_time; + private String create_date; + private int contract_status; + private String delivery_date; + private ContractInfoDetails contract_infos; + + // Getters and setters + } + + public static class ContractInfoDetails { + private int long_position_limit; + private int offset_order_limit; + private int open_order_limit; + private int short_position_limit; + + // Getters and setters + } + + public static class PriceTick { + private int business_type; + private String price; + + // Getters and setters + } + + public static class InstrumentValue { + private int business_type; + private String price; + + // Getters and setters + } + + public static class OrderLimit { + private int instrument_type; + private String open; + private String close; + private String open_after_closing; + + // Getters and setters + } + + public static class NormalLimit { + private int instrument_type; + private String open; + private String close; + + // Getters and setters + } + + public static class OpenLimit { + private int instrument_type; + private String open; + private String close; + + // Getters and setters + } + + public static class TradeLimit { + private int instrument_type; + private String open; + private String close; + + // Getters and setters + } +} diff --git a/src/main/java/com/huobi/wss/event/LiquidationOrdersSubResponse.java b/src/main/java/com/huobi/wss/event/LiquidationOrdersSubResponse.java new file mode 100644 index 0000000..c0a62c0 --- /dev/null +++ b/src/main/java/com/huobi/wss/event/LiquidationOrdersSubResponse.java @@ -0,0 +1,40 @@ +package com.huobi.wss.event; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +@AllArgsConstructor +public class LiquidationOrdersSubResponse { + + + /** + * op : notify + * topic : liquidationOrders.btc + * ts : 1489474082831 + * symbol : BTC + * contract_code : BTC180914 + * direction : buy + * offset : close + * volume : 111 + * price : 1111 + * created_at : 1408076414000 + */ + + private String op; + private String topic; + private long ts; + private String symbol; + @SerializedName("contract_code") + private String contractCode; + private String direction; + private String offset; + private BigDecimal volume; + private BigDecimal price; + @SerializedName("created_at") + private long createdAt; + +} diff --git a/src/main/java/com/huobi/wss/event/MarketBasisPriceTypeReqResponse.java b/src/main/java/com/huobi/wss/event/MarketBasisPriceTypeReqResponse.java new file mode 100644 index 0000000..65425bf --- /dev/null +++ b/src/main/java/com/huobi/wss/event/MarketBasisPriceTypeReqResponse.java @@ -0,0 +1,31 @@ +package com.huobi.wss.event; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.util.List; + +@Data +@AllArgsConstructor +public class MarketBasisPriceTypeReqResponse { + private String id; + private String req; + private Long wsid; + private String status; + private String ts; + private List data; + + @Data + @AllArgsConstructor + public static class DataBean { + private Long id; + @SerializedName("contract_price") + private String contractPrice; + @SerializedName("index_price") + private String indexPrice; + private String basis; + @SerializedName("basis_rate") + private String basisRate; + } +} diff --git a/src/main/java/com/huobi/wss/event/MarketBasisPriceTypeSubResponse.java b/src/main/java/com/huobi/wss/event/MarketBasisPriceTypeSubResponse.java new file mode 100644 index 0000000..86d54d9 --- /dev/null +++ b/src/main/java/com/huobi/wss/event/MarketBasisPriceTypeSubResponse.java @@ -0,0 +1,26 @@ +package com.huobi.wss.event; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +@Data +@AllArgsConstructor +public class MarketBasisPriceTypeSubResponse { + private String ch; + private Long ts; + private TickBean tick; + + @Data + @AllArgsConstructor + public static class TickBean { + private Long id; + @SerializedName("contract_price") + private String contractPrice; + @SerializedName("index_price") + private String indexPrice; + private String basis; + @SerializedName("basis_rate") + private String basisRate; + } +} diff --git a/src/main/java/com/huobi/wss/event/MarketBboSubResponse.java b/src/main/java/com/huobi/wss/event/MarketBboSubResponse.java new file mode 100644 index 0000000..436df27 --- /dev/null +++ b/src/main/java/com/huobi/wss/event/MarketBboSubResponse.java @@ -0,0 +1,28 @@ +package com.huobi.wss.event; + +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class MarketBboSubResponse { + private String ch; + private Long ts; + private TickBean tick; + + @Data + @AllArgsConstructor + public static class TickBean { + private Long mrid; + private Long id; + private Long ts; + private Long version; + private String ch; + private List bids; + private List asks; + private String event; + } +} diff --git a/src/main/java/com/huobi/wss/event/MarketDepthDiffSubResponse.java b/src/main/java/com/huobi/wss/event/MarketDepthDiffSubResponse.java new file mode 100644 index 0000000..e5d14fc --- /dev/null +++ b/src/main/java/com/huobi/wss/event/MarketDepthDiffSubResponse.java @@ -0,0 +1,28 @@ +package com.huobi.wss.event; + +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class MarketDepthDiffSubResponse { + private String ch; + private Long ts; + private TickBean tick; + + @Data + @AllArgsConstructor + public static class TickBean { + private Long mrid; + private Long id; + private Long ts; + private Long version; + private String ch; + private List bids; + private List asks; + private String event; + } +} diff --git a/src/main/java/com/huobi/wss/event/MarketDepthSubResponse.java b/src/main/java/com/huobi/wss/event/MarketDepthSubResponse.java new file mode 100644 index 0000000..7ef380e --- /dev/null +++ b/src/main/java/com/huobi/wss/event/MarketDepthSubResponse.java @@ -0,0 +1,45 @@ +package com.huobi.wss.event; + +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class MarketDepthSubResponse { + + /** + * ch : market.BTC_CQ.depth.step0 + * ts : 1489474082831 + * tick : {"mrid":269073229,"id":1539843937,"bids":[[9999.9101,1],[9992.3089,2]],"asks":[[10010.98,10],[10011.39,15]],"ts":1539843937417,"version":1539843937,"ch":"market.BTC_CQ.depth.step0"} + */ + + private String ch; + private Long ts; + private TickBean tick; + + @Data + @AllArgsConstructor + public static class TickBean { + /** + * mrid : 269073229 + * id : 1539843937 + * bids : [[9999.9101,1],[9992.3089,2]] + * asks : [[10010.98,10],[10011.39,15]] + * ts : 1539843937417 + * version : 1539843937 + * ch : market.BTC_CQ.depth.step0 + */ + + private Long mrid; + private Long id; + private Long ts; + private Long version; + private String ch; + private List bids; + private List asks; + private String event; + } +} diff --git a/src/main/java/com/huobi/wss/event/MarketDetailSubResponse.java b/src/main/java/com/huobi/wss/event/MarketDetailSubResponse.java new file mode 100644 index 0000000..040d24c --- /dev/null +++ b/src/main/java/com/huobi/wss/event/MarketDetailSubResponse.java @@ -0,0 +1,50 @@ +package com.huobi.wss.event; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +@AllArgsConstructor +public class MarketDetailSubResponse { + /** + * ch : market.BTC_CW.detail + * ts : 1539842340724 + * tick : {"id":1539842340,"mrid":268041138,"open":6740.47,"close":7800,"high":7800,"low":6726.13,"amount":477.12003120752445,"vol":32414,"count":1716} + */ + + private String ch; + private Long ts; + private TickBean tick; + + + @Data + @AllArgsConstructor + public static class TickBean { + /** + * id : 1539842340 + * mrid : 268041138 + * open : 6740.47 + * close : 7800 + * high : 7800 + * low : 6726.13 + * amount : 477.12003120752445 + * vol : 32414 + * count : 1716 + */ + + private Long id; + private Long mrid; + private BigDecimal open; + private BigDecimal close; + private BigDecimal high; + private BigDecimal low; + private BigDecimal amount; + private BigDecimal vol; + private BigDecimal count; + @SerializedName("trade_turnover") + private BigDecimal tradeTurnover; + } +} diff --git a/src/main/java/com/huobi/wss/event/MarketEstimatedRateReqResponse.java b/src/main/java/com/huobi/wss/event/MarketEstimatedRateReqResponse.java new file mode 100644 index 0000000..1c04283 --- /dev/null +++ b/src/main/java/com/huobi/wss/event/MarketEstimatedRateReqResponse.java @@ -0,0 +1,33 @@ +package com.huobi.wss.event; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class MarketEstimatedRateReqResponse { + private String id; + private String rep; + private Long wsid; + private String status; + private String ts; + private List data; + @Data + @AllArgsConstructor + public static class DataBean { + private Long id; + private BigDecimal open; + private BigDecimal close; + private BigDecimal low; + private BigDecimal high; + private BigDecimal amount; + private BigDecimal vol; + private BigDecimal count; + @SerializedName("trade_turnover") + private String tradeTurnover; + } +} diff --git a/src/main/java/com/huobi/wss/event/MarketEstimatedRateSubResponse.java b/src/main/java/com/huobi/wss/event/MarketEstimatedRateSubResponse.java new file mode 100644 index 0000000..2e656de --- /dev/null +++ b/src/main/java/com/huobi/wss/event/MarketEstimatedRateSubResponse.java @@ -0,0 +1,30 @@ +package com.huobi.wss.event; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +@AllArgsConstructor +public class MarketEstimatedRateSubResponse { + private String ch; + private long ts; + private TickBean tick; + + @Data + @AllArgsConstructor + public static class TickBean { + private Long id; + private String vol; + private BigDecimal count; + private String open; + private String close; + private String low; + private String high; + private String amount; + @SerializedName("trade_turnover") + private String tradeTurnover; + } +} diff --git a/src/main/java/com/huobi/wss/event/MarketIndexReqResponse.java b/src/main/java/com/huobi/wss/event/MarketIndexReqResponse.java new file mode 100644 index 0000000..1997535 --- /dev/null +++ b/src/main/java/com/huobi/wss/event/MarketIndexReqResponse.java @@ -0,0 +1,31 @@ +package com.huobi.wss.event; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class MarketIndexReqResponse { + private String id; + private String req; + private Long wsid; + private String status; + private String ts; + private List data; + @Data + @AllArgsConstructor + public static class DataBean { + private Long id; + private BigDecimal open; + private BigDecimal close; + private BigDecimal low; + private BigDecimal high; + private BigDecimal amount; + private BigDecimal vol; + private BigDecimal count; + } +} diff --git a/src/main/java/com/huobi/wss/event/MarketIndexSubResponse.java b/src/main/java/com/huobi/wss/event/MarketIndexSubResponse.java new file mode 100644 index 0000000..d0a36ac --- /dev/null +++ b/src/main/java/com/huobi/wss/event/MarketIndexSubResponse.java @@ -0,0 +1,28 @@ +package com.huobi.wss.event; + +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class MarketIndexSubResponse { + private String ch; + private long ts; + private TickBean tick; + + @Data + @AllArgsConstructor + public static class TickBean { + private Long id; + private String vol; + private BigDecimal count; + private String open; + private String close; + private String low; + private String high; + private String amount; + } +} diff --git a/src/main/java/com/huobi/wss/event/MarketKLineReqResponse.java b/src/main/java/com/huobi/wss/event/MarketKLineReqResponse.java new file mode 100644 index 0000000..b8841ef --- /dev/null +++ b/src/main/java/com/huobi/wss/event/MarketKLineReqResponse.java @@ -0,0 +1,56 @@ +package com.huobi.wss.event; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + + +@Data +@AllArgsConstructor +public class MarketKLineReqResponse { + + + /** + * id : + * rep : market.BTC_CQ.kline.1min + * wsid : 3906345855 + * status : ok + * data : [{"id":1572537600,"open":9346.52,"close":9362.95,"low":9346.51,"high":9370,"amount":600.2317307880123,"vol":56170,"count":1025}] + */ + + private String id; + private String rep; + private Long wsid; + private String status; + private List data; + + + @Data + @AllArgsConstructor + public static class DataBean { + /** + * id : 1572537600 + * open : 9346.52 + * close : 9362.95 + * low : 9346.51 + * high : 9370 + * amount : 600.2317307880123 + * vol : 56170 + * count : 1025 + */ + + private Long id; + private BigDecimal open; + private BigDecimal close; + private BigDecimal low; + private BigDecimal high; + private BigDecimal amount; + private BigDecimal vol; + private BigDecimal count; + @SerializedName("trade_turnover") + private BigDecimal tradeTurnover; + } +} diff --git a/src/main/java/com/huobi/wss/event/MarketKLineSubResponse.java b/src/main/java/com/huobi/wss/event/MarketKLineSubResponse.java new file mode 100644 index 0000000..f4efcf8 --- /dev/null +++ b/src/main/java/com/huobi/wss/event/MarketKLineSubResponse.java @@ -0,0 +1,51 @@ +package com.huobi.wss.event; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; + + +@Data +@AllArgsConstructor +public class MarketKLineSubResponse { + + /** + * ch : market.BTC_CQ.kline.1min + * ts : 1489474082831 + * tick : {"id":1489464480,"mrid":268168237,"vol":100,"count":0,"open":7962.62,"close":7962.62,"low":7962.62,"high":7962.62,"amount":0.3} + */ + + private String ch; + private Long ts; + private TickBean tick; + + @Data + @AllArgsConstructor + public static class TickBean { + /** + * id : 1489464480 + * mrid : 268168237 + * vol : 100 + * count : 0 + * open : 7962.62 + * close : 7962.62 + * low : 7962.62 + * high : 7962.62 + * amount : 0.3 + */ + + private Long id; + private BigDecimal mrid; + private BigDecimal vol; + private BigDecimal count; + private BigDecimal open; + private BigDecimal close; + private BigDecimal low; + private BigDecimal high; + private BigDecimal amount; + @SerializedName("trade_turnover") + private BigDecimal tradeTurnover; + } +} diff --git a/src/main/java/com/huobi/wss/event/MarketMarkPriceReqResponse.java b/src/main/java/com/huobi/wss/event/MarketMarkPriceReqResponse.java new file mode 100644 index 0000000..0db1a9b --- /dev/null +++ b/src/main/java/com/huobi/wss/event/MarketMarkPriceReqResponse.java @@ -0,0 +1,33 @@ +package com.huobi.wss.event; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class MarketMarkPriceReqResponse { + private String id; + private String rep; + private Long wsid; + private String status; + private String ts; + private List data; + @Data + @AllArgsConstructor + public static class DataBean { + private Long id; + private BigDecimal open; + private BigDecimal close; + private BigDecimal low; + private BigDecimal high; + private BigDecimal amount; + private BigDecimal vol; + private BigDecimal count; + @SerializedName("trade_turnover") + private String tradeTurnover; + } +} diff --git a/src/main/java/com/huobi/wss/event/MarketMarkPriceSubResponse.java b/src/main/java/com/huobi/wss/event/MarketMarkPriceSubResponse.java new file mode 100644 index 0000000..eca4956 --- /dev/null +++ b/src/main/java/com/huobi/wss/event/MarketMarkPriceSubResponse.java @@ -0,0 +1,30 @@ +package com.huobi.wss.event; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +@AllArgsConstructor +public class MarketMarkPriceSubResponse { + private String ch; + private long ts; + private TickBean tick; + + @Data + @AllArgsConstructor + public static class TickBean { + private Long id; + private String vol; + private BigDecimal count; + private String open; + private String close; + private String low; + private String high; + private String amount; + @SerializedName("trade_turnover") + private String tradeTurnover; + } +} diff --git a/src/main/java/com/huobi/wss/event/MarketPremiumIndexReqResponse.java b/src/main/java/com/huobi/wss/event/MarketPremiumIndexReqResponse.java new file mode 100644 index 0000000..d7f9037 --- /dev/null +++ b/src/main/java/com/huobi/wss/event/MarketPremiumIndexReqResponse.java @@ -0,0 +1,30 @@ +package com.huobi.wss.event; + +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class MarketPremiumIndexReqResponse { + private String id; + private String rep; + private Long wsid; + private String status; + private String ts; + private List data; + @Data + @AllArgsConstructor + public static class DataBean { + private Long id; + private BigDecimal open; + private BigDecimal close; + private BigDecimal low; + private BigDecimal high; + private BigDecimal amount; + private BigDecimal vol; + private BigDecimal count; + } +} diff --git a/src/main/java/com/huobi/wss/event/MarketPremiumIndexSubResponse.java b/src/main/java/com/huobi/wss/event/MarketPremiumIndexSubResponse.java new file mode 100644 index 0000000..09f8692 --- /dev/null +++ b/src/main/java/com/huobi/wss/event/MarketPremiumIndexSubResponse.java @@ -0,0 +1,27 @@ +package com.huobi.wss.event; + +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +@AllArgsConstructor +public class MarketPremiumIndexSubResponse { + private String ch; + private long ts; + private TickBean tick; + + @Data + @AllArgsConstructor + public static class TickBean { + private Long id; + private String vol; + private BigDecimal count; + private String open; + private String close; + private String low; + private String high; + private String amount; + } +} diff --git a/src/main/java/com/huobi/wss/event/MarketTradeDetailReqResponse.java b/src/main/java/com/huobi/wss/event/MarketTradeDetailReqResponse.java new file mode 100644 index 0000000..5e28922 --- /dev/null +++ b/src/main/java/com/huobi/wss/event/MarketTradeDetailReqResponse.java @@ -0,0 +1,44 @@ +package com.huobi.wss.event; + +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class MarketTradeDetailReqResponse { + + /** + * data : [{"amount":"86","ts":1573107201935,"id":254779168880000,"price":"9467.67","direction":"sell"},{"amount":"120","ts":1573107201935,"id":254779168920000,"price":"9467.67","direction":"sell"},{"amount":"46","ts":1573107201935,"id":254779169100000,"price":"9467.67","direction":"sell"},{"amount":"86","ts":1573107201935,"id":254779169130000,"price":"9467.67","direction":"sell"},{"amount":"232","ts":1573107202096,"id":254779172750000,"price":"9467.67","direction":"sell"},{"amount":"60","ts":1573107202096,"id":254779172750001,"price":"9467.67","direction":"sell"},{"amount":"20","ts":1573107202209,"id":254779176730000,"price":"9467.56","direction":"sell"},{"amount":"10","ts":1573107202633,"id":254779192450000,"price":"9467.09","direction":"sell"},{"amount":"10","ts":1573107202796,"id":254779199200000,"price":"9466.12","direction":"sell"},{"amount":"54","ts":1573107206426,"id":254779294010000,"price":"9466.13","direction":"buy"},{"amount":"28","ts":1573107208537,"id":254779338380000,"price":"9466.13","direction":"buy"},{"amount":"32","ts":1573107210565,"id":254779380350000,"price":"9466.12","direction":"sell"},{"amount":"6","ts":1573107210565,"id":254779380350001,"price":"9466.12","direction":"sell"},{"amount":"34","ts":1573107210565,"id":254779380350002,"price":"9466.12","direction":"sell"},{"amount":"30","ts":1573107210565,"id":254779380350003,"price":"9466.12","direction":"sell"},{"amount":"30","ts":1573107210565,"id":254779380350004,"price":"9466.12","direction":"sell"},{"amount":"12","ts":1573107210565,"id":254779380350005,"price":"9466.12","direction":"sell"},{"amount":"4","ts":1573107210565,"id":254779380350006,"price":"9466.12","direction":"sell"},{"amount":"78","ts":1573107211207,"id":254779393700000,"price":"9466.13","direction":"buy"},{"amount":"54","ts":1573107211207,"id":254779393700001,"price":"9466.13","direction":"buy"},{"amount":"54","ts":1573107211207,"id":254779393700002,"price":"9466.13","direction":"buy"},{"amount":"2","ts":1573107211207,"id":254779393700003,"price":"9466.13","direction":"buy"},{"amount":"58","ts":1573107211207,"id":254779393700004,"price":"9466.13","direction":"buy"},{"amount":"22","ts":1573107211207,"id":254779393700005,"price":"9466.13","direction":"buy"},{"amount":"50","ts":1573107211207,"id":254779393700006,"price":"9466.13","direction":"buy"},{"amount":"4","ts":1573107213560,"id":254779436450000,"price":"9466.13","direction":"buy"},{"amount":"14","ts":1573107213560,"id":254779436450001,"price":"9466.13","direction":"buy"},{"amount":"20","ts":1573107215199,"id":254779465130000,"price":"9466.13","direction":"buy"},{"amount":"54","ts":1573107215199,"id":254779465130001,"price":"9466.13","direction":"buy"},{"amount":"54","ts":1573107215199,"id":254779465130002,"price":"9466.13","direction":"buy"},{"amount":"4","ts":1573107215199,"id":254779465130003,"price":"9466.13","direction":"buy"},{"amount":"8","ts":1573107215199,"id":254779465130004,"price":"9466.13","direction":"buy"},{"amount":"6","ts":1573107215199,"id":254779465130005,"price":"9466.13","direction":"buy"},{"amount":"10","ts":1573107215199,"id":254779465130006,"price":"9466.13","direction":"buy"},{"amount":"2","ts":1573107215199,"id":254779465130007,"price":"9466.13","direction":"buy"},{"amount":"46","ts":1573107215199,"id":254779465130008,"price":"9466.13","direction":"buy"},{"amount":"18","ts":1573107215199,"id":254779465130009,"price":"9466.13","direction":"buy"},{"amount":"6","ts":1573107215199,"id":254779465130010,"price":"9466.13","direction":"buy"},{"amount":"124","ts":1573107215199,"id":254779465130011,"price":"9466.13","direction":"buy"},{"amount":"82","ts":1573107215199,"id":254779465130012,"price":"9466.13","direction":"buy"},{"amount":"20","ts":1573107220030,"id":254779574100000,"price":"9466.13","direction":"buy"},{"amount":"18","ts":1573107220125,"id":254779576390000,"price":"9466.13","direction":"buy"},{"amount":"36","ts":1573107220561,"id":254779585770000,"price":"9466.13","direction":"buy"},{"amount":"60","ts":1573107223297,"id":254779646680000,"price":"9466.13","direction":"buy"},{"amount":"20","ts":1573107223297,"id":254779646680001,"price":"9466.13","direction":"buy"},{"amount":"16","ts":1573107227883,"id":254779741420000,"price":"9466.12","direction":"sell"},{"amount":"8","ts":1573107227883,"id":254779741420001,"price":"9466.12","direction":"sell"},{"amount":"22","ts":1573107227883,"id":254779741420002,"price":"9466.12","direction":"sell"},{"amount":"14","ts":1573107227883,"id":254779741420003,"price":"9466.12","direction":"sell"},{"amount":"2","ts":1573107229118,"id":254779767430000,"price":"9466.12","direction":"sell"}] + * id : 1573107232 + * rep : market.BTC_CQ.trade.detail + * status : ok + */ + + private Long id; + private String rep; + private String status; + private List data; + + + @Data + @AllArgsConstructor + public static class DataBean { + /** + * amount : 86 + * ts : 1573107201935 + * id : 254779168880000 + * price : 9467.67 + * direction : sell + */ + + private BigDecimal amount; + private Long ts; + private Long id; + private BigDecimal price; + private String direction; + + } +} diff --git a/src/main/java/com/huobi/wss/event/MarketTradeDetailSubResponse.java b/src/main/java/com/huobi/wss/event/MarketTradeDetailSubResponse.java new file mode 100644 index 0000000..57a2ae6 --- /dev/null +++ b/src/main/java/com/huobi/wss/event/MarketTradeDetailSubResponse.java @@ -0,0 +1,57 @@ +package com.huobi.wss.event; + +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class MarketTradeDetailSubResponse { + + /** + * ch : market.BTC_NW.trade.detail + * ts : 1539831709042 + * tick : {"id":265842227,"ts":1539831709001,"data":[{"amount":20,"ts":1539831709001,"id":265842227259096443,"price":6742.25,"direction":"buy"}]} + */ + + private String ch; + private Long ts; + private TickBean tick; + + + @Data + @AllArgsConstructor + public static class TickBean { + /** + * id : 265842227 + * ts : 1539831709001 + * data : [{"amount":20,"ts":1539831709001,"id":265842227259096443,"price":6742.25,"direction":"buy"}] + */ + + private Long id; + private Long ts; + private List data; + + + @Data + @AllArgsConstructor + public static class DataBean { + /** + * amount : 20 + * ts : 1539831709001 + * id : 265842227259096443 + * price : 6742.25 + * direction : buy + */ + + private BigDecimal amount; + private Long ts; + private Long id; + private BigDecimal price; + private String direction; + + } + } +} diff --git a/src/main/java/com/huobi/wss/event/MatchOrdersCrossSubResponse.java b/src/main/java/com/huobi/wss/event/MatchOrdersCrossSubResponse.java new file mode 100644 index 0000000..93476a3 --- /dev/null +++ b/src/main/java/com/huobi/wss/event/MatchOrdersCrossSubResponse.java @@ -0,0 +1,74 @@ +package com.huobi.wss.event; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@Builder +@AllArgsConstructor +public class MatchOrdersCrossSubResponse { + private String op; + private String topic; + private Long ts; + private String uid; + private String symbol; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("margin_mode") + private String marginMode; + @SerializedName("margin_account") + private String marginAccount; + private Integer status; + @SerializedName("order_id") + private Long orderId; + @SerializedName("order_id_str") + private String orderIdStr; + @SerializedName("client_order_id") + private Long clientOrderId; + @SerializedName("order_type") + private Integer orderType; + @SerializedName("trade_volume") + private BigDecimal tradeVolume; + private BigDecimal volume; + private String direction; + private String offset; + @SerializedName("lever_rate") + private Integer leverRate; + private BigDecimal price; + @SerializedName("created_at") + private Long createdAt; + @SerializedName("is_tpsl") + private Integer isTpsl; + @SerializedName("order_source") + private String orderSource; + @SerializedName("order_price_type") + private String orderPriceType; + @SerializedName("contract_type") + private String contractType; + private String pair; + @SerializedName("business_type") + private String businessType; + @SerializedName("reduce_only") + private Integer reduceOnly; + private List trade; + public static class Trade { + private String id; + @SerializedName("trade_id") + private Long tradeId; + @SerializedName("trade_price") + private BigDecimal tradePrice; + @SerializedName("trade_volume") + private BigDecimal tradeVolume; + @SerializedName("trade_turnover") + private BigDecimal tradeTurnover; + @SerializedName("created_at") + private Long createdAt; + private String role; + } + +} diff --git a/src/main/java/com/huobi/wss/event/MatchOrdersResponse.java b/src/main/java/com/huobi/wss/event/MatchOrdersResponse.java new file mode 100644 index 0000000..538d713 --- /dev/null +++ b/src/main/java/com/huobi/wss/event/MatchOrdersResponse.java @@ -0,0 +1,68 @@ +package com.huobi.wss.event; + + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@AllArgsConstructor +@Data +public class MatchOrdersResponse { + private String op; + private String topic; + private Long ts; + private String uid; + private String symbol; + @SerializedName("contract_code") + private String contractCode; + private Integer status; + @SerializedName("order_id") + private Long orderId; + @SerializedName("order_id_str") + private String orderIdStr; + @SerializedName("client_order_id") + private Long clientOrderId; + @SerializedName("order_type") + private String orderType; + @SerializedName("trade_volume") + private BigDecimal tradeVolume; + private BigDecimal volume; + private String direction; + private String offset; + @SerializedName("lever_rate") + private Integer leverRate; + private BigDecimal price; + @SerializedName("created_at") + private Long createdAt; + @SerializedName("order_source") + private String orderSource; + @SerializedName("order_price_type") + private String orderPriceType; + @SerializedName("margin_mode") + private String marginMode; + @SerializedName("margin_account") + private String marginAccount; + private List trade; + + @AllArgsConstructor + @Data + public static class TradeBean{ + private String id; + @SerializedName("trade_id") + private Long tradeId; + @SerializedName("trade_price") + private BigDecimal tradePrice; + @SerializedName("trade_volume") + private BigDecimal tradeVolume; + @SerializedName("trade_turnover") + private BigDecimal tradeTurnover; + @SerializedName("created_at") + private Long createdAt; + private String role; + + } + +} diff --git a/src/main/java/com/huobi/wss/event/MatchOrdersSubResponse.java b/src/main/java/com/huobi/wss/event/MatchOrdersSubResponse.java new file mode 100644 index 0000000..3e79dc5 --- /dev/null +++ b/src/main/java/com/huobi/wss/event/MatchOrdersSubResponse.java @@ -0,0 +1,71 @@ +package com.huobi.wss.event; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@Builder +@AllArgsConstructor +public class MatchOrdersSubResponse { + private String op; + private String topic; + private Long ts; + private String uid; + private String symbol; + @SerializedName("contract_code") + private String contractCode; + private Integer status; + @SerializedName("order_id") + private Long orderId; + @SerializedName("order_id_str") + private String orderIdStr; + @SerializedName("client_order_id") + private Long clientOrderId; + @SerializedName("order_type") + private Integer orderType; + @SerializedName("trade_volume") + private BigDecimal tradeVolume; + private BigDecimal volume; + private String direction; + private String offset; + @SerializedName("lever_rate") + private Integer leverRate; + private BigDecimal price; + @SerializedName("created_at") + private Long createdAt; + @SerializedName("order_source") + private String orderSource; + @SerializedName("order_price_type") + private String orderPriceType; + @SerializedName("margin_account") + private String marginAccount; + @SerializedName("margin_mode") + private String marginMode; + @SerializedName("is_tpsl") + private Integer isTpsl; + @SerializedName("reduce_only") + private Integer reduceOnly; + private List trade; + @Data + @Builder + @AllArgsConstructor + public static class Trade { + private String id; + @SerializedName("trade_id") + private Long tradeId; + @SerializedName("trade_price") + private BigDecimal tradePrice; + @SerializedName("trade_volume") + private BigDecimal tradeVolume; + @SerializedName("trade_turnover") + private BigDecimal tradeTurnover; + @SerializedName("created_at") + private Long createdAt; + private String role; + } +} diff --git a/src/main/java/com/huobi/wss/event/OrdersSubResponse.java b/src/main/java/com/huobi/wss/event/OrdersSubResponse.java new file mode 100644 index 0000000..6c3feca --- /dev/null +++ b/src/main/java/com/huobi/wss/event/OrdersSubResponse.java @@ -0,0 +1,143 @@ +package com.huobi.wss.event; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class OrdersSubResponse { + + + /** + * op : notify + * topic : orders.btc + * ts : 1583240402714 + * symbol : BTC + * contract_type : quarter + * contract_code : BTC200327 + * volume : 1 + * price : 8902.14 + * order_price_type : opponent + * direction : sell + * offset : close + * status : 6 + * lever_rate : 5 + * order_id : 684505389551849472 + * order_id_str : 684505389551849472 + * client_order_id : null + * order_source : android + * order_type : 1 + * created_at : 1583240402365 + * trade_volume : 1 + * trade_turnover : 100.0 + * fee : -2.246650805311E-6 + * trade_avg_price : 8902.14 + * margin_frozen : 0 + * profit : 4.45098478227E-5 + * trade : [{"id":"49664432704-684505389551849472-1","trade_id":49664432704,"trade_volume":1,"trade_price":8902.14,"trade_fee":-2.246650805311E-6,"trade_turnover":100,"created_at":1583240402556,"fee_asset":"BTC","role":"maker"}] + */ + + private String op; + private String topic; + private long ts; + private String uid; + private String symbol; + @SerializedName("contract_type") + private String contractType; + @SerializedName("contract_code") + private String contractCode; + private BigDecimal volume; + private BigDecimal price; + @SerializedName("order_price_type") + private String orderPriceType; + private String direction; + private String offset; + private int status; + @SerializedName("lever_rate") + private int leverRate; + @SerializedName("order_id") + private long orderId; + @SerializedName("order_id_str") + private String orderIdStr; + @SerializedName("client_order_id") + private long clientOrderId; + @SerializedName("order_source") + private String orderSource; + @SerializedName("order_type") + private int orderType; + @SerializedName("created_at") + private long createdAt; + @SerializedName("trade_volume") + private BigDecimal tradeVolume; + @SerializedName("trade_turnover") + private BigDecimal tradeTurnover; + private BigDecimal fee; + @SerializedName("trade_avg_price") + private BigDecimal tradeAvgPrice; + @SerializedName("margin_asset") + private String marginAsset; + @SerializedName("margin_frozen") + private BigDecimal marginFrozen; + private BigDecimal profit; + private List trade; + @SerializedName("liquidation_type") + private BigDecimal liquidationType; + @SerializedName("canceled_at") + private Long canceledAt; + @SerializedName("fee_asset") + private String feeAsset; + @SerializedName("margin_mode") + private String marginMode; + @SerializedName("margin_account") + private String marginAccount; + @SerializedName("is_tpsl") + private Integer isTpsl; + @SerializedName("real_profit") + private BigDecimal realProfit; + @SerializedName("reduce_only") + private Integer reduceOnly; + @SerializedName("canceled_source") + private String canceledSource; + + @Data + @AllArgsConstructor + public static class TradeBean { + /** + * id : 49664432704-684505389551849472-1 + * trade_id : 49664432704 + * trade_volume : 1 + * trade_price : 8902.14 + * trade_fee : -2.246650805311E-6 + * trade_turnover : 100.0 + * created_at : 1583240402556 + * fee_asset : BTC + * role : maker + */ + + private String id; + @SerializedName("trade_id") + private long tradeId; + @SerializedName("trade_volume") + private BigDecimal tradeVolume; + @SerializedName("trade_price") + private BigDecimal tradePrice; + @SerializedName("trade_fee") + private BigDecimal tradeFee; + @SerializedName("trade_turnover") + private BigDecimal tradeTurnover; + @SerializedName("created_at") + private long createdAt; + @SerializedName("fee_asset") + private String feeAsset; + private String role; + @SerializedName("real_profit") + private BigDecimal realProfit; + private BigDecimal profit; + private String price; + + } +} diff --git a/src/main/java/com/huobi/wss/event/PositionsSubResponse.java b/src/main/java/com/huobi/wss/event/PositionsSubResponse.java new file mode 100644 index 0000000..0151102 --- /dev/null +++ b/src/main/java/com/huobi/wss/event/PositionsSubResponse.java @@ -0,0 +1,87 @@ +package com.huobi.wss.event; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class PositionsSubResponse { + /** + * op : notify + * topic : positions + * ts : 1571740440561 + * event : init + * data : [{"symbol":"BTC","contract_code":"BTC191227","contract_type":"quarter","volume":35,"available":25,"frozen":10,"cost_open":8135.630996330059,"cost_hold":7963.82,"profit_unreal":0.0181957332654965,"profit_rate":0.2072142060453463,"profit":0.0089144864299505,"position_margin":0.04212918493267756,"lever_rate":10,"direction":"buy","last_price":8307.78},{"symbol":"BTC","contract_code":"BTC191227","contract_type":"quarter","volume":0,"available":0,"frozen":0,"cost_open":0,"cost_hold":0,"profit_unreal":0,"profit_rate":0,"profit":0,"position_margin":0,"lever_rate":10,"direction":"sell","last_price":8307.78}] + */ + + private String op; + private String topic; + private Long ts; + private String uid; + private String event; + private List data; + + @Data + @AllArgsConstructor + public static class DataBean { + /** + * symbol : BTC + * contract_code : BTC191227 + * contract_type : quarter + * volume : 35.0 + * available : 25.0 + * frozen : 10.0 + * cost_open : 8135.630996330059 + * cost_hold : 7963.82 + * profit_unreal : 0.0181957332654965 + * profit_rate : 0.2072142060453463 + * profit : 0.0089144864299505 + * position_margin : 0.04212918493267756 + * lever_rate : 10 + * direction : buy + * last_price : 8307.78 + */ + + private String symbol; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("contract_type") + private String contractType; + private BigDecimal volume; + private BigDecimal available; + private BigDecimal frozen; + @SerializedName("cost_open") + private BigDecimal costOpen; + @SerializedName("cost_hold") + private BigDecimal costHold; + @SerializedName("profit_unreal") + private BigDecimal profitUnreal; + @SerializedName("profit_rate") + private BigDecimal profitRate; + private BigDecimal profit; + @SerializedName("position_margin") + private BigDecimal positionMargin; + @SerializedName("lever_rate") + private Integer leverRate; + private String direction; + @SerializedName("last_price") + private BigDecimal lastPrice; + @SerializedName("margin_asset") + private String marginAsset; + @SerializedName("margin_mode") + private String marginMode; + @SerializedName("margin_account") + private String marginAccount; + @SerializedName("business_type") + private String businessType; + private String pair; + @SerializedName("position_mode") + private String positionMode; + @SerializedName("adl_risk_percent") + private BigDecimal adlRiskPercent; + } +} diff --git a/src/main/java/com/huobi/wss/event/PublicContractInfoFutureSubResponse.java b/src/main/java/com/huobi/wss/event/PublicContractInfoFutureSubResponse.java new file mode 100644 index 0000000..94d596d --- /dev/null +++ b/src/main/java/com/huobi/wss/event/PublicContractInfoFutureSubResponse.java @@ -0,0 +1,43 @@ +package com.huobi.wss.event; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class PublicContractInfoFutureSubResponse { + private String op; + private String topic; + private long ts; + private String event; + private List data; + + @Data + @AllArgsConstructor + public class DataBean { + private String symbol; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("contract_type") + private String contractType; + @SerializedName("contract_size") + private BigDecimal contractSize; + @SerializedName("price_tick") + private BigDecimal priceTick; + @SerializedName("delivery_date") + private String deliveryDate; + @SerializedName("create_date") + private String createDate; + @SerializedName("settlement_time") + private Long settlementTime; + @SerializedName("delivery_time") + private Long deliveryTime; + @SerializedName("contract_status") + private Integer contractStatus; + } + +} diff --git a/src/main/java/com/huobi/wss/event/PublicContractInfoResponse.java b/src/main/java/com/huobi/wss/event/PublicContractInfoResponse.java new file mode 100644 index 0000000..6aa96a8 --- /dev/null +++ b/src/main/java/com/huobi/wss/event/PublicContractInfoResponse.java @@ -0,0 +1,46 @@ +package com.huobi.wss.event; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class PublicContractInfoResponse { + private String op; + private String topic; + private Long ts; + private String event; + private List data; + @Data + @AllArgsConstructor + public static class DataBean { + private String symbol; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("contract_size") + private BigDecimal contractSize; + @SerializedName("price_tick") + private BigDecimal priceTick; + @SerializedName("settlement_date") + private String settlementDate; + @SerializedName("delivery_time") + private String deliveryTime; + @SerializedName("create_date") + private String createDate; + @SerializedName("contract_status") + private int contractStatus; + @SerializedName("support_margin_mode") + private String supportMarginMode; + @SerializedName("contract_type") + private String contractType; + private String pair; + @SerializedName("business_type") + private String businessType; + @SerializedName("delivery_date") + private String deliveryDate; + } +} diff --git a/src/main/java/com/huobi/wss/event/PublicFundingRateResponse.java b/src/main/java/com/huobi/wss/event/PublicFundingRateResponse.java new file mode 100644 index 0000000..717c7e1 --- /dev/null +++ b/src/main/java/com/huobi/wss/event/PublicFundingRateResponse.java @@ -0,0 +1,38 @@ +package com.huobi.wss.event; + +import com.google.gson.annotations.SerializedName; +import com.huobi.api.response.coin_swap.market.SwapBatchFundingRateResponse; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.util.List; + +@Data +@Builder +@AllArgsConstructor +public class PublicFundingRateResponse { + private String op; + private String topic; + private Long ts; + private List data; + + @Data + @Builder + @AllArgsConstructor + public static class DataBean{ + private String symbol; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("fee_asset") + private String feeAsset; + @SerializedName("funding_time") + private String fundingTime; + @SerializedName("funding_rate") + private String fundingRate; + @SerializedName("estimated_rate") + private String estimatedRate; + @SerializedName("settlement_time") + private String settlementTime; + } +} diff --git a/src/main/java/com/huobi/wss/event/PublicHeartbeatSubResponse.java b/src/main/java/com/huobi/wss/event/PublicHeartbeatSubResponse.java new file mode 100644 index 0000000..e9c35e4 --- /dev/null +++ b/src/main/java/com/huobi/wss/event/PublicHeartbeatSubResponse.java @@ -0,0 +1,25 @@ +package com.huobi.wss.event; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +@Data +@Builder +@AllArgsConstructor +public class PublicHeartbeatSubResponse { + private String op; + private String topic; + private String event; + private Long ts; + private DataBean data; + @Data + @Builder + @AllArgsConstructor + public static class DataBean { + private Integer heartbeat; + @SerializedName("estimated_recovery_time") + private Long estimatedRecoveryTime; + } +} diff --git a/src/main/java/com/huobi/wss/event/PublicSubResponse.java b/src/main/java/com/huobi/wss/event/PublicSubResponse.java new file mode 100644 index 0000000..c28a313 --- /dev/null +++ b/src/main/java/com/huobi/wss/event/PublicSubResponse.java @@ -0,0 +1,38 @@ +package com.huobi.wss.event; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class PublicSubResponse { + private String op; + private String topic; + private long ts; + private List data; + @Data + @AllArgsConstructor + public static class DataBean { + private String symbol; + @SerializedName("contract_code") + private String contractCode; + private String direction; + private String offset; + private BigDecimal volume; + private BigDecimal amount; + @SerializedName("trade_turnover") + private BigDecimal tradeTurnover; + private BigDecimal price; + @SerializedName("created_at") + private long createdAt; + @SerializedName("contract_type") + private String contractType; + private String pair; + @SerializedName("business_type") + private String businessType; + } +} diff --git a/src/main/java/com/huobi/wss/event/SwapContractElementSubResponse.java b/src/main/java/com/huobi/wss/event/SwapContractElementSubResponse.java new file mode 100644 index 0000000..d1c17e0 --- /dev/null +++ b/src/main/java/com/huobi/wss/event/SwapContractElementSubResponse.java @@ -0,0 +1,49 @@ +package com.huobi.wss.event; +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class SwapContractElementSubResponse { + public String op; + public String topic; + public long ts; + public Data data; + + public static class Data { + public String contract_code; + public String instrument_index_code; + public Integer real_time_settlement; + public BigDecimal transfer_profit_ratio; + public Integer min_level; + public Integer max_level; + public List contract_infos; + public Integer open_order_limit; + public Integer offset_order_limit; + public Integer long_position_limit; + public Integer short_position_limit; + public String price_tick; + public String instrument_value; + public Integer settle_period; + public Integer funding_rate_cap; + public Integer funding_rate_floor; + public Integer hig_normal_limit; + public Integer min_normal_limit; + public Integer hig_open_limit; + public Integer min_open_limit; + public Integer hig_trade_limit; + public Integer min_trade_limit; + } + + public static class ContractInfo { + public String contract_code; + public String delivery_time; + public String create_date; + public Integer contract_status; + public String settlement_date; + } +} diff --git a/src/main/java/com/huobi/wss/event/SymbolContractElementSubResponse.java b/src/main/java/com/huobi/wss/event/SymbolContractElementSubResponse.java new file mode 100644 index 0000000..54cf057 --- /dev/null +++ b/src/main/java/com/huobi/wss/event/SymbolContractElementSubResponse.java @@ -0,0 +1,78 @@ +package com.huobi.wss.event; +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +public class SymbolContractElementSubResponse { + private String op; + private String topic; + private Long ts; + private List data; + public static class Data { + private String contract_code; + private String instrument_index_code; + private Integer real_time_settlement; + private Number transfer_profit_ratio; + private Integer min_level; + private Integer max_level; + private List contract_infos; + private String delivery_time; + private String create_date; + private Integer contract_status; + private String delivery_date; + private Integer open_order_limit; + private Integer offset_order_limit; + private Integer long_position_limit; + private Integer short_position_limit; + private Integer week_hig_normal_limit; + private Integer week_min_normal_limit; + private Integer week_hig_open_limit; + private Integer week_min_open_limit; + private Integer week_hig_trade_limit; + private Integer week_min_trade_limit; + private Integer biweek_hig_normal_limit; + private Integer biweek_min_normal_limit; + private Integer biweek_hig_open_limit; + private Integer biweek_min_open_limit; + private Integer biweek_hig_trade_limit; + private Integer biweek_min_trade_limit; + private Integer quarter_hig_normal_limit; + private Integer quarter_min_normal_limit; + private Integer quarter_hig_open_limit; + private Integer quarter_min_open_limit; + private Integer quarter_hig_trade_limit; + private Integer quarter_min_trade_limit; + private Integer biquarter_hig_normal_limit; + private Integer biquarter_min_normal_limit; + private Integer biquarter_hig_open_limit; + private Integer biquarter_min_open_limit; + private Integer biquarter_hig_trade_limit; + private Integer biquarter_min_trade_limit; + private List instrument_type; + private List order_limits; + } + + public static class ContractInfo { + private String contract_code; + private List instrument_type; + private String delivery_time; + private String create_date; + private Integer contract_status; + private String delivery_date; + + // Getters and setters + } + + public static class OrderLimit { + private Integer instrument_type; + private String open; + private String close; + + // Getters and setters + } +} diff --git a/src/main/java/com/huobi/wss/event/TriggerOrderCrossSubResponse.java b/src/main/java/com/huobi/wss/event/TriggerOrderCrossSubResponse.java new file mode 100644 index 0000000..017a78d --- /dev/null +++ b/src/main/java/com/huobi/wss/event/TriggerOrderCrossSubResponse.java @@ -0,0 +1,78 @@ +package com.huobi.wss.event; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@Builder +@AllArgsConstructor +public class TriggerOrderCrossSubResponse { + private String op; + private String topic; + private Long ts; + private String uid; + private String event; + private List data; + @Data + @Builder + @AllArgsConstructor + public static class DataBean { + private String symbol; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("margin_mode") + private String marginMode; + @SerializedName("margin_account") + private String marginAccount; + @SerializedName("trigger_type") + private String triggerType; + private BigDecimal volume; + @SerializedName("order_type") + private Integer orderType; + private String direction; + private String offset; + @SerializedName("lever_rate") + private Integer leverRate; + @SerializedName("order_id") + private BigDecimal orderId; + @SerializedName("order_id_str") + private String orderIdStr; + @SerializedName("relation_order_id") + private String relationOrderId; + @SerializedName("order_price_type") + private String orderPriceType; + private Integer status; + @SerializedName("order_source") + private String orderSource; + @SerializedName("trigger_price") + private BigDecimal triggerPrice; + @SerializedName("triggered_price") + private BigDecimal triggeredPrice; + @SerializedName("order_price") + private BigDecimal orderPrice; + @SerializedName("created_at") + private Long createdAt; + @SerializedName("triggered_at") + private Long triggeredAt; + @SerializedName("order_insert_at") + private Long orderInsertAt; + @SerializedName("canceled_at") + private Long canceledAt; + @SerializedName("fail_code") + private Integer failCode; + @SerializedName("fail_reason") + private String failReason; + @SerializedName("contract_type") + private String contractType; + private String pair; + @SerializedName("business_type") + private String businessType; + @SerializedName("reduce_only") + private Integer reduceOnly; + } +} diff --git a/src/main/java/com/huobi/wss/event/TriggerOrderSubResponse.java b/src/main/java/com/huobi/wss/event/TriggerOrderSubResponse.java new file mode 100644 index 0000000..9499135 --- /dev/null +++ b/src/main/java/com/huobi/wss/event/TriggerOrderSubResponse.java @@ -0,0 +1,73 @@ +package com.huobi.wss.event; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@Builder +@AllArgsConstructor +public class TriggerOrderSubResponse { + private String op; + private String topic; + private Long ts; + private String uid; + private String event; + private List data; + @Data + @Builder + @AllArgsConstructor + public static class DataBean { + private String symbol; + @SerializedName("contract_code") + private String contractCode; + @SerializedName("trigger_type") + private String triggerType; + private BigDecimal volume; + @SerializedName("order_type") + private int orderType; + private String direction; + private String offset; + @SerializedName("lever_rate") + private Integer leverRate; + @SerializedName("order_id") + private BigDecimal orderId; + @SerializedName("order_id_str") + private String orderIdStr; + @SerializedName("relation_order_id") + private String relationOrderId; + @SerializedName("order_price_type") + private String orderPriceType; + private Integer status; + @SerializedName("order_source") + private String orderSource; + @SerializedName("trigger_price") + private BigDecimal triggerPrice; + @SerializedName("triggered_price") + private BigDecimal triggeredPrice; + @SerializedName("order_price") + private BigDecimal orderPrice; + @SerializedName("created_at") + private Long createdAt; + @SerializedName("triggered_at") + private Long triggeredAt; + @SerializedName("order_insert_at") + private Long orderInsertAt; + @SerializedName("canceled_at") + private Long canceledAt; + @SerializedName("margin_account") + private String marginAccount; + @SerializedName("margin_mode") + private String marginMode; + @SerializedName("fail_code") + private Integer failCode; + @SerializedName("fail_reason") + private String failReason; + @SerializedName("reduce_only") + private Integer reduceOnly; + } +} diff --git a/src/main/java/com/huobi/wss/handle/WssMarketHandle.java b/src/main/java/com/huobi/wss/handle/WssMarketHandle.java new file mode 100644 index 0000000..dfdd318 --- /dev/null +++ b/src/main/java/com/huobi/wss/handle/WssMarketHandle.java @@ -0,0 +1,163 @@ +package com.huobi.wss.handle; + +import com.alibaba.fastjson.JSONObject; +import com.huobi.wss.SubscriptionListener; +import com.huobi.wss.util.ZipUtil; +import org.java_websocket.client.WebSocketClient; +import org.java_websocket.handshake.ServerHandshake; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.net.URI; +import java.net.URISyntaxException; +import java.nio.ByteBuffer; +import java.util.List; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; +import java.util.concurrent.ScheduledExecutorService; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.atomic.AtomicLong; + +/** + * 合约站行情推送处理器 + */ +public class WssMarketHandle implements Cloneable { + + private final Logger logger = LoggerFactory.getLogger(getClass()); + + private ScheduledExecutorService scheduledExecutorService = Executors.newScheduledThreadPool(2); + private ExecutorService fixedThreadPool = Executors.newFixedThreadPool(1); + + private WebSocketClient webSocketClient; + private String pushUrl = "";//合约站行情请求以及订阅地址 + AtomicLong pong = new AtomicLong(0); + private Long lastPingTime = System.currentTimeMillis(); + + + public WssMarketHandle() { + + } + + public WssMarketHandle(String pushUrl) { + this.pushUrl = pushUrl; + } + + public void sub(List channels, SubscriptionListener callback) throws URISyntaxException { + doConnect(channels, callback); + } + + + private void doConnect(List channels, SubscriptionListener callback) throws URISyntaxException { + + + webSocketClient = new WebSocketClient(new URI(pushUrl)) { + + @Override + public void onOpen(ServerHandshake serverHandshake) { + logger.debug("onOpen Success"); + doSub(channels); + dealReconnect(); + } + + + @Override + public void onMessage(String s) { + logger.debug("onMessage:{}", s); + } + + @Override + public void onMessage(ByteBuffer bytes) { + fixedThreadPool.execute(() -> { + try { + lastPingTime = System.currentTimeMillis(); + String message = new String(ZipUtil.decompress(bytes.array()), "UTF-8"); + JSONObject JSONMessage = JSONObject.parseObject(message); + Object ch = JSONMessage.get("ch"); + Object ping = JSONMessage.get("ping"); + + if (ch != null) { + callback.onReceive(message); + } + if (ping != null) { + dealPing(); + } + + } catch (Throwable e) { + logger.error("onMessage异常", e); + } + }); + } + + @Override + public void onClose(int i, String s, boolean b) { + logger.error("onClose i:{},s:{},b:{}", i, s, b); + } + + @Override + public void onError(Exception e) { + logger.error("onError:", e); + } + }; + + webSocketClient.connect(); + + } + + + public void close() { + webSocketClient.connect(); + } + + + private void doSub(List channels) { + channels.stream().forEach(e -> { + JSONObject sub = new JSONObject(); + sub.put("sub", e); + webSocketClient.send(sub.toString()); + }); + } + + + private void dealPing() { + try { + JSONObject jsonMessage = new JSONObject(); + jsonMessage.put("pong", pong.incrementAndGet()); + logger.debug("发送pong:{}", jsonMessage.toString()); + webSocketClient.send(jsonMessage.toString()); + } catch (Throwable t) { + logger.error("dealPing出现了异常"); + } + } + + + private void dealReconnect() { + try { + scheduledExecutorService.scheduleAtFixedRate(new Runnable() { + @Override + public void run() { + + try { + if ((webSocketClient.isClosed() && !webSocketClient.isClosing())) { + logger.error("isClosed:{},isClosing:{},准备重连", webSocketClient.isClosed(), webSocketClient.isClosing()); + Boolean reconnectResult = webSocketClient.reconnectBlocking(); + logger.error("重连的结果为:{}", reconnectResult); + if (!reconnectResult) { + webSocketClient.closeBlocking(); + logger.error("closeBlocking"); + } + + } + } catch (Throwable e) { + logger.error("dealReconnect异常", e); + } + + } + }, 60, 10, TimeUnit.SECONDS); + } catch (Exception e) { + logger.error("dealReconnect scheduledExecutorService异常", e); + } + + } + + +} diff --git a/src/main/java/com/huobi/wss/handle/WssMarketReqHandle.java b/src/main/java/com/huobi/wss/handle/WssMarketReqHandle.java new file mode 100644 index 0000000..c3a8910 --- /dev/null +++ b/src/main/java/com/huobi/wss/handle/WssMarketReqHandle.java @@ -0,0 +1,137 @@ +package com.huobi.wss.handle; + +import com.alibaba.fastjson.JSONObject; +import com.huobi.wss.SubscriptionListener; +import com.huobi.wss.util.ZipUtil; +import org.java_websocket.client.WebSocketClient; +import org.java_websocket.handshake.ServerHandshake; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.net.URI; +import java.net.URISyntaxException; +import java.nio.ByteBuffer; +import java.util.concurrent.Executors; +import java.util.concurrent.ScheduledExecutorService; +import java.util.concurrent.TimeUnit; + +/** + * 合约站行情请求处理器 + */ +public class WssMarketReqHandle { + + private final Logger logger = LoggerFactory.getLogger(getClass()); + private ScheduledExecutorService scheduledExecutorService = Executors.newScheduledThreadPool(1); + private WebSocketClient webSocketClient; + private String pushUrl;//合约站行情请求地址 + private Long lastPingTime = System.currentTimeMillis(); + + + public WssMarketReqHandle(String pushUrl, SubscriptionListener callBack) throws URISyntaxException, InterruptedException { + this.pushUrl = pushUrl; + doConnect(callBack); + } + + + private void doConnect(SubscriptionListener callBack) throws URISyntaxException, InterruptedException { + webSocketClient = new WebSocketClient(new URI(pushUrl)) { + + @Override + public void onOpen(ServerHandshake serverHandshake) { + logger.debug("onOpen Success"); + dealReconnect(); + dealPing(); + } + + + @Override + public void onMessage(String s) { + logger.debug("onMessage:{}", s); + } + + @Override + public void onMessage(ByteBuffer bytes) { + try { + lastPingTime=System.currentTimeMillis(); + String message = new String(ZipUtil.decompress(bytes.array()), "UTF-8"); + JSONObject JSONMessage = JSONObject.parseObject(message); + Object ch = JSONMessage.get("data"); + Object ping = JSONMessage.get("ping"); + + if (ch != null) { + callBack.onReceive(message); + } + if (ping != null) { + dealPing(); + } + } catch (Exception e) { + e.printStackTrace(); + } + + + } + + @Override + public void onClose(int i, String s, boolean b) { + logger.error("onClose i:{},s:{},b:{}", i, s, b); + } + + @Override + public void onError(Exception e) { + logger.error("onError:{}", e); + } + }; + + webSocketClient.connectBlocking(); + + } + + + public void doReq(String channel) { + webSocketClient.send(channel); + } + + + private void dealReconnect() { + try { + scheduledExecutorService.scheduleAtFixedRate(new Runnable() { + @Override + public void run() { + + try { + if ((webSocketClient.isClosed() && !webSocketClient.isClosing())) { + logger.error("isClosed:{},isClosing:{},准备重连", webSocketClient.isClosed(), webSocketClient.isClosing()); + Boolean reconnectResult = webSocketClient.reconnectBlocking(); + logger.error("重连的结果为:{}", reconnectResult); + if (!reconnectResult) { + webSocketClient.closeBlocking(); + logger.error("closeBlocking"); + } + + } + } catch (Throwable e) { + logger.error("dealReconnect异常", e); + } + + } + }, 60, 10, TimeUnit.SECONDS); + } catch (Exception e) { + logger.error("dealReconnect scheduledExecutorService异常", e); + } + + } + + + private void dealPing() { + try { + JSONObject jsonMessage = new JSONObject(); + jsonMessage.put("pong", System.currentTimeMillis()); + logger.debug("发送pong:{}", jsonMessage.toString()); + webSocketClient.send(jsonMessage.toString()); + } catch (Throwable t) { + logger.error("dealPing出现了异常"); + } + } + + +} diff --git a/src/main/java/com/huobi/wss/handle/WssNotificationHandle.java b/src/main/java/com/huobi/wss/handle/WssNotificationHandle.java new file mode 100644 index 0000000..99c9628 --- /dev/null +++ b/src/main/java/com/huobi/wss/handle/WssNotificationHandle.java @@ -0,0 +1,213 @@ +package com.huobi.wss.handle; + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import com.huobi.wss.SubscriptionListener; +import com.huobi.wss.util.ApiSignature; +import com.huobi.wss.util.ApiSignatureEd25519; +import com.huobi.wss.util.ZipUtil; +import org.java_websocket.client.WebSocketClient; +import org.java_websocket.handshake.ServerHandshake; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.util.StringUtils; + +import java.net.URI; +import java.net.URISyntaxException; +import java.nio.ByteBuffer; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; +import java.util.concurrent.ScheduledExecutorService; +import java.util.concurrent.TimeUnit; + +/** + * 合约站订单推送处理器 + */ +public class WssNotificationHandle { + + private final Logger logger = LoggerFactory.getLogger(getClass()); + private ScheduledExecutorService scheduledExecutorService = Executors.newScheduledThreadPool(1); + private ExecutorService executorService = Executors.newFixedThreadPool(10); + private WebSocketClient webSocketClient; + private String accessKey; + private String secretKey; + private String sign; + private String host; + private String url; + private String pushUrl;//订单推送访问地址 + private Long lastPingTime = System.currentTimeMillis(); + + + public WssNotificationHandle(String host,String url, String accessKey, String secretKey,String sign) { + this.host = host; + this.url=url; + this.accessKey = accessKey; + this.secretKey = secretKey; + this.sign = sign; + } + + public void sub(List channels, SubscriptionListener callback) throws URISyntaxException { + doConnect(channels, callback); + } + + + private void doConnect(List channels, SubscriptionListener callback) throws URISyntaxException { + pushUrl="wss://" + host + url; + webSocketClient = new WebSocketClient(new URI(pushUrl)) { + + @Override + public void onOpen(ServerHandshake serverHandshake) { + addAuth(); + doSub(channels); + dealReconnect(); + } + + + @Override + public void onMessage(String s) { + logger.debug("onMessage:{}", s); + } + + @Override + public void onMessage(ByteBuffer bytes) { + executorService.execute(() -> { + try { + lastPingTime = System.currentTimeMillis(); + String message = new String(ZipUtil.decompress(bytes.array()), "UTF-8"); + JSONObject JSONMessage = JSONObject.parseObject(message); + Object op = JSONMessage.get("op"); + if (op != null && op.toString().equalsIgnoreCase("notify")) { + callback.onReceive(message); + } + + if (op != null && op.toString().equalsIgnoreCase("ping")) { + dealPing(Long.valueOf(JSONMessage.get("ts").toString())); + } + + + } catch (Exception e) { + e.printStackTrace(); + } + + }); + + } + + @Override + public void onClose(int i, String s, boolean b) { + logger.error("onClose i:{},s:{},b:{}", i, s, b); + } + + @Override + public void onError(Exception e) { + logger.error("onError:{}", e); + } + }; + + webSocketClient.connect(); + } + + + private void doSub(List channels) { + channels.stream().forEach(e -> { + JSONObject sub = new JSONObject(); + sub.put("op", "sub"); + sub.put("topic", e); + webSocketClient.send(sub.toString()); + }); + } + + + private void dealPing(Long ts) { + try { + JSONObject jsonMessage = new JSONObject(); + jsonMessage.put("op", "pong"); + jsonMessage.put("ts", ts); + logger.debug("发送pong:{}", ts); + webSocketClient.send(jsonMessage.toString()); + } catch (Throwable t) { + logger.error("dealPing出现了异常", t); + } + + + } + + + public void addAuth() { + if (StringUtils.isEmpty(secretKey) || StringUtils.isEmpty(accessKey)) { + return; + } + Map map = new HashMap<>(); + if(this.sign.equals("256")){ + ApiSignature as = new ApiSignature(); + try { + + //组合签名map + //Combined signature map + as.createSignature(accessKey, secretKey, "GET", host, url, map); + } catch (Exception e) { + e.printStackTrace(); + } + map.put("op", "auth"); + map.put("type", "api"); + String req = JSON.toJSONString(map); + logger.info("before send "); + webSocketClient.send(req); + logger.info("after send "); + + }else{ + ApiSignatureEd25519 as = new ApiSignatureEd25519(); + try { + + //组合签名map + //Combined signature map + as.createSignature(accessKey, secretKey, "GET", host, url, map); + } catch (Exception e) { + e.printStackTrace(); + } + map.put("op", "auth"); + map.put("type", "api"); + String req = JSON.toJSONString(map); + logger.info("before send "); + webSocketClient.send(req); + logger.info("after send "); + + } + + } + + + private void dealReconnect() { + try { + scheduledExecutorService.scheduleAtFixedRate(new Runnable() { + @Override + public void run() { + + try { + if ((webSocketClient.isClosed() && !webSocketClient.isClosing())) { + logger.error("isClosed:{},isClosing:{},准备重连", webSocketClient.isClosed(), webSocketClient.isClosing()); + Boolean reconnectResult = webSocketClient.reconnectBlocking(); + logger.error("重连的结果为:{}", reconnectResult); + if (!reconnectResult) { + webSocketClient.closeBlocking(); + logger.error("closeBlocking"); + } + + } + } catch (Throwable e) { + logger.error("dealReconnect异常", e); + } + + } + }, 60, 10, TimeUnit.SECONDS); + } catch (Exception e) { + logger.error("dealReconnect scheduledExecutorService异常", e); + } + + } + + +} diff --git a/src/main/java/com/huobi/wss/request/WssRequest.java b/src/main/java/com/huobi/wss/request/WssRequest.java new file mode 100644 index 0000000..a80e883 --- /dev/null +++ b/src/main/java/com/huobi/wss/request/WssRequest.java @@ -0,0 +1,15 @@ +package com.huobi.wss.request; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +@Data +@AllArgsConstructor +@Builder +public class WssRequest { + private String req; // 交易对 如"BTC_CW"表示BTC当周合约,"BTC_NW"表示BTC次周合约,"BTC_CQ"表示BTC季度合约 + private String id; + private Long from;//开始时间 2017-07-28T00:00:00+08:00 至2050-01-01T00:00:00+08:00 之间的时间点,单位:秒" + private Long to; //结束时间 2017-07-28T00:00:00+08:00 至2050-01-01T00:00:00+08:00 之间的时间点,单位:秒,必须比 from 大" +} diff --git a/src/main/java/com/huobi/wss/util/ApiSignature.java b/src/main/java/com/huobi/wss/util/ApiSignature.java new file mode 100644 index 0000000..84a25d6 --- /dev/null +++ b/src/main/java/com/huobi/wss/util/ApiSignature.java @@ -0,0 +1,141 @@ +package com.huobi.wss.util; + +import javax.crypto.Mac; +import javax.crypto.spec.SecretKeySpec; +import java.io.UnsupportedEncodingException; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.security.InvalidKeyException; +import java.security.NoSuchAlgorithmException; +import java.time.Instant; +import java.time.ZoneId; +import java.time.format.DateTimeFormatter; +import java.util.Base64; +import java.util.Map; +import java.util.SortedMap; +import java.util.TreeMap; + +public class ApiSignature { + public static String op = "op"; + public static String opValue = "auth"; + public static String accessKeyId = "AccessKeyId"; + public static String signatureMethod = "SignatureMethod"; + public static String signatureMethodValue = "HmacSHA256"; + public static String signatureVersion = "SignatureVersion"; + public static String signatureVersionValue = "2"; + public static String timestamp = "Timestamp"; + public static String signature = "Signature"; + /** + * API 签名, 签名标准: API Signature, the standard + */ + + static final DateTimeFormatter DT_FORMAT = DateTimeFormatter.ofPattern("uuuu-MM-dd'T'HH:mm:ss"); + static final ZoneId ZONE_GMT = ZoneId.of("Z"); + + /** + * 添加参数AccessKeyId、时间戳、SignatureVersion、SignatureMethod、Signature。 + * SignatureMethod、Signature。 Add parameter of AccessKeyId, Timestamp, SignatureVersion, SignatureMethod, Signature. + * + * @param accessKey + * AppKeyId. + * @param secretKey + * AppKeySecret. + * @param method + * 请求方法 ,"GET" or "POST" + * Request method:"GET" or "POST" + * @param host + * 请求地址,example "wss://api.hbdm.com" + * Request address example:"wss://api.hbdm.com" + * @param uri + * 请求路径 path ,example: "/notification" + * Request path example:"/notification" + * @param params + * the original parameters, save as Key-Value ,Don't encode Value + */ + public void createSignature(String accessKey, String secretKey, String method, String host, String uri, + Map params) { + StringBuilder sb = new StringBuilder(1024); + + // 1.请求方法 (GET or POST) 在后边加上`\n`. + // 1。Request method (GET or POST) appending '\n' after it + sb.append(method.toUpperCase()).append('\n') + // 2. 小写的host 在后边加上 `\n`. + // 2.Lowercase host appending '\n' after it. + .append(host.toLowerCase()).append('\n') + // 3. 请求路径, 在后边加上 `\n`. + // 3. Request path, appending '\n' after it. + .append(uri).append('\n'); + + // 4.将签名按ASCII 排名 + // 4. Rank the signature according to ASCII + params.remove(signature); + params.put(accessKeyId, accessKey); + params.put(signatureVersion, signatureVersionValue); + params.put(signatureMethod, signatureMethodValue); + params.put(timestamp, gmtNow()); + + // 按照上面的顺序,将每个参数与字符“&”连接。 + // Following the sequence above, link each parameter and string with "&" + SortedMap map = new TreeMap<>(params); + for (Map.Entry entry : map.entrySet()) { + String key = entry.getKey(); + String value = entry.getValue(); + sb.append(key).append('=').append(urlEncode(value)).append('&'); + } + // 删除最后的 `&` + // Delete the last '&' + sb.deleteCharAt(sb.length() - 1); + // 签名: + // Signature: + Mac hmacSha256 = null; + try { + hmacSha256 = Mac.getInstance(signatureMethodValue); + SecretKeySpec secKey = new SecretKeySpec(secretKey.getBytes(StandardCharsets.UTF_8), signatureMethodValue); + hmacSha256.init(secKey); + } catch (NoSuchAlgorithmException e) { + throw new RuntimeException("No such algorithm: " + e.getMessage()); + } catch (InvalidKeyException e) { + throw new RuntimeException("Invalid key: " + e.getMessage()); + } + String payload = sb.toString(); + byte[] hash = hmacSha256.doFinal(payload.getBytes(StandardCharsets.UTF_8)); + + // 获取签名,并进行Base64编码 + // Acquire the signature and encode it with Base64 encoder + String actualSign = Base64.getEncoder().encodeToString(hash); + + // 将签名放入params + // Put signature into params + params.put(signature, actualSign); + + } + + /** + * 使用标准的URL编码 + * Encode with standard URL encoder + * + * @param s string + * @return 编码结果 + * @return return coding result + */ + public static String urlEncode(String s) { + try { + return URLEncoder.encode(s, "UTF-8").replaceAll("\\+", "%20"); + } catch (UnsupportedEncodingException e) { + throw new IllegalArgumentException("UTF-8 encoding not supported!"); + } + } + + /** + * 返回秒数 + * Return epoch second + */ + long epochNow() { + return Instant.now().getEpochSecond(); + } + + String gmtNow() { + return Instant.ofEpochSecond(epochNow()).atZone(ZONE_GMT).format(DT_FORMAT); + } + +} diff --git a/src/main/java/com/huobi/wss/util/ApiSignatureEd25519.java b/src/main/java/com/huobi/wss/util/ApiSignatureEd25519.java new file mode 100644 index 0000000..6430f61 --- /dev/null +++ b/src/main/java/com/huobi/wss/util/ApiSignatureEd25519.java @@ -0,0 +1,131 @@ +package com.huobi.wss.util; + +import org.bouncycastle.asn1.pkcs.PrivateKeyInfo; +import org.bouncycastle.crypto.params.Ed25519PrivateKeyParameters; +import org.bouncycastle.crypto.signers.Ed25519Signer; +import org.bouncycastle.openssl.PEMParser; +import org.bouncycastle.openssl.jcajce.JcaPEMKeyConverter; + +import javax.crypto.Mac; +import javax.crypto.spec.SecretKeySpec; +import java.io.StringReader; +import java.io.UnsupportedEncodingException; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.security.InvalidKeyException; +import java.security.NoSuchAlgorithmException; +import java.time.Instant; +import java.time.ZoneId; +import java.time.format.DateTimeFormatter; +import java.util.Base64; +import java.util.Map; +import java.util.SortedMap; +import java.util.TreeMap; +import org.bouncycastle.asn1.pkcs.PrivateKeyInfo; +import org.bouncycastle.crypto.params.Ed25519PrivateKeyParameters; +import org.bouncycastle.crypto.params.Ed25519PublicKeyParameters; +import org.bouncycastle.crypto.signers.Ed25519Signer; +import org.bouncycastle.crypto.util.PrivateKeyFactory; +import org.bouncycastle.crypto.util.PublicKeyFactory; +import org.bouncycastle.jce.provider.BouncyCastleProvider; +import org.bouncycastle.openssl.PEMParser; +import org.bouncycastle.openssl.jcajce.JcaPEMKeyConverter; + +import org.bouncycastle.jce.provider.BouncyCastleProvider; +import org.bouncycastle.openssl.PEMParser; +import org.bouncycastle.openssl.jcajce.JcaPEMKeyConverter; +public class ApiSignatureEd25519 { + public static String op = "op"; + public static String opValue = "auth"; + public static String accessKeyId = "AccessKeyId"; + public static String signatureMethod = "SignatureMethod"; + public static String signatureMethodValue = "HmacSHA256"; + public static String signatureVersion = "SignatureVersion"; + public static String signatureVersionValue = "2"; + public static String timestamp = "Timestamp"; + public static String signature = "Signature"; + /** + * API 签名, 签名标准: API Signature, the standard + */ + + static final DateTimeFormatter DT_FORMAT = DateTimeFormatter.ofPattern("uuuu-MM-dd'T'HH:mm:ss"); + static final ZoneId ZONE_GMT = ZoneId.of("Z"); + + public void createSignature(String base64PublicKey, String base64PrivateKey, String method, String host, String uri, + Map params) { + StringBuilder sb = new StringBuilder(1024); + + // 1.请求方法 (GET or POST) 在后边加上`\n`. + sb.append(method.toUpperCase()).append('\n') + // 2. 小写的host 在后边加上 `\n`. + .append(host.toLowerCase()).append('\n') + // 3. 请求路径, 在后边加上 `\n`. + .append(uri).append('\n'); + + // 4.将签名按ASCII 排名 + params.remove("Signature"); + params.put("AccessKeyId", base64PublicKey); + params.put("SignatureVersion", "2"); + params.put("SignatureMethod", "ED25519"); + params.put("Timestamp", gmtNow()); + + // 按照上面的顺序,将每个参数与字符“&”连接。 + SortedMap map = new TreeMap<>(params); + for (Map.Entry entry : map.entrySet()) { + String key = entry.getKey(); + String value = entry.getValue(); + sb.append(key).append('=').append(urlEncode(value)).append('&'); + } + // 删除最后的 `&` + sb.deleteCharAt(sb.length() - 1); + + // 使用 ED25519 进行签名 + Ed25519PrivateKeyParameters privateKey = null; + + // 从 PEM 格式中提取私钥 + try (PEMParser pemParser = new PEMParser(new StringReader(base64PrivateKey))) { + Object object = pemParser.readObject(); + if (object instanceof PrivateKeyInfo) { + JcaPEMKeyConverter converter = new JcaPEMKeyConverter(); + java.security.PrivateKey javaPrivateKey = converter.getPrivateKey((PrivateKeyInfo) object); + privateKey = (Ed25519PrivateKeyParameters) PrivateKeyFactory.createKey(javaPrivateKey.getEncoded()); + } else { + throw new IllegalArgumentException("Invalid PEM format: not a private key"); + } + } catch (Exception e) { + throw new RuntimeException("Error loading private key: " + e.getMessage(), e); + } + + // 使用 ED25519 进行签名 + Ed25519Signer signer = new Ed25519Signer(); + signer.init(true, privateKey); + signer.update(sb.toString().getBytes(StandardCharsets.UTF_8), 0, sb.length()); + byte[] signatureBytes = signer.generateSignature(); + String actualSign = Base64.getEncoder().encodeToString(signatureBytes); + + // 将签名放入params + params.put(signature, actualSign); + } + + + public static String urlEncode(String s) { + try { + return URLEncoder.encode(s, "UTF-8").replaceAll("\\+", "%20"); + } catch (UnsupportedEncodingException e) { + throw new IllegalArgumentException("UTF-8 encoding not supported!"); + } + } + + /** + * 返回秒数 + * Return epoch second + */ + long epochNow() { + return Instant.now().getEpochSecond(); + } + + String gmtNow() { + return Instant.ofEpochSecond(epochNow()).atZone(ZONE_GMT).format(DT_FORMAT); + } + +} diff --git a/src/main/java/com/huobi/wss/util/ZipUtil.java b/src/main/java/com/huobi/wss/util/ZipUtil.java new file mode 100644 index 0000000..6374c32 --- /dev/null +++ b/src/main/java/com/huobi/wss/util/ZipUtil.java @@ -0,0 +1,36 @@ +package com.huobi.wss.util; + +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.util.zip.GZIPInputStream; + +public class ZipUtil { + + /** + * 解压客户端发来的程序 + * Unzip the program from the client-ends + * @param depressData + * @return + * @throws Exception + */ + public static byte[] decompress(byte[] depressData) throws Exception { + + ByteArrayInputStream is = new ByteArrayInputStream(depressData); + ByteArrayOutputStream os = new ByteArrayOutputStream(); + + GZIPInputStream gis = new GZIPInputStream(is); + + int count; + byte data[] = new byte[1024]; + while ((count = gis.read(data, 0, 1024)) != -1) { + os.write(data, 0, count); + } + gis.close(); + depressData = os.toByteArray(); + os.flush(); + os.close(); + is.close(); + return depressData; + } + +} diff --git a/src/main/resources/logback.xml b/src/main/resources/logback.xml new file mode 100644 index 0000000..6b17170 --- /dev/null +++ b/src/main/resources/logback.xml @@ -0,0 +1,71 @@ + + + + + + + + + %d{yyyy-MM-dd HH:mm:ss.SSS} [%p] [%t] [%c.%M:%L] - %m%n + + + + + + ${LOG_HOME}/debug.log + + %d{yyyy-MM-dd HH:mm:ss.SSS} [%p] [%t] [%c.%M:%L] - %m%n + + + DEBUG + + + ${LOG_HOME}/debug/debug.%d{yyyy-MM-dd_HH}.log + 168 + + + + + + ${LOG_HOME}/info.log + + %d{yyyy-MM-dd HH:mm:ss.SSS} [%p] [%t] [%c.%M:%L] - %m%n + + + INFO + + + ${LOG_HOME}/info/info.%d{yyyy-MM-dd_HH}.log + 168 + + + + + + + ${LOG_HOME}/error.log + + %d{yyyy-MM-dd HH:mm:ss.SSS} [%p] [%t] [%c.%M:%L] - %m%n + + + ERROR + + + ${LOG_HOME}/error/error.%d{yyyy-MM-dd_HH}.log + 168 + + + + + + + + + + + \ No newline at end of file diff --git a/src/test/java/com/huobi/future/api/AccountAPIEd25119Test.java b/src/test/java/com/huobi/future/api/AccountAPIEd25119Test.java new file mode 100644 index 0000000..67e7f70 --- /dev/null +++ b/src/test/java/com/huobi/future/api/AccountAPIEd25119Test.java @@ -0,0 +1,198 @@ +package com.huobi.future.api; + +import com.alibaba.fastjson.JSON; +import com.huobi.api.request.coin_futures.account.*; +import com.huobi.api.response.coin_futures.account.*; +import com.huobi.api.service.coin_futures.account.AccountAPIServiceImpl; +import org.junit.FixMethodOrder; +import org.junit.Test; +import org.junit.runners.MethodSorters; + +import java.math.BigDecimal; + +@FixMethodOrder(MethodSorters.JVM) +public class AccountAPIEd25119Test implements BaseTest { + + + AccountAPIServiceImpl huobiAPIService = new AccountAPIServiceImpl("", ""); + + @Test + public void getContractBalanceValuation(){ + ContractBalanceValuationResponse response=huobiAPIService.getContractBalanceValuation(""); + logger.debug("1.获取账户总资产估值:{}", JSON.toJSONString(response)); + } + + @Test + public void getContractAccountInfo() { + ContractAccountInfoResponse response = huobiAPIService.getContractAccountInfo("btc"); + logger.debug("2.获取用户账户信息:{}", JSON.toJSONString(response)); + response = huobiAPIService.getContractAccountInfo(""); + logger.debug("2.获取用户账户信息:{}", JSON.toJSONString(response)); + } + + @Test + public void getContractPositionInfo() { + ContractPositionInfoResponse response = huobiAPIService.getContractPositionInfo("btc"); + logger.debug("3.获取用户持仓信息:{}", JSON.toJSONString(response)); + + response = huobiAPIService.getContractPositionInfo(""); + logger.debug("3.获取用户持仓信息:{}", JSON.toJSONString(response)); + } + + @Test + public void getContractSubAuth(){ + ContractSubAuthResponse response=huobiAPIService.getContractSubAuth("1234,12344",1); + logger.debug("4.批量设置子账户交易权限:{}", JSON.toJSONString(response)); + } + + @Test + public void getContractSubAuthList(){ + ContractSubAuthListRequest request = ContractSubAuthListRequest.builder() + .build(); + ContractSubAuthListResponse response = huobiAPIService.getContractSubAuthList(request); + logger.debug("5.查询子账户交易权限:{}", JSON.toJSONString(response)); + } + + @Test + public void getContractSubAccountList() { + ContractSubAccountListResponse response = huobiAPIService.getContractSubAccountList("btc","",null); + logger.debug("6.查询母账户下所有子账户资产信息:{}", JSON.toJSONString(response)); + + response = huobiAPIService.getContractSubAccountList("","",null); + logger.debug("6.查询母账户下所有子账户资产信息:{}", JSON.toJSONString(response)); + } + + @Test + public void getContractSubAccountInfoLIst(){ + ContractSubAccountInfoListRequest request= ContractSubAccountInfoListRequest.builder() + .symbol("btc") + .pageIndex(1) + .pageSize(20) + .build(); + ContractSubAccountInfoListResponse response=huobiAPIService.getContractSubAccountInfoList(request); + logger.debug("7.批量获取子账户资产信息:{}", JSON.toJSONString(response)); + } + + @Test + public void getContractSubAccountInfo() { + ContractSubAccountInfoResponse response = huobiAPIService.getContractSubAccountInfo("", 1l); + logger.debug("8.查询单个子账户资产信息:{}", JSON.toJSONString(response)); + logger.debug(response.getStatus()); + } + + @Test + public void getContractSubPositionInfo() { + ContractSubPositionInfoResponse response = huobiAPIService.getContractSubPositionInfo("", 1l); + logger.debug("9.查询单个子账户持仓信息:{}", JSON.toJSONString(response)); + logger.debug(response.getStatus()); + } + + @Test + public void getContractFinancialRecordV3(){ + ContractFinancialRecordV3Request request = ContractFinancialRecordV3Request.builder() + .type("3,4,5,6,7,8") + .symbol("BTC") + .build(); + ContractFinancialRecordV3Response response = huobiAPIService.getContractFinancialRecordV3(request); + logger.debug("10.查询用户财务记录(新):{}", JSON.toJSONString(response)); + } + + @Test + public void getContractFinancialRecordExactV3(){ + ContractFinancialRecordExactV3Request request = ContractFinancialRecordExactV3Request.builder() + .type("3,4,5,6,7,8") + .symbol("BTC") + .build(); + ContractFinancialRecordExactV3Response response = huobiAPIService.getContractFinancialRecordExactV3(request); + logger.debug("11.组合查询用户财务记录(新):{}", JSON.toJSONString(response)); + } + + @Test + public void getContractUserSettlementRecordsResponse() { + ContractUserSettlementRecordsRequest request = ContractUserSettlementRecordsRequest.builder() + .symbol("ada") + //.startTime("") + //.endTime("") + //.pageIndex() + //.pageSize() + .build(); + ContractUserSettlementRecordsResponse response = huobiAPIService.getContractUserSettlementRecords(request); + logger.debug("12.查询用户结算记录:{}", JSON.toJSONString(response)); + } + + @Test + public void getContractOrderLimitResponse() { + ContractOrderLimitResponse response = huobiAPIService.getContractOrderLimitResponse("btc", "limit"); + logger.debug("13.查询用户当前的下单量限制:{}", JSON.toJSONString(response)); + response = huobiAPIService.getContractOrderLimitResponse("", "limit"); + logger.debug("13.查询用户当前的下单量限制:{}", JSON.toJSONString(response)); + } + + @Test + public void getContractFeeResponse() { + ContractFeeResponse response = huobiAPIService.getContractFeeResponse("btc"); + logger.debug("14.查询用户当前的手续费费率:{}", JSON.toJSONString(response)); + response = huobiAPIService.getContractFeeResponse(""); + logger.debug("14.查询用户当前的手续费费率:{}", JSON.toJSONString(response)); + } + + @Test + public void getContractTransferLimitResponse() { + ContractTransferLimitResponse response = huobiAPIService.getContractTransferLimitResponse("btc"); + logger.debug("15.查询用户当前的划转限制:{}", JSON.toJSONString(response)); + response = huobiAPIService.getContractTransferLimitResponse(""); + logger.debug("15.查询用户当前的划转限制:{}", JSON.toJSONString(response)); + } + + @Test + public void getContractPositionLimitResponse() { + ContractPositionLimitResponse response = huobiAPIService.getContractPositionLimitResponse("btc"); + logger.debug("16.用户持仓量限制的查询:{}", JSON.toJSONString(response)); + + response = huobiAPIService.getContractPositionLimitResponse(""); + logger.debug("16.用户持仓量限制的查询:{}", JSON.toJSONString(response)); + } + + @Test + public void getContractAccountPositionInfoResponse() { + ContractAccountPositionInfoResponse response = huobiAPIService.getContractAccountPositionInfo("ada"); + logger.debug("17.用户持仓量限制的查询:{}", JSON.toJSONString(response)); + } + + @Test + public void getContractMasterSubTransferResponse() { + ContractMasterSubTransferRequest request = ContractMasterSubTransferRequest.builder() + .subUid(1l) + .symbol("ada") + .amount(BigDecimal.valueOf(35)) + .type("sub_to_master") + .build(); + ContractMasterSubTransferResponse response = huobiAPIService.getContractMasterSubTransfer(request); + logger.debug("18.母子帐户划转:{}", JSON.toJSONString(response)); + } + + @Test + public void getContractMasterSubTransferRecord() { + ContractMasterSubTransferRecordRequest request = ContractMasterSubTransferRecordRequest.builder() + .symbol("ada") + .transferType("") + .createDate(90) + .pageIndex(1) + .pageSize(20) + .build(); + ContractMasterSubTransferRecordResponse response = huobiAPIService.getContractMasterSubTransferRecord(request); + logger.debug("19.获取母账户下的所有母子账户划转记录:{}", JSON.toJSONString(response)); + } + + @Test + public void getContractApiTradingStatus() { + ContractApiTradingStatusResponse response = huobiAPIService.getContractApiTradingStatus(); + logger.debug("20.获取母账户下的所有母子账户划转记录:{}", JSON.toJSONString(response)); + } + + @Test + public void getContractAvailableLevelRate() { + ContractAvailableLevelRateResponse response = huobiAPIService.getContractAvailableLevelRate("btc"); + logger.debug("21.查询用户可用杠杆倍数:{}", JSON.toJSONString(response)); + } +} diff --git a/src/test/java/com/huobi/future/api/AccountAPIHmac256Test.java b/src/test/java/com/huobi/future/api/AccountAPIHmac256Test.java new file mode 100644 index 0000000..250cf21 --- /dev/null +++ b/src/test/java/com/huobi/future/api/AccountAPIHmac256Test.java @@ -0,0 +1,198 @@ +package com.huobi.future.api; + +import com.alibaba.fastjson.JSON; +import com.huobi.api.request.coin_futures.account.*; +import com.huobi.api.response.coin_futures.account.*; +import com.huobi.api.service.coin_futures.account.AccountAPIServiceImpl; +import org.junit.FixMethodOrder; +import org.junit.Test; +import org.junit.runners.MethodSorters; + +import java.math.BigDecimal; + +@FixMethodOrder(MethodSorters.JVM) +public class AccountAPIHmac256Test implements BaseTest { + + + AccountAPIServiceImpl huobiAPIService = new AccountAPIServiceImpl("", ""); + + @Test + public void getContractBalanceValuation(){ + ContractBalanceValuationResponse response=huobiAPIService.getContractBalanceValuation(""); + logger.debug("1.获取账户总资产估值:{}", JSON.toJSONString(response)); + } + + @Test + public void getContractAccountInfo() { + ContractAccountInfoResponse response = huobiAPIService.getContractAccountInfo("btc"); + logger.debug("2.获取用户账户信息:{}", JSON.toJSONString(response)); + response = huobiAPIService.getContractAccountInfo(""); + logger.debug("2.获取用户账户信息:{}", JSON.toJSONString(response)); + } + + @Test + public void getContractPositionInfo() { + ContractPositionInfoResponse response = huobiAPIService.getContractPositionInfo("btc"); + logger.debug("3.获取用户持仓信息:{}", JSON.toJSONString(response)); + + response = huobiAPIService.getContractPositionInfo(""); + logger.debug("3.获取用户持仓信息:{}", JSON.toJSONString(response)); + } + + @Test + public void getContractSubAuth(){ + ContractSubAuthResponse response=huobiAPIService.getContractSubAuth("1234,12344",1); + logger.debug("4.批量设置子账户交易权限:{}", JSON.toJSONString(response)); + } + + @Test + public void getContractSubAuthList(){ + ContractSubAuthListRequest request = ContractSubAuthListRequest.builder() + .build(); + ContractSubAuthListResponse response = huobiAPIService.getContractSubAuthList(request); + logger.debug("5.查询子账户交易权限:{}", JSON.toJSONString(response)); + } + + @Test + public void getContractSubAccountList() { + ContractSubAccountListResponse response = huobiAPIService.getContractSubAccountList("btc","",null); + logger.debug("6.查询母账户下所有子账户资产信息:{}", JSON.toJSONString(response)); + + response = huobiAPIService.getContractSubAccountList("","",null); + logger.debug("6.查询母账户下所有子账户资产信息:{}", JSON.toJSONString(response)); + } + + @Test + public void getContractSubAccountInfoLIst(){ + ContractSubAccountInfoListRequest request= ContractSubAccountInfoListRequest.builder() + .symbol("btc") + .pageIndex(1) + .pageSize(20) + .build(); + ContractSubAccountInfoListResponse response=huobiAPIService.getContractSubAccountInfoList(request); + logger.debug("7.批量获取子账户资产信息:{}", JSON.toJSONString(response)); + } + + @Test + public void getContractSubAccountInfo() { + ContractSubAccountInfoResponse response = huobiAPIService.getContractSubAccountInfo("", 1l); + logger.debug("8.查询单个子账户资产信息:{}", JSON.toJSONString(response)); + logger.debug(response.getStatus()); + } + + @Test + public void getContractSubPositionInfo() { + ContractSubPositionInfoResponse response = huobiAPIService.getContractSubPositionInfo("", 1l); + logger.debug("9.查询单个子账户持仓信息:{}", JSON.toJSONString(response)); + logger.debug(response.getStatus()); + } + + @Test + public void getContractFinancialRecordV3(){ + ContractFinancialRecordV3Request request = ContractFinancialRecordV3Request.builder() + .type("3,4,5,6,7,8") + .symbol("BTC") + .build(); + ContractFinancialRecordV3Response response = huobiAPIService.getContractFinancialRecordV3(request); + logger.debug("10.查询用户财务记录(新):{}", JSON.toJSONString(response)); + } + + @Test + public void getContractFinancialRecordExactV3(){ + ContractFinancialRecordExactV3Request request = ContractFinancialRecordExactV3Request.builder() + .type("3,4,5,6,7,8") + .symbol("BTC") + .build(); + ContractFinancialRecordExactV3Response response = huobiAPIService.getContractFinancialRecordExactV3(request); + logger.debug("11.组合查询用户财务记录(新):{}", JSON.toJSONString(response)); + } + + @Test + public void getContractUserSettlementRecordsResponse() { + ContractUserSettlementRecordsRequest request = ContractUserSettlementRecordsRequest.builder() + .symbol("ada") + //.startTime("") + //.endTime("") + //.pageIndex() + //.pageSize() + .build(); + ContractUserSettlementRecordsResponse response = huobiAPIService.getContractUserSettlementRecords(request); + logger.debug("12.查询用户结算记录:{}", JSON.toJSONString(response)); + } + + @Test + public void getContractOrderLimitResponse() { + ContractOrderLimitResponse response = huobiAPIService.getContractOrderLimitResponse("btc", "limit"); + logger.debug("13.查询用户当前的下单量限制:{}", JSON.toJSONString(response)); + response = huobiAPIService.getContractOrderLimitResponse("", "limit"); + logger.debug("13.查询用户当前的下单量限制:{}", JSON.toJSONString(response)); + } + + @Test + public void getContractFeeResponse() { + ContractFeeResponse response = huobiAPIService.getContractFeeResponse("btc"); + logger.debug("14.查询用户当前的手续费费率:{}", JSON.toJSONString(response)); + response = huobiAPIService.getContractFeeResponse(""); + logger.debug("14.查询用户当前的手续费费率:{}", JSON.toJSONString(response)); + } + + @Test + public void getContractTransferLimitResponse() { + ContractTransferLimitResponse response = huobiAPIService.getContractTransferLimitResponse("btc"); + logger.debug("15.查询用户当前的划转限制:{}", JSON.toJSONString(response)); + response = huobiAPIService.getContractTransferLimitResponse(""); + logger.debug("15.查询用户当前的划转限制:{}", JSON.toJSONString(response)); + } + + @Test + public void getContractPositionLimitResponse() { + ContractPositionLimitResponse response = huobiAPIService.getContractPositionLimitResponse("btc"); + logger.debug("16.用户持仓量限制的查询:{}", JSON.toJSONString(response)); + + response = huobiAPIService.getContractPositionLimitResponse(""); + logger.debug("16.用户持仓量限制的查询:{}", JSON.toJSONString(response)); + } + + @Test + public void getContractAccountPositionInfoResponse() { + ContractAccountPositionInfoResponse response = huobiAPIService.getContractAccountPositionInfo("ada"); + logger.debug("17.用户持仓量限制的查询:{}", JSON.toJSONString(response)); + } + + @Test + public void getContractMasterSubTransferResponse() { + ContractMasterSubTransferRequest request = ContractMasterSubTransferRequest.builder() + .subUid(1l) + .symbol("ada") + .amount(BigDecimal.valueOf(35)) + .type("sub_to_master") + .build(); + ContractMasterSubTransferResponse response = huobiAPIService.getContractMasterSubTransfer(request); + logger.debug("18.母子帐户划转:{}", JSON.toJSONString(response)); + } + + @Test + public void getContractMasterSubTransferRecord() { + ContractMasterSubTransferRecordRequest request = ContractMasterSubTransferRecordRequest.builder() + .symbol("ada") + .transferType("") + .createDate(90) + .pageIndex(1) + .pageSize(20) + .build(); + ContractMasterSubTransferRecordResponse response = huobiAPIService.getContractMasterSubTransferRecord(request); + logger.debug("19.获取母账户下的所有母子账户划转记录:{}", JSON.toJSONString(response)); + } + + @Test + public void getContractApiTradingStatus() { + ContractApiTradingStatusResponse response = huobiAPIService.getContractApiTradingStatus(); + logger.debug("20.获取母账户下的所有母子账户划转记录:{}", JSON.toJSONString(response)); + } + + @Test + public void getContractAvailableLevelRate() { + ContractAvailableLevelRateResponse response = huobiAPIService.getContractAvailableLevelRate("btc"); + logger.debug("21.查询用户可用杠杆倍数:{}", JSON.toJSONString(response)); + } +} diff --git a/src/test/java/com/huobi/future/api/BaseTest.java b/src/test/java/com/huobi/future/api/BaseTest.java new file mode 100644 index 0000000..98bce3e --- /dev/null +++ b/src/test/java/com/huobi/future/api/BaseTest.java @@ -0,0 +1,11 @@ +package com.huobi.future.api; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public interface BaseTest { + + Logger logger = LoggerFactory.getLogger(BaseTest.class); + + +} diff --git a/src/test/java/com/huobi/future/api/MarketAPITest.java b/src/test/java/com/huobi/future/api/MarketAPITest.java new file mode 100644 index 0000000..ce2ca06 --- /dev/null +++ b/src/test/java/com/huobi/future/api/MarketAPITest.java @@ -0,0 +1,83 @@ +package com.huobi.future.api; + +import com.alibaba.fastjson.JSON; +import com.huobi.api.enums.TimePeriodTypeEnum; +import com.huobi.api.request.coin_futures.account.ContractSettlementRecordsRequest; +import com.huobi.api.request.coin_futures.market.ContractLiquidationOrdersV3Request; +import com.huobi.api.response.coin_futures.market.*; +import com.huobi.api.response.usdt.market.BatchMergedV2Response; +import com.huobi.api.service.coin_futures.market.MarketAPIServiceImpl; +import org.junit.FixMethodOrder; +import org.junit.Test; +import org.junit.runners.MethodSorters; + +@FixMethodOrder(MethodSorters.JVM) +public class MarketAPITest implements BaseTest { + + MarketAPIServiceImpl huobiAPIService = new MarketAPIServiceImpl(); + + @Test + public void getMarketDepth() { + MarketDepthResponse result = + huobiAPIService.getMarketDepth("BTC_CW", "step0"); + logger.debug("1.获取行情深度数据:{}", JSON.toJSONString(result)); + } + + @Test + public void getMarketBbo(){ + MarketBboResponse response=huobiAPIService.getMarketBbo(""); + logger.debug("2.获取市场最优挂单: {}",JSON.toJSONString(response)); + } + + @Test + public void getMarketHistoryKline() { + MarketHistoryKlineResponse result = + huobiAPIService.getMarketHistoryKline("btc_cw", "1min", 10, null, null); + logger.debug("3.获取K线数据:{}", JSON.toJSONString(result)); + } + + @Test + public void getMarkPriceKline(){ + MarkPriceKlineResponse response=huobiAPIService.getMarkPriceKline("btc_cq","5min",10); + logger.debug("4.获取标记价格的K线数据: {}",JSON.toJSONString(response)); + } + + @Test + public void getMarketDetailMerged() { + MarketDetailMergedResponse result = + huobiAPIService.getMarketDetailMerged("btc_cw"); + logger.debug("5.获取聚合行情:{}", JSON.toJSONString(result)); + } + + @Test + public void getBatchMergedV2(){ + BatchMergedV2Response response = huobiAPIService.getBatchMergedV2(null); + logger.debug("6.批量获取聚合行情(V2): {}",JSON.toJSONString(response)); + } + + @Test + public void getMarketTrade() { + MarketTradeResponse result = + huobiAPIService.getMarketTrade("btc_cw"); + logger.debug("7.获取市场最近成交记录:{}", JSON.toJSONString(result)); + } + + @Test + public void getMarketHistoryTrade() { + MarketHistoryTradeResponse result = + huobiAPIService.getMarketHistoryTrade("btc_cw", 10); + logger.debug("8.批量获取最近的交易记录:{}", JSON.toJSONString(result)); + } + + @Test + public void getMarketHistoryIndexResponse() { + MarketHistoryIndexResponse response = huobiAPIService.getMarketHistoryIndex("btc-usd", "5min", 20); + logger.debug("9.获取指线K线数据:{}", JSON.toJSONString(response)); + } + + @Test + public void getMarketHistoryBasisResponse() { + MarketHistoryBasisResponse response = huobiAPIService.getMarketHistoryBasis("btc_cq", "5min", "", 20); + logger.debug("10.获取基差数据:{}", JSON.toJSONString(response)); + } +} diff --git a/src/test/java/com/huobi/future/api/ReferenceAPITest.java b/src/test/java/com/huobi/future/api/ReferenceAPITest.java new file mode 100644 index 0000000..dc299dd --- /dev/null +++ b/src/test/java/com/huobi/future/api/ReferenceAPITest.java @@ -0,0 +1,146 @@ +package com.huobi.future.api; + +import com.alibaba.fastjson.JSON; +import com.huobi.api.enums.TimePeriodTypeEnum; +import com.huobi.api.request.coin_futures.account.ContractSettlementRecordsRequest; +import com.huobi.api.request.coin_futures.market.ContractLiquidationOrdersV3Request; +import com.huobi.api.response.coin_futures.market.*; +import com.huobi.api.service.coin_futures.account.AccountAPIServiceImpl; +import com.huobi.api.service.coin_futures.reference.ReferenceAPIServiceImpl; +import com.huobi.usdt.api.BaseTest; +import org.junit.FixMethodOrder; +import org.junit.Test; +import org.junit.runners.MethodSorters; + +@FixMethodOrder(MethodSorters.JVM) +public class ReferenceAPITest implements BaseTest { + ReferenceAPIServiceImpl huobiAPIService = new ReferenceAPIServiceImpl(); + + @Test + public void getContractRiskInfoResponse() { + ContractRiskInfoResponse result = + huobiAPIService.getContractRiskInfo("btc"); + logger.debug("1.查询合约风险准备金余额和预估分摊比例:{}", JSON.toJSONString(result)); + } + + @Test + public void getContractInsuranceFundResponse() { + ContractInsuranceFundResponse result = + huobiAPIService.getContractInsuranceFund("btc"); + logger.debug("2.查询合约风险准备金余额历史数据:{}", JSON.toJSONString(result)); + } + + @Test + public void getContractAdjustfactorResponse() { + ContractAdjustfactorResponse result = + huobiAPIService.getContractAdjustfactor("btc"); + logger.debug("3.查询平台阶梯调整系数:{}", JSON.toJSONString(result)); + } + + @Test + public void getContractHisOpenInterestResponse() { + ContractHisOpenInterestResponse result = + huobiAPIService.getContractHisOpenInterest("btc", "this_week", TimePeriodTypeEnum.ONE_DAY, 10, 1); + logger.debug("4.平台持仓量的查询:{}", JSON.toJSONString(result)); + } + + @Test + public void getContractLadderMargin(){ + ContractLadderMarginResponse response=huobiAPIService.getContractLadderMargin("btc"); + logger.debug("5.获取平台阶梯保证金: {}",JSON.toJSONString(response)); + } + + @Test + public void getContractEliteAccountRatioResponse() { + ContractEliteAccountRatioResponse result = + huobiAPIService.getContractEliteAccountRatio("btc", "60min"); + logger.debug("6.精英账户多空持仓对比-账户数:{}", JSON.toJSONString(result)); + } + + @Test + public void getContractElitePositionRatioResponse() { + ContractElitePositionRatioResponse result = + huobiAPIService.getContractElitePositionRatio("btc", "5min"); + logger.debug("7.精英账户多空持仓对比-持仓量:{}", JSON.toJSONString(result)); + } + + @Test + public void getContractLiquidationOrdersV3(){ + ContractLiquidationOrdersV3Request request = ContractLiquidationOrdersV3Request.builder() + .tradeType(5) + .symbol("BTC") + .build(); + ContractLiquidationOrdersV3Response response = huobiAPIService.getContractLiquidationOrdersV3(request); + logger.debug("8.获取强平订单(新): {}",JSON.toJSONString(response)); + } + + @Test + public void getContractSettlementRecordsResponse() { + ContractSettlementRecordsRequest request = ContractSettlementRecordsRequest.builder() + .symbol("ada") + //.startTime() + //.endTime() + //.pageIndex() + //.pageSize() + .build(); + ContractSettlementRecordsResponse response = huobiAPIService.getContractSettlementRecords(request); + logger.debug("9.查询平台历史结算记录:{}", JSON.toJSONString(response)); + } + + @Test + public void getContractPriceLimit() { + ContractPriceLimitResponse result = + huobiAPIService.getContractPriceLimit("btc", "this_week", ""); + logger.debug("10.获取合约最高限价和最低限价:{}", JSON.toJSONString(result)); + } + + @Test + public void getContractOpenInterest() { + ContractOpenInterestResponse result = + huobiAPIService.getContractOpenInterest("btc", "this_week", ""); + logger.debug("11.获取当前可用合约总持仓量:{}", JSON.toJSONString(result)); + result = + huobiAPIService.getContractOpenInterest("", "", ""); + logger.debug("11.获取当前可用合约总持仓量:{}", JSON.toJSONString(result)); + } + + @Test + public void getContractDeliveryPrice() { + ContractDeliveryPriceResponse result = huobiAPIService.getContractDeliveryPrice("btc"); + logger.debug("12.获取预估交割价:{}", JSON.toJSONString(result)); + } + + @Test + public void getContractEstimatedSettlementPriceResponse(){ + ContractEstimatedSettlementPriceResponse response=huobiAPIService.getContractEstimatedSettlementPriceResponse("btc"); + logger.debug("13.获取预估结算价: {}",JSON.toJSONString(response)); + } + + @Test + public void getContractApiState() { + ContractApiStateResponse result = + huobiAPIService.getContractApiState(""); + logger.debug("14.查询系统状态:{}", JSON.toJSONString(result)); + } + + @Test + public void getContractContractInfo() { + ContractContractInfoResponse result = + huobiAPIService.getContractContractInfo("", "", ""); + logger.debug("15.获取合约信息:{}", JSON.toJSONString(result)); + } + + @Test + public void getContractIndex() { + ContractIndexResponse result = + huobiAPIService.getContractIndex("btc"); + logger.debug("16.获取合约指数信息:{}", JSON.toJSONString(result)); + } + + @Test + public void getContractQueryElements(){ + ContractQueryElementsResponse response = huobiAPIService.getContractQueryElements(null); + logger.debug("17.合约要素: {}",JSON.toJSONString(response)); + } + +} diff --git a/src/test/java/com/huobi/future/api/StrategyAPITest.java b/src/test/java/com/huobi/future/api/StrategyAPITest.java new file mode 100644 index 0000000..c61ffe6 --- /dev/null +++ b/src/test/java/com/huobi/future/api/StrategyAPITest.java @@ -0,0 +1,238 @@ +package com.huobi.future.api; + +import com.alibaba.fastjson.JSON; +import com.huobi.api.enums.DirectionEnum; +import com.huobi.api.enums.OffsetEnum; +import com.huobi.api.request.coin_futures.trade.*; +import com.huobi.api.response.coin_futures.trade.*; +import com.huobi.api.service.coin_futures.account.AccountAPIServiceImpl; +import com.huobi.api.service.coin_futures.strategy.StrategyAPIServiceImpl; +import com.huobi.usdt.api.BaseTest; +import org.junit.FixMethodOrder; +import org.junit.Test; +import org.junit.runners.MethodSorters; + +import java.math.BigDecimal; + +@FixMethodOrder(MethodSorters.JVM) +public class StrategyAPITest implements BaseTest { + StrategyAPIServiceImpl huobiAPIService = new StrategyAPIServiceImpl("", ""); + + @Test + public void contractTriggerOrderRequest() { + ContractTriggerOrderRequest request = ContractTriggerOrderRequest.builder() + .symbol("eth") + .contractType("quarter") + //.contractCode("btc200925") + .triggerType("le") + .triggerPrice(BigDecimal.valueOf(340.442)) + .orderPrice(BigDecimal.valueOf(340.24)) + .orderPriceType("limit") + .volume(1l) + .direction(DirectionEnum.valueOf("SELL")) + .offset(OffsetEnum.valueOf("CLOSE")) + .leverRate(20) + .build(); + ContractTriggerOrderResponse response = huobiAPIService.contractTriggerOrderRequest(request); + logger.debug("1.请求的参数:{}", JSON.toJSONString(request)); + logger.debug("1.合约计划委托下单:{}", JSON.toJSONString(response)); + + } + + @Test + public void contractTriggerCancelRequest() { + ContractTriggerCancelRequest request = ContractTriggerCancelRequest.builder() + .symbol("btc") + .orderId("18139221,18139220") + .build(); + ContractTriggerCancelResponse response = huobiAPIService.contractTriggerCancelRequest(request); + logger.debug("2.合约计划委托撤单:{}", JSON.toJSONString(response)); + } + + @Test + public void contractTriggerCancelallRequest() { + ContractTriggerCancelallRequest request = ContractTriggerCancelallRequest.builder() + .symbol("btc") + .contractCode("") + .contractType("") + .build(); + ContractTriggerCancelallResponse response = huobiAPIService.contractTriggerCancelallRequest(request); + logger.debug("3.合约计划委托全部撤单:{}", JSON.toJSONString(response)); + } + + @Test + public void contractTriggerOpenordersRequest() { + ContractTriggerOpenordersRequest request = ContractTriggerOpenordersRequest.builder() + .symbol("btc") + .contractCode("btc200925") + .pageIndex(1) + .pageSize(20) + .build(); + ContractTriggerOpenordersResponse response = huobiAPIService.contractTriggerOpenordersRequest(request); + logger.debug("4.请求的参数:{}", JSON.toJSONString(request)); + logger.debug("4.获取计划委托当前委托:{}", JSON.toJSONString(response)); + } + + @Test + public void contractTriggerHisordersRequest() { + ContractTriggerHisordersRequest request = ContractTriggerHisordersRequest.builder() + .symbol("ada") + .contractCode("ada201225") + .tradeType(0) + .status("0") + .createDate(90) + .pageIndex(1) + .pageSize(20) + .sortBy("update_time") + .build(); + ContractTriggerHisordersResponse response = huobiAPIService.contractTriggerHisorders(request); + logger.debug("5.获取计划委托历史委托:{}", JSON.toJSONString(response)); + } + + @Test + public void contractTpslOrderRequest(){ + ContractTpslOrderRequest request = ContractTpslOrderRequest.builder() + .symbol("xrp") + .contractCode("xrp210326") + .contractType("quarter") + .direction("buy") + .volume("1") + .tpTriggerPrice(BigDecimal.valueOf(0.2)) + .tpOrderPrice(BigDecimal.valueOf(0.2)) + .tpOrderPriceType("limit") + .slOrderPrice(BigDecimal.valueOf(0.5)) + .slOrderPriceType("optimal_5") + .slTriggerPrice(BigDecimal.valueOf(0.5)) + .build(); + ContractTpslOrderResponse response=huobiAPIService.contractTpslOrder(request); + logger.debug("6.对仓位设置止盈止损订单:{}",JSON.toJSONString(response)); + } + + @Test + public void contractTpslCancelRequest(){ + ContractTpslCancelRequest request= ContractTpslCancelRequest.builder() + .symbol("xrp") + .orderId("799291000371585024") + .build(); + ContractTpslCancelResponse response=huobiAPIService.contractTpslCancelResponse(request); + logger.debug("7.止盈止损撤单:{}",JSON.toJSONString(response)); + } + + @Test + public void contractTpslCancelallRequest(){ + ContractTpslCancelallRequest request= ContractTpslCancelallRequest.builder() + .symbol("xrp") + .contractCode("xrp210326") + .contractType("quarter") + .build(); + ContractTpslCancelallResponse response=huobiAPIService.contractTpslCancelallResponse(request); + logger.debug("8.止盈止损全部撤单:{}",JSON.toJSONString(response)); + } + + @Test + public void contractTpslOpenorderRequest(){ + ContractTpslOpenordersRequest request= ContractTpslOpenordersRequest.builder() + .symbol("xrp") + .contractCode("") + .pageIndex(1) + .pageSize(20) + .build(); + ContractTpslOpenordersResponse response=huobiAPIService.contractTpslOpenordersResponse(request); + logger.debug("9.查询止盈止损订单当前委托:{}",JSON.toJSONString(response)); + } + + @Test + public void contractTpslHisorderRequest(){ + ContractTpslHisordersRequset requset= ContractTpslHisordersRequset.builder() + .symbol("XRP") + .contractCode("xrp210326") + .status("0") + .createDate(30l) + .pageIndex(1) + .pageSize(20) + .sortBy("update_time") + .build(); + ContractTpslHisordersResponse response=huobiAPIService.contractTpslHisordersResponse(requset); + logger.debug("10.查询止盈止损订单历史委托:{}",JSON.toJSONString(response)); + } + + @Test + public void contractRelationTpslOrderRequest(){ + ContractRelationTpslOrderRequest request= ContractRelationTpslOrderRequest.builder() + .symbol("xrp") + .orderId(799289975731789824l) + .build(); + ContractRelationTpslOrderResponse response=huobiAPIService.contractRelationTpslOrderResponse(request); + logger.debug("11.查询开仓单关联的止盈止损订单详情:{}",JSON.toJSONString(response)); + } + + @Test + public void contractTrackOrder(){ + ContractTrackOrderRequest request= ContractTrackOrderRequest.builder() + .symbol("btc") + .contractType("quarter") + .contractCode("btc210326") + .direction("buy") + .offset("open") + .leverRate(75) + .volume(BigDecimal.valueOf(1)) + .activePrice(BigDecimal.valueOf(49111)) + .callbackRate(BigDecimal.valueOf(0.03)) + .orderPriceType("optimal_5") + .build(); + ContractTrackOrderResponse response=huobiAPIService.contractTrackOrderResponse(request); + logger.debug("12.跟踪委托订单下单:{}",JSON.toJSONString(response)); + } + + @Test + public void contractTrackCancel(){ + ContractTrackCancelRequest request= ContractTrackCancelRequest.builder() + .orderId("826490322254073856") + .symbol("btc") + .build(); + ContractTrackCancelResponse response=huobiAPIService.contractTrackCancelResponse(request); + logger.debug("13.跟踪委托订单撤单:{}",JSON.toJSONString(response)); + } + + @Test + public void contractTrackCancelall(){ + ContractTrackCancelallRequest request= ContractTrackCancelallRequest.builder() + .symbol("btc") + .contractCode("") + .contractType("") + .direction("") + .offset("") + .build(); + ContractTrackCancelallResponse response=huobiAPIService.contractTrackCancelallResponse(request); + logger.debug("14.跟踪委托订单全部撤单:{}",JSON.toJSONString(response)); + } + + @Test + public void contractTrackOpenorders(){ + ContractTrackOpenordersRequest request= ContractTrackOpenordersRequest.builder() + .symbol("btc") + .contractCode("") + .tradeType(0) + .pageIndex(1) + .pageSize(1) + .build(); + ContractTrackOpenordersResponse response=huobiAPIService.contractTrackOpenordersResponse(request); + logger.debug("15.跟踪委托订单当前委托:{}",JSON.toJSONString(response)); + } + + @Test + public void contractTrackHisorders(){ + ContractTrackHisordersRequest request= ContractTrackHisordersRequest.builder() + .symbol("btc") + .contractCode("") + .createDate(1l) + .tradeType(1) + .status("0") + .pageIndex(1) + .pageSize(1) + .sortBy("") + .build(); + ContractTrackHisordersResponse response=huobiAPIService.contractTrackHisordersResponse(request); + logger.debug("16.跟踪委托订单历史委托:{}",JSON.toJSONString(response)); + } +} diff --git a/src/test/java/com/huobi/future/api/TradeAPITest.java b/src/test/java/com/huobi/future/api/TradeAPITest.java new file mode 100644 index 0000000..ea664c5 --- /dev/null +++ b/src/test/java/com/huobi/future/api/TradeAPITest.java @@ -0,0 +1,193 @@ +package com.huobi.future.api; + +import com.alibaba.fastjson.JSON; +import com.huobi.api.enums.DirectionEnum; +import com.huobi.api.enums.OffsetEnum; +import com.huobi.api.request.coin_futures.trade.*; +import com.huobi.api.response.coin_futures.trade.*; +import com.huobi.api.service.coin_futures.trade.TradeAPIServiceImpl; +import org.junit.FixMethodOrder; +import org.junit.Test; +import org.junit.runners.MethodSorters; + +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.List; + +@FixMethodOrder(MethodSorters.JVM) +public class TradeAPITest implements BaseTest { + + + TradeAPIServiceImpl huobiAPIService = new TradeAPIServiceImpl("", ""); + + @Test + public void contractCancelAfterResponse(){ + ContractCancelAfterRequest request = ContractCancelAfterRequest.builder() + .onOff(1) + .build(); + ContractCancelAfterResponse response = huobiAPIService.contractCancelAfterResponse(request); + logger.debug("1.自动撤单:{}",JSON.toJSONString(response)); + } + + @Test + public void contractOrderRequest() { + + ContractOrderRequest request = ContractOrderRequest.builder() + .symbol("btc") + .contractType("quarter") + .volume(1l) + .price(BigDecimal.valueOf(7450.01)) + .direction(DirectionEnum.BUY) + .offset(OffsetEnum.OPEN) + .leverRate(10) + .orderPriceType("limit") + .build(); + ContractOrderResponse response = + huobiAPIService.contractOrderRequest(request); + logger.debug("2.合约下单:{}", JSON.toJSONString(response)); + } + + @Test + public void contractBatchorderRequest() { + List list = new ArrayList<>(); + for (int i = 0; i < 2; i++) { + ContractOrderRequest request = ContractOrderRequest.builder() + .symbol("btc") + .contractType("quarter") + .volume(1l) + .price(BigDecimal.valueOf(7450.01)) + .direction(DirectionEnum.SELL) + .offset(OffsetEnum.OPEN) + .leverRate(10) + .orderPriceType("limit") + .build(); + list.add(request); + + } + ContractBatchorderRequest request = ContractBatchorderRequest.builder() + .list(list) + .build(); + ContractBatchorderResponse response = + huobiAPIService.contractBatchorderRequest(request); + logger.debug("3.合约批量下单:{}", JSON.toJSONString(response)); + } + + @Test + public void contractCancelRequest() { + ContractCancelRequest request = ContractCancelRequest.builder() + .symbol("btc") + .orderId("634696656176029696,634693443368525824") + .build(); + ContractCancelResponse response = + huobiAPIService.contractCancelRequest(request); + logger.debug("4.撤销订单:{}", JSON.toJSONString(response)); + } + + @Test + public void contractCancelallRequest() { + ContractCancelallRequest request = ContractCancelallRequest.builder() + .symbol("btc") + .build(); + ContractCancelallResponse response = + huobiAPIService.contractCancelallRequest(request); + logger.debug("5.全部撤单:{}", JSON.toJSONString(response)); + } + + @Test + public void contractSwitchLeverRateRequest() { + ContractSwitchLeverRateResponse response = huobiAPIService.contractSwitchLeverRateRequest("ada", 10); + logger.debug("6.切换杠杆:{}", JSON.toJSONString(response)); + } + + @Test + public void contractOrderInfoRequest() { + ContractOrderInfoRequest request = ContractOrderInfoRequest.builder() + .symbol("btc") + .orderId("634696656176029696") + .build(); + ContractOrderInfoResponse response = + huobiAPIService.contractOrderInfoRequest(request); + logger.debug("7.获取合约订单信息:{}", JSON.toJSONString(response)); + } + + @Test + public void contractOrderDetailRequest() { + ContractOrderDetailRequest request = ContractOrderDetailRequest.builder() + .symbol("BTC") + .orderId(634693443251085312l) + .createdAt(System.currentTimeMillis()) + .orderType(1) + .build(); + ContractOrderDetailResponse response = + huobiAPIService.contractOrderDetailRequest(request); + logger.debug("8.获取订单明细信息:{}", JSON.toJSONString(response)); + } + + @Test + public void contractOpenordersRequest() { + ContractOpenordersRequest request = ContractOpenordersRequest.builder() + .symbol("btc") + .build(); + ContractOpenordersResponse response = + huobiAPIService.contractOpenordersRequest(request); + logger.debug("9.获取合约当前未成交委托:{}", JSON.toJSONString(response)); + } + + @Test + public void contractHisordersV3Response(){ + ContractHisordersV3Request request = ContractHisordersV3Request.builder() + .symbol("BTC") + .tradeType(0) + .type(1) + .status("0") + .build(); + ContractHisordersV3Response response = huobiAPIService.contractHisordersV3Response(request); + logger.debug("10.获取合约历史委托(新):{}",JSON.toJSONString(response)); + } + + @Test + public void contractHisordersExactV3Response(){ + ContractHisordersExactV3Request request = ContractHisordersExactV3Request.builder() + .symbol("BTC") + .tradeType(0) + .type(1) + .status("0") + .build(); + ContractHisordersExactV3Response response = huobiAPIService.contractHisordersExactV3Response(request); + logger.debug("11.组合查询合约历史委托(新):{}",JSON.toJSONString(response)); + } + + @Test + public void contractMatchResultsV3Response(){ + ContractMatchResultsV3Request request = ContractMatchResultsV3Request.builder() + .symbol("BTC") + .tradeType(0) + .build(); + ContractMatchResultsV3Response response = huobiAPIService.contractMatchResultsV3Response(request); + logger.debug("12.获取历史成交记录(新):{}",JSON.toJSONString(response)); + } + + @Test + public void contractMatchResultsExactV3Response(){ + ContractMatchResultsExactV3Request request = ContractMatchResultsExactV3Request.builder() + .symbol("BTC") + .contract("BTC-USD") + .tradeType(0) + .build(); + ContractMatchResultsExactV3Response response = huobiAPIService.contractMatchResultsExactV3Response(request); + logger.debug("13.组合查询历史成交记录接口(新):{}",JSON.toJSONString(response)); + } + + @Test + public void lightningClosePositionRequest() { + LightningClosePositionRequest request = LightningClosePositionRequest.builder() + .symbol("btc") + .contractType("quarter") + .direction("sell") + .volume(1) + .build(); + LightningClosePositionResponse response = + huobiAPIService.lightningClosePositionRequest(request); + logger.debug("14.闪电平仓下单:{}", JSON.toJSONString(response)); + } +} diff --git a/src/test/java/com/huobi/future/api/TransferAPITest.java b/src/test/java/com/huobi/future/api/TransferAPITest.java new file mode 100644 index 0000000..b2504b2 --- /dev/null +++ b/src/test/java/com/huobi/future/api/TransferAPITest.java @@ -0,0 +1,46 @@ +package com.huobi.future.api; + +import com.alibaba.fastjson.JSON; +import com.huobi.api.request.coin_futures.transfer.AccountTransferRequest; +import com.huobi.api.response.coin_futures.transfer.AccountTransferResponse; +import com.huobi.api.response.coin_futures.transfer.FuturesTransferResponse; +import com.huobi.api.service.coin_futures.transfer.TransferApiServiceImpl; +import org.junit.FixMethodOrder; +import org.junit.Test; +import org.junit.runners.MethodSorters; + +import java.math.BigDecimal; + +/** + * 合约划转接口 + */ +@FixMethodOrder(MethodSorters.JVM) +public class + +TransferAPITest implements BaseTest { + + + TransferApiServiceImpl transferApiService = new TransferApiServiceImpl("", ""); + + @Test + public void transfer() { + //从合约账户到现货账户:“futures-to-pro”,从现货账户到合约账户: “pro-to-futures” + BigDecimal amount = BigDecimal.valueOf(50);//注意划转的金额精度 + FuturesTransferResponse response = + transferApiService.transfer("ada", amount, "pro-to-futures"); + logger.debug("1.现货-合约账户间进行资金的划转:{}", JSON.toJSONString(response)); + } + + @Test + public void accountTransfer(){ + AccountTransferRequest request = AccountTransferRequest.builder() + .from("spot") + .to("futures") + .currency("usdt") + .amount(new BigDecimal(100)) + .marginAccount("USDT") + .build(); + AccountTransferResponse response = transferApiService.accountTransfer(request); + logger.debug("2.【通用】现货-合约账户进行资金的划转:{}", JSON.toJSONString(response)); + } +} diff --git a/src/test/java/com/huobi/future/wss/WssCenterNotificationSubEd25519Test.java b/src/test/java/com/huobi/future/wss/WssCenterNotificationSubEd25519Test.java new file mode 100644 index 0000000..8113caf --- /dev/null +++ b/src/test/java/com/huobi/future/wss/WssCenterNotificationSubEd25519Test.java @@ -0,0 +1,37 @@ +package com.huobi.future.wss; + +import com.alibaba.fastjson.JSON; +import com.google.common.collect.Lists; +import com.huobi.wss.event.PublicHeartbeatSubResponse; +import com.huobi.wss.handle.WssNotificationHandle; +import org.junit.Test; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.net.URISyntaxException; +import java.util.List; + +public class WssCenterNotificationSubEd25519Test { + private final Logger logger = LoggerFactory.getLogger(getClass()); + private String host = "api.hbdm.com"; + private String url = "/center-notification"; + private String sign="25519"; + // 这里的sign代表着是使用hmac256签名方法还是Ed25519签名方法。这里的publickey和privatekey公钥和私钥 +// The sign indicates whether to use the hmac256 signature method or the Ed25519 signature method. Here are the publickey and privatekey public and private keys + private String publicKey=""; + private String privateKey=""; + WssNotificationHandle wssNotificationHandle = new WssNotificationHandle(host, url, publicKey, privateKey,sign); + + @Test + public void test1() throws URISyntaxException, InterruptedException { + List channels = Lists.newArrayList(); + channels.add("public.futures.heartbeat"); + wssNotificationHandle.sub(channels, response -> { + logger.info("用户收到的数据===============:{}", JSON.toJSON(response)); + Long currentTimeMillis = System.currentTimeMillis(); + PublicHeartbeatSubResponse event = JSON.parseObject(response, PublicHeartbeatSubResponse.class); + logger.info("ts为:{},当前的时间戳为:{},时间间隔为:{}毫秒", event.getTs(), currentTimeMillis, currentTimeMillis - event.getTs()); + }); + Thread.sleep(Integer.MAX_VALUE); + } +} diff --git a/src/test/java/com/huobi/future/wss/WssCenterNotificationSubHmac256Test.java b/src/test/java/com/huobi/future/wss/WssCenterNotificationSubHmac256Test.java new file mode 100644 index 0000000..512b5ca --- /dev/null +++ b/src/test/java/com/huobi/future/wss/WssCenterNotificationSubHmac256Test.java @@ -0,0 +1,37 @@ +package com.huobi.future.wss; + +import com.alibaba.fastjson.JSON; +import com.google.common.collect.Lists; +import com.huobi.wss.event.PublicHeartbeatSubResponse; +import com.huobi.wss.handle.WssNotificationHandle; +import org.junit.Test; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.net.URISyntaxException; +import java.util.List; + +public class WssCenterNotificationSubHmac256Test { + private final Logger logger = LoggerFactory.getLogger(getClass()); + private String host = "api.hbdm.com"; + private String url = "/center-notification"; + private String sign="256"; + // 这里的sign代表着是使用hmac256签名方法还是Ed25519签名方法。这里的accesskey和secretkey代表了公钥和私钥。 +// The sign indicates whether to use the hmac256 signature method or the Ed25519 signature method. Here accesskey and secretkey represent the public and private keys. + private String accessKey=""; + private String secretKey=""; + WssNotificationHandle wssNotificationHandle = new WssNotificationHandle(host, url, accessKey, secretKey,sign); + + @Test + public void test1() throws URISyntaxException, InterruptedException { + List channels = Lists.newArrayList(); + channels.add("public.futures.heartbeat"); + wssNotificationHandle.sub(channels, response -> { + logger.info("用户收到的数据===============:{}", JSON.toJSON(response)); + Long currentTimeMillis = System.currentTimeMillis(); + PublicHeartbeatSubResponse event = JSON.parseObject(response, PublicHeartbeatSubResponse.class); + logger.info("ts为:{},当前的时间戳为:{},时间间隔为:{}毫秒", event.getTs(), currentTimeMillis, currentTimeMillis - event.getTs()); + }); + Thread.sleep(Integer.MAX_VALUE); + } +} diff --git a/src/test/java/com/huobi/future/wss/WssIndexReqTest.java b/src/test/java/com/huobi/future/wss/WssIndexReqTest.java new file mode 100644 index 0000000..e386c6b --- /dev/null +++ b/src/test/java/com/huobi/future/wss/WssIndexReqTest.java @@ -0,0 +1,97 @@ +package com.huobi.future.wss; + +import com.alibaba.fastjson.JSON; +import com.huobi.wss.event.MarketBasisPriceTypeReqResponse; +import com.huobi.wss.event.MarketIndexReqResponse; +import com.huobi.wss.event.MarketKLineReqResponse; +import com.huobi.wss.event.MarketMarkPriceReqResponse; +import com.huobi.wss.handle.WssMarketReqHandle; +import com.huobi.wss.request.WssRequest; +import org.apache.commons.lang3.time.DateUtils; +import org.junit.Test; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.net.URISyntaxException; +import java.util.Date; + +public class WssIndexReqTest { + private final Logger logger = LoggerFactory.getLogger(getClass()); + + private String URL = "wss://api.hbdm.com/ws_index"; + + @Test + public void test1() throws URISyntaxException, InterruptedException { + WssMarketReqHandle wssMarketReqHandle = new WssMarketReqHandle(URL, response -> { + logger.info("请求(req)指数K线数据用户收到的原始数据:{}", response); + MarketIndexReqResponse reqResponse = JSON.parseObject(response, MarketIndexReqResponse.class); + logger.info("请求(req)指数K线数据解析之后的数据为:{}", JSON.toJSON(reqResponse)); + }); + while (true) { + try { + Date fromDate = DateUtils.parseDate("2019-11-01T00:00:00", "yyyy-MM-dd'T'HH:mm:ss"); + Date toDate = DateUtils.parseDate("2019-11-01T00:00:01", "yyyy-MM-dd'T'HH:mm:ss"); + WssRequest wssRequest = WssRequest.builder() + .req("market.btc-usd.index.1min") + .from(fromDate.getTime() / 1000) + .to(toDate.getTime() / 1000) + .build(); + wssMarketReqHandle.doReq(JSON.toJSONString(wssRequest)); + } catch (Exception e) { + e.printStackTrace(); + } finally { + Thread.sleep(1000); + } + } + } + + @Test + public void test2() throws URISyntaxException, InterruptedException { + WssMarketReqHandle wssMarketReqHandle = new WssMarketReqHandle(URL, response -> { + logger.info("请求(req)基差数据用户收到的原始数据:{}", response); + MarketBasisPriceTypeReqResponse reqResponse = JSON.parseObject(response, MarketBasisPriceTypeReqResponse.class); + logger.info("请求(req)基差数据解析之后的数据为:{}", JSON.toJSON(reqResponse)); + }); + while (true) { + try { + Date fromDate = DateUtils.parseDate("2019-11-01T00:00:00", "yyyy-MM-dd'T'HH:mm:ss"); + Date toDate = DateUtils.parseDate("2019-11-01T00:00:01", "yyyy-MM-dd'T'HH:mm:ss"); + WssRequest wssRequest = WssRequest.builder() + .req("market.btc_cw.basis.1min.open") + .from(fromDate.getTime() / 1000) + .to(toDate.getTime() / 1000) + .build(); + wssMarketReqHandle.doReq(JSON.toJSONString(wssRequest)); + } catch (Exception e) { + e.printStackTrace(); + } finally { + Thread.sleep(1000); + } + } + } + + @Test + public void test3() throws URISyntaxException, InterruptedException { + WssMarketReqHandle wssMarketReqHandle = new WssMarketReqHandle(URL, response -> { + logger.info("请求标记价格K线数据用户收到的原始数据:{}", response); + MarketMarkPriceReqResponse reqResponse = JSON.parseObject(response, MarketMarkPriceReqResponse.class); + logger.info("请求标记价格K线数据解析之后的数据为:{}", JSON.toJSON(reqResponse)); + }); + while (true) { + try { + Date fromDate = DateUtils.parseDate("2019-11-01T00:00:00", "yyyy-MM-dd'T'HH:mm:ss"); + Date toDate = DateUtils.parseDate("2019-11-01T00:00:01", "yyyy-MM-dd'T'HH:mm:ss"); + WssRequest wssRequest = WssRequest.builder() + .req("market.BTC_CW.mark_price.1imin") + .from(fromDate.getTime() / 1000) + .to(toDate.getTime() / 1000) + .build(); + wssMarketReqHandle.doReq(JSON.toJSONString(wssRequest)); + } catch (Exception e) { + e.printStackTrace(); + } finally { + Thread.sleep(1000); + } + } + } +} diff --git a/src/test/java/com/huobi/future/wss/WssIndexSubTest.java b/src/test/java/com/huobi/future/wss/WssIndexSubTest.java new file mode 100644 index 0000000..8f8869e --- /dev/null +++ b/src/test/java/com/huobi/future/wss/WssIndexSubTest.java @@ -0,0 +1,60 @@ +package com.huobi.future.wss; + +import com.alibaba.fastjson.JSON; +import com.google.common.collect.Lists; +import com.huobi.wss.event.*; +import com.huobi.wss.handle.WssMarketHandle; +import org.junit.Test; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.net.URISyntaxException; +import java.util.List; + +public class WssIndexSubTest { + private final Logger logger = LoggerFactory.getLogger(getClass()); + + private String URL = "wss://api.hbdm.com/ws_index";//合约站行情请求以及订阅地址 + WssMarketHandle wssMarketHandle = new WssMarketHandle(URL); + + @Test + public void test1() throws URISyntaxException, InterruptedException { + List channels = Lists.newArrayList(); + channels.add("market.BTC-USD.index.1min"); + wssMarketHandle.sub(channels, response -> { + logger.info("订阅(sub)指数K线数据用户收到的数据===============:{}", JSON.toJSON(response)); + Long currentTimeMillis = System.currentTimeMillis(); + MarketIndexSubResponse event = JSON.parseObject(response, MarketIndexSubResponse.class); + logger.info("订阅(sub)指数K线数据的ts为:{},当前的时间戳为:{},时间间隔为:{}毫秒", event.getTs(), currentTimeMillis, currentTimeMillis - event.getTs()); + }); + Thread.sleep(Integer.MAX_VALUE); + } + + @Test + public void test2() throws URISyntaxException, InterruptedException { + List channels = Lists.newArrayList(); + channels.add("market.BTC_CW.basis.1min.open"); + wssMarketHandle.sub(channels, response -> { + logger.info("订阅(sub)基差数据用户收到的数据===============:{}", JSON.toJSON(response)); + Long currentTimeMillis = System.currentTimeMillis(); + MarketBasisPriceTypeSubResponse event = JSON.parseObject(response, MarketBasisPriceTypeSubResponse.class); + logger.info("订阅(sub)基差数据的ts为:{},当前的时间戳为:{},时间间隔为:{}毫秒", event.getTs(), currentTimeMillis, currentTimeMillis - event.getTs()); + }); + Thread.sleep(Integer.MAX_VALUE); + } + + @Test + public void test3() throws URISyntaxException, InterruptedException { + List channels = Lists.newArrayList(); + channels.add("market.BTC_CW.mark_price.1min"); + wssMarketHandle.sub(channels, response -> { + logger.info("请求标记价格K线数据用户收到的数据===============:{}", JSON.toJSON(response)); + Long currentTimeMillis = System.currentTimeMillis(); + MarketMarkPriceSubResponse event = JSON.parseObject(response, MarketMarkPriceSubResponse.class); + logger.info("请求标记价格K线数据的ts为:{},当前的时间戳为:{},时间间隔为:{}毫秒", event.getTs(), currentTimeMillis, currentTimeMillis - event.getTs()); + }); + Thread.sleep(Integer.MAX_VALUE); + } + + +} diff --git a/src/test/java/com/huobi/future/wss/WssMarketReqTest.java b/src/test/java/com/huobi/future/wss/WssMarketReqTest.java new file mode 100644 index 0000000..8fbafc5 --- /dev/null +++ b/src/test/java/com/huobi/future/wss/WssMarketReqTest.java @@ -0,0 +1,92 @@ +package com.huobi.future.wss; + +import com.alibaba.fastjson.JSON; +import com.huobi.wss.event.MarketKLineReqResponse; +import com.huobi.wss.event.MarketTradeDetailReqResponse; +import com.huobi.wss.handle.WssMarketReqHandle; +import com.huobi.wss.request.WssRequest; +import org.apache.commons.lang3.time.DateUtils; +import org.junit.Test; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.net.URISyntaxException; +import java.text.ParseException; +import java.util.Date; +import java.util.HashMap; +import java.util.Map; + +public class WssMarketReqTest { + + private final Logger logger = LoggerFactory.getLogger(getClass()); + + private String URL = "wss://api.hbdm.com/ws";//合约站行情请求以及订阅地址 + + + /** + * 请求 KLine 数据 + * "req": "market.$symbol.kline.$period", + * "from": " type: long, 2017-07-28T00:00:00+08:00 至2050-01-01T00:00:00+08:00 之间的时间点,单位:秒", + * "to": "type: long, 2017-07-28T00:00:00+08:00 至2050-01-01T00:00:00+08:00 之间的时间点,单位:秒,必须比 from 大" + * + * @throws URISyntaxException + * @throws InterruptedException + * @throws ParseException + */ + @Test + public void test1() throws URISyntaxException, InterruptedException { + + WssMarketReqHandle wssMarketReqHandle = new WssMarketReqHandle(URL, response -> { + logger.info("请求 KLine 数据用户收到的原始数据:{}", response); + MarketKLineReqResponse marketKLineReqResponse = JSON.parseObject(response, MarketKLineReqResponse.class); + logger.info("请求 KLine 数据解析之后的数据为:{}", JSON.toJSON(marketKLineReqResponse)); + }); + while (true) { + try { + Date fromDate = DateUtils.parseDate("2019-11-01T00:00:00", "yyyy-MM-dd'T'HH:mm:ss"); + Date toDate = DateUtils.parseDate("2019-11-01T00:00:01", "yyyy-MM-dd'T'HH:mm:ss"); + + WssRequest wssRequest = WssRequest.builder() + .req("market.BTC_CQ.kline.1min") + .from(fromDate.getTime() / 1000) + .to(toDate.getTime() / 1000) + .build(); + wssMarketReqHandle.doReq(JSON.toJSONString(wssRequest)); + + } catch (Exception e) { + e.printStackTrace(); + } finally { + Thread.sleep(1000); + } + } + } + + + /** + * 请求 Trade Detail 数据 + * + * @throws URISyntaxException + * @throws InterruptedException + */ + @Test + public void test2() throws URISyntaxException, InterruptedException { + + WssMarketReqHandle wssMarketReqHandle = new WssMarketReqHandle(URL, response -> { + logger.info("请求 Trade Detail 数据用户收到的原始数据:{}", response); + MarketTradeDetailReqResponse marketTradeDetailReqResponse = JSON.parseObject(response, MarketTradeDetailReqResponse.class); + logger.info("请求 Trade Detail 数据解析之后的数据为:{}", JSON.toJSON(marketTradeDetailReqResponse)); + }); + while (true) { + try { + Map param = new HashMap<>(); + param.put("req", "market.BTC_CQ.trade.detail"); + wssMarketReqHandle.doReq(JSON.toJSONString(param)); + Thread.sleep(1000); + } catch (Exception e) { + e.printStackTrace(); + } + } + } + + +} diff --git a/src/test/java/com/huobi/future/wss/WssMarketSubTest.java b/src/test/java/com/huobi/future/wss/WssMarketSubTest.java new file mode 100644 index 0000000..62881a9 --- /dev/null +++ b/src/test/java/com/huobi/future/wss/WssMarketSubTest.java @@ -0,0 +1,156 @@ +package com.huobi.future.wss; + +import com.alibaba.fastjson.JSON; +import com.google.common.collect.Lists; +import com.huobi.wss.event.*; +import com.huobi.wss.handle.WssMarketHandle; +import org.junit.Test; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.net.URISyntaxException; +import java.util.List; + +public class WssMarketSubTest { + + private final Logger logger = LoggerFactory.getLogger(getClass()); + + private String URL = "wss://api.hbdm.com/ws";//合约站行情请求以及订阅地址 + WssMarketHandle wssMarketHandle = new WssMarketHandle(URL); + + + /** + * 订阅 KLine 数据 + * market.$symbol.kline.$period + * $symbol 如"BTC_CW"表示BTC当周合约,"BTC_NW"表示BTC次周合约,"BTC_CQ"表示BTC季度合约 + * $period 如 1min, 5min, 15min, 30min, 1hour,4hour,1day, 1mon + *

+ * 注:一个webSocket 可以一次订阅多个 + * + * @throws URISyntaxException + * @throws InterruptedException + */ + @Test + public void test1() throws URISyntaxException, InterruptedException { + List channels = Lists.newArrayList(); + channels.add("market.BTC_CW.kline.1min"); + channels.add("market.BTC_CW.kline.5min"); + channels.add("market.BTC_CW.kline.15min"); + channels.add("market.BTC_CW.kline.30min"); + channels.add("market.BTC_CW.kline.60min"); + channels.add("market.BTC_CW.kline.4hour"); + channels.add("market.BTC_CW.kline.1day"); + channels.add("market.BTC_CW.kline.1week"); + channels.add("market.BTC_CW.kline.1mon"); + wssMarketHandle.sub(channels, response -> { + logger.info("kLineEvent用户收到的数据===============:{}", JSON.toJSON(response)); + Long currentTimeMillis = System.currentTimeMillis(); + MarketKLineSubResponse event = JSON.parseObject(response, MarketKLineSubResponse.class); + logger.info("kLineEvent的ts为:{},当前的时间戳为:{},时间间隔为:{}毫秒", event.getTs(), currentTimeMillis, currentTimeMillis - event.getTs()); + }); + Thread.sleep(Integer.MAX_VALUE); + } + + + /** + * 订阅 Market Depth 数据 + * market.$symbol.depth.$type + * $symbol 如"BTC_CW"表示BTC当周合约,"BTC_NW"表示BTC次周合约,"BTC_CQ"表示BTC季度合约. + * $type (150档数据) step0, step1, step2, step3, step4, step5(合并深度1-5),step0时,不合并深度;(20档数据) step6, step7, step8, step9, step10, step11(合并深度7-11);step6时,不合并深度 + *

+ * 注:一个webSocket 可以一次订阅多个 + * + * @throws URISyntaxException + * @throws InterruptedException + */ + @Test + public void test2() throws URISyntaxException, InterruptedException { + List channels = Lists.newArrayList(); + //channels.add("market.BTC_CW.depth.step0"); + channels.add("market.BTC_CW.depth.step11"); + wssMarketHandle.sub(channels, response -> { + logger.info("depthEvent用户收到的数据===============:{}", JSON.toJSON(response)); + Long currentTimeMillis = System.currentTimeMillis(); + MarketDepthSubResponse event = JSON.parseObject(response, MarketDepthSubResponse.class); + logger.info("depthEvent的ts为:{},当前的时间戳为:{},时间间隔为:{}毫秒", event.getTs(), currentTimeMillis, currentTimeMillis - event.getTs()); + logger.info("数据大小为:{}", event.getTick().getAsks().size()); + }); + Thread.sleep(Integer.MAX_VALUE); + } + + + /** + * 订阅 Market detail 数据 + * market.$symbol.detail + * $symbol 如"BTC_CW"表示BTC当周合约,"BTC_NW"表示BTC次周合约,"BTC_CQ"表示BTC季度合约 + *

+ * 注:一个webSocket 可以一次订阅多个 + * + * @throws URISyntaxException + * @throws InterruptedException + */ + @Test + public void test3() throws URISyntaxException, InterruptedException { + List channels = Lists.newArrayList(); + channels.add("market.BTC_CW.detail"); + channels.add("market.BTC_NW.detail"); + wssMarketHandle.sub(channels, response -> { + logger.info("detailEvent用户收到的数据===============:{}", JSON.toJSON(response)); + Long currentTimeMillis = System.currentTimeMillis(); + MarketDetailSubResponse event = JSON.parseObject(response, MarketDetailSubResponse.class); + logger.info("detailEvent的ts为:{},当前的时间戳为:{},时间间隔为:{}毫秒", event.getTs(), currentTimeMillis, currentTimeMillis - event.getTs()); + }); + Thread.sleep(Integer.MAX_VALUE); + } + + + /** + * 订阅 Trade Detail 数据 + * "sub": "market.$symbol.trade.detail" + * symbol 合约名称 如"BTC_CW"表示BTC当周合约,"BTC_NW"表示BTC次周合约,"BTC_CQ"表示BTC季度合约 + * + * @throws URISyntaxException + * @throws InterruptedException + */ + @Test + public void test4() throws URISyntaxException, InterruptedException { + List channels = Lists.newArrayList(); + channels.add("market.BTC_CW.trade.detail"); + channels.add("market.BTC_NW.trade.detail"); + wssMarketHandle.sub(channels, response -> { + logger.info("订阅TradeDetail数据用户收到的数据===============:{}", JSON.toJSON(response)); + Long currentTimeMillis = System.currentTimeMillis(); + MarketTradeDetailSubResponse event = JSON.parseObject(response, MarketTradeDetailSubResponse.class); + logger.info("tradeDetailEvent的ts为:{},当前的时间戳为:{},时间间隔为:{}毫秒", event.getTs(), currentTimeMillis, currentTimeMillis - event.getTs()); + }); + Thread.sleep(Integer.MAX_VALUE); + } + + @Test + public void test5() throws URISyntaxException, InterruptedException { + List channels = Lists.newArrayList(); + channels.add("market.btc_cw.depth.size_20.high_freq"); + wssMarketHandle.sub(channels, response -> { + logger.info("订阅MarketDepth增量数据用户收到的数据===============:{}", JSON.toJSON(response)); + Long currentTimeMillis = System.currentTimeMillis(); + MarketDepthDiffSubResponse event = JSON.parseObject(response, MarketDepthDiffSubResponse.class); + logger.info("订阅MarketDepth增量数据的ts为:{},当前的时间戳为:{},时间间隔为:{}毫秒", event.getTs(), currentTimeMillis, currentTimeMillis - event.getTs()); + }); + Thread.sleep(Integer.MAX_VALUE); + } + + @Test + public void test6() throws URISyntaxException, InterruptedException { + List channels = Lists.newArrayList(); + channels.add("market.BTC_CQ.bbo"); + wssMarketHandle.sub(channels, response -> { + logger.info("订阅买一卖一逐笔行情数据(BBO)用户收到的数据===============:{}", JSON.toJSON(response)); + Long currentTimeMillis = System.currentTimeMillis(); + MarketBboSubResponse event = JSON.parseObject(response, MarketBboSubResponse.class); + logger.info("订阅买一卖一逐笔行情数据(BBO)的ts为:{},当前的时间戳为:{},时间间隔为:{}毫秒", event.getTs(), currentTimeMillis, currentTimeMillis - event.getTs()); + }); + Thread.sleep(Integer.MAX_VALUE); + } + + +} diff --git a/src/test/java/com/huobi/future/wss/WssNotificationSubTest.java b/src/test/java/com/huobi/future/wss/WssNotificationSubTest.java new file mode 100644 index 0000000..6aa41be --- /dev/null +++ b/src/test/java/com/huobi/future/wss/WssNotificationSubTest.java @@ -0,0 +1,118 @@ +package com.huobi.future.wss; + +import com.alibaba.fastjson.JSON; +import com.google.common.collect.Lists; +import com.huobi.wss.event.*; +import com.huobi.wss.handle.WssNotificationHandle; +import org.junit.Test; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.net.URISyntaxException; +import java.util.List; + +public class WssNotificationSubTest { + + private final Logger logger = LoggerFactory.getLogger(getClass()); + private String host="api.hbdm.com"; + private String url="/notification";//注意地址上一定要带上"/"。 + private String sign="256"; + private String key=""; + private String secret=""; + //private String URL = "wss://api.hbdm.com/notification";//订单推送访问地址.更换请求的域名时,需将WssNotificationHandle类中的addAuth()方法里面的域名也一起替换掉。 + WssNotificationHandle wssNotificationHandle = new WssNotificationHandle( host , url , key, secret,sign); + + + @Test + public void test1() throws URISyntaxException, InterruptedException { + List channels = Lists.newArrayList(); + channels.add("orders.btc"); + wssNotificationHandle.sub(channels, response -> { + logger.info("订阅订单成交数据(sub)用户收到的数据===============:{}", JSON.toJSON(response)); + Long currentTimeMillis = System.currentTimeMillis(); + OrdersSubResponse event = JSON.parseObject(response, OrdersSubResponse.class); + logger.info("订阅订单成交数据(sub)的ts为:{},当前的时间戳为:{},时间间隔为:{}毫秒", event.getTs(), currentTimeMillis, currentTimeMillis - event.getTs()); + }); + Thread.sleep(Integer.MAX_VALUE); + } + + @Test + public void test2() throws URISyntaxException, InterruptedException { + List channels = Lists.newArrayList(); + channels.add("accounts.btc"); + wssNotificationHandle.sub(channels, response -> { + logger.info("订阅资产变动数据(sub)用户收到的数据===============:{}", JSON.toJSON(response)); + Long currentTimeMillis = System.currentTimeMillis(); + AccountsSubResponse event = JSON.parseObject(response, AccountsSubResponse.class); + logger.info("订阅资产变动数据(sub)的ts为:{},当前的时间戳为:{},时间间隔为:{}毫秒", event.getTs(), currentTimeMillis, currentTimeMillis - event.getTs()); + }); + Thread.sleep(Integer.MAX_VALUE); + } + + @Test + public void test3() throws URISyntaxException, InterruptedException { + List channels = Lists.newArrayList(); + channels.add("positions.btc"); + wssNotificationHandle.sub(channels, response -> { + logger.info("订阅持仓变动更新数据(sub)用户收到的数据===============:{}", JSON.toJSON(response)); + Long currentTimeMillis = System.currentTimeMillis(); + PositionsSubResponse event = JSON.parseObject(response, PositionsSubResponse.class); + logger.info("订阅持仓变动更新数据(sub)的ts为:{},当前的时间戳为:{},时间间隔为:{}毫秒", event.getTs(), currentTimeMillis, currentTimeMillis - event.getTs()); + }); + Thread.sleep(Integer.MAX_VALUE); + } + + @Test + public void test4() throws URISyntaxException, InterruptedException { + List channels = Lists.newArrayList(); + channels.add("public.BTC.liquidation_orders"); + wssNotificationHandle.sub(channels, response -> { + logger.info("订阅强平订单数据(免鉴权)(sub)用户收到的数据===============:{}", JSON.toJSON(response)); + Long currentTimeMillis = System.currentTimeMillis(); + PublicSubResponse event = JSON.parseObject(response, PublicSubResponse.class); + logger.info("订阅强平订单数据(免鉴权)(sub)的ts为:{},当前的时间戳为:{},时间间隔为:{}毫秒", event.getTs(), currentTimeMillis, currentTimeMillis - event.getTs()); + }); + Thread.sleep(Integer.MAX_VALUE); + } + + @Test + public void test5() throws URISyntaxException, InterruptedException { + List channels = Lists.newArrayList(); + channels.add("public.btc.contract_info"); + wssNotificationHandle.sub(channels, response -> { + logger.info("订阅合约信息变动(免鉴权)(sub)用户收到的数据===============:{}", JSON.toJSON(response)); + Long currentTimeMillis = System.currentTimeMillis(); + PublicContractInfoFutureSubResponse event = JSON.parseObject(response, PublicContractInfoFutureSubResponse.class); + logger.info("订阅合约信息变动(免鉴权)(sub)的ts为:{},当前的时间戳为:{},时间间隔为:{}毫秒", event.getTs(), currentTimeMillis, currentTimeMillis - event.getTs()); + }); + Thread.sleep(Integer.MAX_VALUE); + } + + @Test + public void test6() throws URISyntaxException, InterruptedException { + List channels = Lists.newArrayList(); + channels.add("trigger_order.BTC"); + wssNotificationHandle.sub(channels, response -> { + logger.info("订阅计划委托订单更新用户收到的数据===============:{}", JSON.toJSON(response)); + Long currentTimeMillis = System.currentTimeMillis(); + TriggerOrderSubResponse event = JSON.parseObject(response, TriggerOrderSubResponse.class); + logger.info("订阅计划委托订单更新的ts为:{},当前的时间戳为:{},时间间隔为:{}毫秒", event.getTs(), currentTimeMillis, currentTimeMillis - event.getTs()); + }); + Thread.sleep(Integer.MAX_VALUE); + } + + @Test + public void test7() throws URISyntaxException, InterruptedException { + List channels = Lists.newArrayList(); + channels.add("matchOrders.btc"); + wssNotificationHandle.sub(channels, response -> { + logger.info("订阅订单撮合数据(sub)用户收到的数据===============:{}", JSON.toJSON(response)); + Long currentTimeMillis = System.currentTimeMillis(); + MatchOrdersSubResponse event = JSON.parseObject(response, MatchOrdersSubResponse.class); + logger.info("订阅订单撮合数据(sub)的ts为:{},当前的时间戳为:{},时间间隔为:{}毫秒", event.getTs(), currentTimeMillis, currentTimeMillis - event.getTs()); + }); + Thread.sleep(Integer.MAX_VALUE); + } + + +} diff --git a/src/test/java/com/huobi/swap/api/AccountAPITest.java b/src/test/java/com/huobi/swap/api/AccountAPITest.java new file mode 100644 index 0000000..54ca599 --- /dev/null +++ b/src/test/java/com/huobi/swap/api/AccountAPITest.java @@ -0,0 +1,191 @@ +package com.huobi.swap.api; + +import com.alibaba.fastjson.JSON; +import com.huobi.api.request.coin_swap.account.*; +import com.huobi.api.request.usdt.account.SwapSubAuthListRequest; +import com.huobi.api.response.coin_swap.account.*; +import com.huobi.api.response.usdt.account.SwapSubAuthListResponse; +import com.huobi.api.service.coin_swap.account.AccountAPIServiceImpl; +import org.junit.FixMethodOrder; +import org.junit.Test; +import org.junit.runners.MethodSorters; + +import java.math.BigDecimal; + + +@FixMethodOrder(MethodSorters.JVM) +public class AccountAPITest implements BaseTest { + + + AccountAPIServiceImpl huobiAPIService = new AccountAPIServiceImpl("", ""); + + @Test + public void getSwapBalanceValuation(){ + SwapBalanceValuationResponse response=huobiAPIService.getSwapBalanceValuation("cny"); + logger.debug("1.获取账户总资产估值:{}", JSON.toJSONString(response)); + } + + @Test + public void getSwapAccountInfoResponse() { + SwapAccountInfoResponse response = huobiAPIService.getSwapAccountInfo("theta-usd"); + logger.debug("2.获取用户账户信息:{}", JSON.toJSONString(response)); + response = huobiAPIService.getSwapAccountInfo(""); + logger.debug("2.获取用户账户信息:{}", JSON.toJSONString(response)); + } + + @Test + public void getSwapPositionInfo() { + SwapPositionInfoResponse response = huobiAPIService.getSwapPositionInfo("theta-usd"); + logger.debug("3.获取用户持仓信息:{}", JSON.toJSONString(response)); + response = huobiAPIService.getSwapPositionInfo(""); + logger.debug("3.获取用户持仓信息:{}", JSON.toJSONString(response)); + } + + @Test + public void getSwapAccountPositionInfo() { + SwapAccountPositionInfoResponse response = huobiAPIService.getSwapAccountPositionInfo("theta-usd"); + logger.debug("4.查询用户账户和持仓信息:{}", JSON.toJSONString(response)); + } + + @Test + public void getSwapSubAuth(){ + SwapSubAuthResponse response=huobiAPIService.getSwapSubAuth("146190163,12345",1); + logger.debug("5.批量设置子账户交易权限:{}", JSON.toJSONString(response)); + } + + @Test + public void getSwapSubAuthList(){ + SwapSubAuthListRequest request = SwapSubAuthListRequest.builder() + .build(); + SwapSubAuthListResponse response = huobiAPIService.getSwapSubAuthList(request); + logger.debug("6.查询子账户交易权限:{}", JSON.toJSONString(response)); + } + + @Test + public void getSwapSubAccountList() { + SwapSubAccountListResponse response = huobiAPIService.getSwapSubAccountList("theta-usd", "next", null); + logger.debug("7.查询母账户下所有子账户资产信息:{}", JSON.toJSONString(response)); + response = huobiAPIService.getSwapSubAccountList("","",null); + logger.debug("7.查询母账户下所有子账户资产信息:{}", JSON.toJSONString(response)); + } + + @Test + public void getSwapSubAccountInfoList(){ + SwapSubAccountInfoListResponse response=huobiAPIService.getSwapSubAccountInfoList("",1,0); + logger.debug("8.批量获取子账户资产信息:{}", JSON.toJSONString(response)); + } + + @Test + public void getSwapSubAccountInfo() { + SwapSubAccountInfoResponse response = huobiAPIService.getSwapSubAccountInfo("theta-usd", 1l); + logger.debug("9.查询单个子账户资产信息:{}", JSON.toJSONString(response)); + logger.debug(response.getStatus()); + } + + @Test + public void getSwapSubPositionInfo() { + SwapSubPositionInfoResponse response = huobiAPIService.getSwapSubPositionInfo("BTC-USD", 1l); + logger.debug("10.查询单个子账户持仓信息:{}", JSON.toJSONString(response)); + logger.debug(response.getStatus()); + } + + @Test + public void getSwapFinancialRecordV3(){ + SwapFinancialRecordV3Request request = SwapFinancialRecordV3Request.builder() + .contract("BTC-USDT") + .build(); + SwapFinancialRecordV3Response response = huobiAPIService.getSwapFinancialRecordV3(request); + logger.debug("11.查询用户财务记录(新):{}", JSON.toJSONString(response)); + } + + @Test + public void getSwapFinancialRecordExactV3(){ + SwapFinancialRecordExactV3Request request = SwapFinancialRecordExactV3Request.builder() + .contract("BTC-USD") + .build(); + SwapFinancialRecordExactV3Response response = huobiAPIService.getSwapFinancialRecordExactV3(request); + logger.debug("12.组合查询用户财务记录(新):{}", JSON.toJSONString(response)); + } + + @Test + public void getSwapUserSettlementRecords(){ + SwapUserSettlementRecordsRequest request= SwapUserSettlementRecordsRequest.builder() + .contractCode("theta-usd") + // .startTime() + // .endTime() + // .pageIndex() + // .pageSize() + .build(); + SwapUserSettlementRecordsResponse response=huobiAPIService.getSwapUserSettlementRecords(request); + logger.debug("13.查询用户结算记录:{}", JSON.toJSONString(response)); + } + + @Test + public void getSwapAvailableLevelRate(){ + SwapAvailableLevelRateResponse response=huobiAPIService.getSwapAvailableLevelRate("theta-usd"); + logger.debug("14.查询用户可用杠杆倍数:{}", JSON.toJSONString(response)); + } + + @Test + public void getSwapOrderLimitResponse() { + SwapOrderLimitResponse response = huobiAPIService.getSwapOrderLimitResponse("theta-usd", "limit"); + logger.debug("15.查询用户当前的下单量限制:{}", JSON.toJSONString(response)); + response = huobiAPIService.getSwapOrderLimitResponse("", "limit"); + logger.debug("15.查询用户当前的下单量限制:{}", JSON.toJSONString(response)); + } + + @Test + public void getSwapFeeResponse() { + SwapFeeResponse response = huobiAPIService.getSwapFeeResponse("theta-USD"); + logger.debug("16.查询用户当前的手续费费率:{}", JSON.toJSONString(response)); + response = huobiAPIService.getSwapFeeResponse(""); + logger.debug("16.查询用户当前的手续费费率:{}", JSON.toJSONString(response)); + } + + @Test + public void getSwapTransferLimitResponse() { + SwapTransferLimitResponse response = huobiAPIService.getSwapTransferLimitResponse("theta-usd"); + logger.debug("17.查询用户当前的划转限制:{}", JSON.toJSONString(response)); + response = huobiAPIService.getSwapTransferLimitResponse(""); + logger.debug("17.查询用户当前的划转限制:{}", JSON.toJSONString(response)); + } + + @Test + public void getSwapPositionLimitResponse() { + SwapPositionLimitResponse response = huobiAPIService.getSwapPositionLimitResponse("theta-usd"); + logger.debug("18.用户持仓量限制的查询:{}", JSON.toJSONString(response)); + response = huobiAPIService.getSwapPositionLimitResponse(""); + logger.debug("18.用户持仓量限制的查询:{}", JSON.toJSONString(response)); + } + + @Test + public void getOptionMasterSubTransferResponse() { + SwapMasterSubTransferRequest request = SwapMasterSubTransferRequest.builder() + .subUid(1l) + .contractCode("THETA-USD") + .amount(BigDecimal.valueOf(10)) + .type("sub_to_master") + .build(); + SwapMasterSubTransferResponse response = huobiAPIService.getSwapMasterSubTransferResponse(request); + logger.debug("19.母子账户划转:{}", JSON.toJSONString(response)); + } + + @Test + public void getSwapMasterSubTransferRecordResponse() { + SwapMasterSubTransferRecordRequest request = SwapMasterSubTransferRecordRequest.builder() + .contractCode("theta-USD") + //.transferType("") + .createDate(10) + .pageIndex(1) + .pageSize(20) + .build(); + SwapMasterSubTransferRecordResponse response = huobiAPIService.getSwapMasterSubTransferRecordResponse(request); + logger.debug("20.获取母账户下的所有母子账户划转记录:{}", JSON.toJSONString(response)); + } + + @Test + public void getSwapApiTradingStatusResponse() { + SwapApiTradingStatusResponse response = huobiAPIService.getSwapApiTradingStatusResponse(); + logger.debug("21.获取用户API指标禁用信息:{}", JSON.toJSONString(response)); + } +} diff --git a/src/test/java/com/huobi/swap/api/BaseTest.java b/src/test/java/com/huobi/swap/api/BaseTest.java new file mode 100644 index 0000000..44f3280 --- /dev/null +++ b/src/test/java/com/huobi/swap/api/BaseTest.java @@ -0,0 +1,11 @@ +package com.huobi.swap.api; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public interface BaseTest { + + Logger logger = LoggerFactory.getLogger(BaseTest.class); + + +} diff --git a/src/test/java/com/huobi/swap/api/MarketAPITest.java b/src/test/java/com/huobi/swap/api/MarketAPITest.java new file mode 100644 index 0000000..c440d67 --- /dev/null +++ b/src/test/java/com/huobi/swap/api/MarketAPITest.java @@ -0,0 +1,106 @@ +package com.huobi.swap.api; + +import com.alibaba.fastjson.JSON; +import com.huobi.api.request.coin_swap.account.LinearSwapBasisRequest; +import com.huobi.api.request.coin_swap.account.SwapLiquidationOrdersRequest; +import com.huobi.api.request.coin_swap.account.SwapMarketHistoryKlineRequest; +import com.huobi.api.request.coin_swap.market.SwapSettlementRecordsRequest; +import com.huobi.api.request.usdt.account.SwapLiquidationOrdersV3Request; +import com.huobi.api.response.coin_swap.market.*; +import com.huobi.api.response.usdt.account.SwapLiquidationOrdersV3Response; +import com.huobi.api.response.usdt.market.BatchMergedV2Response; +import com.huobi.api.response.usdt.market.SwapQueryElementsResponse; +import com.huobi.api.response.usdt.market.SwapSettlementRecordsResponse; +import com.huobi.api.service.coin_swap.market.MarketAPIServiceImpl; +import org.junit.FixMethodOrder; +import org.junit.Test; +import org.junit.runners.MethodSorters; + +@FixMethodOrder(MethodSorters.JVM) +public class MarketAPITest implements BaseTest { + + MarketAPIServiceImpl huobiAPIService = new MarketAPIServiceImpl(); + + @Test + public void getSwapMarketDepth() { + SwapMarketDepthResponse result = + huobiAPIService.getSwapMarketDepth("btc-usd", "step15"); + logger.debug("1.获取行情深度数据:{}", JSON.toJSONString(result)); + } + + @Test + public void getMarketBbo(){ + MarketBboResponse response=huobiAPIService.getMarketBbo("ltc-usd"); + logger.debug("2.获取市场最优挂单:{}", JSON.toJSONString(response)); + } + + @Test + public void getSwapMarketHistoryKline() { + SwapMarketHistoryKlineRequest result = SwapMarketHistoryKlineRequest.builder() + .contractCode("BTC-USD") + .period("15min") + .size(1) + //.from() + //.to() + .build(); + SwapMarketHistoryKlineResponse response = huobiAPIService.getSwapMarketHistoryKline(result); + logger.debug("3.获取K线数据:{}", JSON.toJSONString(response)); + } + + @Test + public void getSwapMarkPriceKline(){ + SwapMarkPriceKlineResponse response =huobiAPIService.getSwapMarkPriceKline("btc-usd","1min",20); + logger.debug("4.获取标记价格的K线数据:{}", JSON.toJSONString(response)); + } + + @Test + public void getSwapMarketDetailMergedResponse() { + SwapMarketDetailMergedResponse result = + huobiAPIService.getSwapMarketDetailMerged("BTC-USD"); + logger.debug("5.获取聚合行情:{}", JSON.toJSONString(result)); + } + + @Test + public void getBatchMergedV2(){ + BatchMergedV2Response response = huobiAPIService.getBatchMergedV2(null); + logger.debug("6.批量获取聚合行情(V2):{}", JSON.toJSONString(response)); + } + + @Test + public void getSwapMarketTradeResponse() { + SwapMarketTradeResponse response = huobiAPIService.getSwapMarketTrade("BTC-USD"); + logger.debug("7.获取市场最近成交记录:{}", JSON.toJSONString(response)); + } + + @Test + public void getSwapMarketHistoryTradeResponse() { + SwapMarketHistoryTradeResponse response = huobiAPIService.getSwapMarketHistoryTrade("BTC-USD", 20); + logger.debug("8.批量获取最近的交易记录:{}", JSON.toJSONString(response)); + } + + @Test + public void getLinearSwapPremiumIndexKlineResponse() { + LinearSwapPremiumIndexKlineResponse response = + huobiAPIService.getLinearSwapPremiumIndexKline("BTC-USD", "5min", 10); + logger.debug("9.获取合约的溢价指数K线:{}", JSON.toJSONString(response)); + } + + @Test + public void getLinearSwapEstimatedRateKlineResponse() { + LinearSwapEstimatedRateKlineResponse response = + huobiAPIService.getLinearSwapEstimatedRateKline("BTC-USD", "5min", 10); + logger.debug("10.获取实时预测资金费率的K线数据:{}", JSON.toJSONString(response)); + } + + @Test + public void getLinearSwapBasisResponse() { + LinearSwapBasisRequest request = LinearSwapBasisRequest.builder() + .contractCode("FIL-USD") + .period("15min") + .basisPriceType("open") + .size(10) + .build(); + LinearSwapBasisResponse response = huobiAPIService.getLinearSwapBasis(request); + logger.debug("11.获取基差数据:{}", JSON.toJSONString(response)); + } +} diff --git a/src/test/java/com/huobi/swap/api/ReferenceAPITest.java b/src/test/java/com/huobi/swap/api/ReferenceAPITest.java new file mode 100644 index 0000000..a80baaa --- /dev/null +++ b/src/test/java/com/huobi/swap/api/ReferenceAPITest.java @@ -0,0 +1,170 @@ +package com.huobi.swap.api; + +import com.alibaba.fastjson.JSON; +import com.huobi.api.request.coin_swap.market.SwapSettlementRecordsRequest; +import com.huobi.api.request.usdt.account.SwapLiquidationOrdersV3Request; +import com.huobi.api.response.coin_swap.market.*; +import com.huobi.api.response.usdt.account.SwapLiquidationOrdersV3Response; +import com.huobi.api.response.usdt.market.SwapQueryElementsResponse; +import com.huobi.api.response.usdt.market.SwapSettlementRecordsResponse; +import com.huobi.api.service.coin_swap.reference.ReferenceAPIServiceImpl; +import com.huobi.usdt.api.BaseTest; +import org.junit.FixMethodOrder; +import org.junit.Test; +import org.junit.runners.MethodSorters; + +@FixMethodOrder(MethodSorters.JVM) +public class ReferenceAPITest implements BaseTest { + ReferenceAPIServiceImpl huobiAPIService = new ReferenceAPIServiceImpl(); + + @Test + public void getSwapRiskInfoResponse() { + SwapRiskInfoResponse response = huobiAPIService.getSwapRiskInfo(""); + logger.debug("1.查询合约风险准备金余额和预估分摊比例:{}", JSON.toJSONString(response)); + } + + @Test + public void getSwapInsuranceFundResponse() { + SwapInsuranceFundResponse response = huobiAPIService.getSwapInsuranceFund("BTC-USD", 1, 10); + logger.debug("2.查询合约风险准备金余额历史数据:{}", JSON.toJSONString(response)); + } + + @Test + public void getSwapAdjustfactorResponse() { + SwapAdjustfactorResponse response = huobiAPIService.getSwapAdjustfactor("BTC-USD"); + logger.debug("3.查询平台阶梯调整系数:{}", JSON.toJSONString(response)); + } + + @Test + public void getSwapHisOpenInterestResponse() { + SwapHisOpenInterestResponse response = huobiAPIService.getSwapHisOpenInterest("BTC-USD", "60min", 10, 1); + logger.debug("4.平台持仓量的查询:{}", JSON.toJSONString(response)); + } + + @Test + public void getSwapLadderMargin(){ + SwapLadderMarginResponse response=huobiAPIService.getSwapLadderMargin("btc-usd"); + logger.debug("5.获取平台阶梯保证金:{}", JSON.toJSONString(response)); + } + + @Test + public void getSwapEliteAccountRatioResponse() { + SwapEliteAccountRatioResponse response = huobiAPIService.getSwapEliteAccountRatio("THETA-USD", "5min"); + logger.debug("6.精英账户多空持仓对比-账户数:{}", JSON.toJSONString(response)); + } + + @Test + public void getSwapElitePositionRatioResponse() { + SwapElitePositionRatioResponse response = huobiAPIService.getSwapElitePositionRatio("THETA-USD", "5min"); + logger.debug("7.精英账户多空持仓对比-持仓量:{}", JSON.toJSONString(response)); + } + + @Test + public void getSwapEstimatedSettlementPriceResponse(){ + SwapEstimatedSettlementPriceResponse response=huobiAPIService.getSwapEstimatedSettlementPrice("btc-usd"); + logger.debug("8.获取预估结算价:{}", JSON.toJSONString(response)); + } + + @Test + public void getSwapApiStateResponse() { + SwapApiStateResponse response = huobiAPIService.getSwapApiState(""); + logger.debug("9.查询系统状态:{}", JSON.toJSONString(response)); + } + + @Test + public void getSwapFundingRateResponse() { + SwapFundingRateResponse response = huobiAPIService.getSwapFundingRate("BTC-USD"); + logger.debug("10.获取合约的资金费率:{}", JSON.toJSONString(response)); + } + + @Test + public void getSwapBatchFundingRate(){ + SwapBatchFundingRateResponse response=huobiAPIService.getSwapBatchFundingRate(""); + logger.debug("11.批量获取合约资金费率:{}", JSON.toJSONString(response)); + } + + @Test + public void getSwapHistoricalFundingRateResponse() { + SwapHistoricalFundingRateResponse response = huobiAPIService.getSwapHistoricalFundingRate("BTC-USD", 1, 10); + logger.debug("12.获取合约的历史资金费率:{}", JSON.toJSONString(response)); + } + + @Test + public void getSwapLiquidationOrdersV3(){ + SwapLiquidationOrdersV3Request request = SwapLiquidationOrdersV3Request.builder() + .contract("BTC-USD") + .tradeType(0) + .build(); + SwapLiquidationOrdersV3Response response = huobiAPIService.getSwapLiquidationOrdersV3(request); + logger.debug("13.获取强平订单(新):{}", JSON.toJSONString(response)); + } + + @Test + public void getSwapSettlementRecords(){ + SwapSettlementRecordsRequest request = SwapSettlementRecordsRequest.builder() + .contractCode("BTC-USD") + .build(); + SwapSettlementRecordsResponse response = huobiAPIService.getSwapSettlementRecords(request); + logger.debug("14.查询平台历史结算记录:{}", JSON.toJSONString(response)); + } + + @Test + public void getSwapContractInfo() { + SwapContractInfoResponse result = + huobiAPIService.getSwapContractInfo("BTC-USD"); + logger.debug("15.获取合约信息:{}", JSON.toJSONString(result)); + result =huobiAPIService.getSwapContractInfo(""); + logger.debug("15.获取合约信息:{}", JSON.toJSONString(result)); + } + + @Test + public void getSwapIndex() { + SwapIndexResponse result = + huobiAPIService.getSwapIndex("btc-usd"); + logger.debug("16.获取合约指数信息:{}", JSON.toJSONString(result)); + result = + huobiAPIService.getSwapIndex(""); + logger.debug("16.获取合约指数信息:{}", JSON.toJSONString(result)); + } + + @Test + public void getSwapQueryElements(){ + SwapQueryElementsResponse response = huobiAPIService.getSwapQueryElements("BTC"); + logger.debug("17.合约要素:{}", JSON.toJSONString(response)); + } + + @Test + public void getSwapPriceLimit() { + SwapPriceLimitResponse result = + huobiAPIService.getSwapPriceLimit("BTC-USD"); + logger.debug("18.获取合约最高限价和最低限价:{}", JSON.toJSONString(result)); + } + + @Test + public void getSwapOpenInterest() { + SwapOpenInterestResponse result = + huobiAPIService.getSwapOpenInterest("btc-usd"); + logger.debug("19.获取当前可用合约总持仓量:{}", JSON.toJSONString(result)); + result = huobiAPIService.getSwapOpenInterest(""); + logger.debug("19.获取当前可用合约总持仓量:{}", JSON.toJSONString(result)); + } + + @Test + public void getTimestamp(){ + TimestampReponse response = huobiAPIService.getTimestamp(); + logger.debug("20.获取当前系统时间戳:{}", JSON.toJSONString(response)); + } + + @Test + public void getHeartBeat(){ + HeartBeatResponse response = huobiAPIService.getHeartBeat(); + logger.debug("21.查询系统是否可用:{}", JSON.toJSONString(response)); + } + + @Test + public void getSummary(){ + SummaryResponse response = huobiAPIService.getSummary(); + logger.debug("22.获取当前系统状态:{}", JSON.toJSONString(response)); + } + +} diff --git a/src/test/java/com/huobi/swap/api/StrategyAPITest.java b/src/test/java/com/huobi/swap/api/StrategyAPITest.java new file mode 100644 index 0000000..63e9309 --- /dev/null +++ b/src/test/java/com/huobi/swap/api/StrategyAPITest.java @@ -0,0 +1,216 @@ +package com.huobi.swap.api; + +import com.alibaba.fastjson.JSON; +import com.huobi.api.enums.DirectionEnum; +import com.huobi.api.enums.OffsetEnum; +import com.huobi.api.request.coin_swap.trade.*; +import com.huobi.api.response.coin_swap.trade.*; +import com.huobi.api.service.coin_swap.account.AccountAPIServiceImpl; +import com.huobi.api.service.coin_swap.strategy.StrategyAPIServiceImpl; +import org.junit.FixMethodOrder; +import org.junit.Test; +import org.junit.runners.MethodSorters; + +import java.math.BigDecimal; + +@FixMethodOrder(MethodSorters.JVM) +public class StrategyAPITest implements BaseTest { + StrategyAPIServiceImpl huobiAPIService = new StrategyAPIServiceImpl("", ""); + + @Test + public void swapTriggerOrderRequest() { + SwapTriggerOrderRequest request = SwapTriggerOrderRequest.builder() + .contractCode("theta-usd") + .triggerType("le") + .triggerPrice(BigDecimal.valueOf(0.677)) + .orderPrice(BigDecimal.valueOf(0.677)) + .orderPriceType("limit") + .volume(1l) + .direction(DirectionEnum.BUY) + .offset(OffsetEnum.OPEN) + .leverRate(20) + .build(); + SwapTriggerOrderResponse response = huobiAPIService.swapTriggerOrderResponse(request); + logger.debug("1.计划委托下单:{}", JSON.toJSONString(response)); + } + + @Test + public void swapTriggerCancelRequest() { + SwapTriggerCancelRequest request = SwapTriggerCancelRequest.builder() + .orderId("4699") + .contractCode("theta-usd") + .build(); + SwapTriggerCancelResponse response = huobiAPIService.swapTriggerCancelResponse(request); + logger.debug("2.计划委托撤单:{}", JSON.toJSONString(response)); + } + + @Test + public void swapTriggerCancelallRequest() { + SwapTriggerCancelallRequest request = SwapTriggerCancelallRequest.builder() + .contractCode("theta-usd") + .build(); + SwapTriggerCancelallResponse response = huobiAPIService.swapTriggerCancelallResponse(request); + logger.debug("3.计划委托全部撤单:{}", JSON.toJSONString(response)); + } + + @Test + public void swapTriggerOpenordersRequest() { + SwapTriggerOpenordersRequest request = SwapTriggerOpenordersRequest.builder() + .contractCode("btc-usd") + .pageIndex(1) + .pageSize(10) + .build(); + SwapTriggerOpenordersResponse response = huobiAPIService.swapTriggerOpenordersResponse(request); + logger.debug("4.获取计划委托当前委托:{}", JSON.toJSONString(response)); + + } + + @Test + public void swapTriggerHisordersRequest() { + SwapTriggerHisordersRequest request = SwapTriggerHisordersRequest.builder() + .tradeType(0) + .status("0") + .createDate(10) + .contractCode("btc-usd") + .pageIndex(1) + .pageSize(1) + .sortBy("update_time") + .build(); + SwapTriggerHisordersResponse response = huobiAPIService.swapTriggerHisordersResponse(request); + logger.debug("5.获取计划委托历史委托:{}", JSON.toJSONString(response)); + } + + @Test + public void swapTpslOrderRequest(){ + SwapTpslOrderRequest request= SwapTpslOrderRequest.builder() + .contractCode("xrp-usd") + .direction("sell") + .volume(BigDecimal.valueOf(1)) + .tpTriggerPrice(BigDecimal.valueOf(0.5)) + .tpOrderPrice(BigDecimal.valueOf(0.5)) + .tpOrderPriceType("limit") + .slTriggerPrice(BigDecimal.valueOf(0.2)) + .slOrderPrice(BigDecimal.valueOf(0.2)) + .slOrderPriceType("limit") + .build(); + SwapTpslOrderResponse response=huobiAPIService.swapTpslOrderResponse(request); + logger.debug("6.对仓位设置止盈止损订单:{}", JSON.toJSONString(response)); + } + + @Test + public void swapTpslCancelRequest(){ + SwapTpslCancelRequest request= SwapTpslCancelRequest.builder() + .contractCode("xrp-usd") + .orderId("798933220753608704,798593423673294823") + .build(); + SwapTpslCancelResponse response=huobiAPIService.swapTpslCancelResponse(request); + logger.debug("7.止盈止损订单撤单:{}", JSON.toJSONString(response)); + } + + @Test + public void swapTpslCancelallRequest(){ + SwapTpslCancelallRequest request= SwapTpslCancelallRequest.builder() + .contractCode("xrp-usd") + .build(); + SwapTpslCancelallResponse response=huobiAPIService.swapTpslCancelallResponse(request); + logger.debug("8.止盈止损订单全部撤单:{}", JSON.toJSONString(response)); + } + + @Test + public void swapTpslOpenorderRequest(){ + SwapTpslOpenordersRequest request= SwapTpslOpenordersRequest.builder() + .contractCode("xrp-usd") + .pageIndex(1) + .pageSize(20) + .build(); + SwapTpslOpenordersResponse response=huobiAPIService.swapTpslOpenordersResponse(request); + logger.debug("9.查询止盈止损订单当前委托:{}", JSON.toJSONString(response)); + } + + @Test + public void swapTpslHisordersRequest(){ + SwapTpslHisordersRequset requset= SwapTpslHisordersRequset.builder() + .contractCode("xrp-usd") + .status("0") + .createDate(10l) + .pageIndex(1) + .pageSize(20) + .sortBy("update_time") + .build(); + SwapTpslHisordersResponse response=huobiAPIService.swapTpslHisordersResponse(requset); + logger.debug("10.查询止盈止损订单历史委托:{}", JSON.toJSONString(response)); + } + + @Test + public void swapRelationTpslOrder(){ + SwapRelationTpslOrderRequest request= SwapRelationTpslOrderRequest.builder() + .contractCode("xrp-usd") + .orderId(798931252656209920l) + .build(); + SwapRelationTpslOrderResponse response=huobiAPIService.swapRelationTpslOrderResponse(request); + logger.debug("11.查询开仓单关联的止盈止损订单详情:{}", JSON.toJSONString(response)); + } + + @Test + public void swapTrackOrders(){ + SwapTrackOrderRequest request=SwapTrackOrderRequest.builder() + .contractCode("") + .direction("") + .offset("") + .leverRate(1) + .volume(BigDecimal.valueOf(1)) + .callbackRate(BigDecimal.valueOf(0.1)) + .orderPriceType("") + .build(); + SwapTrackOrderResponse response=huobiAPIService.swapTrackOrderResponse(request); + logger.debug("12.跟踪委托订单下单:{}", JSON.toJSONString(response)); + } + + @Test + public void swapTrackCancel(){ + SwapTrackCancelRequest request= SwapTrackCancelRequest.builder() + .orderId("") + .contractCode("") + .build(); + SwapTrackCancelResponse response=huobiAPIService.swapTrackCancelResponse(request); + logger.debug("13.跟踪委托订单撤单:{}", JSON.toJSONString(response)); + } + + @Test + public void swapTrackCancelall(){ + SwapTrackCancelallRequest request= SwapTrackCancelallRequest.builder() + .contractCode("") + .direction("") + .offset("") + .build(); + SwapTrackCancelallResponse response=huobiAPIService.swapTrackCancelallResponse(request); + logger.debug("14.跟踪委托订单全部撤单:{}", JSON.toJSONString(response)); + } + + @Test + public void swapTrackOpenorders(){ + SwapTrackOpenordersRequest request=SwapTrackOpenordersRequest.builder() + .contractCode("") + .tradeType(0) + .pageIndex(1) + .pageSize(2) + .build(); + SwapTrackOpenordersResponse response=huobiAPIService.swapTrackOpenordersResponse(request); + logger.debug("15.跟踪委托订单当前委托:{}", JSON.toJSONString(response)); + } + + @Test + public void swapTrackHisorders(){ + SwapTrackHisordersRequest request= SwapTrackHisordersRequest.builder() + .contractCode("") + .tradeType(0) + .createDate(10l) + .pageIndex(1) + .pageSize(1) + .sortBy("") + .build(); + SwapTrackHisordersResponse response=huobiAPIService.swapTrackHisordersResponse(request); + logger.debug("16.跟踪委托订单当前委托:{}", JSON.toJSONString(response)); + } + +} diff --git a/src/test/java/com/huobi/swap/api/TradeAPITest.java b/src/test/java/com/huobi/swap/api/TradeAPITest.java new file mode 100644 index 0000000..a87a6c3 --- /dev/null +++ b/src/test/java/com/huobi/swap/api/TradeAPITest.java @@ -0,0 +1,207 @@ +package com.huobi.swap.api; + +import com.alibaba.fastjson.JSON; +import com.google.errorprone.annotations.Var; +import com.huobi.api.enums.DirectionEnum; +import com.huobi.api.enums.OffsetEnum; +import com.huobi.api.request.coin_swap.trade.*; +import com.huobi.api.request.usdt.trade.SwapHisordersExactV3Request; +import com.huobi.api.request.usdt.trade.SwapHisordersV3Request; +import com.huobi.api.request.usdt.trade.SwapMatchResultsExactV3Request; +import com.huobi.api.request.usdt.trade.SwapMatchResultsV3Request; +import com.huobi.api.response.coin_swap.trade.*; +import com.huobi.api.response.usdt.trade.SwapHisordersExactV3Response; +import com.huobi.api.response.usdt.trade.SwapHisordersV3Response; +import com.huobi.api.response.usdt.trade.SwapMatchResultsExactV3Response; +import com.huobi.api.response.usdt.trade.SwapMatchResultsV3Response; +import com.huobi.api.service.coin_swap.trade.TradeAPIServiceImpl; +import org.junit.FixMethodOrder; +import org.junit.Test; +import org.junit.runners.MethodSorters; + +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.List; + + +@FixMethodOrder(MethodSorters.JVM) +public class TradeAPITest implements BaseTest { + + TradeAPIServiceImpl huobiAPIService = new TradeAPIServiceImpl("", ""); + + @Test + public void swapCancelAfterResponse(){ + SwapCancelAfterRequest request = SwapCancelAfterRequest.builder() + .onOff(1) + .build(); + SwapCancelAfterResponse response = huobiAPIService.swapCancelAfterResponse(request); + logger.debug("1.自动撤单:{}", JSON.toJSONString(response)); + } + + @Test + public void swapOrderRequest() { + SwapOrderRequest request = SwapOrderRequest.builder() + .contractCode("xrp-usd") + .volume(1l) + .price(BigDecimal.valueOf(0.2)) + .direction(DirectionEnum.BUY) + .offset(OffsetEnum.OPEN) + .leverRate(10) + .orderPriceType("opponent") + .tpTriggerPrice(BigDecimal.valueOf(0.296)) + .tpOrderPrice(BigDecimal.valueOf(0.296)) + .tpOrderPriceType("limit") + .slTriggerPrice(BigDecimal.valueOf(0.1)) + .slOrderPrice(BigDecimal.valueOf(0.1)) + .slOrderPriceType("limit") + .build(); + SwapOrderResponse response = huobiAPIService.swapOrderRequest(request); + logger.debug("2.合约下单:{}", JSON.toJSONString(response)); + } + + @Test + public void swapBatchorderRequest() { + List list = new ArrayList<>(); + for (int i = 0; i < 2; i++) { + SwapOrderRequest request = SwapOrderRequest.builder() + .contractCode("THETA-USD") + .volume(1l) + .price(BigDecimal.valueOf(0.677)) + .direction(DirectionEnum.SELL) + .offset(OffsetEnum.OPEN) + .leverRate(20) + .orderPriceType("limit") + .build(); + list.add(request); + } + SwapBatchorderRequest request = SwapBatchorderRequest.builder() + .list(list) + .build(); + SwapBatchorderResponse response = + huobiAPIService.swapBatchorderRequest(request); + logger.debug("3.合约批量下单:{}", JSON.toJSONString(response)); + } + + @Test + public void swapCancelRequest() { + SwapCancelRequest request = SwapCancelRequest.builder() + .contractCode("theta-usd") + .orderId("778677604210589696") + //.clientOrderId("") + .build(); + SwapCancelResponse response = + huobiAPIService.swapCancelRequest(request); + logger.debug("4.撤销订单:{}", JSON.toJSONString(response)); + } + + @Test + public void swapCancelallRequest() { + SwapCancelallRequest request = SwapCancelallRequest.builder() + .contractCode("theta-usd") + .build(); + SwapCancelallResponse response = + huobiAPIService.swapCancelallRequest(request); + logger.debug("5.全部撤单:{}", JSON.toJSONString(response)); + } + + @Test + public void swapSwitchLeverRateRequest(){ + SwapSwitchLeverRateResponse response=huobiAPIService.swapSwitchLeverRateResponse("ADA-USD",30); + logger.debug("6.切换杠杆:{}", JSON.toJSONString(response)); + } + + @Test + public void swapOrderInfoRequest() { + SwapOrderInfoRequest request = SwapOrderInfoRequest.builder() + .contractCode("theta-USD") + //.clientOrderId("") + .orderId("778582198420418560") + .build(); + SwapOrderInfoResponse response = + huobiAPIService.swapOrderInfoRequest(request); + logger.debug("7.获取合约订单信息:{}", JSON.toJSONString(response)); + } + + @Test + public void swapOrderDetailRequest() { + SwapOrderDetailRequest request = SwapOrderDetailRequest.builder() + .contractCode("theta-usd") + .orderId(778582198420418560l) + //.createdAt(System.currentTimeMillis()) + //.orderType(1) + //.pageIndex(1) + //.pageSize(20) + .build(); + SwapOrderDetailResponse response = + huobiAPIService.swapOrderDetailRequest(request); + logger.debug("8.获取订单明细信息:{}", JSON.toJSONString(response)); + } + + @Test + public void swapOpenordersRequest() { + SwapOpenordersRequest request = SwapOpenordersRequest.builder() + .contractCode("theta-usd") + .pageIndex(1) + .pageSize(20) + .build(); + SwapOpenordersResponse response = + huobiAPIService.swapOpenordersRequest(request); + logger.debug("9.获取合约当前未成交委托:{}", JSON.toJSONString(response)); + } + + @Test + public void swapHisordersV3Response(){ + SwapHisordersV3Request request = SwapHisordersV3Request.builder() + .contract("BTC-USD") + .tradeType(0) + .type(1) + .status("0") + .build(); + SwapHisordersV3Response response = huobiAPIService.swapHisordersV3Response(request); + logger.debug("10.获取合约历史委托(新):{}", JSON.toJSONString(response)); + } + + @Test + public void swapHisordersExactV3Response(){ + SwapHisordersExactV3Request request = SwapHisordersExactV3Request.builder() + .contract("BTC-USD") + .tradeType(5) + .type(1) + .status("0") + .build(); + SwapHisordersExactV3Response response = huobiAPIService.swapHisordersExactV3Response(request); + logger.debug("11.组合查询合约历史委托(新):{}", JSON.toJSONString(response)); + } + + @Test + public void swapMatchResultsV3Response(){ + SwapMatchResultsV3Request request = SwapMatchResultsV3Request.builder() + .contract("BTC-USD") + .tradeType(0) + .build(); + SwapMatchResultsV3Response response = huobiAPIService.swapMatchResultsV3Response(request); + logger.debug("12.获取历史成交记录(新):{}", JSON.toJSONString(response)); + } + + @Test + public void swapMatchResultsExactV3Response(){ + SwapMatchResultsExactV3Request request = SwapMatchResultsExactV3Request.builder() + .contract("BTC-USDT") + .tradeType(0) + .build(); + SwapMatchResultsExactV3Response response = huobiAPIService.swapMatchResultsExactV3Response(request); + logger.debug("13.组合查询用户历史成交记录(新):{}", JSON.toJSONString(response)); + } + + @Test + public void swapLightningClosePositionRequest() { + SwapLightningClosePositionRequest request = SwapLightningClosePositionRequest.builder() + .contractCode("ada-usd") + .direction("sell") + .volume(1) + .build(); + SwapLightningClosePositionResponse response = + huobiAPIService.swapLightningClosePositionRequest(request); + logger.debug("14.闪电平仓下单:{}", JSON.toJSONString(response)); + } +} diff --git a/src/test/java/com/huobi/swap/api/TransferAPITest.java b/src/test/java/com/huobi/swap/api/TransferAPITest.java new file mode 100644 index 0000000..00a72c8 --- /dev/null +++ b/src/test/java/com/huobi/swap/api/TransferAPITest.java @@ -0,0 +1,43 @@ +package com.huobi.swap.api; + +import com.alibaba.fastjson.JSON; +import com.huobi.api.request.coin_swap.transfer.UsdtSwapTransferRequest; +import com.huobi.api.response.coin_swap.transfer.UsdtSwapTransferResponse; +import com.huobi.api.service.coin_swap.transfer.TransferApiServiceImpl; +import org.junit.FixMethodOrder; +import org.junit.Test; +import org.junit.runners.MethodSorters; + +import java.math.BigDecimal; + +/** + * 现货-币本位永续划转接口 + */ +@FixMethodOrder(MethodSorters.JVM) +public class TransferAPITest implements BaseTest { + + + TransferApiServiceImpl transferApiService = new TransferApiServiceImpl("", ""); + + @Test + public void transfer() { + /** + * 参数名称 是否必须 类型 描述 取值范围 + * from true string 来源业务线账户,取值:spot(币币)、swap(币本位永续) e.g. spot + * to true string 目标业务线账户,取值:spot(币币)、swap(币本位永续) e.g. swap + * currency true string 币种,支持大小写 e.g. btc + * amount true Decimal 划转金额 + */ + + UsdtSwapTransferRequest request = UsdtSwapTransferRequest.builder() + .from("swap") + .to("spot") + .currency("theta") + .amount(BigDecimal.valueOf(10)) + .build(); + UsdtSwapTransferResponse response = transferApiService.transfer(request); + logger.debug("1.现货-币本位永续账户间进行资金的划转:{}", JSON.toJSONString(response)); + } + + +} diff --git a/src/test/java/com/huobi/swap/wss/WssCenterNotificationSubTest.java b/src/test/java/com/huobi/swap/wss/WssCenterNotificationSubTest.java new file mode 100644 index 0000000..18a865a --- /dev/null +++ b/src/test/java/com/huobi/swap/wss/WssCenterNotificationSubTest.java @@ -0,0 +1,33 @@ +package com.huobi.swap.wss; + +import com.alibaba.fastjson.JSON; +import com.google.common.collect.Lists; +import com.huobi.wss.event.PublicHeartbeatSubResponse; +import com.huobi.wss.handle.WssNotificationHandle; +import org.junit.Test; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.net.URISyntaxException; +import java.util.List; + +public class WssCenterNotificationSubTest { + private final Logger logger = LoggerFactory.getLogger(getClass()); + private String host = "api.hbdm.com"; + private String url = "/center-notification"; + private String sign="256"; + WssNotificationHandle wssNotificationHandle = new WssNotificationHandle(host, url, "", "",sign); + + @Test + public void test1() throws URISyntaxException, InterruptedException { + List channels = Lists.newArrayList(); + channels.add("public.swap.heartbeat"); + wssNotificationHandle.sub(channels, response -> { + logger.info("用户收到的数据===============:{}", JSON.toJSON(response)); + Long currentTimeMillis = System.currentTimeMillis(); + PublicHeartbeatSubResponse event = JSON.parseObject(response, PublicHeartbeatSubResponse.class); + logger.info("ts为:{},当前的时间戳为:{},时间间隔为:{}毫秒", event.getTs(), currentTimeMillis, currentTimeMillis - event.getTs()); + }); + Thread.sleep(Integer.MAX_VALUE); + } +} diff --git a/src/test/java/com/huobi/swap/wss/WssIndexReqTest.java b/src/test/java/com/huobi/swap/wss/WssIndexReqTest.java new file mode 100644 index 0000000..d510fbe --- /dev/null +++ b/src/test/java/com/huobi/swap/wss/WssIndexReqTest.java @@ -0,0 +1,146 @@ +package com.huobi.swap.wss; + +import com.alibaba.fastjson.JSON; +import com.huobi.wss.event.*; +import com.huobi.wss.handle.WssMarketReqHandle; +import com.huobi.wss.request.WssRequest; +import org.apache.commons.lang3.time.DateUtils; +import org.junit.Test; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.net.URISyntaxException; +import java.util.Date; + +public class WssIndexReqTest { + private final Logger logger = LoggerFactory.getLogger(getClass()); + + private String URL = "wss://api.hbdm.com/ws_index"; + + @Test + public void test1() throws URISyntaxException, InterruptedException { + WssMarketReqHandle wssMarketReqHandle = new WssMarketReqHandle(URL, response -> { + logger.info("请求(req)指数K线数据用户收到的原始数据:{}", response); + MarketIndexReqResponse reqResponse = JSON.parseObject(response, MarketIndexReqResponse.class); + logger.info("请求(req)指数K线数据解析之后的数据为:{}", JSON.toJSON(reqResponse)); + }); + while (true) { + try { + Date fromDate = DateUtils.parseDate("2019-11-01T00:00:00", "yyyy-MM-dd'T'HH:mm:ss"); + Date toDate = DateUtils.parseDate("2019-11-01T00:00:01", "yyyy-MM-dd'T'HH:mm:ss"); + WssRequest wssRequest = WssRequest.builder() + .req("market.BTC-USD.index.60min") + .from(fromDate.getTime() / 1000) + .to(toDate.getTime() / 1000) + .build(); + wssMarketReqHandle.doReq(JSON.toJSONString(wssRequest)); + } catch (Exception e) { + e.printStackTrace(); + } finally { + Thread.sleep(1000); + } + } + } + + @Test + public void test2() throws URISyntaxException, InterruptedException { + WssMarketReqHandle wssMarketReqHandle = new WssMarketReqHandle(URL, response -> { + logger.info("请求溢价指数K线数据用户收到的原始数据:{}", response); + MarketPremiumIndexReqResponse reqResponse = JSON.parseObject(response, MarketPremiumIndexReqResponse.class); + logger.info("请求溢价指数K线数据解析之后的数据为:{}", JSON.toJSON(reqResponse)); + }); + while (true) { + try { + Date fromDate = DateUtils.parseDate("2019-11-01T00:00:00", "yyyy-MM-dd'T'HH:mm:ss"); + Date toDate = DateUtils.parseDate("2019-11-01T00:00:01", "yyyy-MM-dd'T'HH:mm:ss"); + WssRequest wssRequest = WssRequest.builder() + .req("market.BTC-USD.premium_index.60min") + .from(fromDate.getTime() / 1000) + .to(toDate.getTime() / 1000) + .build(); + wssMarketReqHandle.doReq(JSON.toJSONString(wssRequest)); + } catch (Exception e) { + e.printStackTrace(); + } finally { + Thread.sleep(1000); + } + } + } + + @Test + public void test3() throws URISyntaxException, InterruptedException { + WssMarketReqHandle wssMarketReqHandle = new WssMarketReqHandle(URL, response -> { + logger.info("请求预测资金费率K线数据用户收到的原始数据:{}", response); + MarketEstimatedRateReqResponse reqResponse = JSON.parseObject(response, MarketEstimatedRateReqResponse.class); + logger.info("请求预测资金费率K线数据解析之后的数据为:{}", JSON.toJSON(reqResponse)); + }); + while (true) { + try { + Date fromDate = DateUtils.parseDate("2019-11-01T00:00:00", "yyyy-MM-dd'T'HH:mm:ss"); + Date toDate = DateUtils.parseDate("2019-11-01T00:00:01", "yyyy-MM-dd'T'HH:mm:ss"); + WssRequest wssRequest = WssRequest.builder() + .req("market.BTC-USD.estimated_rate.60min") + .from(fromDate.getTime() / 1000) + .to(toDate.getTime() / 1000) + .build(); + wssMarketReqHandle.doReq(JSON.toJSONString(wssRequest)); + } catch (Exception e) { + e.printStackTrace(); + } finally { + Thread.sleep(1000); + } + } + } + + @Test + public void test4() throws URISyntaxException, InterruptedException { + WssMarketReqHandle wssMarketReqHandle = new WssMarketReqHandle(URL, response -> { + logger.info("请求基差数据用户收到的原始数据:{}", response); + MarketBasisPriceTypeReqResponse reqResponse = JSON.parseObject(response, MarketBasisPriceTypeReqResponse.class); + logger.info("请求基差数据解析之后的数据为:{}", JSON.toJSON(reqResponse)); + }); + while (true) { + try { + Date fromDate = DateUtils.parseDate("2019-11-01T00:00:00", "yyyy-MM-dd'T'HH:mm:ss"); + Date toDate = DateUtils.parseDate("2019-11-01T00:00:01", "yyyy-MM-dd'T'HH:mm:ss"); + WssRequest wssRequest = WssRequest.builder() + .req("market.BTC-USD.basis.60min.open") + .from(fromDate.getTime() / 1000) + .to(toDate.getTime() / 1000) + .build(); + wssMarketReqHandle.doReq(JSON.toJSONString(wssRequest)); + } catch (Exception e) { + e.printStackTrace(); + } finally { + Thread.sleep(1000); + } + } + } + + @Test + public void test5() throws URISyntaxException, InterruptedException { + WssMarketReqHandle wssMarketReqHandle = new WssMarketReqHandle(URL, response -> { + logger.info("请求标记价格K线数据用户收到的原始数据:{}", response); + MarketMarkPriceReqResponse reqResponse = JSON.parseObject(response, MarketMarkPriceReqResponse.class); + logger.info("请求标记价格K线数据解析之后的数据为:{}", JSON.toJSON(reqResponse)); + }); + while (true) { + try { + Date fromDate = DateUtils.parseDate("2019-11-01T00:00:00", "yyyy-MM-dd'T'HH:mm:ss"); + Date toDate = DateUtils.parseDate("2019-11-01T00:00:01", "yyyy-MM-dd'T'HH:mm:ss"); + WssRequest wssRequest = WssRequest.builder() + .req("market.BTC-USD.mark_price.5min") + .from(fromDate.getTime() / 1000) + .to(toDate.getTime() / 1000) + .build(); + wssMarketReqHandle.doReq(JSON.toJSONString(wssRequest)); + } catch (Exception e) { + e.printStackTrace(); + } finally { + Thread.sleep(1000); + } + } + } + + +} diff --git a/src/test/java/com/huobi/swap/wss/WssIndexSubTest.java b/src/test/java/com/huobi/swap/wss/WssIndexSubTest.java new file mode 100644 index 0000000..d5eb7f2 --- /dev/null +++ b/src/test/java/com/huobi/swap/wss/WssIndexSubTest.java @@ -0,0 +1,84 @@ +package com.huobi.swap.wss; + +import com.alibaba.fastjson.JSON; +import com.google.common.collect.Lists; +import com.huobi.wss.event.*; +import com.huobi.wss.handle.WssMarketHandle; +import org.junit.Test; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.net.URISyntaxException; +import java.util.List; + +public class WssIndexSubTest { + private final Logger logger = LoggerFactory.getLogger(getClass()); + + private String URL = "wss://api.hbdm.com/ws_index";//合约站行情请求以及订阅地址 + WssMarketHandle wssMarketHandle = new WssMarketHandle(URL); + + @Test + public void test1() throws URISyntaxException, InterruptedException { + List channels = Lists.newArrayList(); + channels.add("market.btc-usd.index.1min"); + wssMarketHandle.sub(channels, response -> { + logger.info("订阅(sub)指数K线数据用户收到的数据===============:{}", JSON.toJSON(response)); + Long currentTimeMillis = System.currentTimeMillis(); + MarketIndexSubResponse event = JSON.parseObject(response, MarketIndexSubResponse.class); + logger.info("订阅(sub)指数K线数据的ts为:{},当前的时间戳为:{},时间间隔为:{}毫秒", event.getTs(), currentTimeMillis, currentTimeMillis - event.getTs()); + }); + Thread.sleep(Integer.MAX_VALUE); + } + + @Test + public void test2() throws URISyntaxException, InterruptedException { + List channels = Lists.newArrayList(); + channels.add("market.BTC-USD.premium_index.1min"); + wssMarketHandle.sub(channels, response -> { + logger.info("订阅溢价指数K线数据用户收到的数据===============:{}", JSON.toJSON(response)); + Long currentTimeMillis = System.currentTimeMillis(); + MarketPremiumIndexSubResponse event = JSON.parseObject(response, MarketPremiumIndexSubResponse.class); + logger.info("订阅溢价指数K线数据的ts为:{},当前的时间戳为:{},时间间隔为:{}毫秒", event.getTs(), currentTimeMillis, currentTimeMillis - event.getTs()); + }); + Thread.sleep(Integer.MAX_VALUE); + } + + @Test + public void test3() throws URISyntaxException, InterruptedException { + List channels = Lists.newArrayList(); + channels.add("market.BTC-USD.estimated_rate.1min"); + wssMarketHandle.sub(channels, response -> { + logger.info("订阅预测资金费率K线数据用户收到的数据===============:{}", JSON.toJSON(response)); + Long currentTimeMillis = System.currentTimeMillis(); + MarketEstimatedRateSubResponse event = JSON.parseObject(response, MarketEstimatedRateSubResponse.class); + logger.info("订阅预测资金费率K线数据的ts为:{},当前的时间戳为:{},时间间隔为:{}毫秒", event.getTs(), currentTimeMillis, currentTimeMillis - event.getTs()); + }); + Thread.sleep(Integer.MAX_VALUE); + } + + @Test + public void test4() throws URISyntaxException, InterruptedException { + List channels = Lists.newArrayList(); + channels.add("market.btc-usd.basis.1min.open"); + wssMarketHandle.sub(channels, response -> { + logger.info("订阅基差数据用户收到的数据===============:{}", JSON.toJSON(response)); + Long currentTimeMillis = System.currentTimeMillis(); + MarketBasisPriceTypeSubResponse event = JSON.parseObject(response, MarketBasisPriceTypeSubResponse.class); + logger.info("订阅基差数据的ts为:{},当前的时间戳为:{},时间间隔为:{}毫秒", event.getTs(), currentTimeMillis, currentTimeMillis - event.getTs()); + }); + Thread.sleep(Integer.MAX_VALUE); + } + + @Test + public void test5() throws URISyntaxException, InterruptedException { + List channels = Lists.newArrayList(); + channels.add("market.BTC-USD.mark_price.5min"); + wssMarketHandle.sub(channels, response -> { + logger.info("订阅标记价格K线数据用户收到的数据===============:{}", JSON.toJSON(response)); + Long currentTimeMillis = System.currentTimeMillis(); + MarketMarkPriceSubResponse event = JSON.parseObject(response, MarketMarkPriceSubResponse.class); + logger.info("订阅标记价格K线数据的ts为:{},当前的时间戳为:{},时间间隔为:{}毫秒", event.getTs(), currentTimeMillis, currentTimeMillis - event.getTs()); + }); + Thread.sleep(Integer.MAX_VALUE); + } +} diff --git a/src/test/java/com/huobi/swap/wss/WssMarketReqTest.java b/src/test/java/com/huobi/swap/wss/WssMarketReqTest.java new file mode 100644 index 0000000..91339f7 --- /dev/null +++ b/src/test/java/com/huobi/swap/wss/WssMarketReqTest.java @@ -0,0 +1,97 @@ +package com.huobi.swap.wss; + +import com.alibaba.fastjson.JSON; +import com.huobi.wss.event.MarketKLineReqResponse; +import com.huobi.wss.event.MarketTradeDetailReqResponse; +import com.huobi.wss.handle.WssMarketReqHandle; +import com.huobi.wss.request.WssRequest; +import org.apache.commons.lang3.time.DateUtils; +import org.junit.Test; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.net.URISyntaxException; +import java.text.ParseException; +import java.util.Date; +import java.util.HashMap; +import java.util.Map; + +public class WssMarketReqTest { + + private final Logger logger = LoggerFactory.getLogger(getClass()); + + private String URL = "wss://api.hbdm.com/swap-ws";//合约站行情请求以及订阅地址 + + + /** + * 请求 KLine 数据 + * "from": " type: long, 2017-07-28T00:00:00+08:00 至2050-01-01T00:00:00+08:00 之间的时间点,单位:秒", + * "to": "type: long, 2017-07-28T00:00:00+08:00 至2050-01-01T00:00:00+08:00 之间的时间点,单位:秒,必须比 from 大" + * + * @throws URISyntaxException + * @throws InterruptedException + * @throws ParseException + */ + @Test + public void test1() throws URISyntaxException, InterruptedException { + + WssMarketReqHandle wssMarketReqHandle = new WssMarketReqHandle(URL, response -> { + logger.info("请求 KLine 数据用户收到的原始数据:{}", response); + MarketKLineReqResponse marketKLineReqResponse = JSON.parseObject(response, MarketKLineReqResponse.class); + logger.info("请求 KLine 数据解析之后的数据为:{}", JSON.toJSON(marketKLineReqResponse)); + }); + + while (true) { + try { + Date fromDate = DateUtils.parseDate("2020-10-22T00:00:00", "yyyy-MM-dd'T'HH:mm:ss"); + Date toDate = DateUtils.parseDate("2020-10-30T00:00:01", "yyyy-MM-dd'T'HH:mm:ss"); + + WssRequest wssRequest = WssRequest.builder() + .req("market.BTC-USD.kline.60min") + .from(fromDate.getTime() / 1000) + .to(toDate.getTime() / 1000) + .build(); + wssMarketReqHandle.doReq(JSON.toJSONString(wssRequest)); + + } catch (Exception e) { + e.printStackTrace(); + } finally { + Thread.sleep(1000); + } + + } + } + + + /** + * 请求 Trade Detail 数据 + * + * @throws URISyntaxException + * @throws InterruptedException + */ + @Test + public void test2() throws URISyntaxException, InterruptedException { + + WssMarketReqHandle wssMarketReqHandle = new WssMarketReqHandle(URL, response -> { + logger.info("请求 Trade Detail 数据用户收到的原始数据:{}", response); + MarketTradeDetailReqResponse marketTradeDetailReqResponse = JSON.parseObject(response, MarketTradeDetailReqResponse.class); + logger.info("请求 Trade Detail 数据解析之后的数据为:{}", JSON.toJSON(marketTradeDetailReqResponse)); + }); + + while (true) { + try { + Map param = new HashMap<>(); + param.put("req", "market.BTC-USD.trade.detail"); + wssMarketReqHandle.doReq(JSON.toJSONString(param)); + Thread.sleep(1000); + } catch (Exception e) { + e.printStackTrace(); + } + + } + } + + + + +} diff --git a/src/test/java/com/huobi/swap/wss/WssMarketSubTest.java b/src/test/java/com/huobi/swap/wss/WssMarketSubTest.java new file mode 100644 index 0000000..03adc8f --- /dev/null +++ b/src/test/java/com/huobi/swap/wss/WssMarketSubTest.java @@ -0,0 +1,146 @@ +package com.huobi.swap.wss; + +import com.alibaba.fastjson.JSON; +import com.google.common.collect.Lists; +import com.huobi.wss.event.*; +import com.huobi.wss.handle.WssMarketHandle; +import org.junit.Test; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.net.URISyntaxException; +import java.util.List; + +public class WssMarketSubTest { + + private final Logger logger = LoggerFactory.getLogger(getClass()); + + private String URL = "wss://api.hbdm.com/swap-ws";//合约站行情请求以及订阅地址 + WssMarketHandle wssMarketHandle = new WssMarketHandle(URL); + + + /** + * 订阅 KLine 数据 + * + * 注:一个webSocket 可以一次订阅多个 + * + * @throws URISyntaxException + * @throws InterruptedException + */ + @Test + public void test1() throws URISyntaxException, InterruptedException { + List channels = Lists.newArrayList(); + channels.add("market.BTC-USD.kline.1min"); + // channels.add("market.BTC-USD.kline.5min"); + // channels.add("market.BTC-USD.kline.15min"); + // channels.add("market.BTC-USD.kline.30min"); + // channels.add("market.BTC-USD.kline.60min"); + // channels.add("market.BTC-USD.kline.4hour"); + // channels.add("market.BTC-USD.kline.1day"); + // channels.add("market.BTC-USD.kline.1week"); + // channels.add("market.BTC-USD.kline.1mon"); + + wssMarketHandle.sub(channels, response -> { + logger.info("kLineEvent用户收到的数据===============:{}", JSON.toJSON(response)); + Long currentTimeMillis = System.currentTimeMillis(); + MarketKLineSubResponse event = JSON.parseObject(response, MarketKLineSubResponse.class); + logger.info("kLineEvent的ts为:{},当前的时间戳为:{},时间间隔为:{}毫秒", event.getTs(), currentTimeMillis, currentTimeMillis - event.getTs()); + }); + Thread.sleep(Integer.MAX_VALUE); + + + } + + + /** + * 订阅 Market Depth 数据 + * + * 注:一个webSocket 可以一次订阅多个 + * + * @throws URISyntaxException + * @throws InterruptedException + */ + @Test + public void test2() throws URISyntaxException, InterruptedException { + List channels = Lists.newArrayList(); + channels.add("market.BTC-USD.depth.step6"); + //channels.add("market.BTC-USD.depth.size_20.high_freq"); + wssMarketHandle.sub(channels, response -> { + logger.info("depthEvent用户收到的数据===============:{}", JSON.toJSON(response)); + Long currentTimeMillis = System.currentTimeMillis(); + MarketDepthSubResponse event = JSON.parseObject(response, MarketDepthSubResponse.class); + logger.info("depthEvent的ts为:{},当前的时间戳为:{},时间间隔为:{}毫秒", event.getTs(), currentTimeMillis, currentTimeMillis - event.getTs()); + logger.info("数据大小为:{}", event.getTick().getAsks().size()); + }); + Thread.sleep(Integer.MAX_VALUE); + + } + + + /** + * 订阅 Market detail 数据 + * + * 注:一个webSocket 可以一次订阅多个 + * + * @throws URISyntaxException + * @throws InterruptedException + */ + @Test + public void test3() throws URISyntaxException, InterruptedException { + List channels = Lists.newArrayList(); + channels.add("market.BTC-USD.detail"); + wssMarketHandle.sub(channels, response -> { + logger.info("detailEvent用户收到的数据===============:{}", JSON.toJSON(response)); + Long currentTimeMillis = System.currentTimeMillis(); + MarketDetailSubResponse event = JSON.parseObject(response, MarketDetailSubResponse.class); + logger.info("detailEvent的ts为:{},当前的时间戳为:{},时间间隔为:{}毫秒", event.getTs(), currentTimeMillis, currentTimeMillis - event.getTs()); + }); + Thread.sleep(Integer.MAX_VALUE); + } + + + /** + * 订阅 Trade Detail 数据 + * + * @throws URISyntaxException + * @throws InterruptedException + */ + @Test + public void test4() throws URISyntaxException, InterruptedException { + List channels = Lists.newArrayList(); + channels.add("market.BTC-USD.trade.detail"); + wssMarketHandle.sub(channels, response -> { + logger.info("订阅TradeDetail数据用户收到的数据===============:{}", JSON.toJSON(response)); + Long currentTimeMillis = System.currentTimeMillis(); + MarketTradeDetailSubResponse event = JSON.parseObject(response, MarketTradeDetailSubResponse.class); + logger.info("tradeDetailEvent的ts为:{},当前的时间戳为:{},时间间隔为:{}毫秒", event.getTs(), currentTimeMillis, currentTimeMillis - event.getTs()); + }); + Thread.sleep(Integer.MAX_VALUE); + } + + @Test + public void test5() throws URISyntaxException, InterruptedException { + List channels = Lists.newArrayList(); + channels.add("market.BTC-USD.depth.size_20.high_freq"); + wssMarketHandle.sub(channels, response -> { + logger.info("订阅Market Depth增量数据用户收到的数据===============:{}", JSON.toJSON(response)); + Long currentTimeMillis = System.currentTimeMillis(); + MarketDepthDiffSubResponse event = JSON.parseObject(response, MarketDepthDiffSubResponse.class); + logger.info("订阅Market Depth增量数据的ts为:{},当前的时间戳为:{},时间间隔为:{}毫秒", event.getTs(), currentTimeMillis, currentTimeMillis - event.getTs()); + }); + Thread.sleep(Integer.MAX_VALUE); + } + + @Test + public void test6() throws URISyntaxException, InterruptedException { + List channels = Lists.newArrayList(); + channels.add("market.BTC-USD.bbo"); + wssMarketHandle.sub(channels, response -> { + logger.info("订阅买一卖一逐笔行情推送用户收到的数据===============:{}", JSON.toJSON(response)); + Long currentTimeMillis = System.currentTimeMillis(); + MarketBboSubResponse event = JSON.parseObject(response, MarketBboSubResponse.class); + logger.info("订阅买一卖一逐笔行情推送的ts为:{},当前的时间戳为:{},时间间隔为:{}毫秒", event.getTs(), currentTimeMillis, currentTimeMillis - event.getTs()); + }); + Thread.sleep(Integer.MAX_VALUE); + } +} diff --git a/src/test/java/com/huobi/swap/wss/WssNotificationSubTest.java b/src/test/java/com/huobi/swap/wss/WssNotificationSubTest.java new file mode 100644 index 0000000..149d978 --- /dev/null +++ b/src/test/java/com/huobi/swap/wss/WssNotificationSubTest.java @@ -0,0 +1,126 @@ +package com.huobi.swap.wss; + +import com.alibaba.fastjson.JSON; +import com.google.common.collect.Lists; +import com.huobi.wss.event.*; +import com.huobi.wss.handle.WssNotificationHandle; +import org.junit.Test; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.net.URISyntaxException; +import java.util.List; + + +public class WssNotificationSubTest { + + private final Logger logger = LoggerFactory.getLogger(getClass()); + private String host = "api.hbdm.com"; + private String url = "/swap-notification";//注意地址前面要带上"/" + private String sign="256"; + WssNotificationHandle wssNotificationHandle = new WssNotificationHandle(host, url, "", "",sign); + + @Test + public void test1() throws URISyntaxException, InterruptedException { + List channels = Lists.newArrayList(); + channels.add("orders.btc"); + wssNotificationHandle.sub(channels, response -> { + logger.info("订阅订单成交数据(sub)用户收到的数据===============:{}", JSON.toJSON(response)); + Long currentTimeMillis = System.currentTimeMillis(); + OrdersSubResponse event = JSON.parseObject(response, OrdersSubResponse.class); + logger.info("订阅订单成交数据(sub)的ts为:{},当前的时间戳为:{},时间间隔为:{}毫秒", event.getTs(), currentTimeMillis, currentTimeMillis - event.getTs()); + }); + Thread.sleep(Integer.MAX_VALUE); + } + + @Test + public void test2() throws URISyntaxException, InterruptedException { + List channels = Lists.newArrayList(); + channels.add("accounts.BTC-USD"); + wssNotificationHandle.sub(channels, response -> { + logger.info("资产变动数据(sub)用户收到的数据===============:{}", JSON.toJSON(response)); + Long currentTimeMillis = System.currentTimeMillis(); + AccountsSubResponse event = JSON.parseObject(response, AccountsSubResponse.class); + logger.info("资产变动数据(sub)的ts为:{},当前的时间戳为:{},时间间隔为:{}毫秒", event.getTs(), currentTimeMillis, currentTimeMillis - event.getTs()); + }); + Thread.sleep(Integer.MAX_VALUE); + } + + @Test + public void test3() throws URISyntaxException, InterruptedException { + List channels = Lists.newArrayList(); + channels.add("positions.BTC-USD"); + wssNotificationHandle.sub(channels, response -> { + logger.info("持仓变动更新数据(sub)用户收到的数据===============:{}", JSON.toJSON(response)); + Long currentTimeMillis = System.currentTimeMillis(); + PositionsSubResponse event = JSON.parseObject(response, PositionsSubResponse.class); + logger.info("持仓变动更新数据(sub)的ts为:{},当前的时间戳为:{},时间间隔为:{}毫秒", event.getTs(), currentTimeMillis, currentTimeMillis - event.getTs()); + }); + Thread.sleep(Integer.MAX_VALUE); + } + + @Test + public void test4() throws URISyntaxException, InterruptedException { + List channels = Lists.newArrayList(); + channels.add("matchOrders.BTC-USD"); + wssNotificationHandle.sub(channels, response -> { + logger.info("订阅合约订单撮合数据(sub)用户收到的数据===============:{}", JSON.toJSON(response)); + Long currentTimeMillis = System.currentTimeMillis(); + MatchOrdersSubResponse event = JSON.parseObject(response, MatchOrdersSubResponse.class); + logger.info("订阅合约订单撮合数据(sub)的ts为:{},当前的时间戳为:{},时间间隔为:{}毫秒", event.getTs(), currentTimeMillis, currentTimeMillis - event.getTs()); + }); + Thread.sleep(Integer.MAX_VALUE); + } + + @Test + public void test5() throws URISyntaxException, InterruptedException { + List channels = Lists.newArrayList(); + channels.add("public.BTC-USD.liquidation_orders"); + wssNotificationHandle.sub(channels, response -> { + logger.info("订阅强平订单数据(免鉴权)(sub)用户收到的数据===============:{}", JSON.toJSON(response)); + Long currentTimeMillis = System.currentTimeMillis(); + PublicSubResponse event = JSON.parseObject(response, PublicSubResponse.class); + logger.info("订阅强平订单数据(免鉴权)(sub)的ts为:{},当前的时间戳为:{},时间间隔为:{}毫秒", event.getTs(), currentTimeMillis, currentTimeMillis - event.getTs()); + }); + Thread.sleep(Integer.MAX_VALUE); + } + + @Test + public void test6() throws URISyntaxException, InterruptedException { + List channels = Lists.newArrayList(); + channels.add("public.btc-usd.funding_rate"); + wssNotificationHandle.sub(channels, response -> { + logger.info("订阅资金费率推送(免鉴权)(sub)用户收到的数据===============:{}", JSON.toJSON(response)); + Long currentTimeMillis = System.currentTimeMillis(); + PublicFundingRateResponse event = JSON.parseObject(response, PublicFundingRateResponse.class); + logger.info("订阅资金费率推送(免鉴权)(sub)的ts为:{},当前的时间戳为:{},时间间隔为:{}毫秒", event.getTs(), currentTimeMillis, currentTimeMillis - event.getTs()); + }); + Thread.sleep(Integer.MAX_VALUE); + } + + @Test + public void test7() throws URISyntaxException, InterruptedException { + List channels = Lists.newArrayList(); + channels.add("public.btc-usd.contract_info"); + wssNotificationHandle.sub(channels, response -> { + logger.info("订阅合约信息变动(免鉴权)(sub)用户收到的数据===============:{}", JSON.toJSON(response)); + Long currentTimeMillis = System.currentTimeMillis(); + PublicContractInfoFutureSubResponse event = JSON.parseObject(response, PublicContractInfoFutureSubResponse.class); + logger.info("订阅合约信息变动(免鉴权)(sub)的ts为:{},当前的时间戳为:{},时间间隔为:{}毫秒", event.getTs(), currentTimeMillis, currentTimeMillis - event.getTs()); + }); + Thread.sleep(Integer.MAX_VALUE); + } + + @Test + public void test8() throws URISyntaxException, InterruptedException { + List channels = Lists.newArrayList(); + channels.add("trigger_order.BTC-USD"); + wssNotificationHandle.sub(channels, response -> { + logger.info("订阅计划委托订单更新(sub)用户收到的数据===============:{}", JSON.toJSON(response)); + Long currentTimeMillis = System.currentTimeMillis(); + TriggerOrderSubResponse event = JSON.parseObject(response, TriggerOrderSubResponse.class); + logger.info("订阅计划委托订单更新(sub)的ts为:{},当前的时间戳为:{},时间间隔为:{}毫秒", event.getTs(), currentTimeMillis, currentTimeMillis - event.getTs()); + }); + Thread.sleep(Integer.MAX_VALUE); + } +} diff --git a/src/test/java/com/huobi/usdt/api/AccountAPITest.java b/src/test/java/com/huobi/usdt/api/AccountAPITest.java new file mode 100644 index 0000000..5e3b629 --- /dev/null +++ b/src/test/java/com/huobi/usdt/api/AccountAPITest.java @@ -0,0 +1,192 @@ +package com.huobi.usdt.api; + +import com.alibaba.fastjson.JSON; +import com.huobi.api.request.usdt.account.*; +import com.huobi.api.response.usdt.account.*; +import com.huobi.api.service.usdt.account.AccountAPIServiceImpl; +import org.junit.FixMethodOrder; +import org.junit.Test; +import org.junit.runners.MethodSorters; + +import java.math.BigDecimal; + + +@FixMethodOrder(MethodSorters.JVM) +public class AccountAPITest implements BaseTest { + + + AccountAPIServiceImpl huobiAPIService = new AccountAPIServiceImpl("", ""); + + @Test + public void getSwapBalanceValuation(){ + SwapBalanceValuationResponse response=huobiAPIService.getSwapBalanceValuation("cny"); + logger.debug("1.获取账户总资产估值:{}", JSON.toJSONString(response)); + } + + @Test + public void getSwapAccountInfoResponse() { + SwapAccountInfoResponse response = huobiAPIService.getSwapAccountInfo("btc-usdt"); + logger.debug("2.获取用户账户信息:{}", JSON.toJSONString(response)); + response = huobiAPIService.getSwapAccountInfo(""); + logger.debug("2.获取用户账户信息:{}", JSON.toJSONString(response)); + } + + @Test + public void getSwapPositionInfo() { + SwapPositionInfoResponse response = huobiAPIService.getSwapPositionInfo("ETH-usdt"); + logger.debug("3.获取用户持仓信息:{}", JSON.toJSONString(response)); + + response = huobiAPIService.getSwapPositionInfo(""); + logger.debug("3.获取用户持仓信息:{}", JSON.toJSONString(response)); + } + + @Test + public void getSwapAccountPositionInfo() { + SwapAccountPositionInfoResponse response = huobiAPIService.getSwapAccountPositionInfo("btc-usdt"); + logger.debug("4.查询用户账户和持仓信息:{}", JSON.toJSONString(response)); + } + + @Test + public void getSwapSubAuth() { + SwapSubAuthResponse response = huobiAPIService.getSwapSubAuth("123,12345", 1); + logger.debug("5.批量设置子账户交易权限:{}", JSON.toJSONString(response)); + } + + @Test + public void getSwapSubAuthList(){ + SwapSubAuthListRequest request = SwapSubAuthListRequest.builder() + .build(); + SwapSubAuthListResponse response = huobiAPIService.getSwapSubAuthList(request); + logger.debug("6.【通用】查询子账户交易权限:{}", JSON.toJSONString(response)); + } + + @Test + public void getSwapSubAccountList() { + SwapSubAccountListResponse response = huobiAPIService.getSwapSubAccountList("btc-usdt","",null); + logger.debug("7.查询母账户下所有子账户资产信息:{}", JSON.toJSONString(response)); + + response = huobiAPIService.getSwapSubAccountList("","",null); + logger.debug("7.查询母账户下所有子账户资产信息:{}", JSON.toJSONString(response)); + } + + @Test + public void getSwapSubAccountInfoList() { + SwapSubAccountInfoListResponse response = huobiAPIService.getSwapSubAccountInfoList("xrp-usdt", 1, 20); + logger.debug("8.批量获取子账户资产信息:{}", JSON.toJSONString(response)); + } + + @Test + public void getSwapSubAccountInfo() { + SwapSubAccountInfoResponse response = huobiAPIService.getSwapSubAccountInfo("",1L); + logger.debug("9.查询单个子账户资产信息:{}", JSON.toJSONString(response)); + logger.debug(response.getStatus()); + } + + @Test + public void getSwapSubPositionInfo() { + SwapSubPositionInfoResponse response = huobiAPIService.getSwapSubPositionInfo("BTC-USDT", 1L); + logger.debug("10.查询单个子账户持仓信息:{}", JSON.toJSONString(response)); + logger.debug(response.getStatus()); + } + + @Test + public void getSwapFinancialRecordV3(){ + SwapFinancialRecordV3Request request = SwapFinancialRecordV3Request.builder() + .marAcct("BTC-USDT") + .build(); + SwapFinancialRecordV3Response response = huobiAPIService.getSwapFinancialRecordV3(request); + logger.debug("11.查询用户财务记录(新):{}", JSON.toJSONString(response)); + } + + @Test + public void getSwapFinancialRecordExactV3(){ + SwapFinancialRecordExactV3Request request = SwapFinancialRecordExactV3Request.builder().marAcct("BTC-USDT").build(); + SwapFinancialRecordExactV3Response response = huobiAPIService.getSwapFinancialRecordExactV3(request); + logger.debug("12.组合查询用户财务记录 (新):{}", JSON.toJSONString(response)); + } + + @Test + public void getSwapAvailableLevelRateResponse() { + SwapAvailableLevelRateResponse response = huobiAPIService.getSwapAvailableLevelRate(""); + logger.debug("13.查询用户可用杠杆倍数:{}", JSON.toJSONString(response)); + } + + @Test + public void getSwapOrderLimitResponse() { + SwapOrderLimitResponse response = huobiAPIService.getSwapOrderLimitResponse("btc-usdt", "limit","","",""); + logger.debug("14.查询用户当前的下单量限制:{}", JSON.toJSONString(response)); + response = huobiAPIService.getSwapOrderLimitResponse("", "limit","","",""); + logger.debug("14.查询用户当前的下单量限制:{}", JSON.toJSONString(response)); + } + + @Test + public void getSwapFeeResponse() { + SwapFeeResponse response = huobiAPIService.getSwapFeeResponse("BTC-USDT","","",""); + logger.debug("15.查询用户当前的手续费费率:{}", JSON.toJSONString(response)); + response = huobiAPIService.getSwapFeeResponse("","","",""); + logger.debug("15.查询用户当前的手续费费率:{}", JSON.toJSONString(response)); + } + + @Test + public void getSwapTransferLimitResponse() { + SwapTransferLimitResponse response = huobiAPIService.getSwapTransferLimitResponse("btc-usdt"); + logger.debug("16.查询用户当前的划转限制:{}", JSON.toJSONString(response)); + response = huobiAPIService.getSwapTransferLimitResponse(""); + logger.debug("16.查询用户当前的划转限制:{}", JSON.toJSONString(response)); + } + + @Test + public void getSwapPositionLimitResponse() { + SwapPositionLimitResponse response = huobiAPIService.getSwapPositionLimitResponse("btc-usdt"); + logger.debug("17.用户持仓量限制的查询:{}", JSON.toJSONString(response)); + + response = huobiAPIService.getSwapPositionLimitResponse(""); + logger.debug("17.用户持仓量限制的查询:{}", JSON.toJSONString(response)); + } + + @Test + public void getSwapLeverPositionLimit(){ + SwapLeverPositionLimitResponse response=huobiAPIService.getSwapLeverPositionLimit("btc-usdt",1); + logger.debug("18.查询用户所有杠杆持仓量限制:{}", JSON.toJSONString(response)); + } + + @Test + public void getOptionMasterSubTransferResponse() { + SwapMasterSubTransferRequest request = SwapMasterSubTransferRequest.builder() + .subUid(1L) + .asset("usdt") + .fromMarginAccount("btc-usdt") + .toMarginAccount("btc-usdt") + .amount(BigDecimal.valueOf(50)) + .type("master_to_sub") + .build(); + SwapMasterSubTransferResponse response = + huobiAPIService.getSwapMasterSubTransferResponse(request); + logger.debug("19.母子账户划转:{}", JSON.toJSONString(response)); + } + + @Test + public void getSwapMasterSubTransferRecordResponse() { + SwapMasterSubTransferRecordRequest request = SwapMasterSubTransferRecordRequest.builder() + .marginAccount("BTC-USDT") + //.transferType("") + .createDate(10) + .pageIndex(1) + .pageSize(20) + .build(); + SwapMasterSubTransferRecordResponse response = huobiAPIService.getSwapMasterSubTransferRecordResponse(request); + logger.debug("20.获取母账户下的所有母子账户划转记录:{}", JSON.toJSONString(response)); + } + + @Test + public void getSwapTransferInnerResponse() { + SwapTransferInnerResponse response = huobiAPIService.getSwapTransferInner("usdt", "btc-usdt", "eth-usdt", BigDecimal.valueOf(10),0L); + logger.debug("21.同账号不同保证金账户的划转:{}", JSON.toJSONString(response)); + } + + @Test + public void getSwapApiTradingStatusResponse() { + SwapApiTradingStatusResponse response = huobiAPIService.getSwapApiTradingStatusResponse(); + logger.debug("22.获取用户API指标禁用信息:{}", JSON.toJSONString(response)); + } +} diff --git a/src/test/java/com/huobi/usdt/api/BaseTest.java b/src/test/java/com/huobi/usdt/api/BaseTest.java new file mode 100644 index 0000000..dd78eb3 --- /dev/null +++ b/src/test/java/com/huobi/usdt/api/BaseTest.java @@ -0,0 +1,11 @@ +package com.huobi.usdt.api; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public interface BaseTest { + + Logger logger = LoggerFactory.getLogger(BaseTest.class); + + +} diff --git a/src/test/java/com/huobi/usdt/api/CrossAccountAPITest.java b/src/test/java/com/huobi/usdt/api/CrossAccountAPITest.java new file mode 100644 index 0000000..ab66c25 --- /dev/null +++ b/src/test/java/com/huobi/usdt/api/CrossAccountAPITest.java @@ -0,0 +1,104 @@ +package com.huobi.usdt.api; + +import com.alibaba.fastjson.JSON; +import com.huobi.api.request.usdt.account.SwapCrossLeverPositionLimitRequest; +import com.huobi.api.request.usdt.account.SwapCrossUserSettlementRecordsRequest; +import com.huobi.api.response.usdt.account.*; +import com.huobi.api.service.usdt.account.CrossAccountAPIServiceImpl; +import org.junit.FixMethodOrder; +import org.junit.Test; +import org.junit.runners.MethodSorters; + + +@FixMethodOrder(MethodSorters.JVM) +public class CrossAccountAPITest implements BaseTest { + + CrossAccountAPIServiceImpl huobiCrossAPIService = new CrossAccountAPIServiceImpl("", ""); + + @Test + public void getSwapCrossAccountInfoResponse() { + SwapCrossAccountInfoResponse response = huobiCrossAPIService.getSwapCrossAccountInfo("usdt"); + logger.debug("1.获取用户账户信息:{}", JSON.toJSONString(response)); + } + + @Test + public void getSwapCrossPositionInfo() { + SwapCrossPositionInfoResponse response = huobiCrossAPIService.getSwapCrossPositionInfo("eth-usdt","",""); + logger.debug("2.获取用户持仓信息:{}", JSON.toJSONString(response)); + + response = huobiCrossAPIService.getSwapCrossPositionInfo("","",""); + logger.debug("2.获取用户持仓信息:{}", JSON.toJSONString(response)); + } + + @Test + public void getSwapCrossAccountPositionInfo() { + SwapCrossAccountPositionInfoResponse response = huobiCrossAPIService.getSwapCrossAccountPositionInfo("usdt"); + logger.debug("3.查询用户账户和持仓信息:{}", JSON.toJSONString(response)); + } + + @Test + public void getSwapCrossSubAccountList() { + SwapCrossSubAccountListResponse response = huobiCrossAPIService.getSwapCrossSubAccountList("usdt","",0L); + logger.debug("4.查询母账户下所有子账户资产信息:{}", JSON.toJSONString(response)); + + response = huobiCrossAPIService.getSwapCrossSubAccountList("","",null); + logger.debug("4.查询母账户下所有子账户资产信息:{}", JSON.toJSONString(response)); + } + + @Test + public void getSwapCrossSubCrossAccountInfoList() { + SwapSubAccountInfoListResponse response = huobiCrossAPIService.getSwapCrossSubAccountInfoList("usdt", 1, 20); + logger.debug("5.批量获取子账户资产信息:{}", JSON.toJSONString(response)); + } + + @Test + public void getSwapCrossSubAccountInfo() { + SwapCrossSubAccountInfoResponse response = huobiCrossAPIService.getSwapCrossSubAccountInfo("", 1l); + logger.debug("6.查询单个子账户资产信息:{}", JSON.toJSONString(response)); + logger.debug(response.getStatus()); + } + + @Test + public void getSwapCrossSubPositionInfo() { + SwapCrossSubPositionInfoResponse response = huobiCrossAPIService.getSwapCrossSubPositionInfo("", 1l,"",""); + logger.debug("7.查询单个子账户持仓信息:{}", JSON.toJSONString(response)); + logger.debug(response.getStatus()); + } + + @Test + public void getSwapCrossAvailableLevelRateResponse() { + SwapCrossAvailableLevelRateResponse response = huobiCrossAPIService.getSwapCrossAvailableLevelRate("","","",""); + logger.debug("8.查询用户可用杠杆倍数:{}", JSON.toJSONString(response)); + } + + @Test + public void getSwapCrossTransferLimitResponse() { + SwapCrossTransferLimitResponse response = huobiCrossAPIService.getSwapCrossTransferLimitResponse("usdt"); + logger.debug("9.查询用户当前的划转限制:{}", JSON.toJSONString(response)); + response = huobiCrossAPIService.getSwapCrossTransferLimitResponse(""); + logger.debug("9.查询用户当前的划转限制:{}", JSON.toJSONString(response)); + } + + @Test + public void getSwapCrossPositionLimitResponse() { + SwapCrossPositionLimitResponse response = huobiCrossAPIService.getSwapCrossPositionLimitResponse("btc-usdt","","",""); + logger.debug("10.用户持仓量限制的查询:{}", JSON.toJSONString(response)); + + response = huobiCrossAPIService.getSwapCrossPositionLimitResponse("","","",""); + logger.debug("10.用户持仓量限制的查询:{}", JSON.toJSONString(response)); + } + + @Test + public void getSwapCrossLeverPositionLimit() { + SwapCrossLeverPositionLimitRequest request = SwapCrossLeverPositionLimitRequest.builder() + .businessType("all") + .contractCode("") + .contractType("") + .pair("") + .leverRate(1) + .tradePartition("") + .build(); + SwapLeverPositionLimitResponse response = huobiCrossAPIService.getSwapCrossLeverPositionLimit(request); + logger.debug("11.查询用户所有杠杆持仓量限制:{}", JSON.toJSONString(response)); + } +} diff --git a/src/test/java/com/huobi/usdt/api/CrossReferenceAPITest.java b/src/test/java/com/huobi/usdt/api/CrossReferenceAPITest.java new file mode 100644 index 0000000..a399af1 --- /dev/null +++ b/src/test/java/com/huobi/usdt/api/CrossReferenceAPITest.java @@ -0,0 +1,28 @@ +package com.huobi.usdt.api; + +import com.alibaba.fastjson.JSON; +import com.huobi.api.response.usdt.market.SwapCrossAdjustfactorResponse; +import com.huobi.api.response.usdt.market.SwapLadderMarginResponse; +import com.huobi.api.service.usdt.reference.CrossReferenceAPIServiceImpl; +import com.huobi.api.service.usdt.reference.ReferenceAPIServiceImpl; +import org.junit.FixMethodOrder; +import org.junit.Test; +import org.junit.runners.MethodSorters; + +@FixMethodOrder(MethodSorters.JVM) +public class CrossReferenceAPITest implements BaseTest{ + CrossReferenceAPIServiceImpl huobiCrossAPIService = new CrossReferenceAPIServiceImpl("", ""); + + @Test + public void getSwapCrossLadderMargin() { + SwapLadderMarginResponse response = huobiCrossAPIService.getSwapCrossLadderMargin("","","",""); + logger.debug("1.获取平台阶梯保证金:{}", JSON.toJSONString(response)); + } + + @Test + public void getSwapCrossAdjustfactor() { + SwapCrossAdjustfactorResponse response = huobiCrossAPIService.getSwapCrossAdjustfactor("btc-usdt","","",""); + logger.debug("2.查询平台阶梯调整系数:{}", JSON.toJSONString(response)); + } + +} diff --git a/src/test/java/com/huobi/usdt/api/CrossSrategyAPITest.java b/src/test/java/com/huobi/usdt/api/CrossSrategyAPITest.java new file mode 100644 index 0000000..c554220 --- /dev/null +++ b/src/test/java/com/huobi/usdt/api/CrossSrategyAPITest.java @@ -0,0 +1,216 @@ +package com.huobi.usdt.api; + +import com.alibaba.fastjson.JSON; +import com.huobi.api.enums.DirectionEnum; +import com.huobi.api.enums.OffsetEnum; +import com.huobi.api.request.usdt.trade.*; +import com.huobi.api.response.usdt.trade.*; +import com.huobi.api.service.usdt.strategy.CrossStrategyAPIServiceImpl; +import com.huobi.api.service.usdt.strategy.StrategyAPIServiceImpl; +import org.junit.FixMethodOrder; +import org.junit.Test; +import org.junit.runners.MethodSorters; + +import java.math.BigDecimal; + +@FixMethodOrder(MethodSorters.JVM) +public class CrossSrategyAPITest implements BaseTest{ + CrossStrategyAPIServiceImpl huobiCrossAPIService = new CrossStrategyAPIServiceImpl("", ""); + + @Test + public void swapCrossTriggerOrderRequest() { + SwapCrossTriggerOrderRequest request = SwapCrossTriggerOrderRequest.builder() + .contractCode("ETH-USDT") + .triggerType("ge") + .triggerPrice(BigDecimal.valueOf(377)) + .orderPrice(BigDecimal.valueOf(377)) + .orderPriceType("limit") + .volume(BigDecimal.valueOf(1)) + .direction(DirectionEnum.BUY) + .offset(OffsetEnum.OPEN) + .leverRate(30) + .build(); + SwapCrossTriggerOrderResponse response = huobiCrossAPIService.swapCrossTriggerOrderResponse(request); + logger.debug("1.计划委托下单:{}", JSON.toJSONString(response)); + } + + @Test + public void swapCrossTriggerCancelRequest() { + SwapCrossTriggerCancelRequest request = SwapCrossTriggerCancelRequest.builder() + .orderId("1884,1883") + .contractCode("eth-usdt") + .build(); + SwapCrossTriggerCancelResponse response = huobiCrossAPIService.swapCrossTriggerCancelResponse(request); + logger.debug("2.计划委托撤单:{}", JSON.toJSONString(response)); + } + + @Test + public void swapCrossTriggerCancelallRequest() { + SwapCrossTriggerCancelallRequest request = SwapCrossTriggerCancelallRequest.builder() + .contractCode("eth-usdt") + .build(); + SwapCrossTriggerCancelallResponse response = huobiCrossAPIService.swapCrossTriggerCancelallResponse(request); + logger.debug("3.计划委托全部撤单:{}", JSON.toJSONString(response)); + } + + @Test + public void swapCrossTriggerOpenordersRequest() { + SwapCrossTriggerOpenordersRequest request = SwapCrossTriggerOpenordersRequest.builder() + .contractCode("eth-usdt") + .pageIndex(1) + .pageSize(10) + .build(); + SwapCrossTriggerOpenordersResponse response = huobiCrossAPIService.swapCrossTriggerOpenordersResponse(request); + logger.debug("4.获取计划委托当前委托:{}", JSON.toJSONString(response)); + } + + @Test + public void swapCrossTriggerHisordersRequest() { + SwapCrossTriggerHisordersRequest request = SwapCrossTriggerHisordersRequest.builder() + .tradeType(0) + .status("0") + .createDate(10) + .contractCode("eth-usdt") + .pageIndex(1) + .pageSize(1) + .sortBy("update_time") + .build(); + SwapCrossTriggerHisordersResponse response = huobiCrossAPIService.swapCrossTriggerHisordersResponse(request); + logger.debug("5.获取计划委托历史委托:{}", JSON.toJSONString(response)); + } + + @Test + public void swapTpslOrderRequest() { + SwapTpslOrderRequest request = SwapTpslOrderRequest.builder() + .contractCode("xrp-usdt") + .direction("buy") + .volume(BigDecimal.valueOf(1)) + .tpTriggerPrice(BigDecimal.valueOf(0.2)) + .tpOrderPrice(BigDecimal.valueOf(0.2)) + .tpOrderPriceType("limit") + .slTriggerPrice(BigDecimal.valueOf(0.5)) + .slOrderPrice(BigDecimal.valueOf(0.5)) + .slOrderPriceType("limit") + .build(); + SwapTpslOrderResponse response = huobiCrossAPIService.swapCrossTpslOrderResponse(request); + logger.debug("6.对仓位设置止盈止损订单:{}", JSON.toJSONString(response)); + } + + @Test + public void swapTpslCancelRequest() { + SwapTpslCancelRequest request = SwapTpslCancelRequest.builder() + .contractCode("xrp-usdt") + .orderId("798618423818387460,798593423673294823") + .build(); + SwapTpslCancelResponse response = huobiCrossAPIService.swapCrossTpslCancelResponse(request); + logger.debug("7.止盈止损订单撤单:{}", JSON.toJSONString(response)); + } + + @Test + public void swapTpslCancelallRequest() { + SwapTpslCancelallRequest request = SwapTpslCancelallRequest.builder() + .contractCode("xrp-usdt") + .build(); + SwapTpslCancelallResponse response = huobiCrossAPIService.swapCrossTpslCancelallResponse(request); + logger.debug("8.止盈止损订单全部撤单:{}", JSON.toJSONString(response)); + } + + @Test + public void swapTpslOpenorderRequest() { + SwapTpslOpenordersRequest request = SwapTpslOpenordersRequest.builder() + .contractCode("xrp-usdt") + .pageIndex(1) + .pageSize(20) + .build(); + SwapTpslOpenordersResponse response = huobiCrossAPIService.swapCrossTpslOpenordersResponse(request); + logger.debug("9.查询止盈止损订单当前委托:{}", JSON.toJSONString(response)); + } + + @Test + public void swapTpslHisordersRequest() { + SwapTpslHisordersRequset requset = SwapTpslHisordersRequset.builder() + .contractCode("xrp-usdt") + .status("0") + .createDate(10l) + .pageIndex(1) + .pageSize(20) + .sortBy("update_time") + .build(); + SwapTpslHisordersResponse response = huobiCrossAPIService.swapCrossTpslHisordersResponse(requset); + logger.debug("10.查询止盈止损订单历史委托:{}", JSON.toJSONString(response)); + } + + @Test + public void swapRelationTpslOrder() { + SwapRelationTpslOrderRequest request = SwapRelationTpslOrderRequest.builder() + .contractCode("xrp-usdt") + .orderId(798617480003518464l) + .build(); + SwapRelationTpslOrderResponse response = huobiCrossAPIService.swapCrossRelationTpslOrderResponse(request); + logger.debug("11.查询开仓单关联的止盈止损订单详情:{}", JSON.toJSONString(response)); + } + + @Test + public void swapCrossTrackOrders(){ + SwapTrackOrderRequest request=SwapTrackOrderRequest.builder() + .contractCode("btc-usdt") + .direction("buy") + .offset("open") + .leverRate(5) + .volume(BigDecimal.valueOf(1)) + .activePrice(BigDecimal.valueOf(390)) + .callbackRate(BigDecimal.valueOf(0.1)) + .orderPriceType("optimal_5") + .build(); + SwapTrackOrderResponse response=huobiCrossAPIService.swapCrossTrackOrderResponse(request); + logger.debug("12.跟踪委托订单下单:{}", JSON.toJSONString(response)); + } + + @Test + public void swapCrossTrackCancel(){ + SwapTrackCancelRequest request= SwapTrackCancelRequest.builder() + .orderId("827232952382566400") + .contractCode("btc-usdt") + .build(); + SwapTrackCancelResponse response=huobiCrossAPIService.swapCrossTrackCancelResponse(request); + logger.debug("13.跟踪委托订单撤单:{}", JSON.toJSONString(response)); + } + + @Test + public void swapCrossTrackCancelall(){ + SwapTrackCancelallRequest request= SwapTrackCancelallRequest.builder() + .contractCode("btc-usdt") + .direction("") + .offset("") + .build(); + SwapTrackCancelallResponse response=huobiCrossAPIService.swapCrossTrackCancelallResponse(request); + logger.debug("14.跟踪委托订单全部撤单:{}", JSON.toJSONString(response)); + } + + @Test + public void swapCrossTrackOpenorders(){ + SwapTrackOpenordersRequest request=SwapTrackOpenordersRequest.builder() + .contractCode("btc-usdt") + .tradeType(0) + .pageIndex(1) + .pageSize(2) + .build(); + SwapTrackOpenordersResponse response=huobiCrossAPIService.swapCrossTrackOpenordersResponse(request); + logger.debug("15.跟踪委托订单当前委托:{}", JSON.toJSONString(response)); + } + + @Test + public void swapCrossTrackHisorders(){ + SwapTrackHisordersRequest request= SwapTrackHisordersRequest.builder() + .contractCode("btc-usdt") + .status("0") + .tradeType(0) + .createDate(10l) + .pageIndex(1) + .pageSize(1) + .sortBy("") + .build(); + SwapTrackHisordersResponse response=huobiCrossAPIService.swapCrossTrackHisordersResponse(request); + logger.debug("16.跟踪委托订单当前委托:{}", JSON.toJSONString(response)); + } +} diff --git a/src/test/java/com/huobi/usdt/api/CrossTradeAPITest.java b/src/test/java/com/huobi/usdt/api/CrossTradeAPITest.java new file mode 100644 index 0000000..596d5cb --- /dev/null +++ b/src/test/java/com/huobi/usdt/api/CrossTradeAPITest.java @@ -0,0 +1,214 @@ +package com.huobi.usdt.api; + +import com.alibaba.fastjson.JSON; +import com.huobi.api.enums.DirectionEnum; +import com.huobi.api.enums.OffsetEnum; +import com.huobi.api.request.usdt.trade.*; +import com.huobi.api.response.usdt.market.SwapCrossTradeStateResponse; +import com.huobi.api.response.usdt.trade.*; +import com.huobi.api.service.usdt.trade.CrossTradeAPIServiceImpl; +import org.junit.FixMethodOrder; +import org.junit.Test; +import org.junit.runners.MethodSorters; +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.List; + +@FixMethodOrder(MethodSorters.JVM) +public class CrossTradeAPITest implements BaseTest { + + CrossTradeAPIServiceImpl huobiCrossAPIService = new CrossTradeAPIServiceImpl("", ""); + + @Test + public void getSwapCrossTradeState() { + SwapCrossTradeStateResponse response = huobiCrossAPIService.getSwapCrossTradeState("btc-usdt-220325","","","all"); + logger.debug("1.查询系统交易权限:{}", JSON.toJSONString(response)); + } + + @Test + public void swapCrossSwitchPositionMode(){ + SwapSwitchPositionModeResponse response=huobiCrossAPIService.swapCrossSwitchPositionModeResponse("usdt","dual_side"); + logger.debug("2.切换持仓模式:{}", JSON.toJSONString(response)); + } + + @Test + public void swapCrossOrderRequest() { + SwapCrossOrderRequest request = SwapCrossOrderRequest.builder() + .contractCode("BTC-USDT") + .volume(1l) + //.price(BigDecimal.valueOf(455)) + .direction(DirectionEnum.BUY) + .offset(OffsetEnum.CLOSE) + .leverRate(50) + .orderPriceType("optimal_10_ioc") + .build(); + SwapCrossOrderResponse response = + huobiCrossAPIService.swapCrossOrderRequest(request); + logger.debug("3.合约下单:{}", JSON.toJSONString(response)); + } + + @Test + public void swapCrossBatchorderRequest() { + List list = new ArrayList<>(); + for (int i = 0; i < 1; i++) { + SwapCrossOrderRequest request = SwapCrossOrderRequest.builder() + .contractCode("ETH-USDT") + .volume(1l) + .price(BigDecimal.valueOf(456)) + .direction(DirectionEnum.SELL) + .offset(OffsetEnum.OPEN) + .leverRate(30) + .orderPriceType("limit") + .build(); + list.add(request); + request = SwapCrossOrderRequest.builder() + .contractCode("BTC-USDT") + .volume(1l) + .price(BigDecimal.valueOf(45600)) + .direction(DirectionEnum.SELL) + .offset(OffsetEnum.OPEN) + .leverRate(50) + .orderPriceType("limit") + .build(); + list.add(request); + } + SwapCrossBatchorderRequest request = SwapCrossBatchorderRequest.builder() + .list(list) + .build(); + SwapCrossBatchorderResponse response = + huobiCrossAPIService.swapCrossBatchorderRequest(request); + logger.debug("4.合约批量下单:{}", JSON.toJSONString(response)); + } + + @Test + public void swapCrossCancelRequest() { + SwapCrossCancelRequest request = SwapCrossCancelRequest.builder() + .contractCode("btc-usdt") + .orderId("786547455839219712") + //.clientOrderId("") + .build(); + SwapCrossCancelResponse response = + huobiCrossAPIService.swapCrossCancelRequest(request); + logger.debug("5.撤销订单:{}", JSON.toJSONString(response)); + } + + @Test + public void swapCrossCancelallRequest() { + SwapCrossCancelallRequest request = SwapCrossCancelallRequest.builder() + .contractCode("eth-usdt") + .build(); + SwapCrossCancelallResponse response = + huobiCrossAPIService.swapCrossCancelallRequest(request); + logger.debug("6.全部撤单:{}", JSON.toJSONString(response)); + } + + @Test + public void getSwapCrossSwitchLeverRateResponse() { + SwapCrossSwitchLeverRateResponse response = huobiCrossAPIService.getSwapCrossSwitchLeverRate("ETH-USDT", 10,"",""); + logger.debug("7.切换杠杆:{}", JSON.toJSONString(response)); + } + + @Test + public void swapCrossOrderInfoRequest() { + SwapCrossOrderInfoRequest request = SwapCrossOrderInfoRequest.builder() + .contractCode("ETH-USDT") + //.clientOrderId("") + .orderId("786547455839219712") + .build(); + SwapCrossOrderInfoResponse response = + huobiCrossAPIService.swapCrossOrderInfoRequest(request); + logger.debug("8.获取合约订单信息:{}", JSON.toJSONString(response)); + } + + @Test + public void swapOrderDetailRequest() { + SwapCrossOrderDetailRequest request = SwapCrossOrderDetailRequest.builder() + .contractCode("ETH-USDT") + .orderId(786550830160982016l) + //.createdAt(System.currentTimeMillis()) + //.orderType(1) + //.pageIndex(1) + //.pageSize(20) + .build(); + SwapCrossOrderDetailResponse response = + huobiCrossAPIService.swapCrossOrderDetailRequest(request); + logger.debug("9.获取订单明细信息:{}", JSON.toJSONString(response)); + } + + @Test + public void swapCrossOpenordersRequest() { + SwapCrossOpenordersRequest request = SwapCrossOpenordersRequest.builder() + .contractCode("eth-usdt") + .pageIndex(1) + .pageSize(20) + .build(); + SwapCrossOpenordersResponse response = + huobiCrossAPIService.swapCrossOpenordersRequest(request); + logger.debug("10.获取合约当前未成交委托:{}", JSON.toJSONString(response)); + } + + @Test + public void swapCrossHisordersV3Response(){ + SwapCrossHisordersV3Request request = SwapCrossHisordersV3Request.builder() + .tradeType(0) + .type(1) + .status("0") + .build(); + SwapCrossHisordersV3Response response = huobiCrossAPIService.swapCrossHisordersV3Response(request); + logger.debug("11.【全仓】获取合约历史委托(新):{}", JSON.toJSONString(response)); + } + + @Test + public void swapCrossHisordersExactV3Response(){ + SwapCrossHisordersExactV3Request request = SwapCrossHisordersExactV3Request.builder() + .contract("BTC-USDT") + .tradeType(0) + .pair("BTC-USDT") + .status("0") + .type(1) + .priceType("opponent") + .startTime(1660119810000L) + .endTime(1660274746031L) + .direct("next") + .fromId(1110L) + .build(); + SwapCrossHisordersExactV3Response response = huobiCrossAPIService.swapCrossHisordersExactV3Response(request); + logger.debug("12.【全仓】组合查询合约历史委托(新):{}", JSON.toJSONString(response)); + } + + @Test + public void swapCrossMatchResultsV3Response(){ + SwapCrossMatchResultsV3Request request = SwapCrossMatchResultsV3Request.builder() + .contract("BTC-USDT") + .build(); + SwapCrossMatchResultsV3Response response = huobiCrossAPIService.swapCrossMatchResultsV3Response(request); + logger.debug("13.【全仓】获取历史成交记录(新):{}", JSON.toJSONString(response)); + } + + @Test + public void swapCrossMatchResultsExactV3Response(){ + SwapCrossMatchResultsExactV3Request request = SwapCrossMatchResultsExactV3Request.builder() + .contract("BTC-USDT") + .build(); + SwapCrossMatchResultsExactV3Response response = huobiCrossAPIService.swapCrossMatchResultsExactV3Response(request); + logger.debug("14.【全仓】获取历史成交记录(新):{}", JSON.toJSONString(response)); + } + + @Test + public void swapCrossLightningClosePositionRequest() { + SwapCrossLightningClosePositionRequest request = SwapCrossLightningClosePositionRequest.builder() + .contractCode("ETH-USDT") + .direction("buy") + .volume(1) + .build(); + SwapCrossLightningClosePositionResponse response = + huobiCrossAPIService.swapCrossLightningClosePositionRequest(request); + logger.debug("15.闪电平仓下单:{}", JSON.toJSONString(response)); + } + + @Test + public void swapCrossPositionSideResponse(){ + SwapCrossPositionSideResponse response = huobiCrossAPIService.swapCrossPositionSideResponse("USDT"); + logger.debug("16.【全仓】查询持仓模式:{}", JSON.toJSONString(response)); + } +} diff --git a/src/test/java/com/huobi/usdt/api/CrossTransferAPITest.java b/src/test/java/com/huobi/usdt/api/CrossTransferAPITest.java new file mode 100644 index 0000000..cac39ce --- /dev/null +++ b/src/test/java/com/huobi/usdt/api/CrossTransferAPITest.java @@ -0,0 +1,19 @@ +package com.huobi.usdt.api; + +import com.alibaba.fastjson.JSON; +import com.huobi.api.response.usdt.market.SwapCrossTransferStateResponse; +import com.huobi.api.service.usdt.transfer.CrossTransferAPIServiceImpl; +import org.junit.FixMethodOrder; +import org.junit.Test; +import org.junit.runners.MethodSorters; + +@FixMethodOrder(MethodSorters.JVM) +public class CrossTransferAPITest implements BaseTest{ + CrossTransferAPIServiceImpl huobiCrossAPIService = new CrossTransferAPIServiceImpl("", ""); + + @Test + public void getSwapCrossTransferState(){ + SwapCrossTransferStateResponse response = huobiCrossAPIService.getSwapCrossTransferState("USDT"); + logger.debug("1.获取合约的溢价指数K线:{}", JSON.toJSONString(response)); + } +} diff --git a/src/test/java/com/huobi/usdt/api/MarketAPITest.java b/src/test/java/com/huobi/usdt/api/MarketAPITest.java new file mode 100644 index 0000000..b3cf8a2 --- /dev/null +++ b/src/test/java/com/huobi/usdt/api/MarketAPITest.java @@ -0,0 +1,106 @@ +package com.huobi.usdt.api; + +import com.alibaba.fastjson.JSON; +import com.huobi.api.request.usdt.account.LinearSwapBasisRequest; +import com.huobi.api.request.usdt.account.SwapLiquidationOrdersRequest; +import com.huobi.api.request.usdt.account.SwapMarketHistoryKlineRequest; +import com.huobi.api.response.usdt.account.*; +import com.huobi.api.response.usdt.market.*; +import com.huobi.api.service.usdt.market.MarketAPIServiceImpl; +import org.junit.FixMethodOrder; +import org.junit.Test; +import org.junit.runners.MethodSorters; + +@FixMethodOrder(MethodSorters.JVM) +public class MarketAPITest implements BaseTest { + MarketAPIServiceImpl huobiAPIService = new MarketAPIServiceImpl(); + + @Test + public void getSwapMarketDepth() { + SwapMarketDepthResponse result = + huobiAPIService.getSwapMarketDepth("btc-usdt", "step15"); + logger.debug("1.获取行情深度数据:{}", JSON.toJSONString(result)); + } + + @Test + public void getMarketBbo(){ + MarketBboResponse response= huobiAPIService.getMarketBbo("",""); + logger.debug("2、获取市场最优挂单:{}",JSON.toJSONString(response)); + } + + @Test + public void getSwapMarketHistoryKline() { + SwapMarketHistoryKlineRequest result = SwapMarketHistoryKlineRequest.builder() + .contractCode("BTC-USDT") + .period("15min") + .size(1) + //.from() + //.to() + .build(); + SwapMarketHistoryKlineResponse response = huobiAPIService.getSwapMarketHistoryKline(result); + logger.debug("3.获取K线数据:{}", JSON.toJSONString(response)); + } + + @Test + public void getLinearSwapMarkPriceKline() { + LinearSwapMarkPriceKlineResponse response = huobiAPIService.getLinearSwapMarkPriceKline("btc-usdt", "1min", 10); + logger.debug("4、获取标记价格的K线数据:{}", JSON.toJSONString(response)); + } + + @Test + public void getSwapMarketDetailMergedResponse() { + SwapMarketDetailMergedResponse result = + huobiAPIService.getSwapMarketDetailMerged("BTC-USDT"); + logger.debug("5.获取聚合行情:{}", JSON.toJSONString(result)); + } + + @Test + public void getBatchMergedV2(){ + BatchMergedV2Response response = huobiAPIService.getBatchMergedV2(null, null); + logger.debug("6、批量获取聚合行情(V2):{}",JSON.toJSONString(response)); + } + + @Test + public void getSwapMarketTradeResponse() { + SwapMarketTradeResponse response = huobiAPIService.getSwapMarketTrade("BTC-USDT",""); + logger.debug("7.获取市场最近成交记录:{}", JSON.toJSONString(response)); + } + + @Test + public void getSwapMarketHistoryTradeResponse() { + SwapMarketHistoryTradeResponse response = huobiAPIService.getSwapMarketHistoryTrade("BTC-USDT", 100); + logger.debug("8.批量获取最近的交易记录:{}", JSON.toJSONString(response)); + } + + @Test + public void getSwapHisOpenInterestResponse() { + SwapHisOpenInterestResponse response = huobiAPIService.getSwapHisOpenInterest("BTC-USDT", "", "", "60min",10,1); + logger.debug("9.平台持仓量的查询:{}", JSON.toJSONString(response)); + } + + @Test + public void getLinearSwapPremiumIndexKlineResponse() { + LinearSwapPremiumIndexKlineResponse response = + huobiAPIService.getLinearSwapPremiumIndexKline("BTC-USDT", "5min", 10); + logger.debug("10.获取合约的溢价指数K线:{}", JSON.toJSONString(response)); + } + + @Test + public void getLinearSwapEstimatedRateKlineResponse() { + LinearSwapEstimatedRateKlineResponse response = + huobiAPIService.getLinearSwapEstimatedRateKline("BTC-USDT", "5min", 10); + logger.debug("11.获取实时预测资金费率的K线数据:{}", JSON.toJSONString(response)); + } + + @Test + public void getLinearSwapBasisResponse() { + LinearSwapBasisRequest request = LinearSwapBasisRequest.builder() + .contractCode("BTC-USDT") + .period("60min") + .basisPriceType("open") + .size(10) + .build(); + LinearSwapBasisResponse response = huobiAPIService.getLinearSwapBasis(request); + logger.debug("12.获取基差数据:{}", JSON.toJSONString(response)); + } +} diff --git a/src/test/java/com/huobi/usdt/api/ReferenceAPITest.java b/src/test/java/com/huobi/usdt/api/ReferenceAPITest.java new file mode 100644 index 0000000..e527353 --- /dev/null +++ b/src/test/java/com/huobi/usdt/api/ReferenceAPITest.java @@ -0,0 +1,258 @@ +package com.huobi.usdt.api; + +import com.alibaba.fastjson.JSON; +import com.google.errorprone.annotations.Var; +import com.huobi.api.enums.DirectionEnum; +import com.huobi.api.enums.OffsetEnum; +import com.huobi.api.request.usdt.account.SwapLiquidationOrdersV3Request; +import com.huobi.api.request.usdt.trade.SwapCrossBatchorderRequest; +import com.huobi.api.request.usdt.trade.SwapCrossOrderRequest; +import com.huobi.api.response.coin_futures.account.*; +import com.huobi.api.response.coin_futures.market.*; +import com.huobi.api.response.coin_futures.market.MarketBboResponse; +import com.huobi.api.response.coin_futures.trade.*; +import com.huobi.api.response.coin_futures.transfer.FuturesTransferResponse; +import com.huobi.api.response.coin_swap.account.SwapSubAuthResponse; +import com.huobi.api.response.coin_swap.trade.SwapCancelResponse; +import com.huobi.api.response.coin_swap.trade.SwapTpslCancelallResponse; +import com.huobi.api.response.usdt.account.*; +import com.huobi.api.response.usdt.market.*; +import com.huobi.api.response.usdt.trade.*; +import com.huobi.api.response.usdt.transfer.UsdtSwapTransferResponse; +import com.huobi.api.service.usdt.reference.ReferenceAPIServiceImpl; +import okhttp3.MediaType; +import okhttp3.RequestBody; +import org.apache.commons.lang3.StringUtils; +import org.json.JSONString; +import org.junit.FixMethodOrder; +import org.junit.Test; +import org.junit.runners.MethodSorters; + +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + + +@FixMethodOrder(MethodSorters.JVM) +public class ReferenceAPITest implements BaseTest { + ReferenceAPIServiceImpl huobiAPIService = new ReferenceAPIServiceImpl(); + + @Test + public void getSwapFundingRateResponse() { + SwapFundingRateResponse response = huobiAPIService.getSwapFundingRate("BTC-USDT"); + logger.debug("1.获取合约的资金费率:{}", JSON.toJSONString(response)); + } + + @Test + public void getSwapBatchFundingRate(){ + SwapBatchFundingRateResponse response=huobiAPIService.getSwapBatchFundingRate(""); + logger.debug("2.批量获取合约资金费率:{}",JSON.toJSONString(response)); + } + + @Test + public void getSwapHistoricalFundingRateResponse() { + SwapHistoricalFundingRateResponse response = huobiAPIService.getSwapHistoricalFundingRate("BTC-USDT", 1, 10); + logger.debug("3.获取合约的历史资金费率:{}", JSON.toJSONString(response)); + } + + @Test + public void getSwapLiquidationOrdersV3(){ + SwapLiquidationOrdersV3Request request = SwapLiquidationOrdersV3Request.builder().tradeType(5).contract("BTC-USDT").build(); + SwapLiquidationOrdersV3Response response = huobiAPIService.getSwapLiquidationOrdersV3(request); + logger.debug("4.获取强平订单(新):{}", JSON.toJSONString(response)); + } + + @Test + public void getSwapSettlementRecords(){ + SwapSettlementRecordsResponse response=huobiAPIService.getSwapSettlementRecords("btc-usdt",0l,0l,1,20); + logger.debug("5.查询平台历史结算记录:{}",JSON.toJSONString(response)); + } + + @Test + public void getSwapEliteAccountRatioResponse() { + SwapEliteAccountRatioResponse response = huobiAPIService.getSwapEliteAccountRatio("BTC-USDT", "60min"); + logger.debug("6.精英账户多空持仓对比-账户数:{}", JSON.toJSONString(response)); + } + + @Test + public void getSwapElitePositionRatioResponse() { + SwapElitePositionRatioResponse response = huobiAPIService.getSwapElitePositionRatio("BTC-USDT", "60min"); + logger.debug("7.精英账户多空持仓对比-持仓量:{}", JSON.toJSONString(response)); + } + + @Test + public void getSwapApiStateResponse() { + SwapApiStateResponse response = huobiAPIService.getSwapApiState(""); + logger.debug("8.查询系统状态:{}", JSON.toJSONString(response)); + } + + @Test + public void getSwapLadderMargin(){ + SwapLadderMarginResponse response = huobiAPIService.getSwapLadderMargin(""); + logger.debug("9.获取平台阶梯保证金:{}", JSON.toJSONString(response)); + } + + @Test + public void getSwapEstimatedSettlementPriceResponse() { + SwapEstimatedSettlementPriceResponse response = huobiAPIService.getSwapEstimatedSettlementPrice("btc-usdt","","",""); + logger.debug("10.获取预估结算价:{}", JSON.toJSONString(response)); + } + + @Test + public void getSwapAdjustfactorResponse() { + SwapAdjustfactorResponse response = huobiAPIService.getSwapAdjustfactor("BTC-USDT"); + logger.debug("11.查询平台阶梯调整系数:{}", JSON.toJSONString(response)); + } + + @Test + public void getSwapInsuranceFundResponse() { + SwapInsuranceFundResponse response = huobiAPIService.getSwapInsuranceFund("BTC-USDT", null, null); + logger.debug("12.查询合约风险准备金余额历史数据:{}", JSON.toJSONString(response)); + } + + @Test + public void getSwapRiskInfoResponse() { + SwapRiskInfoResponse response = huobiAPIService.getSwapRiskInfo("",""); + logger.debug("13.查询合约风险准备金余额和预估分摊比例:{}", JSON.toJSONString(response)); + } + + @Test + public void getSwapPriceLimit() { + SwapPriceLimitResponse result = + huobiAPIService.getSwapPriceLimit("","","","all"); + logger.debug("14.获取合约最高限价和最低限价:{}", JSON.toJSONString(result)); + } + + @Test + public void getSwapOpenInterest() { + SwapOpenInterestResponse result = + huobiAPIService.getSwapOpenInterest("btc-usdt","","",""); + logger.debug("15.获取当前可用合约总持仓量:{}", JSON.toJSONString(result)); + result = huobiAPIService.getSwapOpenInterest("","","",""); + logger.debug("15.获取当前可用合约总持仓量:{}", JSON.toJSONString(result)); + } + + @Test + public void getSwapContractInfo() { + SwapContractInfoResponse result = + huobiAPIService.getSwapContractInfo("", "","","",""); + logger.debug("16.获取合约信息:{}", JSON.toJSONString(result)); + } + + @Test + public void getSwapIndex() { + SwapIndexResponse result = huobiAPIService.getSwapIndex("btc-usdt"); + logger.debug("17.获取合约指数信息:{}", JSON.toJSONString(result)); + result = huobiAPIService.getSwapIndex(""); + logger.debug("17.获取合约指数信息:{}", JSON.toJSONString(result)); + } + + @Test + public void getSwapQueryElements(){ + SwapQueryElementsResponse response = huobiAPIService.getSwapQueryElements(null); + logger.debug("18、合约要素:{}",JSON.toJSONString(response)); + } + + @Test + public void jsonToObjext(){ + String body = "{\n" + + " \"status\": \"ok\",\n" + + " \"data\": {\n" + + " \"errors\": [],\n" + + " \"successes\": \"796038243887169536,796039239967260672,796039239971454976\"\n" + + " },\n" + + " \"ts\": 1609832157586\n" + + "}"; + + com.huobi.api.response.coin_swap.trade.SwapTpslCancelallResponse response = JSON.parseObject(body, SwapTpslCancelallResponse.class); + + logger.debug(JSON.toJSONString(response)); + } + + @Test + public void test() { + List list = new ArrayList<>(); + for (int i = 0; i < 2; i++) { + SwapCrossOrderRequest request = SwapCrossOrderRequest.builder() + .contractCode("ETH-USDT") + .volume(1l) + .price(BigDecimal.valueOf(456)) + .direction(DirectionEnum.SELL) + .offset(OffsetEnum.OPEN) + .leverRate(30) + .orderPriceType("limit") + .build(); + list.add(request); + request = SwapCrossOrderRequest.builder() + .contractCode("BTC-USDT") + .volume(1l) + .price(BigDecimal.valueOf(45600)) + .direction(DirectionEnum.SELL) + .offset(OffsetEnum.OPEN) + .leverRate(50) + .orderPriceType("limit") + .build(); + list.add(request); + } + SwapCrossBatchorderRequest request = SwapCrossBatchorderRequest.builder() + .list(list) + .build(); + List> listMap = new ArrayList<>(); + request.getList().stream() + .forEach(e -> { + Map params = new HashMap<>(); + params.put("volume", e.getVolume()); + params.put("direction", e.getDirection().getValue()); + if (e.getOffset() != null) { + params.put("offset", e.getOffset().getValue()); + } + params.put("order_price_type", e.getOrderPriceType()); + params.put("lever_rate", e.getLeverRate()); + if (StringUtils.isNotEmpty(e.getContractCode())) { + params.put("contract_code", e.getContractCode().toUpperCase()); + } + if (StringUtils.isNotEmpty(e.getPair())) { + params.put("pair", e.getPair().toUpperCase()); + } + if (e.getContractType() != null) { + params.put("contract_type", e.getContractType()); + } + if (e.getPrice() != null) { + params.put("price", e.getPrice()); + } + if (e.getClientOrderId() != null) { + params.put("client_order_id", e.getClientOrderId()); + } + if (e.getTpTriggerPrice() != null && e.getTpTriggerPrice() != BigDecimal.valueOf(0)) { + params.put("tp_trigger_price", e.getTpTriggerPrice()); + } + if (e.getTpOrderPrice() != null && e.getTpOrderPrice() != BigDecimal.valueOf(0)) { + params.put("tp_order_price", e.getTpOrderPrice()); + } + if (e.getTpOrderPriceType() != null) { + params.put("tp_order_price_type", e.getTpOrderPriceType()); + } + if (e.getSlTriggerPrice() != null && e.getSlTriggerPrice() != BigDecimal.valueOf(0)) { + params.put("sl_trigger_price", e.getSlTriggerPrice()); + } + if (e.getSlOrderPrice() != null && e.getSlOrderPrice() != BigDecimal.valueOf(0)) { + params.put("sl_order_price", e.getSlOrderPrice()); + } + if (e.getSlOrderPriceType() != null) { + params.put("sl_order_price_type", e.getSlOrderPriceType()); + } + if (e.getReduceOnly() != null) { + params.put("reduce_only", e.getReduceOnly()); + } + listMap.add(params); + }); + Map params = new HashMap<>(); + params.put("orders_data", listMap); + String body = JSON.toJSONString(params); + System.out.println(body); + + + } +} diff --git a/src/test/java/com/huobi/usdt/api/SrategyAPITest.java b/src/test/java/com/huobi/usdt/api/SrategyAPITest.java new file mode 100644 index 0000000..499f214 --- /dev/null +++ b/src/test/java/com/huobi/usdt/api/SrategyAPITest.java @@ -0,0 +1,217 @@ +package com.huobi.usdt.api; + + +import com.alibaba.fastjson.JSON; +import com.huobi.api.enums.DirectionEnum; +import com.huobi.api.enums.OffsetEnum; +import com.huobi.api.request.usdt.trade.*; +import com.huobi.api.response.usdt.trade.*; +import com.huobi.api.service.usdt.reference.CrossReferenceAPIServiceImpl; +import com.huobi.api.service.usdt.strategy.StrategyAPIServiceImpl; +import org.junit.FixMethodOrder; +import org.junit.Test; +import org.junit.runners.MethodSorters; + +import java.math.BigDecimal; + +@FixMethodOrder(MethodSorters.JVM) +public class SrategyAPITest implements BaseTest{ + StrategyAPIServiceImpl huobiAPIService = new StrategyAPIServiceImpl("", ""); + + @Test + public void swapTriggerOrderRequest() { + SwapTriggerOrderRequest request = SwapTriggerOrderRequest.builder() + .contractCode("ETH-USDT") + .triggerType("ge") + .triggerPrice(BigDecimal.valueOf(377)) + .orderPrice(BigDecimal.valueOf(377)) + .orderPriceType("limit") + .volume(BigDecimal.valueOf(1)) + .direction(DirectionEnum.BUY) + .offset(OffsetEnum.OPEN) + .leverRate(5) + .build(); + SwapTriggerOrderResponse response = huobiAPIService.swapTriggerOrderResponse(request); + logger.debug("1.计划委托下单:{}", JSON.toJSONString(response)); + } + + @Test + public void optionTriggerCancelRequest() { + SwapTriggerCancelRequest request = SwapTriggerCancelRequest.builder() + .orderId("4699") + .contractCode("eth-usdt") + .build(); + SwapTriggerCancelResponse response = huobiAPIService.swapTriggerCancelResponse(request); + logger.debug("2.计划委托撤单:{}", JSON.toJSONString(response)); + } + + @Test + public void optionTriggerCancelallRequest() { + SwapTriggerCancelallRequest request = SwapTriggerCancelallRequest.builder() + .contractCode("eth-usdt") + .build(); + SwapTriggerCancelallResponse response = huobiAPIService.swapTriggerCancelallResponse(request); + logger.debug("3.计划委托全部撤单:{}", JSON.toJSONString(response)); + } + + @Test + public void optionTriggerOpenordersRequest() { + SwapTriggerOpenordersRequest request = SwapTriggerOpenordersRequest.builder() + .contractCode("btc-usdt") + .pageIndex(1) + .pageSize(10) + .build(); + SwapTriggerOpenordersResponse response = huobiAPIService.swapTriggerOpenordersResponse(request); + logger.debug("4.获取计划委托当前委托:{}", JSON.toJSONString(response)); + } + + @Test + public void optionTriggerHisordersRequest() { + SwapTriggerHisordersRequest request = SwapTriggerHisordersRequest.builder() + .tradeType(0) + .status("0") + .createDate(10) + .contractCode("btc-usdt") + .pageIndex(1) + .pageSize(1) + .sortBy("update_time") + .build(); + SwapTriggerHisordersResponse response = huobiAPIService.swapTriggerHisordersResponse(request); + logger.debug("5.获取计划委托历史委托:{}", JSON.toJSONString(response)); + } + + @Test + public void swapTpslOrderRequest() { + SwapTpslOrderRequest request = SwapTpslOrderRequest.builder() + .contractCode("xrp-usdt") + .direction("buy") + .volume(BigDecimal.valueOf(1)) + .tpTriggerPrice(BigDecimal.valueOf(0.2)) + .tpOrderPrice(BigDecimal.valueOf(0.2)) + .tpOrderPriceType("limit") + .slTriggerPrice(BigDecimal.valueOf(0.5)) + .slOrderPrice(BigDecimal.valueOf(0.5)) + .slOrderPriceType("limit") + .build(); + SwapTpslOrderResponse response = huobiAPIService.swapTpslOrderResponse(request); + logger.debug("6.对仓位设置止盈止损订单:{}", JSON.toJSONString(response)); + } + + @Test + public void swapTpslCancelRequest() { + SwapTpslCancelRequest request = SwapTpslCancelRequest.builder() + .contractCode("xrp-usdt") + .orderId("798593423673294849,798593423673294823") + .build(); + SwapTpslCancelResponse response = huobiAPIService.swapTpslCancelResponse(request); + logger.debug("7.止盈止损订单撤单:{}", JSON.toJSONString(response)); + } + + @Test + public void swapTpslCancelallRequest() { + SwapTpslCancelallRequest request = SwapTpslCancelallRequest.builder() + .contractCode("xrp-usdt") + .build(); + SwapTpslCancelallResponse response = huobiAPIService.swapTpslCancelallResponse(request); + logger.debug("8.止盈止损订单全部撤单:{}", JSON.toJSONString(response)); + } + + @Test + public void swapTpslOpenorderRequest() { + SwapTpslOpenordersRequest request = SwapTpslOpenordersRequest.builder() + .contractCode("xrp-usdt") + .pageIndex(1) + .pageSize(20) + .build(); + SwapTpslOpenordersResponse response = huobiAPIService.swapTpslOpenordersResponse(request); + logger.debug("9.查询止盈止损订单当前委托:{}", JSON.toJSONString(response)); + } + + @Test + public void swapTpslHisordersRequest() { + SwapTpslHisordersRequset requset = SwapTpslHisordersRequset.builder() + .contractCode("xrp-usdt") + .status("0") + .createDate(10l) + .pageIndex(1) + .pageSize(20) + .sortBy("update_time") + .build(); + SwapTpslHisordersResponse response = huobiAPIService.swapTpslHisordersResponse(requset); + logger.debug("10.查询止盈止损订单历史委托:{}", JSON.toJSONString(response)); + } + + @Test + public void swapRelationTpslOrder() { + SwapRelationTpslOrderRequest request = SwapRelationTpslOrderRequest.builder() + .contractCode("xrp-usdt") + .orderId(798606585433096192l) + .build(); + SwapRelationTpslOrderResponse response = huobiAPIService.swapRelationTpslOrderResponse(request); + logger.debug("11.查询开仓单关联的止盈止损订单详情:{}", JSON.toJSONString(response)); + } + + @Test + public void swapTrackOrders(){ + SwapTrackOrderRequest request=SwapTrackOrderRequest.builder() + .contractCode("BTC-usdt") + .direction("buy") + .offset("open") + .leverRate(5) + .volume(BigDecimal.valueOf(1)) + .activePrice(BigDecimal.valueOf(48000)) + .callbackRate(BigDecimal.valueOf(0.1)) + .orderPriceType("optimal_10") + .build(); + SwapTrackOrderResponse response=huobiAPIService.swapTrackOrderResponse(request); + logger.debug("12.跟踪委托订单下单:{}", JSON.toJSONString(response)); + } + + @Test + public void swapTrackCancel(){ + SwapTrackCancelRequest request= SwapTrackCancelRequest.builder() + .orderId("827126893407870976,827126893407870977") + .contractCode("btc-usdt") + .build(); + SwapTrackCancelResponse response=huobiAPIService.swapTrackCancelResponse(request); + logger.debug("13.跟踪委托订单撤单:{}", JSON.toJSONString(response)); + } + + @Test + public void swapTrackCancelall(){ + SwapTrackCancelallRequest request= SwapTrackCancelallRequest.builder() + .contractCode("btc-usdt") + .direction("buy") + .offset("") + .build(); + SwapTrackCancelallResponse response=huobiAPIService.swapTrackCancelallResponse(request); + logger.debug("14.跟踪委托订单全部撤单:{}", JSON.toJSONString(response)); + } + + @Test + public void swapTrackOpenorders(){ + SwapTrackOpenordersRequest request=SwapTrackOpenordersRequest.builder() + .contractCode("btc-usdt") + .tradeType(0) + .pageIndex(1) + .pageSize(2) + .build(); + SwapTrackOpenordersResponse response=huobiAPIService.swapTrackOpenordersResponse(request); + logger.debug("15.跟踪委托订单当前委托:{}", JSON.toJSONString(response)); + } + + @Test + public void swapTrackHisorders(){ + SwapTrackHisordersRequest request= SwapTrackHisordersRequest.builder() + .contractCode("btc-usdt") + .status("0") + .tradeType(0) + .createDate(10l) + .pageIndex(1) + .pageSize(1) + .sortBy("") + .build(); + SwapTrackHisordersResponse response=huobiAPIService.swapTrackHisordersResponse(request); + logger.debug("16.跟踪委托订单当前委托:{}", JSON.toJSONString(response)); + } +} diff --git a/src/test/java/com/huobi/usdt/api/TradeAPITest.java b/src/test/java/com/huobi/usdt/api/TradeAPITest.java new file mode 100644 index 0000000..1070f3b --- /dev/null +++ b/src/test/java/com/huobi/usdt/api/TradeAPITest.java @@ -0,0 +1,210 @@ +package com.huobi.usdt.api; + +import com.alibaba.fastjson.JSON; +import com.huobi.api.enums.DirectionEnum; +import com.huobi.api.enums.OffsetEnum; +import com.huobi.api.request.usdt.trade.*; +import com.huobi.api.response.usdt.trade.*; +import com.huobi.api.service.usdt.trade.TradeAPIServiceImpl; +import org.junit.FixMethodOrder; +import org.junit.Test; +import org.junit.runners.MethodSorters; + +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.List; + +@FixMethodOrder(MethodSorters.JVM) +public class TradeAPITest implements BaseTest { + + TradeAPIServiceImpl huobiAPIService = new TradeAPIServiceImpl("", ""); + + @Test + public void linearCancelAfterResponse(){ + LinearCancelAfterRequest request = LinearCancelAfterRequest.builder() + .onOff(1) + .build(); + LinearCancelAfterResponse response = huobiAPIService.linearCancelAfterResponse(request); + logger.debug("1.【通用】自动撤单:{}", JSON.toJSONString(response)); + } + + @Test + public void swapSwitchPositionMode(){ + SwapSwitchPositionModeResponse response=huobiAPIService.swapSwitchPositionModeResponse("btc-usdt","dual_side"); + logger.debug("2.切换持仓模式:{}", JSON.toJSONString(response)); + } + + @Test + public void swapOrderRequest() { + SwapOrderRequest request = SwapOrderRequest.builder() + .contractCode("xrp-usdt") + .volume(1l) + .price(BigDecimal.valueOf(0.2)) + .direction(DirectionEnum.BUY) + .offset(OffsetEnum.OPEN) + .leverRate(10) + .orderPriceType("post_only") + .tpTriggerPrice(BigDecimal.valueOf(0.5)) + .tpOrderPrice(BigDecimal.valueOf(0.5)) + .tpOrderPriceType("limit") + .slTriggerPrice(BigDecimal.valueOf(0.1)) + .slOrderPrice(BigDecimal.valueOf(0.1)) + .slOrderPriceType("limit") + .reduceOnly(1) + .build(); + SwapOrderResponse response = + huobiAPIService.swapOrderRequest(request); + logger.debug("3.合约下单:{}", JSON.toJSONString(response)); + } + + @Test + public void swapBatchorderRequest() { + List list = new ArrayList<>(); + for (int i = 0; i < 2; i++) { + SwapOrderRequest request = SwapOrderRequest.builder() + .contractCode("ETH-USDT") + .volume(100l) + .price(BigDecimal.valueOf(456)) + .direction(DirectionEnum.SELL) + .offset(OffsetEnum.OPEN) + .leverRate(5) + .orderPriceType("limit") + .build(); + list.add(request); + } + SwapBatchorderRequest request = SwapBatchorderRequest.builder() + .list(list) + .build(); + SwapBatchorderResponse response = + huobiAPIService.swapBatchorderRequest(request); + logger.debug("4.合约批量下单:{}", JSON.toJSONString(response)); + } + + @Test + public void swapCancelRequest() { + SwapCancelRequest request = SwapCancelRequest.builder() + .contractCode("eth-usdt") + .orderId("759098746146705408") + //.clientOrderId("") + .build(); + SwapCancelResponse response = + huobiAPIService.swapCancelRequest(request); + logger.debug("5.撤销订单:{}", JSON.toJSONString(response)); + } + + @Test + public void swapCancelallRequest() { + SwapCancelallRequest request = SwapCancelallRequest.builder() + .contractCode("eth-usdt") + .build(); + SwapCancelallResponse response = + huobiAPIService.swapCancelallRequest(request); + logger.debug("6.全部撤单:{}", JSON.toJSONString(response)); + } + + @Test + public void getSwapSwitchLeverRateResponse() { + SwapSwitchLeverRateResponse response = huobiAPIService.getSwapSwitchLeverRate("BTC-USDT", 10); + logger.debug("7.切换杠杆:{}", JSON.toJSONString(response)); + } + + @Test + public void swapOrderInfoRequest() { + SwapOrderInfoRequest request = SwapOrderInfoRequest.builder() + .contractCode("BTC-USDT") + //.clientOrderId("") + .orderId("758644298199887872") + .build(); + SwapOrderInfoResponse response = + huobiAPIService.swapOrderInfoRequest(request); + logger.debug("8.获取合约订单信息:{}", JSON.toJSONString(response)); + } + + @Test + public void swapOrderDetailRequest() { + SwapOrderDetailRequest request = SwapOrderDetailRequest.builder() + .contractCode("BTC-usdt") + .orderId(758644298199887872l) + // .createdAt(System.currentTimeMillis()) + //.orderType(1) + //.pageIndex(1) + //.pageSize(20) + .build(); + SwapOrderDetailResponse response = + huobiAPIService.swapOrderDetailRequest(request); + logger.debug("9.获取订单明细信息:{}", JSON.toJSONString(response)); + } + + @Test + public void swapOpenordersRequest() { + SwapOpenordersRequest request = SwapOpenordersRequest.builder() + .contractCode("btc-usdt") + .pageIndex(1) + .pageSize(20) + .build(); + SwapOpenordersResponse response = + huobiAPIService.swapOpenordersRequest(request); + logger.debug("10.获取合约当前未成交委托:{}", JSON.toJSONString(response)); + } + + @Test + public void swapHisordersV3Response(){ + SwapHisordersV3Request request = SwapHisordersV3Request.builder() + .tradeType(0) + .type(1) + .status("0") + .build(); + SwapHisordersV3Response response = huobiAPIService.swapHisordersV3Response(request); + logger.debug("11.【逐仓】获取合约历史委托(新):{}", JSON.toJSONString(response)); + } + + @Test + public void swapHisordersExactV3Response(){ + SwapHisordersExactV3Request request = SwapHisordersExactV3Request.builder() + .tradeType(0) + .type(1) + .status("0") + .build(); + SwapHisordersExactV3Response response = huobiAPIService.swapHisordersExactV3Response(request); + logger.debug("12.【逐仓】组合查询合约历史委托(新):{}", JSON.toJSONString(response)); + } + + @Test + public void swapMatchResultsV3Response(){ + SwapMatchResultsV3Request request = SwapMatchResultsV3Request.builder() + .tradeType(0) + .build(); + SwapMatchResultsV3Response response = huobiAPIService.swapMatchResultsV3Response(request); + logger.debug("13.【逐仓】获取历史成交记录(新):{}", JSON.toJSONString(response)); + } + + @Test + public void swapMatchResultsExactV3Response(){ + SwapMatchResultsExactV3Request request = SwapMatchResultsExactV3Request.builder() + .contract("BTC-USDT") + .tradeType(0) + .build(); + SwapMatchResultsExactV3Response response = huobiAPIService.swapMatchResultsExactV3Response(request); + logger.debug("14.【逐仓】组合查询用户历史成交记录(新):{}", JSON.toJSONString(response)); + } + + @Test + public void swapLightningClosePositionRequest() { + SwapLightningClosePositionRequest request = SwapLightningClosePositionRequest.builder() + .contractCode("ETH-USDT") + .direction("sell") + .build(); + SwapLightningClosePositionResponse response = + huobiAPIService.swapLightningClosePositionRequest(request); + logger.debug("15.闪电平仓下单:{}", JSON.toJSONString(response)); + } + + @Test + public void swapPositionSideResponse(){ + SwapPositionSideRequest request = SwapPositionSideRequest.builder() + .marginAccount("BTC-USDT") + .build(); + SwapPositionSideResponse response = huobiAPIService.swapPositionSideResponse(request); + logger.debug("16.【逐仓】查询持仓模式:{}", JSON.toJSONString(response)); + } +} diff --git a/src/test/java/com/huobi/usdt/api/TransferAPITest.java b/src/test/java/com/huobi/usdt/api/TransferAPITest.java new file mode 100644 index 0000000..4532d7b --- /dev/null +++ b/src/test/java/com/huobi/usdt/api/TransferAPITest.java @@ -0,0 +1,47 @@ +package com.huobi.usdt.api; + +import com.alibaba.fastjson.JSON; +import com.huobi.api.request.usdt.transfer.UsdtSwapTransferRequest; +import com.huobi.api.response.usdt.transfer.UsdtSwapTransferResponse; +import com.huobi.api.service.usdt.transfer.TransferAPIServiceImpl; +import org.junit.FixMethodOrder; +import org.junit.Test; +import org.junit.runners.MethodSorters; + +import java.math.BigDecimal; + +/** + * 现货-USDT永续划转接口 + */ +@FixMethodOrder(MethodSorters.JVM) +public class TransferAPITest implements BaseTest { + + + TransferAPIServiceImpl huobiAPIService = new TransferAPIServiceImpl("", ""); + + @Test + public void transfer() { + /** + * 参数名称 是否必须 类型 描述 取值范围 + * from true string 来源业务线账户,取值:spot(币币)、linear-swap(正向永续合约) e.g. spot + * to true string 目标业务线账户,取值:spot(币币)、linear-swap(正向永续合约) e.g. linear-swap + * currency true string 币种,支持大小写 e.g. usdt + * amount true decimal 划转金额 + * margin_account true string 保证金账户 e.g. btc-usdt、eth-usdt + */ + + UsdtSwapTransferRequest request = UsdtSwapTransferRequest.builder() + .from("spot") + .to("linear-swap") + .margin_account("btc-usdt") + .currency("usdt") + .amount(BigDecimal.valueOf(1)) + .build(); + UsdtSwapTransferResponse response = huobiAPIService.transfer(request); + logger.debug("1.现货-USDT本位永续账户间进行资金的划转:{}", JSON.toJSONString(response)); + + + } + + +} diff --git a/src/test/java/com/huobi/usdt/api/UnifiedAccountAPITest.java b/src/test/java/com/huobi/usdt/api/UnifiedAccountAPITest.java new file mode 100644 index 0000000..462b3d0 --- /dev/null +++ b/src/test/java/com/huobi/usdt/api/UnifiedAccountAPITest.java @@ -0,0 +1,59 @@ +package com.huobi.usdt.api; + +import com.alibaba.fastjson.JSON; +import com.huobi.api.request.usdt.account.FixPositionMarginChangeRecordRequest; +import com.huobi.api.request.usdt.account.FixPositionMarginChangeRequest; +import com.huobi.api.response.usdt.account.*; +import com.huobi.api.service.usdt.unified_account.UnifiedAccountAPIServiceImpl; +import org.junit.FixMethodOrder; +import org.junit.Test; +import org.junit.runners.MethodSorters; + +@FixMethodOrder(MethodSorters.JVM) +public class UnifiedAccountAPITest implements BaseTest{ + UnifiedAccountAPIServiceImpl huobiAPIService = new UnifiedAccountAPIServiceImpl("", ""); + + @Test + public void getUnifiedAccountInfo(){ + UnifiedAccountInfoResponse response = huobiAPIService.getUnifiedAccountInfo("BTC-USDT"); + logger.debug("1.查询统一账户资产:{}", JSON.toJSONString(response)); + } + + @Test + public void getLinearSwapOverviewAccountInfo(){ + LinearSwapOverviewAccountInfoResponse response = huobiAPIService.getLinearSwapOverviewAccountInfo(); + logger.debug("2.可抵扣HT资产查询:{}", JSON.toJSONString(response)); + } + + @Test + public void getLinearSwapFeeSwitch(){ + LinearSwapFeeSwitchResponse response = huobiAPIService.getLinearSwapFeeSwitch(1); + logger.debug("3.设置U本位合约手续费抵扣方式:{}", JSON.toJSONString(response)); + } + + @Test + public void getFixPositionMarginChange(){ + FixPositionMarginChangeRequest request = FixPositionMarginChangeRequest.builder().amount(1.0).asset("USDT").contractCode("BTC-USDT").type(1).direction(1).build(); + FixPositionMarginChangeResponse response = huobiAPIService.getFixPositionMarginChange(request); + logger.debug("4.调整逐仓持仓保证金:{}", JSON.toJSONString(response)); + } + + @Test + public void getFixPositionMarginChangeRecord(){ + FixPositionMarginChangeRecordRequest request = FixPositionMarginChangeRecordRequest.builder().asset("USDT").contractCode("BTC-USDT").build(); + FixPositionMarginChangeRecordResponse response = huobiAPIService.getFixPositionMarginChangeRecord(request); + logger.debug("5.查询调整逐仓持仓保证金记录:{}", JSON.toJSONString(response)); + } + + @Test + public void getSwapUnifiedAccountType(){ + SwapUnifiedAccountTypeResponse response = huobiAPIService.getSwapUnifiedAccountType(); + logger.debug("6.账户类型查询:{}", JSON.toJSONString(response)); + } + + @Test + public void getSwapSwitchAccountType(){ + SwapSwitchAccountTypeResponse response = huobiAPIService.getSwapSwitchAccountType(1); + logger.debug("7.账户类型更改接口:{}", JSON.toJSONString(response)); + } +} diff --git a/src/test/java/com/huobi/usdt/wss/WssCenterNotificationSubTest.java b/src/test/java/com/huobi/usdt/wss/WssCenterNotificationSubTest.java new file mode 100644 index 0000000..0c5f07c --- /dev/null +++ b/src/test/java/com/huobi/usdt/wss/WssCenterNotificationSubTest.java @@ -0,0 +1,33 @@ +package com.huobi.usdt.wss; + +import com.alibaba.fastjson.JSON; +import com.google.common.collect.Lists; +import com.huobi.wss.event.PublicHeartbeatSubResponse; +import com.huobi.wss.handle.WssNotificationHandle; +import org.junit.Test; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.net.URISyntaxException; +import java.util.List; + +public class WssCenterNotificationSubTest { + private final Logger logger = LoggerFactory.getLogger(getClass()); + private String host = "api.hbdm.com"; + private String url = "/center-notification"; + private String sign="256"; + WssNotificationHandle wssNotificationHandle = new WssNotificationHandle(host, url, "", "",sign); + + @Test + public void test1() throws URISyntaxException, InterruptedException { + List channels = Lists.newArrayList(); + channels.add("public.linear-swap.heartbeat"); + wssNotificationHandle.sub(channels, response -> { + logger.info("用户收到的数据===============:{}", JSON.toJSON(response)); + Long currentTimeMillis = System.currentTimeMillis(); + PublicHeartbeatSubResponse event = JSON.parseObject(response, PublicHeartbeatSubResponse.class); + logger.info("ts为:{},当前的时间戳为:{},时间间隔为:{}毫秒", event.getTs(), currentTimeMillis, currentTimeMillis - event.getTs()); + }); + Thread.sleep(Integer.MAX_VALUE); + } +} diff --git a/src/test/java/com/huobi/usdt/wss/WssIndexReqTest.java b/src/test/java/com/huobi/usdt/wss/WssIndexReqTest.java new file mode 100644 index 0000000..a014fbf --- /dev/null +++ b/src/test/java/com/huobi/usdt/wss/WssIndexReqTest.java @@ -0,0 +1,143 @@ +package com.huobi.usdt.wss; + +import com.alibaba.fastjson.JSON; +import com.huobi.wss.event.*; +import com.huobi.wss.handle.WssMarketReqHandle; +import com.huobi.wss.request.WssRequest; +import org.apache.commons.lang3.time.DateUtils; +import org.junit.Test; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.net.URISyntaxException; +import java.util.Date; + +public class WssIndexReqTest { + private final Logger logger = LoggerFactory.getLogger(getClass()); + + private String URL = "wss://api.hbdm.com/ws_index"; + @Test + public void test1() throws URISyntaxException, InterruptedException { + WssMarketReqHandle wssMarketReqHandle = new WssMarketReqHandle(URL, response -> { + logger.info("请求(req)指数K线数据用户收到的原始数据:{}", response); + MarketIndexReqResponse reqResponse = JSON.parseObject(response, MarketIndexReqResponse.class); + logger.info("请求(req)指数K线数据解析之后的数据为:{}", JSON.toJSON(reqResponse)); + }); + while (true) { + try { + Date fromDate = DateUtils.parseDate("2020-09-15T00:00:00", "yyyy-MM-dd'T'HH:mm:ss"); + Date toDate = DateUtils.parseDate("2020-10-30T00:00:01", "yyyy-MM-dd'T'HH:mm:ss"); + WssRequest request = WssRequest.builder() + .req("market.btc-usdt.index.1min") + .from(fromDate.getTime() / 1000) + .to(toDate.getTime() / 1000) + .build(); + wssMarketReqHandle.doReq(JSON.toJSONString(request)); + } catch (Exception e) { + e.printStackTrace(); + } finally { + Thread.sleep(1000); + } + } + } + + @Test + public void test2() throws URISyntaxException, InterruptedException { + WssMarketReqHandle wssMarketReqHandle = new WssMarketReqHandle(URL, response -> { + logger.info("请求溢价指数K线数据用户收到的原始数据:{}", response); + MarketPremiumIndexReqResponse reqResponse = JSON.parseObject(response, MarketPremiumIndexReqResponse.class); + logger.info("请求溢价指数K线数据解析之后的数据为:{}", JSON.toJSON(reqResponse)); + }); + while (true) { + try { + Date fromDate = DateUtils.parseDate("2020-09-15T00:00:00", "yyyy-MM-dd'T'HH:mm:ss"); + Date toDate = DateUtils.parseDate("2020-10-30T00:00:01", "yyyy-MM-dd'T'HH:mm:ss"); + WssRequest request = WssRequest.builder() + .req("market.BTC-USDT.premium_index.1min") + .from(fromDate.getTime() / 1000) + .to(toDate.getTime() / 1000) + .build(); + wssMarketReqHandle.doReq(JSON.toJSONString(request)); + } catch (Exception e) { + e.printStackTrace(); + } finally { + Thread.sleep(1000); + } + } + } + + @Test + public void test3() throws URISyntaxException, InterruptedException { + WssMarketReqHandle wssMarketReqHandle = new WssMarketReqHandle(URL, response -> { + logger.info("请求预测资金费率K线数据用户收到的原始数据:{}", response); + MarketEstimatedRateReqResponse reqResponse = JSON.parseObject(response, MarketEstimatedRateReqResponse.class); + logger.info("请求预测资金费率K线数据解析之后的数据为:{}", JSON.toJSON(reqResponse)); + }); + while (true) { + try { + Date fromDate = DateUtils.parseDate("2020-09-15T00:00:00", "yyyy-MM-dd'T'HH:mm:ss"); + Date toDate = DateUtils.parseDate("2020-10-30T00:00:01", "yyyy-MM-dd'T'HH:mm:ss"); + WssRequest request = WssRequest.builder() + .req("market.BTC-USDT.estimated_rate.1min") + .from(fromDate.getTime() / 1000) + .to(toDate.getTime() / 1000) + .build(); + wssMarketReqHandle.doReq(JSON.toJSONString(request)); + } catch (Exception e) { + e.printStackTrace(); + } finally { + Thread.sleep(1000); + } + } + } + + @Test + public void test4() throws URISyntaxException, InterruptedException { + WssMarketReqHandle wssMarketReqHandle = new WssMarketReqHandle(URL, response -> { + logger.info("请求基差数据用户收到的原始数据:{}", response); + MarketBasisPriceTypeReqResponse reqResponse = JSON.parseObject(response, MarketBasisPriceTypeReqResponse.class); + logger.info("请求基差数据解析之后的数据为:{}", JSON.toJSON(reqResponse)); + }); + while (true) { + try { + Date fromDate = DateUtils.parseDate("2020-09-15T00:00:00", "yyyy-MM-dd'T'HH:mm:ss"); + Date toDate = DateUtils.parseDate("2020-10-30T00:00:01", "yyyy-MM-dd'T'HH:mm:ss"); + WssRequest request = WssRequest.builder() + .req("market.btc-usdt.basis.1min.open") + .from(fromDate.getTime() / 1000) + .to(toDate.getTime() / 1000) + .build(); + wssMarketReqHandle.doReq(JSON.toJSONString(request)); + } catch (Exception e) { + e.printStackTrace(); + } finally { + Thread.sleep(1000); + } + } + } + + @Test + public void test5() throws URISyntaxException, InterruptedException { + WssMarketReqHandle wssMarketReqHandle = new WssMarketReqHandle(URL, response -> { + logger.info("请求标记价格K线数据用户收到的原始数据:{}", response); + MarketMarkPriceReqResponse reqResponse = JSON.parseObject(response, MarketMarkPriceReqResponse.class); + logger.info("请求标记价格K线数据解析之后的数据为:{}", JSON.toJSON(reqResponse)); + }); + while (true) { + try { + Date fromDate = DateUtils.parseDate("2020-09-15T00:00:00", "yyyy-MM-dd'T'HH:mm:ss"); + Date toDate = DateUtils.parseDate("2020-10-30T00:00:01", "yyyy-MM-dd'T'HH:mm:ss"); + WssRequest request = WssRequest.builder() + .req("market.BTC-USDT.mark_price.5min") + .from(fromDate.getTime() / 1000) + .to(toDate.getTime() / 1000) + .build(); + wssMarketReqHandle.doReq(JSON.toJSONString(request)); + } catch (Exception e) { + e.printStackTrace(); + } finally { + Thread.sleep(1000); + } + } + } +} diff --git a/src/test/java/com/huobi/usdt/wss/WssIndexSubTest.java b/src/test/java/com/huobi/usdt/wss/WssIndexSubTest.java new file mode 100644 index 0000000..247f7fd --- /dev/null +++ b/src/test/java/com/huobi/usdt/wss/WssIndexSubTest.java @@ -0,0 +1,83 @@ +package com.huobi.usdt.wss; + +import com.alibaba.fastjson.JSON; +import com.google.common.collect.Lists; +import com.huobi.wss.event.*; +import com.huobi.wss.handle.WssMarketHandle; +import org.junit.Test; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.net.URISyntaxException; +import java.util.List; + +public class WssIndexSubTest { + private final Logger logger = LoggerFactory.getLogger(getClass()); + + private String URL = "wss://api.hbdm.com/ws_index"; + WssMarketHandle wssMarketHandle = new WssMarketHandle(URL); + @Test + public void test1() throws URISyntaxException, InterruptedException { + List channels = Lists.newArrayList(); + channels.add("market.BTC-USDT.index.1min"); + wssMarketHandle.sub(channels, response -> { + logger.info("订阅(sub)指数K线数据用户收到的数据===============:{}", JSON.toJSON(response)); + Long currentTimeMillis = System.currentTimeMillis(); + MarketIndexSubResponse event = JSON.parseObject(response, MarketIndexSubResponse.class); + logger.info("订阅(sub)指数K线数据的ts为:{},当前的时间戳为:{},时间间隔为:{}毫秒", event.getTs(), currentTimeMillis, currentTimeMillis - event.getTs()); + }); + Thread.sleep(Integer.MAX_VALUE); + } + + @Test + public void test2() throws URISyntaxException, InterruptedException { + List channels = Lists.newArrayList(); + channels.add("market.BTC-USDT.premium_index.1min"); + wssMarketHandle.sub(channels, response -> { + logger.info("订阅溢价指数K线数据用户收到的数据===============:{}", JSON.toJSON(response)); + Long currentTimeMillis = System.currentTimeMillis(); + MarketPremiumIndexSubResponse event = JSON.parseObject(response, MarketPremiumIndexSubResponse.class); + logger.info("订阅溢价指数K线数据的ts为:{},当前的时间戳为:{},时间间隔为:{}毫秒", event.getTs(), currentTimeMillis, currentTimeMillis - event.getTs()); + }); + Thread.sleep(Integer.MAX_VALUE); + } + + @Test + public void test3() throws URISyntaxException, InterruptedException { + List channels = Lists.newArrayList(); + channels.add("market.btc-usdt.estimated_rate.1min"); + wssMarketHandle.sub(channels, response -> { + logger.info("订阅预测资金费率K线数据用户收到的数据===============:{}", JSON.toJSON(response)); + Long currentTimeMillis = System.currentTimeMillis(); + MarketEstimatedRateSubResponse event = JSON.parseObject(response, MarketEstimatedRateSubResponse.class); + logger.info("订阅预测资金费率K线数据的ts为:{},当前的时间戳为:{},时间间隔为:{}毫秒", event.getTs(), currentTimeMillis, currentTimeMillis - event.getTs()); + }); + Thread.sleep(Integer.MAX_VALUE); + } + + @Test + public void test4() throws URISyntaxException, InterruptedException { + List channels = Lists.newArrayList(); + channels.add("market.BTC-USDT.basis.1min.open"); + wssMarketHandle.sub(channels, response -> { + logger.info("订阅基差数据用户收到的数据===============:{}", JSON.toJSON(response)); + Long currentTimeMillis = System.currentTimeMillis(); + MarketBasisPriceTypeSubResponse event = JSON.parseObject(response, MarketBasisPriceTypeSubResponse.class); + logger.info("订阅基差数据的ts为:{},当前的时间戳为:{},时间间隔为:{}毫秒", event.getTs(), currentTimeMillis, currentTimeMillis - event.getTs()); + }); + Thread.sleep(Integer.MAX_VALUE); + } + + @Test + public void test5() throws URISyntaxException, InterruptedException { + List channels = Lists.newArrayList(); + channels.add("market.BTC-USDT.mark_price.1min"); + wssMarketHandle.sub(channels, response -> { + logger.info("订阅标记价格K线数据用户收到的数据===============:{}", JSON.toJSON(response)); + Long currentTimeMillis = System.currentTimeMillis(); + MarketMarkPriceSubResponse event = JSON.parseObject(response, MarketMarkPriceSubResponse.class); + logger.info("订阅标记价格K线数据的ts为:{},当前的时间戳为:{},时间间隔为:{}毫秒", event.getTs(), currentTimeMillis, currentTimeMillis - event.getTs()); + }); + Thread.sleep(Integer.MAX_VALUE); + } +} diff --git a/src/test/java/com/huobi/usdt/wss/WssMarketReqTest.java b/src/test/java/com/huobi/usdt/wss/WssMarketReqTest.java new file mode 100644 index 0000000..dc6ea9c --- /dev/null +++ b/src/test/java/com/huobi/usdt/wss/WssMarketReqTest.java @@ -0,0 +1,95 @@ +package com.huobi.usdt.wss; + +import com.alibaba.fastjson.JSON; +import com.huobi.wss.event.MarketKLineReqResponse; +import com.huobi.wss.event.MarketTradeDetailReqResponse; +import com.huobi.wss.handle.WssMarketReqHandle; +import com.huobi.wss.request.WssRequest; +import org.apache.commons.lang3.time.DateUtils; +import org.junit.Test; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.net.URISyntaxException; +import java.text.ParseException; +import java.util.Date; +import java.util.HashMap; +import java.util.Map; + +public class WssMarketReqTest { + + private final Logger logger = LoggerFactory.getLogger(getClass()); + + private String URL = "wss://api.hbdm.com/linear-swap-ws";//合约站行情请求以及订阅地址 + + + /** + * 请求 KLine 数据 + * "from": " type: long, 2017-07-28T00:00:00+08:00 至2050-01-01T00:00:00+08:00 之间的时间点,单位:秒", + * "to": "type: long, 2017-07-28T00:00:00+08:00 至2050-01-01T00:00:00+08:00 之间的时间点,单位:秒,必须比 from 大" + * + * @throws URISyntaxException + * @throws InterruptedException + * @throws ParseException + */ + @Test + public void test1() throws URISyntaxException, InterruptedException { + + WssMarketReqHandle wssMarketReqHandle = new WssMarketReqHandle(URL, response -> { + logger.info("请求 KLine 数据用户收到的原始数据:{}", response); + MarketKLineReqResponse marketKLineReqResponse = JSON.parseObject(response, MarketKLineReqResponse.class); + logger.info("请求 KLine 数据解析之后的数据为:{}", JSON.toJSON(marketKLineReqResponse)); + }); + + while (true) { + try { + Date fromDate = DateUtils.parseDate("2020-09-15T00:00:00", "yyyy-MM-dd'T'HH:mm:ss"); + Date toDate = DateUtils.parseDate("2020-10-30T00:00:01", "yyyy-MM-dd'T'HH:mm:ss"); + + WssRequest wssRequest = WssRequest.builder() + .req("market.BTC-USDT.kline.60min") + .from(fromDate.getTime() / 1000) + .to(toDate.getTime() / 1000) + .build(); + wssMarketReqHandle.doReq(JSON.toJSONString(wssRequest)); + + } catch (Exception e) { + e.printStackTrace(); + } finally { + Thread.sleep(1000); + } + + } + } + + + /** + * 请求 Trade Detail 数据 + * + * @throws URISyntaxException + * @throws InterruptedException + */ + @Test + public void test2() throws URISyntaxException, InterruptedException { + + WssMarketReqHandle wssMarketReqHandle = new WssMarketReqHandle(URL, response -> { + logger.info("请求 Trade Detail 数据用户收到的原始数据:{}", response); + MarketTradeDetailReqResponse marketTradeDetailReqResponse = JSON.parseObject(response, MarketTradeDetailReqResponse.class); + logger.info("请求 Trade Detail 数据解析之后的数据为:{}", JSON.toJSON(marketTradeDetailReqResponse)); + }); + + while (true) { + try { + Map param = new HashMap<>(); + param.put("req", "market.BTC-USDT.trade.detail"); + wssMarketReqHandle.doReq(JSON.toJSONString(param)); + Thread.sleep(1000); + } catch (Exception e) { + e.printStackTrace(); + } + + } + } + + +} diff --git a/src/test/java/com/huobi/usdt/wss/WssMarketSubTest.java b/src/test/java/com/huobi/usdt/wss/WssMarketSubTest.java new file mode 100644 index 0000000..a916227 --- /dev/null +++ b/src/test/java/com/huobi/usdt/wss/WssMarketSubTest.java @@ -0,0 +1,149 @@ +package com.huobi.usdt.wss; + +import com.alibaba.fastjson.JSON; +import com.google.common.collect.Lists; +import com.huobi.wss.event.*; +import com.huobi.wss.handle.WssMarketHandle; +import org.junit.Test; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.net.URISyntaxException; +import java.util.List; + +public class WssMarketSubTest { + + private final Logger logger = LoggerFactory.getLogger(getClass()); + + private String URL = "wss://api.hbdm.com/linear-swap-ws";//合约站行情请求以及订阅地址 + WssMarketHandle wssMarketHandle = new WssMarketHandle(URL); + + + /** + * 订阅 KLine 数据 + * + * 注:一个webSocket 可以一次订阅多个 + * + * @throws URISyntaxException + * @throws InterruptedException + */ + @Test + public void test1() throws URISyntaxException, InterruptedException { + List channels = Lists.newArrayList(); + channels.add("market.BTC-USDT.kline.1min"); + // channels.add("market.BTC-USDT.kline.5min"); + // channels.add("market.BTC-USDT.kline.15min"); + // channels.add("market.BTC-USDT.kline.30min"); + // channels.add("market.BTC-USDT.kline.60min"); + // channels.add("market.BTC-USDT.kline.4hour"); + // channels.add("market.BTC-USDT.kline.1day"); + // channels.add("market.BTC-USDT.kline.1week"); + // channels.add("market.BTC-USDT.kline.1mon"); + + + + wssMarketHandle.sub(channels, response -> { + logger.info("kLineEvent用户收到的数据===============:{}", JSON.toJSON(response)); + Long currentTimeMillis = System.currentTimeMillis(); + MarketKLineSubResponse event = JSON.parseObject(response, MarketKLineSubResponse.class); + logger.info("kLineEvent的ts为:{},当前的时间戳为:{},时间间隔为:{}毫秒", event.getTs(), currentTimeMillis, currentTimeMillis - event.getTs()); + }); + Thread.sleep(Integer.MAX_VALUE); + + + } + + + /** + * 订阅 Market Depth 数据 + * + * 注:一个webSocket 可以一次订阅多个 + * + * @throws URISyntaxException + * @throws InterruptedException + */ + @Test + public void test2() throws URISyntaxException, InterruptedException { + List channels = Lists.newArrayList(); + channels.add("market.BTC-USDT.depth.step0"); + channels.add("market.BTC-USDT.depth.size_20.high_freq"); + wssMarketHandle.sub(channels, response -> { + logger.info("depthEvent用户收到的数据===============:{}", JSON.toJSON(response)); + Long currentTimeMillis = System.currentTimeMillis(); + MarketDepthSubResponse event = JSON.parseObject(response, MarketDepthSubResponse.class); + logger.info("depthEvent的ts为:{},当前的时间戳为:{},时间间隔为:{}毫秒", event.getTs(), currentTimeMillis, currentTimeMillis - event.getTs()); + logger.info("数据大小为:{}", event.getTick().getAsks().size()); + }); + Thread.sleep(Integer.MAX_VALUE); + + } + + + /** + * 订阅 Market detail 数据 + * + * 注:一个webSocket 可以一次订阅多个 + * + * @throws URISyntaxException + * @throws InterruptedException + */ + @Test + public void test3() throws URISyntaxException, InterruptedException { + List channels = Lists.newArrayList(); + channels.add("market.BTC-USDT.detail"); + wssMarketHandle.sub(channels, response -> { + logger.info("detailEvent用户收到的数据===============:{}", JSON.toJSON(response)); + Long currentTimeMillis = System.currentTimeMillis(); + MarketDetailSubResponse event = JSON.parseObject(response, MarketDetailSubResponse.class); + logger.info("detailEvent的ts为:{},当前的时间戳为:{},时间间隔为:{}毫秒", event.getTs(), currentTimeMillis, currentTimeMillis - event.getTs()); + }); + Thread.sleep(Integer.MAX_VALUE); + } + + + /** + * 订阅 Trade Detail 数据 + * + * @throws URISyntaxException + * @throws InterruptedException + */ + @Test + public void test4() throws URISyntaxException, InterruptedException { + List channels = Lists.newArrayList(); + channels.add("market.BTC-USDT.trade.detail"); + wssMarketHandle.sub(channels, response -> { + logger.info("订阅TradeDetail数据用户收到的数据===============:{}", JSON.toJSON(response)); + Long currentTimeMillis = System.currentTimeMillis(); + MarketTradeDetailSubResponse event = JSON.parseObject(response, MarketTradeDetailSubResponse.class); + logger.info("tradeDetailEvent的ts为:{},当前的时间戳为:{},时间间隔为:{}毫秒", event.getTs(), currentTimeMillis, currentTimeMillis - event.getTs()); + }); + Thread.sleep(Integer.MAX_VALUE); + } + + @Test + public void test5() throws URISyntaxException, InterruptedException { + List channels = Lists.newArrayList(); + channels.add("market.BTC-USDT.depth.size_20.high_freq"); + wssMarketHandle.sub(channels, response -> { + logger.info("订阅Market Depth增量数据用户收到的数据===============:{}", JSON.toJSON(response)); + Long currentTimeMillis = System.currentTimeMillis(); + MarketDepthDiffSubResponse event = JSON.parseObject(response, MarketDepthDiffSubResponse.class); + logger.info("Market Depth增量数据的ts为:{},当前的时间戳为:{},时间间隔为:{}毫秒", event.getTs(), currentTimeMillis, currentTimeMillis - event.getTs()); + }); + Thread.sleep(Integer.MAX_VALUE); + } + + @Test + public void test6() throws URISyntaxException, InterruptedException { + List channels = Lists.newArrayList(); + channels.add("market.BTC-USDT.bbo"); + wssMarketHandle.sub(channels, response -> { + logger.info("订阅买一卖一逐笔行情推送用户收到的数据===============:{}", JSON.toJSON(response)); + Long currentTimeMillis = System.currentTimeMillis(); + MarketBboSubResponse event = JSON.parseObject(response, MarketBboSubResponse.class); + logger.info("订阅买一卖一逐笔行情推送的ts为:{},当前的时间戳为:{},时间间隔为:{}毫秒", event.getTs(), currentTimeMillis, currentTimeMillis - event.getTs()); + }); + Thread.sleep(Integer.MAX_VALUE); + } + +} diff --git a/src/test/java/com/huobi/usdt/wss/WssNotificationSubTest.java b/src/test/java/com/huobi/usdt/wss/WssNotificationSubTest.java new file mode 100644 index 0000000..0bcd61b --- /dev/null +++ b/src/test/java/com/huobi/usdt/wss/WssNotificationSubTest.java @@ -0,0 +1,191 @@ +package com.huobi.usdt.wss; + +import com.alibaba.fastjson.JSON; +import com.google.common.collect.Lists; +import com.huobi.wss.event.*; +import com.huobi.wss.handle.WssNotificationHandle; +import org.junit.Test; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.net.URISyntaxException; +import java.util.List; + + +public class WssNotificationSubTest { + + private final Logger logger = LoggerFactory.getLogger(getClass()); + private String host = "api.hbdm.com"; + private String url = "/linear-swap-notification"; + private String sign="256"; + WssNotificationHandle wssNotificationHandle = new WssNotificationHandle(host, url, "", "",sign); + + @Test + public void test1() throws URISyntaxException, InterruptedException { + List channels = Lists.newArrayList(); + channels.add("orders.btc-usdt"); + wssNotificationHandle.sub(channels, response -> { + logger.info("用户收到的数据===============:{}", JSON.toJSON(response)); + Long currentTimeMillis = System.currentTimeMillis(); + OrdersSubResponse event = JSON.parseObject(response, OrdersSubResponse.class); + logger.info("ts为:{},当前的时间戳为:{},时间间隔为:{}毫秒", event.getTs(), currentTimeMillis, currentTimeMillis - event.getTs()); + }); + Thread.sleep(Integer.MAX_VALUE); + } + + @Test + public void test2() throws URISyntaxException, InterruptedException { + List channels = Lists.newArrayList(); + channels.add("orders_cross.btc-usdt"); + wssNotificationHandle.sub(channels, response -> { + logger.info("用户收到的数据===============:{}", JSON.toJSON(response)); + Long currentTimeMillis = System.currentTimeMillis(); + OrdersSubResponse event = JSON.parseObject(response, OrdersSubResponse.class); + logger.info("ts为:{},当前的时间戳为:{},时间间隔为:{}毫秒", event.getTs(), currentTimeMillis, currentTimeMillis - event.getTs()); + }); + Thread.sleep(Integer.MAX_VALUE); + } + + @Test + public void test3() throws URISyntaxException, InterruptedException { + List channels = Lists.newArrayList(); + channels.add("accounts.BTC-USDT"); + wssNotificationHandle.sub(channels, response -> { + logger.info("用户收到的数据===============:{}", JSON.toJSON(response)); + Long currentTimeMillis = System.currentTimeMillis(); + AccountsSubResponse event = JSON.parseObject(response, AccountsSubResponse.class); + logger.info("ts为:{},当前的时间戳为:{},时间间隔为:{}毫秒", event.getTs(), currentTimeMillis, currentTimeMillis - event.getTs()); + }); + Thread.sleep(Integer.MAX_VALUE); + } + + @Test + public void test4() throws URISyntaxException, InterruptedException { + List channels = Lists.newArrayList(); + channels.add("accounts_cross.USDT"); + wssNotificationHandle.sub(channels, response -> { + logger.info("用户收到的数据===============:{}", JSON.toJSON(response)); + Long currentTimeMillis = System.currentTimeMillis(); + AccountCrossSubResponse event = JSON.parseObject(response, AccountCrossSubResponse.class); + logger.info("ts为:{},当前的时间戳为:{},时间间隔为:{}毫秒", event.getTs(), currentTimeMillis, currentTimeMillis - event.getTs()); + }); + Thread.sleep(Integer.MAX_VALUE); + } + + @Test + public void test5() throws URISyntaxException, InterruptedException { + List channels = Lists.newArrayList(); + channels.add("positions.BTC-USDT"); + wssNotificationHandle.sub(channels, response -> { + logger.info("用户收到的数据===============:{}", JSON.toJSON(response)); + Long currentTimeMillis = System.currentTimeMillis(); + PositionsSubResponse event = JSON.parseObject(response, PositionsSubResponse.class); + logger.info("ts为:{},当前的时间戳为:{},时间间隔为:{}毫秒", event.getTs(), currentTimeMillis, currentTimeMillis - event.getTs()); + }); + Thread.sleep(Integer.MAX_VALUE); + } + + @Test + public void test6() throws URISyntaxException, InterruptedException { + List channels = Lists.newArrayList(); + channels.add("positions_cross.BTC-USDT"); + wssNotificationHandle.sub(channels, response -> { + logger.info("用户收到的数据===============:{}", JSON.toJSON(response)); + Long currentTimeMillis = System.currentTimeMillis(); + PositionsSubResponse event = JSON.parseObject(response, PositionsSubResponse.class); + logger.info("ts为:{},当前的时间戳为:{},时间间隔为:{}毫秒", event.getTs(), currentTimeMillis, currentTimeMillis - event.getTs()); + }); + Thread.sleep(Integer.MAX_VALUE); + } + + @Test + public void test7() throws URISyntaxException, InterruptedException { + List channels = Lists.newArrayList(); + channels.add("public.BTC-USDT.liquidation_orders"); + wssNotificationHandle.sub(channels, response -> { + logger.info("用户收到的数据===============:{}", JSON.toJSON(response)); + Long currentTimeMillis = System.currentTimeMillis(); + PublicSubResponse event = JSON.parseObject(response, PublicSubResponse.class); + logger.info("ts为:{},当前的时间戳为:{},时间间隔为:{}毫秒", event.getTs(), currentTimeMillis, currentTimeMillis - event.getTs()); + }); + Thread.sleep(Integer.MAX_VALUE); + } + + @Test + public void test8() throws URISyntaxException, InterruptedException { + List channels = Lists.newArrayList(); + channels.add("public.btc-usdt.funding_rate"); + wssNotificationHandle.sub(channels, response -> { + logger.info("用户收到的数据===============:{}", JSON.toJSON(response)); + Long currentTimeMillis = System.currentTimeMillis(); + PublicFundingRateResponse event = JSON.parseObject(response, PublicFundingRateResponse.class); + logger.info("ts为:{},当前的时间戳为:{},时间间隔为:{}毫秒", event.getTs(), currentTimeMillis, currentTimeMillis - event.getTs()); + }); + Thread.sleep(Integer.MAX_VALUE); + } + + @Test + public void test9() throws URISyntaxException, InterruptedException { + List channels = Lists.newArrayList(); + channels.add("public.btc-usdt.contract_info"); + wssNotificationHandle.sub(channels, response -> { + logger.info("用户收到的数据===============:{}", JSON.toJSON(response)); + Long currentTimeMillis = System.currentTimeMillis(); + PublicContractInfoResponse event = JSON.parseObject(response, PublicContractInfoResponse.class); + logger.info("ts为:{},当前的时间戳为:{},时间间隔为:{}毫秒", event.getTs(), currentTimeMillis, currentTimeMillis - event.getTs()); + }); + Thread.sleep(Integer.MAX_VALUE); + } + + @Test + public void test10() throws URISyntaxException, InterruptedException { + List channels = Lists.newArrayList(); + channels.add("trigger_order.BTC-USDT"); + wssNotificationHandle.sub(channels, response -> { + logger.info("用户收到的数据===============:{}", JSON.toJSON(response)); + Long currentTimeMillis = System.currentTimeMillis(); + TriggerOrderSubResponse event = JSON.parseObject(response, TriggerOrderSubResponse.class); + logger.info("ts为:{},当前的时间戳为:{},时间间隔为:{}毫秒", event.getTs(), currentTimeMillis, currentTimeMillis - event.getTs()); + }); + Thread.sleep(Integer.MAX_VALUE); + } + + @Test + public void test11() throws URISyntaxException, InterruptedException { + List channels = Lists.newArrayList(); + channels.add("trigger_order_cross.BTC-USDT"); + wssNotificationHandle.sub(channels, response -> { + logger.info("用户收到的数据===============:{}", JSON.toJSON(response)); + Long currentTimeMillis = System.currentTimeMillis(); + TriggerOrderCrossSubResponse event = JSON.parseObject(response, TriggerOrderCrossSubResponse.class); + logger.info("ts为:{},当前的时间戳为:{},时间间隔为:{}毫秒", event.getTs(), currentTimeMillis, currentTimeMillis - event.getTs()); + }); + Thread.sleep(Integer.MAX_VALUE); + } + + @Test + public void test12() throws URISyntaxException, InterruptedException { + List channels = Lists.newArrayList(); + channels.add("matchOrders.BTC-USDT"); + wssNotificationHandle.sub(channels, response -> { + logger.info("用户收到的数据===============:{}", JSON.toJSON(response)); + Long currentTimeMillis = System.currentTimeMillis(); + MatchOrdersSubResponse event = JSON.parseObject(response, MatchOrdersSubResponse.class); + logger.info("ts为:{},当前的时间戳为:{},时间间隔为:{}毫秒", event.getTs(), currentTimeMillis, currentTimeMillis - event.getTs()); + }); + Thread.sleep(Integer.MAX_VALUE); + } + + @Test + public void test13() throws URISyntaxException, InterruptedException { + List channels = Lists.newArrayList(); + channels.add("matchOrders_cross.BTC-USDT"); + wssNotificationHandle.sub(channels, response -> { + logger.info("用户收到的数据===============:{}", JSON.toJSON(response)); + Long currentTimeMillis = System.currentTimeMillis(); + MatchOrdersCrossSubResponse event = JSON.parseObject(response, MatchOrdersCrossSubResponse.class); + logger.info("ts为:{},当前的时间戳为:{},时间间隔为:{}毫秒", event.getTs(), currentTimeMillis, currentTimeMillis - event.getTs()); + }); + Thread.sleep(Integer.MAX_VALUE); + } +} diff --git a/target/classes/com/huobi/api/constants/HuobiCoinMarginedSwapAPIOptions.class b/target/classes/com/huobi/api/constants/HuobiCoinMarginedSwapAPIOptions.class new file mode 100644 index 0000000000000000000000000000000000000000..8f8019e0ff2784603062925f002ecea82b36a60d GIT binary patch literal 6941 zcmbW5cYNE%702(q1n&_i9*JW+!?B%MZ0s~?M$`>;OYmQ4GgYZgX}oNcg)by$^RvnWg7)M#;_Vr7^RhvG;SfS*{zF=@_n_%@)fA$1UlOS=87EINL&`6Ghv^ zdO?Xl$l3N-Y&&LNcZ{5C8;)Zcc>`xml+3K5u@5Qt^$F9p9cXFn!^#2Sk69QK2V(gn zoNbcljp$BxTsk{1{3vJVNg=$0yJl9m`ZPYq*;c7xnTN_|PPkBTizT>gyORer_HlJQ zF|uT2pj zUCYdyi2JA2v3>dY3}?#`Gvr3kPiXA3z;Qz_IU|OSU7zD@$S&uRq@x=9yb2cZpy9YV zW5OBN*cV_}vNAG)TzygHDp`!fbksd)nFYl5OPrl8%@g7{H%j#7zMVP4(M`+E8>KM= z)%F$6*2W2mSKP_{8vAOWQ3zQMw|uSdC}l(<{yGXqn4_26BveM;Eawqw#8#Q}4bFB@ zCB!HxE>R^)>zgouYK`c&i7b3e^}vX3$&Q)St+K2HjeT3$tg2k}qQ<_XQq(K&c>TMo zoRoT>{CntF>4jY$arLsu$@kS!Y6)c^y6*=n_;Nkzu~_s&bqf^<1Cp&jO4}M6_+#a( z*xF~@PgGxzngztcM6<-DE<53;oSiRCACMYHMCpre`I+jsvW)-pd=$<`-PFZzgO zxRx<#;3nD4zfcV!TTnH`FFDiVs}0o4uT(doKnnIKE=v05*GkayD-rxgIhNOL3^!N! zt~P7zw`wA#NRt3)?00Goh>0XBQw$j~naU`j->V|Yit@2seH6E7>K_W zLv}{8_$SU*%EfrE#{R5kU%a4Omd5_l%i3X6OgRyq*EsSK&EbAVS9%DL0f%4AsPS zzPNv5&sU8vQL%C+Y)hH2RMn?kRQE6I875Tc^Tvl%nBp_Y&G06Er=^5kyIj?3$*|(r zh~B@VcR!w+gUYIvDuXCYtSYls^=>E2GAOInfQUEHkgPd<6R~V9(o(i_PCSNt{lnLB zw(Po~8AR7}ws`lRNzRsJTQwiyvx25y=r$^T$MGt4tZcAaRj)qjbppZ3;*w}42syjj zsI z(x4f3J6^NuyHnj}4fAzS#j73bhS8K)janVfE*w-q?A%t{Z{n87@Ax6?*gmLL_i8o2 z<2GafIlFjJ!>SDHDqd8bkzt%y+cT(!Xd#dRim*?Y9(h3S zbL+wJZcr0}Xu7Qq!iOTIYDtQTcOAb9MX04@0OcHYkjA7MHVxVqG;99J)H*rd^*g6r zKaL@e-!`~e1{Nkag7gCDE0OiG#ZaZl5o*S3wDAmOW_+&`ReUeXaCYTP6t%-^G8vJS zZn#gB_OR^E=}xQL9u|!wD}8?^>^4wXr-qM(ttJLbY@B~GgT+}t%GCUJG=p*1zh0@J z!V*{Jwc`w(%FNc$>6~4fkzrA1DXFkVRP$_HQEs9=a9Yieyr7AV4Yn&Y2XjS} z&R>|Q#08`j2b@6e#7G;sKpB+ChtFVcyW=;4ZUY5?JS&ScXV`$mBpoEmUhUX%h8-0z z6r(g{OjJDl-H1Umhd&c#NvF1%YX5j*rBrdR?_-Ti1`AOg(Wkj}P&4dST(2uiBjq9` zL`jR0cEJMMlW`R*rC1}6NtA@i|J!k~b16|2$MrczElUQ+RM14M1I(CsAaJ&un7@FM z>z~AQ;4EcmbwiBqv@w%1p7FE=b@8~mb$`x>1#)1f3=BEZ)WAr}oxWUCKFU4i%|f9! z!zmb)%$gLHUW5{rl-H)=g?O!85l?j>XDN?Jie4|MDYIBSBBB$;8xYT}v@+jU6|GR; z=S{%|d>)eIBr{zG2Y<^9O5~VG#G41j@yV$VTrBeH_0;|hPXyut6G`hNNlUpsPFh@^ zDX(NKjt5$*_2LzfN*EIK4Nhtj!%Rtc65slzs#K{3i4Gq8>I}X@y7dTG&j38<4}h;Ad}r{Lgs%eM zh49tjYY1NpzK-x+!PgVM8~E;ob?^w`EI3El0FM$L1CJ9n!8Z^-2(}34!3Dxa@C4yQ z;1XdQ><||9H%a&~_z2;n;Cm3hC-`23?+v~WVHbQ~!XCInxC*Wj_Q6wxr@=FX1Mo4z zv*0@62DnMM1#S~Q4(<>R!4csuc#iN1@JYg_!1p73fA9kcKM?#N!Z(5+O!y(-hZ24m z_~C>f0e&RmM}Z$r_%Yze5`G-`@r0iMej?!~fuBtHDd49Pej51cgr5O^CgEp+pH28V z;O7#49{Bl$UjTj~;TM5lO!y_>mlA#%_~nFO0e&UnSAkzm_%-0y5`G={^@QI5ek0*G zVUlw39~S(43npqtGGj~k-pu$-a>TwBKbK*dVF14kKUc}$m$J9BcYrv%89x`Xcm5Z% CuP599 literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/constants/HuobiFutureAPIConstants.class b/target/classes/com/huobi/api/constants/HuobiFutureAPIConstants.class new file mode 100644 index 0000000000000000000000000000000000000000..d17e9c899241a2223d17b50e67a16616326cee5e GIT binary patch literal 6579 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 literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/constants/HuobiLinearSwapCrossAPIConstants.class b/target/classes/com/huobi/api/constants/HuobiLinearSwapCrossAPIConstants.class new file mode 100644 index 0000000000000000000000000000000000000000..b14c57ec9722a5f55a84995e86d565e8bde48cdc GIT binary patch literal 4810 zcmbW4S9jD_5P;`W6#}7z-U*P<>;+5$0YV~cWm_QcI+DDQs%W+HT1G25lGc#kd++s6 zxe*MheedJJ~z*TpGQ z(we$%s$#t^Yv!b=jVlcXThuvg!K!(d->vC!==$AD3^quCAH|j*w=A#k2;ei=L0pLS ztJAtMCQ3$A6CkJvC8;^xFifQ}))ZjA9DJ&&D~8f+uT;1+{j zM9I*^hCYTBSCvTxlf7LQFGk44uarY1jy1EY^eThxzL!~3^ox5O$}Q@fHxRyBX37Vw9G|sGT2N+lGu=BRe-k`Y`x>PsG{WUN-?uEvgKrT zdZ!#M4V3rAyXBV3M0MG~atrWY#coP&qzbwK@0aZ+6g`uetq}n}V6czmx+IiuU?-<4 zA2QfYR3?)GXtF-78hR@KsN85J`I48985|~FRAqd^XefZjk@`=S+=wvE{pa$O$&6`He;MR}WdCbramDz^kN0m3)?9XdH@?DP<+0-}2CJl? z<1pB$y1vus_u5WqSZxpAY*7Q-@>*8tCY--q70Lio_|UxDg_}9@gnWKeU}OH;HnTXE2;xFzcZWHiHZQH!9AnrF*K` zo^xy*=cj63n&(i2i4G;pSU6Klew%iZwdq-%juVg`MQ6Tb;Rn6wg?89N?A1 z)wb=R@5iR=&)^NnOJzQY+}I8LT>Ts`mE3v7ti~~m`fbz7O+7cl67d32i)1BcW_B-u zvI3l5MrxJSjBre_ZCo#DUDIY1YU^fmK)o%OEG%s0YAbC5ro+6432Zu+7|lGb&qm%ZOgYEkHN8J z=~*7Ca{C}#TUNzvM|l~i$>s-#cPca8juT_+@M{swJAP_`6LG*AN9ZuYv011N-&u~q zs-|-rr^&!sQZnczdlEWP--|JmGaUC+yNGc9PMh*5bi1>$k6-tu?FEsu*jx87xgs~Y zW_W`R|3Y-TctFxx@lRi&UUV9-eaiZ2#|NR>Fi|%AS*q~>7~%|tn@CsrzMA$eY28-pC)_;`7GfP4&JwL?Du literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/enums/DirectionEnum.class b/target/classes/com/huobi/api/enums/DirectionEnum.class new file mode 100644 index 0000000000000000000000000000000000000000..4bbf94671620f59b32f0c1acc056f145913e3ad2 GIT binary patch literal 1329 zcma)5ZBNrs6n^g7y_K@f0#jZ@fr;A?DhQ%75k-t76HF#ch@ZMqM@iS3t|RfAKS@Ew zXf%BGM;Xs)mpFvPwduY0-1D60JontwU%$Wo1h9xlNywN}pyPHN**NAEq_M!m9ri3H zkV#-kq2*n+mlMzuxW~);aXb)^p6u)jOqJ_yQ{Qj9HA^?%TDs}9n=SpR<(YNga-9t_ zR|MqBM!75yJv8jLDWH`Pj6*}W4X2@3e9v+kgo)>>kIOq76@lFAo=9T>TT5U%U+67D zUU&B>eY$Kp=2p8|GrdB!uec;DAnzbJ}J*3OI;|w)KU*MS*2T5DsJ1Wo6jsRvv#I0 z=C}z|3~}>iRji;SF!A4RQZb5$Dz0Ny#Q+AW4{PmrY)`1j;1U(7W!kn1jn}Eaea51x z1M9Zykdm{<-mV=`yOP?a?t-n`Mys{bb?#29b{DME-`VcC4s5efU7M%BB~5>uyf)0@ z0Gde{?L=5SkQw3glO078mvIFG!(>g;%#U&e@dc4nNFT@&7@;v1_$0!QVvKkgzeqDj zD4JaSis&h1#z)TJuhNbhqAz09enR|T z;prelC_LK9kU#;&PVg3$j-Q3^kax9&q$N+F9HTEVRaxr~%vAITxuqlYRd(egq$ONgJkQASDElCI;kKS@Ew zXf%BGM;Xs)moS8gZF#7c z={S}Znm%OzQ5;$vk9qnehNl9g>Q;GEz*ME_w)MTP+pu)wz|u{p+wSPq-QAAqmubEt zKwhs@Yh|*BhTSycS*X9OBB?p(Egr9Ta_%AHXBk8hK}p)SdL)}NYt#BWB6T< z(vDn0ohP1n%k=Bv4Gib<7jqG!)UO=8mmaZzuD&3?~bGu&Cd}(okQ)iv9 zz_+eqgqtm+Vg)4ulmBiW72|lOVhXD&hA>REa1Ts}7p7IDagBPaX}cX$g~m?utgl#Y z7XdLMgrGy0|G|Ln<2}Oas=TEBBu~PkSAb_#%K@|2|tbr;$eJ|EbmY> zsqhu@DI~^6&f#y;iW;IY$+>ZhKAB4Xo}pAhhymFvvJ!&}a}y_s7Un-A_L2OME=f^P z@+cGx(95(LiZS_2a5SFr;lv=pporNtkfm>kK)30O;121yiyV!tUMI`y<-#Y#{uZ7L zGK9kAUWPdGDD*aOQt9|v`VMJZi;G&~1j;c60#}u^!N5(*KPW67VW74x9U)mehQMbE VOR5C=Wh#qEvryt3?om8~`9Dpe6IcKM literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/enums/OrderPriceTypeEnum.class b/target/classes/com/huobi/api/enums/OrderPriceTypeEnum.class new file mode 100644 index 0000000000000000000000000000000000000000..3374d02bdddb9f12f0a0ba1b81c54c169661a4a9 GIT binary patch literal 1661 zcmb7ETXWk~5dLIK*0G{Eu9_w^4ZWmkYCAMeLc^soX+lV;!Lbc;%@`gsiX#$rWXU7T zo#`8I{1jfn1W%XLPUT=jf$>IPTO9-I1hi+4-***Qm8Z@#r|3JuanX(=FF2;i z`eJjZ@?_6ekpJf5d{Q!GPr-8T|6Egd!y_UxRq+D1+V32?QNua($)d}6wQm)aa%WlQ zFHX#=gl)%fI+4eLN72>5=}?mFz8jx}M|CG67`qYCPnEpDi??VN=cFy4!=$M|jZZwf zYAo`+7KfoHhailOyuk5kFt&FbIB`Fsv{%jvou@eB*o~XR$xP?+XLFH9sqK&WC3Ae` z!I&3sM(LuB*`i4scG!>F?jw&IK6`e}R(Ly1+~M_KGGT+3ZRuhgYGN5rOst}5;x-m( z<$SN>#cWwKF^{*Ymay9m12-V!b;jv#*ozOsz<+MyhBSoT*y}j{!G?*OY%ty!)>cj2 zI%QcW%K}?6|86w*gA%uW%A(+OM{9>q-F8ep*chM1uJ81En`12;KMoKC{N+M1-65J>tJI4(ttRaoN$br5?LJK7M zXAGeHio`1Nh|#l#tTeHXsXtvgc%8^G%G9NB?+yRby>n`39snZjD)iiz9p=y63%5)e^Tt^ z026jg9Ux=3v;i*Jt<(V1c1s^%)^3Rb=Ij?xxKYD74I7mv`Ubv+PE`+U-$aRg68PvJ D{2yko literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/enums/OrderStatusEnum.class b/target/classes/com/huobi/api/enums/OrderStatusEnum.class new file mode 100644 index 0000000000000000000000000000000000000000..c708326ce79c055bfcc2fe2e9225253c90a1d3dd GIT binary patch literal 1593 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 MW;3^F{M^*cALt@O?EnA( literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/enums/TradeTypeEnum.class b/target/classes/com/huobi/api/enums/TradeTypeEnum.class new file mode 100644 index 0000000000000000000000000000000000000000..02aeaba46c73b3a4402a7379424e42b88dddb7fb GIT binary patch literal 1799 zcma)7(Q?~V5IwSG>)KHgRZUYGD71~++D;QUZPJt`gru%R18N+i#2^X;*%ppEj@@zW z&hW-FUjr^s1_q|j44=X`Fzl{8gVSb)Xhzy|_U=7*ckh+-=Rd#x0bl`P3OYVa<0Ci* zZW(x#Mh08_DD%j+!c~Qj(*$>zy9(D8b{Xy|WECn5KT*gje9F*M$SZut@Ug;-!siUX zP`IJ+CBuD%S%t3{`U-OjRfaVKbq(=#$I&qD)Y^xIgI>ED7W}7SA!zjuj|#gTzaH#< z^E4OO_wNc(FmiC8T?_VlFY(N8_5uyI^TdDV7n**nQErv1>XxF#>4$*GVp`?>5VJqyeYRI0j;^qlSR5a+_gOH}CGrYZ-NP09P?M^*x`AynP zH*B>0Zm&bjo;yK0M>?tzbSu$TOk{JfuSF3nwdNqdc$TLu4n^^4S~*2eR%ut$ZoAj1 z1sfr^**%S+j7=<|VPXXbCJMNzLA%N9Jrh@Pjo7@2>jFqJ zE8w#+iW(3?ZaYMk8iCF=6P0TSE`|pHuxf&9+X1hf-9B){;`Xs1zsm{gW zRu`N8(b4iy#|DRdxYdJKa&mayAZ#;NS(~R9JVRfbk+ln47(kZl5=&)?rK-eIQDUhk zu~d>+sz@vqL`pGk7hp|s$B8G9!fpDRQSQX9kmW1ghxRjKFA@Kqn1(y_Ov;!+@k_W% zIvl@1mS?1GJ^u?5FQIdM>{$G}B^`HVttRdq`I2;QY*6FOba7 z{siL(;*s1KjRK>T#u!F04wjvyF&1By(im}ZaamwAj`uBKjqU;kt|F9Z%Sn z&@)2qqi?I7uk!r!(G`yJtzgkQFleMR`RmHM4> ziT5$$dU_vYu9xWJjO!))m~cI#kMpjl`j~P(i(D7Ukna*1a!$L?p>emP&5pXQ=;xNg RcQB}RQ3F4~LyC!E^IyHVapnL3 literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/exception/ApiException.class b/target/classes/com/huobi/api/exception/ApiException.class new file mode 100644 index 0000000000000000000000000000000000000000..dc21498df9424cebb9b45cdac50484e8c6c9e36a GIT binary patch literal 1042 zcma))-)<5?6vn@S-L7o06etwYYO9T@v~e%&T}=~XG%-PAg!F=|4%-QgvVXGdT3^d6 z5-)rJAIf;nup&}Sgyh?q*>is9J7@OC&u`xWoZ`@hgFTk}EDu=rSq>aLbnr-ExH7J8MWw?EW~3uGy%;+rG@E1aGX35NIvK{!Tqvew903OBoEfk*W&0YA=i9 zgj%8z2#5hq?>f<`d6P>2Q$LYD*>QVOmiX$m=J{5aNA;A4P{u8kSSl=amL|)tz~TSQ zTcG`CmLIY()qz@E1`e=6p8@}D2%?rqUD`dPr{L4h4B{&-3fLrd=?O})D5*@V@;nH) zu|+!uR49T0=kzqOo#Pn_s|1(IZ5l!|C(a4X-bR&3HDcIw=Q*~XW8a`if57P+pUhBP z?I}I zbmo%zy@oY|y^3zq1?(F1={$1b-(C23bN_rBE!;7Ex@gnNGCftTMNcg%);7J}B`x6I EFN5o|kpKVy literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/exception/HttpRequestException.class b/target/classes/com/huobi/api/exception/HttpRequestException.class new file mode 100644 index 0000000000000000000000000000000000000000..863fa6a2fa3049b3dcce03f94e38656a34d1200e GIT binary patch literal 1066 zcmb7?L37eT6vzJyfk>pK&_XF%ZPi1iOmnceI=whLI)jc=m>xK}q&u(*2__rs*Yd=S z2S0!x%JIFBMx=NUX8ya`y!U(m_clL&eg6UA6i*!3*k^gb@{r|#<8;=Ew&$X}3 zxj_Et>7{`6BDhilm9F;HyLdWOVP6g>bW-aEo}66DQ1f$oXqmB&1WvkMFm=aqFx0M` zX;*#q)XeC>cV8PbyHKBF6`7Yehi3xyqwYufMYh@GcksKxEZUqQz zy;Wu$T)mf}oGPP2D&1Z~T4MLdVQ|fc6MVswaYXR?+6aN>GVJfv&ho3&@mk7Yz>QRu z&sBTzY!*^WGztMRpebI5+9Yp`^gi`N>5(0$7sR2bUTL25-nx;U@G#1_gAz-HWt*kJ zvMbQ}pZN>4{>=6w_KlvZ>~e63B7GkGD?kvvMC#DfGg<|ow&xJvXp_TTQioO!wJ5Dj zyYeCk8`z{L22?150q3-GY_WYjM{bo+B8HO?8jGluK=If@l}I(pEzmcRVz*Q58|3K^ z*zM!a9Qjr52IX%i+=E3}#*l zQ|t#yEKn(j%!Uy$aD zqVy$^zAVjGq~1w`8uDwGgU5qXEvRpo&b6D>`u4JhO#8}SsKIWvgJ%1Db(gZ+hg)kz zC^M{A)S_{z+1OpJP_b2glHiFx@M^ssZih`;H7eC+SZ-@Dw-T?Oo?loiH+D-qoyJzR z6zo+?P33o~+^E(czSL=VnqjLHl*^4yy96#-`rZY9-i&&ZiUVB z!B&kk#))dZ+CHV>srkOM!~uHUnJ74Yi2pWD;?t)RZ?kYg($gphwF^PBDt^VzW!gJc z=5XT;4jtp+u7~ZNMr9*t2D@Q9Y;qTSJ8Yke$uh}wrO?GB!N5DPOrGv^}yOdZloBBXq|KPHjg>iIR5k|c?qNlfgRpnHx@^eaSu2|Pt~R;+W`)JBe!sIULj&yF-3GuyvX2UtV}fgVs1)c=3`3z0uy0Y8{ab&m}eL zM6=zY9WAO7&8j6e7*krkW9DMT-i#ALx`jKc0Nt_LH>u`$-(;xvRTUoZs|HFdsqR=S z8ICgSR&Z>*0FDtN$wk7WmEMLHqUNt|-<0ck!c z&4+NGgVVAQ;*y4AgZD)DOSE`|SkEi!pLFnJyvXDiXC&t*`57zDbh93<{)Cw<&cw+l zz%I_H^i!sq5J1f;3Q*P-96ScO?0PP$0@OePvX+ftZ;uu=EcI7=ax33-1NJ^Ahww?g z-x7~me*W*|Bg4dyWR=p8BsS`q+o)%Hqn;U#dL}vQnP>Ksu<;JOlh2cPaWq4H`LSMt zcJVrfenVNqyV)A-Wgm?cdM{Ce{yBS#eX(#I!-d6tWD3Q7=!K+b0 zu@Af8nfu88miVDQix%F;nN4K}@5enH(PDHO*|8X%N4zQuTQM9-a;8iq$*J^6l5-i6 zBquX*FXcN-8ggmErLs$=yENmH=PqgP@-Sp1TRBXLy=l#-Q?OsxpfvMcEuw9!phbv85d2b%Cl37YW7yioy- z#h_7dtPeEl=LnkgT`wmfHwNWAHvwg?v0{e%Zfq6pYbtn2eQC4Uz{eTwDb3++eh-5? zhZ{J@xnXkUpEyq`!|M1OK0!%mZvTo4lnm6cj|VB4XyVuSBqjctiWhK^l8qPfEFPki z#Q`40rznl!k9;6}nv#RRvxGlGX%zq98{)H+#(0O%;$ccT&A{z=gp!MZXLt~|nbyBB zW@76GrcIRjYiTz)8;SP+Dkk;6!F@9F&WX$5UPeQ1DP5Q)LG1sa^ix((g2=FJ(%mj) zH=`=xV~A7yL=F9pCbBg2io1Lwb21|4ad&x#w6xsCt1y=iF!hMc=lqN;c$s*`60)i# z*Vm&Z@-$MiJUv+&_l;=D=q{1HN-OW1(GrOpYnjQ?gl|PlR(FYXR$7z39W9Z`v6dYz z9Z#p!C3Uzs8pC)Q+t}gJbtb$@Ne+Jg9K6-vZItZms;Tcj$D0PvTT}lSpq*tAi ziRT%(1|!ZGYovV{!VHpX7#M22M0G!g)s_8QIh#zQhO1w8>In9Sj+7-sarddR`q z7;GK}_wXqTv5Iw*N>3|&EmpMC6nnb2T#nVVw@~j{cs&G-FnxR}EB@j+rcj<(m6tHh z*X6PNZ3pm##_aNMQgTk@+m*~a=y?7PC69~zW+mrEev6VPM4nOdB)j}9n*+Rc@J*o# cPQBnNF~x>><49Sy@HY1HFFO9+%zMlJ5AkQt5&!@I literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/request/coin_futures/account/ContractFinancialRecordExactV3Request.class b/target/classes/com/huobi/api/request/coin_futures/account/ContractFinancialRecordExactV3Request.class new file mode 100644 index 0000000000000000000000000000000000000000..48891f26889bd2cb7148769dac42fafdfb264c2b GIT binary patch literal 4528 zcmc&&-)|gO75-*Dzji%duebR%G=M2fYOn2Xq5SGNDbUnu40amq5Ykd;$LmRUlJ%~; zJ6jr{KwExRNG(rP6)y;>d5Hu_*p(V+}Syxi+Up9MLEfC({Eq&d!Z~MS&1ICLgr=deLpL1zp@%ct?uS|zvpiSQPAUaoGU@JK9WF{ zNxDr0C32Qh9TYiuB$2|QJ?xCdmR#bM4kwu2=CxIS zI~EwPqxjaan|^0W4nu?8^7}1S7-KWD%iQbvwdK_%9tN?=njExQ_ND9=?b>iVRxMq- zRZACY)YQ7HTDk~3>Z(LB(0X^!YX)aRsk{1t3iv*eq=x7Juh)lz27ct=qo_Ifm^3GF zuY(yuvx4flSHt=Ddx;Jn#~BBo!lxZ93Hpqn&*DJ`o}fiRC#87;U(;}ORJ`iEhxh*d z2RiAQp|Vdo_%VJW%}<%L`ROF#r})a4pH?YXSS6juAr8c%ALxr$u~6K0d;C>@?rsCJK^8qJktc?wQNDXFB7a z8I5};m3N~LNuCW8V?wUI&{*KH-CYFVdbLOmyfKT87juzw>0SGixu$ zxwzlClIwg54<$13*h?DCSR(snV8`A^6k{j@$zzQVm!uk6oKy{;%MWQBG^A9-Fr;Wi z!{_mZyj7Y94JpDLh7`$ZcsPHR)U@0{$O#VOcMb3@!*7`fXM5L3mgB2nJtN0E7&holz<5ip^ zve3iJc#O!#&v6asiHi6IUrb*nDq)vdStA<9AF1|rA_xEE3*!RO1pbA)@fD&nE^@sq zIBeOsP`2>ZcW}hQCH~slJ2<9b@jbz`b|0nQba~Y$g(i23TnC1zLQW}r`DW#23{T16 z*~lp+x509(V15*Eir0DJEJG9-=#9$aN&QqTs^gW#7A0j@=5D}R*u`B>%Y50>#o+3R z#TKC{)1+s_CTc8pvRxxJRXj5`nL`tmr@W>-D>hMdiIk#I=iKRaaq_`?2Z= z6rN;Py<6dm%pX^HO6EVPa8>Y!*zDrN`(L9<`s%ymQlf(bF2@CO1^2L*|I6@$mBm~9 EFYrQYxc~qF literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/request/coin_futures/account/ContractFinancialRecordRequest.class b/target/classes/com/huobi/api/request/coin_futures/account/ContractFinancialRecordRequest.class new file mode 100644 index 0000000000000000000000000000000000000000..18fb14e54134f8ca87c12854fcd5e360313c39f2 GIT binary patch literal 4041 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 literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/request/coin_futures/account/ContractMasterSubTransferRequest.class b/target/classes/com/huobi/api/request/coin_futures/account/ContractMasterSubTransferRequest.class new file mode 100644 index 0000000000000000000000000000000000000000..8cb4b4b6262f713fcbf1331e3c59b27170833872 GIT binary patch literal 4113 zcmc&%TXR!Y6#h7!&w>TWXM}6L^+?6;d~TZP!wrihLQ|r85Trw!9pd9HOSeh z%IwQfvvJYJB^z(qxNPHX*?ULOISW@b?3gT<{ED0NGj7%QDl@h0$%K~{TinCrtgELhsd6mhcTdjIk4Q92LJyn?15T8EhUUXAMw=|cUE|=yeM0a^UTP|uy zH0fsiNh2Njzm#l0( zmPCLk>zgF?8DL0psPo!2mX&9vn zCal4_mS7rHuo&-2RR{s^4{Ncp4qjP}IAN2m1&LIb&%Ac1{m8?oNsf%?=gYIl-HJQ! zkzYKkG74ksZ#D`;6ElmB!{8{@gG+|!_Sn>ih--_^BqiJ;zu5AXW7%_F&Yu{5MT1su zWoW34X8rTJkz^YFD(5k*nD62NsuMN!G zc4ITXn>(Lz7Zj0rN2qSLb8hL7oLYmOcdPk;tldMyQ#{o16H}Q(JT+yL-BByD_pHWo zD21^bgF&d)U_Gwh!M3m4emSTXUF|893jRI~uQ%6HT?9>p2y1({o%V`0;glz-aCD|z ztK_`H1?jf!t99(d(tjGN|HCce;0?U%U;tYkY{P>N24&cehaBv{Rt-n~!XKTindMS5E2d@^jdL6k3}Kj0^$1r3#LFN1CbXAt zpz9mT8b&#qoI$K6Md2vu6ld8rM!rY4K)aftF+9v2Cjb!o2v?fakz>2D-frC6(U|q` zU~IG-_jNQTZ#o#8?Z)wr#^hTEW2@bGO-JJ=@f0&7XHIjL1e+tHi|GEAQgg{w=0)Vch04CuP%l34VOEVOWrR*l-e!MF{b(V(UGrU=+{SohW#as?(3tsU}wfg zmJm@(3elru9MbyuujonYx3T6LobjZ-gq}LWNgISXX)|dE#=MQhHN=ue(rg07(iTCn zw4JmBWQQOtX*Yp-(-DGt)6rx^K+zBsNk*GMed!*8`qECaM?g*pqErXz*Lk$=rVb7G z_F-`32H$?i0ZcMS{rCk3*|lA~=fA@t?sb!JU*j+(9na!3{+r}Qlffr=j*^KY&SQ!a zf3CyB^OS6SPW%x{5q!ame40`eORPbLQV)K_CLE>Y;22}ukA!9ag zrlU{e6MOW%iV&OQ6M53Xj*ni0HNJ%S8QFKzx+s!*sIi44fhv|Zl#2XNMt0Jut9sL> zQke}ESrb_Gr7fi*VL~fQsWx{m?};GH@Lb*a7^iTWhcNIFUZm8;f?UN*JZm=_IFFYp z>FnDKUZG@gy%VoeGT~zbUZZ5GV*P>W9d76>mZq^l(6l>rvAph*jeZz)KpmsEZiO(j z3AT)E-wnZ5D|i{-K@pnRD@>NHI_qf2H1SyvDvpaxl{|LSH?f9KVELIUSZv{0k@pFkJuu literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/request/coin_futures/account/ContractSettlementRecordsRequest.class b/target/classes/com/huobi/api/request/coin_futures/account/ContractSettlementRecordsRequest.class new file mode 100644 index 0000000000000000000000000000000000000000..6c3a8ea021ce21aa05a1fad93b5d66d8b32e268e GIT binary patch literal 4130 zcmc&&+in|G6kW%eo9%Jpx=mX{ffNEHPErHq>a^TSfzYHaNhy?DJ8_2Ctz!p!+#7cZ zAp|e*gv1BXmm+~6K>~z;2ax!IegJ$1P}ZIq+mm!4eW*kdowLt5Yj5w%+UF$s?eA}Y z0B|?nF)^QlLOF#SP);I=1sPl!UXfu@hKh-5it|YsP6@Oo(vl2y85%My%fYKAnknQ^ zw$PHWjrWuUV}xPAVi@p40S> zRF_df@Q+Qmz7QNHmz_m-s=nZ!RoEN>PSrhk(QVR{C5XA|d0H~(JIB+maD~P;BK+psMe3a()QX-w^ek?i6*mfUcq2fV1-hf{Yb?-}f$3`9 zJ=k8Fcbi9?`5JeOJ=J>Edr;wpkw_e2Mj|_Y3jSl=i97=7Y>gh3bT`UQ?WohN%EyME zt$CFyYcg{!bHZ4&Gp<)@EF5;4&XVi7O@2gj(e>uS%5Py2Vrp*-q*wmj8dOMt6fyfd z91w-WJsJ$IQRu|3kPcx17m}@>BZDy+mt5I`>3Om_3iBNiP>P_QD_lfe*&5a8cp^&a z5EuAjkb6#z*;(Vrq4|?;*_#}FUO_e1_DOi8pf|jVG*?;*INWI|+u!Xj`-8(?AOqof zZ^!l_-LA?6fbKf55NWm0LS!f7Tab+)rvAW0ZzID@mQT$%%Rc9LA^G=*Rd(w8C3-e$ z#c5T7?&upConml@XQyWNGkVGf+p%5q*u&khQp2rY0M>BV+0<~vt)#yQT(Z1I&`vDc zT%+AAyN_3;^KRX!dv^&-6YB64qQW@Y#hNp z8+T#1jYmbg8~50_SBCp=zl{fEcm|~Jw)Jh>z2!$X%H>Ev(!Dm`#9M5!@u6-N{k^wY zobjQsn0tLdx13z2$A>zU;!2I$IF8-CX?hL?y`ex3(Nn`&UZydHiD)Z^x9XMGPw$>y zgYUHB71vbrteQWwaGbN$7{Mst?gCds#LJiU9n`UJ zkobbK!Wc(`GhlKY#{^M=ex0+yd8qIW`U+z!&i zg$sEhpiW4Z@GOB@5;99ZW@&`% z;V4cPIg3%f@HI4vC+bPs_rwkWp(jcR7o)7NSGHr7Nz@o+W4&@FR+$8kQ8w2r_s1%; zF=CXh^~wXW$|X!PGm@|pXUVtlD_uV0MV_T!7@ngq$axZYof3Rd*e*%S8Gy8 z&^0L~R^&{qN#klw3Y)qng)s^b;o&$h&8syjwCtJ`0xCQbZ}N&h__tgNzq=*_KJy|B zyi`AO&M?iF#tNT7*Dj9zgyg5t`!0_Ch~&(8VHGKVNg;i3oI^>Q_!a5A_6s&$fIX4d zR$+G#nUYROrex%G!5F_FcLABao;M<({*p;hf62<504)O>rUYv0p`Ri zHl2|DOi7c2ycV8VLXzO9zoh#|%Da8UosmnCcTPI{=5PApD!Dwr@LYNVO^^og#L$J9P+{4Elgeuk*Dm|_E zGb%Do{M{p{I8HNF^4Lv(haBJU&ABbB7?i?u%54qg%qq6!wg+;*$oW7X5c#@5&We0J k!|l?XEcAbey((rc#R8~B1}P) zYTr8wjB@vmyOWuPN^?D5?KI1^yuDG&w|p=1m1eDR<5tJ*w48R{_C3w-=={Wvh~Rm2 zNS$x4(wSWgwT83QSuZ=Si*~tAO>E6^OTlAD=-`0orWTqNyMEbj)x;#QQ{8Hffm(X0 zFQTIs{aNmZcXW$O{QxHdm>=U-mYxvXG#(Q&KI)n&V7uRE^OqVpEbLU)aY zExT8VX(GV+m+4HJU8nh$n=X`ZI~8{(b5()T+{&9^OM%vOt3tMf#BQQXG0W5TmP6iV zh+(_@{g5WvgZLf|^%1@zS#s^l*NgUsmn;^QR}N;yZk!e0$0+BnH^&{=~HmlLItZVhp7X-EPFa8AmQsI*|TH^Z~Yh(ET;agKD!l= zN6emXZ)`XX9yUFI1kZPueuLVA?-o;tB0i70cpT&xVJ|-=QA8yClp>M=Z)OrWTZrLx z9N~Z#Og)=>i0IFh!hV~c^_Y(c{FdiS z_?R!EHHC{|E)FvS1CCT*^hn7>@5piQ$ae-GslDitlGNUjuX#tZ9DFa86P#mwz`b1d zM`-GU+#k??fEIm_`yKk?RCW`Fx1?Y$O>row(|;n7R-a(^eOS|JbrZ2JB3{r4i5K*= zCK&w*QumQeYiT_MN)!x&5(P7D2*?aTM%wIx)CY7Z8sd!~|7*UZz4+h5QT{!|j|uMJ zIJp!d32S(dx+tr>g7+z@IFEBUK}o|R%l;%K9d+isK*>Oh8JwYH;uP=9!7|LhF=Sx& zDaH)U@z+$IVxKR@!eTe=M;TC6I!%!Flk`ZKq)8;@A^$}rt@jX(?#n|0A|3Zq#1=&r zxv3oH5jqdLG(2-ko%IqiK0H%p8qDF`eHhc5ux^SzUQlHttp+=$B*))M6f|#(dGUlFe%(L@Kq%mlGn7P~ODo_8#K1(C=Qyg3u`ZjD5m8q=#JNta2X7KEjySN3v57 zp=PHa;<;Llc^xI|<9kFH2|5bT@LIC)Xhgn@jGK@n8TGo1v<0c-2y-C(T0ok!{8PZM I2=*cNFX-ZYZU6uP literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/request/coin_futures/account/ContractSubAuthListRequest.class b/target/classes/com/huobi/api/request/coin_futures/account/ContractSubAuthListRequest.class new file mode 100644 index 0000000000000000000000000000000000000000..c91801a2dfa43bf7d7eec1f0e14bd6061befdcd5 GIT binary patch literal 3966 zcmcgvTXR!Y6#jO5Zb?tt7%31zDNwadTY`wU6i_Gyt1TcPc!$&U&;-(?Bqw-7XPj{y zM_=^G8GnGh;Eay8%&6m_4>;o=;0Nf>@b;~9Nz!tvJTR8d-fQpmt+n@B>s$MjU;p~< zM*zF=u8A{AD4b2=UYt!J0Y`>e8HzH@$>5qem*hMzLrI`zk`Fe1te6d!p zo;la_nsv94cZ$VYv+Cv7j$v?ZRTv(xtWDJBc-y||a@9T3T$pw1C!N^}cZ@ydYT4VT zaC)dCk}%Yc9Y3~zS+8L+d`fayD>{`^PQ5HghUaQtsmw$lzB4&sgy|XAE7j(XIdx~j z_1rq0C+1zLxnIb2Om|EvZGp6_nOT7f>zO2GGAgO~JQ!A09F0iC;thNl?PvEx%SlZ=_N!JcVW*l}hnnB-uieQj&7bwzV9x{o;+ z9d3EGfXJ-FiCVK>bPtuKOSY`tV>^UZ3iJO{FWVTwTQ&x;)y6h#w=pQg{jz)j+Z877 z$USU4ho@{jgk3hC6zO5?w(*DzkILR-A|1yGg$=8ls`aF9TRUe%0q^$OcpI157o!8M z68U@YF#V$gVWsx6kw*uDS_N`YEy`-x#w*yx=5OC3V7dai!EQ2~#YOs280&1d@Ugn} zMQA^mEAUZc-SUD&cx>gj>0W;AbaY8=D0NAB{FxQIMq{qLB9RR|cC}CNQvA){ajx{DbV~mZ}#;I6ivO31t zTy5MNYs_wlF}7A4_r)4NjwhHINmzli+FxOuxSg_bRsLO?}k#|C~&AFP#2;djer zz-PXGK`zyG&MBt(=1A@f=-SnhpOE+*diT|l>qyLu=9ZE4mlS%AjB+SwW51v$tKGm| zS7482wPn~5B2~}{NfnH&E*RqmGFOnw>RF=$)LSqK>MdAVQ$SV-GP70(sIQP9sIQRB zCIplWL5Xa#1C%cG5R@+1*&YGeA&620(ylVJ?vA%2$kF>j$SuCz#C{xLj{5O4CfMR# zZ2xa?kb7eLB_=6pIE+tlh?0&Oe8klOzBmFSuNC9LXtq$ThM(K`QaN`Sv^wq6%1cxv{YnGV3jVIzKVnitxR9F zIljEdgKLIyb>l;v#PbY7#|Jn?sfz`952qPxH(R5G7bt0Lvl+ZdN$0o=FHth!VFO;K zWctPW4avW`p|My>u|QDjZ@Or&yJVvudIX3t+RCjEW^};X$kn?c*jx#2<6{(|iFJ!f z+bUj1L#By;dju87C8kO~cGKS@!|(UqnRUzPm%?+(tPkYWGB#v326C^+*+A|S%sqje nmi_aX5Q4ZZhR literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/request/coin_futures/account/ContractUserSettlementRecordsRequest.class b/target/classes/com/huobi/api/request/coin_futures/account/ContractUserSettlementRecordsRequest.class new file mode 100644 index 0000000000000000000000000000000000000000..4b7b2fdc620187fb463599f4506953dad6935a08 GIT binary patch literal 4166 zcmc&&TW=dx5dMy{H{0vPbxDh%KnkHGj)S>hoEB(Hfk4trQf@8KZk#1{>)63wm-|gZ z2*C?HA@Kv~OOZg3RH6tK9*V>t=nsIO!R?#fwY^Cf$O95dbk3YP-;C$Xd~;5cpa1yw zdjNOgT@wo_C{$9o4wWR5Sd_t);YAsiWT={`r8u9G;j}>OA}!0%kfABVifp`OqLo4p z6$@>dJqsO~&sccb!YdYDweXrKUN`ZE!o>b&!)rMe@5#2?ns+^~?k>9xZ_ceWTZ`>E z_oa^8_V#sZ^+mU(U{5z1Zfk$tX}8_Bg3*3;d7)WX$jzK`&N!vI(^x9ad#zeyX-Xm4 z_MDb?w6^RjWFvr?roU~vjm2Oyx#BFj(~U*<6@{%4;B>=tm)sUzS%R3ay+%*wLN}PV z$Hr$W&E-8i$`lC(D~PW>sT zRg;emKU?#vHP+_Hf1MkiH#_Tk)#l=1r{yfWp4;NbB$r%oK4igFEJzFwY=QKtkXwfe z$&e!EK$j0mSFKm?Q`s2>U!kx;fp zExM72Q98s0u^8l`Q)hP81#)QNlw0wp#*Zne=K7uqw-ofISCvLfOA$xA?PdGg-f}S5 z>>p$(-0y2_AJXfvOaSPu0}qk53q3?M8Q+5_f-?;UF8YcLGg&!3>#X>^;|1m4CsxI2 z9FWtqX{%1V8g$6O*!VOLcX)1k_5e>$*K^;KcdXQCyMF*{v=?k@G!j>*BGKZ|rq^wRI$e*IZrf_v>%Bb0K!O=kS@kp-)L;d8k4Ls#>PhDOsp|U9%F27 zG#-pKW^=?CTN{msVvWm~VrC>^WzLd&!>{PZ+9iGKZ2_WJJA-AA+DT1x<<~@EH}=H2 z)Hmx=NYHaBC0682tV?6FE`?1!m%44@iCnec;^0MI>j7g*Bx7C580CB8Rdz`4iH4?Gm<} zg*}Qa3;je}Ts+X5#>}2&TU0B@uC_A-V+v5{rM|P@8I#}6> zvoI&uu;rxaGi6OS@>;lK2}y#j!LsgeksrR1mDjslLuJF?GJ0ENO<7n$h$bkvktIU5vI~6~c@NtdHEN4Z-Gma33GD5t>+6 znDnjU_h`s8@pq4);yA-p$zwNj0Xe?kTXR>fVOR>!DYq?2uMa~EEkjU2r oa#rMPDX(G2#`hzjV(@0pge6PhBtJC)2RCq*{}%A?E?ke~U!Rmm4*&oF literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/request/coin_futures/market/ContractLiquidationOrdersV3Request.class b/target/classes/com/huobi/api/request/coin_futures/market/ContractLiquidationOrdersV3Request.class new file mode 100644 index 0000000000000000000000000000000000000000..7a237f91cf073d2a2b8f45f7ae009ba0c4ae144b GIT binary patch literal 4604 zcmc&&U2hy`6@F$tU%Q@NuQzd$p#e-;TzhSIf%4UHQlM$lxY$XEO-M_j9eXFVuS4doO#h*wi&zY~CbtWX0Dq%(M`^fZ_3fPvRBSTk)9T~35&@<34aQ0;w2>+U( zugdT>8LrFloD5$V>o*L1vw(wWoA{Q@&&%*_6W=lMf{7PReAmSHOnhIKe_-H;3g%99 zJATjI^jBI}2d#$dx4NCPy@uE8UwG)ecXiuxVM6zKiy z+Z)|BH)cQ$Z~giXH$ISZS?>7Wme-TLH{zI{o1I(P>~7bagYHJF?(Veey)f$fX1CRO z=F-3)^t^t3+wEQP{QBJwTfI9a$_K+xPjnlMabl&_@y-mkH@x1uyV2%~eyr7L`Hv{L zJe!I?NX-9uj#BcD7;#SKE=YR2n{NAp+iOV_Q7Ee4Y_V8p-qkGe?B!L@Z+08!+@8Db z`P2*bvE}(|Lrqjzn%h)SAm?N(j65G6i?nfYgq^5ED5oNU2wsacBJWxs%4BN9J5CBi z>W_qU;I?u|-U=iQW8y;`(^Q%sg(MDna+09r4RKJ!sh|#}-Q$?VU#CRfHZwNzg0mZ! z*(FPJPbpBkqsuVNv4HZXFCttyi5w|!{egQ9E&*Zx0ukA)B8M;1Pas)Y~9FoOpy%nF(lRKvW2ceUd!JdI@wpTH+AoEG#c zK@Y>Ruq5c1pyPPN!k6(C1&4=?A7(iD5m~%@Zf6r+AGh#hyd=ZREYZSrROI7q!G-Ct z%pnd79pbRm#MZ)eQfxjda~7I#cy$ef3mZ!TbtZl3?(Fat3Kr9y8#jLHG8;J)FT)Xj z+{bt1;{*J?p60iJj-1qxC?{nMW>zwoSx0atf0lmxe??SCD>_V$8?n1BG>Mo3$t?k0B+4?T> zzaul3+RMO4xpF$(0T1yzM*e1k_~l(Q!3iXu8Brs~0wkwU10?6r0wgEV@o{2Xr+b-> zWxAB9-!kP}rh3Z^oKoW`f!8_9E4140p~@N4ag7IYSs@{cOA&QuIBWZztxRXCI>TAt z?_A7uW;bLw8~dG0na=E@3}>HKMYCX$K6S<0vf64@^UGw?nX zG7=d`9jkn~6jf7#qAK`o_LkbcZYdp+Y$+O1@F-4XMXBHGmLkk#OOc#{$Fid|?sZF1 zc(SD^Si#BcD9wA_Qd%Y1QW`?RDLkHa@Y}ldPUVrFOSTOAi??{VWlrTh!OGp5ue}CM zy*d9E6n+71?B@KRQCMB5?O{B4B(TmbaB$Sczhc~0-^An%Sc|s0hhoeqIT|S?N4GWM z=x?HO14Uc2^%QBsF-V$lOxqBW8IcUzOp(e?o}{u57{sp6FEqL4}vsc4sCl6sTpA4^?#VIqGX<|WbjEj)qGF_BaFH&%EB=2-lH zV3liQytV$0Gejy&wTrVv8ZE!UIU*fx{1l%jGSK6%*?A%pui^^Ui1PRuJggHHu*Xt= zfoL3mq%bcKS@)@g(D%%zatp; z?i19TDnIs--X7+02)+)7*B^Mh>kplU*j1(%kydY6LnrrKfz&a5t&k4<$hRib3tWs6@>+bqP)$`hR-=! zn1U7)Vvahx6w&k)ZOGie8j+1r@{pflh+NFuT!voRw#YG`=3ivk5t|h;t5Wb`$Aln^`jx4l=b(9xFYNCBi_UN h_y3HB(ht8oE=D@Yp%pa9W!%qM{*Q-Wt!&=>e*vs}hq(X% literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/request/coin_futures/trade/ContractBatchorderRequest.class b/target/classes/com/huobi/api/request/coin_futures/trade/ContractBatchorderRequest.class new file mode 100644 index 0000000000000000000000000000000000000000..be9fc300ed04d4326b7d0341472f1bffe855c632 GIT binary patch literal 2360 zcmb_dZExFD7(F+!W5>(3G+SE=W!+eTCTVA0%FC9vK(iJK=?m*L3BG`vn#Lowi{l{i zFZj$4U|;rONRUZPLgNca{3c+W$9B4`S%s#pYVW;%{P;ZQJont&zyAI8Hvse4GO%bt zVJQy{?-_XC;{1UO%N9mZm*J{`6$^PRnOK$iLm56Yu_p7!lCfmq6NU5jz>h+w87(_e zvlWE9Zg|c8rt5a1<*wJ}lR{z5_ua7Gb~+umqoB3DPNYz5+;qNm>~7?>?FJ(?h5WX+ z=Q~k1bQL~5@_M1s4EF6-H`wuP=fJbWq=?-NJpYTYy7E!SCXrp&?lamPAX8f+zOmD% zv^P_Ja=amh)BQ?AZ&K~7snvsB$~oQee0QU}zvG72ot-u##-1CAZiN!b4E3Va2%1j& zh7)>{o_?c6Esq_%`V6>}+V)W0XVTBB!JN}-%xpUKPMz!+i3M$~PB;*HQDd<7e5=-Z0Bc>B0 zTX8IXIJq4;&9B#;gLubywBkczHXVOOYATp5r_)M2k)0{85pwI=+WHD>a-E}zyKP!R zPvOic*p5Qa-%~i-->sNY66Gf57ChgJmK3b*pc^*bRZq-y?pSAD5~nFNpZGKldHjFf zU%(YK3OI{Vh2^KOSHSC-DPR&W7VxU9-oTp*&xIvHP_dPb?tpuWfVc-I9;St`_ z3K{7f=P^EIFb#HI0I)mvQ^BIY@1IK)hjv7~kQnbFNn_KSI}TSAU201N7|e>V0VIvy~q7_>qg; z#w>>`+T5QwF`@l|ky|LtO=vwBafWuAFvCpe6Zk`>b(B#dg;88WHE!=T-_0_X<=+J6 zIBI+cX5Z=5n<|AR3DukqJB6jY`lO{|&VwIv$DD{9HdH9@BVl5t?l-(*J#A=iGkf$-N(up1lLb8XG zrBht@aQdhNlQty&m`tfD-X4ADZ4py?XjSf__*nOq2Ha;IHqsh$pG1yvUj{Xn$Y6nI NhovZj|GiN{{y!@`5M}@X literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/request/coin_futures/trade/ContractCancelAfterRequest.class b/target/classes/com/huobi/api/request/coin_futures/trade/ContractCancelAfterRequest.class new file mode 100644 index 0000000000000000000000000000000000000000..cd0df31be69706fbed2349e5c7eac90b8f708155 GIT binary patch literal 2508 zcmcgu*>W326g@4?rtvsd9B(3qIAB1l#o_>w?LeY9iGw$6W0n^f%VTSTJTlUVkKqIG ziyxqhC{?72f|pRmH}Dxe62j@3kt`dTrxdoU`%d@md(S=hbeDhs`=_4)%;HlWw@e6> zO^l$NfQH+0Sk!UH}Jzx3aE8&ZEsKD(((iQ8@pJu zz5U{n=R5mOV@^Q#-2-Q><Nr) ziDTC(o)2jH{H+Kp^DE{0t|KtC?0U{>>tM%eY}q?Cu4wbF=lVAUGU-0R`z&R)1%{XF z6}z@=H(VJcilq2empm*!kD7=$x#IZM`tG{jun!#4&(OxcQHSo zyZ&SSs*|Od^ywbZ$iH1;uZmh8S?m7*{u3Dc1j27<-T zmlbSvbubuio_ufmcIB%T`!JxB3J!#5RBUfif@1YmyIBp}7*A)Gm~(w&X=Rb1XlqnT zt44Wgopi=@H?-l`H~og|?F)>Y;w@Yy+2&@w)u=dkTq%hw=L>2^mM-A@FS51p61FUi zW5PlT6TIfnA+3dXkh3t2S1n|v^_sNa#d`wdCw&cx>0b5!cn;D*uNN$QjBPo5LNfDH z5%mjfPR7CwyiYx!L=ROXz&28Wntgcac)J3HUeQIZ=~ekDP;A;M|Bgs|#Ch5uSNQ~v z@Y#&h4Jwohz+5#_f)Hs8_f{nRCFX_F)InH?~ z`v~!D?je+H{vp&KxD@L-q%*7x9k>$8%lzV@0Ei4aBsPLG8i-O{wE zG+B^JZ3V?-`iJ}%Tjzz89EpGq{2(4*MI4BH-KM{l#21)k0FX1qa5!Cm^lNlT@kF5@j)8s297DI|2` zFI>3a= z_%Luuir^21P&t>9bMwkVK;mR_u1X4xWbO!hp^bqr<+@o?@MyHeSm|Pfz+HvUk zD5sa`#(aFFqDnVdsbHn)$FTSS3=Ust^LkS-Z6t>;hPEl~VcKn6I(wZ$dc(Vzj_Qix T14fMDCdN3+|JnHP5nJLPnX&n{ literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/request/coin_futures/trade/ContractCancelRequest.class b/target/classes/com/huobi/api/request/coin_futures/trade/ContractCancelRequest.class new file mode 100644 index 0000000000000000000000000000000000000000..089680e217335b743af74fae897d8c44b787a42d GIT binary patch literal 2891 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 BW)1)V literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/request/coin_futures/trade/ContractHisordersExactV3Request.class b/target/classes/com/huobi/api/request/coin_futures/trade/ContractHisordersExactV3Request.class new file mode 100644 index 0000000000000000000000000000000000000000..dad4af0910ceb7013b5d1146895ae369ae68911f GIT binary patch literal 6563 zcmcgwTXY*&72VgCW=5ltEz6H&($F|mEwOCZKzMc11ZbKx4sjBa5NLR`vaQ5QZ7Y@J zl2D*L3WV}Xc@+wjcf%vlrybf97JN|FV)5B8_<=wE_+~)~``kMtjqOR|k3v?~z5Cv? z&zXD9J?G5GfBet$zX9+D{MyEsTqvA#F@kd$bm3tczAVF6WcaEKUz6eMGCU%~H)Qyx z43FCQmdp9uGJHpDJSOP7GJH>l@5}H58Gb0kk7W3<43EojUNnAUtNBrl29(%_?5yk3r`o91rz`cwuG3r{ z-Fm2U??R=~yltU6%UuO;e15)C-#J@uG%5{+Oru$@H;+{3Dhm01C(HMh$7aj(C&u>G z=1*)>uq*S^Mrch}>y@ddLLtUF+^knM&pKYO&5chhq?%_=(Nu4YG(O*~oT$`k&1#&P zo2*7`Z(e9lfz-Xx~(AZfs_uHd!4jpQ?`4jdNpD zwd(v`#}}Fl^-5z*+a9|{Jc`$lhwn72A`S6PQ4y9y(USB$b+X-%ZnYT?e%QMt$3RC)Gjxn31_LZ4F2nJTYh?<*E( z1~5NSY0lK950>lYxk{6n$s{~cX&!DTUV#_8D)n4)c178j;o|l%0sEG*Lywpp-6AGhc zMr$^8GjWZcSs1OT=Y(3((wsQfhr$!bc0&Cyf{}i>%;~32wOUq}d2(z+6Jm`ld_Zg` z$J?2@XQF&cS0CRYx|KUq<@sH5A#8~=<;INZKb>2K#u@K}hsGy%@j{3#HoJvcc4Rjm zW~bN+sa=fXXBVSjrHdvub}^t2@m^ac|g!XLGP5|kPIKeM-|q!yQ7JH>vdj=iuwxg z{VlDU-0tCdT$14h-rUGwm?qoVLPiEnq8Myah1eb$lw>ixCS8adH6i`@_o>D#`F;dCO2D|RX%l!r&1V=H@m1c#@-OiV!$`dGJe#yuE@t` zesYcQv(H6`je-9_Y{qJ@swGi=<(om0j#cH(xf_zdm0oMDId zT+X>eDg&JwiT5du#Q(HL5&=siiGi(=M8VNW;*iluBH>~e@sP{MC&@ENzCH@WVJt@A%y<0Ruh%eE0w)OWmaOs zldYA?xkP1FaDuYEQn@QpnU$ZQ?5tGoPE=;cNKnqKRL&}(0j-b&@(L}hlw1m)aH<-SDa!#EO_TEJOS-qK~ZvSb{sJzyBElCi>)k;G0b zo!AQRN;a8Zt4ZlPO4kZaN}VVi#k-SEX|2_y6miR>l%2wRl22)`)ueQTmPx5%g*$O9 z>6Fe|O-fs7nUtoW@ZMy{Gix;|{i$VAdW^#Rl27Tb)uc4KmPu(@3hz%oWp=G5rDL{C zN(WTw<2Q)&+ULTS)nk)a~bEr1e1$N$Z1x-y@_#Nb2zm zF_ItjlH><{ey@=FLQ=2a7b9&5`bpXl4EX&*8VE`K{y;=ZU0`SGjJ^8J<^J8=Rn*7S zIZR@Tm)o!I$230&I#5)zsBo_nC3PIfiBh;jjpGDS8WUVhMl798nf8;3doxdH4$!Q6tLXZ+L>ABU9+&EB+krCF)id9zvZc zuWqEZ22qb1=9!vA1+|yo1`9;J>L5Rt?j!0`HGaf>kf>iR;5wWp8o(L)e;S)@=ilhE z@u8P7VB>!Ncht*RZ(!zs2BRiE$@)vl2Y=WeZ(*qARg;z~ksFGC%*4wt9o-OPK23jG znm+@$#m}RZlwXeJSIBR>HMLzA*~a{~8J3unA3hIzbP3npE&GKaB?3PcN*pOX zBkB#(TEv>uN{*k7M16s!MOI71N;F#ifvrU>!cfbOL<51NMNUh^(llD@f{YfiDnqSI zBw8Q1TI9AwtW~4s2U#s*nTA@~NVFmFw8(3TJT2OoTmTQ6XocbJRNZ(0A7d=jDu<5~ zb-+~)KEaT8;s*Q!pCn2#(l6mbqBLK1&*4)<7Sr)De42=VD<bxoa70+guZsW|`0YZEZRPo@P$V52&-3u#vwzUsbq%37e!*EMc&)*o8YKmVwRQDpuL>@n~O literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/request/coin_futures/trade/ContractHisordersRequest.class b/target/classes/com/huobi/api/request/coin_futures/trade/ContractHisordersRequest.class new file mode 100644 index 0000000000000000000000000000000000000000..ec26c14e76c8356e6ded27836b9b75ce3fb7aa69 GIT binary patch literal 6511 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 literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/request/coin_futures/trade/ContractMatchResultsExactV3Request.class b/target/classes/com/huobi/api/request/coin_futures/trade/ContractMatchResultsExactV3Request.class new file mode 100644 index 0000000000000000000000000000000000000000..ec8ec40aa611ec7d7596c4dafccc6eff77fd720e GIT binary patch literal 5097 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 literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/request/coin_futures/trade/ContractMatchresultsRequest.class b/target/classes/com/huobi/api/request/coin_futures/trade/ContractMatchresultsRequest.class new file mode 100644 index 0000000000000000000000000000000000000000..aa2da0bb140dd72092c2fa6f9864f3e63c406727 GIT binary patch literal 4561 zcmcgw-ESOM75~k8zIJzZcf6^S3=LpX*R|Jnw?O&mI4Pyhm%&ccIE1zo+VOho-DJJ% z?#`B`d=y$*ph5zkK!_KF)VxFjBcLVsH}Mk_KQ-}!i5ErpGcjlwcuB$W zrFJXmc(q{F3u^U_-|aPn?nVFUp5F}~>@}Jjen)||+-muqrKZ>I`dtNj_uAHayQ!eO za>aYbt2VvXW_2y-G+LXB3bJ&!;a|G8?JGEx04%oxf79;}k*jrlFYr(Cm%eLp088x+ z4zt_droY_U@Sjy+ioDi%j%s7QAIsI5*_B#*t6J~1*Be!DyHV{#(N=5iM(c^EdO?q? zsD?pQZ?U+kTg=4^XQ*lvRcWQs^3V6S*8R>UZ@npTZu-GmoQB&NQc5DqEA5)syzF%v zViMb_LA}8gp7})9zyK}AacP+FiIGr-DK8MVl*oEX#v_RrM;C^<&&R_k{n_qtwG%V@ z7dv}dfxYSn_4dXEuj6g`f#2aOEt(~QJDjxa$0nu);zpvA@o03^B%_OmQFJ;9;5GTZ zk`n0w}?O<38CljnLMe|8b2uae~jxb5p zcmx_*S2>1_D5DQ14nq9Fgr*Ss5=E4PV&rG2D69ou?dqzx9rBK~Bs}eA&1;>OWbts- zy>2~X_t?zrGIMd^;_~WgCX2Ej6#|~SK^AgTiS_2Ek_#(L)kfmaO(i1DhJz?dGiXO; zf?qh%Xf=ZS6?BuNh>J*qV11h0TJ^E)gmJmGcCSz8>cK(agT*1k?zHpEPPp-uZZreBHbs= zBY0H7k-Y_Oa5>y@i|oxrN9v@7pW_#-2lJBy5{0^7^6bw~4!LwvL5br8o2a4HfKMFe zqoFX0BW2b?4fnA83q!UhE=h}IMiYz|K1e!}*-R1fM>h&6C|XXx^4=`OW{x)hEMT;3JBd?0<{`axX^ z-3KmbLYH4pkJ31(OF20Mm$RYE2h&}e2X!fjaNx2Mx@19&wkM;qFLCE?&Q)H8rrwx) z3)w$F8@n<0Ph?l;E4#>rLkjux^K4vo;a|u*>f0E<4r{?tcVYDr1y>`a;OdSh82xRO zucP2-j-CJ&U4x*aYdVI2%ot=iW&%`lvjmmgoRbw$E(T?tTmodfd4g=$a`FPQVi2VS zXxuFjH0~Cif`E!KsNfX)AoT{M0n>dX#OymUqgR?9(8E*c&I7i(W zudR2mOiAU;4!%K2!z%uQZ&K3H#BZ=d$v_9MP=5v{ev7L(PbrJv!N)_Ca@b{ifxmgY zi3jj7B@6Gd?p~x+!27rzYm|z(#CTUQVVE~jH1MqtaM-|Q{xg*ia5NILA4}|?-P0t8 zD)(l5cJJeIr5tF&3dzz(RfB%DMH=jijtMCGIE{}vq z-oPO~DQ+uI?BcMHi(UChBo}sZwCqGOkN(l}ry{u|nA;=S7X7hE9vAu3ly~u&z1L_| zAmpLKZ^k@O__FmGhunF;VsEgYuDpiNhF582eg|r0VTbP+N8RE5>S#MKDvrK`eRVt^ zUbE*S4}BZ~zPD}G XEt{b}MQ{e2IL==FaKr!o%WLm{cglMl literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/request/coin_futures/trade/ContractOpenordersRequest.class b/target/classes/com/huobi/api/request/coin_futures/trade/ContractOpenordersRequest.class new file mode 100644 index 0000000000000000000000000000000000000000..a3941f6fb73fa37d4901705727e2b98607fc6586 GIT binary patch literal 3995 zcmcgvTXR!Y6#hmVGF4df>J5nnY zxl~|{l}b)!v}jkWPE~&!Y8B1}O{7Opwss$6kL7)6vJ%s5k5=czQN>mQ!&?HkXP=Q8ryYf(drxYY795-K{Ibm1qImaa}7zWKkVRVHp>rselJirBU$j9n&P!7eR zvz&I3o|go1eENcubBFuRC{W5vX%=iL(8_LJxEYr`_tY6_dD_OZ-P;TivcumGX%Y>H zA8dOQ;VXg<)Z-665G?%PdTn@a&{$O7v2JYR$v z1w$>!vhpHq-la?M^&WSkF9*YHuEXe5RuwYib#39nHBP87Rj4gC(cPk@fdpf zX!dc{O}zXuZ$mkK3z4rWE9mE_a|W@B6ojLoGn_@M^?!#pfkr~mIEJXPd;oS4EUs8X zj?0bJ<;GS^W7fWfv9{be(bAZlX<@7{H*RlfOs=&sHkKQAv^0Ji&oDD`<}7DPu--qg zfVOWag)?S&)?Gd#$e1Kv3aQ{(qBVt!Bp1(N4`C}@st@Z@IMHyq&2yP;?NWPKmqM?G z%O20=aO;EX59?Bx+HkqUbGf&5l*Yrl6w)_b?(|&pZt-)e+~J&Hn(qzte+f;!Iq(zA zFQB#E9Jm8>Vz7S^QEy2hc5IMCRvr2U@w9puYi__AN~?>A*AZ4$BgD$;X-zQtU8HUx zk=D|B2$aYg1SPU&+7OT#fQ+;m0<~wO1hr>l>8OBW0VtY|g+LwII6)m*D;*b*6@Vz! zLF!E&tu54{KHom@kKEwfJsiM6=BN`t;}E+x!mIsTj8G@GUtyGzis$hu4pY)Ffsb*7 zl8z!S;wU8p6*xp3uIAc46lwtmXb^{al z(PiKm|C-8uZ1BbCKa2GyIl#iI@_YnMvWMr1NdHJhB@L^!oz_T$#&9GJLE9bjsKVEV zDz=^SJ6)J`^ht7fue#48#HQqMo^&vi12vT|9zw&1n4%P6LEgtJ zJZl?UBac&*R3>f$uTs)*nlJ8alytaQ&y|!{iuD^}52#RCEJa~~pePUMqPdQUq7zyj zP{*iCRRK&7!J5eB+5l`U1vl|6HUblKg-O$@^&SnGCO+$a#c`RblE-fRHrDWIOr_Q? zVx1J8Q>xRK*=t>?^}d`Cd4n&v3nuN$9io4P@**}ae?R<=^xw?!pkxYvX}!U3%VmF^ zv(CA@{}wiRZ%F^(0@VJY1-`*)b%75{T3f)1+tBo0mi@kMgW}!6%R+zNkA#SLmLGDg wqeyc7s-7gbrslOmr^byW;Yk9Mge3WUFUhdpBrt-v@F-{bFF1dTV+*2x0XJ_2Y5)KL literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/request/coin_futures/trade/ContractOrderDetailRequest.class b/target/classes/com/huobi/api/request/coin_futures/trade/ContractOrderDetailRequest.class new file mode 100644 index 0000000000000000000000000000000000000000..179204fdbe0a6cce7b25232f67412a7742338c74 GIT binary patch literal 4567 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 literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/request/coin_futures/trade/ContractOrderRequest.class b/target/classes/com/huobi/api/request/coin_futures/trade/ContractOrderRequest.class new file mode 100644 index 0000000000000000000000000000000000000000..d9554e62051fdacdde88cdb59453f45b3325e4f1 GIT binary patch literal 10447 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 literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/request/coin_futures/trade/ContractRelationTpslOrderRequest.class b/target/classes/com/huobi/api/request/coin_futures/trade/ContractRelationTpslOrderRequest.class new file mode 100644 index 0000000000000000000000000000000000000000..2fb26f52be9013415ff7dccf17dc138bcfe5855f GIT binary patch literal 2601 zcmb_c*>W3I5It9#P2+K_C|)9Lzy{lq2vQN|NQ(5fN4B3(T&9z zG%U%_9UXT~C|J~S&*VBMKlf$K1F0=bZAHhb2@8t`)}&lF@QIWg1~#SK(($RlwFS50 zRqcYe;goH!6=$`+mv^dLcD_tYV%aU&U}RWdS|kfTo@rySQS*=XDcKgiXbE z9d9!nLpOUkV-O}o{Bg=zB#y;|(}>ktNqWv0h#Y{)m}ZtM?Lo~MX@u7<6P9B+*7A>? zf;ThvNIl?Y1CALLfBNggpk0Wi?GlrYF4bKg@NgOuadbQx(DM|8; zoHwW`IS&i{*tXDzs}_=YP2kCe(enQ?MId)!H7(r2l!XzDT9}mDHKZ(LK{ocCq+j#t zNS%jNDwz75h0pLgVV)Qa(f2J6Ii)cRA7hmFuvH`=kO1dNifZ=$zEdH|C)?>6J}RfL zM(YwCi*NAt)KzN4V~Fo-H{aw4e>qfN<6J3C{`X^m_SdPcP(~@c($65$<4+MuPdr8R zN17sdgI^7TUmb7qI~asg4spdzeroCOlBD5|x2VTt#W)Rd#PBwTnLt(=q+9+N&!Ieg z2K5K(;#diC6{BHvhEgV0(?201L)*KF`Q2DS022@SsW{>@Hb+lxHqYEVhBQmaKC_gv zQ_V-?BoLavyEljkOG}U>#=<|oN{aF50^^uCE9EI{|0|_Lw3$+(Nzz~{O!*h3&Mu4N z>F=Q`hvUCN`wnXKaQs(jD--D>=>C$5u{yy|R+;=A9ZBT{E+4>}Oe#l+H6qNc$`CWF zB~=-ty+Gmsok=yRHG-5w){3@GD`@&&&_ff4A~LwnK6|i<8yri7(_h3pv_*;UJl>_I z;4VGW)Ks#sAMa7q@ILboBBmREFVU;x1O6G}C9Vc)tO-VjU?}p2hhW@dNjWlA zq98kMCrdlLYO_<7{mD)xVL7oIKD>M%Xp$uOlPOfnYs-fu(EUY`~_2tYI5b+{7&ASW_ho^VA}|p4agq|D(J*efWr);)8P^ z$}1Waf+GY0fe^14)LKWRp$BRspb?`SH!+O$_(+8(-C#|@lct`-;uGNnFBg z0tP;kVa~*S5*lVrEF`&Jl;Mup+!g7bNJ}Q}Ct+jO!pAZ%TUfEMD&m@nb%o5l*YKN8 z#oyd()#sf?#jS6+U$@9&fz;~)@9$Re6`~21vzBl21RI9oW`QSQn0E{s~VO;Jeyl$)b)*}l|{m$Y%rDW zy3fpX<5^=}-_$W-l<9PTsxQco5HS*G(NF0j1e1GFrrX-@p}5tOe@U2 zcoZA&AaCO}jM>PE^twpz;ys0t({%viBuzaI$4?(l_B{Ls zZZL%4EO8d3M!?2tBFy0QaA?sb!ib2-@SLuK>nmh?yFA0~c`k)f{wE1t3Y$vGF+%wl zXOmmiLjHT`+Ckwr7~esU9~6Ftu`-@Ngc&R;SgYe4O4`Kl=u2x)ad98^L|QvUqGORP z=`=}}jI=H`##0RLqd%>ujgFCaz*zBP*$P453o&$gsG@*z;v7O56D*P#Q?h`Y)WwPX zHj0!q++|hVqNKC>uHsEf2Hv9o3=*dGH!hfX`x%B!O!C)K&u}Fa6J0V2Btw%fjmY?b zAthzHupmf}7t3*a^)6DK_ylQ2j7dq!sYHC`W2}m4GO;t&ul`8DR zoH#_^7oty=G}%aN(T*j=a%;3VVUwZP2u7Uo-iM&qd7BcY7~As}rU)(0W*EUVB`qN5 zKD6glXe37|5(1^3)97d&6U7kpjzPypJE@`>dlDe^@QhZsEFP9eQvFJ_~A#h7YI!iU5o4-UVAFvXXV_!s0o-pT*~ literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/request/coin_futures/trade/ContractTpslCancelallRequest.class b/target/classes/com/huobi/api/request/coin_futures/trade/ContractTpslCancelallRequest.class new file mode 100644 index 0000000000000000000000000000000000000000..f1e9a49d16abfeb9003dc95c6671bdea48e98237 GIT binary patch literal 3468 zcmb_d-ES0C6#w1b`P%KY-Bt=Lf)=UTZd+Cn`Pc$hN`XoX*j5z$fa!MV4s3VV{V*Z% z+4yAQlZlD1k{BM8*pf(M^aT_DCJ}#UW_CNfEQA=E?Y-xod(OG%oZs)>`TO7Beg|+6 z#U#>LOu)jD49hZnAj2gSA0}a7(Zokdt}n}QMXWy-=@S_~mEkkdT{Uqni4+zsI5MwT z$Xi&o;99sYiZv4jg?%&SQoZWr>&ul|amFd--J(-0F1nvL+*scBx+VN^4Uz&W9mq%ByZh(swQFUusc52nlKCNY}Kegc23+2^|PSsg= z>u#07&6Q>+*GI>m&p{(k%OV7h$t2d?`cjD2HlE!DuYQ^|gN2=oXadx1YEEqdm#A$; z9qNLepwLg7j<69;7?zqySc5%xitJZg%nK_wNSLXyD+;RI&be?)K`++}Lew4sbEHX6 z+t;?11O8^djh%ymNxQP$Fi5q-Fi`gS5hIN555h$>y-Rf`e{;d9_;lmd^{<_kcS^HT ztb$c=YK5Th@zJq4)^c%iZef+Xu)HI@CX39@&Qmd&^=`QSwjlHl#eMx3Z4pYbq}dM zYe*qXE2Pjvk!f8Ee~gz;DqNV?3Mp(;@-PIwR9|xLVNdRkXMTjP-5LKA*7wlkcgFvK zwJ?#{M8aQENS>eIkkcmrLQh(IfPvevC)3&{dYTq?PN#{TGt#=)7!NRb8@*{gZA6TE zb0&>?b5`0EBP%pA(^kZ&FPETEUoM$Wh*2^$N~DubBkc~ejz{iAP<|z-riJ@m9L5n= zJcJ)`lvh=*$2Vlq5&CBEHKr(OID?xwMoGs4TpXul@L@QO6O>F;F^zX9S@@O@$26q` zzQc=nmr@cZna3gYo7O+*GcofJ+fAI}&r%PuGY}I`5S!FFOi(m=w*yd^sG>xo3K~*p z^ioG*)?0PzbdowlejoK==37q{uZ;SNAxs9Uq^6E($9*t&r=|*o(n^irhB>*3{%fMQ zbDC_VwQ$E0fP<~xobGQCTi?k_>&>mcoZ)X7tt}!>uif22IveB?CLhN-&SH+4>V)Av zN-?(eI?l16II~~CJSB}_9H1;9UB(War)2oe{|VM3Dl|4la|cZ)l7XFnu2>KJ){FgPV9kpy4#QEs$-I uhXT1*^S<-nI68{0ezozm4 literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/request/coin_futures/trade/ContractTpslHisordersRequset.class b/target/classes/com/huobi/api/request/coin_futures/trade/ContractTpslHisordersRequset.class new file mode 100644 index 0000000000000000000000000000000000000000..e01ba178236e03189d00224f89105e17ee87f278 GIT binary patch literal 5090 zcmb_g>vJ1d75`mZ(ypYHCCiU=X$m$m)RyhKKq;_!07+9~uv24)l$1v+%Ntv%ExFRV zH04>!vp`#(1%}}xnPD=+W3V$rnGXF@X86n}_{3kq7ee`+yLaW4vhf%undaVe@A;jx z=brmJN4NRwfByIyfCuoi9F8H#B99#zo|fTrGCU*0RT-X@;qw;0kV6)Mg)io~{*nw| z7UQpo^qdS|mEn0Az9z%hW%!0bzG>lGIgBE(@okx3u<;!m-?i~QS-oiEB^xi>_`Z!F z$i@#X{7B*0nPwwsRcpb8?e^xmdb`&#}g-S*oG znfBGK)#j!`dErX+>FV5OwXr_8613`#_2UHBjLS34HDAC%HQ1q5uGaFaf&UQyDwJZD z3r%g8-L9_t^NltC8HJ&kdcG0(>wb%#Z9%NmpVeNQt>E-kx<65G)PqwB&rQZ`OfdiB zjt(Sd6MgyME%U9Ziwddm$i;N{0v@yz*yPO!( zI0P;2^Jb(A6WyOe-oQfg=&u<5WXba=%#j2N$+Z@V>4{UUqBunxi*qRMMTaRq9HL@@ zj>bVzoPx_6oQYJv6EU5P+V&z^8F|nOO2NEV?U>^}~m?%tc zqA1L=z`LnExmexSmBwbOd!1dYHqJ^8*-194?TwIf{gYGkOwrQv{Nh>WkaC6vx3d|r zcsj``Omydf8gtO~kX4NPoy&n1WjG^yJ}xU9>1`>U->U;7p9~A&q=TQ}6&Cl*Sp05JvUAOhg||z& zKy8P)+T^FK<(aY0H4~E$mvYg@T3Y}oG4^XoqD*N?;!JBvBF$(?Vzux-%J*1wRHBO#>!ido zDbZnxMN(pol=#ScKR&=Pya<5aJ4KGB%PlVF_gHFgq>S#$};nO@^UqA`m#!Px3G z9!NB1ktZ12y~f2v>-jNzYfD6KSy6dq1?*?(A< zQff-mk}idkeD)=~OdZyxR7A(6FkImr=93PdKCDYAt&U467=@4GV@WPEhjl46+HooM zr?8Oh(mJe5DfW&_DQAVnXVy*aVIV>jy)+?3FXN^KlX(N> zYbdyBHxmPuJd2=`XS7XOsRHE>KFbI{uDNP)hS||Avc{GT6i}9;IZVh2P+ll=y$M zco~-{W$_ALz+;qh*u#_f6s0`=#D~JCDLMEDOZYRC3iv1A5}&0sz#cx1$0-$626y8L zN+nczhDULiW&axk7FKU!)IyE_+3F^DwV3^X#i;(5_??uzcT8o;&yaMfv@lDO82>?u zQ#KtXk!e|GxE;zaYs&Ib#4Yx{zTeYDj*eb09Y2vesfl^CbbN!fv`f?1V9oAfu)ux!aiUdpHO|C%itsltcdF zMP8vivDRM2C?8};%6IL-6&iCYza^B5BHta#>_Kk%XebZv;hyqaL%A&S+d_FrY literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/request/coin_futures/trade/ContractTpslOpenordersRequest.class b/target/classes/com/huobi/api/request/coin_futures/trade/ContractTpslOpenordersRequest.class new file mode 100644 index 0000000000000000000000000000000000000000..26d02a77d0324825fe69502a77ce563c21caf28e GIT binary patch literal 4080 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 q5k05%tmwBUYbU@Kn<{NlmwNd67AiThUo literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/request/coin_futures/trade/ContractTrackHisordersRequest.class b/target/classes/com/huobi/api/request/coin_futures/trade/ContractTrackHisordersRequest.class new file mode 100644 index 0000000000000000000000000000000000000000..36c63796ab28c64fb9376f9d5c961e45fe2882e1 GIT binary patch literal 5610 zcmcgwYjYe&6+JEO&d%=6YG+rL?7;?PM-J9XiimlS?F8&tSYSKGGPV;Q$x50?Ys#@-X7cRN` zcK5k=Zr?ulc1wT!&#!+A;EniE1|Q8q;ZhE_<5Ct5J|@k_rTK(3pOoftX+9;*r=|H! z2A|Eb|C}_R7tJR``hql1O7lf&z9h|4(mXBAGlKha24Bfx8!p*+R{F2n_?nI9MEtsq zZ`inOu(L;@TyIGxYpJH?VNUhaqE(Fci$>8DDpw&LOT3hB& z!I`PogXW>-YO58r6s*?83v-QSh4RsJ)kmsR%hmeg)NH$1t1s>&c;47N)K~}~_SfpQ_FW3k?uqTlMC+zAQG{*^(xHhV5|k3A z%;(2W%NaK2tIMaW&6@aYoKCfuYCMo5w>n zdMM#YC8kAUdfetr%cK{YmJv{_O}H`+^52J*s+(J1*HJ=+2Rp++cebdP93G?TGgYV-9EEN+Y@pC`Ggq|4b zoV-T;kY!b?OVm6RLev6JtX+xbqi(I@9ksZWkv_dIpo^Wb&Qv)4V3 zU-x8y?nwgn!^rZr^(MZw-ptVm?Z`j-MX38;K;O?OE4+oR#U8{elI(3n3HmDgEc?Bc z7tmiBUqh-gv4(VIat&6+ORXVO@zQIsE1tE6Y{kp0Ay@J2HROLzt-hFD8$M^=A6mmc z?B|Gf_1@&Wd-d+bx4pt@^lM3Wn9`E$F|8%prKKg=XGTl1QyT{;@3d*sr7@RgT;_($ z)Nq*@E)BcP3zr)tmD$P$r`XHq)0JN$C9#P6>}a2z5MX>(!u|y1bgyzDQJGnjpltOj z4FX&G_~tj$n>8s3+%YLBsqmiUjb}G&QYt~mq-40l z$z+qc&6<>w(lIFoLt!>Kme*Cd8<9wAQ^#aje|U?AvFv-2{U9sw^mygRNT;rj{|?S& zr2DUqzXa#lL}eWXJ)|&je1eUin*0OuUg~9(uE3e}QtK#22-i;&;`)}C7L4^W%2!bE z(w-FqmHZ4rCExZk0A(9aVz=sR9sK#l=Xih;KH z1%kHt171Nu0|r#^24bKgzev!K?|MZ6xdv49+!$!sFA+5Cm%WmJ$_7;O$`L4am6_Tf zyL7@Mc`1x=l-Ft+r*VcyGNkUrSzbha7*)G)ALsh{YTAMODW&+9xrX;qN|RCl;>C4_ zm(DW&h7VB6pou@@gOqGMgEc%rDU0XuQ#?p1hjl!SDy2MrgC{UY$-&=o9`lq6_$LA^ zP#WOHGfnvnipt`(@(?9g?dH|LNU5a8u^mg4%BXQ)bJ(7-|BZnR&b@-+49@e%Rv21cjXv!)PFOPLj02p=w${Ip&o*R_)ErK6>? zZ|Nngv&0MtwFdo+ULyI8Rwi27;@f)3?kq7SLaiY`tCyG!Mk^aF4f{F0lm4ZlK*Qi>0j=h3E=CQTp5DkY2KB|JhY zgQrN*4^gu56FzbtrIf|*u@x67<%B%y7jUm}B1Q5jMZ!R-Yy3cW+$R%5NJoGOliE0C zU{(y)MfT1baAqU8i%(cED)x0MU9IFbqnJ%n?CRcd*{J7kpx(7`GlVgczp;_7o&N!% zDRP3piG=xr%jAVTQ&(QZHon@u@~hUdUDAeKc}FO-R&Fo9I+RQ6cuo1Wq0I8Qy*v`i zgEGG}l(&eyE0l*szAco8*_B7xtYdfYGb>E?@I}00INXO1>yq#h>|rl|(d92_cpb9; E1)?}bMgRZ+ literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/request/coin_futures/trade/ContractTrackOpenordersRequest.class b/target/classes/com/huobi/api/request/coin_futures/trade/ContractTrackOpenordersRequest.class new file mode 100644 index 0000000000000000000000000000000000000000..68b4a754bc3fba52f6636367b793028d57d7acf6 GIT binary patch literal 4082 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 GiGKr2wlr%1 literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/request/coin_futures/trade/ContractTriggerCancelRequest.class b/target/classes/com/huobi/api/request/coin_futures/trade/ContractTriggerCancelRequest.class new file mode 100644 index 0000000000000000000000000000000000000000..4342dbed63ce45796af2f7814532676b8273429a GIT binary patch literal 2447 zcmcgsZBrXn6n<{9yV-=Lq_jX|QNf}O2{cvlEkKo0N~r`8n9k@IUBXJXhAeJ2&iGgS z0rG_pI%DaKopJO_o$)vLGyG_+&)MCCx5%fCgt_PJx#ynqoadZ-|M=(UUjR&DGlh>b zP?*c$66Vq{a9fu76z*gw7i76BdyAso6KyGl`x#i6Gx4#=WfK(>E26HZu%>Wr-fIND zT@5yUcW1}(=j}$-sjoX`W`9JfDY_wyABk1MKF*WLmi#D1sp`3n&%bO1E#GOD zh-BL-od;>`yv-OdF=+GNwxiIu>^7X0*6x<$Z`xaRT8tUD;Rd%9uIJBUKWiC(AVqpr zyZ*rTT?rA#(Sn*wCKg{zRYaVvI6=+ZUbB6B*9jb-!P7fVun{wTnFMy>IzyM$Hr?sw zk^exK@}!syeL4pW_Q0+)(+Tg@t%puEm>&O3L3t;89B(P;UQm<4=n)#m+T&n_)}zmG zvoj67(eBarMqpRJs@QuWr5xgLAkC`XSP)nWX3cKaqDCh3<4erCw!TzZAS~(z=cQE- zIAooC=2$1T8FS|-H_iC||KleEAamk)u!}O_Uj=k;6-T3$OBPg!}SmK7so5 zF%myeR~Y7MP=daSM885W@vcxNDf0Pan3r9)1JY znL;v`DTNawtnYMbW_Wrq@`zIlSHiIh3({3skV3wD$TMvHS4iQg6Efn56B(oYi!w!& zwPN9W=-NT?HyGbRPaYJ1g;AL(93mBdQZZL1xRkZY-_euPp5o#@tjU~qh;-W{Q`YH{ zDH}Ome2k~)-$!pw&lzne?SQ$G$66eLz87KW@K8e$69heg4NS7_3AW@8ZqSw_@>}fc z1T-vi=O#6s^K=z&QZw)tndw5~=A98AT3@CKoj(;{&FY zmg&NRAU!@T$LZBONOj^9q%wl+*km|H4s9Rpq=|0K$44iwbe%aBE6qQF#Rs6b|H2`!HwT8I nKO5;8(Jyj2ME~jQ6ww>q#e7^>f~}S&d`LX<;7CRTmy!M#hz{xR literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/request/coin_futures/trade/ContractTriggerCancelallRequest.class b/target/classes/com/huobi/api/request/coin_futures/trade/ContractTriggerCancelallRequest.class new file mode 100644 index 0000000000000000000000000000000000000000..c76cf55c1f801b905904037f1c6cf63f1b3d0262 GIT binary patch literal 3966 zcmcgvTW=dx5dMy{H#_Ut4ZWEbFc4_sB)CAiIZX?cQd*L>G^O0iW#epPw~n3qQb6Jb z2_Xb8@Pxz4{3>Se#?)oLgF^Bup{ ze!5ewE%{9a_i(+=?V8tW`7H&j_3p}Iqoy!AchDC7xwz17R_n_%1eZgv2O3L$ zWO?%4RW6fD)uvx=R~vQuX`DIJ@)?M|*nLuKd}6NLSSeOIjm2uwTdfwGI+kL&QLVpu zrqk{;{Z^4tFZsnAgg8C|-xr%6XWnF5X*(k1fJr>qC$triBuq7swl7S2{1CNMk!beaOeFT@?M_8nZ zSL12={2yC9OR~*OysDrY{d^6#6wF4uA|xM{Y>#!R?FQQ3a#OHb?ql|-hV(1@fjaB~ zpjM6q9wXh5(e5G|9Z|PQ!ic)d^g`P!pPTnq1G4aX2wK`Hd-a2o2?eL(wJN$;L*o;N zdC=o04$mKCCMa9%qE1a(uXn`sSpP{j);i$SSR^!itQ&{ZZs^umNG&uv&9eV&Ra)mp z-S>ddOrh~Vce{%TbX?qpyo)pG%x(#ui3wm6$b=JiNyv-Jx%128$+ozEtQsYkLdu8M@IhEIiq^u@f zyo}wvBQ^rkU7|n+u}3X$b=9vgDNM&T@iiAm_kv}jlYB7&CK8f)N(o7RFf;$b%n}4M ztH3!+i~Ddt-;2Ar$`ddDoGVbTTt?z+$_nEgEzTfTv8)B61pOXoi*vqk8AFB1H5i4d zHJF9zHCTn5u?D-4GuPmJLrfy##l|Ex`?M{lFwGUc1QE+q@G|t2tKY~ZYs+KrQ?yaDrgSB%4>#Z8mtDP0r zPHJMRpe72B#k(|b)};_v1!bm7DY3%i@h+{Kbt!D>xfI4IJQ45GzFC(-%brUiph79$ z4T|xl{y{Ee#WtExEa20l6WFQWs=g;?ag8cZJT;2l~i8zWt6_ z-XHu1!7td)`y;`&{}xYDH^kfND?CNXz#)8!rzx3yLwt+_lq}S64$n}s(S(nKlpK79 zXZf>_x7+9Rafnh1>tx(>l!oyGcHl527e^S|Qy8_Kzc6Cs`MThhwhnF;jZMQ#QA76D;@#<55(uG4upJZqD z8nXc*c4lWPq=S>4ya;=G9h=?~eY#}GM$QO#93hF`8Y!8<7WokvIXSbtl_^=lmet!L zYqV9iWCvR$OlV~XTRY>+dqRg9o@)pn;W%F4AxwOT6OFM|ZyVjbjxADnPNQ43oECYT xmPbV1uH}r#IW1>JzMaE5b_~8hG!^wbb1p1df+Y~bzKT0J%U{|2;=vtA{s*d?13v%& literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/request/coin_futures/trade/ContractTriggerHisordersRequest.class b/target/classes/com/huobi/api/request/coin_futures/trade/ContractTriggerHisordersRequest.class new file mode 100644 index 0000000000000000000000000000000000000000..ded5627f6a49f6b259105f2f1ce13263f3463beb GIT binary patch literal 5569 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 VUxkGIH6GwBfAaGWEBp|tuK^_@GxY!f literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/request/coin_futures/trade/ContractTriggerOrderRequest.class b/target/classes/com/huobi/api/request/coin_futures/trade/ContractTriggerOrderRequest.class new file mode 100644 index 0000000000000000000000000000000000000000..691f414f3b45a2969b1dcfbf23f3e5f2b2f25066 GIT binary patch literal 7602 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 B4b}hv literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/request/coin_futures/transfer/AccountTransferRequest.class b/target/classes/com/huobi/api/request/coin_futures/transfer/AccountTransferRequest.class new file mode 100644 index 0000000000000000000000000000000000000000..195aff4174a574dead880193ea1158fba7687c7e GIT binary patch literal 3955 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 literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/request/coin_swap/account/SwapFinancialRecordExactRequest.class b/target/classes/com/huobi/api/request/coin_swap/account/SwapFinancialRecordExactRequest.class new file mode 100644 index 0000000000000000000000000000000000000000..548e8f4c34085353b3046bb549eb28acb68c7445 GIT binary patch literal 5045 zcmcgwS#um$75-Y9-bOu|(P(j+I3STBkw&8oJ4t(i#F0QCIYu%L4olLS8B60xGs-O4 z2x|ySfF!H|isBJhQLbVsBv%nCMP5P`&pg2szk(M`_|EO_nbx=+si+h#*S+W7^PMy2 zp7WjC*Z%8&{`e|@_v2?KI%#O=rg1yEHb(Hc3{S}Lqzq5V@U#qHkl`5&&*_ zZr9peR+^1Yi?}n*YE46a<+A^{U*7f`o8|RRtKQf=p&`|IYL_~@-SJzU^YtCdxfpJx zsZeIEQ4N&FrB-uixk|%!{b_>7W8mdRr?y#Z(W_Cdw`!G+26H2dtu;HhQfcm#x4O-Z zdfDHtms>&fOc(~0YmiG$KExONc)<}#vK_*zD1d5mho>we!D6RL2l0SeCsgfpUF=C6& z#ZpKZakH*CGkL%+N)Sm%#Qh<0vhBg>CKDZ9<{|4YJqYW*!g3^}xnu^8Uo!LmIT^!IleE8uVsoOS*MT%3K)eQKcK$ zv=uOD)N}v{7NbfLYu#+1jqNxJ(re#L0O+kplsf8ZC(uUA;CF*Q4}UjU1XfXxhgQ)t z!xB^;UG;Yrn|Vp9JIt#1jYY|r25ZZ2Zv~AxJUh3{gq&MjUR`9yC>yO>ySvSsBQuZ$ zy$~j#5Idb!=$*tYL}BZNAWE|kg=BS_LC>-L>&OfxBVup5+{vNq@7G03&o4>D*!4Wt}9+3RT83NSV?lGl#=9Bx{~BvhLYrD zChnnpn@LAGy2#NuN0R60CP#|r$nYEwLr!v(!<0G859-A~ASLIHM>(RRbOJyar6x2^ zFxCf+okU~OKf%}-G|nU%vuzTL%|YYQL}RvFg0VGdoJ}-lnMtd`)Q{>?T1`_#qe~$f?@W9w zDN5t0E`{Sgm%>>-)RJAAM|CO9(sL;-pyA`mF0G@wl&q7>4!K#yM%>iv7`p;z!Ane9o<;cb35lUu-b ztaEReT=^HyQ%bQr{*F&k(plTT;Q}QC+t|Z{luWen8+@7)|AC5^aFLRYm+?FvqLjuy z9>r%Ujo?pwB7ByTgMVNNpQDt)KlzIIJf%_I;WK!cQdTo?D;}YggU>TOh+9nS-xxKq zaUD}8D*S6{*SV`i`+pUq{y)dxNy$qmY=e844Y{RsVU{E@{y~XTR*#a%w5&1Q9%a{5 z7w|d6EqUc7x zE(M1RvoVZUv574nU1!1Tl;rT&aG4nz=A-AAq=QiEG@d1egi;rY*`Z{hLwYqRnRtZVNe?24{lh7kTgh?IT3SmYJ)<+KRhG6p` zxQ|azgeKMvCVi`9U1(@08TM^&st(Q5H!<&fcryf@uzY+e2mHkgETKHHs;^**ughck zTlV1!jXCAt7RXtVZw+MLLC5pA1@f54Zx7_W$nOZ`agnD3d4f}ZhQmJIIryds8ZLOj ZRYQsm@y3z1Y~x*=V1$=Uz_ literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/request/coin_swap/account/SwapFinancialRecordExactV3Request.class b/target/classes/com/huobi/api/request/coin_swap/account/SwapFinancialRecordExactV3Request.class new file mode 100644 index 0000000000000000000000000000000000000000..57e07f8fd0506576c2d4b1f413a64d36a38a71c1 GIT binary patch literal 4494 zcmcgw-ESOM75~k8K6hu=>utV<1~6rD?e)3~l&`LnLYq2`shx&6gtQde@p_t_WWDRo zj?KAzlzt^AZV=uq#o7;H5}B@`S__Py7=p<#*<5*Up5bQiWyT`@8r2 z&Y5%WIp@yEfBVlL{siDNc*Q`s2nBu-)9@`6aY=^DGW2BFl%X%fz`$0K^D{C8!XF9> zW!RSCiVV-n@SI4WH}I_@4!}3@ZJEC#!*@-5&%_HRzHj0OCSEl0l5GFbz{?6|*PeB^ zPWpYf-|^kvS+6q)HkO`qJK_0z&w9^nd&BU-ZNInS1q$rte%}jD^xWal8!E7dp&Nwf z{7p|mb>)(K#clQ6{>9eHpnq{uf#LNxVxhj_2VN&sP#a^dg@GUO^rwTt=JJLDHGF=H zrp(Tu9|m-QCf3tOUzwd-=?peo-R;4;-*UJ7RuDVa>J0q;lS9VPayy;Dc0X+0GNAe` z8A-^DLOn6qpi`48e&0L2y}9lM=iK!kcl2X^-w*F+7H7wziempC>m=&;#YlAK&dUJ~ zI&Sa08~EZx;)xn|eWv4)5AJ{%cXibZyMv80Zs2Zup%?H0_C+sT8>PI)l-!W?A~{QG z-YqU3N>YDd4?9b~P);WKH;B(gB~T(dkyU{`-1FQ!Za8l_nIcJ}2Xm1=_~1Bw>?kdA zvL_QKPbL~YS!a#8J%+x=$fN6*Sj~%bk1J3Hdy6^|DbNOCS6Zebxv7se%48%M-?1Y~ z)-2_ikgZFRIPD-imZr;Cm^M%%OqW)q88=li){7VANHA)%N-P|0l$qwvql|qi*99GR)v^8?%Du z1T}ECg5?j)FB^~Hq>azwb2gR)eO}NPaG#B~phZE)WOy83S8#aLu<^-ecYE`eXF8iz z@o^hJ#!qDUDKpcYP7-^ZuY~4woZ1-2$t5@FjvZ)4G;J6x*0hZ_mBb> z7W-Ovx3*|s!9rdik6l1};^76hho83WP5Jm3-=NccJL@P&@`wtOzi4I(qnTNZW+pP4 znM=+!SeQqX@ACz&rl}`C=G#yndkcl%5-Yfeqs|#HIJWRfvV{FJ&Iae1##@+Z%%2~Mo8k&A|#RM{4xO?o$6I8R;f~D;Z|98n zFFPhAekoF!Im+68Wjj}y6`iB3?^iD8Dzg)El#Tt$m0V?ZP>!;>UwJZDnVpxTZ0%RB z<|-e@{Yja$IZGP#s6_UcffZ>ViWylMNFM8axFl6mqNFPLV!lc3c1=o0WG1CX6nqH} z5-nx zOve4i8$3SCg35W4nY%vUcoUj>ZT>GP{sP*>wfR4zxY}&&q7*F&?9)vSZFS+VC^_mo zn7Rsk!BKZnP8pT9MoOivJDPCxcTl^EvZFcr7-_O?kTlsg9YaWFLNXk4j8tt~Bvso* z#}ZO8Az4mwj5O6Qku=q|osy93ghVt(sv)(~AV1OYZ!Gf)EHL^1z?ZoGej2N;EU-iL`Cc}D`$yH_#>-*jmXA7`NB9yRK~w>C%#Hl!Fl?-f`f*6 z9Tfv#dl!ccT;Q*%yo)0-wB8p?d-q}1n<_8*q|xL~k?TN{s*qC}zkJ8bP0LP6;wkiTgO(doi zS}dAuYmtaG7AcvImWrxvJre1eh?N&>O|^|k#G*^Ij8s%>n~})OL@Y&W9nCL{C*lZ_ zkSFkKJb`a8J`KOZH;D>NRvOm&_&zvtqr!izj}`AE3%HV*Jx=wR*8E)Gj^?czwyi80&#NbN&0 zp5#=!GsacfKN{mH+5d2iYl1(*VHY3W{~C=;KmP8xkkml|Pe%=M5qEKx|GMy#mCbAY E7YtNf5dZ)H literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/request/coin_swap/account/SwapFinancialRecordRequest.class b/target/classes/com/huobi/api/request/coin_swap/account/SwapFinancialRecordRequest.class new file mode 100644 index 0000000000000000000000000000000000000000..2913dccc89d328598eaa4fe13244eada72f643a3 GIT binary patch literal 4035 zcmcgvYjYD-7=AY0&2ExS69NSyC=Xu}0m*+ia``ceX z`~+Y(-ZybB4h`pHu;9orEki+u85vv?Z^k*#%215sL6k(gAj3r&$}(J%gNli29BXji z!ko;PEz~U3Mf5DpTexE3Em>U^^m!B4G;E!E%b7b?syLNG$th2|g=%eP(!D(I*1bdX zrSgnh(_oKPDsJs?*{RpvI+ulN#j805?{Ia-)sPv#;9PNXWv4QmoAPR<%Iv5H-Mco& zvv{HAI-YxkKN{ACfMXTUopozO#^#(^cdRnwUe#cUJXLy|U~{_h+l&1JU_n^tsG3>%11$*;HD0Q?$LB9iyR}o!beZ0y zW?e=bj(Q!v>JWEkyjpO|r=40!6a#JDE0&nIBmY4dbkd|Rr~K?D#j8+)dzSdrO0iAc z$ySyV!BQnURc{Zir+;~51E)2lCtR;sojK{$oJ+3f))Ni1KAf1o;1;~mfwLO4>Qcf5M;eT(R}`+UkzDt+G1Nb6+l=|ZfTjwd z7Aa*R6iYhL4{de(pb&La3KQB%HX$mu?iNCAB&R&5aB;$!^J&61_Z!kGIF+N41-3)c zsTUO`yZQ&l805*xv5BM10_AAUtz?Cv2R+J{vwBIhx>$rdA zZ1snUzt_e)c$ZB&+$)UOOR5a_wm9J*zsH6g?rlNySM zBnugJ=H}eWjE0d8q*;DPwl3Qx_(qF|2&8z|z+)?4xd-`V8i+`RC`F`5{>(c0GfU;q ztQO}qVt5$+d|U^(>Lp(OS+}5_xrxX(lr;=;jB*CCnv{j3pmUsM*BJaBT>_1Spb3m{ z$5sIBB3MkZk{sKW^>$^uqcR!LLD^_mPIgo#b2=zT+m*XJDwA;?l+AYKR7d3}@FX)M zG3Pl;f}?{&3+VcmQaEF#uf1L&f{aPxrH~q)BHGZnNOSRYXOsGBO$sNPCb#(}pYgq0 z=B2S(lR~ei$?d+$(at8Lt2HT1ZJONSo7~gcq`6v?Li(o3oxVxlFibfE*KTu8GR=2~ z2ET%#-x&HC)|W84ZVcUqH8DK6h?u{m5I;W5A+L}8ibPhwgEiM-k7V^lBpL`iZxCYV zqgg{R(L2aoM>1<;Rsb@yRtVIcj}g?Jk7r{7iU*)rHXZ_{@(F@c zc{`gBkR5<1H9-0ehSnA8P{p?oRme@g-Nk+!V2*n53l6etBh1)$IK(~C{ThcU>39~O z;Rq!I6Ziy2DMeAnMI57Kq6U|U1H6nr=gxDKV)%mN7=PkeB>A4Fl)#VJgcm5;7^iOs zkuj}5(QRVl9@d*U&i|Hn4;z&j`)9GyB>P!dT^qUPMIDhv)9&T)+;%=hz*&IO70dptK^i(4^UpjruO$kb)!pY={70e8@w#E z=YJ$b#Ik(Ov5q3i^{e}m+?s~p3Oxo7(uAi8OcRpkS6`ZLy-r{RZ(s{&`BR-A=6DFP FzX5HD5jFq- literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/request/coin_swap/account/SwapFinancialRecordV3Request.class b/target/classes/com/huobi/api/request/coin_swap/account/SwapFinancialRecordV3Request.class new file mode 100644 index 0000000000000000000000000000000000000000..b9de61ecdf71d311f6fc13a9000072045edb1b3b GIT binary patch literal 4449 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 FzX2&DDB1u3 literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/request/coin_swap/account/SwapMarketHistoryKlineRequest.class b/target/classes/com/huobi/api/request/coin_swap/account/SwapMarketHistoryKlineRequest.class new file mode 100644 index 0000000000000000000000000000000000000000..3772ef3c7d666d01ed95ae66ca8bad911b0df757 GIT binary patch literal 3957 zcmcgvTW=dh6#mxPo1IPKm?o{EKq#T)in(8$wopn-Lz7aPQtr@=v&3#4Z&+^%Ef)z1 zAp|e*gv1Y^FGT`DQi&o|cmRn%&>sLlgWGpz){f(tk_SYT%$%9?oipb;v-#!EZ@&j{ zFWzzRN(Kf_rQyPtVP1xk3=1*@4qnZ0UX-Dn!HuX0by|iqGE`+)5=PBIm_a{IxmcF@ zH5ZYKx{$Gp6&Gh+ye_LZ1bxcEIRnFUulvihesm^?4_E4O7@a#(t<-|!!D}l)J$`hh zQe6ll1KxD47DNZCe!U*lxh#dXIPy#Jfp8%(kefN}pY;n>zqVMIi=#?yams+b97L6H z!GKw>oG0kI7SMDp4iPbJUh+raZ#^nmb_4t3|4DC$QoMTB`9ny0uv;!MVS`V%u4ypKBq)srzef4&C21Yh} zGkVfMb~cF1;leRL@|S`*i0DR|!p*};>%#|I6*SHk4Gtm6>7?Xzn@RMm)U@HyC+ANG zrFd%ec>@MPt;LkE3|L`YmOAX0fDX4+pW?M`b}L|`1U(IDEYpgq%QB-`dZ8J*Bol^S zI7&i_)YW()d*))lbY|9HR@r8ss*Z9?e(j+6No?7#mvv=zjf_syjbq2BXAja((smTo zSE@19w3+S%u!k3L-op@X@vuvVTQTh6HW_wf*ucU6#1s!tVxNa` zOnBHU)SW`zg}Xi6Bg4Hi9K%xvwzuC9&6{-mnvol6E$zJ?-o#t%yNMxP5qsHG6GKuH ziuJZyN@>nO~ucM!JP zg?l;*vsyX`+wH==9fetC9fX~B;l7T-_u+mt_EuF&r8ZUG zrd00ftkT)4N-6rL%H2vOZxx1|jvH4v_b|*?$HzX0WnLWr0q$q8x-O1ifjc`fwuZD? zlE@sL;7~Lte@1uS{0aRR;7#VuHFP%+UeO}NE82NWF!oQ#T|iIX%G)iVo}xogPtnag z0&)|OlXqJ{y~Q*^y~RvEEuc&SO6M~zpuS=^L48Fp-z^|70g-Be%!_obtEEGAy}hSh zZr0mXJd8&eqXGPg{p{KlBla~O<(|lXfdiyWJdTg?7%2<0_z(w4*{I?S4v}&YAt2%r zUPhmA=P;=>KIJ&gzYNw`d{2<-#&@^@M@V^?p>6w-bKKw2>tOZ|3_3WPf*JRCZ)c!>U_q<zXx1>~lqY9UbKFUt* zG54y1*qNOwvmD&)_ystVYsj9GeXnQ=BX1@gSBgZldWx1}u|AZLo3|RQ-lDBoc9X@b z(NcXyN3mEiiIk&QJ3FWMxHdEKs|z3CIOgbth4*oSREi0C7f;jIE zYPx3)+jBcK-79on(|tl;PkIeEw7(y^BlVj(lcdbxXV!~6TW;pJINO|u#x7x}dPBx0 zR$-1!uJR4eo2z_S^42Og-G;7uS@vn!W{D3aFAMdlkA#$HmajPGQ7E~7O-0GAX{lBi ju*k>~o+U6#NR}UaS(^0{fhoLour*ZdO4O-TO@ekb*^ literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/request/coin_swap/account/SwapMasterSubTransferRecordRequest.class b/target/classes/com/huobi/api/request/coin_swap/account/SwapMasterSubTransferRecordRequest.class new file mode 100644 index 0000000000000000000000000000000000000000..0d84cb82e288bc1e883b4ccb02d0e18891e8e42c GIT binary patch literal 4163 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 literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/request/coin_swap/market/SwapSettlementRecordsRequest.class b/target/classes/com/huobi/api/request/coin_swap/market/SwapSettlementRecordsRequest.class new file mode 100644 index 0000000000000000000000000000000000000000..d871c20578c7a44b7a694484ee9aafc5caa29f23 GIT binary patch literal 4120 zcmcgvTW=dx5dMy{H#_Utb(c%R0tAv$l2R_^(v7pkZX7$W=0va5PYo>y~M+`2dCmK)8*)|~swn%nXo zT&va=-KK&)U9Y>%Lp7(>a$8)M8+EVgl)XcZMOPs=bJ98G6l+d>sW|U7tM#Qxg=EWf zn%>ds3IW*&V5Z?8n{ItEI83fOOYU@i(LJrOJp!Drd+w6kq$x`f^VKu7WG=K_S{@ml zDK}P%m9@q~wdkx?i_O64V!2VRztmz_#TBQy?0UtmLLA=eFpQrrXhEcznQGlVytcC7 zHjg?BH9BM*sMf3Ay$Z)iBEE-Ni0t@bZ?SGi8-cX9MvqB~8)c_<%xPBTW5dtZyh@d9 zOkIgQFvjex>s1~i zesGgQJ935o5EihXY4y4@7?X9$mrZ2EpY2hY?~Z^{1a%$aBI3}_s7Bi#QR)wIfky^w z&Z#j|n;dy!;iOykCP$xBP>s#~5gsY%4X+}twM|GI?rA9htY>q;2S&Oo6QCkHwh!ra zRyqK5)`5jcyM-1aJ89p7Yy|NQ1SYy0X=b&&JnO9bHOOnpzeTLFQ=gJduvsfks}gie z-^l1R13fY~Jv+rrP&S%wYpv!fq3_O6Y>eYg8$;M*;|APlV_1fpaI=kDaI?apE8vHXqc~*acI>n9 zph)|1hmAXBxC?jNxJQPkz{1_t+qRwCy|7izMxv#8(8gPMo9#6|)ZxqDdxtcP4~4WH z^Z^~>xa=PvYL^gKYShL{*vA{E>r&7c3alCWYB;N_G^Q{SZNu@`1!aXX zjs|ByUiNWJ5GCk0I2)XY3g4iwFt!e@Fuo4GFtHA!kk{5>7V`Q!tS^a4M66i2l{@za zx+vl{u4sk7duU%I@mV|>k`hCoFNxopFNxPg!7#0~(VCrU~#Mp^Gw9*9+Dsm3T9y~>$bWtMo1ve~Pgja6oA#3)<6 z%G+X<(!kQIW=ycGduN=bq;rBpsCpi~G-=2H<+ zw$x8hwq)n~1!RXHN^OvKo}u+c?usBs?*<`v>g{(tgem4|5I^H#-X96J|5tc~dws0o z&+#ZFjq8svO-aWrKEPv?4AiiU$0_l@3b>e|WZ`4ln5C4&CuHt0r4%+;&reY5$M?7f zM=05NlD<8FoN4`q0TXivG%cnD>zO`<7F_5=PBvL+>RG08Stmqx1L$J9S+{MQngeul0DqXGkGb%Do z{O%Djj#EsPJa#kRA;MNbA0>9-#86$1j* zG!(q0;cbKSJ91bvFoT*L-qo;fAdRYy4LQFjhxc`C%K3&oQPuE)KyLSIySHWst+way zIsQ%O%YoAm)&_2eI{|aE+jaa}$L{x?zJStk`+-2Fe%t=awg!RQvFePJ1=73je%B5L zz9Vqs*yGiD%R8{z1Fz{?cF(o^D2dhb-0o+6=C=ah-g7KTWqXW8xk_NIIpXr^QvL~m zCNwSnmr^EDYTh2nPuJb9vo$zqI{t@tv%`qC?*vk%K$Z+9lxOQ+%kJE=eODfj-%*0L z%X(E#LztZE6A4dO%l=5oxuxSm^0x%$9+&b>ZzLzvaDukCw`2SEffG1Br8SNtoPwFm zouVo14uNN5;Evthx3-(NomNoJe{zyReg0}Q(TGo6qa;Oo;;?3FJz;1of zuzO*1_`QVA*IRaXUFH#CR!_Q$%{n5>F@kF&tvON_O4Q$C_npB(wKuHh?sF1mwAEC@PZXc$Z~O><1T@D=)5zZ z!U7`~7;5`1l?Ycexh0$T7tk$Z%wtcuJnOxRX(}@FSA)XkzSW7SAwZMh9?- z(1?>>X6!j!K{5oX^DUV)RVe<1NNM_?n9^YV zg*go`@mD_*l&2s?+B6n&jhM1(s#GAUjF*1AXzCFal>{V}xJ1RUnRGfsvNYckLg9QV zQ(jdnVF7ZPa+~t?Oz{r1(h&ORmE6g)r3k(n=StEeD|n5-DxqKJDglE6-w0((u~(3I z$bKmlD+Gl?h=;7mqkTe1Yw_cW*=-O)S}k`UX&TeWo*BZFB!@Vgo#J|k>EjNJ$`JV@ z7gH0wGDgnZA*QUMQMiZ9iSC;obDwckNMpi%GV(9(OQ6gY39RCrOhpm=cZ@93{{a4a B^AP|5 literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/request/coin_swap/trade/SwapCancelAfterRequest.class b/target/classes/com/huobi/api/request/coin_swap/trade/SwapCancelAfterRequest.class new file mode 100644 index 0000000000000000000000000000000000000000..f768c2c5908aa95053a707e414d85dd90c59a61b GIT binary patch literal 2460 zcmcImZBrXn6n<{9yV)#DNhxm;R8-Ww5?`p=0M$07EtLQgMC}K42@6RL8{BO4zxV^> z3m445eCC`-96mkk}8IzE!>Rtyz^=PTb@ zMx#~E!TWVOXmfaFio6g4mzQComd)7Brps0YusHC^zU15D{1fzh>Q)oScm zZe0cmBPm|3&f>2=Qz3+!DBE7GxwmP#)}c+Z8B;&7y^Vm=aWXZCRf8_uU1IfC&wpZ2 zS+WL$KD`4P*|r+YG~VyNv3t+1dW-410-`CaK202M$zFRkIRb{PelBeMkZ%+n3>37Ams$Z3@BcDgksy}ji)pAxOC{|yyTD72m(NubsIXAaf%PRy$U32YLyTM`7 zy6N<}UTEEGRy?=v90-h^;VrO|Y@^a_yH)#UUCzSv;3=AyWeeQ>{|3~=3)nU>i769F zObIMKOD+@dAZua{ubRk6?KP>ri}wU3PdgY;(7VDsYC0mRmv@$Zge-w2-d$4h+D#`p|I z_)8*vja*V1h~qg-^I@Ff*DUwtkNyzivj>R$K%FlfSB(<%73{`~^pf6X$|&VX<^iIa z?0qPi+OAAiV?Zw3xwd?EWf;IMlBusQJX>qs$$%v_|DoM?W1=S$Q5(-VP5uQV+zO%|kb zuKZ%sgG2s@t*3>Q90{Kzh79=O{Dvt1qKq+HEt~lss&bP34cd25qbJ#4p_Ox)4r2Z% z6@5L&rKse8$52vvgp0>8^GT(Hc-O-ys&p}mT2hrh+9Qk}V>qcMwXTzL!d%h576+hj z2N-%h)R04-pvO_cJlh^&M{lr~d7jPiX1qa7!7ci~NloQEP2(+U8s297S;S-d-?$LN z!edOtaG8I)c#Nq)jrYjNkzYk#>yV5qOetHYN){y2{$c5-SM4EHiBBR8J2vlkjE@3M zatQup2$iy!SX@$;eG+F9i#1ZHC$h(g%Vv z8}spz3M<`WrGk~F9>U}UFg$vp!|Tm~=^!zBG0+XEk5cd8()sHY&>P&vR9II8A24DB Q*DygT{|Dp4M{Mzb0V_D=e*gdg literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/request/coin_swap/trade/SwapCancelRequest.class b/target/classes/com/huobi/api/request/coin_swap/trade/SwapCancelRequest.class new file mode 100644 index 0000000000000000000000000000000000000000..67253e07897b9253592c9c177187e8c493d33ec0 GIT binary patch literal 2885 zcmb_eZF3V<6n<{9Z%sEe4Q(M%6|riYv;+_ZQeKn_+R~QV0t%wAO?Sv*Na|)Q{t5no zKR~|lL1%24kr_w7;EcaX#OLg8(!4ptFm^iko_p?d&OP^>=bp`9|NQzJfD^c5Vm<|h zg#j42EW@G>37A#zs`Ev_jSh!)~rmVgc$byMm z3j5a{IGb}$t?X7;-EX(tMsQ)vt8Tcyf<0fWx&B<$X*Ar1f?4;ep5IW&F5Yv#bBa}` zcDJ||_+IVqtU|h6_1s!;r3tdj^;+ONGta6)MB}QzgXF-uX{yj(<}PX z!NqdjtKDueo+1r5++t5?6Fr(ZSe~y%=L{`+HFtUI{<`a5b=IpqId#|FjcSC4_X$3` zST8%(>yGbC$I6_58m{i@M2s0`1Z>&(lLs5(-UYP1D7I@ufF)OC7Va)U~JW5w~E z`)=U+3@k&tZs(%vaBeWSPL=2m$5+ZXFKcNR3>Qqb!`C8U9*VWL(1bg154 zXT$BT;_r<>UE1LY+7VwiMs_IEYk^b#X35zMD?zS@RJF=Z?V{X9!KyfoN>uRVvHldpJ;jaeMA@g@%2m=Wn6k=~Wz z49+U->wZeD-f^Jk#*;CF&f54Ix5?h=LmefdyCJIDctDMsvhgtv6TN#ukPnaCM0L@@GATy72^w zpC~J8K|hM)Fh}Nzqo9kNMXTq3K~kWJHt1fwMU5Q+FoCzZQj%JZ-NstC@kn1|mZXod z-fcYE*LV_Bj89H3ah7Wu`NB4mKT~RtdnmLXix6?#a(zjkLY`<{agpJo(BGx@vM!|( zEtdyFm(%@S>M!e3irR8H9=ar@c^O_@o#H&e3p_03e}t|*F8l%G2k6Pih2LQ;P3L!D zhD!?8@-&B%HuEP2bJ{ZuKY~4z({?b>M5IbOA*qs)(*0ws-@eVC)9hsk^Z;{_EOlc^LF2&G;SzPnC{VibB4(8Oq+ zsu*Up!FG||T7nrS8)uX|Hrxay{+@h_G@I9+?9dJ}l0r_|;Yd!2oQ>o`k@s@g!AN%x ziC7qQuM=@<6u&x`c!u15btq%FuhPLSNfuTQa`v;0`*SAi)X_!mK{CEox5 literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/request/coin_swap/trade/SwapCancelallRequest.class b/target/classes/com/huobi/api/request/coin_swap/trade/SwapCancelallRequest.class new file mode 100644 index 0000000000000000000000000000000000000000..0dec025354ebece698aeb029937dfcf7dd0f2898 GIT binary patch literal 2877 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 LdH%w}8({wvK>7p` literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/request/coin_swap/trade/SwapLightningClosePositionRequest.class b/target/classes/com/huobi/api/request/coin_swap/trade/SwapLightningClosePositionRequest.class new file mode 100644 index 0000000000000000000000000000000000000000..76c732230851520425d708cc6c8fd6370e6a911a GIT binary patch literal 4225 zcmcgwZF3vd6@J#SJYBUi=3n-P6(!U;>IBmN)y)d*4jkY8fhI~ zN}0gnKXs-*p!pJJV8G5y!*tSqNN4&7_yO=U3gJ0-SMq8t#`(ZBa{dD^UbE$nrpc2w%6ukEog= zwaRkXqOn;G=Cz=)xlZZ6gmk_cdTU;b;>@bw@@n!f4a2pD?={1-Exv1hRYM`6u@ES0 zxj=+VEx+cSe{+LYt(A^%;rPTtEm*JAH-il2Fs33vn_=dtBK`heOQCos1OZ482Jy_Grdw86i%kEs>dgJAMAq@!iLtxWGIw zdSN|SU2<*Vq85SaGXWUaUjzPZQA zvny9voU;=zYtVw;0*^%+j3BH_Z;VLB#!?-jWGUv50(RQMi6EWFoDwFQA|J^UoMQB% z)JfwvrML>3?wS1&Hq9Ph4&B<-MR!A$AZL!64tC9Lo|4#Tuzpk+mN-RjEYW7(`=)){pv4KRmACm1IWaA(N=8 zPI)9)yFscDb|a)Tvdh6{tL8oHO9wx?=NNcg+F8TK|9kE@xP;$3DC4k$NALp&V?rIl zqYfU!VGXChCx;xI!!r)1G2`GDLj4F&IQX$VK8c?=cuJ^coY!zLJ=nT;#@^$0JlQnI z9K3^fIRU22QQauUAK2~FLUN7)bKRXhQ@~iAF7xoY?n#>UQJ3(bWJ{@Odjp;rE#w& zrM$W($CSxqINr}o^IlC#rFKmoQ6_)h-%IOWO-j*sO+Kbfa^^%{YPY!$Gt6I1P5vE* zeq-uiu>S^Q@W#|_*o)JX+sLR#64^7;T&nuae=tPvS1p2ut9Ho}kR5}plAQqMsu_ZE)odvvpll4vl(Gp>zB)uuzUq{Q z1mwgZQXPe~gaYt+y|50&|SfDE^I;?Aig&{ZDaRoq=xW09>5t=4$jiI zXHc~4{~>2#>1!OY@GJh<+Sj-*A~SoFohCWK#OiXb#O3!i&m(@VK_w&W zBpvIP%1Ko!yoJbO+i73XgiS+#D$E|$kEwzbyzdoD7-3sr>cvfq{k9l ziX;*ZR}Cd%eJCZnWOPKis;NX~SH!A`wDMI;iC8ePmZe08`lt6?jG@M}^gLL9^^q%4)JFOj`VhR$SZ8WRLf zyGs*0&jZ33h0y_YFnTX5hM5W24l>P+!B#JL2j52!tJu3#cC`A-sK_w!T8}c0YYdfK zb_=&K!mF`Z+_#PWl6Y>#(THZR9Vi}*=wadC7tuN4mm)eZ{QJ3V8NZlcm(_7FdXSR3;m-H=OEG1(LyQblgx>=4#y4_AM$2SY@ zsgDHdkg|N`F^@vY_|+99Q`1n*HEK{$AiO|efsg_}1`BlSRRRa#;$iOchX#Jh;~`|e E1!#6%w*UYD literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/request/coin_swap/trade/SwapMatchresultsExactRequest.class b/target/classes/com/huobi/api/request/coin_swap/trade/SwapMatchresultsExactRequest.class new file mode 100644 index 0000000000000000000000000000000000000000..f2a65ad9a052af1edc86adb0b9dd238decc2781e GIT binary patch literal 5046 zcmcgv>vJ1d75}ZReMnweYx$8bNx>$9+Ok~nDA2BxK$AGsV5h+`DJhS3Eh)BATXH42 zFDS249tGO+EHDfo$qbVj9)q13%5>douKG{-~Gi0t>6gdO0(X0q|HN?RY2u~&RaN0876~)r-EbWmg7-LxyxM35x+M~z#K2&rv(u}Z+J&xq}!9tc~ zh*^k;lIG%E$Q4tJ6H<{6W!9BQkm8_qid02zi+~0MfN`v0)Y)He7NUaNfZK`yAo5Kni z>(yLOlsf8SJJ3eUv{DA0oe5OIBCv{jJ+z9JS?0X* z*s{N^$j$3g-DXzBZ!AdeG*}ycdn0Jn!ReVrrsl%R;_?D>N7)E2I}O>sbYu##gJ%k{ zBU**-am+##yIu%FH49N(R;L;CA&Y*oxznoD&ei2=m^$ccxm$Wf!eHT{IHFl9My5=r2 zzb1Yl=F!6Yxw8`Z!3S_JSM;b(BfnTu=aHyN!cq(>NzRl~lAKCclAOy>lAO%MeU$Gs z>BylAhsF+FI3&13emkVM!^4o39OW=&&hmqL@wZ6Hx#LmVDoQ&5gi&fjHu{Z+6OGw83C3o>aW2uA4VPeS^&2~h#%$CC<8;6ANTM+tJi$2AZ=6pwK8uBr zcOGY9grPXsJro(K?KMj0WagcZ7`SfSw@KAhxIKdeh>HBAwXE`?+o9>8LfOXILE zh2ve9!dVR;Np@)-)}=H{*QK<8hL0w@v<~Z1x~}U|I!eP*axT+{bt&!Jbtw(1VL7?t zx7;DOtGL_)U6(<>^8*x=XW#+OBfQYXvOZBs(F=u{*w6vVrYcS{bF#f3Q=e(3C+*GKsgsg$e@pPpkPnD77 z>XB;1GnC5cs>t5JD({&}MdF55W~3VRETyu#D$+Ty8uQXhMJ9(9)5Xkd1NZ5g@{(_HTtSBL?ds`*%aIxgXraCn!P_ z>lTxqRkAKLOeY!kY;UU$%`>+#?|C=~K_@I9U&;Z0@ghqoPps;znBeR3NdAsJxI$x2 z`L_geZVyNE#{!vm(9!&zfjlDeTLU>S^4kJ=ROHD(9^;gs;;@Ie_rEEEh6`SB)sSKX Uym6#0+js|OdE08dT?$D53*zX^ZU6uP literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/request/coin_swap/trade/SwapMatchresultsRequest.class b/target/classes/com/huobi/api/request/coin_swap/trade/SwapMatchresultsRequest.class new file mode 100644 index 0000000000000000000000000000000000000000..cceb81397e6152e85baf40f64be73f36c4093666 GIT binary patch literal 4036 zcmcInYjYE26n-|{&2ExSlLiVzE*2=*D^bJ?Ddi4YZ2>8wT$FCpwF!izBwKExGtM}U zqhIusGyVYif-^eWG9!+Ie!v<306#!~hKSGE-6Wf`Rc0I+IPZDS`<%1q`o7_}zkc`$ zzz)2x<6ImHreZK)37HmB5Hcgg*6~i9>#UGs9P3dM?!1r-Ldrre%0Wd(HI6P!8JLsx zl8~B#x&g<)yn)LGu88capr>?PQ?Oz3iZwT3IfY`)uFsd9`f>Zxyj^$p&zH(Gc1?jf zR;k#v17)jTx9bXGPR*LJPh6X`6|5LPZ(X)>Wveoq8>=|>tX&&X5HHkh%drpgAGHhB z3N;GOf$9vmnSjQmQ!7=cjD1ysA^c?NIJ&>%*`ELAJiSZOi35SGrexoi*p+R5HB&3zA8Tbd;cvYJ zoAtKPR`rEM)_+n#dct;!)tO^f&AMnic8wt=soLg{?Asjb4qEg55o7Yvphy1J^C-%) zT4maA(>^+V-Yz&J{ihWu)%G6pj}&NCrzqXpDJky_^k~XGXp^{*V3VdjOivi_rX91`yUKQlCCWgcu{tGc3Ohuq+=B>OjvVn-*DdD$utU9<&flqQ&F_)MXy6U z`ufKh?y=)z6Ni`&@=j4G}31xrkKAU0Eb|Wu4rWrQ(`K z3{RntuWLVdJ;ci&;|`Qlw-NbS{b?g}@lKdwn>`liXPu1Vf8OgRHr?s82s&G!cfzJjLS z8vGf?m(V(H4c>(@F*LAKs0CnbL1a;=)*_eRhJ}8!r2SBNOf}m91%q9e6 z`XF)*ka~-ubp$5V>$eZRkemH>AA7KuIqJqQ*vF}ju&&=>KV_o(H4czd@e)46L2?=< z@Cgo)i=vDRI807Q4K@*bc^Q39$;;$o_=0qd|KeC=4PGIaz>ipqSILwKHCtt$ z+bVo@D3VtBgC-0b`ZPVVOC5C^VqJQq$aXN&gEyfMFCsl9ax<^WL00uo3~3VYD4EyX zBld@@WMs9*QD;8t9z~l+>>5uimDk-PHjJ;OyGQH7%X{2&(=TraKE`oOG6)SH;RLw| z3-SS8XRIB3#)~*fPG#aI@CG>zr+DYSNiGTptGSc%O0j-N{2>J@i=`+m5ESJhO|ehIWCOl1GnvgVq@}=q4TLeb%HlE}v|5xV^a%@2CZ)3v~ Ao&W#< literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/request/coin_swap/trade/SwapOpenordersRequest.class b/target/classes/com/huobi/api/request/coin_swap/trade/SwapOpenordersRequest.class new file mode 100644 index 0000000000000000000000000000000000000000..5afe0204c9ac4bf59c4e7e9404e925e35b07bba2 GIT binary patch literal 3989 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 literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/request/coin_swap/trade/SwapOrderRequest.class b/target/classes/com/huobi/api/request/coin_swap/trade/SwapOrderRequest.class new file mode 100644 index 0000000000000000000000000000000000000000..98eb45c5c179721431e6dd423f06dfc7a098b837 GIT binary patch literal 9289 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 iZu&`iYRmwF3A4|DzU_;7H9iIqX+xXT# zSa-^{S8^+x2etBQb;qf$J6|6;TB=l>>U`O*)tnlq1-If=?SeP&?l=O8 zPpcC{qup;7UQC6>9cTyXcZ#Y1r)GCF0&ACv%c&Tv+j~yIn;Ly6 zAl%a|36}&^*DFebb;*tmx6#U9YcpEDW0PAQfzQc&!?O!ty5@RZ1GxQEq(bEhPUICN19 zCuEN-^kd6HAFf(R;uV1}U!I=-g*XCpFQ3T5ZA@6Wju8vvQhO6A3ptRLeeDEnJ{#$a zFiEv`d&a`2_>7Q_4TebjmIv(1sD%$P!fSYvCZLZ1J4k|R_Q8QuA<@TM$r(N-XRpV} zbvotWVC$Ld)bPg;U)FBE#u0wmL|H4?647Qzi6%*di7@1!lsc;{X42n7 zRgN>iLi-MC^f>biwES4Q4&9$pF;>Pna4D%gL)Q_k@uX5mtl?qiRJxcsEvZT$ z?HLkB=t!zbt>L5`Ggq{wTS3wHf*P7Q6p_UZ*4cv%++Q1$VhJ zNlhjD`tc4m4ev7kAY!`l7cT3#^&GuA-s8^@&v7+SV@)u!1VfQ`JOtx5Q_7a95(Qal zD_L6MRhyNntWQ=d3CoV%^x@?TL6aoG9}J;V=HgS+%8U=N&(m%fm8 zGpERfq!O+e5?C$`oDbM!5H&0#id&e*40Ec4VU}8i*YgJ6=ReA;(}xeJDLy#&p}e3$ zAvi)15D4*tPABt-H1t4iI5d2e(g)Qzu>>qj+8hHQ! literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/request/coin_swap/trade/SwapTpslCancelRequest.class b/target/classes/com/huobi/api/request/coin_swap/trade/SwapTpslCancelRequest.class new file mode 100644 index 0000000000000000000000000000000000000000..c269d8544805faefffba34aec3f42d71a8e19644 GIT binary patch literal 2414 zcmbtWT~k|C6kR8|Ur8?|&;m`18ZFv60+_{C92c+{ zgMp7^xMgA~4h@SYZpXP^mf?=r+!g7bNGm4p$6;g9!pAbNS}0mr6LHSedK>3-98Ti&g9wYK9n73`II-EA(_oL0+iaanHEy{1$4mKr;*!szNl=UXRV zbLzYKlGm)(cjpw$Mw3TZb`*^HYQ5^+RJfKtZFpLfd7z*Lj)zyPb$6}3x9v8!ob8$) zs!?`o51eLI)}d1KDpjIdSS>g9@|AXDyP9|QtNCVdiF~}~g7o$~n>dOLA!Kyf|N>B{ZbY_JJHa1s^%Y;bTXu7R-%~Kfa zi)u}EBUoM|C`ocqYP6eW_fAy`>GHsYTo=Y|B=L!jaZK2_gb9UD&rnzYn|Ot}Gq|?# z4zf0`V#-EFq}N4y7w;)d^jA)|ldlfEce*!~3pO@UB45*~kj4e_ow2ciDR#-R>!2(Y zm>HIs;q33bb@uzrpc*_?%bnWCt9+y`@L`MakDU7wY3Cg0FNw?4U!hdw9OXQmeGHY& zJwhZq{Rq*YsES~cqXFfQFL6u-rg#~zaK%HuYuO)`obp79a!ev7s7N429Iw%VL`rd6 zKGqXxpFM{DBV|6396KSDupV0HIg4XG`!gb9+KVOzL1PC7AsQu#8gMw;e>gty@Ef?s z5Q4M7S&$k&8~sF>{^{|+qDzDk5|QFLUHR8nNDp>-irfEkDU2$gQMwd1l@w%%@-NON zqg8U*AE0Z8x!+)X4?TLAdkUjCojro-FDY1S(;N!g%VpsV9w&k#@*f(VlDtpzj43x;#{n!!&V@p@bP0NrWl6jqB7!iToz= zlr-FBRotMYv-+;!O-csdqW=_Pru8?@n|S*<#!bxfYpLhB6o|1d899=nNuP#fe87;B zGF?~@q`k$`ORwHVsuQ0eP02BKmrpOdoGK}TKj}i}Tu98#YYRS!lZm+sDYO!~1DG>M zIQNz4;{{DNl3KW939;Oo98B13;5CF1WxV$x=yl$vKqsTVXlUPnYR2EAj@vC&SdXvTPabi$i%GNv?I`Uz~d<2f-?2Mx?b;jS|&+yS&*SdkW_zz> zH+QU3%}drOTeU}4(~)(@skv2$xRy7{jlEp8-6%OZYv0K={b%IL4X6HPi;v6^b;Zt| z^2qe7IV*LCY9fg3+T^vL-%Ct8gkh6`tH&hA zT7%~%hOjN%nvCo_XpkkV#)qDWe^`3V@-3u4S5S?UHSTOF=nc0j@)#5PX9h&!?F~3b zy}&+Y#Qdl}&q&d=%3l{KNU1Mn?MXCTw(4sFQz2ZnT2)^i!Bl#kD7LoO3u}Z)+i2RY zcFk278OR)+>B|vz8@^5zqQyqLS+?&wqOGfERp+MAZz6$DO-y3S#AQq=d~rUt{ht;T zZl5oKiFc7P@djp0q{VtutoQJ~!qlLidaZu_EDlor^<6TtjUuHqo9ywr#1f=UEMbOi zbbPVX}Q!?+i1zzLV>>|H_0sdnJJc~u(9OYjEuh4&mR)KSn zb1d@|DwBPJKxXy{f})rk~JsP9DQILpO)=4S*Xv>#0bg2wa%I%t$sYslf?;Nj@d z!`E?xDFkPpvmiA*HU^0Zd8a4+h#nC}hlnK4>B@V)LTdPxr?@@qN?}xajPgohQ;8}& zDF5ahVzz2F^8;UFmLOVjF z8xhUx42kBAgf210bBrHgB%vpaZjg4!T*1C-`JnIn7%`)l#=Pff*|b|OFzAO52;Rkf;1_|*j*mIY<0Rs1b^`gopV0Eu&6D0Bu>W{s-!R+ z&mJH&cZ3UHi9edxWFw(PP!PzeEjHiUb@Yk(rBq?Fxi$P2A0hU^d@DcII2Z#SXVTmsx@*mIk?1TUS literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/request/coin_swap/trade/SwapTpslHisordersRequset.class b/target/classes/com/huobi/api/request/coin_swap/trade/SwapTpslHisordersRequset.class new file mode 100644 index 0000000000000000000000000000000000000000..c4e25d41954d1c90889d50c1cf5c376c478e01b7 GIT binary patch literal 4559 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 literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/request/coin_swap/trade/SwapTrackCancelRequest.class b/target/classes/com/huobi/api/request/coin_swap/trade/SwapTrackCancelRequest.class new file mode 100644 index 0000000000000000000000000000000000000000..0db73860d7b77de8036bdfa93733f63756b03967 GIT binary patch literal 2423 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 u4GuJ0 zp7WhE*Z%8&{`eYzd+;+Ioh%e|v$zXg6FEF3!_zW6Bg0i0o|WPAGJHYD7qgtdB*T|Q z=_?|ARfgwecwUCD$?$aiAX`ljs`ww#+XW_>O_^iugSPFB*8sz{>`{Z{P>A z_d^{&QZTjtw6}Av5P4w@z<+?Y7_Mvf6BP zsL(mxtoaIx%a^>TyvnxM*sQE~TJ^@}q5`em@j6|CO(JXlxvM)wjwO&wjgG(Rw+PKv zTfW!vALRcE>;z=F8JIG6yiI?pQS+ZsV2He4f0js%&UQ{+RiJOge%5B^maEMxm91`b zqh9fL>XlY_lS;K&Z#>@SMJs_jl>_fQbKpr74LY0&?_F4~H~h2RD;s|6oVT$pE*-Bo z>YbAco|{cvBZ|pe?!?hZfP&j6)+vybt>|NO=Or)As<(aKYt_ZO$i+-&tIn)E@OI<$9N`E7AG>TB{ zXtc~TVb#kk>}x`Ow$h-}8C9=wMk2{RvgNh6!ZIG7om*m{R@atR&M=acwU*!RZg-f* zf#B#faU`-ci96?Jk{v8NlemT%EW#^LJ95wHG{ZV&^ILCrTUGy|y7Z4b4{SbnOARTw z`2X&17JsUKY~ejPW?@!_Ig~8SqikV8q`PIP;FyB@-=-@TYIwwgi$x1(MLI6h37oWW zKR#mN0g+D0a9R$0JfYyoU?=JQLLECWaP`U|CEU@ zPxVt8VtPsCGFP68iO7{03ld9NnX~XDq&fCo4U16$iN>PWyqz7tQB$yx>dIW?qAtsSRdkH<+1V&f_rgUc8TwmiKct zMSc0tcooWp8yNa6Wd$GLsBz{#$9wQWq6Ga5&Iadl=>~>N^Sj8D%DYfY3%k%tPG%Q+ z$x(M;;5PEba&RBQz03t( zS|K3vQV}wzD650YR;n_KAVpalRL-X=vv^XJ^+Dy4RAm-jin1}NTu4=Bv8E`SgUWWQ zGK)M#IXkF4nyUOD&P2R(ISV7SfOCV4G6U_&5Yc0l7BNa#p(+6@6g-q}Qa!9mDK#Y^ z8chnx6nqp9r+KLz)}(N}XHqz;U;N_OCRW&4C|dgLSZb2Bu%62ZqxInUqQ`WpMM>>pF#UgJM8^)JeLW0bTwlsGR`Cf&dqT0; z&F^J!XK)ki+#6m8B3p;pn=gCi0*($eFjG1mx=jNTFH9BPfbW^hC% zM_OiZbTpk(PlT6?qA`ruu!${RU1h@Sl;rX^aETEb=A-AAq=QiEB%UXQgi;rXxk5=p zhxBSt((w`l*Q8|N*EoV5N~VxO*~G}3+{lm&ib4WFQQoB4{(49@CZNWE7?at*6~VLw ztdAVrjllYTa37y?5UCiqsPwhc&mu)LO|h?g;Blm$JwUy0;jIuf!u0W_9P$@0GKKQQ zs=bOyzAldxZ`*?-H0D%%M<^FWzCD!LgN_#O2<1_c?+oRl$nOm0F_EW2d7M*mn!_I6 hHTb3o3od-Y)gp=wvExWtw()Mx@(*`>^|No8{{?;6)@=X) literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/request/coin_swap/trade/SwapTrackOpenordersRequest.class b/target/classes/com/huobi/api/request/coin_swap/trade/SwapTrackOpenordersRequest.class new file mode 100644 index 0000000000000000000000000000000000000000..6824860daa01c6fbae70fabfcf518d526dede47b GIT binary patch literal 3563 zcmcInTW=dh6#mBEo1L}eq)l3fLQ@DdagrKJxzuS&Xz3-8q@f8dEthuVY-6X6?b;4E z@r-yv;t2_fS0bT4Kt)oCN(f$x#BZXM@9eIfjq6C2DxzrS%$e`ZoXdA+lfVD{?RNmj zP&08U4u#8c4B&DM7T%ZPiVRm}_`t-6an2vf@Uft-iF92CM}{TQHG5 zYl5gcEADi8+5Jqx5_zHc1;OT0^VS=~BQyERTDGuWSt@3oYB5{${mSMm#qzZ}{my!~ zWOol?X!orkI(nk{adgiV%kJFz+LBvabe2l=#W+zc7aJ!P=7vKd1Tls*&7dAnHF8OE zR>?c1OHQpQHwD*ejY5&>J@v#w`ySf9g-vAWw*D}zd07(|zK&+H^sh6>45!2( zcieJeY1Pd)CPuC*sLD>F23rbxrBM)$_ek=G+L-O_wJDPxFhuWe9~IL05aD#d?*J0g zB)n5Z;RlfP57|~E78>lyS@xzdgl+G2tCe@kXCzeiOu?xaeC9@nN2VFc{Ke_nGYplo zQFH6-rG`SH&HMOJ$j|st$fKCI@V&7b6`$n_@rBBIE$^N!N<$pny`7E-krbBx|BkhB z7-btz;~5(VF=*qE49{XvVd_b5w=s>Jjd2{Yaa^Pn8}BIWYwwxXLpi*A zeul%;nzT_tmE0d2Y?Z^)-STv;s!S?$jSV(Q!Ic`Zv4A7&?`9lq$S}S34c4KkkvjFXdHic+bwY6QtL>cKYU93z}1(WyO@(ZqnRI}Yqv-Lg!Mi2=)Dtq>@gixHH}#nUkX#RE_*9dClP+w?jbYBWFmsvk|O?sqVO6AZr(KVXv0 z7h&UngOk)niTN6DP||P?H!(#?$1GgDNy%WVpT#LkCTiR}P07Ny?7_Dv#qb@T!Wl|& zqQC-mo7O)_nmG3W{U*-y*HRC#-xp)Mh)wEDu+Eyi^Z^@>(_taFF4d4Y!%ZD7v)+nR zXLJ&0!0$13*Fa6Z|5}GNNd54 zB?b1k5;@)5Vr@MmE3G%Tk~zcMGFn@#IIRwJF4B45m%#Zb)-c1w^DhRLVUALSX}y69 z3@FN%dKUAPG#2eB-le4D3ijb5CBsYpPp}?Rp)vVNG2u|^Aq}_J5mEF(ZvvVaZKo=L z86nsM<#FWXz_>+SdD rgvk4RIVtjf%3DacKc7B9{8xV}$Z-UV9*y3^0nYL-9sgh>g=7B#hup#` literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/request/coin_swap/trade/SwapTrackOrderRequest.class b/target/classes/com/huobi/api/request/coin_swap/trade/SwapTrackOrderRequest.class new file mode 100644 index 0000000000000000000000000000000000000000..06ebea03264a8cb5961c8e959cd819129a03851f GIT binary patch literal 5647 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 literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/request/coin_swap/trade/SwapTriggerCancelallRequest.class b/target/classes/com/huobi/api/request/coin_swap/trade/SwapTriggerCancelallRequest.class new file mode 100644 index 0000000000000000000000000000000000000000..232c1ffe9a2058ab0493729b78dbe5f2ce564022 GIT binary patch literal 2940 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 literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/request/usdt/account/FixPositionMarginChangeRecordRequest.class b/target/classes/com/huobi/api/request/usdt/account/FixPositionMarginChangeRecordRequest.class new file mode 100644 index 0000000000000000000000000000000000000000..c25db8f07f3ef8a4f393e3d4d7543476a5eb7cb4 GIT binary patch literal 4536 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 literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/request/usdt/account/LinearSwapBasisRequest.class b/target/classes/com/huobi/api/request/usdt/account/LinearSwapBasisRequest.class new file mode 100644 index 0000000000000000000000000000000000000000..f71a734bf417fb39b57ca428c141d0201a6bf774 GIT binary patch literal 3499 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 literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/request/usdt/account/SwapFinancialRecordExactRequest.class b/target/classes/com/huobi/api/request/usdt/account/SwapFinancialRecordExactRequest.class new file mode 100644 index 0000000000000000000000000000000000000000..113a69a86ed27c1efcbe87887e874c55fd10e8ab GIT binary patch literal 5563 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 literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/request/usdt/account/SwapFinancialRecordExactV3Request.class b/target/classes/com/huobi/api/request/usdt/account/SwapFinancialRecordExactV3Request.class new file mode 100644 index 0000000000000000000000000000000000000000..a0f704981f492b2cba24587883b95c4f5115c097 GIT binary patch literal 4964 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 literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/request/usdt/account/SwapLiquidationOrdersRequest.class b/target/classes/com/huobi/api/request/usdt/account/SwapLiquidationOrdersRequest.class new file mode 100644 index 0000000000000000000000000000000000000000..677248d684dc55f6083ed65505e553f27edce5dd GIT binary patch literal 4532 zcmcIo-ESOM75~k8zIJ!^!%m%aXaKi$U3+bJ3zUzJlk_7^8iSpfIE1tm=y-SVPO{nE z?9TR!k3tKyR7k)R2=RiDnwLnl5_Tn8Rq#?I9(h9Ii6{Pvl=3?>v%BN2>G;&bjXOYEaX|71ql;)~5Eos^YIyv^&r0M1`gPur% zG<|8Fk>*)xo|Dz*4ZM)UA^0Y~E&X>)eAmSHM10Z2_f7o3#7ib#mWdyVf^XnQ3hv%~ z*6pnM*ZO|l4g7ZNT(|CZd*{7teXkch+V`6rDzH{tEw6jB>GpbFkHcEK6?ENNaI#(Z z6ilsMcAs&pO}DjO-3+>ZYkNh3+HrkqW{InN7oP7BcPN2dZ3W)8*CjAl>w0eBJ;p!6 zJMOl(+NyicDKJIe^k3k#u{H2ydwyZ9*1lS8^xIp0)$RDzZscpV->U~zw^nQSTS4_! zyPCb#V!UP9K(x8in&0xy_OEVv-3#tklg^a3J#IW1fZOO)N(iRb+BLU%(e3)87;CFR z!)FK|`KY^~hXx(l2%~IKx-bg#^d5gkp)QE$iD--3#wg(Vco@aJ)EnRC^!)x^E?iVl zUiX4VyT0Le-K$DahxNzJ(TsWXQ+E$Tyuicbojq9+%E- zUG{3h%EFThl=fa)#!CvccF+(;Pf8kQ$9NpBjZJ1lU_|Cz1c(O3a3MkOQnZ?!i9V9p zRXP4dVk)we;C*Z-F;j?r7#xSmR1VKZ=RSJvH5NHSKA@NAnkw{=Pa#k16KdyR_#IT+i!HXHAIHnFMvZ1TY72pJ|R8xEornL#_M1+;(6 zZ~4Iq1-)eQ<4UogQi+)XLH_3{VODOl-S5`C)4m+uJ8yOP?~_BUfHma*USKTL@nZ{j zW7fhw(#+vr3-i(}NK?VR3Lg51j#&6A9I#-q2)4g8k81oL{Gfa!$QE&QfXAJ@Y-f0f>&Qsv zC}kvhVbA=9JyRI=%wpIxk?g0axrim+`pX>6P)~l$x1l`o7BX*8R&XC%ojr(EBx!5~ zU1cw`TICOz5NIX=&Er#?u_6FIjn8nTNS@h_E34zmR;n`jk)o`PD;H9g$*UA)eO$Si zs!TqnC>!I-rBr3|I7QhUS1zY2J6K^@C14JF$&OxG+`+_~l#<~#LhZv5A`Z7?P1vB| z7||NvR48+BJl&*vP?JKep~-tflPB;Hzr4>&?Vu)wqeGK(p~;8SP3i|VDRdv2oDWSt zl5WyCs7X0FLz4@k$w$*ong=y0hj3`J5}IT^jAEHl*_W8Pn~Rm#p{X|(|BURfp-tRa z{1dY4OO;*Z!XbtH*(ElPy8IX9ZS_4&UWc`8tGloUh=QXLQgC!z6O8^Irmmx4Yqp*M z6&-`1qGQ^IfXocJc(39m~!O$cjOf5}-+^K+vR9 zv;+ODnj#3W0Y&ZCq$2)i!U#4W? zAFR9QDHZTf+<{F>MO>i2YnV37n3W_-{d zS%eTK}wnB z#p^JZcQN&}%oiM07Hlv0^q&aisg9%T#B)`7DZ9g_js}c_dtV8;AI$ zxNT~B7l(yh?52)HazW(VBbi6vp88lMmqflJlFK3=jpRv@KTdfUpBTSJqXH4VJ1)gM zQ23_x=!aZTKV@&QpR2ruPli`%WoZX$WqF717+c-p{c3AFFe5?>bD5a RU>kR_m;cT1KN0fU`wz48ZDjxe literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/request/usdt/account/SwapLiquidationOrdersV3Request.class b/target/classes/com/huobi/api/request/usdt/account/SwapLiquidationOrdersV3Request.class new file mode 100644 index 0000000000000000000000000000000000000000..5d0003a7dc45d5a7571a062ae61f435adaa1e77a GIT binary patch literal 5023 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 B@C^U} literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/request/usdt/account/SwapSubAuthListRequest.class b/target/classes/com/huobi/api/request/usdt/account/SwapSubAuthListRequest.class new file mode 100644 index 0000000000000000000000000000000000000000..79ede57973382134984ca02a4c924349f156db4b GIT binary patch literal 3898 zcmcInTW?fV6#jO5ZZkd84g&>7K#Npur!9ks7p9<6E?R8?DHj1RoK6qSz;ve0oWZ+^ zi7`fB^vT2@ATO9`v?UQ^&<9NX1N;E}86tk`TxO=_poGNI?7jBh-&%WJzIAr_{qG-t z2CxGkn0P%2g)>QP!kGjTaAcU3p(w+g46cc@NzUhFC<(MI(s>y!$WW1CUJj}zYDr{p z#=?TkZ&;|y+_2zTXj-^v;Z50i%f#CXn`Yj07G|2WdzxNps@(97xNkJwhBwhHSLWQh zf<0NSy7j#kr_pd53Pz(jd#pUCkeNE~Ty*jkr+O|w9F( zs`UPxjNcB!p^Mty+8n*>n<`h`gU$I_w|>-_t#HTKRj!u3rxi{Nb$A|z*0JNq z@-OQ<+xKX%a!51npY|_vE%n1GowmRyI!d_ci5>r^RDOCX)tll^;lQG zSZkQlm~z3>DTaNzDGJY+`d?SUHgogvCoV+IRKGq)&pk1=GH4btlZfOF&72 z+P87hx{Y#ln?X7_6^6L%szbBq$*A$+QwplKoS)&5f?o4VLh2sL`Cvq4+uv<1dxOKa zt9{{ld&l-6EjFhDKx-YCk0>6RkCwq2C&)2gVDMxC~Fo-jgC7!HmMXl}*$7EZ!fVlc9i9yKTIS_sIFtfmZtcz4w{g(SfiE zyV<0p13?`EIj96>HEiP*Y-eM)JqTE=z`CSY>uXjIy;- zxi41vDePosBw+>4l6%9i=*rqzzV_Mx(W;%nGDz*VNurfs6GcPgaVGV8-3cp(>13vT17vxf1P;bG?ngX&ykeRhQKz)S-L4Ac}HX)#72ufs=9iVif zhoE%9&h`k%4ndS6kan4&b$5I#f*gGmgxuoW4eY@LbJUMtv6n60#rFRm`?x2%-(Wu_ z4bS0o9H69Q8lQ4C!7ok)7w|kK6Lq+lq-5a>qF$hsz?V$(il&}-t*O{_I>n7@{~iS>b)_-`?4l0D>#CXZX#Bs&?8^qnphl{9pIs5+^l zx6+_9cu7Opc6)vH@h#*QJ6Zin6BZ49mLA`w?e+<=F+E-)9jx@oC75GNSanABQw2>9 zvRZgz2}y#Z-h%EQksrR2mDQu8zJlQ&8LcC-CeTV3O#g_43AIfBXk&bNj|6UpadqPp z9K|sPq2ps5r_{xQe25c_wVSO`!poF2w%IgJQqnnY$0tv bcr&NMl6B!#pRljt0nYM2Wd5~;`;qtu95~wn literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/request/usdt/account/SwapUserSettlementRecordsRequest.class b/target/classes/com/huobi/api/request/usdt/account/SwapUserSettlementRecordsRequest.class new file mode 100644 index 0000000000000000000000000000000000000000..c6e1d2347489849174c519445691ac6f0a88a68e GIT binary patch literal 4140 zcmcgwZF3V<6n?hd&2ExS69NSzs09o3mH4itfJ!M^Z2?ZN_mN z{i2_o@dwBkoYB#i8F3u+1J3vd_yPJeM10QOO|ng+v4GV8tcuN#-3p#J&9Syr@Uw4*H)ZFT<>v<)2(Jgy3ZoX2Tug$ox z)!mwRuwE?9yHySLWV!5C$4gGF=GM5(SIS=1$$R6Kc~?Vv>YQ`I$(Ee*LUz`x7Rw7` z8lpANsd~qYiv*-XfT@bwHr?{PzZqR}7Tn45y!(cRjUnJ<*>e}%DqUHEm@U3VPv%@B zq{_hHRKBv9Ez~P>#jLYb%vSxNv-R4%mv!>_O1#4>CeRI3@nURk0nNJLl%TvBA?Cw90Do23s18 zidPWcZ;;ybx3OLAwJCcPFhu#Jj|ypQ1!>Yg;RBj$-$SSu0uLcgLU|B{f4&~yMN5%j zR`chloh3yrULLB=t-Mp7kW8?X3Qn!y)3|$JaFPc-HZwUr!Aww&RNY#=9WK@% zI)>HX3^~>x3NES^eqfeY@$UgT-B&CZy#pG~gliVu5+TN@y8p+zQRNV%p;By_t<jCNqr+N-v8XRpFHIzPlA zpNI`Sw(~i?i*K`mE-4kIE~%E9Sui!TW@={HIHwTB00#Mr4{_B;y!=>Kpq;vmu5T%8 z80Hw^4452Q9*%;}au%&I^aHvD+7*Jvv4cqA2jfV)aZg8MGOvTN*>0TdX#6N1V`k*cInI*c$k6aIy1%0o&X}dFH~WYnW0H6& zq=vmj8yXiWE^-(nY>i9(R$U4wnl5)Jm-{-qG;Yhkufrn5Gau|2}1 z0GSyp1nS8}3F^tkGEo7=0#Gy)3xSfkI6=vrorw#`4nUL|ApH`L)*b3lpKl-eM{e@% zIu2r-IqJo)IK-~);!XcOCaCKs;l9CPN;;mx=lmV#MKg_0@ie6fN;r>6O8ko4?}ICcY@O+3ecmUaVo_+oT@ zvC$+4Sy){jlYoAEc^>IILn%u-Ttsa}npkD9z)2p$z{hx=QWp#IAzt8FyV<}6oT8+&$)<6d zlEL)@I72A{4_ojeB~uma55#U#p|e<;#sWdpZqh|--6e`%7!5!Jqpwy4ut*5jLbhuI zu(=xC!gtsROsq8~EvwFZG-R6itos$m1*S?KyQwSKz^5^t-nfEIQg}}3USDRfZBB3T z<%Gz0_;QcP8DCC{d?)1V;op|a{vFN{&V56du}!@pLnF)3 zhentA250nTJ}eny8EbCCsCror__j@o_XRHt{i%-x>5xA8u45fVlIvGjlH8hxYK2~d h8!5t51f~c{@$)amu+9?L1qb(Vmj4srw>s`d^dA&|ItBm$ literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/request/usdt/trade/LinearCancelAfterRequest.class b/target/classes/com/huobi/api/request/usdt/trade/LinearCancelAfterRequest.class new file mode 100644 index 0000000000000000000000000000000000000000..6c5fcb39fa4a930ea539aee172fe7ed86b04bd71 GIT binary patch literal 2458 zcmcImZBrXn6n<{9Z&{X-Qr==~i;9|8;tN#?P;FD%QVAd+T4$VbNfweC65MS3G5!Gg z!UvtP>5QFm^h=%bH~2IBXsyrP-GqSQOJ@Y;p0nqkd(Ly7bM77f_~++e0LZ-LW!=Drfls8msbfpv+G?%g z*ly8ol%4v`Js-+kzmy@k{l0-`BPK1m#I$v%5k*?v=&J`*;5$TxPsEPt!l@!??e z*={ULP^`Xcx2i$&qRG?>b8c*|l$HsKy5>5qcAbNyb<-I$ zz0ii&-16L7V_#tG6mNl*WSd*fwp(`Y)Z`$%eBKbv%EAR6{BPrF;VQN*Ok&DH0#gF> zFPzH4d&pRr!Rr>%QhP&c@8bi3$&>yC1oSTNxz{`CcXY|Zr`VCpXQV7U9TL367NjiP zz=xdLli0y*2(Ve4GtE9cbQ%?bT>of=4d|ccQ;^u2Q~upi>>I(;{&?5c@(iG`Cq%*7x?Yk1ntNh|2ABYS(BD=~HuThUld~q7$%)~Zvm6`IC(p63W1Vw`C zk3Zzcw*rSSzL1?Aa9BNi*cy2FO(dB@W-d@lPBg#1v!%uS(-VP5uQV+zO%|kbvixFF zgG2s@t@A=kj)czWA&7{AFsvKv2gZ3TN=yB#(Xr*kr1Kt0mVytDk z6qMZW7)mHlaq$RNE}?V~>w1_4l`dvMOQ_OEdy3H`3@6lt)^$>jnJe1Y;sEr$07H+5 zDzeBC^f`Bmh_4#}8jO4%}1vLKQ64@*D2Y7ePOd=hEcv01-kd=_YuL+~d< zsFa2H!lJU|lXxY*P$h*%JaYs+*TK+N(ry+Mxsg!99YYe!tt*2Gn+u|bFrs{j<~eYD z!*Lx8{^*$`X_3&Pgf@vKYKl+JeJIaqP)LptBm_b{r_;%IL>k7Sb{)Dt%4rkbn2(QC zSm`D!6|6M*1Qs8F;n52nUT+Re2l3I1fo@8DlzIo3&R(a0-rz1K!@45)h!G>Wi3v*i L9~d7#VvGF?S~%o3 literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/request/usdt/trade/SwapBatchorderRequest.class b/target/classes/com/huobi/api/request/usdt/trade/SwapBatchorderRequest.class new file mode 100644 index 0000000000000000000000000000000000000000..8671a7d0f20dd5609dea098905dfacddd343c883 GIT binary patch literal 2256 zcmbVNU2ofD7(H)d$4=(8X|}d>3yiS>P14SMl(8*sftGeFq#s()5M1FVR^yQ-!Er$R z3$FPA?4}n(f=pr(f*X+dO~5#h?Q~gF&}h}ZACF(3=bYy`e*4GYKm80~5xWMKGf-Gb zL&G};-pz1+PlnYDCa@;M`v%rCNMpsshRnBQxNTxn<`3k=ih&Om^3|`L&Z-mC8g0Ms z`ghzfdTuvZ?Rib^6s*lw%k|fqPPglJ6||<;4HUAKd(M}R-3z>?U16lGkgj_BEhp&t zuEP4U$4ix3`@nAW+IybubUfRSlGwd&J+K4csk^qY*cl>FULmHjH=yzHT;bU;MwHC{ zmpriRNthS&tASJde9P&C z-QZ^t8r-Zot#!$%U^bj?BkFf@uCPhS-8-9G>&(e@%6GfHCflvYaAwf12ENzYS2#cD zO2{aRvRSDmujK_R3YluV=hxf~PmFWnM8{nf2Pssa=}Y*3F1BzJ6$|Gvsc`Ld_!eHr zoP|7|xA3a0-oTp*)1m8!G#_0H7f;kUCrw$lu!U_Ic39Ygh3mM%8{-L7)N2K{K>Xlz zI&Q13urTb0xWw^yH_Cv;f9m|eKSREWAY#U4T;}aK!P`?IA(i4h#a#l^FnJ+9hZ#mL zF!CZ}@?$=N`s5)J54cvi$T7tk$Z}+vcuG#&+(}d~{(z($O$;5);RQyl=m0Je8gbIg zjJ<>_NQNL4z9mUh#nO*Re$Q2M2xTlpnTk%tC_*L@G0W3Y28m1)_hm+OT9!;Bg|9Hk zo)SP9Kj5r$UMm&9gRUKxeuefe^yFdb7ie4a#Xj_K%SCE?p2JOT;dh*w(SF0keOL=K zS|3JuLOUePDAUCV{)p)s3Mi7oB(91!jys6 z_-h^sDo~InHjRbcAf{AJ7X?CPxb(wC(~qd=Bp_7c5|zSc(&-FIX}%$Z#`#jVyreCM z1;}U14azsOrTZ`z`Y=CR&Yvt>MDW!(SCSrC#9IW`34M*L1Tqx(b|_oKUP0n9`=wE= zQWOfM9Q!S+aQEkE&m8<8Z(nS(}yJ_`#75$i7N^2YqG2-Fouss+K^>aj#o`wOCX6$7Ouuz1ata(%~Z!4r%?mFK%`HEA$ zli&2ca`n!RxHw+j70D&Q^twChoZV0gdq8K5?g4YDK4V z-SNs|6B%lLsmzq;{zIUQC&gzMI;$}xs*Zvr>TR)&PWFa2b)BA8UB6V@UUxj_p6k0F zV@lDk+qtMZoExmDQz5#;@!Hm1x9HDL-BeJu&NfC@3VO{i1`TC!d}NGr@rl}x^1wt_EXj#ZR$6{7BrxsImaAp|yuz72z3A;uuSWWn*sL|YqPtWU z_Ko#W_Jr_H;qw1Te;bSV+(rgRY#fzk97hyp|NRR#=5fNtt2l0BMx-}HdQ+COIHz!^ z`?J%U6GwXToQ!yL&c+w`lAN7B*3k&M8=|VM`_!l@8z0~}(fcojv{YcbSzW`~*>S5J zKr?+>)cfIX4hZICaNYrN#H3J^Vp6MMXSulB7{E(-nS=Hfo{sTe{;VfZHy$JQ17$@m z=tprK=E^#86?C4vX!Yz*hzm5<20e(^sIfx;Ch$5>N=nPM+gR&19_ee$mh>^!yNyTt z8c$-1@yW{t?vkdF&Fv!oBc=AZhXU)d5D~>K=}Y+(vPA2OhZGOF{w}o_bt#=_xjY)U zobK;Ze^Hmx)RxQfz$GcoWSF=*&3%9gJji9ghps)!{RZPZ=wdd6r24His-1`Afk6p$5x z%#76pX^$9Cyp1^5 zyoa|b8K{u3?@%(~k^1javT&Mj=3txFpEzLR%rlIcDDdA>&u};t2inDE+w&}_CetD; zD9$hE#jD=N?IhI4LZ7(nm?A8U=(2-8#s>(3`fU0i+F(n zC2$$%sBc5XZ%efK4&*c({!C-7&DoB&pr3K=bo2m&+cFU{Q4V!Be-K?J`IJ7 zDHymU!-5QpCN8HrUy)%cjh(nE(y|OIvb<*EdKwvAv~WY_&n$dy;iiRKvid?G7fsw& z*t_!3S(|g}Ww++kYRm4oEw>q*ZF#kd>nqsv^}6fN)tqM2ZE{&|)C1os2Xl>ztB_r| z?|kPJYfk-MaV7A*`n_3&RK@e%a^N-U3P$7Z-KHBTn5!L&*C(eI%8dubYOAs86`eJ& z=tp-JTg^&Pr1gqhjPq$CPT6*p*J_bVLknKrz1(`R>iXB5)f$}~y64i}Ubjc-LX6|t zg+|$_-Ee$Q4z^EgLDgg6$6n88`epO_bDJ4Sae1Yklp&^Ot7l`A+Z~&_p)kDY2GvGo z$?=^BZs7V-3LfsY%Vo!|!Gtr)Pfz@CZ^MW`OlKnUp&!H)Jj%gjpPl)qVY*1~j?)FCIWvQs}VF(_D7r&*0ko1C1Q zr;AI=^NZ&h17*W^o2?q@mFaUUJ<;QUInlYz3K|hjdGw@L_kz<3Ct^~*y$IViQkL{e zqve;~3!d;S7st;7!ZU@d|2yMtoX3|oa@b>IuMFeZqj2=K?y)h812*2qej76)y(iN9 zGMvOIg5{w#Nz0wXfm=YS*bE^-#Fp8o|&fhKyOBY1}zI|5(=?{cLiu^jskYyF3_v4>fZ zn8SMi;T^GuCox6;~Qm@~c@bu0I(e_)ym-H#*iPlMV40BP4H>tg< zNvTBF(f6s*hB97@{EpBTt#&oS~C_DoLOK&pdCmvlnXB_pQ`#(0kGV`OrA&gcORluUvK zN>k+mlE9ZaG1IzYf{Dslr(&T z3;bd@2px;~2uCRysFAQAQZnI_`o}0)ILyZq(fne*kq`Z5{YGlhOQ6Kp43i-g%}^6 zt+EW(aN#k`nGM)?M4v8cvXRr;JC+nD+8QY7;TG!>9eJDMZ4Z-J#%Y|P zJ35w_#4~g#jZ65LUMKlz9L8Bn8Zo;tM@bKp`4GlSDl{fjDJBp~y(D~doe;$s^bVkd z(YC7EFrx>yiR{-BOgGs$qujC0CMfZn@fk8~UW3`84Gc>PIb}y8IW2NFk_SZI!C?cV z{XHaNVbr~jv{R$_#<{>dq=($*tZ^RAKgC$sNAlC_(DF0u*!HXrh8-mz;k!f_ZFdyf o2wSr7XjEQeA)|pzGVC(a7UVfjklezrPqCY`d=T@kz?7%{1zPAG0RR91 literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/request/usdt/trade/SwapCrossBatchorderRequest.class b/target/classes/com/huobi/api/request/usdt/trade/SwapCrossBatchorderRequest.class new file mode 100644 index 0000000000000000000000000000000000000000..6327f2342b60e4f103c2a60077c9a190916b8338 GIT binary patch literal 2316 zcmbtVZExFD6n<`E$ByT1 zjVu(rt>GPm^Sg4`G%$s#9NyEgWgv?U9ouq#Uk)GW*pc&1>9L{VLxF{Zuk3Es_kv*4 z4jV1cZ#w=h=Zl^bgquCL&7FX`)9E;VwQUE169_16HwXoCwLA8gw$%&WwpF90B9J|B zk2-eP^BsYkr;gWZ4e!`$^}IvZvb(P3$3d)K&LpwZlO!_EPbG z0F7~49L5+sO6W40QuUf-Fj;du&TjAc(D6UA58Je8M@}fI3gnr_82xYKEna8Po-5t=$)t#{AHTP}bK6XOKC$;)% zgmYvjV`r!gyG`Kf1h{Q?j;y`IJ5D346h9FV9vcv6J$fXddSOcnHY;ns7|Ya%Y{};0 zL1;HVuiM?IIlMX19nc$gXG_Ku&|7xUirb%FD((<+|JF`@i!r&*_)gGkv-@fSr-$A_ z=)0XGfy;ybL>a|awk@;fcHD47z&P-Fe#6;zrH^TMTnjwIF~b?iab&INCA}@~q*X2bfV6Z?jkxCV z94%(-fO$eA3A#Yr^SFw11XANyGH9k${t@Z#xk`_qOhhO%u}6X;lZi1qr=%(RLkN=#uI*HDhiyU4R;+S2@+!wN@*XP`$$ z)BnVT2J0`(Xn2{w`jAkOgcPaOgvfPb%Brc7flOtz^rJ;nhpDJcK&FzEs2nwua;Hg_ z<{LsNoab|uHDx_2Kp|IYk-nZQ--Wi)hyK}m;mNcm34WTyN>d}Nc%8s1q2J&t1%m|N zjA%=;SCM+iekmj?1c^e3hpfn>eM(4a@$w|uZ4*LDt?&R@3e(76=);sr_Hi*k!F3;# zrxh5NA=XDBNlozG7$|R_n6idO={|B#RNv%?`ix;AjWP8}%NgoRp~4U;tl^RjMH2k) Ij6Aac0A?cnjQ{`u literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/request/usdt/trade/SwapCrossCancelRequest.class b/target/classes/com/huobi/api/request/usdt/trade/SwapCrossCancelRequest.class new file mode 100644 index 0000000000000000000000000000000000000000..0c47702461215ed3f9ae2c4591f645e3d536a87d GIT binary patch literal 3874 zcmcImZEqA+6numVz`YP)S&#TR5tQK+ER7HSJ92+DLjb{Cf2vbzOM z{98^0tt7gj^8fm{^K&%?VkKVLM#m-W9SUBrl{Oii;*L#n6j$ z7K*Z7wotNAwyBxIr=3#HEiSlM*4%3C$XcPe>{c|` zGo_MSnJzljs$11ymMav`ENe*4UUaTHnW9r#$t>0?h0@BThIp=6a7(olb&#DamueL! zSDP*`yBhRWryxG-(v$D6Qfe;MH#;*jI-4tB&g9q1ONETHTF6w?aWZSw|{ylg!T^*rkwor19uU%epD<_?$BDasNxXlCi@dN?)O3s#ZPVux;DTs}4sMqoZ zhUCD*9+`(qaPR5%koAbDEovqu^IqUubt-nTYRlpKM>d~*^fY&wb8GqX^1M@VF1t0i z!b2x$*SWEX+Bc@e-?&AmHjXecPLZD4Ha)R)(aqH+N6%`|%I!7ct27wpTHdQH3Eyy| zp5mUk`JMFC9rd(DfjXqU3fgw|q>pS9Mm?Y^!k7Z6k9H60h8-T1FuquGa+l_uRj&rv zm0lBBIj3|~;-SIHJJq}@weZO346i%CFf(_Q@gN_mxYe~HyUuFfvwOJXHu2$ldnh-? zusUN?u8v~W%Bt_^_h6w^s2$R9KA-|N*Tlm~q>^Hb<+V!AJywv$*%sV#d!>IgocdoH z*~S}Kv#}FHHg*ZwEo6_7VGL>5|B$=dcnw(_qe$C0AlzQzGD4md@|2KS%xM_xd>$H4 z<<8)EjQAx!W#cNYvGvA>+A=<+p@*WDLZ!qUACj!M>m=`#XrnexBTY}uqp0rEz?x&4 zBF^fnTjC=<5l|1CAGrD>$%tAU41j@8r@91W`yg_4kbZ+# z3%7Krs<)5Sl^gYT7n3;181>^rti;%Lm=haFToAdP)kTrgeT^kWqEzv$;i*_3o{^O@ z>ZdBg(iUs3anVxEUaC#TiG5vdm@d=LO1TSIWW6YBaF(Dt~b>211 zDV)awIi2aA!y-8YXRr?^$wg4ZAWo4py=47?*nJ9gCQH+pAZXfsx@dlfM9>eT4ya@F zc99Q@w7{CkPN@$z+rdqIfWkMiHkmZ7f^{@xm^h|Y#yR>!QN@p0h?72hrVR>k)SpCZ}7Bc1a@b)=e^vwq4n{$P5Od&~UzfNO;7Q2Hje zc{3zEz79P-vCbKs($_gyQpP$qy@m;IvK&&jjS?U7Cky?tBZuf)IC;mz9w*PQ?s4*J l8eS{(8{Pzxks)uqJj(KlhFB-kRcG-i*BArEpUBvO=s#>C*>(T` literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/request/usdt/trade/SwapCrossCancelallRequest.class b/target/classes/com/huobi/api/request/usdt/trade/SwapCrossCancelallRequest.class new file mode 100644 index 0000000000000000000000000000000000000000..67bf061da7365d35034e63c7f779f62fe8367987 GIT binary patch literal 3866 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 literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/request/usdt/trade/SwapCrossHisordersRequest.class b/target/classes/com/huobi/api/request/usdt/trade/SwapCrossHisordersRequest.class new file mode 100644 index 0000000000000000000000000000000000000000..fe3841f7fe7ff54f40a109ebe80ebf69d4d81e65 GIT binary patch literal 5951 zcmcIoS#um$75;iOGu=JYqgk}MiER`jgEf*oS)Aas?Le$Jj)LR}%Q$fYBrT~UjV;Y6 zGovInVU5|sl7uZGK-g_CW~)LmBKKd7W6q8J}<);WcZ>CUy|V&8J?Bl%R+um$5&FYan8V3W&WBB&l~u< zfo~Z2rh#u6__l%X82GM%^9C-6{ClE#PRI8(49+~_u8h~J_4*yx9oke9 zoPoTP?^$-TT=9;sF3)N|xW3>uj<-*wkDf%GNnx@&=PsRaYh_UjbmNW1GSBD0 zf8je_)5QaI;wI5daOk}qjEwIDC1b>Gt`jgQb53>IuOu$aAOFMOgKY zGw9zPaRkFBG~}kd#$t7T+O4_EUW1`V=S9_bo~Y@3U)Vz6yBNrj)8W0WJH6*l*!y4^ zc+b^L(|aY6FiJ91+$H+b@zlF!PkD2V{loWa(5js=9Eda|s*Od-kZ!rhp-^6Al_0!h z`V{r1sX(e0X(ec;isg%%%d8THGbQH}!drQt)Nu@jfY!0;yBW%@z|GK3M%j`L|HQg| zJME3Y-QW?KUeaG=c(HS*r`#14_^f!U_84<+<*=MRvwYF5FZwCgwR?Di zM>~CNV(Ku@o;X?a>Z?l)){O9pCWibnqYpJtD?JoGmdsFRQArJj-qTbI{~c){@IS#_ zi3p=n^@EPjK2WZd8@Fh<7!Jv1t&52B&{hz*p`8f5Es?gQ7s`{=Om($3=iOeG3bk|7 z^0r4Rm4^HNkEPSX2XWEDD8?-8k)ecZEnFw)dOyG zaERr#?Y>{4G%%T1Hk0nkidUJ}FcuEtX1s*rv*WG#Y3blME8?bnT+Oazn5~eBnA|u~ zOfFr`ymvM8>ebBKS2F`Z&5QvxGYr(sNZ`DUw%&?;Y^rYNYLNEikMSb3lP@6l6Jmx7 z$0TR)>6%Ik{0eAF0f!j!@P&Diz>)Bj+SY$vH_oA)MsPC|p3sPT0v1DevecmwT?ml|oF0+}oL;*}NWB56$L?*C;+I$v?I8edtE4Mx8gpcIF4vTcsEf3Q`%0vhbW09T*iBe zbky(<+)rfSY5V~X5Se%eufQcrVI6CjB}(HZ{1|gY7XFB*Fi(`hpYa4dqHcaIPvb$N ztd``?0#Q!e#a3yND6ft1`&cF_Xm|2ce~PF_o5oetxd*-U1z5&T-S{WEbu7P%ejOG5 zHMCc;&4=dy7B&m;-3;`&G=4#~yqRYyH9a8_E?2NwNpF7mr3E<2muRKVNtHV63Ax4k z+x09>STywa-2MacgDOF`=k_l$J&fGQ1?Xez*!F3$)Tov^_eE&-zCagmD-C#vrWoz!LZ?8bmP$-e0iFbM3-448@0u;$;6E zj}Xa;KaWR=l4L)QGekO`WT>4bGH?-7cps68-|&~hV?-(Z2?KaPQCfm6)`h}lZp0aE zn#KTwrd{Tv+UuBX^dZqCG&%9kt$>yc(b~+7y8&76B)9nyf_7dAFF#D^SCA?ie-nR*zDj5Jl1dX`U-1R(Ry}BObPe(1*cyMg*zq+s zrgmZtdeKgR(r8L`+$TT9nJ~)X`+$}N$;a8BrS`fkaQZRD!{u;)d5S(Dm|t&h0?`I+a-OHG&a(S#PDG% S#_$o0aF+ij=Z{?!Vg4JY0A^qS literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/request/usdt/trade/SwapCrossHisordersV3Request.class b/target/classes/com/huobi/api/request/usdt/trade/SwapCrossHisordersV3Request.class new file mode 100644 index 0000000000000000000000000000000000000000..0264b0a457ba8605b2da51aa2b36e09ca48d6c89 GIT binary patch literal 5959 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 My2#&pEW)Y(0=&B$4gdfE literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/request/usdt/trade/SwapCrossMatchResultsExactV3Request.class b/target/classes/com/huobi/api/request/usdt/trade/SwapCrossMatchResultsExactV3Request.class new file mode 100644 index 0000000000000000000000000000000000000000..61e3c180530aa8da3e3247ddb6dff11d754f60f0 GIT binary patch literal 5060 zcmcgw>vJ1d6+hS3zND43mLKWT6l`k1mgNX2k9M5|TE_u{of_Muq`bP8Hnvh*a-~%t zP$Nnulk2_%;vUVaRt4`d*gCsB6;qd486MADHx8 zvl+DKxBX5h=m@epq2CVI8#{p@XX%Rns9)Xoo14|8R&#SskP$TNN~zZy?VuJ4DkV^B zVY?x5`sH?OXR!`{VcV|<>rd>$-*5uC*bIZspbeL1t+Gte$-A1*o!moBa^{^^^SC4Vp$zx!mj3A=Se5;Odi%X4WaG|@i5wzF+jcx4c zryI>icvjGpQ;DO<)ZAhnCFK@~I2j4ZQKM*Q`XZ;iRr9wm`t1hC6$O_Gw;Cwm`L`uu z$bz#Rgj=opir@Bkf-q>qx4jvJYkhu{P@N+T$pW(wlf=T}T*Q-+1Lz)87;-)$3;SR1 z^JVmaMVur-Il$(7q%p8sk-V`x2f`aZQY6k@7NCB7Sj6#-CgF)>Tfp=Jgq#R)ENK$Q z#~;Z7mxvH66`>CH`rF9lfsft4aRr?;H~pX>(K^^rkxG!(3b(jj3tZ*NM3WY!BDrHr zNUu@z3ea2Uq&n_iTWRB^QpU|2DdVO3wro1p(9yROJ9+86-_Zr-zQ18ffa>$CQmREB z#Hu~K?C(lC#FeiJb zHYVdE8k6yPvXhC(t;v3n+N6rf3|oo_@VnOPwrj!p2Hyiy$GA>Tac2l>{hzNd8^26H zw&}g}KAWa^n5ME#Gb~kT)}~XutWsIfxwj)So9cAGO&-nJbb+PQES;gVHhqkxkJG(2 z-N(y$9s;^7=tTd{P}%MM7M(gqUZ;B8KV#ER=v5wmiuzQ>qgtQAk4|M=Ra?ob-jMCe zc(3AE<|^ZH&9O2n<6Lz}V%nxh2-m#Rk5o0HAW#qet^2#X_?)2GB+ae^We7;2m%$UK<7ta7iHza8>1u!pa%7l{3mKXH;0uC^F^|vgrNv0lZT_h}Agk z`H%S;iA&dM;J1(k-Gx!dOu!28=fglT`WKi@%$4$W8Z6K3QKnqkBdt8UM|#=K?2%D+ zwLLP+uD(ZB*){ek`#azV5*`iu2zFMLANnZWjTJn~)9@E7@;n?>g{ew|QsOgZq{OGv zq{QdarNk#Q=pM*-7;xmkg#%*;G}0m&V3+`(Z$OpJV(DrWwmR{jHJ_}s}Tb23U> z0iq}cb2-IWJ8W#H8lwkNjP=9D`BY={PKvQ{*tn2tjGjv|HV+#YQ;pH9DaO`eV<*)Z zJ)UBmJ#0LbYJ83sBHnqJnGw3=++jwU(t1oGdW_N|MlmZiAz6X9P`XR)xGuTXgd`eV zGRXvefZf2hfF{0>cfD}F5)fl6{Nu{flcQsc} zfE>>N$ni|qV2~Ms4A)G6hCB8CD*`m)Ic||bP6R5tP7KOiL&ppzZfuq9Ybtqhe~AfNq0b=Oqr%2* zem9akNjGQ>dxNOLzi1s&2Ho*@`Ya?3wf!4igrw6p?a>2}3~JMF=yQBDMx?8JK+nEZ2AXU_=}M8^iMn`z67a&JA8t^45=t|x}6?^p zW+IKrWK}B1)1(SKl}4tk#i}7smnyxd0(+HJ$up!1#Eqasdql#M}poi=F;N7qpB1|&ZGb-IEK4dT)BOVEKSb(Wq6g_u&8fZ2hh zQwVxBAsO@{64!!c(y!?R?LxAc3}TZCZ($6JffEbfGxD~aygWx_sMG={pM@;%w>AJ|!N;B-+-c%i#XK!NO_i!r&oS=MoDJ%Zc3n(E! zvFfkU7+#krO1JHk%QW7nca&~da*^eeO2!@JmhMpU5bwWJ$t9NGrQ~78j4OGB$4+pc literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/request/usdt/trade/SwapCrossMatchResultsV3Request.class b/target/classes/com/huobi/api/request/usdt/trade/SwapCrossMatchResultsV3Request.class new file mode 100644 index 0000000000000000000000000000000000000000..000ebfc4df6c1608ab705ebe0985b73b589b2a46 GIT binary patch literal 5015 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 PCwuvy4F3@!uf6{PsikVX literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/request/usdt/trade/SwapCrossOpenordersRequest.class b/target/classes/com/huobi/api/request/usdt/trade/SwapCrossOpenordersRequest.class new file mode 100644 index 0000000000000000000000000000000000000000..1e521e05485793a673130d2b2078532b9a29138a GIT binary patch literal 5016 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 literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/request/usdt/trade/SwapCrossOrderInfoRequest.class b/target/classes/com/huobi/api/request/usdt/trade/SwapCrossOrderInfoRequest.class new file mode 100644 index 0000000000000000000000000000000000000000..162598619c5bc8a3b55ed805ac99557690262137 GIT binary patch literal 3388 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 literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/request/usdt/trade/SwapCrossTriggerCancelallRequest.class b/target/classes/com/huobi/api/request/usdt/trade/SwapCrossTriggerCancelallRequest.class new file mode 100644 index 0000000000000000000000000000000000000000..4505a6338524a0419730b46fd9e2f4fbb3fb4937 GIT binary patch literal 3929 zcmcguZEsU$7`{$>-rAk6TVX&2wZM?A+o4i_{GE+ zqhIusi9bNTV4~5DM2tZ{VB#O(2k6fb@w(4*+I8JABbvA@_j5hZ{c@iB?YaBgUqAc= z;3>Ro;jK6{oQuK6c_D8Lc}K_vA+CklIM;%Zxj1&f6Le9?ypW=hk}xh=xEx0>&eixahKy?&}znxFS-6Kt2YiU zmCAEoO@lL8sgPZE>vgZrZJ}Ce)Z9X2qB`ekNKIXGue!OiTba+zG-{>F{HTW5T&d<2 z8l`GQgIT?JvF`DU`l4GBb4~qI?=4c_nr(h(VPJ5oP+iCsm#VX+oV!@c)znRLOZB-% zj^CW~avR;ce}E!d0(SnU2j!f-NJ5ERm;)jSgBHK9MEt+B+=_r|L;zuVB#~?rCPx|T9QuL zvr)J0ldjQF`rrE6!5dg|@F+44b_&@gWVeuhWHcQ7&o^=KD)J5nk#+FApnZaJLLL|L zgpesrYuMWPWVD{teH+DXpuG#m9bCmV4bE_;RUYGfWQQ}VK!~m3jFbpbayZk}l_KGZ zHt66qvh4NM`>5X2z}jR^O?Pq8tITN_2`QfSFJJQsWq@tY6Tm=3B2E;Mp!+N1?yn5J zzcTtGCZX_6Y!PG!AQxhGVaDGgCJI+c4vm01cQ%4Vl>DpZ*z6ryZ(DsKu^-j634 z8Sy#KRRU~ghn5ljmZ&{qUB31fB@skS0xyZw_}hem*0|~6=IL;g`h%L3nrNBa>6?5e z+@$fKCZ)VuCU^NJpA9!@KB!5l)RxKJzRBmpOc{^>1kR1qFX}e9RJ0GJ^cRrquiBLQcilyUiLdkp= zg_3zE-6cX!AVky@(r?hUXj_M>dizkh+^V;`7{wT4)Q4X%&aRE{nf?w3cot<7e2o`~ zbi9Pm@FJ0cX?%i%L?+6(j6*~gYVa^YWaD!j#bKftzM%XOqBvIgBpoH{!jITaOJjT` zUgq5nB4ycsqT9mcJ#4Y?3jb~G9=0hM+ZZ;RWR!{3Wh$t|aw=#<>>tUfgyEms&S-_f zpz{)jpzX%}QsEHck(A0GG-1=wr#+)%`nX>ZJ9nJH z419zWL=h(B1H49Gqa4aboFvkj?rF>r890OeI7MWlfvtF*$nul*JL30wpfg#T#sopr z?$gBTJ|YKwFq#5Q8GY?hAZE6Stx9&D2Ex`_;Z^w%MxbJ^Q(4st=TVVi;+R$$=fIB; z0aLfo%h8xhZCb%*Nj#TSpTg|5&8aO4Cj@U*xLfcxg_DBQBrABRbAG6fR5NobNSVgp zPjB+uGC$tuYI4nFZ(_SYL$brm(6b}UoWW^*nS&*5EMwhk==hW6fYNQ1cqW)Ew8xIj z(6%6X$D=-y=U4ZUyqbpJ3Vnt@fn;RJ8!wNtyrL1-iFDOjJi;~3K=B7R9!BhMH#G7? literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/request/usdt/trade/SwapCrossTriggerHisordersRequest.class b/target/classes/com/huobi/api/request/usdt/trade/SwapCrossTriggerHisordersRequest.class new file mode 100644 index 0000000000000000000000000000000000000000..2e25d94b1ec8b1731dc81a2f4ff8f07033c1736f GIT binary patch literal 5532 zcmcgw`)?dq75>Ja-FfWV`|u;3#(! z-tU|_bMJT0oXsEp{j1*qcoTkT;7J=AE?dapBhq|SnvY5Ilr$fg<`dFQ z6W=uPEfZHwd|Ot&BW9Nkd{@IAbB}xV6OCH4Ip3%(FZ+%AD$QDB$!|2z`H!yq&DQbt z$|{E%vNP4H-#D@AHJg5u!^K*))$kTuCu&Q+hT`c9-eX>Q)vGR-=URc*6~Xk z^txAJM8-lC+uFhL(~GsW^2&N`p;Gqhm2xA9zP#RCYL!(O<(=MiY$rmv6%1PsUOIQW zQuWWQuPykEd2eBrA?B8SZb*D%1{qqy))Y_I7QNN;UZWz0p|##xsc< z-`W46Epc>Cz#?rfJcK@pK6Vb`;%w(AGT|^d4P_V}h@n>GOmfZc4H!DO{r$(!Ysk;~ zt(Dr+S+C)(`7H{LA=5Y(@^IWTidal7^4c-W1LHAs9FI91hB1p_6th~9nA6mXx60>l z3HAPk3;tqjdi)^`T5YSq!zB%=T5Cn_MnMj4tm{UowXVs2MT}jGT)>LWWE3U37ujGv z8s>rr#ojj`J|;F5JS299!iU6W`jj7;2sWla@Y0zGqX_pZiXt3Zp|xzD9a+ktkEgPD zan`FVK{KPN9Ahqe)swQtyv-|Kb0xSuy$8o0Su58r3HnjCHGQqBE#uOOO(S*Fcgt;B!)_+ z#D=U?8bsQ77VEf+*|HORkbN}p0#O}luU_}7OB$vU1ibyz)A@#N;YZ1Co4g}F_OaZ! zot2G=9yx2G9yxB+^TbupLsvb|UG+SA)${aKPXVwWhJ`n>LelVNjz;N6{+KU8d+|s68=i7H{KBHXy*oG)J1KgKf95-fi5MXiQZl z7^k|8`xA|+#suSZw{b4fm?};%HoA@TiN;iag0b0cTu3zLtw}Jpx{Zs8#=LC_#&);y zK%()zILQN*qjK4cF4Com4fOtuD1OkUvK|f?;X#XDM3)*)k)6^w$aC;c+(+6rm-=p9 zip1M4CzQ*XD{`Ni`RB}NV$A>vP)yPF69olU6z&0)5$K) z-MW-?&~|yJaygs4m)34wN@i)hJgi)vNp@-P)}EOR6tAJrNjd2lDeoF27t8SOO33^~=EyNB3Ggg$HnsM>3=x#vGG+55~0pnCDzC3yKlEhe+o|zk%~a zDa_)ZcrQ^JtN1J4M`WOZKjA?l{zS$G9wM@E1wX<2iEM1*c|1&%!LRWQK0uVk-*6Eh zBoLcan3RSX;W zF#np`tGFeA*8c!TneG9KRF|SC5Gj+RM#Lm2>XbdcS?)|ld(2&%W8`hw&nelnXyO!e zXYYQx$k5T>^V3K5V@lj3`RNr(+ssc~gE6&<;YVaX=jyWH=;4Yff)AGRZb~gt>&nP< zQqfYuO{=AJdx_;>WCsn?x3V$N!dT5!oUh?dQnf;Dk=`Xc`3rO}oJdbjCe0F@#h^ zh&cMzsgRbA(K^iT*^q2(C3pA<3!#a*&7@7vMp5#r**u5_}t*O^kJySwTY02C;-1*7$qvamFV#(RKC~`y-_n zaX^(?rO6HGrKt^8*p9xz`pZdez$iKC4VWdz*nm}X%nfY&np&zPdpPjcPAf;kl8jGK zKNch_9g!c16tf_yTXcn_+(;=TRYF=J`M4Vj$v4?l>29B?3OlL9q;!&6M~V}vCgk%k Y-|HScL8BgA!a?>nU!K3Ua0jga07+CP!2kdN literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/request/usdt/trade/SwapCrossTriggerOpenordersRequest.class b/target/classes/com/huobi/api/request/usdt/trade/SwapCrossTriggerOpenordersRequest.class new file mode 100644 index 0000000000000000000000000000000000000000..54096f131741e2e32263e89f3befb0b4bb7720e8 GIT binary patch literal 4596 zcmcgw-ESOM75~k8zIHwP={U*IKuvL7du?|Ml#i~HQj#W(!A?SKLRt!RydJ!hYFm-1gg@?xx@EUG|^e@q6LvouI`}4bF1A?RU?#yk5`m@w3rshh47` zp6P7*8Y(N-yl1>x%WH4d*1~Sk-dfU--S)Qp<@TokoQ8=6V7VRo{4FAEL97KYFhZ8m zHvRSIw<+t}UcjF$DAgse8wO#}X=|`H`q^}5=T;h>8@1+6XCtV2+d-`xb!_i_`kB_?9wC{mXqrVhf7B(bZ1Q9$f6) z6%D0TKWuh3>FeF_Lo$l#(K(Uc(WGZTJ8>P4adCe9O6I4GD!;xVk)KH#crE_czO*iG zT=N^@(%cgow9bCE#wHC$Cu|DQ%d#WWBlK3b5oJLE6C5u_sDvgzfJ93v3=y$H0Tf*$ z>c=q>nrs|HR-Ehm%g4mfH&K8i5kv(@sPk)~*SNmwZ7bffyQuSTH@x;)DHxAp)9W=O zj*rdGEwdh%E-$a1Wx*($UB9=}3N_?MYLJ^wtTwAYqJ`zA6H72?kc^9wGLe=YcA|E{ z-#8hxgYaPu-6SpIW|E*-pD6EJbud({5z6J(Iy>Ele=d+CJ#)vtaKD^y4cGsVJ;=c( zzVF~8n09b4W*pon!>kN*qN`$B!|DG%AqQW=qYi3#z`+@j9>gacd{Tx_$?$10JS4+a zJg(u`Xr~+87A>VKIex2Rr%jO4x_*x0nPiBYO4m_%JW)DZT+r zWMmg9Wn?4O%)L}Iw^PmBQ8jZ@Iala8j|ILO7Wp+rKlx+71?}-Sk@*c}4fk_2IRgcb z+&zwhu5lKvQT-jp1e!@eOZX@?P6WWm@Ns@=vf&&@o%K=Ya;h_llHzQPI#*JiNw5@W zbJTev)tSUhakfUCkEA-2&?(OLsPkm1a~(@8s}!uxS$4;)&hKLEx0I6Qc9i$g2oaZC zc1_rz;Uv+9#*Y#|PT^s~4usSX8&Zfh2zjpx`I+>P#$iJWM+YJAQz0Ko4{07Yq|kj3 za#n@>Y!oBQ=b&ZFD!7V>x+NExU0X7@=Z94uD%DSkI2^zLh^OfH3Vb6jmk~r zUBfjKphDdus8F|EOF(uEvRpd>D%P_E73(=SE1+Bq%DTA(s8k;(s8n~{aRE6oh*APn zuIC9V*9&f5K!q5TcME-xev9iLOSF}U=f8;RGT`}boW(g7auWZ-V{A1Umi6yAPu&%QPq9MDLKm-6e-1W&hU>UMDT|-O$3;px>~Xxrf8+QA z9>EtVIrsPK+m`6~s#(!>{lJzRdL*_$8jCl;Kvsj<2u`W9){n;H#8$ zcA6%>M#*3;R`C=i6Cq=Glq~!N$FM=kmd(}ff%7gEIyYC-xS`OrcNuK>oe{+(j6R@` z(f6xjn3;eLk)zreZ0!dR@hOJb#XjIN^h&qIj@dNFq3?T|>CSrdSroAfFSF+INVxhI zCitW{QkmStQ6U$n%CSh!@8NjGjbtAE9zHaBjYbV3 zdUsrnd7$xq>oX6z^M1_P;yhD*6L+htw7Rehy}G!|cZ{p=@_u!VU07Au+{J-Do>$lG z`6$BRV9mtWETgJtmz>KPc|?;KBFSB(D@m>pLrK#4O?4Dqxur{VEYYPzaEY((68lz( WseYZ{47P9&XZgP!{%?l7_WlEj!--@7 literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/request/usdt/trade/SwapCrossTriggerOrderRequest.class b/target/classes/com/huobi/api/request/usdt/trade/SwapCrossTriggerOrderRequest.class new file mode 100644 index 0000000000000000000000000000000000000000..65bb721e680588dc5ab0de23196ef5aaad5cb7f3 GIT binary patch literal 8051 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 literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/request/usdt/trade/SwapHisordersExactV3Request.class b/target/classes/com/huobi/api/request/usdt/trade/SwapHisordersExactV3Request.class new file mode 100644 index 0000000000000000000000000000000000000000..1c59b972157e389da9ad79d872ff323671f0f4cd GIT binary patch literal 6481 zcmcIpS#TUz6}?ZIUZ-a?nniLuCYGHsSR*M4ge`4bKomPsupD6-L(G+Wfd+p?-sak<_*@7;56 zzkB=M+i&bY|L^(V5z!mzw+4O1CP8a9jnbM$X?mE4uk!FU9=^`QH+c9a50CKhEgrtj z!=na$$Hx3!9=^vm9%J-<9)7^X4|(_z4?pJNCp`R=hsSw1#~ME~=;t==pf!_z!SgRo zI&adi82;L%CrovPrd@=A5QpyW{(mXf0L|?}=9wR|G9HU1=@W z7iP+h@^Ynx+!K^MRcTFzsg=jOi%Bj6q#2oC4$!eqiWN5S17DH6pv`vjEW3f`XPOPp z!64ZzEN=1hjqxEr<@m`en|T)|W#X~{c2cvg^8DS?lZ3?j4>&tY?l+O&`R|0M;9o=IRn!q!o#=R`larj0Ddv zM#5wk!;l!oz<;9{II9(vZwBi~zwBb<$Y!gq`UP@tw!Ye!uN&YIrI@KJ9LO{ zb?7cew=tTc+Z}o*9d>A%haXnGS zPe{c6YZ7q;bcr|yhD00%QzDLoB@su$rh~x4HXf6~12Qn3L4{>dU>Vd`2IZAOb!AXo z8Prw=fk0tk7-hR#xj$AJy(vaH*{z(7RYp&XQFgkO zbFs?kg)z#hZsmNe@+=+mOU=W~DX+^i>n<5nY7ZzzSTed_GMw0&kclnm-SH;1t(xSn zBV?_>B-e?cq&0aBzMfvBzHhTAB=b0*{Vry zy`f2NsJKGKo4oAnaHUk|9v+%h{TX)_l|;RH%!Bxnt&Nl(CoOS)NAMb2AarHm@I~ZC=*xXHwQD^}E>!$@Ov|xnADQF)8np za&A6C+U^xV+U^aw1ttynq=GvTkP_$7nR+9ie)V$ysoqu4$HW@V(L7#mK|DYUxDNDC zQ7lmfd%aW=C+Q?m0@t)DIt8TBw3wttAf1*(k*YujHN>@a8px!F=@Q)yWYHt^Z(0Jf zX`TK`%RotbfnK5-kVAi?Hr0Vr^bdLh*O7Tj;}gF|_W<J|Ig4a!~8F$4f^oQG+@vJ_-l%n zX`6!9s|JH6K8N~C@KxXMxHlox{Hf8nO85;$FEi2d(}FjIm@mMeu>2NeMdJqmws1X4 zaQUTBe%Z{v{fPsz$aZA*EuzHC%*Z)1#@6YYyLdnAC0O7le2K}0r$jkVlOoidR5D#H z5am5xiu6!~N>o|}&yXS%p|52Gq5;p8A~O`BG?mt%XGsyN($}&A(KgSPB0ChJR+X0P zC8Y>u>T4wf(RR;~A}16%QnVw!03KA)^26IJ`sm~I3B*zpDf%Q(581+`Pa)*JbRGSR zJ`I#Wq+g;3fi!$Vo}1UZ&E~ikJC{R-9r-_lja)-M)f)$HHa|-$?SxMmlz`Lh?;Ho0{rayE@M|n7W$5 zj?FDmVHWv}-`1)_(9_6i{sDFNBJIHM&evqGU8kMgC@^J*6vhW=XLgsuxpmr|y-s0# zb9QHo3KtmfQ5c_@o!QqaJjna6Q+ONWy$ZX`8CG~ZV?1-`I*oK+&sEz~zv0gMb=gB- UlFjkUbUkMNj}w7k>0@O5AL~=h-~a#s literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/request/usdt/trade/SwapHisordersRequest.class b/target/classes/com/huobi/api/request/usdt/trade/SwapHisordersRequest.class new file mode 100644 index 0000000000000000000000000000000000000000..7c049afbb37273b1856f5700e4e3a922d9554a91 GIT binary patch literal 5426 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 VgZfJN5JuR`e~|KDWOyx{{{SG~{3HMX literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/request/usdt/trade/SwapLightningClosePositionRequest.class b/target/classes/com/huobi/api/request/usdt/trade/SwapLightningClosePositionRequest.class new file mode 100644 index 0000000000000000000000000000000000000000..64df265f9785c957c5b148273adf3c98e144c158 GIT binary patch literal 3662 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 QPR{Z_YWxog-dpy60g48y_5c6? literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/request/usdt/trade/SwapMatchresultsExactRequest.class b/target/classes/com/huobi/api/request/usdt/trade/SwapMatchresultsExactRequest.class new file mode 100644 index 0000000000000000000000000000000000000000..8f335cac2fea585dd4a16cf158fa4b9cff8f6a7e GIT binary patch literal 5501 zcmcIo`)?dq75=WhvopIM+q3J~$&eJBWLx63UDNQMBn@pEgCR~s5|XsMI<~j*Cibqo zyY34}fl?l&kd{{=KzS1hMdBgs3W`wqfg9xg?)~mP z-#L5kJ&(D`@Bj77UjujpeqiGxc_>`S;}%@V!Np@Td{l;y$?$O*9+%-0GCU!}CvAKx z&-v3bd`2{%6!cjco|55nGJIZ!i!wYd!!yGBf{iccu?-g-d`adnJNSys&pP<3gReQb zrG-jE z!JVnqDvd)+VY69jayehGwHo9dsxMR&ibu|c4~A1qVeRbHiB_XpJG)OIN5Vqo0O=*{=Zgk?(jfBy4(DjTt_~4Oh zt#WjAd9Knp8O|+B&OCS5cSf`k{_IIM4u~QPI`h2)_ zDr{86)yUsWYq83J9(-lD#vAcwE3L))!m+RsE>~KW28|A$tuR57iL!;^Nl6u##FL$D z8Q#E(kIAef?L;SKiW_KA(&WiG9Oq4ri|HtJY*E(PBfED+2_(D6bPf$RyPX|QiJ;u0 zOJ>5`kt8j4Hs&SV9ZK@Fw?fL(SjS&3+Wrzp{t~tQB{u$Mnb+YGZ+U~8ch8+;VeA{b zS3%V`7G@+;uM;&u>e#Y>}QT12E}7X1v%{Q22%MHc~EuI_}+d{{dym#W|_ zhRsD&;=OyuW_V}Ej?c^<=A{y6O`}xk@4BaaDRCqDQsV4RseMkn6d%eenKRg>*kP+= z{Bv4$Q@6~I6ZO@`d}X>S&1L6}n$xXPSPJ3)z5Tg(3%=uG3}qMNm~b(PTU|`a@H!c8 zlfAtneLczw2VRjwE|%~f7q{b}i<5%hhC5u`i9;^#lHsrn)3Wz=p}a$eWz-b5cK4a~ zx2$}lTilbZhXXFYi|?`GCq~C>bNPP9o5bK#y)-waGXU1C347Z*can2*i@d5NkK7QWB)hO-AALj+Ad!9$nPly%X z%rVOu-XvOnG7rR(Wy_*|MKmgI)HmH8^EIyM|oZx7Uy_ z`_3BreoC#Lgk1*#civ~LVITH$MZ5ZJ^1FNW>BP6alEUcKNKTm1NX}?!B&W=3B zl9M_(K)lnTNsq=nn(no92vQbq|dJQ*)@d7 zXC*nGqHJ|5_opheR#KF+-O2;0%B-;zWxHE>FjbkgnWF4;D|@NRtmzcxT(@!|RhhjY zMLFNCTufDF4@pt(>sB60Ri42+qeKokOLAp(5_czOUTcpSMmssPQF2OJSxTps!n<%J z&7`$ilTyQM!^Wg!slqIdrkTuc)})k6+oUAD!rkd6?ai8$x@()18d5lxZqnJTNh#pA zNhwK%ccv$R= zQ6GMVCoxCl;;%T5d7^&&9ThAP4e-M=O?(=ID$CEx{Y0L+nVY}M z%v(D{&)aE#MpqJ_g52U~w|5s!^wH4YynXvK2Xu1p@b)b-wHGZ2 zMXZKMD;JAKg1i>x+alHowRWT@l=9wEw0@~EG|yUL9WlSe5g z43xUcALy)mWMddsOo%y|jav~do1k@=-MbOl-bn87Qv{KUbB#(zD_s^T=F${9y4Mv) z>iO%acP!k95gF;bzLAcd|3IQC<^=yGV(JB#m>2R)U3mf9_-glyuUf};DH~439R{;k z-c)?G!3DvuF_`V~rsAl5f=NcGv literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/request/usdt/trade/SwapMatchresultsRequest.class b/target/classes/com/huobi/api/request/usdt/trade/SwapMatchresultsRequest.class new file mode 100644 index 0000000000000000000000000000000000000000..63d397392e4173da2a55616c54387db3fc2b9885 GIT binary patch literal 4016 zcmcInYjYD-7=AY0&2ExSlLiVzKnoP?l_;V@%KfI*7O<@#;Dv3vHi3|oWXnx-#u>+P z^oxFS#vdSGa7IU4X2fyO4>;o=;0Nf>5b=3;H_4`Km0`wCd(L~_^StkQujg!k|NF^9p23yCwan7?c6ysQrl2GSlI4?t4h6}P$(NT?~3ug_? z$$U|Unt{3j$H2USO9n0r?~0($>bR=l$;r#s+_>cwiZ#1FUv}yf_QiR-?i`pem1pdl z0&}!dv1C3*hAKrBCdINKQId;rzHY=avk+-0erBU{wxFJlG3Gt6ubqv!kzn zlZ`C7p~Qj&ICw@jyQm8Mg0@_)JkOq{_r6Ft~qVxtV3&}(9| zP+PD;!H&m0*TgaGF)@fC6T5|aMyO}8&BSv;ZI|IVUQ@8Tb**?IY+k+_mx)PVv(|T; zcn{ZQc%KbA)YHoUZUrf>19eM|In>jv0WK5XQmTL}rQgJ9Y-8`Y4DxzS0V|LRi&}GY zc4bDvaIiWWjUGsRn;*Q(+VG9mUKWoHeA3qQebf+<%#eyma@?8uac8E;otY)hX~gg} z`uLLebJat<{1~^PoVta`x1<#eaEx*WOpZ(pM?vQ}3s)QX0UZL31fZQ5_65Y8tptlI z<}yTBT`HUk6=n^D2y07))1ktwoe<&ZQsJ&pVb)xTu)b6{6Ds^XUSMP-V0q3G;OM~M z0y@4U6^vNim0sl`{D?{5C6NkVBwACrNOQ3xT&4P`Dy1fxDmS_+ce>U+WTp0~Dy6)d zDmS?*N5ZX)KB`Ko)TYYKuF75ED)mQIDMjB@xy4n|>0&@hkSTYa`6-_c%bF$bN%^q*T0w&vA&9hH-p~ z!=$1p<2;U#(ous=#6Dg|Uy$=MsTjWGILf~`7MX)rNG0$S*5XxCCdO#neq?mxFLde{ zzmHWqj`G(~?qiKd#{QdZG|65jR+VSOODuNMpNRC2WK_biT-!A+D!H=u)39c#>~~9r zuMSyKDt}UiK}DaXM|P>Z-GW$`9x1XMjP&3Q=);RhpB28DS7jrs`a6aciMN%^Ywi~7 z!xb{JT4Sp-A9c5)%`H}qCzZb>Zoq@XYkn+ksCofk`@{;bTmZiZCG` z;&uAk!56%U6QooIZX72`X*k6@_YG1}I9SbBt77f5!$faB#tha+(_>c`>#CS-gB^AC$L57LXx|eZWVyNV?8@r7zK8=~o zibbrH#4n;dv&y5{Yu%aE9-ZWrS>w^2!q0kiO6Vs@FJkS|_rvQ*(>tg6W}d;DJX>z& z>zt#Udj@V{o%@Ci3@tz%7+&BToK+Y2uw=CbJaii-+?QpKC)@1w9{**bKKCObBAVqh xj(HSHu3y!qn#E!cpFb~mjBE78IC6r`v+053w{6q literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/request/usdt/trade/SwapOpenordersRequest.class b/target/classes/com/huobi/api/request/usdt/trade/SwapOpenordersRequest.class new file mode 100644 index 0000000000000000000000000000000000000000..3a85c15938ca77038a1fd435e2b41c80cd02f807 GIT binary patch literal 3969 zcmcInS#KLv6#mAU&GtBUT$0w1LfWQ~6|)p*ou(@V0!bT^P-xjQafaBfYX^JMje>-P z5P}zYLgEL|mm+~6K>~z;ha&L@_yO=U*uFC}wkOU26%tW$@44rG=iIa2JNfC4uf7Ga z4{sQFIROQWahR}WSdyVA!?FyHfmafoS7az9uoGpW&dG3IhKdXqWTR@JmOu{{O{~iN zs)@SH4HK@3H4_(2ToT4*K`$D(qM(2NlD&Fr)v4C%%TB#9=e)Y+G~8or}>aufL!L|@! zs_Hr`PMru-5cB1$)Sx$Nb@v$Uh*Rydvv6gVOk=5e{If&D)5Y3_d}*z=RLY zFu&GVcJrQ0KGK81NN(U4ZBTs=($nRtb8_v%l2c!>mnu9wz2eZju$Q;dhzLKk)3u^q zIc?X=A{a=kZmG;T?f;Kf(=dzY&$c7jyXo+D43h!O4`ZCG`5=;_V4)q%bfeRs-l47T z44+nznQ`1wZF$zN+ZP;{#Xw^y95SXaEZMY0M3Vt7u!gIaHKaq<=uDqoq2^6SoLV~P z6y1s8vkH{j=CTU56lgWKBo)~s5gzQQLvOEx+3f*C#hCU{Ax^3V@eS{8BYZ~E12k*Y z^0%8y|A0{41_y*Vsd?8fo}aN-z4Bludp&0s?dl1M16!eFH%fjfb`1?r(aqVpshJau z18KePG}bDvf>eiViNTN)ac|+ zXV%}#NmV4~YisqQ^H^E>>h{QnyjL1a!TkTwa zzlL(=OT<1Utzd+s&KXE?WJ)*+I?q|S+Q=8^5@;+0O=FxK%Lm|If<+ax$gxvc?G(;L z3N!l=!djm#G<==zLQIATdp zy3a=h5tG16A{9JBw5D*8;bK1y5Vl37daEj>CR!?YdnyajDz#fxDdp8tIq0dJh<04R zRh3eyEtPvcl?S7(G;UR;6n#tO-JVL`E`BVP?>MIz=ATDLK8B{=82ujRN6@-%jD81m zW^7~wac@Z?adM19K^^}Q$((uheoF*9kCbHL&%4s=01WFYQ zf>H%DX9&m)Kt|3Cfw~KEg1QTdTwFkj02I$9LZEaZNl?0A<&pxj0uZStNWDSVxMy9*~qEEjwwarZ>0*Fx5fJKgv^}Q-0Cjq z-j?3lV%7Lk>4M>Hv0wrz!`teQPVby=X5d#B-oYH^>4b*2u|O)uguIDo=xY~SqlD9> zR0eJa&yvz`hHvh3q;$C0&XuHBlJyG`f0CgxS&G60K~essiuO7tj9zF>Kog^GW(6=k z1ZyKZxdGVN3~u8iHUbfIi%454dXIt(6Q6ZI8(QAWa>$o$mH0sLvQVG*kq{Hj^7+O*3MJRC>QQoQ nYF;b!YTU>Wo*^(pNQPf|8JhJXfib*Ss=X7HR? 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 literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/request/usdt/trade/SwapOrderRequest.class b/target/classes/com/huobi/api/request/usdt/trade/SwapOrderRequest.class new file mode 100644 index 0000000000000000000000000000000000000000..f4922a638e14a20825b22d61a0d07a274290ec2e GIT binary patch literal 9829 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 E567sFAOHXW literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/request/usdt/trade/SwapRelationTpslOrderRequest.class b/target/classes/com/huobi/api/request/usdt/trade/SwapRelationTpslOrderRequest.class new file mode 100644 index 0000000000000000000000000000000000000000..a90f99f54feb23579d0102aefef350ffd4182640 GIT binary patch literal 3019 zcmbtW?Q&C96kR8|UrBFi2rVUo0#db2TjEFgN+}>%wAw&z0R<7cO|K*vl9=3zFTo4= z0P=?)IwNI9W*q&4Gd`1uYoB|Q-iFX&hE99VKKrb*_daXwd#3;V_xm3JX7FtqqbQ|d zM+kTtNa-$x! zymD}^vF0me7jJt%c!io*zg1WXTGjfkSp~Zxffm*jGO_K&hTb%qUX@|3lht}PIHhoG zJcfxv#60>`Y#kvct|%B`2}6t3x_@E)&Z^(K9W#1ZP#M0TU@ii31e zf!KtEVJ%YZ)kxEpXct#+`{iJE;+leLY;B}yOTlae73sm9qTN_e=jpv3r>lY8_8SZ_ z-E~TDhYgqx_rk^CO5l~hD|t=bEd0Xs2jY~y`n=Sx;8eVJCG5B4_{0KBTUuTy&9ipe zR?Ba%*8+vXo^qVAZfbKZ%;W@(u!TwDN@KlM_Rm+PXAf?t`(Y8*#eS^1cny19?8ECW z-oRc3@0Hs5Wx7pa?v--5_z*KLCXjdWfmoB6axpE-vpA2+zlz}D)|hNOuqeMU#+$qLniRV?9CkJ_d7U&WeHDqD_!nbaJ+U zoCsv+oDRr%z=D#o77K57JuI}#|2-VRQC?;QKjIksJi(nRj?gRQw~aIWb<|Vr3C&d8>}Yg^gc|a~ zMY5k@Mbb&8Few*_e*kfb%`ir;AuI;EoS8jo%xNL^Wo9ds z!O2YChdsT4!JFbAC>pYnGol?w#0j_DqN%s2i$3J!Ouewggi(b_EaM~0vm6sk zq;sAHrSTc56{-)hK|i5okituiuu~}Hl+A|rzy@|@heO*H{|JW-?CyO- aLh-`aYbK&5K^jEjMdUcAHAOb|AoV|`&{RbL literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/request/usdt/trade/SwapTpslCancelRequest.class b/target/classes/com/huobi/api/request/usdt/trade/SwapTpslCancelRequest.class new file mode 100644 index 0000000000000000000000000000000000000000..330f273f808c2d7a36983a039bc44d25d87f04ce GIT binary patch literal 3345 zcmbVNTW=dh7(HX}&CWV;LethEg_H(J9H)j-dT|;E4ZVaWZAd~(%dH!G8@qLEV>=)u zo)J$-JRu?RN+r|>s7NYN3BgN|_)U~@zTLIsxLZ^ua%R4n`R?b;?BDWxDtnfB@^$*xxOmHHPQY+qz`5INQRGP?-LW(<49u3f+O>)g}jA= z1=qq2*;q4CR2W|V+^Mb98s%B1l6T8X?x!1Wqj`FxR4%x61$(YiaqF{Xr_pd5T;{8l zX5Gm*XR8HQVPO8I^O=(^JC(KUal5oS4s7*R#cq z>S`(L)Joa9Uw(F@QD|maXu-{f_J?IA7u;sCT3B@I&br%l>-1)>w%T@OYQU zcra|=n#<;Qg0P3NLSTqf@lp#3lZ!@O9ejn0M^+ zFz%oEi=6@dvi|A8!PWr&Pb68R?%q`{S2dH<8!QGacOSh z42z^})ZNBLxv7xo%G(-k=cteRDQ&Cxk*#Lczf|n}a&@Dgch8oD&_kgVIV>EoaS$aN z!#H5$IT@apVFU*hmUqYW|K+2?vE6yKaR$e1Odw<9b&)1TIxIt0hO;=Qu&6Me zlFn=*nx5Q*mQHD#(0}1+1fv`cC~tg`<5AxVFX3gbXzxXp^C2&8#FHd))RQE(hB3v|IzPy4y26ogm(iznDg06%rgSNID!dl%QhQpLLYTHop@$;VLJNP4mrp8O znAdhGY*X?Y_`OtLa_(VI?oOnCgs$D0_!HLm(4%)I{(!ZRNpB(MEh)q=W;o=u$-mH( z(jK7yHtfliwuPRShMm)?V&{yME;_~o4BSQ{rKgMzr9{r8QX*%iOi{7|B{OApDD~!I zRO-#eQ!!DB2THM2yrrbwVb;-(d*PQ~^Q&p&eiz4af)x+q2b|cp-lng!$XYmFl6LrksO-dHN<-;*UDTeRxEZ(9N$7$wq41K2c4|+|^ zKEz%VZ}VrVhuH6nu_uTv>KrF1nmpD%C`?pQB2fhmsk8G^cfzc<>(pr^bq4%C>A}ng zo?E;!>MOc1>8O^RI;Bl}U=AmziiFZiPTYn$xrM&#vTx@!IY?>2i6sF0M~R&79T8j4 z$V%z0qu!k19U1K-B2KH}aFEXXxdh2av5xbYW2QP`c!yGiZM}gDEGWwC7cfsrBN#_0 z3rJV74;LvJUh{u~^@tl9o39ib4y7K^aC;q*jX~%wg_e%Cb1P6YI@Go`yLSU+bEopQ ze#ik$SR=oFJ|_HfMkoO@_mSj7-#;+0g=YjBP6K;<*%o=wmlGoI_2piX_i@<5{_f|~ cCy4**&jdY=V9}$|yQD4HU4Cat=OM)Y1HFQBH2?qr literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/request/usdt/trade/SwapTpslCancelallRequest.class b/target/classes/com/huobi/api/request/usdt/trade/SwapTpslCancelallRequest.class new file mode 100644 index 0000000000000000000000000000000000000000..a5d91f48c399948690233fd3921f9eed49cf869a GIT binary patch literal 3386 zcmbVN?{8C87=BKBf3>^Yy2*ed$k2&f*HJ~}N5^n7eoZ!*+eC+=+_jgr(6zPgG$wvF zelqcs35j1NF?>+sMk0yPFPQi@iTJ$t-gbATi)3V+^WJlw_dW0XKF>M*``_Pw2XG9f zIFgu;!NP(Ji!!_~!!;8h#9?6G#D{TyFUfFS&>xBQu?#n4_(aw|HE}bJ1m-O`GA~=m zS;$*(E!>iY6%z%8g9~3c)x~PPH06|YZpkT?=H1WM+07* z*7=#Mlp8fC*O;p0U4{Oc+s@}srsR}YG7F7bvAi;_5X%>9Zmvm(p1wYH^ z@W?dln46!TJdKw)Xe`u{(PDxBJJY#Zls+{P%ih(6aC%UBPpdaQ*u+csxuQmFTt%8UfAef# ztqP=?_rh?hRkxg180&O#p1GdQ>r8?yKHPwYi10)!B2;-Z+45!*#<_?858-9*ze20T zS?9bj^$;pGx{gRHy^d&VY#mxEsjWl*g}V_9aWtU3@l}q;d@mfvYy6_WcdG2~^UjTU zmYf{*EIC`lFzr5#&;&sV$|yk)@=nJKG(dU&k9PPCAt3 zEIl$jy4vY6J@4H4ydgy}t&k!Q zMWuBt{25(tSGXvz6;jlu;o_ecMLHJeUtAm)A2 zh+j!_$ZBJMp)099M&CWyV@YiTT}_0Y)d{h)Mp74y@fiL0(4EwiMhMiMH3{m@T1itt zRsb@SRtVISjSYJ3btfv|{)kFXA0qahzoy z$I)wA|Deaj)D!GBagKkMdV;;a8QaEeO6LSg(d5PUNnxUj7KJKoNS)zJ9i~}t)v41- z>J0RK%A=XDJePQ7)YlAQGEg-!ep;LG$lRY8FOW(rF?tW?*amuU%DSD^WFx5sJC+da zZ*^yNZ;RY|PF7NHZuMjhZ_8+Hk#TzM?@ZDqKbIi+C{}R^)67&S4e!#5u&uXnnFU3e z{VZl^X(Zz)Z6Rq1dvJx8;Whs!SWmg2vH41|;ZW)+9XG!tvM>O>320)ptxEyS2*Eay z?W+OU+zQ^rci5l{Yviw=&k27!Bea0YM@aCY@9Xd1zzaeRr~X~OZHqnN+udUC_U#_A k_i)(2-uCCy7l{ArPX;}XV9t}#dz3BMUH;Be&ifGi4;sIOCjbBd literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/request/usdt/trade/SwapTpslHisordersRequset.class b/target/classes/com/huobi/api/request/usdt/trade/SwapTpslHisordersRequset.class new file mode 100644 index 0000000000000000000000000000000000000000..8ab9c8241d8fc6f3e2ffd1da6ee006d2d0544bb7 GIT binary patch literal 5008 zcmbVQTXP&o75-YEPg{Tc@1NcRa1VZ7!0ib0C}KyNr=)pWnrEbWR+{Ie`Lczt6p%+~;j0CXzb4J| zV*GVMFG%wZXOePvG}$ylUe$8?W2=fsG%^ z+>b2$SmCynr~U17+pVn!Ypq6eJ!rO;gC}=dL3nDXw#A`>GheR<&C^?cs};03Tx-F4iL{Q^hrK#7tCX1Sw)Ta|s zl3^+Gl6v=Y>?1YRuSu!GEk&HvOkbN4y>)+w5lzHV#ED3vh==*uS~62eEM?Hg9a?*0 zk>{0^5|2oIg4t_+{fy*~hsCDf+KdXZcVcp$=~-HyUp&M75u44RwX+q{O;<{+@#OuB zJ3 z6Vgng>R<}f4rZjeOXg;Ar^1DsJ}3TPDJ$G})4m<7;~@tg<{X?AbX?F0oOJLpeB8k& zq&X#Xr=Rr!}Z5s=eXR* zPYV0G<1*o6jNkOzd2_JPBk~~X5rycUBGEl{qI*h3_f(7SDH!%c{Jk3=pxp`Jc41asa~D?CwRU0up8Otsh^+~w+k4n9M}F{O z+{+O?>iA@RT1VKUk;K@mkwlr(Na8d!l1NRBBvuO_AwFi&QJF5vtb#I&pv)R5vjobl zfHJQ{AH{tPLtbW-VabpECh`}qqVPLnwJ%U5nvB`A>?J&-`bYE#HT_O`-pv3fBE;{c zM8+A$z1_xzOk>JF!#LM%T+B3P*<=_S-NsI)G0QE(*z7j$%QR-0W*A%D#{HSbEbk0s zyW6;wX?#DyXS#-P%y&?^j6T}xJ4m3F^MQe8ua=|8ua?z zJ|XqTq&~MlMH=!-Bn^3Gw;qx6H#x0ip zAM{&Ty@nABYy4-cYn;_Ef3q;D|0O;rCpVqASmiS$r<5Vek|d@-C~3(WNfMcsWro|9 z?6Q_DuS1;Tx!3atx+u`m+vU0Axf5ELN6T}Yl%-vsx(sV(55teie96nnf}4w1Y!Pd; zRQ3$LM4f6Q+clD<0ngM+W_yY1jjSr3rI#q&*vd+l20dFZ+3h9DIkFn^@_LC%j;-=~ z>1ej39*IOHwMkFtP6&IPIUS4{BMLCG1PU1yMNF;TEoJ&L|LdvU7 zWZ^X?u0dquH#mZAqP&PfZJ_^MPUI*Cr6>R>^)B6Z#yv7I3?m^VoZSAYm}aJE9cK4z zOt$uuJN%4=*u=ihq+^x678~ZX3_G?5F30AD1I#-fZp5GyZXa*Tk$&+iw@|KF>u+L& z7qTOjTlV0JjM-J*6XBBJTO-Uf=xF6wga-t_H^LRcw?%l6U1c=FLxRWH?BRXgcZ#Us bq8r?LEU_M*I8v4^yq|r6vB}@o#*zOYpqRV) literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/request/usdt/trade/SwapTpslOpenordersRequest.class b/target/classes/com/huobi/api/request/usdt/trade/SwapTpslOpenordersRequest.class new file mode 100644 index 0000000000000000000000000000000000000000..53951d6938f439e2371b92e06133c225ec463293 GIT binary patch literal 4524 zcmbtW+ix6a75{y^bKCXo#hWENrff6c+yW&ehQZ#wvvgKs-{*}*HK`;Lw8Don3EAMC8} z^xGG9!cMoh754g!jTkUxf6xkVUGw$5NoZM7@@#uTjBbPJCu!` zpv9joYt_Y|7qy~Rx1(U4YIR!C!wS9GRJi2#QkuaJykphvp%Ts9Wo8v0wX)Lcgy(m! zZ-l+|V56-M-`xz_mxEqQo)e`JHCwFHsg=#{^+t2IyU}U{JFP}9E^A}AzZEs~`5K4T zo&~C|hEcP-#To?H!-#EBur~%Rd3tv4|A;Huoc4uy#X7PnlS)<<2pwNV;BIWVMpU+IshGL=CB>61%jDwktv*dP_bO(eJ^89t?x z(MFxjz>rGDVi$upn{gnA3maF%&1h-v2?fG<2rZj}aM=6gGi9!Q3+u{LBVx%;MB!-;0IPjN;BO~8b0glEH9U!GHtwq7+wN>6F zG6}r4^zGto2A#7~Fb;e(=r`jz%FoU%vmO^OEw7$s!6;k3u)o`m6iQEeD_ zW@VWZT^%zDPrm#4{+|=5;J^FmE*{6DE?d_jIW0+6c`Zp^hL$8VQ%jPYg%4Bq zEV@_eSS7`)WO$VXuae(Y6z~y#tgyC(O*0Ys=ez;u@z+uKEoF5eH6?UQ&<*aAkXipd zaso}CqNq>d#(?A$N*J2qoF8|d$aE&NGn|caXE)QC6OrL;jysn!ojFMv&ephdIn$XF znBi=XJ6AHDPvc>hReIxdm+n}aP~)U=wD++XF(i$2eTF|S6fl*hfWjy7sjQIsI}Irl zF$^h;QuuUsNaIdJ3XO*$g`f(LWQR2GG^EVKFr@HZ;Y@Zdtvd}VgEb5(AI?2xz3 z^kMCh2_1%%X;gBP$L+}(+$-$dt@-+EFpZn@e?jpVF!ML(|BT}5LVX_-`jLWreu0Z` zEdCV}p7ACoZ@^vjjD3^_h_Y`IQuZy+6pZyIYBx~wOwUSzD!xrn#dkbgKu!X(JtqaK z`UQfje$guksF;8XUNHrl^d|_K^j&X4KyCt}lmgZK5)V^(}3(h9)vE_L}rM>p3lUu@MTIlw(^&Fnq|oIHhcxoP%=2fO$3xo)^`;flq^In(OQz{Q(>^VO0l6(>TL!aJ?BI*1#Q8F^*f630T8Hle$U0M!pp3=d?Z|X14sEuF;zRZkK;lvZne8&nd9!& z-V@6ek?)S>s>ml|d6HZ0y|G*q`5rF&c;EPIG^T$1-Ek%1K@MNh1G0_#xEGm^!}VSi F{tL(;Y#IOn literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/request/usdt/trade/SwapTpslOrderRequest.class b/target/classes/com/huobi/api/request/usdt/trade/SwapTpslOrderRequest.class new file mode 100644 index 0000000000000000000000000000000000000000..9a11c87b98ca12f8ad475e965b75b4fb65b3e92e GIT binary patch literal 7267 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 literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/request/usdt/trade/SwapTrackCancelRequest.class b/target/classes/com/huobi/api/request/usdt/trade/SwapTrackCancelRequest.class new file mode 100644 index 0000000000000000000000000000000000000000..ecad4f50d2e9bb316ceff75f9c7b89bb6d3fa9fb GIT binary patch literal 3354 zcmcIlTW?!M5dPLaH#^6P6PmW}1p=gyI8F_vwA5)!Xy_$0X+x71Qf@tQPGh%@Z5#)L z#53Xvi64%XJ@~eotbZT&)@(4_B(*X zsMxragu;9h8O$f(U_pkn|L zU*ob^t2T*lPSuuug@KtH-e+FE;#F7j^UX%Nx-y|)*BUgPURE&bURiv!j26DA)5urKEJ-U+|2W!Wj`Ms;Bd4$jGIvyI>Nr0a@D`EzPjW$ z7QCejkGGDOtL5fNh4UkiM*no0(JNAlTG6Xq@fu}0COpe%mddQ!v8T{X2Qs!9qqbktFb9iwv8Kxqy#Odre8-TDQl+h~h|^Ng}sgauK@h zaG+gUWYViJ+HIaLF5U2p&56;g3aYlff5I&Vv(_w0>-9_VhFiT8He9gRrE~*eyX#UK z(_SZnZQY7Vy{8x3571!`Y(GFNQ}az;kXc?7;g;7gxH?YJtDcr56`Yc{R?-p1M@FZa z!`!9m+0#stveod{)+2a63kGSckL)(I-32n!Z=8{CsV_QS{H0rHS`OxBo$D z0)@-}%cXL00A&~Zu;0bAGCU{45cVq^eaZt}oW>CsW5~I9U8Hf54$6?1;SA0y?CS39 z_T%)JM_{D0XHK}dftxH}ZYZqw2|hu&A*nZ|zT8j?EfuFmjk>sq9BetYZ>IJ3FzCKADtLh?e6 zL%|sT3q2X*KKgIL9nTn>=xHI`f=P&5urj7#toseqhnPdxO+-B7Aj*F(#uj_2uyx+l5yutJb@dJ+W^2zo11_kQk zB<^cWP%>~9H*uVjiCOqKLCNA(KZBE$Y&0;5Hz_&zmJi1yr3AjiUc5yqiBpW@2>NX2 zAN1OodVrla-say?53pN{iN}bo);UU^4SB6KDGXFmVxtNhl4s|o?xfjl=V{VN@(la? zSkO6q;i=*?p}wLEn~v(~iQ~qJfXsdAi4v)F(qp$^k8h&yn&{nvAsZPZ+;N0py_G7M z!4|m!IstDBIC5$7fsSR9ZMK|9IH5oX+~<2hIc5%Sk~(}&xGQPeik#7 z43cq(vXHchUAREW3X1;|oQG5xEWT1KIFx!w!>x5p6oW8ZfELEst_opR2W$)3tqsBU zcJLNHVuL2kkzYT}3BQ~%O2Fhjr1|CP9~jugGeQlgfgM_QMIO|0O5~kd?iG0#hfVD6 eem-@B=vRL-tZ@u;K^wixwgsyzkvRO~B>n@b&~=^w literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/request/usdt/trade/SwapTrackCancelallRequest.class b/target/classes/com/huobi/api/request/usdt/trade/SwapTrackCancelallRequest.class new file mode 100644 index 0000000000000000000000000000000000000000..8978f917500c8003c055682bff44eb94d1b6ad95 GIT binary patch literal 3866 zcmcInTW=dh6#mB9o1Jy+hTcp|F%W3tBz3ui)3o#k6p}VHrO+Gg#@W_xT|3xL3lc9# z2qAcZCnSCVeJK(Ml1hLO@K7ZFKz{)I3~t}qSvwndBPuRUGxP1tcg~zS=bPEh&wqUV z9e~I1hK*AxD4b4VD^4eo#2IN`ljf{6=cMs$%%#|urI{D1FX+597o@33Q;g(qDE^chGRK;NW!!O&M$1Xe;DruX+o|nqK+Rey?8kYhJB()PH@^Z?*R=R%`Qq zQ^7q{ulvpYHLun3TYM}x>TMdd_c!K!g~6$d-W9J{^XeChv+ZWJeqll(IbUu1<#x4E zSFjrA&$oOoWh{7Aao4dw_T~cZ?YYi6XNO0o%8kp#%3@=#TJ#pG#iov=xY(L+7rExV zUtBZXp*3g1jW8@jhn$(J*8Rham*@QEF>kKMAgo>0dbPb<;mq*u+xf3XMvhCi8fC9` z+-p{4;c#`MU8yp$yZ*)Qxw-7L->x*~XS}9&*>C$zddyt#S*2*T)-%U3^>Rr(uu`%l zACH7pvx#Sd!bQF5+GSYR)&4icIn2;dbZ7DIL+fI+TdXi4yaT1>IWqY3QomqRrD76hDQ!@lQTyTO&??y zh^?mITCDMyrF%A(8j5Ve9_qwv4(ae#=sF6g-O$HaAvN1rY?l3Jt8zrPt$Dt7h@ccs z{f}qY#RwK%+>5-6`=q&Fng^sALSCWt&)0S_ja@E^*y&*ip9+T!Ujwo#E zJviMPa{HRO8ICG%(!~{ARdC1h-I7f5vK-6nq7d6-c_|A~W-Q;amBMgDjktIfJ9*Mq z0?~R`pdNV2EN@}Kug@!t#~s7l4u0oiWJ;5KX#ge?l4GKTq&euB>7Zw_gP!?jpQXiv zc!=+;?R?6UFaMlxpibOC;&Wn!VYU`~jfh=La#ol6{FWf+1VRQ*bVQdLzVSEWz zA!jVXF67K5IA4&Hh61j;T#2ZW+ zWl7JHn5B-glu;H+RKQk(EV5VZ&B9kOWIxeJ`h!SZO$Z}VBAggwv)9;-HKyQVjICbd zbgVIj8e?qt8V|%8Q{XYiPOot$*7$Ke5mvRtUUF{*745BEGO*sL8Qt1hVeOJ{;rmjm-jKb6LF6}#YDYERk6an%Qi+6e3Ian)~ zqVKLtt!G|nx;*N8_Gza1)@b2Vn8x+dACUY6X5aPE?~$AyD=Z@wJQDOD9%EB7#(zS8 z&bWzn*WixljAghTM!IB@k}g>}Q#jU53|>PzXXdO3X`p12G*EJKwve2VWapd+DN{<4 zlqschNg<^|QZko{kg}zIlCmW?*DoYDBoTE;#&vG3FLGDt9KEBr+|}DHO!EHV*93mV z9^M}b9{Vrx49EI-JAH<|L2JW)Ts#TFbQa`6IV+lxWl`3(a$Ui=*!ZA|gMqkhL`4U>NlJBps9Rt$M( z>B3Toiiqb&Dk^D+UQ|)3nB6p(+`ObAJa&5m_3;(QAzppzSGsWM=!5LUE@Ltf#MbOY zg>rDRqt{@MFJs*~8BdoCnaCO8j3Xk^Qv)S4n4&%cBPVBerZOcfn6kQ4RE@UEmh51P zf(fncU}|f8d5`Ka!+rJPJ4!HU-3%Vga7~l literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/request/usdt/trade/SwapTrackHisordersRequest.class b/target/classes/com/huobi/api/request/usdt/trade/SwapTrackHisordersRequest.class new file mode 100644 index 0000000000000000000000000000000000000000..69b48c7bf78a454d9ff6fa6b1defb50d8ed69469 GIT binary patch literal 5528 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 G7XJrbT5p*E literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/request/usdt/trade/SwapTrackOrderRequest.class b/target/classes/com/huobi/api/request/usdt/trade/SwapTrackOrderRequest.class new file mode 100644 index 0000000000000000000000000000000000000000..a9a9d3cd772fa92d112b65f084856a988c96594b GIT binary patch literal 7187 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 b@^P;f4B$@Ps_(*EILhB6_$MK}8S(!DBn5=h literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/request/usdt/trade/SwapTriggerCancelRequest.class b/target/classes/com/huobi/api/request/usdt/trade/SwapTriggerCancelRequest.class new file mode 100644 index 0000000000000000000000000000000000000000..c1053eb5aae94022e9abcf10c44d1e11b09c5276 GIT binary patch literal 2421 zcmcIk?QR=Y5Ixu4wb#z3cGBjz8TeG@H3J0$>mqK*{!$p53RjEY zTKn5hb$8cxmaTfpu5H<0x9p~Sr&X<$ZAZaet=G9%vzkr2$z`cgcO9$bE;q`y!tmM? z>l-Uuv+BFqqU%)ayLp9h!{O1@GNql4n=g{7wNhg*TWK|Rs#$Blnsxj@*;cdcX6dqQ zXU_vOb>2oBC1Ywnp4eKoZm+lYc5G+c+Nlv?Y}Y2%lbA0NN*~n2YmJgsdt^CPIoLj} zxs@t!oqv7o#1NN$JZc2hkW_4ay{rf1kq>!5FQye_&{>8k=ONvLB{ zdbMSgton*TR4^)5v*Kqcm`tq_!RFR#VTBMWha9`vs<{e-JyDIRZUn<^_~k|O`D(rD zE-KvY!&`qQqs2zcDcSd`QV^HVE2djg6bg_3w=y*`kIzhuV$8%i#uVmWJCup{kTh`_ zS4`X#=`E3F@xH=XZ*6y5`NnxSPo6A+1ru8+veu?2+w?CmPbm|5Twzfjd-uypff;4B zhOGU4yUw1U>64bT4cF;hT;qdvk?&i8UozuKB!_bp5hU;iU%WTDn&iHGjOS2~pCRxA zWrYcjA*acf+C0;J$Brl||^ zzla%*8t!xF79|}8-X%*ZgxmB#iAdP^8yCWO=OsqNc$Yszy~MaLM!ICANQNd2)Fxw& zAthzHupmg!%b4CpsuQ0eZD%aw(aZLuO6dKQE_BYhcz#}6@JO79=PRVph-VHEo;gDF zOVLMinrtMr_KqRMa%-YLVY9y1HjE%X#0UKIIc4OJCrAP>rdPSq-bwCs&&^rbl8|}1;W{k(DpncOV##Fp%@;L_Bmgex_5iZDuISt2r zIU;hL!x4sh+sQ8kzZaA3dnvw?3-l{Y7B~kv$I{O*?6p*S`YFydf$8?+LNVeEA7J@?+{o;~L|&z{X+|NQzJfTOr&Vm=9l z^9dNZAj5(TizY56IbV`tDT&?qT&!goR%ChE#FZolaNfdInZK~`rG;x2uFL8xft)vS zL*c;6J!k#0@2#!5{%NOHa;r|Yy6k?}bQ{5`rdKVyzJfhptMRz%G#YM$%Tm1-_)aM} zT`#)|!wYwu@0~)`sjU@O0^h5x%_tbGw<+(5xxZF?+DW*18JyM;=# zzUmd6b+6z@&nz?><)A?CWw)?HXcIe}wZdi)S`^^mf>(1dHt(*w{$*#i%8&=wTn68r z#0UfGlg98uz2sD{I=&|tTer2K;*o~ASIU6l*^J`MCQS)0FSVE&Bwt$t9G%=AU-qg( zdeIFk_41PAJ9pi{^`$<%-0hdkwqJuRJ5^$~xVyA^hqao?URO}{tp#lzDd_c}B3c-d zM8h8uU5&aos}FEtcug9 zL=}!tX6G5=((?S`S>{07@ZCnUO3e-Qgq57=3c#FbKg|m2k#>1?)~k8JoWk)wly5J> z_8lopa;4t%OYS*O&xxt=sBW}X*2Wne;ES;N zxJa}Llm$y+IP2?ft*kKJr=Hv2`gZ$ZVg}nJ5JyaSqZJeC!kO%GwvoW=c!T}M3@C{U_=Hi%`Dz@&DOwsadvKbT9+G(v#tUv}BvUC82&G;SzPXOc z#wheQppDVCZna=W7i<&RyGt;`WaEsuW1Ef9;!n<}7+~|-H9WY1v{1-tcqp=yVh=}l zO6=D-Y+$6fheRrjy4TSbHHzP#b9{#MkQ@w08b`K literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/request/usdt/trade/SwapTriggerHisordersRequest.class b/target/classes/com/huobi/api/request/usdt/trade/SwapTriggerHisordersRequest.class new file mode 100644 index 0000000000000000000000000000000000000000..f02bd85e6c5d92712a6c65cae1970fb4a42ee251 GIT binary patch literal 5012 zcmcIoTXP&o75+w=*_qv)y=Z00nZyAp7DQUDyadc`WE*0~jzuKLSi&LUl8kmI(mL|4 zvO7xRa3>@{fLyp%Q5283igFc~LUI+MQsgC6@yruE@hf=2gzxms?v7Stm5LO$)qVQ( zcg~zX{q^aV|N5Ulz6szsern?B3^cUU$e<%lAkCIE&q(vEG|x$M&BXH=_Ft0b%NZQS zS48@%G+&eE>(YEfnr}+;f8Tc(6;cB^xwAd9qGSo;bjZov+#WjKd|tMg;z!W zn%J~WysqJ%EY@0AtLs~>)kf9Z zY*gD}*ww90J*cYhSNB=n)IM|3${D2|uCcJ#X!;knuCDs+6>oKe5f#>au0NiKLkuV( z6Q#vg&D*%_wHsm>S?j@igG)d4u2#VCY(}xt&-B=?5c;`J6Sf?sJ12q1GA=GI_LH8C zhGE{7VU+qpXK=-1(|Z>@b6G=i$q&|B^^0EHyXprd6a%GkEYR_|Wj9VSO%vCPR6ZDw zl;e1$(J+cs45LU>B!aiWukH%);ngdCEtsEqOoP_iP1|TngV74sh4CY@KT`udS91f( zyaL9^UI|b=!gSJpT-9@b*&jk0ReXT&j{7*8puPOD-hlS#O$_~(vW5?`O|b{^Y`L9m z1zlw?TBH023=4E91});l)Yu^aAHhdC(u4tQ2aWYX#TGAF^<7&I;=8k2De#;HN$ z(L`f1HNn^%G(MDQOok^ITZ6`9iN-t`3C8I`6UnyAUbZ$>p54aq?a(jhWm*&G!BX!oW>c#_PEp!>QdO*b2+VCK9C%xaZr~+^q$MIa(Om6 z%G5z!%9-i8oK-H*CA%~a>Qath&t*lqd@$Libx@abl6x-al*{wUxlA9_r4)sp%VWwV zD|fi#L+9C#@DxwZmVX69zcKq3GCzkgd}H>{$ShULJIJab1^YsUjjPZ71zAUb8za|Y z&pG-Ia$Q8;H3-SODaQ~@>TQ&+Bj*@SDh4XJCP4+)a!dhP5y*6`7^vu`2`ai7CoP~% z1WG%Z7-+=J5;Wr4PF6s61fmoJmE0UbB{%Qn1eA|JIVT?jjk*PbM%|)Q5Ku7!6`W!h zq~G9)8IIM$@O<3}lh-|8+9V#rBC|cF*;rzI9KsZC;R1ETypaEehbifJ5P!!-N(M21 z!>1{wc=>GO5+xID{07UEEWD1_utF(~pW$VEhEfJQcnX&(W$`EYc!ZLTf8ZQGODTtc zk}Ho=%Cm+~;xS4EErq-AIZ8!*o@;mncbL|{kvH*$TNpR-MgFt2ThuBs{lALclJXG0 zqst>9Dk)MYrAisXEJ@<+ij>h!qDqS-F)C6^in4r3P<0>ee@_<~I(n-(e?mX0hBMLLI8qi$MFk;#!&T1_2Erqq++;-YK}<4vrh#-$tF@H!<~{7r7X zQ0gdti6<%Pd~LmeHA)7zf1Q7YQUU4Jpk(4z688!v3%|x;5=baTGH7eaze9yiGH4nJ z08M*`Zu{dQQH;Up0=gJ|wUOK#kJA}sUN=_)VINe#gE0hbOKN8BU zM|YO)4&@P%-xJCuk>4B2qwGo(Y<4g?_@)S}R``OeM-@D_{@=e^M z-WBD_HuUn`HeZB}zRkymV{F4LJE?70Wyjpco_i>#ULKc1KfOa;iC!M`t)8<|6Dsmc z3i&3IT+h0ahg5X$8SwY?Gx)Nt2MI{u-Yh zpPcc@8E1Tz8HWdDY?+Z6M_+Kpze&XJ>~4~62%XL_b~^W-d+&G7J?DPsoNfR9_qX2x z97WB*r6?3GM_}MR8Lr51RfhKsd=TaQp$s2IF@%prx+a4y!?Nt<4CJFo;Iauv=IbU_ zWGuBuH&SkDrZq)2t<4h&*C?scB?N97X$u6&C78|uU_p*_mHoTXt$o_Hv1?Bvu@T7z}kcUFs5Sa<-DQOPB0gQ51b` ztx+iQu}(f&4D`>U8w>5%9N6MR`#obm%zIK%T57*)qTU(G!04lqj9pUbn{yh4N`Aqv z*=tUN$v_9F9B^PTsM)+cM*@CE+=b^-bR=-O z*{FE6MoTA(|zSXr;-oO4B~h6CGG(_yI!1^a)mR|^+W zw(vBbv9KS*77oa85W@=7PjtD3H}R^4=P_#G6_F+|Y2mO885z!lr0wY}{#J`jZ}&Q* z!K9tGP(hVdH8I>G+TFX!3i9@Z?`ap&Vw_7gX5k%-vP9cnctxVX{32gryUHG(SD5UQ z36FNJb_?8sZ`NcWPrPJm;`!zVzaW5ykT5|hBxJZV`EX}a!nqd_9Kr}cYR_^tOq~3f z_n@xaMd)YB3eRy2a~8A`0yqjf!&!Fq^sndf!x(og4}dhrxl+Oz$4+IfQ@OvZ zGP&-etamCWyDBqBx+sS`m3MVjegQ8sIB`46S>7m|9^XLEFO-5oTdww?hwy`zw-XK& zju5RYF8a85iGNRYF{$m;q|n(ix!*PUa(9#ZPEAT?v`ijwO&;rRGQ3lhl4LED2VIk_ zT`zF;CFdC5O zX`6^P5wWaJNGuyp>4FL0NAecpDLoYqfUK-Rkd-x4hJZ{TWTeahD4vZF6wgLe5dlSg zP$U&?g0$Q8x+jqA9`98znilVOaGd$V4=R4Z6bm54I{OAExYt9>*O;cHv8&y{Ym{`% z!NEyNVU%zVrzjbyaekeWiEmlerzu779iGA&N>RK)KaL?`nE#;Hz}W{FG;of;rh0(A zo)~$I*v!V`Bt@L?NukS%jxte&4TF4*9OEcRsw^%ajE1EE9sM ze8>%rkFOLT97;W;VtXBujRELQKog^F-ST1K0IZGd-1Wi6R&X2N<$x-Tksl|I6Ra{$ zY2BypA;Cu9m+ap}QmEmS+~vu!P3%q%c(Nt(peM&g-a~m4dpp~wR|sC$Kjpu%;$H-d zyieL^iL=gmD18?xw}qxBHlU>^H~1AvX&ZQ?v&7w&deqZurQDF;QfbNkut~-au|S6T n_##Q)(cFaW*W89H9a37F^q>%y2nyj{?Bgu|(DA<-)>Py_XJ5gY literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/request/usdt/trade/SwapTriggerOrderRequest.class b/target/classes/com/huobi/api/request/usdt/trade/SwapTriggerOrderRequest.class new file mode 100644 index 0000000000000000000000000000000000000000..2b64c31b259ffa0639dce55e058c8915e4d1274f GIT binary patch literal 6958 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 AjQ{`u literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/coin_futures/account/ContractAccountPositionInfoResponse.class b/target/classes/com/huobi/api/response/coin_futures/account/ContractAccountPositionInfoResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..b5d7c04a06a234e34f7620684768ad7abadce317 GIT binary patch literal 3813 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 b)Ff~vEb$k}a_W~^VdJW{s!O}ss_GH zL18h4UMwbI;EF6?$#T`e*D3DTWVtR1H-xffS(0PXz;X&5STy0te$&K?>?ISfiCaS6 zHc(a=oT_+!)h_xc@7iwJUMf2U=dM$pw|!^csjXGKnlo8<%gatx!J76wr#e-(Yc;24 zU{%39W&8G|V|xmTns58{nnGvcmVMXGm2Gb&x8PS@Z)H>==2MbxkrXNcUt6Yurljt> z| zh2sM)C5?*R!U>AJrFNr(m!wCPqFugZS6wj}S=IcK%P!6Ba>`7kXS2I+*BUOOuojQ`wzE*jVjz|qk!-N|0X6OODyy#Yw`zjNXfD+D~x?N_x zoANoobjvCFqk~rzRAuvEibPDb;+JH$wF&t98#BxbxXq&x2xWwsp+LxFzzpYCDrAR; zc4DP?d&XW1-W4ZxFlf!9?VXk=X{2P=O5xj%4-8H-h`IUcnbVAtbb_O+UiMk!ru%rm z_|yAC^QK=3U%EnSp;E6FoinZsg?D!zEk^{o3ioz-dhYBvnrRjW;8{3`*Dbt(H!bwx zkizWlhGU_CPc6KMqZTHFdLJKH{GJ}SFoRiz-mTBK`F+dooX9|kkZ}tYtg$Df+J>(XaSE4rH{0f?OMzIDr(mzGIo`6uNbA#$z6~$Vu8ptF zCjG|Kd12Ny^l^wkHG26&C61UhlvGT58tiNM@>SGAQ zJn?1_omlP);uG&(0zBRwA#DX-g>#skBjmKlc_mHdG@0orjU3eoDXtQhoW!J_{RNt2 z5NnB}BZwokt4DDtLE$!+^{topYmA^4z5kiJ+oV z$JY3*z)DZ3(X3-4s-sj$S3!joK7p8$xHg&8|Eoy>j0%cQlTvVnQH({sFVJ)|$``u* zvM59BZFDvfbhhbaqod<=#`zG&ucS0d=5c>0`y+Ji;m{v2et;f-IP^P=nc?g@%-~2O zIXlcHuZ{ePwv6@^dmq3W$!P0HH8k4tI#t^8iHt5fiKpm%fcA`@Nwg?gd4oz;-pm-H zWJXFx#%w5Q4;fG^!o!@ehJiLaa~~&glF4-A9wv$U7+;%s8!Z~uK)Q9=R7f5MDRWB}((t~1tgT!+(G!|1S77$83r~1Y@CX8F zC0f)rG`Di8%rN;43TuaJ3{?i!u_x%@)ZNpWUdLW3A-B%XkZxPYzRs?YwuJ5`y^fx( iQzk@VINy#%rHSEE(BjL;aPJJf8Q4#xzD9H%K=NM!%U%os literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/coin_futures/account/ContractBalanceValuationResponse.class b/target/classes/com/huobi/api/response/coin_futures/account/ContractBalanceValuationResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..70dd61f89765b323f4e3e037877ae45af8dd9b86 GIT binary patch literal 3771 zcmcIm>v9ui7=AX{Q_?Mz&=w+yMT)lRA&Q`owxBHst7$1N+GUMnUobj4OeBRy7p`lK7rgS>r_kQpBy!rF*Uw#E}9908fq@iFb1s&Jq z_)?DR2EI!3z9GlWH1^?^K(-vq@+=uxNuwJ}CLFnMn^={*Y{E5hN5H$nw`8EA;O!aT z3#xW0n6@jnS8^8ZO5F}z-@EM8)_t$$OxNAYic?i!&3c|wovGNhno~2drocRF2lljM zdkXYgU6p* zYb-ayy+1U(vv#&~Bu+G)P-pxV#=X1fdd_@(ZP}?_v6m~vq*k3^Ax?BJ{o5kdnWA5^ zD~op36_Hp@4azPnFu$V#(NT^5T#=%0@+B^=L89cgjod6DW$!j*n#fmK*Ho>QxxS&7 z6F0obHk@;UvcGc4uG(u(;8YoyMllI+Z@Wksp9mPFMiDmX%~&Rc-oLpP->x_6QHj+x z*e~?wq|I_9mBExQ5J}i9MdNc5&wL{)X*K>o@3Qn|FFJ4M*EfChTW5I@k2HK4 z!(1FKOVQ*gxVocBKimAyaw24)?e%rXTTw8!MTfrpS!jJ(Ht{zWK-(xp!_nZ!Vg9Dr z#~&j}B&3vt5>n0ZWwO`7@tFS$cxRkA(SCgQw0L=;Fz` z@f7YnZ^3H0pOF;SL>uca{oFUE~=o}I#Kr||AAh1nuB(J8ET3ioUw9EJNX zZ6CvXv62FB30KdJJVx@T4*%1kmi~w%_FvK<=~VbDk6|l(^zd;4?{B42{jVyeGEJ3- zLX{ujB#S4Z7TdklL}juq%m3zOROD0Sjw+zDv`1P-252NoNr6ZXVdTGZl6Q(i4@Po7 zKvN%${0{wlXvs$-zd@fH&27L4p9IYLQ62?#><@Hh)o0lA5Y|{$-9W0rkuGRtNf-32 zCOrBxWFDeBt7Y{zrmliPrmljSHH68GnT)L2U{W7#8T0kX(Pm{HU<#)hOdsy!47)AC zws!F$aY8G=DjbNjgbY-10OtsqI9gN=rmVq#UEaM(dfPe61UiyuphV>iDEw} z<5Zzj(bb-bNp&hL#KE44GRt80j68%fwgKyw;L`kiGRz2%-;KgQ3BrZbrpydK+7dvlB~Zy2(`^IX+Aat;rV55n`lWx|88Xk`>aL@T+uWk;DW( UN0xUcOoER69H7@&*#k)Z16P?->i_@% literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/coin_futures/account/ContractFeeResponse.class b/target/classes/com/huobi/api/response/coin_futures/account/ContractFeeResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..db3c40d500dfc01a473dc42801adb432629b9c08 GIT binary patch literal 3298 zcmb_eYjYD-7=BK&o86>aD4{JxKr2>h)0QX}#k7=5p;B$3Qb0j0Y}2I)giTF0UOxH* z_yhg``N9XCkusw*j())zf0KyMyJxdWL!H5anf9Fby!ZR&uYZ2|4ZtL-X&6|R!2*uLcFm? zeKDmORH}uAN+X~|dbzUhQ)AszxUL0b^7KNfcDGP&)>bP8ccW6MdyS2n-|z~hTE)L{ zt0_{Af?F!pnto82t@%OSEd_I)cQIldZiO*5Bc|59U^()>e`K`7%h-Qowzft`b}m$W z?|k#_s#m|{u2zZ3F4RhH^@>}s$U8zBLAk=D;H7ZVsjh|LXlu5BQLBMo~)MJv-X#MDA%a-mex*K8Band=Xlq|XaS@Du!*=>|{ z-zG;!=jp`K#regv^pbFj6Vj{(Om}QPIV|?fVXfW{YP$Q$J6-WB!HmMu&Vog=(NXoV zgk7T=mh8L#FZa@Gmszeg>m_flB2&9}o1Ji2)|P`DUU9Gw`yCv>s|qJxaML(AgZCZ0 zj)M-~6KDjZ4)Pdta29h4d%Bn9>1L(6=G7gXM_FOtHja+y_BrmLg4-zsQmgQ0xuEb`2oLeYr6lP*-yo*ITk$sYKSTW(vJCS~g~%-4 zBKdThp1ej>e$Pq zs7yYGm%40|Ib#!6i^DFOWU-5>oGCo1$H?ACZ_do6I+)T$ zi%jXFowJ0=j+m^R-C{BxY#Z}+?Py$?dpL#<7|Z~^VHplFkYP^p6mdx|h7zU;8Tb%$ zI8Mmq6raQlp%kiY=@W!3)YmxN{!;@AuAz=_ v9ZMhe%lDHO+LJAqA!4LmdXwQsk`>aP@FhC(35f~TZ7=T(Q!q$VdyxJYCwr=? literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/coin_futures/account/ContractFinancialRecordExactResponse.class b/target/classes/com/huobi/api/response/coin_futures/account/ContractFinancialRecordExactResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..cef30253929bf26452f5e235627f1dd6cd20d335 GIT binary patch literal 3827 zcmcInTXPd-7=AX{Q_?Mj(gP9HVym`EOGLp#4+t#{lcbZHjS-H>b)XT0za zaO0&vKyJ9u87VU|Qoh2v!3Tvr^|M&=F|+V zD=<&nfj#Beo&voV*g?Ifplj}y{k2^v+umAXDX6;M+PH#5KuV^KGUtbQb(IR5lzQNn z3v+HQphRlPUGu21>L^%`1e@fExuU;bDAoNHw_sP?LN)fZQ1o5z`pvpX)e3g8=-0iV zu#*@E8-a|UplxHN5%Tv#!@F;5Cl19)r!(rbzsel!opU|se0_bzsa~{K%EagsuIC0P z6dWIFOKhC-HcXi6Eg2jizATmUi+1_4U3EoatW^z4E^D>8>tQpL-pvNTtu%~g=AEGA zuP)eCd)*0~DjoRY{|EJQ+d?vyT62P>xX-)U8ryWbMwW|m4K|VEb~i|rPHQ7Ko0|FY z8!}Dg%MFPE)mj1dY?E;bS|g7{w7;Dm1|(F2)F`9|z3F_|WR+N|iG8^tiA%b3r*4<& z@ur9_tlV;n!T9hM1&Y6UOvNOI>IWs6bRBXD1{)L23bDT zhfelO@%Fr33GWvtcQ|;>qV3IymsC=+Yo+LpCx?b->BPd~?EDP9B&>6g)yo0X+%%sY z6nolWq}~kt=*BBZFZuOq(K+MFa2VdnkU1j#tKhp`pQbx89#1$6L+~sd!mAcu!|N9M zaah5^Zo6b*4j)^12S+WO5a?aJXYrjqZebqh74&Vr%FS1AWGBH4MZGdE$v6yQNm&`!VC~|gm7n)A{jDg$d-x2D3Fb9#Z}yrlZa`#U!h6_ zi8ep>hJHkPwb&0uI&m9eZL4r*TVZxEO>DKSZx!CRjc`AVk<1Ts7!;DHE z+x_nhwe&_D%{=OH9wkGX5@txjM-Wxw*Cv(PPE|_7C}Gm6QWCCU920Tv=cu~r<#W}3 zk(W{LwJNK#hyyJnt%^<($r%y(uSjZAjN@KD_Y*YrLH8xvT95*r8p7E8q-1&>ku3B+AdPdxN~#BV#g_=F?5aLoB&3DO{090nB2*?*QJ6p|$}_UJ&Iv*EKx;5Gc+}0P zm`!hEYjJMHl9_Ju6^e3)Yjjlx*0IOf!>PNsE3<)pl0t4>T@l=|f&E?G5o`(ELwEzd kTc=Fah0%OF7N;hG%VCK>N0xh6XwAR@cIqqau7gPZ2Mnue%m4rY literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/coin_futures/account/ContractFinancialRecordExactV3Response.class b/target/classes/com/huobi/api/response/coin_futures/account/ContractFinancialRecordExactV3Response.class new file mode 100644 index 0000000000000000000000000000000000000000..720ab56cd487ec59e18e9e17a595f507f1e13e1f GIT binary patch literal 4376 zcmcIn-ESP#760Ac`P$9c*=(?rP1E91Q|z_PwvbY~PC`gXh`|oQ4&fUzUQg^v)-#*k zSxVZJ4+&L$Lh4hcN_}l4lm|e>NJT>J3rPK&O5u0z%&uq6M)E@(MfaXLU-z8zJNMl6 zfB*lluK^sxhc?!VQ1FX50>1zUS7lk3WkZ(0##{UOYg4FDmPnSC@NU>>7g2)m zpd))MOV`0W4u0?8T?aRX@dq1!RG2#xg>l7+%q2E5!^g12CW8;>B^NbgJr+qI}FdEUCuW)ejn)i-ZYkJ{&Z6S>P zb-z8Ykl*aAE0i;`mAD;*>lEeUjzTFTS&TH_SflH{q#Fm#+G5a&X;D}S)#Bh6S8Oe#pu2eWdWvaTtmNzy%eKRw;N?bNEz-Rq=v zPX3Lq*JR8CIlZuY&2Pl>)2}J0XmB#7A|@Nf8!~naa=j*#@mkcp^uy5tJz5J1U(>c` z%UE?1u8@h7WTvK0l8=#<*lS#0@>=>b^NrC@gVXTBvl2L+YdF5biYvV1^DXD0~Z38FVU5qG%Tvl9X%DK+iF!;^fK zw~tNQRpIsfUxEI^%O4O^`Yw5`mLIP1mrM5k_vS-piVoC*^KL-DclYk8PjDUnlmZOo z1Z`3|0bK9ITz%;7l%#brdefj5n1@-Ee$bCv$VV0}K9oWZp4v!+Q zwcn$*N$!#Am&jLV?!u_f-i2A6y9=vYG48_tjM99@-bIa^V~G`hgmH0N(sFZZ=5My(vacQVAyM2hUwbS^(P-ET_#NURhRDY2<^i4{)aX{t$F11`YKIJTGpJmH!xvb^2J3Mh7f6}>_VEHK3r(EE zMN<3&k1g~fDF=Tg{>!8a_#1wL6;ef9VjNFkzwP`Fqc&dp4&yd1^S`6M!{LN1+=J{j z)dD-fkmn}>g^v#ZPNQ2>(2zXu)%m?^PgQ0od8VEJyzVJJS!A*E)t~9YrlVGA{XQU=!c!N}qWxa|wnNXhNaS3mcGB_F@!`q}xW_1WxNLjl0pTPN^ z41>j2iUo&K-_vmWJ12}Wm_3D_jxoqe)vS!#w&qT5s%#G`Z|e^c(1bbiJx?&fHRdV9 z{nS?|@zpv|E^pzWK(mDh%3}%bax0G~^oZ~eCG@D!he>atvU9*D7a@5UPNg-@VO6(L U14p@+^~nxfxPYIst$&8X4=sw&aR2}S literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/coin_futures/account/ContractFinancialRecordResponse.class b/target/classes/com/huobi/api/response/coin_futures/account/ContractFinancialRecordResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..d12f11c15308b3ab125a0c5461434baf7c05b2d6 GIT binary patch literal 2967 zcmcIm-*XdH6#njJH`%0H2%#-RE3{fAO;h5J3ewW56p)q%u&w2X2yD}(35MO8Yqvozyr)=?mg$;bIa#Vw(Qq0H@rG~vO$wQXTlO8hShL;r;*wvly6aO4 z`WnwEtSpqh+r>)LTdfxDjcT#(G&Vf9;S|eW)xCbR={LDjw993$>H5W4&-Lqe**{%% zZMR&tYl}|VtFJ9aheq01=wI_0S<#aWSQV&xly5}u}MvTZYMLN zD+=k7<5#@33wGVU?f6cehZ8&&BE6h@F+e4-!6*V%&&`V(cfM%aHR@Y{o?pG?l>MpE zE6laGwbG(3I`aIAQ&;Gbyp6Pr(h62PYBJaiYcdsXg-S1Lr~G-z-UzbK9%A9M>dUr! zN&r!;*o{h9KxB1}@h&XRl}-^5wghdDSKX>VqfqOT ziWkFkz-(&CYu3xo>8e!x$WvPEu(Yy;m+-QMLA+w&01hggeU9a7VFvG57{aiHw?#UH zoP|;3ExeBp6!vX@OinbbwKb=1;S5$44n5@pxv&7HEtIjwycC8c9f8X08-*di5hypA zz)=eyVVFIz88WOYh2`gX* zC3`A#sbb7;f-dij<-doa-y8cK`gbs5_r`vMUMl2UFaniA{9J*?70hT zJgc{mXj_<*22IS#c-9b`_#EI^c9LJyjv2W_s){65}nTZpgYhsmn%Ik9JJqIowJfHDqhRNDqBEV0`uU zjp@PeG|rF!hKjJoNYsZoK_CX^F-u893a4~vAoe5qFS!wC%>V!Z literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/coin_futures/account/ContractFinancialRecordV3Response.class b/target/classes/com/huobi/api/response/coin_futures/account/ContractFinancialRecordV3Response.class new file mode 100644 index 0000000000000000000000000000000000000000..ae4bc8c4a45e016bc0d7f70d1ebb0e9269d6a8ca GIT binary patch literal 4306 zcmcIn-ES1v760Ac`PyY{mL)b>N?W&e5_@fD+k~cc4U|BjIM_fiaX#B*ydLZ^>)Flj zEG?8K%}dm$NPVglDKB{lQpH0X6(a>HN?wSRzbRk8b7yuv>nw5}jAh+>=A7R-_k7)R z?XSN5^fLg5@ve=PJQVyq4#LmD!4+9nWm%IYu(6)!epQybpf-dGWogLL6y94lT6q-U zJ7~)u$X-alqqVa1^d-ODY=mw9 zWGASv_$>u@E)4zFsk+y0`)wOH6`be1$UEtKp@LCstoRE1=hwY!UZw7ZtChJh@>l)V ztU`99y{b@5$rhtl5Ux^`iP{Qw< z_~?ACu~Av;G?s&k*94;Xl;?-)6P8d~o41K&C-|TT7Y%g~+absd~ zmk-*}m81%E!#Jfgy>~tc{qvoTWxsXVTdp%1*3lpgqT>o@CsO(BRw2bolAq$}q;JdR z?BtTvtWopoOI|CGGm?XhXf0sXF6?d&7}{w6Y1fNVxmcaviNsC#7+`U3o7u-K`smR*(A-3@t`p?dpQp)EAd;haUM(%?nS9<2177wb$YX%}z|t(XWe_<`z!V zancrNWv3pInfPRkYag=Xa;P~TpW#G}xPA)x#YU%9^Unk_jUL}|q&+G3LE+l&j_e(e zO(v;}8T{SF&oSoW7x<-%Ut!$EV|ZL)VOKqJ@exhkpbC1~O7! zQW>eR-dSY5v(EfG>j_OyU>G?}qD;;dIb+1jk8=;|mAlCNm$bq(SBpEahwBWUL{_8U zCfX$TVEHbx<*7R`%F}mXmS^t3Dwm8qu>VJCHl^>PLeAk>3%|y1_(gr~tJpuNy%ir0 zN>fr-DDl|9Q>0z(g>WXwd77Mk29*m`D^Q_8K_Ln4FrjQbt`b;o`A#G(eM)XQzB_)v*n@Xox;RK!~O#JFIY5rJ~(uqn}jV7gH3MX-DkV)&u znv^E#nUn@lcn+tN{+y@jUf@6I#Rml*-;b?svvjxh4%zCkGdzq_E%smCGCFW`jbTd{4|%UG4mz%l#Kh>cMI-J$=Jl6F2b#vgt%3! zWD3T*kK!#1mCTZr0u5Ddf`+P2$rg~4fb5c!0u5Jl1Pxd7rJR8B2`E>}cR|K&dY!(c zablWrG`)`a1ao+v5s%l!O z$ybUAhf?2BaqBxHj1ib!Ko?{5vl5tcGD;77gUrMuyM~Wjc?Q$!Q#`KWz55)Aa(2tVdL}~kgjW0s{E}TemoWZhgqZ$rz SFY1#Wwr~zVWn2FYx$gmHLA1pH literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/coin_futures/account/ContractMasterSubTransferRecordResponse.class b/target/classes/com/huobi/api/response/coin_futures/account/ContractMasterSubTransferRecordResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..754e6d69de27b89a69ca8e3154b229f573871600 GIT binary patch literal 3869 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 ZNL!G1oL~)vUsE{5Im3${V8DY&{|BuojjI3v literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/coin_futures/account/ContractOrderLimitResponse.class b/target/classes/com/huobi/api/response/coin_futures/account/ContractOrderLimitResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..efbdde9747f7574e3dfc90b265012bf2beff98f6 GIT binary patch literal 3066 zcmb_eZF3V<6n<{9o86>aD4_)+AO)+oNlTO$g_KsMfK*dj+Jb-xY}17-rn_~sLH`7Q zz#kxA_@FaVW^~5UFF50G67e~^n>2l4h7X--?>YD0bI*D1InOy!KyJC04z&!)D zf_cFX?emW9DOl5<=LAy?yV-P_3YlhThb=1k>O=dHU2fRkgYrTcxZZjmYiVGUTSb9U-fHt zS$~e?!s}-$wrrBsSCTlLqM)Q&x105tWa;6NX@Z!WpPso$l+-iidaDsKrJeBlP#i5i6h#XCn5wir=X!29 zsqm;fD+!TzybN7r=p;V3;J1RBbIFzWapd(+^SHcz3kAGo;UErKIE=RyF6|7tEqsC# z7LH)h!iS>0hxaWEW5mLz_)KB{=GJq*;Wr}L5@c`D^n^;z4$BC&ym?Nj+tn2FW#YU z#ReF{yPPSh7RSwpQ=1R>Z+noA=Q91KE~QKzmxm*ld?m3< zb%rv_3p_3re}b+(E&T=UN9gINr9Yv~j273RM^h@9E2A7L+SuRdDQGXS=LxK_g0=>u zZDCe)nwXVLK^L3M3*?`mx1bj?T}Ii8L8ENNEEr;BCPqfVY#V7$2`IfK|F>hHo%}z> zN&dKD&&LlqO)jOliG2np`Ddz^I1sDZZna(ZlT4^44JfJ6St1f9>5@sg$m@utcP^q6zFZ_B z(&?x~>|9(Tk(3ZBLr2&8#?NUJQ6UcXjn`QQv#<07#@HHi_hj9yXtGhzk{wfu6K`cJ zdbGv5M2F0R9&H`kKGlNKCm38q+5J&FBHx1?H< z`8_hPxS%naN-=>@>J`n`=P6kjfZjG}+h`k?60=N~*}CQCRT>i}n{k{w+#ys&FsFV; z&&}ts^1W-=B`KuH?~Zlyt}nkQ*0ZALsjp%0<{lDvfw+5}N>Zcv3HgFCX%O?^CslzO-Efu+Jd~}6l);- Qs^S1;ju+iWhx?KJ9{^Buv;Y7A literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/coin_futures/account/ContractPositionInfoResponse.class b/target/classes/com/huobi/api/response/coin_futures/account/ContractPositionInfoResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..86bc107266fac39ea4c7f472c6a218ca31636cff GIT binary patch literal 3379 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 W0#}jcoe7hmV=o8jHCA>XQvU!jV_xk5 literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/coin_futures/account/ContractSubAccountInfoResponse.class b/target/classes/com/huobi/api/response/coin_futures/account/ContractSubAccountInfoResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..aa1d3571201f1a8a8550666c223c7f98e3fcd0bc GIT binary patch literal 3241 zcmcImU2_vv7=BK6H(%XC2s98akV?fiZHXT!(3C0^kk%Bi1r(5vZMrmD(%qVDnDK%u zZ~Ot?=ns$^oY5HxGdknw4bJ$RM10=ee9*KwT)<3w&U@bTp7-NOMshi_VHm6*XI7rRRF8RQA>im4>(E6s&cpP_ygno?EvI zWzTVM-fqaNdci7}y@u--W<1xgS!I8*v2-G2&APX}h1Q$lb_m63vASaWi!IN0jf`&P zyFTMB)2Hnv$Fih1&um2ctMxY8tG(i{DpK(xYJb_Vs`Pq8py!uX?Xq7Sy~+ajHkNG z#jYvzNpTFfJH-sRons=n4ErM)UWJE#7HIj-ytN*b7#o}2$W|;{?rCv|WW}mi!YXBf z%+lV4h1vPjbcl46t&Y_SC=plaJl%$L6FgXS8io22j1?s0jYn z-ogk^N;1qfd>jey_&D-o&*OnDAG0#(S+8ZS*K%fy$GO131T7w-+o6(4?h*2%`LTyk zKliwh476lIiI)Eon*gNnHl+>4LyCuY@NP$?MifQm{)dRXs7k@QqjE4%`5u3wXhEo@ zXT8)!rG_rb&+{@&+xwIbGZ1C-4t0&}qmdjhBlv(!_Fm|}(pU*G^6!r2e}JJs82c0Y z_b{{vV}C%OAI~>o1V<9lbK_hl^@+dGm(?F*$9 z?ldU_*O;&mNk#Dy^$#H#i~oadF`RgUObjRa7gzmHuqUJwokScXM!HO>5F1+M?=osI z1Qc;K@|-*v9ajxHD6Y1ur5L1^qm3-7;wSV@&_16kPU*)3Ob1iN3K5N`#_l6F(M0l= z@Z(2xxyb0L+`Wwc^)~^NPzo~}ZHdPPNy-my4dXNcpsAK`8i6{4kLiekIh-XGL6VNm z(qD}YK2GjlhJO^h@ks}~67;8J=mbwG;svFiQoMVP2qTYZTYxvAklw?iAZ>HzwxGB{ zH8M&L|AxLRk6@39>V^p22DG?7m4B;CZW-u@4JBCPwvt#}nb8Ruw2 zVE4Ei+z0ZH_%FSm&#_zcS^Xh4HCSIT2J(c04?2k*XpI5kN%u-!49NG9a^0pAj?7j` ff4>$C3+e7|^PT6z3%rcrQ)Ia(i2>oo9whz))w-}# literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/coin_futures/account/ContractSubAccountListResponse.class b/target/classes/com/huobi/api/response/coin_futures/account/ContractSubAccountListResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..fc04ef0f696792e6b2570f950cba8282077205d3 GIT binary patch literal 3241 zcmcImU2_vv7=BK6H`%0H2!RHo1yZTlrY-RU1)5TY0@9iSwtxciu}zm|OS-Aah8Zuo z^2Q(Fjs5_+!5N*AFrzb$-r$VCNyO*f%?C}3!v)N==e*}V?|DC-_ha+-zrX$t;4s$W z(6J!PqAV98KdT{~Z~y_Ni;Uvs^cffMR&!cikhRa(sMmkELGR?Eex~aAHM`_5HkM9=EHSardNbS(p)f60R~&z_<@v6W(XD*f zXR6EeX?xN2oO6w}C8u`LUaF9jDppH&<+5FK<=kTGe%WQL#h2(Y-8AUtMXJ?CMhRk! zCy9bCv|WA{Np}}=a*KUl3y6T$^x%$EdSOO!>#&d zr>4*+#WCFO6f59%j`83!?2klv6(0Ioprt$W_IglaY;1NTTd`z&r^O+XWxHMutCR&Y zOM4dg?-qsF!%CCi-j2+weSWGSU4ioC~_9Y zFmB-#n2z1OlksH3tt>k=3-c%w^#6B%B&?g`7F?_{edAfb9vtp4x8qq!W^iOds8I_= z9AN8pEr!LYu=w)g?Tpf3FiD5l>+6oUtT3@fS!^Dzt?)VD1~~^d4Ug{i26gR*d#*f& z_>oKVtEeF&*(Mc{gaP8XP(KACZ*q+W%w0H0+6o2m z7Djkdl3}jl<4AbN$B`d<9uI8!n3X}#dM#_cmeX52&ISf1Xz>u;4wX!DkB}eDjXi|= zxyOY>pd}qjwEUOY1R#aCDQzeol03YFcRMOIq9`i&KSbn3RSMP}m4kuG_xKY<3qmbE z>!l_tHFQyao|j?T-lue!fhe1IsB2^&jbwQl!3Sir_d@@b#!85he|IeR0}TDa*q_k9 zhoLpIxaEX zX;KERF<~E)isB>cA3`E#{)25XoOptC3@7<#s{SX~6VmZcB90LwT_#kB4XyHb88sLJ zintniP9BVos|FnuS6kIm2vW<@MwV3Z6M83TpHCL1^y2}hgULdfh?>c<`-n|6k+>y% z^N21NX+4>}m)5`jCSVduVP>K&aZ`|_{NUCwP7?r{YWb!Ss5AJOju@E3SyB-s=-4d% z)!5+U()+nAyET{5A7WF3^#x-fM=1E9lh}dQ7!aOxuhhkWd><*-Z93t|Y?bu) dYr(LP?(R0)?SxyeR~go{PXiK0B+%P9rt1o zSd8H;7NgK`UoJ~J9>gd=kV`?@ic(va+Cv>HF&J2k;6o`_BPdC^7QshSuIu<%;L^Nf zyA8AAmRjXIEw@^zHQiOKx#QSPYpzwRZ&(chW68Fy#(dpuHm#srQmq`dbtzaPNfSKXFFGIIptc;+^OXn zLH=CDso7tA)pA?h$(fak)3V*%F$IqwV+)#LNy@ylVF?TsYPPl9+Adp-HM3mjjy7Gh zYwoPTl~hl`K`T8wUJL1U*|AeG>+5EtCIbXf6t`Mq&r2uO6f2GwEw}1yte6dR+j6Z2 z!$&tQw-f+>mI(HNUZu;LoXY`ofPb{Pe}1@6yRto%J~F_WUVFEB&HAQg)@eR){9$>^ zs<>0>#{$AR$cezjxQ<(uv>K2|jd$o{c)Q(C-7`w|M0|r(2ibDv>!P{iVNLRT9F9~> zdqEaM->TWH`tuE^(o4*>vbt1UU@_D+(x_E;1@vx~@VJ-3b^Iv{#7a)9QL*mTBq7F* z;nP)#xWLx`M_mIK@yI|DuNb(1Q9cGIl-s}*t{Hd}DFZpFrI9f(jTwP+hk4a~6D}Wv zP0F9?jDg4alrxwZbDQ4BXBqHii$(p&dW7!)5lf6_9 zZuZg3v;S5c@b7T@$YtyJb3htjULeF@&dJj_D#{q5conbl34fhmW3?@W6BJogZ~P%IzTrCr@rC3{pTp|m!|}d{vzTBC znK@4>G10vK4!1VwogVQ$x~*wJYqB9#cnxvFxY{q|5w!j*q{K*g7%`-e5AQ?}@-IrA z*{a#h_fVC+>~GM%gBsq;{tB%)k!eHsKB+{OC%EL5$=@-MRG#DXE{w^f(nhr75zDJ| ziRHDVDt)x)NbF)TsV23Kld{KL;hquuMc?;p=;Bbtb=+Xl!zke<#~z~PF8^t`!Lu36 z;w@?l7Rji$sj1}C1-wH|!@G<>hNvF-8>e*Ket{7kdHzMj3!L}WXcvs@B#R=SiU5q; zOesgEN)%+Jy=3WySM64+vOZa9FtM8+{rJ#uOOoJEhEOT<@u_KL#shIQK2;@zk$83& z`eYjeU&{ShUXg~R5?CS*T}h-^EnWSBOKGLs-BFWx~s#v9>51&~P5ne*yjpD1!h1 literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/coin_futures/account/ContractSubAuthResponse.class b/target/classes/com/huobi/api/response/coin_futures/account/ContractSubAuthResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..60b68714ca1ee5ed35a828b21f85d10667927885 GIT binary patch literal 3645 zcmcImTXPd-7=AX{Q_?Mj&=w*Uid1dWLli+FJs^~Vl@yQyT0~%zF3m!^Dappe5Ac#d z;17@+E_6o9jLbNCgERgn5ubN=b7*L1bf$DV-}ip+`Mmk-pI?6ia11pAUnHSmIRPCv ziIRh&dUfYa!>z11H3im!=Q*{xie0ZebpvY(%(J#{pK)wYfnN7* zzfo6^F5I)fwsRHRTg@%`HP>66QV{b=Np(;P)c~)qP(h2*@ZCzT;MRRgB$nJ&j~Z)^ zf;*vLi#%N@Ro8OmMz!eX>~%L+i#*Mhs;+nYZbPK%IlEM_5L82tEgWM_)Ws6Oj7Vu+o zXDvE@xw>-MuGwpj@6;HNMlp$NZ>LBQmIxT6hJiKdtq`V!KCn6S->o;ZUy9VV*mpc) zF|Ruh8g_-=ZwmNQ@t#xir$%omP^z0pFd{MRs$Z5V?vXATZceKeU|UZkAj+_sAwj@I zfD9)!8KT2SFT1pKf6-nK8j#y4*du1i_U6S)DkPJ#9EtZ~E16fsl9F^;~~e!ST+bMeC)b@gNln0JU7BA@)3&!8+nMeHZS3f|?Z^9JOH1*^nUxO2P( zt7U&dTv%frth7^zr;~iPv&dadKC&?XFKxb)>w2chWNSKm5ksP_uf8_-41ce@sWq*XGJ|6o6 z`VY|JkH>z8zBr!UfDt?im>0)+%=+BXU zgx-vn(L0!W@&=iD@@B>mCNp9(GG>!WeY|DNH$z8Tm3fF6%rcmMe2Y`;wiw&m#mB_O zS;-Pk6H;*==WvFQhDFlm2cfMif(u6OwxJT0ml50wFV_1*E~PQ!PoN z!N|inS7w3f<5tCGTqG3ZUbuiu^g7NaJ4&pidX^jLGoD(I%x|E-Btm5}6@>|eqP!$~ z`yCTRKeQ%8lSkc*irDlHwl-%smdtdM8$Qe(ZqZd)SjV2Bm+Ng;diMrWl0shTJt3Uj zKsvoQgnI<;BfNqB?ky7*FPyGpQEC)^A+Itj)(IYMsl5BLPcaZ|nC$oysM(1pcx8&M zVAo_r{#GOOMZ1PNg5@oJ)WaDWxq$Kr2>h)0QX}#iXrB0j;!9X+c2*w&~Jr3A;7f_;C^3 zfEOTt_@OgWW^~5UKRDwxiTJ#`n@t+(fHN@Dp7Wmf`+M`(KfnA2U<$P?G%U-pBF9Ao zmvX#6ljHLo260)SD{_1x&#MN$%%KO@Ok9`yh6!8lRTC8xYXUmLcg?^}1M3RrDLb%F zI<}`^&3m3xpR3u8hSN~UGy*$l66jypu)ns8HQQS+E(dkjTQ4i50#f=qC<}gw*Vd>n zp)>=xR$Oo!0VT4_?z%^fbw{BZ2`1#}g^GW>SZ(^NZqeR!i*={5>3a>QSn*x&`pu?D zHHvnn;y1mZIOlso-L3@7&DABp;Rden&3iZf3$f5hE2Q$Qm|b^*hyC(vc1j6II9MU z5>*E|$sJ`kS~3apMJBY-PUzt1lldIG#PTmXLDgSdvg`J3CvfVFOQ)E`x2IDi3{M0M zQlkJ{^dywB(1*5H;=9dOHEzY~680Asxww&WzG~VvMzJmM^Q#+9B`A+wQBeN&d5K93 z-w&!zU7<(1XQVY+R)|fWMo5&&G9!Y3*$^3xRW3qDk6yNQ<<_FT88#+21816&727*4 zUJ|U@jcU}}>Cv%yI(Iv^}(*Jy|3yYv6$UT7V2%YL(7an86hDJbqx`lJ7Dja@F0Haa6%~)`;!2(YV z2aWJ?i`AbPmU7RqDQI#Lhd8`#Yf<|utUSkHll82?u9Ts&H#Z$`O<{6}E_rfc$FXzm zZR2kZVMjYg4cg*odNqFefHYE4OhPHCXLz%uPobDDL+Cex9V1l+MaU@n!;++zI z3*+~pej=1Y+y7jsWhml^{g>DzL5iU>Y{f?(A8+ApvWZ{YRHmL)rQ|wMxj$5S6z{Mc zqH=+%6ED-EGW`r*MrE5KcT|B4XLGo1p%qJ&Zxe-TobE}4`-{;S3GBoLkMi&)%ZrLZ5k?TBJODCyn|6_4~VoGr$QnsXrB-SMqGV^*!IQiq10otx8Es2 z3_@=)w0N}bsF*F&!Pe&N#*&$Ca(73$!!^1p3v23E^jv-btG{;(FG&h{_3w&c_FZ59 z?g-8b+)sE5d%Cwwv>&4Bnu=4S_}MuhCIRqhOQWrU!UO)xhAB+kN2)M+A5TniPq=Fe z5r5JM1M#k*j&L1I9}UPimKNHREtp|qq+NQ`;YN}b(w^`oI`S!rDb{Tt?;KMwL{oc_ F{TG*K*Y*Ga literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/coin_futures/account/ContractTransferLimitResponse.class b/target/classes/com/huobi/api/response/coin_futures/account/ContractTransferLimitResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..5779d5506f86d80b9d7270548e36613cea6a0b75 GIT binary patch literal 3232 zcmcImU2_v<6n@@hH(%XK2(%C_kV3&WZHXT!(3Gkakd_p%Ehr!#+jQG3q`P&qVa6G~ z^2Q(Fjs5_+!5N*AFrzb$-r$VCNyO*u=7Xk%;R0sb_dV}<&wDK-ArIf_HqKtvRfj2 zJ&u()RuvMbOy4|dnT~=n<2aT#T{UYptELdE`KDhdkty9a@0x|G>8utOe9v}PiwY5+ zH)>WvTc!eqbSPB!?P{T9*L;d37wlDsDm+VJrR#dKRCd=2mAboR7tD3L;90eG*Qr^B zvTHjxSL*VrRxrzDx9<3bY1i>Rv+OT=rc+z7ypp|U`}55wL#+skQ(|=0@)w$p?;IZ4 z%5`npU8YOhO15L2udgjx-lDlwB_~sI%Vzbm>Dh8_GBv+qGt_f0&tZD0)5}F_jSi0x z!Z=S71U+bZ{4|c0P0Uw^Uaf;(-|%MeMlLhcbCzFmmoJ*0xn}v6$1rq0lW?@*S&@kI z7{;@ssiPB)-1l$9`OEbd)^@k}D+*Mch*@9M%_^PV5a)%Z+g8~xj$CDNyBkZtdBtd5 zzhZd`JyID%tu8SFZu^)FF2mkPg;(LBm(^LmGiR;`^~I)UC$bI8rgK^xB3UtOm9Ruv z9y7Feaeij*G#w%xV_Vd#J~3`viVjID>O-OWgzttuO4&)ECw}V zpo9bLx{krH5EbTMTD0vE8cZZ<4s(6oa+Vdwx2TBCL$w(^2ipKAz^1X$x!$0z)oag` z#~{CL{rnh45s_4rib%GDoe76RE}#ebS!2cE0M{XM3fvWUJ^w4z&wAF2om)O;UC^^`%h7JjeOo-v1qQ}x@i5&El}vDtkRQvB zK7jhA%Y{^+r9YHt`Y*8wKnibBT30-zd3YP|v{golqNv>W0Ff6}DOk5v4g@OSKc8u($ksL20c%MvmUg*DyvJ&Ft-yO~W2wl5B z`WLhxphxeI{t0bvEZ=}097)8^k8zpM#{Wi7R(pi)_h5`?wFcrXi39}_-+eF7DW9Cs zc}`Bmvbwy8JwoOldb4^q)_S7dr{>oee!|r{FG*V}f4y!9<;N!B2O3Q4Lh;TyB8)s@EdkzyLRuG(g0#(% z+l1l<)yOD0@;iF2JcN_+l`Ps^?l literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/coin_futures/account/ContractUserSettlementRecordsResponse.class b/target/classes/com/huobi/api/response/coin_futures/account/ContractUserSettlementRecordsResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..a54c352d098d5862f24ea2b40ecd66fc0a0c12d8 GIT binary patch literal 3841 zcmcIn+jA3T6#sq6Zg!JyA(UQ-pcY%TOD*z1N+GUMnA&iFTp_&d9sOG}xlGc5z(cfNDZcdozhZ20@%-+l*h3{?Z4 zr=YNuLLZirFmO$lFJ!rH;L8;E8?xLKgS70S85ARty1=C&UD=^tvFQ$Yu59e>P*S5 z)ts7vH3jpO?c39i?I|Q`zU|j*3SDz|?62%x$@W%ri+u`$J|*ck$y_<$Yb!L+ zl+=Bi_RhJUbH2W|>{Kt?%O!FW z6Rzj_Qwqn2+G-nBy^Rx8ds7j|hp$Sr$_2Z0)vmf?FtV!oMVIYb-1)?rOYcUH-&Pu4 z)ANpBEU#R&tM;1XJ5@&T!~f4}m!TmwORhTpVg&YX!ea}#>r}ZcZ()Nt!n{GDpsh{Z zL^calY20ZtcR43!RBL6_vqjA%Yn?ih(*AaNkda6YO2eEQ@@Dh_&hACGn%rH^Nn%Pk z_v&_uA#X_O!tx!b;ExYqQ&8oN(<%}%*Ro%ff!84qVX!gStbp4*8i7#eni&d&Oa{zw zsHH-7c<3Zz3U}x2O7O-w!Gi&87HsddL`fq>yH*U}d3?zVUuj@u!So)%5PuGT?jyhYdfBE^Yf-abjjneD;39EQ5b7~&(W9T z#hKRn7H!aPJf;_BU_&2=`J<$dKWXBKNoPsLq`AS){_-cz8v#843rP&(O>*8Mr=NQA z$9w{{^cb<9Nh`d~HNhR!R)oti?TWTXZH;?(_A%nwkw?(7qmQ6x#~vZ^3;FT3n;poK zlMVGTf>EA$Gl)(scL(u__ijNT?~aice<5dpoFk+={Q*9VjO4jX z9TGuBrH<|KcLr8^Lycw~6Hy(dLb?hnr0@~Ml*F~cq`qB~0vHt(ohGH=3geiFdOt_g z%_v{!_RFFSvDfNsf=wJ~Icartl1xsCFn%SaNivW7BiWyzYY#{Mgz+Qv_`{JuV9bwZ z*I@=n63O$UT=Lr3U+BnaPqFU-tg(!?j#NXVBd=4XBcI6VqLX-vt_SGM=$S;Dl9e~8 zWaZ6_AxdVXWMs^SlJ<}RwIe*t`Fa>=vorT`0w70cpNT1|;EAbVaC1s$BgZPA$iCOv_fn}KgV2^=MpP|>lIsP@(GaLxXWINgD z-U)V3lK~tSl+fUR4roi4N=hOxgIME*3BM)GVt)ugn@H_IF2r^nEF{L@7$ja-1hl_nC5A=pY zLr2@liqsNqYAwypTq-k6eul!@;RZvMfpzQ&_HgR%?Mkm>pOlbWS64`PtYd#ycSu`8 o_mEyk@8&5JqA;9q$D-22a5ZT0XUK5x3cMLOK%~AxbR9(UKb1suFaQ7m literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/coin_futures/market/ContractAdjustfactorResponse.class b/target/classes/com/huobi/api/response/coin_futures/market/ContractAdjustfactorResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..2a2a8315e611227f826219b018ff1fb2db09531d GIT binary patch literal 3372 zcmcImYjYD-7=AX{&2G{yl+p_k(1KOkv?Yo~F}(EFF(N# z`~iP}eBp!6NSViTmPr(SpK8dCMZ2^s`?7uKDxoP5QpuH}~l->a@oX-EX5^t4eHY9U@P zQD01H1YRY-;MD_4q?f(5DmD79hLRGD$t-JYR&8yy8 zZHQDozv1|I+#o+!s|LPP3{I8S8}(q7P|d#-2@E&GnVJ=oYi_U{MbS4h+U9K>hdx&; z(V^W7Ue&$O*jRD>%g#!LnBIk2(WzW@d{5pHQV+@=cvYV^7Wt+stWA`(Nd z1!dRQ&?Ox++#Dr4#KuoEB+4XNiXdP*M5-~$D71QXvz3c?7M;zo8Mz5K!;~yK)wALy z!Lm~?tA0+7jLy@ErAzaRXXz#36ep-r37GcSd~#Uq8N*7w71Y#JkayavdcmxQb4;}8zpcvqkijM~Uy%*I)q(=gb%WluM}O3C$YTtHdF@UuK0Q4Ka@!^1jDIzANC z!^a)gdwfU=Ji|7iy+s`6sJ2Y0hSjk2f})HUum<*^jF7Xr=~hb`CU)qFr&n?mG?&{p z{^rQFHJ@t7CO`A4^ScHlk&p@!N=OmIn{|YS*Ft!RpFs8j4)c7Sm^^Qdw~_l9+K(a2 zFwazo?8h5~ZN-2$afB~T3dgfkIMFFQu%j>wPR}}plbynYI|!=)#%X&3MJq%m}ct?|*r$6I)tY~t58m5Jw7DY=eS?hjQS!#ga8 zs9d1x*vq7-Og@K~s%(?wRuxEbActB;4$_E9$#Eh%Qp$hr1n)G3?vCYtfT7{qj6>K;soAjF#Y(3WjMk>hB?tw#3i{Y zikK#(<2=q`hLFK&K8aaEDOA|f9}qI(v+Yk3vT%wv$6%Y*-`Hj1^kWQ|nB$+NJ;pu- zrrW`0L!4k@b=g)bq146Sd(>q}CMA&nYB3`Y#Gv~k7PVL*><6wnqSz0bbZ?4^uJlYz z>oZ{?4)jcwSq7_T>>kXCEo5#B-YV!q$m$WrlHw>*x?qGP)+H3OvPMWcuyd+smBGlv zBrY+HAJQEIOPD8=Kn5SCA@{bom)oj2Q^)jQED`PZ!U&O0IIa5(^g;ZA^&B=3|o+%-AH zA2&i@v}>p%T*uN!eez+Yh1O&XW{4PRm+oY^kz|FmCVYvGd_rP^b=$`~!xRkA)F9IT E0zP@l&j0`b literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/coin_futures/market/ContractApiStateResponse.class b/target/classes/com/huobi/api/response/coin_futures/market/ContractApiStateResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..b9f59d58a3cbbf63eafc4e42479807a1c60d7507 GIT binary patch literal 3336 zcmcImYjYD-7=BK&o86>aD5Wh#Kr2>h)0QX}#q=UjidI{w6i^U>ZMrlIX;PDommlCq z{(wI~zVHEOq|E4yqhD~w-z4Jm?%8b8P-bwZ%(Umc=e^%IfB*aI?*JxHPQ$>m92e!d zWZ`m#_vdnakwHJM2y|7BFXeg7!dDq|;ku0*a^JM!%DrNvXk%4CPx!7|xMg8Y!9L># z?rG1hC^++#idUO0yY;$PS4hXKV?*S)~2F&>j*64%~#kuWR~ut?Q` zHR*8(lR_WZn)&ZHn%OT#>SFdCk66s7yssN>nci;+`25OkuNX{@Tvbrjt@99(75`%5=r|!Zep(?>CdbwU0n;H;k4;9S^`o2ZTfDRAZiEfU$>+>cvglUk#7lxD zw_egcoE#pRrxQyT<`?JaCE*k&rcn-<^4NTGNbH$ITD=`q^(2sY%CGprjKcBuqD6Dk zR{5}u9itnT?T7y__fqPYS*|u}MenRHQ+()oi{hy4GY46`;@|)dIyi(^6=ru}1vxl_ z_Z_^B!w%jPXc!|7au{_mhqDU%IydR*hF@OwY7Wk!q%inAkB4+I z4(mHMCB6BYY_-7|%}OM5l1yw!$nlJ?j)sb_(}zBdh}$qwR4Vjg%C4C&b^}=tHQV z2_?|-KOJfr&>WHf5}PDQF?5El_~_x|ZM;J^@oS69#EYtwT*oR8ges5WU6w;sE>Lys zWl~foU%*RUwh40U3ZyuMgDoS6Xhf&vIFTGB?Y}y~J58axqq(188uv&4gz+QH4KfLgvpMWtgPK+GVX61^EK^gT$#H#fe#o=KfYrbjxdlRPV*#jNp6TDrU)7M z2xl=($mArS#0;Sn%53Qm30bJI?N1W2af&ua;aK)R*k$4L6AW0G<)5vdV7~^_?O?MZ zPB5{CY$=^k>f&!X>M|vh63Fvf%!~su>Ar|XEmjEof$NPZ_Jfk{O;ORMp2;a=IxNJ& zp2-r+VE2sPgEhX1%uT`D1w#l~Bcj++98F3W%#g&oghF=K3`qyKPxXv87}=TQZ32+7OAI17)+*8OdyncO7_+}A&7pMO@=0q zu@x1urP|n9oSj%Q(@pMdojY8otFo{renZ!lM{s((H?d1n$g6j^hS_&Ly?ZpA7Py!2 zCiZr28NDC$bWKF5QT)!F50d~?Xv?6jzT6}J%ZAB~Jwzfm{t(YhaVFd~In5t8LSM9N ys3Tm*(no#rF{OppWD91H7-^U8WVn%Jg|sGoiH>|mVuE$s&pX2u4A9g*r2hjybGlXl literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/coin_futures/market/ContractContractInfoResponse.class b/target/classes/com/huobi/api/response/coin_futures/market/ContractContractInfoResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..cf0967a52cd0860e202696a93181f775b26f78a9 GIT binary patch literal 3372 zcmcImYjYD-7=AX{&2G{yl+p_k(1KOkv?Yo~F};YCi`5n?1r$VJn{JzhbW@X!m!IGV z{(wI~zVHEOq|E4yqhD~w-z4Jm?%Ca>q0Zn8%(Umc=e^%IfBo~zZvZAy%|ger9GB#{ zY~o6e_h)i^o1m@Z)Iz+z zN_`2X8F>TG70i!C9=^MT2OK8 z8oH!ohT~DPLu~RiL!wNQr3eCML!=s`oIRzKtywR-XFZwfL-Epx@Alj(|6h42tRf$Reu=J`4?Mcx{3qwq7d z2O-Na&rFEy#~Xxg#eg?)gfC4B$Foy7)hRr%qc96j&pL(Eox+1V2&(|bX?p@kBPAu? zDe<>3_7K`ngi>hvp9{4ND2~W~iA@ruF?5El@zKM_TX>sn;@38nspnNGxlUB>4^HvnRzQ_((msW^L6EDQklCrf%h3qKfYxdjxdm6PV^LU zX>N)#rU~gdhqIU=WN?~KVwO+_Rkrj8giO@g_9qEh_>eZoV4K$8*k$6>6AYM`f-M`>M|sg63BnGn2`ix(0vh$TC5cI1J@i;><3M{H$z32 zd#0xKnXnKCdZsEYgVi&359Y)ca<>F;m2@HG^@w6gaTFhfnY^y_S|eMp#lki$ON8q*{{s4Kh!O(3wn4V*;URPs!eT zrv%XtBW8$s^zEpKEz`!<;_SqdnQn4#tK8uRU6qA3`764vK7!rby@g$pLSDVQ70kZt z>D{B?tiZj5x3IT!%c%XJrfV`vjmGcIg)j+#Pg^=|^%WlRUp7o({2@|>iHCS*io3#H zQ&9X#BlJbPhC0G^EPd1`A68muO}1c$h>>>bPKO&wR!D2Ym*~i+B&JxmeY|r_!2nGS GBKt2htjVtc literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/coin_futures/market/ContractDeliveryPriceResponse.class b/target/classes/com/huobi/api/response/coin_futures/market/ContractDeliveryPriceResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..ff8cbd089c6025a11437334feec381573d3cb87d GIT binary patch literal 3086 zcmcImZF3V<6n<{9o86>aD4{JxKnoUala?qi3Ms8hDN<~qw50+fuuT`TkY?*h{R?lgi1SBlHFf8Pm;<6bTB?Q(F|sk#pw|A!gh zEjzREiT)-KI!^=)+tn6!$_s<0?>fO;jH-KJu+3l%*SNRjDD0eaYtF^S@}lF<+ly7M zWT(8cU0tw!SLX4e7F1k@y71O+LGT7a%3Tz$5aM>EM`wh2Da^VQG;>s6%Tdq3<`fMs zFtyW8Q1O;#Y~NmX0>`H>gU2G&3j^B#TB7OWZp!(tVOP1m4)mqPdrmnR z8N9Bby!BL!x9HakDvqzvA;s)(vepV$Thny78Id*9&q_?^Z74(=AzG==%y|vJ?3{Duog8}YD?K8uz(Nl1SlEaC77pNDh4XKV zf#WGk~aJoI&#_z?0O7q zIH#?`Xj+&hohD`}mD9y0^#a+)=*;Q4RGU${WY8#GGINF)nX!?PGn+=*69P(Z%KwcB zXe!o0Lw7{!43nXFVSmYjDMzjiM^4UZdaRSKgNV=(uLw0ogyM(k}jE)i~Jvv^wvdm z!k3H0L^=_ci0z9@B$5(BrReBN*T`vYG%Upau8|7MV0INA!x&yg=C-VxB~3PRTD)UQ zaiXnsNe{PJm++98)5ER(Tc>&~3K%0yVispGPB=PdaF$vE8GMBaqE7N@9A%0n)nnMh zbW5rwncpMziVGT(sT30krC!l|ZJv;Y9_USjrj53KDK<;BnXOrFT%|E#vK>dc!%ad} z1atg1bX9g;$d?9NCh@4B+PB0Vj7mij7oZ|osa7l^vo@i;Y#-;oQ9ArJlr zrAFDEf6jmDBl)3cNaTl~Vbfd9gdHUx*|&($9d{J^2%D_%s9V06%$ty-GZ}UnX$$g> U6Rd&oYYKZQGrVXo9qvK;KeQEm00000 literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/coin_futures/market/ContractEliteAccountRatioResponse.class b/target/classes/com/huobi/api/response/coin_futures/market/ContractEliteAccountRatioResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..510f0ef2a64a137be4702decefcea7019f2f4464 GIT binary patch literal 3122 zcmcImZF3V<6n<{9o86>aD4{JxK#Nvrla?qi3Ms8ZDOznyZE1NCfo-~wg><(j8});K zfj{66kS~1D8Czy_#?dc0<8Ko2IlG%QeR1FeooVkq_ug~QdG0ySIh()#{q=VMr*SV0 z4bw8r$Z*BLY=-j}GR$SrgL#pz%CI2IMFZC|=)iRoH)OtP;!BxtnfS`YZ4vK?-gN_a z4cH3iB|ES$I<}`^O?sYF8?V~+x>Hw3)dM?dP{>X_u)nd3RolB?oDXWQcYj1dTjo85 zYg1)^rC4eBOK#C#b&EBpzUq5*r&#t~@6NqO(BMvS#jZVcg5tRE1vR@IOjO;#xlk_q z4KJ9p1J|F6Z}m69&_N=g>#jD}Q-0_;ecuV@V`SX}gKY{M*v9>3M`7=j>p3%xl_jTk z)n2M{Cp+br?dqakb7dWGYC*-NtC`pO5kLHV1h86VNEA5@&0LWd-_zsX`N+-)t>;bBDLOmq}2jPO9nXGYs1c9L=B zhtu|I$Qc$P%ZCbO+nW%S6f1VU645R>FgQsNvvZTv6GTZl#TsZ-0|vI`Uhj{*CHq59 zfgh2Vy60Wb4aO9{Z;wh$?OjSn8!=kp&&>OcTG_emO5GfLY2}`f7GWWWH!K{&VGBp_ zrowB*YvCiDwD1=CEW9t$F&wurfI$l%ukmH4BqiQW$*c8wMh(j9MsT znaLXJlN^Oh#y}tH3+kgxDE)nkJ{Hb~zleGY3%gR~3Z#@&guS}zctke512wic!ua{@ zM4R-R71WmWh+R#69OcKPhhLv05|U6#3CU?VGp(FEpd=3*k8)MytT^lWU!Z;p)!ycq z3OBp)4rMD+KtJB)iiE;(j$1D$wqEYp@iJ4s!{y}G%e^~Z&ZEHRi02aLgy75<)}Vf- zl)wh=OnAFD(ui@(nIe-!bXfbVdITuSi7#RuF=BG0n@kdlT^a2aPQ>6m6~I7cakDic(qWS~Ye zk5Dpko<0k(4D%oCF);cZy#~hkXR7Bo7>Vh2v6=Q$45%jED9+J2A`&L)5=nW;{}D-V zJwzvbc}Ps8GhvF@#<)cyDIrvfh8DU;&TFG#A`W+rRG0>{tMC}c@H#SgW#24ma*)&F z6H}5C9i>Zpc*MMfm&}|V9v$8})MJsu7-14~xQKDW(J_llloH6`b4(C*lBIEyA(l{& z;Q+%ep_X8Ni_{BlXbh%O3?P(xLG_JwLNEFf|E!7h literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/coin_futures/market/ContractElitePositionRatioResponse.class b/target/classes/com/huobi/api/response/coin_futures/market/ContractElitePositionRatioResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..1a376707edbca7c3eeb2f181170b7a0a20948a83 GIT binary patch literal 3131 zcmcImZF3V<6n<{9o86>aD4{JxK#Nvsla?qi3Ms8hDOzoyworK!*rp3vNOxT z_yhg``N9XCv1LYQ9Q}eb{w5Khv%5*t7Y9DHGwr?S-h1vj=RW5-XY=>Jzy1#36z-*= zp)A8C87>=`&2aughPe#-FfY;-8LrB5!N8Xpbm5wb>oVUkaZ~17CcZLpTf{q}cg?_E z1Ga*B!4B;6j_oN})1K$lCu?@2;WQLdjld3?6tXi9>~HL1&GzmW=YzWI-5*oXmUvI$ z+Dye?E>@fVqFc0A++y8ntoUBTDOP;fyK}D@G`Uk;w(Ad_pg8G!LEWwdQ#ChmX8nd6 zxV|@MbDWE>4Ys18heSZ%JsrMh{Lpjyz7x#Hq4f?8cPOj}H|Z}q3VUZ<&$-lGUUceL z?8O>)vNL|gt}WPgSJv^S7F1ojy1cVb;R_5#Di2b)!8msfD4lMuNS-!;(L$@Sj#l5$ zR%yX|Ew}TEBX5kPHTR4K( z70NrxdLCRsF*Np*&Enh$tX$o~jkds6rl+7Hl^PYQoPE05&YpodEesY@dqO4{gO=*nr& zu5~!b$!*;)em>;WW9F;E9X(xtBzqb^8G&4WHm5&QQ`(W^*`8DTNvnRH9^{ zPBM>CGI5SR3$P6HAM7zO{v7=VCirKn=QtRN=}xhg_LBrulYSKE=qw`=Ch3BtJmmj~ zq_-cUGkkeSOr+CcirC1wMItF7REmbK_Kcm=#=}G$?is5x4Q5Z_F^thQWbVqoS<>Vn zr^P3xBqusbm-O(6c?mC>IXyf&ygk$tk;6E`B<64)lMF}4EG|$=AcM~_#i)}kjT3}e zpq{`1!Yxn>nBOAxf*TsaREhvXsTWjVUngXv4|+?XrK4@!iq%pbYU`Stcd5)U*^?ve zaGRkj26O5+bX|W6E8D$>Jpv)8?A}Nw?|QQPA~`K`mhu|*Z|)&c7l^vosTdl?FUn{1 zAq9Vnv&OkM|CImINAe@9NaROXv87hK!j6)U^xH(}jXMf$giTg>)GHrQ;wI$iPKI4Z Y+Je+^f;kX=&EO#C3?JH0g9niQ4_B9t#Q*>R literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/coin_futures/market/ContractEstimatedSettlementPriceResponse.class b/target/classes/com/huobi/api/response/coin_futures/market/ContractEstimatedSettlementPriceResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..0a6358702c89d657b7e599cd9a9b148d24d14be9 GIT binary patch literal 3874 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 literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/coin_futures/market/ContractInsuranceFundResponse.class b/target/classes/com/huobi/api/response/coin_futures/market/ContractInsuranceFundResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..1bab9750f422d1e9bb471d6672e44bdf51c8096e GIT binary patch literal 3086 zcmcImZF3V<6n<{9o86>aD4{PzKnoUala?qi3MsAH0#a2BR@ls~~A z@CV2jKFExe8J%(T3(okPM10QfCQV;t_y9BQJ?Gwg?m5pr=ecL|_rJgX4&Vgtq@iI( zhD$PBHZYr^yduL~20fS;Z9#@bnJyXlI)e^eHE~Vkbrau+ykX*76E{V@C3aU0+%{k< zm}l+4o^Whe!J2Yi$Dgd(^}176NYw*7Xi&*c-?P8Bi#6N5TbvL4s(W`-L0jQDh56~S zw_2<;yya@qUaJ;;r@rR7b*EVNs_v~jjiAAm;;QZ6cY@-i=LWuA4yN3C!?)eCbH3rO z%*7`Lnn3705io35Ti9tY44S^{1oJVf?!lopgAH7h-io8Jd%Eg6ml~_fj=x|p*SM0M z_R4l`$@Z%A!^x8Io~zx8n-urzPxrN z*Adkvqju`2K6@GD>GQE3Gha(KtWejKoH5br8ncvCF5 z@EML-cn|#+J{Ii*d}v`1Ll!>A7Ycn_JJCd=T3c~^3sYEDIPyyDgAp~xER?ar;tcmo zO~NVftq=DH^)VKZu`ZyWk7OfOL^XvgZ|a_{W~V^<2>b1|HOD2YksWBTz0t+jX1Cd7 z-+V1?MUI%%w8tTSD0=v1Ng^Rdq?V96hLWYE?0}N|b3DXZky26W`Cp)Z4$Tg8OofX* zc%Qlz8DIcMI8#zGj$02WwjS=?@i0rh!{OxC!+kp*&ZEHVNaPY_LU85_PobVrOJDv!1nS5QBQl^&6gP}`4 zmB^(!MVaOW9v1RHLDwD^{)F};^yK5hAJAro^Xt&VDV5ZvVGbp2Zm}-mAv33kTL*Sd^>`F8MwrALCNN1jI%aW}S^^n-g>yum1pxsF|uLW=C}NGI>QvU?&uEqa#vI`(euAyF5Iy4Q&~HHzPni;N);{syH+ z*`0sJf9WIn;ipLCN1kHaTkQxtNaK)d@-3fAxCF2>@w08=zGEfEDTy&$w)tfWvWphX0>$l!+0S=tO<$QgHz-$2^G?lKbpy9X zzu*7=TwY4gr9P=;H&}?V+s(djgI=8~mj&9J#4&_T3I#@O;ucU@mfOucE#^zfgn86A z^61&7zLKj>9Z6(=yFAQ8q$Z_NCQW%O<`7BC@vRp3rDP(J81CJMQ(>T+61li^$1MgE z!`Bp4b@QN!Ma-}olx0?R2*3xMGszCQt)m$VWh7aVK*&_cjOI}~Vn>HgqNBJn=d6Wq zhch=EnO4#9&q$OsQg-U)==~;#hG!YX{H58sGmMh7!BNzx1gvh$eR5Fz>4TAZE2u`V zSs}epZPbeHSx+AR;hhG@5kaZK%5KfUoqWYZ%El0U8;9_!jo0wHjeZi}!4P|Bl<3!v%%Dto; z!~8YS$KMi3B&2zy64JkLXAAk;;*F3VfQ=Le@g_NMk<(8-`DZH7nG7#kVqE_E=%ib@^ZB~?pFTyeiSzuk)KeUY$W%Mo?A}RsPm^gI6_n86&vV++ zrIM1!iy+o~B2;Dgl1L1(=@1Vb(_|51>Ih93G;}31F{w?3jX0EE1v2}Fb z5`M?HCW5RMODt(lB(lf#P{h83m#nNFiVkgG>JyQ}xYS8p!bQw89G&ZD{GUJ?=gE~) z5AcaEkkW{%K3pcHhsFE`#xpWB7E>t}5K29x`o=jSj2`Gsg{F?SnH8%UZE72uTe(zb znEd!ewZjdDDg*1-W9;G7-P@H}$37_`x2~>;?pVkEuI`Aoh3+A}j^3?PCPHB}-;Twl ZN#JVO;?I%g-W7T?aezpDh3Gnn)W0)0IS>E< literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/coin_futures/market/ContractLiquidationOrdersResponse.class b/target/classes/com/huobi/api/response/coin_futures/market/ContractLiquidationOrdersResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..1002c682d7bfef9792e23297d8ddaabdc97709e4 GIT binary patch literal 3122 zcmcImZF3V<6n<{9o86>aD4{JxK#Nvrla?qi3Ms8h0j;K`wzRy6z&2gTLYgg`jrzgA zz#s4j$QM57jFcIjar6t$_?tw0&h92nUmW;AXWDztz4zREp8K4a&ENn2`a6J=xRZv4 zX&Gi@xMW~9L;0l)a~bquUbM?HEXZ`xz?BTTaMi>$k=IRpCGv)euT9((^_JLOHE`R2 ztze$F1N)p~*A=X(dfo9SYj&gIG!#;ezz&*JvgLdBH+HdR*Y6hR1K+LR9aGSjc~0R< zx#F!9t4(joE!wMY(RUiFUcKQIE1p}wb*C9Lxl&xQ{rgT(ob>8}Z&!k{`=IIayzA93 z`OA*qn2S#hw!qLqBB1M@4%cNbbez8H1oJVn-l5?RgLQ0^-m;^xyX@ATndZup<6pLy zYFx>dy^391w0&3R@uC(~UAmfituNsN3<8z+C|o1VouWynm&+2Q4OFzaYOHhBH?)puCN#8E^4kFQ_`cLYD+~u$9GDxZ0kk!%Ze3_Me(4*AqEs2TP{A^T zH8LPE3a8{i9~lT5;|wVMeTD%R&bq%S^%NF%q{Z(&Gve9i)V{0RfpU+OT z!M;^N9YK$>t7VVF{FwCd>yt!60!l3*F%2cdO4$V^ao~8Evm&LU)bqbU{S=zL%`p`& z_TnAtR%C!dyvrFA3P(9^KAhNmxNqCT4EZ*Plba9sZ+ke80-qzEOOy%0nJ+wn`k7h+ z>$o%F>Hf$f#w~9WLKH@5tt(D?I2pw;nr*o<@v2t}x9uwrgjW{v-gZ|eU-e1}Q~Sz8 z;gu|z=t^~(GR+4(EaZQLu01aN3GD~y$;X91piPhD*Pw?}Dyf+f4kc~$FLdR!XV~)y z)@V*!gVC}uOFB)=QYxp5P3jr4kIMf@ht;!ljhq(m zm=c_5D_zpVEyg80Wajj6>)`fOPecx5gh|Zd93}}z$1KiMOCW{^@0l;$yAC2La7%tU!Nyrp$~e?pkH<;sIvG==_&xcYKBVAp zP->LD`KSDsK9V1Kf<%7w3AWT~SJ+YVk$pQ6dgG45JHjR_dDJUkPx2 literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/coin_futures/market/ContractLiquidationOrdersV3Response.class b/target/classes/com/huobi/api/response/coin_futures/market/ContractLiquidationOrdersV3Response.class new file mode 100644 index 0000000000000000000000000000000000000000..0de54c092ea583eb42078533add1a209e941f6ea GIT binary patch literal 4325 zcmcIn-ESLJ7XMv)zU)p?*ClD)?LvS6iIZSHx-9ForQ6bOvm|Y4O8JIPoM|$RGj{DU zyIp937sM0NJ|Q9TghZuP9~QI?5=bj}0g1nfuiv>dcE-V#@{m^5y=TtXJ?H$+J=gj1 zm#_a1;1J%ov7Cp3pT`0CIXJj1%ZeGmHD6@(IU4Ptb|_FY4NzV*sv!) zJYQ?9S5`ZXrJ&+9gGwvOp;BuE;hUE`V%4s!d#yD;s%#_o@os{%M|rZn)GfvJiOHQl zX&ccbNH7xPgs%4P`5^Sqbk>*r)&*~=&VpEngD{AWDx983)wGL5ij@G6;^@L}spstE zMZv96^XeD9Rv>322N}_7K;+Kta2c4}X#a87n%yG{3x2fPSU%^qymdcfk1Bk&BU#?f zu8{)TD}EFMHp0FcbU`d?EXWWRW8Tet znQgn9?dTwMq#zbmbh;yHjU-!9FsUHey1Jf}#tC=jz0`EWhKW^=dp8r-`S@2m zUY+sw<#TrFieHOnCtp!ejsEeMh?r<2T9w(Flj}4d&(OT)B_EC!==qt8`I@#hTV|&d zbA^nZ#Dg<&5`PRWMqX`g!E5Tv%U47Xf2Zb!Cnaz?S@qhhaf@arCg&K}x$|=iCmA?t zi!-xRkH}17GRAcb*>O449FNa%qDBm$LVmH)Y1RBwflQ={Z49S6}hUEGH;7x&`<7Y}0G#Y1>l;mpnk<>E!0cJU`X<>GHb{TWZY_zS8oW^vfXOL$pf z-{y>nYubB*C%2K)gtXBS7dP;(EbkG)=`kX9gkVjNMQ!f(^q8PVN=>@(@HAiA%`@Zf zRCsY`Q|~>d{6R3GuZ`Di`r)#|O!}I4$3SXO_7#C6txvyu&F-jAL>>Mv0t{pXVp17F zS?>f|@5Guvy&lo@1cs5rB+BGWkuyep`R9BC_3~H9{Fk)CG*^o|u#4*q9z|Ab-=MZh z?t$`G$d;#W!zfSRhFPAu4Xa!-Zo~e9(rn7!MTMM0u@xS}AeYv5T}qSm zTuK8dJd2Y_f6mi&FY({?;++zY@5g4hS-RVLhirD(DIUhb7RRsN;l7Kd`EsiKIZWf$ z)OT<`ftkHE^(~x*>GB40`jbTd%ruv(G4lgFKJwu zW}Hp0Bfi8O{?3d?@F||-#m%ttA7P%nEXT)(SRiGv9&0#5%H+3?v!pE4aSG>1@vk+u z(DS4m{G0fnCzZp;_yZP6<#B;=JcZr1^Am<`yznzdZCvDkNBxZbF`2sq*=?#hc7P%8 zP7DfP8~)uzx2B*WdETk>yVsto%ue!5I{!J{Q+%t)V&|(5=)$I>W?}ZQaYTc8urRwy zD4oL8P1rLV*nLU(Zq*P$$w(xQ033^ks-_kZTW#c&%&us-YH5+x6A^J*9UKhO={S}I zq%79)3SMQTCSiDuREA}}jMte^mg8{&Z;&!L8lJ$Lq)cYD50^+;y7>Qr^D7w!i?0+5 z4yAsj;pTTn7$Y#d3SAwepOvUtDYZ?_t=vS}?pNN_A0VI!bL3kdV}dKpQ-=GoZ&2W? zwWnCzz+Qo71NRh1V%p_a9F6HA;qQy-VWIbv-au*VfQ>Ig{4N|zYMjB6Zlf9waxdzW O9ky@|e`H(Vi`;M0jKAvu literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/coin_futures/market/ContractOpenInterestResponse.class b/target/classes/com/huobi/api/response/coin_futures/market/ContractOpenInterestResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..7e055bd4c8815ca6cc519e22a52837995ab2aff7 GIT binary patch literal 3372 zcmcImYjYD-7=BK&o86>aD5V!7parY6X-gD~VtNrN7ppB)3Mh!cHeH&9G^xqP%TMqF zf50CgU-*DCQf73<(JwgTZxZo&_iQ$4s0_})Onc6I-ur#?*FV4f24E89Gz=`uaY2rY z7A|FYeoT*tcx#k7SQ51b6qix>CaTs&e zRXVhD!LN8{8|y1x?Si{fCZ>0xT6D{o+?p@%2x$Z*pK;H>D0k_jNgpprmbds9Wz!;2 zB5EVYIiu{&rc8`{S&6K-64^iUbRI`9vE++hP^zvjxixp)V^tWFNim6Sce_X!nh02= z>foC6IE*Qw4{WW#cN@(rtVQZ#_Lma1xRCO`YPe-auqEhoE4RF2Fg1EbK~=ZTM?_-i z)u80n6uP8ihMS}0gxL6Lg+!SoTN4CKhe$m}8I9JDZnkpq_M*EHHX}CyXPA;jw{l9n zBv^9mCEd@-k|p3_r{B5#3-j4t(5VNymqR zdic1_dXEoDfoIqTw6}6IJ>&E>X* zzd3Sk&8OS3$B&33b5>mwQW*wpMS_lvE6UaWmL7uM@ljp5?o4KE%?uRVH zJX0aEA8!zLGy~qmA-;cqIgc4}^p9!@LXpYE#iA@ru7&^mNeDv_~7TzYC__al4;(1j{u49#ZLzPGH4$C1b z7pOY+GASyP&*7ym+a$Sl1yUTyp_Y;TG@?^-lt_-0_Fo<2ou<&8vD}X^jeBE%!1w`X z^4{3*Fc!yin=r#Cfz;V?9tC6KPjqFCN7!{2&P3MOgw^D*3np3YLMm$tPwEkR@1i?v zW>alU>4HV3bivMA!emEGR@QDZ8TYo0`Kop_uFM@A!}|=TAK$VJhZx8(CwhvwBsWD7 z(}WD1!D-A8GC9r1F-s_gGF$osLKbRl`{RUcd`O#Pa4h?8?67d+F$OHm@y}L|u}6dH zcCgtH$Cy|{wv|pOb@BHeb(xY$3FN<8%!~su>Ar|XEmjEofoqN^_Jfk{O;ORso~dbL zCM?9ho~aVcVE2sOg*CB>%niZY1w#l~Bcj++98F3W%#g&oghF=K3`zU8PxY)e7KIn5t8 zLSM9Ns3Tm*(no#rVWoxEWD9197-^U8WVn%Jg|sGoiH>|qVuE$s!#l$i4A9gd(*FV( CM9Osl literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/coin_futures/market/ContractPriceLimitResponse.class b/target/classes/com/huobi/api/response/coin_futures/market/ContractPriceLimitResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..a8da3257cb6cedbf26a613d725baf71aa9c4c0a1 GIT binary patch literal 3354 zcmcImU2_vv7=AX{&2G{yl+qR=pcSjMX-gD~V$xQm6s)GDQb0ijw&~I=q)FXu{P+c4 z@dx|?a>E7ANSVNFZ|Lqn<&I6;#@f9aOt5~p z&8A2-@*9qS+YRz_^;+ONn_UwPZ*{XmWsf*cPLd@bo%Kf_ORO$b=kk75&a?3$+?1~1hzI`qt5(BRX z71!6$BfT=x8X-Hx#!oXO$^==8AYeK~s`1Gvw0iWiiOaVaoz1WfxdAx4lq@^7dGV59 z#c5PjCnrb87U;zC`Gv)KdPz9N$!S&tCOtNv91(lQh*EC_bu|y8O2J$gU9%3-`nSmwQPS%&gR#e%U?a$uz(A?3Hm;cAJeXUa@fi2W=d}s~YBC$U3rd z8t>b99fxhaC(tOyY~(O*V;*NT?CajErTjOoyet~vBWEtU^ z3XubNld!EA@D`5nrAg6vb_*xEg$H*OX0hp6w{WsscxVS<6~F{-PvU5#q`*5N{^rIX zK>L|c0&V{@p_U=V5&18%NrE(n&agE;`uKPo?~qOW+NLt`yecKvvC0FX%42w!^6Q>?y$iy7~EbTG&D=^&& zwi@CD6RXRnQVFFl{<@j*8e)9c*pRZY-JUCbzcA9j?(;Sy)rQq37~L*!{g**d;0C)xTT8?7P1HJqk_> z+)sE5d%L%c+7D{FrlQpFOMr7>5`Y?Q>9jSFd&qy;Fu92bNaQ9T;HfF@33p9S@yCrY z5bYZ32-mUn(SUqXX`wyYf*B@8+NC!cZX{VD?FnC|BcG9&VBPlf&M*Z-G_?=u{{UAw B!U6yQ literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/coin_futures/market/ContractQueryElementsResponse.class b/target/classes/com/huobi/api/response/coin_futures/market/ContractQueryElementsResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..99eed3d8f30c8f1b8f601d73cdfddddf44de811d GIT binary patch literal 3214 zcmcIlZF3V<6n<{9FG<)!8lVtGEK)R0TY`!rNkOF)DK@;ch=MP$P1j~2-IUG78T={! z0QtfPoq;kVGmd`28GnO6!;d09XLpmdX{ldI)7g9W+;h))&U4N^`{%#E{0iVWY9?kg zP^f0G2h}tTT$INp6PGhwugGIg_U1*pD$-{ru4Q1Mn!@L@ev!g;S#PB9rL13>_*!9P zs_6y3T??+X9sk~R!&!E`pf%^TR+?VRIn#C_94(v0I z?I{?ozz*6ih1~3I`#ZbTu)U?yeBis@Qbj>qq@hAK+G_`HqcrQb0`8>e-6fAFeMiCR z+n$`QHJ3~Ec5}fk*(+|zj}et>P1n2mZCg&YO3Su?#|cVX<}lI$S~<;_=0Yc>yM@v1 zi?Jnwm_^}Ys=3Hycg?z_z4hV?r8PP4zz9*6kh-NTP{f$cCx59YP}d(L@e^fsAfEzlMrQoF187|G(;BWT6( zN6>$!D!Jy+0FF>I9GT)xyu~*j3IU1JUD88zRiG>ZBF#Z+Mk%KSd6p*G7;}*(><>N< zal6D-j_AdQ&;)K`P2_ACIr6E;k;yrZ(yITk-hX&-lfw~f67v||j-8ab3TsBlfF!>b z!p_jkP-M|f-iVWz1a%cAsPGQnjftII>v991FLD_bw#TAD(hd@89HhtKaVmMa7(__; zo2$vSK34n@y7pk~cNjlFPd*s?4MugmxC%3TrI5Nf&PQ3B_yarg+EWbPhc%JcR*~*l zWXd{CGG!yLi;eLVx%(K%>v^MNq&;A)we1n5b3Ve*WvGr5_<%U~Vjd^iG6{CwS(K?u zqKMO|P}1-TGnk~LqsnAYQ8Ks(3?pr({=rTYA3np7iI4c7QqQnI64PB$POz;snK>~T zCmB+TsS68&^hLGov=dE_XFA82ikTLkz~b;2$n9L^Xkf!| u$z>xsvx>o7j`AvY_g}cE5u)2#i1SL|LRf@PF~l_&Mlgsi%>)eWNBTeEdFyKc literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/coin_futures/market/ContractRiskInfoResponse.class b/target/classes/com/huobi/api/response/coin_futures/market/ContractRiskInfoResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..26d15687e43ea68484b36cdcc8799c57351a4db1 GIT binary patch literal 3336 zcmcImYjYD-7=BK&o86>aD5Wh#Kr2>h)0QX}#k5qU6s@*UTR=esw&~I=O*b{!c=-W- zC^&OL;8kbJZms6k6jHU&4eJDY=kK^*yZN#ktmT)(svoRPDkMTudfF)Sl?ZRF zQeTr&5B+j}-mis}NH6eV(YLCwn-D}HeE zc3q@u`3<+a?uGf8N)T4vVz}hj*5`uTm8F<@s1eHKw3u7-!sR%EzTuHJPn$6qGnG|3 zvv=MPybJY>6|Z{9T`3dOJ6|cf;YdAAUN2BUf1F1uraBRu|o>yWxdimGPJqleqS`i$r0GfJLef ztU+&vFe&tb?V0~>vyuH`tggwv>k*6jl=oHLEz|pL0bg9X;}yfnk!uR7vV9(662q>9 zC9kT`C0#Pq7#%0VHlJ2Rl*zF*LBMo`)MJy;X#MDB`xe(1+|8%~Ir*GfN*3K1IXbbpG`BEIFA1kOG4*oDlsC;Mhs2&aq}AJDMNa~Gr~JSVrxi}N7cHKX zw#r9k>=@msY~TNXxffEu%yOk(EqdpDnc^eQS`^1+pE=0lB?pIa*ufFJtT3|+E6Bk) zyzAgq9Ch%HK*Jbuki)2hS)5lm(78#^*8TFTS9Nd!C56Ffc|5Ee>a+tNcUZ!)!LSxR z)>+@NK`H2ImYud1aFk=&GNT(*VK=r`bHOUG-(+0e%}p;@RT$r){!g#mI9M*QZTyY# zYHKvzdJTT&)8ID?NFpIsBb1QBMK@~)g;yeYke@dt+2{EhF?rsKx0(9|>Zgchh-WH7 z_ThEHj%L6cIL4Qfg7NGWPIL;D=mu-UFx&kQ<;b6|N6{ujEk#v|;z2WLEMY{6=9*aed;b|IBDg(vk0z4y?aHM6NU zrgXs~Q@UVhEn%`_CM#<56*f3U~G*~b{LFvCAvJ;p%|rrW_r zL!4q_4cSsUq146Sa@1u?CMA$(wV2rq#H9No7PnX->IbejqSy~gx;I5dmwP6sjMGse z4);u!SO&Xi^d7A7Eo5#9-YytI$Qm)lmf~nqx?n~m)+G|Mvt~p(ymP9jwZYiKB$k-Q zkLZqxMa&UOAcIfvF};?SJwaGfJ&glwUP-ki^Bbg|5MeNxN-=>@>IvCf?}Q-wVKx{V zJjQlZ%$90nYjJjB$xJu7vvuxpgRaWLn)nS}S0BRZ?cTy3Ng=P^y&7iU_4Mx3a9ZGA z!duwixn=Zz(9<;$r$+HRb1_N+5YU!ETYb5Q{Fe=r8+(96Zu|kBn&Pf#*W@&Rvl05@ zT|*twI+i}_laDDav?g0HgTzR?bSI;YBrBvf;fr+SQxX%b+dhrGJG literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/coin_futures/market/ContractSettlementRecordsResponse.class b/target/classes/com/huobi/api/response/coin_futures/market/ContractSettlementRecordsResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..1eab3b814d7ab602cbbddee2af809bcbb9cce9ed GIT binary patch literal 3776 zcmcImZF3V<6n<{9Z%MZhN?(Ye7OB{#EfED@(ifrS#Y$VS1+<93HeH&f>82zbl^=mW zz#kxA_@FaVW@N_EFF50G67e~^n=~zDsxyTt_nv#sx##t{XYJPUV(Trp8r z=%1|kLDeY+^KKB7-Bs5Q=GTEUYikw1=1$bT@{(Isu%~?AtxlGmTFtGQSXHpj zIDs?aI=+HY3!I={Q|Oq!<9y@f%Z|UCpAV{@zdWLl2q?+4NTw?xUt6MqrlcNt<@~f) z3wR?n?=AbZSalV==weemI$f-+=1cX;qL+8pynHo|G+(TE{>|HUxmC-rI@J|7$nTh6 zUn7Z;ar!kE8|mKbAJ|<#J4O;$no($zl_e&=ciQva+4}0DTfOWomdPLt)6;AfI zR5Pw~3n#4ama>fuT$T1zica~eQ}x7PY*htT6Tl^7}TA_!Zxthsd8B`zeyZp+oVvS)go>pn6+7H+-Wjj zT{=vrwvkNNHkFoyb?Qhq`&;ErR=`Zp!B3 z;vKgbj0{{;P?gQIC>AlzN>Gw<)+V6uYm6;B4+U2+KH3m z%8auXz9-J+aI{)Q$3H7k(n!gvm7+JD>>rq75SQkrX3jE7(gvqhy&SN_P4~$@@u&Ai z=B=O-y>Nx}e5GD3y5~F@21j?CD8~e}3iVx`mpgim=a`Lt_%;sVbsKNsO&h&9tgx#y z#>O;0vGFdB+ZY$>J-l!8+j-K)3}zL2wm#bC$82E7Eczp8jM=DQjm;S94Qk=xE;}{U zE3Fx00|#te!Et`WHe5weQ@FCLWk1vW))GSU0-Uuq*I!Z?Zhf!ur{KkLwefM;q~CZk zFO0W_J`VFYMGt?GB$1F_l1fNB!<`-FFO;`J`Uq^K(1*9lIZ941_2i%R1Zv?i5Tw)OAh^wCee31SwwDQAy4dR3*m`;2HkYF=d_dnH;-lC|fxFbf2rDXeY>mG? zw9*}EH0x-@b(9L}Dy)#g#}HEz*Cvzte>Ew9QDM<(QVOmxg3-A5(=^?T@`Y}{EXoLb z8=W=6&NiKFbaaf)I2@w*m6RsMJnj$XeuS<)9Q*_3573hj2Y-h-Gn8A06&^{XW{0>G zwBbL|mernO-vijgS#2HZhDKXKr%GGF$m*hFJVnO?v}g6K(V}D*Oe)z0D{G396)Txp ztD&SlWI(M5k8-{q1={S)eVoE+CewxQFhSHO_}V;7l9yyBi#S6{!+D&;SyDPj;3?9l z`QFNW1?NebsNx_#C1qiXJ_li&*5BA;;QmUc^SkSPlT!rUlNHSHWA{11Dh;DOdX>MgNCkTMn<)Xi?kH z+{&dg!{iqzsvT}HR2f(&o?s8B?%s~fI`&Bkxpj0zblW=icXURyEp!*@b#!l?G7$=+ e`F0{MO#)ZL7Jq>(_m0q;i33FHYed&Ur2Yj4A6bk5 literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/coin_futures/market/MarkPriceKlineResponse.class b/target/classes/com/huobi/api/response/coin_futures/market/MarkPriceKlineResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..01c8367f4544df0627f408e211a881fb9888e74f GIT binary patch literal 4077 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 YTnkG4IWpYSfj1Ke*{QFvyAC1oFShnAR{#J2 literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/coin_futures/market/MarketBboResponse.class b/target/classes/com/huobi/api/response/coin_futures/market/MarketBboResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..6a1592d4ce442a7bb51b54581a4f6ef0cd3609ce GIT binary patch literal 3565 zcmb_eTXPd-7=AX{Q<5!|&=w-7MXI*xA&Q`o9?&9SB?Y7fEppnXOS3dhLbCC2TYFyT0zVsrN4txsQP%#6Aclm>AB@x!EJaHNi4bR6{@T|3a$r| z5qYLitZwE?&FZR~vukdy9{QRqR^7_&yG@a5y{kw9D7*x+@}~oa&Wa zW^Qg*9@8<6_Lrq@+iZvRF@+eED56JIpzw{BP=tJ`rAai}xfvYoP0iRfw$7sCm8xr( z?Yh0`cut+6XcUu>_IHZ-5s82))F7r7L*)ImFbr)^_qVlH%5R4HBKDUUtQgjv`%Sw{ z$G63LY4x5{^rpwID^RN2=PM*J;;L7Y8BIx3jI>74^0Cp=@QE^sWSJ3LHx})h-*MbC{)RA%cIB-2Ni`+AQ40DxK03BQH!fdUSUgKV3F{oeX4&I>MGnMA z#G*bD4!!ABg9Sm{j9YQNIRz&=OBSw=j=K9r>{cIO=8MI4)0j_ z6c-d6=-yM&cOui{ws4{7Gt>#qL6in{WH@!Q!y~elkwIjw2@3ArzAW`8R9C z&-oiZd=wTE7{QywyhY3~`Q*=h3T5R9Vm}gA@HS7KHy}R*SQ?(fo#QQ7E&DU#!W!#f z-GeMKR=|L9Oz_3HF~zf6SnU?xyQ46>fF`8WRI2|~rBo(T`I@it1Ds^>B-BEumzt=I zcVzkBybOwbirhg3be8sL+sH7D1S!cA$vF%BS5ERyQ0T#U_6KO{qw(LNe-ADGX#6+m zixb%`82*!hd2xbAUY+~{sf_vz`yRrY%&1#Pv^bJ^jV#H$p3#Iye}?o!^kuY+-ocd0 z8)Qo5&5R*TX2@h@%odaSXvdgu1dc|Pd4O5WF_=MogVXG`7~9&#hs4EM$s#@?q~biz zVV;nNMbgd?(oyC>d`!qd9fxq1kV!63vt^inVUL0H&oN}+6aJgZa~ur7L?_s4h*>69 zl@%5w6sPEs^q3}@lt4O1q_cQh6o^LmC6KViPW%19-A5GrL7Acoor{jL9uncLblzt3t@AA;py91f*16^GU3WFJxvkpLBTVR7;X*F!V6aWm#bQ zxKME!7YW6<7cSruy^gcVju9)Vp5q4kjHl)&^K0lYh)|hKMPUM=C@;v~e#Znc2(87? z;!(GwLN>jFtmH3#RLMm>PxO!(~RrI-x>aD(`{p6AbwqCOh#MYIgE5dZyU&cTG0nj~Zbh z+%?qUFK_9i0nYIeT4+zUV2%IH literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/coin_futures/market/MarketDepthResponse.class b/target/classes/com/huobi/api/response/coin_futures/market/MarketDepthResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..cf19a5aeea44c221a5ec3baf69458e4909e7784d GIT binary patch literal 3433 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 D2pF*y literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/coin_futures/market/MarketHistoryBasisResponse.class b/target/classes/com/huobi/api/response/coin_futures/market/MarketHistoryBasisResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..edd974116d80240b6c7c1869ceeb62848b4244a0 GIT binary patch literal 4133 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 PY_f%8c$RJb9Af_gNIZIG literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/coin_futures/market/MarketHistoryKlineResponse.class b/target/classes/com/huobi/api/response/coin_futures/market/MarketHistoryKlineResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..bd14d3e601376d71b92155319317f3390b901f24 GIT binary patch literal 3809 zcmcIm-E$LF6#s3qo86?TltNolkq@odrY%uK)U?z}DNtz(QbfTI*rrR9HcdjZL78!U zbbNBgCr4*|l^KTzWo((z8Ao4m#=l9#-??|QP1|&ahcc77_uO-S=iKvk&*q>1e)|K! zaeNksg^y(USe8#@xo+b|g1alrd;*tr&_&r*q|%Ouk;8 zFJ#H5vOXw@<+Zgtu7Gc#&CN2}%Po%6*)$-5N5`x+6AjPXKi z(eo!5$lm^eCO^Ya%!%>>UD-8F1GDv&d9QleoiCEpIbF`V#Vc;LAm@N-`uPGQKD#rH zN;>G>T#!uh^fIk?Ztyh7s7;~7)g%t{Mmq})osju-l3CNq?CRf|%YiE__>AZ0%L^CX zs=MO(UX{_rsS-v=S|Z%jtgZqSWt&nRVnZGVGa~ZtjTO05X;j4v%!Tl$5W6@K^KRAM zBK_YG{)PD^FXxX8Tr*&lH$Ip^#3n5Jd9TV4rGNV5T{()Q$Tr1nJgKA>G>%$Bo>`zF zWL#*qs_(L$-sK2NjAXHA-|>s zpR$#Q4oN$ZZ44xF1xNV$*DutaZ(w#u!VM=nTeDxiM7L7$N(%;tTXf6TIUfYhIk^Gf zc)3k&sav;!XUQynD*+P`sV1q26jbf3soGgq71wYZtybtq$Z{Ip~-{F_W%?zd25K~7I_UsUstU3HQ+EV62 z?7oZSaLQbR(?GwXD~^MpFnD!A?4s3CiN_-IKIWRI7cdhDf)2&yKLuQJY(aXN9eY3obJwDXSrB%f^%_ z7K&JLYVB`bq;uMr!1*XvZ~+(Tsl_t9ODe*&-ozya6lK%SV2+f@LLS3qQWmbF2k()J zspS6z=P?;3lW!PII1J-471z%ZVRXT202&x`BP)Q#nqce5&D;QNZv?O7TL`Ga82P2s zHNg_&l;J-9JKC>4z%!k@*3coP;nulZ({Z6YHO_qP{a1P)(Ts$HyF0Gq&{lW zvAyzFh4%<06UpR&Y)mBK^pPViy4zI4S*EFszxC;KmCjuwAc7D1!oWr_kmAL?i2o0% C0Skoy literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/coin_futures/market/MarketHistoryTradeResponse.class b/target/classes/com/huobi/api/response/coin_futures/market/MarketHistoryTradeResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..50dac6d6f0e3c0079e0a07be7ab8f1d8426780b2 GIT binary patch literal 3815 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 literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/coin_futures/trade/ContractBatchorderResponse.class b/target/classes/com/huobi/api/response/coin_futures/trade/ContractBatchorderResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..e573de9cd956506a1af5b69f22c42c6529af0a03 GIT binary patch literal 3052 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 literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/coin_futures/trade/ContractCancelResponse.class b/target/classes/com/huobi/api/response/coin_futures/trade/ContractCancelResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..e16b65f2e262adde985beb348f8f7dac0126e6a9 GIT binary patch literal 3016 zcmb_ee{&O66g@B5&2G{ygwO(!9~Q0JCM{7Y3MsAF0$OQGZ2MnD@o+mVpNb zYz6a@?b}n1?J8I^uItpNYj&gIG!zmI-}aj{GP95D@9aX&c2^3Ee!c3hj4No%Jg0DV zw(LDFRGQvWwP3GS3w5Wl>bVW4Q1+_s{fAAz$(4d%x0jv5wCB<&`_r~tc4`Ze=U@u} zgT{QOOLwH3^@3!{6~|wU(DV%rcQ|a}nf8_)h5fTt*O_ZRUUKT!?WG!5GP7RUuHCfj zRhdVNnqR3h)zoXFCuoD<(55`K=r!wQ=So%H!O`x|@07f43t7Bj;V6z-IF1tv7hhM#7Cy#l3vXh; z!Utl#i}x%HVc5b&e4=o8XG@uCR%^>n-NFo(6i##pI}{dw!a^C#q<>^USP!PWp*}L; zHzrsjCix5ll>b(eP)rIluY0j}yHcPqMA!D}s^b#PXqN)-ZdK7e**CWNx86ZV8AFY< z{Be>kzMp>+;)qGLXvL&p!N{6%?12)(`8~;5furK6=YE0uIdFT6-$bx@5O34ALI(`u z9nO^0h~J%uV>=J`bv?}5b~zm1dAPsp;T-b3j$|%!j0w(Mego<$tr)g&Cxg?6LXQZy z+(`&g7@@bWI7xFdic@sk6*Bg!A%)v^$fH5X0^aWyGXAO|rA+OR$Agf38(~Owj$@J+ zc#_Zk1YKLt{|W6!=<)UZAJ9r8xlQQ7ltyB1grA}|`WJe#+H)LOgEgAfHes|p%%V;g zvzW;0;*)re%o=*LdN$GFlq?!_N*2wmAx>uGWMs{jleSJk@m>7i4S}}#e}XgoSB0G& zKj1926yr`6A95{@9G~h(v^0E*D>z3>M~OY)Jgo$3EKre_fjY%JPRqmv=FGz~%zv=Y zz{Cq2GBC*>Q@y~E&`frkt+JmXp_;Uvs7B|BNR*@tlX8*&6O!J(h)(!&kw{2qgA%b{ zafw1wBB%rd-AIpL&?bUH97~T^SOznlUxP8aiPQsGH;bBVWVL9=l;VV2$)X-?u`aQZMPgHIK*@i>zaF0+G!HoTep4-o0WqLQU zPblP&*&o`}T{?3hw3A|IXm8@+&K?qWfv|gxMbxmh<8$Va2Y;8N#<4H=jK9)Haw8jv z#e4Oj*<)g+d}AzItpV1O;&W&Cx05rn~0+~9&{OL3-XR*tbyoj7DqUyc+o=) Ico@n50AD*^5&!@I literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/coin_futures/trade/ContractCancelallResponse.class b/target/classes/com/huobi/api/response/coin_futures/trade/ContractCancelallResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..235504c78f6993cf4a189a89398e7156a16e9635 GIT binary patch literal 3986 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 Y*TNQmfh_lq(3^=pMCw~a*IuOl1+ra2?EnA( literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/coin_futures/trade/ContractHisordersExactV3Response.class b/target/classes/com/huobi/api/response/coin_futures/trade/ContractHisordersExactV3Response.class new file mode 100644 index 0000000000000000000000000000000000000000..5bf38e98acbd61d995a37e1f7d74a1c4e9ff04d7 GIT binary patch literal 4421 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 F{{i!Ox+(ww literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/coin_futures/trade/ContractMatchResultsV3Response.class b/target/classes/com/huobi/api/response/coin_futures/trade/ContractMatchResultsV3Response.class new file mode 100644 index 0000000000000000000000000000000000000000..e0c6a57f8d55a09615b7a483c9a9a7b18cce2e5f GIT binary patch literal 4246 zcmcInS#KLv6#lL~o83w3x=o5pfdBy#C#hM==Cq}BqbW&gn^K^x6K5K`b!=mg3uWg8 z@r1+^5>j8Og!%v#2@;hMynw`SV*AdWu`>>C#6ucI_ntZ1J>NO!o}2vf_fJ0q*o#kX zET*C0r?Cru3JxyFvLs7cmWqvwY3`R~sfyOJP&HZVvNVMEwvA>Q8TbxbvInxX9b9(s zj)Qj{ToJ~5Hr`iw;BdVbG`&(V=LMzm8Nb!82CZ|Ck!aLwE&ouvQeE_$3hqp;<~I*l zy;jR_+4w-gIpPK0A>XSh7^V86udsdgqIcOVRK40#VWt-NOMY`&A-UXIQpm<+^Fgyx zTcRitv=lNi$!uNojYYcdO4>oCT9~c00$QZzD@!#mXg7JB9~ySW`({h^axe18w>M&$JghNobCZZ{8UjhY%&6#~X)ra<|S_ zYW~Ug@`B$y>n&7?-`ZEHRe}Qw$H!tR>?A(Mit-)f=sd4W-}Lx7DO0`VRnK|NikuN0 zWCZ033w2`CuoKmA??G1@ox?J7eo(G2p7NUBvLEezIdw+AV4wmLY6`&C3zVNpc` z9g1s2I7Pvvf*{={7SP&E?&?Y38Cq&-MpSh(nyg6Z+| z3aZ{a)glog)`PN)%#>W4(Qq`TH81*bv_Ox=RLIw~t=TdXoscVJ=p>wnk(2OaU_S6l zm*%{NzNCB?^f-4)UhSv^PA6rrRSw%SIW|7SxK5p!nLEnBNn0F+ob+TyF&U#ehUBOm zYL13yI6*xuokDuP-fousV-=Y^_isGA_Q(}bsBPLf-uSp^RJxeLhc52Hh>Lr1pNso3 z>f!-B$N{-ok+^sX$6Y**CtN%y)RTD1#nULdn8rRAFXI)3oof>y%wG2q9o-nnnDoki z7a!qcSw3NzCP!G7{jA93NYLVLPmV}wNU3ob9-iVWxprLGf(oZM3vc%!p{*b)uZ3JMYq&v0UiD!0~kn1MM)*3sCs8z_0H1rZ>5JcJ%&M~ zFpfMq6Xc9gUw)jMP_O)m#CN0>Cb?SNfh}C8um?%4{SmcIa(Cr_L^40I0wX`U0y96g z0xO?0R$zZmX)1ZW}UDAiN6-pvD@F;0lM_kB?WHOkj;jDGaF+wj{0}e$RU#JERvlI7+l-=8(xZKh&Gp8azQ*kB zKE~F1<86J7c_$d(`mpWw#@Rl`VOjU{>;rfva#G|jDYbNoq$F|h1KP`QsL?Hn6_rF% zY$}~%g@bsOY7$qEOY{G_lulH-YIG?TQ#gdf{ajlA*QGQ`*QGRo!Vw&e`g4}9yTJd` zi?;$E-jB6zvvjw04_WK5V?2!0ER0`$zSPx0fsy_VNv+R@V_OxHKiJY^H!bT zx%N~gI>8xr{`0!0_&|}x&R3t&g-u6|%=A8Ezb@wP%ygNhbTSjyU{9@L>s!Kii-rht zMkH~hz@ccMXlfB_tBstT*%1vEEiJOTB37JMyZaaEco<7mq$HMc9= y;gB8>{?3pd6#5R*tH`Y%u;E1r--UxwjuTkWZB)W;?pb}Z!xm2AF1GdENc{_Rik^M| literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/coin_futures/trade/ContractMatchresultsExactResponse.class b/target/classes/com/huobi/api/response/coin_futures/trade/ContractMatchresultsExactResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..cbf39e4490eb1b682cfe3d210fada514f26590ee GIT binary patch literal 3767 zcmcImYjYE26n@@hZ%MZhN-soFi>=tEEfEDT=|yNMSZM)iL5m1%)1}#xCL!4<{s{hn zKR~|lL1(1Q$c&?3aK_&x;&XO4mzFZsnbJw$_v|_6J=fu&%~plaf)BovmD z=)-aXCa%fywJg_7e3RsULzbJOa7!phmKAx-n^;X^AC@h+vfs9_CVRnxXJK8)J0^+> zLo?-)Uv={Sg5&24Rkv0z`nB16WL$P@m2#=(PS?HSs#{gC=Sn5FI#YCNHMeGBL%}-Z z_|CNJloX7b@A&naLf8Dd^R1IDI;FMjqF?n&YvT$rpORFYWWF5mwN)BuO6tB>%+7l? zpC=NF-dc$ktFA&JJlGUZ%;(D+*+RX%;$@wRmu1vJq}hDgE8Vm=H0WN41%M(PLpE-Sp|PDC*`hAqY-9f2qhbb@rI2z@s^E#98oyGhoRV* z$EP;l!*Lr^LcNahK&#VxHWjJ4m@=pFFlq-woYw&*vm%L|jO zp^qc{l<4D!NE|WgB&nD*GuYWrewe%+&;ziMz#!fs=O{V-)RRB!3Dojq#C{^J@Ge(_ zJE+Z%4h++-XqTw1aqrGNMm#g}2wGjIo!pD)39CxXM5mZ#_*dBjpV5K+I zXx7n)>L?Y`RZt;?Paviwt}Q0@|7ubIqk^K-q!e6X91~IR=V`hbNwi-&> zLk852@G$4=VW7><+{Y=LW->jvhiRfd#@ps$hP*gCna3GY8qVP?W=ZLsfTu{G=6x&j z7MvqxqKen?87T{M^f?0CwEo6E6Q4gruZi>gS?U=Mg=C_gY;^AwyQj(64GT(W@Uxz_ zbg85y@-m1ut_W2bz9bSsY&yUL=QUY`m^wxi1`SQ#tUqNl^S^fb8Hix zw}ju3(?pQgB8er<2}O2J4@B%saL7vQf#~qgrJf2MMx~D9GA`m0!_m2Z!T%VNI8UyW zdVp7ak(5SM^aFLPFnXXj6dF3(R#v2Dw5hc;w{xk? zF!=%sYlj;QRR-3HC)mfSyT2>7i33tXZe3j=-LZ*-UELvV3*AF{6TRD~Oo+m8zMY6l a6T{V@#a|-Ly({o$;t-Mg8qxJS68{1jwN*s` literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/coin_futures/trade/ContractMatchresultsResponse.class b/target/classes/com/huobi/api/response/coin_futures/trade/ContractMatchresultsResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..d5f58b67abe26957ec9a0b71201c9f89a9edc8ff GIT binary patch literal 3070 zcmcImZF3V<6n<{9o86>aD4{PzKq*#fla?qi3MsAH0#a>gX-fsHz&2S(FwNFvgZ>Hr zfImRK@Ihy!%;=1xUvS3XB;s@SB~4#s_)ursd(S=Rx#ynu&0qig@*99NxR->6qAXWs znKLk-;(kq*g%tX*DAbZH*X6iu;ENQxaKpq+*>B16rHK_2UzxZqr#phXVc@O-Tfw|& zd-jxL*A=XpdfjPE*X(A~X)0)CN))cmmfW>`rRAz3@=vfZf4 zIb>>HrAj-m?2#e#J4yc*!@%^?!(Bq76S5?6+aiwQ(~RP?G`vSvZ6ysUd1iX z+YNio@tg(?N%GCe=Dy*bCd)OQ7%}=_r`)$$qzUJnmR+NG%k{a{2TsWwAGxKV+^uyI zim2E1Do%qoNG67YYEAjP@X+N8qFS>8QFJtXp_G~#2!!mWFQu=G_PU>BHXGZ7fRbIm zBvz8F*v(2%C-LEt85%LaFjKrlD@iAUk|#4Xz!-{Nix2rPd2UeU#9pY@tKOu-!@bYd z&NOsz+JR3kx~)dZxm=YJAAD8oo|Hg|~3b!uvwK zixU=xF=F9ke4;S0y$z;X)mqtUSeU`8!tqxbJ}gBsVWEVwEc7!udMrrE1hX`H%xiL2 zeCi5Lu)a5+3W`i&Zf~4y_mKk2MylRkUw7(dg|W`22uI+~)(?H=kl2Ecx}+n$fr3lN9ks4+nWQU)3<=5bOcF7VA9EW`X8`wUFH zK)-=W{+a3p4h3YglZ?`SngP{h1cf;|Pm83Ibcv)m@?V9dw;j=GzBm#V(pf)6oLywG zkdzcuf{L#9j9<_u{6rk-8Lu!6W>4-hjIj-*?h4;5Xd=jHp~RHr1fpa?_eIQ$f62_~ zzUavAp`HvL3@waf0aKW!IXdQXkyH#Re2z=BI?mQO#SlxVCo#ZqOQXnZr<0i$?9rve6o-bq zH1pCd7+6fOzbVa90^L{^Yekw{GF&zAWdd!uZQ_pfcTIdH{XG+3o47CL1Hs)k@X&y* zU{2YdJ>l3D1#7laajKJLyH;~*3bC4JdvzMgxySZ*cD8I+HnPiJwN%*{QP9@8PhnxM z;6BL~>+V`9Yj2jaRj0P;R%%YR;Fc;69@V`%XR=<^UU#ySZiPm{TiA3eZgt(M)|Nta zUxNf4M?4mL~3aJ=P^QCI&!3t*Siq`U4YoSZ9Foca2bHK)2_ua!BIoO26y zdDX6#WE@UvUa`cZW{%|sByNzP+(Y3e=^b}ibb4QrWbCM1AR;q^X))WWtim^Wd(+nj9~qwq z0R_7sn`6qd9AW~vSOO=v0 zuHdysC6w?nC!s|M&9Eny-Fmg)%#`F^TsZnkUY0j+A%!aZhkkSh)CvWMI?EC&-}4(1GA1^wih|dvRCZ&^si7q`>;!FWBz0(-lA;< z0QBK)j+Eqz?f%V?{hPZE-OL;xvN^hcbN8W})5!2Ta&nG+M0ln%+fcvIieQ&_!ry&5 zK!m*IP7)A>L85iVK?eszxJ=jqmyy?XDY0$3JnOs6;=RLMMqk&Zq^arhyzi24Byg#& zvybxvPc!MCpli=Ee?j{Zdh}W5PiXnU^bT}?NFz2s$R?)^{f)Mi_5!E2U=5|T9T*LS znbQd|bFq{znAi&>x6q!_Q?V9MJZBIT&zUJhKxPOsQf33BJtLv$f%xAGh&JQ@6j%9k zhSeTF;2O0Q;YtY~a4w28pX-OTG<=E~T&JZY&suPURt#k(C`Zdcm0}*DWnz?PW?&iS zzc^uF>?KYc80Vjohwl%z`}RE&;pb&QN^V}2seb&M352D2lx1!HIjiH9<8<}_JIY2k_~$qAO?Io)4k zUi?jFO81w}9UkiO;J}b!6ib-EB;bum|z~0YzwT@c;k- literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/coin_futures/trade/ContractOrderDetailResponse.class b/target/classes/com/huobi/api/response/coin_futures/trade/ContractOrderDetailResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..b2af3b11f365158c31032933a7c8d43e240328c3 GIT binary patch literal 3061 zcmb_eZF3V<6n<{9o86>aC}~THfEKCRCM{836w()!Qn1=LTR=brw&~I=hHTwz)IY%= z@CVp0{h%|p%;=1xUvS3XB;s>+H);AJ!-vka_nv$2bI*P5InOh|6A2xypXNrMuuQIsuL{5lzIk-+5p?6CcPC$;qZ)GbLJY4mmUAQyRj?CHnP(isLJENDc>@O0~k-)-W9|MncU*OVPjx7er@fG%aQ)#Z~@#)?N$c!H32t zLO|KBO$key6}w)E6qXzunkI>b#p&58vZS4&&KuQ$5p5l>4@9RW2f~vAFVZQoV{Xk2 zCKMX&QHfQ2&{=4cLM!f>C9mO^ovW_AjsBOs%QN!wE#&Z;h2uD3;Ur#Hm^u(?Tlf%X zExdt#3-5{bHr}x?h#?Cf;bVoq-Bssu!>zJ%SeVAL!s(aL9*hJrZlR17rewHZG7%1W zVSTtisE;#kJn0kk^IdG86bVdW?m({CDr*WO*~HVd(g`dND>K29<7ArFYK8@_8m|XdbX!HDzaDX_53eTKZUS2*`~tDZk(oV zMF0%oEsm6Ai|y{siQSuf_T9`Z@3T3%dvou;oAW5}I&yM}eL{HV3!6|s(@J2QcP89@ zG(yC@##<0+7^r^ z!Yt{8n59%s7fk9Ivg_!~>A6%JC|xoLN|(%>As{mb89B2F(l$saxhMX2BciSNKfyWv zu3^c?_qaeUCAi|^eaqLo6G2`bSt;8V<_v`mcg%mOUK z{0D~&j6cUw0~7o+)pHz+%yhfiO#3+oRFeV}=jaj{iIQ}Qq+I0xgrv7FqLaQ{Bo@+z zFh#6foT8AF2r5NKH@Zg0wDB+zC%Q%}OoQ1~ScfsPh0Ft)H%po<5?8U zF)!gJGpC13C-x8ZM08-xFo{K6#w6+JSilup31sjYrpP+Ur*W1cmQYWikKvY3OEAAf z>IEk>22&{p5K6rue0!XbiC*YUKog_woQh$oHrO_D_bkDr$yyx64);h^k<9tu&~f`I ztZe5N4oL{vWe-O-b=Q?W64`07v$VI+y}O1)RUoQf=i|^QenLLw8S>!ove(%6PUWg6N&uDCicA5jaD4{JxE*7lPrY%t{ifO4xDOzozQb0ijw&~I=giTF0UVeZd z`2+p{`N9XCkusw*j())zf0KyMyJvH0C^I-yX4-S!^WN{9zyJO9cL0;9q+wuLj*D_! zvT!-W`!hK{&tL#o1iC867xKJj;mZtqaNWiYxo_HVT6LNp1BT{pvIb~a8nDm$kPj@>fJ)QQC;y1?z&&7dG+;bQ1=R@svq3A z)exzAA*{KpUSYNx5GaM`YpY&uKDbrA5Hk-qLz$Wpb8B9>97oVUGTPy3D+Xh>x=Lqu zF8G0Wu5ow8t6g+gD#TebsO)^nO#o=T~lfrEqHWs)DL+o`;yku&ZI& zt10wImkc*Y$BD45rxg)pa%@cyFdZTF*km+XKYH1|r8|r6denfNe9kN-OKvbHUJ@+3 z^|J2aEzrsD{;2g>dho0;5h;FHq4t(5Z5yywZdi1!% z3Xcy-Nl&uyG`5Jt9L%;I-J%NHvA0?)R)HNS1LLl*d%>#0#1+hro38`Fkvv^Q=HG+rufnyqRnCEN66nHD%X8sqbpCXoFo~a0# z#p{F}&44#>gfAr(7qrZbkWXP!eqxxR?coR84tFM`I>gLRhfG@f%h290KR1zjxdm6PV*FTNv?r~HZgRzH6TwoeM zqB|y*Fi$9f3_iif^jcc>7-32E4EC^jCDoG5Z;*OQgu!Gg#RNjBr(|!x6M`6k*<@() z7@JWsTdISt&Do75Gu`CQ*15xVx+)86@;CHcc?2ihyMY~&LSEUO8fM@1Wp`;fEpV3b z26lIE8NDC$bWO&oQT))HkCFfcv}Mp%fBq5wWy9phA0m;Tc!+1FI1}xfyykB;LVvt# ys3Tg((ntOBHKm32WD9197-^T@WVDfFg|sJpiH>|qVuE$s%R9pq4ARsdr2hjuce?%n literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/coin_futures/trade/ContractOrderResponse.class b/target/classes/com/huobi/api/response/coin_futures/trade/ContractOrderResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..dc954aa7a4a6a2fba423997818a670c8d2287b3b GIT binary patch literal 3007 zcmb_eZF3V<6n<{9o86>a8bV76FIu!}o3uoEQAlYKN|9m$wFLx3V4E&YFl6gyqy7p0 zfImRK@Ihv5nb8?Xzu=6&NyO*uZql@kGt9sY>^=A1bI*D1bDn$BzyJO9cL2w6KM4(G z`COLI6$1+?j$g=UF@+&4iFH*z*JOI#z?UiX;f9HuGTt)rm5jGdd~M>6n0LkRhJkwq zYz6bY?c3)ZyP;ssHyVyNTeq7{r>T%=`nKPqktsc}zq1Qp% zrHcEoP;I%(wSv7?D|k+G&22QDLdC5$?%r?tEv^)N&t7o~vu=Y%#lPaMINoC9INHw7 zm@%K((p}j~ZjdXv>iA0$n8C5}E{9Dxv+jzcFi@&BoXf3;%Z_)|UaoT`Q*tYI{krYd zWF9SQeznF_XI~dQF&o4tS5PPs*&8H7XW*;C{+0{38EI}ZGBmc6kn!szvh4U(cV)r$ z?1zr;c#LK6SO~T}_U5okGM$kH?VfHh0a)2hIN!GHI=8oAy|VnksrXalw-l7SRc6r^ zUsijR%Y6U4&ee0h#2X(y=XR^2C;o%H%>m@PgUWb)lmmGnJbYt;N11-F}( zNV9K_|E}_P7*8#^EwAESsL31H-}B`ikymXYi~SZ3;Gl&=cuV2TYf9L{8636nHbyLb zB-Z=*z`_{DEqscz3d7rb$+=do&VFEF9?J@cdO{rw3qNh4f)!FfF(QlyQ(jM>81b9a zEDv*B#0ZtYnIjaE!o}CTR;NuVP!l3)du`2W5X@wc+U{&o(Jk39w)nT7KvxMvd9?j; zn4NuyKLv5bq*SzGQmtTQ!8rCo3Eli2=B&U`any6aK>ZxJy~A%JSj^&G+E(a*QM|{Q zk_z#={cvpi;r%@iv$8!7$G0Co(DQH(d0s~{7dgfRXD+`E^^{f&o45yp(|bdY2)Eox z2vL}zx2`xzb25n|blVX!_NpO;+fK*>LC69=>=iQpsv)IJosfrukbD_oNOh89k{5WC z&;0~ldy@YX+KU1%S ziL5R@iRZ{XMt@e%Cc2!GMT1VsqM0?s$&8$gtl4(bo)A!c2miN2pdJ1n;TZoyVN=Hs zI6*DNxKqQ&T#F;em--1U4WHoxPSVm*W(PP$D}g!-RHS9VqnM{?nK;dyd02+|4|W-t zeu2FPX86xkFR(8(lig;!?8iu`CQT=*(J3MlCF#PXT;%_Rq<1c&6TVy|64HsFMC?{v zqL7pbD#1Y4(o?6k>7Wn?(^FNJ!A$2L!Yl8dMNKxcTC`(Ial)-+Q4h9Qm*9|@ z)q|~ry{VoF6GjN*Sj0KZ5{`}qoTn8-3ZG++sN;MZM@g|zJ%eG=EmRAc-y`vo3mVB( ziUdNbmvrBp$7Ep$dfTDxqitP^+!9@Go1WWO=}egH!XbCKL#T>ij{k8!<#&<1i8%V>L6?!XAn!QF8i>A1*vB!&i|%E> HVI==tEEfEDT=|yO{SZM*Y&lTcVr zq7Tann7A&FujFyV#Meo#H|23l6mARU$YVvec@wKi?8CAJSJpcg)?_VM@GPtgdDlcy zVQ8jY@~ckXUvP_#@0CkSm0Iy~b=9pdxV1{TRCA~6UXfb`d$v?^t20HXR.HWaM0 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 LL{0IJ-#-5b;ATF4 literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/coin_futures/trade/ContractTpslCancelResponse.class b/target/classes/com/huobi/api/response/coin_futures/trade/ContractTpslCancelResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..3def177799fb798d039566f5c01e0097ce5a5b4a GIT binary patch literal 3669 zcmb_eZF3V<6n<{9Z%MZhN?(Ye6sX#!EfED@(iWlR#YziE3tB{An=I{?bQ6+|FMq&q z`~iP}eBp!6NSTotN59~Vze&XB>~7Muv@<#rrrdk(Ip?02=bU>sfBp08ZvalBX5x!9 z6qeE$z)}h(Zp!kdEVoR2mF9k1mOG+wS13o8WjPj2l+xIPB@3?X_bjZ)zG}g=XGZjCmImKYHS})Hye$g#obL-WLUw5Y)Ub*Df6zo~wcWX0cr(SpKCe{_Kb57t) zyN<75)B`7I)D?Q>)|{`MeA)3=@(V%D^H(Mm5&ljkH)n+OsX1I6G^WDph^<}rV=q#7XF(y6V3r;JX8g7Fv2DFV6 z0=W&JiIE#phf2{Y-*9T47>uoI!K%kfT3pFDnbe9KEX3W~%VO`)uR2v0rJ1*g^)M!6-6E6ZzcF_;*+ zsh}!bhe|ABdX->R=2Dk5^-y#E*de!dG((|`A1e|FnF^WF>`6!L=+Mo+DBhoUs^NR# zbPb22RdoFG5+#kSI`!4)%_fIOW*NlQYqRs`86|0hW2aFL2yM%Ka!CB?Ly>tas6;PV zA-zy()Qau}PagZ>-ABc7=}v`v9hrE$yNM@~jbZpU4&ikhZ{VlxJ2QzU*Ot?)KigFDd0 zbr>VGE80G_HSWE+r%2{TpFqovJ%OGZe*)uY@{?^hZRE(wMfw=U7*D(zMkkhg!}!E| zuQV6$j+3@SufjP-&T(?Olf06la)!)IoJO8%Y#^=@mYl?-p8ExwWRPf!V{aHoWLJ;l zP||ZdT-LW=&g^)Zy-F9`JsaCE@7v*WRE78H`vZI!8!2!X9E=cA!LdF5?$Anqq|w6B zh;bBzbQL0`@Daq6#I?nw{$EW>!>AB+niRklCNLS-evYPFQNB{`-J*hc(uf;Rpqy0Y4H z?0W=zJgaRW-PGtR=v3({7+GC(jOXZigzl`KHQJQyf=MO2U}a5FvSKAOYc-X$#|)^w z!=s#UMS->|^AKlnmdW(tTTHX-6MStRX2?sjl0}>&rQsqj;5;dvGw%%PvwUx5zJiOS zOw@1?pOCUJOP`~#P3v#$G4bgO^qaWEKTEy9frw1Clg;X#Vf8c_v=N|e4gU6~EnSe5 zM0RVj<`bbR!tHlyaiW7Y*}y)5kXuhrM0agqe@|~j+d}t|-a!BMDHC;JG~Z6f&?Imp XEb-^aa_Wf literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/coin_futures/trade/ContractTpslCancelallResponse.class b/target/classes/com/huobi/api/response/coin_futures/trade/ContractTpslCancelallResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..488406410ef474068eae2e2d04565a1cee30e532 GIT binary patch literal 3711 zcmcImYjYE26n@@hZ%MZhN-soE3lweBmWYCvUJzO?R$8dEphX0>$ryGhehIyzIB^1kOi=e+0oyl3;*KfnG4;5cd~zDPr1 zDUCiXrC{QkEMLlU-NaXE?l)w)DGIlQa%5SSW5Gl*ja^u>;L3j6!iwxA3!a5LLf$n| zRv4JB_(9Dn1dG*rdD`&{ZrLf9FT3?>#jm?l4X<2uYYO&^@4L0>vQw|SbrY)!))^;o zrd-EYFzSI5H0lanvv-`YoqXBxSMm!%>2r6%qj@nKsF6CFE;G8fZxxfmhDYdi8)e zQVZUSPm48Ip%`6ki6>?YmDPNyQCar#PSwlT;z;v_is#?F-H==LJToe~`E64hXvRN& zk}l2VW~SA_p&fIvZ2)m?>0Fzx6q)MoS5Cwsx+ihaLQMmnkNQht6EU<*piu@N|PD%ZuIkAwdpG}=LV%pao(vpt8U=d z==b~opUW$0y3{AN;sy&bc)Qv7E#RwDWl^xbK^$Y)q)>3wCT<~>Wx3tF(_+4oOqfS~ zJ&&F(>MObG)R9E?w#&mjL~2qRWzv+lVh)kC65ncZUr8nsiQ(RBIAsR9A(2bVciciS zK6Fh%RW?qVSi}q~K}m*HhX8z_Ih5>>+d7(|P-c=934~0A%xEB`BX)G?BsvOr=bUQz zb~tszp=lKy|ExqwBPFL^ir#N>aA<}>%wL|FJIg3Z8=OUra=_}g+$RUbpFR+ow}MLa znibLul}4@Lp7Z44AKG?u92J-=y!ucHv!Nx2; zw($;***GcGyLiv$H}HgwIb2le+x#$FAEqPQ20s{qVA4hfRhE6EKd6U?d+f8RckVHgx#369awCtR=SCmF_?i4<+f5rea&nPAhB3kuZ-&u{^C z>S)AulnUu8tdPP-5K|J@29x@KH7S5mVbN()3a&7YiMaQ(G~J5wg>Jtr$_RVwoi)PF zww$bYbdt_E6QcN)lqSVI?hogFgswdt{sZO@(31~`e}_3Yl3Rln9!aDwj&K>%M*l=d zR(py)4`7dGwKb%h8XaRgRXWCutS&mnQ*=E*XI9S|ZA$i-NhN#C%9^5N#Y$$@YAR_D z8BjaIqnxitfwnqxAE$7d$@Jh`OcC`7zBUijcb)_JuK!oFrJg4v6xD+fKci=)z{AnVe~+6Dl~PpjjUMBXj5C)+{~pi z!{o;&svT}HR2f*upI{fK?(VM48umyDxpj3#bjKR@c6CRzEp!j*HS}(tG7$=+`F1=m aO#)ZL7JrT`_pZ>JiG4)sYed(6r2Yk7Zaa|x literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/coin_futures/trade/ContractTpslHisordersResponse.class b/target/classes/com/huobi/api/response/coin_futures/trade/ContractTpslHisordersResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..5355bc75cc8a888ee1afc8203f3c8fb36e18e999 GIT binary patch literal 3711 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 XSmMu+<=zo`GjWKW`U<=2FjD^l3imF@ literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/coin_futures/trade/ContractTrackCancelallResponse.class b/target/classes/com/huobi/api/response/coin_futures/trade/ContractTrackCancelallResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..a821ebfec1f51ce0f85a5f2e5f4bc26b0154e688 GIT binary patch literal 3725 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 Ujx_h)z?+GK?9|uTU5AkP7sb0OtpET3 literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/coin_futures/trade/ContractTriggerCancelResponse.class b/target/classes/com/huobi/api/response/coin_futures/trade/ContractTriggerCancelResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..803cb231dee01387c206f61a3e8f524e29c5281b GIT binary patch literal 3711 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 X*CqY}X}&wPHwy>Ysc*2m4kGy<#tlqh literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/coin_futures/trade/ContractTriggerHisordersResponse.class b/target/classes/com/huobi/api/response/coin_futures/trade/ContractTriggerHisordersResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..549a717ef131108ece525fa4d5283f0de046dd69 GIT binary patch literal 3753 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 Xy2M{1!@Wy;vv7c&`Ubn}Ad>$98xU1c literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/coin_futures/trade/ContractTriggerOrderResponse.class b/target/classes/com/huobi/api/response/coin_futures/trade/ContractTriggerOrderResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..e07b40682ead1cf40fea8c48aec262000c6a7262 GIT binary patch literal 3697 zcmcImTXPd-7=AX{Q_>VlXbTb4)>duPLli+FJ)o3RHKj-kT0~%*F3py7Q#Kn9|G*pm zfImQPxX>9XGcx1o4bJ$RM10=e&7mQ7bf$DV-}ip+`Mmk_?_Yiea2%e2&y!HFl7Nou za(p4j4Fg{$dEb=dRuYGBTOdo0Re2T-tR>Nn6%)4HcTB9yT{7XA*bwlp@U0jqD;S!q zxV~o<{bkQtU$?zQZ_W0u*ww9yTeZ*BoHCyZQuD5Bdvj&0TD7YNHWip>E#Eq0Tdo4V z>RW!Tsvuq1u)eZ#Wy@X9E%~0~u1_h5`K0u;Pzsd*udY!+gHrRIa<1T1eM%&joOPEP zJzGIB6l{>E3&qN2u2ie6Iyr00$$62dxnjj}Z{4YhR5izd*6iGFkqy_~pPHpbW3?Wr zJ2JXg7IrfqC6=buxyl;j++T29`%-Ol)%KRH)iN=Ob=zNx65C6!I;1vTs1&X8HOq5E zB$8A8lEaK&+@mn)qDD`arMx@5h{|Y?D7kDQH;P4ByDrl}zMKjss?BWmjl7tw(Q9nA z1=}xG)-GF~wQ2jd$B;CNNoWUKMS{pgz#uh@txj)5F(vf=o%#QEt6qaUk-7%^%LrOL z(CvFQtIPm)#Jsq=VHf?W(d!D7%FeNjNQ}JVmt?ZLq+N#V6PyaLji(V1Wq{3)AYdXu zhSQr2(cz<;?OMFMU~L7R$Tbx#7_(@(=fq1YDOuH0*zfU?(Rn&?`O5slIeJN0=it`L zKC|91A0HNb+Hk1e^ef>~A@8)~I{vJJ6RmZNR!&RtgG#n-kf3tk{eQWaRl?*_rREjw z^NtMt;BHG}QdWS1jXm0cyP1miQwmFPQ#guOQ+N%pr!as)1?Tt1ffVL3ox%u4Qmy+=&!kYn7Q1JBz^?|6du*-o0qLa~b{vgf!6=tP z(@HoS3KsV!zQ!j;0lQs>)!N#!-8BUh9lGzu1>gKe?BK5tcT1axjbG=-Ab$xQ;!lV; zVp2LnF{xf~vw-|b@kRg-A%z5n@g^~E5i>wO`7@tDS$T}ukAxMx%~R(Maw}3Tp2D5u zEm$r4GvdM;Yhm4oY$QMijA5KF#*N7i!fLzl{*J*DRN86#P0zNHH{3=NSKm5ksQ6yf8`|a1ljM8Wq*LCJ{CNk{b)SNQRzp&51g=gqDaFPF}@(hPV zFwqLu8)AluRb{J%3B@UTBt51{CMA&85os-6eMDqfPSb@(Kb#Kwf$NYc_JcA>6*?7N z?U|ZZXM#c;?U^dE3}(;R0~izANZl5EGOr3Dqec`{iW8E$@>)P*T>>F9qXnd+ol`AI zqQNNDac<25)5pb%%eX`+h9uovq}Opa*)d`z)wA3{pYqg#WPT0(IT0$8sVGb!6y-VD zo9~z)`k>Vr>OAUBRK%vYur)c`v1F#3T=HS=aFedeG#r0|Zmzd|>HXX2kreVu9|+;( zHqz;XA>1W!FX3(UwQrfQc;R#%k5Z%XW4X+zSSPr&rSk60K1P4AVY1_opk^l?;e{#g z3U*C4pplkmiJ6r6bo!jNvn6c&CFT O=s3&)dWDreg2X>-88%)3 literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/coin_futures/trade/LightningClosePositionResponse.class b/target/classes/com/huobi/api/response/coin_futures/trade/LightningClosePositionResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..860e89c5a85cb881317b31643433a87efa8918dc GIT binary patch literal 3088 zcmcImZF3V<6n<{9o86>a2%!ZcphYUQNlTO$g_Krp0V$?XTBv{sY}2J#47)YiD1U-K z;17^5e2^I_Gdknw7o71oiTIq|O`5*Q@BwDpd(OT0+;g6L&U4S^?|*;&9l&wiO+&+s z3>Rg%WMDQ!d0B?J4EixI+7%hD%5=fNR~hu+nu+ToZvOa%nzjxZd)Zg0{qS3iFk! zf4@{~`HODJUU5qer@7*LO{Y}#UGMhYR?y-~DQMVBPO0K9*8-2nr|N#wnf04);QHQN zd}6Q-gw7KI!)Cj}R{St%df5r)V^n=Z!(9ezxTgFiM`3%#^_+{X`-@KFioICpO0MEp z?fQbG2WtIKd3nkg&ry9V4Jm8xZ0Vf!_A1anP@AT7~zHx&Wx5t?Ip{q-_F=8Ay4?| z_*`gEwY{@~l4{Lv)*`AUhlZyKVs>tN<}6WCPm%MjdcdT1!s~-kwB%qIDexo0()P6L zxxs|OgYK-vbbbqk=psZX^_h9U)u=k>TzMx4U;RvvNH4IE$2%7GVxNWmcvs>4o1(de zPjS@3dl<0rk!Xi-*uoHoEqsR06?SiIMUySJzT`A4Ok+{u(5t}@MdTQ_P{k6r91Zy;} zt-@$qm}Q+NW;vDD#U}L}xku>D>-kidQMzo~A@*g*YAl19Ek1%Vx{AylSvSj?Y~;0g$CTnk zTj{bMZm}-mAv3RsTl=<7^+XgfMwrALCNV`gI%aW(S^^n-iL*qVl3Uzu(?+qkvX-c8t(r%nh?9}nPzVO5| z;t7c-BqUy23H1Rgl1fxU@KPjx6Qz7-XKk;8gZfaSXy(kE@0>Z8Z)TG}|NiAy0Mlq# zxSoWDr6h*1lz@$oW%xvfPi6Sb!i^;7n=-h9S{5lU!-@=^?5$c@OCp6O8wHt*GOXLU zWus(c!$w&)d1`{gy!57uVt}%in+LCrjnC)(jclReFBh|JrI@XTv1Rjqv3z5-QEzZ3TMr}8?vTmo4*Ow- z64~h>vR(7VvUjnuvFuf^y2~X-XdW$=i}m9gE{sKDZ6+Jp3R3)!b(r4xHObn~yQOPx zwJ2wV2kG@fktIF%OcG{BsRgfI@K-LoRd>UydsX^Qu6gyvX72`A+iu;n2s#rqu)hNl zwoufnR^n};*~q;e*j6i(waAHs-6|;cu!vGe?ukNz6Px<*Od?xn4n)C`@|xc5hFfC3 z9e_*A>t4P-Grpuj^E;Ursx%mWy$}#ydNJCfd2g`YUMB*zVtG>O)Iuo~$wP%&IDtir z_MyY}da>^2Z!Nf$fD63f!M(KeZuzXFqQNe>wSp=^d~AG z?GTMo6_GKj0hP<3tI%#M$6HlzD)7W?~b1W^xloW@-~=CarJ6`ia_D#NI}RJJZSv z6PVkw+;8#O8C9fMgaoM&@Ve5_|OQ zp5Sap0m8F2;Y$}|W4p1_)tEf%Vr*_V?(J$!es(dowj1|#HGT_+!zSc7OTo;b0ox0n z2&@McqE&D+EVz`^(1Ma`cpL9@b7?%SOW_xZs$5EkG#u&f(tKK%LV=b`X}E?QX1YcB zFQ)C3xNxcEQt^lHhH|NW!MTSC+@HwYfuY}<_#O6lFyi+neuKR*nb|@jSW-w{oaB(x zr~W`sT7QJyci~K>^)2)?5l+q^#L1ayLonte^xs8q+DMxbP;bs6s5fV)Edkjf$V%H0 zP+u-VP+u;YP6#L&f)eRu6Qti`)bYqgQ|VV!Hm$zj$8nrs`UChLv%GvUUj46el6!IT zq(aO_cjFM+a z#@T>5{1kAD&xH0RU08HfNzEM9j|I&fPR$h9N;@@i7uM7kcHNYHC#Q=dt%n+08mv^k zIU`W9w}FwJHkzuwoEfOhmWmyx)o}MFT~M)v!N;+IOSsHP4YuKZN->so6<3&0oZMZ& zA|;)TJcO&13|z-Pd_c(zivI)bC*06kd`)A)p=nQO*j~qEV*o}I(8TDSTOrJhz}m>| zyCK->1h?^B6f|Lu{93A>V4Zo&(>?nTDSml&_xEpMkF;hBd;15J?1((50zSQd*~h^pdotNm`N;Xt}f-XJc>bc!Ry} z1L7I+gv1jP60cN3eSnIj5=aPMio|cCly7F%b`m>MC8T8LoH>^{=X__*`tN^#{T;w* z1PK_pC6@QavLKcZEPR;cep@Vek~n~m1og34J`u~O;_R-4dr9=bwXrDnqKzf7dp4GB zlx&m*=L=QW!iom79=c(pt|2|W;y!Tm6}MW-&xbX?S{l=!FS((+Rd!=>#VdxCSzfJn zDOmC}Wab*x&|mcy{JOtb@h()W0iF6mm2O9;i@|EX6a=M;moL?WYTj*&^YdQKcPswq z-qNhQ>d~q3z^yds(x&rVQF=E?&eTil!rZE$5+yI3kK*1pG~6|E7257;zv|64Ru{e6 zEtj#0T!NxoS#WtV`RGs&%RYmhlEIc6!J?mc*Zh3VtFJK&FJBD&>fPl=*x*S%thv?t zvRBJbse@Y)KNo3>+AzS&vUFR+YZWg^g~?|9L^@<-l8JgdwZ5Uw%!U^<^v-x;Ias>s z)>yRAt1)tmX6nK%M$vu3C`pa>jf#;sn%-v(w?ZFXE$?X10^$;cWv`|oB?@)C*)xtj zZLtX{R4tQKBE>jTKpYh)JxbQ%l~b}Zp2%sF?IF;``!nvEgo=+qwyj-stCJ#bwo2Kp zmzCrA(C{_JdUNjD%p~I`Z4$6XC1inGQ5wfpQ1~_Uo_+34lQ(2yhR5Y3^+K5K?jEfbrb^{E{pf{e_PbS zB;Imx948!{5!47q9pnUiQY=%rqM?8LK)BfOD@$I@!A;!PaCnEMhwS+i>(qRQ7ScW67}aq_trOH*kX8-M&_pRs(Tm2b=ENnpa)Ykm~|S=MadZu1;;pRHBn`*uh1sX zUE^+Ke}VRsboeS)Qy!)o{Jx-<%qhGid!OmDh$&Qq)jJ-)IRY*`NRY+zMLMa(3B{IpTlKzNM$2)Le zQ`xj|e~hydq&|F)b9?|XzMZexL4&l-;wy}i(s2d%ah{Zc8F&~cWpdO^;cZeDYM8(~ zq-=b{hdDtifp7VKFOW*&BI7uN-Io0ic3HUe4Erry=AW%S!vRGmb|9PGc$T2(Vtz*5 zc#d5q8r%?Qh&*@dZ=;o`!R$6Q<2ea4XD&UlzqK#v!lI+K-m&xgxCC>scdSe(?cR}x zuyPx4?uqk6K^KCI9!YEguo5K;h7=K7X=G=NrYKb~rO0fFh&ZhVyMuI9#S#S{$11Mk z8Y49b!@HznEbB6^God(+5t39(aT7YyL{g@?X%HsbB`#BGE7GKj?aA?|d8n*eE zIOv1XRA}nxTaO|&bCX(IbNgweY;9F;>vs{*ggNqqq%gq>^Aw|d;y3i%eu7=;-5cl? z&~QudQFLMh>GWPjv-Nw^`xKoLbRU-u?B6~<)c{meeB1*COURN{H$Q{1tsQ=E?az$E(fld PkYc2%88k8YF literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/coin_swap/account/SwapAccountInfoResponse.class b/target/classes/com/huobi/api/response/coin_swap/account/SwapAccountInfoResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..7cfa263ccdc482cc6557204c072193d264de315b GIT binary patch literal 3313 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 AmH+?% literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/coin_swap/account/SwapApiTradingStatusResponse.class b/target/classes/com/huobi/api/response/coin_swap/account/SwapApiTradingStatusResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..953d0c51def563361368c90e7c0b9755f71b292a GIT binary patch literal 3688 zcmcImYjYD-7=BK&x1?Jrp%)^kt*zRomnecldO{lcWNjAGBqSTrU*ISH zfImRK@Ihy!%*c$RUvS3XB;s@SY%UG4qcf$`Ip;m^{hs~v?_Yiea12!wpT{Av9)p2v z^7uj?*G+sG=Y2ySH{%$>EeSdD*pSbhiF_QrShwKH`zs5Z@-A5LEZmmh9m%(Dq9`!B zde5nxu6S!zC-0RuSAEB?*DkxYO1V^X&(ytQ-mMDQOQn)qJzI2YHMeGBOTaqk_|6&E zDG3<0Ku92wz3qJMq>D~zGrj6pscu#v;@1TF+9=s_fY$3{h7xR&=d!u-R=Q9xZ+K~^;-#yhr|DeTE8VOymb8=0mFp!xy<1>o4ew_cXwckf z#JM#-u}21WvmU0EmbJ6xJfqy7^-AtaeQU$5t~nb;Vq%-FuWBLCPp7&hHjypooZ?ld z>PeAMPV);M^L=4&qM(O59a*Es#11FI8k!`^Otz7mm7;9EA=5;@l=8)Dty~R^znH3t zt8BAn*DsXwmz=7z<@#=w5$P0@ksWLo2?CP>CaEg42E7@?tfUX_%>K8PMg`nZU6cJK z#4H^!+`DzBNdI?)d~xHpoAYNUt_g_p&WQ|347}_YUKwi)uN`2UPctCO*|iiw zg0TRp1~;zI>e0(y&D~jcDnT1^Lj}9V$~mP)=_QpEoLWIOdvttaiB4R)ytKSXF9{o* z;(F0%(wpX^W73{Jrqo-0S?v?@&Uq!zUl2InUbb-CwADT+WXJLd3isXrmwQPSjIWmK z)tr0YlLJ4p+rpTU<1gUt&F`71QGo9E-Ik>_ocQDN&$4g0m=ahH8HH7pxxp6y1XmodSG z(6XWiLttf3!fXDt2(Z)TpgNU`TgnSecj>$rH+$>HVF!O>u-jT(HGP90Bm4ju;+I1d z5m`7w5m~$7X8HIf@kRiT!bS{Zc$1j7h#4lI{Ii}wtUpHNN5TSc^E7yap9?}3i>KsH z^OjgW^)sT9HPXg9h!iolV!$M(_+s3c;n^vybqWu46=q-1M5nOcDSW7lunPBG+CGZ+ zLM0jAGF&4y`3TXUI{fbmv!fxWtu8q3sio9 z6D*z#HQVl`E>%X`vixsesv@5xx2k}_(vG%_4AY28Nrp&Hp7LLu;2opT{mIl1(6xt? zzr*+*di3GsZ!ngpQrj?tCjo0^ibqD9{sTQp?I{jCfIXemwh?P^#4|cs;u#~UOCIAX z5)aUu)RRUVQ%}YuQ%}Z9nv%&1narfsVA39TjrqEAv{{+^n8yNx8NfF<#cqqRtv!55 zT$Gi};WQx)7jPbD2j735gxj@afY5j$LCN4a~pox$8Z;59( zq`+7^*l37(CRUS6O(hg3>5=R)U1m}S(mo>X#nYRC=yYEO61Lc>pdYvmiDEy98LBX- z=t|%0oHid6;z-|Yfn~7zCLh3@-iCck;^P@j5|Ua-v1D-+sVAccB-SMmvXXj0I?_GW zGD$QTdKl%>%rbr4tGI*}LJ`F2-bH#HWs@BxR;GG^8|YJ>dXUU}FrE{kF_}Uzfe_+3 z*<0_3L<~T0Ff@3yov4t_Xk%+}c4Em)H@V|g?r?*y%7u0833|ES_9gajqfe%gSK@$z z!v^>Ijy%?4y3p@dz!nCR<`giIMHn8x1y+Tp_Iqzd}c@k{H2fNb*hu QNicAT1M~_jdl<2Q0LP&*r~m)} literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/coin_swap/account/SwapAvailableLevelRateResponse.class b/target/classes/com/huobi/api/response/coin_swap/account/SwapAvailableLevelRateResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..fc29d026afbe5a1c864878d844d91a99813df607 GIT binary patch literal 3716 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 literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/coin_swap/account/SwapFinancialRecordExactResponse.class b/target/classes/com/huobi/api/response/coin_swap/account/SwapFinancialRecordExactResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..2727483e47e1fcd9f341ef05631a0bcdb281cd89 GIT binary patch literal 3744 zcmcIm>v9ui7=AX{Q_?Mz&=w+yMT)lRA&Q`o9#EiQB?W8&Eh4Z@mS!Q{gk&Rl4GuTp z1;`(M=!}#ZnQ`G5_@nvgAYU`>H}#`f(~ zj_oPX>%Q$b>Izc%JN7qrwrqQ=*(JZ`daF|kVm>K-9h7_}z^g?nXi*xzTh8X)x=)G3 zlDq0rW6e=;I}~h@r}Kr%TDH`vthiab>Sk+^r`bZq^={S~Pu4CJDh!q;q<0GT6~8)ct~Z<&t|i#=^PRB!r~aL85((nVXSqy9lLyOv5&yzlVzjm_EWxv|A8%SXfVV6R;h=)~ZS%vzJfki~lzKErthd%AaF>lbTes|ZHI2A{D|L6t2vKIGSf$36Dj_>eT%4BL=~ z7ct6Z(Y6#0jDp2&3$yi8q<~W(Lu^;8j#pGLu}N3H`U}wh5!t}s9Quy-4+o;jkAwVh z*uyW5IAT&nLNTdhaI=*B0(m=t55YnL!#GULJH!l;PyWnjP?nz}_9J0_Pw>=vgP$3S z6pg2FXL$=&%lwSEu*N!AcOpZK6*6E9<9so0O!Dj&R=b7!HWg-n&_uVe)-Aki6X7u2 z_i6hGK8Td$cuTl?X6y;#KXv)v6KEL>IU@fh4U$fUpK=Ua;iHd_WB710mFj<0DV1rd zJP@e-2*+7G2{qs8r6wxl9a;W2FT*0AAa_^+ouxh0HZnvbVM=mDasosDmE*h<6nZ$8 z`2m{xc7DziyNJp6iafXnA8unq1kV!63vt^inVTXZpFED7} zQ~sOE3+xTSL?_s6h#4kUmE{&D6esAB^q3}@lt4O1q_cQhD-ezDOCV8;oecVcTahUC zgEC1KIu%{%o0?W#3gP5BQmNe`+#_&5;dKmjZ<(-o;dC91Qls!^^D?7io#4@y%DX@F6obKr$&5dN znwfZlSEkqsc1p%Sl-e{{hZ^2w9uYx!5kt++NC!hY$RDB?Fqj^N3N0> W!xu>NP6bKOv6ln%1}nP{iGKk0Y(@tF literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/coin_swap/account/SwapFinancialRecordExactV3Response.class b/target/classes/com/huobi/api/response/coin_swap/account/SwapFinancialRecordExactV3Response.class new file mode 100644 index 0000000000000000000000000000000000000000..f2402a39b5a89ae9e8c9a8f1ed330e915ee77688 GIT binary patch literal 2828 zcmb_dZF3V<6n<{9o86?_QbJpZfPz+Ola?qi3Ms7$6se zfImRK@Ihy!%;=1xUvS3XB;s>+H*cj3d|)QI_uO-yd*1KafByUJ4*)0dZ5kTNvRsno zvVnyR_b+8x%wQNxLM_X3MUE>5zRI8vS4~`#{kkk)o48@(8xuF>bW3no4cs%}=QaM#`XltOZ&v96Hqk}U=G zs<%#2BH-o0F3G$f@{M&jI2WoM9vklxca&<8c-MT@b1yYFR^9rty;`FW*?HfwYb$oW zD(9G~1(hl-mFFFQqgZMBtJR{tSuNJx#-{Hz+@j-Gy<3gD_GZy`9KY!W#U&mtR6W~s zs&;MBb^Q9;>^<8FR*o;mm*{?qZk8pup&l>W;pvnw({8p$+={W$ig9FYhY-hCn3=L0 zRQ$CCyKZl|fm^4l6mNwlhr2Ju7UhmkfY{vAEe}nKH06HZv}+XiT)(_}$900K@#_l8 z?=4jcP8Y;2Qw6ewN6L;kTycL)Y*)B$NB5xv@@1j@|$(Xy-=0rI`ZcTHOlpsRvCvGcL^ z;9DL4LOc$0Ob&CdCXtY0l1fND!<{AN-UlT`;Ch&+B6r1I&;JVba|nBzYbs>+;~mmg z1i&cX^nLJPh(MiKB!)r!w)XDkZmVmHR`LMZCY0%H*r6lrptd9t>6Ty+kV2 zDeh?oaKDiM3A*;M@E5cnp(h^}{)ASZ$ZtUpk0er;Cb*Qe$-mK;)1F}W16Y$eZ3{*V zVU~14%u*_+3nujh*$3#)>A6%FC|xoLN|(%>As{mb89B2B(jL;GVHwQ9!UGtSTgcoNzFE>lkkev`DaDCI>5?9b zSeNjUnbSkjft^!56B&#>OkxpdagOfjSipHw31n~)v-CR2r*VuamQ>GRFViilmSo;V z>KPdtlc^LF2&JA8-Z>|PF$}#0XkoNoRt!sZ!8*w8T!QH)CvucK+@!0D&Ybuieb*kt z%Jy$zKvKAcUD?5iX5S5DcSm$u_*v3h*t30xL{lJ|UMJ$zD1J=7pbdHOH@Iuuhw_j4 zmpPK3c!WfL@)4eUt9{`_$w&BhBMik8g*w6^D}6L1Ury#tnxj7%P8k^s@{SX%f%Mlr O_HoZJ&=D%!i}e4^v=R6K literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/coin_swap/account/SwapFinancialRecordResponse.class b/target/classes/com/huobi/api/response/coin_swap/account/SwapFinancialRecordResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..9229ee2ef37278d1a786a20c1dd1225711248101 GIT binary patch literal 2910 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 ST#US#IKWPQh23=!xqksK{&v~` literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/coin_swap/account/SwapMasterSubTransferRecordResponse.class b/target/classes/com/huobi/api/response/coin_swap/account/SwapMasterSubTransferRecordResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..f67b298c88f56770875261fbc07bc6d350b64f58 GIT binary patch literal 3491 zcmcImZF3V<6n<{9Z%MaMLSKj=7Oj#dEm5orDXq$zR@;J20YL<|$2lKrXOObbMLw5o_p?dpYyW$>z`kL12Bb}iKQeI ziU}B4mf?~NmrYzra{f|=t4WODnn+*Ca9x&Po4AogKZ+J^%6!X$BlC)dl7+H}uGke# z+*ZgI?>lP?PSbZA#n#Gl!>KoKyNxBcz~#(R6qE|5gj z5r=lhE4vDN=c{#hv2}07Z7e%0HEI&8u3wC(8zjUX$V<(8C8u`TX;kG%bWZatRdTx6 z(>D>QPCUyJ#!XnFaGBf`auu%jn$515C7K(Q3}v=6GJcu4wBY&`uYA#IIQLv;FA?iJ zCdl`99|?fV0h7BS^lO=(a<-9ea*g4B({gG=u?hHvl{;?9pB}%apuEi`5^WK_=U1f4 z`XsPp?P{_EZD(l)n^H_xxFKR9P?m$ZBtvz$=x1V;?k+fMLC&yq1T}A!occLINhcMj zSqU>Uo*ADbh>J^e3+ITEvcW2B)qGOdxjsH7_vvGyd&~F20;lb%YQ5^uD*Vt*epLQl z5e&ldKhmEpdaXvuJztg5%Iu;-k4e2L-0x}s*~Pt4XRxt|ij6~f)y84GW@8jb6naXK zjkEZ`##=aQ<9(5Gn6NR4V>Zs=yu!%Vj??M)xm~;?6DI16jVkUiH6}*=X0W)+yqOr4 zM44eajoVnjQI_q-WntngT;e!DU` z%tSu{;gKB=Gdp%TtZzMhV8_FG zyiI&^bAhuw)5zwYApSF@Zrpvr>EX~K!Y$7i`V`)wwXV1r;Nm#mrP(%@+HPG+Bswk+ z2QH`Z-cBy{-MW;Zc3h4IE?HfnOLc;Cf)99*%l-sidzAYF#*fhBk8;1mSeVGJ!wi-b zti=fq1#R+A^rf}u*!K|jWLjHCqHU2Z=rl|K z`XkIzGEgHUA5t>Wz(HzH!otVAGY8wW{>B~?r(a;$#2Nlu>IDvjVxn7Yhy4Tz)ueGn zF%m?QNxCp85BaY|(mM~)315yyiBt$e#EwT56G4NRZXW`aN*8knvy4AwyI zAaS0AtX+79Fv@_MS;e`>xIF?A`r-Y;9BIYQ? zki_TsjHu)66UQkF)wAp?^OW>}%=<82QlXJdrAQ!@dP(z*bxagP(Ax%W8*Q^HGBdi& zHY~SlX-t@G;30RoL8#J>rkYvALQbiDp`2VtDz!h9`$Qh3ypEx*JtWM+ zuzO8K)bM95F7OU1`0JcC&V$*f7!LYKcH#-N?Bo+{t5rMbDA~}ylL&)RN1>0PB}*O+ nLh3gjBu9Td=rYn4q>f{ZhUC{5NOMk6;#UL*SSGJT{s8I literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/coin_swap/account/SwapMasterSubTransferResponse.class b/target/classes/com/huobi/api/response/coin_swap/account/SwapMasterSubTransferResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..16e7e5f9bf54e70b5c0bc90043ab343b16e7e463 GIT binary patch literal 3702 zcmcImTXPd-7=AX{Q_?Mz&;t>~0!7>O5JgZ(4=Cqq3P=lDL|~gP%|f~f$wu@ac*7s? z2gnTtFE^;tsv%;($_}Gmjk@IN(D_y-FHjbyj$}rkyv!s zJZh{u3JRfMlRT3zl-IMxdU?go+7&ljjXcd3%C2{-#$d8`p-`@Ses;^qMjGx<&(Wf> z(g?IXI<{RFwzMB*mbTT?m z?5Zmwk(}xmU8elPHpM{~HF~ln_1)w}R7ZnENoE_lSuM&s4VfnL^^`DCYh`O-^wngI zU1P5;IDWCbdfBep>kd1fA!!to&~~?r1d)k=L24LVgWil{TIhqD^Z#w7QG+{?x+eSU z2wFVQo%?mW!~izMd}-ybQ}Cz9t}9T=o98kjG4irsl+o^yb{T1muoYmNPa`181e+m2 zz(jxy$2S?G!$&XMwQz62t^}RPMHQ?VvtWB?#Y-wF+O=ZX@A1*Gc{*|V%KXAvdP!L4 zEZ0juv)(ix9}#=nNT}ZQ%i&fb?~LoY{+xni?RATGPFwMVN_MP}pmN{+f4SFH!sKGP zUM)E1Tp9XteI_>XH|D#o)5G3x@Z$h~4h->k zL>w`x9if<%FSuDj{;oI}z=vQVfe{=g=51nz$tQp2GbqbX5&My_f_Hf8yg_b7%EeQ- zv%CeXWqw9nSYvIh1IR=IWWYEk_+s3c>LRRm3J-P_W@peur)8~Ec&LkT818$teFX1E zN^-me@TO+Q{fLZMy2r4$Hy^z&`qWKUsXzFnkx4PDnG<= z7EeOWw|l9H%6MCr|IN#=$S24xB@@4gaj0cvm`1{sVqf2Mk!3LZ#vj3$+<d9#ViFFBt%(NDe_H|FS zB#8#2RL8kB^GqKXD=yzi!ms5Lqhg)l(U!`)Kl2oW!G_69Jb{{-e1cb| zxF^^(nUKHP(f!e`p^jjAOCR-fjt|g6YqAA%h#1*Oz42fp$qH#r_*FV`jl>u}N1Ask QNP><%9H2K?*}X{o15)5P0ssI2 literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/coin_swap/account/SwapOrderLimitResponse.class b/target/classes/com/huobi/api/response/coin_swap/account/SwapOrderLimitResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..a7ffa61f753262f193d3ee532e05f4ad0c1063aa GIT binary patch literal 3304 zcmb_dZF3V<6n<{9o86>aD5Wh#5D=@hNlO%qV*0{6Qca;!KtU{Q)3sShlbUQqKl%gs z1O5Q{!Uvp@GNUt&e!&@klZemRyGfG}MrUBA-Fxmm=ic+2=e*>ve}4H5z!b_!7+8|e zW%*pOa5csCGx>a;!Z5ChbX`7Q$o7VXFH`8lvW=Uv-m>A!x?-bfV^u^??3OKjWnoRh zKH~=NDbKAaIP;Z?S36yH>vgZLkf;Z4(4a6_xb1%9=E`nmEw>cZ{L0$2g0aeb3Ikf# z2>f!c;MW6cl1u(tg*R)S!i_HVOrcm^&y^b06+h>0__>-_->6pVUana6D>v(R-Hn`E zELIzpAh*QL#oDS@EBNbva49kzZNiRFy%RV|Zf|5^HCtnsmFL9MZMcnY%^Sq5;CEp8PP^zvjx;1y*3%nZNvUp9$v@^Q26_Q*T>E!gg zjV7-*yUkx|u;SVzGzqr}Y%5yPCcLj3Zkg(iU@xxR_KLyu_;m$U?X3Su#doVg$*U>! zNo9;STg3@aTiax))SZ&jD!s8ng;cMtk45Zf$rkS{xEo>7vD4Y3G$^{2vx1Uh$*q@k z-Nwhp=Lur*()_|%qNJQ)FEz>mlhJZ-j%si5(a=*+)!j?m8NcEOa|%a$aFA`dnKQi3o5psjW5rRC|nBdK1A3^;@ zsU3eZygi~VBK#7Y5TqD7!&cl3aPtn{C3k|S(Eemho{YCq@}eg-*GFir=}M6OeOpfU z(1{NIJswWsD4mG24*c=|i(eAi!oNSn&nD7Os$*P}eEMEC^CL{-LG}+AKfsJX$o>vv zVIs2$Gu%>0T$tb|Z%qD)zO?ZKJMP1oOdFf9nih86q=}tRq)o9&Ji*|7^ry{qqRl9o zw`i2i+i6RT?8wMU+f5_mK~EZQXrQgk+`}<^$jFBAEtxsQKt|cg(>#kKgCb@q8Tbh2 zFiXi~7oWf!r3A_>>Eo0v)JXgZN;Xc?XBLiS|BY=HPCdnlh12}A)l=-&VzOOq7Q`_U zYRG(wawLeP#!O*S0(nu1nXN!f!k24NiRHr-aj@}-SyxiM2|jdXV0y-w4HL0$HXG$ zDaDY&C-|7Cr3;Qw7OLm4i~S%}3z>J3c*X;RWGY1hq0}>)Z|!4pFbuP4(6li+k0P@~ zo7t9S_bH7Dlk-}0hh;*Qfi?9j`mQ~OGuXe0Z9*ZJ!R=aR-3<)x&~j4bLCTxh**#r! zGwX((il|Zig}E4#095G9ps%6KWB$v8$xJ*#EHn8CVXw9ihEzCfGTOdX2t(1V;Tz#N xmO2^=2XUMvH;0AjWI#)~^vA=ABm+Y_TMvyzDnF$%#=Pz3nj!@wbhQh~e*vl`to8r^ literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/coin_swap/account/SwapPositionInfoResponse.class b/target/classes/com/huobi/api/response/coin_swap/account/SwapPositionInfoResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..20666e4c7bd36679ddf6b65246b2296a30ef5f0e GIT binary patch literal 3166 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 literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/coin_swap/account/SwapSubAccountInfoListResponse.class b/target/classes/com/huobi/api/response/coin_swap/account/SwapSubAccountInfoListResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..80add01fe990dff8507ff48a06e7194a2a2b80fc GIT binary patch literal 3716 zcmcImYjYE26n@@hZ%MZhN-soEi!IouEfEDTy$R)JrG-iXEh4Z@mu4Z|gk&T76a3&G z@CV2jKIn{;8JThP3(okPM10Qf=F(C+I#ZbPzUMvXyyyD7XY_zFfXaDsYGp=<7r^R<&NIsR&XF{pa}>V!ffpd`~KnJb5UZG{G!l6v5k^5U8| zQj6ZIPm5JoVI{iQ6i?0-%4_*zy}az@or;&Q#*yX=WzWA^V>Wpw$|b*jYJ-jVC#LDr zTyA7~Z)kYOTx=gfTwHqBPL)@f>+U(vcQ4e}mfh-QXSqaLr~#q!F6Q+3wdz^&5n zcmF?^SJHKTy`ARZj9<^2; zJzLaQa@DCLiR^8chk1z9q%_K;A#cVUB55_g)#SdCOe7M+y;pZi40J;x7nkq2g@4vIg0Ffwli<>)ml zq!-KeYQa70$-^JmesmlWoGPsC)GXZITRf<248gZ?0I%D418>^s$3ca2I~0SBIecv6 z9UQeWE!4Ys&*pdVxQ%&SQ0UwIG@IY1!`nwc6yadXMi~`WezZTRg@=1=%V@v!VT#=v zws8eV`8{g+iEyQ`utO;}KRF77iXh#oR9t^WVXXa0#^e3PVbuCyY|wAKj2DJiLmvnE zyP%K1Dw0S@`$#3EgW=95@>j-NAw2*aDGcHeIfu#Vr=I+?o8yA(e|mWaqrGOMlv_@2wHCR5%k>HBN#uEpKQC?fgCxxNFO5@<%u`L=)`h&7@v6W z7MStw7-{hraR$gaLb@}_D;X+hsFsP-$Wx6t;woXuNv`R+U!X|_iMBX)hjB!9^*9bC z(A(m&zWH)y%gcl;U2OJjY`(l_i_1|L-ly*m@L_CZoV(P)2rDXeY>&S)w9*@CH0x-@ zb(9L}Dy)#gM-WpI*9MdNe>Ew9QDM<(QVOmxfyub{b2QzI@`Y}{EXoLbts09&H?q3u7*Eml0G(MqYqTlZ<0h5taVu+zk`*hNS*xL>J!C-b z2#<2U9tGO$%=b8flT4-u-(ZHQPw=&QI7MEPoh;xqDGldv7H3H59DOH9pX7Th@fDmS zWul7x_=J>&S^6A-ZCZb0mx)iGq1VKD{#oi7_C;i>oosaP1iPonyp0M$DUvpr|#~q%sTc+3AuH3MRdnH_I7ngv@LWG>2>sOo-z>%qxp6$E=>Yg X!xn#zEcdR^n~8ly>T5*Tex&{d76Ck5 literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/coin_swap/account/SwapSubAccountInfoResponse.class b/target/classes/com/huobi/api/response/coin_swap/account/SwapSubAccountInfoResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..a73db28f6ce5d0f18ad41ea628b1d161fadd3a18 GIT binary patch literal 3184 zcmcImTXR!Y6#jP3Il1)|LZE?YffOpXX-mAIKvSwvKw4A422emQC+VR%kR~xXspErB zzW4)t(H|f$IHNNXW^~5U7o71oiTJH^a-nHE!$X;A_g-u5wbxqvTbGl6{`>6@0LQQz zfsQ3v^0HhB;cAroHCaB5B7x6@x-QENVQ+@;c@zV<6~=AZ?}Twzb}Nj6?8PvaWw%B7 zRtWb(SWyU{wOs3rZB-P^`AWsE&y}r4!)_=98?NOxNyKyatu-rCwkj)`yjyoFD_Mnr z%M-PrpfA&aLd;icx=uNha~dvHB6(+}LKAgc;cnmYOs-g6&6Jwef|IdoPNr@*YSl`^ z&J?Ro>p)x*$@m--kZET#dg~&=+ z+vq(+&J*jg{i@c%x7e?~?N1ciQCIAMu@4w`A89 z2BZ!~JKbP<(k>hE4*ed8`bR!9$XYBuShQ+hHL-cwacsAuRXHaCkt|t_l3$Q4iFx|F zyfnXfjscMlvLTvfm*{pqX`|9|#;9*T>{k6=r0$GUaokyjBb(%Kp|A0>g2~!TD87

D5oG@_+hfN$8Y8+`36PPq{ z76gB9|ExRHbjr(i-NYhF3Wv6idCaenQzjhTXQC!kZo^|9FpHBZNt?$q^=jNi4u{!Y zJ#T*5DQw5I=?+G3+DH>vwVGX7R+!o(^BYHH`^_9$!|d@5gQ0i4&RnObw$#T6zf}o- z+%yCvx1<7+UTGRuLH^?TO(JtsD~obnt@(c@8u?Hifq9-us!o_GxPOJ4|4 z&q~7AXvZ&a6Mz)nqPC&P#K^pjce*Auq9`U0K1SeWO$ydslf$0Lclk?0^PZY}F-lEL zYUrW7Rg`|(-lMjkfgoFTr03)Souqge!21-k;r#fO#!3iLzBZBm5r+O~;xFhwz|bB| z{0V(=GTnmVu_S^QC%H`PQ-5P1sXxW8hcKs-dJCbBMwklW@4lDo)Q?OXSyBdW zGGQN(3gScBA3-z}{uet!IQ!p_Sj3TMxXN*qJz7)&O=%+kPhhy0i5e>&C9wIc=LiDc4!^d?w zNa(TD*9rZbZ#^NQ6k#&hRu2o3)F0j)##sVDSMAs|0(BlAF%Sa_xIij^CE*JutN~x7T@X9;TB@?T|OOYAs*jNx`jRc{qOgLU-!q_?^XOxT%-?yy~^F- zK9qjKf9d^nirtz{>W{IZ!3MlBkR}wo&`s=6dklz7x>xFANWO;D>ouK7WVTBB2Q_b4 aNO$*|?-DOw=3xMzAjv&S3{kR~xXspErB zzW4)t(H{UWIHNNXW^~5U7o71oiTJH^a-nHE!$X;A_g-u5wbxqvTbGl6{`>6@0LQQz zfsQ3v^0HhB;cAroHCaB5B7x6@x-QENVQ+@;c@zV<6~=AZ?}Twzb}Nj6?8PvaWw%B7 zRtR5&u%Zw?Yq{1L+o~v-^OcHSpDSC9hTTvIHeAbXl8EQ-S!-6NY*kh=dAIIVR zJ9AFOzSvwX*!3$`p-f3US1nrQYgXM6zAe<ej05+I2p_;5B)OKDHnlA+r8UcDHTx z9wO(7_1J!0>)>1LSKsz0iu<7bWz#A%+;uO!RJdms-R$@c7IAfbiMNmV&Z=9o>k0!> z2cw;CFg5glPS01G549p$&{qcW0`t2ZX$=n?5>_S zzw8vYW7>2Fqc?4&39MSpt}H7|ZIbzoqq6;G4y|GK_=dsIJ6>n5(^FgOV}#$T1V3&X z0+L%&0ZFg7Gs93wdGrWBQ^XpFxsFnj;jXwF>0hCK_Eg^B8uWyFaD=q!E8tCxkyDaZ zuKwkKf5yv!pZYEjZF-sIz{vVNYyF-Rn_NzL4yNewD8u%ROmh!V9!yU>hWe#1gs5jF z;cK+xm$wN(3U5){P-J3c-o`s!lNwPJlLsFo@UkWa>#oUR&*Z!OrJ;FG&Ak|yd3oB6zBv`DdGjCo>RTY2SkuYu%o~eUrFziQIWnmY}-)WrWqL}$9~7a z^(QdngDvb3M7YIw`gFL3SbUdHM_P!-cav^mPk;aWJ>l2=vG#ivzY`bfLtw9RH@FX_ zpYUILKb>N?rjz<(Y-q3nZw#af1ut|HJJcQnB9rcwx)_qLA@zDqClZ;hlKw%>8y3>t Yz2>{bi@Nnk?64xnbhVH20gb+!BS`LOHUm$gyZ*HH{uDTX1Fn%EFrLB@3Q~J3`(y zQC8Tubl<5iHC9eEg3?8|Uak0bcede`SKXR|J@5N&?PS@h*WJ2_bp`8`6F9T3<0}~T zzzG_4h2Dib&eu-9?D%W>rJ&~dYm*9zfRap`WT6uBwN)BuNg9Dy&M$cNfHzW0-kMK~ zHJ3R@7hB?~g<@qrUuslVyu4HO^0he9e6iyBx9UtG?-Yxbh9BfRSbM8Bt99tJN`lhP>sro0ts*eEyRTP^OZ3t!wD?!AUnW^`MkKfiLvEe4aL*A!G` z>vV`kOsf)7=49I+ySkg1Rv4Uu%jjt<@IgW}yqry9No&c|@P zSw+X6lPGDVv+S)5DqF#?Zlgn1$<)TT^zA7 zBh-6%-{v>yn2kl8QyAR-uv(vp{T<>Qi3&Pxqk<|S93Kkm;o%iVk+6YZ}k9=IV+`Xw@n#sESndns6YqV}MZ7yf z+77)6=MXuE$>~n=N`}fAGBa@+d8)BvxJp=Z5|euFXK0c^qAiY|FpkKs9><}i$vRxt zw_o1X@iLo}F1C9%wqMS4xExjC1N#0DAH_xr+yw_CL{xBWkKYch3`80&9E})9K}c62 zLJA*4Oi5f@OzQvDq%@2QL8nOpTwxMZaqSmqx)tS1)&93Aqu$%BtPxhW({#q? zAH}Z(niTVRFqZoPy7p-7cbMNpPd*y^4d&u_ZUa_$B#}Bd&ZVGD{DH2l_6)lp!k)-# z8%Q@bx(Yf~x(Y^C7aijndLN=Yt7nZiCA(l!$u3w~Q{rCp6?D_;>n}?I+C0WTLPLa}Z2B$GcO6QO}PWlAjTbZxm3@H;e?8m31 zEX>pA7;Mw}3q2-2dyWAUXZdTX=hz#Osdlniz2mH&CX+P+l&!)4i)l+2Bqfo5Yq91N zp(?|dMB)~k4f}y3nJl)LI!qG=4PDMmPHEF&Ar53FODuzx8G8tGVguc`h2K@sM3B{D zi6zB}M0PwojR;3#0jVG=?UDD`APRBFnuu Q^k!l&J9QtsYd=!|07X>(Jpcdz literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/coin_swap/account/SwapSubPositionInfoResponse.class b/target/classes/com/huobi/api/response/coin_swap/account/SwapSubPositionInfoResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..17ff4d02de6ebf62f37581e35efb0e1150949394 GIT binary patch literal 3349 zcmcIm-EtFU7=FHFH@iukq_%eqcTs3h`?&~IOxmQe7Osop%2;Wr$Hw>&Pn5XQ( zKH=D&f;I1XPW@!fZZw>RLZ%VeL6bm!;imnyU8>pMT4_0`yWZNALMkAouYxc)L3^E>_{*nPcKyb+ofvLUvW$Jx?8F{jdkB^IHij3de<6v z?DdjesrXGVC@u4`++11m8*bqG-n@6iKNoWkw_=%^6?Y*B3x36}U9{`2ykn#mR9yx=w=KTXL7fhsm;7#WF3zJtqJ+~y zPO?SWN=qg|zK|3)+9@0uc{+om7g^~=C#d?XOLpD9?F3Gp0qGQzz;<RD!9|%L>ZhJQFdAar;5l zsVnqIqYSsk#|p8@(+G(&J!V7@FdHJH(aA;V=+Vm#uH0I**TWv<^mA@0S+Tv-;w8bV z-Ka)woE{mSrxQ!(<`+-XOTrn>QL`2>=ZX3Bu-MawBlTwBN5eqgY1eauS%ssWRf|WZ zqx4}NyT&)H+jsw8?!^=^x9m6T6=%+sNgjH}zBnv<%|Zb$TiAE;HE$D?z z2UE6ekSSX>3x+V6F_Td+TTI&hEn~hCIhs`FE{@?n1~Y(fScXFkWSHYTMO>O&qJn8c z8a~7vW(esV<>QzoltGOx{XQWBb+-L+LMA?-%`sSp`8QrNaN;or4V>hksUBlb1ZF$I zRznPzpJGf{*F7wCoYWlImIPX7fs_C7E}Sc|wH7WGcl3La8TYZ@*K57=Yel zXz^&9Q88PlgRRZkjU_YPrp)GlH`M z=Lv6MSNE2Q_CqvXlW}SkzcpvWBmf?5X|&Z}e8_*aD5Wh#E*7lPrY%t{is?lx7p=5VX+c2*w&~I=giTF0qTl_> zAMgjr7e45Wlo_3I^b5}Tn?!uxJ)28InZW^O+H>CX-tU{g|NZrM023&uVPHv)WjQWb zxR~Mnxg1|)(2q+3U6$iZd0w&bRR&$SYU7&R*KN3Ruh=NsSQXF{zN;2)SXfiAPr9Ky z>$!n~GZzG2^+egN)x4TQsusFooj~vWP4^o&Uv`7F{8Cu;gSAP8L`X_c8)d!{;f+=5 zYf|c=U(V0_wU83&C4ViT#;T`qO$#>3Q}e~j?R=?TS@HAkx}UFlwe?C+^YX=tA6%>5 zao6*1u~?}GVSb5^<*FOhZg|zm;qx)?P$QDb8L_tJg-dY&eZwPdjy6LuPE=Ou%l3Ic z@Xpq6uXxpEccn~B?|h}`mM^+hU*0j&2unUgKKT+nrF$mbTbA5zaxKoGMWO`LMs8+` zvTj4BiF^g=tF_YCKm2s|MlQ0(3tm{NtS-7$_qG>$Rfc0yOv2jPE)qp00v4${t_Hms z!KBa!Hs}4j^+xVjVs%aSmmRQJPkCS0-7=lu6z{o}n_e-T9J#EZDw}5^CNb(tSn{e0 zUD6^$jj?eeZ1ZVFM41{}69i00NIfzcjnC z8#p;UGDjyC&(AHKqL+kIoS%9*WX7B3lS5+99MbCTu%gF+yi-NwOkdu`%xOjlc< z>CS8LGoJ=OS3nX8DH@@K)GfMMIw-sz!Grv=F^f3J^9^G1ycKUV_Y2fd5z7$IRD|rp zn}i+BfVXgnFC_)z*(sdp6n3^0W})d>r*N`UxO)p>9l#iEkK=Hxq`*5N{^mv>K>bW8 zftLSvq-8*J#QsZck|4#<8Mfl1hmW`M4%x)7O)3-5t5R~^RJkWoc?9pW9HMfbs+(RW zMP>3iywqizAh)hSiZeLaGO~|GbV`mA$x+h&t7E*=6uLW_`w^ybfAminKfp}hAN>Qy z!dPwtX7nVGIy=UrV2uBTuB`D0JMO_5&l(%B8XR`PB#T{0WliBpJwoq2bZ5v;VhlbMv_Y&T~ z&dx2P_k*6Ui8wWi-ux`6~XPANkn%af*e?u&|W&i*H literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/coin_swap/account/SwapTransferLimitResponse.class b/target/classes/com/huobi/api/response/coin_swap/account/SwapTransferLimitResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..08b5984a65871586941198cb34eef64c58be7c41 GIT binary patch literal 3175 zcmcImZF3V<6n<`YH`%0HD1io|1yZTlrY-RW1)5T|yhuw5*cKF!muJ#P^D->Ruo%O|1m{aKe3n28pNn)^hAXnX8p9U}^x&F_>oVUkaZ_g7#FETK6U#C? zVtg%zTQRICm?v%Do_1_c!J6?rr+T7n*J@5pAzJfozfK`pxNYCHb7k9G$u0O**IUUe zM11b3Sp|KW4ix%Aqq^^wa|O5N(Wm zS95a3itF8|ePyrZ>|(J}_x#)f7mHQftKD*{1$Wi;=bN@eE$I0viMHbS3r)nkhDSET zte>bX6U+93>pAD@t4mIG(OxQ3lPpwVC=P9Z$Xlq=aV>-Xh&;!y_au z#+9IF=oZvxnX@-2UjbjW4qyGl8|fOk#H7wSeyOs2!LHh?j_*{7-{3L1hdw+j7BMcv zi|lOr=-fm0Q|p=idacFoQn&fbzM({qI$zf9GSRNP;Q6K7PSMYgTwwuM)|Yp4i`T69 zC8w&;BSkRO>I5s$wwLi>GpzqaxD_sXS%}3ubF5pbCpIp-jjdL+y;A~+V#%(R!fIqe z%rM@C`I)&>1VlN?W~i5alG~1?4N1EhL!o=quY`R_+ez1R{V9cmo1}2ItLgH>N&Ptt zUqvnw3zd4c=$v+?;r4CW)Q9A)vG5vRw=jUc7WQGk!t{&378Xw6sD(Fhz`_xcMv%2I ziZKf(LFRXNKXTJ`x4i6BEzF^$Ft{b+;jlW6TX1okNgB)ewP10F863+<%7P`+u0|{r zaDa`~2^N-|!r2$UV*5c1o*Aisdu`3}mKDY~N&3bovUy{^Rs-zr4NpR6d!4&hJ8fx? zL4KlA{HAG$NMb2PB)7rL^g4*6=x&+E7Z?{$(tObfpRAfQno?^ zyoF(|lq8j7csLU7@o?m)uEV=FJW7!6bU`Zi*Zj8f(KK?g)()wfUxDRVQtv3*BS(r31zyCpw(>^|7a2=nB zrVTj}eT?LN^rnq;v~@&(z{ndfcP2#CPQhIq!vssQhHzJo0R_TcY%^riZUH-nw!ET?FTleaf$>mR1=#X)Gn67o5ZDay zYHaW^YWMQ`N3k1c+vF9XKczw^c}kHlDD{-)opnSMSwvd~+zE~JE*%XSn{RECitBVE zPs!om(R29`tYmKk+k_EL$?c(RHqe*c5z6rflF6Nv8`#y||6xyrb$_^dU&XJ)ImQs$ zE1V6^{nI!z}Ud0Qp@ ey;|^CNOyOd?>rA);ARA$BF#BL4oENdApSo~pOx1D literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/coin_swap/account/SwapUserSettlementRecordsResponse.class b/target/classes/com/huobi/api/response/coin_swap/account/SwapUserSettlementRecordsResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..24df06b725eda22ae52622467f159af9c770d4b4 GIT binary patch literal 3758 zcmcImZF3V<6n<{9o86>a2&FGXP>WP-)0T*WFX@X=-Ylem4WLB?w&~hzNjD+ci2eup z1O5Q{!Uvs^G9xpNe!&@klZemR-K1$LQ=KVHx%b?2&ONWsJ)6J&`Smvd$51!$MG6WF zDGXpC2?N(<`BIh}2EIyhzbVTtQMfIXEz6=DO9qxw*o6fXj_hBXSeCtP!ZooX-*KlT_)?B7+6&> zPuspdn%?x#C%H99g;#d;A=}X(3UiPw~{Nk z4WBoXMR(bw#k!-g9A0dTCkv(OYOdU@F1k6p=H}{Aq`6Yn^=>toP|hxus!h+&ZJXUt zD}{+^dNmeX$=(|t*-0H7QspU$g7fK(~D?D)k9%)Lax7I4<7az(JdK^$S)pin^7A#Nj=m2q2l+RRs# z3{z>Wr_#4Yl_g!BI+DxYPI-`uNDWHEWLole*a4(gqFZh5t4cc;sKiI`;7FUtt)60i@oMwJzC+eaf1%A_(wfso078IGw`$PN$P#7ODR zoLvjv5$AC*PR)|-oslSMq-;0J;aiRmkIXWN%k#5yXBZ{v1ZP&W;#e*n z)LQyD$X^fx{QVI}O!`PFCany1c9XwH-U{eLu#m(M-X`ZTIfK-bf94aYg~y2fL|Wk; zt_kiyH`if|(5`5E)YiE7W*;M-9eo5XJN5{AcKi_%Ka(HtxY>m)IoVJjqZs3fH-qTJ za&Hiyc<&Xw@$NWjEAT3uL*yJGr#sFoX)345Oh;+ts75q#m9XR_CiUzu&?JLcM;yC@ zI6}L66o(Q3ZgE-Pd^x@4WdfHjHhWHNzPx9P%V8HjpzjayQDh{~UFwhsDk^pCjNb~Z z^oJVlIwqnzN`-V4R7l}th$)F{gGv3rniRmOpy)Iy1y`8BWYqftO}C?bq1!KuGQ{3` zXA?nZ+fLRyIz?w34PpFBN|R(B_eZloLf0OS{sH3$=<$c6zr&at%dWu;jwF&7$GGIR z@jua((Vk+@16bo3Z4IfGMps^^N>@IS(M2cm6g>~nozXLi4kasZP|3=h8AFuJNXf{U zEhX(C1L{P0nDdP=&~|6;;{;AJnLd1r8KOSM*XH6Bd2x2Kgwv!noWoh1A*FKwo*;da z@2$dDaE_FLI`-pJQYL2Ua}<_g{*7G*&ObxHfeZXI)idl1$z&(l>fQ-Ih9FXy|HsVp5w58gU>!QDz&=^ymW^ z<7?=?E&Q&$CW4F>Nla-@D6;Z;AYxyFOJ+t7LpYkDs>$5xP;3LN9Xz(|HqKR z1#+d-hxo*cq%@*x09Q!qK{4+k@th2e#Z-y~gi_C`zJ87gqYrvZp{1j3WJPL;4z+d7 z&0H!oOn!gD+TkWcm4S8a33hSn?(RviVULuMTTf3&cdcP>Pj5(DLidqgL;vO}6QVGj dZ^xq2#BeQW@#n~J?+Lsa*hi$kMs)2*@?W9^Q33z} literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/coin_swap/market/BatchMergedResponse.class b/target/classes/com/huobi/api/response/coin_swap/market/BatchMergedResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..d2c49e9d503d1499efcab757860acafa015807ab GIT binary patch literal 3566 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 Hb|n4>f-)j& literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/coin_swap/market/MarketBboResponse.class b/target/classes/com/huobi/api/response/coin_swap/market/MarketBboResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..89d0350fe5cf2d1b29567c9836e64fa754907350 GIT binary patch literal 3538 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 literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/coin_swap/market/SwapApiStateResponse.class b/target/classes/com/huobi/api/response/coin_swap/market/SwapApiStateResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..325a772705feda1b49bc17a2f0273af8b51f691b GIT binary patch literal 3279 zcmb_eZF3V<6n-|@&2G{yl+YFeMJrZm)0QX}#iXsg6|JUFDWJRvY}2(_NRyasM8EhC z_yhg``N9XCv1LYQ9Q}eb{w5Khvv;#eL!H5a8Q6R7dAsL4=Oz8?pI?3hFoQ}GI#%R! zNj{fNTuJf#Og^8dFodf@U6apsx!y4GMGAemY2lWfw=Fnwu39KrSQF9}y_+V!G_kJ1 zI_voEY1gT0uotUUw{fQ8G@EWyL!#+Bev3r9c*ptL$yJ={dTzyUc-8fShL}&uK$oOg z3;6n)<2#Y0<$IM}(QEp&NUnJ6ReEf=8m=nCNIY9C)i!eFR&CYGIdw1BaGUj7wdv+c zHLrTBdC#fmHk`&?*UznxK2`Tt7@K=B)EaB&P?(o@)?Hu368hlyL|2GW@cNnB8l%`< z^s4Up*2b#axa6!>$VnG#C8u)5X?SuEnYv&0=xhFkVq{pYB?2#y)DxVt9RUzUzoV2L91==`B21sYkt{n zXy}uM7;BG*9dM(o83<)MEF};!88Fpoq!e3S`q`98rh$r{TQf>@tX*k zd+-KnTPfg89N|rqD)HNE9P2es?`X{GGO}Ldc(3u^9gI~1Q+#_GM?)uho-v6xJGlw% zCsHwV;!g%%hLuJbzvLzWX-u7I3t9ubyoI-^CUI?Z8GBxrf_3EbVBqo?-eEb!Ws$C< zDC6QX{v1)NvdvIiRUpBU8|^%Dh>s{pj+4pxQSoahcqVCde=_?64E^EcAJD&t5q~)O zJM^Wg>=umRN+NN7il4kb{U`b|`eW>Q0DC&4Z^3M9Sb2jgRz8t2L?`hW=?Cb~7@0(u zQZjE+DVeu2rYKpVl9{pEO8UbcbH1ShjVf~=C-6R#8NxR#!x1Jj#xX9C7w1|iVV0DR z4{;82qzsPmNz9W_+x{de3#a(zBy7|A8@o)Leu7~WXZX+3o?yQslig&y zAx;ojT~?C_mvSG4Qn}}tnH}T9Ar-EIRRr*mQ42HXg yK7w^DeKaUPoqVA)*}@qmN7|)79&998A)N_dW+0zZ7-QY`^Gp$fVLr7F$$tUF7@{r! literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/coin_swap/market/SwapBatchFundingRateResponse.class b/target/classes/com/huobi/api/response/coin_swap/market/SwapBatchFundingRateResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..c01276664d66bb5f416ce8bd9040a3bd6368fe94 GIT binary patch literal 3679 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 JmcIvye*q$5!^r>u literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/coin_swap/market/SwapElitePositionRatioResponse.class b/target/classes/com/huobi/api/response/coin_swap/market/SwapElitePositionRatioResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..35f43a89b5d38c2a70da3ce86460ecd6e671952e GIT binary patch literal 3369 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 literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/coin_swap/market/SwapFundingRateResponse.class b/target/classes/com/huobi/api/response/coin_swap/market/SwapFundingRateResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..318045592622a1d04aac36e842ae68257e9ac154 GIT binary patch literal 3306 zcmb_eYjYD-7=BK&o86>aD4{JxidL-BrY%t{is^-WrP@Mm0R^$JP1h!nCN57t3q9q&zEw&ZsDsGy0Bv7hMYHTxN@%ADA-sN(i6QE3twAUSFq2z zzI)npD+C!SzY)5N)L&_|@^r%crs0-}d|R*=S8sU*e{$rSf~s!s|4_t`tA5d| zDRfC^3^hl^3AoYK3WPE#wiXDP448UMQktzV-E7&y?FDx;XgW?hXOxx&w{lKUk}SIQ zqVC)H@W>oNEH2G0oFhuo3C>KT>@(fb^YI~h&m7Y3ZNI9!pSn|}O39y5IM!aUa5mbi z9+a?SRD+WJ@c->zdF@im)kdx0&6Z?p2cEMRj>zhAkilyX4q(8+LA#9u;PNQmXF0^>JY7d9 zCvS}Zg|3Y87<=x)8P6D7u$mfn-lU41Ph?EdNjygS9=bDTCefyp z%v)4S=Ix9nN_MDZW$dPsaev2{uWO)DW$xlQK4LI^_>N^b%s_@X$&=*8xf}|ZB4yxX z%wn39$tgaG8Bz(9+0rLSS*Wq?Pm;26if@j>vFv}a%fjg==(li&|7`UH`!$(tCz}m% zoQXALLFt6j7ynwLFHKXlDh%k;Nrtv)C zm{`OdsTflD6rT{awCqvRlIj`kWAjR?C7E}ScuI!BWGcl3LaC=zZ{1_U=!4l*XzCc- zS)p2@O|7Nb$)z%3a$oD*VTDj-VNLvouB(sWq`SAUOH#-qy<5}lyPotOO(%s;litGK z&Ml+&gPyL5Fg1!lF&Bd*02RJv@U7nLBmS2SlO21ASa$p&o|)oQuxqkfKWc>DaM#dB wu#TmVdgV8iFSI6GID_O!yL88cjU+3iHQ|c{@)?CO)@?t}6jRX8r}iQFAMEX|P5=M^ literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/coin_swap/market/SwapHisOpenInterestResponse.class b/target/classes/com/huobi/api/response/coin_swap/market/SwapHisOpenInterestResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..a532455d77333b3f185061f5ccb5b2f0a21c612d GIT binary patch literal 3342 zcmb_eZF3V<6n<{9Z%MZhLR*NU7OC1MY2ynhCT&$pkxB~K016_oP1j~2O=_|c{Q-XD z5BLM*3mPd{E zl7Nm2@^evsE}8f&$@O#jxhw%!r1XXST$S4|Om`AhPfM!D zQf?}}w#NG+OUL)>g|gT7c_LBq)*HOB}Td4Xe-JyC}7 z_h?ky1L2gWE(vH0%{7L)x9m0Cvz?7qw{^i;ty7aOH>*zllGF0!K2&Oc%_Ad=yO9W^ zAM5w=-DcNMYT5N`&9(DR%h_<5KYf1x{}bGGz9nIab=R+iJu@;n)x&YrH98>|WJ~p# z!`3lrlqKvjM-4(sR=Z~+<*sMJ9NODCjPAgz%u^>uCb7TQu5yr8lhz=Mu04uZwN*7d z6=`=p3mJvse%*2E46-kYbE`Mqs$ZJAA|RUm4?8q5yQW`rTLMF}p(naCz*gF5Ybv80 z0ajp;VnQi{_n!>Z!Dg6UQN6Y7Y^t}y>BZs0lU1j&D5IoUbK14wxy2`^mKenOm8IoH zMoHP=8}HP8G8?&%Pe_0IL~y<3H-iQfNLHGiR@FV_$#**boLMm=N1BbpsM*Ni1sgBo zkd2q{vcSSFj3OH!qi7?Cyp8vzG>sV>1-xnFG?>$Y!HIgJyZcL|W%nGnrve%qVPUAI!>D~tszWJxe zK$t3DbRWLkn@^36E}q5G`Qrw}5tB8e6q99BD=PwF%2XIwmN2#izcQ=>S9ztL{TZ?Q6k|$LWmk zJBVK#=bB(1cXHVup==q2QrC^@T^HbEO|HM#6dxU*=VNYkY zEm&PdqNo#+C>j}EVvI*f-^Fl7&lo+RWYHujS+p{y1X&@-%vfEJc8>w|c6gBU)gaKQ zGIvnIERz|_>hv0Wv(AlGEnDBJ3+}ri|j8@vT%|< zbFfY8Z|pI#_!wg*PVvtYk8v;%6TM=$dL>p*dI zEb7X{x~M}|MpvdoJ5xO$I1H(dV+Eh!48zemrOT9J96D!6sHFM`AJ|z+8mT{kbCh&N z=4}{HsL)8J5F`*nJRy90ACrnv=v_b;qxGvon9&2GhAIcv(O+R- zeu&}po-OQ^6mm(Y0y(jTed%-{C#Aff@)kx0r%cd=!F)R!QWL|cs>CZe$Tdk{V@&@5 G68{344ZS1) literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/coin_swap/market/SwapHistoricalFundingRateResponse.class b/target/classes/com/huobi/api/response/coin_swap/market/SwapHistoricalFundingRateResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..a9a2c14f1bffe2722ef913c9914c4c7e1960dc31 GIT binary patch literal 3396 zcmcImYjYD-7=BK&o86>aDWNSyKr2>g)0QX}#iXssrBZ33wt#{NY}2J#NRyguM1OCX-tU{g{`uuM0Fx*uVPIK~3vyhv za4E(6GdVs_VE~r}x+2FH^1N!{%M^NW&Bk@PZ`g3!8e6L%gv{ zeJx5O@XNV*zaCH`x$Li1sIlfL+|+_C^3;5>x}GaFsw;lZ-SBfYuf9>O)V*A>>Q}DU z@3lg3v$bZ&ro5t<`>=aY@@PDf0o?9TZ%-6n*kMO#ORtAEJtzlkBoNs+ls_E zSzV<|JLdh0cdoI%;?*v=D`jHR^HrL-n)LF5WO|E-QARBi zC8iE?D{qu7HDy}JmzT_XJDCF`Pv>&<5(~fJ1*PihqFZy8(HtLLb~(g>N^SmGC2VE%uibw>XjTzG}E-#;_&q^DDQ!Vo(^pqM)i<=OiLA z_-at{Y6?BlH^a@5azbqDX@x|YC|eT*Oom83PAQGnk6t!(@%Dnd5w;{Z0%w_$MYnQV zyd+q1>m}XQ@sZIvI9Zo8s&hAZ<&t|i#>B#tG9!yo(=L&`4vByQ8?OJ zx@dAb>K_)fYox>CefR(6USbtf%hg7$=*{{v-3On!Ne;`}bCAKS4)$W7gZ+3-VeW-( zDhH?VzJoV#z`=V0jbPM47Gn-hV^(2z_u4(t@XM=S&A~a86h@yJz=&?QX$L-TvB2X) zK|OrjX7$I1q}D@-e&e^s2@X? zVV;Q)xf5>@b~FPH;t*d->c_KNIMywk-d31(r)S;5@owQ=+X(9b#%X&3ha)9<-ZAkv zJN5wTCqgl_{ZEEk1~o_Izr-d9QVgA8D?a-8cpLAKP5j!TGWNVGCD$#Ldqb5+@Gi?C zD(9)Xk1?|nL}+O`)Nd{f(w{($j4 z%=rDW-(f6_XE$MnPXdW^<2>@l#GmNN7>}^?9-N7cu?efmVdqV<*!e`p6rRK*r0=0O zV`dT^Ov$`OrexmESi)pSOjgEjG8y-`jrpo}v{jkAIED`x%mBV&84fX!Va{}cxHuO^ z5mST=e2iI46EZo^$1y`FfiheALqZm6Z2RMcY%+F7_3s zjOnlt`}ztcmci~Dy9aAx6R8`5xATS&GDbwPr8t_D%$p&JbqR&+j2V*lZJ+8HZ7}jM zjwPn?4BauYh&e(rq;M9W&}(VgBZMW@GuX}Ml~hYI?;!Dn2!qK~iV1{LPsrYW#{@9| zv&qopF}9*2wnPV8o3k5BX1dAEt#gNKbX6ACXqbK1m)@!2 zq`+yyo7mO8W%Pc~(={2TM)9+AK1>2op)G^9`m+!DFB>L1{s6J;!~;Av#i?-DWHo=Q z5&ENDLmlBdmOkp2FDxyzCtEN>#7MjJ#>0&yE2KT)i*)2u5@W2}9^NUYV34MEBl#}` C@zP2F literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/coin_swap/market/SwapIndexResponse.class b/target/classes/com/huobi/api/response/coin_swap/market/SwapIndexResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..03923b1092aabb5ab7b9b1c8d7d045150f2293d1 GIT binary patch literal 3252 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 E7f>;^%K!iX literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/coin_swap/market/SwapLadderMarginResponse.class b/target/classes/com/huobi/api/response/coin_swap/market/SwapLadderMarginResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..824f07581c8228ef402e5dad63e6eb2b1acc0a5d GIT binary patch literal 3623 zcmb_eTXR!Y6#jN{Zb?relwOE{6sg*#EfEDT>BUlRR#HF;Xpu`#lVfurO+s=a`szD> zz#kwlJm8F!8JThP1!w$CB7Wuj85sad#}CL+UxSIwb$ui|NQzJfa9o}_$mp7 z#Uuu>n1G4vvV1Me4HGw$+;7QpTNIXra%5SSW5Gl*iCtK<;L84ug%#OL7CZ}gguH8_ ztZ-=IzEjIP#iCoEcj_x%<+9tTRVxj5w&|70RIukN6}Nt>>@*r~!^EnBb=vWrS=Xs3 z7!BX?n+=7Y{2k|8CtG$ZE7=9V?p0PM6k@03r+(Mpk)7M#&S?ZB9crhlMdr0T?^WCj&DCYMe#KcXlVePJ70;hmI5FG-Rs>@QCxCAg zDib5u1pR8kDPMEyo*0a*YJSNh{!l`lV{|l2dn9UEi(K;Sc{m ziPu|NK_s!_`U_ES_OiTNbf-?0E7H0f#8Hcy6iT;rh}(@wJZ`t{w3)9r1t!o~PoQrL zL?ua`I+DTOPI-`kNKHz^6k76jutC!-MYr1A*PDWbV7T|1PMHyI$l&7g9k<|5j9gbx z)s3Sg5;3)^Uy|w5B~3iknlg64Z6D1*C_}~y1wtkQW;kJzAv-*DvmXj~=bc*cJ~%;x z0caJR${C50MoLbj6u!~;@W>p4xO91L{tTleZE)N)%RXUkyN?fvKYb`PZ~4{m#VRBh zs?B=AJ?qKiKDgarI4V7K;Nh^&Q#Puo5!tapzY!en5%#e`!Fh_+7_o5` z$N2qN_Yn4t!rV@?YJVaW*aOnSPOauviVEYMk1U$aug;bAX}>|g)$*^*p_V=l^V2=R z4}TmnDHW-hR4dq7F#aR(RzM$tjRc19HaYK*Ge|x8v7SLKK1J*?X@z&W8r*>{uEQ9i zUD2*kTjSoFd5U;u^a-@g*c0fP@h32TCO_VB(?*7zOsJ1hjPb;qL3CodH;7NX_ex9g z?l@^X@G6`mX~1lNd~cwICckdgm(2P4kg{T z#btf-<i^ZGG>i&Br%3@^VFHs;?ejF*-fGe1Gs9*zD1^GE3MN29;PoFB`q!3vHf5*Nm})&tRjt)ZR{9Y#>caTynJiQ(v6zu;dCNt`EFpgzJUzCcQ2 zR}J6_DLnx5K8%-SXarL!0tlsEQhog#6Gk8OmO@KM+sKO4j1IMR&COgYGfaMULhNvh zp~}EI{tUY~b$9oq*04t)5s}<+~ literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/coin_swap/market/SwapLiquidationOrdersResponse.class b/target/classes/com/huobi/api/response/coin_swap/market/SwapLiquidationOrdersResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..3f7f0d56b88cc5216c54a80111aa8f238296de11 GIT binary patch literal 3360 zcmcImU2_vv7=BK&o86>aD4{JxKr0q$la?qJ#q>i23RcrnDWD(%+hlDP(xfCC(O=*d zf50CgH(cn9lo_3I^af}AO(H(;?q-vQ%HRylwCB9%{r=wk_0KQA0hmHH2@NZ9T#)0U zflDdgpULrg3PZRo&=onpkmpqcU#8H9YbLJCeZzz;_o|7KiL!u>@LeYPUBS7ZZ@5!LZa!}UW-7wc+>vc&R6Z)T7JcAxV5!ug_uXmKo_N0_wibp z`XWlpbF2BH+w>@rTyfWG)YxzoRs+F^JX0*y*YlNDebvp|8*aYgG&kzCrjsw#-P-l$ z9eX3cZZ~c@UVepe(Y@VrX~(VC&Na$Tqj^4LA8iLSJtqd&9B(CzVQ_4`%hxCh?Nq%? zcXk%tnzPheUv(N6?A0nU>0-TPS1;KOSKc8~^C~W*KKo*vrH48_ydW9g;$4_YgG7m^ ziyY;PvgNi+gnT(kY<7}3H1>23$1kzii;h>RmzV8^z3zCd2P31HM7FzI#1Bja3{r#8 z+Vm)hX`v5q&HlF=?Fu-dx`_QH#4HXZoZBtCO8>Wnd~WroQ}U+AuPCVc*0~5t47~1D zoQ6W5^vY;^ge)H$Jq@2I6J!Pi0h2zGZOw|O0(9``XA_rhE!rD?8*&41b}3o1YxCkI z!HV6i1f3io8(*Lk%jXvs=jkQk1ZSyL^_cX?e0)^w>7#*q)2j#bK;9X*=6Z7q$GXcF zPD@wq{X+JPuwS_E{=eKys$goR-fEPbGp?tV%&o_w4^H#j|?9Wg?`YfY7 z6FxGHLxin>0dL|kUrOr6vsXCQE4+JKVb+_T^$N#(g$K704g#2H9HIXbn?ja8OSK-d78L57exs( zgfyJR8O##WIm;(7M<{_RTlxb+1{!Sp6NF5BNSirWhWR&k7&!SD!v;?A&s2}GHvp5} zV7noXGqIX1t01A&#ou_;rAsCykpF5iJqkpp`yv*$Si$cHZaJdZ4@$Z>K}8n_rf0NS zzYzNerYkIiIgq;tV{#Lz8-h0rnh-KtNHL{20V!F~eG=>93z-?+C+*)p)pLQt(8D;+ zGmRh79UaS9AQVFipWtJ9EiHSLu%vnpd)T~^YDwlDB%TnVF_}s+fl%rR**ou;Acml~ z8QMJBR#eEA=wj<|_F~CQH@UTg+~FEsm4!9+EBY=!gq7~!#12Uzuk_9UX5S5@cLi`# z;56Y)?C#w%!F~v)Ybs0)zXUkvCjqF@mPT8H*@yg>4U?UCfLM0&0iK%TK7ZF_1OBKH z2E$!L9sW9&J{pv-DlK#-TQDQUNW1jM{f#6mq%+~mbmUVKW31a=-YKSFn5On1`7f_i B#R32T literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/coin_swap/market/SwapMarkPriceKlineResponse.class b/target/classes/com/huobi/api/response/coin_swap/market/SwapMarkPriceKlineResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..b4baeea5f3b3afb20f6f67d0f27f3efd323faa46 GIT binary patch literal 3651 zcmb_eTXR!Y6#jN{Zb?r|2)z(NDNwadTOtZx(u+`T*0xY7phW~u(_?cWO+s=a`tB=# zz#kwlJm`#+8JThP1!w$CB7Wb~PQ>I&)kJI*&wuH=;0a!Y>AE3Zu`#C%Fp9g_JDg~!>&8c}}FtV!oMUPcDy9?QuQRO}t4QHLFRXbWMl2)sjTSY2IlucRLBDP;aNu zw+*V2rcNEnVPB^_NI|3~rC}0Hc`MwYbylKVE$(h7Awd}Ky@pd_jGJ<}v~tHS_!A@7 z6;x&OAc;gwuHqME7IjH84>f0w9dKJmGZ4ziu|k26iGUf-n`Foi58dpE!rcX@8oU!u z)LZH9kBt%ODmn&n}!}l%x#~pGL_iur2rTA@QdVh2|~4624r8 z@E~ zjjK4$?@HT8*g*<&ubx@!)1knAkal*eRkysVFy8s(qIv!DoN0dnHt9Fp|E0Oq)W>0d z)(7~bAdZ+6j8sf&7VIn=eKJ_TegF$w^G=*XJhN-)HavHD!fnMAK=5tNS?dkU<8N?j-Bz_ftCJHqlKdp z;V1~{DnLl#BZw)9Ym-U+znYYWQ32>QDS#_XU^1%xJWaQve5u+yMH%*9yRt@5*_M-b zMW^VDvmlIL2{Z}j@nAIjBXsT2=pQhDfF6G|`a8^pvFrw{;7B5Iag0k|8~+ns8SNSN zK7>7<(Ke85YINmws&wUzj4nFHGo&A)JELce4kbHpQpwI+8B>(3NXg7tO(pFS1M2MX zFy|X#psmV0z$u(&GJW_KGwk{pUz>+B^*4G#3zCw^ zPA%4aB2;Dgl1S8IGeJLaK9j{3Q^#n+prNa&iAilLD8#|kM3H5%Qlk%Hj&Gp*w(z_1 zng}vlB(bD8p~%kbfrxbpE?F5p5FOke>gmv71a%yjaS4kIN9Xz(|HqKT9JvDZQ9kh{ zQX0Ez09Q!q0hsq;ydXm(m`V{qDD{Hs?Q={RebAci`n}0>`!>+5i9m literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/coin_swap/market/SwapMarketDepthResponse.class b/target/classes/com/huobi/api/response/coin_swap/market/SwapMarketDepthResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..8510258daf52e88ff88472b9db5393ca2d7d7902 GIT binary patch literal 3761 zcmb_e?{8C87=CVhZ|`l_$rx;-V*+b-L z;FBl}T$ABr8LrE4!^F)PXIqAa7| zh*Uh=tCFI7JglKhk*c1XPi5SSM@n?gT`G`Nb~IdT5l>{Y#nn`uJU+>*LLMy%Oz`c@6n!g=CC8hl z3ptIv&axSkq@vNpxXlU15 z5I~byoZ+oCD>p{*`lik296O28JpHQQ-W0%!3SiIB=J*X?X3S?DFIQZ=XqW9($8*Zm z6XlV*Z^X*C9f5*|YjV7|InJM!YO%i2N`J0S%hiUMMssV1HM|yS#JOFy^AtBZeqmwR z$$I0%S2bwG=7$l8sJH0loU#T}s%22#kLB<9u*2W1J)O7`)Rs|SsGd_yiPS==k`fP8 z3G8Hyvn#W9$*)fK2EJwzvUcILm`<3pD>+r*;i2IfT6Xc$%h4w953Tw920^@1&!fQ9IxWF zIA(EPLtkr4K3R41i%vO?55TPM-oosmY>o=6xWi{Ux=-c&7;ANOpJd$^-DRP0S>d)e z9LHrGURx!c~g1#@R^z0_`WCI>a&JZ|=k} zaa<9Q#0XcKB#>k4;ZW=0p0A-ru-nFE3H?e4CqTjPnvnN>fPmr?p=St8V`R-+n%I zrBeHha|cyF7)kyBL%%=rCyei4gzu010b_PFxsHgxBrwm9a!BiAf1x9xKf?BVh>s=o zbyzhPSaP>PW{DQ6a?w zQZx~(k@Wj*V_j0-)GOivCUKnZ_uzX>@ri^OjIVHldtq|E#7QC@XR(55B7+Uj!6~8$ z@;HOjMEun8U5Gx(WMgyd6uk8=^K&_@pG%nH|l;Gv{C#FDu2pPGrKppSUK7kRAEw4scU>fKjtTM zpldwGR9aml_h62#BYso%qiJ0P2|bWll3*o@r43)i-1>*Cgi#Z9q$9p4QWr7fJT=fh zN#~R;f$?Fi;sP$xQiExDk0`{j-ohn16lPnT#T=2&L>|UGk%24d!}~-LKlnewdcqBz z!Phhf9Gdoo2OH~*$iyaO&Q!a8z)&!YutA-8&WT5Zpt&j^5VBs#>FJEK@;@HGZl;WKg7w ze9n6f&i%=U=<}Ova&!%$ w2$H^|qtWC`l3qeDI7xyFjA5TE`;s5{u literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/coin_swap/market/SwapMarketDetailMergedResponse.class b/target/classes/com/huobi/api/response/coin_swap/market/SwapMarketDetailMergedResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..e01e0bca07b81ec94c8d17cd133b39077f088492 GIT binary patch literal 3824 zcmcIm?Qc_682_F2-rn1;gE81f5dp`I2EFW^6vO@Aix$M^FN>07*QW7Z?6$W!xoNG>|b~PQNHKgKRv6HvhVPX!Ij`=M5})^$$|TiXg+iBjf38qj$rKxv1ux@Ny-dxmS1aYZ zn<-Sh^2Pdfr4aq-G?@xO(Z2^XX$0jh&AD?>u?T@KOD`8bId^A^^29o(@xD< zaecQ&J#ijsxk#*C+!!iodnm_;*GB#GYBTbeyXnuucd@_}3u$%JzP9rsjk#AFPKn|* z{-0X7;uidwi3R9MYpD4NePX~+p>e50QLo&&1aR=g61+F2=!A-XpvrM zRZ{n%DuMkBbzwR0RD+Ub-{4Cpq2QE{i0Onyr(V=mA03}KLCa2`Igvj?(}`nzjE$17 z5Do0I#+pW$WBShMSa6?T(cOS2_IqW|Kd5l5M@2kbBVD~7N@q)F_2e23aC%`=Iucs_}3GHl0=Bz9s<;po%pfl1_WAc+^TD~bJrrUXr6 zcM>n-l_c^wsW8&r!w)sQ(xO{S;sY?%qmOrDyilax2CnfXPwmk4aDa6@wL>Z*5M5^x zaarfKnn>atcCit(FV$~A;ndUdxz+bsrQ^Y)bgEUiyr?kUqi`PX`l0u1zH9i+N8FKg zUE@tYUf_pzGr!RWB9c?0h@>@`nOP_@WN(!JOfqpl_m~@wFL9OOtT>zLU!Z;psN)=C z!R97R5GOSOX-smZB%K_)4@bHW5A{6EGN2{hhojwxhkG2>j)=i5qaGF*-AYD!C{fsh zS3?W3oFn3Fdh!m`&qNWlosS2nhczQ~UIHUgR{TxGm?xOlC%%E*(dl!UcZZVOcI z!|R9!amsaC85Nb$C$LiI{tdEq`eJS z_#hUd9g_hf)uCu)U7R#t_UVp~*4UZiTd12d&NQ-VMptT5_A;L%<{Sk)Jx96I`L6 z(%ff%L;v}^SU0$S6$6qQPJoTZyevy-l*8{T;ucY%ZmKH>`l3qc{pi?<;DAKpq2 AasU7T literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/coin_swap/market/SwapMarketHistoryKlineResponse.class b/target/classes/com/huobi/api/response/coin_swap/market/SwapMarketHistoryKlineResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..4cbe8cf9b5fb066b6d537d914c116747e6fa6f4e GIT binary patch literal 3824 zcmcIm?Qc_682{b&-rn1;lTp}4C&IvqTend~MD4~zUdARHAVU;N0&hvJjxAWZo^WSfO062&* z;;`_kET75pxh$7$TuE?uWtmT42l9dzWbtIVDzrr#g#tdfxK1>+2b?$%5t{QsLU6$ zZnc=LdG%_gT=%m1O0j&oe$%aHm)+Wu=V#}LXBC{H*-Gu!sZz1*oeSg#njwu%@J4IV z^N%r-?Sn%tj)t+A$0`f-Wy=f=oNg@7d$sfKe2J9QOeOD@F1WR#oCBii7m5sdYLh&b zgwVaYAf4jsd74kHb2Z4RO{N6a!VWV>J6=;KBtEBf)^$3&2OrPo&;{0f*7FOMg|lwW zUG{vh#&F_P2}2~75Vy6es|ZEeCRfMUR}2b-5at3&o#D@Zv$tyWVh1 z3}9XSXXdYYd4Fu^k^!T#{?P<1_F=^@cs0f-Ei@o+%TW{sI~1|`tdg41JZcSjYJrBp zxYE$?ETQG~p_8f3FU`7D)v}x$eCgE8yX6z&I$^=B7j)N02ZyHV+1Yc`vnS{}ag2|y zQSuE$m0$Ki(~0PS+-eQzOB}zVUl29Mi{+v}Vc=wINrU(Gc#pJDRN3`8teYzH?ai?C zygDE;S83Gp-eggR#LG{gMEhlUCb1JQC9zAE-RMtZ5B3_E+?-jL#0(B6@e1}OF)nCC z&?xpNk;Q9C%;L0x-i7aU)Znf%_7YvNHX`IKWeh@u}<~sT2 zBW~$X-Nj9L7S7_Q6EG2xni55%tZHXv)z0FAeWCCGzqW?dhU=@OWVsvMt<0}5epVub zTw{v39Ye%PEr1M$c`~G&TsJC5HY#_wRc0HsQI2j@?rE#c_F;G%Z#Fk7_qI{i(Z9~S z58#c!NRE3%g3S!C!1#qIg0r0@Sm_|M>4C3sUv}XdW1{P9Q_*|Y4ZWL z-a&FSZLY#;O2l&(MdGln8|4=|oe=yxTT0RUJ*(5%(~GcNuXve!vkvkqDFWE#4z7N||qPl*q(MEa4cD z#qsCiI8h8GOyUF)zlPMDBy#W_lX{XUj_>gzric=lrXPo}#diM13pU<=h#niK_;ZYh z*r8$k39#9x6D*D?b6FRKoxp#}G;2vUB+e&wz7@u4(MO3h==>w9r#Q<=Vw)OY(}Yb! z)vmE|^RO!B&aSZnOX+kC-+?{4isTic$8)AI(q_PMq`;b$$XSZT+A1X{Z8cdPxtLw2$EL=n{J|v2% zxI|k+c2oY82PEw zHNiE;DZ~B9@94aEA1|b~tfEUw!!5N{3(W{1QW@H7C%;*ZDnY6ir$7W7K4cmiSD{Q&GVA#@<`lw0A z_Q@X>-XlmRlF0$toJc|$AVpeqtEq;wOj8+uYt!i>ox4PV2tMHp0~^6WniuyW{y%XY B5W)Ze literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/coin_swap/market/SwapMarketHistoryTradeResponse.class b/target/classes/com/huobi/api/response/coin_swap/market/SwapMarketHistoryTradeResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..228dc614152daa71fa7de2b2f8e3135d3971c1a1 GIT binary patch literal 3830 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 w)X`8lh~p%=IV?mc16s?t9?lR3u(%-Hvj+t literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/coin_swap/market/SwapPriceLimitResponse.class b/target/classes/com/huobi/api/response/coin_swap/market/SwapPriceLimitResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..6efed67f7efa2b04f6b88fdfebf9afd683bd7d76 GIT binary patch literal 3297 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 GBl#Z}B~^6* literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/coin_swap/trade/SwapCancelAfterResponse.class b/target/classes/com/huobi/api/response/coin_swap/trade/SwapCancelAfterResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..a1e912a13da511f5e7483f17ff0304120b8c7288 GIT binary patch literal 4121 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 Dn+#C$ literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/coin_swap/trade/SwapHisordersExactResponse.class b/target/classes/com/huobi/api/response/coin_swap/trade/SwapHisordersExactResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..265282bcc8ea50b4380a7567b315525e8aa7dae6 GIT binary patch literal 3642 zcmb_eTXR!Y6#jN{Zb?relwOFS6sX#!EfEDT=|yNMP-p=uphW~u(_?cWO+s=a`0O)( zz#kwlJm8F!8JThP1!w$CB7W|74n{m zqQaqt2TtXjS1VVS-D+*-p_BKoxV1{TRCA~5UXe@%d$v?^tJ6iNR.Ru!z%j_*vl zPD#P2`Ho+&DRj-NPUU}RPE3m$7Qz5VPMdvCjk?<);2sd?8gl$S3%RcF=p*+~jN z{QoR=xW0l(V#W0rq7Ln5jW_90ohnzQf!oAUqnZ>-%e07_?MOiGH10H+JDdYEsI6zv zvk9h>rA{45VQ;HE$UvkfrC|;Yc{AFeZ=C2>le@z?NDPL1zwQ(nVp|HAmhQTFe{AT6 zf-1LtnP=_?~Kx5k20k?TH1ECBXD-;Ns2$Rb{37l4GstN5!gsz0Pm9X9y$HglYiC=sKw`qJteL1K39V~(8+ZW zL$oW}C2DKjyED%b&kR3{pBvD_WRC*HfI zt$25ov>kXA&Jl8slG7RIl@ygzWTv7tvQ%UDaFwv+BqsIDFVG}|SW6tcgE&IFdK8C} zhTG(_zVUKu)5~mBy4dL1*m!x*CYQr1d`#b;;M2%Rj=SJs1c(Zbt?}D|mEKUJiK7wW zCBt#rU383>=z5IKw4OFvlA=l_G#p>NVBZ&oN>2KyN5CbhLI>q-M0Jt!r-NQkh}$vlC*6 zTMShO*6|nE#i_fyE479_0wK4qu8{6n!``m$khX>HA-#s)jZ-G=hNcr&q&o%$BLYd;eI0>la*#Q*>R literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/coin_swap/trade/SwapHisordersResponse.class b/target/classes/com/huobi/api/response/coin_swap/trade/SwapHisordersResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..0e3bc0e09974fefb867258f8fa8d007031793a70 GIT binary patch literal 2986 zcmb_eZBrXn6n<{9o85$^r2*QeFG>{^5@@ug+J+aEmbO%&2o&2|+b&@xThlBi8|$Cw zAMgjr7e45W&>5X^^h=%bH(Bd*b~hnFoas!NfxYM6d+s^Uea>?a{Qd8*zXKS-*GXuY zmCu}fZW@?Rar|693n}zsQLH8T+>+_CfiF_%z-<$EWV~zQOBwH(_{zk6F&~KEZ37Pt z*b3$q+qWkjyP{xCS1L~Ra@nrcoSH(S=G%UqMtbIv{hggJ+m*HaqF;3@YoiLt3bizQQP67cVIsigUh6F*6~Z;>bzaG zA3HwDCQ=>?k=__MAfS>-XIO#S-HIeYD!U2i+qzxm_Aa0|R~|V?aGv( zq*=0SrBFukfx&5lm|vKlogzxw397nY_DN(jz1|;Yi}wead@mFueaGC2>rW_@TUm*u zdO+m26uwD!YSF7#i_TS7bbq4lYdb5?*g^&;ES$tC3#ajh!r1F5*TTm*XW>osS@=M# zck!Nu0SsFB1fMD#+uJ!N>u#AHz``_E6i&CrIS`h7+(HqnBz>q)xDKYgn?BU%*Tz{G z=D3bN3VtU?C?SQZ*SS-(DJf72qGWr0-Kh}CaGR3uZ%EM<*&%lMH} zzk3hI_8#tOdzfWyb2z^DaBthgS>$*f$z0$V6P(%H7SzwQV%Wi*3QivlJtEw4Cm}>( zh~B#5q>GbboTb~okg-<{Dcm+go(w|f@qW9I@mCEgWom{z9fahw2t%ri9Fx4j(_HpP z=-OuPPiQ|tk8kGwfHpgn-G&}aX(Z-`_$g?^f1x9zJ;#v^Si>1@8%D#!Ea-GG3yF*_ zK8fc@Z=f@yXA&(=$$~+rWWmfB;$%inM#gM7X`2KT-^c&G5NMPCr#R1lM%c^oJuXm7 zG48ndkZW;d`Ak2erQsT`;vy{_vwZ%SXeCf)feN$?R4L|BS|-MrGY88s|G^;x<1cX3 zzyyCx^#aF3Gudi3%6^`NYSM9{8eJkHQIal9%0>Q9NP6=kI^oMjA|YJ}O2k&hB??K2 zpb`vpt7~*j8xIO`s%x~wGMHVt4H(1QNIjHwv!KaFMvHb#DNeYREa<@&>k=F?GkUOf zsy)>cVZsPu91EDlWx~-hk1ModNZ~U~5p|qT;~Xg#swZ%abPLr&<`X1dazP`RN|8V) z^^)#8^O!93LT@-Ue6-z5kz1n0ZO3!(DxC?FEjZ*3_X$-I%*b!(xbqBFx^o+cghCGK z!=X*xb)}Dlc2ev#?QL}L?IB?o2)oxvL=FGX!VTt-2Y-*F#<3^+jK9)HvO`;lWrw%0 z@2z$O9VHw3H-*p>bri-3nyl!kNB$y`HxWl?Jm@mg7UUhrSOd}5432Y5@uEi=@EDT+ E0rh=S(EtDd literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/coin_swap/trade/SwapLightningClosePositionResponse.class b/target/classes/com/huobi/api/response/coin_swap/trade/SwapLightningClosePositionResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..f399bc4cff34489b2bc1c1507a278c7508a914f2 GIT binary patch literal 3103 zcmcImZF3V<6n<{9o86>a2%!Zcphc^+NlTO$g_KsMfL78{+frUcV4JSZV%V+8M)XJU z2mAr@g%3I-WkzQl{em<8CJ~>ryGhd*2R@XU_TF>vJ@=gFKIdig_rJgX4&WrdN<+i6 z3^OuZHZYsv{J9Ks8T4abqy-tS$a2xZ)eL%Y&BS$?Z~oIoDOgjU=QJkkcC+a;6;jQ>4q6m)mAm%0cByWAE2a6M;d(1$3feO7DJ)c~ z{=HJI%Z|eCit9Nut$RyOW5Hgkb0=5v zt9E_SZn(0JH?^SV($%G%dj`=PL@AF^SR}?*LXb`u3lf_RB(zy-uCvrXw3VdcMUp%1 z1T}wo)^6DMoWN<&mceTg?5jhs0=2l+=|gbu?S>V?meZ8;P0OzHcmwLoOLv`WFgAQc zLHQfgF+QSQKd3nkg&v9LU^{cIaJREehlf$(W}>5LVT1>gb7r(HVlNY|`t`KE8m0;h zk0nEes_k76loV@rvleAra%gypAZF*LrY{gBrgX05)|Z`zg()m46khy-p(stpEmX10K#dGY ze8MFu&_@P><~V~%ho54A6|?RzN;`$Q9eZu3`6)1$q!jGcRmUT&(QR^KYvYR_&*rm1 zzg;?A0guwEt&b!8a`f|4lSD#dNhu-W3};4^a}Sh6f#VUbN}LsEz3>avPodhI98=+D z7H?6uA_WZMZLX9Aj^pObiOrYyY#YL8jQ5>V%7L$pWH7VS7OdbqPmhkR&CX+8~Qo__Rc{nu5 zf{9G3)11?Mz=LApN9fw4;-AodfS!C*`~%wbNMQ|nxTKJp8R1aYM*l)jUVDl?4`Gew zwKW)R4YRCM#Vn`ty6B{yBKHuzc|D)%Qc9N%Dy7S2-Vh}-Rx5`)ES^MB?Ap6^B5%) zXX&#D%P{}JE(7Dwu+P8*|4j7^2O=@uEw;mcf`n?)i{coaAtK2nU6_=I{9hvJormaz zFAs?m=~NgZHZg87k(4ABrCT*3vSPO>zPlVYKI0{cm~ zP%UKMN9s8@G?J+l34~J5slL8W$VNZ(wnAG++qf00rMlGCH8<~4nK0RpBkpjEP!++P z{0%+VpTNrXu3?u@$SJowl9_ke+@45Ii=3mphP|76NYn+Q?sYPzhF>&%Mjuk}H#uvZ z`wCC^FMXsi@)(K2=wocDRWs};g-E}X2z_x!p^dP~N*?vehm*WXa`Yy{E+cJ0>Nvp| SNPbmtfOCcq-A9A_k^T>3Xo5ii literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/coin_swap/trade/SwapMatchresultsExactResponse.class b/target/classes/com/huobi/api/response/coin_swap/trade/SwapMatchresultsExactResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..1cb915c3d057433dca1930459ce7d3f63c77b279 GIT binary patch literal 3684 zcmb_eZF3V<6n<{9Z%MZhLSKlW7AV@LEfED@(ifpnu+jojK#K@$leJk$laOo#|A628 z1O5Q{!Uvs^G9xpNe!&@klZemR-K1$L9i0hN?mhRMbI;3j&OMvI{`vJc0LM``@kJ5} z%SjAkIRO*bW%*K;8z#O=a=$6dEm62Flq1WE91A9jN$kS11y}a3Ev(93vfx>`BjjBZ zWrg9T`%Z1q@e8H8+h~^k#@qv^;9qtdwQ8l|&NjVr(XA`k^OcHQKV5bj4Yy%pO~E?j z_|B~BR1}Pc@A%DzLVDqj^No`$JC)Vkl3({KtCI>bpORFEWT6`HwIU6)B~9Ne=N7z% z&l`y)Z?!^;byvX&FSf-~3x(=huGFlqcsZx$ui;kk zlQZ;ZuC&rz8yW46{T;nWsM51`x>{tCyBEBQd!f0u;?}P?D`j$wDX-%BGYTh0I*^Mn z?cfAhZh>fW^qQ2ST5!tOoVq6lBdeNU@>qrR{5{WO?F zVO{dH#H)U~g<&InM zCr7UXD`%ZjB&2;I@xuAe0GYg#sZH0W%yw$&ei$df69+yNgaO zcrTo>!HBd9PGwG_q>+--D1~n}J~BGbATC{=Uz}rXTb656)=_^|lXhePw0UkzWd zLUO6vtQXv~o;>zLJ5GzE(x3`nSLWW1o}#&AV+0i&2k^R$H}Iy7AskdV(+&SN7Vxo+ zcW}(cj8O05J)7UU6E+rcL1A#~V{Ctbj_eruNLc=98&%W@`1p|D2oCpHjqxFYf0{)a zwQ&{4_|4gH6SkAWVmH!je^wOO9@5=Tt>#vW3KN}gFdE}8kDiSW!zTUKYj|l?we)e2 z-~B=UYKS8ybt4s%(gi!K$6pbL0{Sp)BruF4>;iamYl?-p8W-yWDx6!BNfCE+SQ{t zl(gM8m-Vfe_iTHa?MfG0JsVpur?q zL^ujUx(X0d_y}T3;@V_V|F0&cVN?J*O$y)&lbDKXzd+ONC||1ftD+2hZ=fu!19r#D#G#d2QlP^klSW z*z*wfL`GXjvZc|J*QwHzH!`~D7|)P?h~A8zF*=m&yh$ZHZ)HqTvLYojW3`mDM+~U5 z!^50!gn_mz^F2=D6qD)41I)7PV|;BMPLmgBB?~x1O2avv#T+S}WA7yCQ+#h_zJhb4 zOw_R-pOCUJPoHD3P3v#$GV$qi44632KTAEwzK~3GlCA2UWc4(ewIQHv4gLdT$HA zC$EVhqeT)+iW7?LydH>Hm*A3>(F4(e?V+9t9Y#>caTynJiQ(v6KjZ%xk~mMUKz*1` ze2J9Ct{TJ@QhEU9eHbsu&F869dHnp?S4W|;i) zgxKLGLzRJb{3&*E>h4ab*0Dz*lCWdQ4 Wi9bh%dphuDVjny8HFnp2B>n|__A)5| literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/coin_swap/trade/SwapMatchresultsResponse.class b/target/classes/com/huobi/api/response/coin_swap/trade/SwapMatchresultsResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..20c94a36b971af68044304f92b8d90996d33c432 GIT binary patch literal 3013 zcmb_eZF3V<6n<{9o86>aD4{JxUIeYuCM{836jEBGyht%AwJjB}0^4LI!H})VM*I`} z0e^se;e*WBGNUt&e!&@klZemRmo$B0hM6+c-h1vj&pr3t=bU>s|NQsc9{^6_+axrU zWSEiRx`Ejg=PzZLOJM->A}z>pLzasMzDl77H%;7<`L+ySn^-dOjfp$5x+}Pw2JRWK z70gSvXHPkHL&2JEG@Rzey4`9yEd{MYi^8>H*?pL=w%z4g-d?HYn@(%RZM2+x*{wD1 zwjS9ld9P_#ocuh+lI@kNM6~N(Yc2#1MJJ3aBwC*Bwdp)vd|>}z=j(RketzC-)*AO| zjd`^6byHo;Xn`4v)OeaI}kV#ZlN@tTmjO_QPeTxnM8XsYw^zvRz-an>AU7 zO3ka*7~qASM!=gUd87G|ihkZ{8!~i47KEt{=7^D2#7Jp)r{S#UXJnD|mmII^R%Y#{ z{m}88CL>7luqfDp;jOXCHk}xWc5k=c4_2%R=lix@r+LHn>&p+EvNt|*TS2)SOCmJU zuj^HvCSwrphk}Ys`MPk?;~S!~vI0}IG<>5}l^GaB?B!j`-<9kYKdpRFd+$Un(*gMudZT&+>_CKcSbn53=z zcWF9|r{>*uv+P`{Ni`pO-P1fSb!Q=icPt#hK?{d)SmFE*AH0S0IAP&k9I^1RNFU;u zg<*_X_zV{m_HC~AsdlYiahevUv8-_Tb`X?-uQIUZcOO751$e&<7Mvr(c&Wgue z#W7a$`Y}N{DO}y*%{os-ft4YJZLh32jf%opcio2#ZR@iRFUkh60Utetu0#edB0P?= zzYp+(5Jyb1MJXl;^JnIaa}Sg-&haQ$dCrQnp8XZ-7a#T>$Aquki}xv80RThzfGZ_Q z;<$NpZ1d*+Z8tNy+iZ?+-aN4F<}7l&j+|WJ9FsV+xmBoVlww$qJLT^l3=m=5awj1~ zVU%cHanZ-c7>*OR#bxYGT?)4ymj`^8d3>~;%lMnRlr(i*9`arCaRe^a8O}*w;BhYd zGj#1~?k{LRL61Mp{Ryo!nq7nLFDWEuMmZF;vA@xi(OzKB6If#zZ4E|*Fbg^%W+9Q$ z1(SGz^b_=E^h}})lq?toB@1T85Re&yjEot9w5JRxzJ>p#AkYr~k8zT}Q`p+^BTloH zVzkuo33YK~`Ak2hq~UX1!5K^-DQZDkkLee`I(HXv6BrK%Ueu~(zsA3^0 zDX0V;-RK)Xr%m{YIM_E{Wg5)B+!GjMYe?M_y;;!2kkLYmDai>;$%5{im=}MOnbCdI z!R@J@3=Rw+AuQ1aTSsoz63j5!g#+$zhoLG4bLw~W+1ex1AM0t`ooSwAAXaSI_j5CBYBhJ=#BebM%seB;}~-w^;N`v&M97WkPi1D F`9Ex?UZns4 literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/coin_swap/trade/SwapOpenordersResponse.class b/target/classes/com/huobi/api/response/coin_swap/trade/SwapOpenordersResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..c22c337b0d9dc76570bdc1c7553340b430ca23a4 GIT binary patch literal 2995 zcmb_eZBr9h6n<{9o85#(F}#_A7F*gv0;ct))$n2qLPY^7s8vhVC2UP>$kJp}`zQPZ z{Q>ohAL>lOnRcerez7zCO||wpyPFUoopAn>aKq z$Y)VL*9|NsIDR3YpZ7$ zWj^n2WD7NSt(dhpi`j}(-E_-UC!2SR<@?pg_GZ?r*y~Pqh3555r|eeNol12%bQ`Q^ zXT*rdTpdlh=3PHi{GsEmgiyMMhMOFAz)ZXAj>6ITV%b@&ZLB$!8}?d>E6I5`ZhUMa?S|nd;KPpcAn{WO4z8tHgC^MCc5ALwMhH**Y859X7g$_LDJuizF^MUcp^o zvMct6TjwlUfbdm1y~^jcMH941|~nwt|V_Z-}1EU|Gy|iYWi>g1za>fDegJfDU=P zJR>M+7VK&vP*QYgc#a^Jmgg2`h>~`U%C40>GTBJ44+hzygMKE@4fIIg@nX5?O)6|O zvl6QHu-I=ZeS`1Bid(DXo!O#jzpwR^J1vjdLJDtL=tIAS6F8|baUk_txP&tn-o}81 zkHmT(A6OW|u!T?YnL_X01~OGEme>a@%wbL8WNV~DLD?rPAp1>o-Eq4+^ z6h`Q+D^5B%8O3S3?F$)s(~!b#BV?Z+GK&veg^a#wNGVezng_7v7=O527}_b_uhUCdl8 zrHfDOC6Z6kp3+mXCZ~ALpi?|&rVMd1Lnk9;)}6Fx1QgxJ|7rlV!T%GS<$on?==cHW zsig>aiujmoQKb1!KcS`JbIjrbEgcJN02gV+P-1~{vR>~rZ7!7I+k#mRs;!L!wgYJ`83XuVxf8xy`)>H7BU|r_L>VC$yAC2 zLaEnu-R4$dspd9nC!s;ceqEWieS$DhPFE|U?tnPaYQKO zkUSdL)LlpNSYXG+PSV~+=iVL?bb+9IoeQZ^{Ht-5Ipo2wa@06>rC;z@`bc_Y3z78b z7WTc>Hov2!1OJ8)y26ga7=Du#9d*ecMe-)%Xpj0`M%seB;|OaY`kKdajtO40hXH#L F{||6zR=5BF literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/coin_swap/trade/SwapOrderDetailResponse.class b/target/classes/com/huobi/api/response/coin_swap/trade/SwapOrderDetailResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..12fa077e8e65d4e69ba050a243e6f96d1ff7ece1 GIT binary patch literal 3004 zcmb_eZF3V<6n<{9o86>aXhTbh6e(J@OryGhfx8D?On-Fxo6=brQ2=REhc|NQsc9{|qa+axs1 z$>*wk<_#>QIDRRg#T0t6B-XNguE})8z*i}B;JS$$GTt=twT!n+d}HFan0LhQx`Dd} zYz1@1_U$Rht}0lw)vDu7SL}M-sVgMvzU?K0MAMAX^uHMTp`JP+7H>RMi@tneJ zu~b{nmm9TJH*asadC#eD)T(tSU#hv)JM{fN~nXaul3I~gB)w$YOUv<1?d$q!qbg@>lD=W6= z$~;=s{Ibhb7hV%PAsd7yH&D1jU~i5JopG0i`fb;3@=@R7qjzXG9m6Z6anA9}wY3G? zv)3Kp@fgeCu@Gx<=#4>@Tsi{_*hB4D0<5x|aK3NY6>e{XI=_0~Dfwf=Hx*QEyTqa` z#;y5f$5ZH#at$`sXa%dSX)@Rh#h41W!if=Vh@{MLS+x2oNrufkCEI}+R&dyyVO48-;~22; zky!8J0}DeKwr~NTDfI2^BU25x!j@oR7OM)!_rW?8mVUxQ32P*OWI#9%ro5p(GT_%I zSRiKk90Qd8R+dmo3YTB+UacmjKv9UM?TrnmN-U#$6nA%nimu6ivCY5v2HJ`k>Z9q8 z6Kw0f{5udwOiD#7Ce;c?7K~#D$QuUuJ;7O?qvEJ%e}(!baC?W}M6lS6cWGOp0|xOP zXG%)M@6N-qorlwV9%gCxI2_-3_|Tq*v&iu}lDWV!COEUXr%+F5#ju4t6`VdCdPKP8 zPC|&n2)%X1Nf#%hI7zo%A!Dx^Qn+n}JQ{?|spsGdY0=@zPm%m+xkLuN`<}q35h2C^%`e@siBDX}F+m`3fRXP(Un{db-ZWF2^m@~hls>CR0Y z5DGb@4~8~%*Ol%L?WEXg+M77EvxkITAnaaeB5L^WC%#|~dGNP5Y8-pA&-g2SBs=mH zvFzwm?0TymK}X4k{w*Q&L>+}Of+j0E>XE;TaD5Wigi&m`CrY%t{ib-1$C|YfyQb4%~Y}2J#2uV#gqF?+6 z`~iP}eBp!6*fOItj())zf0KyMyJxdWL!H5anf9Fby!ZR&uYZ2|4ZsvCX&6|RK;5PzFq?i4*DmB(Uh09tnCQmPvYIpPHW^KjKyX$_w?lsnH)rOZZ)%@y> z#yxjEAJpAdFTYIiTz%E6&sT5N&PQA$tr&{4VrR_@mLt~(M#nl_jGZ@5)mG`n&IP~f zoo(J-@#+`cl?pNa3$>D4x#ZS;c}GYiDEka{_Jw?;VSFen7pmAzd0#c%3fA98LUMVP!T~ScAtvw%+7;h~odv%2# zX^4^5csL<8ep(?>ro+|*0n;H;k48qL^`n=aTDr67u7|zG>E>KgvgB6h#7lx@w^7#Z znj9UQrxQ!(=NISbCE*n3q*)1=>)3p9MC_R(TD=|Abkmb}+OPV-tirL*YDFW_QSz{U zUE>+n>%0Fi_i_uDS*|tfCGU(cle%x)O>jgum4htyIoOW_4i4fKh3OYrE)GuPJqNGh zkb`#x8pW7{9L62Y;f%tb?&Wy0=~uX*9Gpd2;o!D@j_T%_ap2=N%QZ0^G{VOn)^cK4 ziZ{a&)6gOgarW9abTcZt1zLVRD-yKf6Ms5V@DO@V92DqnmVp zwfLDugC8FtiG&o1P(tby-YgXqUJc=4ey5b=oagJr2@w_S}*Rjg|p~|Cphvg8J3sfC@nG}`D z=kQXOZHnBw0x8biaNEd18qp~^MkEJF`>&4kPE+Xqc4SHV0;fV`EdMq7>g6R zO_<@6KAr|XEmjEoflG}j_Jfk{O;ORszT&ho6Bgn?U$M+G z*nQ&L1< teKa87PFiSBwqS;dk#^}#h8sy%NPEJU=*VXzCRn$U literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/coin_swap/trade/SwapOrderResponse.class b/target/classes/com/huobi/api/response/coin_swap/trade/SwapOrderResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..16a15e31bc3f0da8a9144721df0c23b71fb9ead5 GIT binary patch literal 2950 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 literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/coin_swap/trade/SwapTpslCancelResponse.class b/target/classes/com/huobi/api/response/coin_swap/trade/SwapTpslCancelResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..d5c7ff3371c29e11721d3cf7600ffd22da8d66f9 GIT binary patch literal 3586 zcmb_eYjYE26n@@hZ%MZhN-sn}i&SmXmWYCvwB^!rvC;z4f|mO>U7Lk;6OxVSCw~Ed zz#kxA_@FaVW@N_EFF50G67e~^n=~z9MyGVzch8=4-gBP!Ip;mwzyA64HvmUaGx1d# z3QK7WU?~L?S7o^-%XJes(tO^O<(4?y7RixiSze1KR?^skB@3=RzqYU{&yoet!W|Ls znkXymU%2m77pwL1jN=#G@+G%kt@w3!y5W^q+?s+t>-%nPrtH+~Zr#M1f_2IXoN3qb z6^we|1dX~v&)gm78z*0O{MGzIQ1krN357&JOQy{-R|)mn3Int(jle7C=e&Br9jOIx z)n~+-t8g{i*fLMf6)S7`Qlql$<(;aRuf<67#fssjrb+M;ofUFWy0G8|HASew-`)}Tvbq& z&0``q@m!UlB$K8~8h5BUQS4CLdNo6%3=}Ieh?okM(KJa%>gc7Lolv|x&%q`agR?Rm zbym^wPYX&0DLM60bT5;`BeMi?@zU)4X`-ZTaI`ea0Xc1@PYy{weJBcV1(oQQDx?=G zjatz?Vd4++kSFH8Tc(XIs;i$G#HY%u+&9T9t9=_Zo)nkLg?G!68V&gIn z^ZT$7Kk5~QGut{)>l2{BqD#*@)vD{SD2%sXsdxatJVG```X>KokH0i>n*KPzukrxD z=}9D{M3fRzrSQo@@f-hkC?AB46o&8)HSbb0NI&_poLE_yoGR4r7FI z#oMR1#%FKt36iW`efTq8#!unkv~Q;#y9Q^(Mjaq5T9i4l~&^3 zamsd>RWt{wIYdo&l3Ox#&QO_&kCCSvyN0X4k~ayd=YD}ECrGs6*csx8;_5LDC5_f$ zv%Yn6rsHNdC{t|BY;4`UtHb7~3Li1|$M_@;Qs7f~FhWL!$9DYPVU+&Jqs5~U^C%4I zDr89EQ%ESmwJD_jUqed6sE~Aq6v7oIFd5f=j-gv9U#j-2P)5DCQCTCbY%9q|MW>jI zBOt=Bgqjr3@nAIfBXsT2=pQhDfS!Cb`a8_|vD`YW@RdU9{1}&lHvT8Nvf4B3dI)SzUaLXXtr|?yR0Q+MMiyNhiBtWleFiVka|eHJ!9a1k~Q)(V4GD zKwFi0fD<^$!}Q@>Otb3~yloz4s7tbvMVz9f;VjPJG$oyb?gZtNyl-XRg0qxN)UX$y zQL-@0oTIQ!>u>BZ@%eM~n>fc`OFhS)NKCbh&FYGf`q0tjy>`nB(i{zAgH$f+mKn z7F#SSPGqtRdT3%@!cA6I4^8_zQ++H-7*n0ZC0xKo!qK^Y!M_C3I7h8eeUMjtfs)3q z8o(kYJtXr!j2BdBBvUC82&G=oed9eLiazK~ho+CVSrxk(ZEhQ$TeWm1On!1A?r@V( zWndk7iXEJ~J9{$g*d-M5(bE&jUF+E0(;LaQ$bFR8(Z6-dL|quow<9q%30w(F{3Wt{ R_Jr9?>|v+A!S33N)W3Nc2O$6e literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/coin_swap/trade/SwapTpslCancelallResponse.class b/target/classes/com/huobi/api/response/coin_swap/trade/SwapTpslCancelallResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..d9420ed1ac8761b4f953953027f5dcaa2ee249af GIT binary patch literal 3628 zcmb_eTXPgu5dO~Y+;%g8CFH^iVvwlGCSgUv%jRN8xEM(QNkD_#CYv!ku$f(UXGLFq z=MVS;ze&WeXJ$8>kW^`fRB}$A?mm6_x=&C3`sdf*0GvS0#FuF( zETz$hr4&qDljSQ}uA8`#=6+L_TcU7VC`XoMITlT$y_DmYb!L+k~9LZoS*aR0dJ%h zyj7nTYp%kL=weGeK3A-)~l@%toch2+O3yrm9x3=gkm&q~4J>Lr^6;2Mep%vrU#tHG; z0?XLYRe`@!bjnwqnkNQht6EUIMsOb9S@7+q9=nl||{@P2#vmO$w!5+Qh9+Bp$b#cUsI>n*tN4ZzRyO z4Wg2yP94c$f4e+PK%^$6Q3_3YE7-7UZpXJ;+*g}|gkZS$8cvxJZpz@|@*TGrj165= zP?gQIBNj2WN>GyV(;-bf&>S;%$ZZ|XP$*NziUdNYLS{5#(h)m4bh00ccjr0qDlHj>7D2(`tPt6xasR#ZI;A`YQ^f?e8oe&o7Ubje);OzuEOKjiRPLj_~{4 z$FF}938@vSgp@1XSuy@M@McIKg^d&j@D@35lhaQ<`LUitEj>ZvC(;V*dV0m)WLtvDLG&_42-LE=N`PfWAM(N3oFtcfr935fvQURF>r$u5{wvI|z$6eTNGGP71wNqfYA+B-bT z`Fa#+t1=HTg;PwX2j60vU7z4<^DskRl9eptG${?|a297s=^S@cq)+j^mH7(Jkup)k zL3~Qe!Yq9b!#1tIvB$(`&(Uk*Jbx|q90wvY)lN36H^u5{GGik^*&6(xnznR7QWDvz z#hOoqstjKeiCb(s><12Kve;tk7)=;7bR{!3u1$o6IFuPHu?$vb_#w>Eb#&eqen&wQ zK~{?;mJ}xv*#$imu`b~yE31d1L)$|=899uhPU12y;u6Erxqi;S1kyN9u0Va1Pke!t z#;)qaA}Kut^FE9hWM~9aDFO(kUQm7GoDfD2^rk{nN88Mb)r>Z^4b81wDl<%ebt3F= zlcCDMI`I^HICb}SW!AAzAmrB77115**x%J1(YDY%q}S2Ab;?9t7|pj6F*FHW4NLq5 TvfR5uZzc|~Q(t3u9YpG1l&=_R literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/coin_swap/trade/SwapTpslHisordersResponse.class b/target/classes/com/huobi/api/response/coin_swap/trade/SwapTpslHisordersResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..7c1e5b976ba1ff6ed1615bc9bba41fdaa06ce885 GIT binary patch literal 3628 zcmb_eTXR!Y6#jN{Zb?relwOFS7F)GVTOtZx(u<{BD=i=`Xp!4#a%>KyNk~paUw!8f z_ygpH2c3~JBQuV^;EcaX#BZH*a%pL2bV{e)d+oK>UYBpJy-xr7=hxo=97D~-mq{qB zBr$-M1Wa6$tkP@>+JuuX*LQNrjkCNvcD#Pzm^2fd*QVhVPZK3trvljl`0- zR;I<8t8gQ{*b+}IakJ`yffr;&1@XGFm#`>yTTXt4UN>`nlCk7*{nqTx-fVo}g#?bpWJNT~Jbdp+h{bHqX$*DQ(uFnQi`2PPV z@oH-;h$Plre<^CtUew7h9f2!vcp3+`yqdKkpoX231?_9 z0y_kBt$OZ5+buHr~LSHU@E6VRpBEZ7kqZ8}H$$ zjTxcd#|JjQUB_)K;)24!)<@U+s2tug;*qe_(>5xo65R1YzaAX!5&7{!fqI$+8MSc* zNBIqDy9irHVScx1wLTLHYy;_Hr&@K(1%-*ucNUH3mq$x`;BV4zcKu7EsHu;`{C*Gc z>mNrEjJCy4z-TH#%;26s?fu>nSD zSG3F2*0}d(o*_Uc|OsJ1BjPt~sL3CodH;7NX_exLk z?gVM^7jlNkIYPQS&MPS@r>K^S(#TScy~9<)l9OE1GrvHS3}PK|>Hor%n8cuC(?H`yRrc zNNXENHZ{6(I#s%IMp_pg;~9D$qC2gpjSeL{XHv<|S!q+0tVqdBTTLbH5d-S%@G$4= zVW6$bJishYFquAli#c|EjIYhZN%G>XWFDtTX*i2BI893DxSJ(?g72-wS8$e;i5d># z94QO)^f?CGwEo5(6Q4atzlrnwwbXMQ2+2ez*{t3ytEb6~4FP3q@PBIB(gjILWTzHu zJ`t)id`To~vALihIGo91i>V_tVbIW()Z~;l9TehFYO=^OSgEmxFef(9eOvflIZXs< zEs|JLoKR%v^gzVA1edI|9*7QY5A{swFoHUc%eaV33`ghsIsalv;yk$m^$?%<5-E*c zHGpMOdI08q7%#}s2&Pg55K6tEdixv`Mj!O1LQ_ZE%!<^E4z;%CRxXtpCcio%cDTt< zWndk9iangVdwWtF*e4Kj>*)#Ut_|$(=?!UH=swaL=-)bJ!Y&Nw+p!3m7_J5-{sL+4 RJ%Kk92iU2vvAYf;@h|PA8$kd7 literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/coin_swap/trade/SwapTpslOpenordersResponse.class b/target/classes/com/huobi/api/response/coin_swap/trade/SwapTpslOpenordersResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..4521ec210446dbf50348ea98c558fe61eb713202 GIT binary patch literal 3642 zcmcImTXPd-7=AX{Q<5!|&=w*HEmUpOLli+FJs>Ryizy&2Xc2*Jx;6`G5|WMRwb%Rs ze}LR@p)*ouWX91Oobfk__`JKDLqj^FQ|xrU@BQBMdGqJrzx)c|II0Fdk3+#q3_5Pe z@r4{W4SX5reM^qpaqPn#fowTe<(W6I7Do?OOgM6XWnx|Kf(h5eT>~vf}y1c zc4fIzD_*WRrE+!6sn)JKwMw~EbLQ%9k#7aoLaF3b=Zki&=F|*qC@|03o;~N-B?WrT zv%PvvK{9vO{@TtI?b3Q?$*a1h^(h4rkCfgvO0MkV)io+;QtF;t%;emfM~T>yyI!Kk zs-xgmAlM{N=kn!^Orc(0bu)Iw%~V5AGx@Sxx?N)=8Lw)uIhpN)8g6(#HA`d0Y9q$= zk%6YqZ-LASK z63VGw!DW``ckVyE)9A#qRC9|1Vbu&0C4X(?W^E{YryYD7YIbJcY zJNN5$k-l#U_wwppC+|&--cX>Fx6WQjV$fx;Amf{m{upkIspVsvPs1n5l$rrSz?hE= zMl>FvgGUehGk(#t- z-jxAAy#0EZlwntp-}!#q-bT2BEG(g9;UM0$a0rJj3}Q&ZnH^iUuz+a`BN(+XCC~&W zEoAVng^Tz^!M@IY*8IL4+1}@oplxR?lu==$j1PJ>|8bvPG(IS8GsEVh$*UOU=(lVH zW1!&Tjst6cG8C|Cc5<4t9!e(`nT{mM!2n+gZ6IlV~C&hef%vDMMTO) zC?XZ}Zx)Te4UYKmQCNs!7;h2tHZgK?< zxppr#Q5kK^@^)SZMLtFDpaMEed$eU_kVb-(WQpX=1^z21dB-U9a4h`;H1+Y=@6f-8 z7JWSS8}!BT^d=1dNx-}`&LgW%{DDMDeU3ekU`?ddO~e`;@vKIccveqo!lOS&@)3Gc zT1szYN@NW(C9-D95GFHZGE!!PNqyWk=9__|&B{E)3}zWjKfb|fc3XsP?cyWiqO4>d zX9%gdfb*Cmq+yY?c|tmh9Eh`o3{-Id=LnhP0ySHP`4@H>xbOl420rG$sl34c0F1SR zjfR+EVpUmZK|*ng9!ZaBl1T}qeMH)er!@o7=)MFJw%BREAGimJVm~O8RH0MRwce>| zb;d8m!QQC?%V747J%TZ@3G0sF<5^V*DK(^+Qk;O4$Z9@`b@7GFl;)ETc2Bh=i3URt zqgV{37CV#!Q5x!;4_;TBz$g?0QHdbr+pC3kP4S5n9;xhH_*n@A@2 z25>^)KEj*m@7yv$@q+0(9;Qa&2XdKFu}&z_mdd*?{S*WKhDnb)-v$KN&S zfWO%Yec`U54u5$|AN6sLhiIWS*@8JrjI>Kn)Za+5LRu4kjgDL=F@n#K;+^!9pkqG= L=nYo(0Al|DRox)G literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/coin_swap/trade/SwapTpslOrderResponse.class b/target/classes/com/huobi/api/response/coin_swap/trade/SwapTpslOrderResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..1c351a07aa511ade4c150b9968e59178853519bb GIT binary patch literal 4762 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 Sxp#)%OzdZ;zQOJ~fYiS{o(rD< literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/coin_swap/trade/SwapTrackCancelallResponse.class b/target/classes/com/huobi/api/response/coin_swap/trade/SwapTrackCancelallResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..26694ae10fe89779c87041bf087f849d40a40671 GIT binary patch literal 3642 zcmb_eTXPgu5dO~Y+;%ewOUQ*4lmJnaO~Q(Tm(4{;xEM$PNkD@LOg3Y7U^5$bXGNcV z<`4J-ze&WeXJ$8>kW^_UR5+(kcb~p|-KS^&`sdf*0GvS8#FuF( zETqwkg%nKOkmV~`ZkqTy&Ha`vw?*NOP>w8%ax9uyN}~e{7F^lCv9K(A$%1F$u8{Xk zlobxoJ#bd%t4{IWl;aoOvQsW!b!)2?zvfQXz4DSpuSom$PUnOIS<&NzWH z={mlGQ45@)UQ_6tx$AuE}Yb8&}uvBq2Us7{r6Y2XdwxKT|CrDa;g&2}UpcN%w^%w5ib8PwJ@ z=-vWT$x^3|q_D459%dj?lhP=MhP)YV*f&mmtI6Hv93%$Ay_@7S}A8GLHv zJsh_&A=LZ$z~*=Cq>WizQs~|M^qSw7BiqM35Y>C!Mg^-xc(^a9g@^luf4EQZ9%oes zZCt}~eoxkYME#?1VaJIzKN$*a2I*yIb=CEk6h>N~TRf;=A2I8re}jIb_g@=H4SgKu z*Swd%1(HZexkx3XV&TrB@wdT|kUk0#j|7ubiMuni$qyVlkim|x%Gc?_d^0jJj7iH9Y>y zS9F}tI0~Zpl|YkX9uJ3dKS9?X5B&l2N9f7NL%+kE9nP)63XddGmxj3%w2?p2mepQh z?<3eFS#1sJhDKXKr%GGF$m*hFyg=t8v}g6K(V}D*Oe)z0D{G396)TxptD&SlW#T9mU@Z(5t(Ww8`V3->S;1%BS6_2{DDndx*#cu zY}aCqCqh+*FNwr0HW~H<$1_=MF?Eb43>vzY86DHc!$KU)jFwmiD>L*6=Exe_?+CxG zpot)>#S%-36N&7C9*S6(@RF6)L(##lp`M5w#!x456_;^^;pkjH=l=xKxJa%*eUwjp zj+Dl(>cu=MJp}Usj8|l61XC#j2&G<8ef^veMmO|^LPJN}$cojB7PWQF&0H!oOn!DE z>~M>r%D_7D937mxdpa{~*eein>+Fo^wl(bQ?22ex=x)+$=-E7FqArZ)+ld&O1g?iA V{sLLe?E2Mz5phW~u(_?cWO-gbi`s_1* zz#kwlJm`#+8JThP1!w$CB7W^OIdE2_$tZ$wk&r<;jU1QEK71Mm{?9?4;C%BvVU!1MfRcv&%!++@0%zo z9GQRUtSwZX!u<!xZLLzSxzly8#Iu4uTQ0lRnUYhhxiu533f39NccxvZ ztYFl9$FJ8Ey7Kp&Z=7t&DX(Pb{i;`98CQt;l%(1u`AWdomT90Vsrz0joA+uyZzSfu zl`<_>U4`4>#in>7U#P5Ri}lKqmvz>>Y&D8BTc~*DJ2hsK^{dXZo83OC!A9icQ*>r7 zHF8`T8r}ut+xv}*NuSzGWtq9{&3k3{a(#8ltu8oAC31`juk86#3MYr!3Ko^JjT4k` zQ)R}7Z%79!1*dewsd{2Cva0z-k3E>#d3KDwccX{z)*4kEMIl1&Z_GZL<-;k z|15U7zfzOLitEou2<>K%x4@`Ql?4It25|&blR|+^o45%_7UXW@PLsLIIWU7-D}$ab zYARXk)R7eSx66YJL~2qR=FpHgqYZH5M7NsUUCu#bFx&@qr^FC9q;O^Fo?Gz8hi@vV z%El2AiI`i(FUl0^5FigWri~qNn@2Mc%CNCQfsl!S8BUsH$PN#kL`32K90#8~6wcCM z6j}wRd{&~Qk)l&8hVL{!G(5{7u3np+JIg3Z8yq|JlFzy}-Ny&TpFS9xxBN=@Y88_6 zm3p<{p7Z2^AKrdE91~nB6m~w}w)YW@AR9v{+c<8AKe}s=CBRTF;2P3Gc)UiGO&cI4i^ZG07eBxr%5Te!Z;?P-sfq$8Rcu;-Y&`zd#%nIY~n!6Nvori zWO5XQ@hd4!f_Xd|$@~aidouC|%pah~pN#wtb8a-V4l6j4NL(J}lGDciL`PbCfqjo* zkEOMBBpVtXIh`sUIU}u$j`0FrkI|Xd(?*+;oinLq=d83TN>-#~rmcpO_JjeoBRtIc zRv2irGmmfzr6#qMb`Wy69J8vKDxTe?(I64?%7 zjVD4?hA)Xk5StG0!0}8LA*PPegh4~sQ{xlbWYCC1sqrG)V5LSL!yH>j=Uw4<?Nb@z6q*0E1Y$gQg@q&wEJzpFc>ZJ~QeucLSKlnGH7&bJd$X=1n$wD@zR SxpxKLOdKFm-ypgUBJnTATOZ2+ literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/coin_swap/trade/SwapTrackOpenordersResponse.class b/target/classes/com/huobi/api/response/coin_swap/trade/SwapTrackOpenordersResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..58aecd6bd75aff1d77931904ddbe5578185105d1 GIT binary patch literal 3656 zcmb_eTXR!Y6#jN{Zb?odlwOFS7FxAUTOtZx(u+`TR$4$>&>{k-$+0<*CM7u$efO0= z;17@&9&kp=jLbOtf;0Xm5x;fL$)%-qbSP8yUVE*z*Y(@$p{`PRvmoytmX!LNChl?jEIPf5B%GFJ`wT9F1?l7{bO>=%~^GQ0!iVA z|DVQA_gJcuSaJP@2&O&k^Aq zsH&u?Q%7>x+bIuH5UELNm_$?F3O9hxa&)W3-RUGG2*bV8aLSBvLk<^~Z@C43V&tlV zs&1Slk%-Av{gMo$lz@4tIdtrR+d7(oP-c!53WQ7q%y8f&Lw0!RA|?vA=Q#l7v2dma zBhe~2mD3U>jg*{vDSWH(;gMMeaq-gZ{Aor>+TiqQlzkSqYiEIp`V&ec_xA6wvv@w8#3Nx?n+r}I|vGFdB z*q9dTJ-l!8n|92`JkBfhZ+?KSPtD*qQ4fbrpR!TK8p}L3;Mar09rj>sK#D%a){NM= zj3fNEw4Hu#vzJ-XiC1at5d;|EwoaOOFwINLt|?t_F8dTM-5$ zv@6;bYHQqkvX2qZjy{5x9eV^lJN^j9&*aBDZl;hWCmZTx6k|N`W)PiN?g`=(?>&Mn z-W?|`{zA?mIfqGi#d#%78YMpQ?s zkgkFXDSQkuC2?&qssC4#0vHt(ohGH=3KN)&dOt_gttemU_RFFSvDfab!6pv2owPeT zMJ9(q7{8LzB$&s&(d#%|&iNyIaE_rSIPoy&1Q|!49 zdpx79BiYnQ<#np0@z`F=6yVZz?o(w2iDt&FD~TYi{OJnPKv~6V?vb z8LAAdqffAlQ+IcFdL4VDgxtEjLprsNz1=+_Z42E?dL4b6r%Z^#aK0UlN)yACpv7Mx T!@WE3W?~9iEB%t9w*^JqN&2E^T6@Bs- z@CW<>^1_2wNvM)4OJA_c-z4JKGqab3rAjNLk~uxyeY(H%b)TO6_0O-r0XPib#8+u3 zETu7kr4&qDmB%%CTsLte&Gn`{Zi&NfksNs}%WKiZN*X(`WWkm7YYVHgmMnM{?udBT zL|I|~!hL6b(RYe>FZe62f61+_S1UDlrtX#bs$kDnDz1OB?9^&*&BU65b;=2x8P};O z7`4C&>NSO)xjW7`PQL6^R`Uyi?^RYO6%qk0nKsK@HPmY>4A8XH1FxK)^J)Qiq!zr@ z3M2Zi!qsSF(>yg-tghut_3E;hchN6Pe46 z^W7R5-Dcp<`Cc@_73eQnwG7oFuYHO7=z@q(iYM@HI6is@_9gtTp8 zV{-J0uwE@XwG*rB%hYKBG`C{|<;F%>GKX_AiA(MvZwp?G(mgH0|5XJt6* ztfEsnEhrhJ3!hyx1K+sbHT4##Y~k3%+& ziu3_KwE0~+Vq+fX6$Z9mvF119&CXayqS{W|sA8RLjt>U4@Z}z<9v>8Lr&)nf8<%m2 z--lNGs8{p81b3bphEiJvGdyvL`(74%lD`zYgz zcZJ>>*WTO{By(erq29_ zw{FgK+{^}LimjQAt($js*c?^iBj)}XpTt25T!jZCWK?);$KM@B>5n{`JQ^{N!jP^) zh7>-9gc4kvLhAoDq%@2QNoPnQTwxMZaqZ_Ax{30oYQG9))O)SU8Z6>aD@m)O(^PT< zMEI3Zlj1oZjOBiWu00z21LhCVlaI!JhdDo<+kh3mQb?U2=cAxa{E4ot_6)lo!k)-# z8%Q@ix(Yg7x(Y^C7a!vpdLE)Xt7nZiC%a(M$u3w~Q=F{W$;?^}C+!gdwRd=Q=IasA zW@R4WI8N{|efSnL?D_<6n}?IsC0WTLPEpcu7H4pplFmVQobn0Yw=!?RSxP2+?8Rr4 zEX*?J7;Mw}8#_#V{v7=#&hgh$&#@;GQ|)4-ddFEkO{Qx^C|iU7EHjoaOv*uC)nbh+ zLRZ3-mRJTWGxiYX#0I)=i@vL%i6N`S z7E6i~ne2idnpl@`la7jThqbUwe}Ujk{IqgJRM;uT+@q_L|8 zut-S{$-EEa1r-{}REh*bsTXu_y(dJ`2fg9Y@Xw8@OJ~C5Cnw?#Hwje+ z*5Rkv!Ku5mC$oWFLLrx)o=EQ6!0w*jNVY}pqr8Fsty3oI!f3u7j;TrDN?77Ak>%PG QW;3yeo%#m5YcEp&0?HBxkpKVy literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/coin_swap/trade/SwapTriggerCancelResponse.class b/target/classes/com/huobi/api/response/coin_swap/trade/SwapTriggerCancelResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..9603bba6edac72d26eb4b510c60e73106c6be88d GIT binary patch literal 3628 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 O<1h#46;}2L68`{&R4B6m literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/coin_swap/trade/SwapTriggerHisordersResponse.class b/target/classes/com/huobi/api/response/coin_swap/trade/SwapTriggerHisordersResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..205664aceff27cc1acea346e9ea18a73ad13ef8b GIT binary patch literal 3670 zcmcImTXPd-7=AX{Q_?Mz&=w+yt*zRohbV$VdO#@!swp5XXc2*Jx+V*0QZ^gWAK)c_ zz#kwtT;Pn98JThP250HGl>JZC6F!0syqt@){^MPiU~*VuT2!?E}3vm+!pYT@U0jqD;Qe3 zXKyTfZn5Zi=iOS>TXVeHWv8}Lt<;>;b+^p70&AgCalE;*U8^}Y1M3RRGq!J^cI=7* zz2@6~y`~_QzioeGXUle_m|gNcw^E!^5c5gtX`|$;0bX6Bf+nTzyX9=&t@)HlEV;!B zHF}PMTcKc+Je@C8*R!R1b=A$<8*bK%Jk1uWZslf;v1EPEUURZLg*DvpeQK8GjMYYz zcSc5cMg2~;qms%w{Q&t7+Ywl?FUn8dZeT_gxg1PoHcz#8;s2vb7u-LBK?S z497JYqQgfwyR>j;k^4iskb5cEC}zQ~%!`*)QnG8Mu+8HmqYHH6(&dH4d3s4$=j_(Y zK2zQ_A0HNb+Hk1e^sC_(A@8(Xas62Z$J>h*?U=U82W9M789~{;|NnBYq<+bzYTYY1 zXI&Ze!JQVxq>R0S;%@A_o$N#l$-)vU77pWe3rFyVg#ipInA-*G78WpVVFaTVrUaV6 zq=hWrweSf(RdAqlzcs%)!#nvs61MP+g(^1KG~)w)EqL5zM~x3i3(c_6X!J5hxd>WT z!jVw08+)?(DN(=YlqF=;Kv|8_XqepA&!_7 zjZjSL7Thcye>c1tz(cT*z%bq-=51mI$R~g1Qz$D>5PL*e!8<&4-r$b|MM}j}xU;+k zt7U#hTv%gmti8w(V}%SD!#H1z81j=P^k+yt zKzCY8>upS3IfG1HIWuhtlNm7?X|utkKHN6u>!G8~%G}2cW*JN$zQrkaTa0b(;v?eX ztYiTn6H;*wXK|X4hDFlm2{QSX+=WE3ACyU|(5dK3 z&(yR!6BOcb&s2$JFnh)xz?j&CbxZKcoGOI08c|FsPDtv?X#t6K353kF7LX2apK3`G z4MrZuxia%iAGazl;R2x;l63DPy^gcVjuI=Wp5+GmjHebP^B(jUM5s)rqA-C_low=g zy<>vtgVtbZ@Tgl+5u4t|*5d5Ml9_ID!-u)U4Z11|>)2CtbG_|J?cGF=q>xu?UkE2R zkxK0k;VyxD32&mWbIXLq3#aQ?lp2Mf$z?{xI-x>aD(~LR6Z8igCNusRYG&dwUYcSn z*fp7uzu5@A(XOG6V0lX)^>U5}X`waQf*B%4+NC=lY$RDBtqH$EN3N0>!{tvzx)c|7-}XyPeNfS0Rz|N z_(F~wCcaGazA4A8B=+F8K#m;C@+_DrCee!}3$EN>Sy+*~WWlp=N5H$nw`8KMFuZWz zSzD}mD=Tj8(wbYT){1Vee#Nb?RV#J(bi*t2tzgepDsJse*{Rpvx`|Z<>#XBDr(LI_ zVAOrbZ`2i1`8&?nPPXh+R@#1S@W{B$kS}0>Q!#l8BEr%IYl?SWn9Be=ci_A&s=VX zxjHhsJ^Ht_9%Yr5wKLTsgWQ?-D(=O`>atr~be7A+BvxF1AH z$Z%+rAv%2YvQZ0n=eb6t5xJg%#bOnl$~p0pN=i<>6n1)iWOR;BT)r|le~w-fHaNkJ zvd^5i%*Thto<1C^xBP0jOUOIzRXl%I;dp1&qD|9L`k;of)@Mb5jV^QQtnr&#RG8SL@m}8Q?GM8S{^neFba>eFO@18Y$A1rhHN+8< zx)F*=>4KZpC@B_C;m-0F zte*K9abb;hu=XQEj2$vy4C8z;ZcOs*7S_6j2R0REU(iIiu-+{^xQTEW?mM)76z@h# za=ay6BQy3G@t?Zvg`w~dhVyA+B;5H@>IK=` z@0cJ4pf?$sJlaN7#AbA`wK==7WTu;3@nP<8ldj6bI`$O3TyHy4JJ-=CDdd&f6~f7N zq*A*>xJTfA!s{65-ZEkF!s$8|rAF~fxyYzkCsb%lEN|(fe$MehT4+zUU=9-_?a~_$Hj=E6_Jm)hBiBfb;WMOpr-CFH N*vkQWjg{Sp#6RucF`WPa literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/coin_swap/trade/SwapTriggerOrderResponse.class b/target/classes/com/huobi/api/response/coin_swap/trade/SwapTriggerOrderResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..ac3e85d2ab83ca7454789bb91e61ccc8e8209a00 GIT binary patch literal 3614 zcmb_eTXPd-7=AX{Q_?Mz&;yZEk*aNah$1MY2jom81*8QnB4wMd%|e=l%|`UnAHW~* z2gnT%s6_3GyWzKpLch2XlQ42N~iOE@Asb1o4@|~^)~>=;TiZM2?dJ@=(sJ% zmvY=O@KuucT{)JL7{EP&Y&n+YSun7YL^l>qIC6h&VpZ;<3D?AZ0Urq8qJffv!}E{q z>VoI4t~%Z|Z^iL$IJIh}TyxIW-4dS)tl4te@y?a(TFt2$SW{r0w|)DpW0w`^HQ)B@ zH3g~seft|bTe8cm*?He{%d3+LVm>K7ZIpZ^z^f}%(4^FTx0KDhHJ=iRd3Uu;jh>_6 zPAJ$UPvr}hwQR9oS$4B_)y;a5r`bZqEics=N7nc36(_r0NJ9<3CueBNSZ+jE7#`WN z>g{YsX{0^%TxEq(?asSp=W2az+3^7u&N7XV&l+3k}n>C^A-G)pP`GyOXsI~IbH~e~fMsBf{<{ZCR zS-Ea|_L}269%IocCNb@87YRZV0fW>qs0O|1{-n_RH)s62Y9s4Qk-8@P8;w>>>(0Zv zU83ikg1xqU-zoT$BexYOmCf@Okr;BtFUrVvNoNc-M$-zg&8HC%Wiri>AYdXuhGUrw z(cz<;omqG=#~mS^$K4Zb4YOdEFNl{^QnYKuu(jjEBeQhk`i3my;IIb(y;D${Hz8oYrK4tvW&*!l`C z?=Yz5r$GU`SccH9R-N*Sg7Gc7>h&GnTJxLu8$;XHzF|W*_;G}v?E!x8l7Z?LO2Zf1KK`@4f{DulEeQA{aLNb1UI0f}`9gv_)SkPd8}YDp3eMjpnw zF7r$uH!7~9R49(6M+V$<8$TAZC&GSf|N_b_+3OIKxK9e<8)uD4yO-5cnU6!J>#3E|`hQmMTm z+$C@?;SKb4Zke!n;dC93Qls$GxWK4bCzNSR<=vZkhW=o~WX9H^X2#d?+7w&CuE~V_ z%|_^rb`5m|%Uk-WmvelC7Fv@nn4`os>pWHg%e`PVW#PagrKJ>BVVENH4Syx20(dEthuVY-6X69c%|) zct$)S@q~oLE0s_mpdzUR5`vc^@tY{+n{(D1J9VT=NYU9jGvCb4<=b)o{`c440USj& z2^({AT$AIv95)=ipW^caIc}z~8@ELIP>zq}_*itGIJlicFYdVTo?71PXn#Oa5nmuHsi0bF;PT;-rGpSS=QVMnj>$%{Wu5RRX^%_GKFV zMLMV3>~qa}S-V>ce$yvvF=(FAuSk!Kw&B8;SjM(}wpOo_rR&4~iVy#@g-T2&J$u;YKwQ)D7=dL#v znsd}#3l&#GEDK06wYgS}10C6IR4JfBtI(Ytpr}--@vNz~(W2dCXYn$>8f90^bY9d`K6%PoE*KS zplY3C3rz}ktyv1{3Q1}8upviE>%xnt4G}kbjV-zxb3~2M9NkS=Lya)3x%AF8{o=g> z2PN|+*EKucqF+5Hr6{;1zfm%5iI0q4WTscHUM!qrDU=hWz-pyQWtgQq9A)GVM{l=> z&CA?o&9sf4r^?lG^R&W+_NHofwhgc~iZ)f)_co1o(!-jot=5ad`LYms-&PDfEMJ_5 z42C@H!Cnvhu;0T03@Oa~e|~#7i#I$R#37Fhh0-e+@i2<4hcVHe!+C{W8y~$XXJ)lr zSqSPLE@Mey|5mAw2rs5Q+(SiA}>w`jg49*4LtcXQKPh)Mq`#bgBf$tmb32f=4A zl=P723%up{RD9amU!Z={uornIv@(rh%ANt>CA`d=lD6~Q>>S(d+~3ui-5Mj~M5b3JIVWMrtOCK*e zyh_+JA!E-QQU(--+@nLjh9liV#-BH&%sL9WPltTHd*Rmeh7{UFArI(~{QOLo>I*)5 z*pr82*&kqA561q4{T=N1gRwtg7sj*eNa!mC=h8TjyfyI`dNS5y?6?naB4e$?Z6T6* zn~-Eak+B7nc#QOY^k(c#q79VFI|QZjZpIOi8-kpS+Xm{%Ckg7wr!q+ar9x0LlWKvi z2h2MD%-mN@HPPH3;uwyz`~iHA6Z`;TWXIPyNnM;w{)${W&TsB*u8c`aHVO!Eic$g< zoW~R;2X##2G$j|`kic(JO5$67ozs+3c#C-)!*<902iqLXJi(xYGyHSa6YMr(atpD= z#$z0cCEGEi&PgUL1h-`xQs-9uwxc?2Rws3a{63+_%#BJF`K`WW2#0}I`X*0VQ+k+t z`zA{qrQ0`lAI`)&ygQ;#<}EQ~tkB}hfQ>1Yx3!70)lP24Zkc-W32jP5CQh7Qd%F+m zg2^RJK8|G$-~uzXIfjdrVr=VOyu*TIzy-WZ$>Io(V3rd9*TgPrWk}NeAK^Zw!eaB4 zV#A@-Q#x+kW1<*<-2${QR;Mb2CE8#c$j#ai>~w-R@LddaVU7H`F*Csu>y*_!{Tq63 zKEk&2_I32hXx6bKoi=h()0OfTIZeE{e0h+Bp9rjr9=kp5RM=p@q zG4>D`%09v_y+X6&Ylvkh))3ETtTjBdSscAmj~cItazo)tWhDJmC5#=Ce;L?(k!0^! Wnvgpzy>Mki%1Sdk=skjBxcVR4pg1Z3 literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/usdt/account/FixPositionMarginChangeRecordResponse.class b/target/classes/com/huobi/api/response/usdt/account/FixPositionMarginChangeRecordResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..1563f63201d14fea3182306d49fcdd9fcffb0990 GIT binary patch literal 4290 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 F?mOs_jUYcgaR0jSPGTP1yrkS`IEd zxZ>a)2Umshu8sE;9-1jveXlWh#j79j{kbdUpjbNTH|w=((?8fMR~Gz+f;(NU`i(;s zui5mQHr`iop7#Rppzl=`jACuUSJ*sr!Mp6`D_(UmKV1#{MZYnnkX&jmDh$MAb3vnA zU8E=xG!-&2$xKc2jRm^yNLoR;lAkFz16ri!%8OMmXf=4;8=+xGyl19ZTgsPOwfS=1 ztC#bQ2t&TrTnO@Bu~=(W13Fq0>_{8Y)IJ_%&$qFkA01n_>pL79<(Nkrhjbn{it_Q+ z(!Ad|<;_U0x1mbqOF`2_8BMoIx%)0Exxp)y5qfi-LEbv zOvbNd`^v_qSQlE(n=bwK4Ovs4wQ~4}24El|#UquF`stk|)H|!lzhxfN^eFm~!WeSo zjFU4=efe>2L!G&W#P_5XCb(MML0yJ~$C1?9A5z;ScU$fjlDYAlFme+&Vdf@p!pdch zo3MYNG#Rr`BTvrG&1ZW}ZPIeI6-pvDu!FR#qY%z0IZu(Z$)ItD zW*Hh}D9A+6c2bp1##Mmjxyu1&?nfAcDiMpSPe&E{HlwJN^kolYbG31QPh<9T4`XY! z@y4FUya$YLb=dZ5<4h0Zu&jG|_CD;7oD{fAN-bR?DM=js2JK}i)aaDNib^6WHkD4X z!T~%-HHoXsrTKqdN+&8^HM*3FDICP1UM{Ww>r$Ge<5C(x;dva6`g4Y^JHY?bi)#T7 z@5f5FS-RUghpcqi5gx_~7RImM=e~idxiOym7N&81{8u<%!%SWu{{_zML~a=={YfHy ze1c2CnEV|Zvc_-NbPeug)>y`dwuW0Usp1x_tSLIyZy30SzO0$GVoH4ln@W8JCu@t6 z6DiqQC#KY2NKvW3kj|z=DIF=Lvgx*xah*}eFKL*VdWfde5jQZ67m0Wf-{2T8Zi1Qr z95du4IX*taEGdKexQOGVOn&=#iIjy3j^G3-{`o{W+}}w?im;iX_wo;P)PR) ue@jUB3%!-}GP0`&Y#VGE~lAKUtVr2YkT^>;l0 literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/usdt/account/LinearSwapOverviewAccountInfoResponse.class b/target/classes/com/huobi/api/response/usdt/account/LinearSwapOverviewAccountInfoResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..5ff74c9d02c5e9458fdbbf8ed34dca52b160764b GIT binary patch literal 4290 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 literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/usdt/account/SwapAccountPositionInfoResponse.class b/target/classes/com/huobi/api/response/usdt/account/SwapAccountPositionInfoResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..3dc395d15d08ce71874ad2d0f3c4d352ad20eef4 GIT binary patch literal 3350 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 KYpm=+#Qp)#6dzy! literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/usdt/account/SwapAvailableLevelRateResponse.class b/target/classes/com/huobi/api/response/usdt/account/SwapAvailableLevelRateResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..55aa66852fdd49b770dbc03571084c001555b747 GIT binary patch literal 3341 zcmcImU2_vv7=BK&o86>aD5Wh#Kr2*e)0QX}#k5o?A6jXlwt#{NY}2(_2uV#gp!eSL z2mAqY!-dXBnb8?XZ*a!nB;xb#*=*8K8604yJ?A~|_xI+ne}4H5zy!)^7+8|yyc`!S zT+HzPOpebp=*K02F3a(SJg->zGJ`H$wQ)`E>o#1umu(bntO)1{-&G4=Sy)xDPr89S zLS_ zzL?So{BnNIuLqP!FZrt#YOHw**R)_vo|-FGZ{aw4A*Zh3VtFKinbuZtjuLOCw zSgbZGL4N6uyLSAx>zCc-vNz}5_R5QH;4MbHL(NDgr^VW;7c4~q^bL=+IU0vxoT#qQ zm#uSt#XH-$wd~c-i((15T6D`7-I_1&2x$Z*pCO-o37*nDlkT0D+-`6!%ArM~1k*;2 zGeudqDH9`KLHg>g^z{!voxPEZtns`Tl&UKWZq2>r1zwHem=u$+wzrFfQHg*>s*bBk zk0Y2A`oPA#f4kPq{c@x(W`EfMi}jTEb;B*w`3>=&TfX5HgUON03aYws79tX(t_CHq zrqCrVGSnO!C&b22DZL zmvjRsheu}V#KPk2{3&`#IK}yClmliwHlG|4d*+Z2I z2XA7pgZBg)#)yL)Mjf2OX@wn~n{=k(msh-+gR>|p?0>e~!@9MOI`DCW#T*+9>fz%i zD?K(Sr9H|9pv8IY<$Sh`=~h)Z^Wq`KYgU1cCv)Sjt$CFdh4D=q;pxR2Ma(_6fxkIt zZ5^k3u*uJ)8vJkpNhG9lgc4G`@Mis>@J0v^@*Ah51U&Zk=oIeWRG8JKXPv^yPT?(^2&4hPE+XaXzmA?#{JPhV0;fVd4KeG z81rMfb(rCkKI8K|Ra4h?8Y_Tx&7y}kg@XuC{u~UQTcCgtH zN0?YcR+UaDb@2xsb(xY$3FN<8%!~su>Ar|XEmjEofjf>U_Jfk{O;OQ>p2;cWXjq8d zJ(DGt!R{Ho2WxyCnd^eL3x*J~MntitIGU6$m?4RE35D#e8IpEyp6Y3BF!C^oMW*p% zx?^GivxE}J;0!*Y*V3|w2urG`v4hPksg`8kLFx$+29v2269}cAkiGRz2%;ZmlcC9D zY(zzDsW!G2XD61-bdxJv=MGotsw}LDU(t2xA)Masb!?Fo^6K5HVfI~5?=}sm1@0xh zj_sXWM(+nbT@z7i6hAiS!Xy9{+A?UXFZYoDvSD2J=>KfqH{oC$YLPV>i&&=>6* y>Im1d^iiLDP-&qx*@77)M%tx28Ezz5A*~5tpd+7>m|)#@^3E^?12nY*>3;zkv${$E literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/usdt/account/SwapBalanceValuationResponse.class b/target/classes/com/huobi/api/response/usdt/account/SwapBalanceValuationResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..bf3824e5f087e8147e06754071f30273a2d30df6 GIT binary patch literal 3643 zcmb_eTXPd-7=AX{Q_?Mz&=w+yt*zRohbV$V+5(o7)fA9Iwa96ktj$8Y3CTwE)_eYd zKR|A{&>1N+GUMnC&iI=|eBRy7p`mtkN~iOE@Asb1n?L{lbzaHy@IoBmm9Y4R=mqjy;||=&V0iy7oC~{Yr*rJ+Uc@guRC=E>k7;>wr|fnwx>X^ z`?lYxD@f(<*k9XO>RQV#`8C&Dn^6$+N$KmL?((v7KHt*JbN+g!tHIEu= zj)EJZV2eDPFI3jErAB4d&DvErTZ=r+HtIz`YZnTYhUaIui)pm!_{<5~GFF=*md3_+ zu6sMfQ8H;%JzXg>w%vKxb1pR2SDo4wd$mkVV$JcFqGa~dpDogv%2x_@dD*VHA`;1| ze#vE)=XV?cozv*U6)EN>`%%#h5+#2f_H8?c0^FK@BY8st1n)1snVzwoO7-W z_waVhVOmCAL2<|1Z95~;2C}dO&%!~xZs8E#urP#S1*dju+QI^6EsSB@!i+#un6{9` zyB0pdrwaCUZ?o3dWpq2I$HLB?vrs{my)rrE*MrABHqzvfbj}?6i$*VFoWtL?5>A4G zg`Gy$`eZ0zSIbb^)vDta6-;f>WiPMo_U7Nj-yGtOb`Bf7$&X=v)A#YmKpZhC7onI` zEVx-T{y2CufJa~_H>Stp*to#ic9E%P(t z!W!#f-GvM>R>*(}O!CFJG0n4ESnU?xy`?Z)f+o6!wQk|QEri2x-=porct28-<1OLp znTf}U|J3DwGSD&@azy@18YG!j$BQzDD+?=^8+;X(Zui2zlRoo zH1Qks#mUSDjNnPYyfDclr%wHWp0xT5dmh4?N~;@4G&zzvjV#HWp4Nm%e}>dU^rp46 z-oez9Gsx7FGt-7JnGutbHk(Z9qb*~;9y;2p%md8f1cMpCH#o^|i?OX;oFXpHN*3@D zArGdDn0*ruVN7knx-Ix*P8C90jVPuRCnWXcw1C9A1VUz73rGjIPPHV71|tvS z+?RQ#k1G|IaDh+^NxFBDUdP#Fhl!O`pWp`ijHebP^FH(!M5s)rqA-C_low=gzhiTSl9_IDy@$EOO}Z)z>&R2|a=qxu?PY5SBkV@?h z;U0ne32$Jad&`8y3#aQylp2K}$SaJBb%IA*D)0Wx6AT6$CNudMYG&#&UYcSn*fp7u zztsr+(XOG6V0lX)^>dDgX`wyYf*B!3+NC!hY$RDB?Fqk1N0v#9;d7*Ur-CHt*v|oa Jjg>us#6OBR9(w=) literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/usdt/account/SwapCrossAccountInfoResponse.class b/target/classes/com/huobi/api/response/usdt/account/SwapCrossAccountInfoResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..c54c6184ec16aea707a190704e46acb5db72b485 GIT binary patch literal 3643 zcmb_eTXPd-7=AX{Q_?Mj&=w+yt*zRohbV$VdH`AuR#QL1N+GUMnC&iI=|eBRy7p`mtkN~iOE@Asb1n?L{l|j$W*oaOA#YVomO%iIR!C0^Sq86$51j!^;os z>O#$}*H7j1ZlmHYR_?f$oO;!*)SdZ8sa$Ys3arIS#i=cn?Rwp*8(3Fhp0+)E-mxnR z^txwzjk*Lh|6|^V~uT;+DN_CGCvE|ZQ zg&J#)f*XNgi#(IdyX%=^!(A<9>}n}f3q8#=>IE-j2O(s(i)p0k`1BlY8LQ0@i=$&Z z*S($LFqt%}F1Q88wmVm$Fw&r-tVKV#Z&lc%S=G?qpzG~M>A`;4} zUa`b1&+j+@I;YWx%Tmlu_QRqXBuf4|$gR>)_EuA-g?!!hiq+d0>K}bIL1S0hQcI3k zbPE^ln!WCLPL0866qBI#c8d5hiGV?B5LJ`j@_$W;tAP5-qk->b% z19b4{Wpn25E!kDS@3@Hk6=LS?${F#JN{V*97<6}ZbZn7MT)ecnbcS9M);X+=vd4V4 z%tuGWo;DJwH$6948|0lSRZ8BRf}@=k3zteq+5H-J?FheS-~E5N*I&H&vfHTTowFqw z?xF3L!<3A=g2Ils+jd664P;>%6$=OPriDXz%fcXr6r9|tX$y;(u`r4;3)2EkV#-1W z?_2m3pDEbaz0F!*myzw99t}Eo)`E*Fdu3wKtNV}pY@~@n>6}^i7mZ%R7>B=YC71*S zi#v_1^~q4cu9l&+t5v5`P%ybgm%X~S+nawAe{+aC+BsP^3;gg*(Gruv+?O zM1?id!J0st7%O1FI41aF+?e9oEv$A6@7YqAEkP6A!dka*atq-g+z)8`Fg^^GWO+-t zdV2f`qCa){-{Wf;2slFjB@L2Jg}<^Gw!%k(kE8f#E0yYhRVkHesXXMX{20erJP9?| z>7^zrqa9iPH!p)CA18NE0iC5CZW|e-ksu{mA~|${|H?7mF$z5#PyYZ-eLVg<^zWfX zACLbAeQ6@S0mFY1Fwal$$f}cnpeLn1$DT*9CR6GLVoi>CRwGM1tEV*K(Vrvv2)!vS zrFSs(WDPR)WX+TzOlHVrq|7Fh`gqHjuLq8{D)SJtm}4;g_y#A~Z4tJ02`7n*vXXh6 zBBbIR&SIXBh9%M#2N!I<2DbzAW9tSW?*8d6LtPC)9(YCef|@rBHk=93O?ooY!E4Tc^@ zxi51}A6F_a;yj@U;&krp5q4koTug|^8xgiM5s)rqA-C_l$T_0zaxU^ zht_0h@~E3pA)DU8*5>TSl9_IDy$89&O}Z)z>&P?oa=qaD(}AZQw;bUCOz>4YI^bsUYTOc-!L1eXrVpXf*B@8+NC$@ZzNeE?Fqj^N3N0>!52vJPWnmEv7ZC< K1}l32v3~$h&L0*4 literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/usdt/account/SwapCrossAccountPositionInfoResponse.class b/target/classes/com/huobi/api/response/usdt/account/SwapCrossAccountPositionInfoResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..54c6d3d0b764dd05c2306d0ba4b7bb750923a00d GIT binary patch literal 3395 zcmcIm?Q#=U7=BK&o86>aD5Wh#Kr2>h)0QX}#iXr30V%dnD4-xB+jMCbLbfIw(OYoF z8}I_;4?lE9%8br9`UhvcCJ~=^&*r0{&eR#0Y0r7j`~AK7>z`kK12Bb38U~i-xGcvN z3s*C|Kau0p3BH*I_&_bnT)+$%OpHdY1ngzu(>+ZNUo>{D*& zp7h+Rf-_&OdbPQVTd#X{g;YIs!v=x=g*)z7ZocAH*Ye9@&9AN%6%rvSeI1mAAi^7~ z)YqakLcfw<@arKZ(#!r@l^ScFf~N&rt4Q5Uk&qa zsT4G-VSf3(yFOP7>h%*Eu@uz(&=0Ef)!V_PSYo6ZPjOaku6f~d9LB)tSckijS)=S)Q>KM{X{oHYQ#m;Ld?v@Pvg(UoSPoW~+?spO3%weHGASm(?d}wbViN(2 zR2^ND-io6r^r6i)_-4IXhjOg0#r|@_79UdHmkqbV5H>}9Vdaij3X5ac6;!Z!Mq(0U z55lrnQ|OVV8EKA_6Jc9VD=FYA_0j*iXKiKR>Pi>K)&;S}epQ3;v%migp}*fU48dOHmCV32p(ulnJv!qLvk z#beV^{-~B+;~drQ+y5{3@`{*Q4jQ$RcgB~=9^1|$IV?-hK^Ct#*oXZN4&YUVvoC5- zIXH#)9lVZ%4&D=J6k`r@72`SF?rsKx0(AH>c@y> zgl8&3?!cRb9nFBZaELD@73A41oah$bxuq~GPtUrAlik97TL|j_CTM#ShhrrL-U;zH zH~t9fCqfCd{m(>NhBQa)zr-d9QVgA8D?a-8cpLAKP5j!VGO=BilIxbreUZu|c$ei6 zl?zne@-itZliTo8mu-sNx&kSV=5X7{0UFUMIZ7mFOZ%^m@lI3dyYbu)FpY=ff57-2 zX7b_q?=Ti8avLzCCxO)Y2_6Mw@=x?+jVIXk0M2CA*nrjKunQ(x>_RGQ3Qy_@`X8V- zYi3g&OzDC}rgXv1TEb+aY?R> z5~c|m_y}h(L&)SfAIB`A6e?`#4+&YQvF(o&vT=eo$KhD^-`HW{C z)16?mA&xPzhO8}}Q0n5(KId#SqSy~gx;I5dSNe+6 z#!OU*{e8tU%V777KY%s4fy^zz+XX`iStF*{QXEZ67tDynxD){IE|w@&q}HW+)D z#3iQjEZs4&gn2>Cj>DF zv&qopF*c)Owp0gOo3k5BX1dA6t#gN)bX6AC)UW8d_83lo?*?{A3VHSK)G+(5uYZ?@ z(*pMs-oWneEu;5?p024lHHsge3sDk)Ds36GHIRGEf7vj(iAPA}CLiIsDej4OO-}Q- z8et&bHPjKUW9g#-`NYyfd$I*HOpLTkZ!+3QvO?MuzC=eZl9*uK_VUg!1w%Bo2kCzS Dj<(X- literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/usdt/account/SwapCrossAvailableLevelRateResponse.class b/target/classes/com/huobi/api/response/usdt/account/SwapCrossAvailableLevelRateResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..046de1496eb001338edc2dcdba293003444c39f2 GIT binary patch literal 3386 zcmcImYjYD-7=BK&o86>aD5Wh#Kr2>hla?qJ#q=UjE>>HpEubJG+hl11A*sm*^e6a% zKj06LFMQA$TV`~|(JwgTZxZo&_iQ$4s55m2X4-S!^WN{9zyA5o*DXFWh$Txw(p4UCXWb^>TG>N+ITx($_&*s0DbV zNPQ8d>6a_Hg>u8EL~^CPR;9+er%=>_5qWx{P`jHeHEXNooV#Am)xE}gt=jN%%|_AB zxrIWlS@m-(_ucimdacnobW)Xx?4*>X$^ZL|rSml`C$&EbkC$_@y%Ao_|s9(npg%UXmG%S*=Q$naP;{+j$L8N7d^jJD=xWp_paxAb;e{;Ok&&HDH4Px z0v4${xE4JMV@l{lTPyJGdaDX+p}L6ur9>?*B)qSiZiNwS3HsvdZLi=@ja^evwXO3J zk{Ei;FL`x^9_g5o)+jjvHhNkCQ6|aO1Obx)QjbweqxGYgtz5XX=&lFN$W6c*rewjb zo)s?%mfS{3_j7!7Y@SXmEzd8WrI&;goT+BTXWAq4@e#3Sj%f9^U(-`T-sy6+?9VD3 z?<`z6Gac0rO4&8aLFvBx|8g&_hN+cWvtIDdm1U|&cd$c_%DQuq#w!jE;Gly;cva#2 z3))Z)&ft9quj8xaXhmLGk6k6To~t(Hzxi>Puh5bJrChbq>W8jEe<4sM_7S#2=% zFpg!W@gurpVhQtvVo2c=d`z#UWseb-RL^1`n^#gT$-IxmGa?KoQz<48N$GxhYNsyC$Rg zqed7AcMWv}>sb0|K)$cE(4K6;3=<>m(i;yplB|&SgfG#NPf3iiZu@zsn1Ugi+K1%7 D!x_xc literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/usdt/account/SwapCrossPositionInfoResponse.class b/target/classes/com/huobi/api/response/usdt/account/SwapCrossPositionInfoResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..1778482a196032c4c709ededb3998c439b9c74a9 GIT binary patch literal 3176 zcmcImZF3V<6n<{9o40Nu1R97INTFbxw!{|{Xi60dNNWnU1r!iun=H*jx?7VCjvxHw z7k_|X^asEfoY5HxGdknw7o71oiTIq|ywJ2T%z!iPz2}~L?m5qW&N+AU_rJgX4&X3W zcMbxWyv6`NO_d3m5jrxV=;dJB(?lCmgQ z0-llENT25I#s=l9XRF?2YhYv}S)-Sj(Rs_Oxa9@2X0BSERU>?z$K)E?$edV2xeV^H zz2&2O4cSkx=k=?#Hn(Q4`76Gl1dmu>G|Vc&uDjp)Gr(2=GPIMmYv2nE1Aw|0YtH4)+<3NvK(d^ zZ((tE{xktmj<69LRgc_uB87*g)%4-Oeav%%9;EG*?bzP5!of{4IM>r~1>wYd0mJ_x z6^SLcQ7c(zY-zTA&u!{M^3)i34X+y*#BKw7uvg*4OFtF{W^mNNKI}JeM5IyV42)si zz$uXXoxM-o$%b7mTQvjos3;tGF6fbaf_)M&w6!#ahrJ@&r0I_C6lj44HU7T z-PH{k6rRG|OW(5dB>FFnG=aIcW;tbriA^%U@sVs@nh(|>JAA{l(A{3=uH945w8s#? zQE7hE!U#!fDTO4v{>%hJA?wRS{5-Kju%F{FHF?g8v!43}>L=gi0LO^0+=7FYjlckJ zV1z3rdF2=!4h4HW9Qv{6@YYQavmS`7H*&Z)a&nWySwFx8BOW5`z{w=%5cQGV*aN7a zdmtoyFX_OdgIT`vAX#pP@E(=yxB$Njvl61z-xMT`cq@4lDgw2x2fT*oIP z8C_099wBuP{TV$IX&=$yFiF${Fi~JxNir8PMO~Q1Rm5>h8ZPp> z)0A{vWy0R46u}4dKZHay_7Ap1apE!3QJmyoO!Ys;u0W1=5^;$LXGx4x28iZT;vna6}l+7E6{<1`6is1~*`i8_N12}H*n&Qb~?L144Q z8)k!#Q@fkjKZ>3Bs6$>6+7l`?lBX2;f>KXt-d%@8kwc_yz@5NI>(SAWvH8@tsJKoy z@{}C@4Skm%!btTuu|*i+l-e4|u_ltKZGjwbB9+=sxrrUU{U7v1Q1^#h_f`B*oMQ~3 z-Q}!v9>_i9zw~}C%WlnOvlqN8bg$IKfP4&T*KIn{$lEIE f?+^Qrg>-kf`Ofp;0yjhW7#Yq9azJ{q3-SK|s798P literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/usdt/account/SwapCrossPositionLimitResponse.class b/target/classes/com/huobi/api/response/usdt/account/SwapCrossPositionLimitResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..4f7614dea37b5b80f31748fe032ee1031a2b93e2 GIT binary patch literal 3185 zcmcImZF3V<6n<{9o40Nu1R97INTp(%w!{|{XiC)+b2bI*D1bI!S&fByUJ4*-X; z7Ker<8J1-@AH{_P=Zi9Yl0X`tigZba%d)%@#b*ih;c5)mWWFB54VldtR%9;4P?p&e zuCc?1br=GnQFXFy?ACt3F#bUDt9IBCcn84GO8^P4l*yubQ>h{IXZKYpVr? zkjEW0ub`FbKp`0zH9WhTFWRn0llZc|TBD1)rEtAxd#YG+*7B8xvtsAXbvs|T+;yks zTKR@s_VQ+_>vb|{6th0@^6{~*UT&Yr%Dmo>zdeN-gvTi9guVV9#Ctd(j!qW-wJl%yyMoC(f zD?!iDZK#hkXKqry1isuZUjrkX=^DMrq%K%q#VIeEb#u+~tUB@QJSO+hM&`vL%4Kko zoh={Td&quzBeP$vx7l6kHGk1Jl;{!bi-uVx+6@;xw{p`ed427{0c%jQg8G{U?I0VA0P)EZtf#*ZoprY9+IFQUFn`m~JJgMi#^z z<1H@DEu17E$`Lk0qw0~|PNeX#w3|L0xQ}^G(1*00vTL?Ct#ELQ6wdcFT|qc$JcHrO z$VFn=Y1B*BDO(!uz|%YXkUTgBUcsvd2C>(`KI~VRdHyHEz$}g$cnt>(91&?0IRj%D zH*f-^e|PUoH`B1IWvgyr0Tq(`bl4+7og6n{<0jKJp7mURaf`Ve&r0(AB?~}}8Ytob zTdW%~C_aTV&wtO()961q(h27Jx>YMHOl*<<&5vd4+I+VL+2@-chwk$zW{e)dgX=NR#o+i;Mw5g6bN zjBuqSvmArNpj#)%#6yG~IGN-eqCS!vy9f14 z4}^s8B^_9_@XOtVAcZ$+tt&2)T)c(1J1)ayQC#l7htRXS6s|ii2Yr|C@TW%DziRPu zlwolhMwjI$p$yXYF0F$MMA)oD-5~oIB+JbZ-lLK|7vNW6Rzj5e+he&Op=)=?{(|-c z^zhxWKcOv*=bF&{C56b@aSoH(#NX)4Xb-UC4vdM6)z5u-uuyYJ;V?c*%Bh6}vz zG$kEZn6URLMeqUr4wbWn!HQ_H;l^PSM;C@ zDFQY0ggodSs5$`()K;|={M7PEqe`myA<+rj=aPjf?YPhBV6splqp{@J9YiOZNZb&8 z?1&~CX)T%kI<0;4t*<1NqRd2E<}qQC_Jdo~I86c=s)a2~qE6u>0?{##)09F;5ZD~? zhS}ib)b8c=k775@bjT}0dqjms@{}T9Q0fuQyX%lBa)`7IxDyy@JvtgPHs9J771!uS zo|41Aqwmsv7^(gywh1GgQriPL)i%%+zKWlUvy36M zJDhdS1G)SBm)_51*{!*Zb`P5xtj~W2a-@O>I*A=Jd~Ms@3q%ndtJVDIr-rQn!s}OK` zqZSnO5)~-Ke4(c6R5CfI;Zh`$cb2PEQMVOt^k{udLO%dacpOHw!0y-hB0TZK*9h+VMR*E9RDMH{W)7*Vy=GPU~~E z5}nzebE@|F=1Re?U$P1na^ksK(W+dr>W-Y-Ox-Oz4D!rYxJv&F`ge)?w6Sr*7UD_V zr|pif&tg~DzmHF}5*jco*M{0j5BXuIWF>7rG)R&3X*xg{_lfn`e!bekx7aVfg2~!T2)>eJ zMDw*~y=b3xr0GUq(B6k-?3j2BubUXgUK9JUUtw+w28W3`95e9-4wyJ9)Hu>6CNOE@ zG?;}0`D+vDdoc6|6MsSf5r+0) z;!o&{lj#-=??@teev-?yKJ_;SlKNxpxDRtGskad7NQ5a6{{9DfPWi~R!E^1HN z_o4J7{!8ztQ|#7sQh$gI4L0D7fi$7ugKlDn+G9X?(!Ej_L-I+aT(9YbBePY~Kd5=b bLb|)xd>8oeA}<5@1WE2uVnBGY2a*2)88)0( literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/usdt/account/SwapCrossSubAccountListResponse.class b/target/classes/com/huobi/api/response/usdt/account/SwapCrossSubAccountListResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..5453f8e2798df89d645088a9db34afb9e6d697b2 GIT binary patch literal 3194 zcmcImU2_vv7=BK&n{3i8gg^t)0;yDJ)0X&w0!^tx0clME8$ba;HtE_dq)ALRb-eJ( z8-IW|`UB*q&ghJU8J%(T250xlnw2SAm6c51tvi*KtU|!$ zjapF9mZ?A?<_k4lr<}<-4VNO3yt7iFin^_Er|)_uSFEmPO3iA)$yhZfQ@0znYNcUk znvG>QV-<_lX2s3qzqD#|^=hM$Zx&AbJkh<>79Q>Ro}CqQE4G_&yS!&?d@HB5x#}{V z*_m@H_QmFE!LDDi3T1NQxoXiWU$g3toZC#zEjbMG+;+H1|8)9yh5CYH6hkyBi|BRJdyw-R$@c7IAfBiMOv9XVop)b%g<` zgV9bmm>#!#jChxR4@CVd|1ii}EZ$qRYF;(5dD(Gnx1v=!Ck~M;S&fokkSvLL+Pl0o zzj%%gkq)sTnq`;hb}a=*rRDTdU%la0{a&Q(j8k#kS%t$}hDpLe9`MxWE(M`i4ocm=PT7{-1R2XIhfZW{)Ni8-7w@fr@9I4;yU(k3P_Y2qxH zfxZ0$?@ZGvFWYq!izq1^d5+^_eyyA`;ovS)Hkoo8-r*keIhm3KdPf$48aI){A@*6% zq+fsv+c9^#Bhs5Y(hgRwW>=OKrnabo%|o*tILFs8yM5D$=v{A6*Xgcj%439Itpq=F zK?Eehqymy-Z)cjJkn-peez24zit8vj8SaX^p8gf;XHVpHt|5=P1BXeQz5tG3j3*_z zxzdM4{zeFuF4=$6qN@bAn>9p1?#TLVNd1T{LK;cLd`wxWl&TG z(L?!JUixW!hthrqLhRR(o{P7)(cW|NN%t@4K!HRuA0xEgpy z9`vrOIvo^O+trfwQp=%6mQ?X$dM9XKie+cCQy!+nv22Nm8nKD{2v4;Ty(4_%xF#0~ zEtdK^p?&kM$0U@(OorOxh9F7#;jLkuB>*(l_AN-D&f^0*qGJIUNCgn3WApSk$OfMz zcR#~FfxY;!3tkS|6EZY{rxfvmQcoz}I|qc3MyMme8(&E4<57^dIc(cd+@=~CCC7fp z!1aePu&2NO{hsja{#ZL+#gD~B+7Q^Q+;#3l z>4*H6-cP64t?8up0Gk?Yz#9W;Lcs^!#16H`fbgVyr7ni#lSsK<(+NjrtE7K0=nV_$ Z?q2g<;={|l4B#Uqxkrfs;l(~g{s-jloaX=l literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/usdt/account/SwapCrossSubPositionInfoResponse.class b/target/classes/com/huobi/api/response/usdt/account/SwapCrossSubPositionInfoResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..b4dccdbe0a454299219046efe2679f8b7a605eac GIT binary patch literal 3359 zcmcImU2_vv7=BK&o86>aD5Wh#Kr0q$)0QX}#q>j@P_4F5DWD)C+hl1L!fs7AqJO|U z{(wI~Zn)4HDKk3b=nc;Jn?!ux-OVNqb-)>zY0r7j`~AK7>z`kK12BbJ78+LNI4{Qq z0~d3=Kb7ON90qYopv!W6F3&3lzQ~~mS515=_car?+-oMvCMp6t!gtlcbpz`P<|#X{ zPdc`zU@dx{Q=hNdjfT@u$TR{wXcFjOx?z897i+e+UR(|8uD3p|kP1lY>!2+8AzrIc zUqWdHZmqcFHUdgySKW1w8taaN9SJ7nnWeISt5|LNYi`lraEo=PvEh3Sr`T*%f}&k6 z`%Nz>uHLpc=Ief=vD#c)@f&X7`re{<-9Hy|kF;W$o)dfPPOut>FfcmS;c60uHt$#H z&CVs)bIvqxtvU7c_F9dY{w2R`*Dl(1SKcvF3#u-IUU)9P(m|aLo|pV?aW2lIL864y zK~Azo*>X!JLB5a_Hrgp19DOo_V;5QJWhbcml@+^g-*N({&VY1^NnpD>MZ&m5z#uh> ztVK^^m=^lb*4%%)(aL`%R+q3p|B%Ig#`&sg*XaJ1h|jLwaLU2-*kuLfZ=H#l#JK&S z>eLl_q)|p%<70)`777@*a2g8=d%E}P$);PYICTqWP*oUxn(L!ci_Kbaaf3yj7!DfY z<0dOUF)SsXWh2n$G7fT5+vcK{Rakx=VJ2%=fh{N#WN&OZUPWPYo0fQT5yw$;t8L+L zOyB5XwrcpZoNVl6Pnvs*aTE!?-QFe^^ax`or-!n?K+jslpV?MWPom6Uj=#NWdB zeW;%ZrO@_27it-bIAZ@LHc60T=nPx&(Z|Odc#~}6*A|tjXH_Y=PE_s-RUXA#EQhFE zqUyxUw5Uu!gO^d+rpO&tAj5GSZW}p3BT-6@5y_c~{8z_$XDM`Nyzm2b?cVqw(7uPB zzBm3mwB?DyCiL)0AaiDdM@gIf6FqtDA$Hw`HJR5oVYE2Rl1>)0l*#MDlX-~#yXej9 z`Ai2>wq%egTQc*8FqtuvkvCgR+P!UKz7jc_ROSwj<6Q=`{Ru)Q-lxrRScdsGb{IJM2tx+u`Ddy}*c*Y_ zPO#Mw$C+47)>V{H>f%p4>e3~X63BnGn4Scp(|r+(TdWlJ1NR(J><1;?o1vl$ebY1A zY*>i>ebZHz!R#Bq3uAH!*Y_GAlYm>6l7-gLN;WQDXRe1(pDLSl+_+six06b#YS9%TOo DSI)!z literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/usdt/account/SwapCrossTransferLimitResponse.class b/target/classes/com/huobi/api/response/usdt/account/SwapCrossTransferLimitResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..bdd670b42e42c6db80604eddfb02d437ce1877d9 GIT binary patch literal 3185 zcmcImZF3V<6n<{9o40Nu1R97INu^?&w!{|{XiC)+b2bI*D1bI!S&fByUJ4*-X- z9*2fS8J1*Nj^ccR^930`O(2cWM7k)$C0SmM;`0Rha3zMTGGB|~y3A$_D>9d2Se4ll z<110zh+<74cHH#L8Oy9H7<1LC<;+%0*R@=Qi0heNgF>o!)4XlwD`s^qzvMY~b*-Qf z^0=es6|_}4P)G(w4bQIRi?-|0B)(*?Rq4X96t4AbPZdkG^?bQeTe0(I-Of9fTd!4J zE8lQey}Vf})f!bVzx1V9pLJ@kyX=@%_lD&Z?RDE*Y}pRCp%Vid4Y9+IJLI6=Ln{GL%Mi#^z zCv9oC{ZH@ggYw`Qcm=N-7{p!!uVJ6U%=14P24-=@!0Xs=;IK%e$Qc;J zxPjv!{kwZ#x|xPuS+yJk3n-K1r^6lz>g1RK8#kG*@vP_ii(Aa)cvh0Z+_f9)iS`)c z$12UQTNok9E~Stp*q@nWC}e$kh~FtCY2r9cO`fyjtml4(`q?*mgJZ;3Zo>h}Mqq$9 zF~XIS%yJA4hk`vG4*k?~c>9)zSrJ6m8#&w?Il0B*tRG;45f2h};AE0>i26uw>>kuF zJrEMUmvms!!Y_9df)w7OwXV2Ga`86a>9`D&MRB?B9zxIRQn>E89Q0kj%byxy|Ek5u zQHI537+sd1gfd9md$bNR5Mi?pb%VUdAX#pP@IIC7xd6Wkvl61z-yX~T2wl57_7}7t zpoi~{{RwShJlBNoFDXRMjB}XOCjLfWMtguAcVJ9pv?ii$ix>@J-+eE~X&;}|xsFdp zGP<0IJV5FW`ZIba(mtZyW#rA5I~5@6q~JD=Vv?u_V4}dXl4LGoin=h1tB7NiG@R#k zrzz>U%!GYFDS{8_e+Y?a>|bn);-iO1M=`^{nCgFsJ%JqWB;qJJ(&S|dxM5WOzM=P8dXxo4~b6LKAS8|X~%p{2a|;|8I2{!?jSnRMB=*W zV}~`_NNdUL*J)7>#%U73P%Ug>5_J+E6Nrv^oT3y$g23j8 zH_Qefr*MuY-d%@8kwc_yz@5NI>(SAWvH8}vsJKcu z@{}C<9eo$?!$|cvu}v7^l-eH1u_ltK9f2HgB9+=nxrtr9{U7v1Q1^#g_f`B0YUe0r?)%uG@5?k+)US f-yilL3+e7|^PT0vbKDH!6J$6i$N}la9>o6#I)<7T literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/usdt/account/SwapCrossUserSettlementRecordsResponse.class b/target/classes/com/huobi/api/response/usdt/account/SwapCrossUserSettlementRecordsResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..2966d5d166a4b6b992304eb5c51b8d66f2817c0d GIT binary patch literal 3783 zcmcIm>v9ui7=AX{Q_`)J&=w+yMXI*xA&Q`owxE=Q#T2jsw1~(yS(`0s60#e?881O@ zzzdK+{LmRGGcx1oADr=;M10=e&7q;r)S1%heBb-M=kw;Te}4T9z)>^|e4d1Y*39PSsy>inT_`TXMX5t?D_an{K7#G!$41)vD8&uh^dFcm~!L zm}hL?KJD051-j?ke$!Ks%CFhq*x8C*UCkE!hFe{oQ4sS<8R(+qYXM#@Q9+y1^xaA} z?|MEZ5(Rg)N{tOi!D=YjCeP-Jwe@VdSzB?lcHPZ3B2TkTujFU#VzJh&`q}M8H`)qe z<|M5eE3II^8ynwAE8BA>N;Mr(=W8WKzANumor}%&6{m5R=R9A>~+U?8VpOLn1r{dTO^211PoHc_*(RKBr`%E-du-o>#bU> zMe5q@FDr2ILU-;o?Fxg~6!)c-HK*v$j9*uv)HV-oL}K(czbtd#C#^Hunr|z>wx32o zl<_u0f`Ewt8P0YxM2C-lwr=tEqFoQVlItv3L}t;ho)s^tq-=ZTu=nF*;|p}+^3uZM zS$auW=b$$$J~Q7oA0HKa+GwcW^lRbDA@8hPb^VhHj&;{AT1Z_D5LB~gzXa9${{PFp z%rYhmwPvH}oO5LfOl)tROv`dmaBl~<<@O9md(1)sRSO63nuUXS-NFbCDY&q6?pRpB ztc5X*TbL1O3ey&{c*nv8e4=1)?{;i|%ci#%$XM9*a~5i-v(F|+d@p$1VG~Y{NY~A= zH)(ze<6I#fd*Ku*DC}Ic?N5~g&W4P(U9UUU62IhI^y-VBhR)Yz6Mt(JbPYu~CM|v( z;_r*S{9zJDOo~Y;CiM(%mXtqK-U#5su#mtg-X!KNVn)a(f94Y?%a0NJiLipVdFs4@ zKAx-{PvOq;7Oa-}1#w}Gb+PV3h8Qbkzyv1wV%(VK*(EkUSX|Qc=r~< zVYu(o_7S`nDarAcaP`c@BgB91@!txx42K+%|B?ntr@~)+3|rx2fRAH%e=C*hc2!Dc z+A0qQDnGz+7EeOWcYCRc%6M0n|I5p;$S24hRzPQI4|j}=&`6k)9FZKv(0}DP?*xVJ zPh@_Craqkb1Nslp;twZ&hrT$O*?)D`f_I45GFHXGSX&?Nqx9w%r`vkd0I!~+;p8?bH(KABU6kX9p#Da8p%eK{>4u`Yp- znbrc*fvr<5Nut5X!#Fo*p6TOq#bsP16ho5kU82`mzccd>Oid$DAun_To^?r@W?%ECJO1pQoZucUTu zU_esHE44d>lN(5-_JnYsz=MQ0Fx0zc!s3O~bu>y1KOVTks8}adX-nljn0buhV8di4 zA3@DbJ;Do9+#l?kOvvAEgu!UnP)D%5rH=+V$A@U4GueVUOpLTke>~VovO+o&ewB_~ YBQb{0kmj8VlAvQB2k2E+c0UsT0ufkR`v3p{ literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/usdt/account/SwapFeeResponse.class b/target/classes/com/huobi/api/response/usdt/account/SwapFeeResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..120b6f4c885ba17b33f090ccf7d898d47803de7c GIT binary patch literal 3206 zcmb_eYjYD-7=BK&o86>aDWNSyKr2>h)0QX{#q=U_sa9L44WJ+*+hlD5A*snm^hfXq z`~mWX4>}`dMrR!Tf;0Xm5ubO@W^WX|mlj~IrpQkW@Yc{@+^STXJ&J7zy8zmt<(Yt2hOADI{_8HfA zPkC-l!C9`=yvFIO+iZGGg+$YL{T7Mz$_@8xH&=CQo4JDDsMI#+6km@$EYo${2&b4lBc#RA0 zMwOiOO1OL{Z`(x7=aHah zCqW|_P&26~1Jl|^&zezKRV^6n95QZ37lNCaB^YL+c&m7n8ZNIKNo4WIrTE$;vvvwCL?E9`t2W9IUy`W63|8DnO z>Xj4rPk_fKBN3Sa49m4Hjg2%x?ylo2=IKn3QLMMdTB!IK-jq zc-QTwF#ileMC(q0-6GBIZf$wBlETam)q8RQhB0xy^ys&TqpMAH^98cN+NM?nxDKe z^9Kep#zXAB3uh){Y{P16*m;vGc0Q3YMJMqP>AM)rn3+VEQZjE*DVeu3mMGbwl9jRB zO2)k%W4@|^MwPjP6L^QgjNluV;V=Uk=k(5z7v~}#EU zxATSwGDaw|r8ruY%$tFTbqS2@j2Vay?40UF{a}bNj&-K-1Hv(}hGkMQr0@|wBx-5d zqogI(i`dKNl~hYIZzJ)T41>v3iV1{LkE!0d$AmEgv#rq9F?v~{TB1v>quI};GGTH@ z>)hcQp~}LV{RIP;AHYcuZsP?>A&>MfO|$QY(z`XC6go|M8+-bQCiDo&-~Iprm{P^}kd?>hy5$!*lCm4-Xh^vXrIu3*nsDsKI3*=aP~hKY3r z>zv~|GpejC~t7USGDX-%BrxZ?(bQCWt zYX>JN=e8jxgKDmhXUCohnxZ(p$t4bWI8cK^@{YKv|PQ>r9*3{WO?F zV>5~V9V#n{>eP`e_IJvIBt&Xb8m7^bw*w9URE$owx!q4g!Z6&sO{dH#w`6f?^|o8^ zCr7UJd;6x2BLCaNCb&Ae13wg#sZH0W+LH$&ejB^b!|^JBv;& zxG$Wv!JxDXPGwf2q>+--D1~=6J~BGbATBS>FU~Sb(gw#-v+T39ZTInE@uv@m<}JS( z-e85~aqM>-)_#L>11OB6&r`}s*Tt1x{VkLe5!gsz7)Qx@lbj*y$)EKEYUMFvKau7q0#}1O z_|c$-q2Jd&bvip*4$MviKP5myOIp2Vb{{RNt25bKB|6~qzR z)uT9+Aa94m`u4;7c05eP(#3Yq#`eSM9S(L?Y`RZt;?4rv{7ihX2G@QpAW=ZLse5XmD;e9Lf z7Mv$#qKQmUc^Sl7SA?nzUlNHRHWT21bDAtdOdX>MgNClACa1LNpb>{slO?vnN{u~$IkAD> zTf*YL9oVe~_9DYSI7t*l7R=uq3#+|H#k z!{nPMtQ~GLR2f(&o?s8B?%s521N)?e+|ucg?%BZpbYDo@Lidy2z`*t?6QVGjZzrPC Z#BeQW@n^_zPY2#i93WC(A-WDC@h@JQG-3b% literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/usdt/account/SwapFinancialRecordExactV3Response.class b/target/classes/com/huobi/api/response/usdt/account/SwapFinancialRecordExactV3Response.class new file mode 100644 index 0000000000000000000000000000000000000000..80f98bffb1368278e325e27f2992a1b6c88a6553 GIT binary patch literal 4248 zcmcInTXR!Y6#jN{ZV9I)1X~EAR;}8mtx?2V3W!`Pl@^d93SLjsLmNnwn4BmmqP{pj zIpdQvI=;$`!-FzXW@N_E7oG7pdHdErC+SHIQy)sFv-djdw%51T+H1Fe{Qc9<0CwXO z8w+VD_-X8bpMryPvMkE7Bum-G`84+nvQ$KCS*WTkHCgJyd&fp2jSPGTP1yrkS`OZI z@ScN<4lW7feH$MrjLyC1)u+l;uUaa5m6Lv{)>t@v(JKX~pE&6^>$PgrKhP>y7W{^S zJ6)~%je`}h+4P$>E-N^Pyudr)dsPLaR9o;Bw$7aQ-t`ITt3w30J&=b>O_c531?V~cYey~(qIN>$CWk2v6Jof7iL3bybLlR~$`axKr z0k%i4{38PQZ`*X3cLFC-Hrpr%dsRac zVNpfH9EfW~C`G}fg5ca5mur|hkCcW$+wu-1-I(Vhs}A>00M$7BcUoSBadzQ2K7ZaX z1(Ty^6;!QznnfZ4tOZLlDpPV@hQpDV*1YJ$(E>dVQz2i|wr0yHbV9C>p_6b9Moz+y zzPZ3FU6}Ri`f~D3(4*WbdDX)bIGrqc&84sDj{!oV3NE*s26%Mll(~ zI)>!19BK}SXE;GEESy4muGVUl{Hd}`oJZE5TaU^WP^fRvC|>`-Xi&PCz=tmG!;p*n z@qmj5G3??YJghLaF|oLK1xH*wiKkq=Ak@=%#>KNJx|qZs7q8-s!nV~35N5FRfR3yW zWkh;ruZt`ANS2RTuJIw3XD=%=J`^;$+v7u0B2sG9g@FPQ z=)2+7>wa}XVIqEq+jl%R{kpJoPIc+G@6v7cSwM$>$^ZruQc+R~DXQLCSG}{e{A=kE zO^=`-DU2dd&KNmE)R!OU7Sx%WNPJIPVVtYQ9q8jafk%0iq1XUsy)n*-4=-Z5V#$j3a^6Y(hE^<=jE-AHiiKHZP@UHeU7;1D% zVnrp96q`z?SYbb&r<%mo<qyC(s z>kjb$^y2M+hxcQ(+brE}okLbTY>J0*o`vzN%iK3HHP^@T-@-Jmjr|JeE11b^W52+e z9nY^Ir9VlekBxIF8WX=`Q_lDeTdu;L$Qdix)Yfo|CRN;`l`}=h`VHBu=*yWoE2h*} zw5ilrbaJ*RIgyf`b7D&U#T1qLi|JfSl+uw>Dwl368P^zf{E~)=sfTDf9dRAgc#(() z@C}ag;wG5+&oM(@lH=nu%#t#gj|(_P%H+3?JR>X`EslPhqp|{E2=WFaL!>8>ji}sK2m1BvZE`+f6mi4lv}o35&unk>WX zq!LW)IlMtYNsh-^yh+O7XxN3fNSQ>n4R4dObn?H0^A8yYldlvL4yFE~;p%rn7y~fd z3T+*un-!^9F|}3AwcJSA?p9va?;)TGG4c%$Yl8E{DZ_pLEoAs=ZOLX=uvJR4g1fQ< zA?8gdIZj|+w^0c@xo7ps4qG^dd)U_ZBK0q& CKbrag literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/usdt/account/SwapFinancialRecordResponse.class b/target/classes/com/huobi/api/response/usdt/account/SwapFinancialRecordResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..b411b65d32bfbe5254e57b87c9bdf9ed25075e1c GIT binary patch literal 2875 zcmb_e-*XdH6#njJH`%0H2(b-BE3{HIO;h5J3ewUdKczJRY!L(zyG_<67&bN8;FC|j z_y_o+e}KG{8J&?Zqce`a;Eey0B7SFgliD^i%)m@%?>YCLd(OGv`OZoI{O9Li0Zd~p z4jo1Ll;m?hh6@R<7v=MQ0%Z3?O4P5ZW8sN3#ZVcBce+_hN+ zy~2A6i^X!|R-xK%tkw$ldaclOTI&tB*E>t}1O?UrkHeaR^| znw6!{aJ(CzJ~fZg)S^Os&GDAQ=tJ3wzVS~rDvrYLV$F5Vw{NXF%}e%boja*wqiokN z+s&Hj;im3YYxI5MX|rXLG3F*YD-@a8Gkm>4$CsF7Bs(Dxv^F6a&hA8D;<7@rwr)L*MjXIyV?K<@>$z52z>6E?MiEFH5V=HsQ zBRXn$Ri~*iAT=59lFagVdurT23^q8ueZ+jWmP^&%PLf#b-yu+Q`w0mW&1tmf9dd4-ie@IO0jeKZrx zjdru_oUI9iM<3HJholuPJdYPFjNnBJ`*A?w_*2r*!aUxzFp4n?Z;13NvKA(gvv3^m zDD2%n08X}R^@`K9a1N^q2OpDgHYo6%g)%C{JwGaN`zoJma!Kk1@vSo#wcY zK$D_U(xk5b%F=Qj02x6$g_o!mxGJtj?kA`pe6xf6M*Ynpj8nD(1H6n^s41x>zuPZs z+b<9Iy-W`DE^C2fMvmOw7CGJb@+9(njzpf}s&S3xChtN0xb1erznu;&!o1~80tf-8 zwV|jasT?8#eOzi!>Qb=nxg7CbzJ}L(E+Z_2WO?8oB2Vg4%G7hY-*?F#3S6oP>l>rX z+mpHPVdxu^zeE2HMr331H|V8&t^>nYDMZib`I*tD{=h&+e}FxAU`=K84q{ykbH<>F zITOtoViSFU)Ex|Fj7;=DMsb?Nzxh^T=o^e2!6rchpw9&v^?<(3e>UFY6NX{qFiE4a z97{ODy$Gvc#M_i~c4h%bDH$knGR#nlVwV2LkcgRoV^<8v9wHsX9RE!95c>i#t_Hgm zoF+E9Oqvkxql_t}Fa#7yRojtjzzL(5s=)*$)sPd1eY82ExFt0Ei`fa<7m~Bb^f@2X zk>qTZh?>dCJBUqnkXVs@b4Hhgj2@ntf^%>bKVryH+DMLmnKr)qdSz~;KaBGPfT6|AK+5_hF?5JJ=<7a7pbBWV3^0YEK}?J4mITqujyJ z_Q4R4CYUPI;cGdNu@IK=I%64(HI%!LVZXm~`FqfEV|{vP!0+@NaiD##szYI?%bql- kkYY%F+2~m+Js9!3U)ojrOC!KSmiLh1n&3l;Aod~tFTu1yUjP6A literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/usdt/account/SwapFinancialRecordV3Response.class b/target/classes/com/huobi/api/response/usdt/account/SwapFinancialRecordV3Response.class new file mode 100644 index 0000000000000000000000000000000000000000..51a77db686169d9e2f1390cc0a9d2bd1c33d55d5 GIT binary patch literal 3864 zcmb_eTW=dh6#mBEo1IPSrXSVyICX5-UUPp$ zh$keTkdSz#66ymWl1fxU@B$LQiBi5ZyLL9gjgZnPnmK#Ucg~zS-;fz2Wv7{WvDr* zJGkng;h-ssz(z}9c<}?Tex_XYs>QNbS@4UsM(M(n3x2a+t2X^pt#YO0Hx%5NYSnK{ zRlH`?Z`ycY!8z>(-YMU!Dj3CD$yeAnyXw8~Ppo zTwSIq5i}JtG0SXC>x~jaE6mOoYis$HR&A-A_v+<*BT6dYYL!ByG~uKvO<{r*^%AXfAc8l)cmV0ufnCbq;_^`)h`BjDa*k;wByM>EKRC#dG~kIj>|+Bh>J0N;Nn3Hxp)YNTs(|n z7mwgkg%@_6fs0ph%Ec2n;^GC7p2SfXPvL17&)``X3s_Xxzj-LbYIWX(hj-k-h_uED z7a!sy89pW}<3nWO1PK@)3Ywhl@gZS?k{WgKHjeU&*jz2_IE9yYz0XeT^EDdL-S5@w zezl}95kGkCgBiPqw(OWU*cN>IwA>L-#vDG!fPsWiNGTyK>X}69nOt)2Lkf>!gm3>S zzlMmDKj$XYn>Ud7fwDr5qs1AJ-w0zECrZ#2&L-yrxf@94#@1ov#@AuyCe~r)vc@{> zA8Ad*{ChA#&C$>chmq$O{dJBK|A5X?ayTFjhoqJyQv;7v-fIw=At*z0hV7VPLTn?B zl2D$rgfVkJ!;swLYxn83-4GD1t)%n1IGfv@_jGk;$98eHwmWCKIeuQeuwi7%;fd4 z-{8!R=QfbipA^#b;~Wac#GmNN8h>E#HMkR5V*@>Hgj+BPaSK+~6pZx;`mdokYi6w& zsJCDf)LU?}wt$=nWM`cisIQPBsIQRDrUaCZK&foH4Kl7X>tyVph1;)(yXo-$6Q*#Q z+aJKUnC59ou)bg740YoB1zx0NaJ+(-D4Cdpj~Pl9kNO$BOvy%r1iV7Y!B=E?mQo5| z<33_f^Lm(P9#3PB?fi{C8)t7}(8f9bJL(qh4aL+Q#CGdUk!M35h=}K7OjsJ+6gFg^ z@k1S_+3f7oEeG6=Qb4vi?0+54yA6>aq~MNiUF8y zKpSIhRYfo>2HQk#*G6D_D|i#%#XuMCkxy^P30ApJxw=o@M20WV-v0g#>=SA>a8Lh0 zD7&2c2Sd46^!r1(Pvmw<`V1Q+y!B5;HBR6i-A3=?Am@I)vcncm;eNLD14#V~ DxJ)HN literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/usdt/account/SwapLeverPositionLimitResponse.class b/target/classes/com/huobi/api/response/usdt/account/SwapLeverPositionLimitResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..26e6166753866b37e7c8103084d4184b75c30bf3 GIT binary patch literal 3671 zcmb_eTXR!Y6#jN{Zb?relwOFS7F)1QTOtZx(u+`TR#K=G&>{k->9IMGCLuWiefQNr z;17@&9&|>^jLbOtf;0Xm5x;fL$)%-qbSP8yUVE*z*X3Jluam$2`Smvd$51ozMG^{2 zNeo~q0Tb6``BIkaCca8?zah&_QMe_PBg?WJ3no^Q*o7qvuIyi1Se3nK!Lx8%$U7!V z3WpZ&JJq~<&#f&~>Ynda%6V_i^DnveYNcFvXB%E=#jPpWbLFyIJ5_S(b+>L}O~E?t z_|B~BlogD+@A!?nLQnp-bI-|^obqaR(XV;s)k%ezPf4mnlCK1OZG{F}l7{b8exn#9(Aq^NSuUae4<*WbpkPU3^<@x=GEuezCH$;MANo*LQ1l z`Q86dW2eh3s3cZhe=+LRUY2@`Ue&2`SsHnRIBHmvLg}0iajPwfh||2&V(xSjOrhRR zp>GRRB~6_=lEdCkd60rgO-jQgn(|h-LF+6>w_4ntPC|k(+`A2@#27c^aB=yzTkt1G zuPLa?#$ghPm|Vp#$~@|lW*%JoH@ym9Ui*b6NNkTPBnNZ zoUFlMvr>A(4L0aEpTY|>s;Q5I z{L~Ndhe8}NDH^Gm)GgRqI{t8YE1-v9BY|NYBIhtUgVd9M))T0u$B6wzTH$T326v#F z>j*|^SG3F2*0}d(9wVL^dju^r{s?+z;t`CW$&Yv3>_Uc|OsJ1BjPt~sL3CodH;7NX z_eyi|?gVK&@G6`ka*mMG9p{x4l~ZJ{hzi?Ah3SdCwM?!z#Q_-yh(^$ViU6;9vxZ3XYxe+kut-P@{#T z5#cBZ=_)`-;UkDCiED#N{lA)&hEW0NG%0{9OkygkeV(RUQNB>^mqi)&Uc0hJP}!D~ zc15S@jPoFjUkNk`=JEYl=11t-!?8bL{s2AxaO`)O^W&LySizA*;=(wWoHp?%y3*QH z?0EotBCV|>+0^LD=~U^;8EIW~jHl>%fbO)OHae8-oJl1+XQfS1vLYojZ8ep&hYYB* z!^51fhk>>#^F2=BB$MgGH<)GD$N1VjoFXsIN)~XMl!kLSi!-EjPQ4SPPx8H$_zKRE zGEu{Rd_u~?9DR<#Hm$$0%fzS8&~M^A|19+k`$96&Nj9r@g4NSx)P{hvHTcV$wsb*K z5_wsRHJ=Do8NMVEwb*RX51i3tvBlI8nlNbSN@{XSn+^(bAT?QJ8LZUU1DF%*=)NWV zuAC-ja{e#ZYXBypZxfqIBf ze36vKt{T8)QhEU9eHhQl&)0a@a_i{{>8^F`?dc6^Tj)O0>*(J+Wx_5D=i9Leni#GI WCH@>~?mdAw6Z_byud%!KBk?ba`7GD~ literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/usdt/account/SwapLiquidationOrdersV3Response.class b/target/classes/com/huobi/api/response/usdt/account/SwapLiquidationOrdersV3Response.class new file mode 100644 index 0000000000000000000000000000000000000000..3178117386abf256e393a306d5a6a95c9dd010e4 GIT binary patch literal 4206 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 VFOcS)3X-7X00-zbR`wtg{{j$)M@#?! literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/usdt/account/SwapMasterSubTransferResponse.class b/target/classes/com/huobi/api/response/usdt/account/SwapMasterSubTransferResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..147679ea979d9caa2f01688e248ea6c907cef0f1 GIT binary patch literal 3657 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 X*L)XwaFLrKe1Z(;1UVqR*oXN4*vEtz literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/usdt/account/SwapPositionLimitResponse.class b/target/classes/com/huobi/api/response/usdt/account/SwapPositionLimitResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..7016efb5f3dc614a9b660921e7d08ebb44d4803e GIT binary patch literal 3140 zcmb_eZF3V<6n<{9n{3i8gg^t)0;yDN)0X&x0!>?#H)&0wwt(^~+hlDP(ripNIDYVx zU;F`n(H|gRa7Je&%;=1xUvS3XB;s>+^Fq^hh8dV??>+b2bI*D1bI!S&fByUJ4**B8 z9)pHu8CGPt6vgE@=PNRN5=RQ3igZ-yaMQponLjgdTV~6^s?0?LC7Eq8 zz8S^mQLHH#XDrV;Wm{DRbG}-&>!&MLqhU7`A`Q>-niP_SJJvlbSFx&VxfQSORM+wf zA&)z1K|w3gfkGlMYI;s3S8y60O=2s~T9q#9w!*c(?U_Q+UC))9?y8fsYEG_hH)?LR zVdt8Sl9#iJMYmb?aw}h2wI#RVc#c~wIO~qL+%_BSpw7=ppf%fDX@lJ}Hog^H?X+7W zjGYCiYF}usuiEuX)@p^CWWg<3l`B@=k#$?Cd1Z&!JNaTDiA*Q5OY{^T8z)s!t^_!v zc2GXc*Nsiem&;P4$I{T)W|GFQFpG<}S9VKFR^3{+J-bfmI*-W}w6O)Th;kX+VRzd{ z?+UV?+Q{cuwGO8@`^{hCG8jIE4Sjz1!-q7{Rc3ojW zvOe0Wdehf-moa}csP%ZT6)Xl>dBwYnR?V*+HYq!cZB?|YX9W<&vehUD<;OCZXS}85 z`NgvYL^;C3Z&p0=+Km(*mDbWn1NVmK20cgH8K>%aa|(yI$lgLqOlG`>zqrf1O=cuf{*uX7<0c9?#7^o3 z3kpr)+zZ{V`{enri4?q5tJ&3(!qgU7-uwu*FUv=1n4P?-{d?OR+;#eATYHS~`;+1a zD~yn&lTt`B>d#Cn6f(X%!cUKqe?j{JdicS_ zpU@U3vn}ZUl0xLdB!_8j>Te9Bwa3_XALdkAYa!aPFlbvAIU z7|Ht>OzY`L=ZN-zkvCuNe1NE%f_pfDX`&v2g*?kjlDUi->cT9p0%j>`xXkO$QPOdp z2|GzCg7@iv1o5cxFLp%n!4ssSIK@9h4L-rXK#p}2ae^Fa@*V};Fe-mC(St6e2-MIv zdCMq=VVqEjuzZ;ReIrpZQ1 zOJu%IY2SS7D@mm&(~-8hAxzSKcxxKxNB~2%v4u(0IebVUIu>xAQV4MZn^~OL Z-M!|!$b(DV4B=y>ImgKX>BT<8{s*WMh%x{G literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/usdt/account/SwapSubAccountInfoListResponse.class b/target/classes/com/huobi/api/response/usdt/account/SwapSubAccountInfoListResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..e0b949f3e434281d68a9c9d20925053def8dc9af GIT binary patch literal 3671 zcmb_eTXR!Y6#jN{Zb?r|2)z(NEw*5rwnP-Xq!*#wth9g>&>{jS>7hB0CLuWyefQNr z;17@&9&|>^jLbOtf;0Xm5x;fLNt%|@(VUYBpJy-xo6=hxo=97Wy47fC2A zB{6`d1Wa6$c>avSv5^kgB0xJh0g#*U znH;?;b*L7d@>QqqiNVOK=9fHH;?xeL$l&`oy7;!%a+6wc{Ze)LqEmNPUEi(K<#+!- zjh!yDppsZ|{l%zLds*r&dR3>&WohIM;;3Ow3Z-*8#O<~uB2Md0o4M0TFoni?3VmCk zDrxG}ksS7P%7YX{YEl{|(UP~r4O*uV-D-1pItdBFaPKvpGGpA3!-c{fx9CrfUQc2{V?SQE@dnC+4Mz!>DfS>vS z{!oY`CPgC^lez^vOUEA$Zw2%aY$Py@gXA0{XOMdG&w2v2^cb<9NGrU})!+_va~;7b z?TU7V+8X!X>|?~UV~?O^#~(q@PCSC~Gx_n3n>MoKWJ7(7VVo!445Aauy+M59y;qux zcPB{Ofmh)Sk#m@w?l`ZcsGK4*6{V4*8e52~ge502sb_zICK<#!;z$K?gm(2P4kcZ; z#btf-<=tCeX1CJCX3xgv%jqpHhgEo=zCXZ+k&!%i!NCX+6&yR`?+L8*hZ=1hjR;3U zNLK+u3LimCNn9ID>i^ZGG>i&Br%3@^VG>hO?dNH_9pwwvep!@Z@2ywX2rAolvR=_? zI^#SD<5vPrf_Z#Dmi-aB_HgVEm_I;|KOFlV=E8V(4OVa@kvKojC9h5ViLQ+H6uTe5 zp2%oxNVYV(@;X(z@_Ge(D!oj0ju=dFw>N>-#~W~`Qy_K*Q}c6gZc z^)S$OWxmI8oM1A2_y)7=`WRoEhm+*RS;-K)+M-PW%NL_e`}~`LWdF5aa_U$Tx2*p*U$Jrh9u6BD^L&di7%4U z*i{3#OiB;Hybt3!85+S4FNO!GaPr5gxZK3-}uc3eQlnJ{qoNq@XXkxe;l=yRG SxTgbeCib#ZUt@ReL*ieoyDA_6 literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/usdt/account/SwapSubAccountInfoResponse.class b/target/classes/com/huobi/api/response/usdt/account/SwapSubAccountInfoResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..d0cc8fbd3812e6c98b145d95f103c0db769dec37 GIT binary patch literal 3149 zcmb_eU2hXt5IxtsYp#wpwIA5oid|jK7QDJ!UCt?l zJnpD@1-(QE3h}_G>A96`-feg^i5A@DDqYkag&Td_Gx=g|C0lORmfWnp>SpUsW3^Uo zIN4^S4P+wbCWKZm&3=Qzv$V$K($B*t}RoxC}0_z3roS z2iZ@qW%R4n4y(8N&0pv3By!lf-?S@4y5@2hm+m@6FE@Uj1zTHN&h0H;vF4SXy25}Y zeza5hmapwDqyA=4@3CMjSPZiGiuV@mRlj`LsO&DbR?)7W5kM5ncB33rAPZrR@h&aS zEu0}B%3&6Nv*MB1ZX|6~+RGRX+?!r4=sViZxK-DiRXDIg`sVwZEGL}Ye+k3aorhSV z)~pwuv#vDQ-p#xCpgb%V-oTp{hOyhi9_&?^eYK~-!YLfFun+q!92RLD84DAbv~U`v zd}se_cCzVKN>1Iv0?G>eHitVF)WtCiF77ftlWDKvFYYmSlW9qozhuJIxP?6Svz>a; zf?`uR_iFd+K7Ib9B2{m%t~%9{!qf(-UjG=jugkY-nEkx&5$J8Nao1_0P33r~Lp^jChc+11Hm*L)3>e6OW;O>4OmS zy(9yRHh#IA5Tx)9tqsLRoQrqyUe~2Y7RBY>#|XWwOX0ffa@cqIK7U4N{#ElYqSVBt zh91kCp$yXY0j+}!gxR1Yy&!uSB+bnbKBSVp7T{MJD!2=w{G*J)1Mvi4A$y~$?bsCE+k7JZ{T;X+RDH*uI zgndLQjN|k_f>^}-7h57Y@eIibPV&!GgU_%lkfYs193@A(yhs5zjLP3m^k4`n0yVTr z9*izjg8&6;yIOL7YWb8=B~|>4=!ETy@!X7l%;$7Co-314Gd}SUk*OA9w?%Ir)@389 z$J1XY^>4oQm84RXsc_re6eejuyfKZlB!HpX*fbJ#7Uu}Wz&y@V3L!>dbHuB$!6&KR z&Fde*PJG-YFAx1W6*|dNihMz-=QQuFL!!ta+%e!zV5IlyXvo-nXWLZVq8oWi4*iaS zYfoS$23y!7jBrY94P>*0cw$>1M_WiFwo`6lM}PkZJrUIXq4s?hKM@xgLujvYHaHJu zp739KKa*y+W>WfNtZT3V{~5@T3LfYtcBuUfh)%j!>S9Q~fwb#2ooM83mGlp4{$nBC Y-D|#!Ja~zlA$)=q=NLI4z1W55|2o8p;s5{u literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/usdt/account/SwapSubAccountListResponse.class b/target/classes/com/huobi/api/response/usdt/account/SwapSubAccountListResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..4bc07f0aafa444518e51f56946114c1cb5ab555d GIT binary patch literal 3149 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 RqqEuA%T9fb-L(&?e*x4|0>uCT literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/usdt/account/SwapSubAuthResponse.class b/target/classes/com/huobi/api/response/usdt/account/SwapSubAuthResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..fd1c847972763fd2d297ae23019a322df1b6e6d0 GIT binary patch literal 3517 zcmb_eZF3V<6n<{9Z%MZhN?!<|7F)GVTOtagX^W-2S!n^=QY<2}P1j~2O+vB}`4Rj9 ze}H`9gU(2qkr_w7;EcaX#OLg8URuJ8cIdQw&z^JcInRC0xo7*=KfnG4;5e!#zDz=4 zHHiVNCSc;aJie004HI7{x!#n=H{x(hBu5@=@|riXp2QxkT5x6k*20FY1q+^q+algE zQB*j%bkC_Q)z?nf{lcPKtCUMMced^o*WIduJy$BZ)iXt>R.HWjS1j_=I6PD#P2 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 literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/usdt/account/SwapTransferInnerResponse.class b/target/classes/com/huobi/api/response/usdt/account/SwapTransferInnerResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..35556c315fc0bf6a8686a746662d0256b571de28 GIT binary patch literal 3296 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 literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/usdt/account/SwapUserSettlementRecordsResponse.class b/target/classes/com/huobi/api/response/usdt/account/SwapUserSettlementRecordsResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..e793fd341d4e3c677193a723fe241b694419bc40 GIT binary patch literal 3713 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 JWOp4x;$Ot$?K%Je literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/usdt/market/BatchMergedV2Response.class b/target/classes/com/huobi/api/response/usdt/market/BatchMergedV2Response.class new file mode 100644 index 0000000000000000000000000000000000000000..60c47841eb39e2530f54e4bac79fd1d018728ea8 GIT binary patch literal 3549 zcmb_eZF3V<6n<{9Z)vs=LSG0J1*zJmEfEC8^u+H!m$=Mmu!cd(S=R+;gA%oO93iuYZ314ZtZ>P2A{$ z!g3e-v7CU3n=*VZ!z~kEbaB2d!=2ATQjktkXZBz>$Mrz zDJvK?-|_1;h4kEA=W8cda>{GD1;6T**TxlMJ}s#>%UmVU>%K&2n(Dq+%FTH-pIZ_O z-ddRaUO#mhOHUalHp&DCqGes065uDgD&<820;kjJNZh`G|Z z-SW`z?t^wbDk6@jXy+=cyv5!*uk2o~Z>+f0MQ5c%jWOYsJ%38!^iUf&5o>LlfUO-I zj1Mmf*_DD*T5_tM1dO6;e$gYR`CZ?Kko&d={%*4oJT>q7#meecr|N9DzFXx%-~WH` zuPA{+L1NAI7oythVG=u3pH7!W0!?o-Mr(P$0|Ewx;$KftSM#_g>v85!*KGS61%21%G__rh=+$ zZwHZym#X+hX(>sm)WJsQumf##X$D4V99C!$u`5)DS58LyaMjH!D6G#ro53?+R}7k( zRdCAZ1t-H4omw$`it(Z0S;Dw_ZFc@VaZ)zeL+T};Euje@J}4&|gHeyN{7U#TiDIEr zuNK@3o;>1%9bf-(sY8Y9yKYn+qeeZ&#t_Oj25{KMYk1wp5gb)Gv)i+5%;7^D@8E=u zDUnX%U7Mes(>CUDS)qUDn`(X&4tGR36lQeNMg^OsdGv^13l{g71TG|Blcasv#&w)v z_ix1yOGII2w|8kZcm-xz%GBB1bjzy>W9?5UYO*i(i&op-=HDpm7y3)XA4mDY?dRt@ zj+kVIQcRK)%*+oz-){u+G1y385N}fR7BxrcCqLE`sO86q{X|*eZH@+KAjxqE!;CB5 zWqNCzd$Nxa&yGBTmK}WrJv;UY#?REp+jiQ>Qj-n+F@jO9xHCW}k$VDsa(a(c5ciHz zwu4hebBvnf)O5$WB}L~Hm8s|&Il8f8I0`ITNk~2W3pBYwtPRKB07n>Ck8mg{vJRW| zotsk~H?uf-#LknAotyV{*c@izJ)ZqO&O|}-oP`G?U{rW)$KM@9=?guYJQ@*?!jR7Y zp2&>C2ar&LYgPMi(FBDbf$nozXK!o0FY4>15}vj44i57hLiS?fZ8iOyz{LP zXfreSF^#jlOfSC0468oI*XH3Ib#Z30fR89?xQGilPf2H!o2Go0@2$jFaFLRUDh}ae zN)~2$<_K)l`Wt&peDVx^CNA;UQqOQ86cg=YBYV@#o+h0&B$TDW|AQGz7bfK*FDtRe z6QL{N%SECRn+fWHEtx8om^#i71_NDBjZbKkK_UiH<3*;yN{u{#IktuFJEBkKH8Etg z$YM!yLX(}>0~7NSY_c+XU>fL5^;CFZM0Fh3a0OQhN9Xt{|6=IEC2EE0V|?NZlr&aV zKNczJ0h!;xcus{zGL<5MQ0h6|TkDu8dZ9NQ8a~=~Rpe&0xwSlZYUxav{M>}x;WnX4 z!#ec@d)RgNrc+zkClqo@r$afph5hNCP_{+xrM!i{on0oZ!mz)cil~WUDM;~W$Z$>v PrjH}wN*2lj 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 CjuvqM literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/usdt/market/LinearSwapMarkPriceKlineResponse.class b/target/classes/com/huobi/api/response/usdt/market/LinearSwapMarkPriceKlineResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..11dc940131c128feda086206b106dbddfe141d9f GIT binary patch literal 3690 zcmcImTXPd-7=AX{Q_?Lhp)EuZixh3sLli+FJ)o3=l@uxkw1~(yU7Mw85;hyrAK)c_ zz#kwtTYtod@;@n%bQt>)AWY$!0#*}i?& zvC9hdns58{nu1jRj{TLLE!pL@?2_-f<+Vu#F`ty)HcGw{;MG+sXj1CFTgv9$noo(u zlDk%>M$b`jI}~h^r}Bl$Mz&b5thiab>Sn#j(`>!A>Ss3?h2vAtzlSx{@O^TI=8Tm_ zl$GI;T~WW2{V1)ptN<*fJdd>R2!rq&Dz0ww}v zII_tQ9X`6*rG@ncyBahg_fxQ0%z|B>6ECTxXxEBio5zPo=IO-ZmHCA^dP!L4{MJi8 zQ{FTm9};`oP^jMYE8!*~@0441{TT%(+lv@Ijhz zj)#KX*qP0r76t5f8CJVmb;_#>#<%Id7x#MWr(p|!W4PPeJZ$_1KaTJdU_ZYd;)qG% z2*sp!!OimVTjKQqJ_-v74B;3tZxAy`KKV1BKv{l_*bjvHWx!MC4aipr%f(Z;v%CeX zWqv|jSYvIhdypZ<3K=kpF}@f#CU|xVtDV9<+X}NYXrfbC>lE(YMmP-jZQ4GLcOoS@ z-V&~!8GVHKj~)JZ1zH9|j>vyWgQQd8M;XIb_~_;1B;MUlrTSl0N@bcV4+kpW!zmU| zLd~~(sfo&XTbBRH%dp6&$sJZeXK9bNj11C9n35ckoW0P0}8c21hcdktLba)0*(;Pmy|n z?zEQH+nBm?2AR5YX4()YGh#B*W`jw6xNXcgLr0sHxsPegFqnRPjWg`F7~9&#`^3dr z$pStgq~Ze3<18T!3#82w(oy0-oFinw!$HguGRXyMwhZ%6>@jfR83qh|$bVCLh65p( zXa^e&G0nuPvev?c;xs*y9@8X~5=i@qv=>in2BOh@2_$NlWP$sBCr=n}U zlT+$+P>4gllSP)n>>YgoV|)|VZNVpVsu0p@L@}i}A*m~;1tiub5HizRKsvO2swGJ@ z7}JTI`IVETyJ|)J)7v26!J>#4dLV_ zQmK6*+$C@y;Z5{+Zke!n;dGsdQls#v@+zZZolvGNm3Lp}F$RJSlNoyiH8cJQFHEr& z?3zr--)w}wXxC6ju)L*@`Z&i&XrVRPf;mczv`cq9*hsQMS`&Vaj$9`(hEI^@oeGkm O;{XTf6;}2j5`O~+lP^gC literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/usdt/market/LinearSwapPremiumIndexKlineResponse.class b/target/classes/com/huobi/api/response/usdt/market/LinearSwapPremiumIndexKlineResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..52118166cb1d820dff3f8d3530e0cfa18f455def GIT binary patch literal 3834 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 literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/usdt/market/SwapAdjustfactorResponse.class b/target/classes/com/huobi/api/response/usdt/market/SwapAdjustfactorResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..3a0eeed3d975bc45817aef032bf9c5696a1aa2d7 GIT binary patch literal 3280 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 literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/usdt/market/SwapContractInfoResponse.class b/target/classes/com/huobi/api/response/usdt/market/SwapContractInfoResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..2399ab5ce31e061effafebe3b65a675648eab857 GIT binary patch literal 3280 zcmb_eYjYD-7=BK&o86>aD5V!7pcSjMX-gD~V$xQmfL2qe6p)+9HeH%Pn$%0%M^NW!^T%~-?ZV%y<($iV^u&;_-yNroY>0W&2vFE@FRak&4-b_jS{)(Ccl1o?E%?75)79RRvYs-tQra;nw_;S6Aqf zZWwKih7(|;rxg%oGHgu{Fc~2ASfn&sKYH1w#XF1cM$l-SY|bPli*EI_cuBD2HcGlz z<749sbYkiJ!s2OqNjSk7X;yruIx-(06?^8WR&VoWilrVukb2QSqRB zU85P4>-+yN_fqSYTCO$gMej^mru5*m7QqqOQx4L2#le0YaBvW>D&${awKzD1_Z_^B zLk`{(Xbj^HGMI318fO%SyEo&>X1TKJ)g7EgNnzw!o{s4TnsrddZI*0u#BT(TJFMsA zh!k*^Wu~n~9OC%3&FF?yIQ0TiMGI4beI;YzZftnfRfVY?>iqNy4TI!j+Q#1+qmG8s zE!N^^9u0nbfH-1OB|Jtc$=ADpneKiMtLRz}UqOg~NO)DHP9c;aIou(2l|^Fg@!Qj&}Jq!>EGR($mF@iyKeoA|X&W$bxXO0FZ7`va9n@h;0DDhpH{c^Ma# z@#pYTmu;Hdx&jFf-ALQWK^oC1IYuN$Nc*pj^G;Ie-bCg{n8t&NKVkd;GyY)W4;YJ+ znJt*XlR)C^B#)di^%r{5#v|;x4`(WEY{6=A*g2Cdb}o@Ng(vX{{rAzEHq(g?rew|{ zQ!;0#En%`lCM#{Xn2ZNI#(Z5n8dc^Vj^hIcGl*|lhQkbGlvA81F3!zR#0((=AL9&W z37MSW6PP2EK!q*+At4KOw*3i0Ha?=w2{@Mh4|Z8N`4~eM=J{u<$JnRAWGC2ah~rGG zA=^nOl)CtvjJiz8qy+M;7BizjOu8>(VT&J0MbOCV&Y&46@Z=Ty&WgQ16UoM#$8p*tp) zus|q=6h6bJ^jcc>C}BzU9ERDvl4?ojT_m0mVKA9WF@aF(3EA84m>>pWwisGG#&%T5 zmgrz>b9Q6NOgFi!b?$J3uFAri{tZ1>9>VGG-NG(OA+P@38fM@1_3zPeQs92VTiDyZ zW%Pc~(={EYM)CV{E=U4Ur7eTD1~L!%FB>K^xrtb2Y7w}1E2BOD literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/usdt/market/SwapCrossAdjustfactorResponse.class b/target/classes/com/huobi/api/response/usdt/market/SwapCrossAdjustfactorResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..8f98b8ddda2e3b80e88bca35ff441b6e96305572 GIT binary patch literal 3648 zcmb_eTXR!Y6#jN{Zb?relwOFS7Fx7TTOtZx(iTh0#YziE0WESnO%ClTX%dnX(O2L3 z1O5Pc;X!Al%*c$RFF50G67gH-oLpK;N2f4l@3q%jdtJV@_B#3NpI?6ia12!wUnQZi zm_#2I6EJa2mak>GZsJCg`%PJHiNbB699fp+m^V>KViy)IxU%1|uq^wE1<%5&katZK z6$TgXJC&JgxmG(_SgqImJ5Js&S1-A>O1V^Xr|Vv^;8qpv*;2`^&J>+m&8?YOQ?O1s zzBBDQB?Y7AJAS>U&^5Q}eB)$`PH8#2;8(rU^0-3GrzF)TnJWi;tv~}!N!|B~**UM~ z^G0I9TQ1RJ)m69=UTlgd=JMsW>`J}7u->4Twp%P)s7 zRw21iu2=K!8BZSfp>3zb5ot^XcgOQ>TQAWJvN42`jRSbo##?yXMn4WJOzqUSjX8X3 z<2@X;aYCr~@qx{6*>M~5IIqyR`SCSBFo(B|dMGUWq>VBv1bVdJuLXyDtiou&z&^?1 z4BNPZqx`0{+=OkUFuT*#nx72?wuE%FQ>nP6g2Gt)n~O&E%VVZB{5R+~UcgIZsiBX9 z{HFKu7eO2`sTZl3lq}d;HU2_46wm{(k-#7hlk*Na{nV3x)>Ej(Cy4z-TH#%;26s?f zu?dE0SF}si*0^_Po*Nx`WSj<>@kd=$&a_)>_CQ`OsJ0$jPk^rL3CodJBUxb zcS~RK?igwD7jg#3IYPQK&MPS@r>K^S(#TSc{litll9OE1GrvHS3}S6@><;1x?dnk+ zN?LA<%lhWasVy(FRq0~0XJhl_JzHE3tMDOxe}s=CBRTGZgApJqIJU>%8CdBJHJUgY z5sre8t^$MNwi-&>BL>vo z;bG3#!$6yrd4MULWHLSY7Srtd7+;%*8S>(+WFDtTX*i2BI893D$eSX4lJBj^S8$e; zi7NKvGg202>2n0OY5k2|CO&_TUK8i|XQ}7d7m|r~vQfP$R!@^T8v@GK;BRc&(gjIL zxG}V$(rCa6psA7E?!P!l0omsqqPIGAP7>)c6X^V5LSL!W>&i=WXG4 zt4FZe%(B+ij5P!I5l zFObsMReiWjN)N!i590+H8o^YG079u3RBxSQ!svnCP-y6A8(EQ>(WchY+{~pi!{k>d z#11zZstl}SPqB+rcXwB69eV^qZe3j=-La0nUELvV3*AF{9le{UOxT6td^;9F6T{V@ W#9t!Ky({o$Vjny84R+UlB>n{iN+a?B literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/usdt/market/SwapCrossTradeStateResponse.class b/target/classes/com/huobi/api/response/usdt/market/SwapCrossTradeStateResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..f7971fbb48cfc6d0ac9f4cab971e63280ad58e9a GIT binary patch literal 3620 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 Xf)am*4EJ>4&BQ@=>TB$-LrDA!stYLm literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/usdt/market/SwapEliteAccountRatioResponse.class b/target/classes/com/huobi/api/response/usdt/market/SwapEliteAccountRatioResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..7c95c1f44befd3b9ad5d507cced3c7120814da69 GIT binary patch literal 3325 zcmb_eTXR!Y6#jN{Zb?regtibxEl{*g(#8uYCT)d6(Mk%~019$DO^(fhG^xpn=&SGi z0e^tJ@PIQ?W^~5U7o71oiTLe(PSPY4Mh9j(XRp03d#&}YOZwM8zx)Q^Flup(q7;LU z^YU{+elD8$JkIkA`MD$&E=%f5`MDymS4~`t!$!%%b$Q;f;K*~;LfJw^lCFubOsol5 zCmr8eaGkni@p8G*uKO#F?=@CJ&52GPg?aiiX1%)S&kG!x>YK@#^u~Bwv7oDaj?;%t3s~+K4c;PG<`dGh% z?>0J463eb%ZB))VO=sQp-6kD=|NpalxkyW>Vr#Bn3R`7la;gX2ZnNlAIWIe@PaJlP zNuexWkGR_x#N&F$rptV}DKLT7Rsy5jAS#p8sUtJk-78lKNU2F_kU~e^4OVs2jnJyg zeYq*f5DfS0wo_w-eHolxz3G^r57@zFnEg<`wd`!D`QWqungKr#v~E2cEkjX5<#Lu^&|%DZFCiRqV6z z8eSJT_M+Rz#>dFp$RKOuLrG0z#zqcr+xP@bY0uyWU1)o?ibVa;b7P(i$}wld!%YH^ z9rs)6a*OC>$0Zzd1Z~R3Ib^wYx7-Bf6CvrsyJ%YY~%vRS;Vj(hnih znFolZvkwqWPd|Y66Zuh0@N3Wph~p5y=|CTE;w|22sr*U#i1HXwl=Ks( ztudRAE(SeogT^D<7zen%L*MV>z3`DdPlURAswPwkmp*&N$vd z{NgCj81uN3N&g64yO;R``VY{f_cFgjU(TjCVW=w!^GueXyf*zOhEm!i?79nkI;CyG z>S)CBI#ptMBc)3n;}Mc~F`Uv?GMQ0)i#c|^tfhx}@}iuEGCm@uai^WaF;Y5~c^)TapvFmCAZ4OS^iPnoaFRYV zuubc4>@czT7-J?*@y`;Eu{R)Ny=13)1y)ab2>~Uv{J)ZK=@Lnq$g^6kGa^)F_%e~O z#pYB$aOIN4785gk!r(&}5`|f9P8DKbqEKZStVHH6%;`-G-H`lPUXy~97D_BxoIn)M z>q^ABC?hMSE788~p`H&MhEPYbf=_Xp;pkk^MN$zioznzVLVb_}c7~Kj==b0(DP4hi z8^#kdG=eDv0fZ1wsJ?ZNNX97ijzULA>t}^(MvvN-<{+2K43obj0d}~?Q02lp{44BB z4>6qFv5B1$LLSLPK*u(*E13-FxTJTJ-o(h@mI=Br*l&kJXd?Jbm3RevdB*8$jOp(| F>|gS-wUGb- literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/usdt/market/SwapElitePositionRatioResponse.class b/target/classes/com/huobi/api/response/usdt/market/SwapElitePositionRatioResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..94232d324ff46c916c97546a1be193cbf7538f95 GIT binary patch literal 3334 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 literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/usdt/market/SwapFundingRateResponse.class b/target/classes/com/huobi/api/response/usdt/market/SwapFundingRateResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..88021a9eab8b83478cdcb2e09f57f629cbf821e0 GIT binary patch literal 3271 zcmb_e?Q#=U7=BK&o86>aD4{JxidL-BrY%t{ifO4xp;~RBwtNU8vQ5?|kR~EHkU`a6IrRFW{TDxdT6 zxnSX9isvQye3rrhE(>)$|5sx2oVQRI6TnuHrTtUPB?#@Lj)2BE5LS{l?8z-0FI6)vuSU>(dG`pOU@~$zm-1uCy5ysw*Xg`l^^d2a27SMaCDt|+M5_FfM~jJD>Nyt+b< zw8BVhES!KFU9CVUQ(^FkTP1bT^ zSc-RoCFWC0IK;_ozoMH_VeZ*uiY8xyEhQ7-Zf<(jqQc}3C4PK$h9PnzZPRZ}P)9H6 z?rP~Xiw1vkfH-1OB2qD_QgE_RV7>x+n7>X+a?bB-k{<8GBlnlIzIjfxzWayv=fm%SF15P{ze& z{3%fCvQ1H2S0KTO8*V>xkdNq;93zthr17icJd-rKJ)Zp$rg3-tPZ&SIjNcvq1IE%s zb_-^3C6PEg!B5_p{0lu9;{o>EfisygwqUh1?7T@8JD1OO)(T$;#L*CFAanF<;d{qsrXIalFT12JkJ*aF~INaEPbLi*qj&Fhk0~hnU9+ zQYHuZBxXq^P+?2IPs&1_ZGV!KjSu+dI2_CV2fHksdWb;_bNpwkhuE*lWGC5bh~rGG zA-hQ@l)m_<7=4+NNeSdhEoMf6n1nB8VTKM|I1v>HU zOLVBUHM_Y~CQPnsojY73R9RS4zoF;yeK_gfE$osM@<{L2H2bbEy+_kYq0^+du(x~5 z=>4FlYbs2Q;;+lOAPGQ~Zy9{6KYO45Wy54A?je?)yobl8I2G)gtk#bjp+DR;^bxFM u>7#!6<>U+P$rjEqInpk@@n9p#3TaRHGJ$+bVT^U#&ojjo4DzXcNd5 z_ygn%A9Ti+8J%(T3(okPM11buO`3$l=)g>8@44rkd(U&8bIwiw`sbJ5031Xuj&YP? z&~ZV2F3Qg(6Q9Moel9u&2<&1tvYwt&(09lt{%S-j;oj0~zfvds6o_W4lZmj33oyMw{bDCbR<+huRdfUx) z+7&;y?zC>Zey()KX`c4l=bCPPsqVY<@mE5>scsg9MMg5_y}IWw3LKj50~kW@(Fm6~7mNXC)p%z?ls2Cx6N z*$t6ccKvFja^7h<>n>AgxbOadZZDE$NmFdi^-E!sj7`t?1e;}yIr zu=sp0j*U~u+sGhm<3lOUV$MbmZ`(Kxrn6`G%{sWG5vN3#4nt#(8A<%5DV-3M+8x`O@k=qyj9F>@cUv_qHN1+dl!}d_OtzVV0cU z0sn4CKJi3!{aGTNzg$2R5m_lp5m_v?vR)8)P05oOp}Zfj)AIl|b^2*s$I=fV(wPlJ z(%B6})3Y1Uexg2#DSi!}0pfUr-*n)QH}MvCJgMSI`Oj0vL z&1jTI5_C>bnFxWU>Bes0SHjA1l~?NNpAq?yLZlBzQsD^h)k7R440GEYjt(E*z3pK( z9zzUA)`ky{ZF4x_^&Q537w?6a748^GAu^<14x@98p=<#TTJW7Uip%@bU59Scv zB(8xgqyP0v*#bh5&MPJ10`KF4u=Yh>-9!0AwV#GE=%%g88mh9rAX^nZ%wQbt0KYiQ zHO4&dX3{@E*Y0Qjfc`!7=>5#^(3i96O&DrR!91JgC$G)^iIJ4{5WDWdo=s_+u(}?x zyiS)`-bm@v$9Rb3J&dOGl+ouD&zp3L=dF|}ovhHwOj%tg?LGnZcX*KVwE$?ZGIvqH zJd+v6H&|fT%UXI^q%O*7DB~ka8sD>%I6_IsGS`nO8K`m6j#4twBKyZESvby^8Q7-v zH+Gmf@dy(pPV&zZkFYloWBp>cdIeTbMhOWewfrxVcj=NznaI;xtUDrfC48Ak*kTK+ zANbr-#TFBDyu#o`7ZZhfZ9x@cU!qWD8LUL+9?aQIjNFv^SYDHclonbnS)9NW&+E#> zx~M}|N>`?R+f%(51PrN;Vg;Yz4B_Z}po^3ue00u`P)YRx4%k^r8mZrdbCh&N<{cQ1 zsnAHK5F`*nJf{2BJ|Y$4(7O&@A8k+-x*2_LTb{#OIuj;;MFQ?{gHYvzb?{f%mmgp> zxnmPMC52p)i9n8RVplR5$Z;v}ro4%<;a4W;!r*;77*Z3#r>ev&*vmD}SQAWt4`TlU DVacxS literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/usdt/market/SwapHistoricalFundingRateResponse.class b/target/classes/com/huobi/api/response/usdt/market/SwapHistoricalFundingRateResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..dae554f842e5becc84d218b878d3b268f6eb37cc GIT binary patch literal 3361 zcmcImYjYD-7=BK&o86>aD4{JxKr2>g)0QX}#q=U_sZ?92EubJG+hlD5X;PDo=pXPK zf50CgU-+OiQf73<(JwgTZxZo&_iQ$4r~}TFnf9Fby!ZR&uYZ2|4ZtKSNf=m>ebIw+(yG|C?p!b>o*Cc7jC&TG>N+ITx($_&*s0DbV zNPQ8d>6a_Hg>u8EL~^CPR;9+er{HSAh&;VesIBKp&Dv@?=Wdj9b+55et2Vq`vr+VO z>u&wF=jT@LxEtrGt5z=;+{#?DTBIw>uJ0{}+{3L{re?+7n&+>CA@q-ocDNb^VVtQI z>CNtia@D)gTwnF-m)z9~G3kXGOC)%*l4G4VC3lxj$UD<7d^jJD=xWpcir>7Is-B(CV}nk6ba%I0gF@} zS&JUUFeUWCt-1epqm}<+s4imP`H;na!uzV}R_Okgh%c_*@(TXc=rsjZ+d2~=iE-Eb zl2=#gkwzJAjgJ#xqo)-RWqNE)5HJ}a_2{HDT0eT(!G+t4?ncmqoPN$NB@1r#oOnsF zSgW`FnjQx7PM51?e^%i{XVt<{ z=_q|r$FA`W>h|6LmwPb1Mf7^y&^SprkPROy5Uzlg&6N;}*+0KIAuo z$8FYpd`OBs!&actMI7d=w(aSrRao4KIHSd@z$TO#ayK@-YEfZgo2Gbr6^CJSuWjLP z&0I(K>3(eSGqVOiWZ+7ef z)K7$BX#1ZGvfEvW8zQrWQ<4Ha}Ul$#@K|_;;{23S?qiwV+v2=5z_b2n=vzq z4yI(@B2zMNXDnf|LnbR@x0sCk+s1rdI~rByE>7ZI1~Y(fScanvWSHYTMO>V_qJU{a z20p+XW(b)a? z)et9{SVQ)ePAGNpM;>*Vl1T~Vzgor3y^a8lqj z;Z5xA-ZFYW=;@jaQ=|CBxfmn?sM3}}Tm9LG{Fe=r9e;pWcH#k^n&MQjYqFX@YJ~o9 z*HA~Wj-`+K<-1A??a3C*5HZp&z42fp$qH#t_!1rYn8XaD5V!7pcSjMX-gCfVtNs|X*GpH3ko8#P1YumCNVPIK4EAqK) z;Yy0Y9AMkn42|U#8H58#ca@^QH|~&Q%))8$}^K(Ys;cYYS@%_8HfA zPkC-t!C9zQz53~j+h}+Vg+#-5{U(Y2{4Mv6o2|Ijwd}HAFIU%Q6ks7|l^*M!!bNQuiD&bL+IqIstgV)_?nXIV_Zl0uYQxJm8%006 z?$&R6es=k;yRlF$diO4c($N<7nR)TQ=K0GZZ($m1`Bjetx7T9N#10TbrQqEO&>h@))KcDZE}F<(lG z8toJfj&0A-_!U-e(eq2S;*wi;*FE2>GXRrj63E_8lOPT;uqf4$wB!-y8Iccd&F!}v zt^BTp?jrU7AELaM@V;rf6~f&T;f2*(UcsLkzowvSTYEYbG0vJ_^6CmbQuxtU`#S+Q zx>|uyy5H6UA(H`9w|+{q^`(~`S-8FEZUjBW>E+zfvfx(F3QCeCw^7n<86O*8Ac&<) z3yWuol5~P|(5(2(arAtARNga3wR_vI>E@>HY`I$Y=M|21Rw-=#j#3A8>l(kHPIvyh z-ODLhYPr^|7rb+2nZ%)OQ+`CYkApN`aj+i;92~@}3ezvLFdUr0dk$X5AqU5W8pF7Q z3?>|$#W{uH?nQU1S*{elx`Xp5DWtby8`DiP=b(&REX(AG-v}KX7>z@3I`?GEdhL%DA|UKL<)(wrOhX z3M4pRBke~H@)4bqV`Oq@G=6o0XOc$uCoM^DfVeH*-5q<;sg_G$Uf2ur7!+b zMPH_5QUdw67BizjOu`qlu*GsgKX8$e#ePuIy$L$H+&438%msxw&^J?J8SK7^2e76# zk-8~-J7ZG;kAilarzoEeB%m%zwQn}O)S&Z(Z)4~7WixWqJmOgJW%us|w?6h6f# zL@h0Ql(eLJ9>Z*2Nwp;NE)vhkFqllGm_R7?jOy)sOc;YOTM8{5V=F6EOLVBUHM_Y~ zCQL4AojcqhR9RTlzo6&pV>tc2o7g2ON^3S+F>KAtJ2V2Do*Bl!=8@rj)P literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/usdt/market/SwapInsuranceFundResponse.class b/target/classes/com/huobi/api/response/usdt/market/SwapInsuranceFundResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..21e4ba0d3b3164c824910959e0d399afee5ba41d GIT binary patch literal 3289 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 OOzdH&zQOL=i^RW07XzRG literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/usdt/market/SwapLiquidationOrdersResponse.class b/target/classes/com/huobi/api/response/usdt/market/SwapLiquidationOrdersResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..33d239947f5d57cc470cb3ae0af956d2a76b786e GIT binary patch literal 3325 zcmb_eTXPd-7=FHFH@iu&-L)z;)*XdwfnY?QDVA#M`Es+i;^yrQH(z%e8?|b~$u}FTUVh!K z-*&wG@?CqQ=-z3%G~w2&=jy9Yy>UL|9BsuhJtwx-9B(;ve{gKP!_6oF?PP70p6o2T zRp)GTeZ{F?uvaR?q>HtZUAbh}U3rH{%`3YMc>aa`q;oo*yC8Y(axBcBL864xL5{LS z*&8jH2>H@e*J!71Xzc0CjbCDQ7agx$TV1m2_PXP-3Ji*364dTa5kDpoFh~ueYSAPA zr-eS;o%3%uT6w=2s*BiPZn$DQ;oNE36}sLP?YWg(PRW}dzoMXO-7^r97<0`lJ9ULV zX^zp>xL7_mdKx}aro{{h0w#SV`&#o=qUbHv-zT>oWPAOTktEa_Ff@Ql= z4q7)pHoib7md-CMo~Ds0Xkijb!_F=z;19(;8#EUK-3#ag& zh1YS=!n*>EVcbF%ISZ$8Mqy9y@|csIXHix-^h}?}f~K0a;Nlj`I5FZi{Ksw9 zcw$6~I?K}2;35ukF59+(CRJE?(fFdps=$Vmd9gP(oa(B=vvg2+&4)+$O;eJ8o^KG7=dF0_*`J|)^jSuECVXTX zhX`8%1Kz}8zLb=VXRmOqS9tff!YnmC>lKdo3J-2090V{y+mkpFDk<=eiND$0Ce%-a zVrcuH^0f>H9HIXbnad6uE;6Bsha3Z6gP0BuL3IA~{Tf|LQpJB!%wfvOhrA9_0Rj_C56YgWT`X z7ALY>(ETTY#MucR1#R+A^kuY1*mWP)WJcS9(c&-*I$6v@BBKjW;t|sK(Vx*Xi4LY@ z!5~wzU}g+qGD9XKW44&I2iwMcHE=Yl%sm{(`wV6X->?ja8OSI{d78L5cSH#@gfx7F zGngf$bBs@5j!*&>w)6*t4Aj~7CkUDNkT!F$4D)a7FfjiZ!v;?B&s2}GHvp5JV5=dH zGqIZNsUV@$#UF6grAsCykpF5iJqkpp`yv*$Si$cHE;ypt4@$Z>K}8n_rf0NSzYzNe zrpqjYIgq;#V{!|rn}RnBnh-KtNHL{20V!F~eG=>93z-?+C+*)p)pLQt(8D;+GmRh9 z9UV(pAQVFipW+jGEiHSLu%vnpd)T~^YDwl@B%TnVF_}s+fl%rR+1u}!Acml~7+O49 zH!5UHbg;EKd$DAun_SpI?r@#1%EFrZ6@8Z9}UX4lor~PEtnBvq+R;s{zj4&(w^`oI`SEbG1hG_?-WxoOjCQ1{1+8Jw#oni literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/usdt/market/SwapMarketDepthResponse.class b/target/classes/com/huobi/api/response/usdt/market/SwapMarketDepthResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..7db326de62c2d03f79ffa3e3433fe803c2815c87 GIT binary patch literal 3726 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 literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/usdt/market/SwapMarketHistoryKlineResponse.class b/target/classes/com/huobi/api/response/usdt/market/SwapMarketHistoryKlineResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..892e3670032b09c5dee50494981ee8e83f58a577 GIT binary patch literal 3789 zcmcIm?Qc_682{b&-rn1;gE81fC&IvqTend~MC}F+#@k>6WQc-_+;x|=Ti2HM79=r# zG=4JigE2Ajt0aaGO58{^G5Q4)|0WTC&pEeu-Bt(*m^A17&hvJjxAWZo{qL{812}+B zi0 zHQ)8?BI0xDXcCz!D*tx_M+XKc>Dl=UlheoPI&q8-tX}jD zM3rB5f5VArzuao|>q{KJte*@u#tNl^f7rmu=4u8HYGZpeQB=kCIV_o~@HfxH(*IEW z#7wzf&3PvZG7w&R^3>TUGct)Ccrl5cvg|@%61%a-z>#MjX-Q1sP!ca=ZxUmIh6Rma zUlJL-n#45D8t7R+rH|GN#W}B<#QR`@_dMDEfn1(;>$u5Q8}8FxaEJ{s+~?O6;}%bID|9OruQX?1q(!G}oa;g0oQ-Sb8?Uyh zC3V|2~QWmbSkdonUaJSOG!1zgt3~-Gp zViyL9lUe|24Dn=0CAqFwj;vSiZmG-;XrUZkuiVp8nVrM%*57QdSKi)2Sx5gG@7|Bs z10z}P5eYUuv<%~Cq6k)lPbe$hS|SKu5+hkQ_=kr%GkECW;f>ZNBTs8m3Kp8&sZ1Wk zo4i>F$l4T2WSx{PLQWuLr<^9Cwrre2ZP`RB zE<%YwD4t3*gv`4w6I0RAgdK4Yhw%<0?!xyN=M#xADPQ3TX;I32iK9d&PGS)gL>4EX zhhs!B6mbH_iTL@W<_RJPUo)vEiQ@PcFW?kW0+aOPAU501KiFjB^h0#pIK!V~Jj8Yl zIm8%(p7R72u?T<2S1oECkQID^g~S3SisP7>SH_<|;E8me@R zj+uv4F?V!~=2=RoW9Sa-krgDb2|b=Qg^@A?jw1!utVGsQEY?;jIVr2bYRkqHD;Ba? zacb>oU8Gamm%#ZbmT(T|>8Zssyh{{eTCd{*1B$X~r!hlhvXJ|6k;uYj^x!?Bm`eVS za2}ChGWmwVgu^f%QE~Mg5keQNhCoBcTuTbXVohSJlIy8~u)S7zRlWs-DvXg|Ib9Ph zFisinkWo2Evb*1bZoEu zP2oL)WFnaykd28XlzvjAMYou0ILkDZ@wYmiF4MUy6o}wMzA&&645WB*FXI0JjLrg= literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/usdt/market/SwapMarketHistoryTradeResponse.class b/target/classes/com/huobi/api/response/usdt/market/SwapMarketHistoryTradeResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..c2565866916aa3024eb33db5828bee32f8c60622 GIT binary patch literal 3795 zcmcIm?Qc_682{b&-rn1;lQGz!6Jg-Qt=p&~qIP2r#@l2AWD@~j;I6x@WnEj^Tad)~ z(fG;4FPfP6RT9GoC2k~|82y5Yf0Ky6=bYQSZYzWYNSbqg=XpEN+j(yP`R}(s035() zaaj0RmQQ5)RF=y&t|Yj-vdks09XUbsvUsvw721N0d;;w#IJhSJqJyG?C4nUeWd{|3 z*G05oqiUmOAb!;K-6Nh`x?mtVSt@zeiK1Jpd1OU$c>|qO*W4R!rs$RyGBbX)P+Ax< z5UcsFUl$RdOGlH)R9Oj_^Ryar>VBb^nJUzLs>Wvu3neO7Jp-4uV#pqy%9WQg`FeS- zkZ~)8Ox3GZ%B7l@sn_QH%#vGO^!&`sO}8?w;7M96S8vT$-Ffd^Ales(Gcv~8tOd`X zU=&;X2b!D=<1i=6^YmlWRH5XZt}o4b)meA0NJ{5aIp-G7yVZi61ET5Y3k-MS>AjRZ z(6gB!i{j-hEqAW*GDxLOrUcc*4iiQ@ZbK&|K8GyUbQZh%Hzsl5Jj*=o`T6qvS-0vg zdA?U=C~>NU;So!CTbk8XbfRpNtK)0%!$?Mi-@UdJwl+#d6;*WDtW zUlaS8xocj|9~ro0z$mYMBLR!8SN8K>mGMc}^vP3l6h*-{MQpsHq-HdZT0>q|pdm1> zH1xAdXnB2TXPR@1({4p|Ddz-VHZ^l@>6o}qn0IS=-RRN&fk}FH_T1$3F}hA1;~T3N zeFIVDm)+NJBHAanT7CKw$1m$gLygfwso;+pIMH0r;7M)lk0y#Lxju(AQzicPSy*}= z)lbZn>(!ihydX2-<;PE+eKIGL*nyXl*eS~{^d_+zdkh?Y>amu@6b>cv3ic*3DriX1 zF!m*p!D~rOnHV*dZ9S)Rg?G-tni-4``@3-({3F%*lR<*x(yDo1BQD2nqu5! zFAw!fKagw;Byk>l`Sw>Y)va&f)KiDMI>p(T{puaMm5NuIH!$3yS2oV}Aac&fHS&#j z+tif0aU1fim&LCmU?L)=B#KBi)y{&doizp9LE%1rPz|XI*H=l&a5uPH>0e>|tVH^` z#uRZY28fed0BH>JWJoEwu2+t%SMF-5%ob>&99^&6-BOvY!|>MMY_3<{)O z9>iO`SwdaoW%Nl+O6^0FyOhbd@eZQOIU?hdAZgk|0t{0r9iu%dSc|AaL?lwLth9SQ8yLtL`v@ZV@lnfI~z zHj=|Ba|KRABA&G<63@m`mdM2Jqw_Y}Q&uY0B$UY76iQ^Blr2I|AY`YUCZV=$oI-8c zL@F*qi9jfxN;HJbJ1rAa(b0q*aTjBFml1d22aNNHM3|JXahS9yWxm1@A`>UDhzTN# zqtC-pq8N%ej$=gp08;Zfk%MoT)DuK;e1{itk|=>m`f(7OZ0BFRVB@_9=(cf+KgW20 z?Ha}(0ULcf#^RVVlXX$p3H&civzAmt;(S!+TVb3QeUvzZ&L3Aj#W_wA+tm1yCTtq2 zbc~Fehg30lbd2O#N~dG+HtgXQB(DfPo;8J$G6Rky1=g%Y)>16iRw+3ttHEl^#uO_S zvRH9y?Py)3liHWS`6!lf250H1#WK846k%Gg;v55tvT3I=Lu9g$`!P#o;Uc!-1EQEp z{!efol3+6VhQWlxFdkBI^&AmG7p#UrL&jW73dCYfVylwtse!P)R(Msu1%oP#k)JtT z6I^4QGTg_1NBhNlc%gIC3Ob}T+&VXF92eZFF6 z20z*tm=qaVU+`Xwdr$fvwyEKo9$H2uJ-m!)I%O_n!^~+@!}fsI3R|ux7`C*eK5Ejj zJ@P+=_Xv`SWO6_@CX!J4NRbxZY^vcb(^SUa>U6qD=Ppqof{*yZz(z2T;>A6P{|`j{ B1dadz literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/usdt/market/SwapMarketTradeResponse.class b/target/classes/com/huobi/api/response/usdt/market/SwapMarketTradeResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..f9b15cd36a9edd9c905dc274f019093c6d36d963 GIT binary patch literal 3726 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 literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/usdt/market/SwapPriceLimitResponse.class b/target/classes/com/huobi/api/response/usdt/market/SwapPriceLimitResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..35d74da19cafe3c73fe8bed7a529685c8e630b94 GIT binary patch literal 3262 zcmb_eYjYD-7=BK&o86>aD5Wh#Kr2>h)0QX}g`}-mE?P~YQmBB4Y}2(_NRyguM91I2 zAMgjr7e45Wlo_3I^b5}Tn?!uxJ)0|a1{r4BbKdjb@0-8=`QVX?H2n-f(xnH~4vRm26t^_r|vXNJa1*8mgPzu!$Z>&>a zi_!@Ea<<^t14<-U{EZ4V);xt(E!ZN@7K+u)Y^hOQ^Rw=jpRIZIt!kz2WgGSNAiL?- zZhJv?<&L|xT=R=w!Qb?QixJCMGl2ZO7}@ZGmB{a*@re%qTAmxHtLt=OcfqfC=Np@A zUhR^*Rwib!P%XOURk!BLJ3<;k$!Dbb=Xa1^ne^(CWU|YnC}S3h5<>^Ml^4ohY09*a zFD_a2cCv=YpU&09Dhs*f1*PixvRiXEy}+w63X@_I&E8ItFc=ZANY&vq=`F|eLLceQ z^0!;fOka)Ewb)-!oMJTLebsQw^tmg{3v0K$VvwJ>rl6|beIAh*Y&9r(HHALugR$mF zI3c$6v_hgxgslkzCPSnihm=O^M?V|1czem+3R{d5%~_;m(XE^nFA0|1dP#R_e0*Y& zPAp$sTsliH2`4xkjdH+5x6H@K#GW~()!RW;_d0oJ{fZyVD;)1ERWu15^$v^IGm>Gk zzWe`jFR*H-9HjA*g9A9|;1FI`IQiV`#K9T7>)=%!cJPis zD@v}MrNQ05{3Wy55q9w3&Pet@T@xG&r_8O`5ngrR8HP)E3qrH_W> qvq=l>$rj8gG14ym@o*!_3TaRHG9CGZ#2D+gpLdEW7@?_sNd60A7Mqa( literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/usdt/market/SwapQueryElementsResponse.class b/target/classes/com/huobi/api/response/usdt/market/SwapQueryElementsResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..ac3245d814e4ec0ea755f667029c9a1068cb2b50 GIT binary patch literal 3086 zcmb_dYf~F#6n@@hFG*NRNGWZ!B3P;+TvD}Kn*b^;wN%nlQqkUQm#{;&4V##3boy8P z0rG_pI%CrrJLBk=I^%EfXZX=tpLchYKp^7>Ak4mJ&pGe8Jm<21{`t$a zd<;X#N1@@meB98n661MOK31iyAgNoD`a;KA3S1wOO9jJE|txC-Ky*OS|D=Sbj=0JbOf}z zYr2iPKw|lk`K_5Lo6csY;MQzsGbf;IP*EW6%Nnj-&Mez?my&3~-gJ1gW(nNx63;Fd zD_faTqq1&i%&MKK1rcQ$^$j<(W!4^BZl-74&)XTDE%+IVZW4UgM?je0_Vv}3-=f9Yr4ijVVV)$3R8CU3<= zil(zD1LEQ+ne~!CBjMD<68){LF69>)5NVBb-YC07ukA@4_YFtfioa6?VuebhR?mF=IyDEF@E@l_^}M}$BK9qi^7lQ8y-D^7@~L+qvVW{GfF-A z7kLhG`x!z%k`{Q2PmL$|g%m9BIKrOx18RrK9Y{YzI6e6kN_y%k)St)-@4D2Fv*e8W zs(2gk@Qs(efTYm@*(WrWA}t;GoDp&+NJnMlajL|FnA22YKkzw5afYY7qNaa_BEt>s z@*MX(`!?0UGcm^uwYo2>-IoUsxa^}QeV)U+fsrgviJImiAd}x6!ZFXvu&>chUJH_! z397Om zL;_3E>4O0~?^_K33lpx(Sfo#trM*Hb#L+%SfFxjNa1vKZDIPf2pu8eOAvi)15D4*# zN}czRWSoH7QfTQYds$SYKQ7E5(^dKu%rx~J2A4;F;#iZbfephW5%=j>6N8Ba=_ZbM h51ii!{aD5Wh#idL-BrY%t{0!dquFRivv+foD(*``YqnkF^bh+G6W z;04GZe&~#p8J%(T56*Z^B0le)%_a?X1{r2x&wJjl^SqzwU;q5_8-PialQ6I(pJn-6 zv9OZjc~w4Nq|lFRLS2{7mvX&f;j0w7aMQ-ua^AAx%DHNzU}H^4PxNkDxNTuw!9MT$ z?pe>RC^)l~idQ>VcI$Pou8^qvuHPWhJ9o$Z*3FjP%6fLmuazq6d4-ryNl%+(t{U)- zHTsJr4Zl>*&XwvuEs{&6^$I=KJcVU#7>TFm3f0YQu~A(uW!u{>7A<<-13TBE6F`%8h)|FI8VPUJYq75X<4$k15cPOi$aN@O&sNfwku7W zi214#Rc|G#f8_Z*jjphS^PXRHM4v*bQh_=k|^cLg!fIuEfevMATO`p@d|!^^tyto?(FYS#89h#(W@zRNe2u! zN5KiW(bWosG6}X82$>9+dJIyUtuNhd&BDgKyA?DSCz&%y%Ys|EASg)|-Fi{?XMALI zmLL`uXXh^vCFulbqEYsl=IHtOu)JpuYxlNa)m={AsZyon&nTQ|FH|@KZPgA+*D;Dg zsqX!MyH{4T)KaxkD|i=6GL`AwhW?oBBL```=HL(p9UR8%3MXH3g*Z5mlMdd*5eFX# zHG)wG8H_o&fQt$TI=A21Myb5!)f`+xQDJa5gd@6PrX7@Uhb0;x^6SB6gY_F9l7daM ztbAu4M>uM&Cv*cUoO#J;qJ^ly9+DAox3;{>n!>~`HGO_XhQV?9?9gwHOk4Blc53P~ ze+GY7fH-1O8B#GRPH?h5PZ1y;MczGA^QB82|a2b11my+wq<)OgkalFrRh|4*;j!?$MW&8zD z>atBzTUQ{#K^tm4a+r_kl$;=wqoeVwQ#_M2x<8ir0jBYA><<{P45-78!KO|+L#(F8tEV`q$z(g(Y=~1#tRY)T zCzQVU_ZEGbl1T~Vzgo{Ir_De#xO=K+^n)S7I2M`4PYB1v0%l3Y zkiuv9l&Ga;kCT>E&)@)?S5hs>yo!L zEzM3Yl?ju3TIUWo2~`%>aL@C5?-oWdCEc93U^DHz~W2ax<1MD3JM literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/usdt/market/SwapSettlementRecordsResponse.class b/target/classes/com/huobi/api/response/usdt/market/SwapSettlementRecordsResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..883c4e282955e00bc71cc45b6ccbecef0a392dbc GIT binary patch literal 3648 zcmb_eTXR!Y6#jN{Zb?relwOFS7AV@LEfEDT>BUlRR#Lzg&?2|f}`dMrIs+!5M#(h~GNrBuz`{=oF^xz4lsbugkaAUMGM3^XqQ_j-zhkizF15 zk{G~J0w%7>@}(@-P25OwzbVTtQMfIXBg?WJ3nq$5?81@-SN5+gtjJ!n;90mM`d&Gk_ZmKL zBo@7u3N6-Mg&X0;ws%1p}D&3)-OBDWpa#3uj2XB3MYm;5R0(v-~F~S% zpTw)JuOO0Gas9=pL3>%_Em~Bk%4O-_4dSRzO$w!DI>ha6Bp$a~ciPNXn*tMPtS8X7 z1)`FqP94c$Z>Ky+K%^$6VG1pIJJ_IUZb!G;+*g}|gkZS$nogM!Zph%`@*TI}PmEks zP}Pm|BN8#Ss$Y^3)Fn+k)EYH*z-=GRKq!;O3I#$Y0%ka7k|8@hbh94{cjuj2@IE+8 zgHdP|oXQ!Al155SqZGc;`0&UagSfOXH-Cmvk~TPVnq|&Cv+X`UB>wcF(7feW!xyWN zT&y4(HppUZNRfV;B`12k^R$H}Iy7K^#<=*{N?Ed3TpLX4|J9^4j0!-fNda780+Uhg^EBO#@`Y-@EXuI=)+=iSm2Ep& zujmw=aTtX0D}g4#JiZ^z{0LopIQj?7AE3t{j{XjFek`*FD>#x!To~h$)5iZqS6X|D zJr7`yr?oXCTN+(Cohn^9Bdv>$@f1A|(4E%PMu(D}GpS_fth6agR-|O6t(KDZkO6ge zc$o9`Fwk~ozQ+tsGMPSngIRWcjIYhZDe~g1WC5p1X*h?oI73S3$eSU3lJBj|S8$G$ zi8}V<6H*rD=yMddY5k2|CO&xG}VzWU%a6psA7E?!Q!l0omsfkH#Dk#K()I^D8uu`KBV2-b$`?m1A za+(OzS|qWgIHAbS>4AuK2`*V_JrEt(8tUoLVFYy?3%H0&3`ghs8UM$S#CdWB>cf2E zi=;Gm)c`J&(gQH>!+1`HMlh8kfKci=)z{B4Ve~<7DYSI7jjTw`=ulhN+{~pi!{k>d z#11zZstl~-Pq2$qcXv-}4SNJaZaqCA-L;0jJ-s1q3*AS04gH&^OxT6td^;XN6T{V@ W#GfP0y(jQyVjny8HFnp2B>n|7QzSqD literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/usdt/trade/LinearCancelAfterResponse.class b/target/classes/com/huobi/api/response/usdt/trade/LinearCancelAfterResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..528e26336ccc2a0b782476673be8da40c160b8b1 GIT binary patch literal 4104 zcmb_f?Qc_M6#qT#eQUWJrMN*6aq85q+o&SGbqo;%nQnj#Q4y89?y?oSwzjt_il|?V zpNxJoG4ZP;h7W3FCYl)iqKSW#sK4{v+wOL@iOE=&=Q;PhJ?D4MdCs%_`S(x10N9U@ zY%Har;HR+*ehLmQ%CaoWiY#Rtm(tuX%Tf`oRiUb~)MTj(?@b$xG&1lVG-VHDX*qby z!P^erad1T#@7j1zVPvjc^}WUsuUhgePhSlD#%aG_AhYTz&XjcJACYI9j3893PA2sGZpuD@tgLqZ7FyKhxu9r4F@{S2^o7%5p|@kP)nuS&5m= zASICDZr@kxZU32hKUk?Po$?yqs?YA?S)bh&NVl!zk{Wy255iImvFN>8*`mh0bn_iu z3Y~s7DL+GS*)DO^)Z$*6EGF)>E|YhzZPQ`iHgJU2Y(pFFm3KjJQAJ}LifcsBM8Twj zfZHCIYiv4sl!oZq@(vE&cdtfP9qw&Ir-S$3Yxf;plaPCC=wA> zEm)EHmXa$l8qTq_=0zWl7U&t43i+D0HCyJF6LN(NorJ?HauR+FECgQZ^1N5q7mo8= zk6owaRgX&Gbh6?#SHk8?j*ZVUu2ZLH=Z`XQ(iSIKs}hhI#bk`?7?PuMs5u&*;RLm? zS_*79)y0{+?C`@nS zTo*6lxQj>en2TqHdK^!UPbWxS%WWBm??nd!V{clQl@Oj=;Z#Wj2&%ZJSV znDYsrSQxq&~+XozMf;czrA|huP!M}#V=p` za>iy=7fw!=&R2PIsDTBFp!XvkxEF_^v=TRoweg%Cl6|R41-8v9C>mk$Qhx& z{5U^Dz49Xx-;!3C{lHENsW?#lm&WPai%jQr$HnE9!ju<|+MChYGh zO~&k96v){hTHzr)%rDyOSjGP?9j(N$OB#)~LP^91_K|jV6v7!J=Mi$Y88pt&EJK3~ z1(^uieyXy)xC*cWcR9e!{{TZ!C1O!+)lr4M%_u4*9ofU!+-RKXY0OUUVQg(Q-qzEY zH-PbN4BOslob6#8mUV__AH-9UlOlIXsijLKC5eL{&|Zc^jZR6ds3ekNQ|S~d9KzF7 zleoHEn*Z0ObfVH#qf4on!eJcg<lzJ;mzej@)hOykDHZ*abZnY=OaE1dbs{2EgFlSKN&B$uKw z^#``(jNh^CI^3z8v4$;e4Yz1g#VuMnQ*^A~k-d(AoSCy?N&`ikN&`hFXN!^(DcLzE zrZiYgQE9N4&ZR^t9Vw-9>9&$_gHgvXX_%OLh^EsK-(wcf5%Cbd!t=bi318Z(-QRS^hfe7IubYst?(2s#$h`Ax}$K6h0{YCxvcJsfOU}*ZJ*hPgSB5oKfdL zuX~Em5n1ef^)X%8bX3nwA24QgF?VOCS6E6XGjSdE)Ec&45WZV9M36Hgi6aFLMFT}s zi&$H26KKlC#)e6_Y^vuoHcrCGxr*`bhjxn+k#dO-L)LV8f> oout>0+c;puix9pGhoT%Ou&CRpgx%b;`ecVKoWfmf>pe*Q3sZYy-~a#s literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/usdt/trade/SwapBatchorderResponse.class b/target/classes/com/huobi/api/response/usdt/trade/SwapBatchorderResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..89ec121cd4ba2a89c0a9cd385741cb09bc7813db GIT binary patch literal 2960 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 literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/usdt/trade/SwapCancelallResponse.class b/target/classes/com/huobi/api/response/usdt/trade/SwapCancelallResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..127b35065934bf80fb4f34ee613f4101d66eb594 GIT binary patch literal 2951 zcmb_eZBrXn6n<{9o85$^O~YH$Ql*Lt2{hVLTf&PKN)-i)K(Vb@yCf?~O%qHu)<4ld z;17^5{a|N=&ghJzU+Rp%$y%SYy9oi}Os91Q_MUt1x#v9hInO=t*FV4f24DQ1v z$W`uV3iZlnF=KBRGgYUyT`AX`Oud$OGj7$+JDJr7_V%n@&N(H!R9Xof1{--9E95du zyd}#*#mf=ha@^GbMEB5ei^D#Q*-G9~IKEIUJ4^NZn@)Aj-Yjt?u~5m`rFFYnlzFhI zxrHKAjlV2tVl{|KpetM@qW|IYIs>i=%LgvlV4$|oK+n)o0*2Q~+@j+aD*0u*YTtKU zr^;9ckNF_yhF%?`B+(gBPb{z zI8}uXsmx$QahA8*oJPG(UvM#h%bytDhN#E%m&NR)WOCmu+S^{y`Cuq@I^^u~oS>vx zuxkZhH{qe-d4gD8nO~eEO4<=BxL$I}VKcox=w}NLdYRmcuRi)t7RyC>X^paAw@Bz+ScpU>4-V^I> zyklVq!xpaKLxsM>yJ(Sah4sr zhb=vfkd%g2NUGzFED*;ID506(vz%o(Dvo;UXQ-b%w>S8Wc#8?VN!#)rFo?G}Q&Jgz z4<8O4KHSyzFe}>TaQN`y?zV?hNb@?9ImNI*vB39PWSpA0dBdI5TY%{{AEkeXwm6d7gYHdfM3zSQ$!ep2q9dt2#fcqQqe*QKM#IC*>U1%)k)$p@ zk*7%Ppfjl_BP~wRtU;$})=V1WWCl(~(rh?sj|eDyg#Qg6Xp{ekxWNB3*u3#QE>cS& z?iBGp*TP8ggCjP4aT0#p%iWaHbCM{7Y3h4{lLZ#3`Z2$>MRl8ny>I#XvZ~F}z>4gXOcXqyN*Y4+6e6LcwKcS$NcuwKs zLeX8zmmBVCC2y}+@}5&)cWZSg->8@Tyzkj1C%^L0UZ3^cdVR+Bi)GgTNQ-nU$~$ws}+M*r|mGDdEY#6`z1yQL-D zv)3Ho@fgeCu@LIz;n#&!Qt6BDAQ-PSKwjxvikwt@4Vt z7}xd7j;GKiwHj(F(F#^u(`2w23NaOKg%cy#5IvdUvY6czQSqBadp(c=9}=Gc9g24C zf}o^Xw(I3kN%7&4d4gD4o?pB`l(Z96cBAT($yR!OD9jcg3Nra_s7LxvR%#W0T4Ak| zl}N3xi~Ww$xA;!2xDBu9%vD7DgD-h^C*(z2$lwhNM=)UFDBe_<+LMGWoWn^AZ(-2F z2V%X8_bd!!#KOn;MB&i(E;7@oRM`tG%wtvI_)FjphXR zjsNuhvVB1_w0H&iyW^bnF}0af-{?Y0`)Vk7}~g#!RdpcM}%AM zB!no8(py)Y^l~zW6Li}VGWMz=h1*uhBSFYK-rp@`{8d9rnOY%_1|j)6!jS3=$0RTC zD3|>ay7oBtC$t}+#~9^p{z6wqdxrfRu*NdlCXA+sS0#kfTyn#oSHS@u&TRFlRN)#xk{iIQ|-QZDj;Leg6o(FtEJ5((*aP$G6L zE>TEI1eIW*>%9|`+Eh@8f!>KS%V75AHeifxB6UyJ&4MNy87?^!0uE}hY2HuaV%p7vxK8#3Fm3WkiunLAnG`u#z|5vR8Qj&=@zPm%!f$4;DSan zl_G&q>IL1~^O!93LvK1XeYCAhkz1m}t?jvemCl689vpIqyM(F;X8bpF-FgZu-Mxu@ zLLrBAPiRwjz3Kg-ofJDwdlLt?_mHp)gxzaAqDJwj;}UbogTKR3L`p6G+EJ6pZqeCHxWm7Jm@mg7UUhrSOd}50uFOb@uCMA I@DP&!0e8b$vH$=8 literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/usdt/trade/SwapCrossCancelResponse.class b/target/classes/com/huobi/api/response/usdt/trade/SwapCrossCancelResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..816656110032d3246b4f2bf0cdf45982645dfc8a GIT binary patch literal 2969 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 H590p=&^1*r literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/usdt/trade/SwapCrossHisordersExactV3Response.class b/target/classes/com/huobi/api/response/usdt/trade/SwapCrossHisordersExactV3Response.class new file mode 100644 index 0000000000000000000000000000000000000000..30a1971487e2cbbf1e51ff822da3be03ffe6551e GIT binary patch literal 4319 zcmb_eS#KLv6#lL~o83w3rXc)5pE%RRtz#R{n0?>G z6B18INW4-B^#LjxB#;oifW&WN`_7%QGY)QvP@?GG{jVQ>0Sa zIGe>V&Sv0XS(X)9DzcojaX!nvD$A;9)r6|c(vamP;WcdpS>$lmK`47mmX{s8;^0*W zuQ_;K7;o5kQ(m2@Ua{)cmWwmB&|mhO(+cU;U|C@xA)61I zmD(~zsW4E;B_y+T%{P|lx+7_Ym1=Re5`?tK%vY9cUf62-Hr`QKh-^C=`)AAb)#6I4 zzE~-GjY_c@r%`MLOJOl=dP{y$a_*$Np6O^io#}%-$6jnF-WVI-q|>Vwa&)t$=HbQ> zUC!;Zm70H|wYumxPkW117TDTfsa3**3dhD0MQfKj!HO%K;ONS3sMhrOf;6UH_NohB zvm$522N~f?g{?Wd6`3=kq3$zYYqZbF&H3R zGDs-&LbyeZIRW`KT?!qTo0OksY6D&380+F*pqCJL;LOrJ)wby{wQ!^e z-J*)lY%r-2CngFe6(qHtNx9BUmyXgXx3;{Kg~r~Q*s8nBDCRM?8C+j-7xe5i1E zbM?F0v&e^hOy4W7(eP_a3RB4|-yR8x`PfxIPO>ij_C36c{=WYmGtuMlO9(KK5;&1c z38M5)Q0bkx;>XtQnjS|#GALkzoJn#`Z9_hlwWf+CY%P zXe*RNY~XIvu8u-Dm0ISuE7?@)D>->vl$=<}&N~UE{!)fY{iSR^BTCs=DU;8(m5hswI(bQ> z!Zf06I*7Q0<9L)A58_MA^5Ujg`A;!NUYY~s6PzGr;1Qh1W28(7$UX70{SudtO) zZsG#$sWohWQTT4j5JBFEC5|*W67`i#En;uAk&`#uqW+SlMOH_|j?-#)?a8bS+1KnhlEla?qi3h9g5QlQwD+5!S1vQ1VJ4B5K75&r~# zz#kxA_#iV2l4h8dV?_nv$2x#v9hInO=qKmYyq2Y{3KHVq96 z@>!J6B?C(tj$g=UIfDVLh;>;$S7dtCz?T{H;F^i+GTt!pm5et{d~M>EnBR!sH3PQ| z*b3%ZJFur6yQyH!HJgq%)3ANt@fA{jUH4|b_xH}8~I0I;{^5}>hYc(8fom{0%M!hPP8Oa+MS=I6=*=F4>-a z&k0C2k@8rC^y2Uv0xFqwh83uLx{-uPWjEz~-?AIr-URg0>RqQ2jE~$At+iMFDN5pIZ>%xGE6UMi^a-GaRqYJiW3@~1<^Zq5oy znl;<6MKVebkIWIo((>HGEK$-SDdNK6W|uXC|Zds3h%MAP=#n$skbu^o!Ly*0)6WUtud-+lvKWsLOE_Qw&n z^8xn%Bob07S_vsuII>6Y@Y9vV;$I3YmP>kW!{j$U|XBzKtlPI?XZ73p^+m zeul0+D*grSC+NvX#Xq4fj270Rhf^A<#Zi9B+SuRd$!pKB`ys5cytWRb?O~R6x|rou zUKgL#GvpqkH?QYYT~6t;L8o-t%p2ll#!g1wY&&U>2q?LY|CZvGUj4+91Ok;*{bS&X4tpqao9J557?7SmwUBuqsTW+(NTyOG z5K6tE`^G#W3j@&G4s9Q8^HS`V>T=ug+`39uJzIN7)CHpMbuy-g|8e0WbI60g$x-9jUwF!2=_7^FCrA{= zo?zQs?Fl*ma literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/usdt/trade/SwapCrossHisordersV3Response.class b/target/classes/com/huobi/api/response/usdt/trade/SwapCrossHisordersV3Response.class new file mode 100644 index 0000000000000000000000000000000000000000..11b95b8ab8f131a5c6073a1a9d92e87d7e1350dc GIT binary patch literal 4269 zcmb_eS#KLv6#lL~o83w3rX&+nAe6l+%gYX4aqy~x z*Brbqj5ln&sjzqM6|a7@Q44|-<)GGB@*BbY-KYJaUaJQFk!HCve&dX{P+?iEgXL;DoKiS3k|L+x~Ez;ZRRyfjfn-V#0I+6TynRlqBHAH zYQ%|&f=LBQZD&%hGt;G`G|H_dZ)c%lcQ&?abFWcuI&}Y~rdMHT9iczAaL!*0Cr6)F zP_@o66pNTsEnJluml6CAN3$%edGUv%1$vHUBEF_=&6XMFL|h>wC(!_lokSl!bD_6* ze%7n&+r}}jr?0c(uG#*<%cxw8c@@tb}C7F&V=;hV-x; zY7R$dIAJa7l|pu|)@&^L50_$c}g^%)UF(8qgt zUzQKpjPW5B{}AgwJ`@Jr?eQUL04X)XO1l@=~`hePRN3RE@K$L%(&?uAqP5f5%L?IQ(4$7)S|zNTmcqdMAqX zP9X88)9sobMK3ZaV2qq`a)zicf6h-(XMaHI8`4aGtHmAI#&sWxNNer4scn)wSoi_y z!q_Dkh4D);3lo=M74pU<*xyo`PT0G+gPi@574F1c{Gz>%Rs0X?XeEY0K|O7Sl86o5 zP1@B_2xpX>{p9R0Xq=;2js`gja&c<+P?bREDv1@j%K>KLdl-^cDiPIo9aZGpjH6O= zH@X;`n~if_jd`cK7+af-cXT!8U1WTl!?rgY_jNIj+B(IvAHd<*Nr}6Z)Y2`ImL!w! z(Ow23jdn|{xFu3zQ|S^bJcuJylejuunp<@#NL0FObSWKEIEsh5xwN+GQb5vnDF9G7 zhKFN(&d_x`@&91)a*0RxV*_oLMqB%k4TK%%VVt5-{OV2a+gO_K#tL7-G%k+)3g-)$ z>5F5(z?mH{tRtg8Nn}rsb14}Uzhhh8_zgQQz@5k&>)6)Pa7!jt+>(_yMaTLLeHYM^ zH}h6Psi$O9si)-RZBcS!B|GmVlzK}UD)pAK`HU!KW2H4cH8+Ay*B3m!hnq@`R}N|aD7B(EEy;Pz@Avg z_7{ckmJAW(jacGHgCkK-$+Sz2VZMeI1Oc6V>mi71x1NolO%89d8K zO}61VQYn^o8P7AJG{@sCULa*)itT%ml*tEw7d%pyF8xAyNv|WndB8>&A$k`M$2Cr2QNw5nySWdtJp4&Y2xo93 M_nWwn;BDFe1q(BuqyPW_ literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/usdt/trade/SwapCrossLightningClosePositionResponse.class b/target/classes/com/huobi/api/response/usdt/trade/SwapCrossLightningClosePositionResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..120bfaeca44f966c99c61fa9aa0f717b61238fbd GIT binary patch literal 3113 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 literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/usdt/trade/SwapCrossMatchresultsResponse.class b/target/classes/com/huobi/api/response/usdt/trade/SwapCrossMatchresultsResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..347563ceea2d012a2686efd7d7183043b524c71c GIT binary patch literal 3023 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 HAkzN<=(}3@ literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/usdt/trade/SwapCrossOrderDetailResponse.class b/target/classes/com/huobi/api/response/usdt/trade/SwapCrossOrderDetailResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..c329d578651a85c667b45ef3e6c81e2cc08ed6c8 GIT binary patch literal 3014 zcmb_eZF3V<6n<{9o86>a2%#@TK#Nvwla?qHg_Kt83s^}@ZA%5L$TnF?Fiq-aBmN2g zfImRK@Ihy!%;=1xUvS3XB;s>+H);AJ!wj8i_nv$2x#v9hInO=q-~aylJAg5K9fyW_ z`7Frint{ax$Is-mlt3?*#afZib(yXj_&k9w+%R!d##<)7ka5k#mnLqD`IY$HFmT6! ztzgdBo;~H*H3e&~R&(6xs@-Tf4TV_4v%MybRN-NwY#}x&#lz%jw@&-o>Q1B z6zdzga$QfHYc@(=&U5XOlUu%TZ%(`QM&p`Wa@-lmvn$o5&~LDn zo*^S1lO;Qn73zMf_+7_a4zctM4R<(fqnWOk9EHP$O3hhlZmc`*ioIUtN~%yV+SOIt zt;jrF)Vy+qsV==Dc0x7?O>UrYmB0>;3Y~FRg!&!VZSm3A=A(CLFCD|Hq;cNy%JtHs z?b;iT=eUez@K}JgFmzy0C6~^?0`_Pp79XqZ#++}Pc9q*Zpk77T zn-!Ea%XXt2h$%WWJVy|VOLOzHL`geFbvLUXscfg$2ZLre`~H-7)kg-r z#so{nRG(mgk6=4hAS#6`uXee1yHcP$MBVo0rc)!9(S6Fiw^fCAW#`!8-+B!lp7{mpC*SQ&eq;XPA-qM~3LG$q zw>eW%Cw_Myj_f{sc;CaU?>>j4yALP#J)A+7*OAP5juF9`$v%eqnN|ebxD)>AzQ7~I zEq4+^6h`Q+D^8M}jN&xi_JoYQY)Ij@9rCyzGKcr}3mJXckW!|0$di6ZzK`%@aRg%N)8+UQ^CN^4JXY&mI<2q?OT|Fr;UoBszm%YRhZ z-|;=pQA-i-RPX`UqR8-}en?Bh6q73vnVjUS=80WcDG9(JdtI$hw)=WFxJGJEjyT*ox^T=S zlBpC4gi_DxzCDk~LND}|L(50oxfHs^I^4EBcdyc!Fxi9y?r@t>6~T=ChOV1WV5PdZ za7ZZRkUAXL)Lk-lB(URRr)Y2C=j^s_m(H-@>jI;%L#}U>*^i{wyjtO40 Jj{*A;{}0t1T%P~{ literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/usdt/trade/SwapCrossOrderInfoResponse.class b/target/classes/com/huobi/api/response/usdt/trade/SwapCrossOrderInfoResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..438529239017a96b2f6b728b75076b7a63de9343 GIT binary patch literal 3291 zcmb_eYjYD-7=BK&o86>aD5Wh#Kr2>h)0QX}#q=UlidI{w6i_ZA+hl11A*q{<=okM1 zf50CgU-*DCQf73<(JwgTZxZo&_iQ$4C^I-P)1LF5_kQ2}{qL{81DHZJ4FjukoRj0c zg$o(pU&!%g27|aL&?Px8%kzqbuQKStRU2Q+ea(g|_nM8Ojgo+#@LjcV-NL$pebNow z6P{aBa29Jd&!4ZljfU4yNHqdCXcFjOy5WB7=BsXPJ--_GmD>8WLLwlguYNXHjZ%;g ze7EG~S8ux;^M1Y2IOCT*f3bGGem3G7X~i%-CwA7oU^Q}mV05g*#n^dczFwjiJC`ao z?{xFln&+Q$*Q&(yFV%}~^@8hHqjp;wRm&c-3WV))6Kc0WYMiHh?fM*ZlkQ* zH90!ANGDd#E-o+7OTsD6NwXR-*RlEJh}bhnw0b+J>!v5~Or=%{<`j;0Rx28bj*^G< z>l)9nUO)VQxtCkG%xb;q7rj#znbg;wy$%k`x^j@kD-QNyzk>sKRbl2uHjIOlc;CV6 zIOyO#fkrXrAct`W3pk~)r+Y)5XjZD+QVvd|tZ?wz&W`FfnsrdY4Hj-Z{r=ZiCa&i zSR|A{2A|PM)4DKCQJfQqb-BB267MiFB>K|@c@b3zC*k z@B_#{{lm^!I-@g={!?fCOxAkt?j{6?GaZH**mvK1_uYHmx#wN@``=%G2QZ3n;?OWJ zp9T3W8dyqj{9HcE3G`q^tX28klhih?y;sW|Rb*{;=`nnJAR*$!Hp$*w%Kx2D``t+wbE9CtbN7-%GBu!zSr zT`g(ms(zCAhU2Y-D7puSS{!z9OjQex!tuFM#aXCtt~>6kyIfb#q%GJV$xM<;Z^jmmOthe!w zg+UBi_z2e&diS@8>-AEZuie5d))mgR2RRrNd%{8<1=2m-FD(00-b^3v_i7U?36p$+ ze#(3|Ngy7DYlpp1v;8Pg0HR-eYs;w+#Yme%9&A0~{n!uo_&4<4Qno+~4S$?xtL|ZM zk0K(~p%sw=`6Fw@u>(qo=Jz~jS&oXMp8f^uXW#7&eq;Wkg*RzifddBc7H3Lo!|(pX zk^P4|+a6|3+Z>MWKYXn1;WRS5j%3bpj0nzj<|)(@S`qBxHvQA50*?^4+(`&g7^b(b zIO*bK1Q+ObAY|lKLkhRekbQp0EZ%JwGWx0^rA*C`XZ?_T6G2Ed#xc$dJj$ehg04Nz z{0Z$x=+VcSKcLMIr+1+HQyQ^_VSaMj$Y1D4Y0q(D8`ell+kw&WFmpOx%v>y`i%;x1 zlH2G^>8V(YQ#@zTDV{S^hB%p_laVqTPTFGviXPzqZUD5&|07)DzZ~q~_yL!xr3iOQ zc%N%gr1?ZYprzqs%wUX`j(NWQE3{%Lvp_jo23(4HoR*2J%$b2@nE&9Ifr%G5Wnhv& zrh0+Xff;W#8)d&lLN#eOVU4a3ktj(QCgmdkCnUXj5uNbmBB78j`z2zZ;u3|VL{KpX zy4f{;Rh#e&ai(j$$TFB+nQa&&J4oD@bu*{QMoJ5JOes#V70>DZ7VF|4GE=(0b*4Sl zlR?4|VHC@_jw!;?v4k76B1qsfOcQmKPvasf7OE%FOS*+>A@d<(FS($ROr=O5lzK_` z-FZY7dZ0HP8a~?IrO++b;5 literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/usdt/trade/SwapCrossPositionSideResponse.class b/target/classes/com/huobi/api/response/usdt/trade/SwapCrossPositionSideResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..0ab5a008f98f50651c18cd729fb701a18009e5dd GIT binary patch literal 3639 zcmb_eZF3V<6n<{9o87cq2&FGXPzw}o)0T)9mGlK@d8@QgDWF9Jw$0isq)ACOq96SM z{sDi0eBp!6NSTotN59~Vze&XB+}$*3DAk$5lzY!T=iGCi^K#GTuYZ314ZtWW7Cvu- z!eSeGv6zH~8?t;M%S{VkwsF5D%WYA(Ba|!4k{p*UjJJh!Bfs0MCOt15KP-gUorvqiVGl3fTYeraV)!N^llAr;DMfnUtd`qhAv2tkW0Q0h3kWZQpyADy zH8^Xj9${f%aK|pU1r+5{GBRDxGvwW~e#yI3TV3)hSKXx|If-$<d9G~wN^xkZXM1#o%kuD2YF4c<^t z<;{~L647osD9G?>mj>>y4;e>uH;zdy3};MRC<+gj7RbA|L$;6|?1trgbMBgc8=Rtg z2-?eT>8zlnZo#bWqg44Cr`_hx_SE#9v^1?6z=DYPw= zYn5g1oG%ai(6*D|sI;X*ey0;}TPM-@aWH_Ag9CWe!CQFS!66)0IJraD4rX!E!FxF7 zU{a{}@qvTm_|U-|E-Cc3KD><&%aLtC4}?XZa8Sk?(>~lM+1AJVEX{CVP@Q0D1|3|( zF%I~Ko3M!#F6=O}jn9Yz`$5{-U0d@?d4-X!-s4LXrZM$5>DSx;mHIfyPkAqY2*eSS zYLSXb!T5uqPtyl^X6;BjNTMG{D0zpcKJw+C{S<2P31UByR(O|df;%8TDF!e|yP{p9 zw!ytC^91qC&|?^x;m0sDBae~znf!Ru&30tS$%OhC!Z1&~snLn$E{#vTcWGpCjF5J; zSCI+gqvUkNc_l?gifXASoGjJYK3oNsoW!J=`2~hV5NpD*OXCRbnh_2q9Y?L!%Vz84 z-CJDl(+)=IksZ4Qf<&v4)D}h*KElTlf*g0rLqca%^4N^u(YJd-jg34eqC855OrY=g>Fk&&PaDs$=OLVt zw6Tu1x<-4>q)K}(kv2sq@eG|0(UCUOi6$i{XHm(?*=b9Z>`2K<+jS-55dk%Kc$mhU zA<&J=e2-H&&0xCm4W`)jF}^k*)8xfj$z_}&W#Bx{;VdbW6Ymu1(|m75_WXHL7An|} z3#4q!(B}{w%l;d?EPV1DJr*wV&sNW|FC>%AWW83Wm{3E;Y*eEYL?k_CN+uL^VlXy{sMY}}a8g*cEJE3gc9YUm-Xk#%(35q^8l5JB3A zB(@YM6gfFli&z(Z$xfSEbYSaLPlgVoRL5}zmoZN`Cf85-KgMx&kz7gjVLtH%QU<%K z7gtG{I++iUctM82WGcl3La7&2Z=7So=!RKWsOuP;S&>?zNv)yT%B3=4@}m>x4z~zZ z2G;0P?Bdkj-I-d)9!Vj$&d!i-U&r3gu8?+w?k2sCp4RCSc40W*Mx)fka9x-9Go-n9 QYHt?yu~Xk*ckM^=U(s0}>;M1& literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/usdt/trade/SwapCrossSwitchLeverRateResponse.class b/target/classes/com/huobi/api/response/usdt/trade/SwapCrossSwitchLeverRateResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..7b645c23c85261ba648c7835fa0cea60dbbc6fdb GIT binary patch literal 4535 zcmcIndvhCC75}ZYFG(v$QEI1x0EQZ{WjliMmXpxD3Z`-%b_g^)(zUfno63?atsGjO zg;Gk(Fz^>Md;l`cgc%sHI|B?;_@m751^NNtV^GTP+`FrXtxhu2Fq7Op_nyZ+=lsq& zSN`XJ|MXV?AIDF#csI5)aL|^eBg>8~&&bks(97~0$Ev@=aNumE}2Me9OVN zvnXKO#dqZUT^HYz@Aq9i@8Sn8e(2%_Irx!-7ajcAfP2A@{BwcdHsGzc+d=ny%kTAq zo&mcT`B9%lv3ASf^(!sE-KcCt-LTzQF_4PLDU5Jx9d+&m-R}8LJuq-=gt^*|f=1A# zUTMAGj>7HWde{p$Tfy0OyTfb3PMhYIYFnM{N~6bVI)tJ{Qz4 z`P%_aS-XC#&x>4Md2>tMX_H*@8wSLUo7+87W}N{JTmr zJ3C;XQm!=noz1Y~?}U|Z(A%MpL8afTN0q4S*MrK&ZGY!{x6|uw+zz9yW-Ztay6b)v ztjDr*NorTl@HYEY*bbvJ25!ucBqq-1$cf71$UaHk$kCY6z~z;N>x@?C{zxrs2bcQW zn?d)Q&om2&oh`q0-DeKDj}OhL88Yt|9zd{+aAy39XLpio3Tr{s?9{LLT>=*cU0(T{ z|5FkkG;Wg9Oe2Uk;$C=Ye&H|>EJcc3V_3y8cH9zKGA|}wF+C=cfU7T|kS<;-NbQW+ z8=`E$PfQFBA9U1or#FmwdIDCG7mG3y^s!OCidnc>atBe*jEW>dtK4cS9X4qlc4Bc5 zpsMZ7*vR1YL5D34*}*e?zs0D=qQ1O&E7*!w7H$|YI^z>DW-%R|s2Ow(?eh=X+CdU{T|JvZ>n5mNbN&FMSc zsH0~S;os==yIaBIp$wl7-fL8zlo!TB1uuDcA7(wgA0P1W2$Xevs4vhYdLp0YPf zFHiF1Q#_frXr@2|1(tPzaTUlc!~uMo;;c!o;(mo+xy~y85vkviNR9aDDIc|cEB4Wl zGM=EEKB%0ZsLb-8pllvgJ~C06Z8JgHI;ebfqB7f!!5xg*KB!!rpsbNU$GgwtLTseU zub^Wq%mv-i%w?6887(nD*N)K@j4VT8WZ)tmrk8w(5XEDuxwb z<7FJcIwi(y{N|bMHx|pkhGpJe{2QEK!Ajpq9BIB`aa&tF~g<0~V`BYfV)h#bUw4 zT8?6!m<;c_b~A=IjhC>AEe2uXMbt^92*~qJ<3yoH^Om* zq#Om-zmR>42PVNX3<3nhc#9^6`;;6^!%74a8FTz77PCjhhLQ(QV_|1pcql)C5v#a| zREAoUc~oSY_zOrQj$Niop2OOoQF!uI94!|2aZG^cr}&VjbNiSs&S;u_H(flg>Ac81 ptm!E^FOlBIyAHlEx+C?gT8kk|v8$wDTX-+OS^98-5WEMO{{gjmvCRMg literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/usdt/trade/SwapCrossTriggerCancelResponse.class b/target/classes/com/huobi/api/response/usdt/trade/SwapCrossTriggerCancelResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..ed716ec5dcafb824ad8648e58da30d4949e5d4bd GIT binary patch literal 3653 zcmb_eTXPd-7=AX{Q_?Mz&=w-7#TIPSLli+FZ2?;jR#QM)&?2X8vNT)LBqSTrTkrV; z{s6h*LT9AR$c&>mIOA^;@p*SQhlbeEDV@&uz2AF2Z~pxImtO%KL)E~SaVS`cLC1AD zzLMjHftzvOx8%4T$3EN<$d+SOo;d^gIC`;S!jb!~i8Z+kCR`Ki0^Sq86$3>DhnF7M zmHBG9R$H#RYimw*-Y(^w;uWV>DVJ)_T-`0^ovH$Bp;RKVXxC~^&A^5N^Q`UJbBWWAx zr+NjKd7j&G2y{-P56e={E%w8*86-*u+sMu0Q1*61ripyr6^qqc85$UUH9=$7*i?&- zS19K%+f{qR@ti7y(I_TC?QIwFV-f*_)F7$`z3Kn7&A5N}#|3vXK(!XX7`c52+h0%k0XV$8y{K$DoV zkj8r!KE-DW_H}Nw<~QcZ_HK^`{X1)+j0!tuV#urckNa$=i6QBqS#}xCUcnewK+8@r z4+<7`8e8+zp@6+DqiI(vPARWovP-YMy1ZNae+z$Ol-rs*X!8a?4)N>0k3S2dh)BT* zMWkl_&9d=l!aF`Z3=1)g;4m>qh#4ZE{F%?7tUN{JN5Tr;<*D-qxfQ7tPvK7U7Oa-~ z8Bt-4w6X3+Dik0C#xcPcxUaNvPR& zFEvpaZOih%c^MS>B)O$z;`b1STSkUxBuGhyNRD0LzjA_ijO-7`Q$IjcACLbI{d;K9 z$K$_2Uz|v7!tkF2%!?B|GV0_X=t-*2vF8!2$)vi8Sc4;;(Z~|d=t)g@^yf%CLT^$_ z>TOIt8G}qc88c}JlNmA@NwdMEKJFUxjlj`nWgcP{rx?rtzQJjBTZC=x;tX+7Rx*c= z38}b%^Oz%~VUe_XLOO~Zh_i$YRB-_32$|#pHCu-H7j_xA@B)JdKHW=yjA$c9d92^(k(k&v|NoG9N&HNrcK|Dhd+_MR`f~);l7I z0cZ_|29LTG6|(7VY%R`CESc#h*L#pV+@h;84ac6Lm+Ng;V)rKcB!#>ZdjdGVi9}*= z0QU&oPk0jpom(a-UNBw9!qh1IL@qNb)(IurQhE2Mo?_77FsX?rP*amn@X8eT_`4<* z@HacUKioCc;V*CLqkhiuAzElnwqS;dk&Vr6bo!jNl6-c_;iN=-AHz KdV`fcfY?8wzaiZK literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/usdt/trade/SwapCrossTriggerCancelallResponse.class b/target/classes/com/huobi/api/response/usdt/trade/SwapCrossTriggerCancelallResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..add846c7865eb1a0bff384b9d7fdcd5eef98beea GIT binary patch literal 3695 zcmcImTXPd-7=AX{Q_?Mz&=w+yMJhJwA&Q`owxE=P)fA8xw1~(yS(}A437d`R5Ac#d z;17@+E_6o9jLbNCgERgn5ubN=b7-hjohhBp_r2eHK4<^@`ivE}L*o+!pYT@U0lAC>UG1 zXV>SvTBEV-xoc~VH)mIiPQ|WNt~iZ)t=e$THr-0e@f27K)hg)~yU}nO2G$jr=WO3T z>)2HVdc(KD6U*(E2pZCIl%-=|O0oUz)9 zvObpC5%t?T5apG|)wx=UVeT%tRp(-Jebw=n?bQk~i8aSxit;*0zqZJ1s!%K1m20-= ziby1<`em01pWlf<=$}S6mZh|tT!>0&kSM9_BDV`g+0~Xz8~GBdmuPhIG&J^Nnljhe zV~dVou9Ys^p1tn)j>mX3ib-61yG4SqM8F_546H?OhcGSl;mw)jW zyzbm>+7)`gDd0=1x1FLtow=?+scjy{h{UjKep%+ZPr78ZHMdrPZ9k2GC}V4e1OXEP zGMw3Dhz=k9?9$?$MY|p}AU9O7Tg;+eofj{uq-;0JVVlRtG7EI#@|A_fd3s4$=Kwb= zK2zQ{A0HKa+GwcW^lRZNA@7V^b^X%{PIMP7S~Oji56alHH-fT#_y6TyO8t^cwWe2e z&bu<`N4MP;Q!@JsDm$_Hwlx;5CJRfbS~!STEgZsY7DjMb!Q2kGU||6>7RHdVFfGs| zrYz*}mW7Y-v4VZQo38yMl-bt#v9P0OE!0qF4^52tjo@*Y4K^_%9W~3oqvb2ea4&RB zg%hG+C)Q^B=S2YVV_~L5s{5ovnZ_RgCr-!}Y;>Tfr2kheqL>w`x z9HE#LFSuDheo(v~z(-&qfl<6c%u!-S$R~g16DTW>5&My_f;V~Uyuq&qek>rvQ@C@y z1*>I$MqF59U91Dh5@Ur77{>%(j2lxtdxh0r;XPXlvo&acAHzG5 zl00t-SI>?=Lj0#5|N8_NB$ETFPmg9FoLmcbkte*j~01J*6UC-bTh(rQF8r8ps}FRuk8)+G=!(^^0}xOJ)} zNi-OF80X3?Fn!#rxQvU0Vo1`xOY}OY!#1OO=LyJeIjy%^wA*a_%JPWCR;E^h>>>bj|Uq`R!C>UuhNlgB*yS5(!5ha P5_Ih60KLM>9zfzB{U0+i literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/usdt/trade/SwapCrossTriggerHisordersResponse.class b/target/classes/com/huobi/api/response/usdt/trade/SwapCrossTriggerHisordersResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..8b748b96290c1f33d284756adb0ac776cd222e6f GIT binary patch literal 3695 zcmcImTXPd-7=AX{Q_?Mz&=w-7MJhJwA&Q`owxE;()fA8xw1~(yS(}A437d`R5Ac#d z;17@+E_6o9jLbNCgERgn5ubN=b7-hjohhBp_r2eHK4<^@`ivE}L*o+!pYT@U0lAC>UG1 zXV>SvTBEV-xoc~VcfoDcyprQJt~iZ)t=e$TG~Ei{3ao`{)$!&kcBA1m46G|K&)U9y z#<8mk^oDQy&4z+h;kNy?ovYZ@wcL{Lxz)941u>tLfi6m+7U0zq6|^Z$->u{dZo{WU zV#!^rQlsZ6xD^Vv$uoswZ9P|R)>hq|U3YU{4;MQ#_0va2nbHu5D@FVX1aX=v=lG-a-_ z#}*yGTq|9+J$v2p+24$dViMQhZjm4?5im#%18dRSAxsN>cys2zt+%pYjMTN+cRXS- zuRC{}c7@(=3i#6MZKvo@XRa$yYMX~KA~EcmUzU09lP(!;&8-z++fO4P%GjDALBK?S z3}-eOqQgf&yR>*`(XIy#$PE?j7PDwq=fz7ZDcg;5*yi!E%mSUbd}U#Ao?a5xIl#?| z&y=^#$4AAUHX5oo{aUz6$UEa!UH_DV>gEIE)ji7Ab{eQWaQorOj+$lP(ef2!xEDI6 z!U<8Z6Kk{m^P+$aFY{{G>rS<#U~-EFd~vmRejPUPx8}R6)5G3x@#7G`1NQL)B953; zj!;aB7u>8LKPcV^;KQ(xz$o4%<_Iw(_SVm~NTRH0MR z)q&|5bv7u(!GY;A%U}+SKY%g00qd6FlX+DLX*HslQk;;~m)8Ok>ksrebp*>>`e=}Ie25l0lP#FT#7MjJ$AgU|E2J~wSLw(#5@YxjY2K+I P2|D(3fL>u`4Sl+)Cn1+_g2wyV!7Qb+7Dr{$zhhj_J21#L<*aI5*E>j#ub zExBtoYV;fhb|ly)&lXGd^?apSUv=|#!_9lKr}?H|4)TF#m!16fagDZ|pE*f;#%e1} zZ)|*L^l$G%oLZV!=j&xgy1VGsoD0qMRmWSlSF6ON)|_A|PVFE)+akG{V!dQnuiBm~ zBC(trR9xo#+>V4o2Q~V!EalzgLtI9KM9F3sxm_&EmRd4x zEjmG^UcO{|_PP_W$r%{MB(S~RB4J!2V2~O`)}ps#m=XH$=G=eVXyv~gt826Ge8^&7 zckVRpD&5}{@x|3!PAQlfzotN`Zyw2*#JKB0MW(t>8fCOKy;g{AKaG$m!)rza0aGC| zn%s1RjvoDN)Y9!myAk#v7ge}o%#vL@D_&Ab#r7*vrzgk87wE*L%L|KV=_O&EW8AC; z%z4{y!Uzs2II|N@SXjWUg)xjeqvLO%I3A46Grgv5`8*`7Rg-r#QtMJmQqxbwUP ztL1)1QdkpRtOLjqV?_*@z$9Oc8`C^{h1Fi+JzEO1IcTC+SnCzeY#|(l`!;PK!8@^% z0&fXd&rLi;@~0mE`$8?l5l8I5q(RcD@OK)+R`?j;;~3uEN~QW=RZ3;rDqjgzzK7#1 zo`hQL_EHm-$*wH_o0n0MPmnvRfX>n$?id-NktihvA~}AM|H^URDGJ@2$o&9KeK7Gm z^zWf1A58oPeQ`3k0V8}8FfUB=fXl99GI!F4CcVZeHc?4ux<)IT~LLPRbz@N#feCL1uZ18E}@W_)k4z2ty3*Y zqQTh1BzIEl|(C0rnsK$`Adq}NF{*%4wT)hD@uKH;f_$-E2w84)UzsVGb!6y+J& zJMV-bhM=_=T0H7zRLrJ#v2{3mv1F#3T=7xvaD%SO!aDjG{akOmGP^f0ASvXP*%QI( z4P-KVBe+lCLBbmt>fJI?@uKNE8mC6#=W>}*u}-MbmdblD_Xxw`hRIDngqoXri07u* z3U^H|;%_&?V7zOnBV69nM}wT>L$uJDY{48RM%tx68Ezz5A)N`oLPxHWn82sV^3H@w P(6OHb^b#w30I7cf9RNHV literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/usdt/trade/SwapCrossTriggerOrderResponse.class b/target/classes/com/huobi/api/response/usdt/trade/SwapCrossTriggerOrderResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..14a939acc0387a8f45d0d95ee5aedd1f96d4da37 GIT binary patch literal 3639 zcmb_eTXPd-7=AX{Q_?Mz&=w-71&X%mA&Q`o9uUf@k^<6#77^GcYqO9hVY3mv^at<< z`~h;qh0aKskr_vCaK_&x;`8oq4h^-VQ#zgRd%yR5-u(IZFTVmf3eUjjNhnxOK*tR^ zzL4XlfiIK1Z^>~xi9NU@kS)iGJPQVjN%Ugbgd_J?CRXJxnQ%?q74V+$EgL8+7+!o} z*XF!xy}snRtE-N8*(*BURi|F7R_e~_hFj)Sfi+*LINn^@uGgKqfi(r@8QZr{J9b5Z zUiWRkQCE=4-?hKCvt_%onqBlgx3W5=Am)?O*Fniw1H4+Kf)=IWyX9=&t^1TnEV`=| zYV;fhH$%Y|c{*RHu4PM&>WZ7SYi`zyJk2)hML+9%cG1ah8Pagm@2OduGFF-qmPSUm zt$IttQ7&mzovRiZ+RnUNaV|C1Rvd51UMUlkSatlxD3|^8XOnEE^3{S}zHWQ2h(vO# zUvin`Q`-%IzG-w}NlLlFd{i=nL`h!K{e?u_oswDxH043)|y$r9jR-vzt(8QwC>z* z*kyXYA=t|+cb$SiHF`sVQr$Ro5s4vJ{gTXWk95Xxb3UyA+j<%SQO45@2?8bpWH_72 z5FI{x*_nlV3wAANI&Pt0f0zZka#p;gl9F97g{>VQ8J(vSSFX-4oTZn9bq;Ey>@(dh z^YLM^rwxbdO}`qh4DwF971y6taICXn(L(8{dQify{ScJwyZ6{t%7p-2!C}+QICY%HX z7q%H$>vN%iO)WEN*J@6ss9<7~CVO>dx3~TV{^ksKbaU9>O@18U_k0h32*eSSY7vS_ z!GfDL;}3&_0elD+5*Wr|V%{NUhWx+?eFqEv$A6_iZZ7mY|7lVXa$u*CxVYxbM^U5quCS$?=wO z^~~54#DD7YzbDW#7;;4ZOBy7d3V&fSY=w_LK91qT%~Y!YRi#v>rSh#n7LL;oIH z{PEat&=o9^R0rS#0kDNO32YS-#bL@HqYa*?#BhlnY<}|V-b9!169{o8|kIf{9MB z*$^{KtSb8~Oejv!Bk3_sGAV&{j!0+mv{oP*-IqY37CRaA0~aAt><49%Ds(Ek);Be+ z&IE>F9tp%k0o2OcmM1zrs zajwfe)5nd9E4V}`#=US6m+5t!O?HG>N%br@(5F1LAej%Kza&CsG8KghgrdA8d;1*| z!~nD=Lz73{h>FhVTfwf$ zg#4{W=#O>{bp*>>`lz3Ce1I0(lP#D-#7MjJ#)FL{E2KT)*XYP~5@YxbY2K+I2|D(2 LfZkwb_aX5Q4~HGe literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/usdt/trade/SwapHisordersExactResponse.class b/target/classes/com/huobi/api/response/usdt/trade/SwapHisordersExactResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..2a65d4fe2166098746be8cd8d98ebc7a8b53b315 GIT binary patch literal 3597 zcmb_eTXPd-7=AX{Q_?Mj&=w*HEmUpOLli+FX^R2{swp4^w1CJqS(}A43CTwA#(%&c z@CV2Z7dRtjMrItn!5M#(h|jybIW)90I;GS3zW002=gnXL{Q4V!qo^DBDh>t9G3dB1 z#|=4d8u&WS`<5Kv#IXmr1+wK>k!Qg`F^+yLn{ed**2JpZB@?cRI|AMnzGVYt1tUxM z?b>;_QLPu9dSm{9UGOeDjas$Ra85PdGLZ_bg-XS#pDx>thSM;xrocR7d-f^Et|-tO zp6xXo3X=Id_IGxsY*$t@OJ3crtmYI%JW>)}lzi34t3@hkQ<|Pz&g9*OM~T>yyIP^f zy2H=|!8Um&U#PBSO3mtuo3U$drXG5lX*P;p#;e;!C$n`tqb;X%bF^cuw8C2%8{eMZ ztxbk0q&f9;waAEe=G}^Op}Dr=)UVhpWnyBhj<*!1aDbj{lEh@bTCmI4?7Ax=p`7ZK zT;_IeTdvbFjrOld`8L=N%Vdx!S?eOVi$U2NEtxj*O;#w@=wxPa?DfQqUtGp<5FRt8i3SMsfx&o!Tal}Fr2AqZtqcjQPl565|0n zc=WR&3wIaon%`?&IR2_I3wC8*yrhzn-6#be9UU8Apc9uaFD%Z}OTs$GvRU?+>$dsm zsMym+1NEj?4Hg7>XWWYG%_%t6U9E6^bd}t%U(Yu1>-EF`mwU5?i!W81^@4NOm0>=( z^(vT_!B%iM7GfC1JH)(8%rN=n&wLJL`57Wl2rGDxr_LMbiLn9(Okk2P#*Jy7y~1j*aAH$oHUmxc3TwT>yEYLH!u^1@kKn^lNtU;StEVTP zBKmWW|CX<1DBuYFmo!K^75;8w*a{yBK91p|%~Y!YRi#v>t@41c@?#ul@g&rIx0jlz zjCN&tD=&j0pCETo0iC5i+%YmtBSA{CL~`5$|CQssV-$Kgk^Tvq`gr0G=s!Y>KA!j; z`r>4I9ftoTU|yKykyWSuL|;mMfnASaO{LUz#9AEjtVWi2R!?cdqrX7%5&BbFO7CLo z%Nk_r%bF=en9PvLNSQ4r_3@@L-wYgWSLPvRF~?vA@c<{;Z4tJ$i%*D)vXTXSN=U^y zoW&_Z8Wu@AO-M(X1966sfjahKo{&i{P_t#2e`AM%b1yMu;5`3LKB2*?*QJ6p|$}6&W-Vs3zLTfR! zc+`!kkWKGm>u~mB$xJu7+JoHT7G0Hvb@VyVS8sHp{&_ZXj1#_4fX_x+}zma5xbSC^N9l1tg1YaV>JLxAu$6gN5TdeFp G#Qp_mW(@2A literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/usdt/trade/SwapHisordersExactV3Response.class b/target/classes/com/huobi/api/response/usdt/trade/SwapHisordersExactV3Response.class new file mode 100644 index 0000000000000000000000000000000000000000..6678812854b78a131867bbfeb7cb7c3f40c83651 GIT binary patch literal 4146 zcmb_fTXR!Y6#jN{ZV9I)1X>KD7OC2%t?`1l6cD*drA4HO0^Uy3LmNnwn4EY;)ECDm zXB;1#amH7fad=Qi%8bl7`hqk5CK122&q;bxLx-8dFnh1FZhL)et-W^o_rJgW4qz8P zw=tiFf}h4V_$fFzC(D8?i?Wn$oKJJVAWKEGmV~OxQj?`FymxIh(#XJf(3CxprRCr~ z2k$%hz`=*Y_{he`3Oi@t_v%N=&01sLZ!`~m;FW??PoD6b^;)&*?{AeWWGlE+)vDh( zQ1O~gziH#5f^*Ody#2mcRWM4md0%1k^m*?+uTb%-3x%m_;4k=%NrmK6b3q{+lg$Q= za&>{CM9@^o#3a)-%{S)hx+7@?y`a_Lac4urj(GQUskT&DY}Mw< z1+QK%G$IUzR&zcm1PyQAFRX=ixD9A>FHf@P+R)F9jIP)7TE|8y=8?t$oyLvR<*I+I zwKV59PI_|{BDHpxtL0#?!jX|!vf3$*v7*ezI69-N5;Zw`N(xddd6iRMqbz4c2N}U) znI+k`PQ1i2*zNwqdi#jXj2|r4=8t;~Z^;kXaSGqu6;yY#{E{Gh!4JZM46p%ub+$!~ z8ENh)Z^k_8ZIX8bTaezX4|I2yqoxluGvO6*em;z0E;Rb-auR< zLMI9)6$IbrxLm{2`J*%h*p_#o=mvZ%vg&Z}CO{p(|8C2xFutz%U!FVfmx9UBGYYEK zJ(nU8fz^UV8G0$X4#VMaOKV>A;b?&#Y^jj1XT6Zpi%0~m6#0}r~`iD4HH z;bDcn>pR`WYdGTKDLn1sMWLR-vo4-P(ZwWoyLcU^6}GP2>M%>4=kCF^f*+BN*yG|7 zK9%J&7Gr#f$=}1gj}HY+?)LbQ6o8Z(b>ZPzzGf?jg^i~0;`%Ul9xOhxBf8_gdfl(i zD@??1Wc$X(W>^mFRqQ3ldu0x%^hQv>#6~?(*+<^^TC-5keTKf{UO>(#8uOXQqy9y&eeideZ;wr3s z&bSKuXG)VXdlvI5LqpeU9v4JN@yE+QtjF9srIhza` zXK0q8L56}%1Z@{p*<@S=Sb@77VCH{?A*d3us5a`TLf>W-m6E>fVQj88&h#{9Kld=U zRvT~XY0P`T_*RE)uQty1Fb>PQhiC7_^O2JxcS)(GOC%+UgYVN`21AWbNvxQ`08rD6*EaiEt=>rP!tlXP5411KECp{PHn>AC~_f4z7+ z;NksP={8GuTj!9K4m-@lIKjgB)kW?bn3`Y4@;|^du8jQ&=R26mD`S7anHkS7Bc(q{ zq>qhrDH;=hVMETiflZg;PUMVbY-nq^MUyIS(aM>kW8FaZGWv36&Wb7Z6>Tc@6`hBBW3d2$IGNFRB#x_N%2n~w$Ll29DL3CpCFaOx40Lxq|!La zIG)Bv+xZ9mHeS7nK^v#|-%&SlPe`V2L$;f0iXC9c0}~d7&kFyRp<7d`AvkZ>`R!{@ zRiYD|QRg4kJ;g_fEOx&7f-Y=2s%Iv58+&vyw`V37SxP4}b{Y1>GB&;=e79(bAZJ7p zM+zK@`iiC&v9{XC$(e0Yf6>w+t0Q8?X|=s~k&cA1L`6zs31@JYk(w;S8>A9U>p8qh zKuM0r8N5Zx;AnUPZ<8{KYAfC$W$EPq2aJkwKiq5%h)WXS;m&^KuEjXvV$Sr vC;Y7;-7oY#q?eIfJz&F&5WWlhq8ukMr`xE6?cB5aWQQ%B!hLM(`;qz&EfaJo literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/usdt/trade/SwapHisordersResponse.class b/target/classes/com/huobi/api/response/usdt/trade/SwapHisordersResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..208a536e254272febb30f20a8a3b96989fea6a7b GIT binary patch literal 2951 zcmb_eZF3V<6n<{9o86>a2%!Z6tro4?=7lH}q3Mg*Ql#2IZ2m-`csVU0ctsx{XS0eM&(q@tnfk zQnCIZS8mnUDmi$;qugv^OqSn)OD>X*5>?htYOk#tOO2 z67R~gRQGa3*By5?05LE&-sP|jW4>N;6b>#`YR;9`gEgmd&0ec=C9za5+SMC&qayQQ zQFF@`rkdO@Xks;pNuVoSB%=S}@;U=v6P9;eu+2bon}NZxy#$QkAaMo9E!RuScEf() zxTKgMdCUj7F!t&gC5g_6g7R=T2oI#}Mx1Y2c9q*ZFkW4|?-bps@!JZjzEeiQ7US04 zveQuLlgf;?6=!*?ooUqD^aU65xBQ9WZHRhIe_70aN~ZXA!QSwS&Id!O)1heB76c{D zvfV8Ex(SbsFA~J^%3@)GC}~Hi;8xWohn@8LsGlu7>Sc24zWV4pU8z;vS%vj(RswCl zI`3WO?l2u&t+yIQ=Tb#9e!S<)Iwh~wLK4R zyklVu;}$O9LxrQed&69-QsqOpu!uE<;hqr3{6f!ID56BFGb6&VH|4eT%!u2ZVL6!N zGDfKI?Hs;v6fW%ZI-Rzoz}ky+?TrnmMiAK^HQd{Bg4?kX?C@_(y{lxt4BGxU$qqfp zmL5h(N<%9o)$v9ah+`j=(9G{i&TO zJ{;P8c%bKDRxz>&Cs~}L+n$i2mklZ0c0!);Lgw&puaM!F4Jl>ngdFxl@XcJa8scpe%dzg8hE@nQG)Ws+A z42ezjC-r2c%PE>S=oHPHNkg2>z{yCOZ71z90fqPQf5!*f;r|iN@IMVUZ+wTd)KZ8$ z6}->2Fj9P>=V)p82$yi4mW~2n{v@pksw_~RmVpMvJVndIG;^k58Rp+OU|{Asju@Eb zkEx#Hm~TeA&34((kWfvUO;DprA`&I(!lYc}zl5ZBE}|2@TqF?ES+7LwQe2{tln5%q zK-c3_)7p$zh@tpYnPo8J=}j2fEyV80x|!ExBdG;DrWD8Disp51i*@l1nMvK-8tP5; zte-GI7{&_bFi$u-mT{3*2r+zu1)>h~X`Cj-LiH?;l5U||$b5*%3od9RQz;S%rC!i| zdmfU7LFjFVwvV=RDR7H)xovyyUZpc(vithn;Vz*nf|>XgeYc*%O7w5xfKbRGanQG^ zyLjS|Z%4&W(B8t~-95zb0)F?J2&hr~bMY~A$b-MbQR6s}ddgqvBdN?2gi_fj*z;EV zypEFc{X0S!2s#R5cuiJxG$4Nm$(x9yKkRiGX$$g>L#%=5YYE3V#(2>q40sgLe*v85 BM412p literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/usdt/trade/SwapHisordersV3Response.class b/target/classes/com/huobi/api/response/usdt/trade/SwapHisordersV3Response.class new file mode 100644 index 0000000000000000000000000000000000000000..e1bc77016cfe89fef7116e8cea32e83d04fc9bbe GIT binary patch literal 4076 zcmb_f?Qc_M6#qT#eQUWJrLbWUbn4Wt+pGejc7Vv6Og2DpXPo+ma=HA2vw1#Doagx@7buQk%8}^A$uT8)4}@= zE;{(Y!6jjQXyYS=2WBsNwPU45wZ7=r8*{r(`;A()((n&9OJ#Bt+^I^%uOBLVjfUT_ zaaqAR>;>LI->WDX3)MwmVe|BP?|rXO_9{z-sY>84`SnSK9iK0Z% zP{_n2(^btk7U{YzX$GZoVY<`^Xpx#NEmgdrS?6(cpdSZ|3q_T-mjnW z=F5a;?JZSG!G48fBeCqXavEbrsf=-S3fE<3a&%5AP+joKb6&k9XG8}X!E%W;n7n(G zgfZCZ`BJUrJu~A6%hknGUfo;q12&ezm3so{9+g_sVlVkYScU->yITWW)R>VT-qNAa z?qZYjGlZ7y5J#;n?xne6;&#I_b+5H-+RS?djldc$V1wOqF4!%qXk-I%jR=@1m{bsG zo8xkgOs9_05L-*$Mxi_IY-H8u-Xm-}bpO4kS7vA(p`V;T?=J+CqpvHdYUj|2M8s4L zmSv))r1gix$(7c;=)=(hJ+)FHU(>c`%fxa*u8^UVa9l-B!jHb$z+1R5-f>MqHcodH*Ja^Y; zx_A}GTs)0EE?yMs89eLaITT$?Vy}zWa8_aK+Pw`k(tfvg^ay!G3ct_AC-_vB&zSS^ zA?A1=(>p#CG`QR2Ly~7wYSe{?XZa$nofGzx!oj;n)_!#OMvmy7_G&f1vZyc-zizGT z7@JKU7&%2c^jmkJr#@@r@XrIlKthT|Dk1gKJ4>c_R*ipwJg(^x^dp5)2xo+xUF2*sXq=&0h6Wi5 zG7+@hRAp;%6<`JKa)6ot8HS)r#G=}$qY8bSQB+F0v5T>}-Z<0Mm|fh(*jjJAsjD%& zpYg2^+g@*+?P463bsx{(kLM#NMedSPOP5GW5(nR>y$psL?UGngNhHOl(kWIrfETDH zado&f@6@GqqS95POQ{&|7!GxFY2B$yX_B@}X#j=8I1=^eG+noW|ECvw0T1uTTDMuc z+uDb$b=XlJ#<>;7uP$@nz|{OSmj4c>ac%4mIN!ibUK{%z&dhjz6)F8mB7I_DXfcOqx3Vna*AEt*tui&oAQ9qT5tSJ9Ui8uM6H^P(v^(M_OyMOW9>BLa&WoF1=C5Fyyd=lR zmzW`CFdr9if|SW`A16s!DB~zjk>WosY@wG)Irxh8KTRryuW>(SNu_ayaqPiH+xZ*) zHeR`fK^t@Yb<{1~7m}$SWUHyB*a3z-D`8RinDAc_x;3R5g0olWx2`=^iB51voqt^S z6rUop*!k)Uy0Gb}mYLjZ?9;{Eo|#-`DV@yNRoD}&*!ZsS-J&6aoDoSJDR3z2E1Fuw z+G-;wXSPKBMN5mUwulv{)%Na1Iu^zf6)A}oypA^*smU_DNh-m#p2J%Nl;n7v!P}$^ zj)t9hhm=WFTk$R_ODF$(IJe0#n0%#}a42<~hHKvmVGO`*DYSHqPFAF5#njd`*K;Ff zyHj~hzl(q-#K>nmtO?E&rwsQ4H<010wJDoj#bznZDz;|k3zfYiTzNmzUU literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/usdt/trade/SwapLightningClosePositionResponse.class b/target/classes/com/huobi/api/response/usdt/trade/SwapLightningClosePositionResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..955fa965684d6f7b70d06b6567ec3a32566d5ffe GIT binary patch literal 3068 zcmb_eZF3V<6n<{9o86>a2%#@TK#Nvsla?qi3MsAH0$NR=w19vW*(PhV7_v3lh<}1V z;17^5e2^JiW^~5UFF50G67e~^n>2lK;6rEHd(XZ1x#vFjoadg+-~aylJAl*pCJ7B? zX)a51#lS*}{Z(leQy9dOSl6VvF2frJzDS`DH%;7<{opc5 z^k|0!9mjkgneI8V&TVl*%|-UHa=H0M`l8h}^@5H9H8JoeeouL`O!H||6 zzvfjJ?52I+@tr1p8Qc~!UL4zF!g8Wc_d@w#FQb65tR|fA+IF4GTL@oSx#v{;sqxzi z%G)ZvXo-G3zveU*`Xqs)9hF+aY6@ou-9(tSIDOPJS#D$FzkCs!Y$sh-4)g z^7i_~h~JuK3VGnC7~vDyJTMfSLU}JP+AVJi6pv`%UR!e-WHh;p2zHjX=-#X`TkxH? z(v#*;M;$zl@v|_`x!z@SeEa6iuA6hn^Ez^Jk$p^f=JM-MPiV!k$=e8a z4~2+`x7MZ*tFYqv*`w6=CIR7WKAECz|=l_6Kp2%%L4~8@nmnYa1waLHGm(`x(z#~|bS#1MG z2VoXstRWyX0vTDe1JWLoP<%)HmqVi6_&>xc z{=8xJ#}7C|EycLv;(gA=k>hjyfR=_&a0zE==_s=%oTHUMoe3(^GSH-$r)Zft&olF| z4D%oCGcf%eLk4E}XR7Bo6q?Civy=8y45%h$D9X_}G7=@}5=ptp{|QO&UPLE-xkx0W zGeL@2zc@u9DG^kHj;^Pt&TG>_B95e|YD|Nf&Od@Nxq;MOnKz4?EM&E4#gycPOUa@h zEHN*^CNrxCOGkDO^-OqR#4wIU%wmpobS&Tktr$}H92dzt&ZlvbA(l|jV3^^SP)jf$ zAn}3|8iT160|=#F5WYE%$;2S^4xoe4woXN`L=S8exqX&k(qt(PV~0DWsz~PaZ|J-A z6jr8x1N$U|>@xd9o4QM94up16>{Gnx5FHL9`5%aqbO`_e literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/usdt/trade/SwapMatchResultsExactV3Response.class b/target/classes/com/huobi/api/response/usdt/trade/SwapMatchResultsExactV3Response.class new file mode 100644 index 0000000000000000000000000000000000000000..75a93641fdbcc0b527d4ce7f550093fff4c5d3a0 GIT binary patch literal 4188 zcmb_f?Qc_M6#qT#eQUWJrMN*6b?Vfu+o%Gfc7O<}y_$kisxSHqTW2qMZ+eBQS6eE~)B=CWZ%!*Dms?8;*_doT zXjW=V6eWU|LMA4et!uuqNY`CSJE&9(vz1mri`0B&spbXkCXYKG8g|9|XG`_vLb+XE zs1&?LrO=Ep6xyxDpb#{@MZd5P+|drE>4QAXUg)5&j*V}C^K}l7a?OK{BRZd(XDc=T zM0G> za)q@ya{H(WXSnx-tBuYnnK?fw*B4KEO>fx`{3cKQd_#b3a4Sff>?J=4%QD1f=-22L zHRhz(@90tJcDqUWX+q5Qh@+Ml_tJbZaksIV!V4XnE^~t+5@4$XaJXL$BnK8%G{T{{ zMg&k4OezS(t#P?Vs8dL3h_NH@qS2k`MOIzz24mC^{5RTOl_B;(cz)rMUkawj&nc*S z@34wQ#8wZ=G6_?1HAcgUm)5-K!_fjg?NT9M)3#>Iq;o>9kfD=s%tcPZkAeBXD_x%R z8u}t~-s>^#l)Tze37k&KUaK57VsdPJhH;%dH8XdVfs?j4^Ek!HjAAlIbqvW-In*2t z&v1fzSTlw6e7)T)`Nt|UT}Ia#P`jk-70S0iX4g3=nuIQ<@Scl%Fyi7~+~?wcjJkLL z4=Ox$+cCI!3CCSLihVAg5$Z8K?&1j)T})%YiQ(%47aktxi?@1S*mnxg-Zs+iqsF&*Oy2>o(eP`F z3RCfG+PTKD+17)ZQ>aJ3b7yX<&zd>>a|AGukRp;wNFDXgQtF-6|GSd*&ABnVLZYw+Ur=w{|+6k#IQqJkG4Wd#0GYgc6AiO86#&8Ia>@G zXK0q8L56}%1Z^)>*=k$`Sb@77VCH{-A*d3us5a}ULf>W-m6Go4V{EQ9&h#~ASNAct z)*5f=Ys}lg_|}GPuQks0F%HXmfM*}XlaZ4mcS)(GOC%+UgCEddhC_{RNvxQXvU>8jDCR7~M8j`VYB-KtAzlCDc>0EMSVPUVahZ0cyZMUyIS(aM>kWBrcoH4Nm;oE1|VDB4sSC^|V? zl$=P(&N(rq!D5O^gT-_%B}(Z?DV0lil#J_)I(|vR#56)Q-H!MkGkBJWhwv4i zLvY@#^E=m` zszfI^qt1U$_Y|Kdve^0RW4f^EsF9i8ZyeCY+?km!vy@I|;u`F!6>PpBe79(bAZJ7p zM+zK@28yN@v9{XC$(bF|VA0Ydt1Du~X|=O|k&cJ4L`6zs8Rzf{BQ;ruS4kz9){A(J zfRY@Kb2v}R;Aq&5*GZW~wG9_YSvvXO!1h}@Qgc$jJhc&?^;*{Zj=x1d3YHi78SFlw|vw}OaLm};Q%MOS1 vfbh44^q|n&Nv|NccEE-gA$%7OMLAAjLAOx}JGp1|$qrjMg}d0+cO&&5WzvMY literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/usdt/trade/SwapMatchResultsV3Response.class b/target/classes/com/huobi/api/response/usdt/trade/SwapMatchResultsV3Response.class new file mode 100644 index 0000000000000000000000000000000000000000..e5d9433275ca284084a797ecef24be645876e4c1 GIT binary patch literal 4118 zcmb_fTW=dx5dMz6H@lm}bxDd#p#cIUPJ*E=1)Q{$mX-#RQkqgI_l>iS-8#0h*Dd$U z3*rfhCnO|Zsf79fhz1EH1TP@*o49>*cI~W#Eg_{*bk6MD&U`a-<|Kdo{o~I74&oyl zt7$0sY3zZYf`f~)tjSWArDEe!n)_v0s-m?nR85w;EDhnkVWXKw2EK!q?13z82Ui?i zb?~Nxw}kPwjdv98T)yfxmb{=;KI^yI)u46$0EtGu*7A?FE7euMso*ZuYJT&0)oZo< zmW_86oF}}%JLY>e1*247^%Zt4Uh=MZg{oIuD=gFkf6Z^sDJ0ihYYN$zY&mFFYHJiF zf|f!iCRwa&zOhQzT}eBrR11rhRzQo?a%HXN1??t}yAT?7#q*1$`g)<h1)@o1)n%=5k7>snH1843C&#_lJz*i=xw&!>7kx_DaoN-(yaAdJk^G~36%)_kQ_363b7nvA8XliV09%4v+FbGao&b5rM~6!nrE@MPl4Gy=L0F7Y7QSCUThv&RmcFG& zq1)6Z<>!bl+ar!TTii>d#l+qIW%gd`*mRjU4;`_!I@regWnSQ0RMFr@;~Eh*Q81|> z=yt{B8l27^r6IhIybDCP-pi3ymwWTz>FE78+Fq5>^+f;7$|b)P%uT(hpz6JoC=wA? zJt)hVOUX5u2*+7k^P&$&3-l;Ug?vrhnk{3@3AsXsPQn=$ISD_8mIJSJdC6<&OUF5` z$FEcJY9}OcIw^ata@c;!$*Bd#b>{5C(g_Am+TuXtbS5*3$(YbFBq!uhb0R#$3F=|F z6w=G}cC+N4tjHwUH+T-+FKw>y>bAz`VE56Ob1{qeT zoGCxdY|o4bE$;TrxTKwwnsVXc5x!cRM}_UBaAG_7x(^ed(n;OrUZdgHRuyLBcd&Cu zV>7D~ASe z#_U}b$T=8V;Q>6zFWT!^#s3~1t;DcLdX2V1NyG;BlXi6!!kHxJ069Ai8fR#hp+Sa% zOa$#9RoP%%1z3T*9AM_ZhaspEv8YCLRH1J(ib_dO_AxfM8fW?%vzPlATU(8H_BG}m zV0>G{wznE*`xu91J{lchmW=U>et_e}(e}%;fdyU*Igwx?>nNyEf6LNwiu_znwriik(?C7$NRO)&GHVv)Qg z$HymFB4scimvNeu$!{Oekg`z4Nt_|Ye{a}A&ysTR8S8(RR0^NtHY}4$;~e8Sgb~~M z6T>#1`wL?>&hyt%f8o}UObsAAO|`%dFywIwi^3;`|FO`mDb*01gF3%+?Wsz1f-~y; zr*%*9K_ZKtuRf*=n~oZpxq0KTF6Q3MT$!bGGSk;!&u(Dkb>X{3Lj*Y^k~mV}P&8CD zwTQLVMo!M`h=z-n7Fk^pD^9Du{fl%ej3p{k66<&oFELV+Wq6rXf@!^oR|qJ{@wkLn zNf{gs`|%nnlc;v%byAj2{?~B+A;Vzum14r7)IT)b{7wjC6lO=Eqhs{4A~h?fwyC+5 z8!6kp%A5Lq1T-N=zT9C=aEUl&xF7uq8NOOOv)K*olG1G8mh5OqyWFy4Aw4Ag-61_J p^sS^fklQ+7!;28U3rC|IC$OU1sD!=Tv-)I*Eu6ybZ0kFa`WGv~X$}AY literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/usdt/trade/SwapMatchresultsExactResponse.class b/target/classes/com/huobi/api/response/usdt/trade/SwapMatchresultsExactResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..d05fda8d63341618e096221eb4fe0ff2b7fb426f GIT binary patch literal 3639 zcmb_eYjYD-7=AX{Thc9*&=w+y1&X%mC5oVsUXV+HY6?gJEh4Z@)+Uf9A=wCi^at<< z`~mWX4>%)bMrIuSf;0Xm5ubO@=F(6*I;GP&=RNQJzWMX-Uw#E}1T_m^#-U*;1{2ri z_)3l&7QT-2zA4A8ICkN-K&~9i^2}Mt$I*)=8=lvL zx4Pi^xkAmWH%fke?tz>0FMIWBrCj$;HHxLYSJU9km&;!5bjhvPy}E@}4fYw=cTah4 zS%X>kUB6M+kjUO~zjf0kx4e>G^lQcP%9MtPPfA}0C0hybdY%eel!jj{rL)DlPl?!K zaivU+HBZA0CD|JQAE_<~r?sAEk*ox;bhPmvgKO1B-k*(z1(lxhM z6p>I)_X|ZP`Q%mupl=3UxFV%oXFe>MMWUpygWM_%Wp6fRTF5tCtysOCpMjCr(=&RF z{j}iug-ZUCTXR=E->WeegJKfX&Q6gaBoVMkRY5iBE%&E{KDa*P-&LDgzZI%$vA@x1 z#kA?&Yq%wPzAo5{%Xhq-KQ($?gH~BTbRmf$SNwv^ZI5)uaC1JL0NZ+60a3=&Rs;cK z0aDFoT%pyYmz|lryWm!XrsEb0_J^Hw%X8u-l@#21LA7>tWOSZRT)I5JFh?&5n`*r< z-7WLcVX8N^8!mj-gl=3GO5tD9|8BjNgSu!ypQy?EQfKD^^#2>Ugh*rI6%^O$xpf>8%k0!?7j zK^pHn_!OUM*wwwsS|64}n>szBI(NoF1y%OS_>f-@9{1Qt<3rLpGwd%~y^K-Le%p+i z1P$l67+LFcp@B^;GwD{VUOBH}VuL1oePy?|{yP5V40m+1>hC5$_Vatbi$4USh)A^v zMWkTC&6@Ft!GQoi2nR6?;}9|L5;H_T`LmxxTY84b6T%wa<7x5+dU&!WTd+pz zXGDcH(!shNDPkPOfH92o#keuavs+m27Vg_nm@PpQ-NHt<@Qw|HRk$C}_F;S&D#`Gc zaLv@%Q$&C2^4|%x3@VP$e@TO+Q{yizhOP0@$H!58w2?~vzp9kVv{dd3RDO(OES`j# z?ex+RmC=qY|C^Vp$j8a8Dqym-2ir!5XhfwXLnMbz`L7-09i!00vDA++^v7er!~6k8 z^zqnlFc-#CYp{YR0sF!@kBmO?2YQnF3+#9VXCkSuA=c!GXAH8$GiK5d9`gkfkI5n&z`G#_|RhfsF!7PIrzyq9Mw?)|2MSMbBl$Ffk zBq1H=a2BTs8CW3gG$9iu4#XKk7HZgoIYKtMK+TS2|AlQ9&b`E-h4cKkwU^kfz*r~P zY={{qR+oLI5{l#WNP5hWOiCb~BhpzsqZNoj_a%_9#ZCnMz(q(D`$3ze3X_Vi_DxOe zGeIHt_DvO72D@+U5v++dIJX5K&*(x(>LJCJ;wVy2#t2BPOCV$?jexXw<5WwMXfX6J z%5|A#`nXYX2^R=O5T|<=>2;J%c9>X6^(;5g=RA!dnfGD7B0^^}HH`^`roAG2`yCO) z0E{L>lSf~V3fasKwl-%smdtdM+g;@jH|eS@tRv6S%k{P`v3(7Fl0sgI9SV-GA(7ar z;2wed39n(Gd&{Wesp&crrbgrU@d~42olvGNop*og83uz5lNx^tJvH$ZuT61puxnC^ zztsr+;jW>MV0lX)^>dE*(?WZ)1#^%XX_ww;u#seiv?u&39l1tg1YaP@I}s$o#BL7I KTdeFJ#Qp(LWgk8O literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/usdt/trade/SwapMatchresultsResponse.class b/target/classes/com/huobi/api/response/usdt/trade/SwapMatchresultsResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..0cc477192ec3fd939b74c69ec9a990c667586b24 GIT binary patch literal 2978 zcmb_eZF3V<6n<{9o86?_QbJpZv;apUbe2Kra?Wx+%jgS>87AMFJhTW8$vN_hk6e#FB}xOx%~%*Mhra;DG^K z!Mtp{_9e%zDp<4Cs#Bk?*o}tMP|%9BD9p?iYOC2&v$kB$+H2)(-D#}VstqUGY!uzB zTepi&cJYzDmbcwPiN zcbjFd=IM=xjw?p-cw zr7~lic!k4xzc}x)7$l&FH`ylzIw3bDKRe7}9vWdDt_{6HB-;fUzRi5+9k)~~&f9f+ z)p4CV50CSlFwWkgy-!PyQW>CdB^q}%PUU79Us1@plUlg5SZw< z=9Zi~V~~sw`s_=1x?s`a8A2XezA0Q9o>6FI`UVj@d6&Ysd3(((CLa%JPe8%0&PbFL zOLn8=^C3DkJj)>F7iRM_jFNK9r!$p70LEZ=T6EAm$*uVeCU&A+ExS_+E3cG>Ew;9t1M^5Sx^58^|J?ii(|}F9>Lp`EgyhEyu+1}`f%L6 zIkJ0m&%T>k*L^lecW>_9cXJvUUPn&OagIow>C7h7FO(wKjyvJ)?(-2r+;S&Lh{6cb zy5gdni&2~*Y>&&xi@KEDwpQc(oayj6+VQKSGagWd4MfA4zXP_m&i5*GD+yw9&uOk4J$p zMRFaTDLoZy1I2R&LGhfKG6ZA>AR}dlAZ>#IMfc=?$q%%Z|HnATKOyYp_yOn1r3fu$ zd_Y|kX}-`8DQUQhE4V;ON1pHhBBdBAEKrV;fjY@NPRYas&&=ANx8^DMABOq(HXv6Bp}jxuSD!sRFOzZ2oQfFzP6u##yFVQay#EOt++3lKBX+=TvA+rcz8GlzLA1 z_BtYpUg#kp#ArKJ0W8)A+eYrz63j5!fc@OzK0{RuX6$!#+DuRjLtav1!w$CB0gt#lcs5$VLF{@_nv$2x#v9hInO=q-~aylJAg@i6NQFF z`CO6DRRc>gj-ShCIfhZJh;>aq*JXOcz!x#Zanr;t8E>2TQpP(bzA|xF%&*1orh$6~ zYz6a@?b@@BU01Lc>UF0%SF>9!r=<{SxwhM;ktp7`zqj)>yS|oRahuip+LVG;<~fDA zVyW>UUuid1t9g69nr}L-^+vtr@-`;fya0!F@uF% zrWx)@Q*3xiqHB)35}+7KP4qZy;h1Zb9fkeHYTdcgez58^ui2|Lt|W?$l3lxDH>)xa z7B#n0WvariQ4_2|P=Z}yo{;w9`Z^givge)inn;5Xte9>klpE#Cp-c#AV7wc)q_ zaH#+A$iTy_>43xG{==gK52umgbtH3vV@PnOGaFD(X@#(bJLa7}P52?zIgU|Y;87<16LjrK z=1*upLJvR5`~ht-o8E-(O=(1~Wcev*xxWxkYR_@tF|1rt+l0~aFbg_e%t9ooi%;Y^ z5|1&I)RU1Or)a^TQ?y_v4RJC9CnITgoU|td6yCxA9Uo|y|3^5(e>vE}@dM6MOCj!5 z@jlnWNb`w)Kug2NxQuhObS(1ipQjZ;jRh*uGSH-$r)ZhDz?>OahWQWn8JK>7Lk4E} zW2zT8;+xT4vs3mnBvg}j6V&KD5s8v?VNx#ge?ro`7tsk{E)odotXCrTDK1e+N(2>Q zpzFg^7qn@w5XXk6DlCIJoOui*w~5$2SvL!sY$UZ{$CTpuThW5w?~5QedgSW@ou~0pO!=ziN7BU|q@{$W0$yAC2LaCQ@ z-1X_vK9bIEAe7E+V8>gH zdmSb1`*(#f5_A;C@S3dXXhi-Lk~a~@P}u7-(iY?$hgbvAR}n`z#(2>~40ssP{{WO= BNPqwU literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/usdt/trade/SwapOrderDetailResponse.class b/target/classes/com/huobi/api/response/usdt/trade/SwapOrderDetailResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..48657446a5dfa879ae422d2f9a4fe10fb2f242ec GIT binary patch literal 2969 zcmb_eZBrXn6n<{9o85$^g#e|o)KW!-1RCv&wxOT`ZAF11P;6_hU6QrgnkKl}SpP)- zfIq-~=?9$=I-@g=eyKD5CTo4p?k0q{nGVAY>^=A1bI*D1bDn$PpZ|XQ1HgHFlZ1wO z`7Frix`D+M$Is=nltLet#afZi4VkVQ_#%Z4+%$1Z#@i;ol<|&I#XvZ~F}z>A45?_jbNwSMTSSeb24lA6L*yJf|=- zSFAnEmm9S;H*c@IdC#e@*Q#|V->8@Tyzkj1C%^p2Ucc^@9B;<)ZMU)%xePTkGg{1N zp02h$bG0B#^1kCQM=*MaN7@{=fK1m)j>6G7x9Ti39lLAkA*O=4Ic(dNux8S;OuFK5x|t)g!5g)u5f!B%Ij+noT5KIa$7;ww#zBnV%(Zv zc07d+sn1YTc~-F6nkIwIP>tfP?#+~6lC&ip$6%D*{!<%q=MVdN~F-k zV7{&7Ev{3`wT4%8uDYW2fqmZC8F{%DGI-6x2@F^`iPse_9ayp!KEzoIr!Z*YJ+a=# zI~Im9V&NlvtkA!+Q%p773SYj3S*$6X+6U%vSnvr8MU+VS=%6qiOnEtdbkMI)uq@2- z2?nY4tt_E{6s8V*rB)kKpbA99_WHV0C5*8>s=2!bMK@$y*yi69eOu{5K{WkwnmxOZ zO+Jp86o^(#Y7~qt6UPpaG7R#2nzKAd#Zk}x3iWf~_6EO+V6hu-(zZee4B;)#lvIb` zorhyP52yD$%&P8jIKK06&z^^~$niRoxxg_dIJ3D8s9$Ksu!TDnoIVzMM7ZTnLWsgB zy>-P&7bjylL$_TaW3L)gxNU_z5roX+-MvD_Up1tZsTJ~M5R$JV45==1O!5McbJ?Gu zYfp23LHiMU{Aun_X!E1lP3XatMq*)NG0yRS54LgqfD6=8 zj5{vg=UNqLP%fw~o%)v6ue{saX#0wlV zFv%ZNy}tqL7pb zD#1WEy2dYS6G0&cy2i^agV~jP0%L3wse7_+7Btz&Xwi--#R<2P1wGheU4lbqMh~_I z_NIC=Oc)`IV+m83CLA4$n4uLz3ZLN$QOEf-&XQuGdJ_GlTc{Q?A0hFQ3mVB(iUdNb zmvrBn$7G=odefolqitV`+!AeWTb?^t=}egHzae+HOQ?!q&i{^%ThCynJ2!DeDCCen z8rsxdSGqg2lVYc7Z=z>s4+*?*1!QbJiaqP`L__r{ DaDWxrhi&m`CCM{7c0_jEMrqvcIEkzKKZL&0hkkn)&@+0^I z{s8&H2c3~Jqce_v!5M#(h|jxcvq?joL53OF^Pcy1p7)ym_0KQA0hmT52?HzgS(VQv z3u`H!m*w+C3d6V})K&R>Dc5TjzDl7F*KK?)=M5XKoa;6UHi|-eqIccGO$!?e_8HfA zPkC-t!C9zQz53~j+h}+Vg+#-5{U(XQ#ar&TZm!~1H*za}yRw~BR&98>W~1om z{JLB8aw~V;%?tISS6`^!tX&Kh##-=a=H-bE&tC~q4~RnwNh)=3*Nc1Oy%C5Q-4?%l7lq%I@pK(4i4aTg<~(dLmZsJF$Ztrpo0&D z8pni#46+W+;+(?n?)7)7S*~yoIXI7!!hxO;$92ohIVj^6i!?dvH-gJ;R&a7uN;b#B z@}VUhS@f%5?Qx#yxVxVhp`S|l5bDpaOfn@GbVU5*+)=6k&2;>KNWZx z(HbFsiA@ru7&^mNybSR2F5aV>;M(Rg_M$E&*OAM8fy*O!pXCsji*y~KjEl?o3!v0x zo2Is|K!TGt+J58!AJHi}N+xGV<5$OdCTVm(oB08z@i6-bjPGH_A7+1tu{4?4f*D*% zB+gIrlQ*XRL|@u?f}IcGOr?!2SS<}ZZ&Jn1C(@?qB%WaK0s7NsI?l z-CQaYCik??9j+6qEUf8Y(RbxBoWcGrye28+F}Oq1?7M-%otjPxJxF>BySlfG-Vb`Z zro+@I{;*sKk^ofsmch4%GLQLRHcV#n5n`FCM|f_E`+{AQ(fUy%428RfK7w^DeKaJ$ qn0%o<*}@qmN7|)79&998A?*oYCXml5jInNec&3aDCrxKqD8B=NlTQ1Li!?5idI{wZK;5WY?HMKrb*pw#6Q6w z@CV2jKFEwMGdknw7o71oiTIq|%}bj)!_b*_@45G$d+u|d^W4+^{qL{812~Is;?S@p zpKJ2DZeTgV@pJjCB+!plvDV~sL#FEnzDS@8H%;7<@wSOCWxQkJD-(Cc{962O8n|b` zRxq#Fo_*P|D+<;^rQ*1AWxG~$Y6`KMXM1%T$;JEj_ja~yS2nY&o?EJHPAO;wo>Q1z z%vZOv#d>w4l(n}@S=Xs;S1UCqTdx(otmoPVC%gK<-oEY@9Csz$9BJIiI1!IG^t9cu zSoPz_Hyv*^1kg7+*5=THFjp-&3P%@973W%gYr}EZ?2R&4l8e>6U0%1{lFY+J%`298 z)wx#zOq>Ss2yBImM03cbbp~4#X7?o4$h_9dynnPa@v(Ihw&ZxlYGK)S?JdW1T*fkZ zEC6_E^lS2p1m<5s<*<0^DX zHAWf=v;5WOH12N(0!sv2!Nl-4L@{QtEM_-llK*ze-u4U42SRDnA#Yda1tra*T`LA! ziH?pf5XADz!qPlZ(vDHF^|D9)n%CpyL&tmRD&Zh1V>cz>tNLcwJ%g6{Kn5Bb>4D28J!XFV;JF*TN{q zEL_ATg~9#r|8l)l=6klVfDMII2ei?kurn6&D3IFmVPVvtG8KJ%*sINue#ZXY+m?1B<{`8~y1mZRdRr+`)B-U9;dlSx$o|8< z2Oef64>%m%f4J|!!)augj@+E%7!jQ5%nsBOS`oBxoBrv6z$3&hISC;O|q$E9bwoZ>lyPVtpI|0xp{|_6oQ?yJ>^Ue$`!~6$F49q;ofPq>5nCdx> z2WGt8Y?OVHglf`c!Wvy5B2khqOiCjECnUX@h)(#DNGPOpeu>zfxI`f-5mbzUZuCq| zYcqZ!hI*!oEQ8sTc?4r(7m0haZss)ENNM4YDa8r4;yK;lVqN@0W=i+Bh7P8BHn=cE z7{v-MV~%iiEaM8T2om@V^F$rx(>Ozlh3Z)hl5U||$b5j<3od9RQz;S%rC!jzHIK+b zKlFw}!$;e@6uQOQ+*+RdSLsZc?7RVYxJ#&tV9x%Au3JxGCA)WVL@4BtJQ~>4T~G2@ zV8_Ky(%wby{vHx^fuMVx4XIK5Gw~_!kOzN{gl7bN7Cavh@>ZW(D7E|en&|M w{!JnDg&l=4{3a_p>XW~HCD4^8f$< literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/usdt/trade/SwapPositionSideResponse.class b/target/classes/com/huobi/api/response/usdt/trade/SwapPositionSideResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..f33283cb48e9aa5c3f0c4f499159cec55087d707 GIT binary patch literal 3063 zcmb_dZ*voM5Pp8i{Ylb;h5&^qe~J`M)0Uv3NK#NKAjJl1gCMBDHMwaHLlTpVj$g$O zAa8h~Gg4+`#?d!8<7e<=_)^4Y?=F9uHscJ1GWXlt-P?Wk+1+3M{P&k%0h~nH#8LtZ z#RT@C7>9u?^0;bZIl=Q2d8~-7B+@mJJ~eSY0Sm<#Zpisr3^(Px6~pIpeqrKEg~O$9 z?dEc$?RsvbUUDnWiqmd3>TTy-$E{VImV&iduRE=Un%!h*i8?A>NRpJg(5SGM z@g=wJTpR|;oo51X~cG?{df_L8Em z!{A8W+@yS2_=v9EN4IwiVx$6-J^{Slp+_H`*l!JMUlu$GZa80e>>As)0o~QrdrsLa zOy5#ajg31RniTYgSCus%lL?#ZuCwK9d#`cd7;JMQFa<9=*t7CiMZ4+GDQ_eHQi+xA z`UL^RyP|5htHEwWGt-OAx4g1gyg)#d4X$>l=8?NzCVeUh9P=8%HKLFxH9D=bbJ3M` zIyh<-kITf65n7)h1AB14}Q6>V9Uhzg)ycDP_ zzd(hz@ODV-(qPC6u9NnVxdz80DCbgup~p}ar|=$e?nMcwIWiGW-Ff7xiz17&C{WVy5i6Ldq@&3C z&QLOF111qSWB*{MiT9sj!o&ysA5+h;KM>xeV<&6&lG=iiAL^=XC17 zM?|p~de@=rqis~tjrn+8hLx@`r(&g`3ig=heW0;gL!Pa$+63QYp&o*gd>( f!5{?NnhEQQ;IiL@k1@eB__}RTg$5+ literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/usdt/trade/SwapRelationTpslOrderResponse.class b/target/classes/com/huobi/api/response/usdt/trade/SwapRelationTpslOrderResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..8be21c04feeb5d5ffbf1414b6bc710953919bac1 GIT binary patch literal 3639 zcmb_eTXR!Y6#jN{Zb?relwOFS7Fx7TTOtZxdIQR}(gL;xEh2E59Ge4a5|R_qM}Gi+ zz#kwlJm`#+8JThP1!w$CB7W{OnjB(ep8lPqHtR%N0t>i=1k<1*o9>auIyi1Se3nC!Lx8j$h#(r z3WJOHoyvk+bbPN|TB_8Fm#cZVy5QC-xM$LEpdQG8g?vC?~lPx->)$F2Q^-8M~3NfFORGVb39PqU~4KyWn-z#S4yqeD& ziA8UwUt4jjOU_D>9AnZedH%G*@u4=nA|%^50fL)= znHat%1t{m7;x(u0iNVOK<`+Dc;M7jjW8}RX?SEHk_(;vWexaPd;#8eA*LSP*_x=CR z;k6c5@JOt>{$kXe-7N4H?Wt2`NqTpKIOjrVZW z#i*bmaqPNm|O@(N?^?=70qFHe}()Zd`rX#bZcQbQjH`6=(? z4}myhQY}(3DOj+xX8d7rD4+*mBY{C2Cg&Y;`l%=Xtfx@RPZ0Zww8Fbw4ep?}Vhaq@ zu4tF2t#R+pJV87&@)%lX^fC0z*kc$!lOJ!p*?|l>nNS}i80CpKgXqL^cMzX=@0PCO z-7(VQFXRl6bA)tfoL5p*PEjotrIDo?+lQ-!B`3M2XMTYu8N}M+*d4?X+SQ{tlyuw{ zm-Wq;Q(InUr_#k{&&KAFZ#yLW%W>KyO~4@MVuwIOOS+a9c~e<(rIka= zwNOfF83sNv!)Jzk2{SNYcLo@y@S)7`2l@lxXHd%Xp0lfqt(FW8Gs)TKocD6x`;q_t z??3z*z{m09EZ&Xn3>>s%Y0I)B%hR%S9CWk%MzZvTbyv`BS-vjIGqOA@gl{qM#9UC|6qR zwW4r4xE^-Hjb?DR)oSyau-&4%g<8G6U1_x2jb>13bla_pKOk4ugHGr-!)JrdOa691 zRo1TG?C~O(SKh3vJ8i;MzhOYkxVhaWGB@d9-_%|dHY>HT8&N*99yVHZu|pj!Q==>l2UyMnRK;MKq_WP-ypXJ9#2&C z5AUPHw4^(5cXCXIBqSDj#NT7Xbmgv4v!wPNo*HIJ{8eGqT-sw|?Qx>9@0%*-Ct@Z2 z)BEVL*kT7y_xvUu8gcmY#;u?pEzR99V6;aEUrb^o+R;|fF_4o6nn`A)r%wA@M-gR2 zx|$%+Q->T(x>56*(%)-^+^PV@3X^R{$?8#-)q;AHXQ9@gTJ?8SU-PBlVCSuMzjZ-8 zB;4}5Tl&WI?A!_+xU#mgdVwAi+nj5?X2f~fH$6S0%%17nxhi!)H+S zuqtQ?r#&p=jE9Hi>=B&x@Fdt}#}7Ve=XzmtQ?h#UZCseu$zJyGBfP{oE=)&VwRxFw zSeT9jw#mZ>#sE_+)$Q->1g%X2i^IJb zza59?S?oQB`3Qf~4Tt7m!p|H!{LukeNJ&zOQj%BoWolvIgTy(0Kg9nZ?qZemGJ}6uqBdjxjj(4BOqp^}IzmgqWBN{%c;<;cJVTqK*=HKHXum#R{uM0q?)+ci`~p_`?)q7~-B`YE2tF|K9eG;oiOHEWAMPk9kQjQ{>7@yuX zZDyR_G+x98>U6@w3)mz|F(J<}U6S6D*uvL{OitoeG>9yw>>-{?dLtZ1NaUzw{R7!I zd0;YGhQS2EFy5q!!9FDilduwogvT5`irMTTwgKnC)0o*AWghU4A;co?A(4U9cp3#6 zCjR)*8OJU|CC_2)k0?C$3XT?w`#2_v=co99#<_h=7N<03-%S>eYn&IJ2Q{9M^Ahns h-gWSW(H*H@)mogg6uU|awu$%ho23mWn1c5p^B<6ApGE)x literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/usdt/trade/SwapSwitchPositionModeResponse.class b/target/classes/com/huobi/api/response/usdt/trade/SwapSwitchPositionModeResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..7fb4cca4489a41156cde39dbd14e17337efa0b82 GIT binary patch literal 3653 zcmb_eTXR!Y6#jN{Zb?r|D7_FtEw*5rwnP-Xq!&xMS!tnCK#SZ?lS6Y#nv~>3^woF% zfImQ9c+eRsGcx1o3(okPMEuq{Cuv$rN2f4l@3q%jdtJV@_B#3NpI?6ia2!<=UnQZi zm_#oY6EJa2mak>GZsJCg`%PJHiNbB699fp+m^V>Kq63Q-T-onfSeCtL!LzU;Zy`btGP83s|wa> z$9JY(r>tPqe8;cX6gp>DoNt_L$tf>q7yPPMULI43`IMwuB(s%(uN7#ZDXIHjDLd=c zeBMYbc*|v4thx#}!i!Du_-wwinl08VOJ3Gl^Rm?_(rmp}@Uwo^DY)64a~fy_J~l~T z=29cYmBFFi+uqrA1Sj2Ur--t`o>{N#UZ}4wxz)?gQi&X6+$($jq{4~87RVwnTQ~uT zTd)}$x+*oOd-D0d7B>9sd8Bwc#}A4RFgvKnHF)g9f`-S#+@ef^`^iCY8wf3 zZ-b~LsZ&QX*w-o#5)i3LX_!Jo-V8Qqn%mK>CinHGAR!p;y}DCkgqt$BxU}Nt{js5I z3aYYsfJ7puR`H86gW9Bt2O6`+4!F&u83<+6SfN13M8FK^OfqDLhj#Wu{_dQ!7Q7Em z(_k1{d8d3vqNI_cQ!9pVG(I>q!yx7_&CH!)l%x#~oqEY9tWEdv0r95~gyt>3624f4 zhnC6HOr-gDBfLh&OG#g|}_=;gG`AZk^kh#iusj z!!a9^LcNaeu!i2X!b;a#o{Z{OViCLU#j-2q6~X)qq0U&*`||? zicZiOr$HFM5@-_40WV-P!rrGr|zBUi1$cwX*d7LJt;T+E53@M#6Z;JFuzPA!z!8uYU zsyKkpNLiSn&tcf6^*1_9eEu9gCeHKEQqQqJBonPOHP>6%6u_DW0rG_8E99>8IZQ-}& zG!dk=NMcEGLXn-*0}<;IT(Z)7AUe1`)RUpZ2HDIwsSi^5Fz((4g6iT89cS%`o&7&vQu-`UEi%S(f9u!{Oc*8 zFpyYt{l%#BdRfE{y{FSYvJT`leFfi9^H_g=#(5!n{xmsan%d4FQ$hJvbW9R!hy zN2>TmnI&D)q(jY_VF%jQs~H$&WLTj=#6+MB=S4D9hcDf%fBx!-nP?5hMG+1k5P>AjXMK$61g|PC)s+RHmY1Wa-9+;VQ7?O+xCKU!cheVr@8f2ROpGdW1tsk9F9rZ{M8i zxS74l6x%Z!+c)p&usN*4hs^yEPDVj;du00z41LhCVdxkv^VUMS^4J4Z$ zT{)dDT{$DIi;wXPJrB{H*3(9tlbti^Waq53DNa`8WTvgAllF*!+B-Zv^UV-wt1=I8 z3a5FPK75NAc72Su&BH8paaJ;qGn6!($2pv(q;tldqI{b7t;Ab!o|1_g_Ty7Z7Ur09 z6t-#oja?=_dyak+7x-(b=hzpDiFUDBy;H27CWAF3l&!)4e;G>`CgmWnYO&@Op)29b zL82C$3HpH(nJTuJI?50R16@r`Olng>Ar7P_iY$Yb8hr?Jd;{ILMci=|E?yr^AF1)p1IL05-(#ZagWhy#`e<8Kk(<%xw&}TDOJ~C5*Cyl+w+K}R*72v< z#i_fyC$)h+LLnbLJ)zvSfxSJwp=^uXM|lJN+ow#}h2eZV9#Ip+a!}%HNb}hfWHYgk Mo%#m5Yd;eI0yiG?$^ZZW literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/usdt/trade/SwapTpslCancelallResponse.class b/target/classes/com/huobi/api/response/usdt/trade/SwapTpslCancelallResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..1c9cb67c75fd4560358254cd718d0c0e82150463 GIT binary patch literal 3583 zcmb_eYjYE26n@@hZ%MZhN-snZi>=zGEfEDT=|yO{SZM)iK?;a$leJk$laOpgKll^) z1O5Q{!Uvs^G9xpNe!&@klZemR-CSDQ8J*H;-#vTIdCz&?=bZO!|N7_G-vAs(&BV1N z6jqWLz)AupuFG;mmYXKNO!9e4maoL&wn&aFtMZyRQAlDBRxG&k{My2rJc|}Q3wK1k zYoequxOCsCE?4WNIj5X=OHQeD*{xSA<+?lD@Ja=@reM#P%WiG1D#UzRQXQ6sN}$&Y4A8PPe6N&U@ajHy zB$m9jG9%Vpg=^u)mU(I+Us=x<8r}mLEkc@Y)C+#ruQ>%byW??&o0unOn8sXf zp6>R@=&r)UiI$NsL`jGtO`{bHqX$*DQ(uJ6{E>-+zY z|CJR}cu1_d{!-M4y)5W9t*FywS^9L7IqFA~M(K|ZbF1q}#r5W%mhzRMC-!<9d*3!Z z%K3Eq2>AV-_5izBOBx`L`~ zo(_?Tr>gix88BVau*1zkVh7sRs~H$&j#!~V#6+MBhe$G1hcDgig8bb@jx@OtoRYzi zv+_>)jG$zYqEj!1_c1;)I!_RnF3&HXAxg>yCrYE_lhIcC_^{;Dhr{reUkPugLUO6n zsO8HxCu}U@g2KSo3)cEr9N7`SZ>G+^u4_@w(@9{w)c$#GxwQ&W< z_-$yX2pdM>^e#@+8vhEcyR@xSt-9rc!bIntie~T26Qn)OH~BZ){H2N0^v4l?k_Y%f zk0T}(q7;)N1y9zAANV%|c?dQV7{*)FyiLs@{p81b3bpbCv7aa_yu;Pt6X@bPf>Fj5 z?=rnLK6^7y5YLP~hL#zB3_UaP7{<@k$2)e~$WW6B{V|4dzHw)OP9paP_#}I;bQ1SY zP_~1tq8Xy*C^g-2Zb{KOMP({FMwV`D8?FLN-Xx@+`30JsAl89nZ-66=t4BDLblNtX z^{tyz+iqruGR4-+#@5aIw%Ht3;RELW5FbTBa(oI8M!=}>*onV8h|(W=w0JZk9)%%Y z1q>;C3<)K;HigvxYe;Dr6_C!5LO8ECrlQ&}Fmwy$OV!>9W!QV|${ImsTS?j#on|u5 zfDpeDY7#uhgR#ty(6vWnf57|!di>GY?=Tm~GaImiR|<&><6Lsu#GmL&YtOLnA?%5? zwt-~RqbsM=r7LHob@4Htq30pG(|X$IaI$kIo$Q>IHpR(`oXoVKzLj_j&QUT^!$EvX z$-+Eyj=?sqzp=-}XV1}Z;yiyX^&AI6G0`bDt9O#s(`3Acgt9gGZ!%-)!lWEzrxt5o z5xNq-93*P7*`Oadm#JclsiO>GFwm9MrVAM~a}(?{E^irkD2x3=e2Eu9IIADoao+#*yN zSjV4Y52x7l!lgctlMMSA!CNfi#~z QK{gWy*r~6vyAC4pFHMUEApigX literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/usdt/trade/SwapTpslHisordersResponse.class b/target/classes/com/huobi/api/response/usdt/trade/SwapTpslHisordersResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..685c3f371c79c17bff82a5d2207d58a110cefbcb GIT binary patch literal 3583 zcmb_eTXR!Y6#jN{Zb?relwOD+7F)GVTOtZx(u+{8l@^c|q=3k2a%>KyNk~paAN&dY z0e^tJ@PIQ?W@N_E7o71oiTJH^PA)C&j85sad#}CL+G~INTWhb=zyA64HvmUbGjS~m zh2oVMs;iieNlALeJ@U=MH7RixeMV5IJg(P-i*@7$cHx^c9E?V#`+!67v ziIT$L;(e#ORIQiJdG$)I;MVGw-FmfBuDi1huf(;2Jy$NfwUZ^MUU%yz))cH$j_=I6 zPFcaI`;OnJEA-6YalUo3C8xZaUG!^Sd391D=F^huu*_Eiy;fj=mZjl)rR=;{_qijn z=&hC+vF0jV3pcjRQ}g-CTDI7ztaw?c>Sb#Y(rlw%@Uwo+DY)5fuQS}lJUPQ-%$4Tt zZjX%aDD1WeM*Q(G?PR6E>+GKQ%I<~6+KO9Sa#l*z7*k%^^Jf%}jdXAnvDcvqSldL# zP|@c;3@ zwqyzqiB;EMj0&-r3EiR;b-FA`oo+Bk^=Q&4_0eH&RUN6g-rUntzBcs4UTB=NYlyySZ{ZB8R6h2$W$HNrvih(akEz-(6r!lLx^r88kU7 z@03pqN(L!9^UEr{kqQcFcbgpfKM=i$22+B4N;7uC`@s^E298#Fv!I3uR@tKYHam2=q zNFU%so8P2kHWqL}VPNwEYke#ZZ3}iJOz^ag3aX@Ze9*54i+kjId{79UW*SCqT)`23 z8`?*N1*33k2RCZ9e+A}U%GRk?-Eu);qVr8fz4z4)((dLP{F`O|O2=vX;}Ac|1N@-J z5t9s2ib;}!nR(&|{_Q{>f{g@*@eVcbQZq8)|@%{)asGxh{pX8Z~C%)}EIKT{v?*x7{)HJQ*KV;JX(I|FnQxi`Qkr}s)Faqk3W zIWN=NbWYJN6-VSA0d+p2`OyW@ckak9=sbmib z@hhPw!FxOy%lrggdo=b3%pal0AC3JEb74HQ4l7tvNL(1_kkcmqL|0mSjy(@yPo%YV zB%2;xIh`(DIU}u$kMSHm57C|0(?*AroipiV=d83TPFCb(rmd!v_K1KwD?GgO%@AlS zGY@baCwQ4Ye1}<9eT=Wo!%6Dm%w!&?C}}v0GdN92XQw+(`2^oviLc-+B@;F5$2m$C z=6L29Y}5K1yG(rk0{te=^Vd=@urCx7onkY4$C*7%+G|KCON0L=GnOt)%0;#-vE~z@ zE8)vUq7s`8>VbWkDwdc!%n$|xT}e$&Y12U>4x}cFOoNpgdkAx49o@G@-<8wEkk%rL zCCLd*c1{mW%uBGzO6!5?z}8gHga<}c$8i}Kafxtrj$iOEh9u5YD^w5hi7!&pSXBd9 zqNE38-iPs$3XNncMFOGJOS-q$F;VnEZ#p!6w2i9B&FFAzdv4a!nK1dm3Aw{9LY0Pf z^ci-s>+bGJtz(Z+$f>6%l)Kikx2HFhZISyZucLo+mkFyd>~BXSYGSw=r1(puIrjvo Pnb^lleS_7tABlefYncf7 literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/usdt/trade/SwapTpslOpenordersResponse.class b/target/classes/com/huobi/api/response/usdt/trade/SwapTpslOpenordersResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..975f881429d3bc40b612bdfbbed775a36feca5ed GIT binary patch literal 3597 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 literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/usdt/trade/SwapTrackCancelResponse.class b/target/classes/com/huobi/api/response/usdt/trade/SwapTrackCancelResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..7588e50e4b356f5620b00f7aef6a6b21fe12c9d4 GIT binary patch literal 3555 zcmb_eYjYE26n-|@TheU_r57Sqid1crmWYCvq^;0$vC;z4QYj*`P1a^1O+vB}9e)FV zz#kxA_@FaVW@N_EFF50G67e~^n@dYGqm@qk?%8wBd(QJd=e%e8=ik5l3g8542Cl`S zU@eYeti@p9x-6f|a>KwEaXxR#@})T363LcjU0(AB3UTyd&4eS*uS{&nvuMIKaa+VY z21*KETfS#kS88_t&b(dDJEbd5y;>>PowU>H^PiY^Jy?fpo^JhVOXx7B9!#FFC`D}~E;&E9l8r^Za*{de>) zsffZsY{T)E!}c3sA$Ms&jV>$Fo!iV|7aBB5Uv!vTy+$IgHTSfXF9|!5*W1Vkci~V@ zr_o2CALz9E$i-^V8enhQTPXehSPOTxv@Z#}z z2u(aw#Vg84>5)bqYmN@f*S1~_-zbyA3=AU1d}S~;;(17Ax?<{eI$wlB)^oN?6 zx65Y*C4&_0dNH_%(ea4|g1CHTVd*SUQr0;`8YPc>w$ew(B%d}Ggg3oPa4QwWmn)50 z-Z|&W1s>^g_m4>vvUm1Ask#IXhl+)9lr4$7mU3()bPtTPrWsFKLZQLpa5+$GDCqeANp$)B)r703Av zXeS8TM8VviPtzLn3Rr7tRl8bs$^`{eowq2QvoB7J_T=8?-)!v{CQQ>GNBG$t=0`h< zh}4EsM9SkoSs{MJU-#vsun@x--k|19YDVcNKjsrCYmX86k+OofxaxcYJzU2z!MNgG zrnk!HK&|vJXfPaqkpm z%g-vBqtqOurZ>th2|6dJOoYeC(2Xs_Rba`Rgw#?$LzNRmI&k#)ID)uZh(nPs+hw!1 zbMwAkH?upLVrOQ3=jOyNn}aI6$K3DZgD^;zPvJrL85JHo@mqeBp}?cXqaN}o3~8JO zWQMm85=wAw3#t9vkkT-UPdY;i;rx_iI;{O7L$^@AQ0;CggWhXbR`)C0O46?A43qKx z2ly4CCdPBzPp5u>ranyn4&!@h(TC~ZU@T3hwqW|N6k-=Axn$L;KhTp@pJM+5SW`)L z3-P8$PgbK#PgYNA;-f!B{{!?UwWQwRWMvIHSy?k_h?5yQ8A-G0q&_5|&JGXGd?Ntb zs?2?y!f7665Z_>qT_53Xb1_d{l$Ffm3?&ukaSmrGX`FJWD4*tiEAbYbr(~dpL-?4I zi3R3N!!pdj&}ZP2XBaYYfxo8m3!#g{3m?5bg` zP||!d??Hb~g-S9Ng#Q+Ho~Vhj6)LO%NY1G#4l2l@vB*%En>@)m}6PMM$!gZXwMq$Yw@zr>#*$!EWx P&A>r+>MQK7Lx}wY5;*xt literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/usdt/trade/SwapTrackCancelallResponse.class b/target/classes/com/huobi/api/response/usdt/trade/SwapTrackCancelallResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..81544a09fa90c61f2ec2a44dfe4b2b55028a0076 GIT binary patch literal 3597 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 QWHWJqo%$NP>mU;U0$bw^g8%>k literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/usdt/trade/SwapTrackOpenordersResponse.class b/target/classes/com/huobi/api/response/usdt/trade/SwapTrackOpenordersResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..dbcb68bd27049dd9083d0cc866f97c67ff905e0b GIT binary patch literal 3611 zcmb_eYjYE26n@@hZ%MZhN-soE3$5CwEfEDT=>;e^D=i=`Xc3TYvNj88Qj(46Cw~Ed zz#kxA_@FaVW@N_EFF50G67e~^n@dCK=#);od-k03p7XrVIq!M<*FV4h2H+^FCca2Q zVL6EbEGJ;%nmoRg$8{4ol6>Ek$5-NTOC(1gEAp8)QAlDJmMysQ{@TK-yo(k*3%5nQ zW1^&RXz`x2zEpMccP_5GU&@+GA`NqkXobqaR(XV>t)k%ezPfM!JGG7VwT7dzYmb&kivh!Ze z=ZeIlw_0Yzs;h7E&F3p?*7q2UJV$r&ax zR~q{(jEwFu@HR;!7MV~xRVi>&yXU>Kd!fFz;#QZOl@c|^lvnor8HHmbZA?WRwrK+H zIw+YOy(-jK@=ochQ}rZZ6jk$!9?3txv#k+#|K{l5tv52H7F@qrDO_@@&YJ79a}>V+ z|2uevMHMa*tFFHowPY^~yG2v#bXk&)-DHkB)1*=Qq|MyyKaz31v8Jhfh4_iS)lzUjc8R<`wH<(e#5<6cS?k}3I4^E+iu>U9KEKX zDw}6TWa7Rmeo@9vmo)BhW31SLw)trWMwu#BXb>?GD8rGG4AtRBH#;GJXMrP54hE-Y zF!ZdvQ$8ao8Kmgcis8A8kBrU{#HGt~3ulOuvcdUMFZtxOnLa)&`Sjs1yyaKIQ>u_$ ztkkP{_pB!edT^V0a9A2r;nvP3*)|EHfn#F?Wg7?Zx{WvRrj0=yRG8jTS{w5?ZsT1X zu`wgkdwAdGU3JXH0xl>FbRM?m6*9C9;E}M@(>5wtC%NN;el7U8OXkN1h3aV*WYoqL z9O0eON)on?!r2||s(CFaum_}topoM@1%-+B6BfPt0>gNVnzyMLq@Vm)PoS0`BlZ(zg?IQg_y)Zdi$BV^ z;$5b<#&>V#G2)rAN6<3kkDzBJ9>MsT`gq&QE@Y_5g#H-AIKQ|uKqrxV1ALObSNe%- zCn!t4P%}i$VanZcE=kcjMYmM6jV#^RI(!N&`I2RN<`-zPgIF7m-2sj;t{&k~(rsHT z);kxcwp`3EWs1(sM(5%^TPzN%@Bwpwh>xNmIlhGlBVbf`Y{%anMClJbnmig2kHV0y z0)`YmhJ+Gan?maUHKa6*3P@*2AzWb+Q&H{b8M=w`g=)VHW!QVI${H-AVR zYa2*5Ji2l^UAl5cS{EPVDS95DJFTaUHYYo0(#g(QX;Yl6$jMAw4JYj(0kwB{xaaF3 z&}L=s;{;A}Gky3Lv+Vj9Pn(BR)WuoJJWf;6a1Lj2hLX-{cY^Xsp0^TD!8uAMs@RWD zC|Q_e&N0}g^*45z`1Be2O`PYirJiA5C??v)M)gjxdYX*bkWjV;|AA&KU6_=OysX6< zM})3~FB^$kY&Pfz&St9EV(KtM7z}hJH94hC2ZcD0nk=#mR%+}4%!v(j-x7USP7^~~ zi!7EDCp6hPJutB@!6GZI2c`pCQ#}(VjHr&|GA`m0;plvR#=jVnI8UumJ;WovNJ(Q? z4Pc3q9*}tt#&aq(lBpC4gi_Dx-ujM-q7Qn*q2Z%#Rz+?`n_J7XQ%h&U~{Ac40W*jz-kPa5X6L=ScJ2 R6J#^7kDdA&yK6rZ{{qXn6O{k} literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/usdt/trade/SwapTrackOrderResponse.class b/target/classes/com/huobi/api/response/usdt/trade/SwapTrackOrderResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..f3cef8d760a9201b9708d353825b5436c0973fde GIT binary patch literal 3541 zcmb_eYjaao6kR8|ucWsSN*_cX7F)GVTOtaI=|d}`dMrIuSf;0Xm5!b%==Ft*nv_q#oXP>?I*=L=#_u039{qyT@0FI$*;(8Ja zD@hDsB>@vRWcWgcn{a?lGue63$DyxTUe91Xu-2^N5s1( zN(u)T?>ieyRVRP{d^goLbGTnOIk_&N#j^>pEox zqvkt)y{6DJf5-X8$(Ee*T6WQ|dgZlAg_uuEs?9QA3G`Zl0h*S&@0GIiUd`u@#G$_DR^!@(_|9TQA z3?$ZEe=(}OUM8_a?dfz`lEU0#jtbDEQEH;i+$=NlaILYYseC=q3B1+<-q(RaxtvZP zLB6-$9sn1sNoxqbVQ+#AisO2;tEqiG(B){uy;pZiM79O_rPVub-k%)3p`a>T8$o2^ zl`4KwdP$cQ>2RZG*nzgWGy|iw3@bEDYm3PW# z1to(Nomw$`gYl8kIfA%+Wp3dtQBpS8JnAK%bT*HV56gM_a2Ve5E8&Y&NG?|D)x3Mo zlgGQi^Rqu96{xVh;||q1Y}8F`jG%1e01nzXgg0#r;;_ProgQXm9-r8F4@Ygxi1a=_ zu=%|?Zesx#6$Z9Hr{=fdP-mDUVMeEIRIot~#|Qmdu((Hp#|MScY4Sd5<0_7_@3-QI z6{2uzr*~<#b_HfxiqzTIaLWaSiT39cb=Q|WMXO(L@oyCMOP!_RkHh@X4)8M_M@$k! zDJHoIW~PUq?Y9DX2sRQJ#@p1qL(L%l7{fSM+!>&g$h`qRIlWg3hPM;KR+a44y<4x9Dun^PS( zvo?9e_LGh6oA-3s9A@D|p8XL{L_u<#g$E;GRCsL1-yKBh4?UVZ8WE4ekgfuT6h4N8 z5?otC>i;#Q6pRW;XGkGjVG>hO?&lf0iSngvzY1kod#%hGOyW@MkXA;gspRVq@hhPw z!FxOy%lrskdo=b3%pah~AC3JEb74HQ2`gAqNL(D}kkcmqL|0mShCL5qPo%X?BpV)G zIh`(DIU}u$kMRsW57C|0(?*+Ir>dp;IE~gV_zsH+QmlpPBMF%G}e$%mInX-Wh`Bol#9Ho#2Qb8u7oca ziAroXs0Vgrs#s#`2tybQbTu_OrA-HkIFOnwG7VO0>>mIOA^;@p*SQhlX@Ur*t~s_kQpBy!q>&Uw;E|6mqm@fiL5{Z^`jh9Q$xvAX|<#c@_*5;~2oI2}ka)O_by=n{Z9s5%8|?ts1B(7+t<^ zZ>-eaQpu^GwyOoFa@lEY)T#~VRMV{#ow@>Rv05duVmBI2!@#-%^Nj7;ryRSgKyP@q z*K8QvnvYkDRM4h0J-3p{yA6*Lv1PYZrN+9W z;94NqCeP&ywe?K7SzB{6_J*6Ohn{AdjiQ(F>UPn|Y#Yva%jetz%@}K~=x$F;?nv#n z2E+W(n0mTaWH`I?Zq>QaTwinQEB0E2m{`g2mc#rF(T_eEOy+9^yK>d8yCM?Gsb1M- zV&`|_IQ`OSenm>R#dKIAgG5PL7r9*s%3g2Dw2`l{IONW8pR}@z1<>yI3i$>8U)m$w_VQ(ePnB z2H1^-yGz^%(rw%{{*EvUcJ-`yNhM{wQ4ZQUIx)FOCoWxHTsliH3F{olX2oNw+vcO= zVow_n)SF%{SPkTzbE~empx{_{vBJgCRdK(3J$t|}*Z2Ql?v>UpzFce83(h%L2Kmso zTVPgZTEWeoY_4sUhbzXyGO891;&ls$@P>s^j48!#w6#vVVB^Z%*&7>9wWwgGPb0m&iaXnU3x8`)yE-=L;TAu}_+8$|4|)_4sSu%v6v@9? zCw}1H^x?y>5W_g$BIa#kM#(3C=2IxEPZ0Tuu!47Z>bya2Me4&-xHG&3tEGQIR9GWj ztb36T1;~IYO!LLKG22I2?G+yCE6i4)iC)WEukdgm;UL`iX!{7>50zwjOSpP^>M^1} z_xK<8wTuKDq5qNwNvFbJN{mY3V~~$y_@JLk^}ni=%CuD;@>PC_<1C(pn(y{f6P3}f zEN|y!P~;QjmXe9zqd43#GD;&sO0q<9*aH8RJe=wE)5t{mF>JR8YK#M+_`W^bx zbb1qp|0G~unC6jHXZ}PYr9Q)+hp=W+>Ly|>j(AohOFXNmG~v;oA^8vkDJ`XUF(tAF znG#tuWeAfQG8rke#iTy!8}rS;(RO7XU>*w$W*Fb%B)cubws!FmaZy&XfR72OIFEBU zMM%REX{QP4sBj?85He850h}ddk_*&q8Rp;EW#IgCj2QTY|EBUB`vWl64YnF$o{3du zj|BkiGMc2x1soi=oA% zZbgM`dKX)VvlmNdy2;HRu8u7h2O*#M#VazN?R)Lq4X1s_!}lY{TOO`<}qHH;)K6z(gA zLmmF|mOdKd9FNgLXR-xzm>Ahe15tk?$qMOA_!T;GmBa|XK#F(LPlAs99H7@&*#n6E E3s;5(7XSbN literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/usdt/trade/SwapTriggerCancelallResponse.class b/target/classes/com/huobi/api/response/usdt/trade/SwapTriggerCancelallResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..b328c182487b39bf479adb09c4ad5eb8e6c3bfe6 GIT binary patch literal 3625 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 JD|-Nme*h}q8AAX7 literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/usdt/trade/SwapTriggerOpenordersResponse.class b/target/classes/com/huobi/api/response/usdt/trade/SwapTriggerOpenordersResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..9b251fb650811fa78dda77d23a5abd304398d8c0 GIT binary patch literal 3639 zcmb_eYjYD-7=BK&x1?Jrp)EuZ3lweBOB6vNZ9(o-Q$SkKA_CiFZ5Gm`BpcC>{s8`f zKR~|lL1(1Q$c&?3aK_&x;`8oqE)BJ#Q#ze<-t*q?n?L{lO#$1UUqAjSKUgrR&;Cit8RU@TB*CI8(x`j1$(wqacgJFPQC8dO{^$bXC2=;?K%|& zqwYI?qppz3-*vurvSp{ToSpY;US)YoA?B0P*Fniw1H4wGf)=IWd*y82tNWBl%zMif zYOJ{mH$%Y|c{*RHu4GG%>XMgrR=sR3@-*A17yYbXbBb=X$?5&@IcFsLTI<^Gh=2iIr(+tp^)Z%67{?5{OiF>Sc_ z8%~*?uM76_(p|UUPmSJCP}TKA7m*lp)i251_DE+8H|Nt1u&t*V5M?~AkRV_pK!&rK z4AJ4Emz`O-H^*%uoyRQ{><_EpRL+T)R8n&4rLeW*Bcro);>y+8xpVZAu)#rXlzpbV zWj;PE_VnRUz2#TKl|kNVuj2V96pnTlELtcXRS!zowI70#efR(6UVH75^VLSJ;GXwn zun%my875`U6^dKkY?~U1){l*ORBY_Un>P00EgM7FuW)jUrftk(+QtY*ZA=L?fk_)# zyldlQe4?osvRB53{Ce=X&qf*_lFpf7f6?kyjB@tdX2MBO zxVXj0TAvFAHnq&8v&zq8QDI_(CVO>dx3~T}{^ksKbaU9>O@8d>_k0(B2*eSSY7vS_ z!GfDL;}3%a0elcP5*WrIV%{cZhj zTv%frto_IkV}}eF!#H1z8*adL+hFj(4yZ6iZ85~d_aB!@2aUmfF}pwPpy%n#7D$78?4_#S%v z@z`%L=EgH?FoP!n>(V%noHp?XdeYi+?05uwBCV|<(d06AWem-{2&>EylL?@DXuwR0wUjm6*>}1dnT!ciiAJimO7*uqvZ)#eb z2@0{dZ>q#HSbbxUU{0*Tz9aZ#P7^{}izt>9CnWXc^nk>=1VUC?4@i4APPHV71|tvS zT$g#Kj~f+NaEVY1NxFBLUdP#Fhl!O`pWp`il&2mf^8t*PL}*N=QcNI}dP(;7J0^$$ z=uL(ukG38au^Am~ZO(2indv6Cdzd@iqN}p7jyyvz*W0$#_BHfL3VEe=gm7{VsnpI8 z?h&}3@EQiXw@g^PaJr5}sZsnsE-)(A2^HGXc=ul2r$aNB9_zY>@sUQgkc5{H< JU}g6p@edsVA5{PV literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/response/usdt/trade/SwapTriggerOrderResponse.class b/target/classes/com/huobi/api/response/usdt/trade/SwapTriggerOrderResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..f915e033f1c07abc2ce93b6980bf5c629041a7b2 GIT binary patch literal 3569 zcmb_e>v9ui7=AX{Q_?Mz&;yZEk*aNah$1MY2b6NKk^<5Kwj#1k)@C71%4Q=v<1KIl zUV!}Jht5cukr_w-;EdNK;`8oq4h`*$QaYXQd%yR5-u(5?ufG8}4$r{nNhnxKK*zEi zU&wLOz?Vthx8(RLi2>Xe$d+S8o&^KNB)YL=!jb!H6RUEUOt>cQ2zXccmJE~?9A3C@ zuP=J;>Z;>i_KJ>o)v2vlD>dg#-7WK}z?!R69B;O4*J@79z?uT{tnJ%p9J``GulcrL zuPI37@7Uki*|J?(%`W(!TUnh{5c5gtX`|$;0bVUqL6cJV-EubX)_h7N7TnbeHF}PM z8=+v6Je4n0*RrL0b;Zrv>u%PIJk8c?ML+9%cG1ah7tK(^<;fXZF;*JE-5MU*iPr7R zMaiQnb+%e$EW7h=#ko{pTXDQad!scs5}OVlCL&$vj~)3YREK^J8@=nWfHYkR{DltPRhu2w#~fbm#W1p zwr8(7zT+_rjbakc-gc278WAu^4dZFho1RY!y?=9_zgutQdO1?pWPe?OidEgYSGUV_ zdQ+U2SME3ke{y75fl}Q(RuPHOR{fGpW|y?WP-6nE0NZ>T0Z|6f3<&}z0%SOS$q*er zy4i|_yYpNH(rR2W!E!JQcIBLSNhKw_RtkGLK0GoTuYb(-x{&XE%%u`nBM3kF7E`D7`Vw4x+)U7~x>IEQGzTVD{DH zX)YE8>{uB%dwt!h6cvnb(LpaS;MNY`#NQauwpIWcQH=4$xG}-AQ&{a3?%z_FjX)Ef!dj>Bz!t(`xbM;SF}xos$?=wO^~~sF z#DDJazbnwvA96(gOBy7d3V$0hY=w^=K2G3+tyHT2Ri#v>sq#>u@zSNVr-MQq z=$S0B3}(;hLm1;5ux<-JnNx+3RwIfj#R*AWIV~WuE`gAl)&kOjty3*YqQS_+I5%aU z>EklR6q7Pbw zp~0hWMn!CT8(WLB6H8{g$;BS#4!7v4EUe>C(arU?E46zAJ(5CRsXZZ_+(0U|H-x(c z?j^i|zRoQZ7B8Hx<56l9eh?QK73+iwZK=F_Gf&VTY?#d0W2l+&$9QRqtzg$=LjGnW z^hUdeI)ddbebmc2K0*tv$rj8}Vx(QVZrZeMQ^u=f6 zlZj6zCcH{wcu-aFBD5 zmy<8hJ2vhq*!5;E=hy2BiP84jJ$~n9=8igVQ zJ3X7LET;?2%0e;iRg3AGU$0imbwAy#=Nsup%`4aM`L*;7p5{LHs`KH+^$^A^Y=(9& zNF=c)t}qo*>%b(3Y&)TPS3-lM8}k{v$;xE?Mxm0w=GDAqzv0&yuT4As+V*av;4v`~ zefS)u_H&m1Y11pwe$7)?7nb~7V`}WSf~u?~DO4$#l}5p@DY#Ovkv5_I!FA^x3)Gs> zxYp@|R%kv$g+6G9ZH7aKo%3A7%iYhiQNVOw4qJdgJXqjY(Gz(iV^tg6yQz1?tPh z2RV8GJgrm!J-Zr0ysJ5Q6@NuFVU9}8&aMCBFx zTYX6vHXT(5rcN5u0hxOTrV6Ce85n;EdvX=-UAd2C3{fPFP~!-}S{2Wjfr{J)Mo!Xf zsroWjpt9O3GES?#y-B*HV+n(gVj1Ufo{^fQ;R2-y%X*Kb2uTM?$t6k#3w;=uDe+%H z?7};gtf2Tmz)dlMy*WZRn9RBwA?3{K`yJ|mryDVFpZ-K=ZN#>3bG~_lT7`QSaWu)mDbcLV@uKo+2vm43) literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/service/coin_futures/account/AccountAPIService.class b/target/classes/com/huobi/api/service/coin_futures/account/AccountAPIService.class new file mode 100644 index 0000000000000000000000000000000000000000..447a34b2a2a855c618e21fae02ae28d912b23bc0 GIT binary patch literal 3918 zcmcIn+iuf95S{HMp@o)GXiIOr0MPRYUsDPmcC0ejXoG8l*$vCInWkIZ zJgPdr66X6PWC9$l5lO1ZEYQSr0mARxJV_ z5@V>qD&$i3S-or-1m+Y51;I`Wu+5fN1>R?d{H#zf3& z`B4-ODcdO@@Ct!6{_q&6HSu4_a~q5GCDXG+P90{;{wqX*D6*FSVB}pcN&;!&ffASx z$>}X8kNW5Ss`@RU=$yA=w}hK;5L=;|s&K({6f#v6Ry~KJFGo^#m!C)bTWrOHUh?!B zRQNESHyg0aqgD4hsL@~bL^O6IDH<Ci1+_JF}61*?+kYwD0%E!&xwi0y0q$Txa`d4c5KA z?=aSG3jzlb)Z!gL6j)@SmUmxJ)2{ZYa+Fx;$N(V{?WqtdO>!h610abT%0l;W3A(<0zHUACqO8R6#+4FW%7&5U#463@lu zs8mF~8)O?CYf-@qKuJ>R;P@+K;x%FzNeQS9s%(>TgO&}JXH8}lsl+i+Np30jper=S zOO_*aw!;l~H2JGGTga7|XyVA)aIZuJ-gIAsaF1{wMxSweF!0tBT&(uWCwSaT5g;&x zw=;m55dy<7g8xVH-zXjg0nn6&3xR2@Wg3TzVbdj;@J(YwFp2M9Zh20@mB4elWx5L2 zeAC1*ARf%%XSVfd4z7p2=V2khb-fWANiD)slzAC$gaK~CO4zgtYhlwZxZRC+rxoTd z+zULt+%vEqHrbHc=_zcsB5%R7;E|g*f#>)=1TX#pBySsp literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/service/coin_futures/account/AccountAPIServiceImpl.class b/target/classes/com/huobi/api/service/coin_futures/account/AccountAPIServiceImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..53e91d1298c54021b3a482ce688e9a993b70bbe1 GIT binary patch literal 20691 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 o&Ba?*9qyKLqz5V~0LYj}{Q^ zDPTHWP(Viuis`ii9~~pkyK5cwwgP0JGb6n(1^S#tWap zC-6DE@Bw@%RtQ#~rrm^x;W znh+R0>7LSaYWp-C+XE$eI6hieo_1Xk*poy!+@=w?C5s~w#>{pF4?m3(m7rn=X=B^y zf1>M-2sC<3O@!B{k_JpM855|))4&lvfjw7*N>W!1rxC;D0Dy9cSk_YihVQa1d>(+{xVT z!*c@f@)#zur!EfkQXj)3yG%n#J^Uqxc^v+Ib<%EzPc}h)BD7t&!EVFJEHG5lXB$W- z^w?(t-?oFS$I8W}DUOypZ$oR-m}AC#&x`gyU{e+Yw(iW}(%UjmyxKq{(q*r?kEf_L z571Zr&Vb2tyvNUG2~FVTat6oqms=t@>wxi_rTly6l)0)x05b#s9RO+;fgP}LUB=aJ z2`cze1wi={>}t7;d7Vl%xU8jCIj!8o>V16b_*_X#8qm}w`#WX{HoOYgRvTW2)~a*^ oZmvqV;I@`DAX;L-J8)OaYgYH*zJArT78DOOEP(_3R)U9r0ereP_y7O^ literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/service/coin_futures/market/MarketAPIServiceImpl.class b/target/classes/com/huobi/api/service/coin_futures/market/MarketAPIServiceImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..d11b2bd9c202e137ee4021b8ab48d569f103b461 GIT binary patch literal 9187 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 literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/service/coin_futures/reference/ReferenceAPIService.class b/target/classes/com/huobi/api/service/coin_futures/reference/ReferenceAPIService.class new file mode 100644 index 0000000000000000000000000000000000000000..7f1cdf8e49d40ce7bcc7b873e3e55a6edabf2002 GIT binary patch literal 3138 zcmcguTTc@~6h6bPf`A|*h~WJKqO7+!UTm<&CMDFCkocfx*`1bw?o64TCE|h%(v&)@9#eV;5j_az~c-&VK7zYW=%<>ZO4>^ zzn7O4#o+B?Vb?yet(q;XR@rDFtE)=|M|svxptgl&*M+6IUsuxSmZOCHPzg+c5zDjn z9yeAJveaC>%3xxhn;qpAZEbtpaP2b~@(;ajRbwzq)a0cfXj?k`RUlmk?|UUFhD&tK z5bmtI8~CPzXQDKNcfF#fu!MPzFuxZ5MxD#N#FOE^Vem7B{Ah6!wc#@Gd}~v9yvVgs z?&e{g=P|r%1EKxg8s*$S+!?TXl&{eXHz^h?SRFAGs@CX}GHB=7^$zUNVuc&;1%4Abt z@SpX?=!n2;L{~xV2f}Tfm)y`;I)CdKgKvw8Ce?gDz!v|jf21IlqHW#zQ7T^KV`xp8 zrX&Wm3Ci4<8uvK10C$vj(XhUrC>J|woVFPr0XkJGDQN9Prb#i1S~$EQJb`BN`9#e@ zOyV@&-ytS#()NNi<>H;E*F5ffU(Ql0r6ywO=jbJ`i36?=!>oGvIf~&D?qyQKoR5}i z8}4>$9?EDfXCP8et2+<+2Nm8DIx=MIqHIuE4@ZU;WGgvjq+QaQETTc>OuK|q6Lk}$ zQhDj}j|{eYRgMskaM6x@6JR^$B4e+x4!zJ7!Wff=~$3zXwJzL@xoKSE)%NFxx zt`E>;RvI%SgBS5R(U1O&+q`b=wo-6#M(j+V8{50wF+&U(^x^0VFgd`W9|rJ!5Z?xI zdIZ2w2F@iz!!VKzorlq8XnL@*5ytQt$L9h*6CuzfTuknof=kWNa9_Ae16WS3 Reh7~`Aryr#EBM<7)*rLD{p$b# literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/service/coin_futures/reference/ReferenceAPIServiceImpl.class b/target/classes/com/huobi/api/service/coin_futures/reference/ReferenceAPIServiceImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..46f28db24309104019ba82a80760cc37813f7ac2 GIT binary patch literal 15693 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 L{2N4A5xw$TB(S<4 literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/service/coin_futures/strategy/StrategyAPIService.class b/target/classes/com/huobi/api/service/coin_futures/strategy/StrategyAPIService.class new file mode 100644 index 0000000000000000000000000000000000000000..a80ea7207d7a8b41a8c2bc9c494c4ddf5fef3638 GIT binary patch literal 3388 zcmb`J%Wl*#6o!A7wgcrh<<`=Bxwad!VOI$WRYD+vrs~Wdxfyqwk|tBzsl+QFgb+dq z@hB{K03HhAOeT)wOeJKq%%9}T=c98R|Nisy7l5bOZsBnYTLjBtnn+GV+2he*z<7uE z8Q*88855G=^VaJyJqeDo^dJi8Fba5aCkWFhd3%`2j586a_xmi^Js-5Q-N1-pnh5sq zoZ|T%g7zCGkJA1g<@AI}#sxuZY(=nQt!9@dA&d2LzPK-^M)Fxt3DOH%pXf~EO8dL7 zb_Me{AF;Ijh9%z_vLwx0Na&*faJO&JeDqD2_FuI8Uq+(PC-A7cri_c=qiwLX^}Mzo zig+}!1Rq?=T)yt*SwXbmk||j4c!H0PrX^>zH@THmsg@M&y4rL#dYr&%)6gIC9lbh8 zORt&I&CVwH>R4ox#O?r0A6S(Yh z6L9V&p8(SfsK!zK>EDfi@x@)oaWpvY$~}XkU5x{Ya;;A*!6%ot&OcLvJZ(#i)~yDy z`bus4a2iC5^nCL~emQ7T)CoD~1Tjqp zLFeF@g>sgFU`n0)f%Y`P1x%~!8Fe*7Fbk-tg^PA{33GOI8CUG+Dz4elb+qkh9yjdh vCT`i$ZQQY=1uWXpT`bwrGFI$p6>E01jtx87#63H@j|a6#T|88kn!=;Mj5&_~ literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/service/coin_futures/strategy/StrategyAPIServiceImpl.class b/target/classes/com/huobi/api/service/coin_futures/strategy/StrategyAPIServiceImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..f74fc81d1f300ab2e8a8dd9fce947351188771a9 GIT binary patch literal 20509 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 At^fc4 literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/service/coin_futures/trade/TradeAPIService.class b/target/classes/com/huobi/api/service/coin_futures/trade/TradeAPIService.class new file mode 100644 index 0000000000000000000000000000000000000000..3820587a3710c15d62cf341df5ff8dc6ffc165cc GIT binary patch literal 2895 zcmb`JO>Yx15QfL0O-O-KAccO=QYatg!XDs&lv4>HBBe@1P_M|@IEkyxI;_0`u80#t zoH%gehj8Er@S_mUZg#TkEr>cj`nC76dmr+5qARiCS+1MuHgRbUZ}!=Nk@O*WlrrlqiA*Y ze$FM{;J2)>@M zJ)z1Shz#Io3&5O>6=m85QCAbx_()(LKU!dBEUXX{2gF;;;!)2-!cW$OGnY9aBNOD@ zPB`0dx&Gx1Hr8j7Du%SdUgL<4spC<<@3d9G{eCs2)P2SJEU@CqZHZJx`F_|D9)Yr# z01?2HMyIy!_XI-Pq||h=3L#~J@Eb`=qsgaCQ9k?mHg8ql$DTF8L0Y`>%@Om(qnPINv0=7iWwZ4m}8d(J)GmsMU(TCV+8z0HC#ciDqUAtCTM z+pNiW^0+R`_+B?wvr^RT95GiF2@ojgW)Wa{fxsD9(BnltS|m^e&{7G`no=2-Oz9k) zH>C@(Y)ThlWh#{ma7piSIoje1RLqsDaMhHq!I~+p!-gqs!gW*Hf^Ac}0XwF26K-WB LJ=oQR1-ShOD%aKo literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/service/coin_futures/trade/TradeAPIServiceImpl.class b/target/classes/com/huobi/api/service/coin_futures/trade/TradeAPIServiceImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..c54a7aa4fbf080f05dc6f55bbc127c9e401d1fb1 GIT binary patch literal 20360 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 Ho6q@wIW&z; literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/service/coin_futures/transfer/TransferApiService.class b/target/classes/com/huobi/api/service/coin_futures/transfer/TransferApiService.class new file mode 100644 index 0000000000000000000000000000000000000000..471f53b3d93c401f3ba819ee31726349c7758c2f GIT binary patch literal 568 zcmb7BO-}+b5PiefB8qVHFW|*qypfn-3@42Syqi)7C}G>R+mdkg>@V`*5Aa7Bi@QV# z;ozZd=FRlYdo!P3?;ijz(M@ogphIYSCrv(OM|kbsF62szr8F}!_D-8wzd%yy=i*w= zZdmD5E=%-p-TAGush9^l(L!cgILt+%J-C2;N!2pR1DAMsCd|DSgD zSPJvePT~qiLThY;Q#{nmsQYXyc#!EayOmaav6(&LYIlx#kvyP&pCu0PcZc_r1uNem o5Grx&K&3{gq88(NjM`N+;*-SF1Y+t4tuj?797mXN67LGy-|Nt`s{jB1 literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/service/coin_futures/transfer/TransferApiServiceImpl.class b/target/classes/com/huobi/api/service/coin_futures/transfer/TransferApiServiceImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..05d95449f8ac28f2b0ab25c814f46683f99f754b GIT binary patch literal 3734 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 literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/service/coin_swap/account/AccountAPIServiceImpl.class b/target/classes/com/huobi/api/service/coin_swap/account/AccountAPIServiceImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..971e816fc22a3bd0f365c38ca142ab0ca57b06c6 GIT binary patch literal 20379 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 literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/service/coin_swap/market/MarketAPIService.class b/target/classes/com/huobi/api/service/coin_swap/market/MarketAPIService.class new file mode 100644 index 0000000000000000000000000000000000000000..68bf0f6dbfbcc71ede0ae4fc16193622ce954ea0 GIT binary patch literal 1983 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 P!vhQ?gNOLu2ao;%+7Br* literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/service/coin_swap/reference/ReferenceAPIServiceImpl.class b/target/classes/com/huobi/api/service/coin_swap/reference/ReferenceAPIServiceImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..476f4f874d6950e238af607b4317ed4d1131d3e8 GIT binary patch literal 17998 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 literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/service/coin_swap/strategy/StrategyAPIService.class b/target/classes/com/huobi/api/service/coin_swap/strategy/StrategyAPIService.class new file mode 100644 index 0000000000000000000000000000000000000000..f2565a6fc266a130acc3bb0af4c0fd0cc675def8 GIT binary patch literal 3117 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 literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/service/coin_swap/trade/TradeAPIService.class b/target/classes/com/huobi/api/service/coin_swap/trade/TradeAPIService.class new file mode 100644 index 0000000000000000000000000000000000000000..42b8512e2a717d161deb5edfe04adaabed7899ed GIT binary patch literal 2638 zcmbW3&u$Yj5XQ%$ZAdAlg|vmXP|DwOVGqD5rxHL!N|lHpuE^cEiObdwYbWJ^5GNji zhvC2j@K6YQlgw@$HkEVS&;G_g&3I=0=kKrI0Pq|h7vW(M9ue45=d@R)B4p9wiDvOT zrg~B+M&SEFJ(Oobw=a)*Kzlrh+2=k}ItV2fAFVCWF>SM;EhVHPbyBW_#f{$bHkFnq&n=%37l^}I8%N< zrmP*o)-BkuxR|4X57dO$4`^&fm~sk3qX>Dv`tzjrd5{t}Qteo();TxDtFwW*OH{M8 z2Rl$7S(HZOb3{QYz%;GNmDj@Oi0_43RC9Qlv93Bvdr-a zmQ38YTn)KCJWFp|Zfo{cTW5ytg!zJDJIjhlyS9!P_4OBX1+!ea)yxZy5$1$LKN45#sQCbxHJ1V#6mXEpR!Od5g<@7ZzX`$1p=2~!F(^8uSEh&07fdpWmhV}vMXJI z6<4|ntFCkn)<#mP0PE(I>&X!}pzQA4fK6B0f}5^%3$|Tp2XOV literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/service/coin_swap/trade/TradeAPIServiceImpl.class b/target/classes/com/huobi/api/service/coin_swap/trade/TradeAPIServiceImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..d7ad2398465af62fab1ab984274ef83ac0449c2f GIT binary patch literal 19422 zcmb_k349bq_I|Gu(w)gDApsFlZV+N(P*9OeAbFCZZY{}AC2djT;e7td^8c7xRsX|@hQBbgow{9 z;1E<-z@iAEM6z~ zTP?oL;$ND4yN|+B=?=a{F1O0%PK)o7`+AEv$Q}K=+vIzEv|LKw%Ts-PAKx#((9pfo zxqJBmxd4j?O@7EnXK}>hhfRLON9RhNNBJ>}AD8<^i`y*TWb$Sot>P^{euB69_(^`s z;%#z&+Tv&A{;b8%$^ChYUy%EY7QZC-^>TUH;#cI3Mqah}HIskkqnkz9>->~lo|enA za(P}ZFUkcKU+0(Qg8sbDzqa@{7QbQgZ+&!+RNXFBw@cOSQgypj-7ZzPiyeMv@|!+- zR0{5pf;*((4k@@p3ht1CJEY)SCjZ_?TX~C6;BAxtVDdXA|B=ZIw1jGx1y?ea%vc&& z9;gflB8`5^d!nDVQl^+BetGeVKztk&iw!PvaOk}xD_pe_(z z5Qv53*%9U^nnH1=F*E9-&6Q29(Iufu45u<4j4cn<1uN^Kp-64~lt4>mA{M9*R?d^_ z#5vV9_WSDQmN0r*JTsVRiq_8w!~)I1L@)-0#ZqZ@tUef<8$7u+7*8-IhNd(Uv)`mO zQj=13%&@eI@s?;Lp58rAO}m7cutmCsE_Jo-)tU%}D`y5;@XCq>?P5%$|Cc86mqhCU zKf}m9JfKWjQ5S4UgrX5NWjcdp8kN?Pvd^Baz_d>?f-75G6c0-t+E`B~93FZkvzIIl z)+NS_N3Zs(Nd)Sa!5E4SCjUv%dZ)>Mh7-hK1jI>!L|s!f3CS~aK{Bm=Zg6_5YfO(y zvtb8>$f#jlnuhEsconEpf@e4sPrz_sy2ti2AjHd~Q$!9PF7rAG&-gJWziaYen7RoL zRe?xdFsx_O@?0=Ts+*hr-KyI5sjkAELm3I2R{O{t?Cw@}ZQi}z41sXFB~H)X67AK0 zjxkhiZIAJ3BkF*Q_K=blj7?LJor<3NwpC1ik4YIuIos+;LsU~FC&Q#x&&@EN+CR@Q znH1z=7*BoIFz>@*3S-o($-zV*)Xtf+bKy+7f}dd=w*%Td6VhPsfHz59&??fYmz_CD z8e9{7;Q092Ex|}sTzp)UCnq1DRzF7rd79UQ%gM)kJD@e>;^VyvTc4t3>bwQQ>N_>akjVSCh8ou(~2*|I5fE&CBuZ?SC6 zDIshwW(1dGn;1w0=j!d)vW~aA)saLHo95i?m8CJP*OSwRX4^31l9pYKzb+cVHn}cQ zRUgGxurTb7i>cJJ|8hHT^2ba)+t;*-4cI!jn;<6_Wv>g42HVOxZJLwnYXaruqB5(< z#YH7)aH;Z%W20%Ixb2}9jA*w})=f}ryguQCEH&U+Qsq6Er=zOcGFdl4ovNK}6Vy>< z*B+lT?Ju0sLz=PzjPn{LD{-=^*BXANWpsUQo~*>#V;8iFY{c242G>xZG3_UYnkn%M zDAO8F#Jy(9x;si~A+>&PMoO*S!T9V~m3wGjE6BDx+CzQUJbz{Cn`)jEAek=AwzPH7 zh*t9R4W(7+!B%DS(4Fas)-o|oi|S)XCf8kY?e;lSpKzdgNqu0Dm@h3h95kHi7-#iT z0iTKqvoxHVUa5gbwNZ067h@!$n67 z!Gxc`@f-QP3rU^2a3~l_)Y|$(^?sv^k!KnOe#0~@w3}$DMIufzYrVtL7t>&FQq71suY>V-hQL2QH=F0HA^_D zH5A6?+i!F;N|=sFPQ}3<@kAh!h*wUN^jsA(ax(+5Mr8Nug)T_O%~nY!WVm`(3MDHf zfw%k+_1o^7-zXL9bvJq-aUr>?(WjkZ8vFQ-p2ogNNF}!yb2ecaH$SuOJdi!3Orw|I z*w5(AWJH(wjs2yK1B^bfWBUMg4vc9~ayvmcJ61WdC8Udi#ztSc^mElHE>4Wa0xM-E zAs^y5`Wpj~8u1$gjX^+WQZ$-~W8c+cXCdQV3yi_V#t_^NEH;MvjbTQaX&mG?%8d%9 zA_Z2wwmy&uU?ojA*b<%YVj7p+;|?w3bp);WtK!q)@EIlj(>!Hx_!sSl4DBnZ_8uG1eF--WvueOCNODjc{x0B*d+4abjGi>KqJ^ zE$Xv7!Za|w;kXI_Yui@=rb#)pm?ai7`4hh}UdCDwjnrZ-@*79Vla&ZH2Wz9PIE+X~ zzQUe@6#)suazj2TaIr`0Hzx2;i17TzL}QZ4pZbj|MOnCV@Id8Jy(iB>EC-pM^eS-Td;JBreHo6WbR z?4fjI(Y{+Y`7^&!Ej{qHFX70JcmPdpt~MxfNp?GCYgBKzT>4_8>IKVbr&-)I9J1`{ zvwM}4Mlx^4O~#&XQ2J23O}L|(n1!4jG?X$RzcJl7CJl=m&fBo!wJ)#sSq{@-$^Gi2 zI_$REw|i=~u3J`a95QxZxpy^HJ8zuOb-uPeAJxi~du8Ru zlk(_ki=rJhWZk^GYk<>s4#W1kZ>RRroga2K|LbV7xAy9A+DSoWm^j&omgM9dl_^_Q zmo6!@A<3aQHM7_>TTMNQoa$M~kWxK$zB`qV%52gODyKG|H&g;Mt1+0U3J2nFK&3;6 zc`|%Th`eIY)D!)waEZ~_N^C+<)js5B8tlz=+Es^T`W8UyEKrdc&hnGmn-NuC8sxRe z$~MZY&N=J#^v#iYyX%OU{Agja8`4R~QgevGNNaPvQWu$mM+~!nvOO~tvTd~>5N^e4 z)jg^2`a203-fR^%G7ZSmvi;s^woj&J+e;vp6^#i|6h(>X{FatrtSS)47zBEy6`Ofi1=fqE%1NQd$-%l%b3lC;AzD;?YCDyB zyHE34=Gh^sqoKQUlquD*_AeKE&2C`oHFUazS4trmUwS&vP8vAsN>e2Ez{MCf;pB#; zZcVt|MBs6X#IBnHu$>)1CSe*f3-{8)nt-}c~ zM{SW4D5Ij4h`Q@cL46cwGGP854hTNtBQu$yCw=q6rhA~qnrl)mnFduC*V3{%5(vn%1WN$vL zAW$dY3NBS!UQ`(uE^j^zGJsO)5sB2>C=hd37L>7)L z%VwtD+pDhAeQdvBVeLyi`@ou&@k9`o%~QdR^AS=gS_zjB0r<+YZbBtljIOsxp)fv6 z6X#fkvWTfC!ank-8f$l*a}Z5eOE7IuczLW*k+dQiLflDM+@zjLQ`+?g$wUdXz&P^3 zR&z7VsXmb#A&}!#bv{1G!V>BW#b-qmQ<_^6P|@29e^pZ;RwFx6d;l{>s43oeb_A~8 zHpo0gQ?q616aLv>zgZZOv)o{rU2C77p~&*+vS8&5l}bkDD$wBW4T|s$ zo%>`Opi9AwXmnXCJ~i@JM3^? zZ}HB*w43a>uGfz`nyau&uL&iBV@zWqmW?#~WEu|w!j8*Pf7(V*6Vo%)1z$8HA&x6a zPF&rQ7FTzqz||dzZ`_Mf{uO$a40;VuSK^+B`=MoSwn`zoy^d3GJ$0BcG37(r<&_!0$o>Vi^cNK&Ic)cDu92Yg8Zu!3E;dkb~VqlFbE#dzq}MkVfZDW1ExQ4jZdA3XPTANIvVFZW?TJoIj({q1Kw9Pknq zSCsUTUs~2z$@)RoSIhdpM7<&CU$~hD+$B{8%9DOQ$bLOYzaEU&gY@emO5=f$4bifp zc9o&J$}qehs$ZAcugmo7gYddczb;oAD(M!y%rp>!d= zO@9z#@*0-g)(c=>Vb%1)(63qJx0r$l;oGzi`=~8N>)fA)4=q$P% zw742IuL9g_aJ@!BG#51oqrO0tkCFn>$C&8HI}qiev`;~lFP3p3!moGe69ELeKBdoK z!K)mw@)TJ6Kw|6N3B7iyzd|Ok4Whi=bgoIC0}DaOM(hg+9FU6AK>8c~9R=Yu`D)t_ z(eow7OxG0wr(@LIn<2mSe4MF$#!OpQQ6j!(mi9H-=jZGW=jR*++Z=a(9_yK(LuNfn zbDhavQUfjJwx%|kmvQ3e0h8-Bnp3G8>~k~dy^f0LRw|*};L~r1AHM@r_%2M#_0&uo zXeHfE=hHo~`MtpLVQ6@OZlDM05qgN8z*W5cco?dPR@sver3Kl40E-)FfIH>jG|b*NC(4IDF-qIMu!s%lqXp`&HoR8u;LwU|0b`c|c4_F(%J*kof?ii0mpv;$4%)TP-%1F7%p%OQy#G0_kAhT$K(6H%_T33Sn?wV(#wF79qMf-xn zeL?baSaAeak_ohvmcsQcr+48z{{p1m15zKO_J?#W-2XbbvUarGDRYiO>uaF3RHJpR z2dxbntqo}B8=$o=16raj39a%Jw7yM2>)WhoeMjFrXuap4wKEy5fJUpLL?BtBVX9Lw z)k9XNWkDrtfGntGjY`%8S)-PPlx!(vAzPMxLN4nN;;@1^>_Xh!8HiuRZrO!+E_KJ0 z`WGPnHz3}H_2oZ+_)9txES^AL(@gr7=FxXp34fp_+D)yP1Gi#tbRRRdu|dys9=*gC zy~+jj8ny#(a-j$IZO$ZZQ?UO4*l*Razvh8`r-pqeVBZbc-^>8JXmepdl+4}eqr*;|^=3F)7wcJ6ip9PZ8@}$;m3z?s*nAG;eQ7xFM@MjPY|0Lx zW3U-Lj{8v)_op>HfY$Lq{59SnU_F?&a2Y+xL+L3V2Fwrg;QWY#^F4wyn2`?`>}*Hj z~=pC?!;pWq}qgZQGaNb|ze3HGfVQg=_?ieJ@vK8fg?&9G5goE=79-LQf zrj=_Y%#l!Pg%_?rPC5Ae~mSqR`%nrdlOM!cq3+~yS0rvrz z$^}<#bNEnzJAz7hB=zOP@n^F~&{!UYNaILE7NhAz9!nSTIJ%n01K6W5i6_v5JcS1h9tKkJy&kN~fK8_N60-eH(X(b;|=kbXO28kmI zX_wP`J&RShss7*7<5)TmUG}*K_4UCA$c+ z3->fvF79xytWuDy613asl9#Bvy0_7#-RKo`Mg{e0v7Q^&TiCx}rm<169@k;o1mP1K z;1iqR6GQNc%V;se>jrKHJ`qftC|$yFx{ObzD>z1L5rVtho0F**yj}@xxfoj`d#8Ve z2btS7GPh%bl*0OJ^#rjH_1PO)9gZuBJ5?sjX4Lk7KhYw}m%y9511U@%dq3)kWHu?h zenNzjQY~bx;()FBIL42hauTe#> zhHQ;}lL*Rr*4V>d#)))r@Xv^RA~o|_eU zZnnvDi$k7UI!hi*sBW4(OKCsMgi}GD(?OmyK%TQep0h!ob7?f6M@RDoG>b2!o@hjQaQlv}3|7s{>Eh~KJYLb+SD>^7GLLb=+{E8YO{dRv^GiFbF%#CsGI z@3EP9ufxQ9JI%yF*owKUe+;k@-vK7x1tzWs6YmBS?*S9<0~7BD6CVT<9|98}0TUku z6CVc?H-d?qz{Jg9;uB!vRxt4?{MR7c=vVv234 zFC`yVrG=6Y+oiJ;>X8l!^{67$qc)))a|rcVX9-0gAY^w5wHPNJ#BYF5+d-(`flxa@ zsJB3V zpYi9ki~r^l2TPC;r$31Em`faFJ+&)CWbS6tz6WszVBOr+P8`IkDXvUOT;fclLN9UJ z9ofKi)(p(R8eJ@zHG>ca*^Vp|YaZ9Ed0fN3QL|>FmbH0V)279nG;20#*=8?mHhWpK zMYCp$T{=5!p6HM@TNP`z+N^ofVa=2O18a7HHD7`?Ux77WgEilPHQ#|X--9)~!I~fG zc!MZtFtr+abh?pGtBeAA42KF&8y3B06w-T!k3KZ^rcVq%eP--MyNs?WtQpct)*Sf% z!q?}=Y|%86fjNhzE{`-xw<3R9gE zzw#2#iC?+O!uQs+k>kGd499)tB^@63m3MsHS6-5S+*e-G;c;JiNr%UM>~qcF8l1Tk0? zS^AUdI-J7XK?&N3{MB=izDg^wPd^pj<}@r?XCP=j6FHHyu}e7zi|YA29A`SRyH}^X ze26-Y!6SaXEr)2}_b}ys44u)pB|8DL#8X|#`hi*`Ic1-rDLUW~_|xKIdb^l#aCZ<& h8C-7E;O-+fjy2{RbEy}O{nVixHkEleemtGe_&>FtB<}zK literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/service/coin_swap/transfer/TransferApiService.class b/target/classes/com/huobi/api/service/coin_swap/transfer/TransferApiService.class new file mode 100644 index 0000000000000000000000000000000000000000..40b9e4d59443bc6b56141cdc748c0c6dda5f3c98 GIT binary patch literal 356 zcma)&J#GRq5QX3HxBN78xk6}gL$?(T6;TjN>d1HpFoN}Bd*KS4iGl;__!w+ z<~m`!*NXdVxtE0a@fcSQUj=zagalWJ*vM=tzUOOJzCj>V!t(&C5vr&KT@R{GXk43! ILam^A0Z71bY5)KL literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/service/coin_swap/transfer/TransferApiServiceImpl.class b/target/classes/com/huobi/api/service/coin_swap/transfer/TransferApiServiceImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..ea679206a8d76d720d0322d00486100f569ce3dc GIT binary patch literal 2705 zcmb_eYj+b>6x}yTGie$u1X_w9FG1QuJBlFKVxhEPi+xE-5npvOxlN{>%nUP=K74?D z^XKSVP*B!VKl`K9eP@!A5PYz7b@kjiXU;v(eNN`L-+%fUz&U)I#W74~aIF(Zab1!3 z6`9IlTAepEe2_&(Y0P9Xi@7e$V~F#f;ty7xTVgeENLN zpQ^{t)XUE`ENAfr3=KsMW)_E0(jYagXebM4hG#9W$t{8W%&M_&=(gdM^+M=dPI*)y z8%WcaVXTn~tg<7JsrmM@=gUoj^d-x&!ZCqU{q48gB?C(WsR_3v1-fS}N6yu%Md>dZ zMVpfRjB6V9lHps5uM1OQ#R>$*XH2)MS88t2(iyNGNPpcjrEa>Gvm9&~o*w#!6Rb#I zU#vfjdsZRVnyz{_Q`tQ$!-`v4FnpsbL+R6Org2N)yZ+}~`0{Q|2H}fb+zLuzfleE) zZpNyk18pV(&vk+qhS_c-)@7h+Pld?vy5kDgLd(`?4UexfzKqobCjTF2f|c)S>eRJO zQ+lE0I`pR1Yanp7&Dl#Ahn+9FCE~2Nwa;5#qu1wK)4kLbRUMB_lKJAQG{ey`hPkT{ z8s-`c6k#U9c143lyc53#x8|Gjx}^|yu+gwqYz!;h=g^N;0p##HPULV>kvDLH#i@j$ z7mVl%cf%0^hdtlT;gov0CmNZkK~qLhVGK-j#doV3Dmkpd)=V|15pF3ld!xrouzQk8-cB|(vDQ+=qfjhWr#Lkewj~|LrVLL<_%u0% zCu!^-FVS+^@I2|11csVZtCyiUkyun84_?fKZlk2>lDpsr3}NjBHk!&)xB6F-oekWs z&>jdQIH2+~Y^!J#4SmH3!qvca^c#iwITnN4J&+9?UikaCCTt@J_`C8vfa#;J`Q~E9 zcQ@3}=IFo@KQ4~)U*I@W{NCU?BZb;%(aEJ2o!nnM6V&U+0M9{k4|pbdo*H}%F_=$0 zLNcPMh;|I-(~qDHo>t;BkC6HyGH{yoIKNlGFOC$tk;QKQ?LjZ{ID{UC(#uV{A7`j> zG&YYR43ndyC_JuRKB)i`(D~e%pjbr=M)xM(ilY-FNTY+Y2l>S8Q)KQuM(5m6K6`o_ zT|Xk1#OB&J;sq=7*-PNT*R+2W0n6fx=4>udW=uU(Z>W-K4(cU zGkc5qg)H<2%e=`Osup8RrwcZ9-sZiK|L1U?_BPRpcW{BcYDl9}4{#ChMt<*MB&yUX q-{&ZaZCs-MdzAD*{6RNK4PzQEYq$cTVLU2p2e$+@xZp_>nD`T>QS2T7 literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/service/usdt/account/AccountAPIService.class b/target/classes/com/huobi/api/service/usdt/account/AccountAPIService.class new file mode 100644 index 0000000000000000000000000000000000000000..45d9b0e9df8ebec88f39f40509faf9c537f5b697 GIT binary patch literal 3977 zcmb_fOLx;o6uuJ@n?Mo>knkuJN?RHVMQx$a^yLu3@j1>RwP_CQI+iBRP+4+kMuxIz zcU|{%)lL6M7yJNzR8OxoBWo;))WTVek99Tkec#-dW?ugL&kF#!1NZB2uMS%T&i0t< zJf(vT>eIkwyVQ@U;$c8wcdhk=4yl9op3_l+2fg*{EjR2t`%&2C4jphuFgXYV$(%@f z%Au|sMuBq5@Y-hPI)RhhOznr>4i&V|6cdub(ulVqB~t`W8CeYt*$nnV0^d)i$bz!O zEVyBy1a;Nj&|?Hn8{VBz^4JZUxIGoIjb$-k7~i5ji@@Wl7|m8~NQ-#M5O<<(BU1YW zek>ugV&4oD>oHLw_y*bHtjVbR1NR8j@sDOrLu@9uxWu?WUn^wT&k>WVm|)hjHcRGI z7Z`I|BI`l}5m>QYq%%;<8y@T_Qze$~T4ANCi8qz;S<-4A7tBQm)%HZ#Z=xg57bM2H zs%8Fqu*@`|md?~Pd4XqAQ(jB%{DAgYGw|3m0!QQj9sV4vtLRo;U*5rbU)zZ>x}|D0 zbD3Ql1lVEo+whivb4I`x53t#C>bIF23UBu|f!`-i{KDeu>0bh&`#5&zOXV8xJ;NRu z3;pADg&KsZ)sApRlG9RX3@P_%*Jmv@WPY0}Ou0uTp`AR*i-=Yw(8BjNRkE}mCXCG1YKTNjQ_W(#FHF;6H=e0^Q&~W5|FAN_7aFuo4EFBt#KF5 z6#qGKiz}hiP=}z~)`VU^lgspG5HPITzYh-m|Fo4pRr}5c?`<-d_o=^bB~8VTZW{MQ zR_aQWJxBF{emOq3Y*W$WfjQw2IHAIvrAGVl4T8X;>vI;Uq=Ch!oy%tTjR8j{5APx! zMO7qICIXvllNa`@P*Cr&P8bQ7ZE+tv)6+!?Jq$};m50x1NB~p zD`n=l;Hoj>&NS`Y@J`B;P@8DcL`7f OHt;`zyZAc;oBshqs{G{u literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/service/usdt/account/AccountAPIServiceImpl.class b/target/classes/com/huobi/api/service/usdt/account/AccountAPIServiceImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..010c039e939236607a44fa8da211c9389f027de9 GIT binary patch literal 21850 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 biTh$Nhj6rP#eH}%Tk%lULhwjEOYrzFTmaXT literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/service/usdt/account/CrossAccountAPIServiceImpl.class b/target/classes/com/huobi/api/service/usdt/account/CrossAccountAPIServiceImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..6eeb96e8e153a8a43524949c9b3d42c7ad84df09 GIT binary patch literal 12221 zcmb_i3wTuJnSTFdX3k_X5Hef?0#dFC34?;70TBow!GK5r7u#)|BttSVnMvn@Sc|My zQK?e5wiH~du61#>ZcDomP+G;h>#Et_w%uOb?PafS-MV&rw-xF8{pXT1lSwAS<3r}m zIsZB5zkKieewTlE_1$Nm1F%@t2XF(P^y8@tY{Tc|@U$HM#*fd-_ZQ^$@c_PvFUjTK z8aNR^C7ul6B>Ma~6~JjcQ;BDBCV(&FD+ZnmASAa#c;3KSKVFd2ugc9A{rI~|{5@VW z@DBmJj92`4HGnDTmp=Z{z}F0XJ%Abbh8(`>$G800>&HL&@ofX&31A-j{rG1C-wj~C zoZjWf_x$+2fgc30P#RwI<6jK?YXFPo>W2n?6u=Vn8~CwI_9uS)n}L51V42+g4?q6X zz<&j>LazSX!0Q1t$?5<2@l!wEFz~+ttdptz3~$Qe|K#wN9DXi`{}137_@y7el8aya z@f$yWYv6YQY>@%qHt>4`e^4+Yy|K1k(OVQkEjuH-BjI=?(G_mZq+*G#r3!&`v?CSG zm``}pv95%IKbwlT^`@eG6nybyS64J8FDFx7;dFe*;+^3Z-Nu)F%VLRGX1T)Ld4u~N z+)}$u!PAuNj4D*M#1hes*`D@jYD=U&&K3^P5s7b$q+)VyHF`4Lv9!X~Egi|8aCbJ@ z9t(3h;dC^$JJt~mXVaaTaHOLnnN4KEO{ru$z0$l`xv9C;e5SdlH_n-k*$~ZiCp$Mq zQjwl$CYoZW6T70B)|(@}?)RD#JCX|93aq9!Zwjesx;L3f=gpx|f19l*#a_KKKF6*y zjg!s9;^7UEUf%NC9V)DPFNX58Cp(F`qGiXskXW;)BifsZB@-NSR8J(;6-!tqQ<#v8 zz%9Kt3YX>1cA2X`i$|`O>)LllJ2Fd`%K)vJNXIU&Portz9Zkz~l$pXLxAiwA(=nNp zY5rRanBO(P;32J+5+QOA>cXh0H0ux1ORyuE$fP128I$gw-bjoha$2|0xC+zVHn3oD z_owi|0;VW&nFacFt#*BBs~x_x$?o;EX4|c&TVm;qLdmGMB{ZJk5* z)w)zB+@&gsg_tzEMt$R@FxXUUm}nN zd!{d4UD`T^>LzCu_Db_sQ3S&wF&m6)iEA%7pVHSpR5!u)Y?@g|I&FI2X>LGQ?vBLb zl6bU4cSqx!BN@8q2MeG%c#R`zDbWstCu38L#%L~$2*dW3V}b#nC(<{a_HDzPpgEC= zGCN%AvVq++@+A)**R|S_(|*`)DtaSb(dI;_q_krT%$E6=JduulIBMX$LXKgC5~&muoHW}${Mg37Nd6h@nwZ(GEy77UyVs(`9w zh8k2sHOf$f^R^DDW9+H5#i+%g8mlUUYMdI+a!&I4##{FqYC=#= zRFf1|I{UB3Ku$qToe|LVC8uT ztS)uwh4G&-!0e`OYE-;lq9YnqGt~PO8j8$|g`Lj++TxP_v0yK0QUy~ps>IGt+Dugx zn}lPS3z~#&mb}z&QIVC?J)3D#TU_#_wvad8hq-DVbA_O)Rdt-W*dwLw5mfV4CAWCU zlFn!wcYHE>Z$qJ&am_9+7}uc#yTVnu2$i^h#v*q>FXsM^!j%`?CAqGuh4Oi_HR)$T&=ilPxj#2{Uac!j)QwECCgyK} zuH^<#GR1AS3chOYiYm-@=gj7-wS_iMXGw37-bhDxG|YAMFgMV9vx}_F*{$3hg_VKp(CZTD=a{Vsq17+6*}n&R|SFH59y^(e^BfTV!wC zHZ=)YBSwnEW9^alNO(sio!OaACc^7muiHqA(vhU2=EDk0hF_e`x&aM2=m}G~Et|=b zT4NaYBJp%{S0b5;nxq+DpktxdBzOCk?o{$-DVCRtYzn@@_DUgcB5E=BqIvIk+1ed+ zHFc{vtyMYYxwJ4}rWftVm<7ARmQ8ve)qT(0U=8w~c7SH-K0b&0c1=p6#1ffpk$9G* zq~@FHRrnqQa%Ysk448hJKm2Ut?@ipyftSBdu?FE0QikYnRwDYFRfqm&t-Z-&Cw9W4qkCwJ!_UwJd=5sp^N7g zWo(v(fRpV;%$%(1f=@4W{~1(nKZW4N`KK}J2*x&qM$hj<75|>Wm~z~38r5|tIL#CA zoI!|Bj^(M*hjF0^JoI5=1FyY(n6!c4fly8TGnibC`p}fqxacgVGD1o-c{_U!g?;n`vS1pTbj>j*b;{494BKSdmfumZeX{8oB0Qvr)A5`YbXPI-a&=5 z3kF`r-o^g6;KP>vU!naCw)I)|Z}ge~jH~g6X5}DIuYsv%`|NrLmImE8nvHWBiUBp( z1ggesA=T(Hp{ns{tZF==c^a&FjXr|q>qD&tmXBanHF^c48m|pkjmN?3C?0k2T186( zSI~M_@~n|^T1K?4!sWP{#}&k7746rA+p!w=V+|g{T6_lAvWI3ohV^(FEgHWMu!jnK zQsd|4lY-x^v{i=G7yLYYI-v0rnf5vO_2DBLKWW>mah9{&cvjB71J=7XrsfD~DnKy3 z3chokFfkoheV)IgdL2~V*m~Tp7Q);+FcBVA&hf#K!7&BtefTpA>1!>e?X#6Oa*5Gb z3?nfTh7y}^ON`_wF0pQ!)0Wr*{+bT7lHgnDUA7XSZP-X3xSc+52ahrCsKmJk)5E=% z-Sl?@@`_mU+OFZbouI68L-{+1(W)a+ z(;fJzW#bnuH61UYrd)q!s!4>?KvyLmuHhxf<$|I*3K!MULXF5mTSu3SP)CQT1{)Mp zM>}YyE*iI+wA@J@?ZP6$u!N>tMbDL>F>gf*chhX2B!fRqzw!`?cochZj2=dSGIey& z($U=-s5@z;grlRQE*%|rfI4mg1sum+mX40oPu@*{jup_6j4)V7)uZ!ubdM-S`$)Hr z?kS)n@sxM*v!5S@dvUR>*+^cFQJn4VMDh+=|D#0m zF4}%S1$H+h+&x6%UZQw_{^H|&>V7_PkjDo!dYdWA3S>2U9zH2v@MH8=H&`+&=hLPa z^oT_q^bR@b9m0Jar;I(Cf-5Iq%y?$@o2F>R_gyCOO#8m` zez-Hv+3Pe&y-t+;Y&&b?eGPwY(OR2S%@CPQx2kQQO$LInif4w zM2^sGe?e^?WsG|mOYsPUEYW(LPyQ8;$M6I`$6lUf9D0f|>1mDd4&qnA z_asm8@kv4W;|xK!S^D(qs3ne6IDghb_^cD>&RPh|U5R*-&z$A^5+nO8rFvbc%UEgl zCa5DqmEY!lqgKU1tuD70?m>$TdWa;Mui(n< z`mBU`6trg?&#J;_A7k2&XQY``-N zfX@=CGvxS}X|osj#`E;AXQ|b%Y6Q(pGp-RVXNw^C3EF;x6AJebVLKEaa1cCTX;eHz zekhdQ>`xIBm(A zWrvfLTH>^Yd5F_dbTx-fVw8=uh|ymHF@y%Q?ZnBdLEOa9P2#>sz>QT!xzVJ#(PVRD zbq+TS?X!(RKD&bdWAtPmH(n<Me5P=j6sOa6Nv>6!+JR$G;&) zzoiHN9eMFKd2xEYP`_@}NTbFpesjuKcJ|71*W%=unkNsvth1Mq!_-#vQ5(cd9Ws zs6rZX$)uAS@uOV#HVbhN?sWNp!w%wyoeb)VHEG1`gV=3&O?gBH%52V=e9?2gaU zVrSCJQGO2lOiZK_a^mx&1}kPajyZR7Kx9cO>Dg!ad4wOuv(s%f}fU5piK1~#afxIxWAr<#MTnoGLW;yzV}BdQ)Rss?;REx>CkjMvpdyrCB3 zO?4^WQj74mx=hna(uUVGoj%KC;YBA|c*~*_6M9u<(}`z~Gl^7mMs~8`$L}?D1`>L+ v#ZDX6p~BjrnlNF))CsanWoGrqY<38ttfm|)Yx15FMv!LQ4vv&_XG+eA8Z7sp6Isp&%*}HEJrjaKPD&5{K*uwzp6YNO0lr zaOS`d;71`QyH4ZHrd1*Vhh*ik{ob2rkLTC#A3p)$F>Dv%VG*_%EO$^hKk%^5f^@kGRw4e#dEQDf~_)8`-Y8f#-Cipd}n03P+*}17D#NskU~!7|7`&Z8X8B->U@H0)vc;M%wL{4Vcl@7}T8wQmr(HI8 z$O!12o%l=_V0h(F+Z>jVRZ~qgy&s}K0GCuS48EVO;?y@Ndqh@bsC`0cs)HP)Gp5wa zB_DDjtv4%qFBZ8ssQP5Ekt)W9L{CKCp5MlgrXIh{n)WcIsq~NPF+*+Tv6&M2Olje9 zjqL;aGb+FSCzV-lOXi?@MhR8964Wq`r+R_Mw$1ePX7--Exr@ypk}f_MeJbOXq?J5r z>@`sy(S!SF&_EgNq+6s)CQ}`9d?$6rQS;qz_0ZJ?1`Kl4xB*Ie26K?7@jQ(da!{a8 z5rD$yU?Ck|jKk-lWWw_dmg3L_xM)I4b1^`fKrY2o%W!$Lny?A?3am`RU4^TY!q;Fe y9Zqns!@3Et6=KR8M0t~bh8i|vu1&aQmSvRPhC8QC-GzH*DoK$B_X#=&5B>m`pU=Sn literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/service/usdt/market/MarketAPIServiceImpl.class b/target/classes/com/huobi/api/service/usdt/market/MarketAPIServiceImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..2dea9e2b766c7efc446f125ee9c94b58897cda24 GIT binary patch literal 11861 zcmd5?3w%`7o&HWTlY286NC=NGf?!-CkP=3Di3z1Z1bHPq60xXloFtcIAoFnM20_FJ z;%av*w6)k$ckR~Jx~+X^)c|5^t(CTFyHEPszP7dd?7Q7QcD3|7=bn4#PG$xs*6q*V zkKDQU+;jftfBxV9@tt#d{`XIQ2EZcG7{XO}$i&}PV;epqA3hqw!}yqd{J4QngkZ?m zpA6vq`cGks)?_e__~2_gs?!q{icC`31P9kz1zgMOnlqKcMN`QMJjp%i_tnyvCSMOQeT5ef@xCcij+6JFhRd()OT0@0`MQ6t>JAHEYJorc=pm{$4rp2kgCR_MVb&ZnkNYFV5F?nNO-l+}EwQUa?A zRT1YNqe1)veI7kVgOrexACcXen9K+NFA=F^`}7}Utc@NX?j6q3MYGv%6+uOvSTAR1 z5e$4`vo2{{%$TpzPeRpQuV(nRtpp7>Xrio^o1e z&~&oi#WFH&ZO&MU_;6xfvftXHbKY%ZHKA*svTSjdseLwCTaHc26E!n$y{of!JQ1_4 z{;j;|1t0hmEx2%Q--_3bZN+DmC6ijtIICh=Nn7@oRmw&U8&eG{80!_UvT|MN;cW%B zDN?HnhC9{Qz;6Ynugw`!HjV$yeP-n; zTh_YDids*qPwOS+XkBbz9o1YFv-<`elCW)oz;&;ks(F%q>b91nZmGecuGDa*&sr0g zn}dk6sC;%mU+zW1cnjVtFlo@X)7jRj+#bvy?Cnp?=Z+za?YKIO-{F4^{9hO^g++~^ZmszfX2!5dF~qpA7%yrCDpI?`qE5~-LDZ83#6)?SM4}oNlcmfl^3outhDAh7GpONu1}Vps$Ws)XhL)7u}xKs=o(^LSWFk^)3IFI*yHTHN?~m~ zOn7W~=CQca%X2NM=NQ}av?WJPm5Uc=Sv3yh(Ti-(gH-O>cV7~f&fP;*dQv2iJ#mjg zE-w>UD&nV}IaC)%*B2J*rPpaO&JsCLbiaoe2-Ap>xxxPY7SUP(=On!{SGp_+Ye z-PNG-QcccWiUj3MwBX#+B*+r9Y8s&SF_}jei5$zwO?_UTGv@rHSC;HWWlT{}QUzL~ zyBCxYt8+=OthYUGMp;_MG(}6Hz>@r-l<#x5&QjUup*&2`Wl6**&YA1mNUBDj?=*})tz5%H zG9E+;R7>)z4>gdYC)rrGAn62+gOT zZt<(En*?N5!Qvt!oCUfb!=sO!b9&~f8;yuSu;1z(9uSyaQl#=2*JeCn zj>y%-8lK5!EvK` zbs}vuAg1{h_t%y-xvUA4t+KsJzRsCPjU1k|^!Vv>uJPeLN&p)9mF6l4ycreznnTXc zD;0$uT|HfdNW-GwRqYjv&W2V<+uf$=)H38sb~7 zTiZn5CHPia_*Nu&S3!x@dPIt?(uR)QG)G>~mPS;*j6nmLGwfVxAj@0+1NSWU%czmJ z!|YaFLCK&@Y5Coh>RA35H3_oqDQ)@A7G?JfJkz(-Hxh>n9pm%v&rYGPrGA#Y^V*tJ z+eK_^^4eyrwmEE@T?)9l4sb2Rt;4~M7!$X7_00;m=GFjlBdipna0?K(ah)102eo+~ zY7gQg9%}39dBA*P5XDqnOk6I(JYsnn7GVXy=yl*yeqvinq*`$czvlfVmf>E!5g+8| zybog)C9S|miPd9hS7@%~*Gm)kD>N(FQ=++t_P<4=S;5}b3Qg(tPkCrQg}u0u_I^xb zSOFJ9M_QWJml$4xs#mC-fqfGvp26iB#+xK|kg!%LSZ~spR=b!6dBVlf0{d~Z#&em* zGo6p8j-$fhnO72n7KK5Ji^2SIFxbva;YQAU)KIq#wA)6;e+L%wQ|Fto3G1<$xn>J} z`%3oiVrJ=PjBNASd8@YbdS&NZXy=8Vo!{!SbK0|WT1U-55j#t1uAOJdShA=(<^^qTMvvUb^f)rl32R7G#2U zl2$^QKftSW^8-u|o4lm8&zH0gdFDUlC9OlaT_vqMG!T`Z!&kG91j0#LOAvg8>e1mR zoWW`YytL)H{5dn(?FyuWRNl#Cdo@T0J&;DBa|#lgStX%aR2rJa3Yx_(G)u~ZW)~Ol zLbHT*6imd`G<*ZI?=7=c%)7GcRlYWcL#8_b}bPmoUAL@pvDj@vr&z ze*6vIkB{+s0v})rd5}^+h-dI2yugwqqw_`<|7w;JNhwVBl+h_?x`(ArQVN5;9ZF$J zgL`gp+H-@`)Jjqc`SuX+WU)Gp!@LWqJLx2n44kIccQNC=KzWX2w`@7{r#ZhYTU%i2 zD4sN7dfge4L(?C~^cn;7ot*m^MPHA0rAQSu26bh|<=$lc8V(H z6hY+_LC+~jCN+ojr)4MhKTfDV!Px&K8RH}TKSz(UCVq;hmw-M_CwPLH;RI9iF-GZe zX0<03=+|&wnKZvcw7$!v@jbfcOC0@u9K{dt z0Dh%Q&O5 zqHcC7s>|!|^UA5i>+dVc>;H+?3!3Ja45wc)oPJ9a{+i+R8=C!hCBy0d*KatzpT*ii=QZ3QY}No3InCIj z(Ana$(5)JsbDU=QE0NkD@Nl78@YGCHV1@{wNd$2*4+}O46W54p><}SjMGba~TI?0$ zuuqJ~9sD#|YJ>0rCX(0j2H^p+C6kyWws+8b2y?mbCP5_XI42HDCN4l2DO=Mk~!{= N+{`^lMJn*&KLDU+ZBPIJ literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/service/usdt/reference/CrossReferenceAPIService.class b/target/classes/com/huobi/api/service/usdt/reference/CrossReferenceAPIService.class new file mode 100644 index 0000000000000000000000000000000000000000..027a61385db4c33fd5098634f6071b198a07273b GIT binary patch literal 634 zcmcgqF-`+95L|~Nfe;{cH1yEmhAyIrA|WANM3mzLj&F1Ek+V;0Ul1>#;YBHU0FOd! z5)hXn4F!c|&CYnWGwYAf13JoU4VB zb7eD`1Tr@3{jG8pYgfow-&D7}_S3xbVagpGE8qU#>pJoJ6g9)` z#8ss6&dk}&#acPWDH2+Z{n34bv@ja4SL+dQyB)6Ikeh7j=at;mgwy@q^1~!Y9hw3J nH29wYG$H|e5Ha3obQVFAuNI#JK8FBIx8Z0f%|wTV4LJS+qp`#K literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/service/usdt/reference/CrossReferenceAPIServiceImpl.class b/target/classes/com/huobi/api/service/usdt/reference/CrossReferenceAPIServiceImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..f73e9cf32dda7b5c31ee5af4fb0f47eca2540a0e GIT binary patch literal 4160 zcmds3`*Ryt75>(iwDNjW+j0^|Z6QsG8$aYMr3o!^lGai4aIl>;vQyFm&PuwL)|Rx} z-Blhfh44ywG(e#R-0~=|K4v-$%n-*V17-3fe++*CP`IV(GlPCElL%xJFmo_p>& z-#zC$=ia~n`_F#`um^8z$Y3ssQ(YLvlXCc65~t<=Q*z~L4WGvsjv;d|kyi6sV?S%`b@y3Q|*x=2_FI zn)R}g_g$-A9#^1wqUZ`g)JQhm>b&EM^9mAGyIdBo+-19E!>carSu~~s8FwZ2S#`@l zpkUX~Mxz@g!>1I)a&}25=$W$WVy00m2zS;jR4Ji@qFFsY)vOlOy)zq$(mCo+TLm5SM1UW(=}_t z7cLEND+@n=&UAvEQ)a0o+-cJ-TXh95e4rz3Jmf~n@H+Ia@Ep7DHR0DxcS-n$L=gpW zvZ*Aa>`25!+Y{Pu_*T`JHXSY{TecMJ|A<~<1-nFcC``qc$QcfuFAB%E>^i;aMZ501 zX3-CGxHg@=;BZ&WF)b2BFEl*n*7HK?*7megvzgkx?T6VH@!4c$L~^{aD2o300fN|+ z_s!xGk001k@y&qbmskbs(m7FDYu$MmNb-OgAr{X~<$!aaqUr@O>t%#hUpdOJBt$9Y4TJ zOq`A%;zv4O#w$@JKOobl7K`TPT*Z%d`~*K$FmS_L$dZE%tIDd?v5Z$0Jks7L=-Knl zy6+iBW$%zZhX`Bs&IXZdDJaMo)nIwdiMku51rFUc*Z| zeukg3v&zEBKKHzeU+DNHURN;Qj-pkgVY|9Ry{q_@j$h+93Oej19lw=seup;{^xru7 zT1_h0+3rfTs@0fqtTi>6_&4S7mV(hc9Mf#8n#bDB-|{54WT}FQb`u|>b+dEdID6O$ z*zP`(SrRTV*=nV2E<$1{=p2$4R+3jlu4;Phzx_kQk)9L?*^ma-UyO%?mcw4!#jW98 zsbDbLf5NT9H@i}IN^7QL7AwNw5o;u9a8*ClysPKf{0XJo@@DM1I8<|dI=Xl0=_s&B z8IBJ>MP=Wfa~$F3OplFXbK5D_UI3j=!)F0SVK%#N#B@^<4MS7JCxnFLHxbSzbt36z@Fs)uEfVw~LEmu`laVla(0WP1SQJ3>kWtue-GdvG zzTL`uyks8{M6mZJCc;>>XfwXiB2D$KCxn7{Nfa98JHC@z;U(?T^0a2vDwqY+STH?* z(X;EuvHbBFhK3IUPlU<}9=;{a;EC7b+WHbAP{~i;rhbEj>Sf6TO2!547`ObTLrM)UUJ2zdbo|GaF1e_k>C@1))y>_rDY z&DkaXck(|oauv!*s^bbegE2OeieEuuWMl>EDw0>wH8LvKGFK4$BlSD*Fvt6mbGkOa!@~Y&QMA?CHes^_HEMbEX_hEks zQTYeWOE=fAK|6gF-PuI!FVIhSj^OFXW&+_| z)a=iMYUx-Y>Y-?JIu^=SvE>@J(#62YpO9F=w$$AmR&Y<6lY6sqO1n}YOUK{E$2*aZ zr?#)+zQ196R!!|lt1GyF1)o?(BCY=6P4r|F*D!cGow$kz-V46sSF!6oo(p&j?_ej- zBm;PiL6hO>V#o#<&OxqZIA*a66Bxo2Mlj1To?&V)GCG$TtYt>%4Za}WW)k0FN`KFE zt}>Z2&uLGF!HTSE?ybCnTYOUQK`;;KY<9fyO2$gd;( zlH|CKqx_1|i`KL3Smnm7sG$}DdN}MDmPB6(&Fj@IqQsU(Q3nlU-Mh9m917X=z Aa{vGU literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/service/usdt/reference/ReferenceAPIService.class b/target/classes/com/huobi/api/service/usdt/reference/ReferenceAPIService.class new file mode 100644 index 0000000000000000000000000000000000000000..3d085bb33532fe2a4d5d1e0ae165df7e670b5ba1 GIT binary patch literal 3205 zcmcguOHUL*5UxgG1yKP}!56*-AB>8xgcBN!YnHI=s#nv@G)v=d_t4#g;>n9K@#@LM zU*f?Z;Eyua&h)rFyW_eB^f1YEb#;B;d{xy`-+z4l1^{>9egWib^QuPS#=>mLmkny1p%j{Vkq(U4pz0MfUR$J! z^;sY=y3EXm49Zl|1~W`)0wcZ@Mp559k^zDqw@e;V<8Nf>Jl_qS_HYiTQx@?F*G4Mt z(|QK>T@I|HOHmkBV`?GC)U#H($PUAykk(jH1ndog{mu6(e~VI`u*6GzE8+n)T#6MH zpr|kA34EOC$kbNEv`G?0eP2c*$yCnq3X6UJknKMPNlF9LUQkIu0+W_=l^IiK4JJ&5 z`BDW~2w%DjU6NRSj>_%py+}j{D>n(+P-UL+1}a}*B1qoS?^&vI!xj@&v3s~Au+jZ{ z{2aVasDN z{*ZFz+^^4eLgYHK7HKY+*2yxJaWUA8v{}b%SmK#o$>@f1=uB7{i$X_=3ZFG^Spsjm zYqu9&ok4UMrA1od`c+Y^W6QqmPUdf0HVy1xj#(Ar$|>;%Hw51Igu18Y(}H)nrM0jU zGSSps;qQXLhyTycC6L4KksTP4oPFLiew_;U+>S0Khw+$>!cZ!cTu;mKfHU%|590s% z(;WIe!^Sg#gO~Q$YQ)seQu2SrKWk+-7@1fO)^Jru3cHxs@m86vuyw2#?CQmGvC7mo z-ive1;gP_D?7*m#&14Kw=_xPgJWh+P@pENullf+l0D(RnT>-}X3G9P@To2%CfWROC znhLPL-82Nl)^u=R(+dvZGZK3rghMUw!?9@;#;ob+KRXB z!(^U$3Qn{z5|St3RJ-XkoUx{{{y63|LY~FvTpas6TxdUW5iVI%$7fxJD|X8gOoGh7 qtTpFiT!m}hwy(ntyKRM;Lv~q~9^AApzw&VlZf8umn8$N{aOWor1nj5) literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/service/usdt/reference/ReferenceAPIServiceImpl.class b/target/classes/com/huobi/api/service/usdt/reference/ReferenceAPIServiceImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..475a4abb3380964bb220005cdb2b0ac77c6a37da GIT binary patch literal 16764 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 literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/service/usdt/strategy/CrossStrategyAPIService.class b/target/classes/com/huobi/api/service/usdt/strategy/CrossStrategyAPIService.class new file mode 100644 index 0000000000000000000000000000000000000000..1c394d35619639e0f2009cc6f7eebae570f84446 GIT binary patch literal 3092 zcmbtW%Wl&^6g^Yg2FfetO`ATU&~EUCT~??P0tu9=$q!7OQR?E_>5Lr&LM#v~#22yP z1NbP!IBD$hbs~9&<(%<3bLQmU$^G;9*KYtXanQi?2KE^?)JHx%l(AAh84LzOc4S}3 zW1)s|qy)pa{dazR?wzLbN#OBe;7M_j3YB=N>L*?zd0%+l*%IUL+6NW>M7oB+Y z^Sww;0tUOc^?oS8DrjEO1Q)Pb0ZvsUvyM%1WxH~pPa>Hvy$U_y9=94wU z?G;ozcLp(cv|e&lE@Oto!qSv$?`g`+O&LwD?>gBws+HlhwJ(Q`$>OSnd~|7RqD_#K7)RdDv{KF;Nby@$9XoiGch%*Fo zr$%o`?tdWdTDvz4uAR4@!OTsyit5X@%e})es#|&{*}+!%+;UeG(xs-Y-4%rI?9Mn{ z8{94jSM3~zuQuVC0uB~Udj8`YPfHd;rF|@(7Q%OMSUFvXxYCVN>5JDvsHer&c#`bu zu`m&XPp^*Nc7+@TzIbuQN1UNu9wpUeb2164OOiK7LQjF2h!^r`;B`*Ugr6)kFf8bK z7HBRqT*0DVFX`11!!n?u2Ch=*8dfND9XBX+6SpXI8%+wW;tqxG;vR+W;{k;p;t_=& iV~s-VXi;bbn-to@HidSuOQ9!tT7vXqPbam2Xa4~Az!HA| literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/service/usdt/strategy/CrossStrategyAPIServiceImpl.class b/target/classes/com/huobi/api/service/usdt/strategy/CrossStrategyAPIServiceImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..2fe9c4ad25dfdc4047cb3ff237ff7f5d69d4f040 GIT binary patch literal 20781 zcmb`P349bq_Q&6A0zDZ9!GH>)h^QQqFoGxus6YS-q97pN#z`_H14$;%OgOy71I2Su z7cac=Sg!>kf}o&W;)xfEuB)!cdLO$UtgiC^z3Q%>nj^_1``6EBdivGTRrUMUtEx90 zUijmwXNYL9HN;PE^LQVZP8uf9VT+jA#%+GO7*j(?Yet0%MX4^c+$8+WDJV`vq$LF@^^Z0z5FYxn) ze36eY_R}DqFKxTT=1Xn9%uhr4a`{-`=PRW3SMV9~frefw*M&a5%I2&6G)jtHBRQ^- z9M^EEd|WFZ*ZKH*oB!me63Mej@+^`(i}(f~-ze9ceEes*F81-wa=pdJxBB=tn{W5i zbSbn%3N4XBOC-}Ba-HwvJLP(peB2-(H_6A{KEB7t_u71)pDLv6QYpJs$}W{gEtN(s zrA2YvjI-2BDI56krtA3rMB$9(*_T>t9hWpZ8a<0pK)!seBJnkN-ENW~3O zaf4LcAcOIw&8z%$ktDB{6scf56woNMA zCY5cIzQ1Pk>wa1#$!|#V8C$!? zfVXXa$4^@&;||HVLo)7gZjpNjV-$8sksVTGhm69zHoxbmH+jCzf3x|0oBz&ahw37w zv%>S33MS4B%?<^tL$#H`sfk#mwsJU=KOQcRg%eJWym+LtmdRHit1hjJh37K0tBzJy zhGSAV8mkP(t7iv5@#AUu{>H6tg4TeMS|!~FdmN0j+BRk_3?^CFrJ8o z65+~u!Qxmn9!JO2-KfbWQ=METHFec!Yp3JFiK=MDQRq7}e|(ephF@y5l!@4M`w&|^U!2eGBTr*X64a!I9;*%A58ma zAF@!jF=`82J!-0&|8?Muwg7>#8Qsox>{9C~&ZsBH;WPSV^T$lR(noMoUAQ(XZYG`t z@9I_zp;=Gs$Iz_B18`hM=bInItQC#PsHoXdH0yD?W%DOlKpY>5r;lQ5Ks2gp{U92Z zcw^Wa5VO_O3J{HI^ay^+w09E3x_EWkLKn*sz-h^%EgLSQpf^NEWYCcvvutIDWRz9y zNnh=ZqIxJkW9ptV6x!`M4`)iWU@UammJfz5>5ay)j2<;U8X1L$W)yC8ICNP(9{)^P z7@@C|!ElF6=d^f83^$nT9!Rvxcs5-6kr{n!ZeWbIqx|rU^39Bm(RQ0ZXWB0X7t=v$ zWX@~B_?YEej*VH`L+7ZB9yUHgSt}TkQ9+|aWR}+meUXlk;eqrJwFDuf_}TUGa3bez zv>;>@_6DdW2xTkZ0)&j>PTOt%(%c1130H??FKu`xJw&;lHnLRFGLW)V;0;x-=ZL22 z$nj{9r3y{dS1C?9hFyKyf|awAHp;eakfs?Wz0t|pNoOmZtCKd$>hbuRX`iGQk__67 zYj|eo>VnL|tr(Hi=Vo=UPLnd0V)Mb?fM)IiRGXSCtOwugBtp5NaS@5w z^=u;GHb6p+0s4@CV4?u+pmziGo_zd`-eu}il}OaZhXo~=H=wGlqGkZ%djWbM8TeoP zZ<~J%@K5}6fc{P&Fzv3wmMZQwJ`}G)fXC(!1N;l`wD~^){*`}2?58|hi-25tqO=_G zMTC3;{9j4`Ai%%#9|7LQI}v-V3q@i9i{yK5&|rh+knL?kG9pt5N!-t zmemIFxY^O_`WoEj$z6U$B!>7CR`h_?)@m29Y|Do{(HS$aaS2%YlBc~osUo1ND)CFr zoeY!v#P(JI<69k`jW$RKGhlTPOZ!;3qP{#_8m+CKXIr}ktd3SEroGZ5xufeN)d(sC ztlg~wrlG0fQjASJ5vonZgX1NHDxudYVJo7o21|F!ga^9kvXPs*8BpfTXpbeDqWSE}x@Aq#|JLFS-=v*!yx7 zI%FD|`pjIqn7V=@NCa@CXSO{5kQO~3YYkIzYnx!KREV(ztX>Mhx=>}fG*Vj;o*S?Z z5KF$Y#3Sc`$OBat75H|kJxE&J(Xk*cZXKcZeVjA=~EJCeB+*o;_5JJ6n} zN65TAe%ioPDy>lSskapfSbe0yHiAcq(lP|Qa~<$19dByYfE&)#@#Z#v7O?tSZEUMw zz$&y3hDS)$d2`G46#d0{>;}8xECN=Mbf9yp)fHoa6zCMMPOm7aDuO+wqC-?gsa91H zQ@`fq!$HfbjA=-2vSl22Y)0szFqa4E$(H8T8k=nLr1VLKV|=qyTl(ZYO3ka`x%bO? zTFQLFnRq}heKRM(h}@r;4g4~dTX6IYQu7VXqM5+{lO`tgyT-G7-n(jEgLQIN3O4R3ubIWvX55Mkxg;l6JW8EU+N!qld(yiMb)3@3`KLvieNJNNBpycVI12te(X z{?^VoEQrwb%IqbddS_j#IQ>w)cHH%H!OFw(}lOmz1ZvuV>&aCXWr(h03eK zLBLpp^QC(4=ur2?qZ9EG3)<|D#E*|A#@5s&(4g)qji|y2RW!mY8pHdYimiMidSYE& zI942zH*?z5)ng2XnkC#9L5wkQE#|PeCY%7!lgWq%;P7JfX_^WJ>;{YbLXcySEUsa) z9O9X}>TcJB5>>&`k;*aQ@<>fc-ZPSMovuOz*nQyp7#$#xVNU-sEL>Y(6AyY>#^Tnk zVv>p=;HQH|$~ft6fev_%nhI#@|9-k=J{@NB7S ziV8VQLc{^Tyr=pSCklgz&3Hs`imM~xTIkRoWlB_tLB=MtmstwoN$o<=v$g^oR#Qe7 zAyYKRlZI7$~^4HfB)`#6mheGec%W&;o>SQs0GRYFiO5 ztFLVKO*qXY=599`*-&+)EL0W>&IrX5Gvm?P;Do7@j>m}NEFBL!nQ_Ewx^sHMrf)LP zP=OI|MXAGZCrqbMb-bh!@1KO7X|zX{ie<8OHSN=?V$nJBPTp|wI9ZFp?#Gi9f+bK? zSeuMMLW#r?96scBDuM`3B3xoc*x^!GRkwIEPlpc#!eVuFAERJZ-N2E3G=Nn3>r$s< z7uEH&xrj+VJ5*gCo-_kv-FJd3WLhSSk(%9g=Je?-O)@OWhEAby4DYI>2RK0rX#5K+N2eu=%iRsd6<>5+%6W{YKn583x#(qv;IE}R~rgqX% zp0tMApYkLHjz748I;^7IZlTUa1s&z4fjX_G-P_PfxGB&no#n<%>9UzR6&36Oa~CIf zQNfzjRWv#)c5Z#`5!`^h)Y)>GN`hpne)>!oZ5z}CyN9jI&v z!FHf$>#b~kVC(JJR#D%=6&UXol(&ZZq05E%YB$iq1x5I1paDg=Z`(k@<8bvC9MXR^ z4QxaG3kI#CL)X)wVR;3EyX7^|VGVTnE!3`C-d`V}4#%&dp{Eo*Nk^=cFa4jSVe2r+ z#6x)m4S|ND=sDB_pS{RO2SC#U@vS#h>_a1{9~Dy}O~&0BR75jr0L`HwT}p@0RnYim zI+X6D!So0nPEVk=^>hSnp<(nUO1?)&Ldv7LfJSl;yfNR8M)ToR%tz2Mc=A|2lE(2k z8m}lBPd52@Abm++Q5)p!L|@Z4l!vl~^sP{W-1+n!eJ?ceBux{({XqXBMm_mXKKeKM z5kUW(+I~d-pI{kE?SDt7Z2Gxd=ilg<&iHQ^I@QLeUu@cG(|?F|fjP^$C${O=|5Co# zh0eB&#|W9f(SIE>d5uFRZ8XRnuK5!(hnxJ3&?!RZ2s7nKMSzfbq(eYa!BMz5x;Y$1 zHi^S1g~KR~!{{7vphsz$hr>8H4WdcFVKQ(y0V6jR08E3Z(}BZDu$}@OPNfBO8r?vr z(;c{bn9iifs0_87MawBfYp6UaE#2=(i<~0u@4#+>mKM1^X=$UD7TpQd0;1Pb1?K)Nnv4I>p?m0D$bBBIrt@htT|irDK5D#(UZ#t&MqOe^|Ew$h zYLT8TNPmwf{mX{*A9&J#KtFIBNWVRc^irFa{!sFH(i;<+^HRmlRVoA$~FbI6Fl2gRV!AiX)sT1 zj)@bSWMaBvV!CGHq+FQz0BeC>5l+R5PP7nATm>es1{2qUiR-|`pTNW-FmWT8xCu-w z1`{`fiCaOyZOE|%Ox!`6ur6$)yYM^j-PnCBMa}nuiTmKy?>E?Z$7N%iV#5X-t35V8 zG1&OoW8-JA;R74rWMM;U(`*c;e1nZWJ#Wv-t0%oZ=Qj$6pWC}|?B&40?F=|h)(8k3 zCz}YIqEiHpQ@oU-0#W-^N7kZ(({OXTzBvOoXL=lzdJL6%wzE8j&hl&_Wh+D3kYj6n z`%vB_EENit3Jps*7g)Z-QmbJ(6B|Fm3gUxHD4@py%QC>S9I&jQ5?YB>qXDbIlW;Ms z;6k2)yI2FPo(4wG0F(7_9?#NS^c+Ch0AV*`nSUO&Z-$s#uvTm}fce}7=0gQc0KjbZ zfcY^A45qca;l#HexC4OsJqs{Wn+C>kCc{i;vRj%n*{xAtI&vqMm$fc0a|~W)Xexx4 z86Fk5snjXLOQo4or39AUL6swLQGqNW5q%?D)tMd+vo=$A7-r?KqUxox;jNK7FS*u9 zuJw|mNUrsg>(sN(hON%C#hfBBuSgupF)umcBqzM&dL$>jneNw@Ezb zDLm(CJkK%k>^KY?<)No^%S+$i;!jMu%mdWf-@Xb!Ujv}81JE}C=vx5vZFsYH;LYB} z*5N$>`Zug;@6(kyIo$>vAH>Gsarmya!08p7VBW)y_8S~eexGUryrJwQSAGv~l;#&Ge!;5rT|8~c&cBn=cdHiZun}_Yk91qz!sHp(^l3EX0 zA4gsAllxn-Xn2pMfamRo_UPQBhuYp^9sI@S&Hxx2UuTEwnq()eINn9=DJ@&dmY2Km z9`5$&HFt&FY(RakMpvLd*F^U`ogz@5XQrI*L4Cf1g|p?opgBe^Y?6_S6eAaDMlQ~Y zku00u-@(W(!h1E;3wxFR*oTbZwm7x4qsdrz&cJf9fcmWDexKo7&UJO)jdaYuRr z)BkDcCZ}FG�{~@0qgIeIlth+?zfVZ-(A`!9_it)EkaborRL;8D-IWk4@Y3Iudrx zRJv;xrM+yaN_XSEU8Uc5m44Y!dcM|El%8+ud5KODr7tm4F7=eY)N=}#DVun)%bFAX z@+Jjepafr_1-~LU!B=1f(yP`4xB}v?I4bT9!Mj87eIa-c2;LKd?+?Kbpp*DO{9Sc# zx|aLkFOK`tQtn5~xsX=!0Q~K5e|n0GXd?$b(cyP7$-6`JYxN|@dgo1YY>&0*FGKWw zAo@l_^i3I}i$#k*j%;s|8}obLOx5?zqPmwYRrMacpSx)7?W(@hQ2k1+t*CybsqI3Y zBC0PmQ?619%MSP|PxY&nO?JRnd$wzoP4-0Bc(!X*t?mx^+U5Ycu1P?ySAblv0r^vI zfMo1}`7i)71b_?$Aj1I2Z~$^7067YPj07N~07x;-!Wu9aaftbR3|+@1w3;W-CO($7 z@kDx`kHg!MC(y@O13u-+STCk{z&JbKo&YAf^ZnESW~T?tP5`q%fcee<=KBm_#G-*2 zpScHi97V58WK?h@ZAtL5r6O|x=7c&iTl=}l{9z!oNP{8BEHc5kL8k~ZH+U(|R`^Co z?4knM3g6@b@n;XFKYO;t9!!fp+szsr*$v<9m>b`2+|ndCw<>UM)!^Kg8#te0TcACQ zIy~{o0OwSIa~i-o1K^wqaL&R%3lYM<@=%7Qq?~4Qn9k-IbOBe<6&#_PcowbWYI>1t z@K0&f0+=X$#&PJ$<4 zUNhxBHLc~abDyKBbJ$tx&GGwH28oy5@7W&MOmYZ%pn)E|MUFfYUw=Rsmz0O}&0lcy zu)cW&H;?KYiPJyk+~C{e>M0VFf84P(?neIFBwEW9TFW$A%X31D`#@TaRxN%t>*JE7qUeu>LH88@U7P&z*21cVq3j2W!uLbUQBvTK7`}KR_G!L3)87 z!oSh;Ff%{G9r#i1%8&6u{5bdJC-`7q#znlGhwuuGBDO@bi3#GQf*0uA_65LO=7W1VX;bMu{tL#G7l>J6tGweES?4y z>wv|2VDTKV*Z?dx0gKHzsBFPO<#`-bw&I}j0uCy#;Gpsn4k|C>pz^Ag+dZfZhUZDf z?Ha7?|V)pzNAb1-PyaNc{1qAN_ zg7*Qz-vPmg*qeR?-|#W^rk`MM`WfBB{{#e|V{iHeZRRiW?+txRFY(v(3V%cI@OK^% zPNe<_0FjK;zmlB)_$^rXt;YD85UziMtt8w zq{Kp`#6qORLZrk(q{Qk;CD#5l-Rec<)&VrrI*{gAz3Bq04_#&TqeWIB-D&lwtyU4e zWeos6LHfozgub^1)4#1j^pkZc?XnK@9FG&#F9t@*sQyn$$AbWz-gx-nc*X#uT}j7- jkX@SNQI;%@$Bpkhj%REpMPsv22N76o&sPZ3ATsOPj9jOM8QF5I4O-NC+fQswOWmbw;U+Yr8XcScDMbvAEy? zcqqgquE)pY2zkuq{PutR>GwIK^ZU=wUjUwCuY;!@>@uvYk31R5U_2JGFGoTi3YEl> z5)7Yq-}&*WcbvsXfya};lj1BBD)lloO1)I_k?;mJ_w1GZy_z+z`fqRk&OSr;y-1Ja z(E*qIRHQ;GhR*rd88!&=D<1hGESbN!F&Fk$(1qDhZ`Z(hNZ7u&VVhO>4?IGkbKN0? z{X|6Z^pC4Dz8`Lgv_vaLT3~LBZvtgAI>tyUv_d3)L%2GNF;Ss4F|uiVrPYzCG#Z$- z0;bxJ45UT$@?s{mo zc5@4j*v~R0(&iVjPMnwx*zCqQ6d_N8I2zjR$I$e~m{YxMNXPQ%m7uUXAgoeqXc(>9xyEzB*53adfNo4>3|M#G``Eq`k;@^w9!TPCjhY%qLt ziHsI#K}YR#qN@#vV|2vd0*<&1+sYu$q%U3vpLUs^?6C3mKc@+Ep>3w zmM&q%mM-IpEnUSmTe^;}E#1IPTe^kYwzP^hTk2ummNu|yOIz5sr5)U{rMtLiOZV}> RmLB3!Mbd}II;jOb`3u0C*vtR` literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/service/usdt/strategy/StrategyAPIServiceImpl.class b/target/classes/com/huobi/api/service/usdt/strategy/StrategyAPIServiceImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..aa4d314c9b55242673636fab694d132dd34c35b4 GIT binary patch literal 18951 zcmb_k34B!5^*(0^yvZ;K1_cp!5g`zxqOya?jzEwg)~)FznIr>~%s4X%o1(bYx`3jn zR7FLsB6R`T6s^@NE?vcH>(*MUwzaj|#kN+F|99?t_s)B>WrqH1e{VVOox7axJNKM> z=7m?je)0!Ibc(NMfOhg=KUbF14jv+hp>nA5^9gdUmd7Us_#{4AZiiWXN`ShH!l?m1 zjfV$#1dr^_qj%8|57KbCbo*0U9MQx5(&QI3kAyeqLyCG(e}zlU8}s%58p* z$vN)li{zZ}bJEW#i`xS=WqM@8aaQ*&)3TNIzM0U=Nl|u8K4Ey z+$w2ql}zqNi*E{0OoXdNxSAt=zS-hi0+bTr8WFCMp{-cUz-(&H;0lHR%>qWR;rna6J$YDl+ z@8b<}1tQ!p=kNLX0XaV?hiP&E>KiS7C_rnaiA~bPCYjFnEq*va>qPj72p^Gl9}%n` zwfM0BZICCM<;iAF$N}TsENE@9`0)U3lE+)+@mBi^?`&mEY^%JuRVKDoz}aT;_5f|; z3oYJZ@lK1MV6sB-NZrEl5~hlo3ql>C>S(B~xwMck zwkZ;eMW%wDs?sg_vdoKPav8cu~1Xz`Hb zqELKZA|jKkNi>ENbHmAatSyOwEFP56TOxc>dpMc0dqW?M;p*BfZS~6N!C9(ytA%y# zcf_7?86t+)(>7jvDiW=p6^i4LKVb%#X$}3P$WF@YV~t<~W2y(cFq*u$AskOdVr}Tm za;D5QDr-VT+k&Z&7t$qh4eP1i>5Xv>!y%?iQd7Sm+>jbQ4&&-kn+i27gh3QNEPhh) ze3!*fVXb89=K^(NsI4I!O{2QBG*q?ve!;4h4X$IetXPm1S^A^1^b4V&)$Orc{4~>H zS(XV!UB?EQtl@9%T(?L44o!qO|+n`a<(x(tBpd&ayMbm!{TSWw3-%4W*VzRTDe--FI&0v zjj2kcRjwvVqm`=#ZKxk&p;fesC!-m$CQ&S%(yAqzCaq{}GBOMLJoL$-J3LEQjVCMg zq*b*Qo<%&+R?sVy-7izB1T$#e((Rx%jUlpwTYf`iDUT@L5?WWA;yE3vU?uyRYawGQ zI#hYp_tzk+G0a@jwVW@PmTtRm5L4Bh1w`GbmwS7^JuqTixWtvGt5-< zTI|v-%|7#7n#M3iuf@5Pi(QLdy4n;kGWE4{KA1u;)Y_psid}A`VXeF$#?Y$98rjZZ zKgwDt+#MV3>;SLER8U#l<0ZWUr(1Rf2&SS};0*o!wu-BFgr}lc;Ee8#ZHiriGxW82 zUS{fV=#ss}Gc7NLGVTWU!$59zGr{cDp#XJqwvfG&tFh&zkGlbFqgUJ%a;??&I7+0D zOMgEs)&=QV{s|KW=}FoZ zq^IQYH0@$Ks3nz(Cr4FFIqZa%`o`81P$3J_5AXv2lz(RN&x8C6elV$t?i+`T1t<&BX9$~FkaL4KRx3G%!A8@v;1YC^IRl}6Rbd(v_*m&obycle{70r?-Z~;okW7WzQpxIRQd^XoWGGRK+8#=X6ZJEufz?s=KLr668<#uc)MXyDp_@XYr>&{*3>| zP)f2jhI-?n?CG06WG9FFgF z$_=W(#x&a7TPO4KMmm&SgdLd9yV7Z8k)0wWAQJ3Hzphw<`bCicqo@@RHHYgWZH?i@ zLHR;i@g)t@y`0($mc{VjZeVGuJqgmIRu31b zYgB&lCBGl!uf%c|YA>m}dX#lLw_%Ge)RbyN*IK5>_H2;%@|zZa9prsJg8Qb@K4H7H zkHymufZXNTL7z`X-P&7%R?@SZU7P1Zj*07{VH_ox=(ysEN zw*b?TIi^<66I-8q| zy`{`8i@sS|L@7UnVo^<}3-*s{Os9D#Uu=8ea5|+_>0}lM^XwVizqqPbJj1eo{ma3% zLak}CIn8BRxN}`aA4ffl4u#a+eAu7vT?jksr+NX&_uF$i8aa9yKo-!;Fjtma=bo=O zWH_B><+OQqa~P`ljy+bw_5oGuqO6o-H7?CsvcNbCrlXjZE##hYdS#kxe>{-ox%mJ} zYr09974!0Uo5RvY!X#aLOpT8on7Ry-&o=zc;nc)vD2W`j_n^V9U+0w&g_*vYpNC9A zJc}ikAe)A&{ly4kjr%(hTXk@*4@-JVch3IQ{$S)FPp{5b0!WBcv9sgxaAIOeKHcaN zZ^wv7xI1ya9&nA=k+>(}h>)kEU+1fkdD!maLyWXwj%-u$<%k|gYbe!HeMY2tQn(?~ z8j|l!WTx}gCK%xy*OT-XSSFtNX-K%Oy){{FUYU$rr->T1M`k)EkB(@=Vt z7>$J6VC(MCnXWd`Vw>z)=1@XU-9o^ut&yq94V43`8yH*U?BSv4PsMbI=++pU6BB|i z%+ZDmZl~3J67z{o_6ykq!3a>G@O}ox)U`2O-`?EmM^Kt~@TPuZ*-$i6AF2;kH-(a^ z1<6=j^^Dq@*{~?S0ZNALm$5r3JUQ(`nSmVx6*A&;8MSTfg+(Y7O-^sd_Y7g%RSwS4 z@Zj@=-Y!GTYe~cw$>&(3Wev!w0(k&EDGE*pqQbQ~*icWG{j|*wxvj-!+J1=Ye`DC@ zr4VkS+R#o?#8gAZM)nMlPk1~}f1%}Y`ye&V48OzXw<8p757#uou7hScpk=%Sdniwi zyIrNX>LM+%2PGZXMx8~#=~#4Y?cb9eiRii|wr+*Tvu4KB7j^@LF`;;Jbvdz%)(epSCq;eelQ5jWGfO=CeI*9tv!E_k)rQ_*P8cO}?B;37#w~n%Vquul( z?$ECqHR_|dl5zX!C0v*LAeM;`2KzF-Vh`4LB6X9Aa^GFl{oEZCoLyDXW5{+oU_14E zf_inKbE+y1#C?Un>5ZF%^v%Jz>7#G@;^q+h23P%dQ?IIuL*>fI`YYLCko7mR!F&06@zftPJ^p(-*r1x z&cZoRF=XfyG_(s1t*F{bC;X7AMwL}m_bb~@CvK;c)>5~AWsf~TJ!bEsVdqxupi`ca zi=jK{)MsEU{GZEU%QA&b6Hp;KhWvCa9YO=>IQ(}q@EQ+XX3`+4rNQ(q8bZy$C`BjG zGODI)fYmCzbtj!d_tB~J7!9YlXas#kBk6B6ioT}NjG`EN8OvR193McZD`cmUg?_%E zAJb2O@!!CLpVH4Tj<=|ielE!3?Q;4By($dgzM28J+C#4qqn&d5J^Cfa9K=NI)?UZ^ zZ$L7P{ChE2i+einn>uJNH0ID!I*YCVp5kLR5^W9=O$v$M0Errn1l~4C(DfP#TA8H*NIy@*4ej^uA;C)sE3Oc#S^BxXoDQHsYFNjclBfiEEDQ42U$LNQ?6KsOmM#!*k0_B?=bK9;r%u$)~8=c%I;!O5{y4;N|xAdR$~!gL+r zSxF0^-9oD=LU+(Y7cf^lz${n5{2stG8(>zufZ1Sx*#KZZ05Est07hEVz??{3_hL}u zB5D8lFvCAS%nQ{=^als3Ee=$>yilEC`~!GQRLD${D}&Z#C7S}-WFwoZWYZv<+8Kh= z3nDl}Avi-LcxEvOZlDJZf>RLsh!Q|B33p1-k#M%5vk+u_ zqc`z1y}&;2p#PLY{}Z5pzd`>OF7)3w=)Vv2{|fZq%z?hN=0U$U6a7y!(El_q`kx{E zs`Sp+YNOBNz389oLSNR~^K6`|DkMod-vD{RZt4%g1?4;G!uusf`lj5O$94AOI`jBj zcwA>5hZGI!AqyE`a z)nUK z4lEl_fM`#GKu^&&{P_PIe$sy#x%eA|-=FA59Hi%w1--xnXg42Eub`KgcqqNhr-2d< z-SAxUslQVhG;}^S6xp`qQ)NhQ#%q${Y7hMb`P6BKWPTp*P}O8sN}}mDjmr08&{%Aa z=zYWyDs+^oRO+8#9He%3<%r}pMZA5~oibkYrdyxWznnEF;jBR`y)2BnSSaaMYiFRg z6$CY=K#gfo<3)j*BjI`#puPrBe+f`uN7D2LBL1%s(SMD&@g@?kcad>^&g>NI z3&8m$;QR`3iUs%KPh$yx?CPVb+=b?GS6a^9@F$!Wtzkc{=W@EAd(ea2ogTtkxfMG_ z4X;YPup4zJUJtq8ecHhLH0?qAj8$3hGW}SKGo4N(8s5nnDVPG7vFFTK5;5egB{BV) z2VgG4+-!h9aR7eH3-BcdU^^3AZX;GzA(_~v2GYw6^p_dg3IqKLBfESjU9naIwuap*q_th6)FMs0}rAo6n`Is_5zI6j0<=6*Di52Y!57|r6t z={!D?8u=)?h>xK=_*i;?2hbKij-KIxh?bRzl7r|)9!#(D5W|8k;^bgV88%2xY(#Y_ z?c{G67Q6)(SYW}cE*9*`Vu46JESMq)_wHldoc-A>@aJHGdCkj$at=5w$P*a9?P7rh z#%nr5?mGpMyH+80tw!#;;*iU#MDR&KZWxd|1<0LBHOMf|M;_6{BPhuuse{MT5+04e z-X4R$$sT9WX;SDQS12Yh!oUCLz=*XX+aY^s#Jo@(z&&j!e1mO=WWU!TuXjNq5%C7& zTPu~nNo8WCk*(TIB3QMZZd@yFCuPA^_ES5zzDeJ##*>@%%`LcDqi>|Vc&mMbtJ_pB zQcAqdmgRTf+Y6Flts=o%O@i+hM}kigOSSu+M}6SFlR$zgAi-3SU>XhO>2TjO@h=d} z#6Kr68?IXe*PVj}{4BbT=hAAfrMvlTB(wABbv}pQ<8RO>d@g;)7t%lYeEJ-vxPAOh zLzedxS$csiFB@0>JnhN|2Tr`k)gG2o_P(?$BZy=y=t`npd8#bvBZV7>e@Ro*&Rn6X zVPZB{@2v6u{wL_Zn|oZ+v=vXDHoQ5Ty+Yr41UT`-?;AM${ye(C zrhHW2NIv|S!FRL4e6x{lF_>>Lvd5K7lHtc~S^j9cwIC0+DIRRoJlI|w53*{L{1ABX zeemF6tiq2V8GaN$tUZQgcr(@V<4A_LQZsL-Hr|1i_z7^}N!rZ2=qY{*5%p>M2|r6e z=Vy=%|B&A1=L{!QMUn@A6X}ZNt1h4a!1(+J@cHAwiML%o|4x?Ai$wdp+7`KLllHb~ WU^XWP=HP^R&C7}7vB&rEp#K9haF+)F literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/service/usdt/trade/CrossTradeAPIService.class b/target/classes/com/huobi/api/service/usdt/trade/CrossTradeAPIService.class new file mode 100644 index 0000000000000000000000000000000000000000..b2be64916e82026ea4981b43d61e4b66e8779bf6 GIT binary patch literal 3184 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 literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/service/usdt/trade/TradeAPIService.class b/target/classes/com/huobi/api/service/usdt/trade/TradeAPIService.class new file mode 100644 index 0000000000000000000000000000000000000000..1a0237f22602136a34bb58a29a412e7e55b89c7f GIT binary patch literal 2903 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 V^$ADlXFbSjKp1YDD01!L_y^O9XG#D7 literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/service/usdt/transfer/CrossTransferAPIServiceImpl.class b/target/classes/com/huobi/api/service/usdt/transfer/CrossTransferAPIServiceImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..ee4e4af4dfd2c5a0de2939ab752e4b9053408924 GIT binary patch literal 2941 zcmb_e>sJ#;6#oqgY!X(*pdi)y#0r71^;IocEyf2}Kx+_1+s4giNESA`>+S}%R_xQh z-|Ywgf_`n!DFN$g?dSeYZS9@i1QMjj_O$2Z%w+G}x%0dC{_dUm?a!Zn0dN4{#;_Yh z5e!Gsi8Eq&DS{C(kBXJC7|!CH_B)l3! z97AGwO+qGutKzRJ7PAp(&B%dEn2I5fLIipYn=vhH%t$aK6l2%{Qw){_Tf#L74uhoH zdS-^-WQdPUtFx+NsAgVCdya1A2N+^5*BtHz8j+G?WNe4uU}!R|e4f+(_=x4?71x+L zFs+REGTPO2L^pNsD8rtv$BjNN>7HN+r>q=jST~}Ze5_Q=a%Wu48YH0uG}V|;9bJ4^ zgki6sy9|RPnpIQ^B`d2dA>4W0 z9Mm+cWO@v3^?A5yS95W&9`2DEdleehNX}-bx#kTV6$em6wHb2InjXQfA6CEBH} zlB4lcx?sTex;)e;uupJSMiM0k$k>A}8Qth&*ii61+wE5bFZv4ET(OU+A|oLbW^rA@ z4H-A_x{Mz5GOYKh??-${bqfTF99}MmR6%vp{91{d8Wq?r8E@b=!`dK188rxz1W(2s z?vN)k-o#rH-j?wW-eqWCwiHC!Af?lK&%C$UD<@l?}ul_5cFQ4n-`m5$_o zs;a<{R1AMP>C$>ql)&s>Mf}fbg7lec4P?lo$7Q^aJ2F1NhgA210sXgbOZZ5}$M}Sb zsUAj^azQcuBN9vaRK{ocoT0&*k@1B%>`Q#b(7GIeC5kb0)*r~LYG z!*HyA!@sU}D)wa{0TUSp{)15>v2U5i)}XaA?5=G;!Pf58I&i13rrN4j;0ifdB+B@meSf93U!dkfP?~jj z%rg1OqV3T^Te_~)0;?hYK=)-*_N)uG&7G9$QdMrK^J3}32-ziS7KdwLR%*V+bVX7d zhKh(`M}0nmnxy(2qIymlIv2gDnIbamSBXYQb`z2(ZlVY`sf6ClQPtFDEi1Fk(3s=dQvQi|Wi@8Rr4He(YUo)tt145f z>rK0sshmll9i!0DE#mS(nc>ji!t}5CDuGs31pyVL6IWh|SkgkRPc_`(ylFW+$o|Gv z3=58Is+Ery9P7HcwFg86th!}_o+F*~5Mp=+VR|u91E&$9hx;@2Yk#ILO>+b3CDBK- zLSJ`j4$<73SO81J8|D%6$8aLvIFF`8q6}#fk$FTDJz}kQ9^oH+E6>un6A>CW(y1-< z>{?G_9BpVNJZ*%fo$iHA*h?DQgEO!X`{|2L^D)wGL;nQI272WI(FPI=*dT}p@mv6r zWypLZ$>ts)Ho1W2vGC83Cqq5yMXb4pmSlWwPZ{g(qa}oki&*~vanfo{{D`J9HpJU# zD5E`D#->q{MdKa4_wiH+z46V9*zzkj_lM(8cZAE>TE@0}XzB=m{~gwhJ;091mu%_Xl%ggzW~+X BCf5J} literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/service/usdt/transfer/TransferAPIService.class b/target/classes/com/huobi/api/service/usdt/transfer/TransferAPIService.class new file mode 100644 index 0000000000000000000000000000000000000000..2b9674a6db20dbd108c3e482db75891dfbbff67d GIT binary patch literal 341 zcmaiwO%4G;5QSg)8$TO6S74(zVq;|^kq}}yK+h BY0>}y literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/service/usdt/transfer/TransferAPIServiceImpl.class b/target/classes/com/huobi/api/service/usdt/transfer/TransferAPIServiceImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..39cd78736d4a177ce507814e73c68f0496e945ad GIT binary patch literal 2920 zcmbtW>sJ#;6#q>UvLUPwf(U3IS_MfoY>UqVY7wQNfYcz?zUX8#Bn!#zy1PN?gVt92 zvZc2DN7{1)Z9S*$=l)S`@9ZX+5L=J!hs@;Ox$pViJNw6dulTbw_#piTHZ zQjQK8rs17pIMCZ@yOEQeWr&PeIl-`P!Z5{Dxs(;o49^ycLk@IaoaK%o=?XLA6%3bQ zXhOG2TA^%Z4UN*#T;VJky3opQ&eJ@Ho9?`Dw3*7E;py>AATVCCixlSeN#PZ&+%$K1 zNqE8`i?ON}!%FWa>yEfq7OuC+`epK!xz6pXmrH@vV6s8mwJp=#99*M%ASSD5%fKk8 zZ9&P(o>9~$xlKngM+9OFr~kJfMpbUFxs`J_bYXjjWs)PMk~G7~20u?z4Z7g0l_Rk2 ztiR4>yLzQZ>ysR+38(_f8qUS+g3!IeQxxHrjK}pwDvJ*dAK+yLO9XlXamFe;x)?Pi zkakyZs2&G>68tJOTxWoaUL;kdMkWQOkAIUJ}aA2+xa(itVV z5(etLZ9EHG9s%43ci1k|TXLe-e5E&QVy$p$!>_Oyn#kh}wQ4KvlYSq}RglNfLcEbm z7XmkUVCW`e zPgEkyQEuD9%rT^E)2)=IHo1UR=|obDc~&Ymbk=Il6ddcie6RVyMnv$HL%$DdGyh)|GMVE4$E<_gR6y?`~WxR|5(!EK) zK@5@2+f?9_bSf`ub)$5vIE`0)-*+(Vm+lOmtHcRxjF9|U;zj@=g_m@`yID%aVwjJ0Zuo0j>7revKKVeM9Lf1t{5;&_gZfK9X zw^RhKrxh2$@j-*hJGUFlYwpsJy9%RFiU{2}^0iCtad!~yG~0JfV7ZC9EB!WA^bR$u zh`>CPLMzI2Rr*L^-xSo~0;%%)G;H-y^*HuRwKXfFRq`WDp{UIgWew5mbIrO0E{Y=5 zg~kBYh$`gVpLhkvnGRwr)LaSzyN12SAKEhFNuWtpz(uudbT?`|RR%P_k1^6^$%h<2 z#dPn86%PfmO*YMQlm)a+8oHlJ63u!tRt#(W*4%8beBG0F-Ag8m;bAi71ghoH zj%?D}EVl2%Rfhg$!gDAy-uau+y1qfCrw9-jGfxhHGeKY+Cd_)$tR@Le0ho{j)9HT( mX7kis8k&cNJhYgGmSFj7Xa!c&)EcbksSQIxVAFiZVCw^d=%6_O literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/service/usdt/unified_account/UnifiedAccountAPIServiceImpl.class b/target/classes/com/huobi/api/service/usdt/unified_account/UnifiedAccountAPIServiceImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..059fb544f3f8fa3945508441527e1a75276b7258 GIT binary patch literal 8545 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 KyqeD1;Y6q>Z91uc`^>1Nx_&ayjO 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 SE&R4@R#o%U?c=fv)&B*9_XOSm literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/api/util/ApiSignatureEd25519.class b/target/classes/com/huobi/api/util/ApiSignatureEd25519.class new file mode 100644 index 0000000000000000000000000000000000000000..02858ed199304c2ae9aae2ed4ca498cf3006ee22 GIT binary patch literal 7380 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

P=cBiQ%F(m`)g@=|r)R z&LnmWrbeo4(FTj@Ov=m&w5?uC@5yG(Tvx`(=S?b_TQO1>gFkRPK61lSzJAAoh!PHNRM%8nx1n|^ zzMj6pqh_+OeiIc=8YmdaWAvh}he=Hnnc{@8CO2s^naL_>-fb3!tyI7Agjq0i^hRVL zeI!dK=4k0X*A3APno~EBp_J8c<%xu2-*=i?Y}EFY(c<%i3#Yo%1_rIvDFq=fOWnY3 zWjFn%G4?9Xf|iLAd>hEqJAwuEkbdWAy6iiOwp~xAJGFYvnpNv48Zt&lcbPOwXJf!j z=FEcqNc5%!K{e-U5+V6aaQaESfv?XJV45o}$Z@sOn1zXz6NS#PLwE^_?xNM;+jU3~@ z6V*)Vz9u)hb5=#Ub(JQ~1ZQ`)kRx)JO$cVI-Cy5}L6%81#$|C2CGHTxP5w2ut|T9C zNM_u^7#*;Rxum%*t;*n(>auo=VtF0+;s-Qo5zO%tyk7a@s=U`-7Rz2zRgiwm%4ibP zWr|Ft9+{@gbeW;cOo{6Em93Ah$AyU9~tE?tB3ubt;Oei0k%++O{%-3asEYxI? zF0HbdguK*!f zt1h?68v4dAdDRtC&{1u*>DA7J0*-59xuDYeiFLEQSC}!(0aqS<{*7lJyZq{hE{~19 z_3C3RhZ}WSE4S-%hpbZ$>|~+QWxZ_B@u+OnWRotNWgUI5MqeF2bLH%(-+2DHD`!9M z=+I@0+$mUk`OM>&FFtYgnGe1`_W0{#7gw)bN$qc3dgAg^XUnhNdi7IkuC1(C&eU#4 zmzwu3R{qs%*6PwN+XVBf7j5IsPu8UM{=R{Ix@?ynIu7F=O?q_MDZ4c3)n&KrVQy^J z@de1ai`hbY#Pm6Crf**||LRj;y7J7&=pC9USaKa}+_Jzqm*}!r z1~j2%`{h8h93%?f(~QsSa!3wqa*rQI#L+&U5ZqCr-D(OU>(#T`w;S|yDTA#d?cLIL zT@$XSvngj9sj|Z0pxV_7W^z|v&ls+Ive)nCy|2fOAL*T&WVL5qT&M6=6uaWo8O@p} z%N#M=H}?cYP_)g;9pM4RNDi9`ro;$0$Gm4U4i)EbOK|VHpJx~DNu%lf9;?tjGFo8O zh)t+8>z5sliY24u4Zo3Y^{Q9ycw&^}6U5yeV?A-TKTE1JhM=<&@`(#_w0d9N#BRU(wuJ)Ag0H1k0-Su79~Q+*ctjxuUDYi5bP75;d*4zAt3xp3h`;ezF{ zkWxL7n<&vs5Wn|KW#-NcHGV%pg6B6pX2K`;IRKpA562Bdu z#kGbIqaMCo1gdaw<<7zc8!8a3d@8BcQ-Q5d4Ixt%3CFf~%$UHaeI{L5nbohaW)>f* zhwW|cfcm!4;=$K;9=m9WuLRmM3Rk8vB2YA0DQ8Zv`XIuW9Ckf7x}H^>#*aBcRj=v2 zc~v^g6tm4GChB#zcD8+0Q!-IT43a6UTg9ka1@C0??8-n_b(h2ImioXDDpVM!0|M z&N>uSg^BVsm36vZwAxFpa^}=8dlehYg6lOY=u(sib$k(Lb$pilPJ9MuS-mO~rL!lj zV`ie)K9lmqVhkC{f~C%OP5hqZJ!$d~m)dJt$BG2jxBOmn6*z~T9Y!{lG4rjCq(4Bl z&aE0~e?9ei{>EQAQ~IZ>9qZ?L_pPdg1L=ZECq2x~QH?|Dt%rbrXE`k3m+XW5%-+Di zJY%voQ=LZChkW+%Sj(^0_wngN(D)2=wx5TLqv6nbG>#*1s0H7cir_2I&LdnxWGbR; zm!Nx%NxkjMOStJACcn(l4Y;4zSqSkul|KBZ4CscI}yO%K+hVG}D%rmnbQ=_7LyD9A48nibiFs>lNi=uF0~cupE?{N@R>T7(#7mfUP&$L{U%})RCCn~i&IRyr-5Goy3p+#O zn0II#^Qmk>Y+(tDxX48%w8lf{vG`IvSi+JgF-zT-meBT+BOhB=9I>2Z zZsDj7^w7ma?9I}dC;8?SZpBBj7LVa}+u`@pwLQ2Q$B^v6gfwLvwRp2QdbZUakO5Rf0**`WzPx(zlX&d-lyRQ z-=_T`4e!_R0SzB?`ZPjLG<J)D5wl6+CCqnm{0MOvq1K3P zO_X{aBx;=fqj(%Y%D7%EkG)zR`(}CUHE%5E^Ts}FkNq))U0LE`m#vRG*k$W9Tck9$ zew?jFyQT0Puv=%?=ff_gj?=P$jomIZzD*Zs9%PAH2e`aGVWalDnEN&pr>?|L*b+9P zrv+&bXbEV8gX}ZBJLvvNTF37{4!SvSqp}uDVqMEGfFGMKpj+sdZHlzEH((4qE}*9Y zuVLpHb}2e+v^iorR{;`vBdI(_GMvHQg?xU1y$;cqy#uwz9CNCYvCgW+HZ~}})O(U* zpTbj)aSb{`gbVO(FX4jmAQP_FNjNvhIzua5*40%0k#<|+fw-nZ>+o(or1H!q-mslz zq{IsIh86QhCNi&=ViB8pnV~lG^6oINEl=hxziwY!rNU-jCbP@DjsZUA-9?`n%#BAF zsng{g*-2l57>*#tA~wYSBUsAflwi@>NY30rrrJe!-A9xg^l6g(_yIEGBjm=@#Q7P* z=V`|D3wWO$iHFFLNf)~jzI7Nl!uJjXN0f6t6tm@`m@OB@Y$;YIirI2d9N|yTDtm&o z?q!>wL$vXWHa}~$?jv@-g?-UhBR!0-L+~0l63-q*FG8dS@9xVwT-_2VBfFZjKiwQv zTRLJ{Z7X)uVr6qv`|^$w_LR_fu(D53I}osjM_G;@U~9f3YA=9~B>ShiWU*V%kcJv; zm`-X$vAG#fvot=_49><~q&wSw-j(=rm+spypkJ6Vcax=KdwF5UfPjXKVV}d?Dv_LB zi?gq|&$h%VXUiF$=lNdMCML%h?Af?+b!WSQwY73>i~rYaBY*x>d4smVUKxvIZ2uSz zd>Lz%AN@O`7`^w?_G*3xChzS8MgxgEMH-DU0aFC?3I5j$_52*6^SMxjzs{VJlYD-S c^2+-^&wsywU&Pn!*1zH3@gGi~G~jFh0~h;7XaE2J literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/wss/SubscriptionListener.class b/target/classes/com/huobi/wss/SubscriptionListener.class new file mode 100644 index 0000000000000000000000000000000000000000..aa998ad8f3812ba4e837e6e6c5568a94b3e48213 GIT binary patch literal 439 zcmZut%T5A85Ujz474U%?4_-9!ga_S=Com=+Br(BgSi^mGXko}QOXh)on+HF@k1{q( zqDDM)y1RN(RZ}0IZ|?vuaS)>wV^5%7m;ou$3lcbN_os3plU$l{@{mnQ`R>_JpmF=E zXzq1kT#S8z);;-2F?y6%&d8H>0?|l%$!w_}8|i~(wr2Y&^;Vm4$#H(QS~}|z*Xs~# zrbV!ddOBySqcmhrSzUVQYv;+3y;yqX+aMUPXEfAKXF1&%Q+Qc=6*&3D+zUo6VVU0< z_WUdrbp=jUF-s<)$aM1JT=Jg||Mzby0>?j4NoT{{)95>=nt(uslLka2uz`rH%3H*E e4KYtuflY38t_m7_UQJDGmB==BxYzjkF7O2wzIV9* literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/wss/constants/HuobiFutureWSSConstants.class b/target/classes/com/huobi/wss/constants/HuobiFutureWSSConstants.class new file mode 100644 index 0000000000000000000000000000000000000000..272eb5506b174a3b232f1d09182b55e663c47559 GIT binary patch literal 1773 zcmb7_TX)+;5XWcRTueyXCT&{MmP^1u(}GO7UkXK*v zdT#5Ub-&I$*JYmBay`@X{Lp`J)ODQ}+$C^cHw^c95Y)kM@lZq8w*%W9)KQ(l-tf5V z*hc8s_m6E;m-(;~YymoUX^}SE0d_Wm&>r;M78sZbJp1s_@~Z07?k2i?qz6X7u`5e% zpla2(bT8;ydeDMi?X^8Htsg2Q4hdXanxp%+9}Yd+u)^TM(5edhwXw2pk)O}WZYs__ zdZFAryBw0DHIJ{|;VBn5ma{hwP6(_R*@&UJ4o}&joJK4UXp~@N$H`)voY0(0UIbUf zgck&EJ8?GcOv)_coga&$6E7}X(do-ruM}m@zW4p*B`okpZTMN4$E?St`1KdmY4R#> z!uy~RK-K@%13ju=1UGubVu6jOG=I#5)-Ik+qb$)LCwNY+J!3h~Mg*=l(jzt#6Rju|4ItV6C7hBE^<0z+K5%zTa9cbS@54(*#1R+{Hjg(coII$*%NfRQ5{7YzC>9* zVtKLLG#-q`aaN{632o1^f(wqu*Jb;&GD>*73}^{|Qt}a%RbeHGhBRt$bh!UmggkwS zt#|PUWISehRligsaB)gSJaHTQ+B+3v`BNS$&T0QsiEvi_FBvi?1V571d6Us8N_(BaOU0akDR4&=AFY&B| literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/wss/constants/HuobiSwapsWSSConstants.class b/target/classes/com/huobi/wss/constants/HuobiSwapsWSSConstants.class new file mode 100644 index 0000000000000000000000000000000000000000..c8e42af49a31c42e3b46919dc0fd7c4b05bd267b GIT binary patch literal 2453 zcmb7_S$Eq+6vywRSxiW}q)n4Fp^(Nvy2+(9Y%K*@l4B9uawR!!*mNX$Voz&Jt|Ye< z4j+mq&f$R%z=z^+wb-8OC=a~I{@vw2ckbMg{`vQ>zX9L@{Jae3Kwbi632Fp3nxcNB znATB4Z7Eh;(N#^hj82unTI0F>%B~D-uU9dmfO)-#1Xd;A3nSZ$j_tvimf(=U#Y{m~ z+GagYEkT{YrK!~v)kbPoG1$~aS+QhgX8n%9`ZPF}kkwi(O*kTOK66#8T54;YQM0Z* z$;&6ERZW)_-LQ<4W>ssHph@6@C`nqUWzLK(Ol@n1YN}dmX4ME>$+9J_g_TRDC26u! zf;NGxQ<0nx%h;G{<(xW!t)^&7^Prmh|yDtan|J9uj=PvfnpOV$-pH>-+hmf#s$v(Bq6 zS$UTB{)E70W^Le^o_KJh1t1|Bt8@GdBfnJXWsdjF0?CV4%q`@oZQlU?= zu@1G*9x3K^=`XX9x?Ox~qkspckGbiai&u(loPZ@ z0oHG&GrV7%7hBV~Niyuh9DZ5>uEQ40!vYXkM4E#oZ9ye23$^$O6X|$#Jar z6~_m7vLt@p;`3`f;Yz{)3%C9R@<(#ykMX&PX25~?2A?a*{{{FKL?i-Le9nRNAAC4l AN&o-= literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/wss/constants/HuobiUsdtWSSConstants.class b/target/classes/com/huobi/wss/constants/HuobiUsdtWSSConstants.class new file mode 100644 index 0000000000000000000000000000000000000000..f58d6153248ef01eaf4a92f339241e89f8541112 GIT binary patch literal 2876 zcmb7`*>>Ah6o&Unlg5OkNz0*otbaUV$XCsMLqDC(|Jl@rR+L>U^>CE*&Et9ctKz-$skG% z<1h@(fkxo+*lGxJEjH`uY-oZgQBj&$4FVfu=P-pRS1NHplfb1!DwWjOc08kJO$vLN zN*|e4R85pLo$4p`l3L5bO9HDxxvVx7V`6-Tp$%1+4Ovwt))N9(ljyRlVCu3#%c>~l z;9COQBSlkn9nDkvcLc7Di=?#g3EZ4$Q8dn2l@*#;bMOPsIB6#p|0Bk8Vpe%dV5`wA z)#Ng*$uF9+D1?L2xZ@oBMBqvySDK0_D^;oq299Ooz=<#}Dk~K=2Q30O3{9?9B`r>q zp4cL=n{vqNtc{)31*3d8I=$(0vkBaulCyH0PIgXKMCnz$7aaoElU-?OQeAG=DW`U$ zy3wXfx*=l?NsNY$gBgxDS~NkIb=uJ6vP6xOh7>!TO_ntDOY~^j&(rNhYnRiX!V z;Nu%&Nq2{yWmj03dOOpr5WZNJL4pc_ga4Huk9zV_Qd?)X6%g3#o8Gw{6!O?y;F(rH zEu6G)-orr)`GM^*7uRk#+pBF4f^H!nyd7Y>JF|QOli`8h&6cqymTTLw)1z#sxQ@?$ zwQ2sh@XzmsF6(sZsb{~&-OLVZwOrI(uWfsNA@9HKx7^-Aeqee53z+NR(wdg#4xJ!d z-5I!k)8CYF4xryTf;f@lx!-+HEXRJ4K+V(G#^?s1OK?Be3vtgg6ydP$J+kU{X zA-f$N(j@tlZ1d!?(RRn4!?Mam`z{ z8Ne>g;V%||J=lVISO9#pAMJ2<1qgfj>Gt? z9B&|B<9HMKI>%ec+Z^9O-r@Kr@-2>UBj4e87x^y7;rw}y-$Q<%;}4McIlhN{pW_F} z4>>+SE^u5#{*dF3kRNgUG4f-MpCEt2@u$e2ar`;*7aTuDe#Y^a$j>Hvs23WZNCy+m)6*|Q0MKl90n2guu=>G-y29A&j K)bKh7_5T2IlFXq1 literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/wss/event/AccountCrossSubResponse.class b/target/classes/com/huobi/wss/event/AccountCrossSubResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..15c690e79d36a442cf553b849869206732416874 GIT binary patch literal 4778 zcmcgv?QdIG8UJ1TzS+J`T(4<&*D}gxLgFOL80F1r3u~IL*_^gCU1`UF-8h%Ttz&2Q zb;o!ctZcw|+jtj3NNCdfr4k^KOag@9%aHiUCnP@ciGQMF{GM~J9mjDYVG>Go&hMV{ zd!BpFbAHcruK)6{-~Iu>QT!+c2Tf^O(nQjASvg;7wg%}3#y0dKxu51X^Kpw$Xn4qi5p-$`@uiUIdj5Ctd0pl%@1 zSSPQ1HMky3*Mj=W^kUSk)>mc>SW#oWS|KB98OZf8$_+K2Y*&}b3a^Lt$bh*_mt9^v zs@A5<)mB75sm1C_J&;u!IHTQkr;n8@jkW33c4MhJ{Yuc!K{Hyda+gzkSq|6Wat#-Clw>&<=_0>vIdQ0LPChQt5`#G%Fo#e!)ML^O z3td0j@zWiAJF#l%SdEPB4AuB0p4vhftu~g=2hCtDjKU`O;nJkDHGv$utJhlXOl)n= z>b((k_C~1p*0JgCVn%EZY(Il%*E{F%Sp14E{eRxHT3YyYJE(Ex+xC5K>1tSsX2zc| zU^KRCKc1qv8qsRlG~kFX3X&qO8c{H<2IK6==<)bT^Ce+ozJiLcvL&V23TroU`owPH zr7Kum%d7vdx4kX3r579RW+gmbl`3=i4mIonDYPC&@g5Ij(u||%VM5TPG*fuM zz{DPkqKBuj;NiV^$U|AshXj2XB@Z)#j!APICp-jLGH|fJ(4TBqYs+EN!y3M4;LshG zJ=R!1?&16R0TniRM9JnjwME!c<3FS}CXY}*93??1h|rllA{rtx#y!;V5KGP00(7<+ znA^j43;*H%JFyo(J8wn z@bNBwMBK}75*rDT5m7>vqa_!}6% zQk0`?Z8ez1`-weGzz6U_J{cl0w*AJ5e&eBm#+2p&<7B__@IYfqdVsOnZ=4%w%v2a) zZ1o%O8)(cFVxar?Z1)@I2N>(Pe}wP;C?1ZTl-MUE%*BZf7{4Y;@GG+u_O$YHKr`a7 z%bc9Ifs^D}1|M>Km>ujgv0IlSovzC<rzzMbvdqFo*ukPbGI%< z&|Q}k%H<=2U0S`<7Eb*dpx$dOzz@%becU%w$2!v<@~{|mrU^` zS__YHki}X@IbpINrqS(*;%l(XTN8hR^HW&KTN8hTvoKlQgsUD2QfDXGl+39=BjcNI zVBbx6Q@**0bcc~CS)^o2wr>f?egpZN$oiIV_mI4jLy}i=eMd-cOmcj;hmz+aiSD{j1ZTJ(%8glTp`Nf_srHOh&=qAHTM%lS^NWs@FdX?KFRf#G2*zlG34M= zZ{mQ1PxIe3-o)J+ruGCoS$&owG38Fz;^0lrUtoNhC904p-KkDk-6&a%jYKJ~6X%t- zdHZvSNu4-D7b!Y=EjM$_Jg!7_I5)FONx8X+n{cK!k$XzUGbK|dd^4VLMQD1;D_Lra z8dFBDZ*``!C0k9|-6<+hTMd;QHAT_IR!(PXxa6uSw>w2C((3SFVLYjK5N|n&S5d(- z_h;c3Jj!M6FpZz#GYmr#_u~duh)h=SRsM-Et}wn;A{!Aeg{wsTb&Z1*gb0I&YupF# zEe@DGT*Kgj!Z6;Vv#sZZ42;0)5IP)l`%p}?duUtC{?VB1Y$tE=2Ta5!?hcbJtHE=z zVQP@!mhByq?0 z#(j-h687is(Rf%mhln?Exc{QnSER19mt!3m{D`gdkmTz6IoIQ`A1%I)cc@FYIJtpD zacTp}qHk`%Ec(_4zj}Oo13M~wMqR*Xw1;kDjm8%+y{bt0(xQTVTN#JSLAmARp=$%~D5z7BQ N_V=?duzxpF{|4=Sur2@q literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/wss/event/AccountsSubResponse.class b/target/classes/com/huobi/wss/event/AccountsSubResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..85e373fca4dacc216fae49348ab78db8a5760ae3 GIT binary patch literal 4363 zcmcIn>u(%a75~ldymohNZ=A--G=@0Eb?vp?ZF!ZhlhEebq;?YGG^8a!$Lqn~WV5^7 zolR*WZRrDA9;HYK@eqYCkS{?33A+-N5S37o`UU=pe&Bzgl;62`c5UyDB`Xq=b?zUvSE`sfrIO^)MTm4(vamDS(*-7S?-Z6?JN%9hM;F<`KBz-$@07` z-;&dBJGhy}F1+C4McH3+@f{a03w*`Jt1e!1@m=})o{QIIe?z2RaPWNxKQQ1P52D~` z7}N}Sr)#yad8`_=T4BpTs@^a#JbyK~5frOIZKb#vH7m81IRjQyZ&b?Uh{$G~AtAgG z)*=Jxc4gUsxlEM?@>;YVRjS4LN-LsZX0ftT3!-*2G;qA<_|Sa0e!aNbt}j)J&$e1c zrLy>Fxm<78qSj)2=|b3Q)N8G9ykqg)5wT?@jLy-}yC$cSOf`?ymwDOHe5DqiZC_ss zn-_znDk;PB^>R?X6f`UH9TUxHwL+Jsc4`XmcX|Is9S$+&BE{2_Q;dlmoX}yh37?S2 zI0RxnukV<B!VaHl2UVK6#mRF^SHp5NH}w)8j9F6qkB@6o0u&N>zVG%V?~~x*f8b zu0IAAqo90kA!w+=W5=@{X+}Ayoe-}GSA*87u3eVXX&Qb0!s&$*^orPShOKs0`c0W^ zkH-e4$E6|d@z^MHTp3}F>pR`3t~;14hbpy7bi}}wgaYX=nKS*Q?I>Hz;I03g`a3S0 z>|(v$EQcp6G6eP|jF4zhPzL?eI`)+_b(DjrufR5rx2Wqh{I>i!$d~c}A6^?N$tqDw603IRR_#o$+L>Xs zGs!S8qwp->OhZ!0^#M|3H@I7cKg0N=VtJ6Ot%!T^X<|<^;4^&fLCmak?G;Y-3hzr4 zX0>#MQ(7@^PXD3jW|D26fB;N+UNN&sEN1h*#B&$sARHc+oSLMA* z<)b*-wK9#gvhu(h(mPctRoGQIp;R7Aw$j|GN-5~B%1Nd2c(O`srz)j4x+9$}}F7Ku`qOE3K^M zEOAI}Q&Uzq4&s@_A#V8vRi=DfNn)9%GITvlMZe9@9WoEA`WVg6t+G1Y{PZn2v+Kw| zE%aQ;lmp+4Ph6=PedIl4$Ur()f=j=VeIb;tlM@H;6JSng2%iV-idz(=eDo7{3>$y&=(51e^ik&2<#(~`$#*b3yn7vY zNp)}=-lK6&@QB9j&b`C?G#(JTukoPZyEPtK$Nu3_;&ptY_tDeyP|v)}aXJnD#;ec{ znWk@Zcezg#-oYo;gIAbYL#l9)k4nL})?gNVdyT(9d}j@P(>A9b!^fCrYUp;xMEn>E zP2MnRtO@yX%ew^0i(x4wgWgt1=Ci}8(V5Q^YCb!vyL@?F^Hi0maGv6M{yxr=p)<3u W@``H|O`(c=xMvySF{(R=%>Mu_)-HYk literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/wss/event/ContractElementSubResponse.class b/target/classes/com/huobi/wss/event/ContractElementSubResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..a33cfb7ca8e51710d64c04e0d761649a79f5946e GIT binary patch literal 4188 zcmbtW>vI#=75`mnSG$sBFeaD?XduODY}rOM4FzOFDd2z|`4Q~WCe4Gjys;N#tyryi zq)nPf^XR*s$(Mxh;R~5bW`db%XFAE3WTt;pDgB+@)x)wpgThF2&$;KGbMATH{m=jY z`ELNv;vY%qxFSnQmNi+*2HX^3MV6~6WZ(%_mBp8(CbVk?uBXt88zycFe8a?VO#D{R zH%+`H@OLKO7Wj_v-!Sm5f%gWL2wn)xhr+l5-Wi9Gn_> zU!iB#_13IXMEHQ>bKbJ;Mf(pGwojF-zE@kb%l<{HRI?3yL?!c{Q?wVI;uQmbP}q6K zE&HBT^ry}7ukaO+qkK~nHm9VeYtP)Mz;Mm;KWxME)55L3;bT`&%bi@jA{Z-qe zGm_jvDQ7dF1ZXNCMwQ$X(xY86I0|bz6`q8f-UZ((UYW5fLDg_lu&t@IXq6|$Mxv`$ zbu}zJ7Qqxvn7=SJGf5kXCp^1aE3xn6fdPrZ=(_lz^pQRo-eLM~*k}}(aLSHjbmNPHl7rP ze3zmv&rkO@H=innlU-ii_N=i3x>V430u@eoDO#_AmgiDo;t`avxw|$0Z1WlB9FZYt zRrqDFtT5K0pEtjMQCahO+Q)gmX;d_iH>j)6)Ghh(BtL*M{C3h1lb$6OleP^YJ2!xA zUMPND$=MNp04eE7uE$8p5h_AG`xVp|0n2f&iGY|!o_IQBz&IwjQ_{v<+l6E8!o3}Z z+5QdTSg4pc$3Jhod0R(ejt#odezVqo^Y#wHq4%eG;~AWdl;jCx;%s*0F4UK8CL{wb z10hG`yaYy~tT0J#oykWZH_vre8GBfjlCXx#T%htC&Nr-#BOX|}|1RPWt5R~`P|&yzc>hy-7SBh5>m;U!^|3nX&jhxV&;tj#2aZjEF= zgRb2f`3Cx@(BpSTzJ@+Cnq5aC*b*^jN4ey+vG356(Z0ow+enXPv~`$uj$~dZOERCx z=)#lu7X7!;o6$3g7N!(gQXhXJcTj0h-r&9`Z)OY;F(VNpW7b8qI~^nNa%grV^|vsG zdAha>AK(S{LJWhrjtiv4k;PRk5YuoDi~P;AEhPlMAeO)zY}1Rx47`oK_$4tDzv7*v z=rzp$Vw-^%?_m@hGIBW8>M)h%=CP@|R5?JvhwnZ-Wh9^4h z7f+%hejz9iKF1`nJk%VGH>v1y-}r=fBFM|WzVTIN#q1lo4P$H_=}SUS<~2FUXwiu& zxeAX`M|C+G(EAR&IiSDyQNYhs1pG`ypou97`1f^Az-y%#9?#bT6*{B&8a)vnLvWLX){ArME{u5~*J>nG!mhQ$i?5NRe9Gp#=j|CY+3< z=EPW~8ix!qhG!q)G+S>Eh4vEufba>z{e%Yy<;D9U;X%Sd!lwv-MEEq}5aBRkmT-h{ H6v_Vs(5s$n literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/wss/event/LiquidationOrdersSubResponse.class b/target/classes/com/huobi/wss/event/LiquidationOrdersSubResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..1aa778629b7aa18d0fc7bb074523abf7c6608a81 GIT binary patch literal 5884 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 Lz(@F~QDpuDIqH96 literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/wss/event/MarketBasisPriceTypeSubResponse.class b/target/classes/com/huobi/wss/event/MarketBasisPriceTypeSubResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..1ece846798a57a76aca3109c3ac97cf1444f0351 GIT binary patch literal 2915 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 literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/wss/event/MarketDepthDiffSubResponse.class b/target/classes/com/huobi/wss/event/MarketDepthDiffSubResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..6257a05767853588ee07441ae2262301ced096f3 GIT binary patch literal 2870 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 literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/wss/event/MarketDetailSubResponse.class b/target/classes/com/huobi/wss/event/MarketDetailSubResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..9d4275231df63d50918007c11e1c8d2f3a48fae8 GIT binary patch literal 2843 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 VMl3{*rC&Zol6#CdC5bqO=s(Ba6nFpt literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/wss/event/MarketIndexReqResponse.class b/target/classes/com/huobi/wss/event/MarketIndexReqResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..5f7b8ea40fed3933d1c2edcb545cbf3d4e6eedf3 GIT binary patch literal 4561 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 literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/wss/event/MarketIndexSubResponse.class b/target/classes/com/huobi/wss/event/MarketIndexSubResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..a2498425ac936ca88d7296bc55c822aa0f8193ac GIT binary patch literal 2693 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 literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/wss/event/MarketKLineSubResponse.class b/target/classes/com/huobi/wss/event/MarketKLineSubResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..dbbeaf060a2c346a1fd53abb9bf44da5cbe9ae5e GIT binary patch literal 2834 zcmbVNZF3V<6n<{9o86>aD4{Kc7A;yeOI1ChI zxGKXn3kwO(pUbeAzyOv+T9)CuEN@u&B7q*!9{;68G56}Ngnx8&E$)%#Q2@wwgCu`^%O zdc&tLg|qX;+FGvEtgV!Dj~k7g_sFaIxq@4N==oRX%T;fwxw7ar)@#*g)9g6EfNs|#-3UGsdePAn#m2&TiGM>Hfk zV9BlqHJRQQCUFw;zHPb{#@Ghy+R6j3=ueH^R#3I=R0y{SuI87#I$=nh;eNhFeMS#28-S$-z`2Yxa+!tBswX|lSQ|BNzhR&xs6glf@pedj=>ie=L(mI zj&iK-HJTM)A*w@1M!^uN@V*n8SgJMaMelN1 z_&L;_`X}XOIY{A{gCPt%IF8p8GJEHhgAZ`Z!Rr`t@SaF-;~fWSj5+uaA1NH!`E)Nf z%av8H?qCip3dg#`N*7Dh4vJW1`o>56hFt#s@t;12{y|CcGoB(l6^`MDS)0?1I|5A zl2(ooXyP7P(Nz3H#o+$vLA0!b^-&8;w`R}RD$Eq!;zhb2f7|+1-l%M?mRr$ z^>7ARUPmJ5IY$I%Cc6Rk6Qu~Ya3}QX!N4NKEq9WHux--XR9y6NF@cjb+vPH{SC^98 zw#y;yGKY7&xs2}BrIe}d^0;=%7ZA8qlbqwcz>{p|2bjjQ>>n_`hZ%jA{T)VOJhKT? zFDb;Xj&sNx6Mv#7WxT+lr*I}x#wM(mg`GEPV&`KiQ*2@{kbH{Xl$nZk7{&7zjpBJb zWr>j;8d)j3Wn?@fpy;mr-wA-W^Zx{=`O#+|#&R5}N6Ek^xQt0k zCJKD%=PAWdVS)0LEYwNnDM~gjFlH8xW&e!>7N%cf(83IVwt9)9ff(-;TV+4Zgc{OZ z!Wx|?B4Ls#nUstC7m>{NMNGn%i-bfvt4qYLL=}mogitX$y52W+!I;*C819=Yu?%)! z_9?81O(gD#-p(7ckut&^TZ$8G#q*}#VqNqhJ7wyv;qIxP2?B-)qgcd6%o2`?1$;~? zf&{MM5>ZF_G)^(alIj^8VY(&NlFY}5y`sWkGL>Qiq0}pyZ>=Mu7=YO_XxSLsRiRm| z!)(iPrgYS-l*;}(iY?$M_2>l*F27LPVl0Gba({ue*w#A6IcKM literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/wss/event/MarketMarkPriceReqResponse.class b/target/classes/com/huobi/wss/event/MarketMarkPriceReqResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..843223aa61abf2fdfefb88d7c9f6fa3cd51cf27b GIT binary patch literal 4597 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 R`sG8UxW{-?l88fy{tFEw1vUTx literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/wss/event/MarketPremiumIndexReqResponse.class b/target/classes/com/huobi/wss/event/MarketPremiumIndexReqResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..6817585d43e6d178199ea6836bae89b5ed4060d2 GIT binary patch literal 4624 zcmcgv+ix6K8UM}h+;%-{Z`?TP(9pW+*0tAm+|qJeC!r)w8kcqI+96F#fsXCLyYYJ0 z*_};VZY^!Ol}pPL6+%b|sS#2nK*FvB2*FE{c;pF*C!Y8xQp)c;XLh_^Z;PWMB((E=xm}O*O ziY#9h?$;cAJ&OZ)!NrTRf5XK~E?yS+ii>Z$_?C-ryZDX}zAFkZIC#~;_YAm?1W|A* z4C)5Fxq3Zpo~{M0R@gF-s;(LsE?*9=1~avwzBaQIHLLZtSp(^2xM{$=))I+)mqfXt z_;xD_qPCcbxR|RvA(3lG)!IzC+KOl=vs7KHQ?eNvIIqnl?BnH?#>Pyg-B_;9Tx+#v z!mD9Dnwbxp>tVFe3^%Injk)@2_}pT6Wif1RHtMag&~atY;no*@nS023eOYtT)Z?Y&6a|oVP zK^xw6sW@yIvX|n>$?Y%jL{Sm9c(0C15+a&j*hBo_ack+gjg0RN+r&k_<9rxZ8mkLI zGuQ~Du*pl>RM8F+Xa{fW)>i(BZif8CLt^D2ckN+EXU9R&Ikfvdp5N@e$rJGriTDR} zT@JIuEA600mv(vo`10j&C7PXh+JMp6T@x{j>DGuUVUrIgnNpC#a1}*EMO0Oj(Nv8U zS(i~()Ah%IVsxs=)2z;?K0zugK0#ncY3NFeP3eyuh7eysa*Y|(XNwQ#8-tm|JuhaeqIhS2(w3{p8*{XD(qwm|{ zj!852a1{4=D9Caz#ys37Xk3;F6b(FZ%Z<~+Gnn%*jbk3p33^D-NAWQa9~blqSw4x9 zhtJ~+1`hX*gj4NmZ8dCqsN(wu?tWhv#;dC*Jp2GZWNu82GM!GaW~N3Zp%nc!=JM32 z&MUI4snMvVMI^U~j0q1F9AhKexrVMn1EpJbJ((Fy@p07wg3Zma&hnk^lR|qZN$fgX z@h3D`)NYbA0&S6dN1JV5Me0el1x^2?A{=Gv>A>Q&D5Rc3bdQBL3R2_zh7C_sch> zfQ+(oNK3?F7oNPgfs>T5SnF*&YGK7unyE62+WK=M4cm`v~Ed32ebrL?XX zn|*a^=a2~=qI2O<64@_xlv5`6Au8RREWQcLyfOJ_I6r}vzA^bHIP+7*ZMf=_Aaj0- zOUa!63kH1iZ5+4`Z`wDvk?lwflq`x2lx*J;8T)MvUq{Zje7j4?D>)SMO0MsSkQ)m* zzS|{~D`hB@D`owR2xViTjGyfi8Y~S^Xt3n@10v+bLPT9cL!}&rhDw8ePJ{+yp`1V1 z5i)P|4e=W~E=dL4#AEmjV>g0-q0D9^o$v3MCoRnm_cxp;GVv(3@Hml0&abdQWTS@H z@dOe7O~R{KBy#a1tYe8NgC8Tr1)?mraTcE?8o(d$FfI~#_y>FLlSDcE6L;Ve(IB4U zeajee+?yD5@bo)4B;|wc$g(wAyIm-K4B$M zvUoFzQrsuXDz`a+Nn%l_&e24MhThE29yd>@q&kwHtuUqB{N!~w)7!{DEA)YqDGc9? zIj$s{W_cw`v6y2@$@Q%cD_61=%T8F#JgqfYaukb67i&2k)=6{&Tke_}kN zJ&0XS;}`fMo~3^levW`B#i#r!mKlaL%lu`m5Sa`}1*=3BpKqQ|E{PG*#+Qg3yoSSA zBXZ?&jid11CBfw58U`N}hVd?q?R=+%FaoP1(2+5BlVUNuOKeB7ml_K@yM=e;`!He^ zcaO@BR)1csnCYjuqx+t0sx#jFJ*Be>FEQpax-R`52cCKh!^5|2%pJtrIMO?4^@!Ac_EMY&27gCh<|E1I`Wf%za33qa zg%7JCTb$ZLsyMxcbkR4rU>1FAi@$n&dkcFyd{zzMbJ{{uSYz=3rd9QmOX_k=eoFI9 zK{BOGg=Dx`3du~c*;G0+VNA^gTNS4-6FpB;c^b)6J5+ L4cx^`jUw|O1FU%& literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/wss/event/MarketPremiumIndexSubResponse.class b/target/classes/com/huobi/wss/event/MarketPremiumIndexSubResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..e2766bb86b747af607d53c64bd5c18705e615af4 GIT binary patch literal 2756 zcmbtVZBrXn6n<{9o85$^O=F>r(iSRe2+&xIeE~`pq!tV>0;RUKwM$q@N=Pu-pkMst z7k_|X^ascnoY5IcXLQEVFLlP>B-ZEbEtw3yplsSmdC^fgo-LG|$=b?-Q<<|Diqs^s<(yrdw<`rX2TIM&7l`iC z;UNV`=I9+xb@6rvaS2R?AtF246|4RgTT=UP*fp;ZpK#oKd2!mV*ej0fRER;Ri(t`G z<6>dR(F1cMbrdWTE8=`svx|(q3(nNSV<+bhblqcZ%eyNdd?Ki_n|CTiBP@4HgP5Mi z6QiEeZ;6<%_7BaouAN(+uvfhrv5(n&^vv0%Q2|0RZ&&kvnMwT^^Gwf-O^gx<H z%Xq~?8_rlbi*pJW58Xf(hH%M3J31`9CDI#6S?EIA!VSEmaBA;p4%Z6BMWutX?LsMfmbtlV4HczPg#I23-63O&M76ER#lMuoJ(OOqL#Cfb zw~5e;h7@iaA=|u=Z{lJj4iaYJ2{W{Ol{zy_6 zkH}Lb*3q2QlaXx~ZG)M^*l7@-=vzLb2GMK$$$y(yXn~E(Y?=_uF@r1Ag<1V9u2Rx) zn>~1ql8*ZK*70u-o0Ph9rc=95H~wAmKX3ENZgfkExM$7x%9AWufkc=tMt-a2BB zL~mZv zF!E6J{fef$PhcgQ>o_Kia7!HbWwVZW;)E|p>qsPCqFl$xz0>WtjsLFn1@~2a>c@gY zK431Lxmwas_%9QlZs$yos3MSi|$C&g|Kdk=t2 Xtc+NQ9814^fF$=AZ%Ptz8qt3Na*PpY literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/wss/event/MarketTradeDetailReqResponse.class b/target/classes/com/huobi/wss/event/MarketTradeDetailReqResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..16b3a3f58a27b13c1bc7ecdc6e79b0c482c04ee0 GIT binary patch literal 3673 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 literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/wss/event/MatchOrdersCrossSubResponse.class b/target/classes/com/huobi/wss/event/MatchOrdersCrossSubResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..ef1323d0d886a630b2a443c6f2e305119174113e GIT binary patch literal 18560 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 literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/wss/event/MatchOrdersSubResponse.class b/target/classes/com/huobi/wss/event/MatchOrdersSubResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..30083a389b7bae743fbcbc201641a915d97d771a GIT binary patch literal 16491 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 y{+lqR-UM3}r!OyhiKRGh_ literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/wss/event/PublicContractInfoFutureSubResponse.class b/target/classes/com/huobi/wss/event/PublicContractInfoFutureSubResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..ab829fab2d8f510f69f9454ecae8410fd120e8e3 GIT binary patch literal 4037 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 literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/wss/event/PublicFundingRateResponse.class b/target/classes/com/huobi/wss/event/PublicFundingRateResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..4b9e29ee56268442d5d277b2852aba5468b9ce53 GIT binary patch literal 3905 zcmb_e?{8C87=CVhZ|`k)$F>54PQZax_LC|iYPaEJ3>bER8=@d8x7}sy=-SfWf+&*s z#rVm@PbMaQmBjEti5rO|M!#U<-z4Jm-gDb^qf1zDS{@QNT#RIg8z=4f(9CSP<<*Oszw<(!i(kYmid-WkSe8*gn9sd%Q8 za|-93N?zcBjP5Pu8MxHu%%l|-FFU6~FZZ6KlK7f?gZP^~l;|`aH=;~6nYv7a`AnfV zswxEA`<{$I|9O_dwCgRD=FU15XUX;43az#%Qg=j1vbHu$`+kV5$y4P?{k&oGh@5w? zjqlBJJ;u|4x(56iT$GCHJd<5?bKXe*MGabMZLVm4`a9{rv?K(R%H9bkgNk=MfwN~&ngng?b$-stiQZ6-;>JG~*sS!Yd(R?xQ9no;2 zIc>p!c(M$dIDTr?cOy4`D!=?cG(BUMW3#1NCFdT`OKb1ha4sB>PSJ_05;#Hdu(Q7tlFsot5`f1g8 z6n1ZDXkV#3X5(|*VmS@<`ZY4f@*r9D`CqWghkB)0$kzI8e28K8|LRSuDKs43ls}D0 z&-(21o6#wk-QpbM(xPUboWrYQd=0+dyiLWa3b>AE7EHdTfR2!)g;Yo~7juYSpFx8=;i7e6 z@G0nwcdZ~Uso@sis^~VMw<+3Q!S;B!qT7YuL3#x{*AG}#AZiMXH{OLy_{cAL;5P3y zcyG_ZeI)$hIxw^hePDQ*?@U5p#uGEA-5<7xlvJa&dV*m~O>7JGu=U6<6y75|nMgWT uCz5dXlOw~qOZSJfOj8+utJCRY8utkSAza2T?r~E53BhiQVmJ3ai2euAhZ`XP literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/wss/event/PublicHeartbeatSubResponse.class b/target/classes/com/huobi/wss/event/PublicHeartbeatSubResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..ee551a064017f6f7c917a89711e1244b7f6edbf5 GIT binary patch literal 4070 zcmbtWYjaaY7=BK2Zb?rs1PVkziWcmZAfiYL$X(DDYFkn8#z}f4fsmBs1iat{WE@Ao z=qG3V0rCZBbhKqg90&b?GyVa7fc^{-pLfqmnzpI7VJwDK2A98*7faex9L`qW{62s@*OKz&*7SE=}{c^r|c1VNam!|Sr z_TDA0=#%MJG;}mDhf9j5Pg0qNUBlVZg;cIu%H&g*E0vUzN-b_)cg+TFWo2r%PW1FH zSI^>GgdX4q`oYqqr=fi~U-XVwFJ!#(gqtaF#yIQwC+LAy+_#Aj62qmeTR7>K^Fj}0 zbU&A;E4D4uP?}+Lw~4^30uKj{6&og~Ffqr5(7P5F#ZwxFmhYMd7aNt}pq)Jn&)IvD zfgSPuTxoLDExQ*y-z(D|n<6!932WBMELT@HDpJOZ8jGuexx0Io>7Utz5JjeUvFaAM z&m4nKWX^e6f2jAg2CXzVZ^I>qwB+X`?JWsYx1_hNW)zI8$uP59g86V1EQQG)E`_5& zmE?b@N?=T>npClg2bzLG>$vY`&yToMDqmRts#5K&TRbdhqLQ3j$psl1?dd&6lSjvn zjU48gh|RKBsTNpoQDv~%9hzr$hsH#^Wp|@H*v$4zLBÏOeS_iDJ-7@Dx27e@VG zXH-D{R{-PVrD{3r9mz|XZCt!aw@TS*7+vP=vADvp>K&ZHhYlXWqYk>I*(}W#Jm#PW zy&ASIZ$k$YIOt$2QVtFXdP2|+X`aMW4tC;c2QPw|yJr49Qoo2FUfk%O($pRYS8$#zDGe7bV7r(6-D`osXfpo(dV?*>);KfSiiHo29=;;=kiWiuRo?BwK{!ge0OG zNx#XXMH?zK$hYgkk?Z+(4~KA=KI+7;IKrxx3*>t|%eg2oif?d~Nay%-93wI?f=}@r zk%Jr`0?d(Z)P2? zus7Lv_1(gH^@j8fOhfM*oaP&x)TjBdB#mh-xDDg#W!W3Z)>FJId|9YZeI!VQbji0J y<0we3UtJ-&H4Rk?orZdWq6lVeYqOal(jWNvO0e%d)t_`!tA^Fxru^k(GVb#vL0uA=hl=WiQw$ z%6?bmGeMMsC>yXZI-WD(I(Y+;seIloUC24*vdbG^p=cmBv+CS)k~t^8l3egg+5F0g z0m~~CvuR3r6f>p`n9DR`AgYBcUN)DU$(B8eh8D6bdB>}iTmusg*P}D(!dfy@DJ*4^ z_siv^d(X{#$@$7sE}LGcEM0TU#X`R9_SPaCIV-+bTyKtn9q1ou6`FaWuuNBbXR>+s zYGrN7EiF1rIdWn%g|w5q?v%1}t};z8lVu9WcNPe}+w{Julb1jisqF6`U;Xow=n|H|>oK++=GNwl`q)icL`PGH!_} z2!6fNr?%oKGOU=@7H!k~>M5kIbhC!_jXtz5cuxAxtW#8t!57EpL8ECWKPfSi%sAzY z?kxg7#SrGNP0da+M$&8>+yVn>;5PAfGTq|2RR(akR#7;XVr z^9-xz#97nLXWG;Y_3LfsYLDiH@;J&bMVucQ6F$L-luw{iJJC`*0fT{FMfdSbVF(~x z`^iaiH@I7gUt#>LLm8 z9-=(F-P)vYrzQokO_N8I$x}GJ8Kob773Gn2_;+eju-`Py8L;67N)HDUKf*E}5B>$~2Uz~cgMY%B z9ZGB0`%EBzJVvKQtNnC8zm zp5c%tLq_`+y4G^%SZ7n_YPCPkFeD$1SyEWZ#Pq+jy6$_&MP&;~FWGbs55f znu`lKNHC=AQtSr^JSW3su?>R-hG9IXV*TtBMhC2#KuyNn&Qf9t1h^bi_JIZ{T3#(9^G0 zzs&J!$qar$-={x>}44ZxEuH?=li;u zg(q{%r*383$dKxie+Sg4PYL1lkt4mf&r}0bCY+3<`o#EvW^Pcxhnwi;9%hNUsB{>i F{{hQ-fMoyx literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/wss/event/SwapContractElementSubResponse.class b/target/classes/com/huobi/wss/event/SwapContractElementSubResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..cc3db245018ed9e3746c4ba41d40d5ff324e533f GIT binary patch literal 3284 zcmbtW?Qc_M6#w1!-rn2p7Di=*&M5<`Y~4l`QKTC$G6oDchHRoBDtFyw?daOl-a<4n zF)=az0e(@w%NI;EaU;>h=od`WdrU+xfE2rTrgF-CfBJ_$*)cny;{w$*{B#WPkMo8AXFxwm|pg7dYPhE zTFT4?)k0}$%zzb?D}@|2f|>#2EG-t5#o_5(c_ovtmlq0|TeVuozv-8P%-k)n(hNCS z^j9dGt1n#eYn5`T=BFf>_+0XXSq9ubIMgYmIZBq`l?A^#?=2K5Nlce> zUh$$=Ey%qgG=qGBsU3WVe3**EROWSslGQvtg$IXNrp=q~%^0(Mj#_KF)}F!5r4C&* z&^_Y^`SRjRyqKA4zL=VcE|G zV?&oYX`-ba4~Z zQS;<;Aa?0A=anWUN3waZme-KrXr`FL`3qAslgyEPr0Un|#eh>&2}DwjaN(5T)k^6Y zPEgi>ronijR0xh5@Hz}+^N7wqSDRyV<$5*epDGA?_dfn{?3c&qViyKn?3QB>_PR*n z6$1yJ9)2#)V9dp<*ykcE+^BH-k#X@FUUxACVtmKO_kN;YC@%U{7jw8_V9(O20s9F0^}rff297;_jj86Q(aY`7Gk7?u zb{SzMZ^Elo{L-R<(GJMiyr>$z;tuKOEkkOMTIpY4{6r>%A)XN>bde_SY6T2qgf|x2(KxixINs5iSfUFZ zIiwvka`?v$k+*a-CI(x^>uH-CBX8|!d;o8-IEkDk4UtCD!>cfU-Vi#ftb4UaqiAV} zbd^6C)V8F>-MqZn*=6WSUCMx3E_W-JZ{biY%P_(!%U!DoKdDQZb<5=*H`5huwxm}JZm#BJvvY_W0b0eWqm=AUCcz)sCZjd&a1 z1lBnFYswaGjO;K|60BO%SgEA_eYQi@YE@z}f2pJa)uU=++}soq{l+Ylcj#!jdu-f1 zqUO@yJ(lNGobKT}ut(S6UKM#XYs!bD+4$nftn{bYAxl2>THOO*^jcqiqx3lnrO!bq zPaKKT@9#W-Gi(^MXrvv+65ho$bF|>Ixzj8(hO2C{3}7!CKTFP3qdCvJ#UGm;c#kq$ zHTyF}9#UYk*@nRe!!RDwaQz+u-nw=L%TCKi>c0(`Rk;c%W}fx zfaAX*e(4^zB(|=hTY5~A*rxfY@CnVw*6>1NyXL#r(39vTzlI$fSDK!*-o(cnEi>4H zdA3PbT9I)hqbkbVIrq>=*YwjQ$Nvjri`WkCaWU`$EdVTUg t1^o*ryTDS&+GeUHC|gU`jO>LF-ltLs7tv3eAlFCb7x~a$B7GUr{{Y4DbZ`Iw literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/wss/event/SymbolContractElementSubResponse.class b/target/classes/com/huobi/wss/event/SymbolContractElementSubResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..3627b1d4c181cef067efe5d7fdc71f997b05f1ec GIT binary patch literal 3855 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 literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/wss/handle/WssNotificationHandle.class b/target/classes/com/huobi/wss/handle/WssNotificationHandle.class new file mode 100644 index 0000000000000000000000000000000000000000..b41f2fad48e8e0315946e6054b0bdf9edf44d973 GIT binary patch literal 7885 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 Sz2!@M5!x?v%~$YMeC@yc{x6jP literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/wss/request/WssRequest.class b/target/classes/com/huobi/wss/request/WssRequest.class new file mode 100644 index 0000000000000000000000000000000000000000..add1aa6360dd456dd42e28e089db2ea550fefd16 GIT binary patch literal 3150 zcmb7HTXR!Y6#h$HFW``hmTj-u+| zY8(a@V{q`H4A*41F2hF-K8|z#M21h}7{q6SZph%vuq3j)gXK8-u;?O?`KF5%7X^Vu z7ppFA2`mY9(ZQO5fyG+wa&UVisMSwz6idrN)qpo!E(g^!CBIe+Y6ha!;I@I}+^YY% zpDp?2mFz;jS}dh#{gZkq1mUvjRJ_e)p( zYEk&1l36bld99JB`ofbf9x%&0I-Fm&Ytj3f`V@HW4qpp?;j47eca9oS^LbD~oAzNV2Lfy~bn)laLs9CY9#@xJL zJ}XX>TkvZIoy}-^Y?eM00vVU(ToMXrX(lOOj1jBEE1`I*?j zOB`*^AlHzXaujx!vq-JXuZRjY(nd{Sj1o^1kij@thNOXGr?T0p>~&RU`no7voyt93 zm6`S~%66x6Z&&44@G37SZs#~ljO@(#CZfL(wO`s%+Iux4ytKqla=epZuGWKEMJ$|Rqo_R{#0bAmCs zH=g+smU(ylPdMMhiryXn1J3+JW(%%b62vY{aLAdHe<6`FA7bDRyvdZgg?NLJ$XTQ$ za(2oRj{OkHJLpMSDZ7p2>He*EK1JTm?kpWsBYmTk%f5#c#FtJ2{SlF z!%~-cIfr*7uZ3GdnCrEJouins8`ny?^S2Ijxd;pns~s zRJ#4+ci>EJq4$Q!6FE~hQf9d0N`m#4m$TFsbE}lxl-1bk$=PblZf-H-)H={TN$0gM zq4QC!;a$8(Pc5cljwr&g-ef8yNryOJATpVtBe+Op;Trbg5|OQf{}bHD6qpRYVKCq@ zjK@@Lts^4X1FJ!3aLnzZkY=~hTFg#qNOrc9Tl_8?RN)=@and=#D(@++`_u#UvC;P@ z2ey!u)No4f(l{Y_x5nNU_9XXe+#`4&@fP-Xwom;Kbk{!>#@OI@e1YdlV=8gBI1gs- zBc)nsW?~a&W^$8Xk(9ZK9i7EhE%m6@YL?t!*ivapeb}U82l@FLX7B}#5SgkV2Tav) cr9(NCPXGV_ literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/wss/util/ApiSignature.class b/target/classes/com/huobi/wss/util/ApiSignature.class new file mode 100644 index 0000000000000000000000000000000000000000..2a4f22fc90d149e19f424f650717c86e88e84c36 GIT binary patch literal 5740 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 KQ@tinA^5*(&0_cf literal 0 HcmV?d00001 diff --git a/target/classes/com/huobi/wss/util/ZipUtil.class b/target/classes/com/huobi/wss/util/ZipUtil.class new file mode 100644 index 0000000000000000000000000000000000000000..d5ba23266c5d817dbb13cb3223c54a1630d64b8f GIT binary patch literal 1152 zcmaJ>+fEZv6kTW9>CiF=1ySx;Z?xP75kUb_$}J7$k{~3&)3hDwVB2Y?QxSj0M_=`& zBx3vkKg7=v*BL582sY_Hd#}CDzMl5y?{7ZqJAMLWSvX|Pt8cxkR)siP5QtUqG7t^%mnb~)1X4!93LpSHl5p%k1X6ZxL zDtoq5s%V%MXj!woyp!8BU9)I;mdl)xEvM>ctz}!zO|Q>kRCc8!idN3+e;rEBOM%{N zoXh?F_21N&3^J$V6<+I@M^eWET6HX9NyoCRpzG#^u_Zrs!7LpZ8<|5Z%i*;BgD(0P zP~|T9XgcB-+qgVi|2=VOIRTB#R4Ty{t4FTwaV~X)x7BRHsSs)OoQsWf6>KI1_-225!^k2x^{}t?$8Oe^=J^^8>ZEfPBlQahKAkApz;aL!vxxcHH1H({Titu zGF(IBDuvE((@+h!2EQS75o7BNn34n0Vs7c1z)D*Ca3d)T5^ z7Cv`g99iA8!bp?b%Vwh7V;{K+Ju~FTm}e9NxQ_>HD8@gBhrFTU5pRt_IU^L(@L0ou jhPZ|VXaHx7b_Etbj6vQCGRqK#si}M_JOoB46^#A??uPIv literal 0 HcmV?d00001 diff --git a/target/classes/logback.xml b/target/classes/logback.xml new file mode 100644 index 0000000..6b17170 --- /dev/null +++ b/target/classes/logback.xml @@ -0,0 +1,71 @@ + + + + + + + + + %d{yyyy-MM-dd HH:mm:ss.SSS} [%p] [%t] [%c.%M:%L] - %m%n + + + + + + ${LOG_HOME}/debug.log + + %d{yyyy-MM-dd HH:mm:ss.SSS} [%p] [%t] [%c.%M:%L] - %m%n + + + DEBUG + + + ${LOG_HOME}/debug/debug.%d{yyyy-MM-dd_HH}.log + 168 + + + + + + ${LOG_HOME}/info.log + + %d{yyyy-MM-dd HH:mm:ss.SSS} [%p] [%t] [%c.%M:%L] - %m%n + + + INFO + + + ${LOG_HOME}/info/info.%d{yyyy-MM-dd_HH}.log + 168 + + + + + + + ${LOG_HOME}/error.log + + %d{yyyy-MM-dd HH:mm:ss.SSS} [%p] [%t] [%c.%M:%L] - %m%n + + + ERROR + + + ${LOG_HOME}/error/error.%d{yyyy-MM-dd_HH}.log + 168 + + + + + + + + + + + \ No newline at end of file diff --git a/target/test-classes/com/huobi/future/api/AccountAPIEd25119Test.class b/target/test-classes/com/huobi/future/api/AccountAPIEd25119Test.class new file mode 100644 index 0000000000000000000000000000000000000000..1a189670b06f9837f976f9716307e824e609e7d4 GIT binary patch literal 16607 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 W-V0;t$M7RCMCVELOZd;j*#8Gm_-hvc literal 0 HcmV?d00001 diff --git a/target/test-classes/com/huobi/future/api/BaseTest.class b/target/test-classes/com/huobi/future/api/BaseTest.class new file mode 100644 index 0000000000000000000000000000000000000000..365dcde252e69ac50150c54a9ecd2904d900e4d8 GIT binary patch literal 346 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 Tmea4=T%&6h{c_EpAnX4Cgzanq literal 0 HcmV?d00001 diff --git a/target/test-classes/com/huobi/future/api/TransferAPITest.class b/target/test-classes/com/huobi/future/api/TransferAPITest.class new file mode 100644 index 0000000000000000000000000000000000000000..ea90211efa958aa19d932efe23de8eb32839db23 GIT binary patch literal 2974 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 M5(`0@46?}m2bzA@5dZ)H literal 0 HcmV?d00001 diff --git a/target/test-classes/com/huobi/future/wss/WssIndexReqTest.class b/target/test-classes/com/huobi/future/wss/WssIndexReqTest.class new file mode 100644 index 0000000000000000000000000000000000000000..2add5c3bfe3b0b70d051869ff315fc97adfd5a51 GIT binary patch literal 5453 zcmc&&>wgqy6@DhSS(YgYOQEJf1scdbn+q2Sl$Hc&fDM;q3D6dBc6X9YvOBZgnGM8R zwY3ULi>TB~)q+-~-Y95ELTF39YpwVDcM|vy{Nhi2-kIHGawYZ)fy_Ja?Yz%9&pGco zlXw0z{1$+<_@^I1JRu%O{5XnZ^H75i`k;z7A|o2$D%}qmJwEixi2IQ6!+_~S(vK&R z^1<@MM%s@)9M9)s{^Z{F;{^J}_=m*fDe?HQA5Y^WLefY5_!yp%@vI-q@bLg7=stWR zfE>}D^x@QedZgzEPDG7m) znd%B!@y@k9!H_eyNkZ;{wvd?WQTxVCilrH+2!92TLwm>L(Q)XhDYEy2J3o32v@t_zHkZjYP^HT~pr@2YOD$gN8 zddi&;r)1V}t3-*5J!)=05!I5mZW^2ma969E>eXznZ&8hyP^)~B)NW^72%WT)0`6(I z)o5?4nsl_MUywc-UzFePyJnx>>|Fsg`aza>M<}NwU3y>Pl)Q zRLvqN>op#1{&q8+ifTJ_LE62fC%Z-%utxZ`!a!c9;3a%T##a@54KFLG1tBjb?~TEr zn$&B$Be6t{@YUniFZ)t&!nL)H&VLG+9E0SxpFh>Dt<|wuX}Gkdr7@9cwCG9S zQt)kDoK{esj8_$W2j8csB^;lwiP+KVv=ysy^s1>#=!T3RD7b{zWL#Eo1wWMWBL%PH zs)7LwDi{)vYZ#VsUBMf8Q^8x!|8aB`hC5_E_|IO+;|- zoLXZhHG^w@CgFk1nx=5`vF3v{qIWDQ{H~@>Cq4;{w_h6^z4Gkng_E~0UA}pJaP-0( zyKfEO7=7{b=nI!_oqKik)Zpm3fss>}Z@u)~$eHsa7f-uWjZZx-JNov;S4Lkxd-K}qk+Wxbw0r2yp<$k@;2r#iao}z*W6YJ0oF5(; zyfhck5*j9YniuSh;Ul4bhSO%jDPf~$)9CXjiEpm9l~6G=%xvIggHyu#Sq_>NVafO@ zGpCISA+tBqqeYnvJkA;JPMOEu9JSPOSwpjf2ikVF_Zzl)V$5~vjpGiz)8O@%N+)eC z=2_tD((LBAYVqD%R95b}Z=FG2koQeatvl4HZKnDq%;Q!!+e%pNy{g@<6BU6c@k@{+X+0hj_0PhCWA#8&c1+o6P-}+@ji}a>+&hUZ znIeWptN;IZv92Os2`$rT{~l2+aQt}8KvbU27pCQ%8g3Vp_PC>mOrwhn`qX$@+uJGp zdY9L+#WeNG6XlqM9bSyi)O$pjW1B2x97-gV%)#2kP%Lb##`TCAQG=bTW%pR75!}_j zcaH?cHpPqUAuKn&II}S`)sqMzX0pPWaDni)(9{^GthlBnsX7fpmo8*lGHj>53#Zhm zCIayH;_(OWo*ebur5l}8vD6DB8${#A&qAa8`A#5YZ?EY>!Gk}0XH1dgl*X<}?qq|^ z*)sm9;7|Cgf=@5^7*w1QuT)1xZnY~&ts(an!Rb7 z?Om_t83ArVN3E#_ny^vSjNavQpLCC$eXrN+Gm@Ltc)VTb7l(|0@YbGU zkm>Z9kVPgS%;=4kbebT)|8fuz<)`z;8k4Qek35#Be6DA&g)1bsODYB-Ra6WhX9&4h zkyjDOzlwq@&b|$NE;cj@4f-N zuQ9K(IBy8W1Gt~7hOqP^mbG%v@@#KGW4`-ZoPXouf6owh01@=^BUiNjgw~6s)Ar*j zr_F^>a|agkSk2Gb;lR%$0%n-*pD+$-qWhuaR~WZnc@c zhseMdGVm}h_y`%;Mh3Q%fvvP-6B*b>2DX!dZDe5k-C|(xtPHG}D+4R>{H3>4*vyyD(M1eD8v zz#85_d4W}x*YIF2Dgz}$Sp7CiTAk4~RYNFsCdThNam#^`r7)_NFs4>xucOQgS6U`e zDVGLnVAL%^5zQ24M2g7F+Pxo^*ny?qkh{{y0e@T>p; literal 0 HcmV?d00001 diff --git a/target/test-classes/com/huobi/future/wss/WssIndexSubTest.class b/target/test-classes/com/huobi/future/wss/WssIndexSubTest.class new file mode 100644 index 0000000000000000000000000000000000000000..50409c5509484ce54307b57ce716d190467ccb27 GIT binary patch literal 4558 zcmb_f{aX~*6@G`WS(d4gjbe-+7_;KCAS0qR5o4nyCXhufi&$bCI=g#W24`osGqWhQ zHfd_AX=BnRrl#~GHm!|qTGU1XQIq`Kr+-FR^{4&^wdc<4F0;T=eG+-RGjr~}=e+MZ z=iYPnU;mx?48S&g;YS0aeCYGz5c;dpjKe;Bhd&2IyzGaFBmCpLetZwF_%K+5??VaD z<|LmR7NJ(s2VT8@|Gpn1IO>BIfPkbAdH`konfBucFl%7J_9KH)KaSzJh%qkyp${iS z{K$_rILYNd=F497;WZII@!@qpg7~Qqr$oHr!_WK(;iQPu0;)74nPjGbK*TVUvZW1e z8<8W9tV2Ngq236e8c{|SSyS|+9JNhVPtsKFG0W;v%%jYHQPC3`6VMom8!34>W5iUM zCgovAE*~ylM_a3Qsk&{DV~Awh~OTEAkd{5vPC zu!mKv*w|3U&X~-xNyfVL1Unwh#QK5nQr%y*&bEXxTA7p zo!~_bCv=r;lokotGB03`SayTT$AhLCXXMG=oB`rl*Td{#BXLkMl@zm?Nd~+?w+6}6 z+m}$gSFu#f(c4EpF4pZ;)E3+#pk)a~`6zp^`J+b0jI(_z&zm+*7^ zLd07V&f;weE!ZqzHRbD0Sys|&>u@ZQYUPQ1%oiwxv{E#JdvS!#Q&6Uc<00+f>r7f34aoykCc3*NQk_ z$2ER{-$)q8Zz;xeXR%AS8J%4bzmxEL{6WClIa7n3hg)OZ*^Z@FBh7SD_Thpxe8*s# z2ijRkYc2@rynA^nd-e6~h0}K@u6%iODtqD9OLt~I&%S>pdv@Z^xl7qIQ`vKqvuCc{ z89(I;pDF&g^90>4f0XbM{v_hh5-#E|B0iSzA})#etAxMd69JBw=dO$Ymwgicj(-Rk zToT*(DckyTdged3#!sAVnZ5nq?3-sf#`BZ+&R@%(`LrD-&y){cvV>YT}_>BcQ!FnY`3Xo)7^q zmood+S#ye41?=@$$i8)&SUq&y1%ykJn}2Eryt0(Vugg|e- z>9%sbaHR`aH<)(roKhyq72(fqYUHpm&Ivk}!>15)SaP*TaYB zu}{E;IrFMMY8+*9#OaTyUMfTRqf|pZN&ZX3XB4Q2VI0j+c%?4t{Y-}nBf$Umg3Rf2 zE3ezkT0wVXhX?q=*c5H#{fu|{gHO69m)`3QVor0XqG?gpX5_Qa>E>AApT+nT-DE`w zbG-2cWq$+x3Mof`w?_0<#`_=s!-TgrG>Y__gxV+?x6#)TRL~o+F+2q!9G*nkG|I1| zA{?l^j;ioYhy&qksG5TBI;yYI!ZK{9F+kgZWi-~(-y>K-l5dhka+P5Ro}w=SPm`f? z$Ix+lmXU13H2jg~K+O$EWjIW_tDD0!_y#bEWy?`FjR3b&?pUb@|3y_#R#wuA$FLgf zh+uXS;Ld$btc@+Htc zNtS|yZX=;O94x_u#NVdi kl%W?l>FK9%-N0?kU=?EYy`JXd^gjWHq1;=l@Md7>e}y0>;s5{u literal 0 HcmV?d00001 diff --git a/target/test-classes/com/huobi/future/wss/WssMarketReqTest.class b/target/test-classes/com/huobi/future/wss/WssMarketReqTest.class new file mode 100644 index 0000000000000000000000000000000000000000..96408fbb176915278800616f9880409a5fa742d6 GIT binary patch literal 4716 zcmbVQ`+pQy75`3llUbH235y90#WvKCcXpHT4v3b}G^86S*(DU)T4#4B$t1fw+nw1! z#9CXcpjbquKB~5A)znuDT0#K(@U6AJAJw1yrKJ1^{^Cdc-kII(Y#xBkCz(6<-gD3S zp6@yL+&g*gzZYKyuo3_CBZvpYmHmb&w9HHL0njBKIy6EQzz1FC1N@xtnjZ|nfXT`Gh0W~|WS%ca`QO&eyt=wYUDZw|KHB!4(i;AlpR5?pehQx@#WEsw!pK7=` z$3+rucUckYv(AJtlb7LAi5jb2e%^T`u4OFUNOLa0Rday))O14l)jUt@s6AeS-4UgN zn3mdm@>X7<4Y212XkplPiaHCsgtlf(rLp|1rYL8WyfeN zN8&?nV!B9BM$M`z5db?@HY+qp<29uLn9LM{u&GpZhs*nXlwBkHVq;p|+P;$tS0vR` zETPtmkaX2EDAi3a!TeH@6TYlwW(b^Ytxeehjb_z^wp+7QJxS^Z=cc>nk*Q5+X)EM# zzW5sAs2b3$Q6q7Wa9p#rED3T$>#Xmf^N!uSMOv0vY`ccV`O>uIj~KaZTvh@qP4(;W(_89g`}OQeD#=MS3-I>ER#7Iy%} zLQ7^5-Q8svmT6_xjN`XiS%GJ&@U==AU#~($!8h=%!0=58tGYTmx3zb6ws&+!J36}U zUn-ctiwSL#KkWkp?TJKVw6U+RJC*7-nTp?1@NG;js;E=Oa|*tL?@PGZAvd@y+Vfz~ z{@{3$BnLZFdRoR06dc3zGG0({24`jbP{EJzqJndnR&ZWCW^h5qMFp4eV+AiEBI9KR zui#Z0E#jQp9twVfjr8=V5>^%yyiYYpndGcN+|v@)l;R;(2`!kgvrWd&6#N{&kg)a2 z3+HFgK2~R^Rh^TIb+b>NnSJ8FLYI&%E{2_iQd>X$hBrZ$z_tlB&r%u&SxqRg&yMZsOJRPqB}}Z%0js=21L}7MOTWt+$eZZGirQP3vo$`CE7mRH-yB&V;`mm zc&d`eWjs|(%{f!IEMoCK7t4jh?+m$*<+@T_+^gbXcAdWx9rjTji@#=y4O=#zd#L1>-zs!N$6X|@3(1xMX_`_oXX6*C^@%pQT;r>ia8!O z(j(+$LQUqheZwN9``tM$rsd;~%X13kX@vpOSN^#7f?8tYZQO`5jk=fVltJ zZ@lWUE$7D??}&VEVy}-965E=V^N?CvrcpKn&pCKo0_EpWan@e9na>sQ@VN?JRHG8B zv4uUwS&6OK#-4<3YV`=M(*3kj!LehPARlUZ5fv>L;RCN+%fbP__a!VpAzn!znoSUbQq?=19I zbeB7?wdJo&T|G(I0mLxQk5$o5652R2b~}lqcI$y~vllD*Y@}3>6bj-x=};FP+ XUl}Kj<24)~rtApQThG6J4Ep~7ptnTW literal 0 HcmV?d00001 diff --git a/target/test-classes/com/huobi/future/wss/WssMarketSubTest.class b/target/test-classes/com/huobi/future/wss/WssMarketSubTest.class new file mode 100644 index 0000000000000000000000000000000000000000..463add671f1be894647abc51681699c14b63d571 GIT binary patch literal 7343 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 jWb55&32{-qL{eRVJ19z~frZ4G6aU4T(%Ls;p4? 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 BPAUKZ literal 0 HcmV?d00001 diff --git a/target/test-classes/com/huobi/swap/api/MarketAPITest.class b/target/test-classes/com/huobi/swap/api/MarketAPITest.class new file mode 100644 index 0000000000000000000000000000000000000000..b157ff1eb51d19cbe9adff385af8135dce61a742 GIT binary patch literal 7163 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 JDX9zf_#cySHpc(} literal 0 HcmV?d00001 diff --git a/target/test-classes/com/huobi/swap/api/StrategyAPITest.class b/target/test-classes/com/huobi/swap/api/StrategyAPITest.class new file mode 100644 index 0000000000000000000000000000000000000000..f89b9822ed048d80377f5441ee97e7f38fc12319 GIT binary patch literal 21940 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 ViGR>_3H_wR|LE$#8dEA{{2%GIs*L~u literal 0 HcmV?d00001 diff --git a/target/test-classes/com/huobi/swap/api/TransferAPITest.class b/target/test-classes/com/huobi/swap/api/TransferAPITest.class new file mode 100644 index 0000000000000000000000000000000000000000..b4c95ce14d71fd14823e0e4f44aaa135c735ef8c GIT binary patch literal 2397 zcmcgu-BTM?6#rd9*pP0AHc~CEEgvET+Ok%$ty0?(5CsENLZkHyZ#I{(%w{+42ikFb zaHcczV4cw!$C>JjFZxnvszXDxR^R6{#frFcS$k3=vU#fuo*g_rQMf^h{C3SMD|c@DSSdEpEfjFfPe3|%k`Cv`ioE%2MLsDRW?;Z;I` z%%XxB6)DWhZNc_bT#)Oqw;(*OB8^!Euc>$)7gfB0H&wiaw^clWcT~*bU526K1M8n% zFRy%m>~`tnwQsKddF#sB_0syyAIdA=tu3$K`D&&7``6`fKP}(5eCLzT*RNi_z5GS_ z*0sNWz53xt3dlkRx`M0^Uwn?y>+i8gRFhMw)ckDcazs;>bi~t)vn_7kLJC3mQOH`*p?(^JR&=N*&ROm*Y zo0O-Z6sHMvZSje|3LLgD(QP&HyiF~F;nGGlTUj1PMBxBZ)b#!bfKW`!@g2i#s6Olm z>c35`&nd_TxPdLUaWjSaM>UQOd++9ePU&RY9d z!TN8a;bJTl3$3E@2EsoE-0d{V?*U*h8qtalTB#Ko(%(fpMqTz0aY%h%B1C`SWC=|% zrHDwZxrk_NR}pF}c9+mn#GWGdCi_2^u>BuE6AmJM9#5H*qmKZ6VHHaxG3=O+@LVIfQ;18*n6` Z?k4I{dX5PUK*M=DiqiHJeKt*_`5y;1*}?z- literal 0 HcmV?d00001 diff --git a/target/test-classes/com/huobi/swap/wss/WssCenterNotificationSubTest.class b/target/test-classes/com/huobi/swap/wss/WssCenterNotificationSubTest.class new file mode 100644 index 0000000000000000000000000000000000000000..a085a78c2a1270595045966d9e219f8920e92a0c GIT binary patch literal 3310 zcmbtW|92GC75_{&o7rr}5EcOefk2}sn~(vkVhx~}N+I0@nvJ2++B&=YvO8gRW}TT0 zq=;y1D_XHFptNYe*J^7|YfniCwD$Dpp8gpn9DnjZDE+*d-OYqh%{lI#GjHB~@7>S6 zpL^fE^RNG2`v-sr@W&)NaZo-EB{77rwxSD}1cv1}lE7g(9!cP9avW8WO<*jEHasck z<4GLF*Atj%!&7)VMSX@`%c;o6Il<|hH*Y3UfJk66i6TmEFfoPC!;^AfZmX)8R?uQO#iDQ(q%w|M)IDqRfhj!`$OaTNmmJTRYg5Lwp<9Ms)U&>8 z+C{F#s;{aNtUc~|BaUxQnt8)F9s8hR7c8NmFOzr5da3H`u-Pw}o`PKwNbk5& z32+HGC~RN2Q6sa}+?eou;>LZByA&kyG|(0n)pUeDSAEmcGiI=B-BQ$%p9CEcfUv*vjK1P^f)3PK-HRpnWW}G0LaWTzJ3U)^5lMxHV z`jKkRGV=$8;rcmY_+)Oh20*_$hJ{~p3P%jrC<}5-fMnLGx_NQHl+oJuY3%pQ)Y7m6 z{TgQQZ51aqJdaZv?!mnZG^1knmvV)2Kl4b#edtzjr=AZ&xr1Ca5>7*pT#McR;6obH z@-@Bk%u@hq!3!FC(Wm0Hh8OV?$*lxl_scBmFV%fl@f{7{#mn^jamVpJ-!&>B0p6+> ze6IuFU!~%e4m_&i3|`gn8h*eaEMA~POheu{6|ZYJi#HV9cjLnQ3umq@T$sCl=EED8 zUS4?f!-cbd+Pn1k$jMVGeyHI`__2y}8qVW_iZ?av$6G2cYWN9$sz8zyxon>mIt`cb zwt~le??3a`KKc8llc)Nwe{}x(t7oMV7w0~{czNN>UmHuIgu;(6U8oBe{`|p>_s)@t zMfVQprbOP?@D6^a;pccun)(X``l4wox|9kw1v+iv>rajz%FfunaiVd56l_^Ul!Ur& zwc?9HWJ97T{6Wj`n2c+>dm^_a5Hf4m-&*eu7s~^NTp9J?ZemM^!A(jJndLHfLwZ zL^bC-Q+OVqP@TAQ4p=i3-%6nVIa6J*KUSu)a(IY<8^L+7+HN1-RZj3S8 zQuXv|*uW6ATI?m`(hvpRw{i062u8z86~EE&TfDDfA0Ab(eG$~Or=4R$&jdY>CDxd% z-_SPpnfgq{9~hpD;~c9pl-eQoZ#Qs2(9C~Ft*Ge>i*@*g;&p`w2O^d&kI0gPW9<9U z?JHjlAwT_WG;}r1gN9{gOv$gap|42o>ieCnK?M1pU?-t-kH>GT|$<`J7kb2=5DMN2xR&LWXcway}$ z{u|mR(w8Z`j6_OHX&jSRaK|j#|3U>#*vaQcwD8%EW~}1B18cDwn`qiLtidj>XdxKx z#}_$M_+8ykgQOuRI5u(IKF<%u-c-j`tZu?lVzl?BuTcZ$u;xyzoyU5K77NhU(QRNo z(eA<>*g&MMMCuHX)`i+?NX^)S2k{UQck_g_B9uJLw=YrB!rhNx0DFRW1$%*xCYi}K z>)u5xPXNO-s5y04?>shK#l{%sv1uN65BH`v&tuC!v3Vp|-`esKIwxW~=CCb0(cG7v zi1*E5yPR?mJdnMLFT}7&Tj_t`2b0gs+_o^Rq?c=mtw Ce6XDW literal 0 HcmV?d00001 diff --git a/target/test-classes/com/huobi/swap/wss/WssIndexReqTest.class b/target/test-classes/com/huobi/swap/wss/WssIndexReqTest.class new file mode 100644 index 0000000000000000000000000000000000000000..7bceb53c64b9569dd8e66a21a888e7deec833b2e GIT binary patch literal 7177 zcmc&(d3+Sr9sf?QS(Xvv;)N$igd~z|Ec<{DDB2$q#a>bD^J6~_2u<(s;~*ZE@lHQ3#Jd8J z(C5RW0ThV(JpmMo`h5WuiTeFMd|*00h{t6-Av8Sc!-quuln+nK_^=Nj@!_K~4*Bqm z4tx0?lTkGiXIS8oGncPTO(`g_~NNMOU}l zs|KU0(HU&B6S~pKu97QsL$_B@ro3XagrZeuM3XSHSvR!x$yi8Bw5y>gTc|gzMmMVo zUA(6ni|j7ll2FzhHeGt`lg@cnEBw?Os3ZXsWc8FP0G8`&V@7Weg}dhCv05pqDRTST+WOYFw}G3PoboVj=CccIaZ|D7XSwN?16)xF{UV8l$AF z$uw=tPN;F0J8NbMj+bI+ri>R#akGLK@sdFDvV>W6HMPsCYHO=%YTIjS8l8VskhwuH z)cW{S)zVTGi7aeixModbEY@f-&|gvTDn2`@qFNcBQ}B6wNy7OtXUSDJwXdq$)OJm^ zV^{T(nwW0L__Bhp;HxrTQ}8vsF5~M8zJYHl_!hpc;5(xDF1{z@`wD)5A1e3}ZkF+5 z1wX-0Iqf*ovE`@WXSj;C{+!!I#=LQtd)Ke-{1p6!g!vhQB+L!A9SKI;nB*@dT#_Lf z67lT{RGV?lpuS&8xHv;fyzYpL)m6QiMoVZMefHSMbN7xs**|*t$cYz@jXe3{^(Tj3 z8F}=`$o|78A9-eE&#{q528Q<>Ir-S`;R8<$AKL47HQs)wj9)AG4Sp-Z2@`j}6(MoD z)vVwIh9xY`HTCGBr$-(?c;fip;e!V_wL9sF!6DA8U<4;6)VRZkpBNfGb~qorT#l!P zt`}$4?Lk7-#EEjClW?^w|Hf0hM~?0tJ-Yji{)b1OKYsE+f4+{DP?sHOw(Up4m8YLK zC+>783_T^{U|&Cdnm^*&?1-~$bmIXq>4Z63cRdsS4mcxKKjukf7JP9wMdb2F2))oR!_6MYh0OjN*-qoWQkidBtWwlic4?t7)`qVNLJl0ky8&bGl{o)$+{Ls4W??!U^3;rw_Y9a`M4VObqG7X>m1S zX>MA$bdnjjdt97OhukJ_W;tg(LdUkw>4oWh}F7O1CL%4O;CG zp%K**QhPd;WfRoUX&JlCL?9DKF+Zo6gf){`{}xfqaH4q3K{TGB*G|tncY$?G_r}A# z*)%#S(5pt1+J+7h)$6=rExKt}kx1+%toCAby51tf0^4K~>`=l>MjqZKhS`DG;4k>Qf-aF!c8DS(ijXL7!p%&+#;4JZUb9CF zHaqthCZ%dedY_xlOGWxk#y<(9*))5Sbmi+_AEXqx`K)_wv&vk_6QKf==ah5h6oe_eF_+=9j9(uL5D>Qq=ZRMY z*3_9=iv|!l3$tQ_IC}u+RC(Xd9l&{wMVHMk8pP}YoKLAiTyO{%ws6cv z>9-k;#qQ(m;#Us+_W)rB7MBPs-}_kK!&$8L-KKMF#AtVqkkt2Fmhf;L<5);5IUF4;i?Z4BSTsc9Vho$-o0- zpq~uvAp`r!zwNVQoZttF&&gmgV2HRl0I%MOV-@}!XJ(va#MNcAqHhOCfk2&tBk>IkVm z4@jNaAu)HK6w=}}q$LidB`&0;Ss|TENaqpKY(hFe4@i0zNCeZ(z$)OH`yy-cm$Kbl qYhPei^;i4@f8zu;+Z&jICMnyCo!FIndSvYB-D6Mh9ea8VyZ#3ivdBXK literal 0 HcmV?d00001 diff --git a/target/test-classes/com/huobi/swap/wss/WssIndexSubTest.class b/target/test-classes/com/huobi/swap/wss/WssIndexSubTest.class new file mode 100644 index 0000000000000000000000000000000000000000..da646fcfbb19780f1433589a8508070283b0c612 GIT binary patch literal 6037 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 Me)>%M=}`>)55(^8j{pDw literal 0 HcmV?d00001 diff --git a/target/test-classes/com/huobi/swap/wss/WssMarketReqTest.class b/target/test-classes/com/huobi/swap/wss/WssMarketReqTest.class new file mode 100644 index 0000000000000000000000000000000000000000..9fc6ccaf7a8df15a4233f7b0cc0c92851a733644 GIT binary patch literal 4718 zcmbVQ`+pQy75`3llUbH234?$EY(pFJ&TbN(4Tu(K8XyZby98oeb#`}>OtQPP-I)!< zT5D?+6pN_TN7YuXn)+%%O9)^ezO~l(qxzG-l$8I#U;K#QJF}ae&7)xRN#@SI_uO;7 z=X=gQ_fB5<@1++3Y{EZ-2;n~QcwZ3j#|M_69a;c!(I#XhRZ5KpA!96nl#Fx$nIKGL z1Gqnk9IOEBAo3Uw;wX+)QkXx!t3gcQgJS#v@%WH@sQB;ksuz%BQic3#5z2x zLc*wwj|XuJ?hD{}04J8>6Zm8RCzs+=cudAAvGUUaoEGh80{Ev^!v$kPoIHz*eETCR3lN4Sx&(S*KjF(||MXBJX zsI4W&B3jmQo>{@*$@qeV;H()-#usILNkVOZK4TkceZa5`(sf5BW7?VkLbht02#w}R zd)P}%7YWL0IV~;dcOvDmLW4BEs+|6bY%v6z%SCs1yf4JqGjcFKsweF2JE?G4N=wI+ zTD=HKS3QHWvdJS@SSm6ikkhR!fs?IuX(ynuoR-x0=(c90NPYk8bk`g*^>IC8hh5GW zUPBx;5#1g!lXnZpbz9GoATPAe`VKnp+TAabvdm)Jn^>GHO zA4D8Nf^!8Mu}Q%b__B5#~Hk?ZY8Ed`xm@ES{- zfU@C5Q;9zBGELjEb6VDQ-m0#`Q#JTnwT!RVAgbUScv=AYri2w;9bFymogM96U9pai zZs(T@=5A!VGr^zsNTfZPY>YMb_I9V!-4^rlTME97Nspq99YsZ*GM-WJ9ekhOxeSMP z#dfzJitY)GrAT#XOGnzs$oPSR<9Jraa|+JloQxkT_z|90a2`_%E{Ml8F3Py1;4*%! z-~~iwyr|$MyiBttq_ew3!B4P>zW!9g@=~7nYSsvIorQ>7Tf*8oh{#q_4<((flkqbJ zKgTa5Y`gm0g_(1Y)H&%@=jLSH%;RTg9((qUGtbPNxG-~O>dJ|;Z#?nnl~Ye$nLO!E zbwBW+j9)7F6@D$DqdaWaPg(`P!7CCrFK+tko~&eX2~QSFchA+W3s}6z!*Q|ryF=cixvm@+H>x@+?Cjd+u4)QO|3qmRl1i}syKH1GUUOQ=TX&i2?6lFwWLoC`d`4( zL7%Ebr*Tt6UFPi`m`1f)Glk`CQ&8WA73pcLoWiPhZ*TP!-rntRt@Tf%b_#1KHI22C zSQp`%cNBZex+~q++RB$Eubm=n6>*I5b5*nxgf@n((@x+4r}aU&*@NYLHc%==3I%bU zbf}9CZp2-5FUH;=CF9tR5$vFrZAfu8%l?WOiI7-6*169VI|Hcs+JrNmq1sO9?bp`ffAND)% z68hLmh!i8hedc!}w$l@Vo81Up#w~*vP#0-a*Q>W)#BDwtZfz?g^V+{0GAFOSMx82M z-$LU24nYkB4_Z|b#TwGF0f(4r1C$Z89H!$(=5RYbgjm_-olTx|usA~j+RBtPp=L(d0@Q$)khk$v=@yGuf> z286^Kw;-gJBBWLaQmYH8ZBa;#gw#ZH&4ko)T}Xp??;?;0<{sj!z`gh$Ta|Bl{`=>< cjOSnQcl?!c(mB40<3p4kW_lZiw~xX2A2O3frT_o{ literal 0 HcmV?d00001 diff --git a/target/test-classes/com/huobi/swap/wss/WssMarketSubTest.class b/target/test-classes/com/huobi/swap/wss/WssMarketSubTest.class new file mode 100644 index 0000000000000000000000000000000000000000..b1ffdf640afae0808b4099d7d9bb0b43d337310a GIT binary patch literal 6906 zcmb_hd0-UP8UIbLS(YiJtHi3U0tQVsWH$*BtWhYJ3M8N;KoJ#ZcPE=6o1Hi_8$d*{ zqJoNe;8EJzdR1GkVucX!sI5J%z3c=!#qOtu*p>G`KVZ9FBwnuZV>7Px;kxnIg6jiZ ze6#qrO~&?ezTmneM~?V$3vTt{wg4pD?8EH=l!*S007^xFR{&+A-xWZ)=cO!4+f(Ld|QUhESD`u&)Q{XPuHIN-xUKjz?J8P7?m zNEq?BW=aUO8fH9fB|4keg(o9qoKTbTaJy~l$v8hvTyI%zs@bjC z7pciuLX&W2Yt-loccqMo9_Ghzmopw-l{=41E6&rCx;>lXYid_YD4TD@xO`%(p4676 zdLo+Hp+(yRIV@6ebD$=1@Hg%QT>>DNcqJ)#w z5?os8(n;BRBHXGwv#N46ZR{PkZ|(yRMOUa zw3WK06aCy|(y&!$hCm=}y)H#7guOVM(s*a2`{s0icDkP_VM0RfiNw@uL2G6;KTN6_ z4M|wlXKGe2@z9QMkETphOWGZT)21g9!hUHZID6V^I6GRd^>LDfpvSagAD!W_yVvs~ z25q}MEt=$)OpV!bk&t7(s>A~HHm zHKr}lY*kMbmNKK7)~zoh<*fuXRnv{87ZpG%g#k2HHxysLL-uO8}(#Ck#^I7Ot?ueTH|#03(n zk0oA({3{h)h>K*rtl+cw9DTdT3H;E!j`{T~+82bn6GR?r?9r1lKCj>l_#z!+o?+OQ zZK}PlhgcIU@TE$;GEv5tD}}^Y@f8JM#n z?=m0dO^!qie)yh*C9gmA(D3~?9y+k+(7=|#9rv;w-g3v`CwIO6;B7-U+&Fam6wzcJ&W#+jDsL)}ed$4DER8{M^5DH*J>jeFZmR;v@6fhq zGoRcM4i4|$H8ME#^b?04yNi3C-Ne|8HcI8zZj3WAj@Hb%oK7%B>QXdR2@C=0+!Wj}LON806e+E}_k%U@QO!T<;is z5%3WG}v}*Wt!6|MS@q`xUV~>$!mq;+rIdvpaC`oPo zT+>uHin@~OM?g8XX66HdO>n4XN>G-yh=f^b8)YE39Ls7^h54 z%1eZ8xDRJ~cW=aI9$!cg5lFr>5P+WSG$fqm6_LK-jFyl`rhOw#)Z<)Y7LRObrks`_ z_o<1LwyaaQ=3=jJrmOAoy{c(xF1W0Dy>~1Rf)S_821JHcIUTu!t``{bwG0OC-M9ox z`;`I+%Z8(nT;tI(VmfY_EM)4@Zr&n9H&0WO^zB8wKbZ~^jrwL$UpB_`?+MN!>^Z2a zN8}LHjQ?Soi)pUa?PZ$vMed}VaYTV33eXp(0oVEJ<|8R>SB{(W_te8age&t%2Q} zvQ_QQZ1EU>wA1A*?BI>mJN?){x+;sW_1Y>edA^!RwClFkB1NPGr}4LwQUt^ug-<2oCL(@L5f==$Z{sg1yw9**!nZa2{X}9vEw~?2FxZch0hI1T zSujw(4;8`ZAg>PYMa6#j_F>#JoLGWZw&G_OU;^7p{^}9HB%FXYjwr4$EX6XuNw}Db zN*zTT*q3l@>Hz$$b%F5*pp;-0Wsj>19waFAW5S8396&&5DRs0|@kbqCGPO+Mj5?f( zMm{w=nyOrBX-#D~4VPd!HMVnwK;e#b@M#4{DmZ&3R^h$QvxL>`C0tqv-3htqPAr0M zE;Y>~x&=hHgy`DF4BeVS=qBZ&t15!-QleW!be9obgy^DUhVHUL=uXN-_l_dyl0;_^ zT`$q~5#9PRLw9*0bSLMcJEaJ^O+<>x@||mhZ&amI<5DB`9 z)8S1BP?^Pe?qC)jIm&RJjC#bN5vmAqk;PV_lTYQmiB^I15V$voLxd8&6Zv4~^Xjh=WWdg7Vrxg--k7czR1g;}zGOS8<)0<%Z6 zoa3;Z*NCVj4-I=F*aMOPQfeOQa literal 0 HcmV?d00001 diff --git a/target/test-classes/com/huobi/swap/wss/WssNotificationSubTest.class b/target/test-classes/com/huobi/swap/wss/WssNotificationSubTest.class new file mode 100644 index 0000000000000000000000000000000000000000..31431d243840af90ddf1f0a2226e13b4ce050bd6 GIT binary patch literal 8488 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 VSD#E=eJXKvFmZJ#arGH`^8eFf4kG{n literal 0 HcmV?d00001 diff --git a/target/test-classes/com/huobi/usdt/api/AccountAPITest.class b/target/test-classes/com/huobi/usdt/api/AccountAPITest.class new file mode 100644 index 0000000000000000000000000000000000000000..b6e5d46747b94c3f51cb703cb9d4dc4c1a519cd2 GIT binary patch literal 14136 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 AF8}}l literal 0 HcmV?d00001 diff --git a/target/test-classes/com/huobi/usdt/api/CrossAccountAPITest.class b/target/test-classes/com/huobi/usdt/api/CrossAccountAPITest.class new file mode 100644 index 0000000000000000000000000000000000000000..f106275da2eb256a9784f8d51f40d15efc8e765e GIT binary patch literal 7107 zcmc&(`&$&(8GZ-QUDgQ_MB**tT~J}gkc%2(0mVQTAwZ}$jmhjX;Lv4<%*>LD)oN>u zG@@2x+Su4!T9Y(QN|Ne|8k64pJpDU_ke~V=^yzoz%+8+O*+o{<_6N?+%sJL+xF$slL)x8pmn)N=iJ3pkw)IIT`uxj)u;V3;R3+WLh+N&5EyLTQISqC&z zLY2URBNLSj)E?Ee2(EHKwYpzWhQ;32Sijz-n!|d`Bp|=xUN#AKnRm&aboXX5M~I8N zNCRz1?bS?;m^a2^x}{hefk`M0>Bc~CFir{t9fFHQf}Oglv7wBigy#I{h?A4<D?g<4=>o{=43Ny|aPl#twI{X`IB@MWC{(>S7NQMS55>WCWcQYd3k(ofZ9ycOti^eMLB60Oly=H}}c2F5nBrFl?Rg3mw zyJ{WK`#Ow1)gU8tMwDor=C2e68Sz+5HOwF%*{vHE-O<>>w%&Fb58@#S4R^JJNC30* zhKvVLPumA8|1y4#U&we97pUIX)lQ$fI(hnyuV4Rg>crLQ%kNWr>#KLCj*kE9iwg%2 z`S42_Z{ea3zmoAb-l6(WPStQTjd+(VY)P{)b@J$~8|MTIGMe!o?LiOJPQ86;di*^R zX!7hy&v+kxE#o)1Bx4uemr!5t%$ph?bJ$J1HZ^)=>aEeqPtNcs(^rn&y8eNH>B9%i z#)mR~i;oEV!P=?OYu~(jn!B2No{U!fj>bRaU`~#mzcuku?(sf+EaMaWo=Gz<;|Y99 zlON7LIg6v8$@m<9kg)cVG;JnNk28@jzB6_4_~enXsq>%Op^(vm%Vd9R`rw=ACP&A< zzHn^v#M$YaAAj@anaL9gdpw0IY(<<25`uMgY3z8QxGNc$4##z=^q%Qx zLT3TC#DY;JHW2Ix52_KW6HBwqZBk5?tw;&$t3s(M-Ik%n2DW>jutU{-Vrgw*IOuI9PVXw^Rif_B+K{j?i&L!ToXYZCkk)oqxX-!PX0QEij=DSZ zRV3RY%}6uvF;~L5nH|sRs8@_UUH6hn29j3C-Yl&0w4dvYeVa)C_Z&_JDD6B?zV6D5 z^c|h9sW^t?T9nSV5~|&I{A|Z)+k8`UtlY|uyvbjCM|JBkS%$ucu8*P$`n3UXdV zv64QH)RTN#poX@Dg0FO}1 zK41bRC_*W=(iO7-lw%vV)31a_$zFkN?B1(+fRvS)c+!MIRhAeR* z?LO+s)|aAFK}rBi$jhZzhWoJr%gOgjf!0=sRtYu|ttJnxW|x*nh50t6QkPN+maDLu zR9HhQtQFuEr>U^h1GmeCJ51D>3fs8oWrf8PxHmzcc$xGIT+pNrlD8|xhs#h+fo1}1 zB3EmOQ?0;jo5PEZXh4gH*KU{BekVGsIIp4!l$VxMlfXioT7^q3h0pcaf(4YWD=A@F zy78=7<=`%`v*K|NZmWx{Ik?r_a8yaRIc_0WG!V-{S%8a6#iv4XEQ`Phf=& zx6*~L>32bE7n-ZuAF%KwdYunkv4sP<+)LP6VbI*{+`$@ZJDOArR6LFE R;~I4Z=ysI;H#ULd{{RTmrhfnc literal 0 HcmV?d00001 diff --git a/target/test-classes/com/huobi/usdt/api/CrossReferenceAPITest.class b/target/test-classes/com/huobi/usdt/api/CrossReferenceAPITest.class new file mode 100644 index 0000000000000000000000000000000000000000..79038558c4afd030cf97a382d6751ae4dba9e811 GIT binary patch literal 1810 zcmbtUTTc{86#i-km|<)LM^wQ36&RIPmt8M-8!#rCK@4L^j88Q)#Zco+H>s{>O^gp_ zAAH$pe9-t}OiX-+T`!0vyYK!ELHrZOQ#}wm4x=Qd)74dV>U`fhU!Bt*zkc`+KtC=e z(2DLDdgAC!Ac9mgHsY|E9Wk?`ar7l%nQ`;HJjRtY>*dV`Js~}YR49^w-Go!a zdqa4d2s?^GXaD4rfjz?u1)+wyDoTeTu7o$~Iv&xT3qcyR6-za{3RkyU9q ziLC3ZytpillwE5|(^ukCoQ$F1F3UT^LQlAb5k)FdR*h4<>=VM?&>`hJj!>RmJ(+ct zrWKuyUL6~@uo>+P>0d4s1{kc<7B(Sip$lg$4B#xop5uK>4`&x1Jzbc4z3^z}%d>Zj zFQ-5K|9ols{+9=j&)mHi!#NA*aUq6_7Sb4`Th8hHQBx)sc4LTP|B1fE7q6D4Uxp!; zX8u}y^5*mF`NbzQgu>9Xn!}GvjPBPcX_vWEv`2C!k=G2{*YFpEHMTf5V{-mSQJ#B)RGpXjua44KoRj+~G+IUIU?|G;m3nJ$ie=6V#Dhc>^n60kVwe+<+ z>lUznUt%x)fm=bT(F;@BG)8GoT|?s*S`DHxu(hXV!BX>x+)PH3(OERSMdLqYk6qV(afs)paY$>qNXOiNPu^X@XXoWsW)geQ094urp&*HCF6(Rqj?UAC|032 zQb3@<+9;@91Y_X0Rw0(*+bD(Y*g-Tq$<{>QUG!ztTx*kVSRu6n(w4fU9YoqmU|n@d Z_k2ehAw`WQ`+`tf$hx220|Eze=o`dG0u=xN literal 0 HcmV?d00001 diff --git a/target/test-classes/com/huobi/usdt/api/CrossSrategyAPITest.class b/target/test-classes/com/huobi/usdt/api/CrossSrategyAPITest.class new file mode 100644 index 0000000000000000000000000000000000000000..c6c9704a6148e261e7601924fca76195654f902c GIT binary patch literal 21690 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 VuUJRdhw&j1rt4F9P;70 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 literal 0 HcmV?d00001 diff --git a/target/test-classes/com/huobi/usdt/api/CrossTransferAPITest.class b/target/test-classes/com/huobi/usdt/api/CrossTransferAPITest.class new file mode 100644 index 0000000000000000000000000000000000000000..f881b4a0fc07a0dfec5e5d526c515bd06046036a GIT binary patch literal 1349 zcmbtU&rcIU6#j-5TFN3&5e58(BG96&DE^|T0SpOPz|d0TaoP@LYrEUb?xKnDW}*k9 zUi9G6gJ(4=3W?tRI|TeIjBmCj6d{`EVP@yed+&SSd-G+#{apD1U{S6#-(N3qcAYm6`ETao#_Y*N?`)oafQCvk_Dwz(4y zcc?~C3cF;PHXX;SAQjrCr`%hS%iF@ycgLBlfT&_~uIU&>kuq$9SdW^fMU@OH!O$GH zWKPe!)V*He7D`yI%!mm?HQc_9AF&dRKiRJ3-97hD49 zstS^>X$ooU<;a939kM9aH(rBmk-ugUVUF(UVr>>{rQ{g8!KOj@7)jJf`*H@6u_{C7)BU+ zw`l$GX=$KpHhO`ZIej*r7a514bC={XZVNR^g6@lNr6e3_n7P=_8>PydyF^xt?%x$s zSFmz9Aw7MQ9PGlvP+pIFcS=8sKQ9<*p62=jx1GFgnfg>>c7{Q7EOjXJX6UJ=SnfX- z+1U+^Ny)Cd4k;!p(r)gr1KC7Pp^Kin5e$21LA^KaHFPE+(Y}|gG1Pj#*61==bQLwX z!oIL?8U7Ebed|TH(ysnIKm+`Qw~tO*IR|anPZlHfgegMd&BN!#wnyKiHeB}+f%rQF z!}a~25c-S;AGSdEP$-B}i0CK)1>9Cnt^kLKayvSxKqvX?=zEa9H8|w$hrL_X-Vs_y I1$BGu7uq9tO8@`> literal 0 HcmV?d00001 diff --git a/target/test-classes/com/huobi/usdt/api/MarketAPITest.class b/target/test-classes/com/huobi/usdt/api/MarketAPITest.class new file mode 100644 index 0000000000000000000000000000000000000000..a1866cbd35939edfe8a1a7b460f9281901c2fe8a GIT binary patch literal 7525 zcmcgx>3G3~OU`OVAS5X! zq=tmEgg^)lgeLSRkbrzZLhmEJ((@lE66RC>gZ}!?>`L0zN~)Zse9+En=AHL>-ecaG zkv{p)z{da<;$Lo5q1A;pH-@2gBo?7vgeszgeSe014~pn?BZTln=)$uiG&T|up}P^q z9ud#Eu^0P9JkQ$wZoGgO+1pF(@hv8MKt#8QgY5NX5rnRc6VeM%Vue)&uZ@6(5=h)*-5$9R^7JFP^kMA@#u*Q98BRKFr%NxeVZ>E+#Cxl8p%i~(;n641S!vi6LkdmDI@o>kY` z6|5F8V!0Yp^``_BmCtSwP+S`hkiyaRYDn1>?er;Hv+N5}kEcHDmxC>`rn2v5XR+R{ zMg&Z=z;j5(A%)khM05i3v?+Sib8?r_zgp?i+X-D$BGI5OV7WyFn@#;);ZQ`enUFDk ziz!3OOSeQry4tC=$et($Ad(*~QCvQ=>D4AI6P?Fa}b|r== zX_-hgS!`u3iMLs!6f%jfDFh?ebc-{l+MKak(PcH*plEGMASpCtd$K7ZdrAnYM%Ml9 zhWeHT0+tnGgl$fe6zQ8_W8SRE0VO#)XHAmJ8nOQ^#~0>(XQQrmcM;Esh7ZJ(8Vay>q#1+p+jBXOx`@ana@ zw|WzoZr?k9C_RnXNVtQa(GIpKX>RxV_{qbD(cDl8oAGnX{VGzIIMRQ==Y;7Oo8aM= z1)tqM!u9a_i^y6$s8T5Gz#+g_UZ0-Qq-$!Zt=ic$+fhLB z?(qBwl`KTG7)J!dZEcFik7{(_i3D30c6jS~AB~nWf^tyx$v)ZJDo6B=NI2x((A2m| zfTV}ni$RR?!OGS!uzI$WF8P5StgJYcA_2u0ZKG_p>Tp_|)JiALUHK)=xdr(q+qrCI zIxxn$GD}fT9)%R$+)vHTgo_Gr`J!r&>ZE`fc_nL-Vp1KeoV7tY5>e;?s+K$150ynh z$P{Mfi<(;y5T%Si9MUz}uN(J;{aJ$e;EW#8rD$q6AYe>-m9aAqUkxt4wKcX17+YRv zO=DAnoK_rBpQp|51*;Ls(FbS6aGquYR(}cULPqtJJIcvWla5w>W;*4qNcPo}I-9&? z^{cZMID2yYJ_~&MOvILd`Zi;!jHTvr*r*TIn}mRES;!61Y^y>G>h3I>omI3TtX#Jh z`<%*vIe_@xat zFLmaIKPme_YJcBZScT56Wk&XHQ#mcIZJ(QYe$@gxvjoPOwgo#XKO9*y%E#`?yd*d8 z>!KYtWF?S0H@`dvE51mi$O2YiGvXy+UqL%-#qwG$pPjTEu&SjC9 zVn(90#Lf9l;GUV7(=!zqL+Fz+-{P4mCjJ%D=IV!p4F%CB=3!D-C zg%r_6V)CS|J4?hB6L0ISZr_`)Yz)PH-!7z^%jA9B^Aw zaQ0*?VaYay15V8exQddkhLWw;0yxo<-Rscg0BlYH?lA2uGhA8{;9;D`F{kImTt|Le zPw8D}!7MW|NAoalbzrunFavP$FqRvb9$HhL89afEB!8Tv&&-M5fKqItbZ)eumz(IN z9DSPu{p%_8-L}*%@ys$)x16KS&Vp*>QWFKXnbLPFrEiM`*`B`J9mqTWC-NMQJU1uu z4np2Z$h!#n>72+r9mu;<$gfkBSxKqt!xOBe%=65Mp~B;hVZLd7Wef|Fh2=?JSQcg} zEHg2Zw8&Ige8kC5z79}fQ7HRbQHC~(Njt4Km2)(TOO+XyGFlQ(;~T_r7LU+3Gm1+Q oc9Z5|q??r-wuSiU<5vhk!8Pjg(BNMBNA!K7aF+h0{1Zn07knHXbN~PV literal 0 HcmV?d00001 diff --git a/target/test-classes/com/huobi/usdt/api/ReferenceAPITest.class b/target/test-classes/com/huobi/usdt/api/ReferenceAPITest.class new file mode 100644 index 0000000000000000000000000000000000000000..1022bd9f5b90429f4da7766b08fcca89018993bc GIT binary patch literal 15504 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 DlMD0B literal 0 HcmV?d00001 diff --git a/target/test-classes/com/huobi/usdt/api/SrategyAPITest.class b/target/test-classes/com/huobi/usdt/api/SrategyAPITest.class new file mode 100644 index 0000000000000000000000000000000000000000..82c6f09c9bf9652fdb06f75954109f8646d6992b GIT binary patch literal 21181 zcmcIs2YeKD_J8jOWH-x5SprBef`*m=2`O|!(LgXr0tg7WNtUpX#_k3wDj=eWqIdR= zVm(hmQI}x5^X}}ud(HDaf_TkqUf27-_nW#qlQ6USiyz-i<~Q%X@2kJEo4oqXQ_lfF zzPKy^hvA<-_?I949RLCU$%Mz?zXA9fzVXBV0tkqH6nyQ}g&61`ZV6y#?81*SnE3qY z=W8aDKqhuYh3`(u#BSJ~?|KBVCkFYh7n3YfgS|-&_VHui0G^8dx?+DE5Ws;r$d7{q zI0T3KaTs5RGdYbJM)+}L08hs=0+@}Xn2hGfWBfQafa5U7kGTOHj}w?oWRk}upWm6} z$ASPBVo?B#ak3w$@O3JaX-uXwnZabHA7}Bkgvo4Xo#V&30i1_t`ths)mg0OrF5qh! zlZ6>GUb%(;-O3I*n;(@kS;XX=j2WLwcLD#jm`MebN+wHK_EJAC3*fo9Jb){3r614Z z>nbLzd3cQ<&ktY-s{&Y!HB7?%cʕGo+&0bGw8nA9<;XVSngH2SeAfEzIyz!=7v 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 literal 0 HcmV?d00001 diff --git a/target/test-classes/com/huobi/usdt/api/TradeAPITest.class b/target/test-classes/com/huobi/usdt/api/TradeAPITest.class new file mode 100644 index 0000000000000000000000000000000000000000..a2d88640e7617db9c37a3efa293c7c07c83f8c94 GIT binary patch literal 18269 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 literal 0 HcmV?d00001 diff --git a/target/test-classes/com/huobi/usdt/api/UnifiedAccountAPITest.class b/target/test-classes/com/huobi/usdt/api/UnifiedAccountAPITest.class new file mode 100644 index 0000000000000000000000000000000000000000..d997d9ae879ba758a086440217d915dd9a54a35c GIT binary patch literal 5516 zcmcgwXA2T+RaXqAq<8YoSA^uYPH(BZ*}S7 z)@s!+txF$7lxn~CcR;{D(Wmd78N!4l8eIAzH@S1~J?Gr>zIVy|^Y7E=02bq}3v=Oh zpxTMeE(}9WHs)Z96Cbh4R#x#jQR_k->PKK3wzJ1OocP#C1^DtQ19Go1_OCIg}2OCN|Uto=4!7(w;4fCb2133u;J`%Nqqb zMCLkFad(75!J#~X%4mppIR(yE6NH>zmw;l1F-;h=GvTlhq$CR{YA`YHt(m0B#4rYA zrx(tb3bHw#OX6AP#3y#`-WD>vA}xcGkG4@vvM9_%u~O4yNDO4M5HN;>!8QVyPl>1j zu~K5oJuiMHv~94JQrsl83e;#@K;%%hs5dIX8Z{`Y6vwPqAsiuunYK=9M3zNW^O!w- zimFqM`etmbujWyNc^uZir7evE7~)qv3Q$P9N?C3B{5oGnEsurR&*K2T<}h_ZarDOR zzWXzc}zKk4w18u&B6#TRhg_ zHxBcbSbn?&r|;f_o@bW`jYk=7bC|fa*z~RUVOP)flQAcFRNxL-yez)?N_+I;ljxb- zJ!fwb28aBCaKHS-pzWF^ohMAYm#4)*R_YMs4>8d1$N)n&2 z)2=p2&w{j;Yy9#UbodMpE1{668iyvGG+MY}ag)buJfoz~W#WafN2eQVzRSfyKqtnwLk;1gmahRR* zY%pNU`up)!Z0{=%3z{a<#u_<$nosu0l4%Xg-3+#3$q-ATO;-km+! zK}n_UmTr)=n;3adx4pNKzLaez@)Ne%Ay0(1!ofM4?B0`dt;DXLgYF)$eXZnBl#j4#({o{Z`i5Yf2#pHoZOX3GMQmrL%1s zZ<^F5R4lbClT0(&B6;QCkL~u@rQVHFVWX2dd%`I$4mV0;y9Ns_SbY~ZJ!u13rGB5x-in;=B0w0G-7;gaQn1d}~7e-?dy;b6{ zgnACA@1+LavKXDuqMOL*I=~xbBU6%1qS@yn2YEKKi58jDAX}b5wjxHh%_5u3$TB-I zs)JtUu-T1CNjQzHnoe{xY=o07Lf#-;nLt<)BRocg%%jzv7(2QX?hcG|kMF<)=4*~A zV50dosROxQCab6edDTqQ+cR#6*AZOs4G z6q9)W*TfWRmcoKgOkvWdGHKH~Fuh;Q3`5M!lwyi7mca5Tck(II2E-ItV#XR`){>Y! zLriIcn6j9dLCNr*5u5i@#%3WU!y-zC#RjdJdGX0mo)DXg7+I2Jm}L;oPD!|&l3@kS zW2KESJ{i^xBFsP~g=ZMn8vz(etsCf5C1N8s;S4posWCvWOHU)4UU@d-2D1MHWcj@> literal 0 HcmV?d00001 diff --git a/target/test-classes/com/huobi/usdt/wss/WssCenterNotificationSubTest.class b/target/test-classes/com/huobi/usdt/wss/WssCenterNotificationSubTest.class new file mode 100644 index 0000000000000000000000000000000000000000..7a3975b8812ceec6a37078396537fae8b74c6c69 GIT binary patch literal 3317 zcmbtW`*#yX6#lkpx@o$W65j8E1=_T90R_|o0u_Xs7HmqfAnGKUCR;YUad%Uwh)+~d z@xfE^{YLR99%(5k9)I@uXGl5xV zZ^Nj?R`J*tMjIZgL>*!ww2QGLgzaM75yHb_?357?p(~6k>=g6vFm~aQ5PGVx8+#(8 zkBPN}jAW1|c=qPan_;BDL+A}7jZ76Z^o6kxdKg(4GE5=Ph47>dD~x%th1?O_@-q4* zROn_p%`FL$m}#X|TkpNQPmQ^<7767U({{vKAM0nT&WyAgcP!0F(^?>J>9oVv(uRa- z`)#|!bhKVA$sElzwlX87a|uncq?uJSc{8D@v_;Lha&_13c9YJEwVI(h>q&WiLpLdJ zHB+QyQcN>=M?Rb2Ru@YMwPb9P>D|oI#JnIZcQTqSVTBJeZ>Jm=mjGM2;c&}uWIUhf z;GPP=dLT z#qAv75Lc6vdCMZ-y9lOT({;g7!8tdeG1CoakoVIj3Cn%-iHNykbw@s-YssygSx$m8 zhnVXu0FYlb?cB+jsU6H>Sxy`iKsavZtt8)~iD)hSH};!FYAINTW(5OyO2$D2Pvek+ z#aJRiVL7cilSpNoDUTE^MZJWnYSInmGUBR~a0(j4T43d>)e55GH9GOklK^4CGYT5f zB;#2H&*6Cqb91iO%{rwYvzFQWS*|%#q(H_C3SPuva(|O)I<{l6oX3MbsRA$6;N?j& zUa7(T3Xb5Yf>-ex#bWdxZKG_YiznlC1;_A)gr(O{o*OxGY2@V4wIdgcYse z@79g|-FNVij5ig$g|}rKS8xI+Wt>v55vOIGQSc7ll_0qC-MRmYpn|h_Pr?Sr{$u#c zpFf{Hc&O>x)f3l_9ur2K8M<-i;>eL7OG}=Fgg4HfEDA@yKY#tJdo~*|{w~U^whR=^9CxKZ+;_wXA&3;VIvSP?|ff zI`)i=63ES0*Y zqIgkkY1kdc$N1zQ7O6?q;Zx$vG&*^bYyEWPch&pK$b=%@(%?HG3J=v7J85Zdy%fH1 zgIi>Fz|JQmtSRtZGQVXarv-z)9PP?joRP~xTjxAS?WVp>?3g7uX1bPO38wZk+v&53 z=C=6u4r)-2>AfuR2f9d;FVY1O;oX{Fgrga~CS7>Hit(9IR65q?_y94HbsJ<`F@~iw zE3pZ zYAM~q5DE3SadM9jqvWNG&lG%)a|+huehG_4K{cb_+{e|J+xn=)vfknit)g~QoXPlx z!V@#ieR&F{vW?of%4<4KFh{OWX!=XYXAQ26JPWo|NX2# zbOp_=OxNR@!&_vWr-C$&pWFE}ra+Fdu;4cq(%r44FUcSxqT|wAndq|aNFCK3sh!dY z(H!X+fF!y#Jyn_=M2OyibB=L9z-Y_sT@Q&`V*>pq8CYc z5uu0@QD_Wb!X1OC{(%&fVL3f#qk^8*D90rF*I*hZV-A_N5L2*%Rum5mD{&XiB>KE= zCWC|_2WTv#anUe+FE&PME@N^Tb`eH(WAqAXz!0WP#k66}5NH7xZ92IP%pkOxxC65Y zX#pYCx=7PKZ3U!q%*QIMCd4&#LRjHR?xDAPNm4<(??VgLy6+O!0X1bJlMB{;fl4|7 zw39*Qk(rIdm~|Pm0~p4fVa#oBjLaLx{9iGz!(CrcaTT>afn`Hj81E@>iuVMYhOkIX zY2b7qei?TLFiM-}$ZVo)4yI!+xiAkgGFea-^?(bGkO|m8@sw!a8v1P5M26Q=JX`Sq xnJQc&$E*qOAuS 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 E0oN(XHvj+t literal 0 HcmV?d00001 diff --git a/target/test-classes/com/huobi/usdt/wss/WssIndexSubTest.class b/target/test-classes/com/huobi/usdt/wss/WssIndexSubTest.class new file mode 100644 index 0000000000000000000000000000000000000000..8b824fddcb7139d1e2197ead191bd1e9da04a8e3 GIT binary patch literal 6042 zcmb_g>wgs08Ga_W*=(i|S1tky2n%dBA)AB%N&qDRG+_gn4WURYo!v~53A;1fnc0w( zQf-R`t5_8*mR_W^R$E)dN-hLYTU*;&d%xfNK>~d0e^C0KnZ3+rceX^6{C?-moXh(@ z&wDxZo_*)PV%8t_poI0GbK?k(R^Tyw-i^oc zgd4~3B#$q!;ip`9n#VJ4EXHv*eu6D~)`c(fIO)Q3Zusye7f$i`vI}2vqXx%a_$rUD zx$wLjb?oglkFUFM#!cjo^Y{jbvZ&hID`^}&K~?Jw=+U0W{y@+iYvNG6t0Ty!`o#e; z5EYf)K*-Q!rI)5=9?f85R}bTbFvi;#Z$_>lh&@!wZul! z;@&bCk>ZA|DmssE@_2#6ypDuo$T6u))@1^}Nl{coG*>VL%+&n}GD5(PvmuFhRkCkP z_NzI}h>Edrx9DYbR(ok;wl5b7Gp0+E^f=)l^W73jXqu!Lodly@jz*c;lH^TS236CM zrP2T`;!tO^D081V9I#x>+MSvlk;t+gNd?5avRyLz)b5?4CdMQ~(nx_FXrq^ytS%t7 zS=43Sl-o%*&z5Z$w8~4SX)GXUi%zx{4XL|>8fQ5TUJ8X(1?241q?nwDrGm&t)efiL zTgRcMfS5e{-61uhMWn4V3+!2w0=1Uqmw=79N5Hr6B9E5@d>h{pa2M|8uzvE^|_}DuzTS z3y(1Y7ckCY$z)w|%i0zbQzuEh$YE)6Vc3YQWVu~SL2tQtpGN*ot-Qox(PWWf7E$Jc zS~V^yB=2&bRczP3IE&|$tk*fTTswQ_`g4y?oIY~x?78cp% z>WP;oj*d>87`bxv+|^Tut-%f1f9nn&;_-%nH}L}=KNRp5e#GO)0=n=vkDmzmDSpPm z^j_wS{C`O%;2r#&!@h#pP8~M%_r}KmbLrH;zvOVYh2hHc<5xz{PRS~ibJ_7} zXYF_faM+bc;|J%;i2aH~t0nyUnZpyqk6#-;eErDN*Un$K`s9%*JDo#=Gd-u1iGy?# z06sX|Ok9tjVL|=G5pv!8pjhur(c#d{L~VY})4{FTvY}5;gsa{+HNP{p$p<-yhYD$& z4oXWhXq@UA`Xrdysz^p)S4V4TNHN60bP2*?VJ4T^A*^YMIDHyz3tYXD(GnGP`d;7a ztFjdm<{*7f=1#5!w~7%%)rL5f(^jiIP+G7^PlS?TtzSdW@+Gb;oN-0ruOwQNz493l*p!+>zV z(^C;Ek=Z4jRld|#(EXb#ZEEkOx4m@h=BQuh9|h<4kDzD_#ltA^drF5<=D!GjkN-T% zM&TMp`Kz?B2%D&7mvvwUwKM7e7R;uRW*QMJVQ9f-dgHK#6cw9_2B|Niu_a@02dh05 z7a$a2H_0xq_K)L3p!#{nEL4uc!?YBeTIPWLdN7-`%%K%?u>f}v!G)%#IhM4frV<+6 ziu*|8{j`Ijutr+xsf|X;X!SM((QZC-*iJo%9Zu+O%|Z0HZZ^8x3ZPq0=r$0#jf8G9q1!TT=sKLx z&C5nNzW};cLf1yD_my}(`(mlm1N8qK|(4LZ-(4Nwo5iDaP5*xaJ<;BRPsg*!MO3`*o zq3!g$*$zsAohA{#r8t>D1OdC~oZx8PTDr3Bri59HmH06B5LA{z?3@VVL3%2st4Sq@ z2OaNud929g;WK&oEFM*99{y|+bp9-J=5Y`4xR>y4B4o{krDaMyKH|)SzEyd7ROj-j zF?rNjJXWT8)aLl3)|p2G@mNJX8i~hh;<08*JRWl9K_A|{JOa5q>P#MW7LWQgkA@r` z4bD845s&4>V+HZ>5s#`V@%WfC52_;a@>rG2qtWEiXz^H`=CLM+#~NoIw-Jwd#A813 zSU@~(pAwI-0}mRGP_h)E8-JtTP3iL&`~!a_RR+B`(zh)^YX)!tgUP3d(@&pHKYcd+ I^e6`Z2T-H%aR2}S literal 0 HcmV?d00001 diff --git a/target/test-classes/com/huobi/usdt/wss/WssMarketReqTest.class b/target/test-classes/com/huobi/usdt/wss/WssMarketReqTest.class new file mode 100644 index 0000000000000000000000000000000000000000..f0cf84273cbdd328c74ef0b51daf16b8158f74d2 GIT binary patch literal 4727 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 literal 0 HcmV?d00001 diff --git a/target/test-classes/com/huobi/usdt/wss/WssMarketSubTest.class b/target/test-classes/com/huobi/usdt/wss/WssMarketSubTest.class new file mode 100644 index 0000000000000000000000000000000000000000..7b2f8c8239ccdce2b1d9db8327e82788863b5fd5 GIT binary patch literal 6926 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 literal 0 HcmV?d00001 diff --git a/tests/README.md b/tests/README.md deleted file mode 100755 index fb606a6..0000000 --- a/tests/README.md +++ /dev/null @@ -1,5 +0,0 @@ -# 测试用例 - -# 安装库 - -pip install websockets diff --git a/tests/config.py b/tests/config.py deleted file mode 100644 index c23a795..0000000 --- a/tests/config.py +++ /dev/null @@ -1,5 +0,0 @@ -config = { - "access_key": "******", - "secret_key": "******", - "host": "https://api.hbdm.com" -} diff --git a/tests/huobi_coin_future_test/restapi/test_rest_account_coin_future.py b/tests/huobi_coin_future_test/restapi/test_rest_account_coin_future.py deleted file mode 100644 index a0a3fb5..0000000 --- a/tests/huobi_coin_future_test/restapi/test_rest_account_coin_future.py +++ /dev/null @@ -1,166 +0,0 @@ -import asyncio -import sys -import unittest - -from alpha.platforms.huobi_coin_future.restapi.rest_account_coin_future import HuobiCoinFutureRestAccountAPI -from tests.config import config - -sys.path.append('..') - - -class TestRestAccountCoinFuture(unittest.TestCase): - @classmethod - def setUpClass(cls): - cls.api = HuobiCoinFutureRestAccountAPI(config["host"], config["access_key"], config["secret_key"]) - - def test_get_contract_balance_valuation(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_contract_balance_valuation()) - print(result) - loop.close() - - def test_get_asset_info(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_asset_info()) - print(result) - loop.close() - - def test_get_position(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_position()) - print(result) - loop.close() - - def test_set_contract_sub_auth(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.set_contract_sub_auth("123456", 1)) - print(result) - loop.close() - - def test_get_contract_sub_auth_list(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_contract_sub_auth_list()) - print(result) - loop.close() - - def test_get_contract_sub_account_list(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_contract_sub_account_list()) - print(result) - loop.close() - - def test_get_contract_sub_account_info_list(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_contract_sub_account_info_list()) - print(result) - loop.close() - - def test_get_contract_sub_account_info(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_contract_sub_account_info(123456)) - print(result) - loop.close() - - def test_get_contract_sub_position_info(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_contract_sub_position_info(123456789)) - print(result) - loop.close() - - def test_get_contract_financial_record(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_contract_financial_record("3,4,5,6,7,8", "BTC")) - print(result) - loop.close() - - def test_get_contract_financial_record_exact(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_contract_financial_record_exact("3,4,5,6,7,8", "BTC")) - print(result) - loop.close() - - def test_get_contract_user_settlement_records(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_contract_user_settlement_records("BTC")) - print(result) - loop.close() - - def test_get_contract_order_limit(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_contract_order_limit("limit")) - print(result) - loop.close() - - def test_get_contract_fee(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_contract_fee()) - print(result) - loop.close() - - def test_get_contract_transfer_limit(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_contract_transfer_limit()) - print(result) - loop.close() - - def test_get_contract_position_limit(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_contract_position_limit()) - print(result) - loop.close() - - def test_get_account_position(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_account_position("btc")) - print(result) - loop.close() - - def test_get_contract_master_sub_transfer(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_contract_master_sub_transfer("123456789", "BTC", "123", - "master_to_sub")) - print(result) - loop.close() - - def test_get_contract_master_sub_transfer_record(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_contract_master_sub_transfer_record("BTC-USDT", 30)) - print(result) - loop.close() - - def test_get_api_trading_status(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_api_trading_status()) - print(result) - loop.close() - - def test_get_contract_available_level_rate(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_contract_available_level_rate()) - print(result) - loop.close() - - -if __name__ == '__main__': - unittest.main(verbosity=2) diff --git a/tests/huobi_coin_future_test/restapi/test_rest_market_coin_future.py b/tests/huobi_coin_future_test/restapi/test_rest_market_coin_future.py deleted file mode 100644 index ffce378..0000000 --- a/tests/huobi_coin_future_test/restapi/test_rest_market_coin_future.py +++ /dev/null @@ -1,88 +0,0 @@ -import asyncio -import sys -import unittest - -from alpha.platforms.huobi_coin_future.restapi.rest_market_coin_future import HuobiCoinFutureRestMarketAPI -from tests.config import config - -sys.path.append('..') - - -class TestRestMarketCoinFuture(unittest.TestCase): - @classmethod - def setUpClass(cls): - cls.api = HuobiCoinFutureRestMarketAPI(config["host"], config["access_key"], config["secret_key"]) - - def test_get_orderbook(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_orderbook("BTC_CQ", "step5")) - print(result) - loop.close() - - def test_get_bbo(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_bbo()) - print(result) - loop.close() - - def test_get_klines(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_klines("BTC_CQ", "1min")) - print(result) - loop.close() - - def test_get_mark_price_kline(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_mark_price_kline("BTC_CW", "15min", 100)) - print(result) - loop.close() - - def test_get_merged(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_merged("BTC_CQ")) - print(result) - loop.close() - - def test_get_batch_merged(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_batch_merged()) - print(result) - loop.close() - - def test_get_trade(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_trade()) - print(result) - loop.close() - - def test_get_history_trade(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_history_trade("BTC_CQ", 100)) - print(result) - loop.close() - - def test_get_history_index(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_history_index("BTC-USD", "1min", 150)) - print(result) - loop.close() - - def test_get_history_basis(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_history_basis("BTC_CQ", "1min", 150)) - print(result) - loop.close() - - -if __name__ == '__main__': - unittest.main(verbosity=2) diff --git a/tests/huobi_coin_future_test/restapi/test_rest_reference_coin_future.py b/tests/huobi_coin_future_test/restapi/test_rest_reference_coin_future.py deleted file mode 100644 index f09aaef..0000000 --- a/tests/huobi_coin_future_test/restapi/test_rest_reference_coin_future.py +++ /dev/null @@ -1,158 +0,0 @@ -import asyncio -import sys -import unittest - -from alpha.platforms.huobi_coin_future.restapi.rest_reference_coin_future import HuobiCoinFutureRestReferenceAPI -from tests.config import config - -sys.path.append('..') - - -class TestRestReferenceCoinFuture(unittest.TestCase): - @classmethod - def setUpClass(cls): - cls.api = HuobiCoinFutureRestReferenceAPI(config["host"], config["access_key"], config["secret_key"]) - - def test_get_contract_risk_info(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_contract_risk_info()) - print(result) - loop.close() - - def test_get_contract_insurance_fund(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_contract_insurance_fund("ETH")) - print(result) - loop.close() - - def test_get_contract_adjustfactor(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_contract_adjustfactor()) - print(result) - loop.close() - - def test_get_contract_his_open_interest(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_contract_his_open_interest("BTC", "this_week", "60min", 1)) - print(result) - loop.close() - - def test_get_contract_ladder_margin(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_contract_ladder_margin()) - print(result) - loop.close() - - def test_get_contract_elite_account_ratio(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_contract_elite_account_ratio("BTC", "60min")) - print(result) - loop.close() - - def test_get_contract_elite_position_ratio(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_contract_elite_position_ratio("BTC", "60min")) - print(result) - loop.close() - - def test_get_contract_liquidation_orders(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_contract_liquidation_orders("BTC", 5)) - print(result) - loop.close() - - def test_get_contract_settlement_records(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_contract_settlement_records("BTC")) - print(result) - loop.close() - - def test_gget_price_limit(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_price_limit()) - print(result) - loop.close() - - def test_get_contract_open_interest(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_contract_open_interest()) - print(result) - loop.close() - - def test_get_contract_delivery_price(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_contract_delivery_price("BTC")) - print(result) - loop.close() - - def test_get_contract_estimated_settlement_price(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_contract_estimated_settlement_price()) - print(result) - loop.close() - - def test_get_contract_api_state(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_contract_api_state()) - print(result) - loop.close() - - def test_get_contract_info(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_contract_info()) - print(result) - loop.close() - - def test_get_contract_index(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_contract_index()) - print(result) - loop.close() - - def test_get_contract_query_elements(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_contract_query_elements()) - print(result) - loop.close() - - def test_get_timestamp(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_timestamp()) - print(result) - loop.close() - - def test_get_heartbeat(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_heartbeat()) - print(result) - loop.close() - - def test_get_summary(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_summary()) - print(result) - loop.close() - - -if __name__ == '__main__': - unittest.main(verbosity=2) diff --git a/tests/huobi_coin_future_test/restapi/test_rest_strategy_coin_future.py b/tests/huobi_coin_future_test/restapi/test_rest_strategy_coin_future.py deleted file mode 100644 index 86a1153..0000000 --- a/tests/huobi_coin_future_test/restapi/test_rest_strategy_coin_future.py +++ /dev/null @@ -1,132 +0,0 @@ -import asyncio -import sys -import unittest - -from alpha.platforms.huobi_coin_future.restapi.rest_strategy_coin_future import HuobiCoinFutureRestStrategyAPI -from tests.config import config - -sys.path.append('..') - - -class TestRestStrategyCoinFuture(unittest.TestCase): - @classmethod - def setUpClass(cls): - cls.api = HuobiCoinFutureRestStrategyAPI(config["host"], config["access_key"], config["secret_key"]) - - def test_create_trigger_order(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.create_trigger_order("ge", 10000, 10000, 1, "BUY", - "OPEN", 5)) - print(result) - loop.close() - - def test_revoke_trigger_order(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.revoke_trigger_order("BTC", "123456")) - print(result) - loop.close() - - def test_revoke_all_trigger_orders(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.revoke_all_trigger_orders("BTC")) - print(result) - loop.close() - - def test_get_trigger_openorders(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_trigger_openorders("BTC")) - print(result) - loop.close() - - def test_get_trigger_hisorders(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_trigger_hisorders("BTC", 0, "0", 30)) - print(result) - loop.close() - - def test_get_contract_tpsl_order(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_contract_tpsl_order("sell", 1)) - print(result) - loop.close() - - def test_contract_tpsl_cancel(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.contract_tpsl_cancel("BTC", "123456")) - print(result) - loop.close() - - def test_contract_tpsl_cancelall(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.contract_tpsl_cancelall()) - print(result) - loop.close() - - def test_get_contract_tpsl_openorders(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_contract_tpsl_openorders("BTC")) - print(result) - loop.close() - - def test_get_contract_tpsl_hisorders(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_contract_tpsl_hisorders("BTC", "0", 30)) - print(result) - loop.close() - - def test_get_contract_relation_tpsl_order(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_contract_relation_tpsl_order("BTC", 123456)) - print(result) - loop.close() - - def test_contract_track_order(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.contract_track_order("sell", "open", 1, 0.01, 1700, - "optimal_5")) - print(result) - loop.close() - - def test_contract_track_cancel(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.contract_track_cancel("BTC", "123456")) - print(result) - loop.close() - - def test_contract_track_cancelall(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.contract_track_cancelall("BTC")) - print(result) - loop.close() - - def test_contract_track_openorders(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.contract_track_openorders("BTC")) - print(result) - loop.close() - - def test_contract_track_hisorders(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.contract_track_hisorders("BTC", "0", 0, 30)) - print(result) - loop.close() - - -if __name__ == '__main__': - unittest.main(verbosity=2) diff --git a/tests/huobi_coin_future_test/restapi/test_rest_trade_coin_future.py b/tests/huobi_coin_future_test/restapi/test_rest_trade_coin_future.py deleted file mode 100644 index 8569766..0000000 --- a/tests/huobi_coin_future_test/restapi/test_rest_trade_coin_future.py +++ /dev/null @@ -1,157 +0,0 @@ -import asyncio -import sys -import unittest - -from alpha.platforms.huobi_coin_future.restapi.rest_trade_coin_future import HuobiCoinFutureRestTradeAPI -from tests.config import config - -sys.path.append('..') - - -class TestRestTradeCoinFuture(unittest.TestCase): - @classmethod - def setUpClass(cls): - cls.api = HuobiCoinFutureRestTradeAPI(config["host"], config["access_key"], config["secret_key"]) - - def test_contract_cancel_after(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.contract_cancel_after(1)) - print(result) - loop.close() - - def test_contract_order(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.contract_order(1, "buy", "open", 75, "opponent")) - print(result) - loop.close() - - def test_create_orders(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.create_orders({ - "orders_data": [ - { - "contract_code": "bch210326", - "direction": "buy", - "offset": "open", - "price": 360, - "lever_rate": 75, - "volume": 1, - "order_price_type": "opponent", - "tp_trigger_price": 450, - "tp_order_price": 450, - "tp_order_price_type": "optimal_5", - "sl_trigger_price": 330, - "sl_order_price": 330, - "sl_order_price_type": "optimal_5" - }, - { - "contract_code": "bch210326", - "direction": "buy", - "offset": "open", - "price": 360, - "lever_rate": 75, - "volume": 1, - "order_price_type": "post_only", - "tp_trigger_price": 450, - "tp_order_price": 450, - "tp_order_price_type": "optimal_5", - "sl_trigger_price": 330, - "sl_order_price": 330, - "sl_order_price_type": "optimal_5" - } - ] - })) - print(result) - loop.close() - - def test_revoke_order(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.revoke_order)("btc") - print(result) - loop.close() - - def test_revoke_orders(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.revoke_orders("btc")) - print(result) - loop.close() - - def test_revoke_order_all(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.revoke_order_all("BTC")) - print(result) - loop.close() - - def test_contract_switch_lever_rate(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.contract_switch_lever_rate("BTC", 10)) - print(result) - loop.close() - - def test_get_order_info(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_order_info("btc")) - print(result) - loop.close() - - def test_get_contract_order_detail(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_contract_order_detail("BTC", 727181510507044900)) - print(result) - loop.close() - - def test_get_open_orders(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_open_orders("BTC")) - print(result) - loop.close() - - def test_get_contract_hisorders(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_contract_hisorders("BTC", 0, 1, "0")) - print(result) - loop.close() - - def test_get_contract_hisorders_exact(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_contract_hisorders_exact("BTC", 0, 1, "0")) - print(result) - loop.close() - - def test_get_contract_matchresults(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_contract_matchresults("BTC", 0)) - print(result) - loop.close() - - def test_get_contract_matchresults_exact(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_contract_matchresults_exact("BTC", "BTC-USD", 0)) - print(result) - loop.close() - - def test_lightning_close_position(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.lightning_close_position("BTC", "this_week", "BTC190903", 1, - "sell", "123456", "lightning")) - print(result) - loop.close() - - -if __name__ == '__main__': - unittest.main(verbosity=2) diff --git a/tests/huobi_coin_future_test/restapi/test_rest_transfer_coin_future.py b/tests/huobi_coin_future_test/restapi/test_rest_transfer_coin_future.py deleted file mode 100644 index 246f38a..0000000 --- a/tests/huobi_coin_future_test/restapi/test_rest_transfer_coin_future.py +++ /dev/null @@ -1,32 +0,0 @@ -import asyncio -import sys -import unittest - -from alpha.platforms.huobi_coin_future.restapi.rest_transfer_coin_future import HuobiCoinFutureRestTransferAPI -from tests.config import config - -sys.path.append('..') - - -class TestRestTransferCoinFuture(unittest.TestCase): - @classmethod - def setUpClass(cls): - cls.api = HuobiCoinFutureRestTransferAPI(config["host"], config["access_key"], config["secret_key"]) - - def test_transfer_between_spot_future(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.transfer_between_spot_future("btc", 10, "futures-to-pro")) - print(result) - loop.close() - - def test_account_transfer(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.account_transfer("spot", "futures", "usdt", 100, "USDT")) - print(result) - loop.close() - - -if __name__ == '__main__': - unittest.main(verbosity=2) diff --git a/tests/huobi_coin_future_test/websocket/test_ws_account_coin_future.py b/tests/huobi_coin_future_test/websocket/test_ws_account_coin_future.py deleted file mode 100644 index e3b57cf..0000000 --- a/tests/huobi_coin_future_test/websocket/test_ws_account_coin_future.py +++ /dev/null @@ -1,31 +0,0 @@ -import sys -import time -import unittest - -from alpha.platforms.huobi_coin_future.websocket.ws_account_coin_future import WsAccount -from alpha.utils import logger -from tests.config import config - -sys.path.append('..') - - -class TestWsAccountCoinFuture(unittest.TestCase): - def _callback_1(self, jdata): - logger.info('_callback_1:{}'.format(jdata)) - - def test_sub(self): - ws1 = WsAccount(config['access_key'], config['secret_key']) - data = {"op": "sub", "topic": "accounts.btc"} - ws1.sub(data, self._callback_1) - - time.sleep(30) - data = {"op": "unsub", "topic": "accounts.btc"} - ws1.unsub(data) - logger.info('unsub') - - time.sleep(10) - ws1.close() - - -if __name__ == '__main__': - unittest.main(verbosity=2) diff --git a/tests/huobi_coin_future_test/websocket/test_ws_index_coin_future.py b/tests/huobi_coin_future_test/websocket/test_ws_index_coin_future.py deleted file mode 100644 index 6d923ef..0000000 --- a/tests/huobi_coin_future_test/websocket/test_ws_index_coin_future.py +++ /dev/null @@ -1,48 +0,0 @@ -import sys -import time -import unittest - -from alpha.platforms.huobi_coin_future.websocket.ws_index_coin_future import WsIndex -from alpha.utils import logger - -sys.path.append('..') - - -class TestWsIndexCoinFuture(unittest.TestCase): - def _callback_1(self, jdata): - logger.info('_callback_1:{}'.format(jdata)) - - def _callback_2(self, jdata): - logger.info('_callback_2:{}'.format(jdata)) - - def test_sub(self): - ws1 = WsIndex() - data = {"sub": "market.BTC-USD.index.1min"} - ws1.sub(data, self._callback_1) - - ws2 = WsIndex() - data = {"sub": "market.BTC_CW.basis.1min.open"} - ws2.sub(data, self._callback_2) - - time.sleep(60) - ws1.close() - ws2.close() - - def test_req(self): - ws1 = WsIndex() - data = {"req": "market.BTC-USD.index.1min", - "from": 1614320780, "to": 1614321780} - ws1.req(data, self._callback_1) - - ws2 = WsIndex() - data = {"req": "market.BTC_CW.basis.1min.open", - "from": 1614321780, "to": 1614321780} - ws2.req(data, self._callback_2) - - time.sleep(60) - ws1.close() - ws2.close() - - -if __name__ == '__main__': - unittest.main(verbosity=2) diff --git a/tests/huobi_coin_future_test/websocket/test_ws_market_coin_future.py b/tests/huobi_coin_future_test/websocket/test_ws_market_coin_future.py deleted file mode 100644 index 07c1dfd..0000000 --- a/tests/huobi_coin_future_test/websocket/test_ws_market_coin_future.py +++ /dev/null @@ -1,48 +0,0 @@ -import sys -import time -import unittest - -from alpha.platforms.huobi_coin_future.websocket.ws_market_coin_future import WsMarket -from alpha.utils import logger - -sys.path.append('..') - - -class TestWsMarketCoinFuture(unittest.TestCase): - def _callback_1(self, jdata): - logger.info('_callback_1:{}'.format(jdata)) - - def _callback_2(self, jdata): - logger.info('_callback_2:{}'.format(jdata)) - - def test_sub(self): - ws1 = WsMarket() - data = {"sub": "market.BTC_CQ.kline.1min"} - ws1.sub(data, self._callback_1) - - ws2 = WsMarket() - data = {"sub": "market.BTC_CQ.trade.detail"} - ws2.sub(data, self._callback_2) - - time.sleep(60) - ws1.close() - ws2.close() - - def test_req(self): - ws1 = WsMarket() - data = {"req": "market.BTC_CQ.kline.1min", - "from": 1614320780, "to": 1614321780} - ws1.req(data, self._callback_1) - - ws2 = WsMarket() - data = {"req": "market.BTC_CQ.trade.detail", - "from": 1614321780, "to": 1614321780} - ws2.req(data, self._callback_2) - - time.sleep(60) - ws1.close() - ws2.close() - - -if __name__ == '__main__': - unittest.main(verbosity=2) diff --git a/tests/huobi_coin_future_test/websocket/test_ws_system_coin_future.py b/tests/huobi_coin_future_test/websocket/test_ws_system_coin_future.py deleted file mode 100644 index 780901a..0000000 --- a/tests/huobi_coin_future_test/websocket/test_ws_system_coin_future.py +++ /dev/null @@ -1,25 +0,0 @@ -import sys -import time -import unittest - -from alpha.platforms.huobi_coin_future.websocket.ws_system_coin_future import WsSystem -from alpha.utils import logger - -sys.path.append('..') - - -class TestWsSystemCoinFuture(unittest.TestCase): - def _callback(self, jdata): - logger.info('_callback:{}'.format(jdata)) - - def test_sub(self): - ws = WsSystem() - data = {"op": "sub", "topic": "public.futures.heartbeat"} - ws.sub(data, self._callback) - - time.sleep(60) - ws.close() - - -if __name__ == '__main__': - unittest.main(verbosity=2) diff --git a/tests/huobi_coin_swap_test/restapi/test_rest_account_coin_swap.py b/tests/huobi_coin_swap_test/restapi/test_rest_account_coin_swap.py deleted file mode 100644 index 90c1dd9..0000000 --- a/tests/huobi_coin_swap_test/restapi/test_rest_account_coin_swap.py +++ /dev/null @@ -1,158 +0,0 @@ -import asyncio -import sys -import unittest - -from alpha.platforms.huobi_coin_swap.restapi.rest_account_coin_swap import HuobiCoinSwapRestAccountAPI -from tests.config import config - -sys.path.append('..') - - -class TestRestAccountCoinSwap(unittest.TestCase): - @classmethod - def setUpClass(cls): - cls.api = HuobiCoinSwapRestAccountAPI(config["host"], config["access_key"], config["secret_key"]) - - def test_get_swap_balance_valuation(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_balance_valuation()) - print(result) - loop.close() - - def test_get_asset_info(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_asset_info()) - print(result) - loop.close() - - def test_get_position(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_position()) - print(result) - loop.close() - - def test_get_account_position(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_account_position("BTC-USD")) - print(result) - loop.close() - - def test_swap_sub_auth(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.swap_sub_auth("BTC-USD", 321456)) - print(result) - loop.close() - - def test_get_swap_sub_account_list(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_sub_account_list()) - print(result) - loop.close() - - def test_swap_sub_account_info_list(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.swap_sub_account_info_list()) - print(result) - loop.close() - - def test_get_swap_sub_account_info(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_sub_account_info(123456)) - print(result) - loop.close() - - def test_get_swap_sub_position_info(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_sub_position_info(123456789)) - print(result) - loop.close() - - def test_get_swap_financial_record(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_financial_record("BTC-USD")) - print(result) - loop.close() - - def test_get_swap_financial_record_exact(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_financial_record_exact("BTC-USD")) - print(result) - loop.close() - - def test_get_swap_user_settlement_records(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_user_settlement_records("BTC-USD")) - print(result) - loop.close() - - def test_get_swap_available_level_rate(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_available_level_rate()) - print(result) - loop.close() - - def test_get_swap_order_limit(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_order_limit("limit")) - print(result) - loop.close() - - def test_get_swap_fee(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_fee()) - print(result) - loop.close() - - def test_get_swap_transfer_limit(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_transfer_limit()) - print(result) - loop.close() - - def test_get_swap_position_limit(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_position_limit()) - print(result) - loop.close() - - def test_swap_master_sub_transfer(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.swap_master_sub_transfer("123", "BTC-USD", 100, "master_to_sub")) - print(result) - loop.close() - - def test_get_swap_master_sub_transfer_record(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_master_sub_transfer_record("BTC-USDT", 30)) - print(result) - loop.close() - - def test_get_swap_api_trading_status(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_api_trading_status()) - print(result) - loop.close() - - -if __name__ == '__main__': - unittest.main(verbosity=2) diff --git a/tests/huobi_coin_swap_test/restapi/test_rest_market_coin_swap.py b/tests/huobi_coin_swap_test/restapi/test_rest_market_coin_swap.py deleted file mode 100644 index 3ee6882..0000000 --- a/tests/huobi_coin_swap_test/restapi/test_rest_market_coin_swap.py +++ /dev/null @@ -1,95 +0,0 @@ -import asyncio -import sys -import unittest - -from alpha.platforms.huobi_coin_swap.restapi.rest_market_coin_swap import HuobiCoinSwapRestMarketAPI -from tests.config import config - -sys.path.append('..') - - -class TestRestMarketCoinSwap(unittest.TestCase): - @classmethod - def setUpClass(cls): - cls.api = HuobiCoinSwapRestMarketAPI(config["host"], config["access_key"], config["secret_key"]) - - def test_get_orderbook(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_orderbook("BTC_CQ", "step5")) - print(result) - loop.close() - - def test_get_bbo(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_bbo()) - print(result) - loop.close() - - def test_get_klines(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_klines("BTC_CQ", "1min")) - print(result) - loop.close() - - def test_get_swap_mark_price_kline(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_mark_price_kline("BTC_CW", "15min", 100)) - print(result) - loop.close() - - def test_get_merged(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_merged("BTC_CQ")) - print(result) - loop.close() - - def test_get_batch_merged(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_batch_merged()) - print(result) - loop.close() - - def test_get_trade(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_trade()) - print(result) - loop.close() - - def test_get_history_trade(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_history_trade("BTC_CQ", 100)) - print(result) - loop.close() - - def test_get_swap_premium_index_kline(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_premium_index_kline("BTC-USD", "1min", 1)) - print(result) - loop.close() - - def test_get_swap_estimated_rate_kline(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_estimated_rate_kline("BTC-USD", "1min", 1)) - print(result) - loop.close() - - def test_get_swap_basis(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_basis("BTC-USD", "1min", 1)) - print(result) - loop.close() - - -if __name__ == '__main__': - unittest.main(verbosity=2) diff --git a/tests/huobi_coin_swap_test/restapi/test_rest_reference_coin_swap.py b/tests/huobi_coin_swap_test/restapi/test_rest_reference_coin_swap.py deleted file mode 100644 index 5f2cb78..0000000 --- a/tests/huobi_coin_swap_test/restapi/test_rest_reference_coin_swap.py +++ /dev/null @@ -1,172 +0,0 @@ -import asyncio -import sys -import unittest - -from alpha.platforms.huobi_coin_swap.restapi.rest_reference_coin_swap import HuobiCoinSwapRestReferenceAPI -from tests.config import config - -sys.path.append('..') - - -class TestRestReferenceCoinSwap(unittest.TestCase): - @classmethod - def setUpClass(cls): - cls.api = HuobiCoinSwapRestReferenceAPI(config["host"], config["access_key"], config["secret_key"]) - - def test_get_swap_risk_info(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_risk_info()) - print(result) - loop.close() - - def test_get_swap_insurance_fund(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_insurance_fund("BTC-USD")) - print(result) - loop.close() - - def test_get_swap_adjustfactor(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_adjustfactor()) - print(result) - loop.close() - - def test_get_swap_his_open_interest(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_his_open_interest("BTC-USD", "60min", 1)) - print(result) - loop.close() - - def test_get_swap_ladder_margin(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_ladder_margin()) - print(result) - loop.close() - - def test_get_swap_elite_account_ratio(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_elite_account_ratio("BTC-USD", "5min")) - print(result) - loop.close() - - def test_get_swap_elite_position_ratio(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_elite_position_ratio("BTC-USD", "1day")) - print(result) - loop.close() - - def test_get_swap_estimated_settlement_price(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_estimated_settlement_price()) - print(result) - loop.close() - - def test_get_swap_api_state(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_api_state()) - print(result) - loop.close() - - def test_get_swap_funding_rate(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_funding_rate("BTC-USD")) - print(result) - loop.close() - - def test_get_swap_batch_funding_rate(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_batch_funding_rate()) - print(result) - loop.close() - - def test_get_swap_historical_funding_rate(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_historical_funding_rate("BTC-USD")) - print(result) - loop.close() - - def test_get_swap_liquidation_orders(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_liquidation_orders("BTC-USDT", 5)) - print(result) - loop.close() - - def test_get_swap_settlement_records(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_settlement_records("BTC-USD")) - print(result) - loop.close() - - def test_get_swap_info(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_info()) - print(result) - loop.close() - - def test_get_swap_index(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_index()) - print(result) - loop.close() - - def test_get_swap_query_elements(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_query_elements()) - print(result) - loop.close() - - def test_get_price_limit(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_price_limit("BTC-USD")) - print(result) - loop.close() - - def test_get_swap_open_interest(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_open_interest()) - print(result) - loop.close() - - def test_get_timestamp(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_timestamp()) - print(result) - loop.close() - - def test_get_heartbeat(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_heartbeat()) - print(result) - loop.close() - - def test_get_summary(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_summary()) - print(result) - loop.close() - - -if __name__ == '__main__': - unittest.main(verbosity=2) diff --git a/tests/huobi_coin_swap_test/restapi/test_rest_strategy_coin_swap.py b/tests/huobi_coin_swap_test/restapi/test_rest_strategy_coin_swap.py deleted file mode 100644 index 0cc9420..0000000 --- a/tests/huobi_coin_swap_test/restapi/test_rest_strategy_coin_swap.py +++ /dev/null @@ -1,132 +0,0 @@ -import asyncio -import sys -import unittest - -from alpha.platforms.huobi_coin_swap.restapi.rest_strategy_coin_swap import HuobiCoinSwapRestStrategyAPI -from tests.config import config - -sys.path.append('..') - - -class TestRestStrategyCoinSwap(unittest.TestCase): - @classmethod - def setUpClass(cls): - cls.api = HuobiCoinSwapRestStrategyAPI(config["host"], config["access_key"], config["secret_key"]) - - def test_swap_trigger_order(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.swap_trigger_order("BTC-USD", "ge", 0.1, 1, - "buy", "open")) - print(result) - loop.close() - - def test_swap_trigger_cancel(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.swap_trigger_cancel("BTC-USD", "1234567")) - print(result) - loop.close() - - def test_swap_trigger_cancelall(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.swap_trigger_cancelall("BTC-USD")) - print(result) - loop.close() - - def test_swap_trigger_openorders(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.swap_trigger_openorders("BTC-USD")) - print(result) - loop.close() - - def test_get_swap_trigger_hisorders(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_trigger_hisorders("BTC-USD", 0, 0, 30)) - print(result) - loop.close() - - def test_swap_tpsl_order(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.swap_tpsl_order("BTC-USD", "buy", 1)) - print(result) - loop.close() - - def test_swap_tpsl_cancel(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.swap_tpsl_cancel("BTC-USD", "1234567")) - print(result) - loop.close() - - def test_swap_tpsl_cancelall(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.swap_tpsl_cancelall("BTC-USD")) - print(result) - loop.close() - - def test_swap_tpsl_openorders(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.swap_tpsl_openorders("BTC-USD")) - print(result) - loop.close() - - def test_get_swap_tpsl_hisorders(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_tpsl_hisorders("BTC-USD", 0, 30)) - print(result) - loop.close() - - def test_get_swap_relation_tpsl_order(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_relation_tpsl_order("BTC-USD", "1234567")) - print(result) - loop.close() - - def test_swap_track_order(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.swap_track_order("BTC-USD", "buy", "open", 1, 0.01, - 1, "optimal_5")) - print(result) - loop.close() - - def test_swap_track_cancel(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.swap_track_cancel("BTC-USD", "1234567")) - print(result) - loop.close() - - def test_swap_track_cancelall(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.swap_track_cancelall("BTC-USD")) - print(result) - loop.close() - - def test_swap_track_openorders(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.swap_track_openorders("BTC-USD")) - print(result) - loop.close() - - def test_swap_track_hisorders(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.swap_track_hisorders("BTC-USD", 0, 0, 30)) - print(result) - loop.close() - - -if __name__ == '__main__': - unittest.main(verbosity=2) diff --git a/tests/huobi_coin_swap_test/restapi/test_rest_trade_coin_swap.py b/tests/huobi_coin_swap_test/restapi/test_rest_trade_coin_swap.py deleted file mode 100644 index 253f17c..0000000 --- a/tests/huobi_coin_swap_test/restapi/test_rest_trade_coin_swap.py +++ /dev/null @@ -1,157 +0,0 @@ -import asyncio -import sys -import unittest - -from alpha.platforms.huobi_coin_swap.restapi.rest_trade_coin_swap import HuobiCoinSwapRestTradeAPI -from tests.config import config - -sys.path.append('..') - - -class TestRestTradeCoinSwap(unittest.TestCase): - @classmethod - def setUpClass(cls): - cls.api = HuobiCoinSwapRestTradeAPI(config["host"], config["access_key"], config["secret_key"]) - - def test_swap_cancel_after(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.swap_cancel_after(1)) - print(result) - loop.close() - - def test_get_swap_order(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_order("BTC-USD", 1, "buy", "open", 10, - "limit")) - print(result) - loop.close() - - def test_create_orders(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.create_orders({ - "orders_data": [ - { - "contract_code": "ltc-usd", - "direction": "sell", - "offset": "open", - "price": "136", - "lever_rate": 5, - "volume": 1, - "order_price_type": "opponent", - "tp_trigger_price": 133, - "tp_order_price": 133, - "tp_order_price_type": "optimal_5", - "sl_trigger_price": "139", - "sl_order_price": "139", - "sl_order_price_type": "optimal_5" - }, - { - "contract_code": "ltc-usd", - "direction": "buy", - "offset": "open", - "price": "136", - "lever_rate": 5, - "volume": 1, - "order_price_type": "post_only", - "tp_trigger_price": 139, - "tp_order_price": 139, - "tp_order_price_type": "optimal_5", - "sl_trigger_price": "133", - "sl_order_price": "133", - "sl_order_price_type": "optimal_5" - } - ] - })) - print(result) - loop.close() - - def test_revoke_order(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.revoke_order("BTC-USD")) - print(result) - loop.close() - - def test_revoke_orders(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.revoke_orders("BTC-USD")) - print(result) - loop.close() - - def test_revoke_order_all(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.revoke_order_all("BTC-USD")) - print(result) - loop.close() - - def test_swap_switch_lever_rate(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.swap_switch_lever_rate("BTC-USD", 10)) - print(result) - loop.close() - - def test_get_order_info(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_order_info("BTC-USD")) - print(result) - loop.close() - - def test_get_swap_order_detail(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_order_detail("BTC-USD", 1)) - print(result) - loop.close() - - def test_get_open_orders(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_open_orders("BTC-USD")) - print(result) - loop.close() - - def test_get_swap_hisorders(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_hisorders("BTC-USD", 0, 1, 0)) - print(result) - loop.close() - - def test_get_swap_hisorders_exact(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_hisorders_exact("BTC-USD", 0, 1, 0)) - print(result) - loop.close() - - def test_get_swap_matchresults(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_matchresults("BTC-USDT", 0)) - print(result) - loop.close() - - def test_get_swap_matchresults_exact(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_matchresults_exact("BTC-USDT", 0)) - print(result) - loop.close() - - def test_swap_lightning_close_position(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.swap_lightning_close_position("BTC-USDT", 1, "buy")) - print(result) - loop.close() - - -if __name__ == '__main__': - unittest.main(verbosity=2) diff --git a/tests/huobi_coin_swap_test/restapi/test_rest_transfer_coin_swap.py b/tests/huobi_coin_swap_test/restapi/test_rest_transfer_coin_swap.py deleted file mode 100644 index a9cfa02..0000000 --- a/tests/huobi_coin_swap_test/restapi/test_rest_transfer_coin_swap.py +++ /dev/null @@ -1,25 +0,0 @@ -import asyncio -import sys -import unittest - -from alpha.platforms.huobi_coin_swap.restapi.rest_transfer_coin_swap import HuobiCoinSwapRestTransferAPI -from tests.config import config - -sys.path.append('..') - - -class TestRestTransferCoinSwap(unittest.TestCase): - @classmethod - def setUpClass(cls): - cls.api = HuobiCoinSwapRestTransferAPI(config["host"], config["access_key"], config["secret_key"]) - - def test_transfer_between_spot_swap(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.transfer_between_spot_swap("spot", "swap", "btc", 1)) - print(result) - loop.close() - - -if __name__ == '__main__': - unittest.main(verbosity=2) diff --git a/tests/huobi_coin_swap_test/websocket/test_ws_account_coin_swap.py b/tests/huobi_coin_swap_test/websocket/test_ws_account_coin_swap.py deleted file mode 100644 index d04c932..0000000 --- a/tests/huobi_coin_swap_test/websocket/test_ws_account_coin_swap.py +++ /dev/null @@ -1,34 +0,0 @@ -import sys -import time -import unittest - -from alpha.platforms.huobi_coin_swap.websocket.ws_account_coin_swap import WsAccount -from alpha.utils import logger -from tests.config import config - -sys.path.append('..') - - -class TestWsAccountCoinSwap(unittest.TestCase): - def _callback_1(self, jdata): - logger.info('_callback_1:{}'.format(jdata)) - - def _callback_2(self, jdata): - logger.info('_callback_2:{}'.format(jdata)) - - def test_sub(self): - ws1 = WsAccount(config['access_key'], config['secret_key']) - data = {"op": "sub", "topic": "accounts.BTC-USDT"} - ws1.sub(data, self._callback_1) - - time.sleep(30) - data = {"op": "unsub", "topic": "accounts.BTC-USDT"} - ws1.unsub(data) - logger.info('unsub') - - time.sleep(10) - ws1.close() - - -if __name__ == '__main__': - unittest.main(verbosity=2) diff --git a/tests/huobi_coin_swap_test/websocket/test_ws_index_coin_swap.py b/tests/huobi_coin_swap_test/websocket/test_ws_index_coin_swap.py deleted file mode 100644 index 65796f4..0000000 --- a/tests/huobi_coin_swap_test/websocket/test_ws_index_coin_swap.py +++ /dev/null @@ -1,48 +0,0 @@ -import sys -import time -import unittest - -from alpha.platforms.huobi_coin_swap.websocket.ws_index_coin_swap import WsIndex -from alpha.utils import logger - -sys.path.append('..') - - -class TestWsIndexCoinSwap(unittest.TestCase): - def _callback_1(self, jdata): - logger.info('_callback_1:{}'.format(jdata)) - - def _callback_2(self, jdata): - logger.info('_callback_2:{}'.format(jdata)) - - def test_sub(self): - ws1 = WsIndex() - data = {"sub": "market.BTC-USDT.index.1min"} - ws1.sub(data, self._callback_1) - - ws2 = WsIndex() - data = {"sub": "market.ETH-USDT.basis.1min.open"} - ws2.sub(data, self._callback_2) - - time.sleep(60) - ws1.close() - ws2.close() - - def test_req(self): - ws1 = WsIndex() - data = {"req": "market.BTC-USDT.index.1min", - "from": 1614320780, "to": 1614321780} - ws1.req(data, self._callback_1) - - ws2 = WsIndex() - data = {"req": "market.ETH-USDT.basis.1min.open", - "from": 1614321780, "to": 1614321780} - ws2.req(data, self._callback_2) - - time.sleep(60) - ws1.close() - ws2.close() - - -if __name__ == '__main__': - unittest.main(verbosity=2) diff --git a/tests/huobi_coin_swap_test/websocket/test_ws_market_coin_swap.py b/tests/huobi_coin_swap_test/websocket/test_ws_market_coin_swap.py deleted file mode 100644 index 4d80f8a..0000000 --- a/tests/huobi_coin_swap_test/websocket/test_ws_market_coin_swap.py +++ /dev/null @@ -1,48 +0,0 @@ -import sys -import time -import unittest - -from alpha.platforms.huobi_coin_swap.websocket.ws_market_coin_swap import WsMarket -from alpha.utils import logger - -sys.path.append('..') - - -class TestWsMarketCoinSwap(unittest.TestCase): - def _callback_1(self, jdata): - logger.info('_callback_1:{}'.format(jdata)) - - def _callback_2(self, jdata): - logger.info('_callback_2:{}'.format(jdata)) - - def test_sub(self): - ws1 = WsMarket() - data = {"sub": "market.BTC-USDT.kline.1min"} - ws1.sub(data, self._callback_1) - - ws2 = WsMarket() - data = {"sub": "market.BTC-USDT.trade.detail"} - ws2.sub(data, self._callback_2) - - time.sleep(60) - ws1.close() - ws2.close() - - def test_req(self): - ws1 = WsMarket() - data = {"req": "market.BTC-USDT.kline.1min", - "from": 1614320780, "to": 1614321780} - ws1.req(data, self._callback_1) - - ws2 = WsMarket() - data = {"req": "market.BTC-USDT.kline.1min", - "from": 1614321780, "to": 1614321780} - ws2.req(data, self._callback_2) - - time.sleep(60) - ws1.close() - ws2.close() - - -if __name__ == '__main__': - unittest.main(verbosity=2) diff --git a/tests/huobi_coin_swap_test/websocket/test_ws_system_coin_swap.py b/tests/huobi_coin_swap_test/websocket/test_ws_system_coin_swap.py deleted file mode 100644 index f0d904f..0000000 --- a/tests/huobi_coin_swap_test/websocket/test_ws_system_coin_swap.py +++ /dev/null @@ -1,25 +0,0 @@ -import sys -import time -import unittest - -from alpha.platforms.huobi_coin_swap.websocket.ws_system_coin_swap import WsSystem -from alpha.utils import logger - -sys.path.append('..') - - -class TestWsSystemCoinSwap(unittest.TestCase): - def _callback(self, jdata): - logger.info('_callback:{}'.format(jdata)) - - def test_sub(self): - ws = WsSystem() - data = {"op": "sub", "topic": "public.swap.heartbeat"} - ws.sub(data, self._callback) - - time.sleep(60) - ws.close() - - -if __name__ == '__main__': - unittest.main(verbosity=2) diff --git a/tests/huobi_usdt_swap_test/restapi/test_rest_account_usdt_swap.py b/tests/huobi_usdt_swap_test/restapi/test_rest_account_usdt_swap.py deleted file mode 100644 index fb0f4e2..0000000 --- a/tests/huobi_usdt_swap_test/restapi/test_rest_account_usdt_swap.py +++ /dev/null @@ -1,167 +0,0 @@ -import asyncio -import sys -import unittest - -from alpha.platforms.huobi_usdt_swap.restapi.rest_account_usdt_swap import HuobiUsdtSwapRestAccountAPI -from tests.config import config - -sys.path.append('..') - - -class TestRestAccountUsdtSwap(unittest.TestCase): - @classmethod - def setUpClass(cls): - cls.api = HuobiUsdtSwapRestAccountAPI(config["host"], config["access_key"], config["secret_key"]) - - def test_get_swap_balance_valuation(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_balance_valuation()) - print(result) - loop.close() - - def test_get_asset_info(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_asset_info()) - print(result) - loop.close() - - def test_get_position(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_position()) - print(result) - loop.close() - - def test_get_account_position(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_account_position("BTC-USDT")) - print(result) - loop.close() - - def test_swap_sub_auth(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.swap_sub_auth("123456", 1)) - print(result) - loop.close() - - def test_get_swap_sub_auth_list(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_sub_auth_list()) - print(result) - loop.close() - - def test_get_swap_sub_account_list(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_sub_account_list()) - print(result) - loop.close() - - def test_get_swap_sub_account_info_list(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_sub_account_info_list()) - print(result) - loop.close() - - def test_get_swap_sub_account_info(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_sub_account_info(123456, "BTC-USDT")) - print(result) - loop.close() - - def test_get_swap_sub_position_info(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_sub_position_info(123456, "BTC-USDT")) - print(result) - loop.close() - - def test_get_swap_financial_record(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_financial_record("USDT")) - print(result) - loop.close() - - def test_get_swap_available_level_rate(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_available_level_rate()) - print(result) - loop.close() - - def test_get_swap_order_limit(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_order_limit("limit")) - print(result) - loop.close() - - def test_get_swap_fee(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_fee()) - print(result) - loop.close() - - def test_get_swap_transfer_limit(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_transfer_limit()) - print(result) - loop.close() - - def test_get_swap_position_limit(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_position_limit()) - print(result) - loop.close() - - def test_get_swap_lever_position_limit(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_lever_position_limit()) - print(result) - loop.close() - - def test_swap_master_sub_transfer(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.swap_master_sub_transfer(123456, "USDT", "BTC-USDT", - "USDT", 20, "master_to_sub", - 456321)) - print(result) - loop.close() - - def test_get_swap_master_sub_transfer_record(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_master_sub_transfer_record("BTC-USDT", 30)) - print(result) - loop.close() - - def test_transfer_inner(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.transfer_inner("USDT", "BTC-USDT", "ETH-USDT", 10, 456321)) - print(result) - loop.close() - - def test_get_swap_api_trading_status(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_api_trading_status()) - print(result) - loop.close() - - -if __name__ == '__main__': - unittest.main(verbosity=2) diff --git a/tests/huobi_usdt_swap_test/restapi/test_rest_cross_account_usdt_swap.py b/tests/huobi_usdt_swap_test/restapi/test_rest_cross_account_usdt_swap.py deleted file mode 100644 index 1b1add7..0000000 --- a/tests/huobi_usdt_swap_test/restapi/test_rest_cross_account_usdt_swap.py +++ /dev/null @@ -1,96 +0,0 @@ -import asyncio -import sys -import unittest - -from alpha.platforms.huobi_usdt_swap.restapi.rest_cross_account_usdt_swap import HuobiUsdtSwapRestCrossAccountAPI -from tests.config import config - -sys.path.append('..') - - -class TestRestCrossAccountUsdtSwap(unittest.TestCase): - @classmethod - def setUpClass(cls): - cls.api = HuobiUsdtSwapRestCrossAccountAPI(config["host"], config["access_key"], config["secret_key"]) - - def test_get_asset_info(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_asset_info()) - print(result) - loop.close() - - def test_get_position(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_position()) - print(result) - loop.close() - - def test_get_account_position(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_account_position("USDT")) - print(result) - loop.close() - - def test_get_swap_cross_sub_account_list(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_cross_sub_account_list()) - print(result) - loop.close() - - def test_get_swap_cross_sub_account_info_list(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_cross_sub_account_info_list()) - print(result) - loop.close() - - def test_get_swap_cross_sub_account_info(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_cross_sub_account_info(123456, "USDT")) - print(result) - loop.close() - - def test_get_swap_cross_sub_position_info(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_cross_sub_position_info(123456, "BTC-USDT", "BTC-USDT", - "swap")) - print(result) - loop.close() - - def test_get_swap_cross_available_level_rate(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_cross_available_level_rate()) - print(result) - loop.close() - - def test_get_swap_cross_transfer_limit(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_cross_transfer_limit()) - print(result) - loop.close() - - def test_get_swap_cross_position_limit(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_cross_position_limit()) - print(result) - loop.close() - - def test_get_swap_cross_lever_position_limit(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_cross_lever_position_limit()) - print(result) - loop.close() - - -if __name__ == '__main__': - unittest.main(verbosity=2) diff --git a/tests/huobi_usdt_swap_test/restapi/test_rest_cross_reference_usdt_swap.py b/tests/huobi_usdt_swap_test/restapi/test_rest_cross_reference_usdt_swap.py deleted file mode 100644 index 3220e40..0000000 --- a/tests/huobi_usdt_swap_test/restapi/test_rest_cross_reference_usdt_swap.py +++ /dev/null @@ -1,32 +0,0 @@ -import asyncio -import sys -import unittest - -from alpha.platforms.huobi_usdt_swap.restapi.rest_cross_reference_usdt_swap import HuobiUsdtSwapRestCrossReferenceAPI -from tests.config import config - -sys.path.append('..') - - -class TestRestCrossReferenceUsdtSwap(unittest.TestCase): - @classmethod - def setUpClass(cls): - cls.api = HuobiUsdtSwapRestCrossReferenceAPI(config["host"], config["access_key"], config["secret_key"]) - - def test_get_swap_cross_ladder_margin(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_cross_ladder_margin()) - print(result) - loop.close() - - def test_get_swap_cross_adjustfactor(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_cross_adjustfactor()) - print(result) - loop.close() - - -if __name__ == '__main__': - unittest.main(verbosity=2) diff --git a/tests/huobi_usdt_swap_test/restapi/test_rest_cross_strategy_usdt_swap.py b/tests/huobi_usdt_swap_test/restapi/test_rest_cross_strategy_usdt_swap.py deleted file mode 100644 index c01b830..0000000 --- a/tests/huobi_usdt_swap_test/restapi/test_rest_cross_strategy_usdt_swap.py +++ /dev/null @@ -1,131 +0,0 @@ -import asyncio -import sys -import unittest - -from alpha.platforms.huobi_usdt_swap.restapi.rest_cross_strategy_usdt_swap import HuobiUsdtSwapRestCrossStrategyAPI -from tests.config import config - -sys.path.append('..') - - -class TestRestCrossStrategyUsdtSwap(unittest.TestCase): - @classmethod - def setUpClass(cls): - cls.api = HuobiUsdtSwapRestCrossStrategyAPI(config["host"], config["access_key"], config["secret_key"]) - - def test_swap_cross_trigger_order(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.swap_cross_trigger_order("le", 16500, 10, "buy")) - print(result) - loop.close() - - def test_swap_cross_trigger_cancel(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.swap_cross_trigger_cancel("1888")) - print(result) - loop.close() - - def test_swap_cross_trigger_cancelall(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.swap_cross_trigger_cancelall()) - print(result) - loop.close() - - def test_get_swap_cross_trigger_openorders(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_cross_trigger_openorders()) - print(result) - loop.close() - - def test_get_swap_cross_trigger_hisorders(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_cross_trigger_hisorders(0, 0, 30)) - print(result) - loop.close() - - def test_swap_cross_tpsl_order(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.swap_cross_tpsl_order("sell", 1)) - print(result) - loop.close() - - def test_swap_cross_tpsl_cancel(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.swap_cross_tpsl_cancel("2345567123")) - print(result) - loop.close() - - def test_swap_cross_tpsl_cancelall(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.swap_cross_tpsl_cancelall()) - print(result) - loop.close() - - def test_get_swap_cross_tpsl_openorders(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_cross_tpsl_openorders()) - print(result) - loop.close() - - def test_get_swap_cross_tpsl_hisorders(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_cross_tpsl_hisorders(0, 30)) - print(result) - loop.close() - - def test_get_swap_cross_relation_tpsl_order(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_cross_relation_tpsl_order(3456678123)) - print(result) - loop.close() - - def test_swap_cross_track_order(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.swap_cross_track_order("buy", 100, 0.01, 1670, - "optimal_5")) - print(result) - loop.close() - - def test_swap_cross_track_cancel(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.swap_cross_track_cancel("456457123")) - print(result) - loop.close() - - def test_swap_cross_track_cancelall(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.swap_cross_track_cancelall()) - print(result) - loop.close() - - def test_get_swap_cross_track_openorders(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_cross_track_openorders()) - print(result) - loop.close() - - def test_swap_cross_track_hisorders(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.swap_cross_track_hisorders(0, 0, 30)) - print(result) - loop.close() - - -if __name__ == '__main__': - unittest.main(verbosity=2) diff --git a/tests/huobi_usdt_swap_test/restapi/test_rest_cross_trade_usdt_swap.py b/tests/huobi_usdt_swap_test/restapi/test_rest_cross_trade_usdt_swap.py deleted file mode 100644 index bd90a1e..0000000 --- a/tests/huobi_usdt_swap_test/restapi/test_rest_cross_trade_usdt_swap.py +++ /dev/null @@ -1,170 +0,0 @@ -import asyncio -import sys -import unittest - -from alpha.platforms.huobi_usdt_swap.restapi.rest_cross_trade_usdt_swap import HuobiUsdtSwapRestCrossTradeAPI -from tests.config import config - -sys.path.append('..') - - -class TestRestCrossTradeUsdtSwap(unittest.TestCase): - @classmethod - def setUpClass(cls): - cls.api = HuobiUsdtSwapRestCrossTradeAPI(config["host"], config["access_key"], config["secret_key"]) - - def test_get_swap_cross_trade_state(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_cross_trade_state()) - print(result) - loop.close() - - def test_swap_cross_switch_position_mode(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.swap_cross_switch_position_mode("BTC-USDT", "dual_side")) - print(result) - loop.close() - - def test_create_order(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.create_order(1, "buy", 5, "opponent")) - print(result) - loop.close() - - def test_create_orders(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.create_orders({ - "orders_data": [ - { - "contract_code": "btc-usdt", - "direction": "sell", - "offset": "open", - "price": "29999", - "lever_rate": 5, - "volume": 1, - "order_price_type": "opponent", - "tp_trigger_price": 27000, - "tp_order_price": 27000, - "tp_order_price_type": "optimal_5", - "sl_trigger_price": "30100", - "sl_order_price": "30100", - "sl_order_price_type": "optimal_5" - }, - { - "contract_code": "btc-usdt", - "direction": "buy", - "offset": "open", - "price": "29999", - "lever_rate": 5, - "volume": 1, - "order_price_type": "post_only", - "tp_trigger_price": 31000, - "tp_order_price": 31000, - "tp_order_price_type": "optimal_5", - "sl_trigger_price": "29100", - "sl_order_price": "29100", - "sl_order_price_type": "optimal_5" - } - ] - })) - print(result) - loop.close() - - def test_revoke_order(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.revoke_order("BTC-USDT")) - print(result) - loop.close() - - def test_revoke_orders(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.revoke_orders("BTC-USDT", "456789133445,456789133446")) - print(result) - loop.close() - - def test_revoke_order_all(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.revoke_order_all("BTC-USDT")) - print(result) - loop.close() - - def test_swap_cross_switch_lever_rate(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.swap_cross_switch_lever_rate(20)) - print(result) - loop.close() - - def test_get_order_info(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_order_info()) - print(result) - loop.close() - - def test_get_order_detail(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_order_detail("BTC-USDT", "456234321")) - print(result) - loop.close() - - def test_get_open_orders(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_open_orders("BTC-USDT")) - print(result) - loop.close() - - def test_get_swap_cross_hisorders(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_cross_hisorders(0, 1, 0)) - print(result) - loop.close() - - def test_get_swap_cross_hisorders_exact(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_cross_hisorders_exact(0, 1, 0)) - print(result) - loop.close() - - def test_get_swap_cross_matchresults(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_cross_matchresults("BTC-USDT", 0)) - print(result) - loop.close() - - def test_get_swap_cross_matchresults_exact(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_cross_matchresults_exact("BTC-USDT", 0)) - print(result) - loop.close() - - def test_swap_cross_lightning_close_position(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.swap_cross_lightning_close_position("buy")) - print(result) - loop.close() - - def test_get_swap_cross_position_side(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_cross_position_side("BTC-USDT")) - print(result) - loop.close() - - -if __name__ == '__main__': - unittest.main(verbosity=2) diff --git a/tests/huobi_usdt_swap_test/restapi/test_rest_cross_transfer_usdt_swap.py b/tests/huobi_usdt_swap_test/restapi/test_rest_cross_transfer_usdt_swap.py deleted file mode 100644 index dae0fb9..0000000 --- a/tests/huobi_usdt_swap_test/restapi/test_rest_cross_transfer_usdt_swap.py +++ /dev/null @@ -1,25 +0,0 @@ -import asyncio -import sys -import unittest - -from alpha.platforms.huobi_usdt_swap.restapi.rest_cross_transfer_usdt_swap import HuobiUsdtSwapRestCrossTransferAPI -from tests.config import config - -sys.path.append('..') - - -class TestRestCrossTransferUsdtSwap(unittest.TestCase): - @classmethod - def setUpClass(cls): - cls.api = HuobiUsdtSwapRestCrossTransferAPI(config["host"], config["access_key"], config["secret_key"]) - - def test_get_swap_cross_transfer_state(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_cross_transfer_state()) - print(result) - loop.close() - - -if __name__ == '__main__': - unittest.main(verbosity=2) diff --git a/tests/huobi_usdt_swap_test/restapi/test_rest_market_usdt_swap.py b/tests/huobi_usdt_swap_test/restapi/test_rest_market_usdt_swap.py deleted file mode 100644 index 9787033..0000000 --- a/tests/huobi_usdt_swap_test/restapi/test_rest_market_usdt_swap.py +++ /dev/null @@ -1,103 +0,0 @@ -import asyncio -import sys -import unittest - -from alpha.platforms.huobi_usdt_swap.restapi.rest_market_usdt_swap import HuobiUsdtSwapRestMarketAPI -from tests.config import config - -sys.path.append('..') - - -class TestRestMarketUsdtSwap(unittest.TestCase): - @classmethod - def setUpClass(cls): - cls.api = HuobiUsdtSwapRestMarketAPI(config["host"], config["access_key"], config["secret_key"]) - - def test_get_orderbook(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_orderbook("BTC-USDT")) - print(result) - loop.close() - - def test_get_market_bbo(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_market_bbo()) - print(result) - loop.close() - - def test_get_klines(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_klines("BTC-USDT", 1)) - print(result) - loop.close() - - def test_get_linear_swap_mark_price_kline(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_linear_swap_mark_price_kline("BTC-USDT", 5,100)) - print(result) - loop.close() - - def test_get_merged_data(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_merged_data("BTC-USDT")) - print(result) - loop.close() - - def test_get_batch_merged(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_batch_merged()) - print(result) - loop.close() - - def test_get_market_trade(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_market_trade()) - print(result) - loop.close() - - def test_get_market_history_trade(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_market_history_trade("BTC-USDT", 100)) - print(result) - loop.close() - - def test_get_swap_his_open_interest(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_his_open_interest("60min", 1, - "BTC-USDT")) - print(result) - loop.close() - - def test_get_linear_swap_premium_index_kline(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_linear_swap_premium_index_kline("BTC-USDT","1min", 1)) - print(result) - loop.close() - - def test_get_linear_swap_estimated_rate_kline(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_linear_swap_estimated_rate_kline("BTC-USDT","1min", 1)) - print(result) - loop.close() - - def test_get_linear_swap_basis(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_linear_swap_basis("BTC-USDT", "1min", 1)) - print(result) - loop.close() - - -if __name__ == '__main__': - unittest.main(verbosity=2) diff --git a/tests/huobi_usdt_swap_test/restapi/test_rest_reference_usdt_swap.py b/tests/huobi_usdt_swap_test/restapi/test_rest_reference_usdt_swap.py deleted file mode 100644 index 9931af6..0000000 --- a/tests/huobi_usdt_swap_test/restapi/test_rest_reference_usdt_swap.py +++ /dev/null @@ -1,179 +0,0 @@ -import asyncio -import sys -import unittest - -from alpha.platforms.huobi_usdt_swap.restapi.rest_reference_usdt_swap import HuobiUsdtSwapRestReferenceAPI -from tests.config import config - -sys.path.append('..') - - -class TestRestReferenceUsdtSwap(unittest.TestCase): - @classmethod - def setUpClass(cls): - cls.api = HuobiUsdtSwapRestReferenceAPI(config["host"], config["access_key"], config["secret_key"]) - - def test_get_swap_unified_account_type(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_unified_account_type()) - print(result) - loop.close() - - def test_swap_switch_account_type(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.swap_switch_account_type(1)) - print(result) - loop.close() - - def test_get_swap_funding_rate(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_funding_rate("BTC-USDT")) - print(result) - loop.close() - - def test_get_swap_batch_funding_rate(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_batch_funding_rate()) - print(result) - loop.close() - - def test_get_swap_historical_funding_rate(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_historical_funding_rate("BTC-USDT")) - print(result) - loop.close() - - def test_get_swap_liquidation_orders(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_liquidation_orders(5)) - print(result) - loop.close() - - def test_get_swap_settlement_records(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_settlement_records("BTC-USDT")) - print(result) - loop.close() - - def test_get_swap_elite_account_ratio(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_elite_account_ratio("BTC-USDT", "5min")) - print(result) - loop.close() - - def test_get_swap_elite_position_ratio(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_elite_position_ratio("BTC-USDT", "1day")) - print(result) - loop.close() - - def test_get_swap_api_state(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_api_state()) - print(result) - loop.close() - - def test_get_swap_ladder_margin(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_ladder_margin()) - print(result) - loop.close() - - def test_get_swap_estimated_settlement_price(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_estimated_settlement_price()) - print(result) - loop.close() - - def test_get_swap_adjustfactor(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_adjustfactor()) - print(result) - loop.close() - - def test_get_swap_insurance_fund(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_insurance_fund("BTC-USDT")) - print(result) - loop.close() - - def test_get_swap_risk_info(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_risk_info()) - print(result) - loop.close() - - def test_get_price_limit(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_price_limit()) - print(result) - loop.close() - - def test_get_swap_open_interest(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_open_interest()) - print(result) - loop.close() - - def test_get_swap_info(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_info()) - print(result) - loop.close() - - def test_get_swap_index(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_index()) - print(result) - loop.close() - - def test_get_swap_query_elements(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_query_elements()) - print(result) - loop.close() - - def test_get_timestamp(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_timestamp()) - print(result) - loop.close() - - def test_get_heartbeat(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_heartbeat()) - print(result) - loop.close() - - def test_get_summary(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_summary()) - print(result) - loop.close() - - -if __name__ == '__main__': - unittest.main(verbosity=2) diff --git a/tests/huobi_usdt_swap_test/restapi/test_rest_strategy_usdt_swap.py b/tests/huobi_usdt_swap_test/restapi/test_rest_strategy_usdt_swap.py deleted file mode 100644 index 4ce86d1..0000000 --- a/tests/huobi_usdt_swap_test/restapi/test_rest_strategy_usdt_swap.py +++ /dev/null @@ -1,131 +0,0 @@ -import asyncio -import sys -import unittest - -from alpha.platforms.huobi_usdt_swap.restapi.rest_strategy_usdt_swap import HuobiUsdtSwapRestStrategyAPI -from tests.config import config - -sys.path.append('..') - - -class TestRestStrategyUsdtSwap(unittest.TestCase): - @classmethod - def setUpClass(cls): - cls.api = HuobiUsdtSwapRestStrategyAPI(config["host"], config["access_key"], config["secret_key"]) - - def test_swap_trigger_order(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.swap_trigger_order("BTC-USDT", "ge", 1111, 111, "buy")) - print(result) - loop.close() - - def test_swap_trigger_cancel(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.swap_trigger_cancel("BTC-USDT", "456789123")) - print(result) - loop.close() - - def test_swap_trigger_cancelall(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.swap_trigger_cancelall("BTC-USDT")) - print(result) - loop.close() - - def test_get_swap_trigger_openorders(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_trigger_openorders("BTC-USDT")) - print(result) - loop.close() - - def test_get_swap_trigger_hisorders(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_trigger_hisorders("BTC-USDT", 0, 0, 30)) - print(result) - loop.close() - - def test_swap_tpsl_order(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.swap_tpsl_order("btc-usdt", "sell", 1)) - print(result) - loop.close() - - def test_swap_tpsl_cancel(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.swap_tpsl_cancel("BTC-USDT", "2345567123")) - print(result) - loop.close() - - def test_swap_tpsl_cancelall(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.swap_tpsl_cancelall("BTC-USDT")) - print(result) - loop.close() - - def test_get_swap_tpsl_openorders(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_tpsl_openorders("BTC-USDT")) - print(result) - loop.close() - - def test_get_swap_tpsl_hisorders(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_tpsl_hisorders("BTC-USDT", 0, 30)) - print(result) - loop.close() - - def test_get_swap_relation_tpsl_order(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_relation_tpsl_order("BTC-USDT", 3456678123)) - print(result) - loop.close() - - def test_swap_track_order(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.swap_track_order("BTC-USDT", "buy", 100, 0.01, - 1670, "optimal_5")) - print(result) - loop.close() - - def test_swap_track_cancel(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.swap_track_cancel("BTC-USDT", "456457123")) - print(result) - loop.close() - - def test_swap_track_cancelall(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.swap_track_cancelall("BTC-USDT")) - print(result) - loop.close() - - def test_swap_track_openorders(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.swap_track_openorders("BTC-USDT")) - print(result) - loop.close() - - def test_swap_track_hisorders(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.swap_track_hisorders("BTC-USDT", 0, 0, 30)) - print(result) - loop.close() - - -if __name__ == '__main__': - unittest.main(verbosity=2) diff --git a/tests/huobi_usdt_swap_test/restapi/test_rest_trade_usdt_swap.py b/tests/huobi_usdt_swap_test/restapi/test_rest_trade_usdt_swap.py deleted file mode 100644 index 2f31cae..0000000 --- a/tests/huobi_usdt_swap_test/restapi/test_rest_trade_usdt_swap.py +++ /dev/null @@ -1,163 +0,0 @@ -import asyncio -import sys -import unittest - -from alpha.platforms.huobi_usdt_swap.restapi.rest_trade_usdt_swap import HuobiUsdtSwapRestTradeAPI -from tests.config import config - -sys.path.append('..') - - -class TestRestTradeUsdtSwap(unittest.TestCase): - @classmethod - def setUpClass(cls): - cls.api = HuobiUsdtSwapRestTradeAPI(config["host"], config["access_key"], config["secret_key"]) - - def test_linear_cancel_after(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.linear_cancel_after(1)) - print(result) - loop.close() - - def test_swap_switch_position_mode(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.swap_switch_position_mode("BTC-USDT", "dual_side")) - print(result) - loop.close() - - def test_create_order(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.create_order(1, "buy", 5, "opponent")) - print(result) - loop.close() - - def test_create_orders(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.create_orders({ - "orders_data": [ - { - "contract_code": "btc-usdt", - "direction": "sell", - "offset": "open", - "price": "29999", - "lever_rate": 5, - "volume": 1, - "order_price_type": "opponent", - "tp_trigger_price": 27000, - "tp_order_price": 27000, - "tp_order_price_type": "optimal_5", - "sl_trigger_price": "30100", - "sl_order_price": "30100", - "sl_order_price_type": "optimal_5" - }, - { - "contract_code": "btc-usdt", - "direction": "buy", - "offset": "open", - "price": "29999", - "lever_rate": 5, - "volume": 1, - "order_price_type": "post_only", - "tp_trigger_price": 31000, - "tp_order_price": 31000, - "tp_order_price_type": "optimal_5", - "sl_trigger_price": "29100", - "sl_order_price": "29100", - "sl_order_price_type": "optimal_5" - } - ] - })) - print(result) - loop.close() - - def test_revoke_order(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.revoke_order("BTC-USDT")) - print(result) - loop.close() - - def test_revoke_order_all(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.revoke_order_all("BTC-USDT")) - print(result) - loop.close() - - def test_swap_switch_lever_rate(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.swap_switch_lever_rate("BTC-USDT", 20)) - print(result) - loop.close() - - def test_get_order_info(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_order_info("BTC-USDT")) - print(result) - loop.close() - - def test_get_order_detail(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_order_detail("BTC-USDT", "456234321")) - print(result) - loop.close() - - def test_get_open_orders(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_open_orders("BTC-USDT")) - print(result) - loop.close() - - def test_get_swap_hisorders(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_hisorders("BTC-USDT", 1, 0)) - print(result) - loop.close() - - def test_get_swap_hisorders_exact(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_hisorders_exact(0, 1, 0)) - print(result) - loop.close() - - def test_get_swap_matchresults(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_matchresults("limit")) - print(result) - loop.close() - - def test_get_swap_matchresults_exact(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_matchresults_exact("BTC-USDT", 0)) - print(result) - loop.close() - - def test_swap_lightning_close_position(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.swap_lightning_close_position("BTC-USDT", "buy")) - print(result) - loop.close() - - def test_get_swap_position_side(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.get_swap_position_side("BTC-USDT")) - print(result) - loop.close() - - -if __name__ == '__main__': - unittest.main(verbosity=2) diff --git a/tests/huobi_usdt_swap_test/restapi/test_rest_transfer_usdt_swap.py b/tests/huobi_usdt_swap_test/restapi/test_rest_transfer_usdt_swap.py deleted file mode 100644 index 53a1faa..0000000 --- a/tests/huobi_usdt_swap_test/restapi/test_rest_transfer_usdt_swap.py +++ /dev/null @@ -1,26 +0,0 @@ -import asyncio -import sys -import unittest - -from alpha.platforms.huobi_usdt_swap.restapi.rest_transfer_usdt_swap import HuobiUsdtSwapRestTransferAPI -from tests.config import config - -sys.path.append('..') - - -class TestRestTransferUsdtSwap(unittest.TestCase): - @classmethod - def setUpClass(cls): - cls.api = HuobiUsdtSwapRestTransferAPI(config["host"], config["access_key"], config["secret_key"]) - - def test_transfer_between_spot_swap(self): - loop = asyncio.get_event_loop() - result = loop.run_until_complete( - self.api.transfer_between_spot_swap("USDT", 100, "spot", "linear-swap", - "usdt")) - print(result) - loop.close() - - -if __name__ == '__main__': - unittest.main(verbosity=2) diff --git a/tests/huobi_usdt_swap_test/websocket/test_ws_account_usdt_swap.py b/tests/huobi_usdt_swap_test/websocket/test_ws_account_usdt_swap.py deleted file mode 100644 index 55a6171..0000000 --- a/tests/huobi_usdt_swap_test/websocket/test_ws_account_usdt_swap.py +++ /dev/null @@ -1,41 +0,0 @@ -import sys -import time -import unittest - -from alpha.platforms.huobi_usdt_swap.websocket.ws_account_usdt_swap import WsAccount -from alpha.utils import logger -from tests.config import config - -sys.path.append('..') - - -class TestWsAccountUsdtSwap(unittest.TestCase): - def _callback_1(self, jdata): - logger.info('_callback_1:{}'.format(jdata)) - - def _callback_2(self, jdata): - logger.info('_callback_2:{}'.format(jdata)) - - def test_sub(self): - ws1 = WsAccount(config['access_key'], config['secret_key']) - data = {"op": "sub", "topic": "accounts.BTC-USDT"} - ws1.sub(data, self._callback_1) - - ws2 = WsAccount(config['access_key'], config['secret_key']) - data = {"op": "sub", "topic": "accounts_cross.*"} - ws2.sub(data, self._callback_2) - - time.sleep(30) - data = {"op": "unsub", "topic": "accounts.BTC-USDT"} - ws1.unsub(data) - data = {"op": "unsub", "topic": "accounts_cross.*"} - ws2.unsub(data) - logger.info('unsub') - - time.sleep(10) - ws1.close() - ws2.close() - - -if __name__ == '__main__': - unittest.main(verbosity=2) diff --git a/tests/huobi_usdt_swap_test/websocket/test_ws_index_usdt_swap.py b/tests/huobi_usdt_swap_test/websocket/test_ws_index_usdt_swap.py deleted file mode 100644 index d2bd74e..0000000 --- a/tests/huobi_usdt_swap_test/websocket/test_ws_index_usdt_swap.py +++ /dev/null @@ -1,48 +0,0 @@ -import sys -import time -import unittest - -from alpha.platforms.huobi_usdt_swap.websocket.ws_index_usdt_swap import WsIndex -from alpha.utils import logger - -sys.path.append('..') - - -class TestWsIndexUsdtSwap(unittest.TestCase): - def _callback_1(self, jdata): - logger.info('_callback_1:{}'.format(jdata)) - - def _callback_2(self, jdata): - logger.info('_callback_2:{}'.format(jdata)) - - def test_sub(self): - ws1 = WsIndex() - data = {"sub": "market.BTC-USDT.index.1min"} - ws1.sub(data, self._callback_1) - - ws2 = WsIndex() - data = {"sub": "market.ETH-USDT.basis.1min.open"} - ws2.sub(data, self._callback_2) - - time.sleep(60) - ws1.close() - ws2.close() - - def test_req(self): - ws1 = WsIndex() - data = {"req": "market.BTC-USDT.index.1min", - "from": 1614320780, "to": 1614321780} - ws1.req(data, self._callback_1) - - ws2 = WsIndex() - data = {"req": "market.ETH-USDT.basis.1min.open", - "from": 1614321780, "to": 1614321780} - ws2.req(data, self._callback_2) - - time.sleep(60) - ws1.close() - ws2.close() - - -if __name__ == '__main__': - unittest.main(verbosity=2) diff --git a/tests/huobi_usdt_swap_test/websocket/test_ws_market_usdt_swap.py b/tests/huobi_usdt_swap_test/websocket/test_ws_market_usdt_swap.py deleted file mode 100644 index 22fe78e..0000000 --- a/tests/huobi_usdt_swap_test/websocket/test_ws_market_usdt_swap.py +++ /dev/null @@ -1,48 +0,0 @@ -import sys -import time -import unittest - -from alpha.platforms.huobi_usdt_swap.websocket.ws_market_usdt_swap import WsMarket -from alpha.utils import logger - -sys.path.append('..') - - -class TestWsMarketUsdtSwap(unittest.TestCase): - def _callback_1(self, jdata): - logger.info('_callback_1:{}'.format(jdata)) - - def _callback_2(self, jdata): - logger.info('_callback_2:{}'.format(jdata)) - - def test_sub(self): - ws1 = WsMarket() - data = {"sub": "market.BTC-USDT.kline.1min"} - ws1.sub(data, self._callback_1) - - ws2 = WsMarket() - data = {"sub": "market.BTC-USDT.trade.detail"} - ws2.sub(data, self._callback_2) - - time.sleep(60) - ws1.close() - ws2.close() - - def test_req(self): - ws1 = WsMarket() - data = {"req": "market.BTC-USDT.kline.1min", - "from": 1614320780, "to": 1614321780} - ws1.req(data, self._callback_1) - - ws2 = WsMarket() - data = {"req": "market.BTC-USDT.kline.1min", - "from": 1614321780, "to": 1614321780} - ws2.req(data, self._callback_2) - - time.sleep(60) - ws1.close() - ws2.close() - - -if __name__ == '__main__': - unittest.main(verbosity=2) diff --git a/tests/huobi_usdt_swap_test/websocket/test_ws_system_usdt_swap.py b/tests/huobi_usdt_swap_test/websocket/test_ws_system_usdt_swap.py deleted file mode 100644 index e8350f3..0000000 --- a/tests/huobi_usdt_swap_test/websocket/test_ws_system_usdt_swap.py +++ /dev/null @@ -1,25 +0,0 @@ -import sys -import time -import unittest - -from alpha.platforms.huobi_usdt_swap.websocket.ws_system_usdt_swap import WsSystem -from alpha.utils import logger - -sys.path.append('..') - - -class TestWsSystemUsdtSwap(unittest.TestCase): - def _callback(self, jdata): - logger.info('_callback:{}'.format(jdata)) - - def test_sub(self): - ws = WsSystem() - data = {"op": "sub", "topic": "public.linear-swap.heartbeat"} - ws.sub(data, self._callback) - - time.sleep(60) - ws.close() - - -if __name__ == '__main__': - unittest.main(verbosity=2) diff --git a/tests/test_http_utils.py b/tests/test_http_utils.py deleted file mode 100755 index 545e93e..0000000 --- a/tests/test_http_utils.py +++ /dev/null @@ -1,23 +0,0 @@ -import sys -import unittest - -from alpha.utils.http_utils import get, post -from config import * - -sys.path.append('..') - - -class TestHttpUtils(unittest.TestCase): - def test_get(self): - result = get( - config['host'], '/linear-swap-api/v1/swap_contract_info', {'contract_code': 'BTC-USDT'}) - self.assertEqual('ok', result['status']) - - def test_post(self): - result = post(config['access_key'], config['secret_key'], config['host'], - '/linear-swap-api/v1/swap_cross_account_info', {'margin_account': 'USDT'}) - self.assertEqual('ok', result['status']) - - -if __name__ == '__main__': - unittest.main(verbosity=2) diff --git a/tests/test_ws_utils.py b/tests/test_ws_utils.py deleted file mode 100755 index b8f1bbb..0000000 --- a/tests/test_ws_utils.py +++ /dev/null @@ -1,53 +0,0 @@ -import sys -import unittest -import time - -from alpha.utils import logger -from alpha.utils.ws_utils import WsUtils - -sys.path.append('..') - - -class TestWsUtils(unittest.TestCase): - - @classmethod - def setUpClass(cls): - cls.ws = WsUtils("/linear-swap-ws") - - def _callback_1(self, jdata): - logger.info('_callback_1:{}'.format(jdata)) - - def _callback_2(self, jdata): - logger.info('_callback_2:{}'.format(jdata)) - - def test_sub(self): - ch = "market.BTC-USDT.kline.1min" - id = "btc-usdt" - req = {"sub": ch, "id": id} - self.ws.sub(req, id, self._callback_1) - - ch = "market.ETH-USDT.kline.1min" - id = "eth-usdt" - req = {"sub": ch, "id": id} - self.ws.sub(req, id, self._callback_2) - - time.sleep(10) - self.ws.close() - - def test_req(self): - ch = "market.BTC-USDT.kline.1min" - id = "btc-usdt" - req = {"req": ch, "from": 1614320780, "to": 1614321780, "id": id} - self.ws.req(req, id, self._callback_1) - - ch = "market.ETH-USDT.kline.1min" - id = "eth-usdt" - req = {"req": ch, "from": 1614320780, "to": 1614321780, "id": id} - self.ws.req(req, id, self._callback_2) - - time.sleep(10) - self.ws.close() - - -if __name__ == '__main__': - unittest.main(verbosity=2) diff --git a/tests/websocket_test.py b/tests/websocket_test.py deleted file mode 100755 index e9883ad..0000000 --- a/tests/websocket_test.py +++ /dev/null @@ -1,145 +0,0 @@ -#!/usr/bin/env python - -import datetime -import uuid -import urllib -import asyncio -import websockets -import json -import hmac -import base64 -import hashlib -import gzip -import traceback - - - -def generate_signature(host, method, params, request_path, secret_key): - """Generate signature of huobi future. - - Args: - host: api domain url.PS: colo user should set this host as 'api.hbdm.com',not colo domain. - method: request method. - params: request params. - request_path: "/notification" - secret_key: api secret_key - - Returns: - singature string. - - """ - host_url = urllib.parse.urlparse(host).hostname.lower() - sorted_params = sorted(params.items(), key=lambda d: d[0], reverse=False) - encode_params = urllib.parse.urlencode(sorted_params) - payload = [method, host_url, request_path, encode_params] - payload = "\n".join(payload) - payload = payload.encode(encoding="UTF8") - secret_key = secret_key.encode(encoding="utf8") - digest = hmac.new(secret_key, payload, digestmod=hashlib.sha256).digest() - signature = base64.b64encode(digest) - signature = signature.decode() - return signature - -async def subscribe(url, access_key, secret_key, subs, callback=None, auth=False): - """ Huobi Future subscribe websockets. - - Args: - url: the url to be signatured. - access_key: API access_key. - secret_key: API secret_key. - subs: the data list to subscribe. - callback: the callback function to handle the ws data received. - auth: True: Need to be signatured. False: No need to be signatured. - - """ - async with websockets.connect(url) as websocket: - if auth: - timestamp = datetime.datetime.utcnow().strftime("%Y-%m-%dT%H:%M:%S") - data = { - "AccessKeyId": access_key, - "SignatureMethod": "HmacSHA256", - "SignatureVersion": "2", - "Timestamp": timestamp - } - sign = generate_signature(url,"GET", data, "/linear-swap-notification", secret_key) - data["op"] = "auth" - data["type"] = "api" - data["Signature"] = sign - msg_str = json.dumps(data) - await websocket.send(msg_str) - print(f"send: {msg_str}") - for sub in subs: - sub_str = json.dumps(sub) - await websocket.send(sub_str) - print(f"send: {sub_str}") - while True: - rsp = await websocket.recv() - data = json.loads(gzip.decompress(rsp).decode()) - print(f"recevie<--: {data}") - if "op" in data and data.get("op") == "ping": - pong_msg = {"op": "pong", "ts": data.get("ts")} - await websocket.send(json.dumps(pong_msg)) - print(f"send: {pong_msg}") - continue - if "ping" in data: - pong_msg = {"pong": data.get("ping")} - await websocket.send(json.dumps(pong_msg)) - print(f"send: {pong_msg}") - continue - rsp = await callback(data) - -async def handle_ws_data(*args, **kwargs): - """ callback function - Args: - args: values - kwargs: key-values. - """ - print("callback param", *args,**kwargs) - -if __name__ == "__main__": - #### input your access_key and secret_key below: - access_key = "" - secret_key = "" - - market_url = 'ws://api.hbdm.vn/linear-swap-ws' - order_url = 'wss://api.hbdm.vn/linear-swap-notification' - - market_subs = [ - - { - "sub": "market.BTC-USDT.kline.1min.open", - "id": "id1" - }, - { - "sub": "market.BTC-USDT.depth.step0", - "id": "id1" - } - - ] - order_subs = [ - { - "op": "sub", - "cid": str(uuid.uuid1()), - "topic": "orders.BTC-USDT" - }, - { - "op": "sub", - "cid": str(uuid.uuid1()), - "topic": "positions.BTC-USDT" - }, - { - "op": "sub", - "cid": str(uuid.uuid1()), - "topic": "accounts.BTC-USDT" - } - - ] - - while True: - try: - asyncio.get_event_loop().run_until_complete(subscribe(market_url, access_key, secret_key, market_subs, handle_ws_data, auth=False)) - #asyncio.get_event_loop().run_until_complete(subscribe(order_url, access_key, secret_key, order_subs, handle_ws_data, auth=True)) - #except (websockets.exceptions.ConnectionClosed): - except Exception as e: - traceback.print_exc() - print('websocket connection error. reconnect rightnow')