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 fac4b37..0000000 Binary files a/docs/framework.png and /dev/null differ diff --git a/examples/README.md b/examples/README.md deleted file mode 100644 index 711a31b..0000000 --- a/examples/README.md +++ /dev/null @@ -1,22 +0,0 @@ -### examples 使用说明 - -# 简介 - - examples文件夹里面分别有对应火币交割合约、火币永续合约、火币期权合约的例子,例子中的config.json代表合约的各种典型设置(比如symbol的配置使用等),strategy.py文件则是对应合约从订阅行情、订阅订单推送、仓位推送、账户推送到restful下撤单等的典型使用。 - - 通过例子的使用,您可以初步学会如何使用该框架去编写您自己的策略。 - -# 运行 - -配置好config.json文件后, -bash run.sh -就可以看到行情、订单、账户等信息等推送以及下撤单等功能的演示; - -# 风险提示 - -demo仅供学习演示使用,请勿用做正式用途,投资有风险! - -# 帮助 - -有使用问题请在https://github.com/hbdmapi/hbdm_Python/issues 发帖提问; - diff --git a/examples/huobi_future/config.json b/examples/huobi_future/config.json deleted file mode 100644 index 6180f3b..0000000 --- a/examples/huobi_future/config.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "SERVER_ID": "future_maker_strategy", - "LOG": { - "console": true, - "level": "DEBUG", - "path": "/data/logs/servers/future_maker_strategy", - "name": "future_maker_strategy.log", - "clear": true, - "backup_count": 5 - }, - "ACCOUNTS": [ - { - "platform": "huobi_future", - "account": "account", - "host": "https://api.hbdm.vn", - "wss": "wss://api.hbdm.vn", - "access_key": "", - "secret_key": "" - } - ], - "MARKETS": [ - { - "platform": "huobi_future", - "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", - "contract_type": "quarter" -} diff --git a/examples/huobi_future/config.json-e b/examples/huobi_future/config.json-e deleted file mode 100644 index f1fe83c..0000000 --- a/examples/huobi_future/config.json-e +++ /dev/null @@ -1,38 +0,0 @@ -{ - "SERVER_ID": "future_maker_strategy", - "LOG": { - "console": true, - "level": "INFO", - "path": "/data/logs/servers/future_maker_strategy", - "name": "future_maker_strategy.log", - "clear": true, - "backup_count": 5 - }, - "ACCOUNTS": [ - { - "platform": "huobi_future", - "account": "account", - "host": "https://api.hbdm.vn", - "wss": "wss://api.hbdm.vn", - "access_key": "access_key", - "secret_key": "secret_key" - } - ], - "MARKETS": [ - { - "platform": "huobi_future", - "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", - "contract_type": "quarter" -} diff --git a/examples/huobi_future/main.py b/examples/huobi_future/main.py deleted file mode 100644 index 5caa20f..0000000 --- a/examples/huobi_future/main.py +++ /dev/null @@ -1,33 +0,0 @@ -# -*— coding:utf-8 -*- - -""" -Huobi Future 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_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 0000000..8f8019e Binary files /dev/null and b/target/classes/com/huobi/api/constants/HuobiCoinMarginedSwapAPIOptions.class differ 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 0000000..d17e9c8 Binary files /dev/null and b/target/classes/com/huobi/api/constants/HuobiFutureAPIConstants.class differ diff --git a/target/classes/com/huobi/api/constants/HuobiLinearSwapAPIConstants.class b/target/classes/com/huobi/api/constants/HuobiLinearSwapAPIConstants.class new file mode 100644 index 0000000..ea3b343 Binary files /dev/null and b/target/classes/com/huobi/api/constants/HuobiLinearSwapAPIConstants.class differ 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 0000000..b14c57e Binary files /dev/null and b/target/classes/com/huobi/api/constants/HuobiLinearSwapCrossAPIConstants.class differ 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 0000000..4bbf946 Binary files /dev/null and b/target/classes/com/huobi/api/enums/DirectionEnum.class differ diff --git a/target/classes/com/huobi/api/enums/OffsetEnum.class b/target/classes/com/huobi/api/enums/OffsetEnum.class new file mode 100644 index 0000000..3060d5a Binary files /dev/null and b/target/classes/com/huobi/api/enums/OffsetEnum.class differ 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 0000000..3374d02 Binary files /dev/null and b/target/classes/com/huobi/api/enums/OrderPriceTypeEnum.class differ 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 0000000..c708326 Binary files /dev/null and b/target/classes/com/huobi/api/enums/OrderStatusEnum.class differ diff --git a/target/classes/com/huobi/api/enums/OrderTypeEnum.class b/target/classes/com/huobi/api/enums/OrderTypeEnum.class new file mode 100644 index 0000000..0522b98 Binary files /dev/null and b/target/classes/com/huobi/api/enums/OrderTypeEnum.class differ diff --git a/target/classes/com/huobi/api/enums/TimePeriodTypeEnum.class b/target/classes/com/huobi/api/enums/TimePeriodTypeEnum.class new file mode 100644 index 0000000..e2ac0e0 Binary files /dev/null and b/target/classes/com/huobi/api/enums/TimePeriodTypeEnum.class differ 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 0000000..02aeaba Binary files /dev/null and b/target/classes/com/huobi/api/enums/TradeTypeEnum.class differ 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 0000000..dc21498 Binary files /dev/null and b/target/classes/com/huobi/api/exception/ApiException.class differ 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 0000000..863fa6a Binary files /dev/null and b/target/classes/com/huobi/api/exception/HttpRequestException.class differ diff --git a/target/classes/com/huobi/api/request/coin_futures/account/ContractFinancialRecordExactRequest.class b/target/classes/com/huobi/api/request/coin_futures/account/ContractFinancialRecordExactRequest.class new file mode 100644 index 0000000..9a9ac6f Binary files /dev/null and b/target/classes/com/huobi/api/request/coin_futures/account/ContractFinancialRecordExactRequest.class differ 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 0000000..48891f2 Binary files /dev/null and b/target/classes/com/huobi/api/request/coin_futures/account/ContractFinancialRecordExactV3Request.class differ 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 0000000..18fb14e Binary files /dev/null and b/target/classes/com/huobi/api/request/coin_futures/account/ContractFinancialRecordRequest.class differ diff --git a/target/classes/com/huobi/api/request/coin_futures/account/ContractFinancialRecordV3Request.class b/target/classes/com/huobi/api/request/coin_futures/account/ContractFinancialRecordV3Request.class new file mode 100644 index 0000000..ecbb81d Binary files /dev/null and b/target/classes/com/huobi/api/request/coin_futures/account/ContractFinancialRecordV3Request.class differ diff --git a/target/classes/com/huobi/api/request/coin_futures/account/ContractMasterSubTransferRecordRequest.class b/target/classes/com/huobi/api/request/coin_futures/account/ContractMasterSubTransferRecordRequest.class new file mode 100644 index 0000000..4d71a37 Binary files /dev/null and b/target/classes/com/huobi/api/request/coin_futures/account/ContractMasterSubTransferRecordRequest.class differ 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 0000000..8cb4b4b Binary files /dev/null and b/target/classes/com/huobi/api/request/coin_futures/account/ContractMasterSubTransferRequest.class differ 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 0000000..6c3a8ea Binary files /dev/null and b/target/classes/com/huobi/api/request/coin_futures/account/ContractSettlementRecordsRequest.class differ diff --git a/target/classes/com/huobi/api/request/coin_futures/account/ContractSubAccountInfoListRequest.class b/target/classes/com/huobi/api/request/coin_futures/account/ContractSubAccountInfoListRequest.class new file mode 100644 index 0000000..33f38b9 Binary files /dev/null and b/target/classes/com/huobi/api/request/coin_futures/account/ContractSubAccountInfoListRequest.class differ 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 0000000..c91801a Binary files /dev/null and b/target/classes/com/huobi/api/request/coin_futures/account/ContractSubAuthListRequest.class differ 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 0000000..4b7b2fd Binary files /dev/null and b/target/classes/com/huobi/api/request/coin_futures/account/ContractUserSettlementRecordsRequest.class differ 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 0000000..7a237f9 Binary files /dev/null and b/target/classes/com/huobi/api/request/coin_futures/market/ContractLiquidationOrdersV3Request.class differ 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 0000000..be9fc30 Binary files /dev/null and b/target/classes/com/huobi/api/request/coin_futures/trade/ContractBatchorderRequest.class differ 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 0000000..cd0df31 Binary files /dev/null and b/target/classes/com/huobi/api/request/coin_futures/trade/ContractCancelAfterRequest.class differ 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 0000000..089680e Binary files /dev/null and b/target/classes/com/huobi/api/request/coin_futures/trade/ContractCancelRequest.class differ diff --git a/target/classes/com/huobi/api/request/coin_futures/trade/ContractCancelallRequest.class b/target/classes/com/huobi/api/request/coin_futures/trade/ContractCancelallRequest.class new file mode 100644 index 0000000..bae2523 Binary files /dev/null and b/target/classes/com/huobi/api/request/coin_futures/trade/ContractCancelallRequest.class differ diff --git a/target/classes/com/huobi/api/request/coin_futures/trade/ContractHisordersExactRequest.class b/target/classes/com/huobi/api/request/coin_futures/trade/ContractHisordersExactRequest.class new file mode 100644 index 0000000..06d7a78 Binary files /dev/null and b/target/classes/com/huobi/api/request/coin_futures/trade/ContractHisordersExactRequest.class differ 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 0000000..dad4af0 Binary files /dev/null and b/target/classes/com/huobi/api/request/coin_futures/trade/ContractHisordersExactV3Request.class differ 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 0000000..ec26c14 Binary files /dev/null and b/target/classes/com/huobi/api/request/coin_futures/trade/ContractHisordersRequest.class differ diff --git a/target/classes/com/huobi/api/request/coin_futures/trade/ContractHisordersV3Request.class b/target/classes/com/huobi/api/request/coin_futures/trade/ContractHisordersV3Request.class new file mode 100644 index 0000000..b9b30e3 Binary files /dev/null and b/target/classes/com/huobi/api/request/coin_futures/trade/ContractHisordersV3Request.class differ 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 0000000..ec8ec40 Binary files /dev/null and b/target/classes/com/huobi/api/request/coin_futures/trade/ContractMatchResultsExactV3Request.class differ diff --git a/target/classes/com/huobi/api/request/coin_futures/trade/ContractMatchResultsV3Request.class b/target/classes/com/huobi/api/request/coin_futures/trade/ContractMatchResultsV3Request.class new file mode 100644 index 0000000..02c63f7 Binary files /dev/null and b/target/classes/com/huobi/api/request/coin_futures/trade/ContractMatchResultsV3Request.class differ diff --git a/target/classes/com/huobi/api/request/coin_futures/trade/ContractMatchresultsExactRequest.class b/target/classes/com/huobi/api/request/coin_futures/trade/ContractMatchresultsExactRequest.class new file mode 100644 index 0000000..4fc5b6b Binary files /dev/null and b/target/classes/com/huobi/api/request/coin_futures/trade/ContractMatchresultsExactRequest.class differ 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 0000000..aa2da0b Binary files /dev/null and b/target/classes/com/huobi/api/request/coin_futures/trade/ContractMatchresultsRequest.class differ 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 0000000..a3941f6 Binary files /dev/null and b/target/classes/com/huobi/api/request/coin_futures/trade/ContractOpenordersRequest.class differ 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 0000000..179204f Binary files /dev/null and b/target/classes/com/huobi/api/request/coin_futures/trade/ContractOrderDetailRequest.class differ diff --git a/target/classes/com/huobi/api/request/coin_futures/trade/ContractOrderInfoRequest.class b/target/classes/com/huobi/api/request/coin_futures/trade/ContractOrderInfoRequest.class new file mode 100644 index 0000000..3140c16 Binary files /dev/null and b/target/classes/com/huobi/api/request/coin_futures/trade/ContractOrderInfoRequest.class differ 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 0000000..d9554e6 Binary files /dev/null and b/target/classes/com/huobi/api/request/coin_futures/trade/ContractOrderRequest.class differ 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 0000000..2fb26f5 Binary files /dev/null and b/target/classes/com/huobi/api/request/coin_futures/trade/ContractRelationTpslOrderRequest.class differ diff --git a/target/classes/com/huobi/api/request/coin_futures/trade/ContractTpslCancelRequest.class b/target/classes/com/huobi/api/request/coin_futures/trade/ContractTpslCancelRequest.class new file mode 100644 index 0000000..17e090e Binary files /dev/null and b/target/classes/com/huobi/api/request/coin_futures/trade/ContractTpslCancelRequest.class differ 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 0000000..f1e9a49 Binary files /dev/null and b/target/classes/com/huobi/api/request/coin_futures/trade/ContractTpslCancelallRequest.class differ 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 0000000..e01ba17 Binary files /dev/null and b/target/classes/com/huobi/api/request/coin_futures/trade/ContractTpslHisordersRequset.class differ 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 0000000..26d02a7 Binary files /dev/null and b/target/classes/com/huobi/api/request/coin_futures/trade/ContractTpslOpenordersRequest.class differ diff --git a/target/classes/com/huobi/api/request/coin_futures/trade/ContractTpslOrderRequest.class b/target/classes/com/huobi/api/request/coin_futures/trade/ContractTpslOrderRequest.class new file mode 100644 index 0000000..15734fa Binary files /dev/null and b/target/classes/com/huobi/api/request/coin_futures/trade/ContractTpslOrderRequest.class differ diff --git a/target/classes/com/huobi/api/request/coin_futures/trade/ContractTrackCancelRequest.class b/target/classes/com/huobi/api/request/coin_futures/trade/ContractTrackCancelRequest.class new file mode 100644 index 0000000..5780a89 Binary files /dev/null and b/target/classes/com/huobi/api/request/coin_futures/trade/ContractTrackCancelRequest.class differ diff --git a/target/classes/com/huobi/api/request/coin_futures/trade/ContractTrackCancelallRequest.class b/target/classes/com/huobi/api/request/coin_futures/trade/ContractTrackCancelallRequest.class new file mode 100644 index 0000000..448a906 Binary files /dev/null and b/target/classes/com/huobi/api/request/coin_futures/trade/ContractTrackCancelallRequest.class differ 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 0000000..36c6379 Binary files /dev/null and b/target/classes/com/huobi/api/request/coin_futures/trade/ContractTrackHisordersRequest.class differ 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 0000000..68b4a75 Binary files /dev/null and b/target/classes/com/huobi/api/request/coin_futures/trade/ContractTrackOpenordersRequest.class differ diff --git a/target/classes/com/huobi/api/request/coin_futures/trade/ContractTrackOrderRequest.class b/target/classes/com/huobi/api/request/coin_futures/trade/ContractTrackOrderRequest.class new file mode 100644 index 0000000..04ddf4a Binary files /dev/null and b/target/classes/com/huobi/api/request/coin_futures/trade/ContractTrackOrderRequest.class differ 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 0000000..4342dbe Binary files /dev/null and b/target/classes/com/huobi/api/request/coin_futures/trade/ContractTriggerCancelRequest.class differ 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 0000000..c76cf55 Binary files /dev/null and b/target/classes/com/huobi/api/request/coin_futures/trade/ContractTriggerCancelallRequest.class differ 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 0000000..ded5627 Binary files /dev/null and b/target/classes/com/huobi/api/request/coin_futures/trade/ContractTriggerHisordersRequest.class differ diff --git a/target/classes/com/huobi/api/request/coin_futures/trade/ContractTriggerOpenordersRequest.class b/target/classes/com/huobi/api/request/coin_futures/trade/ContractTriggerOpenordersRequest.class new file mode 100644 index 0000000..3e5c56b Binary files /dev/null and b/target/classes/com/huobi/api/request/coin_futures/trade/ContractTriggerOpenordersRequest.class differ 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 0000000..691f414 Binary files /dev/null and b/target/classes/com/huobi/api/request/coin_futures/trade/ContractTriggerOrderRequest.class differ diff --git a/target/classes/com/huobi/api/request/coin_futures/trade/LightningClosePositionRequest.class b/target/classes/com/huobi/api/request/coin_futures/trade/LightningClosePositionRequest.class new file mode 100644 index 0000000..53678f2 Binary files /dev/null and b/target/classes/com/huobi/api/request/coin_futures/trade/LightningClosePositionRequest.class differ 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 0000000..195aff4 Binary files /dev/null and b/target/classes/com/huobi/api/request/coin_futures/transfer/AccountTransferRequest.class differ diff --git a/target/classes/com/huobi/api/request/coin_swap/account/LinearSwapBasisRequest.class b/target/classes/com/huobi/api/request/coin_swap/account/LinearSwapBasisRequest.class new file mode 100644 index 0000000..6d7f4c4 Binary files /dev/null and b/target/classes/com/huobi/api/request/coin_swap/account/LinearSwapBasisRequest.class differ 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 0000000..548e8f4 Binary files /dev/null and b/target/classes/com/huobi/api/request/coin_swap/account/SwapFinancialRecordExactRequest.class differ 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 0000000..57e07f8 Binary files /dev/null and b/target/classes/com/huobi/api/request/coin_swap/account/SwapFinancialRecordExactV3Request.class differ 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 0000000..2913dcc Binary files /dev/null and b/target/classes/com/huobi/api/request/coin_swap/account/SwapFinancialRecordRequest.class differ 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 0000000..b9de61e Binary files /dev/null and b/target/classes/com/huobi/api/request/coin_swap/account/SwapFinancialRecordV3Request.class differ diff --git a/target/classes/com/huobi/api/request/coin_swap/account/SwapLiquidationOrdersRequest.class b/target/classes/com/huobi/api/request/coin_swap/account/SwapLiquidationOrdersRequest.class new file mode 100644 index 0000000..0c7ffa0 Binary files /dev/null and b/target/classes/com/huobi/api/request/coin_swap/account/SwapLiquidationOrdersRequest.class differ 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 0000000..3772ef3 Binary files /dev/null and b/target/classes/com/huobi/api/request/coin_swap/account/SwapMarketHistoryKlineRequest.class differ 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 0000000..0d84cb8 Binary files /dev/null and b/target/classes/com/huobi/api/request/coin_swap/account/SwapMasterSubTransferRecordRequest.class differ diff --git a/target/classes/com/huobi/api/request/coin_swap/account/SwapMasterSubTransferRequest.class b/target/classes/com/huobi/api/request/coin_swap/account/SwapMasterSubTransferRequest.class new file mode 100644 index 0000000..0be3434 Binary files /dev/null and b/target/classes/com/huobi/api/request/coin_swap/account/SwapMasterSubTransferRequest.class differ diff --git a/target/classes/com/huobi/api/request/coin_swap/account/SwapUserSettlementRecordsRequest.class b/target/classes/com/huobi/api/request/coin_swap/account/SwapUserSettlementRecordsRequest.class new file mode 100644 index 0000000..886c33c Binary files /dev/null and b/target/classes/com/huobi/api/request/coin_swap/account/SwapUserSettlementRecordsRequest.class differ 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 0000000..d871c20 Binary files /dev/null and b/target/classes/com/huobi/api/request/coin_swap/market/SwapSettlementRecordsRequest.class differ diff --git a/target/classes/com/huobi/api/request/coin_swap/trade/SwapBatchorderRequest.class b/target/classes/com/huobi/api/request/coin_swap/trade/SwapBatchorderRequest.class new file mode 100644 index 0000000..bfaf2ac Binary files /dev/null and b/target/classes/com/huobi/api/request/coin_swap/trade/SwapBatchorderRequest.class differ 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 0000000..f768c2c Binary files /dev/null and b/target/classes/com/huobi/api/request/coin_swap/trade/SwapCancelAfterRequest.class differ 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 0000000..67253e0 Binary files /dev/null and b/target/classes/com/huobi/api/request/coin_swap/trade/SwapCancelRequest.class differ 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 0000000..0dec025 Binary files /dev/null and b/target/classes/com/huobi/api/request/coin_swap/trade/SwapCancelallRequest.class differ diff --git a/target/classes/com/huobi/api/request/coin_swap/trade/SwapHisordersExectRequest.class b/target/classes/com/huobi/api/request/coin_swap/trade/SwapHisordersExectRequest.class new file mode 100644 index 0000000..aa7461f Binary files /dev/null and b/target/classes/com/huobi/api/request/coin_swap/trade/SwapHisordersExectRequest.class differ diff --git a/target/classes/com/huobi/api/request/coin_swap/trade/SwapHisordersRequest.class b/target/classes/com/huobi/api/request/coin_swap/trade/SwapHisordersRequest.class new file mode 100644 index 0000000..6201496 Binary files /dev/null and b/target/classes/com/huobi/api/request/coin_swap/trade/SwapHisordersRequest.class differ 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 0000000..76c7322 Binary files /dev/null and b/target/classes/com/huobi/api/request/coin_swap/trade/SwapLightningClosePositionRequest.class differ 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 0000000..f2a65ad Binary files /dev/null and b/target/classes/com/huobi/api/request/coin_swap/trade/SwapMatchresultsExactRequest.class differ 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 0000000..cceb813 Binary files /dev/null and b/target/classes/com/huobi/api/request/coin_swap/trade/SwapMatchresultsRequest.class differ 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 0000000..5afe020 Binary files /dev/null and b/target/classes/com/huobi/api/request/coin_swap/trade/SwapOpenordersRequest.class differ diff --git a/target/classes/com/huobi/api/request/coin_swap/trade/SwapOrderDetailRequest.class b/target/classes/com/huobi/api/request/coin_swap/trade/SwapOrderDetailRequest.class new file mode 100644 index 0000000..698ef18 Binary files /dev/null and b/target/classes/com/huobi/api/request/coin_swap/trade/SwapOrderDetailRequest.class differ diff --git a/target/classes/com/huobi/api/request/coin_swap/trade/SwapOrderInfoRequest.class b/target/classes/com/huobi/api/request/coin_swap/trade/SwapOrderInfoRequest.class new file mode 100644 index 0000000..5e3ee76 Binary files /dev/null and b/target/classes/com/huobi/api/request/coin_swap/trade/SwapOrderInfoRequest.class differ 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 0000000..98eb45c Binary files /dev/null and b/target/classes/com/huobi/api/request/coin_swap/trade/SwapOrderRequest.class differ diff --git a/target/classes/com/huobi/api/request/coin_swap/trade/SwapRelationTpslOrderRequest.class b/target/classes/com/huobi/api/request/coin_swap/trade/SwapRelationTpslOrderRequest.class new file mode 100644 index 0000000..160bf42 Binary files /dev/null and b/target/classes/com/huobi/api/request/coin_swap/trade/SwapRelationTpslOrderRequest.class differ 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 0000000..c269d85 Binary files /dev/null and b/target/classes/com/huobi/api/request/coin_swap/trade/SwapTpslCancelRequest.class differ diff --git a/target/classes/com/huobi/api/request/coin_swap/trade/SwapTpslCancelallRequest.class b/target/classes/com/huobi/api/request/coin_swap/trade/SwapTpslCancelallRequest.class new file mode 100644 index 0000000..114c199 Binary files /dev/null and b/target/classes/com/huobi/api/request/coin_swap/trade/SwapTpslCancelallRequest.class differ 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 0000000..c4e25d4 Binary files /dev/null and b/target/classes/com/huobi/api/request/coin_swap/trade/SwapTpslHisordersRequset.class differ diff --git a/target/classes/com/huobi/api/request/coin_swap/trade/SwapTpslOpenordersRequest.class b/target/classes/com/huobi/api/request/coin_swap/trade/SwapTpslOpenordersRequest.class new file mode 100644 index 0000000..1550540 Binary files /dev/null and b/target/classes/com/huobi/api/request/coin_swap/trade/SwapTpslOpenordersRequest.class differ diff --git a/target/classes/com/huobi/api/request/coin_swap/trade/SwapTpslOrderRequest.class b/target/classes/com/huobi/api/request/coin_swap/trade/SwapTpslOrderRequest.class new file mode 100644 index 0000000..020f449 Binary files /dev/null and b/target/classes/com/huobi/api/request/coin_swap/trade/SwapTpslOrderRequest.class differ 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 0000000..0db7386 Binary files /dev/null and b/target/classes/com/huobi/api/request/coin_swap/trade/SwapTrackCancelRequest.class differ diff --git a/target/classes/com/huobi/api/request/coin_swap/trade/SwapTrackCancelallRequest.class b/target/classes/com/huobi/api/request/coin_swap/trade/SwapTrackCancelallRequest.class new file mode 100644 index 0000000..652a9ef Binary files /dev/null and b/target/classes/com/huobi/api/request/coin_swap/trade/SwapTrackCancelallRequest.class differ diff --git a/target/classes/com/huobi/api/request/coin_swap/trade/SwapTrackHisordersRequest.class b/target/classes/com/huobi/api/request/coin_swap/trade/SwapTrackHisordersRequest.class new file mode 100644 index 0000000..9d43088 Binary files /dev/null and b/target/classes/com/huobi/api/request/coin_swap/trade/SwapTrackHisordersRequest.class differ 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 0000000..6824860 Binary files /dev/null and b/target/classes/com/huobi/api/request/coin_swap/trade/SwapTrackOpenordersRequest.class differ 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 0000000..06ebea0 Binary files /dev/null and b/target/classes/com/huobi/api/request/coin_swap/trade/SwapTrackOrderRequest.class differ diff --git a/target/classes/com/huobi/api/request/coin_swap/trade/SwapTriggerCancelRequest.class b/target/classes/com/huobi/api/request/coin_swap/trade/SwapTriggerCancelRequest.class new file mode 100644 index 0000000..186105e Binary files /dev/null and b/target/classes/com/huobi/api/request/coin_swap/trade/SwapTriggerCancelRequest.class differ 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 0000000..232c1ff Binary files /dev/null and b/target/classes/com/huobi/api/request/coin_swap/trade/SwapTriggerCancelallRequest.class differ diff --git a/target/classes/com/huobi/api/request/coin_swap/trade/SwapTriggerHisordersRequest.class b/target/classes/com/huobi/api/request/coin_swap/trade/SwapTriggerHisordersRequest.class new file mode 100644 index 0000000..9b243fc Binary files /dev/null and b/target/classes/com/huobi/api/request/coin_swap/trade/SwapTriggerHisordersRequest.class differ diff --git a/target/classes/com/huobi/api/request/coin_swap/trade/SwapTriggerOpenordersRequest.class b/target/classes/com/huobi/api/request/coin_swap/trade/SwapTriggerOpenordersRequest.class new file mode 100644 index 0000000..a55f105 Binary files /dev/null and b/target/classes/com/huobi/api/request/coin_swap/trade/SwapTriggerOpenordersRequest.class differ diff --git a/target/classes/com/huobi/api/request/coin_swap/trade/SwapTriggerOrderRequest.class b/target/classes/com/huobi/api/request/coin_swap/trade/SwapTriggerOrderRequest.class new file mode 100644 index 0000000..af3ea6f Binary files /dev/null and b/target/classes/com/huobi/api/request/coin_swap/trade/SwapTriggerOrderRequest.class differ diff --git a/target/classes/com/huobi/api/request/coin_swap/transfer/UsdtSwapTransferRequest.class b/target/classes/com/huobi/api/request/coin_swap/transfer/UsdtSwapTransferRequest.class new file mode 100644 index 0000000..5f42429 Binary files /dev/null and b/target/classes/com/huobi/api/request/coin_swap/transfer/UsdtSwapTransferRequest.class differ 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 0000000..c25db8f Binary files /dev/null and b/target/classes/com/huobi/api/request/usdt/account/FixPositionMarginChangeRecordRequest.class differ diff --git a/target/classes/com/huobi/api/request/usdt/account/FixPositionMarginChangeRequest.class b/target/classes/com/huobi/api/request/usdt/account/FixPositionMarginChangeRequest.class new file mode 100644 index 0000000..d3ed651 Binary files /dev/null and b/target/classes/com/huobi/api/request/usdt/account/FixPositionMarginChangeRequest.class differ 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 0000000..f71a734 Binary files /dev/null and b/target/classes/com/huobi/api/request/usdt/account/LinearSwapBasisRequest.class differ diff --git a/target/classes/com/huobi/api/request/usdt/account/SwapCrossLeverPositionLimitRequest.class b/target/classes/com/huobi/api/request/usdt/account/SwapCrossLeverPositionLimitRequest.class new file mode 100644 index 0000000..aa2ea13 Binary files /dev/null and b/target/classes/com/huobi/api/request/usdt/account/SwapCrossLeverPositionLimitRequest.class differ diff --git a/target/classes/com/huobi/api/request/usdt/account/SwapCrossUserSettlementRecordsRequest.class b/target/classes/com/huobi/api/request/usdt/account/SwapCrossUserSettlementRecordsRequest.class new file mode 100644 index 0000000..9d4803d Binary files /dev/null and b/target/classes/com/huobi/api/request/usdt/account/SwapCrossUserSettlementRecordsRequest.class differ 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 0000000..113a69a Binary files /dev/null and b/target/classes/com/huobi/api/request/usdt/account/SwapFinancialRecordExactRequest.class differ 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 0000000..a0f7049 Binary files /dev/null and b/target/classes/com/huobi/api/request/usdt/account/SwapFinancialRecordExactV3Request.class differ diff --git a/target/classes/com/huobi/api/request/usdt/account/SwapFinancialRecordRequest.class b/target/classes/com/huobi/api/request/usdt/account/SwapFinancialRecordRequest.class new file mode 100644 index 0000000..969a81b Binary files /dev/null and b/target/classes/com/huobi/api/request/usdt/account/SwapFinancialRecordRequest.class differ diff --git a/target/classes/com/huobi/api/request/usdt/account/SwapFinancialRecordV3Request.class b/target/classes/com/huobi/api/request/usdt/account/SwapFinancialRecordV3Request.class new file mode 100644 index 0000000..9d0bf11 Binary files /dev/null and b/target/classes/com/huobi/api/request/usdt/account/SwapFinancialRecordV3Request.class differ 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 0000000..677248d Binary files /dev/null and b/target/classes/com/huobi/api/request/usdt/account/SwapLiquidationOrdersRequest.class differ 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 0000000..5d0003a Binary files /dev/null and b/target/classes/com/huobi/api/request/usdt/account/SwapLiquidationOrdersV3Request.class differ diff --git a/target/classes/com/huobi/api/request/usdt/account/SwapMarketHistoryKlineRequest.class b/target/classes/com/huobi/api/request/usdt/account/SwapMarketHistoryKlineRequest.class new file mode 100644 index 0000000..eff1ccb Binary files /dev/null and b/target/classes/com/huobi/api/request/usdt/account/SwapMarketHistoryKlineRequest.class differ diff --git a/target/classes/com/huobi/api/request/usdt/account/SwapMasterSubTransferRecordRequest.class b/target/classes/com/huobi/api/request/usdt/account/SwapMasterSubTransferRecordRequest.class new file mode 100644 index 0000000..e955610 Binary files /dev/null and b/target/classes/com/huobi/api/request/usdt/account/SwapMasterSubTransferRecordRequest.class differ diff --git a/target/classes/com/huobi/api/request/usdt/account/SwapMasterSubTransferRequest.class b/target/classes/com/huobi/api/request/usdt/account/SwapMasterSubTransferRequest.class new file mode 100644 index 0000000..cbe0a45 Binary files /dev/null and b/target/classes/com/huobi/api/request/usdt/account/SwapMasterSubTransferRequest.class differ 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 0000000..79ede57 Binary files /dev/null and b/target/classes/com/huobi/api/request/usdt/account/SwapSubAuthListRequest.class differ 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 0000000..c6e1d23 Binary files /dev/null and b/target/classes/com/huobi/api/request/usdt/account/SwapUserSettlementRecordsRequest.class differ 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 0000000..6c5fcb3 Binary files /dev/null and b/target/classes/com/huobi/api/request/usdt/trade/LinearCancelAfterRequest.class differ 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 0000000..8671a7d Binary files /dev/null and b/target/classes/com/huobi/api/request/usdt/trade/SwapBatchorderRequest.class differ diff --git a/target/classes/com/huobi/api/request/usdt/trade/SwapCancelRequest.class b/target/classes/com/huobi/api/request/usdt/trade/SwapCancelRequest.class new file mode 100644 index 0000000..42eb580 Binary files /dev/null and b/target/classes/com/huobi/api/request/usdt/trade/SwapCancelRequest.class differ diff --git a/target/classes/com/huobi/api/request/usdt/trade/SwapCancelallRequest.class b/target/classes/com/huobi/api/request/usdt/trade/SwapCancelallRequest.class new file mode 100644 index 0000000..76db3a3 Binary files /dev/null and b/target/classes/com/huobi/api/request/usdt/trade/SwapCancelallRequest.class differ 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 0000000..6327f23 Binary files /dev/null and b/target/classes/com/huobi/api/request/usdt/trade/SwapCrossBatchorderRequest.class differ 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 0000000..0c47702 Binary files /dev/null and b/target/classes/com/huobi/api/request/usdt/trade/SwapCrossCancelRequest.class differ 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 0000000..67bf061 Binary files /dev/null and b/target/classes/com/huobi/api/request/usdt/trade/SwapCrossCancelallRequest.class differ diff --git a/target/classes/com/huobi/api/request/usdt/trade/SwapCrossHisordersExactV3Request.class b/target/classes/com/huobi/api/request/usdt/trade/SwapCrossHisordersExactV3Request.class new file mode 100644 index 0000000..56fb04f Binary files /dev/null and b/target/classes/com/huobi/api/request/usdt/trade/SwapCrossHisordersExactV3Request.class differ 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 0000000..fe3841f Binary files /dev/null and b/target/classes/com/huobi/api/request/usdt/trade/SwapCrossHisordersRequest.class differ 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 0000000..0264b0a Binary files /dev/null and b/target/classes/com/huobi/api/request/usdt/trade/SwapCrossHisordersV3Request.class differ diff --git a/target/classes/com/huobi/api/request/usdt/trade/SwapCrossLightningClosePositionRequest.class b/target/classes/com/huobi/api/request/usdt/trade/SwapCrossLightningClosePositionRequest.class new file mode 100644 index 0000000..798d10a Binary files /dev/null and b/target/classes/com/huobi/api/request/usdt/trade/SwapCrossLightningClosePositionRequest.class differ 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 0000000..61e3c18 Binary files /dev/null and b/target/classes/com/huobi/api/request/usdt/trade/SwapCrossMatchResultsExactV3Request.class differ 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 0000000..000ebfc Binary files /dev/null and b/target/classes/com/huobi/api/request/usdt/trade/SwapCrossMatchResultsV3Request.class differ diff --git a/target/classes/com/huobi/api/request/usdt/trade/SwapCrossMatchresultsRequest.class b/target/classes/com/huobi/api/request/usdt/trade/SwapCrossMatchresultsRequest.class new file mode 100644 index 0000000..bfabd6e Binary files /dev/null and b/target/classes/com/huobi/api/request/usdt/trade/SwapCrossMatchresultsRequest.class differ 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 0000000..1e521e0 Binary files /dev/null and b/target/classes/com/huobi/api/request/usdt/trade/SwapCrossOpenordersRequest.class differ diff --git a/target/classes/com/huobi/api/request/usdt/trade/SwapCrossOrderDetailRequest.class b/target/classes/com/huobi/api/request/usdt/trade/SwapCrossOrderDetailRequest.class new file mode 100644 index 0000000..24453c0 Binary files /dev/null and b/target/classes/com/huobi/api/request/usdt/trade/SwapCrossOrderDetailRequest.class differ 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 0000000..1625986 Binary files /dev/null and b/target/classes/com/huobi/api/request/usdt/trade/SwapCrossOrderInfoRequest.class differ diff --git a/target/classes/com/huobi/api/request/usdt/trade/SwapCrossOrderRequest.class b/target/classes/com/huobi/api/request/usdt/trade/SwapCrossOrderRequest.class new file mode 100644 index 0000000..38afd62 Binary files /dev/null and b/target/classes/com/huobi/api/request/usdt/trade/SwapCrossOrderRequest.class differ diff --git a/target/classes/com/huobi/api/request/usdt/trade/SwapCrossTriggerCancelRequest.class b/target/classes/com/huobi/api/request/usdt/trade/SwapCrossTriggerCancelRequest.class new file mode 100644 index 0000000..0ffd223 Binary files /dev/null and b/target/classes/com/huobi/api/request/usdt/trade/SwapCrossTriggerCancelRequest.class differ 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 0000000..4505a63 Binary files /dev/null and b/target/classes/com/huobi/api/request/usdt/trade/SwapCrossTriggerCancelallRequest.class differ 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 0000000..2e25d94 Binary files /dev/null and b/target/classes/com/huobi/api/request/usdt/trade/SwapCrossTriggerHisordersRequest.class differ 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 0000000..54096f1 Binary files /dev/null and b/target/classes/com/huobi/api/request/usdt/trade/SwapCrossTriggerOpenordersRequest.class differ 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 0000000..65bb721 Binary files /dev/null and b/target/classes/com/huobi/api/request/usdt/trade/SwapCrossTriggerOrderRequest.class differ diff --git a/target/classes/com/huobi/api/request/usdt/trade/SwapHisordersExactRequest.class b/target/classes/com/huobi/api/request/usdt/trade/SwapHisordersExactRequest.class new file mode 100644 index 0000000..4ca6f22 Binary files /dev/null and b/target/classes/com/huobi/api/request/usdt/trade/SwapHisordersExactRequest.class differ 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 0000000..1c59b97 Binary files /dev/null and b/target/classes/com/huobi/api/request/usdt/trade/SwapHisordersExactV3Request.class differ 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 0000000..7c049af Binary files /dev/null and b/target/classes/com/huobi/api/request/usdt/trade/SwapHisordersRequest.class differ diff --git a/target/classes/com/huobi/api/request/usdt/trade/SwapHisordersV3Request.class b/target/classes/com/huobi/api/request/usdt/trade/SwapHisordersV3Request.class new file mode 100644 index 0000000..c7a7508 Binary files /dev/null and b/target/classes/com/huobi/api/request/usdt/trade/SwapHisordersV3Request.class differ 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 0000000..64df265 Binary files /dev/null and b/target/classes/com/huobi/api/request/usdt/trade/SwapLightningClosePositionRequest.class differ diff --git a/target/classes/com/huobi/api/request/usdt/trade/SwapMatchResultsExactV3Request.class b/target/classes/com/huobi/api/request/usdt/trade/SwapMatchResultsExactV3Request.class new file mode 100644 index 0000000..6db2714 Binary files /dev/null and b/target/classes/com/huobi/api/request/usdt/trade/SwapMatchResultsExactV3Request.class differ diff --git a/target/classes/com/huobi/api/request/usdt/trade/SwapMatchResultsV3Request.class b/target/classes/com/huobi/api/request/usdt/trade/SwapMatchResultsV3Request.class new file mode 100644 index 0000000..0d1e77a Binary files /dev/null and b/target/classes/com/huobi/api/request/usdt/trade/SwapMatchResultsV3Request.class differ 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 0000000..8f335ca Binary files /dev/null and b/target/classes/com/huobi/api/request/usdt/trade/SwapMatchresultsExactRequest.class differ 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 0000000..63d3973 Binary files /dev/null and b/target/classes/com/huobi/api/request/usdt/trade/SwapMatchresultsRequest.class differ 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 0000000..3a85c15 Binary files /dev/null and b/target/classes/com/huobi/api/request/usdt/trade/SwapOpenordersRequest.class differ diff --git a/target/classes/com/huobi/api/request/usdt/trade/SwapOrderDetailRequest.class b/target/classes/com/huobi/api/request/usdt/trade/SwapOrderDetailRequest.class new file mode 100644 index 0000000..6af5214 Binary files /dev/null and b/target/classes/com/huobi/api/request/usdt/trade/SwapOrderDetailRequest.class differ diff --git a/target/classes/com/huobi/api/request/usdt/trade/SwapOrderInfoRequest.class b/target/classes/com/huobi/api/request/usdt/trade/SwapOrderInfoRequest.class new file mode 100644 index 0000000..94f4cf8 Binary files /dev/null and b/target/classes/com/huobi/api/request/usdt/trade/SwapOrderInfoRequest.class differ 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 0000000..f4922a6 Binary files /dev/null and b/target/classes/com/huobi/api/request/usdt/trade/SwapOrderRequest.class differ diff --git a/target/classes/com/huobi/api/request/usdt/trade/SwapPositionSideRequest.class b/target/classes/com/huobi/api/request/usdt/trade/SwapPositionSideRequest.class new file mode 100644 index 0000000..0429249 Binary files /dev/null and b/target/classes/com/huobi/api/request/usdt/trade/SwapPositionSideRequest.class differ 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 0000000..a90f99f Binary files /dev/null and b/target/classes/com/huobi/api/request/usdt/trade/SwapRelationTpslOrderRequest.class differ 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 0000000..330f273 Binary files /dev/null and b/target/classes/com/huobi/api/request/usdt/trade/SwapTpslCancelRequest.class differ 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 0000000..a5d91f4 Binary files /dev/null and b/target/classes/com/huobi/api/request/usdt/trade/SwapTpslCancelallRequest.class differ 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 0000000..8ab9c82 Binary files /dev/null and b/target/classes/com/huobi/api/request/usdt/trade/SwapTpslHisordersRequset.class differ 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 0000000..53951d6 Binary files /dev/null and b/target/classes/com/huobi/api/request/usdt/trade/SwapTpslOpenordersRequest.class differ 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 0000000..9a11c87 Binary files /dev/null and b/target/classes/com/huobi/api/request/usdt/trade/SwapTpslOrderRequest.class differ 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 0000000..ecad4f5 Binary files /dev/null and b/target/classes/com/huobi/api/request/usdt/trade/SwapTrackCancelRequest.class differ 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 0000000..8978f91 Binary files /dev/null and b/target/classes/com/huobi/api/request/usdt/trade/SwapTrackCancelallRequest.class differ 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 0000000..69b48c7 Binary files /dev/null and b/target/classes/com/huobi/api/request/usdt/trade/SwapTrackHisordersRequest.class differ diff --git a/target/classes/com/huobi/api/request/usdt/trade/SwapTrackOpenordersRequest.class b/target/classes/com/huobi/api/request/usdt/trade/SwapTrackOpenordersRequest.class new file mode 100644 index 0000000..84d9a6d Binary files /dev/null and b/target/classes/com/huobi/api/request/usdt/trade/SwapTrackOpenordersRequest.class differ 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 0000000..a9a9d3c Binary files /dev/null and b/target/classes/com/huobi/api/request/usdt/trade/SwapTrackOrderRequest.class differ 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 0000000..c1053eb Binary files /dev/null and b/target/classes/com/huobi/api/request/usdt/trade/SwapTriggerCancelRequest.class differ diff --git a/target/classes/com/huobi/api/request/usdt/trade/SwapTriggerCancelallRequest.class b/target/classes/com/huobi/api/request/usdt/trade/SwapTriggerCancelallRequest.class new file mode 100644 index 0000000..9729395 Binary files /dev/null and b/target/classes/com/huobi/api/request/usdt/trade/SwapTriggerCancelallRequest.class differ 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 0000000..f02bd85 Binary files /dev/null and b/target/classes/com/huobi/api/request/usdt/trade/SwapTriggerHisordersRequest.class differ diff --git a/target/classes/com/huobi/api/request/usdt/trade/SwapTriggerOpenordersRequest.class b/target/classes/com/huobi/api/request/usdt/trade/SwapTriggerOpenordersRequest.class new file mode 100644 index 0000000..eb0c0dd Binary files /dev/null and b/target/classes/com/huobi/api/request/usdt/trade/SwapTriggerOpenordersRequest.class differ 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 0000000..2b64c31 Binary files /dev/null and b/target/classes/com/huobi/api/request/usdt/trade/SwapTriggerOrderRequest.class differ diff --git a/target/classes/com/huobi/api/request/usdt/transfer/UsdtSwapTransferRequest.class b/target/classes/com/huobi/api/request/usdt/transfer/UsdtSwapTransferRequest.class new file mode 100644 index 0000000..6f04bc4 Binary files /dev/null and b/target/classes/com/huobi/api/request/usdt/transfer/UsdtSwapTransferRequest.class differ diff --git a/target/classes/com/huobi/api/response/coin_futures/account/ContractAccountInfoResponse.class b/target/classes/com/huobi/api/response/coin_futures/account/ContractAccountInfoResponse.class new file mode 100644 index 0000000..3effc31 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_futures/account/ContractAccountInfoResponse.class differ 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 0000000..b5d7c04 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_futures/account/ContractAccountPositionInfoResponse.class differ diff --git a/target/classes/com/huobi/api/response/coin_futures/account/ContractApiTradingStatusResponse.class b/target/classes/com/huobi/api/response/coin_futures/account/ContractApiTradingStatusResponse.class new file mode 100644 index 0000000..50cbc18 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_futures/account/ContractApiTradingStatusResponse.class differ diff --git a/target/classes/com/huobi/api/response/coin_futures/account/ContractAvailableLevelRateResponse.class b/target/classes/com/huobi/api/response/coin_futures/account/ContractAvailableLevelRateResponse.class new file mode 100644 index 0000000..3b283f5 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_futures/account/ContractAvailableLevelRateResponse.class differ 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 0000000..70dd61f Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_futures/account/ContractBalanceValuationResponse.class differ 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 0000000..db3c40d Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_futures/account/ContractFeeResponse.class differ 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 0000000..cef3025 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_futures/account/ContractFinancialRecordExactResponse.class differ 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 0000000..720ab56 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_futures/account/ContractFinancialRecordExactV3Response.class differ 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 0000000..d12f11c Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_futures/account/ContractFinancialRecordResponse.class differ 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 0000000..ae4bc8c Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_futures/account/ContractFinancialRecordV3Response.class differ 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 0000000..754e6d6 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_futures/account/ContractMasterSubTransferRecordResponse.class differ diff --git a/target/classes/com/huobi/api/response/coin_futures/account/ContractMasterSubTransferResponse.class b/target/classes/com/huobi/api/response/coin_futures/account/ContractMasterSubTransferResponse.class new file mode 100644 index 0000000..2f5bbf2 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_futures/account/ContractMasterSubTransferResponse.class differ 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 0000000..efbdde9 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_futures/account/ContractOrderLimitResponse.class differ 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 0000000..86bc107 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_futures/account/ContractPositionInfoResponse.class differ diff --git a/target/classes/com/huobi/api/response/coin_futures/account/ContractPositionLimitResponse.class b/target/classes/com/huobi/api/response/coin_futures/account/ContractPositionLimitResponse.class new file mode 100644 index 0000000..9cc07a6 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_futures/account/ContractPositionLimitResponse.class differ diff --git a/target/classes/com/huobi/api/response/coin_futures/account/ContractSubAccountInfoListResponse.class b/target/classes/com/huobi/api/response/coin_futures/account/ContractSubAccountInfoListResponse.class new file mode 100644 index 0000000..4aa7ba5 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_futures/account/ContractSubAccountInfoListResponse.class differ 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 0000000..aa1d357 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_futures/account/ContractSubAccountInfoResponse.class differ 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 0000000..fc04ef0 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_futures/account/ContractSubAccountListResponse.class differ diff --git a/target/classes/com/huobi/api/response/coin_futures/account/ContractSubAuthListResponse.class b/target/classes/com/huobi/api/response/coin_futures/account/ContractSubAuthListResponse.class new file mode 100644 index 0000000..6edcc11 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_futures/account/ContractSubAuthListResponse.class differ 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 0000000..60b6871 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_futures/account/ContractSubAuthResponse.class differ diff --git a/target/classes/com/huobi/api/response/coin_futures/account/ContractSubPositionInfoResponse.class b/target/classes/com/huobi/api/response/coin_futures/account/ContractSubPositionInfoResponse.class new file mode 100644 index 0000000..2d54939 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_futures/account/ContractSubPositionInfoResponse.class differ 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 0000000..5779d55 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_futures/account/ContractTransferLimitResponse.class differ 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 0000000..a54c352 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_futures/account/ContractUserSettlementRecordsResponse.class differ 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 0000000..2a2a831 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_futures/market/ContractAdjustfactorResponse.class differ 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 0000000..b9f59d5 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_futures/market/ContractApiStateResponse.class differ 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 0000000..cf0967a Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_futures/market/ContractContractInfoResponse.class differ 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 0000000..ff8cbd0 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_futures/market/ContractDeliveryPriceResponse.class differ 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 0000000..510f0ef Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_futures/market/ContractEliteAccountRatioResponse.class differ 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 0000000..1a37670 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_futures/market/ContractElitePositionRatioResponse.class differ 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 0000000..0a63587 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_futures/market/ContractEstimatedSettlementPriceResponse.class differ diff --git a/target/classes/com/huobi/api/response/coin_futures/market/ContractHisOpenInterestResponse.class b/target/classes/com/huobi/api/response/coin_futures/market/ContractHisOpenInterestResponse.class new file mode 100644 index 0000000..eb476d5 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_futures/market/ContractHisOpenInterestResponse.class differ diff --git a/target/classes/com/huobi/api/response/coin_futures/market/ContractIndexResponse.class b/target/classes/com/huobi/api/response/coin_futures/market/ContractIndexResponse.class new file mode 100644 index 0000000..e3a12cd Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_futures/market/ContractIndexResponse.class differ 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 0000000..1bab975 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_futures/market/ContractInsuranceFundResponse.class differ diff --git a/target/classes/com/huobi/api/response/coin_futures/market/ContractLadderMarginResponse.class b/target/classes/com/huobi/api/response/coin_futures/market/ContractLadderMarginResponse.class new file mode 100644 index 0000000..266b61d Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_futures/market/ContractLadderMarginResponse.class differ 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 0000000..1002c68 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_futures/market/ContractLiquidationOrdersResponse.class differ 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 0000000..0de54c0 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_futures/market/ContractLiquidationOrdersV3Response.class differ 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 0000000..7e055bd Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_futures/market/ContractOpenInterestResponse.class differ 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 0000000..a8da325 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_futures/market/ContractPriceLimitResponse.class differ 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 0000000..99eed3d Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_futures/market/ContractQueryElementsResponse.class differ 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 0000000..26d1568 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_futures/market/ContractRiskInfoResponse.class differ 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 0000000..1eab3b8 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_futures/market/ContractSettlementRecordsResponse.class differ 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 0000000..01c8367 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_futures/market/MarkPriceKlineResponse.class differ diff --git a/target/classes/com/huobi/api/response/coin_futures/market/MarketBatchMergedResponse.class b/target/classes/com/huobi/api/response/coin_futures/market/MarketBatchMergedResponse.class new file mode 100644 index 0000000..50247f0 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_futures/market/MarketBatchMergedResponse.class differ 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 0000000..6a1592d Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_futures/market/MarketBboResponse.class differ 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 0000000..cf19a5a Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_futures/market/MarketDepthResponse.class differ diff --git a/target/classes/com/huobi/api/response/coin_futures/market/MarketDetailMergedResponse.class b/target/classes/com/huobi/api/response/coin_futures/market/MarketDetailMergedResponse.class new file mode 100644 index 0000000..0329666 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_futures/market/MarketDetailMergedResponse.class differ 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 0000000..edd9741 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_futures/market/MarketHistoryBasisResponse.class differ diff --git a/target/classes/com/huobi/api/response/coin_futures/market/MarketHistoryIndexResponse.class b/target/classes/com/huobi/api/response/coin_futures/market/MarketHistoryIndexResponse.class new file mode 100644 index 0000000..816c585 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_futures/market/MarketHistoryIndexResponse.class differ 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 0000000..bd14d3e Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_futures/market/MarketHistoryKlineResponse.class differ 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 0000000..50dac6d Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_futures/market/MarketHistoryTradeResponse.class differ diff --git a/target/classes/com/huobi/api/response/coin_futures/market/MarketTradeResponse.class b/target/classes/com/huobi/api/response/coin_futures/market/MarketTradeResponse.class new file mode 100644 index 0000000..f44e698 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_futures/market/MarketTradeResponse.class differ 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 0000000..e573de9 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_futures/trade/ContractBatchorderResponse.class differ diff --git a/target/classes/com/huobi/api/response/coin_futures/trade/ContractCancelAfterResponse.class b/target/classes/com/huobi/api/response/coin_futures/trade/ContractCancelAfterResponse.class new file mode 100644 index 0000000..28d7023 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_futures/trade/ContractCancelAfterResponse.class differ 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 0000000..e16b65f Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_futures/trade/ContractCancelResponse.class differ 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 0000000..235504c Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_futures/trade/ContractCancelallResponse.class differ diff --git a/target/classes/com/huobi/api/response/coin_futures/trade/ContractHisordersExactResponse.class b/target/classes/com/huobi/api/response/coin_futures/trade/ContractHisordersExactResponse.class new file mode 100644 index 0000000..7e694d7 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_futures/trade/ContractHisordersExactResponse.class differ 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 0000000..5bf38e9 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_futures/trade/ContractHisordersExactV3Response.class differ diff --git a/target/classes/com/huobi/api/response/coin_futures/trade/ContractHisordersResponse.class b/target/classes/com/huobi/api/response/coin_futures/trade/ContractHisordersResponse.class new file mode 100644 index 0000000..ddcde5d Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_futures/trade/ContractHisordersResponse.class differ diff --git a/target/classes/com/huobi/api/response/coin_futures/trade/ContractHisordersV3Response.class b/target/classes/com/huobi/api/response/coin_futures/trade/ContractHisordersV3Response.class new file mode 100644 index 0000000..6d09f51 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_futures/trade/ContractHisordersV3Response.class differ diff --git a/target/classes/com/huobi/api/response/coin_futures/trade/ContractMatchResultsExactV3Response.class b/target/classes/com/huobi/api/response/coin_futures/trade/ContractMatchResultsExactV3Response.class new file mode 100644 index 0000000..200a0a1 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_futures/trade/ContractMatchResultsExactV3Response.class differ 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 0000000..e0c6a57 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_futures/trade/ContractMatchResultsV3Response.class differ 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 0000000..cbf39e4 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_futures/trade/ContractMatchresultsExactResponse.class differ 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 0000000..d5f58b6 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_futures/trade/ContractMatchresultsResponse.class differ diff --git a/target/classes/com/huobi/api/response/coin_futures/trade/ContractOpenordersResponse.class b/target/classes/com/huobi/api/response/coin_futures/trade/ContractOpenordersResponse.class new file mode 100644 index 0000000..21719eb Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_futures/trade/ContractOpenordersResponse.class differ 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 0000000..b2af3b1 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_futures/trade/ContractOrderDetailResponse.class differ diff --git a/target/classes/com/huobi/api/response/coin_futures/trade/ContractOrderInfoResponse.class b/target/classes/com/huobi/api/response/coin_futures/trade/ContractOrderInfoResponse.class new file mode 100644 index 0000000..a08e20c Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_futures/trade/ContractOrderInfoResponse.class differ 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 0000000..dc954aa Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_futures/trade/ContractOrderResponse.class differ diff --git a/target/classes/com/huobi/api/response/coin_futures/trade/ContractRelationTpslOrderResponse.class b/target/classes/com/huobi/api/response/coin_futures/trade/ContractRelationTpslOrderResponse.class new file mode 100644 index 0000000..348d57a Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_futures/trade/ContractRelationTpslOrderResponse.class differ diff --git a/target/classes/com/huobi/api/response/coin_futures/trade/ContractSwitchLeverRateResponse.class b/target/classes/com/huobi/api/response/coin_futures/trade/ContractSwitchLeverRateResponse.class new file mode 100644 index 0000000..46bf293 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_futures/trade/ContractSwitchLeverRateResponse.class differ 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 0000000..3def177 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_futures/trade/ContractTpslCancelResponse.class differ 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 0000000..4884064 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_futures/trade/ContractTpslCancelallResponse.class differ 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 0000000..5355bc7 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_futures/trade/ContractTpslHisordersResponse.class differ diff --git a/target/classes/com/huobi/api/response/coin_futures/trade/ContractTpslOpenordersResponse.class b/target/classes/com/huobi/api/response/coin_futures/trade/ContractTpslOpenordersResponse.class new file mode 100644 index 0000000..4037203 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_futures/trade/ContractTpslOpenordersResponse.class differ diff --git a/target/classes/com/huobi/api/response/coin_futures/trade/ContractTpslOrderResponse.class b/target/classes/com/huobi/api/response/coin_futures/trade/ContractTpslOrderResponse.class new file mode 100644 index 0000000..2f10f94 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_futures/trade/ContractTpslOrderResponse.class differ diff --git a/target/classes/com/huobi/api/response/coin_futures/trade/ContractTrackCancelResponse.class b/target/classes/com/huobi/api/response/coin_futures/trade/ContractTrackCancelResponse.class new file mode 100644 index 0000000..ec8fb3d Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_futures/trade/ContractTrackCancelResponse.class differ 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 0000000..a821ebf Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_futures/trade/ContractTrackCancelallResponse.class differ diff --git a/target/classes/com/huobi/api/response/coin_futures/trade/ContractTrackHisordersResponse.class b/target/classes/com/huobi/api/response/coin_futures/trade/ContractTrackHisordersResponse.class new file mode 100644 index 0000000..d73cae9 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_futures/trade/ContractTrackHisordersResponse.class differ diff --git a/target/classes/com/huobi/api/response/coin_futures/trade/ContractTrackOpenordersResponse.class b/target/classes/com/huobi/api/response/coin_futures/trade/ContractTrackOpenordersResponse.class new file mode 100644 index 0000000..3aba95d Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_futures/trade/ContractTrackOpenordersResponse.class differ diff --git a/target/classes/com/huobi/api/response/coin_futures/trade/ContractTrackOrderResponse.class b/target/classes/com/huobi/api/response/coin_futures/trade/ContractTrackOrderResponse.class new file mode 100644 index 0000000..8eee11b Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_futures/trade/ContractTrackOrderResponse.class differ 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 0000000..803cb23 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_futures/trade/ContractTriggerCancelResponse.class differ diff --git a/target/classes/com/huobi/api/response/coin_futures/trade/ContractTriggerCancelallResponse.class b/target/classes/com/huobi/api/response/coin_futures/trade/ContractTriggerCancelallResponse.class new file mode 100644 index 0000000..49455a4 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_futures/trade/ContractTriggerCancelallResponse.class differ 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 0000000..549a717 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_futures/trade/ContractTriggerHisordersResponse.class differ diff --git a/target/classes/com/huobi/api/response/coin_futures/trade/ContractTriggerOpenordersResponse.class b/target/classes/com/huobi/api/response/coin_futures/trade/ContractTriggerOpenordersResponse.class new file mode 100644 index 0000000..fb0fc51 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_futures/trade/ContractTriggerOpenordersResponse.class differ 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 0000000..e07b406 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_futures/trade/ContractTriggerOrderResponse.class differ 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 0000000..860e89c Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_futures/trade/LightningClosePositionResponse.class differ diff --git a/target/classes/com/huobi/api/response/coin_futures/transfer/AccountTransferResponse.class b/target/classes/com/huobi/api/response/coin_futures/transfer/AccountTransferResponse.class new file mode 100644 index 0000000..088f85c Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_futures/transfer/AccountTransferResponse.class differ diff --git a/target/classes/com/huobi/api/response/coin_futures/transfer/FuturesTransferResponse.class b/target/classes/com/huobi/api/response/coin_futures/transfer/FuturesTransferResponse.class new file mode 100644 index 0000000..ed62326 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_futures/transfer/FuturesTransferResponse.class differ 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 0000000..7cfa263 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_swap/account/SwapAccountInfoResponse.class differ diff --git a/target/classes/com/huobi/api/response/coin_swap/account/SwapAccountPositionInfoResponse.class b/target/classes/com/huobi/api/response/coin_swap/account/SwapAccountPositionInfoResponse.class new file mode 100644 index 0000000..09f6d8d Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_swap/account/SwapAccountPositionInfoResponse.class differ 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 0000000..953d0c5 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_swap/account/SwapApiTradingStatusResponse.class differ 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 0000000..fc29d02 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_swap/account/SwapAvailableLevelRateResponse.class differ diff --git a/target/classes/com/huobi/api/response/coin_swap/account/SwapBalanceValuationResponse.class b/target/classes/com/huobi/api/response/coin_swap/account/SwapBalanceValuationResponse.class new file mode 100644 index 0000000..81df0a1 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_swap/account/SwapBalanceValuationResponse.class differ diff --git a/target/classes/com/huobi/api/response/coin_swap/account/SwapFeeResponse.class b/target/classes/com/huobi/api/response/coin_swap/account/SwapFeeResponse.class new file mode 100644 index 0000000..7935138 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_swap/account/SwapFeeResponse.class differ 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 0000000..2727483 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_swap/account/SwapFinancialRecordExactResponse.class differ 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 0000000..f2402a3 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_swap/account/SwapFinancialRecordExactV3Response.class differ 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 0000000..9229ee2 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_swap/account/SwapFinancialRecordResponse.class differ diff --git a/target/classes/com/huobi/api/response/coin_swap/account/SwapFinancialRecordV3Response.class b/target/classes/com/huobi/api/response/coin_swap/account/SwapFinancialRecordV3Response.class new file mode 100644 index 0000000..e982544 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_swap/account/SwapFinancialRecordV3Response.class differ 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 0000000..f67b298 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_swap/account/SwapMasterSubTransferRecordResponse.class differ 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 0000000..16e7e5f Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_swap/account/SwapMasterSubTransferResponse.class differ 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 0000000..a7ffa61 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_swap/account/SwapOrderLimitResponse.class differ 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 0000000..20666e4 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_swap/account/SwapPositionInfoResponse.class differ diff --git a/target/classes/com/huobi/api/response/coin_swap/account/SwapPositionLimitResponse.class b/target/classes/com/huobi/api/response/coin_swap/account/SwapPositionLimitResponse.class new file mode 100644 index 0000000..aaf4299 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_swap/account/SwapPositionLimitResponse.class differ 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 0000000..80add01 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_swap/account/SwapSubAccountInfoListResponse.class differ 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 0000000..a73db28 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_swap/account/SwapSubAccountInfoResponse.class differ diff --git a/target/classes/com/huobi/api/response/coin_swap/account/SwapSubAccountListResponse.class b/target/classes/com/huobi/api/response/coin_swap/account/SwapSubAccountListResponse.class new file mode 100644 index 0000000..579f58b Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_swap/account/SwapSubAccountListResponse.class differ diff --git a/target/classes/com/huobi/api/response/coin_swap/account/SwapSubAuthResponse.class b/target/classes/com/huobi/api/response/coin_swap/account/SwapSubAuthResponse.class new file mode 100644 index 0000000..7462c73 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_swap/account/SwapSubAuthResponse.class differ 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 0000000..17ff4d0 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_swap/account/SwapSubPositionInfoResponse.class differ diff --git a/target/classes/com/huobi/api/response/coin_swap/account/SwapTransferInnerResponse.class b/target/classes/com/huobi/api/response/coin_swap/account/SwapTransferInnerResponse.class new file mode 100644 index 0000000..a0af48c Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_swap/account/SwapTransferInnerResponse.class differ 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 0000000..08b5984 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_swap/account/SwapTransferLimitResponse.class differ 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 0000000..24df06b Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_swap/account/SwapUserSettlementRecordsResponse.class differ 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 0000000..d2c49e9 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_swap/market/BatchMergedResponse.class differ diff --git a/target/classes/com/huobi/api/response/coin_swap/market/HeartBeatResponse.class b/target/classes/com/huobi/api/response/coin_swap/market/HeartBeatResponse.class new file mode 100644 index 0000000..ab5b6c6 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_swap/market/HeartBeatResponse.class differ diff --git a/target/classes/com/huobi/api/response/coin_swap/market/LinearSwapBasisResponse.class b/target/classes/com/huobi/api/response/coin_swap/market/LinearSwapBasisResponse.class new file mode 100644 index 0000000..1d43bb9 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_swap/market/LinearSwapBasisResponse.class differ diff --git a/target/classes/com/huobi/api/response/coin_swap/market/LinearSwapEstimatedRateKlineResponse.class b/target/classes/com/huobi/api/response/coin_swap/market/LinearSwapEstimatedRateKlineResponse.class new file mode 100644 index 0000000..611aa0b Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_swap/market/LinearSwapEstimatedRateKlineResponse.class differ diff --git a/target/classes/com/huobi/api/response/coin_swap/market/LinearSwapPremiumIndexKlineResponse.class b/target/classes/com/huobi/api/response/coin_swap/market/LinearSwapPremiumIndexKlineResponse.class new file mode 100644 index 0000000..b8ef3c3 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_swap/market/LinearSwapPremiumIndexKlineResponse.class differ 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 0000000..89d0350 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_swap/market/MarketBboResponse.class differ diff --git a/target/classes/com/huobi/api/response/coin_swap/market/SummaryResponse.class b/target/classes/com/huobi/api/response/coin_swap/market/SummaryResponse.class new file mode 100644 index 0000000..4b58996 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_swap/market/SummaryResponse.class differ diff --git a/target/classes/com/huobi/api/response/coin_swap/market/SwapAdjustfactorResponse.class b/target/classes/com/huobi/api/response/coin_swap/market/SwapAdjustfactorResponse.class new file mode 100644 index 0000000..506c45a Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_swap/market/SwapAdjustfactorResponse.class differ 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 0000000..325a772 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_swap/market/SwapApiStateResponse.class differ 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 0000000..c012766 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_swap/market/SwapBatchFundingRateResponse.class differ diff --git a/target/classes/com/huobi/api/response/coin_swap/market/SwapContractInfoResponse.class b/target/classes/com/huobi/api/response/coin_swap/market/SwapContractInfoResponse.class new file mode 100644 index 0000000..dc33250 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_swap/market/SwapContractInfoResponse.class differ diff --git a/target/classes/com/huobi/api/response/coin_swap/market/SwapEliteAccountRatioResponse.class b/target/classes/com/huobi/api/response/coin_swap/market/SwapEliteAccountRatioResponse.class new file mode 100644 index 0000000..0b97ed5 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_swap/market/SwapEliteAccountRatioResponse.class differ 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 0000000..35f43a8 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_swap/market/SwapElitePositionRatioResponse.class differ diff --git a/target/classes/com/huobi/api/response/coin_swap/market/SwapEstimatedSettlementPriceResponse.class b/target/classes/com/huobi/api/response/coin_swap/market/SwapEstimatedSettlementPriceResponse.class new file mode 100644 index 0000000..4c87368 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_swap/market/SwapEstimatedSettlementPriceResponse.class differ 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 0000000..3180455 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_swap/market/SwapFundingRateResponse.class differ 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 0000000..a532455 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_swap/market/SwapHisOpenInterestResponse.class differ 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 0000000..a9a2c14 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_swap/market/SwapHistoricalFundingRateResponse.class differ 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 0000000..03923b1 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_swap/market/SwapIndexResponse.class differ diff --git a/target/classes/com/huobi/api/response/coin_swap/market/SwapInsuranceFundResponse.class b/target/classes/com/huobi/api/response/coin_swap/market/SwapInsuranceFundResponse.class new file mode 100644 index 0000000..32ef2a4 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_swap/market/SwapInsuranceFundResponse.class differ 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 0000000..824f075 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_swap/market/SwapLadderMarginResponse.class differ 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 0000000..3f7f0d5 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_swap/market/SwapLiquidationOrdersResponse.class differ 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 0000000..b4baeea Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_swap/market/SwapMarkPriceKlineResponse.class differ 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 0000000..8510258 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_swap/market/SwapMarketDepthResponse.class differ 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 0000000..e01e0bc Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_swap/market/SwapMarketDetailMergedResponse.class differ 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 0000000..4cbe8cf Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_swap/market/SwapMarketHistoryKlineResponse.class differ 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 0000000..228dc61 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_swap/market/SwapMarketHistoryTradeResponse.class differ diff --git a/target/classes/com/huobi/api/response/coin_swap/market/SwapMarketTradeResponse.class b/target/classes/com/huobi/api/response/coin_swap/market/SwapMarketTradeResponse.class new file mode 100644 index 0000000..7c550c1 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_swap/market/SwapMarketTradeResponse.class differ diff --git a/target/classes/com/huobi/api/response/coin_swap/market/SwapOpenInterestResponse.class b/target/classes/com/huobi/api/response/coin_swap/market/SwapOpenInterestResponse.class new file mode 100644 index 0000000..08f63f5 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_swap/market/SwapOpenInterestResponse.class differ 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 0000000..6efed67 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_swap/market/SwapPriceLimitResponse.class differ diff --git a/target/classes/com/huobi/api/response/coin_swap/market/SwapRiskInfoResponse.class b/target/classes/com/huobi/api/response/coin_swap/market/SwapRiskInfoResponse.class new file mode 100644 index 0000000..3b6c302 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_swap/market/SwapRiskInfoResponse.class differ diff --git a/target/classes/com/huobi/api/response/coin_swap/market/TimestampReponse.class b/target/classes/com/huobi/api/response/coin_swap/market/TimestampReponse.class new file mode 100644 index 0000000..d512d3d Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_swap/market/TimestampReponse.class differ diff --git a/target/classes/com/huobi/api/response/coin_swap/trade/SwapBatchorderResponse.class b/target/classes/com/huobi/api/response/coin_swap/trade/SwapBatchorderResponse.class new file mode 100644 index 0000000..16bcdab Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_swap/trade/SwapBatchorderResponse.class differ 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 0000000..a1e912a Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_swap/trade/SwapCancelAfterResponse.class differ diff --git a/target/classes/com/huobi/api/response/coin_swap/trade/SwapCancelResponse.class b/target/classes/com/huobi/api/response/coin_swap/trade/SwapCancelResponse.class new file mode 100644 index 0000000..6098ce3 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_swap/trade/SwapCancelResponse.class differ diff --git a/target/classes/com/huobi/api/response/coin_swap/trade/SwapCancelallResponse.class b/target/classes/com/huobi/api/response/coin_swap/trade/SwapCancelallResponse.class new file mode 100644 index 0000000..6716471 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_swap/trade/SwapCancelallResponse.class differ 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 0000000..265282b Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_swap/trade/SwapHisordersExactResponse.class differ 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 0000000..0e3bc0e Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_swap/trade/SwapHisordersResponse.class differ 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 0000000..f399bc4 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_swap/trade/SwapLightningClosePositionResponse.class differ 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 0000000..1cb915c Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_swap/trade/SwapMatchresultsExactResponse.class differ 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 0000000..20c94a3 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_swap/trade/SwapMatchresultsResponse.class differ 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 0000000..c22c337 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_swap/trade/SwapOpenordersResponse.class differ 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 0000000..12fa077 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_swap/trade/SwapOrderDetailResponse.class differ diff --git a/target/classes/com/huobi/api/response/coin_swap/trade/SwapOrderInfoResponse.class b/target/classes/com/huobi/api/response/coin_swap/trade/SwapOrderInfoResponse.class new file mode 100644 index 0000000..6c21481 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_swap/trade/SwapOrderInfoResponse.class differ 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 0000000..16a15e3 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_swap/trade/SwapOrderResponse.class differ diff --git a/target/classes/com/huobi/api/response/coin_swap/trade/SwapRelationTpslOrderResponse.class b/target/classes/com/huobi/api/response/coin_swap/trade/SwapRelationTpslOrderResponse.class new file mode 100644 index 0000000..8658e17 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_swap/trade/SwapRelationTpslOrderResponse.class differ diff --git a/target/classes/com/huobi/api/response/coin_swap/trade/SwapSwitchLeverRateResponse.class b/target/classes/com/huobi/api/response/coin_swap/trade/SwapSwitchLeverRateResponse.class new file mode 100644 index 0000000..b7e0215 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_swap/trade/SwapSwitchLeverRateResponse.class differ 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 0000000..d5c7ff3 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_swap/trade/SwapTpslCancelResponse.class differ 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 0000000..d9420ed Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_swap/trade/SwapTpslCancelallResponse.class differ 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 0000000..7c1e5b9 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_swap/trade/SwapTpslHisordersResponse.class differ 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 0000000..4521ec2 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_swap/trade/SwapTpslOpenordersResponse.class differ 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 0000000..1c351a0 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_swap/trade/SwapTpslOrderResponse.class differ diff --git a/target/classes/com/huobi/api/response/coin_swap/trade/SwapTrackCancelResponse.class b/target/classes/com/huobi/api/response/coin_swap/trade/SwapTrackCancelResponse.class new file mode 100644 index 0000000..1961701 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_swap/trade/SwapTrackCancelResponse.class differ 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 0000000..26694ae Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_swap/trade/SwapTrackCancelallResponse.class differ diff --git a/target/classes/com/huobi/api/response/coin_swap/trade/SwapTrackHisordersResponse.class b/target/classes/com/huobi/api/response/coin_swap/trade/SwapTrackHisordersResponse.class new file mode 100644 index 0000000..088aae4 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_swap/trade/SwapTrackHisordersResponse.class differ 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 0000000..58aecd6 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_swap/trade/SwapTrackOpenordersResponse.class differ diff --git a/target/classes/com/huobi/api/response/coin_swap/trade/SwapTrackOrderResponse.class b/target/classes/com/huobi/api/response/coin_swap/trade/SwapTrackOrderResponse.class new file mode 100644 index 0000000..8c49905 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_swap/trade/SwapTrackOrderResponse.class differ 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 0000000..9603bba Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_swap/trade/SwapTriggerCancelResponse.class differ diff --git a/target/classes/com/huobi/api/response/coin_swap/trade/SwapTriggerCancelallResponse.class b/target/classes/com/huobi/api/response/coin_swap/trade/SwapTriggerCancelallResponse.class new file mode 100644 index 0000000..b7f4cbd Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_swap/trade/SwapTriggerCancelallResponse.class differ 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 0000000..205664a Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_swap/trade/SwapTriggerHisordersResponse.class differ diff --git a/target/classes/com/huobi/api/response/coin_swap/trade/SwapTriggerOpenordersResponse.class b/target/classes/com/huobi/api/response/coin_swap/trade/SwapTriggerOpenordersResponse.class new file mode 100644 index 0000000..0baeff7 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_swap/trade/SwapTriggerOpenordersResponse.class differ 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 0000000..ac3e85d Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_swap/trade/SwapTriggerOrderResponse.class differ diff --git a/target/classes/com/huobi/api/response/coin_swap/transfer/UsdtSwapTransferResponse.class b/target/classes/com/huobi/api/response/coin_swap/transfer/UsdtSwapTransferResponse.class new file mode 100644 index 0000000..8fcce03 Binary files /dev/null and b/target/classes/com/huobi/api/response/coin_swap/transfer/UsdtSwapTransferResponse.class differ 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 0000000..1563f63 Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/account/FixPositionMarginChangeRecordResponse.class differ diff --git a/target/classes/com/huobi/api/response/usdt/account/FixPositionMarginChangeResponse.class b/target/classes/com/huobi/api/response/usdt/account/FixPositionMarginChangeResponse.class new file mode 100644 index 0000000..a4b6385 Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/account/FixPositionMarginChangeResponse.class differ diff --git a/target/classes/com/huobi/api/response/usdt/account/LinearSwapFeeSwitchResponse.class b/target/classes/com/huobi/api/response/usdt/account/LinearSwapFeeSwitchResponse.class new file mode 100644 index 0000000..28147ec Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/account/LinearSwapFeeSwitchResponse.class differ 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 0000000..5ff74c9 Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/account/LinearSwapOverviewAccountInfoResponse.class differ diff --git a/target/classes/com/huobi/api/response/usdt/account/SwapAccountInfoResponse.class b/target/classes/com/huobi/api/response/usdt/account/SwapAccountInfoResponse.class new file mode 100644 index 0000000..326650c Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/account/SwapAccountInfoResponse.class differ 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 0000000..3dc395d Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/account/SwapAccountPositionInfoResponse.class differ diff --git a/target/classes/com/huobi/api/response/usdt/account/SwapApiTradingStatusResponse.class b/target/classes/com/huobi/api/response/usdt/account/SwapApiTradingStatusResponse.class new file mode 100644 index 0000000..19e26b5 Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/account/SwapApiTradingStatusResponse.class differ 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 0000000..55aa668 Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/account/SwapAvailableLevelRateResponse.class differ 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 0000000..bf3824e Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/account/SwapBalanceValuationResponse.class differ 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 0000000..c54c618 Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/account/SwapCrossAccountInfoResponse.class differ 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 0000000..54c6d3d Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/account/SwapCrossAccountPositionInfoResponse.class differ 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 0000000..046de14 Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/account/SwapCrossAvailableLevelRateResponse.class differ 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 0000000..1778482 Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/account/SwapCrossPositionInfoResponse.class differ 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 0000000..4f7614d Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/account/SwapCrossPositionLimitResponse.class differ diff --git a/target/classes/com/huobi/api/response/usdt/account/SwapCrossSubAccountInfoResponse.class b/target/classes/com/huobi/api/response/usdt/account/SwapCrossSubAccountInfoResponse.class new file mode 100644 index 0000000..ab98ddf Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/account/SwapCrossSubAccountInfoResponse.class differ 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 0000000..5453f8e Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/account/SwapCrossSubAccountListResponse.class differ 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 0000000..b4dccdb Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/account/SwapCrossSubPositionInfoResponse.class differ 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 0000000..bdd670b Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/account/SwapCrossTransferLimitResponse.class differ 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 0000000..2966d5d Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/account/SwapCrossUserSettlementRecordsResponse.class differ 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 0000000..120b6f4 Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/account/SwapFeeResponse.class differ diff --git a/target/classes/com/huobi/api/response/usdt/account/SwapFinancialRecordExactResponse.class b/target/classes/com/huobi/api/response/usdt/account/SwapFinancialRecordExactResponse.class new file mode 100644 index 0000000..d8de73a Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/account/SwapFinancialRecordExactResponse.class differ 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 0000000..80f98bf Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/account/SwapFinancialRecordExactV3Response.class differ 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 0000000..b411b65 Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/account/SwapFinancialRecordResponse.class differ 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 0000000..51a77db Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/account/SwapFinancialRecordV3Response.class differ 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 0000000..26e6166 Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/account/SwapLeverPositionLimitResponse.class differ 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 0000000..3178117 Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/account/SwapLiquidationOrdersV3Response.class differ diff --git a/target/classes/com/huobi/api/response/usdt/account/SwapMasterSubTransferRecordResponse.class b/target/classes/com/huobi/api/response/usdt/account/SwapMasterSubTransferRecordResponse.class new file mode 100644 index 0000000..296c2dd Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/account/SwapMasterSubTransferRecordResponse.class differ 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 0000000..147679e Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/account/SwapMasterSubTransferResponse.class differ diff --git a/target/classes/com/huobi/api/response/usdt/account/SwapOrderLimitResponse.class b/target/classes/com/huobi/api/response/usdt/account/SwapOrderLimitResponse.class new file mode 100644 index 0000000..540936e Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/account/SwapOrderLimitResponse.class differ diff --git a/target/classes/com/huobi/api/response/usdt/account/SwapPositionInfoResponse.class b/target/classes/com/huobi/api/response/usdt/account/SwapPositionInfoResponse.class new file mode 100644 index 0000000..0632cfc Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/account/SwapPositionInfoResponse.class differ 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 0000000..7016efb Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/account/SwapPositionLimitResponse.class differ 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 0000000..e0b949f Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/account/SwapSubAccountInfoListResponse.class differ 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 0000000..d0cc8fb Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/account/SwapSubAccountInfoResponse.class differ 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 0000000..4bc07f0 Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/account/SwapSubAccountListResponse.class differ diff --git a/target/classes/com/huobi/api/response/usdt/account/SwapSubAuthListResponse.class b/target/classes/com/huobi/api/response/usdt/account/SwapSubAuthListResponse.class new file mode 100644 index 0000000..5d1f33d Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/account/SwapSubAuthListResponse.class differ 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 0000000..fd1c847 Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/account/SwapSubAuthResponse.class differ diff --git a/target/classes/com/huobi/api/response/usdt/account/SwapSubPositionInfoResponse.class b/target/classes/com/huobi/api/response/usdt/account/SwapSubPositionInfoResponse.class new file mode 100644 index 0000000..6e4d3ad Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/account/SwapSubPositionInfoResponse.class differ diff --git a/target/classes/com/huobi/api/response/usdt/account/SwapSwitchAccountTypeResponse.class b/target/classes/com/huobi/api/response/usdt/account/SwapSwitchAccountTypeResponse.class new file mode 100644 index 0000000..3c420bf Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/account/SwapSwitchAccountTypeResponse.class differ diff --git a/target/classes/com/huobi/api/response/usdt/account/SwapSwitchLeverRateResponse.class b/target/classes/com/huobi/api/response/usdt/account/SwapSwitchLeverRateResponse.class new file mode 100644 index 0000000..d9fde51 Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/account/SwapSwitchLeverRateResponse.class differ 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 0000000..35556c3 Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/account/SwapTransferInnerResponse.class differ diff --git a/target/classes/com/huobi/api/response/usdt/account/SwapTransferLimitResponse.class b/target/classes/com/huobi/api/response/usdt/account/SwapTransferLimitResponse.class new file mode 100644 index 0000000..994647e Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/account/SwapTransferLimitResponse.class differ diff --git a/target/classes/com/huobi/api/response/usdt/account/SwapUnifiedAccountTypeResponse.class b/target/classes/com/huobi/api/response/usdt/account/SwapUnifiedAccountTypeResponse.class new file mode 100644 index 0000000..7d0ea26 Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/account/SwapUnifiedAccountTypeResponse.class differ 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 0000000..e793fd3 Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/account/SwapUserSettlementRecordsResponse.class differ diff --git a/target/classes/com/huobi/api/response/usdt/account/UnifiedAccountInfoResponse.class b/target/classes/com/huobi/api/response/usdt/account/UnifiedAccountInfoResponse.class new file mode 100644 index 0000000..c7a1523 Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/account/UnifiedAccountInfoResponse.class differ diff --git a/target/classes/com/huobi/api/response/usdt/market/BatchMergedResponse.class b/target/classes/com/huobi/api/response/usdt/market/BatchMergedResponse.class new file mode 100644 index 0000000..eb1914c Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/market/BatchMergedResponse.class differ 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 0000000..60c4784 Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/market/BatchMergedV2Response.class differ diff --git a/target/classes/com/huobi/api/response/usdt/market/LinearSwapBasisResponse.class b/target/classes/com/huobi/api/response/usdt/market/LinearSwapBasisResponse.class new file mode 100644 index 0000000..166f31d Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/market/LinearSwapBasisResponse.class differ diff --git a/target/classes/com/huobi/api/response/usdt/market/LinearSwapEstimatedRateKlineResponse.class b/target/classes/com/huobi/api/response/usdt/market/LinearSwapEstimatedRateKlineResponse.class new file mode 100644 index 0000000..278a6d5 Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/market/LinearSwapEstimatedRateKlineResponse.class differ 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 0000000..11dc940 Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/market/LinearSwapMarkPriceKlineResponse.class differ 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 0000000..5211816 Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/market/LinearSwapPremiumIndexKlineResponse.class differ diff --git a/target/classes/com/huobi/api/response/usdt/market/MarketBboResponse.class b/target/classes/com/huobi/api/response/usdt/market/MarketBboResponse.class new file mode 100644 index 0000000..23521b3 Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/market/MarketBboResponse.class differ 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 0000000..3a0eeed Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/market/SwapAdjustfactorResponse.class differ diff --git a/target/classes/com/huobi/api/response/usdt/market/SwapApiStateResponse.class b/target/classes/com/huobi/api/response/usdt/market/SwapApiStateResponse.class new file mode 100644 index 0000000..a1f46f0 Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/market/SwapApiStateResponse.class differ diff --git a/target/classes/com/huobi/api/response/usdt/market/SwapBatchFundingRateResponse.class b/target/classes/com/huobi/api/response/usdt/market/SwapBatchFundingRateResponse.class new file mode 100644 index 0000000..d9d5d04 Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/market/SwapBatchFundingRateResponse.class differ 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 0000000..2399ab5 Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/market/SwapContractInfoResponse.class differ 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 0000000..8f98b8d Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/market/SwapCrossAdjustfactorResponse.class differ 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 0000000..f7971fb Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/market/SwapCrossTradeStateResponse.class differ diff --git a/target/classes/com/huobi/api/response/usdt/market/SwapCrossTransferStateResponse.class b/target/classes/com/huobi/api/response/usdt/market/SwapCrossTransferStateResponse.class new file mode 100644 index 0000000..b158d4b Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/market/SwapCrossTransferStateResponse.class differ 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 0000000..7c95c1f Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/market/SwapEliteAccountRatioResponse.class differ 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 0000000..94232d3 Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/market/SwapElitePositionRatioResponse.class differ diff --git a/target/classes/com/huobi/api/response/usdt/market/SwapEstimatedSettlementPriceResponse.class b/target/classes/com/huobi/api/response/usdt/market/SwapEstimatedSettlementPriceResponse.class new file mode 100644 index 0000000..cf4346e Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/market/SwapEstimatedSettlementPriceResponse.class differ 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 0000000..88021a9 Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/market/SwapFundingRateResponse.class differ diff --git a/target/classes/com/huobi/api/response/usdt/market/SwapHisOpenInterestResponse.class b/target/classes/com/huobi/api/response/usdt/market/SwapHisOpenInterestResponse.class new file mode 100644 index 0000000..b48f669 Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/market/SwapHisOpenInterestResponse.class differ 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 0000000..dae554f Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/market/SwapHistoricalFundingRateResponse.class differ diff --git a/target/classes/com/huobi/api/response/usdt/market/SwapIndexResponse.class b/target/classes/com/huobi/api/response/usdt/market/SwapIndexResponse.class new file mode 100644 index 0000000..9dd956c Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/market/SwapIndexResponse.class differ 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 0000000..21e4ba0 Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/market/SwapInsuranceFundResponse.class differ diff --git a/target/classes/com/huobi/api/response/usdt/market/SwapLadderMarginResponse.class b/target/classes/com/huobi/api/response/usdt/market/SwapLadderMarginResponse.class new file mode 100644 index 0000000..123c15f Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/market/SwapLadderMarginResponse.class differ 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 0000000..33d2399 Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/market/SwapLiquidationOrdersResponse.class differ 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 0000000..7db326d Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/market/SwapMarketDepthResponse.class differ diff --git a/target/classes/com/huobi/api/response/usdt/market/SwapMarketDetailMergedResponse.class b/target/classes/com/huobi/api/response/usdt/market/SwapMarketDetailMergedResponse.class new file mode 100644 index 0000000..22cd648 Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/market/SwapMarketDetailMergedResponse.class differ 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 0000000..892e367 Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/market/SwapMarketHistoryKlineResponse.class differ 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 0000000..c256586 Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/market/SwapMarketHistoryTradeResponse.class differ 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 0000000..f9b15cd Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/market/SwapMarketTradeResponse.class differ diff --git a/target/classes/com/huobi/api/response/usdt/market/SwapOpenInterestResponse.class b/target/classes/com/huobi/api/response/usdt/market/SwapOpenInterestResponse.class new file mode 100644 index 0000000..94d88e7 Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/market/SwapOpenInterestResponse.class differ 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 0000000..35d74da Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/market/SwapPriceLimitResponse.class differ 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 0000000..ac3245d Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/market/SwapQueryElementsResponse.class differ diff --git a/target/classes/com/huobi/api/response/usdt/market/SwapRiskInfoResponse.class b/target/classes/com/huobi/api/response/usdt/market/SwapRiskInfoResponse.class new file mode 100644 index 0000000..25c064e Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/market/SwapRiskInfoResponse.class differ 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 0000000..883c4e2 Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/market/SwapSettlementRecordsResponse.class differ 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 0000000..528e263 Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/trade/LinearCancelAfterResponse.class differ 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 0000000..89ec121 Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/trade/SwapBatchorderResponse.class differ diff --git a/target/classes/com/huobi/api/response/usdt/trade/SwapCancelResponse.class b/target/classes/com/huobi/api/response/usdt/trade/SwapCancelResponse.class new file mode 100644 index 0000000..7482e5b Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/trade/SwapCancelResponse.class differ 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 0000000..127b350 Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/trade/SwapCancelallResponse.class differ diff --git a/target/classes/com/huobi/api/response/usdt/trade/SwapCrossBatchorderResponse.class b/target/classes/com/huobi/api/response/usdt/trade/SwapCrossBatchorderResponse.class new file mode 100644 index 0000000..940c3b9 Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/trade/SwapCrossBatchorderResponse.class differ 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 0000000..8166561 Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/trade/SwapCrossCancelResponse.class differ diff --git a/target/classes/com/huobi/api/response/usdt/trade/SwapCrossCancelallResponse.class b/target/classes/com/huobi/api/response/usdt/trade/SwapCrossCancelallResponse.class new file mode 100644 index 0000000..390b110 Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/trade/SwapCrossCancelallResponse.class differ 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 0000000..30a1971 Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/trade/SwapCrossHisordersExactV3Response.class differ diff --git a/target/classes/com/huobi/api/response/usdt/trade/SwapCrossHisordersResponse.class b/target/classes/com/huobi/api/response/usdt/trade/SwapCrossHisordersResponse.class new file mode 100644 index 0000000..d72f667 Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/trade/SwapCrossHisordersResponse.class differ 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 0000000..11b95b8 Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/trade/SwapCrossHisordersV3Response.class differ 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 0000000..120bfae Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/trade/SwapCrossLightningClosePositionResponse.class differ diff --git a/target/classes/com/huobi/api/response/usdt/trade/SwapCrossMatchResultsExactV3Response.class b/target/classes/com/huobi/api/response/usdt/trade/SwapCrossMatchResultsExactV3Response.class new file mode 100644 index 0000000..9a20a0a Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/trade/SwapCrossMatchResultsExactV3Response.class differ diff --git a/target/classes/com/huobi/api/response/usdt/trade/SwapCrossMatchResultsV3Response.class b/target/classes/com/huobi/api/response/usdt/trade/SwapCrossMatchResultsV3Response.class new file mode 100644 index 0000000..1c44b07 Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/trade/SwapCrossMatchResultsV3Response.class differ 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 0000000..347563c Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/trade/SwapCrossMatchresultsResponse.class differ diff --git a/target/classes/com/huobi/api/response/usdt/trade/SwapCrossOpenordersResponse.class b/target/classes/com/huobi/api/response/usdt/trade/SwapCrossOpenordersResponse.class new file mode 100644 index 0000000..b5fb0f1 Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/trade/SwapCrossOpenordersResponse.class differ 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 0000000..c329d57 Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/trade/SwapCrossOrderDetailResponse.class differ 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 0000000..4385292 Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/trade/SwapCrossOrderInfoResponse.class differ diff --git a/target/classes/com/huobi/api/response/usdt/trade/SwapCrossOrderResponse.class b/target/classes/com/huobi/api/response/usdt/trade/SwapCrossOrderResponse.class new file mode 100644 index 0000000..7e088b2 Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/trade/SwapCrossOrderResponse.class differ 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 0000000..0ab5a00 Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/trade/SwapCrossPositionSideResponse.class differ 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 0000000..7b645c2 Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/trade/SwapCrossSwitchLeverRateResponse.class differ 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 0000000..ed716ec Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/trade/SwapCrossTriggerCancelResponse.class differ 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 0000000..add846c Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/trade/SwapCrossTriggerCancelallResponse.class differ 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 0000000..8b748b9 Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/trade/SwapCrossTriggerHisordersResponse.class differ diff --git a/target/classes/com/huobi/api/response/usdt/trade/SwapCrossTriggerOpenordersResponse.class b/target/classes/com/huobi/api/response/usdt/trade/SwapCrossTriggerOpenordersResponse.class new file mode 100644 index 0000000..57e4aa5 Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/trade/SwapCrossTriggerOpenordersResponse.class differ 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 0000000..14a939a Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/trade/SwapCrossTriggerOrderResponse.class differ 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 0000000..2a65d4f Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/trade/SwapHisordersExactResponse.class differ 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 0000000..6678812 Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/trade/SwapHisordersExactV3Response.class differ 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 0000000..208a536 Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/trade/SwapHisordersResponse.class differ 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 0000000..e1bc770 Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/trade/SwapHisordersV3Response.class differ 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 0000000..955fa96 Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/trade/SwapLightningClosePositionResponse.class differ 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 0000000..75a9364 Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/trade/SwapMatchResultsExactV3Response.class differ 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 0000000..e5d9433 Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/trade/SwapMatchResultsV3Response.class differ 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 0000000..d05fda8 Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/trade/SwapMatchresultsExactResponse.class differ 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 0000000..0cc4771 Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/trade/SwapMatchresultsResponse.class differ diff --git a/target/classes/com/huobi/api/response/usdt/trade/SwapOpenordersResponse.class b/target/classes/com/huobi/api/response/usdt/trade/SwapOpenordersResponse.class new file mode 100644 index 0000000..211ac3b Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/trade/SwapOpenordersResponse.class differ 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 0000000..4865744 Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/trade/SwapOrderDetailResponse.class differ diff --git a/target/classes/com/huobi/api/response/usdt/trade/SwapOrderInfoResponse.class b/target/classes/com/huobi/api/response/usdt/trade/SwapOrderInfoResponse.class new file mode 100644 index 0000000..5278c80 Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/trade/SwapOrderInfoResponse.class differ diff --git a/target/classes/com/huobi/api/response/usdt/trade/SwapOrderResponse.class b/target/classes/com/huobi/api/response/usdt/trade/SwapOrderResponse.class new file mode 100644 index 0000000..193754e Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/trade/SwapOrderResponse.class differ 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 0000000..f33283c Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/trade/SwapPositionSideResponse.class differ 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 0000000..8be21c0 Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/trade/SwapRelationTpslOrderResponse.class differ diff --git a/target/classes/com/huobi/api/response/usdt/trade/SwapSwitchLeverRateResponse.class b/target/classes/com/huobi/api/response/usdt/trade/SwapSwitchLeverRateResponse.class new file mode 100644 index 0000000..da56a84 Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/trade/SwapSwitchLeverRateResponse.class differ 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 0000000..7fb4cca Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/trade/SwapSwitchPositionModeResponse.class differ diff --git a/target/classes/com/huobi/api/response/usdt/trade/SwapTpslCancelResponse.class b/target/classes/com/huobi/api/response/usdt/trade/SwapTpslCancelResponse.class new file mode 100644 index 0000000..98f445e Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/trade/SwapTpslCancelResponse.class differ 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 0000000..1c9cb67 Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/trade/SwapTpslCancelallResponse.class differ 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 0000000..685c3f3 Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/trade/SwapTpslHisordersResponse.class differ 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 0000000..975f881 Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/trade/SwapTpslOpenordersResponse.class differ diff --git a/target/classes/com/huobi/api/response/usdt/trade/SwapTpslOrderResponse.class b/target/classes/com/huobi/api/response/usdt/trade/SwapTpslOrderResponse.class new file mode 100644 index 0000000..8457a91 Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/trade/SwapTpslOrderResponse.class differ 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 0000000..7588e50 Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/trade/SwapTrackCancelResponse.class differ 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 0000000..81544a0 Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/trade/SwapTrackCancelallResponse.class differ diff --git a/target/classes/com/huobi/api/response/usdt/trade/SwapTrackHisordersResponse.class b/target/classes/com/huobi/api/response/usdt/trade/SwapTrackHisordersResponse.class new file mode 100644 index 0000000..9dd5c2b Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/trade/SwapTrackHisordersResponse.class differ 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 0000000..dbcb68b Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/trade/SwapTrackOpenordersResponse.class differ 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 0000000..f3cef8d Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/trade/SwapTrackOrderResponse.class differ diff --git a/target/classes/com/huobi/api/response/usdt/trade/SwapTriggerCancelResponse.class b/target/classes/com/huobi/api/response/usdt/trade/SwapTriggerCancelResponse.class new file mode 100644 index 0000000..400ad5d Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/trade/SwapTriggerCancelResponse.class differ 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 0000000..b328c18 Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/trade/SwapTriggerCancelallResponse.class differ diff --git a/target/classes/com/huobi/api/response/usdt/trade/SwapTriggerHisordersResponse.class b/target/classes/com/huobi/api/response/usdt/trade/SwapTriggerHisordersResponse.class new file mode 100644 index 0000000..08b8e7c Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/trade/SwapTriggerHisordersResponse.class differ 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 0000000..9b251fb Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/trade/SwapTriggerOpenordersResponse.class differ 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 0000000..f915e03 Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/trade/SwapTriggerOrderResponse.class differ diff --git a/target/classes/com/huobi/api/response/usdt/transfer/UsdtSwapTransferResponse.class b/target/classes/com/huobi/api/response/usdt/transfer/UsdtSwapTransferResponse.class new file mode 100644 index 0000000..ceaf63d Binary files /dev/null and b/target/classes/com/huobi/api/response/usdt/transfer/UsdtSwapTransferResponse.class differ 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 0000000..447a34b Binary files /dev/null and b/target/classes/com/huobi/api/service/coin_futures/account/AccountAPIService.class differ 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 0000000..53e91d1 Binary files /dev/null and b/target/classes/com/huobi/api/service/coin_futures/account/AccountAPIServiceImpl.class differ diff --git a/target/classes/com/huobi/api/service/coin_futures/market/MarketAPIService.class b/target/classes/com/huobi/api/service/coin_futures/market/MarketAPIService.class new file mode 100644 index 0000000..a52b5f0 Binary files /dev/null and b/target/classes/com/huobi/api/service/coin_futures/market/MarketAPIService.class differ 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 0000000..d11b2bd Binary files /dev/null and b/target/classes/com/huobi/api/service/coin_futures/market/MarketAPIServiceImpl.class differ 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 0000000..7f1cdf8 Binary files /dev/null and b/target/classes/com/huobi/api/service/coin_futures/reference/ReferenceAPIService.class differ 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 0000000..46f28db Binary files /dev/null and b/target/classes/com/huobi/api/service/coin_futures/reference/ReferenceAPIServiceImpl.class differ 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 0000000..a80ea72 Binary files /dev/null and b/target/classes/com/huobi/api/service/coin_futures/strategy/StrategyAPIService.class differ 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 0000000..f74fc81 Binary files /dev/null and b/target/classes/com/huobi/api/service/coin_futures/strategy/StrategyAPIServiceImpl.class differ 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 0000000..3820587 Binary files /dev/null and b/target/classes/com/huobi/api/service/coin_futures/trade/TradeAPIService.class differ 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 0000000..c54a7aa Binary files /dev/null and b/target/classes/com/huobi/api/service/coin_futures/trade/TradeAPIServiceImpl.class differ 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 0000000..471f53b Binary files /dev/null and b/target/classes/com/huobi/api/service/coin_futures/transfer/TransferApiService.class differ 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 0000000..05d9544 Binary files /dev/null and b/target/classes/com/huobi/api/service/coin_futures/transfer/TransferApiServiceImpl.class differ diff --git a/target/classes/com/huobi/api/service/coin_swap/account/AccountAPIService.class b/target/classes/com/huobi/api/service/coin_swap/account/AccountAPIService.class new file mode 100644 index 0000000..243e0f8 Binary files /dev/null and b/target/classes/com/huobi/api/service/coin_swap/account/AccountAPIService.class differ 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 0000000..971e816 Binary files /dev/null and b/target/classes/com/huobi/api/service/coin_swap/account/AccountAPIServiceImpl.class differ 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 0000000..68bf0f6 Binary files /dev/null and b/target/classes/com/huobi/api/service/coin_swap/market/MarketAPIService.class differ diff --git a/target/classes/com/huobi/api/service/coin_swap/market/MarketAPIServiceImpl.class b/target/classes/com/huobi/api/service/coin_swap/market/MarketAPIServiceImpl.class new file mode 100644 index 0000000..c045e61 Binary files /dev/null and b/target/classes/com/huobi/api/service/coin_swap/market/MarketAPIServiceImpl.class differ diff --git a/target/classes/com/huobi/api/service/coin_swap/reference/ReferenceAPIService.class b/target/classes/com/huobi/api/service/coin_swap/reference/ReferenceAPIService.class new file mode 100644 index 0000000..9fc6999 Binary files /dev/null and b/target/classes/com/huobi/api/service/coin_swap/reference/ReferenceAPIService.class differ 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 0000000..476f4f8 Binary files /dev/null and b/target/classes/com/huobi/api/service/coin_swap/reference/ReferenceAPIServiceImpl.class differ 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 0000000..f2565a6 Binary files /dev/null and b/target/classes/com/huobi/api/service/coin_swap/strategy/StrategyAPIService.class differ diff --git a/target/classes/com/huobi/api/service/coin_swap/strategy/StrategyAPIServiceImpl.class b/target/classes/com/huobi/api/service/coin_swap/strategy/StrategyAPIServiceImpl.class new file mode 100644 index 0000000..2c8e087 Binary files /dev/null and b/target/classes/com/huobi/api/service/coin_swap/strategy/StrategyAPIServiceImpl.class differ 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 0000000..42b8512 Binary files /dev/null and b/target/classes/com/huobi/api/service/coin_swap/trade/TradeAPIService.class differ 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 0000000..d7ad239 Binary files /dev/null and b/target/classes/com/huobi/api/service/coin_swap/trade/TradeAPIServiceImpl.class differ 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 0000000..40b9e4d Binary files /dev/null and b/target/classes/com/huobi/api/service/coin_swap/transfer/TransferApiService.class differ 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 0000000..ea67920 Binary files /dev/null and b/target/classes/com/huobi/api/service/coin_swap/transfer/TransferApiServiceImpl.class differ 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 0000000..45d9b0e Binary files /dev/null and b/target/classes/com/huobi/api/service/usdt/account/AccountAPIService.class differ 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 0000000..010c039 Binary files /dev/null and b/target/classes/com/huobi/api/service/usdt/account/AccountAPIServiceImpl.class differ diff --git a/target/classes/com/huobi/api/service/usdt/account/CrossAccountAPIService.class b/target/classes/com/huobi/api/service/usdt/account/CrossAccountAPIService.class new file mode 100644 index 0000000..2f45938 Binary files /dev/null and b/target/classes/com/huobi/api/service/usdt/account/CrossAccountAPIService.class differ 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 0000000..6eeb96e Binary files /dev/null and b/target/classes/com/huobi/api/service/usdt/account/CrossAccountAPIServiceImpl.class differ diff --git a/target/classes/com/huobi/api/service/usdt/market/MarketAPIService.class b/target/classes/com/huobi/api/service/usdt/market/MarketAPIService.class new file mode 100644 index 0000000..0caa1b5 Binary files /dev/null and b/target/classes/com/huobi/api/service/usdt/market/MarketAPIService.class differ 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 0000000..2dea9e2 Binary files /dev/null and b/target/classes/com/huobi/api/service/usdt/market/MarketAPIServiceImpl.class differ 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 0000000..027a613 Binary files /dev/null and b/target/classes/com/huobi/api/service/usdt/reference/CrossReferenceAPIService.class differ 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 0000000..f73e9cf Binary files /dev/null and b/target/classes/com/huobi/api/service/usdt/reference/CrossReferenceAPIServiceImpl.class differ 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 0000000..3d085bb Binary files /dev/null and b/target/classes/com/huobi/api/service/usdt/reference/ReferenceAPIService.class differ 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 0000000..475a4ab Binary files /dev/null and b/target/classes/com/huobi/api/service/usdt/reference/ReferenceAPIServiceImpl.class differ 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 0000000..1c394d3 Binary files /dev/null and b/target/classes/com/huobi/api/service/usdt/strategy/CrossStrategyAPIService.class differ 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 0000000..2fe9c4a Binary files /dev/null and b/target/classes/com/huobi/api/service/usdt/strategy/CrossStrategyAPIServiceImpl.class differ diff --git a/target/classes/com/huobi/api/service/usdt/strategy/StrategyAPIService.class b/target/classes/com/huobi/api/service/usdt/strategy/StrategyAPIService.class new file mode 100644 index 0000000..452d4be Binary files /dev/null and b/target/classes/com/huobi/api/service/usdt/strategy/StrategyAPIService.class differ 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 0000000..aa4d314 Binary files /dev/null and b/target/classes/com/huobi/api/service/usdt/strategy/StrategyAPIServiceImpl.class differ 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 0000000..b2be649 Binary files /dev/null and b/target/classes/com/huobi/api/service/usdt/trade/CrossTradeAPIService.class differ diff --git a/target/classes/com/huobi/api/service/usdt/trade/CrossTradeAPIServiceImpl.class b/target/classes/com/huobi/api/service/usdt/trade/CrossTradeAPIServiceImpl.class new file mode 100644 index 0000000..453e077 Binary files /dev/null and b/target/classes/com/huobi/api/service/usdt/trade/CrossTradeAPIServiceImpl.class differ 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 0000000..1a0237f Binary files /dev/null and b/target/classes/com/huobi/api/service/usdt/trade/TradeAPIService.class differ diff --git a/target/classes/com/huobi/api/service/usdt/trade/TradeAPIServiceImpl.class b/target/classes/com/huobi/api/service/usdt/trade/TradeAPIServiceImpl.class new file mode 100644 index 0000000..3625f79 Binary files /dev/null and b/target/classes/com/huobi/api/service/usdt/trade/TradeAPIServiceImpl.class differ diff --git a/target/classes/com/huobi/api/service/usdt/transfer/CrossTransferAPIService.class b/target/classes/com/huobi/api/service/usdt/transfer/CrossTransferAPIService.class new file mode 100644 index 0000000..0876f4e Binary files /dev/null and b/target/classes/com/huobi/api/service/usdt/transfer/CrossTransferAPIService.class differ 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 0000000..ee4e4af Binary files /dev/null and b/target/classes/com/huobi/api/service/usdt/transfer/CrossTransferAPIServiceImpl.class differ 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 0000000..2b9674a Binary files /dev/null and b/target/classes/com/huobi/api/service/usdt/transfer/TransferAPIService.class differ 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 0000000..39cd787 Binary files /dev/null and b/target/classes/com/huobi/api/service/usdt/transfer/TransferAPIServiceImpl.class differ diff --git a/target/classes/com/huobi/api/service/usdt/unified_account/UnifiedAccountAPIService.class b/target/classes/com/huobi/api/service/usdt/unified_account/UnifiedAccountAPIService.class new file mode 100644 index 0000000..fb69f8b Binary files /dev/null and b/target/classes/com/huobi/api/service/usdt/unified_account/UnifiedAccountAPIService.class differ 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 0000000..059fb54 Binary files /dev/null and b/target/classes/com/huobi/api/service/usdt/unified_account/UnifiedAccountAPIServiceImpl.class differ diff --git a/target/classes/com/huobi/api/util/ApiSignature.class b/target/classes/com/huobi/api/util/ApiSignature.class new file mode 100644 index 0000000..315b15e Binary files /dev/null and b/target/classes/com/huobi/api/util/ApiSignature.class differ 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 0000000..02858ed Binary files /dev/null and b/target/classes/com/huobi/api/util/ApiSignatureEd25519.class differ diff --git a/target/classes/com/huobi/api/util/HbdmHttpClient.class b/target/classes/com/huobi/api/util/HbdmHttpClient.class new file mode 100644 index 0000000..d2b23bc Binary files /dev/null and b/target/classes/com/huobi/api/util/HbdmHttpClient.class differ diff --git a/target/classes/com/huobi/wss/SubscriptionListener.class b/target/classes/com/huobi/wss/SubscriptionListener.class new file mode 100644 index 0000000..aa998ad Binary files /dev/null and b/target/classes/com/huobi/wss/SubscriptionListener.class differ 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 0000000..272eb55 Binary files /dev/null and b/target/classes/com/huobi/wss/constants/HuobiFutureWSSConstants.class differ 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 0000000..c8e42af Binary files /dev/null and b/target/classes/com/huobi/wss/constants/HuobiSwapsWSSConstants.class differ 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 0000000..f58d615 Binary files /dev/null and b/target/classes/com/huobi/wss/constants/HuobiUsdtWSSConstants.class differ 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 0000000..15c690e Binary files /dev/null and b/target/classes/com/huobi/wss/event/AccountCrossSubResponse.class differ 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 0000000..85e373f Binary files /dev/null and b/target/classes/com/huobi/wss/event/AccountsSubResponse.class differ 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 0000000..a33cfb7 Binary files /dev/null and b/target/classes/com/huobi/wss/event/ContractElementSubResponse.class differ 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 0000000..1aa7786 Binary files /dev/null and b/target/classes/com/huobi/wss/event/LiquidationOrdersSubResponse.class differ diff --git a/target/classes/com/huobi/wss/event/MarketBasisPriceTypeReqResponse.class b/target/classes/com/huobi/wss/event/MarketBasisPriceTypeReqResponse.class new file mode 100644 index 0000000..93e148e Binary files /dev/null and b/target/classes/com/huobi/wss/event/MarketBasisPriceTypeReqResponse.class differ 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 0000000..1ece846 Binary files /dev/null and b/target/classes/com/huobi/wss/event/MarketBasisPriceTypeSubResponse.class differ diff --git a/target/classes/com/huobi/wss/event/MarketBboSubResponse.class b/target/classes/com/huobi/wss/event/MarketBboSubResponse.class new file mode 100644 index 0000000..64ffcdb Binary files /dev/null and b/target/classes/com/huobi/wss/event/MarketBboSubResponse.class differ 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 0000000..6257a05 Binary files /dev/null and b/target/classes/com/huobi/wss/event/MarketDepthDiffSubResponse.class differ diff --git a/target/classes/com/huobi/wss/event/MarketDepthSubResponse.class b/target/classes/com/huobi/wss/event/MarketDepthSubResponse.class new file mode 100644 index 0000000..42c2ebd Binary files /dev/null and b/target/classes/com/huobi/wss/event/MarketDepthSubResponse.class differ 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 0000000..9d42752 Binary files /dev/null and b/target/classes/com/huobi/wss/event/MarketDetailSubResponse.class differ diff --git a/target/classes/com/huobi/wss/event/MarketEstimatedRateReqResponse.class b/target/classes/com/huobi/wss/event/MarketEstimatedRateReqResponse.class new file mode 100644 index 0000000..60f34db Binary files /dev/null and b/target/classes/com/huobi/wss/event/MarketEstimatedRateReqResponse.class differ diff --git a/target/classes/com/huobi/wss/event/MarketEstimatedRateSubResponse.class b/target/classes/com/huobi/wss/event/MarketEstimatedRateSubResponse.class new file mode 100644 index 0000000..0d33cac Binary files /dev/null and b/target/classes/com/huobi/wss/event/MarketEstimatedRateSubResponse.class differ 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 0000000..5f7b8ea Binary files /dev/null and b/target/classes/com/huobi/wss/event/MarketIndexReqResponse.class differ 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 0000000..a249842 Binary files /dev/null and b/target/classes/com/huobi/wss/event/MarketIndexSubResponse.class differ diff --git a/target/classes/com/huobi/wss/event/MarketKLineReqResponse.class b/target/classes/com/huobi/wss/event/MarketKLineReqResponse.class new file mode 100644 index 0000000..79b332c Binary files /dev/null and b/target/classes/com/huobi/wss/event/MarketKLineReqResponse.class differ 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 0000000..dbbeaf0 Binary files /dev/null and b/target/classes/com/huobi/wss/event/MarketKLineSubResponse.class differ 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 0000000..843223a Binary files /dev/null and b/target/classes/com/huobi/wss/event/MarketMarkPriceReqResponse.class differ diff --git a/target/classes/com/huobi/wss/event/MarketMarkPriceSubResponse.class b/target/classes/com/huobi/wss/event/MarketMarkPriceSubResponse.class new file mode 100644 index 0000000..277fcef Binary files /dev/null and b/target/classes/com/huobi/wss/event/MarketMarkPriceSubResponse.class differ 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 0000000..6817585 Binary files /dev/null and b/target/classes/com/huobi/wss/event/MarketPremiumIndexReqResponse.class differ 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 0000000..e2766bb Binary files /dev/null and b/target/classes/com/huobi/wss/event/MarketPremiumIndexSubResponse.class differ 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 0000000..16b3a3f Binary files /dev/null and b/target/classes/com/huobi/wss/event/MarketTradeDetailReqResponse.class differ diff --git a/target/classes/com/huobi/wss/event/MarketTradeDetailSubResponse.class b/target/classes/com/huobi/wss/event/MarketTradeDetailSubResponse.class new file mode 100644 index 0000000..c631c0c Binary files /dev/null and b/target/classes/com/huobi/wss/event/MarketTradeDetailSubResponse.class differ 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 0000000..ef1323d Binary files /dev/null and b/target/classes/com/huobi/wss/event/MatchOrdersCrossSubResponse.class differ diff --git a/target/classes/com/huobi/wss/event/MatchOrdersResponse.class b/target/classes/com/huobi/wss/event/MatchOrdersResponse.class new file mode 100644 index 0000000..045895a Binary files /dev/null and b/target/classes/com/huobi/wss/event/MatchOrdersResponse.class differ 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 0000000..30083a3 Binary files /dev/null and b/target/classes/com/huobi/wss/event/MatchOrdersSubResponse.class differ diff --git a/target/classes/com/huobi/wss/event/OrdersSubResponse.class b/target/classes/com/huobi/wss/event/OrdersSubResponse.class new file mode 100644 index 0000000..4d2be1a Binary files /dev/null and b/target/classes/com/huobi/wss/event/OrdersSubResponse.class differ diff --git a/target/classes/com/huobi/wss/event/PositionsSubResponse.class b/target/classes/com/huobi/wss/event/PositionsSubResponse.class new file mode 100644 index 0000000..50e702f Binary files /dev/null and b/target/classes/com/huobi/wss/event/PositionsSubResponse.class differ 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 0000000..ab829fa Binary files /dev/null and b/target/classes/com/huobi/wss/event/PublicContractInfoFutureSubResponse.class differ diff --git a/target/classes/com/huobi/wss/event/PublicContractInfoResponse.class b/target/classes/com/huobi/wss/event/PublicContractInfoResponse.class new file mode 100644 index 0000000..b312494 Binary files /dev/null and b/target/classes/com/huobi/wss/event/PublicContractInfoResponse.class differ 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 0000000..4b9e29e Binary files /dev/null and b/target/classes/com/huobi/wss/event/PublicFundingRateResponse.class differ 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 0000000..ee551a0 Binary files /dev/null and b/target/classes/com/huobi/wss/event/PublicHeartbeatSubResponse.class differ diff --git a/target/classes/com/huobi/wss/event/PublicSubResponse.class b/target/classes/com/huobi/wss/event/PublicSubResponse.class new file mode 100644 index 0000000..a5f75be Binary files /dev/null and b/target/classes/com/huobi/wss/event/PublicSubResponse.class differ 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 0000000..cc3db24 Binary files /dev/null and b/target/classes/com/huobi/wss/event/SwapContractElementSubResponse.class differ 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 0000000..3627b1d Binary files /dev/null and b/target/classes/com/huobi/wss/event/SymbolContractElementSubResponse.class differ diff --git a/target/classes/com/huobi/wss/event/TriggerOrderCrossSubResponse.class b/target/classes/com/huobi/wss/event/TriggerOrderCrossSubResponse.class new file mode 100644 index 0000000..569d918 Binary files /dev/null and b/target/classes/com/huobi/wss/event/TriggerOrderCrossSubResponse.class differ diff --git a/target/classes/com/huobi/wss/event/TriggerOrderSubResponse.class b/target/classes/com/huobi/wss/event/TriggerOrderSubResponse.class new file mode 100644 index 0000000..c3cb0f3 Binary files /dev/null and b/target/classes/com/huobi/wss/event/TriggerOrderSubResponse.class differ diff --git a/target/classes/com/huobi/wss/handle/WssMarketHandle.class b/target/classes/com/huobi/wss/handle/WssMarketHandle.class new file mode 100644 index 0000000..e3f53a7 Binary files /dev/null and b/target/classes/com/huobi/wss/handle/WssMarketHandle.class differ diff --git a/target/classes/com/huobi/wss/handle/WssMarketReqHandle.class b/target/classes/com/huobi/wss/handle/WssMarketReqHandle.class new file mode 100644 index 0000000..3ebafc4 Binary files /dev/null and b/target/classes/com/huobi/wss/handle/WssMarketReqHandle.class differ 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 0000000..b41f2fa Binary files /dev/null and b/target/classes/com/huobi/wss/handle/WssNotificationHandle.class differ 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 0000000..add1aa6 Binary files /dev/null and b/target/classes/com/huobi/wss/request/WssRequest.class differ 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 0000000..2a4f22f Binary files /dev/null and b/target/classes/com/huobi/wss/util/ApiSignature.class differ diff --git a/target/classes/com/huobi/wss/util/ApiSignatureEd25519.class b/target/classes/com/huobi/wss/util/ApiSignatureEd25519.class new file mode 100644 index 0000000..a4cd74b Binary files /dev/null and b/target/classes/com/huobi/wss/util/ApiSignatureEd25519.class differ 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 0000000..d5ba232 Binary files /dev/null and b/target/classes/com/huobi/wss/util/ZipUtil.class differ 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 0000000..1a18967 Binary files /dev/null and b/target/test-classes/com/huobi/future/api/AccountAPIEd25119Test.class differ diff --git a/target/test-classes/com/huobi/future/api/AccountAPIHmac256Test.class b/target/test-classes/com/huobi/future/api/AccountAPIHmac256Test.class new file mode 100644 index 0000000..22552a6 Binary files /dev/null and b/target/test-classes/com/huobi/future/api/AccountAPIHmac256Test.class differ 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 0000000..365dcde Binary files /dev/null and b/target/test-classes/com/huobi/future/api/BaseTest.class differ diff --git a/target/test-classes/com/huobi/future/api/MarketAPITest.class b/target/test-classes/com/huobi/future/api/MarketAPITest.class new file mode 100644 index 0000000..6b82269 Binary files /dev/null and b/target/test-classes/com/huobi/future/api/MarketAPITest.class differ diff --git a/target/test-classes/com/huobi/future/api/ReferenceAPITest.class b/target/test-classes/com/huobi/future/api/ReferenceAPITest.class new file mode 100644 index 0000000..3429346 Binary files /dev/null and b/target/test-classes/com/huobi/future/api/ReferenceAPITest.class differ diff --git a/target/test-classes/com/huobi/future/api/StrategyAPITest.class b/target/test-classes/com/huobi/future/api/StrategyAPITest.class new file mode 100644 index 0000000..e315f8d Binary files /dev/null and b/target/test-classes/com/huobi/future/api/StrategyAPITest.class differ diff --git a/target/test-classes/com/huobi/future/api/TradeAPITest.class b/target/test-classes/com/huobi/future/api/TradeAPITest.class new file mode 100644 index 0000000..ebbbeb6 Binary files /dev/null and b/target/test-classes/com/huobi/future/api/TradeAPITest.class differ 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 0000000..ea90211 Binary files /dev/null and b/target/test-classes/com/huobi/future/api/TransferAPITest.class differ diff --git a/target/test-classes/com/huobi/future/wss/WssCenterNotificationSubTest.class b/target/test-classes/com/huobi/future/wss/WssCenterNotificationSubTest.class new file mode 100644 index 0000000..84e8264 Binary files /dev/null and b/target/test-classes/com/huobi/future/wss/WssCenterNotificationSubTest.class differ 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 0000000..2add5c3 Binary files /dev/null and b/target/test-classes/com/huobi/future/wss/WssIndexReqTest.class differ 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 0000000..50409c5 Binary files /dev/null and b/target/test-classes/com/huobi/future/wss/WssIndexSubTest.class differ 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 0000000..96408fb Binary files /dev/null and b/target/test-classes/com/huobi/future/wss/WssMarketReqTest.class differ 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 0000000..463add6 Binary files /dev/null and b/target/test-classes/com/huobi/future/wss/WssMarketSubTest.class differ diff --git a/target/test-classes/com/huobi/future/wss/WssNotificationSubTest.class b/target/test-classes/com/huobi/future/wss/WssNotificationSubTest.class new file mode 100644 index 0000000..d44450d Binary files /dev/null and b/target/test-classes/com/huobi/future/wss/WssNotificationSubTest.class differ diff --git a/target/test-classes/com/huobi/swap/api/AccountAPITest.class b/target/test-classes/com/huobi/swap/api/AccountAPITest.class new file mode 100644 index 0000000..5f5b01d Binary files /dev/null and b/target/test-classes/com/huobi/swap/api/AccountAPITest.class differ diff --git a/target/test-classes/com/huobi/swap/api/BaseTest.class b/target/test-classes/com/huobi/swap/api/BaseTest.class new file mode 100644 index 0000000..7930d30 Binary files /dev/null and b/target/test-classes/com/huobi/swap/api/BaseTest.class differ 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 0000000..b157ff1 Binary files /dev/null and b/target/test-classes/com/huobi/swap/api/MarketAPITest.class differ diff --git a/target/test-classes/com/huobi/swap/api/ReferenceAPITest.class b/target/test-classes/com/huobi/swap/api/ReferenceAPITest.class new file mode 100644 index 0000000..cae8d2b Binary files /dev/null and b/target/test-classes/com/huobi/swap/api/ReferenceAPITest.class differ 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 0000000..f89b982 Binary files /dev/null and b/target/test-classes/com/huobi/swap/api/StrategyAPITest.class differ diff --git a/target/test-classes/com/huobi/swap/api/TradeAPITest.class b/target/test-classes/com/huobi/swap/api/TradeAPITest.class new file mode 100644 index 0000000..65c87e4 Binary files /dev/null and b/target/test-classes/com/huobi/swap/api/TradeAPITest.class differ 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 0000000..b4c95ce Binary files /dev/null and b/target/test-classes/com/huobi/swap/api/TransferAPITest.class differ 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 0000000..a085a78 Binary files /dev/null and b/target/test-classes/com/huobi/swap/wss/WssCenterNotificationSubTest.class differ 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 0000000..7bceb53 Binary files /dev/null and b/target/test-classes/com/huobi/swap/wss/WssIndexReqTest.class differ 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 0000000..da646fc Binary files /dev/null and b/target/test-classes/com/huobi/swap/wss/WssIndexSubTest.class differ 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 0000000..9fc6cca Binary files /dev/null and b/target/test-classes/com/huobi/swap/wss/WssMarketReqTest.class differ 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 0000000..b1ffdf6 Binary files /dev/null and b/target/test-classes/com/huobi/swap/wss/WssMarketSubTest.class differ 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 0000000..31431d2 Binary files /dev/null and b/target/test-classes/com/huobi/swap/wss/WssNotificationSubTest.class differ 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 0000000..b6e5d46 Binary files /dev/null and b/target/test-classes/com/huobi/usdt/api/AccountAPITest.class differ diff --git a/target/test-classes/com/huobi/usdt/api/BaseTest.class b/target/test-classes/com/huobi/usdt/api/BaseTest.class new file mode 100644 index 0000000..cda19aa Binary files /dev/null and b/target/test-classes/com/huobi/usdt/api/BaseTest.class differ 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 0000000..f106275 Binary files /dev/null and b/target/test-classes/com/huobi/usdt/api/CrossAccountAPITest.class differ 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 0000000..7903855 Binary files /dev/null and b/target/test-classes/com/huobi/usdt/api/CrossReferenceAPITest.class differ 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 0000000..c6c9704 Binary files /dev/null and b/target/test-classes/com/huobi/usdt/api/CrossSrategyAPITest.class differ diff --git a/target/test-classes/com/huobi/usdt/api/CrossTradeAPITest.class b/target/test-classes/com/huobi/usdt/api/CrossTradeAPITest.class new file mode 100644 index 0000000..158b638 Binary files /dev/null and b/target/test-classes/com/huobi/usdt/api/CrossTradeAPITest.class differ 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 0000000..f881b4a Binary files /dev/null and b/target/test-classes/com/huobi/usdt/api/CrossTransferAPITest.class differ 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 0000000..a1866cb Binary files /dev/null and b/target/test-classes/com/huobi/usdt/api/MarketAPITest.class differ 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 0000000..1022bd9 Binary files /dev/null and b/target/test-classes/com/huobi/usdt/api/ReferenceAPITest.class differ 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 0000000..82c6f09 Binary files /dev/null and b/target/test-classes/com/huobi/usdt/api/SrategyAPITest.class differ 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 0000000..a2d8864 Binary files /dev/null and b/target/test-classes/com/huobi/usdt/api/TradeAPITest.class differ diff --git a/target/test-classes/com/huobi/usdt/api/TransferAPITest.class b/target/test-classes/com/huobi/usdt/api/TransferAPITest.class new file mode 100644 index 0000000..3a90744 Binary files /dev/null and b/target/test-classes/com/huobi/usdt/api/TransferAPITest.class differ 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 0000000..d997d9a Binary files /dev/null and b/target/test-classes/com/huobi/usdt/api/UnifiedAccountAPITest.class differ 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 0000000..7a3975b Binary files /dev/null and b/target/test-classes/com/huobi/usdt/wss/WssCenterNotificationSubTest.class differ diff --git a/target/test-classes/com/huobi/usdt/wss/WssIndexReqTest.class b/target/test-classes/com/huobi/usdt/wss/WssIndexReqTest.class new file mode 100644 index 0000000..14d88c5 Binary files /dev/null and b/target/test-classes/com/huobi/usdt/wss/WssIndexReqTest.class differ 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 0000000..8b824fd Binary files /dev/null and b/target/test-classes/com/huobi/usdt/wss/WssIndexSubTest.class differ 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 0000000..f0cf842 Binary files /dev/null and b/target/test-classes/com/huobi/usdt/wss/WssMarketReqTest.class differ 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 0000000..7b2f8c8 Binary files /dev/null and b/target/test-classes/com/huobi/usdt/wss/WssMarketSubTest.class differ diff --git a/target/test-classes/com/huobi/usdt/wss/WssNotificationSubTest.class b/target/test-classes/com/huobi/usdt/wss/WssNotificationSubTest.class new file mode 100644 index 0000000..ff3f7fc Binary files /dev/null and b/target/test-classes/com/huobi/usdt/wss/WssNotificationSubTest.class differ 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')