Startseite Technischer Indikator Beitrag

UltraCCI – Der vielseitige CCI-Indikator für MetaTrader 5

Anhang
740.zip (21.1 KB, Herunterladen 0 mal)

Autor: dm34@mail.ru

Der UltraCCI-Indikator basiert auf dem Commodity Channel Index (CCI) und analysiert die Trendrichtung seiner verschiedenen Signallinien. Die Berechnung der Signallinien erfolgt über die folgenden Eingabeparameter:

  • StartLength - der minimalen Startwert der ersten Signallinie;
  • Step - der Schritt für die Periodenänderung;
  • StepsTotal - die Anzahl der Periodenänderungen.

Jeder Periodenwert aus der Vielzahl der Signallinien wird mithilfe einer arithmetischen Progression berechnet:

SignalPeriod(Number) = StartLength + Number * Step

Dabei variiert die Zahl von 0 bis StepsTotal. Die erhaltenen Werte werden in ein Array gespeichert und bei jedem Tick des Indikators verwendet, um die Werte des geglätteten RSI-Indikators zu erhalten. Die Trendrichtungen für jede Glättung werden berechnet, und die Anzahl der positiven und negativen Trends für das gesamte Array der geglätteten CCI-Werte wird ermittelt. Schließlich wird die Gesamtzahl der positiven und negativen Trends erneut geglättet und dient als die Indikatorlinien, die eine Farbwolke bilden, die mit der DRAW_FILLING-Stilklasse dargestellt wird.

Die Trendrichtung wird durch die Farbe der Wolke bestimmt, während die Stärke des Trends durch die Breite der Wolke angezeigt wird. Du kannst die überkauften (UpLevel) und überverkauften (DnLevel) Niveaus verwenden, die in Prozent vom maximalen Amplitudenwert des Indikators eingestellt werden.

Zusätzlich bietet der Indikator die Möglichkeit, die Geschwindigkeit der Trendkraftänderung anzuzeigen, die als farbige Punkte dargestellt wird. Wenn die Kraft des Trends zunimmt, entspricht die Farbe dieser Punkte der Farbe der Wolke; andernfalls werden die Punkte in der entgegengesetzten Farbe angezeigt.

Es stehen zehn verschiedene Glättungsalgorithmen zur Auswahl:

  1. SMA - einfache gleitende Durchschnitt;
  2. EMA - exponentielle gleitende Durchschnitt;
  3. SMMA - geglätteter gleitender Durchschnitt;
  4. LWMA - linear gewichteter gleitender Durchschnitt;
  5. JJMA - JMA adaptive Durchschnitt;
  6. JurX - ultralineare Glättung;
  7. ParMA - parabolische Glättung;
  8. T3 - Tillsons mehrfach exponentielle Glättung;
  9. VIDYA - Glättung mit Tushar Chandés Algorithmus;
  10. AMA - Glättung mit Perry Kaufmans Algorithmus.

Es ist wichtig zu beachten, dass die Phasenparameter für verschiedene Glättungsalgorithmen völlig unterschiedliche Bedeutungen haben. Für JMA ist es eine externe Phasenvariable, die von -100 bis +100 variiert. Für T3 ist es das Glättungsverhältnis, multipliziert mit 100 für eine bessere Visualisierung, bei VIDYA ist es die CMO-Oszillatorperiode und für AMA ist es die langsame EMA-Periode. Bei anderen Algorithmen beeinflussen diese Parameter die Glättung nicht. Für AMA ist die schnelle EMA-Periode ein fester Wert und beträgt standardmäßig 2. Das Verhältnis der Hochzuleitung beträgt ebenfalls 2 für AMA.

Der Indikator nutzt die Klassen der SmoothAlgorithms.mqh Bibliothek (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 int CCI_Period=13;                           // CCI-Indikatorperiode
input ENUM_APPLIED_PRICE Applied_price=PRICE_CLOSE; // Angelegter Preis
//----
input Smooth_Method W_Method=MODE_JJMA;           // Glättungsmethode
input int StartLength=3;                          // Anfangsglättungsperiode                    
input int WPhase=100;                             // Glättungsparameter
//----  
input uint Step=5;                                // Schritt für 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 uint UpLevel=80;                            // Überkauft-Niveau, %%
input uint DnLevel=20;                            // Überverkauft-Niveau, %%
input color UpLevelsColor=DarkViolet;             // Farbe für Überkauft-Niveau
input color DnLevelsColor=DarkViolet;             // Farbe für Überverkauft-Niveau
input STYLE Levelstyle=DASHDOTDOT_;              // Stile der Niveaus
input WIDTH LevelsWidth=Width_1;                 // Breite der Niveaus                       
//+----------------------------------------------+

UltraCCI

Verwandte Beiträge

Kommentar (0)