比如,在获取多合约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日