Startseite Technischer Indikator Beitrag

UltraMFI: Der innovative Indikator für MetaTrader 5

Anhang
21750.zip (22.12 KB, Herunterladen 0 mal)

Aktueller Autor: Dmitriy.

Der UltraMFI Indikator basiert auf dem Money Flow Index (MFI) und analysiert mehrere Signallinien. Die Berechnung der Signallinien erfolgt nach einem bestimmten Algorithmus, wobei die folgenden Eingabeparameter als Ausgangsdaten dienen:

  • StartLength - minimaler Anfangswert der ersten Signallinie;
  • Step - Schrittweite der Periodenänderung;
  • StepsTotal - Anzahl der Periodenänderungen.

Jeder Periodenwert aus den verschiedenen Signallinien wird mithilfe einer arithmetischen Progression berechnet:

SignalPeriod(Number) = StartLength + Number * Step,

wobei der Wert der Variable Number von null bis StepsTotal reicht. Die ermittelten Werte der Perioden werden in ein Array gespeichert und bei jedem Tick des Indikators verwendet, um die geglätteten Werte des Larry Williams' Percent Range Indikators zu erhalten. Die Richtungen des aktuellen Trends für jede Glättung werden ebenfalls berechnet, und die Anzahl der positiven und negativen Trends für das gesamte Array der geglätteten MFI-Werte wird ermittelt.

Die endgültige Anzahl positiver und negativer Trends wird wiederum geglättet und als Indikatorlinien verwendet, die eine Farbwolke 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. Du kannst die überkauften (UpLevel) und überverkauften (DnLevel) Niveaus, die in Prozentwerten aus dem maximalen Bereich des Indikators festgelegt sind, nutzen.

Es stehen zehn verschiedene Glättungsalgorithmen 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 adaptiver Durchschnitt;
  6. JJurX - ultralineare Glättung;
  7. ParMA - parabolische Glättung;
  8. T3 - Tillsons mehrfache exponentielle Glättung;
  9. VIDYA - Glättung mithilfe des Algorithmus von Tushar Chande;
  10. AMA - Glättung mithilfe des Algorithmus von Perry Kaufman.

Es ist wichtig zu beachten, dass die Parameter Phase1 und Phase2 für verschiedene Glättungsalgorithmen völlig unterschiedliche Bedeutungen haben. Bei JMA ist es eine externe Phasenvariable, die von -100 bis +100 variiert. Für T3 ist es ein Glättungsverhältnis, das zur besseren Visualisierung mit 100 multipliziert wird. Bei VIDYA handelt es sich um den Zeitraum des CMO-Oszillators und bei AMA um den Zeitraum des langsamen EMA. In anderen Algorithmen beeinflussen diese Parameter die Glättung nicht. Für AMA ist die schnelle EMA-Periode fest und beträgt standardmäßig 2. Das Verhältnis der Potenzsteigerung ist auch für AMA gleich 2.

Der Indikator verwendet die Klassen aus der SmoothAlgorithms.mqh-Bibliothek (kopiere sie in MQL5\Include). Die Klassen wurden ausführlich im Artikel Durchschnittspreisserien für Zwischenberechnungen ohne Verwendung zusätzlicher Puffer beschrieben.

//+----------------------------------------------+
//| Eingabeparameter des Indikators                   |
//+----------------------------------------------+
input int MFI_Period=13;                            // MFI Indikatorperiode
input ENUM_APPLIED_VOLUME VolumeType=VOLUME_TICK;   // MFI Indikatorvolumen
//----
input Smooth_Method W_Method=MODE_JJMA; // Glättungsmethode
input int StartLength=3;                // Anfangsperioden der Glättung
input int WPhase=100;                   // Glättungsparameter
// für JJMA variiert es im Bereich von -100 ... +100 und beeinflusst die Qualität der Übergangszeit;
// Für VIDIA ist es der CMO Zeitraum, für AMA ist es die Periode des langsamen gleitenden Durchschnitts
//----  
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
// für JJMA variiert es im Bereich von -100 ... +100 und beeinflusst die Qualität der Übergangszeit;
//----                          
input uint UpLevel=80;            // Überkauftes Niveau in %%
input uint DnLevel=20;            // Überverkauftes Niveau in %%
input color UpLevelsColor=Blue;   // Farbe des überkauften Niveaus
input color DnLevelsColor=Blue;   // Farbe des überverkauften Niveaus
input STYLE Levelstyle=DASH_;     // Stil der Niveaus
input WIDTH  LevelsWidth=Width_1; // Breite der Niveaus
//+----------------------------------------------+

Abb. 1. Der UltraMFI Indikator

Abb. 1. Der UltraMFI Indikator

Verwandte Beiträge

Kommentar (0)