2017-11-04 92 views
2

我试图让使用bitfinex REST API历史OHLC数据,文档浏览:https://bitfinex.readme.io/v2/reference#rest-public-candlesBitfinex数据API

我有以下代码:

try: 
    url = 'https://api.bitfinex.com/v2/candles/trade:1m:tBTCUSD/hist' 
    params = { 'start': 1506816000, 'end': 1509674567 } 
    r = requests.get(url, params = params) 
    data = r.json() 
    print(json.dumps(data, indent=2)) 

except Exception, e: 
    print e 

当我运行代码,我得到一个列表只有100个元素,而不是所有的酒吧在给定的时间内,我试图改变'极限'参数,但它最大为1000,这是1分钟酒吧一天少于。

我也尝试使用cryptowatch的市场数据API,使用以下网址:https://api.cryptowat.ch/markets/gdax/btcusd/ohlc 但是无论我传递的开始和结束时间的参数是什么,它都会返回最后500个小节。 (但是我希望能够指定时间框架并获得多个月的数据,与其他大多数API一样)

有什么办法从Bitfinex获取历史数据?大多数情况下,他们的API都有很好的文档记录,所以我很惊讶,获取历史数据非常困难。

回答

1

Bitfinex API采用UNIX时间* 1000,意思是:

params = { 'start': 1506816000000, 'end': 1509674567000 } 

你也可以添加一个“排序=”参数排序升序或降序的响应,也使您可以只提供一个“启动“PARAM或‘结束’PARAM 例如:

https://api.bitfinex.com/v2/trades/tBTCUSD/hist?end=1509674567000&limit=1000&sort=-1 

将返回其中第一行是最接近贸易发生,以响应‘1509674567000’时间戳(”在常规Unix时间1509674567' )和最后一行只想在'1509674567000'之前成为999交易在'1509673162000')。