Type: Function, Name: VForce
Vars: TSum(0), Trend(0), DM(0), CM(0);
TSum = High + Low + Close;
IF TSum > TSum[1] Then
Trend = 1
Else
Trend = -1;
IF Trend = Trend[1] Then
CM = CM + Range
Else
CM = Range + Range[1];
IF CM <> 0 Then
VForce = Volume * AbsValue(2 * (DM/CM) -1) * Trend * 100;
Type: Function, Name: KVO
Inputs:
FastX(Numeric),
SlowX(Numeric); Vars:
FXAvg(0),
SXAvg(0);
FXAvg = XAverage(VForce, FastX);
SXAvg = XAverage(VForce, SlowX);
KVO = FXAvg — SXAvg;
Type: Indicator, Name: Klinger Volume Oscillator
Inputs:
FastX(34),
SlowX(55),
TrigLen(13),
Smooth(1);
Vars:
Trigger(0);Trigger = XAverage(KVO(FastX, SlowX), TrigLen);IF Smooth <= 1 Then Begin
Plot1(KVO(FastX, SlowX), «KVO»);
Plot2(Trigger, «KVO Trigger»);
End Else Begin
Plot1(Summation(KVO(FastX, SlowX), Smooth), «KVO»);
Plot2(Summation(Trigger, Smooth), «KVO Trigger»);
End;
Plot3(0, «Zero»);
IF Plot1 Crosses Above Plot2 OR Plot1 Crosses Below Plot2 OR
Plot2 Crosses Above Plot3 OR Plot2 Crosses Below Plot3 Then
Alert = True;