Der UltraXMA-Indikator basiert auf dem Integralwert des Trends, der aus einer Fangemeinde ähnlicher gleitender Durchschnitte mit einer arithmetischen Progression des Glättungszeitraums entwickelt wurde.
Der Berechnungsalgorithmus für die gleitenden Durchschnitte funktioniert folgendermaßen. Die Eingabeparameter des Indikators dienen als Ausgangsdaten:
- StartLength - minimaler Anfangswert der ersten Signallinie;
- Step - Schrittweite der Periodenänderung;
- StepsTotal - Anzahl der Periodenänderungen.
Jeder Periodenwert aus der Vielzahl der Linienfächer wird mithilfe einer arithmetischen Progression berechnet:
XMAPeriod(Number) = StartLength + Number*Step
Dabei reicht der Wert der Variablen Number von null bis StepsTotal. Die erhaltenen Werte der Perioden werden in ein Variablen-Array eingefügt und bei jedem Indikatortick verwendet, um das Array der XMA gleitenden Durchschnitte zu generieren. Die Richtungen des aktuellen Trends für jede Glättung werden berechnet, ebenso die Anzahl der positiven und negativen Trends für das gesamte Array der gleitenden Durchschnitte. Die endgültige Anzahl der positiven und negativen Trends wird wiederum geglättet und als Indikatorlinien verwendet, die eine farbige Wolke bilden, die mithilfe der DRAW_FILLING-Stilklasse angezeigt wird.
Die Trendrichtung dieses Indikators wird durch die Farbe der Wolke bestimmt, während die Stärke durch die Breite der Wolke angezeigt wird. Sie können die überkauften (UpLevel) und überverkauften (DnLevel) Niveaus verwenden, die in Prozentwerten von der maximalen Amplitude des Indikators festgelegt sind.
Für die Glättungsalgorithmen stehen Ihnen zehn verschiedene Versionen zur Auswahl:
- SMA - einfacher gleitender Durchschnitt;
- EMA - exponentieller gleitender Durchschnitt;
- SMMA - geglätteter gleitender Durchschnitt;
- LWMA - linear gewichteter gleitender Durchschnitt;
- JJMA - JMA adaptive Glättung;
- JurX - ultralineare Glättung;
- ParMA - parabolische Glättung;
- T3 - Tillson's mehrfach exponentielle Glättung;
- VIDYA - Glättung mit dem Algorithmus von Tushar Chande;
- AMA - Glättung mit dem Algorithmus von Perry Kaufman.
Es ist anzumerken, dass die Phasenparameter für verschiedene Glättungsalgorithmen unterschiedliche Bedeutungen haben. Für JMA ist es eine externe Phasenvariable, die von -100 bis +100 reicht. Für T3 ist es ein Glättungsverhältnis, das zur besseren Visualisierung mit 100 multipliziert wird, für VIDYA ist es die Periode des CMO-Oszillators und für AMA ist es eine langsame EMA-Periode. In anderen Algorithmen haben diese Parameter keinen Einfluss auf die Glättung. Für AMA ist die schnelle EMA-Periode ein fester Wert, der standardmäßig 2 beträgt. Das Verhältnis der Potenzsteigerung beträgt ebenfalls 2 für AMA.
Der Indikator verwendet die Klassen der Bibliothek SmoothAlgorithms.mqh (müssen in den terminal_data_folder\MQL5\Include kopiert werden). Die Verwendung der Klassen wurde ausführlich im Artikel "Averaging Price Series for Intermediate Calculations Without Using Additional Buffers" beschrieben.
Eingabeparameter des Indikators:
//+----------------------------------------------+ //| Eingabeparameter des Indikators | //+----------------------------------------------+ input ENUM_APPLIED_PRICE Applied_price=PRICE_CLOSE; // Angewendeter Preis //---- input Smooth_Method W_Method=MODE_JJMA; // Glättungsmethode input int StartLength=3; // Anfangs-Glättungszeitraum input int WPhase=100; // Glättungsparameter //---- input uint Step=5; // Schrittweite der Periodenänderung input uint StepsTotal=10; // Anzahl der Periodenänderungen //---- input Smooth_Method SmoothMethod=MODE_JJMA; // Glättungsmethode input int SmoothLength=3; // Glättungstiefe input int SmoothPhase=100; // Glättungsparameter input ENUM_APPLIED_PRICE IPC=PRICE_CLOSE; // Angewendeter Preis //---- input uint UpLevel=80; // Überkauftes Niveau input uint DnLevel=20; // Überverkauftes Niveau input color UpLevelsColor=Red; // Farbe des überkauften Niveaus input color DnLevelsColor=Red; // Farbe des überverkauften Niveaus input STYLE Levelstyle=DASH_; // Stil der Niveaus input WIDTH LevelsWidth=Width_1; // Breite der Niveaus

Verwandte Beiträge
- Tägliche prozentuale Veränderung in MT5 – Indikator für MetaTrader 5
- Uniformitätsfaktor-Indikator für MetaTrader 5: Analysiere deine Preisbewegungen
- Boom Index Spike Pattern – Ein Leitfaden für MetaTrader 5 Trader
- Tägliche Pivot-Punkte: Der unverzichtbare Indikator für MetaTrader 5
- Chaikin Volatilitätsindex: Auswahl des Glättungsalgorithmus für MetaTrader 5