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
> 
> 
> 

Reply via email to