比如,在获取多合约K线时,is_changing()中输入 key=[‘id’]。 那么接收数据应该在key有变化时更新。
但运行时发现,即便key 变化了,我也没有接收任何数据更新?
在获取 单个合约的时候, 我是能够接收到数据更新的。
# 获取 两个合约的的K线 klines= api.get_kline_serial(["SHFE.rb2205", "SHFE.rb2210"], duration_seconds=5, data_length=1) for i in range(30): api.wait_update() if api.is_changing(klines, key=['id1']): print(klines) api.close()
yangben 已回答的问题 2022年9月13日
如下示意, 在当前循环中, 各合约的close价格能区别开, 为何id号无法分开?
另, 哪如何才能用 for 把合约列表count_list 循环起来?
api = TqApi(web_gui=True, auth=TqAuth("yangben", "yang159753"))
count_list = (
["SHFE.rb2301", 1, 3, 6, 3, 30],
["DCE.i2301", 1, 3, 6, 3, 30],
["SHFE.al2210", 1, 3, 6, 3, 30],
["SHFE.ag2301", 1, 3, 6, 3, 30],
)
while True:
for i in count_list:
quote1 = api.get_kline_serial(i[0], 60, 10)
api.wait_update()
print(quote1.iloc[-1])
if api.is_changing(quote1.iloc[-1] , 'id'):
print('数据更新')
yangben 已回答的问题 2022年9月13日