【问题标题】:Kraken-API OHLC request doesn't honor the 'since' parameterKraken-API OHLC 请求不遵守“since”参数
【发布时间】:2018-07-08 13:19:33
【问题描述】:

我正在尝试使用 REST API 从 Kraken 检索 3 个月 30 分钟蜡烛的历史记录: 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' 被其他参数替换了?
还是我误解了这个参数的语法,我做错了什么?

【问题讨论】:

  • 有趣的事实:1m 数据给你 24 小时。需要注意的一点是数据不一致(刷新几次就会改变)。所以不要太依赖这些数据

标签: kraken.com


【解决方案1】:

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

我同意 API 文档中没有明确说明。

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

我试过了,您确实无法获得 27/10/2017 的所有 30 分钟数据。

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

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

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

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

(我之所以写这个作为答案,是因为评论的文字太多,如果没有回答您的问题,请见谅)

【讨论】:

  • 正如您所提到的,似乎唯一的解决方案是从 Trades 构建 OHLC。例如,我认为这就是 Gekko(一个开源交易机器人)能够从 Kraken 检索历史的方式。也许我可以尝试联系支持以防万一。感谢您的帮助。
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-08-27
    • 2018-10-16
    • 2014-08-31
    • 1970-01-01
    • 2022-10-20
    • 2020-12-16
    • 2018-09-15
    • 1970-01-01
    相关资源
    最近更新 更多