What are your trying to do? HHV gives the value of the highest high over the period you enter in x. If you want to find how far back that is you can use
bs = BarsSince(H == HHV(H, 10)); // the next line prints the num bars back and the high of that bar printf(NumToStr(bs, 1.0) + " High " + NumToStr(HHV(H, 10), 1.2)); If you want to find the value of the other things bs bars ago then you can // use the following. This applies to any array lastHigh = ref(High, - bs); // this is another way to see the results that shows the high value Plot(lastHigh, "high bars ago", colorBlack); Plot(Ref(C, -bs), "close bars ago", colorblue); Plot(Ref(MA(C, 10), -bs), "MA(10) value bars ago", colorGreen); // then look at what valuewhen returns Plot(ValueWhen(H == HHV(H, 10), H, -1), "ValueWhen", colorRed); bsolutely the last thing you want to do is start using loops, such as for loops, to extract data from ABs arrays. Your code will be much cleaner and faster if you use straight AFL. Your terminology true value is confusing. The value in an array is the true value. Do you mean what was the value when the condition was true? Barry --- In [email protected], "sidhartha70" <sidharth...@...> wrote: > > Graham, > > I'm trying to get my head around that code right now... but first > thing I noticed was that my post was poorly worded. Let me reword it > below, and maybe you can tell me if this is what you thought I meant.... > > Ok. It's easy to find the first occurrence of a true value of an > array... that is looking from now backwards x intervals. simply > HHV(array,x) where x=no of intervals back. > > However, how can I find the last true value of the array looking back > over x intervals...?? i.e. the first true value starting from x and > looking forward to now. > > is there an array method without looping...? > > Many Thanks > > > --- In [email protected], Graham <kavemanperth@> wrote: > > > > try this > > array = h; > > LastHHVValue = valuewhen( hhvbars(array,x)==0, array ); > > > > -- > > Cheers > > Graham Kav > > AFL Writing Service > > http://www.aflwriting.com > > > > > > > > 2009/1/13 sidhartha70 <sidhartha70@>: > > > Hi All, > > > > > > Ok. It's easy to find the last true value of an array... simply > > > HHV(array,x) where x=no of intervals back. > > > > > > However, how can I find the last true value of the array looking back > > > over x intervals...?? > > > > > > is there an array method without looping...? > > > > > > Many Thanks > > > > > > > > >
