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
EndPointAverage[N](price)Parametere
| Navn | Type | Standard | Beskrivelse |
|---|---|---|---|
N | heltall | ingen | Antall barer i regresjonsvinduet. Større verdier gir en jevnere, tregere linje. |
price | priskilde | lukk | Serien gjennomsnittet beregnes på, for eksempel close, open, high, eller low. |
Formel
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 barI 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)
// 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 slopeBeregner 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)
// 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
ENDIFBruker 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)
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
Nbarer lastet inn, er tidlige verdier upålitelige. Sørg for at diagrammet eller backtesten forhåndslaster nok barer før du handler på linjen.
Relaterte instruksjoner
LinearRegression, regresjonslinjeverdien som endepunktsmetoden er bygget på.LinearRegressionSlope, stigningstallet til den tilpassede regresjonslinjen.TimeSeriesAverage, nært beslektet regresjonsbasert gjennomsnitt, MAtype 6.Average, enkelt glidende gjennomsnitt for sammenligning.ExponentialAverage, eksponentielt vektet alternativ.WeightedAverage, lineært vektet alternativ.HullAverage, en annen utforming av glidende gjennomsnitt med lav forsinkelse.ZLEMA, zero-lag eksponentielt glidende gjennomsnitt.