Python binance fetchMyTrades只提供3个月的个人交易,那么如何迭代结果呢?

2024-10-01 00:24:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图在3个月之前完成交易 我是这样做的:

#I use ccxt library 
result = ccxt_binance.fetchMyTrades('BTC/USDT', since = 1588669559517)

但仍然只获得3个月的交易,并且在2020-05-05之前无法获得交易 enter image description here 我错过什么了吗


Tags: uselibrarybinance交易resultbtcsinceccxt
1条回答
网友
1楼 · 发布于 2024-10-01 00:24:47

在GitHub上的原始版本中回答如下:

此处提供了一个Python示例:

# -*- coding: utf-8 -*-
import ccxt


exchange = ccxt.binance({
    'apiKey': 'YOUR_API_KEY',
    'secret': 'YOUR_SECRET',
    'enableRateLimit': True,
    # 'options': {
    #     'defaultType': 'spot', // spot, future, margin
    # },
})


exchange.load_markets ()

# exchange.verbose = True  # uncomment for debugging

symbol = 'ETH/BTC'
from_id = '0'
params = { 'fromId': from_id }
previous_from_id = from_id

all_trades = []

while True:

    print('                                 ')
    print('Fetching with params', params)
    trades = exchange.fetch_my_trades(symbol, None, None, params)
    print('Fetched', len(trades), 'trades')
    if len(trades):
        # for i in range(0, len(trades)):
        #     trade = trades[i]
        #     print (i, trade['id'], trade['datetime'], trade['amount'])
        last_trade = trades[len(trades) - 1]
        from_id = last_trade['id']
        params['fromId'] = from_id
        if from_id == previous_from_id:
            break
        else:
            all_trades = all_trades + trades
    else:
        break

print('Fetched', len(all_trades), 'trades')
for i in range(0, len(all_trades)):
    trade = all_trades[i]
    print (i, trade['id'], trade['datetime'], trade['amount'])

相关问题 更多 >