查询超过350个点的历史数据

时间:2018-02-10 20:55:26

标签: node.js http gdax-api

我正在尝试从GDAX API获取特定产品的历史定价数据。我理解以下说明:

  

单个请求的最大数据点数为350支蜡烛。如果您选择的开始/结束时间和粒度将导致超过350个数据点,则您的请求将被拒绝。如果您希望在更大的时间范围内检索细粒度数据,则需要使用新的开始/结束范围进行多个请求。

但是,如果我想使用以下代码获得1年期间的每日价值:

const Gdax = require('gdax');
const publicClient = new Gdax.PublicClient();

publicClient.getProductHistoricRates(
    'BTC-USD',
    { granularity: 60,
    start: '2017-01-01', end: '2018-01-01' }
).then((res) => {
    console.log(res)
});

然后我收到以下错误消息:

  

{message:'粒度太小,无法满足要求的时间范围' }

这是有道理的,因为将有365个结果大于350限制。我相信我可以查询 1月1日 - > 12月16日以及 12月16日的第二个查询 - > 12月31日。但是,请注意以下事项:

  

历史汇率数据可能不完整。对于没有刻度的间隔,不会发布数据。

建议特别是在较小的时间间隔内,逻辑可能不合理。是否有更智能的方法在超过350个数据点的时间内进行枚举?

1 个答案:

答案 0 :(得分:0)

如果您只想获得每日价值,则应将granularity更改为86400,因为粒度是您想要的每秒时间片数,1天= 86400秒,因此您获得1每天的数据点。

现在您每天获得1个数据点,您可以在1月1日至12月16日以及12月17日至12月31日之间提出要求。