UltraXMA: De Krachtige Indicator voor MetaTrader 5

Mike 2012.01.31 22:26 17 0 0
Bijlage

De UltraXMA indicator is een innovatieve tool voor traders die gebruik maken van MetaTrader 5. Deze indicator is gebaseerd op de integrale waarde van de trend, afgeleid van een groep bewegende gemiddelden die zijn opgebouwd met een rekenkundige voortgang van de gladperiode.

De berekening van de bewegende gemiddelden gebeurt met de volgende invoerparameters:

  • StartLength - de minimale beginwaarde van de eerste signaallijn;
  • Step - de wijzigingsstap voor de periode;
  • StepsTotal - het totaal aantal periodeveranderingen.

Elke periodewaarde van de lijnen fan wordt berekend met behulp van een rekenkundige voortgang:

XMAPeriod(Number) = StartLength + Number * Step

Hierbij varieert de waarde van de Number variabele van nul tot StepsTotal. De verkregen waarden worden toegevoegd aan een array en worden bij elke tick van de indicator gebruikt om de waarden van de XMA bewegende gemiddelden te berekenen. De richting van de huidige trend voor elk van de gladde gemiddelden wordt berekend, evenals het aantal positieve en negatieve trends in de gehele array van bewegende gemiddelden. Het uiteindelijke aantal positieve en negatieve trends wordt ook gladgestreken en gebruikt als de indicatorlijnen die een kleurenwolk vormen, weergegeven met behulp van de DRAW_FILLING stijlklasse.

De richtingsbepaling van de trend in deze indicator gebeurt aan de hand van de kleur van de wolk, terwijl de kracht van de trend wordt bepaald door de breedte van de wolk. Je kunt ook gebruik maken van de overgekochte (UpLevel) en oververkochte (DnLevel) niveaus, die zijn ingesteld als percentage van de maximale amplitude van de indicator.

Er zijn tien verschillende gladalgoritmen waaruit je kunt kiezen:

  1. SMA - eenvoudig bewegend gemiddelde;
  2. EMA - exponentieel bewegend gemiddelde;
  3. SMMA - glad bewegend gemiddelde;
  4. LWMA - lineair gewogen bewegend gemiddelde;
  5. JJMA - JMA adaptief gemiddelde;
  6. JurX - ultralineaire smoothing;
  7. ParMA - parabolische smoothing;
  8. T3 - Tillson's meervoudige exponentiële smoothing;
  9. VIDYA - smoothing met behulp van Tushar Chande's algoritme;
  10. AMA - smoothing met gebruik van Perry Kaufman's algoritme.

Het is belangrijk op te merken dat de faseparameters voor verschillende gladalgoritmen totaal verschillende betekenissen hebben. Voor JMA is het een externe fasevariabele die varieert van -100 tot +100. Voor T3 is het een smoothing ratio vermenigvuldigd met 100 voor een betere visualisatie, voor VIDYA is het een CMO-oscillator periode en voor AMA is het een langzame EMA-periode. In andere algoritmen hebben deze parameters geen invloed op de smoothing. Voor AMA is de periode van de snelle EMA een vaste waarde van 2 standaard. De ratio van de exponent is ook 2 voor AMA.

De indicator maakt gebruik van de klassen uit de SmoothAlgorithms.mqh bibliotheek (deze moeten gekopieerd worden naar de terminal_data_folder\MQL5\Include). Het gebruik van deze klassen is grondig beschreven in het artikel "Averaging Price Series for Intermediate Calculations Without Using Additional Buffers".

Invoerparameters van de indicator:

//+----------------------------------------------+
//| Invoerparameters van de indicator                  |
//+----------------------------------------------+
input ENUM_APPLIED_PRICE Applied_price=PRICE_CLOSE; // Toegepaste prijs
//----
input Smooth_Method W_Method=MODE_JJMA;     // Gladmethode
input int StartLength=3;                    // Begin gladperiode                    
input int WPhase=100                       // Glparameter
//----  
input uint Step=5                          // Wijzigingsstap voor de periode
input uint StepsTotal=10                   // Aantal periodeveranderingen
//----
input Smooth_Method SmoothMethod=MODE_JJMA; // Gladmethode
input int SmoothLength=3                   // Gladdiepte                    
input int SmoothPhase=100                  // Glparameter
input ENUM_APPLIED_PRICE IPC=PRICE_CLOSE       // Toegepaste prijs
//----                          
input uint UpLevel=80                      // Overgekocht niveau
input uint DnLevel=20                      // Oververkocht niveau
input color UpLevelsColor=Red;              // Kleur overgekocht niveau
input color DnLevelsColor=Red;              // Kleur oververkocht niveau
input STYLE Levelstyle=DASH_;               // Stijl van niveaus
input WIDTH  LevelsWidth=Width_1;           // Breedte van niveaus        

UltraXMA

Lijst
Reactie 0