WeightedAverage
WeightedAverage i ProBuilder returnerer det vektede glidende gjennomsnittet (WMA) av en pris over N barer, og gir de nyeste barene mer vekt. Syntaks, formel, eksempler.
Syntaks
WeightedAverage[N](price)Parametere
| Navn | Type | Standard | Beskrivelse |
|---|---|---|---|
N | heltall | 20 | Tilbakeblikksperiode i barer. Bestemmer både vinduets lengde og vektingsskjemaet. |
price | priskilde | lukk | Serien som gjennomsnittsberegnes. Godtar close, open, high, low, typicalprice, medianprice, eller enhver egendefinert variabel. |
Formel
WMA = (N*price + (N-1)*price[1] + ... + 2*price[N-2] + 1*price[N-1])
/ (N + (N-1) + ... + 2 + 1)Nevneren er summen av vektene, N * (N + 1) / 2. Vektene avtar lineært fra den nyeste baren til den eldste.
Slik fungerer det
Et enkelt glidende gjennomsnitt behandler hver bar i vinduet likt, så en stor bevegelse som kommer inn i eller går ut av vinduet flytter linjen like mye uansett når den skjedde. Det vektede glidende gjennomsnittet multipliserer i stedet hver bar med posisjonen sin i vinduet: den siste baren teller N ganger så mye som den eldste. Resultatet er en linje som følger gjeldende pris tettere og snur tidligere ved swing-punkter.
Sammenlignet med ExponentialAverage, WMA bruker et hardt vindu: barer eldre enn N perioder har null innflytelse, mens en EMA gir alle tidligere barer en liten, eksponentielt avtakende vekt. I praksis oppfører de to seg likt, der WMA-en er litt mer følsom for hva som skjer ved kanten av vinduet sitt.
WMA er også en byggestein for andre gjennomsnitt. HullAverage, kombinerer for eksempel flere vektede gjennomsnitt av ulike lengder for å redusere forsinkelsen ytterligere.
Eksempler
Eksempel 1, Enkel 20-perioders WMA (Indikator)
// 20-period weighted moving average of closing prices
myWMA = WeightedAverage[20](close)
RETURN myWMABeregner og plotter det 20-bars vektede glidende gjennomsnittet av lukkekursen, standardbruken bevart fra kildedokumentasjonen.
Eksempel 2, Kryssing mellom WMA og SMA (ProBacktest)
// Fast weighted average against a slower simple average
fastWMA = WeightedAverage[10](close)
slowSMA = Average[40](close)
IF fastWMA CROSSES OVER slowSMA THEN
BUY 1 CONTRACT AT MARKET
ENDIF
IF fastWMA CROSSES UNDER slowSMA THEN
SELL AT MARKET
ENDIFDet vektede gjennomsnittet fungerer som den responsive raske linjen i et klassisk kryssingssystem, med inngang long når den krysser over det langsommere enkle gjennomsnittet og utgang ved motsatt kryssing.
Eksempel 3, Skanning etter pris over en stigende WMA (ProScreener)
// Instruments trading above a rising 30-bar weighted average
wma = WeightedAverage[30](close)
rising = wma > wma[5]
SCREENER[close > wma AND rising](((close / wma) - 1) * 100 AS "% above WMA")Beholder kun instrumenter der prisen ligger over en 30-bars WMA som selv er høyere enn fem barer tilbake, og rangerer dem etter avstanden over linjen.
Tolkning
Vektede gjennomsnitt leses som alle andre glidende gjennomsnitt. Pris over en stigende WMA indikerer en opptrend, pris under en fallende WMA indikerer en nedtrend, og kryssinger mellom pris og linjen, eller mellom to WMA-er med ulik lengde, brukes som signaler om trendendring.
På grunn av den fremtungede vektingen vil en WMA med lengde N oppfører seg omtrent som et kortere enkelt gjennomsnitt: det snur tidligere, men gir også flere falske utslag i sidelengse markeder. Valget mellom Average, WeightedAverage, og ExponentialAverage er stort sett en avveining mellom forsinkelse og støy, ikke en prinsipiell forskjell.
Vanlige feil og fallgruver
- Feil parentestyper. Perioden angis i hakeparenteser og priskilden i runde parenteser:
WeightedAverage[20](close). Å skriveWeightedAverage(20, close)er en syntaksfeil. - Å forvente SMA-lignende glatthet. For samme
N, er en WMA merkbart mer urolig enn et enkelt gjennomsnitt. Når du erstatterAverage[N]medWeightedAverage[N]i et eksisterende system, øker signalfrekvensen og backtestresultatene endres. - Å forveksle den med
WeightedClose.WeightedCloseer en priskonstant for én bar,(high + low + 2 * close) / 4. Det er en gyldig inndata til denne funksjonen, men et helt annet begrep. - For kort periode. Svært små
Nverdier gjør linjen nesten identisk med rå pris, og legger til beregning uten meningsfull utjevning.
Relaterte instruksjoner
Average, enkelt glidende gjennomsnitt med like vekter.ExponentialAverage, eksponentielt avtakende vekter over hele historikken.WilderAverage, det glattede gjennomsnittet som brukes inne i RSI og ATR.HullAverage, gjennomsnitt med lite etterslep bygget av vektede gjennomsnitt.TriangularAverage, dobbeltglattet gjennomsnitt med vekt på midten.TimeSeriesAverage, glidende gjennomsnitt basert på lineær regresjon.ZLEMA, eksponentielt glidende gjennomsnitt med null etterslep.WeightedClose, vektet pris for en enkelt bar som ofte mates inn i gjennomsnitt.