Iscriviti ora
Indicatori/probuilder · probacktest · proorder · proscreener

MACDLine

MACDLine in ProBuilder restituisce la linea MACD grezza, la EMA corta meno la EMA lunga del prezzo, distinta dall'istogramma MACD. Sintassi, formula, esempi.

Sintassi

probuilder
MACDLine[S,L,Si](price)

Parametri

NomeTipoPredefinitoDescrizione
Sintero12Periodo della media esponenziale corta.
Lintero26Periodo della media esponenziale lunga.
Siintero9Periodo del segnale. Richiesto dalla firma MACD condivisa ma non ha effetto sul valore della linea stessa.
pricefonte di prezzochiusuraSerie su cui sono calcolate entrambe le medie, di solito close.

Formula

codice
MACDLine = ExponentialAverage[S](price) - ExponentialAverage[L](price)

Le tre funzioni MACD si combinano così:

codice
MACDsignal = ExponentialAverage[Si](MACDLine)
MACD       = MACDLine - MACDsignal        // the histogram

Come funziona

La linea MACD misura lo spread tra una media esponenziale veloce e una lenta. Quando la media corta si allontana sopra quella lunga, la linea sale sopra lo zero, riflettendo un momentum al rialzo in accelerazione; quando la media corta scende sotto, la linea diventa negativa. Poiché entrambi gli input sono medie della stessa serie, la linea oscilla attorno allo zero senza essere limitata.

La denominazione delle tre funzioni correlate è la solita fonte di confusione, e differisce da quella di alcune altre piattaforme. In ProBuilder, MACD[S,L,Si](price) restituisce l'istogramma, ovvero la linea meno il suo segnale. MACDLine restituisce la linea grezza descritta in questa pagina. MACDsignal restituisce il Si-periodi media esponenziale della linea. Qualsiasi strategia portata da un ambiente in cui MACD() indica che la riga grezza deve essere riscritta per chiamare MACDLine invece.

Una conseguenza pratica: poiché l'istogramma è pari a MACDLine - MACDsignal, l'istogramma è positivo esattamente quando la linea è sopra il suo segnale, e un incrocio dello zero dell'istogramma è lo stesso evento di un crossover tra linea e segnale.

Esempi

Esempio 1, Confronto tra istogramma e linea (Indicatore)

probuilder
// MACD[...] returns the histogram (line minus signal)
i1 = MACD[12,26,9](close)
// MACDLine returns the raw line (12 EMA minus 26 EMA)
i2 = MACDLine[12,26,9](close)
IF i1 < i2 AND i1[1] > i2[1] THEN
  bullishSignal = 1
  bearishSignal = 0
ELSIF i1 > i2 AND i1[1] < i2[1] THEN
  bullishSignal = 0
  bearishSignal = -1
ELSE
  bullishSignal = 0
  bearishSignal = 0
ENDIF
RETURN bullishSignal, bearishSignal

Confronta l'istogramma con la linea. Poiché l'istogramma è pari a linea meno segnale, l'istogramma si trova sotto la linea esattamente quando la linea di segnale è positiva, quindi questi incroci segnano il passaggio della linea di segnale attraverso lo zero.

Esempio 2, Ingresso sull'incrocio tra linea e segnale (ProOrder)

probuilder
// Long on a MACD line cross above the signal while still below zero
line   = MACDLine[12,26,9](close)
signal = MACDsignal[12,26,9](close)

IF NOT LongOnMarket AND line CROSSES OVER signal AND line < 0 THEN
  BUY 1 CONTRACT AT MARKET
ELSIF LongOnMarket AND line CROSSES UNDER signal THEN
  SELL AT MARKET
ENDIF

Entra sull'incrocio classico, limitato agli incroci che si verificano sotto la linea dello zero, ed esce sull'incrocio opposto.

Esempio 3, Scansione dell'incrocio della linea dello zero (ProScreener)

probuilder
// Instruments whose MACD line just turned positive
line = MACDLine[12,26,9](close)
SCREENER[line CROSSES OVER 0](line AS "MACD line")

Restituisce gli strumenti in cui lo spread tra le medie esponenziali 12-26 ha incrociato sopra lo zero sulla bar corrente, un cambio di regime del momentum.

Interpretazione

Una linea positiva significa che la media corta è sopra quella lunga, la definizione standard di momentum al rialzo; una linea negativa significa il contrario. L'incrocio dello zero segna quindi un cambio di regime del momentum ed è più o meno equivalente a un incrocio tra media veloce e media lenta sul grafico dei prezzi.

Gli incroci tra la linea e MACDsignal sono il classico trigger operativo, più rapido dell'incrocio dello zero ma più rumoroso. Le divergenze, dove il prezzo segna un nuovo estremo che la linea non conferma, sono la terza lettura comune; DivergenceMACD automatizza il loro rilevamento.

Errori e insidie comuni

  • MACD non è la linea. In ProBuilder, MACD[12,26,9](close) restituisce l'istogramma. Il codice tradotto da piattaforme in cui la funzione MACD restituisce la linea grezza produrrà segnali diversi se non viene modificato in MACDLine.
  • Il Si il parametro è inerte qui. MACDLine[12,26,9](close) e MACDLine[12,26,2](close) restituiscono valori identici. Il periodo del segnale esiste tra parentesi solo perché le tre funzioni MACD condividano una stessa firma.
  • I valori scalano con il prezzo. La linea è una differenza di prezzo assoluta, quindi le letture non sono confrontabili tra strumenti diversi né dopo grandi variazioni di prezzo. Per le scansioni tra più strumenti, normalizza, per esempio dividendo per close.
  • Corta meno lunga, in quest'ordine. Il primo periodo deve essere il più piccolo. Scambiarli, come in MACDLine[26,12,9](close), cambia il segno dell'output e inverte ogni segnale.
  • MACD, l'istogramma, linea meno segnale.
  • MACDsignal, media esponenziale della linea, l'innesco dell'incrocio.
  • DivergenceMACD, rilevamento integrato delle divergenze su MACD.
  • ExponentialAverage, il livellamento su cui sono costruiti entrambi i componenti.
  • PriceOscillator, variante in percentuale della stessa idea di spread.
  • Momentum, differenza di prezzo grezza su N barre.
  • ROC, tasso di variazione, momentum in percentuale.
  • Average, media mobile semplice per confronto.