Bli medlem i dag
Indikatorer/probuilder · probacktest · proorder · proscreener

EndPointAverage

EndPointAverage[N](price) i ProBuilder returnerer det glidende endepunktsgjennomsnittet over N barer, et gjennomsnitt basert på minste kvadraters metode som reduserer forsinkelse for trendanalyse.

Syntaks

probuilder
EndPointAverage[N](price)

Parametere

NavnTypeStandardBeskrivelse
NheltallingenAntall barer i regresjonsvinduet. Større verdier gir en jevnere, tregere linje.
pricepriskildelukkSerien gjennomsnittet beregnes på, for eksempel close, open, high, eller low.

Formel

kode
Fit a least-squares line y = a + b * x to the last N values of price
EndPointAverage = value of that line at the most recent bar

I stedet for å gjennomsnittsberegne vinduet symmetrisk projiserer endepunktsmetoden den tilpassede trendlinjen til den nyeste baren, og det er derfor linjen følger prisen tettere enn et enkelt gjennomsnitt.

Slik fungerer det

Et enkelt glidende gjennomsnitt rapporterer gjennomsnittet av vinduet, som i praksis beskriver prisen slik den var et halvt vindu tilbake. Endepunktsgjennomsnittet fjerner mye av denne forsinkelsen ved å tilpasse en rett regresjonslinje gjennom samme vindu og returnere der denne linjen slutter, ved gjeldende bar. Når prisen trender jevnt, ligger endepunktsgjennomsnittet nær prisen; når prisen er flat, oppfører det seg som et vanlig gjennomsnitt.

Avveiningen er oversving. Fordi verdien ekstrapolerer vinduets stigningstall til kanten av vinduet, får skarpe reverseringer linjen til å svinge forbi vendepunktet før den tar igjen. Dette gjør endepunktsgjennomsnittet responsivt i trender, men mer nervøst enn jevnere gjennomsnitt rundt vendepunkter.

Denne beregningen er også det glidende gjennomsnittet som velges av MAtype = 5 i indikatorer som tar en parameter for type glidende gjennomsnitt, som ElderRayBullPower.

Eksempler

Eksempel 1, Trendstigning fra endepunktsgjennomsnittet (Indikator)

probuilder
// Endpoint of a 50-period regression on the close
i1 = EndPointAverage[50](close)
// Ratio of the current value to its value 10 bars ago
slope = i1 / i1[10]
RETURN slope

Beregner 50-perioders endepunktsgjennomsnittet og deler det på sin egen verdi 10 barer tilbake. Et forholdstall over 1 betyr at linjen har steget i løpet av de siste 10 barene, en kompakt måler for trendstyrke.

Eksempel 2, Pris som krysser endepunktsgjennomsnittet (ProBacktest)

probuilder
// Trend-following entries on crosses of a 30-period end point average
epma = EndPointAverage[30](close)

IF NOT OnMarket THEN
  IF close CROSSES OVER epma THEN
    BUY 1 CONTRACT AT MARKET
  ENDIF
ELSIF LongOnMarket THEN
  IF close CROSSES UNDER epma THEN
    SELL AT MARKET
  ENDIF
ENDIF

Bruker endepunktsgjennomsnittet som en dynamisk trendlinje. Den reduserte forsinkelsen gir tidligere kryss enn et enkelt gjennomsnitt av samme periode.

Eksempel 3, Screening for pris over en stigende linje (ProScreener)

probuilder
epma = EndPointAverage[50](close)
// Price above the line and the line itself rising
SCREENER[close > epma AND epma > epma[5]](epma AS "EPMA 50")

Lister instrumenter som handles over et 50-perioders endepunktsgjennomsnitt som har steget i løpet av de siste 5 barene, et todelt opptrendfilter.

Tolkning

Som med alle glidende gjennomsnitt er de to standardlesningene posisjon og stigningstall. Pris over et stigende endepunktsgjennomsnitt støtter en bullish tendens, pris under en fallende linje støtter en bearish tendens. Kryss mellom pris og linjen, eller mellom et kort og et langt endepunktsgjennomsnitt, brukes som signaler om trendskifte.

Fordi linjen reagerer raskere enn et enkelt eller eksponentielt gjennomsnitt av samme lengde, passer den til trendfølgende logikk der forsinkelse er kostbar. I hakkete markeder som går sidelengs gir samme responsivitet flere falske kryss, så en lengre periode eller et ekstra filter er tilrådelig der.

Vanlige feil og fallgruver

  • Overskyting ved vendepunkter. Verdien ekstrapolerer vinduets regresjonsstigning, så den kan kortvarig fortsette i den gamle retningen, eller overdrive den nye, rett etter en skarp vending. Signaler tatt ved V-formede reverseringer er mindre pålitelige enn i jevne trender.
  • Feil parentestype. Perioden hører i hakeparenteser og priskilden i runde parenteser: EndPointAverage[50](close). EndPointAverage(50, close) gir en syntaksfeil.
  • Å forveksle det med endepunktet til et enkelt gjennomsnitt. Navnet viser til endepunktet på en tilpasset regresjonslinje, ikke til det siste elementet i et gjennomsnittsvindu. Å sammenligne den 1:1 med Average[N] verdier fører til feiltolkede avstander.
  • Periode lengre enn tilgjengelig historikk. Med færre enn N barer lastet inn, er tidlige verdier upålitelige. Sørg for at diagrammet eller backtesten forhåndslaster nok barer før du handler på linjen.