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

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

probuilder
EndPointAverage[N](price)

Parametrar

NamnTypStandardBeskrivning
NheltalingenAntal barer i regressionsfönstret. Större värden ger en jämnare, långsammare linje.
pricepriskällacloseSerie som medelvärdet beräknas på, till exempel close, open, high, eller low.

Formel

kod
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 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)

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

Berä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)

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

Anvä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)

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")

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 N barer 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.