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

#

 

 
 

 

Indicator: Kase CD

inputs:
LEN(30),
Smooth(3),
Strength(1);

vars:
RWH(0),
RWL(0),
PEAK(0),
KCD(0);

RWH = (H[0] - L[LEN]) / (AvgTrueRange(LEN) * SquareRoot(LEN));
RWL = (H[LEN] - L[0]) / (AvgTrueRange(LEN) * SquareRoot(LEN));

PEAK = WAverage((RWH - RWL),Smooth);
KCD = (PEAK) - average(Peak,8);

plot1(KCD,"KCD");
plot2(0,"Zero");

if CheckAlert then begin
if BullishDivergence(low,plot1,Strength,15) = 1
then Alert = true;
if BearishDivergence(high,plot1,Strength,15) = 1
then Alert = true;
end;

 

UP

HOME

 

 

Indicator : Kase Indicator

{idea from Cynthia Kase, code by Mark Brown}

input: N1(10);

var:KSDIUP(0),KSDIDN(0);

if average(@TrueRange, n1) > 0 then
KSDIUP = ((high[N1]/low))/(( average(V, N1) * SquareRoot(n1)))
else KSDIUP = KSDIUP[1];

if average(@TrueRange, n1) > 0 then
KSDIDN = ((high/low[N1]))/(( average(V, N1) * SquareRoot(n1)))
else KSDIDN = KSDIDN[1];

if KSDIUP>KSDIDN then plot1(l,"l");
if KSDIUP<KSDIDN then plot2(h,"h");

if KSDIUP=KSDIDN then plot3((h+l)/2,"m");

 

UP

HOME

 

 

 Function: StdDevx

inputs :
Price(NumericSeries),
Length(NumericSimple);

vars :
SumSqr(0),
Avg(0),
Counter(0);

if Length <> 0
then begin
Avg = Average(Price,Length);
SumSqr = 0;
for counter = 0 to Length - 1
begin
SumSqr = SumSqr + (Price[counter]-Avg) * (Price[counter]-Avg);
end;
StdDevX = SquareRoot(SumSqr / (Length-1));
end
else
StdDevX = 0;

 Indicator : Kase Peak Oscillator

inputs:LEN(30), Smooth(3), Strength(1);
vars: RWH(0), RWL(0),PEAK(0), MEAN(0), STD(0);

RWH = (H[0] - L[LEN]) / (AvgTrueRange(LEN) * SquareRoot(LEN));
RWL = (H[LEN] - L[0]) / (AvgTrueRange(LEN) * SquareRoot(LEN));
PEAK = WAverage((RWH - RWL),3);
MEAN = average(PEAK,LEN);
STD = StdDevx(PEAK,LEN);

if (MEAN + (1.33 * STD)) > 2.08 then value1 = (MEAN + (1.33 * STD))
else value1 = 2.08;

if (MEAN - (1.33 * STD)) < -1.92 then value2 = (MEAN - (1.33 * STD))
else value2 = -1.92;

plot1(PEAK,"PeakOsc");
if PEAK[1] >= 0 and PEAK > 0 then plot2(value1,"+/-97.5%");
if PEAK[1] <= 0 and PEAK < 0 then plot2(value2,"+/-97.5%");

 

UP

HOME

 

 

Indicator : Kaufman Efficiency Ratio

input:
Erperiod(10),
Erentry(.25),
Erexit(.03),
maxavg(1.00),
maxchg(1.5),
option(2);

vars:
change(0),
pchange(0),
noise(0),
signal(0),
diff(0),
efratio(0),
ERavg(0),
ERsd(0),
ERsd3a(0),
ERsd3(0);

{CALCULATE EFFICIENCY RATIO}

diff = @AbsValue(close - close[1]);
if currentbar > ERperiod then begin
change = close - close[ERperiod];
pchange = change*100/close[ERperiod];
signal = @AbsValue(change);
noise = @summation(diff,ERperiod);
efratio = 1.00;
if (noise <> 0 ) then efratio = signal/noise;
ERavg = @average(efratio,21);
ERsd = @stddev(efratio,21);
ERsd3a = @average(ERsd,3);
ERsd3 = @average(Eravg - ERsd,3);

{Entry signals}
if efratio > Erentry and pchange > .000 then plot1(efratio,"+");
if efratio > Erentry and pchange < .000 then plot2(efratio,"-");
end;

if efratio < ERexit then plot3(efratio,"exitS");
plot4(noise/10,"exitL");

 

UP

HOME

 

 

 Indicator : Kaufman Smoothing Constant Part of the Graile

inputs:Period(10),Price(C),Z1(.10),Z2(.20),Z3(.30);
vars: noise(0),signal(0),difference(0),efratio(0),
smooth(1),fastend(.666),slowend(.0645),AMA(0);

{CALCULATE EFFICIENCY RATIO}
difference = @AbsValue(price - price[1]);
if(currentbar <= period) then AMA = price;
if(currentbar > period)then begin
signal = @AbsValue(price - price[period]);
noise = @summation(difference,period);
efratio = signal/noise;
smooth = @Power(efratio*(fastend - slowend) + slowend,2);
plot1(smooth,"AMAsmooth");
end;
plot2(Z1,"Z1");
plot3(Z2,"Z2");
plot4(Z3,"Z3");

 

UP

HOME

 

 

 

 

 

 

site map        disclaimer        mission        privacy policy