tbpy订阅行情失败,求教

模拟股票ETF交易,程序报错“ tbpy订阅Tick失败: 159915,510500,510210,,162411 订阅深度行情失败”,不知道是哪方面的原因

策略初始化完成,交易标的: ['510210.XSHG']================================================================================on_init: 策略初始化开始================================================================================成功加载关联规则,共 6 条订阅Tick失败: 510210.XSHG 订阅深度行情失败这个后缀难道不对吗?,在哪里查正确的

ETF代码后缀那里可以查到

就卡在这里啦,哎

我加上了后缀,根据代码前缀判断交易所,是这样吗:- 5xxxx → 上海 (.XSHG)- 1xxxx → 深圳 (.XSHE)运行后显示策略初始化完成,交易标的: ['510210.XSHG']================================================================================on_init: 策略初始化开始================================================================================成功加载关联规则,共 6 条订阅Tick失败: 510210.XSHG 订阅深度行情失败

就是订阅行情失败,不知道啥原因

订阅账户已经在tbquant中登录,显示服务中

TB里对标的symbol的命名规则是合约名.交易所后缀比如螺纹2610合约是rb2610.SHFE之前是完全没了解过TB吗

# 订阅所有ETF标的的日线数据(用于计算因子特征) ret = context.subscribe_bar(symbol=SYMBOL_CODES, frequency='1d', sliding_window=20) if ret is not None: print(f"订阅Bar失败: {ret}") tbpy.exit() return

程序代码如下:# 从ETFpool.csv读取交易标的ETFpool_path = 'ETFpool.csv'SYMBOLS = {}SYMBOL_CODES = []if os.path.exists(ETFpool_path): etf_df = pd.read_csv(ETFpool_path) for _, row in etf_df.iterrows(): code = str(row['代码']) name = row['基金名称'] SYMBOLS[code] = name # 使用原始代码作为字典键 SYMBOL_CODES.append(code) print(f"从ETFpool.csv读取了 {len(SYMBOLS)} 个交易标的") print(f"标的列表: {SYMBOL_CODES}")else: SYMBOLS = {'510210': '上证指数ETF'} SYMBOL_CODES = ['510210'] print("ETFpool.csv不存在,使用默认标的")