HOMETRADESTATIONMETASTOCKEMAILLINKS

 

tradestation indicators

A

B

C

D

E

F

G

H

I

J

K

L

M

N

O

P

R

S

T

U

V

W

Y

Z

#

 

 
 

 

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");

 

UP

HOME

 

 

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;

 

UP

HOME

 

 

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 " ) ;

 

UP

HOME

 

 

 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");

 

UP

HOME

 

 

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");

 

UP

HOME

 

 

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");

 

UP

HOME

 

 

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;

 

UP

HOME

 

 

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;

 

 

UP

HOME

 

 

 

 

 

 

 

site map        disclaimer        mission        privacy policy