Jetzt beitreten
Indikatoren/probuilder · probacktest · proorder · proscreener

AdaptiveAverage

AdaptiveAverage in ProBuilder gibt den Adaptive Moving Average zurück, einen gleitenden Durchschnitt, der seine Geschwindigkeit an die Volatilität anpasst. Syntax, Parameter, Beispiele.

Syntax

probuilder
AdaptiveAverage[MAperiod, fastSC, slowSC](price)

Parameter

NameTypStandardBeschreibung
MAperiodGanzzahl9Rückblickzeitraum, mit dem gemessen wird, wie gerichtet die letzte Kursbewegung war.
fastSCGanzzahl2Zeitraum der schnellen Glättungskonstante. Steuert, wie schnell der Durchschnitt reagiert, wenn der Kurs klar trendet.
slowSCGanzzahl30Zeitraum der langsamen Glättungskonstante. Steuert, wie träge der Durchschnitt wird, wenn der Kurs unruhig ist.
priceKursquelleSchlusskursDie geglättete Kursserie, etwa close, open, oder typicalprice.

Formel

Code
ER    = Abs(price - price[MAperiod]) / Sum of Abs(price - price[1]) over MAperiod bars
fast  = 2 / (fastSC + 1)
slow  = 2 / (slowSC + 1)
SC    = (ER * (fast - slow) + slow)^2
AMA   = AMA[1] + SC * (price - AMA[1])

ER ist das Efficiency Ratio. Es nähert sich 1, wenn der Kurs über das Rückblickfenster in einer geraden Linie verläuft, und nähert sich 0, wenn der Kurs ohne Nettofortschritt hin und her läuft. Die quadrierte Glättungskonstante SC interpoliert dann zwischen den schnellen und langsamen EMA-Geschwindigkeiten.

So funktioniert es

Ein gleitender Durchschnitt mit festem Zeitraum erzwingt in jeder Marktlage denselben Kompromiss: kurze Zeiträume erzeugen Fehlsignale in Seitwärtsphasen, lange Zeiträume laufen in Trends hinterher. Der Adaptive Moving Average umgeht diesen Kompromiss, indem er seine eigene Glättungskonstante auf jedem Bar neu berechnet.

Wenn das Effizienzverhältnis hoch ist, also die letzten Bars sich überwiegend in eine Richtung bewegt haben, verschiebt sich die Glättungskonstante zum schnellen Ende und der Durchschnitt folgt dem Kurs eng. Wenn das Verhältnis niedrig ist, also der Kurs viel Strecke zurückgelegt hat, aber am Ende nirgends angekommen ist, verschiebt sich die Konstante zum langsamen Ende und der Durchschnitt verflacht und ignoriert das Rauschen.

Der praktische Effekt ist eine Linie, die während Konsolidierungen flacher wird und beschleunigt, sobald eine gerichtete Bewegung beginnt. Das verringert sowohl den Verzögerungsnachteil langsamer Durchschnitte als auch den Fehlsignalnachteil schneller Durchschnitte, zum Preis von zwei zusätzlichen zu konfigurierenden Parametern.

Beispiele

Beispiel 1, Standard-AMA auf Schlusskursen (Indikator)

probuilder
// Adaptive average: 9-bar efficiency window, fast constant 2, slow constant 30
myAMA = AdaptiveAverage[9, 2, 30](close)
RETURN myAMA

Die klassische Konfiguration. Auf dem Kurschart gezeichnet, bleibt die Linie in Trends nahe am Kurs und verläuft in Seitwärtsphasen nahezu horizontal.

Beispiel 2, Adaptiver Trendfilter für Einstiege (ProOrder)

probuilder
// Trade long only while price holds above a flattening-resistant average
ama = AdaptiveAverage[10, 2, 30](close)

IF NOT LongOnMarket AND close CROSSES OVER ama THEN
  BUY 1 CONTRACT AT MARKET
ENDIF

IF LongOnMarket AND close CROSSES UNDER ama THEN
  SELL AT MARKET
ENDIF

Ein Crossover-System, das die adaptive Linie anstelle eines Durchschnitts mit festem Zeitraum verwendet. Da die AMA in Seitwärtsphasen flacher wird, treten Crossover während einer Konsolidierung weniger gehäuft auf als bei einem einfachen gleitenden Durchschnitt ähnlicher Geschwindigkeit.

Beispiel 3, Screening auf Kurse über einer steigenden AMA (ProScreener)

probuilder
// Instruments trading above an adaptive average that slopes upward
ama = AdaptiveAverage[9, 2, 30](close)
rising = ama > ama[5]
SCREENER[close > ama AND rising]((close / ama - 1) * 100 AS "% above AMA")

Gibt Instrumente zurück, bei denen der Kurs über einem aufwärts gerichteten adaptiven Durchschnitt liegt, sortiert nach prozentualem Abstand zur Linie.

Interpretation

BeobachtungAblesung
Kurs über einer steigenden AMAGerichtete Aufwärtsbewegung im Gange.
Kurs unter einer fallenden AMAGerichtete Abwärtsbewegung im Gange.
AMA nahezu flachNiedriges Effizienzverhältnis, der Kurs bewegt sich seitwärts. Crossover-Signale sind hier unzuverlässig.
AMA-Steigung wird steilerDas Effizienzverhältnis steigt, die Bewegung wird einseitiger gerichtet.

Der Zustand der flachen Linie ist für sich genommen aussagekräftig. Viele Systeme nutzen die AMA-Steigung als Regimefilter und akzeptieren Signale anderer Indikatoren nur, solange die adaptive Linie eine klare Steigung hat.

Häufige Fehler und Stolperfallen

  • Die Parameterreihenfolge ist entscheidend. Die Signatur ist [MAperiod, fastSC, slowSC]. Das Vertauschen der schnellen und langsamen Konstanten, zum Beispiel [9, 30, 2], invertiert das adaptive Verhalten und erzeugt eine Linie, die bei Rauschen schneller und in Trends langsamer wird.
  • Glättungskonstanten sind Zeiträume, keine Alphas. fastSC und slowSC werden als äquivalente EMA-Perioden (2 und 30) ausgedrückt, nicht als dezimale Glättungsfaktoren. Die Übergabe von 0.6667 wobei 2 erwartet wird, löst keinen Fehler aus, führt aber zu einer anderen Berechnung als beabsichtigt.
  • Crossover versagen in engen Seitwärtsphasen weiterhin. Die AMA reduziert Fehlsignale, sie beseitigt sie nicht. In sehr engen Seitwärtsphasen kann der Kurs die flache Linie immer wieder umspielen. Eine Bedingung für eine Mindeststeigung oder einen Mindestabstand filtert die meisten davon heraus.
  • Ein kurzes MAperiod destabilisiert das Effizienzverhältnis. Werte unter etwa 5 lassen das Verhältnis von Bar zu Bar unregelmäßig springen, was den Zweck der Anpassung zunichtemacht. Halten Sie das Effizienzfenster auf moderater Länge und steuern Sie die Reaktionsfreudigkeit stattdessen über die Glättungskonstanten.
  • Average, einfacher gleitender Durchschnitt, die Basis mit fester Geschwindigkeit.
  • ExponentialAverage, EMA mit einem konstanten Glättungsfaktor.
  • WilderAverage, Wilders Glättung, eine langsamere EMA-Variante.
  • HullAverage, Durchschnitt mit geringer Verzögerung, der gewichtete Durchschnitte verwendet.
  • ZLEMA, Zero-Lag exponentieller gleitender Durchschnitt.
  • TEMA, dreifacher exponentieller gleitender Durchschnitt.
  • DEMA, doppelter exponentieller gleitender Durchschnitt.
  • TimeSeriesAverage, auf linearer Regression basierender gleitender Durchschnitt.
  • WeightedAverage, linear gewichteter gleitender Durchschnitt.