mirror of
https://github.com/discountry/ritmex-bot.git
synced 2026-09-11 17:28:08 +00:00
commit
This commit is contained in:
@@ -0,0 +1,64 @@
|
||||
- [Okx Fetch Closed Orders Pagenumber Pagination](./examples/py/)
|
||||
|
||||
|
||||
```python
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
import os
|
||||
import sys
|
||||
|
||||
|
||||
import ccxt # noqa: E402
|
||||
|
||||
'''
|
||||
This is an example of pagenumber-based pagination as described here:
|
||||
https://github.com/ccxt/ccxt/wiki/Manual#pagenumber-based-cursor-pagination
|
||||
'''
|
||||
|
||||
symbol = 'ETH/BTC'
|
||||
|
||||
exchange = ccxt.okx({
|
||||
'apiKey': 'YOUR_API_KEY', # put your values here
|
||||
'secret': 'YOUR_SECRET',
|
||||
})
|
||||
|
||||
|
||||
def get_all_closed_orders_since_to(exchange, symbol, since, to):
|
||||
result = []
|
||||
page = 1
|
||||
min_timestamp = to
|
||||
print('Fetching all orders since', exchange.iso8601(since), since)
|
||||
while min_timestamp > since:
|
||||
try:
|
||||
print('Fetching page', page)
|
||||
params = {'current_page': page}
|
||||
orders = exchange.fetch_closed_orders(symbol, since, None, params)
|
||||
if len(orders):
|
||||
min_timestamp = orders[0]['timestamp']
|
||||
print('Fetched', len(orders), 'orders, the oldest order as of', exchange.iso8601(min_timestamp), min_timestamp)
|
||||
result += orders
|
||||
page += 1
|
||||
else:
|
||||
min_timestamp = since
|
||||
except ccxt.ExchangeNotAvailable as e:
|
||||
pass # retry
|
||||
return result
|
||||
|
||||
|
||||
one_day = 24 * 60 * 60 * 1000 # in milliseconds
|
||||
since = exchange.parse8601('2018-11-25T00:00:00') # 0:00 AM UTC in milliseconds
|
||||
# or
|
||||
since = exchange.milliseconds() - one_day # last 24 hours in milliseconds
|
||||
|
||||
to = since + one_day
|
||||
|
||||
all_orders = get_all_closed_orders_since_to(exchange, symbol, since, to)
|
||||
|
||||
all_orders = exchange.sort_by(all_orders, 'timestamp')
|
||||
|
||||
print('Fetched all', len(all_orders), 'orders')
|
||||
print('The oldest order as of', exchange.iso8601(all_orders[0]['timestamp']))
|
||||
print('The youngest order as of', exchange.iso8601(all_orders[-1]['timestamp']))
|
||||
print('Done.')
|
||||
|
||||
```
|
||||
Reference in New Issue
Block a user