Bli medlem idag
Indikatorer/probuilder · probacktest · proorder · proscreener

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

probuilder
DivergenceMACD[FastPeriod, SlowPeriod, SignalPeriod, Bars](price)

Parametrar

NamnTypStandardBeskrivning
FastPeriodheltal12Period för den snabba EMA:n i den underliggande MACD-beräkningen.
SlowPeriodheltal26Period för den långsamma EMA:n i den underliggande MACD-beräkningen.
SignalPeriodheltal9Period för signallinjens EMA som tillämpas på MACD-linjen.
Barsheltal20Antal senaste barer som undersöks efter ett divergensmönster.
pricepriskällacloseSerie 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:

kod
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                                                        -> 0

Den 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)

probuilder
// 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)

probuilder
// 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)

probuilder
// 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
ENDIF

Divergensen 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änd MACDLine för linjen och MACDsignal för signallinjen, och håll alla tre perioderna identiska med detektorns.
  • Parameterordning. Ordningen är fast, slow, signal, bars. Att byta SlowPeriod och Bars, till exempel DivergenceMACD[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.
  • 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.