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

WilderAverage

WilderAverage i ProBuilder returnerar Wilders utjämnade glidande medelvärde av ett pris över N bars, den utjämning som används inuti RSI och ATR. Syntax, formel, exempel.

Syntax

probuilder
WilderAverage[N](price)

Parametrar

NamnTypStandardBeskrivning
Nheltal20Lookbackperiod. Den effektiva utjämningsfaktorn är 1/N, så större värden ger en betydligt långsammare linje.
pricepriskällacloseSerien som utjämnas. Accepterar close, open, high, low, eller någon egen variabel.

Formel

kod
WilderAverage = previousWilderAverage + (price - previousWilderAverage) / N

Likvärdigt är det ett exponentiellt glidande medelvärde med alpha = 1/N. En vanlig EMA använder alpha = 2/(N+1), så ett Wilder-medelvärde med period N beter sig som en vanlig EMA med period 2N - 1.

Så fungerar det

För varje bar rör sig Wilder-medelvärdet en bråkdel 1/N av avståndet från sitt tidigare värde mot det aktuella priset. De senaste barerna väger därför tyngre än äldre, men den lilla utjämningsfaktorn gör att linjen justeras gradvis och filtrerar bort det mesta av bruset mellan barer.

Metoden finns eftersom Wilder utformade sina indikatorer från 1978 för manuell beräkning: den rekursiva formen behöver bara föregående värde och det nya priset. RSI, AverageTrueRange, och ADX använder alla den här utjämningen internt. När du bygger om eller ändrar en av dessa indikatorer ger användning av WilderAverage snarare än ExponentialAverage är det som håller utdatan identisk med plattformens inbyggda version.

Den främsta praktiska konsekvensen av 1/N faktorn är fördröjning. En WilderAverage[14] är ungefär lika långsam som en EMA med 27 perioder, så periodinställningar överförs inte direkt mellan medelvärdestyper.

Exempel

Exempel 1, MACD-variant med Wilder-utjämning (Indikator)

probuilder
// Difference between a 26- and a 12-period Wilder average
long = WilderAverage[26](close)
short = WilderAverage[12](close)
WilderMACD = long - short
RETURN WilderMACD

Bygger en MACD-liknande oscillator från två Wilder-medelvärden i stället för vanliga EMA:er, vilket ger en jämnare och långsammare signallinje. Detta är källexemplet med omskrivna kommentarer.

Exempel 2, Trendfilter för ett breakout-system (ProOrder)

probuilder
// Only trade breakouts in the direction of the Wilder-smoothed trend
trend = WilderAverage[50](close)

IF NOT OnMarket THEN
  IF close > trend AND close CROSSES OVER Highest[20](high)[1] THEN
    BUY 1 CONTRACT AT MARKET
  ENDIF
ENDIF
IF LongOnMarket AND close CROSSES UNDER trend THEN
  SELL AT MARKET
ENDIF

Ett 50-periods Wilder-medelvärde definierar trenden. Long-breakouts tas endast över linjen, och positioner stängs när priset korsar tillbaka under den.

Exempel 3, Screening efter rekyler till Wilder-medelvärdet (ProScreener)

probuilder
// Uptrending instruments pulling back close to their Wilder average
wa = WilderAverage[21](close)
uptrend = wa > wa[10]
nearline = ABS(close - wa) / wa < 0.01
SCREENER[uptrend AND nearline](((close / wa) - 1) * 100 AS "% vs WA")

Väljer instrument vars 21-perioders Wilder-medelvärde stiger och vars pris ligger inom 1 procent från linjen, en rekyl-i-trend-setup.

Tolkning

Ett Wilder-medelvärde läses som vilket glidande medelvärde som helst: pris över en stigande linje antyder en upptrend, pris under en fallande linje antyder en nedtrend, och korsningar mellan pris och linjen, eller mellan två linjer med olika längd, markerar potentiella trendförändringar.

Jämfört med andra medelvärden av samma period är det ett av de långsammaste alternativen som finns, jämnare än Average och mycket jämnare än ExponentialAverage. Det gör den bättre lämpad för trendfilter och volatilitetsutjämning än för snabb signalgenerering. När responsivitet spelar större roll än stabilitet, ExponentialAverage, WeightedAverage, eller ZLEMA är de vanliga alternativen.

Vanliga fel och fallgropar

  • Att behandla perioden som en EMA-period. WilderAverage[14] är betydligt långsammare än ExponentialAverage[14]. För att matcha en befintlig EMA, använd ungefär halva perioden plus ett, och för att matcha ett Wilder-medelvärde med en EMA, använd 2N - 1.
  • Fel typer av parenteser. Perioden ska stå inom hakparenteser och priset inom parenteser: WilderAverage[26](close). WilderAverage(26, close) kompilerar inte.
  • Att återskapa RSI eller ATR med fel utjämning. Att bygga om Wilder-indikatorer med ExponentialAverage eller Average ger värden som glider bort från de inbyggda. Använd WilderAverage för exakta matchningar.
  • Uppvärmning på tidiga bars. Som ett rekursivt medelvärde behöver linjen ett antal bars för att konvergera efter dataseriens början. Värden på de första dussintalet bars i ett diagram eller en backtest är mindre tillförlitliga.
  • Average, enkelt glidande medelvärde.
  • ExponentialAverage, standard-EMA med alpha = 2/(N+1).
  • WeightedAverage, linjärt viktat glidande medelvärde.
  • RSI, momentum-oscillator byggd på Wilder-utjämning.
  • AverageTrueRange, volatilitetsmått som använder samma utjämning.
  • ADX, indikator för trendstyrka från samma Wilder-familj.
  • ZLEMA, exponentiellt medelvärde med minskad eftersläpning.
  • HullAverage, alternativ med låg fördröjning byggt på viktade medelvärden.