Bli medlem idag
Indikatorer/probuilder · probacktest · proorder · proscreener

SMI

SMI i ProBuilder returnerar Stochastic Momentum Index, en dubbelt utjämnad oscillator som placerar stängningen i förhållande till mittpunkten mellan högsta och lägsta. Syntax, exempel.

Syntax

probuilder
SMI[N, SS, DS](price)

Parametrar

NamnTypStandardBeskrivning
Nheltal14Tillbakablicksperiod för den stokastiska beräkningen, fönstret som används för att hitta högsta högsta och lägsta lägsta.
SSheltal3Period för den första exponentiella utjämningen av det råa avståndet från mittpunkten.
DSheltal5Period för den andra (dubbla) utjämningen, som ger den slutliga linjen med signalkvalitet.
pricepriskällaclosePrisserien som mäts mot intervallets mittpunkt. Vanligtvis close.

Formel

kod
midpoint = (Highest[N](high) + Lowest[N](low)) / 2
distance = price - midpoint
SMI = 100 * DoubleSmooth(distance) / (0.5 * DoubleSmooth(range))

DoubleSmooth tillämpar ett exponentiellt medelvärde med perioden SS, sedan ytterligare en med period DS. Eftersom täljaren är ett signerat avstånd från mittpunkten snarare än avståndet från bottnen är SMI centrerad kring noll och rör sig vanligtvis mellan -100 och +100.

Så fungerar det

En klassisk stokastisk indikator frågar hur nära det aktuella priset ligger toppen av sitt senaste omfång. SMI ställer en något annan fråga: hur långt från mitten av det omfånget ligger stängningen. När priset stänger över mittpunkten för de senaste N barer är SMI positiv; när den stänger under är SMI negativ. Avståndet normaliseras sedan med halva intervallet så att läsningarna är jämförbara mellan instrument och volatilitetsregimer.

Den dubbla exponentiella utjämningen är det andra utmärkande draget. Råa stochastic-värden är ryckiga, så SMI leder mittpunktsavståndet genom två på varandra följande exponentiella medelvärden (SS sedan DS). Resultatet är en långsammare, renare linje som minskar whipsaws, till priset av viss eftersläpning.

Eftersom utdata är centrerad kring noll har nollinjen i sig en betydelse: korsningar från negativt till positivt område markerar att stängningen flyttat sig från den nedre halvan till den övre halvan av det senaste intervallet.

Exempel

Exempel 1, Flaggor för överköpt och översålt (Indikator)

probuilder
mySMI = SMI[14,3,5](close)
IF mySMI > 40 THEN
    // close is deep in the upper half of the range
    overbought = 1
    oversold = 0
ELSIF mySMI < -40 THEN
    // close is deep in the lower half of the range
    overbought = 0
    oversold = -1
ELSE
    overbought = 0
    oversold = 0
ENDIF
RETURN overbought, oversold

Beräknar en SMI över 14 perioder med utjämning över 3 och 5 perioder och omvandlar sedan värdet till två diskreta flaggor som markerar överköpt och översålt tillstånd.

Exempel 2, Mean reversion-entry med trendfilter (ProOrder)

probuilder
// Buy oversold readings only while the long-term trend is up
trend = Average[200](close)
osc   = SMI[14,3,5](close)

IF NOT LongOnMarket THEN
  IF close > trend AND osc CROSSES OVER -40 THEN
    BUY 1 CONTRACT AT MARKET
  ENDIF
ELSE
  IF osc > 40 THEN
    SELL AT MARKET
  ENDIF
ENDIF

Går in när SMI lämnar sin översålda zon i den rådande trendens riktning och går ut när oscillatorn når den överköpta zonen.

Exempel 3, Skanning efter översålda (ProScreener)

probuilder
osc = SMI[14,3,5](close)
SCREENER[osc < -40](osc AS "SMI 14")

Listar endast instrument vars SMI ligger under -40, sorterade efter indikatorvärdet.

Tolkning

ZonRangeAvläsning
ÖverköptSMI > +40Stängningen ligger nära toppen av det senaste intervallet på utjämnad basis. Momentum är starkt men utsträckt.
Neutral-40 till +40Ingen uttalad position inom intervallet. Korsningar av nollinjen indikerar ett sidbyte.
ÖversåldSMI < -40Stängningen ligger nära botten av det senaste intervallet. Föregår ofta en stabilisering, inte en garanterad vändning.

Divergenser mellan SMI och pris är den signal indikatorn konstruerades för att framhäva: en ny prishögsta utan en ny SMI-högsta tyder på avtagande momentum. Konstruktionen kring mittpunkten gör ofta dessa divergenser tydligare än på en vanlig stokastisk oscillator.

Vanliga fel och fallgropar

  • Felaktiga antaganden om skalan. SMI är inte begränsad till 0 till 100 som Stochastic. Den oscillerar runt noll, så trösklar som 20/80 är meningslösa här. Använd +40/-40 eller värden kalibrerade för instrumentet.
  • Parameterordning. De tre parametrarna i hakparentesen är lookback, första utjämning, andra utjämning, i den ordningen. Att byta plats på SS och DS ger en annan, oftast brusigare, linje utan någon kompilatorvarning.
  • Eftersläpning från dubbel utjämning. Två på varandra följande exponentiella medelvärden fördröjer signalen. Med stora SS och DS värden, kan zonutgångar utlösas många barer efter den faktiska vändningen.
  • Ihållande extremvärden i trender. Som alla intervallbaserade oscillatorer kan SMI hålla sig över +40 under långa perioder i en stark uppgång. Att handla mot extremvärden utan trendfilter är en vanlig backtest-fälla.
  • Stochastic, den klassiska %K-oscillatorn som SMI förfinar.
  • StochasticD, %D-signallinjen i den stokastiska oscillatorn.
  • SmoothedStochastic, den långsamma stokastiska varianten.
  • RSI, momentum-oscillator begränsad till 0 till 100.
  • CCI, oscillator för avvikelse från medelvärdet med en liknande centrerad skala.
  • Momentum, rått obegränsat momentum-mått.
  • Williams, %R-oscillator, ett annat mått på position i intervallet.
  • ExponentialAverage, utjämningsmetoden som används två gånger inuti SMI.