Page 1 of 1

Ergodic... is it in the MotherLoads?

Posted: Sat Dec 08, 2007 1:17 am
by tradecrazy
Is there an ergodic indicator written for radarscreen in the MotherLoads? Is there a way to search and sort thru the titles of these indicators to find such a beast?
tnx

Posted: Sun Dec 09, 2007 12:57 am
by TheRumpledOne
Found this on the TS forum:

Code: Select all


{ https://www.tradestation.com/Discussions/Topic.aspx?Topic_ID=65867 }

Inputs: 
   Price(close), 
   AvgLen(9),
   r(7), 
   s(27), 
   u(1), 
   Zeroline(0), 
   SmthLen(7),
   upcolor_1(green), 
   downcolor_1(red);
 
Variable:
   _TSI (0),color(0),Numerator(0),
   Denominator(0),AvgTSI(0),Avg2(0);
 
//don't really use the first xAverage here ... when u = 1 but ... left it in anyway
Numerator = 100*XAverage(XAverage(XAverage(Price-Price[1],r),s ),u) ; { Numerator }
 
//don't really use the first xAverage here ... when u = 1 but ... left it in anyway
Denominator = XAverage(XAverage(XAverage(AbsValue(Price-Price[1] ),r),s),u) ; { Denominator }
 
If Denominator <> 0 then 
   _TSI = Numerator / Denominator 
else 
   _TSI = 0;
 
AvgTSI= XAverage(_TSI, SmthLen);
 
plot1(AvgTSI,"SigLin");
color = IFF(AvgTSI > AvgTSI[1],UpColor_1,cyan);
color = IFF(AvgTSI < AvgTSI[1],downColor_1,color);
 
SetPlotColor(1,color);
 
//calc xAvg
avg2 = xAverage(AvgTSI,AvgLen);
plot2(avg2,"avg");

Posted: Sun Dec 09, 2007 1:00 am
by TheRumpledOne

Code: Select all

{
   Ergodic Indicator re-coded by Rod on 2005 0917
     Comment -- seems to work ok when stock is trending, not good alone in a flat market
          ....more testing required

 *************************************************************************************
 Type: Indicator, Name: Ergodic Indicator

 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)

slightly modified by WayneChem 5/16/06
   added xAverage of plot1

 ************************************************************************************* }
   

Inputs:
   Price(close),
   AvgLen(9),
   r(7),
   s(27),
   u(1),
   Zeroline(0),
   SmthLen(7),
   upcolor_1(green),
   downcolor_1(red);

Variable:
   _TSI (0),color(0),Numerator(0),
   Denominator(0),AvgTSI(0),Avg2(0);

//don't really use the first xAverage here ... when u = 1 but ... left it in anyway
Numerator = 100*XAverage(XAverage(XAverage(Price-Price[1],r),s),u) ; { Numerator }

//don't really use the first xAverage here ... when u = 1 but ... left it in anyway
Denominator = XAverage(XAverage(XAverage(AbsValue(Price-Price[1]),r),s),u) ; { Denominator }

If Denominator <> 0 then
   _TSI = Numerator / Denominator
else
   _TSI = 0;

AvgTSI= XAverage(_TSI, SmthLen);

plot1(AvgTSI,"SigLin");
color = IFF(AvgTSI > AvgTSI[1],UpColor_1,cyan);
color = IFF(AvgTSI < AvgTSI[1],downColor_1,color);

SetPlotColor(1,color);

//calc xAvg
avg2 = xAverage(AvgTSI,AvgLen);
plot2(avg2,"avg");

{ ************************************************************************************* }
         
{ The following is the original indicator and 2 functions for reference
  as posted at http://trader.online.pl/ELZ/t-i-Ergodic_Indicator.html}
              
{ ************************************************************************************* }

{
Ergodic Indicator by William Blau 
 
ergodic indicator - text version
* To: "Joel" <traderjoes@xxxxxxxxxxxxx>
* Subject: ergodic indicator - text version
* From: "Barry Silberman" <Barry@xxxxxxxxxxxxxxxxx>
* Date: Tue, 2 Dec 2003 07:07:30 -0800
* In-reply-to: <xBAY2-F154S68qIiMnwV0001edf2@xxxxxxxxxxx>

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
}

{{ ************************************************************************************* }
{Type: Indicator, Name: Ergodic Indicator}

{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);
}
{ ************************************************************************************* }
{Type: Function, Name: TXAverage}

{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) ;}

{{ ************************************************************************************* }
{Type: Function, Name: TSI}

{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;
}
{ ************************************************************************************* }



Found another version.

Posted: Sun Dec 09, 2007 1:20 am
by TheRumpledOne
You might like this

Code: Select all

{ _TRO_Blau DTI Trade   }
   
// https://www.tradestation.com/Discussions/Topic.aspx?Topic_ID=57463

{Attn: TradeStation
if this indicator is posted on the TradeStation Forum, I, TheRumpledOne, did NOT post it there,
so I can't be blamed for this indicator having my contact info.}


{Modifying Programmer:  Avery T. Horton, Jr.  aka TheRumpledOne,
gifts and donations accepted, PO Box 43575, Tucson, AZ 85733 }

{ ? Copyright 2007 Avery T. Horton, Jr.}

{Created Sat 10/18/06
Page 63 & 130
Momentum, Direction & Divergence
William Blau}

Input: r(25),s(13),u(1);

vars: Intrabarpersist LastPrice(0),
   Interval("");


{ Start Time Delay }
input: delayseconds(1);
VARIABLES:
   tAlert(""),
DTI_Trade(0),
TXAverage1(0),TXAverage2(0),HLDif(0),   
NextCalc(DelaySeconds * 0.000011574),
LMD(0),HMU(0),
IntrabarPersist NextCalcTime(0);

if ComputerDateTime>NextCalcTime  or Absvalue(round(C,2)-round(LastPrice,2))>=0.01 or
BarStatus(1) = 2 then begin
NextCalcTime = ComputerDateTime + DelaySeconds;

if CurrentBar = 1 then begin
   if DataCompression = 3 then Interval = "WEEKLY";
   if DataCompression = 2 then Interval = "DAILY";
   if DataCompression = 1 then Interval = NumToStr(BarInterval,0);
   {Auto Create IndName to Send}
end;


Condition1=round(Low,2)-round(low[1],2)<0;
If Condition1 then
   LMD=-(round(L,2)-round(L[1],2))
else
   LMD=0;
Condition1=round(H,2)-round(H[1],2)>0;
If condition1 then
HMU=round(H,2)-round(H[1],2)
else
   HMU=0;
HLDif=round(HMU,2)-round(LMD,2);

{calculations}
TXAverage1=round(xAverage(xAverage(xAverage(HLDif,r),s),u),2);
TXAverage2=round(xAverage(xAverage(xAverage(AbsValue(HLDif),r),s),u),2);

If TXAverage2<>0 then
   value3=round(TXAverage1/TXAverage2,2)
else
   value3=0;
If round(value3,2)-round(value3[1],2)>0 AND round(Value3,2)>0 then
value4=round(value3,2)
else
   value4=0;
If round(value3,2)-round(value3[1],2)<0 then
   value5=round(Value3,2)
else
   value5=0;
DTI_Trade=round(value4,2)+round(value5,2);

{Set Alerts}
If OneAlert(DTI_Trade=0) then
   tAlert = " Congestion"
else
If OneAlert(crossesOver(DTI_Trade[1],0) AND DTI_Trade>DTI_Trade[1]) then
   tAlert = " Long Opportunity"
else   
If OneAlert(crossesOver(DTI_Trade[1],0) AND DTI_Trade>DTI_Trade[1]) then
   tAlert = " Long Opportunity"
else
If OneAlert(crossesUnder(DTI_Trade[1],0) AND DTI_Trade<DTI_Trade[1]) then
   tAlert = " Short Opportunity" ;
end;{time delay}

Plot1(DTI_Trade,"DTI_Trade");
lastprice=round(C,2);

Plot2( tAlert, "Alert" );

   


ELD for all ergodic attached.

Modified Erg a la Ensign Windows

Posted: Tue Jan 15, 2008 5:06 pm
by HankScorpio
Enjoy...

the fast ergodic

Posted: Sat Jan 26, 2008 11:00 am
by doctoroe
I've been watching that fast ergodic indicator on the eminis and it's interesting. Reminds me of a TSI setting I used to use in Quotetracker. Would appreciate any suggestions on suggested chart intervals to try it with, tick or volume charts perhaps? Also I am thinking it might be a nice combination with momentum for creating a buy-short trigger.