onbaropen使用中的问题

vars Series<Numeric> a1(0);onbaropen(Arrayref<Integer> indexs) { if(macddiff<macddiff[1]) { a1=1; } Commentary(\"a1=\"+text(a1)); }以上语句执行中,无论macddiff大于还是小于macddiff[1],a1始终等于0,请老师看一下,问题出在哪里?谢谢

@roertfeng 我把macddiff[2]与macddiff进行比较时,a1=1,证明您的猜测是对的,谢谢!

猜测一下,macddiff是序列变量的话,在新的一个bar到来时,应该取的是上一个bar的值。(也就是说onbaropen的时候macddiff初始值一直会等于macddiff[1],所以a1始终等于0)

回复:如果macddiff的值是在onbar域里计算的,那这个说法合理

macddiff是什么也不知道就按照你现在发出来的代码无法判断