繁体   English   中英

Binance ccxt 获取 ohlcv 超过 1000 限制

[英]Binance ccxt fetch ohlcv exceeding 1000 limit

尝试创建一个循环,该循环将在开始和日期(3 个月)之间获取pair_list中硬币的所有 5m 间隔 ohlcv 数据

根据一些讨论和片段,我想出了以下内容,但是,它不起作用

import ccxt
import config
import pandas as pd
pd.set_option('display.max_rows', 1000)
pd.set_option('display.max_columns', 500)
pd.set_option('display.width', 1000)


import warnings
warnings.filterwarnings('ignore')

import numpy as np
#np.printoptions(precision=2, suppress=True)

from datetime import datetime, timedelta, date, time

import datetime as dt

import datedelta
import calendar
import dateutil.relativedelta
from dateutil.relativedelta import relativedelta


start = str(int(dt.datetime(2021, 5, 1).replace(hour=1).timestamp() * 1000))
end = str(int(dt.datetime(2021, 2, 1).replace(hour=1).timestamp() * 1000))

for i in pair_list:

    startDate = end
    while startDate>start:

        bars[i] = 'exchange.fetch_ohlcv(binancePair[i], timeframe=timeframe, '
        if startDate is not None:
            bars[i] += 'since='+ str(startDate) +', limit=1000'
            d2[i] = pd.DataFrame(bars[i][:-1], columns =['timestamp', 'open', 'high', 'low', 'close', 
            'volume' ])
            d[i] = pd.concat([d2[i], d[i]], axis=0, ignore_index=True, keys=None)
            startDate[i] = d[i].timestamp[0] 

            d[i].reset_index(drop=True, inplace=True)   
            d[i]['timestamp'] = pd.to_datetime(d[i]['timestamp'], unit='ms')
    

这不完全是您正在寻找的答案,但它肯定会解决您的问题(ccxt):

    limit=None

代码看起来像这样(ccxt):

    start_date = int(datetime.datetime(2018, 1, 1, 10, 20).timestamp() * 1000)
    candles = exchange.fetch_ohlcv('BTC/USDT', timeframe='1d', since=start_date, 2012', limit=None)

这应该让蜡烛到现在,然后你可以轻松地修改 pandas df。

我知道 Binance 交换文件 state 1000 限制,但在使用他们的 api 时,它们仍然允许大量数据,例如此代码适用于 Binance(binance api):

    candles = client.get_historical_klines("BTCUSDT", Client.KLINE_INTERVAL_1DAY, "1 Jan, 2018", "22 May, 2021")

我知道您具体想做什么,因为某些交易所确实需要限制。 尽管 Binance 交换这些代码片段将起作用。

几天后我会抽出时间来回答最初的问题,在此之前我希望这会有所帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM