Files
ritmex-bot/docs/ccxt/wiki/examples/py/kraken-fetch-my-trades-pagination.md
2025-10-03 15:28:16 +08:00

1.4 KiB

# -*- coding: utf-8 -*-

import os
import sys


import ccxt  # noqa: E402


exchange = ccxt.kraken({
   'apiKey': 'YOUR_API_KEY',
   'secret': 'YOUR_API_SECRET',
})

exchange.load_markets()

# exchange.verbose = True  # uncomment for verbose debug output

exchange.rateLimit = 10000  # set a higher value if you get rate-limiting errors

all_trades = []
offset = 0
while True:
   trades = exchange.fetch_my_trades(symbol=None, since=None, limit=None, params={'ofs': offset})
   print('-----------------------------------------------------------------')
   print(exchange.iso8601(exchange.milliseconds()), 'Fetched', len(trades), 'trades')
   if len(trades) < 1:
       break
   else:
       first = exchange.safe_value(trades, 0)
       last = exchange.safe_value(trades, len(trades) - 1)
       print('From:', first['datetime'])
       print('To:', last['datetime'])
       all_trades = trades + all_trades
       offset += len(trades)
   print(len(all_trades), 'trades fetched in total')

print('-----------------------------------------------------------------')
print(len(all_trades), 'trades fetched')
first = exchange.safe_value(all_trades, 0)
if first:
   last = exchange.safe_value(all_trades, len(all_trades) - 1)
   print('First:', first['datetime'])
   print('Last:', last['datetime'])