Jetzt beitreten
Indikatoren/probuilder · probacktest · proorder · proscreener

HullAverage

HullAverage[period](price) in ProBuilder gibt den Hull Moving Average zurück, einen schnellen gewichteten gleitenden Durchschnitt, der die Verzögerung verringern und dabei eine glatte Linie bewahren soll.

Syntax

probuilder
HullAverage[period](price)

Parameter

NameTypStandardBeschreibung
periodGanzzahl20Hauptrückblickperiode. Übliche Werte reichen von 9 für schnelle Signallinien bis 50 oder mehr für die Trendbestimmung.
priceKursquelleSchlusskursSerie, auf der der Durchschnitt berechnet wird, zum Beispiel close, open, high, oder low.

Formel

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

wobei WMA ist ein linear gewichteter gleitender Durchschnitt. Der Durchschnitt über die halbe Länge wird verdoppelt und der Durchschnitt über die volle Länge abgezogen, was den größten Teil der Verzögerung aufhebt; der abschließende gewichtete Durchschnitt über sqrt(N) Bars glättet das Ergebnis.

So funktioniert es

Alan Hull entwarf die HMA, um den üblichen Zielkonflikt gleitender Durchschnitte anzugehen: Glätte erfordert ein langes Fenster, aber ein langes Fenster bedeutet Verzögerung. Die Konstruktion arbeitet in zwei Schritten. Erstens, 2 * WMA(N/2) - WMA(N) extrapoliert nach vorn, der schnellere Durchschnitt mit halber Länge wird durch Subtraktion des langsameren vorgeschoben, was die Verzögerung weitgehend entfernt, aber Rauschen hinzufügt. Zweitens, ein kurzer gewichteter Durchschnitt der Länge sqrt(N) wird darauf angewendet und stellt die Glättung wieder her, ohne viel Lag wieder einzuführen.

Das Ergebnis ist eine Linie, die im Vergleich zu einem einfachen oder exponentiellen Durchschnitt derselben Periode fast unmittelbar mit dem Kurs dreht. Diese Reaktionsschnelligkeit hat einen Vorbehalt: Der Extrapolationsschritt kann bei scharfen Umkehrungen überschießen und die Drehung kurzzeitig übertreiben.

Da der HMA sich eng an den Kurs anlegt, verwenden darauf aufgebaute Crossover-Systeme meist seine Steigung, also ob die Linie gegenüber dem vorherigen Bar gestiegen oder gefallen ist, und nicht das Kreuzen der Linie durch den Kurs, was zu häufig vorkommt, um allein nützlich zu sein.

Beispiele

Beispiel 1, Hull Moving Average im Chart (Indikator)

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

Zeichnet eine HMA mit 30 Perioden über den Kurschart. Im Vergleich mit Average[30], dreht die Linie an Swing-Punkten merklich früher.

Beispiel 2, Steigungsbasiertes Trendsystem (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

Handelt die Richtung des HMA selbst. Der Wechsel der Steigung ist das Standardsignal des HMA und nutzt die geringe Verzögerung der Linie, anstatt auf eine Kurskreuzung zu warten.

Beispiel 3, Screening auf frische HMA-Aufwärtswenden (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")

Gibt Instrumente zurück, deren Hull Moving Average über 20 Perioden auf dem aktuellen Bar gerade nach oben gedreht hat.

Interpretation

Die zwei üblichen Interpretationen sind Steigung und relative Position. Ein steigender HMA zeigt einen bullischen Trend an, ein fallender HMA einen bärischen, und da die Linie schnell reagiert, werden ihre Drehungen als frühe Signale für einen Trendwechsel behandelt. Eine zweite gängige Konstellation kombiniert einen kurzen und einen langen HMA: Eine Linie mit kurzer Periode, die nach oben dreht, während die längere bereits steigt, wird als bullische Ausrichtung gelesen, das Spiegelbild als bärische.

Die geringe Verzögerung hat zwei Seiten. Signale kommen früher als bei klassischen Durchschnitten, aber in Seitwärtsmärkten dreht die Linie häufig und erzeugt Whipsaws. Ein Regimefilter, eine Trendbedingung auf einer höheren Zeiteinheit oder einfach eine längere Periode reduziert die Fehlwenden.

Häufige Fehler und Stolperfallen

  • Falscher Klammertyp. Die Periode steht in eckigen Klammern, die Kursquelle in runden Klammern: HullAverage[30](close). HullAverage(30, close) löst einen Syntaxfehler aus.
  • Überschießen bei V-Umkehrungen. Der 2 * WMA(N/2) - WMA(N) Schritt extrapoliert die aktuelle Steigung, sodass die Linie unmittelbar nach abrupten Wenden über den Kurs hinausschießen kann. Signale, die während solcher Spitzen genommen werden, sind weniger zuverlässig.
  • Kurskreuzungssignale lösen ständig aus. Weil der HMA dem Kurs so genau folgt, close CROSSES OVER hma löst deutlich häufiger aus als mit einem einfachen Durchschnitt gleicher Periode. Steigungsbasierte Bedingungen sind die vorgesehene Verwendung.
  • Ihn als Unterstützungsniveau behandeln. Im Gegensatz zu langsameren Durchschnitten ist der HMA keine sinnvolle dynamische Unterstützungs- oder Widerstandslinie, er liegt zu nah am Kurs. Verwenden Sie ihn für Richtung und Timing, nicht als Niveau.
  • WeightedAverage, der Baustein der Hull-Konstruktion.
  • Average, einfacher gleitender Durchschnitt zum Vergleich.
  • ExponentialAverage, klassische Alternative mit reduzierter Verzögerung.
  • ZLEMA, exponentieller gleitender Durchschnitt ohne Verzögerung, ähnliches Ziel.
  • DEMA, doppelter exponentieller gleitender Durchschnitt.
  • TEMA, dreifacher exponentieller gleitender Durchschnitt.
  • AdaptiveAverage, Durchschnitt, der seine Geschwindigkeit an die Marktbedingungen anpasst.
  • EndPointAverage, regressionsbasierter Durchschnitt mit geringer Verzögerung.