Files
bitfinex-api-py/bfxapi/tests/test_rest_get_public_trades.py
Dario Moceri 4b4a17ebd8 get_public_trades() orders should be sorted by [timestamp, id] (#127)
Co-authored-by: Robert Kowalski <robert@bitfinex.com>

 - solved the merge conflict in CHANGELOG
2021-04-09 16:24:32 +02:00

37 lines
1.3 KiB
Python

import asyncio
import concurrent.futures
from bfxapi import Client
bfx = Client(logLevel='DEBUG')
async def run():
start = 1617519600000
candles = await bfx.rest.get_public_candles(start=start, symbol='tBTCUSD', end=None, tf='1h', sort=1, limit=1)
candle = candles[0]
price = candle[1]
assert price == 57394.61698309
orders_ids = []
trades = await bfx.rest.get_public_trades(start=1617519600000, limit=5, symbol='tBTCUSD', end=None, sort=1)
print(trades)
for trade in trades:
orders_ids.append(trade[0])
assert orders_ids == [657815316, 657815314, 657815312, 657815311, 657815309]
# check that strictly decreasing order id condition is always respected
# check that not increasing timestamp condition is always respected
orders_ids = []
timestamps = []
trades = await bfx.rest.get_public_trades(start=1617519600000, limit=5000, symbol='tLEOUSD', end=None, sort=1)
print(trades)
for trade in trades:
orders_ids.append(trade[0])
timestamps.append(trade[1])
assert not all(x > y for x, y in zip(orders_ids, orders_ids[1:])) is False
assert not all(x >= y for x, y in zip(orders_ids, orders_ids[1:])) is False
def test_get_public_trades():
t = asyncio.ensure_future(run())
asyncio.get_event_loop().run_until_complete(t)