2017-06-20 68 views
0

使用this API调用我想获得一个完整的BTCUSD数据集为5分钟的OHLC数据。比特币的OHLC数据使用bitfinex的API - 问题与API

我尝试在Python下面的代码,但API不返回正确的数据:

import requests 
import pandas as pd 

r = requests.post('https://api.bitfinex.com/v2/candles/trade:5m:tBTCUSD/hist', data={'start': 1434764470000, 'end': 1497922870000}) 
data = r.json() 

任何人都可以提供任何帮助吗?

回答

2

David!

Bitfinex v2端点实际上是要通过HTTP GET访问,而不是POST。

的PARAMS应该被添加到URL查询,像这样:

https://api.bitfinex.com/v2/candles/trade:5m:tBTCUSD/hist?start=1434764470000&end=1497922870000

此外,你应该对你的意思是正确的数据什么更具体。如果你根本没有得到答案 - 这可能是由于格式错误的请求。如果价格不符合您期望的历史记录时间 - 您可能需要确保您的时间戳记是UTC时间。

如果您没有在HTTP GET URL查询字符串中传递开始和结束过滤器,您总会得到最后100个蜡烛,就好像根本没有开始/结束过滤一样。

import requests 
url = 'https://api.bitfinex.com/v2/candles/trade:5m:tBTCUSD/hist' 
params = { 'start': 1434764470000, 'end': 1497922870000 } 
r = requests.get(url, params = params) 
data = r.json() 
print(data) 
+0

当我运行这个完全相同的代码时,我得到一个空列表返回给我。 –

+0

@abcla,当我用python执行它时,我得到: >>> print(data) [[1497922800000,2607.4,2607.5,2609.9,2607.2,14.19067283],...' –

+0

嗨,对不起,在我写的内容上犯了一个错误。代码确实会返回一个结果,但它最多只能返回1000个酒吧,有没有办法在给定时间内返回所有酒吧? –