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