help,订阅多个品种时怎么正确取到正确的属性值?

背景:

1、在onInit中通过ubscribeBar订阅了多个合约。

2、在onbar事件域中进行处理时,需要尽量减少计算次数,于是会先判定symbol——不同的symbol的计算结果分开存放,且计算的次数会影响计算结果(因为有些结果是计数相关的)。



然后就发现了一些问题

一、symbol等函数如果不在前面加上Data[i],输出的结果总是Data[0].Symbol。请问,在tbquant与tbquant3中,函数XXXX如果不加前缀、都等于Data[0].XXXX么?

二、onbar事件域是多线程并行的还是一个一个串行处理的?这个问题非常重要,因为会影响到我设计程序时变量的使用方式与设计思路,麻烦解答一下,谢谢。

三、在订阅了多个品种时,怎么知道当下运行的具体品种是什么呢?尤其是index中有好几个元素,没办法通过Data[index[0]].symbol来获取。


问题二与问题三非常重要,在线等。

函数如何正确声明
咨询编写是否正确
老师,这样设置是否正确?
怎样正确显示csv文件中的汉字
老师,请问获取动态权益的正确方法是什么?
当订阅多个基础数据时,OnBar执行一次,OnDic是不是会执行多次?
多品种订阅,“策略交易”板块显示多个品种订阅成功,但log只显示收到首个品种的行情推送
请教大神,验证线性回归的截距值不正确
如何在正确的在用户函数中传入数组
公式属性在导出时无法保留

1 不加前缀就是默认data0

2.一个单元内是串行的

3.实际运行的图层品种都在index里

对于问题三,再补充一下:

假设,订阅了10个品种,在onbar中看到index=[0,3,7]——代表订阅的第一、第四、第七个合约有数据更新。

然后我在onbar事件域中有一段逻辑,放在if{}条件语句块中,该条件语句块由于有计数器之类的机制,所以希望不要多余执行——即,能够计算的次数不要冗余或重复计算本身就是计算结果的保证之一。

那么,此时,我需要能够把index与symbol之类函数结合起来判断,只有通过了if条件的合约,才会执行if{}语句块。


对于问题二,再解释一下,防止没说清楚。

假设,订阅了10个品种,在onbar中看到index=[0,3,7]——代表订阅的第一、第四、第七个合约有数据更新,那么这第一、第四、第七个合约的onbar事件域是同时并行的?还是一个一个串行的?