Rob, Progster - I think that you will find that LastValue() returns a scalar. It is nit-picking in this situation, but can be important in others. The "auto-promotion" of AFL scalar variables to arrays in certain situations can make this confusing.
There are a couple of ways to show this. The following Exploration is an example - scalar = 1; array = C - 1; Lastval = LastValue( array ); // Use of lastval in a function that must have a scalar value test = Param( "test", Lastval, 0, 1000, 1 ); Filter = Status( "lastbarinrange" ); AddTextColumn( typeof( scalar ), "TypeOf(scalar)", 1.0 ); AddTextColumn( typeof( array ), "TypeOf(array)", 1.0 ); AddTextColumn( typeof( Lastval ), "TypeOf(lastval)", 1.0 ); BTW, I agree that LastValue() could be considered looking into the future. --- In [email protected], "Rob" <sidharth...@...> wrote: > > LastValue() does actually return an array... that as progster correctly says > is filled with the last value of "SourceArray"... however, AFL knows this and > treats it as a number... i.e. it can be passed to an If() statement... > > Again, progster is right, LastValue() can look into the future from a > backtesting perspective... because it by definition uses the 'lastvalue' of > SourceArray. > > However, this is not an issue if you are using LastValue() on the RHS of the > chart in the correct context. > > --- In [email protected], "progster01" <progster@> wrote: > > > > Consider this: > > > > Result = LastValue( SourceArray ) ; > > > > Result is an array, all of the values in which are identical and equal to > > the single final value of SourceArray. > > > > Hence, at all locations in Result, there is a value that represents the > > "far in the future" last value of SourceArray. > > > > Remember, your arrays are each constructed beginning to end at their point > > of definition in your AFL. An array defined earlier in your code is > > completely constructed before arrays defined later in your code even exist > > yet. > > > > In case you are thinking that all arrays are constructed in parallel on a > > bar-by-bar basis, they are not. > > > > > > --- In [email protected], Rick Osborn <ricko@> wrote: > > > > > > Caveat: since this function fills an entire data array with the > > > last value of another array, it allows a formula to look into the future. > > > so if there are repeated events (buy signals and sell signals), I'm not > > > sure if lastvalue sees any but the last one. Plus I worry about the > > > Caveat!! > > >
