| |
|
|
Function: TAFastK
Inputs: AvgLen(NumericSimple),Length(NumericSimple);
Value1 = Lowest(Average(Low,AvgLen),Length);
Value2 = Highest(Average(High,AvgLen),Length) - Value1; Value3 =
Average(Close,AvgLen);
if Value2 > 0 then TAFastK = (Value3 -
Value1) / Value2*100 else
TAFastK = 0;
|
Function :
TAFastD
Inputs:
AvgLen(NumericSimple),Length(NumericSimple); Vars: Factor(0);
if CurrentBar <=1 then begin Factor = 2 /
(3 + 1); TAFastD = TAFastK(AVGLEN, LENGTH); end else
TAFastD = TAFastD[1] + (Factor * (TAFastK(AVGLEN,LENGTH) -
TAFastD[1]));
|
Indicator :
TAStoch Indicator
Input: AvgLen(13), LengthK(5), LengthD(9);
Plot1 ( TAFastK(AVGLEN, LENGTHK),"TAK");
Plot2 (TAFastD(AVGLEN, LENGTHD),"TAD"); Plot3 (35,"BuyZone");
Plot4 (80,"SellZone");
|
|
 |
 |
|
Function: GD
Inputs: Price(Numeric), Period(Numeric), vFactor(Numeric);
Vars: X1(0), X2(0), Dema1(0);
X1= XAverage(Price, Period) * (1 + vFactor);
X2= XAverage(XAverage(Price, Period), Period) * vFactor; GD = X1
- X2;
|
Indicator: T3
Inputs: Price(Close), Period(6),
vFactor(.7); Vars: T3(0);
T3 = GD (GD ( GD(Price, Period, vFactor),
Period, vFactor), Period, vFactor); Plot1(T3, "T3"); IF Close
Crosses Above Plot1 OR Close Crosses Below Plot1 Then Alert =
True;
|
|
 |
 |
|
Indicator: T&M -
Volatility Indicator
{ "T&M - Volatility Indicator" from "Time and Money Charts"
by Stuart Belknap }
inputs: Period( 25 ) ;
variables: yom( 0 ),
avyom( 0 ), varyyom( 0 ), som( 0 ), sigom( 0 ),
HalfPeriod( 0 ) ;
HalfPeriod = Period /2 ; yom = 100 * (Close - Average( Close,
Period ) / Average( Close, Period ) ); avyom = Average( yom,
50 ) ; varyyom = Average( yom*yom, 50 ) - ( avyom*avyom ) ;
som = squareroot( varyyom[ -HalfPeriod ] ) ; sigom = Average(
som, Period ) ; plot1( sigom, "som" ) ;
|
Indicator : T&M
- Stochastic Momentum Indicator
{ "T&M ? Stochastic Momentum Indicator" from "Time and Money
Charts" by Stuart Belknap }
inputs: Length( 12), Smooth1( 25 ), Smooth2( 2 ) ;
value1 = 100 * ( XAverage( XAverage( Close - (.5 * ( Highest(
High, Length ) + Lowest( Low, Length ) ) ), Smooth1), Smooth2) /
(.5 * XAverage( XAverage( Highest( High, Length )- Lowest( Low,
Length ), Smooth1 ), Smooth2 ) ) ) ;
plot1( value1, "StochMom") ; plot2( Average( value1, Smooth1
), "SM Avg" ) ; plot3( 50, "+50" ) ; plot4( -50, "-50" ) ;
|
Indicator : T&M
- ChanLinesHi Indicator
{ "T&M - ChanLinesHi Indicator" from "Time and Money Charts" by
Stuart Belknap Plots the minor term average and the three upper
channel lines }
inputs: Period( 25 ) ;
variables: Arm( 0 ),
Level1( 0 ), Level2( 0 ), Level3( 0 ) ;
Arm = Average( C, Period ) ; Level1 = (1 + (1.0 * 5/100 ) ) *
Arm ; Level2 = (1 + (2.0 * 5/100 ) ) * Arm ; Level3 = (1 +
(3.0 * 5/100 ) ) * Arm ;
plot1( Level1, "+L1" ) ; plot2( Level2, "+L2" ) ; plot3(
Level3, "+L3" ) ; plot4( Arm, "Arm" ) ;
|
Indicator : T&M
- ChanLinesLo Indicator
{ "T&M - ChanLinesLo" Indicator" from "Time and Money Charts" by
Stuart Belknap Plots the minor term average and the three lower
channel lines }
inputs: Period( 25 ) ;
variables: Arm( 0 ),
Level1( 0 ), Level2( 0 ), Level3( 0 ) ;
Arm = Average( C, Period ) ; Level1 = (1 - (1.0 * 5/100 ) ) *
Arm ; Level2 = (1 - (2.0 * 5/100 ) ) * Arm ; Level3 = (1 -
(3.0 * 5/100 ) ) * Arm ;
plot1( Level1, "-L1" ) ; plot2( Level2, "-L2" ) ; plot3(
Level3, "-L3" ) ; plot4( Arm, " Arm " ) ;
|
|
 |
 |
|
Indicator
: TrendArea Indicator
{ TrendArea Indicator WAV 9/15/04 }
inputs: ThresholdArea(1500);
vars: BarCount(0),SlowMA(0),FastMA(0),
color(0),area(0);
SlowMA = average(close,15); FastMA =
average(close,5);
{ see if we have a new possible trend starting
} if FastMA crosses above SlowMA or FastMA crosses below
SlowMA then begin BarCount = 0; area = 0; end;
{ increment BarCount +1 if FastMA above
SlowMA... decrement BarCount -1 if FastMA below SlowMA}
BarCount = IFF(FastMA > SlowMA,BarCount + 1,BarCount); BarCount =
IFF(FastMA < SlowMA,BarCount - 1,BarCount);
{ multiply each individual area by its barcount
} area = area + AbsValue(BarCount) * (FastMA - SlowMA);
color = IFF(BarCount > 0,green,cyan); color
= IFF(BarCount < 0,red,color);
plot1(area,"Area",color); plot2(0,"zero
line"); plot3(ThresholdArea,"+Thresh");
plot4(-ThresholdArea,"-Thresh");
|
|
 |
 |
|
Indicator: TrendArea_2
Indicator
{ TrendArea_2 Indicator WAV 9/15/04
9/16/04 added FastLen and SlowLen inputs }
inputs: ThresholdArea(25),FastLen(15),
SlowLen(50);
vars: BarCount(0),SlowMA(0),FastMA(0),
color(0),area(0);
SlowMA = average(close,SlowLen); FastMA =
average(close,FastLen);
{ see if we have a new possible trend starting
} if FastMA crosses above SlowMA or FastMA crosses below
SlowMA then BarCount = 0;
BarCount = BarCount + 1;
{ multiply each individual area by its barcount
} area = BarCount * (FastMA - SlowMA);
color = IFF(area > area[1] and area >
0,green,yellow); if color = yellow and area < area[1] then
color = DarkGreen; color = IFF(area < area[1] and area <
0,red,color); if color = yellow and area > area[1] then color
= DarkRed;
plot1(area,"Area",color); plot2(0,"zero
line"); plot3(ThresholdArea,"+Thresh");
plot4(-ThresholdArea,"-Thresh");
|
|
 |
 |
|
Indicator : Trend
Detection Index
inputs: Price( Close ), Length( 20 ) ;
variables:
Length2( 2 * Length ), Mom( 0 ), MomAbs( 0 ), MomSum( 0 ),
MomSumAbs( 0 ), MomAbsSum( 0 ) , MomAbsSum2( 0 ), TDL( 0 ),
MktPos( 0 ) ; Mom = Price - Price[Length] ; MomAbs = AbsValue(
Mom ) ; MomSum = Summation( Mom, Length ) ; MomSumAbs =
AbsValue( MomSum ) ; MomAbsSum = Summation( MomAbs, Length ) ;
MomAbsSum2 = Summation( MomAbs, Length2 ) ;
{Plot TDL for the index itself.} TDL = MomSumAbs - (
MomAbsSum2 - MomAbsSum ) ; {Plot MktPos for outright buy and sell
signals} MktPos = Iff( TDL[1] > 0, Iff( MomSum[1] > 0, 1, -1 ),
MktPos[1] ); Plot1( MktPos,"Position");
|
|
 |
 |
|
Indicator : True Strength Indicator
{True Strength Indicator} input: length1(34), length2(8),
length3(5);
If(absvalue(c-c[1])<>0) then begin;
Plot1(100*(xaverage(xaverage(c-c[1],length1),length2)/
(xaverage(xaverage(absvalue(c-c[1]),length1),length2))),"Plot1");
Plot2(xaverage(100*(xaverage(xaverage(c-c[1],length1),length2)/
(xaverage(xaverage(absvalue(c-c[1]),length1),length2))),length3),"Plot2");
Plot3((0),"Plot3"); end;
|
|
 |
 |
|
Function: NewTRIX
Inputs: Price(NumericSeries), Length(NumericSimple); Vars:
LogP(0), alpha(0), sm1(0), sm2(0), sm3(0);
LogP = Log(Price);
IF CurrentBar = 1 Then Begin sm1 = LogP;
sm2 = LogP; sm3 = LogP; alpha = 2 / (Length + 1); End Else
Begin sm1 = (LogP - sm1) * alpha + sm1; sm2 = (sm1 - sm2) *
alpha + sm2; sm3 = (sm2 - sm3) * alpha + sm3; NewTrix = (sm3 -
sm3[1]) * 100; End;
|
Indicator :
TRIX Indicator S&C
Inputs: Price(Close), TrixLen(3), TSLen(8),
ZeroCrss("Y"), AvgCrss("Y"); Vars: TRXval(0), AvgTRX(0);
Condition1 = False; Condition2 = False;
TRXval = NewTRIX(Price, TRIXLen); AvgTRX = LinearRegValue(TRXval,
TSLen, 0); Plot1(TRXval, "TRIX"); Plot2(AvgTRX, "TRIX_LR");
Plot3(0, "Zero"); IF UpperStr(ZeroCrss) = "Y" Then Begin IF
Plot1 Crosses Above Plot3 OR Plot1 Crosses Below Plot3 Then
Condition1 = True; End;
IF UpperStr(AvgCrss) = "Y" Then Begin IF
Plot1 Crosses Above Plot2 OR Plot1 Crosses Below Plot2 Then
Condition2 = True; End;
IF CheckAlert AND (Condition1 OR Condition2)
Then Alert = True;
|
| |
|