PureBytes Links
Trading Reference Links
|
Hi,
I got the idea for this approach from the AFL Library code for Elder's
SafeZone stop. I think it will do what you want.
arrayperiod = 20;
arrayamounts = IIf( C > MA( C, arrayperiod ), H - L, 0 );
sumofarray = Sum( arrayamounts, arrayperiod );
countofarray = Sum( C > MA( C, arrayperiod ), arrayperiod );
yourma = sumofarray/countofarray;
Plot( countofarray, "Number of hits in last " + arrayperiod,
colorBlack, styleNoLine|styleOwnScale );
Plot( yourma, "Your MA", colorBlack, styleLine );
Joe
--- In amibroker@xxxxxxxxxxxxxxx, Ken Close <ken45140@xxx> wrote:
>
> I asked a similar question about nulls in a stdev calculation and
received
> Tomasz answer at
> http://finance.groups.yahoo.com/group/amibroker/message/127041
>
> Not detailed but will explain what has to be done. Basically you
have to
> write a looped routine.
>
> Ken
>
> -----Original Message-----
> From: amibroker@xxxxxxxxxxxxxxx [mailto:amibroker@xxxxxxxxxxxxxxx]
On Behalf
> Of pmxgs
> Sent: Friday, July 25, 2008 10:27 AM
> To: amibroker@xxxxxxxxxxxxxxx
> Subject: [amibroker] Calculate MA on array which doesn't have
consecutive
> numbers?
>
> Hi,
>
> I'm trying to calculate a moving average over a number of values
which are
> based on a certain condition.
> For example (if close > 20 period MA, return range of bar, otherwise
don't
> get the value):
>
> array=IIF(C>MA(C,20),(H-L),0);
>
> What I would now like is to have a 20 period moving average of only the
> numbers obtained in the previously calculated array, because the
array also
> has zeros (when IIF condition is false), and I don't want the zeros
to be
> included in the MA caculation.
> In other words, the problem is that, since that the IIF condition isn't
> allways true, the array doesn't have consecutive numbers, so if I
choose to
> calculate the MA like this: MA(array,20) I won't get the correct MA
(because
> the zeros are included).
>
> Can anyone give an hint on how to solve this
>
> Thanks
>
>
> ------------------------------------
>
> 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
>
------------------------------------
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
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/amibroker/
<*> Your email settings:
Individual Email | Traditional
<*> To change settings online go to:
http://groups.yahoo.com/group/amibroker/join
(Yahoo! ID required)
<*> To change settings via email:
mailto:amibroker-digest@xxxxxxxxxxxxxxx
mailto:amibroker-fullfeatured@xxxxxxxxxxxxxxx
<*> To unsubscribe from this group, send an email to:
amibroker-unsubscribe@xxxxxxxxxxxxxxx
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
|