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

HullAverage

HullAverage[period](price) in ProBuilder geeft de Hull Moving Average, een snel gewogen moving average dat is ontworpen om lag te beperken terwijl de lijn vloeiend blijft.

Syntaxis

probuilder
HullAverage[period](price)

Parameters

NaamTypeStandaardBeschrijving
periodgeheel getal20Belangrijkste lookbackperiode. Gebruikelijke waarden lopen van 9 voor snelle signaallijnen tot 50 of meer voor het bepalen van de trend.
priceprijsbroncloseReeks waarop het gemiddelde wordt berekend, bijvoorbeeld close, open, high, of low.

Formule

code
HMA[N] = WMA[sqrt(N)]( 2 * WMA[N / 2](price) - WMA[N](price) )

waar WMA is een lineair gewogen moving average. Het gemiddelde over de halve lengte wordt verdubbeld en het gemiddelde over de volle lengte eraf getrokken, waardoor het grootste deel van de vertraging wegvalt; de uiteindelijke gewogen moving average over sqrt(N) bars vlakt het resultaat af.

Hoe het werkt

Alan Hull ontwierp de HMA om de gebruikelijke afruil van bewegende gemiddelden aan te pakken: vloeiendheid vereist een lang venster, maar een lang venster betekent vertraging. De constructie werkt in twee stappen. Eerst, 2 * WMA(N/2) - WMA(N) extrapoleert vooruit: het snellere gemiddelde over de halve lengte wordt naar voren geduwd door het langzamere eraf te trekken, wat de vertraging grotendeels wegneemt maar ruis toevoegt. Vervolgens een kort gewogen gemiddelde van lengte sqrt(N) wordt erbovenop toegepast en herstelt de vloeiendheid zonder veel lag terug te brengen.

Het resultaat is een lijn die vrijwel onmiddellijk met de prijs meedraait, vergeleken met een simpel of exponentieel gemiddelde van dezelfde periode. Die reactiesnelheid kent een voorbehoud: de extrapolatiestap kan rond scherpe omkeringen doorschieten en de draai kortstondig overdrijven.

Omdat de HMA de koers dicht volgt, gebruiken crossover-systemen die erop zijn gebouwd meestal de helling ervan, of de lijn steeg of daalde ten opzichte van de vorige bar, in plaats van de koers die de lijn kruist, wat te vaak gebeurt om op zichzelf nuttig te zijn.

Voorbeelden

Voorbeeld 1, Hull Moving Average op de grafiek (Indicator)

probuilder
// 30-period Hull Moving Average of the close
myHMA = HullAverage[30](close)
RETURN myHMA AS "HMA 30"

Plot een HMA met periode 30 over de prijsgrafiek. Vergeleken met Average[30], draait de lijn merkbaar eerder bij swing-punten.

Voorbeeld 2, Trendsysteem op basis van de helling (ProOrder)

probuilder
// Enter long when the HMA turns up, exit when it turns down
hma = HullAverage[20](close)

IF NOT LongOnMarket THEN
  // Slope flips from down to up
  IF hma > hma[1] AND hma[1] <= hma[2] THEN
    BUY 1 CONTRACT AT MARKET
  ENDIF
ELSE
  IF hma < hma[1] THEN
    SELL AT MARKET
  ENDIF
ENDIF

Verhandelt de richting van de HMA zelf. De omslag in de helling is het standaard HMA-signaal en benut de geringe vertraging van de lijn in plaats van te wachten op een prijskruising.

Voorbeeld 3, Screenen op nieuwe opwaartse wendingen van de HMA (ProScreener)

probuilder
hma = HullAverage[20](close)
// Line was falling two bars ago, rising now
cond = hma > hma[1] AND hma[1] <= hma[2]
SCREENER[cond](hma AS "HMA 20")

Geeft instrumenten waarvan de Hull Moving Average over 20 periodes op de huidige bar net opwaarts is gedraaid.

Interpretatie

De twee standaardinterpretaties zijn de helling en de relatieve positie. Een stijgende HMA duidt op een bullish trend, een dalende HMA op een bearish trend, en omdat de lijn snel reageert, worden de draaipunten gezien als vroege signalen van een trendwisseling. Een tweede veelgebruikte opzet combineert een korte en een lange HMA: een lijn met een korte periode die omhoog draait terwijl de langere al stijgt, wordt gelezen als een bullish opstelling, en het spiegelbeeld als bearish.

De lage lag werkt twee kanten op. Signalen komen eerder dan bij klassieke gemiddelden, maar in zijwaartse markten draait de lijn vaak en genereert die whipsaws. Een regimefilter, een trendconditie op een hoger tijdframe of simpelweg een langere periode vermindert de valse draaipunten.

Veelvoorkomende fouten en valkuilen

  • Verkeerd type haakjes. De periode komt tussen vierkante haken, de prijsbron tussen ronde haken: HullAverage[30](close). HullAverage(30, close) geeft een syntaxisfout.
  • Overshoot bij V-omkeringen. De 2 * WMA(N/2) - WMA(N) stap extrapoleert de recente slope, waardoor de lijn direct na abrupte wendingen voorbij de koers kan uitschieten. Signalen die tijdens zulke uitschieters worden genomen zijn minder betrouwbaar.
  • Signalen op koerskruisingen gaan constant af. Omdat de HMA de prijs zo nauw volgt, close CROSSES OVER hma gaat veel vaker af dan bij een eenvoudig gemiddelde van dezelfde periode. Condities op basis van de helling zijn het bedoelde gebruik.
  • Hem als steunniveau behandelen. In tegenstelling tot langzamere gemiddeldes is de HMA geen zinvolle dynamische steun- of weerstandslijn, hij ligt te dicht bij de prijs. Gebruik hem voor richting en timing, niet als niveau.
  • WeightedAverage, de bouwsteen van de Hull-constructie.
  • Average, enkelvoudig voortschrijdend gemiddelde ter vergelijking.
  • ExponentialAverage, klassiek alternatief met minder lag.
  • ZLEMA, zero-lag exponential moving average, vergelijkbaar doel.
  • DEMA, dubbel exponentieel voortschrijdend gemiddelde.
  • TEMA, driedubbel exponentieel voortschrijdend gemiddelde.
  • AdaptiveAverage, gemiddelde dat de snelheid aanpast aan de marktomstandigheden.
  • EndPointAverage, op regressie gebaseerd gemiddelde met weinig lag.