MACDLine
MACDLine i ProBuilder returnerar den råa MACD-linjen, den korta EMA minus den långa EMA av priset, skild från MACD-histogrammet. Syntax, formel, exempel.
Syntax
MACDLine[S,L,Si](price)Parametrar
| Namn | Typ | Standard | Beskrivning |
|---|---|---|---|
S | heltal | 12 | Period för det korta exponentiella medelvärdet. |
L | heltal | 26 | Period för det långa exponentiella medelvärdet. |
Si | heltal | 9 | Signalperiod. Krävs av den gemensamma MACD-signaturen men påverkar inte linjens eget värde. |
price | priskälla | close | Serien som båda medelvärdena beräknas på, vanligen close. |
Formel
MACDLine = ExponentialAverage[S](price) - ExponentialAverage[L](price)De tre MACD-funktionerna hänger samman så här:
MACDsignal = ExponentialAverage[Si](MACDLine)
MACD = MACDLine - MACDsignal // the histogramSå fungerar det
MACD-linjen mäter spreaden mellan ett snabbt och ett långsamt exponentiellt medelvärde. När det korta medelvärdet drar ifrån över det långa stiger linjen över noll, vilket speglar accelererande momentum uppåt; när det korta medelvärdet faller under blir linjen negativ. Eftersom båda indata är medelvärden av samma serie oscillerar linjen runt noll utan att vara begränsad.
Namngivningen bland de tre relaterade funktionerna är den vanliga källan till förvirring, och den skiljer sig från vissa andra plattformar. I ProBuilder, MACD[S,L,Si](price) returnerar histogrammet, det vill säga linjen minus dess signal. MACDLine returnerar den råa linjen som beskrivs på den här sidan. MACDsignal returnerar Si-periods exponentiella medelvärde av linjen. Varje strategi som flyttats från en miljö där MACD() anger att den råa linjen måste skrivas om för att anropa MACDLine istället.
En praktisk konsekvens: eftersom histogrammet är lika med MACDLine - MACDsignal, är histogrammet positivt exakt när linjen ligger över sin signal, och en nollkorsning i histogrammet är samma händelse som en korsning mellan linje och signal.
Exempel
Exempel 1, Jämförelse mellan histogram och linje (Indikator)
// 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, bearishSignalJämför histogrammet med linjen. Eftersom histogrammet är linje minus signal ligger histogrammet under linjen exakt när signallinjen är positiv, så de här korsningarna markerar att signallinjen rör sig genom noll.
Exempel 2, Entry vid korsning mellan linje och signal (ProOrder)
// 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
ENDIFGår in på den klassiska korsningen, begränsad till korsningar som sker under nollinjen, och går ur på den motsatta korsningen.
Exempel 3, Skanning efter korsning av nollinjen (ProScreener)
// Instruments whose MACD line just turned positive
line = MACDLine[12,26,9](close)
SCREENER[line CROSSES OVER 0](line AS "MACD line")Returnerar instrument där spreaden mellan de exponentiella medelvärdena 12-26 korsade över noll på den aktuella baren, ett regimskifte i momentum.
Tolkning
En positiv linje betyder att det korta medelvärdet ligger över det långa, standarddefinitionen av momentum uppåt; en negativ linje betyder det omvända. Nollkorsningen markerar därför ett regimskifte i momentum och motsvarar i stort sett en korsning mellan ett snabbt och ett långsamt medelvärde i prisdiagrammet.
Korsningar mellan linjen och MACDsignal är den klassiska affärstriggern, snabbare än nollkorsningen men mer brusig. Divergenser, där priset sätter ett nytt extremvärde som linjen inte bekräftar, är den tredje vanliga läsningen; DivergenceMACD automatiserar deras upptäckt.
Vanliga fel och fallgropar
MACDär inte linjen. I ProBuilder,MACD[12,26,9](close)returnerar histogrammet. Kod som översatts från plattformar där MACD-funktionen returnerar den råa linjen ger andra signaler om den inte ändras tillMACDLine.- Den
Siparametern är verkningslös här.MACDLine[12,26,9](close)ochMACDLine[12,26,2](close)returnerar identiska värden. Signalperioden finns i parentesen bara för att de tre MACD-funktionerna ska dela samma signatur. - Värdena skalar med priset. Linjen är en absolut prisskillnad, så värdena är inte jämförbara mellan instrument eller efter stora prisförändringar. För skanningar över flera instrument, normalisera, till exempel genom att dividera med
close. - Kort minus lång, i den ordningen. Den första perioden måste vara den mindre. Att byta plats på dem, som i
MACDLine[26,12,9](close), vänder tecknet på utdata och inverterar varje signal.
Relaterade instruktioner
MACD, histogrammet, linje minus signal.MACDsignal, exponentiellt medelvärde av linjen, korsningstriggern.DivergenceMACD, inbyggd divergensdetektering på MACD.ExponentialAverage, den utjämning som båda komponenterna är byggda av.PriceOscillator, procentbaserad variant av samma spread-idé.Momentum, ren prisskillnad överNbarer.ROC, förändringstakt, momentum i procent.Average, enkelt glidande medelvärde för jämförelse.