87 浏览
0

实时数据情况下,如何只要1min数据,目前看好像来一大堆。无论订购什么级别的数据,都是来一大堆。如题所示。

chaos 已回答的问题 11小时 前
1

实时情况下如果只需要 1 分钟 K 线,订阅时用 `api.get_kline_serial(symbol, 60, data_length=2)`。

这里第二个参数 `60` 就表示 1 分钟周期,`data_length` 表示这个 DataFrame 里保留最近多少根 K 线。刚订阅时 TqSdk 会先补齐最近的历史 K 线,所以看起来会“一下子来一大堆”,这是正常的初始化数据,不是推送了多个周期的数据。

如果你只想在每根新的 1 分钟 K 线生成时处理一次,可以在循环里持续调用 `api.wait_update()`,然后用 `api.is_changing(klines.iloc[-1], “datetime”)` 判断是否生成了新 K 线;为真时再处理 `klines.iloc[-1]`。

如果不想处理初始化时已有的历史数据,可以在订阅后先记录最后一根 K 线的 `datetime`,后面只处理 `datetime` 变化后的新 K 线。

chaos 发表新评论 11小时 前

有其他问题欢迎加入官方Q群748265037一起交流

您正在查看1个答案中的1个,单击此处查看所有答案。