我正在尝试使用bitfinex REST api获取历史OHLC数据,文档在这里:https://bitfinex.readme.io/v2/reference#rest-public-candles
我有以下代码:
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个元素的列表而不是给定时间段内的所有条形码,我尝试更改“限制”#39;参数但是它最大值为1000,这比1分钟的条件少一天。
我还尝试使用以下网址使用来自cryptowatch的市场数据API:https://api.cryptowat.ch/markets/gdax/btcusd/ohlc 但是无论我在开始和结束时间传递什么参数,它都会返回最后500个柱。 (但我希望能够指定时间范围并获得多个月的数据,就像大多数其他API一样)
有没有办法从Bitfinex获取历史数据?在大多数情况下,他们的API都有详细记录,所以我很惊讶只是获取历史数据非常困难。
答案 0 :(得分:4)
Bitfinex API占用unix时间* 1000,意思是:
params = { 'start': 1506816000000, 'end': 1509674567000 }
您还可以添加" sort ="参数按升序或降序对响应进行排序,也使您只能提供一个“开始”按钮。 param或' end' PARAM 例如:
https://api.bitfinex.com/v2/trades/tBTCUSD/hist?end=1509674567000&limit=1000&sort=-1
将返回一个回复,其中第一行是最接近的交易,发生在' 1509674567000'时间戳(' 1509674567'在常规的unix时间内)和最后一行只是999交易之前' 1509674567000' (应该在' 1509673162000')。