Word nu lid
Indicatoren/probuilder · probacktest · proorder · proscreener

EndPointAverage

EndPointAverage[N](price) in ProBuilder geeft het end point bewegend gemiddelde over N bars, een op kleinste kwadraten gebaseerd gemiddelde dat de vertraging voor trendanalyse verkleint.

Syntaxis

probuilder
EndPointAverage[N](price)

Parameters

NaamTypeStandaardBeschrijving
Ngeheel getalgeenAantal bars in het regressievenster. Grotere waarden geven een vloeiendere, langzamere lijn.
priceprijsbroncloseReeks waarop het gemiddelde wordt berekend, bijvoorbeeld close, open, high, of low.

Formule

code
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

In plaats van een symmetrisch gemiddelde over het venster te nemen, projecteert de end point-methode de gefitte trendlijn naar de nieuwste bar, en daarom volgt de lijn de koers nauwer dan een simpel gemiddelde.

Hoe het werkt

Een simpel bewegend gemiddelde geeft het gemiddelde van het venster, wat in feite de koers beschrijft zoals die een half venster eerder was. Het end point-gemiddelde haalt een groot deel van die vertraging weg door een rechte regressielijn door hetzelfde venster te fitten en terug te geven waar die lijn eindigt, op de huidige bar. Wanneer de koers gestaag trendt, ligt het end point-gemiddelde dicht bij de koers; wanneer de koers vlak is, gedraagt het zich als een gewoon gemiddelde.

De afweging is overshoot. Omdat de waarde de helling van het venster naar de rand extrapoleert, schiet de lijn bij scherpe omkeringen door de draai heen voordat hij bijtrekt. Dat maakt het end point-gemiddelde responsief in trends maar nerveuzer dan vloeiendere gemiddelden rond draaipunten.

Deze berekening is ook het voortschrijdend gemiddelde dat wordt geselecteerd door MAtype = 5 in indicatoren die een parameter voor het type moving average aannemen, zoals ElderRayBullPower.

Voorbeelden

Voorbeeld 1, Trendhelling uit het end point-gemiddelde (Indicator)

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

Berekent het 50-periode end point-gemiddelde en deelt dit door zijn eigen waarde van 10 bars terug. Een verhouding boven 1 betekent dat de lijn over de laatste 10 bars is gestegen, een compacte meter voor trendsterkte.

Voorbeeld 2, Koers die het end point-gemiddelde kruist (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

Gebruikt het end point-gemiddelde als dynamische trendlijn. De verminderde vertraging levert eerdere kruisingen op dan een simpel gemiddelde van dezelfde periode.

Voorbeeld 3, Screenen op koers boven een stijgende lijn (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")

Toont instrumenten die boven een 50-periode end point-gemiddelde handelen dat over de laatste 5 bars is gestegen, een tweedelig filter voor een opwaartse trend.

Interpretatie

Zoals bij elk bewegend gemiddelde zijn de twee standaardlezingen positie en helling. Koers boven een stijgend end point-gemiddelde ondersteunt een bullish bias, koers onder een dalende lijn ondersteunt een bearish bias. Kruisingen tussen de koers en de lijn, of tussen een kort en een lang end point-gemiddelde, worden gebruikt als signalen voor een trendverandering.

Omdat de lijn sneller reageert dan een simpel of exponentieel gemiddelde van gelijke lengte, past hij bij trendvolgende logica waar vertraging kostbaar is. In schokkerige, zijwaartse markten levert diezelfde responsiviteit meer valse kruisingen op, dus daar is een langere periode of een extra filter aan te raden.

Veelvoorkomende fouten en valkuilen

  • Overshoot bij omkeringen. De waarde extrapoleert de regressiehelling van het venster, dus hij kan direct na een scherpe draai kort in de oude richting doorgaan, of de nieuwe overdrijven. Signalen die bij V-vormige omkeringen worden genomen zijn minder betrouwbaar dan in gestage trends.
  • Verkeerd type haakjes. De periode hoort tussen vierkante haken en de prijsbron tussen ronde haken: EndPointAverage[50](close). EndPointAverage(50, close) geeft een syntaxisfout.
  • Het verwarren met het eindpunt van een simpel gemiddelde. De naam verwijst naar het eindpunt van een gefitte regressielijn, niet naar het laatste element van een gemiddeldenvenster. Een 1:1-vergelijking met Average[N] waarden leidt tot verkeerd gelezen afstanden.
  • Periode langer dan de beschikbare historie. Met minder dan N bars geladen, zijn de eerste waarden onbetrouwbaar. Zorg dat de grafiek of backtest genoeg bars voorlaadt voordat je op de lijn handelt.