我使用模拟账号链接天勤后端,使用 api.get_kline_serial 函数获取k线序列,并通过pandas索引获取最新k线,发现其中会返回重复id的k下。下面是代码片段和结果截图。截图中第一列是id,第二列是时间,第三列是交易量,各位大神求解。
api = TqApi() klines = api.get_kline_serial("DCE.m2001",1) while True: api.wait_update() last_kline = klines.iloc[-1] d = time2datetime(last_kline.datetime) timeStr = d.strftime("%Y-%m-%d %H:%M:%S") if api.is_changing(klines): print (last_kline.id,timeStr, last_kline.volume) api.close()
west 已回答的问题 2019年11月20日
这是正常的。
你的代码中:
if api.is_changing(klines):
print (last_kline.id,timeStr, last_kline.volume)
is_changing()函数如果没有填第二个参数则判断整个K线是否有更新,即:这个K线任意字段更新,is_changing都判断为True,可以看截图中,输出的每个相同id的K线,volume是有变化的。
is_changing()的具体用法请见文档。https://doc.shinnytech.com/tqsdk/latest/reference/tqsdk.api.html#tqsdk.api.TqApi.is_changing
hellspawn 发表新评论 2019年11月20日
多谢大神指点