[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[amibroker] Re: Finding the last true value in an array...



PureBytes Links

Trading Reference Links

Sorry Barry... my terminology is confusing...

Lets say I have an array that has only true or false values in it...

Lets say the last 10 value of this array are as follows, from x
intervals ago until now...

0,1,0,0,1,0,0,1,0,0
x.................Now

Now, obviously, BarsSince(array) will return a value of 2... i.e. the
last true value was 2 intervals ago.

However, the value I'm trying to get is the last value of true in the
above x elements of the array... so I want an expression that returns
8 for the above array (i.e. 8 intervals back is the last value of
true). Any ideas...?

Hopefully that's clearer now.


--- In amibroker@xxxxxxxxxxxxxxx, "Barry Scarborough" <razzbarry@xxx>
wrote:
>
> 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 amibroker@xxxxxxxxxxxxxxx, "sidhartha70" <sidhartha70@> 
> 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 amibroker@xxxxxxxxxxxxxxx, 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
> > > >
> > > >
> > >
> >
>



------------------------------------

**** IMPORTANT ****
This group is for the discussion between users only.
This is *NOT* technical support channel.

*********************
TO GET TECHNICAL SUPPORT from AmiBroker please send an e-mail directly to 
SUPPORT {at} amibroker.com
*********************

For NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG:
http://www.amibroker.com/devlog/

For other support material please check also:
http://www.amibroker.com/support.html

*********************************
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/amibroker/

<*> Your email settings:
    Individual Email | Traditional

<*> To change settings online go to:
    http://groups.yahoo.com/group/amibroker/join
    (Yahoo! ID required)

<*> To change settings via email:
    mailto:amibroker-digest@xxxxxxxxxxxxxxx 
    mailto:amibroker-fullfeatured@xxxxxxxxxxxxxxx

<*> To unsubscribe from this group, send an email to:
    amibroker-unsubscribe@xxxxxxxxxxxxxxx

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/