openapi-sdk icon indicating copy to clipboard operation
openapi-sdk copied to clipboard

QuoteContext.subscriptions 返回结果列表元素的sub_types属性异常

Open eiffelcn opened this issue 8 months ago • 4 comments

问题描述

QuoteContext.subscribe订阅了除Quote之外的类型Trade Brokers Depth后,调用QuoteContext.subscriptions返回的Subscription 中 sub_types 属性列表始终都是 SubType.Quote,有几个类型就返回几个 SubType.Quote 元素的List。按理解返回应当与subscribe参数的sub_types一致才合理。

代码例子

SUB_TYPES = [lb.SubType.Trade, lb.SubType.Quote, lb.SubType.Brokers, lb.SubType.Depth]
qc.subscribe(symbols=['TSLA.US', 'AAPL.US', 'MSFT.US'], sub_types=SUB_TYPES)
for sb in qc.subscriptions():
    print(sb.symbol, sb.sub_types, sb.candlesticks)

错误信息或结果截图

TSLA.US [SubType.Quote, SubType.Quote, SubType.Quote, SubType.Quote] [] MSFT.US [SubType.Quote, SubType.Quote, SubType.Quote, SubType.Quote] [] AAPL.US [SubType.Quote, SubType.Quote, SubType.Quote, SubType.Quote] []

你的环境信息

  • 操作系统: WSL
  • 开发语言: Python 3.12.10
  • SDK 版本号:longport==2.1.12

eiffelcn avatar May 10 '25 08:05 eiffelcn

qc.subscriptions()返回的Subscription.candlesticks也有异常: 如果一个股票只有通过qc.subscribe_candlesticks订阅K线,而没有通过qc.subscribe订阅行情,则不会出现在qc.subscriptions()返回结果中。与期望的只要sub_types或者candlesticks任一有订阅,就应当出现在qc.subscriptions()返回结果中,不一致。

eiffelcn avatar May 10 '25 08:05 eiffelcn

这是故意的,因为只订阅了k线,即使底层实际上订阅了行情

sunli829 avatar May 10 '25 13:05 sunli829

  1. 订了K线没订行情,就不返回,这是故意设计成这个逻辑?
  2. 订阅了[lb.SubType.Trade, lb.SubType.Quote, lb.SubType.Brokers, lb.SubType.Depth],查询订阅时候却返回了[SubType.Quote, SubType.Quote, SubType.Quote, SubType.Quote] ,这个怎么都不对劲吧?

eiffelcn avatar May 10 '25 18:05 eiffelcn

返回了4个一样的?我检查一下

sunli829 avatar May 11 '25 08:05 sunli829

感谢反馈,问题已修复,新版本晚点会发布

sunli829 avatar May 13 '25 02:05 sunli829