Something along these lines might do the job:
P = Ref(ROC(C,1),-1) > 0 AND ROC(C,1) < 0;//Peak T = Ref(ROC(C,1),-1) < 0 AND ROC(C,1) > 0;//Trough //Plot(P,"P",1,1); Plot(T,"T",colorRed,1); Flag = IIf(P == 1,2, IIf(t == 1, 1,0)); //Plot(Flag,"Flag",1,1); BST = BarsSince(Flag == 1);//BarsSinceTrough Plot(BST,"BST",1,1); --- In [email protected], "lucianomt" <lucian...@...> wrote: > > t = array with all troughs > p = array with all peaks > > tbar = ValueWhen(t, BarIndex(), 1); > pbar = ValueWhen(p, BarIndex(), 1); > if(pbar < tbar) > { > [CODE] > } > > I have two arrays marking all the peaks and troughs, respectively, previously > filled with ZigZag. I want to check whether the peak or trough comes first, > so I tried to get the respective bars using Valuewhen and then checking using > IF. > > Why am I getting an error 6 message on the IF statement? I thought ValueWhen > returned a specific value not an array... >
