While you're at it, you might want to consider declaring variables used
within the function as local so that they do not inadvertently overwrite
global variables.
e.g.
function Fast_EMA( period ) {
local
i;
local EMA_fast;
...
}
Mike
--- In amibroker@xxxxxxxxxps.com,
"Markus Witzler" <funnybiz@xx.>
wrote:
>
> Thanks, Mike!
>
>
> ----- Original
Message -----
> From: Mike
> To: amibroker@xxxxxxxxxps.com
> Sent: Thursday, November 19, 2009 8:26 PM
> Subject:
[amibroker] Re: Referencing values of a function and optimizing it
>
>
>
> If you want to reference an element, within the
resulting array, outside of the function, then simply assign the result to a
variable first.
>
> fast = fast_EMA(period);
> value =
fast[i]; // where i is the desired element index
>
> And yes,
your usage of Optimize is correct.
>
> Mike
>
> ---
In amibroker@xxxxxxxxxps.com,
"Markus Witzler" <funnybiz@> wrote:
> >
> >
Hello,
> >
> > I designed the following function which
creates an exponential moving average:
> >
> > function
Fast_EMA( period )
> > {
> > EMA_fast[ 0 ] = close[ 0 ];
seed value is being set
> >
> > for( i = 1; i <
BarCount; i++ )
> > {
> > EMA_fast[ i ]
=EMA_fast[i-1]+(close[i]-EMA_fast[i-1])*2/(period+1);
> > }
> >
> > return EMA_fast;
> > }
> >
> >
> > Now, when I later want to reference
a value of the function, do I use this: EMA_fast[i]
> >
> >
And when want to optimize the length of my exp. moving average, do I use
this:
> >
> > period=Optimize ("Fast EMA length", 50, 10,
150, 10);
> >
> > fast_EMA( period );
> >
> >
> > Thanks for clarifying
> >
> >
Markus
> >
>
>
>
>
>
>
__________ Information from ESET Smart Security, version of virus signature
database 4623 (20091119) __________
>
> The message was checked
by ESET Smart Security.
>
> http://www.eset.com
>