DivergenceMACD
DivergenceMACD i ProBuilder upptäcker bullish och bearish divergenser mellan kursen och MACD och returnerar +1, -1 eller 0. Syntax, parametrar och exempel.
Syntax
DivergenceMACD[FastPeriod, SlowPeriod, SignalPeriod, Bars](price)Parametrar
| Namn | Typ | Standard | Beskrivning |
|---|---|---|---|
FastPeriod | heltal | 12 | Period för den snabba EMA:n i den underliggande MACD-beräkningen. |
SlowPeriod | heltal | 26 | Period för den långsamma EMA:n i den underliggande MACD-beräkningen. |
SignalPeriod | heltal | 9 | Period för signallinjens EMA som tillämpas på MACD-linjen. |
Bars | heltal | 20 | Antal senaste barer som undersöks efter ett divergensmönster. |
price | priskälla | close | Serie som används både för MACD-beräkningen och för kursextremerna. |
Formel
Detektorn jämför riktningen på prisextremvärden med riktningen på MACD-extremvärden under de senaste Bars barer:
Bullish divergence: price makes lower lows while the MACD makes higher lows -> +1
Bearish divergence: price makes higher highs while the MACD makes lower highs -> -1
No divergence detected -> 0Den underliggande MACD:n är standardkonstruktionen: snabb EMA minus långsam EMA, med en signallinje-EMA över resultatet.
Så fungerar det
MACD ligger efter prisets momentum, så när priset trycker till ett nytt extremvärde som MACD vägrar bekräfta drivs rörelsen av mindre momentum än tidigare. DivergenceMACD automatiserar den jämförelsen. På varje bar beräknar den MACD från de angivna perioderna, lokaliserar de relevanta pris- och indikatorswingarna inom detekteringsfönstret och rapporterar utfallet som en diskret signal: +1, -1 eller 0.
Eftersom utdata är en stegvis signalserie snarare än en kontinuerlig linje visas den vanligtvis som ett histogram eller används direkt i villkor för strategier och screeners.
För manuell verifiering i ett diagram, notera hur de relaterade MACD-instruktionerna motsvarar indikatorns komponenter: MACD[FastPeriod, SlowPeriod, SignalPeriod](price) returnerar histogrammet (linje minus signal), MACDLine returnerar själva MACD-linjen, och MACDsignal returnerar signallinjen. Att jämföra detektorns utdata mot en diagrampanel är bara meningsfullt när panelen använder samma tre perioder och samma priskälla.
Exempel
Exempel 1, Histogram för divergenssignaler (Indikator)
// Standard 12/26/9 MACD settings, 20-bar detection window on the close
i = DivergenceMACD[12,26,9,20](close)
return i style(histogram)Ritar detektorns råa utdata som ett histogram: staplar vid +1 markerar bullish divergenser, staplar vid -1 markerar bearish divergenser, och noll betyder att ingen divergens finns inom fönstret.
Exempel 2, Sökning efter bearish divergens (ProScreener)
// List instruments printing a bearish MACD divergence on the current bar
d = DivergenceMACD[12, 26, 9, 20](close)
hist = MACD[12, 26, 9](close)
SCREENER[d = -1](hist AS "MACD hist")Returnerar instrument där kursen satte högre toppar mot en avtagande MACD, med aktuellt MACD-histogramvärde visat som kontext.
Exempel 3, Divergensentry bekräftad av histogrammet (ProOrder)
// Buy a bullish divergence once the MACD histogram turns positive
signal = DivergenceMACD[12, 26, 9, 20](close)
hist = MACD[12, 26, 9](close)
IF NOT LongOnMarket AND signal = 1 AND hist CROSSES OVER 0 THEN
BUY 1 CONTRACT AT MARKET
SET STOP %LOSS 2
ENDIF
IF LongOnMarket AND signal = -1 THEN
SELL AT MARKET
ENDIFDivergensen flaggar setupen, och att MACD-histogrammet korsar över noll, vilket betyder att MACD-linjen gick tillbaka över sin signallinje, bekräftar vändningen innan entry.
Tolkning
- +1, bullish divergens. Kursen satte en lägre botten medan MACD satte en högre botten. Nedåtgående momentum avtar; föregår ibland en vändning uppåt.
- -1, bearish divergens. Kursen satte en högre topp medan MACD satte en lägre topp. Uppåtgående momentum avtar.
- 0, ingen signal. Ingen kvalificerad divergens inom detekteringsfönstret.
Divergens markerar avtagande momentum, inte en bekräftad vändning. Starka trender kan ge upprepade divergenser medan de fortsätter, så de flesta arbetsflöden kombinerar signalen med en bekräftelsetrigger eller ett trendfilter i högre tidsram.
Vanliga fel och fallgropar
- Att glömma prisargumentet. Till skillnad från
DivergenceCCI, tar den här instruktionen en priskälla i parenteser efter hakparenteserna:DivergenceMACD[12,26,9,20](close). Om den utelämnas uppstår ett syntaxfel. - Att jämföra mot fel MACD-utdata.
MACD[12,26,9](close)returnerar histogrammet, inte MACD-linjen. När du kontrollerar detektorsignaler mot ett diagram, användMACDLineför linjen ochMACDsignalför signallinjen, och håll alla tre perioderna identiska med detektorns. - Parameterordning. Ordningen är fast, slow, signal, bars. Att byta
SlowPeriodochBars, till exempelDivergenceMACD[12,20,9,26](close), kompilerar och detekterar i tysthet mot en annan indikator. - Att agera på varje divergens i en trend. Bearish divergenser i en uthållig upptrend misslyckas gång på gång. Filtrera på trendriktning eller kräv bekräftelse, som i Exempel 3.
Relaterade instruktioner
DivergenceCCI, samma detektor byggd på CCI.DivergenceRSI, samma detektor byggd på RSI.MACD, MACD-histogram, linje minus signal.MACDLine, MACD-linjen, snabb EMA minus långsam EMA.MACDsignal, signallinjen, en EMA av MACD-linjen.CCI, avvikelsebaserad oscillator som också används för divergensarbete.RSI, begränsad momentum-oscillator med jämförbar divergenslogik.ExponentialAverage, utjämningsmetoden som ligger bakom alla MACD-komponenter.