多图层中在onbaropen里给序列变量赋值问题
如果定义一个序列变量,在onbaropen里对它进行自加1(初始值在vars里赋值),那么第一根bar计算实际上就是初始值加1,和onbar域里对它自加1是一样的;但如果是多图层,onbaropen的运行结果就是初始值加了2次1,onbar域里结果是正确的,相当于在data0第一根bar出现的起始时间以前,data1如果有更早时间的bar,data0虽然没有bar但是执行过一次onbaropen,是不是?这算不算bug呢?
如果定义一个序列变量,在onbaropen里对它进行自加1(初始值在vars里赋值),那么第一根bar计算实际上就是初始值加1,和onbar域里对它自加1是一样的;但如果是多图层,onbaropen的运行结果就是初始值加了2次1,onbar域里结果是正确的,相当于在data0第一根bar出现的起始时间以前,data1如果有更早时间的bar,data0虽然没有bar但是执行过一次onbaropen,是不是?这算不算bug呢?
https://www.tbquant.net/forumDetail?cur=tbquan&id=12076&cid=all
这个放在onbar就是1,放在openbar就是2,多图层就会这样
Vars Series <Numeric> x(0);Events OnInit() { SubscribeBar(Data0.Symbol,\"5m\",Data0.BeginDateTime); } OnBarOpen(ArrayRef<Integer> indexs) { x = x + 1; } OnBar(ArrayRef<Integer> indexs) { Commentary(text(x)); }
实时环境会复杂一点,如何程度的复杂取决于你的代码建议用代码举例子