onbar没有执行完又来tick如何执行?

       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代码执行方式的问题
策略没有执行
在OnBar里执行策略前判断BarStatus==2 再执行有什么用
OnBar与OnBarOpen两个事件的执行顺序是什么?
当订阅多个基础数据时,OnBar执行一次,OnDic是不是会执行多次?
如何市价执行
请问事件触发OnEvent是串行执行,还是并行执行?
如何在Onbar里保存tick值
请问早期历史数据回测onbar多次执行的问题

排队的多个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,图层参数也是不活跃商品。