Hello,

You need to write that way:

x = DoThis();
y = DoThat();

result = IIF( BarIndex() <= LastValue( BarIndex() - n, x, y );

In other words perform calculation both ways and switch results.
That way it will be faster.

if() will work only if you were iterating bar by bar.



Best regards,
Tomasz Janeczko
amibroker.com
----- Original Message ----- 
From: "John Bollinger" <[EMAIL PROTECTED]>
To: <[email protected]>
Sent: Friday, July 25, 2008 8:56 PM
Subject: [amibroker] Getting near the end


> Hello,
> 
> I'd like to change a calculation as I get within n periods of the end
> of an array in real time.
> 
> if (BarIndex() <= LastValue(BarIndex) - n)
>    do this;
> else
>    do that;
> 
> The above has problems as it compares an arrray to a number.
> 
> I've tried SelectedValue(BarIndex()).
> 
> TIA,
> 
>     jab
> 
> 
> 
> 
> 
> ------------------------------------
> 
> Please note that this group is for discussion between users only.
> 
> To get 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
> 
> 
> 

Reply via email to