1. 老师,我有一个多商品叠加(共20个左右)的策略, 在一个商品tick触发onbar执行时,如果onbar没有执行完又来了另一个商品的tick数据,后来的tick数据是排队等待触发onbar吗?还是直接跳过不执行,等待onbar执行完后新来tick才又触发执行onbar?因为我想通过onbaropen的参数indexes来只对触发指定商品执行,如果未执行完会跳过tick,就需要考虑里面range的执行范围是全部商品还是指定商品。
2. 在tbq和tbq3中,我通过print观察到,tbq大部分情况下onbar的indexes参数都只有一个元素,相当于每次都触发是一个商品的行情。而在tbq3中,大部分情况下onbar的indexes参数都大于1个元素,相当于多个商品的行情被合并触发。那在tbq和tbq3中,onbar没有执行完又来tick的情况是否是一致的?用indexes来控制range的范围是否可行?
排队的多个tick会合并在一起进行一次驱动。
驱动的时候onbar里的参数indexes会包含驱动的图层,但是不会显示是哪些tick合并的。
谢谢老师!追问下,多商品中,如果商品A的onbaropen已经触发,商品B还没有触发onbaropen,此时如果商品A又来了一个tick,是触发onbar吗?还是依旧触发onbaropen?
如果触发onbar是不是意味着,各商品在同一时刻,有的商品触发onbar,有的商品触发onbaropen?
不同的事件域不会合并。
你说的这个情况肯定是驱动onbar的 不可能驱动onbaropen。这是商品A的当前bar第二tick,不应该触发onbaropen。
另外也不会同时触发多个事件域,事件域的执行也是有先后顺序的。
你的这个例子也不存在触发多个事件域的情况吧?这不是只会触发onbar吗?为什么回触发onbaropen?
谢谢老师!主要是多商品中有活跃和不活跃的商品,不活跃的商品在来第一个tick前,活跃的商品已经来了很多个tick,不活跃的商品在来第一个tick时应该是触发onbaropen,活跃的商品触发onbar,我这样理解对不对?
不活跃的商品在来第一个tick前,活跃的商品已经来了很多个tick,不活跃的商品在来第一个tick。
这种情况下首先驱动onbaropen,图层参数是不活跃商品。
然后再驱动onbar,图层参数也是不活跃商品。