SelectedValue() works Bill... Thanks. However, the problem I'm having is that I'm using this in AFL code and I want it to complete the historical array if you like, not just off a SelectedValue() but with each value of Sum(x,range) as ir changes... which it's looking like is not possible.
Horribly I might have to use a loop. Errrgg. --- In [email protected], "sidhartha70" <sidharth...@...> wrote: > > Nope, I've tried it Bill... > > I get an Error 5, Argument #3 has incorrect type on the ValuneWhen() > line... > > > > --- In [email protected], "wavemechanic" <timesarrow@> wrote: > > > > Have you tried it or are just "not sure"? Works for me and can move > to any bar and get the "selectedvalue". If in doubt use > selectedvalue(sum()). > > ----- Original Message ----- > > From: sidhartha70 > > To: [email protected] > > Sent: Tuesday, January 13, 2009 6:01 AM > > Subject: [amibroker] Re: Finding the last true value in an array... > > > > > > Actually Bill, not sure this works... since the 3rd argument in > > ValueWhen() is required to be a number and not an array. > > Could use LastValue() to turn it into a number, but of course this > > only returns the value from the right hand edge of the chart... so it > > wouldn't work historically... which is what I need. > > > > Any thoughts...? > > > > --- In [email protected], "wavemechanic" <timesarrow@> wrote: > > > > > > How about this? > > > > > > x = condition that generates your 1,0 array > > > y = sum(x, range) > > > z = valuewhen(x, barindex(), y) > > > position in array = lastvalue(barindex()) - z + 1 > > > > > > Bill > > > ----- Original Message ----- > > > From: sidhartha70 > > > To: [email protected] > > > Sent: Monday, January 12, 2009 6:33 PM > > > Subject: [amibroker] Re: Finding the last true value in an > array... > > > > > > > > > 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 [email protected], "Barry Scarborough" <razzbarry@> > > > 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 [email protected], "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 [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 > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ------------------------------------ > > > > > > **** 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 > > > > > > > > > > > > > > > > > > > > > ------------------------------------------------------------------------------ > > > > > > > > > > > > No virus found in this incoming message. > > > Checked by AVG - http://www.avg.com > > > Version: 8.0.176 / Virus Database: 270.10.6/1889 - Release Date: > > 1/12/2009 8:18 PM > > > > > > > > > > > ------------------------------------ > > > > **** 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 > > > > > > > > > > > > > ------------------------------------------------------------------------------ > > > > > > > > No virus found in this incoming message. > > Checked by AVG - http://www.avg.com > > Version: 8.0.176 / Virus Database: 270.10.6/1891 - Release Date: > 1/13/2009 8:17 AM > > >
