实时情况下如果只需要 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 线。
有其他问题欢迎加入官方Q群748265037一起交流