Maybe I did not explain this well enough. I define day as 
daytime = TimeNum() >= 093000 AND TimeNum() <= 161500;
Then I want to do an MA on only day time bars or not-day time bars.
This will produce voids in the arrays. For instance there will be 27 15
minute day time bars and 69 15 minute off hours bars. If I do a simple
MA(V, 50) it will average the last 50 bars regardless of whether they
are day or night time bars. The data I average will span day and night
volume numbers giving an inaccurate MA. I would have to use a loop and
use the value of the last 50 day only or night only bars. I can't
figure out how to do that.
  
The code would be a lot easier in a DLL since I could have two arrays
and store the correct data contiguously in one of two arrays. But I
don't know how that would match up with AFL arrays or even if would
have to. I have not written a DLL but I know MS C++ foundation classes.
  
Anyway, if it is a simple matter in AFL it escapes me how to manage the
arrays. Maybe I am making it harder than it needs to be.
  
Thanks,
Barry
  
--- In amibroker@xxxxxxxxxps.com,
Keith McCombs <kmccombs@xx.> wrote:
>
> Barry --
> Calculating EMAs and MAs should be possible, and of only
intermediate 
> difficulty, using AFL. EMAs will be a bit easier than MAs. The
reason 
> being that calculating an EMA requires only 2 pieces of data,
previous 
> bar's EMA and this bar's data. Of course, you will have to
construct 
> your own EMA because you will need to stop calculating each EMA at
the 
> end of its time period and then continue when its time period
begins again.
> 
> As for MAs, they really require only 3 pieces of data, previous
bars MA, 
> this bars data, and data of one bar, P bars ago (in the correct
time 
> period), where P is MA period.
> 
> One problem you may run into, especially with off hours data, is
what to 
> do if volume is zero. Is a bar created in this case? If not, what
are 
> you going to do about it?
> 
> BTW, AB&IB seems to create zero volume bars when backfills are
complete, 
> though 180days are problematic. Some other data providers,
PItrading 
> for example, just leave zero volume bars out.
> 
> -- Keith
> 
> 
> 
> On 2/25/2010 12:06, Barry wrote:
> >
> > I am trying to create two moving averages, one for normal
trading 
> > hours volume and the other for the off hours volume. When
futures are 
> > trading during the day the volume is much higher than off
hours. Using 
> > an MA of say 50 bars gives an incorrect look at the volume
until 50 
> > bars into the new time period. However, if one were using
hour or 15 
> > minute charts the MA could span days. It would be clearer or
more 
> > accurate if one could only use the applicable volume when
calculating 
> > the MA for normal hours vs off hours trading.
> >
> > Has this been done in AFL? Can it be done in AFL? Is there an
AFL 
> > function that can separate the day and night session data?
Can it be 
> > done in the context of AFL or would one have to use a DLL to
build 
> > separate arrays that only contain values from the two time
periods?
> >
> > I have tried a number of methods in AFL but none work
correctly. 
> > Managing the arrays in AFL and trying to ignore spans of bars
is 
> > blowing my mind.
> >
> > Thanks,
> > Barry
> >
> >
>