Value = iif(Timenum() <time criteria,MA(x),MA(y));
----- Original Message -----
From: "pmxgs" <[EMAIL PROTECTED]>
To: <[email protected]>
Sent: Thursday, July 24, 2008 9:50 AM
Subject: [amibroker] Help with AFL, calculating two different ATR
> Hi,
>
> I'm trying to build two indicators which calculate the 30 period MA
> of the (1)ATR of the first 3 hours of the trading day and then the
> (2)ATR of the rest of the hours of the trading day.
> I'm using hourly bars.
>
>
> Can I do this without loops?
>
> I was thinking in using something like (assuming market opens at 7):
>
>
> First3=IIF(hour()<10, atr(1),null); // this array holds the atr of
> the first three hours
> Restofday=IIF(hour()>=10,atr(1),null); // this array holds the atr
> of rest of the hours
>
> atravg3=ma(firsttwoh,30); //calculates the 30 period average of the
> atr obtained during the first three hours
> atrmovaveragerR=ma(restofday,30);
>
> The problem with this approach is that the first3 array is filled
> with numbers (atr) when I'm at the first three hours of the trading
> day, and nulls after that.
> Then the moving average will be calculated on both the numbers and
> the nulls.
> Is there any way to change this, so that the average uses only the
> number, and discards the nulls.
>
> thanks very much
>
>
>
> ------------------------------------
>
> 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
>
>
>