我正在尝试使用REST API从Kraken中检索3个月的30分钟蜡烛历史记录: https://www.kraken.com/help/api
根据文档,我将此POST请求发送到URL: https://api.kraken.com/0/public/OHLC
以JSON格式传递以下参数:
{
"pair":"EOSETH",
"interval":30,
"since":1514404800
}
其中1514404800对应于日期的时间戳(以秒为单位):
27/10/2017 20H00m UTC
这在API文档中并不清楚,他们称之为“ID”,但我通过查看返回的值得出了这个结论。
所以我期待从此日期开始的条目返回响应。然后我将使用返回的最后一个id来获取后续条目。
然而,我得到的第一个条目恰好对应于15天前。实际上,如果我根本没有传递参数'since',我会得到完全相同的结果,所以看起来参数被完全忽略了。
也许Kraken改变了API,这个参数“以来”被其他一些替换了?
或者我错过了这个参数的语法,我做错了什么?
答案 0 :(得分:4)
他们称之为“ID'但你说得对,这就是UNIX TimeStamp。
我同意API文档中不清楚。
返回的结果数量有限制,请参阅https://support.kraken.com/hc/en-us/articles/218198197-How-to-pull-all-trade-data-using-the-Kraken-REST-API
间隔30分钟即可获得15天前的所有数据:https://api.kraken.com/0/public/OHLC?pair=EOSETH&since=0&interval=30
如果您将间隔更改为60分钟,则会从1个月前获得数据:https://api.kraken.com/0/public/OHLC?pair=EOSETH&since=0&interval=60
间隔1分钟,您可以在不到1天的时间内获得数据(如上文所述):https://api.kraken.com/0/public/OHLC?pair=EOSETH&since=0&interval=30
我尝试过,实际上你无法从2017年10月27日那里得到所有30分钟的数据。
一旦达到限制,似乎since
参数无用。
如果没有,它的效果很好(即来自昨天https://api.kraken.com/0/public/OHLC?pair=EOSETH&since=1517774700&interval=30的数据)。
一旦达到限制,计数从今天开始到过去,您只获得最近15天的数据......
如文章中所述,也许解决方案是从交易数据构建您自己的OHLC ......
尝试联系支持人员以澄清这一点(我已经与他们联系以解决其他问题并且他们的回复非常快)。
(我写这个作为答案,因为评论太多了,对不起,如果它没有回答你的问题)
答案 1 :(得分:2)
这绕过了问题的 API 部分,但您可以从他们的网站下载历史数据: https://support.kraken.com/hc/en-us/articles/360047124832-Downloadable-historical-OHLCVT-Open-High-Low-Close-Volume-Trades-data