The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

Finance::GeniusTrader::Indicators::SMI

Overview

The Stochastic Momentum Index (SMI) is based on the Stochastic Oscillator. The difference is that the Stochastic Oscillator calculates where the close is relative to the high/low range, while the SMI calculates where the close is relative to the midpoint of the high/low range. The values of the SMI range from +100 to -100. When the close is greater than the midpoint, the SMI is above zero, when the close is less than than the midpoint, the SMI is below zero.

The SMI is interpreted the same way as the Stochastic Oscillator. Extreme high/low SMI values indicate overbought/oversold conditions. A buy signal is generated when the SMI rises above -50, or when it crosses above the signal line. A sell signal is generated when the SMI falls below +50, or when it crosses below the signal line. Also look for divergence with the price to signal the end of a trend or indicate a false trend.

The Stochastic Momentum Index was developed by William Blau and was introduced in his article in the January, 1993 issue of Technical Analysis of Stocks & Commodities magazine.

Calculation

CM = Close - ( Highest high(n) + Lowest low(n) ) / 2 CM' = EMA(EMA(CM, A), B) HL = Highest high(n) - Lowest low(n) HL' = EMA(EMA(HL, A), B)

%K = 100 * CM' / (HL' / 2) %D = SMA(%K)

Restrictions

This indicator requires that the first four parameters are constant values and will abort otherwise.

Examples

Finance::GeniusTrader::Indicators::SMI->new() Finance::GeniusTrader::Indicators::SMI->new([14, 3, 3, 3])

http://www.fmlabs.com/reference/default.htm?url=SMI.htm http://trader.online.pl/MSZ/e-w-Stochastic_Momentum_Indicator.html (note that the former incorrectly uses "-" in CM).

Finance::GeniusTrader::Indicators::SMI::calculate($calc, $day)