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,请老师看一下,问题出在哪里?谢谢

序列函数Nthcon的使用在OnbarOpen and Onbar问题
关于OnBarOpen的问题
多图层中在onbaropen里给序列变量赋值问题
多数据源onbaropen问题
关于TBquant使用多图层时OnBarOpen调用次数不稳定的问题
关于OnBarOpen
defs 中的调用问题
在多周期中,如何约定onbar、onbaropen中的bar是哪个图层的bar?
关于onbaropen 是否会有闪烁
函数的使用问题

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

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

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

macddiff是什么也不知道

就按照你现在发出来的代码无法判断