Iscriviti ora
Indicatori/probuilder · probacktest · proorder · proscreener

SMI

SMI in ProBuilder restituisce lo Stochastic Momentum Index, un oscillatore a doppio smoothing che individua la chiusura rispetto al punto medio tra massimo e minimo. Sintassi, esempi.

Sintassi

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

Parametri

NomeTipoPredefinitoDescrizione
Nintero14Periodo di lookback per il calcolo dello stocastico, la finestra usata per trovare il massimo più alto e il minimo più basso.
SSintero3Periodo del primo smoothing esponenziale applicato alla distanza grezza dal punto medio.
DSintero5Periodo del secondo smoothing (doppio), che produce la linea finale di qualità del segnale.
pricefonte di prezzochiusuraLa serie di prezzi misurata rispetto al punto medio del range. Di solito close.

Formula

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

DoubleSmooth applica una media esponenziale di periodo SS, poi un'altra di periodo DS. Poiché il numeratore è una distanza con segno dal punto medio invece che la distanza dal minimo, l'SMI è centrato sullo zero e si muove tipicamente tra -100 e +100.

Come funziona

Uno stocastico classico chiede quanto il prezzo corrente sia vicino alla cima del suo range recente. L'SMI pone una domanda leggermente diversa: quanto dista la chiusura dal centro di quel range. Quando il prezzo chiude sopra il punto medio degli ultimi N barre, l'SMI è positivo; quando chiude al di sotto, l'SMI è negativo. La distanza viene poi normalizzata per metà del range, così le letture sono confrontabili tra strumenti e regimi di volatilità.

Il doppio smussamento esponenziale è la seconda caratteristica distintiva. I valori stocastici grezzi sono irregolari, quindi l'SMI fa passare la distanza dal punto medio attraverso due medie esponenziali consecutive (SS poi DS). Il risultato è una linea più lenta e più pulita che riduce i falsi segnali, al costo di un certo ritardo.

Poiché l'output è centrato sullo zero, la linea dello zero ha un significato proprio: i passaggi dal territorio negativo a quello positivo segnano uno spostamento della chiusura dalla metà inferiore alla metà superiore del range recente.

Esempi

Esempio 1, Flag di ipercomprato e ipervenduto (Indicatore)

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

Calcola un SMI a 14 periodi con smoothing a 3 e 5 periodi, poi converte la lettura in due flag discreti che segnalano gli stati di ipercomprato e ipervenduto.

Esempio 2, Ingresso mean reversion con filtro di trend (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

Entra quando SMI lascia la sua zona di ipervenduto nella direzione del trend prevalente ed esce quando l'oscillatore raggiunge la zona di ipercomprato.

Esempio 3, Scansione di ipervenduto (ProScreener)

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

Elenca solo gli strumenti il cui SMI è sotto -40, ordinati per valore dell'indicatore.

Interpretazione

ZonaRangeLettura
IpercompratoSMI > +40La chiusura si trova vicino alla cima del range recente su base smussata. Il momentum è forte ma teso.
Neutraleda -40 a +40Nessun posizionamento pronunciato all'interno del range. I passaggi della linea dello zero indicano un cambio di lato.
IpervendutoSMI < -40La chiusura si trova vicino al fondo del range recente. Spesso precede una stabilizzazione, non un'inversione garantita.

Le divergenze tra SMI e prezzo sono il segnale che l'indicatore è stato progettato per evidenziare: un nuovo massimo di prezzo senza un nuovo massimo di SMI suggerisce un momentum in calo. La costruzione basata sul punto medio tende a rendere queste divergenze più visibili che su uno stocastico standard.

Errori e insidie comuni

  • Ipotesi errate sulla scala. SMI non è limitato da 0 a 100 come Stochastic. Oscilla attorno allo zero, quindi soglie come 20/80 non hanno senso qui. Usa +40/-40 o valori calibrati sullo strumento.
  • Ordine dei parametri. I tre parametri tra parentesi quadre sono lookback, prima lisciatura, seconda lisciatura, in quest'ordine. Scambiarli SS e DS produce una linea diversa, di solito più rumorosa, senza alcun avviso del compilatore.
  • Ritardo dovuto al doppio smoothing. Due medie esponenziali consecutive ritardano il segnale. Con grandi SS e DS valori, le uscite dalla zona possono attivarsi molte bar dopo l'inversione effettiva.
  • Estremi persistenti nei trend. Come tutti gli oscillatori basati sul range, SMI può restare sopra +40 per lunghi periodi in un forte trend rialzista. Operare contro le letture estreme senza un filtro di trend è una trappola comune nel backtest.
  • Stochastic, il classico oscillatore %K che SMI affina.
  • StochasticD, la linea di segnale %D dell'oscillatore stocastico.
  • SmoothedStochastic, la variante dello stocastico lento.
  • RSI, oscillatore di momentum limitato da 0 a 100.
  • CCI, oscillatore di deviazione dalla media con una scala centrata simile.
  • Momentum, misura di momentum grezza e non limitata.
  • Williams, oscillatore %R, un'altra misura della posizione nel range.
  • ExponentialAverage, il metodo di smoothing usato due volte all'interno di SMI.