Python Binance fetchMyTrades仅提供3个月的个人交易,那么如何遍历结果呢?

问题描述

我想早于3个月开始交易 我是这样的:

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

但是仍然只能获得3个月的交易,并且在2020-05-05之前无法获得交易

enter image description here

我想念什么吗?

解决方法

在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,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['amount'])