Binance: implement get historic trades (#588)

* Binance: implement get historic trades

* get binance trade data based on aggregate trade list
* fix small issue in rpc server: gctcli stops retrieving when there's
a gap in data

* update binance trade history availability in readme

* limit check batched aggregate requests

* add test for batched aggregated trades
* fix batch fromId query parameter
* update documentation

* send a serialised currency pair to GetAggregatedTrades

the rationale is that the API is kept generic so that callers can shoot
themselves in the foot if they want to

* allow requesting arbitrary limit of trades

* handle some error cases for batching GetAggregateTrades

* fix batch without end time

* don't return from batch too early if end time is not set
* additional check for supported limits

* don't use CheckLimits for GetAggregatedTrades

* the exchange doesn't use predefined valid limits for this request
This commit is contained in:
Rauno Ots
2020-11-24 00:29:13 +01:00
committed by GitHub
parent 695198b628
commit 5478442d65
10 changed files with 520 additions and 41 deletions

View File

@@ -10941,6 +10941,181 @@
"queryString": "limit=5\u0026symbol=BTCUSDT",
"bodyParams": "",
"headers": {}
},
{
"data": [
{
"M": true,
"T": 1590640145871,
"a": 303004096,
"f": 329755557,
"l": 329755557,
"m": false,
"p": "9195.09000000",
"q": "0.10000000"
},
{
"M": true,
"T": 1590640145901,
"a": 303004097,
"f": 329755558,
"l": 329755558,
"m": true,
"p": "9194.99000000",
"q": "0.00000700"
},
{
"M": true,
"T": 1590640145901,
"a": 303004098,
"f": 329755559,
"l": 329755559,
"m": true,
"p": "9194.98000000",
"q": "0.01963500"
},
{
"M": true,
"T": 1590640145980,
"a": 303004099,
"f": 329755560,
"l": 329755560,
"m": false,
"p": "9194.99000000",
"q": "0.00490700"
},
{
"M": true,
"T": 1590640146110,
"a": 303004100,
"f": 329755561,
"l": 329755561,
"m": false,
"p": "9194.99000000",
"q": "0.09509300"
}
],
"queryString": "endTime=1577978345000&startTime=1577977445000&symbol=BTCUSDT",
"bodyParams": "",
"headers": {}
},
{
"data": [
{
"M": true,
"T": 1577977445200,
"a": 303004095,
"f": 329755557,
"l": 329755557,
"": false,
"p": "9195.09000000",
"q": "0.10000000"
},
{
"M": true,
"T": 1577977445500,
"a": 303004096,
"f": 329755557,
"l": 329755557,
"": false,
"p": "9195.09000000",
"q": "0.10000000"
}
],
"queryString": "endTime=1577981045000&limit=1000&startTime=1577977445000&symbol=BTCUSDT",
"bodyParams": "",
"headers": {}
},
{
"data": [
{
"M": true,
"T": 1577977445500,
"a": 303004096,
"f": 329755557,
"l": 329755557,
"": false,
"p": "9195.09000000",
"q": "0.10000000"
},
{
"M": true,
"T": 1577981944800,
"a": 303004097,
"f": 329755557,
"l": 329755557,
"": false,
"p": "9195.09000000",
"q": "0.10000000"
},
{
"M": true,
"T": 1577981945200,
"a": 303004098,
"f": 329755557,
"l": 329755557,
"": false,
"p": "9195.09000000",
"q": "0.10000000"
}
],
"queryString": "fromId=303004096&limit=1000&symbol=BTCUSDT",
"bodyParams": "",
"headers": {}
},
{
"data": [
{
"M": true,
"T": 1577977445500,
"a": 303004096,
"f": 329755557,
"l": 329755557,
"": false,
"p": "9195.09000000",
"q": "0.10000000"
},
{
"M": true,
"T": 1577981944800,
"a": 303004097,
"f": 329755557,
"l": 329755557,
"": false,
"p": "9195.09000000",
"q": "0.10000000"
},
{
"M": true,
"T": 1577981945200,
"a": 303004098,
"f": 329755557,
"l": 329755557,
"": false,
"p": "9195.09000000",
"q": "0.10000000"
}
],
"queryString": "limit=3&symbol=BTCUSDT",
"bodyParams": "",
"headers": {}
},
{
"data": [
{
"M": true,
"T": 1577981945200,
"a": 303004098,
"f": 329755557,
"l": 329755557,
"": false,
"p": "9195.09000000",
"q": "0.10000000"
}
],
"queryString": "fromId=303004098&limit=1000&symbol=BTCUSDT",
"bodyParams": "",
"headers": {}
}
]
},