PureBytes Links
Trading Reference Links
|
Here is the code for the ergodic that is very similar to the one used in
Woodie's room.
The fellow with the identification of R7 uses a value of 7, 27, 7. That
should be equivalent to the values in my indicator of 7, 27, 1, 7.
Here is the text version for the indicator and three functions that can be
cut and pasted:
Regards,
Barry Silberman
=================================================================
{Ergodic Indicator:}
{from William Blau's book --- "Momentum, Direction and Divergence"
FORMAT: Ergodic_TSI(Price, r, s, u,, SmthLen)
where r = length of first EMA smoothing of 1 day momentum,
s = length of second EMA smoothing of 1 day smooting,
u = length of third EMA smooting of 1 daymomentum,
SmthLen = length of ema signal line.
This is plotting the Average only (value2)}
Inputs: Price(c), r(7), s(27), u(1), Zeroline(0), SmthLen(7),
upcolor_1(green), downcolor_1(red), dotsize(2);
Value1 = TSI(Price, r, s, u);
Value2 = XAverage(TSI(Price, r, s, u), SmthLen);
If value2 > value2[1] then
Plot3(Value2, "SigLin", upcolor_1, default, dotsize);
If value2 < value2[1] then
Plot3(Value2, "SigLin", downcolor_1, default, dotsize);
=====================================================================
{TSI function = True Strength Index by Bill Blau}
{FORMAT: TSI(Price,r,s,u)
Where: r = length of first EMA smoothing of 1 day momentum,
s = length of second EMA smoothing of 1 day smooting,
u = length of third EMA smooting of 1 daymomentum.}
Inputs: Price(NumericSeries), r(NumericSimple), s(NumericSimple),
u(NumericSimple);
Value1= 100*TXAverage(Price-Price[1],r,s,u) ; { Numerator }
Value2=TXAverage(AbsValue(Price-Price[1]),r,s,u) ; { Denominator }
If Value2 <> 0 then TSI = Value1 / Value2
Else TSI = 0;
========================================================
{TXAverage function
FORMAT: TXAverage(Price,r,s,u) }
Inputs: Price(NumericSeries), r(NumericSimple),s(NumericSimple),
u(NumericSimple);
TXAverage = XAverage(XAverage(XAverage(Price,r),s),u) ;
===============================================
{ XAverage Function (Exponential average) }
inputs:
Price( numericseries ),
Length( numericsimple ) ; { this input assumed to be a constant >= 1 }
variables:
SmoothingFactor( 2 / ( Length + 1 ) ) ;
if CurrentBar = 1 then
XAverage = Price
else
XAverage = XAverage[1] + SmoothingFactor * ( Price - XAverage[1] ) ;
===============================================
|