Iscriviti ora
Indicatori/probuilder · probacktest · proorder · proscreener

Stochastic

Stochastic in ProBuilder restituisce la linea %K dell'oscillatore stocastico, un indicatore di momentum da 0 a 100. Sintassi, parametri, formula ed esempi svolti.

Sintassi

probuilder
Stochastic[N,K](price)

La documentazione originale elenca anche una forma estesa con un massimo di tre serie di prezzo:

probuilder
Stochastic[N,K](price1, price2, price3)

Per impostazione predefinita si usa la chiusura per il calcolo di %K e il massimo e il minimo delimitano il range.

Parametri

NomeTipoPredefinitoDescrizione
Nintero14Numero di bar usate per determinare il range massimo-minimo per %K.
Kintero3Periodo di smoothing applicato a %K. K = 1 dà il Fast Stochastic; K = 3 o 5 dà lo Slow Stochastic.
pricefonte di prezzochiusuraLa serie confrontata con il range. Serie aggiuntive opzionali possono sostituire i limiti predefiniti di massimo e minimo.

Formula

codice
raw %K = 100 * (price - Lowest[N](low)) / (Highest[N](high) - Lowest[N](low))
%K     = K-period moving average of raw %K

Il valore grezzo esprime il prezzo attuale come percentuale del N-bar: 0 significa che il prezzo si trova al minimo del range, 100 al massimo del range. Il K il parametro smussa poi quella serie. La linea di segnale %D complementare è un'ulteriore media mobile di %K, disponibile tramite StochasticD.

Come funziona

L'oscillatore stocastico di George Lane si basa sull'osservazione che con momentum al rialzo le chiusure tendono a collocarsi vicino alla parte alta del range recente, mentre con momentum al ribasso si collocano vicino alla parte bassa. Stochastic quantifica quella tendenza come una serie limitata da 0 a 100, il che rende le letture comparabili tra strumenti e timeframe.

La sensibilità si controlla da due direzioni: un più corto N rende la finestra del range più reattiva, e uno più grande K filtra più rumore dalla linea risultante. I preset comuni sono [14,3] per la variante lenta e [14,1] per quella rapida.

Poiché la funzione restituisce solo %K, la logica di crossover contro %D richiede o StochasticD o una media mobile manuale dell'output %K, come nel primo esempio sotto.

Esempi

Esempio 1, Segnale di incrocio al ribasso in ipercomprato (Indicatore)

probuilder
// Compare the stochastic to a 5-period average of itself
sto = Stochastic[10,3](close)
signal = average[5](sto)
if(sto > 80 AND sto[1] > signal[1] AND sto < signal) THEN
  overboughtSignal = 1
ELSE
  overboughtSignal = 0
ENDIF
RETURN overboughtSignal

Calcola uno stocastico a 10 periodi smussato su 3 bar, poi segnala il momento in cui la linea torna sotto la propria media a 5 periodi mentre è ancora in zona di ipercomprato, un pattern di esaurimento comune.

Esempio 2, Ingresso su pullback in ipervenduto in un trend rialzista (ProOrder)

probuilder
// Buy oversold stochastic readings above the long-term trend
trend = Average[200](close)
sto = Stochastic[14,3](close)

IF NOT LongOnMarket THEN
  IF close > trend AND sto < 20 THEN
    BUY 1 CONTRACT AT MARKET
  ENDIF
ELSE
  IF sto > 80 THEN
    SELL AT MARKET
  ENDIF
ENDIF

La media a 200 periodi limita gli ingressi ai trend rialzisti, lo stocastico temporizza il pullback e la posizione si chiude quando il momentum oscilla all'estremo opposto.

Esempio 3, Scansione di ipervenduto (ProScreener)

probuilder
// List instruments with a stochastic reading under 20
sto = Stochastic[14,3](close)
SCREENER[sto < 20](sto AS "Stochastic")

Restituisce ogni strumento della watchlist attualmente in zona di ipervenduto, con il valore dello stocastico mostrato come colonna ordinabile.

Interpretazione

ZonaRangeLettura
Ipervenduto%K < 20Il prezzo chiude vicino alla parte bassa del suo range recente. Nei mercati laterali questo precede spesso un rimbalzo.
Neutraleda 20 a 80Nessun estremo del range. La linea 50 è talvolta usata come filtro di bias direzionale.
Ipercomprato%K > 80Il prezzo chiude vicino alla parte alta del suo range recente. Può persistere per lunghi periodi nei trend rialzisti forti.

Incroci. L'incrocio di %K sopra %D all'interno della zona di ipervenduto è il classico trigger rialzista; l'incrocio sotto %D nella zona di ipercomprato è la controparte ribassista.

Divergenze. Un nuovo massimo di prezzo senza un nuovo massimo dello stocastico, o un nuovo minimo di prezzo senza un nuovo minimo dello stocastico, viene letto da alcuni trader come un primo segnale di momentum in esaurimento.

Errori e insidie comuni

  • Secondo argomento tra parentesi mancante. La funzione richiede entrambi i valori: Stochastic[14] è incompleto. Usa Stochastic[14,3](close) o Stochastic[14,1](close) per la variante veloce.
  • Confondere %K con %D. Stochastic restituisce solo la linea %K. Le strategie di incrocio richiedono StochasticD oppure una media manuale dell'output; confrontare %K con se stesso non produce alcun segnale.
  • Gli estremi non sono inversioni. In un trend forte l'oscillatore può restare incollato sopra 80 o sotto 20 per decine di bar. Operare contro ogni lettura estrema è il modo più comune in cui i sistemi stocastici falliscono in reale.
  • Distorsione da compressione del range. Quando il N-barre il massimo e il minimo sono quasi uguali, il denominatore si avvicina a zero e la linea oscilla violentemente. Mercati molto tranquilli producono letture inaffidabili.
  • StochasticD, la linea di segnale %D per la logica di incrocio.
  • SmoothedStochastic, variante pre-smussata dell'oscillatore.
  • DynamicZoneStochasticUp, soglia superiore adattiva al posto della linea fissa degli 80.
  • DynamicZoneStochasticDown, soglia inferiore adattiva al posto della linea fissa dei 20.
  • SMI, stochastic momentum index, un affinamento centrato sul punto medio del range.
  • RSI, oscillatore di momentum limitato alternativo.
  • Williams, oscillatore %R, un parente prossimo invertito dello stocastico.
  • Average, usato per costruire linee di segnale personalizzate da %K.