Found something interesting
Klinger Volume Oscillator
The Klinger Oscillator (KO) was developed by Stephen J. Klinger.
Learning from prior research on volume by such well-known technicians
as Joseph Granville, Larry Williams, and Marc Chaikin, Mr. Klinger set
out to develop a volume-based indicator to help in both short- and
long-term analysis.
The KO was developed with two
seemingly opposite goals in mind: to be sensitive enough to signal
short-term tops and bottoms, yet accurate enough to reflect the
long-term flow of money into and out of a security.
The KO is based on the following tenets: Price
range (i.e. High - Low) is a measure of movement and volume is the
force behind the movement. The sum of High + Low + Close defines a
trend. Accumulation occurs when today's sum is greater than the
previous day's. Conversely, distribution occurs when today's sum is
less than the previous day's. When the sums are equal, the existing
trend is maintained.Volume produces continuous intra-day
changes in price reflecting buying and selling pressure. The KO
quantifies the difference between the number of shares being
accumulated and distributed each day as "volume force". A strong,
rising volume force should accompany an uptrend and then gradually
contract over time during the latter stages of the uptrend and the
early stages of the following downtrend. This should be followed by a
rising volume force reflecting some accumulation before a bottom
develops.By converting the volume force into an oscillator
representing the difference between a 34-period and 55-period
exponential moving average with a 13-period trigger, the force of
volume into and out of a security can easily be tracked. Comparing this
force to price action can help identify divergences at tops and bottoms.
Interpretation
Mr. Klinger recommends the following guidelines for using the KO:
The
most reliable signals occur in the direction of the prevailing trend.
Strict stop guidelines (i.e., failure to penetrate the zero line or a
violation of the trigger line) should remain in force.The most
important signal occurs when the KO diverges with the underlying price
action, especially on new highs or new lows in overbought/oversold
territory. For example, when a stock makes a new high or low for a
cycle and the KO fails to confirm this, the trend may be losing
momentum and nearing completion.If the price is in an uptrend
(i.e., above an 89-day exponential moving average), buy when the KO
drops to unusually low levels below zero, turns up, and crosses its
trigger line. If the price is in a downtrend (i.e., below an 89-day
exponential moving average), sell when the KO rises to unusually high
levels above zero, turns down, and crosses its trigger line. While
the KO works well for timing trades in the direction of the trend, it
is less effective against the trend. This can create problems for the
trader trying to "scalp" a trade against the prevailing trend. However,
when the KO is used in conjunction with other technical indicators,
better results can be achieved. William's %R is recommended for
confirming an overbought/oversold price condition and Gerald Appel's
MACD is recommended for confirming the short-term direction of price.
Tip
Stephen Klinger suggests the following formula for viewing
the cumulative flow of money into and out of a security:
cum(kvo()) Plot a 13-period moving average of
the formula as a trigger line for entering buy and sell trades.
source codenya untuk trade stationType: 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 BeginPlot1(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;
Ada yang bisa bantu Re coding lagi ke metastock, amibroker or metatrader?
this Post originally posted at:
www.trendtrader.co.cc