PureBytes Links
Trading Reference Links
|
MG,Jose,
Not so quick to the cubicle!
There was a coding error. The fix is below:
y:=C;
n:=12;
x1:=Exp(Sum(Log(y),n)/n);
x2:=Exp(Mov(Log(y),n,S));
x1;x2
That being said, there is a slight difference between x1 and x2 when
compared. Comparing that to a 12EMA of the close there is still
another difference. From my perspective, X1 and X2 actually appear
smoother. So we have a new way of writing an exponential moving
average.
Finally, MG I've used the sum method to derive a SMA before. I always
enjoy new methods of writing moving averages.
Thanks to both of you for the mental stimulus.
Preston
--- In equismetastock@xxxxxxxxxxxxxxx, "Jose Silva"
<josesilva22@xxxx> wrote:
>
> > 1000 * exp( Cum( log( y / 1000 ) ) )
>
> In *theory*, this would be quite useful in accumulating large
values
> (such as Volume), but unfortunately MetaStock cannot handle large
> values for the Exp() function, so there is no advantage here.
>
> Here is an example:
> Exp(Cum(Log(V/1000)))*1000
>
>
> > Exp( Sum( Log( y ), n ) / n )
> > or simply
> > Exp( Mov( Log( y, n, S ) ) )
>
> Neither of these is an improvement on Mov(y,n,S).
>
>
> MG, back to your modeling cubicle with you...
>
>
> jose '-)
> http://www.metastocktools.com
>
>
>
> --- In equismetastock@xxxxxxxxxxxxxxx, "MG Ferreira" <quant@xxxx>
> wrote:
> >
> > OK, here is a quick, off the cuff example. The Cum function
> >
> > Cum(y)
> >
> > gives
> >
> > y1 + y2 + y3 + ...
> >
> > What if you want
> >
> > y1 * y2 * y3 * ...
> >
> > Well, use
> >
> > exp( Cum( log( y ) )
> >
> > This will generally give an overflow quickly, unless you use
> > smallish values, so you may need to rescale it to get it to work,
> > ie calculate
> >
> > 1000 * exp( Cum( log( y / 1000 ) ) )
> >
> > If you think the Cum function is useful, then this must appeal to
> > you as well!
> >
> > Another example, the geometric average. The simple moving average
> > is defined as
> >
> > ( y1 + y2 + y3 + ... + yn ) / n
> >
> > Of course, in MSFL we all use
> >
> > Mov(y,n,S)
> >
> > to calculate this, but we could also use
> >
> > Sum(y,n) / n
> >
> > to get the answer the brute-force way.
> >
> > The geometric moving average, which may actually be more
applicable
> > to markets due to the exponential growth often seen in prices,
> > is defined as
> >
> > ( y1 x y2 x y3 x ... x yn ) ^ ( 1 / n )
> >
> > To do this in MSFL, use
> >
> > Exp( Sum( Log( y ), n ) / n )
> >
> > or simply
> >
> > Exp( Mov( Log( y, n, S ) ) )
> >
> > Regards
> > MG Ferreira
> > TsaTsa EOD Programmer and trading model builder
> > http://www.ferra4models.com
> > http://fun.ferra4models.com
------------------------ Yahoo! Groups Sponsor --------------------~-->
What would our lives be like without music, dance, and theater?
Donate or volunteer in the arts today at Network for Good!
http://us.click.yahoo.com/Tcy2bD/SOnJAA/cosFAA/BefplB/TM
--------------------------------------------------------------------~->
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/equismetastock/
<*> To unsubscribe from this group, send an email to:
equismetastock-unsubscribe@xxxxxxxxxxxxxxx
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
|