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...
>


Reply via email to