EndPointAverage
EndPointAverage[N](price) i ProBuilder returnerar det glidande end point-medelvärdet över N barer, ett minstakvadratbaserat medelvärde som minskar eftersläpningen vid trendanalys.
Syntax
EndPointAverage[N](price)Parametrar
| Namn | Typ | Standard | Beskrivning |
|---|---|---|---|
N | heltal | ingen | Antal barer i regressionsfönstret. Större värden ger en jämnare, långsammare linje. |
price | priskälla | close | Serie som medelvärdet beräknas på, till exempel 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 stället för att genomsnittsberäkna fönstret symmetriskt projicerar end point-metoden den anpassade trendlinjen till den senaste baren, vilket är varför linjen följer priset tätare än ett enkelt medelvärde.
Så fungerar det
Ett enkelt glidande medelvärde rapporterar medelvärdet av fönstret, vilket i praktiken beskriver priset som det var ett halvt fönster tillbaka. End point-medelvärdet tar bort mycket av den fördröjningen genom att anpassa en rät regressionslinje genom samma fönster och returnera var den linjen slutar, vid den aktuella baren. När priset trendar jämnt ligger end point-medelvärdet nära priset; när priset är platt beter det sig som ett vanligt medelvärde.
Avvägningen är överskjutning. Eftersom värdet extrapolerar fönstrets lutning till dess kant får skarpa vändningar linjen att skjuta över vändningen innan den hinner med. Det gör end point-medelvärdet lyhört i trender men nervösare än jämnare medelvärden kring vändpunkter.
Den här beräkningen är också det glidande medelvärde som väljs av MAtype = 5 i indikatorer som tar en parameter för typ av glidande medelvärde, som ElderRayBullPower.
Exempel
Exempel 1, Trendlutning från end point-medelvärdet (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 slopeBeräknar 50-periods end point-medelvärdet och dividerar det med sitt eget värde 10 barer tillbaka. Ett förhållande över 1 betyder att linjen har stigit under de senaste 10 barerna, ett kompakt mått på trendstyrka.
Exempel 2, Pris som korsar end point-medelvärdet (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
ENDIFAnvänder end point-medelvärdet som en dynamisk trendlinje. Den minskade eftersläpningen ger tidigare korsningar än ett enkelt medelvärde med samma period.
Exempel 3, Screening för pris över en stigande 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")Listar instrument som handlas över ett 50-periods end point-medelvärde som har stigit under de senaste 5 barerna, ett tvådelat filter för upptrend.
Tolkning
Som med varje glidande medelvärde är de två vanliga avläsningarna position och lutning. Pris över ett stigande end point-medelvärde stöder en bullish bias, pris under en fallande linje stöder en bearish. Korsningar mellan priset och linjen, eller mellan ett kort och ett långt end point-medelvärde, används som signaler om trendskifte.
Eftersom linjen reagerar snabbare än ett enkelt eller exponentiellt medelvärde av samma längd passar den trendföljande logik där eftersläpning är kostsam. I hackiga marknader som rör sig i intervall skapar samma känslighet fler falska korsningar, så där är en längre period eller ett extra filter att rekommendera.
Vanliga fel och fallgropar
- Överskjutning vid vändningar. Värdet extrapolerar fönstrets regressionslutning, så det kan kort fortsätta i den gamla riktningen, eller överdriva den nya, direkt efter en skarp vändning. Signaler tagna vid V-formade vändningar är mindre tillförlitliga än i stadiga trender.
- Fel typ av parentes. Perioden hör i hakparenteser och priskällan i parenteser:
EndPointAverage[50](close).EndPointAverage(50, close)ger ett syntaxfel. - Att förväxla det med slutpunkten för ett enkelt medelvärde. Namnet syftar på slutpunkten för en anpassad regressionslinje, inte på det sista elementet i ett medelvärdesfönster. Att jämföra den 1:1 med
Average[N]värden leder till feltolkade avstånd. - Period längre än tillgänglig historik. Med färre än
Nbarer inlästa är tidiga värden otillförlitliga. Se till att diagrammet eller backtestet läser in tillräckligt många barer innan du agerar på linjen.
Relaterade instruktioner
LinearRegression, det regressionslinjevärde som end point-metoden bygger på.LinearRegressionSlope, lutningen på den anpassade regressionslinjen.TimeSeriesAverage, nära relaterat regressionsbaserat medelvärde, MAtype 6.Average, enkelt glidande medelvärde för jämförelse.ExponentialAverage, exponentiellt viktat alternativ.WeightedAverage, linjärt viktat alternativ.HullAverage, en annan utformning av glidande medelvärde med låg eftersläpning.ZLEMA, zero-lag exponentiellt glidande medelvärde.