如果定义一个序列变量,在onbaropen里对它进行自加1(初始值在vars里赋值),那么第一根bar计算实际上就是初始值加1,和onbar域里对它自加1是一样的;但如果是多图层,onbaropen的运行结果就是初始值加了2次1,onbar域里结果是正确的,相当于在data0第一根bar出现的起始时间以前,data1如果有更早时间的bar,data0虽然没有bar但是执行过一次onbaropen,是不是?这算不算bug呢?
这个放在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));
}
实时环境会复杂一点,如何程度的复杂取决于你的代码
建议用代码举例子