10

我正在尝试使用 REST API 从 Kraken 检索 30 分钟蜡烛的 3 个月历史: https ://www.kraken.com/help/api

根据文档,我向 URL 发出了这个 POST 请求: 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 并且这个参数 'since' 被其他参数取代了?
或者我误解了这个参数的语法并且我做错了什么?

4

2 回答 2

10

他们称其为“ID”,但您是对的,这是 UNIX 时间戳。

我同意 API 文档中并不清楚这一点。

返回的结果数量有限制,请参阅https://support.kraken.com/hc/en-us/articles/218198197-How-to-pull-all-trade-data-using-the-Kraken- REST-API

我试过了,确实你无法从 2017 年 10 月 27 日获得所有 30 分钟的数据。

since一旦达到限制,该参数似乎就没用了。如果没有,它会很好用(即昨天的数据https://api.kraken.com/0/public/OHLC?pair=EOSETH&since=1517774700&interval=30)。

一旦达到限制,计数就会从今天开始到过去,并且您只能获得最近 15 天的数据......

如文章中所述,也许一种解决方案是从交易数据中构建您自己的 OHLC...

尝试联系支持以澄清这一点(我已经联系他们解决另一个问题,他们回复得很快)。

(我写这个作为一个答案,因为太多的文字评论,对不起,如果它没有回答你的问题)

于 2018-02-05T08:32:22.740 回答
5

这绕过了问题的 API 部分,但您可以从他们的网站下载历史数据:https: //support.kraken.com/hc/en-us/articles/360047124832-Downloadable-historical-OHLCVT-Open-High-Low -Close-Volume-Trades-data

于 2020-12-26T02:07:13.563 回答