Startseite Technischer Indikator Beitrag

UltraXMA – Ein innovativer Indikator für MetaTrader 5

Anhang
730.zip (20.86 KB, Herunterladen 0 mal)

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:

  1. SMA - einfacher gleitender Durchschnitt;
  2. EMA - exponentieller gleitender Durchschnitt;
  3. SMMA - geglätteter gleitender Durchschnitt;
  4. LWMA - linear gewichteter gleitender Durchschnitt;
  5. JJMA - JMA adaptive Glättung;
  6. JurX - ultralineare Glättung;
  7. ParMA - parabolische Glättung;
  8. T3 - Tillson's mehrfach exponentielle Glättung;
  9. VIDYA - Glättung mit dem Algorithmus von Tushar Chande;
  10. 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        

UltraXMA

Verwandte Beiträge

Kommentar (0)