PureBytes Links
Trading Reference Links
|
Hi Roy,
Leaving Exponential Moving Averages aside for the moment, it's my firm
belief that any x-period averaging mechanism should do exactly what it
says.
Again, it's my opinion that regardless of what Mr Wilder intended in
the application of Average True Range (ATR), a 10-period ATR should be
just that: an average of the True Range over 10 periods.
The way ATR is implemented in MetaStock, a 10-period ATR is an
exponential average of the True Range over 19 periods:
ATR(10)=Mov(ATR(1),19,E)
As Bill pointed out in the previous post, TradeStation computes the
correct simple average of True Range over x periods.
How many of us thought until now, that we were using a 19-period
average of the True Range in ATR(10)?
In reality, using a Average True Range of x periods when we are led to
believe it's an average over (x+1)/2 periods, is simply misleading.
Why not call the smoothing something else rather than "periods"?
The key word here is "Average" and its definition.
Let's call a spade, a spade.
jose '-)
--- In Metastockusers@xxxxxxxxxxxxxxx, "Roy Larsen" <rlarsen@xxxx>
wrote:
> Hi Jose
>
> > Whilst coding the True/Reverse ATR indicator below, I've noticed
that
> > MetaStock Pro v8.01 smooths ATR's erroneously. The MS exponential
> > smoothing is based on periods*2-1.
>
> The "periods*2-1" ratio is that used by Wilders Smoothing, the form
of exponential moving average
> used in a number of indicators developed by Wilder.
>
> See the following code for similarities and differences. Notice that
Wilders Smoothing is seeded by
> a Simple Moving Average for "n" periods while the EMA is seeded on
bar one by the value of the data
> array being smoothed. The EMA code below does not have any N/A plot
(this can be created easily
> enough) but it is still true to the standard MetaStock EMA.
>
> Since Wilder iss the author of the "Average True Range" indicator I
would think that Wilders
> Smoothing is the intended form of smoothing. Of course I could be
wrong as you have seen more than
> once in the past.
>
> {Exponential Moving Average}
> n:=Input("Periods",1,999,10);
> R:=2/(n+1); {ratio of new data added each bar}
> If(Cum(1)=1,C,PREV*(1-R)+C*R);
>
> {Wilders Smoothing}
> n:=Input("Periods",1,999,10);
> R:=1/n; {ratio of new data added each bar}
> If(Cum(1)<=n,Mov(C,n,S),PREV*(1-R)+C*R);
>
> Roy
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/Metastockusers/
<*> To unsubscribe from this group, send an email to:
Metastockusers-unsubscribe@xxxxxxxxxxxxxxx
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
|